All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/mp4mux/main.c:18,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - cbk
    - data
    - block_size
    - cbk_data
    - cbk_magic
    argTypes:
    - void*
    - u8*
    - u32
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: _on_data
    functionSourceFile: /src/gpac/applications/testapps/mp4mux/main.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err _on_data(void *cbk, u8 *data, u32 block_size, void *cbk_data,
      u32 cbk_magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/mp4mux/main.c:24,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/mp4mux/main.c:25,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/mp4mux/main.c:27,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/mp4mux/main.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - cbk
    - block
    - block_size
    - block_offset
    - is_insert
    argTypes:
    - void*
    - u8*
    - u32
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: _on_data_patch
    functionSourceFile: /src/gpac/applications/testapps/mp4mux/main.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_ftell
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err _on_data_patch(void *cbk, u8 *block, u32 block_size,
      u64 block_offset, Bool is_insert) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_write_callback
      Src: /src/gpac/applications/testapps/mp4mux/main.c:45,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/mp4mux/main.c:37,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/applications/testapps/mp4mux/main.c:41,1
    - Dst: gf_isom_setup_track_fragment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:63,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:67,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:92,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/applications/testapps/mp4mux/main.c:104,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/mp4mux/main.c:116,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:42,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:46,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/testapps/mp4mux/main.c:49,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:52,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:59,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:64,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/mp4mux/main.c:97,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:106,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:117,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/mp4mux/main.c:35,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:50,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:56,1
    - Dst: gf_isom_close_segment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:80,1
    - Dst: gf_isom_start_segment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:84,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/mp4mux/main.c:95,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/mp4mux/main.c:96,1
    - Dst: gf_isom_fragment_add_sample
      Src: /src/gpac/applications/testapps/mp4mux/main.c:102,1
    - Dst: gf_isom_close_segment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:111,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/testapps/mp4mux/main.c:51,1
    - Dst: gf_isom_new_stxt_description
      Src: /src/gpac/applications/testapps/mp4mux/main.c:58,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/testapps/mp4mux/main.c:55,1
    - Dst: gf_isom_finalize_for_fragment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:66,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/applications/testapps/mp4mux/main.c:53,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:54,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:81,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:85,1
    - Dst: gf_isom_start_fragment
      Src: /src/gpac/applications/testapps/mp4mux/main.c:91,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/mp4mux/main.c:112,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/mp4mux/main.c:118,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 97
    argCount: 3
    argNames:
    - frag_type
    - moov_first
    - fileName
    argTypes:
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 119
    functionName: mp4mux_api_test
    functionSourceFile: /src/gpac/applications/testapps/mp4mux/main.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - gf_isom_new_stxt_description
    - gf_isom_close_segment
    - gf_isom_fragment_add_sample
    - gf_isom_add_sample
    - gf_isom_close
    - gf_isom_new_track
    - gf_isom_set_track_enabled
    - gf_fopen
    - assert
    - gf_isom_setup_track_fragment
    - gf_isom_set_write_callback
    - sprintf
    - gf_isom_start_segment
    - gf_isom_set_storage_mode
    - gf_isom_set_timescale
    - gf_isom_open
    - gf_isom_start_fragment
    - gf_isom_finalize_for_fragment
    - gf_fclose
    - gf_isom_set_brand_info
    linkageType: ''
    returnType: void
    signature: 'void mp4mux_api_test(u32 frag_type, Bool moov_first, const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/mp4mux/main.c:124,1
    - Dst: mp4mux_api_test
      Src: /src/gpac/applications/testapps/mp4mux/main.c:127,1
    - Dst: mp4mux_api_test
      Src: /src/gpac/applications/testapps/mp4mux/main.c:129,1
    - Dst: mp4mux_api_test
      Src: /src/gpac/applications/testapps/mp4mux/main.c:133,1
    - Dst: mp4mux_api_test
      Src: /src/gpac/applications/testapps/mp4mux/main.c:131,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/mp4mux/main.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/mp4mux/main.c
    functionUses: []
    functionsReached:
    - mp4mux_api_test
    - gf_sys_init
    - gf_sys_close
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:49,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:57,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:55,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:51,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:53,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:59,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:61,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:63,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:65,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:67,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:69,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/testapps/dmbrs/main.c:82,1
    - Dst: printf
      Src: /src/gpac/applications/testapps/dmbrs/main.c:88,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:78,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/testapps/dmbrs/main.c:76,1
    - Dst: save_rs_0
      Src: /src/gpac/applications/testapps/dmbrs/main.c:106,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/testapps/dmbrs/main.c:73,1
    - Dst: printf
      Src: /src/gpac/applications/testapps/dmbrs/main.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 2
    argNames:
    - bs
    - out_name
    argTypes:
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 123
    functionName: RS_Interleaver
    functionSourceFile: /src/gpac/applications/testapps/dmbrs/main.c
    functionUses: []
    functionsReached:
    - save_rs_0
    - memset
    - gf_bs_available
    - gf_bs_read_data
    - printf
    linkageType: ''
    returnType: void
    signature: 'void RS_Interleaver(GF_BitStream *bs, char *out_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/dmbrs/main.c:28,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/dmbrs/main.c:29,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/dmbrs/main.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - data
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: save_ts
    functionSourceFile: /src/gpac/applications/testapps/dmbrs/main.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_fopen
    - gf_fwrite
    linkageType: ''
    returnType: void
    signature: 'void save_ts(char *filename, unsigned char *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/dmbrs/main.c:239,1
    - Dst: RS_Deinterleaver
      Src: /src/gpac/applications/testapps/dmbrs/main.c:246,1
    - Dst: printf
      Src: /src/gpac/applications/testapps/dmbrs/main.c:240,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/applications/testapps/dmbrs/main.c:243,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/dmbrs/main.c:247,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/testapps/dmbrs/main.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 250
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/dmbrs/main.c
    functionUses: []
    functionsReached:
    - gf_bs_from_file
    - gf_bs_del
    - RS_Deinterleaver
    - gf_fclose
    - gf_fopen
    - printf
    linkageType: ''
    returnType: void
    signature: 'void main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/dmbrs/main.c:34,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/dmbrs/main.c:36,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/dmbrs/main.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - data
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: save_rs_0
    functionSourceFile: /src/gpac/applications/testapps/dmbrs/main.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_fopen
    - gf_fwrite
    linkageType: ''
    returnType: void
    signature: 'void save_rs_0(char *filename, unsigned char *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/applications/testapps/dmbrs/main.c:159,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:136,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:138,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:141,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:143,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:145,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/testapps/dmbrs/main.c:156,1
    - Dst: gf_bs_seek
      Src: /src/gpac/applications/testapps/dmbrs/main.c:162,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/testapps/dmbrs/main.c:164,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/testapps/dmbrs/main.c:155,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/testapps/dmbrs/main.c:148,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/testapps/dmbrs/main.c:154,1
    - Dst: save_ts
      Src: /src/gpac/applications/testapps/dmbrs/main.c:185,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:135,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:139,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:137,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:140,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:142,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:144,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/testapps/dmbrs/main.c:163,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/dmbrs/main.c:146,1
    - Dst: printf
      Src: /src/gpac/applications/testapps/dmbrs/main.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 90
    argCount: 2
    argNames:
    - bs
    - out_name
    argTypes:
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 202
    functionName: RS_Deinterleaver
    functionSourceFile: /src/gpac/applications/testapps/dmbrs/main.c
    functionUses: []
    functionsReached:
    - memset
    - save_ts
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_read_data
    - printf
    linkageType: ''
    returnType: void
    signature: 'void RS_Deinterleaver(GF_BitStream *bs, char *out_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:69,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:74,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:71,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:70,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:76,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:78,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:80,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:82,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:84,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:87,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:90,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - lc
    - mp4
    - loadtime
    argTypes:
    - GF_LoadCompare*
    - GF_ISOFile*
    - u32*
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: load_mp4
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - memset
    - fprintf
    - gf_sg_del
    - gf_sm_del
    - gf_sg_new
    - gf_sys_clock
    - gf_sm_new
    - gf_sm_load_run
    - gf_sm_load_done
    - gf_sm_load_init
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_mp4(GF_LoadCompare *lc, GF_ISOFile *mp4, u32 *loadtime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:113,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:114,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:115,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:121,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:119,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:123,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:125,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:127,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:129,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:132,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:135,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - lc
    - item_path
    - loadtime
    argTypes:
    - GF_LoadCompare*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: gpacctx_load_file
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - memset
    - fprintf
    - gf_sg_del
    - gf_sm_del
    - gf_sg_new
    - gf_sys_clock
    - gf_sm_new
    - gf_sm_load_run
    - gf_sm_load_done
    - gf_sm_load_init
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gpacctx_load_file(GF_LoadCompare *lc, char *item_path, u32
      *loadtime) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:171,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:173,1
    - Dst: gf_sm_stats_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:181,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:200,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:203,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:206,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:186,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:197,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:216,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:217,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:224,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:220,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:165,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:167,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:166,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:177,1
    - Dst: gf_sm_stats_for_scene
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:182,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:193,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:195,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:189,1
    - Dst: gf_sm_stats_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:209,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:214,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:175,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:180,1
    - Dst: gf_sm_stats_get
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:184,1
    - Dst: gf_sm_encode_to_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:212,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:223,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 4
    argNames:
    - lc
    - item_path
    - mp4
    - opts
    argTypes:
    - GF_LoadCompare*
    - char*
    - GF_ISOFile*
    - GF_SMEncodeOptions*
    constantsTouched: []
    func_position:
      end: 227
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 227
    functionName: encode_laser
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - gf_sm_stats_for_scene
    - memset
    - gf_sm_stats_get
    - fprintf
    - gf_sg_del
    - gf_sm_del
    - gf_sg_new
    - gf_sm_stats_new
    - gf_sm_encode_to_file
    - gf_isom_modify_alternate_brand
    - gf_sm_load_done
    - gf_sm_new
    - gf_sm_load_run
    - gf_sm_stats_del
    - gf_isom_set_brand_info
    - gf_sm_load_init
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err encode_laser(GF_LoadCompare *lc, char *item_path, GF_ISOFile
      *mp4, GF_SMEncodeOptions *opts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:281,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:282,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:284,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:286,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:283,1
    - Dst: load_mp4
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:289,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:291,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - lc
    - item_name
    - item_path
    - loadtime
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: get_mp4_loadtime
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_isom_close
    - strrchr
    - gf_isom_open
    - strcpy
    - load_mp4
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err get_mp4_loadtime(GF_LoadCompare *lc, char *item_name, char
      *item_path, u32 *loadtime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:360,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:362,1
    - Dst: DANAE_SVGParser_Terminate
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:366,1
    - Dst: DANAE_NewSVGParser
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:364,1
    - Dst: DANAE_SVGParser_Parse
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:365,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:368,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:369,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - lc
    - item_path
    - loadtime
    argTypes:
    - GF_LoadCompare*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 375
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 375
    functionName: libxml_load_svg
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_sg_del
    - gf_sg_new
    - gf_sys_clock
    - DANAE_SVGParser_Terminate
    - DANAE_NewSVGParser
    - DANAE_SVGParser_Parse
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err libxml_load_svg(GF_LoadCompare *lc, char *item_path, u32 *loadtime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:406,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:407,1
    - Dst: decode_svg
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:413,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:408,1
    - Dst: get_size
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:415,1
    - Dst: gpacctx_load_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - lc
    - item_name
    - item_path
    - loadtime
    - size
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: get_decoded_svg_loadtime_and_size
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - decode_svg
    - get_size
    - strrchr
    - gpacctx_load_file
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err get_decoded_svg_loadtime_and_size(GF_LoadCompare *lc, char
      *item_name, char *item_path, u32 *loadtime, u32 *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:465,1
    - Dst: gpacctx_load_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:471,1
    - Dst: libxml_load_svg
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:469,1
    - Dst: strcat
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - lc
    - item_name
    - item_path
    - loadtime
    - useLibXML
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: get_gz_loadtime
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - gpacctx_load_file
    - libxml_load_svg
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err get_gz_loadtime(GF_LoadCompare *lc, char *item_name, char *item_path,
      u32 *loadtime, Bool useLibXML) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:524,1
    - Dst: get_size
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:528,1
    - Dst: create_gz_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:531,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:525,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:526,1
    - Dst: create_laser_mp4
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:534,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:541,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:542,1
    - Dst: gpacctx_load_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:553,1
    - Dst: get_gz_loadtime
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:557,1
    - Dst: get_mp4_loadtime
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:571,1
    - Dst: gpacctx_load_file
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:580,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:587,1
    - Dst: print_load_data
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:586,1
    - Dst: libxml_load_svg
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:562,1
    - Dst: get_gz_loadtime
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:566,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 590
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 590
    functionName: loadcompare_one
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - get_gz_loadtime
    - print_load_data
    - get_size
    - gf_list_enum
    - libxml_load_svg
    - strcmp
    - gpacctx_load_file
    - get_mp4_loadtime
    - GF_SAFEALLOC
    - strcpy
    - create_laser_mp4
    - create_gz_file
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool loadcompare_one(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:147,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:148,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:150,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:149,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - mp4
    - size
    argTypes:
    - GF_ISOFile*
    - u32*
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: get_laser_track_size
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_isom_get_sample_info
    - gf_isom_get_sample_count
    - gf_isom_get_track_id
    - gf_isom_sample_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err get_laser_track_size(GF_ISOFile *mp4, u32 *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cbk
    - done
    - total
    argTypes:
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: load_progress
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void load_progress(void *cbk, u32 done, u32 total) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:237,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:239,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:242,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:240,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:238,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:246,1
    - Dst: encode_laser
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:249,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:251,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:252,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:254,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:258,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:256,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:263,1
    - Dst: get_laser_track_size
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:261,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - lc
    - item_name
    - item_path
    - size
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 270
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 270
    functionName: create_laser_mp4
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - encode_laser
    - memset
    - fprintf
    - gf_isom_close
    - strrchr
    - gf_isom_open
    - get_laser_track_size
    - strcpy
    - gf_isom_delete
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err create_laser_mp4(GF_LoadCompare *lc, char *item_name, char
      *item_path, u32 *size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:316,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:321,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:339,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:335,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:317,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:340,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:329,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:331,1
    - Dst: gf_sm_dump
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:333,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:307,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:309,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:318,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:341,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:327,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:325,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:308,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:310,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:312,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:323,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - lc
    - item_name
    - item_path
    - svg_out_path
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 344
    functionName: decode_svg
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - memset
    - fprintf
    - gf_sg_del
    - gf_sm_del
    - gf_sg_new
    - gf_isom_close
    - strrchr
    - gf_isom_open
    - gf_sm_new
    - gf_sm_load_run
    - strcpy
    - gf_sm_load_done
    - gf_sm_load_init
    - gf_sm_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err decode_svg(GF_LoadCompare *lc, char *item_name, char *item_path,
      char *svg_out_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:384,1
    - Dst: fseek
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:389,1
    - Dst: ftell
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:390,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:386,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:391,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - lc
    - item_name
    - item_path
    - size
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: get_size
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fseek
    - fprintf
    - ftell
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err get_size(GF_LoadCompare *lc, char *item_name, char *item_path,
      u32 *size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:434,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:440,1
    - Dst: gzopen
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:436,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:437,1
    - Dst: strcat
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:435,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:444,1
    - Dst: gzwrite
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:444,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:445,1
    - Dst: gzclose
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:446,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:447,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:450,1
    - Dst: ftell
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:449,1
    - Dst: fseek
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:448,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:452,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - lc
    - item_name
    - item_path
    - size
    argTypes:
    - GF_LoadCompare*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 457
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 457
    functionName: create_gz_file
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fseek
    - strcat
    - gzopen
    - fprintf
    - gzwrite
    - fread
    - ftell
    - strcpy
    - gf_fclose
    - gzclose
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err create_gz_file(GF_LoadCompare *lc, char *item_name, char *item_path,
      u32 *size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:484,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:499,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:493,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:508,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:482,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:488,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:491,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:497,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:503,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:506,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:481,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:487,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:490,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:502,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:496,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:505,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:511,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:512,1
    - Dst: fflush
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:513,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:478,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:479,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:485,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:494,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:500,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:509,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - lc
    - ld
    argTypes:
    - GF_LoadCompare*
    - LoadData*
    constantsTouched: []
    func_position:
      end: 514
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 514
    functionName: print_load_data
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void print_load_data(GF_LoadCompare *lc, LoadData *ld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:594,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:595,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: usage
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void usage() '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:607,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:609,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:620,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:618,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:628,1
    - Dst: loadcompare_one
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:663,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:666,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:677,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:680,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:637,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:630,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:653,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:655,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:662,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:674,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:686,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:692,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:693,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:615,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:626,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:632,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:636,1
    - Dst: usage
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:640,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:648,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:664,1
    - Dst: print_load_data
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:665,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:672,1
    - Dst: print_load_data
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:679,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:684,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:622,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:623,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:625,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:645,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:646,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:634,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:658,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:670,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:678,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/testapps/loadcompare/loadcompare.c:690,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 105
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 695
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 695
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/loadcompare/loadcompare.c
    functionUses: []
    functionsReached:
    - memset
    - loadcompare_one
    - gf_enum_directory
    - gf_list_del
    - gf_list_count
    - atoi
    - strcpy
    - gf_list_new
    - stricmp
    - gf_fopen
    - usage
    - gf_list_get
    - fprintf
    - gf_free
    - print_load_data
    - strrchr
    - gf_sys_close
    - gf_sys_init
    - gf_fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:38,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:51,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:40,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:49,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:44,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:55,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:57,1
    - Dst: gf_isom_get_missing_bytes
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:59,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:60,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - movie
    - track_id
    - sample_index
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: process_samples_from_track
    functionSourceFile: /src/gpac/applications/testapps/segmp4demux/main.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_isom_get_sample_count
    - fprintf
    - gf_isom_get_missing_bytes
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_isom_sample_del
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void process_samples_from_track(GF_ISOFile *movie, u32 track_id,
      u32 *sample_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:86,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:134,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:93,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:98,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:94,1
    - Dst: process_samples_from_track
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:104,1
    - Dst: process_samples_from_track
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:120,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:92,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:101,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:101,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:109,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:114,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:129,1
    - Dst: gf_isom_release_segment
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:130,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:129,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:114,1
    - Dst: gf_isom_release_segment
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:123,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:129,1
    - Dst: gf_isom_open_segment
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:112,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/segmp4demux/main.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 138
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/segmp4demux/main.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_isom_release_segment
    - gf_isom_open_progressive
    - gf_error_to_string
    - fprintf
    - gf_isom_open_segment
    - gf_isom_close
    - gf_sys_close
    - gf_sys_init
    - process_samples_from_track
    - gf_isom_get_sample_count
    - gf_log_set_tool_level
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:36,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:58,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:51,1
    - Dst: gf_rtp_builder_init
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:57,1
    - Dst: gf_rtp_builder_new
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:42,1
    - Dst: rand
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:60,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - data
    - sdp_fmt
    - mtu_size
    argTypes:
    - PNC_CallbackData*
    - char*
    - unsigned short
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: PNC_InitPacketiser
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_rtp_builder_new
    - memset
    - rand
    - fprintf
    - gf_rtp_builder_init
    - gf_rtp_builder_format_sdp
    linkageType: ''
    returnType: void
    signature: 'void PNC_InitPacketiser(PNC_CallbackData * data, char *sdp_fmt, unsigned
      short mtu_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:21,1
    - Dst: PNC_SendRTP
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: OnPacketDone
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached:
    - dprintf
    - PNC_SendRTP
    linkageType: ''
    returnType: void
    signature: 'void OnPacketDone(void *cbk, GF_RTPHeader *header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: OnNewPacket
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OnNewPacket(void *cbk, GF_RTPHeader *header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:69,1
    - Dst: gf_rtp_builder_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - PNC_CallbackData*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: PNC_ClosePacketizer
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_builder_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void PNC_ClosePacketizer(PNC_CallbackData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - cbk
    - data
    - data_size
    - is_head
    argTypes:
    - void*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: OnData
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void OnData(void *cbk, char *data, u32 data_size, Bool is_head) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:75,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:76,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:79,1
    - Dst: gf_rtp_builder_process
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:88,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - data
    - au
    - size
    - ts
    argTypes:
    - PNC_CallbackData*
    - char*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: PNC_ProcessData
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_packetizer.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - assert
    - gf_rtp_builder_process
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PNC_ProcessData(PNC_CallbackData * data, char *au, u32 size,
      u64 ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:106,1
    - Dst: strstr
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:114,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - searchFrom
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: findCommand
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - assert
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int findCommand(const char * buffer, int searchFrom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PNC_CallbackData*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: PNC_SendInitScene
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_seng_encode_context
    linkageType: ''
    returnType: void
    signature: 'void PNC_SendInitScene(PNC_CallbackData * data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:138,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:146,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:139,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:143,1
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:145,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - bsBuffer
    argTypes:
    - PNC_CallbackData*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: processRapReset
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - dprintf
    - gf_mx_p
    - gf_seng_encode_context
    - gf_seng_aggregate_context
    - gf_mx_v
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err processRapReset(PNC_CallbackData * data, char * bsBuffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:188,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:191,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:190,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:192,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:189,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:197,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:198,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:199,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:200,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - data
    - newStart
    - upToPosition
    - dataFullSize
    argTypes:
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: eat_buffer_to_bs
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - assert
    - memcpy
    - dprintf
    linkageType: ''
    returnType: char*
    signature: 'static char * eat_buffer_to_bs(char * data, int newStart, int upToPosition,
      int dataFullSize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:32,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:44,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:44,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:53,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:53,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:70,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:22,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:33,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:27,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:42,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:48,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:51,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:56,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:76,1
    - Dst: gf_seng_init
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:30,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:41,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:47,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:55,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:50,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:50,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:47,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:73,1
    - Dst: gf_sk_listen
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:45,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:68,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:68,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:72,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 6
    argNames:
    - p_chan
    - p_hdr
    - default_scene
    - socketType
    - socketPort
    - debug
    argTypes:
    - GF_RTPChannel*
    - GF_RTPHeader*
    - char*
    - u32
    - u16
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 81
    functionName: PNC_Init_SceneGenerator
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_sk_set_block_mode
    - gf_sk_new
    - gf_error_to_string
    - fprintf
    - gf_sk_del
    - gf_sk_bind
    - gf_sk_listen
    - gf_free
    - gf_seng_init
    - gf_sk_server_mode
    linkageType: ''
    returnType: PNC_CallbackData*
    signature: 'PNC_CallbackData *PNC_Init_SceneGenerator(GF_RTPChannel *p_chan, GF_RTPHeader
      *p_hdr, char *default_scene, u32 socketType, u16 socketPort, int debug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:92,1
    - Dst: gf_rtp_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:94,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:96,1
    - Dst: PNC_ClosePacketizer
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:95,1
    - Dst: gf_seng_terminate
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - PNC_CallbackData*
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: PNC_Close_SceneGenerator
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_seng_terminate
    - PNC_ClosePacketizer
    - gf_rtp_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void PNC_Close_SceneGenerator(PNC_CallbackData * data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:124,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:127,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:125,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:128,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:126,1
    - Dst: gf_seng_encode_from_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:129,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:130,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - bsBuffer
    argTypes:
    - PNC_CallbackData*
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: processSend
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_seng_encode_from_string
    - assert
    - dprintf
    - gf_mx_p
    - gf_mx_v
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err processSend(PNC_CallbackData * data, char * bsBuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:154,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:155,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:162,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:159,1
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:161,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - bsBuffer
    argTypes:
    - PNC_CallbackData*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: processRap
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - dprintf
    - gf_mx_p
    - gf_seng_encode_context
    - gf_seng_aggregate_context
    - gf_mx_v
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err processRap(PNC_CallbackData * data, char * bsBuffer) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_accept
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:219,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:232,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:258,1
    - Dst: processRap
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:261,1
    - Dst: eat_buffer_to_bs
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:264,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:277,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:241,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:247,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:253,1
    - Dst: eat_buffer_to_bs
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:259,1
    - Dst: processSend
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:256,1
    - Dst: processRapReset
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:266,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:275,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:275,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:224,1
    - Dst: free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:221,1
    - Dst: findCommand
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:243,1
    - Dst: eat_buffer_to_bs
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:249,1
    - Dst: eat_buffer_to_bs
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:254,1
    - Dst: malloc
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:209,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:239,1
    - Dst: processSendCritical
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:251,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:263,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 1
    argNames:
    - data
    argTypes:
    - PNC_CallbackData*
    constantsTouched: []
    func_position:
      end: 286
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 286
    functionName: PNC_processBIFSGenerator
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - processSend
    - gf_sk_receive
    - dprintf
    - strncmp
    - eat_buffer_to_bs
    - gf_error_to_string
    - fprintf
    - processRap
    - gf_sk_accept
    - gf_sk_del
    - processSendCritical
    - memcpy
    - malloc
    - free
    - processRapReset
    - findCommand
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PNC_processBIFSGenerator(PNC_CallbackData * data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNC_ProcessData
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:12,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - calling_object
    - ESID
    - au
    - size
    - ts
    argTypes:
    - void*
    - u16
    - char*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionName: SampleCallBack
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - PNC_ProcessData
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SampleCallBack(void *calling_object, u16 ESID, char *au, u32
      size, u64 ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:170,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:174,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:175,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:171,1
    - Dst: gf_seng_encode_from_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - bsBuffer
    argTypes:
    - PNC_CallbackData*
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: processSendCritical
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_generator.c
    functionUses: []
    functionsReached:
    - gf_seng_encode_from_string
    - dprintf
    - gf_mx_p
    - gf_free
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err processSendCritical(PNC_CallbackData * data, char *
      bsBuffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: setDebugMode
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/debug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setDebugMode(int mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/applications/testapps/broadcaster/debug.c:19,1
    - Dst: vfprintf
      Src: /src/gpac/applications/testapps/broadcaster/debug.c:21,1
    - Dst: va_end
      Src: /src/gpac/applications/testapps/broadcaster/debug.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - debug
    - msg
    - '...'
    argTypes:
    - debugMode
    - char*
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: dprintf
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/debug.c
    functionUses: []
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void dprintf(debugMode debug, const char *msg, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: getDebugMode
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/debug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int getDebugMode() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:25,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:30,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:56,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:61,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:61,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:63,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:20,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:23,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:24,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:25,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:30,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:29,1
    - Dst: gf_base64_encode
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:42,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:46,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:50,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:53,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:60,1
    - Dst: gf_sk_get_local_info
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:15,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:47,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:51,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:57,1
    - Dst: fflush
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:62,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:64,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:51,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:19,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:17,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:24,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:27,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:32,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:29,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:40,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:39,1
    - Dst: free
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:44,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:47,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/sdp_generator.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - data
    - ip_dest
    - sdp_fmt
    argTypes:
    - PNC_CallbackData*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 66
    functionName: sdp_generator
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/sdp_generator.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_odf_desc_write
    - gf_list_get
    - dprintf
    - fprintf
    - sprintf
    - gf_net_is_ipv6
    - gf_sk_get_local_info
    - exit
    - free
    - gf_fwrite
    - gf_fclose
    - gf_base64_encode
    - gf_fopen
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int sdp_generator(PNC_CallbackData *data, char *ip_dest, char *sdp_fmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_new
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:11,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:14,1
    - Dst: gf_rtp_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:15,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:14,1
    - Dst: gf_rtp_set_ports
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:12,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:20,1
    - Dst: rand
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:25,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:38,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:40,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:40,1
    - Dst: gf_rtp_initialize
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:45,1
    - Dst: gf_rtp_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:48,1
    - Dst: gf_rtp_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:41,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:47,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - chan
    - dest
    - port
    - mtu_size
    argTypes:
    - GF_RTPChannel**
    - char*
    - int
    - unsigned short
    constantsTouched: []
    func_position:
      end: 52
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 52
    functionName: PNC_InitRTP
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c
    functionUses: []
    functionsReached:
    - rand
    - gf_rtp_setup_transport
    - gf_rtp_del
    - gf_rtp_initialize
    - gf_rtp_new
    - gf_error_to_string
    - fprintf
    - gf_rtp_set_ports
    - gf_sk_is_multicast_address
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PNC_InitRTP(GF_RTPChannel **chan, char *dest, int port, unsigned
      short mtu_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_send_packet
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:65,1
    - Dst: gf_sk_send
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:72,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:70,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:66,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:71,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:72,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - payload
    - payloadSize
    argTypes:
    - PNC_CallbackData*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: PNC_SendRTP
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - dprintf
    - sprintf
    - gf_rtp_send_packet
    - gf_sk_send
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PNC_SendRTP(PNC_CallbackData *data, char *payload, int payloadSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_del
      Src: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - chan
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: PNC_CloseRTP
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/RTP_serv_sender.c
    functionUses: []
    functionsReached:
    - gf_rtp_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PNC_CloseRTP(GF_RTPChannel *chan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:5,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 6
    functionName: printIncompatibleOptions
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void printIncompatibleOptions() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:110,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:114,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:119,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:116,1
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:117,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: RAP_send
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - dprintf
    - gf_mx_p
    - gf_seng_encode_context
    - gf_seng_aggregate_context
    - gf_mx_v
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'u32 RAP_send(void *par) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:43,1
    - Dst: port_from_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:50,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:53,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:59,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:62,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:75,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:36,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:53,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:69,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:79,1
    - Dst: printIncompatibleOptions
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:47,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:65,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:69,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:73,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:85,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:43,1
    - Dst: printIncompatibleOptions
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:56,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:62,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:73,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:71,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 8
    argNames:
    - argc
    - argv
    - tcp_port
    - config_file
    - config_flag
    - mtu_size
    - debug
    - socketType_for_updates
    argTypes:
    - int
    - char**
    - unsigned short*
    - char*
    - int*
    - unsigned short*
    - int*
    - u32*
    constantsTouched: []
    func_position:
      end: 90
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 90
    functionName: command_line_parsing
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - atoi
    - strcpy
    - stricmp
    - port_from_string
    - printIncompatibleOptions
    linkageType: ''
    returnType: int
    signature: 'static int command_line_parsing(int argc, const char** argv, unsigned
      short * tcp_port, char *config_file, int *config_flag, unsigned short * mtu_size,
      int * debug, u32 * socketType_for_updates) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:181,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:199,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:204,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:212,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:204,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:224,1
    - Dst: parse_config
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:226,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:261,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:182,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:184,1
    - Dst: gf_sk_accept
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:191,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:193,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:215,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:205,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:231,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:234,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:244,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:251,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:251,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:218,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:223,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:223,1
    - Dst: gf_sk_send
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:229,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:232,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:255,1
    - Dst: sscanf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:260,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:185,1
    - Dst: gf_sk_listen
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:183,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:190,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:194,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:221,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:214,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:217,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:235,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:241,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:249,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:263,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 268
    functionName: tcp_server
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sk_receive
    - gf_sk_del
    - gf_fwrite
    - gf_error_to_string
    - exit
    - gf_fopen
    - fprintf
    - gf_sk_accept
    - gf_cfg_new
    - gf_sk_bind
    - gf_sk_set_block_mode
    - gf_sk_new
    - sscanf
    - gf_sk_listen
    - gf_fclose
    - parse_config
    - gf_sleep
    - gf_sk_send
    - gf_sk_server_mode
    linkageType: ''
    returnType: u32
    signature: 'u32 tcp_server(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kbhit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: has_input
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - kbhit
    linkageType: ''
    returnType: Bool
    signature: 'Bool has_input() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getchar
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: get_a_char
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - getchar
    linkageType: ''
    returnType: u8
    signature: 'u8 get_a_char() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:488,1
    - Dst: tcsetattr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: init_keyboard
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - tcsetattr
    - tcgetattr
    linkageType: ''
    returnType: void
    signature: 'void init_keyboard() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:505,1
    - Dst: close_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - echo_off
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: set_echo_off
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - init_keyboard
    linkageType: ''
    returnType: void
    signature: 'void set_echo_off(Bool echo_off) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:94,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:96,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:97,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:95,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:98,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: print_usage
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void print_usage(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:128,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:133,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:138,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:136,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:130,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:140,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:142,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:144,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:147,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:149,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:159,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:161,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:152,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:155,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - gf_config_file
    - conf
    - debug
    argTypes:
    - GF_Config*
    - CONF_Data*
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: parse_config
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_cfg_get_key
    - dprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err parse_config(GF_Config *gf_config_file, CONF_Data *conf, int
      debug) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:312,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:364,1
    - Dst: gf_th_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:356,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:373,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:394,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:394,1
    - Dst: PNC_InitPacketiser
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:399,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:402,1
    - Dst: get_a_char
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:421,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:434,1
    - Dst: PNC_SendInitScene
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:400,1
    - Dst: gf_th_del
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:436,1
    - Dst: gf_mx_del
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:454,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:388,1
    - Dst: setDebugMode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:322,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:332,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:341,1
    - Dst: parse_config
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:346,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:366,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:369,1
    - Dst: gf_th_run
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:359,1
    - Dst: gf_mx_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:377,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:381,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:390,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:392,1
    - Dst: gf_th_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:406,1
    - Dst: has_input
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:420,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:442,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:379,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:388,1
    - Dst: print_usage
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:319,1
    - Dst: command_line_parsing
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:318,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:314,1
    - Dst: dprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:344,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:347,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:361,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:370,1
    - Dst: PNC_InitRTP
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:371,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:374,1
    - Dst: PNC_Init_SceneGenerator
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:378,1
    - Dst: sdp_generator
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:409,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:416,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:455,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:449,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:390,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:339,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:351,1
    - Dst: exit
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:382,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:387,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:388,1
    - Dst: gf_th_run
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:407,1
    - Dst: PNC_processBIFSGenerator
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:414,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:435,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:443,1
    - Dst: PNC_Close_SceneGenerator
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:447,1
    - Dst: gf_th_del
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:444,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:452,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:428,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:416,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 457
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 457
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - PNC_Close_SceneGenerator
    - dprintf
    - PNC_InitPacketiser
    - gf_th_new
    - print_usage
    - GF_SAFEALLOC
    - command_line_parsing
    - gf_error_to_string
    - PNC_processBIFSGenerator
    - setDebugMode
    - PNC_InitRTP
    - sdp_generator
    - exit
    - PNC_SendInitScene
    - atoi
    - gf_th_del
    - has_input
    - gf_mx_new
    - fprintf
    - gf_cfg_new
    - gf_sk_bind
    - gf_th_run
    - gf_free
    - gf_mx_del
    - PNC_Init_SceneGenerator
    - gf_sk_set_block_mode
    - gf_sk_new
    - gf_cfg_del
    - strrchr
    - gf_sys_close
    - gf_sys_init
    - get_a_char
    - parse_config
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main (const int argc, const char** argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:473,1
    - Dst: GetConsoleMode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:474,1
    - Dst: SetConsoleMode
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - echo_off
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: set_echo_off
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - GetStdHandle
    - SetConsoleMode
    - GetConsoleMode
    linkageType: ''
    returnType: void
    signature: 'void set_echo_off(Bool echo_off) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcsetattr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:499,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - new_line
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: close_keyboard
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: 'void close_keyboard(Bool new_line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:19,1
    - Dst: strtoul
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:22,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:24,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - port_to_parse
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: port_from_string
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - fprintf
    - strtoul
    linkageType: ''
    returnType: unsigned short
    signature: 'static unsigned short port_from_string(const char * port_to_parse) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:516,1
    - Dst: tcsetattr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:522,1
    - Dst: tcsetattr
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:519,1
    - Dst: close_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:527,1
    - Dst: read
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: has_input
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - init_keyboard
    - tcsetattr
    - read
    linkageType: ''
    returnType: Bool
    signature: 'Bool has_input() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:537,1
    - Dst: close_keyboard
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:541,1
    - Dst: read
      Src: /src/gpac/applications/testapps/broadcaster/broadcaster.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: get_a_char
    functionSourceFile: /src/gpac/applications/testapps/broadcaster/broadcaster.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - read
    linkageType: ''
    returnType: u8
    signature: 'u8 get_a_char() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:42,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:46,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:49,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:43,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:45,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:51,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:55,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:58,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:62,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/udptsseg/main.c:64,1
    - Dst: rename
      Src: /src/gpac/applications/testapps/udptsseg/main.c:66,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:70,1
    - Dst: rename
      Src: /src/gpac/applications/testapps/udptsseg/main.c:72,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:73,1
    - Dst: remove
      Src: /src/gpac/applications/testapps/udptsseg/main.c:69,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 8
    argNames:
    - manifest
    - segment_dir
    - segment_duration
    - segment_prefix
    - http_prefix
    - first_segment
    - last_segment
    - end
    argTypes:
    - char*
    - char*
    - u32
    - char*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 79
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 79
    functionName: write_manifest
    functionSourceFile: /src/gpac/applications/testapps/udptsseg/main.c
    functionUses: []
    functionsReached:
    - rename
    - fprintf
    - sprintf
    - remove
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err write_manifest(char *manifest, char *segment_dir, u32
      segment_duration, char *segment_prefix, char *http_prefix, u32 first_segment,
      u32 last_segment, Bool end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: usage
    functionSourceFile: /src/gpac/applications/testapps/udptsseg/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void usage() '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/gpac/applications/testapps/udptsseg/main.c:126,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:146,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:149,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:160,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:158,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:154,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:155,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:164,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/udptsseg/main.c:165,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/udptsseg/main.c:239,1
    - Dst: gf_delete_file
      Src: /src/gpac/applications/testapps/udptsseg/main.c:295,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:209,1
    - Dst: write_manifest
      Src: /src/gpac/applications/testapps/udptsseg/main.c:298,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:235,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:293,1
    - Dst: strchr
      Src: /src/gpac/applications/testapps/udptsseg/main.c:270,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/udptsseg/main.c:265,1
    - Dst: strchr
      Src: /src/gpac/applications/testapps/udptsseg/main.c:287,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:207,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:169,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/udptsseg/main.c:175,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/applications/testapps/udptsseg/main.c:176,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:170,1
    - Dst: strcpy
      Src: /src/gpac/applications/testapps/udptsseg/main.c:194,1
    - Dst: strrchr
      Src: /src/gpac/applications/testapps/udptsseg/main.c:195,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:198,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/udptsseg/main.c:222,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/testapps/udptsseg/main.c:232,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:257,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/applications/testapps/udptsseg/main.c:186,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:214,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:216,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/udptsseg/main.c:307,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:266,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:123,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/udptsseg/main.c:144,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:152,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/udptsseg/main.c:153,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:162,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:156,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/udptsseg/main.c:159,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:157,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/udptsseg/main.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:168,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:243,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:278,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:296,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:206,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:276,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/udptsseg/main.c:258,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:280,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:288,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/udptsseg/main.c:139,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/udptsseg/main.c:132,1
    - Dst: strchr
      Src: /src/gpac/applications/testapps/udptsseg/main.c:142,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/applications/testapps/udptsseg/main.c:177,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/udptsseg/main.c:179,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:182,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/udptsseg/main.c:182,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/applications/testapps/udptsseg/main.c:185,1
    - Dst: strchr
      Src: /src/gpac/applications/testapps/udptsseg/main.c:198,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:199,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:201,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:204,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/udptsseg/main.c:227,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/udptsseg/main.c:255,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:287,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/udptsseg/main.c:221,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:271,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/udptsseg/main.c:253,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:273,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/udptsseg/main.c:270,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/udptsseg/main.c:290,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 217
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 311
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 311
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/udptsseg/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_sk_receive
    - gf_delete_file
    - gf_fwrite
    - gf_error_to_string
    - gf_strdup
    - atoi
    - strcpy
    - memmove
    - write_manifest
    - gf_fopen
    - usage
    - assert
    - fprintf
    - sprintf
    - gf_sys_clock
    - gf_sk_setup_multicast
    - gf_sk_bind
    - strchr
    - strnicmp
    - gf_sk_set_block_mode
    - gf_sk_new
    - gf_sk_set_buffer_size
    - strrchr
    - gf_sk_is_multicast_address
    - gf_sys_init
    - gf_fclose
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:193,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:207,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:236,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:237,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:259,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:204,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:211,1
    - Dst: svg_parse_animation
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:245,1
    - Dst: gf_node_get_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:248,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:258,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:248,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:210,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:263,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:255,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:267,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:200,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:232,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:266,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:262,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:254,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - sg
    - anim
    argTypes:
    - GF_SceneGraph*
    - SVG_DeferredAnimation*
    constantsTouched: []
    func_position:
      end: 271
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 271
    functionName: svg_parse_animation
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - gf_node_register_iri
    - gf_node_get_tag
    - fprintf
    - gf_svg_parse_attribute
    - gf_node_get_attribute_by_name
    - gf_node_get_attribute_by_tag
    - svg_parse_animation
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_animation(GF_SceneGraph *sg, SVG_DeferredAnimation
      *anim) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:159,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:161,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - converter
    - node
    argTypes:
    - SVG2BIFS_Converter*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: add_transform_matrix
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_new
    - gf_node_list_add_child
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *add_transform_matrix(SVG2BIFS_Converter *converter,
      GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:981,1
    - Dst: gf_node_set_private
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:984,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:986,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:987,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:982,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:988,1
    - Dst: gf_node_unregister
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:989,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:990,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:994,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:994,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - sax_cbck
    - name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 995
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 995
    functionName: svg2bifs_node_end
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_node_get_tag
    - gf_node_get_private
    - gf_sg_set_root_node
    - fprintf
    - gf_node_set_private
    - memcpy
    - gf_node_get_class_name
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void svg2bifs_node_end(void *sax_cbck, const char *name, const
      char *name_space) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:80,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:116,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:114,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:82,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:84,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - svg_props
    - sg
    argTypes:
    - SVGPropertiesPointers*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 153
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 153
    functionName: create_appearance
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_node_new
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *create_appearance(SVGPropertiesPointers *svg_props,
      GF_SceneGraph *sg) '
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:298,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:372,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:530,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:637,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:666,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:697,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:744,1
    - Dst: create_appearance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:762,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:763,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:786,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:918,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:973,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:832,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:312,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:312,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:319,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:478,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:523,1
    - Dst: create_appearance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:599,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:600,1
    - Dst: add_transform2d
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:613,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:627,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:698,1
    - Dst: create_appearance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:705,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:912,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:342,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:397,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:408,1
    - Dst: gf_svg_parse_style
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:311,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:471,1
    - Dst: FIX2INT
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:361,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:494,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:538,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:620,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:635,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:894,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:928,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:760,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:442,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:366,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:317,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:324,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:628,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:684,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:692,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:701,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:784,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:803,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:874,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:822,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:865,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:942,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:825,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:297,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:310,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:371,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:540,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:608,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:637,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:639,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:743,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:772,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:824,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:839,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:863,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:909,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:872,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:907,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:350,1
    - Dst: INT2FIX
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:391,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:522,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:770,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:863,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:910,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:930,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:950,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:960,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:916,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:849,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:715,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:654,1
    - Dst: gf_node_get_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:862,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:668,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:470,1
    - Dst: INT2FIX
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:390,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:286,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:285,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:323,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:399,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:430,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:529,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:785,1
    - Dst: gf_node_get_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:800,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:958,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:931,1
    - Dst: add_transform_matrix
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:427,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:477,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:321,1
    - Dst: INT2FIX
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:393,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:343,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:683,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:706,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:822,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:828,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:829,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:861,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:869,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:922,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:820,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:941,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:695,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:883,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:318,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:348,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:367,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:432,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:381,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:667,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:771,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:895,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:842,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:833,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:914,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:801,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:905,1
    - Dst: gf_svg_apply_inheritance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:346,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:379,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:456,1
    - Dst: INT2FIX
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:392,1
    - Dst: create_appearance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:485,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:702,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:729,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:751,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:801,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:827,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:868,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:884,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:852,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:873,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:454,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:407,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:288,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:290,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:316,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:330,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:339,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:398,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:508,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:619,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:958,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:799,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:431,1
    - Dst: gf_xml_get_element_tag
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:284,1
    - Dst: gf_svg_parse_element_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:313,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:327,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:506,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:633,1
    - Dst: gf_node_get_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:795,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:796,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:804,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:866,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:938,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:831,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:287,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:322,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:348,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:368,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:380,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:370,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:621,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:742,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:756,1
    - Dst: gf_node_get_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:821,1
    - Dst: add_transform2d
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:720,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:796,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:970,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:727,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:881,1
    - Dst: gf_node_set_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:907,1
    - Dst: stricmp
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:315,1
    - Dst: FIX2INT
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:356,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:455,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:521,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:536,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:671,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:728,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:853,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:920,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:959,1
    - Dst: gf_node_set_private
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:344,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:320,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:469,1
    - Dst: add_transform2d
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:447,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:348,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:409,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:507,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:541,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:638,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:672,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:891,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:970,1
    - Dst: gf_node_get_id
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:906,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:913,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:973,1
    - Dst: add_transform2d
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:499,1
    - Dst: strlen
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:308,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:328,1
    - Dst: svg_parse_animation
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:336,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:340,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:486,1
    - Dst: create_appearance
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:645,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:646,1
    - Dst: add_transform2d
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:659,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:682,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:841,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:870,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 636
    argCount: 5
    argNames:
    - sax_cbck
    - name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 974
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 974
    functionName: svg2bifs_node_start
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - gf_svg_flatten_attributes
    - gf_node_get_field_by_name
    - gf_svg_apply_inheritance
    - INT2FIX
    - gf_node_set_id
    - gf_sg_route_new
    - gf_node_new
    - GF_SAFEALLOC
    - gf_strdup
    - gf_svg_parse_attribute
    - gf_list_count
    - gf_svg_parse_element_id
    - add_transform_matrix
    - gf_node_set_private
    - gf_node_get_id
    - gf_sg_vrml_mf_append
    - gf_node_get_class_name
    - stricmp
    - gf_sg_set_root_node
    - gf_node_list_add_child
    - gf_list_get
    - fprintf
    - memcpy
    - gf_svg_is_animation_tag
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_xml_get_element_tag
    - add_transform2d
    - gf_sg_get_root_node
    - gf_sg_get_next_available_node_id
    - gf_svg_parse_style
    - svg_parse_animation
    - FIX2INT
    - create_appearance
    linkageType: ''
    returnType: void
    signature: 'static void svg2bifs_node_start(void *sax_cbck, const char *name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:177,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:178,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - converter
    - node
    argTypes:
    - SVG2BIFS_Converter*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: add_transform2d
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_new
    - gf_node_list_add_child
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *add_transform2d(SVG2BIFS_Converter *converter, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1002,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - sax_cbck
    - text_content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1005
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1005
    functionName: svg2bifs_text_content
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    - gf_strdup
    linkageType: ''
    returnType: void
    signature: 'static void svg2bifs_text_content(void *sax_cbck, const char *text_content,
      Bool is_cdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1013,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1017,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1020,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1015,1
    - Dst: gf_svg_properties_init_pointers
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1021,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1023,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1025,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1026,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1028,1
    - Dst: strchr
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1029,1
    - Dst: gf_svg_properties_reset_pointers
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1037,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1044,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1039,1
    - Dst: gf_sm_dumper_del
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1035,1
    - Dst: gf_sm_dump_graph
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1034,1
    - Dst: gf_sm_dumper_new
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1031,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/applications/testapps/svg2bifs/main.c:1042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1045
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1045
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/svg2bifs/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_svg_properties_reset_pointers
    - gf_sg_del
    - gf_sg_new
    - gf_xml_sax_parse_file
    - gf_sm_dumper_del
    - gf_sm_dump_graph
    - gf_sm_dumper_new
    - gf_sys_init
    - GF_SAFEALLOC
    - strchr
    - gf_xml_sax_del
    - gf_xml_sax_new
    - gf_svg_properties_init_pointers
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/atscdmx/main.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/testapps/atscdmx/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/atscdmx/main.c:42,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/atscdmx/main.c:43,1
    - Dst: gmtime
      Src: /src/gpac/applications/testapps/atscdmx/main.c:50,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/testapps/atscdmx/main.c:47,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/atscdmx/main.c:51,1
    - Dst: vfprintf
      Src: /src/gpac/applications/testapps/atscdmx/main.c:53,1
    - Dst: fflush
      Src: /src/gpac/applications/testapps/atscdmx/main.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - cbk
    - ll
    - lm
    - fmt
    - list
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: on_atscd_log
    functionSourceFile: /src/gpac/applications/testapps/atscdmx/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_sys_clock_high_res
    - gf_net_get_utc
    - vfprintf
    - fflush
    - gmtime
    linkageType: ''
    returnType: void
    signature: 'static void on_atscd_log(void *cbk, GF_LOG_Level ll, GF_LOG_Tool lm,
      const char *fmt, va_list list) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PrintUsage
      Src: /src/gpac/applications/testapps/atscdmx/main.c:67,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:72,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/atscdmx/main.c:89,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:96,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:102,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/atscdmx/main.c:98,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/testapps/atscdmx/main.c:128,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/atscdmx/main.c:139,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/applications/testapps/atscdmx/main.c:142,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/atscdmx/main.c:143,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:74,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/atscdmx/main.c:76,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/atscdmx/main.c:85,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/atscdmx/main.c:90,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/atscdmx/main.c:100,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:107,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:109,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/testapps/atscdmx/main.c:114,1
    - Dst: gf_atsc3_dmx_new
      Src: /src/gpac/applications/testapps/atscdmx/main.c:119,1
    - Dst: gf_atsc3_tune_in
      Src: /src/gpac/applications/testapps/atscdmx/main.c:120,1
    - Dst: gf_memory_print
      Src: /src/gpac/applications/testapps/atscdmx/main.c:144,1
    - Dst: gf_atsc3_dmx_del
      Src: /src/gpac/applications/testapps/atscdmx/main.c:136,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:98,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:99,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/applications/testapps/atscdmx/main.c:103,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:107,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:109,1
    - Dst: gf_atsc3_dmx_process
      Src: /src/gpac/applications/testapps/atscdmx/main.c:123,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:72,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/atscdmx/main.c:87,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:99,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/atscdmx/main.c:97,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/atscdmx/main.c:115,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/atscdmx/main.c:125,1
    - Dst: gf_prompt_has_input
      Src: /src/gpac/applications/testapps/atscdmx/main.c:127,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/atscdmx/main.c:138,1
    - Dst: gf_memory_size
      Src: /src/gpac/applications/testapps/atscdmx/main.c:142,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 149
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/atscdmx/main.c
    functionUses: []
    functionsReached:
    - gf_prompt_has_input
    - gf_atsc3_dmx_del
    - gf_log_set_tools_levels
    - gf_atsc3_dmx_new
    - PrintUsage
    - strcmp
    - atoi
    - gf_atsc3_dmx_process
    - gf_fopen
    - gf_log_set_tool_level
    - gf_memory_size
    - fprintf
    - gf_log_set_callback
    - gf_atsc3_tune_in
    - gf_prompt_get_char
    - gf_file_handles_count
    - gf_memory_print
    - gf_sys_close
    - gf_sys_init
    - gf_sys_clock_high_res
    - gf_fclose
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:45,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:54,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:54,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:49,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:52,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:58,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:60,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:65,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:71,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:73,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:79,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:82,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:83,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:89,1
    - Dst: gf_isom_get_missing_bytes
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:81,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/bmp4demux/main.c:77,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/bmp4demux/main.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_track_by_id
    - gf_isom_open_progressive
    - gf_error_to_string
    - fprintf
    - gf_isom_get_missing_bytes
    - gf_isom_close
    - gf_isom_get_sample
    - atoi
    - gf_isom_last_error
    - gf_isom_get_sample_count
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: on_m2ts_event
    functionSourceFile: /src/gpac/applications/testapps/ts2udp/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void on_m2ts_event(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sema_wait
      Src: /src/gpac/applications/testapps/ts2udp/main.c:62,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/ts2udp/main.c:65,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2udp/main.c:67,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/testapps/ts2udp/main.c:63,1
    - Dst: gf_sk_send
      Src: /src/gpac/applications/testapps/ts2udp/main.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: sender_thread_proc
    functionSourceFile: /src/gpac/applications/testapps/ts2udp/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_sys_clock
    - gf_sk_send
    - gf_sleep
    - gf_sema_wait
    linkageType: ''
    returnType: u32
    signature: 'u32 sender_thread_proc(void *param) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2udp/main.c:89,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/ts2udp/main.c:95,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/ts2udp/main.c:96,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/applications/testapps/ts2udp/main.c:110,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/applications/testapps/ts2udp/main.c:111,1
    - Dst: feof
      Src: /src/gpac/applications/testapps/ts2udp/main.c:121,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/testapps/ts2udp/main.c:131,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/ts2udp/main.c:133,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/testapps/ts2udp/main.c:137,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2udp/main.c:140,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/testapps/ts2udp/main.c:144,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2udp/main.c:88,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/testapps/ts2udp/main.c:113,1
    - Dst: gf_th_run
      Src: /src/gpac/applications/testapps/ts2udp/main.c:120,1
    - Dst: gf_sema_del
      Src: /src/gpac/applications/testapps/ts2udp/main.c:143,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/ts2udp/main.c:145,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2udp/main.c:146,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2udp/main.c:93,1
    - Dst: gf_sema_new
      Src: /src/gpac/applications/testapps/ts2udp/main.c:104,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/testapps/ts2udp/main.c:109,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/ts2udp/main.c:115,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/ts2udp/main.c:118,1
    - Dst: gf_th_set_priority
      Src: /src/gpac/applications/testapps/ts2udp/main.c:105,1
    - Dst: gf_fread
      Src: /src/gpac/applications/testapps/ts2udp/main.c:124,1
    - Dst: gf_sema_notify
      Src: /src/gpac/applications/testapps/ts2udp/main.c:128,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/ts2udp/main.c:92,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2udp/main.c:98,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2udp/main.c:100,1
    - Dst: gf_th_new
      Src: /src/gpac/applications/testapps/ts2udp/main.c:103,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/applications/testapps/ts2udp/main.c:106,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2udp/main.c:117,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2udp/main.c:119,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/testapps/ts2udp/main.c:126,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/applications/testapps/ts2udp/main.c:141,1
    - Dst: gf_th_del
      Src: /src/gpac/applications/testapps/ts2udp/main.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 148
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/ts2udp/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_th_set_priority
    - gf_sk_del
    - gf_th_new
    - gf_fseek
    - gf_m2ts_demux_new
    - gf_m2ts_process_data
    - atoi
    - gf_sema_notify
    - gf_fopen
    - gf_th_del
    - feof
    - gf_set_progress
    - gf_m2ts_demux_del
    - fprintf
    - gf_fread
    - gf_ftell
    - gf_sk_setup_multicast
    - gf_sk_bind
    - gf_th_run
    - gf_sema_del
    - gf_free
    - gf_sk_new
    - gf_sema_new
    - gf_sys_close
    - gf_sk_is_multicast_address
    - gf_sys_init
    - gf_fclose
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/testapps/hevcbench/main.c:141,1
    - Dst: glShaderSource
      Src: /src/gpac/applications/testapps/hevcbench/main.c:142,1
    - Dst: glCompileShader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:143,1
    - Dst: glGetShaderiv
      Src: /src/gpac/applications/testapps/hevcbench/main.c:145,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/hevcbench/main.c:147,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/applications/testapps/hevcbench/main.c:149,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/applications/testapps/hevcbench/main.c:151,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/testapps/hevcbench/main.c:153,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/hevcbench/main.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - shader_id
    - name
    - source
    argTypes:
    - GF_SHADERID
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: sdl_compile_shader
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - glCompileShader
    - glShaderSource
    - glGetShaderiv
    - GF_LOG
    - glGetInfoLogARB
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool sdl_compile_shader(GF_SHADERID shader_id, const char *name, const
      char *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glBegin
      Src: /src/gpac/applications/testapps/hevcbench/main.c:383,1
    - Dst: glTexCoord2f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:386,1
    - Dst: glTexCoord2f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:389,1
    - Dst: glVertex3f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:385,1
    - Dst: glVertex3f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:388,1
    - Dst: glVertex3f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:391,1
    - Dst: glTexCoord2f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:392,1
    - Dst: glVertex3f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:394,1
    - Dst: glTexCoord2f
      Src: /src/gpac/applications/testapps/hevcbench/main.c:395,1
    - Dst: glEnd
      Src: /src/gpac/applications/testapps/hevcbench/main.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: sdl_draw_quad
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - glVertex3f
    - glBegin
    - glTexCoord2f
    - glEnd
    linkageType: ''
    returnType: void
    signature: 'void sdl_draw_quad() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:178,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:180,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:264,1
    - Dst: glUseProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:309,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:212,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/hevcbench/main.c:211,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:248,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:261,1
    - Dst: glEnable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:288,1
    - Dst: glUseProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:331,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:289,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:176,1
    - Dst: glMatrixMode
      Src: /src/gpac/applications/testapps/hevcbench/main.c:223,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:242,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:252,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:258,1
    - Dst: glTexParameteri
      Src: /src/gpac/applications/testapps/hevcbench/main.c:295,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:305,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:239,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:255,1
    - Dst: glPixelTransferi
      Src: /src/gpac/applications/testapps/hevcbench/main.c:292,1
    - Dst: glLoadIdentity
      Src: /src/gpac/applications/testapps/hevcbench/main.c:231,1
    - Dst: glClear
      Src: /src/gpac/applications/testapps/hevcbench/main.c:233,1
    - Dst: glBlendFunc
      Src: /src/gpac/applications/testapps/hevcbench/main.c:238,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:250,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:271,1
    - Dst: glBufferData
      Src: /src/gpac/applications/testapps/hevcbench/main.c:345,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:350,1
    - Dst: SDL_CreateWindow
      Src: /src/gpac/applications/testapps/hevcbench/main.c:190,1
    - Dst: SDL_GL_MakeCurrent
      Src: /src/gpac/applications/testapps/hevcbench/main.c:192,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:244,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:260,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:301,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:257,1
    - Dst: glCreateShader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:278,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:177,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:235,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:241,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/applications/testapps/hevcbench/main.c:312,1
    - Dst: glUniform1i
      Src: /src/gpac/applications/testapps/hevcbench/main.c:317,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:270,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:254,1
    - Dst: glCreateShader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:275,1
    - Dst: glAttachShader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:281,1
    - Dst: glTexParameteri
      Src: /src/gpac/applications/testapps/hevcbench/main.c:298,1
    - Dst: glBufferData
      Src: /src/gpac/applications/testapps/hevcbench/main.c:348,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:353,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:267,1
    - Dst: gf_mx_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:219,1
    - Dst: glMatrixMode
      Src: /src/gpac/applications/testapps/hevcbench/main.c:227,1
    - Dst: glClear
      Src: /src/gpac/applications/testapps/hevcbench/main.c:216,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:234,1
    - Dst: glHint
      Src: /src/gpac/applications/testapps/hevcbench/main.c:237,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:251,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:240,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:256,1
    - Dst: sdl_compile_shader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:276,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:347,1
    - Dst: glLinkProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:283,1
    - Dst: glLoadIdentity
      Src: /src/gpac/applications/testapps/hevcbench/main.c:228,1
    - Dst: glMatrixMode
      Src: /src/gpac/applications/testapps/hevcbench/main.c:230,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:253,1
    - Dst: sdl_compile_shader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:279,1
    - Dst: glAttachShader
      Src: /src/gpac/applications/testapps/hevcbench/main.c:282,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:269,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/testapps/hevcbench/main.c:314,1
    - Dst: glBufferData
      Src: /src/gpac/applications/testapps/hevcbench/main.c:351,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:266,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:290,1
    - Dst: glTexParameteri
      Src: /src/gpac/applications/testapps/hevcbench/main.c:297,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:249,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:263,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:206,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/hevcbench/main.c:213,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:214,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/hevcbench/main.c:205,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:344,1
    - Dst: SDL_GL_CreateContext
      Src: /src/gpac/applications/testapps/hevcbench/main.c:191,1
    - Dst: glLoadMatrixf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:224,1
    - Dst: glHint
      Src: /src/gpac/applications/testapps/hevcbench/main.c:236,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:268,1
    - Dst: glGenTextures
      Src: /src/gpac/applications/testapps/hevcbench/main.c:285,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:179,1
    - Dst: glViewport
      Src: /src/gpac/applications/testapps/hevcbench/main.c:217,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:265,1
    - Dst: glCreateProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:274,1
    - Dst: glGenBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:341,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:262,1
    - Dst: glTexParameteri
      Src: /src/gpac/applications/testapps/hevcbench/main.c:296,1
    - Dst: SDL_CreateRenderer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:194,1
    - Dst: gf_mx_ortho
      Src: /src/gpac/applications/testapps/hevcbench/main.c:222,1
    - Dst: glGenBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:342,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:243,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/applications/testapps/hevcbench/main.c:175,1
    - Dst: GET_GLFUN
      Src: /src/gpac/applications/testapps/hevcbench/main.c:259,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:303,1
    - Dst: glGenBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:340,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 172
    argCount: 5
    argNames:
    - _width
    - _height
    - _bpp
    - stride
    - use_pbo
    argTypes:
    - u32
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 355
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 355
    functionName: sdl_init
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - SDL_CreateRenderer
    - memset
    - glUseProgram
    - glAttachShader
    - glBindTexture
    - glTexParameteri
    - glEnable
    - GF_LOG
    - gf_mx_init
    - sdl_compile_shader
    - glBufferData
    - glUniform1i
    - glLoadMatrixf
    - SDL_CreateWindow
    - glCreateShader
    - glGenTextures
    - glHint
    - glPixelTransferi
    - glGenBuffers
    - glCreateProgram
    - glBindBuffer
    - glLoadIdentity
    - SDL_GL_MakeCurrent
    - glViewport
    - glLinkProgram
    - SDL_GL_SetAttribute
    - glMatrixMode
    - gf_mx_ortho
    - glClear
    - glPixelStorei
    - glDisable
    - glGetUniformLocation
    - SDL_GL_CreateContext
    - GET_GLFUN
    - glBlendFunc
    linkageType: ''
    returnType: void
    signature: 'void sdl_init(u32 _width, u32 _height, u32 _bpp, u32 stride, Bool
      use_pbo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEL_SHADER
      Src: /src/gpac/applications/testapps/hevcbench/main.c:359,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:365,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:364,1
    - Dst: DEL_SHADER
      Src: /src/gpac/applications/testapps/hevcbench/main.c:360,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/applications/testapps/hevcbench/main.c:361,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:366,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/hevcbench/main.c:369,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/hevcbench/main.c:370,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/hevcbench/main.c:371,1
    - Dst: SDL_GL_DeleteContext
      Src: /src/gpac/applications/testapps/hevcbench/main.c:373,1
    - Dst: SDL_DestroyWindow
      Src: /src/gpac/applications/testapps/hevcbench/main.c:375,1
    - Dst: SDL_DestroyRenderer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 376
    functionName: sdl_close
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - SDL_GL_DeleteContext
    - SDL_DestroyRenderer
    - DEL_PROGRAM
    - DEL_SHADER
    - glDeleteBuffers
    - gf_free
    - SDL_DestroyWindow
    linkageType: ''
    returnType: void
    signature: 'void sdl_close() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:658,1
    - Dst: sdl_draw_frame
      Src: /src/gpac/applications/testapps/hevcbench/main.c:670,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:660,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:678,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 679
    functionName: sdl_bench
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - sdl_draw_frame
    - fprintf
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'void sdl_bench() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 697
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:443,1
    - Dst: glActiveTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:626,1
    - Dst: glDisable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:640,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:599,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:588,1
    - Dst: sdl_draw_quad
      Src: /src/gpac/applications/testapps/hevcbench/main.c:638,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:440,1
    - Dst: glMapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:464,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:570,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:627,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:609,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:468,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:633,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:447,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:482,1
    - Dst: glMapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:499,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:517,1
    - Dst: glMapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:534,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:579,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:607,1
    - Dst: glActiveTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:632,1
    - Dst: glTexEnvf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:635,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:602,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:630,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:592,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/hevcbench/main.c:484,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/hevcbench/main.c:550,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:562,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:614,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:590,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:584,1
    - Dst: glEnable
      Src: /src/gpac/applications/testapps/hevcbench/main.c:433,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:444,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:580,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:587,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:441,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:466,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:496,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:501,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/hevcbench/main.c:519,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:531,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:536,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:435,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:461,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:601,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:498,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:503,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:533,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:538,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:597,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:612,1
    - Dst: glActiveTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:643,1
    - Dst: SDL_GL_SwapWindow
      Src: /src/gpac/applications/testapps/hevcbench/main.c:646,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:448,1
    - Dst: memcpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:548,1
    - Dst: glUseProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:641,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:605,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:582,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:575,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:600,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:445,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:573,1
    - Dst: glUseProgram
      Src: /src/gpac/applications/testapps/hevcbench/main.c:624,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:571,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:611,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:644,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:648,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:439,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:451,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:463,1
    - Dst: glBindBuffer
      Src: /src/gpac/applications/testapps/hevcbench/main.c:596,1
    - Dst: glActiveTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:629,1
    - Dst: glClientActiveTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:636,1
    - Dst: glBindTexture
      Src: /src/gpac/applications/testapps/hevcbench/main.c:604,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:616,1
    - Dst: glPixelStorei
      Src: /src/gpac/applications/testapps/hevcbench/main.c:610,1
    - Dst: glTexImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:449,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/applications/testapps/hevcbench/main.c:606,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 219
    argCount: 7
    argNames:
    - pY
    - pU
    - pV
    - w
    - h
    - bit_depth
    - stride
    argTypes:
    - u8*
    - u8*
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 651
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 651
    functionName: sdl_draw_frame
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - sdl_draw_quad
    - memset
    - glUseProgram
    - glBindTexture
    - glEnable
    - glTexSubImage2D
    - glActiveTexture
    - glUnmapBuffer
    - glMapBuffer
    - glClientActiveTexture
    - glTexImage2D
    - glBindBuffer
    - memmove
    - glTexEnvf
    - memcpy
    - glPixelStorei
    - glDisable
    - SDL_GL_SwapWindow
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'void sdl_draw_frame(u8 *pY, u8 *pU, u8 *pV, u32 w, u32 h, u32 bit_depth,
      u32 stride) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:739,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/hevcbench/main.c:776,1
    - Dst: sdl_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:781,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/hevcbench/main.c:792,1
    - Dst: sdl_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:882,1
    - Dst: fclose
      Src: /src/gpac/applications/testapps/hevcbench/main.c:975,1
    - Dst: PrintUsage
      Src: /src/gpac/applications/testapps/hevcbench/main.c:761,1
    - Dst: sdl_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:808,1
    - Dst: sdl_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:794,1
    - Dst: libOpenHevcStartDecoder
      Src: /src/gpac/applications/testapps/hevcbench/main.c:829,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/testapps/hevcbench/main.c:820,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:958,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:737,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:754,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/applications/testapps/hevcbench/main.c:800,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/hevcbench/main.c:817,1
    - Dst: libOpenHevcGetOutput
      Src: /src/gpac/applications/testapps/hevcbench/main.c:899,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:925,1
    - Dst: sdl_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:978,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/applications/testapps/hevcbench/main.c:923,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:844,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/hevcbench/main.c:745,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:774,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:795,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/testapps/hevcbench/main.c:799,1
    - Dst: libOpenHevcGetOutput
      Src: /src/gpac/applications/testapps/hevcbench/main.c:855,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:743,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:744,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:746,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:807,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:871,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/hevcbench/main.c:751,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:747,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:757,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/testapps/hevcbench/main.c:830,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:862,1
    - Dst: gf_color_write_yv12_10_to_yuv
      Src: /src/gpac/applications/testapps/hevcbench/main.c:901,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/testapps/hevcbench/main.c:845,1
    - Dst: libOpenHevcDecode
      Src: /src/gpac/applications/testapps/hevcbench/main.c:847,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:741,1
    - Dst: fopen
      Src: /src/gpac/applications/testapps/hevcbench/main.c:758,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:973,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:852,1
    - Dst: libOpenHevcInit
      Src: /src/gpac/applications/testapps/hevcbench/main.c:821,1
    - Dst: libOpenHevcSetViewLayers
      Src: /src/gpac/applications/testapps/hevcbench/main.c:827,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:760,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/testapps/hevcbench/main.c:935,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:970,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:856,1
    - Dst: libOpenHevcGetPictureInfoCpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:870,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:835,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:924,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:738,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:772,1
    - Dst: sdl_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:779,1
    - Dst: sdl_init
      Src: /src/gpac/applications/testapps/hevcbench/main.c:860,1
    - Dst: libOpenHevcCopyExtraData
      Src: /src/gpac/applications/testapps/hevcbench/main.c:823,1
    - Dst: libOpenHevcClose
      Src: /src/gpac/applications/testapps/hevcbench/main.c:972,1
    - Dst: libOpenHevcGetOutputCpy
      Src: /src/gpac/applications/testapps/hevcbench/main.c:910,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:748,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/applications/testapps/hevcbench/main.c:813,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:818,1
    - Dst: libOpenHevcGetOutput
      Src: /src/gpac/applications/testapps/hevcbench/main.c:851,1
    - Dst: gf_prompt_has_input
      Src: /src/gpac/applications/testapps/hevcbench/main.c:940,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:980,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:736,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:745,1
    - Dst: sdl_bench
      Src: /src/gpac/applications/testapps/hevcbench/main.c:780,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:874,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/hevcbench/main.c:744,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:752,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:859,1
    - Dst: libOpenHevcSetActiveDecoders
      Src: /src/gpac/applications/testapps/hevcbench/main.c:826,1
    - Dst: gf_isom_set_sample_padding
      Src: /src/gpac/applications/testapps/hevcbench/main.c:831,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:884,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/hevcbench/main.c:928,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:954,1
    - Dst: sdl_draw_frame
      Src: /src/gpac/applications/testapps/hevcbench/main.c:865,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:809,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:742,1
    - Dst: strncmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:751,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:753,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:782,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:868,1
    - Dst: PrintUsage
      Src: /src/gpac/applications/testapps/hevcbench/main.c:786,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/hevcbench/main.c:931,1
    - Dst: sdl_draw_frame
      Src: /src/gpac/applications/testapps/hevcbench/main.c:913,1
    - Dst: PrintUsage
      Src: /src/gpac/applications/testapps/hevcbench/main.c:726,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/testapps/hevcbench/main.c:941,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:969,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/hevcbench/main.c:890,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/hevcbench/main.c:740,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/hevcbench/main.c:787,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/testapps/hevcbench/main.c:951,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 297
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 982
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 982
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/hevcbench/main.c
    functionUses: []
    functionsReached:
    - fopen
    - gf_prompt_has_input
    - memset
    - strncmp
    - sdl_close
    - sdl_init
    - gf_color_write_yv12_10_to_yuv
    - sdl_bench
    - gf_odf_desc_del
    - libOpenHevcDecode
    - gf_isom_get_hevc_lhvc_type
    - PrintUsage
    - sdl_draw_frame
    - libOpenHevcClose
    - libOpenHevcInit
    - strcmp
    - libOpenHevcGetPictureInfoCpy
    - gf_isom_close
    - libOpenHevcStartDecoder
    - gf_isom_set_sample_padding
    - libOpenHevcGetOutput
    - atoi
    - gf_isom_get_track_count
    - libOpenHevcGetOutputCpy
    - gf_log_set_tool_level
    - libOpenHevcCopyExtraData
    - gf_isom_get_esd
    - fprintf
    - libOpenHevcSetViewLayers
    - libOpenHevcSetActiveDecoders
    - fclose
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_prompt_get_char
    - gf_sys_close
    - gf_isom_open
    - gf_sys_get_rti
    - gf_sys_init
    - gf_isom_get_sample
    - gf_sys_clock_high_res
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:109,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:121,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:158,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:161,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:148,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:158,1
    - Dst: gf_isom_reset_data_offset
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:142,1
    - Dst: gf_isom_refresh_fragmented
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:149,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:90,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:102,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:137,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:153,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:86,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:113,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:125,1
    - Dst: memmove
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:145,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:157,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:99,1
    - Dst: gf_isom_reset_tables
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 169
    functionName: iso_progressive_read_thread
    functionSourceFile: /src/gpac/applications/testapps/fmp4demux/main.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_refresh_fragmented
    - gf_isom_get_track_by_id
    - memmove
    - assert
    - gf_error_to_string
    - fprintf
    - gf_isom_reset_tables
    - gf_mx_p
    - sprintf
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_mx_v
    - gf_isom_reset_data_offset
    - gf_isom_get_sample_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 iso_progressive_read_thread(void *param) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:202,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:203,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:206,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:213,1
    - Dst: gf_mx_new
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:224,1
    - Dst: gf_th_run
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:229,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:248,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:253,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:261,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:273,1
    - Dst: gf_th_del
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:306,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:194,1
    - Dst: gf_mx_p
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:242,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:258,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:278,1
    - Dst: gf_th_stop
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:303,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:308,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:310,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:210,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:212,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:217,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:219,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:222,1
    - Dst: gf_th_new
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:223,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:243,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:255,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:268,1
    - Dst: gf_isom_set_single_moof_mode
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:270,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:278,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:290,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:309,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:205,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:201,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:218,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:233,1
    - Dst: gf_isom_refresh_fragmented
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:284,1
    - Dst: gf_mx_v
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:287,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:290,1
    - Dst: gf_mx_del
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:307,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/fmp4demux/main.c:311,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 93
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 314
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 314
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/fmp4demux/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_th_new
    - gf_fseek
    - gf_isom_open_progressive
    - gf_error_to_string
    - gf_isom_close
    - gf_th_stop
    - gf_log_set_tool_level
    - gf_fopen
    - gf_th_del
    - gf_isom_refresh_fragmented
    - gf_mx_new
    - fprintf
    - gf_mx_p
    - sprintf
    - gf_ftell
    - gf_th_run
    - gf_isom_set_single_moof_mode
    - gf_mx_v
    - gf_mx_del
    - gf_free
    - gf_realloc
    - fread
    - gf_sys_close
    - gf_sys_init
    - gf_fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 3
    argNames:
    - ts
    - evt_type
    - param
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 66
    functionName: mpedemux_on_event
    functionSourceFile: /src/gpac/applications/testapps/mpedemux/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mpedemux_on_event(GF_M2TS_Demuxer *ts, u32 evt_type, void
      *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpedemux/main.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: usage
    functionSourceFile: /src/gpac/applications/testapps/mpedemux/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/gpac/applications/testapps/mpedemux/main.c:80,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/mpedemux/main.c:89,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/mpedemux/main.c:93,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/testapps/mpedemux/main.c:84,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/applications/testapps/mpedemux/main.c:85,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/testapps/mpedemux/main.c:96,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/applications/testapps/mpedemux/main.c:99,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/mpedemux/main.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/mpedemux/main.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - gf_m2ts_demux_del
    - fread
    - GF_SAFEALLOC
    - gf_free
    - gf_fopen
    - usage
    - gf_m2ts_demux_new
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:11,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:23,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:20,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:17,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:20,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:23,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:26,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:26,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:29,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:29,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:34,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 40
    functionName: on_m2ts_event
    functionSourceFile: /src/gpac/applications/testapps/mpeg2ts/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - fprintf
    - gf_fwrite
    linkageType: ''
    returnType: void
    signature: 'void on_m2ts_event(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_reset_parsers
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:66,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:67,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:76,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:80,1
    - Dst: fseek
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:52,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:49,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:58,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:70,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:81,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:48,1
    - Dst: ftell
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:53,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:61,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:78,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:73,1
    - Dst: fseek
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:54,1
    - Dst: feof
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:57,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:65,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:82,1
    - Dst: feof
      Src: /src/gpac/applications/testapps/mpeg2ts/main.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 84
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/mpeg2ts/main.c
    functionUses: []
    functionsReached:
    - fseek
    - gf_m2ts_process_data
    - feof
    - gf_set_progress
    - gf_m2ts_demux_del
    - gf_fclose
    - fread
    - ftell
    - gf_fseek
    - gf_fopen
    - gf_m2ts_demux_new
    - gf_m2ts_reset_parsers
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:51,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:52,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:55,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:56,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:53,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:57,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - as
    argTypes:
    - AdobeStream*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: adobe_gen_stream_manifest
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/f4m.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err adobe_gen_stream_manifest(AdobeStream *as) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_calloc
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:65,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:75,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:71,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:74,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:72,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:76,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:79,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:83,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:86,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:87,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:89,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:93,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:91,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:96,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:90,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 100
    functionName: adobe_alloc_multirate_manifest
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/f4m.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - assert
    - gf_list_del
    - fprintf
    - sprintf
    - gf_calloc
    - gf_list_new
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: AdobeMultirate*
    signature: 'AdobeMultirate *adobe_alloc_multirate_manifest(char *id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:140,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:141,1
    - Dst: fwrite
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:145,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:147,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:166,1
    - Dst: gf_base64_encode
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:144,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:158,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:155,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:132,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:134,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:136,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:135,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:133,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:138,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:150,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:148,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:164,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:169,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:139,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:143,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:157,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:156,1
    - Dst: adobe_gen_stream_manifest
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - am
    - bootstrap
    - bootstrap_size
    argTypes:
    - AdobeMultirate*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 172
    functionName: adobe_gen_multirate_manifest
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/f4m.c
    functionUses: []
    functionsReached:
    - assert
    - gf_list_get
    - adobe_gen_stream_manifest
    - gf_list_count
    - fprintf
    - sprintf
    - gf_fwrite
    - fwrite
    - gf_fclose
    - gf_base64_encode
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adobe_gen_multirate_manifest(AdobeMultirate* am, char *bootstrap,
      size_t bootstrap_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:107,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:110,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:109,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:111,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:113,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:115,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:116,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:118,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/f4m.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - am
    argTypes:
    - AdobeMultirate*
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: adobe_free_multirate_manifest
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/f4m.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - assert
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void adobe_free_multirate_manifest(AdobeMultirate *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: usage
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void usage(const char * progname) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/gpac/applications/testapps/ts2hds/main.c:149,1
    - Dst: adobe_alloc_multirate_manifest
      Src: /src/gpac/applications/testapps/ts2hds/main.c:153,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:162,1
    - Dst: abst_New
      Src: /src/gpac/applications/testapps/ts2hds/main.c:181,1
    - Dst: abst_Read
      Src: /src/gpac/applications/testapps/ts2hds/main.c:200,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:251,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:231,1
    - Dst: abst_dump
      Src: /src/gpac/applications/testapps/ts2hds/main.c:213,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/testapps/ts2hds/main.c:268,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:185,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:241,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:260,1
    - Dst: adobe_gen_multirate_manifest
      Src: /src/gpac/applications/testapps/ts2hds/main.c:277,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:252,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/testapps/ts2hds/main.c:238,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/main.c:167,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/ts2hds/main.c:186,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:187,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:192,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:270,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/testapps/ts2hds/main.c:249,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:240,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/ts2hds/main.c:193,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/ts2hds/main.c:165,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/main.c:170,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/main.c:191,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/testapps/ts2hds/main.c:207,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:228,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/testapps/ts2hds/main.c:206,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:231,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/testapps/ts2hds/main.c:268,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:260,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/ts2hds/main.c:130,1
    - Dst: sprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:267,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/testapps/ts2hds/main.c:287,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/ts2hds/main.c:298,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:232,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:240,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:261,1
    - Dst: gf_base64_decode
      Src: /src/gpac/applications/testapps/ts2hds/main.c:166,1
    - Dst: gf_base64_decode
      Src: /src/gpac/applications/testapps/ts2hds/main.c:189,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/ts2hds/main.c:195,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/ts2hds/main.c:203,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:279,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/ts2hds/main.c:229,1
    - Dst: gf_free
      Src: /src/gpac/applications/testapps/ts2hds/main.c:293,1
    - Dst: adobe_free_multirate_manifest
      Src: /src/gpac/applications/testapps/ts2hds/main.c:290,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/ts2hds/main.c:140,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:164,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:199,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:212,1
    - Dst: abst_del
      Src: /src/gpac/applications/testapps/ts2hds/main.c:215,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/testapps/ts2hds/main.c:274,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/ts2hds/main.c:138,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/main.c:184,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/main.c:168,1
    - Dst: gf_base64_encode
      Src: /src/gpac/applications/testapps/ts2hds/main.c:210,1
    - Dst: fwrite
      Src: /src/gpac/applications/testapps/ts2hds/main.c:211,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/testapps/ts2hds/main.c:204,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/main.c:279,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/testapps/ts2hds/main.c:201,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:280,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:251,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/main.c:271,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/main.c:161,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/testapps/ts2hds/main.c:163,1
    - Dst: fread
      Src: /src/gpac/applications/testapps/ts2hds/main.c:188,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/testapps/ts2hds/main.c:194,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/testapps/ts2hds/main.c:197,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/testapps/ts2hds/main.c:209,1
    - Dst: gf_media_fragment_file
      Src: /src/gpac/applications/testapps/ts2hds/main.c:268,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:270,1
    - Dst: parse_args
      Src: /src/gpac/applications/testapps/ts2hds/main.c:148,1
    - Dst: fwrite
      Src: /src/gpac/applications/testapps/ts2hds/main.c:169,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/main.c:214,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/ts2hds/main.c:129,1
    - Dst: abst_Write
      Src: /src/gpac/applications/testapps/ts2hds/main.c:205,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/testapps/ts2hds/main.c:208,1
    - Dst: adobize_segment
      Src: /src/gpac/applications/testapps/ts2hds/main.c:258,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 135
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 301
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/main.c
    functionUses: []
    functionsReached:
    - abst_dump
    - memset
    - gf_media_import
    - gf_isom_get_timescale
    - adobe_alloc_multirate_manifest
    - abst_Read
    - gf_fseek
    - abst_Write
    - parse_args
    - gf_bs_del
    - abst_del
    - gf_error_to_string
    - adobe_gen_multirate_manifest
    - fwrite
    - gf_log_set_tool_level
    - gf_fopen
    - usage
    - assert
    - gf_bs_get_position
    - fprintf
    - abst_New
    - gf_bs_new
    - sprintf
    - gf_ftell
    - gf_media_fragment_file
    - gf_free
    - gf_isom_delete
    - gf_base64_decode
    - gf_isom_get_duration
    - adobize_segment
    - fread
    - gf_isom_open
    - gf_sys_close
    - gf_sys_init
    - gf_fclose
    - adobe_free_multirate_manifest
    - gf_base64_encode
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/ts2hds/main.c:66,1
    - Dst: strstr
      Src: /src/gpac/applications/testapps/ts2hds/main.c:66,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/ts2hds/main.c:69,1
    - Dst: usage
      Src: /src/gpac/applications/testapps/ts2hds/main.c:67,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/ts2hds/main.c:73,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/ts2hds/main.c:77,1
    - Dst: atoi
      Src: /src/gpac/applications/testapps/ts2hds/main.c:79,1
    - Dst: strnicmp
      Src: /src/gpac/applications/testapps/ts2hds/main.c:80,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/testapps/ts2hds/main.c:82,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/testapps/ts2hds/main.c:83,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:86,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:101,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:107,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/main.c:109,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/testapps/ts2hds/main.c:84,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 6
    argNames:
    - argc
    - argv
    - input
    - output
    - curr_time
    - segnum
    argTypes:
    - int
    - char**
    - char**
    - char**
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 112
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 112
    functionName: parse_args
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/main.c
    functionUses: []
    functionsReached:
    - usage
    - fprintf
    - gf_sys_close
    - atoi
    - gf_sys_init
    - strnicmp
    - gf_log_set_tool_level
    - strstr
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE GF_Err parse_args(int argc, char **argv, char **input,
      char **output, u64 *curr_time, u32 *segnum) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: abst_New
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:43,1
    - Dst: afrt_New
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:46,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:47,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:50,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:57,1
    - Dst: size_registry
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:85,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:74,1
    - Dst: get_box_reg_idx
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:60,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:104,1
    - Dst: get_box_reg_idx
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:107,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:187,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:188,1
    - Dst: abst_Write
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:172,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:170,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:165,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:175,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:171,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:189,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:76,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:76,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:82,1
    - Dst: get_box_reg_idx
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:85,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:113,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:122,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:122,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:130,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:143,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:143,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:157,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:165,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:176,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:190,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:157,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:115,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:188,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:187,1
    - Dst: get_box_reg_idx
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:133,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:69,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:90,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:115,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:116,1
    - Dst: size_registry
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:133,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:134,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:141,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:150,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:150,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:155,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:166,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:158,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:144,1
    - Dst: afra_New
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:41,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:42,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:45,1
    - Dst: asrt_New
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:44,1
    - Dst: size_registry
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:60,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:64,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:77,1
    - Dst: size_registry
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:107,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:120,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:123,1
    - Dst: abst_Size
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:174,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:179,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:148,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:189,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:190,1
    - Dst: assert
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:151,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/ts2hds/f4v.c:174,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 150
    argCount: 2
    argNames:
    - isom_file
    - ctx
    argTypes:
    - GF_ISOFile*
    - AdobeHDSCtx*
    constantsTouched: []
    func_position:
      end: 193
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 193
    functionName: adobize_segment
    functionSourceFile: /src/gpac/applications/testapps/ts2hds/f4v.c
    functionUses: []
    functionsReached:
    - asrt_New
    - gf_list_add
    - gf_malloc
    - gf_isom_get_timescale
    - abst_Write
    - abst_Size
    - gf_bs_del
    - GF_4CC
    - gf_error_to_string
    - gf_isom_modify_alternate_brand
    - size_registry
    - assert
    - afrt_New
    - fprintf
    - abst_New
    - gf_bs_new
    - get_box_reg_idx
    - afra_New
    - gf_isom_get_duration
    - gf_calloc
    - gf_isom_set_brand_info
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adobize_segment(GF_ISOFile *isom_file, AdobeHDSCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:4,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 12
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/testapps/largefile/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:40,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/testapps/largefile/main.c:44,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/testapps/largefile/main.c:55,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/applications/testapps/largefile/main.c:61,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/testapps/largefile/main.c:71,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/largefile/main.c:29,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/largefile/main.c:33,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/testapps/largefile/main.c:42,1
    - Dst: memset
      Src: /src/gpac/applications/testapps/largefile/main.c:56,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/largefile/main.c:28,1
    - Dst: atof
      Src: /src/gpac/applications/testapps/largefile/main.c:30,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:44,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/applications/testapps/largefile/main.c:53,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/testapps/largefile/main.c:44,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/applications/testapps/largefile/main.c:49,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/applications/testapps/largefile/main.c:48,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:64,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/testapps/largefile/main.c:76,1
    - Dst: strcmp
      Src: /src/gpac/applications/testapps/largefile/main.c:27,1
    - Dst: PrintUsage
      Src: /src/gpac/applications/testapps/largefile/main.c:34,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/applications/testapps/largefile/main.c:51,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/testapps/largefile/main.c:67,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:70,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:75,1
    - Dst: fprintf
      Src: /src/gpac/applications/testapps/largefile/main.c:78,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/gpac/applications/testapps/largefile/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_odf_desc_esd_new
    - memset
    - gf_isom_add_sample
    - gf_error_to_string
    - fprintf
    - strcmp
    - gf_isom_close
    - gf_isom_open
    - gf_isom_new_mpeg4_description
    - gf_isom_new_track
    - gf_isom_last_error
    - gf_isom_sample_new
    - gf_isom_sample_del
    - PrintUsage
    - gf_isom_delete
    - atof
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:242,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:259,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:265,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:268,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/gpac/compositor_tools.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: mp4c_help
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void mp4c_help(u32 argmode) '
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: sensor_stop
      Src: /src/gpac/applications/gpac/compositor_tools.c:508,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:611,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:611,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:624,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:653,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:662,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:663,1
    - Dst: gf_sc_scene_update
      Src: /src/gpac/applications/gpac/compositor_tools.c:748,1
    - Dst: set_window_caption
      Src: /src/gpac/applications/gpac/compositor_tools.c:768,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:777,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:809,1
    - Dst: gf_sc_switch_quality
      Src: /src/gpac/applications/gpac/compositor_tools.c:673,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:803,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/applications/gpac/compositor_tools.c:794,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:741,1
    - Dst: gf_sc_switch_quality
      Src: /src/gpac/applications/gpac/compositor_tools.c:679,1
    - Dst: gf_sc_navigate_to
      Src: /src/gpac/applications/gpac/compositor_tools.c:772,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/compositor_tools.c:797,1
    - Dst: gf_assert
      Src: /src/gpac/applications/gpac/compositor_tools.c:796,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:799,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/applications/gpac/compositor_tools.c:795,1
    - Dst: sensor_create
      Src: /src/gpac/applications/gpac/compositor_tools.c:500,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/compositor_tools.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/compositor_tools.c:531,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/compositor_tools.c:534,1
    - Dst: switch_bench
      Src: /src/gpac/applications/gpac/compositor_tools.c:593,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/applications/gpac/compositor_tools.c:614,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:617,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:560,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:614,1
    - Dst: switch_bench
      Src: /src/gpac/applications/gpac/compositor_tools.c:602,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:661,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:761,1
    - Dst: gf_sc_navigate_to
      Src: /src/gpac/applications/gpac/compositor_tools.c:782,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:785,1
    - Dst: do_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:698,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:789,1
    - Dst: do_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:693,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/compositor_tools.c:797,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/compositor_tools.c:801,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:800,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:531,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:585,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:632,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:640,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:641,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:655,1
    - Dst: gf_sc_toggle_addons
      Src: /src/gpac/applications/gpac/compositor_tools.c:689,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:713,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/applications/gpac/compositor_tools.c:725,1
    - Dst: gf_sc_is_supported_url
      Src: /src/gpac/applications/gpac/compositor_tools.c:780,1
    - Dst: set_window_caption
      Src: /src/gpac/applications/gpac/compositor_tools.c:727,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:781,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:651,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:816,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:663,1
    - Dst: sensor_start
      Src: /src/gpac/applications/gpac/compositor_tools.c:506,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/gpac/compositor_tools.c:554,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:560,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:617,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:620,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:628,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:636,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:642,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:644,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:650,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:806,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:664,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:620,1
    - Dst: do_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:703,1
    - Dst: gf_sc_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:716,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:718,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/compositor_tools.c:804,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 240
    argCount: 2
    argNames:
    - ptr
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 822
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 822
    functionName: mp4c_event_proc
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sc_get_time_in_ms
    - gf_sc_navigate_to
    - gf_sc_toggle_addons
    - gf_sc_get_fps
    - GF_LOG
    - sensor_start
    - gf_read_line_input
    - gf_sc_switch_quality
    - gf_sc_is_supported_url
    - gf_error_to_string
    - set_window_caption
    - gf_assert
    - gf_sc_set_option
    - sensor_create
    - gf_sc_set_size
    - do_set_speed
    - gf_set_progress
    - fprintf
    - sensor_stop
    - gf_sc_get_option
    - switch_bench
    - gf_sc_user_event
    - gf_sc_scene_update
    - gf_fatal_assert
    - print_time
    - gf_sc_set_speed
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4c_event_proc(void *ptr, GF_Event *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:864,1
    - Dst: update_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - cbk
    - ll
    - lm
    - fmt
    - list
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 867
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 867
    functionName: on_rti_log
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - update_rti
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void on_rti_log(void *cbk, GF_LOG_Level ll, GF_LOG_Tool lm,
      const char *fmt, va_list list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: update_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:1152,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/compositor_tools.c:1168,1
    - Dst: mp4c_coverage
      Src: /src/gpac/applications/gpac/compositor_tools.c:1158,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/compositor_tools.c:1154,1
    - Dst: close_console
      Src: /src/gpac/applications/gpac/compositor_tools.c:1163,1
    - Dst: carbon_remove_hook
      Src: /src/gpac/applications/gpac/compositor_tools.c:1176,1
    - Dst: sensor_stop
      Src: /src/gpac/applications/gpac/compositor_tools.c:1182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1186
    functionName: unload_compositor
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - close_console
    - sensor_stop
    - gf_free
    - gf_fclose
    - update_rti
    - carbon_remove_hook
    - mp4c_coverage
    linkageType: ''
    returnType: void
    signature: 'void unload_compositor() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1190,1
    - Dst: gf_sc_play_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1197,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/compositor_tools.c:1204,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/applications/gpac/compositor_tools.c:1193,1
    - Dst: gf_sc_get_url
      Src: /src/gpac/applications/gpac/compositor_tools.c:1202,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/applications/gpac/compositor_tools.c:1205,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1206,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/compositor_tools.c:1207,1
    - Dst: gf_sc_scene_update
      Src: /src/gpac/applications/gpac/compositor_tools.c:1213,1
    - Dst: gf_sc_select_service
      Src: /src/gpac/applications/gpac/compositor_tools.c:1217,1
    - Dst: update_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:1222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1225
    functionName: mp4c_task
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_get_url
    - gf_strdup
    - gf_sc_play_from_time
    - gf_sc_scene_update
    - gf_sc_disconnect
    - gf_sc_connect_from_time
    - gf_sc_select_service
    - gf_sc_get_option
    - gf_free
    - update_rti
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4c_task() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/gpac/applications/gpac/compositor_tools.c:1581,1
    - Dst: CloseHandle
      Src: /src/gpac/applications/gpac/compositor_tools.c:1584,1
    - Dst: GetModuleFileNameEx
      Src: /src/gpac/applications/gpac/compositor_tools.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pid
    - fname
    - sz
    argTypes:
    - DWORD
    - PUCHAR
    - DWORD
    constantsTouched: []
    func_position:
      end: 1586
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1586
    functionName: getProcessName
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - GetModuleFileNameEx
    - OpenProcess
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void getProcessName(DWORD pid, PUCHAR fname, DWORD sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - char_code
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: get_gui_cmd
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MP4C_Command
    signature: 'static MP4C_Command get_gui_cmd(u8 char_code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/compositor_tools.c:871,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/compositor_tools.c:872,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:876,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:875,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:874,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/gpac/compositor_tools.c:880,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/gpac/compositor_tools.c:881,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/compositor_tools.c:883,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/compositor_tools.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - rti_file
    - use_rtix
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 888
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 888
    functionName: init_rti_logs
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_log_set_callback
    - GF_LOG
    - gf_sys_clock_high_res
    - gf_fclose
    - gf_log_set_tool_level
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'static void init_rti_logs(char *rti_file, Bool use_rtix) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_main_pid
      Src: /src/gpac/applications/gpac/compositor_tools.c:385,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:394,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/compositor_tools.c:387,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/applications/gpac/compositor_tools.c:391,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:395,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/applications/gpac/compositor_tools.c:397,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:399,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/applications/gpac/compositor_tools.c:401,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:403,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/applications/gpac/compositor_tools.c:405,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:408,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/applications/gpac/compositor_tools.c:414,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/applications/gpac/compositor_tools.c:415,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:423,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:407,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/compositor_tools.c:409,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/gpac/compositor_tools.c:416,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/compositor_tools.c:416,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 424
    functionName: set_window_caption
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_sc_user_event
    - gf_filter_pid_get_property
    - gf_strdup
    - sprintf
    - gf_filter_pid_get_info_str
    - gf_file_basename
    - gf_free
    - gf_sc_get_main_pid
    linkageType: ''
    returnType: void
    signature: 'static void set_window_caption() '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:912,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:923,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:936,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:940,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:943,1
    - Dst: atof
      Src: /src/gpac/applications/gpac/compositor_tools.c:944,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:948,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:915,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:935,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:939,1
    - Dst: atof
      Src: /src/gpac/applications/gpac/compositor_tools.c:941,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:910,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:917,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:938,1
    - Dst: FLT2FIX
      Src: /src/gpac/applications/gpac/compositor_tools.c:944,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:951,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:956,1
    - Dst: get_s32
      Src: /src/gpac/applications/gpac/compositor_tools.c:916,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:937,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:957,1
    - Dst: get_u32
      Src: /src/gpac/applications/gpac/compositor_tools.c:969,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 2
    argNames:
    - arg
    - arg_val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 978
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 978
    functionName: mp4c_parse_arg
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - sscanf
    - strcmp
    - FLT2FIX
    - get_u32
    - get_s32
    - atof
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4c_parse_arg(char *arg, char *arg_val) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:829,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:836,1
    - Dst: gf_getch
      Src: /src/gpac/applications/gpac/compositor_tools.c:837,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:839,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:845,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:853,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:849,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:854,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:840,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:850,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:846,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:851,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:847,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:856,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:856,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:838,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:834,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:841,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:843,1
    - Dst: gf_getch
      Src: /src/gpac/applications/gpac/compositor_tools.c:844,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:848,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:852,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 857
    functionName: set_navigation
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - fprintf
    - gf_sc_get_option
    - gf_sc_set_option
    - gf_getch
    linkageType: ''
    returnType: void
    signature: 'static void set_navigation() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - '!'
    - (arg, "-size")
    argTypes:
    - stricmp
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: if
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: else
    signature: 'else if (!stricmp(arg, "-size")) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1486,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1488,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1510,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/compositor_tools.c:1523,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1527,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1527,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1532,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/compositor_tools.c:1538,1
    - Dst: gf_sc_get_offscreen_buffer
      Src: /src/gpac/applications/gpac/compositor_tools.c:1504,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1518,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/compositor_tools.c:1530,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1518,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1539,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/compositor_tools.c:1542,1
    - Dst: gf_sc_release_screen_buffer
      Src: /src/gpac/applications/gpac/compositor_tools.c:1543,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/compositor_tools.c:1545,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1490,1
    - Dst: gf_sc_get_offscreen_buffer
      Src: /src/gpac/applications/gpac/compositor_tools.c:1511,1
    - Dst: gf_sc_get_screen_buffer
      Src: /src/gpac/applications/gpac/compositor_tools.c:1514,1
    - Dst: gf_sc_release_screen_buffer
      Src: /src/gpac/applications/gpac/compositor_tools.c:1505,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1513,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/compositor_tools.c:1513,1
    - Dst: gf_img_png_enc
      Src: /src/gpac/applications/gpac/compositor_tools.c:1525,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/gpac/compositor_tools.c:1535,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1536,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1536,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1549,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - for_coverage
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 1550
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1550
    functionName: mp4c_take_screenshot
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_error_to_string
    - fprintf
    - scanf
    - sprintf
    - gf_sc_get_screen_buffer
    - gf_fwrite
    - gf_file_delete
    - gf_sc_get_offscreen_buffer
    - gf_sc_get_option
    - gf_img_png_enc
    - gf_sc_release_screen_buffer
    - gf_fclose
    - gf_net_get_utc
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mp4c_take_screenshot(Bool for_coverage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSysColor
      Src: /src/gpac/applications/gpac/compositor_tools.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: get_sys_col
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - GetSysColor
    linkageType: ''
    returnType: u32
    signature: 'u32 get_sys_col(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/gpac/compositor_tools.c:285,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - urls
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: gpac_open_urls
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sc_user_event
    linkageType: ''
    returnType: void
    signature: 'void gpac_open_urls(const char *urls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - time
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: print_time
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void print_time(u64 time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:460,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/gpac/compositor_tools.c:464,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:462,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:464,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/gpac/compositor_tools.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desired_speed
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: do_set_speed
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_set_speed
    - FIX2FLT
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void do_set_speed(Fixed desired_speed) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:989,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:995,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/applications/gpac/compositor_tools.c:994,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:997,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/compositor_tools.c:990,1
    - Dst: carbon_set_hook
      Src: /src/gpac/applications/gpac/compositor_tools.c:1004,1
    - Dst: init_rti_logs
      Src: /src/gpac/applications/gpac/compositor_tools.c:1010,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:1013,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1014,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1046,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/compositor_tools.c:1020,1
    - Dst: gf_opts_discard_changes
      Src: /src/gpac/applications/gpac/compositor_tools.c:1017,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/compositor_tools.c:1037,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/gpac/compositor_tools.c:1052,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1038,1
    - Dst: update_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:1041,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1054
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1054
    functionName: load_compositor
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_opts_discard_changes
    - init_rti_logs
    - fprintf
    - sprintf
    - gf_sc_connect_from_time
    - gf_opts_set_key
    - gf_sys_get_rti
    - gf_sys_clock
    - carbon_set_hook
    - update_rti
    - gf_sc_set_option
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void load_compositor(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_world_info
      Src: /src/gpac/applications/gpac/compositor_tools.c:1068,1
    - Dst: set_navigation
      Src: /src/gpac/applications/gpac/compositor_tools.c:1075,1
    - Dst: gf_sc_get_url
      Src: /src/gpac/applications/gpac/compositor_tools.c:1089,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1096,1
    - Dst: mp4c_take_screenshot
      Src: /src/gpac/applications/gpac/compositor_tools.c:1098,1
    - Dst: gf_sc_add_object
      Src: /src/gpac/applications/gpac/compositor_tools.c:1101,1
    - Dst: gf_sc_set_viewpoint
      Src: /src/gpac/applications/gpac/compositor_tools.c:1104,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1107,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1138,1
    - Dst: gf_sc_navigate_to
      Src: /src/gpac/applications/gpac/compositor_tools.c:1139,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1115,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1121,1
    - Dst: gf_sc_get_current_service_id
      Src: /src/gpac/applications/gpac/compositor_tools.c:1073,1
    - Dst: get_gui_cmd
      Src: /src/gpac/applications/gpac/compositor_tools.c:1077,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/compositor_tools.c:1079,1
    - Dst: gf_sc_paste_text
      Src: /src/gpac/applications/gpac/compositor_tools.c:1094,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1083,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1085,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1087,1
    - Dst: gf_sc_scene_update
      Src: /src/gpac/applications/gpac/compositor_tools.c:1100,1
    - Dst: gf_sc_get_viewpoint
      Src: /src/gpac/applications/gpac/compositor_tools.c:1103,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/compositor_tools.c:1108,1
    - Dst: do_set_speed
      Src: /src/gpac/applications/gpac/compositor_tools.c:1142,1
    - Dst: mp4c_handle_prompt
      Src: /src/gpac/applications/gpac/compositor_tools.c:1065,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/compositor_tools.c:1069,1
    - Dst: gf_sc_has_text_selection
      Src: /src/gpac/applications/gpac/compositor_tools.c:1092,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1126,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1130,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1134,1
    - Dst: gpac_open_urls
      Src: /src/gpac/applications/gpac/compositor_tools.c:1140,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1112,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/compositor_tools.c:1067,1
    - Dst: mp4c_handle_prompt
      Src: /src/gpac/applications/gpac/compositor_tools.c:1066,1
    - Dst: gf_sc_dump_scene
      Src: /src/gpac/applications/gpac/compositor_tools.c:1072,1
    - Dst: gf_sc_toggle_addons
      Src: /src/gpac/applications/gpac/compositor_tools.c:1074,1
    - Dst: gf_sc_get_simulation_frame_rate
      Src: /src/gpac/applications/gpac/compositor_tools.c:1090,1
    - Dst: gf_sc_get_selected_text
      Src: /src/gpac/applications/gpac/compositor_tools.c:1093,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:1117,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1136,1
    - Dst: switch_bench
      Src: /src/gpac/applications/gpac/compositor_tools.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1143
    functionName: mp4c_coverage
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_navigate_to
    - gf_sc_toggle_addons
    - memset
    - gf_sc_add_object
    - gf_sc_has_text_selection
    - gf_sc_get_simulation_frame_rate
    - mp4c_take_screenshot
    - gf_sc_dump_scene
    - gf_sc_get_url
    - gf_sc_paste_text
    - gf_sc_get_world_info
    - gf_list_del
    - mp4c_handle_prompt
    - gf_sc_connect_from_time
    - gf_list_new
    - gf_sc_set_option
    - gf_sc_set_viewpoint
    - gf_sc_get_selected_text
    - do_set_speed
    - set_navigation
    - gf_sc_get_viewpoint
    - gpac_open_urls
    - switch_bench
    - gf_sc_user_event
    - gf_sc_scene_update
    - gf_sc_get_current_service_id
    - get_gui_cmd
    linkageType: ''
    returnType: void
    signature: 'static void mp4c_coverage() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_rti
      Src: /src/gpac/applications/gpac/compositor_tools.c:334,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:340,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:343,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/applications/gpac/compositor_tools.c:341,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/applications/gpac/compositor_tools.c:344,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:348,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:353,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:357,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:359,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/applications/gpac/compositor_tools.c:361,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/gpac/compositor_tools.c:358,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - legend
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 367
    functionName: update_rti
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_get_time_in_ms
    - gf_sc_user_event
    - gf_sc_get_fps
    - fprintf
    - sprintf
    - gf_sys_clock
    - gf_sys_get_rti
    linkageType: ''
    returnType: void
    signature: 'static void update_rti(const char *legend) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateToolhelp32Snapshot
      Src: /src/gpac/applications/gpac/compositor_tools.c:1562,1
    - Dst: Process32Next
      Src: /src/gpac/applications/gpac/compositor_tools.c:1572,1
    - Dst: Process32First
      Src: /src/gpac/applications/gpac/compositor_tools.c:1566,1
    - Dst: CloseHandle
      Src: /src/gpac/applications/gpac/compositor_tools.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pid
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 1577
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1577
    functionName: getParentPID
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - CloseHandle
    - Process32Next
    - CreateToolhelp32Snapshot
    - Process32First
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD getParentPID(DWORD pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:296,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:306,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 313
    functionName: mp4c_print_help
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'static void mp4c_print_help() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_window_caption
      Src: /src/gpac/applications/gpac/compositor_tools.c:449,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - is_on
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: switch_bench
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_set_option
    - set_window_caption
    linkageType: ''
    returnType: void
    signature: 'static void switch_bench(u32 is_on) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:936,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:935,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:938,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:937,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:939,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:940,1
    - Dst: atof
      Src: /src/gpac/applications/gpac/compositor_tools.c:941,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:943,1
    - Dst: FLT2FIX
      Src: /src/gpac/applications/gpac/compositor_tools.c:944,1
    - Dst: atof
      Src: /src/gpac/applications/gpac/compositor_tools.c:944,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:951,1
    - Dst: get_u32
      Src: /src/gpac/applications/gpac/compositor_tools.c:969,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:957,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:948,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:956,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 1
    argNames:
    - LOAD_MP4C
    argTypes:
    - compositor_mode
    constantsTouched: []
    func_position:
      end: 973
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 973
    functionName: if
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - get_u32
    - strcmp
    - FLT2FIX
    - atof
    linkageType: ''
    returnType: else
    signature: 'else if (compositor_mode==LOAD_MP4C) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1319,1
    - Dst: strrchr
      Src: /src/gpac/applications/gpac/compositor_tools.c:1343,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1321,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1413,1
    - Dst: gf_sc_dump_scene
      Src: /src/gpac/applications/gpac/compositor_tools.c:1350,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1360,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1368,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1238,1
    - Dst: set_navigation
      Src: /src/gpac/applications/gpac/compositor_tools.c:1328,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1361,1
    - Dst: gf_log_modify_tools_levels
      Src: /src/gpac/applications/gpac/compositor_tools.c:1432,1
    - Dst: set_window_caption
      Src: /src/gpac/applications/gpac/compositor_tools.c:1394,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1440,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1398,1
    - Dst: init_rti_logs
      Src: /src/gpac/applications/gpac/compositor_tools.c:1241,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1263,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1450,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1440,1
    - Dst: gf_sc_scene_update
      Src: /src/gpac/applications/gpac/compositor_tools.c:1416,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1340,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1417,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1237,1
    - Dst: strnicmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:1349,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1405,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1331,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1354,1
    - Dst: gf_sc_scene_update
      Src: /src/gpac/applications/gpac/compositor_tools.c:1404,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1412,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/applications/gpac/compositor_tools.c:1251,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1258,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1295,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:1320,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1370,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1401,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1384,1
    - Dst: gf_log_get_tools_levels
      Src: /src/gpac/applications/gpac/compositor_tools.c:1424,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1451,1
    - Dst: set_window_caption
      Src: /src/gpac/applications/gpac/compositor_tools.c:1389,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1342,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1425,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1265,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:1279,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1323,1
    - Dst: mp4c_take_screenshot
      Src: /src/gpac/applications/gpac/compositor_tools.c:1464,1
    - Dst: stricmp
      Src: /src/gpac/applications/gpac/compositor_tools.c:1346,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1417,1
    - Dst: get_gui_cmd
      Src: /src/gpac/applications/gpac/compositor_tools.c:1231,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1242,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1264,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1256,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1257,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1277,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1278,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1283,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1294,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1429,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1405,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1381,1
    - Dst: mp4c_print_help
      Src: /src/gpac/applications/gpac/compositor_tools.c:1469,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1371,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1453,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1266,1
    - Dst: gf_sc_play_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1289,1
    - Dst: fflush
      Src: /src/gpac/applications/gpac/compositor_tools.c:1341,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1352,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1441,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1410,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1362,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1284,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1297,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/compositor_tools.c:1426,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1375,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1458,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1448,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1400,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/applications/gpac/compositor_tools.c:1235,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1320,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/compositor_tools.c:1352,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1428,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1442,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/applications/gpac/compositor_tools.c:1378,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1236,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1273,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/applications/gpac/compositor_tools.c:1265,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/compositor_tools.c:1293,1
    - Dst: gf_sc_play_from_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1310,1
    - Dst: print_time
      Src: /src/gpac/applications/gpac/compositor_tools.c:1322,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 179
    argCount: 1
    argNames:
    - char_val
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1475
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1475
    functionName: mp4c_handle_prompt
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - gf_sc_get_time_in_ms
    - scanf
    - gf_sc_play_from_time
    - gf_sc_disconnect
    - mp4c_take_screenshot
    - init_rti_logs
    - gf_sc_dump_scene
    - gf_error_to_string
    - set_window_caption
    - gf_sc_connect_from_time
    - mp4c_print_help
    - stricmp
    - gf_sc_set_option
    - fprintf
    - set_navigation
    - gf_sc_get_option
    - strnicmp
    - gf_free
    - gf_sc_scene_update
    - get_gui_cmd
    - strrchr
    - gf_log_get_tools_levels
    - gf_log_modify_tools_levels
    - print_time
    - fflush
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4c_handle_prompt(u8 char_val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/gpac/applications/gpac/compositor_tools.c:1593,1
    - Dst: GetProcAddress
      Src: /src/gpac/applications/gpac/compositor_tools.c:1597,1
    - Dst: GetCurrentProcessId
      Src: /src/gpac/applications/gpac/compositor_tools.c:1599,1
    - Dst: getParentPID
      Src: /src/gpac/applications/gpac/compositor_tools.c:1600,1
    - Dst: GetConsoleWindow
      Src: /src/gpac/applications/gpac/compositor_tools.c:1598,1
    - Dst: getProcessName
      Src: /src/gpac/applications/gpac/compositor_tools.c:1604,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/compositor_tools.c:1605,1
    - Dst: getParentPID
      Src: /src/gpac/applications/gpac/compositor_tools.c:1611,1
    - Dst: getProcessName
      Src: /src/gpac/applications/gpac/compositor_tools.c:1616,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/compositor_tools.c:1617,1
    - Dst: ShowWindow
      Src: /src/gpac/applications/gpac/compositor_tools.c:1627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1629
    functionName: gpac_is_global_launch
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - ShowWindow
    - GetCurrentProcessId
    - getProcessName
    - GetConsoleWindow
    - GetProcAddress
    - GetModuleHandle
    - getParentPID
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'Bool gpac_is_global_launch() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PostMessage
      Src: /src/gpac/applications/gpac/compositor_tools.c:1633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: close_console
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - PostMessage
    linkageType: ''
    returnType: void
    signature: 'static void close_console() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/gpac/compositor_tools.c:475,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/applications/gpac/compositor_tools.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - sensorType
    - x
    - y
    - z
    - w
    argTypes:
    - int
    - float
    - float
    - float
    - float
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: ios_sensor_callback
    functionSourceFile: /src/gpac/applications/gpac/compositor_tools.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sc_user_event
    linkageType: ''
    returnType: void
    signature: 'void ios_sensor_callback(int sensorType, float x, float y, float z,
      float w) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1573,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1581,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:1580,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1579,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1575,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1582,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1583,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1584,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1585,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1588,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1592,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1593,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1594,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/applications/gpac/gpac_help.c:1590,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1589,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - nb_caps
    - caps
    argTypes:
    - u32
    - GF_FilterCapability*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1596
    functionName: dump_caps
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_stream_type_name
    - gf_props_dump_val
    - gf_codecid_name
    - gf_4cc_to_str
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_caps(u32 nb_caps, const GF_FilterCapability *caps) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1714,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1716,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:1718,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1723,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac_help.c:1721,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1724,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:1742,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/gpac/gpac_help.c:1744,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:1748,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 1
    argNames:
    - hint
    argTypes:
    - GF_ClassTypeHint
    constantsTouched: []
    func_position:
      end: 1750
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1750
    functionName: get_filter_class
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: FilterCategory*
    signature: 'static FilterCategory *get_filter_class(GF_ClassTypeHint hint) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2998,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3011,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3013,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3023,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3035,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3033,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3047,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3053,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3024,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3028,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:3042,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:3014,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac_help.c:3020,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:3046,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3025,1
    - Dst: get_best_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3031,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3004,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3000,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3005,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3043,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 70
    argCount: 5
    argNames:
    - all_fmts
    - exts
    - is_output
    - reg
    - mime
    argTypes:
    - GF_List*
    - char*
    - Bool
    - GF_FilterRegister*
    - char*
    constantsTouched: []
    func_position:
      end: 3054
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3054
    functionName: push_ext_mime
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - get_best_mime
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_strdup
    - strcmp
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void push_ext_mime(GF_List *all_fmts, const char *exts, Bool
      is_output, const GF_FilterRegister *reg, const char *mime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:3386,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3389,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3390,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3394
    functionName: write_file_extensions
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_codecid_mime
    - gf_opts_set_key
    - gf_codecid_enum
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void write_file_extensions() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3399,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3407,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3406,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:3405,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3415,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3420
    functionName: write_filters_options
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filter_register
    - sprintf
    - gf_opts_set_key
    - strchr
    - gf_fs_filters_registers_count
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void write_filters_options() '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3624,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3614,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3645,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3666,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3661,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3679,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3682,1
    - Dst: check_param_extension
      Src: /src/gpac/applications/gpac/gpac_help.c:3685,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3694,1
    - Dst: check_param_extension
      Src: /src/gpac/applications/gpac/gpac_help.c:3714,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3620,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:3633,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3634,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3646,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3681,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3715,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3610,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3623,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3630,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3652,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3655,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3667,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3675,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3660,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3692,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3703,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3643,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3676,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3683,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3688,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:3712,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3708,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 7
    argNames:
    - param
    - prefix
    - suffix
    - arg_idx
    - argc
    - argv
    - alias_name
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 3717
      start: 3597
    functionDepth: 0
    functionLinenumber: 3597
    functionLinenumberEnd: 3717
    functionName: gpac_expand_alias_arg
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_dynstrcat
    - fprintf
    - check_param_extension
    - strchr
    - atoi
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gpac_expand_alias_arg(char *param, char *prefix, char
      *suffix, int arg_idx, int argc, char **argv, char *alias_name) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1793,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1801,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:1819,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1889,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1902,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1894,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1975,1
    - Dst: MIN
      Src: /src/gpac/applications/gpac/gpac_help.c:2012,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2039,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1826,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1856,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1908,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2018,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2023,1
    - Dst: dump_caps
      Src: /src/gpac/applications/gpac/gpac_help.c:2076,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:1811,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1818,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1849,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1936,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2001,1
    - Dst: strncat
      Src: /src/gpac/applications/gpac/gpac_help.c:2012,1
    - Dst: gf_filter_get_caps
      Src: /src/gpac/applications/gpac/gpac_help.c:2073,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1886,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac_help.c:1791,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2017,1
    - Dst: dump_caps
      Src: /src/gpac/applications/gpac/gpac_help.c:2074,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/gpac/gpac_help.c:1805,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1852,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1942,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2011,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2055,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2061,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1789,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1796,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/gpac/gpac_help.c:1806,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1989,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1897,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2025,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2027,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2050,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1900,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:1805,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:1812,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1831,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1988,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2054,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2060,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1939,1
    - Dst: gf_filter_get_class_hint
      Src: /src/gpac/applications/gpac/gpac_help.c:1766,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:1806,1
    - Dst: gf_filter_get_version
      Src: /src/gpac/applications/gpac/gpac_help.c:1847,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2014,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2024,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2049,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2057,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1867,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1871,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1901,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1931,1
    - Dst: print_filter_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:1966,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2031,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2067,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2079,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1804,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1843,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1844,1
    - Dst: gf_filter_get_args
      Src: /src/gpac/applications/gpac/gpac_help.c:1913,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2000,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2029,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2032,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1880,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1898,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1910,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1905,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1839,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1854,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1906,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1903,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1904,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:1990,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:1797,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:1811,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:1803,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2016,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2028,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1824,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1828,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1833,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1899,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:1981,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2010,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2042,1
    - Dst: gf_filter_get_author
      Src: /src/gpac/applications/gpac/gpac_help.c:1865,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac_help.c:1792,1
    - Dst: get_filter_class
      Src: /src/gpac/applications/gpac/gpac_help.c:1799,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2005,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1980,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1836,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1877,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2041,1
    - Dst: gf_filter_get_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1869,1
    - Dst: gf_filter_get_description
      Src: /src/gpac/applications/gpac/gpac_help.c:1765,1
    - Dst: gf_filter_get_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1768,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:1812,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1895,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1978,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac_help.c:2033,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2009,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 293
    argCount: 4
    argNames:
    - reg
    - argmode
    - filter_inst
    - inst_name
    argTypes:
    - GF_FilterRegister*
    - GF_SysArgMode
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 2080
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 2080
    functionName: print_filter
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - strncmp
    - dump_caps
    - strstr
    - gf_filter_get_args
    - gf_sys_format_help
    - print_filter_arg
    - MIN
    - gf_list_count
    - gf_strdup
    - strcmp
    - exit
    - strcpy
    - gf_fopen
    - get_filter_class
    - gf_list_insert
    - gf_list_get
    - fprintf
    - sprintf
    - strchr
    - gf_filter_get_description
    - gf_filter_get_caps
    - gf_filter_get_help
    - strcat
    - gf_filter_get_author
    - strncat
    - gf_filter_get_class_hint
    - gf_filter_get_version
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void print_filter(const GF_FilterRegister *reg, GF_SysArgMode
      argmode, GF_Filter *filter_inst, char *inst_name) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3059,1
    - Dst: push_ext_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3088,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3161,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3156,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3175,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3200,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3201,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3213,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3229,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3234,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3243,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3245,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3223,1
    - Dst: push_ext_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3146,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3149,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3155,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3168,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3159,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3172,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3191,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3197,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3199,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3207,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3239,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3252,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3251,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3219,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac_help.c:3244,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3226,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3058,1
    - Dst: push_ext_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3086,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3060,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3165,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3170,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3178,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3184,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3188,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3216,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3221,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3222,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3247,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3237,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3246,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3233,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:3072,1
    - Dst: push_ext_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:3144,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3150,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3157,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3158,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3162,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3179,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3181,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3204,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3211,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3248,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3249,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 238
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 3253
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3253
    functionName: dump_all_formats
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filter_register
    - gf_list_add
    - gf_sys_format_help
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - sprintf
    - strchr
    - push_ext_mime
    - gf_free
    - gf_list_new
    - gf_fs_filters_registers_count
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void dump_all_formats(GF_SysArgMode argmode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3431,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3435,1
    - Dst: gf_crc_32
      Src: /src/gpac/applications/gpac/gpac_help.c:3438,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3434,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac_help.c:3437,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:3438,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3440,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3448,1
    - Dst: gf_crc_32
      Src: /src/gpac/applications/gpac/gpac_help.c:3449,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:3449,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3452,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3453,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - cfg
    - sec_name
    - key_name
    - key_val
    argTypes:
    - GF_Config*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3456
      start: 3428
    functionDepth: 0
    functionLinenumber: 3428
    functionLinenumberEnd: 3456
    functionName: gpac_lang_set_key
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sys_format_help
    - gf_cfg_set_key
    - gf_crc_32
    - sprintf
    - gf_cfg_get_key
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void gpac_lang_set_key(GF_Config *cfg, const char *sec_name,
      const char *key_name, const char *key_val) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/gpac_help.c:3726,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3733,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3747,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:3750,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:3735,1
    - Dst: gf_assert
      Src: /src/gpac/applications/gpac/gpac_help.c:3756,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3760,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:3762,1
    - Dst: push_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:3763,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:3771,1
    - Dst: check_param_extension
      Src: /src/gpac/applications/gpac/gpac_help.c:3780,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3778,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3790,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3783,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:3773,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 60
    argCount: 2
    argNames:
    - o_argc
    - o_argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3792
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3792
    functionName: gpac_expand_alias
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_find
    - strcmp
    - check_param_extension
    - push_arg
    - strchr
    - gf_free
    - gf_assert
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool gpac_expand_alias(int o_argc, char **o_argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:3798,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:3801,1
    - Dst: MIN
      Src: /src/gpac/applications/gpac/gpac_help.c:3808,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:3806,1
    - Dst: strncpy
      Src: /src/gpac/applications/gpac/gpac_help.c:3808,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:3810,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3814,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:3815,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:3817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - arg
    - override_seps
    argTypes:
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 3821
      start: 3795
    functionDepth: 0
    functionLinenumber: 3795
    functionLinenumberEnd: 3821
    functionName: parse_sep_set
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - MIN
    - GF_LOG
    - strchr
    - strncpy
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void parse_sep_set(const char *arg, Bool *override_seps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:969,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:969,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:971,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: gpac_defer_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    - gf_sys_localized
    linkageType: ''
    returnType: void
    signature: 'void gpac_defer_help() '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1256,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1282,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1305,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1307,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1312,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1301,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1332,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1341,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1346,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:1355,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1251,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:1254,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1286,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1304,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1319,1
    - Dst: gf_sys_get_options
      Src: /src/gpac/applications/gpac/gpac_help.c:1327,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1363,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1371,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1379,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1397,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1381,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1403,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1265,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1298,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1334,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1364,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1376,1
    - Dst: gf_props_get_description
      Src: /src/gpac/applications/gpac/gpac_help.c:1389,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1393,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1405,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1400,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1260,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1263,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1289,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1291,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1321,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1316,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1333,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1344,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1419,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 146
    argCount: 3
    argNames:
    - fname
    - is_help
    - filter_only
    argTypes:
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1425
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1425
    functionName: gpac_suggest_filter
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filter_register
    - gf_sys_get_options
    - gf_sys_format_help
    - GF_LOG
    - gf_opts_get_key_count
    - strcmp
    - gf_props_get_description
    - gf_sys_word_match
    - gf_opts_get_key_name
    - gf_fs_filters_registers_count
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool gpac_suggest_filter(char *fname, Bool is_help, Bool filter_only) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_enum_unmapped_options
      Src: /src/gpac/applications/gpac/gpac_help.c:1530,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1537,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1535,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/gpac/gpac_help.c:1544,1
    - Dst: gf_opts_get_filename
      Src: /src/gpac/applications/gpac/gpac_help.c:1543,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1545,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:1546,1
    - Dst: gpac_suggest_filter_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:1551,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac_help.c:1553,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1554
    functionName: gpac_check_session_args
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - GF_LOG
    - gf_cfg_del
    - gpac_suggest_filter_arg
    - gf_cfg_new
    - gf_free
    - gf_fs_enum_unmapped_options
    - gf_opts_get_filename
    linkageType: ''
    returnType: void
    signature: 'void gpac_check_session_args() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2112,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2121,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/gpac/gpac_help.c:2125,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2123,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2116,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2129,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2131,1
    - Dst: gf_filter_get_description
      Src: /src/gpac/applications/gpac/gpac_help.c:2131,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 2134
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2134
    functionName: jsinfo_enum
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - strcmp
    - print_filter
    - strcpy
    - gf_fs_load_filter
    - gf_filter_get_description
    - gf_file_ext_start
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsinfo_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2736,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2738,1
    - Dst: gf_audio_fmt_cicp_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2741
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2741
    functionName: dump_all_audio_cicp
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_cicp_enum
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void dump_all_audio_cicp(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:561,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:567,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:570,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:572,1
    - Dst: gf_modules_count
      Src: /src/gpac/applications/gpac/gpac_help.c:585,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:579,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:593,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:597,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:562,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:564,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:575,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:581,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:598,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:600,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:616,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:618,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:620,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:613,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:560,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:563,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:588,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:584,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:595,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:602,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:607,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:612,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:559,1
    - Dst: gf_modules_get_file_name
      Src: /src/gpac/applications/gpac/gpac_help.c:586,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:589,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:589,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:590,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:592,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:603,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:605,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/applications/gpac/gpac_help.c:608,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/applications/gpac/gpac_help.c:610,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 1
    argNames:
    - mod_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 621
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 621
    functionName: gpac_modules_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - strncmp
    - gf_modules_count
    - gf_sys_print_arg
    - fprintf
    - gf_modules_get_file_name
    - gf_modules_close_interface
    - gf_opts_set_key
    - gf_modules_load_by_name
    linkageType: ''
    returnType: void
    signature: 'void gpac_modules_help(char *mod_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_options
      Src: /src/gpac/applications/gpac/gpac_help.c:1207,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1212,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1222,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1214,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1217,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1224,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1225,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1227,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1230,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - aname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1237
    functionName: gpac_suggest_arg
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_get_options
    - GF_LOG
    - gf_opts_get_key_count
    - gf_sys_word_match
    - gf_opts_get_key_name
    linkageType: ''
    returnType: void
    signature: 'void gpac_suggest_arg(char *aname) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1443,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:1445,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1453,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1457,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1463,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1468,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1506,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1512,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1444,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/gpac_help.c:1442,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:1441,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1447,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1452,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1458,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1477,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1508,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1467,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/applications/gpac/gpac_help.c:1435,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1474,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1481,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac_help.c:1495,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:1486,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1497,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:1517,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 3
    argNames:
    - opts
    - argname
    - atype
    argTypes:
    - GF_Config*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1520
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1520
    functionName: gpac_suggest_filter_arg
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - sprintf
    - GF_LOG
    - gf_cfg_get_key_count
    - strcmp
    - gf_fs_get_filters_count
    - gf_fs_get_filter_stats
    - gf_cfg_get_key
    - strchr
    - gf_free
    - gf_sys_word_match
    - gf_opts_get_bool
    - strstr
    - gf_cfg_get_key_name
    linkageType: ''
    returnType: void
    signature: 'static void gpac_suggest_filter_arg(GF_Config *opts, const char *argname,
      u32 atype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2141,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2142,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2143,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/gpac/gpac_help.c:2144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2147
    functionName: jsinfo_dir_enum
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_enum_directory
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsinfo_dir_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_color_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2725,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2728
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2728
    functionName: dump_all_colors
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_color_enum
    linkageType: ''
    returnType: void
    signature: 'void dump_all_colors(void) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2807,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/gpac/gpac_help.c:2811,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2828,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2836,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2840,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2853,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2855,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2857,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2858,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2901,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2917,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2838,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2861,1
    - Dst: gf_codecid_4cc_type
      Src: /src/gpac/applications/gpac/gpac_help.c:2845,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2907,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2887,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/gpac/gpac_help.c:2913,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2848,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2912,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2873,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/gpac/gpac_help.c:2897,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2755,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2757,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:2810,1
    - Dst: gf_codecid_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2795,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2817,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2839,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/applications/gpac/gpac_help.c:2844,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2846,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2848,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2851,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:2886,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2904,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2920,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2841,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:2872,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:2780,1
    - Dst: gf_codecid_alt
      Src: /src/gpac/applications/gpac/gpac_help.c:2802,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2805,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2808,1
    - Dst: gf_codecid_type
      Src: /src/gpac/applications/gpac/gpac_help.c:2801,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2812,1
    - Dst: gf_list_find
      Src: /src/gpac/applications/gpac/gpac_help.c:2814,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2824,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2825,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2829,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:2856,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2859,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2867,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2902,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2906,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2907,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:2748,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2754,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2756,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2752,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2758,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2759,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2773,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:2781,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/gpac/gpac_help.c:2815,1
    - Dst: gf_fs_check_filter_register_cap
      Src: /src/gpac/applications/gpac/gpac_help.c:2819,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2865,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2903,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2910,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2856,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2866,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2890,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2837,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 183
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 2921
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2921
    functionName: dump_all_codecs
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_4cc_to_str
    - gf_fs_get_filter_register
    - gf_sys_format_help
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_codecid_alt
    - strcmp
    - gf_codecid_enum
    - strcpy
    - gf_list_new
    - gf_list_del_item
    - gf_codecid_mime
    - gf_list_get
    - gf_codecid_4cc_type
    - strchr
    - strcat
    - gf_fs_check_filter_register_cap
    - gf_list_rem
    - gf_codecid_type
    - gf_fs_filters_registers_count
    linkageType: ''
    returnType: void
    signature: 'void dump_all_codecs(GF_SysArgMode argmode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:3573,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3579,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:3583,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3577,1
    - Dst: gpac_expand_alias_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:3586,1
    - Dst: push_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:3593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - szArg
    - arg_idx
    - argc
    - argv
    - alias_name
    argTypes:
    - char*
    - int
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 3595
      start: 3571
    functionDepth: 0
    functionLinenumber: 3571
    functionLinenumberEnd: 3595
    functionName: check_param_extension
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gpac_expand_alias_arg
    - fprintf
    - strchr
    - push_arg
    - strcpy
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_param_extension(char *szArg, int arg_idx, int argc,
      char **argv, char *alias_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1049,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:1049,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1051,1
    - Dst: gf_opts_get_filename
      Src: /src/gpac/applications/gpac/gpac_help.c:1055,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1056
    functionName: gpac_config_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_opts_get_filename
    - gf_sys_format_help
    - gf_sys_localized
    linkageType: ''
    returnType: void
    signature: 'void gpac_config_help() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1114,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:1114,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 1118
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1118
    functionName: gpac_credentials_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_sys_localized
    linkageType: ''
    returnType: void
    signature: 'void gpac_credentials_help(GF_SysArgMode argmode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/gpac/gpac_help.c:1133,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:1136,1
    - Dst: gf_fs_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1148,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac_help.c:1151,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1146,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1180,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/gpac/gpac_help.c:1192,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/applications/gpac/gpac_help.c:1129,1
    - Dst: gf_opts_get_filename
      Src: /src/gpac/applications/gpac/gpac_help.c:1132,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1139,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/applications/gpac/gpac_help.c:1143,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:1155,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:1175,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:1177,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:1182,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:1183,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1184,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/gpac/gpac_help.c:1139,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:1157,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:1171,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:1173,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1187,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1194,1
    - Dst: gf_cfg_force_new
      Src: /src/gpac/applications/gpac/gpac_help.c:1135,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1138,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac_help.c:1140,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1150,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/gpac/gpac_help.c:1144,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:1144,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1176,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:1185,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:1189,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac_help.c:1193,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1195
    functionName: gpac_load_suggested_filter_args
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_cfg_force_new
    - gf_gpac_version
    - gf_opts_get_filename
    - gf_fs_get_filter_register
    - gf_sys_format_help
    - gf_strdup
    - strcmp
    - gf_fs_del
    - gf_dynstrcat
    - gf_cfg_set_key
    - gf_cfg_get_key
    - strchr
    - gf_free
    - gf_url_concatenate
    - gf_cfg_del_section
    - gf_cfg_del
    - gf_fs_new
    - gf_opts_get_bool
    - gf_fs_filters_registers_count
    linkageType: ''
    returnType: void
    signature: 'void gpac_load_suggested_filter_args() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1602,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1617,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1627,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1624,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1625,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1634,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1632,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1641,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1642,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1644,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1609,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1614,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1633,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1638,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1663,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1611,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1613,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1607,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1614,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1616,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1622,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1623,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:1662,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1665,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:1659,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1636,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:1647,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac_help.c:1653,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1664,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - a
    - gen_doc
    argTypes:
    - GF_FilterArgs*
    - u32
    constantsTouched: []
    func_position:
      end: 1666
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1666
    functionName: print_filter_arg
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - memset
    - gf_sys_print_arg
    - strcmp
    - gf_props_get_type_name
    - strchr
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void print_filter_arg(const GF_FilterArgs *a, u32 gen_doc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - gf_strnistr(prop_info->description, pname, pname_len)
    argTypes:
    - gf_strnistr(prop_info->description, pname, pname_len)
    constantsTouched: []
    func_position:
      end: 2564
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2564
    functionName: if
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (gf_strnistr(prop_info->description, pname, pname_len)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:672,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:674,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:681,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:672,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:684,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:686,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/applications/gpac/gpac_help.c:689,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:690,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:691,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:693,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:698,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:700,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:706,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:695,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:703,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:698,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 708
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 708
    functionName: gpac_alias_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_opts_get_key_count
    - gf_sys_localized
    - gf_opts_get_key_name
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void gpac_alias_help(GF_SysArgMode argmode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1671,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1684,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:1671,1
    - Dst: print_filter_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:1686,1
    - Dst: gf_filter_get_args
      Src: /src/gpac/applications/gpac/gpac_help.c:1674,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:1696,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:1697,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1701,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1701,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1703,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac_help.c:1708,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:1708,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 3
    argNames:
    - reg
    - optname
    - filter_inst
    argTypes:
    - GF_FilterRegister*
    - char*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1709
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1709
    functionName: print_filter_single_opt
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - print_filter_arg
    - gf_filter_get_name
    - fprintf
    - strcmp
    - gf_sys_word_match
    - strstr
    - gf_filter_get_args
    linkageType: ''
    returnType: void
    signature: 'static void print_filter_single_opt(const GF_FilterRegister *reg,
      char *optname, GF_Filter *filter_inst) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2235,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2241,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2250,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2284,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2294,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:2314,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/gpac/gpac_help.c:2327,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:2338,1
    - Dst: strncpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2367,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2371,1
    - Dst: patch_mkdocs_yml
      Src: /src/gpac/applications/gpac/gpac_help.c:2382,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2377,1
    - Dst: strstr_nocase
      Src: /src/gpac/applications/gpac/gpac_help.c:2408,1
    - Dst: gpac_suggest_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2432,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:2419,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2427,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2332,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/gpac/gpac_help.c:2378,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2237,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2266,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2270,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2280,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2282,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2288,1
    - Dst: print_filter_single_opt
      Src: /src/gpac/applications/gpac/gpac_help.c:2286,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2267,1
    - Dst: strrchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2311,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/gpac/gpac_help.c:2326,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/gpac/gpac_help.c:2359,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/applications/gpac/gpac_help.c:2354,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac_help.c:2410,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2413,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2326,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2374,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/applications/gpac/gpac_help.c:2356,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/gpac/gpac_help.c:2265,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2267,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2293,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2269,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2295,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2295,1
    - Dst: print_filter_single_opt
      Src: /src/gpac/applications/gpac/gpac_help.c:2298,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2300,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2302,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2311,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2375,1
    - Dst: strlwr
      Src: /src/gpac/applications/gpac/gpac_help.c:2395,1
    - Dst: print_filter_single_opt
      Src: /src/gpac/applications/gpac/gpac_help.c:2330,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2357,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2422,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2245,1
    - Dst: print_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2243,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2248,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2293,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2294,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2295,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/gpac/gpac_help.c:2318,1
    - Dst: gf_filter_get_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2319,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/gpac/gpac_help.c:2360,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:2363,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:2346,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:2401,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2396,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2417,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac_help.c:2349,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:2394,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 218
    argCount: 3
    argNames:
    - argc
    - argv
    - argmode
    argTypes:
    - int
    - char**
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 2435
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2435
    functionName: print_filters
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - gpac_suggest_filter
    - print_filter_single_opt
    - memset
    - strncmp
    - GF_LOG
    - gf_log_set_tools_levels
    - gf_enum_directory
    - strlwr
    - strstr
    - gf_file_ext_start
    - gf_fs_get_filter_register
    - gf_sys_format_help
    - gf_strdup
    - strcmp
    - gf_file_basename
    - strcpy
    - strstr_nocase
    - gf_opts_default_shared_directory
    - gf_filter_get_register
    - strchr
    - gf_free
    - gf_opts_get_key
    - strcat
    - patch_mkdocs_yml
    - print_filter
    - strrchr
    - gf_opts_set_key
    - strncpy
    - gf_fs_load_filter
    - gf_fs_filters_registers_count
    linkageType: ''
    returnType: Bool
    signature: 'Bool print_filters(int argc, char **argv, GF_SysArgMode argmode) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3272,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3288,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3304,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3306,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3295,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3311,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3317,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3327,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3333,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3347,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3358,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3353,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3263,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3277,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:3280,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3290,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3289,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac_help.c:3337,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3340,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3350,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3355,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:3356,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3354,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3267,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/applications/gpac/gpac_help.c:3269,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:3281,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac_help.c:3286,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3305,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3309,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3293,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3307,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3324,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3331,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3287,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac_help.c:3314,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3319,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3334,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3344,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3352,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 104
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 3359
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3359
    functionName: dump_all_proto_schemes
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_opts_get_key_name
    - gf_sys_format_help
    - gf_list_get
    - gf_list_del
    - gf_list_enum
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_opts_get_key_count
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void dump_all_proto_schemes(GF_SysArgMode argmode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:714,1
    - Dst: gf_sys_print_core_help
      Src: /src/gpac/applications/gpac/gpac_help.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mode
    - for_logs
    argTypes:
    - GF_SysArgMode
    - Bool
    constantsTouched: []
    func_position:
      end: 723
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 723
    functionName: gpac_core_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_sys_print_core_help
    linkageType: ''
    returnType: void
    signature: 'void gpac_core_help(GF_SysArgMode mode, Bool for_logs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gpac/applications/gpac/gpac_help.c:2088,1
    - Dst: strnicmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2089,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - text
    - subtext
    - subtext_len
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2096
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2096
    functionName: strstr_nocase
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strnicmp
    - tolower
    linkageType: ''
    returnType: Bool
    signature: 'static Bool strstr_nocase(const char *text, const char *subtext, u32
      subtext_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac_help.c:2162,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2166,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2173,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/applications/gpac/gpac_help.c:2174,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2187,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2207,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac_help.c:2208,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2209,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2219,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac_help.c:2220,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac_help.c:2213,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2220,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac_help.c:2206,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2215,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2223,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2155,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac_help.c:2154,1
    - Dst: feof
      Src: /src/gpac/applications/gpac/gpac_help.c:2163,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2170,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2176,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2182,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/applications/gpac/gpac_help.c:2178,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2184,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2191,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2193,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2195,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2222,1
    - Dst: gf_fgets
      Src: /src/gpac/applications/gpac/gpac_help.c:2164,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2175,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac_help.c:2190,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac_help.c:2215,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2217,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/gpac/gpac_help.c:2207,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/gpac/gpac_help.c:2152,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac_help.c:2156,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2169,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2177,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/applications/gpac/gpac_help.c:2179,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2181,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac_help.c:2183,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2188,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2194,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac_help.c:2204,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2214,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac_help.c:2225,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2200,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac_help.c:2212,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2226
    functionName: patch_mkdocs_yml
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - feof
    - gf_fprintf
    - strncmp
    - gf_list_pop_front
    - gf_list_del
    - gf_list_count
    - gf_fgets
    - sprintf
    - gf_fwrite
    - gf_free
    - gf_fclose
    - gf_fopen
    - strstr
    - gf_list_pop_back
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void patch_mkdocs_yml() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2444,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/gpac/gpac_help.c:2462,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2469,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2465,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2463,1
    - Dst: gf_props_sanity_check
      Src: /src/gpac/applications/gpac/gpac_help.c:2470,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:2474,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - pname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2475
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2475
    functionName: check_prop_def
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_props_sanity_check
    - strlen
    - GF_4CC
    - fprintf
    - strcmp
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'void check_prop_def(char *pname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_options
      Src: /src/gpac/applications/gpac/gpac_help.c:3369,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3373,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3378
    functionName: write_core_options
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_opts_set_key
    - gf_sys_get_options
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void write_core_options() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/applications/gpac/gpac_help.c:3560,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac_help.c:3564,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3563,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac_help.c:3561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - _arg
    - _dup
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3567
      start: 3558
    functionDepth: 0
    functionLinenumber: 3558
    functionLinenumberEnd: 3567
    functionName: push_arg
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_list_new
    - gf_strdup
    - gf_list_add
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void push_arg(char *_arg, Bool _dup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:538,1
    - Dst: gf_sys_localized
      Src: /src/gpac/applications/gpac/gpac_help.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: gpac_filter_help
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_sys_localized
    linkageType: ''
    returnType: void
    signature: 'void gpac_filter_help(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:856,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:895,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:858,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/gpac/gpac_help.c:891,1
    - Dst: gf_sys_print_core_help
      Src: /src/gpac/applications/gpac/gpac_help.c:896,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/applications/gpac/gpac_help.c:900,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:901,1
    - Dst: gpac_alias_help
      Src: /src/gpac/applications/gpac/gpac_help.c:902,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:904,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:910,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/gpac/gpac_help.c:910,1
    - Dst: gf_gpac_copyright_cite
      Src: /src/gpac/applications/gpac/gpac_help.c:910,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - argmode
    argTypes:
    - GF_SysArgMode
    constantsTouched: []
    func_position:
      end: 912
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 912
    functionName: gpac_usage
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_gpac_copyright_cite
    - gpac_alias_help
    - gf_sys_print_arg
    - gf_opts_get_key_count
    - gf_sys_print_core_help
    - gf_gpac_version
    linkageType: ''
    returnType: void
    signature: 'void gpac_usage(GF_SysArgMode argmode) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2508,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2623,1
    - Dst: gf_stream_types_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2632,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2630,1
    - Dst: gf_stream_types_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2700,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2481,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2518,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2579,1
    - Dst: gf_audio_fmt_all_names
      Src: /src/gpac/applications/gpac/gpac_help.c:2596,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2661,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2676,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:2615,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2651,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2490,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2570,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2575,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2578,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2643,1
    - Dst: gf_codecid_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2644,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2667,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2600,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2525,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2596,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2645,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2609,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2486,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2499,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2523,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2518,1
    - Dst: gf_audio_fmt_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2694,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2489,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2598,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2642,1
    - Dst: gf_audio_fmt_cicp_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2654,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2669,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2520,1
    - Dst: gf_props_get_description
      Src: /src/gpac/applications/gpac/gpac_help.c:2528,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac_help.c:2534,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:2545,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:2548,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/gpac/gpac_help.c:2562,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2664,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2653,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2673,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2611,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2538,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2569,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2580,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/gpac/gpac_help.c:2579,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2506,1
    - Dst: gf_props_get_type_desc
      Src: /src/gpac/applications/gpac/gpac_help.c:2518,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2520,1
    - Dst: gf_audio_fmt_all_shortnames
      Src: /src/gpac/applications/gpac/gpac_help.c:2596,1
    - Dst: gf_cicp_color_transfer_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2671,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2548,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2573,1
    - Dst: gf_props_enum_all_names
      Src: /src/gpac/applications/gpac/gpac_help.c:2598,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2617,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2652,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2668,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2693,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2496,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2505,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2610,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2594,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2625,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2681,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2701,1
    - Dst: gf_pixel_fmt_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2612,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2629,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2622,1
    - Dst: gf_cicp_color_matrix_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2679,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2687,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2705,1
    - Dst: gf_codecid_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2706,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2597,1
    - Dst: gf_audio_fmt_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2624,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2496,1
    - Dst: gf_props_get_type_desc
      Src: /src/gpac/applications/gpac/gpac_help.c:2520,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2660,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2675,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2535,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2538,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2548,1
    - Dst: gf_pixel_fmt_to_qt_type
      Src: /src/gpac/applications/gpac/gpac_help.c:2614,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2621,1
    - Dst: gf_cicp_color_primaries_name
      Src: /src/gpac/applications/gpac/gpac_help.c:2663,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2712,1
    - Dst: gf_audio_fmt_cicp_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2713,1
    - Dst: gf_pixel_fmt_all_shortnames
      Src: /src/gpac/applications/gpac/gpac_help.c:2594,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2659,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2665,1
    - Dst: gf_pixel_fmt_enum
      Src: /src/gpac/applications/gpac/gpac_help.c:2688,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2695,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2707,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2631,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2637,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2510,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2572,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac_help.c:2580,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2582,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2638,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2699,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2714,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac_help.c:2536,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2586,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2633,1
    - Dst: gf_props_get_type_desc
      Src: /src/gpac/applications/gpac/gpac_help.c:2496,1
    - Dst: gf_pixel_fmt_all_names
      Src: /src/gpac/applications/gpac/gpac_help.c:2594,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2655,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2677,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:2689,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 230
    argCount: 1
    argNames:
    - pname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2718
    functionName: dump_all_props
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_pixel_fmt_enum
    - gf_audio_fmt_cicp_enum
    - gf_audio_fmt_all_shortnames
    - gf_sys_word_match
    - gf_4cc_to_str
    - gf_sys_format_help
    - gf_cicp_color_transfer_name
    - gf_props_get_type_desc
    - strcmp
    - gf_audio_fmt_enum
    - gf_codecid_enum
    - strcpy
    - gf_props_enum_all_names
    - gf_pixel_fmt_to_qt_type
    - gf_cicp_color_primaries_name
    - gf_stream_types_enum
    - gf_props_type_is_enum
    - gf_props_get_type_name
    - gf_cicp_color_matrix_name
    - strcat
    - gf_pixel_fmt_all_shortnames
    - gf_pixel_fmt_all_names
    - gf_props_get_description
    - gf_audio_fmt_all_names
    linkageType: ''
    returnType: void
    signature: 'void dump_all_props(char *pname) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2939,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2951,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2958,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2974,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2980,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2987,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2943,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2947,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2949,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2953,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2955,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2977,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2963,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2976,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2965,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2946,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2969,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2941,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2949,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2960,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2989,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2943,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2949,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2955,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2962,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2968,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2991,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2938,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2950,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2964,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2977,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2971,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2936,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2941,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2960,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2975,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2984,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2989,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2964,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2945,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2947,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2953,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2977,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2935,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2940,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2970,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2964,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2959,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2977,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2961,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2974,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2948,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2954,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2953,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2973,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2957,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2938,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2945,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2947,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2966,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2979,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2986,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2974,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2950,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2988,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2937,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2944,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2948,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2972,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2954,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2961,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2956,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2978,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2985,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2939,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2974,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2958,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2980,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2942,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2950,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2952,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2988,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2990,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2965,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2974,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2946,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac_help.c:2946,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 246
    argCount: 1
    argNames:
    - ext
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2993
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2993
    functionName: get_best_mime
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_best_mime(char *ext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3468,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/gpac/gpac_help.c:3471,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3475,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac_help.c:3478,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3486,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3524,1
    - Dst: gf_props_get_description
      Src: /src/gpac/applications/gpac/gpac_help.c:3510,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3531,1
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/applications/gpac/gpac_help.c:3537,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3542,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3548,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/gpac/gpac_help.c:3464,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac_help.c:3472,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3495,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3492,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3527,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3540,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/applications/gpac/gpac_help.c:3466,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/gpac/gpac_help.c:3481,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3503,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/gpac/gpac_help.c:3517,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/gpac/gpac_help.c:3520,1
    - Dst: gf_sys_get_options
      Src: /src/gpac/applications/gpac/gpac_help.c:3499,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac_help.c:3538,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac_help.c:3474,1
    - Dst: gpac_lang_set_key
      Src: /src/gpac/applications/gpac/gpac_help.c:3513,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/gpac/gpac_help.c:3544,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/gpac/gpac_help.c:3545,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3551
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3551
    functionName: gpac_make_lang
    functionSourceFile: /src/gpac/applications/gpac/gpac_help.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filter_register
    - gf_sys_format_help
    - gf_sys_get_options
    - fprintf
    - gf_fs_del
    - gf_props_get_description
    - gf_cfg_del
    - gf_cfg_new
    - gf_fs_new_defaults
    - gf_sys_close
    - gf_sys_init
    - gpac_lang_set_key
    - gf_fclose
    - gf_fopen
    - gf_fs_filters_registers_count
    - gf_cfg_discard_changes
    - gf_file_exists
    linkageType: ''
    returnType: int
    signature: 'int gpac_make_lang(char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AERemoveEventHandler
      Src: /src/gpac/applications/gpac/carbon_hook.c:44,1
    - Dst: DisposeAEEventHandlerUPP
      Src: /src/gpac/applications/gpac/carbon_hook.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: carbon_remove_hook
    functionSourceFile: /src/gpac/applications/gpac/carbon_hook.c
    functionUses: []
    functionsReached:
    - DisposeAEEventHandlerUPP
    - AERemoveEventHandler
    linkageType: ''
    returnType: void
    signature: 'void carbon_remove_hook() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AEGetParamDesc
      Src: /src/gpac/applications/gpac/carbon_hook.c:56,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/carbon_hook.c:67,1
    - Dst: AEGetNthPtr
      Src: /src/gpac/applications/gpac/carbon_hook.c:63,1
    - Dst: AECountItems
      Src: /src/gpac/applications/gpac/carbon_hook.c:59,1
    - Dst: FSRefMakePath
      Src: /src/gpac/applications/gpac/carbon_hook.c:65,1
    - Dst: gpac_open_urls
      Src: /src/gpac/applications/gpac/carbon_hook.c:70,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/carbon_hook.c:71,1
    - Dst: AEDisposeDesc
      Src: /src/gpac/applications/gpac/carbon_hook.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - ae_event
    - ae_reply
    - ae_ref_count
    argTypes:
    - AppleEvent*
    - AppleEvent*
    - long
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: sdl_ae_open_doc
    functionSourceFile: /src/gpac/applications/gpac/carbon_hook.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - FSRefMakePath
    - AECountItems
    - gf_free
    - AEGetNthPtr
    - AEGetParamDesc
    - AEDisposeDesc
    - gpac_open_urls
    linkageType: ''
    returnType: pascal
    signature: 'static pascal OSErr sdl_ae_open_doc(const AppleEvent *ae_event, AppleEvent
      *ae_reply, long ae_ref_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewAEEventHandlerUPP
      Src: /src/gpac/applications/gpac/carbon_hook.c:82,1
    - Dst: AEInstallEventHandler
      Src: /src/gpac/applications/gpac/carbon_hook.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: carbon_set_hook
    functionSourceFile: /src/gpac/applications/gpac/carbon_hook.c
    functionUses: []
    functionsReached:
    - AEInstallEventHandler
    - NewAEEventHandlerUPP
    linkageType: ''
    returnType: void
    signature: 'void carbon_set_hook() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpac_print_report
      Src: /src/gpac/applications/gpac/gpac.c:149,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:154,1
    - Dst: mp4c_event_proc
      Src: /src/gpac/applications/gpac/gpac.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - opaque
    - event
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: gpac_event_proc
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gpac_print_report
    - mp4c_event_proc
    - gf_fs_abort
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gpac_event_proc(void *opaque, GF_Event *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4c_event_proc
      Src: /src/gpac/applications/gpac/gpac.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - custom_event_proc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: if
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - mp4c_event_proc
    linkageType: ''
    returnType: else
    signature: 'else if (custom_event_proc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2297,1
    - Dst: gf_gmtime
      Src: /src/gpac/applications/gpac/gpac.c:2293,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - time
    - full_print
    argTypes:
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 2299
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2299
    functionName: print_date_ex
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_gmtime
    linkageType: ''
    returnType: void
    signature: 'static void print_date_ex(u64 time, Bool full_print) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2315,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:2321,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/gpac.c:2320,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2337,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2339,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2344,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2356,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2357,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2360,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2364,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/applications/gpac/gpac.c:2367,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2396,1
    - Dst: fflush
      Src: /src/gpac/applications/gpac/gpac.c:2412,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2385,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/gpac.c:2328,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/applications/gpac/gpac.c:2345,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/gpac.c:2338,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2353,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2361,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2381,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2404,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2409,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2411,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2376,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2398,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2394,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/applications/gpac/gpac.c:2336,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac.c:2348,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2358,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2384,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2388,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2399,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2406,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2379,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/gpac/gpac.c:2322,1
    - Dst: gf_log_use_file
      Src: /src/gpac/applications/gpac/gpac.c:2317,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/gpac.c:2324,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2334,1
    - Dst: print_date
      Src: /src/gpac/applications/gpac/gpac.c:2338,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2341,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2342,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2340,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2359,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2367,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2369,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/gpac/gpac.c:2369,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2407,1
    - Dst: print_date
      Src: /src/gpac/applications/gpac/gpac.c:2401,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:2397,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 3
    argNames:
    - fsess
    - is_init
    - is_final
    argTypes:
    - GF_FilterSession*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2413
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2413
    functionName: gpac_print_report
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - fflush
    - memset
    - gf_stream_type_name
    - fprintf
    - gf_log_set_callback
    - print_date
    - gf_fs_lock_filters
    - strcmp
    - SET_CONSOLE
    - gf_sys_get_rti
    - gf_fs_get_filters_count
    - gf_fs_get_filter_stats
    - gf_codecid_name
    - gf_sys_clock_high_res
    - gf_log_use_file
    - strstr
    - gf_net_get_utc
    linkageType: ''
    returnType: void
    signature: 'static void gpac_print_report(GF_FilterSession *fsess, Bool is_init,
      Bool is_final) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2725,1
    - Dst: gf_fread
      Src: /src/gpac/applications/gpac/gpac.c:2729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2730
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2730
    functionName: fio_read
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - gf_fread
    linkageType: ''
    returnType: u32
    signature: 'static u32 fio_read(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2743,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/gpac/gpac.c:2745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2746
    functionName: fio_tell
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_ftell
    - gf_fileio_get_udta
    linkageType: ''
    returnType: s64
    signature: 'static s64 fio_tell(GF_FileIO *fileio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/applications/gpac/gpac.c:2965,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2971,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/applications/gpac/gpac.c:2969,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2967,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/applications/gpac/gpac.c:2966,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/applications/gpac/gpac.c:2971,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/applications/gpac/gpac.c:2972,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2976
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2976
    functionName: cust_process
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - fprintf
    - gf_filter_pid_get_packet
    - gf_filter_get_ipid_count
    - gf_filter_pid_drop_packet
    - gf_filter_pid_get_name
    - gf_filter_get_ipid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cust_process(GF_Filter *filter) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3033,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/applications/gpac/gpac.c:3070,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3106,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/applications/gpac/gpac.c:3109,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3104,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:3114,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3023,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac.c:3025,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:3048,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac.c:3054,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:3078,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:3043,1
    - Dst: gpac_print_report
      Src: /src/gpac/applications/gpac/gpac.c:3073,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:3077,1
    - Dst: gf_fs_print_debug_info
      Src: /src/gpac/applications/gpac/gpac.c:3088,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/applications/gpac/gpac.c:3076,1
    - Dst: gf_fs_print_debug_info
      Src: /src/gpac/applications/gpac/gpac.c:3095,1
    - Dst: gf_getch
      Src: /src/gpac/applications/gpac/gpac.c:3036,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/applications/gpac/gpac.c:3071,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/gpac.c:3105,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:3120,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 78
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3127
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3127
    functionName: gpac_sig_handler
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fs_abort
    - fprintf
    - gpac_print_report
    - gf_fs_set_ui_callback
    - gf_fs_print_debug_info
    - scanf
    - gf_log_set_tools_levels
    - SET_CONSOLE
    - exit
    - gf_fs_enable_reporting
    - gf_getch
    linkageType: ''
    returnType: void
    signature: 'static void gpac_sig_handler(int sig) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MAIN_THREAD_EM_ASM
      Src: /src/gpac/applications/gpac/gpac.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: SET_CONSOLE
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - MAIN_THREAD_EM_ASM
    linkageType: ''
    returnType: void
    signature: 'void SET_CONSOLE(int code) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_prompt_has_input
      Src: /src/gpac/applications/gpac/gpac.c:167,1
    - Dst: gpac_handle_prompt
      Src: /src/gpac/applications/gpac/gpac.c:173,1
    - Dst: mp4c_handle_prompt
      Src: /src/gpac/applications/gpac/gpac.c:169,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/gpac/gpac.c:169,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/gpac/gpac.c:173,1
    - Dst: mp4c_task
      Src: /src/gpac/applications/gpac/gpac.c:178,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:179,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/gpac.c:184,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac.c:190,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/gpac/gpac.c:195,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:199,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/applications/gpac/gpac.c:210,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:204,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac.c:203,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 3
    argNames:
    - fsess
    - callback
    - reschedule_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 215
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 215
    functionName: gpac_fsess_task
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_prompt_has_input
    - gf_prompt_get_char
    - gf_fs_abort
    - mp4c_task
    - mp4c_handle_prompt
    - gf_fs_is_last_task
    - exit
    - gf_sys_clock_high_res
    - gpac_handle_prompt
    - gf_sleep
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gpac_fsess_task(GF_FilterSession *fsess, void *callback,
      u32 *reschedule_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4c_parse_arg
      Src: /src/gpac/applications/gpac/gpac.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - LOAD_MP4C
    argTypes:
    - compositor_mode
    constantsTouched: []
    func_position:
      end: 1079
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1079
    functionName: if
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - mp4c_parse_arg
    linkageType: ''
    returnType: else
    signature: 'else if ((compositor_mode==LOAD_MP4C) && mp4c_parse_arg(arg, arg_val)
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_date_ex
      Src: /src/gpac/applications/gpac/gpac.c:2303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 2305
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2305
    functionName: print_date
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - print_date_ex
    linkageType: ''
    returnType: void
    signature: 'static void print_date(u64 time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2733,1
    - Dst: fflush
      Src: /src/gpac/applications/gpac/gpac.c:2736,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/gpac/gpac.c:2739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2740
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2740
    functionName: fio_write
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - fflush
    - gf_fwrite
    linkageType: ''
    returnType: u32
    signature: 'static u32 fio_write(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2749,1
    - Dst: feof
      Src: /src/gpac/applications/gpac/gpac.c:2751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 2752
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2752
    functionName: fio_eof
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - feof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fio_eof(GF_FileIO *fileio) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_new_filter
      Src: /src/gpac/applications/gpac/gpac.c:2980,1
    - Dst: gf_filter_push_caps
      Src: /src/gpac/applications/gpac/gpac.c:2983,1
    - Dst: gf_filter_set_process_ckb
      Src: /src/gpac/applications/gpac/gpac.c:2987,1
    - Dst: PROP_UINT
      Src: /src/gpac/applications/gpac/gpac.c:2983,1
    - Dst: gf_filter_set_configure_ckb
      Src: /src/gpac/applications/gpac/gpac.c:2985,1
    - Dst: gf_filter_set_process_event_ckb
      Src: /src/gpac/applications/gpac/gpac.c:2989,1
    - Dst: gf_filter_set_reconfigure_output_ckb
      Src: /src/gpac/applications/gpac/gpac.c:2991,1
    - Dst: gf_filter_set_probe_data_cbk
      Src: /src/gpac/applications/gpac/gpac.c:2993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - sess
    - opts
    - e
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2997
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 2997
    functionName: load_custom_filter
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_set_process_event_ckb
    - gf_filter_set_reconfigure_output_ckb
    - gf_fs_new_filter
    - gf_filter_set_configure_ckb
    - gf_filter_set_process_ckb
    - PROP_UINT
    - gf_filter_set_probe_data_cbk
    - gf_filter_push_caps
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *load_custom_filter(GF_FilterSession *sess, char
      *opts, GF_Err *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/applications/gpac/gpac.c:487,1
    - Dst: gf_fs_run
      Src: /src/gpac/applications/gpac/gpac.c:488,1
    - Dst: gf_fs_run
      Src: /src/gpac/applications/gpac/gpac.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 494
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 494
    functionName: run_sess
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fs_is_last_task
    - gf_fs_run
    linkageType: ''
    returnType: void
    signature: 'static void run_sess(void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:1582,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:1585,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/applications/gpac/gpac.c:1584,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:1585,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:1582,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:1589,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:1589,1
    - Dst: gpac_print_report
      Src: /src/gpac/applications/gpac/gpac.c:1604,1
    - Dst: gf_fs_print_non_connected_ex
      Src: /src/gpac/applications/gpac/gpac.c:1614,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/gpac/gpac.c:1620,1
    - Dst: fflush
      Src: /src/gpac/applications/gpac/gpac.c:1656,1
    - Dst: gpac_exit
      Src: /src/gpac/applications/gpac/gpac.c:1668,1
    - Dst: gpac_check_session_args
      Src: /src/gpac/applications/gpac/gpac.c:1597,1
    - Dst: gf_fs_run
      Src: /src/gpac/applications/gpac/gpac.c:1624,1
    - Dst: cleanup_file_io
      Src: /src/gpac/applications/gpac/gpac.c:1644,1
    - Dst: gf_log_reset_file
      Src: /src/gpac/applications/gpac/gpac.c:1658,1
    - Dst: gpac_run
      Src: /src/gpac/applications/gpac/gpac.c:1662,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:1602,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/applications/gpac/gpac.c:1588,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:1593,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:1593,1
    - Dst: gf_fs_stop
      Src: /src/gpac/applications/gpac/gpac.c:1607,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/applications/gpac/gpac.c:1613,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/applications/gpac/gpac.c:1613,1
    - Dst: exit
      Src: /src/gpac/applications/gpac/gpac.c:1608,1
    - Dst: unload_compositor
      Src: /src/gpac/applications/gpac/gpac.c:1633,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/gpac/gpac.c:1638,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac.c:1639,1
    - Dst: gf_net_reload_netcap
      Src: /src/gpac/applications/gpac/gpac.c:1652,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/applications/gpac/gpac.c:1627,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac.c:1640,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/applications/gpac/gpac.c:1629,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:1651,1
    - Dst: emscripten_cancel_main_loop
      Src: /src/gpac/applications/gpac/gpac.c:1661,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 2
    argNames:
    - e
    - exit_only
    argTypes:
    - GF_Err
    - Bool
    constantsTouched: []
    func_position:
      end: 1669
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1669
    functionName: gpac_done
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fs_stop
    - gpac_run
    - unload_compositor
    - gf_fs_run
    - gf_fs_print_non_connected_ex
    - gf_list_del
    - gf_error_to_string
    - gpac_print_report
    - gf_fs_del
    - exit
    - gf_fs_get_last_connect_error
    - fprintf
    - gf_log_set_callback
    - gf_net_reload_netcap
    - gf_fs_print_stats
    - gf_fs_print_connections
    - gpac_check_session_args
    - gpac_exit
    - emscripten_cancel_main_loop
    - gf_log_reset_file
    - gf_fs_get_last_process_error
    - SET_CONSOLE
    - cleanup_file_io
    - gf_opts_get_bool
    - fflush
    linkageType: ''
    returnType: int
    signature: 'static int gpac_done(GF_Err e, Bool exit_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:298,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - val
    - log_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: get_u32
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 get_u32(char *val, char *log_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: gpac_on_video_swap
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gpac_on_video_swap() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1754
    functionName: gpac_has_threads
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gpac_has_threads() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac.c:1884,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/gpac/gpac.c:1888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1891
    functionName: gpac_fsess_task_help
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'static void gpac_fsess_task_help() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/gpac/applications/gpac/gpac.c:2252,1
    - Dst: va_end
      Src: /src/gpac/applications/gpac/gpac.c:2254,1
    - Dst: vsprintf
      Src: /src/gpac/applications/gpac/gpac.c:2259,1
    - Dst: vsnprintf
      Src: /src/gpac/applications/gpac/gpac.c:2253,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/gpac/gpac.c:2257,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2262,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2270,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:2271,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/gpac.c:2272,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2277,1
    - Dst: memmove
      Src: /src/gpac/applications/gpac/gpac.c:2278,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:2279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - cbck
    - log_level
    - log_tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2281
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2281
    functionName: gpac_on_logs
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - va_end
    - memset
    - gf_realloc
    - gf_strdup
    - strcmp
    - va_copy
    - vsprintf
    - gf_free
    - memmove
    - gf_net_get_utc
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void gpac_on_logs(void *cbck, GF_LOG_Level log_level, GF_LOG_Tool
      log_tool, const char* fmt, va_list vlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2755,1
    - Dst: vfprintf
      Src: /src/gpac/applications/gpac/gpac.c:2757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - fileio
    - format
    - args
    argTypes:
    - GF_FileIO*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2758
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2758
    functionName: fio_printf
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - vfprintf
    linkageType: ''
    returnType: int
    signature: 'static int fio_printf(GF_FileIO *fileio, const char *format, va_list
      args) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac.c:2936,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac.c:2937,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2938,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2942,1
    - Dst: gf_fileio_del
      Src: /src/gpac/applications/gpac/gpac.c:2939,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac.c:2943,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2945,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2946,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac.c:2948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2950
    functionName: cleanup_file_io
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_fileio_get_udta
    - fprintf
    - gf_fileio_del
    - gf_free
    - gf_fclose
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_file_io() '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_get_layout_from_name
      Src: /src/gpac/applications/gpac/gpac.c:3170,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3232,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:3262,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3272,1
    - Dst: gf_mx_get_num_locks
      Src: /src/gpac/applications/gpac/gpac.c:3341,1
    - Dst: gf_crypt_init
      Src: /src/gpac/applications/gpac/gpac.c:3350,1
    - Dst: gpac_sig_handler
      Src: /src/gpac/applications/gpac/gpac.c:3362,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac.c:3374,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/applications/gpac/gpac.c:3389,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/applications/gpac/gpac.c:3383,1
    - Dst: gf_filter_post_task
      Src: /src/gpac/applications/gpac/gpac.c:3506,1
    - Dst: gf_odf_dump_txtcfg
      Src: /src/gpac/applications/gpac/gpac.c:3543,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/gpac/gpac.c:3556,1
    - Dst: gf_rtsp_unregister_interleave
      Src: /src/gpac/applications/gpac/gpac.c:3516,1
    - Dst: gf_mp3_version_name
      Src: /src/gpac/applications/gpac/gpac.c:3490,1
    - Dst: gf_blob_register
      Src: /src/gpac/applications/gpac/gpac.c:3323,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3181,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3185,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3210,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3284,1
    - Dst: gf_blob_get
      Src: /src/gpac/applications/gpac/gpac.c:3326,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/applications/gpac/gpac.c:3344,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac.c:3369,1
    - Dst: gf_rect_equal
      Src: /src/gpac/applications/gpac/gpac.c:3393,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/applications/gpac/gpac.c:3445,1
    - Dst: gf_isom_hint_pck_length
      Src: /src/gpac/applications/gpac/gpac.c:3554,1
    - Dst: gf_node_get_proto_root
      Src: /src/gpac/applications/gpac/gpac.c:3573,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3425,1
    - Dst: gf_filter_remove
      Src: /src/gpac/applications/gpac/gpac.c:3530,1
    - Dst: get_cmd
      Src: /src/gpac/applications/gpac/gpac.c:3519,1
    - Dst: gf_errno_str
      Src: /src/gpac/applications/gpac/gpac.c:3301,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3193,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/applications/gpac/gpac.c:3334,1
    - Dst: gf_mkdir
      Src: /src/gpac/applications/gpac/gpac.c:3366,1
    - Dst: gf_quat_slerp
      Src: /src/gpac/applications/gpac/gpac.c:3423,1
    - Dst: gf_mx_apply_bbox_4x4
      Src: /src/gpac/applications/gpac/gpac.c:3431,1
    - Dst: gf_path_point_over
      Src: /src/gpac/applications/gpac/gpac.c:3455,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/applications/gpac/gpac.c:3473,1
    - Dst: gf_filter_get_arg_str
      Src: /src/gpac/applications/gpac/gpac.c:3507,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/applications/gpac/gpac.c:3517,1
    - Dst: gf_rtp_streamer_get_payload_type
      Src: /src/gpac/applications/gpac/gpac.c:3515,1
    - Dst: gpac_suggest_filter
      Src: /src/gpac/applications/gpac/gpac.c:3521,1
    - Dst: gf_quat_rotate
      Src: /src/gpac/applications/gpac/gpac.c:3422,1
    - Dst: gf_odf_get_text_config
      Src: /src/gpac/applications/gpac/gpac.c:3542,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/applications/gpac/gpac.c:3532,1
    - Dst: gf_isom_get_media_time
      Src: /src/gpac/applications/gpac/gpac.c:3569,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/gpac/gpac.c:3305,1
    - Dst: gf_base16_encode
      Src: /src/gpac/applications/gpac/gpac.c:3243,1
    - Dst: gpac_fsess_task_help
      Src: /src/gpac/applications/gpac/gpac.c:3165,1
    - Dst: gf_fs_set_external_gl_provider
      Src: /src/gpac/applications/gpac/gpac.c:3178,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3202,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3238,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3245,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3264,1
    - Dst: gf_gz_decompress_payload
      Src: /src/gpac/applications/gpac/gpac.c:3270,1
    - Dst: gf_crypt_close
      Src: /src/gpac/applications/gpac/gpac.c:3356,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/applications/gpac/gpac.c:3453,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/gpac/gpac.c:3544,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3565,1
    - Dst: gf_fs_in_final_flush
      Src: /src/gpac/applications/gpac/gpac.c:3176,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3274,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3328,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/applications/gpac/gpac.c:3351,1
    - Dst: gf_ray_hit_sphere
      Src: /src/gpac/applications/gpac/gpac.c:3407,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/gpac/gpac.c:3459,1
    - Dst: gf_rtp_stop
      Src: /src/gpac/applications/gpac/gpac.c:3514,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/applications/gpac/gpac.c:3534,1
    - Dst: gf_mpegv12_get_config
      Src: /src/gpac/applications/gpac/gpac.c:3550,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/applications/gpac/gpac.c:3560,1
    - Dst: gf_dm_get_data_rate
      Src: /src/gpac/applications/gpac/gpac.c:3471,1
    - Dst: gpac_handle_prompt
      Src: /src/gpac/applications/gpac/gpac.c:3163,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/applications/gpac/gpac.c:3168,1
    - Dst: gf_ntohl
      Src: /src/gpac/applications/gpac/gpac.c:3298,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3316,1
    - Dst: gf_lang_get_2cc
      Src: /src/gpac/applications/gpac/gpac.c:3314,1
    - Dst: gf_sys_get_argv
      Src: /src/gpac/applications/gpac/gpac.c:3340,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3348,1
    - Dst: gf_plane_intersect_line
      Src: /src/gpac/applications/gpac/gpac.c:3414,1
    - Dst: gf_vec_scale_p
      Src: /src/gpac/applications/gpac/gpac.c:3436,1
    - Dst: gf_dm_new
      Src: /src/gpac/applications/gpac/gpac.c:3467,1
    - Dst: gf_dm_set_data_rate
      Src: /src/gpac/applications/gpac/gpac.c:3470,1
    - Dst: gf_isom_hint_pck_del
      Src: /src/gpac/applications/gpac/gpac.c:3566,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3494,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/applications/gpac/gpac.c:3580,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/gpac/gpac.c:3564,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/gpac/gpac.c:3482,1
    - Dst: gf_rtp_reset_ssrc
      Src: /src/gpac/applications/gpac/gpac.c:3512,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/applications/gpac/gpac.c:3535,1
    - Dst: gf_sg_proto_instance_set_ised
      Src: /src/gpac/applications/gpac/gpac.c:3576,1
    - Dst: gf_getch
      Src: /src/gpac/applications/gpac/gpac.c:3304,1
    - Dst: gf_base16_decode
      Src: /src/gpac/applications/gpac/gpac.c:3248,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3250,1
    - Dst: gf_lz_compress_payload
      Src: /src/gpac/applications/gpac/gpac.c:3281,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3337,1
    - Dst: gpac_sig_handler
      Src: /src/gpac/applications/gpac/gpac.c:3360,1
    - Dst: gf_memory_print
      Src: /src/gpac/applications/gpac/gpac.c:3372,1
    - Dst: gf_mx2d_add_skew_x
      Src: /src/gpac/applications/gpac/gpac.c:3385,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3391,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3406,1
    - Dst: gf_dm_set_localcache_provider
      Src: /src/gpac/applications/gpac/gpac.c:3472,1
    - Dst: gf_isom_hint_pck_read
      Src: /src/gpac/applications/gpac/gpac.c:3563,1
    - Dst: gf_pixel_fmt_probe
      Src: /src/gpac/applications/gpac/gpac.c:3579,1
    - Dst: gpac_suggest_arg
      Src: /src/gpac/applications/gpac/gpac.c:3520,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/gpac/gpac.c:3562,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:3260,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3290,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3330,1
    - Dst: gf_audio_fmt_get_dolby_chanmap
      Src: /src/gpac/applications/gpac/gpac.c:3171,1
    - Dst: gf_itags_enum_tags
      Src: /src/gpac/applications/gpac/gpac.c:3174,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/gpac.c:3306,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/applications/gpac/gpac.c:3375,1
    - Dst: gf_rmdir
      Src: /src/gpac/applications/gpac/gpac.c:3379,1
    - Dst: gf_mx_init
      Src: /src/gpac/applications/gpac/gpac.c:3396,1
    - Dst: gf_sk_get_host_name
      Src: /src/gpac/applications/gpac/gpac.c:3444,1
    - Dst: gf_xml_dom_get_root_nodes_count
      Src: /src/gpac/applications/gpac/gpac.c:3463,1
    - Dst: gf_rtp_enable_nat_keepalive
      Src: /src/gpac/applications/gpac/gpac.c:3513,1
    - Dst: gf_audio_fmt_get_layout_name_from_cicp
      Src: /src/gpac/applications/gpac/gpac.c:3536,1
    - Dst: gf_audio_fmt_to_isobmf
      Src: /src/gpac/applications/gpac/gpac.c:3578,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/applications/gpac/gpac.c:3339,1
    - Dst: gf_filter_pid_negotiate_property_str
      Src: /src/gpac/applications/gpac/gpac.c:3523,1
    - Dst: gf_mx_ortho_reverse_z
      Src: /src/gpac/applications/gpac/gpac.c:3399,1
    - Dst: gf_sys_profiler_sampling_enabled
      Src: /src/gpac/applications/gpac/gpac.c:3581,1
    - Dst: gf_log_use_color
      Src: /src/gpac/applications/gpac/gpac.c:3167,1
    - Dst: gf_gpac_abi_micro
      Src: /src/gpac/applications/gpac/gpac.c:3169,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3222,1
    - Dst: gf_htons
      Src: /src/gpac/applications/gpac/gpac.c:3299,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:3281,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3283,1
    - Dst: gf_lz_decompress_payload
      Src: /src/gpac/applications/gpac/gpac.c:3289,1
    - Dst: gf_net_get_timezone
      Src: /src/gpac/applications/gpac/gpac.c:3310,1
    - Dst: gf_log_get_tools_levels
      Src: /src/gpac/applications/gpac/gpac.c:3336,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/applications/gpac/gpac.c:3352,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/gpac/gpac.c:3540,1
    - Dst: gf_filter_pid_negotiate_property_dyn
      Src: /src/gpac/applications/gpac/gpac.c:3524,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3201,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3291,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/applications/gpac/gpac.c:3335,1
    - Dst: gf_crypt_get_IV
      Src: /src/gpac/applications/gpac/gpac.c:3355,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac.c:3368,1
    - Dst: gf_mx_get_yaw_pitch_roll
      Src: /src/gpac/applications/gpac/gpac.c:3398,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/applications/gpac/gpac.c:3460,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/applications/gpac/gpac.c:3461,1
    - Dst: gf_dm_del
      Src: /src/gpac/applications/gpac/gpac.c:3474,1
    - Dst: gf_module_load_static
      Src: /src/gpac/applications/gpac/gpac.c:3488,1
    - Dst: gf_filter_get_max_extra_input_pids
      Src: /src/gpac/applications/gpac/gpac.c:3529,1
    - Dst: gf_isom_get_sample_description_index
      Src: /src/gpac/applications/gpac/gpac.c:3570,1
    - Dst: gf_node_proto_is_grouping
      Src: /src/gpac/applications/gpac/gpac.c:3574,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3404,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3293,1
    - Dst: gf_sys_profiler_set_callback
      Src: /src/gpac/applications/gpac/gpac.c:3324,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:3279,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3265,1
    - Dst: gf_net_set_ntp_shift
      Src: /src/gpac/applications/gpac/gpac.c:3308,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/applications/gpac/gpac.c:3327,1
    - Dst: gf_itags_get_id3tag
      Src: /src/gpac/applications/gpac/gpac.c:3172,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3233,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/applications/gpac/gpac.c:3309,1
    - Dst: gpac_sig_handler
      Src: /src/gpac/applications/gpac/gpac.c:3363,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/applications/gpac/gpac.c:3531,1
    - Dst: gf_hevc_read_pps_bs
      Src: /src/gpac/applications/gpac/gpac.c:3547,1
    - Dst: gf_isom_hint_pck_new
      Src: /src/gpac/applications/gpac/gpac.c:3553,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/gpac/gpac.c:3561,1
    - Dst: gf_list_swap
      Src: /src/gpac/applications/gpac/gpac.c:3480,1
    - Dst: gf_net_ntp_diff_ms
      Src: /src/gpac/applications/gpac/gpac.c:3312,1
    - Dst: gf_fs_get_rt_udta
      Src: /src/gpac/applications/gpac/gpac.c:3177,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3186,1
    - Dst: gf_filter_print_all_connections
      Src: /src/gpac/applications/gpac/gpac.c:3179,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3211,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3392,1
    - Dst: gf_sk_get_local_info
      Src: /src/gpac/applications/gpac/gpac.c:3449,1
    - Dst: gf_path_del
      Src: /src/gpac/applications/gpac/gpac.c:3456,1
    - Dst: gf_opts_discard_changes
      Src: /src/gpac/applications/gpac/gpac.c:3510,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/applications/gpac/gpac.c:3541,1
    - Dst: gf_isom_hint_pck_size
      Src: /src/gpac/applications/gpac/gpac.c:3555,1
    - Dst: gf_sg_proto_get_id
      Src: /src/gpac/applications/gpac/gpac.c:3575,1
    - Dst: gf_m2ts_restamp
      Src: /src/gpac/applications/gpac/gpac.c:3503,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3194,1
    - Dst: gf_prompt_set_echo_off
      Src: /src/gpac/applications/gpac/gpac.c:3303,1
    - Dst: gf_net_get_ntp_diff_ms
      Src: /src/gpac/applications/gpac/gpac.c:3309,1
    - Dst: gf_dir_cleanup
      Src: /src/gpac/applications/gpac/gpac.c:3378,1
    - Dst: gf_mx_perspective_reverse_z
      Src: /src/gpac/applications/gpac/gpac.c:3400,1
    - Dst: gf_quat_get_inv
      Src: /src/gpac/applications/gpac/gpac.c:3421,1
    - Dst: gf_token_get_strip
      Src: /src/gpac/applications/gpac/gpac.c:3440,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/applications/gpac/gpac.c:3462,1
    - Dst: gf_stream_type_afx_name
      Src: /src/gpac/applications/gpac/gpac.c:3477,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/applications/gpac/gpac.c:3483,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/gpac/gpac.c:3568,1
    - Dst: gf_sg_has_scripting
      Src: /src/gpac/applications/gpac/gpac.c:3572,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/applications/gpac/gpac.c:3420,1
    - Dst: gf_crypt_open
      Src: /src/gpac/applications/gpac/gpac.c:3349,1
    - Dst: gf_mkdir
      Src: /src/gpac/applications/gpac/gpac.c:3367,1
    - Dst: gf_closest_point_to_line
      Src: /src/gpac/applications/gpac/gpac.c:3409,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/applications/gpac/gpac.c:3430,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3370,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/applications/gpac/gpac.c:3454,1
    - Dst: gf_dm_set_auth_callback
      Src: /src/gpac/applications/gpac/gpac.c:3468,1
    - Dst: gf_bbox_equal
      Src: /src/gpac/applications/gpac/gpac.c:3426,1
    - Dst: gf_hevc_read_vps_bs
      Src: /src/gpac/applications/gpac/gpac.c:3549,1
    - Dst: gf_isom_hint_pck_write
      Src: /src/gpac/applications/gpac/gpac.c:3557,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/applications/gpac/gpac.c:3353,1
    - Dst: gf_audio_fmt_get_cicp_from_layout
      Src: /src/gpac/applications/gpac/gpac.c:3537,1
    - Dst: gf_m2ts_probe_file
      Src: /src/gpac/applications/gpac/gpac.c:3376,1
    - Dst: gf_bs_read_vluimsbf5
      Src: /src/gpac/applications/gpac/gpac.c:3485,1
    - Dst: gf_lang_get_count
      Src: /src/gpac/applications/gpac/gpac.c:3313,1
    - Dst: gf_net_get_utc_ts
      Src: /src/gpac/applications/gpac/gpac.c:3311,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:3331,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3271,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/gpac/gpac.c:3158,1
    - Dst: gf_dm_sess_last_error
      Src: /src/gpac/applications/gpac/gpac.c:3166,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3159,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/applications/gpac/gpac.c:3221,1
    - Dst: gf_gz_compress_payload
      Src: /src/gpac/applications/gpac/gpac.c:3262,1
    - Dst: gf_htonl
      Src: /src/gpac/applications/gpac/gpac.c:3297,1
    - Dst: gf_ntohs
      Src: /src/gpac/applications/gpac/gpac.c:3300,1
    - Dst: gf_mx2d_add_skew
      Src: /src/gpac/applications/gpac/gpac.c:3384,1
    - Dst: gf_mx2d_add_skew_y
      Src: /src/gpac/applications/gpac/gpac.c:3386,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/gpac/gpac.c:3486,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:3493,1
    - Dst: gf_filter_all_sinks_done
      Src: /src/gpac/applications/gpac/gpac.c:3508,1
    - Dst: gf_props_parse_type
      Src: /src/gpac/applications/gpac/gpac.c:3526,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/applications/gpac/gpac.c:3528,1
    - Dst: gf_hevc_read_sps_bs
      Src: /src/gpac/applications/gpac/gpac.c:3548,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/gpac/gpac.c:3464,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/applications/gpac/gpac.c:3540,1
    - Dst: gf_th_stop
      Src: /src/gpac/applications/gpac/gpac.c:3479,1
    - Dst: gf_path_new
      Src: /src/gpac/applications/gpac/gpac.c:3452,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/applications/gpac/gpac.c:3484,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 337
    argCount: 1
    argNames:
    - mem_track
    argTypes:
    - GF_MemTrackerType
    constantsTouched: []
    func_position:
      end: 3586
      start: 3151
    functionDepth: 0
    functionLinenumber: 3151
    functionLinenumberEnd: 3586
    functionName: gpac_unit_tests
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_quat_rotate
    - gf_filter_reconnect_output
    - gf_bbox_refresh
    - gf_rtsp_unregister_interleave
    - gf_audio_fmt_get_layout_name_from_cicp
    - gf_mx_init
    - gf_m2ts_restamp
    - gf_rmdir
    - gf_odf_desc_del
    - gf_filter_pid_negotiate_property_str
    - gf_sys_profiler_sampling_enabled
    - gf_mpegv12_get_config
    - gf_read_line_input
    - gf_xml_dom_del
    - gf_vec_scale_p
    - gf_xml_dom_new
    - gf_hevc_read_vps_bs
    - gf_strdup
    - gf_isom_hint_pck_del
    - gf_sk_get_host_name
    - gf_net_get_ntp_ts
    - gf_fs_set_external_gl_provider
    - gf_module_load_static
    - gf_dm_new
    - gf_audio_fmt_get_cicp_from_layout
    - gf_node_proto_is_grouping
    - gf_mx2d_decompose
    - gf_crypt_decrypt
    - gf_lang_get_2cc
    - gf_xml_dom_get_line
    - gf_mx_get_num_locks
    - gf_mkdir
    - gf_quat_slerp
    - gf_xml_dom_parse_string
    - gf_sys_get_battery_state
    - gf_dm_del
    - gf_xml_dom_get_root_nodes_count
    - gf_isom_hint_pck_read
    - gf_4cc_parse
    - gf_mp3_version_name
    - gf_filter_print_all_connections
    - gf_rtsp_reset_aggregation
    - gf_prompt_get_char
    - gf_isom_hint_pck_size
    - gf_mx2d_add_skew
    - gf_isom_hint_pck_write
    - gf_mx2d_add_skew_y
    - gf_sk_get_local_info
    - gf_path_point_over
    - gf_gz_decompress_payload
    - gf_fclose
    - gf_odf_dump_txtcfg
    - gf_itags_enum_tags
    - gf_bs_get_content
    - gf_mx2d_add_skew_x
    - gf_ray_hit_sphere
    - gf_crypt_open
    - gf_dm_get_data_rate
    - gf_errno_str
    - gf_hevc_read_sps_bs
    - gf_isom_get_media_time
    - get_cmd
    - gf_path_add_move_to
    - gf_net_ntp_to_utc
    - gf_bs_del
    - gf_blob_register
    - gf_m2ts_probe_file
    - strcpy
    - gf_sg_proto_get_id
    - gf_sg_proto_instance_set_ised
    - gf_fs_in_final_flush
    - gf_sys_get_process_id
    - gf_crypt_init
    - gf_isom_hint_pck_length
    - gf_audio_fmt_get_layout_from_name
    - gf_base16_encode
    - gf_blob_unregister
    - gf_xml_dom_get_error
    - gf_ntohs
    - gf_filter_pid_negotiate_property_dyn
    - gf_net_ntp_diff_ms
    - gf_path_add_quadratic_to
    - gf_isom_hint_pck_new
    - gf_itags_get_id3tag
    - gf_rtp_reset_ssrc
    - gf_memory_print
    - gf_log_get_tools_levels
    - gf_dm_sess_abort
    - gf_crypt_get_IV
    - gf_stream_type_afx_name
    - gf_bs_read_vluimsbf5
    - gf_mx_perspective_reverse_z
    - gf_isom_get_sample_description_index
    - gf_base16_decode
    - gf_opts_discard_changes
    - gf_gpac_abi_micro
    - gf_crypt_close
    - gf_lang_get_count
    - gf_props_parse_type
    - gf_mx_apply_bbox_4x4
    - gf_filter_all_sinks_done
    - gf_lz_decompress_payload
    - gf_sys_profiler_set_callback
    - gf_getch
    - gf_htons
    - strcmp
    - gf_mx2d_init
    - gf_quat_get_inv
    - gf_sg_has_scripting
    - gf_pixel_fmt_probe
    - gpac_sig_handler
    - gf_crypt_set_IV
    - gf_net_get_utc_ts
    - gf_mx_get_yaw_pitch_roll
    - gf_mx_ortho_reverse_z
    - gf_filter_pid_get_udta_flags
    - fprintf
    - gf_filter_pck_new_copy
    - gf_closest_point_to_line
    - gf_list_swap
    - gf_isom_last_error
    - gf_free
    - gf_filter_remove
    - gpac_handle_prompt
    - gf_node_get_proto_root
    - gf_sys_get_argv
    - gf_audio_fmt_get_dolby_chanmap
    - gpac_suggest_arg
    - gf_dm_set_data_rate
    - gf_path_new
    - gf_bs_get_bit_offset
    - gf_log_use_color
    - gf_dm_sess_last_error
    - gf_calloc
    - gf_sys_is_quiet
    - gf_prompt_set_echo_off
    - gpac_suggest_filter
    - gpac_fsess_task_help
    - gf_hevc_read_pps_bs
    - memset
    - gf_rtp_streamer_get_payload_type
    - gf_dm_set_auth_callback
    - GF_LOG
    - gf_plane_intersect_line
    - gf_file_modification_time
    - gf_lz_compress_payload
    - gf_audio_fmt_get_layout_from_cicp
    - gf_net_set_ntp_shift
    - gf_sk_set_usec_wait
    - gf_audio_fmt_get_cicp_layout
    - gf_fs_get_rt_udta
    - gf_dir_cleanup
    - gf_token_get_strip
    - gf_blob_get
    - gf_odf_desc_new
    - gf_dm_set_localcache_provider
    - gf_odf_get_text_config
    - gf_audio_fmt_to_isobmf
    - gf_th_stop
    - gf_bs_bits_available
    - gf_filter_get_arg_str
    - utf8_to_ucs4
    - gf_fopen
    - gf_filter_post_task
    - gf_ntohl
    - gf_htonl
    - gf_bs_new
    - gf_rtp_stop
    - gf_net_get_timezone
    - gf_url_is_relative
    - gf_gz_compress_payload
    - gf_rtp_enable_nat_keepalive
    - gf_filter_get_max_extra_input_pids
    - gf_net_get_ntp_diff_ms
    - gf_bbox_equal
    - gf_path_del
    - gf_rect_equal
    - gf_crypt_encrypt
    - gf_quat_from_rotation
    linkageType: ''
    returnType: u32
    signature: 'static u32 gpac_unit_tests(GF_MemTrackerType mem_track) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:305,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - val
    - log_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: get_s32
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    linkageType: ''
    returnType: s32
    signature: 's32 get_s32(char *val, char *log_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsprintf
      Src: /src/gpac/applications/gpac/gpac.c:322,1
    - Dst: syslog
      Src: /src/gpac/applications/gpac/gpac.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - cbck
    - log_level
    - log_tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: gpac_syslog
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - syslog
    - vsprintf
    linkageType: ''
    returnType: void
    signature: 'static void gpac_syslog(void *cbck, GF_LOG_Level log_level, GF_LOG_Tool
      log_tool, const char* fmt, va_list vlist) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:385,1
    - Dst: gf_fs_force_non_blocking
      Src: /src/gpac/applications/gpac/gpac.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - for_display
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: gpac_force_step_mode
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_fs_force_non_blocking
    linkageType: ''
    returnType: void
    signature: 'void gpac_force_step_mode(Bool for_display) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emscripten_set_thread_name
      Src: /src/gpac/applications/gpac/gpac.c:1731,1
    - Dst: reset_em_thread
      Src: /src/gpac/applications/gpac/gpac.c:1735,1
    - Dst: MAIN_THREAD_EM_ASM
      Src: /src/gpac/applications/gpac/gpac.c:1736,1
    - Dst: mp4box_main
      Src: /src/gpac/applications/gpac/gpac.c:1733,1
    - Dst: pthread_self
      Src: /src/gpac/applications/gpac/gpac.c:1731,1
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - _ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1743
    functionName: _main_thread
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - reset_em_thread
    - mp4box_main
    - MAIN_THREAD_EM_ASM
    - pthread_self
    - gpac_main
    - emscripten_set_thread_name
    linkageType: ''
    returnType: void*
    signature: 'static void *_main_thread(void *_ptr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/gpac/gpac.c:1762,1
    - Dst: EM_ASM_INT
      Src: /src/gpac/applications/gpac/gpac.c:1767,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/gpac/applications/gpac/gpac.c:1793,1
    - Dst: pthread_create
      Src: /src/gpac/applications/gpac/gpac.c:1796,1
    - Dst: mp4box_main
      Src: /src/gpac/applications/gpac/gpac.c:1806,1
    - Dst: EM_ASM
      Src: /src/gpac/applications/gpac/gpac.c:1807,1
    - Dst: emscripten_pthread_attr_settransferredcanvases
      Src: /src/gpac/applications/gpac/gpac.c:1795,1
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1812,1
    - Dst: emscripten_stack_get_base
      Src: /src/gpac/applications/gpac/gpac.c:1794,1
    - Dst: emscripten_stack_get_end
      Src: /src/gpac/applications/gpac/gpac.c:1794,1
    - Dst: EM_ASM_INT
      Src: /src/gpac/applications/gpac/gpac.c:1773,1
    - Dst: gf_set_mainloop_thread
      Src: /src/gpac/applications/gpac/gpac.c:1765,1
    - Dst: EM_ASM
      Src: /src/gpac/applications/gpac/gpac.c:1782,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:1785,1
    - Dst: pthread_attr_init
      Src: /src/gpac/applications/gpac/gpac.c:1792,1
    - Dst: pthread_attr_setstacksize
      Src: /src/gpac/applications/gpac/gpac.c:1794,1
    - Dst: pthread_attr_destroy
      Src: /src/gpac/applications/gpac/gpac.c:1797,1
    - Dst: gf_th_id
      Src: /src/gpac/applications/gpac/gpac.c:1803,1
    - Dst: gf_set_mainloop_thread
      Src: /src/gpac/applications/gpac/gpac.c:1803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1815
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1815
    functionName: main
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - pthread_attr_destroy
    - EM_ASM_INT
    - pthread_attr_setstacksize
    - memset
    - mp4box_main
    - emscripten_stack_get_end
    - pthread_attr_setdetachstate
    - pthread_attr_init
    - pthread_create
    - gf_th_id
    - gpac_main
    - stricmp
    - emscripten_stack_get_base
    - emscripten_pthread_attr_settransferredcanvases
    - gf_set_mainloop_thread
    - EM_ASM
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2029,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2027,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2014,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:2033,1
    - Dst: gf_filter_probe_links
      Src: /src/gpac/applications/gpac/gpac.c:2001,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2016,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:1990,1
    - Dst: gf_filter_probe_link
      Src: /src/gpac/applications/gpac/gpac.c:2003,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1992,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2007,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2007,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2009,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2009,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2022,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2019,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2031,1
    - Dst: extract_filter_and_pid
      Src: /src/gpac/applications/gpac/gpac.c:1996,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2008,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2029,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2033,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2033,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2036
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2036
    functionName: probe_pid_link
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_probe_links
    - gf_filter_get_name
    - sscanf
    - gf_error_to_string
    - GF_LOG
    - strchr
    - gf_free
    - extract_filter_and_pid
    - gf_filter_probe_link
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err probe_pid_link(char *arg) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3704,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3739,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:3762,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3827,1
    - Dst: gf_cfg_force_new
      Src: /src/gpac/applications/gpac/gpac.c:3715,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac.c:3874,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:3800,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3895,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3935,1
    - Dst: gf_opts_save
      Src: /src/gpac/applications/gpac/gpac.c:3868,1
    - Dst: gf_opts_get_filename
      Src: /src/gpac/applications/gpac/gpac.c:3678,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3921,1
    - Dst: gf_cfg_save
      Src: /src/gpac/applications/gpac/gpac.c:3960,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3937,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3783,1
    - Dst: fwrite
      Src: /src/gpac/applications/gpac/gpac.c:3703,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3766,1
    - Dst: gf_token_find_word
      Src: /src/gpac/applications/gpac/gpac.c:3871,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3785,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/applications/gpac/gpac.c:3890,1
    - Dst: print_date_ex
      Src: /src/gpac/applications/gpac/gpac.c:3906,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/applications/gpac/gpac.c:3914,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3923,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:3929,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3892,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3939,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3776,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3816,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3865,1
    - Dst: creds_set_pass
      Src: /src/gpac/applications/gpac/gpac.c:3945,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:3967,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3693,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3753,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:3728,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3754,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:3787,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3879,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3901,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3909,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3909,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3947,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac.c:3864,1
    - Dst: UPDATE_FIELD
      Src: /src/gpac/applications/gpac/gpac.c:3861,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac.c:3873,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3934,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3891,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3918,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3812,1
    - Dst: creds_set_pass
      Src: /src/gpac/applications/gpac/gpac.c:3844,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3830,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/gpac/gpac.c:3699,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3706,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3736,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3741,1
    - Dst: gf_token_find_word
      Src: /src/gpac/applications/gpac/gpac.c:3746,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/gpac.c:3817,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:3931,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/applications/gpac/gpac.c:3799,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/gpac.c:3810,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/gpac.c:3836,1
    - Dst: UPDATE_FIELD
      Src: /src/gpac/applications/gpac/gpac.c:3860,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3680,1
    - Dst: strrchr
      Src: /src/gpac/applications/gpac/gpac.c:3686,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3691,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/gpac/gpac.c:3702,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3781,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3764,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3901,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3901,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:3905,1
    - Dst: gf_opts_save
      Src: /src/gpac/applications/gpac/gpac.c:3690,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/applications/gpac/gpac.c:3786,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3819,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3846,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3887,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac.c:3912,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3915,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3748,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3835,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3675,1
    - Dst: strcat
      Src: /src/gpac/applications/gpac/gpac.c:3688,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3711,1
    - Dst: rem_user_from_group
      Src: /src/gpac/applications/gpac/gpac.c:3751,1
    - Dst: gf_creds_check_password
      Src: /src/gpac/applications/gpac/gpac.c:3821,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3876,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac.c:3881,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3944,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3838,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac.c:3796,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:3831,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3875,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:3893,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3903,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3840,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac.c:3888,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3897,1
    - Dst: strrchr
      Src: /src/gpac/applications/gpac/gpac.c:3685,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3689,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3698,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3710,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3839,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac.c:3768,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3735,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3832,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3717,1
    - Dst: UPDATE_FIELD
      Src: /src/gpac/applications/gpac/gpac.c:3859,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/applications/gpac/gpac.c:3880,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3822,1
    - Dst: gf_read_line_input
      Src: /src/gpac/applications/gpac/gpac.c:3828,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/applications/gpac/gpac.c:3883,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:3961,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:3798,1
    - Dst: rem_user_from_group
      Src: /src/gpac/applications/gpac/gpac.c:3884,1
    - Dst: gf_token_find_word
      Src: /src/gpac/applications/gpac/gpac.c:3916,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3936,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3870,1
    - Dst: UPDATE_FIELD
      Src: /src/gpac/applications/gpac/gpac.c:3858,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac.c:3684,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3775,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3778,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 269
    argCount: 1
    argNames:
    - creds_args
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3972
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3972
    functionName: gpac_do_creds
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_file_load_data
    - print_date_ex
    - gf_opts_save
    - gf_cfg_force_new
    - gf_token_find_word
    - gf_opts_get_filename
    - gf_read_line_input
    - gf_cfg_save
    - gf_creds_check_password
    - UPDATE_FIELD
    - strcmp
    - rem_user_from_group
    - fwrite
    - strcpy
    - gf_dynstrcat
    - gf_cfg_set_key
    - creds_set_pass
    - fprintf
    - sprintf
    - gf_cfg_get_key_count
    - strchr
    - gf_cfg_get_key
    - gf_free
    - gf_sys_is_test_mode
    - gf_net_get_utc
    - gf_opts_get_key
    - gf_cfg_del_section
    - strcat
    - sscanf
    - gf_cfg_del
    - strrchr
    - gf_opts_set_key
    - gf_cfg_get_key_name
    - gf_file_exists
    linkageType: ''
    returnType: int
    signature: 'static int gpac_do_creds(char *creds_args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:1725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1726
    functionName: reset_em_thread
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void reset_em_thread() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - char_code
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1880
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1880
    functionName: get_cmd
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_Command
    signature: 'static GPAC_Command get_cmd(u8 char_code) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:1898,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:1917,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:1910,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:1913,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:1908,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/applications/gpac/gpac.c:1923,1
    - Dst: gf_fs_get_filter
      Src: /src/gpac/applications/gpac/gpac.c:1924,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac.c:1926,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac.c:1927,1
    - Dst: gf_fs_check_filter
      Src: /src/gpac/applications/gpac/gpac.c:1929,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1935,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1930,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1935,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 4
    argNames:
    - arg
    - o_f
    - opid_idx
    - prefix_c
    argTypes:
    - char*
    - GF_Filter**
    - s32*
    - u8*
    constantsTouched: []
    func_position:
      end: 1939
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1939
    functionName: extract_filter_and_pid
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_get_name
    - gf_list_count
    - GF_LOG
    - gf_fs_get_filters_count
    - strchr
    - atoi
    - gf_fs_get_filter
    - gf_fs_check_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err extract_filter_and_pid(char *arg, GF_Filter **o_f, s32
      *opid_idx, u8 *prefix_c) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2446,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2462,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2474,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2480,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2511,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2513,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2525,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2528,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/applications/gpac/gpac.c:2561,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2568,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2571,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2575,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:2610,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2637,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/gpac.c:2640,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:2614,1
    - Dst: strncpy
      Src: /src/gpac/applications/gpac/gpac.c:2618,1
    - Dst: gf_dir_exists
      Src: /src/gpac/applications/gpac/gpac.c:2624,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2578,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2565,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac.c:2441,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/gpac.c:2451,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/gpac.c:2489,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:2475,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:2505,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2503,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2545,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2549,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2555,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2566,1
    - Dst: gf_mkdir
      Src: /src/gpac/applications/gpac/gpac.c:2625,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/gpac.c:2615,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2607,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2581,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2581,1
    - Dst: memset
      Src: /src/gpac/applications/gpac/gpac.c:2616,1
    - Dst: gf_format_duration
      Src: /src/gpac/applications/gpac/gpac.c:2575,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/gpac.c:2447,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2444,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/gpac/gpac.c:2442,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2448,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2459,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/gpac/gpac.c:2485,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2498,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2486,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2492,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2538,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2580,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2587,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2587,1
    - Dst: strrchr
      Src: /src/gpac/applications/gpac/gpac.c:2629,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2518,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2520,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2536,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2556,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2558,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/applications/gpac/gpac.c:2564,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2593,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2584,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2594,1
    - Dst: sscanf
      Src: /src/gpac/applications/gpac/gpac.c:2586,1
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2601,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/gpac/gpac.c:2632,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/gpac/gpac.c:2633,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2591,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/gpac/gpac.c:2639,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/gpac.c:2573,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2575,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 201
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2643
    functionName: cache_file_op
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - gf_fprintf
    - strncmp
    - strstr
    - strcmp
    - gf_format_duration
    - format_date
    - gf_file_delete
    - atoi
    - gf_mkdir
    - gf_cfg_get_key_count
    - gf_cfg_new
    - gf_cfg_get_key
    - gf_free
    - gf_net_get_utc
    - sscanf
    - gf_file_move
    - gf_cfg_del
    - strrchr
    - gf_dir_exists
    - strncpy
    - gf_cfg_get_key_name
    - gf_file_exists
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cache_file_op(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2769,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2773,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2786,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac.c:2799,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2814,1
    - Dst: strnicmp
      Src: /src/gpac/applications/gpac/gpac.c:2821,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2815,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2841,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2842,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac.c:2853,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac.c:2877,1
    - Dst: gf_fileio_set_stats
      Src: /src/gpac/applications/gpac/gpac.c:2891,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:2864,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2777,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac.c:2788,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2795,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2821,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2802,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac.c:2808,1
    - Dst: gf_fsize
      Src: /src/gpac/applications/gpac/gpac.c:2827,1
    - Dst: gf_fileio_set_stats
      Src: /src/gpac/applications/gpac/gpac.c:2830,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac.c:2838,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/gpac/gpac.c:2862,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2868,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac.c:2875,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/gpac/gpac.c:2790,1
    - Dst: gf_fileio_del
      Src: /src/gpac/applications/gpac/gpac.c:2813,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/gpac/gpac.c:2822,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:2860,1
    - Dst: gf_fileio_new
      Src: /src/gpac/applications/gpac/gpac.c:2866,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2869,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2884,1
    - Dst: strnicmp
      Src: /src/gpac/applications/gpac/gpac.c:2858,1
    - Dst: strnicmp
      Src: /src/gpac/applications/gpac/gpac.c:2874,1
    - Dst: gf_fileio_new
      Src: /src/gpac/applications/gpac/gpac.c:2792,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2794,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/gpac/gpac.c:2803,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/gpac/gpac.c:2812,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2829,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/gpac/gpac.c:2840,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/gpac/gpac.c:2882,1
    - Dst: gf_fileio_del
      Src: /src/gpac/applications/gpac/gpac.c:2883,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2890,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2885,1
    - Dst: gf_fsize
      Src: /src/gpac/applications/gpac/gpac.c:2889,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 123
    argCount: 4
    argNames:
    - fileio_ref
    - url
    - mode
    - out_err
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2893
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2893
    functionName: fio_open
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fileio_get_udta
    - GF_SAFEALLOC
    - gf_list_count
    - gf_fsize
    - strcmp
    - gf_fileio_set_stats
    - gf_strdup
    - gf_fileio_del
    - gf_list_del_item
    - gf_fopen
    - gf_list_get
    - gf_fileio_new
    - strchr
    - gf_free
    - strnicmp
    - gf_url_concatenate
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *fio_open(GF_FileIO *fileio_ref, const char *url,
      const char *mode, GF_Err *out_err) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extract_filter_and_pid
      Src: /src/gpac/applications/gpac/gpac.c:1946,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1959,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1968,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1959,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1962,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1962,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/applications/gpac/gpac.c:1966,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1968,1
    - Dst: gf_props_dump
      Src: /src/gpac/applications/gpac/gpac.c:1976,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1978,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1981,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/applications/gpac/gpac.c:1948,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1950,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1959,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1962,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1976,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/applications/gpac/gpac.c:1956,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:1950,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/applications/gpac/gpac.c:1976,1
    - Dst: gf_filter_pid_enum_info
      Src: /src/gpac/applications/gpac/gpac.c:1974,1
    - Dst: gf_props_dump
      Src: /src/gpac/applications/gpac/gpac.c:1968,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1984
    functionName: print_pid_props
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_get_name
    - gf_props_dump
    - gf_filter_pid_enum_properties
    - GF_LOG
    - extract_filter_and_pid
    - gf_filter_pid_enum_info
    - gf_filter_get_opid_count
    - gf_filter_pid_get_name
    - gf_filter_get_opid
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err print_pid_props(char *arg) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd
      Src: /src/gpac/applications/gpac/gpac.c:2071,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/applications/gpac/gpac.c:2085,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2091,1
    - Dst: strncpy
      Src: /src/gpac/applications/gpac/gpac.c:2105,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2113,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2121,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac.c:2124,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2130,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/gpac.c:2137,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2141,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2149,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac.c:2159,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac.c:2188,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/gpac.c:2093,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2111,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/applications/gpac/gpac.c:2120,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2126,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2128,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2138,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2164,1
    - Dst: gf_filter_remove
      Src: /src/gpac/applications/gpac/gpac.c:2178,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/applications/gpac/gpac.c:2189,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/gpac/gpac.c:2193,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2197,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/applications/gpac/gpac.c:2200,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:2078,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/applications/gpac/gpac.c:2082,1
    - Dst: gpac_fsess_task_help
      Src: /src/gpac/applications/gpac/gpac.c:2088,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2094,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:2100,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2108,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2119,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/applications/gpac/gpac.c:2156,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2160,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2173,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/applications/gpac/gpac.c:2202,1
    - Dst: strncmp
      Src: /src/gpac/applications/gpac/gpac.c:2190,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2182,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2184,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:2197,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:2074,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/applications/gpac/gpac.c:2116,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac.c:2102,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/gpac.c:2112,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2103,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2101,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2134,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:2148,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2151,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2155,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/applications/gpac/gpac.c:2150,1
    - Dst: scanf
      Src: /src/gpac/applications/gpac/gpac.c:2183,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/applications/gpac/gpac.c:2168,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/applications/gpac/gpac.c:2191,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 116
    argCount: 2
    argNames:
    - fsess
    - char_code
    argTypes:
    - GF_FilterSession*
    - char
    constantsTouched: []
    func_position:
      end: 2208
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2208
    functionName: gpac_handle_prompt
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_reconnect_output
    - gpac_fsess_task_help
    - gf_fs_load_source
    - strncmp
    - scanf
    - gf_fs_send_update
    - gf_fs_get_filters_count
    - get_cmd
    - gf_error_to_string
    - strcmp
    - atoi
    - gf_filter_set_source
    - gf_fs_load_destination
    - fprintf
    - gf_fs_lock_filters
    - strchr
    - gf_filter_remove
    - gf_fs_print_stats
    - gf_fs_print_connections
    - gf_fs_abort
    - gf_fs_get_filter_stats
    - strncpy
    - gf_fs_load_filter
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gpac_handle_prompt(GF_FilterSession *fsess, char char_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/gpac/applications/gpac/gpac.c:2432,1
    - Dst: gmtime
      Src: /src/gpac/applications/gpac/gpac.c:2432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - time
    - szDate
    argTypes:
    - u64
    - char*
    constantsTouched: []
    func_position:
      end: 2434
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2434
    functionName: format_date
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - strftime
    - gmtime
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE const char *format_date(u64 time, char *szDate) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/applications/gpac/gpac.c:2658,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/gpac/gpac.c:2653,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/applications/gpac/gpac.c:2659,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:2660,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/gpac/gpac.c:2673,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2697,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/gpac/gpac.c:2647,1
    - Dst: atoi
      Src: /src/gpac/applications/gpac/gpac.c:2661,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2676,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2689,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2687,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2687,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2689,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2692,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2692,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2693,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2693,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2682,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2685,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2685,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2690,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:2656,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/applications/gpac/gpac.c:2679,1
    - Dst: gf_fprintf
      Src: /src/gpac/applications/gpac/gpac.c:2684,1
    - Dst: format_date
      Src: /src/gpac/applications/gpac/gpac.c:2684,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - op_type
    - arg_val
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2700
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2700
    functionName: do_cache_check
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - fprintf
    - strcmp
    - format_date
    - gf_enum_directory
    - strchr
    - gf_net_parse_date
    - atoi
    - gf_opts_get_int
    - gf_net_get_utc
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void do_cache_check(u32 op_type, char *arg_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/applications/gpac/gpac.c:2718,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/gpac/gpac.c:2720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - fileio
    - offset
    - whence
    argTypes:
    - GF_FileIO*
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 2722
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2722
    functionName: fio_seek
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_fileio_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err fio_seek(GF_FileIO *fileio, u64 offset, s32 whence) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/gpac/gpac.c:2900,1
    - Dst: gf_fileio_new
      Src: /src/gpac/applications/gpac/gpac.c:2915,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/gpac/gpac.c:2906,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2908,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/gpac/gpac.c:2904,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2917,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2918,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/gpac/gpac.c:2923,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/gpac/gpac.c:2926,1
    - Dst: gf_fileio_url
      Src: /src/gpac/applications/gpac/gpac.c:2930,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - inargs
    - out_arg
    - io_mode
    - e
    argTypes:
    - char*
    - char**
    - u32
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2931
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2931
    functionName: make_fileio
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_url_colon_suffix
    - gf_strdup
    - gf_fileio_new
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_fileio_url
    linkageType: ''
    returnType: char*
    signature: 'static const char *make_fileio(const char *inargs, const char **out_arg,
      u32 io_mode, GF_Err *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/applications/gpac/gpac.c:2957,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/applications/gpac/gpac.c:2959,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/applications/gpac/gpac.c:2958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2961
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2961
    functionName: cust_configure_pid
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cust_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac.c:3597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - data
    - len
    - out
    argTypes:
    - u8*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3592
    functionDepth: 0
    functionLinenumber: 3592
    functionLinenumberEnd: 3600
    functionName: to_hex
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void to_hex(u8 *data, u32 len, char *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1830
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1830
    functionName: gpac_abort
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fs_abort
    linkageType: ''
    returnType: void
    signature: 'void gpac_abort(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3615,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3617,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/gpac/gpac.c:3630,1
    - Dst: to_hex
      Src: /src/gpac/applications/gpac/gpac.c:3638,1
    - Dst: to_hex
      Src: /src/gpac/applications/gpac/gpac.c:3636,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3637,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3639,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3644,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3621,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/gpac.c:3641,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3619,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3621,1
    - Dst: strlen
      Src: /src/gpac/applications/gpac/gpac.c:3629,1
    - Dst: memcpy
      Src: /src/gpac/applications/gpac/gpac.c:3631,1
    - Dst: gf_sha256_csum
      Src: /src/gpac/applications/gpac/gpac.c:3635,1
    - Dst: memcpy
      Src: /src/gpac/applications/gpac/gpac.c:3633,1
    - Dst: sprintf
      Src: /src/gpac/applications/gpac/gpac.c:3642,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3643,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3617,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/gpac/gpac.c:3616,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3615,1
    - Dst: gf_rand
      Src: /src/gpac/applications/gpac/gpac.c:3619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 3
    argNames:
    - creds
    - user
    - passwd
    argTypes:
    - GF_Config*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3646
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3646
    functionName: creds_set_pass
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_sha256_csum
    - gf_cfg_set_key
    - sprintf
    - to_hex
    - memcpy
    - gf_sys_clock_high_res
    - gf_rand
    - gf_free
    linkageType: ''
    returnType: u64
    signature: 'static u64 creds_set_pass(GF_Config *creds, const char *user, const
      char *passwd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_run
      Src: /src/gpac/applications/gpac/gpac.c:358,1
    - Dst: gpac_done
      Src: /src/gpac/applications/gpac/gpac.c:362,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/applications/gpac/gpac.c:360,1
    - Dst: emscripten_cancel_main_loop
      Src: /src/gpac/applications/gpac/gpac.c:363,1
    - Dst: gf_fs_stop
      Src: /src/gpac/applications/gpac/gpac.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: em_main_loop
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - emscripten_cancel_main_loop
    - gf_fs_stop
    - gpac_done
    - gf_fs_is_last_task
    - gf_fs_run
    linkageType: ''
    returnType: void
    signature: 'static void em_main_loop(void*arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:465,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:466,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:468,1
    - Dst: strcpy
      Src: /src/gpac/applications/gpac/gpac.c:467,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:469,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:470,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:471,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:472,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:473,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - cbk
    - name
    - IP
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: enum_net_ifces
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool enum_net_ifces(void *cbk, const char *name, const char
      *IP, u32 flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1699,1
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1702
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1702
    functionName: SDL_main
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gpac_main
    linkageType: ''
    returnType: int
    signature: 'int SDL_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2239,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2243,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2247
    functionName: cleanup_logs
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_logs() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_arg_used
      Src: /src/gpac/applications/gpac/gpac.c:226,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/gpac/gpac.c:237,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac.c:241,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:243,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/applications/gpac/gpac.c:255,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/gpac/gpac.c:257,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/applications/gpac/gpac.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:250,1
    - Dst: gf_memory_size
      Src: /src/gpac/applications/gpac/gpac.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:279,1
    - Dst: MAIN_THREAD_EM_ASM
      Src: /src/gpac/applications/gpac/gpac.c:287,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/applications/gpac/gpac.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:227,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/gpac/gpac.c:270,1
    - Dst: gf_memory_print
      Src: /src/gpac/applications/gpac/gpac.c:271,1
    - Dst: reset_em_thread
      Src: /src/gpac/applications/gpac/gpac.c:284,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/applications/gpac/gpac.c:227,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/gpac/gpac.c:236,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:237,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/gpac/gpac.c:239,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/gpac/gpac.c:262,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:249,1
    - Dst: cleanup_logs
      Src: /src/gpac/applications/gpac/gpac.c:260,1
    - Dst: __lsan_do_leak_check
      Src: /src/gpac/applications/gpac/gpac.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - code
    argTypes:
    - GF_Err
    constantsTouched: []
    func_position:
      end: 293
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 293
    functionName: gpac_exit_fun
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - __lsan_do_leak_check
    - GF_LOG
    - gf_sys_get_arg
    - gf_list_pop_back
    - gf_list_del
    - cleanup_logs
    - gf_list_count
    - MAIN_THREAD_EM_ASM
    - gf_log_set_tool_level
    - gf_memory_size
    - gf_sys_is_arg_used
    - fprintf
    - gf_free
    - gf_gpac_copyright
    - gf_sys_get_argc
    - reset_em_thread
    - gf_file_handles_count
    - gf_memory_print
    - gf_sys_close
    - gf_fclose
    linkageType: ''
    returnType: int
    signature: 'static int gpac_exit_fun(GF_Err code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:405,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:409,1
    - Dst: fprintf
      Src: /src/gpac/applications/gpac/gpac.c:413,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:410,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:406,1
    - Dst: gf_fs_abort
      Src: /src/gpac/applications/gpac/gpac.c:414,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/applications/gpac/gpac.c:421,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/applications/gpac/gpac.c:422,1
    - Dst: gpac_print_report
      Src: /src/gpac/applications/gpac/gpac.c:423,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/applications/gpac/gpac.c:426,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:428,1
    - Dst: SET_CONSOLE
      Src: /src/gpac/applications/gpac/gpac.c:427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 432
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 432
    functionName: gpac_em_sig_handler
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_fs_abort
    - fprintf
    - gpac_print_report
    - gf_fs_set_ui_callback
    - SET_CONSOLE
    - gf_fs_enable_reporting
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gpac_em_sig_handler(int type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extract_filter_and_pid
      Src: /src/gpac/applications/gpac/gpac.c:2044,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:2050,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2049,1
    - Dst: gf_filter_get_possible_destinations
      Src: /src/gpac/applications/gpac/gpac.c:2047,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2049,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2052,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2052,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/gpac/gpac.c:2054,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/applications/gpac/gpac.c:2054,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/gpac/gpac.c:2054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2057
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2057
    functionName: print_pid_dests
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_filter_get_name
    - gf_error_to_string
    - GF_LOG
    - gf_free
    - gf_filter_get_possible_destinations
    - extract_filter_and_pid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err print_pid_dests(char *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/gpac/gpac.c:3650,1
    - Dst: strchr
      Src: /src/gpac/applications/gpac/gpac.c:3653,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3662,1
    - Dst: strcmp
      Src: /src/gpac/applications/gpac/gpac.c:3655,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/gpac/gpac.c:3656,1
    - Dst: gf_free
      Src: /src/gpac/applications/gpac/gpac.c:3663,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/applications/gpac/gpac.c:3665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - creds
    - group
    - user
    argTypes:
    - GF_Config*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3648
    functionDepth: 0
    functionLinenumber: 3648
    functionLinenumberEnd: 3667
    functionName: rem_user_from_group
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_cfg_set_key
    - strcmp
    - strchr
    - gf_cfg_get_key
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void rem_user_from_group(GF_Config *creds, const char *group,
      const char *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gpac/applications/gpac/gpac.c:1674,1
    - Dst: stricmp
      Src: /src/gpac/applications/gpac/gpac.c:1675,1
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1682,1
    - Dst: gpac_main
      Src: /src/gpac/applications/gpac/gpac.c:1680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1683
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1683
    functionName: main
    functionSourceFile: /src/gpac/applications/gpac/gpac.c
    functionUses: []
    functionsReached:
    - stricmp
    - gpac_main
    - getenv
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: CLLocationManagerDelegate
    functionSourceFile: /src/gpac/applications/gpac/ios_sensors/sensors.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface SensorAccess : NSObject < CLLocationManagerDelegate > '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2262,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2264,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2253,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - _udta
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 2268
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2268
    functionName: on_split_event
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - fprintf
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_split_event(void *_udta, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - MaxVal
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3600
      start: 3595
    functionDepth: 0
    functionLinenumber: 3595
    functionLinenumberEnd: 3600
    functionName: GetNbBits
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GetNbBits(u32 MaxVal) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3776,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:3776,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/mp4box/fileimport.c:3789,1
    - Dst: gf_sm_aggregate
      Src: /src/gpac/applications/mp4box/fileimport.c:3811,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/fileimport.c:3791,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3820,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:3830,1
    - Dst: gf_sm_dump
      Src: /src/gpac/applications/mp4box/fileimport.c:3833,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3756,1
    - Dst: gf_sm_aggregate
      Src: /src/gpac/applications/mp4box/fileimport.c:3781,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/mp4box/fileimport.c:3790,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:3785,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3816,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:3828,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3840,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3766,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/mp4box/fileimport.c:3772,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/fileimport.c:3774,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3796,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3793,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:3793,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3821,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/fileimport.c:3831,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3839,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3765,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:3767,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/mp4box/fileimport.c:3773,1
    - Dst: EncodeBIFSChunk
      Src: /src/gpac/applications/mp4box/fileimport.c:3802,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3815,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3820,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:3827,1
    - Dst: gf_sm_encode_to_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3829,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 4
    argNames:
    - chunkFile
    - bifs
    - inputContext
    - outputContext
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3847
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3847
    functionName: EncodeFileChunk
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sg_del
    - gf_sm_new
    - gf_error_to_string
    - gf_sm_del
    - gf_isom_close
    - strcpy
    - gf_sm_load_done
    - stricmp
    - gf_sg_new
    - gf_sm_load_run
    - EncodeBIFSChunk
    - M4_LOG
    - gf_sm_load_init
    - gf_isom_delete
    - strcat
    - gf_sm_encode_to_file
    - strrchr
    - gf_isom_open
    - gf_sm_aggregate
    - gf_sm_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err EncodeFileChunk(char *chunkFile, char *bifs, char *inputContext,
      char *outputContext) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:64,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:72,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:77,1
    - Dst: gf_isom_remove_user_data
      Src: /src/gpac/applications/mp4box/fileimport.c:69,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:68,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:79,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/fileimport.c:80,1
    - Dst: gf_base64_decode
      Src: /src/gpac/applications/mp4box/fileimport.c:81,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:84,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/mp4box/fileimport.c:87,1
    - Dst: gf_isom_add_user_data
      Src: /src/gpac/applications/mp4box/fileimport.c:95,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:98,1
    - Dst: gf_isom_add_user_data_boxes
      Src: /src/gpac/applications/mp4box/fileimport.c:93,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 6
    argNames:
    - dest
    - tracknum
    - udta_type
    - src
    - is_box_array
    - is_string
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: set_file_udta
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - gf_file_load_data
    - gf_isom_remove_user_data
    - gf_isom_add_user_data
    - gf_isom_add_user_data_boxes
    - strnicmp
    - M4_LOG
    - gf_base64_decode
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err set_file_udta(GF_ISOFile *dest, u32 tracknum, u32 udta_type,
      char *src, Bool is_box_array, Bool is_string) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:132,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:132,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:141,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:179,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:178,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:187,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:193,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:204,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:204,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:225,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:122,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/mp4box/fileimport.c:130,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:139,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:142,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:148,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:180,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:196,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:199,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:199,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:230,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:224,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:248,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:173,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:202,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/fileimport.c:202,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:210,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:244,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/mp4box/fileimport.c:247,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:247,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/fileimport.c:120,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:137,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:145,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:181,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:174,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:184,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:190,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:206,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:215,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:227,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:233,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:220,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:241,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 104
    argCount: 2
    argNames:
    - inName
    - track_id
    argTypes:
    - char*
    - TrackIdentifier*
    constantsTouched: []
    func_position:
      end: 250
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 250
    functionName: convert_file_info
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_malloc
    - memset
    - gf_media_import
    - gf_error_to_string
    - fprintf
    - gf_codecid_name
    - gf_file_basename
    - gf_free
    - M4_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err convert_file_info(char *inName, TrackIdentifier *track_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_split_event
      Src: /src/gpac/applications/mp4box/fileimport.c:2524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ()
    argTypes:
    - gf_sys_is_cov_mode
    constantsTouched: []
    func_position:
      end: 2525
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2525
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - on_split_event
    linkageType: ''
    returnType: else
    signature: 'else if (gf_sys_is_cov_mode()) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3360,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3364,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3370,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3386,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3380,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3389,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3391,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3383,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/applications/mp4box/fileimport.c:3386,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3355,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3361,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3359,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3363,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3368,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3379,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3371,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3374,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:3388,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3356,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3365,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3378,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3377,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3387,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3392,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3395,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/mp4box/fileimport.c:3398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 8
    argNames:
    - dest
    - fileName
    - import_flags
    - force_fps
    - frames_per_sample
    - force_cat
    - align_timelines
    - allow_add_in_command
    argTypes:
    - GF_ISOFile*
    - char*
    - u32
    - GF_Fraction
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3399
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3399
    functionName: cat_multiple_files
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_url_colon_suffix
    - GF_LOG
    - strrchr
    - gf_enum_directory
    - strchr
    - strcpy
    - gf_sys_old_arch_compat
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cat_multiple_files(GF_ISOFile *dest, char *fileName, u32 import_flags,
      GF_Fraction force_fps, u32 frames_per_sample, Bool force_cat, Bool align_timelines,
      Bool allow_add_in_command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2551,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2554,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2553,1
    - Dst: memcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:2556,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2555,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - src
    - dst
    - name
    argTypes:
    - GF_List*
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2566
    functionName: merge_parameter_set
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool merge_parameter_set(GF_List *src, GF_List *dst, const
      char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3859,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3859,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3865,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3863,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3863,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3866,1
    - Dst: atoi
      Src: /src/gpac/applications/mp4box/fileimport.c:3866,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3867,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/fileimport.c:3868,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:3868,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 3870
      start: 3852
    functionDepth: 0
    functionLinenumber: 3852
    functionLinenumberEnd: 3870
    functionName: sax_node_start
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - sprintf
    - strcmp
    - atoi
    - strnicmp
    - stricmp
    linkageType: ''
    returnType: void
    signature: 'void sax_node_start(void *sax_cbck, const char *node_name, const char
      *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3884,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3884,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/mp4box/fileimport.c:3885,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/mp4box/fileimport.c:3886,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3884,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - cbck
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 3888
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3888
    functionName: wgt_enum_dir
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - stricmp
    - gf_enum_directory
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wgt_enum_dir(void *cbck, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/applications/mp4box/fileimport.c:258,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:258,1
    - Dst: gf_isom_has_padding_bits
      Src: /src/gpac/applications/mp4box/fileimport.c:286,1
    - Dst: gf_isom_set_traf_mss_timeext
      Src: /src/gpac/applications/mp4box/fileimport.c:292,1
    - Dst: gf_isom_set_fragment_reference_time
      Src: /src/gpac/applications/mp4box/fileimport.c:294,1
    - Dst: gf_isom_get_audio_layout
      Src: /src/gpac/applications/mp4box/fileimport.c:297,1
    - Dst: gf_isom_sample_has_subsamples
      Src: /src/gpac/applications/mp4box/fileimport.c:300,1
    - Dst: gf_isom_get_payt_info
      Src: /src/gpac/applications/mp4box/fileimport.c:305,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:263,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:265,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:266,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:270,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:270,1
    - Dst: gf_isom_get_sample_size
      Src: /src/gpac/applications/mp4box/fileimport.c:282,1
    - Dst: gf_isom_set_sample_padding
      Src: /src/gpac/applications/mp4box/fileimport.c:285,1
    - Dst: gf_isom_get_sample_dts
      Src: /src/gpac/applications/mp4box/fileimport.c:283,1
    - Dst: gf_isom_get_sample_from_dts
      Src: /src/gpac/applications/mp4box/fileimport.c:284,1
    - Dst: gf_isom_get_track_switch_parameter
      Src: /src/gpac/applications/mp4box/fileimport.c:299,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/mp4box/fileimport.c:260,1
    - Dst: gf_isom_keep_utc_times
      Src: /src/gpac/applications/mp4box/fileimport.c:288,1
    - Dst: gf_isom_sample_get_subsample
      Src: /src/gpac/applications/mp4box/fileimport.c:301,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:264,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:272,1
    - Dst: gf_isom_get_sample_padding_bits
      Src: /src/gpac/applications/mp4box/fileimport.c:287,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:276,1
    - Dst: gf_isom_set_single_moof_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:290,1
    - Dst: gf_isom_reset_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:291,1
    - Dst: gf_isom_get_next_moof_number
      Src: /src/gpac/applications/mp4box/fileimport.c:293,1
    - Dst: gf_isom_hint_blank_data
      Src: /src/gpac/applications/mp4box/fileimport.c:303,1
    - Dst: gf_isom_hint_sample_description_data
      Src: /src/gpac/applications/mp4box/fileimport.c:304,1
    - Dst: gf_isom_estimate_size
      Src: /src/gpac/applications/mp4box/fileimport.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - file
    - track
    - chapter_ref_trak
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 312
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 312
    functionName: set_chapter_track
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_isom_get_next_moof_number
    - gf_isom_get_sample_from_dts
    - gf_isom_keep_utc_times
    - gf_isom_hint_blank_data
    - gf_isom_get_payt_info
    - gf_isom_get_sample_size
    - gf_isom_estimate_size
    - gf_isom_get_media_duration
    - gf_isom_get_audio_layout
    - gf_isom_set_sample_padding
    - gf_isom_hint_sample_description_data
    - gf_isom_get_media_timescale
    - gf_isom_get_sample_padding_bits
    - gf_isom_set_track_reference
    - gf_isom_has_padding_bits
    - gf_isom_set_track_enabled
    - gf_isom_get_track_id
    - gf_isom_reset_sample_count
    - gf_isom_set_single_moof_mode
    - gf_isom_sample_has_subsamples
    - gf_isom_get_sample_count
    - gf_isom_set_last_sample_duration
    - gf_isom_sample_get_subsample
    - gf_isom_set_traf_mss_timeext
    - gf_sys_is_cov_mode
    - gf_isom_get_sample_duration
    - gf_isom_set_fragment_reference_time
    - gf_isom_get_track_switch_parameter
    - gf_isom_get_sample_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err set_chapter_track(GF_ISOFile *file, u32 track, u32 chapter_ref_trak) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2572,1
    - Dst: merge_parameter_set
      Src: /src/gpac/applications/mp4box/fileimport.c:2593,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2575,1
    - Dst: gf_media_nal_rewrite_samples
      Src: /src/gpac/applications/mp4box/fileimport.c:2585,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2574,1
    - Dst: merge_parameter_set
      Src: /src/gpac/applications/mp4box/fileimport.c:2595,1
    - Dst: gf_isom_avc_config_update
      Src: /src/gpac/applications/mp4box/fileimport.c:2598,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2601,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2602,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2605,1
    - Dst: gf_isom_avc_set_inband_config
      Src: /src/gpac/applications/mp4box/fileimport.c:2609,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2611,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:2606,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 7
    argNames:
    - dest
    - tk_id
    - o_orig
    - src_track
    - force_cat
    - orig_nal_len
    - dst_nal_len
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile**
    - u32
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2615
    functionName: merge_avc_config
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - M4_LOG
    - gf_isom_avc_config_update
    - gf_isom_avc_config_get
    - gf_odf_avc_cfg_del
    - gf_media_nal_rewrite_samples
    - gf_isom_avc_set_inband_config
    - merge_parameter_set
    - gf_isom_set_nalu_extract_mode
    linkageType: ''
    returnType: u32
    signature: 'static u32 merge_avc_config(GF_ISOFile *dest, u32 tk_id, GF_ISOFile
      **o_orig, u32 src_track, Bool force_cat, u32 *orig_nal_len, u32 *dst_nal_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3330,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3332,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:3332,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3331,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3334,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:3335,1
    - Dst: cat_isomedia_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - cbk
    - szName
    - szPath
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3324
    functionDepth: 0
    functionLinenumber: 3324
    functionLinenumberEnd: 3340
    functionName: cat_enumerate
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - cat_isomedia_file
    - strcpy
    - strstr
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool cat_enumerate(void *cbk, char *szName, char *szPath, GF_FileEnumInfo
      *file_info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/fileimport.c:3404,1
    - Dst: feof
      Src: /src/gpac/applications/mp4box/fileimport.c:3411,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3406,1
    - Dst: gf_fgets
      Src: /src/gpac/applications/mp4box/fileimport.c:3416,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:3418,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3419,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/mp4box/fileimport.c:3425,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:3426,1
    - Dst: cat_isomedia_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3428,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3432,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3436,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/fileimport.c:3438,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 8
    argNames:
    - dest
    - playlistName
    - import_flags
    - force_fps
    - frames_per_sample
    - force_cat
    - align_timelines
    - allow_add_in_command
    argTypes:
    - GF_ISOFile*
    - char*
    - u32
    - GF_Fraction
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3440
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3440
    functionName: cat_playlist
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_url_concatenate
    - feof
    - gf_strdup
    - gf_fgets
    - GF_LOG
    - cat_isomedia_file
    - strchr
    - gf_free
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cat_playlist(GF_ISOFile *dest, char *playlistName, u32 import_flags,
      GF_Fraction force_fps, u32 frames_per_sample, Bool force_cat, Bool align_timelines,
      Bool allow_add_in_command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3876,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/fileimport.c:3879,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:3879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - cbck
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 3881
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3881
    functionName: wgt_enum_files
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wgt_enum_files(void *cbck, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3931,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3940,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:4019,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4043,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:4076,1
    - Dst: gf_xml_sax_binary_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3942,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3952,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3953,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3954,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3967,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3998,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3955,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4051,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4047,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3943,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:3949,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:4024,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4040,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/mp4box/fileimport.c:4074,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3958,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/fileimport.c:3970,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3977,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/fileimport.c:3984,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/applications/mp4box/fileimport.c:4008,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4051,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:4063,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3986,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3909,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3913,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4055,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/mp4box/fileimport.c:4060,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4042,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3904,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:4037,1
    - Dst: gf_isom_add_meta_item
      Src: /src/gpac/applications/mp4box/fileimport.c:4062,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:4036,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4039,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:4028,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:3914,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3924,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:4018,1
    - Dst: gf_isom_add_meta_item
      Src: /src/gpac/applications/mp4box/fileimport.c:4012,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4037,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:4064,1
    - Dst: gf_list_last
      Src: /src/gpac/applications/mp4box/fileimport.c:4070,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4047,1
    - Dst: gf_xml_get_root_type
      Src: /src/gpac/applications/mp4box/fileimport.c:3902,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3923,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/mp4box/fileimport.c:3936,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3941,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/fileimport.c:3973,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4039,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:4075,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:3904,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3910,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3928,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4044,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/applications/mp4box/fileimport.c:4071,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3908,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3917,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/applications/mp4box/fileimport.c:3972,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/mp4box/fileimport.c:3978,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3988,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/mp4box/fileimport.c:3992,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4041,1
    - Dst: gf_isom_set_meta_xml
      Src: /src/gpac/applications/mp4box/fileimport.c:4015,1
    - Dst: gf_enum_directory
      Src: /src/gpac/applications/mp4box/fileimport.c:3937,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:4005,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:4072,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3985,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:4003,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4055,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:4078,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:4069,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3965,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3981,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:4022,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 199
    argCount: 3
    argNames:
    - file_name
    - fcc
    - make_wgt
    argTypes:
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 4082
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 4082
    functionName: package_file
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_enum_directory
    - gf_xml_sax_del
    - gf_xml_sax_new
    - gf_list_last
    - GF_4CC
    - gf_list_del
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_xml_sax_binary_file
    - strcpy
    - gf_list_new
    - stricmp
    - gf_fopen
    - gf_isom_set_meta_xml
    - gf_list_rem_last
    - gf_list_get
    - gf_xml_get_root_type
    - gf_xml_sax_parse_file
    - gf_isom_set_meta_type
    - strchr
    - gf_free
    - M4_LOG
    - gf_isom_delete
    - gf_url_concatenate
    - gf_isom_add_meta_item
    - gf_isom_probe_file
    - strrchr
    - gf_isom_open
    - gf_list_rem
    - gf_fclose
    linkageType: ''
    returnType: GF_ISOFile*
    signature: 'GF_ISOFile *package_file(char *file_name, char *fcc, Bool make_wgt) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/applications/mp4box/fileimport.c:4106,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/applications/mp4box/fileimport.c:4112,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4118,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4136,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/fileimport.c:4155,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4156,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4158,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4156,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4160,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4163,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4168,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/fileimport.c:4148,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:4183,1
    - Dst: gf_isom_set_high_dynamic_range_info
      Src: /src/gpac/applications/mp4box/fileimport.c:4189,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/fileimport.c:4170,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4161,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:4093,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:4098,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4096,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:4114,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/fileimport.c:4125,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4137,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:4140,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4153,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4157,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4159,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:4143,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4160,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4172,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4171,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4172,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:4176,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:4094,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:4097,1
    - Dst: gf_isom_set_high_dynamic_range_info
      Src: /src/gpac/applications/mp4box/fileimport.c:4099,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/mp4box/fileimport.c:4105,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:4108,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/applications/mp4box/fileimport.c:4108,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/applications/mp4box/fileimport.c:4108,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:4119,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/fileimport.c:4115,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4131,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4158,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:4173,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:4183,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4165,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4164,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4162,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4162,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4164,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:4098,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/fileimport.c:4109,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/fileimport.c:4120,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:4138,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4157,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4159,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4161,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/fileimport.c:4135,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4163,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:4165,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:4166,1
    - Dst: gf_isom_set_high_dynamic_range_info
      Src: /src/gpac/applications/mp4box/fileimport.c:4184,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:4192,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/fileimport.c:4197,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:4171,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:4182,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 147
    argCount: 3
    argNames:
    - movie
    - track
    - file_name
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 4199
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4199
    functionName: apply_high_dynamc_range_xml_desc
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_isom_get_track_by_id
    - memset
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - gf_list_enum
    - fprintf
    - strcmp
    - parse_u32
    - gf_isom_set_high_dynamic_range_info
    - gf_isom_get_track_count
    - gf_xml_dom_get_root
    - M4_LOG
    - gf_isom_get_media_type
    - gf_xml_dom_get_line
    - gf_xml_dom_get_error
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err apply_high_dynamc_range_xml_desc(GF_ISOFile *movie, u32 track,
      char *file_name) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:576,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:593,1
    - Dst: parse_fracs
      Src: /src/gpac/applications/mp4box/fileimport.c:624,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:635,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:641,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:646,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/applications/mp4box/fileimport.c:666,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:667,1
    - Dst: parse_fracs
      Src: /src/gpac/applications/mp4box/fileimport.c:616,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:668,1
    - Dst: gf_isom_set_edit_with_rate
      Src: /src/gpac/applications/mp4box/fileimport.c:672,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:675,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:577,1
    - Dst: parse_fracs
      Src: /src/gpac/applications/mp4box/fileimport.c:610,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:614,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:575,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:584,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:585,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:602,1
    - Dst: parse_fracs
      Src: /src/gpac/applications/mp4box/fileimport.c:605,1
    - Dst: parse_fracs
      Src: /src/gpac/applications/mp4box/fileimport.c:621,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:630,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:637,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:681,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 123
    argCount: 3
    argNames:
    - dest
    - track
    - edits
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 692
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 692
    functionName: apply_edits
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_isom_get_timescale
    - gf_isom_get_media_duration
    - gf_isom_set_edit
    - gf_isom_remove_edits
    - fprintf
    - gf_isom_set_edit_with_rate
    - gf_timestamp_greater
    - gf_timestamp_rescale
    - strchr
    - gf_isom_get_media_timescale
    - parse_fracs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err apply_edits(GF_ISOFile *dest, u32 track, char *edits) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2622,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2625,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2624,1
    - Dst: gf_media_nal_rewrite_samples
      Src: /src/gpac/applications/mp4box/fileimport.c:2633,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2641,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2643,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2644,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2645,1
    - Dst: merge_parameter_set
      Src: /src/gpac/applications/mp4box/fileimport.c:2647,1
    - Dst: gf_isom_hevc_config_update
      Src: /src/gpac/applications/mp4box/fileimport.c:2654,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:2662,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2666,1
    - Dst: gf_isom_hevc_set_inband_config
      Src: /src/gpac/applications/mp4box/fileimport.c:2664,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2661,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2657,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2658,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 7
    argNames:
    - dest
    - tk_id
    - o_orig
    - src_track
    - force_cat
    - orig_nal_len
    - dst_nal_len
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile**
    - u32
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2670
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2670
    functionName: merge_hevc_config
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_list_get
    - gf_isom_hevc_config_update
    - M4_LOG
    - gf_list_count
    - gf_isom_hevc_set_inband_config
    - gf_odf_hevc_cfg_del
    - gf_media_nal_rewrite_samples
    - gf_isom_hevc_config_get
    - merge_parameter_set
    - gf_isom_set_nalu_extract_mode
    linkageType: ''
    returnType: u32
    signature: 'static u32 merge_hevc_config(GF_ISOFile *dest, u32 tk_id, GF_ISOFile
      **o_orig, u32 src_track, Bool force_cat, u32 *orig_nal_len, u32 *dst_nal_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3517,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3520,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/mp4box/fileimport.c:3524,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3518,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3525,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/mp4box/fileimport.c:3526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - base_layer
    argTypes:
    - stats
    constantsTouched: []
    func_position:
      end: 3551
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3551
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_sg_command_new
    - gf_node_new
    - gf_sg_command_field_new
    - gf_node_register
    linkageType: ''
    returnType: else
    signature: 'else if (stats->base_layer) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:386,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:388,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:392,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:393,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:409,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:432,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:469,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/applications/mp4box/fileimport.c:489,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/applications/mp4box/fileimport.c:496,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:498,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/applications/mp4box/fileimport.c:507,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/fileimport.c:517,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/fileimport.c:534,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:556,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:391,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:445,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:459,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:471,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:488,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/fileimport.c:510,1
    - Dst: memcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:536,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:555,1
    - Dst: gf_dolby_vision_level
      Src: /src/gpac/applications/mp4box/fileimport.c:567,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:446,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/applications/mp4box/fileimport.c:520,1
    - Dst: gf_isom_set_dolby_vision_profile
      Src: /src/gpac/applications/mp4box/fileimport.c:568,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:499,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/applications/mp4box/fileimport.c:516,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:390,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:425,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:421,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:448,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:454,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/fileimport.c:481,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:500,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/applications/mp4box/fileimport.c:528,1
    - Dst: gf_bs_seek
      Src: /src/gpac/applications/mp4box/fileimport.c:544,1
    - Dst: gf_bs_seek
      Src: /src/gpac/applications/mp4box/fileimport.c:527,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:501,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/fileimport.c:523,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:383,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:389,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:387,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:395,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:403,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:406,1
    - Dst: gf_isom_dovi_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:415,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:427,1
    - Dst: gf_isom_set_dolby_vision_profile
      Src: /src/gpac/applications/mp4box/fileimport.c:420,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:442,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/fileimport.c:521,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:547,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/fileimport.c:484,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/applications/mp4box/fileimport.c:531,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/fileimport.c:548,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/mp4box/fileimport.c:486,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 196
    argCount: 3
    argNames:
    - dest
    - track
    - dv_profile_str
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 569
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 569
    functionName: set_dv_profile
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - memset
    - gf_dolby_vision_level
    - gf_isom_avc_config_get
    - gf_bs_seek
    - gf_isom_dovi_config_get
    - gf_bs_skip_bytes
    - gf_bs_del
    - gf_isom_get_media_duration
    - strcmp
    - gf_odf_avc_cfg_del
    - gf_isom_get_media_timescale
    - gf_isom_av1_config_get
    - gf_bs_read_u8
    - gf_bs_get_position
    - memcmp
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_bs_read_int
    - gf_av1_parse_obu_header
    - gf_isom_set_dolby_vision_profile
    - strchr
    - gf_isom_hevc_config_get
    - parse_u32
    - gf_isom_get_sample_count
    - M4_LOG
    - gf_odf_dovi_cfg_del
    - gf_isom_sample_del
    - gf_isom_get_visual_info
    - gf_odf_hevc_cfg_del
    - gf_bs_available
    - gf_isom_get_sample
    - gf_av1_leb128_read
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err set_dv_profile(GF_ISOFile *dest, u32 track, char *dv_profile_str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/fileimport.c:2676,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/applications/mp4box/fileimport.c:2686,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/fileimport.c:2681,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/fileimport.c:2690,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/fileimport.c:2677,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/mp4box/fileimport.c:2696,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/applications/mp4box/fileimport.c:2697,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2700,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/applications/mp4box/fileimport.c:2703,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2706,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2707,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - samp
    - orig_nal_len
    - dst_nal_len
    argTypes:
    - GF_ISOSample*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2710
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2710
    functionName: rewrite_nal_size_field
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_realloc
    - gf_bs_write_data
    - gf_bs_read_int
    - gf_bs_new
    - gf_free
    - gf_bs_read_data
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewrite_nal_size_field(GF_ISOSample *samp, u32 orig_nal_len,
      u32 dst_nal_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:318,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/applications/mp4box/fileimport.c:321,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/applications/mp4box/fileimport.c:322,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/applications/mp4box/fileimport.c:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - str
    - f
    - dur
    argTypes:
    - char*
    - GF_Fraction64*
    - GF_Fraction64*
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: parse_fracs
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_parse_lfrac
    - strchr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err parse_fracs(char *str, GF_Fraction64 *f, GF_Fraction64 *dur) '
  - BBCount: 388
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:828,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/fileimport.c:869,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:992,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:999,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1047,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1261,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1053,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1092,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1147,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1209,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1039,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1171,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1567,1
    - Dst: gf_isom_set_handler_name
      Src: /src/gpac/applications/mp4box/fileimport.c:1826,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1913,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1937,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2042,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2213,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2216,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:932,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:991,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1146,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1165,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1890,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2183,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:786,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:941,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1313,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1104,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1108,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1398,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1648,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1988,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2215,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/fileimport.c:1286,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1000,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1049,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1093,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1161,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1207,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1364,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1372,1
    - Dst: mp4box_check_non_extk_fileopt
      Src: /src/gpac/applications/mp4box/fileimport.c:1436,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1655,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/fileimport.c:823,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:957,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1063,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1350,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1439,1
    - Dst: gf_isom_force_track_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:1656,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/applications/mp4box/fileimport.c:1742,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:1764,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1786,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1811,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:992,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1199,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1389,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1480,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1484,1
    - Dst: gf_isom_set_handler_name
      Src: /src/gpac/applications/mp4box/fileimport.c:1837,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1998,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:969,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:987,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1091,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1353,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2156,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/fileimport.c:2041,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2212,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1806,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1141,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/fileimport.c:834,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:998,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:1215,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/mp4box/fileimport.c:1495,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1635,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:1655,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:1662,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1711,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:1818,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1875,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2097,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1105,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1123,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/fileimport.c:781,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:861,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:960,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:995,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1071,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1343,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:1392,1
    - Dst: atoi
      Src: /src/gpac/applications/mp4box/fileimport.c:1407,1
    - Dst: gf_isom_add_track_kind
      Src: /src/gpac/applications/mp4box/fileimport.c:1869,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2187,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/applications/mp4box/fileimport.c:2060,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1903,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1119,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1248,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:924,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:852,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:989,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1498,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1502,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/fileimport.c:1605,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1638,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1771,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1047,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1079,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1251,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1072,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1129,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:857,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:939,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:947,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1384,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1402,1
    - Dst: gf_media_filter_hevc
      Src: /src/gpac/applications/mp4box/fileimport.c:2095,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1140,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:889,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:999,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1048,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:1660,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:1753,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1908,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/fileimport.c:864,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:996,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1069,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1076,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1166,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1319,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1346,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:1609,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:1619,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/applications/mp4box/fileimport.c:2149,1
    - Dst: gf_media_remove_non_rap
      Src: /src/gpac/applications/mp4box/fileimport.c:1822,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1126,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1184,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:923,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:959,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1025,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1136,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1171,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2086,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2120,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1084,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1163,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1068,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1192,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:1250,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1161,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1211,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:928,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1002,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1021,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2222,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:860,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:965,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1001,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1064,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1149,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1191,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1174,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1211,1
    - Dst: gf_cicp_parse_color_primaries
      Src: /src/gpac/applications/mp4box/fileimport.c:1333,1
    - Dst: gf_isom_set_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:1858,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/applications/mp4box/fileimport.c:2173,1
    - Dst: gf_isom_get_next_alternate_group_id
      Src: /src/gpac/applications/mp4box/fileimport.c:967,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:989,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1005,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1036,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1139,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1312,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/fileimport.c:1189,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1165,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1362,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1823,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2082,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2170,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2203,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1854,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1169,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:841,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:994,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1151,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1306,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1361,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1461,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1606,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/mp4box/fileimport.c:1692,1
    - Dst: gf_isom_set_sample_roll_group
      Src: /src/gpac/applications/mp4box/fileimport.c:1902,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1968,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2133,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1115,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/fileimport.c:1130,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:825,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:963,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1125,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1517,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1850,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1932,1
    - Dst: gf_media_import_chapters
      Src: /src/gpac/applications/mp4box/fileimport.c:2058,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/applications/mp4box/fileimport.c:2076,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2217,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1385,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1390,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1397,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1404,1
    - Dst: gf_crc_32
      Src: /src/gpac/applications/mp4box/fileimport.c:1599,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1641,1
    - Dst: gf_media_change_par
      Src: /src/gpac/applications/mp4box/fileimport.c:1773,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1870,1
    - Dst: gf_isom_set_audio_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1896,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2013,1
    - Dst: gf_media_split_lhvc
      Src: /src/gpac/applications/mp4box/fileimport.c:2132,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1149,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:868,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1064,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1166,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1237,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1496,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1792,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:1867,1
    - Dst: gf_isom_ac3_config_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2014,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2208,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/fileimport.c:2151,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:946,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:972,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:994,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1014,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1163,1
    - Dst: gf_cicp_parse_color_matrix
      Src: /src/gpac/applications/mp4box/fileimport.c:1347,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1369,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/fileimport.c:1474,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1483,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1504,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2218,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1655,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2190,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2144,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:1252,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1025,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1164,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1322,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1613,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:1757,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1855,1
    - Dst: gf_isom_set_last_sample_duration_ex
      Src: /src/gpac/applications/mp4box/fileimport.c:1942,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1930,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1150,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:925,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1000,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1253,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1503,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:1599,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:1617,1
    - Dst: gf_media_change_color
      Src: /src/gpac/applications/mp4box/fileimport.c:1777,1
    - Dst: gf_media_merge_svc
      Src: /src/gpac/applications/mp4box/fileimport.c:2109,1
    - Dst: apply_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:1992,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1245,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1259,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/fileimport.c:1302,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:988,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1023,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:1728,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1943,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:1967,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2066,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2174,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1196,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1043,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:907,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:935,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1122,1
    - Dst: gf_cicp_parse_color_transfer
      Src: /src/gpac/applications/mp4box/fileimport.c:1340,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1501,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1739,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:1747,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2093,1
    - Dst: gf_isom_set_track_matrix
      Src: /src/gpac/applications/mp4box/fileimport.c:1810,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1098,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1239,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:1291,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1075,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1154,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:1559,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:1868,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1895,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1993,1
    - Dst: gf_media_split_svc
      Src: /src/gpac/applications/mp4box/fileimport.c:2106,1
    - Dst: gf_eac3_parser
      Src: /src/gpac/applications/mp4box/fileimport.c:2025,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2128,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:2226,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1050,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:906,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1167,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1434,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1181,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1097,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1485,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1815,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:954,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:832,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:858,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:993,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/fileimport.c:1463,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1695,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1963,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1920,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1250,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1204,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1170,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1086,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1142,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1255,1
    - Dst: scan_color
      Src: /src/gpac/applications/mp4box/fileimport.c:1274,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:998,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1049,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1381,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:993,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1313,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1107,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:1265,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1778,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/applications/mp4box/fileimport.c:1997,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2110,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2210,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2214,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:936,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1043,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1050,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1119,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:1408,1
    - Dst: mp4box_check_isom_fileopt
      Src: /src/gpac/applications/mp4box/fileimport.c:1433,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1568,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1637,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1732,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:1756,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1045,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2192,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:880,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:1610,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1748,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:1836,1
    - Dst: gf_media_change_pl
      Src: /src/gpac/applications/mp4box/fileimport.c:1874,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1114,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1002,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1207,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1209,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1502,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1514,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1838,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2107,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/mp4box/fileimport.c:2154,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2194,1
    - Dst: gf_isom_get_track_magic
      Src: /src/gpac/applications/mp4box/fileimport.c:1715,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:895,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1048,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1124,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1147,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1162,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1167,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/fileimport.c:1647,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:1707,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1031,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1329,1
    - Dst: atoi
      Src: /src/gpac/applications/mp4box/fileimport.c:1420,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:948,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:990,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1211,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1482,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1916,1
    - Dst: gf_isom_set_rvc_config
      Src: /src/gpac/applications/mp4box/fileimport.c:1962,1
    - Dst: gf_isom_tmcd_config_new
      Src: /src/gpac/applications/mp4box/fileimport.c:2169,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1252,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:828,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1032,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1044,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1133,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1170,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1279,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1332,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/applications/mp4box/fileimport.c:1632,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2144,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:986,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:914,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:973,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1065,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1653,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1683,1
    - Dst: gf_isom_set_media_language
      Src: /src/gpac/applications/mp4box/fileimport.c:1734,1
    - Dst: gf_isom_set_clean_aperture
      Src: /src/gpac/applications/mp4box/fileimport.c:1781,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1801,1
    - Dst: gf_isom_set_image_sequence_coding_constraints
      Src: /src/gpac/applications/mp4box/fileimport.c:1805,1
    - Dst: gf_isom_rewrite_track_dependencies
      Src: /src/gpac/applications/mp4box/fileimport.c:2084,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2226,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/fileimport.c:2023,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:2201,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:1214,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1019,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1099,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1360,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1827,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1841,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2062,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1971,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1863,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:874,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:879,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:933,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1150,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1195,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1500,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1513,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1925,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/applications/mp4box/fileimport.c:2180,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2189,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/mp4box/fileimport.c:2202,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2143,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2184,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/fileimport.c:982,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:915,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:991,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1046,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1298,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1411,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:1883,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/applications/mp4box/fileimport.c:1956,1
    - Dst: gf_isom_ac3_config_update
      Src: /src/gpac/applications/mp4box/fileimport.c:2033,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2220,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1929,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:887,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:956,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:973,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:990,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1017,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1034,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/applications/mp4box/fileimport.c:1320,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1621,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1769,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2067,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1135,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1301,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1057,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1506,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1743,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1922,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1937,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1959,1
    - Dst: gf_isom_set_track_index
      Src: /src/gpac/applications/mp4box/fileimport.c:2050,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1846,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/fileimport.c:1283,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1177,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/fileimport.c:1288,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1149,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:995,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:997,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/applications/mp4box/fileimport.c:1634,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:1752,1
    - Dst: apply_high_dynamc_range_xml_desc
      Src: /src/gpac/applications/mp4box/fileimport.c:1796,1
    - Dst: set_chapter_track
      Src: /src/gpac/applications/mp4box/fileimport.c:1862,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/fileimport.c:1285,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/fileimport.c:1308,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1168,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1243,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:900,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1003,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1012,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:1866,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1929,1
    - Dst: gf_isom_set_rvc_config
      Src: /src/gpac/applications/mp4box/fileimport.c:1957,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/applications/mp4box/fileimport.c:2178,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:947,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:962,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:997,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1312,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1063,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1376,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1387,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1419,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1684,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1735,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2068,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1146,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1339,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1503,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1545,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1842,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1832,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1859,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:988,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/fileimport.c:1131,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/mp4box/fileimport.c:1738,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2181,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1947,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:943,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:966,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1012,1
    - Dst: CHECK_FAKEIMPORT_2
      Src: /src/gpac/applications/mp4box/fileimport.c:1065,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1082,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:1205,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1256,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1164,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:1268,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1316,1
    - Dst: gf_media_split_hevc_tiles
      Src: /src/gpac/applications/mp4box/fileimport.c:2127,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:884,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/fileimport.c:1188,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1622,1
    - Dst: gf_isom_set_alternate_group_id
      Src: /src/gpac/applications/mp4box/fileimport.c:1845,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2152,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:2177,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2221,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1909,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/applications/mp4box/fileimport.c:978,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:946,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1001,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1021,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1052,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1241,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:1408,1
    - Dst: gf_isom_new_external_track
      Src: /src/gpac/applications/mp4box/fileimport.c:1639,1
    - Dst: gf_isom_use_compact_size
      Src: /src/gpac/applications/mp4box/fileimport.c:1814,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/mp4box/fileimport.c:1953,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/fileimport.c:2176,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1886,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:885,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1029,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:1213,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1263,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/mp4box/fileimport.c:1284,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1307,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1200,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1481,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:1694,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1797,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/mp4box/fileimport.c:1836,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/fileimport.c:1171,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1168,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/fileimport.c:955,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:971,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1046,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1431,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/applications/mp4box/fileimport.c:1575,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2167,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1782,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2002,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1055,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1111,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:878,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:901,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:989,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:996,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1424,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:1603,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1763,1
    - Dst: gf_url_get_resource_name
      Src: /src/gpac/applications/mp4box/fileimport.c:1831,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1121,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/fileimport.c:1277,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1044,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:1475,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:1877,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:1937,1
    - Dst: gf_isom_text_set_display_flags
      Src: /src/gpac/applications/mp4box/fileimport.c:1987,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2034,1
    - Dst: gf_isom_set_track_group
      Src: /src/gpac/applications/mp4box/fileimport.c:1849,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1002,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1150,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1258,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:824,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:867,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1366,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/applications/mp4box/fileimport.c:1462,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1499,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1612,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:1889,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2211,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/fileimport.c:1251,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1073,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1081,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:1116,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/fileimport.c:980,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:918,1
    - Dst: CHECK_FAKEIMPORT
      Src: /src/gpac/applications/mp4box/fileimport.c:1001,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2097,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/applications/mp4box/fileimport.c:2182,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1400,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1051,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1774,1
    - Dst: set_dv_profile
      Src: /src/gpac/applications/mp4box/fileimport.c:1800,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1954,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1974,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:2077,1
    - Dst: gf_media_split_lhvc
      Src: /src/gpac/applications/mp4box/fileimport.c:2119,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2200,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1127,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1311,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1152,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/mp4box/fileimport.c:803,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:788,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/fileimport.c:876,1
    - Dst: gf_calloc
      Src: /src/gpac/applications/mp4box/fileimport.c:941,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:1489,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/applications/mp4box/fileimport.c:1565,1
    - Dst: gf_isom_set_visual_bit_depth
      Src: /src/gpac/applications/mp4box/fileimport.c:1785,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2049,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1169,1
    - Dst: gf_fread
      Src: /src/gpac/applications/mp4box/fileimport.c:1287,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1138,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1162,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:871,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1051,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1793,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2219,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:1958,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:1193,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1291,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:1045,1
    - Dst: GOTO_EXIT
      Src: /src/gpac/applications/mp4box/fileimport.c:1336,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/fileimport.c:1484,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:1560,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:1766,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2086,1
    CyclomaticComplexity: 533
    EdgeCount: 533
    ICount: 2195
    argCount: 9
    argNames:
    - dest
    - inName
    - import_flags
    - force_fps
    - frames_per_sample
    - fsess
    - mux_args_if_first_pass
    - mux_sid_if_first_pass
    - tk_idx
    argTypes:
    - GF_ISOFile*
    - char*
    - u32
    - GF_Fraction
    - u32
    - GF_FilterSession*
    - char**
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 2229
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 2229
    functionName: import_file
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_set_track_layout_info
    - gf_media_import
    - GOTO_EXIT
    - gf_media_split_svc
    - set_chapter_track
    - gf_isom_get_media_subtype
    - gf_isom_get_hevc_lhvc_type
    - gf_isom_get_media_type
    - gf_isom_is_external_track
    - gf_isom_rewrite_track_dependencies
    - gf_isom_add_sample
    - gf_strdup
    - gf_cicp_parse_color_matrix
    - gf_parse_frac
    - gf_isom_get_audio_info
    - gf_isom_append_edit
    - gf_isom_tmcd_config_new
    - gf_isom_is_track_enabled
    - gf_list_get
    - gf_isom_set_track_matrix
    - gf_isom_get_mpeg4_subtype
    - gf_isom_set_track_index
    - gf_ftell
    - gf_isom_get_track_duration
    - gf_media_change_pl
    - strchr
    - gf_isom_sample_new
    - gf_isom_sample_del
    - atof
    - gf_media_import_chapters
    - gf_media_filter_hevc
    - gf_isom_new_external_track
    - gf_isom_set_timescale
    - gf_isom_set_visual_bit_depth
    - gf_isom_open
    - gf_isom_set_image_sequence_coding_constraints
    - gf_fclose
    - gf_malloc
    - gf_isom_use_compact_size
    - gf_bs_get_content
    - gf_isom_set_last_sample_duration_ex
    - strncmp
    - apply_high_dynamc_range_xml_desc
    - gf_isom_set_media_type
    - gf_isom_set_visual_color_info
    - gf_file_ext_start
    - gf_isom_force_track_duration
    - gf_isom_get_track_by_id
    - gf_isom_set_composition_offset_mode
    - gf_isom_update_bitrate
    - gf_bs_del
    - gf_isom_set_media_language
    - gf_crc_32
    - gf_error_to_string
    - CHECK_FAKEIMPORT_2
    - gf_url_get_resource_name
    - gf_media_remove_non_rap
    - gf_isom_new_track
    - gf_isom_get_track_count
    - gf_isom_set_track_enabled
    - gf_fread
    - gf_isom_get_track_id
    - gf_isom_clone_track
    - parse_u32
    - M4_LOG
    - gf_sys_old_arch_compat
    - gf_isom_set_last_sample_duration
    - strcat
    - sscanf
    - gf_realloc
    - strrchr
    - gf_list_rem
    - CHECK_FAKEIMPORT
    - gf_isom_is_video_handler_type
    - gf_list_add
    - parse_s32
    - mp4box_check_non_extk_fileopt
    - gf_isom_set_media_timescale
    - gf_timestamp_rescale
    - gf_fseek
    - scan_color
    - strstr
    - gf_eac3_parser
    - gf_isom_remove_edits
    - gf_isom_get_track_magic
    - strcmp
    - gf_isom_set_media_subtype
    - gf_isom_add_chapter
    - GF_ARRAY_LENGTH
    - set_dv_profile
    - gf_isom_get_next_alternate_group_id
    - gf_isom_ac3_config_get
    - gf_isom_text_set_display_flags
    - gf_bs_write_u32
    - gf_isom_get_avc_svc_type
    - gf_isom_last_error
    - gf_free
    - strnicmp
    - gf_media_split_hevc_tiles
    - gf_isom_get_visual_info
    - gf_isom_ac3_config_update
    - gf_media_change_par
    - gf_isom_set_audio_info
    - gf_isom_get_sample
    - gf_calloc
    - memset
    - gf_isom_get_timescale
    - gf_file_load_data
    - gf_isom_set_track_flags
    - mp4box_check_isom_fileopt
    - GF_LOG
    - gf_4cc_to_str
    - gf_isom_set_clean_aperture
    - gf_isom_set_alternate_group_id
    - apply_edits
    - gf_gpac_version
    - gf_url_colon_suffix
    - gf_gz_compress_payload_ex
    - GF_4CC
    - gf_isom_get_media_duration
    - gf_list_del
    - gf_list_count
    - atoi
    - gf_isom_get_media_timescale
    - gf_list_new
    - stricmp
    - gf_fopen
    - gf_isom_set_track_reference
    - gf_isom_get_track_layout_info
    - sprintf
    - gf_isom_add_track_kind
    - gf_isom_set_rvc_config
    - gf_media_merge_svc
    - gf_bs_new
    - gf_isom_delete
    - gf_cicp_parse_color_primaries
    - gf_cicp_parse_color_transfer
    - gf_isom_probe_file
    - gf_isom_set_track_group
    - gf_isom_set_handler_name
    - strncpy
    - gf_isom_set_sample_roll_group
    - gf_media_split_lhvc
    - gf_media_change_color
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err import_file(GF_ISOFile *dest, char *inName, u32 import_flags,
      GF_Fraction force_fps, u32 frames_per_sample, GF_FilterSession *fsess, char
      **mux_args_if_first_pass, char **mux_sid_if_first_pass, u32 tk_idx) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2413,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/applications/mp4box/fileimport.c:2517,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2472,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2318,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2343,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2407,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2465,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2482,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/applications/mp4box/fileimport.c:2504,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:2506,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2431,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2488,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2507,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/applications/mp4box/fileimport.c:2520,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2460,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:2324,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2377,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2428,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2333,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2345,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2403,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2476,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2456,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/applications/mp4box/fileimport.c:2533,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2539,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2498,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2304,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/mp4box/fileimport.c:2315,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:2318,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2360,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2378,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2385,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/applications/mp4box/fileimport.c:2513,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/fileimport.c:2470,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2309,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/applications/mp4box/fileimport.c:2307,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2319,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2341,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2349,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2384,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2412,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2420,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/applications/mp4box/fileimport.c:2511,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/applications/mp4box/fileimport.c:2531,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2475,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:2303,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2372,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2392,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/fileimport.c:2480,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/applications/mp4box/fileimport.c:2535,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2328,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2391,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2406,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2448,1
    - Dst: on_split_event
      Src: /src/gpac/applications/mp4box/fileimport.c:2524,1
    - Dst: gf_fs_run
      Src: /src/gpac/applications/mp4box/fileimport.c:2529,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2542,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2441,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2447,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/mp4box/fileimport.c:2455,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/applications/mp4box/fileimport.c:2344,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2368,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2426,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2474,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2434,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2492,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2496,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2453,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2459,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2376,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2437,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2443,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:2467,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:2479,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2502,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/applications/mp4box/fileimport.c:2537,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/applications/mp4box/fileimport.c:2348,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/applications/mp4box/fileimport.c:2515,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2314,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2325,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:2542,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2479,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2394,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:2479,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2506,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/applications/mp4box/fileimport.c:2536,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:2459,1
    - Dst: gf_dir_exists
      Src: /src/gpac/applications/mp4box/fileimport.c:2469,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2334,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2370,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2395,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2419,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2483,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2499,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/applications/mp4box/fileimport.c:2519,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2402,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/fileimport.c:2446,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2440,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2339,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2331,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2356,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2357,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2365,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:2487,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/fileimport.c:2489,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 263
    argCount: 11
    argNames:
    - mp4
    - split_dur
    - split_size_kb
    - inName
    - InterleavingTime
    - chunk_start_time
    - adjust_split_end
    - outName
    - force_rap_split
    - split_range_str
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - Double
    - u64
    - char*
    - Double
    - Double
    - u32
    - char*
    - Bool
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2544
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2544
    functionName: split_isomedia_file
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_get_timescale
    - gf_fs_print_non_connected
    - gf_file_ext_start
    - gf_fs_run
    - gf_error_to_string
    - gf_fs_del
    - strcmp
    - strcpy
    - gf_fs_get_last_connect_error
    - stricmp
    - gf_dynstrcat
    - gf_filter_set_source
    - gf_fs_load_destination
    - on_split_event
    - sprintf
    - gf_sys_find_global_arg
    - gf_fs_new_defaults
    - strchr
    - gf_sys_is_test_mode
    - gf_free
    - gf_fs_print_stats
    - M4_LOG
    - gf_isom_get_duration
    - gf_fs_print_connections
    - gf_fs_enable_reporting
    - strcat
    - gf_fs_set_ui_callback
    - gf_log_get_tool_level
    - gf_fs_get_last_process_error
    - strrchr
    - gf_dir_exists
    - gf_sys_is_quiet
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err split_isomedia_file(GF_ISOFile *mp4, Double split_dur, u64
      split_size_kb, char *inName, Double InterleavingTime, Double chunk_start_time,
      u32 adjust_split_end, char *outName, Bool force_rap_split, const char *split_range_str,
      u32 fs_dump_flags) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:335,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:343,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:351,1
    - Dst: gf_cicp_parse_color_transfer
      Src: /src/gpac/applications/mp4box/fileimport.c:346,1
    - Dst: gf_cicp_parse_color_primaries
      Src: /src/gpac/applications/mp4box/fileimport.c:338,1
    - Dst: gf_cicp_parse_color_matrix
      Src: /src/gpac/applications/mp4box/fileimport.c:353,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:359,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:359,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:363,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/fileimport.c:363,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/fileimport.c:368,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 5
    argNames:
    - val
    - clr_prim
    - clr_tranf
    - clr_mx
    - clr_full_range
    argTypes:
    - char*
    - u32*
    - u32*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 372
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 372
    functionName: scan_color
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_cicp_parse_color_primaries
    - sscanf
    - gf_cicp_parse_color_transfer
    - gf_cicp_parse_color_matrix
    - strcmp
    - strchr
    linkageType: ''
    returnType: Bool
    signature: 'Bool scan_color(char *val, u32 *clr_prim, u32 *clr_tranf, u32 *clr_mx,
      Bool *clr_full_range) '
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2970,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3041,1
    - Dst: gf_isom_copy_sample_info
      Src: /src/gpac/applications/mp4box/fileimport.c:3144,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3224,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3261,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/fileimport.c:3282,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/applications/mp4box/fileimport.c:3304,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3245,1
    - Dst: gf_isom_modify_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3190,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2940,1
    - Dst: merge_hevc_config
      Src: /src/gpac/applications/mp4box/fileimport.c:3004,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/mp4box/fileimport.c:3134,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/applications/mp4box/fileimport.c:3298,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:3262,1
    - Dst: gf_isom_is_self_contained
      Src: /src/gpac/applications/mp4box/fileimport.c:3123,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3159,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3030,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/applications/mp4box/fileimport.c:2836,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/fileimport.c:2750,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:2752,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/fileimport.c:2759,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2920,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2891,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3141,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3165,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3298,1
    - Dst: gf_isom_get_track_original_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2882,1
    - Dst: gf_isom_is_same_sample_description
      Src: /src/gpac/applications/mp4box/fileimport.c:2976,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2974,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2731,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2792,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2821,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2895,1
    - Dst: merge_avc_config
      Src: /src/gpac/applications/mp4box/fileimport.c:2997,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3013,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3065,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3203,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:3262,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/applications/mp4box/fileimport.c:3289,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:2748,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2825,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2972,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/fileimport.c:3152,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3248,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3206,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2974,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:2925,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2771,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2842,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2855,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2923,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/applications/mp4box/fileimport.c:3031,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3064,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3077,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3127,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3215,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3258,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3268,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:3030,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/fileimport.c:2757,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2810,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/fileimport.c:3059,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3149,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3199,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3209,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3271,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/applications/mp4box/fileimport.c:2944,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2835,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:2939,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/fileimport.c:2894,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3054,1
    - Dst: gf_isom_get_sample_dts
      Src: /src/gpac/applications/mp4box/fileimport.c:3071,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3079,1
    - Dst: rewrite_nal_size_field
      Src: /src/gpac/applications/mp4box/fileimport.c:3125,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3180,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3189,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/fileimport.c:2745,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:2776,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/fileimport.c:2774,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2822,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2830,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:2834,1
    - Dst: gf_isom_clone_sample_description
      Src: /src/gpac/applications/mp4box/fileimport.c:3018,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3106,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/applications/mp4box/fileimport.c:3131,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3168,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3269,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3285,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2734,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:2764,1
    - Dst: gf_isom_get_sample_dts
      Src: /src/gpac/applications/mp4box/fileimport.c:2833,1
    - Dst: gf_isom_is_same_sample_description
      Src: /src/gpac/applications/mp4box/fileimport.c:2922,1
    - Dst: gf_isom_clone_pl_indications
      Src: /src/gpac/applications/mp4box/fileimport.c:3033,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3078,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3089,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3102,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3148,1
    - Dst: gf_media_update_bitrate
      Src: /src/gpac/applications/mp4box/fileimport.c:3255,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/fileimport.c:3275,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3270,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3250,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2787,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/fileimport.c:2762,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2823,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3068,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3090,1
    - Dst: gf_isom_enable_raw_pack
      Src: /src/gpac/applications/mp4box/fileimport.c:3099,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3136,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3183,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3251,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3269,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/fileimport.c:3300,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:3259,1
    - Dst: gf_isom_get_alternate_brand
      Src: /src/gpac/applications/mp4box/fileimport.c:3281,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:2947,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2921,1
    - Dst: cat_multiple_files
      Src: /src/gpac/applications/mp4box/fileimport.c:2732,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/fileimport.c:2731,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/fileimport.c:2740,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2792,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:2823,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3051,1
    - Dst: gf_isom_get_sample_dts
      Src: /src/gpac/applications/mp4box/fileimport.c:3071,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3080,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3295,1
    - Dst: gf_isom_is_self_contained
      Src: /src/gpac/applications/mp4box/fileimport.c:2876,1
    - Dst: gf_isom_add_sample_reference
      Src: /src/gpac/applications/mp4box/fileimport.c:3135,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3187,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3172,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:2984,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3046,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2829,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2884,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/fileimport.c:2982,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3042,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3155,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3249,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3252,1
    - Dst: gf_isom_get_brand_info
      Src: /src/gpac/applications/mp4box/fileimport.c:3278,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3188,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3015,1
    - Dst: cat_playlist
      Src: /src/gpac/applications/mp4box/fileimport.c:2729,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/fileimport.c:2785,1
    - Dst: gf_isom_is_self_contained
      Src: /src/gpac/applications/mp4box/fileimport.c:2809,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/fileimport.c:2887,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/fileimport.c:3111,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/applications/mp4box/fileimport.c:3161,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3201,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3210,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3227,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:2985,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/fileimport.c:2946,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/fileimport.c:2926,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/fileimport.c:2792,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:2817,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/applications/mp4box/fileimport.c:2937,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3061,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3084,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/fileimport.c:3109,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3167,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3173,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/fileimport.c:3223,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/applications/mp4box/fileimport.c:3229,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/fileimport.c:3309,1
    CyclomaticComplexity: 190
    EdgeCount: 190
    ICount: 618
    argCount: 9
    argNames:
    - dest
    - fileName
    - import_flags
    - force_fps
    - frames_per_sample
    - force_cat
    - align_timelines
    - allow_add_in_command
    - is_pl
    argTypes:
    - GF_ISOFile*
    - char*
    - u32
    - GF_Fraction
    - u32
    - Bool
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3311
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 3311
    functionName: cat_isomedia_file
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_isom_get_brand_info
    - gf_isom_get_timescale
    - gf_isom_add_sample_reference
    - gf_isom_set_media_timescale
    - import_file
    - gf_isom_get_chapter
    - gf_isom_get_track_original_id
    - gf_timestamp_rescale
    - gf_isom_is_same_sample_description
    - gf_4cc_to_str
    - rewrite_nal_size_field
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_url_colon_suffix
    - gf_isom_get_track_by_id
    - gf_isom_get_edit
    - gf_isom_is_self_contained
    - merge_hevc_config
    - GF_4CC
    - gf_isom_clone_sample_description
    - gf_isom_get_media_duration
    - gf_isom_get_sample_description_count
    - gf_isom_remove_edits
    - gf_isom_add_sample
    - gf_isom_update_duration
    - gf_isom_set_edit
    - gf_isom_add_chapter
    - gf_timestamp_less
    - gf_isom_modify_alternate_brand
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - gf_isom_get_alternate_brand
    - stricmp
    - gf_isom_modify_edit
    - gf_isom_get_media_language
    - gf_isom_get_chapter_count
    - gf_set_progress
    - gf_media_update_bitrate
    - gf_isom_get_sample_info
    - gf_isom_clone_pl_indications
    - gf_isom_get_track_id
    - gf_isom_clone_track
    - strchr
    - gf_isom_last_error
    - gf_free
    - cat_multiple_files
    - M4_LOG
    - gf_isom_get_sample_count
    - gf_isom_delete
    - gf_isom_get_duration
    - gf_isom_get_visual_info
    - merge_avc_config
    - gf_isom_get_edits_count
    - gf_isom_enable_raw_pack
    - gf_isom_sample_del
    - cat_playlist
    - gf_isom_set_last_sample_duration
    - gf_isom_get_sample_duration
    - gf_isom_set_timescale
    - gf_isom_probe_file
    - gf_isom_open
    - gf_isom_get_sample
    - gf_isom_copy_sample_info
    - gf_isom_get_sample_dts
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cat_isomedia_file(GF_ISOFile *dest, char *fileName, u32 import_flags,
      GF_Fraction force_fps, u32 frames_per_sample, Bool force_cat, Bool align_timelines,
      Bool allow_add_in_command, Bool is_pl) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/fileimport.c:3619,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3631,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3638,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3668,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3694,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3709,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3717,1
    - Dst: gf_bifs_encoder_get_version
      Src: /src/gpac/applications/mp4box/fileimport.c:3721,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3723,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/fileimport.c:3728,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3649,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3657,1
    - Dst: GetNbBits
      Src: /src/gpac/applications/mp4box/fileimport.c:3692,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3698,1
    - Dst: GetNbBits
      Src: /src/gpac/applications/mp4box/fileimport.c:3696,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3711,1
    - Dst: gf_bifs_encode_au
      Src: /src/gpac/applications/mp4box/fileimport.c:3725,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/fileimport.c:3729,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3735,1
    - Dst: gf_bifs_encoder_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3624,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/fileimport.c:3648,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3678,1
    - Dst: GetNbBits
      Src: /src/gpac/applications/mp4box/fileimport.c:3700,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3702,1
    - Dst: gf_bifs_encoder_new_stream
      Src: /src/gpac/applications/mp4box/fileimport.c:3708,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3718,1
    - Dst: gf_bifs_encoder_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3737,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/fileimport.c:3730,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/fileimport.c:3618,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3632,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3643,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3666,1
    - Dst: gf_odf_get_bifs_config
      Src: /src/gpac/applications/mp4box/fileimport.c:3688,1
    - Dst: gf_bifs_encoder_get_config
      Src: /src/gpac/applications/mp4box/fileimport.c:3715,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3724,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3727,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/fileimport.c:3731,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 125
    argCount: 3
    argNames:
    - ctx
    - bifsOutputFile
    - (*AUCallback)
    argTypes:
    - GF_SceneManager*
    - char*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 3739
      start: 3603
    functionDepth: 0
    functionLinenumber: 3603
    functionLinenumberEnd: 3739
    functionName: EncodeBIFSChunk
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - gf_bifs_encoder_get_config
    - gf_odf_desc_del
    - gf_fwrite
    - gf_bifs_encoder_get_version
    - gf_odf_desc_esd_new
    - gf_list_count
    - gf_odf_desc_new
    - strcpy
    - gf_fopen
    - gf_list_get
    - GetNbBits
    - gf_bifs_encode_au
    - sprintf
    - gf_bifs_encoder_new_stream
    - gf_bifs_encoder_new
    - gf_free
    - M4_LOG
    - gf_odf_get_bifs_config
    - strrchr
    - gf_bifs_encoder_del
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err EncodeBIFSChunk(GF_SceneManager *ctx, char *bifsOutputFile,
      GF_Err (*AUCallback)(GF_ISOSample *)) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/fileimport.c:3462,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3498,1
    - Dst: gf_sm_stats_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3484,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3517,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3520,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3558,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:3558,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/fileimport.c:3569,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/mp4box/fileimport.c:3570,1
    - Dst: gf_sm_stats_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3579,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/mp4box/fileimport.c:3526,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/fileimport.c:3563,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/fileimport.c:3479,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3500,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3508,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3518,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3525,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/mp4box/fileimport.c:3564,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/mp4box/fileimport.c:3574,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/fileimport.c:3575,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3582,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/mp4box/fileimport.c:3472,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3483,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3494,1
    - Dst: gf_sm_stats_for_scene
      Src: /src/gpac/applications/mp4box/fileimport.c:3485,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3505,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/mp4box/fileimport.c:3524,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/fileimport.c:3581,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3460,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/mp4box/fileimport.c:3461,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/fileimport.c:3474,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/fileimport.c:3475,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/fileimport.c:3475,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/mp4box/fileimport.c:3478,1
    - Dst: gf_sm_stats_get
      Src: /src/gpac/applications/mp4box/fileimport.c:3487,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3499,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3502,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/fileimport.c:3491,1
    - Dst: gf_sm_encode_to_file
      Src: /src/gpac/applications/mp4box/fileimport.c:3567,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 4
    argNames:
    - in
    - mp4
    - opts
    - logs
    argTypes:
    - char*
    - GF_ISOFile*
    - GF_SMEncodeOptions*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3586
      start: 3447
    functionDepth: 0
    functionLinenumber: 3447
    functionLinenumberEnd: 3586
    functionName: EncodeFile
    functionSourceFile: /src/gpac/applications/mp4box/fileimport.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sg_del
    - gf_sm_stats_new
    - gf_node_new
    - gf_sg_command_field_new
    - gf_sm_new
    - gf_error_to_string
    - gf_sm_del
    - gf_isom_modify_alternate_brand
    - gf_sm_stats_del
    - gf_sm_load_done
    - gf_log_set_tool_level
    - gf_list_insert
    - gf_sm_stats_for_scene
    - gf_list_get
    - gf_sg_command_new
    - fprintf
    - gf_log_set_callback
    - gf_sg_new
    - gf_sm_load_run
    - M4_LOG
    - gf_node_register
    - gf_sm_load_init
    - gf_sm_stats_get
    - gf_sm_encode_to_file
    - gf_isom_set_brand_info
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err EncodeFile(char *in, GF_ISOFile *mp4, GF_SMEncodeOptions *opts,
      FILE *logs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:501,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:502,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:504,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:503,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - val
    - add_space
    argTypes:
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 505
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 505
    functionName: PrintFixed
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - fprintf
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void PrintFixed(Fixed val, Bool add_space) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - nalh_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1048
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1048
    functionName: read_nal_size_hdr
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 read_nal_size_hdr(u8 *ptr, u32 nalh_size) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/mp4box/filedump.c:1378,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1414,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/applications/mp4box/filedump.c:1438,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/mp4box/filedump.c:1435,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/filedump.c:1440,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1438,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1442,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:1381,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:1408,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:1403,1
    - Dst: dump_isom_obu
      Src: /src/gpac/applications/mp4box/filedump.c:1423,1
    - Dst: dump_qt_prores
      Src: /src/gpac/applications/mp4box/filedump.c:1425,1
    - Dst: dump_isom_opus
      Src: /src/gpac/applications/mp4box/filedump.c:1427,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/applications/mp4box/filedump.c:1436,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1377,1
    - Dst: dump_isom_nal_ex
      Src: /src/gpac/applications/mp4box/filedump.c:1429,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/applications/mp4box/filedump.c:1438,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1410,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:1412,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1431,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 5
    argNames:
    - file
    - trackID
    - inName
    - is_final_name
    - dump_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 1446
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1446
    functionName: dump_isom_nal
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_get_media_subtype
    - gf_isom_get_track_by_id
    - gf_xml_dom_del
    - gf_xml_dom_new
    - strcpy
    - dump_isom_obu
    - gf_fopen
    - gf_xml_dom_get_line
    - gf_isom_get_esd
    - gf_xml_dom_parse
    - dump_isom_nal_ex
    - fprintf
    - dump_isom_opus
    - sprintf
    - M4_LOG
    - dump_qt_prores
    - gf_xml_dom_get_error
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_nal(GF_ISOFile *file, GF_ISOTrackID trackID, char
      *inName, Bool is_final_name, u32 dump_flags) '
  - BBCount: 203
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2781,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2873,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:3352,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:3438,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3189,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3646,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2942,1
    - Dst: gf_isom_get_rvc_config
      Src: /src/gpac/applications/mp4box/filedump.c:3077,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3323,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3320,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3448,1
    - Dst: gf_isom_stxt_get_description
      Src: /src/gpac/applications/mp4box/filedump.c:3364,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:2862,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2778,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3202,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3422,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3563,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/applications/mp4box/filedump.c:2913,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2995,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2899,1
    - Dst: gf_avc_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:2948,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/filedump.c:2768,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:2876,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3158,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3543,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/filedump.c:3604,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3625,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3238,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/applications/mp4box/filedump.c:2809,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3123,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3245,1
    - Dst: gf_isom_get_tmcd_config
      Src: /src/gpac/applications/mp4box/filedump.c:3552,1
    - Dst: gf_isom_is_adobe_protection_media
      Src: /src/gpac/applications/mp4box/filedump.c:3656,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2757,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2940,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3483,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3570,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3029,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3355,1
    - Dst: gf_isom_get_text_description
      Src: /src/gpac/applications/mp4box/filedump.c:3394,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2863,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2986,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2997,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3046,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3253,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3513,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3522,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3242,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:3318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3431,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3458,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3368,1
    - Dst: gf_isom_stxt_get_description
      Src: /src/gpac/applications/mp4box/filedump.c:3409,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3324,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/applications/mp4box/filedump.c:2840,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2951,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:2983,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3221,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3548,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3015,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2890,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/filedump.c:2767,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2778,1
    - Dst: gf_avc_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:2895,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:3250,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3443,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3118,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3167,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3315,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/filedump.c:2769,1
    - Dst: gf_m4v_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:2873,1
    - Dst: dump_vvc_track_info
      Src: /src/gpac/applications/mp4box/filedump.c:3450,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:3488,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3204,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3267,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3424,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3264,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3299,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/filedump.c:2771,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:2952,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3509,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3579,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/filedump.c:3371,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3240,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3120,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3500,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3658,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3399,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:3228,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3390,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2775,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3006,1
    - Dst: gf_media_map_esd
      Src: /src/gpac/applications/mp4box/filedump.c:3472,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:3560,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/applications/mp4box/filedump.c:2747,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:2805,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2925,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3045,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3100,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3583,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:2745,1
    - Dst: dump_hevc_track_info
      Src: /src/gpac/applications/mp4box/filedump.c:3018,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3042,1
    - Dst: gf_avc_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:2922,1
    - Dst: gf_isom_get_tile_info
      Src: /src/gpac/applications/mp4box/filedump.c:2994,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:3145,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3233,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3185,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3587,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/applications/mp4box/filedump.c:3593,1
    - Dst: gf_isom_is_omadrm_media
      Src: /src/gpac/applications/mp4box/filedump.c:3609,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3252,1
    - Dst: gf_isom_get_data_reference
      Src: /src/gpac/applications/mp4box/filedump.c:2787,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2894,1
    - Dst: dump_hevc_track_info
      Src: /src/gpac/applications/mp4box/filedump.c:3009,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/applications/mp4box/filedump.c:3141,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3533,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/applications/mp4box/filedump.c:2762,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2778,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2967,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3002,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:3046,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/filedump.c:3069,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3117,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3314,1
    - Dst: gf_isom_get_payt_count
      Src: /src/gpac/applications/mp4box/filedump.c:3331,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/applications/mp4box/filedump.c:2869,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3303,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3444,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3614,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3633,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/applications/mp4box/filedump.c:3251,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:3324,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/filedump.c:2765,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3147,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3427,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3494,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3528,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2917,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3376,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/filedump.c:3174,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3214,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3485,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3234,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3273,1
    - Dst: gf_isom_xml_subtitle_get_description
      Src: /src/gpac/applications/mp4box/filedump.c:3374,1
    - Dst: gf_m4a_object_type_name
      Src: /src/gpac/applications/mp4box/filedump.c:3118,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3576,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2906,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:2926,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:3014,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/filedump.c:3569,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3634,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3161,1
    - Dst: gf_isom_ac3_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:3281,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:3455,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:2944,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2888,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/filedump.c:2773,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2846,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3078,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:3133,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3265,1
    - Dst: gf_isom_get_omadrm_info
      Src: /src/gpac/applications/mp4box/filedump.c:3613,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3653,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3053,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3410,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3313,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/mp4box/filedump.c:2835,1
    - Dst: defined
      Src: /src/gpac/applications/mp4box/filedump.c:3010,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:3045,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/applications/mp4box/filedump.c:3600,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2895,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2961,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3206,1
    - Dst: defined
      Src: /src/gpac/applications/mp4box/filedump.c:3451,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:3547,1
    - Dst: gf_stream_type_afx_name
      Src: /src/gpac/applications/mp4box/filedump.c:3193,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2788,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2948,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3036,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3074,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3527,1
    - Dst: gf_inspect_format_timecode
      Src: /src/gpac/applications/mp4box/filedump.c:3556,1
    - Dst: gf_av1_get_obu_name
      Src: /src/gpac/applications/mp4box/filedump.c:3252,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2776,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2913,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2948,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:3023,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/applications/mp4box/filedump.c:3544,1
    - Dst: gf_codec_id_from_isobmf
      Src: /src/gpac/applications/mp4box/filedump.c:2750,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/mp4box/filedump.c:2772,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2781,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2941,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3365,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3130,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3260,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3649,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:2905,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/applications/mp4box/filedump.c:3140,1
    - Dst: gf_isom_get_payt_info
      Src: /src/gpac/applications/mp4box/filedump.c:3334,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2865,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/filedump.c:2810,1
    - Dst: defined
      Src: /src/gpac/applications/mp4box/filedump.c:3019,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3137,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:3147,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3415,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3378,1
    - Dst: gf_audio_fmt_get_layout_name_from_cicp
      Src: /src/gpac/applications/mp4box/filedump.c:3495,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2837,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/filedump.c:3322,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:3400,1
    - Dst: gf_audio_fmt_get_layout_name
      Src: /src/gpac/applications/mp4box/filedump.c:3485,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:3502,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3585,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3601,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3630,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:3187,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2922,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2999,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:3005,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3062,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:3147,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3216,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/filedump.c:3525,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3660,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2757,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2922,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:2960,1
    - Dst: gf_isom_get_sample_group_info
      Src: /src/gpac/applications/mp4box/filedump.c:2996,1
    - Dst: gf_isom_get_oinf_info
      Src: /src/gpac/applications/mp4box/filedump.c:3028,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3102,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/filedump.c:2766,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/applications/mp4box/filedump.c:2812,1
    - Dst: gf_ac3_get_bitrate
      Src: /src/gpac/applications/mp4box/filedump.c:3288,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3506,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3604,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:2754,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2987,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3030,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3075,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3312,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3361,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3311,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3356,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3635,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3168,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:2795,1
    - Dst: gf_isom_get_xml_metadata_description
      Src: /src/gpac/applications/mp4box/filedump.c:3421,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3614,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:3247,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:2919,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2949,1
    - Dst: gf_isom_get_mpegh_compatible_profiles
      Src: /src/gpac/applications/mp4box/filedump.c:3503,1
    - Dst: gf_isom_get_pcm_config
      Src: /src/gpac/applications/mp4box/filedump.c:3532,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3537,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3579,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/applications/mp4box/filedump.c:2902,1
    - Dst: gf_isom_stxt_get_description
      Src: /src/gpac/applications/mp4box/filedump.c:3354,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/filedump.c:3535,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3539,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3615,1
    - Dst: gf_media_get_rfc_6381_codec_name
      Src: /src/gpac/applications/mp4box/filedump.c:3665,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2984,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3119,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2935,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3223,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3326,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3381,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2896,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3582,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/applications/mp4box/filedump.c:3642,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3358,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2985,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3310,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2778,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2894,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2781,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2889,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/applications/mp4box/filedump.c:2956,1
    - Dst: gf_ac3_get_total_channels
      Src: /src/gpac/applications/mp4box/filedump.c:3283,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3520,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3646,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3241,1
    - Dst: gf_isom_is_self_contained
      Src: /src/gpac/applications/mp4box/filedump.c:2785,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2957,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:2968,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3194,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3261,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3632,1
    - Dst: gf_isom_cenc_get_default_info
      Src: /src/gpac/applications/mp4box/filedump.c:3644,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3150,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3271,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3412,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:2978,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:3046,1
    - Dst: gf_isom_truehd_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:3512,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/applications/mp4box/filedump.c:3531,1
    - Dst: gf_isom_is_ismacryp_media
      Src: /src/gpac/applications/mp4box/filedump.c:3599,1
    - Dst: dump_key_info
      Src: /src/gpac/applications/mp4box/filedump.c:3654,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/filedump.c:2759,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3155,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/filedump.c:3361,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3340,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3397,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/filedump.c:3528,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3602,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3607,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3651,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3660,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2757,1
    - Dst: gf_isom_dovi_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:2799,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3138,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3225,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:3445,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3620,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2948,1
    - Dst: gf_mpegh_get_mhas_pl
      Src: /src/gpac/applications/mp4box/filedump.c:3481,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3535,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2797,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2779,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:2934,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3301,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3442,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/filedump.c:3415,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/filedump.c:3166,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3254,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3307,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3470,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3605,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:3256,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3429,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2885,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3183,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3200,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3557,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3174,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3294,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3039,1
    - Dst: gf_odf_get_laser_config
      Src: /src/gpac/applications/mp4box/filedump.c:3199,1
    - Dst: gf_isom_get_lpcm_config
      Src: /src/gpac/applications/mp4box/filedump.c:3519,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3196,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:3236,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2870,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:2884,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2843,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2916,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3335,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3384,1
    - Dst: gf_codecid_name
      Src: /src/gpac/applications/mp4box/filedump.c:3539,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3601,1
    - Dst: gf_mp3_version_name
      Src: /src/gpac/applications/mp4box/filedump.c:3139,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2756,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2923,1
    - Dst: gf_isom_get_adobe_protection_info
      Src: /src/gpac/applications/mp4box/filedump.c:3657,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3662,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3375,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3073,1
    - Dst: gf_pixel_fmt_from_qt_type
      Src: /src/gpac/applications/mp4box/filedump.c:2749,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/applications/mp4box/filedump.c:2770,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2894,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2922,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/applications/mp4box/filedump.c:2930,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3026,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3328,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/filedump.c:3058,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3403,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2801,1
    - Dst: gf_codecid_from_oti
      Src: /src/gpac/applications/mp4box/filedump.c:3066,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/applications/mp4box/filedump.c:3099,1
    - Dst: gf_m4a_object_type_name
      Src: /src/gpac/applications/mp4box/filedump.c:3116,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2931,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3069,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/filedump.c:3136,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3486,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/applications/mp4box/filedump.c:3660,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3116,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2877,1
    - Dst: gf_isom_get_visual_bit_depth
      Src: /src/gpac/applications/mp4box/filedump.c:2796,1
    - Dst: print_config_hash
      Src: /src/gpac/applications/mp4box/filedump.c:2966,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3297,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3507,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/applications/mp4box/filedump.c:3636,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3658,1
    - Dst: gf_odf_get_bifs_config
      Src: /src/gpac/applications/mp4box/filedump.c:3181,1
    - Dst: gf_eac3_get_chan_loc_count
      Src: /src/gpac/applications/mp4box/filedump.c:3285,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/applications/mp4box/filedump.c:2881,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:2901,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/filedump.c:2791,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:3478,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/applications/mp4box/filedump.c:3567,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3574,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3666,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3417,1
    - Dst: gf_codecid_from_oti
      Src: /src/gpac/applications/mp4box/filedump.c:3172,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3371,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3033,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3054,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/applications/mp4box/filedump.c:3068,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/applications/mp4box/filedump.c:3142,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3544,1
    - Dst: gf_isom_get_dims_description
      Src: /src/gpac/applications/mp4box/filedump.c:3309,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3269,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2892,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3515,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3366,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3387,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3226,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:2838,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2886,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3219,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3616,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3608,1
    CyclomaticComplexity: 324
    EdgeCount: 324
    ICount: 890
    argCount: 7
    argNames:
    - file
    - trackNum
    - full_dump
    - dump_m4sys
    - mtype
    - stsd_idx
    - is_od_track
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    - Bool
    - u32
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 3668
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 3668
    functionName: DumpStsdInfo
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_avc_config_get
    - gf_media_get_rfc_6381_codec_name
    - gf_audio_fmt_get_layout_name_from_cicp
    - gf_odf_desc_del
    - gf_isom_get_media_subtype
    - gf_isom_get_audio_info
    - gf_odf_avc_cfg_del
    - gf_mp3_layer
    - print_config_hash
    - gf_list_get
    - gf_av1_get_obu_name
    - gf_isom_get_mpeg4_subtype
    - gf_isom_is_omadrm_media
    - gf_isom_sample_del
    - gf_mp3_version_name
    - gf_bs_read_utf8
    - gf_stream_type_name
    - gf_odf_hevc_cfg_del
    - gf_isom_get_tile_info
    - gf_codecid_from_oti
    - gf_isom_truehd_config_get
    - gf_m4v_get_config
    - gf_isom_svc_config_get
    - GF_SAFEALLOC
    - gf_pixel_fmt_from_qt_type
    - gf_isom_get_visual_bit_depth
    - gf_m4a_get_config
    - gf_odf_get_laser_config
    - gf_bs_del
    - gf_isom_is_self_contained
    - gf_isom_is_adobe_protection_media
    - gf_mp3_num_channels
    - gf_error_to_string
    - gf_isom_get_lpcm_config
    - gf_isom_get_generic_sample_description
    - gf_isom_get_esd
    - gf_isom_av1_config_get
    - gf_isom_get_payt_count
    - gf_isom_xml_subtitle_get_description
    - gf_isom_vvc_config_get
    - gf_isom_get_track_id
    - dump_vvc_track_info
    - M4_LOG
    - gf_isom_get_reference
    - defined
    - gf_bs_available
    - gf_isom_get_oinf_info
    - gf_stream_type_afx_name
    - gf_isom_get_tmcd_config
    - gf_isom_is_video_handler_type
    - gf_eac3_get_chan_loc_count
    - gf_avc_get_profile_name
    - gf_m4v_get_profile_name
    - gf_isom_is_media_encrypted
    - gf_avc_hevc_get_chroma_format_name
    - gf_isom_get_text_description
    - gf_isom_get_xml_metadata_description
    - gf_isom_get_cenc_info
    - gf_isom_ac3_config_get
    - fprintf
    - gf_odf_av1_cfg_del
    - gf_inspect_format_timecode
    - gf_isom_get_avc_svc_type
    - gf_codecid_name
    - gf_ac3_get_bitrate
    - gf_isom_last_error
    - gf_free
    - strnicmp
    - gf_isom_get_dims_description
    - gf_avc_get_sps_info
    - gf_isom_get_visual_info
    - gf_isom_is_ismacryp_media
    - gf_isom_get_data_reference
    - gf_isom_lhvc_config_get
    - gf_isom_get_adobe_protection_info
    - gf_isom_get_sample
    - gf_isom_get_original_format_type
    - gf_media_map_esd
    - gf_isom_get_ismacryp_info
    - gf_isom_dovi_config_get
    - gf_isom_get_payt_info
    - dump_hevc_track_info
    - gf_ac3_get_total_channels
    - gf_4cc_to_str
    - dump_key_info
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_rvc_config
    - gf_isom_get_mpegh_compatible_profiles
    - gf_isom_get_reference_count
    - GF_4CC
    - gf_list_count
    - gf_codec_id_from_isobmf
    - gf_sha1_csum
    - gf_m4a_object_type_name
    - gf_mpegh_get_mhas_pl
    - gf_audio_fmt_get_layout_name
    - gf_bs_read_u32
    - gf_isom_mvc_config_get
    - gf_isom_get_sample_group_info
    - gf_isom_get_track_layout_info
    - gf_isom_get_omadrm_info
    - gf_bs_new
    - gf_isom_is_cenc_media
    - gf_isom_hevc_config_get
    - gf_odf_dovi_cfg_del
    - gf_isom_stxt_get_description
    - gf_pixel_fmt_name
    - gf_odf_get_bifs_config
    - gf_mp3_sampling_rate
    - gf_isom_get_pcm_config
    - gf_isom_cenc_get_default_info
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'static void DumpStsdInfo(GF_ISOFile *file, u32 trackNum, Bool full_dump,
      Bool dump_m4sys, u32 mtype, u32 stsd_idx, Bool *is_od_track) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/filedump.c:376,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:385,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:411,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/applications/mp4box/filedump.c:415,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/mp4box/filedump.c:416,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/mp4box/filedump.c:430,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:446,1
    - Dst: gf_sg_command_apply
      Src: /src/gpac/applications/mp4box/filedump.c:453,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:463,1
    - Dst: gf_sm_stats_get
      Src: /src/gpac/applications/mp4box/filedump.c:466,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:472,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:486,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:488,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:441,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/filedump.c:484,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:470,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:486,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:491,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:445,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:461,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/filedump.c:383,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:385,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/filedump.c:386,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/filedump.c:394,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:398,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/mp4box/filedump.c:392,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/mp4box/filedump.c:393,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:416,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:417,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/mp4box/filedump.c:419,1
    - Dst: dump_stats
      Src: /src/gpac/applications/mp4box/filedump.c:426,1
    - Dst: gf_sm_stats_get
      Src: /src/gpac/applications/mp4box/filedump.c:426,1
    - Dst: ReorderAU
      Src: /src/gpac/applications/mp4box/filedump.c:437,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/filedump.c:482,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/mp4box/filedump.c:377,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:385,1
    - Dst: gf_sm_stats_reset
      Src: /src/gpac/applications/mp4box/filedump.c:468,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:475,1
    - Dst: gf_sm_stats_for_scene
      Src: /src/gpac/applications/mp4box/filedump.c:425,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:490,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/mp4box/filedump.c:480,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:483,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:432,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:435,1
    - Dst: gf_sm_stats_del
      Src: /src/gpac/applications/mp4box/filedump.c:481,1
    - Dst: get_file_type_by_ext
      Src: /src/gpac/applications/mp4box/filedump.c:382,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:378,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:387,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:399,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:413,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:402,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:400,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:414,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:419,1
    - Dst: gf_sm_stats_new
      Src: /src/gpac/applications/mp4box/filedump.c:421,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:433,1
    - Dst: gf_sm_stats_for_graph
      Src: /src/gpac/applications/mp4box/filedump.c:457,1
    - Dst: gf_sm_stats_for_command
      Src: /src/gpac/applications/mp4box/filedump.c:449,1
    - Dst: dump_stats
      Src: /src/gpac/applications/mp4box/filedump.c:466,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:443,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:436,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 128
    argCount: 4
    argNames:
    - file
    - inName
    - is_final_name
    - stat_level
    argTypes:
    - char*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 492
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 492
    functionName: dump_isom_scene_stats
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sg_del
    - gf_sm_stats_new
    - gf_sm_stats_for_command
    - gf_sm_new
    - get_file_type_by_ext
    - gf_gpac_version
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_sm_del
    - gf_file_basename
    - gf_sm_stats_del
    - strcpy
    - gf_sm_load_done
    - gf_list_new
    - gf_fopen
    - ReorderAU
    - gf_sm_stats_for_scene
    - gf_list_get
    - gf_set_progress
    - fprintf
    - gf_sg_new
    - gf_sm_load_run
    - gf_isom_last_error
    - gf_sys_is_test_mode
    - M4_LOG
    - gf_sm_load_init
    - gf_sg_command_apply
    - gf_isom_delete
    - dump_stats
    - strcat
    - gf_sm_stats_get
    - gf_sm_stats_for_graph
    - gf_isom_open
    - gf_sm_stats_reset
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_scene_stats(char *file, char *inName, Bool is_final_name,
      u32 stat_level) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:512,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:518,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:524,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:515,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:521,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:525,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:528,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:529,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:530,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:533,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:534,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:536,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:540,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:539,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:545,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:541,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:547,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:535,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - type
    - far_ptr
    argTypes:
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 550
    functionName: PrintNodeSFField
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - fprintf
    - PrintFixed
    linkageType: ''
    returnType: void
    signature: 'static void PrintNodeSFField(u32 type, void *far_ptr) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3714,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3724,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/filedump.c:3742,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3770,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3736,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3757,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3790,1
    - Dst: gf_isom_segment_get_track_fragment_count
      Src: /src/gpac/applications/mp4box/filedump.c:3802,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3977,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3698,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3703,1
    - Dst: GetLanguage
      Src: /src/gpac/applications/mp4box/filedump.c:3743,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3744,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3836,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3873,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:3952,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3957,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3885,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3938,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/filedump.c:3750,1
    - Dst: gf_isom_is_track_fragmented
      Src: /src/gpac/applications/mp4box/filedump.c:3795,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3724,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3730,1
    - Dst: gf_isom_enum_track_references
      Src: /src/gpac/applications/mp4box/filedump.c:3829,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3838,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3842,1
    - Dst: print_udta
      Src: /src/gpac/applications/mp4box/filedump.c:3845,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/mp4box/filedump.c:3935,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3813,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/filedump.c:3722,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3735,1
    - Dst: gf_isom_get_track_kind_count
      Src: /src/gpac/applications/mp4box/filedump.c:3785,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3895,1
    - Dst: gf_isom_get_max_sample_delta
      Src: /src/gpac/applications/mp4box/filedump.c:3911,1
    - Dst: gf_isom_get_chunks_infos
      Src: /src/gpac/applications/mp4box/filedump.c:3982,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3700,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3712,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3724,1
    - Dst: gf_isom_is_track_referenced
      Src: /src/gpac/applications/mp4box/filedump.c:3756,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3854,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/applications/mp4box/filedump.c:3883,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:3921,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3986,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3995,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3995,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3703,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3836,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3873,1
    - Dst: gf_isom_get_sync_point_count
      Src: /src/gpac/applications/mp4box/filedump.c:3899,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:3933,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/filedump.c:3988,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3691,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:3724,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3809,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3823,1
    - Dst: gf_isom_get_track_switch_group_count
      Src: /src/gpac/applications/mp4box/filedump.c:3857,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3875,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3984,1
    - Dst: gf_isom_enum_track_group
      Src: /src/gpac/applications/mp4box/filedump.c:3778,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:3688,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3697,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:3707,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3739,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/applications/mp4box/filedump.c:3741,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3763,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3779,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3983,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3961,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3712,1
    - Dst: gf_isom_get_media_original_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3710,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3734,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/filedump.c:3757,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/applications/mp4box/filedump.c:3766,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3789,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3864,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3911,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3923,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3963,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3758,1
    - Dst: gf_isom_get_track_flags
      Src: /src/gpac/applications/mp4box/filedump.c:3732,1
    - Dst: gf_isom_get_track_switch_parameter
      Src: /src/gpac/applications/mp4box/filedump.c:3862,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/applications/mp4box/filedump.c:3885,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3901,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:3903,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3914,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3955,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3872,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3992,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3737,1
    - Dst: gf_isom_get_composition_offset_shift
      Src: /src/gpac/applications/mp4box/filedump.c:3726,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3728,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/applications/mp4box/filedump.c:3730,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3768,1
    - Dst: gf_isom_get_fragment_defaults
      Src: /src/gpac/applications/mp4box/filedump.c:3811,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3832,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/filedump.c:3849,1
    - Dst: gf_isom_get_constant_sample_size
      Src: /src/gpac/applications/mp4box/filedump.c:3922,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3975,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:3762,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3780,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:3791,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3708,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3705,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3715,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3733,1
    - Dst: gf_isom_get_track_kind
      Src: /src/gpac/applications/mp4box/filedump.c:3788,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3859,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3903,1
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/applications/mp4box/filedump.c:3893,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:3701,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3714,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3738,1
    - Dst: gf_isom_get_handler_name
      Src: /src/gpac/applications/mp4box/filedump.c:3822,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3891,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3809,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:3685,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3698,1
    - Dst: gf_isom_check_data_reference
      Src: /src/gpac/applications/mp4box/filedump.c:3717,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3782,1
    - Dst: gf_isom_get_fragmented_samples_info
      Src: /src/gpac/applications/mp4box/filedump.c:3808,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3834,1
    - Dst: DumpMetaItem
      Src: /src/gpac/applications/mp4box/filedump.c:3847,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/applications/mp4box/filedump.c:3853,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3867,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:3780,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:3752,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/applications/mp4box/filedump.c:3695,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/filedump.c:3711,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:3718,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3743,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:3751,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3869,1
    - Dst: DumpStsdInfo
      Src: /src/gpac/applications/mp4box/filedump.c:3889,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:3924,1
    - Dst: gf_isom_segment_get_track_fragment_decode_time
      Src: /src/gpac/applications/mp4box/filedump.c:3804,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3762,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3772,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3908,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:3961,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/applications/mp4box/filedump.c:3994,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 322
    argCount: 5
    argNames:
    - file
    - trackID
    - full_dump
    - is_track_num
    - dump_m4sys
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3998
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3998
    functionName: DumpTrackInfo
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_enum_track_references
    - gf_isom_enum_track_group
    - gf_isom_get_timescale
    - gf_isom_is_track_in_root_od
    - gf_isom_get_composition_offset_shift
    - gf_isom_get_fragment_defaults
    - gf_isom_get_chapter
    - gf_isom_segment_get_track_fragment_count
    - gf_isom_has_sync_points
    - gf_4cc_to_str
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_isom_is_external_track
    - gf_isom_get_track_by_id
    - gf_isom_get_media_duration
    - gf_isom_get_sample_description_count
    - strcmp
    - DumpStsdInfo
    - gf_isom_segment_get_track_fragment_decode_time
    - gf_isom_is_video_handler_type
    - gf_isom_is_track_referenced
    - gf_isom_get_sync_point_count
    - gf_isom_get_media_timescale
    - gf_isom_get_constant_sample_duration
    - gf_isom_get_fragmented_samples_info
    - gf_isom_get_track_flags
    - DumpMetaItem
    - gf_isom_get_chapter_count
    - gf_isom_get_track_kind
    - gf_isom_get_sample_info
    - fprintf
    - gf_isom_get_track_layout_info
    - gf_isom_get_track_id
    - gf_isom_get_mpeg4_subtype
    - gf_isom_get_handler_name
    - gf_isom_get_track_duration
    - GetLanguage
    - gf_isom_is_track_fragmented
    - gf_isom_get_track_kind_count
    - gf_free
    - M4_LOG
    - gf_isom_get_sample_count
    - gf_isom_get_edits_count
    - gf_isom_get_filename
    - gf_isom_sample_del
    - print_udta
    - gf_isom_get_constant_sample_size
    - gf_isom_get_media_original_duration
    - gf_isom_check_data_reference
    - gf_isom_get_max_sample_delta
    - gf_media_get_reduced_frame_rate
    - gf_isom_get_chunks_infos
    - gf_isom_get_track_switch_group_count
    - gf_isom_get_track_switch_parameter
    - format_duration
    - gf_isom_get_sample
    - gf_isom_get_media_language
    linkageType: ''
    returnType: void
    signature: 'void DumpTrackInfo(GF_ISOFile *file, GF_ISOTrackID trackID, Bool full_dump,
      Bool is_track_num, Bool dump_m4sys) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/filedump.c:4676,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/filedump.c:4680,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/mp4box/filedump.c:4716,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/filedump.c:4680,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:4684,1
    - Dst: gf_cfg_new
      Src: /src/gpac/applications/mp4box/filedump.c:4686,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/filedump.c:4696,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:4702,1
    - Dst: gf_dir_exists
      Src: /src/gpac/applications/mp4box/filedump.c:4710,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/filedump.c:4704,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/applications/mp4box/filedump.c:4687,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/filedump.c:4688,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/filedump.c:4693,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/mp4box/filedump.c:4715,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/filedump.c:4701,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4719,1
    - Dst: gf_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:4723,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4677,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:4683,1
    - Dst: gf_mkdir
      Src: /src/gpac/applications/mp4box/filedump.c:4711,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/filedump.c:4700,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4721,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/filedump.c:4724,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - item_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4725
      start: 4670
    functionDepth: 0
    functionLinenumber: 4670
    functionLinenumberEnd: 4725
    functionName: revert_cache_file
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - strncmp
    - strstr
    - gf_file_delete
    - strcpy
    - fprintf
    - gf_mkdir
    - gf_cfg_new
    - gf_cfg_get_key
    - gf_free
    - M4_LOG
    - strcat
    - gf_file_move
    - gf_cfg_del
    - gf_dir_exists
    - strncpy
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void revert_cache_file(char *item_path) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_basename
      Src: /src/gpac/applications/mp4box/filedump.c:4745,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/mp4box/filedump.c:4751,1
    - Dst: gf_dm_new
      Src: /src/gpac/applications/mp4box/filedump.c:4752,1
    - Dst: get_file
      Src: /src/gpac/applications/mp4box/filedump.c:4764,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4766,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:4769,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4774,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/mp4box/filedump.c:4783,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/filedump.c:4787,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4788,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/filedump.c:4793,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4800,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4884,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4889,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/applications/mp4box/filedump.c:4896,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/applications/mp4box/filedump.c:4862,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:4744,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4763,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4766,1
    - Dst: gf_dm_sess_get_header_sizes_and_times
      Src: /src/gpac/applications/mp4box/filedump.c:4770,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4778,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4780,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/applications/mp4box/filedump.c:4769,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/applications/mp4box/filedump.c:4771,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4788,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4800,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4872,1
    - Dst: revert_cache_file
      Src: /src/gpac/applications/mp4box/filedump.c:4896,1
    - Dst: gf_mpd_del
      Src: /src/gpac/applications/mp4box/filedump.c:4905,1
    - Dst: revert_cache_file
      Src: /src/gpac/applications/mp4box/filedump.c:4862,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4897,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/mp4box/filedump.c:4747,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/mp4box/filedump.c:4749,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/applications/mp4box/filedump.c:4784,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/applications/mp4box/filedump.c:4792,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4796,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4850,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/applications/mp4box/filedump.c:4869,1
    - Dst: get_file
      Src: /src/gpac/applications/mp4box/filedump.c:4885,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4887,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4889,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/applications/mp4box/filedump.c:4898,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4859,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4863,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4872,1
    - Dst: gf_dm_del
      Src: /src/gpac/applications/mp4box/filedump.c:4906,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/applications/mp4box/filedump.c:4864,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/filedump.c:4822,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/filedump.c:4829,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4880,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4856,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4781,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4774,1
    - Dst: gf_mpd_new
      Src: /src/gpac/applications/mp4box/filedump.c:4791,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/applications/mp4box/filedump.c:4792,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4796,1
    - Dst: revert_cache_file
      Src: /src/gpac/applications/mp4box/filedump.c:4803,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4805,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/applications/mp4box/filedump.c:4841,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4843,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4851,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4881,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/filedump.c:4811,1
    - Dst: get_file
      Src: /src/gpac/applications/mp4box/filedump.c:4857,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4843,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:4859,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 141
    argCount: 2
    argNames:
    - mpd_src
    - output_dir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4911
      start: 4728
    functionDepth: 0
    functionLinenumber: 4728
    functionLinenumberEnd: 4911
    functionName: rip_mpd
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_mpd_new
    - get_file
    - GF_LOG
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_error_to_string
    - gf_file_basename
    - strcpy
    - gf_dm_new
    - gf_xml_dom_parse
    - gf_mpd_init_from_dom
    - gf_dm_sess_get_cache_name
    - gf_list_enum
    - fprintf
    - gf_free
    - gf_dm_del
    - revert_cache_file
    - gf_dm_sess_del
    - gf_opts_set_key
    - gf_mpd_resolve_url
    - gf_dm_sess_get_header_sizes_and_times
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rip_mpd(const char *mpd_src, const char *output_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/applications/mp4box/filedump.c:75,1
    - Dst: va_end
      Src: /src/gpac/applications/mp4box/filedump.c:78,1
    - Dst: vfprintf
      Src: /src/gpac/applications/mp4box/filedump.c:76,1
    - Dst: fflush
      Src: /src/gpac/applications/mp4box/filedump.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: mp4box_log
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - va_end
    - fflush
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void mp4box_log(const char *fmt, ...) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2020,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:2024,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:2026,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/filedump.c:2022,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2028,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2033,1
    - Dst: gf_isom_sdp_get
      Src: /src/gpac/applications/mp4box/filedump.c:2036,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2038,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2039,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:2042,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2046,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:2049,1
    - Dst: gf_isom_sdp_track_get
      Src: /src/gpac/applications/mp4box/filedump.c:2044,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2048,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/filedump.c:2043,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - file
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2050
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2050
    functionName: dump_isom_sdp
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - strcat
    - fprintf
    - gf_isom_sdp_get
    - strchr
    - gf_isom_get_track_count
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_isom_sdp_track_get
    - gf_fopen
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_sdp(GF_ISOFile *file, char *inName, Bool is_final_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:2558,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/applications/mp4box/filedump.c:2560,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2561,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2562,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:2559,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - xps_array
    - szName
    argTypes:
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 2565
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2565
    functionName: print_config_hash
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_sha1_csum
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void print_config_hash(GF_List *xps_array, char *szName) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:153,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/filedump.c:167,1
    - Dst: get_file_type_by_ext
      Src: /src/gpac/applications/mp4box/filedump.c:165,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:169,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:170,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:170,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/applications/mp4box/filedump.c:207,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/applications/mp4box/filedump.c:209,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:216,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:218,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:220,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/filedump.c:228,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:227,1
    - Dst: gf_sm_new
      Src: /src/gpac/applications/mp4box/filedump.c:152,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:193,1
    - Dst: gf_isom_disable_odf_conversion
      Src: /src/gpac/applications/mp4box/filedump.c:176,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/filedump.c:179,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:186,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/filedump.c:204,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/filedump.c:211,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/mp4box/filedump.c:212,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:213,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/applications/mp4box/filedump.c:208,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/filedump.c:151,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/filedump.c:171,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:191,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:188,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:191,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/filedump.c:192,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/filedump.c:194,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:201,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:202,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/applications/mp4box/filedump.c:205,1
    - Dst: gf_sm_del
      Src: /src/gpac/applications/mp4box/filedump.c:225,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:172,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/filedump.c:183,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:226,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:227,1
    - Dst: gf_sm_dump
      Src: /src/gpac/applications/mp4box/filedump.c:222,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 6
    argNames:
    - file
    - inName
    - is_final_name
    - dump_mode
    - do_log
    - no_odf_conv
    argTypes:
    - char*
    - char*
    - Bool
    - GF_SceneDumpFormat
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 230
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 230
    functionName: dump_isom_scene
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sg_del
    - gf_isom_disable_odf_conversion
    - import_file
    - gf_sm_new
    - get_file_type_by_ext
    - gf_error_to_string
    - gf_list_count
    - gf_sm_del
    - gf_sm_load_done
    - gf_log_set_tool_level
    - gf_fopen
    - fprintf
    - sprintf
    - gf_sg_new
    - gf_log_set_callback
    - gf_sm_load_run
    - gf_isom_last_error
    - M4_LOG
    - gf_sm_load_init
    - gf_isom_delete
    - gf_isom_open
    - gf_fclose
    - gf_sm_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_scene(char *file, char *inName, Bool is_final_name,
      GF_SceneDumpFormat dump_mode, Bool do_log, Bool no_odf_conv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/applications/mp4box/filedump.c:607,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/applications/mp4box/filedump.c:601,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:619,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:630,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:632,1
    - Dst: PrintNodeSFField
      Src: /src/gpac/applications/mp4box/filedump.c:633,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:641,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:650,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:657,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:662,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:653,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:638,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:655,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/mp4box/filedump.c:665,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/applications/mp4box/filedump.c:564,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/mp4box/filedump.c:583,1
    - Dst: gf_node_unregister
      Src: /src/gpac/applications/mp4box/filedump.c:590,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/applications/mp4box/filedump.c:606,1
    - Dst: gf_node_in_table_by_tag
      Src: /src/gpac/applications/mp4box/filedump.c:616,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/applications/mp4box/filedump.c:616,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:624,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:629,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/applications/mp4box/filedump.c:631,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/applications/mp4box/filedump.c:639,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:651,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/applications/mp4box/filedump.c:642,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:570,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:573,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:587,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:598,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/applications/mp4box/filedump.c:609,1
    - Dst: gf_node_get_field
      Src: /src/gpac/applications/mp4box/filedump.c:622,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/applications/mp4box/filedump.c:628,1
    - Dst: PrintNodeSFField
      Src: /src/gpac/applications/mp4box/filedump.c:643,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:645,1
    - Dst: gf_bifs_get_aq_info
      Src: /src/gpac/applications/mp4box/filedump.c:648,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:656,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/applications/mp4box/filedump.c:569,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/mp4box/filedump.c:582,1
    - Dst: gf_node_in_table_by_tag
      Src: /src/gpac/applications/mp4box/filedump.c:584,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:585,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/filedump.c:586,1
    - Dst: gf_sg_script_get_field_index
      Src: /src/gpac/applications/mp4box/filedump.c:604,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/applications/mp4box/filedump.c:608,1
    - Dst: gf_bifs_get_child_table
      Src: /src/gpac/applications/mp4box/filedump.c:600,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:628,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/applications/mp4box/filedump.c:628,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:668,1
    - Dst: PrintFixed
      Src: /src/gpac/applications/mp4box/filedump.c:654,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 6
    argNames:
    - node
    - sg
    - name
    - graph_type
    - is_nodefield
    - do_cov
    argTypes:
    - GF_Node*
    - GF_SceneGraph*
    - char*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 670
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 670
    functionName: do_print_node
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_field_by_name
    - gf_sg_vrml_mf_get_item
    - gf_node_new
    - gf_sg_script_get_field_index
    - gf_sg_vrml_get_event_type_name
    - gf_node_unregister
    - gf_node_get_num_fields_in_mode
    - gf_node_mpeg4_type_by_class_name
    - gf_node_in_table_by_tag
    - strcmp
    - PrintNodeSFField
    - gf_node_get_class_name
    - fprintf
    - gf_node_get_field
    - gf_bifs_get_child_table
    - gf_sg_vrml_is_sf_field
    - gf_node_register
    - M4_LOG
    - gf_sg_vrml_get_field_type_name
    - PrintFixed
    - gf_bifs_get_aq_info
    - gf_node_get_field_count
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void do_print_node(GF_Node *node, GF_SceneGraph *sg, const
      char *name, u32 graph_type, Bool is_nodefield, Bool do_cov) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/filedump.c:1081,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1170,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1179,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:1185,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1327,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1333,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1306,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:1146,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:1152,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1188,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1216,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/filedump.c:1269,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:1254,1
    - Dst: gf_isom_get_reference_ID
      Src: /src/gpac/applications/mp4box/filedump.c:1261,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/filedump.c:1355,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1359,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1240,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1307,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1079,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1089,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1127,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:1201,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1230,1
    - Dst: gf_isom_is_adobe_protection_media
      Src: /src/gpac/applications/mp4box/filedump.c:1281,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1242,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1350,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1265,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1298,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1085,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1175,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1292,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1129,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:1137,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:1202,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:1277,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1204,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1190,1
    - Dst: gf_inspect_dump_nalu
      Src: /src/gpac/applications/mp4box/filedump.c:1337,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1346,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1352,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1218,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1155,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1158,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1161,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1174,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1212,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1268,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:1275,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1339,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1353,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1234,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1246,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1317,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/applications/mp4box/filedump.c:1083,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1192,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1238,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1360,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1128,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1214,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:1226,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1349,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1125,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1194,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/applications/mp4box/filedump.c:1282,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:1186,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1262,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1208,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1296,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1247,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1358,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1290,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1169,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1130,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1210,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1245,1
    - Dst: gf_isom_get_sample_cenc_info
      Src: /src/gpac/applications/mp4box/filedump.c:1331,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1077,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:1142,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1168,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1258,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:1225,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/applications/mp4box/filedump.c:1287,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1232,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1324,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:1333,1
    - Dst: read_nal_size_hdr
      Src: /src/gpac/applications/mp4box/filedump.c:1320,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1126,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/filedump.c:1154,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1295,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1075,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1180,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1206,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/applications/mp4box/filedump.c:1228,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1347,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 259
    argCount: 4
    argNames:
    - file
    - trackID
    - dump
    - dump_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - FILE*
    - u32
    constantsTouched: []
    func_position:
      end: 1364
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1364
    functionName: dump_isom_nal_ex
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_inspect_dump_nalu
    - gf_isom_get_nalu_extract_mode
    - gf_isom_avc_config_get
    - gf_isom_svc_config_get
    - GF_SAFEALLOC
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_reference_count
    - gf_isom_get_track_by_id
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_is_adobe_protection_media
    - gf_error_to_string
    - gf_isom_get_sample_description_count
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_isom_get_reference_ID
    - gf_isom_get_media_timescale
    - read_nal_size_hdr
    - gf_list_get
    - gf_set_progress
    - gf_isom_mvc_config_get
    - fprintf
    - gf_isom_vvc_config_get
    - gf_isom_last_error
    - gf_isom_hevc_config_get
    - gf_isom_is_cenc_media
    - M4_LOG
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_free
    - gf_isom_get_reference
    - DUMP_ARRAY
    - gf_isom_get_sample_cenc_info
    - gf_isom_lhvc_config_get
    - gf_odf_hevc_cfg_del
    - gf_isom_get_sample
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_isom_nal_ex(GF_ISOFile *file, GF_ISOTrackID trackID,
      FILE *dump, u32 dump_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2214,1
    - Dst: asctime
      Src: /src/gpac/applications/mp4box/filedump.c:2218,1
    - Dst: gf_gmtime
      Src: /src/gpac/applications/mp4box/filedump.c:2218,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - time
    - szTime
    argTypes:
    - u64
    - char*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2221
    functionName: format_date
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_gmtime
    - sprintf
    - asctime
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *format_date(u64 time, char *szTime) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:2299,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2302,1
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/applications/mp4box/filedump.c:2300,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/applications/mp4box/filedump.c:2308,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2302,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2310,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2310,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:2310,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2316,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2318,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2318,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2322,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/filedump.c:2329,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:2330,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:2320,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2323,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2333,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2331,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - file
    - inName
    - is_final_name
    - dump_udta_type
    - dump_udta_track
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2337
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2337
    functionName: dump_isom_udta
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_user_data
    - memset
    - gf_error_to_string
    - gf_isom_get_user_data_count
    - strcpy
    - sprintf
    - gf_fwrite
    - gf_4cc_to_str
    - gf_fclose
    - M4_LOG
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_udta(GF_ISOFile *file, char *inName, Bool is_final_name,
      u32 dump_udta_type, u32 dump_udta_track) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:677,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/filedump.c:688,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:699,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:703,1
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:696,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:707,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/filedump.c:711,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/mp4box/filedump.c:712,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/mp4box/filedump.c:713,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:714,1
    - Dst: do_print_node
      Src: /src/gpac/applications/mp4box/filedump.c:719,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:722,1
    - Dst: gf_node_unregister
      Src: /src/gpac/applications/mp4box/filedump.c:721,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - name
    - graph_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 725
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 725
    functionName: PrintNode
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_node_mpeg4_type_by_class_name
    - gf_node_x3d_type_by_class_name
    - gf_node_register
    - gf_sg_del
    - gf_sg_new
    - gf_node_new
    - strchr
    - gf_node_get_class_name
    - M4_LOG
    - gf_node_unregister
    - do_print_node
    linkageType: ''
    returnType: u32
    signature: 'u32 PrintNode(const char *name, u32 graph_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2204,1
    - Dst: gf_format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:2207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dur
    - timescale
    - szDur
    argTypes:
    - u64
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2208
    functionName: format_duration
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_format_duration
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'static const char *format_duration(u64 dur, u32 timescale, char *szDur) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_udta_count
      Src: /src/gpac/applications/mp4box/filedump.c:2227,1
    - Dst: gf_isom_get_udta_type
      Src: /src/gpac/applications/mp4box/filedump.c:2234,1
    - Dst: gf_isom_get_udta_type
      Src: /src/gpac/applications/mp4box/filedump.c:2250,1
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/applications/mp4box/filedump.c:2252,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2245,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/applications/mp4box/filedump.c:2255,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2257,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2257,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/applications/mp4box/filedump.c:2257,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/applications/mp4box/filedump.c:2261,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2288,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2283,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2263,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2280,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:2285,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/applications/mp4box/filedump.c:2276,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - file
    - track_number
    - has_meta_tags
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2289
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2289
    functionName: print_udta
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_user_data
    - gf_utf8_is_legal
    - gf_itags_find_by_itag
    - fprintf
    - gf_isom_get_user_data_count
    - gf_isom_get_udta_type
    - gf_4cc_to_str
    - gf_itags_get_name
    - gf_isom_get_udta_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void print_udta(GF_ISOFile *file, u32 track_number, Bool has_meta_tags) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:2355,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2365,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2389,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2392,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:2379,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2403,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2406,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2413,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:2354,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:2366,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:2382,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2393,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:2409,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/filedump.c:2347,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/filedump.c:2356,1
    - Dst: dump_isom_timed_text
      Src: /src/gpac/applications/mp4box/filedump.c:2366,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2390,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/applications/mp4box/filedump.c:2400,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:2377,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2402,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:2402,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2408,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:2415,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2361,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2372,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:2375,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2391,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 4
    argNames:
    - file
    - inName
    - is_final_name
    - dump_mode
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2418
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2418
    functionName: dump_isom_chapters
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_isom_get_chapter_count
    - strcat
    - fprintf
    - gf_isom_get_track_id
    - gf_isom_get_chapter
    - format_duration
    - gf_isom_get_track_count
    - dump_isom_timed_text
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_chapters(GF_ISOFile *file, char *inName, Bool is_final_name,
      u32 dump_mode) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4369,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4364,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4374,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:4386,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4393,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/applications/mp4box/filedump.c:4392,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4442,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4472,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4431,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4473,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/filedump.c:4491,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4524,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4516,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4518,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4499,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4345,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4384,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4399,1
    - Dst: gf_m2ts_get_stream_name
      Src: /src/gpac/applications/mp4box/filedump.c:4393,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:4423,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4424,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4474,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4476,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4514,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4520,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/filedump.c:4523,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:4433,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4358,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4350,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4394,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4389,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4448,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4480,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4482,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4496,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/filedump.c:4512,1
    - Dst: gf_sl_depacketize
      Src: /src/gpac/applications/mp4box/filedump.c:4522,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4515,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4517,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4519,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4379,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4382,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4395,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4404,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4407,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4412,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4415,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4420,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4421,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4430,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4475,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4434,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4485,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 159
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4335
    functionDepth: 0
    functionLinenumber: 4335
    functionLinenumberEnd: 4531
    functionName: on_m2ts_dump_event
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_m2ts_set_pes_framing
    - gf_list_count
    - fprintf
    - GF_LOG
    - gf_m2ts_get_stream_name
    - gf_fwrite
    - M4_LOG
    - gf_sl_depacketize
    linkageType: ''
    returnType: void
    signature: 'static void on_m2ts_dump_event(GF_M2TS_Demuxer *ts, u32 evt_type,
      void *par) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1462,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1466,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1471,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1476,1
    - Dst: gf_inspect_dump_opus
      Src: /src/gpac/applications/mp4box/filedump.c:1500,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1503,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:1489,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1485,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1505,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1508,1
    - Dst: gf_isom_opus_config_get_desc
      Src: /src/gpac/applications/mp4box/filedump.c:1460,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1469,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1498,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1502,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1467,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1478,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1480,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1510,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1458,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1474,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:1491,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1497,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1511,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - file
    - trackID
    - dump
    - dump_crc
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1514
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1514
    functionName: dump_isom_opus
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_track_by_id
    - M4_LOG
    - gf_set_progress
    - gf_inspect_dump_opus
    - fprintf
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_isom_get_media_timescale
    - gf_isom_get_sample_count
    - gf_isom_opus_config_get_desc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_isom_opus(GF_ISOFile *file, GF_ISOTrackID trackID,
      FILE *dump, Bool dump_crc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1547,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/applications/mp4box/filedump.c:1557,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/filedump.c:1562,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1558,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:1573,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1594,1
    - Dst: gf_inspect_dump_obu
      Src: /src/gpac/applications/mp4box/filedump.c:1597,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1603,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1612,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1532,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/applications/mp4box/filedump.c:1537,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/filedump.c:1534,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1540,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1545,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1549,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/applications/mp4box/filedump.c:1554,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:1551,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:1552,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1564,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/applications/mp4box/filedump.c:1590,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1606,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1539,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/applications/mp4box/filedump.c:1536,1
    - Dst: gf_inspect_dump_obu
      Src: /src/gpac/applications/mp4box/filedump.c:1561,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/filedump.c:1553,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1566,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/filedump.c:1602,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1614,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/applications/mp4box/filedump.c:1615,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1616,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1582,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1604,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1544,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/applications/mp4box/filedump.c:1556,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:1575,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1581,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/filedump.c:1588,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1611,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1609,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 4
    argNames:
    - file
    - trackID
    - dump
    - dump_crc
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1619
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1619
    functionName: dump_isom_obu
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_av1_init_state
    - GF_SAFEALLOC
    - gf_isom_get_track_by_id
    - gf_bs_del
    - gf_av1_reset_state
    - gf_list_count
    - gf_inspect_dump_obu
    - gf_isom_get_media_timescale
    - gf_isom_av1_config_get
    - gf_av1_parse_obu
    - gf_list_get
    - gf_set_progress
    - fprintf
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_isom_last_error
    - gf_free
    - gf_isom_get_sample_count
    - M4_LOG
    - gf_isom_sample_del
    - gf_isom_get_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_isom_obu(GF_ISOFile *file, GF_ISOTrackID trackID,
      FILE *dump, Bool dump_crc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2434,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2444,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2436,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2438,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - key_info
    - key_info_size
    - is_protected
    argTypes:
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2446
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2446
    functionName: dump_key_info
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_key_info(const u8 *key_info, u32 key_info_size, Bool
      is_protected) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_has_movie
      Src: /src/gpac/applications/mp4box/filedump.c:4011,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4015,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4050,1
    - Dst: gf_odf_desc_size
      Src: /src/gpac/applications/mp4box/filedump.c:4077,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4085,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/applications/mp4box/filedump.c:4136,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4138,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/applications/mp4box/filedump.c:4174,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4216,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4088,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4081,1
    - Dst: gf_isom_segment_get_fragment_size
      Src: /src/gpac/applications/mp4box/filedump.c:4018,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4024,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4044,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4052,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4063,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4113,1
    - Dst: gf_isom_get_creation_time
      Src: /src/gpac/applications/mp4box/filedump.c:4067,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4149,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:4291,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/filedump.c:4135,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4026,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4050,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4065,1
    - Dst: gf_isom_apple_get_tag
      Src: /src/gpac/applications/mp4box/filedump.c:4147,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4190,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4222,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4226,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4251,1
    - Dst: print_udta
      Src: /src/gpac/applications/mp4box/filedump.c:4296,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4071,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4082,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:4087,1
    - Dst: gf_isom_get_original_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4041,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4176,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4297,1
    - Dst: format_date
      Src: /src/gpac/applications/mp4box/filedump.c:4070,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/filedump.c:4119,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4113,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4205,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4225,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4275,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4260,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4277,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/applications/mp4box/filedump.c:4286,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4079,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4099,1
    - Dst: gf_isom_has_segment
      Src: /src/gpac/applications/mp4box/filedump.c:4013,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4044,1
    - Dst: gf_isom_get_fragmented_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4050,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4094,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4170,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/filedump.c:4221,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4223,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4253,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:4126,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4110,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:4117,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/applications/mp4box/filedump.c:4112,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4189,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4200,1
    - Dst: gf_isom_enum_udta_keys
      Src: /src/gpac/applications/mp4box/filedump.c:4213,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4235,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4248,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/applications/mp4box/filedump.c:4284,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4080,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:4037,1
    - Dst: gf_isom_moov_first
      Src: /src/gpac/applications/mp4box/filedump.c:4056,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4060,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/applications/mp4box/filedump.c:4173,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4230,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/filedump.c:4285,1
    - Dst: DumpTrackInfo
      Src: /src/gpac/applications/mp4box/filedump.c:4299,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4227,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4070,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/filedump.c:4121,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4138,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:4170,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4181,1
    - Dst: DumpMetaItem
      Src: /src/gpac/applications/mp4box/filedump.c:4073,1
    - Dst: format_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4042,1
    - Dst: gf_m4v_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:4081,1
    - Dst: gf_isom_get_brand_info
      Src: /src/gpac/applications/mp4box/filedump.c:4059,1
    - Dst: gf_id3_get_genre
      Src: /src/gpac/applications/mp4box/filedump.c:4194,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/applications/mp4box/filedump.c:4075,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4019,1
    - Dst: gf_isom_get_fragments_count
      Src: /src/gpac/applications/mp4box/filedump.c:4050,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:4060,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:4133,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4166,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4185,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4188,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4272,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4281,1
    - Dst: gf_m4a_get_profile_name
      Src: /src/gpac/applications/mp4box/filedump.c:4082,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4130,1
    - Dst: DumpMetaItem
      Src: /src/gpac/applications/mp4box/filedump.c:4010,1
    - Dst: gf_isom_segment_get_fragment_count
      Src: /src/gpac/applications/mp4box/filedump.c:4014,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:4015,1
    - Dst: gf_isom_segment_get_track_fragment_count
      Src: /src/gpac/applications/mp4box/filedump.c:4017,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/mp4box/filedump.c:4040,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4046,1
    - Dst: format_date
      Src: /src/gpac/applications/mp4box/filedump.c:4068,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4173,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4289,1
    - Dst: gf_isom_get_fragments_count
      Src: /src/gpac/applications/mp4box/filedump.c:4050,1
    - Dst: gf_isom_get_alternate_brand
      Src: /src/gpac/applications/mp4box/filedump.c:4062,1
    - Dst: gf_isom_get_copyright
      Src: /src/gpac/applications/mp4box/filedump.c:4101,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/applications/mp4box/filedump.c:4106,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4220,1
    - Dst: gf_isom_wma_enum_tag
      Src: /src/gpac/applications/mp4box/filedump.c:4269,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4168,1
    - Dst: gf_isom_is_JPEG2000
      Src: /src/gpac/applications/mp4box/filedump.c:4094,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4042,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4031,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:4063,1
    - Dst: gf_isom_get_copyright_count
      Src: /src/gpac/applications/mp4box/filedump.c:4096,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/filedump.c:4141,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:4142,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4194,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4202,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4242,1
    - Dst: gf_isom_segment_get_track_fragment_decode_time
      Src: /src/gpac/applications/mp4box/filedump.c:4023,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4038,1
    - Dst: gf_isom_is_fragmented
      Src: /src/gpac/applications/mp4box/filedump.c:4049,1
    - Dst: gf_isom_apple_enum_tag_ex
      Src: /src/gpac/applications/mp4box/filedump.c:4159,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/applications/mp4box/filedump.c:4163,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:4222,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:4298,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4256,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4102,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:4036,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4057,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4068,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/filedump.c:4092,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/applications/mp4box/filedump.c:4139,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4262,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4278,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 257
    argCount: 2
    argNames:
    - file
    - full_dump
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 4301
      start: 4000
    functionDepth: 0
    functionLinenumber: 4000
    functionLinenumberEnd: 4301
    functionName: DumpMovieInfo
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_itags_get_type
    - gf_malloc
    - gf_isom_get_brand_info
    - gf_isom_get_timescale
    - gf_odf_desc_size
    - gf_id3_get_genre
    - DumpTrackInfo
    - gf_isom_get_fragments_count
    - gf_isom_get_chapter
    - gf_isom_segment_get_track_fragment_count
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_isom_delete_text_sample
    - gf_isom_get_reference_count
    - gf_bs_del
    - gf_m4v_get_profile_name
    - GF_4CC
    - gf_isom_has_segment
    - gf_list_count
    - gf_isom_get_creation_time
    - format_date
    - gf_isom_segment_get_track_fragment_decode_time
    - gf_isom_segment_get_fragment_count
    - gf_isom_has_movie
    - gf_isom_segment_get_fragment_size
    - gf_isom_get_track_count
    - gf_itags_get_name
    - gf_isom_get_alternate_brand
    - gf_utf8_wcstombs
    - gf_isom_moov_first
    - gf_isom_is_fragmented
    - DumpMetaItem
    - gf_isom_get_chapter_count
    - gf_itags_find_by_itag
    - fprintf
    - gf_isom_parse_text_sample
    - gf_bs_new
    - gf_isom_get_copyright
    - gf_isom_get_root_od
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_duration
    - gf_isom_wma_enum_tag
    - gf_isom_is_JPEG2000
    - gf_isom_get_copyright_count
    - gf_isom_get_reference
    - gf_isom_enum_udta_keys
    - gf_utf8_wcslen
    - print_udta
    - gf_isom_apple_get_tag
    - format_duration
    - gf_isom_get_sample
    - gf_m4a_get_profile_name
    - gf_isom_get_original_duration
    - gf_isom_get_fragmented_duration
    - gf_isom_apple_enum_tag_ex
    linkageType: ''
    returnType: void
    signature: 'void DumpMovieInfo(GF_ISOFile *file, Bool full_dump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/applications/mp4box/filedump.c:4647,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 4655
      start: 4642
    functionDepth: 0
    functionLinenumber: 4642
    functionLinenumberEnd: 4655
    functionName: get_file_callback
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_dm_sess_get_stats
    linkageType: ''
    returnType: void
    signature: 'void get_file_callback(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:927,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:939,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:951,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:970,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/applications/mp4box/filedump.c:974,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:982,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:987,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:993,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1022,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1031,1
    - Dst: gf_isom_get_cts_to_dts_shift
      Src: /src/gpac/applications/mp4box/filedump.c:940,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:943,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:943,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:948,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:977,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:980,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1021,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1025,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1029,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:925,1
    - Dst: gf_isom_is_fragmented
      Src: /src/gpac/applications/mp4box/filedump.c:935,1
    - Dst: gf_isom_has_time_offset
      Src: /src/gpac/applications/mp4box/filedump.c:941,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:990,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1014,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1024,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1027,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:926,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:929,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/filedump.c:955,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:946,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/mp4box/filedump.c:968,1
    - Dst: gf_isom_get_sample_flags
      Src: /src/gpac/applications/mp4box/filedump.c:973,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:944,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1001,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1005,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1018,1
    - Dst: gf_isom_sample_is_fragment_start
      Src: /src/gpac/applications/mp4box/filedump.c:1018,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 4
    argNames:
    - file
    - inName
    - is_final_name
    - dump_mode
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 1033
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 1033
    functionName: dump_isom_timestamps
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_get_track_count
    - strcpy
    - gf_fopen
    - gf_isom_is_fragmented
    - gf_set_progress
    - gf_isom_get_sample_info
    - gf_isom_get_sample_flags
    - fprintf
    - gf_isom_get_track_id
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - M4_LOG
    - gf_isom_get_cts_to_dts_shift
    - gf_isom_sample_is_fragment_start
    - strcat
    - gf_isom_has_time_offset
    - gf_realloc
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_timestamps(GF_ISOFile *file, char *inName, Bool is_final_name,
      u32 dump_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1627,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1630,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1629,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1632,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/filedump.c:1637,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/filedump.c:1639,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1645,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1646,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1648,1
    - Dst: gf_inspect_dump_prores
      Src: /src/gpac/applications/mp4box/filedump.c:1650,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1656,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1658,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1651,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1653,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1655,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - file
    - trackID
    - dump
    - dump_crc
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1661
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1661
    functionName: dump_qt_prores
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_track_by_id
    - gf_set_progress
    - fprintf
    - gf_inspect_dump_prores
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_isom_get_media_timescale
    - gf_isom_get_sample_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_qt_prores(GF_ISOFile *file, u32 trackID, FILE *dump,
      Bool dump_crc) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2464,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2474,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/applications/mp4box/filedump.c:2481,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2483,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2486,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:2483,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2486,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2496,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2518,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2523,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2527,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2550,1
    - Dst: gf_isom_get_meta_type
      Src: /src/gpac/applications/mp4box/filedump.c:2452,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2487,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2488,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2489,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2514,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2520,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2526,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2538,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:2538,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2546,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2548,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2543,1
    - Dst: dump_key_info
      Src: /src/gpac/applications/mp4box/filedump.c:2544,1
    - Dst: gf_isom_get_meta_primary_item_id
      Src: /src/gpac/applications/mp4box/filedump.c:2463,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/applications/mp4box/filedump.c:2460,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2464,1
    - Dst: gf_isom_has_meta_xml
      Src: /src/gpac/applications/mp4box/filedump.c:2465,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2467,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2470,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/applications/mp4box/filedump.c:2494,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2504,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2525,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2529,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2490,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2501,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2507,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2515,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2524,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2542,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2547,1
    - Dst: gf_isom_extract_meta_item_get_cenc_info
      Src: /src/gpac/applications/mp4box/filedump.c:2540,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 94
    argCount: 4
    argNames:
    - file
    - root_meta
    - tk_num
    - name
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2551
    functionName: DumpMetaItem
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_extract_meta_item_get_cenc_info
    - gf_isom_has_meta_xml
    - gf_error_to_string
    - fprintf
    - gf_isom_get_meta_image_props
    - gf_isom_get_meta_item_info
    - gf_isom_get_meta_item_count
    - gf_isom_get_meta_type
    - dump_key_info
    - gf_4cc_to_str
    - gf_isom_get_meta_primary_item_id
    linkageType: ''
    returnType: void
    signature: 'static void DumpMetaItem(GF_ISOFile *file, Bool root_meta, u32 tk_num,
      char *name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4544,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:4547,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/filedump.c:4561,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4565,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:4569,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/mp4box/filedump.c:4578,1
    - Dst: feof
      Src: /src/gpac/applications/mp4box/filedump.c:4582,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4598,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4602,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:4622,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/applications/mp4box/filedump.c:4626,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/filedump.c:4563,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4570,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:4571,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4594,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:4603,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:4627,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:4632,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:4555,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:4566,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:4592,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4605,1
    - Dst: gf_m2ts_reset_parsers
      Src: /src/gpac/applications/mp4box/filedump.c:4611,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/filedump.c:4612,1
    - Dst: gf_fread
      Src: /src/gpac/applications/mp4box/filedump.c:4616,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/mp4box/filedump.c:4619,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:4631,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4630,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:4549,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/applications/mp4box/filedump.c:4552,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4568,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/applications/mp4box/filedump.c:4586,1
    - Dst: gf_fread
      Src: /src/gpac/applications/mp4box/filedump.c:4583,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/filedump.c:4577,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/filedump.c:4579,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:4608,1
    - Dst: feof
      Src: /src/gpac/applications/mp4box/filedump.c:4615,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:4625,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:4635,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 3
    argNames:
    - mpeg2ts_file
    - out_name
    - prog_num
    argTypes:
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 4636
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4636
    functionName: dump_mpeg2_ts
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - gf_fseek
    - gf_list_get
    - feof
    - memset
    - gf_set_progress
    - gf_m2ts_demux_del
    - fprintf
    - sprintf
    - gf_fread
    - gf_fclose
    - gf_ftell
    - strrchr
    - parse_u32
    - M4_LOG
    - gf_fopen
    - gf_m2ts_demux_new
    - gf_m2ts_reset_parsers
    linkageType: ''
    returnType: void
    signature: 'void dump_mpeg2_ts(char *mpeg2ts_file, char *out_name, Bool prog_num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_new
      Src: /src/gpac/applications/mp4box/filedump.c:4660,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/applications/mp4box/filedump.c:4664,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/applications/mp4box/filedump.c:4662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - url
    - dm
    - e
    argTypes:
    - char*
    - GF_DownloadManager*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4668
      start: 4657
    functionDepth: 0
    functionLinenumber: 4657
    functionLinenumberEnd: 4668
    functionName: get_file
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_dm_sess_del
    - gf_dm_sess_process
    linkageType: ''
    returnType: GF_DownloadSession*
    signature: 'static GF_DownloadSession *get_file(const char *url, GF_DownloadManager
      *dm, GF_Err *e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:873,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:884,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:874,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:875,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:877,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:885,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:886,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:888,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/filedump.c:889,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:891,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:891,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:896,1
    - Dst: gf_isom_dump_hint_sample
      Src: /src/gpac/applications/mp4box/filedump.c:897,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:893,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:902,1
    - Dst: gf_isom_sdp_track_get
      Src: /src/gpac/applications/mp4box/filedump.c:892,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:900,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:903,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - file
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 904
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 904
    functionName: dump_isom_rtp
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_isom_get_sample_count
    - fprintf
    - gf_fclose
    - gf_isom_get_track_id
    - gf_isom_get_track_count
    - strcpy
    - gf_isom_dump_hint_sample
    - M4_LOG
    - gf_isom_sdp_track_get
    - gf_fopen
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_rtp(GF_ISOFile *file, char *inName, Bool is_final_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_apple_get_tag
      Src: /src/gpac/applications/mp4box/filedump.c:107,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:121,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:119,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:110,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:123,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:125,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/filedump.c:132,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - file
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: dump_isom_cover_art
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_fwrite
    - gf_isom_apple_get_tag
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_cover_art(GF_ISOFile *file, char *inName, Bool is_final_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_lang_get_count
      Src: /src/gpac/applications/mp4box/filedump.c:85,1
    - Dst: gf_lang_get_2cc
      Src: /src/gpac/applications/mp4box/filedump.c:88,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:86,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:89,1
    - Dst: gf_lang_get_name
      Src: /src/gpac/applications/mp4box/filedump.c:89,1
    - Dst: gf_lang_get_3cc
      Src: /src/gpac/applications/mp4box/filedump.c:89,1
    - Dst: gf_lang_get_2cc
      Src: /src/gpac/applications/mp4box/filedump.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: PrintLanguages
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_lang_get_count
    - gf_lang_get_3cc
    - gf_lang_get_name
    - gf_lang_get_2cc
    linkageType: ''
    returnType: u32
    signature: 'u32 PrintLanguages(char *val, u32 opt) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:241,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:242,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:242,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:294,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:320,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:323,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:302,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:327,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:311,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:334,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:326,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:316,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:244,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:282,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:285,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:291,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:292,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:295,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:288,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:292,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:293,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:296,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:305,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:309,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:313,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:307,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:328,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:315,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:243,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:245,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:322,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:324,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:332,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:333,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:335,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:278,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:286,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:300,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:303,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:305,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:305,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:306,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:308,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:311,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:311,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:331,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:311,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:330,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:318,1
    - Dst: FIX2FLT
      Src: /src/gpac/applications/mp4box/filedump.c:311,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 2
    argNames:
    - dump
    - stats
    argTypes:
    - FILE*
    - GF_SceneStatistics*
    constantsTouched: []
    func_position:
      end: 336
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 336
    functionName: dump_stats
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - fprintf
    - gf_list_get
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void dump_stats(FILE *dump, const GF_SceneStatistics *stats) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:768,1
    - Dst: gf_node_register
      Src: /src/gpac/applications/mp4box/filedump.c:777,1
    - Dst: gf_sg_del
      Src: /src/gpac/applications/mp4box/filedump.c:791,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:781,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:793,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/applications/mp4box/filedump.c:800,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:802,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:781,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/applications/mp4box/filedump.c:803,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:809,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:744,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:757,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:770,1
    - Dst: do_print_node
      Src: /src/gpac/applications/mp4box/filedump.c:779,1
    - Dst: gf_node_unregister
      Src: /src/gpac/applications/mp4box/filedump.c:783,1
    - Dst: gf_sg_new
      Src: /src/gpac/applications/mp4box/filedump.c:765,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:749,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:772,1
    - Dst: gf_node_new
      Src: /src/gpac/applications/mp4box/filedump.c:775,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:795,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/applications/mp4box/filedump.c:779,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 2
    argNames:
    - arg_val
    - dump_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 812
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 812
    functionName: PrintBuiltInNodes
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - fprintf
    - gf_sg_del
    - gf_sg_vrml_field_pointer_new
    - gf_sg_new
    - gf_node_new
    - gf_sg_vrml_field_pointer_del
    - gf_free
    - gf_node_get_class_name
    - M4_LOG
    - gf_node_unregister
    - do_print_node
    linkageType: ''
    returnType: u32
    signature: 'u32 PrintBuiltInNodes(char *arg_val, u32 dump_type) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:1674,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:1671,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/applications/mp4box/filedump.c:1710,1
    - Dst: gf_isom_sample_is_fragment_start
      Src: /src/gpac/applications/mp4box/filedump.c:1703,1
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/applications/mp4box/filedump.c:1688,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1740,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1741,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1687,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1725,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/mp4box/filedump.c:1700,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1692,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1722,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1728,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1737,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1683,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1690,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1727,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1733,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1735,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1668,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1676,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1673,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1684,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1685,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1685,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1716,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1729,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1739,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 5
    argNames:
    - file
    - trackID
    - dump_saps_mode
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1742
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1742
    functionName: dump_isom_saps
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_track_by_id
    - gf_isom_sample_is_fragment_start
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_get_sample_info
    - gf_isom_get_sample_count
    - fprintf
    - sprintf
    - gf_isom_get_media_timescale
    - gf_isom_get_edit_list_type
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_saps(GF_ISOFile *file, GF_ISOTrackID trackID, u32 dump_saps_mode,
      char *inName, Bool is_final_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1764
    functionName: sort_chunk
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 sort_chunk(const void* e1, const void* e2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:1926,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1930,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:1927,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:1928,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1937,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1938,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1939,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:1942,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:1943,1
    - Dst: gf_isom_dump_ismacryp_protection
      Src: /src/gpac/applications/mp4box/filedump.c:1945,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1947,1
    - Dst: gf_isom_dump_ismacryp_sample
      Src: /src/gpac/applications/mp4box/filedump.c:1949,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1953,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:1947,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1954,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1951,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:1948,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - file
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1955
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1955
    functionName: dump_isom_ismacryp
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_dump_ismacryp_protection
    - strcat
    - gf_isom_get_sample_count
    - fprintf
    - gf_isom_dump_ismacryp_sample
    - gf_isom_get_track_id
    - gf_isom_get_track_count
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_isom_get_media_subtype
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_ismacryp(GF_ISOFile *file, char *inName, Bool is_final_name) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2073,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2079,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2081,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/applications/mp4box/filedump.c:2092,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:2098,1
    - Dst: gf_isom_open_segment
      Src: /src/gpac/applications/mp4box/filedump.c:2095,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:2107,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/filedump.c:2126,1
    - Dst: dump_isom_obu
      Src: /src/gpac/applications/mp4box/filedump.c:2143,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/filedump.c:2173,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:2069,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:2071,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2085,1
    - Dst: gf_webvtt_dump_iso_track
      Src: /src/gpac/applications/mp4box/filedump.c:2157,1
    - Dst: gf_isom_text_dump
      Src: /src/gpac/applications/mp4box/filedump.c:2161,1
    - Dst: dump_isom_opus
      Src: /src/gpac/applications/mp4box/filedump.c:2166,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2179,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:2182,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2193,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/filedump.c:2191,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2180,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/filedump.c:2103,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/filedump.c:2104,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2131,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/applications/mp4box/filedump.c:2135,1
    - Dst: dump_isom_nal_ex
      Src: /src/gpac/applications/mp4box/filedump.c:2139,1
    - Dst: dump_qt_prores
      Src: /src/gpac/applications/mp4box/filedump.c:2150,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/filedump.c:2177,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/mp4box/filedump.c:2186,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/applications/mp4box/filedump.c:2189,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:2067,1
    - Dst: gf_isom_dump
      Src: /src/gpac/applications/mp4box/filedump.c:2083,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/filedump.c:2092,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2123,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2099,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/filedump.c:2105,1
    - Dst: gf_isom_dump_hint_sample
      Src: /src/gpac/applications/mp4box/filedump.c:2128,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/applications/mp4box/filedump.c:2136,1
    - Dst: gf_isom_get_vvc_type
      Src: /src/gpac/applications/mp4box/filedump.c:2137,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/applications/mp4box/filedump.c:2187,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2189,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/applications/mp4box/filedump.c:2189,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 145
    argCount: 7
    argNames:
    - file
    - inName
    - is_final_name
    - do_track_dump
    - merge_vtt_cues
    - init_seg
    - skip_samples
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    - Bool
    - Bool
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2197
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2197
    functionName: dump_isom_xml
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - memset
    - gf_isom_open_segment
    - gf_isom_get_hevc_lhvc_type
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_isom_text_dump
    - gf_isom_get_track_count
    - strcpy
    - dump_isom_obu
    - gf_isom_dump_hint_sample
    - gf_fopen
    - gf_webvtt_dump_iso_track
    - gf_xml_dom_get_line
    - gf_xml_dom_parse
    - gf_isom_get_vvc_type
    - dump_isom_nal_ex
    - fprintf
    - dump_isom_opus
    - gf_isom_dump
    - gf_isom_get_track_id
    - gf_media_export
    - gf_isom_get_avc_svc_type
    - gf_isom_get_sample_count
    - M4_LOG
    - gf_isom_get_filename
    - gf_isom_delete
    - dump_qt_prores
    - gf_xml_dom_get_error
    - strcat
    - gf_isom_open
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_isom_xml(GF_ISOFile *file, char *inName, Bool is_final_name,
      Bool do_track_dump, Bool merge_vtt_cues, const char *init_seg, Bool skip_samples) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_lang_find
      Src: /src/gpac/applications/mp4box/filedump.c:97,1
    - Dst: gf_lang_get_name
      Src: /src/gpac/applications/mp4box/filedump.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - lcode
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: GetLanguage
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_lang_get_name
    - gf_lang_find
    linkageType: ''
    returnType: char*
    signature: 'static const char *GetLanguage(char *lcode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/filedump.c:342,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/filedump.c:343,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/mp4box/filedump.c:350,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/filedump.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - sample_list
    - au
    argTypes:
    - GF_List*
    - GF_AUContext*
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 355
    functionName: ReorderAU
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void ReorderAU(GF_List *sample_list, GF_AUContext *au) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_num_supported_boxes
      Src: /src/gpac/applications/mp4box/filedump.c:817,1
    - Dst: gf_isom_dump_supported_box
      Src: /src/gpac/applications/mp4box/filedump.c:823,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/applications/mp4box/filedump.c:828,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:819,1
    - Dst: gf_isom_get_supported_box_type
      Src: /src/gpac/applications/mp4box/filedump.c:827,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/applications/mp4box/filedump.c:831,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/applications/mp4box/filedump.c:832,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/applications/mp4box/filedump.c:833,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:838,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/applications/mp4box/filedump.c:843,1
    - Dst: gf_itags_get_itag
      Src: /src/gpac/applications/mp4box/filedump.c:845,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:854,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/filedump.c:854,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/applications/mp4box/filedump.c:850,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/applications/mp4box/filedump.c:852,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - argval
    - do_cov
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 861
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 861
    functionName: PrintBuiltInBoxes
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_itags_get_type
    - fprintf
    - gf_isom_box_del
    - gf_isom_get_supported_box_type
    - gf_isom_clone_box
    - gf_itags_get_itag
    - gf_4cc_to_str
    - gf_isom_get_num_supported_boxes
    - M4_LOG
    - gf_isom_dump_supported_box
    linkageType: ''
    returnType: u32
    signature: 'u32 PrintBuiltInBoxes(char *argval, u32 do_cov) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:1780,1
    - Dst: gf_isom_get_chunk_count
      Src: /src/gpac/applications/mp4box/filedump.c:1795,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/filedump.c:1805,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/applications/mp4box/filedump.c:1806,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1853,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1858,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1881,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/filedump.c:1889,1
    - Dst: gf_isom_get_unused_box_bytes
      Src: /src/gpac/applications/mp4box/filedump.c:1910,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1914,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1904,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/filedump.c:1781,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1784,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/filedump.c:1797,1
    - Dst: gf_isom_get_chunk_count
      Src: /src/gpac/applications/mp4box/filedump.c:1804,1
    - Dst: gf_isom_get_constant_sample_size
      Src: /src/gpac/applications/mp4box/filedump.c:1815,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1888,1
    - Dst: gf_isom_get_first_mdat_start
      Src: /src/gpac/applications/mp4box/filedump.c:1895,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/filedump.c:1906,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:1782,1
    - Dst: gf_set_progress
      Src: /src/gpac/applications/mp4box/filedump.c:1846,1
    - Dst: gf_isom_get_constant_sample_size
      Src: /src/gpac/applications/mp4box/filedump.c:1812,1
    - Dst: gf_isom_get_chunk_info
      Src: /src/gpac/applications/mp4box/filedump.c:1824,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1856,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1887,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1891,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1912,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1908,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/filedump.c:1792,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/filedump.c:1798,1
    - Dst: gf_isom_get_sample_size
      Src: /src/gpac/applications/mp4box/filedump.c:1839,1
    - Dst: gf_isom_enable_raw_pack
      Src: /src/gpac/applications/mp4box/filedump.c:1814,1
    - Dst: qsort
      Src: /src/gpac/applications/mp4box/filedump.c:1851,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/applications/mp4box/filedump.c:1863,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1882,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1883,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1885,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 150
    argCount: 3
    argNames:
    - file
    - inName
    - is_final_name
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1915
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1915
    functionName: dump_isom_chunks
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_get_unused_box_bytes
    - qsort
    - gf_isom_get_sample_size
    - gf_isom_get_media_duration
    - gf_isom_get_first_mdat_start
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - strcpy
    - gf_isom_get_chunk_info
    - gf_isom_get_chunk_count
    - gf_fopen
    - gf_set_progress
    - gf_isom_get_sample_info
    - fprintf
    - gf_free
    - gf_isom_sample_del
    - M4_LOG
    - gf_isom_enable_raw_pack
    - strcat
    - gf_isom_get_constant_sample_size
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_chunks(GF_ISOFile *file, char *inName, Bool is_final_name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/filedump.c:1964,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/filedump.c:1984,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1975,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1966,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/filedump.c:1970,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1986,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/filedump.c:1988,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/filedump.c:1990,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:1992,1
    - Dst: gf_isom_text_dump
      Src: /src/gpac/applications/mp4box/filedump.c:1998,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/filedump.c:2002,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/filedump.c:2004,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/filedump.c:1999,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/filedump.c:2002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 6
    argNames:
    - file
    - trackID
    - inName
    - is_final_name
    - is_convert
    - dump_type
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - char*
    - Bool
    - Bool
    - GF_TextDumpType
    constantsTouched: []
    func_position:
      end: 2006
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 2006
    functionName: dump_isom_timed_text
    functionSourceFile: /src/gpac/applications/mp4box/filedump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_error_to_string
    - fprintf
    - sprintf
    - gf_isom_text_dump
    - strcpy
    - gf_fclose
    - M4_LOG
    - gf_fopen
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'void dump_isom_timed_text(GF_ISOFile *file, GF_ISOTrackID trackID,
      char *inName, Bool is_final_name, Bool is_convert, GF_TextDumpType dump_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 9
    argNames:
    - dest
    - inName
    - import_flags
    - force_fps
    - frames_per_sample
    - fsess
    - mux_args_if_first_pass
    - mux_sid_if_first_pass
    - tk_idx
    argTypes:
    - GF_ISOFile*
    - char*
    - u32
    - GF_Fraction
    - u32
    - GF_FilterSession*
    - char**
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: import_file
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err import_file(GF_ISOFile *dest, char *inName, u32 import_flags,
      GF_Fraction force_fps, u32 frames_per_sample, GF_FilterSession *fsess, char
      **mux_args_if_first_pass, char **mux_sid_if_first_pass, u32 tk_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:450,1
    - Dst: gf_sys_features
      Src: /src/gpac/applications/mp4box/mp4box.c:453,1
    - Dst: gf_sys_features
      Src: /src/gpac/applications/mp4box/mp4box.c:453,1
    - Dst: gf_gpac_copyright_cite
      Src: /src/gpac/applications/mp4box/mp4box.c:453,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/mp4box/mp4box.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg_val
    - param
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: print_version
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_features
    - fprintf
    - gf_gpac_copyright_cite
    - gf_gpac_version
    linkageType: ''
    returnType: Bool
    signature: 'Bool print_version(char *arg_val, u32 param) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/mp4box.c:3969,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3988,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3984,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3986,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3992,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3980,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:3977,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3980,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3982,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3988,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4004,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3980,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3982,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3990,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:3970,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3980,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3980,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3988,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3982,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3986,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3984,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 1
    argNames:
    - inName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4007
      start: 3966
    functionDepth: 0
    functionLinenumber: 3966
    functionLinenumberEnd: 4007
    functionName: get_file_type_by_ext
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    - strchr
    - gf_file_ext_start
    - gf_isom_probe_file
    linkageType: ''
    returnType: GF_FileType
    signature: 'GF_FileType get_file_type_by_ext(char *inName) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5423,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5432,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5425,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5434,1
    - Dst: gf_isom_set_track_switch_parameter
      Src: /src/gpac/applications/mp4box/mp4box.c:5433,1
    - Dst: gf_isom_get_track_switch_group_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5441,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5441,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5443,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5445,1
    - Dst: gf_isom_reset_track_switch_parameter
      Src: /src/gpac/applications/mp4box/mp4box.c:5452,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5457,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5452,1
    - Dst: gf_isom_reset_track_switch_parameter
      Src: /src/gpac/applications/mp4box/mp4box.c:5457,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5469
      start: 5417
    functionDepth: 0
    functionLinenumber: 5417
    functionLinenumberEnd: 5469
    functionName: do_tsel_act
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - get_track_id
    - gf_isom_reset_track_switch_parameter
    - gf_isom_get_track_switch_group_count
    - M4_LOG
    - gf_isom_set_track_switch_parameter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_tsel_act() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/applications/mp4box/mp4box.c:4017,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4034,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4051,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/applications/mp4box/mp4box.c:4018,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4020,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4021,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4021,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/applications/mp4box/mp4box.c:4030,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4047,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4049,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4034,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4044,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4058,1
    - Dst: gf_xml_dom_get_root_idx
      Src: /src/gpac/applications/mp4box/mp4box.c:4024,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4026,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4031,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4046,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/mp4box.c:4039,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4061,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4055,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/mp4box.c:4054,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - inName
    - outName
    - dump_std
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 4063
      start: 4010
    functionDepth: 0
    functionLinenumber: 4010
    functionLinenumberEnd: 4063
    functionName: xml_bs_to_bin
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - strcat
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - gf_error_to_string
    - strcpy
    - gf_xml_parse_bit_sequence
    - gf_xml_dom_get_root_idx
    - gf_fwrite
    - gf_fclose
    - M4_LOG
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xml_bs_to_bin(char *inName, char *outName, u32 dump_std) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:399,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:418,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:410,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:406,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:414,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:424,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:434,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - tkid
    - arg_val
    - allow_all
    argTypes:
    - TrackIdentifier*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 441
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 441
    functionName: parse_track_id
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - sscanf
    - strcmp
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool parse_track_id(TrackIdentifier *tkid, char *arg_val, Bool
      allow_all) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3348,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3372,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:3342,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3344,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:3354,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3383,1
    - Dst: gf_sys_set_args
      Src: /src/gpac/applications/mp4box/mp4box.c:3399,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3481,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3492,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3499,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3500,1
    - Dst: exit
      Src: /src/gpac/applications/mp4box/mp4box.c:3345,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3350,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3354,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3376,1
    - Dst: fun
      Src: /src/gpac/applications/mp4box/mp4box.c:3403,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3453,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:3447,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3487,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3508,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3461,1
    - Dst: fun2
      Src: /src/gpac/applications/mp4box/mp4box.c:3406,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:3467,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3472,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3449,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 173
    argCount: 5
    argNames:
    - argc
    - argv
    - arg
    - arg_index
    - arg_class
    argTypes:
    - int
    - char**
    - char*
    - u32*
    - MP4BoxArg*
    constantsTouched: []
    func_position:
      end: 3515
      start: 3332
    functionDepth: 0
    functionLinenumber: 3332
    functionLinenumberEnd: 3515
    functionName: mp4box_parse_single_arg_class
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - fun
    - strncmp
    - sscanf
    - GF_4CC
    - strcmp
    - fun2
    - gf_sys_set_args
    - exit
    - strchr
    - M4_LOG
    - atof
    linkageType: ''
    returnType: u32
    signature: 'u32 mp4box_parse_single_arg_class(int argc, char **argv, char *arg,
      u32 *arg_index, MP4BoxArg *arg_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1533,1
    - Dst: gf_sys_print_core_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1535
    functionName: PrintCoreUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_sys_print_core_help
    linkageType: ''
    returnType: void
    signature: 'void PrintCoreUsage() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2880
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2880
    functionName: parse_multi_rtp
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_u32
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_multi_rtp(char *arg_val, u32 opt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2802,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2804,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2806,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2810
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2810
    functionName: parse_cp_loc
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - M4_LOG
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_cp_loc(char *arg_val, u32 opt) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5531,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/applications/mp4box/mp4box.c:5534,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:5541,1
    - Dst: gf_isom_set_media_language
      Src: /src/gpac/applications/mp4box/mp4box.c:5555,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/mp4box.c:5592,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:5600,1
    - Dst: gf_isom_is_ismacryp_media
      Src: /src/gpac/applications/mp4box/mp4box.c:5618,1
    - Dst: gf_isom_change_ismacryp_protection
      Src: /src/gpac/applications/mp4box/mp4box.c:5619,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5626,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5646,1
    - Dst: gf_isom_set_track_matrix
      Src: /src/gpac/applications/mp4box/mp4box.c:5672,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/applications/mp4box/mp4box.c:5693,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5693,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5695,1
    - Dst: apply_edits
      Src: /src/gpac/applications/mp4box/mp4box.c:5712,1
    - Dst: gf_isom_set_track_creation_time
      Src: /src/gpac/applications/mp4box/mp4box.c:5727,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5660,1
    - Dst: gf_isom_set_media_creation_time
      Src: /src/gpac/applications/mp4box/mp4box.c:5734,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/applications/mp4box/mp4box.c:5695,1
    - Dst: gf_media_remove_non_rap
      Src: /src/gpac/applications/mp4box/mp4box.c:5699,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5532,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5535,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5539,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5562,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5586,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5608,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/applications/mp4box/mp4box.c:5617,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5633,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5635,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5649,1
    - Dst: gf_isom_set_creation_time
      Src: /src/gpac/applications/mp4box/mp4box.c:5720,1
    - Dst: gf_isom_set_clean_aperture
      Src: /src/gpac/applications/mp4box/mp4box.c:5668,1
    - Dst: gf_isom_set_handler_name
      Src: /src/gpac/applications/mp4box/mp4box.c:5676,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5722,1
    - Dst: gf_isom_set_track_creation_time
      Src: /src/gpac/applications/mp4box/mp4box.c:5723,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5651,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/applications/mp4box/mp4box.c:5686,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5546,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:5546,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/mp4box.c:5583,1
    - Dst: gf_isom_add_track_kind
      Src: /src/gpac/applications/mp4box/mp4box.c:5564,1
    - Dst: gf_isom_remove_track_kind
      Src: /src/gpac/applications/mp4box/mp4box.c:5573,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/mp4box.c:5601,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5605,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5631,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5640,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5647,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5655,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/applications/mp4box/mp4box.c:5680,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/mp4box/mp4box.c:5681,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5653,1
    - Dst: gf_media_remove_non_rap
      Src: /src/gpac/applications/mp4box/mp4box.c:5703,1
    - Dst: set_file_udta
      Src: /src/gpac/applications/mp4box/mp4box.c:5707,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5732,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/applications/mp4box/mp4box.c:5544,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5548,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5553,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/applications/mp4box/mp4box.c:5585,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5571,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/applications/mp4box/mp4box.c:5590,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/applications/mp4box/mp4box.c:5609,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5615,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5625,1
    - Dst: gf_media_change_par
      Src: /src/gpac/applications/mp4box/mp4box.c:5664,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/applications/mp4box/mp4box.c:5687,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 222
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5748
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5748
    functionName: do_track_act
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_change_ismacryp_protection
    - gf_isom_get_timescale
    - get_track_id
    - gf_isom_set_clean_aperture
    - apply_edits
    - gf_isom_is_external_track
    - gf_isom_get_track_by_id
    - set_file_udta
    - gf_isom_set_media_language
    - gf_isom_is_media_encrypted
    - GF_4CC
    - gf_error_to_string
    - gf_isom_remove_edits
    - gf_isom_set_track_creation_time
    - gf_isom_set_creation_time
    - gf_isom_remove_track_reference
    - gf_isom_append_edit
    - gf_media_remove_non_rap
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - gf_isom_set_track_enabled
    - gf_isom_set_track_reference
    - gf_isom_is_track_enabled
    - gf_isom_set_track_matrix
    - gf_isom_set_media_creation_time
    - gf_isom_add_track_kind
    - gf_isom_get_track_duration
    - gf_isom_remove_track_kind
    - M4_LOG
    - gf_isom_get_edits_count
    - gf_media_change_par
    - gf_isom_is_ismacryp_media
    - gf_isom_remove_track
    - gf_isom_set_handler_name
    - gf_isom_set_track_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_track_act() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_isom_apply_qt_key
      Src: /src/gpac/applications/mp4box/mp4box.c:5755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5762
      start: 5752
    functionDepth: 0
    functionLinenumber: 5752
    functionLinenumberEnd: 5762
    functionName: do_qt_keys
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_media_isom_apply_qt_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool do_qt_keys(char *name, char *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_scene_encode
      Src: /src/gpac/applications/mp4box/mp4box.c:6330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames:
    - encode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6333
      start: 6328
    functionDepth: 0
    functionLinenumber: 6328
    functionLinenumberEnd: 6333
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - do_scene_encode
    linkageType: ''
    returnType: else
    signature: 'else if (encode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2814,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2816,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2815,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2817,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2817,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2818,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2818,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2822
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2822
    functionName: parse_pssh
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_pssh(char *arg_val, u32 opt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2888,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/mp4box.c:2904,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/mp4box.c:2900,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2897,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2913
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2913
    functionName: parse_senc_param
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_u32
    - parse_s32
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_senc_param(char *arg_val, u32 opt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3519,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3522,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3523,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3521,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3520,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3524,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3525,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3526,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3527,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3528,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3531,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3530,1
    - Dst: mp4box_parse_single_arg_class
      Src: /src/gpac/applications/mp4box/mp4box.c:3529,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 4
    argNames:
    - argc
    - argv
    - arg
    - arg_index
    argTypes:
    - int
    - char**
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 3534
      start: 3517
    functionDepth: 0
    functionLinenumber: 3517
    functionLinenumberEnd: 3534
    functionName: mp4box_parse_single_arg
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - mp4box_parse_single_arg_class
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4box_parse_single_arg(int argc, char **argv, char *arg, u32
      *arg_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1166,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1187
    functionName: PrintEncodeUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintEncodeUsage() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1474,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1486
    functionName: PrintSWFUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintSWFUsage() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2783
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2783
    functionName: parse_dsap
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_track_id
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dsap(char *arg_val, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3101
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3101
    functionName: parse_compress
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_compress(char *arg_val, u32 opt) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:5784,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:5786,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5795,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5822,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5815,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5850,1
    - Dst: gf_isom_wma_set_tag
      Src: /src/gpac/applications/mp4box/mp4box.c:5863,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:5882,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:5809,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5817,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:5809,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5825,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5826,1
    - Dst: gf_itags_get_itag
      Src: /src/gpac/applications/mp4box/mp4box.c:5839,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5846,1
    - Dst: gf_isom_apple_set_tag
      Src: /src/gpac/applications/mp4box/mp4box.c:5858,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5867,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/mp4box/mp4box.c:5871,1
    - Dst: gf_isom_apple_set_tag
      Src: /src/gpac/applications/mp4box/mp4box.c:5875,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/mp4box/mp4box.c:5771,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:5784,1
    - Dst: gf_itags_find_by_name
      Src: /src/gpac/applications/mp4box/mp4box.c:5788,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5791,1
    - Dst: gf_itags_find_by_name
      Src: /src/gpac/applications/mp4box/mp4box.c:5820,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5813,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5823,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5834,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/mp4box/mp4box.c:5773,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5799,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5800,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:5811,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5813,1
    - Dst: do_qt_keys
      Src: /src/gpac/applications/mp4box/mp4box.c:5833,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5840,1
    - Dst: gf_isom_set_qt_key
      Src: /src/gpac/applications/mp4box/mp4box.c:5859,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5877,1
    - Dst: gf_isom_apple_set_tag
      Src: /src/gpac/applications/mp4box/mp4box.c:5879,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5882,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5895,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5900
      start: 5764
    functionDepth: 0
    functionLinenumber: 5764
    functionLinenumberEnd: 5900
    functionName: do_itunes_tag
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_itags_get_type
    - gf_itags_find_by_name
    - gf_file_load_data
    - strncmp
    - gf_url_colon_suffix
    - GF_4CC
    - gf_error_to_string
    - strcmp
    - do_qt_keys
    - stricmp
    - strchr
    - gf_itags_get_itag
    - gf_free
    - M4_LOG
    - gf_isom_apple_set_tag
    - gf_isom_wma_set_tag
    - gf_isom_set_qt_key
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_itunes_tag() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2787,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2787,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2789,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2790,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2788,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2791,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2792,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2794,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2798
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2798
    functionName: parse_bs_switch
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    - M4_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_bs_switch(char *arg_val, u32 opt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:3107,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3116,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3110,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:3117,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:3115,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3120,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3121,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3124,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - code
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3130
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3130
    functionName: parse_dump_udta
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_4CC
    - sscanf
    - parse_track_id
    - strchr
    - M4_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dump_udta(char *code, u32 opt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_get_file_hash
      Src: /src/gpac/applications/mp4box/mp4box.c:4252,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4260,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/mp4box.c:4255,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4259,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4257,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - name
    - dump_std
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 4264
      start: 4248
    functionDepth: 0
    functionLinenumber: 4248
    functionLinenumberEnd: 4264
    functionName: hash_file
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_media_get_file_hash
    - fprintf
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hash_file(char *name, u32 dump_std) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (arg_val, "rtp")
    argTypes:
    - strcmp
    constantsTouched: []
    func_position:
      end: 3197
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3197
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - M4_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (!strcmp(arg_val, "rtp")) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5969,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5972,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5973,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5999,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5987,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6003,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6018,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6036,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6044,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6048,1
    - Dst: gf_memory_print
      Src: /src/gpac/applications/mp4box/mp4box.c:6080,1
    - Dst: gf_memory_size
      Src: /src/gpac/applications/mp4box/mp4box.c:6078,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:6070,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5955,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5966,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5989,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5995,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6016,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6030,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6034,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6042,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6045,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6046,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6049,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6054,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6050,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6079,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/applications/mp4box/mp4box.c:6078,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5967,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5959,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5974,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5985,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5991,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5978,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6007,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6024,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6028,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6040,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/mp4box/mp4box.c:6075,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5965,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5968,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5975,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5993,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6022,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6047,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6056,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6059,1
    - Dst: gf_sys_is_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:6065,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6070,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:6074,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6067,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/applications/mp4box/mp4box.c:6063,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 116
    argCount: 1
    argNames:
    - ret_code
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 6085
      start: 5953
    functionDepth: 0
    functionLinenumber: 5953
    functionLinenumberEnd: 6085
    functionName: mp4box_cleanup
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_memory_size
    - gf_sys_is_arg_used
    - gf_file_handles_count
    - GF_LOG
    - gf_log_set_tool_level
    - gf_memory_print
    - gf_sys_close
    - gf_free
    - gf_fclose
    - gf_sys_get_arg
    - gf_sys_get_argc
    linkageType: ''
    returnType: u32
    signature: 'static u32 mp4box_cleanup(u32 ret_code) '
  - BBCount: 249
    BranchProfiles: []
    Callsites:
    - Dst: init_global_vars
      Src: /src/gpac/applications/mp4box/mp4box.c:6095,1
    - Dst: _set_output_format
      Src: /src/gpac/applications/mp4box/mp4box.c:6124,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/mp4box/mp4box.c:6131,1
    - Dst: _setmode
      Src: /src/gpac/applications/mp4box/mp4box.c:6217,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:6243,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6322,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:6298,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:6382,1
    - Dst: gf_isom_freeze_order
      Src: /src/gpac/applications/mp4box/mp4box.c:6440,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6483,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:6486,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6524,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6555,1
    - Dst: do_meta_act
      Src: /src/gpac/applications/mp4box/mp4box.c:6708,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:6773,1
    - Dst: gf_media_import_chapters
      Src: /src/gpac/applications/mp4box/mp4box.c:6846,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6919,1
    - Dst: gf_media_fragment_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6918,1
    - Dst: dump_isom_sdp
      Src: /src/gpac/applications/mp4box/mp4box.c:6941,1
    - Dst: gf_isom_set_final_name
      Src: /src/gpac/applications/mp4box/mp4box.c:6962,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:7047,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6760,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/mp4box/mp4box.c:6921,1
    - Dst: freopen
      Src: /src/gpac/applications/mp4box/mp4box.c:6219,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/mp4box/mp4box.c:6137,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6234,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6413,1
    - Dst: hash_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6503,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6530,1
    - Dst: gf_strlcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6547,1
    - Dst: dump_isom_ismacryp
      Src: /src/gpac/applications/mp4box/mp4box.c:6624,1
    - Dst: dump_isom_cover_art
      Src: /src/gpac/applications/mp4box/mp4box.c:6668,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:6860,1
    - Dst: gf_isom_is_inplace_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:6967,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6559,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6779,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6879,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:7027,1
    - Dst: do_track_act
      Src: /src/gpac/applications/mp4box/mp4box.c:6826,1
    - Dst: dump_mpeg2_ts
      Src: /src/gpac/applications/mp4box/mp4box.c:6498,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6244,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6321,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6103,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/mp4box/mp4box.c:6138,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6222,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6232,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6263,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:6338,1
    - Dst: package_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6344,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/mp4box.c:6375,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6743,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6993,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6527,1
    - Dst: dump_isom_timed_text
      Src: /src/gpac/applications/mp4box/mp4box.c:6631,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:6775,1
    - Dst: gf_isom_set_copyright
      Src: /src/gpac/applications/mp4box/mp4box.c:6835,1
    - Dst: dump_isom_timestamps
      Src: /src/gpac/applications/mp4box/mp4box.c:6648,1
    - Dst: do_raw_cat
      Src: /src/gpac/applications/mp4box/mp4box.c:6238,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6317,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6378,1
    - Dst: dump_isom_scene_stats
      Src: /src/gpac/applications/mp4box/mp4box.c:6599,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:6606,1
    - Dst: dump_isom_rtp
      Src: /src/gpac/applications/mp4box/mp4box.c:6643,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/mp4box.c:6780,1
    - Dst: gf_media_make_psp
      Src: /src/gpac/applications/mp4box/mp4box.c:6807,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6901,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6921,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6925,1
    - Dst: dump_isom_sdp
      Src: /src/gpac/applications/mp4box/mp4box.c:6603,1
    - Dst: dump_isom_chunks
      Src: /src/gpac/applications/mp4box/mp4box.c:6667,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/mp4box/mp4box.c:6766,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/mp4box.c:6421,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6531,1
    - Dst: dump_isom_timed_text
      Src: /src/gpac/applications/mp4box/mp4box.c:6637,1
    - Dst: gf_isom_is_inplace_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:6787,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7002,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7006,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:7031,1
    - Dst: hash_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6659,1
    - Dst: gf_isom_force_64bit_chunk_offset
      Src: /src/gpac/applications/mp4box/mp4box.c:6950,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6145,1
    - Dst: gf_sys_set_args
      Src: /src/gpac/applications/mp4box/mp4box.c:6156,1
    - Dst: PrintUsage
      Src: /src/gpac/applications/mp4box/mp4box.c:6193,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6264,1
    - Dst: package_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6341,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6399,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6412,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6419,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6460,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6483,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6557,1
    - Dst: do_tsel_act
      Src: /src/gpac/applications/mp4box/mp4box.c:6725,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:6741,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6806,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:6736,1
    - Dst: do_remux_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6511,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/mp4box.c:6768,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6919,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:6956,1
    - Dst: gf_isom_set_inplace_padding
      Src: /src/gpac/applications/mp4box/mp4box.c:6959,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6358,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:6229,1
    - Dst: gf_dm_wget
      Src: /src/gpac/applications/mp4box/mp4box.c:6258,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6103,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6135,1
    - Dst: gf_gpac_copyright_cite
      Src: /src/gpac/applications/mp4box/mp4box.c:6137,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6148,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6316,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6197,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6228,1
    - Dst: convert_mpd
      Src: /src/gpac/applications/mp4box/mp4box.c:6274,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6823,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6424,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6198,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6263,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/mp4box.c:6473,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6527,1
    - Dst: split_isomedia_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6683,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:6742,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:6776,1
    - Dst: do_itunes_tag
      Src: /src/gpac/applications/mp4box/mp4box.c:6830,1
    - Dst: gf_crypt_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6887,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/mp4box/mp4box.c:6905,1
    - Dst: dump_isom_xml
      Src: /src/gpac/applications/mp4box/mp4box.c:6621,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:6974,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6770,1
    - Dst: do_add_cat
      Src: /src/gpac/applications/mp4box/mp4box.c:6308,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:6298,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6348,1
    - Dst: dump_mpeg2_ts
      Src: /src/gpac/applications/mp4box/mp4box.c:6494,1
    - Dst: convert_file_info
      Src: /src/gpac/applications/mp4box/mp4box.c:6506,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6517,1
    - Dst: apply_high_dynamc_range_xml_desc
      Src: /src/gpac/applications/mp4box/mp4box.c:6538,1
    - Dst: gf_isom_keep_utc_times
      Src: /src/gpac/applications/mp4box/mp4box.c:6543,1
    - Dst: gf_isom_reset_switch_parameters
      Src: /src/gpac/applications/mp4box/mp4box.c:6719,1
    - Dst: gf_isom_sdp_clean
      Src: /src/gpac/applications/mp4box/mp4box.c:6748,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6922,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7047,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/mp4box.c:6767,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:6980,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6561,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7031,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:6773,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6868,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6115,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6149,1
    - Dst: do_import_sub
      Src: /src/gpac/applications/mp4box/mp4box.c:6303,1
    - Dst: EncodeFileChunk
      Src: /src/gpac/applications/mp4box/mp4box.c:6319,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6412,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/mp4box/mp4box.c:6478,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6549,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6555,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6568,1
    - Dst: do_export_tracks_non_isobmf
      Src: /src/gpac/applications/mp4box/mp4box.c:6576,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:6753,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6902,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/mp4box/mp4box.c:7014,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:7048,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6472,1
    - Dst: do_ipod_conv
      Src: /src/gpac/applications/mp4box/mp4box.c:6819,1
    - Dst: gf_isom_is_inplace_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:6963,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6764,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7039,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6991,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/mp4box.c:6703,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6996,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6800,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:6233,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6136,1
    - Dst: live_session
      Src: /src/gpac/applications/mp4box/mp4box.c:6168,1
    - Dst: do_compress_top_boxes
      Src: /src/gpac/applications/mp4box/mp4box.c:6246,1
    - Dst: do_scene_encode
      Src: /src/gpac/applications/mp4box/mp4box.c:6330,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6347,1
    - Dst: do_dash
      Src: /src/gpac/applications/mp4box/mp4box.c:6357,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6359,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6434,1
    - Dst: xml_bs_to_bin
      Src: /src/gpac/applications/mp4box/mp4box.c:6501,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6561,1
    - Dst: xml_bs_to_bin
      Src: /src/gpac/applications/mp4box/mp4box.c:6663,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6849,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/mp4box/mp4box.c:6856,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6870,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6793,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/mp4box/mp4box.c:6924,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/applications/mp4box/mp4box.c:6901,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/applications/mp4box/mp4box.c:6868,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6998,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:7010,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:6972,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6158,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6164,1
    - Dst: set_dash_input
      Src: /src/gpac/applications/mp4box/mp4box.c:6278,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6402,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6410,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6429,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6487,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6513,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6548,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6555,1
    - Dst: remove_systems_tracks
      Src: /src/gpac/applications/mp4box/mp4box.c:6730,1
    - Dst: gf_decrypt_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6893,1
    - Dst: gf_isom_make_interleave
      Src: /src/gpac/applications/mp4box/mp4box.c:6979,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/mp4box.c:6552,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6612,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6630,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6610,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:6754,1
    - Dst: gf_isom_open_segment
      Src: /src/gpac/applications/mp4box/mp4box.c:6405,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6627,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:6864,1
    - Dst: set_sdp_ext
      Src: /src/gpac/applications/mp4box/mp4box.c:6946,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6107,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6111,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6119,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6146,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6153,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6191,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6195,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6230,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6247,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6266,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/applications/mp4box/mp4box.c:6744,1
    - Dst: gf_decrypt_fragment
      Src: /src/gpac/applications/mp4box/mp4box.c:6891,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:7040,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6583,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6671,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7023,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6435,1
    - Dst: dump_isom_nal
      Src: /src/gpac/applications/mp4box/mp4box.c:6652,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6743,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6159,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:6231,1
    - Dst: _fileno
      Src: /src/gpac/applications/mp4box/mp4box.c:6217,1
    - Dst: rip_mpd
      Src: /src/gpac/applications/mp4box/mp4box.c:6252,1
    - Dst: DumpTrackInfo
      Src: /src/gpac/applications/mp4box/mp4box.c:6614,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:6698,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6712,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:6772,1
    - Dst: gf_media_check_qt_prores
      Src: /src/gpac/applications/mp4box/mp4box.c:6812,1
    - Dst: do_remux_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6581,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:7015,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/mp4box/mp4box.c:7021,1
    - Dst: gf_media_make_isma
      Src: /src/gpac/applications/mp4box/mp4box.c:6795,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6917,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:7046,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6916,1
    - Dst: SetupClockReferences
      Src: /src/gpac/applications/mp4box/mp4box.c:6936,1
    - Dst: do_write_udp
      Src: /src/gpac/applications/mp4box/mp4box.c:6270,1
    - Dst: mp4box_parse_single_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:6099,1
    - Dst: mp4box_parse_args
      Src: /src/gpac/applications/mp4box/mp4box.c:6162,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6169,1
    - Dst: get_file_type_by_ext
      Src: /src/gpac/applications/mp4box/mp4box.c:6389,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6434,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6485,1
    - Dst: dump_isom_chapters
      Src: /src/gpac/applications/mp4box/mp4box.c:6669,1
    - Dst: dump_isom_udta
      Src: /src/gpac/applications/mp4box/mp4box.c:6672,1
    - Dst: do_export_tracks
      Src: /src/gpac/applications/mp4box/mp4box.c:6694,1
    - Dst: do_dump_iod
      Src: /src/gpac/applications/mp4box/mp4box.c:6676,1
    - Dst: gf_media_make_3gpp
      Src: /src/gpac/applications/mp4box/mp4box.c:6801,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6870,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6929,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6650,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/applications/mp4box/mp4box.c:6988,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:7051,1
    - Dst: HintFile
      Src: /src/gpac/applications/mp4box/mp4box.c:6938,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:7038,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6516,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:6782,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7004,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6253,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6105,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/mp4box/mp4box.c:6128,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6147,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6158,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6223,1
    - Dst: do_size_top_boxes
      Src: /src/gpac/applications/mp4box/mp4box.c:6242,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6321,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:6376,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6410,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/applications/mp4box/mp4box.c:6991,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7017,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:6557,1
    - Dst: gf_isom_enable_compression
      Src: /src/gpac/applications/mp4box/mp4box.c:6953,1
    - Dst: get_file_type_by_ext
      Src: /src/gpac/applications/mp4box/mp4box.c:6282,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/mp4box.c:6150,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/applications/mp4box/mp4box.c:6423,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/mp4box.c:6434,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:6484,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/mp4box.c:6567,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6575,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:6606,1
    - Dst: DumpMovieInfo
      Src: /src/gpac/applications/mp4box/mp4box.c:6616,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:6629,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6528,1
    - Dst: dump_isom_scene
      Src: /src/gpac/applications/mp4box/mp4box.c:6593,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:6655,1
    - Dst: dump_isom_saps
      Src: /src/gpac/applications/mp4box/mp4box.c:6656,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:6773,1
    - Dst: gf_crypt_fragment
      Src: /src/gpac/applications/mp4box/mp4box.c:6885,1
    - Dst: gf_isom_set_final_name
      Src: /src/gpac/applications/mp4box/mp4box.c:6964,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:6387,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:7000,1
    CyclomaticComplexity: 394
    EdgeCount: 394
    ICount: 853
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 7052
      start: 6089
    functionDepth: 0
    functionLinenumber: 6089
    functionLinenumberEnd: 7052
    functionName: mp4box_main
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - do_raw_cat
    - strlen
    - gf_media_import
    - gf_media_make_psp
    - _setmode
    - get_file_type_by_ext
    - gf_isom_get_media_type
    - do_scene_encode
    - _set_output_format
    - gf_isom_set_final_name
    - mp4box_parse_args
    - do_tsel_act
    - remove_systems_tracks
    - dump_isom_ismacryp
    - hash_file
    - gf_isom_remove_root_od
    - strchr
    - gf_media_make_isma
    - gf_media_import_chapters
    - gf_isom_set_timescale
    - gf_crypt_file
    - do_remux_file
    - gf_isom_open
    - gf_sys_init
    - do_compress_top_boxes
    - gf_fclose
    - set_dash_input
    - gf_strlcpy
    - strncmp
    - apply_high_dynamc_range_xml_desc
    - gf_isom_open_segment
    - GF_SAFEALLOC
    - live_session
    - gf_file_ext_start
    - SetupClockReferences
    - gf_error_to_string
    - dump_isom_xml
    - gf_isom_get_track_count
    - strcpy
    - freopen
    - gf_isom_sdp_clean
    - EncodeFileChunk
    - dump_isom_scene_stats
    - dump_isom_rtp
    - do_itunes_tag
    - do_write_udp
    - gf_media_export
    - gf_isom_get_track_id
    - mp4box_parse_single_arg
    - convert_mpd
    - dump_isom_timed_text
    - M4_LOG
    - dump_isom_sdp
    - gf_media_check_qt_prores
    - gf_dm_wget
    - strcat
    - gf_file_move
    - gf_crypt_fragment
    - gf_sys_close
    - do_import_sub
    - dump_isom_timestamps
    - strrchr
    - gf_isom_force_64bit_chunk_offset
    - do_ipod_conv
    - gf_isom_freeze_order
    - gf_isom_set_brand_info
    - gf_file_exists
    - gf_isom_set_copyright
    - rip_mpd
    - gf_isom_set_inplace_padding
    - split_isomedia_file
    - dump_isom_nal
    - convert_file_info
    - PrintUsage
    - _fileno
    - strstr
    - gf_isom_reset_switch_parameters
    - do_dump_iod
    - gf_media_make_3gpp
    - gf_isom_open_progressive
    - dump_isom_cover_art
    - do_add_cat
    - init_global_vars
    - strcmp
    - do_meta_act
    - gf_isom_modify_alternate_brand
    - mp4box_cleanup
    - gf_log_set_tool_level
    - fprintf
    - gf_isom_enable_compression
    - dump_isom_chapters
    - do_track_act
    - dump_isom_saps
    - gf_isom_last_error
    - gf_free
    - gf_opts_get_key
    - DumpMovieInfo
    - gf_isom_disable_inplace_rewrite
    - gf_isom_set_storage_mode
    - dump_isom_chunks
    - do_dash
    - gf_opts_set_key
    - gf_isom_remove_track
    - gf_decrypt_file
    - gf_sys_is_quiet
    - do_export_tracks_non_isobmf
    - gf_isom_is_inplace_rewrite
    - gf_gpac_copyright_cite
    - memset
    - get_track_id
    - gf_isom_get_timescale
    - GF_LOG
    - HintFile
    - DumpTrackInfo
    - gf_isom_keep_utc_times
    - dump_isom_scene
    - dump_isom_udta
    - package_file
    - gf_gpac_version
    - gf_url_colon_suffix
    - gf_decrypt_fragment
    - gf_isom_close
    - gf_file_delete
    - xml_bs_to_bin
    - stricmp
    - gf_fopen
    - set_sdp_ext
    - gf_sys_set_args
    - gf_media_fragment_file
    - do_size_top_boxes
    - do_export_tracks
    - gf_isom_apply_box_patch
    - dump_mpeg2_ts
    - gf_isom_delete
    - gf_isom_get_filename
    - gf_isom_make_interleave
    - gf_isom_probe_file
    linkageType: ''
    returnType: int
    signature: 'int mp4box_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1280,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1290
    functionName: PrintExtractUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintExtractUsage() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2825,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2829
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2829
    functionName: parse_sdtp
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_sdtp(char *arg_val, u32 opt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3081
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3081
    functionName: parse_file_info
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_track_id
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_file_info(char *arg_val, u32 opt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2835,1
    - Dst: parse_track_action
      Src: /src/gpac/applications/mp4box/mp4box.c:2836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2844
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2844
    functionName: parse_rap_ref
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_track_action
    - parse_track_id
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_rap_ref(char *arg_val, u32 opt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:3085,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3094
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3094
    functionName: parse_boxpatch
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_track_id
    - strchr
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_boxpatch(char *arg_val, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1200,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1212
    functionName: PrintEncryptUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintEncryptUsage() '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:2352,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2357,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2360,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2364,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2367,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2374,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2375,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2387,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2395,1
    - Dst: memcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2406,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/mp4box.c:2415,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2425,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2412,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:2335,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:2349,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:2338,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2361,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2371,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2369,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2373,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2373,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2378,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2383,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2418,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:2427,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2391,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2413,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2403,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2420,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2419,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2337,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:2357,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2368,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2411,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/mp4box.c:2414,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2415,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/mp4box.c:2416,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2417,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2417,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2420,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:2445,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2418,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:2431,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2404,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2421,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2347,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2357,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/applications/mp4box/mp4box.c:2367,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2368,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2370,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2376,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2405,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2411,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/mp4box.c:2413,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2414,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2422,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2446,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2419,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2416,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2421,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 199
    argCount: 3
    argNames:
    - dash_inputs
    - name
    - nb_dash_inputs
    argTypes:
    - GF_DashSegmenterInput*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2450
    functionName: set_dash_input
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - strlen
    - gf_malloc
    - gf_dynstrcat
    - memset
    - strncmp
    - gf_realloc
    - gf_strdup
    - gf_parse_frac
    - sprintf
    - memcpy
    - strchr
    - strnicmp
    - parse_u32
    - stricmp
    - gf_parse_lfrac
    - strstr
    linkageType: ''
    returnType: GF_DashSegmenterInput*
    signature: 'GF_DashSegmenterInput *set_dash_input(GF_DashSegmenterInput *dash_inputs,
      char *name, u32 *nb_dash_inputs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_file_type_by_ext
      Src: /src/gpac/applications/mp4box/mp4box.c:2924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2929
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2929
    functionName: parse_cryp
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - get_file_type_by_ext
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_cryp(char *arg_val, u32 opt) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4339,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4346,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4346,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4353,1
    - Dst: gf_file_basename
      Src: /src/gpac/applications/mp4box/mp4box.c:4355,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4366,1
    - Dst: strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:4365,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4369,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4389,1
    - Dst: gf_mpd_smooth_to_mpd
      Src: /src/gpac/applications/mp4box/mp4box.c:4398,1
    - Dst: gf_dm_wget
      Src: /src/gpac/applications/mp4box/mp4box.c:4341,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4347,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4348,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4376,1
    - Dst: gf_mpd_new
      Src: /src/gpac/applications/mp4box/mp4box.c:4373,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4376,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4379,1
    - Dst: gf_mpd_write_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4403,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4411,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4414,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4339,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4368,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4377,1
    - Dst: gf_fread
      Src: /src/gpac/applications/mp4box/mp4box.c:4385,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4388,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4391,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4415,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4417,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/applications/mp4box/mp4box.c:4356,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4358,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4363,1
    - Dst: gf_m3u8_to_mpd
      Src: /src/gpac/applications/mp4box/mp4box.c:4396,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4408,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4414,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4418,1
    - Dst: gf_mpd_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4333
    functionDepth: 0
    functionLinenumber: 4333
    functionLinenumberEnd: 4420
    functionName: convert_mpd
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_mpd_new
    - strdup
    - gf_m3u8_to_mpd
    - strstr
    - gf_file_ext_start
    - gf_mpd_smooth_to_mpd
    - gf_mpd_del
    - gf_error_to_string
    - gf_file_delete
    - gf_file_basename
    - gf_mpd_write_file
    - strcpy
    - mp4box_cleanup
    - gf_fopen
    - sprintf
    - gf_fread
    - gf_free
    - strnicmp
    - M4_LOG
    - gf_dm_wget
    - gf_fclose
    linkageType: ''
    returnType: u32
    signature: 'static u32 convert_mpd() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:5025,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5027,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:5031,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5034,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:5032,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/applications/mp4box/mp4box.c:5039,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/applications/mp4box/mp4box.c:5040,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/mp4box.c:5042,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5043,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5048,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:5050,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:5051,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/mp4box.c:5053,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5022
    functionDepth: 0
    functionLinenumber: 5022
    functionLinenumberEnd: 5056
    functionName: do_dump_iod
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_write
    - gf_bs_from_file
    - gf_bs_del
    - sprintf
    - gf_isom_get_root_od
    - gf_odf_desc_del
    - gf_fwrite
    - gf_fclose
    - M4_LOG
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_dump_iod() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5475,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5477,1
    - Dst: gf_isom_set_ipod_compatible
      Src: /src/gpac/applications/mp4box/mp4box.c:5484,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:5488,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5478,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/mp4box.c:5492,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5495,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5496,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/mp4box.c:5500,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5512,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:5518,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/mp4box/mp4box.c:5517,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5521
      start: 5471
    functionDepth: 0
    functionLinenumber: 5471
    functionLinenumberEnd: 5521
    functionName: do_ipod_conv
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_set_ipod_compatible
    - gf_isom_get_reference
    - gf_isom_set_brand_info
    - gf_isom_modify_alternate_brand
    - gf_isom_get_track_count
    - gf_isom_set_media_type
    - M4_LOG
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'static void do_ipod_conv() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5907,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5909,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5912,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5914,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5910,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5915,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/applications/mp4box/mp4box.c:5919,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/applications/mp4box/mp4box.c:5928,1
    - Dst: gf_isom_sdp_add_line
      Src: /src/gpac/applications/mp4box/mp4box.c:5931,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5935
      start: 5903
    functionDepth: 0
    functionLinenumber: 5903
    functionLinenumberEnd: 5935
    functionName: set_sdp_ext
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_isom_get_track_by_id
    - gf_isom_sdp_add_line
    - get_track_id
    - gf_isom_sdp_add_track_line
    - gf_isom_get_track_count
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'static void set_sdp_ext() '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2482,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2722,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2619,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2489,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2528,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2553,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2578,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2700,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2671,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2579,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2740,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2558,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2565,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2456,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:2462,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2487,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2502,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:2552,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2726,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2732,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2735,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2640,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2624,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2538,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2729,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2738,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2602,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2638,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2657,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:2715,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2663,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2525,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2616,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2654,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2669,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2650,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2521,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2720,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2584,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2599,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2737,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2596,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2690,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2496,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2573,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2634,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2477,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2471,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2480,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2586,1
    - Dst: mktime
      Src: /src/gpac/applications/mp4box/mp4box.c:2710,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:2704,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2647,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2730,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2733,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2659,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2724,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2571,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2681,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2527,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2540,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/mp4box.c:2641,1
    - Dst: strncpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2582,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2473,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2512,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2544,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2632,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2648,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2683,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2728,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2731,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2530,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:2547,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2567,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2626,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2665,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2697,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2621,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2675,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2493,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2546,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2555,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2746,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2498,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2519,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2511,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2577,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2705,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2734,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 337
    argCount: 3
    argNames:
    - arg_val
    - act_type
    - dump_type
    argTypes:
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2749
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2749
    functionName: create_new_track_action
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - parse_s32
    - memset
    - mktime
    - strncmp
    - gf_realloc
    - sscanf
    - gf_strdup
    - GF_4CC
    - parse_track_id
    - strchr
    - strncpy
    - strnicmp
    - parse_u32
    - M4_LOG
    - stricmp
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool create_new_track_action(char *arg_val, u32 act_type, u32
      dump_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2933,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2935,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2935,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2933,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2934,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2937,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2937,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2939,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2939,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2941,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2942,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2945,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2943,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2949
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2949
    functionName: parse_dash_profile
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    - M4_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dash_profile(char *arg_val, u32 opt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:3172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - arg_val
    - opt
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3174
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3174
    functionName: parse_dashlive
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - atof
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dashlive(char *arg, char *arg_val, u32 opt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:3618,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3620,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - (argc, argv, arg, &i)
    argTypes:
    - mp4box_parse_single_arg
    constantsTouched: []
    func_position:
      end: 3623
      start: 3616
    functionDepth: 0
    functionLinenumber: 3616
    functionLinenumberEnd: 3623
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_mark_arg_used
    - mp4box_cleanup
    linkageType: ''
    returnType: else
    signature: 'else if (mp4box_parse_single_arg(argc, argv, arg, &i)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4072,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4072,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4075,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4077,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4072,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/mp4box/mp4box.c:4078,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4081,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4082,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/applications/mp4box/mp4box.c:4085,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/mp4box/mp4box.c:4088,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/applications/mp4box/mp4box.c:4099,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:4090,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4091,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4102,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4101,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - inName
    - compress_top_boxes
    - mode
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 4105
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4105
    functionName: do_size_top_boxes
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_from_file
    - gf_bs_del
    - strcmp
    - gf_bs_available
    - gf_bs_read_u64
    - gf_4cc_to_str
    - gf_fclose
    - gf_bs_skip_bytes
    - gf_fopen
    - strstr
    linkageType: ''
    returnType: u64
    signature: 'static u64 do_size_top_boxes(char *inName, char *compress_top_boxes,
      u32 mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3037,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:3046,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3039,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:3042,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3040,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3048,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:3052,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:3054,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - b
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3059
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3059
    functionName: parse_brand
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_realloc
    - sscanf
    - GF_4CC
    - parse_u32
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_brand(char *b, u32 opt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3670,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/mp4box/mp4box.c:3681,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3675,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3674,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/applications/mp4box/mp4box.c:3684,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3688
      start: 3667
    functionDepth: 0
    functionLinenumber: 3667
    functionLinenumberEnd: 3688
    functionName: SetupClockReferences
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_is_track_in_root_od
    - gf_isom_get_track_id
    - gf_isom_change_mpeg4_description
    - gf_isom_get_track_count
    - gf_odf_desc_del
    - gf_isom_get_esd
    linkageType: ''
    returnType: void
    signature: 'void SetupClockReferences(GF_ISOFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4272,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4273,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4275,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4277,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4278,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4279,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/mp4box.c:4281,1
    - Dst: gf_ftell
      Src: /src/gpac/applications/mp4box/mp4box.c:4282,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/mp4box/mp4box.c:4283,1
    - Dst: gf_fread
      Src: /src/gpac/applications/mp4box/mp4box.c:4286,1
    - Dst: gf_fwrite
      Src: /src/gpac/applications/mp4box/mp4box.c:4287,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4298,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4289,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4293,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4297,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4299
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4299
    functionName: do_raw_cat
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - fprintf
    - gf_fread
    - gf_fwrite
    - gf_ftell
    - mp4box_cleanup
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: u32
    signature: 'static u32 do_raw_cat() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5060,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5071,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5063,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5082,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5069,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - file
    - tkid
    argTypes:
    - GF_ISOFile*
    - TrackIdentifier*
    constantsTouched: []
    func_position:
      end: 5085
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5085
    functionName: get_track_id
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_id
    - gf_isom_get_media_type
    - gf_isom_get_track_count
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_track_id(GF_ISOFile *file, TrackIdentifier *tkid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:5942,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/mp4box.c:5947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5951
      start: 5938
    functionDepth: 0
    functionLinenumber: 5938
    functionLinenumberEnd: 5951
    functionName: do_remux_file
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_media_export
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_remux_file() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:6524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames:
    - open_edit
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6526
      start: 6523
    functionDepth: 0
    functionLinenumber: 6523
    functionLinenumberEnd: 6526
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_open
    linkageType: ''
    returnType: else
    signature: 'else if (open_edit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3066
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3066
    functionName: parse_mpegu
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_mpegu(char *arg_val, u32 opt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4144,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4200,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4204,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:4213,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:4218,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/mp4box.c:4220,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4234,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4240,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/mp4box.c:4134,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4130,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4139,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4145,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4188,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4201,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4204,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/applications/mp4box/mp4box.c:4214,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:4215,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4233,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4242,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:4222,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4124,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4148,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/mp4box/mp4box.c:4158,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/applications/mp4box/mp4box.c:4159,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:4146,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:4170,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/applications/mp4box/mp4box.c:4172,1
    - Dst: gf_gz_compress_payload
      Src: /src/gpac/applications/mp4box/mp4box.c:4178,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/applications/mp4box/mp4box.c:4190,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4198,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4199,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4120,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4128,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4136,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/applications/mp4box/mp4box.c:4137,1
    - Dst: gf_bs_available
      Src: /src/gpac/applications/mp4box/mp4box.c:4143,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4151,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4147,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4152,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/applications/mp4box/mp4box.c:4192,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/applications/mp4box/mp4box.c:4196,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4202,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4236,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4239,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 130
    argCount: 2
    argNames:
    - inName
    - outName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4246
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4246
    functionName: do_compress_top_boxes
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_from_file
    - gf_isom_get_timescale
    - gf_bs_write_data
    - gf_4cc_to_str
    - strstr
    - gf_bs_del
    - gf_error_to_string
    - strcmp
    - gf_isom_close
    - gf_isom_get_track_count
    - gf_bs_read_data
    - gf_fopen
    - gf_bs_read_u32
    - gf_bs_get_position
    - fprintf
    - gf_bs_write_u32
    - gf_free
    - gf_bs_get_size
    - M4_LOG
    - gf_isom_get_sample_count
    - gf_isom_get_duration
    - gf_gz_compress_payload
    - gf_realloc
    - gf_bs_available
    - gf_isom_open
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_compress_top_boxes(char *inName, char *outName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:799,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 847
    functionName: PrintDASHUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintDASHUsage() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1622,1
    - Dst: gf_cicp_color_primaries_name
      Src: /src/gpac/applications/mp4box/mp4box.c:1625,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1623,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1626,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1627,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1629,1
    - Dst: gf_cicp_color_transfer_name
      Src: /src/gpac/applications/mp4box/mp4box.c:1631,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1633,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1635,1
    - Dst: gf_cicp_color_matrix_name
      Src: /src/gpac/applications/mp4box/mp4box.c:1637,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1639,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1641
    functionName: PrintCICP
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_format_help
    - gf_cicp_color_transfer_name
    - strcmp
    - gf_cicp_color_matrix_name
    - gf_cicp_color_primaries_name
    linkageType: ''
    returnType: void
    signature: 'void PrintCICP() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_new_track_action
      Src: /src/gpac/applications/mp4box/mp4box.c:2753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - dump_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2757
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2757
    functionName: parse_track_dump
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - create_new_track_action
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_track_dump(char *arg, u32 dump_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_new_track_action
      Src: /src/gpac/applications/mp4box/mp4box.c:2760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - act_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2764
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2764
    functionName: parse_track_action
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - create_new_track_action
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_track_action(char *arg, u32 act_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1507,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1518,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1529
    functionName: PrintLiveUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintLiveUsage() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1361,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1372
    functionName: PrintDumpUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintDumpUsage() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_new
      Src: /src/gpac/applications/mp4box/mp4box.c:4306,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4316,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4308,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:4311,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/mp4box/mp4box.c:4313,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4316,1
    - Dst: gf_sk_send
      Src: /src/gpac/applications/mp4box/mp4box.c:4319,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4319,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4321,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4321,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4301
    functionDepth: 0
    functionLinenumber: 4301
    functionLinenumberEnd: 4330
    functionName: do_write_udp
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sk_new
    - gf_error_to_string
    - gf_sk_del
    - strrchr
    - gf_sk_bind
    - parse_u32
    - M4_LOG
    - gf_sk_send
    linkageType: ''
    returnType: u32
    signature: 'static u32 do_write_udp() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6316,1
    - Dst: EncodeFileChunk
      Src: /src/gpac/applications/mp4box/mp4box.c:6319,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6321,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6317,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6321,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames:
    - chunk_mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6325
      start: 6314
    functionDepth: 0
    functionLinenumber: 6314
    functionLinenumberEnd: 6325
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - M4_LOG
    - gf_error_to_string
    - EncodeFileChunk
    - mp4box_cleanup
    linkageType: ''
    returnType: else
    signature: 'else if (chunk_mode) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:4508,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4555,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4615,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4629,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4657,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/mp4box.c:4650,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4688,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/applications/mp4box/mp4box.c:4694,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:4574,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4501,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/applications/mp4box/mp4box.c:4542,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:4526,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4544,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4672,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4632,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4685,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4510,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4546,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4552,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4607,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4553,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4602,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4629,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4657,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/applications/mp4box/mp4box.c:4669,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4655,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4655,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4659,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4666,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4511,1
    - Dst: gf_file_exists
      Src: /src/gpac/applications/mp4box/mp4box.c:4584,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4631,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4687,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4495,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:4521,1
    - Dst: gf_isom_keep_utc_times
      Src: /src/gpac/applications/mp4box/mp4box.c:4533,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4611,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4629,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4510,1
    - Dst: gf_isom_freeze_order
      Src: /src/gpac/applications/mp4box/mp4box.c:4515,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4550,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4674,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4639,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4618,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/applications/mp4box/mp4box.c:4519,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4606,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4500,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/mp4box.c:4510,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:4578,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4600,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4616,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4650,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4686,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4570,1
    - Dst: gf_fs_run
      Src: /src/gpac/applications/mp4box/mp4box.c:4678,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4673,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/applications/mp4box/mp4box.c:4682,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4696,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4644,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4667,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4670,1
    - Dst: cat_isomedia_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4655,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:4648,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4615,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4619,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4651,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4545,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:4577,1
    - Dst: remove_systems_tracks
      Src: /src/gpac/applications/mp4box/mp4box.c:4701,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/applications/mp4box/mp4box.c:4681,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/applications/mp4box/mp4box.c:4693,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:4595,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4650,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4675,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4610,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4658,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4685,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4539,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4554,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:4562,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/applications/mp4box/mp4box.c:4695,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 220
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4706
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4706
    functionName: do_add_cat
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_fs_print_non_connected
    - import_file
    - gf_isom_keep_utc_times
    - gf_fs_load_filter
    - strstr
    - gf_fs_run
    - gf_url_colon_suffix
    - gf_error_to_string
    - cat_isomedia_file
    - strcmp
    - gf_fs_del
    - remove_systems_tracks
    - gf_isom_modify_alternate_brand
    - gf_isom_get_track_count
    - mp4box_cleanup
    - gf_fs_get_last_connect_error
    - gf_fopen
    - gf_dynstrcat
    - sprintf
    - gf_fs_new_defaults
    - strchr
    - gf_isom_last_error
    - gf_free
    - gf_fs_print_stats
    - M4_LOG
    - gf_isom_delete
    - gf_fs_print_connections
    - gf_isom_set_storage_mode
    - gf_fs_get_last_process_error
    - gf_isom_probe_file
    - gf_isom_open
    - gf_fclose
    - gf_isom_set_brand_info
    - gf_isom_freeze_order
    - gf_file_exists
    linkageType: ''
    returnType: u32
    signature: 'static u32 do_add_cat(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1242,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1255
    functionName: PrintHintUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintHintUsage() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1541,1
    - Dst: gf_itags_get_itag
      Src: /src/gpac/applications/mp4box/mp4box.c:1588,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1589,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/applications/mp4box/mp4box.c:1587,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/applications/mp4box/mp4box.c:1585,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1590,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:1590,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1593,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1598,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1601,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1603,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1607,1
    - Dst: gf_itags_get_alt_name
      Src: /src/gpac/applications/mp4box/mp4box.c:1609,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1614,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1605,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1611,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1617
    functionName: PrintTags
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_itags_get_type
    - gf_sys_format_help
    - gf_itags_get_alt_name
    - gf_itags_get_itag
    - gf_itags_get_name
    linkageType: ''
    returnType: void
    signature: 'void PrintTags() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:1725,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:1751,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1749,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1746,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1727,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1751,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/mp4box/mp4box.c:1761,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1765,1
    - Dst: gf_strnistr
      Src: /src/gpac/applications/mp4box/mp4box.c:1765,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1777,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1780,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 5
    argNames:
    - arg_name
    - args
    - _args
    - search_type
    - class_name
    argTypes:
    - char*
    - MP4BoxArg*
    - GF_GPACArg*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1786
    functionName: PrintHelpForArgs
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_sys_print_arg
    - sprintf
    - strcmp
    - gf_sys_word_match
    - gf_strnistr
    linkageType: ''
    returnType: u32
    signature: 'static u32 PrintHelpForArgs(char *arg_name, MP4BoxArg *args, GF_GPACArg
      *_args, u32 search_type, char *class_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4447,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4447,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4456,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4457,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4467,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4474,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/mp4box.c:4433,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4435,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4449,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4454,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4472,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4477,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/applications/mp4box/mp4box.c:4440,1
    - Dst: gf_media_import
      Src: /src/gpac/applications/mp4box/mp4box.c:4445,1
    - Dst: dump_isom_timed_text
      Src: /src/gpac/applications/mp4box/mp4box.c:4461,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:4461,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4450,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4451,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4456,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:4469,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:4439,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4436,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4448,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4455,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4468,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4471,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4471,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4479
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4479
    functionName: do_import_sub
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_media_import
    - gf_error_to_string
    - gf_isom_set_timescale
    - strcpy
    - gf_isom_get_track_id
    - gf_file_delete
    - gf_isom_open
    - strchr
    - GF_SAFEALLOC
    - mp4box_cleanup
    - dump_isom_timed_text
    - M4_LOG
    - gf_isom_delete
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 do_import_sub() '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/applications/mp4box/mp4box.c:5202,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:5245,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5256,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/applications/mp4box/mp4box.c:5287,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5271,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5384,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5387,1
    - Dst: gf_isom_iff_create_image_grid_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5327,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5351,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/mp4box/mp4box.c:5408,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:5225,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5405,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5366,1
    - Dst: import_file
      Src: /src/gpac/applications/mp4box/mp4box.c:5232,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5245,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/applications/mp4box/mp4box.c:5300,1
    - Dst: gf_isom_extract_meta_xml
      Src: /src/gpac/applications/mp4box/mp4box.c:5395,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5162,1
    - Dst: gf_isom_meta_add_item_group
      Src: /src/gpac/applications/mp4box/mp4box.c:5291,1
    - Dst: gf_isom_meta_get_next_item_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5323,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5349,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5178,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5236,1
    - Dst: gf_isom_meta_get_next_item_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5251,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5257,1
    - Dst: gf_isom_remove_meta_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5274,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:5297,1
    - Dst: gf_isom_iff_create_image_overlay_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5332,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/applications/mp4box/mp4box.c:5406,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5385,1
    - Dst: gf_isom_extract_meta_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5385,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:5317,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5186,1
    - Dst: gf_isom_get_meta_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5240,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5242,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5264,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5285,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/mp4box.c:5352,1
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5270,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5326,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5328,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5156,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/applications/mp4box/mp4box.c:5226,1
    - Dst: gf_isom_iff_create_image_identity_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5337,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/applications/mp4box/mp4box.c:5171,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5200,1
    - Dst: gf_isom_iff_create_image_item_from_track
      Src: /src/gpac/applications/mp4box/mp4box.c:5278,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5317,1
    - Dst: gf_isom_remove_meta_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5181,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5379,1
    - Dst: gf_isom_has_meta_xml
      Src: /src/gpac/applications/mp4box/mp4box.c:5394,1
    - Dst: gf_isom_set_meta_xml
      Src: /src/gpac/applications/mp4box/mp4box.c:5371,1
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5177,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5189,1
    - Dst: gf_isom_add_meta_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5190,1
    - Dst: gf_isom_disable_brand_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:5231,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5283,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5397,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:5406,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/applications/mp4box/mp4box.c:5353,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5346,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5257,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5333,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5170,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5189,1
    - Dst: gf_isom_disable_brand_rewrite
      Src: /src/gpac/applications/mp4box/mp4box.c:5233,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5331,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5198,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5314,1
    - Dst: gf_isom_remove_meta_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5362,1
    - Dst: gf_isom_get_meta_type
      Src: /src/gpac/applications/mp4box/mp4box.c:5311,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:5189,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5258,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5375,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/applications/mp4box/mp4box.c:5224,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5302,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/applications/mp4box/mp4box.c:5281,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/mp4box.c:5286,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:5338,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:5336,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5159,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5209,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/mp4box.c:5201,1
    - Dst: gf_isom_remove_meta_xml
      Src: /src/gpac/applications/mp4box/mp4box.c:5376,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 275
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5415
      start: 5146
    functionDepth: 0
    functionLinenumber: 5146
    functionLinenumberEnd: 5415
    functionName: do_meta_act
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_meta_add_item_group
    - strlen
    - get_track_id
    - import_file
    - GF_LOG
    - gf_isom_extract_meta_xml
    - gf_4cc_to_str
    - gf_isom_get_media_type
    - gf_isom_iff_create_image_grid_item
    - gf_list_pop_back
    - gf_isom_get_track_by_id
    - GF_4CC
    - gf_isom_iff_create_image_identity_item
    - gf_list_del
    - gf_list_count
    - gf_isom_iff_create_image_overlay_item
    - gf_isom_disable_brand_rewrite
    - gf_isom_remove_meta_xml
    - gf_isom_get_meta_type
    - gf_isom_modify_alternate_brand
    - gf_isom_get_track_count
    - stricmp
    - gf_isom_extract_meta_item
    - gf_isom_set_meta_xml
    - gf_isom_has_meta_xml
    - gf_isom_remove_meta_item
    - gf_list_get
    - gf_isom_get_track_id
    - gf_isom_set_meta_type
    - gf_isom_set_meta_primary_item
    - gf_isom_last_error
    - gf_isom_meta_get_next_item_id
    - gf_free
    - M4_LOG
    - gf_isom_delete
    - gf_isom_get_meta_item_by_id
    - gf_isom_add_meta_item
    - gf_isom_meta_add_item_ref
    - gf_isom_probe_file
    - gf_isom_get_meta_item_count
    - gf_isom_open
    - gf_isom_remove_track
    - gf_isom_iff_create_image_item_from_track
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_meta_act() '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1798,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1800,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1809,1
    - Dst: gf_fs_filters_registers_count
      Src: /src/gpac/applications/mp4box/mp4box.c:1814,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1804,1
    - Dst: gf_sys_get_options
      Src: /src/gpac/applications/mp4box/mp4box.c:1809,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:1813,1
    - Dst: gf_fs_get_filter_register
      Src: /src/gpac/applications/mp4box/mp4box.c:1817,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1824,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/applications/mp4box/mp4box.c:1826,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1797,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1803,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1807,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1808,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1829,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1864,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1873,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1875,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1879,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:1868,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:1794,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1796,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1802,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1806,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1871,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1867,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1795,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1799,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1801,1
    - Dst: PrintHelpForArgs
      Src: /src/gpac/applications/mp4box/mp4box.c:1805,1
    - Dst: gf_strnistr
      Src: /src/gpac/applications/mp4box/mp4box.c:1829,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 3
    argNames:
    - arg_name
    - search_type
    - fs
    argTypes:
    - char*
    - u32
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1885
    functionName: PrintHelpArg
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filter_register
    - strlen
    - gf_sys_get_options
    - gf_sys_format_help
    - memset
    - gf_sys_print_arg
    - fprintf
    - strcmp
    - sprintf
    - gf_sys_word_match
    - stricmp
    - PrintHelpForArgs
    - gf_fs_filters_registers_count
    - gf_strnistr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PrintHelpArg(char *arg_name, u32 search_type, GF_FilterSession
      *fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:381,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - val
    - log_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: parse_u32
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - sscanf
    - M4_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_u32(char *val, char *log_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1441,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1451
    functionName: PrintMetaUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintMetaUsage() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/applications/mp4box/mp4box.c:1892,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:1900,1
    - Dst: strlwr
      Src: /src/gpac/applications/mp4box/mp4box.c:1899,1
    - Dst: PrintHelpArg
      Src: /src/gpac/applications/mp4box/mp4box.c:1901,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:1898,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/mp4box.c:1902,1
    - Dst: PrintHelpArg
      Src: /src/gpac/applications/mp4box/mp4box.c:1904,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:1906,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:1907,1
    - Dst: PrintHelpArg
      Src: /src/gpac/applications/mp4box/mp4box.c:1909,1
    - Dst: gf_fs_del
      Src: /src/gpac/applications/mp4box/mp4box.c:1913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - arg_name
    - search_desc
    - no_match
    argTypes:
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1914
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1914
    functionName: PrintHelp
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - PrintHelpArg
    - GF_LOG
    - gf_fs_del
    - gf_fs_new_defaults
    - strlwr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void PrintHelp(char *arg_name, Bool search_desc, Bool no_match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2771
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2771
    functionName: parse_comp_box
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_comp_box(char *arg_val, u32 opt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:6338,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6348,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6347,1
    - Dst: package_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6344,1
    - Dst: package_file
      Src: /src/gpac/applications/mp4box/mp4box.c:6341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames:
    - pack_file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6353
      start: 6336
    functionDepth: 0
    functionLinenumber: 6336
    functionLinenumberEnd: 6353
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - M4_LOG
    - package_file
    - mp4box_cleanup
    linkageType: ''
    returnType: else
    signature: 'else if (pack_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:389,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - val
    - log_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: parse_s32
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - sscanf
    - M4_LOG
    linkageType: ''
    returnType: s32
    signature: 's32 parse_s32(char *val, char *log_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:1920,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:1922,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:1925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - arg_val
    - param
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1942
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1942
    functionName: parse_sdp_ext
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - parse_track_id
    - strchr
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_sdp_ext(char *arg_val, u32 param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2777
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2777
    functionName: parse_dnal
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_track_id
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dnal(char *arg_val, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:662,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 697
    functionName: PrintSplitUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'static void PrintSplitUsage() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:5098,1
    - Dst: get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5103,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/applications/mp4box/mp4box.c:5105,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5105,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:5106,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:5119,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:5122,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:5126,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:5127,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:5128,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/mp4box.c:5131,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/mp4box.c:5136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5144
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5144
    functionName: do_export_tracks
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - memset
    - get_track_id
    - sprintf
    - gf_isom_get_track_id
    - gf_media_export
    - gf_isom_get_track_count
    - M4_LOG
    - gf_isom_is_external_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_export_tracks() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1100,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:1104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1116
    functionName: mp4box_check_isom_fileopt
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    - fprintf
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4box_check_isom_fileopt(char *opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strchr(szSlot+11, ',')
    - == NULL
    argTypes:
    - strchr(szSlot+11, ',')
    constantsTouched: []
    func_position:
      end: 2091
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2091
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - parse_u32
    linkageType: ''
    returnType: CHECK_IMGPROP
    signature: 'CHECK_IMGPROP if (strchr(szSlot+11, '','') == NULL) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/mp4box/mp4box.c:3875,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3880,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3886,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3884,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/applications/mp4box/mp4box.c:3883,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3888,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3892,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/applications/mp4box/mp4box.c:3900,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3901,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3905,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3909,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3910
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3910
    functionName: check_media_profile
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - gf_isom_get_pl_indication
    - gf_isom_set_pl_indication
    - gf_odf_desc_del
    - gf_m4a_get_config
    - gf_isom_get_esd
    linkageType: ''
    returnType: void
    signature: 'static void check_media_profile(GF_ISOFile *file, u32 track) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/applications/mp4box/mp4box.c:3779,1
    - Dst: gf_hinter_track_force_no_offsets
      Src: /src/gpac/applications/mp4box/mp4box.c:3829,1
    - Dst: gf_hinter_track_get_bandwidth
      Src: /src/gpac/applications/mp4box/mp4box.c:3831,1
    - Dst: gf_hinter_track_get_payload_name
      Src: /src/gpac/applications/mp4box/mp4box.c:3838,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3839,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3839,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3840,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3822,1
    - Dst: gf_hinter_track_process
      Src: /src/gpac/applications/mp4box/mp4box.c:3841,1
    - Dst: gf_hinter_finalize
      Src: /src/gpac/applications/mp4box/mp4box.c:3860,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3863,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:3839,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/applications/mp4box/mp4box.c:3839,1
    - Dst: gf_isom_is_single_av
      Src: /src/gpac/applications/mp4box/mp4box.c:3722,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3725,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:3726,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3728,1
    - Dst: gf_isom_set_default_sync_track
      Src: /src/gpac/applications/mp4box/mp4box.c:3729,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/applications/mp4box/mp4box.c:3741,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3800,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3847,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:3822,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3718,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3717,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3742,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3740,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3742,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/mp4box.c:3778,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:3746,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3804,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/applications/mp4box/mp4box.c:3805,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3812,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:3847,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3714,1
    - Dst: gf_isom_guess_specification
      Src: /src/gpac/applications/mp4box/mp4box.c:3721,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3736,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/applications/mp4box/mp4box.c:3788,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3802,1
    - Dst: gf_hinter_can_embbed_data
      Src: /src/gpac/applications/mp4box/mp4box.c:3807,1
    - Dst: gf_hinter_track_get_flags
      Src: /src/gpac/applications/mp4box/mp4box.c:3833,1
    - Dst: gf_hinter_track_finalize
      Src: /src/gpac/applications/mp4box/mp4box.c:3843,1
    - Dst: gf_hinter_track_del
      Src: /src/gpac/applications/mp4box/mp4box.c:3844,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:3836,1
    - Dst: gf_hinter_track_new
      Src: /src/gpac/applications/mp4box/mp4box.c:3818,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 160
    argCount: 10
    argNames:
    - file
    - MTUSize
    - max_ptime
    - rtp_rate
    - base_flags
    - copy_data
    - interleave
    - regular_iod
    - single_group
    - hint_no_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - Bool
    - Bool
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3866
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3866
    functionName: HintFile
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_hinter_track_process
    - gf_isom_is_track_in_root_od
    - gf_hinter_track_force_no_offsets
    - gf_isom_set_default_sync_track
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_isom_get_media_subtype
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_media_type
    - gf_hinter_finalize
    - gf_error_to_string
    - gf_list_count
    - gf_isom_get_track_count
    - gf_isom_get_esd
    - gf_isom_is_track_enabled
    - gf_hinter_track_get_bandwidth
    - gf_isom_get_track_id
    - gf_isom_get_mpeg4_subtype
    - gf_hinter_track_get_payload_name
    - gf_hinter_can_embbed_data
    - gf_hinter_track_get_flags
    - gf_hinter_track_new
    - gf_isom_get_root_od
    - gf_isom_sample_del
    - M4_LOG
    - gf_isom_get_sample_count
    - gf_hinter_track_del
    - gf_isom_is_single_av
    - gf_hinter_track_finalize
    - gf_isom_guess_specification
    - gf_isom_get_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err HintFile(GF_ISOFile *file, u32 MTUSize, u32 max_ptime, u32
      rtp_rate, u32 base_flags, Bool copy_data, Bool interleave, Bool regular_iod,
      Bool single_group, Bool hint_no_offset) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/applications/mp4box/mp4box.c:3937,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/applications/mp4box/mp4box.c:3947,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3959,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3961,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3960,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3915,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3919,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3920,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/applications/mp4box/mp4box.c:3923,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3921,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/applications/mp4box/mp4box.c:3924,1
    - Dst: check_media_profile
      Src: /src/gpac/applications/mp4box/mp4box.c:3932,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3955,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3956,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3958,1
    - Dst: gf_isom_remove_track_from_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3931,1
    - Dst: gf_isom_remove_track_from_root_od
      Src: /src/gpac/applications/mp4box/mp4box.c:3939,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3955,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/applications/mp4box/mp4box.c:3956,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3962
      start: 3911
    functionDepth: 0
    functionLinenumber: 3911
    functionLinenumberEnd: 3962
    functionName: remove_systems_tracks
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_pl_indication
    - gf_isom_set_pl_indication
    - gf_isom_remove_track
    - gf_isom_get_track_count
    - check_media_profile
    - gf_isom_remove_track_from_root_od
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    linkageType: ''
    returnType: void
    signature: 'void remove_systems_tracks(GF_ISOFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:328,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:336,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:338,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:337,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:339,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:340,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 204
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 368
    functionName: init_global_vars
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void init_global_vars() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1029,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1088,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1076,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1090
    functionName: PrintImportUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintImportUsage() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1691,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:1698,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:1700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1706
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4822,1
    - Dst: gf_dasher_enable_rap_splitting
      Src: /src/gpac/applications/mp4box/mp4box.c:4849,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4875,1
    - Dst: gf_dasher_set_split_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4864,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4961,1
    - Dst: gf_file_move
      Src: /src/gpac/applications/mp4box/mp4box.c:4963,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4781,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/applications/mp4box/mp4box.c:4789,1
    - Dst: gf_dasher_set_switch_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4847,1
    - Dst: gf_dasher_keep_source_utc
      Src: /src/gpac/applications/mp4box/mp4box.c:4869,1
    - Dst: gf_dasher_add_input
      Src: /src/gpac/applications/mp4box/mp4box.c:4872,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4905,1
    - Dst: gf_dasher_set_dynamic_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4852,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4895,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4759,1
    - Dst: gf_url_get_resource_name
      Src: /src/gpac/applications/mp4box/mp4box.c:4763,1
    - Dst: scanf
      Src: /src/gpac/applications/mp4box/mp4box.c:4962,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4969,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/mp4box.c:4913,1
    - Dst: gf_dasher_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4833,1
    - Dst: gf_dasher_enable_memory_fragmenting
      Src: /src/gpac/applications/mp4box/mp4box.c:4855,1
    - Dst: gf_isom_close
      Src: /src/gpac/applications/mp4box/mp4box.c:4810,1
    - Dst: gf_dasher_enable_url_template
      Src: /src/gpac/applications/mp4box/mp4box.c:4843,1
    - Dst: gf_dasher_enable_sidx
      Src: /src/gpac/applications/mp4box/mp4box.c:4851,1
    - Dst: gf_dasher_enable_utc_ref
      Src: /src/gpac/applications/mp4box/mp4box.c:4858,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4884,1
    - Dst: gf_dasher_process
      Src: /src/gpac/applications/mp4box/mp4box.c:4893,1
    - Dst: gf_dasher_set_profile_extension
      Src: /src/gpac/applications/mp4box/mp4box.c:4861,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4966,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4776,1
    - Dst: gf_dasher_enable_single_segment
      Src: /src/gpac/applications/mp4box/mp4box.c:4845,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/mp4box/mp4box.c:4923,1
    - Dst: gf_dasher_set_durations
      Src: /src/gpac/applications/mp4box/mp4box.c:4848,1
    - Dst: gf_dasher_set_cues
      Src: /src/gpac/applications/mp4box/mp4box.c:4867,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4832,1
    - Dst: gf_dasher_set_segment_marker
      Src: /src/gpac/applications/mp4box/mp4box.c:4850,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/mp4box/mp4box.c:4943,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4766,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4763,1
    - Dst: gf_rand
      Src: /src/gpac/applications/mp4box/mp4box.c:4788,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4806,1
    - Dst: gf_dasher_set_info
      Src: /src/gpac/applications/mp4box/mp4box.c:4820,1
    - Dst: gf_dasher_set_last_segment_merge
      Src: /src/gpac/applications/mp4box/mp4box.c:4865,1
    - Dst: gf_dasher_set_min_buffer
      Src: /src/gpac/applications/mp4box/mp4box.c:4853,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/mp4box.c:4946,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4770,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4839,1
    - Dst: gf_dasher_next_update_time
      Src: /src/gpac/applications/mp4box/mp4box.c:4944,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4966,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4772,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4959,1
    - Dst: gf_dasher_set_start_date
      Src: /src/gpac/applications/mp4box/mp4box.c:4827,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4832,1
    - Dst: gf_dasher_enable_real_time
      Src: /src/gpac/applications/mp4box/mp4box.c:4859,1
    - Dst: gf_dasher_enable_cached_inputs
      Src: /src/gpac/applications/mp4box/mp4box.c:4862,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:4789,1
    - Dst: gf_dasher_enable_loop_inputs
      Src: /src/gpac/applications/mp4box/mp4box.c:4863,1
    - Dst: gf_dasher_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4957,1
    - Dst: gf_dasher_print_session_info
      Src: /src/gpac/applications/mp4box/mp4box.c:4868,1
    - Dst: gf_dasher_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4876,1
    - Dst: gf_dasher_new
      Src: /src/gpac/applications/mp4box/mp4box.c:4816,1
    - Dst: gf_dasher_del
      Src: /src/gpac/applications/mp4box/mp4box.c:4823,1
    - Dst: gf_dasher_enable_single_file
      Src: /src/gpac/applications/mp4box/mp4box.c:4846,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4822,1
    - Dst: gf_dasher_set_location
      Src: /src/gpac/applications/mp4box/mp4box.c:4828,1
    - Dst: gf_dasher_set_hls_clock
      Src: /src/gpac/applications/mp4box/mp4box.c:4866,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4875,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4915,1
    - Dst: strrchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4764,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:4818,1
    - Dst: gf_dasher_set_dynamic_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4890,1
    - Dst: gf_dasher_set_ast_offset
      Src: /src/gpac/applications/mp4box/mp4box.c:4854,1
    - Dst: gf_prompt_has_input
      Src: /src/gpac/applications/mp4box/mp4box.c:4922,1
    - Dst: gf_dasher_set_initial_isobmf
      Src: /src/gpac/applications/mp4box/mp4box.c:4856,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4767,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/applications/mp4box/mp4box.c:4786,1
    - Dst: gf_file_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4794,1
    - Dst: gf_dasher_configure_isobmf_default
      Src: /src/gpac/applications/mp4box/mp4box.c:4857,1
    - Dst: gf_dasher_set_content_protection_location_mode
      Src: /src/gpac/applications/mp4box/mp4box.c:4860,1
    - Dst: gf_dasher_next_update_time
      Src: /src/gpac/applications/mp4box/mp4box.c:4914,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:4905,1
    - Dst: gf_dasher_add_base_url
      Src: /src/gpac/applications/mp4box/mp4box.c:4830,1
    - Dst: gf_dasher_enable_segment_timeline
      Src: /src/gpac/applications/mp4box/mp4box.c:4844,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/mp4box.c:4888,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4948,1
    - Dst: gf_isom_delete
      Src: /src/gpac/applications/mp4box/mp4box.c:4967,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 271
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4973
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4973
    functionName: do_dash
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_dasher_set_initial_isobmf
    - gf_prompt_has_input
    - gf_dasher_enable_rap_splitting
    - gf_dasher_keep_source_utc
    - gf_dasher_set_ast_offset
    - scanf
    - gf_dasher_set_hls_clock
    - gf_dasher_add_input
    - gf_dasher_set_start_date
    - gf_rand
    - gf_dasher_set_location
    - gf_dasher_configure_isobmf_default
    - gf_dasher_enable_url_template
    - gf_dasher_process
    - gf_error_to_string
    - gf_dasher_new
    - gf_get_default_cache_directory
    - gf_isom_close
    - gf_url_get_resource_name
    - gf_file_delete
    - gf_dasher_set_segment_marker
    - gf_dasher_enable_loop_inputs
    - gf_dasher_enable_segment_timeline
    - strcpy
    - mp4box_cleanup
    - gf_dasher_set_switch_mode
    - gf_dasher_enable_cached_inputs
    - gf_dasher_print_session_info
    - gf_dasher_set_content_protection_location_mode
    - gf_dasher_set_info
    - gf_dasher_enable_utc_ref
    - sprintf
    - gf_dasher_set_durations
    - gf_dasher_set_profile_extension
    - gf_dasher_next_update_time
    - gf_sys_clock
    - gf_dasher_enable_single_file
    - gf_dasher_enable_real_time
    - gf_dasher_set_dynamic_mode
    - gf_sys_is_test_mode
    - M4_LOG
    - gf_net_get_utc
    - gf_dasher_enable_memory_fragmenting
    - gf_isom_delete
    - gf_dasher_del
    - strcat
    - gf_prompt_get_char
    - gf_file_move
    - strrchr
    - gf_dasher_enable_sidx
    - gf_dasher_set_min_buffer
    - gf_dasher_add_base_url
    - gf_dasher_set_split_mode
    - gf_dasher_enable_single_segment
    - gf_sleep
    - gf_dasher_set_last_segment_merge
    - gf_dasher_set_cues
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_dash() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:6527,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:6527,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:6528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - '!'
    - file_exists
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6529
    functionName: if
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - M4_LOG
    - gf_error_to_string
    - mp4box_cleanup
    linkageType: ''
    returnType: else
    signature: 'else if (!file_exists) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1137
    functionName: mp4box_check_non_extk_fileopt
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool mp4box_check_non_extk_fileopt(char *opt) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: set_dash_input
      Src: /src/gpac/applications/mp4box/mp4box.c:3565,1
    - Dst: set_dash_input
      Src: /src/gpac/applications/mp4box/mp4box.c:3567,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3579,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3593,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3589,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3597,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3601,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3604,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3622,1
    - Dst: gf_sys_is_gpac_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:3626,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3635,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3632,1
    - Dst: PrintHelp
      Src: /src/gpac/applications/mp4box/mp4box.c:3628,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3547,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3559,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3548,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3570,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3579,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/applications/mp4box/mp4box.c:3585,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3583,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3605,1
    - Dst: mp4box_cleanup
      Src: /src/gpac/applications/mp4box/mp4box.c:3618,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3545,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3550,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3579,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3588,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3592,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3580,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3584,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3596,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3600,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/applications/mp4box/mp4box.c:3620,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3631,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3644
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3644
    functionName: mp4box_parse_args
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - M4_LOG
    - strncmp
    - PrintHelp
    - gf_sys_mark_arg_used
    - gf_opts_set_key
    - gf_sys_is_gpac_arg
    - mp4box_cleanup
    - stricmp
    - set_dash_input
    linkageType: ''
    returnType: u32
    signature: 'u32 mp4box_parse_args(int argc, char **argv) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/mp4box.c:2015,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2030,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2042,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2163,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:2189,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2195,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/applications/mp4box/mp4box.c:2229,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:1950,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:1955,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2123,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2185,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2210,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2202,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/mp4box.c:2011,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2025,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2185,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2166,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2014,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2020,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2052,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2214,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2224,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2001,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2108,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2134,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2206,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2200,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:1998,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2136,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2160,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2217,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1980,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2017,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2021,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2104,1
    - Dst: gf_file_load_data
      Src: /src/gpac/applications/mp4box/mp4box.c:2208,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/mp4box.c:2210,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2119,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2096,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2093,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2027,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2059,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2204,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2218,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2235,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/mp4box/mp4box.c:2008,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2181,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2193,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2106,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1997,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2048,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2102,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2141,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2172,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2198,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:1982,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2004,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2028,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2132,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2175,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2128,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2000,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2013,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2067,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2158,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2217,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2224,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2023,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2055,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2138,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2165,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/mp4box/mp4box.c:2018,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2062,1
    - Dst: strncmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2224,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2242,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2188,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2086,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:1978,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2034,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2191,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2038,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2074,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2069,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2082,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2090,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2178,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2100,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2115,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2168,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:1992,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:1993,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 312
    argCount: 2
    argNames:
    - opts
    - act_type
    argTypes:
    - char*
    - MetaActionType
    constantsTouched: []
    func_position:
      end: 2247
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2247
    functionName: parse_meta_args
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - memset
    - gf_file_load_data
    - strncmp
    - GF_SAFEALLOC
    - gf_url_colon_suffix
    - GF_4CC
    - gf_error_to_string
    - gf_strdup
    - gf_list_new
    - stricmp
    - gf_dynstrcat
    - parse_track_id
    - strchr
    - strnicmp
    - parse_u32
    - M4_LOG
    - atof
    - gf_realloc
    - sscanf
    linkageType: ''
    returnType: u32
    signature: 'static u32 parse_meta_args(char *opts, MetaActionType act_type) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/applications/mp4box/mp4box.c:2269,1
    - Dst: GF_4CC
      Src: /src/gpac/applications/mp4box/mp4box.c:2292,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2323,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2310,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2297,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2297,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2273,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2275,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2280,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2291,1
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:2304,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:2274,1
    - Dst: parse_s32
      Src: /src/gpac/applications/mp4box/mp4box.c:2276,1
    - Dst: memcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2316,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2306,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:2268,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2284,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2288,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2298,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - opts
    - act
    argTypes:
    - char*
    - TSELActionType
    constantsTouched: []
    func_position:
      end: 2327
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2327
    functionName: parse_tsel_args
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - strlen
    - parse_s32
    - memset
    - GF_4CC
    - gf_realloc
    - strcpy
    - memcpy
    - parse_track_id
    - strchr
    - strnicmp
    - parse_u32
    linkageType: ''
    returnType: Bool
    signature: 'static Bool parse_tsel_args(char *opts, TSELActionType act) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/gpac/applications/mp4box/mp4box.c:3136,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:3137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3143
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3143
    functionName: parse_dump_ts
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - isdigit
    - parse_u32
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_dump_ts(char *arg_val, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_format_help
      Src: /src/gpac/applications/mp4box/mp4box.c:603,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/applications/mp4box/mp4box.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 630
    functionName: PrintGeneralUsage
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_format_help
    linkageType: ''
    returnType: void
    signature: 'void PrintGeneralUsage() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:2849,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:2855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2863
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2863
    functionName: parse_store_mode
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - atof
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_store_mode(char *arg_val, u32 opt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:2954,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2957,1
    - Dst: gf_parse_frac
      Src: /src/gpac/applications/mp4box/mp4box.c:2962,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:2955,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:2957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2965
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2965
    functionName: parse_fps
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - sscanf
    - M4_LOG
    - strcmp
    - gf_parse_frac
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_fps(char *arg_val, u32 opt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4717,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4718,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4720,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4719,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4719,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4722,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/mp4box.c:4723,1
    - Dst: strcpy
      Src: /src/gpac/applications/mp4box/mp4box.c:4725,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:4726,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4727,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4727,1
    - Dst: gf_isom_open
      Src: /src/gpac/applications/mp4box/mp4box.c:4731,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/mp4box.c:4734,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:4728,1
    - Dst: strcat
      Src: /src/gpac/applications/mp4box/mp4box.c:4730,1
    - Dst: EncodeFile
      Src: /src/gpac/applications/mp4box/mp4box.c:4733,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4742
      start: 4711
    functionDepth: 0
    functionLinenumber: 4711
    functionLinenumberEnd: 4742
    functionName: do_scene_encode
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - gf_isom_open
    - strchr
    - EncodeFile
    - strcpy
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_scene_encode() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/mp4box.c:4986,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:4995,1
    - Dst: sprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:5006,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/applications/mp4box/mp4box.c:4994,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/applications/mp4box/mp4box.c:4994,1
    - Dst: gf_media_export
      Src: /src/gpac/applications/mp4box/mp4box.c:5012,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 4975
    functionDepth: 0
    functionLinenumber: 4975
    functionLinenumberEnd: 5019
    functionName: do_export_tracks_non_isobmf
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - memset
    - sprintf
    - gf_media_export
    - M4_LOG
    - gf_isom_is_external_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err do_export_tracks_non_isobmf() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/mp4box.c:2866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2871
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2871
    functionName: parse_base_url
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_base_url(char *arg_val, u32 opt) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2974,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:2982,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:3010,1
    - Dst: atof
      Src: /src/gpac/applications/mp4box/mp4box.c:2979,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2992,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:3001,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:3014,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3017,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/mp4box.c:2973,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2994,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/mp4box.c:3020,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:3015,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2975,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/mp4box.c:2993,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/mp4box.c:2998,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/mp4box.c:3010,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/mp4box.c:3011,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3030
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 3030
    functionName: parse_split
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - strchr
    - parse_u32
    - M4_LOG
    - strstr
    - atof
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_split(char *arg_val, u32 opt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3156,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3156,1
    - Dst: parse_track_id
      Src: /src/gpac/applications/mp4box/mp4box.c:3159,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/mp4box.c:3156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - arg_val
    - opt
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3163
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3163
    functionName: parse_ttxt
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - strcmp
    - parse_track_id
    linkageType: ''
    returnType: u32
    signature: 'u32 parse_ttxt(char *arg_val, u32 opt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/gpac/applications/mp4box/mp4box.c:3656,1
    - Dst: fflush
      Src: /src/gpac/applications/mp4box/mp4box.c:3657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - cbk
    - log_level
    - log_tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 3658
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3658
    functionName: scene_coding_log
    functionSourceFile: /src/gpac/applications/mp4box/mp4box.c
    functionUses: []
    functionsReached:
    - vfprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void scene_coding_log(void *cbk, GF_LOG_Level log_level, GF_LOG_Tool
      log_tool, const char *fmt, va_list vlist) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/live.c:119,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:132,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:131,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/live.c:125,1
    - Dst: memcpy
      Src: /src/gpac/applications/mp4box/live.c:128,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:139,1
    - Dst: gf_rtp_streamer_send_au_with_sn
      Src: /src/gpac/applications/mp4box/live.c:143,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:145,1
    - Dst: gf_rtp_streamer_send_rtcp
      Src: /src/gpac/applications/mp4box/live.c:148,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - calling_object
    - ESID
    - data
    - size
    - ts
    argTypes:
    - void*
    - u16
    - u8*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: live_session_callback
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_list_enum
    - fprintf
    - gf_rtp_streamer_send_au_with_sn
    - gf_sys_clock
    - memcpy
    - gf_rtp_streamer_send_rtcp
    linkageType: ''
    returnType: void
    signature: 'static void live_session_callback(void *calling_object, u16 ESID,
      u8 *data, u32 size, u64 ts) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_seng_get_iod
      Src: /src/gpac/applications/mp4box/live.c:205,1
    - Dst: GF_LOG
      Src: /src/gpac/applications/mp4box/live.c:218,1
    - Dst: gf_seng_get_stream_carousel_info
      Src: /src/gpac/applications/mp4box/live.c:250,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:257,1
    - Dst: gf_seng_get_stream_count
      Src: /src/gpac/applications/mp4box/live.c:197,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/applications/mp4box/live.c:204,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:201,1
    - Dst: gf_seng_get_stream_config
      Src: /src/gpac/applications/mp4box/live.c:214,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:222,1
    - Dst: gf_rtp_streamer_disable_auto_rtcp
      Src: /src/gpac/applications/mp4box/live.c:232,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/applications/mp4box/live.c:206,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/mp4box/live.c:216,1
    - Dst: gf_rtp_streamer_new
      Src: /src/gpac/applications/mp4box/live.c:227,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/live.c:254,1
    - Dst: gf_rtp_streamer_new
      Src: /src/gpac/applications/mp4box/live.c:237,1
    - Dst: gf_rtp_streamer_append_sdp
      Src: /src/gpac/applications/mp4box/live.c:247,1
    - Dst: gf_seng_get_base64_iod
      Src: /src/gpac/applications/mp4box/live.c:199,1
    - Dst: gf_rtp_streamer_format_sdp_header
      Src: /src/gpac/applications/mp4box/live.c:200,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/mp4box/live.c:242,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:255,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/live.c:256,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 7
    argNames:
    - livesess
    - ip
    - port
    - path_mtu
    - ttl
    - ifce_addr
    - sdp_name
    argTypes:
    - LiveSession*
    - char*
    - u16
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 260
    functionName: live_session_setup
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_seng_get_base64_iod
    - gf_seng_get_iod
    - GF_LOG
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_seng_get_stream_carousel_info
    - gf_seng_get_stream_config
    - gf_fopen
    - gf_rtp_streamer_format_sdp_header
    - fprintf
    - gf_sys_clock
    - gf_free
    - gf_sys_is_cov_mode
    - gf_fclose
    - gf_rtp_streamer_new
    - gf_rtp_streamer_disable_auto_rtcp
    - gf_seng_get_stream_count
    - gf_rtp_streamer_append_sdp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool live_session_setup(LiveSession *livesess, char *ip, u16
      port, u32 path_mtu, u32 ttl, char *ifce_addr, char *sdp_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/live.c:286,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/live.c:290,1
    - Dst: gf_seng_enable_aggregation
      Src: /src/gpac/applications/mp4box/live.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 12
    argNames:
    - livesess
    - esid
    - period
    - ts_delta
    - aggregate_on_stream
    - adjust_carousel_time
    - force_rap
    - aggregate_au
    - discard_pending
    - signal_rap
    - signal_critical
    - version_inc
    argTypes:
    - LiveSession*
    - u16
    - u32
    - u32
    - u16
    - Bool
    - Bool
    - Bool
    - Bool
    - Bool
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 324
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 324
    functionName: set_broadcast_params
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_get
    - gf_seng_enable_aggregation
    linkageType: ''
    returnType: RTPChannel*
    signature: 'static RTPChannel *set_broadcast_params(LiveSession *livesess, u16
      esid, u32 period, u32 ts_delta, u16 aggregate_on_stream, Bool adjust_carousel_time,
      Bool force_rap, Bool aggregate_au, Bool discard_pending, Bool signal_rap, u32
      signal_critical, Bool version_inc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:83,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:84,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/live.c:89,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/live.c:87,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - sess
    - timeout
    argTypes:
    - LiveSession*
    - u32*
    constantsTouched: []
    func_position:
      end: 110
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 110
    functionName: next_carousel
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: RTPChannel*
    signature: 'RTPChannel *next_carousel(LiveSession *sess, u32 *timeout) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:157,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:168,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:161,1
    - Dst: gf_rtp_streamer_send_au_with_sn
      Src: /src/gpac/applications/mp4box/live.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:165,1
    - Dst: gf_rtp_streamer_send_rtcp
      Src: /src/gpac/applications/mp4box/live.c:169,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/live.c:174,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:177,1
    - Dst: gf_rtp_streamer_send_au_with_sn
      Src: /src/gpac/applications/mp4box/live.c:181,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:183,1
    - Dst: gf_rtp_streamer_send_rtcp
      Src: /src/gpac/applications/mp4box/live.c:187,1
    - Dst: gf_sys_clock
      Src: /src/gpac/applications/mp4box/live.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - livesess
    - ch
    argTypes:
    - LiveSession*
    - RTPChannel*
    constantsTouched: []
    func_position:
      end: 192
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 192
    functionName: live_session_send_carousel
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - fprintf
    - gf_rtp_streamer_send_au_with_sn
    - gf_sys_clock
    - gf_rtp_streamer_send_rtcp
    linkageType: ''
    returnType: void
    signature: 'static void live_session_send_carousel(LiveSession *livesess, RTPChannel
      *ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_seng_terminate
      Src: /src/gpac/applications/mp4box/live.c:264,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/mp4box/live.c:268,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/applications/mp4box/live.c:270,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/mp4box/live.c:267,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/mp4box/live.c:269,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:271,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:272,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/mp4box/live.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - livesess
    argTypes:
    - LiveSession*
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: live_session_shutdown
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_seng_terminate
    - gf_list_rem
    - gf_free
    - gf_rtp_streamer_del
    linkageType: ''
    returnType: void
    signature: 'void live_session_shutdown(LiveSession *livesess) '
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/applications/mp4box/live.c:362,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:436,1
    - Dst: gf_seng_enable_aggregation
      Src: /src/gpac/applications/mp4box/live.c:441,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:535,1
    - Dst: gf_prompt_has_input
      Src: /src/gpac/applications/mp4box/live.c:498,1
    - Dst: printf
      Src: /src/gpac/applications/mp4box/live.c:529,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:599,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:601,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/mp4box/live.c:731,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/mp4box/live.c:736,1
    - Dst: MIN
      Src: /src/gpac/applications/mp4box/live.c:694,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/mp4box/live.c:537,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:380,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:507,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/applications/mp4box/live.c:491,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:552,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:599,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/mp4box/live.c:624,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:657,1
    - Dst: live_session_shutdown
      Src: /src/gpac/applications/mp4box/live.c:759,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:699,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:602,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/applications/mp4box/live.c:479,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:518,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:381,1
    - Dst: live_session_shutdown
      Src: /src/gpac/applications/mp4box/live.c:410,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/mp4box/live.c:412,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:603,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:606,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:608,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:623,1
    - Dst: gf_bs_new
      Src: /src/gpac/applications/mp4box/live.c:646,1
    - Dst: gf_seng_encode_from_string
      Src: /src/gpac/applications/mp4box/live.c:534,1
    - Dst: set_broadcast_params
      Src: /src/gpac/applications/mp4box/live.c:487,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:376,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/mp4box/live.c:580,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:601,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:603,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:606,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:608,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:656,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:375,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/live.c:440,1
    - Dst: strcmp
      Src: /src/gpac/applications/mp4box/live.c:551,1
    - Dst: getchar
      Src: /src/gpac/applications/mp4box/live.c:514,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:535,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:571,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/applications/mp4box/live.c:648,1
    - Dst: gf_realloc
      Src: /src/gpac/applications/mp4box/live.c:679,1
    - Dst: gf_seng_encode_from_string
      Src: /src/gpac/applications/mp4box/live.c:707,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:760,1
    - Dst: set_broadcast_params
      Src: /src/gpac/applications/mp4box/live.c:671,1
    - Dst: live_session_send_carousel
      Src: /src/gpac/applications/mp4box/live.c:475,1
    - Dst: scanf
      Src: /src/gpac/applications/mp4box/live.c:509,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/mp4box/live.c:400,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:443,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:552,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:609,1
    - Dst: memcpy
      Src: /src/gpac/applications/mp4box/live.c:695,1
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/mp4box/live.c:720,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/mp4box/live.c:741,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:605,1
    - Dst: gf_bs_del
      Src: /src/gpac/applications/mp4box/live.c:664,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/mp4box/live.c:688,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:699,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:518,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:373,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:385,1
    - Dst: stricmp
      Src: /src/gpac/applications/mp4box/live.c:388,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:538,1
    - Dst: gf_seng_encode_context
      Src: /src/gpac/applications/mp4box/live.c:471,1
    - Dst: strstr
      Src: /src/gpac/applications/mp4box/live.c:590,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:623,1
    - Dst: gf_sk_new
      Src: /src/gpac/applications/mp4box/live.c:422,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:526,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/applications/mp4box/live.c:662,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/live.c:709,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/mp4box/live.c:762,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:654,1
    - Dst: next_carousel
      Src: /src/gpac/applications/mp4box/live.c:739,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/applications/mp4box/live.c:661,1
    - Dst: memcpy
      Src: /src/gpac/applications/mp4box/live.c:684,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/mp4box/live.c:426,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:516,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:510,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:600,1
    - Dst: live_session_send_carousel
      Src: /src/gpac/applications/mp4box/live.c:745,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/applications/mp4box/live.c:398,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/live.c:439,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/live.c:443,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/live.c:460,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/mp4box/live.c:574,1
    - Dst: strlen
      Src: /src/gpac/applications/mp4box/live.c:592,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:600,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:652,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:658,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/live.c:666,1
    - Dst: gf_sk_del
      Src: /src/gpac/applications/mp4box/live.c:761,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/mp4box/live.c:711,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:538,1
    - Dst: gf_sys_close
      Src: /src/gpac/applications/mp4box/live.c:413,1
    - Dst: gf_sys_set_args
      Src: /src/gpac/applications/mp4box/live.c:366,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/live.c:404,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:546,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:602,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:605,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:607,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:609,1
    - Dst: set_broadcast_params
      Src: /src/gpac/applications/mp4box/live.c:619,1
    - Dst: gf_error_to_string
      Src: /src/gpac/applications/mp4box/live.c:709,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:655,1
    - Dst: scanf
      Src: /src/gpac/applications/mp4box/live.c:528,1
    - Dst: gf_seng_encode_from_string
      Src: /src/gpac/applications/mp4box/live.c:515,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:373,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:375,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:378,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:384,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:379,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:377,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:389,1
    - Dst: scanf
      Src: /src/gpac/applications/mp4box/live.c:547,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/applications/mp4box/live.c:364,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:376,1
    - Dst: M4_LOG
      Src: /src/gpac/applications/mp4box/live.c:394,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:516,1
    - Dst: getchar
      Src: /src/gpac/applications/mp4box/live.c:533,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:610,1
    - Dst: gf_sk_receive
      Src: /src/gpac/applications/mp4box/live.c:638,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/applications/mp4box/live.c:659,1
    - Dst: live_session_send_carousel
      Src: /src/gpac/applications/mp4box/live.c:726,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/mp4box/live.c:744,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:607,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:651,1
    - Dst: sscanf
      Src: /src/gpac/applications/mp4box/live.c:447,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:372,1
    - Dst: strnicmp
      Src: /src/gpac/applications/mp4box/live.c:374,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/applications/mp4box/live.c:419,1
    - Dst: gf_seng_aggregate_context
      Src: /src/gpac/applications/mp4box/live.c:517,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/applications/mp4box/live.c:499,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/applications/mp4box/live.c:567,1
    - Dst: parse_u32
      Src: /src/gpac/applications/mp4box/live.c:610,1
    - Dst: gf_seng_encode_from_file
      Src: /src/gpac/applications/mp4box/live.c:622,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/applications/mp4box/live.c:647,1
    - Dst: fprintf
      Src: /src/gpac/applications/mp4box/live.c:548,1
    - Dst: gf_sys_init
      Src: /src/gpac/applications/mp4box/live.c:360,1
    - Dst: PrintLiveUsage
      Src: /src/gpac/applications/mp4box/live.c:395,1
    - Dst: MIN
      Src: /src/gpac/applications/mp4box/live.c:683,1
    - Dst: gf_sleep
      Src: /src/gpac/applications/mp4box/live.c:691,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/applications/mp4box/live.c:749,1
    - Dst: gf_list_enum
      Src: /src/gpac/applications/mp4box/live.c:451,1
    - Dst: gf_sk_bind
      Src: /src/gpac/applications/mp4box/live.c:424,1
    - Dst: gf_seng_init
      Src: /src/gpac/applications/mp4box/live.c:402,1
    - Dst: live_session_setup
      Src: /src/gpac/applications/mp4box/live.c:408,1
    - Dst: gf_free
      Src: /src/gpac/applications/mp4box/live.c:411,1
    - Dst: gf_seng_save_context
      Src: /src/gpac/applications/mp4box/live.c:551,1
    - Dst: gf_fgets
      Src: /src/gpac/applications/mp4box/live.c:578,1
    - Dst: strchr
      Src: /src/gpac/applications/mp4box/live.c:597,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/applications/mp4box/live.c:649,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/applications/mp4box/live.c:653,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 460
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 764
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 764
    functionName: live_session
    functionSourceFile: /src/gpac/applications/mp4box/live.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_prompt_has_input
    - gf_seng_encode_from_string
    - memset
    - gf_sk_receive
    - scanf
    - gf_fgets
    - gf_sk_del
    - gf_file_modification_time
    - live_session_shutdown
    - gf_seng_save_context
    - strstr
    - gf_bs_del
    - gf_seng_encode_from_file
    - MIN
    - gf_error_to_string
    - strcmp
    - PrintLiveUsage
    - live_session_send_carousel
    - gf_seng_aggregate_context
    - gf_list_new
    - stricmp
    - gf_log_set_tool_level
    - gf_fopen
    - next_carousel
    - set_broadcast_params
    - getchar
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_list_enum
    - fprintf
    - gf_bs_read_int
    - live_session_setup
    - gf_bs_new
    - gf_sys_set_args
    - gf_sk_bind
    - memcpy
    - strchr
    - strnicmp
    - parse_u32
    - M4_LOG
    - gf_free
    - printf
    - gf_opts_get_key
    - gf_sys_is_cov_mode
    - gf_prompt_get_char
    - gf_sk_new
    - sscanf
    - gf_seng_enable_aggregation
    - gf_realloc
    - gf_seng_encode_context
    - gf_sys_close
    - gf_sys_init
    - gf_sys_clock_high_res
    - gf_fclose
    - gf_sleep
    - gf_seng_init
    linkageType: ''
    returnType: int
    signature: 'int live_session(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/html.c:31,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:34,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:36,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:35,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/SVG/html.c:32,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:37,1
    - Dst: time
      Src: /src/gpac/applications/generators/SVG/html.c:41,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:42,1
    - Dst: asctime
      Src: /src/gpac/applications/generators/SVG/html.c:42,1
    - Dst: gmtime
      Src: /src/gpac/applications/generators/SVG/html.c:42,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:45,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:47,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:48,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:49,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: BeginHtml
    functionSourceFile: /src/gpac/applications/generators/SVG/html.c
    functionUses: []
    functionsReached:
    - asctime
    - fprintf
    - sprintf
    - time
    - gf_fopen
    - gmtime
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *BeginHtml() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:71,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:75,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:85,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:81,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:79,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:89,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:94,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:100,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:104,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/html.c:106,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:129,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:130,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:131,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/html.c:132,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:128,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/html.c:118,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:140,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:72,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:76,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:86,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:82,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:80,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:90,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:95,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:97,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:101,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:109,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:139,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/html.c:119,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:141,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:108,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:110,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/html.c:148,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/html.c:134,1
    - Dst: BeginHtml
      Src: /src/gpac/applications/generators/SVG/html.c:66,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:69,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:73,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:77,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:83,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:87,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:91,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:96,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:98,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:102,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:120,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:126,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:135,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:138,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:136,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:137,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:127,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:123,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:124,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:125,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:70,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:74,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:84,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:78,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:88,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:93,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:103,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:107,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:111,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:122,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:112,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:113,1
    - Dst: EndHtml
      Src: /src/gpac/applications/generators/SVG/html.c:147,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:143,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:144,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/html.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:121,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/html.c:105,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:115,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 87
    argCount: 1
    argNames:
    - elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 149
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 149
    functionName: generate_table
    functionSourceFile: /src/gpac/applications/generators/SVG/html.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - fprintf
    - strcmp
    - EndHtml
    - BeginHtml
    linkageType: ''
    returnType: void
    signature: 'void generate_table(GF_List *elements) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:55,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/html.c:56,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/SVG/html.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: EndHtml
    functionSourceFile: /src/gpac/applications/generators/SVG/html.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndHtml(FILE *f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: get_lsr_att_name_type
    functionSourceFile: /src/gpac/applications/generators/SVG/laser.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 's32 get_lsr_att_name_type(const char *name) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:88,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:100,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:102,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:106,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:128,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:130,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:134,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:84,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:92,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:94,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:97,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:103,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:115,1
    - Dst: get_lsr_att_name_type
      Src: /src/gpac/applications/generators/SVG/laser.c:119,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:121,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:136,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:138,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/laser.c:83,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:85,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:98,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:104,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:118,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:137,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:141,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:86,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:90,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:101,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:105,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:108,1
    - Dst: generateGenericAttrib
      Src: /src/gpac/applications/generators/SVG/laser.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:109,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:114,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:123,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:126,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:139,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 1
    argNames:
    - svg_elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 142
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 142
    functionName: generate_laser_tables
    functionSourceFile: /src/gpac/applications/generators/SVG/laser.c
    functionUses: []
    functionsReached:
    - get_lsr_att_name_type
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - generateGenericAttrib
    - BeginFile
    linkageType: ''
    returnType: void
    signature: 'void generate_laser_tables(GF_List *svg_elements) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:155,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:161,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:162,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:189,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:182,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:179,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:219,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:221,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:237,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:238,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:243,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:172,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:174,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:190,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:207,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:209,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:215,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:227,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:256,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:259,1
    - Dst: assert
      Src: /src/gpac/applications/generators/SVG/laser.c:253,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:263,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:249,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:258,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/laser.c:150,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:159,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:168,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/laser.c:175,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:191,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:188,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:181,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:187,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:194,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:199,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/SVG/laser.c:265,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:153,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:152,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:192,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:210,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:225,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:228,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:234,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/laser.c:248,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:255,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:257,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:203,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 1
    argNames:
    - atts
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 266
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 266
    functionName: generate_laser_tables_da
    functionSourceFile: /src/gpac/applications/generators/SVG/laser.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - assert
    - gf_list_count
    - fprintf
    - strcmp
    - BeginFile
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void generate_laser_tables_da(GF_List *atts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findAttribute
      Src: /src/gpac/applications/generators/SVG/laser.c:65,1
    - Dst: get_lsr_att_name_type
      Src: /src/gpac/applications/generators/SVG/laser.c:67,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/laser.c:69,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/laser.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - output
    - elt
    - index
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: generateGenericAttrib
    functionSourceFile: /src/gpac/applications/generators/SVG/laser.c
    functionUses: []
    functionsReached:
    - get_lsr_att_name_type
    - findAttribute
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateGenericAttrib(FILE *output, SVGGenElement *elt, u32 index) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:41,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:44,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:58,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:61,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/v3.c:52,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:55,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:66,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:68,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:68,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:71,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/v3.c:97,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:38,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:35,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:39,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:59,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:56,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:64,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:69,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:74,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:78,1
    - Dst: NewSVGGenAttribute
      Src: /src/gpac/applications/generators/SVG/v3.c:92,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:94,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:79,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:36,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:40,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:43,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:62,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:66,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:70,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:72,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:80,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:93,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:33,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:34,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:45,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:46,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:60,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:63,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/v3.c:67,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:73,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:77,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/v3.c:86,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 2
    argNames:
    - svg_elements
    - all_atts
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: buildGlobalAttributeList
    functionSourceFile: /src/gpac/applications/generators/SVG/v3.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - strcmp
    - NewSVGGenAttribute
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void buildGlobalAttributeList(GF_List *svg_elements, GF_List *all_atts) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: buildGlobalAttributeList
      Src: /src/gpac/applications/generators/SVG/v3.c:107,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:122,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:145,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:168,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:190,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:182,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:186,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:223,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:181,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:280,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v3.c:114,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:132,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:147,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:160,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:193,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:224,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:253,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:281,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:177,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:200,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:121,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:126,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:138,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:213,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:256,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/v3.c:105,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:119,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:231,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:236,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:250,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:134,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:146,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:217,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:185,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:178,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:189,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:241,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:261,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:192,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:159,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:202,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:173,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:246,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:252,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:262,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:268,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:205,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:129,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v3.c:151,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:169,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:175,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:196,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:199,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:237,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:225,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:124,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:139,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:227,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:230,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:239,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:249,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:115,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:172,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:184,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:176,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:216,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:254,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:260,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:118,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:149,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v3.c:158,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:187,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:188,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:218,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:251,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:273,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:278,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:214,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:195,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:136,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:283,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:285,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/v3.c:291,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:226,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:198,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:229,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:248,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:120,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:141,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:180,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:191,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:174,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:259,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:270,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:279,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:132,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:144,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:167,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:210,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:183,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:161,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:263,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:271,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v3.c:286,1
    - Dst: generate_laser_tables_da
      Src: /src/gpac/applications/generators/SVG/v3.c:289,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:194,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:212,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v3.c:137,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v3.c:180,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:211,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v3.c:255,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:257,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v3.c:197,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 170
    argCount: 1
    argNames:
    - svg_elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 293
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 293
    functionName: generateSVGCode_V3
    functionSourceFile: /src/gpac/applications/generators/SVG/v3.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - fprintf
    - buildGlobalAttributeList
    - strcmp
    - generate_laser_tables_da
    - BeginFile
    - gf_list_new
    - EndFile
    linkageType: ''
    returnType: void
    signature: 'void generateSVGCode_V3(GF_List *svg_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/generators/SVG/main.c:54,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:57,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: NewSVGGenElement
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SVGGenElement*
    signature: 'SVGGenElement *NewSVGGenElement() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:124,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:126,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:129,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:128,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:130,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:131,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/generators/SVG/main.c:132,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:137,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/main.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - atts
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: sortAttr
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *sortAttr(GF_List *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlFree
      Src: /src/gpac/applications/generators/SVG/main.c:65,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:66,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:67,1
    - Dst: deleteSVGGenAttribute
      Src: /src/gpac/applications/generators/SVG/main.c:68,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/main.c:70,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/SVG/main.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - SVGGenElement**
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: deleteSVGGenElement
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlFree
    - deleteSVGGenAttribute
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void deleteSVGGenElement(SVGGenElement **p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:146,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/SVG/main.c:148,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/SVG/main.c:158,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/SVG/main.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - svg_name
    - implementation_name
    argTypes:
    - xmlChar*
    - char
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: svgNameToImplementationName
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - strchr
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void svgNameToImplementationName(xmlChar *svg_name, char implementation_name[50]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmlXPathCompile
      Src: /src/gpac/applications/generators/SVG/main.c:318,1
    - Dst: xmlNewDoc
      Src: /src/gpac/applications/generators/SVG/main.c:329,1
    - Dst: xmlAddChild
      Src: /src/gpac/applications/generators/SVG/main.c:338,1
    - Dst: xmlXPathCompiledEval
      Src: /src/gpac/applications/generators/SVG/main.c:343,1
    - Dst: xmlXPathFreeCompExpr
      Src: /src/gpac/applications/generators/SVG/main.c:345,1
    - Dst: xmlSetTreeDoc
      Src: /src/gpac/applications/generators/SVG/main.c:350,1
    - Dst: xmlFreeDoc
      Src: /src/gpac/applications/generators/SVG/main.c:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - ctxt
    - path
    argTypes:
    - xmlXPathContextPtr
    - xmlChar*
    constantsTouched: []
    func_position:
      end: 364
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 364
    functionName: findNodes
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlAddChild
    - xmlXPathCompile
    - xmlNewDoc
    - xmlXPathFreeCompExpr
    - xmlFreeDoc
    - xmlXPathCompiledEval
    - xmlSetTreeDoc
    linkageType: ''
    returnType: xmlNodeSetPtr
    signature: 'xmlNodeSetPtr findNodes( xmlXPathContextPtr ctxt, xmlChar * path ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:78,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:80,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:83,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:84,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:82,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:85,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/generators/SVG/main.c:86,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:91,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/main.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: sortElements
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *sortElements(GF_List *elements) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:593,1
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:599,1
    - Dst: NewSVGGenAttribute
      Src: /src/gpac/applications/generators/SVG/main.c:598,1
    - Dst: xmlStrEqual
      Src: /src/gpac/applications/generators/SVG/main.c:600,1
    - Dst: svgNameToImplementationName
      Src: /src/gpac/applications/generators/SVG/main.c:601,1
    - Dst: getAttributeType
      Src: /src/gpac/applications/generators/SVG/main.c:602,1
    - Dst: setAttributeType
      Src: /src/gpac/applications/generators/SVG/main.c:603,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:604,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:605,1
    - Dst: xmlStrEqual
      Src: /src/gpac/applications/generators/SVG/main.c:606,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:615,1
    - Dst: deleteSVGGenAttribute
      Src: /src/gpac/applications/generators/SVG/main.c:612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - doc
    - xpathCtx
    - newCtxNode
    - attributes
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    - xmlNodePtr
    - GF_List*
    constantsTouched: []
    func_position:
      end: 619
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 619
    functionName: getRealAttributes
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - setAttributeType
    - gf_list_add
    - deleteSVGGenAttribute
    - gf_list_get
    - svgNameToImplementationName
    - gf_list_count
    - getAttributeType
    - xmlGetProp
    - NewSVGGenAttribute
    - xmlStrEqual
    - findNodes
    linkageType: ''
    returnType: void
    signature: 'void getRealAttributes(xmlDocPtr doc, xmlXPathContextPtr xpathCtx,
      xmlNodePtr newCtxNode, GF_List *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:101,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:107,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:106,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:105,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:103,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:108,1
    - Dst: gf_list_insert
      Src: /src/gpac/applications/generators/SVG/main.c:109,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:114,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/SVG/main.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - attgrps
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: sortAttrGrp
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *sortAttrGrp(GF_List *attgrps) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:630,1
    - Dst: xmlStrdup
      Src: /src/gpac/applications/generators/SVG/main.c:638,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:631,1
    - Dst: xmlStrcat
      Src: /src/gpac/applications/generators/SVG/main.c:639,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:632,1
    - Dst: xmlStrcat
      Src: /src/gpac/applications/generators/SVG/main.c:640,1
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:641,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:643,1
    - Dst: NewSVGGenAttrGrp
      Src: /src/gpac/applications/generators/SVG/main.c:646,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/SVG/main.c:647,1
    - Dst: getRealAttributes
      Src: /src/gpac/applications/generators/SVG/main.c:653,1
    - Dst: xmlStrstr
      Src: /src/gpac/applications/generators/SVG/main.c:662,1
    - Dst: getOneGlobalAttrGrp
      Src: /src/gpac/applications/generators/SVG/main.c:663,1
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:661,1
    - Dst: svgNameToImplementationName
      Src: /src/gpac/applications/generators/SVG/main.c:648,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:665,1
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:658,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:649,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - doc
    - xpathCtx
    - name
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    - xmlChar*
    constantsTouched: []
    func_position:
      end: 672
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 672
    functionName: getOneGlobalAttrGrp
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - xmlStrdup
    - NewSVGGenAttrGrp
    - gf_list_get
    - xmlStrcat
    - svgNameToImplementationName
    - gf_list_count
    - fprintf
    - strcmp
    - gf_strdup
    - xmlGetProp
    - getRealAttributes
    - findNodes
    - getOneGlobalAttrGrp
    - xmlStrstr
    linkageType: ''
    returnType: SVGGenAttrGrp*
    signature: 'SVGGenAttrGrp *getOneGlobalAttrGrp(xmlDocPtr doc, xmlXPathContextPtr
      xpathCtx, xmlChar *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:770,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:777,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:785,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:789,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/SVG/main.c:805,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:811,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:820,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:825,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:796,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:800,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:806,1
    - Dst: gmtime
      Src: /src/gpac/applications/generators/SVG/main.c:811,1
    - Dst: time
      Src: /src/gpac/applications/generators/SVG/main.c:810,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:816,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:822,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:775,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:782,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:773,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:787,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:817,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:823,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:793,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:798,1
    - Dst: asctime
      Src: /src/gpac/applications/generators/SVG/main.c:811,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:819,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 828
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 828
    functionName: BeginFile
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - asctime
    - fprintf
    - sprintf
    - time
    - gf_fopen
    - gmtime
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *BeginFile(u32 type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmlXPathEvalExpression
      Src: /src/gpac/applications/generators/SVG/main.c:882,1
    - Dst: xmlParseFile
      Src: /src/gpac/applications/generators/SVG/main.c:894,1
    - Dst: xmlReplaceNode
      Src: /src/gpac/applications/generators/SVG/main.c:895,1
    - Dst: xmlDocGetRootElement
      Src: /src/gpac/applications/generators/SVG/main.c:895,1
    - Dst: xmlGetNoNsProp
      Src: /src/gpac/applications/generators/SVG/main.c:893,1
    - Dst: xmlXPathFreeObject
      Src: /src/gpac/applications/generators/SVG/main.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - doc
    - xpathCtx
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    constantsTouched: []
    func_position:
      end: 899
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 899
    functionName: replaceIncludes
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlGetNoNsProp
    - xmlReplaceNode
    - xmlXPathFreeObject
    - xmlXPathEvalExpression
    - xmlDocGetRootElement
    - xmlParseFile
    linkageType: ''
    returnType: void
    signature: 'void replaceIncludes(xmlDocPtr doc, xmlXPathContextPtr xpathCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:833,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:834,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:836,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:835,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:838,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/SVG/main.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - f
    - type
    argTypes:
    - FILE*
    - u32
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: EndFile
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void EndFile(FILE *f, u32 type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/applications/generators/SVG/main.c:912,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:918,1
    - Dst: xmlXPathNewContext
      Src: /src/gpac/applications/generators/SVG/main.c:916,1
    - Dst: replaceIncludes
      Src: /src/gpac/applications/generators/SVG/main.c:926,1
    - Dst: sortElements
      Src: /src/gpac/applications/generators/SVG/main.c:933,1
    - Dst: getElements
      Src: /src/gpac/applications/generators/SVG/main.c:932,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:935,1
    - Dst: generateSVGCode_V1
      Src: /src/gpac/applications/generators/SVG/main.c:938,1
    - Dst: generateSVGCode_V2
      Src: /src/gpac/applications/generators/SVG/main.c:939,1
    - Dst: xmlCleanupParser
      Src: /src/gpac/applications/generators/SVG/main.c:946,1
    - Dst: xmlParseFile
      Src: /src/gpac/applications/generators/SVG/main.c:910,1
    - Dst: generate_table
      Src: /src/gpac/applications/generators/SVG/main.c:936,1
    - Dst: xmlSaveFile
      Src: /src/gpac/applications/generators/SVG/main.c:927,1
    - Dst: generateSVGCode_V3
      Src: /src/gpac/applications/generators/SVG/main.c:940,1
    - Dst: xmlInitParser
      Src: /src/gpac/applications/generators/SVG/main.c:907,1
    - Dst: xmlFreeDoc
      Src: /src/gpac/applications/generators/SVG/main.c:919,1
    - Dst: xmlXPathRegisterNs
      Src: /src/gpac/applications/generators/SVG/main.c:922,1
    - Dst: xmlXPathRegisterNs
      Src: /src/gpac/applications/generators/SVG/main.c:923,1
    - Dst: xmlXPathRegisterNs
      Src: /src/gpac/applications/generators/SVG/main.c:924,1
    - Dst: getAllGlobalAttrGrp
      Src: /src/gpac/applications/generators/SVG/main.c:930,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:929,1
    - Dst: xmlXPathFreeContext
      Src: /src/gpac/applications/generators/SVG/main.c:943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 948
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 948
    functionName: main
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - getElements
    - xmlXPathRegisterNs
    - xmlXPathFreeContext
    - xmlXPathNewContext
    - sortElements
    - generate_table
    - strcmp
    - replaceIncludes
    - gf_list_new
    - generateSVGCode_V2
    - fprintf
    - printf
    - getAllGlobalAttrGrp
    - xmlCleanupParser
    - xmlInitParser
    - generateSVGCode_V3
    - xmlFreeDoc
    - generateSVGCode_V1
    - xmlParseFile
    - xmlSaveFile
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:846,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:852,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:847,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:850,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:849,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - output
    - attributes
    - inDefine
    argTypes:
    - FILE*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 856
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 856
    functionName: generateAttributes
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateAttributes(FILE *output, GF_List *attributes, Bool inDefine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlFree
      Src: /src/gpac/applications/generators/SVG/main.c:36,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/SVG/main.c:38,1
    - Dst: xmlFree
      Src: /src/gpac/applications/generators/SVG/main.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - SVGGenAttribute**
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: deleteSVGGenAttribute
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlFree
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void deleteSVGGenAttribute(SVGGenAttribute **p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:168,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:170,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:172,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:174,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:176,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:181,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:178,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:183,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:186,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:188,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:189,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:193,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:169,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:167,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:171,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:173,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:175,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:177,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:182,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:180,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:184,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:185,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:187,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:191,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:166,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:190,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 198
    functionName: isGenericAttributesGroup
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool isGenericAttributesGroup(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isGenericAttributesGroup
      Src: /src/gpac/applications/generators/SVG/main.c:265,1
    - Dst: flattenAttributeGroups
      Src: /src/gpac/applications/generators/SVG/main.c:267,1
    - Dst: setGenericAttributesFlags
      Src: /src/gpac/applications/generators/SVG/main.c:266,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:268,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:269,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:269,1
    - Dst: flattenAttributeGroups
      Src: /src/gpac/applications/generators/SVG/main.c:272,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:273,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:275,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:275,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:277,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - attgrp
    - e
    - all
    argTypes:
    - SVGGenAttrGrp
    - SVGGenElement*
    - Bool
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: flattenAttributeGroup
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - flattenAttributeGroups
    - setGenericAttributesFlags
    - isGenericAttributesGroup
    linkageType: ''
    returnType: void
    signature: 'static void flattenAttributeGroup(SVGGenAttrGrp attgrp, SVGGenElement
      *e, Bool all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:299,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:300,1
    - Dst: countAttributesAllInGroup
      Src: /src/gpac/applications/generators/SVG/main.c:301,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ag
    argTypes:
    - SVGGenAttrGrp*
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: countAttributesAllInGroup
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - countAttributesAllInGroup
    linkageType: ''
    returnType: u32
    signature: 'static u32 countAttributesAllInGroup(SVGGenAttrGrp *ag) '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:388,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:391,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:395,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:460,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:464,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:467,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:504,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:507,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:511,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:545,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:376,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:386,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:389,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:458,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:462,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:465,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:502,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:505,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:540,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:543,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:392,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:396,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:399,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:431,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:468,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:471,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:508,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:512,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:515,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:518,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:483,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:536,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:390,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:393,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:394,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:397,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:466,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:469,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:506,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:509,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:510,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:513,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:538,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:542,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/main.c:560,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:373,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:380,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:383,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:452,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:455,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:492,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:496,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:499,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:531,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:535,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:450,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:374,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:378,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:381,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:453,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:490,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:494,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:497,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:529,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:533,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:387,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:384,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:456,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:459,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:463,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:500,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:503,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:539,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:541,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:544,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:375,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:385,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:382,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:454,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:457,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:461,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:498,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:501,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:537,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:540,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:408,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:443,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:426,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:422,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:440,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:418,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:447,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:484,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:487,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:526,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:438,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:424,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:420,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:406,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:409,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:416,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:445,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:427,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:441,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:410,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/main.c:546,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:372,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:379,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:448,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:451,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:444,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:488,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:491,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:495,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:527,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:530,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:534,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/main.c:550,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:449,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:442,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:446,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:377,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:486,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:489,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:493,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/main.c:523,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:528,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:532,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:400,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:403,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:435,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:413,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:432,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:428,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:472,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:475,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:479,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:516,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:482,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/main.c:548,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:430,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:398,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:401,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:433,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:470,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:473,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:477,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:514,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:517,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:522,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:436,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:414,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:425,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:404,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:407,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:411,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:421,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:439,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:417,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:476,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/main.c:555,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:412,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:434,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:437,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:415,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:402,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:405,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:474,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:478,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:481,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:485,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:480,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/SVG/main.c:519,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 365
    argCount: 1
    argNames:
    - att
    argTypes:
    - SVGGenAttribute*
    constantsTouched: []
    func_position:
      end: 566
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 566
    functionName: setAttributeType
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - sprintf
    - strcmp
    - strcpy
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void setAttributeType(SVGGenAttribute *att) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:676,1
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:682,1
    - Dst: getOneGlobalAttrGrp
      Src: /src/gpac/applications/generators/SVG/main.c:684,1
    - Dst: xmlStrstr
      Src: /src/gpac/applications/generators/SVG/main.c:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - doc
    - xpathCtx
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    constantsTouched: []
    func_position:
      end: 688
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 688
    functionName: getAllGlobalAttrGrp
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlGetProp
    - xmlStrstr
    - getOneGlobalAttrGrp
    - findNodes
    linkageType: ''
    returnType: void
    signature: 'void getAllGlobalAttrGrp(xmlDocPtr doc, xmlXPathContextPtr xpathCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/generators/SVG/main.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: NewSVGGenAttribute
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SVGGenAttribute*
    signature: 'SVGGenAttribute *NewSVGGenAttribute() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/applications/generators/SVG/main.c:45,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:47,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: NewSVGGenAttrGrp
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SVGGenAttrGrp*
    signature: 'SVGGenAttrGrp *NewSVGGenAttrGrp() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:215,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:220,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:230,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:240,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:208,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:204,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:225,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:229,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:227,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:233,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:235,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:242,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:203,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:211,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:219,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:232,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:221,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:224,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:205,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:213,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:216,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:218,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:226,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:234,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:236,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:238,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 2
    argNames:
    - name
    - e
    argTypes:
    - char*
    - SVGGenElement*
    constantsTouched: []
    func_position:
      end: 248
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 248
    functionName: setGenericAttributesFlags
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool setGenericAttributesFlags(char *name, SVGGenElement *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:255,1
    - Dst: flattenAttributeGroup
      Src: /src/gpac/applications/generators/SVG/main.c:257,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - attrgrps
    - e
    - all
    argTypes:
    - GF_List*
    - SVGGenElement*
    - Bool
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: flattenAttributeGroups
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - flattenAttributeGroup
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void flattenAttributeGroups(GF_List *attrgrps, SVGGenElement
      *e, Bool all) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:285,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:287,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:286,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:289,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - e
    - name
    argTypes:
    - SVGGenElement*
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: findAttribute
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: SVGGenAttribute*
    signature: 'SVGGenAttribute *findAttribute(SVGGenElement *e, char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:574,1
    - Dst: xmlStrdup
      Src: /src/gpac/applications/generators/SVG/main.c:579,1
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - doc
    - xpathCtx
    - attributeNode
    - a
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    - xmlNodePtr
    - SVGGenAttribute*
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: getAttributeType
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - xmlStrdup
    - xmlGetProp
    - findNodes
    linkageType: ''
    returnType: void
    signature: 'void getAttributeType(xmlDocPtr doc, xmlXPathContextPtr xpathCtx,
      xmlNodePtr attributeNode, SVGGenAttribute *a) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:703,1
    - Dst: xmlStrcmp
      Src: /src/gpac/applications/generators/SVG/main.c:710,1
    - Dst: xmlStrcat
      Src: /src/gpac/applications/generators/SVG/main.c:711,1
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:721,1
    - Dst: xmlGetProp
      Src: /src/gpac/applications/generators/SVG/main.c:724,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:725,1
    - Dst: setGenericAttributesFlags
      Src: /src/gpac/applications/generators/SVG/main.c:729,1
    - Dst: flattenAttributeGroup
      Src: /src/gpac/applications/generators/SVG/main.c:732,1
    - Dst: xmlStrcat
      Src: /src/gpac/applications/generators/SVG/main.c:713,1
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:716,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/main.c:747,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/SVG/main.c:693,1
    - Dst: xmlStrdup
      Src: /src/gpac/applications/generators/SVG/main.c:703,1
    - Dst: NewSVGGenElement
      Src: /src/gpac/applications/generators/SVG/main.c:702,1
    - Dst: svgNameToImplementationName
      Src: /src/gpac/applications/generators/SVG/main.c:706,1
    - Dst: xmlStrcmp
      Src: /src/gpac/applications/generators/SVG/main.c:710,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:726,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:727,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/main.c:749,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/SVG/main.c:754,1
    - Dst: findNodes
      Src: /src/gpac/applications/generators/SVG/main.c:695,1
    - Dst: xmlStrdup
      Src: /src/gpac/applications/generators/SVG/main.c:709,1
    - Dst: xmlStrcat
      Src: /src/gpac/applications/generators/SVG/main.c:715,1
    - Dst: isGenericAttributesGroup
      Src: /src/gpac/applications/generators/SVG/main.c:728,1
    - Dst: flattenAttributeGroup
      Src: /src/gpac/applications/generators/SVG/main.c:730,1
    - Dst: getRealAttributes
      Src: /src/gpac/applications/generators/SVG/main.c:740,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/main.c:748,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - doc
    - xpathCtx
    argTypes:
    - xmlDocPtr
    - xmlXPathContextPtr
    constantsTouched: []
    func_position:
      end: 759
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 759
    functionName: getElements
    functionSourceFile: /src/gpac/applications/generators/SVG/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - xmlStrdup
    - gf_list_get
    - xmlStrcat
    - svgNameToImplementationName
    - NewSVGGenElement
    - xmlStrcmp
    - gf_list_count
    - strcmp
    - setGenericAttributesFlags
    - xmlGetProp
    - getRealAttributes
    - findNodes
    - gf_list_new
    - isGenericAttributesGroup
    - flattenAttributeGroup
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List *getElements(xmlDocPtr doc, xmlXPathContextPtr xpathCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:73,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:75,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:77,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:74,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: generateTransformInfo2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateTransformInfo2(FILE *output, SVGGenElement *elt, u32 start) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:39,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:47,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:48,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:44,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:42,1
    - Dst: generateAttributes2
      Src: /src/gpac/applications/generators/SVG/v2.c:51,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:54,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:55,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - output
    - svg_elt
    argTypes:
    - FILE*
    - SVGGenElement*
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: generateNode2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - generateAttributes2
    linkageType: ''
    returnType: void
    signature: 'void generateNode2(FILE *output, SVGGenElement* svg_elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:102,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:103,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:101,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:100,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:106,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:107,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:108,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:109,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: generateXYInfo2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateXYInfo2(FILE *output, SVGGenElement *elt, u32 start) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:30,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:32,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:33,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - output
    - attributes
    argTypes:
    - FILE*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: generateAttributes2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateAttributes2(FILE *output, GF_List *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:86,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:90,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:89,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:88,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: generateMotionTransformInfo2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateMotionTransformInfo2(FILE *output, SVGGenElement *elt,
      u32 start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:62,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:66,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:63,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:65,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - output
    - elt_imp_name
    - att
    - i
    argTypes:
    - FILE*
    - char*
    - SVGGenAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: generateAttributeInfo2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateAttributeInfo2(FILE *output, char * elt_imp_name, SVGGenAttribute
      *att, u32 i) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:120,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:209,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:154,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:171,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:183,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:161,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:191,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:261,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:268,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:282,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:338,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:311,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:210,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:162,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:172,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:174,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:184,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:199,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:192,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:250,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:254,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:207,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:181,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:217,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:228,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:242,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:273,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:286,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:293,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:295,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:310,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:182,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:208,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:218,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:160,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:170,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:190,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:229,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:235,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:287,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:290,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:311,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:320,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:148,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:179,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:205,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:197,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:226,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:237,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:240,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:248,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:260,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:316,1
    - Dst: generateAttributeInfo2
      Src: /src/gpac/applications/generators/SVG/v2.c:350,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:319,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:352,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:206,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:149,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:180,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:198,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:216,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:227,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:239,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:241,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:249,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:284,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:307,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:340,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:168,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:224,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:253,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:258,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:272,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:301,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:325,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:348,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:259,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:189,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:204,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:196,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:147,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:159,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:169,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:178,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:225,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:236,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:239,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:296,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:123,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:158,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:188,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:203,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:214,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:222,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:264,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:302,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:305,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:167,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:215,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:223,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:277,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:283,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:300,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:303,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:324,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:332,1
    - Dst: generateTransformInfo2
      Src: /src/gpac/applications/generators/SVG/v2.c:342,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:246,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:279,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:176,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:194,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:220,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:244,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:252,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:271,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:276,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:321,1
    - Dst: generateCoreInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:327,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:334,1
    - Dst: generateMotionTransformInfo2
      Src: /src/gpac/applications/generators/SVG/v2.c:343,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:195,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:153,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:157,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:177,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:187,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:202,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:213,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:221,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:245,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:294,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:297,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:121,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:131,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:134,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:137,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:140,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:144,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:165,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:231,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:262,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:276,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:266,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:299,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:247,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:265,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:298,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:308,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:166,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:175,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:193,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:251,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:276,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:309,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:200,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:211,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:128,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:125,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:173,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:185,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:243,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:270,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:274,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:186,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:201,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:212,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:164,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:219,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:230,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v2.c:289,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:312,1
    - Dst: generateXYInfo2
      Src: /src/gpac/applications/generators/SVG/v2.c:346,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:349,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:336,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v2.c:330,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 318
    argCount: 2
    argNames:
    - output
    - svg_elt
    argTypes:
    - FILE*
    - SVGGenElement*
    constantsTouched: []
    func_position:
      end: 354
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 354
    functionName: generateNodeImpl2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - generateAttributeInfo2
    - generateGenericInfo
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - generateTransformInfo2
    - generateCoreInfo
    - generateMotionTransformInfo2
    - generateXYInfo2
    linkageType: ''
    returnType: void
    signature: 'void generateNodeImpl2(FILE *output, SVGGenElement* svg_elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:362,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:380,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:401,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:402,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:403,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:405,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:418,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:419,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:412,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:420,1
    - Dst: generate_laser_tables
      Src: /src/gpac/applications/generators/SVG/v2.c:458,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:437,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:427,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:447,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:439,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:410,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:411,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:433,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:363,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:371,1
    - Dst: generateNode2
      Src: /src/gpac/applications/generators/SVG/v2.c:384,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:381,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:389,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:391,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:392,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:394,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:398,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:424,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:444,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:430,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:435,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v2.c:456,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:440,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:455,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:425,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v2.c:361,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:364,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:368,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:369,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:373,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:377,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v2.c:388,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:399,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:400,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:416,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:453,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:442,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:434,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:451,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:414,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:428,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:367,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:383,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:379,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:382,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v2.c:386,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:393,1
    - Dst: generateNodeImpl2
      Src: /src/gpac/applications/generators/SVG/v2.c:395,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:407,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:408,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:409,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:422,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:448,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v2.c:426,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:449,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:450,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:446,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:417,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v2.c:432,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v2.c:441,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 106
    argCount: 1
    argNames:
    - svg_elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 459
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 459
    functionName: generateSVGCode_V2
    functionSourceFile: /src/gpac/applications/generators/SVG/v2.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - generate_laser_tables
    - generateNode2
    - gf_list_count
    - fprintf
    - generateNodeImpl2
    - BeginFile
    - EndFile
    linkageType: ''
    returnType: void
    signature: 'void generateSVGCode_V2(GF_List *svg_elements) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:65,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:67,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:71,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:73,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:75,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:82,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:78,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:80,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:88,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:86,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:103,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:110,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:93,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:109,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:92,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:102,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:108,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:101,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:64,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:66,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:68,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:72,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:74,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:79,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:85,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:87,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:81,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:89,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:107,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:100,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:106,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:96,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:99,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:95,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 114
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 114
    functionName: generateCoreInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateCoreInfo(FILE *output, SVGGenElement *elt, u32 start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:129,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:132,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:130,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: generateTransformInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateTransformInfo(FILE *output, SVGGenElement *elt, u32 start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:155,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:156,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:158,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:157,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:159,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:162,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:164,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:165,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: generateXYInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateXYInfo(FILE *output, SVGGenElement *elt, u32 start) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findAttribute
      Src: /src/gpac/applications/generators/SVG/v1.c:202,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - output
    - elt
    - index
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: generateIndexInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - findAttribute
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateIndexInfo(FILE *output, SVGGenElement *elt, u32 index,
      u32 start) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:29,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:37,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:32,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:38,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:34,1
    - Dst: generateAttributes
      Src: /src/gpac/applications/generators/SVG/v1.c:41,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:44,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:45,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - output
    - svg_elt
    argTypes:
    - FILE*
    - SVGGenElement*
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: generateNode
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    - generateAttributes
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void generateNode(FILE *output, SVGGenElement* svg_elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:53,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:55,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:56,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:54,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - output
    - elt_imp_name
    - att
    - i
    argTypes:
    - FILE*
    - char*
    - SVGGenAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: generateAttributeInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateAttributeInfo(FILE *output, char * elt_imp_name, SVGGenAttribute
      *att, u32 i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:118,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:119,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:122,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:120,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - output
    - pointer
    - name
    - type
    - i
    argTypes:
    - FILE*
    - char*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: generateAttributeInfoFlat
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void generateAttributeInfoFlat(FILE *output, char *pointer, char *name,
      char *type, u32 i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:142,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:146,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:143,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:144,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - output
    - elt
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: generateMotionTransformInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: u32
    signature: 'u32 generateMotionTransformInfo(FILE *output, SVGGenElement *elt,
      u32 start) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findAttribute
      Src: /src/gpac/applications/generators/SVG/v1.c:177,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/v1.c:182,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/SVG/v1.c:180,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:181,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:183,1
    - Dst: svgNameToImplementationName
      Src: /src/gpac/applications/generators/SVG/v1.c:186,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:187,1
    - Dst: generateAttributeInfoFlat
      Src: /src/gpac/applications/generators/SVG/v1.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - output
    - elt
    - index
    - pointer_root
    - start
    argTypes:
    - FILE*
    - SVGGenElement*
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 194
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 194
    functionName: generateGenericInfo
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - svgNameToImplementationName
    - findAttribute
    - sprintf
    - generateAttributeInfoFlat
    - strstr
    linkageType: ''
    returnType: u32
    signature: 'u32 generateGenericInfo(FILE *output, SVGGenElement *elt, u32 index,
      char *pointer_root, u32 start) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:277,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:303,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:353,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:409,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:413,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:430,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:323,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:344,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:371,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:393,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:403,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:420,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:447,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:262,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:298,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:221,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:261,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:264,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:272,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:286,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:341,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:349,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:377,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:398,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:296,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:260,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:263,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:271,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:278,1
    - Dst: generateTransformInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:383,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:424,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:266,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:300,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:304,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:354,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:369,1
    - Dst: generateXYInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:387,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:390,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:401,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:437,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:299,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:256,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:259,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:263,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:265,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:270,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:273,1
    - Dst: generateAttributeInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:391,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:428,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:443,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:251,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:335,1
    - Dst: generateCoreInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:362,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:418,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:250,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:340,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:342,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:375,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:407,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:449,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:218,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:267,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:282,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:301,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:306,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:288,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:306,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:334,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:360,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:381,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:327,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:333,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:274,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:315,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:336,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:359,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:432,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:284,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:291,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:332,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:373,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:405,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:426,1
    - Dst: generateMotionTransformInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:384,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:285,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:434,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:306,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:252,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:283,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:289,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:331,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:367,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:422,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:257,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:268,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:276,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:330,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:319,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:326,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:302,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:294,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:352,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:309,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:317,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:275,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:292,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:329,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:338,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:389,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:411,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:441,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:453,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:448,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:314,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:247,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:228,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:225,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:231,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:234,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:237,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:240,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:243,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:322,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:328,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:343,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:365,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:307,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:320,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:295,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/SVG/v1.c:344,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:345,1
    - Dst: generateGenericInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:379,1
    - Dst: generateIndexInfo
      Src: /src/gpac/applications/generators/SVG/v1.c:416,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 241
    argCount: 2
    argNames:
    - output
    - svg_elt
    argTypes:
    - FILE*
    - SVGGenElement*
    constantsTouched: []
    func_position:
      end: 454
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 454
    functionName: generateNodeImpl
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - generateGenericInfo
    - gf_list_get
    - generateXYInfo
    - gf_list_count
    - fprintf
    - strcmp
    - generateAttributeInfo
    - generateCoreInfo
    - generateMotionTransformInfo
    - generateTransformInfo
    - generateIndexInfo
    linkageType: ''
    returnType: void
    signature: 'void generateNodeImpl(FILE *output, SVGGenElement* svg_elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:473,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:478,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:595,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:530,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:486,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:543,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:518,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:575,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:545,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:515,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:563,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:573,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:529,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:553,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:584,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:504,1
    - Dst: generateNodeImpl
      Src: /src/gpac/applications/generators/SVG/v1.c:509,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:517,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v1.c:603,1
    - Dst: generate_laser_tables
      Src: /src/gpac/applications/generators/SVG/v1.c:605,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:469,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:562,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:532,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v1.c:466,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:508,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:592,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:534,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:520,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:564,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:583,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:597,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:587,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:467,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:492,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:550,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:585,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:601,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:596,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:542,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:522,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:472,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:491,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:505,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:599,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:552,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:582,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:577,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:551,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:572,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:468,1
    - Dst: generateNode
      Src: /src/gpac/applications/generators/SVG/v1.c:489,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:493,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/SVG/v1.c:501,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:507,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:566,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:594,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:539,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:556,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:541,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:561,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:488,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:506,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:554,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:474,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:482,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/SVG/v1.c:494,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:527,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:602,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:476,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:502,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:540,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:531,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:519,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/SVG/v1.c:574,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:485,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:593,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:528,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:516,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/SVG/v1.c:484,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/SVG/v1.c:487,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 1
    argNames:
    - svg_elements
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 606
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 606
    functionName: generateSVGCode_V1
    functionSourceFile: /src/gpac/applications/generators/SVG/v1.c
    functionUses: []
    functionsReached:
    - generateNode
    - gf_list_get
    - generate_laser_tables
    - gf_list_count
    - fprintf
    - BeginFile
    - EndFile
    - generateNodeImpl
    linkageType: ''
    returnType: void
    signature: 'void generateSVGCode_V1(GF_List *svg_elements) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:44,1
    - Dst: feof
      Src: /src/gpac/applications/generators/WebGLGen/main.c:46,1
    - Dst: gf_fputs
      Src: /src/gpac/applications/generators/WebGLGen/main.c:50,1
    - Dst: gf_fseek
      Src: /src/gpac/applications/generators/WebGLGen/main.c:45,1
    - Dst: gf_fgets
      Src: /src/gpac/applications/generators/WebGLGen/main.c:49,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/WebGLGen/main.c:52,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:53,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/WebGLGen/main.c:54,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ifce_c
    - func_c
    - ctx_name
    argTypes:
    - FILE*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: end_ctx
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - feof
    - fprintf
    - gf_fgets
    - gf_fclose
    - gf_fputs
    - gf_free
    - gf_fseek
    linkageType: ''
    returnType: void
    signature: 'static void end_ctx(FILE *ifce_c, FILE *func_c, char *ctx_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fun_defs
    - f_name
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: put_fun
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void put_fun(FILE *fun_defs, char *f_name) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:125,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:132,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:100,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:133,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:138,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:81,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:83,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:80,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:85,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:87,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:91,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:94,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:89,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:96,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:98,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:104,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:107,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:109,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:113,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:99,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:117,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:120,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:124,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:123,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:79,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:82,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:84,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:86,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:88,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:97,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:92,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:95,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:93,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:90,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:103,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:101,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:131,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:102,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:105,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:106,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 94
    argCount: 2
    argNames:
    - arg_type
    - is_array
    argTypes:
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 140
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 140
    functionName: get_arg_type
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_arg_type(char *arg_type, Bool *is_array) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:269,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:358,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:387,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:428,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:383,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:386,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:436,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:437,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:445,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:455,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:399,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:313,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:298,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:460,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:497,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:273,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:319,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:330,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:333,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:341,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:380,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:381,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:397,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:419,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:420,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:393,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:402,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:410,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:302,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:352,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:495,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:505,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:468,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:284,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:363,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:298,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:316,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:345,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:383,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:398,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:452,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:479,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:500,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:400,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:395,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:509,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:474,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:408,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:404,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:436,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:444,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:448,1
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:458,1
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:488,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:304,1
    - Dst: put_arg_decl
      Src: /src/gpac/applications/generators/WebGLGen/main.c:328,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:340,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:357,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:364,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:390,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:406,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:470,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:482,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:514,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:480,1
    - Dst: put_arg_decl
      Src: /src/gpac/applications/generators/WebGLGen/main.c:367,1
    - Dst: memset
      Src: /src/gpac/applications/generators/WebGLGen/main.c:276,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:293,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:325,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:349,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:358,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:386,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:429,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:459,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:466,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:394,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:283,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:436,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:443,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:469,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:472,1
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:478,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:510,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:471,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:386,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:396,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:363,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:286,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/WebGLGen/main.c:297,1
    - Dst: put_arg_get
      Src: /src/gpac/applications/generators/WebGLGen/main.c:335,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:344,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:358,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:429,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:440,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:491,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:268,1
    - Dst: strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:295,1
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:417,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:391,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:461,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:466,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:483,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:496,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:513,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:353,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:386,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:395,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:359,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:358,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:428,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:446,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:467,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:481,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:490,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:494,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:311,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:379,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:430,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:390,1
    - Dst: memset
      Src: /src/gpac/applications/generators/WebGLGen/main.c:277,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:292,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:348,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:378,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:392,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:434,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:498,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 313
    argCount: 3
    argNames:
    - ifce_c
    - fname
    - fun_def
    argTypes:
    - FILE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 515
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 515
    functionName: wrap_func
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - strlen
    - assert
    - memset
    - strdup
    - strncmp
    - put_arg_decl
    - fprintf
    - gf_strdup
    - strcmp
    - put_arg_get
    - strchr
    - get_arg_type
    - gf_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void wrap_func(FILE *ifce_c, char *fname, char *fun_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:31,1
    - Dst: gf_file_temp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:34,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:36,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:37,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/WebGLGen/main.c:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx_name
    - ifce_c
    - fun_c
    argTypes:
    - char*
    - FILE**
    - FILE**
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: start_ctx
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_fopen
    - sprintf
    - gf_file_temp
    linkageType: ''
    returnType: void
    signature: 'static void start_ctx(char *ctx_name, FILE **ifce_c, FILE **fun_c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - fun_defs
    - c_name
    - c_val
    argTypes:
    - FILE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: put_const
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void put_const(FILE *fun_defs, char *c_name, char *c_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:70,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - fun_defs
    - ctx_name
    - pname
    - is_readonly
    argTypes:
    - FILE*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: put_prop
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void put_prop(FILE *fun_defs, char *ctx_name, char *pname,
      Bool is_readonly) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:151,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:157,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:161,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:169,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:175,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:179,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:181,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:183,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:197,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:198,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:211,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:200,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:207,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:148,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:152,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:158,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:166,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:170,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:176,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:189,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:191,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:193,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:194,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:206,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:214,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:219,1
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:145,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:149,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:155,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:163,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:167,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:173,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:180,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:182,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:184,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:210,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:203,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:202,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:154,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:160,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:164,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:172,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:178,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:186,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:190,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:192,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:196,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:204,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:212,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:200,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 5
    argNames:
    - ifce_c
    - fname
    - idx
    - arg_type
    - arg_name
    argTypes:
    - FILE*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 222
    functionName: put_arg_get
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - get_arg_type
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void put_arg_get(FILE *ifce_c, char *fname, int idx, char *arg_type,
      char *arg_name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: start_ctx
      Src: /src/gpac/applications/generators/WebGLGen/main.c:546,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:567,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:568,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:576,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:596,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:606,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:609,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:620,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/WebGLGen/main.c:631,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:634,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:616,1
    - Dst: gf_fgets
      Src: /src/gpac/applications/generators/WebGLGen/main.c:529,1
    - Dst: feof
      Src: /src/gpac/applications/generators/WebGLGen/main.c:528,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:533,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:544,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:565,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:558,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:588,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:594,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:626,1
    - Dst: put_fun
      Src: /src/gpac/applications/generators/WebGLGen/main.c:627,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:593,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/WebGLGen/main.c:524,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:530,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/WebGLGen/main.c:532,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:540,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:543,1
    - Dst: gf_strdup
      Src: /src/gpac/applications/generators/WebGLGen/main.c:545,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:557,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:564,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:549,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:562,1
    - Dst: wrap_func
      Src: /src/gpac/applications/generators/WebGLGen/main.c:630,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:573,1
    - Dst: put_prop
      Src: /src/gpac/applications/generators/WebGLGen/main.c:599,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:612,1
    - Dst: end_ctx
      Src: /src/gpac/applications/generators/WebGLGen/main.c:551,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:561,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:569,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:572,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:579,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:582,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:597,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:603,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:621,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:623,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/WebGLGen/main.c:638,1
    - Dst: assert
      Src: /src/gpac/applications/generators/WebGLGen/main.c:624,1
    - Dst: put_const
      Src: /src/gpac/applications/generators/WebGLGen/main.c:575,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 639
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 639
    functionName: load_idl
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - strlen
    - put_const
    - assert
    - feof
    - put_fun
    - wrap_func
    - start_ctx
    - strncmp
    - gf_strdup
    - gf_fgets
    - fprintf
    - put_prop
    - strchr
    - gf_free
    - gf_fclose
    - end_ctx
    - gf_fopen
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void load_idl(const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_idl
      Src: /src/gpac/applications/generators/WebGLGen/main.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: main
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - load_idl
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_type
      Src: /src/gpac/applications/generators/WebGLGen/main.c:227,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:233,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:234,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:232,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:235,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:236,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:237,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:239,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:241,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:246,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:248,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:252,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:249,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/WebGLGen/main.c:245,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:242,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/WebGLGen/main.c:250,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/WebGLGen/main.c:247,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - ifce_c
    - fname
    - arg_type
    - arg_name
    argTypes:
    - FILE*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: put_arg_decl
    functionSourceFile: /src/gpac/applications/generators/WebGLGen/main.c
    functionUses: []
    functionsReached:
    - strncmp
    - fprintf
    - strcmp
    - get_arg_type
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void put_arg_decl(FILE *ifce_c, char *fname, char *arg_type,
      char *arg_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:120,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/MPEG4/main.c:139,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/MPEG4/main.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - token
    - sep
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: GetNextToken
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strchr
    - strcpy
    linkageType: ''
    returnType: u32
    signature: 'u32 GetNextToken(char *token, char *sep) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:285,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:291,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:284,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:294,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:298,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:301,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:310,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:317,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:320,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:326,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:385,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:339,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:390,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:331,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:282,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:311,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:304,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:305,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:312,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:319,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:324,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:340,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:355,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:364,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:377,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:352,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:354,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:387,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:356,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:382,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:376,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:292,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:296,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:300,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:310,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:308,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:320,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:328,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:346,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:349,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:351,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:381,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:392,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:366,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:391,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:289,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:311,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:309,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:316,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:319,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:325,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:336,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:343,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:350,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:368,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:380,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:394,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:365,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:358,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:370,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:330,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:373,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:337,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 3
    argNames:
    - BNodes
    - NDTs
    - NumVersions
    argTypes:
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 396
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 396
    functionName: WriteNodesFile
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - BeginFile
    - stricmp
    - EndFile
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodesFile(GF_List *BNodes, GF_List *NDTs, u32 NumVersions) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1366,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1374,1
    - Dst: CheckInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:1385,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1380,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1393,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1411,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1418,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1422,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1434,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1453,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1465,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1477,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1501,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1504,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:1509,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1451,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1478,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1461,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/MPEG4/main.c:1369,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1376,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1396,1
    - Dst: BlankField
      Src: /src/gpac/applications/generators/MPEG4/main.c:1414,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1419,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1423,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1427,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1437,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1441,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1449,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1467,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1500,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1455,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1488,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1483,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1508,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1458,1
    - Dst: feof
      Src: /src/gpac/applications/generators/MPEG4/main.c:1354,1
    - Dst: BlankNode
      Src: /src/gpac/applications/generators/MPEG4/main.c:1367,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1372,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1392,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/MPEG4/main.c:1415,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1422,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1458,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1460,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1464,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1472,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1463,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1466,1
    - Dst: atoi
      Src: /src/gpac/applications/generators/MPEG4/main.c:1489,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1503,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1506,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1507,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1452,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1454,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1482,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1363,1
    - Dst: fgets
      Src: /src/gpac/applications/generators/MPEG4/main.c:1355,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1375,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/MPEG4/main.c:1386,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1387,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/MPEG4/main.c:1388,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1386,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1420,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1423,1
    - Dst: skip_sep
      Src: /src/gpac/applications/generators/MPEG4/main.c:1426,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1457,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1464,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1452,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1484,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1459,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 169
    argCount: 4
    argNames:
    - nodes
    - BNodes
    - NDTs
    - version
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 1513
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1513
    functionName: ParseTemplateFile
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - GetNextToken
    - feof
    - BlankNode
    - gf_list_get
    - gf_list_count
    - strcmp
    - skip_sep
    - fgets
    - BlankField
    - atoi
    - strcpy
    - CheckInTable
    - strstr
    - printf
    linkageType: ''
    returnType: void
    signature: 'void ParseTemplateFile(FILE *nodes, GF_List *BNodes, GF_List *NDTs,
      u32 version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - MaxVal
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1603
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1603
    functionName: get_nb_bits
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 get_nb_bits(u32 MaxVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:403,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:404,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - node
    - NDTName
    argTypes:
    - BNode*
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: IsNodeInTable
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 IsNodeInTable(BNode *node, char *NDTName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1520,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1524,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1526,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1521,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1522,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - BNode*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1530
    functionName: WriteNodeDump
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - fprintf
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeDump(FILE *f, BNode *n) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1614,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1630,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:1650,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1654,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1656,1
    - Dst: GetBitsCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:1643,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1664,1
    - Dst: get_nb_bits
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1617,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:1632,1
    - Dst: format_bit_string
      Src: /src/gpac/applications/generators/MPEG4/main.c:1644,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1644,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: format_bit_string
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: get_nb_bits
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1615,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1656,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1659,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1664,1
    - Dst: get_nb_bits
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/MPEG4/main.c:1675,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1609,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1610,1
    - Dst: gf_gpac_version
      Src: /src/gpac/applications/generators/MPEG4/main.c:1624,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1628,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1638,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1655,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1648,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1659,1
    - Dst: get_nb_bits
      Src: /src/gpac/applications/generators/MPEG4/main.c:1669,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1673,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 3
    argNames:
    - NDTs
    - nodes
    - nbVersion
    argTypes:
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 1678
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1678
    functionName: generate_ndts
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - sprintf
    - IsNodeInTable
    - strcmp
    - get_nb_bits
    - format_bit_string
    - GetBitsCount
    - gf_fclose
    - gf_fopen
    - gf_gpac_version
    linkageType: ''
    returnType: void
    signature: 'void generate_ndts(GF_List *NDTs, GF_List *nodes, u32 nbVersion) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:157,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:160,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:157,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: GetFixedPrintout
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - sprintf
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'char *GetFixedPrintout(char *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/MPEG4/main.c:174,1
    - Dst: memset
      Src: /src/gpac/applications/generators/MPEG4/main.c:175,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/MPEG4/main.c:176,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/MPEG4/main.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: BlankNode
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: BNode*
    signature: 'BNode *BlankNode() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:450,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:455,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:453,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:464,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:454,1
    - Dst: GetBitsCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:464,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:465,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:467,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:470,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:471,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:473,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:482,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:487,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:488,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:479,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:490,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:476,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:486,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - f
    - BNodes
    - NDTs
    - Version
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 491
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 491
    functionName: WriteNDT_H
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - IsNodeInTable
    - GetBitsCount
    - GetNDTCount
    linkageType: ''
    returnType: void
    signature: 'void WriteNDT_H(FILE *f, GF_List *BNodes, GF_List *NDTs, u32 Version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/MPEG4/main.c:166,1
    - Dst: memset
      Src: /src/gpac/applications/generators/MPEG4/main.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: BlankField
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: BField*
    signature: 'BField *BlankField() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:184,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:185,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - NDTs
    - famName
    argTypes:
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: IsNDT
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: u8
    signature: 'u8 IsNDT(GF_List *NDTs, char *famName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:213,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:223,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:214,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:222,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:219,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:226,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/MPEG4/main.c:230,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:231,1
    - Dst: time
      Src: /src/gpac/applications/generators/MPEG4/main.c:237,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:238,1
    - Dst: gmtime
      Src: /src/gpac/applications/generators/MPEG4/main.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:243,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:244,1
    - Dst: asctime
      Src: /src/gpac/applications/generators/MPEG4/main.c:238,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:242,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 249
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 249
    functionName: BeginFile
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - asctime
    - fprintf
    - sprintf
    - strcmp
    - stricmp
    - time
    - gf_fopen
    - gmtime
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *BeginFile(char *name, u32 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - MaxVal
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: GetBitsCount
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 GetBitsCount(u32 MaxVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:560,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:570,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:562,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:563,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:561,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - f
    - BNodes
    - NDTs
    - Version
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 573
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 573
    functionName: WriteNDT_Enc
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - GetNDTCount
    - fprintf
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void WriteNDT_Enc(FILE *f, GF_List *BNodes, GF_List *NDTs, u32 Version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/generators/MPEG4/main.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: skip_sep
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: 'void skip_sep(char *sep) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:434,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:435,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - NDTName
    - BNodes
    - Version
    argTypes:
    - char*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: GetNDTCount
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - IsNodeInTable
    linkageType: ''
    returnType: u32
    signature: 'u32 GetNDTCount(char *NDTName, GF_List *BNodes, u32 Version) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:585,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:637,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:656,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:731,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:716,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:720,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:683,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:711,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:739,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:723,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:586,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:632,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:638,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:645,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:665,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:725,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:639,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:679,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:738,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:745,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:692,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:682,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:589,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:610,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:608,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:640,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:681,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:695,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:752,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:756,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:648,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:685,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:707,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:761,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:727,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:589,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:653,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:674,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:678,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:691,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:724,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:624,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:654,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:744,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:655,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:704,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:734,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:741,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:751,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:605,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:626,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:656,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:659,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:677,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:754,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:606,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:613,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:728,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:675,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:758,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:687,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:607,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:730,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:737,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:759,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:763,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:700,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:703,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:708,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:621,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:608,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:640,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:642,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:760,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:594,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:616,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:622,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:709,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:748,1
    - Dst: strupr
      Src: /src/gpac/applications/generators/MPEG4/main.c:749,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:623,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:718,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:688,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:594,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:624,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:629,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:662,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:714,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:696,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:715,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:699,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:682,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:584,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:586,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:680,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 197
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - BNode*
    constantsTouched: []
    func_position:
      end: 764
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 764
    functionName: WriteNodeFields
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strupr
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - strcpy
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeFields(FILE *f, BNode *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:196,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:197,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/MPEG4/main.c:200,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:198,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:200,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:201,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/MPEG4/main.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - token
    - NDTs
    argTypes:
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: CheckInTable
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_list_get
    - gf_list_count
    - strcmp
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void CheckInTable(char *token, GF_List *NDTs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:254,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:257,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:255,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/MPEG4/main.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - f
    - name
    - type
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: EndFile
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void EndFile(FILE *f, char *name, u32 type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:774,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:794,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:787,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:789,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:794,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:802,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:797,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:779,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:781,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:787,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:797,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:800,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:771,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:777,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:794,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:789,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:773,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:782,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:783,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:787,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:792,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:790,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:788,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:792,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:794,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:795,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - BNode*
    constantsTouched: []
    func_position:
      end: 803
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 803
    functionName: WriteNodeQuant
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - GetFixedPrintout
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeQuant(FILE *f, BNode *n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/gpac/applications/generators/MPEG4/main.c:1539,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1552,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:1544,1
    - Dst: fgets
      Src: /src/gpac/applications/generators/MPEG4/main.c:1540,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1548,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1562,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1565,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1566,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1567,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1573,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - nodes
    - prof
    argTypes:
    - GF_List*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1576
    functionName: parse_profile
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - feof
    - gf_list_count
    - fgets
    - stricmp
    - strstr
    - printf
    linkageType: ''
    returnType: void
    signature: 'void parse_profile(GF_List *nodes, FILE *prof) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:264,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:264,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:268,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:265,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: TranslateToken
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strcmp
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void TranslateToken(char *token) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:848,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:845,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:862,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:872,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:928,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:925,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1002,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1029,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1090,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1104,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1183,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1277,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1175,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1333,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1099,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1146,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1288,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1169,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1282,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1239,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:943,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:822,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:849,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:863,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:874,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:906,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:898,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:914,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:926,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:988,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1106,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1131,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1194,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1234,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1254,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1306,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1154,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1075,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:967,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1118,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1158,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:899,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:900,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:927,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:828,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:835,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:850,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:864,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:960,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:992,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1015,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1027,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1095,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1098,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1132,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1314,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1313,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1112,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1204,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1008,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:919,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:905,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:819,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:851,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:877,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:902,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:871,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:920,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:972,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:982,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1100,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1211,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1270,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1291,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1021,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1216,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1293,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1251,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:814,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:903,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:941,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:968,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1004,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1005,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1033,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1128,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1134,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1137,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1227,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1205,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1262,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1134,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1075,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:995,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1183,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1204,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1127,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:905,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:971,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:990,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:991,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:984,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1047,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1149,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1179,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1181,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1268,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1340,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1261,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1106,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1143,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:880,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:852,1
    - Dst: WriteNodeQuant
      Src: /src/gpac/applications/generators/MPEG4/main.c:892,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:973,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:992,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1019,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1020,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1044,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1052,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1054,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1117,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1164,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1123,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1275,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1327,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1294,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1226,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1267,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1331,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1059,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:912,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:853,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:995,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1006,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1021,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1062,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1070,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1076,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1077,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1089,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1103,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1128,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1179,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1243,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1112,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1273,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1303,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1321,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:829,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:854,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:884,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:934,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:955,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:956,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:964,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1010,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1065,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1084,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1192,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1053,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1129,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1137,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1016,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1028,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1181,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1284,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1336,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1133,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1323,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:831,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:855,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:867,1
    - Dst: strlwr
      Src: /src/gpac/applications/generators/MPEG4/main.c:868,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:876,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:888,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:885,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:887,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:936,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:928,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1006,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1074,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:998,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1087,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1264,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1318,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1157,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1325,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1338,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:937,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:832,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:838,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:856,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:955,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:976,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:993,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:994,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1013,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1025,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1148,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1102,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1017,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1131,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1189,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1259,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:909,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:816,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:824,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:834,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:857,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:940,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:946,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:981,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:983,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:985,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1032,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1250,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1023,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1064,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1078,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1330,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1297,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:838,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:858,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:909,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:929,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:954,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:959,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1002,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1010,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1013,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1046,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1054,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1101,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1135,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1073,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1136,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1195,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1329,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:859,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1024,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1041,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1078,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1100,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1103,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1180,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1225,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1257,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1286,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1276,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1295,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1182,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1203,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1322,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1222,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:846,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:860,1
    - Dst: WriteNodeFields
      Src: /src/gpac/applications/generators/MPEG4/main.c:891,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/MPEG4/main.c:928,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:960,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:978,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:979,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1017,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1025,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1033,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1178,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1214,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1300,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1126,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1170,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1285,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1105,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1217,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:1029,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1247,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1309,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1034,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1304,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1315,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1130,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1252,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:869,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:817,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:847,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:861,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:963,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:981,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:983,1
    - Dst: GetFixedPrintout
      Src: /src/gpac/applications/generators/MPEG4/main.c:985,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1000,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1001,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1302,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1311,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1009,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1115,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1200,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1279,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1260,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1312,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1266,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/MPEG4/main.c:1167,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 605
    argCount: 1
    argNames:
    - BNodes
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1341
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 1341
    functionName: WriteNodeCode
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - GetNextToken
    - strncmp
    - gf_list_count
    - fprintf
    - strcmp
    - WriteNodeFields
    - sprintf
    - TranslateToken
    - GetFixedPrintout
    - WriteNodeQuant
    - BeginFile
    - strlwr
    - strcpy
    - stricmp
    - EndFile
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeCode(GF_List *BNodes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/MPEG4/main.c:1581,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1587,1
    - Dst: strcat
      Src: /src/gpac/applications/generators/MPEG4/main.c:1583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - str
    - val
    - nb_bits
    argTypes:
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1594
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1594
    functionName: format_bit_string
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'char *format_bit_string(char *str, u32 val, u32 nb_bits) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PrintUsage
      Src: /src/gpac/applications/generators/MPEG4/main.c:1691,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/MPEG4/main.c:1696,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/MPEG4/main.c:1695,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1716,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1734,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/MPEG4/main.c:1743,1
    - Dst: WriteNodesFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1747,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1758,1
    - Dst: WriteNDT_H
      Src: /src/gpac/applications/generators/MPEG4/main.c:1769,1
    - Dst: WriteNDT_Dec
      Src: /src/gpac/applications/generators/MPEG4/main.c:1771,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1813,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/MPEG4/main.c:1835,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/MPEG4/main.c:1846,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/MPEG4/main.c:1825,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/MPEG4/main.c:1840,1
    - Dst: printf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1708,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1720,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1756,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1762,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1763,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1764,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1778,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1782,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1784,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1788,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1796,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1804,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1806,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/MPEG4/main.c:1841,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/MPEG4/main.c:1827,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/MPEG4/main.c:1844,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1790,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1802,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1823,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1812,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/MPEG4/main.c:1831,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1786,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/MPEG4/main.c:1703,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1719,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1752,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1755,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1801,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1817,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1832,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1833,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/MPEG4/main.c:1837,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1839,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1797,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1829,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1816,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1792,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1830,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1780,1
    - Dst: WriteNDT_Enc
      Src: /src/gpac/applications/generators/MPEG4/main.c:1773,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1794,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1800,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1706,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/MPEG4/main.c:1717,1
    - Dst: ParseTemplateFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1725,1
    - Dst: CheckInTable
      Src: /src/gpac/applications/generators/MPEG4/main.c:1729,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/MPEG4/main.c:1731,1
    - Dst: generate_ndts
      Src: /src/gpac/applications/generators/MPEG4/main.c:1737,1
    - Dst: parse_profile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1742,1
    - Dst: WriteNodeCode
      Src: /src/gpac/applications/generators/MPEG4/main.c:1749,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/MPEG4/main.c:1753,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1759,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:1805,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/MPEG4/main.c:1843,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1815,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1822,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:1807,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/MPEG4/main.c:1824,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/MPEG4/main.c:1834,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:1838,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 144
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1849
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1849
    functionName: main
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - parse_profile
    - ParseTemplateFile
    - WriteNDT_H
    - PrintUsage
    - WriteNDT_Enc
    - gf_list_del
    - gf_list_count
    - strcmp
    - WriteNodeCode
    - gf_list_new
    - gf_fopen
    - gf_list_get
    - fprintf
    - sprintf
    - BeginFile
    - WriteNodesFile
    - gf_free
    - WriteNDT_Dec
    - EndFile
    - printf
    - generate_ndts
    - gf_list_rem
    - gf_fclose
    - CheckInTable
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:509,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:514,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:517,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:520,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:531,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:522,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:538,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:504,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:511,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:510,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:533,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:536,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:549,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:507,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/MPEG4/main.c:519,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/MPEG4/main.c:539,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/MPEG4/main.c:541,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:513,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:530,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/MPEG4/main.c:552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - f
    - BNodes
    - NDTs
    - Version
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 553
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 553
    functionName: WriteNDT_Dec
    functionSourceFile: /src/gpac/applications/generators/MPEG4/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - GetNDTCount
    - fprintf
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void WriteNDT_Dec(FILE *f, GF_List *BNodes, GF_List *NDTs, u32 Version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/X3D/main.c:129,1
    - Dst: memset
      Src: /src/gpac/applications/generators/X3D/main.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: BlankField
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: X3DField*
    signature: 'X3DField *BlankField() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:293,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:290,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:297,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:316,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:325,1
    - Dst: strupr
      Src: /src/gpac/applications/generators/X3D/main.c:326,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:338,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:292,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:318,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:328,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:329,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:333,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:337,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:291,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:308,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:315,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:307,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:314,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:321,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:322,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:331,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:336,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:340,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:295,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:300,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:301,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:302,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:304,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:305,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:311,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:335,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - X3DNode*
    constantsTouched: []
    func_position:
      end: 341
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 341
    functionName: WriteNodeFields
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strupr
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - strcpy
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeFields(FILE *f, X3DNode *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/X3D/main.c:137,1
    - Dst: memset
      Src: /src/gpac/applications/generators/X3D/main.c:138,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/X3D/main.c:139,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/X3D/main.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: BlankNode
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: X3DNode*
    signature: 'X3DNode *BlankNode() '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:358,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:483,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:451,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:461,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:600,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:643,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:754,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:539,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:599,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:655,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:733,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:749,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:764,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:773,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:809,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:858,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:894,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:543,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:626,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:470,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:449,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:471,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:470,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:492,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:506,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:529,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:535,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:540,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:541,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:718,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:752,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:775,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:684,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:735,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:833,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:885,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:615,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:899,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:864,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:871,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:455,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:414,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:438,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:391,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:416,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:402,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:558,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:559,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:564,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:576,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:606,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:617,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:653,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:673,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:704,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:706,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:729,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:743,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:806,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:892,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:469,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:452,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:370,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:390,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:486,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:493,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:512,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:517,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:518,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:526,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:857,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:788,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:652,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:739,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:363,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:387,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/X3D/main.c:444,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:429,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:445,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:475,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:497,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:648,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:718,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:723,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:740,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:872,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:880,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:828,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:612,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:630,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:742,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:683,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:887,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:902,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:787,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:884,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:898,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:361,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:386,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:409,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:426,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:427,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:490,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:504,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:505,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:509,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:532,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:629,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:810,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:711,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:737,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:866,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:405,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:432,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:366,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:389,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:400,1
    - Dst: strlwr
      Src: /src/gpac/applications/generators/X3D/main.c:401,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:552,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:562,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:563,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:569,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:822,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:581,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:679,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:605,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:681,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:873,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:886,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:900,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:560,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:478,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:364,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:388,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:430,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:496,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:524,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:525,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:589,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:676,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:677,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:709,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:736,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:784,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:823,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:770,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:849,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:785,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:354,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:383,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:406,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:567,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:582,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:618,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:628,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:668,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:701,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:721,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:763,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:755,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:707,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:776,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:865,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:482,1
    - Dst: strncmp
      Src: /src/gpac/applications/generators/X3D/main.c:436,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:360,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:382,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:396,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:502,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:507,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:508,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:530,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:531,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:545,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:665,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:859,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:870,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:798,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:705,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:760,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:789,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:487,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:352,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:385,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:433,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:425,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:550,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:551,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:556,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:594,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:637,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:588,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:690,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:708,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:800,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:877,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:656,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:654,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:696,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:732,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:734,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:456,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:370,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:384,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:516,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:522,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:527,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:528,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:568,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:587,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:623,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:840,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:693,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:817,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:795,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:667,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:820,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:811,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:856,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:875,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:351,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:353,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:379,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:393,1
    - Dst: WriteNodeFields
      Src: /src/gpac/applications/generators/X3D/main.c:419,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:436,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:498,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:568,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:579,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:607,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:662,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:680,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:695,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:738,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:853,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:905,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:868,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:879,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:741,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:863,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:378,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:392,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:474,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:499,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:537,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:538,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:542,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:548,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:597,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:631,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:682,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:845,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:861,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:640,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:882,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:896,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:893,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:891,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:432,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:356,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:381,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:395,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:479,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:458,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:403,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:544,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:554,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:555,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:627,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:786,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:831,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:367,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:377,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:380,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:394,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:495,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:514,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:515,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:519,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:548,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:651,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:781,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:810,1
    - Dst: TranslateToken
      Src: /src/gpac/applications/generators/X3D/main.c:832,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:724,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:801,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:878,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:889,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:642,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:678,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:712,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:710,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 606
    argCount: 2
    argNames:
    - BNodes
    - vrml_code
    argTypes:
    - GF_List*
    - FILE*
    constantsTouched: []
    func_position:
      end: 907
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 907
    functionName: WriteNodeCode
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - GetNextToken
    - strncmp
    - gf_list_count
    - fprintf
    - strcmp
    - WriteNodeFields
    - TranslateToken
    - strlwr
    - strcpy
    - stricmp
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeCode(GF_List *BNodes, FILE *vrml_code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:147,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:150,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - NDTs
    - famName
    argTypes:
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: IsNDT
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: u8
    signature: 'u8 IsNDT(GF_List *NDTs, char *famName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:209,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:210,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:212,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:209,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: TranslateToken
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strcmp
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void TranslateToken(char *token) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:942,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:952,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:959,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/X3D/main.c:971,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:966,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/X3D/main.c:953,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:973,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:969,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:978,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:939,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:947,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:943,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:951,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:962,1
    - Dst: GetNDTCount
      Src: /src/gpac/applications/generators/X3D/main.c:944,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:948,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:956,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:970,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:975,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:968,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:977,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - f
    - XNodes
    - NDTs
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 979
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 979
    functionName: WriteNDT
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - IsNodeInTable
    - GetNDTCount
    linkageType: ''
    returnType: void
    signature: 'void WriteNDT(FILE *f, GF_List *XNodes, GF_List *NDTs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:159,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/X3D/main.c:163,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:160,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:161,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:163,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:164,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/X3D/main.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - token
    - NDTs
    argTypes:
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: CheckInTable
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_list_get
    - gf_list_count
    - strcmp
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void CheckInTable(char *token, GF_List *NDTs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:233,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:234,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:238,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:242,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:249,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:251,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:266,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:275,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:280,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/X3D/main.c:225,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:246,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:252,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:252,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:245,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:253,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:260,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:263,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:265,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:272,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:228,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:227,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:236,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:240,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/X3D/main.c:251,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:243,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:258,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:261,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:261,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:269,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:277,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:231,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:250,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:257,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:260,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:274,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/X3D/main.c:281,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - BNodes
    - NDTs
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 283
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 283
    functionName: WriteNodesFile
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - strcmp
    - BeginFile
    - stricmp
    - EndFile
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void WriteNodesFile(GF_List *BNodes, GF_List *NDTs) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:1014,1
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:1036,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1025,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:1024,1
    - Dst: gf_malloc
      Src: /src/gpac/applications/generators/X3D/main.c:1024,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/X3D/main.c:1026,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1043,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1047,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1082,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1084,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1087,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1089,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1096,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/X3D/main.c:1111,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1120,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1004,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1009,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1018,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1051,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:1061,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:1065,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1075,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1076,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1078,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1083,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1088,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1091,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1121,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1124,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1126,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/generators/X3D/main.c:1103,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1127,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1001,1
    - Dst: fgets
      Src: /src/gpac/applications/generators/X3D/main.c:993,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/X3D/main.c:1006,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1013,1
    - Dst: gf_list_add
      Src: /src/gpac/applications/generators/X3D/main.c:1040,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1047,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1058,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1077,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1081,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1082,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1088,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1113,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1079,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1128,1
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:1102,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1104,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/X3D/main.c:1111,1
    - Dst: feof
      Src: /src/gpac/applications/generators/X3D/main.c:992,1
    - Dst: BlankNode
      Src: /src/gpac/applications/generators/X3D/main.c:1005,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1012,1
    - Dst: BlankField
      Src: /src/gpac/applications/generators/X3D/main.c:1039,1
    - Dst: CheckInTable
      Src: /src/gpac/applications/generators/X3D/main.c:1023,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1044,1
    - Dst: GetNextToken
      Src: /src/gpac/applications/generators/X3D/main.c:1045,1
    - Dst: skip_sep
      Src: /src/gpac/applications/generators/X3D/main.c:1050,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1073,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1076,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1123,1
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:1085,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:1129,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:1090,1
    - Dst: gf_list_del_item
      Src: /src/gpac/applications/generators/X3D/main.c:1112,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 154
    argCount: 3
    argNames:
    - nodes
    - BNodes
    - NDTs
    argTypes:
    - FILE*
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1133
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1133
    functionName: ParseTemplateFile
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - fgets
    - strstr
    - BlankNode
    - gf_list_count
    - strcmp
    - skip_sep
    - BlankField
    - strcpy
    - stricmp
    - gf_list_del_item
    - GetNextToken
    - feof
    - gf_list_get
    - gf_free
    - printf
    - CheckInTable
    linkageType: ''
    returnType: void
    signature: 'void ParseTemplateFile(FILE *nodes, GF_List *BNodes, GF_List *NDTs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/applications/generators/X3D/main.c:94,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/X3D/main.c:113,1
    - Dst: strchr
      Src: /src/gpac/applications/generators/X3D/main.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - token
    - sep
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: GetNextToken
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strchr
    - strcpy
    linkageType: ''
    returnType: u32
    signature: 'u32 GetNextToken(char *token, char *sep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/applications/generators/X3D/main.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: skip_sep
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: 'void skip_sep(char *sep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/applications/generators/X3D/main.c:176,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/X3D/main.c:181,1
    - Dst: sprintf
      Src: /src/gpac/applications/generators/X3D/main.c:178,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:182,1
    - Dst: time
      Src: /src/gpac/applications/generators/X3D/main.c:186,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:187,1
    - Dst: asctime
      Src: /src/gpac/applications/generators/X3D/main.c:187,1
    - Dst: gmtime
      Src: /src/gpac/applications/generators/X3D/main.c:187,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:191,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:192,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: BeginFile
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - asctime
    - fprintf
    - sprintf
    - time
    - gf_fopen
    - gmtime
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *BeginFile(u32 type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1140,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1146,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1142,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1141,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1144,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - X3DNode*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1150
    functionName: WriteNodeDump
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - fprintf
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void WriteNodeDump(FILE *f, X3DNode *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:201,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/X3D/main.c:204,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - f
    - type
    argTypes:
    - FILE*
    - u32
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: EndFile
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void EndFile(FILE *f, u32 type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/gpac/applications/generators/X3D/main.c:1160,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:1169,1
    - Dst: strstr
      Src: /src/gpac/applications/generators/X3D/main.c:1165,1
    - Dst: fgets
      Src: /src/gpac/applications/generators/X3D/main.c:1161,1
    - Dst: strlen
      Src: /src/gpac/applications/generators/X3D/main.c:1173,1
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:1182,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1185,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1186,1
    - Dst: stricmp
      Src: /src/gpac/applications/generators/X3D/main.c:1187,1
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:1193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - nodes
    - prof
    argTypes:
    - GF_List*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1196
    functionName: parse_profile
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - feof
    - gf_list_count
    - fgets
    - stricmp
    - strstr
    - printf
    linkageType: ''
    returnType: void
    signature: 'void parse_profile(GF_List *nodes, FILE *prof) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/applications/generators/X3D/main.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: PrintUsage
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void PrintUsage() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:914,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:915,1
    - Dst: strcmp
      Src: /src/gpac/applications/generators/X3D/main.c:916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - node
    - NDTName
    argTypes:
    - X3DNode*
    - char*
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: IsNodeInTable
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 IsNodeInTable(X3DNode *node, char *NDTName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:924,1
    - Dst: IsNodeInTable
      Src: /src/gpac/applications/generators/X3D/main.c:926,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - NDTName
    - XNodes
    argTypes:
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 930
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 930
    functionName: GetNDTCount
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - IsNodeInTable
    linkageType: ''
    returnType: u32
    signature: 'static u32 GetNDTCount(char *NDTName, GF_List *XNodes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/X3D/main.c:1219,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/X3D/main.c:1223,1
    - Dst: WriteNDT
      Src: /src/gpac/applications/generators/X3D/main.c:1235,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1236,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1241,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/X3D/main.c:1244,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/X3D/main.c:1246,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/X3D/main.c:1258,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/X3D/main.c:1260,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1261,1
    - Dst: parse_profile
      Src: /src/gpac/applications/generators/X3D/main.c:1222,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1252,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1263,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1267,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1256,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1271,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/X3D/main.c:1264,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/X3D/main.c:1212,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1207,1
    - Dst: gf_list_new
      Src: /src/gpac/applications/generators/X3D/main.c:1211,1
    - Dst: gf_fclose
      Src: /src/gpac/applications/generators/X3D/main.c:1215,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1243,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1248,1
    - Dst: gf_list_rem
      Src: /src/gpac/applications/generators/X3D/main.c:1254,1
    - Dst: gf_free
      Src: /src/gpac/applications/generators/X3D/main.c:1257,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/X3D/main.c:1269,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1262,1
    - Dst: gf_fopen
      Src: /src/gpac/applications/generators/X3D/main.c:1205,1
    - Dst: ParseTemplateFile
      Src: /src/gpac/applications/generators/X3D/main.c:1214,1
    - Dst: fprintf
      Src: /src/gpac/applications/generators/X3D/main.c:1220,1
    - Dst: BeginFile
      Src: /src/gpac/applications/generators/X3D/main.c:1230,1
    - Dst: WriteNodeCode
      Src: /src/gpac/applications/generators/X3D/main.c:1233,1
    - Dst: WriteNodesFile
      Src: /src/gpac/applications/generators/X3D/main.c:1228,1
    - Dst: gf_list_get
      Src: /src/gpac/applications/generators/X3D/main.c:1242,1
    - Dst: EndFile
      Src: /src/gpac/applications/generators/X3D/main.c:1238,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1251,1
    - Dst: gf_list_count
      Src: /src/gpac/applications/generators/X3D/main.c:1255,1
    - Dst: gf_list_del
      Src: /src/gpac/applications/generators/X3D/main.c:1266,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1273
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1273
    functionName: main
    functionSourceFile: /src/gpac/applications/generators/X3D/main.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - parse_profile
    - gf_list_del
    - fprintf
    - gf_list_count
    - WriteNodeCode
    - ParseTemplateFile
    - gf_list_rem
    - BeginFile
    - WriteNDT
    - WriteNodesFile
    - gf_fclose
    - gf_list_new
    - EndFile
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/unittests/tests.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - name
    - (*test_function)
    argTypes:
    - char*
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: register_test
    functionSourceFile: /src/gpac/unittests/tests.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int register_test(const char *name, void (*test_function)(void)) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/unittests/tests.c:43,1
    - Dst: atoi
      Src: /src/gpac/unittests/tests.c:54,1
    - Dst: gf_sys_close
      Src: /src/gpac/unittests/tests.c:97,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/unittests/tests.c:101,1
    - Dst: gf_memory_print
      Src: /src/gpac/unittests/tests.c:102,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:82,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:91,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:86,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:77,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:69,1
    - Dst: gf_memory_size
      Src: /src/gpac/unittests/tests.c:100,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/unittests/tests.c:100,1
    - Dst: gf_sys_init
      Src: /src/gpac/unittests/tests.c:38,1
    - Dst: strcmp
      Src: /src/gpac/unittests/tests.c:49,1
    - Dst: fprintf
      Src: /src/gpac/unittests/tests.c:56,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:92,1
    - Dst: fflush
      Src: /src/gpac/unittests/tests.c:66,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:94,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:46,1
    - Dst: strcmp
      Src: /src/gpac/unittests/tests.c:43,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:44,1
    - Dst: fprintf
      Src: /src/gpac/unittests/tests.c:51,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:59,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:65,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:93,1
    - Dst: printf
      Src: /src/gpac/unittests/tests.c:95,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 107
    functionName: run_tests
    functionSourceFile: /src/gpac/unittests/tests.c
    functionUses: []
    functionsReached:
    - gf_memory_size
    - gf_file_handles_count
    - fprintf
    - strcmp
    - gf_memory_print
    - gf_sys_close
    - gf_sys_init
    - atoi
    - gf_log_set_tool_level
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: 'int run_tests(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:330,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:330,1
    - Dst: gf_sys_profiler_sampling_enabled
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: gpac_rmt_on
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_sys_profiler_sampling_enabled
    - napi_get_boolean
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_rmt_on(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1296
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1296
    functionName: filterpid_check_caps
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_check_caps(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1973
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1973
    functionName: filter_remove
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_remove(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PROP_FIELD_S64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2195,1
    - Dst: GET_PROP_FIELD_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - env
    - prop
    - frac
    argTypes:
    - napi_env
    - napi_value
    - GF_Fraction64*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2198
    functionName: frac64_from_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - GET_PROP_FIELD_U64
    - GET_PROP_FIELD_S64
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status frac64_from_napi(napi_env env, napi_value prop, GF_Fraction64
      *frac) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2813,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2809,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2815,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2810,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2818,1
    - Dst: filter_get_pid_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2821,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - env
    - info
    - is_opid
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 2822
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2822
    functionName: filter_iopid_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - filter_get_pid_property
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_iopid_prop(napi_env env, napi_callback_info info,
      Bool is_opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3381
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3381
    functionName: filter_make_sticky
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_make_sticky(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3476,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3476,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3484,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3484,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3484,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3488,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3488,1
    - Dst: gf_fs_get_http_rate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3488,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3492,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3492,1
    - Dst: gf_fs_get_http_max_rate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3496
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3496
    functionName: fs_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_boolean
    - gf_fs_get_http_max_rate
    - napi_get_cb_info
    - gf_fs_is_last_task
    - gf_fs_get_filters_count
    - napi_create_uint32
    - gf_fs_get_http_rate
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_getter(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_define_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4782,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - env
    - exports
    - inst
    argTypes:
    - napi_env
    - napi_value
    - GPAC_NAPI*
    constantsTouched: []
    func_position:
      end: 4785
      start: 4778
    functionDepth: 0
    functionLinenumber: 4778
    functionLinenumberEnd: 4785
    functionName: init_fevt_class
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_set_named_property
    - napi_define_class
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status init_fevt_class(napi_env env, napi_value exports, GPAC_NAPI
      *inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:336,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:337,1
    - Dst: gf_sys_profiler_enable_sampling
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: gpac_rmt_enable
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - NARG_ARGS
    - gf_sys_profiler_enable_sampling
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_rmt_enable(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1303
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1303
    functionName: filterpid_discard_block
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_discard_block(napi_env env, napi_callback_info
      info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_STR_ALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1979,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1982,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1978,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1983,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1980,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1985
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1985
    functionName: filter_update
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_fs_send_update
    - NARG_STR_ALLOC
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_update(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_iopid_prop
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2826
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2826
    functionName: filter_ipid_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_iopid_prop
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_ipid_prop(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3385,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3391
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3391
    functionName: filter_prevent_blocking
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_prevent_blocking
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_prevent_blocking(napi_env env, napi_callback_info
      info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS_MAGIC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3500,1
    - Dst: gf_fs_set_http_max_rate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3505,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3509
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3509
    functionName: fs_setter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_ARGS_THIS_MAGIC
    - gf_fs_set_http_max_rate
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_setter(napi_env env, napi_callback_info info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3517,1
    - Dst: gf_fs_post_user_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3524,1
    - Dst: gf_fs_run
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3530,1
    - Dst: gf_fs_run
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3526,1
    - Dst: gpac_rmt_callback_exec
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3534,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3538,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3540,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3543,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3543,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3546,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3555,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3550,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3556,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3553,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3561
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3561
    functionName: fs_run
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gpac_rmt_callback_exec
    - gf_list_pop_front
    - gf_error_to_string
    - gf_list_count
    - gf_fs_post_user_task
    - gf_fs_get_last_process_error
    - napi_throw_error
    - napi_make_callback
    - napi_get_named_property
    - gf_fs_get_last_connect_error
    - fs_wrap_filter
    - gf_fs_get_rt_udta
    - napi_has_named_property
    - gf_fs_run
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_run(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2142,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2147,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2140,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2146,1
    - Dst: dashin_bind
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2148,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2150,1
    - Dst: httpout_bind
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2151,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2153,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2155
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2155
    functionName: filter_bind
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - httpout_bind
    - gf_filter_get_name
    - strcmp
    - napi_throw_error
    - dashin_bind
    - napi_typeof
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_bind(napi_env env, napi_callback_info info) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4524,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4547,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4559,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4577,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4599,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4609,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4567,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4589,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4629,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4646,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4732,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4553,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4618,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4658,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4684,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4693,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4706,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4714,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4726,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4738,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4743,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4742,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4675,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4515,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4524,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4547,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4559,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4589,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4577,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4599,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4567,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4609,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4629,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4732,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4515,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4553,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4618,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4646,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4658,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4684,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4693,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4706,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4714,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4726,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4742,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4738,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4743,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4675,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 3
    argNames:
    - env
    - evt
    - for_val
    argTypes:
    - napi_env
    - GF_FilterEvent*
    - napi_value*
    constantsTouched: []
    func_position:
      end: 4746
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4746
    functionName: wrap_filterevent
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_type_tag_object
    - napi_wrap
    - napi_define_properties
    - napi_create_object
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value wrap_filterevent(napi_env env, GF_FilterEvent *evt, napi_value
      *for_val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5321,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5327,1
    - Dst: SSET_DOUBLE
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5348,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5332,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5352,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5356,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5358,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5307,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5317,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5309,1
    - Dst: SSET_DOUBLE
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5349,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5334,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5353,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5357,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5361,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5305,1
    - Dst: napi_get_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5326,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5346,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5350,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5328,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5354,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5316,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5318,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5322,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5351,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5347,1
    - Dst: SSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - udta
    - group_idx
    - base_group_idx
    - force_low_complex
    - _stats
    argTypes:
    - void*
    - u32
    - u32
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 5363
      start: 5297
    functionDepth: 0
    functionLinenumber: 5297
    functionLinenumberEnd: 5363
    functionName: dashbind_rate_adaptation
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_get_boolean
    - napi_get_value_uint32
    - napi_get_value_int32
    - napi_get_element
    - napi_get_null
    - napi_get_reference_value
    - napi_create_object
    - napi_get_named_property
    - SSET_U32
    - napi_has_named_property
    - SSET_DOUBLE
    linkageType: ''
    returnType: s32
    signature: 's32 dashbind_rate_adaptation(void *udta, u32 group_idx, u32 base_group_idx,
      Bool force_low_complex, void *_stats) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2162,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2164,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2163,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2162,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2163,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2164,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2165,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2165,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2166,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - env
    - frac
    argTypes:
    - napi_env
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 2168
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2168
    functionName: frac_to_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_set_named_property
    - napi_create_uint32
    - napi_create_int32
    - napi_create_object
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value frac_to_napi(napi_env env, const GF_Fraction *frac) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3691,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3700,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3696,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3703,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3693,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3706,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3715,1
    - Dst: gf_fs_in_final_flush
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3718,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3723,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3724,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3725,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - fsess
    - callback
    - reschedule_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 3728
      start: 3683
    functionDepth: 0
    functionLinenumber: 3683
    functionLinenumberEnd: 3728
    functionName: fs_task_exec
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - napi_get_value_bool
    - napi_get_value_uint32
    - gf_fs_in_final_flush
    - napi_throw_error
    - napi_get_reference_value
    - napi_make_callback
    - napi_typeof
    - napi_get_named_property
    - napi_reference_unref
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool fs_task_exec(GF_FilterSession *fsess, void *callback, u32 *reschedule_ms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4750,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4758,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4764,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4751,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4762,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4767,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4767,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4770,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4770,1
    - Dst: wrap_filterevent
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 4775
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4775
    functionName: new_fevt
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_value_uint32
    - wrap_filterevent
    - napi_throw_error
    - GF_SAFEALLOC
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value new_fevt(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_define_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6427,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - env
    - exports
    - inst
    argTypes:
    - napi_env
    - napi_value
    - GPAC_NAPI*
    constantsTouched: []
    func_position:
      end: 6430
      start: 6423
    functionDepth: 0
    functionLinenumber: 6423
    functionLinenumberEnd: 6430
    functionName: init_fio_class
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_set_named_property
    - napi_define_class
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status init_fio_class(napi_env env, napi_value exports, GPAC_NAPI
      *inst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:910,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:919,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:921,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:915,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:919,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:924,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:924,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 929
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 929
    functionName: filterpck_copy_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_check_object_type_tag
    - gf_filter_pck_merge_properties
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_copy_props(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1403,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1405,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1408
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1408
    functionName: filterpid_set_discard
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - gf_filter_pid_set_discard
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_discard(napi_env env, napi_callback_info
      info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1931,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1933,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - FILTER_PROP_NAME
    argTypes:
    - magic
    constantsTouched: []
    func_position:
      end: 1935
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1935
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_get_name
    - napi_create_string_utf8
    linkageType: ''
    returnType: FILTER
    signature: 'FILTER if (magic == &FILTER_PROP_NAME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3344,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3352,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3354
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3354
    functionName: filter_reschedule
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_post_process_task
    - gf_filter_ask_rt_reschedule
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_reschedule(napi_env env, napi_callback_info info) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5754,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5762,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5774,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5786,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5785,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5789,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5749,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5755,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5761,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5765,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5773,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5778,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5770,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5788,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5800,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5757,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5756,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5766,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5769,1
    - Dst: napi_create_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5777,1
    - Dst: napi_create_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5782,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5790,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5792,1
    - Dst: napi_create_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5795,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5787,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5796,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5799,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5802,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 7
    argNames:
    - udta
    - session
    - method
    - url
    - auth_code
    - nb_hdrs
    - hdrs
    argTypes:
    - void*
    - void*
    - char*
    - char*
    - u32
    - u32
    - char**
    constantsTouched: []
    func_position:
      end: 5804
      start: 5739
    functionDepth: 0
    functionLinenumber: 5739
    functionLinenumberEnd: 5804
    functionName: httpout_on_request
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_type_tag_object
    - napi_call_function
    - napi_create_reference
    - napi_create_function
    - napi_set_named_property
    - napi_create_string_utf8
    - napi_create_array
    - napi_wrap
    - napi_set_element
    - napi_get_reference_value
    - napi_create_uint32
    - napi_create_object
    - GF_SAFEALLOC
    - napi_get_named_property
    linkageType: ''
    returnType: s32
    signature: 's32 httpout_on_request(void *udta, void *session, const char *method,
      const char *url, u32 auth_code, u32 nb_hdrs, const char **hdrs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6095,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6107,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6104,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6100,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6099,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 6116
      start: 6090
    functionDepth: 0
    functionLinenumber: 6090
    functionLinenumberEnd: 6116
    functionName: gfio_eof
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_value_bool
    - gf_fileio_get_udta
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gfio_eof(GF_FileIO *fileio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:467,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:471,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:469,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:471,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - FS_PROP_PCK_DTS
    argTypes:
    - magic
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_int64
    - napi_get_null
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: FILTERPCK
    signature: 'FILTERPCK if (magic == &FS_PROP_PCK_DTS) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:948,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:941,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:954,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:945,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:958,1
    - Dst: prop_from_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:959,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:961,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:967,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:969,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:972,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:975,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:972,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:938,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 978
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 978
    functionName: filterpck_set_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_props_reset_single
    - gf_filter_pck_set_property
    - prop_from_napi
    - gf_props_get_id
    - gf_error_to_string
    - napi_throw_error
    - gf_filter_pck_set_property_dyn
    - napi_typeof
    - NARG_STR
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_set_prop(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_require_source_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1414,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1416,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1419
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1419
    functionName: filterpid_require_source_id
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_filter_pid_require_source_id
    - napi_throw_error
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_require_source_id(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3358,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3365,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3367,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3369,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3371
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3371
    functionName: filter_notify_failure
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_setup_failure
    - gf_filter_notification_failure
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_notify_failure(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4346,1
    - Dst: EVT_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4397,1
    - Dst: EVT_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4396,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4346,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4397,1
    - Dst: EVT_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4399,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4399,1
    - Dst: EVT_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4407,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4407,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4411,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4416,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4416,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 4431
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4431
    functionName: fevt_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - EVT_U32
    - gf_dom_event_get_name
    - gf_filter_pid_get_udta
    - napi_get_null
    - EVT_STR
    - napi_get_cb_info
    - napi_get_reference_value
    - gf_filter_event_name
    - gf_dom_get_key_name
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fevt_getter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5505
      start: 5503
    functionDepth: 0
    functionLinenumber: 5503
    functionLinenumberEnd: 5505
    functionName: httpoutbind_finalize
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void httpoutbind_finalize(napi_env env, void* finalize_data, void*
      finalize_hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5518
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5518
    functionName: napi_http_del
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void napi_http_del(napi_env env, void *finalize_data, void* finalize_hint) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6016,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6022,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6020,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6030,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6024,1
    - Dst: napi_create_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6035,1
    - Dst: memcpy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6037,1
    - Dst: napi_create_typedarray
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6042,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6046,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6049,1
    - Dst: napi_detach_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6054,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 6060
      start: 6010
    functionDepth: 0
    functionLinenumber: 6010
    functionLinenumberEnd: 6060
    functionName: gfio_write
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_create_typedarray
    - napi_get_value_uint32
    - napi_create_arraybuffer
    - gf_fileio_get_udta
    - napi_detach_arraybuffer
    - napi_get_reference_value
    - napi_make_callback
    - memcpy
    - napi_get_named_property
    - napi_create_external_arraybuffer
    linkageType: ''
    returnType: u32
    signature: 'static u32 gfio_write(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5968,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5982,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5976,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5972,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5974,1
    - Dst: napi_create_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5985,1
    - Dst: napi_create_typedarray
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5988,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5992,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5995,1
    - Dst: memcpy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5998,1
    - Dst: napi_detach_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6003,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 6008
      start: 5961
    functionDepth: 0
    functionLinenumber: 5961
    functionLinenumberEnd: 6008
    functionName: gfio_read
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_create_typedarray
    - napi_get_value_uint32
    - napi_create_arraybuffer
    - gf_fileio_get_udta
    - napi_detach_arraybuffer
    - napi_get_reference_value
    - napi_make_callback
    - memcpy
    - napi_get_named_property
    - napi_create_external_arraybuffer
    linkageType: ''
    returnType: u32
    signature: 'static u32 gfio_read(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6149,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6159,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6169,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6177,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6173,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6194,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6197,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6230,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6234,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6269,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6273,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6311,1
    - Dst: gf_fileio_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6224,1
    - Dst: gf_fileio_tag_main_thread
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6294,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6223,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6304,1
    - Dst: gf_list_find
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6244,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6124,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6136,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6168,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6216,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6225,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6229,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6231,1
    - Dst: gf_list_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6233,1
    - Dst: gf_list_rem
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6258,1
    - Dst: strncmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6268,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6299,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6255,1
    - Dst: gf_fileio_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6337,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6252,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6139,1
    - Dst: gf_fileio_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6145,1
    - Dst: gf_fileio_tag_main_thread
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6153,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6180,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6200,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6217,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6218,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6219,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6226,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6227,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6279,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6323,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6326,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6289,1
    - Dst: gf_list_get
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6254,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6232,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6138,1
    - Dst: gf_th_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6131,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6138,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6146,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6165,1
    - Dst: gf_list_add
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6154,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6187,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6198,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6199,1
    - Dst: gf_fileio_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6215,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6256,1
    - Dst: gf_list_del_item
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6246,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6282,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6307,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6273,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6303,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6318,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6290,1
    - Dst: gf_fileio_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6286,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6298,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 169
    argCount: 4
    argNames:
    - fileio_ref
    - url
    - mode
    - out_error
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 6342
      start: 6118
    functionDepth: 0
    functionLinenumber: 6118
    functionLinenumberEnd: 6342
    functionName: gfio_open
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fileio_translate_url
    - strncmp
    - gf_fileio_get_udta
    - GF_SAFEALLOC
    - napi_get_value_bool
    - napi_create_reference
    - gf_list_find
    - napi_create_string_utf8
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_fileio_tag_main_thread
    - napi_make_callback
    - gf_fileio_del
    - gf_th_id
    - gf_list_del_item
    - napi_delete_reference
    - gf_list_get
    - napi_wrap
    - gf_fileio_new
    - napi_get_reference_value
    - napi_create_object
    - gf_free
    - napi_reference_unref
    - gf_url_concatenate
    - gf_fileio_resource_url
    - gf_list_rem
    - napi_get_named_property
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *gfio_open(GF_FileIO *fileio_ref, const char *url,
      const char *mode, GF_Err *out_error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:229,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:236,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:238,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:234,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:231,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:240,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - env
    - gpac
    argTypes:
    - napi_env
    - GPAC_NAPI*
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: gpac_rmt_callback_exec
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_global
    - napi_create_string_utf8
    - gf_list_pop_front
    - gf_list_count
    - napi_get_reference_value
    - napi_make_callback
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gpac_rmt_callback_exec(napi_env env, GPAC_NAPI *gpac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:351,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:360,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:355,1
    - Dst: napi_is_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:355,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:357,1
    - Dst: napi_get_array_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:360,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:365,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:367,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:369,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:373,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:376,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:374,1
    - Dst: napi_get_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:373,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:376,1
    - Dst: gf_sys_set_args
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:379,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:375,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: gpac_set_args
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_malloc
    - NARG_ARGS
    - napi_is_array
    - napi_throw_error
    - gf_sys_set_args
    - gf_free
    - napi_get_array_length
    - napi_get_element
    - napi_get_value_string_utf8
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_set_args(napi_env env, napi_callback_info info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3128,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3138,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3132,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3134,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3136,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3145,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3146,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3147,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3148,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3151,1
    - Dst: wrap_filter_pid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3159,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3154,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3167,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3165,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3152,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3164,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 3171
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3171
    functionName: napi_filter_cbk_configure
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - gf_filter_get_rt_udta
    - napi_get_boolean
    - gf_filter_pid_set_udta
    - napi_get_value_int32
    - gf_filter_pid_get_udta
    - wrap_filter_pid
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    - napi_reference_unref
    - napi_has_named_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err napi_filter_cbk_configure(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3864,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3862,1
    - Dst: gf_fs_is_supported_mime
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3864,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3864,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3866
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3866
    functionName: fs_is_supported_mime
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_fs_is_supported_mime
    - napi_get_boolean
    - NARG_STR
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_is_supported_mime(napi_env env, napi_callback_info info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3893,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3897,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3902,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3931,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3940,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3890,1
    - Dst: gf_fs_new_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3895,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3897,1
    - Dst: gf_filter_set_configure_ckb
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3934,1
    - Dst: gf_filter_set_process_event_ckb
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3936,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3945,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3940,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3944,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3892,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3931,1
    - Dst: napi_async_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3945,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3901,1
    - Dst: gf_filter_set_process_ckb
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3935,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3944,1
    - Dst: gf_filter_set_reconfigure_output_ckb
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3947
      start: 3885
    functionDepth: 0
    functionLinenumber: 3885
    functionLinenumberEnd: 3947
    functionName: fs_new_filter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_set_process_event_ckb
    - gf_filter_get_rt_udta
    - gf_filter_set_reconfigure_output_ckb
    - napi_create_string_utf8
    - gf_error_to_string
    - gf_fs_new_filter
    - gf_filter_set_configure_ckb
    - napi_throw_error
    - gf_filter_set_process_ckb
    - napi_async_init
    - NARG_STR
    - NARG_ARGS_THIS
    - napi_define_properties
    - fs_wrap_filter
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_new_filter(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5827,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5823,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5818,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5821,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5829,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5833,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5838,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5839,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5839,1
    - Dst: gf_filter_bind_httpout_callbacks
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5841,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5844,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5845,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5815,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5850,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5854,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5850,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 5856
      start: 5810
    functionDepth: 0
    functionLinenumber: 5810
    functionLinenumberEnd: 5856
    functionName: httpout_bind
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_type_tag_object
    - NAPI_CALL
    - napi_create_reference
    - gf_filter_get_rt_udta
    - napi_delete_reference
    - gf_filter_force_main_thread
    - gf_error_to_string
    - napi_wrap
    - napi_throw_error
    - gf_filter_bind_httpout_callbacks
    - GF_SAFEALLOC
    - NARG_ARGS_THIS
    - napi_reference_unref
    - napi_has_named_property
    - gf_free
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value httpout_bind(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:251,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:255,1
    - Dst: gpac_rmt_callback_exec
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - fsess
    - callback
    - reschedule_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: fs_flush_rmt
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_instance_data
    - gf_list_count
    - gpac_rmt_callback_exec
    linkageType: ''
    returnType: Bool
    signature: 'Bool fs_flush_rmt(GF_FilterSession *fsess, void *callback, u32 *reschedule_ms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:391,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:396,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:393,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:399,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:397,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:400,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:401,1
    - Dst: gf_list_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:403,1
    - Dst: gf_sys_close
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:406,1
    - Dst: gf_memory_size
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:409,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:409,1
    - Dst: free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:416,1
    - Dst: gf_memory_print
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:411,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: gpac_napi_finalize
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - gf_memory_size
    - gf_list_del
    - gf_file_handles_count
    - gf_list_count
    - gf_log_set_tools_levels
    - gf_memory_print
    - gf_sys_close
    - free
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void gpac_napi_finalize(napi_env env, void* finalize_data,
      void* finalize_hint) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3178,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3184,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3187,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3182,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3189,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3195,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3196,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 3200
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3200
    functionName: napi_filter_cbk_reconfigure_output
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_rt_udta
    - napi_get_value_int32
    - gf_filter_pid_get_udta
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    - napi_has_named_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err napi_filter_cbk_reconfigure_output(GF_Filter *filter,
      GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3872,1
    - Dst: gf_fs_is_supported_source
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3877,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3875,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3878,1
    - Dst: NARG_STR_ALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3876,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3880,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3882
      start: 3868
    functionDepth: 0
    functionLinenumber: 3868
    functionLinenumberEnd: 3882
    functionName: fs_is_supported_source
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_boolean
    - NARG_STR_ALLOC
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - gf_fs_is_supported_source
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_is_supported_source(napi_env env, napi_callback_info
      info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3954,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3958,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3959,1
    - Dst: napi_async_destroy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3960,1
    - Dst: gf_fs_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3965,1
    - Dst: gf_list_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3968,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3969,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3971
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 3971
    functionName: del_fs
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - napi_async_destroy
    - gf_list_del
    - gf_fs_del
    - gf_fs_get_rt_udta
    - gf_free
    - napi_reference_unref
    linkageType: ''
    returnType: void
    signature: 'void del_fs(napi_env env, void* finalize_data, void* finalize_hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4885,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4890,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4894,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4898,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4902,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4910,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4906,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4943,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4886,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4891,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4895,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4899,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4903,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4907,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4916,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4911,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5009,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4971,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5073,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4986,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4966,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5113,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5116,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5117,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4967,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5010,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5004,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5020,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4984,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5075,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5079,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5083,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5087,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5074,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5091,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4987,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4962,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4985,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5025,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5076,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5080,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5068,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5084,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5088,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5092,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5097,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4939,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4978,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4980,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5000,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5006,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5112,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4979,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4981,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5026,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5069,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5021,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5064,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5029,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4914,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5034,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5039,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5044,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5049,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5053,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5003,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5030,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5035,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5040,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5045,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5050,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5054,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5058,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4996,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5062,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5067,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5022,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4976,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5017,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4977,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5057,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4997,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4992,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4957,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4952,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4968,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4938,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4917,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4921,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4926,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4930,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4958,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4944,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4948,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4918,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4922,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4927,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4931,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4935,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4953,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4969,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5015,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5018,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5096,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5101,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4993,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4991,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5016,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4945,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4888,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4892,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4896,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4900,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4904,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4912,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4908,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5011,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4889,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4893,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4897,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4901,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4905,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4913,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4909,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4972,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4974,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5070,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5012,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4973,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4975,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5007,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4990,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4988,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5077,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5081,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5085,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5089,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5093,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5099,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4989,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5078,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5082,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5086,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5090,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5071,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5095,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5100,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5066,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5008,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4964,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4934,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4965,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4998,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4959,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5023,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5027,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5032,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5036,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5041,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5046,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5051,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5055,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5059,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5028,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5033,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5037,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5043,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5047,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5052,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5056,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4999,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5060,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5065,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4994,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5024,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5019,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5061,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4995,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4955,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4940,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4919,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4923,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4928,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4932,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4949,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4936,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4960,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4946,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4956,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4920,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4925,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4929,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4933,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4941,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4937,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4951,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4947,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5013,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4982,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4983,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4970,1
    - Dst: DEF_CONST
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 205
    argCount: 1
    argNames:
    - GF_OK
    argTypes:
    - GF_OK
    constantsTouched: []
    func_position:
      end: 5121
      start: 4883
    functionDepth: 0
    functionLinenumber: 4883
    functionLinenumberEnd: 5121
    functionName: DEF_CONST
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - DEF_CONST
    - napi_reference_unref
    - napi_delete_reference
    linkageType: ''
    returnType: DEF_CONST(GF_LOG_ERROR)
    signature: "DEF_CONST(GF_LOG_ERROR) DEF_CONST(GF_LOG_WARNING)\tDEF_CONST(GF_LOG_INFO)\tDEF_CONST(GF_LOG_DEBUG)\tDEF_CONST(GF_PROP_FORBIDDEN)\tDEF_CONST(GF_PROP_BOOL)\tDEF_CONST(GF_PROP_UINT)\tDEF_CONST(GF_PROP_SINT)\tDEF_CONST(GF_PROP_LUINT)\tDEF_CONST(GF_PROP_LSINT)\tDEF_CONST(GF_PROP_FRACTION)\tDEF_CONST(GF_PROP_FRACTION64)\tDEF_CONST(GF_PROP_FLOAT)\tDEF_CONST(GF_PROP_DOUBLE)\tDEF_CONST(GF_PROP_VEC2I)\tDEF_CONST(GF_PROP_VEC2)\tDEF_CONST(GF_PROP_VEC3I)\tDEF_CONST(GF_PROP_VEC4I)\tDEF_CONST(GF_PROP_STRING)\tDEF_CONST(GF_PROP_STRING_NO_COPY)\tDEF_CONST(GF_PROP_DATA)\tDEF_CONST(GF_PROP_NAME)\tDEF_CONST(GF_PROP_DATA_NO_COPY)\tDEF_CONST(GF_PROP_CONST_DATA)\tDEF_CONST(GF_PROP_POINTER)\tDEF_CONST(GF_PROP_STRING_LIST)\tDEF_CONST(GF_PROP_UINT_LIST)\tDEF_CONST(GF_PROP_SINT_LIST)\tDEF_CONST(GF_PROP_VEC2I_LIST)\tDEF_CONST(GF_PROP_4CC)\tDEF_CONST(GF_PROP_4CC_LIST)\tDEF_CONST(GF_PROP_FIRST_ENUM)\tDEF_CONST(GF_PROP_PIXFMT)\tDEF_CONST(GF_PROP_PCMFMT)\tDEF_CONST(GF_PROP_CICP_COL_PRIM)\tDEF_CONST(GF_PROP_CICP_COL_TFC)\tDEF_CONST(GF_PROP_CICP_COL_MX)\tDEF_CONST(GF_PROP_CICP_LAYOUT)\tDEF_CONST(GF_PROP_FIRST_ENUM)\tDEF_CONST(GF_FEVT_PLAY)\tDEF_CONST(GF_FEVT_SET_SPEED)\tDEF_CONST(GF_FEVT_STOP)\tDEF_CONST(GF_FEVT_PAUSE)\tDEF_CONST(GF_FEVT_RESUME)\tDEF_CONST(GF_FEVT_SOURCE_SEEK)\tDEF_CONST(GF_FEVT_SOURCE_SWITCH)\tDEF_CONST(GF_FEVT_SEGMENT_SIZE)\tDEF_CONST(GF_FEVT_QUALITY_SWITCH)\tDEF_CONST(GF_FEVT_VISIBILITY_HINT)\tDEF_CONST(GF_FEVT_INFO_UPDATE)\tDEF_CONST(GF_FEVT_BUFFER_REQ)\tDEF_CONST(GF_FEVT_CAPS_CHANGE)\tDEF_CONST(GF_FEVT_CONNECT_FAIL)\tDEF_CONST(GF_FEVT_USER)\tDEF_CONST(GF_FEVT_PLAY_HINT)\tDEF_CONST(GF_FEVT_FILE_DELETE)\tDEF_CONST(GF_STATS_LOCAL)\tDEF_CONST(GF_STATS_LOCAL_INPUTS)\tDEF_CONST(GF_STATS_DECODER_SINK)\tDEF_CONST(GF_STATS_DECODER_SOURCE)\tDEF_CONST(GF_STATS_ENCODER_SINK)\tDEF_CONST(GF_STATS_ENCODER_SOURCE)\tDEF_CONST(GF_STATS_SINK)\tDEF_CONST(GF_FILTER_CLOCK_NONE)\tDEF_CONST(GF_FILTER_CLOCK_PCR)\tDEF_CONST(GF_FILTER_CLOCK_PCR_DISC)\tDEF_CONST(GF_FILTER_SAP_NONE)\tDEF_CONST(GF_FILTER_SAP_1)\tDEF_CONST(GF_FILTER_SAP_2)\tDEF_CONST(GF_FILTER_SAP_3)\tDEF_CONST(GF_FILTER_SAP_4)\tDEF_CONST(GF_FILTER_SAP_4_PROL)\tDEF_CONST(GF_EOS);
      DEF_CONST(GF_OK)\tDEF_CONST(GF_BAD_PARAM)\tDEF_CONST(GF_OUT_OF_MEM)\tDEF_CONST(GF_IO_ERR)\tDEF_CONST(GF_NOT_SUPPORTED)\tDEF_CONST(GF_CORRUPTED_DATA)\tDEF_CONST(GF_SG_UNKNOWN_NODE)\tDEF_CONST(GF_SG_INVALID_PROTO)\tDEF_CONST(GF_SCRIPT_ERROR)\tDEF_CONST(GF_BUFFER_TOO_SMALL)\tDEF_CONST(GF_NON_COMPLIANT_BITSTREAM)\tDEF_CONST(GF_FILTER_NOT_FOUND)\tDEF_CONST(GF_URL_ERROR)\tDEF_CONST(GF_SERVICE_ERROR)\tDEF_CONST(GF_REMOTE_SERVICE_ERROR)\tDEF_CONST(GF_STREAM_NOT_FOUND)\tDEF_CONST(GF_ISOM_INVALID_FILE)\tDEF_CONST(GF_ISOM_INCOMPLETE_FILE)\tDEF_CONST(GF_ISOM_INVALID_MEDIA)\tDEF_CONST(GF_ISOM_INVALID_MODE)\tDEF_CONST(GF_ISOM_UNKNOWN_DATA_REF)\tDEF_CONST(GF_ODF_INVALID_DESCRIPTOR)\tDEF_CONST(GF_ODF_FORBIDDEN_DESCRIPTOR)\tDEF_CONST(GF_ODF_INVALID_COMMAND)\tDEF_CONST(GF_BIFS_UNKNOWN_VERSION)\tDEF_CONST(GF_IP_ADDRESS_NOT_FOUND)\tDEF_CONST(GF_IP_CONNECTION_FAILURE)\tDEF_CONST(GF_IP_NETWORK_FAILURE)\tDEF_CONST(GF_IP_CONNECTION_CLOSED)\tDEF_CONST(GF_IP_NETWORK_EMPTY)\tDEF_CONST(GF_IP_UDP_TIMEOUT)\tDEF_CONST(GF_AUTHENTICATION_FAILURE)\tDEF_CONST(GF_NOT_READY)\tDEF_CONST(GF_INVALID_CONFIGURATION)\tDEF_CONST(GF_NOT_FOUND)\tDEF_CONST(GF_PROFILE_NOT_SUPPORTED)\tDEF_CONST(GF_REQUIRES_NEW_INSTANCE)\tDEF_CONST(GF_FILTER_NOT_SUPPORTED)\tDEF_CONST(GF_FILTER_UPDATE_DOWNSTREAM)\tDEF_CONST(GF_FILTER_UPDATE_UPSTREAM)\tDEF_CONST(GF_EVENT_CLICK)\tDEF_CONST(GF_EVENT_MOUSEUP)\tDEF_CONST(GF_EVENT_MOUSEDOWN)\tDEF_CONST(GF_EVENT_MOUSEMOVE)\tDEF_CONST(GF_EVENT_MOUSEWHEEL)\tDEF_CONST(GF_EVENT_DBLCLICK)\tDEF_CONST(GF_EVENT_MULTITOUCH)\tDEF_CONST(GF_EVENT_KEYUP)\tDEF_CONST(GF_EVENT_KEYDOWN)\tDEF_CONST(GF_EVENT_TEXTINPUT)\tDEF_CONST(GF_EVENT_DROPFILE)\tDEF_CONST(GF_EVENT_TIMESHIFT_DEPTH)\tDEF_CONST(GF_EVENT_TIMESHIFT_UPDATE)\tDEF_CONST(GF_EVENT_TIMESHIFT_OVERFLOW)\tDEF_CONST(GF_EVENT_TIMESHIFT_UNDERRUN)\tDEF_CONST(GF_EVENT_PASTE_TEXT)\tDEF_CONST(GF_EVENT_COPY_TEXT)\tDEF_CONST(GF_EVENT_SIZE)\tDEF_CONST(GF_EVENT_SHOWHIDE)\tDEF_CONST(GF_EVENT_MOVE)\tDEF_CONST(GF_EVENT_SET_CAPTION)\tDEF_CONST(GF_EVENT_REFRESH)\tDEF_CONST(GF_EVENT_QUIT)\tDEF_CONST(GF_EVENT_CODEC_SLOW)\tDEF_CONST(GF_EVENT_CODEC_OK)\tDEF_CONST(GF_KEY_MOD_SHIFT)\tDEF_CONST(GF_KEY_MOD_CTRL)\tDEF_CONST(GF_KEY_MOD_ALT)\tDEF_CONST(GF_KEY_EXT_NUMPAD)\tDEF_CONST(GF_KEY_EXT_LEFT)\tDEF_CONST(GF_KEY_EXT_RIGHT)\tDEF_CONST(GF_MemTrackerNone)\tDEF_CONST(GF_MemTrackerSimple)\tDEF_CONST(GF_MemTrackerBackTrace)\tDEF_CONST(GF_FS_SCHEDULER_LOCK_FREE)\tDEF_CONST(GF_FS_SCHEDULER_LOCK)\tDEF_CONST(GF_FS_SCHEDULER_LOCK_FREE_X)\tDEF_CONST(GF_FS_SCHEDULER_LOCK_FORCE)\tDEF_CONST(GF_FS_SCHEDULER_DIRECT)\tDEF_CONST(GF_FS_FLAG_LOAD_META)\tDEF_CONST(GF_FS_FLAG_NON_BLOCKING)\tDEF_CONST(GF_FS_FLAG_NO_GRAPH_CACHE)\tDEF_CONST(GF_FS_FLAG_NO_REGULATION)\tDEF_CONST(GF_FS_FLAG_NO_PROBE)\tDEF_CONST(GF_FS_FLAG_NO_REASSIGN)\tDEF_CONST(GF_FS_FLAG_PRINT_CONNECTIONS)\tDEF_CONST(GF_FS_FLAG_NO_ARG_CHECK)\tDEF_CONST(GF_FS_FLAG_NO_RESERVOIR)\tDEF_CONST(GF_FS_FLAG_FULL_LINK)\tDEF_CONST(GF_FS_FLAG_NO_IMPLICIT)\tDEF_CONST(GF_FS_FLAG_REQUIRE_SOURCE_ID)\tDEF_CONST(GF_FS_FLAG_FORCE_DEFER_LINK)\tDEF_CONST(GF_FS_FLAG_PREVENT_PLAY)\tDEF_CONST(GF_FS_ARG_HINT_NORMAL)\tDEF_CONST(GF_FS_ARG_HINT_ADVANCED)\tDEF_CONST(GF_FS_ARG_HINT_EXPERT)\tDEF_CONST(GF_FS_ARG_HINT_HIDE)\tDEF_CONST(GF_FS_ARG_UPDATE)\tDEF_CONST(GF_FS_ARG_META)\tDEF_CONST(GF_FS_ARG_META_ALLOC)\tDEF_CONST(GF_FS_ARG_SINK_ALIAS)\tDEF_CONST(GF_CAPFLAG_IN_BUNDLE)\tDEF_CONST(GF_CAPFLAG_INPUT)\tDEF_CONST(GF_CAPFLAG_OUTPUT)\tDEF_CONST(GF_CAPFLAG_EXCLUDED)\tDEF_CONST(GF_CAPFLAG_LOADED_FILTER)\tDEF_CONST(GF_CAPFLAG_STATIC)\tDEF_CONST(GF_CAPFLAG_OPTIONAL)\tDEF_CONST(GF_CAPFLAG_RECONFIG)\tDEF_CONST(GF_CAPS_INPUT)\tDEF_CONST(GF_CAPS_INPUT_OPT)\tDEF_CONST(GF_CAPS_INPUT_STATIC)\tDEF_CONST(GF_CAPS_INPUT_STATIC_OPT)\tDEF_CONST(GF_CAPS_INPUT_EXCLUDED)\tDEF_CONST(GF_CAPS_INPUT_LOADED_FILTER)\tDEF_CONST(GF_CAPS_OUTPUT)\tDEF_CONST(GF_CAPS_OUTPUT_LOADED_FILTER)\tDEF_CONST(GF_CAPS_OUTPUT_EXCLUDED)\tDEF_CONST(GF_CAPS_OUTPUT_STATIC)\tDEF_CONST(GF_CAPS_OUTPUT_STATIC_EXCLUDED)\tDEF_CONST(GF_CAPS_INPUT_OUTPUT)\tDEF_CONST(GF_CAPS_INPUT_OUTPUT_OPT)\tDEF_CONST(GF_FS_FLUSH_NONE)\tDEF_CONST(GF_FS_FLUSH_ALL)\tDEF_CONST(GF_FS_FLUSH_FAST)\tDEF_CONST(GF_SETUP_ERROR)\tDEF_CONST(GF_NOTIF_ERROR)\tDEF_CONST(GF_NOTIF_ERROR_AND_DISCONNECT)\treturn
      napi_ok ;}void dashbind_finalize(napi_env env, void* finalize_data, void* finalize_hint) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - napi_f
    argTypes:
    - NAPI_Filter*
    constantsTouched: []
    func_position:
      end: 5863
      start: 5858
    functionDepth: 0
    functionLinenumber: 5858
    functionLinenumberEnd: 5863
    functionName: httpout_detach_binding
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void httpout_detach_binding(NAPI_Filter *napi_f) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1029,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1037,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1044,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1055,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1055,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1055,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1063,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1063,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1063,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1071,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1084,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1090,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1103,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1107,1
    - Dst: gf_filter_pid_has_decoder
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1124,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1124,1
    - Dst: gf_filter_pid_get_packet_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1099,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1067,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1035,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1037,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1044,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1046,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1075,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1079,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1080,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1084,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1090,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1092,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1094,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1092,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1111,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1103,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1089,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1119,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1071,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1107,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1035,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1029,1
    - Dst: gf_filter_pid_get_filter_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1042,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1046,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1051,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1059,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1051,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1059,1
    - Dst: gf_filter_pid_eos_received
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1059,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1067,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1099,1
    - Dst: gf_filter_pid_is_sparse
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1067,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1111,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1117,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1119,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1103,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1033,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1051,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1075,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1080,1
    - Dst: gf_filter_pid_first_packet_is_empty
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1084,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1094,1
    - Dst: gf_filter_pid_get_min_pck_duration
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1107,1
    - Dst: gf_filter_pid_get_next_ts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1115,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1117,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1124,1
    - Dst: gf_filter_pid_get_max_buffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1071,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1075,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1099,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1111,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 114
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1128
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1128
    functionName: filterpid_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_max_buffer
    - napi_create_int64
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_min_pck_duration
    - napi_create_uint32
    - gf_filter_pid_is_playing
    - gf_filter_pid_get_timescale
    - napi_create_string_utf8
    - gf_filter_pid_is_sparse
    - gf_filter_pid_eos_received
    - gf_filter_pid_get_name
    - gf_filter_pid_get_packet_count
    - gf_filter_pid_get_next_ts
    - gf_filter_pid_get_first_packet_cts
    - napi_get_null
    - napi_get_cb_info
    - gf_filter_pid_first_packet_is_empty
    - gf_filter_pid_would_block
    - NAPI_CALL
    - napi_get_boolean
    - gf_filter_pid_get_filter_name
    - gf_filter_pid_has_decoder
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_getter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1165
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1165
    functionName: filterpid_remove
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_remove(napi_env env, napi_callback_info info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1927,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1927,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1931,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1933,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1933,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1937,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1939,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1939,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1943,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1943,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1947,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1947,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1943,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1947,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1952
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1952
    functionName: filter_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_get_name
    - napi_create_string_utf8
    - gf_filter_get_ipid_count
    - napi_get_cb_info
    - napi_create_uint32
    - gf_filter_get_opid_count
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_getter(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1989,1
    - Dst: FILTER_ARG
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1991,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1998,1
    - Dst: gf_filter_set_source_restricted
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1996,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1993,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2001,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - env
    - info
    - is_restricted
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 2003
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2003
    functionName: filter_set_source_internal
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_set_source
    - FILTER_ARG
    - gf_error_to_string
    - napi_throw_error
    - gf_filter_set_source_restricted
    - NARG_STR
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_set_source_internal(napi_env env, napi_callback_info
      info, Bool is_restricted) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2052,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2058,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2062,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2060,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2068,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2070,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2070,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2072
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2072
    functionName: filter_reconnect
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_reconnect_output
    - napi_get_value_int32
    - gf_error_to_string
    - napi_throw_error
    - NARG_ARGS_THIS
    - gf_filter_get_opid
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_reconnect(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2107,1
    - Dst: gf_filter_get_possible_destinations
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2114,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2120,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2116,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2116,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2120,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2123
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2123
    functionName: filter_get_destinations
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_string_utf8
    - gf_error_to_string
    - napi_throw_error
    - NARG_ARGS_THIS
    - gf_free
    - gf_filter_get_possible_destinations
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_get_destinations(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3394,1
    - Dst: gf_filter_block_eos
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3400
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3400
    functionName: filter_block_eos
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_ARGS_THIS
    - gf_filter_block_eos
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_block_eos(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS_MAGIC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4435,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4493,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 4499
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4499
    functionName: fevt_setter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_ARGS_THIS_MAGIC
    - gf_dom_get_key_type
    - NARG_STR
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fevt_setter(napi_env env, napi_callback_info info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS_MAGIC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1132,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1137,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1141,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1136,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1142,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1146,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1147,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1151,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1156
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1156
    functionName: filterpid_setter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_max_buffer
    - gf_filter_pid_set_name
    - NARG_BOOL
    - NARG_ARGS_THIS_MAGIC
    - gf_filter_pid_set_eos
    - NARG_STR
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_setter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1169,1
    - Dst: filter_enum_pid_props
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1172
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1172
    functionName: filterpid_enum_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_enum_pid_props
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_enum_props(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS_MAGIC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1956,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1961,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1965
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1965
    functionName: filter_setter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_ARGS_THIS_MAGIC
    - NARG_STR
    - gf_filter_set_name
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_setter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_set_source_internal
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2007
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2007
    functionName: filter_set_source
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_set_source_internal
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_set_source(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2080,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2093,1
    - Dst: gf_filter_probe_link
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2091,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2085,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2089,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2093,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2097,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2097,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2100
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2100
    functionName: filter_probe_link
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_string_utf8
    - napi_get_value_int32
    - gf_error_to_string
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - gf_filter_probe_link
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_probe_link(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2131
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2131
    functionName: filter_require_source_id
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_require_source_id(napi_env env, napi_callback_info
      info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3239,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3244,1
    - Dst: gf_filter_block_enabled
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3244,1
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3255,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3256,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3264,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3270,1
    - Dst: gf_filter_get_num_events_queued
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3264,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3264,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3269,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3256,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3270,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3280,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3280,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3239,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3244,1
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3249,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3250,1
    - Dst: gf_filter_all_sinks_done
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3260,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3260,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3275,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3250,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3260,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3276,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3284
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3284
    functionName: filter_cust_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_get_num_events_queued
    - napi_get_boolean
    - gf_filter_get_clock_hint
    - napi_create_int64
    - gf_filter_block_enabled
    - frac64_to_napi
    - napi_get_cb_info
    - napi_create_uint32
    - gf_filter_all_sinks_done
    - gf_filter_get_output_buffer_max
    - gf_filter_connections_pending
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_cust_getter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3403,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3409
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3409
    functionName: filter_set_max_pids
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_set_max_extra_input_pids
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_set_max_pids(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4506
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4506
    functionName: del_evt
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void del_evt(napi_env env, void* finalize_data, void* finalize_hint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1468,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1465,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1470,1
    - Dst: gf_filter_pid_caps_query_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1472,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1474,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1476,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1476,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: filterpid_query_cap
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_props_get_id
    - napi_get_null
    - gf_filter_pid_caps_query
    - gf_filter_pid_caps_query_str
    - NARG_STR
    - NARG_ARGS_THIS
    - prop_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_query_cap(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5273,1
    - Dst: SRD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5275,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5280,1
    - Dst: SRD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5277,1
    - Dst: SRD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5276,1
    - Dst: SRD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - x
    constantsTouched: []
    func_position:
      end: 5281
      start: 5271
    functionDepth: 0
    functionLinenumber: 5271
    functionLinenumberEnd: 5281
    functionName: SRD_U32
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_null
    - SRD_U32
    linkageType: ''
    returnType: SRD_U32(id)
    signature: "SRD_U32(id) SRD_U32(x)\t\tSRD_U32(y)\t\tSRD_U32(w)\t\tSRD_U32(h)\t\tSRD_U32(fw)\t\tSRD_U32(fh)
      } else "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5915,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5919,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5924,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5920,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5927,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5931,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5937,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - fileio
    - offset
    - whence
    argTypes:
    - GF_FileIO*
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 5946
      start: 5910
    functionDepth: 0
    functionLinenumber: 5910
    functionLinenumberEnd: 5946
    functionName: gfio_seek
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_create_int64
    - napi_get_value_int32
    - gf_fileio_get_udta
    - napi_get_reference_value
    - napi_make_callback
    - napi_create_uint32
    - napi_get_named_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gfio_seek(GF_FileIO *fileio, u64 offset, s32 whence) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1489,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1487,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1490,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1492,1
    - Dst: prop_from_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1492,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1495,1
    - Dst: gf_filter_pid_negotiate_property_dyn
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1497,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1500,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1500,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1502,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1504
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1504
    functionName: filterpid_negotiate_cap
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_props_reset_single
    - prop_from_napi
    - gf_filter_pid_negotiate_property_dyn
    - gf_props_get_id
    - gf_error_to_string
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_filter_pid_negotiate_property
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_negotiate_cap(napi_env env, napi_callback_info
      info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5670,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5673,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5676,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5704,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5708,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5709,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5716,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5720,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5732,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5734,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5678,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5679,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5685,1
    - Dst: gf_realloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5699,1
    - Dst: napi_get_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5693,1
    - Dst: napi_get_array_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5690,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5702,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5703,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5707,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5710,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5665,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5665,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5670,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5672,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5681,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5696,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5694,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5701,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5718,1
    - Dst: gf_httpout_send_request
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5723,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5729,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5667,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5689,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5680,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 5737
      start: 5649
    functionDepth: 0
    functionLinenumber: 5649
    functionLinenumberEnd: 5737
    functionName: httpout_send_cbk
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_malloc
    - napi_get_value_uint32
    - napi_get_array_length
    - gf_realloc
    - napi_get_element
    - napi_check_object_type_tag
    - napi_throw_error
    - gf_free
    - gf_httpout_send_request
    - napi_get_named_property
    - napi_unwrap
    - napi_has_named_property
    - napi_get_value_string_utf8
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value httpout_send_cbk(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 6346
      start: 6344
    functionDepth: 0
    functionLinenumber: 6344
    functionLinenumberEnd: 6346
    functionName: del_fio
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void del_fio(napi_env env, void* finalize_data, void* finalize_hint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3737,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3735,1
    - Dst: napi_get_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3738,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3737,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3740,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3744,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3746,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3751,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3753,1
    - Dst: gf_fs_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3756,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3733,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3758,1
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3758,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3759,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3759,1
    - Dst: gf_fs_post_user_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3763,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3766
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3766
    functionName: fs_post_task
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_reference
    - napi_get_global
    - napi_create_string_utf8
    - napi_get_property
    - napi_throw_error
    - gf_fs_post_user_task
    - napi_typeof
    - NARG_STR
    - NARG_ARGS_THIS
    - GF_SAFEALLOC
    - gf_fs_get_rt_udta
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_post_task(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3770,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3772,1
    - Dst: gf_fs_abort
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3775
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3775
    functionName: fs_abort
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_fs_abort
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_abort(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    - Dst: gf_fileio_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - FIO_PROP_URL
    argTypes:
    - magic
    constantsTouched: []
    func_position:
      end: 5906
      start: 5901
    functionDepth: 0
    functionLinenumber: 5901
    functionLinenumberEnd: 5906
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_fileio_url
    - napi_create_string_utf8
    linkageType: ''
    returnType: FILEIO
    signature: 'FILEIO if (magic == &FIO_PROP_URL) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:982,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:989,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:990,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: filterpck_truncate
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_truncate
    - napi_throw_error
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_truncate(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1511,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1524,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1516,1
    - Dst: gf_list_del_item
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1522,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1525
    functionName: napi_pck_del
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_filter_pck_discard
    - gf_filter_pck_unref
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void napi_pck_del(napi_env env, void *finalize_data, void* finalize_hint) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1227,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1239,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1243,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1230,1
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1233,1
    - Dst: prop_from_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1244,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1246,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1253,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1255,1
    - Dst: gf_filter_pid_set_info_dyn
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1259,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1265,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1265,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1261,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - env
    - info
    - is_info
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 1271
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1271
    functionName: filterpid_set_prop_internal
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_info_dyn
    - gf_props_reset_single
    - prop_from_napi
    - gf_filter_pid_set_info
    - gf_filter_pid_set_property_dyn
    - gf_props_get_id
    - gf_error_to_string
    - napi_throw_error
    - gf_filter_pid_set_property
    - napi_typeof
    - NARG_STR
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_prop_internal(napi_env env, napi_callback_info
      info, Bool is_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1672,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1675,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1681,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1678,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1676,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1683,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1687,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1689
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1689
    functionName: filterpid_new_pck
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - NAPI_CALL
    - napi_throw_error
    - wrap_filter_packet
    - napi_get_reference_value
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2173,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2175,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2174,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2173,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2174,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2175,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2176,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2176,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2177,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - env
    - frac
    argTypes:
    - napi_env
    - GF_Fraction64*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2179
    functionName: frac64_to_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_set_named_property
    - napi_create_int64
    - napi_create_object
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value frac64_to_napi(napi_env env, const GF_Fraction64 *frac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_iopid_enum_props
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2773
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2773
    functionName: filter_opid_enum_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_iopid_enum_props
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_opid_enum_props(napi_env env, napi_callback_info
      info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3299,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3297,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3303,1
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3301,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3306,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3307,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3308,1
    - Dst: gf_strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3313,1
    - Dst: prop_from_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3315,1
    - Dst: gf_filter_push_caps
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3317,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3325,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3321,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3292,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3328
      start: 3286
    functionDepth: 0
    functionLinenumber: 3286
    functionLinenumberEnd: 3328
    functionName: filter_push_cap
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - prop_from_napi
    - gf_props_get_id
    - gf_strdup
    - gf_error_to_string
    - napi_throw_error
    - napi_typeof
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - gf_filter_push_caps
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_push_cap(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3800
      start: 3794
    functionDepth: 0
    functionLinenumber: 3794
    functionLinenumberEnd: 3800
    functionName: fs_print_stats
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_fs_print_stats
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_print_stats(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1532,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1581,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1541,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1540,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1542,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - env
    - pck
    - is_src
    argTypes:
    - napi_env
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1585
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1585
    functionName: wrap_filter_packet
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_type_tag_object
    - napi_create_reference
    - napi_wrap
    - napi_create_object
    - napi_define_properties
    - GF_SAFEALLOC
    linkageType: ''
    returnType: NAPI_FilterPacket*
    signature: 'NAPI_FilterPacket *wrap_filter_packet(napi_env env, GF_FilterPacket
      *pck, Bool is_src) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1704,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1699,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1701,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1699,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1704,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1707,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1711,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1712,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1714,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1716,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1719,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1724,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1694,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1721,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1726
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1726
    functionName: filterpid_new_pck_ref
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_check_object_type_tag
    - napi_throw_error
    - wrap_filter_packet
    - napi_get_reference_value
    - NARG_ARGS_THIS
    - napi_unwrap
    - gf_filter_pck_new_ref
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck_ref(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterpid_set_prop_internal
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1276
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1276
    functionName: filterpid_set_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filterpid_set_prop_internal
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_prop(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2185,1
    - Dst: GET_PROP_FIELD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - env
    - prop
    - frac
    argTypes:
    - napi_env
    - napi_value
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 2188
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2188
    functionName: frac_from_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - GET_PROP_FIELD_S32
    - GET_PROP_FIELD_U32
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status frac_from_napi(napi_env env, napi_value prop, GF_Fraction
      *frac) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2780,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2792,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2787,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2785,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2790,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2796,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2796,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2799,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - env
    - pname
    - pid
    - is_info
    argTypes:
    - napi_env
    - char*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2802
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2802
    functionName: filter_get_pid_property
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_get_info
    - gf_props_get_id
    - gf_filter_pid_get_property
    - napi_get_null
    - gf_filter_release_property
    - gf_filter_pid_get_info_str
    - gf_filter_pid_get_property_str
    - prop_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_get_pid_property(napi_env env, char *pname, GF_FilterPid
      *pid, Bool is_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3332,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3337,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3340
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3340
    functionName: filter_update_status
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_update_status
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_update_status(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_connections
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3808
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3808
    functionName: fs_print_graph
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_fs_print_connections
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_print_graph(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: napi_define_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4171,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - env
    - exports
    - inst
    argTypes:
    - napi_env
    - napi_value
    - GPAC_NAPI*
    constantsTouched: []
    func_position:
      end: 4178
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4178
    functionName: init_fs_class
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_set_named_property
    - napi_define_class
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status init_fs_class(napi_env env, napi_value exports, GPAC_NAPI
      *inst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6067,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6079,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6071,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6076,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6072,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 6088
      start: 6062
    functionDepth: 0
    functionLinenumber: 6062
    functionLinenumberEnd: 6088
    functionName: gfio_tell
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_value_int64
    - gf_fileio_get_udta
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    linkageType: ''
    returnType: s64
    signature: 'static s64 gfio_tell(GF_FileIO *fileio) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6353,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6354,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6364,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6371,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6374,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6381,1
    - Dst: gf_fileio_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6391,1
    - Dst: gf_fileio_tag_main_thread
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6397,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6413,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6416,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6352,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6369,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6406,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6393,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6416,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6417,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6376,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6379,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6387,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6399,1
    - Dst: gf_list_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6402,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6413,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6417,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6394,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6385,1
    - Dst: napi_async_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:6407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 6420
      start: 6348
    functionDepth: 0
    functionLinenumber: 6348
    functionLinenumberEnd: 6420
    functionName: new_fio
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_type_tag_object
    - napi_create_reference
    - napi_create_string_utf8
    - napi_wrap
    - gf_fileio_new
    - napi_throw_error
    - napi_async_init
    - NARG_BOOL
    - gf_fileio_tag_main_thread
    - napi_typeof
    - NARG_STR
    - NARG_ARGS_THIS
    - napi_get_named_property
    - GF_SAFEALLOC
    - gf_list_new
    - napi_define_properties
    - gf_free
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value new_fio(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:310,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:311,1
    - Dst: gf_sys_profiler_log
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: gpac_rmt_log
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_sys_profiler_log
    - NARG_ARGS
    - NARG_STR
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_rmt_log(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames:
    - argc
    - '>1'
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2088
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_value_int32
    linkageType: ''
    returnType: FILTER
    signature: 'FILTER //check if 2nd param is int, get opid if (argc>1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - FS_PROP_LAST_TASK
    argTypes:
    - magic
    constantsTouched: []
    func_position:
      end: 3482
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3482
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_boolean
    - gf_fs_is_last_task
    linkageType: ''
    returnType: FILTER_SESSION
    signature: 'FILTER_SESSION if (magic == &FS_PROP_LAST_TASK) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5529,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5532,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5530,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5531,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5533,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - udta
    - done
    - total
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 5537
      start: 5521
    functionDepth: 0
    functionLinenumber: 5521
    functionLinenumberEnd: 5537
    functionName: httpout_throttle_cbk
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_create_int64
    - napi_get_value_uint32
    - napi_get_reference_value
    - napi_get_named_property
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpout_throttle_cbk(void *udta, u64 done, u64 total) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: dummy_finalize
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dummy_finalize(napi_env env, void* finalize_data, void* finalize_hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:319,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:320,1
    - Dst: gf_sys_profiler_send
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: gpac_rmt_send
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_ARGS
    - NARG_STR
    - gf_sys_profiler_send
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_rmt_send(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5129,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5131,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5133,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5141,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - udta
    - type
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 5142
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5142
    functionName: dashbind_period_reset
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_get_reference_value
    - napi_create_uint32
    - napi_get_named_property
    - napi_has_named_property
    linkageType: ''
    returnType: void
    signature: 'void dashbind_period_reset(void *udta, u32 type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5548,1
    - Dst: napi_create_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5556,1
    - Dst: napi_create_typedarray
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5560,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5553,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5549,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5564,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5567,1
    - Dst: napi_detach_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5571,1
    - Dst: memcpy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - udta
    - buffer
    - buffer_size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5577
      start: 5538
    functionDepth: 0
    functionLinenumber: 5538
    functionLinenumberEnd: 5577
    functionName: httpout_read_cbk
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_create_typedarray
    - napi_get_value_uint32
    - napi_create_arraybuffer
    - napi_detach_arraybuffer
    - napi_get_reference_value
    - memcpy
    - napi_get_named_property
    - napi_create_external_arraybuffer
    linkageType: ''
    returnType: s32
    signature: 'static s32 httpout_read_cbk(void *udta, u8 *buffer, u32 buffer_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5385,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5395,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5404,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5429,1
    - Dst: DSSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5426,1
    - Dst: DSSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5422,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5383,1
    - Dst: DSSET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5427,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5432,1
    - Dst: DSSET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5423,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5394,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5387,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5396,1
    - Dst: napi_get_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5403,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5405,1
    - Dst: DSSET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5424,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5399,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5411,1
    - Dst: DSSET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5425,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - udta
    - group_idx
    - _stats
    argTypes:
    - void*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 5434
      start: 5375
    functionDepth: 0
    functionLinenumber: 5375
    functionLinenumberEnd: 5434
    functionName: dashbind_download_monitor
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_get_value_uint32
    - napi_get_value_int32
    - napi_get_element
    - DSSET_U64
    - napi_get_null
    - napi_get_reference_value
    - napi_create_object
    - napi_get_named_property
    - napi_has_named_property
    - DSSET_U32
    linkageType: ''
    returnType: s32
    signature: 's32 dashbind_download_monitor(void *udta, u32 group_idx, void *_stats) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:205,1
    - Dst: napi_create_bigint_uint64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:205,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: gpac_sys_clock_high_res
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_bigint_uint64
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_sys_clock_high_res(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1195,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1195,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1200,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1197,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1200,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1202,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1204,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1204,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1207
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1207
    functionName: filterpid_copy_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_error_to_string
    - napi_check_object_type_tag
    - gf_filter_pid_copy_properties
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_copy_props(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3815,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3820,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3813,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3817,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3821
      start: 3809
    functionDepth: 0
    functionLinenumber: 3809
    functionLinenumberEnd: 3821
    functionName: fs_get_filter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_throw_error
    - NARG_ARGS_THIS
    - fs_wrap_filter
    - gf_fs_get_filter
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_get_filter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:215,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:217,1
    - Dst: gf_dom_get_friendly_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:217,1
    - Dst: NARG_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:216,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:217,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:219,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: gpac_sys_keyname
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_string_utf8
    - NARG_ARGS
    - gf_dom_get_friendly_name
    - NARG_S32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_sys_keyname(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1212,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1216,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1216,1
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1219
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1219
    functionName: filterpid_reset_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - napi_throw_error
    - gf_filter_pid_reset_properties
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_reset_props(napi_env env, napi_callback_info
      info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3829,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3838,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3835,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3838,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3841,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3841,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3843,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3846,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3846,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3849,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3852,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3852,1
    - Dst: gf_fs_fire_event
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3854
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3854
    functionName: fs_fire_event
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_boolean
    - napi_check_object_type_tag
    - napi_throw_error
    - NARG_BOOL
    - gf_fs_fire_event
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_fire_event(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4101,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4103,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4108,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4114,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4116,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4122,1
    - Dst: gf_fs_set_filter_creation_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4127,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4131,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4132,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4110,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4120,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4129,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4135,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4117,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4120,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4131,1
    - Dst: napi_async_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4132,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4122,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 4141
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4141
    functionName: new_fs
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_type_tag_object
    - napi_create_reference
    - napi_create_string_utf8
    - napi_wrap
    - gf_fs_set_ui_callback
    - napi_throw_error
    - napi_async_init
    - gf_fs_new_defaults
    - GF_SAFEALLOC
    - NARG_ARGS_THIS
    - gf_fs_set_filter_creation_callback
    - gf_free
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value new_fs(napi_env env, napi_callback_info info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4798,1
    - Dst: memset
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4803,1
    - Dst: napi_set_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4804,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4814,1
    - Dst: init_fevt_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4831,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4804,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4817,1
    - Dst: init_fs_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4828,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4824,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4825,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4819,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4822,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4800,1
    - Dst: gf_th_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4837,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4806,1
    - Dst: InitConstants
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4806,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4815,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4816,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4818,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4823,1
    - Dst: DEF_FUN
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4820,1
    - Dst: init_fio_class
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4834,1
    - Dst: gf_sys_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - env
    - exports
    argTypes:
    - napi_env
    - napi_value
    constantsTouched: []
    func_position:
      end: 4842
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4842
    functionName: Init
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - init_fevt_class
    - init_fio_class
    - memset
    - napi_throw_error
    - InitConstants
    - napi_set_instance_data
    - malloc
    - init_fs_class
    - gf_sys_init
    - DEF_FUN
    - gf_th_id
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value Init(napi_env env, napi_value exports) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5900,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    - Dst: gf_fileio_url
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5904,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 5908
      start: 5895
    functionDepth: 0
    functionLinenumber: 5895
    functionLinenumberEnd: 5908
    functionName: fio_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_get_cb_info
    - gf_fileio_url
    - napi_create_string_utf8
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fio_getter(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:808,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:811,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:815,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 820
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 820
    functionName: filterpck_discard
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - gf_filter_pck_discard
    - napi_reference_unref
    - napi_throw_error
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_discard(napi_env env, napi_callback_info info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1730,1
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1740,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1739,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1732,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1734,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1741,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1747,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1748,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1752,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1753,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1757,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1764
    functionName: filter_cbk_release_packet
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - gf_filter_get_rt_udta
    - napi_get_global
    - gf_list_pop_front
    - gf_filter_pid_get_udta
    - napi_get_reference_value
    - napi_make_callback
    - napi_reference_unref
    linkageType: ''
    returnType: void
    signature: 'void filter_cbk_release_packet(GF_Filter *filter, GF_FilterPid *pid,
      GF_FilterPacket *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2752,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2757,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2760,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2755,1
    - Dst: filter_enum_pid_props
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2763,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - env
    - info
    - is_opid
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 2764
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2764
    functionName: filter_iopid_enum_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_throw_error
    - NARG_ARGS_THIS
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - filter_enum_pid_props
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_iopid_enum_props(napi_env env, napi_callback_info
      info, Bool is_opid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3206,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3211,1
    - Dst: wrap_filterevent
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3217,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3214,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3209,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3218,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 3223
      start: 3202
    functionDepth: 0
    functionLinenumber: 3202
    functionLinenumberEnd: 3223
    functionName: napi_filter_cbk_process_event
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_value_bool
    - gf_filter_get_rt_udta
    - wrap_filterevent
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    - napi_has_named_property
    linkageType: ''
    returnType: Bool
    signature: 'static Bool napi_filter_cbk_process_event(GF_Filter *filter, const
      GF_FilterEvent *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3413,1
    - Dst: frac64_from_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3417,1
    - Dst: gf_filter_hint_single_clock
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3419,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3421
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3421
    functionName: filter_hint_clock
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - frac64_from_napi
    - gf_filter_hint_single_clock
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_hint_clock(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5449,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5460,1
    - Dst: napi_create_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5465,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5454,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5459,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5466,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5468,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5469,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5469,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5472,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5480,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5486,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5477,1
    - Dst: gf_filter_bind_dash_algo_callbacks
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5473,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5476,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5482,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 5488
      start: 5443
    functionDepth: 0
    functionLinenumber: 5443
    functionLinenumberEnd: 5488
    functionName: dashin_bind
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_delete_reference
    - napi_create_reference
    - gf_filter_get_rt_udta
    - napi_create_array
    - gf_filter_force_main_thread
    - gf_error_to_string
    - napi_wrap
    - gf_filter_bind_dash_algo_callbacks
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_type_tag_object
    - napi_reference_unref
    - napi_has_named_property
    - gf_free
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value dashin_bind(napi_env env, napi_callback_info info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:825,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:835,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:833,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:835,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:837,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:840,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:840,1
    - Dst: gf_filter_pck_dangling_copy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:845,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:847,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:852,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:858,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:871,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:864,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:859,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:852,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:866,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 873
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 873
    functionName: filterpck_clone
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_delete_reference
    - napi_check_object_type_tag
    - napi_throw_error
    - gf_filter_pck_dangling_copy
    - napi_get_reference_value
    - wrap_filter_packet
    - napi_typeof
    - NARG_ARGS_THIS
    - napi_unwrap
    - napi_reference_unref
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_clone(napi_env env, napi_callback_info info) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1784,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1778,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1797,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1799,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1825,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1832,1
    - Dst: napi_reference_ref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1814,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1776,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1789,1
    - Dst: napi_get_arraybuffer_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1795,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1817,1
    - Dst: gf_list_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1806,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1787,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1802,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1820,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1835,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1771,1
    - Dst: napi_is_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1787,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1795,1
    - Dst: gf_list_add
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1809,1
    - Dst: gf_list_del_item
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1833,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1838
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1838
    functionName: filterpid_new_pck_shared
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_is_arraybuffer
    - gf_list_add
    - napi_create_reference
    - gf_filter_pid_get_udta
    - napi_get_arraybuffer_info
    - napi_reference_ref
    - napi_throw_error
    - wrap_filter_packet
    - napi_get_reference_value
    - gf_filter_pck_discard
    - napi_typeof
    - NARG_ARGS_THIS
    - gf_list_new
    - gf_list_del_item
    - gf_filter_pck_new_shared
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck_shared(napi_env env, napi_callback_info
      info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2272,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2275,1
    - Dst: strchr
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2276,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2284,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2241,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2238,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2238,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2280,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2285,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2271,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2271,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2280,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2278,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2251,1
    - Dst: SET_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2258,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2256,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2254,1
    - Dst: SET_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2260,1
    - Dst: SET_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2262,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2264,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2266,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2252,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2253,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2255,1
    - Dst: SET_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2257,1
    - Dst: SET_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2259,1
    - Dst: SET_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2261,1
    - Dst: SET_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2263,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2265,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2267,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2269,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2278,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2282,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2236,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2241,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2244,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2244,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2245,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2245,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2272,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2282,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2284,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2285,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2285,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2284,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2271,1
    - Dst: SET_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2287
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2287
    functionName: filter_get_statistics
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_stats
    - NAPI_CALL
    - napi_get_boolean
    - napi_set_named_property
    - napi_create_string_utf8
    - gf_stream_type_name
    - gf_error_to_string
    - napi_throw_error
    - SET_STR
    - SET_S32
    - SET_U32
    - gf_codecid_file_ext
    - frac64_to_napi
    - strchr
    - napi_create_object
    - SET_U64
    - SET_BOOL
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_get_statistics(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_iopid_enum_props
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2769
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2769
    functionName: filter_ipid_enum_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_iopid_enum_props
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_ipid_enum_props(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3430,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3432,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3438,1
    - Dst: wrap_filter_pid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3436,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3443
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3443
    functionName: filter_new_pid
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - napi_get_reference_value
    - napi_throw_error
    - wrap_filter_pid
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_new_pid(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - napi_f
    argTypes:
    - NAPI_Filter*
    constantsTouched: []
    func_position:
      end: 5495
      start: 5490
    functionDepth: 0
    functionLinenumber: 5490
    functionLinenumberEnd: 5495
    functionName: dashin_detach_binding
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dashin_detach_binding(NAPI_Filter *napi_f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:880,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 885
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 885
    functionName: filterpck_readonly
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_readonly
    - napi_throw_error
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_readonly(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:266,1
    - Dst: gf_fs_post_user_task
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:275,1
    - Dst: gf_list_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:269,1
    - Dst: gf_list_add
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:270,1
    - Dst: gf_strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - udta
    - message
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: gpac_rmt_callback
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - gf_list_new
    - gf_fs_post_user_task
    - napi_get_instance_data
    linkageType: ''
    returnType: void
    signature: 'void gpac_rmt_callback(void *udta, const char *message) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:463,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:471,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:485,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:485,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:502,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:512,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:522,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:530,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:530,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:530,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:559,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:571,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:563,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:505,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:469,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:478,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:485,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:480,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:505,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:538,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:540,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:518,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:526,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:547,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:551,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:567,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:534,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:575,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:555,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:559,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:469,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:467,1
    - Dst: napi_get_cb_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:463,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:476,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:478,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:489,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:489,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:489,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:480,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:494,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:534,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:547,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:551,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:555,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:563,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:495,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:575,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:500,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:522,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:526,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:542,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:517,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:540,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:547,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:567,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:567,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:571,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:571,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:471,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:495,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:502,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:511,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:512,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:518,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:522,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:542,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:559,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:551,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:534,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:555,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:575,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:526,1
    - Dst: gf_filter_pck_get_seq_num
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:563,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 128
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 579
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 579
    functionName: filterpck_getter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - napi_create_int64
    - gf_filter_pck_get_duration
    - gf_filter_pck_get_seq_num
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - napi_create_uint32
    - napi_create_int32
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_get_data
    - gf_filter_pck_get_corrupted
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_get_clock_type
    - gf_filter_pck_get_dts
    - gf_filter_pck_get_frame_interface
    - napi_get_null
    - napi_get_cb_info
    - napi_create_external_arraybuffer
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_is_blocking_ref
    - NAPI_CALL
    - napi_get_boolean
    - gf_filter_pck_get_roll_info
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_getter(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3452
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3452
    functionName: filter_print_connections
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_print_connections(napi_env env, napi_callback_info
      info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3627,1
    - Dst: NARG_STR_ALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3635,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3629,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3632,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3639,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3641,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3643,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3646,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3646,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - env
    - info
    - is_source
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 3649
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3649
    functionName: fs_load_src_dst
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source
    - gf_fs_load_destination
    - gf_error_to_string
    - napi_throw_error
    - NARG_STR_ALLOC
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - fs_wrap_filter
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_load_src_dst(napi_env env, napi_callback_info info,
      Bool is_source) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5587,1
    - Dst: memcpy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5597,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5588,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5592,1
    - Dst: napi_create_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5595,1
    - Dst: napi_create_typedarray
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5602,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5606,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5609,1
    - Dst: napi_detach_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5613,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - udta
    - buffer
    - buffer_size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5618
      start: 5578
    functionDepth: 0
    functionLinenumber: 5578
    functionLinenumberEnd: 5618
    functionName: httpout_write_cbk
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_create_typedarray
    - napi_get_value_uint32
    - napi_create_arraybuffer
    - napi_detach_arraybuffer
    - napi_get_reference_value
    - memcpy
    - napi_get_named_property
    - napi_create_external_arraybuffer
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpout_write_cbk(void *udta, const u8 *buffer, u32 buffer_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:284,1
    - Dst: gf_sys_profiler_set_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:295,1
    - Dst: napi_async_destroy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:290,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:291,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:292,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:299,1
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:299,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:300,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:300,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:301,1
    - Dst: napi_async_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:301,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:304,1
    - Dst: gf_sys_profiler_set_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: gpac_set_rmt_fun
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - NAPI_CALL
    - napi_create_reference
    - napi_get_global
    - napi_async_destroy
    - napi_create_string_utf8
    - NARG_ARGS
    - napi_async_init
    - napi_reference_unref
    - gf_sys_profiler_set_callback
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_set_rmt_fun(napi_env env, napi_callback_info info) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:587,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:597,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:611,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:625,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:633,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:636,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:640,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:642,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:647,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:657,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:674,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:684,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:693,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:703,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:620,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:621,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:661,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:689,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:678,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:698,1
    - Dst: NARG_ARGS_THIS_MAGIC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:583,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:605,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:609,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:615,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:635,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:629,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:651,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:652,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:656,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:668,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:704,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:694,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:683,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:593,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:597,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:599,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:609,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:616,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:643,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:662,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:672,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:672,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:679,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:688,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:699,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 708
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 708
    functionName: filterpck_setter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pck_set_seq_num
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_set_dependency_flags
    - napi_get_value_int64
    - gf_filter_pck_set_sap
    - napi_throw_error
    - gf_filter_pck_set_framing
    - NARG_BOOL
    - gf_filter_pck_set_byte_offset
    - NARG_ARGS_THIS_MAGIC
    - napi_typeof
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_get_framing
    - gf_filter_pck_set_clock_type
    - gf_filter_pck_set_duration
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_setter(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:891,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:898,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:900,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 905
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 905
    functionName: filterpck_send
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_send
    - napi_reference_unref
    - napi_throw_error
    - napi_delete_reference
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_send(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs_load_src_dst
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3654
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3654
    functionName: fs_load_src
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - fs_load_src_dst
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_load_src(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5625,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5628,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5633,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5631,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5632,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:5635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - udta
    - reason
    argTypes:
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 5636
      start: 5619
    functionDepth: 0
    functionLinenumber: 5619
    functionLinenumberEnd: 5636
    functionName: httpout_on_close_cbk
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_call_function
    - napi_delete_reference
    - napi_get_reference_value
    - napi_create_uint32
    - napi_get_named_property
    - napi_has_named_property
    linkageType: ''
    returnType: void
    signature: 'static void httpout_on_close_cbk(void *udta, GF_Err reason) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1033,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1037,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1037,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1035,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - FS_PROP_PID_NAME
    argTypes:
    - magic
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_get_name
    - napi_get_null
    - napi_create_string_utf8
    linkageType: ''
    returnType: FILTERPID
    signature: 'FILTERPID if (magic == &FS_PROP_PID_NAME) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1422,1
    - Dst: gf_filter_pid_recompute_dts
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1425,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1427
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1427
    functionName: filterpid_recompute_dts
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - gf_filter_pid_recompute_dts
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_recompute_dts(napi_env env, napi_callback_info
      info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1635,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1640,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1643,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1638,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1638,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1643,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1647
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1647
    functionName: filterpid_send_event
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_check_object_type_tag
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_unwrap
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_send_event(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterpid_new_pck_copy_clone
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1886
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1886
    functionName: filterpid_new_pck_clone
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filterpid_new_pck_copy_clone
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck_clone(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_set_source_internal
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2011
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2011
    functionName: filter_set_source_restricted
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_set_source_internal
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_set_source_restricted(napi_env env, napi_callback_info
      info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2058,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2062,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames:
    - argc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2067
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_get_value_int32
    - gf_filter_get_opid
    - napi_throw_error
    linkageType: ''
    returnType: FILTER
    signature: 'FILTER //check if 2nd param is int, get opid if (argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - (napi_get_value_int32(env, argv[0], &idx) == napi_ok)
    argTypes:
    - argc
    constantsTouched: []
    func_position:
      end: 2112
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2112
    functionName: if
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FILTER
    signature: 'FILTER //check if 2nd param is int, get opid if (argc && (napi_get_value_int32(env,
      argv[0], &idx) == napi_ok)) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2321,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2364,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2386,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2390,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2429,1
    - Dst: napi_create_array_with_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2437,1
    - Dst: napi_create_array_with_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2444,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2448,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2451,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2297,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2315,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2335,1
    - Dst: frac_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2338,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2362,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2384,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2367,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2414,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2431,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2401,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2439,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2360,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2298,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2311,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2335,1
    - Dst: napi_create_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2345,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2350,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2368,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2377,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2385,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2389,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2452,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2379,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2332,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2360,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2375,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2388,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2409,1
    - Dst: napi_create_array_with_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2412,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2433,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2449,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2451,1
    - Dst: napi_create_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2332,1
    - Dst: FIX2FLT
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2342,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2356,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2384,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2376,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2380,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2405,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2421,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2422,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2437,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2444,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2378,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2298,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2325,1
    - Dst: napi_create_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2342,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2370,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2387,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2391,1
    - Dst: napi_create_external_arraybuffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2398,1
    - Dst: napi_create_array_with_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2426,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2439,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2371,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2311,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2323,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2329,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2375,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2379,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2363,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2388,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2429,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2447,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2369,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2315,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2361,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2386,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2390,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2414,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2415,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2447,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2304,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2320,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2340,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2362,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2356,1
    - Dst: napi_create_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2370,1
    - Dst: napi_create_buffer
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2401,1
    - Dst: napi_create_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2368,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2377,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2409,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2422,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2440,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2361,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2378,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2298,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2387,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2391,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2415,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2448,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2449,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2456,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2307,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2315,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2329,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2345,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2364,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2385,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2389,1
    - Dst: napi_create_array_with_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2419,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2439,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2450,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2307,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2311,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2323,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2350,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2383,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2369,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2412,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2433,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2440,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2450,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2352,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2363,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2380,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2383,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2376,1
    - Dst: memcpy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2402,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2367,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2304,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2325,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2356,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2374,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2421,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2452,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2371,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2374,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2342,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2398,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2419,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2426,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 174
    argCount: 3
    argNames:
    - env
    - p
    - p4cc
    argTypes:
    - napi_env
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 2459
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2459
    functionName: prop_to_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_create_int64
    - gf_pixel_fmt_sname
    - gf_props_enum_name
    - napi_set_element
    - gf_codecid_file_ext
    - frac64_to_napi
    - napi_create_uint32
    - napi_create_int32
    - gf_4cc_to_str
    - FIX2FLT
    - frac_to_napi
    - napi_create_string_utf8
    - napi_throw_error
    - napi_set_named_property
    - napi_get_null
    - gf_props_type_is_enum
    - memcpy
    - strchr
    - napi_create_object
    - napi_create_external_arraybuffer
    - napi_create_buffer
    - NAPI_CALL
    - napi_get_boolean
    - gf_stream_type_name
    - napi_create_double
    - napi_create_array_with_length
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value prop_to_napi(napi_env env, const GF_PropertyValue *p, u32
      p4cc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1433,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1438,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1441,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1443,1
    - Dst: gf_strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1439,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1444,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1448,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1449,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1452,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1452,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1454,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1456
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1456
    functionName: filterpid_resolve_template
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_string_utf8
    - gf_error_to_string
    - gf_strdup
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_free
    - gf_filter_pid_resolve_file_template
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_resolve_template(napi_env env, napi_callback_info
      info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1654,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1654,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1656,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1659,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1659,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1661,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1663,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1663,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1667
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1667
    functionName: filterpid_forward
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_error_to_string
    - napi_check_object_type_tag
    - gf_filter_pck_forward
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_forward(napi_env env, napi_callback_info info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2017,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2024,1
    - Dst: FILTER_ARG
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2019,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2029,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2027,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2035,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2037,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2039,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2039,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2042,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2044,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2046
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2046
    functionName: filter_insert
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_reconnect_output
    - gf_filter_set_source
    - FILTER_ARG
    - napi_get_value_int32
    - gf_error_to_string
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_filter_get_opid
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_insert(napi_env env, napi_callback_info info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2466,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2483,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2470,1
    - Dst: gf_realloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2481,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2477,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - env
    - val
    - ostr
    argTypes:
    - napi_env
    - napi_value
    - char**
    constantsTouched: []
    func_position:
      end: 2493
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2493
    functionName: napi_get_str
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - napi_throw_error
    - napi_typeof
    - napi_get_instance_data
    - napi_get_value_string_utf8
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status napi_get_str(napi_env env, napi_value val, char **ostr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3047,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3055,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3056,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3051,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3057,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3059,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - env
    - filter
    - pid
    - is_input
    argTypes:
    - napi_env
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 3121
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3121
    functionName: wrap_filter_pid
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_create_reference
    - gf_filter_pid_set_udta
    - napi_wrap
    - napi_create_object
    - napi_type_tag_object
    - GF_SAFEALLOC
    - napi_define_properties
    linkageType: ''
    returnType: NAPI_FilterPid*
    signature: 'static NAPI_FilterPid *wrap_filter_pid(napi_env env, GF_Filter *filter,
      GF_FilterPid *pid, Bool is_input) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3567,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3603,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3570,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3603,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3570,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3607,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3612,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3612,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3613,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3613,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3615,1
    - Dst: gf_filter_set_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3619,1
    - Dst: napi_create_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3614,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3617,1
    - Dst: napi_type_tag_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3615,1
    - Dst: napi_wrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3617,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - env
    - fs
    - filter
    argTypes:
    - napi_env
    - GF_FilterSession*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3621
      start: 3563
    functionDepth: 0
    functionLinenumber: 3563
    functionLinenumberEnd: 3621
    functionName: fs_wrap_filter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_type_tag_object
    - napi_create_reference
    - gf_filter_get_rt_udta
    - napi_wrap
    - napi_get_null
    - napi_get_reference_value
    - gf_filter_set_rt_udta
    - GF_SAFEALLOC
    - napi_create_object
    - napi_define_properties
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_wrap_filter(napi_env env, GF_FilterSession *fs, GF_Filter
      *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1176,1
    - Dst: filter_get_pid_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1179,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1180
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    functionName: filterpid_get_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_get_pid_property
    - NARG_STR
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_prop(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1310
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1310
    functionName: filterpid_allow_direct_dispatch
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_allow_direct_dispatch(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1326,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1329
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1329
    functionName: filterpid_get_clock_timestamp
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_clock_info
    - frac64_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_clock_timestamp(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1593,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1596,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1601,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1599,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1596,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1601,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1605,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1606,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1608
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1608
    functionName: filterpid_get_packet
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_get_udta
    - gf_filter_pid_get_packet
    - napi_get_null
    - wrap_filter_packet
    - napi_get_reference_value
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_packet(napi_env env, napi_callback_info info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1843,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1848,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1850,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1853,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1848,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1853,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1856,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1862,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1864,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1867,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1872,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1876,1
    - Dst: wrap_filter_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1870,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1876,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - env
    - info
    - is_clone
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 1878
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1878
    functionName: filterpid_new_pck_copy_clone
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pck_new_clone
    - napi_check_object_type_tag
    - gf_filter_pck_new_copy
    - napi_throw_error
    - wrap_filter_packet
    - napi_get_reference_value
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck_copy_clone(napi_env env, napi_callback_info
      info, Bool is_clone) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2502,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2513,1
    - Dst: gf_strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2508,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2563,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2570,1
    - Dst: GET_PROP_FIELD_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2577,1
    - Dst: FLT2FIX
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2588,1
    - Dst: GET_PROP_FIELD_FLT
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2600,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2607,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2613,1
    - Dst: napi_is_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2639,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2657,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2611,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2628,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2523,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2527,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2530,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2533,1
    - Dst: napi_get_value_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2592,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2596,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2606,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2612,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2614,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2618,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2641,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2686,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2692,1
    - Dst: napi_get_array_length
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2645,1
    - Dst: strlen
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2694,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2506,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2536,1
    - Dst: gf_props_parse_enum
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2543,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2550,1
    - Dst: napi_get_value_int64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2566,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2576,1
    - Dst: napi_get_value_double
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2587,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2595,1
    - Dst: GET_PROP_FIELD_FLT
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2601,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2624,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2697,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2683,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2605,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2669,1
    - Dst: memset
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2660,1
    - Dst: gf_strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2620,1
    - Dst: GF_4CC
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2695,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2517,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2520,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2537,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2540,1
    - Dst: napi_get_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2553,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2547,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2559,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2556,1
    - Dst: GET_PROP_FIELD_S64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2581,1
    - Dst: GET_PROP_FIELD_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2582,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2655,1
    - Dst: gf_malloc
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2675,1
    - Dst: napi_get_value_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2689,1
    - Dst: GET_PROP_FIELD_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2684,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2673,1
    - Dst: napi_get_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2664,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2705,1
    - Dst: napi_get_value_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2677,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 220
    argCount: 6
    argNames:
    - env
    - prop
    - p4cc
    - pname
    - custom_type
    - p
    argTypes:
    - napi_env
    - napi_value
    - u32
    - char*
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2495
    functionDepth: 0
    functionLinenumber: 2495
    functionLinenumberEnd: 2707
    functionName: prop_from_napi
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - memset
    - GET_PROP_FIELD_S64
    - gf_stream_type_by_name
    - napi_is_array
    - gf_props_4cc_get_type
    - gf_codecid_parse
    - napi_get_array_length
    - napi_get_element
    - napi_get_value_bool
    - GF_4CC
    - napi_get_value_int32
    - GET_PROP_FIELD_S32
    - gf_strdup
    - napi_throw_error
    - FLT2FIX
    - GET_PROP_FIELD_U64
    - gf_props_parse_enum
    - napi_get_value_string_utf8
    - napi_get_value_int64
    - napi_get_str
    - GET_PROP_FIELD_FLT
    - gf_props_type_is_enum
    - gf_4cc_parse
    - napi_get_value_uint32
    - napi_get_value_double
    - GET_PROP_FIELD_U32
    - napi_typeof
    linkageType: ''
    returnType: napi_status
    signature: 'napi_status prop_from_napi(napi_env env, napi_value prop, u32 p4cc,
      char *pname, u32 custom_type, GF_PropertyValue *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3779,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3782,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3784
      start: 3777
    functionDepth: 0
    functionLinenumber: 3777
    functionLinenumberEnd: 3784
    functionName: fs_lock
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - gf_fs_lock_filters
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_lock(napi_env env, napi_callback_info info) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3978,1
    - Dst: gf_th_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3989,1
    - Dst: gf_list_new
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3990,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4007,1
    - Dst: dashin_detach_binding
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4023,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4016,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4034,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4041,1
    - Dst: gf_list_del
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4044,1
    - Dst: gf_list_add
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3991,1
    - Dst: gf_list_del_item
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3996,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4002,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4017,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4036,1
    - Dst: gf_list_count
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4040,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4046,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3998,1
    - Dst: gf_filter_set_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4015,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4025,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4028,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4037,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4050,1
    - Dst: napi_get_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3985,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4004,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4006,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4021,1
    - Dst: httpout_detach_binding
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4026,1
    - Dst: strcmp
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4022,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4029,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 64
    argCount: 3
    argNames:
    - udta
    - filter
    - is_destroy
    argTypes:
    - void*
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 4052
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 4052
    functionName: fs_on_filter_creation
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_rt_udta
    - dashin_detach_binding
    - gf_filter_set_rt_udta
    - gf_list_pop_back
    - gf_filter_get_name
    - gf_list_del
    - httpout_detach_binding
    - gf_list_count
    - strcmp
    - napi_make_callback
    - gf_list_new
    - fs_wrap_filter
    - gf_list_del_item
    - gf_th_id
    - napi_delete_reference
    - gf_filter_pid_get_udta
    - napi_get_reference_value
    - gf_filter_get_opid_count
    - gf_free
    - gf_filter_get_opid
    - napi_reference_unref
    - napi_get_named_property
    - napi_get_instance_data
    - napi_has_named_property
    linkageType: ''
    returnType: void
    signature: 'void fs_on_filter_creation(void *udta, GF_Filter *filter, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1183,1
    - Dst: filter_get_pid_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1186,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1187
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1187
    functionName: filterpid_get_info
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_get_pid_property
    - NARG_STR
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_info(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1316,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1316,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1318
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1318
    functionName: filterpid_get_clock_type
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_get_clock_info
    - napi_create_uint32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_clock_type(napi_env env, napi_callback_info
      info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1334,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1342,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1339,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1337,1
    - Dst: napi_check_object_type_tag
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1337,1
    - Dst: napi_unwrap
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1342,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1343,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1343,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1345
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1345
    functionName: filterpid_is_filter_in_parents
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_is_filter_in_parents
    - napi_get_boolean
    - napi_check_object_type_tag
    - napi_throw_error
    - NARG_ARGS_THIS
    - napi_unwrap
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_is_filter_in_parents(napi_env env, napi_callback_info
      info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1614,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1628,1
    - Dst: napi_delete_reference
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1622,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1630
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1630
    functionName: filterpid_drop_packet
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - napi_delete_reference
    - gf_filter_pid_drop_packet
    - gf_filter_pid_get_udta
    - napi_reference_unref
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_drop_packet(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterpid_new_pck_copy_clone
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1882
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1882
    functionName: filterpid_new_pck_copy
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filterpid_new_pck_copy_clone
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_new_pck_copy(napi_env env, napi_callback_info
      info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2714,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2727,1
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2720,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2716,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2720,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2730,1
    - Dst: napi_open_handle_scope
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2730,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2733,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2734,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2737,1
    - Dst: napi_close_handle_scope
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2742,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2737,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2738,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2741,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2739,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2741,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2739,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - env
    - cbk_fun
    - pid
    argTypes:
    - napi_env
    - napi_value
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2745
    functionName: filter_enum_pid_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_call_function
    - napi_get_global
    - napi_create_string_utf8
    - gf_filter_pid_enum_properties
    - napi_throw_error
    - napi_close_handle_scope
    - napi_open_handle_scope
    - napi_typeof
    - napi_create_int32
    - gf_4cc_to_str
    - gf_props_4cc_get_name
    - prop_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_enum_pid_props(napi_env env, napi_value cbk_fun,
      GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3787,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3789,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3792
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3792
    functionName: fs_reporting
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - NARG_ARGS_THIS
    - gf_fs_enable_reporting
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_reporting(napi_env env, napi_callback_info info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_instance_data
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4064,1
    - Dst: gf_th_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4067,1
    - Dst: GF_LOG
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4071,1
    - Dst: GF_LOG
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4069,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4069,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4077,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4079,1
    - Dst: napi_get_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4081,1
    - Dst: wrap_filterevent
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4087,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4090,1
    - Dst: napi_get_value_bool
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:4093,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - udta
    - event
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4095
      start: 4054
    functionDepth: 0
    functionLinenumber: 4054
    functionLinenumberEnd: 4095
    functionName: napi_gpac_event_proc
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - napi_get_value_bool
    - wrap_filterevent
    - GF_LOG
    - napi_get_reference_value
    - napi_make_callback
    - napi_get_named_property
    - napi_get_instance_data
    - gf_th_id
    - napi_has_named_property
    linkageType: ''
    returnType: Bool
    signature: 'Bool napi_gpac_event_proc(void *udta, GF_Event *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1387,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1389,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1392
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1392
    functionName: filterpid_set_framing
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - gf_filter_pid_set_framing_mode
    - NARG_ARGS_THIS
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_framing(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1395,1
    - Dst: gf_filter_pid_set_clock_mode
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1398,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1400
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1400
    functionName: filterpid_set_clock_mode
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_clock_mode
    - NARG_ARGS_THIS
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_clock_mode(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - env
    - finalize_data
    - finalize_hint
    argTypes:
    - napi_env
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3040
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3040
    functionName: filter_inputpid_finalize
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void filter_inputpid_finalize(napi_env env, void* finalize_data, void*
      finalize_hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterpid_set_prop_internal
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1280
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1280
    functionName: filterpid_set_info
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filterpid_set_prop_internal
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_set_info(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_buffer_occupancy
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1356,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1359,1
    - Dst: SET_VAL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1367,1
    - Dst: SET_VAL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1366,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1359,1
    - Dst: SET_VAL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1368,1
    - Dst: SET_VAL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1369,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1372,1
    - Dst: napi_get_boolean
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1372,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1373,1
    - Dst: napi_define_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1375
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1375
    functionName: filterpid_get_buffer_occupancy
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pid_get_buffer_occupancy
    - SET_VAL
    - napi_get_boolean
    - napi_create_object
    - napi_define_properties
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_get_buffer_occupancy(napi_env env, napi_callback_info
      info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:156,1
    - Dst: gf_free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:162,1
    - Dst: strdup
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:161,1
    - Dst: gf_sys_close
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:165,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:157,1
    - Dst: gf_sys_init
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:166,1
    - Dst: free
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:168,1
    - Dst: GF_LOG
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: gpac_init
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - strdup
    - GF_LOG
    - gf_sys_close
    - NARG_STR
    - gf_sys_init
    - gf_free
    - free
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_init(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:186,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:188,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:189,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: gpac_set_logs
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - NARG_ARGS
    - NARG_STR
    - gf_log_set_tools_levels
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_set_logs(napi_env env, napi_callback_info info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: napi_get_global
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:724,1
    - Dst: napi_typeof
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:718,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:737,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:745,1
    - Dst: napi_close_handle_scope
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:746,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:743,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:724,1
    - Dst: napi_open_handle_scope
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:734,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:746,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:741,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:742,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:734,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:738,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:741,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:720,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:731,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:743,1
    - Dst: napi_call_function
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:745,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 749
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 749
    functionName: filterpck_enum_props
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_call_function
    - napi_get_global
    - napi_create_string_utf8
    - gf_filter_pck_enum_properties
    - napi_throw_error
    - napi_close_handle_scope
    - napi_open_handle_scope
    - napi_typeof
    - napi_create_int32
    - NARG_ARGS_THIS
    - gf_4cc_to_str
    - gf_props_4cc_get_name
    - prop_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_enum_props(napi_env env, napi_callback_info info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_ref_ex
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:781,1
    - Dst: napi_reference_ref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: filterpck_ref
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_ref_ex
    - napi_reference_ref
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_ref(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_iopid_prop
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 2830
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2830
    functionName: filter_opid_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - filter_iopid_prop
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_opid_prop(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs_load_src_dst
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3658
      start: 3655
    functionDepth: 0
    functionLinenumber: 3655
    functionLinenumberEnd: 3658
    functionName: fs_load_dst
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - fs_load_src_dst
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_load_dst(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1284,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1287,1
    - Dst: NARG_BOOL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1289
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1289
    functionName: filterpid_clear_eos
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NARG_BOOL
    - NARG_ARGS_THIS
    - gf_filter_pid_clear_eos
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_clear_eos(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 1383
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1383
    functionName: filterpid_loose_connect
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpid_loose_connect(napi_env env, napi_callback_info
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:178,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:180,1
    - Dst: NARG_S32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:179,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:180,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: gpac_e2s
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - napi_create_string_utf8
    - gf_error_to_string
    - NARG_ARGS
    - NARG_S32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_e2s(napi_env env, napi_callback_info info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:197,1
    - Dst: gf_sys_clock
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:197,1
    - Dst: napi_create_uint32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: gpac_sys_clock
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_sys_clock
    - napi_create_uint32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value gpac_sys_clock(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:755,1
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:760,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:765,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:763,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:758,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:769,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:769,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 773
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 773
    functionName: filterpck_get_prop
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - NAPI_CALL
    - gf_filter_pck_get_property
    - gf_props_get_id
    - napi_get_null
    - gf_filter_pck_get_property_str
    - NARG_STR
    - NARG_ARGS_THIS
    - prop_to_napi
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_get_prop(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:793,1
    - Dst: napi_reference_unref
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 800
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 800
    functionName: filterpck_unref
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_unref
    - napi_reference_unref
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filterpck_unref(napi_env env, napi_callback_info info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2868,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2872,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2876,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2880,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2869,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2873,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2877,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2881,1
    - Dst: filter_ipid_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2886,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2935,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2882,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2909,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2849,1
    - Dst: napi_get_reference_value
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3020,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2882,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2920,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2999,1
    - Dst: filter_iopid_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2888,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2929,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2987,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2864,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3003,1
    - Dst: napi_get_value_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3031,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2865,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3001,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2983,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2994,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2883,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3006,1
    - Dst: filter_opid_sinks
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2913,1
    - Dst: gf_filter_enumerate_args
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2977,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2997,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2910,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3004,1
    - Dst: napi_filter_cbk_process
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3013,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2973,1
    - Dst: napi_create_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2927,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2935,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2962,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2994,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2853,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2999,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2997,1
    - Dst: napi_has_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3022,1
    - Dst: gf_filter_pid_get_source_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2907,1
    - Dst: filter_all_args
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2966,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2861,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2862,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2982,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2987,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2985,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3001,1
    - Dst: filter_get_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2941,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2960,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2992,1
    - Dst: filter_ipid_source
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2895,1
    - Dst: prop_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2958,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2990,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2992,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2855,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2858,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2870,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2874,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2882,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2953,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2878,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2984,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2871,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2875,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2879,1
    - Dst: napi_f
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2929,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2983,1
    - Dst: gf_filter_pid_enum_destinations
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2932,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2858,1
    - Dst: napi_f
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2909,1
    - Dst: gf_filter_get_info_str
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2955,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2986,1
    - Dst: gf_props_get_id
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2951,1
    - Dst: gf_filter_get_rt_udta
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3017,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2985,1
    - Dst: napi_create_object
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2980,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2838,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2841,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2866,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2947,1
    - Dst: SET_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2863,1
    - Dst: SET_U64
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2867,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2984,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2945,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3003,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2982,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3006,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2980,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2844,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2902,1
    - Dst: napi_get_null
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2960,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3004,1
    - Dst: napi_set_named_property
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2883,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2900,1
    - Dst: NARG_U32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2840,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2904,1
    - Dst: napi_create_string_utf8
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2990,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2846,1
    - Dst: filter_iopid_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2892,1
    - Dst: frac64_to_napi
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2883,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2898,1
    - Dst: napi_create_array
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2973,1
    - Dst: napi_create_int32
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2986,1
    - Dst: filter_opid_stats
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2890,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2922,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2855,1
    - Dst: napi_make_callback
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3028,1
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2918,1
    - Dst: NAPI_CALL
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2927,1
    - Dst: napi_set_element
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2935,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:2924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 170
    argCount: 3
    argNames:
    - env
    - info
    - is_opid
    argTypes:
    - napi_env
    - napi_callback_info
    - Bool
    constantsTouched: []
    func_position:
      end: 3033
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 3033
    functionName: filter_iopid_stats
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_rt_udta
    - napi_create_array
    - napi_set_element
    - gf_filter_release_property
    - frac64_to_napi
    - napi_f
    - gf_filter_pid_get_statistics
    - filter_iopid_stats
    - NARG_STR
    - napi_create_int32
    - filter_all_args
    - napi_create_string_utf8
    - napi_get_value_int32
    - gf_error_to_string
    - gf_props_get_id
    - napi_throw_error
    - napi_make_callback
    - NARG_ARGS_THIS
    - gf_filter_get_info
    - fs_wrap_filter
    - napi_filter_cbk_process
    - filter_ipid_stats
    - napi_set_named_property
    - napi_get_null
    - napi_get_reference_value
    - napi_create_object
    - gf_filter_enumerate_args
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - filter_opid_stats
    - NAPI_CALL
    - gf_filter_pid_get_source_filter
    - filter_opid_sinks
    - filter_get_info
    - gf_filter_get_info_str
    - SET_U32
    - gf_filter_pid_enum_destinations
    - prop_to_napi
    - SET_U64
    - napi_has_named_property
    - filter_ipid_source
    - NARG_U32
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value filter_iopid_stats(napi_env env, napi_callback_info info,
      Bool is_opid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NARG_ARGS_THIS
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3663,1
    - Dst: napi_throw_error
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3670,1
    - Dst: gf_error_to_string
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3670,1
    - Dst: NARG_STR
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3665,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3667,1
    - Dst: fs_wrap_filter
      Src: /src/gpac/share/nodejs/src/gpac_napi.c:3672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - env
    - info
    argTypes:
    - napi_env
    - napi_callback_info
    constantsTouched: []
    func_position:
      end: 3673
      start: 3660
    functionDepth: 0
    functionLinenumber: 3660
    functionLinenumberEnd: 3673
    functionName: fs_load_filter
    functionSourceFile: /src/gpac/share/nodejs/src/gpac_napi.c
    functionUses: []
    functionsReached:
    - fs_wrap_filter
    - gf_error_to_string
    - napi_throw_error
    - NARG_STR
    - NARG_ARGS_THIS
    - gf_fs_load_filter
    linkageType: ''
    returnType: napi_value
    signature: 'napi_value fs_load_filter(napi_env env, napi_callback_info info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_int
      Src: /src/gpac/modules/alsa/alsa.c:50,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/alsa/alsa.c:51,1
    - Dst: snd_pcm_open
      Src: /src/gpac/modules/alsa/alsa.c:55,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:57,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: ALSA_Setup
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - gf_module_get_int
    - snd_pcm_open
    - GF_LOG
    - gf_module_get_key
    - snd_strerror
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ALSA_Setup(GF_AudioOutput*dr, void *os_handle, u32 num_buffers,
      u32 total_duration) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:88,1
    - Dst: snd_pcm_hw_params_malloc
      Src: /src/gpac/modules/alsa/alsa.c:101,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:103,1
    - Dst: snd_pcm_hw_params_set_format
      Src: /src/gpac/modules/alsa/alsa.c:129,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:134,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:143,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:153,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:157,1
    - Dst: snd_pcm_hw_params_set_periods_near
      Src: /src/gpac/modules/alsa/alsa.c:164,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:166,1
    - Dst: snd_pcm_hw_params_free
      Src: /src/gpac/modules/alsa/alsa.c:191,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:173,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:179,1
    - Dst: snd_pcm_close
      Src: /src/gpac/modules/alsa/alsa.c:89,1
    - Dst: snd_pcm_hw_params_any
      Src: /src/gpac/modules/alsa/alsa.c:106,1
    - Dst: snd_pcm_hw_params_set_access
      Src: /src/gpac/modules/alsa/alsa.c:111,1
    - Dst: snd_pcm_hw_params_set_channels_near
      Src: /src/gpac/modules/alsa/alsa.c:151,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:166,1
    - Dst: snd_pcm_hw_params_get_buffer_size
      Src: /src/gpac/modules/alsa/alsa.c:177,1
    - Dst: snd_pcm_hw_params_get_period_time
      Src: /src/gpac/modules/alsa/alsa.c:184,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:188,1
    - Dst: memset
      Src: /src/gpac/modules/alsa/alsa.c:199,1
    - Dst: snd_pcm_hw_params
      Src: /src/gpac/modules/alsa/alsa.c:186,1
    - Dst: snd_pcm_hw_params_free
      Src: /src/gpac/modules/alsa/alsa.c:205,1
    - Dst: gf_free
      Src: /src/gpac/modules/alsa/alsa.c:92,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:97,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:108,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:113,1
    - Dst: snd_pcm_hw_params_set_rate_near
      Src: /src/gpac/modules/alsa/alsa.c:141,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:173,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:179,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:188,1
    - Dst: snd_pcm_close
      Src: /src/gpac/modules/alsa/alsa.c:206,1
    - Dst: snd_pcm_hw_params_set_period_size_near
      Src: /src/gpac/modules/alsa/alsa.c:171,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/alsa/alsa.c:197,1
    - Dst: snd_pcm_open
      Src: /src/gpac/modules/alsa/alsa.c:95,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:97,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:103,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:134,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:113,1
    - Dst: snd_pcm_hw_params_set_format
      Src: /src/gpac/modules/alsa/alsa.c:123,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:108,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:143,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:153,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:200,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 116
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 209
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 209
    functionName: ALSA_Configure
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - snd_pcm_hw_params_set_access
    - GF_LOG
    - snd_strerror
    - snd_pcm_hw_params_get_period_time
    - snd_pcm_hw_params
    - snd_pcm_hw_params_malloc
    - snd_pcm_open
    - snd_pcm_hw_params_set_format
    - gf_free
    - snd_pcm_hw_params_set_periods_near
    - snd_pcm_hw_params_set_channels_near
    - snd_pcm_hw_params_set_period_size_near
    - snd_pcm_hw_params_free
    - snd_pcm_close
    - snd_pcm_hw_params_set_rate_near
    - snd_pcm_hw_params_any
    - snd_pcm_hw_params_get_buffer_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ALSA_Configure(GF_AudioOutput*dr, u32 *SampleRate, u32
      *NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: ALSA_GetAudioDelay
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ALSA_GetAudioDelay(GF_AudioOutput*dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewALSAOutput
      Src: /src/gpac/modules/alsa/alsa.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - NewALSAOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:69,1
    - Dst: gf_free
      Src: /src/gpac/modules/alsa/alsa.c:73,1
    - Dst: snd_pcm_close
      Src: /src/gpac/modules/alsa/alsa.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: ALSA_Shutdown
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - snd_pcm_close
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ALSA_Shutdown(GF_AudioOutput*dr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_wait
      Src: /src/gpac/modules/alsa/alsa.c:219,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:225,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:225,1
    - Dst: snd_pcm_prepare
      Src: /src/gpac/modules/alsa/alsa.c:223,1
    - Dst: snd_pcm_avail_update
      Src: /src/gpac/modules/alsa/alsa.c:230,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:233,1
    - Dst: snd_pcm_prepare
      Src: /src/gpac/modules/alsa/alsa.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:241,1
    - Dst: snd_pcm_writei
      Src: /src/gpac/modules/alsa/alsa.c:250,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:252,1
    - Dst: snd_pcm_prepare
      Src: /src/gpac/modules/alsa/alsa.c:253,1
    - Dst: snd_pcm_writei
      Src: /src/gpac/modules/alsa/alsa.c:254,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:257,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 259
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 259
    functionName: ALSA_WriteAudio
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - snd_pcm_prepare
    - snd_pcm_wait
    - GF_LOG
    - snd_strerror
    - snd_pcm_avail_update
    - snd_pcm_writei
    linkageType: ''
    returnType: void
    signature: 'static void ALSA_WriteAudio(GF_AudioOutput*dr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_hw_params_malloc
      Src: /src/gpac/modules/alsa/alsa.c:273,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:280,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:275,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:275,1
    - Dst: snd_pcm_hw_params_any
      Src: /src/gpac/modules/alsa/alsa.c:278,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:280,1
    - Dst: snd_pcm_hw_params_set_rate_near
      Src: /src/gpac/modules/alsa/alsa.c:284,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:286,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:286,1
    - Dst: snd_pcm_hw_params_set_channels_near
      Src: /src/gpac/modules/alsa/alsa.c:290,1
    - Dst: snd_pcm_hw_params_free
      Src: /src/gpac/modules/alsa/alsa.c:295,1
    - Dst: snd_strerror
      Src: /src/gpac/modules/alsa/alsa.c:292,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/alsa/alsa.c:292,1
    - Dst: snd_pcm_hw_params_free
      Src: /src/gpac/modules/alsa/alsa.c:299,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - dr
    - desired_sr
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: ALSA_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - snd_pcm_hw_params_malloc
    - snd_pcm_hw_params_free
    - snd_pcm_hw_params_set_rate_near
    - GF_LOG
    - snd_pcm_hw_params_any
    - snd_strerror
    - snd_pcm_hw_params_set_channels_near
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ALSA_QueryOutputSampleRate(GF_AudioOutput*dr, u32 *desired_sr,
      u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/alsa/alsa.c:314,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/alsa/alsa.c:333,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/alsa/alsa.c:317,1
    - Dst: gf_free
      Src: /src/gpac/modules/alsa/alsa.c:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 335
    functionName: NewALSAOutput
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewALSAOutput() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteALSAOutput
      Src: /src/gpac/modules/alsa/alsa.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - DeleteALSAOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/alsa/alsa.c:341,1
    - Dst: gf_free
      Src: /src/gpac/modules/alsa/alsa.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: DeleteALSAOutput
    functionSourceFile: /src/gpac/modules/alsa/alsa.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteALSAOutput(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/modules/demo_is/demo_is.c:31,1
    - Dst: AddField
      Src: /src/gpac/modules/demo_is/demo_is.c:33,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 5
    argNames:
    - ifce
    - urn
    - dsi
    - dsi_size
    - (*AddField)
    argTypes:
    - struct __input_device*
    - char*
    - char*
    - u32
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: DEV_RegisterDevice
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached:
    - strcmp
    - AddField
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DEV_RegisterDevice(struct __input_device *ifce, const
      char *urn, const char *dsi, u32 dsi_size, void (*AddField)(struct __input_device
      *_this, u32 fieldType, const char *name)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: DEV_Stop
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void DEV_Stop(struct __input_device *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/demo_is/demo_is.c:84,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/demo_is/demo_is.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/modules/demo_is/demo_is.c:46,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/modules/demo_is/demo_is.c:50,1
    - Dst: strlen
      Src: /src/gpac/modules/demo_is/demo_is.c:49,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/demo_is/demo_is.c:51,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/demo_is/demo_is.c:48,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/demo_is/demo_is.c:52,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/demo_is/demo_is.c:53,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/demo_is/demo_is.c:55,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/demo_is/demo_is.c:56,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/demo_is/demo_is.c:57,1
    - Dst: gf_free
      Src: /src/gpac/modules/demo_is/demo_is.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: DEV_Start
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_bs_align
    - gf_free
    - gf_bs_write_int
    - gf_get_bit_size
    linkageType: ''
    returnType: void
    signature: 'static void DEV_Start(struct __input_device *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/demo_is/demo_is.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/demo_is/demo_is.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: validator_get_snapshot_name
      Src: /src/gpac/modules/validator/validator.c:143,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:150,1
    - Dst: gf_error_to_string
      Src: /src/gpac/modules/validator/validator.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:147,1
    - Dst: gf_sc_get_screen_buffer
      Src: /src/gpac/modules/validator/validator.c:145,1
    - Dst: gf_img_png_enc
      Src: /src/gpac/modules/validator/validator.c:154,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/validator/validator.c:157,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/validator/validator.c:161,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/validator/validator.c:162,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:165,1
    - Dst: gf_sc_release_screen_buffer
      Src: /src/gpac/modules/validator/validator.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:167,1
    - Dst: gf_error_to_string
      Src: /src/gpac/modules/validator/validator.c:167,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 175
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 175
    functionName: validator_create_snapshot
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_error_to_string
    - GF_LOG
    - gf_sc_get_screen_buffer
    - gf_sc_release_screen_buffer
    - validator_get_snapshot_name
    - gf_img_png_enc
    - gf_fwrite
    - gf_fclose
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *validator_create_snapshot(GF_Validator *validator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:1187,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1189
    functionName: validator_delete
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void validator_delete(GF_BaseInterface *ifce) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/modules/validator/validator.c:185,1
    - Dst: gf_file_load_data
      Src: /src/gpac/modules/validator/validator.c:193,1
    - Dst: stricmp
      Src: /src/gpac/modules/validator/validator.c:188,1
    - Dst: stricmp
      Src: /src/gpac/modules/validator/validator.c:187,1
    - Dst: stricmp
      Src: /src/gpac/modules/validator/validator.c:188,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/modules/validator/validator.c:200,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:202,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/modules/validator/validator.c:203,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/modules/validator/validator.c:208,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:210,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/modules/validator/validator.c:211,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 7
    argNames:
    - png_filename
    - hint_codecid
    - width
    - height
    - pixel_format
    - dst
    - dst_size
    argTypes:
    - char*
    - u32*
    - u32*
    - u32*
    - u32*
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 216
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 216
    functionName: validator_file_dec
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_file_load_data
    - gf_img_png_dec
    - gf_img_jpeg_dec
    - stricmp
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err validator_file_dec(char *png_filename, u32 *hint_codecid,
      u32 *width, u32 *height, u32 *pixel_format, char **dst, u32 *dst_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: validator_get_snapshot_name
      Src: /src/gpac/modules/validator/validator.c:229,1
    - Dst: validator_file_dec
      Src: /src/gpac/modules/validator/validator.c:232,1
    - Dst: validator_file_dec
      Src: /src/gpac/modules/validator/validator.c:237,1
    - Dst: validator_get_snapshot_name
      Src: /src/gpac/modules/validator/validator.c:230,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:239,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:246,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:250,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:254,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:258,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:272,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:273,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:271,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:275,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:274,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:264,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 277
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 277
    functionName: validator_compare_snapshots
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - validator_get_snapshot_name
    - validator_file_dec
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool validator_compare_snapshots(GF_Validator *validator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:1166,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:1172,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:1170,1
    - Dst: memset
      Src: /src/gpac/modules/validator/validator.c:1167,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/validator/validator.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1180
    functionName: validator_new
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_CompositorExt*
    signature: 'GF_CompositorExt *validator_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/modules/validator/validator.c:91,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:93,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:99,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:100,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:105,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:114,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:90,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:98,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:109,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:116,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:101,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:108,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:110,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:85,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:87,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:95,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:111,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:120,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:103,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - validator
    - filename
    - scene_time
    argTypes:
    - GF_Validator*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: validator_xvs_add_snapshot_node
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_strdup
    - GF_LOG
    - sprintf
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvs_add_snapshot_node(GF_Validator *validator,
      const char *filename, u32 scene_time) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: validator_create_snapshot
      Src: /src/gpac/modules/validator/validator.c:568,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:570,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/validator/validator.c:569,1
    - Dst: memset
      Src: /src/gpac/modules/validator/validator.c:574,1
    - Dst: validator_xvs_add_snapshot_node
      Src: /src/gpac/modules/validator/validator.c:569,1
    - Dst: gf_sc_on_event
      Src: /src/gpac/modules/validator/validator.c:576,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:582,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/modules/validator/validator.c:583,1
    - Dst: validator_xvs_next
      Src: /src/gpac/modules/validator/validator.c:585,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:588,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/modules/validator/validator.c:589,1
    - Dst: validator_xvs_next
      Src: /src/gpac/modules/validator/validator.c:591,1
    - Dst: validator_xvs_add_event_dom
      Src: /src/gpac/modules/validator/validator.c:598,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 3
    argNames:
    - udta
    - event
    - consumed_by_compositor
    argTypes:
    - void*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 601
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 601
    functionName: validator_on_event_record
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_sc_on_event
    - memset
    - validator_xvs_add_event_dom
    - validator_xvs_close
    - validator_xvs_next
    - gf_sc_disconnect
    - gf_clock_time
    - validator_create_snapshot
    - gf_free
    - validator_xvs_add_snapshot_node
    linkageType: ''
    returnType: Bool
    signature: 'Bool validator_on_event_record(void *udta, GF_Event *event, Bool consumed_by_compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:866,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/modules/validator/validator.c:873,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 877
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 877
    functionName: validator_test_open
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_sc_connect_from_time
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void validator_test_open(GF_Validator *validator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/modules/validator/validator.c:129,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:131,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - validator
    - is_reference
    - number
    argTypes:
    - GF_Validator*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: validator_get_snapshot_name
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - sprintf
    - gf_file_ext_start
    linkageType: ''
    returnType: char*
    signature: 'static char *validator_get_snapshot_name(GF_Validator *validator,
      Bool is_reference, u32 number) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/modules/validator/validator.c:607,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/modules/validator/validator.c:608,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:616,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:610,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/validator/validator.c:614,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:622,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:624,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 629
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 629
    functionName: validator_xvl_open
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_list_get
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - gf_strdup
    - strcmp
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvl_open(GF_Validator *validator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validator_xvl_get_next_xvs
      Src: /src/gpac/modules/validator/validator.c:882,1
    - Dst: validator_test_open
      Src: /src/gpac/modules/validator/validator.c:889,1
    - Dst: validator_xvs_open
      Src: /src/gpac/modules/validator/validator.c:884,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - validator
    - reverse
    argTypes:
    - GF_Validator*
    - Bool
    constantsTouched: []
    func_position:
      end: 901
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 901
    functionName: validator_xvs_next
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - validator_xvs_close
    - validator_xvs_open
    - validator_xvl_get_next_xvs
    - validator_test_open
    linkageType: ''
    returnType: Bool
    signature: 'static Bool validator_xvs_next(GF_Validator *validator, Bool reverse) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/validator/validator.c:323,1
    - Dst: gf_sc_on_event
      Src: /src/gpac/modules/validator/validator.c:325,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 13
    argCount: 3
    argNames:
    - udta
    - event
    - consumed_by_compositor
    argTypes:
    - void*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 330
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 330
    functionName: validator_on_event_play
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_sc_on_event
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'Bool validator_on_event_play(void *udta, GF_Event *event, Bool consumed_by_compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_serialize
      Src: /src/gpac/modules/validator/validator.c:640,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/validator/validator.c:645,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/modules/validator/validator.c:641,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/validator/validator.c:646,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:643,1
    - Dst: strlen
      Src: /src/gpac/modules/validator/validator.c:646,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/validator/validator.c:647,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:648,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 654
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 654
    functionName: validator_xvl_close
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_xml_dom_del
    - sprintf
    - gf_xml_dom_serialize
    - gf_free
    - gf_fwrite
    - gf_fclose
    - gf_fopen
    - gf_file_ext_start
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvl_close(GF_Validator *validator) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/modules/validator/validator.c:933,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:950,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:957,1
    - Dst: atoi
      Src: /src/gpac/modules/validator/validator.c:956,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:963,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:963,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:943,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:961,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/validator/validator.c:960,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:965,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/modules/validator/validator.c:969,1
    - Dst: atoi
      Src: /src/gpac/modules/validator/validator.c:972,1
    - Dst: memset
      Src: /src/gpac/modules/validator/validator.c:908,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:918,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:945,1
    - Dst: atoi
      Src: /src/gpac/modules/validator/validator.c:946,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:947,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:948,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:959,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:952,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:955,1
    - Dst: atoi
      Src: /src/gpac/modules/validator/validator.c:958,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:929,1
    - Dst: atof
      Src: /src/gpac/modules/validator/validator.c:960,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:961,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:965,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:968,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:971,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 980
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 980
    functionName: validator_load_event
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_dom_get_key_type
    - strcmp
    - FLT2FIX
    - atoi
    - gf_dom_event_type_by_name
    - atof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool validator_load_event(GF_Validator *validator) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:367,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:410,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:415,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:422,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/modules/validator/validator.c:477,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:472,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:514,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:403,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:487,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:470,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:456,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:501,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:525,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:355,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:339,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:413,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:417,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:448,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:488,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:512,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:458,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:486,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:337,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:386,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:503,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/modules/validator/validator.c:355,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:451,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:508,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:463,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:518,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:520,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:523,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:436,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:374,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:397,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/validator/validator.c:432,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:461,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:493,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:506,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:421,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:446,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:372,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:391,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:438,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:519,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:443,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:498,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:517,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/modules/validator/validator.c:374,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:407,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:427,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:475,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:432,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:483,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:441,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:361,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:431,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:452,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:527,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:532,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:462,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:507,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:491,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:453,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:375,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:423,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/validator/validator.c:365,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:400,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:411,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:369,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:388,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:405,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:425,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:373,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:477,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:531,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:442,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:412,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:433,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:496,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:479,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/validator/validator.c:481,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 186
    argCount: 2
    argNames:
    - validator
    - event
    argTypes:
    - GF_Validator*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 533
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 533
    functionName: validator_xvs_add_event_dom
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dom_event_get_name
    - gf_malloc
    - gf_strdup
    - GF_LOG
    - sprintf
    - gf_dom_get_key_name
    - gf_scene_get_time
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvs_add_event_dom(GF_Validator *validator, GF_Event
      *event) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:663,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:674,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:678,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - validator
    - reverse
    argTypes:
    - GF_Validator*
    - Bool
    constantsTouched: []
    func_position:
      end: 687
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 687
    functionName: validator_xvl_get_next_xvs
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvl_get_next_xvs(GF_Validator *validator, Bool
      reverse) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1031,1
    - Dst: validator_xvs_next
      Src: /src/gpac/modules/validator/validator.c:1044,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:1090,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/validator/validator.c:1098,1
    - Dst: validator_load_event
      Src: /src/gpac/modules/validator/validator.c:1140,1
    - Dst: validator_xvs_next
      Src: /src/gpac/modules/validator/validator.c:1132,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:998,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:1003,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1007,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/validator/validator.c:1022,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1034,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1024,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:1086,1
    - Dst: validator_create_snapshot
      Src: /src/gpac/modules/validator/validator.c:1117,1
    - Dst: gf_filter_add_event_listener
      Src: /src/gpac/modules/validator/validator.c:1070,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:1118,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:1128,1
    - Dst: validator_load_event
      Src: /src/gpac/modules/validator/validator.c:1126,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:996,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1029,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/validator/validator.c:1020,1
    - Dst: validator_test_open
      Src: /src/gpac/modules/validator/validator.c:1054,1
    - Dst: validator_load_event
      Src: /src/gpac/modules/validator/validator.c:1077,1
    - Dst: gf_filter_remove_event_listener
      Src: /src/gpac/modules/validator/validator.c:1085,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1101,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/validator/validator.c:1109,1
    - Dst: gf_sc_on_event
      Src: /src/gpac/modules/validator/validator.c:1124,1
    - Dst: gf_sc_on_event
      Src: /src/gpac/modules/validator/validator.c:1137,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/modules/validator/validator.c:1130,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/validator/validator.c:1096,1
    - Dst: memset
      Src: /src/gpac/modules/validator/validator.c:1135,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/validator/validator.c:994,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:999,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1004,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:1010,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/validator/validator.c:1014,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/validator/validator.c:1018,1
    - Dst: validator_xvl_open
      Src: /src/gpac/modules/validator/validator.c:1040,1
    - Dst: validator_xvs_open
      Src: /src/gpac/modules/validator/validator.c:1049,1
    - Dst: validator_xvs_close
      Src: /src/gpac/modules/validator/validator.c:1056,1
    - Dst: validator_xvl_close
      Src: /src/gpac/modules/validator/validator.c:1087,1
    - Dst: validator_compare_snapshots
      Src: /src/gpac/modules/validator/validator.c:1119,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 127
    argCount: 3
    argNames:
    - termext
    - action
    - param
    argTypes:
    - GF_CompositorExt*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 1149
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1149
    functionName: validator_process
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_sc_disconnect
    - validator_load_event
    - validator_xvs_close
    - validator_xvs_open
    - strcmp
    - validator_test_open
    - gf_module_get_key
    - validator_create_snapshot
    - gf_filter_add_event_listener
    - validator_xvl_close
    - gf_filter_remove_event_listener
    - validator_xvl_open
    - gf_clock_time
    - validator_compare_snapshots
    - gf_free
    - gf_sc_on_event
    - validator_xvs_next
    - gf_opts_set_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool validator_process(GF_CompositorExt *termext, u32 action,
      void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validator_create_snapshot
      Src: /src/gpac/modules/validator/validator.c:285,1
    - Dst: validator_xvs_add_snapshot_node
      Src: /src/gpac/modules/validator/validator.c:286,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:287,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/validator/validator.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - udta
    - time
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: validator_on_video_frame
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_clock_time
    - validator_create_snapshot
    - gf_free
    - validator_xvs_add_snapshot_node
    linkageType: ''
    returnType: void
    signature: 'static void validator_on_video_frame(void *udta, u32 time) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:704,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/validator/validator.c:706,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:709,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:723,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:733,1
    - Dst: strrchr
      Src: /src/gpac/modules/validator/validator.c:739,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:726,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:692,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:698,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/modules/validator/validator.c:695,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/validator/validator.c:755,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/modules/validator/validator.c:756,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/validator/validator.c:705,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/validator/validator.c:714,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:744,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:761,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:765,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:766,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/modules/validator/validator.c:694,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:700,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/validator/validator.c:754,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/validator/validator.c:753,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 771
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 771
    functionName: validator_xvs_open
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_xml_dom_del
    - gf_list_get
    - gf_list_last
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - strcmp
    - strrchr
    - gf_xml_dom_node_del
    - GF_SAFEALLOC
    - gf_xml_dom_get_root
    - gf_list_new
    linkageType: ''
    returnType: Bool
    signature: 'static Bool validator_xvs_open(GF_Validator *validator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validator_new
      Src: /src/gpac/modules/validator/validator.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - validator_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - udta
    - width
    - height
    - bpp
    argTypes:
    - void*
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: validator_on_video_reconfig
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void validator_on_video_reconfig(void *udta, u32 width, u32
      height, u8 bpp) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:795,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:788,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:804,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:811,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/validator/validator.c:815,1
    - Dst: strlen
      Src: /src/gpac/modules/validator/validator.c:816,1
    - Dst: gf_xml_dom_serialize
      Src: /src/gpac/modules/validator/validator.c:814,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/validator/validator.c:817,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/validator/validator.c:816,1
    - Dst: strcmp
      Src: /src/gpac/modules/validator/validator.c:831,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:797,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:822,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:818,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/validator/validator.c:837,1
    - Dst: gf_free
      Src: /src/gpac/modules/validator/validator.c:845,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:785,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/validator/validator.c:828,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/modules/validator/validator.c:820,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/validator/validator.c:839,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:843,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:846,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:800,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/validator/validator.c:801,1
    - Dst: sprintf
      Src: /src/gpac/modules/validator/validator.c:808,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:809,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/validator/validator.c:842,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/validator/validator.c:849,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 1
    argNames:
    - validator
    argTypes:
    - GF_Validator*
    constantsTouched: []
    func_position:
      end: 859
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 859
    functionName: validator_xvs_close
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_xml_dom_del
    - gf_list_get
    - gf_strdup
    - GF_LOG
    - strcmp
    - sprintf
    - gf_xml_dom_serialize
    - gf_fwrite
    - gf_xml_dom_node_del
    - GF_SAFEALLOC
    - gf_free
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'static void validator_xvs_close(GF_Validator *validator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validator_delete
      Src: /src/gpac/modules/validator/validator.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1216
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/validator/validator.c
    functionUses: []
    functionsReached:
    - validator_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:167,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:172,1
    - Dst: gf_calloc
      Src: /src/gpac/modules/jack/jack.c:169,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:181,1
    - Dst: jack_port_get_buffer
      Src: /src/gpac/modules/jack/jack.c:178,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:187,1
    - Dst: gf_calloc
      Src: /src/gpac/modules/jack/jack.c:188,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:195,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - nframes
    - arg
    argTypes:
    - jack_nframes_t
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 204
    functionName: onBufferSizeChanged
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - jack_port_get_buffer
    - Jack_cleanup
    - GF_LOG
    - gf_calloc
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'static int onBufferSizeChanged (jack_nframes_t nframes, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - nframes
    - arg
    argTypes:
    - jack_nframes_t
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: process_callback
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int process_callback (jack_nframes_t nframes, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: Jack_Shutdown
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - Jack_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void Jack_Shutdown (GF_AudioOutput * dr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jack_get_sample_rate
      Src: /src/gpac/modules/jack/jack.c:274,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/modules/jack/jack.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:275,1
    - Dst: snprintf
      Src: /src/gpac/modules/jack/jack.c:288,1
    - Dst: gf_calloc
      Src: /src/gpac/modules/jack/jack.c:279,1
    - Dst: jack_port_register
      Src: /src/gpac/modules/jack/jack.c:291,1
    - Dst: jack_set_buffer_size_callback
      Src: /src/gpac/modules/jack/jack.c:299,1
    - Dst: jack_set_process_callback
      Src: /src/gpac/modules/jack/jack.c:300,1
    - Dst: jack_get_buffer_size
      Src: /src/gpac/modules/jack/jack.c:302,1
    - Dst: jack_activate
      Src: /src/gpac/modules/jack/jack.c:305,1
    - Dst: jack_connect
      Src: /src/gpac/modules/jack/jack.c:319,1
    - Dst: jack_port_name
      Src: /src/gpac/modules/jack/jack.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:324,1
    - Dst: jack_free
      Src: /src/gpac/modules/jack/jack.c:331,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:337,1
    - Dst: jack_get_ports
      Src: /src/gpac/modules/jack/jack.c:309,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 339
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 339
    functionName: Jack_Configure
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - jack_connect
    - snprintf
    - jack_get_buffer_size
    - jack_port_name
    - jack_free
    - Jack_cleanup
    - jack_set_process_callback
    - GF_LOG
    - gf_audio_fmt_name
    - jack_get_sample_rate
    - gf_calloc
    - jack_set_buffer_size_callback
    - jack_get_ports
    - jack_port_register
    - jack_activate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Jack_Configure(GF_AudioOutput * dr, u32 * SampleRate,
      u32 * NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: Jack_SetPan
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void Jack_SetPan (GF_AudioOutput * dr, u32 Pan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jack_recompute_total_latencies
      Src: /src/gpac/modules/jack/jack.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:394,1
    - Dst: jack_get_sample_rate
      Src: /src/gpac/modules/jack/jack.c:393,1
    - Dst: jack_port_get_total_latency
      Src: /src/gpac/modules/jack/jack.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: Jack_GetAudioDelay
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - jack_port_get_total_latency
    - GF_LOG
    - jack_get_sample_rate
    - jack_recompute_total_latencies
    linkageType: ''
    returnType: u32
    signature: 'static u32 Jack_GetAudioDelay (GF_AudioOutput * dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewJackOutput
      Src: /src/gpac/modules/jack/jack.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - NewJackOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface (u32 InterfaceType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/jack/jack.c:214,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/jack/jack.c:219,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/modules/jack/jack.c:215,1
    - Dst: snprintf
      Src: /src/gpac/modules/jack/jack.c:215,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/jack/jack.c:217,1
    - Dst: jack_client_open
      Src: /src/gpac/modules/jack/jack.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:225,1
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:228,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 240
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 240
    functionName: Jack_Setup
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - snprintf
    - memset
    - Jack_cleanup
    - GF_LOG
    - gf_sys_get_process_id
    - jack_client_open
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Jack_Setup (GF_AudioOutput * dr, void *os_handle, u32
      num_buffers, u32 total_duration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: Jack_SetVolume
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void Jack_SetVolume (GF_AudioOutput * dr, u32 Volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Priority
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: Jack_SetPriority
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Jack_SetPriority (GF_AudioOutput * dr, u32 Priority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jack_get_sample_rate
      Src: /src/gpac/modules/jack/jack.c:406,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - dr
    - desired_sr
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: Jack_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - jack_get_sample_rate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Jack_QueryOutputSampleRate (GF_AudioOutput * dr, u32
      * desired_sr, u32 * NbChannels, u32 * nbBitsPerSample) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/jack/jack.c:424,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/jack/jack.c:458,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:430,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/jack/jack.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 460
    functionName: NewJackOutput
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewJackOutput () '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteJackOutput
      Src: /src/gpac/modules/jack/jack.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - DeleteJackOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface (GF_BaseInterface * ifce) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/jack/jack.c:62,1
    - Dst: jack_port_unregister
      Src: /src/gpac/modules/jack/jack.c:78,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:81,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:69,1
    - Dst: jack_deactivate
      Src: /src/gpac/modules/jack/jack.c:65,1
    - Dst: jack_client_close
      Src: /src/gpac/modules/jack/jack.c:86,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:90,1
    - Dst: memset
      Src: /src/gpac/modules/jack/jack.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JackContext*
    constantsTouched: []
    func_position:
      end: 98
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 98
    functionName: Jack_cleanup
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - memset
    - jack_deactivate
    - GF_LOG
    - gf_free
    - jack_client_close
    - jack_port_unregister
    linkageType: ''
    returnType: void
    signature: 'static void Jack_cleanup (JackContext * ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Jack_cleanup
      Src: /src/gpac/modules/jack/jack.c:467,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:468,1
    - Dst: gf_free
      Src: /src/gpac/modules/jack/jack.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: DeleteJackOutput
    functionSourceFile: /src/gpac/modules/jack/jack.c
    functionUses: []
    functionsReached:
    - Jack_cleanup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteJackOutput (void *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cacao_shutdown
      Src: /src/gpac/modules/caca_out/caca_out.c:79,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/caca_out/caca_out.c:82,1
    - Dst: caca_create_canvas
      Src: /src/gpac/modules/caca_out/caca_out.c:80,1
    - Dst: getenv
      Src: /src/gpac/modules/caca_out/caca_out.c:91,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:87,1
    - Dst: caca_create_display_with_driver
      Src: /src/gpac/modules/caca_out/caca_out.c:97,1
    - Dst: caca_create_display
      Src: /src/gpac/modules/caca_out/caca_out.c:99,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/caca_out/caca_out.c:102,1
    - Dst: caca_set_display_time
      Src: /src/gpac/modules/caca_out/caca_out.c:107,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/caca_out/caca_out.c:108,1
    - Dst: caca_get_canvas_height
      Src: /src/gpac/modules/caca_out/caca_out.c:108,1
    - Dst: caca_get_canvas_width
      Src: /src/gpac/modules/caca_out/caca_out.c:108,1
    - Dst: caca_get_display_driver
      Src: /src/gpac/modules/caca_out/caca_out.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - dr
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - struct _video_out*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: cacao_setup
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - cacao_shutdown
    - caca_get_canvas_height
    - caca_get_canvas_width
    - caca_create_canvas
    - caca_set_display_time
    - GF_LOG
    - caca_get_display_driver
    - gf_module_get_key
    - caca_create_display_with_driver
    - caca_create_display
    - getenv
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_setup(struct _video_out *dr, void *os_handle,
      void *os_display, u32 init_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: caca_dither_bitmap
      Src: /src/gpac/modules/caca_out/caca_out.c:121,1
    - Dst: caca_get_canvas_height
      Src: /src/gpac/modules/caca_out/caca_out.c:121,1
    - Dst: caca_refresh_display
      Src: /src/gpac/modules/caca_out/caca_out.c:123,1
    - Dst: caca_get_canvas_width
      Src: /src/gpac/modules/caca_out/caca_out.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: cacao_flush
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_refresh_display
    - caca_get_canvas_height
    - caca_get_canvas_width
    - caca_dither_bitmap
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/modules/caca_out/caca_out.c:238,1
    - Dst: caca_put_str
      Src: /src/gpac/modules/caca_out/caca_out.c:241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - CacaOutCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: cacao_print_message
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_put_str
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void cacao_print_message(CacaOutCtx *ctx, char *msg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:290,1
    - Dst: caca_set_dither_antialias
      Src: /src/gpac/modules/caca_out/caca_out.c:291,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:292,1
    - Dst: caca_set_dither_color
      Src: /src/gpac/modules/caca_out/caca_out.c:293,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:294,1
    - Dst: caca_set_dither_charset
      Src: /src/gpac/modules/caca_out/caca_out.c:295,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:296,1
    - Dst: caca_set_dither_algorithm
      Src: /src/gpac/modules/caca_out/caca_out.c:297,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:298,1
    - Dst: caca_set_dither_brightness
      Src: /src/gpac/modules/caca_out/caca_out.c:299,1
    - Dst: caca_set_dither_gamma
      Src: /src/gpac/modules/caca_out/caca_out.c:301,1
    - Dst: atof
      Src: /src/gpac/modules/caca_out/caca_out.c:301,1
    - Dst: atof
      Src: /src/gpac/modules/caca_out/caca_out.c:303,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:300,1
    - Dst: atof
      Src: /src/gpac/modules/caca_out/caca_out.c:299,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/caca_out/caca_out.c:302,1
    - Dst: caca_set_dither_contrast
      Src: /src/gpac/modules/caca_out/caca_out.c:303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - dr
    - dither
    argTypes:
    - GF_VideoOutput*
    - caca_dither_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: set_dither_options
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_set_dither_antialias
    - caca_set_dither_contrast
    - caca_set_dither_charset
    - caca_set_dither_color
    - gf_module_get_key
    - caca_set_dither_brightness
    - caca_set_dither_algorithm
    - caca_set_dither_gamma
    - atof
    linkageType: ''
    returnType: void
    signature: 'static void set_dither_options(GF_VideoOutput *dr, caca_dither_t *dither) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/modules/caca_out/caca_out.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - driv
    - nb_args
    - opt_desc
    argTypes:
    - GF_VideoOutput*
    - u32*
    - char*
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: cacao_push_arg
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - gf_strdup
    linkageType: ''
    returnType: GF_GPACArg*
    signature: 'static GF_GPACArg *cacao_push_arg(GF_VideoOutput *driv, u32 *nb_args,
      const char *opt_desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: caca_create_display_with_driver
      Src: /src/gpac/modules/caca_out/caca_out.c:462,1
    - Dst: caca_free_canvas
      Src: /src/gpac/modules/caca_out/caca_out.c:469,1
    - Dst: caca_create_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:472,1
    - Dst: caca_create_canvas
      Src: /src/gpac/modules/caca_out/caca_out.c:457,1
    - Dst: caca_free_display
      Src: /src/gpac/modules/caca_out/caca_out.c:468,1
    - Dst: print_opts
      Src: /src/gpac/modules/caca_out/caca_out.c:473,1
    - Dst: caca_get_dither_color
      Src: /src/gpac/modules/caca_out/caca_out.c:474,1
    - Dst: caca_get_dither_charset
      Src: /src/gpac/modules/caca_out/caca_out.c:475,1
    - Dst: print_opts
      Src: /src/gpac/modules/caca_out/caca_out.c:474,1
    - Dst: print_opts
      Src: /src/gpac/modules/caca_out/caca_out.c:475,1
    - Dst: print_opts
      Src: /src/gpac/modules/caca_out/caca_out.c:476,1
    - Dst: caca_get_dither_antialias
      Src: /src/gpac/modules/caca_out/caca_out.c:473,1
    - Dst: caca_get_dither_algorithm
      Src: /src/gpac/modules/caca_out/caca_out.c:476,1
    - Dst: print_opts
      Src: /src/gpac/modules/caca_out/caca_out.c:467,1
    - Dst: getenv
      Src: /src/gpac/modules/caca_out/caca_out.c:461,1
    - Dst: caca_create_display
      Src: /src/gpac/modules/caca_out/caca_out.c:465,1
    - Dst: caca_get_display_driver_list
      Src: /src/gpac/modules/caca_out/caca_out.c:467,1
    - Dst: caca_get_dither_antialias_list
      Src: /src/gpac/modules/caca_out/caca_out.c:473,1
    - Dst: caca_get_dither_color_list
      Src: /src/gpac/modules/caca_out/caca_out.c:474,1
    - Dst: caca_get_dither_charset_list
      Src: /src/gpac/modules/caca_out/caca_out.c:475,1
    - Dst: caca_get_dither_algorithm_list
      Src: /src/gpac/modules/caca_out/caca_out.c:476,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - drv
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 479
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 479
    functionName: cacao_load_options
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_get_dither_charset_list
    - caca_get_dither_algorithm
    - caca_create_canvas
    - caca_free_dither
    - caca_create_dither
    - caca_get_dither_charset
    - caca_get_dither_algorithm_list
    - print_opts
    - caca_create_display_with_driver
    - caca_free_display
    - caca_get_dither_color
    - caca_get_display_driver_list
    - caca_get_dither_antialias_list
    - caca_get_dither_antialias
    - caca_create_display
    - caca_get_dither_color_list
    - caca_free_canvas
    - getenv
    linkageType: ''
    returnType: void
    signature: 'static void cacao_load_options(GF_VideoOutput *drv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 551
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cacao_del
      Src: /src/gpac/modules/caca_out/caca_out.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - cacao_del
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: caca_free_display
      Src: /src/gpac/modules/caca_out/caca_out.c:62,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/caca_out/caca_out.c:65,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:67,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/modules/caca_out/caca_out.c:66,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:68,1
    - Dst: caca_free_canvas
      Src: /src/gpac/modules/caca_out/caca_out.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: cacao_shutdown
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_free_canvas
    - gf_list_count
    - caca_free_display
    - gf_free
    - caca_free_dither
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cacao_shutdown(GF_VideoOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - dr
    - bFullScreenOn
    - screen_width
    - screen_height
    argTypes:
    - GF_VideoOutput*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cacao_fullscreen
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_fullscreen(GF_VideoOutput *dr, Bool bFullScreenOn,
      u32 *screen_width, u32 *screen_height) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: caca_get_canvas_width
      Src: /src/gpac/modules/caca_out/caca_out.c:149,1
    - Dst: caca_get_canvas_height
      Src: /src/gpac/modules/caca_out/caca_out.c:153,1
    - Dst: memset
      Src: /src/gpac/modules/caca_out/caca_out.c:169,1
    - Dst: memset
      Src: /src/gpac/modules/caca_out/caca_out.c:164,1
    - Dst: caca_get_event_mouse_x
      Src: /src/gpac/modules/caca_out/caca_out.c:147,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:136,1
    - Dst: caca_get_event_mouse_y
      Src: /src/gpac/modules/caca_out/caca_out.c:151,1
    - Dst: caca_get_event_key_ch
      Src: /src/gpac/modules/caca_out/caca_out.c:178,1
    - Dst: memset
      Src: /src/gpac/modules/caca_out/caca_out.c:223,1
    - Dst: memset
      Src: /src/gpac/modules/caca_out/caca_out.c:176,1
    - Dst: caca_get_event
      Src: /src/gpac/modules/caca_out/caca_out.c:132,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:140,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:144,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:155,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:159,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:168,1
    - Dst: caca_get_event_type
      Src: /src/gpac/modules/caca_out/caca_out.c:163,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 111
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 231
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 231
    functionName: cacao_check_event
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_get_event_mouse_x
    - caca_get_canvas_height
    - caca_get_canvas_width
    - caca_get_event
    - memset
    - caca_get_event_key_ch
    - caca_get_event_mouse_y
    - caca_get_event_type
    linkageType: ''
    returnType: void
    signature: 'static void cacao_check_event(GF_VideoOutput *dr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cacao_check_event
      Src: /src/gpac/modules/caca_out/caca_out.c:253,1
    - Dst: caca_set_mouse
      Src: /src/gpac/modules/caca_out/caca_out.c:259,1
    - Dst: caca_set_cursor
      Src: /src/gpac/modules/caca_out/caca_out.c:260,1
    - Dst: caca_set_display_title
      Src: /src/gpac/modules/caca_out/caca_out.c:263,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:268,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:270,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:276,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:278,1
    - Dst: cacao_print_message
      Src: /src/gpac/modules/caca_out/caca_out.c:282,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - dr
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: cacao_process_event
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - caca_free_dither
    - cacao_check_event
    - caca_set_mouse
    - cacao_print_message
    - gf_free
    - caca_set_display_title
    - caca_set_cursor
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_process_event(GF_VideoOutput *dr, GF_Event *evt) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/caca_out/caca_out.c:313,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/caca_out/caca_out.c:361,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/caca_out/caca_out.c:315,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:366,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/caca_out/caca_out.c:359,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/modules/caca_out/caca_out.c:367,1
    - Dst: caca_create_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:368,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/caca_out/caca_out.c:372,1
    - Dst: set_dither_options
      Src: /src/gpac/modules/caca_out/caca_out.c:377,1
    - Dst: caca_get_canvas_width
      Src: /src/gpac/modules/caca_out/caca_out.c:381,1
    - Dst: caca_get_canvas_height
      Src: /src/gpac/modules/caca_out/caca_out.c:382,1
    - Dst: caca_dither_bitmap
      Src: /src/gpac/modules/caca_out/caca_out.c:390,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 5
    argNames:
    - dr
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 392
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 392
    functionName: cacao_blit
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - caca_get_canvas_height
    - gf_list_get
    - caca_get_canvas_width
    - gf_list_count
    - gf_pixel_get_bytes_per_pixel
    - caca_create_dither
    - GF_LOG
    - set_dither_options
    - GF_SAFEALLOC
    - caca_dither_bitmap
    - caca_free_dither
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_blit(GF_VideoOutput *dr, GF_VideoSurface *video_src,
      GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cacao_push_arg
      Src: /src/gpac/modules/caca_out/caca_out.c:441,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/caca_out/caca_out.c:442,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/modules/caca_out/caca_out.c:446,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/modules/caca_out/caca_out.c:447,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/modules/caca_out/caca_out.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - driv
    - nb_args
    - opt_name
    - opt_desc
    - values
    - def
    argTypes:
    - GF_VideoOutput*
    - u32*
    - char*
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: print_opts
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - cacao_push_arg
    - gf_strdup
    linkageType: ''
    returnType: void
    signature: 'static void print_opts(GF_VideoOutput *driv, u32 *nb_args, const char
      *opt_name, const char *opt_desc, char const * const * values, const char *def) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/caca_out/caca_out.c:486,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/caca_out/caca_out.c:487,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/caca_out/caca_out.c:489,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/caca_out/caca_out.c:501,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/modules/caca_out/caca_out.c:504,1
    - Dst: cacao_load_options
      Src: /src/gpac/modules/caca_out/caca_out.c:505,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/caca_out/caca_out.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 510
    functionName: cacao_new
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - cacao_load_options
    - GF_REGISTER_MODULE_INTERFACE
    - gf_opts_set_key
    - GF_SAFEALLOC
    - gf_list_new
    - gf_opts_get_bool
    linkageType: ''
    returnType: void*
    signature: 'static void *cacao_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/caca_out/caca_out.c:400,1
    - Dst: set_dither_options
      Src: /src/gpac/modules/caca_out/caca_out.c:405,1
    - Dst: caca_create_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:403,1
    - Dst: memset
      Src: /src/gpac/modules/caca_out/caca_out.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - driv
    - video_info
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 415
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 415
    functionName: cacao_lock_backbuffer
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - caca_create_dither
    - memset
    - set_dither_options
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cacao_lock_backbuffer(GF_VideoOutput *driv, GF_VideoSurface
      *video_info, Bool do_lock) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: caca_free_display
      Src: /src/gpac/modules/caca_out/caca_out.c:516,1
    - Dst: caca_free_canvas
      Src: /src/gpac/modules/caca_out/caca_out.c:517,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/caca_out/caca_out.c:519,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:521,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/modules/caca_out/caca_out.c:520,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:522,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:526,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:527,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/caca_out/caca_out.c:530,1
    - Dst: caca_free_dither
      Src: /src/gpac/modules/caca_out/caca_out.c:532,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:536,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:533,1
    - Dst: gf_free
      Src: /src/gpac/modules/caca_out/caca_out.c:537,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/caca_out/caca_out.c:535,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 538
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 538
    functionName: cacao_del
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - caca_free_dither
    - gf_list_count
    - caca_free_display
    - gf_opts_set_key
    - gf_free
    - caca_free_canvas
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cacao_del(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cacao_new
      Src: /src/gpac/modules/caca_out/caca_out.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/caca_out/caca_out.c
    functionUses: []
    functionsReached:
    - cacao_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:60,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:78,1
    - Dst: AndroidBitmap_getInfo
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - dr
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - GF_VideoOutput*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: RAW_Setup
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - AndroidBitmap_getInfo
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RAW_Setup(GF_VideoOutput *dr, void *os_handle, void *os_display,
      u32 init_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: RAW_Flush
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RAW_Flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:138,1
    - Dst: raw_resize
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - dr
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: RAW_ProcessEvent
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - raw_resize
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RAW_ProcessEvent(GF_VideoOutput *dr, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteVideoOutput
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - DeleteVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - dr
    - w
    - h
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: raw_resize
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err raw_resize(GF_VideoOutput *dr, u32 w, u32 h) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:103,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:111,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:106,1
    - Dst: AndroidBitmap_lockPixels
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:110,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:115,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:116,1
    - Dst: AndroidBitmap_unlockPixels
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - dr
    - vi
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 134
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 134
    functionName: RAW_LockBackBuffer
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - AndroidBitmap_unlockPixels
    - GF_LOG
    - memset
    - AndroidBitmap_lockPixels
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RAW_LockBackBuffer(GF_VideoOutput *dr, GF_VideoSurface
      *vi, Bool do_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: RAW_Shutdown
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void RAW_Shutdown(GF_VideoOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:154,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:158,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:159,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:155,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:171,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: NewRawVideoOutput
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: GF_VideoOutput*
    signature: 'GF_VideoOutput *NewRawVideoOutput() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAW_Shutdown
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:185,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:182,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: DeleteVideoOutput
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - RAW_Shutdown
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteVideoOutput(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewRawVideoOutput
      Src: /src/gpac/modules/droid_out/droid_vout-bitmap.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout-bitmap.c
    functionUses: []
    functionsReached:
    - NewRawVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:279,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:281,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:282,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:280,1
    - Dst: strstr
      Src: /src/gpac/modules/droid_out/droid_vout.c:286,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:288,1
    - Dst: strstr
      Src: /src/gpac/modules/droid_out/droid_vout.c:290,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:292,1
    - Dst: glShadeModel
      Src: /src/gpac/modules/droid_out/droid_vout.c:296,1
    - Dst: glEnable
      Src: /src/gpac/modules/droid_out/droid_vout.c:305,1
    - Dst: glHint
      Src: /src/gpac/modules/droid_out/droid_vout.c:311,1
    - Dst: glClearColor
      Src: /src/gpac/modules/droid_out/droid_vout.c:299,1
    - Dst: glDepthFunc
      Src: /src/gpac/modules/droid_out/droid_vout.c:308,1
    - Dst: glClearDepthf
      Src: /src/gpac/modules/droid_out/droid_vout.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 312
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 312
    functionName: initGL
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glClearDepthf
    - glGetString
    - glDepthFunc
    - GF_LOG
    - glEnable
    - glShadeModel
    - glClearColor
    - strstr
    - glHint
    linkageType: ''
    returnType: void
    signature: 'static void initGL(AndroidContext *rc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:552,1
    - Dst: resizeWindow
      Src: /src/gpac/modules/droid_out/droid_vout.c:575,1
    - Dst: find_pow_2
      Src: /src/gpac/modules/droid_out/droid_vout.c:571,1
    - Dst: find_pow_2
      Src: /src/gpac/modules/droid_out/droid_vout.c:570,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:574,1
    - Dst: createTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:578,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - dr
    - w
    - h
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 582
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 582
    functionName: droid_Resize
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gl_check_error
    - find_pow_2
    - createTexture
    - resizeWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_Resize(GF_VideoOutput *dr, u32 w, u32 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:612,1
    - Dst: releaseTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: droid_Shutdown
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - releaseTexture
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void droid_Shutdown(GF_VideoOutput *dr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout.c:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - dr
    - vi
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 654
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 654
    functionName: droid_LockBackBuffer
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_LockBackBuffer(GF_VideoOutput *dr, GF_VideoSurface
      *vi, Bool do_lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:588,1
    - Dst: glUniform1i
      Src: /src/gpac/modules/droid_out/droid_vout.c:598,1
    - Dst: gf_glGetUniformLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:597,1
    - Dst: glUseProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:596,1
    - Dst: initGLES2
      Src: /src/gpac/modules/droid_out/droid_vout.c:594,1
    - Dst: initGL
      Src: /src/gpac/modules/droid_out/droid_vout.c:603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - dr
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - GF_VideoOutput*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 606
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 606
    functionName: droid_Setup
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - initGL
    - initGLES2
    - glUseProgram
    - GF_LOG
    - gf_glGetUniformLocation
    - glUniform1i
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_Setup(GF_VideoOutput *dr, void *os_handle, void
      *os_display, u32 init_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawGLScene
      Src: /src/gpac/modules/droid_out/droid_vout.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: droid_Flush
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - drawGLScene
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_Flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:669,1
    - Dst: calculate_ortho
      Src: /src/gpac/modules/droid_out/droid_vout.c:669,1
    - Dst: glMatrixMode
      Src: /src/gpac/modules/droid_out/droid_vout.c:682,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:679,1
    - Dst: glLoadIdentity
      Src: /src/gpac/modules/droid_out/droid_vout.c:676,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:667,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:669,1
    - Dst: glOrthox
      Src: /src/gpac/modules/droid_out/droid_vout.c:679,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:679,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:679,1
    - Dst: droid_Resize
      Src: /src/gpac/modules/droid_out/droid_vout.c:697,1
    - Dst: glUseProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:668,1
    - Dst: load_matrix_shaders
      Src: /src/gpac/modules/droid_out/droid_vout.c:671,1
    - Dst: glLoadIdentity
      Src: /src/gpac/modules/droid_out/droid_vout.c:685,1
    - Dst: droid_Resize
      Src: /src/gpac/modules/droid_out/droid_vout.c:689,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:669,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:669,1
    - Dst: load_matrix_shaders
      Src: /src/gpac/modules/droid_out/droid_vout.c:670,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:672,1
    - Dst: glMatrixMode
      Src: /src/gpac/modules/droid_out/droid_vout.c:675,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:679,1
    - Dst: droid_Resize
      Src: /src/gpac/modules/droid_out/droid_vout.c:694,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - dr
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 714
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 714
    functionName: droid_ProcessEvent
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - droid_Resize
    - glUseProgram
    - INT2FIX
    - gl_check_error
    - calculate_ortho
    - glLoadIdentity
    - glOrthox
    - load_matrix_shaders
    - glMatrixMode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_ProcessEvent(GF_VideoOutput *dr, GF_Event *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetError
      Src: /src/gpac/modules/droid_out/droid_vout.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: gl_check_error
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - glGetError
    linkageType: ''
    returnType: void
    signature: 'static inline void gl_check_error() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:170,1
    - Dst: glClearDepthf
      Src: /src/gpac/modules/droid_out/droid_vout.c:181,1
    - Dst: glCreateShader
      Src: /src/gpac/modules/droid_out/droid_vout.c:198,1
    - Dst: glAttachShader
      Src: /src/gpac/modules/droid_out/droid_vout.c:206,1
    - Dst: glUseProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:219,1
    - Dst: glGetProgramiv
      Src: /src/gpac/modules/droid_out/droid_vout.c:214,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:174,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:172,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:173,1
    - Dst: glGetString
      Src: /src/gpac/modules/droid_out/droid_vout.c:171,1
    - Dst: glDepthFunc
      Src: /src/gpac/modules/droid_out/droid_vout.c:187,1
    - Dst: compile_shader
      Src: /src/gpac/modules/droid_out/droid_vout.c:201,1
    - Dst: glAttachShader
      Src: /src/gpac/modules/droid_out/droid_vout.c:207,1
    - Dst: glCreateShader
      Src: /src/gpac/modules/droid_out/droid_vout.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:200,1
    - Dst: glLinkProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:208,1
    - Dst: glClearColor
      Src: /src/gpac/modules/droid_out/droid_vout.c:178,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:194,1
    - Dst: glCreateProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:196,1
    - Dst: gf_mx_init
      Src: /src/gpac/modules/droid_out/droid_vout.c:195,1
    - Dst: glGetProgramiv
      Src: /src/gpac/modules/droid_out/droid_vout.c:210,1
    - Dst: glEnable
      Src: /src/gpac/modules/droid_out/droid_vout.c:184,1
    - Dst: compile_shader
      Src: /src/gpac/modules/droid_out/droid_vout.c:203,1
    - Dst: glGetProgramInfoLog
      Src: /src/gpac/modules/droid_out/droid_vout.c:215,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:216,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 222
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 222
    functionName: initGLES2
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glClearDepthf
    - glGetString
    - glDepthFunc
    - glAttachShader
    - glUseProgram
    - GF_LOG
    - glEnable
    - glLinkProgram
    - gl_check_error
    - gf_mx_init
    - glCreateProgram
    - glGetProgramiv
    - glGetProgramInfoLog
    - glCreateShader
    - compile_shader
    - glClearColor
    linkageType: ''
    returnType: Bool
    signature: 'static Bool initGLES2(AndroidContext *rc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteAndroidVideoOutput
      Src: /src/gpac/modules/droid_out/droid_vout.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - DeleteAndroidVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:231,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:232,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/droid_out/droid_vout.c:241,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:237,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:234,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/modules/droid_out/droid_vout.c:242,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/modules/droid_out/droid_vout.c:244,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - program
    - mat
    - name
    argTypes:
    - GLuint
    - Fixed*
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: load_matrix_shaders
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glUniformMatrix4fv
    - GF_LOG
    - gl_check_error
    - glGetUniformLocation
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void load_matrix_shaders(GLuint program, Fixed *mat, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewAndroidVideoOutput
      Src: /src/gpac/modules/droid_out/droid_vout.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - NewAndroidVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/droid_out/droid_vout.c:148,1
    - Dst: glGetShaderiv
      Src: /src/gpac/modules/droid_out/droid_vout.c:155,1
    - Dst: glGetShaderiv
      Src: /src/gpac/modules/droid_out/droid_vout.c:152,1
    - Dst: glShaderSource
      Src: /src/gpac/modules/droid_out/droid_vout.c:149,1
    - Dst: glCompileShader
      Src: /src/gpac/modules/droid_out/droid_vout.c:150,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout.c:157,1
    - Dst: glGetShaderInfoLog
      Src: /src/gpac/modules/droid_out/droid_vout.c:158,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:159,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - shader_id
    - name
    - source
    argTypes:
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 165
    functionName: compile_shader
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - glCompileShader
    - glShaderSource
    - glGetShaderiv
    - GF_LOG
    - glGetShaderInfoLog
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool compile_shader(u32 shader_id, const char *name, const
      char *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:375,1
    - Dst: glBindTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:396,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:397,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:404,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:409,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:399,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:398,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:403,1
    - Dst: glTexEnvx
      Src: /src/gpac/modules/droid_out/droid_vout.c:401,1
    - Dst: glTexParameteriv
      Src: /src/gpac/modules/droid_out/droid_vout.c:414,1
    - Dst: glFinish
      Src: /src/gpac/modules/droid_out/droid_vout.c:486,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:483,1
    - Dst: glClear
      Src: /src/gpac/modules/droid_out/droid_vout.c:387,1
    - Dst: glUseProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:394,1
    - Dst: glEnableClientState
      Src: /src/gpac/modules/droid_out/droid_vout.c:422,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/modules/droid_out/droid_vout.c:427,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/modules/droid_out/droid_vout.c:436,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/modules/droid_out/droid_vout.c:440,1
    - Dst: glDisableClientState
      Src: /src/gpac/modules/droid_out/droid_vout.c:476,1
    - Dst: glDisable
      Src: /src/gpac/modules/droid_out/droid_vout.c:481,1
    - Dst: glMaterialfv
      Src: /src/gpac/modules/droid_out/droid_vout.c:382,1
    - Dst: glMaterialfv
      Src: /src/gpac/modules/droid_out/droid_vout.c:383,1
    - Dst: glMaterialfv
      Src: /src/gpac/modules/droid_out/droid_vout.c:384,1
    - Dst: glColor4f
      Src: /src/gpac/modules/droid_out/droid_vout.c:381,1
    - Dst: glActiveTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:395,1
    - Dst: glDrawTexsOES
      Src: /src/gpac/modules/droid_out/droid_vout.c:415,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:418,1
    - Dst: glLoadIdentity
      Src: /src/gpac/modules/droid_out/droid_vout.c:430,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:438,1
    - Dst: glDrawArrays
      Src: /src/gpac/modules/droid_out/droid_vout.c:473,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:432,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/modules/droid_out/droid_vout.c:441,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:388,1
    - Dst: glEnable
      Src: /src/gpac/modules/droid_out/droid_vout.c:392,1
    - Dst: glTexImage2D
      Src: /src/gpac/modules/droid_out/droid_vout.c:406,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:412,1
    - Dst: glEnableClientState
      Src: /src/gpac/modules/droid_out/droid_vout.c:423,1
    - Dst: glVertexPointer
      Src: /src/gpac/modules/droid_out/droid_vout.c:426,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/modules/droid_out/droid_vout.c:435,1
    - Dst: glDisableClientState
      Src: /src/gpac/modules/droid_out/droid_vout.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 74
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 487
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 487
    functionName: drawGLScene
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glUseProgram
    - glBindTexture
    - glTexParameteri
    - glColor4f
    - glEnable
    - glDrawTexsOES
    - glDrawArrays
    - glActiveTexture
    - glTexCoordPointer
    - glTexEnvx
    - glTexImage2D
    - glFinish
    - gl_check_error
    - glEnableVertexAttribArray
    - glLoadIdentity
    - glGetAttribLocation
    - glVertexAttribPointer
    - glDisableClientState
    - glVertexPointer
    - glClear
    - glDisable
    - glEnableClientState
    - glMaterialfv
    - glTexParameteriv
    linkageType: ''
    returnType: void
    signature: 'static void drawGLScene(AndroidContext *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: droid_Resize
      Src: /src/gpac/modules/droid_out/droid_vout.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - dr
    - bOn
    - outWidth
    - outHeight
    argTypes:
    - GF_VideoOutput*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: droid_SetFullScreen
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - droid_Resize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err droid_SetFullScreen(GF_VideoOutput *dr, Bool bOn, u32
      *outWidth, u32 *outHeight) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: droid_Shutdown
      Src: /src/gpac/modules/droid_out/droid_vout.c:759,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout.c:761,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: DeleteAndroidVideoOutput
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - droid_Shutdown
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteAndroidVideoOutput(void *ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:491,1
    - Dst: glDeleteTextures
      Src: /src/gpac/modules/droid_out/droid_vout.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:494,1
    - Dst: gf_free
      Src: /src/gpac/modules/droid_out/droid_vout.c:502,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 507
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 507
    functionName: releaseTexture
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - gl_check_error
    - glDeleteTextures
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'static int releaseTexture(AndroidContext *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout.c:729,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout.c:731,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/droid_out/droid_vout.c:732,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout.c:734,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:730,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 752
    functionName: NewAndroidVideoOutput
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - gf_malloc
    - GF_LOG
    - memset
    linkageType: ''
    returnType: GF_VideoOutput*
    signature: 'GF_VideoOutput *NewAndroidVideoOutput() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetAttribLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:131,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - glsl_program
    - attrib_name
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: gf_glGetAttribLocation
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glGetAttribLocation
    - GF_LOG
    linkageType: ''
    returnType: GLint
    signature: 'static GLint gf_glGetAttribLocation(u32 glsl_program, const char *attrib_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/gpac/modules/droid_out/droid_vout.c:320,1
    - Dst: glFrustumx
      Src: /src/gpac/modules/droid_out/droid_vout.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - fovy
    - aspect
    - zNear
    - zFar
    argTypes:
    - GLfloat
    - GLfloat
    - GLfloat
    - GLfloat
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: gluPerspective
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glFrustumx
    - tan
    linkageType: ''
    returnType: void
    signature: 'static void gluPerspective(GLfloat fovy, GLfloat aspect, GLfloat zNear,
      GLfloat zFar) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: releaseTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:514,1
    - Dst: memset
      Src: /src/gpac/modules/droid_out/droid_vout.c:521,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_out/droid_vout.c:520,1
    - Dst: glGenTextures
      Src: /src/gpac/modules/droid_out/droid_vout.c:518,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:516,1
    - Dst: glBindTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:524,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:525,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:526,1
    - Dst: glTexEnvx
      Src: /src/gpac/modules/droid_out/droid_vout.c:528,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:530,1
    - Dst: glTexImage2D
      Src: /src/gpac/modules/droid_out/droid_vout.c:533,1
    - Dst: glBindTexture
      Src: /src/gpac/modules/droid_out/droid_vout.c:536,1
    - Dst: glTexParameteri
      Src: /src/gpac/modules/droid_out/droid_vout.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 538
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 538
    functionName: createTexture
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - glBindTexture
    - glTexParameteri
    - releaseTexture
    - glTexEnvx
    - GF_LOG
    - glTexImage2D
    - glGenTextures
    linkageType: ''
    returnType: int
    signature: 'static int createTexture(AndroidContext *rc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/modules/droid_out/droid_vout.c:122,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - glsl_program
    - uniform_name
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: gf_glGetUniformLocation
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glGetUniformLocation
    - GF_LOG
    linkageType: ''
    returnType: GLint
    signature: 'static GLint gf_glGetUniformLocation(u32 glsl_program, const char
      *uniform_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:255,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:263,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:262,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:264,1
    - Dst: gf_mx_init
      Src: /src/gpac/modules/droid_out/droid_vout.c:259,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:265,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:266,1
    - Dst: gf_divfix
      Src: /src/gpac/modules/droid_out/droid_vout.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 7
    argNames:
    - left
    - right
    - bottom
    - top
    - near
    - far
    - rc
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: calculate_ortho
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_divfix
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void calculate_ortho(Fixed left, Fixed right, Fixed bottom,
      Fixed top, Fixed near, Fixed far, AndroidContext *rc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:356,1
    - Dst: calculate_ortho
      Src: /src/gpac/modules/droid_out/droid_vout.c:356,1
    - Dst: glLoadIdentity
      Src: /src/gpac/modules/droid_out/droid_vout.c:352,1
    - Dst: load_matrix_shaders
      Src: /src/gpac/modules/droid_out/droid_vout.c:358,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:346,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:354,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:356,1
    - Dst: gl_check_error
      Src: /src/gpac/modules/droid_out/droid_vout.c:359,1
    - Dst: glMatrixMode
      Src: /src/gpac/modules/droid_out/droid_vout.c:342,1
    - Dst: glMatrixMode
      Src: /src/gpac/modules/droid_out/droid_vout.c:349,1
    - Dst: glUseProgram
      Src: /src/gpac/modules/droid_out/droid_vout.c:355,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_out/droid_vout.c:332,1
    - Dst: glLoadIdentity
      Src: /src/gpac/modules/droid_out/droid_vout.c:343,1
    - Dst: glViewport
      Src: /src/gpac/modules/droid_out/droid_vout.c:339,1
    - Dst: glOrthox
      Src: /src/gpac/modules/droid_out/droid_vout.c:346,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:346,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:346,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:346,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:356,1
    - Dst: load_matrix_shaders
      Src: /src/gpac/modules/droid_out/droid_vout.c:357,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/droid_out/droid_vout.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - rc
    argTypes:
    - AndroidContext*
    constantsTouched: []
    func_position:
      end: 361
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 361
    functionName: resizeWindow
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached:
    - glMatrixMode
    - glUseProgram
    - glViewport
    - GF_LOG
    - INT2FIX
    - gl_check_error
    - glOrthox
    - calculate_ortho
    - load_matrix_shaders
    - glLoadIdentity
    linkageType: ''
    returnType: void
    signature: 'static void resizeWindow(AndroidContext *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 547
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 547
    functionName: find_pow_2
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 find_pow_2(u32 num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/droid_out/droid_vout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XvQueryExtension
      Src: /src/gpac/modules/x11_out/x11_out.c:123,1
    - Dst: X11_GetPixelFormat
      Src: /src/gpac/modules/x11_out/x11_out.c:140,1
    - Dst: XvListImageFormats
      Src: /src/gpac/modules/x11_out/x11_out.c:135,1
    - Dst: DefaultRootWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:124,1
    - Dst: XvQueryAdaptors
      Src: /src/gpac/modules/x11_out/x11_out.c:124,1
    - Dst: is_same_yuv
      Src: /src/gpac/modules/x11_out/x11_out.c:142,1
    - Dst: XvQueryPortAttributes
      Src: /src/gpac/modules/x11_out/x11_out.c:148,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:150,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:151,1
    - Dst: XvGetPortAttribute
      Src: /src/gpac/modules/x11_out/x11_out.c:152,1
    - Dst: XvGrabPort
      Src: /src/gpac/modules/x11_out/x11_out.c:169,1
    - Dst: free
      Src: /src/gpac/modules/x11_out/x11_out.c:163,1
    - Dst: XvFreeAdaptorInfo
      Src: /src/gpac/modules/x11_out/x11_out.c:181,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:178,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 3
    argNames:
    - vout
    - pixel_format
    - check_color
    argTypes:
    - GF_VideoOutput*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 184
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 184
    functionName: X11_GetXVideoPort
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XvGetPortAttribute
    - X11_GetPixelFormat
    - is_same_yuv
    - XFree
    - strcmp
    - XvListImageFormats
    - DefaultRootWindow
    - XvGrabPort
    - XvFreeAdaptorInfo
    - XvQueryExtension
    - XvQueryPortAttributes
    - XInternAtom
    - free
    - XvQueryAdaptors
    linkageType: ''
    returnType: int
    signature: 'static int X11_GetXVideoPort(GF_VideoOutput *vout, u32 pixel_format,
      Bool check_color) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:736,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:739,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:742,1
    - Dst: glXCreateContext
      Src: /src/gpac/modules/x11_out/x11_out.c:741,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:740,1
    - Dst: glXMakeCurrent
      Src: /src/gpac/modules/x11_out/x11_out.c:747,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/x11_out/x11_out.c:750,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:751,1
    - Dst: my_glXSwapIntervalEXT
      Src: /src/gpac/modules/x11_out/x11_out.c:753,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:755,1
    - Dst: my_glXSwapIntervalMESA
      Src: /src/gpac/modules/x11_out/x11_out.c:757,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:767,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:759,1
    - Dst: my_glXSwapIntervalSGI
      Src: /src/gpac/modules/x11_out/x11_out.c:761,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - vout
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 773
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 773
    functionName: X11_SetupGL
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - my_glXSwapIntervalEXT
    - memset
    - GF_LOG
    - glXGetProcAddress
    - glXCreateContext
    - glXMakeCurrent
    - my_glXSwapIntervalMESA
    - my_glXSwapIntervalSGI
    - XSync
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err X11_SetupGL(GF_VideoOutput *vout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X11_DestroyOverlay
      Src: /src/gpac/modules/x11_out/x11_out.c:192,1
    - Dst: X11_GetXVideoPort
      Src: /src/gpac/modules/x11_out/x11_out.c:194,1
    - Dst: XvCreateImage
      Src: /src/gpac/modules/x11_out/x11_out.c:203,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:205,1
    - Dst: X11_GetXVideoPort
      Src: /src/gpac/modules/x11_out/x11_out.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:209,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/modules/x11_out/x11_out.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - vout
    - VideoWidth
    - VideoHeight
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 214
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: X11_InitOverlay
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - X11_GetXVideoPort
    - gf_4cc_to_str
    - XvCreateImage
    - X11_DestroyOverlay
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err X11_InitOverlay(GF_VideoOutput *vout, u32 VideoWidth,
      u32 VideoHeight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/modules/x11_out/x11_out.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: X11_GetPixelFormat
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - GF_4CC
    linkageType: ''
    returnType: u32
    signature: 'static u32 X11_GetPixelFormat(u32 pf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X11_InitOverlay
      Src: /src/gpac/modules/x11_out/x11_out.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:265,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:242,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:246,1
    - Dst: XvCreateImage
      Src: /src/gpac/modules/x11_out/x11_out.c:243,1
    - Dst: XvPutImage
      Src: /src/gpac/modules/x11_out/x11_out.c:270,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 5
    argNames:
    - vout
    - video_src
    - src
    - dest
    - overlay_type
    argTypes:
    - struct _video_out*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 275
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 275
    functionName: X11_Blit
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XFree
    - XvPutImage
    - GF_LOG
    - XvCreateImage
    - X11_InitOverlay
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_Blit(struct _video_out *vout, GF_VideoSurface *video_src,
      GF_Window *src, GF_Window *dest, u32 overlay_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:777,1
    - Dst: glXMakeCurrent
      Src: /src/gpac/modules/x11_out/x11_out.c:779,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:784,1
    - Dst: glXDestroyContext
      Src: /src/gpac/modules/x11_out/x11_out.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - xWin
    argTypes:
    - XWindow*
    constantsTouched: []
    func_position:
      end: 785
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 785
    functionName: X11_ReleaseGL
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - glXDestroyContext
    - glXMakeCurrent
    - XSync
    linkageType: ''
    returnType: void
    signature: 'static void X11_ReleaseGL(XWindow *xWin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/x11_out/x11_out.c:1583,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/x11_out/x11_out.c:1590,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/modules/x11_out/x11_out.c:1604,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:1587,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/x11_out/x11_out.c:1585,1
    - Dst: x11_translate_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1606,1
    - Dst: X11_BadAccess_ByPass
      Src: /src/gpac/modules/x11_out/x11_out.c:1607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1614
    functionName: NewX11VideoOutput
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - x11_translate_key
    - GF_REGISTER_MODULE_INTERFACE
    - X11_BadAccess_ByPass
    - gf_sys_is_test_mode
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewX11VideoOutput () '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: XNextEvent
      Src: /src/gpac/modules/x11_out/x11_out.c:539,1
    - Dst: XConvertSelection
      Src: /src/gpac/modules/x11_out/x11_out.c:614,1
    - Dst: XGetWindowProperty
      Src: /src/gpac/modules/x11_out/x11_out.c:618,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:634,1
    - Dst: XGetSelectionOwner
      Src: /src/gpac/modules/x11_out/x11_out.c:642,1
    - Dst: XGetSelectionOwner
      Src: /src/gpac/modules/x11_out/x11_out.c:645,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:639,1
    - Dst: XGetSelectionOwner
      Src: /src/gpac/modules/x11_out/x11_out.c:607,1
    - Dst: utf8_to_ucs4
      Src: /src/gpac/modules/x11_out/x11_out.c:589,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/x11_out/x11_out.c:620,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:627,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:630,1
    - Dst: DefaultRootWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:638,1
    - Dst: XSetInputFocus
      Src: /src/gpac/modules/x11_out/x11_out.c:655,1
    - Dst: XChangeProperty
      Src: /src/gpac/modules/x11_out/x11_out.c:638,1
    - Dst: strlen
      Src: /src/gpac/modules/x11_out/x11_out.c:638,1
    - Dst: XSetSelectionOwner
      Src: /src/gpac/modules/x11_out/x11_out.c:643,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:715,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:573,1
    - Dst: x11_translate_key
      Src: /src/gpac/modules/x11_out/x11_out.c:581,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:605,1
    - Dst: XSetSelectionOwner
      Src: /src/gpac/modules/x11_out/x11_out.c:646,1
    - Dst: XSetInputFocus
      Src: /src/gpac/modules/x11_out/x11_out.c:688,1
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:531,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:536,1
    - Dst: X11_Pending
      Src: /src/gpac/modules/x11_out/x11_out.c:538,1
    - Dst: XLookupString
      Src: /src/gpac/modules/x11_out/x11_out.c:587,1
    - Dst: DefaultRootWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:609,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:613,1
    - Dst: XKeycodeToKeysym
      Src: /src/gpac/modules/x11_out/x11_out.c:581,1
    - Dst: memcpy
      Src: /src/gpac/modules/x11_out/x11_out.c:622,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 162
    argCount: 1
    argNames:
    - vout
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 725
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 725
    functionName: X11_HandleEvents
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XSetSelectionOwner
    - gf_malloc
    - strlen
    - memset
    - XFree
    - XSetInputFocus
    - XKeycodeToKeysym
    - x11_translate_key
    - X11VID
    - utf8_to_ucs4
    - XLookupString
    - XChangeProperty
    - memcpy
    - XInternAtom
    - X11_Pending
    - gf_free
    - XNextEvent
    - XGetWindowProperty
    - DefaultRootWindow
    - XGetSelectionOwner
    - XConvertSelection
    - XSync
    linkageType: ''
    returnType: void
    signature: 'static void X11_HandleEvents(GF_VideoOutput *vout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:906,1
    - Dst: X11_InitBackBuffer
      Src: /src/gpac/modules/x11_out/x11_out.c:911,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - vout
    - newWidth
    - newHeight
    argTypes:
    - struct _video_out*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 914
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 914
    functionName: X11_ResizeBackBuffer
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11VID
    - X11_InitBackBuffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_ResizeBackBuffer (struct _video_out *vout, u32 newWidth,
      u32 newHeight) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:1001,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1023,1
    - Dst: XCreateGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1015,1
    - Dst: XSetInputFocus
      Src: /src/gpac/modules/x11_out/x11_out.c:1025,1
    - Dst: XFreeGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1014,1
    - Dst: XMoveResizeWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1017,1
    - Dst: X11_SetupGL
      Src: /src/gpac/modules/x11_out/x11_out.c:1055,1
    - Dst: XMapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1041,1
    - Dst: XGrabKeyboard
      Src: /src/gpac/modules/x11_out/x11_out.c:1027,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:1030,1
    - Dst: XCreateGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1039,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1040,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:1046,1
    - Dst: XMapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1024,1
    - Dst: XRaiseWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1026,1
    - Dst: XUngrabKeyboard
      Src: /src/gpac/modules/x11_out/x11_out.c:1042,1
    - Dst: XFreeGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - vout
    - bFullScreenOn
    - screen_width
    - screen_height
    argTypes:
    - struct _video_out*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1058
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1058
    functionName: X11_SetFullScreen
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XUngrabKeyboard
    - X11VID
    - XUnmapWindow
    - memset
    - XMoveResizeWindow
    - XFreeGC
    - XRaiseWindow
    - XGrabKeyboard
    - X11_SetupGL
    - XCreateGC
    - XSetInputFocus
    - XMapWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_SetFullScreen (struct _video_out * vout, u32 bFullScreenOn,
      u32 * screen_width, u32 * screen_height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:1536,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:1544,1
    - Dst: X11_ReleaseGL
      Src: /src/gpac/modules/x11_out/x11_out.c:1542,1
    - Dst: X11_ReleaseBackBuffer
      Src: /src/gpac/modules/x11_out/x11_out.c:1539,1
    - Dst: XFreeGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1547,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1548,1
    - Dst: XDestroyWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1549,1
    - Dst: XDestroyWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1550,1
    - Dst: glXDestroyGLXPixmap
      Src: /src/gpac/modules/x11_out/x11_out.c:1552,1
    - Dst: XFreePixmap
      Src: /src/gpac/modules/x11_out/x11_out.c:1553,1
    - Dst: XDestroyWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1555,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:1562,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1554,1
    - Dst: XCloseDisplay
      Src: /src/gpac/modules/x11_out/x11_out.c:1561,1
    - Dst: X11_XScreenSaverState
      Src: /src/gpac/modules/x11_out/x11_out.c:1559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - vout
    argTypes:
    - struct _video_out*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1564
    functionName: X11_Shutdown
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11_ReleaseGL
    - X11VID
    - XUnmapWindow
    - XFree
    - XFreeGC
    - XFreePixmap
    - XCloseDisplay
    - X11_ReleaseBackBuffer
    - XDestroyWindow
    - gf_free
    - X11_XScreenSaverState
    - glXDestroyGLXPixmap
    linkageType: ''
    returnType: void
    signature: 'void X11_Shutdown (struct _video_out *vout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteX11VideoOutput
      Src: /src/gpac/modules/x11_out/x11_out.c:1659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1662
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - DeleteX11VideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface (GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XFlush
      Src: /src/gpac/modules/x11_out/x11_out.c:503,1
    - Dst: FD_ZERO
      Src: /src/gpac/modules/x11_out/x11_out.c:512,1
    - Dst: ConnectionNumber
      Src: /src/gpac/modules/x11_out/x11_out.c:511,1
    - Dst: FD_SET
      Src: /src/gpac/modules/x11_out/x11_out.c:513,1
    - Dst: XEventsQueued
      Src: /src/gpac/modules/x11_out/x11_out.c:504,1
    - Dst: select
      Src: /src/gpac/modules/x11_out/x11_out.c:514,1
    - Dst: XPending
      Src: /src/gpac/modules/x11_out/x11_out.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - display
    argTypes:
    - Display*
    constantsTouched: []
    func_position:
      end: 520
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 520
    functionName: X11_Pending
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - select
    - FD_SET
    - XEventsQueued
    - XPending
    - ConnectionNumber
    - FD_ZERO
    - XFlush
    linkageType: ''
    returnType: int
    signature: 'static int X11_Pending(Display *display) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:841,1
    - Dst: X11_ReleaseBackBuffer
      Src: /src/gpac/modules/x11_out/x11_out.c:845,1
    - Dst: shmget
      Src: /src/gpac/modules/x11_out/x11_out.c:857,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/x11_out/x11_out.c:856,1
    - Dst: shmat
      Src: /src/gpac/modules/x11_out/x11_out.c:858,1
    - Dst: XShmAttach
      Src: /src/gpac/modules/x11_out/x11_out.c:860,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:861,1
    - Dst: XShmCreatePixmap
      Src: /src/gpac/modules/x11_out/x11_out.c:863,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:866,1
    - Dst: XSetWindowBackgroundPixmap
      Src: /src/gpac/modules/x11_out/x11_out.c:867,1
    - Dst: shmget
      Src: /src/gpac/modules/x11_out/x11_out.c:876,1
    - Dst: XShmAttach
      Src: /src/gpac/modules/x11_out/x11_out.c:881,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/x11_out/x11_out.c:885,1
    - Dst: shmat
      Src: /src/gpac/modules/x11_out/x11_out.c:879,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/x11_out/x11_out.c:872,1
    - Dst: XShmCreateImage
      Src: /src/gpac/modules/x11_out/x11_out.c:873,1
    - Dst: XCreateImage
      Src: /src/gpac/modules/x11_out/x11_out.c:886,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 3
    argNames:
    - vout
    - VideoWidth
    - VideoHeight
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 899
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 899
    functionName: X11_InitBackBuffer
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - X11VID
    - memset
    - XShmAttach
    - GF_LOG
    - XSetWindowBackgroundPixmap
    - X11_ReleaseBackBuffer
    - XCreateImage
    - shmget
    - XShmCreatePixmap
    - XShmCreateImage
    - GF_SAFEALLOC
    - shmat
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_InitBackBuffer (GF_VideoOutput * vout, u32 VideoWidth,
      u32 VideoHeight) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:918,1
    - Dst: XStoreName
      Src: /src/gpac/modules/x11_out/x11_out.c:929,1
    - Dst: X11_SetupWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:920,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:943,1
    - Dst: XTranslateCoordinates
      Src: /src/gpac/modules/x11_out/x11_out.c:943,1
    - Dst: XMoveWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:944,1
    - Dst: XMoveWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:946,1
    - Dst: XGetWindowAttributes
      Src: /src/gpac/modules/x11_out/x11_out.c:957,1
    - Dst: XMoveResizeWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:958,1
    - Dst: XSetInputFocus
      Src: /src/gpac/modules/x11_out/x11_out.c:959,1
    - Dst: X11_SetupGL
      Src: /src/gpac/modules/x11_out/x11_out.c:969,1
    - Dst: XResizeWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:961,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:983,1
    - Dst: glXMakeCurrent
      Src: /src/gpac/modules/x11_out/x11_out.c:982,1
    - Dst: X11_HandleEvents
      Src: /src/gpac/modules/x11_out/x11_out.c:992,1
    - Dst: X11_ResizeBackBuffer
      Src: /src/gpac/modules/x11_out/x11_out.c:975,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 2
    argNames:
    - vout
    - evt
    argTypes:
    - struct _video_out*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 996
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 996
    functionName: X11_ProcessEvent
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11_HandleEvents
    - X11VID
    - XStoreName
    - XTranslateCoordinates
    - XMoveResizeWindow
    - GF_LOG
    - XMoveWindow
    - X11_SetupWindow
    - RootWindowOfScreen
    - glXMakeCurrent
    - X11_ResizeBackBuffer
    - X11_SetupGL
    - XGetWindowAttributes
    - XSetInputFocus
    - XResizeWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_ProcessEvent (struct _video_out * vout, GF_Event * evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:1065,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:1069,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - vout
    - vi
    - do_lock
    argTypes:
    - struct _video_out*
    - GF_VideoSurface*
    - u32
    constantsTouched: []
    func_position:
      end: 1092
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1092
    functionName: X11_LockBackBuffer
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11VID
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_LockBackBuffer(struct _video_out * vout, GF_VideoSurface
      * vi, u32 do_lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:1515,1
    - Dst: XMapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - os_handle
    - os_display
    - flags
    argTypes:
    - struct _video_out*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1531
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1531
    functionName: X11_Setup
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11VID
    - XMapWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_Setup(struct _video_out *vout, void *os_handle, void *os_display,
      u32 flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1635
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewX11VideoOutput
      Src: /src/gpac/modules/x11_out/x11_out.c:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1647
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1647
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - NewX11VideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface (u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:1620,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vout
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1622
    functionName: DeleteX11VideoOutput
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteX11VideoOutput (GF_VideoOutput * vout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:61,1
    - Dst: XvUngrabPort
      Src: /src/gpac/modules/x11_out/x11_out.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - xwin
    argTypes:
    - XWindow*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: X11_DestroyOverlay
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XFree
    - XvUngrabPort
    linkageType: ''
    returnType: void
    signature: 'static void X11_DestroyOverlay(XWindow *xwin) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - a_pf
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: is_same_yuv
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_same_yuv(u32 pf, u32 a_pf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - X11Key
    - evt
    argTypes:
    - u32
    - GF_EventKey*
    constantsTouched: []
    func_position:
      end: 493
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 493
    functionName: x11_translate_key
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void x11_translate_key(u32 X11Key, GF_EventKey *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: old_handler
      Src: /src/gpac/modules/x11_out/x11_out.c:1109,1
    - Dst: XGetErrorText
      Src: /src/gpac/modules/x11_out/x11_out.c:1112,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - display
    - event
    argTypes:
    - Display*
    - XErrorEvent*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1116
    functionName: X11_BadAccess_ByPass
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - XGetErrorText
    - old_handler
    linkageType: ''
    returnType: int
    signature: 'static int X11_BadAccess_ByPass(Display * display, XErrorEvent * event) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: DefaultVisualOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1157,1
    - Dst: XHeightMMOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1164,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1205,1
    - Dst: XSelectInput
      Src: /src/gpac/modules/x11_out/x11_out.c:1212,1
    - Dst: DisplayWidth
      Src: /src/gpac/modules/x11_out/x11_out.c:1197,1
    - Dst: XChangeProperty
      Src: /src/gpac/modules/x11_out/x11_out.c:1300,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1254,1
    - Dst: X11_GetXVideoPort
      Src: /src/gpac/modules/x11_out/x11_out.c:1331,1
    - Dst: XChangeWindowAttributes
      Src: /src/gpac/modules/x11_out/x11_out.c:1361,1
    - Dst: my_glXGetFBConfigAttrib
      Src: /src/gpac/modules/x11_out/x11_out.c:1466,1
    - Dst: XMapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1235,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1239,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:1377,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1422,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1491,1
    - Dst: XCreateGC
      Src: /src/gpac/modules/x11_out/x11_out.c:1304,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/gpac/modules/x11_out/x11_out.c:1156,1
    - Dst: XWidthMMOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1162,1
    - Dst: XCreateWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1204,1
    - Dst: XSetErrorHandler
      Src: /src/gpac/modules/x11_out/x11_out.c:1241,1
    - Dst: XSendEvent
      Src: /src/gpac/modules/x11_out/x11_out.c:1382,1
    - Dst: XSetWMNormalHints
      Src: /src/gpac/modules/x11_out/x11_out.c:1267,1
    - Dst: my_glXChooseFBConfig
      Src: /src/gpac/modules/x11_out/x11_out.c:1451,1
    - Dst: XChangeWindowAttributes
      Src: /src/gpac/modules/x11_out/x11_out.c:1358,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1342,1
    - Dst: X11_GetXVideoPort
      Src: /src/gpac/modules/x11_out/x11_out.c:1327,1
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:1138,1
    - Dst: XWidthOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1161,1
    - Dst: XCreateWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1228,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:1300,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1348,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:1448,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1455,1
    - Dst: DefaultScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1155,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1308,1
    - Dst: XShmQueryVersion
      Src: /src/gpac/modules/x11_out/x11_out.c:1312,1
    - Dst: XGetWindowAttributes
      Src: /src/gpac/modules/x11_out/x11_out.c:1225,1
    - Dst: XUnmapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1488,1
    - Dst: XvUngrabPort
      Src: /src/gpac/modules/x11_out/x11_out.c:1337,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1219,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1238,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/x11_out/x11_out.c:1324,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1392,1
    - Dst: glXChooseVisual
      Src: /src/gpac/modules/x11_out/x11_out.c:1470,1
    - Dst: WhitePixel
      Src: /src/gpac/modules/x11_out/x11_out.c:1355,1
    - Dst: XSetErrorHandler
      Src: /src/gpac/modules/x11_out/x11_out.c:1248,1
    - Dst: XSelectInput
      Src: /src/gpac/modules/x11_out/x11_out.c:1250,1
    - Dst: XMapWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1258,1
    - Dst: my_glXGetVisualFromFBConfig
      Src: /src/gpac/modules/x11_out/x11_out.c:1460,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1487,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1419,1
    - Dst: XCreateWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1218,1
    - Dst: XSetWMNormalHints
      Src: /src/gpac/modules/x11_out/x11_out.c:1273,1
    - Dst: XSetWMProtocols
      Src: /src/gpac/modules/x11_out/x11_out.c:1366,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1428,1
    - Dst: my_glXGetFBConfigAttrib
      Src: /src/gpac/modules/x11_out/x11_out.c:1465,1
    - Dst: XCreateWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:1479,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1152,1
    - Dst: XSetClassHint
      Src: /src/gpac/modules/x11_out/x11_out.c:1279,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1382,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:1300,1
    - Dst: atoi
      Src: /src/gpac/modules/x11_out/x11_out.c:1420,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1493,1
    - Dst: DefaultDepth
      Src: /src/gpac/modules/x11_out/x11_out.c:1158,1
    - Dst: DisplayHeight
      Src: /src/gpac/modules/x11_out/x11_out.c:1198,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1314,1
    - Dst: X11_GetXVideoPort
      Src: /src/gpac/modules/x11_out/x11_out.c:1325,1
    - Dst: XkbSetDetectableAutoRepeat
      Src: /src/gpac/modules/x11_out/x11_out.c:1283,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1396,1
    - Dst: memset
      Src: /src/gpac/modules/x11_out/x11_out.c:1374,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1329,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1467,1
    - Dst: XSetWMNormalHints
      Src: /src/gpac/modules/x11_out/x11_out.c:1498,1
    - Dst: XInternAtom
      Src: /src/gpac/modules/x11_out/x11_out.c:1365,1
    - Dst: XOpenDisplay
      Src: /src/gpac/modules/x11_out/x11_out.c:1150,1
    - Dst: my_glXGetFBConfigAttrib
      Src: /src/gpac/modules/x11_out/x11_out.c:1464,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1479,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:1510,1
    - Dst: XHeightOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1163,1
    - Dst: XStoreName
      Src: /src/gpac/modules/x11_out/x11_out.c:1268,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1247,1
    - Dst: RootWindowOfScreen
      Src: /src/gpac/modules/x11_out/x11_out.c:1376,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1475,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:1494,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:1496,1
    - Dst: X11_XScreenSaverState
      Src: /src/gpac/modules/x11_out/x11_out.c:1508,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1316,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:1309,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/x11_out/x11_out.c:1333,1
    - Dst: XShmPixmapFormat
      Src: /src/gpac/modules/x11_out/x11_out.c:1315,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:1432,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:1446,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/x11_out/x11_out.c:1346,1
    - Dst: XInitThreads
      Src: /src/gpac/modules/x11_out/x11_out.c:1148,1
    - Dst: XSelectInput
      Src: /src/gpac/modules/x11_out/x11_out.c:1243,1
    - Dst: XAllocSizeHints
      Src: /src/gpac/modules/x11_out/x11_out.c:1260,1
    - Dst: atoi
      Src: /src/gpac/modules/x11_out/x11_out.c:1394,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/x11_out/x11_out.c:1430,1
    - Dst: glXGetProcAddress
      Src: /src/gpac/modules/x11_out/x11_out.c:1447,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1489,1
    - Dst: strcmp
      Src: /src/gpac/modules/x11_out/x11_out.c:1499,1
    - Dst: X11_GetPixelFormat
      Src: /src/gpac/modules/x11_out/x11_out.c:1339,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:1240,1
    - Dst: BlackPixel
      Src: /src/gpac/modules/x11_out/x11_out.c:1356,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 322
    argCount: 1
    argNames:
    - vout
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1511
    functionName: X11_SetupWindow
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - XSetErrorHandler
    - memset
    - XWidthOfScreen
    - XSelectInput
    - my_glXChooseFBConfig
    - XFree
    - GF_LOG
    - DefaultVisualOfScreen
    - XCreateWindow
    - DefaultDepth
    - XAllocSizeHints
    - XGetWindowAttributes
    - DefaultScreen
    - XOpenDisplay
    - my_glXGetVisualFromFBConfig
    - X11VID
    - XUnmapWindow
    - XWidthMMOfScreen
    - XSetWMNormalHints
    - XSetClassHint
    - XHeightOfScreen
    - strcmp
    - X11_GetXVideoPort
    - XSendEvent
    - DisplayHeight
    - gf_module_get_key
    - my_glXGetFBConfigAttrib
    - DisplayWidth
    - atoi
    - XkbSetDetectableAutoRepeat
    - XvUngrabPort
    - XChangeWindowAttributes
    - X11_GetPixelFormat
    - XSync
    - XChangeProperty
    - glXChooseVisual
    - XInitThreads
    - glXGetProcAddress
    - XShmPixmapFormat
    - XSetWMProtocols
    - XInternAtom
    - X11_XScreenSaverState
    - XMapWindow
    - gf_opts_get_key
    - XShmQueryVersion
    - XStoreName
    - BlackPixel
    - WhitePixel
    - XHeightMMOfScreen
    - RootWindowOfScreen
    - gf_opts_set_key
    - XCreateGC
    - DefaultScreenOfDisplay
    linkageType: ''
    returnType: void
    signature: 'void X11_SetupWindow (GF_VideoOutput * vout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XSetScreenSaver
      Src: /src/gpac/modules/x11_out/x11_out.c:1123,1
    - Dst: XGetScreenSaver
      Src: /src/gpac/modules/x11_out/x11_out.c:1126,1
    - Dst: XSetScreenSaver
      Src: /src/gpac/modules/x11_out/x11_out.c:1128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - xwin
    - turn_on
    argTypes:
    - XWindow*
    - Bool
    constantsTouched: []
    func_position:
      end: 1130
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1130
    functionName: X11_XScreenSaverState
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - XGetScreenSaver
    - XSetScreenSaver
    linkageType: ''
    returnType: void
    signature: 'static void X11_XScreenSaverState(XWindow *xwin, Bool turn_on) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:792,1
    - Dst: XFreePixmap
      Src: /src/gpac/modules/x11_out/x11_out.c:801,1
    - Dst: XShmDetach
      Src: /src/gpac/modules/x11_out/x11_out.c:799,1
    - Dst: XDestroyImage
      Src: /src/gpac/modules/x11_out/x11_out.c:805,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:794,1
    - Dst: shmdt
      Src: /src/gpac/modules/x11_out/x11_out.c:809,1
    - Dst: shmctl
      Src: /src/gpac/modules/x11_out/x11_out.c:811,1
    - Dst: gf_free
      Src: /src/gpac/modules/x11_out/x11_out.c:812,1
    - Dst: XFree
      Src: /src/gpac/modules/x11_out/x11_out.c:817,1
    - Dst: X11_DestroyOverlay
      Src: /src/gpac/modules/x11_out/x11_out.c:822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - vout
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 825
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 825
    functionName: X11_ReleaseBackBuffer
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11VID
    - shmctl
    - XFree
    - XFreePixmap
    - shmdt
    - XShmDetach
    - gf_free
    - XDestroyImage
    - X11_DestroyOverlay
    linkageType: ''
    returnType: void
    signature: 'static void X11_ReleaseBackBuffer (GF_VideoOutput * vout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X11VID
      Src: /src/gpac/modules/x11_out/x11_out.c:286,1
    - Dst: glFlush
      Src: /src/gpac/modules/x11_out/x11_out.c:294,1
    - Dst: XClearWindow
      Src: /src/gpac/modules/x11_out/x11_out.c:302,1
    - Dst: glXSwapBuffers
      Src: /src/gpac/modules/x11_out/x11_out.c:295,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:293,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:303,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:305,1
    - Dst: XShmPutImage
      Src: /src/gpac/modules/x11_out/x11_out.c:306,1
    - Dst: XSync
      Src: /src/gpac/modules/x11_out/x11_out.c:311,1
    - Dst: XPutImage
      Src: /src/gpac/modules/x11_out/x11_out.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - vout
    - dest
    argTypes:
    - struct _video_out*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 317
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 317
    functionName: X11_Flush
    functionSourceFile: /src/gpac/modules/x11_out/x11_out.c
    functionUses: []
    functionsReached:
    - X11VID
    - XPutImage
    - glXSwapBuffers
    - XShmPutImage
    - glFlush
    - XSync
    - XClearWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err X11_Flush(struct _video_out *vout, GF_Window * dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:238,1
    - Dst: SENS_Stop
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:240,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:238,1
    - Dst: SENS_DestroyInstance
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dr
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: MPEGVS_Stop
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - SENS_Stop
    - gf_th_id
    - GF_LOG
    - SENS_DestroyInstance
    linkageType: ''
    returnType: void
    signature: 'void MPEGVS_Stop(struct __input_device * dr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:170,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:198,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:186,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:188,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:202,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:207,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:212,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:169,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:171,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:180,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:184,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:197,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:189,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:199,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:208,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:158,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:168,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:161,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:172,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:179,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:196,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:201,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:214,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:177,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:187,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:194,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:200,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:203,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 215
    functionName: MPEGVSensorCallback
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_mx_try_lock
    - sscanf
    - gf_bs_new
    - gf_bs_align
    - gf_free
    - gf_bs_write_int
    - gf_bs_write_float
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void MPEGVSensorCallback( void* ptr, const char* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewMPEGVSInputSesor
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - NewMPEGVSInputSesor
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:135,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:132,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:134,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:144,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:100,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:108,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:102,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:136,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:68,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:70,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:64,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:76,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:116,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:59,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:62,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:74,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:84,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:86,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:92,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:94,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:124,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 5
    argNames:
    - dr
    - urn
    - dsi
    - dsi_size
    - (*AddField)
    argTypes:
    - struct __input_device*
    - char*
    - char*
    - u32
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 147
    functionName: MPEGVS_RegisterDevice
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcmp
    - strcpy
    - strnicmp
    - AddField
    linkageType: ''
    returnType: Bool
    signature: 'Bool MPEGVS_RegisterDevice(struct __input_device *dr, const char *urn,
      const char *dsi, u32 dsi_size, void (*AddField)(struct __input_device *_this,
      u32 fieldType, const char *name)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:249,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:258,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:251,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:257,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:250,1
    - Dst: gf_mx_new
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: NewMPEGVSInputSesor
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx_new
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: GF_InputSensorDevice*
    signature: 'GF_InputSensorDevice * NewMPEGVSInputSesor() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:221,1
    - Dst: SENS_Stop
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:224,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:221,1
    - Dst: SENS_CreateInstance
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:228,1
    - Dst: SENS_DestroyInstance
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:225,1
    - Dst: SENS_SetSensorType
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:229,1
    - Dst: SENS_SetCallback
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:230,1
    - Dst: SENS_Start
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dr
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: MPEGVS_Start
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - SENS_SetCallback
    - SENS_DestroyInstance
    - GF_LOG
    - SENS_CreateInstance
    - SENS_Stop
    - gf_th_id
    - SENS_SetSensorType
    - SENS_Start
    linkageType: ''
    returnType: void
    signature: 'void MPEGVS_Start(struct __input_device * dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPEGVS_Stop
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:268,1
    - Dst: gf_mx_del
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:270,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:272,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - GF_InputSensorDevice*
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: DeleteMPEGVSInputSensor
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - MPEGVS_Stop
    - gf_free
    - gf_mx_del
    linkageType: ''
    returnType: void
    signature: 'void DeleteMPEGVSInputSensor(GF_InputSensorDevice* dev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteMPEGVSInputSensor
      Src: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/ios_mpegv.c
    functionUses: []
    functionsReached:
    - DeleteMPEGVSInputSensor
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: CLLocationManagerDelegate
    functionSourceFile: /src/gpac/modules/deprecated/ios_mpegv/SensorAccess.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface SensorAccess : NSObject < CLLocationManagerDelegate > '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:69,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:71,1
    - Dst: open
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:75,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:72,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: OSS_Setup
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - OSSCTX
    - atoi
    - open
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OSS_Setup(GF_AudioOutput*dr, void *os_handle, u32 num_buffers,
      u32 total_duration) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: OSS_SetVolume
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void OSS_SetVolume(GF_AudioOutput*dr, u32 Volume) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:103,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:109,1
    - Dst: close
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:108,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:107,1
    - Dst: open
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:111,1
    - Dst: fcntl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:116,1
    - Dst: fcntl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:118,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:121,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:138,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:140,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:154,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:159,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:156,1
    - Dst: gf_realloc
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:157,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 161
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 161
    functionName: OSS_Configure
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - memset
    - gf_realloc
    - GF_LOG
    - fcntl
    - OSSCTX
    - ioctl
    - open
    - close
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OSS_Configure(GF_AudioOutput*dr, u32 *SampleRate, u32
      *NbChannels, u32 *audioFormat, u32 channel_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Priority
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: OSS_SetPriority
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void OSS_SetPriority(GF_AudioOutput*dr, u32 Priority) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:204,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:210,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:215,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:211,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:214,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:217,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - dr
    - desired_sr
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: OSS_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - OSSCTX
    - GF_LOG
    - ioctl
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OSS_QueryOutputSampleRate(GF_AudioOutput*dr, u32 *desired_sr,
      u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewOSSRender
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - NewOSSRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:166,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:172,1
    - Dst: write
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: OSS_WriteAudio
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - OSSCTX
    - GF_LOG
    - write
    linkageType: ''
    returnType: void
    signature: 'static void OSS_WriteAudio(GF_AudioOutput*dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:91,1
    - Dst: close
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:93,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:94,1
    - Dst: ioctl
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: OSS_Shutdown
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - OSSCTX
    - close
    - ioctl
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void OSS_Shutdown(GF_AudioOutput*dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: OSS_SetPan
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void OSS_SetPan(GF_AudioOutput*dr, u32 Pan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSCTX
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: OSS_GetAudioDelay
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - OSSCTX
    linkageType: ''
    returnType: u32
    signature: 'static u32 OSS_GetAudioDelay(GF_AudioOutput*dr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:227,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:234,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:238,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:230,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:231,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: NewOSSRender
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewOSSRender() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteOSSRender
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - DeleteOSSRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:259,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/oss_audio/oss.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: DeleteOSSRender
    functionSourceFile: /src/gpac/modules/deprecated/oss_audio/oss.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteOSSRender(void *ifce) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:77,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:85,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:93,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:101,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: JNI_OnLoad
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - LOGE
    linkageType: ''
    returnType: jint
    signature: 'jint JNI_OnLoad(JavaVM* vm, void* reserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: GetJavaVM
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JavaVM*
    signature: 'JavaVM * GetJavaVM() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:178,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:179,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:175,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:179,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:182,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:190,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - rc
    argTypes:
    - MPEGVSensorContext*
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: loadSensorControler
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void loadSensorControler(MPEGVSensorContext *rc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:332,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:339,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:351,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:346,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:355,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:361,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:322,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:331,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:338,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:340,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:353,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:354,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:359,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:364,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:313,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:323,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:321,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:329,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:336,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:349,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:341,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:352,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:360,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:320,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:324,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:350,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - dr
    - data
    argTypes:
    - struct __input_device*
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 367
    functionName: MPEGVS_OnData
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - sscanf
    - gf_bs_new
    - gf_bs_align
    - gf_free
    - gf_bs_write_int
    - gf_bs_write_float
    linkageType: ''
    returnType: u32
    signature: 'u32 MPEGVS_OnData(struct __input_device * dr, const char* data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:384,1
    - Dst: loadSensorControler
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:386,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:384,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:396,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:396,1
    - Dst: unloadSensorController
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 410
    functionName: ThreadRun
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_th_id
    - loadSensorControler
    - gf_sleep
    - unloadSensorController
    linkageType: ''
    returnType: u32
    signature: 'u32 ThreadRun(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_status
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:427,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:430,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - dr
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: MPEGVS_Stop
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - gf_th_status
    - gf_sleep
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'void MPEGVS_Stop(struct __input_device * dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewMPEGVSInputSesor
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - NewMPEGVSInputSesor
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:161,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rc
    argTypes:
    - MPEGVSensorContext*
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: unloadSensorController
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    linkageType: ''
    returnType: void
    signature: 'void unloadSensorController(MPEGVSensorContext *rc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: JNI_OnUnload
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JNI_OnUnload(JavaVM *vm, void *reserved) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:218,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:272,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:220,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:224,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:226,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:280,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:274,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:282,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:288,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:290,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:291,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:300,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:230,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:292,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:266,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:215,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:232,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:234,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:240,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:242,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:250,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:258,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:248,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:256,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:264,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 5
    argNames:
    - dr
    - urn
    - dsi
    - dsi_size
    - (*AddField)
    argTypes:
    - struct __input_device*
    - char*
    - char*
    - u32
    - void
    constantsTouched: []
    func_position:
      end: 303
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 303
    functionName: MPEGVS_RegisterDevice
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcmp
    - strcpy
    - strnicmp
    - AddField
    linkageType: ''
    returnType: Bool
    signature: 'Bool MPEGVS_RegisterDevice(struct __input_device *dr, const char *urn,
      const char *dsi, u32 dsi_size, void (*AddField)(struct __input_device *_this,
      u32 fieldType, const char *name)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPEGVS_OnData
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - env
    - thiz
    - ptr
    - data
    argTypes:
    - JNIEnv*
    - jobject
    - jint
    - jstring
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: Java_com_gpac_Osmo4_MPEGVSensor_sendData
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - MPEGVS_OnData
    linkageType: ''
    returnType: JNIEXPORT
    signature: 'JNIEXPORT void Java_com_gpac_Osmo4_MPEGVSensor_sendData( JNIEnv* env,
      jobject thiz, jint ptr, jstring data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:416,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dr
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: MPEGVS_Start
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - gf_th_new
    - gf_th_run
    linkageType: ''
    returnType: void
    signature: 'void MPEGVS_Start(struct __input_device * dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:441,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:443,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:449,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:442,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 455
    functionName: NewMPEGVSInputSesor
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: GF_InputSensorDevice*
    signature: 'GF_InputSensorDevice * NewMPEGVSInputSesor() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPEGVS_Stop
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:459,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:461,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - GF_InputSensorDevice*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: DeleteMPEGVSInputSensor
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - MPEGVS_Stop
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteMPEGVSInputSensor(GF_InputSensorDevice* dev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteMPEGVSInputSensor
      Src: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/droid_mpegv/droid_mpegv.c
    functionUses: []
    functionsReached:
    - DeleteMPEGVSInputSensor
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: CAM_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool CAM_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:585,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: getHeight
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 getHeight(ISOMReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:665,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:681,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:666,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:675,1
    - Dst: static_JNI_OnLoad
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 685
    functionName: CAM_client_load
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - static_JNI_OnLoad
    - GetJavaVM
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_InputService*
    signature: 'GF_InputService *CAM_client_load() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:253,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:257,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:253,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: unloadCameraControler
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void unloadCameraControler(ISOMReader *read) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:598,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: getFormat
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 getFormat(ISOMReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:692,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: CAM_client_del
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void CAM_client_del(GF_BaseInterface *bi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAM_client_load
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - CAM_client_load
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: JNI_OnUnload
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JNI_OnUnload(JavaVM *vm, void *reserved) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:386,1
    - Dst: getHeight
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:398,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:395,1
    - Dst: getWidth
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:397,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:389,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:400,1
    - Dst: getFormat
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:400,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:401,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:402,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:403,1
    - Dst: getBitsPerPix
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:403,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:404,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:413,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:407,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:406,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 418
    functionName: CAM_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - getBitsPerPix
    - gf_bs_write_u16
    - gf_bs_new
    - gf_odf_desc_new
    - getHeight
    - gf_bs_write_u32
    - gf_bs_align
    - getWidth
    - getFormat
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *CAM_GetServiceDesc(GF_InputService *plug, u32
      expect_type, const char *sub_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:450,1
    - Dst: camStopCamera
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:454,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:456,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: CAM_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - gf_th_id
    - GF_LOG
    - camStopCamera
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:563,1
    - Dst: CallCamMethod
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:566,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: resumeCamera
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - CallCamMethod
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void resumeCamera(ISOMReader *read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:515,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:516,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:512,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:518,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:529,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:529,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - read
    - methodID
    argTypes:
    - ISOMReader*
    - jmethodID
    constantsTouched: []
    func_position:
      end: 531
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 531
    functionName: CallCamMethod
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void CallCamMethod(ISOMReader *read, jmethodID methodID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:618,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: getBitsPerPix
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 getBitsPerPix(ISOMReader *read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:430,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:439,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: CAM_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ConnectChannel(GF_InputService *plug, LPNETCHANNEL channel,
      const char *url, Bool upstream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:492,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:495,1
    - Dst: gf_term_get_time
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - env
    - thiz
    - arr
    argTypes:
    - JNIEnv*
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 503
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 503
    functionName: Java_com_gpac_Osmo4_Preview_processFrameBuf
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - gf_term_get_time
    - memset
    linkageType: ''
    returnType: void
    signature: 'void Java_com_gpac_Osmo4_Preview_processFrameBuf( JNIEnv* env, jobject
      thiz, jbyteArray arr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:538,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: camStartCamera
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void camStartCamera(ISOMReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:573,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 579
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 579
    functionName: getWidth
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 getWidth(ISOMReader *read) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: resumeCamera
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:647,1
    - Dst: pauseCamera
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:650,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 17
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: CAM_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - resumeCamera
    - pauseCamera
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:95,1
    - Dst: static_JNI_OnLoad
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:63,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:87,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:117,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:131,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:152,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:79,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:103,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:110,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:124,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:138,1
    - Dst: LOGE
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 157
    functionName: JNI_OnLoad
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - LOGE
    - static_JNI_OnLoad
    linkageType: ''
    returnType: jint
    signature: 'jint JNI_OnLoad(JavaVM* vm, void* reserved)#elsejint static_JNI_OnLoad(JavaVM*
      vm, void* reserved) #endif '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:325,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:339,1
    - Dst: camStartCamera
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:336,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:325,1
    - Dst: loadCameraControler
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: CAM_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - camStartCamera
    - GF_LOG
    - gf_th_id
    - loadCameraControler
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:352,1
    - Dst: GetEnv
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:356,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:352,1
    - Dst: GetEnv
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:356,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 363
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 363
    functionName: CAM_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - gf_th_id
    - GF_LOG
    - GetEnv
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_CloseService(GF_InputService *plug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAM_client_del
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - CAM_client_del
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: GetJavaVM
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JavaVM*
    signature: 'JavaVM * GetJavaVM() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unloadCameraControler
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: unregisterFunc
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - unloadCameraControler
    linkageType: ''
    returnType: u32
    signature: 'u32 unregisterFunc(void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:548,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:548,1
    - Dst: CallCamMethod
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 551
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 551
    functionName: camStopCamera
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - CallCamMethod
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void camStopCamera(ISOMReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:169,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: GetEnv
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    linkageType: ''
    returnType: JNIEnv*
    signature: 'JNIEnv * GetEnv() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:275,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:281,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:278,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:275,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:282,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:282,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:285,1
    - Dst: gf_register_before_exit_function
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:314,1
    - Dst: gf_th_current
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: loadCameraControler
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_current
    - GF_LOG
    - gf_register_before_exit_function
    - gf_th_id
    - GetJavaVM
    linkageType: ''
    returnType: void
    signature: 'void loadCameraControler(ISOMReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:555,1
    - Dst: CallCamMethod
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:558,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/droid_cam/droid_cam.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: pauseCamera
    functionSourceFile: /src/gpac/modules/deprecated/droid_cam/droid_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - CallCamMethod
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void pauseCamera(ISOMReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: CAM_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool CAM_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:118,1
    - Dst: CAM_DestroyInstance
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:122,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:124,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: CAM_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - gf_th_id
    - CAM_DestroyInstance
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_CloseService(GF_InputService *plug) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:190,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:190,1
    - Dst: camStartCamera
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:199,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: CAM_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - camStartCamera
    - GF_LOG
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ConnectChannel(GF_InputService *plug, LPNETCHANNEL channel,
      const char *url, Bool upstream) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:228,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 3
    argNames:
    - yuv420sp
    - width
    - height
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 267
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 267
    functionName: decodeYUV420SP
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: int*
    signature: 'int * decodeYUV420SP( char* yuv420sp, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:286,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - read
    argTypes:
    - IOSCamCtx*
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: camStartCamera
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void camStartCamera(IOSCamCtx *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:300,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:300,1
    - Dst: CAM_Stop
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - IOSCamCtx*
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: pauseCamera
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    - CAM_Stop
    linkageType: ''
    returnType: void
    signature: 'void pauseCamera(IOSCamCtx *read) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: resumeCamera
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:337,1
    - Dst: pauseCamera
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:352,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:354,1
    - Dst: CAM_GetCurrentFormat
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:356,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:358,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:359,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:360,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:361,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:362,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:364,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:366,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:365,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 376
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 376
    functionName: CAM_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - resumeCamera
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_u32
    - CAM_GetCurrentFormat
    - pauseCamera
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:402,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: CAM_client_del
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void CAM_client_del(GF_BaseInterface *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:149,1
    - Dst: CAM_GetCurrentFormat
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:160,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:162,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:152,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:158,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:163,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:164,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:165,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:166,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:167,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:171,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:176,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:169,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 181
    functionName: CAM_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_odf_desc_new
    - gf_bs_write_u32
    - CAM_GetCurrentFormat
    - gf_bs_write_u8
    - gf_bs_align
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *CAM_GetServiceDesc(GF_InputService *plug, u32
      expect_type, const char *sub_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:90,1
    - Dst: CAM_CreateInstance
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:101,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:105,1
    - Dst: CAM_SetCallback
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:102,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: CAM_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - CAM_SetCallback
    - GF_LOG
    - CAM_CreateInstance
    - gf_th_id
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:212,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:218,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:212,1
    - Dst: camStopCamera
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: CAM_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - gf_th_id
    - GF_LOG
    - camStopCamera
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CAM_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_term_get_time
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:275,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:277,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: processFrameBuf
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - gf_term_get_time
    - memset
    linkageType: ''
    returnType: void
    signature: 'void processFrameBuf( unsigned char* data, unsigned int dataSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:293,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - read
    argTypes:
    - IOSCamCtx*
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: camStopCamera
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void camStopCamera(IOSCamCtx *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:308,1
    - Dst: CAM_Start
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:311,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - IOSCamCtx*
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: resumeCamera
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - GF_LOG
    - CAM_Start
    linkageType: ''
    returnType: void
    signature: 'void resumeCamera(IOSCamCtx *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:382,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:392,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: CAM_client_load
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_InputService*
    signature: 'GF_InputService *CAM_client_load() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAM_client_del
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - CAM_client_del
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAM_client_load
      Src: /src/gpac/modules/deprecated/ios_cam/ios_cam.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/ios_cam.c
    functionUses: []
    functionsReached:
    - CAM_client_load
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: AVCaptureVideoDataOutputSampleBufferDelegate
    functionSourceFile: /src/gpac/modules/deprecated/ios_cam/CameraObject.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: "interface CameraObject : NSObject\t< AVCaptureVideoDataOutputSampleBufferDelegate
      > "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: MSE_RegisterMimeTypes
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MSE_RegisterMimeTypes(const GF_InputService *plug) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:48,1
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: MSE_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strncmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MSE_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:87,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sb
    - channel
    argTypes:
    - GF_HTML_SourceBuffer*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: MSE_GetTrackForChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'static GF_HTML_Track *MSE_GetTrackForChannel(GF_HTML_SourceBuffer
      *sb, LPNETCHANNEL channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MSE_GetSourceBufferForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:124,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:128,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:126,1
    - Dst: gf_mse_get_track_by_esid
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:129,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: MSE_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_mse_get_track_by_esid
    - MSE_GetSourceBufferForChannel
    - sscanf
    - GF_LOG
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_ConnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel, const char *url, Bool upstream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:162,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:168,1
    - Dst: gf_mse_mediasource_open
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: MSE_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    - gf_mse_mediasource_open
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:189,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:192,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:190,1
    - Dst: gf_mse_mediasource_del
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: MSE_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - assert
    - GF_LOG
    - gf_mse_mediasource_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_CloseService(GF_InputService *plug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSE_GetSourceBufferForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:290,1
    - Dst: MSE_GetTrackForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:291,1
    - Dst: gf_mse_track_buffer_get_next_packet
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:293,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 8
    argNames:
    - plug
    - channel
    - out_data_ptr
    - out_data_size
    - out_sl_hdr
    - sl_compressed
    - out_reception_status
    - is_new_data
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char**
    - u32*
    - GF_SLHeader*
    - Bool*
    - GF_Err*
    - Bool*
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: MSE_ChannelGetSLP
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_mse_track_buffer_get_next_packet
    - MSE_GetTrackForChannel
    - MSE_GetSourceBufferForChannel
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_ChannelGetSLP(GF_InputService *plug, LPNETCHANNEL
      channel, char **out_data_ptr, u32 *out_data_size, GF_SLHeader *out_sl_hdr, Bool
      *sl_compressed, GF_Err *out_reception_status, Bool *is_new_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:312,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: MSE_CanHandleURLInService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MSE_CanHandleURLInService(GF_InputService *plug, const
      char *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MSE_GetSourceBufferForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:146,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:152,1
    - Dst: MSE_GetTrackForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: MSE_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - MSE_GetTrackForChannel
    - GF_LOG
    - MSE_GetSourceBufferForChannel
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:345,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:347,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:349,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:382,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:384,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - assert
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:106,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - sb
    - ESID
    argTypes:
    - GF_HTML_SourceBuffer*
    - u32
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: gf_mse_get_track_by_esid
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'static GF_HTML_Track *gf_mse_get_track_by_esid(GF_HTML_SourceBuffer
      *sb, u32 ESID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:66,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:73,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:74,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - mediasource
    - channel
    argTypes:
    - GF_HTML_MediaSource*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: MSE_GetSourceBufferForChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - assert
    - gf_list_get
    linkageType: ''
    returnType: GF_HTML_SourceBuffer*
    signature: 'static GF_HTML_SourceBuffer *MSE_GetSourceBufferForChannel(GF_HTML_MediaSource
      *mediasource, LPNETCHANNEL channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: MSE_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *MSE_GetServiceDesc(GF_InputService *plug, u32
      expect_type, const char *sub_url) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:211,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:223,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:214,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:228,1
    - Dst: MSE_GetSourceBufferForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:226,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 35
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 283
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 283
    functionName: MSE_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - MSE_GetSourceBufferForChannel
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSE_GetSourceBufferForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:301,1
    - Dst: gf_mse_track_buffer_release_packet
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:304,1
    - Dst: MSE_GetTrackForChannel
      Src: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: MSE_ChannelReleaseSLP
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached:
    - MSE_GetTrackForChannel
    - gf_mse_track_buffer_release_packet
    - MSE_GetSourceBufferForChannel
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MSE_ChannelReleaseSLP(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/mse_in/mse_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:78,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:87,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:89,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:86,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:77,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:80,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:96,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:94,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:74,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:76,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:79,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:94,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:95,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:74,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:75,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:79,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:86,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:90,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:88,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 3
    argNames:
    - uir
    - event
    - consumed_by_compositor
    argTypes:
    - GF_UIRecord*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 100
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 100
    functionName: uir_on_event_record
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - gf_clock_time
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_float
    linkageType: ''
    returnType: Bool
    signature: 'Bool uir_on_event_record(GF_UIRecord *uir , GF_Event *event, Bool
      consumed_by_compositor) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:151,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:153,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:156,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:157,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:159,1
    - Dst: gf_term_add_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:164,1
    - Dst: uir_load_event
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:166,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:167,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:168,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:170,1
    - Dst: gf_clock_time
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:191,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:181,1
    - Dst: gf_term_add_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:174,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:186,1
    - Dst: gf_term_remove_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:183,1
    - Dst: uir_load_event
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:193,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:182,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - termext
    - action
    - param
    argTypes:
    - GF_TermExt*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: uir_process
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - uir_load_event
    - gf_bs_from_file
    - gf_bs_del
    - strcmp
    - gf_term_add_event_filter
    - gf_clock_time
    - gf_opts_set_key
    - gf_fclose
    - gf_fopen
    - gf_term_remove_event_filter
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool uir_process(GF_TermExt *termext, u32 action, void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:220,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: uir_delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void uir_delete(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uir_new
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - uir_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - uir
    - event
    - consumed_by_compositor
    argTypes:
    - GF_UIRecord*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: uir_on_event_play
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool uir_on_event_play(GF_UIRecord *uir , GF_Event *event, Bool consumed_by_compositor) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:104,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:110,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:109,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:121,1
    - Dst: gf_bs_available
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:106,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:122,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:123,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:124,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:124,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:125,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:137,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:131,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:133,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:132,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - uir
    argTypes:
    - GF_UIRecord*
    constantsTouched: []
    func_position:
      end: 141
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 141
    functionName: uir_load_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_float
    - gf_bs_read_u8
    - memset
    - FLT2FIX
    - gf_bs_available
    linkageType: ''
    returnType: void
    signature: 'void uir_load_event(GF_UIRecord *uir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:205,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:209,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:207,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: uir_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_TermExt*
    signature: 'GF_TermExt *uir_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uir_delete
      Src: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ui_rec/ui_rec.c
    functionUses: []
    functionsReached:
    - uir_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:214,1
    - Dst: osd_load_scene
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:218,1
    - Dst: gf_term_add_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:229,1
    - Dst: gf_sc_register_extra_graph
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:220,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:215,1
    - Dst: gf_sc_register_extra_graph
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:235,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:236,1
    - Dst: gf_term_remove_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:239,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:245,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:246,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:247,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:246,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - termext
    - action
    - param
    argTypes:
    - GF_TermExt*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: osd_process
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_sc_get_fps
    - strcmp
    - gf_term_add_event_filter
    - sprintf
    - gf_odm_disconnect
    - gf_sys_get_rti
    - gf_sc_register_extra_graph
    - osd_load_scene
    - gf_node_dirty_set
    - gf_term_remove_event_filter
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool osd_process(GF_TermExt *termext, u32 action, void *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_new
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:145,1
    - Dst: gf_sm_load_bt_from_string
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:152,1
    - Dst: gf_scene_new
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:147,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:149,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:153,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:154,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:158,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:159,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:161,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:165,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:168,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:167,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:173,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:166,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:176,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:170,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - osd
    argTypes:
    - GF_OSD*
    constantsTouched: []
    func_position:
      end: 181
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 181
    functionName: osd_load_scene
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sm_load_bt_from_string
    - gf_list_del
    - gf_sg_set_root_node
    - strcpy
    - strcmp
    - gf_dom_listener_build
    - gf_scene_new
    - gf_sg_find_node_by_name
    - gf_free
    - gf_odm_new
    - gf_sg_set_scene_size_info
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool osd_load_scene(GF_OSD *osd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:274,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: osd_delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void osd_delete(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osd_new
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - osd_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:189,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:198,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:195,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - udta
    - event
    - consumed_by_compositor
    argTypes:
    - void*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: osd_on_event_play
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - gf_node_dirty_set
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: Bool
    signature: 'Bool osd_on_event_play(void *udta, GF_Event *event, Bool consumed_by_compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_set
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:126,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:130,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:129,1
    - Dst: FIX2INT
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - hdl
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: osd_on_resize
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_set
    - FIX2INT
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'void osd_on_resize(GF_Node *hdl, GF_DOM_Event *event, GF_Node *observer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:259,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:260,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:261,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: osd_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_TermExt*
    signature: 'GF_TermExt *osd_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osd_delete
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - osd_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:51,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:53,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:55,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/osd/osd.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - osd
    - tag
    - par
    argTypes:
    - GF_OSD*
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: create_node
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/osd/osd.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_node_list_add_child
    - gf_node_new
    - gf_node_register
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_Node *create_node(GF_OSD *osd, u32 tag, GF_Node
      *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: GPAC_MediaRendererItem
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACMediaController.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class GPAC_MediaRendererItem '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: GPAC_MediaServerItem
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACMediaController.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class GPAC_MediaServerItem '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_DeviceItem
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: GPAC_DeviceItem
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_DeviceItem
    linkageType: ''
    returnType: class
    signature: 'class GPAC_DeviceItem '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_StateVariableListener
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: GPAC_StateVariableListener
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_StateVariableListener
    linkageType: ''
    returnType: class
    signature: 'class GPAC_StateVariableListener '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_ActionUDTA
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: GPAC_ActionUDTA
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_ActionUDTA
    linkageType: ''
    returnType: class
    signature: 'class GPAC_ActionUDTA '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_ServiceItem
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:121,1
    - Dst: GPAC_ServiceItem
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: GPAC_ServiceItem
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_ServiceItem
    linkageType: ''
    returnType: class
    signature: 'class GPAC_ServiceItem '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_ActionArgListener
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: GPAC_ActionArgListener
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_ActionArgListener
    linkageType: ''
    returnType: class
    signature: 'class GPAC_ActionArgListener '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_GenericController
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:146,1
    - Dst: OnEventNotify
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:153,1
    - Dst: OnDeviceRemoved
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:151,1
    - Dst: OnDeviceAdded
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:150,1
    - Dst: GPAC_GenericController
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: GPAC_GenericController
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - OnEventNotify
    - OnDeviceRemoved
    - OnDeviceAdded
    - GPAC_GenericController
    linkageType: ''
    returnType: class
    signature: 'class GPAC_GenericController : public PLT_CtrlPointListener '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnAction
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: GPAC_GenericDevice
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - OnAction
    linkageType: ''
    returnType: class
    signature: 'class GPAC_GenericDevice : public PLT_DeviceHost '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPAC_Service
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:192,1
    - Dst: GPAC_Service
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: GPAC_Service
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GenericDevice.h
    functionUses: []
    functionsReached:
    - GPAC_Service
    linkageType: ''
    returnType: class
    signature: 'class GPAC_Service : public PLT_Service '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: GPAC_MediaDirectory
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACFileMediaServer.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class GPAC_MediaDirectory '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnBrowseDirectChildren
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GPACFileMediaServer.h:100,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 136
    functionName: GPAC_FileMediaServer
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACFileMediaServer.h
    functionUses: []
    functionsReached:
    - OnBrowseDirectChildren
    linkageType: ''
    returnType: class
    signature: 'class GPAC_FileMediaServer : public PLT_FileMediaServer '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: GPAC_VirtualFile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACFileMediaServer.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class GPAC_VirtualFile '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_UPnP
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h:61,1
    - Dst: GF_UPnP
      Src: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h:62,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 139
    functionName: GF_UPnP
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h
    functionUses: []
    functionsReached:
    - GF_UPnP
    linkageType: ''
    returnType: class
    signature: 'class GF_UPnP '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - item
    - added
    argTypes:
    - GPAC_DeviceItem*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: OnDeviceAdd
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OnDeviceAdd(GPAC_DeviceItem *item, int added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - device
    - added
    argTypes:
    - PLT_DeviceDataReference
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: OnMediaServerAdd
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OnMediaServerAdd(PLT_DeviceDataReference& device, int added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - device
    - added
    argTypes:
    - PLT_DeviceDataReference
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: OnMediaRendererAdd
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/platinum/GPACPlatinum.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OnMediaRendererAdd(PLT_DeviceDataReference& device, int added) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:49,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:54,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:55,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:55,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:52,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:57,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:57,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:57,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - widget_has_feature
    argTypes:
    - widget_has_feature
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - BOOLEAN_TO_JSVAL
    - strcmp
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'JSBool SMJS_FUNCTION(widget_has_feature) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:83,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:86,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:88,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:86,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames:
    - widget_get_attention
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - JS_LookupProperty
    linkageType: ''
    returnType: JSBool
    signature: 'JSBool SMJS_FUNCTION(widget_get_attention) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:123,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:126,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:124,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:126,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:127,1
    - Dst: JS_GetArrayLength
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:128,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:129,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:130,1
    - Dst: JS_GetElement
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:132,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:134,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames:
    - widget_call_message_reply_callback
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_GetElement
    - JS_GetArrayLength
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - JS_LookupProperty
    - gf_free
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_call_message_reply_callback) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:99,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:105,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:102,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:102,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:106,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames:
    - widget_show_notification
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - JS_LookupProperty
    linkageType: ''
    returnType: JSBool
    signature: 'JSBool SMJS_FUNCTION(widget_show_notification) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:67,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:68,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:70,1
    - Dst: gf_term_send_event
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:73,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:72,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames:
    - widget_open_url
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - gf_term_send_event
    - memset
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - JSVAL_IS_STRING
    - SMJS_CHARS
    linkageType: ''
    returnType: JSBool
    signature: 'JSBool SMJS_FUNCTION(widget_open_url) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:152,1
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:160,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:164,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:166,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:169,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:166,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:167,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:162,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:172,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:155,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:150,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:158,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:161,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:162,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:163,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:146,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:156,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:159,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:162,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:163,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 0
    argNames:
    - widget_message_handler_factory
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_list_get
    - JS_NewObject
    - JSVAL_IS_OBJECT
    - JS_DefineFunction
    - gf_list_count
    - strcmp
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - JS_DefineProperty
    - STRING_TO_JSVAL
    - JSVAL_IS_STRING
    - JSVAL_IS_NULL
    - JS_NewStringCopyZ
    - SMJS_FREE
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_message_handler_factory) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:181,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:186,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:184,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:188,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:187,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:188,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:192,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:193,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames:
    - widget_invoke_message
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    - JS_LookupProperty
    - SMJS_SET_RVAL
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_invoke_message) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:207,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:212,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:214,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:213,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:210,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:214,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:218,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:219,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames:
    - widget_invoke_message_reply
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    - JS_LookupProperty
    - SMJS_SET_RVAL
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_invoke_message_reply) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:229,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:230,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:232,1
    - Dst: gf_js_add_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:231,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:232,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:232,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:233,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:233,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:233,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:234,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:236,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - c
    - ifce
    argTypes:
    - JSContext*
    - GF_WidgetInterfaceInstance*
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: widget_interface_js_bind
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - JS_NewObject
    - gf_js_add_root
    - JS_DefineFunction
    - JS_DefineProperty
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    linkageType: ''
    returnType: void
    signature: 'static void widget_interface_js_bind(JSContext *c, GF_WidgetInterfaceInstance
      *ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:249,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:253,1
    - Dst: JS_NewArrayObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:255,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:252,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:257,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:259,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:260,1
    - Dst: widget_interface_js_bind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:262,1
    - Dst: JS_GetArrayLength
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:264,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:265,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:268,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:269,1
    - Dst: JS_SetElement
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:266,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames:
    - widget_get_interfaces
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 271
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - JS_NewArrayObject
    - gf_list_get
    - JS_GetArrayLength
    - JS_SetElement
    - gf_list_count
    - strcmp
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - widget_interface_js_bind
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_get_interfaces) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:319,1
    - Dst: widget_interface_js_bind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:323,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:321,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:324,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ifce
    - unbind
    argTypes:
    - GF_WidgetInterfaceInstance*
    - Bool
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: widget_on_interface_bind
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - OBJECT_TO_JSVAL
    - widget_interface_js_bind
    - JS_LookupProperty
    linkageType: ''
    returnType: void
    signature: 'void widget_on_interface_bind(GF_WidgetInterfaceInstance *ifce, Bool
      unbind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widget_activate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - widget_deactivate_widget
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - widget_activate_component
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_deactivate_widget) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:401,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:413,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:415,1
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:416,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:411,1
    - Dst: SMJS_PROPERTY_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:424,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:428,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:429,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:430,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:431,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:439,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:444,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:436,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:435,1
    - Dst: JS_DefineObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:442,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:434,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - wm
    - scene
    - c
    - global
    - unload
    argTypes:
    - GF_WidgetManager*
    - GF_SceneGraph*
    - JSContext*
    - JSObject*
    - Bool
    constantsTouched: []
    func_position:
      end: 449
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 449
    functionName: widget_load
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - GF_JS_InitClass
    - gf_list_get
    - SMJS_FUNCTION_SPEC
    - gf_list_enum
    - gf_list_count
    - SMJS_PROPERTY_SPEC
    - JS_DefineObject
    - gf_js_remove_root
    linkageType: ''
    returnType: void
    signature: 'void widget_load(GF_WidgetManager *wm, GF_SceneGraph *scene, JSContext
      *c, JSObject *global, Bool unload) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:279,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:282,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:285,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:283,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:287,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:288,1
    - Dst: wm_deactivate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:291,1
    - Dst: wm_activate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:293,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - widget_activate_component
    - is_deactivate
    argTypes:
    - widget_activate_component
    - Bool
    constantsTouched: []
    func_position:
      end: 299
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 299
    functionName: SMJS_FUNCTION_EXT
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - wm_activate_component
    - gf_list_count
    - strcmp
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - wm_deactivate_component
    - JSVAL_IS_STRING
    - SMJS_CHARS
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION_EXT(widget_activate_component, Bool is_deactivate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widget_activate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - widget_activate_widget
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widget.c
    functionUses: []
    functionsReached:
    - widget_activate_component
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(widget_activate_widget) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:738,1
    - Dst: gf_node_changed
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:749,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:753,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:805,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:832,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:847,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:832,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:831,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:685,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:826,1
    - Dst: JS_ValueToNumber
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:849,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:816,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:710,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:798,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:839,1
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:885,1
    - Dst: JSVAL_IS_NUMBER
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:833,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:752,1
    - Dst: gf_node_changed
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:755,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:811,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:737,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:722,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:801,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:802,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:808,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:869,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:807,1
    - Dst: JS_ValueToNumber
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:819,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:809,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:807,1
    - Dst: gf_node_event_out
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:891,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:705,1
    - Dst: gf_dom_set_textContent
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:748,1
    - Dst: wm_widget_call_script
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:719,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:759,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:823,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:856,1
    - Dst: JSVAL_IS_NUMBER
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:848,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:840,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:696,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:773,1
    - Dst: JSVAL_IS_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:806,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:817,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:865,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:700,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:754,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:846,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:853,1
    - Dst: JS_ValueToNumber
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:834,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:868,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:864,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:838,1
    - Dst: JSVAL_TO_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:806,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:851,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:817,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:821,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:742,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:765,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:799,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:874,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:690,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:710,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:705,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:747,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:810,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:763,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:769,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:841,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:847,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:854,1
    - Dst: gf_node_changed
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:887,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:872,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:836,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:700,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:787,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:832,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:824,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:871,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:831,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:696,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:777,1
    - Dst: JSVAL_IS_NUMBER
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:818,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:835,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 198
    argCount: 9
    argNames:
    - c
    - obj
    - argc
    - argv
    - rval
    - type
    - wid
    - param
    - value
    argTypes:
    - JSContext*
    - JSObject*
    - uintN
    - jsval*
    - jsval*
    - u32
    - GF_WidgetInstance*
    - GF_WidgetPin*
    - char*
    constantsTouched: []
    func_position:
      end: 899
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 899
    functionName: wm_widget_set_scene_input_value
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_call_script
    - memset
    - JSVAL_IS_NUMBER
    - gf_node_get_field_by_name
    - JSVAL_IS_INT
    - JS_ValueToNumber
    - gf_node_get_attribute_by_name
    - INT2FIX
    - SMJS_FREE
    - JSVAL_IS_BOOLEAN
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - gf_strdup
    - gf_svg_parse_attribute
    - strcmp
    - FLT2FIX
    - gf_sg_vrml_mf_reset
    - SMJS_GET_PRIVATE
    - gf_dom_event_type_by_name
    - gf_node_changed
    - JSVAL_TO_BOOLEAN
    - gf_sg_script_event_in
    - gf_free
    - gf_sg_vrml_mf_alloc
    - atof
    - gf_node_event_out
    - JSVAL_IS_OBJECT
    - JSVAL_TO_INT
    - gf_sg_find_node_by_name
    - gf_dom_set_textContent
    - gf_node_dirty_set
    - gf_dom_event_fire
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool wm_widget_set_scene_input_value(JSContext *c, JSObject
      *obj, uintN argc, jsval *argv, jsval *rval, u32 type, GF_WidgetInstance *wid,
      GF_WidgetPin *param, const char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:924,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:933,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:928,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:929,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:929,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:935,1
    - Dst: JS_GetArrayLength
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:937,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:938,1
    - Dst: JS_GetElement
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:940,1
    - Dst: wm_widget_call_script
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:943,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:945,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames:
    - wm_widget_call_input_script
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 948
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_GetElement
    - JS_GetArrayLength
    - wm_widget_call_script
    - JSVAL_IS_OBJECT
    - SMJS_GET_PRIVATE
    - gf_free
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_call_input_script) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1411,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1413,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1427,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1422,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1423,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1430,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1434,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1409,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1417,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1424,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1427,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1423,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1430,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1434,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1408,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1406,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1410,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1414,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1424,1
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1421,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1434,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1437,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1403,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1407,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1423,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1427,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1430,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1437,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 0
    argNames:
    - wm_widget_get_message_param
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1440
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_list_get
    - JS_NewObject
    - BOOLEAN_TO_JSVAL
    - JSVAL_TO_INT
    - JSVAL_IS_INT
    - gf_list_count
    - strcmp
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - JS_DefineProperty
    - JSVAL_IS_STRING
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_message_param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_widget_bind_interface_ex
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - wm_widget_bind_interface
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2078
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_bind_interface_ex
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_bind_interface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2142,1
    - Dst: gf_js_add_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2145,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - wm
    - wid
    argTypes:
    - GF_WidgetManager*
    - GF_WidgetInstance*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2146
    functionName: wm_widget_jsbind
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_js_add_root
    - SMJS_SET_PRIVATE
    - JS_NewObject
    linkageType: ''
    returnType: void
    signature: 'static void wm_widget_jsbind(GF_WidgetManager *wm, GF_WidgetInstance
      *wid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2223,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2226,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2224,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2226,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2229,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2230,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2232,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2232,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2233,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2235,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2237,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2236,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2237,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames:
    - wm_widget_is_interface_bound
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2242
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - BOOLEAN_TO_JSVAL
    - JSVAL_IS_OBJECT
    - gf_list_count
    - strcmp
    - SMJS_GET_PRIVATE
    - SMJS_SET_RVAL
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_is_interface_bound) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2255,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2258,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2260,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2285,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2299,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2304,1
    - Dst: wm_widget_jsbind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2310,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2311,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2311,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2258,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2253,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2260,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2261,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2263,1
    - Dst: wm_load_widget
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2283,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2268,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2267,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2289,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2296,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2261,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2267,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2279,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2278,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2272,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2313,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2298,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2252,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2276,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2292,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2295,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2314,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 0
    argNames:
    - wm_load
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2316
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strlen
    - OBJECT_TO_JSVAL
    - SMJS_FREE
    - JSVAL_IS_NULL
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - GF_JS_InstanceOf
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_strdup
    - gf_list_count
    - strcmp
    - SMJS_GET_PRIVATE
    - gf_list_get
    - wm_widget_jsbind
    - gf_xml_dom_parse_string
    - gf_free
    - SMJS_SET_RVAL
    - wm_load_widget
    - gf_url_concatenate
    - JSVAL_IS_OBJECT
    - gf_xml_dom_get_root
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2406,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2414,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2409,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2407,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2411,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2415,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2416,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2416,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2417,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames:
    - wm_find_interface
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2424
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_find_interface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2154,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2164,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2161,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2161,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - c
    - wid
    - comp
    - comp_inst
    argTypes:
    - JSContext*
    - GF_WidgetInstance*
    - GF_WidgetComponent*
    - GF_WidgetComponentInstance*
    constantsTouched: []
    func_position:
      end: 2166
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2166
    functionName: wm_deactivate_component
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - gf_list_enum
    - OBJECT_TO_JSVAL
    - JS_LookupProperty
    linkageType: ''
    returnType: void
    signature: 'void wm_deactivate_component(JSContext *c, GF_WidgetInstance *wid,
      GF_WidgetComponent *comp, GF_WidgetComponentInstance *comp_inst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2450,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - xml_lang_value
    - user_locale
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2461
    functionName: wm_check_language
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strstr
    - strchr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wm_check_language(const char *xml_lang_value, const char
      *user_locale) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2494,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2498,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2510,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2501,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2503,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2511,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2516,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2521,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2522,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2524,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - value
    - type
    - pin_name
    - scriptType
    - default_value
    argTypes:
    - char*
    - u16
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2527
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2527
    functionName: wm_parse_pin
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - strcmp
    - strrchr
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_WidgetPin*
    signature: 'static GF_WidgetPin *wm_parse_pin(const char *value, u16 type, const
      char *pin_name, const char *scriptType, const char *default_value) '
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3012,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3153,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3179,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3202,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3186,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3271,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3275,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3320,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3335,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3392,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3470,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3078,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3064,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3158,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3174,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3332,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3365,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3372,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3326,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3418,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3438,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3278,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3192,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3008,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3218,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3234,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3273,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3453,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3310,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3481,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3488,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3308,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3379,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3398,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3452,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3223,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3136,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3143,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3331,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3332,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3343,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3492,1
    - Dst: widget_package_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3056,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3113,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3122,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3149,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3303,1
    - Dst: wm_get_normalized_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3305,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3318,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3341,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3385,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3397,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3447,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3161,1
    - Dst: gf_unzip_probe
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3043,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3075,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3082,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3086,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3137,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3121,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3250,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3254,1
    - Dst: wm_set_default_icon_files
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3266,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3465,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3334,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3037,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3084,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3138,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3199,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3195,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3237,1
    - Dst: wm_parse_mpegu_content_element
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3256,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3280,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3294,1
    - Dst: wm_parse_non_neg
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3296,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3450,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3467,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3476,1
    - Dst: wm_set_default_start_file
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3164,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3281,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3329,1
    - Dst: wm_get_normalized_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3337,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3428,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3451,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3479,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3356,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3499,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3362,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3060,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3074,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3094,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3105,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3184,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3129,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3190,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3201,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3167,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3180,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3440,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3467,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3485,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3386,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3111,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3188,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3216,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3015,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3035,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3176,1
    - Dst: wm_set_default_start_file
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3197,1
    - Dst: wm_parse_non_neg
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3260,1
    - Dst: wm_get_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3314,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3244,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3359,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3429,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3467,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3479,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3203,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3058,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3159,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3248,1
    - Dst: wm_get_normalized_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3283,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3311,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3344,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3317,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3355,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3357,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3458,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3014,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3087,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3141,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3356,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3383,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3410,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3455,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3468,1
    - Dst: widget_package_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3504,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3324,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3364,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3139,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3393,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3421,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3447,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3041,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3123,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3128,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3189,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3217,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3145,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3286,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3291,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3323,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3272,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3391,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3360,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3465,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3091,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3105,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3200,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3185,1
    - Dst: wm_parse_mpegu_content_element
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3209,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3245,1
    - Dst: wm_parse_non_neg
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3300,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3321,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3430,1
    - Dst: gf_crc_32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3447,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3474,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3222,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3039,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3106,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3126,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3138,1
    - Dst: wm_parse_non_neg
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3258,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3259,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3380,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3396,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3402,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3478,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3395,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3500,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3482,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3185,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3211,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3090,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3124,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3160,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3236,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3257,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3270,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3290,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3298,1
    - Dst: wm_delete_widget_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3502,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3466,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3327,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3446,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 530
    argCount: 4
    argNames:
    - wm
    - path
    - InstanceID
    - skip_context
    argTypes:
    - GF_WidgetManager*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3509
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3509
    functionName: wm_load_widget
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - wm_parse_mpegu_content_element
    - wm_get_normalized_text_content
    - wm_parse_non_neg
    - gf_unzip_probe
    - wm_get_text_content
    - GF_SAFEALLOC
    - widget_package_new
    - strstr
    - wm_set_default_start_file
    - gf_dm_sess_new
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_list_del
    - gf_crc_32
    - gf_list_count
    - wm_xml_get_attr
    - strcmp
    - wm_get_single_attribute
    - gf_strdup
    - wm_add_icon
    - strcpy
    - gf_list_new
    - wm_delete_widget_instance
    - gf_dm_sess_process
    - gf_list_get
    - gf_xml_dom_parse
    - gf_cfg_set_key
    - widget_package_del
    - gf_dm_sess_get_cache_name
    - gf_list_enum
    - wm_set_default_icon_files
    - sprintf
    - strchr
    - strnicmp
    - gf_free
    - wm_relocate_url
    - gf_opts_get_key
    - strcat
    - gf_dm_sess_del
    - wm_xml_find
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_WidgetInstance*
    signature: 'GF_WidgetInstance *wm_load_widget(GF_WidgetManager *wm, const char
      *path, u32 InstanceID, Bool skip_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wm_load_widget
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3516,1
    - Dst: wm_widget_jsbind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3518,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3521,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - cbk
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 3524
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3524
    functionName: wm_enum_widget
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_jsbind
    - gf_cfg_set_key
    - wm_load_widget
    - gf_cfg_del_section
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wm_enum_widget(void *cbk, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3687,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3692,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3694,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 3695
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3695
    functionName: gwm_delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void gwm_delete(GF_BaseInterface *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2093,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2103,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2101,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2104,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2099,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2112,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2113,1
    - Dst: wm_deactivate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2114,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2115,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2122,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2123,1
    - Dst: wm_widget_bind_interface_ex
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2130,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2126,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames:
    - wm_widget_deactivate
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2135
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - gf_list_count
    - wm_widget_bind_interface_ex
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - wm_deactivate_component
    - gf_list_rem
    - JS_LookupProperty
    - gf_free
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_deactivate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2431,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2438,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2434,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2436,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - root
    - name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2441
    functionName: wm_xml_get_attr
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'const char *wm_xml_get_attr(GF_XMLNode *root, const char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2755,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2758,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2757,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2783
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2783
    functionName: wm_get_single_attribute
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_strdup
    - gf_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *wm_get_single_attribute(const char *input) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2323,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2326,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2326,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2327,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2324,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2327,1
    - Dst: JSVAL_IS_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2331,1
    - Dst: JSVAL_TO_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2331,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2333,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2334,1
    - Dst: wm_delete_widget_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames:
    - wm_unload
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2338
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2338
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - gf_cfg_del_section
    - gf_cfg_set_key
    - JSVAL_IS_OBJECT
    - JSVAL_TO_BOOLEAN
    - SMJS_GET_PRIVATE
    - JSVAL_IS_BOOLEAN
    - wm_delete_widget_instance
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_unload) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - p1
    - p2
    - len
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: is_same_path
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_same_path(const char *p1, const char *p2, u32 len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_unzip_probe
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:446,1
    - Dst: widget_zip_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:447,1
    - Dst: widget_isom_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - wm
    - path
    argTypes:
    - GF_WidgetManager*
    - char*
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: widget_package_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_unzip_probe
    - widget_zip_new
    - widget_isom_new
    linkageType: ''
    returnType: GF_WidgetPackage*
    signature: 'GF_WidgetPackage *widget_package_new(GF_WidgetManager *wm, const char
      *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:634,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:657,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:628,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:630,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:636,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:641,1
    - Dst: wm_delete_widget
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:651,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:643,1
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:647,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:632,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:629,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:637,1
    - Dst: wm_delete_interface_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:639,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:646,1
    - Dst: gf_list_del_item
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:649,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:654,1
    - Dst: wm_delete_widget_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:631,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:638,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:655,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:659,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - wm
    - widg
    argTypes:
    - GF_WidgetManager*
    - GF_WidgetInstance*
    constantsTouched: []
    func_position:
      end: 660
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 660
    functionName: wm_delete_widget_instance
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_xml_dom_del
    - gf_list_get
    - gf_cfg_del_section
    - gf_cfg_set_key
    - gf_list_del
    - gf_list_count
    - wm_delete_widget
    - gf_js_remove_root
    - gf_list_rem
    - gf_free
    - wm_delete_widget_instance
    - gf_list_del_item
    - wm_delete_interface_instance
    linkageType: ''
    returnType: void
    signature: 'static void wm_delete_widget_instance(GF_WidgetManager *wm, GF_WidgetInstance
      *widg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - wm_widget_call_input_action
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 915
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_set_scene_input_value
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_call_input_action) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 960
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 960
    functionName: wm_handler_destroy
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_js_remove_root
    linkageType: ''
    returnType: void
    signature: 'static void wm_handler_destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1558,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1564,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1560,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1560,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1563,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1565,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1567,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1567,1
    - Dst: wm_create_scene_listener
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1573,1
    - Dst: gf_js_add_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1576,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1581,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1584,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1584,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1583,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames:
    - wm_widget_bind_output_trigger
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1587
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - BOOLEAN_TO_JSVAL
    - JSVAL_IS_OBJECT
    - gf_js_add_root
    - SMJS_GET_PRIVATE
    - wm_create_scene_listener
    - SMJS_SET_RVAL
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_bind_output_trigger) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1633,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1634,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1640,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1651,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1655,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1662,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1600,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1606,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1604,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1620,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1623,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1632,1
    - Dst: gf_node_dump_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1638,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1648,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1651,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1655,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1666,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1658,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1597,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1618,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1641,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1658,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1665,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1665,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1665,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1660,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1606,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1608,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1610,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1618,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1620,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1634,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1628,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1637,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1623,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1640,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1663,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 0
    argNames:
    - wm_widget_get_context
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1669
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_node_get_field_by_name
    - gf_bs_write_data
    - gf_bs_del
    - gf_list_count
    - strcmp
    - SMJS_GET_PRIVATE
    - JS_NewStringCopyZ
    - gf_dom_flatten_textContent
    - gf_node_dump_attribute
    - gf_list_get
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    - SMJS_SET_RVAL
    - gf_opts_get_key
    - STRING_TO_JSVAL
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_context) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1994,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2000,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2001,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2011,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2010,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2012,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2021,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2035,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2038,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2043,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2056,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1981,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1994,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1987,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1998,1
    - Dst: widget_on_interface_bind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2017,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2025,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2026,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1986,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1996,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1997,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2002,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2023,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2027,1
    - Dst: widget_on_interface_bind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2031,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2045,1
    - Dst: gf_dom_listener_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2054,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1987,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2006,1
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2015,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2021,1
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2029,1
    - Dst: wm_delete_interface_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2062,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    argCount: 6
    argNames:
    - c
    - obj
    - argc
    - argv
    - rval
    - is_unbind
    argTypes:
    - JSContext*
    - JSObject*
    - uintN
    - jsval*
    - jsval*
    - Bool
    constantsTouched: []
    func_position:
      end: 2070
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 2070
    functionName: wm_widget_bind_interface_ex
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - JSVAL_IS_OBJECT
    - gf_list_count
    - gf_strdup
    - strcmp
    - widget_on_interface_bind
    - wm_widget_set_scene_input_value
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - gf_dom_listener_del
    - JSVAL_IS_STRING
    - gf_list_rem
    - GF_SAFEALLOC
    - SMJS_CHARS
    - wm_delete_interface_instance
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool wm_widget_bind_interface_ex(JSContext *c, JSObject *obj,
      uintN argc, jsval *argv, jsval *rval, Bool is_unbind) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unzOpen2
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:86,1
    - Dst: unzGoToNextFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:101,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:99,1
    - Dst: unzGetGlobalInfo
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:89,1
    - Dst: unzGetCurrentFileInfo
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:97,1
    - Dst: unzOpenCurrentFile3
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:105,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:107,1
    - Dst: unzReadCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:110,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:113,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:118,1
    - Dst: gf_isom_open
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:127,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:130,1
    - Dst: gf_isom_extract_meta_item
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:140,1
    - Dst: unzClose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:123,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:137,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:138,1
    - Dst: gf_isom_close
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:144,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 2
    argNames:
    - wpack
    - res
    argTypes:
    - GF_WidgetPackage*
    - GF_WidgetPackageResource*
    constantsTouched: []
    func_position:
      end: 148
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 148
    functionName: widget_package_extract_file
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - unzOpenCurrentFile3
    - unzReadCurrentFile
    - strcmp
    - unzGetCurrentFileInfo
    - gf_isom_get_meta_item_info
    - gf_fwrite
    - gf_isom_get_meta_item_count
    - gf_isom_open
    - unzGoToNextFile
    - gf_isom_close
    - unzOpen2
    - unzGetGlobalInfo
    - gf_fclose
    - gf_isom_extract_meta_item
    - gf_fopen
    - unzClose
    linkageType: ''
    returnType: void
    signature: 'static void widget_package_extract_file(GF_WidgetPackage *wpack, GF_WidgetPackageResource
      *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:460,1
    - Dst: gf_list_del_item
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:461,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:462,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:465,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:464,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:466,1
    - Dst: gf_delete_file
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:467,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:468,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:469,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:470,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:475,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:472,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:473,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - wm
    - wpackage
    argTypes:
    - GF_WidgetManager*
    - GF_WidgetPackage*
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: widget_package_del
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_mx_p
    - gf_delete_file
    - gf_dm_sess_del
    - gf_list_rem
    - gf_mx_v
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void widget_package_del(GF_WidgetManager *wm, GF_WidgetPackage
      *wpackage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:670,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:671,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - wid
    - pin
    - argc
    - argv
    - rval
    argTypes:
    - GF_WidgetInstance*
    - GF_WidgetPin*
    - uintN
    - jsval*
    - jsval*
    constantsTouched: []
    func_position:
      end: 675
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 675
    functionName: wm_widget_call_script
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - JS_CallFunctionValue
    - JS_LookupProperty
    - JSVAL_IS_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool wm_widget_call_script(GF_WidgetInstance *wid, GF_WidgetPin
      *pin, uintN argc, jsval *argv, jsval *rval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:975,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:989,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:993,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:984,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1003,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1008,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1010,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1012,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1013,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1017,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1020,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1022,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1025,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1029,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - wid
    - param
    argTypes:
    - GF_WidgetInstance*
    - GF_WidgetPin*
    constantsTouched: []
    func_position:
      end: 1033
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1033
    functionName: wm_create_scene_listener
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_node_get_field_by_name
    - gf_node_get_attribute_by_name
    - strcmp
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - gf_sg_find_node_by_name
    - gf_node_dom_listener_add
    - gf_dom_event_type_by_name
    - gf_node_register
    linkageType: ''
    returnType: SVG_handlerElement*
    signature: 'static SVG_handlerElement *wm_create_scene_listener(GF_WidgetInstance
      *wid, GF_WidgetPin *param) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1293,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1315,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1318,1
    - Dst: JS_NewDouble
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1324,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1330,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1280,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1292,1
    - Dst: gf_node_dump_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1298,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1299,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1307,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1321,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1312,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1274,1
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1291,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1294,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1300,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1321,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1324,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1331,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1290,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1281,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1292,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1299,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1312,1
    - Dst: JS_NewDouble
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1321,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 3
    argNames:
    - hdl
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1332
    functionName: wm_handle_dom_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - BOOLEAN_TO_JSVAL
    - DOUBLE_TO_JSVAL
    - JSVAL_IS_OBJECT
    - gf_node_get_field_by_name
    - JS_CallFunctionValue
    - gf_node_get_attribute_by_name
    - strcmp
    - INT_TO_JSVAL
    - FIX2FLT
    - STRING_TO_JSVAL
    - gf_sg_find_node_by_name
    - JS_NewDouble
    - JS_NewStringCopyZ
    - gf_free
    - gf_dom_flatten_textContent
    - gf_node_dump_attribute
    linkageType: ''
    returnType: void
    signature: 'static void wm_handle_dom_event(GF_Node *hdl, GF_DOM_Event *event,
      GF_Node *observer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3660,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3669,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3666,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3662,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3664,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3674
    functionName: gwm_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_JSUserExtension*
    signature: 'static GF_JSUserExtension *gwm_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2789,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2789,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2793
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2793
    functionName: wm_parse_non_neg
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - sscanf
    - strlen
    - strchr
    linkageType: ''
    returnType: u32
    signature: 'static u32 wm_parse_non_neg(const char *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_get_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2837,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2840,1
    - Dst: wm_get_single_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - inherited_locale
    - user_locale
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2842
    functionName: wm_get_normalized_text_content
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_get_single_attribute
    - wm_get_text_content
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *wm_get_normalized_text_content(GF_XMLNode *node, char
      *inherited_locale, const char *user_locale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2855
    functionName: wm_relocate_proc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void wm_relocate_proc(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:175,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:176,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:187,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:189,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:222,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:179,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:176,1
    - Dst: strncpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:213,1
    - Dst: package_find_res
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:217,1
    - Dst: package_find_res
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:226,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:236,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:173,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:201,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:225,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:216,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:235,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:189,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:196,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:199,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:213,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:211,1
    - Dst: package_find_res
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:232,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 5
    argNames:
    - __self
    - parent_uri
    - rel_path
    - relocated_path
    - localized_rel_path
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: widget_package_relocate_uri
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strlen
    - assert
    - package_find_res
    - strcmp
    - sprintf
    - strrchr
    - strchr
    - strncpy
    - strcpy
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool widget_package_relocate_uri(void *__self, const char *parent_uri,
      const char *rel_path, char *relocated_path, char *localized_rel_path) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:575,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:579,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:583,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:585,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:589,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:598,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:599,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:612,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:605,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:574,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:578,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:582,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:590,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:600,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:607,1
    - Dst: widget_package_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:611,1
    - Dst: gf_list_del_item
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:569,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:572,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:577,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:581,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:591,1
    - Dst: wm_delete_widget_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:592,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:596,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:601,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:604,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:609,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:571,1
    - Dst: wm_delete_widget_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:573,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:576,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:580,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:586,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:584,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:594,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:597,1
    - Dst: gf_list_rem
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:602,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:603,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 2
    argNames:
    - wm
    - wid
    argTypes:
    - GF_WidgetManager*
    - GF_Widget*
    constantsTouched: []
    func_position:
      end: 613
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 613
    functionName: wm_delete_widget
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - widget_package_del
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - wm_delete_widget_content
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void wm_delete_widget(GF_WidgetManager *wm, GF_Widget *wid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_component_activation_event
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: wm_component_deactivate_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_component_activation_event
    linkageType: ''
    returnType: void
    signature: 'static void wm_component_deactivate_event(GF_Node *hdl, GF_DOM_Event
      *evt, GF_Node *observer) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1180,1
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1176,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1146,1
    - Dst: wm_create_scene_listener
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1103,1
    - Dst: gf_sg_lock_javascript
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1184,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1186,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1193,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1194,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1098,1
    - Dst: wm_create_scene_listener
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1112,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1100,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1122,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1125,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1128,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1132,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1140,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1144,1
    - Dst: wm_create_scene_listener
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1166,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1091,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1143,1
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1158,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1148,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1187,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1188,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1192,1
    - Dst: gf_sg_lock_javascript
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1196,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 79
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1197
    functionName: on_widget_activated
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_list_get
    - gf_sg_lock_javascript
    - JSVAL_IS_OBJECT
    - gf_list_enum
    - gf_list_count
    - wm_xml_get_attr
    - strcmp
    - JS_CallFunctionValue
    - wm_widget_set_scene_input_value
    - SMJS_GET_PRIVATE
    - wm_create_scene_listener
    - JS_LookupProperty
    - gf_xml_dom_get_root
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void on_widget_activated(JSContext *c, JSObject *obj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1451,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1454,1
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1455,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1460,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1469,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1469,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1468,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1471,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1473,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1476,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1453,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1457,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1459,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1468,1
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1466,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1470,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1476,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1447,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1468,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1470,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1472,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1456,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1463,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1467,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1469,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1471,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1472,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1473,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1474,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 0
    argNames:
    - wm_widget_get_message
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1479
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - BOOLEAN_TO_JSVAL
    - JSVAL_IS_INT
    - JS_DefineFunction
    - OBJECT_TO_JSVAL
    - SMJS_FREE
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - gf_list_count
    - strcmp
    - SMJS_GET_PRIVATE
    - JS_NewStringCopyZ
    - SMJS_SET_PRIVATE
    - gf_list_get
    - INT_TO_JSVAL
    - SMJS_SET_RVAL
    - JSVAL_TO_INT
    - JS_DefineProperty
    - STRING_TO_JSVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_widget_bind_interface_ex
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - wm_widget_unbind_interface
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2085
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_bind_interface_ex
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_unbind_interface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2471,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2474,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2474,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2473,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2475,1
    - Dst: wm_check_language
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2479,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 34
    argCount: 4
    argNames:
    - root
    - ns_prefix
    - name
    - user_locale
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2485
    functionName: wm_xml_find
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - wm_xml_get_attr
    - gf_list_count
    - strcmp
    - wm_check_language
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *wm_xml_find(GF_XMLNode *root, const char *ns_prefix,
      const char *name, const char *user_locale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2801,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2814,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2804,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2802,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2813,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2816,1
    - Dst: wm_get_text_content
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2817,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2818,1
    - Dst: gf_realloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2819,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2820,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2823,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - node
    - inherited_locale
    - user_locale
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2832
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2832
    functionName: wm_get_text_content
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_realloc
    - gf_list_count
    - gf_strdup
    - wm_xml_get_attr
    - memcpy
    - wm_get_text_content
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *wm_get_text_content(GF_XMLNode *node, char *inherited_locale,
      const char *user_locale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:617,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:619,1
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:620,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - wm
    - bifce
    argTypes:
    - GF_WidgetManager*
    - GF_WidgetInterfaceInstance*
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: wm_delete_interface_instance
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_js_remove_root
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void wm_delete_interface_instance(GF_WidgetManager *wm, GF_WidgetInterfaceInstance
      *bifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1076,1
    - Dst: gf_node_dump_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1079,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1082,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1083,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1084
    functionName: wm_widget_set_pref_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - gf_dom_flatten_textContent
    - gf_node_dump_attribute
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void wm_widget_set_pref_event(GF_Node *hdl, GF_DOM_Event *evt,
      GF_Node *observer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: on_widget_activated
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1211
    functionName: wm_widget_load_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - on_widget_activated
    linkageType: ''
    returnType: void
    signature: 'static void wm_widget_load_event(GF_Node *hdl, GF_DOM_Event *evt,
      GF_Node *observer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - cbk
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 3529
      start: 3526
    functionDepth: 0
    functionLinenumber: 3526
    functionLinenumberEnd: 3529
    functionName: wm_enum_dir
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_enum_directory
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wm_enum_dir(void *cbk, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gwm_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3719,1
    - Dst: LoadWidgetReader
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3725
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3725
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gwm_new
    - LoadWidgetReader
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:153,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:157,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:158,1
    - Dst: is_same_path
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:156,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:155,1
    - Dst: widget_package_extract_file
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - wpack
    - res_path
    - relocated_path
    - localized_rel_path
    argTypes:
    - GF_WidgetPackage*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: package_find_res
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - widget_package_extract_file
    - is_same_path
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool package_find_res(GF_WidgetPackage *wpack, char *res_path,
      char *relocated_path, char *localized_rel_path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2978,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2984,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2979,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2982,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2981,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2985,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2987,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2988,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2990,1
    - Dst: wm_add_icon
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - wm
    - widget_path
    - widget
    argTypes:
    - GF_WidgetManager*
    - char*
    - GF_Widget*
    constantsTouched: []
    func_position:
      end: 2992
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2992
    functionName: wm_set_default_icon_files
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_add_icon
    - wm_relocate_url
    linkageType: ''
    returnType: void
    signature: 'static void wm_set_default_icon_files(GF_WidgetManager *wm, const
      char *widget_path, GF_Widget *widget) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3538,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3545,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3540,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3544,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3542,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3547,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3548,1
    - Dst: wm_load_widget
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3549,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3551,1
    - Dst: wm_widget_jsbind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3552,1
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3559,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames:
    - wm_initialize
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3562
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_jsbind
    - strcpy
    - gf_opts_get_key_count
    - SMJS_GET_PRIVATE
    - gf_enum_directory
    - atoi
    - strnicmp
    - gf_opts_get_key_name
    - wm_load_widget
    - gf_opts_get_key
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_initialize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_type
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:256,1
    - Dst: gf_isom_has_meta_xml
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:257,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:277,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:274,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:298,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:301,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:309,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:312,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:321,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:323,1
    - Dst: gf_isom_open
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:253,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:257,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:262,1
    - Dst: gf_isom_close
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:292,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:295,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:326,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:337,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:329,1
    - Dst: gf_mx_p
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:335,1
    - Dst: gf_isom_close
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:258,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:267,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:268,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:271,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:273,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:278,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:280,1
    - Dst: gf_isom_close
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:282,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:286,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:288,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:291,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:315,1
    - Dst: gf_isom_close
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:244,1
    - Dst: gf_crc_32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:272,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:272,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:281,1
    - Dst: gf_isom_extract_meta_xml
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:279,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:290,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:296,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:311,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:315,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:318,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:336,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:319,1
    - Dst: gf_crc_32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:315,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:327,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 2
    argNames:
    - wm
    - path
    argTypes:
    - GF_WidgetManager*
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 340
    functionName: widget_isom_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - GF_LOG
    - gf_isom_extract_meta_xml
    - GF_SAFEALLOC
    - GF_4CC
    - gf_crc_32
    - gf_list_del
    - gf_strdup
    - gf_isom_close
    - gf_isom_get_meta_type
    - strcpy
    - gf_list_new
    - gf_isom_has_meta_xml
    - sprintf
    - gf_mx_p
    - gf_free
    - gf_mx_v
    - gf_opts_get_key
    - strcat
    - gf_isom_get_meta_item_info
    - gf_isom_get_meta_item_count
    - gf_isom_open
    - strrchr
    linkageType: ''
    returnType: GF_WidgetPackage*
    signature: 'static GF_WidgetPackage *widget_isom_new(GF_WidgetManager *wm, const
      char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:483,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:484,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:487,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:486,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - mp
    argTypes:
    - GF_WidgetPin*
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: wm_delete_message_param
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void wm_delete_message_param(GF_WidgetPin *mp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_widget_set_scene_input_value
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - wm_widget_set_input
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_widget_set_scene_input_value
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_set_input) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1046,1
    - Dst: wm_activate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1053,1
    - Dst: wm_deactivate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1051,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - hdl
    - evt
    - observer
    - unload
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1055
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1055
    functionName: wm_component_activation_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - wm_deactivate_component
    - wm_activate_component
    linkageType: ''
    returnType: void
    signature: 'static void wm_component_activation_event(GF_Node *hdl, GF_DOM_Event
      *evt, GF_Node *observer, Bool unload) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1226,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1229,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1231,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1235,1
    - Dst: gf_sg_js_get_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1231,1
    - Dst: gf_mo_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1238,1
    - Dst: gf_mo_get_scenegraph
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1240,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1241,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1243,1
    - Dst: on_widget_activated
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1248,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames:
    - wm_widget_activate
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1259
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_mo_get_scenegraph
    - JSVAL_IS_OBJECT
    - gf_sg_get_root_node
    - gf_dom_listener_build
    - SMJS_GET_PRIVATE
    - gf_mo_register
    - on_widget_activated
    - gf_free
    - gf_sg_js_get_node
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_activate) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1344,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1349,1
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1361,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1366,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1378,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1390,1
    - Dst: JS_NewDouble
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1390,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1341,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1349,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1360,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1362,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1366,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1367,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1378,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1384,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1387,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1390,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1342,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1349,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1362,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1363,1
    - Dst: gf_node_dump_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1365,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1381,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1381,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1387,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1387,1
    - Dst: JS_NewDouble
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1387,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1344,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1355,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1362,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1366,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1364,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1374,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1378,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1384,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 0
    argNames:
    - wm_widget_get_param_value
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1396
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - BOOLEAN_TO_JSVAL
    - DOUBLE_TO_JSVAL
    - JSVAL_IS_OBJECT
    - gf_node_get_field_by_name
    - gf_node_get_attribute_by_name
    - strcmp
    - INT_TO_JSVAL
    - FIX2FLT
    - SMJS_GET_PRIVATE
    - STRING_TO_JSVAL
    - gf_sg_find_node_by_name
    - JS_NewDouble
    - JS_NewStringCopyZ
    - gf_free
    - gf_dom_flatten_textContent
    - SMJS_SET_RVAL
    - gf_node_dump_attribute
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_param_value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSVAL_IS_STRING
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1489,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1492,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1510,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1503,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1496,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1514,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1488,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1495,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1496,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1497,1
    - Dst: JSVAL_IS_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1502,1
    - Dst: JSVAL_TO_BOOLEAN
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1502,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1505,1
    - Dst: wm_activate_component
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1508,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1511,1
    - Dst: SMJS_FREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1519,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1491,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1494,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1506,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1510,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 0
    argNames:
    - wm_widget_get_component
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1521
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - wm_activate_component
    - gf_list_count
    - strcmp
    - JSVAL_TO_BOOLEAN
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - JSVAL_IS_BOOLEAN
    - JSVAL_IS_STRING
    - SMJS_CHARS
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_component) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1529,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1533,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1539,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1540,1
    - Dst: gf_js_add_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1544,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1541,1
    - Dst: JS_NewObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1537,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1539,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1540,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1546,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1540,1
    - Dst: JS_DefineFunction
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1543,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1530,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1538,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1539,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1542,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1546,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1532,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1542,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames:
    - wm_widget_get_interface
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1549
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_list_get
    - JS_NewObject
    - BOOLEAN_TO_JSVAL
    - JSVAL_TO_INT
    - gf_js_add_root
    - JSVAL_IS_INT
    - gf_list_count
    - JS_DefineFunction
    - INT_TO_JSVAL
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - JS_DefineProperty
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_widget_get_interface) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:351,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:357,1
    - Dst: unzGetCurrentFileInfo
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:374,1
    - Dst: unzReadCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:398,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:418,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:427,1
    - Dst: gf_mx_p
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:438,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:440,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:358,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:359,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:362,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:364,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:376,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:380,1
    - Dst: gf_crc_32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:380,1
    - Dst: unzOpenCurrentFile3
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:392,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:402,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:411,1
    - Dst: unzGoToNextFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:423,1
    - Dst: gf_crc_32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:363,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:363,1
    - Dst: unzGetGlobalInfo
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:367,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:383,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:377,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:380,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:384,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:388,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:409,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:415,1
    - Dst: unzOpen2
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:348,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:365,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:394,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:407,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:416,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:421,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:426,1
    - Dst: unzClose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:435,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:439,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:429,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - wm
    - path
    argTypes:
    - GF_WidgetManager*
    - char*
    constantsTouched: []
    func_position:
      end: 442
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 442
    functionName: widget_zip_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - GF_LOG
    - unzGetCurrentFileInfo
    - GF_SAFEALLOC
    - gf_fwrite
    - unzClose
    - unzOpenCurrentFile3
    - gf_crc_32
    - gf_strdup
    - strcmp
    - unzOpen2
    - strcpy
    - gf_list_new
    - gf_fopen
    - sprintf
    - gf_mx_p
    - unzGoToNextFile
    - gf_mx_v
    - gf_opts_get_key
    - unzReadCurrentFile
    - strcat
    - strrchr
    - unzGetGlobalInfo
    - gf_fclose
    linkageType: ''
    returnType: GF_WidgetPackage*
    signature: 'static GF_WidgetPackage *widget_zip_new(GF_WidgetManager *wm, const
      char *path) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:514,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:521,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:525,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:529,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:530,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:532,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:534,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:535,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:537,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:545,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:546,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:556,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:564,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:544,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:562,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:496,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:500,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:504,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:505,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:509,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:511,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:510,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:519,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:523,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:539,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:549,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:548,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:563,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:557,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:495,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:499,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:503,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:507,1
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:517,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:520,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:527,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:533,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:538,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:540,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:560,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:558,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:494,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:498,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:502,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:515,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:516,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:512,1
    - Dst: gf_list_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:526,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:542,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:550,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:551,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:553,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:561,1
    - Dst: wm_delete_message_param
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:555,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 1
    argNames:
    - content
    argTypes:
    - GF_WidgetContent*
    constantsTouched: []
    func_position:
      end: 565
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 565
    functionName: wm_delete_widget_content
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_js_remove_root
    - gf_free
    - wm_delete_message_param
    linkageType: ''
    returnType: void
    signature: 'static void wm_delete_widget_content(GF_WidgetContent *content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wm_component_activation_event
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: wm_component_activate_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - wm_component_activation_event
    linkageType: ''
    returnType: void
    signature: 'static void wm_component_activate_event(GF_Node *hdl, GF_DOM_Event
      *evt, GF_Node *observer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2178,1
    - Dst: wm_load_widget
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2187,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2183,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2180,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2182,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2190,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2197,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2203,1
    - Dst: wm_widget_jsbind
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2205,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2207,1
    - Dst: JS_CallFunctionValue
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2210,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2207,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2209,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 4
    argNames:
    - c
    - wid
    - comp
    - skip_wm_notification
    argTypes:
    - JSContext*
    - GF_WidgetInstance*
    - GF_WidgetComponent*
    - Bool
    constantsTouched: []
    func_position:
      end: 2214
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2214
    functionName: wm_activate_component
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_url_concatenate
    - gf_list_get
    - wm_widget_jsbind
    - JSVAL_IS_OBJECT
    - JS_CallFunctionValue
    - gf_list_count
    - strcmp
    - OBJECT_TO_JSVAL
    - JS_LookupProperty
    - GF_SAFEALLOC
    - gf_free
    - wm_load_widget
    linkageType: ''
    returnType: GF_WidgetComponentInstance*
    signature: 'GF_WidgetComponentInstance *wm_activate_component(JSContext *c, GF_WidgetInstance
      *wid, GF_WidgetComponent *comp, Bool skip_wm_notification) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2390,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2393,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2395,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2391,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2394,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames:
    - wm_get
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2397
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - JSVAL_TO_INT
    - JSVAL_IS_INT
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(wm_get) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_term_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2864,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2870,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2875,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2873,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2867,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2876,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2878,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2879,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2881,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2883,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 5
    argNames:
    - wm
    - widget_path
    - res_name
    - relocated_name
    - localized_res_name
    argTypes:
    - GF_WidgetManager*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2890
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2890
    functionName: wm_relocate_url
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_url_concatenate
    - gf_dm_sess_process
    - strcpy
    - gf_term_relocate_url
    - sprintf
    - gf_dm_sess_del
    - strnicmp
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wm_relocate_url(GF_WidgetManager *wm, const char *widget_path,
      const char *res_name, char *relocated_name, char *localized_res_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2958,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2940,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2939,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2953,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2962,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2959,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2963,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2969,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2937,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2947,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2951,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2951,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2954,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2956,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2965,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2956,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2951,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2956,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2966,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - widget
    - icon_relocated_path
    - icon_localized_path
    - uri_fragment
    argTypes:
    - GF_Widget*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2971
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2971
    functionName: wm_add_icon
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_list_get
    - strcat
    - gf_list_count
    - gf_strdup
    - strcmp
    - GF_SAFEALLOC
    - strcpy
    - gf_list_new
    linkageType: ''
    returnType: GF_WidgetContent*
    signature: 'static GF_WidgetContent *wm_add_icon(GF_Widget *widget, const char
      *icon_relocated_path, const char *icon_localized_path, const char *uri_fragment) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_add_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3613,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3621,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3639,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3631,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3627,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3574,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3575,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3578,1
    - Dst: widget_load
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3585,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3597,1
    - Dst: JS_DefineObject
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3611,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3612,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3623,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3624,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3625,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3628,1
    - Dst: gf_js_remove_root
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3592,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3596,1
    - Dst: wm_delete_widget_instance
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3598,1
    - Dst: SMJS_PROPERTY_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3618,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3610,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3622,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3629,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3635,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3645,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3638,1
    - Dst: SMJS_PROPERTY_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3570,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3573,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3576,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3577,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3608,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3632,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3633,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3641,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3642,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3630,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3626,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - jsext
    - scene
    - c
    - global
    - unload
    argTypes:
    - GF_JSUserExtension*
    - GF_SceneGraph*
    - JSContext*
    - JSObject*
    - Bool
    constantsTouched: []
    func_position:
      end: 3653
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3653
    functionName: widgetmanager_load
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - GF_JS_InitClass
    - gf_list_get
    - JS_SETUP_CLASS
    - widget_load
    - SMJS_FUNCTION_SPEC
    - gf_js_add_root
    - gf_list_count
    - SMJS_PROPERTY_SPEC
    - JS_DefineObject
    - wm_delete_widget_instance
    - gf_js_remove_root
    linkageType: ''
    returnType: void
    signature: 'static void widgetmanager_load(GF_JSUserExtension *jsext, GF_SceneGraph
      *scene, JSContext *c, JSObject *global, Bool unload) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2585,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2692,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2722,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2552,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2697,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2668,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2611,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2636,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2554,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2591,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2654,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2619,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2739,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2675,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2564,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2623,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2726,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2738,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2741,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2587,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2648,1
    - Dst: gf_list_del_item
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2622,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2658,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2616,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2667,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2716,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2662,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2574,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2580,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2670,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2636,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2706,1
    - Dst: wm_xml_find
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2539,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2562,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2629,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2725,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2732,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2674,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2678,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2600,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2717,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2735,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2740,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2567,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2585,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2598,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2701,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2721,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2553,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2559,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2590,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2636,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2700,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2549,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2561,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2570,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2593,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2595,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2659,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2661,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2710,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2724,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2687,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2548,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2589,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2606,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2624,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2676,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2737,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2742,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2543,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2572,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2604,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2616,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2664,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2689,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2656,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2719,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2683,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2558,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2576,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2625,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2655,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2685,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2705,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2712,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2568,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2640,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2731,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2670,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2686,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2634,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2673,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2556,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2565,1
    - Dst: wm_xml_get_attr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2631,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2727,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2728,1
    - Dst: wm_parse_pin
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2736,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 238
    argCount: 4
    argNames:
    - content
    - root
    - ns_prefix
    - global_prefs
    argTypes:
    - GF_WidgetContent*
    - GF_XMLNode*
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 2744
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2744
    functionName: wm_parse_mpegu_content_element
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del
    - wm_parse_pin
    - gf_list_enum
    - wm_xml_get_attr
    - gf_strdup
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    - wm_xml_find
    - gf_list_new
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void wm_parse_mpegu_content_element(GF_WidgetContent *content,
      GF_XMLNode *root, const char *ns_prefix, GF_List *global_prefs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2899,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2915,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2911,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2907,1
    - Dst: wm_relocate_url
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2903,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2921,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2922,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2923,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2924,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2925,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2926,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2927,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:2928,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - wm
    - content
    - widget_path
    argTypes:
    - GF_WidgetManager*
    - GF_WidgetContent*
    - char*
    constantsTouched: []
    func_position:
      end: 2929
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2929
    functionName: wm_set_default_start_file
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - wm_relocate_url
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void wm_set_default_start_file(GF_WidgetManager *wm, GF_WidgetContent
      *content, const char *widget_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gwm_delete
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3733,1
    - Dst: ShutdownWidgetReader
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:3737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 3743
      start: 3727
    functionDepth: 0
    functionLinenumber: 3727
    functionLinenumberEnd: 3743
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - ShutdownWidgetReader
    - gwm_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3699
    functionDepth: 0
    functionLinenumber: 3699
    functionLinenumberEnd: 3713
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widget_isom_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (path)
    argTypes:
    - gf_isom_probe_file
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: if
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/widgetman.c
    functionUses: []
    functionsReached:
    - widget_isom_new
    linkageType: ''
    returnType: else
    signature: 'else if (gf_isom_probe_file(path)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: fread_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - fread
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZCALLBACK fread_file_func (opaque, stream, buf, size) voidpf
      opaque; voidpf stream; void* buf; uLong size; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:280,1
    - Dst: ZTELL
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:284,1
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:309,1
    - Dst: ALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:289,1
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:306,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:323,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 325
    functionName: unzlocal_SearchCentralDir
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK
    - ALLOC
    - TRYFREE
    - ZREAD
    - ZTELL
    linkageType: ''
    returnType: uLong
    signature: 'static uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)
      const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:424,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:430,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:427,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:421,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:418,1
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:461,1
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:372,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:389,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:392,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:386,1
    - Dst: unzlocal_DosDateToTmuDate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:401,1
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:467,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:403,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:406,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:415,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:412,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:409,1
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:494,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:380,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:395,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:398,1
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:446,1
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:487,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 132
    argCount: 0
    argNames:
    - file
    - pfile_info
    - pfile_info_internal
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 508
    functionName: unzlocal_GetCurrentFileInfoInternal
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK
    - unzlocal_DosDateToTmuDate
    - unzlocal_getLong
    - ZREAD
    - unzlocal_getShort
    linkageType: ''
    returnType: int
    signature: 'static int unzlocal_GetCurrentFileInfoInternal (file, pfile_info,
      pfile_info_internal, szFileName, fileNameBufferSize, extraField, extraFieldBufferSize,
      szComment, commentBufferSize) unzFile file; unz_file_info *pfile_info; unz_file_info_internal
      *pfile_info_internal; char *szFileName; uLong fileNameBufferSize; void *extraField;
      uLong extraFieldBufferSize; char *szComment; uLong commentBufferSize; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_GetCurrentFileInfoInternal
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 571
    functionName: unzGoToFirstFile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzlocal_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'int unzGoToFirstFile (file) unzFile file; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:248,1
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:260,1
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:252,1
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: unzlocal_getLong
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzlocal_getByte
    linkageType: ''
    returnType: int
    signature: 'static int unzlocal_getLong (pzlib_filefunc_def,filestream,pX) const
      zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:795,1
    - Dst: inflate
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:861,1
    - Dst: crc32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:834,1
    - Dst: crc32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:870,1
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:801,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 0
    argNames:
    - file
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 888
    functionName: unzReadCurrentFile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZREAD
    - ZSEEK
    - crc32
    - inflate
    linkageType: ''
    returnType: int
    signature: 'int unzReadCurrentFile (file, buf, len) unzFile file; voidp buf; unsigned
      len; '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:914,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:926,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:935,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:932,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:920,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:944,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:947,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:953,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:959,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:966,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:973,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 82
    argCount: 0
    argNames:
    - s
    - piSizeVar
    - poffset_local_extrafield
    - psize_local_extrafield
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 982
    functionName: unzlocal_CheckCurrentFileCoherencyHeader
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK
    - unzlocal_getShort
    - unzlocal_getLong
    linkageType: ''
    returnType: int
    signature: 'int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar, poffset_local_extrafield,
      psize_local_extrafield) unz_s* s; uInt* piSizeVar; uLong *poffset_local_extrafield;
      uInt *psize_local_extrafield; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1128,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1131,1
    - Dst: ZCLOSE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1133
    functionName: unzClose
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZCLOSE
    - TRYFREE
    - unzCloseCurrentFile
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzClose (file) unzFile file; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1371,1
    - Dst: fgetc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1373,1
    - Dst: fgetc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1376,1
    - Dst: fgetc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1374,1
    - Dst: fgetc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1375,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - zipfilename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1380
    functionName: gf_unzip_probe
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_fopen
    - fgetc
    linkageType: ''
    returnType: int
    signature: 'int gf_unzip_probe(const char *zipfilename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_GetCurrentFileInfoInternal
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 550
    functionName: unzGoToNextFile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzlocal_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'int unzGoToNextFile (file) unzFile file; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:613,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:619,1
    - Dst: inflateEnd
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 624
    functionName: unzCloseCurrentFile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - TRYFREE
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: 'int unzCloseCurrentFile (file) unzFile file; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames:
    - file
    - pglobal_info
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: unzGetGlobalInfo
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int unzGetGlobalInfo (file,pglobal_info) unzFile file; unz_global_info
      *pglobal_info; '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1012,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1031,1
    - Dst: ALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1023,1
    - Dst: ALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1019,1
    - Dst: unzlocal_CheckCurrentFileCoherencyHeader
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1014,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1058,1
    - Dst: inflateInit2
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1081,1
    - Dst: TRYFREE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1086,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 0
    argNames:
    - file
    - method
    - level
    - raw
    - password
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1112
    functionName: unzOpenCurrentFile3
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzCloseCurrentFile
    - ALLOC
    - TRYFREE
    - unzlocal_CheckCurrentFileCoherencyHeader
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: 'int unzOpenCurrentFile3 (file, method, level, raw, password) unzFile
      file; int* method; int* level; int raw; const char* password; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1145,1
    - Dst: mkdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames:
    - dirname
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1150
    functionName: mymkdir
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'int mymkdir(dirname) const char* dirname; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_GetCurrentFileInfoInternal
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: unzGetCurrentFileInfo
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzlocal_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'int unzGetCurrentFileInfo(unzFile file, unz_file_info *pfile_info,
      char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize,
      char *szComment, uLong commentBufferSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: fseek_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - fseek
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'long ZCALLBACK fseek_file_func (opaque, stream, offset, origin) voidpf
      opaque; voidpf stream; uLong offset; int origin; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:201,1
    - Dst: ZERROR
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: unzlocal_getByte
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZREAD
    - ZERROR
    linkageType: ''
    returnType: int
    signature: 'static int unzlocal_getByte(pzlib_filefunc_def,filestream,pi) const
      zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; int *pi; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:225,1
    - Dst: unzlocal_getByte
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: unzlocal_getShort
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - unzlocal_getByte
    linkageType: ''
    returnType: int
    signature: 'static int unzlocal_getShort (pzlib_filefunc_def,filestream,pX) const
      zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1157,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1162,1
    - Dst: mymkdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1168,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1170,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1163,1
    - Dst: mymkdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1183,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1185,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1186,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1193,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames:
    - newdir
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1195
    functionName: makedir
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - mymkdir
    - strcpy
    - fprintf
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'int makedir (newdir) const char *newdir; '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: unzlocal_GetCurrentFileInfoInternal
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1216,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1225,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1243,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1228,1
    - Dst: mymkdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1244,1
    - Dst: unzOpenCurrentFile3
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1254,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1257,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1262,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1289,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1282,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1310,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1293,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1220,1
    - Dst: makedir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1269,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1295,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1302,1
    - Dst: unzReadCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1286,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1271,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1276,1
    - Dst: unzCloseCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1307,1
    - Dst: unzCloseCurrentFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1314,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1317,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 0
    argNames:
    - uf
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1319
    functionName: do_extract_currentfile
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - mymkdir
    - unzOpenCurrentFile3
    - makedir
    - unzReadCurrentFile
    - fprintf
    - gf_fclose
    - unzCloseCurrentFile
    - gf_fwrite
    - unzlocal_GetCurrentFileInfoInternal
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'int do_extract_currentfile(uf) unzFile uf; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unzOpen2
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1330,1
    - Dst: exit
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1340,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1333,1
    - Dst: chdir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1337,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1339,1
    - Dst: unzGetGlobalInfo
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1344,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1346,1
    - Dst: do_extract_currentfile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1350,1
    - Dst: unzGoToNextFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1355,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1358,1
    - Dst: unzClose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - zipfilename
    - dirname
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1366
    functionName: gf_unzip_archive
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - fprintf
    - chdir
    - exit
    - unzGoToNextFile
    - unzOpen2
    - unzGetGlobalInfo
    - do_extract_currentfile
    - unzClose
    linkageType: ''
    returnType: int
    signature: 'int gf_unzip_archive(const char *zipfilename, const char *dirname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames:
    - opaque
    - filename
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: fopen_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - gf_fopen
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZCALLBACK fopen_file_func (opaque, filename, mode) voidpf opaque;
      const char* filename; int mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: fwrite_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZCALLBACK fwrite_file_func (opaque, stream, buf, size) voidpf
      opaque; voidpf stream; const void* buf; uLong size; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames:
    - opaque
    - stream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ftell_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ftell
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'long ZCALLBACK ftell_file_func (opaque, stream) voidpf opaque; voidpf
      stream; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames:
    - opaque
    - stream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: fclose_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - gf_fclose
    linkageType: ''
    returnType: int
    signature: 'int ZCALLBACK fclose_file_func (opaque, stream) voidpf opaque; voidpf
      stream; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames:
    - opaque
    - stream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: ferror_file_func
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: 'int ZCALLBACK ferror_file_func (opaque, stream) voidpf opaque; voidpf
      stream; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: fill_fopen_filefunc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_fopen_filefunc (pzlib_filefunc_def) zlib_filefunc_def* pzlib_filefunc_def; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames:
    - ulDosDate
    - ptm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: unzlocal_DosDateToTmuDate
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void unzlocal_DosDateToTmuDate (ulDosDate, ptm) uLong ulDosDate; tm_unz*
      ptm; '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen_filefunc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:655,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:675,1
    - Dst: unzlocal_SearchCentralDir
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:666,1
    - Dst: ZSEEK
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:670,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:679,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:683,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:687,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:691,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:700,1
    - Dst: unzlocal_getLong
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:705,1
    - Dst: unzGoToFirstFile
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:731,1
    - Dst: ALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:729,1
    - Dst: unzlocal_getShort
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:709,1
    - Dst: ZCLOSE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c:718,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 0
    argNames:
    - path
    - pzlib_filefunc_def
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 733
    functionName: unzOpen2
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK
    - fill_fopen_filefunc
    - ZCLOSE
    - ALLOC
    - unzlocal_SearchCentralDir
    - unzlocal_getLong
    - unzGoToFirstFile
    - unzlocal_getShort
    linkageType: ''
    returnType: unzFile
    signature: 'extern unzFile ZEXPORT unzOpen2 (path, pzlib_filefunc_def) const char
      *path; zlib_filefunc_def* pzlib_filefunc_def; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames:
    - newdir
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1200
    functionName: makedir
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int makedir (newdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_SceneDecoder*
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: WGT_ReleaseScene
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_ReleaseScene(GF_SceneDecoder *plug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - plug
    - ES_ID
    argTypes:
    - GF_BaseDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: WGT_DetachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_DetachStream(GF_BaseDecoder *plug, u16 ES_ID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - ifce
    - StreamType
    - esd
    - PL
    argTypes:
    - GF_BaseDecoder*
    - u32
    - GF_ESD*
    - u8
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: WGT_CanHandleStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 WGT_CanHandleStream(GF_BaseDecoder *ifce, u32 StreamType,
      GF_ESD *esd, u8 PL) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - plug
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: WGT_SetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_SetCapabilities(GF_BaseDecoder *plug, const GF_CodecCapability
      capability) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:82,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:103,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:91,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:107,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:118,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:123,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:138,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:146,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:147,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:151,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:173,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:120,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:156,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:155,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:165,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:150,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:80,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:81,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:79,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:85,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:88,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:89,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:90,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:105,1
    - Dst: gf_node_set_id
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:102,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:99,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:149,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:157,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:164,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:166,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:157,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:125,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:104,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:124,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:143,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:152,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:158,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:161,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:170,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:172,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:108,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:112,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:162,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:148,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:168,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:167,1
    - Dst: gf_sg_reset
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:63,1
    - Dst: gf_node_register
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:86,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:87,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:101,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:106,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:109,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:117,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:138,1
    - Dst: gf_node_init
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:140,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:144,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:119,1
    - Dst: gf_node_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:154,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:167,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:121,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 6
    argNames:
    - plug
    - inBuffer
    - inBufferLength
    - ES_ID
    - stream_time
    - mmlevel
    argTypes:
    - GF_SceneDecoder*
    - char*
    - u32
    - u16
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 183
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 183
    functionName: WGT_ProcessData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_node_init
    - gf_node_get_attribute_by_name
    - gf_node_set_id
    - gf_node_new
    - gf_dom_add_text_node
    - gf_strdup
    - gf_svg_parse_attribute
    - gf_fopen
    - gf_scene_attach_to_compositor
    - gf_sg_set_root_node
    - gf_sg_set_scene_size_info
    - gf_sg_reset
    - sprintf
    - gf_node_get_attribute_by_tag
    - strchr
    - gf_free
    - gf_node_register
    - gf_opts_get_key
    - gf_node_list_add_child_last
    - gf_sg_get_root_node
    - gf_sg_add_namespace
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_ProcessData(GF_SceneDecoder *plug, const char *inBuffer,
      u32 inBufferLength, u16 ES_ID, u32 stream_time, u32 mmlevel) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:210,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:213,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:212,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:211,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - plug
    - esd
    argTypes:
    - GF_BaseDecoder*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: WGT_AttachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_del
    - gf_bs_new
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_AttachStream(GF_BaseDecoder *plug, GF_ESD *esd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - plug
    - scene
    - is_scene_decoder
    argTypes:
    - GF_SceneDecoder*
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: WGT_AttachScene
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_AttachScene(GF_SceneDecoder *plug, GF_Scene *scene,
      Bool is_scene_decoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - plug
    argTypes:
    - struct _basedecoder*
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: WGT_GetName
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *WGT_GetName(struct _basedecoder *plug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - plug
    - cap
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: WGT_GetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WGT_GetCapabilities(GF_BaseDecoder *plug, GF_CodecCapability
      *cap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:269,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:275,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:271,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 290
    functionName: LoadWidgetReader
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_BaseInterface*
    signature: 'GF_BaseInterface *LoadWidgetReader() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:302,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: ShutdownWidgetReader
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/widgetman/wgt_load.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ShutdownWidgetReader(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_service_register_mime
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: LIBPLAYER_RegisterMimeTypes
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - gf_service_register_mime
    linkageType: ''
    returnType: u32
    signature: 'static u32 LIBPLAYER_RegisterMimeTypes(const GF_InputService *plug) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:118,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:126,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:125,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:124,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:125,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:129,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:133,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: LIBPLAYER_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - strrchr
    - strstr
    - strchr
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool LIBPLAYER_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:383,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:428,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:408,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:417,1
    - Dst: player_playback_start
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:411,1
    - Dst: player_playback_stop
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:432,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 445
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 445
    functionName: LIBPLAYER_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - player_playback_stop
    - player_playback_start
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LIBPLAYER_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:464,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: LIBPLAYER_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LIBPLAYER_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - dec
    - StreamType
    - esd
    - PL
    argTypes:
    - GF_BaseDecoder*
    - u32
    - GF_ESD*
    - u8
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: LIBPLAYER_CanHandleStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'static u32 LIBPLAYER_CanHandleStream(GF_BaseDecoder *dec, u32 StreamType,
      GF_ESD *esd, u8 PL) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:541,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:558,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:559,1
    - Dst: mrl_get_property
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:552,1
    - Dst: mrl_get_property
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:551,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:560,1
    - Dst: player_video_io_windows_set
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:576,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - dec
    - mute
    - src
    - dst
    argTypes:
    - GF_PrivateMediaDecoder*
    - Bool
    - GF_Window*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 593
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 593
    functionName: LIBPLAYER_Control
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - player_video_io_windows_set
    - fprintf
    - GF_LOG
    - mrl_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LIBPLAYER_Control(GF_PrivateMediaDecoder *dec, Bool
      mute, GF_Window *src, GF_Window *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:451,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:454,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:452,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: LIBPLAYER_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LIBPLAYER_ConnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel, const char *url, Bool upstream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: LIBPLAYER_CanHandleURLInService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool LIBPLAYER_CanHandleURLInService(GF_InputService *plug, const
      char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_BaseDecoder*
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: LIBPLAYER_GetName
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: char*
    signature: 'static const char *LIBPLAYER_GetName(GF_BaseDecoder *dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:149,1
    - Dst: player_playback_start
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:154,1
    - Dst: player_playback_stop
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - player_event_t
    - void*
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: on_libplayer_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - player_playback_stop
    - player_playback_start
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int on_libplayer_event(player_event_t e, void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:613,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:634,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:614,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:627,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:615,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 648
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 648
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: player_init
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:205,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:221,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:234,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:251,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:261,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:248,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:280,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:284,1
    - Dst: player_dvb_pes_filter_start
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:285,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:289,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:292,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:317,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:335,1
    - Dst: calloc
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:291,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:199,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:200,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:212,1
    - Dst: calloc
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:215,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:230,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:241,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:255,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:227,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:266,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:272,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:184,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:262,1
    - Dst: free
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:267,1
    - Dst: free
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:273,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:289,1
    - Dst: strdup
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:293,1
    - Dst: player_mrl_set
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:309,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:323,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:336,1
    - Dst: mrl_new
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:297,1
    - Dst: mrl_new
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:279,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:219,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:240,1
    - Dst: strdup
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:295,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:304,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:305,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:326,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 139
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 340
    functionName: LIBPLAYER_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - player_dvb_pes_filter_start
    - strdup
    - gf_odf_desc_esd_new
    - GF_LOG
    - calloc
    - player_mrl_set
    - gf_odf_desc_new
    - gf_service_declare_media
    - mrl_new
    - player_init
    - strchr
    - strnicmp
    - atoi
    - free
    - strstr
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LIBPLAYER_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:656,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:657,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 661
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 661
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: LIBPLAYER_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *LIBPLAYER_GetServiceDesc(GF_InputService *plug,
      u32 expect_type, const char *sub_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: player_playback_stop
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:349,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:350,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:352,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:358,1
    - Dst: player_uninit
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:351,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:359,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 370
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 370
    functionName: LIBPLAYER_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - fprintf
    - GF_LOG
    - player_playback_stop
    - player_uninit
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LIBPLAYER_CloseService(GF_InputService *plug) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - dec
    - esd
    argTypes:
    - GF_BaseDecoder*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: LIBPLAYER_AttachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LIBPLAYER_AttachStream(GF_BaseDecoder *dec, GF_ESD *esd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability*
    constantsTouched: []
    func_position:
      end: 513
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 513
    functionName: LIBPLAYER_GetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LIBPLAYER_GetCapabilities(GF_BaseDecoder *dec, GF_CodecCapability
      *capability) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - ES_ID
    argTypes:
    - GF_BaseDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: LIBPLAYER_DetachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LIBPLAYER_DetachStream(GF_BaseDecoder *dec, u16 ES_ID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dec
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: LIBPLAYER_SetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/libplayer/libplayer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LIBPLAYER_SetCapabilities(GF_BaseDecoder *dec, GF_CodecCapability
      capability) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freenect_get_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:72,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - dev
    - v_depth
    - timestamp
    argTypes:
    - freenect_device*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: Freenect_DepthCallback_RGBD
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - freenect_get_user
    linkageType: ''
    returnType: void
    signature: 'void Freenect_DepthCallback_RGBD(freenect_device *dev, void *v_depth,
      uint32_t timestamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freenect_get_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:182,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - rgb
    - timestamp
    argTypes:
    - freenect_device*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Freenect_RGBCallback
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - freenect_get_user
    linkageType: ''
    returnType: void
    signature: 'void Freenect_RGBCallback(freenect_device *dev, void *rgb, uint32_t
      timestamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freenect_get_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:109,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - dev
    - v_depth
    - timestamp
    argTypes:
    - freenect_device*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: Freenect_DepthCallback_GREY8
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - freenect_get_user
    linkageType: ''
    returnType: void
    signature: 'void Freenect_DepthCallback_GREY8(freenect_device *dev, void *v_depth,
      uint32_t timestamp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:210,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:211,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: Freenect_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool Freenect_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:270,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:310,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:311,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:312,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:313,1
    - Dst: freenect_set_video_mode
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:329,1
    - Dst: freenect_set_depth_mode
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:330,1
    - Dst: freenect_set_video_format
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:335,1
    - Dst: freenect_set_depth_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:357,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:375,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:420,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:399,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:399,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:422,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:417,1
    - Dst: freenect_set_depth_format
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:336,1
    - Dst: freenect_set_log_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:263,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:276,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:294,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:299,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:345,1
    - Dst: freenect_set_depth_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:352,1
    - Dst: freenect_set_depth_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:367,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:375,1
    - Dst: freenect_find_depth_mode
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:330,1
    - Dst: powf
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:380,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:390,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:416,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:396,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:418,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:398,1
    - Dst: freenect_set_video_buffer
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:373,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:268,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:297,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:283,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:319,1
    - Dst: freenect_find_video_mode
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:328,1
    - Dst: freenect_set_video_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:346,1
    - Dst: freenect_set_depth_callback
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:362,1
    - Dst: freenect_set_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:384,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:386,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:415,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:394,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:398,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:370,1
    - Dst: freenect_init
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:257,1
    - Dst: freenect_select_subdevices
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:265,1
    - Dst: freenect_set_log_level
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:262,1
    - Dst: freenect_num_devices
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:267,1
    - Dst: freenect_open_device
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:274,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:286,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:309,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:302,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:281,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:315,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:424,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:398,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:419,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:425,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:421,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 195
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 428
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 428
    functionName: Freenect_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - freenect_init
    - freenect_set_depth_callback
    - gf_bs_get_content
    - GF_LOG
    - freenect_select_subdevices
    - powf
    - gf_th_new
    - gf_4cc_to_str
    - strstr
    - gf_service_connect_ack
    - gf_odf_desc_esd_new
    - gf_bs_del
    - freenect_find_depth_mode
    - freenect_set_video_format
    - gf_odf_desc_new
    - freenect_set_depth_format
    - stricmp
    - freenect_set_video_mode
    - freenect_set_depth_mode
    - freenect_set_video_buffer
    - gf_bs_write_u16
    - gf_bs_new
    - gf_service_declare_media
    - freenect_set_user
    - gf_bs_write_u32
    - strchr
    - freenect_set_log_callback
    - strnicmp
    - sscanf
    - freenect_open_device
    - freenect_set_video_callback
    - freenect_set_log_level
    - freenect_find_video_mode
    - freenect_num_devices
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Freenect_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: Freenect_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *Freenect_GetServiceDesc(GF_InputService *plug,
      u32 expect_type, const char *sub_url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:502,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:512,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:505,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:507,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:510,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 518
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 518
    functionName: Freenect_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - sscanf
    - memset
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Freenect_ConnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel, const char *url, Bool upstream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: Freenect_CanHandleURLInService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool Freenect_CanHandleURLInService(GF_InputService *plug, const char
      *url) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: freenect_get_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:129,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:176,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 3
    argNames:
    - dev
    - v_depth
    - timestamp
    argTypes:
    - freenect_device*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: Freenect_DepthCallback_ColorGradient
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - freenect_get_user
    linkageType: ''
    returnType: void
    signature: 'void Freenect_DepthCallback_ColorGradient(freenect_device *dev, void
      *v_depth, uint32_t timestamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freenect_get_user
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:98,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:103,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - v_depth
    - timestamp
    argTypes:
    - freenect_device*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: Freenect_DepthCallback_GREY16
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_send_packet
    - memcpy
    - freenect_get_user
    linkageType: ''
    returnType: void
    signature: 'void Freenect_DepthCallback_GREY16(freenect_device *dev, void *v_depth,
      uint32_t timestamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:194,1
    - Dst: freenect_process_events
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:198,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:199,1
    - Dst: freenect_start_video
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:196,1
    - Dst: freenect_start_depth
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:195,1
    - Dst: freenect_stop_depth
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:201,1
    - Dst: freenect_stop_video
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:202,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: FreenectRun
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - freenect_stop_video
    - freenect_stop_depth
    - GF_LOG
    - freenect_start_depth
    - freenect_start_video
    - freenect_process_events
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'u32 FreenectRun(void *par) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:220,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:233,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:227,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - level
    - msg
    argTypes:
    - freenect_context*
    - freenect_loglevel
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: Freenect_Logs
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void Freenect_Logs(freenect_context *dev, freenect_loglevel level,
      const char *msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freenect_close_device
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:433,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:437,1
    - Dst: freenect_shutdown
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: Freenect_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - freenect_close_device
    - freenect_shutdown
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Freenect_CloseService(GF_InputService *plug) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:472,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:480,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 495
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 495
    functionName: Freenect_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_sleep
    - gf_th_run
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Freenect_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: Freenect_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Freenect_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:555,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:556,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:557,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 574
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 574
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:583,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:587,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:586,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:584,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c:585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/freenect/freenect.c
    functionUses: []
    functionsReached:
    - gf_th_del
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:45,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:47,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 4
    argNames:
    - ifce
    - urn
    - dsi
    - (*AddField)
    argTypes:
    - struct __input_device*
    - char*
    - GF_BitStream*
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: OCV_RegisterDevice
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - AddField
    - strncmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OCV_RegisterDevice(struct __input_device *ifce, const
      char *urn, GF_BitStream *dsi, void (*AddField)(struct __input_device *_this,
      u32 fieldType, const char *name)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cvCaptureFromCAM
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:141,1
    - Dst: cvSetCaptureProperty
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:142,1
    - Dst: cvGrabFrame
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:149,1
    - Dst: cvNamedWindow
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:145,1
    - Dst: cvSetCaptureProperty
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:143,1
    - Dst: cvRetrieveFrame
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:152,1
    - Dst: load_object_detector
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:154,1
    - Dst: detect_and_draw_objects
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:155,1
    - Dst: cvShowImage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:158,1
    - Dst: cvWaitKey
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:159,1
    - Dst: cvReleaseImage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 164
    functionName: OCV_Run
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - cvShowImage
    - detect_and_draw_objects
    - cvGrabFrame
    - cvReleaseImage
    - cvSetCaptureProperty
    - cvWaitKey
    - cvRetrieveFrame
    - cvNamedWindow
    - load_object_detector
    - cvCaptureFromCAM
    linkageType: ''
    returnType: u32
    signature: 'static u32 OCV_Run(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: OCV_Stop
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void OCV_Stop(struct __input_device *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:197,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:204,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:206,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - gf_th_new
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: OCV_Start
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - gf_th_run
    linkageType: ''
    returnType: void
    signature: 'static void OCV_Start(struct __input_device *ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cvCreateMemStorage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:66,1
    - Dst: cvSize
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:77,1
    - Dst: cvHaarDetectObjects
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:82,1
    - Dst: cvSize
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:82,1
    - Dst: cvRectangle
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:101,1
    - Dst: cvPoint
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:102,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:113,1
    - Dst: cvPyrDown
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:78,1
    - Dst: cvCreateImage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:77,1
    - Dst: cvPoint
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:101,1
    - Dst: CV_RGB
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:104,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:106,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:118,1
    - Dst: cvReleaseMemStorage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:131,1
    - Dst: cvGetSeqElem
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:87,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:117,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:115,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:114,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:112,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:119,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:121,1
    - Dst: cvReleaseImage
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 4
    argNames:
    - ifce
    - image
    - cascade
    - do_pyramids
    argTypes:
    - GF_InputSensorDevice*
    - IplImage*
    - CvHaarClassifierCascade*
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: detect_and_draw_objects
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - cvGetSeqElem
    - GF_LOG
    - cvPoint
    - cvCreateMemStorage
    - gf_bs_del
    - cvCreateImage
    - cvReleaseMemStorage
    - gf_bs_write_int
    - cvRectangle
    - CV_RGB
    - gf_bs_new
    - cvPyrDown
    - gf_free
    - gf_bs_write_float
    - cvSize
    - gf_bs_align
    - cvHaarDetectObjects
    - cvReleaseImage
    linkageType: ''
    returnType: void
    signature: 'void detect_and_draw_objects(GF_InputSensorDevice *ifce, IplImage*
      image, CvHaarClassifierCascade* cascade, int do_pyramids ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvLoad
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cascade_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: load_object_detector
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - cvLoad
    linkageType: ''
    returnType: CvHaarClassifierCascade*
    signature: 'CvHaarClassifierCascade * load_object_detector( const char* cascade_path
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/opencv_is/opencv_is.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFDEC_Delete
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c:68,1
    - Dst: Delete_FFMPEG_Demux
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c
    functionUses: []
    functionsReached:
    - Delete_FFMPEG_Demux
    - FFDEC_Delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFDEC_Load
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c:56,1
    - Dst: New_FFMPEG_Demux
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_load.c
    functionUses: []
    functionsReached:
    - FFDEC_Load
    - New_FFMPEG_Demux
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av_open_input_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:187,1
    - Dst: avformat_open_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - ic_ptr
    - filename
    - fmt
    - ops
    argTypes:
    - AVFormatContext**
    - char*
    - AVInputFormat*
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: open_file
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - av_open_input_file
    - avformat_open_input
    linkageType: ''
    returnType: int
    signature: "static int open_file(AVFormatContext **\tic_ptr, const char * \tfilename,
      AVInputFormat * \tfmt, void *ops) "
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:241,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:251,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:255,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:265,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:265,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:266,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:267,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:268,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:268,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:270,1
    - Dst: strlwr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:331,1
    - Dst: avformat_close_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:353,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:272,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:272,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:333,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:273,1
    - Dst: open_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:296,1
    - Dst: av_guess_format
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:324,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:341,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:245,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:249,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:261,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:268,1
    - Dst: ffd_parse_options
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:288,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:294,1
    - Dst: av_find_input_format
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:294,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:330,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:336,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:271,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:273,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:267,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:275,1
    - Dst: guess_stream_format
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:322,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:238,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:239,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:237,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:236,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:240,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:248,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:257,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:258,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:265,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:266,1
    - Dst: gf_service_register_mime
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:335,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:343,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:273,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:339,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:275,1
    - Dst: av_find_stream_info
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:302,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:235,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:257,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:254,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:265,1
    - Dst: strlwr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:259,1
    - Dst: gf_service_check_mime_register
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:282,1
    - Dst: open_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:291,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:269,1
    - Dst: gf_service_register_mime
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:326,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:328,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:340,1
    - Dst: av_close_input_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:351,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:272,1
    - Dst: strcat
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:342,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:275,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:344,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:339,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:268,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 191
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 356
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 356
    functionName: FFD_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strlwr
    - strstr
    - av_close_input_file
    - av_guess_format
    - ffd_parse_options
    - strcmp
    - av_find_stream_info
    - strcpy
    - gf_service_check_mime_register
    - open_file
    - avformat_close_input
    - sprintf
    - gf_service_register_mime
    - strnicmp
    - gf_free
    - gf_opts_get_key
    - guess_stream_format
    - strcat
    - strrchr
    - gf_opts_set_key
    - av_find_input_format
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FFD_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:491,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:499,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:495,1
    - Dst: FFD_GetESDescriptor
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:492,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:496,1
    - Dst: FFD_GetESDescriptor
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:500,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:503,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ffd
    argTypes:
    - FFDemux*
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: FFD_SetupObjects
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_desc_new
    - gf_service_declare_media
    - FFD_GetESDescriptor
    linkageType: ''
    returnType: void
    signature: 'static void FFD_SetupObjects(FFDemux *ffd) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:520,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:533,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:542,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:538,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:546,1
    - Dst: gf_error_to_string
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:546,1
    - Dst: gf_fwrite
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:555,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - h
    - buf
    - size
    argTypes:
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 558
    functionName: ff_url_read
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - GF_LOG
    - gf_dm_sess_fetch_data
    - memcpy
    - gf_fwrite
    - gf_sleep
    linkageType: ''
    returnType: int
    signature: 'static int ff_url_read(void *h, unsigned char *buf, int size) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:584,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:579,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:608,1
    - Dst: gf_service_download_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:619,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:632,1
    - Dst: av_probe_input_format
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:638,1
    - Dst: av_open_input_stream
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:648,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:678,1
    - Dst: av_read_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:736,1
    - Dst: av_close_input_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:765,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:757,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:724,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:577,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:578,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:592,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:593,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:595,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:599,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:597,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:607,1
    - Dst: av_find_input_format
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:595,1
    - Dst: init_put_byte
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:613,1
    - Dst: open_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:652,1
    - Dst: av_close_input_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:746,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:770,1
    - Dst: avformat_close_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:767,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:577,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:585,1
    - Dst: ffd_parse_options
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:589,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:597,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:610,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:640,1
    - Dst: avformat_find_stream_info
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:681,1
    - Dst: av_find_stream_info
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:683,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:717,1
    - Dst: avformat_close_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:748,1
    - Dst: FFD_SetupObjects
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:758,1
    - Dst: strlwr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:594,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:606,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:623,1
    - Dst: open_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:633,1
    - Dst: avformat_open_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:646,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:687,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:691,1
    - Dst: open_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:751,1
    - Dst: av_find_stream_info
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:752,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:763,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:722,1
    - Dst: av_seek_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:743,1
    - Dst: gf_error_to_string
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:763,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 173
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 772
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 772
    functionName: FFD_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - avformat_open_input
    - GF_LOG
    - avformat_find_stream_info
    - strlwr
    - FFD_SetupObjects
    - strstr
    - gf_service_connect_ack
    - av_close_input_file
    - ffd_parse_options
    - gf_error_to_string
    - strcmp
    - init_put_byte
    - av_find_stream_info
    - av_read_frame
    - atoi
    - strcpy
    - stricmp
    - gf_fopen
    - assert
    - av_seek_frame
    - gf_dm_sess_get_cache_name
    - open_file
    - avformat_close_input
    - strnicmp
    - gf_opts_get_key
    - gf_service_download_new
    - av_open_input_stream
    - gf_dm_sess_fetch_data
    - av_probe_input_format
    - strrchr
    - av_find_input_format
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: av_close_input_file
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:823,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:834,1
    - Dst: gf_service_download_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:837,1
    - Dst: avformat_close_input
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:825,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:840,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:843,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 848
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 848
    functionName: FFD_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - av_close_input_file
    - gf_service_disconnect_ack
    - gf_service_download_del
    - avformat_close_input
    - gf_free
    - gf_fclose
    - gf_sleep
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_CloseService(GF_InputService *plug) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 907
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 907
    functionName: FFD_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_service_get_url
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:977,1
    - Dst: strlen
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:985,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:985,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:982,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:981,1
    - Dst: strrchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:986,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:987,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:988,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 990
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 990
    functionName: FFD_CanHandleURLInService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - strrchr
    - strnicmp
    - stricmp
    - gf_service_get_url
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FFD_CanHandleURLInService(GF_InputService *plug, const
      char *url) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:82,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:85,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:88,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:95,1
    - Dst: av_seek_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:101,1
    - Dst: av_read_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:106,1
    - Dst: gf_mx_p
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:113,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:119,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:125,1
    - Dst: gf_service_command
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:133,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:143,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:137,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:144,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:127,1
    - Dst: av_free_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 148
    functionName: FFDemux_Run
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - av_free_packet
    - av_seek_frame
    - memset
    - gf_mx_p
    - gf_service_command
    - av_read_frame
    - gf_service_send_packet
    - gf_mx_v
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'static u32 FFDemux_Run(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_service_register_mime
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: FFD_RegisterMimeTypes
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_service_register_mime
    linkageType: ''
    returnType: u32
    signature: 'static u32 FFD_RegisterMimeTypes(const GF_InputService *plug) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:197,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:205,1
    - Dst: av_dict_set
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:208,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:203,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - ffd
    - url
    argTypes:
    - FFDemux*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 219
    functionName: ffd_parse_options
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - av_dict_set
    - GF_LOG
    - strchr
    linkageType: ''
    returnType: void
    signature: 'void ffd_parse_options(FFDemux *ffd, const char *url) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:362,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:391,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:383,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:392,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:400,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:399,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:442,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:448,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:449,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:455,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:393,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:401,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:403,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:424,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:406,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:440,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:450,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:384,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:394,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:438,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:439,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:441,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:443,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:451,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:460,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:458,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:395,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:396,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:397,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:405,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:425,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:439,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:453,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:454,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:461,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - ffd
    - for_audio
    argTypes:
    - FFDemux*
    - Bool
    constantsTouched: []
    func_position:
      end: 481
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 481
    functionName: FFD_GetESDescriptor
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - GF_4CC
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_ESD*
    signature: 'static GF_ESD *FFD_GetESDescriptor(FFDemux *ffd, Bool for_audio) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:792,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:797,1
    - Dst: FFD_GetESDescriptor
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:794,1
    - Dst: FFD_GetESDescriptor
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:805,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:803,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:808,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 813
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 813
    functionName: FFD_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_desc_new
    - FFD_GetESDescriptor
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *FFD_GetServiceDesc(GF_InputService *plug, u32
      expect_type, const char *sub_url) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:861,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:865,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:885,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 887
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 887
    functionName: FFD_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - sscanf
    - strstr
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_ConnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel, const char *url, Bool upstream) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:939,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:949,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:952,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 966
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 966
    functionName: FFD_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_th_run
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:996,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:998,1
    - Dst: av_register_all
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1005,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1000,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1003,1
    - Dst: avformat_network_init
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1007,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1020,1
    - Dst: gf_mx_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1021,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1023,1
    - Dst: gf_mx_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1024,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1029,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1025,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1032
    functionName: New_FFMPEG_Demux
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - av_register_all
    - gf_mx_del
    - avformat_network_init
    - GF_LOG
    - GF_REGISTER_MODULE_INTERFACE
    - gf_th_new
    - GF_SAFEALLOC
    - gf_free
    - gf_th_del
    linkageType: ''
    returnType: void*
    signature: 'void *New_FFMPEG_Demux() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1043,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1055,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1052,1
    - Dst: av_dict_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1049,1
    - Dst: gf_mx_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c:1046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1056
    functionName: Delete_FFMPEG_Demux
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_demux.c
    functionUses: []
    functionsReached:
    - av_dict_free
    - gf_free
    - gf_th_del
    - gf_mx_del
    linkageType: ''
    returnType: void
    signature: 'void Delete_FFMPEG_Demux(void *ifce) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 45
    argCount: 2
    argNames:
    - plug
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability*
    constantsTouched: []
    func_position:
      end: 710
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 710
    functionName: FFDEC_GetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_GetCapabilities(GF_BaseDecoder *plug, GF_CodecCapability
      *capability) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 3
    argNames:
    - pix_fmt
    - out_pix_fmt
    - ffd
    argTypes:
    - u32
    - u32*
    - FFDec*
    constantsTouched: []
    func_position:
      end: 776
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 776
    functionName: FFDEC_GetOutputPixelFromat
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_GetOutputPixelFromat (u32 pix_fmt, u32 * out_pix_fmt,
      FFDec *ffd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:715,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:716,1
    - Dst: avcodec_flush_buffers
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:722,1
    - Dst: avcodec_flush_buffers
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:721,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 2
    argNames:
    - plug
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability
    constantsTouched: []
    func_position:
      end: 735
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 735
    functionName: FFDEC_SetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - assert
    - avcodec_flush_buffers
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_SetCapabilities(GF_BaseDecoder *plug, GF_CodecCapability
      capability) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: av_init_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:795,1
    - Dst: avcodec_decode_audio3
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:824,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:908,1
    - Dst: avcodec_decode_audio4
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:817,1
    - Dst: avcodec_decode_audio2
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:827,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:910,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:914,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 134
    argCount: 9
    argNames:
    - ffd
    - inBuffer
    - inBufferLength
    - ES_ID
    - CTS
    - outBuffer
    - outBufferLength
    - PaddingBits
    - mmlevel
    argTypes:
    - FFDec*
    - char*
    - u32
    - u16
    - u32*
    - char*
    - u32*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 934
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 934
    functionName: FFDEC_ProcessAudio
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - av_init_packet
    - avcodec_decode_audio4
    - avcodec_decode_audio2
    - avcodec_decode_audio3
    - GF_LOG
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_ProcessAudio(FFDec *ffd, char *inBuffer, u32 inBufferLength,
      u16 ES_ID, u32 *CTS, char *outBuffer, u32 *outBufferLength, u8 PaddingBits,
      u32 mmlevel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av_frame_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - frame
    argTypes:
    - GF_MediaDecoderFrame*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1488
    functionName: FFFrame_Release
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - av_frame_free
    linkageType: ''
    returnType: void
    signature: 'void FFFrame_Release(GF_MediaDecoderFrame *frame) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 8
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_MediaDecoderFrame*
    - u32
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1515
    functionName: FFFrame_GetPlane
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err FFFrame_GetPlane(GF_MediaDecoderFrame *frame, u32 plane_idx,
      const char **outPlane, u32 *outStride) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:57,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:60,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - oldBuffer
    - size
    argTypes:
    - uint8_t*
    - u32
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: ffmpeg_realloc_buffer
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_free
    linkageType: ''
    returnType: uint8_t*
    signature: 'static uint8_t * ffmpeg_realloc_buffer(uint8_t * oldBuffer, u32 size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:69,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:69,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:74,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:71,1
    - Dst: strupr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:76,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:77,1
    - Dst: strlwr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:79,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:80,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:83,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:83,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:88,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:88,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:89,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:86,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:85,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:89,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:88,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - codec_4cc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: ffmpeg_get_codec
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - strcpy
    - avcodec_find_decoder_by_name
    - avcodec_find_decoder
    - strlwr
    - gf_4cc_to_str
    - stricmp
    - strupr
    linkageType: ''
    returnType: AVCodec*
    signature: 'static AVCodec *ffmpeg_get_codec(u32 codec_4cc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - PIX_FMT_YUV420P10LE
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1206
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1206
    functionName: if
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->pix_fmt == PIX_FMT_YUV420P10LE) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1609,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1683,1
    - Dst: ffmpeg_get_codec
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1716,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1614,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1629,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1694,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1721,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1573,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1579,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1575,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1584,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1646,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1580,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1574,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1582,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1587,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1688,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1701,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1636,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1638,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 96
    argCount: 4
    argNames:
    - plug
    - StreamType
    - esd
    - PL
    argTypes:
    - GF_BaseDecoder*
    - u32
    - GF_ESD*
    - u8
    constantsTouched: []
    func_position:
      end: 1734
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1734
    functionName: FFDEC_CanHandleStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_list_get
    - gf_bs_del
    - GF_4CC
    - gf_list_count
    - gf_bs_new
    - gf_odf_avc_cfg_del
    - avcodec_find_decoder
    - ffmpeg_get_codec
    - gf_odf_avc_cfg_read
    linkageType: ''
    returnType: u32
    signature: 'static u32 FFDEC_CanHandleStream(GF_BaseDecoder *plug, u32 StreamType,
      GF_ESD *esd, u8 PL) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:101,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:110,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:118,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:107,1
    - Dst: ffmpeg_realloc_buffer
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:109,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:120,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:121,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:123,1
    - Dst: ffmpeg_realloc_buffer
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:125,1
    - Dst: strcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:126,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:133,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:127,1
    - Dst: ffmpeg_realloc_buffer
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:135,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - ffd
    - bs
    - codec
    - ctx
    - from_ff_demux
    argTypes:
    - FFDec*
    - GF_BitStream*
    - AVCodec*
    - AVCodecContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 139
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 139
    functionName: FFDEC_LoadDSI
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - GF_4CC
    - strcpy
    - ffmpeg_realloc_buffer
    - gf_bs_available
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: void
    signature: 'static void FFDEC_LoadDSI(FFDec *ffd, GF_BitStream *bs, AVCodec *codec,
      AVCodecContext *ctx, Bool from_ff_demux) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - PIX_FMT_YUV422P10LE
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1211
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1211
    functionName: if
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->pix_fmt == PIX_FMT_YUV422P10LE) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 5
    argNames:
    - ifcg
    - ES_ID
    - pY_or_RGB
    - pU
    - pV
    argTypes:
    - GF_MediaDecoder*
    - u16
    - u8**
    - u8**
    - u8**
    constantsTouched: []
    func_position:
      end: 1473
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1473
    functionName: FFDEC_GetOutputBuffer
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_GetOutputBuffer(GF_MediaDecoder *ifcg, u16 ES_ID,
      u8 **pY_or_RGB, u8 **pU, u8 **pV) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:970,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 9
    argNames:
    - ffd
    - inBuffer
    - inBufferLength
    - ES_ID
    - CTS
    - outBuffer
    - outBufferLength
    - PaddingBits
    - mmlevel
    argTypes:
    - FFDec*
    - char*
    - u32
    - u16
    - u32*
    - char*
    - u32*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 976
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 976
    functionName: FFDEC_ProcessRawVideo
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_ProcessRawVideo(FFDec *ffd, char *inBuffer, u32
      inBufferLength, u16 ES_ID, u32 *CTS, char *outBuffer, u32 *outBufferLength,
      u8 PaddingBits, u32 mmlevel) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:211,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:215,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:222,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:225,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:226,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:227,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:334,1
    - Dst: avcodec_alloc_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:402,1
    - Dst: ffmpeg_realloc_buffer
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:391,1
    - Dst: av_opt_set
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:414,1
    - Dst: av_opt_set
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:415,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:427,1
    - Dst: avcodec_alloc_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:475,1
    - Dst: strstr
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:453,1
    - Dst: avcodec_open
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:458,1
    - Dst: avcodec_alloc_frame
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:501,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:332,1
    - Dst: av_frame_alloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:477,1
    - Dst: avcodec_decode_video2
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:512,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:192,1
    - Dst: avcodec_alloc_context
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:186,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:200,1
    - Dst: FFDEC_LoadDSI
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:216,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:228,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:231,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:244,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:325,1
    - Dst: avcodec_get_context_defaults3
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:348,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:420,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:423,1
    - Dst: avcodec_open2
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:456,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:426,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:376,1
    - Dst: av_opt_set_int
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:438,1
    - Dst: FFDEC_LoadDSI
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:333,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:415,1
    - Dst: gf_list_enum
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:165,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:193,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:184,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:196,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:197,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:198,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:203,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:209,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:210,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:208,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:433,1
    - Dst: av_opt_set
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:417,1
    - Dst: fprintf
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:437,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:418,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:413,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:445,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:199,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:205,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:204,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:212,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:217,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:221,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:229,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:238,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:239,1
    - Dst: ffmpeg_get_codec
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:241,1
    - Dst: av_frame_alloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:404,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:487,1
    - Dst: av_init_packet
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:509,1
    - Dst: av_hwaccel_next
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:351,1
    - Dst: av_frame_alloc
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:503,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:443,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:414,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:444,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:435,1
    - Dst: FFDEC_LoadDSI
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:243,1
    - Dst: avcodec_decode_video
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:515,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 314
    argCount: 2
    argNames:
    - plug
    - esd
    argTypes:
    - GF_BaseDecoder*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 541
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 541
    functionName: FFDEC_AttachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - avcodec_decode_video2
    - GF_LOG
    - av_frame_alloc
    - avcodec_find_decoder
    - avcodec_open2
    - av_opt_set_int
    - avcodec_decode_video
    - strstr
    - FFDEC_LoadDSI
    - avcodec_open
    - av_init_packet
    - gf_bs_del
    - GF_4CC
    - strcmp
    - av_opt_set
    - ffmpeg_get_codec
    - atoi
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_list_enum
    - avcodec_alloc_context
    - avcodec_alloc_frame
    - sprintf
    - gf_bs_new
    - ffmpeg_realloc_buffer
    - av_hwaccel_next
    - fprintf
    - AV_VERSION_INT
    - memcpy
    - gf_opts_get_key
    - avcodec_alloc_context3
    - avcodec_get_context_defaults3
    - gf_opts_set_key
    - gf_sys_get_rti
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_AttachStream(GF_BaseDecoder *plug, GF_ESD *esd) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:571,1
    - Dst: av_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:580,1
    - Dst: av_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:583,1
    - Dst: avcodec_close
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:573,1
    - Dst: av_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:586,1
    - Dst: sws_freeContext
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:592,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - plug
    - ES_ID
    argTypes:
    - GF_BaseDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 598
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 598
    functionName: FFDEC_DetachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - avcodec_close
    - av_free
    - sws_freeContext
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_DetachStream(GF_BaseDecoder *plug, u16 ES_ID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFDEC_ProcessAudio
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1447,1
    - Dst: FFDEC_ProcessVideo
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1451,1
    - Dst: FFDEC_ProcessRawVideo
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 9
    argNames:
    - plug
    - inBuffer
    - inBufferLength
    - ES_ID
    - CTS
    - outBuffer
    - outBufferLength
    - PaddingBits
    - mmlevel
    argTypes:
    - GF_MediaDecoder*
    - char*
    - u32
    - u16
    - u32*
    - char*
    - u32*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: FFDEC_ProcessData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - FFDEC_ProcessRawVideo
    - FFDEC_ProcessAudio
    - FFDEC_ProcessVideo
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_ProcessData(GF_MediaDecoder *plug, char *inBuffer,
      u32 inBufferLength, u16 ES_ID, u32 *CTS, char *outBuffer, u32 *outBufferLength,
      u8 PaddingBits, u32 mmlevel) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1527,1
    - Dst: av_frame_clone
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1536,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1529,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - ifcg
    - ES_ID
    - frame
    - needs_resize
    argTypes:
    - GF_MediaDecoder*
    - u16
    - GF_MediaDecoderFrame**
    - Bool*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1548
    functionName: FFDEC_GetOutputFrame
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - av_frame_clone
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFDEC_GetOutputFrame(GF_MediaDecoder *ifcg, u16 ES_ID,
      GF_MediaDecoderFrame **frame, Bool *needs_resize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_BaseDecoder*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1747
    functionName: FFDEC_GetCodecName
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static const char *FFDEC_GetCodecName(GF_BaseDecoder *dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - PIX_FMT_YUV444P10LE
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: if
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->pix_fmt == PIX_FMT_YUV444P10LE) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1755,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1759,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1757,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1765,1
    - Dst: avcodec_init
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1767,1
    - Dst: avcodec_register_all
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1769,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1770,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1786
    functionName: FFDEC_Load
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - GF_REGISTER_MODULE_INTERFACE
    - avcodec_register_all
    - GF_SAFEALLOC
    - gf_free
    - avcodec_init
    linkageType: ''
    returnType: void*
    signature: 'void *FFDEC_Load() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avcodec_close
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1797,1
    - Dst: sws_freeContext
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1804,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1807,1
    - Dst: avcodec_close
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1799,1
    - Dst: sws_freeContext
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1802,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c:1809,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1810
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1810
    functionName: FFDEC_Delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/ffmpeg_in/ffmpeg_decode.c
    functionUses: []
    functionsReached:
    - avcodec_close
    - sws_freeContext
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void FFDEC_Delete(void *ifce) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_new
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:72,1
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:100,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:62,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:67,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:68,1
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:99,1
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:99,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:97,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:111,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:64,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:63,1
    - Dst: gf_sk_bind
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:79,1
    - Dst: gf_sk_del
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:90,1
    - Dst: sscanf
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:108,1
    - Dst: gf_term_scene_update
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:102,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:75,1
    - Dst: gf_sk_del
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:81,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:83,1
    - Dst: strncmp
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:106,1
    - Dst: gf_sk_receive
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:94,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 3
    argNames:
    - termext
    - action
    - param
    argTypes:
    - GF_TermExt*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 158
    functionName: netctrl_process
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached:
    - gf_term_scene_update
    - gf_sk_receive
    - memset
    - strncmp
    - gf_sk_new
    - sscanf
    - GF_LOG
    - strcmp
    - gf_sk_del
    - gf_sk_bind
    - atoi
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool netctrl_process(GF_TermExt *termext, u32 action, void
      *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: netctrl_new
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached:
    - netctrl_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:180,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: netctrl_delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void netctrl_delete(GF_BaseInterface *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:165,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:169,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:167,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: netctrl_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_TermExt*
    signature: 'GF_TermExt *netctrl_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: netctrl_delete
      Src: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/netctrl/netctrl.c
    functionUses: []
    functionsReached:
    - netctrl_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - af
    - in_block
    - in_block_size
    - out_block
    - out_block_size
    argTypes:
    - GF_AudioFilter*
    - void*
    - u32
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: ProcessDistorsion
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProcessDistorsion(GF_AudioFilter *af, void *in_block,
      u32 in_block_size, void *out_block, u32 *out_block_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:93,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:97,1
    - Dst: memmove
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:104,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:103,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:99,1
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - af
    - in_block
    - in_block_size
    - out_block
    - out_block_size
    argTypes:
    - GF_AudioFilter*
    - void*
    - u32
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: ProcessDelai
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - memmove
    - assert
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProcessDelai(GF_AudioFilter *af, void *in_block, u32
      in_block_size, void *out_block, u32 *out_block_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:159,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:176,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:166,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:170,1
    - Dst: strchr
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:191,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:194,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:194,1
    - Dst: stricmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:195,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:196,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:196,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:197,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:197,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:198,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:198,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:200,1
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:199,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:201,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 2
    argNames:
    - af
    - filter
    argTypes:
    - GF_AudioFilter*
    - char*
    constantsTouched: []
    func_position:
      end: 212
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 212
    functionName: SetFilter
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - atoi
    - strchr
    - strnicmp
    - stricmp
    - atof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SetFilter(GF_AudioFilter *af, char *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - af
    argTypes:
    - GF_AudioFilter*
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Reset
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Reset(GF_AudioFilter *af) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewAudioFilter
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - NewAudioFilter
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:139,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:143,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:141,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:140,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:144,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 10
    argNames:
    - af
    - in_sr
    - in_bps
    - in_nb_ch
    - in_ch_cfg
    - out_nb_ch
    - out_ch_cfg
    - out_block_len_in_samples
    - delay_ms
    - inplace
    argTypes:
    - GF_AudioFilter*
    - u32
    - u32
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: Configure
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Configure(GF_AudioFilter *af, u32 in_sr, u32 in_bps,
      u32 in_nb_ch, u32 in_ch_cfg, u32 *out_nb_ch, u32 *out_ch_cfg, u32 *out_block_len_in_samples,
      u32 *delay_ms, Bool *inplace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - af
    - in_block
    - in_block_size
    - out_block
    - out_block_size
    argTypes:
    - GF_AudioFilter*
    - void*
    - u32
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: ProcessIdentity
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProcessIdentity(GF_AudioFilter *af, void *in_block,
      u32 in_block_size, void *out_block, u32 *out_block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - af
    - option
    - value
    argTypes:
    - GF_AudioFilter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: SetOption
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SetOption(GF_AudioFilter *af, char *option, char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:228,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:243,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:233,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: NewAudioFilter
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_BaseInterface*
    signature: 'GF_BaseInterface *NewAudioFilter() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteAudioFilter
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - DeleteAudioFilter
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:252,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:253,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: DeleteAudioFilter
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/audio_filter/audio_filter.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteAudioFilter(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GdipCreateMatrix
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:73,1
    - Dst: GdipSetMatrixElements
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - mat
    argTypes:
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: mat_gpac_to_gdip
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h
    functionUses: []
    functionsReached:
    - GdipCreateMatrix
    - GdipSetMatrixElements
    - FIX2FLT
    linkageType: ''
    returnType: GFINLINE*
    signature: 'GFINLINE GpMatrix *mat_gpac_to_gdip(GF_Matrix2D *mat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:92,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:81,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:89,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:90,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:96,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:98,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:91,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:93,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:95,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:97,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:99,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:94,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:83,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:82,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:84,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:85,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:86,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:87,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:88,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:100,1
    - Dst: FIX2FLT
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - mat
    - matrix
    argTypes:
    - GF_ColorMatrix*
    - ColorMatrix*
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: cmat_gpac_to_gdip
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h
    functionUses: []
    functionsReached:
    - FIX2FLT
    - memset
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE void cmat_gpac_to_gdip(GF_ColorMatrix *mat, ColorMatrix *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - ColorMatrix*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: gdip_cmat_reset
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/gdip_raster/gdip_priv.h
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE void gdip_cmat_reset(ColorMatrix *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: WII_Stop
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void WII_Stop(struct __input_device *ifce) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:108,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:113,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:116,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:120,1
    - Dst: wiiuse_set_orient_threshold
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:129,1
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:146,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:147,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:150,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:154,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:170,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:176,1
    - Dst: atof
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:117,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:124,1
    - Dst: wiiuse_motion_sensing
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:127,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:156,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:158,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:161,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:163,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:169,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:175,1
    - Dst: gf_bs_align
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:178,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:167,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:103,1
    - Dst: wiiuse_find
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:102,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:99,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:111,1
    - Dst: wiiuse_set_smooth_alpha
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:128,1
    - Dst: wiiuse_poll
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:134,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:179,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:180,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:174,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:183,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:98,1
    - Dst: wiiuse_connect
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:104,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:106,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:118,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:155,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:157,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:159,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:160,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:162,1
    - Dst: WRITE_BUTTON
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:164,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:168,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 90
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 202
    functionName: WII_Run
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - wiiuse_set_smooth_alpha
    - GF_LOG
    - gf_bs_del
    - wiiuse_set_orient_threshold
    - strcmp
    - atoi
    - gf_bs_write_int
    - gf_bs_new
    - gf_free
    - gf_bs_write_float
    - WRITE_BUTTON
    - atof
    - gf_opts_get_key
    - wiiuse_find
    - wiiuse_poll
    - gf_bs_align
    - wiiuse_motion_sensing
    - wiiuse_connect
    linkageType: ''
    returnType: u32
    signature: 'static u32 WII_Run(void *par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:235,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:244,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:242,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached:
    - gf_th_new
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:64,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:68,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:72,1
    - Dst: atoi
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:50,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:63,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:73,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:71,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:67,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:46,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:49,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:62,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:66,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:70,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:55,1
    - Dst: wiiuse_init
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:53,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:60,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:61,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:65,1
    - Dst: AddField
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:69,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - ifce
    - urn
    - dsi
    - (*AddField)
    argTypes:
    - struct __input_device*
    - char*
    - GF_BitStream*
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: WII_RegisterDevice
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached:
    - wiiuse_init
    - AddField
    - GF_LOG
    - strcmp
    - atoi
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool WII_RegisterDevice(struct __input_device *ifce, const
      char *urn, GF_BitStream *dsi, void (*AddField)(struct __input_device *_this,
      u32 fieldType, const char *name)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - struct __input_device*
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: WII_Start
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached:
    - gf_th_run
    linkageType: ''
    returnType: void
    signature: 'static void WII_Start(struct __input_device *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wiiuse_cleanup
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:257,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:260,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/wiiis/wiiis.c
    functionUses: []
    functionsReached:
    - wiiuse_cleanup
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *bi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rvc_close
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ifcg
    - ES_ID
    argTypes:
    - GF_BaseDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: RVCD_DetachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - rvc_close
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RVCD_DetachStream(GF_BaseDecoder *ifcg, u16 ES_ID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ifcg
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: RVCD_SetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RVCD_SetCapabilities(GF_BaseDecoder *ifcg, GF_CodecCapability
      capability) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:359,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:365,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:385,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 9
    argNames:
    - ifcg
    - inBuffer
    - inBufferLength
    - ES_ID
    - CTS
    - outBuffer
    - outBufferLength
    - PaddingBits
    - mmlevel
    argTypes:
    - GF_MediaDecoder*
    - char*
    - u32
    - u16
    - u32*
    - char*
    - u32*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 411
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 411
    functionName: RVCD_ProcessData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - rvc_decode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RVCD_ProcessData(GF_MediaDecoder *ifcg, char *inBuffer,
      u32 inBufferLength, u16 ES_ID, u32 *CTS, char *outBuffer, u32 *outBufferLength,
      u8 PaddingBits, u32 mmlevel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_BaseDecoder*
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: RVCD_GetCodecName
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *RVCD_GetCodecName(GF_BaseDecoder *dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:460,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifcg
    argTypes:
    - GF_BaseDecoder*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: DeleteRVCDec
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteRVCDec(GF_BaseDecoder *ifcg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewRVCDec
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - NewRVCDec
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:88,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:177,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:182,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:190,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:195,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:220,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:230,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:238,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:240,1
    - Dst: gf_hevc_get_sps_info
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:205,1
    - Dst: ftell
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:105,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:137,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:157,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:159,1
    - Dst: fread
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:112,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:173,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:179,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:187,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:249,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:225,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:86,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:100,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:91,1
    - Dst: fseek
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:106,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:107,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:109,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:149,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:154,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:171,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:202,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:247,1
    - Dst: sprintf
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:99,1
    - Dst: gf_fopen
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:102,1
    - Dst: fseek
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:104,1
    - Dst: rvc_init
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:134,1
    - Dst: gf_fclose
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:113,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:198,1
    - Dst: rvc_decode
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:218,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 163
    argCount: 2
    argNames:
    - ifcg
    - esd
    argTypes:
    - GF_BaseDecoder*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 258
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 258
    functionName: RVCD_AttachStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_hevc_get_sps_info
    - gf_m4v_get_config
    - rvc_decode
    - GF_LOG
    - gf_odf_avc_cfg_read
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_fopen
    - rvc_init
    - gf_list_get
    - sprintf
    - gf_free
    - gf_avc_get_sps_info
    - gf_opts_get_key
    - fseek
    - gf_odf_hevc_cfg_del
    - fread
    - ftell
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RVCD_AttachStream(GF_BaseDecoder *ifcg, GF_ESD *esd) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 2
    argNames:
    - ifcg
    - capability
    argTypes:
    - GF_BaseDecoder*
    - GF_CodecCapability*
    constantsTouched: []
    func_position:
      end: 314
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 314
    functionName: RVCD_GetCapabilities
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RVCD_GetCapabilities(GF_BaseDecoder *ifcg, GF_CodecCapability
      *capability) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 4
    argNames:
    - dec
    - StreamType
    - esd
    - PL
    argTypes:
    - GF_BaseDecoder*
    - u32
    - GF_ESD*
    - u8
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: RVCD_CanHandleStream
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 RVCD_CanHandleStream(GF_BaseDecoder *dec, u32 StreamType,
      GF_ESD *esd, u8 PL) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:440,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:442,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: NewRVCDec
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_BaseDecoder*
    signature: 'GF_BaseDecoder *NewRVCDec() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteRVCDec
      Src: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/rvc_dec/rvc_dec.c
    functionUses: []
    functionsReached:
    - DeleteRVCDec
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: FM_FAKE_PULL_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FM_FAKE_PULL_CanHandleURL(const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:130,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:134,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:131,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: ext_media_load_th
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_new
    - gf_strdup
    - gf_sleep
    - gf_service_declare_media
    linkageType: ''
    returnType: u32
    signature: 'static u32 ext_media_load_th(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:118,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:121,1
    - Dst: get_esd
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: FM_FAKE_PULL_GetOD
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_desc_new
    - get_esd
    linkageType: ''
    returnType: GF_ObjectDescriptor*
    signature: 'static GF_ObjectDescriptor * FM_FAKE_PULL_GetOD(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:192,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - self
    - out_data_ptr
    - out_data_size
    - out_sl_hdr
    argTypes:
    - GF_HYBMEDIA*
    - char**
    - u32*
    - GF_SLHeader*
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: FM_FAKE_PULL_GetData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PULL_GetData(GF_HYBMEDIA *self, char **out_data_ptr,
      u32 *out_data_size, GF_SLHeader *out_sl_hdr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:151,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:152,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:162,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:163,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:164,1
    - Dst: ext_media_load_th
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - self
    - service
    - url
    argTypes:
    - GF_HYBMEDIA*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: FM_FAKE_PULL_Connect
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - assert
    - memset
    - ext_media_load_th
    - gf_th_new
    - gf_th_run
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PULL_Connect(GF_HYBMEDIA *self, GF_ClientService
      *service, const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:92,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:102,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:93,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:103,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:104,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:105,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:106,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:107,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: get_esd
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_ESD*
    signature: 'static GF_ESD * get_esd() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GF_HYBMEDIA*
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: FM_FAKE_PULL_Disconnect
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached:
    - gf_th_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PULL_Disconnect(GF_HYBMEDIA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - GF_HYBMEDIA*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: FM_FAKE_PULL_ReleaseData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_pull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PULL_ReleaseData(GF_HYBMEDIA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:157,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:160,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: ext_media_load_th
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_new
    - gf_strdup
    - gf_sleep
    - gf_service_declare_media
    linkageType: ''
    returnType: u32
    signature: 'u32 ext_media_load_th(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:120,1
    - Dst: get_esd
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:121,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: FM_FAKE_PUSH_GetOD
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_desc_new
    - get_esd
    linkageType: ''
    returnType: GF_ObjectDescriptor*
    signature: 'static GF_ObjectDescriptor * FM_FAKE_PUSH_GetOD(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:197,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:219,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:225,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:229,1
    - Dst: gf_service_send_packet
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:234,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:182,1
    - Dst: ext_media_load_th
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:185,1
    - Dst: gf_service_command
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:204,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:181,1
    - Dst: gmtime
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:228,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:218,1
    - Dst: GetData
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:233,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:174,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:183,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:187,1
    - Dst: time
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:193,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:205,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:224,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 240
    functionName: audio_gen_th
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - assert
    - memset
    - ext_media_load_th
    - GF_LOG
    - GetData
    - gf_th_new
    - gf_sys_clock
    - gf_service_send_packet
    - gf_th_run
    - gf_service_command
    - time
    - gf_sleep
    - gmtime
    linkageType: ''
    returnType: u32
    signature: 'static u32 audio_gen_th(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: audio_gen_stop
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:293,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:296,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - GF_HYBMEDIA*
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: FM_FAKE_PUSH_Disconnect
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - audio_gen_stop
    - gf_th_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PUSH_Disconnect(GF_HYBMEDIA *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: FM_FAKE_PUSH_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FM_FAKE_PUSH_CanHandleURL(const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:94,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:104,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:105,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:106,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:95,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:107,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:108,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:109,1
    - Dst: gf_bs_del
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: get_esd
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_ESD*
    signature: 'static GF_ESD * get_esd() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:132,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - self
    - out_data_ptr
    - out_data_size
    - out_sl_hdr
    argTypes:
    - GF_HYBMEDIA*
    - char**
    - u32*
    - GF_SLHeader*
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: GetData
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GetData(const GF_HYBMEDIA *self, char **out_data_ptr,
      u32 *out_data_size, GF_SLHeader *out_sl_hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sleep
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - GF_HYBMEDIA*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: audio_gen_stop
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void audio_gen_stop(GF_HYBMEDIA *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:273,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:282,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:280,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - self
    - service
    - url
    argTypes:
    - GF_HYBMEDIA*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 285
    functionName: FM_FAKE_PUSH_Connect
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - gf_th_new
    - assert
    - gf_th_run
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PUSH_Connect(GF_HYBMEDIA *self, GF_ClientService
      *service, const char *url) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: audio_gen_stop
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - self
    - state
    argTypes:
    - GF_HYBMEDIA*
    - GF_NET_CHAN_CMD
    constantsTouched: []
    func_position:
      end: 326
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: FM_FAKE_PUSH_SetState
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/fm_fake_push.c
    functionUses: []
    functionsReached:
    - audio_gen_stop
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FM_FAKE_PUSH_SetState(GF_HYBMEDIA *self, const GF_NET_CHAN_CMD
      state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: HYB_CanHandleURL
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool HYB_CanHandleURL(GF_InputService *plug, const char *url) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:106,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:123,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:118,1
    - Dst: hybmedia_sanity_check
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:121,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:124,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:127,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:132,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:133,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:137,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - plug
    - serv
    - url
    argTypes:
    - GF_InputService*
    - GF_ClientService*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 140
    functionName: HYB_ConnectService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - assert
    - hybmedia_sanity_check
    - GF_LOG
    - gf_service_declare_media
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_ConnectService(GF_InputService *plug, GF_ClientService
      *serv, const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - plug
    - expect_type
    - sub_url
    argTypes:
    - GF_InputService*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: HYB_GetServiceDesc
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'static GF_Descriptor *HYB_GetServiceDesc(GF_InputService *plug, u32
      expect_type, const char *sub_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:193,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: HYB_DisconnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_DisconnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - plug
    - url
    argTypes:
    - GF_InputService*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: HYB_CanHandleURLInService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool HYB_CanHandleURLInService(GF_InputService *plug, const
      char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - plug
    - channel
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: HYB_ChannelReleaseSLP
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_ChannelReleaseSLP(GF_InputService *plug, LPNETCHANNEL
      channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:277,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:291,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 295
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 295
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: HYB_RegisterMimeTypes
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HYB_RegisterMimeTypes(const GF_InputService *plug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:147,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:154,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:153,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - plug
    argTypes:
    - GF_InputService*
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: HYB_CloseService
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - GF_LOG
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_CloseService(GF_InputService *plug) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 16
    argCount: 1
    argNames:
    - master
    argTypes:
    - GF_HYBMEDIA*
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: hybmedia_sanity_check
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hybmedia_sanity_check(GF_HYBMEDIA *master) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:181,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - plug
    - channel
    - url
    - upstream
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: HYB_ConnectChannel
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_ConnectChannel(GF_InputService *plug, LPNETCHANNEL
      channel, const char *url, Bool upstream) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 10
    argCount: 2
    argNames:
    - plug
    - com
    argTypes:
    - GF_InputService*
    - GF_NetworkCommand*
    constantsTouched: []
    func_position:
      end: 233
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 233
    functionName: HYB_ServiceCommand
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_ServiceCommand(GF_InputService *plug, GF_NetworkCommand
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:243,1
    - Dst: assert
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 8
    argNames:
    - plug
    - channel
    - out_data_ptr
    - out_data_size
    - out_sl_hdr
    - sl_compressed
    - out_reception_status
    - is_new_data
    argTypes:
    - GF_InputService*
    - LPNETCHANNEL
    - char**
    - u32*
    - GF_SLHeader*
    - Bool*
    - GF_Err*
    - Bool*
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: HYB_ChannelGetSLP
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HYB_ChannelGetSLP(GF_InputService *plug, LPNETCHANNEL
      channel, char **out_data_ptr, u32 *out_data_size, GF_SLHeader *out_sl_hdr, Bool
      *sl_compressed, GF_Err *out_reception_status, Bool *is_new_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:300,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:306,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/hyb_in/hyb_in.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - udta
    - event
    - consumed_by_compositor
    argTypes:
    - void*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: psvr_on_event
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool psvr_on_event(void *udta, GF_Event *event, Bool consumed_by_compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:145,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:148,1
    - Dst: strcmp
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - termext
    - action
    - param
    argTypes:
    - GF_TermExt*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: psvr_process
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - strcmp
    - gf_th_run
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool psvr_process(GF_TermExt *termext, u32 action, void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_del
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:180,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:182,1
    - Dst: gf_free
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: psvr_delete
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - gf_th_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void psvr_delete(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psvr_new
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - psvr_new
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - offset
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: read_s16
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s16
    signature: 'static s16 read_s16(unsigned char *buffer, int offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hid_init
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:80,1
    - Dst: gf_term_add_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:90,1
    - Dst: hid_open
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:82,1
    - Dst: hid_read_timeout
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:97,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:84,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:101,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:101,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:102,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:102,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:103,1
    - Dst: gf_term_user_event
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:124,1
    - Dst: hid_exit
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:133,1
    - Dst: read_s16
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:103,1
    - Dst: hid_close
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:128,1
    - Dst: gf_term_remove_event_filter
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:131,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - __psvr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: psvr_run
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - memset
    - gf_term_user_event
    - GF_LOG
    - gf_term_add_event_filter
    - hid_exit
    - read_s16
    - hid_init
    - hid_read_timeout
    - hid_open
    - gf_term_remove_event_filter
    - hid_close
    linkageType: ''
    returnType: u32
    signature: 'static u32 psvr_run(void *__psvr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:163,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:167,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:165,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:170,1
    - Dst: memset
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: psvr_new
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_REGISTER_MODULE_INTERFACE
    - gf_th_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_TermExt*
    signature: 'GF_TermExt *psvr_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psvr_delete
      Src: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/deprecated/old_arch/psvr/psvr.c
    functionUses: []
    functionsReached:
    - psvr_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ChangeDisplaySettings
      Src: /src/gpac/modules/dx_hw/dx_video.c:100,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_video.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DDContext*
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: RestoreWindow
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - SetFocus
    - ChangeDisplaySettings
    linkageType: ''
    returnType: void
    signature: 'static void RestoreWindow(DDContext *dd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:474,1
    - Dst: GetDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:486,1
    - Dst: GetDeviceCaps
      Src: /src/gpac/modules/dx_hw/dx_video.c:488,1
    - Dst: GetDeviceCaps
      Src: /src/gpac/modules/dx_hw/dx_video.c:487,1
    - Dst: DD_SetupWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:479,1
    - Dst: ReleaseDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:489,1
    - Dst: GetWindowRect
      Src: /src/gpac/modules/dx_hw/dx_video.c:495,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/dx_hw/dx_video.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - dr
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - GF_VideoOutput*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 500
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 500
    functionName: DD_Setup
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - ShowWindow
    - GetDeviceCaps
    - GetWindowRect
    - GetDC
    - DD_SetupWindow
    - ReleaseDC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DD_Setup(GF_VideoOutput *dr, void *os_handle, void *os_display,
      u32 init_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyObjectsEx
      Src: /src/gpac/modules/dx_hw/dx_video.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DDContext*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: DestroyObjects
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - DestroyObjectsEx
    linkageType: ''
    returnType: void
    signature: 'void DestroyObjects(DDContext *dd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:515,1
    - Dst: FindWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:518,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:523,1
    - Dst: FindWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:516,1
    - Dst: FindWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:519,1
    - Dst: UpdateWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:524,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:528,1
    - Dst: UpdateWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - show
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 531
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 531
    functionName: DD_ShowTaskbar
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - FindWindow
    - ShowWindow
    - UpdateWindow
    linkageType: ''
    returnType: void
    signature: 'void DD_ShowTaskbar(Bool show) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:654,1
    - Dst: eglSwapBuffers
      Src: /src/gpac/modules/dx_hw/dx_video.c:660,1
    - Dst: GetDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:676,1
    - Dst: SwapBuffers
      Src: /src/gpac/modules/dx_hw/dx_video.c:662,1
    - Dst: BitBlt
      Src: /src/gpac/modules/dx_hw/dx_video.c:677,1
    - Dst: ReleaseDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:678,1
    - Dst: ClientToScreen
      Src: /src/gpac/modules/dx_hw/dx_video.c:691,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_video.c:703,1
    - Dst: MAKERECT
      Src: /src/gpac/modules/dx_hw/dx_video.c:694,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 704
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 704
    functionName: DD_Flush
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - MAKERECT
    - GetDC
    - ReleaseDC
    - FAILED
    - GF_LOG
    - eglSwapBuffers
    - SwapBuffers
    - BitBlt
    - ClientToScreen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DD_Flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:744,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_video.c:745,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_video.c:747,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_video.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DDContext*
    constantsTouched: []
    func_position:
      end: 751
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 751
    functionName: GetDisplayMode
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - SAFE_DD_RELEASE
    - FAILED
    - GetSystemMetrics
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetDisplayMode(DDContext *dd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DD_ShowTaskbar
      Src: /src/gpac/modules/dx_hw/dx_video.c:796,1
    - Dst: FreeLibrary
      Src: /src/gpac/modules/dx_hw/dx_video.c:800,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_video.c:803,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_video.c:806,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_video.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 807
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 807
    functionName: DeleteVideoOutput
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - DD_ShowTaskbar
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DeleteVideoOutput(void *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NewDXVideoOutput
      Src: /src/gpac/modules/dx_hw/dx_video.c:824,1
    - Dst: NewAudioOutput
      Src: /src/gpac/modules/dx_hw/dx_video.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - NewAudioOutput
    - NewDXVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:117,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:120,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:123,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:118,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:119,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:124,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_video.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dd
    - only_3d
    argTypes:
    - DDContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: DestroyObjectsEx
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - SAFE_DD_RELEASE
    - memset
    linkageType: ''
    returnType: void
    signature: 'void DestroyObjectsEx(DDContext *dd, Bool only_3d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cur_hwnd
    argTypes:
    - dd
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: if
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - ShowWindow
    linkageType: ''
    returnType: DDCONTEXT
    signature: 'DDCONTEXT if (dd->cur_hwnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD_ShutdownWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: DD_Shutdown
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - DD_ShutdownWindow
    linkageType: ''
    returnType: void
    signature: 'static void DD_Shutdown(GF_VideoOutput *dr) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/dx_hw/dx_video.c:548,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:562,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_video.c:565,1
    - Dst: DD_ShowTaskbar
      Src: /src/gpac/modules/dx_hw/dx_video.c:606,1
    - Dst: InitDirectDraw
      Src: /src/gpac/modules/dx_hw/dx_video.c:625,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_video.c:603,1
    - Dst: SetForegroundWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:640,1
    - Dst: GetDisplayMode
      Src: /src/gpac/modules/dx_hw/dx_video.c:550,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:560,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:564,1
    - Dst: DD_SetupOpenGL
      Src: /src/gpac/modules/dx_hw/dx_video.c:612,1
    - Dst: MonitorFromWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:582,1
    - Dst: GetMonitorInfo
      Src: /src/gpac/modules/dx_hw/dx_video.c:587,1
    - Dst: InitDirectDraw
      Src: /src/gpac/modules/dx_hw/dx_video.c:627,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_video.c:641,1
    - Dst: DestroyObjects
      Src: /src/gpac/modules/dx_hw/dx_video.c:555,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:566,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_video.c:601,1
    - Dst: KillTimer
      Src: /src/gpac/modules/dx_hw/dx_video.c:557,1
    - Dst: RestoreWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:553,1
    - Dst: DD_ShowTaskbar
      Src: /src/gpac/modules/dx_hw/dx_video.c:579,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:584,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 4
    argNames:
    - dr
    - bOn
    - outWidth
    - outHeight
    argTypes:
    - GF_VideoOutput*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 643
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 643
    functionName: DD_SetFullScreen
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - ShowWindow
    - DD_SetupOpenGL
    - GetMonitorInfo
    - memset
    - SetWindowPos
    - SetWindowLong
    - InitDirectDraw
    - SetForegroundWindow
    - SetFocus
    - GetDisplayMode
    - DD_ShowTaskbar
    - KillTimer
    - DestroyObjects
    - RestoreWindow
    - MonitorFromWindow
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_SetFullScreen(GF_VideoOutput *dr, Bool bOn, u32 *outWidth,
      u32 *outHeight) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - lpDDDesc
    - lpContext
    argTypes:
    - LPDDSURFDESC
    - LPVOID
    constantsTouched: []
    func_position:
      end: 726
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 726
    functionName: EnumDisplayModes
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: 'HRESULT WINAPI EnumDisplayModes( LPDDSURFDESC lpDDDesc, LPVOID lpContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_video.c:758,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:763,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/dx_hw/dx_video.c:760,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:759,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_video.c:762,1
    - Dst: LoadLibrary
      Src: /src/gpac/modules/dx_hw/dx_video.c:772,1
    - Dst: LoadLibrary
      Src: /src/gpac/modules/dx_hw/dx_video.c:774,1
    - Dst: GetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_video.c:777,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_video.c:780,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_video.c:781,1
    - Dst: DD_SetupDDraw
      Src: /src/gpac/modules/dx_hw/dx_video.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 788
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 788
    functionName: NewDXVideoOutput
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GetSystemMetrics
    - GF_REGISTER_MODULE_INTERFACE
    - LoadLibrary
    - DD_SetupDDraw
    - GetProcAddress
    linkageType: ''
    returnType: void*
    signature: 'static void *NewDXVideoOutput() '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/modules/dx_hw/dx_video.c:198,1
    - Dst: DestroyObjects
      Src: /src/gpac/modules/dx_hw/dx_video.c:223,1
    - Dst: DestroyObjectsEx
      Src: /src/gpac/modules/dx_hw/dx_video.c:275,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:284,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:297,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:304,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_video.c:317,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:341,1
    - Dst: SetPixelFormat
      Src: /src/gpac/modules/dx_hw/dx_video.c:370,1
    - Dst: wglGetPixelFormatAttribivARB
      Src: /src/gpac/modules/dx_hw/dx_video.c:387,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:394,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:455,1
    - Dst: wglSwapIntervalEXT
      Src: /src/gpac/modules/dx_hw/dx_video.c:433,1
    - Dst: wglDeleteContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:318,1
    - Dst: DestroyWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:321,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:396,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:197,1
    - Dst: GetDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:224,1
    - Dst: eglInitialize
      Src: /src/gpac/modules/dx_hw/dx_video.c:226,1
    - Dst: eglChooseConfig
      Src: /src/gpac/modules/dx_hw/dx_video.c:227,1
    - Dst: eglDestroyContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:251,1
    - Dst: eglDestroySurface
      Src: /src/gpac/modules/dx_hw/dx_video.c:246,1
    - Dst: eglDestroySurface
      Src: /src/gpac/modules/dx_hw/dx_video.c:253,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:291,1
    - Dst: GetDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:295,1
    - Dst: GetLastError
      Src: /src/gpac/modules/dx_hw/dx_video.c:304,1
    - Dst: strcmp
      Src: /src/gpac/modules/dx_hw/dx_video.c:338,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:415,1
    - Dst: wglCreateContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:420,1
    - Dst: wglChoosePixelFormatARB
      Src: /src/gpac/modules/dx_hw/dx_video.c:367,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_video.c:445,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:337,1
    - Dst: atoi
      Src: /src/gpac/modules/dx_hw/dx_video.c:210,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:282,1
    - Dst: eglCreateContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:242,1
    - Dst: atoi
      Src: /src/gpac/modules/dx_hw/dx_video.c:287,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_video.c:293,1
    - Dst: ChoosePixelFormat
      Src: /src/gpac/modules/dx_hw/dx_video.c:301,1
    - Dst: SetPixelFormat
      Src: /src/gpac/modules/dx_hw/dx_video.c:303,1
    - Dst: wglCreateContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:307,1
    - Dst: wglShareLists
      Src: /src/gpac/modules/dx_hw/dx_video.c:311,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_video.c:313,1
    - Dst: ReleaseDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_video.c:376,1
    - Dst: wglGetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_video.c:430,1
    - Dst: wglGetPixelFormatAttribivARB
      Src: /src/gpac/modules/dx_hw/dx_video.c:389,1
    - Dst: wglGetPixelFormatAttribivARB
      Src: /src/gpac/modules/dx_hw/dx_video.c:391,1
    - Dst: ChoosePixelFormat
      Src: /src/gpac/modules/dx_hw/dx_video.c:412,1
    - Dst: wglGetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_video.c:314,1
    - Dst: SetPixelFormat
      Src: /src/gpac/modules/dx_hw/dx_video.c:414,1
    - Dst: GetLastError
      Src: /src/gpac/modules/dx_hw/dx_video.c:415,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_video.c:437,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_video.c:209,1
    - Dst: eglGetDisplay
      Src: /src/gpac/modules/dx_hw/dx_video.c:225,1
    - Dst: eglCreateWindowSurface
      Src: /src/gpac/modules/dx_hw/dx_video.c:229,1
    - Dst: eglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_video.c:250,1
    - Dst: eglCreateContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:240,1
    - Dst: eglBindAPI
      Src: /src/gpac/modules/dx_hw/dx_video.c:239,1
    - Dst: wglGetCurrentContext
      Src: /src/gpac/modules/dx_hw/dx_video.c:310,1
    - Dst: GetDC
      Src: /src/gpac/modules/dx_hw/dx_video.c:330,1
    - Dst: atoi
      Src: /src/gpac/modules/dx_hw/dx_video.c:342,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_video.c:344,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_video.c:447,1
    - Dst: DD_SetupOpenGL
      Src: /src/gpac/modules/dx_hw/dx_video.c:378,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_video.c:425,1
    - Dst: GetLastError
      Src: /src/gpac/modules/dx_hw/dx_video.c:376,1
    - Dst: wglGetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_video.c:315,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 224
    argCount: 3
    argNames:
    - dr
    - offscreen_width
    - offscreen_height
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 461
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 461
    functionName: DD_SetupOpenGL
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - DD_SetupOpenGL
    - eglCreateWindowSurface
    - wglCreateContext
    - eglDestroySurface
    - eglGetDisplay
    - memset
    - GF_LOG
    - eglCreateContext
    - GetLastError
    - eglMakeCurrent
    - GetDC
    - eglBindAPI
    - SetWindowLong
    - strcmp
    - wglGetProcAddress
    - eglChooseConfig
    - wglDeleteContext
    - atoi
    - SetWindowLongPtr
    - wglShareLists
    - wglSwapIntervalEXT
    - wglChoosePixelFormatARB
    - eglDestroyContext
    - eglInitialize
    - CreateWindow
    - gf_opts_get_key
    - wglGetCurrentContext
    - ReleaseDC
    - wglGetPixelFormatAttribivARB
    - DestroyObjectsEx
    - DestroyWindow
    - gf_opts_set_key
    - SetPixelFormat
    - wglMakeCurrent
    - DestroyObjects
    - ChoosePixelFormat
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DD_SetupOpenGL(GF_VideoOutput *dr, u32 offscreen_width, u32
      offscreen_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 819
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteVideoOutput
      Src: /src/gpac/modules/dx_hw/dx_video.c:834,1
    - Dst: DeleteDxAudioOutput
      Src: /src/gpac/modules/dx_hw/dx_video.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_video.c
    functionUses: []
    functionsReached:
    - DeleteDxAudioOutput
    - DeleteVideoOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/dx_hw/dx_window.c:203,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - vout
    argTypes:
    - DDContext*
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: mouse_move
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - DD_SetCursor
    - gf_sys_clock
    linkageType: ''
    returnType: void
    signature: 'static void mouse_move(DDContext *ctx, GF_VideoOutput *vout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:218,1
    - Dst: SetCapture
      Src: /src/gpac/modules/dx_hw/dx_window.c:219,1
    - Dst: mouse_move
      Src: /src/gpac/modules/dx_hw/dx_window.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - vout
    argTypes:
    - DDContext*
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: grab_mouse
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - DD_SetCursor
    - mouse_move
    - SetCapture
    linkageType: ''
    returnType: void
    signature: 'void grab_mouse(DDContext *ctx, GF_VideoOutput *vout) '
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: grab_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:433,1
    - Dst: release_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:424,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_window.c:503,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:374,1
    - Dst: LOWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:264,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:309,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:372,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:446,1
    - Dst: IsClipboardFormatAvailable
      Src: /src/gpac/modules/dx_hw/dx_window.c:508,1
    - Dst: GlobalLock
      Src: /src/gpac/modules/dx_hw/dx_window.c:549,1
    - Dst: release_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:405,1
    - Dst: LOWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:297,1
    - Dst: DragQueryFile
      Src: /src/gpac/modules/dx_hw/dx_window.c:351,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:376,1
    - Dst: OpenClipboard
      Src: /src/gpac/modules/dx_hw/dx_window.c:509,1
    - Dst: GlobalLock
      Src: /src/gpac/modules/dx_hw/dx_window.c:545,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_window.c:270,1
    - Dst: DragQueryFile
      Src: /src/gpac/modules/dx_hw/dx_window.c:353,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:415,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:426,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:489,1
    - Dst: grab_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:413,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:463,1
    - Dst: GlobalUnlock
      Src: /src/gpac/modules/dx_hw/dx_window.c:553,1
    - Dst: DefWindowProc
      Src: /src/gpac/modules/dx_hw/dx_window.c:580,1
    - Dst: memcpy
      Src: /src/gpac/modules/dx_hw/dx_window.c:546,1
    - Dst: LOWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:257,1
    - Dst: GetClipboardData
      Src: /src/gpac/modules/dx_hw/dx_window.c:511,1
    - Dst: GlobalLock
      Src: /src/gpac/modules/dx_hw/dx_window.c:514,1
    - Dst: GlobalUnlock
      Src: /src/gpac/modules/dx_hw/dx_window.c:524,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/dx_hw/dx_window.c:383,1
    - Dst: DefWindowProc
      Src: /src/gpac/modules/dx_hw/dx_window.c:333,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/dx_hw/dx_window.c:355,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:363,1
    - Dst: OpenClipboard
      Src: /src/gpac/modules/dx_hw/dx_window.c:536,1
    - Dst: HIWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:258,1
    - Dst: DragQueryFile
      Src: /src/gpac/modules/dx_hw/dx_window.c:346,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:440,1
    - Dst: CloseClipboard
      Src: /src/gpac/modules/dx_hw/dx_window.c:526,1
    - Dst: GlobalAlloc
      Src: /src/gpac/modules/dx_hw/dx_window.c:542,1
    - Dst: GetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:236,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:458,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:449,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:455,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:453,1
    - Dst: EmptyClipboard
      Src: /src/gpac/modules/dx_hw/dx_window.c:537,1
    - Dst: DefWindowProc
      Src: /src/gpac/modules/dx_hw/dx_window.c:238,1
    - Dst: HIWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:265,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:283,1
    - Dst: DragFinish
      Src: /src/gpac/modules/dx_hw/dx_window.c:357,1
    - Dst: grab_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:394,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:396,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:407,1
    - Dst: HIWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:456,1
    - Dst: IsClipboardFormatAvailable
      Src: /src/gpac/modules/dx_hw/dx_window.c:535,1
    - Dst: CloseClipboard
      Src: /src/gpac/modules/dx_hw/dx_window.c:555,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:429,1
    - Dst: GetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:234,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:361,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:401,1
    - Dst: SetClipboardData
      Src: /src/gpac/modules/dx_hw/dx_window.c:554,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:385,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:420,1
    - Dst: FLT2FIX
      Src: /src/gpac/modules/dx_hw/dx_window.c:456,1
    - Dst: memcpy
      Src: /src/gpac/modules/dx_hw/dx_window.c:550,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:319,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:336,1
    - Dst: release_mouse
      Src: /src/gpac/modules/dx_hw/dx_window.c:444,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:556,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_window.c:347,1
    - Dst: KillTimer
      Src: /src/gpac/modules/dx_hw/dx_window.c:386,1
    - Dst: LOWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:466,1
    - Dst: GlobalLock
      Src: /src/gpac/modules/dx_hw/dx_window.c:519,1
    - Dst: DD_GetCoordinates
      Src: /src/gpac/modules/dx_hw/dx_window.c:436,1
    - Dst: PostQuitMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:277,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:281,1
    - Dst: CallWindowProc
      Src: /src/gpac/modules/dx_hw/dx_window.c:584,1
    - Dst: w32_translate_key
      Src: /src/gpac/modules/dx_hw/dx_window.c:498,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_window.c:290,1
    - Dst: strlen
      Src: /src/gpac/modules/dx_hw/dx_window.c:539,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 310
    argCount: 4
    argNames:
    - hWnd
    - msg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    constantsTouched: []
    func_position:
      end: 586
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 586
    functionName: DD_WindowProc
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - HIWORD
    - memset
    - DragQueryFile
    - release_mouse
    - GetClipboardData
    - CloseClipboard
    - mouse_start_timer
    - SetWindowLong
    - GetWindowLongPtr
    - grab_mouse
    - LOWORD
    - SetFocus
    - gf_strdup
    - FLT2FIX
    - SetWindowLongPtr
    - CallWindowProc
    - DD_SetCursor
    - SetClipboardData
    - DragFinish
    - OpenClipboard
    - DefWindowProc
    - gf_sys_clock
    - KillTimer
    - memcpy
    - w32_translate_key
    - PostQuitMessage
    - gf_free
    - GlobalUnlock
    - DD_GetCoordinates
    - GlobalAlloc
    - IsClipboardFormatAvailable
    - EmptyClipboard
    - GetWindowLong
    - GlobalLock
    linkageType: ''
    returnType: LRESULT
    signature: 'LRESULT APIENTRY DD_WindowProc(HWND hWnd, UINT msg, WPARAM wParam,
      LPARAM lParam) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_window.c:676,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:673,1
    - Dst: MAKEINTRESOURCE
      Src: /src/gpac/modules/dx_hw/dx_window.c:679,1
    - Dst: LoadCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:690,1
    - Dst: RegisterClass
      Src: /src/gpac/modules/dx_hw/dx_window.c:692,1
    - Dst: DragAcceptFiles
      Src: /src/gpac/modules/dx_hw/dx_window.c:727,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:706,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:718,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:754,1
    - Dst: SetFocus
      Src: /src/gpac/modules/dx_hw/dx_window.c:776,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:780,1
    - Dst: LoadCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:787,1
    - Dst: MAKEINTRESOURCE
      Src: /src/gpac/modules/dx_hw/dx_window.c:788,1
    - Dst: LoadIcon
      Src: /src/gpac/modules/dx_hw/dx_window.c:679,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:686,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:706,1
    - Dst: SetWindowless
      Src: /src/gpac/modules/dx_hw/dx_window.c:749,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:754,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:765,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:767,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:782,1
    - Dst: LoadCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:786,1
    - Dst: LoadCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:788,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:668,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:670,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:673,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:720,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:733,1
    - Dst: AdjustWindowRect
      Src: /src/gpac/modules/dx_hw/dx_window.c:743,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:754,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:757,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:759,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:769,1
    - Dst: GetStockObject
      Src: /src/gpac/modules/dx_hw/dx_window.c:691,1
    - Dst: SetForegroundWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:732,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:730,1
    - Dst: CreateWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:706,1
    - Dst: MAKEINTRESOURCE
      Src: /src/gpac/modules/dx_hw/dx_window.c:787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 108
    argCount: 2
    argNames:
    - vout
    - ctx
    argTypes:
    - GF_VideoOutput*
    - DDContext*
    constantsTouched: []
    func_position:
      end: 791
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 791
    functionName: DD_InitWindows
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - DragAcceptFiles
    - ShowWindow
    - RegisterClass
    - memset
    - SetWindowLong
    - SetForegroundWindow
    - SetFocus
    - LoadCursor
    - GetStockObject
    - AdjustWindowRect
    - _T
    - MAKEINTRESOURCE
    - SetWindowless
    - SetWindowLongPtr
    - GetModuleHandle
    - LoadIcon
    - CreateWindow
    linkageType: ''
    returnType: Bool
    signature: 'Bool DD_InitWindows(GF_VideoOutput *vout, DDContext *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:847,1
    - Dst: GetParent
      Src: /src/gpac/modules/dx_hw/dx_window.c:854,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:848,1
    - Dst: GetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:850,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:851,1
    - Dst: DD_InitWindows
      Src: /src/gpac/modules/dx_hw/dx_window.c:859,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/dx_hw/dx_window.c:862,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/dx_hw/dx_window.c:863,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/dx_hw/dx_window.c:865,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - dr
    - flags
    argTypes:
    - GF_VideoOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 868
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 868
    functionName: DD_SetupWindow
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - SetWindowLong
    - GetWindowLongPtr
    - GetParent
    - gf_sleep
    - gf_th_new
    - SetWindowLongPtr
    - gf_th_run
    - GetWindowLong
    - DD_InitWindows
    linkageType: ''
    returnType: void
    signature: 'void DD_SetupWindow(GF_VideoOutput *dr, u32 flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:884,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/dx_hw/dx_window.c:904,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/dx_hw/dx_window.c:906,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:919,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:924,1
    - Dst: dd_closewindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:892,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:894,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:897,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:922,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:913,1
    - Dst: UnregisterClass
      Src: /src/gpac/modules/dx_hw/dx_window.c:924,1
    - Dst: dd_closewindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:880,1
    - Dst: SetWindowLongPtr
      Src: /src/gpac/modules/dx_hw/dx_window.c:895,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:898,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:919,1
    - Dst: UnregisterClass
      Src: /src/gpac/modules/dx_hw/dx_window.c:922,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:886,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:915,1
    - Dst: UnregisterClass
      Src: /src/gpac/modules/dx_hw/dx_window.c:919,1
    - Dst: _T
      Src: /src/gpac/modules/dx_hw/dx_window.c:919,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 930
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 930
    functionName: DD_ShutdownWindow
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - UnregisterClass
    - SetWindowLong
    - dd_closewindow
    - _T
    - SetWindowLongPtr
    - GetModuleHandle
    - gf_sleep
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'void DD_ShutdownWindow(GF_VideoOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 966
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 966
    functionName: DD_GetGlobalHWND
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: 'HWND DD_GetGlobalHWND() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKEPOINTS
      Src: /src/gpac/modules/dx_hw/dx_window.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - lParam
    - evt
    argTypes:
    - LPARAM
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: DD_GetCoordinates
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - MAKEPOINTS
    linkageType: ''
    returnType: void
    signature: 'static void DD_GetCoordinates(LPARAM lParam, GF_Event *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetTimer
      Src: /src/gpac/modules/dx_hw/dx_window.c:211,1
    - Dst: mouse_move
      Src: /src/gpac/modules/dx_hw/dx_window.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - hWnd
    - vout
    argTypes:
    - DDContext*
    - HWND
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: mouse_start_timer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - SetTimer
    - mouse_move
    linkageType: ''
    returnType: void
    signature: 'static void mouse_start_timer(DDContext *ctx, HWND hWnd, GF_VideoOutput
      *vout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - wParam
    - lParam
    - evt
    argTypes:
    - WPARAM
    - LPARAM
    - GF_EventKey*
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: w32_translate_key
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void w32_translate_key(WPARAM wParam, LPARAM lParam, GF_EventKey
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCapture
      Src: /src/gpac/modules/dx_hw/dx_window.c:224,1
    - Dst: mouse_start_timer
      Src: /src/gpac/modules/dx_hw/dx_window.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - hWnd
    - vout
    argTypes:
    - DDContext*
    - HWND
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: release_mouse
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - ReleaseCapture
    - mouse_start_timer
    linkageType: ''
    returnType: void
    signature: 'void release_mouse(DDContext *ctx, HWND hWnd, GF_VideoOutput *vout) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:603,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:621,1
    - Dst: GetVersionEx
      Src: /src/gpac/modules/dx_hw/dx_window.c:617,1
    - Dst: GetModuleHandle
      Src: /src/gpac/modules/dx_hw/dx_window.c:623,1
    - Dst: GetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_window.c:629,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:631,1
    - Dst: SetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:635,1
    - Dst: GetWindowLong
      Src: /src/gpac/modules/dx_hw/dx_window.c:635,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/dx_hw/dx_window.c:638,1
    - Dst: _SetLayeredWindowAttributes
      Src: /src/gpac/modules/dx_hw/dx_window.c:649,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_window.c:640,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:651,1
    - Dst: _SetLayeredWindowAttributes
      Src: /src/gpac/modules/dx_hw/dx_window.c:647,1
    - Dst: sscanf
      Src: /src/gpac/modules/dx_hw/dx_window.c:644,1
    - Dst: RGB
      Src: /src/gpac/modules/dx_hw/dx_window.c:645,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - vout
    - hWnd
    argTypes:
    - GF_VideoOutput*
    - HWND
    constantsTouched: []
    func_position:
      end: 653
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 653
    functionName: SetWindowless
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - RGB
    - SetWindowLong
    - sscanf
    - GetVersionEx
    - GF_LOG
    - _SetLayeredWindowAttributes
    - gf_opts_set_key
    - GetProcAddress
    - GetWindowLong
    - GetModuleHandle
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void SetWindowless(GF_VideoOutput *vout, HWND hWnd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_window.c:800,1
    - Dst: gf_th_id
      Src: /src/gpac/modules/dx_hw/dx_window.c:800,1
    - Dst: PostQuitMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:808,1
    - Dst: GetMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:806,1
    - Dst: DD_InitWindows
      Src: /src/gpac/modules/dx_hw/dx_window.c:802,1
    - Dst: TranslateMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:809,1
    - Dst: DispatchMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:810,1
    - Dst: strlen
      Src: /src/gpac/modules/dx_hw/dx_window.c:818,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_window.c:819,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/modules/dx_hw/dx_window.c:820,1
    - Dst: SetWindowTextW
      Src: /src/gpac/modules/dx_hw/dx_window.c:822,1
    - Dst: SetWindowText
      Src: /src/gpac/modules/dx_hw/dx_window.c:826,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:828,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 836
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 836
    functionName: DD_WindowThread
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - SetWindowTextW
    - TranslateMessage
    - GetMessage
    - GF_LOG
    - gf_utf8_mbstowcs
    - PostQuitMessage
    - gf_free
    - gf_th_id
    - DD_InitWindows
    - DispatchMessage
    - SetWindowText
    linkageType: ''
    returnType: u32
    signature: 'u32 DD_WindowThread(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hWnd
    argTypes:
    - HWND
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: dd_closewindow
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - PostMessage
    linkageType: ''
    returnType: void
    signature: 'static void dd_closewindow(HWND hWnd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ShowCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:937,1
    - Dst: SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:951,1
    - Dst: ShowCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:942,1
    - Dst: SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:954,1
    - Dst: SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:957,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 2
    argNames:
    - dr
    - cursor_type
    argTypes:
    - GF_VideoOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 960
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 960
    functionName: DD_SetCursor
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - SetCursor
    - ShowCursor
    linkageType: ''
    returnType: void
    signature: 'void DD_SetCursor(GF_VideoOutput *dr, u32 cursor_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:48,1
    - Dst: HIWORD
      Src: /src/gpac/modules/dx_hw/dx_window.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - lParam
    - evt
    argTypes:
    - DWORD
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: DD_GetCoordinates
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - LOWORD
    - HIWORD
    linkageType: ''
    returnType: void
    signature: 'static void DD_GetCoordinates(DWORD lParam, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSysColor
      Src: /src/gpac/modules/dx_hw/dx_window.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 978
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 978
    functionName: get_sys_col
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - GetSysColor
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_sys_col(int idx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DispatchMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:1005,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/dx_hw/dx_window.c:1017,1
    - Dst: ShowWindow
      Src: /src/gpac/modules/dx_hw/dx_window.c:1045,1
    - Dst: MapWindowPoints
      Src: /src/gpac/modules/dx_hw/dx_window.c:1038,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_window.c:1039,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1097,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1100,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1102,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1106,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1110,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1116,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1114,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1115,1
    - Dst: SetWindowText
      Src: /src/gpac/modules/dx_hw/dx_window.c:997,1
    - Dst: PeekMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:1003,1
    - Dst: TranslateMessage
      Src: /src/gpac/modules/dx_hw/dx_window.c:1004,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_window.c:999,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_window.c:1024,1
    - Dst: GetSystemMetrics
      Src: /src/gpac/modules/dx_hw/dx_window.c:1025,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_window.c:1055,1
    - Dst: DestroyObjects
      Src: /src/gpac/modules/dx_hw/dx_window.c:1076,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1101,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1103,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1124,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1122,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1111,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1107,1
    - Dst: DD_SetCursor
      Src: /src/gpac/modules/dx_hw/dx_window.c:1013,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_window.c:1068,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_window.c:1033,1
    - Dst: wglMakeCurrent
      Src: /src/gpac/modules/dx_hw/dx_window.c:1064,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_window.c:1057,1
    - Dst: DD_SetupOpenGL
      Src: /src/gpac/modules/dx_hw/dx_window.c:1090,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1098,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1104,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1108,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1112,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1117,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1118,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1120,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1121,1
    - Dst: SetWindowText
      Src: /src/gpac/modules/dx_hw/dx_window.c:995,1
    - Dst: SetWindowPos
      Src: /src/gpac/modules/dx_hw/dx_window.c:1041,1
    - Dst: DD_SetBackBufferSize
      Src: /src/gpac/modules/dx_hw/dx_window.c:1083,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1099,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1105,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1109,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1113,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1119,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/dx_hw/dx_window.c:1123,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 147
    argCount: 2
    argNames:
    - dr
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 1128
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1128
    functionName: DD_ProcessEvent
    functionSourceFile: /src/gpac/modules/dx_hw/dx_window.c
    functionUses: []
    functionsReached:
    - DD_SetupOpenGL
    - ShowWindow
    - SetWindowPos
    - TranslateMessage
    - GetSystemMetrics
    - MapWindowPoints
    - gf_strdup
    - get_sys_col
    - DD_SetBackBufferSize
    - wglMakeCurrent
    - DestroyObjects
    - gf_free
    - DD_SetCursor
    - PeekMessage
    - DispatchMessage
    - SetWindowText
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DD_ProcessEvent(GF_VideoOutput*dr, GF_Event *evt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:79,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:91,1
    - Dst: GetDesktopWindow
      Src: /src/gpac/modules/dx_hw/dx_audio.c:84,1
    - Dst: DD_GetGlobalHWND
      Src: /src/gpac/modules/dx_hw/dx_audio.c:82,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:93,1
    - Dst: SAFE_DS_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_audio.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: DS_Setup
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - GetDesktopWindow
    - FAILED
    - SAFE_DS_RELEASE
    - DSCONTEXT
    - DD_GetGlobalHWND
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DS_Setup(GF_AudioOutput *dr, void *os_handle, u32 num_buffers,
      u32 total_duration) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:145,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/dx_hw/dx_audio.c:183,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_audio.c:186,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/modules/dx_hw/dx_audio.c:161,1
    - Dst: DS_ResetBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:270,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:218,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:224,1
    - Dst: CloseHandle
      Src: /src/gpac/modules/dx_hw/dx_audio.c:251,1
    - Dst: CreateEvent
      Src: /src/gpac/modules/dx_hw/dx_audio.c:241,1
    - Dst: DS_ReleaseBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:226,1
    - Dst: DS_Configure
      Src: /src/gpac/modules/dx_hw/dx_audio.c:228,1
    - Dst: SAFE_DS_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_audio.c:252,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_audio.c:195,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/modules/dx_hw/dx_audio.c:199,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_audio.c:220,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 125
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 274
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 274
    functionName: DS_Configure
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - memset
    - DS_Configure
    - DS_ResetBuffer
    - CreateEvent
    - FAILED
    - GF_LOG
    - CloseHandle
    - SAFE_DS_RELEASE
    - DSCONTEXT
    - gf_opts_set_key
    - gf_audio_fmt_bit_depth
    - DS_ReleaseBuffer
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DS_Configure(GF_AudioOutput *dr, u32 *SampleRate, u32
      *NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:115,1
    - Dst: SAFE_DS_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_audio.c:119,1
    - Dst: CloseHandle
      Src: /src/gpac/modules/dx_hw/dx_audio.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: DS_ReleaseBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - CloseHandle
    - SAFE_DS_RELEASE
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'void DS_ReleaseBuffer(GF_AudioOutput *dr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:297,1
    - Dst: DS_RestoreBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:300,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:308,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:301,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:310,1
    - Dst: gf_assert
      Src: /src/gpac/modules/dx_hw/dx_audio.c:314,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:319,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - dr
    - buffer
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: DS_FillBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DS_RestoreBuffer
    - FAILED
    - GF_LOG
    - DSCONTEXT
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void DS_FillBuffer(GF_AudioOutput *dr, u32 buffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:349,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:361,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:354,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/dx_hw/dx_audio.c:366,1
    - Dst: DS_FillBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 375
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 375
    functionName: DS_WriteAudio
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DS_FillBuffer
    - gf_sleep
    - GF_LOG
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'void DS_WriteAudio(GF_AudioOutput *dr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:385,1
    - Dst: DS_ResetBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - dr
    - PlayType
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: DS_Play
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DS_ResetBuffer
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'static void DS_Play(GF_AudioOutput *dr, u32 PlayType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: DS_SetPan
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'static void DS_SetPan(GF_AudioOutput *dr, u32 Pan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: DS_GetAudioDelay
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DSCONTEXT
    linkageType: ''
    returnType: u32
    signature: 'static u32 DS_GetAudioDelay(GF_AudioOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:106,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_audio.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DSContext*
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: DS_ResetBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - FAILED
    - memset
    linkageType: ''
    returnType: void
    signature: 'void DS_ResetBuffer(DSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:130,1
    - Dst: DS_ReleaseBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:131,1
    - Dst: SAFE_DS_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_audio.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: DS_Shutdown
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DS_ReleaseBuffer
    - SAFE_DS_RELEASE
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'static void DS_Shutdown(GF_AudioOutput *dr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_audio.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pDSBuffer
    argTypes:
    - LPDIRECTSOUNDBUFFER
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: DS_RestoreBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DS_RestoreBuffer(LPDIRECTSOUNDBUFFER pDSBuffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:329,1
    - Dst: WaitForMultipleObjects
      Src: /src/gpac/modules/dx_hw/dx_audio.c:331,1
    - Dst: DS_FillBuffer
      Src: /src/gpac/modules/dx_hw/dx_audio.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 343
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 343
    functionName: DS_WriteAudio_Notifs
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - WaitForMultipleObjects
    - DS_FillBuffer
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'void DS_WriteAudio_Notifs(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - dr
    - desired_samplerate
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: DS_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DS_QueryOutputSampleRate(GF_AudioOutput *dr, u32 *desired_samplerate,
      u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: DS_SetVolume
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'static void DS_SetVolume(GF_AudioOutput *dr, u32 Volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Priority
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: DS_SetPriority
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void DS_SetPriority(GF_AudioOutput *dr, u32 Priority) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: DS_GetTotalBufferTime
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - DSCONTEXT
    linkageType: ''
    returnType: u32
    signature: 'static u32 DS_GetTotalBufferTime(GF_AudioOutput *dr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_audio.c:454,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_audio.c:458,1
    - Dst: LoadLibrary
      Src: /src/gpac/modules/dx_hw/dx_audio.c:460,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_audio.c:457,1
    - Dst: CoInitialize
      Src: /src/gpac/modules/dx_hw/dx_audio.c:454,1
    - Dst: LoadLibrary
      Src: /src/gpac/modules/dx_hw/dx_audio.c:462,1
    - Dst: GetProcAddress
      Src: /src/gpac/modules/dx_hw/dx_audio.c:465,1
    - Dst: FreeLibrary
      Src: /src/gpac/modules/dx_hw/dx_audio.c:468,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_audio.c:469,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_audio.c:474,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/dx_hw/dx_audio.c:476,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_audio.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 496
    functionName: NewAudioOutput
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - CoInitialize
    - gf_malloc
    - memset
    - FAILED
    - FreeLibrary
    - GF_REGISTER_MODULE_INTERFACE
    - LoadLibrary
    - GetProcAddress
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewAudioOutput() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSCONTEXT
      Src: /src/gpac/modules/dx_hw/dx_audio.c:501,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_audio.c:506,1
    - Dst: CoUninitialize
      Src: /src/gpac/modules/dx_hw/dx_audio.c:507,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_audio.c:505,1
    - Dst: FreeLibrary
      Src: /src/gpac/modules/dx_hw/dx_audio.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: DeleteDxAudioOutput
    functionSourceFile: /src/gpac/modules/dx_hw/dx_audio.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - CoUninitialize
    - gf_free
    - DSCONTEXT
    linkageType: ''
    returnType: void
    signature: 'void DeleteDxAudioOutput(void *ifce) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 2
    argCount: 1
    argNames:
    - pixel_format
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: pixelformat_yuv
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool pixelformat_yuv(u32 pixel_format) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/gpac/modules/dx_hw/dx_2d.c:125,1
    - Dst: GF_COL_TO_555
      Src: /src/gpac/modules/dx_hw/dx_2d.c:132,1
    - Dst: GF_COL_TO_565
      Src: /src/gpac/modules/dx_hw/dx_2d.c:129,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - dr
    - color
    argTypes:
    - GF_VideoOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: DD_ClearBackBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - GF_COL_TO_565
    - FAILED
    - GF_COL_TO_555
    - ZeroMemory
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_ClearBackBuffer(GF_VideoOutput *dr, u32 color) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:238,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:275,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:274,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:284,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:316,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:320,1
    - Dst: DestroyObjects
      Src: /src/gpac/modules/dx_hw/dx_2d.c:236,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:243,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:258,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:265,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:325,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:280,1
    - Dst: ZeroMemory
      Src: /src/gpac/modules/dx_hw/dx_2d.c:268,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 100
    argCount: 3
    argNames:
    - dr
    - Width
    - Height
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 335
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 335
    functionName: InitDirectDraw
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - memset
    - ZeroMemory
    - FAILED
    - GF_LOG
    - DestroyObjects
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err InitDirectDraw(GF_VideoOutput *dr, u32 Width, u32 Height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dd
    - surface
    argTypes:
    - DDContext*
    - LPDDRAWSURFACE
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: DD_UnlockSurface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_UnlockSurface(DDContext *dd, LPDDRAWSURFACE surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - dr
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - Bool
    constantsTouched: []
    func_position:
      end: 397
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 397
    functionName: LockOSContext
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: void*
    signature: 'static void *LockOSContext(GF_VideoOutput *dr, Bool do_lock) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pixelformat_yuv
      Src: /src/gpac/modules/dx_hw/dx_2d.c:460,1
    - Dst: MAX
      Src: /src/gpac/modules/dx_hw/dx_2d.c:472,1
    - Dst: MAX
      Src: /src/gpac/modules/dx_hw/dx_2d.c:471,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:491,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:503,1
    - Dst: MAX
      Src: /src/gpac/modules/dx_hw/dx_2d.c:539,1
    - Dst: MAX
      Src: /src/gpac/modules/dx_hw/dx_2d.c:538,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:478,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:541,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:551,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_2d.c:474,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:475,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:494,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:543,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:517,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_2d.c:540,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 5
    argNames:
    - dr
    - width
    - height
    - pixel_format
    - check_caps
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 557
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 557
    functionName: DD_GetSurface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - memset
    - pixelformat_yuv
    - FAILED
    - SAFE_DD_RELEASE
    - get_win_4CC
    - MAX
    linkageType: ''
    returnType: DDSurface*
    signature: 'static DDSurface *DD_GetSurface(GF_VideoOutput *dr, u32 width, u32
      height, u32 pixel_format, Bool check_caps) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:661,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:664,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:662,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:663,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:665,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:666,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:667,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:668,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:669,1
    - Dst: get_win_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - win_4cc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: is_yuv_supported
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - get_win_4CC
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 is_yuv_supported(u32 win_4cc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitDirectDraw
      Src: /src/gpac/modules/dx_hw/dx_2d.c:865,1
    - Dst: CreateBackBuffer
      Src: /src/gpac/modules/dx_hw/dx_2d.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - dr
    - width
    - height
    - use_system_memory
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 869
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 869
    functionName: DD_SetBackBufferSize
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - InitDirectDraw
    - CreateBackBuffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DD_SetBackBufferSize(GF_VideoOutput *dr, u32 width, u32 height,
      Bool use_system_memory) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:156,1
    - Dst: strcmp
      Src: /src/gpac/modules/dx_hw/dx_2d.c:161,1
    - Dst: strcmp
      Src: /src/gpac/modules/dx_hw/dx_2d.c:162,1
    - Dst: strcmp
      Src: /src/gpac/modules/dx_hw/dx_2d.c:159,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_2d.c:173,1
    - Dst: ZeroMemory
      Src: /src/gpac/modules/dx_hw/dx_2d.c:176,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:201,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:206,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:221,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:210,1
    - Dst: DD_InitYUV
      Src: /src/gpac/modules/dx_hw/dx_2d.c:220,1
    - Dst: DD_ClearBackBuffer
      Src: /src/gpac/modules/dx_hw/dx_2d.c:218,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 4
    argNames:
    - dr
    - Width
    - Height
    - use_system_memory
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 223
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 223
    functionName: CreateBackBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - ZeroMemory
    - FAILED
    - strcmp
    - GF_LOG
    - gf_module_get_key
    - SAFE_DD_RELEASE
    - DD_InitYUV
    - DD_ClearBackBuffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CreateBackBuffer(GF_VideoOutput *dr, u32 Width, u32 Height,
      Bool use_system_memory) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:78,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:84,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:86,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:80,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:82,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:88,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:90,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:92,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:94,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:96,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:102,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:106,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:100,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:104,1
    - Dst: mmioFOURCC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:98,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 1
    argNames:
    - pixel_format
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: get_win_4CC
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - mmioFOURCC
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_win_4CC(u32 pixel_format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/gpac/modules/dx_hw/dx_2d.c:344,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - dd
    - vi
    - surface
    argTypes:
    - DDContext*
    - GF_VideoSurface*
    - LPDDRAWSURFACE
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: DD_LockSurface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - FAILED
    - ZeroMemory
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_LockSurface(DDContext *dd, GF_VideoSurface *vi, LPDDRAWSURFACE
      surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:374,1
    - Dst: DD_LockSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:376,1
    - Dst: DD_UnlockSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - dr
    - vi
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: DD_LockBackBuffer
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - DD_UnlockSurface
    - memset
    - DD_LockSurface
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_LockBackBuffer(GF_VideoOutput *dr, GF_VideoSurface
      *vi, Bool do_lock) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MAKERECT
      Src: /src/gpac/modules/dx_hw/dx_2d.c:411,1
    - Dst: MAKERECT
      Src: /src/gpac/modules/dx_hw/dx_2d.c:412,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:420,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/modules/dx_hw/dx_2d.c:417,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:443,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:445,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:448,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 5
    argNames:
    - dd
    - src
    - src_wnd
    - dst_wnd
    - key
    argTypes:
    - DDContext*
    - DDSurface*
    - GF_Window*
    - GF_Window*
    - GF_ColorKey*
    constantsTouched: []
    func_position:
      end: 449
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 449
    functionName: DD_BlitSurface
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - MAKERECT
    - GF_COL_ARGB
    - FAILED
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_BlitSurface(DDContext *dd, DDSurface *src, GF_Window
      *src_wnd, GF_Window *dst_wnd, GF_ColorKey *key) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_stretch_bits
      Src: /src/gpac/modules/dx_hw/dx_2d.c:593,1
    - Dst: DD_LockSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:589,1
    - Dst: DD_UnlockSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:595,1
    - Dst: MAKERECT
      Src: /src/gpac/modules/dx_hw/dx_2d.c:606,1
    - Dst: MAKERECT
      Src: /src/gpac/modules/dx_hw/dx_2d.c:612,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:614,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:643,1
    - Dst: DD_BlitSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:655,1
    - Dst: FAILED
      Src: /src/gpac/modules/dx_hw/dx_2d.c:627,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:635,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:587,1
    - Dst: DD_GetSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:583,1
    - Dst: ClientToScreen
      Src: /src/gpac/modules/dx_hw/dx_2d.c:609,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:621,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 5
    argNames:
    - dr
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 656
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 656
    functionName: DD_Blit
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - MAKERECT
    - memset
    - DD_BlitSurface
    - FAILED
    - GF_LOG
    - gf_stretch_bits
    - DD_LockSurface
    - DD_UnlockSurface
    - DD_GetSurface
    - ClientToScreen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DD_Blit(GF_VideoOutput *dr, GF_VideoSurface *video_src,
      GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 689
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 689
    functionName: is_yuv_planar
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool is_yuv_planar(u32 format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - driv
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: DD_SetupDDraw
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DD_SetupDDraw(GF_VideoOutput *driv) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:712,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/dx_hw/dx_2d.c:765,1
    - Dst: sscanf
      Src: /src/gpac/modules/dx_hw/dx_2d.c:715,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/dx_hw/dx_2d.c:734,1
    - Dst: is_yuv_supported
      Src: /src/gpac/modules/dx_hw/dx_2d.c:739,1
    - Dst: gf_sys_clock
      Src: /src/gpac/modules/dx_hw/dx_2d.c:771,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:758,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:817,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:821,1
    - Dst: strcmp
      Src: /src/gpac/modules/dx_hw/dx_2d.c:822,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:828,1
    - Dst: GF_4CC
      Src: /src/gpac/modules/dx_hw/dx_2d.c:716,1
    - Dst: gf_free
      Src: /src/gpac/modules/dx_hw/dx_2d.c:742,1
    - Dst: DD_GetSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:762,1
    - Dst: memset
      Src: /src/gpac/modules/dx_hw/dx_2d.c:803,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_2d.c:757,1
    - Dst: sprintf
      Src: /src/gpac/modules/dx_hw/dx_2d.c:816,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:818,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/dx_hw/dx_2d.c:835,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:842,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:851,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/dx_hw/dx_2d.c:832,1
    - Dst: sscanf
      Src: /src/gpac/modules/dx_hw/dx_2d.c:848,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/dx_hw/dx_2d.c:718,1
    - Dst: is_yuv_planar
      Src: /src/gpac/modules/dx_hw/dx_2d.c:753,1
    - Dst: DD_BlitSurface
      Src: /src/gpac/modules/dx_hw/dx_2d.c:768,1
    - Dst: SAFE_DD_RELEASE
      Src: /src/gpac/modules/dx_hw/dx_2d.c:802,1
    - Dst: is_yuv_planar
      Src: /src/gpac/modules/dx_hw/dx_2d.c:755,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/modules/dx_hw/dx_2d.c:832,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/dx_hw/dx_2d.c:846,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 143
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 855
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 855
    functionName: DD_InitYUV
    functionSourceFile: /src/gpac/modules/dx_hw/dx_2d.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - gf_malloc
    - gf_4cc_to_str
    - is_yuv_supported
    - memset
    - DD_BlitSurface
    - GF_4CC
    - sscanf
    - sprintf
    - strcmp
    - GF_LOG
    - gf_module_get_key
    - gf_sys_clock
    - SAFE_DD_RELEASE
    - gf_opts_set_key
    - is_yuv_planar
    - gf_free
    - DD_GetSurface
    linkageType: ''
    returnType: void
    signature: 'void DD_InitYUV(GF_VideoOutput *dr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDL_Init
      Src: /src/gpac/modules/sdl_out/sdl_out.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: SDLOUT_InitSDL
    functionSourceFile: /src/gpac/modules/sdl_out/sdl_out.c
    functionUses: []
    functionsReached:
    - SDL_Init
    linkageType: ''
    returnType: Bool
    signature: 'Bool SDLOUT_InitSDL() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/sdl_out/sdl_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDL_NewVideo
      Src: /src/gpac/modules/sdl_out/sdl_out.c:76,1
    - Dst: SDL_NewAudio
      Src: /src/gpac/modules/sdl_out/sdl_out.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/sdl_out/sdl_out.c
    functionUses: []
    functionsReached:
    - SDL_NewVideo
    - SDL_NewAudio
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDL_Quit
      Src: /src/gpac/modules/sdl_out/sdl_out.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: SDLOUT_CloseSDL
    functionSourceFile: /src/gpac/modules/sdl_out/sdl_out.c
    functionUses: []
    functionsReached:
    - SDL_Quit
    linkageType: ''
    returnType: void
    signature: 'void SDLOUT_CloseSDL() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDL_DeleteVideo
      Src: /src/gpac/modules/sdl_out/sdl_out.c:87,1
    - Dst: SDL_DeleteAudio
      Src: /src/gpac/modules/sdl_out/sdl_out.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/sdl_out/sdl_out.c
    functionUses: []
    functionsReached:
    - SDL_DeleteAudio
    - SDL_DeleteVideo
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - SDLkey
    - evt
    argTypes:
    - u32
    - GF_EventKey*
    constantsTouched: []
    func_position:
      end: 356
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 356
    functionName: sdl_translate_key
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void sdl_translate_key(u32 SDLkey, GF_EventKey *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1232,1
    - Dst: SDLOUT_InitSDL
      Src: /src/gpac/modules/sdl_out/video.c:1252,1
    - Dst: SDL_ShowWindow
      Src: /src/gpac/modules/sdl_out/video.c:1247,1
    - Dst: gf_th_run
      Src: /src/gpac/modules/sdl_out/video.c:1257,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/sdl_out/video.c:1260,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/video.c:1264,1
    - Dst: SDLVid_InitializeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1269,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/sdl_out/video.c:1270,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1246,1
    - Dst: SDL_QuitSubSystem
      Src: /src/gpac/modules/sdl_out/video.c:1271,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/modules/sdl_out/video.c:1282,1
    - Dst: sdl_translate_key
      Src: /src/gpac/modules/sdl_out/video.c:1284,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/video.c:1275,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/sdl_out/video.c:1272,1
    - Dst: SDLVid_SetCursor
      Src: /src/gpac/modules/sdl_out/video.c:1285,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - dr
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - struct _video_out*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1291
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1291
    functionName: SDLVid_Setup
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - SDLOUT_CloseSDL
    - SDLOUT_InitSDL
    - SDL_QuitSubSystem
    - gf_list_count
    - gf_list_del
    - SDLVid_SetCursor
    - SDLVID
    - SDLVid_InitializeWindow
    - gf_th_run
    - sdl_translate_key
    - SDL_VERSION_ATLEAST
    - SDL_ShowWindow
    - gf_sleep
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SDLVid_Setup(struct _video_out *dr, void *os_handle, void *os_display,
      u32 init_flags) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SDLVid_ProcessMessageQueue
      Src: /src/gpac/modules/sdl_out/video.c:1677,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1698,1
    - Dst: SDL_WM_SetCaption
      Src: /src/gpac/modules/sdl_out/video.c:1704,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1713,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1724,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1731,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1763,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1778,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1787,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1797,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1790,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1806,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1811,1
    - Dst: SDL_SetHint
      Src: /src/gpac/modules/sdl_out/video.c:1854,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1793,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1809,1
    - Dst: SDL_SetHint
      Src: /src/gpac/modules/sdl_out/video.c:1850,1
    - Dst: SDL_SetHint
      Src: /src/gpac/modules/sdl_out/video.c:1851,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1690,1
    - Dst: SDL_SetWindowTitle
      Src: /src/gpac/modules/sdl_out/video.c:1699,1
    - Dst: SDLVid_ProcessEvent
      Src: /src/gpac/modules/sdl_out/video.c:1700,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1717,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1733,1
    - Dst: SDL_SetWindowPosition
      Src: /src/gpac/modules/sdl_out/video.c:1743,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1760,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1788,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1695,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1762,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1789,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1796,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1812,1
    - Dst: SDL_StartTextInput
      Src: /src/gpac/modules/sdl_out/video.c:1824,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1814,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1835,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1845,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1792,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1808,1
    - Dst: SDL_SetHint
      Src: /src/gpac/modules/sdl_out/video.c:1849,1
    - Dst: SDL_StopTextInput
      Src: /src/gpac/modules/sdl_out/video.c:1826,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1676,1
    - Dst: SDLVid_SetCursor
      Src: /src/gpac/modules/sdl_out/video.c:1684,1
    - Dst: SDL_GetWindowPosition
      Src: /src/gpac/modules/sdl_out/video.c:1742,1
    - Dst: SDLVid_ResetWindow
      Src: /src/gpac/modules/sdl_out/video.c:1759,1
    - Dst: SDLVid_ResetWindow
      Src: /src/gpac/modules/sdl_out/video.c:1772,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:1775,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1780,1
    - Dst: SDL_GL_MakeCurrent
      Src: /src/gpac/modules/sdl_out/video.c:1837,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:1838,1
    - Dst: SDL_SetHint
      Src: /src/gpac/modules/sdl_out/video.c:1852,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1813,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1822,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1836,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1795,1
    - Dst: SDL_SetWindowPosition
      Src: /src/gpac/modules/sdl_out/video.c:1745,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1752,1
    - Dst: SDLVid_SetBackbufferSize
      Src: /src/gpac/modules/sdl_out/video.c:1767,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1799,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1800,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1801,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1802,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1803,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1804,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1805,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1798,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1791,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1807,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:1838,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1794,1
    - Dst: get_sys_col
      Src: /src/gpac/modules/sdl_out/video.c:1810,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 145
    argCount: 2
    argNames:
    - dr
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 1863
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1863
    functionName: SDLVid_ProcessEvent
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_StopTextInput
    - SDLVid_SetCursor
    - GF_LOG
    - SDL_GetWindowPosition
    - SDL_StartTextInput
    - SDLVID
    - get_sys_col
    - SDLVid_SetBackbufferSize
    - SDL_SetHint
    - SDL_SetWindowTitle
    - SDLVid_ResizeWindow
    - SDL_GL_MakeCurrent
    - SDL_GetError
    - SDL_SetWindowPosition
    - SDLVid_ResetWindow
    - SDL_WM_SetCaption
    - SDLVid_ProcessMessageQueue
    - SDLVid_ProcessEvent
    - SDL_VERSION_ATLEAST
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLVid_ProcessEvent(GF_VideoOutput *dr, GF_Event *evt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/modules/sdl_out/video.c:740,1
    - Dst: SDL_GetDesktopDisplayMode
      Src: /src/gpac/modules/sdl_out/video.c:760,1
    - Dst: SDLVid_LoadCursor
      Src: /src/gpac/modules/sdl_out/video.c:746,1
    - Dst: SDL_EnableUNICODE
      Src: /src/gpac/modules/sdl_out/video.c:750,1
    - Dst: fprintf
      Src: /src/gpac/modules/sdl_out/video.c:778,1
    - Dst: putenv
      Src: /src/gpac/modules/sdl_out/video.c:727,1
    - Dst: SDLVid_LoadCursor
      Src: /src/gpac/modules/sdl_out/video.c:745,1
    - Dst: SDL_ListModes
      Src: /src/gpac/modules/sdl_out/video.c:776,1
    - Dst: SDLVid_SetCaption
      Src: /src/gpac/modules/sdl_out/video.c:799,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:718,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:721,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:747,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:759,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:766,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:798,1
    - Dst: SDL_InitSubSystem
      Src: /src/gpac/modules/sdl_out/video.c:733,1
    - Dst: gf_list_find
      Src: /src/gpac/modules/sdl_out/video.c:739,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/sdl_out/video.c:741,1
    - Dst: SDL_GetCursor
      Src: /src/gpac/modules/sdl_out/video.c:744,1
    - Dst: SDL_EnableKeyRepeat
      Src: /src/gpac/modules/sdl_out/video.c:751,1
    - Dst: SDL_GetTicks
      Src: /src/gpac/modules/sdl_out/video.c:754,1
    - Dst: SDL_GetVideoInfo
      Src: /src/gpac/modules/sdl_out/video.c:767,1
    - Dst: SDL_WasInit
      Src: /src/gpac/modules/sdl_out/video.c:731,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/sdl_out/video.c:737,1
    - Dst: SDLVid_SetCaption
      Src: /src/gpac/modules/sdl_out/video.c:801,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:803,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - dr
    argTypes:
    - SDLVidCtx*
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 806
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 806
    functionName: SDLVid_InitializeWindow
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - SDL_GetDesktopDisplayMode
    - GF_LOG
    - SDL_InitSubSystem
    - gf_list_find
    - gf_list_count
    - SDL_EnableUNICODE
    - SDL_GetCursor
    - SDL_WasInit
    - SDL_GetVideoInfo
    - gf_list_new
    - fprintf
    - SDLVid_LoadCursor
    - putenv
    - SDL_GetTicks
    - SDL_ListModes
    - SDL_EnableKeyRepeat
    - SDLVid_SetCaption
    - SDL_VERSION_ATLEAST
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SDLVid_InitializeWindow(SDLVidCtx *ctx, GF_VideoOutput
      *dr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1295,1
    - Dst: SDLVid_ShutdownWindow
      Src: /src/gpac/modules/sdl_out/video.c:1311,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/video.c:1314,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/sdl_out/video.c:1308,1
    - Dst: SDL_PushEvent
      Src: /src/gpac/modules/sdl_out/video.c:1303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1317
    functionName: SDLVid_Shutdown
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDLOUT_CloseSDL
    - SDLVID
    - SDL_PushEvent
    - SDLVid_ShutdownWindow
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void SDLVid_Shutdown(GF_VideoOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDL_VideoDriverName
      Src: /src/gpac/modules/sdl_out/video.c:166,1
    - Dst: SDL_WM_SetCaption
      Src: /src/gpac/modules/sdl_out/video.c:171,1
    - Dst: SDL_WM_SetCaption
      Src: /src/gpac/modules/sdl_out/video.c:169,1
    - Dst: sprintf
      Src: /src/gpac/modules/sdl_out/video.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: SDLVid_SetCaption
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_WM_SetCaption
    - sprintf
    - SDL_VideoDriverName
    linkageType: ''
    returnType: void
    signature: 'void SDLVid_SetCaption() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:384,1
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:382,1
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:380,1
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:387,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:389,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:393,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:395,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:397,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:378,1
    - Dst: SDL_FreeYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:399,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SDLVidCtx*
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: SDLVid_DestroyObjects
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_FreeYUVOverlay
    - SDL_FreeSurface
    - SDL_VERSION_ATLEAST
    - gf_free
    - SDL_DestroyTexture
    linkageType: ''
    returnType: void
    signature: 'static void SDLVid_DestroyObjects(SDLVidCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDLVid_DestroyObjects
      Src: /src/gpac/modules/sdl_out/video.c:810,1
    - Dst: SDL_DestroyRenderer
      Src: /src/gpac/modules/sdl_out/video.c:817,1
    - Dst: SDL_GL_DeleteContext
      Src: /src/gpac/modules/sdl_out/video.c:813,1
    - Dst: SDL_DestroyWindow
      Src: /src/gpac/modules/sdl_out/video.c:824,1
    - Dst: SDL_QuitSubSystem
      Src: /src/gpac/modules/sdl_out/video.c:827,1
    - Dst: SDL_InitSubSystem
      Src: /src/gpac/modules/sdl_out/video.c:828,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SDLVidCtx*
    constantsTouched: []
    func_position:
      end: 832
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 832
    functionName: SDLVid_ResetWindow
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_GL_DeleteContext
    - SDL_DestroyRenderer
    - SDL_QuitSubSystem
    - SDL_InitSubSystem
    - SDL_VERSION_ATLEAST
    - SDL_DestroyWindow
    - SDLVid_DestroyObjects
    linkageType: ''
    returnType: void
    signature: 'static void SDLVid_ResetWindow(SDLVidCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDLVid_DestroyObjects
      Src: /src/gpac/modules/sdl_out/video.c:836,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:838,1
    - Dst: SDL_DestroyWindow
      Src: /src/gpac/modules/sdl_out/video.c:839,1
    - Dst: SDLVid_ResetWindow
      Src: /src/gpac/modules/sdl_out/video.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SDLVidCtx*
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 842
    functionName: SDLVid_ShutdownWindow
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDLVid_ResetWindow
    - SDLVid_DestroyObjects
    - SDL_DestroyWindow
    - SDL_VERSION_ATLEAST
    linkageType: ''
    returnType: void
    signature: 'static void SDLVid_ShutdownWindow(SDLVidCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1559,1
    - Dst: CGLSetParameter
      Src: /src/gpac/modules/sdl_out/video.c:1571,1
    - Dst: CGLGetCurrentContext
      Src: /src/gpac/modules/sdl_out/video.c:1570,1
    - Dst: gpac_on_video_swap
      Src: /src/gpac/modules/sdl_out/video.c:1577,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:1563,1
    - Dst: SDL_GL_SwapWindow
      Src: /src/gpac/modules/sdl_out/video.c:1580,1
    - Dst: SDL_UpdateTexture
      Src: /src/gpac/modules/sdl_out/video.c:1586,1
    - Dst: SDL_RenderCopy
      Src: /src/gpac/modules/sdl_out/video.c:1587,1
    - Dst: SDL_RenderReadPixels
      Src: /src/gpac/modules/sdl_out/video.c:1589,1
    - Dst: SDL_RenderPresent
      Src: /src/gpac/modules/sdl_out/video.c:1592,1
    - Dst: SDL_RenderPresent
      Src: /src/gpac/modules/sdl_out/video.c:1597,1
    - Dst: SDL_RenderCopy
      Src: /src/gpac/modules/sdl_out/video.c:1594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 1602
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1602
    functionName: SDLVid_Flush
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - CGLGetCurrentContext
    - SDL_UpdateTexture
    - SDL_RenderCopy
    - GF_LOG
    - SDL_RenderReadPixels
    - CGLSetParameter
    - SDL_GL_SwapWindow
    - SDLVID
    - SDL_RenderPresent
    - gpac_on_video_swap
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLVid_Flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:2064,1
    - Dst: SDL_CreateYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2087,1
    - Dst: SDL_FreeYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2085,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2073,1
    - Dst: SDL_FreeYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2079,1
    - Dst: SDL_LockYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2091,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:2094,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/modules/sdl_out/video.c:2103,1
    - Dst: SDL_UnlockYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2105,1
    - Dst: SDL_DisplayYUVOverlay
      Src: /src/gpac/modules/sdl_out/video.c:2111,1
    - Dst: SDL_LockSurface
      Src: /src/gpac/modules/sdl_out/video.c:2146,1
    - Dst: memcpy
      Src: /src/gpac/modules/sdl_out/video.c:2151,1
    - Dst: SDL_UnlockSurface
      Src: /src/gpac/modules/sdl_out/video.c:2155,1
    - Dst: SDL_CreateRGBSurface
      Src: /src/gpac/modules/sdl_out/video.c:2139,1
    - Dst: SDL_BlitSurface
      Src: /src/gpac/modules/sdl_out/video.c:2162,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:2163,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:2137,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2163,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 5
    argNames:
    - dr
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 2166
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2166
    functionName: SDL_Blit
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_GetError
    - SDL_FreeYUVOverlay
    - memset
    - SDL_FreeSurface
    - GF_LOG
    - gf_stretch_bits
    - SDL_CreateRGBSurface
    - SDLVID
    - SDL_LockYUVOverlay
    - SDL_CreateYUVOverlay
    - SDL_LockSurface
    - SDL_UnlockYUVOverlay
    - memcpy
    - SDL_UnlockSurface
    - SDL_BlitSurface
    - SDL_DisplayYUVOverlay
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDL_Blit(GF_VideoOutput *dr, GF_VideoSurface *video_src,
      GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSysColor
      Src: /src/gpac/modules/sdl_out/video.c:1662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1669
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1669
    functionName: get_sys_col
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - GetSysColor
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_sys_col(int idx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 19
    argCount: 2
    argNames:
    - format
    - force_alpha
    argTypes:
    - SDL_PixelFormat*
    - Bool
    constantsTouched: []
    func_position:
      end: 1498
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1498
    functionName: SDLVid_MapPixelFormat
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 SDLVid_MapPixelFormat(SDL_PixelFormat *format, Bool force_alpha) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1609,1
    - Dst: SDLVid_MapPixelFormat
      Src: /src/gpac/modules/sdl_out/video.c:1630,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:1625,1
    - Dst: SDL_LockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1624,1
    - Dst: SDL_GL_SwapBuffers
      Src: /src/gpac/modules/sdl_out/video.c:1616,1
    - Dst: SDL_LockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1633,1
    - Dst: SDLVid_MapPixelFormat
      Src: /src/gpac/modules/sdl_out/video.c:1638,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/modules/sdl_out/video.c:1641,1
    - Dst: SDL_UnlockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1642,1
    - Dst: SDL_UnlockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1643,1
    - Dst: SDL_BlitSurface
      Src: /src/gpac/modules/sdl_out/video.c:1650,1
    - Dst: SDL_Flip
      Src: /src/gpac/modules/sdl_out/video.c:1652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - dr
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1654
    functionName: SDLVid_Flush
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - memset
    - SDL_GL_SwapBuffers
    - SDLVid_MapPixelFormat
    - gf_stretch_bits
    - SDL_LockSurface
    - SDLVID
    - SDL_BlitSurface
    - SDL_UnlockSurface
    - SDL_Flip
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLVid_Flush(GF_VideoOutput *dr, GF_Window *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/video.c:2186,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/sdl_out/video.c:2188,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:2187,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/video.c:2190,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:2191,1
    - Dst: gf_th_new
      Src: /src/gpac/modules/sdl_out/video.c:2193,1
    - Dst: gf_mx_new
      Src: /src/gpac/modules/sdl_out/video.c:2195,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/sdl_out/video.c:2217,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:2213,1
    - Dst: SDLVid_MapPixelFormat
      Src: /src/gpac/modules/sdl_out/video.c:2227,1
    - Dst: SDL_StartTextInput
      Src: /src/gpac/modules/sdl_out/video.c:2236,1
    - Dst: SDL_EnableUNICODE
      Src: /src/gpac/modules/sdl_out/video.c:2234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2240
    functionName: SDL_NewVideo
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - gf_malloc
    - gf_mx_new
    - memset
    - SDL_EnableUNICODE
    - GF_REGISTER_MODULE_INTERFACE
    - SDLVid_MapPixelFormat
    - SDL_StartTextInput
    - gf_th_new
    - SDL_VERSION_ATLEAST
    linkageType: ''
    returnType: void*
    signature: 'void *SDL_NewVideo() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1503,1
    - Dst: SDL_RenderCopy
      Src: /src/gpac/modules/sdl_out/video.c:1520,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:1506,1
    - Dst: SDL_UpdateTexture
      Src: /src/gpac/modules/sdl_out/video.c:1519,1
    - Dst: SDL_RenderReadPixels
      Src: /src/gpac/modules/sdl_out/video.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - dr
    - video_info
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1523
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1523
    functionName: SDLVid_LockBackBuffer
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_UpdateTexture
    - SDL_RenderCopy
    - memset
    - SDL_RenderReadPixels
    - SDLVID
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLVid_LockBackBuffer(GF_VideoOutput *dr, GF_VideoSurface
      *video_info, Bool do_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDL_GetCurrentVideoDriver
      Src: /src/gpac/modules/sdl_out/video.c:124,1
    - Dst: sprintf
      Src: /src/gpac/modules/sdl_out/video.c:126,1
    - Dst: SDL_GetCurrentVideoDriver
      Src: /src/gpac/modules/sdl_out/video.c:126,1
    - Dst: SDL_SetWindowTitle
      Src: /src/gpac/modules/sdl_out/video.c:127,1
    - Dst: SDL_SetWindowTitle
      Src: /src/gpac/modules/sdl_out/video.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - window
    argTypes:
    - SDL_Window*
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: SDLVid_SetCaption
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_GetCurrentVideoDriver
    - sprintf
    - SDL_SetWindowTitle
    linkageType: ''
    returnType: void
    signature: 'void SDLVid_SetCaption(SDL_Window* window) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/modules/sdl_out/video.c:363,1
    - Dst: unsetenv
      Src: /src/gpac/modules/sdl_out/video.c:370,1
    - Dst: putenv
      Src: /src/gpac/modules/sdl_out/video.c:371,1
    - Dst: strcpy
      Src: /src/gpac/modules/sdl_out/video.c:365,1
    - Dst: putenv
      Src: /src/gpac/modules/sdl_out/video.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - os_handle
    - set_on
    argTypes:
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: SDLVid_SetHack
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - unsetenv
    - putenv
    - sprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'void SDLVid_SetHack(void *os_handle, Bool set_on) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: SDL_UpdateTexture
      Src: /src/gpac/modules/sdl_out/video.c:1881,1
    - Dst: SDL_RenderCopy
      Src: /src/gpac/modules/sdl_out/video.c:1882,1
    - Dst: SDL_QueryTexture
      Src: /src/gpac/modules/sdl_out/video.c:2000,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1965,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:2048,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:2055,1
    - Dst: SDL_SetRenderDrawColor
      Src: /src/gpac/modules/sdl_out/video.c:1909,1
    - Dst: SDL_RenderFillRect
      Src: /src/gpac/modules/sdl_out/video.c:1913,1
    - Dst: SDL_LockTexture
      Src: /src/gpac/modules/sdl_out/video.c:2008,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/modules/sdl_out/video.c:2027,1
    - Dst: SDL_SetTextureAlphaMod
      Src: /src/gpac/modules/sdl_out/video.c:2040,1
    - Dst: SDL_SetTextureBlendMode
      Src: /src/gpac/modules/sdl_out/video.c:2046,1
    - Dst: SDL_SetRenderDrawColor
      Src: /src/gpac/modules/sdl_out/video.c:1911,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:1915,1
    - Dst: SDL_QueryTexture
      Src: /src/gpac/modules/sdl_out/video.c:1989,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:2018,1
    - Dst: SDL_UnlockTexture
      Src: /src/gpac/modules/sdl_out/video.c:2029,1
    - Dst: SDL_CreateTexture
      Src: /src/gpac/modules/sdl_out/video.c:1996,1
    - Dst: SDL_SetTextureBlendMode
      Src: /src/gpac/modules/sdl_out/video.c:2035,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2037,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2042,1
    - Dst: SDL_RenderCopy
      Src: /src/gpac/modules/sdl_out/video.c:2053,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1868,1
    - Dst: SDL_RenderClear
      Src: /src/gpac/modules/sdl_out/video.c:1888,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:1878,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:1915,1
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:1991,1
    - Dst: SDL_UpdateTexture
      Src: /src/gpac/modules/sdl_out/video.c:2031,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:2037,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:2042,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2048,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:2055,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 140
    argCount: 5
    argNames:
    - dr
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 2059
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 2059
    functionName: SDL_Blit
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_UpdateTexture
    - SDL_RenderCopy
    - SDL_GetError
    - SDL_QueryTexture
    - SDL_SetTextureAlphaMod
    - memset
    - SDL_UnlockTexture
    - SDL_CreateTexture
    - SDL_LockTexture
    - GF_LOG
    - gf_stretch_bits
    - SDL_SetTextureBlendMode
    - SDLVID
    - SDL_RenderFillRect
    - SDL_VERSION_ATLEAST
    - SDL_SetRenderDrawColor
    - SDL_RenderClear
    - SDL_DestroyTexture
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDL_Blit(GF_VideoOutput *dr, GF_VideoSurface *video_src,
      GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDL_CreateCursor
      Src: /src/gpac/modules/sdl_out/video.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - maskdata
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 206
    functionName: SDLVid_LoadCursor
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_CreateCursor
    linkageType: ''
    returnType: SDL_Cursor*
    signature: 'SDL_Cursor *SDLVid_LoadCursor(char *maskdata) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/modules/sdl_out/video.c:472,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:481,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:474,1
    - Dst: SDL_SetVideoMode
      Src: /src/gpac/modules/sdl_out/video.c:497,1
    - Dst: atoi
      Src: /src/gpac/modules/sdl_out/video.c:506,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:509,1
    - Dst: setlocale
      Src: /src/gpac/modules/sdl_out/video.c:544,1
    - Dst: SDL_GL_CreateContext
      Src: /src/gpac/modules/sdl_out/video.c:551,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:552,1
    - Dst: SDL_GL_MakeCurrent
      Src: /src/gpac/modules/sdl_out/video.c:556,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:557,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/sdl_out/video.c:586,1
    - Dst: SDL_RenderClear
      Src: /src/gpac/modules/sdl_out/video.c:678,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:619,1
    - Dst: SDL_RaiseWindow
      Src: /src/gpac/modules/sdl_out/video.c:659,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:683,1
    - Dst: SDL_SetRenderDrawColor
      Src: /src/gpac/modules/sdl_out/video.c:677,1
    - Dst: SDLVid_SetIcon
      Src: /src/gpac/modules/sdl_out/video.c:652,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:612,1
    - Dst: atoi
      Src: /src/gpac/modules/sdl_out/video.c:502,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:508,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/sdl_out/video.c:505,1
    - Dst: SDL_CreateWindow
      Src: /src/gpac/modules/sdl_out/video.c:527,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:528,1
    - Dst: SDL_GetWindowID
      Src: /src/gpac/modules/sdl_out/video.c:533,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:552,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:553,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:485,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:511,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:567,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:601,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:625,1
    - Dst: SDL_GL_SetSwapInterval
      Src: /src/gpac/modules/sdl_out/video.c:591,1
    - Dst: SDL_DestroyWindow
      Src: /src/gpac/modules/sdl_out/video.c:632,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:637,1
    - Dst: SDL_GetWindowID
      Src: /src/gpac/modules/sdl_out/video.c:650,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:669,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:670,1
    - Dst: SDL_SetWindowSize
      Src: /src/gpac/modules/sdl_out/video.c:675,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:647,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/sdl_out/video.c:501,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:504,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:507,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:522,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:528,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:532,1
    - Dst: SDLVid_SetIcon
      Src: /src/gpac/modules/sdl_out/video.c:535,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:550,1
    - Dst: SDL_GL_GetDrawableSize
      Src: /src/gpac/modules/sdl_out/video.c:566,1
    - Dst: SDL_CreateWindow
      Src: /src/gpac/modules/sdl_out/video.c:643,1
    - Dst: setlocale
      Src: /src/gpac/modules/sdl_out/video.c:656,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:658,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/sdl_out/video.c:663,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:685,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:557,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:669,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:646,1
    - Dst: SDL_SetVideoMode
      Src: /src/gpac/modules/sdl_out/video.c:681,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:466,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:499,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:503,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:519,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/gpac/modules/sdl_out/video.c:520,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:601,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:602,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:608,1
    - Dst: SDL_DestroyRenderer
      Src: /src/gpac/modules/sdl_out/video.c:630,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:646,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:558,1
    - Dst: SDL_GetDisplayOrientation
      Src: /src/gpac/modules/sdl_out/video.c:569,1
    - Dst: SDL_CreateRenderer
      Src: /src/gpac/modules/sdl_out/video.c:668,1
    - Dst: SDL_SetVideoMode
      Src: /src/gpac/modules/sdl_out/video.c:599,1
    - Dst: SDL_SetWindowSize
      Src: /src/gpac/modules/sdl_out/video.c:595,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 164
    argCount: 3
    argNames:
    - dr
    - width
    - height
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 687
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 687
    functionName: SDLVid_ResizeWindow
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - SDL_CreateRenderer
    - memset
    - SDL_SetWindowSize
    - GF_LOG
    - SDLVID
    - SDL_CreateWindow
    - SDL_DestroyWindow
    - SDLVid_SetIcon
    - SDL_GetWindowID
    - setlocale
    - SDL_SetVideoMode
    - atoi
    - SDL_GetDisplayOrientation
    - SDL_GL_GetDrawableSize
    - SDL_GL_MakeCurrent
    - SDL_GetError
    - SDL_RaiseWindow
    - gf_mx_p
    - SDL_GL_SetAttribute
    - gf_mx_v
    - gf_opts_get_key
    - SDL_DestroyRenderer
    - SDL_GL_CreateContext
    - SDL_GL_SetSwapInterval
    - SDL_VERSION_ATLEAST
    - SDL_SetRenderDrawColor
    - SDL_RenderClear
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SDLVid_ResizeWindow(GF_VideoOutput *dr, u32 width, u32 height) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SDL_PixelFormatEnumToMasks
      Src: /src/gpac/modules/sdl_out/video.c:1339,1
    - Dst: gf_module_get_bool
      Src: /src/gpac/modules/sdl_out/video.c:1349,1
    - Dst: SDL_GetDisplayMode
      Src: /src/gpac/modules/sdl_out/video.c:1362,1
    - Dst: SDL_SetWindowFullscreen
      Src: /src/gpac/modules/sdl_out/video.c:1392,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1346,1
    - Dst: SDL_PixelFormatEnumToMasks
      Src: /src/gpac/modules/sdl_out/video.c:1367,1
    - Dst: SDL_SetWindowDisplayMode
      Src: /src/gpac/modules/sdl_out/video.c:1391,1
    - Dst: SDL_VideoModeOK
      Src: /src/gpac/modules/sdl_out/video.c:1375,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1325,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1337,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1359,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1384,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1390,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1409,1
    - Dst: SDL_GetNumDisplayModes
      Src: /src/gpac/modules/sdl_out/video.c:1360,1
    - Dst: SDL_GetCurrentDisplayMode
      Src: /src/gpac/modules/sdl_out/video.c:1385,1
    - Dst: SDL_SetVideoMode
      Src: /src/gpac/modules/sdl_out/video.c:1394,1
    - Dst: SDLVid_DestroyObjects
      Src: /src/gpac/modules/sdl_out/video.c:1397,1
    - Dst: SDLVid_ResizeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1412,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:1416,1
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1324,1
    - Dst: gf_mx_p
      Src: /src/gpac/modules/sdl_out/video.c:1334,1
    - Dst: SDL_GetCurrentDisplayMode
      Src: /src/gpac/modules/sdl_out/video.c:1338,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:1403,1
    - Dst: SDL_SetWindowFullscreen
      Src: /src/gpac/modules/sdl_out/video.c:1410,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 88
    argCount: 4
    argNames:
    - dr
    - bFullScreenOn
    - screen_width
    - screen_height
    argTypes:
    - GF_VideoOutput*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1419
    functionName: SDLVid_SetFullScreen
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_module_get_bool
    - SDL_VideoModeOK
    - SDLVid_ResizeWindow
    - memset
    - SDL_PixelFormatEnumToMasks
    - gf_mx_p
    - SDL_GetDisplayMode
    - SDLVID
    - SDL_SetWindowDisplayMode
    - SDL_SetVideoMode
    - SDL_GetCurrentDisplayMode
    - SDL_VERSION_ATLEAST
    - SDL_SetWindowFullscreen
    - SDL_GetNumDisplayModes
    - SDLVid_DestroyObjects
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SDLVid_SetFullScreen(GF_VideoOutput *dr, Bool bFullScreenOn,
      u32 *screen_width, u32 *screen_height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:433,1
    - Dst: strcat
      Src: /src/gpac/modules/sdl_out/video.c:440,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:442,1
    - Dst: gf_file_load_data
      Src: /src/gpac/modules/sdl_out/video.c:441,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/modules/sdl_out/video.c:437,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/modules/sdl_out/video.c:445,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/modules/sdl_out/video.c:446,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/video.c:447,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/modules/sdl_out/video.c:448,1
    - Dst: SDL_CreateRGBSurfaceFrom
      Src: /src/gpac/modules/sdl_out/video.c:450,1
    - Dst: SDL_GetError
      Src: /src/gpac/modules/sdl_out/video.c:452,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:458,1
    - Dst: SDL_SetWindowIcon
      Src: /src/gpac/modules/sdl_out/video.c:454,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/video.c:452,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:455,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:457,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SDLVidCtx*
    constantsTouched: []
    func_position:
      end: 460
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 460
    functionName: SDLVid_SetIcon
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - SDL_GetError
    - strcat
    - gf_file_load_data
    - gf_img_png_dec
    - SDL_CreateRGBSurfaceFrom
    - SDL_FreeSurface
    - gf_pixel_get_bytes_per_pixel
    - SDL_SetWindowIcon
    - GF_LOG
    - SDL_VERSION_ATLEAST
    - gf_opts_default_shared_directory
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SDLVid_SetIcon(SDLVidCtx *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:692,1
    - Dst: SDL_SetCursor
      Src: /src/gpac/modules/sdl_out/video.c:699,1
    - Dst: SDL_SetCursor
      Src: /src/gpac/modules/sdl_out/video.c:702,1
    - Dst: SDL_SetCursor
      Src: /src/gpac/modules/sdl_out/video.c:705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - dr
    - cursor_type
    argTypes:
    - GF_VideoOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 709
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 709
    functionName: SDLVid_SetCursor
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDLVID
    - SDL_SetCursor
    linkageType: ''
    returnType: void
    signature: 'static void SDLVid_SetCursor(GF_VideoOutput *dr, u32 cursor_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1424,1
    - Dst: strcmp
      Src: /src/gpac/modules/sdl_out/video.c:1435,1
    - Dst: strcmp
      Src: /src/gpac/modules/sdl_out/video.c:1437,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/sdl_out/video.c:1433,1
    - Dst: SDL_DestroyTexture
      Src: /src/gpac/modules/sdl_out/video.c:1446,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:1447,1
    - Dst: SDL_CreateTexture
      Src: /src/gpac/modules/sdl_out/video.c:1449,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/video.c:1450,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1425,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/video.c:1443,1
    - Dst: SDL_SetRenderDrawColor
      Src: /src/gpac/modules/sdl_out/video.c:1453,1
    - Dst: SDL_FreeSurface
      Src: /src/gpac/modules/sdl_out/video.c:1466,1
    - Dst: SDL_MapRGB
      Src: /src/gpac/modules/sdl_out/video.c:1459,1
    - Dst: SDL_Flip
      Src: /src/gpac/modules/sdl_out/video.c:1461,1
    - Dst: SDL_CreateRGBSurface
      Src: /src/gpac/modules/sdl_out/video.c:1468,1
    - Dst: SDL_RenderPresent
      Src: /src/gpac/modules/sdl_out/video.c:1455,1
    - Dst: SDL_FillRect
      Src: /src/gpac/modules/sdl_out/video.c:1460,1
    - Dst: SDL_RenderClear
      Src: /src/gpac/modules/sdl_out/video.c:1454,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - dr
    - newWidth
    - newHeight
    - system_mem
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1476
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1476
    functionName: SDLVid_SetBackbufferSize
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - SDL_Flip
    - SDL_FreeSurface
    - SDL_CreateTexture
    - SDL_FillRect
    - strcmp
    - SDL_CreateRGBSurface
    - gf_module_get_key
    - SDLVID
    - SDL_MapRGB
    - SDL_RenderPresent
    - SDL_VERSION_ATLEAST
    - SDL_SetRenderDrawColor
    - SDL_RenderClear
    - SDL_DestroyTexture
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SDLVid_SetBackbufferSize(GF_VideoOutput *dr, u32 newWidth,
      u32 newHeight, Bool system_mem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1528,1
    - Dst: SDL_LockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1533,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/video.c:1534,1
    - Dst: SDL_UnlockSurface
      Src: /src/gpac/modules/sdl_out/video.c:1543,1
    - Dst: SDLVid_MapPixelFormat
      Src: /src/gpac/modules/sdl_out/video.c:1540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - dr
    - video_info
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1546
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1546
    functionName: SDLVid_LockBackBuffer
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - memset
    - SDLVid_MapPixelFormat
    - SDL_LockSurface
    - SDLVID
    - SDL_UnlockSurface
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLVid_LockBackBuffer(GF_VideoOutput *dr, GF_VideoSurface
      *video_info, Bool do_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:2245,1
    - Dst: gf_mx_del
      Src: /src/gpac/modules/sdl_out/video.c:2249,1
    - Dst: gf_th_del
      Src: /src/gpac/modules/sdl_out/video.c:2247,1
    - Dst: gf_list_del_item
      Src: /src/gpac/modules/sdl_out/video.c:2251,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/sdl_out/video.c:2252,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/sdl_out/video.c:2254,1
    - Dst: SDL_QuitSubSystem
      Src: /src/gpac/modules/sdl_out/video.c:2257,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:2259,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/video.c:2260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2261
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2261
    functionName: SDL_DeleteVideo
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_free
    - SDLVID
    - gf_mx_del
    - SDL_QuitSubSystem
    - gf_list_del_item
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'void SDL_DeleteVideo(void *ifce) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SDLVID
      Src: /src/gpac/modules/sdl_out/video.c:1174,1
    - Dst: gf_mx_p
      Src: /src/gpac/modules/sdl_out/video.c:1189,1
    - Dst: gf_mx_v
      Src: /src/gpac/modules/sdl_out/video.c:1195,1
    - Dst: SDLVid_ProcessMessageQueue
      Src: /src/gpac/modules/sdl_out/video.c:1192,1
    - Dst: SDLVid_InitializeWindow
      Src: /src/gpac/modules/sdl_out/video.c:1176,1
    - Dst: SDL_GetTicks
      Src: /src/gpac/modules/sdl_out/video.c:1200,1
    - Dst: SDL_ShowCursor
      Src: /src/gpac/modules/sdl_out/video.c:1201,1
    - Dst: SDL_ShowCursor
      Src: /src/gpac/modules/sdl_out/video.c:1204,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/sdl_out/video.c:1215,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/sdl_out/video.c:1219,1
    - Dst: SDLVid_ShutdownWindow
      Src: /src/gpac/modules/sdl_out/video.c:1221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1225
    functionName: SDLVid_EventProc
    functionSourceFile: /src/gpac/modules/sdl_out/video.c
    functionUses: []
    functionsReached:
    - SDL_GetTicks
    - SDLVid_ProcessMessageQueue
    - SDL_ShowCursor
    - gf_mx_p
    - SDLVID
    - SDLVid_InitializeWindow
    - SDLVid_ShutdownWindow
    - gf_mx_v
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'u32 SDLVid_EventProc(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDL_CloseAudio
      Src: /src/gpac/modules/sdl_out/audio.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: sdl_close_audio
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDL_CloseAudio
    linkageType: ''
    returnType: void
    signature: 'static void sdl_close_audio() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:37,1
    - Dst: SDL_MixAudio
      Src: /src/gpac/modules/sdl_out/audio.c:47,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/audio.c:44,1
    - Dst: gf_realloc
      Src: /src/gpac/modules/sdl_out/audio.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - udata
    - stream
    - len
    argTypes:
    - void*
    - Uint8*
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: sdl_fill_audio
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - SDL_MixAudio
    - SDLAUD
    - memset
    linkageType: ''
    returnType: void
    signature: 'void sdl_fill_audio(void *udata, Uint8 *stream, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:95,1
    - Dst: SDL_QuitSubSystem
      Src: /src/gpac/modules/sdl_out/audio.c:98,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/audio.c:99,1
    - Dst: sdl_close_audio
      Src: /src/gpac/modules/sdl_out/audio.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: SDLAud_Shutdown
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDL_QuitSubSystem
    - SDLAUD
    - sdl_close_audio
    - SDLOUT_CloseSDL
    linkageType: ''
    returnType: void
    signature: 'static void SDLAud_Shutdown(GF_AudioOutput *dr) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:125,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/audio.c:130,1
    - Dst: SDL_OpenAudio
      Src: /src/gpac/modules/sdl_out/audio.c:171,1
    - Dst: sdl_close_audio
      Src: /src/gpac/modules/sdl_out/audio.c:127,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/audio.c:195,1
    - Dst: SDL_PauseAudio
      Src: /src/gpac/modules/sdl_out/audio.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/audio.c:200,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/audio.c:141,1
    - Dst: SDL_VERSION_ATLEAST
      Src: /src/gpac/modules/sdl_out/audio.c:186,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 202
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 202
    functionName: SDLAud_Configure
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDL_OpenAudio
    - SDLAUD
    - memset
    - sdl_close_audio
    - GF_LOG
    - SDL_PauseAudio
    - SDL_VERSION_ATLEAST
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLAud_Configure(GF_AudioOutput *dr, u32 *SampleRate,
      u32 *NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: SDLAud_GetTotalBufferTime
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDLAUD
    linkageType: ''
    returnType: u32
    signature: 'static u32 SDLAud_GetTotalBufferTime(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: SDLAud_SetPan
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void SDLAud_SetPan(GF_AudioOutput *dr, u32 pan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - priority
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: SDLAud_SetPriority
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void SDLAud_SetPriority(GF_AudioOutput *dr, u32 priority) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/audio.c:114,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/audio.c:118,1
    - Dst: gf_free
      Src: /src/gpac/modules/sdl_out/audio.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: SDL_DeleteAudio
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SDL_DeleteAudio(void *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:57,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/audio.c:65,1
    - Dst: SDLOUT_InitSDL
      Src: /src/gpac/modules/sdl_out/audio.c:60,1
    - Dst: SDL_WasInit
      Src: /src/gpac/modules/sdl_out/audio.c:62,1
    - Dst: SDL_InitSubSystem
      Src: /src/gpac/modules/sdl_out/audio.c:64,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/audio.c:66,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/audio.c:71,1
    - Dst: SDL_OpenAudio
      Src: /src/gpac/modules/sdl_out/audio.c:78,1
    - Dst: sdl_close_audio
      Src: /src/gpac/modules/sdl_out/audio.c:79,1
    - Dst: SDL_QuitSubSystem
      Src: /src/gpac/modules/sdl_out/audio.c:80,1
    - Dst: sdl_close_audio
      Src: /src/gpac/modules/sdl_out/audio.c:85,1
    - Dst: SDLOUT_CloseSDL
      Src: /src/gpac/modules/sdl_out/audio.c:81,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/audio.c:89,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/sdl_out/audio.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 91
    functionName: SDLAud_Setup
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDL_OpenAudio
    - SDLAUD
    - memset
    - sdl_close_audio
    - SDLOUT_CloseSDL
    - SDLOUT_InitSDL
    - GF_LOG
    - SDL_InitSubSystem
    - SDL_WasInit
    - SDL_QuitSubSystem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLAud_Setup(GF_AudioOutput *dr, void *os_handle, u32
      num_buffers, u32 total_duration) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: SDLAud_GetAudioDelay
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDLAUD
    linkageType: ''
    returnType: u32
    signature: 'static u32 SDLAud_GetAudioDelay(GF_AudioOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDLAUD
      Src: /src/gpac/modules/sdl_out/audio.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: SDLAud_SetVolume
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDLAUD
    linkageType: ''
    returnType: void
    signature: 'static void SDLAud_SetVolume(GF_AudioOutput *dr, u32 Volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDL_PauseAudio
      Src: /src/gpac/modules/sdl_out/audio.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dr
    - PlayType
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: SDLAud_Play
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - SDL_PauseAudio
    linkageType: ''
    returnType: void
    signature: 'static void SDLAud_Play(GF_AudioOutput *dr, u32 PlayType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - dr
    - desired_samplerate
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: SDLAud_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDLAud_QueryOutputSampleRate(GF_AudioOutput *dr, u32
      *desired_samplerate, u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/audio.c:252,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/audio.c:253,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/sdl_out/audio.c:257,1
    - Dst: memset
      Src: /src/gpac/modules/sdl_out/audio.c:256,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/sdl_out/audio.c:255,1
    - Dst: gpac_force_step_mode
      Src: /src/gpac/modules/sdl_out/audio.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 284
    functionName: SDL_NewAudio
    functionSourceFile: /src/gpac/modules/sdl_out/audio.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gpac_force_step_mode
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *SDL_NewAudio() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/modules/test_filter/test_filter.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: testfilter_initialize
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err testfilter_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - filter
    - fevt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: testfilter_process_event
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool testfilter_process_event(GF_Filter *filter, const GF_FilterEvent
      *fevt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/modules/test_filter/test_filter.c:40,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/modules/test_filter/test_filter.c:42,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/modules/test_filter/test_filter.c:47,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/modules/test_filter/test_filter.c:46,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/modules/test_filter/test_filter.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: testfilter_configure_pid
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - gf_filter_pid_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err testfilter_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/modules/test_filter/test_filter.c:62,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/modules/test_filter/test_filter.c:66,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/modules/test_filter/test_filter.c:64,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/modules/test_filter/test_filter.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: testfilter_process
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    - gf_filter_pid_get_packet
    - gf_filter_get_ipid
    - gf_filter_get_ipid_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err testfilter_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/modules/test_filter/test_filter.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: testfilter_finalize
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: void
    signature: 'static void testfilter_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: RegisterFilter
    functionSourceFile: /src/gpac/modules/test_filter/test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_FilterRegister *RegisterFilter(GF_FilterSession
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_DRAWING_FLAGS
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - x
    - y
    - length
    - r
    - g
    - b
    argTypes:
    - DirectFBVidCtx*
    - u32
    - u32
    - u32
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: DirectFBVid_DrawHLineWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - SET_DRAWING_FLAGS
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_DrawHLineWrapper(DirectFBVidCtx *ctx, u32 x, u32
      y, u32 length, u8 r, u8 g, u8 b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - gpacpf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 578
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 578
    functionName: DirectFBVid_TranslatePixelFormatFromGPAC
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_TranslatePixelFormatFromGPAC(u32 gpacpf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: DirectFBVid_ShutdownWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_ShutdownWrapper(DirectFBVidCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - dfbpf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: DirectFBVid_TranslatePixelFormatToGPAC
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_TranslatePixelFormatToGPAC(u32 dfbpf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_DRAWING_FLAGS
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 9
    argNames:
    - ctx
    - x
    - y
    - width
    - height
    - r
    - g
    - b
    - a
    argTypes:
    - DirectFBVidCtx*
    - u32
    - u32
    - u32
    - u32
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: DirectFBVid_DrawRectangleWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - SET_DRAWING_FLAGS
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_DrawRectangleWrapper(DirectFBVidCtx *ctx, u32 x,
      u32 y, u32 width, u32 height, u8 r, u8 g, u8 b, u8 a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: DirectFBVid_CtxPrimaryUnlock
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_CtxPrimaryUnlock(DirectFBVidCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: DirectFBVid_CtxGetHeight
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_CtxGetHeight(DirectFBVidCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - DirectFBVidCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: DirectFBVid_CtxSetIsInit
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_CtxSetIsInit(DirectFBVidCtx *ctx, Bool val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: DirectFBVid_GetCtxSizeOf
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t DirectFBVid_GetCtxSizeOf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_DRAWING_FLAGS
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - ctx
    - x
    - y
    - length
    - r
    - g
    - b
    - alpha
    argTypes:
    - DirectFBVidCtx*
    - u32
    - u32
    - u32
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: DirectFBVid_DrawHLineAlphaWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - SET_DRAWING_FLAGS
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_DrawHLineAlphaWrapper(DirectFBVidCtx *ctx, u32 x,
      u32 y, u32 length, u8 r, u8 g, u8 b, u8 alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - device_id
    - desc
    - data
    argTypes:
    - DFBInputDeviceID
    - DFBInputDeviceDescription
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: enum_input_device
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: DFBEnumerationResult
    signature: 'static DFBEnumerationResult enum_input_device(DFBInputDeviceID device_id,
      DFBInputDeviceDescription desc, void *data ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:226,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:236,1
    - Dst: DirectFBSetOption
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:231,1
    - Dst: strlwr
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:215,1
    - Dst: snprintf
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:213,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:223,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:246,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:249,1
    - Dst: DirectFBCreate
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:236,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:233,1
    - Dst: DirectFBVid_TranslatePixelFormatToGPAC
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:265,1
    - Dst: malloc
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:208,1
    - Dst: strdup
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:211,1
    - Dst: strdup
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:216,1
    - Dst: DirectFBInit
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:223,1
    - Dst: free
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:227,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:231,1
    - Dst: DirectFBSetOption
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:233,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:242,1
    - Dst: DFBCHECK
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - dfb_system
    argTypes:
    - DirectFBVidCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 269
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 269
    functionName: DirectFBVid_InitAndCreateSurface
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - snprintf
    - DFBCHECK
    - strdup
    - DirectFBCreate
    - DirectFBInit
    - DirectFBSetOption
    - malloc
    - strlwr
    - free
    - DirectFBVid_TranslatePixelFormatToGPAC
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_InitAndCreateSurface(DirectFBVidCtx *ctx, char *dfb_system) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: DirectFBVid_CtxGetWidth
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_CtxGetWidth(DirectFBVidCtx *ctx) '
  - BBCount: 87
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 100
    argCount: 3
    argNames:
    - DirectFBkey
    - flags
    - key_code
    argTypes:
    - DFBInputDeviceKeyIdentifier
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 880
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 880
    functionName: directfb_translate_key
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void directfb_translate_key(DFBInputDeviceKeyIdentifier DirectFBkey,
      u32 *flags, u32 *key_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: DirectFBVid_CtxGetPrimary
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *DirectFBVid_CtxGetPrimary(DirectFBVidCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: DirectFBVid_CtxIsHwMemory
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool DirectFBVid_CtxIsHwMemory(DirectFBVidCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:425,1
    - Dst: DirectFBVid_TranslatePixelFormatFromGPAC
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:430,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 15
    argNames:
    - ctx
    - video_src_width
    - video_src_height
    - video_src_pixel_format
    - video_src_buffer
    - video_src_pitch_y
    - src_wnd_x
    - src_wnd_y
    - src_wnd_w
    - src_wnd_h
    - dst_wnd_x
    - dst_wnd_y
    - dst_wnd_w
    - dst_wnd_h
    - overlay_type
    argTypes:
    - DirectFBVidCtx*
    - u32
    - u32
    - u32
    - char*
    - s32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 472
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 472
    functionName: DirectFBVid_BlitWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - DirectFBVid_TranslatePixelFormatFromGPAC
    - memset
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_BlitWrapper(DirectFBVidCtx *ctx, u32 video_src_width,
      u32 video_src_height, u32 video_src_pixel_format, char *video_src_buffer, s32
      video_src_pitch_y, u32 src_wnd_x, u32 src_wnd_y, u32 src_wnd_w, u32 src_wnd_h,
      u32 dst_wnd_x, u32 dst_wnd_y, u32 dst_wnd_w, u32 dst_wnd_h, u32 overlay_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - buf
    - pitch
    argTypes:
    - DirectFBVidCtx*
    - void**
    - u32*
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: DirectFBVid_CtxPrimaryLock
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_CtxPrimaryLock(DirectFBVidCtx *ctx, void **buf, u32
      *pitch) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - flip_mode
    argTypes:
    - DirectFBVidCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: DirectFBVid_CtxSetFlipMode
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_CtxSetFlipMode(DirectFBVidCtx *ctx, u32 flip_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: DirectFBVid_CtxPrimaryProcessGetAccelerationMask
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DirectFBVid_CtxPrimaryProcessGetAccelerationMask(DirectFBVidCtx
      *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DFB_EVENT
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:485,1
    - Dst: directfb_translate_key
      Src: /src/gpac/modules/directfb_out/directfb_wrapper.c:490,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - type
    - flags
    - key_code
    - x
    - y
    - button
    argTypes:
    - DirectFBVidCtx*
    - u8*
    - u32*
    - u32*
    - s32*
    - s32*
    - u32*
    constantsTouched: []
    func_position:
      end: 522
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 522
    functionName: DirectFBVid_ProcessMessageQueueWrapper
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached:
    - DFB_EVENT
    - directfb_translate_key
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_ProcessMessageQueueWrapper(DirectFBVidCtx *ctx, u8
      *type, u32 *flags, u32 *key_code, s32 *x, s32 *y, u32 *button) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: DirectFBVid_CtxGetPixelFormat
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_CtxGetPixelFormat(DirectFBVidCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DirectFBVidCtx*
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: DirectFBVid_CtxPrimaryFlip
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 DirectFBVid_CtxPrimaryFlip(DirectFBVidCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:42,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:46,1
    - Dst: DirectFBVid_InitAndCreateSurface
      Src: /src/gpac/modules/directfb_out/directfb_out.c:49,1
    - Dst: DirectFBVid_CtxSetIsInit
      Src: /src/gpac/modules/directfb_out/directfb_out.c:43,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/directfb_out/directfb_out.c:48,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/directfb_out/directfb_out.c:53,1
    - Dst: strcmp
      Src: /src/gpac/modules/directfb_out/directfb_out.c:54,1
    - Dst: strcmp
      Src: /src/gpac/modules/directfb_out/directfb_out.c:55,1
    - Dst: strcmp
      Src: /src/gpac/modules/directfb_out/directfb_out.c:56,1
    - Dst: strcmp
      Src: /src/gpac/modules/directfb_out/directfb_out.c:57,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:63,1
    - Dst: DirectFBVid_CtxSetIsInit
      Src: /src/gpac/modules/directfb_out/directfb_out.c:62,1
    - Dst: DirectFBVid_CtxSetFlipMode
      Src: /src/gpac/modules/directfb_out/directfb_out.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - driv
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - GF_VideoOutput*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: DirectFBVid_Setup
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVID
    - DirectFBVid_CtxSetIsInit
    - GF_LOG
    - strcmp
    - DirectFBVid_InitAndCreateSurface
    - gf_module_get_key
    - DirectFBVid_CtxSetFlipMode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DirectFBVid_Setup(GF_VideoOutput *driv, void *os_handle, void
      *os_display, u32 init_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:91,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:92,1
    - Dst: DirectFBVid_CtxPrimaryFlip
      Src: /src/gpac/modules/directfb_out/directfb_out.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - driv
    - dest
    argTypes:
    - GF_VideoOutput*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: DirectFBVid_Flush
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVid_CtxPrimaryFlip
    - GF_LOG
    - DirectFBVID
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectFBVid_Flush(GF_VideoOutput *driv, GF_Window *dest) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:136,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:145,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:148,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:145,1
    - Dst: DirectFBVid_ProcessMessageQueue
      Src: /src/gpac/modules/directfb_out/directfb_out.c:139,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:149,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:157,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:157,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:160,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - driv
    - evt
    argTypes:
    - GF_VideoOutput*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: DirectFBVid_ProcessEvent
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVid_CtxGetWidth
    - DirectFBVid_CtxGetHeight
    - DirectFBVid_ProcessMessageQueue
    - DirectFBVID
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectFBVid_ProcessEvent(GF_VideoOutput *driv, GF_Event
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:217,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/modules/directfb_out/directfb_out.c:221,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:221,1
    - Dst: DirectFBVid_BlitWrapper
      Src: /src/gpac/modules/directfb_out/directfb_out.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - driv
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: DirectFBVid_Blit
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - GF_LOG
    - DirectFBVID
    - DirectFBVid_BlitWrapper
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectFBVid_Blit(GF_VideoOutput *driv, GF_VideoSurface
      *video_src, GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBNewVideo
      Src: /src/gpac/modules/directfb_out/directfb_out.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBNewVideo
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:103,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:105,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - driv
    - bFullScreenOn
    - screen_width
    - screen_height
    argTypes:
    - GF_VideoOutput*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: DirectFBVid_SetFullScreen
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVid_CtxGetWidth
    - DirectFBVid_CtxGetHeight
    - DirectFBVID
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DirectFBVid_SetFullScreen(GF_VideoOutput *driv, u32 bFullScreenOn,
      u32 *screen_width, u32 *screen_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:77,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:80,1
    - Dst: DirectFBVid_ShutdownWrapper
      Src: /src/gpac/modules/directfb_out/directfb_out.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - driv
    argTypes:
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: DirectFBVid_Shutdown
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - DirectFBVid_ShutdownWrapper
    - DirectFBVID
    linkageType: ''
    returnType: void
    signature: 'static void DirectFBVid_Shutdown(GF_VideoOutput *driv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/directfb_out/directfb_out.c:119,1
    - Dst: DirectFBVid_ProcessMessageQueueWrapper
      Src: /src/gpac/modules/directfb_out/directfb_out.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - driv
    argTypes:
    - DirectFBVidCtx*
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: DirectFBVid_ProcessMessageQueue
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - memset
    - DirectFBVid_ProcessMessageQueueWrapper
    linkageType: ''
    returnType: Bool
    signature: 'Bool DirectFBVid_ProcessMessageQueue(DirectFBVidCtx *ctx, GF_VideoOutput
      *driv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:180,1
    - Dst: DirectFBVid_CtxGetPrimary
      Src: /src/gpac/modules/directfb_out/directfb_out.c:181,1
    - Dst: DirectFBVid_CtxGetWidth
      Src: /src/gpac/modules/directfb_out/directfb_out.c:191,1
    - Dst: DirectFBVid_CtxPrimaryLock
      Src: /src/gpac/modules/directfb_out/directfb_out.c:186,1
    - Dst: memset
      Src: /src/gpac/modules/directfb_out/directfb_out.c:190,1
    - Dst: DirectFBVid_CtxGetHeight
      Src: /src/gpac/modules/directfb_out/directfb_out.c:192,1
    - Dst: DirectFBVid_CtxGetPixelFormat
      Src: /src/gpac/modules/directfb_out/directfb_out.c:196,1
    - Dst: DirectFBVid_CtxIsHwMemory
      Src: /src/gpac/modules/directfb_out/directfb_out.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:199,1
    - Dst: DirectFBVid_CtxPrimaryUnlock
      Src: /src/gpac/modules/directfb_out/directfb_out.c:202,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/directfb_out/directfb_out.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - driv
    - video_info
    - do_lock
    argTypes:
    - GF_VideoOutput*
    - GF_VideoSurface*
    - u32
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: DirectFBVid_LockBackBuffer
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVid_CtxGetPixelFormat
    - memset
    - DirectFBVID
    - GF_LOG
    - DirectFBVid_CtxPrimaryUnlock
    - DirectFBVid_CtxGetHeight
    - DirectFBVid_CtxPrimaryLock
    - DirectFBVid_CtxIsHwMemory
    - DirectFBVid_CtxGetWidth
    - DirectFBVid_CtxGetPrimary
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectFBVid_LockBackBuffer(GF_VideoOutput *driv, GF_VideoSurface
      *video_info, u32 do_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/directfb_out/directfb_out.c:250,1
    - Dst: DirectFBVid_GetCtxSizeOf
      Src: /src/gpac/modules/directfb_out/directfb_out.c:254,1
    - Dst: memset
      Src: /src/gpac/modules/directfb_out/directfb_out.c:251,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/directfb_out/directfb_out.c:254,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/directfb_out/directfb_out.c:252,1
    - Dst: memset
      Src: /src/gpac/modules/directfb_out/directfb_out.c:255,1
    - Dst: DirectFBVid_GetCtxSizeOf
      Src: /src/gpac/modules/directfb_out/directfb_out.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: DirectFBNewVideo
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    - DirectFBVid_GetCtxSizeOf
    linkageType: ''
    returnType: void*
    signature: 'void *DirectFBNewVideo() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBVID
      Src: /src/gpac/modules/directfb_out/directfb_out.c:281,1
    - Dst: gf_free
      Src: /src/gpac/modules/directfb_out/directfb_out.c:283,1
    - Dst: gf_free
      Src: /src/gpac/modules/directfb_out/directfb_out.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: DirectFBDeleteVideo
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBVID
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DirectFBDeleteVideo(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectFBDeleteVideo
      Src: /src/gpac/modules/directfb_out/directfb_out.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/directfb_out/directfb_out.c
    functionUses: []
    functionsReached:
    - DirectFBDeleteVideo
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: WAV_Setup
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - WAVCTX
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WAV_Setup(GF_AudioOutput *dr, void *os_handle, u32 num_buffers,
      u32 total_duration) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: WAV_SetVolume
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void WAV_SetVolume(GF_AudioOutput *dr, u32 Volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewWAVRender
      Src: /src/gpac/modules/wav_out/wav_out.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - NewWAVRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:132,1
    - Dst: SetEvent
      Src: /src/gpac/modules/wav_out/wav_out.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - hwo
    - uMsg
    - dwInstance
    - dwParam1
    - dwParam2
    argTypes:
    - HWAVEOUT
    - UINT
    - DWORD_PTR
    - DWORD_PTR
    - DWORD_PTR
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: WaveProc
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - WAVCTX
    - SetEvent
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK WaveProc(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance,
      DWORD_PTR dwParam1, DWORD_PTR dwParam2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:387,1
    - Dst: set_vol_pan
      Src: /src/gpac/modules/wav_out/wav_out.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: WAV_SetPan
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - set_vol_pan
    - WAVCTX
    linkageType: ''
    returnType: void
    signature: 'static void WAV_SetPan(GF_AudioOutput *dr, u32 Pan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: WAV_SetPan
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void WAV_SetPan(GF_AudioOutput *dr, u32 Pan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteWAVRender
      Src: /src/gpac/modules/wav_out/wav_out.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - DeleteWAVRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:207,1
    - Dst: close_waveform
      Src: /src/gpac/modules/wav_out/wav_out.c:212,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:243,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/modules/wav_out/wav_out.c:235,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:231,1
    - Dst: waveOutOpen
      Src: /src/gpac/modules/wav_out/wav_out.c:266,1
    - Dst: CreateEvent
      Src: /src/gpac/modules/wav_out/wav_out.c:288,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/wav_out/wav_out.c:293,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:294,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:298,1
    - Dst: waveOutWrite
      Src: /src/gpac/modules/wav_out/wav_out.c:303,1
    - Dst: waveOutPrepareHeader
      Src: /src/gpac/modules/wav_out/wav_out.c:302,1
    - Dst: Sleep
      Src: /src/gpac/modules/wav_out/wav_out.c:304,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 310
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 310
    functionName: WAV_Configure
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - Sleep
    - waveOutPrepareHeader
    - memset
    - CreateEvent
    - waveOutOpen
    - waveOutWrite
    - WAVCTX
    - gf_audio_fmt_bit_depth
    - close_waveform
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WAV_Configure(GF_AudioOutput *dr, u32 *SampleRate, u32
      *NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/wav_out/wav_out.c:477,1
    - Dst: gf_free
      Src: /src/gpac/modules/wav_out/wav_out.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: DeleteWAVRender
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteWAVRender(void *ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:316,1
    - Dst: waveOutUnprepareHeader
      Src: /src/gpac/modules/wav_out/wav_out.c:329,1
    - Dst: waveOutPrepareHeader
      Src: /src/gpac/modules/wav_out/wav_out.c:337,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/modules/wav_out/wav_out.c:320,1
    - Dst: waveOutWrite
      Src: /src/gpac/modules/wav_out/wav_out.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 342
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: WAV_WriteAudio
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - waveOutPrepareHeader
    - WaitForSingleObject
    - waveOutWrite
    - waveOutUnprepareHeader
    - WAVCTX
    linkageType: ''
    returnType: void
    signature: 'static void WAV_WriteAudio(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKELONG
      Src: /src/gpac/modules/wav_out/wav_out.c:374,1
    - Dst: waveOutSetVolume
      Src: /src/gpac/modules/wav_out/wav_out.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - WAVContext*
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: set_vol_pan
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - MAKELONG
    - waveOutSetVolume
    linkageType: ''
    returnType: void
    signature: 'static void set_vol_pan(WAVContext *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 6
    argCount: 4
    argNames:
    - dr
    - desired_samplerate
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 429
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 429
    functionName: WAV_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WAV_QueryOutputSampleRate(GF_AudioOutput *dr, u32 *desired_samplerate,
      u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: WAV_GetTotalBufferTime
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - WAVCTX
    linkageType: ''
    returnType: u32
    signature: 'static u32 WAV_GetTotalBufferTime(GF_AudioOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:379,1
    - Dst: set_vol_pan
      Src: /src/gpac/modules/wav_out/wav_out.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: WAV_SetVolume
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - set_vol_pan
    - WAVCTX
    linkageType: ''
    returnType: void
    signature: 'static void WAV_SetVolume(GF_AudioOutput *dr, u32 Volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: WAV_GetAudioDelay
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - WAVCTX
    linkageType: ''
    returnType: u32
    signature: 'static u32 WAV_GetAudioDelay(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/wav_out/wav_out.c:447,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/wav_out/wav_out.c:454,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:453,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/wav_out/wav_out.c:452,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 471
    functionName: NewWAVRender
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *NewWAVRender() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:142,1
    - Dst: SetEvent
      Src: /src/gpac/modules/wav_out/wav_out.c:149,1
    - Dst: gf_free
      Src: /src/gpac/modules/wav_out/wav_out.c:152,1
    - Dst: waveOutClose
      Src: /src/gpac/modules/wav_out/wav_out.c:151,1
    - Dst: waveOutReset
      Src: /src/gpac/modules/wav_out/wav_out.c:150,1
    - Dst: CloseHandle
      Src: /src/gpac/modules/wav_out/wav_out.c:154,1
    - Dst: SetEvent
      Src: /src/gpac/modules/wav_out/wav_out.c:159,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/wav_out/wav_out.c:174,1
    - Dst: waveOutClose
      Src: /src/gpac/modules/wav_out/wav_out.c:178,1
    - Dst: gf_free
      Src: /src/gpac/modules/wav_out/wav_out.c:183,1
    - Dst: CloseHandle
      Src: /src/gpac/modules/wav_out/wav_out.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 189
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 189
    functionName: close_waveform
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - waveOutClose
    - CloseHandle
    - SetEvent
    - WAVCTX
    - waveOutReset
    - gf_free
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void close_waveform(GF_AudioOutput *dr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WAVCTX
      Src: /src/gpac/modules/wav_out/wav_out.c:348,1
    - Dst: waveOutPause
      Src: /src/gpac/modules/wav_out/wav_out.c:352,1
    - Dst: memset
      Src: /src/gpac/modules/wav_out/wav_out.c:357,1
    - Dst: waveOutRestart
      Src: /src/gpac/modules/wav_out/wav_out.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - dr
    - PlayType
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: WAV_Play
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - WAVCTX
    - waveOutPause
    - memset
    - waveOutRestart
    linkageType: ''
    returnType: void
    signature: 'static void WAV_Play(GF_AudioOutput *dr, u32 PlayType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close_waveform
      Src: /src/gpac/modules/wav_out/wav_out.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: WAV_Shutdown
    functionSourceFile: /src/gpac/modules/wav_out/wav_out.c
    functionUses: []
    functionsReached:
    - close_waveform
    linkageType: ''
    returnType: void
    signature: 'static void WAV_Shutdown(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: dtout_config_dummy
    functionSourceFile: /src/gpac/modules/dektec_out/dektec_video_decl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dtout_config_dummy(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/modules/dektec_out/dektec_video_decl.c:67,1
    - Dst: dtout_process_dummy
      Src: /src/gpac/modules/dektec_out/dektec_video_decl.c:117,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/modules/dektec_out/dektec_video_decl.c:71,1
    - Dst: dtout_config_dummy
      Src: /src/gpac/modules/dektec_out/dektec_video_decl.c:116,1
    - Dst: memset
      Src: /src/gpac/modules/dektec_out/dektec_video_decl.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 122
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 122
    functionName: dtout_register
    functionSourceFile: /src/gpac/modules/dektec_out/dektec_video_decl.c
    functionUses: []
    functionsReached:
    - dtout_config_dummy
    - gf_opts_get_bool
    - memset
    - dtout_process_dummy
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *dtout_register(GF_FilterSession *session)
      #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: dtout_process_dummy
    functionSourceFile: /src/gpac/modules/dektec_out/dektec_video_decl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dtout_process_dummy(GF_Filter *filter) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:342,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:360,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:370,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:361,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:382,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:417,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/modules/ft_font/ft_font.c:438,1
    - Dst: strcmp
      Src: /src/gpac/modules/ft_font/ft_font.c:343,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:350,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:363,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:367,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:383,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/ft_font/ft_font.c:395,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:409,1
    - Dst: strcmp
      Src: /src/gpac/modules/ft_font/ft_font.c:431,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:438,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:435,1
    - Dst: FT_Init_FreeType
      Src: /src/gpac/modules/ft_font/ft_font.c:334,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:335,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/modules/ft_font/ft_font.c:339,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:348,1
    - Dst: strchr
      Src: /src/gpac/modules/ft_font/ft_font.c:356,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:387,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:392,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:395,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:395,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:420,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:359,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:360,1
    - Dst: ft_rescan_fonts
      Src: /src/gpac/modules/ft_font/ft_font.c:379,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/ft_font/ft_font.c:370,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:388,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:393,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:405,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:407,1
    - Dst: gf_get_default_font_dir
      Src: /src/gpac/modules/ft_font/ft_font.c:429,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:437,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:434,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 109
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_FontReader*
    constantsTouched: []
    func_position:
      end: 444
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 444
    functionName: ft_init_font_engine
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - strcat
    - FT_Init_FreeType
    - gf_strdup
    - GF_LOG
    - gf_opts_get_key_count
    - strcmp
    - gf_list_count
    - gf_get_default_font_dir
    - gf_opts_set_key
    - strchr
    - strcpy
    - ft_rescan_fonts
    - gf_list_pop_back
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ft_init_font_engine(GF_FontReader *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 870
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:452,1
    - Dst: FT_Done_FreeType
      Src: /src/gpac/modules/ft_font/ft_font.c:458,1
    - Dst: FT_Done_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:454,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/modules/ft_font/ft_font.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_FontReader*
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: ft_shutdown_font_engine
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - FT_Done_Face
    - gf_list_count
    - FT_Done_FreeType
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ft_shutdown_font_engine(GF_FontReader *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/modules/ft_font/ft_font.c:708,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:708,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FTCST*
    - void*
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: ft_move_to
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - gf_path_add_move_to
    linkageType: ''
    returnType: int
    signature: 'static int ft_move_to(FTCST FT_Vector *to, void *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_load
      Src: /src/gpac/modules/ft_font/ft_font.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 877
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 877
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - ft_load
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:217,1
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/ft_font/ft_font.c:218,1
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/ft_font/ft_font.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - cbck
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: ft_enum_fonts_dir
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_enum_directory
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ft_enum_fonts_dir(void *cbck, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:469,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:475,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:474,1
    - Dst: strupr
      Src: /src/gpac/modules/ft_font/ft_font.c:473,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:472,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:476,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:481,1
    - Dst: strupr
      Src: /src/gpac/modules/ft_font/ft_font.c:482,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:483,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:484,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:485,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - font
    - fontName
    - styles
    argTypes:
    - FT_Face
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 496
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 496
    functionName: ft_check_face
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - strstr
    - gf_free
    - stricmp
    - strupr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ft_check_face(FT_Face font, const char *fontName, u32
      styles) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:234,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:230,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:238,1
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/ft_font/ft_font.c:253,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:261,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:257,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/modules/ft_font/ft_font.c:265,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:275,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:277,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:289,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:298,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:308,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:301,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:318,1
    - Dst: isBestFontFor
      Src: /src/gpac/modules/ft_font/ft_font.c:296,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:297,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:303,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:312,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:230,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/modules/ft_font/ft_font.c:233,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/modules/ft_font/ft_font.c:232,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:271,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:274,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:282,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:292,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:288,1
    - Dst: strlwr
      Src: /src/gpac/modules/ft_font/ft_font.c:293,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:296,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:307,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:302,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:236,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:240,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:243,1
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:247,1
    - Dst: gf_dir_exists
      Src: /src/gpac/modules/ft_font/ft_font.c:251,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/modules/ft_font/ft_font.c:269,1
    - Dst: gf_list_get
      Src: /src/gpac/modules/ft_font/ft_font.c:249,1
    - Dst: gf_enum_directory
      Src: /src/gpac/modules/ft_font/ft_font.c:252,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:259,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:278,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:306,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:314,1
    - Dst: isBestFontFor
      Src: /src/gpac/modules/ft_font/ft_font.c:301,1
    - Dst: strchr
      Src: /src/gpac/modules/ft_font/ft_font.c:272,1
    - Dst: strchr
      Src: /src/gpac/modules/ft_font/ft_font.c:272,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:283,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:279,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:284,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:287,1
    - Dst: isBestFontFor
      Src: /src/gpac/modules/ft_font/ft_font.c:306,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:313,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:316,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:317,1
    - Dst: gf_opts_save
      Src: /src/gpac/modules/ft_font/ft_font.c:319,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:321,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:296,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 107
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_FontReader*
    constantsTouched: []
    func_position:
      end: 322
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 322
    functionName: ft_rescan_fonts
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_opts_del_section
    - GF_LOG
    - gf_opts_get_key_count
    - gf_enum_directory
    - strlwr
    - gf_opts_save
    - strstr
    - gf_list_count
    - gf_strdup
    - strcpy
    - isBestFontFor
    - gf_opts_get_key_name
    - gf_list_get
    - strchr
    - gf_free
    - gf_opts_get_key
    - strcat
    - gf_opts_set_key
    - gf_dir_exists
    linkageType: ''
    returnType: void
    signature: 'static void ft_rescan_fonts(GF_FontReader *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/modules/ft_font/ft_font.c:503,1
    - Dst: ft_check_face
      Src: /src/gpac/modules/ft_font/ft_font.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ft
    - fontName
    - styles
    argTypes:
    - FTBuilder*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: ft_font_in_cache
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - ft_check_face
    - gf_list_enum
    linkageType: ''
    returnType: FT_Face
    signature: 'static FT_Face ft_font_in_cache(FTBuilder *ft, const char *fontName,
      u32 styles) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/modules/ft_font/ft_font.c:543,1
    - Dst: strcmp
      Src: /src/gpac/modules/ft_font/ft_font.c:544,1
    - Dst: strcmp
      Src: /src/gpac/modules/ft_font/ft_font.c:545,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/ft_font/ft_font.c:561,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:555,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:568,1
    - Dst: FT_Done_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:598,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:524,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:527,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:532,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:527,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:537,1
    - Dst: ft_rescan_fonts
      Src: /src/gpac/modules/ft_font/ft_font.c:556,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:561,1
    - Dst: ft_set_font
      Src: /src/gpac/modules/ft_font/ft_font.c:557,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:579,1
    - Dst: FT_New_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:584,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:629,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:593,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:532,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:537,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:566,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:567,1
    - Dst: FT_New_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:602,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:623,1
    - Dst: gf_error_to_string
      Src: /src/gpac/modules/ft_font/ft_font.c:623,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:628,1
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:553,1
    - Dst: ft_font_in_cache
      Src: /src/gpac/modules/ft_font/ft_font.c:549,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/modules/ft_font/ft_font.c:570,1
    - Dst: ft_font_in_cache
      Src: /src/gpac/modules/ft_font/ft_font.c:577,1
    - Dst: ft_check_face
      Src: /src/gpac/modules/ft_font/ft_font.c:592,1
    - Dst: gf_list_add
      Src: /src/gpac/modules/ft_font/ft_font.c:594,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:625,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 122
    argCount: 3
    argNames:
    - dr
    - OrigFontName
    - styles
    argTypes:
    - GF_FontReader*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 631
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 631
    functionName: ft_set_font
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - ft_font_in_cache
    - strlen
    - gf_malloc
    - gf_list_add
    - strcat
    - FT_New_Face
    - gf_error_to_string
    - strcmp
    - GF_LOG
    - ft_set_font
    - gf_free
    - FT_Done_Face
    - gf_opts_set_key
    - strcpy
    - ft_check_face
    - stricmp
    - ft_rescan_fonts
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ft_set_font(GF_FontReader *dr, const char *OrigFontName,
      u32 styles) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:662,1
    - Dst: gf_utf8_reorder_bidi
      Src: /src/gpac/modules/ft_font/ft_font.c:677,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/modules/ft_font/ft_font.c:671,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 6
    argNames:
    - dr
    - utf_string
    - glyph_buffer
    - io_glyph_buffer_size
    - xml_lang
    - is_rtl
    argTypes:
    - GF_FontReader*
    - char*
    - u32*
    - u32*
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 684
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 684
    functionName: ft_get_glyphs
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_utf8_mbstowcs
    - strlen
    - gf_utf8_reorder_bidi
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ft_get_glyphs(GF_FontReader *dr, const char *utf_string,
      u32 *glyph_buffer, u32 *io_glyph_buffer_size, const char *xml_lang, Bool *is_rtl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:643,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 9
    argNames:
    - dr
    - font_name
    - em_size
    - ascent
    - descent
    - underline
    - line_spacing
    - max_advance_h
    - max_advance_v
    argTypes:
    - GF_FontReader*
    - char**
    - u32*
    - s32*
    - s32*
    - s32*
    - s32*
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: ft_get_font_info
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_strdup
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ft_get_font_info(GF_FontReader *dr, char **font_name,
      u32 *em_size, s32 *ascent, s32 *descent, s32 *underline, s32 *line_spacing,
      s32 *max_advance_h, s32 *max_advance_v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_delete
      Src: /src/gpac/modules/ft_font/ft_font.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - ft_delete
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:99,1
    - Dst: stricmp
      Src: /src/gpac/modules/ft_font/ft_font.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - listOfFonts
    - currentBestFont
    - fontName
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: isBestFontFor
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool isBestFontFor(const char * listOfFonts[], const char *
      currentBestFont, const char * fontName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBestFontFor
      Src: /src/gpac/modules/ft_font/ft_font.c:109,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:115,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - listOfFonts
    - currentBestFont
    - fontName
    argTypes:
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: setBestFont
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - isBestFontFor
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void setBestFont(const char * listOfFonts[], char ** currentBestFont,
      const char * fontName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_close
      Src: /src/gpac/modules/ft_font/ft_font.c:718,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:720,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/modules/ft_font/ft_font.c:720,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FTCST*
    - void*
    constantsTouched: []
    func_position:
      end: 723
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 723
    functionName: ft_line_to
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - gf_path_close
    - gf_path_add_line_to
    linkageType: ''
    returnType: int
    signature: 'static int ft_line_to(FTCST FT_Vector *to, void *user) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/ft_font/ft_font.c:813,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/ft_font/ft_font.c:815,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/ft_font/ft_font.c:817,1
    - Dst: memset
      Src: /src/gpac/modules/ft_font/ft_font.c:814,1
    - Dst: memset
      Src: /src/gpac/modules/ft_font/ft_font.c:818,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/ft_font/ft_font.c:820,1
    - Dst: gf_list_new
      Src: /src/gpac/modules/ft_font/ft_font.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 834
    functionName: ft_load
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: GF_FontReader*
    signature: 'static GF_FontReader *ft_load() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:736,1
    - Dst: gf_path_close
      Src: /src/gpac/modules/ft_font/ft_font.c:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - c1
    - c2
    - to
    - user
    argTypes:
    - FTCST*
    - FTCST*
    - FTCST*
    - void*
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: ft_cubic_to
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - gf_path_add_cubic_to
    - gf_path_close
    linkageType: ''
    returnType: int
    signature: 'static int ft_cubic_to(FTCST FT_Vector *c1, FTCST FT_Vector *c2, FTCST
      FT_Vector *to, void *user) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/modules/ft_font/ft_font.c:139,1
    - Dst: strupr
      Src: /src/gpac/modules/ft_font/ft_font.c:147,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:171,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:173,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:180,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:180,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:183,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:186,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:193,1
    - Dst: setBestFont
      Src: /src/gpac/modules/ft_font/ft_font.c:197,1
    - Dst: FT_New_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:129,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:146,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:170,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:161,1
    - Dst: FT_Select_Charmap
      Src: /src/gpac/modules/ft_font/ft_font.c:168,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:160,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:155,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:172,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:185,1
    - Dst: FT_Done_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:205,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:202,1
    - Dst: strcpy
      Src: /src/gpac/modules/ft_font/ft_font.c:141,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/ft_font/ft_font.c:139,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:148,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:149,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:152,1
    - Dst: FT_Select_Charmap
      Src: /src/gpac/modules/ft_font/ft_font.c:182,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:184,1
    - Dst: gf_strdup
      Src: /src/gpac/modules/ft_font/ft_font.c:189,1
    - Dst: strlwr
      Src: /src/gpac/modules/ft_font/ft_font.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:127,1
    - Dst: strstr
      Src: /src/gpac/modules/ft_font/ft_font.c:151,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:169,1
    - Dst: strcat
      Src: /src/gpac/modules/ft_font/ft_font.c:153,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/modules/ft_font/ft_font.c:163,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:188,1
    - Dst: setBestFont
      Src: /src/gpac/modules/ft_font/ft_font.c:199,1
    - Dst: FT_New_Face
      Src: /src/gpac/modules/ft_font/ft_font.c:209,1
    - Dst: setBestFont
      Src: /src/gpac/modules/ft_font/ft_font.c:200,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 91
    argCount: 4
    argNames:
    - cbck
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 213
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 213
    functionName: ft_enum_fonts
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - FT_New_Face
    - strcat
    - setBestFont
    - gf_strdup
    - GF_LOG
    - FT_Done_Face
    - gf_opts_set_key
    - FT_Select_Charmap
    - strstr
    - strlwr
    - strcpy
    - FT_Get_Char_Index
    - strupr
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ft_enum_fonts(void *cbck, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/modules/ft_font/ft_font.c:728,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:728,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:728,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:728,1
    - Dst: INT2FIX
      Src: /src/gpac/modules/ft_font/ft_font.c:728,1
    - Dst: gf_path_close
      Src: /src/gpac/modules/ft_font/ft_font.c:729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - control
    - to
    - user
    argTypes:
    - FTCST*
    - FTCST*
    - void*
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: ft_conic_to
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_path_add_quadratic_to
    - INT2FIX
    - gf_path_close
    linkageType: ''
    returnType: int
    signature: 'static int ft_conic_to(FTCST FT_Vector * control, FTCST FT_Vector
      *to, void *user) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/gpac/modules/ft_font/ft_font.c:754,1
    - Dst: FT_Load_Glyph
      Src: /src/gpac/modules/ft_font/ft_font.c:764,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/ft_font/ft_font.c:759,1
    - Dst: FT_Get_Char_Index
      Src: /src/gpac/modules/ft_font/ft_font.c:756,1
    - Dst: FT_Get_Glyph
      Src: /src/gpac/modules/ft_font/ft_font.c:766,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/ft_font/ft_font.c:772,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/ft_font/ft_font.c:774,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:776,1
    - Dst: FT_Outline_Decompose
      Src: /src/gpac/modules/ft_font/ft_font.c:790,1
    - Dst: FT_Glyph_Get_CBox
      Src: /src/gpac/modules/ft_font/ft_font.c:792,1
    - Dst: FT_Done_Glyph
      Src: /src/gpac/modules/ft_font/ft_font.c:804,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - dr
    - glyph_name
    argTypes:
    - GF_FontReader*
    - u32
    constantsTouched: []
    func_position:
      end: 806
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 806
    functionName: ft_load_glyph
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - FT_Outline_Decompose
    - FT_Glyph_Get_CBox
    - GF_LOG
    - FT_Select_Charmap
    - FT_Get_Glyph
    - GF_SAFEALLOC
    - gf_free
    - FT_Load_Glyph
    - FT_Get_Char_Index
    - FT_Done_Glyph
    linkageType: ''
    returnType: GF_Glyph*
    signature: 'static GF_Glyph *ft_load_glyph(GF_FontReader *dr, u32 glyph_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/modules/ft_font/ft_font.c:842,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/ft_font/ft_font.c:848,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:850,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/modules/ft_font/ft_font.c:843,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:845,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:851,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:852,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:853,1
    - Dst: gf_list_del
      Src: /src/gpac/modules/ft_font/ft_font.c:854,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:856,1
    - Dst: gf_free
      Src: /src/gpac/modules/ft_font/ft_font.c:857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 858
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 858
    functionName: ft_delete
    functionSourceFile: /src/gpac/modules/ft_font/ft_font.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ft_delete(GF_BaseInterface *ifce) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/gpac/modules/droid_audio/droidaudio.c:95,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: AAOut_Setup
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GetEnv
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AAOut_Setup(GF_AudioOutput *dr, void *os_handle, u32
      num_buffers, u32 total_duration) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/gpac/modules/droid_audio/droidaudio.c:249,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:254,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:264,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - dr
    - PlayType
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: AAOut_Play
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GetEnv
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_Play(GF_AudioOutput *dr, u32 PlayType) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:241,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 243
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 243
    functionName: AAOut_WriteAudio
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_WriteAudio(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AAOut_UpdateVolume
      Src: /src/gpac/modules/droid_audio/droidaudio.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dr
    - Volume
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: AAOut_SetVolume
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - AAOut_UpdateVolume
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_SetVolume(GF_AudioOutput *dr, u32 Volume) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:320,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 9
    argCount: 4
    argNames:
    - dr
    - desired_samplerate
    - NbChannels
    - nbBitsPerSample
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: AAOut_QueryOutputSampleRate
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AAOut_QueryOutputSampleRate(GF_AudioOutput *dr, u32
      *desired_samplerate, u32 *NbChannels, u32 *nbBitsPerSample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: AAOut_GetTotalBufferTime
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AAOut_GetTotalBufferTime(GF_AudioOutput *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/modules/droid_audio/droidaudio.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: DeleteAAOutRender
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteAAOutRender(void *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewAAOutRender
      Src: /src/gpac/modules/droid_audio/droidaudio.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - NewAAOutRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface(u32 InterfaceType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/gpac/modules/droid_audio/droidaudio.c:276,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DroidContext*
    constantsTouched: []
    func_position:
      end: 294
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 294
    functionName: AAOut_UpdateVolume
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GetEnv
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_UpdateVolume(DroidContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AAOut_UpdateVolume
      Src: /src/gpac/modules/droid_audio/droidaudio.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dr
    - Pan
    argTypes:
    - GF_AudioOutput*
    - u32
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: AAOut_SetPan
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - AAOut_UpdateVolume
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_SetPan(GF_AudioOutput *dr, u32 Pan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: AAOut_GetAudioDelay
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AAOut_GetAudioDelay(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_audio/droidaudio.c:364,1
    - Dst: memset
      Src: /src/gpac/modules/droid_audio/droidaudio.c:370,1
    - Dst: memset
      Src: /src/gpac/modules/droid_audio/droidaudio.c:365,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/droid_audio/droidaudio.c:371,1
    - Dst: gf_malloc
      Src: /src/gpac/modules/droid_audio/droidaudio.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 387
    functionName: NewAAOutRender
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_REGISTER_MODULE_INTERFACE
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *NewAAOutRender() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteAAOutRender
      Src: /src/gpac/modules/droid_audio/droidaudio.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - DeleteAAOutRender
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface(GF_BaseInterface *ifce) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:171,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - nbBitsPerSample
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 211
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 211
    functionName: AAOut_ConfigureOutput
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AAOut_ConfigureOutput(GF_AudioOutput *dr, u32 *SampleRate,
      u32 *NbChannels, u32 *nbBitsPerSample, u64 channel_cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/droid_audio/droidaudio.c:135,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:137,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:137,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:139,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:139,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:152,1
    - Dst: GetJavaVM
      Src: /src/gpac/modules/droid_audio/droidaudio.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: AAOut_Shutdown
    functionSourceFile: /src/gpac/modules/droid_audio/droidaudio.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void AAOut_Shutdown(GF_AudioOutput *dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: JNI_OnLoad
    functionSourceFile: /src/gpac/modules/droid_audio/javaenv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: jint
    signature: 'jint JNI_OnLoad(JavaVM* vm, void* reserved) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: GetEnv
    functionSourceFile: /src/gpac/modules/droid_audio/javaenv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JNIEnv*
    signature: 'JNIEnv * GetEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: GetJavaVM
    functionSourceFile: /src/gpac/modules/droid_audio/javaenv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JavaVM*
    signature: 'JavaVM * GetJavaVM() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pa_simple_free
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: free_pulseaudio_resources
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - pa_simple_free
    linkageType: ''
    returnType: void
    signature: 'static void free_pulseaudio_resources (GF_AudioOutput * dr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:154,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:166,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:168,1
    - Dst: gf_sleep
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:164,1
    - Dst: pa_simple_write
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:173,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:177,1
    - Dst: pa_strerror
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 185
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 185
    functionName: PulseAudio_WriteAudio
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - pa_strerror
    - gf_sleep
    - GF_LOG
    - pa_simple_write
    linkageType: ''
    returnType: void
    signature: 'static void PulseAudio_WriteAudio (GF_AudioOutput * dr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:89,1
    - Dst: pa_strerror
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:96,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:94,1
    - Dst: pa_simple_drain
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: PulseAudio_Shutdown
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - pa_simple_drain
    - GF_LOG
    - pa_strerror
    linkageType: ''
    returnType: void
    signature: 'static void PulseAudio_Shutdown (GF_AudioOutput * dr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: QueryInterfaces
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT const u32 *QueryInterfaces(u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewPulseAudioOutput
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - InterfaceType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: LoadInterface
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - NewPulseAudioOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT*
    signature: 'GPAC_MODULE_EXPORT GF_BaseInterface *LoadInterface (u32 InterfaceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:72,1
    - Dst: gf_module_get_key
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - dr
    - os_handle
    - num_buffers
    - total_duration
    argTypes:
    - GF_AudioOutput*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: PulseAudio_Setup
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - gf_module_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PulseAudio_Setup (GF_AudioOutput * dr, void *os_handle,
      u32 num_buffers, u32 total_duration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:109,1
    - Dst: pa_simple_new
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:124,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:133,1
    - Dst: pa_simple_flush
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:112,1
    - Dst: pa_simple_free
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:113,1
    - Dst: pa_strerror
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:135,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - dr
    - SampleRate
    - NbChannels
    - audioFormat
    - channel_cfg
    argTypes:
    - GF_AudioOutput*
    - u32*
    - u32*
    - u32*
    - u64
    constantsTouched: []
    func_position:
      end: 140
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: PulseAudio_Configure
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - pa_simple_free
    - pa_strerror
    - pa_simple_new
    - GF_LOG
    - pa_simple_flush
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PulseAudio_Configure(GF_AudioOutput *dr, u32 *SampleRate,
      u32 *NbChannels, u32 *audioFormat, u64 channel_cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:196,1
    - Dst: pa_strerror
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:205,1
    - Dst: pa_simple_get_latency
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:200,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:203,1
    - Dst: GF_LOG
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - dr
    argTypes:
    - GF_AudioOutput*
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: PulseAudio_GetAudioDelay
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - pa_strerror
    - GF_LOG
    - pa_simple_get_latency
    linkageType: ''
    returnType: u32
    signature: 'static u32 PulseAudio_GetAudioDelay (GF_AudioOutput * dr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:225,1
    - Dst: GF_REGISTER_MODULE_INTERFACE
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:247,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:229,1
    - Dst: gf_free
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 249
    functionName: NewPulseAudioOutput
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - GF_REGISTER_MODULE_INTERFACE
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *NewPulseAudioOutput () '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeletePulseAudioOutput
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: ShutdownInterface
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - DeletePulseAudioOutput
    linkageType: ''
    returnType: GPAC_MODULE_EXPORT
    signature: 'GPAC_MODULE_EXPORT void ShutdownInterface (GF_BaseInterface * ifce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_pulseaudio_resources
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:255,1
    - Dst: gf_free
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:258,1
    - Dst: gf_free
      Src: /src/gpac/modules/pulseaudio/pulseaudio.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: DeletePulseAudioOutput
    functionSourceFile: /src/gpac/modules/pulseaudio/pulseaudio.c
    functionUses: []
    functionsReached:
    - free_pulseaudio_resources
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeletePulseAudioOutput (void *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:442,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:444,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtcp.c:450,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:446,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:448,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ch
    - bs
    argTypes:
    - GF_RTPChannel*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: RTCP_FormatBYE
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_int
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: u32
    signature: 'static u32 RTCP_FormatBYE(GF_RTPChannel *ch, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:313,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtcp.c:344,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:290,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:284,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:297,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:352,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:362,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:339,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:324,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/ietf/rtcp.c:366,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/ietf/rtcp.c:369,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:286,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:282,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:315,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:359,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtcp.c:277,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtcp.c:294,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:305,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:306,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:317,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:347,1
    - Dst: asctime
      Src: /src/gpac/src/ietf/rtcp.c:369,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtcp.c:373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 86
    argCount: 3
    argNames:
    - ch
    - bs
    - NTP_Time
    argTypes:
    - GF_RTPChannel*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 386
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 386
    functionName: RTCP_FormatReport
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - asctime
    - gf_bs_write_u16
    - GF_LOG
    - gf_net_get_ntp
    - gf_bs_write_u32
    - gf_gmtime
    - gf_bs_write_u8
    - gf_log_tool_level_on
    - gf_bs_write_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 RTCP_FormatReport(GF_RTPChannel *ch, GF_BitStream *bs,
      u32 NTP_Time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ch
    - loss_rate
    argTypes:
    - GF_RTPChannel*
    - u32
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: gf_rtp_set_loss_rate
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_set_loss_rate(GF_RTPChannel *ch, u32 loss_rate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/ietf/rtcp.c:41,1
    - Dst: gf_sk_receive
      Src: /src/gpac/src/ietf/rtcp.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ch
    - buffer
    - buffer_size
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: gf_rtp_read_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_sk_receive
    - gf_sk_receive_no_select
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_read_rtcp(GF_RTPChannel *ch, u8 *buffer, u32
      buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtcp.c:396,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:418,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:416,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:414,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:409,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtcp.c:420,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtcp.c:423,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:426,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:428,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtcp.c:428,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtcp.c:429,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtcp.c:434,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtcp.c:429,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtcp.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - ch
    - bs
    argTypes:
    - GF_RTPChannel*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 436
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 436
    functionName: RTCP_FormatSDES
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 RTCP_FormatSDES(GF_RTPChannel *ch, GF_BitStream *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/ietf/rtcp.c:61,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtcp.c:73,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:102,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:113,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/ietf/rtcp.c:169,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:177,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:187,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtcp.c:71,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtcp.c:66,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtcp.c:70,1
    - Dst: gf_rtp_get_report_time
      Src: /src/gpac/src/ietf/rtcp.c:111,1
    - Dst: asctime
      Src: /src/gpac/src/ietf/rtcp.c:126,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtcp.c:134,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:154,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:171,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtcp.c:91,1
    - Dst: gf_rtp_get_next_report_time
      Src: /src/gpac/src/ietf/rtcp.c:108,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:116,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:117,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:115,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:165,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:173,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/ietf/rtcp.c:197,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:217,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/ietf/rtcp.c:252,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtcp.c:72,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/ietf/rtcp.c:123,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/ietf/rtcp.c:126,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtcp.c:167,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtcp.c:175,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtcp.c:192,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtcp.c:195,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtcp.c:205,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 130
    argCount: 4
    argNames:
    - ch
    - pck
    - pck_size
    - has_sr
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 262
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 262
    functionName: gf_rtp_decode_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_reassign_buffer
    - gf_bs_read_u32
    - gf_bs_read_u8
    - asctime
    - gf_bs_skip_bytes
    - gf_bs_read_u24
    - gf_rtp_get_next_report_time
    - GF_LOG
    - gf_bs_read_int
    - gf_rtp_get_report_time
    - gf_gmtime
    - gf_log_tool_level_on
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_decode_rtcp(GF_RTPChannel *ch, u8 *pck, u32
      pck_size, Bool *has_sr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtcp.c:465,1
    - Dst: RTCP_FormatReport
      Src: /src/gpac/src/ietf/rtcp.c:469,1
    - Dst: RTCP_FormatBYE
      Src: /src/gpac/src/ietf/rtcp.c:476,1
    - Dst: gf_rtp_get_report_time
      Src: /src/gpac/src/ietf/rtcp.c:469,1
    - Dst: RTCP_FormatSDES
      Src: /src/gpac/src/ietf/rtcp.c:473,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtcp.c:481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtcp.c:482,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/ietf/rtcp.c:485,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtcp.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 494
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 494
    functionName: gf_rtp_send_bye
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_rtp_get_report_time
    - RTCP_FormatSDES
    - RTCP_FormatBYE
    - gf_free
    - gf_sk_send
    - RTCP_FormatReport
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_send_bye(GF_RTPChannel *ch) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_get_report_time
      Src: /src/gpac/src/ietf/rtcp.c:515,1
    - Dst: RTCP_FormatSDES
      Src: /src/gpac/src/ietf/rtcp.c:525,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtcp.c:531,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtcp.c:517,1
    - Dst: RTCP_FormatReport
      Src: /src/gpac/src/ietf/rtcp.c:521,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtcp.c:532,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/ietf/rtcp.c:535,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtcp.c:545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtcp.c:550,1
    - Dst: gf_rtp_get_next_report_time
      Src: /src/gpac/src/ietf/rtcp.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtcp.c:553,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 557
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 557
    functionName: gf_rtp_send_rtcp_report
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_rtp_get_next_report_time
    - GF_LOG
    - gf_bs_new
    - gf_rtp_get_report_time
    - RTCP_FormatSDES
    - gf_free
    - gf_sk_send
    - RTCP_FormatReport
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_send_rtcp_report(GF_RTPChannel *ch) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:582,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:583,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:586,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:590,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:587,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:591,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:594,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:595,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:598,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:599,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:603,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtcp.c:607,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:602,1
    - Dst: RTCP_SAFE_FREE
      Src: /src/gpac/src/ietf/rtcp.c:606,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 3
    argNames:
    - ch
    - InfoCode
    - info_string
    argTypes:
    - GF_RTPChannel*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 613
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 613
    functionName: gf_rtp_set_info_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtcp.c
    functionUses: []
    functionsReached:
    - RTCP_SAFE_FREE
    - gf_strdup
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtp_set_info_rtcp(GF_RTPChannel *ch, u32 InfoCode, char
      *info_string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: gf_rtsp_session_needs_ssl
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_rtsp_session_needs_ssl(GF_RTSPSession *sess) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_session.c:321,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:323,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:324,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:325,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:326,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_session.c:327,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:328,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:329,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:330,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:331,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:333,1
    - Dst: gf_ssl_del
      Src: /src/gpac/src/ietf/rtsp_session.c:336,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:340,1
    - Dst: gf_ssl_del
      Src: /src/gpac/src/ietf/rtsp_session.c:337,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:332,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 341
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 341
    functionName: gf_rtsp_session_del
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_rtsp_session_reset
    - gf_sk_del
    - gf_ssl_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_session_del(GF_RTSPSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: gf_rtsp_get_session_state
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtsp_get_session_state(GF_RTSPSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_check_connection
      Src: /src/gpac/src/ietf/rtsp_session.c:509,1
    - Dst: gf_rtsp_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:518,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:519,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtsp_session.c:516,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_session.c:514,1
    - Dst: gf_rtsp_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:522,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - sess
    - buffer
    - Size
    argTypes:
    - GF_RTSPSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: gf_rtsp_send_data
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_rtsp_check_connection
    - gf_rtsp_write_sock
    - gf_free
    - gf_base64_encode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_send_data(GF_RTSPSession *sess, u8 *buffer, u32 Size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rstp_do_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:1068,1
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/rtsp_session.c:1077,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:1080,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - sess
    - data
    - len
    argTypes:
    - GF_RTSPSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1083
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1083
    functionName: gf_rtsp_write_sock
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - rstp_do_write_sock
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_rtsp_write_sock(GF_RTSPSession *sess, u8 *data, u32
      len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rstp_do_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:1107,1
    - Dst: memmove
      Src: /src/gpac/src/ietf/rtsp_session.c:1117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1121
    functionName: gf_rstp_flush_buffer
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - memmove
    - rstp_do_write_sock
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_rstp_flush_buffer(GF_RTSPSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_session.c:531,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_session.c:539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_session.c:533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - sess
    - rtpID
    - rtcpID
    - RemoveIt
    argTypes:
    - GF_RTSPSession*
    - u8
    - u8
    - Bool
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: GetTCPChannel
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_TCPChan*
    signature: 'static GF_TCPChan *GetTCPChannel(GF_RTSPSession *sess, u8 rtpID, u8
      rtcpID, Bool RemoveIt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:1097,1
    - Dst: gf_rtsp_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - sess
    - idx
    - pck
    - pck_size
    argTypes:
    - GF_RTSPSession*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1100
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1100
    functionName: gf_rtsp_session_write_interleaved
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_rtsp_write_sock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_session_write_interleaved(GF_RTSPSession
      *sess, u32 idx, u8 *pck, u32 pck_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: gf_rtsp_get_session_cookie
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_rtsp_get_session_cookie(GF_RTSPSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: gf_rtsp_get_password
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_rtsp_get_password(GF_RTSPSession *sess) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_session.c:1132,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:1144,1
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/rtsp_session.c:1141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - sess
    - post_sess
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1157
    functionName: gf_rtsp_merge_tunnel
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    - strcmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_merge_tunnel(GF_RTSPSession *sess, GF_RTSPSession *post_sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_session.c:245,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:235,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:217,1
    - Dst: gf_rtsp_session_set_netcap_id
      Src: /src/gpac/src/ietf/rtsp_session.c:224,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/ietf/rtsp_session.c:210,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_session.c:248,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:247,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:213,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_session.c:205,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_session.c:254,1
    - Dst: gf_ssl_del
      Src: /src/gpac/src/ietf/rtsp_session.c:271,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:215,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_session.c:219,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/src/ietf/rtsp_session.c:230,1
    - Dst: RemoveTCPChannels
      Src: /src/gpac/src/ietf/rtsp_session.c:243,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_session.c:246,1
    - Dst: ch
      Src: /src/gpac/src/ietf/rtsp_session.c:246,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_session.c:218,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames:
    - DefaultPort
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 273
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_rtsp_reset_aggregation
    - gf_list_get
    - gf_rtsp_set_buffer_size
    - ch
    - strcpy
    - gf_strdup
    - gf_rtsp_session_reset
    - gf_list_count
    - gf_sk_del
    - gf_rtsp_session_set_netcap_id
    - gf_list_rem
    - gf_ssl_del
    - strnicmp
    - gf_list_new
    - RemoveTCPChannels
    - gf_free
    linkageType: ''
    returnType: else
    signature: "else if (DefaultPort) sess->Port = DefaultPort; else sess->Port =
      554; //HTTP tunnel if ((sess->Port == 80) || (sess->Port == 8080) || !strnicmp(sURL,
      \"rtsph://\", 8)){\t\tsess->ConnectionType = GF_SOCK_TYPE_TCP;\t\tsess->tunnel_mode
      = RTSP_HTTP_CLIENT;\t}\tgf_rtsp_set_buffer_size(sess, RTSP_PCK_SIZE);\tsess->Server
      = gf_strdup(server);\tsess->Service = gf_strdup(service);\tif (user[0])\t\tsess->User
      = gf_strdup(user);\tif (pass[0])\tsess->Pass = gf_strdup(pass);\tsess->TCPChannels
      = gf_list_new();\tgf_rtsp_session_reset(sess, GF_FALSE);\treturn sess;}GF_EXPORTvoid
      gf_rtsp_session_set_netcap_id(GF_RTSPSession *sess, const char *netcap_id){\tif
      (sess) sess->netcap_id = netcap_id;}GF_EXPORTvoid gf_rtsp_reset_aggregation(GF_RTSPSession
      *sess){\tif (!sess) return;\tif (sess->RTSP_State == GF_RTSP_STATE_WAIT_FOR_CONTROL)
      {\t\tstrcpy(sess->RTSPLastRequest, \"RESET\");\t\t//skip all we haven't received\t\tsess->CSeq
      += sess->NbPending;\t\tsess->NbPending = 0;\t}\tsess->RTSP_State = GF_RTSP_STATE_INIT;}void
      RemoveTCPChannels(GF_RTSPSession *sess){\twhile (gf_list_count(sess->TCPChannels))
      {\t\tGF_TCPChan *ch = (GF_TCPChan*)gf_list_get(sess->TCPChannels, 0);\t\tgf_free(ch);\t\tgf_list_rem(sess->TCPChannels,
      0);\t}}GF_EXPORTu32 gf_rtsp_session_reset(GF_RTSPSession *sess, Bool ResetConnection){\tsess->last_session_id
      = NULL;\tsess->NeedConnection = 1;\tif (ResetConnection) {\t\tif (sess->connection)
      gf_sk_del(sess->connection);\t\tsess->connection = NULL;\t\tif (sess->http)
      {\t\t\tgf_sk_del(sess->http); sess->http = NULL; if (sess->tunnel_mode<RTSP_HTTP_DISABLE)\t\t\t\tsess->tunnel_mode
      = 0; } sess->tunnel_state = 0; #ifdef GPAC_HAS_SSL\t\tif (sess->ssl) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RTSP_UnpackURL
      Src: /src/gpac/src/ietf/rtsp_session.c:181,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:189,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:190,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_session.c:245,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:235,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:217,1
    - Dst: gf_rtsp_session_set_netcap_id
      Src: /src/gpac/src/ietf/rtsp_session.c:224,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/ietf/rtsp_session.c:210,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_session.c:248,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:260,1
    - Dst: gf_ssl_del
      Src: /src/gpac/src/ietf/rtsp_session.c:275,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:247,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:213,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_session.c:205,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_session.c:184,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_session.c:254,1
    - Dst: gf_ssl_del
      Src: /src/gpac/src/ietf/rtsp_session.c:271,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:215,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_session.c:219,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/src/ietf/rtsp_session.c:230,1
    - Dst: RemoveTCPChannels
      Src: /src/gpac/src/ietf/rtsp_session.c:243,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_session.c:246,1
    - Dst: ch
      Src: /src/gpac/src/ietf/rtsp_session.c:246,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_session.c:218,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:212,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - sURL
    - DefaultPort
    argTypes:
    - char*
    - u16
    constantsTouched: []
    func_position:
      end: 280
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 280
    functionName: gf_rtsp_session_new
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - strncmp
    - ch
    - gf_sk_del
    - gf_rtsp_session_set_netcap_id
    - GF_SAFEALLOC
    - gf_rtsp_set_buffer_size
    - gf_strdup
    - gf_list_count
    - strcpy
    - gf_list_new
    - gf_list_get
    - gf_rtsp_session_reset
    - strnicmp
    - gf_free
    - RTSP_UnpackURL
    - gf_rtsp_reset_aggregation
    - gf_list_rem
    - gf_ssl_del
    - RemoveTCPChannels
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPSession *gf_rtsp_session_new(char *sURL, u16 DefaultPort) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - sess
    - ssl_CTX
    argTypes:
    - GF_RTSPSession*
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: gf_rtsp_set_ssl_ctx
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_set_ssl_ctx(GF_RTSPSession *sess, void *ssl_CTX) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: gf_rtsp_get_server_name
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_rtsp_get_server_name(GF_RTSPSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: gf_rtsp_get_session_port
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_rtsp_get_session_port(GF_RTSPSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtsp_session.c:1049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1054
    functionName: gf_rtsp_get_next_interleave_id
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: u8
    signature: 'u8 gf_rtsp_get_next_interleave_id(GF_RTSPSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: gf_rtsp_get_last_request
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *gf_rtsp_get_last_request(GF_RTSPSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_session.c:378,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_session.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - sess
    - url
    argTypes:
    - GF_RTSPSession*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: gf_rtsp_is_my_session
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_rtsp_is_my_session(GF_RTSPSession *sess, char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: gf_rtsp_get_last_session_id
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_rtsp_get_last_session_id(GF_RTSPSession *sess) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetTCPChannel
      Src: /src/gpac/src/ietf/rtsp_session.c:573,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/ietf/rtsp_session.c:582,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:627,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:565,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:565,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:611,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/ietf/rtsp_session.c:622,1
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/rtsp_session.c:597,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/ietf/rtsp_session.c:602,1
    - Dst: gf_rtsp_refill_buffer
      Src: /src/gpac/src/ietf/rtsp_session.c:562,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:600,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/ietf/rtsp_session.c:630,1
    - Dst: gf_rtsp_fill_buffer
      Src: /src/gpac/src/ietf/rtsp_session.c:560,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:586,1
    - Dst: GetTCPChannel
      Src: /src/gpac/src/ietf/rtsp_session.c:587,1
    - Dst: GetTCPChannel
      Src: /src/gpac/src/ietf/rtsp_session.c:613,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 92
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 633
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 633
    functionName: gf_rtsp_do_deinterleave
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - GetTCPChannel
    - strncmp
    - gf_realloc
    - GF_LOG
    - gf_fatal_assert
    - memcpy
    - gf_rtsp_refill_buffer
    - gf_rtsp_fill_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_do_deinterleave(GF_RTSPSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTCPChannel
      Src: /src/gpac/src/ietf/rtsp_session.c:661,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_session.c:663,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_session.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sess
    - LowInterID
    argTypes:
    - GF_RTSPSession*
    - u8
    constantsTouched: []
    func_position:
      end: 666
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 666
    functionName: gf_rtsp_unregister_interleave
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - GetTCPChannel
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtsp_unregister_interleave(GF_RTSPSession *sess,
      u8 LowInterID) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/ietf/rtsp_session.c:781,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/ietf/rtsp_session.c:782,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/ietf/rtsp_session.c:788,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:805,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtsp_session.c:813,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:798,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/ietf/rtsp_session.c:833,1
    - Dst: SSL_set_fd
      Src: /src/gpac/src/ietf/rtsp_session.c:853,1
    - Dst: SSL_ctrl
      Src: /src/gpac/src/ietf/rtsp_session.c:854,1
    - Dst: SSL_set_mode
      Src: /src/gpac/src/ietf/rtsp_session.c:856,1
    - Dst: SSL_set_alpn_protos
      Src: /src/gpac/src/ietf/rtsp_session.c:857,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:896,1
    - Dst: SSL_connect
      Src: /src/gpac/src/ietf/rtsp_session.c:861,1
    - Dst: SSL_get_error
      Src: /src/gpac/src/ietf/rtsp_session.c:863,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:894,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:903,1
    - Dst: rstp_do_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:903,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:892,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtsp_session.c:792,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:795,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:802,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:799,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:819,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/ietf/rtsp_session.c:828,1
    - Dst: SSL_load_error_strings
      Src: /src/gpac/src/ietf/rtsp_session.c:866,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:869,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:893,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:897,1
    - Dst: ERR_error_string_n
      Src: /src/gpac/src/ietf/rtsp_session.c:867,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtsp_session.c:889,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/ietf/rtsp_session.c:776,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:782,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:796,1
    - Dst: gf_rstp_do_read_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:811,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:822,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:822,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_session.c:822,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:822,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/ietf/rtsp_session.c:840,1
    - Dst: SSL_new
      Src: /src/gpac/src/ietf/rtsp_session.c:852,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:884,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:784,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:794,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:797,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtsp_session.c:817,1
    - Dst: rstp_do_write_sock
      Src: /src/gpac/src/ietf/rtsp_session.c:805,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtsp_session.c:842,1
    - Dst: SSL_set_connect_state
      Src: /src/gpac/src/ietf/rtsp_session.c:855,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:891,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:895,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:879,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/ietf/rtsp_session.c:887,1
    - Dst: gf_sk_get_handle
      Src: /src/gpac/src/ietf/rtsp_session.c:853,1
    - Dst: ERR_get_error
      Src: /src/gpac/src/ietf/rtsp_session.c:867,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 148
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 904
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 904
    functionName: gf_rtsp_http_tunnel_setup
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - memset
    - strncmp
    - GF_LOG
    - SSL_new
    - SSL_get_error
    - rstp_do_write_sock
    - gf_rand
    - gf_sk_get_handle
    - ERR_get_error
    - gf_strdup
    - gf_rand_init
    - SSL_load_error_strings
    - gf_assert
    - sprintf
    - gf_sys_clock
    - SSL_set_alpn_protos
    - gf_opts_get_key
    - gf_sk_connect
    - gf_sk_set_block_mode
    - SSL_set_mode
    - gf_rstp_do_read_sock
    - SSL_set_fd
    - gf_sys_clock_high_res
    - SSL_set_connect_state
    - ERR_error_string_n
    - gf_sk_new_ex
    - SSL_connect
    - SSL_ctrl
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_rtsp_http_tunnel_setup(GF_RTSPSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTSP_UnpackURL
      Src: /src/gpac/src/ietf/rtsp_session.c:994,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:1003,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:1004,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - sess
    - URL
    argTypes:
    - GF_RTSPSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1006
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1006
    functionName: gf_rtsp_load_service_name
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - RTSP_UnpackURL
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_load_service_name(GF_RTSPSession *sess, char *URL) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand_init
      Src: /src/gpac/src/ietf/rtsp_session.c:1020,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_session.c:1026,1
    - Dst: gf_rand
      Src: /src/gpac/src/ietf/rtsp_session.c:1022,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:1027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1028
    functionName: gf_rtsp_generate_session_id
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_rand_init
    - sprintf
    - gf_rand
    - gf_strdup
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_rtsp_generate_session_id(GF_RTSPSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_fill_buffer
      Src: /src/gpac/src/ietf/rtsp_session.c:642,1
    - Dst: gf_rtsp_do_deinterleave
      Src: /src/gpac/src/ietf/rtsp_session.c:646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 651
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 651
    functionName: gf_rtsp_session_read
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_rtsp_do_deinterleave
    - gf_rtsp_fill_buffer
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_session_read(GF_RTSPSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTCPChannel
      Src: /src/gpac/src/ietf/rtsp_session.c:676,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_session.c:678,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_session.c:682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - sess
    - the_ch
    - LowInterID
    - HighInterID
    argTypes:
    - GF_RTSPSession*
    - void*
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: gf_rtsp_register_interleave
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GetTCPChannel
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_register_interleave(GF_RTSPSession *sess,
      void *the_ch, u8 LowInterID, u8 HighInterID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_get_local_ip
      Src: /src/gpac/src/ietf/rtsp_session.c:1035,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_session.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sess
    - buffer
    argTypes:
    - GF_RTSPSession*
    - char
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: gf_rtsp_get_session_ip
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_sk_get_local_ip
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_get_session_ip(GF_RTSPSession *sess, char
      buffer[GF_MAX_IP_NAME_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1162
    functionName: gf_rtsp_get_user
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_rtsp_get_user(GF_RTSPSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/rtsp_session.c:701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sess
    - SignalData
    argTypes:
    - GF_RTSPSession*
    - gf_rtsp_interleave_callback
    constantsTouched: []
    func_position:
      end: 704
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 704
    functionName: gf_rtsp_set_interleave_callback
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_set_interleave_callback(GF_RTSPSession *sess,
      gf_rtsp_interleave_callback SignalData) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/gpac/src/ietf/rtsp_session.c:730,1
    - Dst: ERR_get_error
      Src: /src/gpac/src/ietf/rtsp_session.c:742,1
    - Dst: SSL_load_error_strings
      Src: /src/gpac/src/ietf/rtsp_session.c:741,1
    - Dst: SSL_get_error
      Src: /src/gpac/src/ietf/rtsp_session.c:735,1
    - Dst: ERR_error_string_n
      Src: /src/gpac/src/ietf/rtsp_session.c:742,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:744,1
    - Dst: gf_sk_send_ex
      Src: /src/gpac/src/ietf/rtsp_session.c:754,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - sess
    - sock
    - buffer
    - size
    - written
    argTypes:
    - GF_RTSPSession*
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 755
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 755
    functionName: rstp_do_write_sock
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - ERR_get_error
    - SSL_write
    - GF_LOG
    - SSL_get_error
    - SSL_load_error_strings
    - gf_sk_send_ex
    - ERR_error_string_n
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rstp_do_write_sock(GF_RTSPSession *sess, GF_Socket *sock,
      const u8 *buffer, u32 size, u32 *written) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtsp_session.c:933,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:934,1
    - Dst: gf_sk_accept
      Src: /src/gpac/src/ietf/rtsp_session.c:926,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_session.c:933,1
    - Dst: SSL_set_mode
      Src: /src/gpac/src/ietf/rtsp_session.c:937,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/ietf/rtsp_session.c:946,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:972,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/ietf/rtsp_session.c:951,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/ietf/rtsp_session.c:973,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_session.c:976,1
    - Dst: gf_sk_get_local_info
      Src: /src/gpac/src/ietf/rtsp_session.c:941,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:943,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:948,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtsp_session.c:973,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_session.c:953,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/ietf/rtsp_session.c:968,1
    - Dst: gf_ssl_new
      Src: /src/gpac/src/ietf/rtsp_session.c:931,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_session.c:958,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_session.c:970,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/ietf/rtsp_session.c:975,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - rtsp_listener
    - allow_http_tunnel
    - ssl_ctx
    argTypes:
    - GF_Socket*
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 981
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 981
    functionName: gf_rtsp_session_new_server
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - SSL_set_mode
    - gf_sk_set_block_mode
    - gf_opts_get_key
    - gf_error_to_string
    - gf_strdup
    - gf_rtsp_set_buffer_size
    - GF_LOG
    - gf_sk_accept
    - gf_sk_del
    - gf_sk_get_local_info
    - gf_ssl_new
    - GF_SAFEALLOC
    - gf_list_new
    - gf_gpac_version
    - gf_sk_server_mode
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPSession *gf_rtsp_session_new_server(GF_Socket *rtsp_listener,
      Bool allow_http_tunnel, void *ssl_ctx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:73,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:84,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_session.c:90,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_session.c:97,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_session.c:110,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:102,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:102,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_session.c:128,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:102,1
    - Dst: strrchr
      Src: /src/gpac/src/ietf/rtsp_session.c:107,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_session.c:112,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_session.c:124,1
    - Dst: strncpy
      Src: /src/gpac/src/ietf/rtsp_session.c:130,1
    - Dst: strncpy
      Src: /src/gpac/src/ietf/rtsp_session.c:133,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:144,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_session.c:67,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_session.c:69,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_session.c:115,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:102,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/rtsp_session.c:154,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_session.c:84,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtsp_session.c:121,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/ietf/rtsp_session.c:154,1
    - Dst: strncpy
      Src: /src/gpac/src/ietf/rtsp_session.c:160,1
    - Dst: strncpy
      Src: /src/gpac/src/ietf/rtsp_session.c:155,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/ietf/rtsp_session.c:150,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 127
    argCount: 7
    argNames:
    - sURL
    - Server
    - Port
    - Service
    - useTCP
    - User
    - Pass
    argTypes:
    - char*
    - char
    - u16*
    - char
    - Bool*
    - char
    - char
    constantsTouched: []
    func_position:
      end: 166
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 166
    functionName: RTSP_UnpackURL
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - strlen
    - MIN
    - strrchr
    - strchr
    - atoi
    - strncpy
    - GF_ARRAY_LENGTH
    - stricmp
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RTSP_UnpackURL(char *sURL, char Server[1024], u16 *Port, char
      Service[1024], Bool *useTCP, char User[1024], char Pass[1024]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: gf_rtsp_use_tls
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_rtsp_use_tls(GF_RTSPSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/rtsp_session.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sess
    - BufferSize
    argTypes:
    - GF_RTSPSession*
    - u32
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: gf_rtsp_set_buffer_size
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_set_buffer_size(GF_RTSPSession *sess, u32
      BufferSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_get_remote_address
      Src: /src/gpac/src/ietf/rtsp_session.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sess
    - buf
    argTypes:
    - GF_RTSPSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1062
    functionName: gf_rtsp_get_remote_address
    functionSourceFile: /src/gpac/src/ietf/rtsp_session.c
    functionUses: []
    functionsReached:
    - gf_sk_get_remote_address
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_get_remote_address(GF_RTSPSession *sess,
      char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_new_ex
      Src: /src/gpac/src/ietf/rtp.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gf_rtp_new
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_new_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPChannel *gf_rtp_new() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:87,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:93,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:96,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:89,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:91,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:99,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:102,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:108,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:110,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/rtp.c:120,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 3
    argNames:
    - ch
    - trans_info
    - remote_address
    argTypes:
    - GF_RTPChannel*
    - GF_RTSPTransport*
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: gf_rtp_setup_transport
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - memcpy
    - gf_sk_is_multicast_address
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_setup_transport(GF_RTPChannel *ch, GF_RTSPTransport
      *trans_info, const char *remote_address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: gf_rtp_reset_ssrc
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_reset_ssrc(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - ch
    - src_ip_inc
    - nb_src_ip_inc
    - src_ip_exc
    - nb_src_ip_exc
    argTypes:
    - GF_RTPChannel*
    - char**
    - u32
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: gf_rtp_set_ssm
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_set_ssm(GF_RTPChannel *ch, const char **src_ip_inc,
      u32 nb_src_ip_inc, const char **src_ip_exc, u32 nb_src_ip_exc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/ietf/rtp.c:364,1
    - Dst: gf_rtp_get_report_time
      Src: /src/gpac/src/ietf/rtp.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: gf_rtp_get_next_report_time
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_get_report_time
    - gf_rand
    linkageType: ''
    returnType: void
    signature: 'void gf_rtp_get_next_report_time(GF_RTPChannel *ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_reorderer_get
      Src: /src/gpac/src/ietf/rtp.c:397,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:399,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - ch
    - buffer
    - buffer_size
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: gf_rtp_flush_rtp
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_get
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_flush_rtp(GF_RTPChannel *ch, u8 *buffer, u32
      buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 773
    functionName: gf_rtp_get_hight_interleave_id
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_rtp_get_hight_interleave_id(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: gf_rtp_get_loss
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Float gf_rtp_get_loss(GF_RTPChannel *ch) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:59,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:63,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:66,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp.c:74,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:70,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:58,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:67,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:61,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:76,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:72,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:60,1
    - Dst: gf_rtp_reorderer_del
      Src: /src/gpac/src/ietf/rtp.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:65,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp.c:75,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:69,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp.c:73,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: gf_rtp_del
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_del
    - memset
    - gf_bs_del
    - gf_sk_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_del(GF_RTPChannel *ch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_reset
      Src: /src/gpac/src/ietf/rtp.c:128,1
    - Dst: gf_sk_reset
      Src: /src/gpac/src/ietf/rtp.c:129,1
    - Dst: gf_rtp_reorderer_reset
      Src: /src/gpac/src/ietf/rtp.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: gf_rtp_reset_buffers
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_sk_reset
    - gf_rtp_reorderer_reset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_reset_buffers(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - nat_timeout
    argTypes:
    - GF_RTPChannel*
    - u32
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: gf_rtp_enable_nat_keepalive
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_enable_nat_keepalive(GF_RTPChannel *ch, u32
      nat_timeout) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp.c:216,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:206,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/ietf/rtp.c:239,1
    - Dst: gf_sk_setup_multicast_ex
      Src: /src/gpac/src/ietf/rtp.c:263,1
    - Dst: gf_sk_setup_multicast_ex
      Src: /src/gpac/src/ietf/rtp.c:299,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:308,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp.c:217,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp.c:218,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/ietf/rtp.c:249,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/ietf/rtp.c:269,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/ietf/rtp.c:292,1
    - Dst: gf_rtp_reorderer_new
      Src: /src/gpac/src/ietf/rtp.c:274,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/ietf/rtp.c:301,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:317,1
    - Dst: gf_get_user_name
      Src: /src/gpac/src/ietf/rtp.c:322,1
    - Dst: gf_sk_get_local_ip
      Src: /src/gpac/src/ietf/rtp.c:326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:333,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:204,1
    - Dst: gf_rtp_reorderer_del
      Src: /src/gpac/src/ietf/rtp.c:208,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/rtp.c:231,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/ietf/rtp.c:255,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/ietf/rtp.c:289,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/rtp.c:323,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp.c:324,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp.c:326,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp.c:327,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/rtp.c:227,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/ietf/rtp.c:280,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/ietf/rtp.c:265,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp.c:310,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp.c:323,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/ietf/rtp.c:332,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 137
    argCount: 7
    argNames:
    - ch
    - UDPBufferSize
    - IsSource
    - PathMTU
    - ReorederingSize
    - MaxReorderDelay
    - local_ip
    argTypes:
    - GF_RTPChannel*
    - u32
    - Bool
    - u32
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 338
    functionName: gf_rtp_initialize
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - GF_LOG
    - gf_sk_del
    - gf_sk_get_local_ip
    - gf_rtp_reorderer_new
    - gf_strdup
    - strcpy
    - stricmp
    - gf_get_user_name
    - gf_sk_setup_multicast
    - gf_sk_bind
    - gf_sk_setup_multicast_ex
    - gf_free
    - gf_rtp_reorderer_del
    - strcat
    - gf_sk_set_buffer_size
    - gf_sk_is_multicast_address
    - gf_log_tool_level_on
    - gf_sk_new_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_initialize(GF_RTPChannel *ch, u32 UDPBufferSize,
      Bool IsSource, u32 PathMTU, u32 ReorederingSize, u32 MaxReorderDelay, char *local_ip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_reorderer_get
      Src: /src/gpac/src/ietf/rtp.c:379,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:381,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ch
    - buffer
    - buffer_size
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 385
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 385
    functionName: gf_rtp_read_flush
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_get
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_read_flush(GF_RTPChannel *ch, u8 *buffer, u32
      buffer_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/ietf/rtp.c:416,1
    - Dst: gf_rtp_reorderer_add
      Src: /src/gpac/src/ietf/rtp.c:433,1
    - Dst: gf_rtp_reorderer_get
      Src: /src/gpac/src/ietf/rtp.c:437,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:439,1
    - Dst: gf_sk_receive
      Src: /src/gpac/src/ietf/rtp.c:418,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:440,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtp.c:451,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/ietf/rtp.c:469,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:471,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp.c:471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:474,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp.c:474,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 3
    argNames:
    - ch
    - buffer
    - buffer_size
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 481
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 481
    functionName: gf_rtp_read_rtp
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_get
    - gf_sk_receive
    - gf_error_to_string
    - GF_LOG
    - gf_sys_clock
    - memcpy
    - gf_sk_receive_no_select
    - gf_free
    - gf_rtp_reorderer_add
    - gf_sk_send
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_read_rtp(GF_RTPChannel *ch, u8 *buffer, u32 buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: gf_rtp_get_low_interleave_id
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_rtp_get_low_interleave_id(GF_RTPChannel *ch) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/ietf/rtp.c:793,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/ietf/rtp.c:799,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:802,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - ch
    - first_port
    argTypes:
    - GF_RTPChannel*
    - u16
    constantsTouched: []
    func_position:
      end: 812
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 812
    functionName: gf_rtp_set_ports
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_sk_bind
    - gf_sk_new_ex
    - gf_sk_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_set_ports(GF_RTPChannel *ch, u16 first_port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: gf_rtp_get_tcp_bytes_sent
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_get_tcp_bytes_sent(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1129
    functionName: gf_rtp_is_disc
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_rtp_is_disc(GF_RTPChannel *ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtp.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: gf_rtp_channel_time
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_rtp_channel_time(GF_RTPChannel *ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp.c:887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - MaxCount
    - MaxDelay
    - timescale
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 893
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 893
    functionName: gf_rtp_reorderer_new
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPReorder *gf_rtp_reorderer_new(u32 MaxCount, u32 MaxDelay,
      u32 timescale) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp.c:1047,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1069,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtp.c:1080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1081,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtp.c:1085,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1086,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/ietf/rtp.c:1086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1095,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:1109,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 63
    argCount: 4
    argNames:
    - po
    - pck_size
    - force_flush
    - is_disc
    argTypes:
    - GF_RTPReorder*
    - u32*
    - Bool
    - Bool*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1111
    functionName: gf_rtp_reorderer_get
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_assert
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_rtp_reorderer_get(GF_RTPReorder *po, u32 *pck_size,
      Bool force_flush, Bool *is_disc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_reorderer_reset
      Src: /src/gpac/src/ietf/rtp.c:898,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - po
    argTypes:
    - GF_RTPReorder*
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: gf_rtp_reorderer_del
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_rtp_reorderer_reset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_reorderer_del(GF_RTPReorder *po) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ch
    - RTP_TCPCallback
    - cbk1
    - cbk2
    argTypes:
    - GF_RTPChannel*
    - gf_rtp_tcp_callback
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: gf_rtp_set_interleave_callbacks
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtp_set_interleave_callbacks(GF_RTPChannel *ch, gf_rtp_tcp_callback
      RTP_TCPCallback, void *cbk1, void *cbk2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ch
    - seq_num
    - rtp_time
    - ssrc
    argTypes:
    - GF_RTPChannel*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: gf_rtp_set_info_rtp
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_set_info_rtp(GF_RTPChannel *ch, u32 seq_num,
      u32 rtp_time, u32 ssrc) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/ietf/rtp.c:495,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:501,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:497,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:500,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:502,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:503,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp.c:504,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp.c:509,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtp.c:511,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtp.c:513,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:527,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtp.c:534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:523,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:606,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/ietf/rtp.c:603,1
    - Dst: gf_rtp_channel_time
      Src: /src/gpac/src/ietf/rtp.c:566,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 133
    argCount: 5
    argNames:
    - ch
    - pck
    - pck_size
    - rtp_hdr
    - PayloadStart
    argTypes:
    - GF_RTPChannel*
    - u8*
    - u32
    - GF_RTPHeader*
    - u32*
    constantsTouched: []
    func_position:
      end: 635
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 635
    functionName: gf_rtp_decode_rtp
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_channel_time
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_reassign_buffer
    - gf_bs_read_int
    - GF_LOG
    - gf_net_get_ntp
    - gf_log_tool_level_on
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_decode_rtp(GF_RTPChannel *ch, u8 *pck, u32
      pck_size, GF_RTPHeader *rtp_hdr, u32 *PayloadStart) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: gf_rtp_is_active
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_rtp_is_active(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ch
    - PayloadType
    - ClockRate
    argTypes:
    - GF_RTPChannel*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 822
    functionName: gf_rtp_setup_payload
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_setup_payload(GF_RTPChannel *ch, u32 PayloadType,
      u32 ClockRate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: gf_rtp_get_local_ssrc
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_rtp_get_local_ssrc(GF_RTPChannel *ch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - ch
    - rtp_port
    - rtcp_port
    argTypes:
    - GF_RTPChannel*
    - u16*
    - u16*
    constantsTouched: []
    func_position:
      end: 871
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 871
    functionName: gf_rtp_get_ports
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_get_ports(GF_RTPChannel *ch, u16 *rtp_port,
      u16 *rtcp_port) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:911,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - po
    argTypes:
    - GF_RTPReorder*
    constantsTouched: []
    func_position:
      end: 920
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 920
    functionName: gf_rtp_reorderer_reset
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_reorderer_reset(GF_RTPReorder *po) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:176,1
    - Dst: gf_rtp_reorderer_del
      Src: /src/gpac/src/ietf/rtp.c:180,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtp.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: gf_rtp_stop
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_del
    - gf_sk_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_stop(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: gf_rtp_get_current_time
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_rtp_get_current_time(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 829
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 829
    functionName: gf_rtp_get_transport
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_RTSPTransport *gf_rtp_get_transport(GF_RTPChannel
      *ch) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/ietf/rtp.c:966,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/ietf/rtp.c:945,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:976,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:1022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:999,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1024,1
    - Dst: GF_4CC
      Src: /src/gpac/src/ietf/rtp.c:964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp.c:1013,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp.c:1023,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp.c:930,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp.c:934,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 4
    argNames:
    - po
    - pck
    - pck_size
    - pck_seqnum
    argTypes:
    - GF_RTPReorder*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1026
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 1026
    functionName: gf_rtp_reorderer_add
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_4CC
    - GF_LOG
    - memcpy
    - ABSDIFF
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_reorderer_add(GF_RTPReorder *po, const void
      * pck, u32 pck_size, u32 pck_seqnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtp.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: gf_rtp_get_report_time
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_rtp_get_report_time() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:678,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp.c:684,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/ietf/rtp.c:707,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp.c:692,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp.c:689,1
    - Dst: gf_rtp_send_rtcp_report
      Src: /src/gpac/src/ietf/rtp.c:727,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:680,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/ietf/rtp.c:675,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:682,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp.c:685,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp.c:686,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/ietf/rtp.c:673,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:679,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:681,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp.c:683,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:706,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/ietf/rtp.c:704,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp.c:698,1
    - Dst: gf_rtp_get_next_report_time
      Src: /src/gpac/src/ietf/rtp.c:715,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtp.c:725,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 5
    argNames:
    - ch
    - rtp_hdr
    - pck
    - pck_size
    - fast_send
    argTypes:
    - GF_RTPChannel*
    - GF_RTPHeader*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 729
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 729
    functionName: gf_rtp_send_packet
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_rtp_get_next_report_time
    - gf_net_get_ntp
    - gf_rtp_send_rtcp_report
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_int
    - gf_sk_send
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_send_packet(GF_RTPChannel *ch, GF_RTPHeader
      *rtp_hdr, u8 *pck, u32 pck_size, Bool fast_send) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: gf_rtp_is_interleaved
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_is_interleaved(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp.c:36,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp.c:41,1
    - Dst: gf_rand
      Src: /src/gpac/src/ietf/rtp.c:40,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - netcap_id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: gf_rtp_new_ex
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached:
    - gf_rand
    - gf_bs_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPChannel *gf_rtp_new_ex(const char *netcap_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: gf_rtp_is_unicast
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_is_unicast(GF_RTPChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - GF_RTPChannel*
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: gf_rtp_get_clockrate
    functionSourceFile: /src/gpac/src/ietf/rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_get_clockrate(GF_RTPChannel *ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/sdp.c:43,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: gf_sdp_fmtp_new
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SDP_FMTP *gf_sdp_fmtp_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - media
    - PayloadType
    argTypes:
    - GF_SDPMedia*
    - u32
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: SDP_GetFMTPForPayload
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_SDP_FMTP*
    signature: 'GF_SDP_FMTP *SDP_GetFMTPForPayload(GF_SDPMedia *media, u32 PayloadType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/sdp.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: gf_sdp_conn_new
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SDPConnection *gf_sdp_conn_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/sdp.c:338,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:343,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:341,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:340,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:342,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: gf_sdp_media_new
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SDPMedia *gf_sdp_media_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sdp_info_reset
      Src: /src/gpac/src/ietf/sdp.c:427,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:429,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:430,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:431,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:428,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sdp
    argTypes:
    - GF_SDPInfo*
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: gf_sdp_info_del
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_sdp_info_reset
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sdp_info_del(GF_SDPInfo *sdp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/ietf/sdp.c:460,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/sdp.c:464,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/sdp.c:464,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:464,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:464,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/sdp.c:474,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/sdp.c:479,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/sdp.c:487,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/sdp.c:490,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/sdp.c:490,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:463,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:463,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:467,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:480,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:489,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/sdp.c:492,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/sdp.c:461,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/sdp.c:466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/sdp.c:469,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:477,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/sdp.c:477,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/sdp.c:477,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:477,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/sdp.c:482,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:490,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/sdp.c:495,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:476,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:476,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:489,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:493,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 501
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 501
    functionName: SDP_MakeSeconds
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - MIN
    - GF_LOG
    - memcpy
    - atoi
    - gf_assert
    - strstr
    linkageType: ''
    returnType: s32
    signature: 'static s32 SDP_MakeSeconds(char *buf) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:83,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:87,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:96,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:144,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:146,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:162,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:165,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:169,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:170,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:176,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:213,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:193,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:248,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:209,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:200,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/sdp.c:238,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/sdp.c:196,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:239,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:199,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:197,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:229,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:201,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:85,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:94,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:113,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:121,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:129,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:137,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:141,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:109,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:155,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:159,1
    - Dst: gf_sdp_fmtp_new
      Src: /src/gpac/src/ietf/sdp.c:216,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:247,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:187,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:92,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:103,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:110,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:139,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:151,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:153,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:189,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:198,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:202,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:205,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/sdp.c:223,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:224,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:237,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:221,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:227,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:242,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:218,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:204,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:203,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:89,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:99,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:101,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:107,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:148,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:158,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:173,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:180,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:183,1
    - Dst: atof
      Src: /src/gpac/src/ietf/sdp.c:184,1
    - Dst: SDP_GetFMTPForPayload
      Src: /src/gpac/src/ietf/sdp.c:214,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:253,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:228,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:212,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:190,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 187
    argCount: 3
    argNames:
    - sdp
    - buffer
    - media
    argTypes:
    - GF_SDPInfo*
    - char*
    - GF_SDPMedia*
    constantsTouched: []
    func_position:
      end: 255
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 255
    functionName: SDP_ParseAttribute
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_sdp_fmtp_new
    - gf_strdup
    - strcmp
    - atoi
    - SDP_GetFMTPForPayload
    - gf_token_get
    - atof
    linkageType: ''
    returnType: void
    signature: 'void SDP_ParseAttribute(GF_SDPInfo *sdp, char *buffer, GF_SDPMedia
      *media) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:266,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:276,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:279,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:282,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:294,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:304,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:308,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:302,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:311,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:265,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:284,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:283,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:281,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:277,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:291,1
    - Dst: gf_sdp_conn_del
      Src: /src/gpac/src/ietf/sdp.c:292,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:296,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:299,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:309,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:270,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:273,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:297,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:300,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:306,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:310,1
    - Dst: gf_sdp_fmtp_del
      Src: /src/gpac/src/ietf/sdp.c:268,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:267,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:272,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:274,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:275,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:289,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:287,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:285,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:305,1
    - Dst: SDPM_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:307,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - media
    argTypes:
    - GF_SDPMedia*
    constantsTouched: []
    func_position:
      end: 312
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 312
    functionName: gf_sdp_media_del
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - SDPM_DESTROY
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_sdp_fmtp_del
    - gf_sdp_conn_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sdp_media_del(GF_SDPMedia *media) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:53,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:56,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:57,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:55,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:54,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:58,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/sdp.c:60,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - fmtp
    argTypes:
    - GF_SDP_FMTP*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: gf_sdp_fmtp_del
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sdp_fmtp_del(GF_SDP_FMTP *fmtp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:328,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:331,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:329,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GF_SDPConnection*
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: gf_sdp_conn_del
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sdp_conn_del(GF_SDPConnection *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/sdp.c:353,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:356,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:355,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:358,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/sdp.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: gf_sdp_info_new
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SDPInfo *gf_sdp_info_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:375,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:376,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:379,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:383,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:391,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:390,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:396,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:400,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:404,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:414,1
    - Dst: gf_sdp_conn_del
      Src: /src/gpac/src/ietf/sdp.c:417,1
    - Dst: gf_sdp_media_del
      Src: /src/gpac/src/ietf/sdp.c:373,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:372,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:380,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:385,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:389,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:384,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:397,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:401,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:405,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:410,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:371,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:386,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:395,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:398,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:402,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:406,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:412,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:370,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/sdp.c:377,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:378,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:399,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:403,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:407,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:409,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:413,1
    - Dst: SDP_DESTROY
      Src: /src/gpac/src/ietf/sdp.c:408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - sdp
    argTypes:
    - GF_SDPInfo*
    constantsTouched: []
    func_position:
      end: 421
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 421
    functionName: gf_sdp_info_reset
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - SDP_DESTROY
    - gf_list_count
    - gf_list_rem
    - gf_sdp_media_del
    - gf_free
    - gf_sdp_conn_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sdp_info_reset(GF_SDPInfo *sdp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:442,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:444,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/sdp.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - media
    - payt
    argTypes:
    - GF_SDPMedia*
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: SDP_IsDynamicPayload
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - sprintf
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool SDP_IsDynamicPayload(GF_SDPMedia *media, char *payt) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:557,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:548,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:636,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:575,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:634,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:598,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:704,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/sdp.c:764,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/sdp.c:628,1
    - Dst: SDP_MakeSeconds
      Src: /src/gpac/src/ietf/sdp.c:662,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:715,1
    - Dst: SDP_IsDynamicPayload
      Src: /src/gpac/src/ietf/sdp.c:754,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:653,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:549,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:576,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:706,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/sdp.c:720,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:684,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:621,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/sdp.c:643,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:702,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:712,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:733,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:736,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:542,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:551,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:561,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:580,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:586,1
    - Dst: SDP_MakeSeconds
      Src: /src/gpac/src/ietf/sdp.c:655,1
    - Dst: gf_sdp_conn_new
      Src: /src/gpac/src/ietf/sdp.c:592,1
    - Dst: gf_sdp_conn_del
      Src: /src/gpac/src/ietf/sdp.c:612,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:746,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:615,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:631,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:648,1
    - Dst: SDP_ParseAttribute
      Src: /src/gpac/src/ietf/sdp.c:698,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:713,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:656,1
    - Dst: SDP_MakeSeconds
      Src: /src/gpac/src/ietf/sdp.c:676,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:630,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:555,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:594,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:686,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:581,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:721,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:752,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:646,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:600,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/sdp.c:602,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:626,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:632,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:725,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:731,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/sdp.c:756,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/sdp.c:760,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:765,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/ietf/sdp.c:519,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:547,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:558,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:565,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:660,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:682,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:597,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:585,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:701,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:703,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:727,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:691,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:541,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:550,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:560,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:566,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:675,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:707,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:719,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/sdp.c:749,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:647,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:536,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/sdp.c:649,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:716,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:536,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:552,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:626,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:570,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:625,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:728,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:732,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:674,1
    - Dst: gf_sdp_info_reset
      Src: /src/gpac/src/ietf/sdp.c:530,1
    - Dst: gf_token_get_line
      Src: /src/gpac/src/ietf/sdp.c:534,1
    - Dst: SDP_MakeSeconds
      Src: /src/gpac/src/ietf/sdp.c:525,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:604,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:608,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:693,1
    - Dst: gf_sdp_media_new
      Src: /src/gpac/src/ietf/sdp.c:710,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:734,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:571,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:688,1
    - Dst: SDP_MakeSeconds
      Src: /src/gpac/src/ietf/sdp.c:657,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/ietf/sdp.c:524,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:536,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:554,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:595,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:606,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:722,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/sdp.c:762,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:671,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/sdp.c:601,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/sdp.c:645,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:714,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/sdp.c:726,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/sdp.c:705,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 268
    argCount: 3
    argNames:
    - sdp
    - sdp_text
    - text_size
    argTypes:
    - GF_SDPInfo*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 770
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 770
    functionName: gf_sdp_info_parse
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_utf8_is_legal
    - gf_token_get_line
    - gf_sdp_conn_new
    - gf_sdp_media_new
    - GF_SAFEALLOC
    - gf_token_get
    - strstr
    - gf_sdp_conn_del
    - gf_sdp_info_reset
    - SDP_MakeSeconds
    - gf_strdup
    - strcmp
    - atoi
    - strcpy
    - gf_list_enum
    - SDP_IsDynamicPayload
    - gf_free
    - SDP_ParseAttribute
    - gf_sys_is_cov_mode
    - strcat
    - gf_sk_is_multicast_address
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sdp_info_parse(GF_SDPInfo *sdp, char *sdp_text,
      u32 text_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/sdp.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GF_SDPConnection*
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: SDP_CheckConnection
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_sk_is_multicast_address
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SDP_CheckConnection(GF_SDPConnection *conn) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:801,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:839,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:825,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/sdp.c:835,1
    - Dst: SDP_CheckConnection
      Src: /src/gpac/src/ietf/sdp.c:814,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/sdp.c:843,1
    - Dst: SDP_CheckConnection
      Src: /src/gpac/src/ietf/sdp.c:844,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:850,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 1
    argNames:
    - sdp
    argTypes:
    - GF_SDPInfo*
    constantsTouched: []
    func_position:
      end: 862
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 862
    functionName: gf_sdp_info_check
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    - SDP_CheckConnection
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sdp_info_check(GF_SDPInfo *sdp) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SDP_WRITE_CONN
      Src: /src/gpac/src/ietf/sdp.c:965,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:982,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1019,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1086,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:987,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1016,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1096,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1116,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1147,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1154,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1033,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1002,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1072,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1081,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1138,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1159,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1183,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1063,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1093,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:943,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:971,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:990,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1128,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1132,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1150,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1160,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1126,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:944,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:946,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:996,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1135,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/sdp.c:937,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:948,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:981,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:986,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:991,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1100,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1190,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1049,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:959,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1043,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1039,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1151,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1158,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1196,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1171,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1030,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1023,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:942,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:947,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1027,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1078,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1112,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1117,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1120,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1148,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1131,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1084,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:955,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:977,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1056,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1121,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1129,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1174,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1187,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1203,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:950,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:984,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:998,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1075,1
    - Dst: SDP_WRITE_CONN
      Src: /src/gpac/src/ietf/sdp.c:1101,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1144,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1185,1
    - Dst: gf_sdp_info_check
      Src: /src/gpac/src/ietf/sdp.c:934,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:968,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:969,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:972,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:988,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1109,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1118,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1133,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1010,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:949,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:973,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1069,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1053,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1106,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1191,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1200,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1198,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1050,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1083,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:963,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1013,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1164,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1192,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1197,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:961,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:952,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:970,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1005,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1045,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1000,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1061,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1092,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1041,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1110,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:953,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1011,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1089,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1054,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1107,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1177,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1201,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1051,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:957,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:951,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1066,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:993,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1014,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1094,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1130,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1142,1
    - Dst: SDP_WRITE_ALLOC_FLOAT
      Src: /src/gpac/src/ietf/sdp.c:1165,1
    - Dst: TEST_SDP_WRITE_SINGLE
      Src: /src/gpac/src/ietf/sdp.c:1021,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1088,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:983,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1119,1
    - Dst: SDP_WRITE_ALLOC_INT
      Src: /src/gpac/src/ietf/sdp.c:1136,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/sdp.c:1146,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1166,1
    - Dst: SDP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/sdp.c:1143,1
    - Dst: gf_realloc
      Src: /src/gpac/src/ietf/sdp.c:1210,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 212
    argCount: 2
    argNames:
    - sdp
    - out_str_buf
    argTypes:
    - GF_SDPInfo*
    - char**
    constantsTouched: []
    func_position:
      end: 1213
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 1213
    functionName: gf_sdp_info_write
    functionSourceFile: /src/gpac/src/ietf/sdp.c
    functionUses: []
    functionsReached:
    - SDP_WRITE_ALLOC_FLOAT
    - gf_malloc
    - gf_realloc
    - gf_list_enum
    - TEST_SDP_WRITE_SINGLE
    - SDP_WRITE_ALLOC_STR
    - SDP_WRITE_ALLOC_INT
    - SDP_WRITE_CONN
    - gf_sdp_info_check
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sdp_info_write(GF_SDPInfo *sdp, char **out_str_buf) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:504,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:506,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:505,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:508,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:524,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:559,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:539,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:568,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:573,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:582,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:589,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:525,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:527,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:543,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:567,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:573,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:592,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:598,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:601,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:515,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:542,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:540,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:541,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:574,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:581,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:595,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:586,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:507,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:509,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:510,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:534,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:563,1
    - Dst: gf_rtp_ttxt_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:575,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:578,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:581,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:594,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:593,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 115
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 602
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 602
    functionName: gf_rtp_parse_ttxt
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_u24
    - gf_bs_write_data
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - gf_bs_skip_bytes
    - gf_assert
    - gf_rtp_ttxt_flush
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_ttxt(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_h264_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:733,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:744,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:752,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:753,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:755,1
    - Dst: gf_rtp_h264_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:756,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 111
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 758
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 758
    functionName: gf_rtp_parse_h264
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_rtp_h264_flush
    linkageType: ''
    returnType: void
    signature: 'void gf_rtp_parse_h264(GF_RTPDepacketizer *rtp, GF_RTPHeader *hdr,
      u8 *payload, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:612,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:613,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - rtp
    - hdr
    - missed_end
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - Bool
    constantsTouched: []
    func_position:
      end: 638
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 638
    functionName: gf_rtp_h264_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_h264_flush(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, Bool missed_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_parse_ac3_eac3
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: gf_rtp_parse_eac3
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_parse_ac3_eac3
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_eac3(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1199
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1199
    functionName: gf_rtp_parse_opus
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_opus(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1138,1
    - Dst: gf_eac3_parser
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1143,1
    - Dst: gf_ac3_parser
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1147,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1158,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 5
    argNames:
    - rtp
    - hdr
    - payload
    - size
    - is_eac3
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1177
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1177
    functionName: gf_rtp_parse_ac3_eac3
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_ac3_parser
    - gf_odf_ac3_cfg_write
    - gf_eac3_parser
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_ac3_eac3(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size, Bool is_eac3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_depacketizer_reset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2025,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2027,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2028,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - rtp
    argTypes:
    - GF_RTPDepacketizer*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2030
    functionName: gf_rtp_depacketizer_del
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_depacketizer_reset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_depacketizer_del(GF_RTPDepacketizer *rtp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: gf_rtp_parse_pass_through
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_pass_through(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_parse_ac3_eac3
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1181
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1181
    functionName: gf_rtp_parse_ac3
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_parse_ac3_eac3
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_ac3(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2038
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2038
    functionName: gf_rtp_depacketizer_process
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_depacketizer_process(GF_RTPDepacketizer *rtp,
      GF_RTPHeader *hdr, u8 *payload, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:770,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:771,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - rtp
    - hdr
    - missed_end
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - Bool
    constantsTouched: []
    func_position:
      end: 790
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 790
    functionName: gf_rtp_hevc_vvc_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_hevc_vvc_flush(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, Bool missed_end) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_hevc_vvc_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:871,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:883,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:891,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:892,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:894,1
    - Dst: gf_rtp_hevc_vvc_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:895,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 97
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 897
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 897
    functionName: gf_rtp_parse_hevc
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_hevc_vvc_flush
    - gf_bs_write_u32
    - gf_bs_new
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_hevc(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:265,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:268,1
    - Dst: GF_4CC
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:281,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:267,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:266,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:282,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:283,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:284,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:286,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 317
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 317
    functionName: gf_rtp_parse_mpeg12_audio
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_del
    - GF_4CC
    - gf_mp3_num_channels
    - gf_mp3_frame_size
    - gf_bs_new
    - gf_mp3_sampling_rate
    - gf_mp3_window_size
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_mpeg12_audio(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 352
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 352
    functionName: gf_rtp_parse_mpeg12_video
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_mpeg12_video(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:57,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:68,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:63,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:69,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:75,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:76,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:142,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:148,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:174,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:181,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:58,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:108,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:64,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:72,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:73,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:116,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:107,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:71,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:151,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:156,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:169,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:197,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:247,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 182
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 248
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 248
    functionName: gf_rtp_parse_mpeg4
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_mpeg4(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:409,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:413,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:411,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:412,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:414,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:415,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:419,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:423,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:425,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 454
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 454
    functionName: gf_rtp_parse_h263
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_h263(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1212,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1213,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1218,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1227,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1238,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1237,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1236,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1235,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1240,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1207,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1209,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1211,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1208,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1221,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1232,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1233,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1234,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1242,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1226,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1227,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1234,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1243,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1244,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1245,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1246,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1247,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1248,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1249,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - map
    - media
    argTypes:
    - GF_RTPMap*
    - GF_SDPMedia*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1251
    functionName: gf_rtp_get_payload_type
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_strdup
    - atoi
    - gf_free
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_rtp_get_payload_type(GF_RTPMap *map, GF_SDPMedia *media) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1281,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1297,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1296,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1305,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1308,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1308,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1320,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1320,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1322,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1322,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1327,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1355,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1343,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1356,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1338,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1327,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1267,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1273,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1282,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1287,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1293,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1314,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1334,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1337,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1344,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1350,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1354,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1292,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1303,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1304,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1306,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1308,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1321,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1321,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1323,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1323,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1324,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1353,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1333,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1325,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1326,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1356,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1265,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1274,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1269,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1276,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1284,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1286,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1300,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1301,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1308,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1324,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1344,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1330,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1352,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1360,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1325,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1349,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1361,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1326,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1351,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 165
    argCount: 3
    argNames:
    - rtp
    - param_name
    - param_val
    argTypes:
    - GF_RTPDepacketizer*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1364
    functionName: payt_set_param
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_del
    - sscanf
    - strcpy
    - gf_strdup
    - gf_bs_new
    - atoi
    - gf_bs_write_u8
    - gf_free
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err payt_set_param(GF_RTPDepacketizer *rtp, char *param_name,
      char *param_val) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1939,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1949,1
    - Dst: gf_rtp_is_valid_static_payt
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1943,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1942,1
    - Dst: gf_rtp_is_valid_static_payt
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1947,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1958,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1961,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1963,1
    - Dst: gf_rtp_is_valid_static_payt
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1966,1
    - Dst: gf_rtp_get_payload_type
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1973,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1987,1
    - Dst: gf_rtp_payt_setup
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1994,1
    - Dst: gf_rtp_is_valid_static_payt
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1978,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1996,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2000,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 4
    argNames:
    - media
    - hdr_payt
    - sl_packet_cbk
    - udta
    argTypes:
    - GF_SDPMedia*
    - u32
    - gf_rtp_packet_cbk
    - void*
    constantsTouched: []
    func_position:
      end: 2004
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 2004
    functionName: gf_rtp_depacketizer_new
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sys_is_cov_mode
    - gf_list_count
    - GF_LOG
    - gf_rtp_get_payload_type
    - gf_rtp_payt_setup
    - strchr
    - atoi
    - GF_SAFEALLOC
    - gf_assert
    - gf_rtp_is_valid_static_payt
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPDepacketizer *gf_rtp_depacketizer_new(GF_SDPMedia
      *media, u32 hdr_payt, gf_rtp_packet_cbk sl_packet_cbk, void *udta) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2044,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - rtp
    - slc
    argTypes:
    - GF_RTPDepacketizer*
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2083
    functionName: gf_rtp_depacketizer_get_slconfig
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gf_rtp_depacketizer_get_slconfig(GF_RTPDepacketizer *rtp, GF_SLConfig
      *slc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 398
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 398
    functionName: gf_rtp_parse_amr
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_amr(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:469,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:470,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:473,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:472,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:474,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:474,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:475,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:476,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:477,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:478,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:479,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:485,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:489,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:482,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - rtp
    - ts
    argTypes:
    - GF_RTPDepacketizer*
    - u32
    constantsTouched: []
    func_position:
      end: 492
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 492
    functionName: gf_rtp_ttxt_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_ttxt_flush(GF_RTPDepacketizer *rtp, u32 ts) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_hevc_vvc_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:981,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:994,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1000,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1001,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1003,1
    - Dst: gf_rtp_hevc_vvc_flush
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1004,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 101
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1006
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 1006
    functionName: gf_rtp_parse_vvc
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_rtp_hevc_vvc_flush
    - gf_bs_write_u32
    - gf_bs_new
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_vvc(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1545,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1605,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1589,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1699,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1400,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1401,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1432,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1441,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1544,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1614,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1604,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1626,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1588,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1602,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1690,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1722,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1380,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1413,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1763,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1385,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1679,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1703,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1717,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1372,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1434,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1500,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1502,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1591,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1639,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1776,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1778,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1794,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1812,1
    - Dst: payt_set_param
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1386,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1403,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1580,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1735,1
    - Dst: gf_odf_vvc_cfg_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1739,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1818,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1760,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1587,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1374,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1399,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1439,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1661,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1686,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1775,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1586,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1598,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1402,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1592,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1691,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1696,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1706,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1789,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1821,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1440,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1599,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1770,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1772,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1764,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1718,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1424,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1409,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1483,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1588,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1640,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1689,1
    - Dst: gf_odf_opus_cfg_write
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1872,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1619,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1433,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1437,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1509,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1608,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1589,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1624,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1657,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1673,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1766,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1406,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1430,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1475,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1547,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1566,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1646,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1717,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1756,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1793,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1799,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1745,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1817,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1410,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1426,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1417,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1572,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1601,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1606,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1584,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1591,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1698,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1610,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1590,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1630,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1632,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1642,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1677,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1801,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1803,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1593,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1603,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1436,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1479,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1587,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1600,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1769,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1792,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1820,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1813,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1586,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1592,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1609,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1607,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1398,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1411,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1641,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1643,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1797,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1800,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 485
    argCount: 3
    argNames:
    - rtp
    - map
    - media
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPMap*
    - GF_SDPMedia*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1884
    functionName: gf_rtp_payt_setup
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - strlen
    - gf_bs_get_content
    - gf_malloc
    - gf_list_add
    - memset
    - gf_bs_write_data
    - GF_LOG
    - gf_m4a_write_config
    - GF_SAFEALLOC
    - gf_bs_del
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_write
    - atoi
    - gf_odf_hevc_cfg_new
    - stricmp
    - gf_bs_write_int
    - gf_list_new
    - gf_odf_avc_cfg_new
    - gf_list_get
    - gf_odf_vvc_cfg_write
    - gf_list_enum
    - gf_bs_write_u16
    - gf_bs_read_int
    - gf_bs_new
    - gf_odf_avc_cfg_write
    - memcpy
    - strchr
    - gf_bs_write_u8
    - gf_free
    - strnicmp
    - gf_odf_vvc_cfg_del
    - gf_base64_decode
    - gf_odf_vvc_cfg_new
    - sscanf
    - gf_odf_opus_cfg_write
    - gf_odf_hevc_cfg_del
    - gf_bs_align
    - payt_set_param
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_rtp_payt_setup(GF_RTPDepacketizer *rtp, GF_RTPMap
      *map, GF_SDPMedia *media) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - payt
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1924
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1924
    functionName: gf_rtp_is_valid_static_payt
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_RTPStaticMap*
    signature: 'static const GF_RTPStaticMap *gf_rtp_is_valid_static_payt(u32 payt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2010,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:2015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rtp
    - full_reset
    argTypes:
    - GF_RTPDepacketizer*
    - Bool
    constantsTouched: []
    func_position:
      end: 2019
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2019
    functionName: gf_rtp_depacketizer_reset
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_depacketizer_reset(GF_RTPDepacketizer *rtp,
      Bool full_reset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1038
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1038
    functionName: gf_rtp_parse_latm
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_latm(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1091,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1105,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1068,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1070,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1082,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1087,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1101,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1113,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1080,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1069,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1083,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1093,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1102,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1098,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1096,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_depacketizer.c:1092,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - rtp
    - hdr
    - payload
    - size
    argTypes:
    - GF_RTPDepacketizer*
    - GF_RTPHeader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1118
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1118
    functionName: gf_rtp_parse_3gpp_dims
    functionSourceFile: /src/gpac/src/ietf/rtp_depacketizer.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_read_u16
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_parse_3gpp_dims(GF_RTPDepacketizer *rtp, GF_RTPHeader
      *hdr, u8 *payload, u32 size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:55,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:59,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:61,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:65,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:69,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:73,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:77,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:81,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:87,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:92,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:118,1
    - Dst: gf_rtsp_transport_del
      Src: /src/gpac/src/ietf/rtsp_response.c:104,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_response.c:109,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:108,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:56,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:62,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:66,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:70,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:74,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:78,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:82,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:84,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:88,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:101,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:107,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:111,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:117,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:54,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:57,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:63,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:71,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:67,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:75,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:79,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:83,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:85,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:91,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:102,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_response.c:115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:114,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:58,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:60,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:64,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:68,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:72,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:76,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:80,1
    - Dst: RSP_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_response.c:86,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:96,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_response.c:103,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - GF_RTSPResponse*
    constantsTouched: []
    func_position:
      end: 120
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 120
    functionName: gf_rtsp_response_reset
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_rtsp_transport_del
    - gf_list_rem
    - gf_free
    - RSP_FREE_CLEAN
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_response_reset(GF_RTSPResponse *rsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_response.c:141,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:145,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:147,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_response.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - range_buf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: gf_rtsp_range_parse
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - sscanf
    - strstr
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPRange *gf_rtsp_range_parse(char *range_buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_response.c:169,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:174,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_response.c:170,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:172,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - original
    argTypes:
    - GF_RTSPTransport*
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: gf_rtsp_transport_clone
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_strdup
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPTransport *gf_rtsp_transport_clone(GF_RTSPTransport
      *original) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - range
    argTypes:
    - GF_RTSPRange*
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: gf_rtsp_range_del
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_range_del(GF_RTSPRange *range) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_get_line
      Src: /src/gpac/src/ietf/rtsp_response.c:325,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:335,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_response.c:332,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtsp_response.c:338,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:329,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:340,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:341,1
    - Dst: gf_rtsp_parse_header
      Src: /src/gpac/src/ietf/rtsp_response.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - sess
    - rsp
    - BodyStart
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPResponse*
    - u32
    constantsTouched: []
    func_position:
      end: 344
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 344
    functionName: RTSP_ParseResponseHeader
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_token_get_line
    - gf_strdup
    - strcmp
    - atoi
    - gf_rtsp_parse_header
    - gf_token_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RTSP_ParseResponseHeader(GF_RTSPSession *sess, GF_RTSPResponse
      *rsp, u32 BodyStart) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: IsRTSPMessage
      Src: /src/gpac/src/ietf/rtsp_response.c:384,1
    - Dst: RTSP_ParseResponseHeader
      Src: /src/gpac/src/ietf/rtsp_response.c:401,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_response.c:412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_response.c:448,1
    - Dst: gf_rtsp_check_connection
      Src: /src/gpac/src/ietf/rtsp_response.c:374,1
    - Dst: gf_rtsp_read_reply
      Src: /src/gpac/src/ietf/rtsp_response.c:389,1
    - Dst: gf_rtsp_get_body_info
      Src: /src/gpac/src/ietf/rtsp_response.c:394,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_response.c:407,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_response.c:461,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_response.c:454,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:466,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_response.c:411,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_response.c:438,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_response.c:415,1
    - Dst: gf_rtsp_get_response
      Src: /src/gpac/src/ietf/rtsp_response.c:444,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_response.c:472,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_response.c:479,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/ietf/rtsp_response.c:372,1
    - Dst: gf_rtsp_session_read
      Src: /src/gpac/src/ietf/rtsp_response.c:385,1
    - Dst: gf_rtsp_fill_buffer
      Src: /src/gpac/src/ietf/rtsp_response.c:379,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_response.c:432,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_response.c:474,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 95
    argCount: 2
    argNames:
    - sess
    - rsp
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPResponse*
    constantsTouched: []
    func_position:
      end: 484
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 484
    functionName: gf_rtsp_get_response
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_rtsp_get_response
    - gf_malloc
    - gf_rtsp_read_reply
    - strncmp
    - gf_rtsp_session_reset
    - gf_rtsp_check_connection
    - RTSP_ParseResponseHeader
    - GF_LOG
    - strcmp
    - gf_sk_del
    - memcpy
    - gf_rtsp_session_read
    - strcpy
    - gf_rtsp_response_reset
    - stricmp
    - IsRTSPMessage
    - gf_rtsp_get_body_info
    - gf_rtsp_fill_buffer
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_get_response(GF_RTSPSession *sess, GF_RTSPResponse
      *rsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_response.c:36,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_response.c:40,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_response.c:38,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_response.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: gf_rtsp_response_new
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPResponse *gf_rtsp_response_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/ietf/rtsp_response.c:127,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_response.c:128,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_response.c:129,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_response.c:130,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - GF_RTSPResponse*
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: gf_rtsp_response_del
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_rtsp_response_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_response_del(GF_RTSPResponse *rsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:156,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:157,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:158,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - transp
    argTypes:
    - GF_RTSPTransport*
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: gf_rtsp_transport_del
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_transport_del(GF_RTSPTransport *transp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_response.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: gf_rtsp_range_new
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPRange *gf_rtsp_range_new() '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:204,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:221,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:231,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:252,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:213,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:225,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:235,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:238,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:289,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:230,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:227,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:203,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:217,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:218,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:220,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:260,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:237,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:234,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:233,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:222,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:232,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:205,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:206,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:210,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_response.c:248,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:258,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:226,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:239,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:270,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:278,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:283,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:293,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:204,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:221,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:231,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:245,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:302,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:304,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:238,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:208,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:206,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:211,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:223,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:233,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:254,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:265,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:287,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:288,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:215,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:201,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:228,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:240,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:304,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:205,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:209,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:210,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:232,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:236,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:212,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:224,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:227,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:239,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:267,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_response.c:280,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:281,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_response.c:285,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:288,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:219,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:229,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:202,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:216,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:241,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_response.c:296,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:223,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:208,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:209,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:207,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:211,1
    - Dst: gf_rtsp_range_parse
      Src: /src/gpac/src/ietf/rtsp_response.c:265,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:287,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_response.c:301,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_response.c:305,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:201,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:213,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:214,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:215,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:225,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:228,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:240,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:292,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:203,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:217,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:220,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:230,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:242,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_response.c:300,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:235,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:236,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:224,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:207,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:212,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:237,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:234,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_response.c:253,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_response.c:273,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:290,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:216,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_response.c:218,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:226,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:229,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:219,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:202,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_response.c:214,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_response.c:241,1
    - Dst: gf_rtsp_transport_parse
      Src: /src/gpac/src/ietf/rtsp_response.c:247,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 239
    argCount: 3
    argNames:
    - rsp
    - Header
    - Value
    argTypes:
    - GF_RTSPResponse*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 308
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 308
    functionName: gf_rtsp_set_response_value
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_rtsp_transport_parse
    - strlen
    - gf_rtsp_range_parse
    - sscanf
    - gf_strdup
    - GF_SAFEALLOC
    - strcpy
    - stricmp
    - gf_token_get
    - strstr
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'void gf_rtsp_set_response_value(GF_RTSPResponse *rsp, char *Header,
      char *Value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:353,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:355,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:354,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:355,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:356,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:356,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:357,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:357,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:358,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:358,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_response.c:359,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: IsRTSPMessage
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: u32
    signature: 'u32 IsRTSPMessage(char *buffer) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:503,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:525,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:589,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:545,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:549,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:584,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:613,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:618,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:628,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:636,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:499,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:565,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:607,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:617,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:625,1
    - Dst: RTSP_WRITE_HEX
      Src: /src/gpac/src/ietf/rtsp_response.c:664,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_response.c:594,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:557,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:587,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:602,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:519,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:510,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:539,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:555,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:600,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_response.c:556,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:673,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:504,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:561,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:621,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:629,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:654,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:658,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:659,1
    - Dst: gf_rtsp_nc_to_string
      Src: /src/gpac/src/ietf/rtsp_response.c:503,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:513,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:524,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:544,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:548,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:609,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:624,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:642,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:651,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:672,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:593,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:520,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:564,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:569,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:595,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:632,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:685,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:543,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:576,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:598,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:509,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:531,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:620,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_response.c:678,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:680,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:581,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:502,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:501,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:582,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:508,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:523,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:547,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:551,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:571,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:527,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:646,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:671,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:535,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:537,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:585,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:586,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:604,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:682,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:690,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:514,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:597,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_response.c:559,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:580,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:542,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:635,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:652,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:653,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:675,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:532,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:614,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:633,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:657,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:663,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:518,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:522,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:526,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:546,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:550,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:643,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:660,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:515,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:534,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:566,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_response.c:577,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:541,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:500,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:511,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:530,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_response.c:531,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:647,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:674,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_response.c:601,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_response.c:495,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_response.c:507,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_response.c:538,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:681,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_response.c:687,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 167
    argCount: 4
    argNames:
    - sess
    - rsp
    - out_buffer
    - out_size
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPResponse*
    - unsigned char**
    - u32*
    constantsTouched: []
    func_position:
      end: 692
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 692
    functionName: RTSP_WriteResponse
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - RTSP_WRITE_ALLOC_STR
    - gf_malloc
    - RTSP_WRITE_HEADER
    - strlen
    - gf_list_get
    - RTSP_WRITE_INT
    - RTSP_WRITE_FLOAT_WITHOUT_CHECK
    - gf_list_count
    - gf_rtsp_nc_to_string
    - RTSP_WRITE_HEX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RTSP_WriteResponse(GF_RTSPSession *sess, GF_RTSPResponse *rsp,
      unsigned char **out_buffer, u32 *out_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTSP_WriteResponse
      Src: /src/gpac/src/ietf/rtsp_response.c:707,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_response.c:709,1
    - Dst: gf_rtsp_send_data
      Src: /src/gpac/src/ietf/rtsp_response.c:711,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_response.c:713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - sess
    - rsp
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPResponse*
    constantsTouched: []
    func_position:
      end: 715
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 715
    functionName: gf_rtsp_send_response
    functionSourceFile: /src/gpac/src/ietf/rtsp_response.c
    functionUses: []
    functionsReached:
    - gf_rtsp_send_data
    - RTSP_WriteResponse
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_send_response(GF_RTSPSession *sess, GF_RTSPResponse
      *rsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_fill_buffer
      Src: /src/gpac/src/ietf/rtsp_common.c:163,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_common.c:168,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_common.c:166,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_common.c:165,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_common.c:167,1
    - Dst: gf_rstp_do_read_sock
      Src: /src/gpac/src/ietf/rtsp_common.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 180
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 180
    functionName: gf_rtsp_refill_buffer
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_rstp_do_read_sock
    - memcpy
    - gf_free
    - gf_rtsp_fill_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_refill_buffer(GF_RTSPSession *sess) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_find
      Src: /src/gpac/src/ietf/rtsp_common.c:76,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_common.c:93,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_common.c:94,1
    - Dst: gf_token_find
      Src: /src/gpac/src/ietf/rtsp_common.c:83,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_common.c:88,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_common.c:99,1
    - Dst: atoi
      Src: /src/gpac/src/ietf/rtsp_common.c:102,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - sess
    - body_start
    - body_size
    - skip_tunnel
    argTypes:
    - GF_RTSPSession*
    - u32*
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: gf_rtsp_get_body_info
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_token_find
    - strchr
    - atoi
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void gf_rtsp_get_body_info(GF_RTSPSession *sess, u32 *body_start,
      u32 *body_size, Bool skip_tunnel) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_common.c:221,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_common.c:211,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_common.c:230,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:235,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:245,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:244,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:249,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:257,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:258,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:272,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:219,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_common.c:213,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_common.c:236,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:239,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_common.c:237,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:257,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:258,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:259,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:266,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:271,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_common.c:211,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_common.c:225,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:246,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_common.c:241,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:243,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_common.c:240,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:250,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:260,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:265,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_common.c:276,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:223,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_common.c:276,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 279
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 279
    functionName: gf_rtsp_transport_parse
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_strdup
    - gf_free
    - GF_SAFEALLOC
    - strcpy
    - stricmp
    - gf_token_get
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_RTSPTransport*
    signature: 'GF_RTSPTransport *gf_rtsp_transport_parse(u8 *buffer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_get_body_info
      Src: /src/gpac/src/ietf/rtsp_common.c:41,1
    - Dst: gf_rtsp_refill_buffer
      Src: /src/gpac/src/ietf/rtsp_common.c:52,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: gf_rtsp_read_reply
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - gf_rtsp_refill_buffer
    - gf_rtsp_get_body_info
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_read_reply(GF_RTSPSession *sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rstp_do_read_sock
      Src: /src/gpac/src/ietf/rtsp_common.c:190,1
    - Dst: gf_rstp_do_read_sock
      Src: /src/gpac/src/ietf/rtsp_common.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPSession*
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: gf_rtsp_fill_buffer
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - gf_rstp_do_read_sock
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_fill_buffer(GF_RTSPSession *sess) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive
      Src: /src/gpac/src/ietf/rtsp_common.c:117,1
    - Dst: SSL_get_error
      Src: /src/gpac/src/ietf/rtsp_common.c:127,1
    - Dst: gf_sk_probe
      Src: /src/gpac/src/ietf/rtsp_common.c:125,1
    - Dst: SSL_read
      Src: /src/gpac/src/ietf/rtsp_common.c:122,1
    - Dst: SSL_pending
      Src: /src/gpac/src/ietf/rtsp_common.c:119,1
    - Dst: gf_sk_receive
      Src: /src/gpac/src/ietf/rtsp_common.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - sess
    - sock
    - data
    - data_size
    - out_read
    argTypes:
    - GF_RTSPSession*
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 149
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 149
    functionName: gf_rstp_do_read_sock
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - gf_sk_receive
    - SSL_pending
    - SSL_get_error
    - gf_sk_probe
    - SSL_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rstp_do_read_sock(GF_RTSPSession *sess, GF_Socket *sock,
      u8 *data, u32 data_size, u32 *out_read) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_common.c:292,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:308,1
    - Dst: gf_token_get_line
      Src: /src/gpac/src/ietf/rtsp_common.c:294,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:298,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/rtsp_common.c:314,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/rtsp_common.c:315,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_common.c:320,1
    - Dst: gf_rtsp_set_response_value
      Src: /src/gpac/src/ietf/rtsp_common.c:322,1
    - Dst: gf_rtsp_set_command_value
      Src: /src/gpac/src/ietf/rtsp_common.c:325,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_common.c:332,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_common.c:343,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_common.c:339,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 5
    argNames:
    - buffer
    - BufferSize
    - BodyStart
    - com
    - rsp
    argTypes:
    - u8*
    - u32
    - u32
    - GF_RTSPCommand*
    - GF_RTSPResponse*
    constantsTouched: []
    func_position:
      end: 349
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 349
    functionName: gf_rtsp_parse_header
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - gf_token_get_line
    - strcmp
    - gf_rtsp_set_command_value
    - gf_rtsp_set_response_value
    - strcpy
    - gf_token_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtsp_parse_header(u8 *buffer, u32 BufferSize, u32 BodyStart,
      GF_RTSPCommand *com, GF_RTSPResponse *rsp) '
  - BBCount: 45
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 2
    argCount: 1
    argNames:
    - ErrCode
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 445
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 445
    functionName: gf_rtsp_nc_to_string
    functionSourceFile: /src/gpac/src/ietf/rtsp_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_rtsp_nc_to_string(u32 ErrCode) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:112,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:119,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:113,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:128,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:129,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:141,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:150,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:158,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:169,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:180,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:186,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:191,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:175,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:196,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - builder
    - PayloadSize
    - RTP_TS
    argTypes:
    - GP_RTPPacketizer*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 201
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 201
    functionName: gf_rtp_build_au_hdr_write
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_rtp_build_au_hdr_write(GP_RTPPacketizer *builder, u32 PayloadSize,
      u32 RTP_TS) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:489,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:490,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 99
    argCount: 5
    argNames:
    - builder
    - nalu
    - nalu_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 536
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 536
    functionName: gp_rtp_builder_do_avc
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_avc(GP_RTPPacketizer *builder, u8 *nalu,
      u32 nalu_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:709,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:711,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:777,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:779,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:792,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:807,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:791,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 136
    argCount: 5
    argNames:
    - builder
    - nalu
    - nalu_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 854
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 854
    functionName: gp_rtp_builder_do_vvc
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_assert
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_vvc(GP_RTPPacketizer *builder, u8 *nalu,
      u32 nalu_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:351,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:368,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:370,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:268,1
    - Dst: gf_rtp_build_au_hdr_size
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:286,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:364,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:360,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:386,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:322,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:376,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:356,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:260,1
    - Dst: gf_rtp_build_au_hdr_write
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:316,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:361,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:378,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:363,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:390,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 398
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 398
    functionName: gp_rtp_builder_do_mpeg4
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_write_data
    - gf_rtp_build_au_hdr_write
    - gf_bs_new
    - gf_bs_seek
    - gf_rtp_build_au_hdr_size
    - gf_bs_align
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_mpeg4(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:651,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:638,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:553,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:555,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:623,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:625,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:637,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 146
    argCount: 5
    argNames:
    - builder
    - nalu
    - nalu_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 692
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 692
    functionName: gp_rtp_builder_do_hevc
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_assert
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_hevc(GP_RTPPacketizer *builder, u8 *nalu,
      u32 nalu_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GP_RTPPacketizer*
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: latm_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void latm_flush(GP_RTPPacketizer *builder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: latm_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:870,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:891,1
    - Dst: latm_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:881,1
    - Dst: latm_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:876,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:914,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:921,1
    - Dst: latm_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:934,1
    - Dst: latm_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg4.c:938,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 6
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    - duration
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 941
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 941
    functionName: gp_rtp_builder_do_latm
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached:
    - latm_flush
    - gf_assert
    - gf_malloc
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_latm(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 2
    argNames:
    - builder
    - slh
    argTypes:
    - GP_RTPPacketizer*
    - GF_SLHeader*
    constantsTouched: []
    func_position:
      end: 101
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 101
    functionName: gf_rtp_build_au_hdr_size
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_rtp_build_au_hdr_size(GP_RTPPacketizer *builder, GF_SLHeader
      *slh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:199,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:201,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:207,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GP_RTPPacketizer*
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: rtp_evrc_smv_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_del
    - gf_free
    - gf_bs_get_content
    linkageType: ''
    returnType: void
    signature: 'static void rtp_evrc_smv_flush(GP_RTPPacketizer *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - idx
    - rates
    - nb_rates
    argTypes:
    - u32
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: qes_get_rate_size
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u8 qes_get_rate_size(u32 idx, const unsigned int *rates,
      const unsigned int nb_rates) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:319,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:320,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:317,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:318,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 337
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 337
    functionName: gp_rtp_builder_do_h263
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_h263(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:492,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:493,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:494,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:501,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:506,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:551,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:554,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:426,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:427,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:428,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:431,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:434,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:502,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:547,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:430,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:438,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:498,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:548,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:549,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:550,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:556,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:499,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:553,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:503,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:429,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:433,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:435,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:491,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:495,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:496,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:497,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:552,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:557,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:560,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 197
    argCount: 7
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    - duration
    - descIndex
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 583
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 583
    functionName: gp_rtp_builder_do_tx3g
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_tx3g(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration, u8 descIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GP_RTPPacketizer*
    constantsTouched: []
    func_position:
      end: 727
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 727
    functionName: gf_rtp_ac3_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_ac3_flush(GP_RTPPacketizer *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:36,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:37,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GP_RTPPacketizer*
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: rtp_amr_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void rtp_amr_flush(GP_RTPPacketizer *builder) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtp_amr_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:53,1
    - Dst: rtp_amr_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:74,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:82,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:85,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:87,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:88,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:94,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:95,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:97,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:114,1
    - Dst: rtp_amr_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:116,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: gp_rtp_builder_do_amr
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_assert
    - rtp_amr_flush
    - gf_bs_new
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_amr(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qes_get_rate_size
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:148,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 190
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 190
    functionName: gp_rtp_builder_do_qcelp
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_assert
    - qes_get_rate_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_qcelp(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rtp_evrc_smv_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:219,1
    - Dst: rtp_evrc_smv_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:237,1
    - Dst: qes_get_rate_size
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:228,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:245,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:248,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:250,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:252,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:259,1
    - Dst: rtp_evrc_smv_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:278,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:276,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 281
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 281
    functionName: gp_rtp_builder_do_smv
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_bs_write_u8
    - qes_get_rate_size
    - gf_assert
    - gf_bs_write_int
    - rtp_evrc_smv_flush
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_smv(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: gp_rtp_builder_do_mp2t
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_mp2t(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_ac3_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:736,1
    - Dst: gf_rtp_ac3_flush
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:751,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:779,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:786,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 817
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 817
    functionName: gp_rtp_builder_do_ac3
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_rtp_ac3_flush
    - MIN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_ac3(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 844
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 844
    functionName: gp_rtp_builder_do_opus
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_opus(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:599,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:605,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:608,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:611,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:707,1
    - Dst: gf_assert
      Src: /src/gpac/src/ietf/rtp_pck_3gpp.c:698,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 104
    argCount: 6
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    - duration
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 709
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 709
    functionName: gp_rtp_builder_do_dims
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_del
    - gf_bs_new
    - gf_bs_skip_bytes
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_dims(GP_RTPPacketizer *builder, u8 *data,
      u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_packetizer.c:49,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_packetizer.c:55,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:53,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 24
    argCount: 8
    argNames:
    - rtp_payt
    - slc
    - flags
    - cbk_obj
    - (*OnNewPacket)
    - (*OnPacketDone)
    - (*OnDataReference)
    - (*OnData)
    argTypes:
    - u32
    - GF_SLConfig*
    - u32
    - void*
    - void
    - void
    - void
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: gf_rtp_builder_new
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GP_RTPPacketizer *gf_rtp_builder_new(u32 rtp_payt, GF_SLConfig
      *slc, u32 flags, void *cbk_obj, void (*OnNewPacket)(void *cbk, GF_RTPHeader
      *header), void (*OnPacketDone)(void *cbk, GF_RTPHeader *header), void (*OnDataReference)(void
      *cbk, u32 payload_size, u32 offset_from_orig), void (*OnData)(void *cbk, u8
      *data, u32 data_size, Bool is_head) ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_packetizer.c:429,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:440,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:444,1
    - Dst: memcmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:434,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_packetizer.c:439,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - builder
    - IV
    - key_indicator
    - is_encrypted
    argTypes:
    - GP_RTPPacketizer*
    - u64
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 450
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 450
    functionName: gf_rtp_builder_set_cryp_info
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcmp
    - memcpy
    - gf_free
    - gf_get_bit_size
    linkageType: ''
    returnType: void
    signature: 'void gf_rtp_builder_set_cryp_info(GP_RTPPacketizer *builder, u64 IV,
      char *key_indicator, Bool is_encrypted) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_packetizer.c:148,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:236,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:249,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:243,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:155,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:255,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:260,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:266,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:283,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:310,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:394,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:385,1
    - Dst: gf_rtp_builder_init
      Src: /src/gpac/src/ietf/rtp_packetizer.c:339,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:355,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:367,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/ietf/rtp_packetizer.c:359,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:403,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 285
    argCount: 14
    argNames:
    - builder
    - PayloadType
    - PathMTU
    - max_ptime
    - StreamType
    - codecid
    - PL_ID
    - avgSize
    - maxSize
    - avgTS
    - maxDTS
    - IV_length
    - KI_length
    - pref_mode
    argTypes:
    - GP_RTPPacketizer*
    - u8
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 420
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 420
    functionName: gf_rtp_builder_init
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - memset
    - strcpy
    - gf_rtp_builder_init
    - strnicmp
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_builder_init(GP_RTPPacketizer *builder, u8 PayloadType,
      u32 PathMTU, u32 max_ptime, u32 StreamType, u32 codecid, u32 PL_ID, u32 avgSize,
      u32 maxSize, u32 avgTS, u32 maxDTS, u32 IV_length, u32 KI_length, char *pref_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_packetizer.c:80,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_packetizer.c:81,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_packetizer.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GP_RTPPacketizer*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: gf_rtp_builder_del
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_builder_del(GP_RTPPacketizer *builder) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:467,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:482,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:495,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:496,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:503,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:504,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:511,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:512,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:519,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:534,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:564,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:569,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:556,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:560,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:483,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:521,1
    - Dst: strcat
      Src: /src/gpac/src/ietf/rtp_packetizer.c:526,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:529,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:530,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:547,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:563,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:568,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:555,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:559,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:481,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:473,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:487,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:488,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:491,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:499,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:500,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:492,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:507,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:508,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:516,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:535,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:540,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:544,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:548,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:572,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:523,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:460,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:476,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:484,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:539,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:573,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:552,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:551,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:543,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtp_packetizer.c:515,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 3
    argNames:
    - rtpb
    - szPayloadName
    - szMediaName
    argTypes:
    - GP_RTPPacketizer*
    - char
    - char
    constantsTouched: []
    func_position:
      end: 577
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 577
    functionName: gf_rtp_builder_get_payload_name
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_rtp_builder_get_payload_name(GP_RTPPacketizer *rtpb,
      char szPayloadName[20], char szMediaName[20]) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_packetizer.c:609,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_packetizer.c:622,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtp_packetizer.c:625,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_packetizer.c:626,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:636,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:643,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:652,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:663,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:664,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:655,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:614,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_packetizer.c:621,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:630,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:636,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:646,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:647,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:648,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:649,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:650,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:651,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:654,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:662,1
    - Dst: SDP_ADD_STR
      Src: /src/gpac/src/ietf/rtp_packetizer.c:639,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:661,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtp_packetizer.c:608,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:612,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:635,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:644,1
    - Dst: SDP_ADD_STR
      Src: /src/gpac/src/ietf/rtp_packetizer.c:637,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:645,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:665,1
    - Dst: SDP_ADD_INT
      Src: /src/gpac/src/ietf/rtp_packetizer.c:653,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 62
    argCount: 5
    argNames:
    - builder
    - payload_name
    - out_sdp_line
    - dsi
    - dsi_size
    argTypes:
    - GP_RTPPacketizer*
    - char*
    - char**
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 671
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 671
    functionName: gf_rtp_builder_format_sdp
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - sprintf
    - strcmp
    - SDP_ADD_STR
    - SDP_ADD_INT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_builder_format_sdp(GP_RTPPacketizer *builder,
      char *payload_name, char **out_sdp_line, char *dsi, u32 dsi_size) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gp_rtp_builder_do_mpeg4
      Src: /src/gpac/src/ietf/rtp_packetizer.c:92,1
    - Dst: gp_rtp_builder_do_mpeg12_video
      Src: /src/gpac/src/ietf/rtp_packetizer.c:95,1
    - Dst: gp_rtp_builder_do_h263
      Src: /src/gpac/src/ietf/rtp_packetizer.c:100,1
    - Dst: gp_rtp_builder_do_amr
      Src: /src/gpac/src/ietf/rtp_packetizer.c:103,1
    - Dst: gp_rtp_builder_do_mpeg12_audio
      Src: /src/gpac/src/ietf/rtp_packetizer.c:98,1
    - Dst: gp_rtp_builder_do_tx3g
      Src: /src/gpac/src/ietf/rtp_packetizer.c:105,1
    - Dst: gp_rtp_builder_do_avc
      Src: /src/gpac/src/ietf/rtp_packetizer.c:108,1
    - Dst: gp_rtp_builder_do_qcelp
      Src: /src/gpac/src/ietf/rtp_packetizer.c:110,1
    - Dst: gp_rtp_builder_do_smv
      Src: /src/gpac/src/ietf/rtp_packetizer.c:112,1
    - Dst: gp_rtp_builder_do_latm
      Src: /src/gpac/src/ietf/rtp_packetizer.c:114,1
    - Dst: gp_rtp_builder_do_mp2t
      Src: /src/gpac/src/ietf/rtp_packetizer.c:128,1
    - Dst: gp_rtp_builder_do_opus
      Src: /src/gpac/src/ietf/rtp_packetizer.c:130,1
    - Dst: gp_rtp_builder_do_ac3
      Src: /src/gpac/src/ietf/rtp_packetizer.c:121,1
    - Dst: gp_rtp_builder_do_hevc
      Src: /src/gpac/src/ietf/rtp_packetizer.c:124,1
    - Dst: gp_rtp_builder_do_dims
      Src: /src/gpac/src/ietf/rtp_packetizer.c:117,1
    - Dst: gp_rtp_builder_do_vvc
      Src: /src/gpac/src/ietf/rtp_packetizer.c:126,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 19
    argCount: 7
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    - duration
    - descIndex
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 134
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 134
    functionName: gf_rtp_builder_process
    functionSourceFile: /src/gpac/src/ietf/rtp_packetizer.c
    functionUses: []
    functionsReached:
    - gp_rtp_builder_do_vvc
    - gp_rtp_builder_do_dims
    - gp_rtp_builder_do_ac3
    - gp_rtp_builder_do_smv
    - gp_rtp_builder_do_tx3g
    - gp_rtp_builder_do_qcelp
    - gp_rtp_builder_do_mpeg4
    - gp_rtp_builder_do_avc
    - gp_rtp_builder_do_mp2t
    - gp_rtp_builder_do_h263
    - gp_rtp_builder_do_mpeg12_video
    - gp_rtp_builder_do_latm
    - gp_rtp_builder_do_opus
    - gp_rtp_builder_do_hevc
    - gp_rtp_builder_do_mpeg12_audio
    - gp_rtp_builder_do_amr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_builder_process(GP_RTPPacketizer *builder,
      u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration, u8 descIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:38,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:40,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:42,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:43,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:45,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:49,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:50,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:58,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - builder
    - start_new
    argTypes:
    - GP_RTPPacketizer*
    - Bool
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: mpa12_do_flush
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg12.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_bs_get_size
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mpa12_do_flush(GP_RTPPacketizer *builder, Bool start_new) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_mv12_next_start_code
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:133,1
    - Dst: gf_mv12_next_slice_start
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:192,1
    - Dst: gf_mv12_next_slice_start
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:171,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:199,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 122
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 240
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 240
    functionName: gp_rtp_builder_do_mpeg12_video
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg12.c
    functionUses: []
    functionsReached:
    - gf_mv12_next_slice_start
    - gf_mv12_next_start_code
    - MIN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_mpeg12_video(GP_RTPPacketizer *builder, u8
      *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpa12_do_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:74,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:87,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:95,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:86,1
    - Dst: mpa12_do_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:102,1
    - Dst: mpa12_do_flush
      Src: /src/gpac/src/ietf/rtp_pck_mpeg12.c:106,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - builder
    - data
    - data_size
    - IsAUEnd
    - FullAUSize
    argTypes:
    - GP_RTPPacketizer*
    - u8*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 109
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: gp_rtp_builder_do_mpeg12_audio
    functionSourceFile: /src/gpac/src/ietf/rtp_pck_mpeg12.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - mpa12_do_flush
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gp_rtp_builder_do_mpeg12_audio(GP_RTPPacketizer *builder, u8
      *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:284,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:299,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:381,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:318,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:294,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/ietf/rtsp_command.c:335,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:337,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_command.c:339,1
    - Dst: RTSP_WriteCommand
      Src: /src/gpac/src/ietf/rtsp_command.c:357,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_command.c:363,1
    - Dst: gf_rtsp_send_data
      Src: /src/gpac/src/ietf/rtsp_command.c:366,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:373,1
    - Dst: strcpy
      Src: /src/gpac/src/ietf/rtsp_command.c:378,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:345,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:328,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:346,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:347,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:372,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:300,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:288,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:285,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:286,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:287,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:289,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:290,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:291,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:292,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:293,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:301,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_command.c:329,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:374,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_command.c:334,1
    - Dst: sprintf
      Src: /src/gpac/src/ietf/rtsp_command.c:336,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 85
    argCount: 2
    argNames:
    - sess
    - com
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 383
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 383
    functionName: gf_rtsp_send_command
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_rtsp_send_data
    - strcpy
    - sprintf
    - strcmp
    - GF_LOG
    - gf_free
    - RTSP_WriteCommand
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_send_command(GF_RTSPSession *sess, GF_RTSPCommand
      *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_command_reset
      Src: /src/gpac/src/ietf/rtsp_command.c:101,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_command.c:103,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:104,1
    - Dst: gf_list_del
      Src: /src/gpac/src/ietf/rtsp_command.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: gf_rtsp_command_del
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_rtsp_command_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_command_del(GF_RTSPCommand *com) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_get_line
      Src: /src/gpac/src/ietf/rtsp_command.c:450,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:456,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_command.c:454,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_command.c:459,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:461,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_command.c:464,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:466,1
    - Dst: gf_rtsp_parse_header
      Src: /src/gpac/src/ietf/rtsp_command.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - sess
    - com
    - BodyStart
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPCommand*
    - u32
    constantsTouched: []
    func_position:
      end: 474
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 474
    functionName: RTSP_ParseCommandHeader
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_token_get_line
    - gf_strdup
    - strcmp
    - gf_rtsp_parse_header
    - gf_token_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RTSP_ParseCommandHeader(GF_RTSPSession *sess, GF_RTSPCommand
      *com, u32 BodyStart) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtsp_command.c:37,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_command.c:40,1
    - Dst: gf_list_new
      Src: /src/gpac/src/ietf/rtsp_command.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: gf_rtsp_command_new
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTSPCommand *gf_rtsp_command_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:55,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:59,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:63,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:67,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_command.c:85,1
    - Dst: gf_rtsp_transport_del
      Src: /src/gpac/src/ietf/rtsp_command.c:86,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:92,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:58,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:62,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:70,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:66,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_command.c:88,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_command.c:89,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:54,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:57,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:61,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_command.c:83,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:69,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:65,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:80,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/ietf/rtsp_command.c:90,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:91,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtsp_command.c:93,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:56,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:60,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:64,1
    - Dst: COM_FREE_CLEAN
      Src: /src/gpac/src/ietf/rtsp_command.c:68,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_command.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 95
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 95
    functionName: gf_rtsp_command_reset
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_rtsp_transport_del
    - gf_list_rem
    - gf_free
    - COM_FREE_CLEAN
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtsp_command_reset(GF_RTSPCommand *com) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:127,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:153,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_command.c:188,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:255,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:207,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:131,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:214,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:229,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:209,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:220,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_command.c:117,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:152,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_command.c:170,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:233,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_command.c:262,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtsp_command.c:249,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:130,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:143,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:138,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_command.c:144,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:154,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_command.c:162,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:194,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:232,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:217,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:134,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:223,1
    - Dst: RTSP_WRITE_HEX
      Src: /src/gpac/src/ietf/rtsp_command.c:238,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:257,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:124,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:148,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_command.c:247,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:187,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:195,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:136,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:145,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:167,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtsp_command.c:181,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:198,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:139,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:173,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:250,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:183,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:206,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:228,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:126,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:121,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:144,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:135,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:158,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:160,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:199,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:251,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_command.c:159,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:242,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:149,1
    - Dst: RTSP_WRITE_FLOAT_WITHOUT_CHECK
      Src: /src/gpac/src/ietf/rtsp_command.c:176,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:202,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:175,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:191,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:203,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:237,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:177,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:125,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:129,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:140,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:150,1
    - Dst: RTSP_WRITE_HEADER
      Src: /src/gpac/src/ietf/rtsp_command.c:244,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:164,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:169,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:171,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:192,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:210,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:215,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:222,1
    - Dst: RTSP_WRITE_INT
      Src: /src/gpac/src/ietf/rtsp_command.c:221,1
    - Dst: RTSP_WRITE_ALLOC_STR
      Src: /src/gpac/src/ietf/rtsp_command.c:216,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 5
    argNames:
    - sess
    - com
    - req_buffer
    - out_buffer
    - out_size
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPCommand*
    - unsigned char*
    - unsigned char**
    - u32*
    constantsTouched: []
    func_position:
      end: 264
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 264
    functionName: RTSP_WriteCommand
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - RTSP_WRITE_ALLOC_STR
    - gf_malloc
    - strlen
    - RTSP_WRITE_HEADER
    - gf_list_get
    - RTSP_WRITE_INT
    - RTSP_WRITE_FLOAT_WITHOUT_CHECK
    - gf_list_count
    - RTSP_WRITE_HEX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err RTSP_WriteCommand(GF_RTSPSession *sess, GF_RTSPCommand *com,
      unsigned char *req_buffer, unsigned char **out_buffer, u32 *out_size) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:394,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:397,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:398,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:399,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:400,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:402,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:403,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:404,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:407,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:408,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:413,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:429,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:411,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:427,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:394,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:393,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:395,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:401,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:400,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:403,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:404,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:405,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:408,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:409,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:412,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:413,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:393,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:395,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:396,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:401,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:405,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:406,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:409,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:410,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:415,1
    - Dst: gf_token_get
      Src: /src/gpac/src/ietf/rtsp_command.c:418,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_command.c:421,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtsp_command.c:425,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:396,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:397,1
    - Dst: sscanf
      Src: /src/gpac/src/ietf/rtsp_command.c:398,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:402,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:399,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:406,1
    - Dst: gf_rtsp_range_parse
      Src: /src/gpac/src/ietf/rtsp_command.c:407,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:412,1
    - Dst: gf_list_add
      Src: /src/gpac/src/ietf/rtsp_command.c:430,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_command.c:429,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_command.c:426,1
    - Dst: gf_rtsp_transport_parse
      Src: /src/gpac/src/ietf/rtsp_command.c:420,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 100
    argCount: 3
    argNames:
    - com
    - Header
    - Value
    argTypes:
    - GF_RTSPCommand*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 433
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 433
    functionName: gf_rtsp_set_command_value
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_rtsp_transport_parse
    - strlen
    - gf_rtsp_range_parse
    - sscanf
    - gf_strdup
    - strnicmp
    - stricmp
    - gf_token_get
    linkageType: ''
    returnType: void
    signature: 'void gf_rtsp_set_command_value(GF_RTSPCommand *com, char *Header,
      char *Value) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtsp_command.c:551,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtsp_command.c:550,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_command.c:559,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtsp_command.c:574,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_command.c:579,1
    - Dst: strcmp
      Src: /src/gpac/src/ietf/rtsp_command.c:618,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_command.c:623,1
    - Dst: gf_rtsp_command_reset
      Src: /src/gpac/src/ietf/rtsp_command.c:500,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/ietf/rtsp_command.c:532,1
    - Dst: gf_rtsp_get_body_info
      Src: /src/gpac/src/ietf/rtsp_command.c:534,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_command.c:559,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_command.c:564,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_command.c:546,1
    - Dst: gf_rtsp_send_data
      Src: /src/gpac/src/ietf/rtsp_command.c:579,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/ietf/rtsp_command.c:621,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/ietf/rtsp_command.c:628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_command.c:537,1
    - Dst: RTSP_ParseCommandHeader
      Src: /src/gpac/src/ietf/rtsp_command.c:539,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_command.c:562,1
    - Dst: strchr
      Src: /src/gpac/src/ietf/rtsp_command.c:566,1
    - Dst: stricmp
      Src: /src/gpac/src/ietf/rtsp_command.c:619,1
    - Dst: strlen
      Src: /src/gpac/src/ietf/rtsp_command.c:513,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_command.c:513,1
    - Dst: gf_rtsp_fill_buffer
      Src: /src/gpac/src/ietf/rtsp_command.c:506,1
    - Dst: gf_rtsp_read_reply
      Src: /src/gpac/src/ietf/rtsp_command.c:523,1
    - Dst: gf_rtsp_get_body_info
      Src: /src/gpac/src/ietf/rtsp_command.c:526,1
    - Dst: strstr
      Src: /src/gpac/src/ietf/rtsp_command.c:561,1
    - Dst: gf_strdup
      Src: /src/gpac/src/ietf/rtsp_command.c:569,1
    - Dst: strncmp
      Src: /src/gpac/src/ietf/rtsp_command.c:572,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtsp_command.c:577,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 119
    argCount: 2
    argNames:
    - sess
    - com
    argTypes:
    - GF_RTSPSession*
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 635
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 635
    functionName: gf_rtsp_get_command
    functionSourceFile: /src/gpac/src/ietf/rtsp_command.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - snprintf
    - strncmp
    - GF_LOG
    - gf_sk_del
    - gf_rtsp_command_reset
    - strstr
    - gf_rtsp_get_body_info
    - gf_rtsp_fill_buffer
    - RTSP_ParseCommandHeader
    - gf_strdup
    - strcmp
    - stricmp
    - gf_rtsp_read_reply
    - gf_rtsp_session_reset
    - memcpy
    - strchr
    - gf_base64_decode
    - gf_rtsp_send_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtsp_get_command(GF_RTSPSession *sess, GF_RTSPCommand
      *com) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_new_ex
      Src: /src/gpac/src/ietf/rtp_streamer.c:130,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_streamer.c:135,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/ietf/rtp_streamer.c:155,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/ietf/rtp_streamer.c:137,1
    - Dst: rand
      Src: /src/gpac/src/ietf/rtp_streamer.c:143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:157,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:157,1
    - Dst: gf_rtp_initialize
      Src: /src/gpac/src/ietf/rtp_streamer.c:161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:163,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 7
    argNames:
    - rtp
    - path_mtu
    - dest
    - port
    - ttl
    - ifce_addr
    - netcap_id
    argTypes:
    - GF_RTPStreamer*
    - u32
    - char*
    - int
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 167
    functionName: rtp_stream_init_channel
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - rand
    - memset
    - gf_rtp_setup_transport
    - gf_rtp_initialize
    - gf_error_to_string
    - GF_LOG
    - gf_sk_is_multicast_address
    - gf_rtp_new_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtp_stream_init_channel(GF_RTPStreamer *rtp, u32 path_mtu,
      const char * dest, int port, int ttl, const char *ifce_addr, const char *netcap_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:89,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_streamer.c:94,1
    - Dst: memmove
      Src: /src/gpac/src/ietf/rtp_streamer.c:96,1
    - Dst: memcpy
      Src: /src/gpac/src/ietf/rtp_streamer.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - cbk
    - data
    - data_size
    - is_head
    argTypes:
    - void*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: rtp_stream_on_data
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void rtp_stream_on_data(void *cbk, u8 *data, u32 data_size,
      Bool is_head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:665,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - auh_size
    - '>1'
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - snprintf
    linkageType: ''
    returnType: else
    signature: 'else if ((rtp->packetizer->rtp_payt == GF_RTP_PAYT_EVRC_SMV) && (rtp->packetizer->auh_size>1)
      ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_send_rtcp_report
      Src: /src/gpac/src/ietf/rtp_streamer.c:918,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - streamer
    - force_ts
    - rtp_ts
    - force_ntp_type
    - ntp_sec
    - ntp_frac
    argTypes:
    - GF_RTPStreamer*
    - Bool
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 924
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 924
    functionName: gf_rtp_streamer_send_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_send_rtcp_report
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_send_rtcp(GF_RTPStreamer *streamer,
      Bool force_ts, u32 rtp_ts, u32 force_ntp_type, u32 ntp_sec, u32 ntp_frac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: gf_rtp_streamer_get_payload_type
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_rtp_streamer_get_payload_type(GF_RTPStreamer *streamer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: gf_rtp_streamer_get_ssrc
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_streamer_get_ssrc(GF_RTPStreamer *streamer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_new_ex
      Src: /src/gpac/src/ietf/rtp_streamer.c:108,1
    - Dst: gf_rtp_initialize
      Src: /src/gpac/src/ietf/rtp_streamer.c:118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:114,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/ietf/rtp_streamer.c:112,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:120,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - rtp
    - path_mtu
    - tr
    - ifce_addr
    argTypes:
    - GF_RTPStreamer*
    - u32
    - GF_RTSPTransport*
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: gf_rtp_streamer_init_rtsp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_initialize
    - gf_rtp_setup_transport
    - gf_error_to_string
    - GF_LOG
    - gf_rtp_new_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_rtp_streamer_init_rtsp(GF_RTPStreamer *rtp, u32 path_mtu,
      GF_RTSPTransport *tr, const char *ifce_addr) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:227,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:424,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/ietf/rtp_streamer.c:432,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/ietf/rtp_streamer.c:250,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:432,1
    - Dst: gf_rtp_builder_init
      Src: /src/gpac/src/ietf/rtp_streamer.c:496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:491,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:505,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/ietf/rtp_streamer.c:189,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/ietf/rtp_streamer.c:301,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:433,1
    - Dst: rtp_stream_init_channel
      Src: /src/gpac/src/ietf/rtp_streamer.c:503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:505,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:492,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:423,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_streamer.c:459,1
    - Dst: gf_rtp_builder_new
      Src: /src/gpac/src/ietf/rtp_streamer.c:485,1
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:506,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_streamer.c:515,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 189
    argCount: 2
    argNames:
    - cfg
    - for_rtsp
    argTypes:
    - GF_RTPStreamerConfig*
    - Bool
    constantsTouched: []
    func_position:
      end: 518
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 518
    functionName: gf_rtp_streamer_new_ex
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_rtp_builder_new
    - gf_m4v_get_config
    - memset
    - gf_error_to_string
    - gf_rtp_builder_init
    - GF_LOG
    - rtp_stream_init_channel
    - gf_codecid_name
    - GF_SAFEALLOC
    - gf_rtp_streamer_del
    - gf_m4a_get_config
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPStreamer *gf_rtp_streamer_new_ex(const GF_RTPStreamerConfig
      *cfg, Bool for_rtsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_send_bye
      Src: /src/gpac/src/ietf/rtp_streamer.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: gf_rtp_streamer_send_bye
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_send_bye
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_send_bye(GF_RTPStreamer *streamer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: gf_rtp_streamer_get_next_rtp_sn
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_rtp_streamer_get_next_rtp_sn(GF_RTPStreamer *streamer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    functionName: gf_rtp_streamer_get_timescale
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_streamer_get_timescale(GF_RTPStreamer *streamer) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:620,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:625,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:640,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:676,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:687,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:745,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:795,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/rtp_streamer.c:802,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:805,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_streamer.c:809,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:746,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:634,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:676,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:696,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:743,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:773,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:737,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: gf_rtp_get_ports
      Src: /src/gpac/src/ietf/rtp_streamer.c:617,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:732,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:761,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:753,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:807,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:815,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:779,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:806,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:816,1
    - Dst: gf_rtp_builder_get_payload_name
      Src: /src/gpac/src/ietf/rtp_streamer.c:613,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:641,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:650,1
    - Dst: gf_media_format_ttxt_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:657,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:665,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:690,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:796,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:721,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:635,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:739,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:772,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:700,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:763,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:808,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:814,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:770,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:695,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:780,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:659,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:644,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:651,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:666,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:674,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:750,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:670,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:798,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:621,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:681,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:686,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:693,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:797,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:810,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:755,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:684,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:719,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:762,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:741,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:645,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:689,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:733,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:799,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:813,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:817,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:768,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_streamer.c:794,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_streamer.c:802,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:658,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:692,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:712,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:747,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:749,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:782,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:683,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:699,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:735,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:784,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:623,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:626,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:660,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:679,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:754,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 186
    argCount: 17
    argNames:
    - rtp
    - ESID
    - dsi
    - dsi_len
    - dsi_enh
    - dsi_enh_len
    - KMS_URI
    - width
    - height
    - tw
    - th
    - tx
    - ty
    - tl
    - nb_channels
    - for_rtsp
    - out_sdp_buffer
    argTypes:
    - GF_RTPStreamer*
    - u16
    - u8*
    - u32
    - u8*
    - u32
    - char*
    - u32
    - u32
    - u32
    - u32
    - s32
    - s32
    - s16
    - u32
    - Bool
    - char**
    constantsTouched: []
    func_position:
      end: 820
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 820
    functionName: gf_rtp_streamer_append_sdp_extended
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_bs_get_content
    - gf_bs_write_data
    - gf_odf_avc_cfg_read
    - gf_rtp_builder_get_payload_name
    - MIN
    - gf_bs_del
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_rtp_get_ports
    - gf_bs_write_int
    - gf_dynstrcat
    - gf_list_get
    - gf_bs_new
    - gf_free
    - strnicmp
    - gf_media_format_ttxt_sdp
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_base64_encode
    - gf_odf_vvc_cfg_del
    - gf_rtp_builder_format_sdp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_append_sdp_extended(GF_RTPStreamer
      *rtp, u16 ESID, const u8 *dsi, u32 dsi_len, const u8 *dsi_enh, u32 dsi_enh_len,
      char *KMS_URI, u32 width, u32 height, u32 tw, u32 th, s32 tx, s32 ty, s16 tl,
      u32 nb_channels, Bool for_rtsp, char **out_sdp_buffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/ietf/rtp_streamer.c:864,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/ietf/rtp_streamer.c:870,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/ietf/rtp_streamer.c:865,1
    - Dst: gf_rtp_builder_process
      Src: /src/gpac/src/ietf/rtp_streamer.c:874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 12
    argNames:
    - rtp
    - data
    - size
    - fullsize
    - cts
    - dts
    - is_rap
    - au_start
    - au_end
    - au_sn
    - sampleDuration
    - sampleDescIndex
    argTypes:
    - GF_RTPStreamer*
    - u8*
    - u32
    - u32
    - u64
    - u64
    - Bool
    - Bool
    - Bool
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 877
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 877
    functionName: gf_rtp_streamer_send_data
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_builder_process
    - gf_timestamp_rescale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_send_data(GF_RTPStreamer *rtp, u8
      *data, u32 size, u32 fullsize, u64 cts, u64 dts, Bool is_rap, Bool au_start,
      Bool au_end, u32 au_sn, u32 sampleDuration, u32 sampleDescIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_streamer_send_data
      Src: /src/gpac/src/ietf/rtp_streamer.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - rtp
    - data
    - size
    - cts
    - dts
    - is_rap
    argTypes:
    - GF_RTPStreamer*
    - u8*
    - u32
    - u64
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: gf_rtp_streamer_send_au
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_streamer_send_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_send_au(GF_RTPStreamer *rtp, u8 *data,
      u32 size, u64 cts, u64 dts, Bool is_rap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:761,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:762,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:763,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:764,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: strnicmp
      Src: /src/gpac/src/ietf/rtp_streamer.c:767,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:768,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:770,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:772,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - GF_RTP_PAYT_MPEG4
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 775
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 775
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - strnicmp
    - gf_dynstrcat
    - gf_free
    - gf_rtp_builder_format_sdp
    linkageType: ''
    returnType: else
    signature: 'else if (rtp->packetizer->rtp_payt==GF_RTP_PAYT_MPEG4) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:712,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:732,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:719,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:733,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:721,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:735,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:737,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:739,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:741,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:743,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:754,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:755,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:749,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:745,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:746,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:753,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:750,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:747,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 1
    argNames:
    - GF_RTP_PAYT_VVC
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 757
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 757
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_dynstrcat
    - gf_list_get
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_base64_encode
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: else
    signature: "else if ((rtp->packetizer->rtp_payt == GF_RTP_PAYT_HEVC)\t\t|| (rtp->packetizer->rtp_payt
      == GF_RTP_PAYT_LHVC)\t\t|| (rtp->packetizer->rtp_payt == GF_RTP_PAYT_VVC) ) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_streamer_send_data
      Src: /src/gpac/src/ietf/rtp_streamer.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 7
    argNames:
    - rtp
    - data
    - size
    - cts
    - dts
    - is_rap
    - inc_au_sn
    argTypes:
    - GF_RTPStreamer*
    - u8*
    - u32
    - u64
    - u64
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: gf_rtp_streamer_send_au_with_sn
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_streamer_send_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_send_au_with_sn(GF_RTPStreamer *rtp,
      u8 *data, u32 size, u64 cts, u64 dts, Bool is_rap, u32 inc_au_sn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: gf_rtp_streamer_disable_auto_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_streamer_disable_auto_rtcp(GF_RTPStreamer *streamer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: gf_rtp_streamer_get_codecid
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rtp_streamer_get_codecid(GF_RTPStreamer *streamer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/ietf/rtp_streamer.c:794,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:795,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:796,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:798,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/ietf/rtp_streamer.c:802,1
    - Dst: MIN
      Src: /src/gpac/src/ietf/rtp_streamer.c:802,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:805,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/ietf/rtp_streamer.c:809,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:797,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:808,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:814,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:810,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:815,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:807,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:799,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/ietf/rtp_streamer.c:806,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:817,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:816,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - GF_RTP_PAYT_LATM
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 818
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 818
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_dynstrcat
    - MIN
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_free
    - gf_bs_write_int
    - gf_rtp_builder_format_sdp
    linkageType: ''
    returnType: else
    signature: 'else if (rtp->packetizer->rtp_payt==GF_RTP_PAYT_LATM) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: rtp_stream_on_new_packet
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void rtp_stream_on_new_packet(void *cbk, GF_RTPHeader *header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:534,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:538,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:542,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:548,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:546,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:552,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:556,1
    - Dst: memset
      Src: /src/gpac/src/ietf/rtp_streamer.c:530,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:533,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:537,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:541,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:545,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:547,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:551,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:555,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:536,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:540,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:550,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:544,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:554,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:535,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:539,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:549,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:543,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:553,1
    - Dst: RTCFG_SET
      Src: /src/gpac/src/ietf/rtp_streamer.c:557,1
    - Dst: gf_rtp_streamer_new_ex
      Src: /src/gpac/src/ietf/rtp_streamer.c:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 26
    argNames:
    - streamType
    - codecid
    - timeScale
    - ip_dest
    - port
    - MTU
    - TTL
    - ifce_addr
    - flags
    - dsi
    - dsi_len
    - PayloadType
    - sample_rate
    - nb_ch
    - is_crypted
    - IV_length
    - KI_length
    - MinSize
    - MaxSize
    - avgTS
    - maxDTSDelta
    - const_dur
    - bandwidth
    - max_ptime
    - au_sn_len
    - for_rtsp
    argTypes:
    - u32
    - u32
    - u32
    - char*
    - u16
    - u32
    - u8
    - char*
    - u32
    - u8*
    - u32
    - u32
    - u32
    - u32
    - Bool
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 561
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 561
    functionName: gf_rtp_streamer_new
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - RTCFG_SET
    - memset
    - gf_rtp_streamer_new_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPStreamer *gf_rtp_streamer_new(u32 streamType, u32
      codecid, u32 timeScale, const char *ip_dest, u16 port, u32 MTU, u8 TTL, const
      char *ifce_addr, u32 flags, const u8 *dsi, u32 dsi_len, u32 PayloadType, u32
      sample_rate, u32 nb_ch, Bool is_crypted, u32 IV_length, u32 KI_length, u32 MinSize,
      u32 MaxSize, u32 avgTS, u32 maxDTSDelta, u32 const_dur, u32 bandwidth, u32 max_ptime,
      u32 au_sn_len, Bool for_rtsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_format_ttxt_sdp
      Src: /src/gpac/src/ietf/rtp_streamer.c:657,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:659,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:660,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - GF_RTP_PAYT_3GPP_TEXT
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_media_format_ttxt_sdp
    - gf_free
    linkageType: ''
    returnType: else
    signature: 'else if (rtp->packetizer->rtp_payt == GF_RTP_PAYT_3GPP_TEXT) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:779,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:784,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:780,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - GF_RTP_PAYT_3GPP_DIMS
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 785
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 785
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - snprintf
    linkageType: ''
    returnType: else
    signature: 'else if (rtp->packetizer->rtp_payt==GF_RTP_PAYT_3GPP_DIMS) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_temp
      Src: /src/gpac/src/ietf/rtp_streamer.c:829,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:833,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:834,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:835,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/ietf/rtp_streamer.c:834,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:836,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/ietf/rtp_streamer.c:836,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:837,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:840,1
    - Dst: gf_fsize
      Src: /src/gpac/src/ietf/rtp_streamer.c:842,1
    - Dst: gf_fread
      Src: /src/gpac/src/ietf/rtp_streamer.c:844,1
    - Dst: gf_fclose
      Src: /src/gpac/src/ietf/rtp_streamer.c:846,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/ietf/rtp_streamer.c:847,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:848,1
    - Dst: gf_malloc
      Src: /src/gpac/src/ietf/rtp_streamer.c:843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - app_name
    - ip_dest
    - session_name
    - iod64
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 850
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 850
    functionName: gf_rtp_streamer_format_sdp_header
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fprintf
    - gf_fsize
    - gf_fread
    - gf_net_is_ipv6
    - gf_file_temp
    - gf_file_delete
    - gf_free
    - gf_fclose
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_rtp_streamer_format_sdp_header(char *app_name,
      char *ip_dest, char *session_name, char *iod64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_set_interleave_callbacks
      Src: /src/gpac/src/ietf/rtp_streamer.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - streamer
    - RTP_TCPCallback
    - cbk1
    - cbk2
    argTypes:
    - GF_RTPStreamer*
    - gf_rtp_tcp_callback
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: gf_rtp_streamer_set_interleave_callbacks
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_set_interleave_callbacks
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_set_interleave_callbacks(GF_RTPStreamer
      *streamer, gf_rtp_tcp_callback RTP_TCPCallback, void *cbk1, void *cbk2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_send_packet
      Src: /src/gpac/src/ietf/rtp_streamer.c:66,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:73,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:71,1
    - Dst: GF_LOG
      Src: /src/gpac/src/ietf/rtp_streamer.c:71,1
    - Dst: fprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:77,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/ietf/rtp_streamer.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: rtp_stream_on_packet_done
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - fprintf
    - GF_LOG
    - gf_rtp_send_packet
    linkageType: ''
    returnType: void
    signature: 'static void rtp_stream_on_packet_done(void *cbk, GF_RTPHeader *header) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:568,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:571,1
    - Dst: gf_rtp_builder_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:569,1
    - Dst: gf_free
      Src: /src/gpac/src/ietf/rtp_streamer.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - GF_RTPStreamer*
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: gf_rtp_streamer_del
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_builder_del
    - gf_rtp_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rtp_streamer_del(GF_RTPStreamer *streamer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_streamer_append_sdp_extended
      Src: /src/gpac/src/ietf/rtp_streamer.c:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - rtp
    - ESID
    - dsi
    - dsi_len
    - KMS_URI
    - out_sdp_buffer
    argTypes:
    - GF_RTPStreamer*
    - u16
    - u8*
    - u32
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: gf_rtp_streamer_append_sdp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_rtp_streamer_append_sdp_extended
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_append_sdp(GF_RTPStreamer *rtp, u16
      ESID, const u8 *dsi, u32 dsi_len, char *KMS_URI, char **out_sdp_buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_read_rtcp
      Src: /src/gpac/src/ietf/rtp_streamer.c:956,1
    - Dst: gf_rtp_decode_rtcp
      Src: /src/gpac/src/ietf/rtp_streamer.c:960,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/ietf/rtp_streamer.c:959,1
    - Dst: rtcp_cbk
      Src: /src/gpac/src/ietf/rtp_streamer.c:979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - streamer
    - rtcp_cbk
    - udta
    argTypes:
    - GF_RTPStreamer*
    - gf_rtcp_rr_callback
    - void*
    constantsTouched: []
    func_position:
      end: 982
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 982
    functionName: gf_rtp_streamer_read_rtcp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - rtcp_cbk
    - gf_rtp_read_rtcp
    - gf_rtp_decode_rtcp
    - gf_net_get_ntp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rtp_streamer_read_rtcp(GF_RTPStreamer *streamer,
      gf_rtcp_rr_callback rtcp_cbk, void *udta) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/ietf/rtp_streamer.c:670,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:674,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:676,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:690,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:687,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:676,1
    - Dst: gf_list_count
      Src: /src/gpac/src/ietf/rtp_streamer.c:681,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:686,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:693,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:692,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:696,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:700,1
    - Dst: gf_list_get
      Src: /src/gpac/src/ietf/rtp_streamer.c:683,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/ietf/rtp_streamer.c:684,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:695,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/ietf/rtp_streamer.c:699,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:679,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:689,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - GF_RTP_PAYT_H264_SVC
    argTypes:
    - rtp
    constantsTouched: []
    func_position:
      end: 702
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 702
    functionName: if
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - snprintf
    - gf_list_get
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_odf_avc_cfg_read
    - gf_base64_encode
    linkageType: ''
    returnType: else
    signature: 'else if ((rtp->packetizer->rtp_payt == GF_RTP_PAYT_H264_AVC) || (rtp->packetizer->rtp_payt
      == GF_RTP_PAYT_H264_SVC) ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:585,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:591,1
    - Dst: snprintf
      Src: /src/gpac/src/ietf/rtp_streamer.c:588,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:586,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:589,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:592,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:595,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/ietf/rtp_streamer.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 11
    argNames:
    - builder
    - payload_name
    - out_sdp_line
    - w
    - h
    - tx
    - ty
    - l
    - max_w
    - max_h
    - tx3g_base64
    argTypes:
    - GP_RTPPacketizer*
    - char*
    - char**
    - u32
    - u32
    - s32
    - s32
    - s16
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 598
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 598
    functionName: gf_media_format_ttxt_sdp
    functionSourceFile: /src/gpac/src/ietf/rtp_streamer.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_media_format_ttxt_sdp(GP_RTPPacketizer *builder, char *payload_name,
      char **out_sdp_line, u32 w, u32 h, s32 tx, s32 ty, s16 l, u32 max_w, u32 max_h,
      char *tx3g_base64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:137,1
    - Dst: memset
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: gf_crypt_set_IV_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_openssl_ctr(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:157,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: gf_crypt_init_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_openssl_ctr(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_ctr
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: gf_crypt_decrypt_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_ctr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_openssl_ctr(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: gf_crypt_init_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_openssl_ecb(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: gf_crypt_get_IV_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_openssl_ecb(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_ecb
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: gf_crypt_encrypt_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_ecb
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_openssl_ecb(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: gf_crypt_get_IV_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_openssl_ctr(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: gf_crypt_deinit_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_openssl_ctr(GF_Crypt* td) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: gf_crypt_deinit_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_openssl_ecb(GF_Crypt* td) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_ecb_encrypt
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - td
    - plaintext
    - len
    - aes_crypt_type
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: gf_crypt_crypt_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - AES_ecb_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_crypt_openssl_ecb(GF_Crypt* td, u8 *plaintext, u32
      len, u32 aes_crypt_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_ecb
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: gf_crypt_decrypt_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_ecb
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_openssl_ecb(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: gf_set_key_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_openssl_ctr(GF_Crypt* td, void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: gf_crypt_crypt_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - CRYPTO_ctr128_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_crypt_openssl_ctr(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:218,1
    - Dst: AES_set_decrypt_key
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: gf_set_key_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_openssl_ecb(GF_Crypt* td, void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_ctr
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: gf_crypt_encrypt_openssl_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_ctr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_openssl_ctr(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: gf_crypt_set_IV_openssl_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_openssl_ecb(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - td
    - mode
    argTypes:
    - GF_Crypt*
    - GF_CRYPTO_MODE
    constantsTouched: []
    func_position:
      end: 299
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 299
    functionName: gf_crypt_open_open_openssl
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_open_open_openssl(GF_Crypt* td, GF_CRYPTO_MODE mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:48,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: gf_crypt_init_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_openssl_cbc(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: gf_crypt_get_IV_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_openssl_cbc(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:66,1
    - Dst: AES_set_decrypt_key
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: gf_set_key_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_openssl_cbc(GF_Crypt* td, void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_cbc
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: gf_crypt_encrypt_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_cbc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_openssl_cbc(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: gf_crypt_set_IV_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_openssl_cbc(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: gf_crypt_deinit_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_openssl_cbc(GF_Crypt* td) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:94,1
    - Dst: AES_cbc_encrypt
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:96,1
    - Dst: AES_cbc_encrypt
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:99,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:95,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - td
    - plaintext
    - len
    - aes_crypt_type
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: gf_crypt_crypt_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    - AES_cbc_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_crypt_openssl_cbc(GF_Crypt* td, u8 *plaintext, u32
      len, u32 aes_crypt_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_crypt_openssl_cbc
      Src: /src/gpac/src/crypto/g_crypt_openssl.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: gf_crypt_decrypt_openssl_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_openssl.c
    functionUses: []
    functionsReached:
    - gf_crypt_crypt_openssl_cbc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_openssl_cbc(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - size
    argTypes:
    - GF_Crypt*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: gf_crypt_set_IV
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_set_IV(GF_Crypt *td, const void *iv, u32
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/crypto/g_crypt.c:54,1
    - Dst: gf_free
      Src: /src/gpac/src/crypto/g_crypt.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: gf_crypt_close
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_crypt_close(GF_Crypt *td) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_close
      Src: /src/gpac/src/crypto/g_crypt.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - td
    - key
    - IV
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: gf_crypt_init
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached:
    - gf_crypt_close
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_init(GF_Crypt *td, void *key, const void
      *IV) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt.c:33,1
    - Dst: gf_crypt_open_open_openssl
      Src: /src/gpac/src/crypto/g_crypt.c:37,1
    - Dst: gf_free
      Src: /src/gpac/src/crypto/g_crypt.c:43,1
    - Dst: gf_crypt_open_open_tinyaes
      Src: /src/gpac/src/crypto/g_crypt.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - algorithm
    - mode
    argTypes:
    - GF_CRYPTO_ALGO
    - GF_CRYPTO_MODE
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: gf_crypt_open
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached:
    - gf_crypt_open_open_openssl
    - gf_crypt_open_open_tinyaes
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Crypt *gf_crypt_open(GF_CRYPTO_ALGO algorithm, GF_CRYPTO_MODE
      mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: gf_crypt_set_key
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_set_key(GF_Crypt *td, void *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - size
    argTypes:
    - GF_Crypt*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: gf_crypt_get_IV
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_get_IV(GF_Crypt *td, void *iv, u32 *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: gf_crypt_encrypt
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_encrypt(GF_Crypt *td, void *plaintext, u32
      len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: gf_crypt_decrypt
    functionSourceFile: /src/gpac/src/crypto/g_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_decrypt(GF_Crypt *td, void *ciphertext,
      u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: gf_crypt_deinit_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_tinyaes_cbc(GF_Crypt* td) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_ctx_set_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: gf_crypt_set_IV_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ctx_set_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_tinyaes_cbc(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: gf_set_key_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_tinyaes_ctr(GF_Crypt* td, void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: gf_crypt_deinit_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_tinyaes_ecb(GF_Crypt* td) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_ctx_get_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: gf_crypt_get_IV_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ctx_get_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_tinyaes_cbc(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: gf_set_key_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_tinyaes_cbc(GF_Crypt* td, void *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_ctx_set_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:114,1
    - Dst: AES_ctx_set_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: gf_crypt_set_IV_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ctx_set_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_tinyaes_ctr(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - td
    - key
    argTypes:
    - GF_Crypt*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: gf_set_key_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    linkageType: ''
    returnType: void
    signature: 'void gf_set_key_tinyaes_ecb(GF_Crypt* td, void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_ctx_get_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: gf_crypt_get_IV_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ctx_get_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_tinyaes_ctr(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:173,1
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: gf_crypt_init_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_tinyaes_ecb(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: gf_crypt_set_IV_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_set_IV_tinyaes_ecb(GF_Crypt* td, const u8 *iv, u32
      iv_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:134,1
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:143,1
    - Dst: AES_init_ctx_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: gf_crypt_init_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    - AES_init_ctx_iv
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_tinyaes_ctr(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - td
    - iv
    - iv_size
    argTypes:
    - GF_Crypt*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: gf_crypt_get_IV_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_get_IV_tinyaes_ecb(GF_Crypt* td, u8 *iv, u32 *iv_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_CTR_xcrypt_buffer
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: gf_crypt_decrypt_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_CTR_xcrypt_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_tinyaes_ctr(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_CBC_encrypt_buffer
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: gf_crypt_encrypt_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_CBC_encrypt_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_tinyaes_cbc(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_CBC_decrypt_buffer
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: gf_crypt_decrypt_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_CBC_decrypt_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_tinyaes_cbc(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:38,1
    - Dst: AES_init_ctx
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:48,1
    - Dst: AES_init_ctx_iv
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - td
    - key
    - iv
    argTypes:
    - GF_Crypt*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: gf_crypt_init_tinyaes_cbc
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_init_ctx
    - AES_init_ctx_iv
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_init_tinyaes_cbc(GF_Crypt* td, void *key, const void
      *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - td
    argTypes:
    - GF_Crypt*
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: gf_crypt_deinit_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_deinit_tinyaes_ctr(GF_Crypt* td) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_ECB_encrypt
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: gf_crypt_encrypt_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ECB_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_tinyaes_ecb(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_CTR_xcrypt_buffer
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - td
    - plaintext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: gf_crypt_encrypt_tinyaes_ctr
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_CTR_xcrypt_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_encrypt_tinyaes_ctr(GF_Crypt* td, u8 *plaintext, u32
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_ECB_decrypt
      Src: /src/gpac/src/crypto/g_crypt_tinyaes.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - td
    - ciphertext
    - len
    argTypes:
    - GF_Crypt*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: gf_crypt_decrypt_tinyaes_ecb
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached:
    - AES_ECB_decrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_decrypt_tinyaes_ecb(GF_Crypt* td, u8 *ciphertext,
      u32 len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - td
    - mode
    argTypes:
    - GF_Crypt*
    - GF_CRYPTO_MODE
    constantsTouched: []
    func_position:
      end: 266
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 266
    functionName: gf_crypt_open_open_tinyaes
    functionSourceFile: /src/gpac/src/crypto/g_crypt_tinyaes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_crypt_open_open_tinyaes(GF_Crypt* td, GF_CRYPTO_MODE mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:532,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:535,1
    - Dst: XorWithIv
      Src: /src/gpac/src/crypto/tiny_aes.c:534,1
    - Dst: InvCipher
      Src: /src/gpac/src/crypto/tiny_aes.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 539
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 539
    functionName: AES_CBC_decrypt_buffer
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - XorWithIv
    - InvCipher
    linkageType: ''
    returnType: void
    signature: 'void AES_CBC_decrypt_buffer(struct AES_ctx* ctx, u8* buf, u32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/gpac/src/crypto/tiny_aes.c:237,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - iv
    argTypes:
    - struct AES_ctx*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: AES_init_ctx_iv
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - KeyExpansion
    linkageType: ''
    returnType: void
    signature: 'void AES_init_ctx_iv(struct AES_ctx* ctx, const u8* key, const u8*
      iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 310
    functionName: ShiftRows
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ShiftRows(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:326,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:328,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:327,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: MixColumns
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - xtime
    linkageType: ''
    returnType: void
    signature: 'static void MixColumns(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:370,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:370,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:371,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:370,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:370,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:371,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:371,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:371,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:372,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:372,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:372,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:373,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:372,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:373,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:373,1
    - Dst: Multiply
      Src: /src/gpac/src/crypto/tiny_aes.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: InvMixColumns
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: void
    signature: 'static void InvMixColumns(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxInvert
      Src: /src/gpac/src/crypto/tiny_aes.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: InvSubBytes
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - getSBoxInvert
    linkageType: ''
    returnType: void
    signature: 'static void InvSubBytes(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:427,1
    - Dst: ShiftRows
      Src: /src/gpac/src/crypto/tiny_aes.c:435,1
    - Dst: SubBytes
      Src: /src/gpac/src/crypto/tiny_aes.c:434,1
    - Dst: MixColumns
      Src: /src/gpac/src/crypto/tiny_aes.c:436,1
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:437,1
    - Dst: SubBytes
      Src: /src/gpac/src/crypto/tiny_aes.c:442,1
    - Dst: ShiftRows
      Src: /src/gpac/src/crypto/tiny_aes.c:443,1
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - state
    - RoundKey
    argTypes:
    - state_t*
    - u8*
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: Cipher
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - SubBytes
    - ShiftRows
    - AddRoundKey
    - MixColumns
    linkageType: ''
    returnType: void
    signature: 'static void Cipher(state_t* state, u8* RoundKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/crypto/tiny_aes.c:552,1
    - Dst: Cipher
      Src: /src/gpac/src/crypto/tiny_aes.c:560,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 580
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 580
    functionName: AES_CTR_xcrypt_buffer
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - gf_assert
    - memcpy
    - Cipher
    linkageType: ''
    returnType: void
    signature: 'void AES_CTR_xcrypt_buffer(struct AES_ctx* ctx, u8* buf, u32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct AES_ctx*
    - u8*
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: AES_ctx_get_iv
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void AES_ctx_get_iv(struct AES_ctx* ctx, u8* iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct AES_ctx*
    - u8*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: AES_ctx_set_iv
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void AES_ctx_set_iv(struct AES_ctx* ctx, const u8* iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 418
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 418
    functionName: InvShiftRows
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void InvShiftRows(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:452,1
    - Dst: InvShiftRows
      Src: /src/gpac/src/crypto/tiny_aes.c:459,1
    - Dst: InvMixColumns
      Src: /src/gpac/src/crypto/tiny_aes.c:462,1
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:461,1
    - Dst: InvSubBytes
      Src: /src/gpac/src/crypto/tiny_aes.c:460,1
    - Dst: InvShiftRows
      Src: /src/gpac/src/crypto/tiny_aes.c:467,1
    - Dst: InvSubBytes
      Src: /src/gpac/src/crypto/tiny_aes.c:468,1
    - Dst: AddRoundKey
      Src: /src/gpac/src/crypto/tiny_aes.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - state
    - RoundKey
    argTypes:
    - state_t*
    - u8*
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: InvCipher
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - InvSubBytes
    - InvShiftRows
    - InvMixColumns
    - AddRoundKey
    linkageType: ''
    returnType: void
    signature: 'static void InvCipher(state_t* state,u8* RoundKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: xtime
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'static u8 xtime(u8 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:341,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:342,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:343,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:343,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:342,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:343,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:344,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:344,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:344,1
    - Dst: xtime
      Src: /src/gpac/src/crypto/tiny_aes.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: Multiply
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - xtime
    linkageType: ''
    returnType: u8
    signature: 'static u8 Multiply(u8 x, u8 y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:198,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:199,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:211,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:201,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:200,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:212,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:213,1
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 97
    argCount: 2
    argNames:
    - RoundKey
    - Key
    argTypes:
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 224
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 224
    functionName: KeyExpansion
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - getSBoxValue
    linkageType: ''
    returnType: void
    signature: 'static void KeyExpansion(u8* RoundKey, const u8* Key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxValue
      Src: /src/gpac/src/crypto/tiny_aes.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: SubBytes
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - getSBoxValue
    linkageType: ''
    returnType: void
    signature: 'static void SubBytes(state_t* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/gpac/src/crypto/tiny_aes.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct AES_ctx*
    - u8*
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: AES_init_ctx
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - KeyExpansion
    linkageType: ''
    returnType: void
    signature: 'void AES_init_ctx(struct AES_ctx* ctx, const u8* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - round
    - state
    - RoundKey
    argTypes:
    - u8
    - state_t*
    - u8*
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: AddRoundKey
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void AddRoundKey(u8 round,state_t* state,u8* RoundKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cipher
      Src: /src/gpac/src/crypto/tiny_aes.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct AES_ctx*
    - u8*
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: AES_ECB_encrypt
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - Cipher
    linkageType: ''
    returnType: void
    signature: 'void AES_ECB_encrypt(struct AES_ctx *ctx,const u8* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - Iv
    argTypes:
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: XorWithIv
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void XorWithIv(u8* buf, u8* Iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvCipher
      Src: /src/gpac/src/crypto/tiny_aes.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct AES_ctx*
    - u8*
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: AES_ECB_decrypt
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - InvCipher
    linkageType: ''
    returnType: void
    signature: 'void AES_ECB_decrypt(struct AES_ctx* ctx,const u8* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XorWithIv
      Src: /src/gpac/src/crypto/tiny_aes.c:516,1
    - Dst: memcpy
      Src: /src/gpac/src/crypto/tiny_aes.c:523,1
    - Dst: Cipher
      Src: /src/gpac/src/crypto/tiny_aes.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: AES_CBC_encrypt_buffer
    functionSourceFile: /src/gpac/src/crypto/tiny_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - Cipher
    - XorWithIv
    linkageType: ''
    returnType: void
    signature: 'void AES_CBC_encrypt_buffer(struct AES_ctx *ctx,u8* buf, u32 length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/raster3d.c:70,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/raster3d.c:73,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/raster3d.c:72,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/raster3d.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: evg3d_persp_divide
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_divfix
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool evg3d_persp_divide(GF_Vec4 *pt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UPSCALE
      Src: /src/gpac/src/evg/raster3d.c:99,1
    - Dst: UPSCALE
      Src: /src/gpac/src/evg/raster3d.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - surf
    - pt
    - x
    - y
    argTypes:
    - GF_EVGSurface*
    - GF_Vec4*
    - TPos*
    - TPos*
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: evg_ndc_to_raster
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - UPSCALE
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void evg_ndc_to_raster(GF_EVGSurface *surf, GF_Vec4
      *pt, TPos *x, TPos *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - GF_Vec4*
    - GF_Vec4*
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: edgeFunction
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'static float edgeFunction(const GF_Vec4 *a, const GF_Vec4 *b, const
      GF_Vec4 *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: depth_test_less
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_less(Float depth_buf_value, Float frag_value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - surf
    - mode
    argTypes:
    - GF_EVGSurface*
    - GF_EVGDepthTest
    constantsTouched: []
    func_position:
      end: 1255
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1255
    functionName: gf_evg_set_depth_test
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_set_depth_test(GF_EVGSurface *surf, GF_EVGDepthTest
      mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - disable
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1313
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1313
    functionName: gf_evg_surface_disable_early_depth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_disable_early_depth(GF_EVGSurface *surf, Bool
      disable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - is_ccw
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1328
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1328
    functionName: gf_evg_surface_set_ccw
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_ccw(GF_EVGSurface *surf, Bool is_ccw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_3d_update_depth_range
      Src: /src/gpac/src/evg/raster3d.c:1352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - surf
    - max_depth
    argTypes:
    - GF_EVGSurface*
    - Float
    constantsTouched: []
    func_position:
      end: 1354
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1354
    functionName: gf_evg_surface_set_max_depth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - evg_3d_update_depth_range
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_max_depth(GF_EVGSurface *surf, Float max_depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - size
    argTypes:
    - GF_EVGSurface*
    - Float
    constantsTouched: []
    func_position:
      end: 1369
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1369
    functionName: gf_evg_surface_set_point_size
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_point_size(GF_EVGSurface *surf, Float size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - smooth
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1381
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1381
    functionName: gf_evg_surface_set_point_smooth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_point_smooth(GF_EVGSurface *surf, Bool smooth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b_minus_a_x
    - b_minus_a_y
    - c
    argTypes:
    - GF_Vec4*
    - Float
    - Float
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: edgeFunction_pre
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'float edgeFunction_pre(const GF_Vec4 *a, const Float b_minus_a_x,
      const Float b_minus_a_y, const GF_Vec4 *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: depth_test_less_equal
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_less_equal(Float depth_buf_value, Float frag_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1270
    functionName: evg_3d_update_depth_range
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_3d_update_depth_range(GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - surf
    - shader
    - shader_udta
    argTypes:
    - GF_EVGSurface*
    - gf_evg_vertex_shader
    - void*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1321
    functionName: gf_evg_surface_set_vertex_shader
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_vertex_shader(GF_EVGSurface *surf, gf_evg_vertex_shader
      shader, void *shader_udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - backcull
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1334
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1334
    functionName: gf_evg_surface_set_backcull
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_backcull(GF_EVGSurface *surf, Bool backcull) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_3d_update_depth_range
      Src: /src/gpac/src/evg/raster3d.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - surf
    - clip_zero
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1362
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1362
    functionName: gf_evg_surface_set_clip_zero
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - evg_3d_update_depth_range
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_clip_zero(GF_EVGSurface *surf, Bool clip_zero) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - size
    argTypes:
    - GF_EVGSurface*
    - Float
    constantsTouched: []
    func_position:
      end: 1375
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1375
    functionName: gf_evg_surface_set_line_size
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_line_size(GF_EVGSurface *surf, Float size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - do_write
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1388
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    functionName: gf_evg_surface_write_depth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_write_depth(GF_EVGSurface *surf, Bool do_write) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - depth
    argTypes:
    - GF_EVGSurface*
    - Float*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: gf_evg_surface_set_depth_buffer
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_depth_buffer(GF_EVGSurface *surf, Float
      *depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/raster3d.c:1276,1
    - Dst: evg_3d_update_depth_range
      Src: /src/gpac/src/evg/raster3d.c:1292,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/evg/raster3d.c:1278,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/evg/raster3d.c:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1294
    functionName: evg_init_3d_surface
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - evg_3d_update_depth_range
    - GF_SAFEALLOC
    linkageType: ''
    returnType: EVG_Surface3DExt*
    signature: 'EVG_Surface3DExt *evg_init_3d_surface(GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - antialias
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: gf_evg_surface_set_antialias
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_antialias(GF_EVGSurface *surf, Bool antialias) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:112,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/raster3d.c:114,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/raster3d.c:119,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/raster3d.c:115,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/raster3d.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - surf
    - x
    - y
    argTypes:
    - GF_EVGSurface*
    - TPos
    - TPos
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: gray3d_move_to
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - SUBPIXELS
    - TRUNC
    - gray_record_cell
    - gray_set_cell
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE int gray3d_move_to(GF_EVGSurface *surf, TPos x, TPos
      y) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/raster3d.c:156,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:223,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:240,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:185,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:188,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:191,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:237,1
    - Dst: evg_sweep_lines
      Src: /src/gpac/src/evg/raster3d.c:251,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:184,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:157,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:187,1
    - Dst: edgeFunction
      Src: /src/gpac/src/evg/raster3d.c:194,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:227,1
    - Dst: gray3d_move_to
      Src: /src/gpac/src/evg/raster3d.c:228,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:190,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:236,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:241,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:183,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:186,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:189,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:224,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:243,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:248,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 121
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 252
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 252
    functionName: evg_raster_render_path_3d
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - evg3d_persp_divide
    - memset
    - gf_mx_apply_vec_4x4
    - gf_realloc
    - gray_render_line
    - evg_sweep_lines
    - gray3d_move_to
    - edgeFunction
    - gray_record_cell
    - evg_ndc_to_raster
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_raster_render_path_3d(GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_store_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    - Dst: _mm_max_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    - Dst: _mm_min_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/evg/raster3d.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - val
    - minval
    - maxval
    argTypes:
    - Float
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: float_clamp
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - _mm_max_ss
    - _mm_store_ss
    - _mm_min_ss
    - _mm_set_ss
    linkageType: ''
    returnType: Float
    signature: 'static Float float_clamp(Float val, Float minval, Float maxval) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:266,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/raster3d.c:277,1
    - Dst: GF_COLW_A
      Src: /src/gpac/src/evg/raster3d.c:290,1
    - Dst: GF_COLW_B
      Src: /src/gpac/src/evg/raster3d.c:293,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/raster3d.c:304,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/raster3d.c:328,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster3d.c:274,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/raster3d.c:294,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster3d.c:275,1
    - Dst: GF_COLW_R
      Src: /src/gpac/src/evg/raster3d.c:291,1
    - Dst: GF_COLW_A
      Src: /src/gpac/src/evg/raster3d.c:285,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/raster3d.c:313,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/raster3d.c:324,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:267,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:264,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:265,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster3d.c:273,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster3d.c:276,1
    - Dst: GF_COLW_G
      Src: /src/gpac/src/evg/raster3d.c:292,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/raster3d.c:283,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster3d.c:306,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/raster3d.c:317,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 99
    argCount: 3
    argNames:
    - surf
    - rctx
    - is_transparent
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - Bool*
    constantsTouched: []
    func_position:
      end: 333
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 333
    functionName: evg_get_fragment
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COLW_ARGB
    - float_clamp
    - GF_COLW_A
    - GF_COLW_R
    - GF_COLW_B
    - GF_COL_ARGB
    - GF_COL_R
    - GF_COLW_G
    - gf_evg_argb_to_ayuv_wide
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv
    - gf_evg_ayuv_to_argb
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_get_fragment(GF_EVGSurface *surf, EVGRasterCtx *rctx, Bool
      *is_transparent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - sl
    - x
    argTypes:
    - AAScanline*
    - s32
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: get_patch_pixel
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PatchPixel*
    signature: 'static PatchPixel *get_patch_pixel(AAScanline *sl, s32 x) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/evg/raster3d.c:454,1
    - Dst: edgeFunction_pre
      Src: /src/gpac/src/evg/raster3d.c:475,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:489,1
    - Dst: remove_patch_pixel
      Src: /src/gpac/src/evg/raster3d.c:562,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/evg/raster3d.c:455,1
    - Dst: get_patch_pixel
      Src: /src/gpac/src/evg/raster3d.c:428,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:457,1
    - Dst: push_patch_pixel
      Src: /src/gpac/src/evg/raster3d.c:588,1
    - Dst: remove_patch_pixel
      Src: /src/gpac/src/evg/raster3d.c:571,1
    - Dst: edgeFunction_pre
      Src: /src/gpac/src/evg/raster3d.c:466,1
    - Dst: edgeFunction_pre
      Src: /src/gpac/src/evg/raster3d.c:468,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:487,1
    - Dst: float_clamp
      Src: /src/gpac/src/evg/raster3d.c:488,1
    - Dst: evg_get_fragment
      Src: /src/gpac/src/evg/raster3d.c:544,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 195
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - int
    - int
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 617
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 617
    functionName: EVG3D_SpanFunc
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - float_clamp
    - get_patch_pixel
    - gf_vec_len
    - gf_vec_diff
    - push_patch_pixel
    - remove_patch_pixel
    - edgeFunction_pre
    - evg_get_fragment
    linkageType: ''
    returnType: void
    signature: 'void EVG3D_SpanFunc(int y, int count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:823,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:882,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/evg/raster3d.c:923,1
    - Dst: gray3d_move_to
      Src: /src/gpac/src/evg/raster3d.c:932,1
    - Dst: gray3d_move_to
      Src: /src/gpac/src/evg/raster3d.c:952,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:953,1
    - Dst: evg_sweep_lines
      Src: /src/gpac/src/evg/raster3d.c:965,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:943,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:938,1
    - Dst: gf_mx_add_matrix_4x4
      Src: /src/gpac/src/evg/raster3d.c:696,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:686,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/raster3d.c:685,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/evg/raster3d.c:695,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:800,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:837,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:883,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:933,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:934,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:947,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:948,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:962,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:741,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:757,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:801,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:868,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:838,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:861,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:853,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:875,1
    - Dst: precompute_tri
      Src: /src/gpac/src/evg/raster3d.c:900,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/evg/raster3d.c:921,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:944,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:961,1
    - Dst: GETVEC
      Src: /src/gpac/src/evg/raster3d.c:822,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:854,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:862,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:869,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:876,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:935,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:937,1
    - Dst: gray3d_move_to
      Src: /src/gpac/src/evg/raster3d.c:942,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:956,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:945,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 296
    argCount: 7
    argNames:
    - surf
    - indices
    - nb_idx
    - vertices
    - nb_vertices
    - nb_comp
    - prim_type
    argTypes:
    - GF_EVGSurface*
    - u32*
    - u32
    - Float*
    - u32
    - u32
    - GF_EVGPrimitiveType
    constantsTouched: []
    func_position:
      end: 1013
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 1013
    functionName: evg_raster_render3d
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - memset
    - gf_realloc
    - gf_vec_len
    - GETVEC
    - gf_vec_diff
    - gray_render_line
    - evg_sweep_lines
    - gray3d_move_to
    - gf_mx_add_matrix_4x4
    - precompute_tri
    - gf_mx_copy
    - gray_record_cell
    - evg_ndc_to_raster
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_raster_render3d(GF_EVGSurface *surf, u32 *indices, u32
      nb_idx, Float *vertices, u32 nb_vertices, u32 nb_comp, GF_EVGPrimitiveType prim_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster3d.c:1162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - surf
    - depth
    argTypes:
    - GF_EVGSurface*
    - Float
    constantsTouched: []
    func_position:
      end: 1165
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1165
    functionName: gf_evg_surface_clear_depth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_clear_depth(GF_EVGSurface *surf, Float
      depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1182
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1182
    functionName: depth_test_never
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_never(Float depth_buf_value, Float frag_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: depth_test_equal
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_equal(Float depth_buf_value, Float frag_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1211
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1211
    functionName: depth_test_greater_equal
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_greater_equal(Float depth_buf_value, Float
      frag_value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/raster3d.c:355,1
    - Dst: memmove
      Src: /src/gpac/src/evg/raster3d.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 8
    argNames:
    - sl
    - x
    - col
    - coverage
    - depth
    - write_depth
    - idx1
    - idx2
    argTypes:
    - AAScanline*
    - s32
    - u32
    - u8
    - Float
    - Float
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 371
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 371
    functionName: push_patch_pixel
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void push_patch_pixel(AAScanline *sl, s32 x, u32 col, u8 coverage,
      Float depth, Float write_depth, u32 idx1, u32 idx2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/evg/raster3d.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - sl
    - x
    argTypes:
    - AAScanline*
    - s32
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: remove_patch_pixel
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void remove_patch_pixel(AAScanline *sl, s32 x) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: edgeFunction
      Src: /src/gpac/src/evg/raster3d.c:635,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 18
    argNames:
    - surf
    - fparam
    - xmin
    - xmax
    - ymin
    - ymax
    - _x1
    - _y1
    - _x2
    - _y2
    - _x3
    - _y3
    - s_pt1
    - s_pt2
    - s_pt3
    - vidx1
    - vidx2
    - vidx3
    argTypes:
    - GF_EVGSurface*
    - GF_EVGFragmentParam*
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - TPos
    - GF_Vec4*
    - GF_Vec4*
    - GF_Vec4*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 655
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 655
    functionName: precompute_tri
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - edgeFunction
    linkageType: ''
    returnType: GFINLINE
    signature: "static GFINLINE Bool precompute_tri(GF_EVGSurface *surf, GF_EVGFragmentParam
      *fparam, TPos xmin, TPos xmax, TPos ymin, TPos ymax,\t\t\t\t\t\t\t\t\tTPos _x1,
      TPos _y1, TPos _x2, TPos _y2, TPos _x3, TPos _y3,\t\t\t\t\t\t\t\t\tGF_Vec4 *s_pt1,
      GF_Vec4 *s_pt2, GF_Vec4 *s_pt3,\t\t\t\t\t\t\t\t\tu32 vidx1, u32 vidx2, u32 vidx3) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/evg/raster3d.c:1055,1
    - Dst: gf_mx_add_matrix_4x4
      Src: /src/gpac/src/evg/raster3d.c:1056,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:1079,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:1081,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:1085,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:1121,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/evg/raster3d.c:1033,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/raster3d.c:1049,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:1051,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:1084,1
    - Dst: precompute_tri
      Src: /src/gpac/src/evg/raster3d.c:1089,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:1112,1
    - Dst: gray3d_move_to
      Src: /src/gpac/src/evg/raster3d.c:1113,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster3d.c:1059,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:1083,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:1087,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:1109,1
    - Dst: evg_ndc_to_raster
      Src: /src/gpac/src/evg/raster3d.c:1125,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:1126,1
    - Dst: evg_sweep_lines
      Src: /src/gpac/src/evg/raster3d.c:1137,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/evg/raster3d.c:1074,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:1080,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:1082,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:1086,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/evg/raster3d.c:1108,1
    - Dst: evg3d_persp_divide
      Src: /src/gpac/src/evg/raster3d.c:1122,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/raster3d.c:1128,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/raster3d.c:1133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 109
    argCount: 3
    argNames:
    - surf
    - path
    - z
    argTypes:
    - GF_EVGSurface*
    - GF_Path*
    - Float
    constantsTouched: []
    func_position:
      end: 1141
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1141
    functionName: evg_raster_render3d_path
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_evg_surface_set_path
    - evg3d_persp_divide
    - memset
    - gf_mx_apply_vec_4x4
    - gf_realloc
    - gray_render_line
    - evg_sweep_lines
    - gray3d_move_to
    - gf_mx_add_matrix_4x4
    - precompute_tri
    - gf_mx_copy
    - gray_record_cell
    - evg_ndc_to_raster
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_raster_render3d_path(GF_EVGSurface *surf, GF_Path *path,
      Float z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - surf
    - x
    - y
    - w
    - h
    argTypes:
    - GF_EVGSurface*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1177
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1177
    functionName: gf_evg_surface_viewport
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_viewport(GF_EVGSurface *surf, u32
      x, u32 y, u32 w, u32 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: depth_test_always
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_always(Float depth_buf_value, Float frag_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1206
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1206
    functionName: depth_test_greater
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_greater(Float depth_buf_value, Float frag_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - depth_buf_value
    - frag_value
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: depth_test_not_equal
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool depth_test_not_equal(Float depth_buf_value, Float frag_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - surf
    - shader
    - shader_init
    - shader_udta
    argTypes:
    - GF_EVGSurface*
    - gf_evg_fragment_shader
    - gf_evg_fragment_shader_init
    - void*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1305
    functionName: gf_evg_surface_set_fragment_shader
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_fragment_shader(GF_EVGSurface *surf, gf_evg_fragment_shader
      shader, gf_evg_fragment_shader_init shader_init, void *shader_udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_3d_update_depth_range
      Src: /src/gpac/src/evg/raster3d.c:1345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - surf
    - min_depth
    argTypes:
    - GF_EVGSurface*
    - Float
    constantsTouched: []
    func_position:
      end: 1347
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1347
    functionName: gf_evg_surface_set_min_depth
    functionSourceFile: /src/gpac/src/evg/raster3d.c
    functionUses: []
    functionsReached:
    - evg_3d_update_depth_range
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_min_depth(GF_EVGSurface *surf, Float min_depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/stencil.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: evg_solid_brush
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'static GF_EVGStencil *evg_solid_brush() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: mul255
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 mul255(s32 a, s32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1803
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1803
    functionName: get_pix_555
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_555(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1950,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1951,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:1953,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1952,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1954
    functionName: get_pix_yuv422p_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GET_LE_10BIT_AS_16
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv422p_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1402,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1499,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1482,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1434,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1435,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1481,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:1496,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1503,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/evg/stencil.c:1357,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1480,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1434,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1435,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:1489,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:1514,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1510,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 155
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 1520
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1520
    functionName: tex_fill_run_3d
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_mx2d_is_identity
    - gf_muldiv
    - gf_evg_argb_to_ayuv
    - FIX2INT
    - gf_evg_ayuv_to_argb
    - gf_cmx_apply
    - EVG_LERP
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_3d(GF_EVGStencil *p, EVGRasterCtx *rctx,
      s32 _x, s32 _y, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - st
    - filter_mode
    argTypes:
    - GF_EVGStencil*
    - GF_TextureFilter
    constantsTouched: []
    func_position:
      end: 2823
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2823
    functionName: gf_evg_stencil_set_filter
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_filter(GF_EVGStencil * st, GF_TextureFilter
      filter_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3382
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3382
    functionName: replace_alpha_m1_run_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_a(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3398
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3398
    functionName: replace_alpha_m1_run_g
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_g(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - st
    - c
    argTypes:
    - GF_EVGStencil*
    - GF_Color
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: gf_evg_stencil_set_brush_color
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_brush_color(GF_EVGStencil * st,
      GF_Color c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:609,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:613,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/stencil.c:610,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/stencil.c:611,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/stencil.c:612,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/stencil.c:614,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/stencil.c:615,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/stencil.c:616,1
    - Dst: mul255
      Src: /src/gpac/src/evg/stencil.c:618,1
    - Dst: mul255
      Src: /src/gpac/src/evg/stencil.c:619,1
    - Dst: mul255
      Src: /src/gpac/src/evg/stencil.c:620,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:622,1
    - Dst: mul255
      Src: /src/gpac/src/evg/stencil.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - c0
    - c1
    - t
    argTypes:
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: EVG_LERP
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - GF_COL_ARGB
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: u32
    signature: 'static u32 EVG_LERP(u32 c0, u32 c1, u8 t) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/evg/stencil.c:1542,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1619,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1619,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1587,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1620,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1620,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1690,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1697,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:1701,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1667,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1686,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:1683,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1666,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1665,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 155
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 1707
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1707
    functionName: tex_fill_run_3d_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - gf_muldiv
    - gf_cmx_apply_wide
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv_wide
    - FIX2INT
    - EVG_LERP_WIDE
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_3d_wide(GF_EVGStencil *p, EVGRasterCtx *rctx,
      s32 _x, s32 _y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1813
    functionName: get_pix_565
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_565(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1962
    functionName: get_pix_yuv444p
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv444p(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_init
      Src: /src/gpac/src/evg/stencil.c:2837,1
    - Dst: memcmp
      Src: /src/gpac/src/evg/stencil.c:2839,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/evg/stencil.c:2841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - st
    - cmat
    argTypes:
    - GF_EVGStencil*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2844
    functionName: gf_evg_stencil_set_color_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_cmx_init
    - gf_cmx_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_color_matrix(GF_EVGStencil * st,
      GF_ColorMatrix *cmat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3336
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3336
    functionName: replace_alpha_run_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_a(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3386
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3386
    functionName: replace_alpha_m1_run_a_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_a_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3402
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3402
    functionName: replace_alpha_m1_run_g_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_g_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3517
      start: 3514
    functionDepth: 0
    functionLinenumber: 3514
    functionLinenumberEnd: 3517
    functionName: mix_dyna_run_r_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_r_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:1251,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1265,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:1253,1
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:1256,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:1258,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1296,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:1325,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:1328,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 91
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 1335
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1335
    functionName: tex_fill_run_straight_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - gf_evg_ayuv_to_argb_wide
    - ABS
    - gf_evg_argb_to_ayuv_wide
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_straight_wide(GF_EVGStencil *p, EVGRasterCtx
      *rctx, s32 _x, s32 _y, u32 count) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1587,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1619,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1620,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1619,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1620,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1665,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1690,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1697,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:1701,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1667,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1686,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:1683,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1666,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 137
    argCount: 0
    argNames:
    - count
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1706
    functionName: while
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - gf_cmx_apply_wide
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv_wide
    - FIX2INT
    - EVG_LERP_WIDE
    linkageType: ''
    returnType: PERSP_VARS_DECL
    signature: 'PERSP_VARS_DECL while (count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1775
    functionName: get_pix_rgb_24
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_rgb_24(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1929
    functionName: get_pix_yuv422p
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv422p(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_f_intern
      Src: /src/gpac/src/evg/stencil.c:3042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 3043
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3043
    functionName: gf_evg_stencil_get_pixel_f
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_f_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_evg_stencil_get_pixel_f(GF_EVGStencil *st, Float
      x, Float y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:357,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:360,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - count
    constantsTouched: []
    func_position:
      end: 364
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 364
    functionName: while
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gradient_get_color
    - FIX2INT
    - evg_col_to_wide
    linkageType: ''
    returnType: PERSP_VARS_DECL
    signature: 'PERSP_VARS_DECL while (count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1780
    functionName: get_pix_gbr_24
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_gbr_24(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1937,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1938,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1940,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1941
    functionName: get_pix_yuv422p_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv422p_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_f_intern
      Src: /src/gpac/src/evg/stencil.c:3048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 3049
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3049
    functionName: gf_evg_stencil_get_pixel_yuv_f
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_f_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_evg_stencil_get_pixel_yuv_f(GF_EVGStencil *st,
      Float x, Float y) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1140,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1140,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1189,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:1225,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1221,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1141,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1188,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1210,1
    - Dst: tex_untransform_coord
      Src: /src/gpac/src/evg/stencil.c:1063,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:1207,1
    - Dst: gf_cmx_apply_wide
      Src: /src/gpac/src/evg/stencil.c:1214,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1080,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1104,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1141,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:1190,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 157
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 1231
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1231
    functionName: tex_fill_run_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - tex_untransform_coord
    - gf_cmx_apply_wide
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv_wide
    - FIX2INT
    - EVG_LERP_WIDE
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_wide(GF_EVGStencil *p, EVGRasterCtx *rctx,
      s32 _x, s32 _y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1970,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1973,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1972,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1974
    functionName: get_pix_yuv444p_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv444p_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 10
    argCount: 7
    argNames:
    - stencil
    - pY_or_RGB
    - pU
    - pV
    - pA
    - stride
    - stride_uv
    argTypes:
    - GF_EVGStencil*
    - u8**
    - u8**
    - u8**
    - u8**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2707
    functionName: gf_evg_stencil_get_texture_planes
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_get_texture_planes(GF_EVGStencil *stencil,
      u8 **pY_or_RGB, u8 **pU, u8 **pV, u8 **pA, u32 *stride, u32 *stride_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_fill_run
      Src: /src/gpac/src/evg/stencil.c:3172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - p
    - rctx
    - span
    - y
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - EVG_Span*
    - s32
    constantsTouched: []
    func_position:
      end: 3191
      start: 3170
    functionDepth: 0
    functionLinenumber: 3170
    functionLinenumberEnd: 3191
    functionName: evg_fill_run_mask_inv
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_fill_run
    linkageType: ''
    returnType: void*
    signature: 'void *evg_fill_run_mask_inv(GF_EVGStencil *p, EVGRasterCtx *rctx,
      EVG_Span *span, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3406
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3406
    functionName: replace_alpha_m1_run_b
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_b(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3529
      start: 3526
    functionDepth: 0
    functionLinenumber: 3526
    functionLinenumberEnd: 3529
    functionName: mix_dyna_run_b
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_b(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1982,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:1985,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1983,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1986
    functionName: get_pix_yuv444p_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GET_LE_10BIT_AS_16
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv444p_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_set_texture_internal
      Src: /src/gpac/src/evg/stencil.c:2717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 7
    argNames:
    - stencil
    - width
    - height
    - pixelFormat
    - callback
    - cbk_data
    - use_screen_coords
    argTypes:
    - GF_EVGStencil*
    - u32
    - u32
    - GF_PixelFormat
    - gf_evg_texture_callback
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 2728
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2728
    functionName: gf_evg_stencil_set_texture_parametric
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_texture_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_texture_parametric(GF_EVGStencil
      *stencil, u32 width, u32 height, GF_PixelFormat pixelFormat, gf_evg_texture_callback
      callback, void *cbk_data, Bool use_screen_coords) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - int
    - int
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 3243
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3243
    functionName: evg_fill_span_mask
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void evg_fill_span_mask(int y, int count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3410
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3410
    functionName: replace_alpha_m1_run_b_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_b_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3533
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3533
    functionName: mix_dyna_run_b_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_b_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/evg/stencil.c:498,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/evg/stencil.c:499,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:503,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:503,1
    - Dst: gf_invfix
      Src: /src/gpac/src/evg/stencil.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - _this
    argTypes:
    - EVG_RadialGradient*
    constantsTouched: []
    func_position:
      end: 509
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 509
    functionName: evg_radial_init
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_invfix
    - gf_mx2d_apply_point
    linkageType: ''
    returnType: void
    signature: 'void evg_radial_init(EVG_RadialGradient *_this) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_LEFT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2237,1
    - Dst: GET_LE_10BIT_LEFT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2239,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:2243,1
    - Dst: GET_LE_10BIT_LEFT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2242,1
    - Dst: GET_LE_10BIT_LEFT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2244
    functionName: get_pix_yuyv_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    - GET_LE_10BIT_LEFT_AS_16
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuyv_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - st
    - alpha
    argTypes:
    - GF_EVGStencil*
    - u8
    constantsTouched: []
    func_position:
      end: 3069
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3069
    functionName: gf_evg_stencil_set_alpha
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_alpha(GF_EVGStencil * st, u8 alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3340
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3340
    functionName: replace_alpha_run_a_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_a_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/stencil.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 527
    functionName: evg_radial_gradient_brush
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'static GF_EVGStencil *evg_radial_gradient_brush() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:2247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - rctx
    argTypes:
    - struct __evg_texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2248
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2248
    functionName: default_get_pixel_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_col_to_wide
    linkageType: ''
    returnType: u64
    signature: 'u64 default_get_pixel_wide(struct __evg_texture *_this, u32 x, u32
      y, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3083
    functionName: gf_evg_stencil_get_alpha
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_evg_stencil_get_alpha(GF_EVGStencil * st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3344
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3344
    functionName: replace_alpha_run_r
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_r(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: gf_evg_stencil_get_brush_color
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Color gf_evg_stencil_get_brush_color(GF_EVGStencil *
      st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1908,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:1912,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1909,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:1910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1913
    functionName: get_pix_yuv420p_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GET_LE_10BIT_AS_16
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv420p_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2030
    functionName: get_pix_yuv_nv21
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv_nv21(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixa_run_func
      Src: /src/gpac/src/evg/stencil.c:3312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3313
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3313
    functionName: mixa_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mixa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mixa_run(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3444
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3444
    functionName: mix_dyn_run_a_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_a_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3473
      start: 3470
    functionDepth: 0
    functionLinenumber: 3470
    functionLinenumberEnd: 3473
    functionName: mix_dyn_run_b_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_b_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:62,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:68,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:68,1
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:69,1
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:77,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:78,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:78,1
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:79,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:80,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:80,1
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:81,1
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:91,1
    - Dst: color_interpolate
      Src: /src/gpac/src/evg/stencil.c:86,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:92,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 1
    argNames:
    - _this
    argTypes:
    - EVG_BaseGradient*
    constantsTouched: []
    func_position:
      end: 99
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 99
    functionName: gradient_update
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - MIN
    - gf_mulfix
    - color_interpolate
    - INT2FIX
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void gradient_update(EVG_BaseGradient *_this) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1921,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1922
    functionName: get_pix_yuv420p_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv420p_a(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2037,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2039,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2038,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2042
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2042
    functionName: get_pix_yuv_nv21_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv_nv21_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixa_run_func
      Src: /src/gpac/src/evg/stencil.c:3317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3318
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3318
    functionName: mixa_run_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mixa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mixa_run_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3449
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3449
    functionName: mix_dyn_run_r
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_r(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames:
    - do_mx
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1390
    functionName: if
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PERSP_APPLY
    signature: "PERSP_APPLY if (do_mx) gf_mx2d_apply_coords(&_this->smat_bck, &ix,
      &iy);\t\tx = m_width * ix; y = m_height * iy; x0 = FIX2INT(x); if (x0 > m_width) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1745
    functionName: get_pix_abgr
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_abgr(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1818,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1821
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1821
    functionName: get_pix_palette_alpha
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_palette_alpha(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:912,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:894,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:847,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:847,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:893,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:916,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:909,1
    - Dst: tex_untransform_coord
      Src: /src/gpac/src/evg/stencil.c:769,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:811,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:786,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:848,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:848,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:902,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:923,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:895,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:927,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 157
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 933
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 933
    functionName: tex_fill_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_muldiv
    - tex_untransform_coord
    - gf_evg_argb_to_ayuv
    - FIX2INT
    - gf_evg_ayuv_to_argb
    - gf_cmx_apply
    - EVG_LERP
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run(GF_EVGStencil *p, EVGRasterCtx *rctx, s32
      _x, s32 _y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1750
    functionName: get_pix_bgra
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_bgra(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1826,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1829
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1829
    functionName: get_pix_palette
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_palette(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_run_func
      Src: /src/gpac/src/evg/stencil.c:3273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3274
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3274
    functionName: mix_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_run(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1765
    functionName: get_pix_xbgr
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_xbgr(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/stencil.c:418,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:420,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/evg/stencil.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: evg_linear_gradient_brush
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mx2d_init
    - GF_SAFEALLOC
    - gf_evg_stencil_set_linear_gradient
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'static GF_EVGStencil *evg_linear_gradient_brush() '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1402,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1435,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1434,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1434,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/evg/stencil.c:1435,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1480,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1481,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:1496,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:1489,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1499,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:1514,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1503,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:1482,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:1510,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 137
    argCount: 0
    argNames:
    - count
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1519
    functionName: while
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_muldiv
    - gf_evg_argb_to_ayuv
    - FIX2INT
    - gf_evg_ayuv_to_argb
    - gf_cmx_apply
    - EVG_LERP
    linkageType: ''
    returnType: PERSP_VARS_DECL
    signature: 'PERSP_VARS_DECL while (count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames:
    - x0
    - < 0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1400
    functionName: if
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (x0 < 0) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:2214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 123
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2215
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2215
    functionName: get_pix_v210_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_v210_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3348
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3348
    functionName: replace_alpha_run_r_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_r_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3390
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3390
    functionName: replace_alpha_m1_run_r
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_r(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3464
      start: 3461
    functionDepth: 0
    functionLinenumber: 3461
    functionLinenumberEnd: 3464
    functionName: mix_dyn_run_g_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_g_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1770
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1770
    functionName: get_pix_bgrx
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_bgrx(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_LEFT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2223,1
    - Dst: GET_LE_10BIT_LEFT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2225,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2229,1
    - Dst: GET_LE_10BIT_LEFT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2228,1
    - Dst: GET_LE_10BIT_LEFT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2230
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2230
    functionName: get_pix_yuyv_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_LEFT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuyv_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3352
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3352
    functionName: replace_alpha_run_g
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_g(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_m1_run_func
      Src: /src/gpac/src/evg/stencil.c:3393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3394
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3394
    functionName: replace_alpha_m1_run_r_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_m1_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_m1_run_r_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3468
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3468
    functionName: mix_dyn_run_b
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_b(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/evg/stencil.c:459,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:460,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:462,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - count
    argTypes:
    - count
    constantsTouched: []
    func_position:
      end: 467
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 467
    functionName: while
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_col_to_wide
    - gf_mulfix
    - gf_sqrt
    - gradient_get_color
    - FIX2INT
    linkageType: ''
    returnType: PERSP_VARS_DECL
    signature: 'PERSP_VARS_DECL while (count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: get_pix_greyalpha
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_greyalpha(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - st
    - cx
    - cy
    - fx
    - fy
    - x_radius
    - y_radius
    argTypes:
    - GF_EVGStencil*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: gf_evg_stencil_set_radial_gradient
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_radial_gradient(GF_EVGStencil
      * st, Fixed cx, Fixed cy, Fixed fx, Fixed fy, Fixed x_radius, Fixed y_radius) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2888
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2888
    functionName: gf_evg_stencil_get_pixel_fast
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_evg_stencil_get_pixel_fast(GF_EVGStencil *st, s32 x, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_intern
      Src: /src/gpac/src/evg/stencil.c:2924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2925
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2925
    functionName: gf_evg_stencil_get_pixel_yuv_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_evg_stencil_get_pixel_yuv_wide(GF_EVGStencil *st,
      s32 x, s32 y) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:585,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:578,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/evg/stencil.c:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - grad
    - surf
    argTypes:
    - EVG_BaseGradient*
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 589
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 589
    functionName: evg_gradient_precompute
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_evg_argb_to_ayuv
    - gf_cmx_apply
    linkageType: ''
    returnType: void
    signature: 'void evg_gradient_precompute(EVG_BaseGradient *grad, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1858
    functionName: get_pix_yuv420p
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv420p(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2892
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2892
    functionName: gf_evg_stencil_get_pixel_wide_fast
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_evg_stencil_get_pixel_wide_fast(GF_EVGStencil *st, s32 x, s32
      y) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gpac/src/evg/stencil.c:2963,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:2982,1
    - Dst: GF_COLW_A
      Src: /src/gpac/src/evg/stencil.c:2995,1
    - Dst: floor
      Src: /src/gpac/src/evg/stencil.c:3004,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/stencil.c:3032,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/stencil.c:3034,1
    - Dst: memset
      Src: /src/gpac/src/evg/stencil.c:2931,1
    - Dst: GF_COLW_R
      Src: /src/gpac/src/evg/stencil.c:2992,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:2981,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:3024,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:3030,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:3035,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/stencil.c:3033,1
    - Dst: floor
      Src: /src/gpac/src/evg/stencil.c:2962,1
    - Dst: GF_COLW_G
      Src: /src/gpac/src/evg/stencil.c:2993,1
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:2989,1
    - Dst: floor
      Src: /src/gpac/src/evg/stencil.c:3003,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:3023,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:3028,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:2987,1
    - Dst: EVG_LERP_WIDE
      Src: /src/gpac/src/evg/stencil.c:2983,1
    - Dst: GF_COLW_B
      Src: /src/gpac/src/evg/stencil.c:2994,1
    - Dst: EVG_LERP
      Src: /src/gpac/src/evg/stencil.c:3022,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 185
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - want_yuv
    argTypes:
    - EVG_Texture*
    - Float
    - Float
    - Bool
    constantsTouched: []
    func_position:
      end: 3037
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 3037
    functionName: gf_evg_stencil_get_pixel_f_intern
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COLW_B
    - memset
    - GF_COLW_R
    - GF_COLW_A
    - floor
    - GF_COLW_G
    - GF_COL_R
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv_wide
    - gf_evg_argb_to_ayuv
    - gf_evg_ayuv_to_argb
    - GF_COL_G
    - GF_COL_B
    - EVG_LERP_WIDE
    - EVG_LERP
    linkageType: ''
    returnType: GF_Vec4
    signature: 'static GF_Vec4 gf_evg_stencil_get_pixel_f_intern(EVG_Texture *_this,
      Float x, Float y, Bool want_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 3
    argNames:
    - a
    - b
    - pos
    argTypes:
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: color_interpolate
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Color
    signature: 'GF_Color color_interpolate(u32 a, u32 b, u8 pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/evg/stencil.c:444,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:479,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:482,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:460,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:463,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:476,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:476,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:476,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:469,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:477,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:481,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:470,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:477,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:462,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/evg/stencil.c:471,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/evg/stencil.c:478,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:457,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/evg/stencil.c:459,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:477,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/evg/stencil.c:477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 490
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 490
    functionName: rg_fill_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_col_to_wide
    - gf_mx2d_apply_coords
    - gf_mulfix
    - INT2FIX
    - gf_sqrt
    - gradient_get_color
    - FIX2INT
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void rg_fill_run(GF_EVGStencil *p, EVGRasterCtx *rctx, s32
      _x, s32 _y, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - st
    - auto_on
    argTypes:
    - GF_EVGStencil*
    - Bool
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: gf_evg_stencil_set_auto_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_auto_matrix(GF_EVGStencil * st,
      Bool auto_on) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sten
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: gf_evg_stencil_type
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_StencilType gf_evg_stencil_type(GF_EVGStencil *sten) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s64
    - s64
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: mul_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s64 mul_wide(s64 a, s64 b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:3139,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 4
    argNames:
    - p
    - rctx
    - span
    - y
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - EVG_Span*
    - s32
    constantsTouched: []
    func_position:
      end: 3147
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3147
    functionName: evg_fill_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    linkageType: ''
    returnType: void*
    signature: 'void *evg_fill_run(GF_EVGStencil *p, EVGRasterCtx *rctx, EVG_Span
      *span, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_run_func
      Src: /src/gpac/src/evg/stencil.c:3278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3279
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3279
    functionName: mix_run_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_run_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3521
      start: 3518
    functionDepth: 0
    functionLinenumber: 3518
    functionLinenumberEnd: 3521
    functionName: mix_dyna_run_g
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_g(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: gf_evg_stencil_get_auto_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_evg_stencil_get_auto_matrix(GF_EVGStencil * st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul_wide
      Src: /src/gpac/src/evg/stencil.c:647,1
    - Dst: mul_wide
      Src: /src/gpac/src/evg/stencil.c:649,1
    - Dst: mul_wide
      Src: /src/gpac/src/evg/stencil.c:648,1
    - Dst: mul_wide
      Src: /src/gpac/src/evg/stencil.c:650,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - c0
    - c1
    - t
    argTypes:
    - u64
    - u64
    - u8
    constantsTouched: []
    func_position:
      end: 653
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 653
    functionName: EVG_LERP_WIDE
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    - mul_wide
    linkageType: ''
    returnType: u64
    signature: 'static u64 EVG_LERP_WIDE(u64 c0, u64 c1, u8 t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_fill_run
      Src: /src/gpac/src/evg/stencil.c:3150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - p
    - rctx
    - span
    - y
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - EVG_Span*
    - s32
    constantsTouched: []
    func_position:
      end: 3169
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3169
    functionName: evg_fill_run_mask
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_fill_run
    linkageType: ''
    returnType: void*
    signature: 'void *evg_fill_run_mask(GF_EVGStencil *p, EVGRasterCtx *rctx, EVG_Span
      *span, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3525
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3525
    functionName: mix_dyna_run_g_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_g_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/evg/stencil.c:2625,1
    - Dst: gf_evg_stencil_set_texture_internal
      Src: /src/gpac/src/evg/stencil.c:2627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pixelFormat
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 2630
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2630
    functionName: gf_evg_texture_format_ok
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_texture_internal
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_evg_texture_format_ok(GF_PixelFormat pixelFormat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_intern
      Src: /src/gpac/src/evg/stencil.c:2876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2877
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2877
    functionName: gf_evg_stencil_get_pixel
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_evg_stencil_get_pixel(GF_EVGStencil *st, s32 x, s32
      y) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - stencil
    - palette
    - pix_fmt
    - nb_cols
    argTypes:
    - GF_EVGStencil*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2690
      start: 2633
    functionDepth: 0
    functionLinenumber: 2633
    functionLinenumberEnd: 2690
    functionName: gf_evg_stencil_set_palette
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_palette(GF_EVGStencil *stencil,
      const u8 *palette, u32 pix_fmt, u32 nb_cols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_intern
      Src: /src/gpac/src/evg/stencil.c:2882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2883
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2883
    functionName: gf_evg_stencil_get_pixel_yuv
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_evg_stencil_get_pixel_yuv(GF_EVGStencil *st, s32
      x, s32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - p
    - rctx
    - x
    - y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: sc_fill_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sc_fill_run(GF_EVGStencil *p, EVGRasterCtx *rctx, s32
      x, s32 y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1755
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1755
    functionName: get_pix_rgbx
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_rgbx(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/stencil.c:238,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - st
    - mx
    argTypes:
    - GF_EVGStencil*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: gf_evg_stencil_set_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mx2d_copy
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_matrix(GF_EVGStencil * st, GF_Matrix2D
      *mx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/evg/stencil.c:347,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:360,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:359,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:357,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:369,1
    - Dst: gradient_get_color
      Src: /src/gpac/src/evg/stencil.c:372,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 379
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 379
    functionName: lg_fill_run
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gradient_get_color
    - gf_assert
    - FIX2INT
    - evg_col_to_wide
    linkageType: ''
    returnType: void
    signature: 'static void lg_fill_run(GF_EVGStencil *p, EVGRasterCtx *rctx, s32
      _x, s32 _y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_paramtx_get_pixel
      Src: /src/gpac/src/evg/stencil.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - _p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 740
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 740
    functionName: tex_fill_run_callback
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_paramtx_get_pixel
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_callback(GF_EVGStencil *_p, EVGRasterCtx
      *rctx, s32 _x, s32 _y, u32 count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames:
    - x0
    - < 0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1585
    functionName: if
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (x0 < 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2007,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2008,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:2009,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2012
    functionName: get_pix_yuv_nv12_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv_nv12_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2116
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2116
    functionName: get_pix_yuv444_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv444_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_set_texture_internal
      Src: /src/gpac/src/evg/stencil.c:2613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - stencil
    - width
    - height
    - pixelFormat
    - y_or_rgb
    - stride
    - u_plane
    - v_plane
    - uv_stride
    - alpha_plane
    - stride_alpha
    argTypes:
    - GF_EVGStencil*
    - u32
    - u32
    - GF_PixelFormat
    - u8*
    - u32
    - u8*
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2614
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2614
    functionName: gf_evg_stencil_set_texture_planes
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_texture_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_texture_planes(GF_EVGStencil *stencil,
      u32 width, u32 height, GF_PixelFormat pixelFormat, const u8 *y_or_rgb, u32 stride,
      const u8 *u_plane, const u8 *v_plane, u32 uv_stride, const u8 *alpha_plane,
      u32 stride_alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/stencil.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - st
    - mx
    argTypes:
    - GF_EVGStencil*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: gf_evg_stencil_get_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mx2d_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_evg_stencil_get_matrix(GF_EVGStencil * st, GF_Matrix2D
      *mx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_v2d_len
      Src: /src/gpac/src/evg/stencil.c:396,1
    - Dst: gf_invfix
      Src: /src/gpac/src/evg/stencil.c:397,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/evg/stencil.c:405,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:404,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:399,1
    - Dst: gf_atan2
      Src: /src/gpac/src/evg/stencil.c:405,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/stencil.c:406,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:408,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/stencil.c:409,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/stencil.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - st
    - start_x
    - start_y
    - end_x
    - end_y
    argTypes:
    - GF_EVGStencil*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 412
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 412
    functionName: gf_evg_stencil_set_linear_gradient
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_matrix
    - gf_invfix
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - gf_v2d_len
    - gf_mx2d_add_rotation
    - gf_atan2
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_linear_gradient(GF_EVGStencil
      * st, Fixed start_x, Fixed start_y, Fixed end_x, Fixed end_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_paramtx_get_pixel_wide
      Src: /src/gpac/src/evg/stencil.c:747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - _p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 751
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 751
    functionName: tex_fill_run_callback_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_paramtx_get_pixel_wide
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_callback_wide(GF_EVGStencil *_p, EVGRasterCtx
      *rctx, s32 _x, s32 _y, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1760
    functionName: get_pix_xrgb
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_xrgb(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1894,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1896,1
    - Dst: GET_LE_10BIT_AS_8
      Src: /src/gpac/src/evg/stencil.c:1895,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1899
    functionName: get_pix_yuv420p_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - GET_LE_10BIT_AS_8
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv420p_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2019,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2021,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:2023,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2024
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2024
    functionName: get_pix_yuv_nv12_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GET_LE_10BIT_AS_16
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv_nv12_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 123
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2166
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2166
    functionName: get_pix_v210
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_v210(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_set_texture_internal
      Src: /src/gpac/src/evg/stencil.c:2618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - stencil
    - pixels
    - width
    - height
    - stride
    - pixelFormat
    argTypes:
    - GF_EVGStencil*
    - u8*
    - u32
    - u32
    - u32
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 2619
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2619
    functionName: gf_evg_stencil_set_texture
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_texture_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_texture(GF_EVGStencil *stencil,
      u8 *pixels, u32 width, u32 height, u32 stride, GF_PixelFormat pixelFormat) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/stencil.c:3651,1
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/stencil.c:3655,1
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/stencil.c:3664,1
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/stencil.c:3668,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 139
    argCount: 5
    argNames:
    - surf
    - operand
    - sten2
    - sten3
    - params
    argTypes:
    - GF_EVGSurface*
    - GF_EVGMultiTextureMode
    - GF_EVGStencil*
    - GF_EVGStencil*
    - Float*
    constantsTouched: []
    func_position:
      end: 3674
      start: 3536
    functionDepth: 0
    functionLinenumber: 3536
    functionLinenumberEnd: 3674
    functionName: gf_evg_setup_multi_texture
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_setup_multi_texture(GF_EVGSurface *surf, GF_EVGMultiTextureMode
      operand, GF_EVGStencil *sten2, GF_EVGStencil *sten3, Float *params) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evg_solid_brush
      Src: /src/gpac/src/evg/stencil.c:176,1
    - Dst: evg_linear_gradient_brush
      Src: /src/gpac/src/evg/stencil.c:179,1
    - Dst: evg_radial_gradient_brush
      Src: /src/gpac/src/evg/stencil.c:182,1
    - Dst: evg_texture_brush
      Src: /src/gpac/src/evg/stencil.c:185,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:191,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/stencil.c:192,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/evg/stencil.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_StencilType
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: gf_evg_stencil_new
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - evg_radial_gradient_brush
    - evg_linear_gradient_brush
    - gf_cmx_init
    - gf_mx2d_init
    - evg_texture_brush
    - evg_solid_brush
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_EVGStencil * gf_evg_stencil_new(GF_StencilType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1735
    functionName: get_pix_rgba
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_rgba(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1835
    functionName: get_pix_grey
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_grey(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/evg/stencil.c:2737,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/evg/stencil.c:2738,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2779,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:2781,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/stencil.c:2785,1
    - Dst: texture_set_callbacks
      Src: /src/gpac/src/evg/stencil.c:2787,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 2
    argNames:
    - p
    - surf
    argTypes:
    - GF_EVGStencil*
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2788
    functionName: evg_texture_init
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - texture_set_callbacks
    - evg_col_to_wide
    - gf_evg_argb_to_ayuv
    - gf_mx2d_apply_point
    linkageType: ''
    returnType: void
    signature: 'void evg_texture_init(GF_EVGStencil *p, GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3356
      start: 3353
    functionDepth: 0
    functionLinenumber: 3353
    functionLinenumberEnd: 3356
    functionName: replace_alpha_run_g_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_g_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/evg/stencil.c:206,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/stencil.c:213,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/stencil.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: gf_evg_stencil_delete
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_evg_stencil_delete(GF_EVGStencil * st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1740
    functionName: get_pix_grba
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_grba(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1843
    functionName: get_pix_alphagrey
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_alphagrey(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - st
    - pad_color
    argTypes:
    - GF_EVGStencil*
    - GF_Color
    constantsTouched: []
    func_position:
      end: 2797
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2797
    functionName: gf_evg_stencil_set_pad_color
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_pad_color(GF_EVGStencil * st,
      GF_Color pad_color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3360
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3360
    functionName: replace_alpha_run_b
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_b(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gradient_update
      Src: /src/gpac/src/evg/stencil.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - p
    - pos
    - col
    argTypes:
    - GF_EVGStencil*
    - Fixed
    - GF_Color
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: gf_evg_stencil_push_gradient_interpolation
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gradient_update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_push_gradient_interpolation(GF_EVGStencil
      * p, Fixed pos, GF_Color col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - rctx
    argTypes:
    - struct __evg_texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: evg_paramtx_get_pixel
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'static u32 evg_paramtx_get_pixel(struct __evg_texture *_this, u32
      x, u32 y, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1785
    functionName: get_pix_bgr_24
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_bgr_24(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1994
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1994
    functionName: get_pix_yuv444p_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv444p_a(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2085
    functionName: get_pix_vyuy
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_vyuy(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - GF_EVGStencil*
    - GF_GradientMode
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: gf_evg_stencil_set_gradient_mode
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_gradient_mode(GF_EVGStencil *
      p, GF_GradientMode mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - rctx
    argTypes:
    - struct __evg_texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: evg_paramtx_get_pixel_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 evg_paramtx_get_pixel_wide(struct __evg_texture *_this, u32 x,
      u32 y, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1793
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1793
    functionName: get_pix_444
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_444(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2000
    functionName: get_pix_yuv_nv12
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv_nv12(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2101
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2101
    functionName: get_pix_yuv444_10
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuv444_10(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3439
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3439
    functionName: mix_dyn_run_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_a(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:663,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:664,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/evg/stencil.c:665,1
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:670,1
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:671,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:676,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:677,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/evg/stencil.c:678,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:681,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:685,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - _this
    - _x
    - _y
    - outx
    - outy
    argTypes:
    - EVG_Texture*
    - s32
    - s32
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 693
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 693
    functionName: tex_untransform_coord
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - ABS
    - INT2FIX
    - gf_mx2d_apply_coords
    linkageType: ''
    returnType: void
    signature: 'static void tex_untransform_coord(EVG_Texture *_this, s32 _x, s32
      _y, Fixed *outx, Fixed *outy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/evg/stencil.c:2851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - st
    - cmat
    argTypes:
    - GF_EVGStencil*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2853
    functionName: gf_evg_stencil_get_color_matrix
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_cmx_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_get_color_matrix(GF_EVGStencil * st,
      GF_ColorMatrix *cmat) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:2868,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:2866,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - want_yuv
    argTypes:
    - EVG_Texture*
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 2871
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2871
    functionName: gf_evg_stencil_get_pixel_intern
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_argb_to_ayuv
    - gf_evg_ayuv_to_argb
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_evg_stencil_get_pixel_intern(EVG_Texture *_this, s32
      x, s32 y, Bool want_yuv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/evg/stencil.c:116,1
    - Dst: MAX
      Src: /src/gpac/src/evg/stencil.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - _this
    - pos
    argTypes:
    - EVG_BaseGradient*
    - s32
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: gradient_get_color
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - MAX
    - MIN
    linkageType: ''
    returnType: u32
    signature: 'static u32 gradient_get_color(EVG_BaseGradient *_this, s32 pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3454
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3454
    functionName: mix_dyn_run_r_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_r_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3505
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3505
    functionName: mix_dyna_run_a
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_a(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/evg/stencil.c:127,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/stencil.c:128,1
    - Dst: gradient_update
      Src: /src/gpac/src/evg/stencil.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - p
    - pos
    - col
    - count
    argTypes:
    - GF_EVGStencil*
    - Fixed*
    - GF_Color*
    - u32
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: gf_evg_stencil_set_gradient_interpolation
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gradient_update
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_gradient_interpolation(GF_EVGStencil
      * p, Fixed *pos, GF_Color *col, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyn_run_func
      Src: /src/gpac/src/evg/stencil.c:3458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3459
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3459
    functionName: mix_dyn_run_g
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyn_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyn_run_g(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3509
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3509
    functionName: mix_dyna_run_a_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_a_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mix_dyna_run_func
      Src: /src/gpac/src/evg/stencil.c:3512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3513
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3513
    functionName: mix_dyna_run_r
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - mix_dyna_run_func
    linkageType: ''
    returnType: void
    signature: 'static void mix_dyna_run_r(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:954,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:969,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:963,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/stencil.c:957,1
    - Dst: ABS
      Src: /src/gpac/src/evg/stencil.c:960,1
    - Dst: FIX2INT
      Src: /src/gpac/src/evg/stencil.c:1000,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/evg/stencil.c:1029,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/stencil.c:1032,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 5
    argNames:
    - p
    - rctx
    - _x
    - _y
    - count
    argTypes:
    - GF_EVGStencil*
    - EVGRasterCtx*
    - s32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 1039
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1039
    functionName: tex_fill_run_straight
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - ABS
    - gf_evg_argb_to_ayuv
    - FIX2INT
    - gf_evg_ayuv_to_argb
    linkageType: ''
    returnType: void
    signature: 'static void tex_fill_run_straight(GF_EVGStencil *p, EVGRasterCtx *rctx,
      s32 _x, s32 _y, u32 count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames:
    - do_mx
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1575
    functionName: if
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PERSP_APPLY
    signature: "PERSP_APPLY if (do_mx) gf_mx2d_apply_coords(&_this->smat_bck, &ix,
      &iy);\t\tx = m_width * ix; y = m_height * iy; x0 = FIX2INT(x); if (x0 > m_width) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/stencil.c:1712,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/evg/stencil.c:1720,1
    - Dst: gf_evg_stencil_set_filter
      Src: /src/gpac/src/evg/stencil.c:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1723
    functionName: evg_texture_brush
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_cmx_init
    - gf_evg_stencil_set_filter
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'GF_EVGStencil *evg_texture_brush() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2049,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2051,1
    - Dst: GET_LE_10BIT_AS_16
      Src: /src/gpac/src/evg/stencil.c:2050,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:2052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2053
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2053
    functionName: get_pix_yuv_nv21_10_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GET_LE_10BIT_AS_16
    - GF_COLW_ARGB
    linkageType: ''
    returnType: u64
    signature: 'u64 get_pix_yuv_nv21_10_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2069
    functionName: get_pix_yvyu
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yvyu(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 69
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 159
    argCount: 1
    argNames:
    - _this
    argTypes:
    - EVG_Texture*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2492
    functionName: texture_set_callbacks
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void texture_set_callbacks(EVG_Texture *_this) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 2805
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2805
    functionName: gf_evg_stencil_get_pad_color
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_evg_stencil_get_pad_color(GF_EVGStencil * st) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_argb_to_ayuv_wide
      Src: /src/gpac/src/evg/stencil.c:2910,1
    - Dst: gf_evg_ayuv_to_argb_wide
      Src: /src/gpac/src/evg/stencil.c:2908,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - want_yuv
    argTypes:
    - EVG_Texture*
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 2913
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2913
    functionName: gf_evg_stencil_get_pixel_wide_intern
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_ayuv_to_argb_wide
    - gf_evg_argb_to_ayuv_wide
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_evg_stencil_get_pixel_wide_intern(EVG_Texture *_this,
      s32 x, s32 y, Bool want_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/stencil.c:1043,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/stencil.c:1045,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/stencil.c:1046,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/stencil.c:1044,1
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/stencil.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - col
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: evg_col_to_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COLW_ARGB
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: u64
    signature: 'u64 evg_col_to_wide( u32 col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:1729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: get_pix_argb
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_argb(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2061
    functionName: get_pix_yuyv
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_yuyv(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/stencil.c:2076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - ctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2077
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2077
    functionName: get_pix_uyvy
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: u32
    signature: 'u32 get_pix_uyvy(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *ctx) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: texture_set_callbacks
      Src: /src/gpac/src/evg/stencil.c:2606,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 62
    argCount: 11
    argNames:
    - st
    - width
    - height
    - pixelFormat
    - pixels
    - stride
    - u_plane
    - v_plane
    - uv_stride
    - alpha_plane
    - alpha_stride
    argTypes:
    - GF_EVGStencil*
    - u32
    - u32
    - GF_PixelFormat
    - char*
    - u32
    - char*
    - char*
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2608
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2608
    functionName: gf_evg_stencil_set_texture_internal
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - texture_set_callbacks
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_evg_stencil_set_texture_internal(GF_EVGStencil *
      st, u32 width, u32 height, GF_PixelFormat pixelFormat, const char *pixels, u32
      stride, const char *u_plane, const char *v_plane, u32 uv_stride, const char
      *alpha_plane, u32 alpha_stride) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - st
    - mode
    argTypes:
    - GF_EVGStencil*
    - GF_TextureMapFlags
    constantsTouched: []
    func_position:
      end: 2814
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2814
    functionName: gf_evg_stencil_set_mapping
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_stencil_set_mapping(GF_EVGStencil * st, GF_TextureMapFlags
      mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_wide_intern
      Src: /src/gpac/src/evg/stencil.c:2918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - st
    - x
    - y
    argTypes:
    - GF_EVGStencil*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2919
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2919
    functionName: gf_evg_stencil_get_pixel_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_get_pixel_wide_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_evg_stencil_get_pixel_wide(GF_EVGStencil *st, s32
      x, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repa_run_func
      Src: /src/gpac/src/evg/stencil.c:3363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - EVGRasterCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3364
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3364
    functionName: replace_alpha_run_b_wide
    functionSourceFile: /src/gpac/src/evg/stencil.c
    functionUses: []
    functionsReached:
    - repa_run_func
    linkageType: ''
    returnType: void
    signature: 'static void replace_alpha_run_b_wide(EVGRasterCtx *rctx, u32 count) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/ftgrays.c:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: gray_record_cell
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'void gray_record_cell(GF_EVGSurface *surf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:165,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:166,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:171,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:177,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:181,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:241,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 106
    argCount: 6
    argNames:
    - surf
    - ey
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - GF_EVGSurface*
    - TCoord
    - TPos
    - TCoord
    - TPos
    - TCoord
    constantsTouched: []
    func_position:
      end: 247
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 247
    functionName: gray_render_scanline
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - SUBPIXELS
    - TRUNC
    - gray_set_cell
    linkageType: ''
    returnType: void
    signature: 'static void gray_render_scanline(GF_EVGSurface *surf, TCoord ey, TPos
      x1, TCoord y1, TPos x2, TCoord y2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/evg/ftgrays.c:119,1
    - Dst: UPSCALE
      Src: /src/gpac/src/evg/ftgrays.c:122,1
    - Dst: UPSCALE
      Src: /src/gpac/src/evg/ftgrays.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - mx
    - pt
    - x
    - y
    argTypes:
    - GF_Matrix2D*
    - EVG_Vector*
    - TPos*
    - TPos*
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: evg_translate_point
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_coords
    - UPSCALE
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void evg_translate_point(GF_Matrix2D *mx, EVG_Vector
      *pt, TPos *x, TPos *y) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:267,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:319,1
    - Dst: gray_render_scanline
      Src: /src/gpac/src/evg/ftgrays.c:377,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:263,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:264,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:289,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:373,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:373,1
    - Dst: gray_render_scanline
      Src: /src/gpac/src/evg/ftgrays.c:283,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:295,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:311,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:348,1
    - Dst: gray_render_scanline
      Src: /src/gpac/src/evg/ftgrays.c:369,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:348,1
    - Dst: gray_render_scanline
      Src: /src/gpac/src/evg/ftgrays.c:345,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:382,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 134
    argCount: 3
    argNames:
    - surf
    - to_x
    - to_y
    argTypes:
    - GF_EVGSurface*
    - TPos
    - TPos
    constantsTouched: []
    func_position:
      end: 383
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 383
    functionName: gray_render_line
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gray_set_cell
    - SUBPIXELS
    - TRUNC
    - gray_render_scanline
    linkageType: ''
    returnType: void
    signature: 'void gray_render_line(GF_EVGSurface *surf, TPos to_x, TPos to_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_move_to
      Src: /src/gpac/src/evg/ftgrays.c:403,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/ftgrays.c:411,1
    - Dst: gray_render_line
      Src: /src/gpac/src/evg/ftgrays.c:407,1
    - Dst: evg_translate_point
      Src: /src/gpac/src/evg/ftgrays.c:406,1
    - Dst: evg_translate_point
      Src: /src/gpac/src/evg/ftgrays.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - outline
    - surf
    argTypes:
    - EVG_Outline*
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 415
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 415
    functionName: EVG_Outline_Decompose
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - evg_translate_point
    - gray_move_to
    - gray_render_line
    linkageType: ''
    returnType: int
    signature: 'static int EVG_Outline_Decompose(EVG_Outline *outline, GF_EVGSurface
      *surf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:451,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:461,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:464,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:458,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:476,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:479,1
    - Dst: SWAP_CELLS
      Src: /src/gpac/src/evg/ftgrays.c:499,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 2
    argNames:
    - cells
    - count
    argTypes:
    - AACell*
    - int
    constantsTouched: []
    func_position:
      end: 512
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 512
    functionName: gray_quick_sort
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - SWAP_CELLS
    linkageType: ''
    returnType: void
    signature: 'void gray_quick_sort( AACell *cells, int count ) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/ftgrays.c:590,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 8
    argNames:
    - raster
    - x
    - y
    - area
    - acount
    - fill_rule
    - idx1
    - idx2
    argTypes:
    - EVGRasterCtx*
    - TCoord
    - TCoord
    - TPos
    - int
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 604
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 604
    functionName: gray_hline
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void gray_hline(EVGRasterCtx *raster, TCoord x, TCoord y, TPos
      area, int acount, u32 fill_rule, u32 idx1, u32 idx2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/ftgrays.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - surf
    - ex
    - ey
    argTypes:
    - GF_EVGSurface*
    - TCoord
    - TCoord
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: gray_set_cell
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gray_record_cell
    linkageType: ''
    returnType: void
    signature: 'void gray_set_cell(GF_EVGSurface *surf, TCoord ex, TCoord ey ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/ftgrays.c:135,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:139,1
    - Dst: TRUNC
      Src: /src/gpac/src/evg/ftgrays.c:140,1
    - Dst: evg_translate_point
      Src: /src/gpac/src/evg/ftgrays.c:137,1
    - Dst: gray_set_cell
      Src: /src/gpac/src/evg/ftgrays.c:144,1
    - Dst: SUBPIXELS
      Src: /src/gpac/src/evg/ftgrays.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - to
    - surf
    argTypes:
    - EVG_Vector*
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: gray_move_to
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - TRUNC
    - SUBPIXELS
    - evg_translate_point
    - gray_record_cell
    - gray_set_cell
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE int gray_move_to(EVG_Vector *to, GF_EVGSurface *surf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gray_hline
      Src: /src/gpac/src/evg/ftgrays.c:636,1
    - Dst: gray_hline
      Src: /src/gpac/src/evg/ftgrays.c:643,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - raster
    - sl
    - y
    - fill_rule
    argTypes:
    - EVGRasterCtx*
    - AAScanline*
    - int
    - u32
    constantsTouched: []
    func_position:
      end: 646
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 646
    functionName: gray_sweep_line
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gray_hline
    linkageType: ''
    returnType: void
    signature: 'void gray_sweep_line(EVGRasterCtx *raster, AAScanline *sl, int y,
      u32 fill_rule) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/evg/ftgrays.c:651,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/evg/ftgrays.c:665,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/evg/ftgrays.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 667
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 667
    functionName: th_fetch_lines
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool th_fetch_lines(EVGRasterCtx *rctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_sleep
      Src: /src/gpac/src/evg/ftgrays.c:681,1
    - Dst: gray_sweep_line
      Src: /src/gpac/src/evg/ftgrays.c:698,1
    - Dst: th_fetch_lines
      Src: /src/gpac/src/evg/ftgrays.c:710,1
    - Dst: gray_quick_sort
      Src: /src/gpac/src/evg/ftgrays.c:697,1
    - Dst: gf_sema_wait
      Src: /src/gpac/src/evg/ftgrays.c:684,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/evg/ftgrays.c:713,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/evg/ftgrays.c:721,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 728
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 728
    functionName: th_sweep_lines
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gray_sweep_line
    - th_fetch_lines
    - gray_quick_sort
    - gf_mx_v
    - gf_sleep
    - gf_sema_wait
    linkageType: ''
    returnType: u32
    signature: 'u32 th_sweep_lines(void *par) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/ftgrays.c:854,1
    - Dst: gray_record_cell
      Src: /src/gpac/src/evg/ftgrays.c:867,1
    - Dst: memset
      Src: /src/gpac/src/evg/ftgrays.c:856,1
    - Dst: EVG_Outline_Decompose
      Src: /src/gpac/src/evg/ftgrays.c:866,1
    - Dst: memset
      Src: /src/gpac/src/evg/ftgrays.c:881,1
    - Dst: evg_sweep_lines
      Src: /src/gpac/src/evg/ftgrays.c:884,1
    - Dst: evg_sweep_lines
      Src: /src/gpac/src/evg/ftgrays.c:887,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 889
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 889
    functionName: evg_raster_render
    functionSourceFile: /src/gpac/src/evg/ftgrays.c
    functionUses: []
    functionsReached:
    - memset
    - gf_realloc
    - evg_sweep_lines
    - EVG_Outline_Decompose
    - gray_record_cell
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_raster_render(GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_rgb
      Src: /src/gpac/src/evg/raster_rgb.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: evg_rgb_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - overmask_rgb
    linkageType: ''
    returnType: void
    signature: 'void evg_rgb_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:53,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:54,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:55,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - src
    - dst
    - alpha
    - surf
    argTypes:
    - u32
    - u8*
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: overmask_rgb
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'void overmask_rgb(u32 src, u8 *dst, u32 alpha, GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:70,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:71,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    - surf
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: overmask_rgb_const_run
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_rgb_const_run(u32 src, u8 *dst, s32 dst_pitch_x,
      u32 count, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:149,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:142,1
    - Dst: overmask_rgb_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:144,1
    - Dst: overmask_rgb_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 154
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 154
    functionName: evg_rgb_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - overmask_rgb_const_run
    - mul255
    linkageType: ''
    returnType: void
    signature: 'void evg_rgb_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:202,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_rgb.c:217,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:203,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 221
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 221
    functionName: evg_surface_clear_rgb
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - memcpy
    - GF_COL_R
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_rgb(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - srca
    - srcc
    - dst
    - dst_pitch_x
    - count
    argTypes:
    - u8
    - u8
    - u8*
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: overmask_grey_const_run
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_grey_const_run(u8 srca, u8 srcc, u8 *dst, s32
      dst_pitch_x, u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_grey
      Src: /src/gpac/src/evg/raster_rgb.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: evg_grey_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - overmask_grey
    linkageType: ''
    returnType: void
    signature: 'void evg_grey_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:308,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:309,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:310,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_rgb.c:312,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:319,1
    - Dst: overmask_grey_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:320,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:325,1
    - Dst: overmask_grey_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:326,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 329
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 329
    functionName: evg_grey_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - overmask_grey_const_run
    - mul255
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_grey_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:81,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:83,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: evg_rgb_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_rgb_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:102,1
    - Dst: overmask_rgb_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:116,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:114,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:103,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: evg_rgb_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - mul255
    - overmask_rgb_const_run
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_rgb_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:178,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_rgb.c:172,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:177,1
    - Dst: overmask_rgb
      Src: /src/gpac/src/evg/raster_rgb.c:175,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 186
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 186
    functionName: evg_rgb_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_rgb
    linkageType: ''
    returnType: void
    signature: 'void evg_rgb_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:260,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:262,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: evg_grey_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_grey_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:279,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:281,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:290,1
    - Dst: overmask_grey_const_run
      Src: /src/gpac/src/evg/raster_rgb.c:291,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 299
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 299
    functionName: evg_grey_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - overmask_grey_const_run
    - mul255
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_grey_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:354,1
    - Dst: overmask_grey
      Src: /src/gpac/src/evg/raster_rgb.c:350,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_rgb.c:347,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:355,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:356,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 365
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 365
    functionName: evg_grey_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - overmask_grey
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_grey_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_rgb.c:379,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_rgb.c:381,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_rgb.c:380,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_rgb.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: evg_surface_clear_grey
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - memset
    - GF_COL_R
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_grey(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: mul255
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul255(s32 a, s32 b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:241,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_rgb.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - src
    - dst
    - alpha
    - grey_type
    argTypes:
    - u32
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: overmask_grey
    functionSourceFile: /src/gpac/src/evg/raster_rgb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_grey(u32 src, u8 *dst, u32 alpha, u32 grey_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evg_init_3d_surface
      Src: /src/gpac/src/evg/surface.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: gf_evg_surface_enable_3d
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - evg_init_3d_surface
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_enable_3d(GF_EVGSurface *surf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/evg/surface.c:64,1
    - Dst: evg_raster_ctx_init
      Src: /src/gpac/src/evg/surface.c:70,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - center_coords
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: gf_evg_surface_new
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - evg_raster_ctx_init
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_EVGSurface *gf_evg_surface_new(Bool center_coords) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_surface_world_matrix
      Src: /src/gpac/src/evg/surface.c:214,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/surface.c:217,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:221,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:222,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/surface.c:220,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:223,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - surf
    - mat
    argTypes:
    - GF_EVGSurface*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: gf_evg_surface_set_matrix
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx2d_copy
    - gf_mx2d_add_matrix
    - get_surface_world_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_set_matrix(GF_EVGSurface *surf, GF_Matrix2D
      *mat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_attach_to_buffer_internal
      Src: /src/gpac/src/evg/surface.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pixelFormat
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: gf_evg_surface_format_ok
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_attach_to_buffer_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_evg_surface_format_ok(GF_PixelFormat pixelFormat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: gf_evg_surface_force_aa
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_force_aa(GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surf
    - RasterSetting
    argTypes:
    - GF_EVGSurface*
    - GF_RasterQuality
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: gf_evg_surface_set_raster_level
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_set_raster_level(GF_EVGSurface *surf,
      GF_RasterQuality RasterSetting) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_flatten
      Src: /src/gpac/src/evg/surface.c:1167,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/evg/surface.c:1175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - surf
    - gp
    argTypes:
    - GF_EVGSurface*
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1189
    functionName: gf_evg_surface_set_path
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_path_flatten
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_set_path(GF_EVGSurface *surf, GF_Path
      *gp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_get_fragment
      Src: /src/gpac/src/evg/surface.c:1206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - rctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1209
    functionName: shader_get_pix_wide
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - evg_get_fragment
    linkageType: ''
    returnType: u64
    signature: 'static u64 shader_get_pix_wide(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *rctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/evg/surface.c:98,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/evg/surface.c:110,1
    - Dst: sprintf
      Src: /src/gpac/src/evg/surface.c:109,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/evg/surface.c:102,1
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/surface.c:108,1
    - Dst: memset
      Src: /src/gpac/src/evg/surface.c:120,1
    - Dst: sprintf
      Src: /src/gpac/src/evg/surface.c:123,1
    - Dst: gf_th_new
      Src: /src/gpac/src/evg/surface.c:124,1
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/surface.c:131,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:134,1
    - Dst: gf_sema_new
      Src: /src/gpac/src/evg/surface.c:143,1
    - Dst: gf_th_run
      Src: /src/gpac/src/evg/surface.c:150,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - surf
    - nb_threads
    argTypes:
    - GF_EVGSurface*
    - s32
    constantsTouched: []
    func_position:
      end: 154
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 154
    functionName: gf_evg_enable_threading
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx_new
    - memset
    - gf_realloc
    - gf_sema_new
    - sprintf
    - gf_th_new
    - gf_sys_get_rti
    - gf_th_run
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_enable_threading(GF_EVGSurface *surf, s32
      nb_threads) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_surface_world_matrix
      Src: /src/gpac/src/evg/surface.c:233,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/evg/surface.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - surf
    - mat
    argTypes:
    - GF_EVGSurface*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: gf_evg_surface_set_matrix_3d
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx_copy
    - get_surface_world_matrix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_set_matrix_3d(GF_EVGSurface *surf,
      GF_Matrix *mat) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: evg_surface_clear_alphagrey
      Src: /src/gpac/src/evg/surface.c:583,1
    - Dst: evg_surface_clear_rgbx
      Src: /src/gpac/src/evg/surface.c:594,1
    - Dst: evg_surface_clear_yuyv
      Src: /src/gpac/src/evg/surface.c:622,1
    - Dst: evg_surface_clear_nv12_10
      Src: /src/gpac/src/evg/surface.c:628,1
    - Dst: evg_surface_clear_yuv422p_10
      Src: /src/gpac/src/evg/surface.c:630,1
    - Dst: evg_surface_clear_nv12
      Src: /src/gpac/src/evg/surface.c:613,1
    - Dst: evg_surface_clear_yuv444p_10
      Src: /src/gpac/src/evg/surface.c:632,1
    - Dst: evg_surface_clear_argb
      Src: /src/gpac/src/evg/surface.c:636,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/surface.c:636,1
    - Dst: evg_surface_clear_rgb
      Src: /src/gpac/src/evg/surface.c:640,1
    - Dst: evg_surface_clear_yuv420p
      Src: /src/gpac/src/evg/surface.c:609,1
    - Dst: evg_surface_clear_yuv422p
      Src: /src/gpac/src/evg/surface.c:611,1
    - Dst: evg_surface_clear_nv12_10
      Src: /src/gpac/src/evg/surface.c:626,1
    - Dst: evg_surface_clear_grey
      Src: /src/gpac/src/evg/surface.c:580,1
    - Dst: evg_surface_clear_yuv420p_10
      Src: /src/gpac/src/evg/surface.c:624,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/surface.c:640,1
    - Dst: evg_surface_clear_rgb
      Src: /src/gpac/src/evg/surface.c:598,1
    - Dst: evg_surface_clear_argb
      Src: /src/gpac/src/evg/surface.c:588,1
    - Dst: evg_surface_clear_444
      Src: /src/gpac/src/evg/surface.c:600,1
    - Dst: evg_surface_clear_555
      Src: /src/gpac/src/evg/surface.c:602,1
    - Dst: evg_surface_clear_565
      Src: /src/gpac/src/evg/surface.c:604,1
    - Dst: evg_surface_clear_yuv444p
      Src: /src/gpac/src/evg/surface.c:617,1
    - Dst: evg_surface_clear_nv12
      Src: /src/gpac/src/evg/surface.c:615,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 79
    argCount: 3
    argNames:
    - surf
    - rc
    - color
    argTypes:
    - GF_EVGSurface*
    - GF_IRect*
    - u32
    constantsTouched: []
    func_position:
      end: 644
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 644
    functionName: gf_evg_surface_clear
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - evg_surface_clear_yuv422p_10
    - evg_surface_clear_yuv422p
    - evg_surface_clear_yuv420p
    - evg_surface_clear_rgb
    - evg_surface_clear_nv12
    - evg_surface_clear_rgbx
    - evg_surface_clear_yuv444p_10
    - evg_surface_clear_grey
    - evg_surface_clear_yuyv
    - evg_surface_clear_alphagrey
    - evg_surface_clear_565
    - evg_surface_clear_yuv420p_10
    - evg_surface_clear_nv12_10
    - gf_evg_argb_to_ayuv
    - evg_surface_clear_444
    - evg_surface_clear_555
    - evg_surface_clear_yuv444p
    - evg_surface_clear_argb
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_clear(GF_EVGSurface *surf, GF_IRect
      *rc, u32 color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: gf_evg_surface_get_raster_level
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_RasterQuality gf_evg_surface_get_raster_level(GF_EVGSurface
      *surf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - surf
    - rc
    argTypes:
    - GF_EVGSurface*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 704
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 704
    functionName: gf_evg_surface_set_clipper
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_set_clipper(GF_EVGSurface *surf ,
      GF_IRect *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_get_fragment
      Src: /src/gpac/src/evg/surface.c:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - _this
    - x
    - y
    - rctx
    argTypes:
    - EVG_Texture*
    - u32
    - u32
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: shader_get_pix
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - evg_get_fragment
    linkageType: ''
    returnType: u32
    signature: 'static u32 shader_get_pix(EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx
      *rctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/evg/surface.c:1234,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:1238,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1276,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:1302,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1302,1
    - Dst: evg_gradient_precompute
      Src: /src/gpac/src/evg/surface.c:1318,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1329,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/evg/surface.c:1338,1
    - Dst: evg_radial_init
      Src: /src/gpac/src/evg/surface.c:1346,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/surface.c:1355,1
    - Dst: gf_invfix
      Src: /src/gpac/src/evg/surface.c:1340,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1304,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/surface.c:1224,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1226,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:1241,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/surface.c:1242,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1255,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1257,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/evg/surface.c:1269,1
    - Dst: evg_texture_init
      Src: /src/gpac/src/evg/surface.c:1288,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:1273,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1272,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1302,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:1324,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1315,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1332,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/surface.c:1315,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/evg/surface.c:1359,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:1225,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/evg/surface.c:1239,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1262,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1280,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1303,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/evg/surface.c:1312,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/surface.c:1315,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:1328,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1328,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:1340,1
    - Dst: evg_gradient_precompute
      Src: /src/gpac/src/evg/surface.c:1347,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/surface.c:1364,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/evg/surface.c:1281,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:1298,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1306,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1328,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1330,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:1339,1
    - Dst: gf_invfix
      Src: /src/gpac/src/evg/surface.c:1340,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1342,1
    - Dst: gf_divfix
      Src: /src/gpac/src/evg/surface.c:1343,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/evg/surface.c:1314,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 135
    argCount: 3
    argNames:
    - surf
    - sten
    - mat
    argTypes:
    - GF_EVGSurface*
    - GF_EVGStencil*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1367
    functionName: gf_evg_setup_stencil
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - GF_COL_A
    - gf_mx2d_add_translation
    - evg_col_to_wide
    - gf_mx2d_apply_rect
    - evg_texture_init
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_invfix
    - evg_gradient_precompute
    - gf_evg_argb_to_ayuv
    - gf_divfix
    - gf_mx2d_copy
    - evg_radial_init
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_evg_setup_stencil(GF_EVGSurface *surf, GF_EVGStencil
      *sten, GF_Matrix2D *mat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/evg/surface.c:1504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - mx
    argTypes:
    - GF_EVGSurface*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1506
    functionName: gf_evg_surface_set_projection
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx_copy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_projection(GF_EVGSurface *surf, GF_Matrix
      *mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/evg/surface.c:33,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/surface.c:36,1
    - Dst: INT2FIX
      Src: /src/gpac/src/evg/surface.c:36,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/evg/surface.c:36,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/evg/surface.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - surf
    - mat
    argTypes:
    - GF_EVGSurface*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: get_surface_world_matrix
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_scale
    - gf_mx2d_add_translation
    - gf_mx2d_init
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void get_surface_world_matrix(GF_EVGSurface *surf, GF_Matrix2D
      *mat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_attach_to_buffer_internal
      Src: /src/gpac/src/evg/surface.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 7
    argNames:
    - surf
    - pixels
    - width
    - height
    - pitch_x
    - pitch_y
    - pixelFormat
    argTypes:
    - GF_EVGSurface*
    - u8*
    - u32
    - u32
    - s32
    - s32
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: gf_evg_surface_attach_to_buffer
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_attach_to_buffer_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_attach_to_buffer(GF_EVGSurface *surf,
      u8 *pixels, u32 width, u32 height, s32 pitch_x, s32 pitch_y, GF_PixelFormat
      pixelFormat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup_grey_callback
      Src: /src/gpac/src/evg/surface.c:1558,1
    - Dst: evg_raster_render3d_path
      Src: /src/gpac/src/evg/surface.c:1579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - surf
    - path
    - z
    argTypes:
    - GF_EVGSurface*
    - GF_Path*
    - Float
    constantsTouched: []
    func_position:
      end: 1582
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1582
    functionName: gf_evg_surface_draw_path
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - setup_grey_callback
    - evg_raster_render3d_path
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_draw_path(GF_EVGSurface *surf, GF_Path *path,
      Float z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/surface.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - raster_ctx
    - surf
    argTypes:
    - EVGRasterCtx*
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: evg_raster_ctx_init
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evg_raster_ctx_init(EVGRasterCtx *raster_ctx, GF_EVGSurface
      *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_attach_to_buffer_internal
      Src: /src/gpac/src/evg/surface.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - sten
    argTypes:
    - GF_EVGSurface*
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: gf_evg_surface_attach_to_texture
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_attach_to_buffer_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_attach_to_texture(GF_EVGSurface *surf,
      GF_EVGStencil * sten) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/evg/surface.c:1596,1
    - Dst: memset
      Src: /src/gpac/src/evg/surface.c:1611,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - surf
    - mask_mode
    argTypes:
    - GF_EVGSurface*
    - GF_EVGMaskMode
    constantsTouched: []
    func_position:
      end: 1616
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1616
    functionName: gf_evg_surface_set_mask_mode
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_mask_mode(GF_EVGSurface *surf, GF_EVGMaskMode
      mask_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surf
    - center_coords
    argTypes:
    - GF_EVGSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: gf_evg_surface_set_center_coords
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_evg_surface_set_center_coords(GF_EVGSurface *surf,
      Bool center_coords) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/evg/surface.c:1373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - surf
    - sten
    argTypes:
    - GF_EVGSurface*
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1375
    functionName: gf_evg_restore_stencil
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx2d_copy
    linkageType: ''
    returnType: void
    signature: 'static void gf_evg_restore_stencil(GF_EVGSurface *surf, GF_EVGStencil
      *sten) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:52,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:54,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:56,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - raster_ctx
    argTypes:
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: evg_raster_ctx_uninit
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void evg_raster_ctx_uninit(EVGRasterCtx *raster_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:171,1
    - Dst: evg_raster_ctx_uninit
      Src: /src/gpac/src/evg/surface.c:179,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:173,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:177,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:175,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:182,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/evg/surface.c:190,1
    - Dst: gf_sleep
      Src: /src/gpac/src/evg/surface.c:196,1
    - Dst: gf_th_del
      Src: /src/gpac/src/evg/surface.c:198,1
    - Dst: evg_raster_ctx_uninit
      Src: /src/gpac/src/evg/surface.c:199,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:201,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/evg/surface.c:202,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/evg/surface.c:203,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 207
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 207
    functionName: gf_evg_surface_delete
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx_del
    - evg_raster_ctx_uninit
    - gf_sema_del
    - gf_free
    - gf_sema_notify
    - gf_sleep
    - gf_th_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_evg_surface_delete(GF_EVGSurface *surf) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: setup_grey_callback
      Src: /src/gpac/src/evg/surface.c:1390,1
    - Dst: get_surface_world_matrix
      Src: /src/gpac/src/evg/surface.c:1392,1
    - Dst: gf_evg_setup_stencil
      Src: /src/gpac/src/evg/surface.c:1402,1
    - Dst: gf_evg_setup_multi_texture
      Src: /src/gpac/src/evg/surface.c:1406,1
    - Dst: gf_evg_setup_stencil
      Src: /src/gpac/src/evg/surface.c:1409,1
    - Dst: gf_evg_setup_stencil
      Src: /src/gpac/src/evg/surface.c:1413,1
    - Dst: evg_raster_render_path_3d
      Src: /src/gpac/src/evg/surface.c:1456,1
    - Dst: evg_raster_render
      Src: /src/gpac/src/evg/surface.c:1458,1
    - Dst: evg_raster_render_path_3d
      Src: /src/gpac/src/evg/surface.c:1466,1
    - Dst: evg_raster_render
      Src: /src/gpac/src/evg/surface.c:1468,1
    - Dst: gf_evg_restore_stencil
      Src: /src/gpac/src/evg/surface.c:1476,1
    - Dst: gf_evg_restore_stencil
      Src: /src/gpac/src/evg/surface.c:1477,1
    - Dst: gf_evg_restore_stencil
      Src: /src/gpac/src/evg/surface.c:1475,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 6
    argNames:
    - surf
    - operand
    - sten1
    - sten2
    - sten3
    - params
    argTypes:
    - GF_EVGSurface*
    - GF_EVGMultiTextureMode
    - GF_EVGStencil*
    - GF_EVGStencil*
    - GF_EVGStencil*
    - Float
    constantsTouched: []
    func_position:
      end: 1480
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1480
    functionName: gf_evg_surface_multi_fill
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_evg_setup_stencil
    - gf_evg_restore_stencil
    - evg_raster_render_path_3d
    - setup_grey_callback
    - gf_evg_setup_multi_texture
    - evg_raster_render
    - get_surface_world_matrix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_multi_fill(GF_EVGSurface *surf, GF_EVGMultiTextureMode
      operand, GF_EVGStencil *sten1, GF_EVGStencil *sten2, GF_EVGStencil *sten3, Float
      params[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - surf
    - (*get_alpha)
    - cbk
    argTypes:
    - GF_EVGSurface*
    - u8
    - void*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1499
    functionName: gf_evg_surface_set_alpha_callback
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_evg_surface_set_alpha_callback(GF_EVGSurface *surf, u8 (*get_alpha)(void
      *udta, u8 src_alpha, s32 x, s32 y), void *cbk) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 350
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 350
    functionName: evg_surface_set_components_idx
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void evg_surface_set_components_idx(GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: gf_evg_surface_use_clipper
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_evg_surface_use_clipper(GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_multi_fill
      Src: /src/gpac/src/evg/surface.c:1485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surf
    - sten
    argTypes:
    - GF_EVGSurface*
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1486
    functionName: gf_evg_surface_fill
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_multi_fill
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_evg_surface_fill(GF_EVGSurface *surf, GF_EVGStencil
      *sten) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/evg/surface.c:1510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surf
    - mx
    argTypes:
    - GF_EVGSurface*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1512
    functionName: gf_evg_surface_set_modelview
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_mx_copy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_set_modelview(GF_EVGSurface *surf, GF_Matrix
      *mx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup_grey_callback
      Src: /src/gpac/src/evg/surface.c:1523,1
    - Dst: evg_raster_render3d
      Src: /src/gpac/src/evg/surface.c:1544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - surf
    - indices
    - nb_idx
    - vertices
    - nb_vertices
    - nb_comp
    - prim_type
    argTypes:
    - GF_EVGSurface*
    - u32*
    - u32
    - Float*
    - u32
    - u32
    - GF_EVGPrimitiveType
    constantsTouched: []
    func_position:
      end: 1547
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1547
    functionName: gf_evg_surface_draw_array
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - setup_grey_callback
    - evg_raster_render3d
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_surface_draw_array(GF_EVGSurface *surf, u32 *indices,
      u32 nb_idx, Float *vertices, u32 nb_vertices, u32 nb_comp, GF_EVGPrimitiveType
      prim_type) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/evg/surface.c:431,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:439,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:455,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:443,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:447,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:459,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:463,1
    - Dst: evg_surface_set_components_idx
      Src: /src/gpac/src/evg/surface.c:480,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/evg/surface.c:481,1
    - Dst: gf_free
      Src: /src/gpac/src/evg/surface.c:484,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 93
    argCount: 8
    argNames:
    - surf
    - pixels
    - width
    - height
    - pitch_x
    - pitch_y
    - pixelFormat
    - probe_only
    argTypes:
    - GF_EVGSurface*
    - u8*
    - u32
    - u32
    - s32
    - s32
    - GF_PixelFormat
    - Bool
    constantsTouched: []
    func_position:
      end: 498
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 498
    functionName: gf_evg_surface_attach_to_buffer_internal
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    - gf_evg_surface_set_matrix
    - gf_realloc
    - evg_surface_set_components_idx
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_evg_surface_attach_to_buffer_internal(GF_EVGSurface
      *surf, u8 *pixels, u32 width, u32 height, s32 pitch_x, s32 pitch_y, GF_PixelFormat
      pixelFormat, Bool probe_only) '
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/surface.c:732,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/surface.c:731,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/surface.c:727,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/surface.c:755,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/surface.c:759,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:1116,1
    - Dst: gf_realloc
      Src: /src/gpac/src/evg/surface.c:1121,1
    - Dst: memset
      Src: /src/gpac/src/evg/surface.c:1126,1
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/surface.c:1141,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/surface.c:1149,1
    - Dst: evg_col_to_wide
      Src: /src/gpac/src/evg/surface.c:1150,1
    - Dst: memset
      Src: /src/gpac/src/evg/surface.c:1130,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 375
    argCount: 3
    argNames:
    - surf
    - for_3d
    - multi_sten
    argTypes:
    - GF_EVGSurface*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1154
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 1154
    functionName: setup_grey_callback
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_evg_rgb_to_yuv
    - GF_COL_ARGB
    - memset
    - evg_col_to_wide
    - gf_realloc
    linkageType: ''
    returnType: Bool
    signature: 'static Bool setup_grey_callback(GF_EVGSurface *surf, Bool for_3d,
      Bool multi_sten) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surf
    - comp_mode
    argTypes:
    - GF_EVGSurface*
    - GF_EVGCompositeMode
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: gf_evg_surface_set_composite_mode
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_evg_surface_set_composite_mode(GF_EVGSurface *surf, GF_EVGCompositeMode
      comp_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surf
    argTypes:
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    functionName: gf_evg_surface_get_mask_mode
    functionSourceFile: /src/gpac/src/evg/surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EVGMaskMode
    signature: 'GF_EVGMaskMode gf_evg_surface_get_mask_mode(GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: mul255
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 mul255(s32 a, s32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_argb
      Src: /src/gpac/src/evg/raster_argb.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 299
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 299
    functionName: evg_argb_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_argb
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:342,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_argb.c:360,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:343,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:344,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 364
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 364
    functionName: evg_surface_clear_argb
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_R
    - memcpy
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_argb(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_rgbx
      Src: /src/gpac/src/evg/raster_argb.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: evg_rgbx_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_rgbx
    linkageType: ''
    returnType: void
    signature: 'void evg_rgbx_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: evg_argb_fill_erase
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_erase(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:434,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:435,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:436,1
    - Dst: overmask_rgbx_const_run
      Src: /src/gpac/src/evg/raster_argb.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 455
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 455
    functionName: evg_rgbx_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - overmask_rgbx_const_run
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_rgbx_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:90,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:96,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:91,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:93,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:92,1
    - Dst: do_composite_mode
      Src: /src/gpac/src/evg/raster_argb.c:98,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:141,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 4
    argNames:
    - src
    - dst
    - alpha
    - surf
    argTypes:
    - u32
    - u8*
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 161
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 161
    functionName: overmask_argb
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - do_composite_mode
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE static void overmask_argb(u32 src, u8 *dst, u32 alpha, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_argb
      Src: /src/gpac/src/evg/raster_argb.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: evg_argb_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_argb
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:390,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:396,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:398,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:391,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:392,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    - surf
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: overmask_rgbx_const_run
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE static void overmask_rgbx_const_run(u32 src, u8 *dst, s32
      dst_pitch_x, u32 count, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:592,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:593,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - src_a
    - src_c
    - dst
    - dst_pitch_x
    - count
    - idx_g
    - idx_a
    argTypes:
    - u32
    - u32
    - u8*
    - s32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 601
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 601
    functionName: overmask_alphagrey_const_run
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_alphagrey_const_run(u32 src_a, u32 src_c, u8
      *dst, s32 dst_pitch_x, u32 count, u32 idx_g, u32 idx_a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:165,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:166,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:167,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:168,1
    - Dst: do_composite_mode
      Src: /src/gpac/src/evg/raster_argb.c:174,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    - surf
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: overmask_argb_const_run
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - mul255
    - do_composite_mode
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE static void overmask_argb_const_run(u32 src, u8 *dst, s32
      dst_pitch_x, u32 count, GF_EVGSurface *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_argb
      Src: /src/gpac/src/evg/raster_argb.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: evg_argb_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_argb
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:410,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:411,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: evg_rgbx_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_rgbx_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:609,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:611,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: evg_alphagrey_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_alphagrey_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 47
    argCount: 3
    argNames:
    - comp_mode
    - srca
    - dsta
    argTypes:
    - GF_EVGCompositeMode
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: do_composite_mode
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 do_composite_mode(GF_EVGCompositeMode comp_mode, s32 *srca, s32
      *dsta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:381,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:383,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:382,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - src
    - dst
    - alpha
    - surf
    argTypes:
    - u32
    - u8*
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: overmask_rgbx
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_rgbx(u32 src, u8 *dst, u32 alpha, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_argb_const_run
      Src: /src/gpac/src/evg/raster_argb.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: evg_argb_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_argb_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: overmask_rgbx_const_run
      Src: /src/gpac/src/evg/raster_argb.c:474,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:479,1
    - Dst: overmask_rgbx_const_run
      Src: /src/gpac/src/evg/raster_argb.c:481,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 484
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 484
    functionName: evg_rgbx_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    - overmask_rgbx_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_rgbx_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:573,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:578,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:577,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 6
    argNames:
    - src
    - dst
    - alpha
    - grey_type
    - idx_g
    - idx_a
    argTypes:
    - u32
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 583
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 583
    functionName: overmask_alphagrey
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_alphagrey(u32 src, u8 *dst, u32 alpha, u32 grey_type,
      u32 idx_g, u32 idx_a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_alphagrey
      Src: /src/gpac/src/evg/raster_argb.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: evg_alphagrey_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - overmask_alphagrey
    linkageType: ''
    returnType: void
    signature: 'void evg_alphagrey_fill_single_a(s32 y, s32 x, u8 coverage, u32 col,
      GF_EVGSurface *surf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:659,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:662,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:660,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:661,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:670,1
    - Dst: overmask_alphagrey_const_run
      Src: /src/gpac/src/evg/raster_argb.c:671,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:676,1
    - Dst: overmask_alphagrey_const_run
      Src: /src/gpac/src/evg/raster_argb.c:677,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 680
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 680
    functionName: evg_alphagrey_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_alphagrey_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_alphagrey_fill_const_a(s32 y, s32 count, EVG_Span *spans,
      GF_EVGSurface *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:256,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:271,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:264,1
    - Dst: overmask_argb_const_run
      Src: /src/gpac/src/evg/raster_argb.c:266,1
    - Dst: overmask_argb_const_run
      Src: /src/gpac/src/evg/raster_argb.c:273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: evg_argb_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - overmask_argb_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_argb_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:509,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:504,1
    - Dst: overmask_rgbx
      Src: /src/gpac/src/evg/raster_argb.c:507,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:510,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 518
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 518
    functionName: evg_rgbx_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - overmask_rgbx
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_rgbx_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:630,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_argb.c:640,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:633,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:632,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:631,1
    - Dst: overmask_alphagrey_const_run
      Src: /src/gpac/src/evg/raster_argb.c:641,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 650
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 650
    functionName: evg_alphagrey_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_alphagrey_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_alphagrey_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:706,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:707,1
    - Dst: overmask_alphagrey
      Src: /src/gpac/src/evg/raster_argb.c:702,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:699,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 718
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 718
    functionName: evg_alphagrey_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - overmask_alphagrey
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_alphagrey_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_argb.c:729,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:731,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_argb.c:751,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:732,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:730,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 755
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 755
    functionName: evg_surface_clear_alphagrey
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_R
    - memcpy
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_alphagrey(GF_EVGSurface *surf, GF_IRect rc,
      GF_Color col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_argb.c:534,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_argb.c:536,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_argb.c:551,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_argb.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 555
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 555
    functionName: evg_surface_clear_rgbx
    functionSourceFile: /src/gpac/src/evg/raster_argb.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - memcpy
    - GF_COL_R
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_rgbx(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:77,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:79,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:80,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:78,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/evg/raster_yuv.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 2
    argNames:
    - surf
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_Color
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: gf_evg_argb_to_ayuv
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_ARGB
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_Color
    signature: 'GF_Color gf_evg_argb_to_ayuv(GF_EVGSurface *surf, GF_Color col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_init
      Src: /src/gpac/src/evg/raster_yuv.c:214,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:236,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:244,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:248,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:250,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:238,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:242,1
    - Dst: gf_cmx_multiply
      Src: /src/gpac/src/evg/raster_yuv.c:255,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/evg/raster_yuv.c:215,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:225,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:226,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:227,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/evg/raster_yuv.c:253,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:221,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:220,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:231,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:232,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:245,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:249,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:237,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:243,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/evg/raster_yuv.c:251,1
    - Dst: gf_cmx_multiply
      Src: /src/gpac/src/evg/raster_yuv.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames:
    - g
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 256
    functionName: TRUNC_16BIT
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_cmx_multiply
    - gf_cmx_init
    - gf_cmx_copy
    - FLT2FIX
    linkageType: ''
    returnType: TRUNC_16BIT(r)
    signature: "TRUNC_16BIT(r) TRUNC_16BIT(g) TRUNC_16BIT(b)#endif\treturn GF_COLW_ARGB(a,
      r, g, b); }#if 0 //unused void evg_make_ayuv_color_mx(GF_ColorMatrix *cmat,
      GF_ColorMatrix *yuv_cmat) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:392,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:395,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:394,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:393,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:404,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:406,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:408,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:417,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:419,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 427
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 427
    functionName: evg_yuv420p_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - memset
    - GF_COL_R
    - GF_COL_G
    - overmask_yuv420p_const_run
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:1304,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 1322
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1322
    functionName: evg_surface_clear_yuyv
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuyv(GF_EVGSurface *_surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s64
    - s64
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: mul_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul_10(s64 a, s64 b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1976,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1979,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1981,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1989,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1985,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1992,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1994,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1998,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:2004,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - _cu
    - _cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 2005
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 2005
    functionName: evg_yuv422p_10_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10_zero
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv422p_10_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *_surf_uv_alpha, s32 _cu, s32 _cv, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - surf
    - r
    - g
    - b
    - y
    - cb
    - cr
    argTypes:
    - GF_EVGSurface*
    - Float
    - Float
    - Float
    - Float*
    - Float*
    - Float*
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: gf_gf_evg_rgb_to_yuv_f
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_gf_evg_rgb_to_yuv_f(GF_EVGSurface *surf, Float r, Float
      g, Float b, Float *y, Float *cb, Float *cr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/evg/raster_yuv.c:448,1
    - Dst: gf_assert
      Src: /src/gpac/src/evg/raster_yuv.c:449,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:474,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:470,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:472,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:476,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:489,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:491,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:493,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:495,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:507,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 107
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - _cu
    - _cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 509
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 509
    functionName: evg_yuv420p_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_assert
    - memset
    - mul255_zero
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx *rctx,
      u8 *surf_uv_alpha, s32 _cu, s32 _cv, s32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s64
    - s64
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: mul_10_zero
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul_10_zero(s64 a, s64 b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:2030,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2041,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2046,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2042,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2039,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2047,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2048,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 2055
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2055
    functionName: evg_surface_clear_yuv422p_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - set_u16_le
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv422p_10(GF_EVGSurface *_surf, GF_IRect
      rc, GF_Color col) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1759,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1763,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1760,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1762,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1763,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1764,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1765,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1765,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1771,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1772
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1772
    functionName: evg_nv12_10_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_nv12_10_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *_surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:269,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - col_a
    - cy
    - dst
    - alpha
    argTypes:
    - u8
    - u8
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: overmask_yuv420p
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_yuv420p(u8 col_a, u8 cy, u8 *dst, u32 alpha) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:552,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:553,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:546,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:551,1
    - Dst: overmask_yuv420p
      Src: /src/gpac/src/evg/raster_yuv.c:556,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:558,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 576
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 576
    functionName: evg_yuv420p_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p
    - GF_COL_A
    - mul255
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:845,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:847,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:856,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:858,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:870,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - _cu
    - _cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 871
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 871
    functionName: evg_yuv422p_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - memset
    - mul255_zero
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv422p_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx *rctx,
      u8 *surf_uv_alpha, s32 _cu, s32 _cv, s32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:926,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:927,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:942,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:941,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:928,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:943,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 955
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 955
    functionName: evg_yuv444p_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - overmask_yuv420p_const_run
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:1035,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:1036,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:1032,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:1037,1
    - Dst: overmask_yuv420p
      Src: /src/gpac/src/evg/raster_yuv.c:1040,1
    - Dst: overmask_yuv420p
      Src: /src/gpac/src/evg/raster_yuv.c:1041,1
    - Dst: overmask_yuv420p
      Src: /src/gpac/src/evg/raster_yuv.c:1042,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1055
    functionName: evg_yuv444p_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - c
    - alpha
    argTypes:
    - u8*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1105
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1105
    functionName: overmask_yuvy
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_yuvy(u8 *dst, u8 c, u32 alpha) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:1171,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:1183,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:1172,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:1174,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:1173,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1185,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1187,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1200,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1201,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1207
    functionName: evg_yuyv_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuvy
    - mul255
    - GF_COL_A
    - memset
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuyv_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1365,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1367,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1368,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - col_a
    - cy
    - dst
    - alpha
    argTypes:
    - u16
    - u16
    - u16*
    - u32
    constantsTouched: []
    func_position:
      end: 1369
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1369
    functionName: overmask_yuv420p_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'static void overmask_yuv420p_10(u16 col_a, u16 cy, u16 *dst, u32 alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - a
    - val
    - ptr
    - count
    - x
    argTypes:
    - u8
    - u8
    - u8*
    - u32
    - short
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: overmask_yuv420p_const_run
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void overmask_yuv420p_const_run(u8 a, u8 val, u8 *ptr, u32
      count, short x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:594,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:598,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:597,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:604,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:599,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:607,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:609,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 614
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 614
    functionName: evg_surface_clear_yuv420p
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv420p(GF_EVGSurface *_surf, GF_IRect rc,
      GF_Color col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:891,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:894,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:902,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:895,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:896,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:904,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:906,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 910
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 910
    functionName: evg_surface_clear_yuv422p
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv422p(GF_EVGSurface *_surf, GF_IRect rc,
      GF_Color col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:968,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:970,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:971,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:969,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:984,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:986,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:987,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:988,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:999,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1001,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1002,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1003,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1006
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1006
    functionName: evg_yuv444p_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_A
    - GF_COL_R
    - GF_COL_G
    - overmask_yuv420p_const_run
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:1074,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1084,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1077,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1078,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1079,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1086,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 1092
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1092
    functionName: evg_surface_clear_yuv444p
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv444p(GF_EVGSurface *_surf, GF_IRect rc,
      GF_Color col) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:1115,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1133,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:1116,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1131,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:1117,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1137,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1155,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1156,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1162
    functionName: evg_yuyv_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuvy
    - memset
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuyv_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:1237,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:1238,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:1236,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_yuv.c:1232,1
    - Dst: overmask_yuv420p
      Src: /src/gpac/src/evg/raster_yuv.c:1241,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:1243,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1275,1
    - Dst: overmask_yuvy
      Src: /src/gpac/src/evg/raster_yuv.c:1283,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1289,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1291
    functionName: evg_yuyv_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p
    - GF_COL_A
    - mul255
    - overmask_yuvy
    - memset
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuyv_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1375,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1376,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - a
    - val
    - ptr
    - count
    - x
    argTypes:
    - u16
    - u16
    - u16*
    - u32
    - short
    constantsTouched: []
    func_position:
      end: 1380
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1380
    functionName: overmask_yuv420p_10_const_run
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'static void overmask_yuv420p_10_const_run(u16 a, u16 val, u16 *ptr,
      u32 count, short x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1804,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1807,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1813,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1809,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1811,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1822,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1825,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1827,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1829,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1831,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1837,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1838,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1844,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1845
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1845
    functionName: evg_nv12_10_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10_zero
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_nv12_10_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx *rctx,
      u8 *_surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:2234,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2248,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2250,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2249,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2253,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2254,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:2255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 2262
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2262
    functionName: evg_surface_clear_yuv444p_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - set_u16_le
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv444p_10(GF_EVGSurface *_surf, GF_IRect
      rc, GF_Color col) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1938,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1942,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1939,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1943,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1943,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1945,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1946,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1946,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1950,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1951
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1951
    functionName: evg_yuv422p_10_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv422p_10_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *_surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2091,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2092,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2096,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2093,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2098,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2105
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2105
    functionName: evg_yuv444p_10_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p_10_const_run
    - set_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_10_fill_const(s32 y, s32 count, EVG_Span *spans,
      GF_EVGSurface *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: mul255
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul255(s32 a, s32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:57,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:58,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 5
    argNames:
    - surf
    - col
    - y
    - cb
    - cr
    argTypes:
    - GF_EVGSurface*
    - GF_Color
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: gf_evg_rgb_to_yuv
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void gf_evg_rgb_to_yuv(GF_EVGSurface *surf, GF_Color col, u8*y, u8*cb,
      u8*cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2140,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2157,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2141,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2142,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2158,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:2159,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2162
    functionName: evg_yuv444p_10_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p_10_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_10_fill_const_a(s32 y, s32 count, EVG_Span *spans,
      GF_EVGSurface *surf, EVGRasterCtx *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:1867,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1892,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1884,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1893,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1887,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1899,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1905,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - _surf
    - rc
    - col
    - swap_uv
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    - Bool
    constantsTouched: []
    func_position:
      end: 1909
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1909
    functionName: evg_surface_clear_nv12_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - set_u16_le
    - memset
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_nv12_10(GF_EVGSurface *_surf, GF_IRect rc,
      GF_Color col, Bool swap_uv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: overmask_yuv420p_10
      Src: /src/gpac/src/evg/raster_yuv.c:2200,1
    - Dst: overmask_yuv420p_10
      Src: /src/gpac/src/evg/raster_yuv.c:2201,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2203,1
    - Dst: overmask_yuv420p_10
      Src: /src/gpac/src/evg/raster_yuv.c:2199,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2204,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:2205,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 2214
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2214
    functionName: evg_yuv444p_10_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - set_u16_le
    - overmask_yuv420p_10
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv444p_10_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COLW_ARGB
      Src: /src/gpac/src/evg/raster_yuv.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 0
    argNames:
    - g
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 174
    functionName: TRUNC_8BIT
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - GF_COLW_ARGB
    linkageType: ''
    returnType: TRUNC_8BIT(r)
    signature: "TRUNC_8BIT(r) TRUNC_8BIT(g) TRUNC_8BIT(b)#endif\treturn GF_COL_ARGB(a,
      r, g, b); }u64 gf_evg_argb_to_ayuv_wide(GF_EVGSurface *surf, u64 col) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:313,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:320,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 321
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 321
    functionName: evg_yuv420p_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    - memset
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:648,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:656,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 657
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 657
    functionName: evg_nv12_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    - memset
    linkageType: ''
    returnType: void
    signature: 'void evg_nv12_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx *rctx,
      u8 *surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:808,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:815,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_yuv.c:811,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 816
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 816
    functionName: evg_yuv422p_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul255
    - memset
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv422p_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1409,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1410,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1413,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1412,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1413,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1414,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1415,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1415,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1419,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: evg_yuv420p_10_flush_uv_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_10_flush_uv_const(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *_surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1516,1
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1529,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1539
    functionName: evg_yuv420p_10_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p_10_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_10_fill_const_a(s32 y, s32 count, EVG_Span *spans,
      GF_EVGSurface *surf, EVGRasterCtx *rctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1666,1
    - Dst: mul_10
      Src: /src/gpac/src/evg/raster_yuv.c:1664,1
    - Dst: overmask_yuv420p_10
      Src: /src/gpac/src/evg/raster_yuv.c:1663,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1681
    functionName: evg_yuv420p_10_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10
    - set_u16_le
    - overmask_yuv420p_10
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_10_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: mul255_zero
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul255_zero(s32 a, s32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - surf
    - y
    - cb
    - cr
    - r
    - g
    - b
    argTypes:
    - GF_EVGSurface*
    - Float
    - Float
    - Float
    - Float*
    - Float*
    - Float*
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: gf_evg_yuv_to_rgb_f
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_evg_yuv_to_rgb_f(GF_EVGSurface *surf, Float y, Float cb,
      Float cr, Float *r, Float *g, Float *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_yuv.c:343,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:357,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_yuv.c:344,1
    - Dst: overmask_yuv420p_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:356,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_yuv.c:345,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:363,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 370
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 370
    functionName: evg_yuv420p_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - memset
    - GF_COL_R
    - GF_COL_G
    - overmask_yuv420p_const_run
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:692,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:694,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:698,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:711,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:696,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:713,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:715,1
    - Dst: mul255_zero
      Src: /src/gpac/src/evg/raster_yuv.c:717,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:728,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 94
    argCount: 6
    argNames:
    - surf
    - rctx
    - surf_uv_alpha
    - cu
    - cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 729
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 729
    functionName: evg_nv12_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - memset
    - mul255_zero
    linkageType: ''
    returnType: void
    signature: 'void evg_nv12_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx *rctx,
      u8 *surf_uv_alpha, s32 cu, s32 cv, s32 y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: overmask_yuv420p_10_const_run
      Src: /src/gpac/src/evg/raster_yuv.c:1462,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1465,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1474
    functionName: evg_yuv420p_10_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - overmask_yuv420p_10_const_run
    - set_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_10_fill_const(s32 y, s32 count, EVG_Span *spans,
      GF_EVGSurface *surf, EVGRasterCtx *rctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1573,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1576,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1580,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1578,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1582,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1586,1
    - Dst: get_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1593,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1596,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1598,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1600,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1612,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1606,1
    - Dst: mul_10_zero
      Src: /src/gpac/src/evg/raster_yuv.c:1602,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 6
    argNames:
    - surf
    - rctx
    - _surf_uv_alpha
    - _cu
    - _cv
    - y
    argTypes:
    - GF_EVGSurface*
    - EVGRasterCtx*
    - u8*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1614
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1614
    functionName: evg_yuv420p_10_flush_uv_var
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - mul_10_zero
    - set_u16_le
    - memset
    - get_u16_le
    linkageType: ''
    returnType: void
    signature: 'void evg_yuv420p_10_flush_uv_var(GF_EVGSurface *surf, EVGRasterCtx
      *rctx, u8 *_surf_uv_alpha, s32 _cu, s32 _cv, s32 y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:1695,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1706,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1720,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:1708,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1711,1
    - Dst: set_u16_le
      Src: /src/gpac/src/evg/raster_yuv.c:1721,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1724,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:1725,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - _surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 1732
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1732
    functionName: evg_surface_clear_yuv420p_10
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - set_u16_le
    - memset
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_yuv420p_10(GF_EVGSurface *_surf, GF_IRect
      rc, GF_Color col) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_rgb_to_yuv
      Src: /src/gpac/src/evg/raster_yuv.c:748,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_yuv.c:771,1
    - Dst: memset
      Src: /src/gpac/src/evg/raster_yuv.c:756,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - _surf
    - rc
    - col
    - swap_uv
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    - Bool
    constantsTouched: []
    func_position:
      end: 777
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 777
    functionName: evg_surface_clear_nv12
    functionSourceFile: /src/gpac/src/evg/raster_yuv.c
    functionUses: []
    functionsReached:
    - gf_evg_rgb_to_yuv
    - memset
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_nv12(GF_EVGSurface *_surf, GF_IRect rc, GF_Color
      col, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: overmask_565_const_run
      Src: /src/gpac/src/evg/raster_565.c:187,1
    - Dst: overmask_565_const_run
      Src: /src/gpac/src/evg/raster_565.c:180,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:185,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 190
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 190
    functionName: evg_565_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - overmask_565_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_565_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:292,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:295,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:294,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:296,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - src
    - dst
    - alpha
    argTypes:
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: overmask_555
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_555
    linkageType: ''
    returnType: void
    signature: 'static void overmask_555(u32 src, u8 *dst, u32 alpha) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:214,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_565.c:208,1
    - Dst: overmask_565
      Src: /src/gpac/src/evg/raster_565.c:212,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:214,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:214,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: evg_565_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - overmask_565
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - write_565
    linkageType: ''
    returnType: void
    signature: 'void evg_565_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:317,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:319,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:320,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: overmask_555_const_run
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_555
    linkageType: ''
    returnType: void
    signature: 'static void overmask_555_const_run(u32 src, u8 *dst, s32 dst_pitch_x,
      u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:640,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_565.c:654,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:650,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:642,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 658
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 658
    functionName: evg_surface_clear_444
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - write_444
    - GF_COL_R
    - memcpy
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_444(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - dst
    - r
    - g
    - b
    argTypes:
    - u8*
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: write_565
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void write_565(u8 *dst, u8 r, u8 g, u8 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_444
      Src: /src/gpac/src/evg/raster_565.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: evg_444_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - overmask_444
    linkageType: ''
    returnType: void
    signature: 'void evg_444_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: overmask_444_const_run
      Src: /src/gpac/src/evg/raster_565.c:593,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:584,1
    - Dst: overmask_444_const_run
      Src: /src/gpac/src/evg/raster_565.c:586,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 596
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 596
    functionName: evg_444_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - overmask_444_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_444_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:80,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:82,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:83,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:81,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - src
    - dst
    - alpha
    argTypes:
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: overmask_565
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_565
    linkageType: ''
    returnType: void
    signature: 'static void overmask_565(u32 src, u8 *dst, u32 alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:546,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:547,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:548,1
    - Dst: overmask_444_const_run
      Src: /src/gpac/src/evg/raster_565.c:557,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:555,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 565
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 565
    functionName: evg_444_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_444
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_444_const_run
    linkageType: ''
    returnType: void
    signature: 'void evg_444_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:620,1
    - Dst: overmask_444
      Src: /src/gpac/src/evg/raster_565.c:618,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:620,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_565.c:614,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:620,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:620,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 627
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 627
    functionName: evg_444_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - write_444
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_444
    linkageType: ''
    returnType: void
    signature: 'void evg_444_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: mul255
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 mul255(s32 a, s32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - dst
    - r
    - g
    - b
    argTypes:
    - u8*
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: write_555
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void write_555(u8 *dst, u8 r, u8 g, u8 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - r
    - g
    - b
    argTypes:
    - u8*
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: write_444
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void write_444(u8 *dst, u8 r, u8 g, u8 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:511,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:512,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:513,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 4
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 519
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 519
    functionName: overmask_444_const_run
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_444
    linkageType: ''
    returnType: void
    signature: 'static void overmask_444_const_run(u32 src, u8 *dst, s32 dst_pitch_x,
      u32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:487,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:490,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:488,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:491,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - dst
    - src
    - alpha
    argTypes:
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: overmask_444
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_444
    linkageType: ''
    returnType: void
    signature: 'static void overmask_444(u8 *dst, u32 src, u32 alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:525,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:527,1
    - Dst: write_444
      Src: /src/gpac/src/evg/raster_565.c:528,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: evg_444_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - write_444
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_444_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:235,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:245,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:237,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:236,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_565.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: evg_surface_clear_565
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - memcpy
    - write_565
    - GF_COL_R
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_565(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:106,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:109,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:108,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - src
    - dst
    - dst_pitch_x
    - count
    argTypes:
    - u32
    - u8*
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: overmask_565_const_run
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_565
    linkageType: ''
    returnType: void
    signature: 'void overmask_565_const_run(u32 src, u8 *dst, s32 dst_pitch_x, u32
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_565
      Src: /src/gpac/src/evg/raster_565.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: evg_565_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - overmask_565
    linkageType: ''
    returnType: void
    signature: 'void evg_565_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:330,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:331,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:333,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: evg_555_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - write_555
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_555_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:351,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:352,1
    - Dst: overmask_555_const_run
      Src: /src/gpac/src/evg/raster_565.c:362,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:353,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:360,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 370
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 370
    functionName: evg_555_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - write_555
    - overmask_555_const_run
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_555_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/evg/raster_565.c:417,1
    - Dst: overmask_555
      Src: /src/gpac/src/evg/raster_565.c:421,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:423,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:423,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:423,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:423,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 430
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 430
    functionName: evg_555_fill_var
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - write_555
    - GF_COL_R
    - overmask_555
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void evg_555_fill_var(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:119,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:120,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:121,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - y
    - x
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: evg_565_fill_single
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - write_565
    - GF_COL_R
    linkageType: ''
    returnType: void
    signature: 'void evg_565_fill_single(s32 y, s32 x, u32 col, GF_EVGSurface *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:143,1
    - Dst: overmask_565_const_run
      Src: /src/gpac/src/evg/raster_565.c:153,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:144,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:151,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:145,1
    - Dst: write_565
      Src: /src/gpac/src/evg/raster_565.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: evg_565_fill_const
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - overmask_565_const_run
    - write_565
    linkageType: ''
    returnType: void
    signature: 'void evg_565_fill_const(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: overmask_555
      Src: /src/gpac/src/evg/raster_565.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - y
    - x
    - coverage
    - col
    - surf
    argTypes:
    - s32
    - s32
    - u8
    - u32
    - GF_EVGSurface*
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: evg_555_fill_single_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - overmask_555
    linkageType: ''
    returnType: void
    signature: 'void evg_555_fill_single_a(s32 y, s32 x, u8 coverage, u32 col, GF_EVGSurface
      *surf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:394,1
    - Dst: overmask_555_const_run
      Src: /src/gpac/src/evg/raster_565.c:396,1
    - Dst: mul255
      Src: /src/gpac/src/evg/raster_565.c:387,1
    - Dst: overmask_555_const_run
      Src: /src/gpac/src/evg/raster_565.c:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - y
    - count
    - spans
    - surf
    - rctx
    argTypes:
    - s32
    - s32
    - EVG_Span*
    - GF_EVGSurface*
    - EVGRasterCtx*
    constantsTouched: []
    func_position:
      end: 399
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 399
    functionName: evg_555_fill_const_a
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - overmask_555_const_run
    - mul255
    linkageType: ''
    returnType: void
    signature: 'void evg_555_fill_const_a(s32 y, s32 count, EVG_Span *spans, GF_EVGSurface
      *surf, EVGRasterCtx *rctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/evg/raster_565.c:442,1
    - Dst: write_555
      Src: /src/gpac/src/evg/raster_565.c:452,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/evg/raster_565.c:443,1
    - Dst: memcpy
      Src: /src/gpac/src/evg/raster_565.c:456,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/evg/raster_565.c:444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - surf
    - rc
    - col
    argTypes:
    - GF_EVGSurface*
    - GF_IRect
    - GF_Color
    constantsTouched: []
    func_position:
      end: 460
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 460
    functionName: evg_surface_clear_555
    functionSourceFile: /src/gpac/src/evg/raster_565.c
    functionUses: []
    functionsReached:
    - write_555
    - GF_COL_R
    - memcpy
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evg_surface_clear_555(GF_EVGSurface *surf, GF_IRect rc, GF_Color
      col) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:40,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:42,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 4
    argNames:
    - mdia
    - SampleDescIndex
    - out_entry
    - dataRefIndex
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_SampleEntryBox**
    - u32*
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: Media_GetSampleDesc
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_GetSampleDesc(GF_MediaBox *mdia, u32 SampleDescIndex,
      GF_SampleEntryBox **out_entry, u32 *dataRefIndex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/media.c:90,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:97,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/isomedia/media.c:109,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:107,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/media.c:114,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/media.c:100,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/media.c:121,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/media.c:122,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/media.c:123,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/media.c:137,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:104,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:106,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/media.c:137,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:74,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/media.c:91,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:93,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:94,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/media.c:96,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/media.c:98,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/media.c:99,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:105,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/isomedia/media.c:108,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/media.c:120,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/isomedia/media.c:92,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:116,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:117,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/media.c:124,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - stbl
    - type
    - entry
    - out_esd
    argTypes:
    - GF_SampleTableBox*
    - u32
    - GF_GenericAudioSampleEntryBox*
    - GF_ESD**
    constantsTouched: []
    func_position:
      end: 141
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 141
    functionName: gf_isom_get_3gpp_audio_esd
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - memset
    - gf_bs_del
    - gf_bs_write_u32_le
    - gf_bs_write_data
    - gf_bs_write_u16
    - gf_bs_write_u16_le
    - gf_bs_new
    - GF_LOG
    - gf_bs_write_u8
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_get_3gpp_audio_esd(GF_SampleTableBox *stbl,
      u32 type, GF_GenericAudioSampleEntryBox *entry, GF_ESD **out_esd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - stsh
    - sampleNumber
    argTypes:
    - GF_ShadowSyncBox*
    - u32
    constantsTouched: []
    func_position:
      end: 469
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 469
    functionName: Media_IsSampleSyncShadow
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'Bool Media_IsSampleSyncShadow(GF_ShadowSyncBox *stsh, u32 sampleNumber) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:709,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:711,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/media.c:727,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/media.c:732,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/media.c:729,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - mdia
    - dataEntryIndex
    argTypes:
    - GF_MediaBox*
    - u32
    constantsTouched: []
    func_position:
      end: 734
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 734
    functionName: Media_CheckDataEntry
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_datamap_new
    - gf_isom_datamap_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_CheckDataEntry(GF_MediaBox *mdia, u32 dataEntryIndex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/media.c:800,1
    - Dst: stbl_SearchSAPs
      Src: /src/gpac/src/isomedia/media.c:807,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - stbl
    - searchFromSample
    - sampleNumber
    - mode
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32*
    - u8
    constantsTouched: []
    func_position:
      end: 826
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 826
    functionName: Media_FindSyncSample
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleRAP
    - stbl_SearchSAPs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_FindSyncSample(GF_SampleTableBox *stbl, u32 searchFromSample,
      u32 *sampleNumber, u8 mode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Track_IsMPEG4Stream
      Src: /src/gpac/src/isomedia/media.c:882,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/media.c:890,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/media.c:895,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/media.c:883,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/media.c:901,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/media.c:915,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/media.c:917,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 925
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 925
    functionName: Media_SetDuration
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - Track_IsMPEG4Stream
    - stbl_GetSampleDTS_and_Duration
    - stbl_GetSampleCTS
    - gf_sys_old_arch_compat
    - Media_GetESD
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_SetDuration(GF_TrackBox *trak) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/isomedia/media.c:935,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/media.c:945,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/media.c:938,1
    - Dst: strrchr
      Src: /src/gpac/src/isomedia/media.c:941,1
    - Dst: strrchr
      Src: /src/gpac/src/isomedia/media.c:940,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/media.c:948,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/media.c:949,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/media.c:952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - dref_entry
    - origName
    - finalName
    argTypes:
    - GF_DataEntryURLBox*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 957
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 957
    functionName: Media_SetDrefURL
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_strdup
    - GF_LOG
    - strrchr
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_SetDrefURL(GF_DataEntryURLBox *dref_entry, const char
      *origName, const char *finalName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stbl_SetSampleSize
      Src: /src/gpac/src/isomedia/media.c:1097,1
    - Dst: stbl_AddCTS
      Src: /src/gpac/src/isomedia/media.c:1108,1
    - Dst: stbl_SetChunkOffset
      Src: /src/gpac/src/isomedia/media.c:1098,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:1106,1
    - Dst: stbl_SetSampleCTS
      Src: /src/gpac/src/isomedia/media.c:1102,1
    - Dst: stbl_SetSampleRAP
      Src: /src/gpac/src/isomedia/media.c:1113,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:1117,1
    - Dst: stbl_AddRAP
      Src: /src/gpac/src/isomedia/media.c:1121,1
    - Dst: stbl_SetRedundant
      Src: /src/gpac/src/isomedia/media.c:1126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 6
    argNames:
    - mdia
    - sampleNumber
    - size
    - CTS
    - offset
    - isRap
    argTypes:
    - GF_MediaBox*
    - u32
    - u32
    - s32
    - u64
    - u8
    constantsTouched: []
    func_position:
      end: 1129
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1129
    functionName: UpdateSample
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - stbl_SetSampleSize
    - stbl_SetChunkOffset
    - stbl_SetSampleRAP
    - stbl_SetRedundant
    - stbl_SetSampleCTS
    - stbl_AddCTS
    - stbl_AddRAP
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err UpdateSample(GF_MediaBox *mdia, u32 sampleNumber, u32
      size, s32 CTS, u64 offset, u8 isRap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/media.c:58,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/media.c:69,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mdia
    - DTS
    - sampleDescIndex
    argTypes:
    - GF_MediaBox*
    - u64
    - u32*
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: Media_GetSampleDescIndex
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - stbl_findEntryForTime
    - stbl_GetSampleInfos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_GetSampleDescIndex(GF_MediaBox *mdia, u64 DTS, u32 *sampleDescIndex) '
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: AVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:157,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/media.c:176,1
    - Dst: HEVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:231,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:276,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:383,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media.c:404,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/media.c:406,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:420,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/media.c:428,1
    - Dst: VP9_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:246,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/isomedia/media.c:279,1
    - Dst: gf_isom_get_ttxt_esd
      Src: /src/gpac/src/isomedia/media.c:300,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:315,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/media.c:320,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:358,1
    - Dst: gf_odf_opus_cfg_write
      Src: /src/gpac/src/isomedia/media.c:361,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:370,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:432,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/media.c:437,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:153,1
    - Dst: AVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:221,1
    - Dst: HEVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:229,1
    - Dst: AV1_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/media.c:238,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/media.c:259,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/media.c:272,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/media.c:322,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/media.c:399,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/media.c:453,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/media.c:170,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media.c:321,1
    - Dst: gf_isom_get_3gpp_audio_esd
      Src: /src/gpac/src/isomedia/media.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/media.c:355,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:430,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/media.c:431,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/media.c:433,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/media.c:438,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/media.c:435,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 185
    argCount: 4
    argNames:
    - mdia
    - sampleDescIndex
    - out_esd
    - true_desc_only
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ESD**
    - Bool
    constantsTouched: []
    func_position:
      end: 456
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 456
    functionName: Media_GetESD
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_isom_get_3gpp_audio_esd
    - strlen
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_bs_write_data
    - GF_LOG
    - gf_m4a_write_config
    - gf_isom_get_ttxt_esd
    - HEVC_RewriteESDescriptorEx
    - gf_odf_desc_esd_new
    - VP9_RewriteESDescriptorEx
    - gf_bs_del
    - gf_list_count
    - gf_odf_desc_copy
    - AVC_RewriteESDescriptorEx
    - gf_list_get
    - gf_bs_write_u16
    - AV1_RewriteESDescriptorEx
    - gf_bs_new
    - memcpy
    - gf_bs_write_u8
    - gf_odf_opus_cfg_write
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_GetESD(GF_MediaBox *mdia, u32 sampleDescIndex, GF_ESD
      **out_esd, Bool true_desc_only) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/media.c:491,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/media.c:518,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/media.c:508,1
    - Dst: stbl_GetSampleDepType
      Src: /src/gpac/src/isomedia/media.c:527,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/media.c:635,1
    - Dst: gf_isom_is_nalu_based_entry
      Src: /src/gpac/src/isomedia/media.c:672,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/media.c:693,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/media.c:501,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:558,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/media.c:626,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media.c:629,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/media.c:638,1
    - Dst: Media_RewriteODFrame
      Src: /src/gpac/src/isomedia/media.c:668,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/media.c:679,1
    - Dst: gf_isom_nalu_get_sample_sap
      Src: /src/gpac/src/isomedia/media.c:680,1
    - Dst: gf_isom_rewrite_text_sample
      Src: /src/gpac/src/isomedia/media.c:696,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/media.c:514,1
    - Dst: Media_IsSampleSyncShadow
      Src: /src/gpac/src/isomedia/media.c:541,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/isomedia/media.c:641,1
    - Dst: gf_isom_nalu_sample_rewrite
      Src: /src/gpac/src/isomedia/media.c:676,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/media.c:553,1
    - Dst: gf_isom_datamap_open
      Src: /src/gpac/src/isomedia/media.c:584,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:594,1
    - Dst: gf_isom_datamap_open
      Src: /src/gpac/src/isomedia/media.c:589,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/isomedia/media.c:602,1
    - Dst: gf_isom_datamap_get_data
      Src: /src/gpac/src/isomedia/media.c:647,1
    - Dst: gf_isom_is_encrypted_entry
      Src: /src/gpac/src/isomedia/media.c:675,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 198
    argCount: 7
    argNames:
    - mdia
    - sampleNumber
    - samp
    - sIDX
    - no_data
    - out_offset
    - ext_realloc
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample**
    - u32*
    - Bool
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 700
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 700
    functionName: Media_GetSample
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - stbl_GetSampleCTS
    - Media_IsSampleSyncShadow
    - stbl_GetSampleInfos
    - gf_isom_rewrite_text_sample
    - gf_isom_is_nalu_based_entry
    - gf_bs_get_refreshed_size
    - gf_isom_datamap_get_data
    - gf_list_get
    - Media_RewriteODFrame
    - stbl_GetSampleSize
    - gf_bs_get_size
    - gf_sys_old_arch_compat
    - gf_isom_nalu_get_sample_sap
    - stbl_GetSampleRAP
    - gf_isom_datamap_open
    - stbl_GetSampleDTS_and_Duration
    - gf_realloc
    - gf_isom_is_encrypted_entry
    - stbl_GetSampleDTS
    - Media_GetSampleDesc
    - stbl_GetSampleDepType
    - gf_isom_nalu_sample_rewrite
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_GetSample(GF_MediaBox *mdia, u32 sampleNumber, GF_ISOSample
      **samp, u32 *sIDX, Bool no_data, u64 *out_offset, Bool ext_realloc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/media.c:743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/media.c:753,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:750,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - mdia
    - StreamDescIndex
    argTypes:
    - GF_MediaBox*
    - u32
    constantsTouched: []
    func_position:
      end: 761
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 761
    functionName: Media_IsSelfContained
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - Media_GetSampleDesc
    linkageType: ''
    returnType: Bool
    signature: 'Bool Media_IsSelfContained(GF_MediaBox *mdia, u32 StreamDescIndex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/media.c:966,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:980,1
    - Dst: Media_SetDrefURL
      Src: /src/gpac/src/isomedia/media.c:984,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:976,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:973,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/media.c:986,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:989,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:993,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media.c:996,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/media.c:996,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media.c:1004,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/media.c:1004,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/media.c:1006,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/media.c:1009,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:1011,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/media.c:1001,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/media.c:998,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 5
    argNames:
    - movie
    - dref
    - URLname
    - URNname
    - dataRefIndex
    argTypes:
    - GF_ISOFile*
    - GF_DataReferenceBox*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1015
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 1015
    functionName: Media_CreateDataRef
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_isom_box_new_parent
    - Media_SetDrefURL
    - gf_list_count
    - gf_isom_box_del_parent
    - strcmp
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_CreateDataRef(GF_ISOFile *movie, GF_DataReferenceBox
      *dref, char *URLname, char *URNname, u32 *dataRefIndex) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: stbl_AddDTS
      Src: /src/gpac/src/isomedia/media.c:1028,1
    - Dst: stbl_AddSize
      Src: /src/gpac/src/isomedia/media.c:1032,1
    - Dst: stbl_AddCTS
      Src: /src/gpac/src/isomedia/media.c:1043,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:1039,1
    - Dst: stbl_AddCTS
      Src: /src/gpac/src/isomedia/media.c:1046,1
    - Dst: stbl_AddRAP
      Src: /src/gpac/src/isomedia/media.c:1054,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:1060,1
    - Dst: stbl_AddRAP
      Src: /src/gpac/src/isomedia/media.c:1065,1
    - Dst: stbl_AddRedundant
      Src: /src/gpac/src/isomedia/media.c:1072,1
    - Dst: stbl_AddChunkOffset
      Src: /src/gpac/src/isomedia/media.c:1078,1
    - Dst: stbl_AddShadow
      Src: /src/gpac/src/isomedia/media.c:1087,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media.c:1084,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 5
    argNames:
    - mdia
    - data_offset
    - sample
    - StreamDescIndex
    - syncShadowNumber
    argTypes:
    - GF_MediaBox*
    - u64
    - GF_ISOSample*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1088
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1088
    functionName: Media_AddSample
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - stbl_AddDTS
    - stbl_AddChunkOffset
    - stbl_AddRedundant
    - gf_isom_box_new_parent
    - stbl_AddSize
    - stbl_AddShadow
    - stbl_AddCTS
    - stbl_AddRAP
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_AddSample(GF_MediaBox *mdia, u64 data_offset, const GF_ISOSample
      *sample, u32 StreamDescIndex, u32 syncShadowNumber) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/media.c:1146,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/media.c:1155,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:1157,1
    - Dst: gf_isom_datamap_get_offset
      Src: /src/gpac/src/isomedia/media.c:1163,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/media.c:1152,1
    - Dst: gf_isom_datamap_add_data
      Src: /src/gpac/src/isomedia/media.c:1165,1
    - Dst: stbl_SetSampleSize
      Src: /src/gpac/src/isomedia/media.c:1170,1
    - Dst: stbl_SetChunkOffset
      Src: /src/gpac/src/isomedia/media.c:1171,1
    - Dst: UpdateSample
      Src: /src/gpac/src/isomedia/media.c:1173,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - mdia
    - sampleNumber
    - sample
    - data_only
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample*
    - Bool
    constantsTouched: []
    func_position:
      end: 1174
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1174
    functionName: Media_UpdateSample
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - stbl_SetSampleSize
    - stbl_SetChunkOffset
    - stbl_GetSampleDTS
    - Media_GetSampleDesc
    - gf_isom_datamap_add_data
    - gf_isom_datamap_get_offset
    - UpdateSample
    - stbl_GetSampleInfos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_UpdateSample(GF_MediaBox *mdia, u32 sampleNumber, GF_ISOSample
      *sample, Bool data_only) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/media.c:1188,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/media.c:1196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/media.c:1198,1
    - Dst: UpdateSample
      Src: /src/gpac/src/isomedia/media.c:1205,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/media.c:1193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - mdia
    - sampleNumber
    - sample
    - data_offset
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample*
    - u64
    constantsTouched: []
    func_position:
      end: 1206
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1206
    functionName: Media_UpdateSampleReference
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - stbl_GetSampleDTS
    - Media_GetSampleDesc
    - UpdateSample
    - stbl_GetSampleInfos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_UpdateSampleReference(GF_MediaBox *mdia, u32 sampleNumber,
      GF_ISOSample *sample, u64 data_offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/media.c:769,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/media.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - mdia
    argTypes:
    - GF_MediaBox*
    constantsTouched: []
    func_position:
      end: 777
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 777
    functionName: Media_SelfContainedType
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - gf_list_count
    linkageType: ''
    returnType: GF_ISOMDataRefAllType
    signature: 'GF_ISOMDataRefAllType Media_SelfContainedType(GF_MediaBox *mdia) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media.c:837,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/media.c:848,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/media.c:855,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - dref
    - URLname
    - URNname
    - dataRefIndex
    argTypes:
    - GF_DataReferenceBox*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 862
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 862
    functionName: Media_FindDataRef
    functionSourceFile: /src/gpac/src/isomedia/media.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_FindDataRef(GF_DataReferenceBox *dref, char *URLname,
      char *URNname, u32 *dataRefIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:821,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:824,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:828,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:825,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:827,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:829,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:831,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:834,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:835,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:836,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 841
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 841
    functionName: href_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err href_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1198,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1205
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1205
    functionName: dims_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dims_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:847,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 850
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 850
    functionName: href_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err href_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1211,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1215,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1216
    functionName: dims_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_isom_base_sample_entry_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dims_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:266,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tx3g_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tx3g_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: hlit_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hlit_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: twrp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *twrp_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: dimC_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dimC_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:274,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:275,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:276,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: gpp_read_rgba
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: u32
    signature: 'u32 gpp_read_rgba(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: hlit_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hlit_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: twrp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void twrp_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1043,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1044,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1046
    functionName: dimC_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dimC_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:658,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: hclr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gpp_write_rgba
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hclr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:85,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:88,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:89,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:92,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:93,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:97,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:98,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:99,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: gppc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gppc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:250,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:253,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: text_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void text_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:619,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:621,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: hlit_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hlit_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: hclr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hclr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:869,1
    - Dst: gpp_read_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 872
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 872
    functionName: tbox_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gpp_read_box
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tbox_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1109,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1112,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1111,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1114,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1113,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1115,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1116,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1118,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1118,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1119,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1121,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1122,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1124
    functionName: dimC_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimC_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:51,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:59,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:54,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:53,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:55,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:60,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:61,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:64,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:65,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:66,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:67,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:72,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: gppc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - memset
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gppc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 149
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 149
    functionName: gppc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gppc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:259,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: tx3g_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tx3g_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: text_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err text_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: hlit_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hlit_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 668
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 668
    functionName: hclr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hclr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: hclr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hclr_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1129,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1132
    functionName: dimC_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimC_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:165,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:166,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: ftab_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ftab_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:689,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:690,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:700,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:691,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:697,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:701,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:702,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:703,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 707
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 707
    functionName: krok_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err krok_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:793,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:796,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:795,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:798,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:794,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:799,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:801,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:804,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:806,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:807,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 813
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 813
    functionName: href_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err href_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:976,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 978
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 978
    functionName: tsel_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tsel_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:174,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:178,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:182,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:175,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:185,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:188,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:189,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:190,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:192,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:193,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 200
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 200
    functionName: ftab_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - memset
    - gf_bs_read_u8
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftab_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:300,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:301,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:304,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:302,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:303,1
    - Dst: gpp_read_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - rec
    argTypes:
    - GF_BitStream*
    - GF_StyleRecord*
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: gpp_read_style
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gpp_read_rgba
    linkageType: ''
    returnType: void
    signature: 'void gpp_read_style(GF_BitStream *bs, GF_StyleRecord *rec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:985,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:986,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:990,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 997
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 997
    functionName: tsel_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsel_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    functionName: tsel_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tsel_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1183,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1186
    functionName: dims_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dims_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1189,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: dims_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dims_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:751,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 754
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionName: dlay_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dlay_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:471,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:476,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:475,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:474,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:473,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:477,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:478,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:479,1
    - Dst: gpp_write_style
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 482
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 482
    functionName: tx3g_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gpp_write_rgba
    - gpp_write_box
    - gpp_write_style
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3g_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:715,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:719,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:722,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:718,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:721,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: krok_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err krok_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: krok_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err krok_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:490,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:492,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:496,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:493,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:495,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:497,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:498,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:499,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:500,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:501,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:502,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:504,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:507,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:506,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:508,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:510,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 513
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 513
    functionName: text_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gpp_write_box
    - strlen
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err text_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:958,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 962
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 962
    functionName: twrp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err twrp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: ftab_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ftab_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:919,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:921,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 924
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 924
    functionName: blnk_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err blnk_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:879,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: tbox_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gpp_write_box
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tbox_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: tbox_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tbox_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 930
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 930
    functionName: blnk_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err blnk_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: twrp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err twrp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:608,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:610,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: hlit_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hlit_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:648,1
    - Dst: gpp_read_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: hclr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gpp_read_rgba
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hclr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:761,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: dlay_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dlay_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: href_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *href_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1153,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1158
    functionName: diST_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err diST_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: dlay_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dlay_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:784,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:785,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 787
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 787
    functionName: href_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void href_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: blnk_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *blnk_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1014,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1019,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1023
    functionName: tsel_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsel_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:242,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: text_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *text_box_new() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:399,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:414,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:428,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:350,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:363,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:360,1
    - Dst: gpp_read_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:368,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:397,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:410,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:424,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:430,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:373,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:387,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:381,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:417,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:418,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:349,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:366,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:367,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:369,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:370,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:386,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:372,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:374,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:371,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:406,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:434,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 435
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 435
    functionName: text_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_isom_box_array_read
    - gf_isom_base_sample_entry_read
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_peek_bits
    - gpp_read_box
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err text_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: dlay_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dlay_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:439,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:441,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:440,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - bs
    - col
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: gpp_write_rgba
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u8
    linkageType: ''
    returnType: void
    signature: 'void gpp_write_rgba(GF_BitStream *bs, u32 col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: dlay_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dlay_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: blnk_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void blnk_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1030
    functionName: tsel_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsel_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:447,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:448,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:449,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - rec
    argTypes:
    - GF_BitStream*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: gpp_write_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    linkageType: ''
    returnType: void
    signature: 'void gpp_write_box(GF_BitStream *bs, GF_BoxRecord *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: tbox_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tbox_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: tbox_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tbox_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:576,1
    - Dst: gpp_write_style
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:580,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: styl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gpp_write_style
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err styl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: krok_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *krok_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1222,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1224,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: dims_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dims_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: styl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err styl_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:681,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: krok_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void krok_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1234,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    functionName: dims_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dims_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:948,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: twrp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err twrp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:208,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:210,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:214,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:215,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:212,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:216,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: ftab_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftab_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:456,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:458,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:457,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:460,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:459,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - rec
    argTypes:
    - GF_BitStream*
    - GF_StyleRecord*
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: gpp_write_style
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gpp_write_rgba
    - gf_bs_write_u16
    - gf_bs_write_u8
    linkageType: ''
    returnType: void
    signature: 'void gpp_write_style(GF_BitStream *bs, GF_StyleRecord *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:908,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:910,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: blnk_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err blnk_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1054,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1056,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1057,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1058,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1055,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1059,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1060,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1062,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1069,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1070,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1085,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1094,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1101,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1084,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1079,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1090,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1075,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1095,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1103
    functionName: dimC_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u8
    - gf_strdup
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - ISOM_DECREASE_SIZE_GOTO_EXIT
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimC_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1164,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1167,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1169,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1171
    functionName: diST_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err diST_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: ftab_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftab_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1177
    functionName: diST_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err diST_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: gppc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gppc_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tx3g_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3g_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: diST_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *diST_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: gppc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gppc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:291,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:294,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:292,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - rec
    argTypes:
    - GF_BitStream*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: gpp_read_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    linkageType: ''
    returnType: void
    signature: 'void gpp_read_box(GF_BitStream *bs, GF_BoxRecord *rec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:326,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:331,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:333,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:328,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:332,1
    - Dst: gpp_read_rgba
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:334,1
    - Dst: gpp_read_box
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:335,1
    - Dst: gpp_read_style
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:336,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: tx3g_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_isom_box_array_read
    - gf_isom_base_sample_entry_read
    - gpp_read_rgba
    - gpp_read_style
    - ISOM_DECREASE_SIZE
    - gpp_read_box
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3g_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: tx3g_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3g_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1145,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: diST_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void diST_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: styl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *styl_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:553,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:560,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:554,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:563,1
    - Dst: gpp_read_style
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 568
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 568
    functionName: styl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_malloc
    - gpp_read_style
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err styl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:545,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_3gpp.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: styl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_3gpp.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void styl_box_del(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:36,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:53,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:53,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:43,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:37,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:54,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_funcs.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - outBox
    - bs
    - box_type
    - bytesExpected
    - progressive_mode
    argTypes:
    - GF_Box**
    - GF_BitStream*
    - u32*
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: gf_isom_parse_root_box
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_isom_box_del
    - GF_LOG
    - gf_isom_box_parse_ex
    - gf_bs_seek
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_parse_root_box(GF_Box **outBox, GF_BitStream *bs, u32
      *box_type, u64 *bytesExpected, Bool progressive_mode) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: get_box_reg_idx
      Src: /src/gpac/src/isomedia/box_funcs.c:1925,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/isomedia/box_funcs.c:1950,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/isomedia/box_funcs.c:1946,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:1949,1
    - Dst: gf_4cc_to_str_safe
      Src: /src/gpac/src/isomedia/box_funcs.c:1949,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:1962,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:1962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:1967,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:1967,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:1967,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:1970,1
    - Dst: uuid_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:1977,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:1970,1
    - Dst: unkn_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:1980,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 62
    argCount: 5
    argNames:
    - boxType
    - parentType
    - skip_logs
    - is_root_box
    - is_uuid
    argTypes:
    - u32
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2007
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 2007
    functionName: gf_isom_box_new_ex
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_opts_get_key
    - uuid_box_new
    - gf_4cc_to_str_safe
    - GF_LOG
    - get_box_reg_idx
    - unkn_box_new
    - gf_4cc_to_str
    - gf_file_exists
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_box_new_ex(u32 boxType, u32 parentType, Bool skip_logs,
      Bool is_root_box, Bool is_uuid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2140,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2144
    functionName: gf_isom_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_read(GF_Box *a, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:2425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:2427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - children
    - code
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 2440
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2440
    functionName: gf_isom_box_find_child
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Box *gf_isom_box_find_child(GF_List *children, u32 code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_funcs.c:2458,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2464,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:2459,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - child_boxes
    - b
    argTypes:
    - GF_List**
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2465
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2465
    functionName: gf_isom_box_del_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_del_item
    - gf_isom_box_del
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_del_parent(GF_List **child_boxes, GF_Box*b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:69,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:74,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:76,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:72,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/box_funcs.c:70,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:78,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:80,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/box_funcs.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - UUID
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: gf_isom_solve_uuid_box
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcat
    - strnicmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_solve_uuid_box(u8 *UUID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:553,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/box_funcs.c:557,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:559,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/box_funcs.c:559,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parent
    - list
    - bs
    argTypes:
    - GF_Box*
    - GF_List*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 565
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 565
    functionName: gf_isom_box_array_write
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_write
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_array_write(GF_Box *parent, GF_List *list, GF_BitStream
      *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:2012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - boxType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2013
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2013
    functionName: gf_isom_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Box *gf_isom_box_new(u32 boxType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:2446,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:2448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - children
    - a
    argTypes:
    - GF_List*
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2453
    functionName: gf_isom_box_check_unique
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_box_check_unique(GF_List *children, GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - parent_box
    - box
    argTypes:
    - GF_Box*
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2472
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2472
    functionName: gf_isom_box_remove_from_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_remove_from_parent(GF_Box *parent_box, GF_Box *box) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_SSIX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_SSIX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_MOOF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_MOOF) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:1856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - parent_4cc
    argTypes:
    - GF_Box*
    - char*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1858
    functionName: gf_box_valid_in_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_box_valid_in_parent(GF_Box *a, const char *parent_4cc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2395,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - trace
    argTypes:
    - void*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2400
    functionName: gf_isom_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_fprintf
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_dump(void *ptr, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:2476,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_funcs.c:2479,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_funcs.c:2478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - parent
    - code
    argTypes:
    - GF_List**
    - u32
    constantsTouched: []
    func_position:
      end: 2481
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2481
    functionName: gf_isom_box_new_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_list_new
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_box_new_parent(GF_List **parent, u32 code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:574,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/box_funcs.c:578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:580,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/box_funcs.c:580,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:576,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - parent
    - list
    argTypes:
    - GF_Box*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: gf_isom_box_array_size
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_size
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_array_size(GF_Box *parent, GF_List *list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size_listing
      Src: /src/gpac/src/isomedia/box_funcs.c:2247,1
    - Dst: gf_isom_box_array_size
      Src: /src/gpac/src/isomedia/box_funcs.c:2253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2257
    functionName: gf_isom_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_size
    - gf_isom_box_size_listing
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_box_size(GF_Box *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_dump
      Src: /src/gpac/src/isomedia/box_funcs.c:2405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - name
    - ptr
    - trace
    argTypes:
    - char*
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2409
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2409
    functionName: gf_isom_box_dump_done
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_dump
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_dump_done(const char *name, GF_Box *ptr, FILE *trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_funcs.c:2490,1
    - Dst: gf_isom_box_freeze_order
      Src: /src/gpac/src/isomedia/box_funcs.c:2491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - box
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2494
    functionName: gf_isom_box_freeze_order
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_freeze_order
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_freeze_order(GF_Box *box) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2345,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2347,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2352,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2349,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2352,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2354,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2354,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2359,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2361,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2362,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2368,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2377,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/box_funcs.c:2373,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2375,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_funcs.c:2364,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 6
    argNames:
    - a
    - name
    - trace
    - force_version
    - spec
    - container
    argTypes:
    - GF_Box*
    - char*
    - FILE*
    - Bool
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2380
    functionName: gf_isom_box_dump_start_ex
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_sys_is_test_mode
    - gf_fprintf
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_dump_start_ex(GF_Box *a, const char *name, FILE
      * trace, Bool force_version, const char *spec, const char *container) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:131,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_funcs.c:190,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_funcs.c:246,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_funcs.c:359,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:236,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_funcs.c:144,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:154,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_funcs.c:230,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:147,1
    - Dst: gf_isom_solve_uuid_box
      Src: /src/gpac/src/isomedia/box_funcs.c:267,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:283,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:292,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_funcs.c:129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:185,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_funcs.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:236,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:124,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:277,1
    - Dst: gf_isom_box_read
      Src: /src/gpac/src/isomedia/box_funcs.c:349,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:361,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:175,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:331,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_funcs.c:358,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:291,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:343,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_funcs.c:242,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:287,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:355,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:283,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:156,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_funcs.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:410,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:105,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:193,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_funcs.c:262,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:320,1
    - Dst: gf_isom_box_new_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:142,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:181,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:326,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:316,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:402,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:319,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:286,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:219,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_funcs.c:339,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:312,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:296,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:291,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:191,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:315,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/box_funcs.c:402,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_funcs.c:413,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:311,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_funcs.c:279,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:402,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_funcs.c:417,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_funcs.c:110,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:147,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:189,1
    - Dst: gf_isom_full_box_read
      Src: /src/gpac/src/isomedia/box_funcs.c:348,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:396,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_funcs.c:276,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_funcs.c:307,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_funcs.c:260,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/box_funcs.c:351,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:117,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:114,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:175,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:185,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_funcs.c:265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:418,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_funcs.c:422,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/isomedia/box_funcs.c:263,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:286,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:128,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:179,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:223,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 350
    argCount: 5
    argNames:
    - outBox
    - bs
    - parent_type
    - is_root_box
    - parent_size
    argTypes:
    - GF_Box**
    - GF_BitStream*
    - u32
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 427
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 427
    functionName: gf_isom_box_parse_ex
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_new
    - memset
    - gf_isom_box_new_ex
    - gf_gz_decompress_payload_ex
    - GF_LOG
    - gf_bs_seek
    - gf_bs_peek_bits
    - gf_4cc_to_str
    - gf_bs_skip_bytes
    - gf_bs_del
    - GF_4CC
    - gf_error_to_string
    - gf_bs_read_data
    - gf_bs_get_cookie
    - gf_bs_read_u32
    - gf_bs_get_position
    - gf_bs_new
    - memcpy
    - gf_free
    - ERR_EXIT
    - gf_isom_box_read
    - gf_isom_solve_uuid_box
    - gf_isom_box_del
    - gf_bs_available
    - gf_bs_read_u64
    - gf_isom_full_box_read
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_parse_ex(GF_Box **outBox, GF_BitStream *bs, u32
      parent_type, Bool is_root_box, u64 parent_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:439,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:441,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - boxlist
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: gf_isom_box_array_reset
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_box_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_array_reset(GF_List *boxlist) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:480,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:495,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:484,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:486,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_funcs.c:482,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:498,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:501,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:504,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_funcs.c:507,1
    - Dst: strtol
      Src: /src/gpac/src/isomedia/box_funcs.c:521,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_funcs.c:523,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_funcs.c:525,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_funcs.c:529,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:531,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 534
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 534
    functionName: gf_isom_box_write_header
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_get_position
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_write_u32
    - memcpy
    - strtol
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_box_write_header(GF_Box *ptr, GF_BitStream
      *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1864
    functionName: gf_isom_get_num_supported_boxes
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_num_supported_boxes() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_num_supported_boxes
      Src: /src/gpac/src/isomedia/box_funcs.c:1868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - boxCode
    - disable
    argTypes:
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1875
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1875
    functionName: gf_isom_registry_disable
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_num_supported_boxes
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_registry_disable(u32 boxCode, Bool disable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2152,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2156
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2156
    functionName: gf_isom_box_write_listing
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_write_listing(GF_Box *a, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:2194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2204,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2200,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2200,1
    - Dst: gf_isom_box_write_listing
      Src: /src/gpac/src/isomedia/box_funcs.c:2205,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/box_funcs.c:2208,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_funcs.c:2210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2213,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - a
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2217
    functionName: gf_isom_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_listing
    - gf_bs_get_position
    - GF_LOG
    - gf_isom_box_array_write
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_box_write(GF_Box *a, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2339
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2339
    functionName: gf_isom_get_supported_box_type
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_supported_box_type(u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - outBox
    - bs
    argTypes:
    - GF_Box**
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: gf_isom_box_parse
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_parse_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_box_parse(GF_Box **outBox, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_reset
      Src: /src/gpac/src/isomedia/box_funcs.c:448,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_funcs.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - boxlist
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: gf_isom_box_array_del
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_isom_box_array_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_array_del(GF_List *boxlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_funcs.c:540,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_funcs.c:542,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_funcs.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: gf_isom_full_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_full_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_num_supported_boxes
      Src: /src/gpac/src/isomedia/box_funcs.c:1879,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:1899,1
    - Dst: gf_4cc_to_str_safe
      Src: /src/gpac/src/isomedia/box_funcs.c:1894,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:1894,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:1896,1
    - Dst: get_box_reg_idx
      Src: /src/gpac/src/isomedia/box_funcs.c:1910,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:1913,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - boxCode
    - parent_type
    - start_from
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1919
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1919
    functionName: get_box_reg_idx
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_num_supported_boxes
    - gf_4cc_to_str_safe
    - strstr
    - get_box_reg_idx
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_box_reg_idx(u32 boxCode, u32 parent_type, u32 start_from) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/box_funcs.c:2165,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_funcs.c:2171,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/box_funcs.c:2172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - s
    - child
    - pos
    argTypes:
    - GF_Box*
    - GF_Box*
    - u32*
    constantsTouched: []
    func_position:
      end: 2175
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2175
    functionName: gf_isom_check_position
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_del_item
    - gf_list_find
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_check_position(GF_Box *s, GF_Box *child, u32 *pos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2223,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2236
    functionName: gf_isom_box_size_listing
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_box_size_listing(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:2383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - name
    - trace
    argTypes:
    - GF_Box*
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2384
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2384
    functionName: gf_isom_box_dump_start
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_start_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_dump_start(GF_Box *a, const char *name, FILE *
      trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_SIDX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_SIDX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_CMOF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_CMOF) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:456,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_funcs.c:459,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:458,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/isomedia/box_funcs.c:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - child_boxes
    - boxlist
    argTypes:
    - GF_List**
    - GF_List*
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: gf_isom_box_array_reset_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_list_count
    - gf_list_get
    - gf_list_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_array_reset_parent(GF_List **child_boxes, GF_List
      *boxlist) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2037,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/box_funcs.c:2039,1
    - Dst: gf_4cc_to_str_safe
      Src: /src/gpac/src/isomedia/box_funcs.c:2053,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2059,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2037,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2086,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/box_funcs.c:2059,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2072,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2069,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2071,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_funcs.c:2092,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_funcs.c:2095,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_funcs.c:2020,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2029,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_funcs.c:2049,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2059,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2057,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/box_funcs.c:2103,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_funcs.c:2027,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2040,1
    - Dst: gf_4cc_to_str_safe
      Src: /src/gpac/src/isomedia/box_funcs.c:2055,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2086,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_funcs.c:2104,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 2
    argNames:
    - parent
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2111
    functionName: gf_isom_box_array_read
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_find
    - gf_isom_box_del
    - GF_LOG
    - gf_isom_box_parse_ex
    - gf_4cc_to_str_safe
    - strcmp
    - gf_isom_box_del_parent
    - gf_4cc_to_str
    - gf_list_new
    - gf_opts_get_bool
    - strstr
    - gf_bs_get_cookie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_array_read(GF_Box *parent, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_funcs.c:2265,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_funcs.c:2266,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_funcs.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2270
    functionName: gf_isom_full_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u24
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_full_box_read(GF_Box *ptr, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_CSIX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_CSIX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_CSSX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==GF_ISOM_BOX_TYPE_CSSX) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/box_funcs.c:466,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_funcs.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - child_boxes
    - boxlist
    argTypes:
    - GF_List**
    - GF_List*
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: gf_isom_box_array_del_parent
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_reset_parent
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_box_array_del_parent(GF_List **child_boxes, GF_List *boxlist) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_funcs.c:2125,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2131,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_funcs.c:2125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2133
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2133
    functionName: gf_isom_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_del
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_box_del(GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_funcs.c:2182,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_funcs.c:2184,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_funcs.c:2185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - s
    - childlist
    - pos
    argTypes:
    - GF_Box*
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2187
    functionName: gf_isom_check_position_list
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_check_position
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_check_position_list(GF_Box *s, GF_List *childlist, u32
      *pos) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_funcs.c:2309,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_funcs.c:2327,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_funcs.c:2317,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_funcs.c:2324,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - idx
    - trace
    argTypes:
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2333
    functionName: gf_isom_dump_supported_box
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del
    - gf_isom_box_dump
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_dump_supported_box(u32 idx, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2414,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_funcs.c:2415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2417
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2417
    functionName: gf_isom_box_is_file_level
    functionSourceFile: /src/gpac/src/isomedia/box_funcs.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_box_is_file_level(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: schi_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void schi_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:389,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: iSLT_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSLT_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: senc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *senc_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1623
    functionName: adkm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void adkm_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1835,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1839
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1839
    functionName: akey_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err akey_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1850
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1850
    functionName: akey_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err akey_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:204,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:213,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:207,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:216,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:210,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:219,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 230
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 230
    functionName: schi_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schi_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: iSLT_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSLT_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1630,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1637
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1637
    functionName: adkm_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adkm_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1844
    functionName: akey_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err akey_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1858
    functionName: akey_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err akey_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1711
    functionName: aprm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *aprm_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1865
    functionName: flxs_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *flxs_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: piff_pssh_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *piff_pssh_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: piff_psec_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *piff_psec_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: frma_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *frma_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:808,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:811,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:816,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:819,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:814,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:820,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:822,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 824
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 824
    functionName: pssh_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pssh_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: sinf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sinf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: schi_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:283,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: iKMS_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iKMS_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: pssh_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pssh_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: piff_tenc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void piff_tenc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1741
    functionName: aprm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aprm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1823
    functionName: akey_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *akey_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:73,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:75,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: sinf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sinf_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 838
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 838
    functionName: pssh_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pssh_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:967,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:970,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:972,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:969,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:973,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:977,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 980
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 980
    functionName: piff_tenc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_read_u24
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_tenc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1747,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1750
    functionName: aprm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aprm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1828
    functionName: akey_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void akey_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1616
    functionName: adkm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *adkm_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: odkm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odkm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:164,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:170,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:167,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:166,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:170,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: schm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:378,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: iSLT_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSLT_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:1220,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1222,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1225,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1226,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1223,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1229
    functionName: piff_pssh_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_pssh_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: schm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:741,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: odkm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odkm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1237
    functionName: piff_pssh_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_pssh_box_size(GF_Box *s) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 5
    argNames:
    - key_info
    - key_info_size
    - idx
    - const_iv_size
    - const_iv
    argTypes:
    - u8*
    - u32
    - u32
    - u8*
    - u8**
    constantsTouched: []
    func_position:
      end: 1296
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1296
    functionName: key_info_get_iv_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'u8 key_info_get_iv_size(const u8 *key_info, u32 key_info_size, u32
      idx, u8 *const_iv_size, const u8 **const_iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: iSFM_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iSFM_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: grpi_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *grpi_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: odkm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *odkm_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:990,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:993,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:995,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:996,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:992,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 999
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 999
    functionName: piff_tenc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_tenc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1550,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1561,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1562,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:1558,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1564,1
    - Dst: store_senc_info
      Src: /src/gpac/src/isomedia/box_code_drm.c:1566,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1570,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1576
    functionName: senc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - store_senc_info
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err senc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: schi_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *schi_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: iSFM_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iSFM_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:514,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:516,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: grpi_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void grpi_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: odkm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void odkm_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1006
    functionName: piff_tenc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_tenc_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1583,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1601,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1607
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1607
    functionName: senc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err senc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: schm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *schm_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:683,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: odrb_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odrb_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: adkm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adkm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: odrb_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odrb_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1654,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1657
    functionName: adkm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adkm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: tenc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tenc_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:342,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:345,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:344,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:346,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: iSFM_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSFM_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:408,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_drm.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: ohdr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ohdr_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1797,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1803,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1800,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1801,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:1800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1805
    functionName: aeib_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aeib_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:858,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:866,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:865,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:860,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:863,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:868,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:869,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:870,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:872,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:875,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:891,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:887,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:883,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:884,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:880,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:881,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:894,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 898
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 898
    functionName: tenc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_int
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tenc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: iSFM_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSFM_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:417,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:419,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:420,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: ohdr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ohdr_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:1811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1814
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1814
    functionName: aeib_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aeib_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:760,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:762,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: pssh_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pssh_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1022,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1024,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1025,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1027,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1029,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: piff_psec_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_isom_cenc_samp_aux_info_del
    linkageType: ''
    returnType: void
    signature: 'void piff_psec_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:769,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:778,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:772,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:773,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:770,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:782,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:783,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:787,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:788,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:792,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:796,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:795,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 799
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 799
    functionName: pssh_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_bs_read_u32
    - gf_malloc
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pssh_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1037,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:1044,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1043,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1039,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1040,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1045,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1046,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1051,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1053,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1054,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_drm.c:1060,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1056,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1063
    functionName: piff_psec_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_skip_bytes
    - gf_bs_read_u24
    - gf_bs_get_position
    - gf_bs_read_int
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_psec_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:136,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: schm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void schm_box_del(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:471,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:473,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:477,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:475,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:474,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:478,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:479,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:480,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:481,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:483,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:484,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:484,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:485,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:483,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 489
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 489
    functionName: ohdr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - ISOM_DECREASE_SIZE
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ohdr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:670,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: odrb_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odrb_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: aprm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void aprm_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1735
    functionName: aprm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aprm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1919
    functionName: adaf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *adaf_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1924
    functionName: adaf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void adaf_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:144,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:145,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:146,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:150,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: schm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:495,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: ohdr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ohdr_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1723,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1730
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1730
    functionName: aprm_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aprm_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1930,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1931,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1933,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: adaf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adaf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:328,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:329,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:332,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:330,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: iSFM_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSFM_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:636,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: odtt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odtt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:1679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: ahdr_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ahdr_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1776,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1785,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1783,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:1781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1788
    functionName: aeib_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aeib_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: odtt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odtt_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:1687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1688
    functionName: ahdr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ahdr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: iKMS_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iKMS_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: iSLT_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iSLT_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:717,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: odkm_Add
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odkm_Add(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:907,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:913,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:910,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:916,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:917,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:919,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:920,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:923,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:925,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:926,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:929,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 932
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 932
    functionName: tenc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tenc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:1897,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1900,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:1900,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1904
    functionName: flxs_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flxs_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:271,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: iKMS_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iKMS_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: iSLT_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iSLT_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: odkm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odkm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 948
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 948
    functionName: tenc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tenc_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:1910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1912
    functionName: flxs_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flxs_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: odrb_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *odrb_box_new() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:428,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:429,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:432,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:431,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:430,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:433,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:434,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:439,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:441,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:446,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:459,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:461,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:455,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:448,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 462
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 462
    functionName: ohdr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ohdr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1357,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1427,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1417,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/isomedia/box_code_drm.c:1451,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:1473,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1513,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1489,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:1486,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_drm.c:1509,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1311,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_drm.c:1341,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1416,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:1448,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:1450,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_drm.c:1458,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_drm.c:1469,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1478,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:1496,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1492,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_drm.c:1375,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1418,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/box_code_drm.c:1416,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1453,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1463,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1482,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1488,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/box_code_drm.c:1372,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1355,1
    - Dst: gf_isom_get_sample_cenc_info_internal
      Src: /src/gpac/src/isomedia/box_code_drm.c:1395,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1443,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1435,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1399,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1454,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1455,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1464,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1465,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1476,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1515,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 158
    argCount: 5
    argNames:
    - bs
    - trak
    - traf
    - senc
    - max_nb_samples
    argTypes:
    - GF_BitStream*
    - GF_TrackBox*
    - void*
    - GF_SampleEncryptionBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1518
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1518
    functionName: senc_Parse
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - GF_LOG
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_bs_skip_bytes
    - gf_isom_cenc_samp_aux_info_del
    - gf_isom_get_sample_cenc_info_internal
    - gf_error_to_string
    - gf_bs_read_data
    - gf_list_new
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_read_int
    - gf_free
    - key_info_get_iv_size
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err senc_Parse(GF_BitStream *bs, GF_TrackBox *trak, void *traf,
      GF_SampleEncryptionBox *senc, u32 max_nb_samples) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:1641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1642
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1642
    functionName: adkm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adkm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:661,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: odrb_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void odrb_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1157,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1175
    functionName: piff_psec_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_psec_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1524,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1529,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1526,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_drm.c:1530,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1534
    functionName: senc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_read_u24
    - gf_bs_get_position
    - ISOM_DECREASE_SIZE
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err senc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:46,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:52,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_drm.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: sinf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sinf_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: frma_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void frma_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: mdri_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdri_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:550,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:552,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:553,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:555,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:554,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:556,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 559
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 559
    functionName: grpi_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:625,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: odtt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odtt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sinf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sinf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:97,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: frma_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err frma_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: grpi_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpi_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: mdri_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdri_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: piff_tenc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *piff_tenc_box_new() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1073,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_drm.c:1076,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:1097,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1099,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_drm.c:1105,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1107,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_drm.c:1111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_SampleEncryptionBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1112
    functionName: store_senc_info
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err store_senc_info(GF_SampleEncryptionBox *ptr, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1189,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1191
    functionName: piff_pssh_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void piff_pssh_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1666
    functionName: ahdr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ahdr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1694
    functionName: ahdr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ahdr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:1944,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1949,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1948,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1951
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1951
    functionName: adaf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adaf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1121,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1128,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:1126,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_drm.c:1132,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1129,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1133,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_drm.c:1136,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1137,1
    - Dst: store_senc_info
      Src: /src/gpac/src/isomedia/box_code_drm.c:1140,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1146,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_drm.c:1144,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1150
    functionName: piff_psec_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - store_senc_info
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_psec_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1197,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:1202,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1201,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:1199,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_drm.c:1200,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:1206,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:1210,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1213
    functionName: piff_pssh_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_u24
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_pssh_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1671
    functionName: ahdr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ahdr_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:1700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1702
    functionName: ahdr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ahdr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1958
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1958
    functionName: adaf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adaf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: odtt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *odtt_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: mdri_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mdri_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: tenc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tenc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1759
    functionName: aeib_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *aeib_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: mdri_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mdri_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: odtt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void odtt_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1765,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1767
    functionName: aeib_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void aeib_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_drm.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: mdri_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdri_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_drm.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: sinf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sinf_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:108,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:113,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_drm.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: frma_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err frma_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_drm.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: schi_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_drm.c:293,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:297,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:296,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: iKMS_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iKMS_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:524,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:527,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:531,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_drm.c:525,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_drm.c:526,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:533,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:536,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:538,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_drm.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 541
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 541
    functionName: grpi_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1872,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1874
    functionName: flxs_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void flxs_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: sinf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sinf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: frma_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err frma_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:248,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:252,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:250,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:251,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:249,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:253,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_drm.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: schi_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schi_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_drm.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: iKMS_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iKMS_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/box_code_drm.c:1250,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_drm.c:1255,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1252,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_drm.c:1254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: senc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_isom_cenc_samp_aux_info_del
    - gf_list_pop_back
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void senc_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_drm.c:1883,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_drm.c:1885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1888
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1888
    functionName: flxs_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_drm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flxs_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_AudioSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: gf_isom_audio_sample_get_audio_codec_cfg_box
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_audio_sample_get_audio_codec_cfg_box(GF_AudioSampleEntryBox
      *ptr) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:546,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:549,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:581,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/sample_descs.c:571,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:584,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:588,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:599,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:601,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/sample_descs.c:603,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:606,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:614,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:616,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:609,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/sample_descs.c:618,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:621,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:623,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 58
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_3GPConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 628
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 628
    functionName: gf_isom_3gp_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del
    - Media_CreateDataRef
    - memcpy
    - CanAccessMovie
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_3gp_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_3GPConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:723,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:730,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:732,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:741,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - cfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AC3Config*
    constantsTouched: []
    func_position:
      end: 743
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 743
    functionName: gf_isom_ac3_config_update
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_ac3_config_update(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex, GF_AC3Config *cfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:839,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:842,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/sample_descs.c:846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - desc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_DIMSDescription*
    constantsTouched: []
    func_position:
      end: 861
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 861
    functionName: gf_isom_get_dims_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_dims_description(GF_ISOFile *movie, u32
      trackNumber, u32 descriptionIndex, GF_DIMSDescription *desc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:925,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:931,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:940,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:928,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:935,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:949,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:950,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:952,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:953,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:957,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:963,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:960,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:961,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - desc
    - URLname
    - URNname
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_DIMSDescription*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 967
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 967
    functionName: gf_isom_update_dims_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_dims_description(GF_ISOFile *movie, u32 trackNumber,
      GF_DIMSDescription *desc, char *URLname, char *URNname, u32 DescriptionIndex) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1204,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1210,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1207,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1213,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1216,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1220,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:1223,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - codec_params
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1226
    functionName: gf_isom_subtitle_set_mime
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_subtitle_set_mime(GF_ISOFile *the_file, u32
      trackNumber, u32 StreamDescriptionIndex, const char *codec_params) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/sample_descs.c:1358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/sample_descs.c:1353,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1363,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1334,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1366,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1370,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1372,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1375,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1376,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1378,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1379,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1383,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1381,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 42
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - type
    - mime
    - encoding
    - config
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1387
    functionName: gf_isom_new_stxt_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_strdup
    - GF_LOG
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_new_stxt_description(GF_ISOFile *movie, u32 trackNumber,
      u32 type, const char *mime, const char *encoding, const char * config, u32 *outDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1455,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1467,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1476
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1476
    functionName: gf_webvtt_isom_get_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_WebVTTSampleEntryBox*
    signature: 'GF_WebVTTSampleEntryBox *gf_webvtt_isom_get_description(GF_ISOFile
      *movie, u32 trackNumber, u32 descriptionIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/sample_descs.c:246,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:250,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:251,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:249,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:247,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:252,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:253,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:254,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:255,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:256,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:271,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/sample_descs.c:276,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:273,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/sample_descs.c:268,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:272,1
    - Dst: gf_isom_audio_sample_get_audio_codec_cfg_box
      Src: /src/gpac/src/isomedia/sample_descs.c:262,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:257,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_AudioSampleEntryBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: gf_isom_audio_sample_entry_write
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_isom_audio_sample_get_audio_codec_cfg_box
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_audio_sample_entry_write(GF_AudioSampleEntryBox *ptr,
      GF_BitStream *bs) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:639,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:642,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:646,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:667,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 27
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - param
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_3GPConfig*
    - u32
    constantsTouched: []
    func_position:
      end: 669
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 669
    functionName: gf_isom_3gp_config_update
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - memcpy
    - gf_list_get
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_3gp_config_update(GF_ISOFile *the_file, u32
      trackNumber, GF_3GPConfig *param, u32 DescriptionIndex) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:753,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:756,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:767,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:760,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:763,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:769,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:771,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/sample_descs.c:774,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/sample_descs.c:778,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:779,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:782,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:783,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - metadata
    - metadata_size
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - u32
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 785
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 785
    functionName: gf_isom_flac_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_malloc
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del
    - Media_CreateDataRef
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_flac_config_new(GF_ISOFile *the_file, u32
      trackNumber, u8 *metadata, u32 metadata_size, const char *URLname, const char
      *URNname, u32 *outDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:796,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:810,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:799,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:806,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:803,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:812,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:814,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:816,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/sample_descs.c:820,1
    - Dst: gf_isom_box_read
      Src: /src/gpac/src/isomedia/sample_descs.c:822,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/sample_descs.c:823,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:826,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - URLname
    - URNname
    - outDescriptionIndex
    - dsi
    - dsi_len
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - u32*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 828
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 828
    functionName: gf_isom_new_mj2k_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_bs_del
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_bs_new
    - Media_CreateDataRef
    - CanAccessMovie
    - gf_isom_box_read
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_mj2k_description(GF_ISOFile *the_file,
      u32 trackNumber, const char *URLname, const char *URNname, u32 *outDescriptionIndex,
      u8 *dsi, u32 dsi_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/sample_descs.c:1257,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1243,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1262,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1265,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1269,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1271,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1274,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1275,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1277,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1278,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1279,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 34
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - xmlnamespace
    - xml_schema_loc
    - mimes
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1281
    functionName: gf_isom_new_xml_subtitle_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_list_count
    - gf_strdup
    - GF_LOG
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_xml_subtitle_description(GF_ISOFile *movie,
      u32 trackNumber, const char *xmlnamespace, const char *xml_schema_loc, const
      char *mimes, u32 *outDescriptionIndex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1407,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1426,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1410,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1422,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1413,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:1429,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1431,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/sample_descs.c:1434,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1437,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - encoding
    - config
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1440
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1440
    functionName: gf_isom_update_stxt_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_stxt_description(GF_ISOFile *movie, u32 trackNumber,
      const char *encoding, const char *config, u32 DescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_isom_get_description
      Src: /src/gpac/src/isomedia/sample_descs.c:1481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - file
    - track
    - index
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1484
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1484
    functionName: gf_isom_get_webvtt_config
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_webvtt_isom_get_description
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_isom_get_webvtt_config(GF_ISOFile *file,
      u32 track, u32 index) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1546,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1562,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1549,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1565,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1569,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1571,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1574,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1575,1
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/isomedia/sample_descs.c:1578,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - URLname
    - URNname
    - outDescriptionIndex
    - config
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - u32*
    - char*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1581
    functionName: gf_isom_new_webvtt_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - boxstring_new_with_data
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_new_webvtt_description(GF_ISOFile *movie, u32 trackNumber,
      const char *URLname, const char *URNname, u32 *outDescriptionIndex, const char
      *config) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1747,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1750,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1761,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1754,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1757,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1763,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1766,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1767,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1770
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1770
    functionName: gf_isom_evte_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_evte_config_new(GF_ISOFile *the_file, u32
      trackNumber, u32 *outDescriptionIndex) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1913,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1916,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/sample_descs.c:1925,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1923,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1927,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1929,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1930,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1932,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1934,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/sample_descs.c:1936,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:1935,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - sample_rate
    - nb_channels
    - flags
    - pcm_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Double*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1938
    functionName: gf_isom_get_lpcm_config
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_list_get
    - gf_bs_read_double
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_bs_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_lpcm_config(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, Double *sample_rate, u32 *nb_channels, u32 *flags, u32
      *pcm_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/sample_descs.c:32,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:33,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/sample_descs.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_SampleEntryBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: gf_isom_base_sample_entry_read
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_bs_read_u16
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_base_sample_entry_read(GF_SampleEntryBox *ptr, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/sample_descs.c:66,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:70,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:69,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:71,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:72,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:73,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:74,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:75,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:76,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:77,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:79,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/sample_descs.c:80,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:78,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/sample_descs.c:64,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:82,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_VisualSampleEntryBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: gf_isom_video_sample_entry_read
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_isom_base_sample_entry_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_video_sample_entry_read(GF_VisualSampleEntryBox *ptr,
      GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ent
    argTypes:
    - GF_SampleEntryBox*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: gf_isom_sample_entry_init
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_sample_entry_init(GF_SampleEntryBox *ent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/sample_descs.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_AudioSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: gf_isom_audio_sample_entry_init
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_audio_sample_entry_init(GF_AudioSampleEntryBox *ptr) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:308,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:332,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/sample_descs.c:330,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 22
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: gf_isom_3gp_config_get
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - memcpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_3GPConfig *gf_isom_3gp_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:873,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:876,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:885,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:889,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:882,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:891,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:894,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:895,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:897,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:907,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:913,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:911,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:908,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - desc
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_DIMSDescription*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 916
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 916
    functionName: gf_isom_new_dims_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_strdup
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_dims_description(GF_ISOFile *movie, u32
      trackNumber, GF_DIMSDescription *desc, const char *URLname, const char *URNname,
      u32 *outDescriptionIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:977,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/sample_descs.c:985,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:981,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - cfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_UDTSConfig*
    constantsTouched: []
    func_position:
      end: 999
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 999
    functionName: gf_isom_get_udts_config
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_udts_config(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, GF_UDTSConfig *cfg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1078,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1080,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 6
    argNames:
    - file
    - track
    - sampleDescription
    - _namespace
    - schema_loc
    - content_encoding
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1087
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1087
    functionName: gf_isom_get_xml_metadata_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_xml_metadata_description(GF_ISOFile *file,
      u32 track, u32 sampleDescription, const char **_namespace, const char **schema_loc,
      const char **content_encoding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/sample_descs.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ent
    argTypes:
    - GF_VisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: gf_isom_video_sample_entry_init
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_video_sample_entry_init(GF_VisualSampleEntryBox *ent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_SampleEntryBox*
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: gf_isom_sample_entry_predestroy
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_sample_entry_predestroy(GF_SampleEntryBox *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:202,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:203,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:201,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/sample_descs.c:198,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:204,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:205,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:206,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:207,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:208,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:209,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/sample_descs.c:215,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/sample_descs.c:217,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/sample_descs.c:196,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/sample_descs.c:214,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/sample_descs.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_AudioSampleEntryBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: gf_isom_audio_sample_entry_read
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_isom_base_sample_entry_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_audio_sample_entry_read(GF_AudioSampleEntryBox *ptr,
      GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_AudioSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: gf_isom_audio_sample_entry_size
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_audio_sample_entry_size(GF_AudioSampleEntryBox *ptr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:492,1
    - Dst: gf_odf_opus_cfg_write
      Src: /src/gpac/src/isomedia/sample_descs.c:514,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/sample_descs.c:495,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:499,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/isomedia/sample_descs.c:505,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 24
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - dsi
    - dsi_size
    - ocfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8**
    - u32*
    - GF_OpusConfig*
    constantsTouched: []
    func_position:
      end: 519
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 519
    functionName: gf_isom_opus_config_get_internal
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    - gf_odf_opus_cfg_write
    - gf_isom_get_original_format_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_opus_config_get_internal(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex, u8 **dsi, u32 *dsi_size, GF_OpusConfig
      *ocfg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1154,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1157,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 22
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - xmlnamespace
    - xml_schema_loc
    - mimes
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1173
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1173
    functionName: gf_isom_xml_subtitle_get_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_xml_subtitle_get_description(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex, const char **xmlnamespace, const
      char **xml_schema_loc, const char **mimes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:415,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:425,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:418,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:429,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:422,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:433,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:435,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - URLname
    - URNname
    - format
    - peak_rate
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 442
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 442
    functionName: gf_isom_truehd_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_truehd_config_new(GF_ISOFile *the_file, u32 trackNumber,
      char *URLname, char *URNname, u32 format, u32 peak_rate, u32 *outDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:456,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:463,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:470,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:459,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:466,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:474,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:476,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:482,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_OpusConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 484
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 484
    functionName: gf_isom_opus_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_opus_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_OpusConfig *cfg, char *URLname, char *URNname, u32 *outDescriptionIndex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1021,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1041,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1047,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1034,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/sample_descs.c:1064,1
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/sample_descs.c:1004,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1015,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1018,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1025,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1033,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1044,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/sample_descs.c:1040,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1050,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:1062,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1013,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1029,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1039,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1036,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/sample_descs.c:1049,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1056,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1012,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1006,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/sample_descs.c:1035,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1038,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1048,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/sample_descs.c:1060,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 2
    argNames:
    - lsr
    - esd
    argTypes:
    - GF_LASeRSampleEntryBox*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1066
    functionName: LSR_UpdateESD
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_sample_entry_get_bitrate
    - memcpy
    - gf_list_rem
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err LSR_UpdateESD(GF_LASeRSampleEntryBox *lsr, GF_ESD *esd) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1506,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1521,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1532,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1530,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1509,1
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/isomedia/sample_descs.c:1533,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - config
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1535
    functionName: gf_isom_update_webvtt_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - boxstring_new_with_data
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_webvtt_description(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, const char *config) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:96,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:98,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:100,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:102,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/sample_descs.c:109,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:114,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:118,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:122,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:133,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:141,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:169,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:154,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:161,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/sample_descs.c:90,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:106,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:111,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:112,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:117,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:121,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:126,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:134,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:145,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:150,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:165,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:130,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:138,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:157,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:91,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:95,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:97,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:99,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:103,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/sample_descs.c:101,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:113,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:116,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:120,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:125,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:170,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:153,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:162,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:93,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:94,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/sample_descs.c:105,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/sample_descs.c:104,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:115,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:119,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:129,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:137,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:142,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:146,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:166,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:158,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/sample_descs.c:149,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_VisualSampleEntryBox*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 174
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 174
    functionName: gf_isom_video_sample_entry_write
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_list_del_item
    - gf_bs_write_u32
    - gf_isom_box_find_child
    - gf_sys_old_arch_compat
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_video_sample_entry_write(GF_VisualSampleEntryBox *ptr,
      GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:342,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/sample_descs.c:351,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:345,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:353,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 355
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 355
    functionName: gf_isom_ac3_config_get
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - memcpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AC3Config *gf_isom_ac3_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:392,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:395,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - format_info
    - peak_data_rate
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: gf_isom_truehd_config_get
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_truehd_config_get(GF_ISOFile *the_file, u32
      trackNumber, u32 StreamDescriptionIndex, u32 *format_info, u32 *peak_data_rate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_opus_config_get_internal
      Src: /src/gpac/src/isomedia/sample_descs.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - isom_file
    - trackNumber
    - sampleDescriptionIndex
    - dsi
    - dsi_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: gf_isom_opus_config_get
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_opus_config_get_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_opus_config_get(GF_ISOFile *isom_file, u32
      trackNumber, u32 sampleDescriptionIndex, u8 **dsi, u32 *dsi_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/sample_descs.c:1590,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ent
    - create
    argTypes:
    - GF_SampleEntryBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 1596
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1596
    functionName: gf_isom_sample_entry_get_bitrate
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_BitRateBox*
    signature: 'GF_BitRateBox *gf_isom_sample_entry_get_bitrate(GF_SampleEntryBox
      *ent, Bool create) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1609,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1616,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1631,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1623,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1612,1
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/sample_descs.c:1660,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1664,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - sampleDescriptionIndex
    - average_bitrate
    - max_bitrate
    - decode_buffer_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1674
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1674
    functionName: gf_isom_update_bitrate
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_sample_entry_get_bitrate
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_update_bitrate(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleDescriptionIndex, u32 average_bitrate, u32 max_bitrate, u32 decode_buffer_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1850,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1853,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - tmcd_flags
    - tmcd_fps_num
    - tmcd_fps_den
    - tmcd_fpt
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1862
    functionName: gf_isom_get_tmcd_config
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_tmcd_config(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, u32 *tmcd_flags, u32 *tmcd_fps_num, u32 *tmcd_fps_den,
      u32 *tmcd_fpt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ent
    argTypes:
    - GF_VisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: gf_isom_video_sample_entry_size
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_video_sample_entry_size(GF_VisualSampleEntryBox *ent) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:363,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/sample_descs.c:380,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:381,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:368,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/isomedia/sample_descs.c:374,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - dsi
    - dsi_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: gf_isom_flac_config_get
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcpy
    - gf_isom_get_original_format_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_flac_config_get(GF_ISOFile *the_file, u32
      trackNumber, u32 StreamDescriptionIndex, u8 **dsi, u32 *dsi_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_opus_config_get_internal
      Src: /src/gpac/src/isomedia/sample_descs.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - isom_file
    - trackNumber
    - sampleDescriptionIndex
    - opcfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_OpusConfig*
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: gf_isom_opus_config_get_desc
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_opus_config_get_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_opus_config_get_desc(GF_ISOFile *isom_file,
      u32 trackNumber, u32 sampleDescriptionIndex, GF_OpusConfig *opcfg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1688,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1698,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1702,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1695,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1691,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1704,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1706,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1710,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1713,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1717,1
    - Dst: gf_isom_box_new_ex
      Src: /src/gpac/src/isomedia/sample_descs.c:1723,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1734,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1735,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1719,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - fps_num
    - fps_den
    - frames_per_counter_tick
    - is_drop
    - is_counter
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - s32
    - Bool
    - Bool
    - u32*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1737
    functionName: gf_isom_tmcd_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_isom_box_new_ex
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_tmcd_config_new(GF_ISOFile *the_file, u32
      trackNumber, u32 fps_num, u32 fps_den, s32 frames_per_counter_tick, Bool is_drop,
      Bool is_counter, u32 *outDescriptionIndex) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1870,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1873,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1899,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1877,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1880,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 35
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - flags
    - pcm_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1905
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1905
    functionName: gf_isom_get_pcm_config
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_pcm_config(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, u32 *flags, u32 *pcm_size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1102,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1105,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1127,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1123,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1120,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1129,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1133,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1134,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/sample_descs.c:1135,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1137,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1138,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 34
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - _namespace
    - schema_loc
    - content_encoding
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1140
    functionName: gf_isom_new_xml_metadata_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_strdup
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_new_xml_metadata_description(GF_ISOFile *movie, u32
      trackNumber, const char *_namespace, const char *schema_loc, const char *content_encoding,
      u32 *outDescriptionIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1182,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/sample_descs.c:1188,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1191
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1191
    functionName: gf_isom_subtitle_get_mime
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_isom_subtitle_get_mime(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1296,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/sample_descs.c:1299,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - mime
    - encoding
    - config
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1317
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1317
    functionName: gf_isom_stxt_get_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_stxt_get_description(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex, const char **mime, const char **encoding,
      const char **config) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:679,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:682,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:693,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:689,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:686,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:696,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:698,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:700,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:702,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/sample_descs.c:705,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:708,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:711,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:712,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AC3Config*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 714
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 714
    functionName: gf_isom_ac3_config_new
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del
    - Media_CreateDataRef
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_ac3_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AC3Config *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/sample_descs.c:1779,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1808,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/sample_descs.c:1782,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/sample_descs.c:1812,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/sample_descs.c:1805,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/sample_descs.c:1814,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/sample_descs.c:1817,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/sample_descs.c:1818,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/sample_descs.c:1824,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/sample_descs.c:1836,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/sample_descs.c:1838,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 51
    argCount: 8
    argNames:
    - movie
    - trackNumber
    - URLname
    - URNname
    - outDescriptionIndex
    - dsi
    - dsi_size
    - mha_subtype
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - u32*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1841
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1841
    functionName: gf_isom_new_mpha_description
    functionSourceFile: /src/gpac/src/isomedia/sample_descs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_malloc
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_new_mpha_description(GF_ISOFile *movie, u32 trackNumber,
      const char *URLname, const char *URNname, u32 *outDescriptionIndex, u8 *dsi,
      u32 dsi_size, u32 mha_subtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: load_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void load_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:470,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:471,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:472,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:473,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:474,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:475,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: gmin_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gmin_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: clef_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void clef_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:780,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: gama_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gama_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: gmin_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gmin_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: gama_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gama_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:859,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:861,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: chan_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void chan_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:734,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:737,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 739
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 739
    functionName: fiel_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiel_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:290,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:294,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_apple.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: databox_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err databox_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_apple.c:574,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:577,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:578,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:580,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:579,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:581,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:582,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:583,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_apple.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: tmcd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_isom_box_array_read
    - gf_isom_base_sample_entry_read
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmcd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:823,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: chrm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chrm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 745
    functionName: fiel_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fiel_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: databox_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err databox_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:590,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_apple.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: tmcd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tmcd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: chrm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *chrm_box_new() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/box_code_apple.c:424,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/box_code_apple.c:428,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_apple.c:431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_apple.c:430,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_apple.c:424,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_code_apple.c:442,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/box_code_apple.c:445,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_apple.c:447,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:449,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_apple.c:453,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - mov
    - meta_type
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 457
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 457
    functionName: gf_isom_create_meta_extensions
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del
    - udta_on_child_box_ex
    - moov_on_child_box
    - udta_getEntry
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_create_meta_extensions(GF_ISOFile *mov, u32 meta_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:495,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:501,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:500,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:499,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:498,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:502,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: gmin_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gmin_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: gmin_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gmin_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:692,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:696,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:695,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:694,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:697,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:698,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:699,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:700,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:701,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:702,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_apple.c:704,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:705,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:707,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 710
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 710
    functionName: tcmi_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tcmi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: fiel_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void fiel_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:841,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: chrm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chrm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_apple.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 719
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 719
    functionName: tcmi_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tcmi_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: chrm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chrm_box_size(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/box_code_apple.c:395,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_apple.c:398,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_apple.c:399,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - mov
    - meta_type
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 410
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 410
    functionName: gf_isom_get_meta_extensions
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - udta_getEntry
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_get_meta_extensions(GF_ISOFile *mov, u32 meta_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: chrm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void chrm_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:203,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:219,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:218,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 223
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 223
    functionName: ilst_item_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_item_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: alis_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err alis_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_apple.c:235,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_apple.c:236,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_apple.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: ilst_item_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_item_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: alis_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *alis_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:70,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_apple.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ilst_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ilst_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:602,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:605,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:609,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:606,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:608,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:610,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:611,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:612,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 616
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 616
    functionName: tmcd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmcd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:798,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: gama_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gama_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: tmcd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmcd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: gama_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gama_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: gama_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gama_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_apple.c:1008,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:1010,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/box_code_apple.c:1009,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:1013,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:1011,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1015
    functionName: keys_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void keys_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: ilst_item_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ilst_item_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:985,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:989,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:988,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:990,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: load_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/box_code_apple.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_apple.c:116,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_apple.c:129,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_apple.c:151,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_apple.c:146,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:157,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:164,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:122,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_apple.c:116,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_apple.c:134,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_apple.c:154,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:161,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_apple.c:111,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:127,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_apple.c:135,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_apple.c:143,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:159,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:166,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:138,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:158,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:149,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 169
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 169
    functionName: ilst_item_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u16
    - gf_isom_box_new_parent
    - gf_bs_get_position
    - gf_isom_box_parse
    - gf_isom_box_array_read
    - gf_isom_box_del
    - GF_LOG
    - gf_isom_box_del_parent
    - gf_bs_seek
    - gf_bs_read_data
    - ISOM_DECREASE_SIZE
    - gf_bs_peek_bits
    - gf_4cc_to_str
    - gf_list_new
    - gf_isom_box_array_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_item_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: load_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: gmin_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gmin_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: ilst_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: alis_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err alis_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: wide_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void wide_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ilst_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: alis_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err alis_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:253,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: databox_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void databox_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_apple.c:566,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: tmcd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tmcd_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:1022,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1023,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1027,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1029,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:1026,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:1030,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:1031,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_apple.c:1033,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:1036,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:1038,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1042
    functionName: keys_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - ISOM_DECREASE_SIZE
    - GF_SAFEALLOC
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err keys_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: ilst_item_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ilst_item_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:262,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:263,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:267,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: databox_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err databox_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:642,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:647,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:644,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:645,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:646,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:648,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:649,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:650,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:651,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:652,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:664,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_apple.c:655,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:660,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:658,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_apple.c:653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 671
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 671
    functionName: tcmi_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tcmi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:920,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:924,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:926,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:929,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:925,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:930,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:931,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:932,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:933,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:936,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 939
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 939
    functionName: chan_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_float
    - gf_isom_full_box_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chan_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_apple.c:182,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_apple.c:185,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_apple.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: ilst_item_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_item_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: databox_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *databox_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: tcmi_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tcmi_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 949
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 949
    functionName: chan_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chan_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:1046,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_apple.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1049
    functionName: keys_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *keys_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_apple.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: wide_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wide_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:1059,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_apple.c:1064,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1065,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_apple.c:1061,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1062,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:1066,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:1068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1071
    functionName: keys_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err keys_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: wide_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *wide_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_apple.c:1079,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_apple.c:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1086
    functionName: keys_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err keys_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: wide_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wide_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:527,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:529,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: clef_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clef_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:631,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: tcmi_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tcmi_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: wide_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wide_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: clef_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *clef_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:964,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:965,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:968,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:966,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: load_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ilst_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ilst_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_apple.c:547,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:550,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: clef_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clef_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_apple.c:44,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_code_apple.c:46,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_apple.c:50,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_apple.c:54,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_apple.c:50,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:58,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_apple.c:59,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:61,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: ilst_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u32
    - gf_isom_box_del
    - GF_LOG
    - gf_isom_box_parse_ex
    - ISOM_DECREASE_SIZE
    - gf_bs_peek_bits
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: clef_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clef_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: load_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *load_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_apple.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: alis_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void alis_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_apple.c:754,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:757,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_apple.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 759
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 759
    functionName: fiel_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiel_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:870,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:878,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:872,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:873,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:871,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_apple.c:883,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:884,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_apple.c:885,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:886,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:887,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_apple.c:899,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_code_apple.c:888,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_apple.c:897,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_apple.c:893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 903
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 903
    functionName: chan_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_float
    - gf_bs_read_data
    - ISOM_DECREASE_SIZE
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chan_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: fiel_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiel_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_apple.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: chan_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_apple.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *chan_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:106,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:107,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:110,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:109,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:111,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:112,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:113,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_store.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - writers
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: CleanWriters
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void CleanWriters(GF_List *writers) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:157,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_store.c:178,1
    - Dst: gf_isom_get_track
      Src: /src/gpac/src/isomedia/isom_store.c:160,1
    - Dst: Media_SelfContainedType
      Src: /src/gpac/src/isomedia/isom_store.c:184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:165,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:203,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:206,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:208,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_store.c:218,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:222,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:225,1
    - Dst: gf_isom_box_array_del_parent
      Src: /src/gpac/src/isomedia/isom_store.c:231,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:227,1
    - Dst: CleanWriters
      Src: /src/gpac/src/isomedia/isom_store.c:238,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 3
    argNames:
    - mw
    - writers
    - interleaving
    argTypes:
    - MovieWriter*
    - GF_List*
    - u8
    constantsTouched: []
    func_position:
      end: 240
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 240
    functionName: SetupWriters
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - Media_IsSelfContained
    - gf_list_insert
    - Media_SelfContainedType
    - gf_list_count
    - GF_LOG
    - gf_isom_get_track
    - GF_SAFEALLOC
    - CleanWriters
    - gf_isom_box_array_del_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SetupWriters(MovieWriter *mw, GF_List *writers, u8 interleaving) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_store.c:281,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_store.c:303,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:300,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 6
    argNames:
    - stsc
    - mdia
    - _stco
    - offset
    - force_co64
    - new_stco
    argTypes:
    - GF_SampleToChunkBox*
    - GF_MediaBox*
    - GF_Box*
    - u64
    - Bool
    - GF_Box**
    constantsTouched: []
    func_position:
      end: 332
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 332
    functionName: shift_chunk_offsets
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - gf_isom_box_new
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err shift_chunk_offsets(GF_SampleToChunkBox *stsc, GF_MediaBox
      *mdia, GF_Box *_stco, u64 offset, Bool force_co64, GF_Box **new_stco) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/isom_store.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mw
    argTypes:
    - MovieWriter*
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: muxer_report_progress
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_set_progress
    linkageType: ''
    returnType: void
    signature: 'static void muxer_report_progress(MovieWriter *mw) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: store_meta_item_sample_ref_offsets
      Src: /src/gpac/src/isomedia/isom_store.c:803,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:812,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:822,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:816,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:828,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:832,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:839,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 3
    argNames:
    - movie
    - writers
    - meta
    argTypes:
    - GF_ISOFile*
    - GF_List*
    - GF_MetaBox*
    constantsTouched: []
    func_position:
      end: 847
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 847
    functionName: store_meta_item_references
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    - store_meta_item_sample_ref_offsets
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err store_meta_item_references(GF_ISOFile *movie, GF_List
      *writers, GF_MetaBox *meta) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1609,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/isom_store.c:1638,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/isom_store.c:1616,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/isom_store.c:1640,1
    - Dst: update_writer_constant_dur
      Src: /src/gpac/src/isomedia/isom_store.c:1643,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_store.c:1651,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1665,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1675,1
    - Dst: WriteSample
      Src: /src/gpac/src/isomedia/isom_store.c:1681,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:1696,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 5
    argNames:
    - mw
    - writers
    - bs
    - Emulation
    - StartOffset
    argTypes:
    - MovieWriter*
    - GF_List*
    - GF_BitStream*
    - u8
    - u64
    constantsTouched: []
    func_position:
      end: 1703
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1703
    functionName: DoFullInterleave
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - stbl_SetChunkAndOffset
    - gf_list_enum
    - gf_list_count
    - update_writer_constant_dur
    - stbl_GetSampleSize
    - stbl_GetSampleDTS
    - stbl_GetSampleInfos
    - WriteSample
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DoFullInterleave(MovieWriter *mw, GF_List *writers, GF_BitStream
      *bs, u8 Emulation, u64 StartOffset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:2144,1
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:2149,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:2158,1
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:2161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:2151,1
    - Dst: shift_chunk_offsets
      Src: /src/gpac/src/isomedia/isom_store.c:2166,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:2170,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:2171,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:2173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - movie
    - shift_offset
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2177
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2177
    functionName: inplace_shift_moov_meta_offsets
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - shift_chunk_offsets
    - gf_list_count
    - gf_isom_box_del
    - ShiftMetaOffset
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err inplace_shift_moov_meta_offsets(GF_ISOFile *movie, u32
      shift_offset) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2324,1
    - Dst: purge_free_boxes
      Src: /src/gpac/src/isomedia/isom_store.c:2333,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2371,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2410,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2412,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2416,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_store.c:2430,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2438,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2457,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2484,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2303,1
    - Dst: purge_free_boxes
      Src: /src/gpac/src/isomedia/isom_store.c:2337,1
    - Dst: inplace_shift_mdat
      Src: /src/gpac/src/isomedia/isom_store.c:2359,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2369,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2382,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2399,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2370,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:2388,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2411,1
    - Dst: write_free_box
      Src: /src/gpac/src/isomedia/isom_store.c:2493,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2426,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:2309,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2298,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2378,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:2413,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2431,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2449,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2492,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2293,1
    - Dst: store_meta_item_references
      Src: /src/gpac/src/isomedia/isom_store.c:2334,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2374,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2418,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2420,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2424,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2439,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_store.c:2441,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2451,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2488,1
    - Dst: inplace_shift_mdat
      Src: /src/gpac/src/isomedia/isom_store.c:2479,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 175
    argCount: 2
    argNames:
    - mw
    - bs
    argTypes:
    - MovieWriter*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2494
    functionName: WriteInplace
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - write_free_box
    - store_meta_item_references
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_get_size
    - purge_free_boxes
    - inplace_shift_mdat
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteInplace(MovieWriter *mw, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:40,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_store.c:44,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_store.c:47,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_store.c:45,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_store.c:50,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:51,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_store.c:52,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_store.c:52,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_store.c:53,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:59,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_store.c:62,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_store.c:63,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:65,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_store.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: gf_isom_insert_copyright
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_isom_box_new
    - memcmp
    - gf_list_enum
    - gf_strdup
    - gf_sys_is_test_mode
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_insert_copyright(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:123,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:130,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:138,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:133,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - writers
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: ResetWriters
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_new
    - gf_isom_box_del
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ResetWriters(GF_List *writers) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:249,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:256,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:251,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 2
    argNames:
    - meta
    - offset
    argTypes:
    - GF_MetaBox*
    - u64
    constantsTouched: []
    func_position:
      end: 268
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 268
    functionName: ShiftMetaOffset
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void ShiftMetaOffset(GF_MetaBox *meta, u64 offset) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:338,1
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:345,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:342,1
    - Dst: ShiftMetaOffset
      Src: /src/gpac/src/isomedia/isom_store.c:339,1
    - Dst: shift_chunk_offsets
      Src: /src/gpac/src/isomedia/isom_store.c:349,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:354,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - file
    - writers
    - offset
    argTypes:
    - GF_ISOFile*
    - GF_List*
    - u64
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: ShiftOffset
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_del
    - ShiftMetaOffset
    - shift_chunk_offsets
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ShiftOffset(GF_ISOFile *file, GF_List *writers, u64
      offset) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:874,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:865,1
    - Dst: gf_fsize
      Src: /src/gpac/src/isomedia/isom_store.c:901,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:912,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:982,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:991,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:875,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:869,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_store.c:908,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:944,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:939,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_store.c:977,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:979,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/isom_store.c:899,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/isom_store.c:933,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:960,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:946,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_store.c:963,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:965,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:989,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:907,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:910,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_store.c:942,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:935,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:976,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:984,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 146
    argCount: 6
    argNames:
    - file
    - meta
    - bs
    - Emulation
    - baseOffset
    - mdatSize
    argTypes:
    - GF_ISOFile*
    - GF_MetaBox*
    - GF_BitStream*
    - Bool
    - u64
    - u64*
    constantsTouched: []
    func_position:
      end: 1010
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 1010
    functionName: DoWriteMeta
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_fsize
    - gf_fread
    - gf_bs_write_data
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_fclose
    - gf_bs_read_data
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DoWriteMeta(GF_ISOFile *file, GF_MetaBox *meta, GF_BitStream
      *bs, Bool Emulation, u64 baseOffset, u64 *mdatSize) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: inplace_shift_moov_meta_offsets
      Src: /src/gpac/src/isomedia/isom_store.c:2203,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2216,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2235,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2233,1
    - Dst: muxer_report_progress
      Src: /src/gpac/src/isomedia/isom_store.c:2267,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2252,1
    - Dst: muxer_report_progress
      Src: /src/gpac/src/isomedia/isom_store.c:2241,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2249,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2256,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:2257,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2188,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2197,1
    - Dst: inplace_shift_moov_meta_offsets
      Src: /src/gpac/src/isomedia/isom_store.c:2224,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2232,1
    - Dst: write_blank_data
      Src: /src/gpac/src/isomedia/isom_store.c:2234,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2269,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2209,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_store.c:2250,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_store.c:2232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2260,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - mw
    - shift_offset
    - bs
    - moov_first
    argTypes:
    - MovieWriter*
    - u64*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 2272
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2272
    functionName: inplace_shift_mdat
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_isom_box_size
    - gf_bs_get_position
    - inplace_shift_moov_meta_offsets
    - gf_bs_write_data
    - write_blank_data
    - gf_bs_seek
    - muxer_report_progress
    - GF_LOG
    - gf_bs_get_size
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err inplace_shift_mdat(MovieWriter *mw, u64 *shift_offset,
      GF_BitStream *bs, Bool moov_first) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - cbk
    - data
    - block_size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2501
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2501
    functionName: isom_on_block_out
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err isom_on_block_out(void *cbk, u8 *data, u32 block_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1028,1
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1034,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1053,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1040,1
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1042,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/isom_store.c:1062,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/isom_store.c:1064,1
    - Dst: update_writer_constant_dur
      Src: /src/gpac/src/isomedia/isom_store.c:1067,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_store.c:1083,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1087,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1099,1
    - Dst: WriteSample
      Src: /src/gpac/src/isomedia/isom_store.c:1105,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 5
    argNames:
    - mw
    - writers
    - bs
    - Emulation
    - StartOffset
    argTypes:
    - MovieWriter*
    - GF_List*
    - GF_BitStream*
    - u8
    - u64
    constantsTouched: []
    func_position:
      end: 1121
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1121
    functionName: DoWrite
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - stbl_SetChunkAndOffset
    - gf_list_enum
    - update_writer_constant_dur
    - stbl_GetSampleSize
    - DoWriteMeta
    - stbl_GetSampleInfos
    - WriteSample
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DoWrite(MovieWriter *mw, GF_List *writers, GF_BitStream *bs,
      u8 Emulation, u64 StartOffset) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_store.c:622,1
    - Dst: gf_isom_datamap_get_data
      Src: /src/gpac/src/isomedia/isom_store.c:634,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:638,1
    - Dst: muxer_report_progress
      Src: /src/gpac/src/isomedia/isom_store.c:643,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - mw
    - size
    - offset
    - isEdited
    - bs
    - nb_samp
    argTypes:
    - MovieWriter*
    - u32
    - u64
    - u8
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 645
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 645
    functionName: WriteSample
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_bs_write_data
    - muxer_report_progress
    - gf_isom_datamap_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err WriteSample(MovieWriter *mw, u32 size, u64 offset, u8 isEdited,
      GF_BitStream *bs, u32 nb_samp) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_store.c:1734,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:1743,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/isomedia/isom_store.c:1830,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/isom_store.c:1851,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/isom_store.c:1866,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_store.c:1873,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1888,1
    - Dst: stbl_SetChunkAndOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1899,1
    - Dst: WriteSample
      Src: /src/gpac/src/isomedia/isom_store.c:1905,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_store.c:1736,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:1738,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:1745,1
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1760,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1766,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:1805,1
    - Dst: DoFullInterleave
      Src: /src/gpac/src/isomedia/isom_store.c:1778,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/isom_store.c:1869,1
    - Dst: update_writer_constant_dur
      Src: /src/gpac/src/isomedia/isom_store.c:1875,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:1942,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_store.c:1733,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:1740,1
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1753,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/isom_store.c:1858,1
    - Dst: DoWriteMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1768,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/isom_store.c:1827,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/isomedia/isom_store.c:1832,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:1791,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 162
    argCount: 6
    argNames:
    - mw
    - writers
    - bs
    - Emulation
    - StartOffset
    - drift_inter
    argTypes:
    - MovieWriter*
    - GF_List*
    - GF_BitStream*
    - u8
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 1948
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1948
    functionName: DoInterleave
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_bs_write_data
    - GF_LOG
    - stbl_GetSampleInfos
    - WriteSample
    - Media_IsSelfContained
    - gf_list_count
    - update_writer_constant_dur
    - DoWriteMeta
    - gf_list_get
    - stbl_SetChunkAndOffset
    - gf_list_enum
    - stbl_GetSampleSize
    - gf_free
    - gf_sys_old_arch_compat
    - stbl_GetSampleDTS_and_Duration
    - gf_timestamp_greater
    - DoFullInterleave
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DoInterleave(MovieWriter *mw, GF_List *writers, GF_BitStream
      *bs, u8 Emulation, u64 StartOffset, Bool drift_inter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:551,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:557,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:573,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:568,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:580,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_store.c:527,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:532,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:540,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:562,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_store.c:571,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:574,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:585,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:588,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:589,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:536,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:537,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:541,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:546,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:567,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/isomedia/isom_store.c:572,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:547,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:563,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:558,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:596,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - movie
    - writers
    argTypes:
    - GF_ISOFile*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 602
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 602
    functionName: GetMoovAndMetaSize
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_bs_get_content
    - gf_gz_compress_payload_ex
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_new
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: u64
    signature: 'u64 GetMoovAndMetaSize(GF_ISOFile *movie, GF_List *writers) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 6
    argNames:
    - movie
    - tkw
    - stsc_ent
    - nb_samp
    - samp_size
    - is_flat
    argTypes:
    - GF_ISOFile*
    - TrackWriter*
    - GF_StscEntry*
    - u32*
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 693
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 693
    functionName: update_writer_constant_dur
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void update_writer_constant_dur(GF_ISOFile *movie, TrackWriter *tkw,
      GF_StscEntry *stsc_ent, u32 *nb_samp, u32 *samp_size, Bool is_flat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_store.c:1955,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_store.c:1956,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_store.c:1956,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:1960,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:1963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1968
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1968
    functionName: write_blank_data
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - memset
    - gf_sys_is_test_mode
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err write_blank_data(GF_BitStream *bs, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1973,1
    - Dst: write_blank_data
      Src: /src/gpac/src/isomedia/isom_store.c:1975,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1976
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1976
    functionName: write_free_box
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - write_blank_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err write_free_box(GF_BitStream *bs, u32 size) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_flush_chunk
      Src: /src/gpac/src/isomedia/isom_store.c:2570,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2622,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:2668,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2682,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_store.c:2745,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_store.c:2755,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2634,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:2539,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_store.c:2576,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_store.c:2564,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_store.c:2595,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2608,1
    - Dst: WriteInterleaved
      Src: /src/gpac/src/isomedia/isom_store.c:2716,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_store.c:2532,1
    - Dst: WriteFlat
      Src: /src/gpac/src/isomedia/isom_store.c:2620,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:2753,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:2638,1
    - Dst: gf_bs_new_cbk
      Src: /src/gpac/src/isomedia/isom_store.c:2685,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:2639,1
    - Dst: WriteFlat
      Src: /src/gpac/src/isomedia/isom_store.c:2662,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:2540,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:2563,1
    - Dst: WriteFlat
      Src: /src/gpac/src/isomedia/isom_store.c:2589,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2627,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2741,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2578,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_store.c:2660,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:2746,1
    - Dst: muxer_report_progress
      Src: /src/gpac/src/isomedia/isom_store.c:2760,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/isom_store.c:2691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2585,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:2652,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/isom_store.c:2688,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:2757,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_store.c:2602,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:2614,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_store.c:2632,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_store.c:2667,1
    - Dst: WriteFlat
      Src: /src/gpac/src/isomedia/isom_store.c:2719,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:2732,1
    - Dst: WriteFlat
      Src: /src/gpac/src/isomedia/isom_store.c:2722,1
    - Dst: gf_isom_insert_copyright
      Src: /src/gpac/src/isomedia/isom_store.c:2514,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_store.c:2536,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_store.c:2552,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_store.c:2534,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_store.c:2543,1
    - Dst: gf_bs_new_cbk
      Src: /src/gpac/src/isomedia/isom_store.c:2588,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:2612,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2740,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:2730,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_store.c:2533,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2607,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_store.c:2694,1
    - Dst: WriteInplace
      Src: /src/gpac/src/isomedia/isom_store.c:2726,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_store.c:2680,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:2557,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2595,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:2655,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_store.c:2651,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:2636,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_store.c:2537,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/isom_store.c:2562,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_store.c:2705,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_store.c:2558,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2633,1
    - Dst: WriteInterleaved
      Src: /src/gpac/src/isomedia/isom_store.c:2713,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/isom_store.c:2698,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:2647,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2609,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_store.c:2517,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:2591,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:2672,1
    - Dst: gf_isom_is_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_store.c:2687,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2692,1
    - Dst: gf_bs_insert_data
      Src: /src/gpac/src/isomedia/isom_store.c:2670,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2616,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:2749,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2590,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_store.c:2600,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:2610,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/isom_store.c:2701,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:2535,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 223
    argCount: 2
    argNames:
    - movie
    - for_fragments
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 2763
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2763
    functionName: WriteToFile
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_isom_insert_copyright
    - gf_isom_box_new
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_bs_from_file
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - WriteInterleaved
    - gf_bs_new_cbk
    - strstr
    - gf_bs_del
    - gf_list_find
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_list_new
    - gf_bs_read_data
    - gf_fopen
    - WriteInplace
    - gf_list_insert
    - gf_bs_write_u64
    - gf_list_get
    - gf_bs_insert_data
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_new
    - gf_bs_write_u32
    - gf_sys_is_test_mode
    - gf_free
    - gf_bs_get_size
    - gf_bs_write_u8
    - gf_isom_flush_chunk
    - WriteFlat
    - muxer_report_progress
    - gf_list_rem
    - gf_fclose
    - gf_isom_is_inplace_rewrite
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err WriteToFile(GF_ISOFile *movie, Bool for_fragments) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:445,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:460,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:455,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:459,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:447,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:463,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:464,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/isom_store.c:471,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:474,1
    - Dst: gf_isom_write_compressed_box
      Src: /src/gpac/src/isomedia/isom_store.c:478,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:480,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/isom_store.c:484,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:501,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:490,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:496,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:502,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_store.c:478,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:497,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - movie
    - writers
    - bs
    argTypes:
    - GF_ISOFile*
    - GF_List*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 507
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 507
    functionName: WriteMoovAndMeta
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_isom_write_compressed_box
    - gf_isom_box_size
    - GF_4CC
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_prevent_dispatch
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteMoovAndMeta(GF_ISOFile *movie, GF_List *writers,
      GF_BitStream *bs) '
  - BBCount: 122
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1345,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1389,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1469,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1379,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1424,1
    - Dst: gf_isom_datamap_get_offset
      Src: /src/gpac/src/isomedia/isom_store.c:1230,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1259,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1251,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1296,1
    - Dst: ResetWriters
      Src: /src/gpac/src/isomedia/isom_store.c:1348,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:1430,1
    - Dst: UpdateOffsets
      Src: /src/gpac/src/isomedia/isom_store.c:1527,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1360,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_store.c:1217,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1235,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1257,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1249,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1343,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1358,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1236,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1243,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1290,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:1429,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1536,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1234,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1241,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:1346,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:1421,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1464,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1369,1
    - Dst: WriteMoovAndMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1532,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_store.c:1566,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1546,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1405,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1437,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1277,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1330,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1335,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_store.c:1505,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1512,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1381,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1466,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1218,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1285,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1312,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1477,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1484,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1534,1
    - Dst: CleanWriters
      Src: /src/gpac/src/isomedia/isom_store.c:1565,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_store.c:1212,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1267,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1305,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:1490,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1349,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1523,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_store.c:1219,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1355,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:1357,1
    - Dst: UpdateOffsets
      Src: /src/gpac/src/isomedia/isom_store.c:1392,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1471,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1428,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1420,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1287,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1298,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1541,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1449,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1426,1
    - Dst: SetupWriters
      Src: /src/gpac/src/isomedia/isom_store.c:1224,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1371,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1557,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1559,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1292,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1337,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1341,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1465,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1409,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1451,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1482,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1349,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:1523,1
    - Dst: ResetWriters
      Src: /src/gpac/src/isomedia/isom_store.c:1540,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_store.c:1368,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1411,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:1514,1
    - Dst: store_meta_item_references
      Src: /src/gpac/src/isomedia/isom_store.c:1397,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1475,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/isom_store.c:1356,1
    - Dst: WriteMoovAndMeta
      Src: /src/gpac/src/isomedia/isom_store.c:1400,1
    - Dst: DoWrite
      Src: /src/gpac/src/isomedia/isom_store.c:1358,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1272,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1286,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:1303,1
    CyclomaticComplexity: 195
    EdgeCount: 195
    ICount: 264
    argCount: 6
    argNames:
    - mw
    - moovFirst
    - bs
    - non_seekable
    - for_fragments
    - moov_bs
    argTypes:
    - MovieWriter*
    - u8
    - GF_BitStream*
    - Bool
    - Bool
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1568
    functionName: WriteFlat
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_isom_box_write
    - gf_bs_seek
    - gf_isom_datamap_get_offset
    - CleanWriters
    - store_meta_item_references
    - gf_list_del
    - gf_list_new
    - gf_bs_write_u64
    - SetupWriters
    - UpdateOffsets
    - gf_isom_box_size
    - gf_bs_get_position
    - gf_list_enum
    - ResetWriters
    - gf_bs_write_u32
    - gf_bs_get_size
    - WriteMoovAndMeta
    - DoWrite
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteFlat(MovieWriter *mw, u8 moovFirst, GF_BitStream
      *bs, Bool non_seekable, Bool for_fragments, GF_BitStream *moov_bs) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_store.c:1985,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1997,1
    - Dst: SetupWriters
      Src: /src/gpac/src/isomedia/isom_store.c:1990,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2000,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2006,1
    - Dst: DoInterleave
      Src: /src/gpac/src/isomedia/isom_store.c:2078,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2097,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_store.c:2104,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1996,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:1995,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2002,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2008,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2044,1
    - Dst: ResetWriters
      Src: /src/gpac/src/isomedia/isom_store.c:2077,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2012,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2042,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_store.c:2051,1
    - Dst: WriteMoovAndMeta
      Src: /src/gpac/src/isomedia/isom_store.c:2059,1
    - Dst: write_free_box
      Src: /src/gpac/src/isomedia/isom_store.c:2063,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2070,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2072,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:2014,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_store.c:2035,1
    - Dst: DoInterleave
      Src: /src/gpac/src/isomedia/isom_store.c:2051,1
    - Dst: UpdateOffsets
      Src: /src/gpac/src/isomedia/isom_store.c:2055,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:2020,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:2083,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_store.c:2095,1
    - Dst: CleanWriters
      Src: /src/gpac/src/isomedia/isom_store.c:2103,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 81
    argCount: 3
    argNames:
    - mw
    - bs
    - drift_inter
    argTypes:
    - MovieWriter*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 2106
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2106
    functionName: WriteInterleaved
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - SetupWriters
    - UpdateOffsets
    - gf_isom_box_size
    - strncmp
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_get_position
    - WriteMoovAndMeta
    - write_free_box
    - gf_list_del
    - ResetWriters
    - gf_bs_write_u32
    - gf_list_new
    - CleanWriters
    - DoInterleave
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteInterleaved(MovieWriter *mw, GF_BitStream *bs,
      Bool drift_inter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/isomedia/isom_store.c:388,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_store.c:387,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:394,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:396,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:401,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:402,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:404,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_store.c:398,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:425,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:427,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_store.c:371,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:375,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:393,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:395,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:405,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:398,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:412,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_store.c:414,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_store.c:429,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_store.c:372,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:399,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:392,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:400,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:397,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_store.c:408,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_store.c:413,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 5
    argNames:
    - mov
    - root_box
    - repl_type
    - bs
    - box_csize
    argTypes:
    - GF_ISOFile*
    - GF_Box*
    - u32
    - GF_BitStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 432
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 432
    functionName: gf_isom_write_compressed_box
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_gz_compress_payload_ex
    - gf_bs_del
    - GF_4CC
    - gf_isom_box_write
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_write_compressed_box(GF_ISOFile *mov, GF_Box *root_box,
      u32 repl_type, GF_BitStream *bs, u32 *box_csize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:2111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:2113,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_store.c:2115,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_store.c:2118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:2124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:2126,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_store.c:2128,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_store.c:2129,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_store.c:2130,1
    - Dst: purge_free_boxes
      Src: /src/gpac/src/isomedia/isom_store.c:2136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - par
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2138
    functionName: purge_free_boxes
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - gf_free
    - gf_isom_box_array_del
    - purge_free_boxes
    linkageType: ''
    returnType: void
    signature: 'void purge_free_boxes(GF_Box *par) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:718,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:723,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:719,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:729,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:788,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_store.c:760,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:733,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_store.c:746,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/isom_store.c:759,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:793,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:747,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:782,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_store.c:714,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:722,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_store.c:794,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_store.c:789,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/isom_store.c:759,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_store.c:756,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 3
    argNames:
    - movie
    - writers
    - meta
    argTypes:
    - GF_ISOFile*
    - GF_List*
    - GF_MetaBox*
    constantsTouched: []
    func_position:
      end: 798
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 798
    functionName: store_meta_item_sample_ref_offsets
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_isom_get_track_by_id
    - gf_list_get
    - gf_isom_get_sample_info
    - gf_list_enum
    - gf_list_count
    - gf_isom_sample_del
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err store_meta_item_sample_ref_offsets(GF_ISOFile *movie,
      GF_List *writers, GF_MetaBox *meta) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GetMoovAndMetaSize
      Src: /src/gpac/src/isomedia/isom_store.c:1138,1
    - Dst: ShiftOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1178,1
    - Dst: GetMoovAndMetaSize
      Src: /src/gpac/src/isomedia/isom_store.c:1163,1
    - Dst: ShiftOffset
      Src: /src/gpac/src/isomedia/isom_store.c:1154,1
    - Dst: store_meta_item_references
      Src: /src/gpac/src/isomedia/isom_store.c:1159,1
    - Dst: store_meta_item_references
      Src: /src/gpac/src/isomedia/isom_store.c:1183,1
    - Dst: GetMoovAndMetaSize
      Src: /src/gpac/src/isomedia/isom_store.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_store.c:1196,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 4
    argNames:
    - movie
    - writers
    - use_pad
    - offset_mdat
    argTypes:
    - GF_ISOFile*
    - GF_List*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1202
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1202
    functionName: UpdateOffsets
    functionSourceFile: /src/gpac/src/isomedia/isom_store.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - store_meta_item_references
    - ShiftOffset
    - GetMoovAndMetaSize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err UpdateOffsets(GF_ISOFile *movie, GF_List *writers, Bool
      use_pad, Bool offset_mdat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - moov
    - TrackID
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: GetTrackbyID
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_TrackBox*
    signature: 'GF_TrackBox *GetTrackbyID(GF_MovieBox *moov, GF_ISOTrackID TrackID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track
      Src: /src/gpac/src/isomedia/track.c:319,1
    - Dst: GetESD
      Src: /src/gpac/src/isomedia/track.c:324,1
    - Dst: Media_GetSampleDescIndex
      Src: /src/gpac/src/isomedia/track.c:322,1
    - Dst: gf_isom_get_tracknum_from_id
      Src: /src/gpac/src/isomedia/track.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - moov
    - trackID
    - CTS
    - outESD
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    - u64
    - GF_ESD**
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: GetESDForTime
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - GetESD
    - Media_GetSampleDescIndex
    - gf_isom_get_tracknum_from_id
    - gf_isom_get_track
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetESDForTime(GF_MovieBox *moov, GF_ISOTrackID trackID, u64
      CTS, GF_ESD **outESD) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/track.c:134,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:174,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:138,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/track.c:249,1
    - Dst: gf_isom_get_tracknum_from_id
      Src: /src/gpac/src/isomedia/track.c:78,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/track.c:85,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/track.c:214,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/track.c:89,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:116,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/isomedia/track.c:213,1
    - Dst: gf_isom_get_rvc_config
      Src: /src/gpac/src/isomedia/track.c:205,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/track.c:190,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:280,1
    - Dst: gf_isom_get_track
      Src: /src/gpac/src/isomedia/track.c:82,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:100,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/track.c:118,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:119,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:129,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/track.c:211,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/track.c:210,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/track.c:152,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:248,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/track.c:256,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 155
    argCount: 4
    argNames:
    - moov
    - trackID
    - StreamDescIndex
    - outESD
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    - u32
    - GF_ESD**
    constantsTouched: []
    func_position:
      end: 287
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 287
    functionName: GetESD
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_tracknum_from_id
    - Track_FindRef
    - gf_isom_box_new_parent
    - gf_list_enum
    - gf_gz_decompress_payload_ex
    - strcmp
    - Media_GetSampleDesc
    - gf_isom_get_track
    - gf_odf_desc_new
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - gf_free
    - gf_isom_get_track_from_id
    - Media_GetESD
    - gf_isom_get_rvc_config
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetESD(GF_MovieBox *moov, GF_ISOTrackID trackID, u32 StreamDescIndex,
      GF_ESD **outESD) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 8
    argCount: 1
    argNames:
    - HandlerType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: Track_IsMPEG4Stream
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool Track_IsMPEG4Stream(u32 HandlerType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTrackDurationEx
      Src: /src/gpac/src/isomedia/track.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: SetTrackDuration
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - SetTrackDurationEx
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SetTrackDuration(GF_TrackBox *trak) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:431,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - traf
    - sample_index
    argTypes:
    - GF_TrackFragmentBox*
    - u32
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: traf_get_sample_entry
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_get
    linkageType: ''
    returnType: GF_TrunEntry*
    signature: 'GF_TrunEntry *traf_get_sample_entry(GF_TrackFragmentBox *traf, u32
      sample_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:1335,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/track.c:1337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - moov
    - TrackID
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 1342
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1342
    functionName: RequestTrack
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_set_last_error
    linkageType: ''
    returnType: u8
    signature: 'u8 RequestTrack(GF_MovieBox *moov, GF_ISOTrackID TrackID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - moov
    - trackID
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: gf_isom_get_tracknum_from_id
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_get_tracknum_from_id(GF_MovieBox *moov, GF_ISOTrackID
      trackID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - moov
    - trackNumber
    argTypes:
    - GF_MovieBox*
    - u32
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: gf_isom_get_track
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_TrackBox*
    signature: 'GF_TrackBox *gf_isom_get_track(GF_MovieBox *moov, u32 trackNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - trak
    - ReferenceType
    - dpnd
    argTypes:
    - GF_TrackBox*
    - u32
    - GF_TrackReferenceTypeBox**
    constantsTouched: []
    func_position:
      end: 348
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 348
    functionName: Track_FindRef
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Track_FindRef(GF_TrackBox *trak, u32 ReferenceType, GF_TrackReferenceTypeBox
      **dpnd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/track.c:385,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:400,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/track.c:412,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/track.c:411,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - trak
    - keep_utc
    argTypes:
    - GF_TrackBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 414
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 414
    functionName: SetTrackDurationEx
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_get_mp4time
    - gf_sys_is_test_mode
    - Media_SetDuration
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SetTrackDurationEx(GF_TrackBox *trak, Bool keep_utc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:452,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - traf
    - sample_idx
    argTypes:
    - GF_TrackFragmentBox*
    - u32
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: saio_get_index
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 saio_get_index(GF_TrackFragmentBox *traf, u32 sample_idx) '
  - BBCount: 167
    BranchProfiles: []
    Callsites:
    - Dst: GF_ISOM_GET_FRAG_REDUNDANT
      Src: /src/gpac/src/isomedia/track.c:876,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:923,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/track.c:971,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:994,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/track.c:998,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/track.c:1020,1
    - Dst: gf_isom_cenc_merge_saiz_saio
      Src: /src/gpac/src/isomedia/track.c:1186,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:1212,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/isomedia/track.c:1225,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1234,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1232,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/track.c:1203,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:617,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/track.c:890,1
    - Dst: stbl_AppendCTSOffset
      Src: /src/gpac/src/isomedia/track.c:857,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:922,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:953,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:954,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/track.c:1014,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/track.c:1015,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1045,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/track.c:1051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1247,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:914,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:511,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:612,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/track.c:645,1
    - Dst: GF_ISOM_GET_FRAG_PAD
      Src: /src/gpac/src/isomedia/track.c:866,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/isomedia/track.c:1063,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/track.c:1295,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/track.c:1298,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/track.c:1288,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/track.c:646,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDED
      Src: /src/gpac/src/isomedia/track.c:876,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:519,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:619,1
    - Dst: stbl_AppendPadding
      Src: /src/gpac/src/isomedia/track.c:868,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:944,1
    - Dst: gf_isom_is_identical_sgpd
      Src: /src/gpac/src/isomedia/track.c:955,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/track.c:1252,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/track.c:1312,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:693,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:979,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/track.c:1169,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/track.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1262,1
    - Dst: gf_isom_push_mdat_end
      Src: /src/gpac/src/isomedia/track.c:1317,1
    - Dst: stbl_AppendRAP
      Src: /src/gpac/src/isomedia/track.c:864,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/track.c:608,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/track.c:595,1
    - Dst: gf_isom_box_freeze_order
      Src: /src/gpac/src/isomedia/track.c:606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:724,1
    - Dst: stbl_AppendTrafMap
      Src: /src/gpac/src/isomedia/track.c:842,1
    - Dst: stbl_AppendDegradation
      Src: /src/gpac/src/isomedia/track.c:873,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:930,1
    - Dst: sgpd_del_entry
      Src: /src/gpac/src/isomedia/track.c:960,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1072,1
    - Dst: gf_isom_get_sample_cenc_info_internal
      Src: /src/gpac/src/isomedia/track.c:1166,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:586,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:616,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:917,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:950,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1261,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/track.c:1297,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:1224,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/track.c:1197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1252,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/track.c:860,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/track.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:681,1
    - Dst: stbl_AppendSampleToChunk
      Src: /src/gpac/src/isomedia/track.c:834,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/track.c:642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:568,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:621,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:629,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/track.c:634,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:509,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:517,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:618,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/track.c:637,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:830,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDS
      Src: /src/gpac/src/isomedia/track.c:876,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1246,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/track.c:1289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:924,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:564,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/track.c:638,1
    - Dst: GF_ISOM_GET_FRAG_DEG
      Src: /src/gpac/src/isomedia/track.c:871,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:822,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:966,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:977,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1146,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/track.c:1262,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:775,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/track.c:649,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/track.c:651,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/track.c:945,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:949,1
    - Dst: gf_isom_create_samp_enc_box
      Src: /src/gpac/src/isomedia/track.c:1091,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1267,1
    - Dst: saio_get_index
      Src: /src/gpac/src/isomedia/track.c:1154,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/track.c:1267,1
    - Dst: GF_ISOM_GET_FRAG_LEAD
      Src: /src/gpac/src/isomedia/track.c:876,1
    - Dst: stbl_AppendSize
      Src: /src/gpac/src/isomedia/track.c:770,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:931,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:719,1
    - Dst: stbl_AppendChunk
      Src: /src/gpac/src/isomedia/track.c:826,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:613,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/track.c:1019,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:1098,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1114,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1131,1
    - Dst: gf_isom_add_sample_aux_info_internal
      Src: /src/gpac/src/isomedia/track.c:1300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1284,1
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/track.c:1220,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:512,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:614,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/track.c:633,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:967,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:983,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:989,1
    - Dst: gf_isom_get_tracknum_from_id
      Src: /src/gpac/src/isomedia/track.c:1062,1
    - Dst: gf_isom_cenc_has_saiz_saio_traf
      Src: /src/gpac/src/isomedia/track.c:1103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1132,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/isomedia/track.c:598,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:678,1
    - Dst: stbl_AppendDependencyType
      Src: /src/gpac/src/isomedia/track.c:876,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/track.c:932,1
    - Dst: gf_isom_is_identical_sgpd
      Src: /src/gpac/src/isomedia/track.c:940,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/track.c:1031,1
    - Dst: gf_isom_create_piff_psec_box
      Src: /src/gpac/src/isomedia/track.c:1089,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:1094,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1122,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1138,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/track.c:652,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/track.c:532,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/track.c:588,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:625,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/track.c:648,1
    - Dst: traf_get_sample_entry
      Src: /src/gpac/src/isomedia/track.c:722,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/track.c:1201,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/track.c:1206,1
    - Dst: saio_get_index
      Src: /src/gpac/src/isomedia/track.c:1275,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/track.c:1277,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/track.c:1204,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/track.c:1208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1302,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:766,1
    - Dst: stbl_AppendTime
      Src: /src/gpac/src/isomedia/track.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:512,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:589,1
    - Dst: gf_isom_box_array_reset_parent
      Src: /src/gpac/src/isomedia/track.c:615,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/track.c:933,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/track.c:1056,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/src/isomedia/track.c:1068,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1071,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:1097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/track.c:1277,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/track.c:1302,1
    CyclomaticComplexity: 277
    EdgeCount: 277
    ICount: 739
    argCount: 6
    argNames:
    - trak
    - traf
    - moof_box
    - moof_offset
    - compressed_diff
    - cumulated_offset
    argTypes:
    - GF_TrackBox*
    - GF_TrackFragmentBox*
    - GF_MovieFragmentBox*
    - u64
    - s32
    - u64*
    constantsTouched: []
    func_position:
      end: 1321
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 1321
    functionName: MergeTrack
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - GF_ISOM_GET_FRAG_DEPENDED
    - gf_isom_get_tracknum_from_id
    - gf_isom_box_new_parent
    - gf_isom_box_write
    - GF_LOG
    - traf_get_sample_entry
    - gf_bs_seek
    - gf_isom_clone_box
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - stbl_AppendTrafMap
    - gf_isom_is_identical_sgpd
    - gf_list_last
    - gf_isom_box_freeze_order
    - gf_bs_del
    - stbl_AppendRAP
    - gf_isom_get_sample_cenc_info_internal
    - gf_error_to_string
    - gf_list_count
    - gf_isom_box_del_parent
    - stbl_AppendTime
    - gf_isom_cenc_has_saiz_saio_traf
    - saio_get_index
    - GF_ISOM_GET_FRAG_REDUNDANT
    - gf_isom_create_samp_enc_box
    - stbl_AppendPadding
    - stbl_AppendCTSOffset
    - gf_list_new
    - gf_list_del_item
    - GF_ISOM_GET_FRAG_SYNC
    - GF_ISOM_GET_FRAG_DEPENDS
    - gf_isom_create_piff_psec_box
    - gf_isom_cenc_merge_saiz_saio
    - gf_bs_read_data
    - gf_isom_box_array_reset_parent
    - gf_isom_get_cenc_info
    - gf_list_get
    - stbl_AppendSampleToChunk
    - senc_Parse
    - gf_isom_box_size
    - gf_isom_add_sample_aux_info_internal
    - gf_bs_get_position
    - gf_list_enum
    - stbl_AppendDegradation
    - gf_bs_new
    - sgpd_del_entry
    - stbl_AppendDependencyType
    - memcpy
    - gf_isom_is_cenc_media
    - gf_free
    - gf_isom_push_mdat_end
    - stbl_AppendChunk
    - GF_ISOM_GET_FRAG_LEAD
    - gf_list_transfer
    - gf_realloc
    - gf_isom_box_del
    - stbl_AppendSize
    - gf_list_rem
    - GF_ISOM_GET_FRAG_DEG
    - GF_ISOM_GET_FRAG_PAD
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err MergeTrack(GF_TrackBox *trak, GF_TrackFragmentBox *traf, GF_MovieFragmentBox
      *moof_box, u64 moof_offset, s32 compressed_diff, u64 *cumulated_offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/track.c:1353,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:1355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - trak
    - ReferenceType
    argTypes:
    - GF_TrackBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1360
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1360
    functionName: Track_RemoveRef
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_del_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Track_RemoveRef(GF_TrackBox *trak, u32 ReferenceType) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: mdia_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1393,1
    - Dst: mdia_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1399,1
    - Dst: minf_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1411,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1419,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1472,1
    - Dst: minf_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1497,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/track.c:1504,1
    - Dst: minf_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1519,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1533,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1463,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1391,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1397,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1427,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1423,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1431,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1508,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1529,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1537,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1545,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:1551,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1523,1
    - Dst: mdia_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1405,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1476,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1480,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1485,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1467,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:1494,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:1495,1
    - Dst: dinf_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1510,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:1554,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1489,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/track.c:1552,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1387,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1403,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1409,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1435,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1443,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1451,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1439,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1447,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1455,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1459,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1541,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1516,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 188
    argCount: 3
    argNames:
    - mdia
    - MediaType
    - TimeScale
    argTypes:
    - GF_MediaBox**
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1558
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1558
    functionName: NewMedia
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_box_new_parent
    - gf_strdup
    - mdia_on_child_box
    - gf_isom_box_del_parent
    - minf_on_child_box
    - dinf_on_child_box
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err NewMedia(GF_MediaBox **mdia, u32 MediaType, u32 TimeScale) '
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:1602,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1740,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1748,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/track.c:1751,1
    - Dst: AVC_HEVC_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1768,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1788,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1841,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1797,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1793,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/track.c:1836,1
    - Dst: stsd_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1839,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1807,1
    - Dst: Track_IsMPEG4Stream
      Src: /src/gpac/src/isomedia/track.c:1574,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/track.c:1591,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/track.c:1609,1
    - Dst: Track_RemoveRef
      Src: /src/gpac/src/isomedia/track.c:1612,1
    - Dst: Track_RemoveRef
      Src: /src/gpac/src/isomedia/track.c:1626,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/track.c:1623,1
    - Dst: AVC_HEVC_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1720,1
    - Dst: LSR_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1724,1
    - Dst: AVC_HEVC_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1763,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1771,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1776,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1800,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/track.c:1745,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1790,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1809,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1804,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1607,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:1635,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1639,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/track.c:1671,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1697,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1766,1
    - Dst: AVC_HEVC_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1773,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1778,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1802,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1827,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/track.c:1837,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1826,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1735,1
    - Dst: LSR_UpdateESD
      Src: /src/gpac/src/isomedia/track.c:1823,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1821,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1812,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/track.c:1580,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1589,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:1598,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/track.c:1617,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/track.c:1675,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/track.c:1620,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1664,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/track.c:1642,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1681,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/track.c:1687,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/track.c:1761,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 240
    argCount: 5
    argNames:
    - trak
    - StreamDescriptionIndex
    - DataReferenceIndex
    - esd
    - outStreamIndex
    argTypes:
    - GF_TrackBox*
    - u32
    - u32
    - GF_ESD*
    - u32*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1844
    functionName: Track_SetStreamDescriptor
    functionSourceFile: /src/gpac/src/isomedia/track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - Track_IsMPEG4Stream
    - gf_list_get
    - trak_on_child_box
    - reftype_AddRefTrack
    - Track_FindRef
    - gf_isom_box_new_parent
    - Track_RemoveRef
    - gf_list_count
    - gf_list_new
    - LSR_UpdateESD
    - stsd_on_child_box
    - gf_odf_desc_new
    - gf_odf_desc_del
    - gf_isom_box_find_child
    - Media_GetESD
    - AVC_HEVC_UpdateESD
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Track_SetStreamDescriptor(GF_TrackBox *trak, u32 StreamDescriptionIndex,
      u32 DataReferenceIndex, GF_ESD *esd, u32 *outStreamIndex) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:688,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_read.c:692,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:729,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:762,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_read.c:671,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_read.c:684,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_read.c:703,1
    - Dst: GetESDForTime
      Src: /src/gpac/src/isomedia/isom_read.c:728,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:727,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:764,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:691,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_read.c:700,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:704,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:732,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:731,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:736,1
    - Dst: GetESDForTime
      Src: /src/gpac/src/isomedia/isom_read.c:763,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:683,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:680,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:708,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_read.c:707,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:766,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:767,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:771,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 774
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 774
    functionName: gf_isom_get_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GetESDForTime
    - gf_malloc
    - gf_list_add
    - memset
    - gf_list_del
    - gf_list_enum
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Descriptor *gf_isom_get_root_od(GF_ISOFile *movie) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1488,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1486,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - mov
    - Index
    - threeCharCode
    - notice
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1492
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1492
    functionName: gf_isom_get_copyright
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_copyright(GF_ISOFile *mov, u32 Index,
      const char **threeCharCode, const char **notice) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2002,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/isom_read.c:2008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2010
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2010
    functionName: gf_isom_get_sample_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleSize
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_size(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample_info_ex
      Src: /src/gpac/src/isomedia/isom_read.c:2127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - sampleDescriptionIndex
    - data_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2128
    functionName: gf_isom_get_sample_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_info_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_get_sample_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u32 *sampleDescriptionIndex, u64 *data_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2542,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2547
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2547
    functionName: gf_isom_get_edits_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_edits_count(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2691,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2700
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2700
    functionName: gf_isom_get_udta_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_udta_count(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - movie
    - current_top_box_offset
    argTypes:
    - GF_ISOFile*
    - u64*
    constantsTouched: []
    func_position:
      end: 3174
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3174
    functionName: gf_isom_get_current_top_box_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_current_top_box_offset(GF_ISOFile *movie,
      u64 *current_top_box_offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5819,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/isom_read.c:5824,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5826,1
    - Dst: gf_isom_get_sample_group_info_entry
      Src: /src/gpac/src/isomedia/isom_read.c:5830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - trackNumber
    - ptr
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_OperatingPointsInformation**
    constantsTouched: []
    func_position:
      end: 5833
      start: 5815
    functionDepth: 0
    functionLinenumber: 5815
    functionLinenumberEnd: 5833
    functionName: gf_isom_get_oinf_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference
    - gf_isom_get_sample_group_info_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_oinf_info(GF_ISOFile *file, u32 trackNumber,
      GF_OperatingPointsInformation **ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2019
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2019
    functionName: gf_isom_get_max_sample_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_max_sample_size(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2711,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:2722,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2719,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:2720,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - udta_idx
    - UserDataType
    - UUID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - bin128*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2724
    functionName: gf_isom_get_udta_type
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - memcpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_udta_type(GF_ISOFile *movie, u32 trackNumber,
      u32 udta_idx, u32 *UserDataType, bin128 *UUID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - movie
    - bytes_removed
    argTypes:
    - GF_ISOFile*
    - u64
    constantsTouched: []
    func_position:
      end: 3182
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3182
    functionName: gf_isom_set_removed_bytes
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_removed_bytes(GF_ISOFile *movie, u64
      bytes_removed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - byte_offset
    argTypes:
    - GF_ISOFile*
    - s64
    constantsTouched: []
    func_position:
      end: 5841
      start: 5835
    functionDepth: 0
    functionLinenumber: 5835
    functionLinenumberEnd: 5841
    functionName: gf_isom_set_byte_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_byte_offset(GF_ISOFile *file, s64 byte_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - movie
    - start
    - end
    argTypes:
    - GF_ISOFile*
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 6015
      start: 6008
    functionDepth: 0
    functionLinenumber: 6008
    functionLinenumberEnd: 6015
    functionName: gf_isom_get_root_sidx_offsets
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_root_sidx_offsets(GF_ISOFile *movie, u64
      *start, u64 *end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6028,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6030,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:6036,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:6034,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/isom_read.c:6035,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:6037,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - sampleDesc
    - out_dsi
    - out_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 6042
      start: 6020
    functionDepth: 0
    functionLinenumber: 6020
    functionLinenumberEnd: 6042
    functionName: gf_isom_get_jp2_config
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_bs_new
    - gf_isom_box_array_write
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_jp2_config(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleDesc, u8 **out_dsi, u32 *out_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6260,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 78
    argCount: 9
    argNames:
    - movie
    - trackNumber
    - chunk_num
    - chunk_offset
    - first_sample_num
    - sample_per_chunk
    - sample_desc_idx
    - cache_1
    - cache_2
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 6328
      start: 6250
    functionDepth: 0
    functionLinenumber: 6250
    functionLinenumberEnd: 6328
    functionName: gf_isom_get_chunk_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_chunk_info(GF_ISOFile *movie, u32 trackNumber,
      u32 chunk_num, u64 *chunk_offset, u32 *first_sample_num, u32 *sample_per_chunk,
      u32 *sample_desc_idx, u32 *cache_1, u32 *cache_2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_read.c:6644,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_read.c:6646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - the_file
    - new_file
    argTypes:
    - GF_ISOFile*
    - char*
    constantsTouched: []
    func_position:
      end: 6647
      start: 6639
    functionDepth: 0
    functionLinenumber: 6639
    functionLinenumberEnd: 6647
    functionName: gf_isom_switch_source
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_del
    - gf_isom_datamap_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_switch_source(GF_ISOFile *the_file, const
      char *new_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - movie
    - disable
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: gf_isom_disable_odf_conversion
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_disable_odf_conversion(GF_ISOFile *movie, Bool
      disable) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2506,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:2522,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:2507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - mediaOffset
    argTypes:
    - GF_ISOFile*
    - u32
    - s64*
    constantsTouched: []
    func_position:
      end: 2534
      start: 2495
    functionDepth: 0
    functionLinenumber: 2495
    functionLinenumberEnd: 2534
    functionName: gf_isom_get_edit_list_type
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_edit_list_type(GF_ISOFile *the_file, u32
      trackNumber, s64 *mediaOffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 6248
      start: 6232
    functionDepth: 0
    functionLinenumber: 6232
    functionLinenumberEnd: 6248
    functionName: gf_isom_get_chunk_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_chunk_count(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:844,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - file
    - brand
    - version
    argTypes:
    - GF_ISOFile*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 856
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 856
    functionName: gf_isom_has_segment
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_segment(GF_ISOFile *file, u32 *brand, u32
      *version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:895,1
    - Dst: gf_isom_get_moof
      Src: /src/gpac/src/isomedia/isom_read.c:896,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - file
    - moof_index
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: gf_isom_segment_get_track_fragment_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_moof
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_segment_get_track_fragment_count(GF_ISOFile
      *file, u32 moof_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: gf_isom_is_track_enabled
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_isom_is_track_enabled(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1074,1
    - Dst: SetTrackDurationEx
      Src: /src/gpac/src/isomedia/isom_read.c:1080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1084
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1084
    functionName: gf_isom_get_track_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - SetTrackDurationEx
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_track_duration(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2619
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2619
    functionName: gf_isom_get_sync_point_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sync_point_count(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_get_subsample_entry
      Src: /src/gpac/src/isomedia/isom_read.c:4913,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4917,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 9
    argNames:
    - movie
    - track
    - sampleNumber
    - flags
    - subSampleNumber
    - size
    - priority
    - reserved
    - discardable
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32*
    - u8*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4923
      start: 4908
    functionDepth: 0
    functionLinenumber: 4908
    functionLinenumberEnd: 4923
    functionName: gf_isom_sample_get_subsample
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_sample_get_subsample_entry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sample_get_subsample(GF_ISOFile *movie, u32
      track, u32 sampleNumber, u32 flags, u32 subSampleNumber, u32 *size, u8 *priority,
      u32 *reserved, Bool *discardable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5480
      start: 5475
    functionDepth: 0
    functionLinenumber: 5475
    functionLinenumberEnd: 5480
    functionName: gf_isom_has_keep_utc_times
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_keep_utc_times(GF_ISOFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 6168
      start: 6158
    functionDepth: 0
    functionLinenumber: 6158
    functionLinenumberEnd: 6168
    functionName: gf_isom_get_tfrf
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: void*
    signature: 'const void *gf_isom_get_tfrf(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:864,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 872
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 872
    functionName: gf_isom_segment_get_fragment_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_segment_get_fragment_count(GF_ISOFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:909,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:911,1
    - Dst: gf_isom_get_moof
      Src: /src/gpac/src/isomedia/isom_read.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - file
    - moof_index
    - traf_index
    - decode_time
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 919
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 919
    functionName: gf_isom_segment_get_track_fragment_decode_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_moof
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_segment_get_track_fragment_decode_time(GF_ISOFile
      *file, u32 moof_index, u32 traf_index, u64 *decode_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1065
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1065
    functionName: gf_isom_get_track_flags
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_track_flags(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1093
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1093
    functionName: gf_isom_get_track_duration_orig
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_track_duration_orig(GF_ISOFile *movie, u32
      trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 4
    argNames:
    - movie
    - brand
    - minorVersion
    - AlternateBrandsCount
    argTypes:
    - GF_ISOFile*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2637
    functionName: gf_isom_get_brand_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_brand_info(GF_ISOFile *movie, u32 *brand,
      u32 *minorVersion, u32 *AlternateBrandsCount) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4934,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4938,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4942,1
    - Dst: gf_isom_extract_meta_item_mem
      Src: /src/gpac/src/isomedia/isom_read.c:4948,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 7
    argNames:
    - movie
    - track
    - sampleDescriptionIndex
    - rvc_predefined
    - data
    - size
    - mime
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u16*
    - u8**
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 4951
      start: 4925
    functionDepth: 0
    functionLinenumber: 4925
    functionLinenumberEnd: 4951
    functionName: gf_isom_get_rvc_config
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_isom_extract_meta_item_mem
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_rvc_config(GF_ISOFile *movie, u32 track,
      u32 sampleDescriptionIndex, u16 *rvc_predefined, u8 **data, u32 *size, const
      char **mime) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5491,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5503
      start: 5484
    functionDepth: 0
    functionLinenumber: 5484
    functionLinenumberEnd: 5503
    functionName: gf_isom_get_pssh_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_pssh_count(GF_ISOFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5520,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:5526,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:5531,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:5527,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:5529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - file
    - pssh_index
    - pssh_data
    - pssh_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5533
      start: 5513
    functionDepth: 0
    functionLinenumber: 5513
    functionLinenumberEnd: 5533
    functionName: gf_isom_get_pssh
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_pssh(GF_ISOFile *file, u32 pssh_index, u8 **pssh_data,
      u32 *pssh_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:111,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_ISOSample**
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: gf_isom_sample_del
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_sample_del(GF_ISOSample **samp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - movie
    - segments_only
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 5359
      start: 5343
    functionDepth: 0
    functionLinenumber: 5343
    functionLinenumberEnd: 5359
    functionName: gf_isom_get_fragments_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_fragments_count(GF_ISOFile *movie, Bool
      segments_only) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_read.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: gf_isom_sample_new
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_sample_new() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_movie
      Src: /src/gpac/src/isomedia/isom_read.c:440,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_read.c:461,1
    - Dst: isom_create_init_from_mem
      Src: /src/gpac/src/isomedia/isom_read.c:455,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:443,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:452,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_read.c:463,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:469,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/isom_read.c:470,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:472,1
    - Dst: gf_isom_parse_movie_boxes
      Src: /src/gpac/src/isomedia/isom_read.c:474,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_read.c:488,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_read.c:484,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 7
    argNames:
    - fileName
    - start_range
    - end_range
    - enable_frag_bounds
    - the_file
    - BytesMissing
    - outBoxType
    argTypes:
    - char*
    - u64
    - u64
    - Bool
    - GF_ISOFile**
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 495
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 495
    functionName: gf_isom_open_progressive_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_parse_movie_boxes
    - gf_bs_truncate
    - gf_isom_new_movie
    - strncmp
    - gf_strdup
    - gf_isom_delete_movie
    - gf_bs_seek
    - isom_create_init_from_mem
    - gf_isom_datamap_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_open_progressive_ex(const char *fileName,
      u64 start_range, u64 end_range, Bool enable_frag_bounds, GF_ISOFile **the_file,
      u64 *BytesMissing, u32 *outBoxType) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_open_file
      Src: /src/gpac/src/isomedia/isom_read.c:531,1
    - Dst: gf_isom_open_file
      Src: /src/gpac/src/isomedia/isom_read.c:542,1
    - Dst: gf_isom_create_movie
      Src: /src/gpac/src/isomedia/isom_read.c:537,1
    - Dst: gf_isom_create_movie
      Src: /src/gpac/src/isomedia/isom_read.c:545,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 3
    argNames:
    - fileName
    - OpenMode
    - tmp_dir
    argTypes:
    - char*
    - GF_ISOOpenMode
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 554
    functionName: gf_isom_open
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_create_movie
    - gf_isom_open_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOFile *gf_isom_open(const char *fileName, GF_ISOOpenMode
      OpenMode, const char *tmp_dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 834
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 834
    functionName: gf_isom_has_movie
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_movie(GF_ISOFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2024,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2032
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2032
    functionName: gf_isom_get_avg_sample_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_avg_sample_size(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2977,1
    - Dst: GF_ISOM_GET_FRAG_PAD
      Src: /src/gpac/src/isomedia/isom_read.c:2990,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/isom_read.c:2982,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_read.c:2982,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/isom_read.c:2989,1
    - Dst: GF_ISOM_GET_FRAG_DEG
      Src: /src/gpac/src/isomedia/isom_read.c:2991,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 93
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - defaultDuration
    - defaultSize
    - defaultDescriptionIndex
    - defaultRandomAccess
    - defaultPadding
    - defaultDegradationPriority
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u8*
    - u16*
    constantsTouched: []
    func_position:
      end: 3076
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 3076
    functionName: gf_isom_get_fragment_defaults
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - gf_isom_get_track_id
    - GetTrex
    - GF_ISOM_GET_FRAG_DEG
    - GF_ISOM_GET_FRAG_SYNC
    - GF_ISOM_GET_FRAG_PAD
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_fragment_defaults(GF_ISOFile *the_file,
      u32 trackNumber, u32 *defaultDuration, u32 *defaultSize, u32 *defaultDescriptionIndex,
      u32 *defaultRandomAccess, u8 *defaultPadding, u16 *defaultDegradationPriority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4099,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:4101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - matrix
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4103
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4103
    functionName: gf_isom_get_track_matrix
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - memcpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_matrix(GF_ISOFile *the_file, u32
      trackNumber, u32 matrix[9]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_apple_enum_tag_ex
      Src: /src/gpac/src/isomedia/isom_read.c:4646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - mov
    - idx
    - out_tag
    - data
    - data_len
    - out_int_val
    - out_int_val2
    - out_flags
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOiTunesTag*
    - u8**
    - u32*
    - u64*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4647
      start: 4643
    functionDepth: 0
    functionLinenumber: 4643
    functionLinenumberEnd: 4647
    functionName: gf_isom_apple_enum_tag
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_apple_enum_tag_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apple_enum_tag(GF_ISOFile *mov, u32 idx,
      GF_ISOiTunesTag *out_tag, const u8 **data, u32 *data_len, u64 *out_int_val,
      u32 *out_int_val2, u32 *out_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_open_progressive_ex
      Src: /src/gpac/src/isomedia/isom_read.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - fileName
    - start_range
    - end_range
    - enable_frag_bounds
    - the_file
    - BytesMissing
    argTypes:
    - char*
    - u64
    - u64
    - Bool
    - GF_ISOFile**
    - u64*
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: gf_isom_open_progressive
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_open_progressive_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_open_progressive(const char *fileName, u64
      start_range, u64 end_range, Bool enable_frag_bounds, GF_ISOFile **the_file,
      u64 *BytesMissing) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:564,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_read.c:568,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/src/isomedia/isom_read.c:576,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:566,1
    - Dst: gf_isom_close_fragments
      Src: /src/gpac/src/isomedia/isom_read.c:580,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:585,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_read.c:588,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_read.c:593,1
    - Dst: gf_bs_new_cbk
      Src: /src/gpac/src/isomedia/isom_read.c:594,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:596,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:597,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:599,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:611,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:612,1
    - Dst: WriteToFile
      Src: /src/gpac/src/isomedia/isom_read.c:604,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_read.c:615,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 621
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 621
    functionName: gf_isom_write
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - WriteToFile
    - gf_list_get
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_new_parent
    - gf_isom_box_write
    - gf_list_count
    - strcmp
    - gf_bs_new_cbk
    - gf_isom_close_fragments
    - gf_isom_get_duration
    - SetTrackDuration
    - gf_isom_datamap_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_write(GF_ISOFile *movie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2041
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2041
    functionName: gf_isom_get_max_sample_delta
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_max_sample_delta(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_read.c:3091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3105,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_read.c:3098,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_read.c:3117,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3106,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/isomedia/isom_read.c:3122,1
    - Dst: gf_isom_parse_movie_boxes
      Src: /src/gpac/src/isomedia/isom_read.c:3130,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - movie
    - MissingBytes
    - new_location
    argTypes:
    - GF_ISOFile*
    - u64*
    - char*
    constantsTouched: []
    func_position:
      end: 3132
      start: 3079
    functionDepth: 0
    functionLinenumber: 3079
    functionLinenumberEnd: 3132
    functionName: gf_isom_refresh_fragmented
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_parse_movie_boxes
    - gf_list_get
    - gf_bs_get_refreshed_size
    - gf_list_count
    - gf_isom_datamap_new
    - gf_bs_get_size
    - gf_isom_datamap_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_refresh_fragmented(GF_ISOFile *movie, u64
      *MissingBytes, const char *new_location) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - width
    - height
    - translation_x
    - translation_y
    - layer
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    - s32*
    - s32*
    - s16*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4116
    functionName: gf_isom_get_track_layout_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_layout_info(GF_ISOFile *movie,
      u32 trackNumber, u32 *width, u32 *height, s32 *translation_x, s32 *translation_y,
      s16 *layer) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4657,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4674,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4721,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4709,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4734,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4739,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4752,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:4772,1
    - Dst: gf_isom_get_meta_extensions
      Src: /src/gpac/src/isomedia/isom_read.c:4654,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:4661,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4728,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4732,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4748,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_read.c:4665,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4669,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4671,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4698,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4706,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4729,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4715,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4733,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/isom_read.c:4735,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4745,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:4689,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/isomedia/isom_read.c:4724,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/isom_read.c:4712,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4718,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4742,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/isom_read.c:4770,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 91
    argCount: 3
    argNames:
    - mov
    - idx
    - okey
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_QT_UDTAKey*
    constantsTouched: []
    func_position:
      end: 4774
      start: 4649
    functionDepth: 0
    functionLinenumber: 4649
    functionLinenumberEnd: 4774
    functionName: gf_isom_enum_udta_keys
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_read_float
    - memset
    - gf_bs_read_double
    - gf_bs_read_long_int
    - gf_bs_del
    - gf_list_count
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_get_meta_extensions
    - gf_bs_is_overflow
    - gf_isom_locate_box
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_enum_udta_keys(GF_ISOFile *mov, u32 idx,
      GF_QT_UDTAKey *okey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5007
      start: 4994
    functionDepth: 0
    functionLinenumber: 4994
    functionLinenumberEnd: 5007
    functionName: gf_isom_reset_sample_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_reset_sample_count(GF_ISOFile *movie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/isomedia/isom_read.c:974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 978
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 978
    functionName: gf_isom_get_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_update_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_duration(GF_ISOFile *movie) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - movie
    - mode
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3139
      start: 3135
    functionDepth: 0
    functionLinenumber: 3135
    functionLinenumberEnd: 3139
    functionName: gf_isom_set_single_moof_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_set_single_moof_mode(GF_ISOFile *movie, Bool
      mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1769
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1769
    functionName: gf_isom_get_sample_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_count(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6432,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6444,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6437,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6440,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6447
      start: 6425
    functionDepth: 0
    functionLinenumber: 6425
    functionLinenumberEnd: 6447
    functionName: gf_isom_get_content_light_level_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_ContentLightLevelInfo *gf_isom_get_content_light_level_info(GF_ISOFile*
      movie, u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: gf_isom_get_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_isom_get_mode(GF_ISOFile *the_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 961
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 961
    functionName: gf_isom_get_timescale
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_timescale(GF_ISOFile *movie) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1461
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1461
    functionName: gf_isom_get_media_timescale
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_media_timescale(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1738,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_read.c:1729,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - outURL
    - outURN
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1754
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1754
    functionName: gf_isom_get_data_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_data_reference(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex, const char **outURL, const char
      **outURN) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1888,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1893
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1893
    functionName: gf_isom_has_sync_shadows
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_sync_shadows(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_read.c:4214,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4236,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4223,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/isomedia/isom_read.c:4216,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4219,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4241,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4257
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4257
    functionName: gf_isom_is_single_av
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_count
    - gf_isom_get_media_type
    - gf_isom_get_track_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_single_av(GF_ISOFile *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5283,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5285,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 6
    argNames:
    - the_file
    - trak
    - grouping_type
    - sample_group_description_index
    - default_index
    - out_sgdp
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    - u32
    - u32
    - u32*
    - GF_SampleGroupDescriptionBox**
    constantsTouched: []
    func_position:
      end: 5297
      start: 5276
    functionDepth: 0
    functionLinenumber: 5276
    functionLinenumberEnd: 5297
    functionName: gf_isom_get_sample_group_info_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void*
    signature: 'void *gf_isom_get_sample_group_info_entry(GF_ISOFile *the_file, GF_TrackBox
      *trak, u32 grouping_type, u32 sample_group_description_index, u32 *default_index,
      GF_SampleGroupDescriptionBox **out_sgdp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6147,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6150,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescIndex
    - nb_compat_profiles
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 6156
      start: 6140
    functionDepth: 0
    functionLinenumber: 6140
    functionLinenumberEnd: 6156
    functionName: gf_isom_get_mpegh_compatible_profiles
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const u8 *gf_isom_get_mpegh_compatible_profiles(GF_ISOFile
      *movie, u32 trackNumber, u32 sampleDescIndex, u32 *nb_compat_profiles) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1403,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/isom_read.c:1406,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:1410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1412
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1412
    functionName: gf_isom_get_decoder_config
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - Media_GetESD
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DecoderConfig *gf_isom_get_decoder_config(GF_ISOFile
      *the_file, u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1469,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - mov
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1472
    functionName: gf_isom_get_copyright_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_copyright_count(GF_ISOFile *mov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1902
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1902
    functionName: gf_isom_has_sample_dependency
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_sample_dependency(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3340,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3357,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3341,1
    - Dst: gf_isom_box_array_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3364,1
    - Dst: gf_isom_box_array_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3361,1
    - Dst: gf_isom_box_array_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3367,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_read.c:3372,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3374,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:3379,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3380,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3388,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:3390,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_read.c:3382,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 3393
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3393
    functionName: gf_isom_recreate_tables
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - memset
    - gf_isom_box_new_parent
    - gf_list_enum
    - gf_isom_box_del_parent
    - gf_list_rem
    - gf_free
    - gf_list_del_item
    - gf_isom_box_array_del_parent
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_recreate_tables(GF_TrackBox *trak) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mov
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4263
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4263
    functionName: gf_isom_is_JPEG2000
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_JPEG2000(GF_ISOFile *mov) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5304,1
    - Dst: gf_isom_get_sample_group_info_entry
      Src: /src/gpac/src/isomedia/isom_read.c:5310,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 15
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - sample_description_index
    - grouping_type
    - default_index
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5330
      start: 5299
    functionDepth: 0
    functionLinenumber: 5299
    functionLinenumberEnd: 5330
    functionName: gf_isom_get_sample_group_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_group_info_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_sample_group_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sample_description_index, u32 grouping_type, u32 *default_index,
      const u8 **data, u32 *size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:878,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - file
    - moof_index
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 886
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 886
    functionName: gf_isom_get_moof
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_MovieFragmentBox*
    signature: 'static GF_MovieFragmentBox *gf_isom_get_moof(GF_ISOFile *file, u32
      moof_index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetESD
      Src: /src/gpac/src/isomedia/isom_read.c:1385,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_read.c:1385,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1393
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1393
    functionName: gf_isom_get_esd
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_get_track_id
    - GetESD
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ESD *gf_isom_get_esd(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: stbl_unpackCTS
      Src: /src/gpac/src/isomedia/isom_read.c:3203,1
    - Dst: stbl_RemoveChunk
      Src: /src/gpac/src/isomedia/isom_read.c:3214,1
    - Dst: stbl_RemoveRedundant
      Src: /src/gpac/src/isomedia/isom_read.c:3215,1
    - Dst: stbl_RemovePaddingBits
      Src: /src/gpac/src/isomedia/isom_read.c:3267,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_read.c:3225,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/isom_read.c:3270,1
    - Dst: gf_isom_cenc_samp_aux_info_del
      Src: /src/gpac/src/isomedia/isom_read.c:3271,1
    - Dst: stbl_UnpackOffsets
      Src: /src/gpac/src/isomedia/isom_read.c:3201,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/isom_read.c:3197,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_read.c:3237,1
    - Dst: stbl_RemoveSampleGroup
      Src: /src/gpac/src/isomedia/isom_read.c:3268,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_read.c:3197,1
    - Dst: stbl_RemoveCTS
      Src: /src/gpac/src/isomedia/isom_read.c:3212,1
    - Dst: stbl_RemoveSize
      Src: /src/gpac/src/isomedia/isom_read.c:3213,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3276,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3192,1
    - Dst: stbl_RemoveDTS
      Src: /src/gpac/src/isomedia/isom_read.c:3211,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3248,1
    - Dst: stbl_RemoveRAPs
      Src: /src/gpac/src/isomedia/isom_read.c:3216,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_read.c:3249,1
    - Dst: stbl_RemoveShadow
      Src: /src/gpac/src/isomedia/isom_read.c:3265,1
    - Dst: stbl_RemoveSubSample
      Src: /src/gpac/src/isomedia/isom_read.c:3266,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/isom_read.c:3274,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3275,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - nb_samples
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3284
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3284
    functionName: gf_isom_purge_samples
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GetTrex
    - stbl_RemoveShadow
    - gf_isom_cenc_samp_aux_info_del
    - stbl_RemoveDTS
    - gf_list_pop_front
    - stbl_unpackCTS
    - stbl_RemoveSize
    - memmove
    - stbl_UnpackOffsets
    - stbl_RemoveRedundant
    - stbl_RemovePaddingBits
    - gf_isom_get_track_from_file
    - gf_isom_get_track_id
    - gf_free
    - stbl_RemoveChunk
    - stbl_RemoveCTS
    - stbl_RemoveSubSample
    - stbl_RemoveRAPs
    - stbl_RemoveSampleGroup
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_purge_samples(GF_ISOFile *the_file, u32 trackNumber,
      u32 nb_samples) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: gf_isom_probe_type
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_isom_probe_type(u32 type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 787
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 787
    functionName: gf_isom_get_track_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_track_count(GF_ISOFile *movie) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1528,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1535,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1537,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1540
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1540
    functionName: gf_isom_get_chapter_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - udta_getEntry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_chapter_count(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/isomedia/isom_read.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1979
    functionName: gf_isom_get_sample
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_get_sample(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleNumber, u32 *sampleDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5771
      start: 5760
    functionDepth: 0
    functionLinenumber: 5760
    functionLinenumberEnd: 5771
    functionName: gf_isom_get_smooth_next_tfdt
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_smooth_next_tfdt(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6459,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6469,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6491,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6475,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6490,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:6518,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:6525,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_read.c:6530,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:6531,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_read.c:6533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:6542,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:6535,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/isom_read.c:6542,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:6539,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 82
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - sai_idx
    - sai_type
    - sai_parameter
    - sai_data
    - sai_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 6547
      start: 6450
    functionDepth: 0
    functionLinenumber: 6450
    functionLinenumberEnd: 6547
    functionName: gf_isom_enum_sample_aux_data
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_bs_get_position
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_bs_seek
    - memcpy
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_enum_sample_aux_data(GF_ISOFile *the_file, u32 trackNumber,
      u32 sample_number, u32 *sai_idx, u32 *sai_type, u32 *sai_parameter, u8 **sai_data,
      u32 *sai_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_read.c:66,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_read.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: gf_isom_get_file_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_get_size
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_isom_get_file_size(GF_ISOFile *the_file) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:156,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/isomedia/isom_read.c:159,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:166,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/isomedia/isom_read.c:165,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_read.c:163,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/isom_read.c:171,1
    - Dst: gf_fseek
      Src: /src/gpac/src/isomedia/isom_read.c:173,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/isom_read.c:175,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/isom_read.c:177,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_read.c:178,1
    - Dst: gf_isom_probe_type
      Src: /src/gpac/src/isomedia/isom_read.c:184,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_read.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - fileName
    - start_range
    - end_range
    argTypes:
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: gf_isom_probe_file_range
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_isom_probe_type
    - GF_4CC
    - strncmp
    - gf_fread
    - gf_fclose
    - gf_blob_get
    - gf_blob_release
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_probe_file_range(const char *fileName, u64 start_range,
      u64 end_range) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: gf_isom_get_track_id
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOTrackID gf_isom_get_track_id(GF_ISOFile *movie, u32
      trackNumber) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1554,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1566,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1563,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1561,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - Index
    - chapter_time
    - name
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64*
    - char**
    constantsTouched: []
    func_position:
      end: 1574
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1574
    functionName: gf_isom_get_chapter
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - udta_getEntry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_chapter(GF_ISOFile *movie, u32 trackNumber,
      u32 Index, u64 *chapter_time, const char **name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1986,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/isom_read.c:1993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1995
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1995
    functionName: gf_isom_get_sample_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleDTS_and_Duration
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_duration(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5777
      start: 5773
    functionDepth: 0
    functionLinenumber: 5773
    functionLinenumberEnd: 5777
    functionName: gf_isom_is_smooth_streaming_moov
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_smooth_streaming_moov(GF_ISOFile *the_file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_probe_file_range
      Src: /src/gpac/src/isomedia/isom_read.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: gf_isom_probe_file
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_probe_file_range
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_probe_file(const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_read.c:2894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 2895
      start: 2890
    functionDepth: 0
    functionLinenumber: 2890
    functionLinenumberEnd: 2895
    functionName: gf_isom_delete
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_delete_movie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_delete(GF_ISOFile *movie) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_extensions
      Src: /src/gpac/src/isomedia/isom_read.c:4448,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4454,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_read.c:4451,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:4467,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:4457,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:4468,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:4469,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 4
    argNames:
    - mov
    - tag
    - data
    - data_len
    argTypes:
    - GF_ISOFile*
    - GF_ISOiTunesTag
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4478
      start: 4437
    functionDepth: 0
    functionLinenumber: 4437
    functionLinenumberEnd: 4478
    functionName: gf_isom_apple_get_tag
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_enum
    - gf_list_count
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_get_meta_extensions
    - gf_isom_locate_box
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apple_get_tag(GF_ISOFile *mov, GF_ISOiTunesTag
      tag, const u8 **data, u32 *data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5341
      start: 5334
    functionDepth: 0
    functionLinenumber: 5334
    functionLinenumberEnd: 5341
    functionName: gf_isom_get_fragmented_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_fragmented_duration(GF_ISOFile *movie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5675,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames:
    - traf
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5680
      start: 5673
    functionDepth: 0
    functionLinenumber: 5673
    functionLinenumberEnd: 5680
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: else
    signature: 'else if (traf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - movie
    - start_time
    - max_offset
    argTypes:
    - GF_ISOFile*
    - Double
    - u64*
    constantsTouched: []
    func_position:
      end: 6119
      start: 6095
    functionDepth: 0
    functionLinenumber: 6095
    functionLinenumberEnd: 6119
    functionName: gf_isom_get_file_offset_for_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_file_offset_for_time(GF_ISOFile *movie,
      Double start_time, u64 *max_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_read.c:198,1
    - Dst: gf_isom_probe_type
      Src: /src/gpac/src/isomedia/isom_read.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - inBuf
    - inSize
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: gf_isom_probe_data
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_probe_type
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_probe_data(const u8*inBuf, u32 inSize) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2906,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/isom_read.c:2933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:2921,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/isom_read.c:2931,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 8
    argNames:
    - movie
    - trackNumber
    - dur_min
    - dur_avg
    - dur_max
    - size_min
    - size_avg
    - size_max
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2963
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2963
    functionName: gf_isom_get_chunks_infos
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - stbl_GetSampleSize
    - stbl_GetSampleDTS_and_Duration
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_chunks_infos(GF_ISOFile *movie, u32 trackNumber,
      u32 *dur_min, u32 *dur_avg, u32 *dur_max, u32 *size_min, u32 *size_avg, u32
      *size_max) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_extensions
      Src: /src/gpac/src/isomedia/isom_read.c:4501,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/src/isomedia/isom_read.c:4511,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_read.c:4504,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4514,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:4508,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4519,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4520,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:4521,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/src/isomedia/isom_read.c:4559,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/src/isomedia/isom_read.c:4576,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 129
    argCount: 11
    argNames:
    - mov
    - idx
    - out_tag
    - data
    - data_len
    - out_int_val
    - out_int_val2
    - out_flags
    - out_mean
    - out_name
    - out_locale
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOiTunesTag*
    - u8**
    - u32*
    - u64*
    - u32*
    - u32*
    - char**
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 4641
      start: 4480
    functionDepth: 0
    functionLinenumber: 4480
    functionLinenumberEnd: 4641
    functionName: gf_isom_apple_enum_tag_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_itags_get_type
    - gf_itags_find_by_itag
    - gf_list_enum
    - gf_isom_get_meta_extensions
    - gf_isom_locate_box
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apple_enum_tag_ex(GF_ISOFile *mov, u32 idx,
      GF_ISOiTunesTag *out_tag, const u8 **data, u32 *data_len, u64 *out_int_val,
      u32 *out_int_val2, u32 *out_flags, const char **out_mean, const char **out_name,
      u32 *out_locale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - movie
    - creationTime
    - modificationTime
    argTypes:
    - GF_ISOFile*
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 996
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 996
    functionName: gf_isom_get_creation_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_creation_time(GF_ISOFile *movie, u64
      *creationTime, u64 *modificationTime) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6583,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - tkid
    - type
    - flags
    - location
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOTrackID*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 6591
      start: 6579
    functionDepth: 0
    functionLinenumber: 6579
    functionLinenumberEnd: 6591
    functionName: gf_isom_is_external_track
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_external_track(GF_ISOFile *the_file, u32
      trackNumber, GF_ISOTrackID *tkid, u32 *type, u32 *flags, const char **location) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: gf_isom_get_original_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_original_duration(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1874
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1874
    functionName: gf_isom_has_time_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_has_time_offset(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3848,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3853,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3855,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - bitDepth
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u16*
    constantsTouched: []
    func_position:
      end: 3867
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3867
    functionName: gf_isom_get_visual_bit_depth
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_visual_bit_depth(GF_ISOFile* movie, u32
      trackNumber, u32 StreamDescriptionIndex, u16* bitDepth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4827,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:4830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - group_index
    - switchGroupID
    - criteriaListSize
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4838
      start: 4820
    functionDepth: 0
    functionLinenumber: 4820
    functionLinenumberEnd: 4838
    functionName: gf_isom_get_track_switch_parameter
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - udta_getEntry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const u32 *gf_isom_get_track_switch_parameter(GF_ISOFile
      *movie, u32 trackNumber, u32 group_index, u32 *switchGroupID, u32 *criteriaListSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: gf_isom_last_error
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_last_error(GF_ISOFile *the_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1883
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1883
    functionName: gf_isom_get_cts_to_dts_shift
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s64 gf_isom_get_cts_to_dts_shift(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3876,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3884,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3882,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:3899,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - SampleRate
    - Channels
    - bitsPerSample
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 3906
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3906
    functionName: gf_isom_get_audio_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_audio_info(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, u32 *SampleRate, u32 *Channels, u32 *bitsPerSample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_read.c:4846,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4853
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4853
    functionName: gf_isom_get_next_alternate_group_id
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_next_alternate_group_id(GF_ISOFile *movie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1584
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1584
    functionName: gf_isom_get_media_type
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_media_type(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1640,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1642,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/isom_read.c:1646,1
    - Dst: gf_isom_is_encrypted_entry
      Src: /src/gpac/src/isomedia/isom_read.c:1647,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1660
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1660
    functionName: gf_isom_get_media_subtype
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - gf_list_get
    - gf_isom_is_encrypted_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_media_subtype(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4957,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4963
      start: 4953
    functionDepth: 0
    functionLinenumber: 4953
    functionLinenumberEnd: 4963
    functionName: gf_isom_moov_first
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_moov_first(GF_ISOFile *movie) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1238,1
    - Dst: gf_isom_get_tracknum_from_id
      Src: /src/gpac/src/isomedia/isom_read.c:1254,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:1244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - referenceType
    - referenceIndex
    - refTrack
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1260
    functionName: gf_isom_get_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_get_tracknum_from_id
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_reference(GF_ISOFile *movie, u32 trackNumber,
      u32 referenceType, u32 referenceIndex, u32 *refTrack) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - entryType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1601
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1601
    functionName: IsMP4Description
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool IsMP4Description(u32 entryType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1667,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1675,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/isom_read.c:1680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1682
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1682
    functionName: gf_isom_get_mpeg4_subtype
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_mpeg4_subtype(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4970,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - movie
    - keep_sample_count
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 4981
      start: 4965
    functionDepth: 0
    functionLinenumber: 4965
    functionLinenumberEnd: 4981
    functionName: gf_isom_reset_fragment_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_reset_fragment_info(GF_ISOFile *movie, Bool
      keep_sample_count) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6175,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:6181,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6178,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6189,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6193,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_read.c:6194,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6196,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6200,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6208,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6214,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6222,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescriptionIndex
    - info
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOM_Y3D_Info*
    constantsTouched: []
    func_position:
      end: 6229
      start: 6170
    functionDepth: 0
    functionLinenumber: 6170
    functionLinenumberEnd: 6229
    functionName: gf_isom_get_y3d_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_y3d_info(GF_ISOFile *movie, u32 trackNumber, u32
      sampleDescriptionIndex, GF_ISOM_Y3D_Info *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - idx
    - referenceType
    - referenceCount
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1226
    functionName: gf_isom_enum_track_references
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_ISOTrackID *gf_isom_enum_track_references(GF_ISOFile
      *movie, u32 trackNumber, u32 idx, u32 *referenceType, u32 *referenceCount) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2137,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/isom_read.c:2145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2147
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2147
    functionName: gf_isom_get_sample_dts
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleDTS
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_sample_dts(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1270,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:1276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - referenceType
    - referenceIndex
    - refTrackID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - GF_ISOTrackID*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1285
    functionName: gf_isom_get_reference_ID
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_reference_ID(GF_ISOFile *movie, u32 trackNumber,
      u32 referenceType, u32 referenceIndex, GF_ISOTrackID *refTrackID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - entryType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1613
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1613
    functionName: gf_isom_is_encrypted_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_is_encrypted_entry(u32 entryType) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2196,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/isom_read.c:2209,1
    - Dst: Media_FindSyncSample
      Src: /src/gpac/src/isomedia/isom_read.c:2277,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/isom_read.c:2291,1
    - Dst: Media_FindSyncSample
      Src: /src/gpac/src/isomedia/isom_read.c:2267,1
    - Dst: stbl_GetSampleShadow
      Src: /src/gpac/src/isomedia/isom_read.c:2299,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/isom_read.c:2311,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_read.c:2314,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/src/isomedia/isom_read.c:2323,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/isom_read.c:2339,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_read.c:2348,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:2343,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 115
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - desiredTime
    - StreamDescriptionIndex
    - SearchMode
    - sample
    - SampleNum
    - data_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u32*
    - GF_ISOSearchMode
    - GF_ISOSample**
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 2354
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2354
    functionName: gf_isom_get_sample_for_media_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleShadow
    - Media_GetSample
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_get_track_from_file
    - Media_FindSyncSample
    - stbl_findEntryForTime
    - gf_isom_get_sample
    - gf_isom_sample_new
    - gf_isom_sample_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_for_media_time(GF_ISOFile *the_file,
      u32 trackNumber, u64 desiredTime, u32 *StreamDescriptionIndex, GF_ISOSearchMode
      SearchMode, GF_ISOSample **sample, u32 *SampleNum, u64 *data_offset) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_read.c:5739,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 5
    argNames:
    - file
    - refTrackID
    - ntp
    - timestamp
    - reset_info
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID*
    - u64*
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 5745
      start: 5725
    functionDepth: 0
    functionLinenumber: 5725
    functionLinenumberEnd: 5745
    functionName: gf_isom_get_last_producer_time_box
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_last_producer_time_box(GF_ISOFile *file,
      GF_ISOTrackID *refTrackID, u64 *ntp, u64 *timestamp, Bool reset_info) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5902,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:5924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5910,1
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/isom_read.c:5912,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5906,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 53
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - sampleDescIndex
    - average_bitrate
    - max_bitrate
    - decode_buffer_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 5950
      start: 5892
    functionDepth: 0
    functionLinenumber: 5892
    functionLinenumberEnd: 5950
    functionName: gf_isom_get_bitrate
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_sample_entry_get_bitrate
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_bitrate(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleDescIndex, u32 *average_bitrate, u32 *max_bitrate, u32 *decode_buffer_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1620,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/isomedia/isom_read.c:1627,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1623,1
    - Dst: gf_isom_is_encrypted_entry
      Src: /src/gpac/src/isomedia/isom_read.c:1625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1633
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1633
    functionName: gf_isom_is_track_encrypted
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_is_encrypted_entry
    - gf_isom_is_cenc_media
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_track_encrypted(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2367,1
    - Dst: GetNextMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:2393,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/isomedia/isom_read.c:2373,1
    - Dst: GetPrevMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:2395,1
    - Dst: GetMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:2385,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/isomedia/isom_read.c:2397,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/isom_read.c:2402,1
    - Dst: GetNextMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:2417,1
    - Dst: GetPrevMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:2419,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/isomedia/isom_read.c:2421,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/isomedia/isom_read.c:2443,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/isomedia/isom_read.c:2440,1
    - Dst: gf_isom_get_sample_for_media_time
      Src: /src/gpac/src/isomedia/isom_read.c:2429,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 88
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - movieTime
    - StreamDescriptionIndex
    - SearchMode
    - sample
    - sampleNumber
    - data_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u32*
    - GF_ISOSearchMode
    - GF_ISOSample**
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 2469
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2469
    functionName: gf_isom_get_sample_for_movie_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GetNextMediaTime
    - GetMediaTime
    - gf_isom_get_sample_for_movie_time
    - gf_isom_get_track_from_file
    - GetPrevMediaTime
    - gf_isom_get_sample_for_media_time
    - gf_timestamp_greater
    - gf_isom_sample_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_for_movie_time(GF_ISOFile *the_file,
      u32 trackNumber, u64 movieTime, u32 *StreamDescriptionIndex, GF_ISOSearchMode
      SearchMode, GF_ISOSample **sample, u32 *sampleNumber, u64 *data_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5758
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5758
    functionName: gf_isom_get_current_tfdt
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_current_tfdt(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5956
      start: 5952
    functionDepth: 0
    functionLinenumber: 5952
    functionLinenumberEnd: 5956
    functionName: gf_isom_enable_traf_map_templates
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_enable_traf_map_templates(GF_ISOFile *movie) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_read.c:1035,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:1038,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1042
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1042
    functionName: gf_isom_is_track_in_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_get_track_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_isom_is_track_in_root_od(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - creationTime
    - modificationTime
    argTypes:
    - GF_ISOFile*
    - u32
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 1009
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1009
    functionName: gf_isom_get_track_creation_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_creation_time(GF_ISOFile *movie,
      u32 trackNumber, u64 *creationTime, u64 *modificationTime) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1104,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1113,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:1109,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:1108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1117,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:1119,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:1125,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - lang
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    constantsTouched: []
    func_position:
      end: 1128
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1128
    functionName: gf_isom_get_media_language
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_strdup
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_media_language(GF_ISOFile *the_file,
      u32 trackNumber, char **lang) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1936,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_read.c:1963,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_read.c:1964,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/isom_read.c:1948,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/isom_read.c:1958,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - sampleDescriptionIndex
    - static_sample
    - data_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - GF_ISOSample*
    - u64*
    constantsTouched: []
    func_position:
      end: 1973
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1973
    functionName: gf_isom_get_sample_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_new
    - gf_isom_get_track_from_file
    - Media_GetSample
    - gf_isom_sample_del
    - gf_isom_set_last_error
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_get_sample_ex(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u32 *sampleDescriptionIndex, GF_ISOSample
      *static_sample, u64 *data_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5430
      start: 5424
    functionDepth: 0
    functionLinenumber: 5424
    functionLinenumberEnd: 5430
    functionName: gf_isom_get_nalu_extract_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISONaluExtractMode gf_isom_get_nalu_extract_mode(GF_ISOFile
      *the_file, u32 trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_read.c:5447,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/isom_read.c:5452,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/isom_read.c:5455,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/isom_read.c:5449,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/isom_read.c:5460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5466
      start: 5441
    functionDepth: 0
    functionLinenumber: 5441
    functionLinenumberEnd: 5466
    functionName: gf_isom_needs_layer_reconstruction
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_media_subtype
    - gf_isom_get_track_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_needs_layer_reconstruction(GF_ISOFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:5783,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5790,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5785,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/isom_read.c:5784,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5791,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5792,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5793,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/isom_read.c:5794,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/isom_read.c:5795,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/isom_read.c:5796,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/isom_read.c:5797,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:5800,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/isom_read.c:5798,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 9
    argNames:
    - data
    - size
    - id
    - independent
    - full_picture
    - x
    - y
    - w
    - h
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - Bool*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 5801
      start: 5780
    functionDepth: 0
    functionLinenumber: 5780
    functionLinenumberEnd: 5801
    functionName: gf_isom_parse_trif_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_parse_trif_info(const u8 *data, u32 size, u32 *id, u32
      *independent, Bool *full_picture, u32 *x, u32 *y, u32 *w, u32 *h) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - query_mode
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOMMinNegCtsQuery
    constantsTouched: []
    func_position:
      end: 6637
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6637
    functionName: gf_isom_get_min_negative_cts_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: s32
    signature: 's32 gf_isom_get_min_negative_cts_offset(GF_ISOFile *the_file, u32
      trackNumber, GF_ISOMMinNegCtsQuery query_mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1136,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1149
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1149
    functionName: gf_isom_get_track_kind_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - udta_getEntry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_track_kind_count(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5371,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5386,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5375,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5385,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 4
    argNames:
    - movie
    - trackID
    - nb_samples
    - duration
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 5403
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5403
    functionName: gf_isom_get_fragmented_samples_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_fragmented_samples_info(GF_ISOFile *movie,
      GF_ISOTrackID trackID, u32 *nb_samples, u64 *duration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5439
      start: 5432
    functionDepth: 0
    functionLinenumber: 5432
    functionLinenumberEnd: 5439
    functionName: gf_isom_get_composition_offset_shift
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_isom_get_composition_offset_shift(GF_ISOFile *file,
      u32 track) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - keep_utc
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 5473
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5473
    functionName: gf_isom_keep_utc_times
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_keep_utc_times(GF_ISOFile *file, Bool keep_utc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample_group_info
      Src: /src/gpac/src/isomedia/isom_read.c:5809,1
    - Dst: gf_isom_parse_trif_info
      Src: /src/gpac/src/isomedia/isom_read.c:5811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 11
    argNames:
    - file
    - trackNumber
    - sample_description_index
    - default_sample_group_index
    - id
    - independent
    - full_picture
    - x
    - y
    - w
    - h
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - Bool*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 5813
      start: 5803
    functionDepth: 0
    functionLinenumber: 5803
    functionLinenumberEnd: 5813
    functionName: gf_isom_get_tile_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_group_info
    - gf_isom_parse_trif_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_tile_info(GF_ISOFile *file, u32 trackNumber,
      u32 sample_description_index, u32 *default_sample_group_index, u32 *id, u32
      *independent, Bool *full_picture, u32 *x, u32 *y, u32 *w, u32 *h) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6664,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - ID
    - nb_refs
    - refs
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32**
    constantsTouched: []
    func_position:
      end: 6669
      start: 6649
    functionDepth: 0
    functionLinenumber: 6649
    functionLinenumberEnd: 6669
    functionName: gf_isom_get_sample_references
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_references(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u32 *ID, u32 *nb_refs, const u32 **refs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1912,1
    - Dst: stbl_GetSampleDepType
      Src: /src/gpac/src/isomedia/isom_read.c:1922,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1923
    functionName: gf_isom_get_sample_flags
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleDepType
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_flags(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleNumber, u32 *isLeading, u32 *dependsOn, u32 *dependedOn,
      u32 *redundant) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:2574,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2566,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - SegmentIndex
    - EditTime
    - SegmentDuration
    - MediaTime
    - EditMode
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64*
    - u64*
    - u64*
    - GF_ISOEditType*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2592
    functionName: gf_isom_get_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_edit(GF_ISOFile *the_file, u32 trackNumber,
      u32 SegmentIndex, u64 *EditTime, u64 *SegmentDuration, u64 *MediaTime, GF_ISOEditType
      *EditMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3916,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:3918,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3922,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3924,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:3929,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3932,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - layout
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AudioChannelLayout*
    constantsTouched: []
    func_position:
      end: 3934
      start: 3908
    functionDepth: 0
    functionLinenumber: 3908
    functionLinenumberEnd: 3934
    functionName: gf_isom_get_audio_layout
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    - gf_list_count
    - memcpy
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_audio_layout(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, GF_AudioChannelLayout *layout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:6056,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_read.c:6060,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:6061,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:6063,1
    - Dst: sgpd_write_entry
      Src: /src/gpac/src/isomedia/isom_read.c:6058,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:6064,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:6066,1
    - Dst: sgpd_write_entry
      Src: /src/gpac/src/isomedia/isom_read.c:6068,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:6070,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:6072,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:6073,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:6079,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_read.c:6076,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:6080,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ptr1
    - ptr2
    - grouping_type
    argTypes:
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 6083
      start: 6045
    functionDepth: 0
    functionLinenumber: 6045
    functionLinenumberEnd: 6083
    functionName: gf_isom_is_identical_sgpd
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - sgpd_write_entry
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - memcmp
    - gf_bs_new
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_is_identical_sgpd(void *ptr1, void *ptr2, u32 grouping_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2606
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2606
    functionName: gf_isom_has_sync_points
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_isom_has_sync_points(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3942,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:3957,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3949,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3951,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - hSpacing
    - vSpacing
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 3966
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3966
    functionName: gf_isom_get_pixel_aspect_ratio
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_pixel_aspect_ratio(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, u32 *hSpacing, u32 *vSpacing) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 6091
      start: 6085
    functionDepth: 0
    functionLinenumber: 6085
    functionLinenumberEnd: 6091
    functionName: gf_isom_get_track_magic
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_track_magic(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:80,1
    - Dst: gf_isom_box_freeze_order
      Src: /src/gpac/src/isomedia/isom_read.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: gf_isom_freeze_order
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_freeze_order
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_freeze_order(GF_ISOFile *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:2738,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2752,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:2751,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2741,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_read.c:2754,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - UserDataType
    - UUID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - bin128
    constantsTouched: []
    func_position:
      end: 2758
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2758
    functionName: gf_isom_get_user_data_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - memset
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_enum
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_user_data_count(GF_ISOFile *movie, u32 trackNumber,
      u32 UserDataType, bin128 UUID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - movie
    - do_convert
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3683
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3683
    functionName: gf_isom_text_set_streaming_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_streaming_mode(GF_ISOFile *movie,
      Bool do_convert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4190,1
    - Dst: box_unused_bytes
      Src: /src/gpac/src/isomedia/isom_read.c:4193,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4196
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4196
    functionName: gf_isom_get_unused_box_bytes
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - box_unused_bytes
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_unused_box_bytes(GF_ISOFile *movie) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5018,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5022,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5033,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5024,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - has_selective
    - has_roll
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 5042
      start: 5009
    functionDepth: 0
    functionLinenumber: 5009
    functionLinenumberEnd: 5042
    functionName: gf_isom_has_cenc_sample_group
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_cenc_sample_group(GF_ISOFile *the_file,
      u32 trackNumber, Bool *has_selective, Bool *has_roll) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/isom_read.c:6552,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:6555,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:6558,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_read.c:6557,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:6559,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_read.c:6560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - the_file
    - emsg_data
    - emsg_size
    argTypes:
    - GF_ISOFile*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 6567
      start: 6549
    functionDepth: 0
    functionLinenumber: 6549
    functionLinenumberEnd: 6567
    functionName: gf_isom_pop_emsg
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_isom_box_size
    - gf_list_pop_front
    - gf_isom_box_write
    - gf_isom_box_del
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_pop_emsg(GF_ISOFile *the_file, u8 **emsg_data, u32
      *emsg_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - padding
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: gf_isom_set_inplace_padding
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_inplace_padding(GF_ISOFile *file, u32
      padding) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:2798,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:2807,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:2865,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_read.c:2835,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2774,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:2799,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:2809,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:2821,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_read.c:2872,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:2847,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:2836,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_read.c:2874,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:2881,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:2886,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:2819,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:2838,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_read.c:2863,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_read.c:2873,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:2849,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_read.c:2790,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:2789,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:2784,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_read.c:2876,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/isom_read.c:2879,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:2885,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 110
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - UserDataType
    - UUID
    - UserDataIndex
    - userData
    - userDataSize
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - bin128
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 2888
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2888
    functionName: gf_isom_get_user_data
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_list_get
    - gf_bs_get_content
    - memset
    - gf_bs_del
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_write
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_data
    - gf_bs_write_u32
    - memcpy
    - gf_isom_box_array_write
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_user_data(GF_ISOFile *movie, u32 trackNumber,
      u32 UserDataType, bin128 UUID, u32 UserDataIndex, u8 **userData, u32 *userDataSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3154,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - movie
    - top_box_start
    argTypes:
    - GF_ISOFile*
    - u64*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3162
    functionName: gf_isom_reset_data_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_reset_data_offset(GF_ISOFile *movie, u64
      *top_box_start) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:3690,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:3695,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3698,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - udesc
    - child_boxes
    argTypes:
    - GF_GenericSampleDescription*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 3701
      start: 3685
    functionDepth: 0
    functionLinenumber: 3685
    functionLinenumberEnd: 3701
    functionName: gf_isom_gen_desc_get_dsi
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_gen_desc_get_dsi(GF_GenericSampleDescription *udesc,
      GF_List *child_boxes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 4204
      start: 4198
    functionDepth: 0
    functionLinenumber: 4198
    functionLinenumberEnd: 4204
    functionName: gf_isom_set_default_sync_track
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_set_default_sync_track(GF_ISOFile *movie, u32
      trackNumber) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5054,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5075,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5074,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5061,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5059,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5087,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5095,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5110,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5129,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 71
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - is_rap
    - roll_type
    - roll_distance
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool*
    - GF_ISOSampleRollType*
    - s32*
    constantsTouched: []
    func_position:
      end: 5137
      start: 5044
    functionDepth: 0
    functionLinenumber: 5044
    functionLinenumberEnd: 5137
    functionName: gf_isom_get_sample_rap_roll_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_rap_roll_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sample_number, Bool *is_rap, GF_ISOSampleRollType *roll_type,
      s32 *roll_distance) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5410,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:5419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - nalu_extract_mode
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISONaluExtractMode
    constantsTouched: []
    func_position:
      end: 5422
      start: 5406
    functionDepth: 0
    functionLinenumber: 5406
    functionLinenumberEnd: 5422
    functionName: gf_isom_set_nalu_extract_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_nalu_extract_mode(GF_ISOFile *the_file,
      u32 trackNumber, GF_ISONaluExtractMode nalu_extract_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1778
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1778
    functionName: gf_isom_get_constant_sample_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_constant_sample_size(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2481
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2481
    functionName: gf_isom_get_missing_bytes
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_missing_bytes(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - movie
    - BrandIndex
    - brand
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2646
    functionName: gf_isom_get_alternate_brand
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_alternate_brand(GF_ISOFile *movie, u32
      BrandIndex, u32 *brand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2660,1
    - Dst: stbl_GetPaddingBits
      Src: /src/gpac/src/isomedia/isom_read.c:2665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - NbBits
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 2668
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2668
    functionName: gf_isom_get_sample_padding_bits
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetPaddingBits
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_padding_bits(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u8 *NbBits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4126,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 4150
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4150
    functionName: gf_isom_get_media_data_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_media_data_size(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4873,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4866,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4869,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4871,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4875,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4877,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:4878,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_read.c:4880,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_read.c:4881,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_read.c:4883,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_read.c:4884,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:4892,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:4893,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_read.c:4882,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 4
    argNames:
    - movie
    - track
    - sampleNumber
    - osize
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 4896
      start: 4855
    functionDepth: 0
    functionLinenumber: 4855
    functionLinenumberEnd: 4896
    functionName: gf_isom_sample_get_subsamples_buffer
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT u8 *gf_isom_sample_get_subsamples_buffer(GF_ISOFile *movie,
      u32 track, u32 sampleNumber, u32 *osize) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/isom_read.c:5599,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5637,1
    - Dst: gf_isom_cenc_get_default_info_internal
      Src: /src/gpac/src/isomedia/isom_read.c:5609,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5616,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5640,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5667,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5675,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5676,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_read.c:5706,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5685,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 125
    argCount: 9
    argNames:
    - trak
    - traf
    - senc
    - sample_number
    - IsEncrypted
    - crypt_byte_block
    - skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_TrackBox*
    - void*
    - GF_SampleEncryptionBox*
    - u32
    - Bool*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5713
      start: 5570
    functionDepth: 0
    functionLinenumber: 5570
    functionLinenumberEnd: 5713
    functionName: gf_isom_get_sample_cenc_info_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_get
    - gf_list_count
    - gf_isom_cenc_get_default_info_internal
    - stbl_GetSampleInfos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_sample_cenc_info_internal(GF_TrackBox *trak, void
      *traf, GF_SampleEncryptionBox *senc, u32 sample_number, Bool *IsEncrypted, u32
      *crypt_byte_block, u32 *skip_byte_block, const u8 **key_info, u32 *key_info_size)
      #endif '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 5
    argNames:
    - file
    - track_number
    - idx
    - track_group_type
    - track_group_id
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 6398
      start: 6382
    functionDepth: 0
    functionLinenumber: 6382
    functionLinenumberEnd: 6398
    functionName: gf_isom_enum_track_group
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_enum_track_group(GF_ISOFile *file, u32 track_number,
      u32 *idx, u32 *track_group_type, u32 *track_group_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1788
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1788
    functionName: gf_isom_get_constant_sample_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_constant_sample_duration(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - padding_bytes
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2492
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2492
    functionName: gf_isom_set_sample_padding
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_sample_padding(GF_ISOFile *the_file,
      u32 trackNumber, u32 padding_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2653
    functionName: gf_isom_get_brands
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const u32 *gf_isom_get_brands(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2681
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2681
    functionName: gf_isom_has_padding_bits
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_has_padding_bits(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4161
      start: 4152
    functionDepth: 0
    functionLinenumber: 4152
    functionLinenumberEnd: 4161
    functionName: gf_isom_get_first_mdat_start
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_first_mdat_start(GF_ISOFile *movie) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4901,1
    - Dst: gf_isom_sample_get_subsample_entry
      Src: /src/gpac/src/isomedia/isom_read.c:4905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - movie
    - track
    - sampleNumber
    - flags
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4906
      start: 4898
    functionDepth: 0
    functionLinenumber: 4898
    functionLinenumberEnd: 4906
    functionName: gf_isom_sample_has_subsamples
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_get_subsample_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_sample_has_subsamples(GF_ISOFile *movie, u32
      track, u32 sampleNumber, u32 flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5718,1
    - Dst: gf_isom_get_sample_cenc_info_internal
      Src: /src/gpac/src/isomedia/isom_read.c:5721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 8
    argNames:
    - movie
    - track
    - sample_number
    - IsEncrypted
    - crypt_byte_block
    - skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5722
      start: 5715
    functionDepth: 0
    functionLinenumber: 5715
    functionLinenumberEnd: 5722
    functionName: gf_isom_get_sample_cenc_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_cenc_info_internal
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_cenc_info(GF_ISOFile *movie, u32
      track, u32 sample_number, Bool *IsEncrypted, u32 *crypt_byte_block, u32 *skip_byte_block,
      const u8 **key_info, u32 *key_info_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6407,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6419,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6415,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6423
      start: 6400
    functionDepth: 0
    functionLinenumber: 6400
    functionLinenumberEnd: 6423
    functionName: gf_isom_get_mastering_display_colour_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_MasteringDisplayColourVolumeInfo *gf_isom_get_mastering_display_colour_info(GF_ISOFile*
      movie, u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - (*sample_alloc)
    - udta
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - void*
    constantsTouched: []
    func_position:
      end: 6577
      start: 6569
    functionDepth: 0
    functionLinenumber: 6569
    functionLinenumberEnd: 6577
    functionName: gf_isom_set_sample_alloc
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: "GF_Err gf_isom_set_sample_alloc(GF_ISOFile *the_file, u32 trackNumber,
      \tu8 *(*sample_alloc)(u32 size, void *cbk), void *udta) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6595,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6597,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6607,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:6602,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_read.c:6606,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_read.c:6608,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6614,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6616,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/isomedia/isom_read.c:6617,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/isomedia/isom_read.c:6618,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - dst
    - dst_track
    - src
    - src_track
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 6621
      start: 6593
    functionDepth: 0
    functionLinenumber: 6593
    functionLinenumberEnd: 6621
    functionName: gf_isom_merge_external_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_box_del
    - gf_timestamp_rescale
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_merge_external_edit(GF_ISOFile *dst, u32 dst_track,
      GF_ISOFile *src, u32 src_track) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4992
      start: 4986
    functionDepth: 0
    functionLinenumber: 4986
    functionLinenumberEnd: 4992
    functionName: gf_isom_reset_seq_num
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_reset_seq_num(GF_ISOFile *movie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_write
      Src: /src/gpac/src/isomedia/isom_read.c:628,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_read.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: gf_isom_close
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_write
    - gf_isom_delete_movie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_close(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2046,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2058
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2058
    functionName: gf_isom_get_avg_sample_delta
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_avg_sample_delta(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2167,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/isom_read.c:2172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - dts
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 2175
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2175
    functionName: gf_isom_get_sample_from_dts
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_findEntryForTime
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_from_dts(GF_ISOFile *the_file, u32
      trackNumber, u64 dts) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_read.c:3566,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_read.c:3575,1
    - Dst: gf_isom_release_segment
      Src: /src/gpac/src/isomedia/isom_read.c:3573,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:3583,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/isom_read.c:3584,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:3586,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3590,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3591,1
    - Dst: gf_isom_parse_movie_boxes
      Src: /src/gpac/src/isomedia/isom_read.c:3605,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3610,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3611,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 5
    argNames:
    - movie
    - fileName
    - start_range
    - end_range
    - flags
    argTypes:
    - GF_ISOFile*
    - char*
    - u64
    - u64
    - GF_ISOSegOpenMode
    constantsTouched: []
    func_position:
      end: 3627
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3627
    functionName: gf_isom_open_segment
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_parse_movie_boxes
    - gf_bs_truncate
    - gf_isom_release_segment
    - gf_list_get
    - gf_list_count
    - gf_bs_seek
    - gf_isom_datamap_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_open_segment(GF_ISOFile *movie, const char
      *fileName, u64 start_range, u64 end_range, GF_ISOSegOpenMode flags) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3991,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3980,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3982,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3993,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 29
    argCount: 8
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - colour_type
    - colour_primaries
    - transfer_characteristics
    - matrix_coefficients
    - full_range_flag
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u16*
    - u16*
    - u16*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4006
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 4006
    functionName: gf_isom_get_color_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_color_info(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, u32 *colour_type, u16 *colour_primaries, u16 *transfer_characteristics,
      u16 *matrix_coefficients, Bool *full_range_flag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4065
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4065
    functionName: gf_isom_get_filename
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_isom_get_filename(GF_ISOFile *movie) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5149,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - grouping_type
    - grouping_type_param
    - sampleGroupDescIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 5180
      start: 5139
    functionDepth: 0
    functionLinenumber: 5139
    functionLinenumberEnd: 5180
    functionName: gf_isom_get_sample_to_group_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sample_to_group_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sample_number, u32 grouping_type, u32 grouping_type_param,
      u32 *sampleGroupDescIndex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6337,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_read.c:6349,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6342,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6345,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 27
    argCount: 11
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - cleanApertureWidthN
    - cleanApertureWidthD
    - cleanApertureHeightN
    - cleanApertureHeightD
    - horizOffN
    - horizOffD
    - vertOffN
    - vertOffD
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - s32*
    - u32*
    - s32*
    - u32*
    constantsTouched: []
    func_position:
      end: 6360
      start: 6330
    functionDepth: 0
    functionLinenumber: 6330
    functionLinenumberEnd: 6360
    functionName: gf_isom_get_clean_aperture
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_clean_aperture(GF_ISOFile *movie, u32
      trackNumber, u32 StreamDescriptionIndex, u32 *cleanApertureWidthN, u32 *cleanApertureWidthD,
      u32 *cleanApertureHeightN, u32 *cleanApertureHeightD, s32 *horizOffN, u32 *horizOffD,
      s32 *vertOffN, u32 *vertOffD) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:929,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:932,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 3
    argNames:
    - file
    - moof_index
    - moof_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 952
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 952
    functionName: gf_isom_segment_get_fragment_size
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_segment_get_fragment_size(GF_ISOFile *file,
      u32 moof_index, u32 *moof_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2064,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2068
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2068
    functionName: gf_isom_get_max_sample_cts_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_max_sample_cts_offset(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3641,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/isom_read.c:3650,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/isom_read.c:3647,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3644,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/isom_read.c:3654,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/isom_read.c:3665,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - movie
    - for_base_track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3674
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3674
    functionName: gf_isom_get_highest_track_in_scalable_segment
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_list_get
    - gf_list_count
    - gf_isom_get_media_subtype
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOTrackID gf_isom_get_highest_track_in_scalable_segment(GF_ISOFile
      *movie, u32 for_base_track) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4020,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4027,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4036,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4038,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4025,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_read.c:4043,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_read.c:4048,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - icc_restricted
    - icc
    - icc_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4055
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4055
    functionName: gf_isom_get_icc_profile
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GF_4CC
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_icc_profile(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, Bool *icc_restricted, const u8 **icc, u32 *icc_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 2
    argNames:
    - movie
    - PL_Code
    argTypes:
    - GF_ISOFile*
    - GF_ISOProfileLevelType
    constantsTouched: []
    func_position:
      end: 4094
      start: 4068
    functionDepth: 0
    functionLinenumber: 4068
    functionLinenumberEnd: 4094
    functionName: gf_isom_get_pl_indication
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_isom_get_pl_indication(GF_ISOFile *movie, GF_ISOProfileLevelType
      PL_Code) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5194,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5234,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5207,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5235,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5203,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5260,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_read.c:5262,1
    - Dst: sgpd_write_entry
      Src: /src/gpac/src/isomedia/isom_read.c:5263,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_read.c:5264,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_read.c:5265,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 58
    argCount: 9
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - sgrp_idx
    - sgrp_type
    - sgrp_flags
    - sgrp_parameter
    - sgrp_data
    - sgrp_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5273
      start: 5182
    functionDepth: 0
    functionLinenumber: 5182
    functionLinenumberEnd: 5273
    functionName: gf_isom_enum_sample_group
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - sgpd_write_entry
    - gf_list_get
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_enum_sample_group(GF_ISOFile *the_file, u32 trackNumber,
      u32 sample_number, u32 *sgrp_idx, u32 *sgrp_type, u32 *sgrp_flags, u32 *sgrp_parameter,
      u8 **sgrp_data, u32 *sgrp_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5543,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:5558,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:5550,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 22
    argCount: 8
    argNames:
    - file
    - pssh_index
    - SystemID
    - version
    - KID_count
    - KIDs
    - private_data
    - private_data_size
    argTypes:
    - GF_ISOFile*
    - u32
    - bin128
    - u32*
    - u32*
    - bin128**
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 5565
      start: 5536
    functionDepth: 0
    functionLinenumber: 5536
    functionLinenumberEnd: 5565
    functionName: gf_isom_get_pssh_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_pssh_info(GF_ISOFile *file, u32 pssh_index,
      bin128 SystemID, u32 *version, u32 *KID_count, const bin128 **KIDs, const u8
      **private_data, u32 *private_data_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:6369,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:6374,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:6373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - file
    - track_number
    - track_group_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6380
      start: 6362
    functionDepth: 0
    functionLinenumber: 6362
    functionLinenumberEnd: 6380
    functionName: gf_isom_get_track_group
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_track_group(GF_ISOFile *file, u32 track_number,
      u32 track_group_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1371,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1375
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1375
    functionName: gf_isom_get_sample_description_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_description_count(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2096,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_read.c:2113,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/isom_read.c:2107,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_read.c:2115,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/isom_read.c:2111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - sampleDescriptionIndex
    - data_offset
    - static_sample
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u64*
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2122
    functionName: gf_isom_get_sample_info_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_new
    - gf_isom_get_track_from_file
    - Media_GetSample
    - gf_isom_sample_del
    - gf_isom_set_last_error
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_get_sample_info_ex(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u32 *sampleDescriptionIndex, u64 *data_offset,
      GF_ISOSample *static_sample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2153,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/isom_read.c:2155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2156
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2156
    functionName: gf_isom_is_self_contained
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_self_contained(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1447
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1447
    functionName: gf_isom_get_media_original_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_media_original_duration(GF_ISOFile *movie,
      u32 trackNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1506,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:1511,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:1509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - mov
    - UUID
    - data
    - length
    argTypes:
    - GF_ISOFile*
    - bin128
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1514
    functionName: gf_isom_get_watermark
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - udta_getEntry
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_watermark(GF_ISOFile *mov, bin128 UUID, u8** data,
      u32* length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1342,1
    - Dst: GetMediaTime
      Src: /src/gpac/src/isomedia/isom_read.c:1346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - movieTime
    - MediaTime
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1347
    functionName: gf_isom_get_media_time
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - GetMediaTime
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_media_time(GF_ISOFile *the_file, u32
      trackNumber, u32 movieTime, u64 *MediaTime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1357,1
    - Dst: Media_GetSampleDescIndex
      Src: /src/gpac/src/isomedia/isom_read.c:1360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - for_time
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 1364
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1364
    functionName: gf_isom_get_sample_description_index
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Media_GetSampleDescIndex
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_sample_description_index(GF_ISOFile *movie,
      u32 trackNumber, u64 for_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1421,1
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/isom_read.c:1429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1435
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1435
    functionName: gf_isom_get_media_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Media_SetDuration
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_get_media_duration(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1704,1
    - Dst: Media_CheckDataEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1710,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_read.c:1707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1711
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1711
    functionName: gf_isom_check_data_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Media_CheckDataEntry
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_check_data_reference(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:2076,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/isom_read.c:2084,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2087
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2087
    functionName: gf_isom_get_sample_sync
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleRAP
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_get_sample_sync(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5851,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:5858,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:5863,1
    - Dst: gf_isom_is_nalu_based_entry
      Src: /src/gpac/src/isomedia/isom_read.c:5865,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - file
    - track
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5877
      start: 5843
    functionDepth: 0
    functionLinenumber: 5843
    functionLinenumberEnd: 5877
    functionName: gf_isom_get_nalu_length_field
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_is_nalu_based_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_nalu_length_field(GF_ISOFile *file, u32
      track, u32 StreamDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - movie
    - error
    argTypes:
    - GF_ISOFile*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: gf_isom_set_last_error
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_set_last_error(GF_ISOFile *movie, GF_Err error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_untruncate
      Src: /src/gpac/src/isomedia/isom_read.c:506,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/isom_read.c:509,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:508,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_read.c:512,1
    - Dst: gf_isom_parse_movie_boxes
      Src: /src/gpac/src/isomedia/isom_read.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - movie
    - start_range
    - end_range
    - BytesMissing
    argTypes:
    - GF_ISOFile*
    - u64
    - u64
    - u64*
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: gf_isom_load_fragments
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_parse_movie_boxes
    - gf_bs_truncate
    - gf_bs_seek
    - gf_bs_untruncate
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_load_fragments(GF_ISOFile *movie, u64 start_range,
      u64 end_range, u64 *BytesMissing) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - mtype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5890
      start: 5879
    functionDepth: 0
    functionLinenumber: 5879
    functionLinenumberEnd: 5890
    functionName: gf_isom_is_video_handler_type
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_video_handler_type(u32 mtype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1316,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1320,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:1318,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:1324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - referenceType
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1331
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1331
    functionName: gf_isom_is_track_referenced
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_is_track_referenced(GF_ISOFile *movie, u32 trackNumber,
      u32 referenceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - outName
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    constantsTouched: []
    func_position:
      end: 1693
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1693
    functionName: gf_isom_get_handler_name
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_handler_name(GF_ISOFile *the_file, u32
      trackNumber, const char **outName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: gf_isom_has_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_has_root_od(GF_ISOFile *movie) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_read.c:808,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:811,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - the_file
    - trackID
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 816
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 816
    functionName: gf_isom_get_track_by_id
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_track_by_id(GF_ISOFile *the_file, GF_ISOTrackID
      trackID) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1797,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1814,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:1839,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/isomedia/isom_read.c:1821,1
    - Dst: gf_audio_fmt_from_isobmf
      Src: /src/gpac/src/isomedia/isom_read.c:1820,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/isom_read.c:1841,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - pack_num_samples
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1849
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1849
    functionName: gf_isom_enable_raw_pack
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_from_isobmf
    - gf_list_get
    - gf_isom_get_track_from_file
    - GF_LOG
    - gf_audio_fmt_bit_depth
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_enable_raw_pack(GF_ISOFile *the_file, u32 trackNumber,
      u32 pack_num_samples) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3403,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:3424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3404,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/isom_read.c:3413,1
    - Dst: gf_isom_recreate_tables
      Src: /src/gpac/src/isomedia/isom_read.c:3420,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3425,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - movie
    - reset_sample_count
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3446
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3446
    functionName: gf_isom_reset_tables
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - stbl_GetSampleDTS_and_Duration
    - gf_isom_recreate_tables
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_reset_tables(GF_ISOFile *movie, Bool reset_sample_count) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_read.c:3727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3714,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3753,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:3775,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3777,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3801,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/isom_read.c:3716,1
    - Dst: gf_isom_gen_desc_get_dsi
      Src: /src/gpac/src/isomedia/isom_read.c:3755,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_read.c:3787,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3763,1
    - Dst: gf_isom_gen_desc_get_dsi
      Src: /src/gpac/src/isomedia/isom_read.c:3803,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3711,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3743,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:3748,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3750,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3780,1
    - Dst: gf_isom_gen_desc_get_dsi
      Src: /src/gpac/src/isomedia/isom_read.c:3782,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:3796,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_read.c:3798,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3730,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_read.c:3760,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:3790,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3808
      start: 3703
    functionDepth: 0
    functionLinenumber: 3703
    functionLinenumberEnd: 3808
    functionName: gf_isom_get_generic_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - gf_malloc
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcpy
    - GF_SAFEALLOC
    - strcpy
    - gf_isom_gen_desc_get_dsi
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_GenericSampleDescription *gf_isom_get_generic_sample_description(GF_ISOFile
      *movie, u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4174,1
    - Dst: box_unused_bytes
      Src: /src/gpac/src/isomedia/isom_read.c:4177,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4180
      start: 4163
    functionDepth: 0
    functionLinenumber: 4163
    functionLinenumberEnd: 4180
    functionName: box_unused_bytes
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - box_unused_bytes
    linkageType: ''
    returnType: u64
    signature: 'static u64 box_unused_bytes(GF_Box *b) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_read.c:4281,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/isomedia/isom_read.c:4283,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4289,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_read.c:4293,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/isom_read.c:4284,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/isom_read.c:4296,1
    - Dst: gf_isom_get_decoder_config
      Src: /src/gpac/src/isomedia/isom_read.c:4327,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_read.c:4367,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 119
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4417
    functionName: gf_isom_guess_specification
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_decoder_config
    - gf_isom_get_track_count
    - gf_odf_desc_del
    - gf_isom_get_sample_count
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_guess_specification(GF_ISOFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_extensions
      Src: /src/gpac/src/isomedia/isom_read.c:4788,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:4791,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 7
    argNames:
    - mov
    - idx
    - out_tag
    - data
    - data_len
    - version
    - data_type
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    - u8**
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4799
      start: 4776
    functionDepth: 0
    functionLinenumber: 4776
    functionLinenumberEnd: 4799
    functionName: gf_isom_wma_enum_tag
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_meta_extensions
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_wma_enum_tag(GF_ISOFile *mov, u32 idx, char
      **out_tag, const u8 **data, u32 *data_len, u32 *version, u32 *data_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:5966,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:5968,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleNum
    - frag_info
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOFragmentBoundaryInfo*
    constantsTouched: []
    func_position:
      end: 6006
      start: 5959
    functionDepth: 0
    functionLinenumber: 5959
    functionLinenumberEnd: 6006
    functionName: gf_isom_sample_is_fragment_start
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - memset
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_sample_is_fragment_start(GF_ISOFile *movie,
      u32 trackNumber, u32 sampleNum, GF_ISOFragmentBoundaryInfo *frag_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: gf_isom_get_track_original_id
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOTrackID gf_isom_get_track_original_id(GF_ISOFile *movie,
      u32 trackNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1196,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - referenceType
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1208
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1208
    functionName: gf_isom_get_reference_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_isom_get_reference_count(GF_ISOFile *movie, u32 trackNumber,
      u32 referenceType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1857
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1857
    functionName: gf_isom_has_time_offset_table
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_has_time_offset_table(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_needs_layer_reconstruction
      Src: /src/gpac/src/isomedia/isom_read.c:3456,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3459,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_read.c:3471,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/isom_read.c:3486,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3460,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3488,1
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/isom_read.c:3505,1
    - Dst: gf_isom_recreate_tables
      Src: /src/gpac/src/isomedia/isom_read.c:3511,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:3516,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3517,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_read.c:3530,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:3526,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_read.c:3539,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 2
    argNames:
    - movie
    - reset_tables
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3544
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3544
    functionName: gf_isom_release_segment
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference
    - gf_list_get
    - stbl_GetSampleDTS_and_Duration
    - gf_isom_get_track_from_file
    - gf_isom_recreate_tables
    - gf_list_enum
    - gf_list_count
    - gf_isom_needs_layer_reconstruction
    - gf_isom_box_del_parent
    - gf_isom_datamap_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_release_segment(GF_ISOFile *movie, Bool reset_tables) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:3817,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:3822,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:3824,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - Width
    - Height
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 3839
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3839
    functionName: gf_isom_get_visual_info
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_visual_info(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, u32 *Width, u32 *Height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_read.c:4424,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_read.c:4428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - list
    - boxType
    - UUID
    argTypes:
    - GF_List*
    - u32
    - bin128
    constantsTouched: []
    func_position:
      end: 4432
      start: 4419
    functionDepth: 0
    functionLinenumber: 4419
    functionLinenumberEnd: 4432
    functionName: gf_isom_locate_box
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_list_enum
    linkageType: ''
    returnType: GF_ItemListBox*
    signature: 'GF_ItemListBox *gf_isom_locate_box(GF_List *list, u32 boxType, bin128
      UUID) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:4808,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_read.c:4816,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:4814,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - alternateGroupID
    - nb_groups
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4818
      start: 4802
    functionDepth: 0
    functionLinenumber: 4802
    functionLinenumberEnd: 4818
    functionName: gf_isom_get_track_switch_group_count
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - udta_getEntry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_switch_group_count(GF_ISOFile *movie,
      u32 trackNumber, u32 *alternateGroupID, u32 *nb_groups) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - movie
    - sidx_dur
    - sidx_timescale
    argTypes:
    - GF_ISOFile*
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 6137
      start: 6121
    functionDepth: 0
    functionLinenumber: 6121
    functionLinenumberEnd: 6137
    functionName: gf_isom_get_sidx_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_sidx_duration(GF_ISOFile *movie, u64
      *sidx_dur, u32 *sidx_timescale) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_read.c:230,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:235,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:250,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:250,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:255,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:255,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:257,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:257,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/isom_read.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_read.c:270,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:325,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:343,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/isomedia/isom_read.c:351,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:345,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:329,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:251,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:251,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:256,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:258,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:282,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:294,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:303,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:306,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:315,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:317,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_read.c:366,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:338,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_read.c:274,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:291,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:385,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_read.c:235,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:236,1
    - Dst: strchr
      Src: /src/gpac/src/isomedia/isom_read.c:232,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_read.c:238,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:253,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:253,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:265,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:284,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:296,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:321,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/isom_read.c:393,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:331,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:402,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:400,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:327,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/isom_read.c:404,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:338,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/isomedia/isom_read.c:363,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:387,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/isom_read.c:245,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_read.c:254,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:254,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_read.c:256,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:265,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:267,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:276,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:279,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_read.c:289,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:310,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:323,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/isomedia/isom_read.c:357,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_read.c:371,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_read.c:407,1
    - Dst: stricmp
      Src: /src/gpac/src/isomedia/isom_read.c:395,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/isomedia/isom_read.c:411,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_read.c:369,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 219
    argCount: 2
    argNames:
    - fileName
    - file
    argTypes:
    - char*
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 421
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 421
    functionName: isom_create_init_from_mem
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_isom_box_new
    - gf_malloc
    - memset
    - strncmp
    - gf_isom_box_new_parent
    - GF_LOG
    - gf_m4a_write_config
    - GF_SAFEALLOC
    - gf_odf_desc_esd_new
    - gf_media_nalu_next_start_code
    - atoi
    - strcpy
    - stricmp
    - gf_odf_avc_cfg_new
    - memcpy
    - strchr
    - AVC_RewriteESDescriptor
    - sscanf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isom_create_init_from_mem(const char *fileName, GF_ISOFile
      *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1165,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_read.c:1168,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_read.c:1168,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_read.c:1178,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_read.c:1175,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:1181,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_read.c:1183,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - index
    - scheme
    - value
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1186
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1186
    functionName: gf_isom_get_track_kind
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_kind(GF_ISOFile *the_file, u32
      trackNumber, u32 index, char **scheme, char **value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_read.c:1295,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_read.c:1300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - referenceType
    - refTrackID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 1306
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1306
    functionName: gf_isom_has_track_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_read.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_has_track_reference(GF_ISOFile *movie, u32 trackNumber,
      u32 referenceType, GF_ISOTrackID refTrackID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_meta.c:148,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: meta_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err meta_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:185,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: xml_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void xml_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:505,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: pitm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pitm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:670,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:676,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:680,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:678,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:673,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:683,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:684,1
    - Dst: gf_bs_write_byte
      Src: /src/gpac/src/isomedia/box_code_meta.c:686,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:690,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:691,1
    - Dst: gf_bs_write_byte
      Src: /src/gpac/src/isomedia/box_code_meta.c:694,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:700,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:699,1
    - Dst: gf_bs_write_byte
      Src: /src/gpac/src/isomedia/box_code_meta.c:703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 707
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 707
    functionName: infe_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_byte
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err infe_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:775,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:778,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:776,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_meta.c:781,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: iinf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iinf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_meta.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: iref_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iref_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: iref_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iref_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: meta_reset
      Src: /src/gpac/src/isomedia/box_code_meta.c:61,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: meta_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - meta_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void meta_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:158,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:161,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:160,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:162,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:159,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:163,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:164,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:165,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:166,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: meta_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err meta_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_meta.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: xml_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xml_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: pitm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pitm_box_size(GF_Box *s) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:729,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:736,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:732,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 740
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 740
    functionName: infe_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err infe_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:836,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: iref_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iref_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_meta.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 854
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 854
    functionName: iref_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iref_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:871,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:881,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:877,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:872,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:873,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:882,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 885
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 885
    functionName: ireftype_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ireftype_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:585,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:589,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:588,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:587,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: infe_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void infe_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 768
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 768
    functionName: iinf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iinf_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: iref_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iref_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:824,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: iref_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void iref_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:265,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: iloc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iloc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: infe_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *infe_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: ireftype_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ireftype_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_meta.c:901,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:905,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:904,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:907,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 910
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 910
    functionName: ireftype_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ireftype_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:32,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: meta_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *meta_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:201,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:203,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:203,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_meta.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: xml_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xml_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:248,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: bxml_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bxml_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:273,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:276,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:278,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:275,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - location
    argTypes:
    - GF_ItemLocationEntry*
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: iloc_entry_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iloc_entry_del(GF_ItemLocationEntry *location) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:405,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:402,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:406,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:414,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:425,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:426,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:434,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:411,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:416,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:419,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:422,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:424,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:400,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:404,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:403,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:431,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:433,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:429,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:408,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 438
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 438
    functionName: iloc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iloc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: pitm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pitm_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:494,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: pitm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pitm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:522,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: ipro_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ipro_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: meta_reset
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_del
    linkageType: ''
    returnType: void
    signature: 'void meta_reset(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_meta.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: xml_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xml_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: bxml_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bxml_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:287,1
    - Dst: iloc_entry_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:290,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:292,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:293,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: iloc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - iloc_entry_del
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iloc_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:448,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:463,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:464,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_meta.c:450,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 475
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 475
    functionName: iloc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iloc_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: pitm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pitm_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:531,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: ipro_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void ipro_box_del(GF_Box *s) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:598,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:603,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:600,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:609,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:610,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:622,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_meta.c:624,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:652,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:604,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:618,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:626,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_meta.c:628,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:607,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:641,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:648,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:656,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:599,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_meta.c:644,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_meta.c:620,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 661
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 661
    functionName: infe_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - memcpy
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err infe_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: xml_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *xml_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:745,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: iinf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iinf_box_new() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:71,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:74,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:77,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:80,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:83,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:86,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:89,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:92,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:95,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_meta.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: meta_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err meta_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:227,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: bxml_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void bxml_box_del(GF_Box *s) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:302,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:306,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:314,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_meta.c:336,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:346,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:353,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:301,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:311,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:352,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:358,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_meta.c:360,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:365,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_meta.c:373,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:376,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:384,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:303,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:312,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:345,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:327,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:339,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:341,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:351,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:370,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:375,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:381,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_meta.c:308,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:315,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:338,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:342,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:333,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:359,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 117
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 391
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 391
    functionName: iloc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iloc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: ipro_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipro_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:558,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:560,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: ipro_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_list_count
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipro_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_meta.c:791,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_meta.c:797,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_meta.c:793,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 800
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 800
    functionName: iinf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_list_count
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iinf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: ireftype_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ireftype_box_size(GF_Box *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_meta.c:108,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:114,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:113,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:115,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_meta.c:111,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:116,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:117,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_meta.c:118,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:126,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_meta.c:127,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_meta.c:129,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_meta.c:128,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_meta.c:134,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_meta.c:138,1
    - Dst: meta_reset
      Src: /src/gpac/src/isomedia/box_code_meta.c:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: meta_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - GF_4CC
    - gf_bs_get_position
    - gf_bs_read_u24
    - gf_isom_box_array_read
    - gf_bs_seek
    - ISOM_DECREASE_SIZE
    - gf_bs_peek_bits
    - meta_reset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err meta_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_meta.c:238,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_meta.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: bxml_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bxml_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_meta.c:546,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_meta.c:547,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_meta.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: ipro_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipro_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_meta.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: ipro_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipro_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_meta.c:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: iinf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iinf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_meta.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: bxml_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *bxml_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:862,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: ireftype_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ireftype_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_meta.c:754,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_meta.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: iinf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_meta.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void iinf_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:351,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:353,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: pixi_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pixi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: ipco_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ipco_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:750,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:752,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: grptype_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void grptype_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:593,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/iff.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: ipma_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ipma_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:881,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: auxi_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void auxi_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: pixi_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pixi_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/iff.c:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: ipco_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipco_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/iff.c:604,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:610,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/iff.c:613,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/iff.c:607,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:609,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 616
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 616
    functionName: ipma_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ipma_box_del(GF_Box *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:761,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:762,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:771,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:767,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:763,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:772,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:776,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/iff.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 783
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 783
    functionName: grptype_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grptype_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/iff.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: auxi_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:66,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:68,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ispe_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ispe_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:202,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: colr_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void colr_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: rloc_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rloc_box_del(GF_Box *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:800,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:805,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:810,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:804,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:808,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 812
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 812
    functionName: grptype_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grptype_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:1222,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:1225,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:1224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1227
    functionName: iaux_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iaux_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: ispe_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ispe_box_size(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:214,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:216,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:221,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:238,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:229,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:211,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/iff.c:218,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:222,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:225,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:212,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:226,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:228,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:227,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:213,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:232,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:235,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:234,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:233,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/iff.c:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 245
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 245
    functionName: colr_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err colr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:395,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/iff.c:396,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 399
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 399
    functionName: rloc_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_skip_bytes
    - gf_bs_read_u32
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rloc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 820
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 820
    functionName: grptype_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grptype_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1234
    functionName: iaux_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iaux_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:177,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: a1op_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1op_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 790
    functionName: grptype_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *grptype_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/iff.c:1913,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/iff.c:1929,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1931,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1916,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1932,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1933,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1934,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1935,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1936,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1937,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1940,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1941,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/iff.c:1945,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/iff.c:1946,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/iff.c:1948,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1947,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1938,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - item_name
    - item_id
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1950
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1950
    functionName: gf_isom_iff_create_image_overlay_item
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_isom_add_meta_item_memory
    - gf_bs_del
    - GF_4CC
    - gf_bs_write_u16
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_iff_create_image_overlay_item(GF_ISOFile
      *movie, Bool root_meta, u32 meta_track_number, const char *item_name, u32 item_id,
      GF_ImageItemProperties *image_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: a1op_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1op_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/iff.c:1955,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1957,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/iff.c:1959,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - item_name
    - item_id
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1961
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1961
    functionName: gf_isom_iff_create_image_identity_item
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_add_meta_item_memory
    - GF_LOG
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_iff_create_image_identity_item(GF_ISOFile
      *movie, Bool root_meta, u32 meta_track_number, const char *item_name, u32 item_id,
      GF_ImageItemProperties *image_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: imir_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *imir_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/iff.c:844,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/iff.c:848,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 850
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 850
    functionName: auxc_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:948,1
    - Dst: gf_isom_oinf_write_entry
      Src: /src/gpac/src/isomedia/iff.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: oinf_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_isom_oinf_write_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oinf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:1128,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/iff.c:1134,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:1131,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:1129,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/iff.c:1133,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:1136,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:1140,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/iff.c:1145,1
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/isomedia/iff.c:1147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1150
    functionName: ienc_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_cenc_validate_key_info
    - gf_bs_read_u8
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ienc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_oinf_size_entry
      Src: /src/gpac/src/isomedia/iff.c:957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: oinf_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_oinf_size_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oinf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: a1lx_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void a1lx_box_del(GF_Box *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/iff.c:126,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:130,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/iff.c:127,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: a1lx_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_int
    - gf_isom_box_write_header
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1lx_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: imir_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void imir_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: iprp_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iprp_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/iff.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: iprp_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iprp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:664,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/iff.c:666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/iff.c:669,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:671,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:667,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:673,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:675,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:678,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 685
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 685
    functionName: ipma_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipma_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_oinf_read_entry
      Src: /src/gpac/src/isomedia/iff.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: oinf_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_oinf_read_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oinf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:48,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/iff.c:53,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:49,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: ispe_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_skip_bytes
    - gf_bs_read_u32
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ispe_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:103,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:109,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/iff.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/iff.c:104,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:108,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:111,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: a1lx_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_int
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1lx_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: a1lx_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1lx_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 488
    functionName: imir_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err imir_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/iff.c:557,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/iff.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: iprp_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iprp_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/iff.c:693,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/iff.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: ipma_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipma_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:409,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:412,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: rloc_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rloc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:454,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: irot_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err irot_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: grpl_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: rloc_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rloc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: irot_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err irot_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: grpl_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpl_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: pixi_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pixi_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: irot_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *irot_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: grpl_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *grpl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/iff.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: grpl_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1199
    functionName: iaux_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iaux_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: grpl_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void grpl_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: iaux_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iaux_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: ipco_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ipco_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: a1op_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *a1op_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:905,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:910,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:909,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/iff.c:909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 912
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 912
    functionName: auxi_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1053
    functionName: mdcv_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mdcv_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/iff.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 919
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 919
    functionName: auxi_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxi_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1059
    functionName: mdcv_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mdcv_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: rloc_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rloc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: auxi_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *auxi_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1009
    functionName: clli_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *clli_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:1032,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1035,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1037
    functionName: clli_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clli_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: clli_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void clli_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1044
    functionName: clli_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clli_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:924,1
    - Dst: gf_isom_oinf_new_entry
      Src: /src/gpac/src/isomedia/iff.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: oinf_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    - gf_isom_oinf_new_entry
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *oinf_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:624,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/iff.c:630,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:625,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/iff.c:628,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:632,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:633,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:635,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:636,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:638,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:639,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:647,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:643,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 654
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 654
    functionName: ipma_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipma_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_oinf_del_entry
      Src: /src/gpac/src/isomedia/iff.c:932,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: oinf_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_oinf_del_entry
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void oinf_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: iprp_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iprp_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: ipco_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipco_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:978,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 981
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 981
    functionName: tols_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tols_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:1085,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1093,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1092,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1090,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1089,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:1094,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:1095,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1098
    functionName: mdcv_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdcv_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: ipco_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipco_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1105
    functionName: mdcv_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdcv_box_size(GF_Box *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:252,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:257,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:256,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:258,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:260,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:264,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:265,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:266,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:267,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:268,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:271,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:274,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:278,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:273,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/iff.c:277,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 283
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: colr_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err colr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:318,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: pixi_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pixi_box_del(GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:495,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: imir_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err imir_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: tols_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tols_box_new() '
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/iff.c:1299,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1683,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/iff.c:1569,1
    - Dst: gf_media_split_hevc_tiles
      Src: /src/gpac/src/isomedia/iff.c:1284,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/iff.c:1303,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1324,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/iff.c:1323,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/isomedia/iff.c:1413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1594,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1477,1
    - Dst: gf_isom_reset_alt_brands
      Src: /src/gpac/src/isomedia/iff.c:1694,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/iff.c:1739,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/iff.c:1563,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/isomedia/iff.c:1264,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/iff.c:1326,1
    - Dst: gf_isom_get_sample_for_media_time
      Src: /src/gpac/src/isomedia/iff.c:1422,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1583,1
    - Dst: gf_isom_get_pssh_count
      Src: /src/gpac/src/isomedia/iff.c:1650,1
    - Dst: gf_isom_get_pssh_info
      Src: /src/gpac/src/isomedia/iff.c:1659,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1531,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/iff.c:1315,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/iff.c:1345,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/isomedia/iff.c:1420,1
    - Dst: gf_cenc_set_pssh
      Src: /src/gpac/src/isomedia/iff.c:1661,1
    - Dst: gf_isom_add_meta_item_sample_ref
      Src: /src/gpac/src/isomedia/iff.c:1679,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/iff.c:1300,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/iff.c:1457,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1519,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1489,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1737,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1566,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/iff.c:1368,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/iff.c:1632,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/isomedia/iff.c:1459,1
    - Dst: gf_isom_get_sample_cenc_info
      Src: /src/gpac/src/isomedia/iff.c:1634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1677,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/iff.c:1293,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/isomedia/iff.c:1308,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/isomedia/iff.c:1310,1
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/src/isomedia/iff.c:1350,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/src/isomedia/iff.c:1356,1
    - Dst: gf_isom_add_meta_item_sample_ref
      Src: /src/gpac/src/isomedia/iff.c:1406,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/iff.c:1562,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/isomedia/iff.c:1693,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/isomedia/iff.c:1417,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/iff.c:1332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1352,1
    - Dst: gf_isom_extract_meta_item_mem
      Src: /src/gpac/src/isomedia/iff.c:1400,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/iff.c:1738,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1404,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/isomedia/iff.c:1458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1464,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1479,1
    - Dst: gf_media_av1_layer_size_get
      Src: /src/gpac/src/isomedia/iff.c:1571,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/src/isomedia/iff.c:1633,1
    - Dst: gf_isom_cenc_get_sample_aux_info
      Src: /src/gpac/src/isomedia/iff.c:1639,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/iff.c:1726,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/iff.c:1730,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1606,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/iff.c:1367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1434,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/iff.c:1442,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/isomedia/iff.c:1604,1
    - Dst: gf_isom_get_pixel_aspect_ratio
      Src: /src/gpac/src/isomedia/iff.c:1609,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1449,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1501,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/src/isomedia/iff.c:1545,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1565,1
    - Dst: gf_isom_iff_create_image_item_from_track
      Src: /src/gpac/src/isomedia/iff.c:1305,1
    - Dst: gf_isom_meta_get_next_item_id
      Src: /src/gpac/src/isomedia/iff.c:1670,1
    - Dst: gf_isom_iff_create_image_item_from_track
      Src: /src/gpac/src/isomedia/iff.c:1317,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/iff.c:1419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1427,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1543,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/iff.c:1436,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/iff.c:1290,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1491,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/iff.c:1581,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/iff.c:1440,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/isomedia/iff.c:1521,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1573,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/iff.c:1687,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/iff.c:1724,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/iff.c:1599,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1599,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/isomedia/iff.c:1460,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1611,1
    - Dst: gf_isom_meta_get_item_ref_count
      Src: /src/gpac/src/isomedia/iff.c:1345,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/isomedia/iff.c:1361,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/iff.c:1403,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/iff.c:1416,1
    CyclomaticComplexity: 187
    EdgeCount: 187
    ICount: 458
    argCount: 9
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - imported_track
    - item_name
    - item_id
    - image_props
    - item_extent_refs
    - sample_number
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 1742
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1742
    functionName: gf_isom_iff_create_image_item_from_track_internal
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_box_new
    - gf_isom_get_pssh_count
    - memset
    - GF_LOG
    - gf_isom_avc_config_get
    - gf_isom_get_sample_for_media_time
    - gf_isom_svc_config_get
    - gf_media_av1_layer_size_get
    - gf_4cc_to_str
    - gf_isom_extract_meta_item_mem
    - gf_isom_get_media_subtype
    - gf_isom_get_original_format_type
    - gf_list_pop_back
    - gf_isom_get_reference_count
    - gf_list_del
    - GF_4CC
    - gf_isom_is_media_encrypted
    - gf_isom_get_meta_image_props
    - gf_list_count
    - gf_isom_meta_get_item_ref_count
    - gf_isom_get_media_timescale
    - gf_list_new
    - gf_isom_av1_config_get
    - gf_isom_add_meta_item_memory
    - gf_list_get
    - gf_isom_get_cenc_info
    - gf_isom_mvc_config_get
    - gf_isom_reset_alt_brands
    - gf_isom_cenc_get_sample_aux_info
    - sprintf
    - gf_isom_add_meta_item_sample_ref
    - gf_isom_vvc_config_get
    - memcpy
    - gf_isom_last_error
    - gf_free
    - gf_isom_is_cenc_media
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_hevc_config_get
    - gf_media_split_hevc_tiles
    - gf_isom_get_visual_info
    - gf_isom_get_pixel_aspect_ratio
    - gf_cenc_set_pssh
    - gf_isom_meta_get_next_item_id
    - gf_isom_get_reference
    - gf_isom_get_meta_item_by_id
    - gf_isom_get_pssh_info
    - gf_isom_get_sample_cenc_info
    - gf_isom_box_del
    - gf_isom_get_meta_item_info
    - gf_isom_lhvc_config_get
    - gf_isom_meta_add_item_ref
    - gf_isom_get_meta_item_count
    - gf_isom_get_sample
    - gf_isom_remove_track
    - gf_isom_set_brand_info
    - gf_isom_iff_create_image_item_from_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_iff_create_image_item_from_track_internal(GF_ISOFile
      *movie, Bool root_meta, u32 meta_track_number, u32 imported_track, const char
      *item_name, u32 item_id, GF_ImageItemProperties *image_props, GF_List *item_extent_refs,
      u32 sample_number) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: colr_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err colr_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:328,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/iff.c:329,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:336,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:331,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:332,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/iff.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: pixi_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u8
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pixi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: imir_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err imir_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: tols_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tols_box_del(GF_Box *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/iff.c:1747,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1754,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/iff.c:1757,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1750,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1760,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1761,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1762,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1763,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:1764,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1769,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/iff.c:1768,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/iff.c:1767,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/iff.c:1770,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 6
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - item_name
    - item_id
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32*
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1772
    functionName: gf_isom_iff_create_image_grid_item_internal
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_isom_add_meta_item_memory
    - gf_bs_del
    - GF_4CC
    - gf_bs_write_u16
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_iff_create_image_grid_item_internal(GF_ISOFile
      *movie, Bool root_meta, u32 meta_track_number, const char *item_name, u32 *item_id,
      GF_ImageItemProperties *image_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: irot_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void irot_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: auxc_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *auxc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:1020,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1022,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1024
    functionName: clli_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clli_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:1210,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:1212,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:1211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    functionName: iaux_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iaux_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_iff_create_image_grid_item_internal
      Src: /src/gpac/src/isomedia/iff.c:1777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - item_name
    - item_id
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: gf_isom_iff_create_image_grid_item
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_iff_create_image_grid_item_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_iff_create_image_grid_item(GF_ISOFile *movie,
      Bool root_meta, u32 meta_track_number, const char *item_name, u32 item_id, GF_ImageItemProperties
      *image_props) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:834,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:835,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 837
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 837
    functionName: auxc_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void auxc_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: irot_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err irot_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/iff.c:1799,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1858,1
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/iff.c:1889,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/isomedia/iff.c:1800,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/iff.c:1811,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/iff.c:1865,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/iff.c:1867,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/iff.c:1893,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/src/isomedia/iff.c:1794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1808,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1873,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/src/isomedia/iff.c:1900,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/isomedia/iff.c:1791,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1807,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1819,1
    - Dst: gf_isom_iff_create_image_grid_item_internal
      Src: /src/gpac/src/isomedia/iff.c:1875,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/iff.c:1882,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1877,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/isomedia/iff.c:1882,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1904,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 112
    argCount: 6
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - item_name
    - item_id
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1906
    functionName: iff_create_auto_grid
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    - memset
    - GF_4CC
    - gf_realloc
    - gf_list_enum
    - gf_isom_get_meta_image_props
    - gf_isom_get_meta_item_info
    - GF_LOG
    - gf_isom_meta_add_item_ref
    - gf_isom_get_meta_item_count
    - memcpy
    - gf_isom_iff_create_image_grid_item_internal
    - gf_isom_set_meta_primary_item
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err iff_create_auto_grid(GF_ISOFile *movie, Bool root_meta,
      u32 meta_track_number, const char *item_name, u32 item_id, GF_ImageItemProperties
      *image_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ispe_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ispe_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: a1op_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void a1op_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/iff.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: iprp_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iprp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:858,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/iff.c:862,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:864,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:862,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 867
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 867
    functionName: auxc_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:989,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/iff.c:991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 993
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 993
    functionName: tols_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tols_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: ienc_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ienc_box_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/iff.c:1160,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1167,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/iff.c:1165,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/iff.c:1164,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/iff.c:1171,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/iff.c:1178,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/iff.c:1179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1181
    functionName: ienc_box_write
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ienc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ispe_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ispe_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/iff.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: a1op_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1op_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/iff.c:584,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/iff.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: iprp_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iprp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/iff.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 874
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 874
    functionName: auxc_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: tols_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tols_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1119,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/iff.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: ienc_box_del
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ienc_box_del(GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1190
    functionName: ienc_box_size
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ienc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: colr_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *colr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/iff.c:1065,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1071,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1070,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1067,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/iff.c:1068,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:1072,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/iff.c:1073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: mdcv_box_read
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdcv_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/iff.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: a1lx_box_new
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *a1lx_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iff_create_auto_grid
      Src: /src/gpac/src/isomedia/iff.c:1968,1
    - Dst: gf_isom_iff_create_image_item_from_track_internal
      Src: /src/gpac/src/isomedia/iff.c:1970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 8
    argNames:
    - movie
    - root_meta
    - meta_track_number
    - imported_track
    - item_name
    - item_id
    - image_props
    - item_extent_refs
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - char*
    - u32
    - GF_ImageItemProperties*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1971
    functionName: gf_isom_iff_create_image_item_from_track
    functionSourceFile: /src/gpac/src/isomedia/iff.c
    functionUses: []
    functionsReached:
    - iff_create_auto_grid
    - gf_isom_iff_create_image_item_from_track_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_iff_create_image_item_from_track(GF_ISOFile
      *movie, Bool root_meta, u32 meta_track_number, u32 imported_track, const char
      *item_name, u32 item_id, GF_ImageItemProperties *image_props, GF_List *item_extent_refs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AV1_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/avc_ext.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - av1
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1472
    functionName: AV1_RewriteESDescriptor
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - AV1_RewriteESDescriptorEx
    linkageType: ''
    returnType: void
    signature: 'void AV1_RewriteESDescriptor(GF_MPEGVisualSampleEntryBox *av1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_avc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:1733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1734
    functionName: gf_isom_avc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_avc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_avc_config_update(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, GF_AVCConfig *cfg) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2633,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:2643,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2637,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 31
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2668
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2668
    functionName: gf_isom_get_hevc_lhvc_type
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_is_video_handler_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOMHEVCType gf_isom_get_hevc_lhvc_type(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2719,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:2721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2724
    functionName: btrt_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *btrt_box_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2507,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2505,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2511,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2512
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2512
    functionName: gf_isom_svc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - AVC_DuplicateConfig
    - gf_list_get
    - gf_isom_get_avc_svc_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AVCConfig *gf_isom_svc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_VPConfig*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1491
    functionName: VP_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_new
    linkageType: ''
    returnType: GF_VPConfig*
    signature: 'static GF_VPConfig * VP_DuplicateConfig(GF_VPConfig const * const
      cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_avc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:1739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - is_add
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AVCConfig*
    - Bool
    constantsTouched: []
    func_position:
      end: 1740
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1740
    functionName: gf_isom_svc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_avc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_svc_config_update(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, GF_AVCConfig *cfg, Bool is_add) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2677,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2685,1
    - Dst: gf_isom_get_oinf_info
      Src: /src/gpac/src/isomedia/avc_ext.c:2688,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2681,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2679,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/avc_ext.c:2690,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2700
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2700
    functionName: gf_isom_lhvc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - gf_isom_get_track_from_file
    - gf_isom_get_oinf_info
    - gf_isom_get_hevc_lhvc_type
    - HEVC_DuplicateConfig
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HEVCConfig *gf_isom_lhvc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2520,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2522,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2524,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2529
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2529
    functionName: gf_isom_mvc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - AVC_DuplicateConfig
    - gf_list_get
    - gf_isom_get_avc_svc_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AVCConfig *gf_isom_mvc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:331,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:339,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:342,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/avc_ext.c:333,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:337,1
    - Dst: check_sap2
      Src: /src/gpac/src/isomedia/avc_ext.c:354,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:365,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:367,1
    - Dst: check_sap2
      Src: /src/gpac/src/isomedia/avc_ext.c:376,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:387,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:394,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:389,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 55
    argCount: 4
    argNames:
    - mdia
    - sampleNumber
    - sample
    - entry
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample*
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 398
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 398
    functionName: gf_isom_nalu_get_sample_sap
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - check_sap2
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_ISOSAPType
    signature: 'GF_ISOSAPType gf_isom_nalu_get_sample_sap(GF_MediaBox *mdia, u32 sampleNumber,
      GF_ISOSample *sample, GF_MPEGVisualSampleEntryBox *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_avc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:1744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - is_add
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AVCConfig*
    - Bool
    constantsTouched: []
    func_position:
      end: 1745
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1745
    functionName: gf_isom_mvc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_avc_config_update_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_mvc_config_update(GF_ISOFile *the_file, u32 trackNumber,
      u32 DescriptionIndex, GF_AVCConfig *cfg, Bool is_add) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_svc_mvc_config_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1786
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1786
    functionName: gf_isom_svc_config_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_svc_mvc_config_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_svc_config_del(GF_ISOFile *the_file, u32 trackNumber,
      u32 DescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2254
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2254
    functionName: gf_isom_hevc_set_inband_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_hevc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hevc_set_inband_config(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, Bool keep_xps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2752,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2753,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2755
    functionName: m4ds_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_list_del
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void m4ds_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2989,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3001,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3006,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:3011,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2987,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2994,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2996,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2997,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2998,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3009,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2999,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3010,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/isomedia/avc_ext.c:3016,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3018,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3019,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3022,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2991,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2993,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3017,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3020,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3027,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3024,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/avc_ext.c:2977,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2986,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2988,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:3003,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3007,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3002,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3025,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:3029,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3021,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3028,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3034
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 3034
    functionName: avcc_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_avcc_use_extensions
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avcc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3262
    functionName: vvnc_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vvnc_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3362,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3365
      start: 3359
    functionDepth: 0
    functionLinenumber: 3359
    functionLinenumberEnd: 3365
    functionName: vpcc_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vpcc_box_del(GF_Box *s) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:405,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:416,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:407,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:418,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:423,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:428,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:429,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:430,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:435,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:436,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:440,1
    - Dst: rewrite_nalus_list
      Src: /src/gpac/src/isomedia/avc_ext.c:441,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 6
    argNames:
    - ps_bs
    - rewrite_start_codes
    - nal_unit_size_field
    - entry
    - is_hevc
    - has_vps
    argTypes:
    - GF_BitStream*
    - Bool
    - u32
    - GF_MPEGVisualSampleEntryBox*
    - Bool
    - Bool*
    constantsTouched: []
    func_position:
      end: 444
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 444
    functionName: nalu_merge_ps
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - rewrite_nalus_list
    linkageType: ''
    returnType: void
    signature: 'static void nalu_merge_ps(GF_BitStream *ps_bs, Bool rewrite_start_codes,
      u32 nal_unit_size_field, GF_MPEGVisualSampleEntryBox *entry, Bool is_hevc, Bool
      *has_vps) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1753,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1757,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1755,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1776,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1779,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - is_mvc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1781
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1781
    functionName: gf_isom_svc_mvc_config_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - AVC_RewriteESDescriptor
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_svc_mvc_config_del(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, Bool is_mvc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_svc_mvc_config_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: gf_isom_mvc_config_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_svc_mvc_config_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_mvc_config_del(GF_ISOFile *the_file, u32 trackNumber,
      u32 DescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2260
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2260
    functionName: gf_isom_lhvc_force_inband_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_hevc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_lhvc_force_inband_config(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:2304,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2327,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2306,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2309,1
    - Dst: VVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2328,1
    - Dst: nalu_cleanup_config
      Src: /src/gpac/src/isomedia/avc_ext.c:2337,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 42
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - operand_type
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_VVCConfig*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2351
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2351
    functionName: gf_isom_vvc_config_update_ex
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - VVC_DuplicateConfig
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - CanAccessMovie
    - nalu_cleanup_config
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_vvc_config_update_ex(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, GF_VVCConfig *cfg, u32 operand_type, Bool
      keep_xps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2763,1
    - Dst: gf_odf_desc_list_read
      Src: /src/gpac/src/isomedia/avc_ext.c:2765,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2766,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:2764,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2768
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2768
    functionName: m4ds_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_odf_desc_list_read
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4ds_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3045,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3047,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/isomedia/avc_ext.c:3055,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3049,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3051,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3057,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3059,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3063
    functionName: avcc_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_avcc_use_extensions
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avcc_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3372,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3377,1
    - Dst: gf_odf_vp_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3376,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3375,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3385
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3385
    functionName: vpcc_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_odf_vp_cfg_read_bs
    - gf_odf_vp_cfg_del
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vpcc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3432
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3432
    functionName: vpcc_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vpcc_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3797,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:3798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3794
    functionDepth: 0
    functionLinenumber: 3794
    functionLinenumberEnd: 3802
    functionName: gf_isom_linf_new_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_LHVCLayerInformation*
    signature: 'GF_LHVCLayerInformation *gf_isom_linf_new_entry() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1070,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1072,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1074,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1076,1
    - Dst: merge_all_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1081,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1085,1
    - Dst: GetTrackbyID
      Src: /src/gpac/src/isomedia/avc_ext.c:1090,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1093,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1071,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1073,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1075,1
    - Dst: CHECK_CODE
      Src: /src/gpac/src/isomedia/avc_ext.c:1077,1
    - Dst: merge_avc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1104,1
    - Dst: merge_hevc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1110,1
    - Dst: merge_avc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1098,1
    - Dst: merge_hevc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1107,1
    - Dst: merge_avc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1101,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 42
    argCount: 1
    argNames:
    - profile_idc
    argTypes:
    - profile_idc
    constantsTouched: []
    func_position:
      end: 1114
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1114
    functionName: CHECK_CODE
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - merge_hevc_config
    - Track_FindRef
    - CHECK_CODE
    - merge_avc_config
    - merge_all_config
    - GetTrackbyID
    linkageType: ''
    returnType: CHECK_CODE(configurationVersion)
    signature: "CHECK_CODE(configurationVersion) CHECK_CODE(profile_idc)\tCHECK_CODE(profile_space)\tCHECK_CODE(tier_flag)\tCHECK_CODE(general_profile_compatibility_flags)\tCHECK_CODE(progressive_source_flag)\tCHECK_CODE(interlaced_source_flag)\tCHECK_CODE(constraint_indicator_flags)\tCHECK_CODE(level_idc)\tCHECK_CODE(min_spatial_segmentation_idc)}void
      merge_all_config(GF_AVCConfig *avc_cfg, GF_HEVCConfig *hevc_cfg, GF_MediaBox
      *mdia) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1339,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1341,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1346,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1352,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1344,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1356,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1358,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1361,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1363,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:1365,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1370,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1372,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1375,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:1379,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1377,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 3
    argNames:
    - the_file
    - trak
    - entry
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1388
    functionName: gf_isom_check_mvc
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_free
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_check_mvc(GF_ISOFile *the_file, GF_TrackBox
      *trak, GF_MPEGVisualSampleEntryBox *entry) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1137,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1121,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1163,1
    - Dst: merge_all_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1168,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1166,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/avc_ext.c:1145,1
    - Dst: merge_avc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1153,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1170,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1179,1
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/avc_ext.c:1118,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/avc_ext.c:1142,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/avc_ext.c:1144,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1162,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1174,1
    - Dst: merge_all_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1160,1
    - Dst: merge_all_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1176,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1120,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1146,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1150,1
    - Dst: merge_avc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1157,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1171,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 2
    argNames:
    - avc
    - mdia
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    - GF_MediaBox*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1181
    functionName: AVC_RewriteESDescriptorEx
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_esd_new
    - gf_odf_desc_add_desc
    - gf_list_enum
    - AVC_DuplicateConfig
    - gf_odf_avc_cfg_write
    - gf_odf_avc_cfg_del
    - gf_isom_sample_entry_get_bitrate
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - merge_avc_config
    - gf_isom_box_find_child
    - merge_all_config
    linkageType: ''
    returnType: void
    signature: 'void AVC_RewriteESDescriptorEx(GF_MPEGVisualSampleEntryBox *avc, GF_MediaBox
      *mdia) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1393,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1409,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1410,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1411,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1414,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:1415,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_AV1Config*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1419
    functionName: AV1_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - memcpy
    - gf_list_new
    linkageType: ''
    returnType: GF_AV1Config*
    signature: 'static GF_AV1Config * AV1_DuplicateConfig(GF_AV1Config const * const
      cfg) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2137,1
    - Dst: nalu_cleanup_config
      Src: /src/gpac/src/isomedia/avc_ext.c:2155,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2201,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2224,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2227,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2218,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2149,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2198,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2139,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2112,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2115,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2150,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2202,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2228,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2189,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:2110,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2144,1
    - Dst: nalu_cleanup_config
      Src: /src/gpac/src/isomedia/avc_ext.c:2162,1
    - Dst: HEVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:2240,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 127
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - operand_type
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_HEVCConfig*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2242
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2242
    functionName: gf_isom_hevc_config_update_ex
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - gf_odf_hevc_cfg_del
    - HEVC_RewriteESDescriptor
    - CanAccessMovie
    - nalu_cleanup_config
    - HEVC_DuplicateConfig
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_hevc_config_update_ex(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, GF_HEVCConfig *cfg, u32 operand_type,
      Bool keep_xps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - is_base_track
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_HEVCConfig*
    - Bool
    constantsTouched: []
    func_position:
      end: 2267
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2267
    functionName: gf_isom_hevc_set_tile_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_hevc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hevc_set_tile_config(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, GF_HEVCConfig *cfg, Bool is_base_track) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2572,1
    - Dst: DOVI_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2579
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2579
    functionName: gf_isom_dovi_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - DOVI_DuplicateConfig
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOVIDecoderConfigurationRecord *gf_isom_dovi_config_get(GF_ISOFile*
      the_file, u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2771,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:2773,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2777
    functionName: m4ds_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *m4ds_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:3528,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3531,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3535
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3535
    functionName: CoLL_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CoLL_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 2248
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2248
    functionName: gf_isom_hevc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_hevc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hevc_config_update(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, GF_HEVCConfig *cfg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2275,1
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2281,1
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2279,1
    - Dst: gf_isom_hevc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - track_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_HEVCConfig*
    - GF_ISOMLHEVCTrackType
    constantsTouched: []
    func_position:
      end: 2285
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2285
    functionName: gf_isom_lhvc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_hevc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_lhvc_config_update(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, GF_HEVCConfig *cfg, GF_ISOMLHEVCTrackType
      track_type) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2587,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2589,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:2599,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2592,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 38
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2625
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2625
    functionName: gf_isom_get_avc_svc_type
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_is_video_handler_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOMAVCType gf_isom_get_avc_svc_type(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3542
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3542
    functionName: CoLL_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CoLL_box_size(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_sap2
      Src: /src/gpac/src/isomedia/avc_ext.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 4
    argNames:
    - mdia
    - sampleNumber
    - sample
    - nal_type
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample*
    - u8
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: hevc_sap_type_from_nal_type
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - check_sap2
    linkageType: ''
    returnType: GF_ISOSAPType
    signature: 'static GF_ISOSAPType hevc_sap_type_from_nal_type(GF_MediaBox *mdia,
      u32 sampleNumber, GF_ISOSample *sample, u8 nal_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1549,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1556,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/avc_ext.c:1562,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1559,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1552,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1563,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1568,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1570,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1572,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1574,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1577,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AVCConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1579
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1579
    functionName: gf_isom_avc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - AVC_RewriteESDescriptor
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - gf_sys_is_test_mode
    - CanAccessMovie
    - AVC_DuplicateConfig
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_avc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AVCConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1902,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1905,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1909,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1912,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1916,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1920,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1922,1
    - Dst: VVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1924,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1927,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_VVCConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1929
    functionName: gf_isom_vvc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - VVC_DuplicateConfig
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_vvc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_VVCConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1980,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1990,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1994,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1987,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1983,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1998,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2000,1
    - Dst: AV1_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2002,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2005,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AV1Config*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 2007
    functionName: gf_isom_av1_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - AV1_DuplicateConfig
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_av1_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AV1Config *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2399,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2401,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2408,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2409
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2409
    functionName: gf_isom_avc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - AVC_DuplicateConfig
    - gf_list_get
    - gf_isom_get_avc_svc_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AVCConfig *gf_isom_avc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:3271,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3273,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3276
    functionName: vvnc_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvnc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1588,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1592,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1615,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1639,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1643,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1666,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1663,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1670,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1673,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1677,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1691,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1660,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1668,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1669,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1675,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1676,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1695,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1713,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1712,1
    - Dst: gf_isom_check_mvc
      Src: /src/gpac/src/isomedia/avc_ext.c:1716,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1705,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1611,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1626,1
    - Dst: gf_isom_check_mvc
      Src: /src/gpac/src/isomedia/avc_ext.c:1698,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1720,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1709,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1590,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1614,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1623,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1627,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1642,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:1662,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1659,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1661,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1667,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1674,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1694,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 117
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    - op_type
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AVCConfig*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1722
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1722
    functionName: gf_isom_avc_config_update_ex
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_check_mvc
    - AVC_RewriteESDescriptor
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_odf_avc_cfg_del
    - gf_list_rem
    - CanAccessMovie
    - AVC_DuplicateConfig
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_avc_config_update_ex(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, GF_AVCConfig *cfg, u32 op_type, Bool keep_xps) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1940,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1947,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1950,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1943,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1954,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1958,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1961,1
    - Dst: VP_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1963,1
    - Dst: strncpy
      Src: /src/gpac/src/isomedia/avc_ext.c:1965,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1967,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    - vpx_type
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_VPConfig*
    - char*
    - char*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 1969
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1969
    functionName: gf_isom_vp_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - VP_DuplicateConfig
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - strncpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_vp_config_new(GF_ISOFile *the_file, u32 trackNumber,
      GF_VPConfig *cfg, const char *URLname, const char *URNname, u32 *outDescriptionIndex,
      u32 vpx_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:2018,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:2028,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2021,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:2032,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:2025,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2036,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:2038,1
    - Dst: IAMF_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2040,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2047,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_IAConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2049
    functionName: gf_isom_ia_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - IAMF_DuplicateConfig
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_ia_config_new(GF_ISOFile *the_file, u32 trackNumber,
      GF_IAConfig *cfg, const char *URLname, const char *URNname, u32 *outDescriptionIndex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2416,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2423,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2427,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/avc_ext.c:2418,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2425,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2431,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2432
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2432
    functionName: gf_isom_hevc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_get_hevc_lhvc_type
    - HEVC_DuplicateConfig
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HEVCConfig *gf_isom_hevc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3282
    functionName: vvnc_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvnc_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:279,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/avc_ext.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - mdia
    - sampleNumber
    - sample
    argTypes:
    - GF_MediaBox*
    - u32
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: check_sap2
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - memset
    - Media_GetSample
    linkageType: ''
    returnType: GF_ISOSAPType
    signature: 'static GF_ISOSAPType check_sap2(GF_MediaBox *mdia, u32 sampleNumber,
      GF_ISOSample *sample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:1530,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:1532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_DOVIDecoderConfigurationRecord*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: DOVI_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DOVIDecoderConfigurationRecord*
    signature: 'static GF_DOVIDecoderConfigurationRecord * DOVI_DuplicateConfig(GF_DOVIDecoderConfigurationRecord
      *cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_svc_mvc_config_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AVCConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1850
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1850
    functionName: gf_isom_mvc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_svc_mvc_config_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_mvc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AVCConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_avc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1728
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1728
    functionName: gf_isom_avc_set_inband_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_avc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_avc_set_inband_config(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, Bool keep_xps) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1862,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1869,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1865,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1876,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1872,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1880,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1882,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1884,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1887,1
    - Dst: HEVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1888,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_HEVCConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1890
    functionName: gf_isom_hevc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - HEVC_RewriteESDescriptor
    - CanAccessMovie
    - HEVC_DuplicateConfig
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hevc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_HEVCConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/avc_ext.c:35,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/avc_ext.c:71,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:75,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 18
    argCount: 2
    argNames:
    - mdia
    - _entry
    argTypes:
    - GF_MediaBox*
    - GF_SampleEntryBox*
    constantsTouched: []
    func_position:
      end: 88
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 88
    functionName: gf_isom_is_nalu_based_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_is_nalu_based_entry(GF_MediaBox *mdia, GF_SampleEntryBox
      *_entry) '
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/avc_ext.c:469,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:543,1
    - Dst: nalu_merge_ps
      Src: /src/gpac/src/isomedia/avc_ext.c:709,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:847,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:860,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:692,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:489,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/avc_ext.c:491,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/avc_ext.c:529,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/avc_ext.c:557,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:637,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:813,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:790,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/avc_ext.c:555,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/avc_ext.c:782,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/avc_ext.c:878,1
    - Dst: nalu_merge_ps
      Src: /src/gpac/src/isomedia/avc_ext.c:713,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:837,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:680,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/avc_ext.c:492,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:524,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/avc_ext.c:517,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:775,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:887,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/avc_ext.c:481,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:706,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:806,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:885,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/avc_ext.c:513,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:640,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/avc_ext.c:661,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:691,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:769,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:764,1
    - Dst: hevc_sap_type_from_nal_type
      Src: /src/gpac/src/isomedia/avc_ext.c:824,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:539,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:634,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/avc_ext.c:657,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:683,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:684,1
    - Dst: process_extractor
      Src: /src/gpac/src/isomedia/avc_ext.c:864,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:888,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:763,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/avc_ext.c:729,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:845,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:689,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/avc_ext.c:896,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:906,1
    - Dst: GetTrackbyID
      Src: /src/gpac/src/isomedia/avc_ext.c:703,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:510,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:514,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:832,1
    - Dst: process_extractor
      Src: /src/gpac/src/isomedia/avc_ext.c:795,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:849,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:850,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/avc_ext.c:747,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:808,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:749,1
    - Dst: gf_isom_nalu_sample_rewrite
      Src: /src/gpac/src/isomedia/avc_ext.c:827,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:761,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:682,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/avc_ext.c:893,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:733,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:673,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:688,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:487,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/avc_ext.c:499,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:506,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:558,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:559,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/avc_ext.c:629,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/avc_ext.c:532,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:628,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:656,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:772,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:881,1
    - Dst: gf_isom_nalu_get_sample_sap
      Src: /src/gpac/src/isomedia/avc_ext.c:565,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/avc_ext.c:646,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:840,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:756,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:812,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/avc_ext.c:750,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/avc_ext.c:734,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:825,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:883,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:672,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:685,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:810,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:762,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 386
    argCount: 4
    argNames:
    - mdia
    - sample
    - sampleNumber
    - entry
    argTypes:
    - GF_MediaBox*
    - GF_ISOSample*
    - u32
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 910
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 910
    functionName: gf_isom_nalu_sample_rewrite
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - hevc_sap_type_from_nal_type
    - gf_bs_skip_bytes
    - gf_isom_get_media_subtype
    - nalu_merge_ps
    - gf_isom_get_reference_count
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_list_find
    - memmove
    - gf_bs_write_int
    - gf_bs_read_data
    - gf_bs_read_u16
    - gf_list_get
    - gf_bs_read_u8
    - gf_isom_nalu_sample_rewrite
    - Track_FindRef
    - gf_bs_get_position
    - gf_isom_get_sample_ex
    - gf_bs_write_u16
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - gf_isom_sample_new
    - gf_isom_nalu_get_sample_sap
    - GetTrackbyID
    - gf_bs_transfer
    - gf_isom_get_reference
    - gf_realloc
    - process_extractor
    - gf_bs_available
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_nalu_sample_rewrite(GF_MediaBox *mdia, GF_ISOSample
      *sample, u32 sampleNumber, GF_MPEGVisualSampleEntryBox *entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/avc_ext.c:2787,1
    - Dst: gf_odf_desc_list_write
      Src: /src/gpac/src/isomedia/avc_ext.c:2791,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:2794,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2795,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2798
    functionName: m4ds_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_list_write
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4ds_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3304,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3306,1
    - Dst: gf_odf_av1_cfg_read_bs_size
      Src: /src/gpac/src/isomedia/avc_ext.c:3308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3310,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3316,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:3318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3321
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3321
    functionName: av1c_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - GF_LOG
    - gf_odf_av1_cfg_read_bs_size
    - gf_odf_av1_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1c_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:3405,1
    - Dst: gf_odf_vp_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3409
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3409
    functionName: vpcc_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_write_bs
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vpcc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3504
    functionName: CoLL_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *CoLL_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3809,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3813,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:3811,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3810,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3816
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3816
    functionName: gf_isom_linf_del_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_linf_del_entry(void *entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3847,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3851,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3848,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3849,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3852,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3853,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3854,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3855,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3856,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - entry
    - bs
    argTypes:
    - void*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3860
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3860
    functionName: gf_isom_linf_write_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_bs_write_int
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_linf_write_entry(void *entry, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:93,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:97,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:95,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:96,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - nalus
    - bs
    - rewrite_start_codes
    - nal_unit_size_field
    argTypes:
    - GF_List*
    - GF_BitStream*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: rewrite_nalus_list
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void rewrite_nalus_list(GF_List *nalus, GF_BitStream *bs, Bool
      rewrite_start_codes, u32 nal_unit_size_field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:920,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/avc_ext.c:923,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:925,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:924,1
    - Dst: gf_odf_hevc_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:921,1
    - Dst: gf_odf_hevc_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:927,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:929,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 932
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 932
    functionName: HEVC_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_hevc_cfg_read_bs
    - gf_bs_del
    - gf_odf_hevc_cfg_write_bs
    - gf_bs_new
    - gf_free
    linkageType: ''
    returnType: GF_HEVCConfig*
    signature: 'GF_HEVCConfig *HEVC_DuplicateConfig(GF_HEVCConfig *cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_list_size
      Src: /src/gpac/src/isomedia/avc_ext.c:2804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2807
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2807
    functionName: m4ds_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_list_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4ds_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3510
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3510
    functionName: CoLL_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void CoLL_box_del(GF_Box *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3824,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3828,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3831,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3830,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3825,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3832,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3833,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3834,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3835,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:3836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - entry
    - bs
    argTypes:
    - void*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3839
      start: 3818
    functionDepth: 0
    functionLinenumber: 3818
    functionLinenumberEnd: 3839
    functionName: gf_isom_linf_read_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_int
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_linf_read_entry(void *entry, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3872
      start: 3862
    functionDepth: 0
    functionLinenumber: 3862
    functionLinenumberEnd: 3872
    functionName: gf_isom_linf_size_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_linf_size_entry(void *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:3452,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3454,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3455,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3453,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3456,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3457,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3458,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3459,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3460,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3461,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3465
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3465
    functionName: SmDm_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SmDm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:942,1
    - Dst: gf_odf_vvc_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:943,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/avc_ext.c:945,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:947,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:946,1
    - Dst: gf_odf_vvc_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:949,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:950,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:951,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_VVCConfig*
    constantsTouched: []
    func_position:
      end: 953
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 953
    functionName: VVC_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_odf_vvc_cfg_read_bs
    - gf_free
    - gf_odf_vvc_cfg_write_bs
    linkageType: ''
    returnType: GF_VVCConfig*
    signature: 'GF_VVCConfig *VVC_DuplicateConfig(GF_VVCConfig *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ia_cfg_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1424,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1430,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1431,1
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1433,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1431,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1439,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:1440,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_IAConfig*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1444
    functionName: IAMF_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_odf_ia_cfg_new
    - gf_odf_ia_cfg_del
    - gf_list_count
    - memcpy
    linkageType: ''
    returnType: GF_IAConfig*
    signature: 'static GF_IAConfig * IAMF_DuplicateConfig(GF_IAConfig const * const
      cfg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2536,1
    - Dst: AV1_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2549,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/avc_ext.c:2538,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2545,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2543,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2550
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2550
    functionName: gf_isom_av1_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_list_get
    - gf_isom_get_track_from_file
    - AV1_DuplicateConfig
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AV1Config *gf_isom_av1_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3176
    functionName: vvcc_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vvcc_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:976,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:979,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:984,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1003,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:991,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:1000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:999,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/isomedia/avc_ext.c:962,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:973,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:981,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:1004,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:992,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/avc_ext.c:980,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:986,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:987,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:990,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:997,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:996,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1005,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 1009
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1009
    functionName: AVC_DuplicateConfig
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - memcpy
    - gf_list_new
    - gf_odf_avc_cfg_new
    linkageType: ''
    returnType: GF_AVCConfig*
    signature: 'static GF_AVCConfig *AVC_DuplicateConfig(GF_AVCConfig *cfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/avc_ext.c:1448,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1450,1
    - Dst: gf_odf_av1_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1463,1
    - Dst: AV1_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1461,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1451,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1464,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - av1
    - mdia
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    - GF_MediaBox*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1467
    functionName: AV1_RewriteESDescriptorEx
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_esd_new
    - AV1_DuplicateConfig
    - gf_odf_av1_cfg_del
    - gf_odf_av1_cfg_write
    - gf_isom_sample_entry_get_bitrate
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'void AV1_RewriteESDescriptorEx(GF_MPEGVisualSampleEntryBox *av1, GF_MediaBox
      *mdia) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2371,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:2374,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/avc_ext.c:2376,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/avc_ext.c:2372,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2377,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2379,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/avc_ext.c:2380,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2381,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2384,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2387,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - box
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2391
    functionName: gf_isom_clone_config_box
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_isom_box_parse
    - gf_isom_box_del
    - gf_bs_new
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gf_isom_clone_config_box(GF_Box *box) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2558,1
    - Dst: VP_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2564,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2565
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2565
    functionName: gf_isom_vp_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - VP_DuplicateConfig
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VPConfig *gf_isom_vp_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/avc_ext.c:3329,1
    - Dst: gf_odf_av1_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3333
      start: 3324
    functionDepth: 0
    functionLinenumber: 3324
    functionLinenumberEnd: 3333
    functionName: av1c_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_write_bs
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1c_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3346,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3352
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3352
    functionName: av1c_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1c_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HEVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/avc_ext.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hevc
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: HEVC_RewriteESDescriptor
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - HEVC_RewriteESDescriptorEx
    linkageType: ''
    returnType: void
    signature: 'void HEVC_RewriteESDescriptor(GF_MPEGVisualSampleEntryBox *hevc) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/avc_ext.c:1801,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1808,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:1804,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/avc_ext.c:1815,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/avc_ext.c:1811,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1820,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1822,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1824,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1827,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1829,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1835,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1836,1
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1831,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - cfg
    - is_mvc
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AVCConfig*
    - Bool
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1838
    functionName: gf_isom_svc_mvc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - AVC_RewriteESDescriptor
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - Media_CreateDataRef
    - CanAccessMovie
    - AVC_DuplicateConfig
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_svc_mvc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AVCConfig *cfg, Bool is_mvc, char *URLname, char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2440,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:2450,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2442,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2444,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2469
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2469
    functionName: gf_isom_get_vvc_type
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_get
    - gf_isom_is_video_handler_type
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOMVVCType gf_isom_get_vvc_type(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2815,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2818
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2818
    functionName: avcc_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_odf_avc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'void avcc_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:3100,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:3102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3105
    functionName: hvcc_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hvcc_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:3286,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:3288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3291
    functionName: av1c_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *av1c_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3441
      start: 3437
    functionDepth: 0
    functionLinenumber: 3437
    functionLinenumberEnd: 3441
    functionName: SmDm_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *SmDm_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:3473,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3478,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3477,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3476,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3479,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3480,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3481,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3482,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3483,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3484,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3488
      start: 3469
    functionDepth: 0
    functionLinenumber: 3469
    functionLinenumberEnd: 3488
    functionName: SmDm_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SmDm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1252,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1266,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1275,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1279,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1282,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1281,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1285,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1302,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1308,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1321,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1253,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1258,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1277,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1276,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1288,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1298,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1317,1
    - Dst: HEVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/avc_ext.c:1319,1
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/avc_ext.c:1242,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1255,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1262,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1270,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1289,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/isomedia/avc_ext.c:1303,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/avc_ext.c:1246,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1280,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1274,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1290,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:1291,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1312,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/isomedia/avc_ext.c:1313,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 83
    argCount: 2
    argNames:
    - avc
    - esd
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1324
    functionName: AVC_HEVC_UpdateESD
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - AVC_RewriteESDescriptor
    - gf_isom_box_new_parent
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_del
    - gf_isom_sample_entry_get_bitrate
    - gf_list_rem
    - gf_odf_avc_cfg_read
    - gf_odf_desc_del
    - HEVC_RewriteESDescriptor
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AVC_HEVC_UpdateESD(GF_MPEGVisualSampleEntryBox *avc, GF_ESD
      *esd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_svc_mvc_config_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - cfg
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_AVCConfig*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1844
    functionName: gf_isom_svc_config_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_svc_mvc_config_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_svc_config_new(GF_ISOFile *the_file, u32
      trackNumber, GF_AVCConfig *cfg, const char *URLname, const char *URNname, u32
      *outDescriptionIndex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:2478,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:2488,1
    - Dst: gf_isom_get_vvc_type
      Src: /src/gpac/src/isomedia/avc_ext.c:2480,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2483,1
    - Dst: gf_odf_vvc_cfg_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2490,1
    - Dst: VVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:2495,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2496
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2496
    functionName: gf_isom_vvc_config_get
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_new
    - gf_list_get
    - VVC_DuplicateConfig
    - gf_isom_get_track_from_file
    - gf_isom_get_vvc_type
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VVCConfig *gf_isom_vvc_config_get(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2838,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2840,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2848,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:2854,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:2864,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:2874,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:2875,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:2881,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/isomedia/avc_ext.c:2891,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2902,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/isomedia/avc_ext.c:2908,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:2882,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2948,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:2953,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:2945,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:2952,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2845,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2870,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2876,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2924,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2925,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2941,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:2872,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:2946,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2939,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2947,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2932,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2920,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2877,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:2943,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2951,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2825,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2839,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2844,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:2856,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2859,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2858,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:2857,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2862,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:2863,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2868,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2914,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:2906,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/isomedia/avc_ext.c:2826,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:2837,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2828,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2852,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2847,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2849,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2915,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2926,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2927,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2928,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2880,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:2929,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:2935,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 145
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2958
    functionName: avcc_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u16
    - gf_avcc_use_extensions
    - gf_list_get
    - gf_bs_read_u8
    - gf_list_new
    - gf_bs_read_int
    - GF_LOG
    - gf_odf_avc_cfg_del
    - gf_bs_available
    - ISOM_DECREASE_SIZE
    - gf_avc_read_sps
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_read_data
    - gf_odf_avc_cfg_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avcc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3295,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3297
      start: 3293
    functionDepth: 0
    functionLinenumber: 3293
    functionLinenumberEnd: 3297
    functionName: av1c_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void av1c_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3447
      start: 3443
    functionDepth: 0
    functionLinenumber: 3443
    functionLinenumberEnd: 3447
    functionName: SmDm_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SmDm_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3495
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3495
    functionName: SmDm_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SmDm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVC_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/avc_ext.c:1185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - avc
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: AVC_RewriteESDescriptor
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - AVC_RewriteESDescriptorEx
    linkageType: ''
    returnType: void
    signature: 'void AVC_RewriteESDescriptor(GF_MPEGVisualSampleEntryBox *avc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/avc_ext.c:1495,1
    - Dst: gf_odf_vp_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1514,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1497,1
    - Dst: VP_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1512,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1498,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1515,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - vp9
    - mdia
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    - GF_MediaBox*
    constantsTouched: []
    func_position:
      end: 1518
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1518
    functionName: VP9_RewriteESDescriptorEx
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - VP_DuplicateConfig
    - gf_odf_desc_esd_new
    - gf_odf_vp_cfg_write
    - gf_isom_sample_entry_get_bitrate
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'void VP9_RewriteESDescriptorEx(GF_MPEGVisualSampleEntryBox *vp9, GF_MediaBox
      *mdia) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3071,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3073
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3073
    functionName: hvcc_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_odf_hevc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'void hvcc_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/avc_ext.c:3186,1
    - Dst: gf_odf_vvc_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3190
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3190
    functionName: vvcc_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_write_bs
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvcc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_get_bitrate
      Src: /src/gpac/src/isomedia/avc_ext.c:1190,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/avc_ext.c:1207,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/avc_ext.c:1193,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1192,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/avc_ext.c:1202,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/avc_ext.c:1209,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/avc_ext.c:1210,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1211,1
    - Dst: HEVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1216,1
    - Dst: merge_hevc_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1220,1
    - Dst: merge_all_config
      Src: /src/gpac/src/isomedia/avc_ext.c:1223,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/isomedia/avc_ext.c:1230,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1231,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 2
    argNames:
    - hevc
    - mdia
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    - GF_MediaBox*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1234
    functionName: HEVC_RewriteESDescriptorEx
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_esd_new
    - merge_hevc_config
    - gf_odf_desc_add_desc
    - gf_list_enum
    - gf_odf_hevc_cfg_del
    - gf_isom_sample_entry_get_bitrate
    - gf_odf_hevc_cfg_write
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - gf_isom_box_find_child
    - merge_all_config
    - HEVC_DuplicateConfig
    linkageType: ''
    returnType: void
    signature: 'void HEVC_RewriteESDescriptorEx(GF_MPEGVisualSampleEntryBox *hevc,
      GF_MediaBox *mdia) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VP9_RewriteESDescriptorEx
      Src: /src/gpac/src/isomedia/avc_ext.c:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vp9
    argTypes:
    - GF_MPEGVisualSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1523
    functionName: VP9_RewriteESDescriptor
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - VP9_RewriteESDescriptorEx
    linkageType: ''
    returnType: void
    signature: 'void VP9_RewriteESDescriptor(GF_MPEGVisualSampleEntryBox *vp9) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3080,1
    - Dst: gf_odf_hevc_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3089,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3092,1
    - Dst: gf_odf_hevc_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3086,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3082,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:3093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3096
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3096
    functionName: hvcc_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - ISOM_DECREASE_SIZE
    - gf_odf_hevc_cfg_read_bs
    - gf_odf_hevc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hvcc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3224,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3226,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3232,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3238
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3238
    functionName: vvcc_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvcc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_vvc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - keep_xps
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2357
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2357
    functionName: gf_isom_vvc_set_inband_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_vvc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_vvc_set_inband_config(GF_ISOFile *the_file,
      u32 trackNumber, u32 DescriptionIndex, Bool keep_xps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3153,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3155
    functionName: vvcc_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vvcc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3246
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3246
    functionName: vvnc_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vvnc_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3551,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:3555,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:3553,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/avc_ext.c:3554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3548
    functionDepth: 0
    functionLinenumber: 3548
    functionLinenumberEnd: 3559
    functionName: gf_isom_oinf_new_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_OperatingPointsInformation*
    signature: 'GF_OperatingPointsInformation *gf_isom_oinf_new_entry() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_vvc_config_update_ex
      Src: /src/gpac/src/isomedia/avc_ext.c:2362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - DescriptionIndex
    - cfg
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_VVCConfig*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2363
    functionName: gf_isom_vvc_config_update
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_vvc_config_update_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_vvc_config_update(GF_ISOFile *the_file, u32
      trackNumber, u32 DescriptionIndex, GF_VVCConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3162,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3166,1
    - Dst: gf_odf_vvc_cfg_read_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3165,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:3164,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:3167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3170
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3170
    functionName: vvcc_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - ISOM_DECREASE_SIZE
    - gf_odf_vvc_cfg_read_bs
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvcc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:3252,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3254,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3256
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3256
    functionName: vvnc_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvnc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3566,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3567,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3568,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:3569,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3571,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3574,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3575,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3576,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:3577,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3579,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3582,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3584,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:3585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3583,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3589,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:3587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3591
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3591
    functionName: gf_isom_oinf_del_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_oinf_del_entry(void *entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/avc_ext.c:3114,1
    - Dst: gf_odf_hevc_cfg_write_bs
      Src: /src/gpac/src/isomedia/avc_ext.c:3117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3118
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3118
    functionName: hvcc_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_odf_hevc_cfg_write_bs
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hvcc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3763,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3782,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3780,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3766,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3791
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3791
    functionName: gf_isom_oinf_size_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_oinf_size_entry(void *entry) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:128,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/isomedia/avc_ext.c:163,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:145,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/avc_ext.c:173,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/avc_ext.c:177,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:213,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:232,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/isomedia/avc_ext.c:249,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/avc_ext.c:256,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:240,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:237,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:263,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:131,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:143,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/avc_ext.c:148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:154,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/avc_ext.c:151,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:146,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:192,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:197,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:200,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:208,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:234,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/avc_ext.c:270,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:116,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:123,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:125,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:137,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:144,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:193,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:194,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:196,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:199,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:210,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:226,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:267,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:218,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/avc_ext.c:217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:117,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/avc_ext.c:118,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:121,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:133,1
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/isomedia/avc_ext.c:158,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/avc_ext.c:165,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/avc_ext.c:169,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/avc_ext.c:184,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:190,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/avc_ext.c:261,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/avc_ext.c:204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/avc_ext.c:247,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:265,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/avc_ext.c:228,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 166
    argCount: 11
    argNames:
    - file
    - mdia
    - sampleNumber
    - sampleDTS
    - nal_size
    - nal_hdr
    - nal_unit_size_field
    - is_hevc
    - rewrite_ps
    - rewrite_start_codes
    - extractor_mode
    argTypes:
    - GF_ISOFile*
    - GF_MediaBox*
    - u32
    - u64
    - u32
    - u16
    - u32
    - Bool
    - Bool
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 274
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 274
    functionName: process_extractor
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_isom_get_nalu_extract_mode
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_skip_bytes
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_track_by_id
    - gf_bs_reassign_buffer
    - Media_GetSample
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_bs_read_u8
    - Track_FindRef
    - gf_bs_get_position
    - gf_isom_get_track_from_file
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_sample_new
    - gf_realloc
    - gf_bs_available
    - stbl_findEntryForTime
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err process_extractor(GF_ISOFile *file, GF_MediaBox *mdia,
      u32 sampleNumber, u64 sampleDTS, u32 nal_size, u16 nal_hdr, u32 nal_unit_size_field,
      Bool is_hevc, Bool rewrite_ps, Bool rewrite_start_codes, u32 extractor_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVC_DuplicateConfig
      Src: /src/gpac/src/isomedia/avc_ext.c:1015,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/avc_ext.c:1021,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1018,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1020,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1019,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:1023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:1024,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:1025,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/avc_ext.c:1026,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/isomedia/avc_ext.c:1028,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - dst_cfg
    - src_cfg
    argTypes:
    - GF_AVCConfig*
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1029
    functionName: merge_avc_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_list_rem
    - AVC_DuplicateConfig
    linkageType: ''
    returnType: void
    signature: 'static void merge_avc_config(GF_AVCConfig *dst_cfg, GF_AVCConfig *src_cfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2071,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:2084,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:2082,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2072,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:2083,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2085,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2086,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/avc_ext.c:2088,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2089,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/avc_ext.c:2091,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - param_array
    - set_inband
    - keep_xps
    argTypes:
    - GF_List*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2099
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2099
    functionName: nalu_cleanup_config
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool nalu_cleanup_config(GF_List *param_array, Bool set_inband,
      Bool keep_xps) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3141,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3137,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3145
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3145
    functionName: hvcc_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hvcc_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:2962,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:2964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2967
    functionName: avcc_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *avcc_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/avc_ext.c:3389,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/avc_ext.c:3391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3395
    functionName: vpcc_box_new
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vpcc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:3515,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3516,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3520
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3520
    functionName: CoLL_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CoLL_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3606,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3619,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3617,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3628,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3637,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3645,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3656,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3661,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3666,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3679,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:3659,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3652,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3601,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3620,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3623,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/avc_ext.c:3622,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3633,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3648,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3649,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/avc_ext.c:3655,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3639,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3653,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3647,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3599,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3604,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3600,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3608,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3610,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3614,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:3612,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3621,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3629,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/avc_ext.c:3632,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3673,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/avc_ext.c:3668,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3607,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3609,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3611,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3627,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3630,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3640,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3643,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3644,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3667,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:3669,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3676,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/avc_ext.c:3678,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3641,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/avc_ext.c:3664,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/avc_ext.c:3682,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 119
    argCount: 2
    argNames:
    - entry
    - bs
    argTypes:
    - void*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3686
      start: 3593
    functionDepth: 0
    functionLinenumber: 3593
    functionLinenumberEnd: 3686
    functionName: gf_isom_oinf_read_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_long_int
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_is_overflow
    - GF_SAFEALLOC
    - gf_free
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_oinf_read_entry(void *entry, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3695,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3697,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3696,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3699,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3700,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3702,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3703,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3710,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3716,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3718,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3736,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3749,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3712,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3715,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3713,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3705,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3717,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3721,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3723,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3727,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3728,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3731,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3728,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3746,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3744,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3694,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3707,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3708,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3717,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3727,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3732,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3743,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:3735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/avc_ext.c:3739,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3701,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3704,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3711,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3718,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3720,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3722,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3725,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/avc_ext.c:3742,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/avc_ext.c:3740,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/avc_ext.c:3724,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/avc_ext.c:3730,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 2
    argNames:
    - entry
    - bs
    argTypes:
    - void*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3754
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3754
    functionName: gf_isom_oinf_write_entry
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_oinf_write_entry(void *entry, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/avc_ext.c:2706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2707
    functionName: btrt_box_del
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void btrt_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/avc_ext.c:2732,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2735,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2734,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2738
    functionName: btrt_box_write
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err btrt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/avc_ext.c:2711,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2714,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2713,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/avc_ext.c:2712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2716
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2716
    functionName: btrt_box_read
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err btrt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2744
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2744
    functionName: btrt_box_size
    functionSourceFile: /src/gpac/src/isomedia/avc_ext.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err btrt_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:32,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/drm_sample.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: gf_isom_ismacryp_new_sample
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_ISMASample*
    signature: 'GF_ISMASample *gf_isom_ismacryp_new_sample() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_ismacryp_new_sample
      Src: /src/gpac/src/isomedia/drm_sample.c:53,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/drm_sample.c:71,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/drm_sample.c:70,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/drm_sample.c:61,1
    - Dst: gf_isom_ismacryp_new_sample
      Src: /src/gpac/src/isomedia/drm_sample.c:56,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/isomedia/drm_sample.c:79,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:84,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/drm_sample.c:86,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:90,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/drm_sample.c:92,1
    - Dst: gf_isom_ismacryp_delete_sample
      Src: /src/gpac/src/isomedia/drm_sample.c:97,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/drm_sample.c:93,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 5
    argNames:
    - data
    - dataLength
    - use_selective_encryption
    - KI_length
    - IV_length
    argTypes:
    - u8*
    - u32
    - Bool
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 99
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 99
    functionName: gf_isom_ismacryp_sample_from_data
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_long_int
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_ismacryp_new_sample
    - gf_bs_read_data
    - gf_isom_ismacryp_delete_sample
    linkageType: ''
    returnType: GF_ISMASample*
    signature: 'GF_ISMASample *gf_isom_ismacryp_sample_from_data(u8 *data, u32 dataLength,
      Bool use_selective_encryption, u8 KI_length, u8 IV_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/isomedia/drm_sample.c:760,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:775,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:780,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:768,1
    - Dst: isom_set_protected_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:764,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:790,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 10
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - scheme_type
    - scheme_version
    - default_IsEncrypted
    - default_crypt_byte_block
    - default_skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 793
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 793
    functionName: gf_isom_set_cenc_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_set_protected_entry
    - gf_cenc_validate_key_info
    - memcpy
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: "GF_Err gf_isom_set_cenc_protection(GF_ISOFile *the_file, u32 trackNumber,
      u32 desc_index, u32 scheme_type, u32 scheme_version, u32 default_IsEncrypted,
      u32 default_crypt_byte_block, u32 default_skip_byte_block,\t\t\t\t\t\t\t\t u8
      *key_info, u32 key_info_size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1136,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1142,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:1143,1
    - Dst: gf_isom_create_samp_enc_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1144
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1144
    functionName: gf_isom_cenc_allocate_storage
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_isom_create_samp_enc_box
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_cenc_allocate_storage(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1164,1
    - Dst: traf_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1172,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1175,1
    - Dst: stbl_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1184,1
    - Dst: stbl_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1170,1
    - Dst: traf_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1186,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1196,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - senc
    - stbl
    - traf
    - len
    - saio_32bits
    - use_multikey
    argTypes:
    - GF_SampleEncryptionBox*
    - GF_SampleTableBox*
    - GF_TrackFragmentBox*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1207
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1207
    functionName: gf_isom_cenc_set_saiz_saio
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - stbl_on_child_box
    - traf_on_child_box
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_cenc_set_saiz_saio(GF_SampleEncryptionBox *senc, GF_SampleTableBox
      *stbl, GF_TrackFragmentBox *traf, u32 len, Bool saio_32bits, Bool use_multikey) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1304,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1324,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/drm_sample.c:1321,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1329,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:1326,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:1331,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/drm_sample.c:1333,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:1335,1
    - Dst: gf_isom_cenc_set_saiz_saio
      Src: /src/gpac/src/isomedia/drm_sample.c:1344,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - container_type
    - buf
    - len
    - use_subsamples
    - use_saio_32bit
    - use_multikey
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8*
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1348
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1348
    functionName: gf_isom_track_cenc_add_sample_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_cenc_set_saiz_saio
    - gf_isom_get_track_from_file
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_track_cenc_add_sample_info(GF_ISOFile *the_file, u32
      trackNumber, u32 container_type, u8 *buf, u32 len, Bool use_subsamples, Bool
      use_saio_32bit, Bool use_multikey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/drm_sample.c:1384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames:
    - _traf
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1391
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    linkageType: ''
    returnType: else
    signature: 'else if (_traf) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1740,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1743,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1744,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1741,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1742,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1745,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1746,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1749,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1754,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:1755,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:1809,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1786,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1792,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1789,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 97
    argCount: 8
    argNames:
    - trak
    - sampleDescriptionIndex
    - container_type
    - default_IsEncrypted
    - crypt_byte_block
    - skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_TrackBox*
    - u32
    - u32*
    - Bool*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1821
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1821
    functionName: gf_isom_cenc_get_default_info_internal
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_isom_box_find_child
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_cenc_get_default_info_internal(GF_TrackBox *trak, u32
      sampleDescriptionIndex, u32 *container_type, Bool *default_IsEncrypted, u32
      *crypt_byte_block, u32 *skip_byte_block, const u8 **key_info, u32 *key_info_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:41,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:42,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_ISMASample*
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: gf_isom_ismacryp_delete_sample
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_ismacryp_delete_sample(GF_ISMASample *samp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1148,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:1155,1
    - Dst: gf_isom_create_piff_psec_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1152,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - AlgorithmID
    - IV_size
    - KID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8
    - bin128
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: gf_isom_piff_allocate_storage
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_isom_create_piff_psec_box
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_piff_allocate_storage(GF_ISOFile *the_file, u32 trackNumber,
      u32 AlgorithmID, u8 IV_size, bin128 KID) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/drm_sample.c:1213,1
    - Dst: stbl_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1220,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1226,1
    - Dst: stbl_on_child_box
      Src: /src/gpac/src/isomedia/drm_sample.c:1232,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1216,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1248,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/drm_sample.c:1257,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1267,1
    - Dst: MAX
      Src: /src/gpac/src/isomedia/drm_sample.c:1280,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1281,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/drm_sample.c:1285,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 5
    argNames:
    - senc
    - stbl
    - sample_number
    - offset
    - len
    argTypes:
    - GF_SampleEncryptionBox*
    - GF_SampleTableBox*
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1296
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1296
    functionName: gf_isom_cenc_merge_saiz_saio
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_assert
    - MAX
    - stbl_on_child_box
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_cenc_merge_saiz_saio(GF_SampleEncryptionBox *senc,
      GF_SampleTableBox *stbl, u32 sample_number, u64 offset, u32 len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1826,1
    - Dst: gf_isom_cenc_get_default_info_internal
      Src: /src/gpac/src/isomedia/drm_sample.c:1828,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 9
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - container_type
    - default_IsEncrypted
    - crypt_byte_block
    - skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - Bool*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1830
    functionName: gf_isom_cenc_get_default_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_cenc_get_default_info_internal
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_cenc_get_default_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleDescriptionIndex, u32 *container_type, Bool *default_IsEncrypted,
      u32 *crypt_byte_block, u32 *skip_byte_block, const u8 **key_info, u32 *key_info_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:1995,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - key_info
    - key_info_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1997
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1997
    functionName: gf_cenc_validate_key_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cenc_validate_key_info(const u8 *key_info, u32 key_info_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:683,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:686,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:690,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:692,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:691,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:693,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:694,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:695,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:696,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 719
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 719
    functionName: gf_isom_is_cenc_media
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_cenc_media(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleDescriptionIndex) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/drm_sample.c:353,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:361,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:356,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:362,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:360,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:363,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:364,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:365,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:366,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:367,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:374,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:376,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:368,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:369,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: gf_isom_remove_track_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_track_protection(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleDescriptionIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/drm_sample.c:139,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/drm_sample.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 4
    argNames:
    - trak
    - sampleDescriptionIndex
    - scheme_type
    - out_sea
    argTypes:
    - GF_TrackBox*
    - u32
    - u32
    - GF_SampleEntryBox**
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: isom_get_sinf_entry
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_ProtectionSchemeInfoBox*
    signature: 'static GF_ProtectionSchemeInfoBox *isom_get_sinf_entry(GF_TrackBox
      *trak, u32 sampleDescriptionIndex, u32 scheme_type, GF_SampleEntryBox **out_sea) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:261,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:264,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/drm_sample.c:269,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 28
    argCount: 11
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - outOriginalFormat
    - outSchemeType
    - outSchemeVersion
    - outSchemeURI
    - outKMS_URI
    - outSelectiveEncryption
    - outIVLength
    - outKeyIndicationLength
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - char**
    - char**
    - Bool*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 290
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 290
    functionName: gf_isom_get_ismacryp_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_ismacryp_info(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex, u32 *outOriginalFormat, u32 *outSchemeType,
      u32 *outSchemeVersion, const char **outSchemeURI, const char **outKMS_URI, Bool
      *outSelectiveEncryption, u32 *outIVLength, u32 *outKeyIndicationLength) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isom_set_protected_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:565,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:573,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:575,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:570,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 10
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_URI
    - selective_encryption
    - KI_length
    - IV_length
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - char*
    - char*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 585
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionName: gf_isom_set_ismacryp_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_set_protected_entry
    - gf_strdup
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_ismacryp_protection(GF_ISOFile *the_file,
      u32 trackNumber, u32 desc_index, u32 scheme_type, u32 scheme_version, char *scheme_uri,
      char *kms_URI, Bool selective_encryption, u32 KI_length, u32 IV_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:652,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/drm_sample.c:659,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:655,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:661,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - outOriginalFormat
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 672
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 672
    functionName: gf_isom_get_original_format_type
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_list_count
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_original_format_type(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleDescriptionIndex, u32 *outOriginalFormat) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:994,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1001,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1003,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1007,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1012,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:1013,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1016,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1017,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1019,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1023,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1028
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1028
    functionName: gf_isom_remove_samp_enc_box
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_samp_enc_box(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1512,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1541,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1542,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1513,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/drm_sample.c:1595,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/drm_sample.c:1597,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/drm_sample.c:1598,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/drm_sample.c:1599,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1604,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/drm_sample.c:1615,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/drm_sample.c:1617,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/drm_sample.c:1629,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1621,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/drm_sample.c:1625,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1607,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 115
    argCount: 5
    argNames:
    - mdia
    - sampleNumber
    - scheme_type
    - out_buffer
    - out_size
    argTypes:
    - GF_MediaBox*
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1632
    functionName: isom_cenc_get_sai_by_saiz_saio
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_bs_get_position
    - gf_realloc
    - gf_list_count
    - gf_bs_seek
    - memcpy
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isom_cenc_get_sai_by_saiz_saio(GF_MediaBox *mdia, u32
      sampleNumber, u32 scheme_type, u8 **out_buffer, u32 *out_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:164,1
    - Dst: gf_isom_ismacryp_sample_from_data
      Src: /src/gpac/src/isomedia/drm_sample.c:182,1
    - Dst: gf_isom_ismacryp_sample_from_data
      Src: /src/gpac/src/isomedia/drm_sample.c:185,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:167,1
    - Dst: gf_isom_ismacryp_sample_from_data
      Src: /src/gpac/src/isomedia/drm_sample.c:174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - samp
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOSample*
    - u32
    constantsTouched: []
    func_position:
      end: 188
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 188
    functionName: gf_isom_get_ismacryp_sample
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_ismacryp_sample_from_data
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISMASample *gf_isom_get_ismacryp_sample(GF_ISOFile *the_file,
      u32 trackNumber, const GF_ISOSample *samp, u32 sampleDescriptionIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/drm_sample.c:392,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:399,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:395,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:403,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:404,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:407,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 411
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 411
    functionName: gf_isom_change_ismacryp_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    - gf_strdup
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_change_ismacryp_protection(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleDescriptionIndex, char *scheme_uri, char *kms_uri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isom_set_protected_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:595,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:598,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:606,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:600,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:611,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:612,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:614,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:616,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 12
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - contentID
    - kms_URI
    - encryption_type
    - plainTextLength
    - textual_headers
    - textual_headers_len
    - selective_encryption
    - KI_length
    - IV_length
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - char*
    - u32
    - u64
    - char*
    - u32
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 620
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 620
    functionName: gf_isom_set_oma_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_new_parent
    - isom_set_protected_entry
    - gf_strdup
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_oma_protection(GF_ISOFile *the_file, u32 trackNumber,
      u32 desc_index, char *contentID, char *kms_URI, u32 encryption_type, u64 plainTextLength,
      char *textual_headers, u32 textual_headers_len, Bool selective_encryption, u32
      KI_length, u32 IV_length) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:954,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:967,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:978,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:981,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:890,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/drm_sample.c:911,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:903,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/drm_sample.c:923,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:931,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:935,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:937,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:895,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/drm_sample.c:920,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:952,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:939,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:970,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/drm_sample.c:933,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/drm_sample.c:907,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/drm_sample.c:915,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:929,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/drm_sample.c:948,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 117
    argCount: 8
    argNames:
    - file
    - systemID
    - version
    - KID_count
    - KIDs
    - data
    - len
    - pssh_mode
    argTypes:
    - GF_ISOFile*
    - bin128
    - u32
    - u32
    - bin128*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 986
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 986
    functionName: gf_cenc_set_pssh
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_box_new_parent
    - memcmp
    - gf_list_enum
    - gf_realloc
    - memcpy
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cenc_set_pssh(GF_ISOFile *file, bin128 systemID, u32 version,
      u32 KID_count, bin128 *KIDs, u8 *data, u32 len, u32 pssh_mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1034,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1040,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/drm_sample.c:1043,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1044,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1041,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1048,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:1049,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1053,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1054,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/drm_sample.c:1056,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1057,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:1062,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1061,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1067
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1067
    functionName: gf_isom_remove_samp_group_box
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_samp_group_box(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1643,1
    - Dst: isom_cenc_get_sai_by_saiz_saio
      Src: /src/gpac/src/isomedia/drm_sample.c:1672,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1678,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/src/isomedia/drm_sample.c:1668,1
    - Dst: gf_isom_cenc_has_saiz_saio_track
      Src: /src/gpac/src/isomedia/drm_sample.c:1671,1
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/drm_sample.c:1679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1687,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1691,1
    - Dst: gf_isom_get_sample_cenc_info_internal
      Src: /src/gpac/src/isomedia/drm_sample.c:1705,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1719,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1723,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 58
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - sampleNumber
    - sampleDescIndex
    - container_type
    - out_buffer
    - outSize
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1725
    functionName: gf_isom_cenc_get_sample_aux_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_get_cenc_info
    - gf_list_get
    - senc_Parse
    - isom_cenc_get_sai_by_saiz_saio
    - gf_isom_get_track_from_file
    - gf_isom_get_sample_cenc_info_internal
    - gf_list_count
    - gf_realloc
    - memcpy
    - gf_isom_cenc_has_saiz_saio_track
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_cenc_get_sample_aux_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleNumber, u32 sampleDescIndex, u32 *container_type,
      u8 **out_buffer, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:241,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: gf_isom_is_omadrm_media
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_omadrm_media(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleDescriptionIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_cenc_has_saiz_saio_full
      Src: /src/gpac/src/isomedia/drm_sample.c:1495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - traf
    - scheme_type
    argTypes:
    - GF_TrackFragmentBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1496
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1496
    functionName: gf_isom_cenc_has_saiz_saio_traf
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_cenc_has_saiz_saio_full
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_cenc_has_saiz_saio_traf(GF_TrackFragmentBox *traf, u32
      scheme_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/drm_sample.c:1951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1954
    functionName: gf_isom_ipmpx_remove_tool_list
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_ipmpx_remove_tool_list(GF_ISOFile *the_file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:200,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 214
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 214
    functionName: gf_isom_is_media_encrypted
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_is_media_encrypted(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:727,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:731,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:734,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:732,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:733,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:735,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:736,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:737,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/drm_sample.c:743,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - outOriginalFormat
    - outSchemeType
    - outSchemeVersion
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 748
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 748
    functionName: gf_isom_get_cenc_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_cenc_info(GF_ISOFile *the_file, u32 trackNumber,
      u32 sampleDescriptionIndex, u32 *outOriginalFormat, u32 *outSchemeType, u32
      *outSchemeVersion) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:847,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:855,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:854,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/drm_sample.c:867,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:866,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:871,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:872,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 877
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 877
    functionName: gf_isom_remove_cenc_saio
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_cenc_saio(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_cenc_has_saiz_saio_full
      Src: /src/gpac/src/isomedia/drm_sample.c:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - stbl
    - scheme_type
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: gf_isom_cenc_has_saiz_saio_track
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_cenc_has_saiz_saio_full
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_cenc_has_saiz_saio_track(GF_SampleTableBox *stbl, u32
      scheme_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isom_set_protected_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1842,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1851,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1854,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1848,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1857,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1860,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1863,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1866,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1869,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:1873,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1880,1
    - Dst: strncpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - scheme_type
    - scheme_version
    - is_selective_enc
    - metadata
    - len
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - Bool
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1887
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1887
    functionName: gf_isom_set_adobe_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_new_parent
    - isom_set_protected_entry
    - strncpy
    - strcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_adobe_protection(GF_ISOFile *the_file, u32 trackNumber,
      u32 desc_index, u32 scheme_type, u32 scheme_version, Bool is_selective_enc,
      char *metadata, u32 len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:222,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: gf_isom_is_ismacryp_media
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_ismacryp_media(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:520,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/drm_sample.c:520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:510,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/drm_sample.c:426,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:525,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:528,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/drm_sample.c:536,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/drm_sample.c:536,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/drm_sample.c:538,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/drm_sample.c:538,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:550,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:541,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 74
    argCount: 10
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - version
    - flags
    - scheme_type
    - scheme_version
    - scheme_uri
    - is_isma
    - out_sinf
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8
    - u32
    - u32
    - u32
    - char*
    - Bool
    - GF_ProtectionSchemeInfoBox**
    constantsTouched: []
    func_position:
      end: 554
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 554
    functionName: isom_set_protected_entry
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - GF_LOG
    - Media_GetSampleDesc
    - gf_4cc_to_str
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isom_set_protected_entry(GF_ISOFile *the_file, u32 trackNumber,
      u32 desc_index, u8 version, u32 flags, u32 scheme_type, u32 scheme_version,
      char *scheme_uri, Bool is_isma, GF_ProtectionSchemeInfoBox **out_sinf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isom_set_protected_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:628,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:633,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/drm_sample.c:638,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - desc_index
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_URI
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 641
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 641
    functionName: gf_isom_set_generic_protection
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_set_protected_entry
    - gf_strdup
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_generic_protection(GF_ISOFile *the_file, u32 trackNumber,
      u32 desc_index, u32 scheme_type, u32 scheme_version, char *scheme_uri, char
      *kms_URI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1077,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1088,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:1089,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:1083,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - the_file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1094
    functionName: gf_isom_remove_pssh_box
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_list_count
    - gf_list_get
    - gf_list_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_pssh_box(GF_ISOFile *the_file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1895,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1907
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1907
    functionName: gf_isom_is_adobe_protection_media
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_adobe_protection_media(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:806,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:813,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:814,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/drm_sample.c:825,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/drm_sample.c:826,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:830,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/drm_sample.c:831,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 836
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 836
    functionName: gf_isom_remove_cenc_saiz
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_cenc_saiz(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/drm_sample.c:112,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/drm_sample.c:119,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/drm_sample.c:115,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/drm_sample.c:116,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/drm_sample.c:120,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/drm_sample.c:122,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:123,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/drm_sample.c:126,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/drm_sample.c:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - s
    - dest
    argTypes:
    - GF_ISMASample*
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: gf_isom_ismacryp_sample_to_sample
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_long_int
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_ismacryp_sample_to_sample(const GF_ISMASample *s, GF_ISOSample
      *dest) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:302,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:305,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/drm_sample.c:312,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 35
    argCount: 15
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - outOriginalFormat
    - outSchemeType
    - outSchemeVersion
    - outContentID
    - outRightsIssuerURL
    - outTextualHeaders
    - outTextualHeadersLen
    - outPlaintextLength
    - outEncryptionType
    - outSelectiveEncryption
    - outIVLength
    - outKeyIndicationLength
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - char**
    - char**
    - char**
    - u32*
    - u64*
    - u32*
    - Bool*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 335
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 335
    functionName: gf_isom_get_omadrm_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_omadrm_info(GF_ISOFile *the_file, u32
      trackNumber, u32 sampleDescriptionIndex, u32 *outOriginalFormat, u32 *outSchemeType,
      u32 *outSchemeVersion, const char **outContentID, const char **outRightsIssuerURL,
      const char **outTextualHeaders, u32 *outTextualHeadersLen, u64 *outPlaintextLength,
      u32 *outEncryptionType, Bool *outSelectiveEncryption, u32 *outIVLength, u32
      *outKeyIndicationLength) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1104,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/drm_sample.c:1113,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - version
    - flags
    - AlgorithmID
    - IV_size
    - KID
    argTypes:
    - u8
    - u32
    - u32
    - u8
    - bin128
    constantsTouched: []
    func_position:
      end: 1118
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1118
    functionName: gf_isom_create_piff_psec_box
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_list_new
    - strcpy
    linkageType: ''
    returnType: GF_SampleEncryptionBox*
    signature: 'GF_SampleEncryptionBox * gf_isom_create_piff_psec_box(u8 version,
      u32 flags, u32 AlgorithmID, u8 IV_size, bin128 KID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:1355,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/drm_sample.c:1356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_CENCSampleAuxInfo*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1357
    functionName: gf_isom_cenc_samp_aux_info_del
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_cenc_samp_aux_info_del(GF_CENCSampleAuxInfo
      *samp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/drm_sample.c:1915,1
    - Dst: IsMP4Description
      Src: /src/gpac/src/isomedia/drm_sample.c:1924,1
    - Dst: isom_get_sinf_entry
      Src: /src/gpac/src/isomedia/drm_sample.c:1918,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - sampleDescriptionIndex
    - outOriginalFormat
    - outSchemeType
    - outSchemeVersion
    - outMetadata
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 1939
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1939
    functionName: gf_isom_get_adobe_protection_info
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - IsMP4Description
    - isom_get_sinf_entry
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_adobe_protection_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 sampleDescriptionIndex, u32 *outOriginalFormat, u32 *outSchemeType,
      u32 *outSchemeVersion, const char **outMetadata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1124,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/drm_sample.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - version
    - flags
    argTypes:
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1132
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1132
    functionName: gf_isom_create_samp_enc_box
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_list_new
    linkageType: ''
    returnType: GF_SampleEncryptionBox*
    signature: 'GF_SampleEncryptionBox * gf_isom_create_samp_enc_box(u8 version, u32
      flags) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/drm_sample.c:1372,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/drm_sample.c:1397,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/drm_sample.c:1384,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1399,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1408,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1411,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:1416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:1426,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1442,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/drm_sample.c:1458,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1451,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/drm_sample.c:1454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/drm_sample.c:1468,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 93
    argCount: 3
    argNames:
    - stbl
    - _traf
    - scheme_type
    argTypes:
    - GF_SampleTableBox*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1485
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1485
    functionName: gf_isom_cenc_has_saiz_saio_full
    functionSourceFile: /src/gpac/src/isomedia/drm_sample.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_isom_box_find_child
    - gf_opts_get_bool
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_cenc_has_saiz_saio_full(GF_SampleTableBox *stbl, void
      *_traf, u32 scheme_type) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/isomedia/media_odf.c:61,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/isomedia/media_odf.c:72,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/media_odf.c:92,1
    - Dst: GetESDForTime
      Src: /src/gpac/src/isomedia/media_odf.c:137,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:99,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:141,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:97,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/media_odf.c:142,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:143,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/media_odf.c:149,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/media_odf.c:203,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/media_odf.c:54,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/isomedia/media_odf.c:59,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:79,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:132,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/media_odf.c:140,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/media_odf.c:150,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:154,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/media_odf.c:169,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:179,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/media_odf.c:193,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:205,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:63,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:82,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/media_odf.c:138,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:162,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/media_odf.c:165,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:172,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:183,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:226,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/isomedia/media_odf.c:215,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/isomedia/media_odf.c:66,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/isomedia/media_odf.c:68,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/media_odf.c:105,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/media_odf.c:135,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:153,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:159,1
    - Dst: GetESDForTime
      Src: /src/gpac/src/isomedia/media_odf.c:167,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:171,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/isomedia/media_odf.c:222,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:225,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:210,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:206,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/media_odf.c:219,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 170
    argCount: 2
    argNames:
    - mdia
    - sample
    argTypes:
    - GF_MediaBox*
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 228
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 228
    functionName: Media_RewriteODFrame
    functionSourceFile: /src/gpac/src/isomedia/media_odf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_odf_codec_del
    - gf_odf_desc_del
    - gf_odf_com_del
    - GetESDForTime
    - gf_odf_codec_get_au
    - gf_odf_codec_get_com
    - gf_odf_desc_copy
    - gf_list_new
    - gf_odf_codec_add_com
    - Track_FindRef
    - gf_odf_desc_add_desc
    - gf_list_enum
    - gf_odf_codec_encode
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_odf_com_new
    - gf_free
    - gf_isom_get_track_from_id
    - gf_odf_codec_decode
    - gf_realloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_RewriteODFrame(GF_MediaBox *mdia, GF_ISOSample *sample) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/media_odf.c:514,1
    - Dst: Media_FindOD_ID
      Src: /src/gpac/src/isomedia/media_odf.c:530,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/media_odf.c:529,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:518,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/media_odf.c:531,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: gf_isom_find_od_id_for_track
    functionSourceFile: /src/gpac/src/isomedia/media_odf.c
    functionUses: []
    functionsReached:
    - Media_FindOD_ID
    - gf_isom_get_track_from_file
    - gf_list_enum
    - gf_isom_get_sample
    - gf_isom_sample_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_find_od_id_for_track(GF_ISOFile *file, u32 track) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/isomedia/media_odf.c:276,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:315,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/media_odf.c:329,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:344,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/media_odf.c:308,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:364,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:366,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/media_odf.c:380,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:384,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/media_odf.c:404,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:408,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:436,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:437,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/isomedia/media_odf.c:420,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media_odf.c:259,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/media_odf.c:376,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:409,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/media_odf.c:424,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/isomedia/media_odf.c:428,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/media_odf.c:430,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:390,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/media_odf.c:268,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/media_odf.c:261,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/media_odf.c:265,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/isomedia/media_odf.c:274,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/isomedia/media_odf.c:279,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/isomedia/media_odf.c:281,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/media_odf.c:347,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/media_odf.c:355,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/media_odf.c:359,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/isomedia/media_odf.c:414,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/media_odf.c:378,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/isomedia/media_odf.c:285,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:311,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/media_odf.c:345,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/media_odf.c:353,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:297,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/media_odf.c:361,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/isomedia/media_odf.c:372,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:375,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:383,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/media_odf.c:397,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 152
    argCount: 3
    argNames:
    - mdia
    - sample
    - od_samp
    argTypes:
    - GF_MediaBox*
    - GF_ISOSample*
    - GF_ISOSample**
    constantsTouched: []
    func_position:
      end: 439
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 439
    functionName: Media_ParseODFrame
    functionSourceFile: /src/gpac/src/isomedia/media_odf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - reftype_AddRefTrack
    - gf_odf_codec_del
    - gf_isom_box_new_parent
    - GF_LOG
    - gf_odf_desc_del
    - gf_odf_com_del
    - trak_on_child_box
    - gf_odf_codec_get_au
    - gf_odf_codec_get_com
    - gf_odf_desc_new
    - gf_odf_desc_copy
    - gf_list_new
    - gf_odf_codec_add_com
    - Track_FindRef
    - gf_odf_desc_add_desc
    - gf_list_enum
    - gf_odf_codec_encode
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_odf_com_new
    - gf_isom_sample_new
    - gf_isom_sample_del
    - gf_odf_codec_decode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Media_ParseODFrame(GF_MediaBox *mdia, const GF_ISOSample *sample,
      GF_ISOSample **od_samp) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/media_odf.c:459,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/isomedia/media_odf.c:466,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/isomedia/media_odf.c:475,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/isomedia/media_odf.c:470,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/isomedia/media_odf.c:468,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:481,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/media_odf.c:491,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/isomedia/media_odf.c:499,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/isomedia/media_odf.c:504,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 41
    argCount: 3
    argNames:
    - mdia
    - sample
    - track_id
    argTypes:
    - GF_MediaBox*
    - GF_ISOSample*
    - u32
    constantsTouched: []
    func_position:
      end: 506
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 506
    functionName: Media_FindOD_ID
    functionSourceFile: /src/gpac/src/isomedia/media_odf.c
    functionUses: []
    functionsReached:
    - gf_odf_codec_del
    - Track_FindRef
    - gf_odf_codec_decode
    - gf_list_enum
    - gf_odf_codec_get_com
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_odf_com_del
    linkageType: ''
    returnType: u32
    signature: 'static u32 Media_FindOD_ID(GF_MediaBox *mdia, GF_ISOSample *sample,
      u32 track_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_extract_meta_item_intern
      Src: /src/gpac/src/isomedia/meta.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - dump_file_name
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: gf_isom_extract_meta_item
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_extract_meta_item_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_extract_meta_item(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id, const char *dump_file_name) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2045,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2062,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2051,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2046,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/meta.c:2055,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2063,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2071,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/meta.c:2072,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/meta.c:2085,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2113,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2112,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/meta.c:2107,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 2
    argNames:
    - movie
    - meta
    argTypes:
    - GF_ISOFile*
    - GF_MetaBox*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2123
    functionName: gf_isom_meta_restore_items_ref
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - stbl_GetSampleInfos
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_meta_restore_items_ref(GF_ISOFile *movie, GF_MetaBox
      *meta) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:2133,1
    - Dst: gf_isom_meta_get_next_item_id
      Src: /src/gpac/src/isomedia/meta.c:2137,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:2143,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:2141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2146,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2148,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:2155,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2162,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/meta.c:2165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 6
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - group_id
    - group_type
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2171
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2171
    functionName: gf_isom_meta_add_item_group
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_list_count
    - gf_isom_meta_get_next_item_id
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_meta_add_item_group(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id, u32 group_id, u32 group_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_extract_meta_item_intern
      Src: /src/gpac/src/isomedia/meta.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - out_data
    - out_size
    - out_alloc_size
    - out_mime
    - use_annex_b
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u8**
    - u32*
    - u32*
    - char**
    - Bool
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: gf_isom_extract_meta_item_mem
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_extract_meta_item_intern
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_extract_meta_item_mem(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id, u8 **out_data, u32 *out_size, u32 *out_alloc_size,
      const char **out_mime, Bool use_annex_b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:54,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:59,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: gf_isom_has_meta_xml
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_has_meta_xml(GF_ISOFile *file, Bool root_meta,
      u32 track_num) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:619,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:652,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/meta.c:616,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/meta.c:622,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:633,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:655,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/meta.c:628,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:626,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:632,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:640,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:668,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:641,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:665,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/meta.c:670,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/meta.c:670,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/meta.c:637,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:657,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/meta.c:648,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/meta.c:647,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:671,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - metaType
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 674
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 674
    functionName: gf_isom_set_meta_type
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_meta
    - gf_list_get
    - gf_4cc_to_str
    - gf_isom_box_new_parent
    - gf_strdup
    - gf_isom_insert_moov
    - gf_isom_box_del
    - gf_isom_box_del_parent
    - sprintf
    - CanAccessMovie
    - gf_list_new
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_meta_type(GF_ISOFile *file, Bool root_meta,
      u32 track_num, u32 metaType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_meta_item_extended
      Src: /src/gpac/src/isomedia/meta.c:1799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 11
    argNames:
    - file
    - root_meta
    - track_num
    - item_name
    - item_id
    - item_type
    - mime_type
    - content_encoding
    - image_props
    - tk_id
    - sample_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32*
    - u32
    - char*
    - char*
    - GF_ImageItemProperties*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1800
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1800
    functionName: gf_isom_add_meta_item_sample_ref
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_add_meta_item_extended
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_meta_item_sample_ref(GF_ISOFile *file,
      Bool root_meta, u32 track_num, const char *item_name, u32 *item_id, u32 item_type,
      const char *mime_type, const char *content_encoding, GF_ImageItemProperties
      *image_props, u32 tk_id, u32 sample_num) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:2001,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:2004,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2007,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:2016,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2009,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:2018,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/meta.c:2030,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 7
    argNames:
    - file
    - root_meta
    - track_num
    - from_id
    - to_id
    - type
    - ref_index
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 2039
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2039
    functionName: gf_isom_meta_add_item_ref
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_meta
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_meta_add_item_ref(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 from_id, u32 to_id, u32 type, u64 *ref_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:2180,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2184,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2186,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - file
    - root_meta
    - track_num
    - from_id
    - type
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2192
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2192
    functionName: gf_isom_meta_get_item_ref_count
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_meta_get_item_ref_count(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 from_id, u32 type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:73,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/meta.c:89,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:79,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/meta.c:87,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:77,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/isomedia/meta.c:90,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/meta.c:91,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 5
    argNames:
    - file
    - root_meta
    - track_num
    - outName
    - is_binary
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 95
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 95
    functionName: gf_isom_extract_meta_xml
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_get_meta
    - gf_list_get
    - gf_list_count
    - gf_fwrite
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_extract_meta_xml(GF_ISOFile *file, Bool root_meta,
      u32 track_num, char *outName, Bool *is_binary) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:681,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:688,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/meta.c:684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 694
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 694
    functionName: gf_isom_remove_meta_xml
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_get_meta
    - gf_isom_box_del_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_meta_xml(GF_ISOFile *file, Bool root_meta,
      u32 track_num) '
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1105,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1154,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1173,1
    - Dst: gf_isom_box_equal
      Src: /src/gpac/src/isomedia/meta.c:1207,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1219,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/meta.c:1222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1238,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1317,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:1342,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1357,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/meta.c:1193,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/meta.c:1194,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1309,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1374,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/meta.c:1233,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1200,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:1190,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/meta.c:1205,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1074,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1078,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1081,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1113,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:1308,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1063,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1111,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1149,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:1197,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1278,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1338,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1339,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1385,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/meta.c:1047,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1129,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1152,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1177,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1216,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1315,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1058,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1107,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1141,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1147,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1328,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:1379,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1189,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:1045,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1127,1
    - Dst: gf_isom_clone_config_box
      Src: /src/gpac/src/isomedia/meta.c:1176,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1311,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1064,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/meta.c:1201,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1258,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1289,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1227,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1052,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1089,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1139,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1276,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1323,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:1344,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1352,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1354,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:1381,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1256,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1034,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1097,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1167,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/meta.c:1196,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:1223,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1336,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1209,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1270,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1249,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1056,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1182,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1299,1
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/isomedia/meta.c:1367,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1176,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1247,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:1294,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:1384,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1037,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1072,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1095,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1245,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1267,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:1314,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1330,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1346,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1372,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1291,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1241,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1274,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1215,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/meta.c:1192,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/meta.c:1029,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1032,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/isomedia/meta.c:1050,1
    - Dst: meta_find_prop
      Src: /src/gpac/src/isomedia/meta.c:1160,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1162,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/meta.c:1262,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1229,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1165,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/meta.c:1208,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/meta.c:1319,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1325,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1359,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 414
    argCount: 4
    argNames:
    - meta
    - item_ID
    - item_type
    - image_props
    argTypes:
    - GF_MetaBox*
    - u32
    - u32
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1395
    functionName: meta_process_image_properties
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_isom_clone_config_box
    - gf_malloc
    - gf_file_load_data
    - memset
    - gf_isom_box_new_parent
    - GF_LOG
    - GF_SAFEALLOC
    - gf_bs_del
    - gf_list_find
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_strdup
    - meta_add_item_property_association
    - gf_list_new
    - gf_bs_new
    - memcpy
    - gf_free
    - gf_isom_box_array_del
    - meta_find_prop
    - gf_isom_box_equal
    - gf_cenc_validate_key_info
    - gf_isom_box_array_read
    - gf_isom_box_find_child
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err meta_process_image_properties(GF_MetaBox *meta, u32
      item_ID, u32 item_type, GF_ImageItemProperties *image_props) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1804,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - meta
    - prop_idx
    argTypes:
    - GF_MetaBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1812
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1812
    functionName: meta_use_item_prop_idx
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool meta_use_item_prop_idx(GF_MetaBox *meta, u32 prop_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:1980,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1986,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1985,1
    - Dst: gf_isom_has_meta_xml
      Src: /src/gpac/src/isomedia/meta.c:1983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1990
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1990
    functionName: gf_isom_set_meta_primary_item
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_has_meta_xml
    - gf_isom_get_meta
    - gf_isom_box_del_parent
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_meta_primary_item(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:2198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2202,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - file
    - root_meta
    - track_num
    - to_id
    - type
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2214
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2214
    functionName: gf_isom_meta_item_has_ref
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_meta_item_has_ref(GF_ISOFile *file, Bool root_meta,
      u32 track_num, u32 to_id, u32 type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: gf_isom_get_meta
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_MetaBox*
    signature: 'GF_MetaBox *gf_isom_get_meta(GF_ISOFile *file, Bool root_meta, u32
      track_num) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:157,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:140,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:173,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/meta.c:164,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:180,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:190,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 66
    argCount: 14
    argNames:
    - file
    - root_meta
    - track_num
    - item_num
    - itemID
    - type
    - protection_scheme
    - protection_scheme_version
    - is_self_reference
    - item_name
    - item_mime_type
    - item_encoding
    - item_url
    - item_urn
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - Bool*
    - char**
    - char**
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 203
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 203
    functionName: gf_isom_get_meta_item_info
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_meta_item_info(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_num, u32 *itemID, u32 *type, u32 *protection_scheme,
      u32 *protection_scheme_version, Bool *is_self_reference, const char **item_name,
      const char **item_mime_type, const char **item_encoding, const char **item_url,
      const char **item_urn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_meta_item_extended
      Src: /src/gpac/src/isomedia/meta.c:1787,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 13
    argNames:
    - file
    - root_meta
    - track_num
    - self_reference
    - resource_path
    - item_name
    - item_id
    - item_type
    - mime_type
    - content_encoding
    - URL
    - URN
    - image_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - Bool
    - char*
    - char*
    - u32
    - u32
    - char*
    - char*
    - char*
    - char*
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1788
    functionName: gf_isom_add_meta_item
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_add_meta_item_extended
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_meta_item(GF_ISOFile *file, Bool root_meta,
      u32 track_num, Bool self_reference, char *resource_path, const char *item_name,
      u32 item_id, u32 item_type, const char *mime_type, const char *content_encoding,
      const char *URL, const char *URN, GF_ImageItemProperties *image_props) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: gf_isom_get_meta_type
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_meta_type(GF_ISOFile *file, Bool root_meta,
      u32 track_num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:124,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: gf_isom_get_meta_item_count
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_meta_item_count(GF_ISOFile *file, Bool root_meta,
      u32 track_num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - item_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: gf_isom_get_meta_item_flags
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_meta_item_flags(GF_ISOFile *file, Bool root_meta,
      u32 track_num, u32 item_num) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/meta.c:706,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:715,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/isomedia/meta.c:721,1
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:709,1
    - Dst: gf_isom_remove_meta_xml
      Src: /src/gpac/src/isomedia/meta.c:712,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:725,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:727,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 7
    argNames:
    - file
    - root_meta
    - track_num
    - XMLFileName
    - data
    - data_size
    - IsBinaryXML
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - unsigned char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 729
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 729
    functionName: gf_isom_set_meta_xml
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_get_meta
    - gf_file_load_data
    - gf_isom_box_new_parent
    - gf_isom_remove_meta_xml
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_meta_xml(GF_ISOFile *file, Bool root_meta,
      u32 track_num, char *XMLFileName, unsigned char *data, u32 data_size, Bool IsBinaryXML) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:739,1
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/src/isomedia/meta.c:748,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:753,1
    - Dst: gf_isom_get_meta_item_flags
      Src: /src/gpac/src/isomedia/meta.c:749,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/meta.c:742,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:755,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:761,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:837,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:856,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 77
    argCount: 6
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - prop
    - unmapped_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - GF_ImageItemProperties*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 863
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 863
    functionName: gf_isom_get_meta_image_props
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_meta
    - gf_isom_get_meta_item_by_id
    - gf_list_get
    - memset
    - gf_list_count
    - memcpy
    - gf_isom_get_meta_item_flags
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_meta_image_props(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id, GF_ImageItemProperties *prop, GF_List
      *unmapped_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_meta_item_extended
      Src: /src/gpac/src/isomedia/meta.c:1793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 12
    argNames:
    - file
    - root_meta
    - track_num
    - item_name
    - item_id
    - item_type
    - mime_type
    - content_encoding
    - image_props
    - data
    - data_len
    - item_extent_refs
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - char*
    - u32*
    - u32
    - char*
    - char*
    - GF_ImageItemProperties*
    - char*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1794
    functionName: gf_isom_add_meta_item_memory
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_add_meta_item_extended
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_meta_item_memory(GF_ISOFile *file, Bool
      root_meta, u32 track_num, const char *item_name, u32 *item_id, u32 item_type,
      const char *mime_type, const char *content_encoding, GF_ImageItemProperties
      *image_props, char *data, u32 data_len, GF_List *item_extent_refs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:2221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:2227,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:2225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - file
    - root_meta
    - track_num
    - from_id
    - type
    - ref_idx
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2234
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2234
    functionName: gf_isom_meta_get_item_ref_id
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_meta_get_item_ref_id(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 from_id, u32 type, u32 ref_idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:101,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - is_binary
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: gf_isom_get_meta_xml
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_XMLBox*
    signature: 'GF_XMLBox *gf_isom_get_meta_xml(GF_ISOFile *file, Bool root_meta,
      u32 track_num, Bool *is_binary) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:225,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - item_ID
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: gf_isom_get_meta_item_by_id
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_meta_item_by_id(GF_ISOFile *file, Bool root_meta,
      u32 track_num, u32 item_ID) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:514,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:522,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:527,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:562,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:565,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:570,1
    - Dst: gf_isom_extract_meta_item_mem
      Src: /src/gpac/src/isomedia/meta.c:594,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 63
    argCount: 13
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - is_protected
    - skip_byte_block
    - crypt_byte_block
    - key_info
    - key_info_size
    - aux_info_type_param
    - cenc_sai_data
    - cenc_sai_data_size
    - cenc_sai_alloc_size
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - Bool*
    - u32*
    - u32*
    - u8**
    - u32*
    - u32*
    - u8**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 595
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 595
    functionName: gf_isom_extract_meta_item_get_cenc_info
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    - gf_isom_extract_meta_item_mem
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_isom_extract_meta_item_get_cenc_info(GF_ISOFile
      *file, Bool root_meta, u32 track_num, u32 item_id, Bool *is_protected,\tu32
      *skip_byte_block, u32 *crypt_byte_block, const u8 **key_info, u32 *key_info_size,
      u32 *aux_info_type_param,\tu8 **cenc_sai_data, u32 *cenc_sai_data_size, u32
      *cenc_sai_alloc_size) "
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:870,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:872,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/meta.c:968,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/meta.c:959,1
    - Dst: gf_isom_box_equal
      Src: /src/gpac/src/isomedia/meta.c:984,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 91
    argCount: 2
    argNames:
    - boxes
    - prop
    argTypes:
    - GF_ItemPropertyContainerBox*
    - GF_ImageItemProperties*
    constantsTouched: []
    func_position:
      end: 992
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 992
    functionName: meta_find_prop
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_list_count
    - gf_list_get
    - gf_isom_box_equal
    linkageType: ''
    returnType: s32
    signature: 'static s32 meta_find_prop(GF_ItemPropertyContainerBox *boxes, GF_ImageItemProperties
      *prop) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:1404,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1414,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1406,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1426,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1432
    functionName: gf_isom_meta_get_next_item_id
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_meta
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_meta_get_next_item_id(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 *item_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1816,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - meta
    - prop_idx
    argTypes:
    - GF_MetaBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1825
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1825
    functionName: meta_shift_item_prop_idx
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void meta_shift_item_prop_idx(GF_MetaBox *meta, u32 prop_idx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1851,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/meta.c:1853,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/meta.c:1854,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/meta.c:1860,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - meta
    - pa_ent
    - keep_props
    argTypes:
    - GF_MetaBox*
    - GF_ItemPropertyAssociationEntry*
    - char*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1866
    functionName: meta_cleanup_item_association
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_list_get
    - strstr
    - gf_4cc_to_str
    linkageType: ''
    returnType: void
    signature: 'static void meta_cleanup_item_association(GF_MetaBox *meta, GF_ItemPropertyAssociationEntry
      *pa_ent, const char *keep_props) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:273,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:285,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:312,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/meta.c:350,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:320,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/meta.c:353,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/meta.c:358,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:275,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:338,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/meta.c:352,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/meta.c:356,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/meta.c:357,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:424,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/meta.c:441,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/meta.c:451,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/meta.c:466,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/meta.c:476,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/meta.c:460,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/meta.c:356,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/meta.c:458,1
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:329,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/meta.c:354,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/meta.c:359,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/meta.c:368,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:402,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:440,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/meta.c:467,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/meta.c:483,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/meta.c:472,1
    - Dst: gf_odf_avc_cfg_write_bs
      Src: /src/gpac/src/isomedia/meta.c:417,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/meta.c:487,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:262,1
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/src/isomedia/meta.c:250,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:260,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:374,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:379,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/meta.c:381,1
    - Dst: gf_odf_hevc_cfg_write_bs
      Src: /src/gpac/src/isomedia/meta.c:406,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:413,1
    - Dst: gf_odf_vvc_cfg_write_bs
      Src: /src/gpac/src/isomedia/meta.c:428,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/meta.c:473,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/meta.c:485,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 230
    argCount: 10
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - dump_file_name
    - out_data
    - out_size
    - out_alloc_size
    - out_mime
    - use_annex_b
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - char*
    - u8**
    - u32*
    - u32*
    - char**
    - Bool
    constantsTouched: []
    func_position:
      end: 490
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 490
    functionName: gf_isom_extract_meta_item_intern
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_from_file
    - gf_bs_write_data
    - gf_odf_hevc_cfg_write_bs
    - GF_LOG
    - gf_bs_seek
    - gf_bs_del
    - gf_list_count
    - gf_odf_avc_cfg_write_bs
    - strcpy
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_fopen
    - gf_isom_get_meta
    - gf_list_get
    - sprintf
    - gf_bs_new
    - gf_bs_read_int
    - gf_bs_is_overflow
    - gf_bs_write_u32
    - gf_odf_vvc_cfg_write_bs
    - gf_isom_get_meta_item_by_id
    - gf_fclose
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_extract_meta_item_intern(GF_ISOFile *file, Bool
      root_meta, u32 track_num, u32 item_id, const char *dump_file_name, u8 **out_data,
      u32 *out_size, u32 *out_alloc_size, const char **out_mime, Bool use_annex_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - root_meta
    - track_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: gf_isom_get_meta_primary_item_id
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_meta_primary_item_id(GF_ISOFile *file, Bool
      root_meta, u32 track_num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:998,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1008,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/meta.c:1013,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/meta.c:1010,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1001,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ipma
    - item_ID
    - prop_index
    - essential
    argTypes:
    - GF_ItemPropertyAssociationBox*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1020
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1020
    functionName: meta_add_item_property_association
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_realloc
    - gf_list_count
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err meta_add_item_property_association(GF_ItemPropertyAssociationBox
      *ipma, u32 item_ID, u32 prop_index, Bool essential) '
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:1450,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1473,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1486,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1521,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1501,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:1528,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1540,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/isomedia/meta.c:1564,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1595,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1633,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1671,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1722,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/meta.c:1736,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1636,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/meta.c:1767,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1733,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1610,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1665,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1712,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1453,1
    - Dst: FlushCaptureMode
      Src: /src/gpac/src/isomedia/meta.c:1460,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/meta.c:1467,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1530,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/meta.c:1534,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1543,1
    - Dst: meta_add_item_property_association
      Src: /src/gpac/src/isomedia/meta.c:1599,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1605,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1620,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/meta.c:1625,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/meta.c:1725,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1661,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/meta.c:1770,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1635,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1679,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1686,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/meta.c:1685,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/meta.c:1448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1455,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/meta.c:1465,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1476,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1523,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1481,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/meta.c:1533,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/meta.c:1538,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1592,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1672,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/isomedia/meta.c:1673,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/meta.c:1753,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1774,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/meta.c:1742,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1617,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1708,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/meta.c:1652,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/meta.c:1756,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/meta.c:1488,1
    - Dst: gf_isom_get_sample_size
      Src: /src/gpac/src/isomedia/meta.c:1499,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1510,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1506,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/meta.c:1525,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1546,1
    - Dst: meta_process_image_properties
      Src: /src/gpac/src/isomedia/meta.c:1553,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/meta.c:1561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1571,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1574,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/meta.c:1684,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/meta.c:1751,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/meta.c:1669,1
    - Dst: gf_fsize
      Src: /src/gpac/src/isomedia/meta.c:1746,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1609,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/meta.c:1619,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/meta.c:1655,1
    CyclomaticComplexity: 138
    EdgeCount: 138
    ICount: 291
    argCount: 18
    argNames:
    - file
    - root_meta
    - track_num
    - self_reference
    - resource_path
    - item_name
    - io_item_id
    - item_type
    - mime_type
    - content_encoding
    - image_props
    - URL
    - URN
    - data
    - data_len
    - item_extent_refs
    - tk_id
    - sample_num
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - Bool
    - char*
    - char*
    - u32*
    - u32
    - char*
    - char*
    - GF_ImageItemProperties*
    - char*
    - char*
    - char*
    - u32
    - GF_List*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1780
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1780
    functionName: gf_isom_add_meta_item_extended
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_box_new
    - memset
    - gf_isom_box_new_parent
    - gf_bs_write_data
    - GF_LOG
    - Media_CreateDataRef
    - GF_SAFEALLOC
    - gf_isom_get_sample_size
    - gf_list_find
    - gf_list_count
    - gf_strdup
    - gf_isom_box_del_parent
    - gf_fsize
    - meta_add_item_property_association
    - gf_list_new
    - gf_fopen
    - gf_isom_get_meta
    - gf_list_get
    - meta_process_image_properties
    - gf_isom_add_meta_item_memory
    - gf_isom_get_sample_info
    - gf_bs_get_position
    - gf_fread
    - memcpy
    - CanAccessMovie
    - gf_isom_sample_del
    - Media_FindDataRef
    - gf_isom_meta_add_item_ref
    - FlushCaptureMode
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_meta_item_extended(GF_ISOFile *file, Bool root_meta,
      u32 track_num, Bool self_reference, char *resource_path, const char *item_name,
      u32 *io_item_id, u32 item_type, const char *mime_type, const char *content_encoding,
      GF_ImageItemProperties *image_props, const char *URL, const char *URN, char
      *data, u32 data_len, GF_List *item_extent_refs, u32 tk_id, u32 sample_num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1829,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1836,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1835,1
    - Dst: meta_use_item_prop_idx
      Src: /src/gpac/src/isomedia/meta.c:1832,1
    - Dst: meta_shift_item_prop_idx
      Src: /src/gpac/src/isomedia/meta.c:1834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - meta
    argTypes:
    - GF_MetaBox*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1840
    functionName: meta_cleanup_associations
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - meta_use_item_prop_idx
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del_parent
    - meta_shift_item_prop_idx
    linkageType: ''
    returnType: void
    signature: 'static void meta_cleanup_associations(GF_MetaBox *meta) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/src/isomedia/meta.c:1878,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/meta.c:1884,1
    - Dst: meta_cleanup_item_association
      Src: /src/gpac/src/isomedia/meta.c:1906,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1923,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:1909,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/meta.c:1944,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1954,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1883,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1886,1
    - Dst: iloc_entry_del
      Src: /src/gpac/src/isomedia/meta.c:1894,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1904,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/meta.c:1910,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/meta.c:1943,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1956,1
    - Dst: gf_isom_get_meta
      Src: /src/gpac/src/isomedia/meta.c:1874,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/meta.c:1880,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1888,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/meta.c:1893,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/meta.c:1902,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/meta.c:1908,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/meta.c:1934,1
    - Dst: meta_cleanup_associations
      Src: /src/gpac/src/isomedia/meta.c:1918,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/meta.c:1925,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 95
    argCount: 6
    argNames:
    - file
    - root_meta
    - track_num
    - item_id
    - keep_refs
    - keep_props
    argTypes:
    - GF_ISOFile*
    - Bool
    - u32
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1975
    functionName: gf_isom_remove_meta_item
    functionSourceFile: /src/gpac/src/isomedia/meta.c
    functionUses: []
    functionsReached:
    - gf_isom_get_meta
    - gf_list_get
    - gf_isom_get_meta_item_by_id
    - iloc_entry_del
    - gf_list_count
    - meta_cleanup_item_association
    - GF_LOG
    - gf_isom_box_del_parent
    - gf_list_rem
    - gf_free
    - memmove
    - meta_cleanup_associations
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_meta_item(GF_ISOFile *file, Bool root_meta,
      u32 track_num, u32 item_id, Bool keep_refs, const char *keep_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5049,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5050,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5054
      start: 5046
    functionDepth: 0
    functionLinenumber: 5046
    functionLinenumberEnd: 5054
    functionName: dimC_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimC_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5060,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5066,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5061,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5070,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5068,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5072,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5076
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5076
    functionName: dOps_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dOps_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:439,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:441,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: kind_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err kind_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:448,1
    - Dst: gf_fputc
      Src: /src/gpac/src/isomedia/box_dump.c:451,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - trace
    - name
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 453
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 453
    functionName: dump_escape_string
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fputc
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_escape_string(FILE * trace, char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:416,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:417,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: alis_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err alis_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3231,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3234,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3232,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3236
    functionName: tfxd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfxd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:428,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:430,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: cprt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cprt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3243,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3247,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3244,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3251
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3251
    functionName: tfrf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfrf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1210,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1214,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1221,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1217,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1225
    functionName: stco_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stco_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2084,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2085,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2088,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2085,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2088,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2091,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2095
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2095
    functionName: ftyp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftyp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2513,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2514,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2517
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2517
    functionName: btrt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err btrt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4940,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4943,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4944,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4942,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4941,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4945,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4948
      start: 4937
    functionDepth: 0
    functionLinenumber: 4937
    functionLinenumberEnd: 4948
    functionName: clap_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clap_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvcC_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5152
      start: 5149
    functionDepth: 0
    functionLinenumber: 5149
    functionLinenumberEnd: 5152
    functionName: dvvC_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - dvcC_box_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvvC_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6612,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6613,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6616
      start: 6610
    functionDepth: 0
    functionLinenumber: 6610
    functionLinenumberEnd: 6616
    functionName: fiin_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiin_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5345,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5348,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5350
      start: 5341
    functionDepth: 0
    functionLinenumber: 5341
    functionLinenumberEnd: 5350
    functionName: tfdt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfdt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5993,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5996,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5998,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5994,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5997,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6001
      start: 5988
    functionDepth: 0
    functionLinenumber: 5988
    functionLinenumberEnd: 6001
    functionName: piff_tenc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - fprintf
    - dump_data_hex
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_tenc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1244,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1252,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1245,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1256,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1260
    functionName: stss_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stss_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2109,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2111,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2104,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2113
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2113
    functionName: padb_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err padb_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2523,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2526,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2524,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2533
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2533
    functionName: ftab_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftab_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_dump.c:3994,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4074,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4081,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4083,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_dump.c:3988,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4029,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4032,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4045,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4050,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4060,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4035,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4080,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4087,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4089,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:4090,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3983,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/isomedia/box_dump.c:3999,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4027,1
    - Dst: gf_color_get_name
      Src: /src/gpac/src/isomedia/box_dump.c:4043,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/isomedia/box_dump.c:4071,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4082,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4028,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4030,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4033,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4041,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4048,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4034,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 150
    argCount: 4
    argNames:
    - dump
    - txt
    - txtd
    - vtt_dump
    argTypes:
    - FILE*
    - GF_TextSample*
    - GF_Tx3gSampleEntryBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 4093
      start: 3979
    functionDepth: 0
    functionLinenumber: 3979
    functionLinenumberEnd: 4093
    functionName: dump_ttxt_sample_srt
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fprintf
    - gf_utf8_mbstowcs
    - gf_color_get_name
    - memcpy
    - gf_utf8_wcstombs
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_ttxt_sample_srt(FILE *dump, GF_TextSample *txt, GF_Tx3gSampleEntryBox
      *txtd, Bool vtt_dump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4955,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:4959,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4962,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4957,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4959,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4966
      start: 4951
    functionDepth: 0
    functionLinenumber: 4951
    functionLinenumberEnd: 4966
    functionName: tsel_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsel_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5157,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:5158,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5160,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5162
      start: 5154
    functionDepth: 0
    functionLinenumber: 5154
    functionLinenumberEnd: 5162
    functionName: lsrc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsrc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5355,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5357,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5356,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5359,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5361
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5361
    functionName: rsot_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rsot_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6628,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6636,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6633,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6630,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6640
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6640
    functionName: fecr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fecr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1069,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1070,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1073
    functionName: cslg_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cslg_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4215,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4219,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4235,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4217,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4246,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_dump.c:4252,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/box_dump.c:4254,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4260,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4279,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:4293,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:4296,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4277,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4283,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:4163,1
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/src/isomedia/box_dump.c:4190,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4196,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4208,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_dump.c:4239,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4265,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4268,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4281,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4290,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4286,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/box_dump.c:4192,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/box_dump.c:4205,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/isomedia/box_dump.c:4211,1
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/isomedia/box_dump.c:4234,1
    - Dst: webvtt_write_cue_bs
      Src: /src/gpac/src/isomedia/box_dump.c:4249,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/isomedia/box_dump.c:4250,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_dump.c:4253,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4255,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4257,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4272,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4291,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4273,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/box_dump.c:4164,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/isomedia/box_dump.c:4216,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:4236,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/isomedia/box_dump.c:4218,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:4247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4248,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:4258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4267,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4292,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4284,1
    - Dst: dump_ttxt_sample_srt
      Src: /src/gpac/src/isomedia/box_dump.c:4288,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4278,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 107
    argCount: 3
    argNames:
    - the_file
    - track
    - dump
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 4298
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4298
    functionName: gf_isom_dump_srt_track
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_fprintf
    - tx3g_format_time
    - gf_isom_get_media_subtype
    - gf_isom_delete_text_sample
    - gf_bs_del
    - gf_list_del
    - gf_isom_get_media_duration
    - gf_list_count
    - dump_ttxt_sample_srt
    - gf_isom_get_edit_list_type
    - gf_webvtt_parse_cues_from_data
    - gf_webvtt_cue_del
    - gf_list_get
    - webvtt_write_cue_bs
    - gf_set_progress
    - gf_isom_get_track_from_file
    - gf_isom_get_sample_info
    - gf_bs_write_u16
    - gf_isom_parse_text_sample
    - gf_bs_new
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_dump_srt_track(GF_ISOFile *the_file, u32 track,
      FILE *dump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1078,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1079,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: ccst_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccst_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:4308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4322,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4348,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4362,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4378,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:4381,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/box_dump.c:4318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4323,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4355,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4361,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4363,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4365,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4371,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4376,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/isomedia/box_dump.c:4380,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4329,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4331,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4353,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4354,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4359,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4375,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/box_dump.c:4379,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/box_dump.c:4320,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4321,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/box_dump.c:4319,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4330,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4341,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/box_dump.c:4345,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/box_dump.c:4333,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4336,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4360,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4364,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:4366,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 3
    argNames:
    - the_file
    - track
    - dump
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 4383
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4383
    functionName: gf_isom_dump_svg_track
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - strcat
    - gf_bs_del
    - gf_fprintf
    - gf_isom_get_track_from_file
    - gf_isom_get_sample_info
    - gf_set_progress
    - gf_isom_parse_text_sample
    - gf_fclose
    - gf_bs_new
    - gf_file_delete
    - gf_isom_get_sample
    - strcpy
    - gf_isom_delete_text_sample
    - gf_isom_get_sample_count
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_dump_svg_track(GF_ISOFile *the_file, u32 track,
      FILE *dump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3059,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3060,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3063
    functionName: hnti_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hnti_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:121,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:127,1
    - Dst: strrchr
      Src: /src/gpac/src/isomedia/box_dump.c:123,1
    - Dst: strrchr
      Src: /src/gpac/src/isomedia/box_dump.c:124,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:134,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:144,1
    - Dst: gf_isom_box_is_file_level
      Src: /src/gpac/src/isomedia/box_dump.c:147,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:148,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:148,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:150,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:152,1
    - Dst: gf_isom_dump_js_cleanup
      Src: /src/gpac/src/isomedia/box_dump.c:155,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 4
    argNames:
    - mov
    - trace
    - skip_init
    - skip_samples
    argTypes:
    - GF_ISOFile*
    - FILE*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: gf_isom_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_dump_js_cleanup
    - gf_fprintf
    - gf_list_enum
    - strrchr
    - gf_isom_box_dump
    - gf_4cc_to_str
    - gf_isom_box_is_file_level
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_dump(GF_ISOFile *mov, FILE * trace, Bool
      skip_init, Bool skip_samples) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3068,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3069,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3071,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3074
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3074
    functionName: sdp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1434,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1435,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1438
    functionName: tref_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tref_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7289,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7291,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:7298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7292,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7302,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7305,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:7306,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7307,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7314,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7316
      start: 7284
    functionDepth: 0
    functionLinenumber: 7284
    functionLinenumberEnd: 7316
    functionName: ienc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - dump_data_hex
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ienc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1442,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1443,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1446
    functionName: mdia_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdia_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7322,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7323,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7326
      start: 7318
    functionDepth: 0
    functionLinenumber: 7318
    functionLinenumberEnd: 7326
    functionName: iaux_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iaux_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1506,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1510,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1511,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1509,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1507,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1512,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1513,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1514,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1515,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1516,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1524,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1522,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1518,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1517,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1520,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1519,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1526
    functionName: dump_alac
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_alac(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2683,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2684,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2687
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2687
    functionName: twrp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err twrp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6327,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6328,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6333,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6335,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6337
      start: 6322
    functionDepth: 0
    functionLinenumber: 6322
    functionLinenumberEnd: 6337
    functionName: pixi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pixi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6385,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6386,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6389
      start: 6381
    functionDepth: 0
    functionLinenumber: 6381
    functionLinenumberEnd: 6389
    functionName: clli_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clli_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1533,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1539,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1546,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1548,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1550,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1551,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1553,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1555,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1560,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1569,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1542,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1545,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1563,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1568,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1535,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_dump.c:1540,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1543,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1547,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1549,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1552,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1554,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_dump.c:1558,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1565,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1532,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1536,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1544,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1557,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1561,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1562,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1564,1
    - Dst: get_4cc_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1571
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1571
    functionName: dump_uncc
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_bs_skip_bytes
    - gf_fprintf
    - get_4cc_and_print
    - gf_bs_new
    - gf_bs_seek
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_uncc(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start_ex
      Src: /src/gpac/src/isomedia/box_dump.c:2693,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2695,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2697
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2697
    functionName: meta_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_start_ex
    - gf_isom_box_dump_done
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err meta_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6343,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6345,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6347
      start: 6339
    functionDepth: 0
    functionLinenumber: 6339
    functionLinenumberEnd: 6347
    functionName: rloc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rloc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6396,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6401,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6400,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6403
      start: 6391
    functionDepth: 0
    functionLinenumber: 6391
    functionLinenumberEnd: 6403
    functionName: mdcv_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdcv_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:210,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:212,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: free_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err free_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5081,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5085,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5090,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5089,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5086,1
    - Dst: gf_iamf_get_obu_name
      Src: /src/gpac/src/isomedia/box_dump.c:5091,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5095,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5097
      start: 5078
    functionDepth: 0
    functionLinenumber: 5078
    functionLinenumberEnd: 5097
    functionName: iacb_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_iamf_get_obu_name
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iacb_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:218,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:219,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: wide_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wide_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5106,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5110,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5108,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5114,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5117,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5119,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5120,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5099
    functionDepth: 0
    functionLinenumber: 5099
    functionLinenumberEnd: 5125
    functionName: dac3_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dac3_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2880,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2881,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2884
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2884
    functionName: dmed_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmed_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6971,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6972,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6973,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6976
      start: 6967
    functionDepth: 0
    functionLinenumber: 6967
    functionLinenumberEnd: 6976
    functionName: jsub_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsub_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2890,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2892,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2894
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2894
    functionName: dimm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6982,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6984,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6986
      start: 6978
    functionDepth: 0
    functionLinenumber: 6978
    functionLinenumberEnd: 6986
    functionName: orfo_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err orfo_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1139,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1144,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1154,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1140,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1152,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1158
    functionName: stsc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1450,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1451,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1454
    functionName: mfra_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfra_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2765,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2770,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2769,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2766,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2767,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2773,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2774,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2776,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2779,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2783,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2781,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2785
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2785
    functionName: iloc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iloc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1460,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1463,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1470,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1468,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1472
    functionName: tfra_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfra_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1169,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1172,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1181,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1178,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1183,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1187,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1190,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1195,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1199
    functionName: stsz_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsz_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2789,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2791,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2793
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2793
    functionName: iref_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iref_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6722,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6724,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6727
      start: 6719
    functionDepth: 0
    functionLinenumber: 6719
    functionLinenumberEnd: 6727
    functionName: srpp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srpp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1586,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1592,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1587,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1590,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:1593,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1595,1
    - Dst: get_comp_type_name
      Src: /src/gpac/src/isomedia/box_dump.c:1595,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/isomedia/box_dump.c:1597,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1599,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:1600,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1603,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1606,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1608
    functionName: dump_cmpd
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_utf8
    - gf_bs_del
    - gf_fprintf
    - gf_isom_box_dump_done
    - gf_bs_new
    - get_comp_type_name
    - gf_free
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_cmpd(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5204,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5203,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5207,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5209,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5214,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5215,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5216,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5220
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5220
    functionName: ssix_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ssix_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5227,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5231,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5234,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5231,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5229,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5238
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5238
    functionName: leva_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err leva_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2565,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2566,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2570,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:2569,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2571,1
    - Dst: tx3g_dump_box
      Src: /src/gpac/src/isomedia/box_dump.c:2572,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2573,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2575,1
    - Dst: tx3g_dump_style
      Src: /src/gpac/src/isomedia/box_dump.c:2576,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2577,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2580
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2580
    functionName: tx3g_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - tx3g_dump_style
    - gf_fprintf
    - tx3g_dump_box
    - gf_isom_box_dump_start
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3g_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2585,1
    - Dst: tx3g_dump_rgb16
      Src: /src/gpac/src/isomedia/box_dump.c:2591,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2586,1
    - Dst: tx3g_dump_rgb16
      Src: /src/gpac/src/isomedia/box_dump.c:2590,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2592,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2594,1
    - Dst: tx3g_dump_box
      Src: /src/gpac/src/isomedia/box_dump.c:2595,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2596,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2599
    functionName: text_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - tx3g_dump_box
    - tx3g_dump_rgb16
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err text_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3145,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3146,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3149
    functionName: trep_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trep_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1271,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1272,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1282,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1278,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1275,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1286
    functionName: stdp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stdp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:842,1
    - Dst: base_audio_entry_dump
      Src: /src/gpac/src/isomedia/box_dump.c:843,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:849,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:847,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:844,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 39
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 851
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 851
    functionName: audio_sample_entry_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - base_audio_entry_dump
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err audio_sample_entry_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1314,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1306,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1301,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1323,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1332,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1341,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1345,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1347,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 47
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1349
    functionName: sdtp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdtp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:867,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:869,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 871
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 871
    functionName: gen_sample_entry_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gen_sample_entry_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3155,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3156,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3159,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3156,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3158,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3151
    functionDepth: 0
    functionLinenumber: 3151
    functionLinenumberEnd: 3162
    functionName: moof_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_list_count
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moof_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5270,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5277,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5273,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5273,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5280,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5284
      start: 5266
    functionDepth: 0
    functionLinenumber: 5266
    functionLinenumberEnd: 5284
    functionName: stsg_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsg_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5371,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5372,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5375
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5375
    functionName: rvcc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rvcc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:6427,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:6431,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6432,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6429,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6428,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6434,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6436,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6439,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6440,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6441,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6445
      start: 6421
    functionDepth: 0
    functionLinenumber: 6421
    functionLinenumberEnd: 6445
    functionName: ipma_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipma_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5290,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5301
      start: 5286
    functionDepth: 0
    functionLinenumber: 5286
    functionLinenumberEnd: 5301
    functionName: pcrb_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcrb_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5386,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5389,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5393,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_dump.c:5392,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5389,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5393,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5395,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5398,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5402,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5404,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5410,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5412
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5412
    functionName: sbgp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - isalnum
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sbgp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6451,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6452,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6454,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6455,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6457
      start: 6447
    functionDepth: 0
    functionLinenumber: 6447
    functionLinenumberEnd: 6457
    functionName: auxc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:102,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - list
    - trace
    argTypes:
    - GF_List*
    - FILE*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: gf_isom_box_array_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_box_array_dump(GF_List *list, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:342,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:343,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:344,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:345,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:346,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: hmhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hmhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1478,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1480,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1483
    functionName: mfro_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfro_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2900,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2901,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2904
    functionName: drep_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err drep_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7010,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7011,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7023
      start: 7006
    functionDepth: 0
    functionLinenumber: 7006
    functionLinenumberEnd: 7023
    functionName: ddts_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ddts_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:6029,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6030,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6039,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:6050,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/box_dump.c:6073,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6078,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6084,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:6094,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_dump.c:6103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6113,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6118,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6141,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6139,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6023,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6036,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6076,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:6080,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_dump.c:6085,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6082,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6090,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6106,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6131,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6143,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:6035,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:6071,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:6088,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_dump.c:6096,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:6099,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6101,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:6123,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:6124,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6125,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:6136,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6140,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6121,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6026,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6028,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6054,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/isomedia/box_dump.c:6095,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6098,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:6112,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6114,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:6120,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/box_dump.c:6128,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6133,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6129,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 118
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6145
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6145
    functionName: senc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_list_get
    - gf_bs_reassign_buffer
    - gf_bs_read_u32
    - gf_fprintf
    - gf_bs_del
    - gf_bs_get_position
    - gf_isom_box_dump_done
    - gf_list_count
    - gf_bs_read_int
    - gf_bs_new
    - key_info_get_iv_size
    - dump_data_hex
    - gf_sys_is_test_mode
    - gf_bs_skip_bytes
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err senc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7113,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7114,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7117
      start: 7109
    functionDepth: 0
    functionLinenumber: 7109
    functionLinenumberEnd: 7117
    functionName: pcmC_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmC_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:354,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:355,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: nmhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nmhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1489,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1490,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1493
    functionName: elng_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elng_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2909,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2910,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2913
    functionName: tssy_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tssy_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: senc_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:6149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6150
      start: 6147
    functionDepth: 0
    functionLinenumber: 6147
    functionLinenumberEnd: 6150
    functionName: piff_psec_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - senc_box_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_psec_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7031,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7032,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7047,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7045,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7048,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7052,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7054
      start: 7025
    functionDepth: 0
    functionLinenumber: 7025
    functionLinenumberEnd: 7054
    functionName: udts_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udts_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7122,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7130,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7128,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7125,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7123,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7134,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7138,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7140,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7142,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7148
      start: 7119
    functionDepth: 0
    functionLinenumber: 7119
    functionLinenumberEnd: 7148
    functionName: chnl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chnl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4527,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4531
    functionName: iSLT_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSLT_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:4541,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4562,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4545,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/isomedia/box_dump.c:4546,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/box_dump.c:4548,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4564,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - trace
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 4566
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4566
    functionName: gf_isom_dump_ismacryp_protection
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_isom_get_track_from_file
    - gf_isom_get_sample_description_count
    - Media_GetSampleDesc
    - gf_isom_box_dump
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_dump_ismacryp_protection(GF_ISOFile *the_file,
      u32 trackNumber, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:504,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:506,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:506,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:508,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:505,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:510,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:511,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:512,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:514,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: hdlr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_4cc_to_str
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hdlr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:524,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:531,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/isomedia/box_dump.c:529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:525,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:534,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 538
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 538
    functionName: iods_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iods_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:4391,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/box_dump.c:4415,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/box_dump.c:4403,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4406,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4411,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4417,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4421,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4422,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4423,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4429,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4436,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4430,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4435,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4432,1
    - Dst: gf_format_duration
      Src: /src/gpac/src/isomedia/box_dump.c:4429,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 4
    argNames:
    - the_file
    - track
    - dump
    - dump_type
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    - GF_TextDumpType
    constantsTouched: []
    func_position:
      end: 4439
      start: 4385
    functionDepth: 0
    functionLinenumber: 4385
    functionLinenumberEnd: 4439
    functionName: gf_isom_dump_ogg_chap
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_isom_get_sample_info
    - gf_isom_get_sample_count
    - gf_isom_get_track_from_file
    - fprintf
    - gf_isom_parse_text_sample
    - gf_bs_new
    - gf_format_duration
    - gf_isom_get_sample
    - gf_isom_sample_del
    - gf_isom_delete_text_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_dump_ogg_chap(GF_ISOFile *the_file, u32 track,
      FILE *dump, GF_TextDumpType dump_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_dump_svg_track
      Src: /src/gpac/src/isomedia/box_dump.c:4445,1
    - Dst: gf_isom_dump_srt_track
      Src: /src/gpac/src/isomedia/box_dump.c:4447,1
    - Dst: gf_isom_dump_ogg_chap
      Src: /src/gpac/src/isomedia/box_dump.c:4454,1
    - Dst: gf_isom_dump_ttxt_track
      Src: /src/gpac/src/isomedia/box_dump.c:4451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 4
    argNames:
    - the_file
    - track
    - dump
    - dump_type
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    - GF_TextDumpType
    constantsTouched: []
    func_position:
      end: 4458
      start: 4440
    functionDepth: 0
    functionLinenumber: 4440
    functionLinenumberEnd: 4458
    functionName: gf_isom_text_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_dump_ogg_chap
    - gf_isom_dump_srt_track
    - gf_isom_dump_svg_track
    - gf_isom_dump_ttxt_track
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_dump(GF_ISOFile *the_file, u32 track,
      FILE *dump, GF_TextDumpType dump_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6673,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:6678,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6680,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6675,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6678,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6683,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6686,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6691
      start: 6669
    functionDepth: 0
    functionLinenumber: 6669
    functionLinenumberEnd: 6691
    functionName: fpar_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fpar_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1832,1
    - Dst: get_4cc_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1838,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1836,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1837,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1833,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1840,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1841,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1842,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1843,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1846
    functionName: dump_cmpc
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - get_4cc_and_print
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_cmpc(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1870,1
    - Dst: get_4cc_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1873,1
    - Dst: get_4cc_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1874,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1871,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/isomedia/box_dump.c:1875,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1877,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:1878,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_dump.c:1881,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:1882,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1883,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1880,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1885,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1887
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1887
    functionName: dump_gmcc
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_read_utf8
    - gf_bs_del
    - gf_fprintf
    - get_4cc_and_print
    - gf_bs_get_position
    - gf_bs_new
    - dump_data_attribute
    - gf_free
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_gmcc(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2731,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2734
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2734
    functionName: pitm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pitm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6737,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6743,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6745,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6741,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6738,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6747,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6750,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6754
      start: 6731
    functionDepth: 0
    functionLinenumber: 6731
    functionLinenumberEnd: 6754
    functionName: fdpa_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdpa_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6697,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6701,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6703,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6698,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6705,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6707,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6712,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6717
      start: 6693
    functionDepth: 0
    functionLinenumber: 6693
    functionLinenumberEnd: 6717
    functionName: segr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err segr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1851,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1852,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1857,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1856,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1855,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1858,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1859,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1860,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1861,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1864
    functionName: dump_fpac
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_fpac(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1892,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1897,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_dump.c:1924,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1900,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1901,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1902,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1922,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_dump.c:1913,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_dump.c:1909,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:1918,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1932,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1896,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1899,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1929,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1893,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1898,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:1907,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_dump.c:1916,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1911,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1927,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_dump.c:1920,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1933,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1935
    functionName: dump_icef
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_isom_box_dump_done
    - gf_bs_read_u8
    - gf_fprintf
    - gf_bs_del
    - gf_bs_read_u24
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_u64
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_icef(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2738,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2739,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2742
    functionName: ipro_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipro_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6760,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6761,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6765,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:6764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6767
      start: 6756
    functionDepth: 0
    functionLinenumber: 6756
    functionLinenumberEnd: 6767
    functionName: extr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2798,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2799,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2802
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2802
    functionName: hinf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hinf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4485,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4488,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4486,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:4486,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4487,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4492
      start: 4481
    functionDepth: 0
    functionLinenumber: 4481
    functionLinenumberEnd: 4492
    functionName: schm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2807,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2808,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2811
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2811
    functionName: trpy_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trpy_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4496,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4497,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4500
      start: 4494
    functionDepth: 0
    functionLinenumber: 4494
    functionLinenumberEnd: 4500
    functionName: schi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err schi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:1627,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1641,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1660,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1668,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_dump.c:1672,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1677,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1677,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1683,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/box_dump.c:1674,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1677,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1623,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1625,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1630,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1642,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1644,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1646,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1635,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1643,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1636,1
    - Dst: get_comp_type_name
      Src: /src/gpac/src/isomedia/box_dump.c:1644,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:1648,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/box_dump.c:1666,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1688,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1690,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1680,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1666,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1680,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1619,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1624,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1654,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_dump.c:1664,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1668,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1668,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1660,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1672,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/box_dump.c:1674,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1685,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1672,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1677,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1620,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_dump.c:1628,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1629,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_dump.c:1633,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1640,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_dump.c:1647,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1650,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1666,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_dump.c:1672,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1674,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1664,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:1689,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1664,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1649,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1674,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1660,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 97
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1693
    functionName: dump_cpal
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_isom_box_dump_done
    - gf_bs_read_u32
    - gf_bs_del
    - gf_fprintf
    - snprintf
    - gf_bs_read_float
    - gf_bs_read_double
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - get_comp_type_name
    - gf_free
    - GF_ARRAY_LENGTH
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_cpal(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - trace
    - name
    - col
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2538
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2538
    functionName: tx3g_dump_rgba8
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_rgba8(FILE * trace, char *name, u32 col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1698,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1704,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1702,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1703,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1699,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1708,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1711,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1712,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1713,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/isomedia/box_dump.c:1713,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1716,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1706,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1719
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1719
    functionName: dump_cpat
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_float
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_cpat(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - trace
    - name
    - col
    argTypes:
    - FILE*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 2542
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2542
    functionName: tx3g_dump_rgb16
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_rgb16(FILE * trace, char *name, char col[6]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_load_data
      Src: /src/gpac/src/isomedia/box_dump.c:7645,1
    - Dst: JS_NewContext
      Src: /src/gpac/src/isomedia/box_dump.c:7640,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/isomedia/box_dump.c:7644,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7656,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/box_dump.c:7675,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/isomedia/box_dump.c:7681,1
    - Dst: JS_Call
      Src: /src/gpac/src/isomedia/box_dump.c:7684,1
    - Dst: JS_IsException
      Src: /src/gpac/src/isomedia/box_dump.c:7685,1
    - Dst: dump_element
      Src: /src/gpac/src/isomedia/box_dump.c:7694,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7698,1
    - Dst: JS_NewRuntime
      Src: /src/gpac/src/isomedia/box_dump.c:7639,1
    - Dst: qjs_module_init_gpaccore
      Src: /src/gpac/src/isomedia/box_dump.c:7641,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:7647,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/isomedia/box_dump.c:7648,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:7657,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7663,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/isomedia/box_dump.c:7663,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7664,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/isomedia/box_dump.c:7664,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7670,1
    - Dst: JS_NewString
      Src: /src/gpac/src/isomedia/box_dump.c:7670,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7699,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7689,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:7649,1
    - Dst: JS_Eval
      Src: /src/gpac/src/isomedia/box_dump.c:7651,1
    - Dst: js_dump_error
      Src: /src/gpac/src/isomedia/box_dump.c:7654,1
    - Dst: JS_NewString
      Src: /src/gpac/src/isomedia/box_dump.c:7678,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7679,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/isomedia/box_dump.c:7679,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7682,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7696,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7700,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7671,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/box_dump.c:7672,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7678,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/isomedia/box_dump.c:7646,1
    - Dst: JS_IsException
      Src: /src/gpac/src/isomedia/box_dump.c:7652,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/isomedia/box_dump.c:7662,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/isomedia/box_dump.c:7666,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7668,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7668,1
    - Dst: js_dump_error
      Src: /src/gpac/src/isomedia/box_dump.c:7687,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7691,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/isomedia/box_dump.c:7671,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 7
    argNames:
    - data
    - size
    - b4cc
    - par_type
    - box
    - trace
    - szPath
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - GF_Box*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 7703
      start: 7631
    functionDepth: 0
    functionLinenumber: 7631
    functionLinenumberEnd: 7703
    functionName: dump_js_data
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewArrayBuffer
    - dump_element
    - gf_file_load_data
    - JS_NewObject
    - gf_fprintf
    - JS_IsException
    - gf_4cc_to_str
    - qjs_module_init_gpaccore
    - JS_Eval
    - JS_NewInt32
    - js_dump_error
    - JS_Call
    - JS_NewCFunction
    - gf_dynstrcat
    - JS_NewString
    - sprintf
    - gf_free
    - JS_NewRuntime
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    - JS_FreeValue
    - strcat
    - JS_NewContext
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dump_js_data(u8 *data, u32 size, u32 b4cc, u32 par_type, GF_Box
      *box, FILE *trace, char *szPath) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3399,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:3405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3408,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3416,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3421,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3425,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - dte
    - trace
    argTypes:
    - GF_List*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3430
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3430
    functionName: DTE_Dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DTE_Dump(GF_List *dte, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7174,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7179,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:7184,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7181,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7186,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7189
      start: 7170
    functionDepth: 0
    functionLinenumber: 7170
    functionLinenumberEnd: 7189
    functionName: emsg_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emsg_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:3476,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3521,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3531,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3538,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3454,1
    - Dst: gf_isom_hint_sample_new
      Src: /src/gpac/src/isomedia/box_dump.c:3477,1
    - Dst: gf_isom_hint_sample_read
      Src: /src/gpac/src/isomedia/box_dump.c:3481,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:3506,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:3499,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3507,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3494,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3511,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3514,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3519,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/box_dump.c:3452,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/box_dump.c:3447,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3503,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3522,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3527,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3529,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3525,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:3446,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3449,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3472,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:3482,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3486,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3489,1
    - Dst: DTE_Dump
      Src: /src/gpac/src/isomedia/box_dump.c:3528,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3537,1
    - Dst: gf_isom_hint_rtp_length
      Src: /src/gpac/src/isomedia/box_dump.c:3515,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3536,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - SampleNum
    - trace
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 3540
      start: 3433
    functionDepth: 0
    functionLinenumber: 3433
    functionLinenumberEnd: 3540
    functionName: gf_isom_dump_hint_sample
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_fprintf
    - gf_isom_get_track_from_file
    - DTE_Dump
    - gf_list_count
    - gf_bs_new
    - IsHintTrack
    - Media_GetSampleDesc
    - gf_isom_hint_rtp_length
    - gf_isom_get_sample
    - gf_isom_hint_sample_new
    - gf_isom_box_dump
    - dump_data_attribute
    - gf_isom_hint_sample_read
    - gf_isom_hint_sample_del
    - gf_isom_sample_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_dump_hint_sample(GF_ISOFile *the_file, u32
      trackNumber, u32 SampleNum, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:314,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:323,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: clef_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clef_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:330,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:331,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: smhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err smhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5421,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5426,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5432,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5441,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5447,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5446,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5444,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5460,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5465,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5468,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5482,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5425,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5462,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5466,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5473,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5476,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5479,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5481,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5488,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5423,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5431,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5448,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5451,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5454,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5461,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5463,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5470,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5471,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5477,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5419,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5435,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5438,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5447,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5447,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5453,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5458,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5464,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5487,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5490,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - ptr
    - trace
    argTypes:
    - GF_OperatingPointsInformation*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5492
      start: 5414
    functionDepth: 0
    functionLinenumber: 5414
    functionLinenumberEnd: 5492
    functionName: oinf_entry_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void oinf_entry_dump(GF_OperatingPointsInformation *ptr, FILE
      * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6819,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6822,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6824
      start: 6815
    functionDepth: 0
    functionLinenumber: 6815
    functionLinenumberEnd: 6824
    functionName: ainf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ainf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6485,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6489
      start: 6481
    functionDepth: 0
    functionLinenumber: 6481
    functionLinenumberEnd: 6489
    functionName: tols_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tols_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5498,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5500,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5505,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5504,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5499,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5507,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - trace
    argTypes:
    - GF_LHVCLayerInformation*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5512
      start: 5494
    functionDepth: 0
    functionLinenumber: 5494
    functionLinenumberEnd: 5512
    functionName: linf_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void linf_dump(GF_LHVCLayerInformation *ptr, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6493,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6495,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6497
      start: 6491
    functionDepth: 0
    functionLinenumber: 6491
    functionLinenumberEnd: 6497
    functionName: trgr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6831,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:6834,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6837,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6835,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6839
      start: 6827
    functionDepth: 0
    functionLinenumber: 6827
    functionLinenumberEnd: 6839
    functionName: mhac_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhac_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3186,1
    - Dst: GF_ISOM_GET_FRAG_LEAD
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_LEAD
      Src: /src/gpac/src/isomedia/box_dump.c:3186,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3188,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDS
      Src: /src/gpac/src/isomedia/box_dump.c:3186,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDS
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDED
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_REDUNDANT
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_PAD
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/box_dump.c:3189,1
    - Dst: GF_ISOM_GET_FRAG_DEG
      Src: /src/gpac/src/isomedia/box_dump.c:3192,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDS
      Src: /src/gpac/src/isomedia/box_dump.c:3193,1
    - Dst: GF_ISOM_GET_FRAG_PAD
      Src: /src/gpac/src/isomedia/box_dump.c:3192,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDED
      Src: /src/gpac/src/isomedia/box_dump.c:3193,1
    - Dst: GF_ISOM_GET_FRAG_LEAD
      Src: /src/gpac/src/isomedia/box_dump.c:3193,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3191,1
    - Dst: GF_ISOM_GET_FRAG_REDUNDANT
      Src: /src/gpac/src/isomedia/box_dump.c:3193,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/box_dump.c:3192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - trace
    - flags
    - field_idx
    argTypes:
    - FILE*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3195
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3195
    functionName: frag_dump_sample_flags
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - GF_ISOM_GET_FRAG_DEPENDED
    - GF_ISOM_GET_FRAG_LEAD
    - gf_fprintf
    - GF_ISOM_GET_FRAG_REDUNDANT
    - GF_ISOM_GET_FRAG_DEG
    - GF_ISOM_GET_FRAG_SYNC
    - GF_ISOM_GET_FRAG_DEPENDS
    - GF_ISOM_GET_FRAG_PAD
    linkageType: ''
    returnType: void
    signature: 'static void frag_dump_sample_flags(FILE * trace, u32 flags, u32 field_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:6528,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6529,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6532,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6531,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6533,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6534,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6537,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6540,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6544
      start: 6521
    functionDepth: 0
    functionLinenumber: 6521
    functionLinenumberEnd: 6544
    functionName: grptype_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - GF_4CC
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grptype_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:692,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:697,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:694,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:698,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/box_dump.c:708,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:711,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:714,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:718,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:723,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_dump.c:715,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:722,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:716,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 78
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 725
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 725
    functionName: video_sample_entry_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_box_dump_done
    - gf_fprintf
    - isalnum
    - gf_sys_is_test_mode
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err video_sample_entry_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2443,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2445,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2448,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2449,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2447,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2450,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2451,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2452,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2453,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2454,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2455,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2457,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2461
    functionName: vpcc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vpcc_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6209,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6213
      start: 6205
    functionDepth: 0
    functionLinenumber: 6205
    functionLinenumberEnd: 6213
    functionName: aeib_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aeib_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3205,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3202,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3207,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3213,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3215,1
    - Dst: frag_dump_sample_flags
      Src: /src/gpac/src/isomedia/box_dump.c:3218,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3221,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3225
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3225
    functionName: tfhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - frag_dump_sample_flags
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6549,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6551,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6554,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:6552,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6556
      start: 6546
    functionDepth: 0
    functionLinenumber: 6546
    functionLinenumberEnd: 6556
    functionName: stvi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stvi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:740,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:754,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:756,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:767,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:767,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:771,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:771,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:732,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:750,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:751,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:757,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:758,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:759,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:766,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:766,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:745,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:742,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:752,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:763,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:765,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/isomedia/box_dump.c:765,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:769,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:769,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:770,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:772,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:747,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:753,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:762,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:768,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:768,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:770,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 73
    argCount: 2
    argNames:
    - p
    - trace
    argTypes:
    - GF_AudioSampleEntryBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 775
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 775
    functionName: base_audio_entry_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_double
    - gf_fprintf
    - gf_bs_del
    - gf_bs_new
    linkageType: ''
    returnType: void
    signature: 'void base_audio_entry_dump(GF_AudioSampleEntryBox *p, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2466,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2469,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2470,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2468,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2467,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2471,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2472,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2473,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2474,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2475,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2477,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2479
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2479
    functionName: SmDm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SmDm_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6218,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6220,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6222
      start: 6215
    functionDepth: 0
    functionLinenumber: 6215
    functionLinenumberEnd: 6222
    functionName: akey_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err akey_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:232,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:233,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:238,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:236,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: mdat_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdat_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:933,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:936,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:935,1
    - Dst: gnr_dump_exts
      Src: /src/gpac/src/isomedia/box_dump.c:940,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_dump.c:937,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 944
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 944
    functionName: gnrv_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - isalnum
    - GF_4CC
    - gnr_dump_exts
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrv_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2605,1
    - Dst: tx3g_dump_style
      Src: /src/gpac/src/isomedia/box_dump.c:2607,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2611,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2606,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2613
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2613
    functionName: styl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - tx3g_dump_style
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err styl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:246,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:248,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:250,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: moov_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moov_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:953,1
    - Dst: gnr_dump_exts
      Src: /src/gpac/src/isomedia/box_dump.c:960,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:956,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:962,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:955,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 964
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 964
    functionName: gnra_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - GF_4CC
    - gnr_dump_exts
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnra_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: dump_uncc
      Src: /src/gpac/src/isomedia/box_dump.c:1989,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1990,1
    - Dst: dump_cpal
      Src: /src/gpac/src/isomedia/box_dump.c:1993,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1994,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2002,1
    - Dst: dump_taic
      Src: /src/gpac/src/isomedia/box_dump.c:2001,1
    - Dst: dump_fpac
      Src: /src/gpac/src/isomedia/box_dump.c:2005,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2006,1
    - Dst: dump_icef
      Src: /src/gpac/src/isomedia/box_dump.c:2013,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2049,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2058,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:2054,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1980,1
    - Dst: dump_cmpd
      Src: /src/gpac/src/isomedia/box_dump.c:1991,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1992,1
    - Dst: dump_sbpm
      Src: /src/gpac/src/isomedia/box_dump.c:1999,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2000,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2004,1
    - Dst: dump_cmpc
      Src: /src/gpac/src/isomedia/box_dump.c:2011,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2012,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2045,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2052,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1988,1
    - Dst: dump_alac
      Src: /src/gpac/src/isomedia/box_dump.c:1987,1
    - Dst: dump_cloc
      Src: /src/gpac/src/isomedia/box_dump.c:1997,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1998,1
    - Dst: dump_dvc1
      Src: /src/gpac/src/isomedia/box_dump.c:2009,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2010,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2028,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2029,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/isomedia/box_dump.c:2037,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2051,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2057,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1983,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:1996,1
    - Dst: dump_cpat
      Src: /src/gpac/src/isomedia/box_dump.c:1995,1
    - Dst: dump_itai
      Src: /src/gpac/src/isomedia/box_dump.c:2003,1
    - Dst: dump_gmcc
      Src: /src/gpac/src/isomedia/box_dump.c:2007,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:2008,1
    - Dst: gf_isom_box_dump_start_ex
      Src: /src/gpac/src/isomedia/box_dump.c:2027,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/isomedia/box_dump.c:2033,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2036,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2036,1
    - Dst: dump_js_data
      Src: /src/gpac/src/isomedia/box_dump.c:2038,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 135
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2060
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 2060
    functionName: unkn_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - snprintf
    - dump_cmpd
    - gf_fprintf
    - dump_js_data
    - dump_dvc1
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    - dump_icef
    - gf_isom_box_dump_done
    - GF_4CC
    - dump_gmcc
    - dump_cpat
    - dump_cpal
    - dump_fpac
    - dump_cmpc
    - gf_isom_box_dump_start_ex
    - gf_opts_get_key
    - dump_itai
    - dump_uncc
    - dump_sbpm
    - dump_taic
    - dump_cloc
    - dump_data_attribute
    - dump_alac
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err unkn_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2617,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2618,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2621
    functionName: hlit_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hlit_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3271,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3282,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3289,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3380,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3386,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3376,1
    - Dst: sample_flags_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3311,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3343,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3298,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3265,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3279,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3299,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3300,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3300,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3328,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3330,1
    - Dst: frag_dump_sample_flags
      Src: /src/gpac/src/isomedia/box_dump.c:3338,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3378,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3333,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3346,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3267,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3285,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3287,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3291,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3304,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3322,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3335,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3366,1
    - Dst: frag_dump_sample_flags
      Src: /src/gpac/src/isomedia/box_dump.c:3370,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3384,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3348,1
    - Dst: frag_dump_sample_flags
      Src: /src/gpac/src/isomedia/box_dump.c:3351,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3295,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3293,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3296,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3297,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3295,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3296,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3293,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_dump.c:3297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3341,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3360,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3373,1
    - Dst: frag_dump_sample_flags
      Src: /src/gpac/src/isomedia/box_dump.c:3379,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3389
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3389
    functionName: trun_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_isom_ctrn_field_size_bits
    - gf_fprintf
    - frag_dump_sample_flags
    - sample_flags_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trun_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:380,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:382,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:384,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:389,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:386,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:391,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:395,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 397
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 397
    functionName: url_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err url_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:545,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:546,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:550,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: trak_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trak_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5315,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5313,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5320,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5325,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5326,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5328,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5331,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5333,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5332,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5338
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5338
    functionName: subs_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err subs_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:404,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:407,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:406,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: urn_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err urn_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:559,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:564,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:562,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: mp4s_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4s_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2410,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2412,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2414
    functionName: vvnc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvnc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3018,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3019,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3022
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3022
    functionName: tsro_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsro_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - trace
    - rec
    argTypes:
    - FILE*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 3547
      start: 3544
    functionDepth: 0
    functionLinenumber: 3544
    functionLinenumberEnd: 3547
    functionName: tx3g_dump_box_nobox
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_box_nobox(FILE * trace, GF_BoxRecord *rec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeContext
      Src: /src/gpac/src/isomedia/box_dump.c:7707,1
    - Dst: JS_FreeRuntime
      Src: /src/gpac/src/isomedia/box_dump.c:7708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7711
      start: 7705
    functionDepth: 0
    functionLinenumber: 7705
    functionLinenumberEnd: 7711
    functionName: gf_isom_dump_js_cleanup
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - JS_FreeContext
    - JS_FreeRuntime
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_dump_js_cleanup() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/box_dump.c:1578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1581
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1581
    functionName: get_comp_type_name
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_comp_type_name(u32 ctype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2419,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2424,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2423,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2425,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2421,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2426,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2429,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2430,1
    - Dst: gf_av1_get_obu_name
      Src: /src/gpac/src/isomedia/box_dump.c:2430,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2431,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2432,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2436,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2438
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2438
    functionName: av1c_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - gf_av1_get_obu_name
    - dump_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1c_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3044,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3047,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3051,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3049,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3045,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3055
    functionName: ghnt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghnt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3566,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - trace
    - start
    - end
    - shift_offset
    - so_count
    argTypes:
    - FILE*
    - u32
    - u32
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 3567
      start: 3549
    functionDepth: 0
    functionLinenumber: 3549
    functionLinenumberEnd: 3567
    functionName: tx3g_print_char_offsets
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_print_char_offsets(FILE * trace, u32 start, u32 end,
      u32 *shift_offset, u32 so_count) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4992,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5000,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4997,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4995,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4996,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5001,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5002,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5006,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5007,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5009,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5010,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5012
      start: 4968
    functionDepth: 0
    functionLinenumber: 4968
    functionLinenumberEnd: 5012
    functionName: metx_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err metx_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1941,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1947,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1961,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1946,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1942,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1945,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1950,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1952,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1955,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1956,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_dump.c:1958,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1954,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:1962,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1948,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1949,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1964,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1963,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1944,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1951,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1953,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1966
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1966
    functionName: dump_dvc1
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - dump_data_hex
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_dvc1(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5019,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5020,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5024,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5026
      start: 5014
    functionDepth: 0
    functionLinenumber: 5014
    functionLinenumberEnd: 5026
    functionName: txtc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err txtc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1399,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1400,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1403
    functionName: minf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err minf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2938,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2939,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2942
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2942
    functionName: tmax_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmax_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4921,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4922,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4925
      start: 4919
    functionDepth: 0
    functionLinenumber: 4919
    functionLinenumberEnd: 4925
    functionName: odkm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odkm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1409,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1416,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1414,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1411,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1418,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1419,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1421,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1423,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1424,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1425,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1428,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1430
    functionName: tkhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tkhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2948,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2949,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2952
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2952
    functionName: pmax_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pmax_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4931,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4932,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4935
      start: 4928
    functionDepth: 0
    functionLinenumber: 4928
    functionLinenumberEnd: 4935
    functionName: pasp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pasp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:878,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/box_dump.c:886,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_dump.c:884,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:882,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_dump.c:883,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_dump.c:888,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_dump.c:889,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:891,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:893,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:894,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:895,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_dump.c:898,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:902,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_dump.c:905,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:901,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/box_dump.c:896,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:897,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - data
    - data_size
    - trace
    argTypes:
    - u8*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 906
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 906
    functionName: gnr_dump_exts
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_fprintf
    - gf_list_pop_front
    - gf_bs_set_cookie
    - gf_isom_box_parse
    - gf_list_count
    - gf_isom_box_del
    - gf_bs_new
    - gf_bs_available
    - gf_isom_box_dump
    - dump_data_attribute
    - gf_list_new
    - gf_isom_box_array_del
    linkageType: ''
    returnType: void
    signature: 'static void gnr_dump_exts(u8 *data, u32 data_size, FILE *trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1793,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1794,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1799,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1797,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1798,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1800,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1801,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1802,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1803,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1806,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1805,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1808
    functionName: dump_taic
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_read_int
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_taic(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6991,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6992,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6995
      start: 6988
    functionDepth: 0
    functionLinenumber: 6988
    functionLinenumberEnd: 6995
    functionName: ihdr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ihdr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:915,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:918,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:922,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:917,1
    - Dst: gnr_dump_exts
      Src: /src/gpac/src/isomedia/box_dump.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 924
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 924
    functionName: gnrm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - GF_4CC
    - gnr_dump_exts
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1813,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1814,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1819,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1817,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1818,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1820,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1821,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1822,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1823,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1824,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1827
    functionName: dump_itai
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_itai(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7000,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7002,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7004
      start: 6997
    functionDepth: 0
    functionLinenumber: 6997
    functionLinenumberEnd: 7004
    functionName: dfla_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dfla_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7387,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7389,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7391
      start: 7383
    functionDepth: 0
    functionLinenumber: 7383
    functionLinenumberEnd: 7391
    functionName: prhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7398,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7399,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7400,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7403,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7404,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7405,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7408,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7409,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7409,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7413
      start: 7393
    functionDepth: 0
    functionLinenumber: 7393
    functionLinenumberEnd: 7413
    functionName: proj_type_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proj_type_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5031,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5032,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5035
      start: 5028
    functionDepth: 0
    functionLinenumber: 5028
    functionLinenumberEnd: 5035
    functionName: dims_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dims_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3079,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:3080,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3082,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3083,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3085
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3085
    functionName: rtp_hnti_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtp_hnti_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3168,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3169,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3172
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3172
    functionName: mfhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:6505,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6506,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6508,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6511
      start: 6499
    functionDepth: 0
    functionLinenumber: 6499
    functionLinenumberEnd: 6511
    functionName: trgt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - GF_4CC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5532,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5536,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5540,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5540,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5542,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5542,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5535,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5546,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5547,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5523,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5537,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5552,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5522,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5530,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5534,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5542,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5540,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5544,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:5555,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5521,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5528,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:5527,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5533,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5550,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - trace
    - data
    - data_size
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 5556
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5556
    functionName: trif_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_del
    - gf_fprintf
    - gf_bs_read_int
    - gf_bs_new
    linkageType: ''
    returnType: void
    signature: 'static void trif_dump(FILE * trace, char *data, u32 data_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6846,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6850,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6847,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6853,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6851,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6856
      start: 6841
    functionDepth: 0
    functionLinenumber: 6841
    functionLinenumberEnd: 6856
    functionName: mhap_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhap_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3091,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3092,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3095
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3095
    functionName: rtpo_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpo_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3176,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3177,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3180
      start: 3174
    functionDepth: 0
    functionLinenumber: 3174
    functionLinenumberEnd: 3180
    functionName: traf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err traf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5040,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5041,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5044
      start: 5037
    functionDepth: 0
    functionLinenumber: 5037
    functionLinenumberEnd: 5044
    functionName: diST_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err diST_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6515,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6516,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6519
      start: 6513
    functionDepth: 0
    functionLinenumber: 6513
    functionLinenumberEnd: 6519
    functionName: grpl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5566,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:5572,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5568,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5573,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5567,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5574,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5575,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5576,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5577,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5581,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5584,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_dump.c:5586,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:5590,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5587,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:5583,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - trace
    - data
    - data_size
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 5593
      start: 5558
    functionDepth: 0
    functionLinenumber: 5558
    functionLinenumberEnd: 5593
    functionName: nalm_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_del
    - gf_fprintf
    - gf_bs_read_int
    - gf_bs_new
    linkageType: ''
    returnType: void
    signature: 'static void nalm_dump(FILE * trace, char *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6861,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6863,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6867
      start: 6857
    functionDepth: 0
    functionLinenumber: 6857
    functionLinenumberEnd: 6867
    functionName: tmcd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmcd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2284,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2286,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2302,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2307,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2311,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2314,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2319,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2323,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2328,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2266,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2267,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2276,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2281,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2283,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2296,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2285,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2316,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2320,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2321,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2268,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2287,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2300,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2305,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/isomedia/box_dump.c:2312,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2324,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2325,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2333,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2272,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2278,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2289,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2293,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2303,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2304,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2331,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2326,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2335
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2335
    functionName: hvcc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_avc_hevc_get_chroma_format_name
    - sprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hvcc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2859,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2860,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2863
    functionName: tpay_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpay_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2357,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/isomedia/box_dump.c:2369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2372,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2359,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2374,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2378,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2387,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2391,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2396,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2394,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2401,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2345,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:2377,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2384,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2388,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2389,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2399,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2393,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2343,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2349,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2351,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2344,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2352,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2355,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2368,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2361,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2376,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2380,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2392,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2353,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2356,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2365,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2403
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2403
    functionName: vvcc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_avc_hevc_get_chroma_format_name
    - sprintf
    - dump_data_hex
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vvcc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2869,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2870,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2873
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2873
    functionName: maxr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err maxr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6248,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6249,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6252
      start: 6244
    functionDepth: 0
    functionLinenumber: 6244
    functionLinenumberEnd: 6252
    functionName: ispe_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ispe_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6259,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6262
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6262
    functionName: a1lx_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1lx_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4828,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4829,1
    - Dst: ilst_item_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4833,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4836,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:4832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4838
      start: 4821
    functionDepth: 0
    functionLinenumber: 4821
    functionLinenumberEnd: 4838
    functionName: ilst_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_enum
    - ilst_item_box_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:260,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:263,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:262,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:265,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: mvhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7473,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7476
      start: 7465
    functionDepth: 0
    functionLinenumber: 7465
    functionLinenumberEnd: 7476
    functionName: empty_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err empty_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:276,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:279,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:278,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:277,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:280,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:281,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: mdhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7482,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7485,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7483,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7483,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7488
      start: 7478
    functionDepth: 0
    functionLinenumber: 7478
    functionLinenumberEnd: 7488
    functionName: extl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4717,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4719,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4724,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4726,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4722,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4731,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4735,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4736,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4740,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4743,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4745,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4740,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4743,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4747
      start: 4713
    functionDepth: 0
    functionLinenumber: 4713
    functionLinenumberEnd: 4747
    functionName: abst_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_list_get
    - gf_fprintf
    - gf_isom_box_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err abst_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6268,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6270,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6272
      start: 6264
    functionDepth: 0
    functionLinenumber: 6264
    functionLinenumberEnd: 6272
    functionName: a1op_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err a1op_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6646,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6654,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6651,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6657,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6659
      start: 6642
    functionDepth: 0
    functionLinenumber: 6642
    functionLinenumberEnd: 6659
    functionName: gitn_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gitn_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4753,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4763,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4755,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4758,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4759,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4764,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4770
      start: 4749
    functionDepth: 0
    functionLinenumber: 4749
    functionLinenumberEnd: 4770
    functionName: afra_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_list_get
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afra_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_dump.c:6305,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:6313,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6313,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6286,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6284,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6303,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/isomedia/box_dump.c:6306,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6309,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6281,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:6287,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6288,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6290,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6294,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:6294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6297,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:6297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6301,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6308,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:6301,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6320
      start: 6274
    functionDepth: 0
    functionLinenumber: 6274
    functionLinenumberEnd: 6320
    functionName: colr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data_hex
    - gf_4cc_to_str
    - gf_base64_encode
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err colr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6663,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6664,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6667
      start: 6661
    functionDepth: 0
    functionLinenumber: 6661
    functionLinenumberEnd: 6667
    functionName: paen_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err paen_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:288,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:289,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: vmhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vmhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3571,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3575,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3579,1
    - Dst: tx3g_print_char_offsets
      Src: /src/gpac/src/isomedia/box_dump.c:3573,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3577,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3580,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3581,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3583,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:3584,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - trace
    - rec
    - shift_offset
    - so_count
    argTypes:
    - FILE*
    - GF_StyleRecord*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 3586
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3586
    functionName: tx3g_dump_style_nobox
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - tx3g_print_char_offsets
    - gf_fprintf
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_style_nobox(FILE * trace, GF_StyleRecord *rec,
      u32 *shift_offset, u32 so_count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7196,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:7206,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7203,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7197,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7207,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/box_dump.c:7210,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:7211,1
    - Dst: scte35_dump_xml
      Src: /src/gpac/src/isomedia/box_dump.c:7212,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:7213,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7220,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7222
      start: 7192
    functionDepth: 0
    functionLinenumber: 7192
    functionLinenumberEnd: 7222
    functionName: emib_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - scte35_dump_xml
    - gf_fprintf
    - gf_bs_del
    - fprintf
    - strcmp
    - gf_bs_new
    - dump_data_attribute
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emib_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:297,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:300,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: gmin_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gmin_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3597,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - ts
    - timescale
    - szDur
    - is_srt
    argTypes:
    - u64
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3602
      start: 3588
    functionDepth: 0
    functionLinenumber: 3588
    functionLinenumberEnd: 3602
    functionName: tx3g_format_time
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *tx3g_format_time(u64 ts, u32 timescale, char *szDur, Bool is_srt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7226,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7228,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7230
      start: 7224
    functionDepth: 0
    functionLinenumber: 7224
    functionLinenumberEnd: 7230
    functionName: emeb_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emeb_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1360,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1367,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1361,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1374
    functionName: co64_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err co64_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:968,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:970,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 972
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 972
    functionName: edts_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err edts_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2998,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3000,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3002
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3002
    functionName: snro_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err snro_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4105,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4106,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4109,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4108,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4106,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - bs
    - ts
    - dump_hour
    - write_srt
    argTypes:
    - GF_BitStream*
    - GF_WebVTTTimestamp*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4110
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4110
    functionName: vttmx_timestamp_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void vttmx_timestamp_dump(GF_BitStream *bs, GF_WebVTTTimestamp
      *ts, Bool dump_hour, Bool write_srt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:981,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:985,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:982,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:988,1
    - Dst: gf_isom_box_array_dump
      Src: /src/gpac/src/isomedia/box_dump.c:986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 990
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 990
    functionName: udta_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_enum
    - gf_isom_box_array_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1381,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/isomedia/box_dump.c:1386,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1391,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1382,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1388,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1395
    functionName: esds_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err esds_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3008,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3009,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3012
      start: 3004
    functionDepth: 0
    functionLinenumber: 3004
    functionLinenumberEnd: 3012
    functionName: tims_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tims_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4118,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4132,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4137,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4139,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4122,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4124,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4141,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4136,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4149,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4121,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4117,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/box_dump.c:4127,1
    - Dst: vttmx_timestamp_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4133,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4149,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4141,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4146,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4144,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4117,1
    - Dst: vttmx_timestamp_dump
      Src: /src/gpac/src/isomedia/box_dump.c:4131,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:4137,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_dump.c:4150,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - bs
    - cue
    - write_srt
    argTypes:
    - GF_BitStream*
    - GF_WebVTTCue*
    - Bool
    constantsTouched: []
    func_position:
      end: 4152
      start: 4112
    functionDepth: 0
    functionLinenumber: 4112
    functionLinenumberEnd: 4152
    functionName: webvtt_write_cue_bs
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_opts_get_bool
    - vttmx_timestamp_dump
    linkageType: ''
    returnType: void
    signature: 'void webvtt_write_cue_bs(GF_BitStream *bs, GF_WebVTTCue *cue, Bool
      write_srt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6407,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6408,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6411
      start: 6405
    functionDepth: 0
    functionLinenumber: 6405
    functionLinenumberEnd: 6411
    functionName: ipco_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ipco_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6791,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6795,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6800,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6798,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6793,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6802
      start: 6786
    functionDepth: 0
    functionLinenumber: 6786
    functionLinenumberEnd: 6802
    functionName: trik_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trik_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6415,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6416,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6419
      start: 6413
    functionDepth: 0
    functionLinenumber: 6413
    functionLinenumberEnd: 6419
    functionName: iprp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iprp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6808,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6810,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6813
      start: 6804
    functionDepth: 0
    functionLinenumber: 6804
    functionLinenumberEnd: 6813
    functionName: bloc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bloc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:459,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:463,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:466,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:460,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:467,1
    - Dst: dump_escape_string
      Src: /src/gpac/src/isomedia/box_dump.c:468,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:469,1
    - Dst: gf_format_duration
      Src: /src/gpac/src/isomedia/box_dump.c:469,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:472,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/isomedia/box_dump.c:475,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:479,1
    - Dst: dump_escape_string
      Src: /src/gpac/src/isomedia/box_dump.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: chpl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sys_is_cov_mode
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_escape_string
    - gf_list_count
    - gf_format_duration
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chpl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:487,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:488,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:495,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:497,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: pdin_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pdin_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6589,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6591,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6593
      start: 6558
    functionDepth: 0
    functionLinenumber: 6558
    functionLinenumberEnd: 6593
    functionName: def_parent_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7235,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7237,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7239
      start: 7232
    functionDepth: 0
    functionLinenumber: 7232
    functionLinenumberEnd: 7239
    functionName: evte_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evte_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7367,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7371
      start: 7363
    functionDepth: 0
    functionLinenumber: 7363
    functionLinenumberEnd: 7371
    functionName: st3d_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err st3d_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6606,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6609
      start: 6595
    functionDepth: 0
    functionLinenumber: 6595
    functionLinenumberEnd: 6609
    functionName: def_parent_full_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_full_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7248,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7249,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7262,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7263,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7257,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7267,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7270,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7272,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7274,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7276,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7281
      start: 7241
    functionDepth: 0
    functionLinenumber: 7241
    functionLinenumberEnd: 7281
    functionName: csgp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_isom_box_dump_done
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err csgp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:7333,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7336,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7335,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:7338,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/isomedia/box_dump.c:7343,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_dump.c:7344,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/isomedia/box_dump.c:7345,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7349,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:7351,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:7354,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7355,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7360
      start: 7330
    functionDepth: 0
    functionLinenumber: 7330
    functionLinenumberEnd: 7360
    functionName: xtra_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_utf8_wcslen
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_free
    - dump_data_hex
    - gf_utf8_wcstombs
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xtra_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7377,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7378,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7381
      start: 7373
    functionDepth: 0
    functionLinenumber: 7373
    functionLinenumberEnd: 7381
    functionName: svhd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svhd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5686,1
    - Dst: oinf_entry_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5691,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/isomedia/box_dump.c:5760,1
    - Dst: trif_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5697,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5829,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/isomedia/box_dump.c:5765,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:5620,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:5619,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5658,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5680,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5725,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5753,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5812,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5751,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5602,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5613,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5717,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5629,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5683,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5623,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5657,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5663,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5788,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5652,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5719,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5791,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5794,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5736,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5632,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5618,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5716,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5610,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5626,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5638,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5645,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5678,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5606,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5785,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5774,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5782,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5825,1
    - Dst: linf_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5803,1
    - Dst: snprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5616,1
    - Dst: dump_js_data
      Src: /src/gpac/src/isomedia/box_dump.c:5766,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5815,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5750,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5772,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5728,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5727,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5681,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5608,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5612,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5615,1
    - Dst: linf_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5694,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5821,1
    - Dst: oinf_entry_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5800,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5674,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5676,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5684,1
    - Dst: trif_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5806,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5725,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:5773,1
    - Dst: nalm_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5809,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5833,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5751,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5635,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5660,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5667,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5672,1
    - Dst: nalm_dump
      Src: /src/gpac/src/isomedia/box_dump.c:5701,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5714,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5704,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5818,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5712,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5711,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5634,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5669,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5797,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 164
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5835
      start: 5596
    functionDepth: 0
    functionLinenumber: 5596
    functionLinenumberEnd: 5835
    functionName: sgpd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - fprintf
    - linf_dump
    - trif_dump
    - oinf_entry_dump
    - dump_js_data
    - dump_data_hex
    - gf_file_exists
    - gf_4cc_to_str
    - dump_data
    - nalm_dump
    - gf_isom_box_dump_start
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sgpd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4506,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4511
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4511
    functionName: iKMS_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iKMS_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:38,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - data
    - dataLength
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: dump_data
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_data(FILE *trace, char *data, u32 dataLength) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:995,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:996,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: dref_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dref_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5846,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5851,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5848,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5851,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_dump.c:5850,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5853,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5856,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5859,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5863,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5865,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5867
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5867
    functionName: saiz_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - isalnum
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saiz_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:47,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - data
    - dataLength
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: dump_data_hex
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_data_hex(FILE *trace, char *data, u32 dataLength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1004,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1007,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1008,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    functionName: stsd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4518,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4519,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4522
      start: 4513
    functionDepth: 0
    functionLinenumber: 4513
    functionLinenumberEnd: 4522
    functionName: iSFM_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iSFM_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2839,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2840,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2843
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2843
    functionName: npck_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err npck_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3621,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3624,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3627,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3632,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3634,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3644,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3659,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3673,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3618,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3630,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3633,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3672,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3689,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3642,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3639,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3653,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3638,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3656,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3677,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3681,1
    - Dst: tx3g_dump_style_nobox
      Src: /src/gpac/src/isomedia/box_dump.c:3688,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3606,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3615,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3609,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3612,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:3631,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3650,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3662,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3668,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3670,1
    - Dst: tx3g_dump_box_nobox
      Src: /src/gpac/src/isomedia/box_dump.c:3687,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 4
    argNames:
    - dump
    - txt_e
    - def_width
    - def_height
    argTypes:
    - FILE*
    - GF_Tx3gSampleEntryBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3690
      start: 3604
    functionDepth: 0
    functionLinenumber: 3604
    functionLinenumberEnd: 3690
    functionName: dump_ttxt_header
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - tx3g_dump_box_nobox
    - tx3g_dump_style_nobox
    - gf_fprintf
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: void
    signature: 'void dump_ttxt_header(FILE *dump, GF_Tx3gSampleEntryBox *txt_e, u32
      def_width, u32 def_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2849,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2851,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2853
    functionName: tpyl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpyl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3703,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:3704,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/isomedia/box_dump.c:3699,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/isomedia/box_dump.c:3730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3752,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3764,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3779,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3783,1
    - Dst: tx3g_dump_style_nobox
      Src: /src/gpac/src/isomedia/box_dump.c:3791,1
    - Dst: tx3g_print_char_offsets
      Src: /src/gpac/src/isomedia/box_dump.c:3812,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3832,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3834,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3718,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3755,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3736,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3762,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:3771,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3804,1
    - Dst: tx3g_print_char_offsets
      Src: /src/gpac/src/isomedia/box_dump.c:3805,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3817,1
    - Dst: tx3g_print_char_offsets
      Src: /src/gpac/src/isomedia/box_dump.c:3818,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3828,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3836,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3711,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3713,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_dump.c:3720,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3758,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/isomedia/box_dump.c:3726,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3781,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3785,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3798,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3813,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3819,1
    - Dst: tx3g_print_char_offsets
      Src: /src/gpac/src/isomedia/box_dump.c:3833,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3699,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3709,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_dump.c:3725,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3746,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3749,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3777,1
    - Dst: tx3g_dump_box_nobox
      Src: /src/gpac/src/isomedia/box_dump.c:3788,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:3796,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3806,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3811,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3842,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 119
    argCount: 6
    argNames:
    - dump
    - s_txt
    - ts
    - timescale
    - di
    - box_dump
    argTypes:
    - FILE*
    - GF_TextSample*
    - u64
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3844
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3844
    functionName: dump_ttxt_sample
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_utf8_wcslen
    - tx3g_dump_style_nobox
    - gf_fprintf
    - gf_list_enum
    - tx3g_format_time
    - gf_utf8_mbstowcs
    - memcpy
    - gf_isom_box_dump
    - gf_free
    - tx3g_dump_box_nobox
    - tx3g_print_char_offsets
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: void
    signature: 'void dump_ttxt_sample(FILE *dump, GF_TextSample *s_txt, u64 ts, u32
      timescale, u32 di, Bool box_dump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2818,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2820,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2822
    functionName: totl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err totl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6899,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6901,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6903
      start: 6895
    functionDepth: 0
    functionLinenumber: 6895
    functionLinenumberEnd: 6903
    functionName: gama_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gama_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2829,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2830,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2833
    functionName: nump_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nump_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6909,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6911,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6914,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6913,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6910,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6918
      start: 6905
    functionDepth: 0
    functionLinenumber: 6905
    functionLinenumberEnd: 6918
    functionName: chrm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chrm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4880,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:4884,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4886,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4882,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4888
      start: 4877
    functionDepth: 0
    functionLinenumber: 4877
    functionLinenumberEnd: 4888
    functionName: grpi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err grpi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6227,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6229,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6231
      start: 6224
    functionDepth: 0
    functionLinenumber: 6224
    functionLinenumberEnd: 6231
    functionName: flxs_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flxs_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6463,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6464,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6465,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6468
      start: 6459
    functionDepth: 0
    functionLinenumber: 6459
    functionLinenumberEnd: 6468
    functionName: auxi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err auxi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7060,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7069,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7061,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7063,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7066,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7072,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7075,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7078,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7080,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7082
      start: 7056
    functionDepth: 0
    functionLinenumber: 7056
    functionLinenumberEnd: 7082
    functionName: mvcg_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvcg_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4892,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4894,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4896
      start: 4889
    functionDepth: 0
    functionLinenumber: 4889
    functionLinenumberEnd: 4896
    functionName: mdri_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdri_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6237,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6239,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6241
      start: 6233
    functionDepth: 0
    functionLinenumber: 6233
    functionLinenumberEnd: 6241
    functionName: adaf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adaf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6473,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6478,1
    - Dst: oinf_entry_dump
      Src: /src/gpac/src/isomedia/box_dump.c:6476,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6480
      start: 6470
    functionDepth: 0
    functionLinenumber: 6470
    functionLinenumberEnd: 6480
    functionName: oinf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - oinf_entry_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oinf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7088,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7089,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7091,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7101,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7107
      start: 7084
    functionDepth: 0
    functionLinenumber: 7084
    functionLinenumberEnd: 7107
    functionName: vwid_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vwid_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1021,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1026,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1030,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1022,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1032,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1036
    functionName: stts_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stts_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2625,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:2626,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2628,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2630
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2630
    functionName: hclr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hclr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2704,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_dump.c:2708,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2705,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/isomedia/box_dump.c:2709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2706,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2711,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2714
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2714
    functionName: xml_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_fwrite
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xml_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2918,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2920,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2922
    functionName: rssr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rssr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5167,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5168,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5171
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5171
    functionName: lsr1_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsr1_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1047,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1048,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1058,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1052,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1056,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1062
    functionName: ctts_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctts_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2636,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2639,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2637,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2644,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2646
    functionName: krok_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err krok_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2720,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2722,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2724
    functionName: bxml_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bxml_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2928,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2929,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2932
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2932
    functionName: tmin_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmin_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5178,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5180,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5182,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5183,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5186,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5189,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5193
      start: 5174
    functionDepth: 0
    functionLinenumber: 5174
    functionLinenumberEnd: 5193
    functionName: sidx_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sidx_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5947,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5952,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5949,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5954,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5955,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5956,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5958,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5960,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5961,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5964,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5965,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5969
      start: 5942
    functionDepth: 0
    functionLinenumber: 5942
    functionLinenumberEnd: 5969
    functionName: tenc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - dump_data_hex
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tenc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1737,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:1740,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1742,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1753,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1764,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1728,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1733,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1735,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1735,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1743,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1757,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1768,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1724,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1729,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1739,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1746,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1760,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1763,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1770,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1725,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1741,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1750,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1755,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1755,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_dump.c:1762,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1766,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1769,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1772
    functionName: dump_sbpm
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_read_int
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_sbpm(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3879,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:3887,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3896,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3922,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3929,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/box_dump.c:3935,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3948,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3960,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3965,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/isomedia/box_dump.c:3965,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3971,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/box_dump.c:3854,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:3885,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3905,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3902,1
    - Dst: tx3g_dump_rgb16
      Src: /src/gpac/src/isomedia/box_dump.c:3910,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3899,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3919,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3920,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3924,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3926,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:3962,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:3864,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3878,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:3895,1
    - Dst: dump_ttxt_header
      Src: /src/gpac/src/isomedia/box_dump.c:3893,1
    - Dst: tx3g_dump_box_nobox
      Src: /src/gpac/src/isomedia/box_dump.c:3928,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3932,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:3944,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3961,1
    - Dst: dump_ttxt_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3953,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3969,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3876,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/box_dump.c:3876,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3881,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3883,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3891,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3908,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3939,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:3942,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/isomedia/box_dump.c:3943,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:3947,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:3949,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/isomedia/box_dump.c:3973,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 107
    argCount: 4
    argNames:
    - the_file
    - track
    - dump
    - dump_type
    argTypes:
    - GF_ISOFile*
    - u32
    - FILE*
    - GF_TextDumpType
    constantsTouched: []
    func_position:
      end: 3975
      start: 3845
    functionDepth: 0
    functionLinenumber: 3845
    functionLinenumberEnd: 3975
    functionName: gf_isom_dump_ttxt_track
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - tx3g_format_time
    - tx3g_dump_box_nobox
    - gf_isom_delete_text_sample
    - dump_ttxt_sample
    - gf_bs_del
    - gf_list_count
    - tx3g_dump_rgb16
    - gf_list_get
    - gf_set_progress
    - gf_isom_get_track_from_file
    - gf_isom_parse_text_sample
    - gf_isom_get_track_id
    - gf_bs_new
    - dump_ttxt_header
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_sample
    - gf_isom_box_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_dump_ttxt_track(GF_ISOFile *the_file, u32 track,
      FILE *dump, GF_TextDumpType dump_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5976,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5981,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5977,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5980,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5979,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5982,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5983,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5984,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5986
      start: 5971
    functionDepth: 0
    functionLinenumber: 5971
    functionLinenumberEnd: 5986
    functionName: piff_pssh_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - fprintf
    - dump_data_hex
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err piff_pssh_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:1777,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1783,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1781,1
    - Dst: get_and_print
      Src: /src/gpac/src/isomedia/box_dump.c:1782,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1778,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1784,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:1785,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - u
    - trace
    argTypes:
    - GF_UnknownBox*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1788
    functionName: dump_cloc
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_bs_new
    - get_and_print
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_cloc(GF_UnknownBox *u, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6775,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6776,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6780,1
    - Dst: gf_isom_box_array_dump
      Src: /src/gpac/src/isomedia/box_dump.c:6778,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6782
      start: 6769
    functionDepth: 0
    functionLinenumber: 6769
    functionLinenumberEnd: 6782
    functionName: fdsa_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_dump
    - gf_fprintf
    - gf_isom_box_dump_done
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdsa_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - trace
    - rec
    argTypes:
    - FILE*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 2546
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2546
    functionName: tx3g_dump_box
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_box(FILE * trace, GF_BoxRecord *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2978,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2979,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2982
    functionName: name_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err name_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5131,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5132,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5136
      start: 5127
    functionDepth: 0
    functionLinenumber: 5127
    functionLinenumberEnd: 5136
    functionName: dmlp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmlp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5242,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5244,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5246
      start: 5240
    functionDepth: 0
    functionLinenumber: 5240
    functionLinenumberEnd: 5246
    functionName: strk_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err strk_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2549,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2553,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2551,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2555,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2554,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2557,1
    - Dst: tx3g_dump_rgba8
      Src: /src/gpac/src/isomedia/box_dump.c:2558,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - trace
    - rec
    argTypes:
    - FILE*
    - GF_StyleRecord*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2560
    functionName: tx3g_dump_style
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - tx3g_dump_rgba8
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_dump_style(FILE * trace, GF_StyleRecord *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2988,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2990,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2992
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2992
    functionName: rely_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rely_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5141,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5142,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5147
      start: 5138
    functionDepth: 0
    functionLinenumber: 5138
    functionLinenumberEnd: 5147
    functionName: dvcC_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvcC_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5252,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5260,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5257,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5254,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5257,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5264
      start: 5248
    functionDepth: 0
    functionLinenumber: 5248
    functionLinenumberEnd: 5264
    functionName: stri_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stri_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:168,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:171,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:170,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:173,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:176,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 181
    functionName: reftype_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - GF_4CC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reftype_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_dump.c:192,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:194,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:193,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:196,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: ireftype_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - GF_4CC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ireftype_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:362,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:363,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: stbl_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2650,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2651,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2654
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2654
    functionName: dlay_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dlay_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3118,1
    - Dst: GF_ISOM_GET_FRAG_LEAD
      Src: /src/gpac/src/isomedia/box_dump.c:3119,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3119,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3120,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDS
      Src: /src/gpac/src/isomedia/box_dump.c:3120,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3121,1
    - Dst: GF_ISOM_GET_FRAG_DEPENDED
      Src: /src/gpac/src/isomedia/box_dump.c:3121,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3122,1
    - Dst: GF_ISOM_GET_FRAG_REDUNDANT
      Src: /src/gpac/src/isomedia/box_dump.c:3122,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3123,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/box_dump.c:3124,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3125,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3126,1
    - Dst: GF_ISOM_GET_FRAG_DEG
      Src: /src/gpac/src/isomedia/box_dump.c:3125,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3124,1
    - Dst: GF_ISOM_GET_FRAG_PAD
      Src: /src/gpac/src/isomedia/box_dump.c:3123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - name
    - sample_flags
    - trace
    argTypes:
    - char*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 3127
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3127
    functionName: sample_flags_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - GF_ISOM_GET_FRAG_DEPENDED
    - GF_ISOM_GET_FRAG_LEAD
    - gf_fprintf
    - GF_ISOM_GET_FRAG_REDUNDANT
    - GF_ISOM_GET_FRAG_DEG
    - GF_ISOM_GET_FRAG_SYNC
    - GF_ISOM_GET_FRAG_DEPENDS
    - GF_ISOM_GET_FRAG_PAD
    linkageType: ''
    returnType: void
    signature: 'void sample_flags_dump(const char *name, u32 sample_flags, FILE *
      trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4900,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4904,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4905,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4902,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:4903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4907
      start: 4897
    functionDepth: 0
    functionLinenumber: 4897
    functionLinenumberEnd: 4907
    functionName: odtt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odtt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6190,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6191,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6194
      start: 6187
    functionDepth: 0
    functionLinenumber: 6187
    functionLinenumberEnd: 6194
    functionName: ahdr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ahdr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7154,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7155,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7158
      start: 7150
    functionDepth: 0
    functionLinenumber: 7150
    functionLinenumberEnd: 7158
    functionName: srat_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srat_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:371,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: dinf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dinf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2658,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2659,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2662
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2662
    functionName: href_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err href_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3133,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3136,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3135,1
    - Dst: sample_flags_dump
      Src: /src/gpac/src/isomedia/box_dump.c:3137,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3134,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3140
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3140
    functionName: trex_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - sample_flags_dump
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trex_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4801,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4811,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4803,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4807,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4806,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4812,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4815,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4817
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4817
    functionName: asrt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_list_get
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err asrt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4911,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4913,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4916,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:4914,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4918
      start: 4908
    functionDepth: 0
    functionLinenumber: 4908
    functionLinenumberEnd: 4918
    functionName: odrb_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odrb_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6200,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6203
      start: 6196
    functionDepth: 0
    functionLinenumber: 6196
    functionLinenumberEnd: 6203
    functionName: aprm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aprm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7164,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7165,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7168
      start: 7160
    functionDepth: 0
    functionLinenumber: 7160
    functionLinenumberEnd: 7168
    functionName: load_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - fprintf
    - gf_isom_box_dump_done
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:1092,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1095,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1092,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:1094,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1098,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1102
    functionName: stsh_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsh_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5878,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_dump.c:5882,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:5883,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5883,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5880,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5885,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5889,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5893,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5897,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5901,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5904,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5906,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5908
      start: 5869
    functionDepth: 0
    functionLinenumber: 5869
    functionLinenumberEnd: 5908
    functionName: saio_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - isalnum
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saio_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:1111,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1112,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1119,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:1112,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:1115,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1121,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:1124,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:1126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1128
    functionName: elst_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elst_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:5915,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5918,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5924,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5917,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5919,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5925,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5926,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5930,1
    - Dst: dump_data_hex
      Src: /src/gpac/src/isomedia/box_dump.c:5931,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5932,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5935,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:5938,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:5936,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 5940
      start: 5910
    functionDepth: 0
    functionLinenumber: 5910
    functionLinenumberEnd: 5940
    functionName: pssh_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - dump_data_hex
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pssh_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2666,1
    - Dst: tx3g_dump_box
      Src: /src/gpac/src/isomedia/box_dump.c:2668,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2669,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2671
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2671
    functionName: tbox_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - tx3g_dump_box
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tbox_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2675,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2676,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2679
    functionName: blnk_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err blnk_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6925,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6931,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6926,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6933
      start: 6920
    functionDepth: 0
    functionLinenumber: 6920
    functionLinenumberEnd: 6933
    functionName: chan_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chan_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:57,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:61,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:60,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - trace
    - name
    - data
    - data_size
    argTypes:
    - FILE*
    - char*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: dump_data_attribute
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_data_attribute(FILE *trace, char *name, u8 *data,
      u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2064,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2065,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2068
    functionName: uuid_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err uuid_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2747,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2748,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2749,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2751
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2751
    functionName: infe_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err infe_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:72,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:78,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:81,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:84,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:75,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:89,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - trace
    - data
    - dataLength
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: dump_data_string
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_data_string(FILE *trace, char *data, u32 dataLength) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2072,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2074,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2076
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2076
    functionName: void_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err void_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2755,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2757,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2759
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2759
    functionName: iinf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iinf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6938,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6940,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6942
      start: 6935
    functionDepth: 0
    functionLinenumber: 6935
    functionLinenumberEnd: 6942
    functionName: jp_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3101,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3102,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3105
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3105
    functionName: mvex_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvex_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4465,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4467,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4469
      start: 4462
    functionDepth: 0
    functionLinenumber: 4462
    functionLinenumberEnd: 4469
    functionName: sinf_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sinf_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:3110,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:3112,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:3111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3114
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3114
    functionName: mehd_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mehd_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4475,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:4476,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4477,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4479
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4479
    functionName: frma_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err frma_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6353,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6355,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6357
      start: 6349
    functionDepth: 0
    functionLinenumber: 6349
    functionLinenumberEnd: 6357
    functionName: irot_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err irot_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6365,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6370,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6366,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6369,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6379
      start: 6359
    functionDepth: 0
    functionLinenumber: 6359
    functionLinenumberEnd: 6379
    functionName: imir_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err imir_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6873,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6877,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6881,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6879,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6883
      start: 6869
    functionDepth: 0
    functionLinenumber: 6869
    functionLinenumberEnd: 6883
    functionName: tcmi_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tcmi_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6946,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6948,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6950
      start: 6944
    functionDepth: 0
    functionLinenumber: 6944
    functionLinenumberEnd: 6950
    functionName: jp2h_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2h_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4842,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4844,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4847
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4847
    functionName: databox_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err databox_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/isomedia/box_dump.c:7534,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7539,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_dump.c:7547,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/isomedia/box_dump.c:7565,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/box_dump.c:7578,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7590,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/isomedia/box_dump.c:7597,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/isomedia/box_dump.c:7609,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7611,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7608,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7619,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7617,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7604,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/isomedia/box_dump.c:7520,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_dump.c:7524,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/isomedia/box_dump.c:7525,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7533,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/isomedia/box_dump.c:7538,1
    - Dst: dump_element
      Src: /src/gpac/src/isomedia/box_dump.c:7570,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7579,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/isomedia/box_dump.c:7581,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/box_dump.c:7607,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7608,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7528,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/isomedia/box_dump.c:7537,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:7552,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7555,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/isomedia/box_dump.c:7563,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/isomedia/box_dump.c:7564,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/isomedia/box_dump.c:7567,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/isomedia/box_dump.c:7571,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/isomedia/box_dump.c:7582,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7587,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7607,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_dump.c:7614,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/isomedia/box_dump.c:7623,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7624,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/isomedia/box_dump.c:7529,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7535,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:7546,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:7556,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_dump.c:7548,1
    - Dst: JS_GetOwnPropertyNames
      Src: /src/gpac/src/isomedia/box_dump.c:7559,1
    - Dst: dump_element
      Src: /src/gpac/src/isomedia/box_dump.c:7574,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/box_dump.c:7575,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/isomedia/box_dump.c:7583,1
    - Dst: fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7600,1
    - Dst: js_free
      Src: /src/gpac/src/isomedia/box_dump.c:7598,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/isomedia/box_dump.c:7605,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 103
    argCount: 9
    argNames:
    - ctx
    - trace
    - name
    - obj
    - skip_name
    - parent_type
    - box
    - buf
    - buflen
    argTypes:
    - JSContext*
    - FILE*
    - char*
    - JSValue
    - Bool
    - u32
    - GF_Box*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 7626
      start: 7509
    functionDepth: 0
    functionLinenumber: 7509
    functionLinenumberEnd: 7626
    functionName: dump_element
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - dump_element
    - js_free
    - gf_4cc_to_str
    - strstr
    - JS_ToInt32
    - JS_ToCString
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_strdup
    - gf_list_count
    - strcmp
    - JS_IsObject
    - JS_FreeAtom
    - gf_dynstrcat
    - JS_FreeCString
    - fprintf
    - gf_bs_new
    - JS_AtomToCString
    - gf_free
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_GetOwnPropertyNames
    - JS_IsArray
    - gf_isom_box_array_read
    - gf_bs_set_cookie
    - JS_GetProperty
    linkageType: ''
    returnType: void
    signature: 'void dump_element(JSContext *ctx, FILE *trace, const char *name, JSValue
      obj, Bool skip_name, u32 parent_type, GF_Box *box, u8 *buf, u32 buflen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4852,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4854,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4857,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4856,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4861,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4865,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4870,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4873,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4876
      start: 4849
    functionDepth: 0
    functionLinenumber: 4849
    functionLinenumberEnd: 4876
    functionName: ohdr_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ohdr_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6889,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6890,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6893
      start: 6885
    functionDepth: 0
    functionLinenumber: 6885
    functionLinenumberEnd: 6893
    functionName: fiel_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiel_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:6955,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6961,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:6960,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6957,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6958,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:6961,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6965
      start: 6952
    functionDepth: 0
    functionLinenumber: 6952
    functionLinenumberEnd: 6965
    functionName: jp2p_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2p_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_dump.c:6161,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/isomedia/box_dump.c:6165,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6171,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6169,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6175
      start: 6152
    functionDepth: 0
    functionLinenumber: 6152
    functionLinenumberEnd: 6175
    functionName: prft_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - GF_LOG
    - gf_gmtime
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prft_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2143,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2138,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2144,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2146,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2124,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2122,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2125,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2129,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2130,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2139,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2134,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2121,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2122,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2128,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2133,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2145,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2147,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2123,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2129,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2139,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2140,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2135,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2134,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:2144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2153
    functionName: gppc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gppc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2484,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2486,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2488
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2488
    functionName: CoLL_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CoLL_box_dump(GF_Box *a, FILE *trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2958,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2959,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2962
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2962
    functionName: dmax_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmax_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4640,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:4640,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4647,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4667,1
    - Dst: dump_data_string
      Src: /src/gpac/src/isomedia/box_dump.c:4670,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4674,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4690,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_dump.c:4619,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/isomedia/box_dump.c:4624,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_dump.c:4636,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:4638,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:4642,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4648,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:4648,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4662,1
    - Dst: gf_id3_get_genre
      Src: /src/gpac/src/isomedia/box_dump.c:4662,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4681,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4644,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4652,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:4697,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/src/isomedia/box_dump.c:4622,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4629,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/src/isomedia/box_dump.c:4625,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_dump.c:4637,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_dump.c:4649,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4655,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/isomedia/box_dump.c:4694,1
    - Dst: dump_data_string
      Src: /src/gpac/src/isomedia/box_dump.c:4695,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4701,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4706,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4707,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 87
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4709
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4709
    functionName: ilst_item_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_itags_get_type
    - gf_isom_box_dump_done
    - gf_bs_del
    - gf_fprintf
    - gf_utf8_is_legal
    - gf_itags_find_by_itag
    - gf_bs_read_int
    - gf_bs_new
    - gf_id3_get_genre
    - dump_data_string
    - gf_itags_get_name
    - gf_isom_box_find_child
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ilst_item_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:6180,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:6182,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:6183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6185
      start: 6177
    functionDepth: 0
    functionLinenumber: 6177
    functionLinenumberEnd: 6185
    functionName: adkm_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adkm_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2185,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2186,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2189,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2192,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2198,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2215,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2235,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2238,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2229,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2191,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2194,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2211,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/isomedia/box_dump.c:2210,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2217,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2226,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2236,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2244,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2237,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2228,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2179,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2195,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2233,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:2224,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2227,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2242,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2177,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2178,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2181,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2207,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/isomedia/box_dump.c:2211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:2219,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2220,1
    - Dst: dump_data
      Src: /src/gpac/src/isomedia/box_dump.c:2221,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2222,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2246
    functionName: avcc_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_avcc_use_extensions
    - gf_isom_box_dump_done
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - gf_avc_hevc_get_chroma_format_name
    - sprintf
    - dump_data
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avcc_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2495,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2496,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2503,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/isomedia/box_dump.c:2501,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:2499,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2508
    functionName: m4ds_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_enum
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4ds_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:2968,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:2969,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:2970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 2972
      start: 2964
    functionDepth: 0
    functionLinenumber: 2964
    functionLinenumberEnd: 2972
    functionName: payt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err payt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4575,1
    - Dst: gf_isom_get_ismacryp_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4578,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4585,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4584,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4580,1
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/src/isomedia/box_dump.c:4586,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4586,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4587,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4589,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:4590,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4592,1
    - Dst: gf_isom_ismacryp_delete_sample
      Src: /src/gpac/src/isomedia/box_dump.c:4595,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_dump.c:4594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - SampleNum
    - trace
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 4597
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4597
    functionName: gf_isom_dump_ismacryp_sample
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_get_ismacryp_sample
    - gf_fprintf
    - gf_isom_get_sample
    - gf_isom_has_sync_points
    - dump_data_attribute
    - gf_isom_sample_del
    - gf_isom_ismacryp_delete_sample
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_dump_ismacryp_sample(GF_ISOFile *the_file,
      u32 trackNumber, u32 SampleNum, FILE * trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7420,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7425,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_dump.c:7425,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_dump.c:7424,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7421,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/isomedia/box_dump.c:7427,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7428,1
    - Dst: dump_data_string
      Src: /src/gpac/src/isomedia/box_dump.c:7429,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7430,1
    - Dst: dump_data_attribute
      Src: /src/gpac/src/isomedia/box_dump.c:7432,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7437,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7439,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7434,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7441
      start: 7415
    functionDepth: 0
    functionLinenumber: 7415
    functionLinenumberEnd: 7441
    functionName: keys_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_utf8_is_legal
    - gf_fprintf
    - gf_list_enum
    - dump_data_string
    - dump_data_attribute
    - gf_4cc_to_str
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err keys_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:4776,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4782,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4778,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4786,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:4781,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4787,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4789,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:4790,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:4793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 4795
      start: 4772
    functionDepth: 0
    functionLinenumber: 4772
    functionLinenumberEnd: 4795
    functionName: afrt_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_list_get
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afrt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_dump.c:7445,1
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/isomedia/box_dump.c:7447,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_dump.c:7452,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7448,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7453,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7455,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7456,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/isomedia/box_dump.c:7458,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/isomedia/box_dump.c:7461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 7463
      start: 7442
    functionDepth: 0
    functionLinenumber: 7442
    functionLinenumberEnd: 7463
    functionName: sref_box_dump
    functionSourceFile: /src/gpac/src/isomedia/box_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_list_count
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sref_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2250,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2254
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2254
    functionName: npck_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err npck_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3598
      start: 3593
    functionDepth: 0
    functionLinenumber: 3593
    functionLinenumberEnd: 3598
    functionName: mfro_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mfro_box_del(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3853,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3861,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/box_code_base.c:3859,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3854,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3855,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3863,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3865,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3867
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3867
    functionName: moof_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - gf_isom_box_del
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void moof_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9703,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:9705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:9708,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9709,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9706,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:9710,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:9712,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9713,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:9714,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:9716,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9718
      start: 9698
    functionDepth: 0
    functionLinenumber: 9698
    functionLinenumberEnd: 9718
    functionName: subs_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void subs_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10815,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10817
      start: 10811
    functionDepth: 0
    functionLinenumber: 10811
    functionLinenumberEnd: 10817
    functionName: saiz_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void saiz_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11082,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:11083,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11089
      start: 11080
    functionDepth: 0
    functionLinenumber: 11080
    functionLinenumberEnd: 11089
    functionName: trgr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trgr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11284,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:11286,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11287
      start: 11280
    functionDepth: 0
    functionLinenumber: 11280
    functionLinenumberEnd: 11287
    functionName: fiin_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiin_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11683
      start: 11679
    functionDepth: 0
    functionLinenumber: 11679
    functionLinenumberEnd: 11683
    functionName: gitn_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gitn_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2259
    functionName: npck_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err npck_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2584
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2584
    functionName: pmax_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pmax_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3600
    functionDepth: 0
    functionLinenumber: 3600
    functionLinenumberEnd: 3604
    functionName: mfro_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mfro_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3874,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 3884
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3884
    functionName: moof_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moof_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10825,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10827,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10826,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10829,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10830,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10831,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10837,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10842,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10846
      start: 10820
    functionDepth: 0
    functionLinenumber: 10820
    functionLinenumberEnd: 10846
    functionName: saiz_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saiz_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:11095,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11097
      start: 11091
    functionDepth: 0
    functionLinenumber: 11091
    functionLinenumberEnd: 11097
    functionName: trgr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void trgr_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11692,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11696,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11697
      start: 11685
    functionDepth: 0
    functionLinenumber: 11685
    functionLinenumberEnd: 11697
    functionName: gitn_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gitn_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 13795
      start: 13789
    functionDepth: 0
    functionLinenumber: 13789
    functionLinenumberEnd: 13795
    functionName: get_size_by_code
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 get_size_by_code(u32 code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5893
      start: 5889
    functionDepth: 0
    functionLinenumber: 5889
    functionLinenumberEnd: 5893
    functionName: stss_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stss_box_new() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:8971,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:8979,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8979,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:8975,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8974,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8980,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8985,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:8985,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8987,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8990,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:8990,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8995,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9003,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9005,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8991,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:8995,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8997,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9003,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9009
      start: 8968
    functionDepth: 0
    functionLinenumber: 8968
    functionLinenumberEnd: 9009
    functionName: metx_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err metx_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:9300,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9304,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9306
      start: 9296
    functionDepth: 0
    functionLinenumber: 9296
    functionLinenumberEnd: 9306
    functionName: lsr1_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsr1_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9484,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9489,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9491,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:9492,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9496
      start: 9478
    functionDepth: 0
    functionLinenumber: 9478
    functionLinenumberEnd: 9496
    functionName: ssix_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ssix_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:13758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13759
      start: 13756
    functionDepth: 0
    functionLinenumber: 13756
    functionLinenumberEnd: 13759
    functionName: evte_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evte_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9018,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9025,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9029,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9034,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9042,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9046
      start: 9011
    functionDepth: 0
    functionLinenumber: 9011
    functionLinenumberEnd: 9046
    functionName: metx_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err metx_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:9313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9315
      start: 9308
    functionDepth: 0
    functionLinenumber: 9308
    functionLinenumberEnd: 9315
    functionName: lsr1_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsr1_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9508
      start: 9498
    functionDepth: 0
    functionLinenumber: 9498
    functionLinenumberEnd: 9508
    functionName: ssix_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ssix_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13765
      start: 13761
    functionDepth: 0
    functionLinenumber: 13761
    functionLinenumberEnd: 13765
    functionName: evte_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evte_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9956
    functionDepth: 0
    functionLinenumber: 9956
    functionLinenumberEnd: 9960
    functionName: rvcc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rvcc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: trpy_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trpy_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2662,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2664
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2664
    functionName: payt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void payt_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: dinf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dinf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2470,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2473
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2473
    functionName: drep_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err drep_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2627,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2630
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2630
    functionName: dmax_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmax_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5534,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5536,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5541
      start: 5529
    functionDepth: 0
    functionLinenumber: 5529
    functionLinenumberEnd: 5541
    functionName: stco_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stco_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8775
      start: 8771
    functionDepth: 0
    functionLinenumber: 8771
    functionLinenumberEnd: 8775
    functionName: clap_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *clap_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11765
      start: 11761
    functionDepth: 0
    functionLinenumber: 11761
    functionLinenumberEnd: 11765
    functionName: fdpa_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fdpa_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:12344,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:12347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 12351
      start: 12339
    functionDepth: 0
    functionLinenumber: 12339
    functionLinenumberEnd: 12351
    functionName: jp2h_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2h_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:12400,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12403,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:12404,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12408
      start: 12396
    functionDepth: 0
    functionLinenumber: 12396
    functionLinenumberEnd: 12408
    functionName: jp2p_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE_NO_ERR
    - gf_malloc
    - gf_bs_read_u32
    - gf_list_add
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2p_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2478
    functionName: drep_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *drep_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2635
    functionName: dmax_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dmax_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3721
    functionName: mfhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mfhd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5550
      start: 5544
    functionDepth: 0
    functionLinenumber: 5544
    functionLinenumberEnd: 5550
    functionName: stco_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stco_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8783
      start: 8778
    functionDepth: 0
    functionLinenumber: 8778
    functionLinenumberEnd: 8783
    functionName: clap_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void clap_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11775,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11779,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11780
      start: 11767
    functionDepth: 0
    functionLinenumber: 11767
    functionLinenumberEnd: 11780
    functionName: fdpa_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void fdpa_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:12354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12355
      start: 12352
    functionDepth: 0
    functionLinenumber: 12352
    functionLinenumberEnd: 12355
    functionName: jp2h_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2h_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13606,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13612
      start: 13596
    functionDepth: 0
    functionLinenumber: 13596
    functionLinenumberEnd: 13612
    functionName: emsg_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emsg_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9693,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:9694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9696
      start: 9691
    functionDepth: 0
    functionLinenumber: 9691
    functionLinenumberEnd: 9696
    functionName: subs_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *subs_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11252
      start: 11248
    functionDepth: 0
    functionLinenumber: 11248
    functionLinenumberEnd: 11252
    functionName: fiin_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fiin_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13109
      start: 13105
    functionDepth: 0
    functionLinenumber: 13105
    functionLinenumberEnd: 13109
    functionName: mvcg_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mvcg_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14401,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14402,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14405,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14404,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:14410,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:14413,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14419
      start: 14397
    functionDepth: 0
    functionLinenumber: 14397
    functionLinenumberEnd: 14419
    functionName: extl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - lang
    - code
    argTypes:
    - char
    - u8
    constantsTouched: []
    func_position:
      end: 3195
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3195
    functionName: set_quicktime_lang
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err set_quicktime_lang(char lang[4], u8 code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:3537,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3541,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3540,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3543,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3544,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3545,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3554,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3561,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3562,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3564,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3568,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3569,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3565,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3567,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3572
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3572
    functionName: tfra_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfra_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1935
    functionName: hnti_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hnti_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2275,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2278
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2278
    functionName: tpyl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpyl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2409,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2413
    functionName: dmed_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmed_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4005,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:4006,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4012
    functionName: moov_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *moov_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:4435,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4436,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4438
      start: 4431
    functionDepth: 0
    functionLinenumber: 4431
    functionLinenumberEnd: 4438
    functionName: mp4s_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mp4s_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:5143,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5147
      start: 5135
    functionDepth: 0
    functionLinenumber: 5135
    functionLinenumberEnd: 5147
    functionName: rtpo_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpo_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3587
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3587
    functionName: tfra_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfra_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1940
    functionName: hnti_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hnti_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2283
    functionName: tpyl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tpyl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2418
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2418
    functionName: dmed_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmed_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3202,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3204,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3206,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3205,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3203,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3208,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3209,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3210,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3211,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3212,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3225,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3221,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3227,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:3244,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3223,1
    - Dst: set_quicktime_lang
      Src: /src/gpac/src/isomedia/box_code_base.c:3233,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3246
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3246
    functionName: mdhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - GF_LOG
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - set_quicktime_lang
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 4449
      start: 4440
    functionDepth: 0
    functionLinenumber: 4440
    functionLinenumberEnd: 4449
    functionName: mp4s_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4s_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5153
      start: 5149
    functionDepth: 0
    functionLinenumber: 5149
    functionLinenumberEnd: 5153
    functionName: rtpo_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpo_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7421
      start: 7409
    functionDepth: 0
    functionLinenumber: 7409
    functionLinenumberEnd: 7421
    functionName: strk_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err strk_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8719
      start: 8714
    functionDepth: 0
    functionLinenumber: 8714
    functionLinenumberEnd: 8719
    functionName: sdtp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdtp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9369
      start: 9365
    functionDepth: 0
    functionLinenumber: 9365
    functionLinenumberEnd: 9369
    functionName: sidx_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sidx_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9864,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9868,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9873
      start: 9860
    functionDepth: 0
    functionLinenumber: 9860
    functionLinenumberEnd: 9873
    functionName: tfdt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfdt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13503
      start: 13499
    functionDepth: 0
    functionLinenumber: 13499
    functionLinenumberEnd: 13503
    functionName: emsg_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *emsg_box_new() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3475,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3473,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3480,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3479,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3481,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3499,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3512,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:3509,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3513,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3476,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:3502,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3492,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3518,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3519,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3520,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3516,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3515,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3526
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3526
    functionName: tfra_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - memset
    - gf_bs_read_int
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfra_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1355,1
    - Dst: gf_odf_desc_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1357,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1359,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:1352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1362,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:1363,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/box_code_base.c:1374,1
    - Dst: gf_odf_slc_set_pref
      Src: /src/gpac/src/isomedia/box_code_base.c:1378,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1384
    functionName: esds_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_read
    - gf_malloc
    - GF_LOG
    - gf_odf_slc_set_pref
    - gf_odf_desc_new
    - gf_odf_desc_del
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err esds_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2328,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2332
    functionName: tpay_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpay_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3643,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3645
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3645
    functionName: elng_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void elng_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5133
      start: 5129
    functionDepth: 0
    functionLinenumber: 5129
    functionLinenumberEnd: 5133
    functionName: rtpo_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rtpo_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/isomedia/box_code_base.c:8128,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/box_code_base.c:8129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - s32
    constantsTouched: []
    func_position:
      end: 8131
      start: 8125
    functionDepth: 0
    functionLinenumber: 8125
    functionLinenumberEnd: 8131
    functionName: ctrn_s32_to_index
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ABS
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_s32_to_index(s32 val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:8693,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8697,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8699
      start: 8685
    functionDepth: 0
    functionLinenumber: 8685
    functionLinenumberEnd: 8699
    functionName: sdtp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdtp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:8807,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8810,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8809,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8812,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8811,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8813,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8814,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8815,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8818
      start: 8804
    functionDepth: 0
    functionLinenumber: 8804
    functionLinenumberEnd: 8818
    functionName: clap_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clap_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1390
    functionName: esds_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *esds_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1984,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1987
    functionName: sdp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sdp_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2337
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2337
    functionName: tpay_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpay_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:3652,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:3654,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:3657,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3661,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_base.c:3659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3666
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3666
    functionName: elng_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elng_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctrn_s32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8140,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/box_code_base.c:8143,1
    - Dst: ctrn_s32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8141,1
    - Dst: ctrn_u32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8144,1
    - Dst: ctrn_s32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ctrn
    - ctts
    argTypes:
    - GF_TrackFragmentRunBox*
    - s32
    constantsTouched: []
    func_position:
      end: 8146
      start: 8132
    functionDepth: 0
    functionLinenumber: 8132
    functionLinenumberEnd: 8146
    functionName: ctrn_ctts_to_index
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ctrn_u32_to_index
    - gf_assert
    - ctrn_s32_to_index
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_ctts_to_index(GF_TrackFragmentRunBox *ctrn, s32 ctts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8824
      start: 8820
    functionDepth: 0
    functionLinenumber: 8820
    functionLinenumberEnd: 8824
    functionName: clap_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clap_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11242
      start: 11236
    functionDepth: 0
    functionLinenumber: 11236
    functionLinenumberEnd: 11242
    functionName: stvi_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stvi_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:11893,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11894,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11896
      start: 11889
    functionDepth: 0
    functionLinenumber: 11889
    functionLinenumberEnd: 11896
    functionName: extr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void extr_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvcC_box_read
      Src: /src/gpac/src/isomedia/box_code_base.c:12695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12696
      start: 12693
    functionDepth: 0
    functionLinenumber: 12693
    functionLinenumberEnd: 12696
    functionName: dvvC_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - dvcC_box_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvvC_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12721
      start: 12717
    functionDepth: 0
    functionLinenumber: 12717
    functionLinenumberEnd: 12721
    functionName: dOps_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dOps_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12954
      start: 12950
    functionDepth: 0
    functionLinenumber: 12950
    functionLinenumberEnd: 12954
    functionName: udts_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *udts_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2466
    functionName: drep_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void drep_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14324,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14332,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14327,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14331,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14328,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14333,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14334,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14336,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14340
      start: 14319
    functionDepth: 0
    functionLinenumber: 14319
    functionLinenumberEnd: 14340
    functionName: proj_type_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proj_type_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: def_parent_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1505,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1507
    functionName: ftyp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ftyp_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1704,1
    - Dst: gf_isom_audio_sample_entry_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1708,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1713
    functionName: gnra_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_write
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnra_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5574,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5579,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5581
      start: 5565
    functionDepth: 0
    functionLinenumber: 5565
    functionLinenumberEnd: 5581
    functionName: stdp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stdp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:6654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6655
      start: 6652
    functionDepth: 0
    functionLinenumber: 6652
    functionLinenumberEnd: 6655
    functionName: traf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err traf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:7367,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7371,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7370,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7376
      start: 7362
    functionDepth: 0
    functionLinenumber: 7362
    functionLinenumberEnd: 7376
    functionName: stsg_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsg_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:9277,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:9282,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9283
      start: 9272
    functionDepth: 0
    functionLinenumber: 9272
    functionLinenumberEnd: 9283
    functionName: lsr1_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_isom_base_sample_entry_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsr1_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11057,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:11061,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:11065,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11063,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11069
      start: 11052
    functionDepth: 0
    functionLinenumber: 11052
    functionLinenumberEnd: 11069
    functionName: prft_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prft_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: def_parent_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_audio_sample_entry_size
      Src: /src/gpac/src/isomedia/box_code_base.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1722
    functionName: gnra_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnra_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5583
    functionDepth: 0
    functionLinenumber: 5583
    functionLinenumberEnd: 5587
    functionName: stdp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stdp_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6663,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6667,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6666,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6671,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6664,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6672,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6673,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6675,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6676,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6677,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6681,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6683,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6684,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6685,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6680,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6693,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:6689,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:6682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6695
      start: 6657
    functionDepth: 0
    functionLinenumber: 6657
    functionLinenumberEnd: 6695
    functionName: traf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err traf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7383
      start: 7378
    functionDepth: 0
    functionLinenumber: 7378
    functionLinenumberEnd: 7383
    functionName: stsg_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsg_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9287,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:9288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9290
      start: 9285
    functionDepth: 0
    functionLinenumber: 9285
    functionLinenumberEnd: 9290
    functionName: lsr1_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *lsr1_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11077
      start: 11071
    functionDepth: 0
    functionLinenumber: 11071
    functionLinenumberEnd: 11077
    functionName: prft_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prft_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11361
      start: 11358
    functionDepth: 0
    functionLinenumber: 11358
    functionLinenumberEnd: 11361
    functionName: paen_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err paen_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14251,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14253,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14254,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14256
      start: 14248
    functionDepth: 0
    functionLinenumber: 14248
    functionLinenumberEnd: 14256
    functionName: prhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:1450,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1456
    functionName: free_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err free_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2751,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2754,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2757
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2757
    functionName: name_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err name_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:2845,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2848,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2850,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2851,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2854
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2854
    functionName: srpp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srpp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:5234,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5238
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5238
    functionName: snro_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err snro_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10102,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10105,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10144,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10151,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10177,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10210,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10363,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10367,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10390,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10136,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10213,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10223,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10341,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10386,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10115,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10154,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10239,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:10418,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10426,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:10275,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10316,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:10168,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10357,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10394,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10153,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10172,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10319,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10289,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10189,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10248,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10342,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10431,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10182,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:10291,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10095,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10123,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10160,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10418,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10404,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10288,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10093,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10116,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10156,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10221,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10246,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:10268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10250,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10259,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10335,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10295,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10167,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10181,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10194,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10329,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10334,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10378,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10388,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10147,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10212,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10261,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:10411,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10400,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10135,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10148,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10114,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10146,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10336,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10355,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10359,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/box_code_base.c:10365,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10396,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/box_code_base.c:10402,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_base.c:10230,1
    - Dst: gf_isom_oinf_read_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10247,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10159,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:10173,1
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/isomedia/box_code_base.c:10192,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10366,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10403,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10201,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10184,1
    - Dst: gf_isom_oinf_new_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10245,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10233,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10328,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10354,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10422,1
    - Dst: gf_isom_linf_read_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10258,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10126,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10290,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10284,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10339,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10204,1
    - Dst: gf_isom_linf_new_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10256,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10193,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10200,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10337,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10376,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10428,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10112,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:10187,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10321,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/isomedia/box_code_base.c:10327,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 332
    argCount: 5
    argNames:
    - p
    - bs
    - bytes_in_box
    - entry_size
    - total_bytes
    argTypes:
    - GF_SampleGroupDescriptionBox*
    - GF_BitStream*
    - s32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 10435
      start: 10083
    functionDepth: 0
    functionLinenumber: 10083
    functionLinenumberEnd: 10435
    functionName: sgpd_parse_entry
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - gf_bs_seek
    - gf_bs_peek_bits
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_isom_linf_new_entry
    - gf_bs_skip_bytes
    - gf_isom_linf_read_entry
    - gf_isom_oinf_new_entry
    - gf_bs_read_data
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_is_overflow
    - memcpy
    - gf_free
    - gf_cenc_validate_key_info
    - gf_isom_oinf_read_entry
    linkageType: ''
    returnType: void*
    signature: 'void *sgpd_parse_entry(GF_SampleGroupDescriptionBox *p, GF_BitStream
      *bs, s32 bytes_in_box, u32 entry_size, u32 *total_bytes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:10861,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10866,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10868,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10869,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10865,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10872,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10874,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10877
      start: 10856
    functionDepth: 0
    functionLinenumber: 10856
    functionLinenumberEnd: 10877
    functionName: saiz_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_write_u8
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saiz_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11049
      start: 11045
    functionDepth: 0
    functionLinenumber: 11045
    functionLinenumberEnd: 11049
    functionName: prft_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *prft_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12217,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12222,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12219,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12220,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12221,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12227
      start: 12212
    functionDepth: 0
    functionLinenumber: 12212
    functionLinenumberEnd: 12227
    functionName: mhac_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhac_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1462
    functionName: free_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *free_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2763
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2763
    functionName: name_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err name_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:2860,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:2861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2863
    functionName: srpp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srpp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5244
      start: 5240
    functionDepth: 0
    functionLinenumber: 5240
    functionLinenumberEnd: 5244
    functionName: snro_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err snro_box_size(GF_Box *s) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10446,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10452,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10451,1
    - Dst: gf_isom_linf_del_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10459,1
    - Dst: gf_isom_oinf_del_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10456,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10464,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10465,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10472,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10473,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10477,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10491,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10484,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10483,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10492,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 21
    argCount: 2
    argNames:
    - grouping_type
    - entry
    argTypes:
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 10495
      start: 10437
    functionDepth: 0
    functionLinenumber: 10437
    functionLinenumberEnd: 10495
    functionName: sgpd_del_entry
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_oinf_del_entry
    - gf_isom_linf_del_entry
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sgpd_del_entry(u32 grouping_type, void *entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10890
      start: 10879
    functionDepth: 0
    functionLinenumber: 10879
    functionLinenumberEnd: 10890
    functionName: saiz_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saiz_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12235
      start: 12229
    functionDepth: 0
    functionLinenumber: 12229
    functionLinenumberEnd: 12235
    functionName: mhac_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhac_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12945
      start: 12940
    functionDepth: 0
    functionLinenumber: 12940
    functionLinenumberEnd: 12945
    functionName: ddts_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ddts_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9908,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9913,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9909,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9916
      start: 9903
    functionDepth: 0
    functionLinenumber: 9903
    functionLinenumberEnd: 9916
    functionName: rsot_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rsot_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9900
      start: 9897
    functionDepth: 0
    functionLinenumber: 9897
    functionLinenumberEnd: 9900
    functionName: rsot_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rsot_box_del(GF_Box *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13521,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13527,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13523,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13526,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13528,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13529,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13530,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13532,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13533,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13547,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13551,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13538,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13536,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13553,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13535,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13557
      start: 13515
    functionDepth: 0
    functionLinenumber: 13515
    functionLinenumberEnd: 13557
    functionName: emsg_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_isom_read_null_terminated_string
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emsg_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14036,1
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:14062,1
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:14043,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:14046,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14051,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14052,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14060,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:14079,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:14064,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14065,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:14083,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:14082,1
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:14034,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14035,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14047,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:14057,1
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:14084,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14073,1
    - Dst: ISOM_DECREASE_SIZE_NO_ERR
      Src: /src/gpac/src/isomedia/box_code_base.c:14045,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14088
      start: 14026
    functionDepth: 0
    functionLinenumber: 14026
    functionLinenumberEnd: 14088
    functionName: xtra_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE_NO_ERR
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_list_add
    - gf_bs_skip_bytes
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xtra_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9343,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9344,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9356,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9358,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9360,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9339,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9338,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9340,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9353,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9342,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9346,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9354,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9357,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9355,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9347,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9348,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9350,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9333,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9334,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9363
      start: 9328
    functionDepth: 0
    functionLinenumber: 9328
    functionLinenumberEnd: 9363
    functionName: sidx_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sidx_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7399,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 7406
      start: 7393
    functionDepth: 0
    functionLinenumber: 7393
    functionLinenumberEnd: 7406
    functionName: strk_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err strk_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7747,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7760,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7768,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7791,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7795,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7792,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7796,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7799,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7800,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7803,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7804,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7820,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7827,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7828,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:7804,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7741,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7742,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7746,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7815,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7819,1
    - Dst: ctrn_read_flags
      Src: /src/gpac/src/isomedia/box_code_base.c:7831,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7835,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7830,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7750,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7756,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:7770,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7788,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:7811,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7814,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7822,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7836,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7838,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7749,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7755,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:7763,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7795,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:7792,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7791,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:7796,1
    - Dst: ctrn_read_flags
      Src: /src/gpac/src/isomedia/box_code_base.c:7799,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:7800,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7803,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7812,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7839,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7823,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 166
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7846
      start: 7731
    functionDepth: 0
    functionLinenumber: 7731
    functionLinenumberEnd: 7846
    functionName: ctrn_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_list_get
    - gf_isom_ctrn_field_size_bits
    - ctrn_read_flags
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - ctrn_field_size
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ctrn_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11838,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11841,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11842,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11843,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11844,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11845,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11846,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11847,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11849,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11851,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11853,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11855,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11860
      start: 11831
    functionDepth: 0
    functionLinenumber: 11831
    functionLinenumberEnd: 11860
    functionName: fdpa_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdpa_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1133,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1136,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1138
    functionName: dref_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dref_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2085,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2087,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2089,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2089,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2091
    functionName: rtp_hnti_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u32
    - gf_isom_box_write_header
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtp_hnti_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7696,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7698,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:7697,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/box_code_base.c:7701,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:7700,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7702,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7703,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:7705,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7707,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7708
      start: 7691
    functionDepth: 0
    functionLinenumber: 7691
    functionLinenumberEnd: 7708
    functionName: trun_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void trun_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14164,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:14166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14168
      start: 14159
    functionDepth: 0
    functionLinenumber: 14159
    functionLinenumberEnd: 14168
    functionName: st3d_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err st3d_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14598,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14602
      start: 14594
    functionDepth: 0
    functionLinenumber: 14594
    functionLinenumberEnd: 14602
    functionName: srat_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srat_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1147
    functionName: dref_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dref_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2098
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2098
    functionName: rtp_hnti_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtp_hnti_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14174
      start: 14170
    functionDepth: 0
    functionLinenumber: 14170
    functionLinenumberEnd: 14174
    functionName: st3d_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err st3d_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14608
      start: 14604
    functionDepth: 0
    functionLinenumber: 14604
    functionLinenumberEnd: 14608
    functionName: srat_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srat_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1692
    functionName: gnra_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnra_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11887
      start: 11883
    functionDepth: 0
    functionLinenumber: 11883
    functionLinenumberEnd: 11887
    functionName: extr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *extr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14581
      start: 14578
    functionDepth: 0
    functionLinenumber: 14578
    functionLinenumberEnd: 14581
    functionName: srat_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void srat_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2154,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2157
    functionName: totl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err totl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1106
    functionName: dref_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dref_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1684,1
    - Dst: gf_isom_audio_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1687
    functionName: gnra_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gnra_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1827
    functionName: hinf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hinf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8789,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8793,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8791,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8792,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8790,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8794,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8795,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8796,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8799
      start: 8786
    functionDepth: 0
    functionLinenumber: 8786
    functionLinenumberEnd: 8799
    functionName: clap_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err clap_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11320
      start: 11316
    functionDepth: 0
    functionLinenumber: 11316
    functionLinenumberEnd: 11320
    functionName: paen_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *paen_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12110,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12113,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:12115,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12118
      start: 12104
    functionDepth: 0
    functionLinenumber: 12104
    functionLinenumberEnd: 12118
    functionName: bloc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bloc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvcC_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12702
      start: 12699
    functionDepth: 0
    functionLinenumber: 12699
    functionLinenumberEnd: 12702
    functionName: dvvC_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - dvcC_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvvC_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1112,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1114,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1115
    functionName: dref_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dref_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2162
    functionName: totl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *totl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7595
      start: 7591
    functionDepth: 0
    functionLinenumber: 7591
    functionLinenumberEnd: 7595
    functionName: trex_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trex_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11325
      start: 11322
    functionDepth: 0
    functionLinenumber: 11322
    functionLinenumberEnd: 11325
    functionName: paen_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void paen_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12124
      start: 12120
    functionDepth: 0
    functionLinenumber: 12120
    functionLinenumberEnd: 12124
    functionName: bloc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bloc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvcC_box_size
      Src: /src/gpac/src/isomedia/box_code_base.c:12706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12707
      start: 12704
    functionDepth: 0
    functionLinenumber: 12704
    functionLinenumberEnd: 12707
    functionName: dvvC_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - dvcC_box_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvvC_box_size(GF_Box *s) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_oinf_size_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10652,1
    - Dst: gf_isom_linf_size_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10654,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 26
    argCount: 2
    argNames:
    - grouping_type
    - entry
    argTypes:
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 10681
      start: 10620
    functionDepth: 0
    functionLinenumber: 10620
    functionLinenumberEnd: 10681
    functionName: sgpd_size_entry
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_oinf_size_entry
    - gf_isom_linf_size_entry
    linkageType: ''
    returnType: u32
    signature: 'static u32 sgpd_size_entry(u32 grouping_type, void *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11577
      start: 11573
    functionDepth: 0
    functionLinenumber: 11573
    functionLinenumberEnd: 11577
    functionName: segr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *segr_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12157,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12159,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12162,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12161,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:12161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12164
      start: 12152
    functionDepth: 0
    functionLinenumber: 12152
    functionLinenumberEnd: 12164
    functionName: ainf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ainf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:3888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3889
      start: 3886
    functionDepth: 0
    functionLinenumber: 3886
    functionLinenumberEnd: 3889
    functionName: moof_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moof_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1631,1
    - Dst: gf_isom_video_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1634
    functionName: gnrv_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    - gf_isom_video_sample_entry_init
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gnrv_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2211,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2215
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2215
    functionName: nump_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nump_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5074
      start: 5070
    functionDepth: 0
    functionLinenumber: 5070
    functionLinenumberEnd: 5074
    functionName: rely_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rely_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:8379,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/box_code_base.c:8382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - box_type
    - uuid
    argTypes:
    - GF_UserDataBox*
    - u32
    - bin128*
    constantsTouched: []
    func_position:
      end: 8386
      start: 8373
    functionDepth: 0
    functionLinenumber: 8373
    functionLinenumberEnd: 8386
    functionName: udta_getEntry
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_list_enum
    linkageType: ''
    returnType: GF_UserDataMap*
    signature: 'GF_UserDataMap *udta_getEntry(GF_UserDataBox *ptr, u32 box_type, bin128
      *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8728
      start: 8724
    functionDepth: 0
    functionLinenumber: 8724
    functionLinenumberEnd: 8728
    functionName: pasp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pasp_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:11258,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11260
      start: 11254
    functionDepth: 0
    functionLinenumber: 11254
    functionLinenumberEnd: 11260
    functionName: fiin_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void fiin_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12305
      start: 12302
    functionDepth: 0
    functionLinenumber: 12302
    functionLinenumberEnd: 12305
    functionName: jp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void jp_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2220
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2220
    functionName: nump_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nump_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3893,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:3894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3896
      start: 3891
    functionDepth: 0
    functionLinenumber: 3891
    functionLinenumberEnd: 3896
    functionName: moof_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *moof_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5079,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5080,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5082,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5084
      start: 5076
    functionDepth: 0
    functionLinenumber: 5076
    functionLinenumberEnd: 5084
    functionName: rely_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rely_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_code_base.c:8398,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/box_code_base.c:8407,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:8413,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_base.c:8417,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:8411,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:8418,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8420,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:8423,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_code_base.c:8427,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:8432,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:8447,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/box_code_base.c:8439,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8434,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:8442,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:8441,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - s
    - a
    - is_rem
    - rem_same_type
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 8448
      start: 8388
    functionDepth: 0
    functionLinenumber: 8388
    functionLinenumberEnd: 8448
    functionName: udta_on_child_box_ex
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - memset
    - memcmp
    - gf_list_count
    - gf_isom_box_del
    - memcpy
    - gf_list_rem
    - udta_getEntry
    - gf_free
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_on_child_box_ex(GF_Box *s, GF_Box *a, Bool is_rem, Bool
      rem_same_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8736
      start: 8731
    functionDepth: 0
    functionLinenumber: 8731
    functionLinenumberEnd: 8736
    functionName: pasp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pasp_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11271,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 11278
      start: 11263
    functionDepth: 0
    functionLinenumber: 11263
    functionLinenumberEnd: 11278
    functionName: fiin_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiin_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12310,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12313
      start: 12307
    functionDepth: 0
    functionLinenumber: 12307
    functionLinenumberEnd: 12313
    functionName: jp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12960,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12962,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12964
      start: 12956
    functionDepth: 0
    functionLinenumber: 12956
    functionLinenumberEnd: 12964
    functionName: udts_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void udts_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13287
      start: 13278
    functionDepth: 0
    functionLinenumber: 13278
    functionLinenumberEnd: 13287
    functionName: vwid_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vwid_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14002
      start: 13998
    functionDepth: 0
    functionLinenumber: 13998
    functionLinenumberEnd: 14002
    functionName: dmlp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmlp_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5927,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5929
      start: 5923
    functionDepth: 0
    functionLinenumber: 5923
    functionLinenumberEnd: 5929
    functionName: stsz_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stsz_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2564,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2568
    functionName: tmax_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmax_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3828
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3828
    functionName: minf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err minf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:718,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:730,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:721,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:740,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:742,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_base.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:748,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:751,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:753,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:754,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/box_code_base.c:758,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:761,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 763
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 763
    functionName: urn_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - memcpy
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err urn_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1188,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1194
    functionName: edts_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err edts_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1406,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1410,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1412,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1414
    functionName: esds_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_write
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err esds_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4642,1
    - Dst: gf_isom_video_sample_entry_write
      Src: /src/gpac/src/isomedia/box_code_base.c:4644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4646
      start: 4639
    functionDepth: 0
    functionLinenumber: 4639
    functionLinenumberEnd: 4646
    functionName: video_sample_entry_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_video_sample_entry_write
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err video_sample_entry_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5224
      start: 5220
    functionDepth: 0
    functionLinenumber: 5220
    functionLinenumberEnd: 5224
    functionName: snro_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *snro_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - field_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 7716
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7716
    functionName: ctrn_field_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_field_size(u32 field_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2573
    functionName: tmax_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmax_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3835,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:3838,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3837,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3840,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3842
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3842
    functionName: minf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err minf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: urn_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *urn_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1205
    functionName: edts_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err edts_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_size
      Src: /src/gpac/src/isomedia/box_code_base.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1428
    functionName: esds_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err esds_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4664,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4664,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4676,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4687,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4682,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4688,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4659,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4670,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4679,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4673,1
    - Dst: gf_isom_video_sample_entry_size
      Src: /src/gpac/src/isomedia/box_code_base.c:4653,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4658,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4662,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4669,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4661,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4665,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4690,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4691,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4693
      start: 4648
    functionDepth: 0
    functionLinenumber: 4648
    functionLinenumberEnd: 4693
    functionName: video_sample_entry_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_video_sample_entry_size
    - gf_isom_box_find_child
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err video_sample_entry_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - field_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 7722
      start: 7718
    functionDepth: 0
    functionLinenumber: 7718
    functionLinenumberEnd: 7722
    functionName: gf_isom_ctrn_field_size_bits
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_ctrn_field_size_bits(u32 field_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11878
      start: 11862
    functionDepth: 0
    functionLinenumber: 11862
    functionLinenumberEnd: 11878
    functionName: fdpa_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdpa_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12208
      start: 12203
    functionDepth: 0
    functionLinenumber: 12203
    functionLinenumberEnd: 12208
    functionName: mhac_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mhac_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8834,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:8835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8837
      start: 8831
    functionDepth: 0
    functionLinenumber: 8831
    functionLinenumberEnd: 8837
    functionName: metx_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *metx_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:3733,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3737
      start: 3727
    functionDepth: 0
    functionLinenumber: 3727
    functionLinenumberEnd: 3737
    functionName: mfhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: def_parent_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:3623,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3628
      start: 3618
    functionDepth: 0
    functionLinenumber: 3618
    functionLinenumberEnd: 3628
    functionName: mfro_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfro_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3820
    functionName: minf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *minf_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6178,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6180
      start: 6175
    functionDepth: 0
    functionLinenumber: 6175
    functionLinenumberEnd: 6180
    functionName: stts_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stts_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6288
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6288
    functionName: tfhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tfhd_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9088,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9093,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9092,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9095
      start: 9085
    functionDepth: 0
    functionLinenumber: 9085
    functionLinenumberEnd: 9095
    functionName: txtc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err txtc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11121
      start: 11118
    functionDepth: 0
    functionLinenumber: 11118
    functionLinenumberEnd: 11121
    functionName: trgr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 942
    functionName: def_parent_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *def_parent_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3634
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3634
    functionName: mfro_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfro_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3743
      start: 3739
    functionDepth: 0
    functionLinenumber: 3739
    functionLinenumberEnd: 3743
    functionName: mfhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfhd_box_size(GF_Box *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6193,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6196,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6205,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6194,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:6201,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6222,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6236,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6243
      start: 6183
    functionDepth: 0
    functionLinenumber: 6183
    functionLinenumberEnd: 6243
    functionName: stts_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stts_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6294,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6303,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6295,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6299,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6300,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6304,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6307,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6308,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6311,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6312,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6316,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6319
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6319
    functionName: tfhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:9101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9104
      start: 9097
    functionDepth: 0
    functionLinenumber: 9097
    functionLinenumberEnd: 9104
    functionName: txtc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err txtc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:11127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11129
      start: 11123
    functionDepth: 0
    functionLinenumber: 11123
    functionLinenumberEnd: 11129
    functionName: trgr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgr_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11514,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11516
      start: 11510
    functionDepth: 0
    functionLinenumber: 11510
    functionLinenumberEnd: 11516
    functionName: fecr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void fecr_box_del(GF_Box *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11793,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11794,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11787,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11788,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11791,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11789,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11790,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11792,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11812,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11813,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11810,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11806,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11795,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11805,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11801,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:11818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:11797,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11809,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11821,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11827
      start: 11782
    functionDepth: 0
    functionLinenumber: 11782
    functionLinenumberEnd: 11827
    functionName: fdpa_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - GF_SAFE_ALLOC_N
    - gf_bs_read_int
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdpa_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12268
      start: 12264
    functionDepth: 0
    functionLinenumber: 12264
    functionLinenumberEnd: 12268
    functionName: mhap_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mhap_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1121
    functionName: dref_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dref_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2369,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2372,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2374
    functionName: maxr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err maxr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:5364,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:5370,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:5373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:5371,1
    - Dst: CHECK_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:5385,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/box_code_base.c:5395,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/box_code_base.c:5397,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5412,1
    - Dst: CHECK_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:5386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5416,1
    - Dst: if
      Src: /src/gpac/src/isomedia/box_code_base.c:5389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5422,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5427
      start: 5358
    functionDepth: 0
    functionLinenumber: 5358
    functionLinenumberEnd: 5427
    functionName: stbl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - gf_list_count
    - GF_LOG
    - stbl_GetSampleDTS
    - if
    - stbl_GetSampleInfos
    - gf_bs_get_cookie
    - CHECK_BOX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5761,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5764,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:5763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5766
      start: 5755
    functionDepth: 0
    functionLinenumber: 5755
    functionLinenumberEnd: 5766
    functionName: stsd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:5784,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5788,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5787,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5789
      start: 5778
    functionDepth: 0
    functionLinenumber: 5778
    functionLinenumberEnd: 5789
    functionName: stsh_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stsh_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8554,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:8556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8558
      start: 8549
    functionDepth: 0
    functionLinenumber: 8549
    functionLinenumberEnd: 8558
    functionName: vmhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vmhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13962
      start: 13958
    functionDepth: 0
    functionLinenumber: 13958
    functionLinenumberEnd: 13962
    functionName: dmlp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dmlp_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2428
    functionName: dimm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dimm_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2379
    functionName: maxr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err maxr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5436
      start: 5429
    functionDepth: 0
    functionLinenumber: 5429
    functionLinenumberEnd: 5436
    functionName: stbl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stbl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5773
      start: 5768
    functionDepth: 0
    functionLinenumber: 5768
    functionLinenumberEnd: 5773
    functionName: stsd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsd_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5799,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5807,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5805,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5800,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5808,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:5809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5813
      start: 5793
    functionDepth: 0
    functionLinenumber: 5793
    functionLinenumberEnd: 5813
    functionName: stsh_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsh_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8565
      start: 8560
    functionDepth: 0
    functionLinenumber: 8560
    functionLinenumberEnd: 8565
    functionName: vmhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vmhd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12893,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12895,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12894,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12897,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12896,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12898,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12899,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12900,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12901,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12902,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12903,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12905,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12908,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12904,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12906,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12910
      start: 12890
    functionDepth: 0
    functionLinenumber: 12890
    functionLinenumberEnd: 12910
    functionName: ddts_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ddts_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1639
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1639
    functionName: gnrv_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrv_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12648,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12653,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12652,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12654,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12655,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12656,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12657,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12658,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12659,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12660,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12664,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12663,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12662,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12667
      start: 12642
    functionDepth: 0
    functionLinenumber: 12642
    functionLinenumberEnd: 12667
    functionName: dvcC_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_int
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvcC_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:12169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12171
      start: 12166
    functionDepth: 0
    functionLinenumber: 12166
    functionLinenumberEnd: 12171
    functionName: ainf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ainf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1579,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1583
    functionName: gnrm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gnrm_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1968
    functionName: hnti_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hnti_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2290,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2294
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2294
    functionName: tpyl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpyl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5747,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:5748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5750
      start: 5745
    functionDepth: 0
    functionLinenumber: 5745
    functionLinenumberEnd: 5750
    functionName: stsd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stsd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8543
      start: 8538
    functionDepth: 0
    functionLinenumber: 8538
    functionLinenumberEnd: 8543
    functionName: vmhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vmhd_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11165,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11170
      start: 11158
    functionDepth: 0
    functionLinenumber: 11158
    functionLinenumberEnd: 11170
    functionName: trgt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13567,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13573,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13574,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13572,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13571,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13577,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13578,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13579,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13581,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13582,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13583,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13586,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13588,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13589,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13592,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13594
      start: 13561
    functionDepth: 0
    functionLinenumber: 13561
    functionLinenumberEnd: 13594
    functionName: emsg_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emsg_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1974
    functionName: hnti_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hnti_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2299
    functionName: tpyl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpyl_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11178
      start: 11172
    functionDepth: 0
    functionLinenumber: 11172
    functionLinenumberEnd: 11178
    functionName: trgt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgt_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12675
      start: 12669
    functionDepth: 0
    functionLinenumber: 12669
    functionLinenumberEnd: 12675
    functionName: dvcC_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvcC_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: def_parent_full_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_full_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:576,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:580,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:579,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:577,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: ccst_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccst_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:597,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:602,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:600,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:601,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: ccst_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccst_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:890,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:901,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:899,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:896,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:897,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:902,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:904,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 912
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 912
    functionName: unkn_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_get_position
    - gf_bs_write_data
    - gf_bs_seek
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err unkn_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1029,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1035
    functionName: uuid_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err uuid_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:4803,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4806,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4811
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4811
    functionName: mehd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mehd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5041,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5050,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5048,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5043,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5046,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5052,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5053,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5056
      start: 5035
    functionDepth: 0
    functionLinenumber: 5035
    functionLinenumberEnd: 5056
    functionName: padb_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err padb_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7333,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7335
      start: 7329
    functionDepth: 0
    functionLinenumber: 7329
    functionLinenumberEnd: 7335
    functionName: stsg_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stsg_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: uuid_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err uuid_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: ccst_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ccst_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: ccst_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccst_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 922
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 922
    functionName: unkn_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err unkn_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: def_parent_full_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_full_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4818
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4818
    functionName: mehd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mehd_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5065
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5065
    functionName: padb_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err padb_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7357
      start: 7353
    functionDepth: 0
    functionLinenumber: 7353
    functionLinenumberEnd: 7357
    functionName: stsg_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stsg_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9887
      start: 9875
    functionDepth: 0
    functionLinenumber: 9875
    functionLinenumberEnd: 9887
    functionName: tfdt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfdt_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11585,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11586,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11589,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11590
      start: 11579
    functionDepth: 0
    functionLinenumber: 11579
    functionLinenumberEnd: 11590
    functionName: segr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void segr_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:14377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14378
      start: 14375
    functionDepth: 0
    functionLinenumber: 14375
    functionLinenumberEnd: 14378
    functionName: empty_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err empty_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14245
      start: 14242
    functionDepth: 0
    functionLinenumber: 14242
    functionLinenumberEnd: 14245
    functionName: prhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void prhd_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: npck_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void npck_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5029
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5029
    functionName: padb_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *padb_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:6740,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6747,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6746,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:6744,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6743,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6749,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6753
      start: 6736
    functionDepth: 0
    functionLinenumber: 6736
    functionLinenumberEnd: 6753
    functionName: tfxd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfxd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ctrn_box_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7858,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7875,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7936,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7925,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7920,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7867,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7871,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7876,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:7882,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:7905,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7913,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7930,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7932,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7872,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7894,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:7901,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:7941,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7866,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:7879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7898,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7945
      start: 7849
    functionDepth: 0
    functionLinenumber: 7849
    functionLinenumberEnd: 7945
    functionName: trun_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - memset
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_skip_bytes
    - ctrn_box_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trun_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:8754,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8757,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8759
      start: 8751
    functionDepth: 0
    functionLinenumber: 8751
    functionLinenumberEnd: 8759
    functionName: pasp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pasp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9119
      start: 9114
    functionDepth: 0
    functionLinenumber: 9114
    functionLinenumberEnd: 9119
    functionName: dec3_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dec3_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12591,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:12593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12596
      start: 12589
    functionDepth: 0
    functionLinenumber: 12589
    functionLinenumberEnd: 12596
    functionName: dvcC_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dvcC_box_new() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12610,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12614,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12613,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12611,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12612,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12615,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12616,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12617,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12618,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12619,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:12624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:12620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:12635,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12639
      start: 12604
    functionDepth: 0
    functionLinenumber: 12604
    functionLinenumberEnd: 12639
    functionName: dvcC_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - GF_LOG
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvcC_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6760
      start: 6755
    functionDepth: 0
    functionLinenumber: 6755
    functionLinenumberEnd: 6760
    functionName: tfxd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfxd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7952
      start: 7947
    functionDepth: 0
    functionLinenumber: 7947
    functionLinenumberEnd: 7952
    functionName: trun_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trun_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8765
      start: 8761
    functionDepth: 0
    functionLinenumber: 8761
    functionLinenumberEnd: 8765
    functionName: pasp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pasp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9125
      start: 9121
    functionDepth: 0
    functionLinenumber: 9121
    functionLinenumberEnd: 9125
    functionName: dac3_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dac3_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12602
      start: 12598
    functionDepth: 0
    functionLinenumber: 12598
    functionLinenumberEnd: 12602
    functionName: dvcC_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dvcC_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:13989,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13993,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13991,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13992,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13996
      start: 13984
    functionDepth: 0
    functionLinenumber: 13984
    functionLinenumberEnd: 13996
    functionName: dmlp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmlp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:390,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: ctts_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ctts_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:703,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:705,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 706
    functionName: urn_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void urn_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3610,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3613
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3613
    functionName: mfro_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfro_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7275,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7281,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7278,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7277,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:7284,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7287,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7291
      start: 7271
    functionDepth: 0
    functionLinenumber: 7271
    functionLinenumberEnd: 7291
    functionName: stri_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - GF_SAFE_ALLOC_N
    - GF_LOG
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stri_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 11978
      start: 11966
    functionDepth: 0
    functionLinenumber: 11966
    functionLinenumberEnd: 11978
    functionName: fdsa_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdsa_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12467,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12471,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12470,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12473,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12476
      start: 12462
    functionDepth: 0
    functionLinenumber: 12462
    functionLinenumberEnd: 12476
    functionName: jsub_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsub_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13621
      start: 13617
    functionDepth: 0
    functionLinenumber: 13617
    functionLinenumberEnd: 13621
    functionName: emib_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *emib_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12790
      start: 12786
    functionDepth: 0
    functionLinenumber: 12786
    functionLinenumberEnd: 12790
    functionName: iacb_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iacb_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7297
      start: 7293
    functionDepth: 0
    functionLinenumber: 7293
    functionLinenumberEnd: 7297
    functionName: stri_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stri_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:11981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11982
      start: 11979
    functionDepth: 0
    functionLinenumber: 11979
    functionLinenumberEnd: 11982
    functionName: fdsa_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdsa_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12482
      start: 12478
    functionDepth: 0
    functionLinenumber: 12478
    functionLinenumberEnd: 12482
    functionName: jsub_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsub_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13627,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13629,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13628,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13631
      start: 13623
    functionDepth: 0
    functionLinenumber: 13623
    functionLinenumberEnd: 13631
    functionName: emib_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void emib_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:14198,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:14201,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14206
      start: 14194
    functionDepth: 0
    functionLinenumber: 14194
    functionLinenumberEnd: 14206
    functionName: svhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1589
    functionName: gnrm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2588,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2591
    functionName: pmax_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pmax_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2171,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2175
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2175
    functionName: totl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err totl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4414,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:4417,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:4418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4420
      start: 4410
    functionDepth: 0
    functionLinenumber: 4410
    functionLinenumberEnd: 4420
    functionName: gen_sample_entry_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gen_sample_entry_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:6065,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:6071,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6072,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6074,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6069,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6079,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6086,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6088,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6091,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6096,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6103
      start: 6059
    functionDepth: 0
    functionLinenumber: 6059
    functionLinenumberEnd: 6103
    functionName: stsz_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_isom_full_box_write
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsz_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:7667,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7672
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7672
    functionName: trep_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trep_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:10055,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10057,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10061,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10059,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10063,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10067
      start: 10049
    functionDepth: 0
    functionLinenumber: 10049
    functionLinenumberEnd: 10067
    functionName: sbgp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sbgp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12368
      start: 12365
    functionDepth: 0
    functionLinenumber: 12365
    functionLinenumberEnd: 12368
    functionName: jp2h_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2h_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2180
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2180
    functionName: totl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err totl_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2596
    functionName: pmax_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pmax_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4427
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4427
    functionName: gen_sample_entry_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gen_sample_entry_box_size(GF_Box *s) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6170
      start: 6105
    functionDepth: 0
    functionLinenumber: 6105
    functionLinenumberEnd: 6170
    functionName: stsz_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsz_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7679
      start: 7674
    functionDepth: 0
    functionLinenumber: 7674
    functionLinenumberEnd: 7679
    functionName: trep_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trep_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10079
      start: 10069
    functionDepth: 0
    functionLinenumber: 10069
    functionLinenumberEnd: 10079
    functionName: sbgp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sbgp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12373
      start: 12370
    functionDepth: 0
    functionLinenumber: 12370
    functionLinenumberEnd: 12373
    functionName: jp2h_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2h_box_size(GF_Box *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13423,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13429,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13427,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13431,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13430,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13434,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13438,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13441,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13443,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13444,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13449,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13451,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13460,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13453,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13450,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13455,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13463
      start: 13418
    functionDepth: 0
    functionLinenumber: 13418
    functionLinenumberEnd: 13463
    functionName: chnl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chnl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2114,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2117
    functionName: trpy_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trpy_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:4053,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4055,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4054,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4056
      start: 4049
    functionDepth: 0
    functionLinenumber: 4049
    functionLinenumberEnd: 4056
    functionName: audio_sample_entry_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void audio_sample_entry_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2122
    functionName: trpy_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trpy_box_new() '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4066,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4089,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4095,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4099,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4114,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:4115,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:4135,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:4193,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4081,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4085,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4092,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4186,1
    - Dst: ERROR_ON_DUPLICATED_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:4183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:4189,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4074,1
    - Dst: ERROR_ON_DUPLICATED_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:4110,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:4119,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4141,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:4195,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4112,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:4122,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:4127,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4188,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:4201,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 110
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 4216
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4216
    functionName: audio_sample_entry_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del_parent
    - ERROR_ON_DUPLICATED_BOX
    - gf_list_rem
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err audio_sample_entry_on_child_box(GF_Box *s, GF_Box *a, Bool
      is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1217,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1220,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:1222,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1223,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:1219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1224
    functionName: elst_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void elst_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13239
      start: 13235
    functionDepth: 0
    functionLinenumber: 13235
    functionLinenumberEnd: 13239
    functionName: vwid_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vwid_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12836,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12838
      start: 12833
    functionDepth: 0
    functionLinenumber: 12833
    functionLinenumberEnd: 12838
    functionName: dfla_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dfla_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:190,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:193,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:198,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:194,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:199,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:201,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:203,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:204,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: chpl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_list_get
    - gf_isom_full_box_write
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chpl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:9253,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:9254,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9256
      start: 9249
    functionDepth: 0
    functionLinenumber: 9249
    functionLinenumberEnd: 9256
    functionName: lsr1_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void lsr1_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11644,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11649,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11651,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11647,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11654,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11660
      start: 11637
    functionDepth: 0
    functionLinenumber: 11637
    functionLinenumberEnd: 11660
    functionName: segr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err segr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12862,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12866
      start: 12858
    functionDepth: 0
    functionLinenumber: 12858
    functionLinenumberEnd: 12866
    functionName: dfla_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dfla_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13752
      start: 13749
    functionDepth: 0
    functionLinenumber: 13749
    functionLinenumberEnd: 13752
    functionName: evte_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err evte_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:221,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: chpl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chpl_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:9263,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:9266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 9270
      start: 9258
    functionDepth: 0
    functionLinenumber: 9258
    functionLinenumberEnd: 9270
    functionName: lsr1_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsr1_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11674
      start: 11662
    functionDepth: 0
    functionLinenumber: 11662
    functionLinenumberEnd: 11674
    functionName: segr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err segr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12873
      start: 12868
    functionDepth: 0
    functionLinenumber: 12868
    functionLinenumberEnd: 12873
    functionName: dfla_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dfla_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13301,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13302,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13305
      start: 13297
    functionDepth: 0
    functionLinenumber: 13297
    functionLinenumberEnd: 13305
    functionName: pcmC_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmC_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9429,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9431,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9434
      start: 9421
    functionDepth: 0
    functionLinenumber: 9421
    functionLinenumberEnd: 9434
    functionName: ssix_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ssix_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2542
    functionDepth: 0
    functionLinenumber: 2542
    functionLinenumberEnd: 2545
    functionName: tmax_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tmax_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3404,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3406
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3406
    functionName: mfra_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void mfra_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3929,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3931
      start: 3925
    functionDepth: 0
    functionLinenumber: 3925
    functionLinenumberEnd: 3931
    functionName: moov_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void moov_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:1677,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1678,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1680
    functionName: gnra_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gnra_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4958
      start: 4953
    functionDepth: 0
    functionLinenumber: 4953
    functionLinenumberEnd: 4958
    functionName: nmhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void nmhd_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:6339,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6351,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6341,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6348,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6345,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6354,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6360
      start: 6333
    functionDepth: 0
    functionLinenumber: 6333
    functionLinenumberEnd: 6360
    functionName: tfhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6390,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6393
      start: 6387
    functionDepth: 0
    functionLinenumber: 6387
    functionLinenumberEnd: 6393
    functionName: tims_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tims_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:7546,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7553
      start: 7539
    functionDepth: 0
    functionLinenumber: 7539
    functionLinenumberEnd: 7553
    functionName: reftype_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reftype_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8320
      start: 8316
    functionDepth: 0
    functionLinenumber: 8316
    functionLinenumberEnd: 8320
    functionName: tsro_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tsro_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4965
      start: 4962
    functionDepth: 0
    functionLinenumber: 4962
    functionLinenumberEnd: 4965
    functionName: nmhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nmhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6374
      start: 6362
    functionDepth: 0
    functionLinenumber: 6362
    functionLinenumberEnd: 6374
    functionName: tfhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfhd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6399
      start: 6395
    functionDepth: 0
    functionLinenumber: 6395
    functionLinenumberEnd: 6399
    functionName: tims_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tims_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7562
      start: 7556
    functionDepth: 0
    functionLinenumber: 7556
    functionLinenumberEnd: 7562
    functionName: reftype_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reftype_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:9072,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9075,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9080
      start: 9068
    functionDepth: 0
    functionLinenumber: 9068
    functionLinenumberEnd: 9080
    functionName: txtc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err txtc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9965
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9965
    functionName: rvcc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rvcc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11138
      start: 11134
    functionDepth: 0
    functionLinenumber: 11134
    functionLinenumberEnd: 11138
    functionName: trgt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trgt_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11705,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11706,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11714,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11715,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11710,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:11717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11721
      start: 11699
    functionDepth: 0
    functionLinenumber: 11699
    functionLinenumberEnd: 11721
    functionName: gitn_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - GF_SAFE_ALLOC_N
    - ISOM_DECREASE_SIZE
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gitn_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:35,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: co64_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void co64_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:1624,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1625,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1627
    functionName: gnrv_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gnrv_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:1951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: hnti_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hnti_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3457,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3459
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3459
    functionName: tfra_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tfra_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11732,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:11738,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11735,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11738,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11737,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11742
      start: 11726
    functionDepth: 0
    functionLinenumber: 11726
    functionLinenumberEnd: 11742
    functionName: gitn_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gitn_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11993,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11996,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11999,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12003
      start: 11987
    functionDepth: 0
    functionLinenumber: 11987
    functionLinenumberEnd: 12003
    functionName: fdsa_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write
    - gf_isom_box_write_header
    - gf_isom_box_array_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdsa_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:43,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:56,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:52,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:48,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: co64_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err co64_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1962
    functionName: hnti_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hnti_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3461
    functionDepth: 0
    functionLinenumber: 3461
    functionLinenumberEnd: 3465
    functionName: tfra_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tfra_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6326
      start: 6321
    functionDepth: 0
    functionLinenumber: 6321
    functionLinenumberEnd: 6326
    functionName: tfhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tfhd_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:11752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11755
      start: 11744
    functionDepth: 0
    functionLinenumber: 11744
    functionLinenumberEnd: 11755
    functionName: gitn_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gitn_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12008
      start: 12005
    functionDepth: 0
    functionLinenumber: 12005
    functionLinenumberEnd: 12008
    functionName: fdsa_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fdsa_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12337
      start: 12334
    functionDepth: 0
    functionLinenumber: 12334
    functionLinenumberEnd: 12337
    functionName: jp2h_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void jp2h_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4402,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4405
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4405
    functionName: gen_sample_entry_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *gen_sample_entry_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:4978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4979
      start: 4976
    functionDepth: 0
    functionLinenumber: 4976
    functionLinenumberEnd: 4979
    functionName: nmhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nmhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5863,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5865
      start: 5859
    functionDepth: 0
    functionLinenumber: 5859
    functionLinenumberEnd: 5865
    functionName: stss_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stss_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6054
    functionName: stsz_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stsz_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6711
      start: 6708
    functionDepth: 0
    functionLinenumber: 6708
    functionLinenumberEnd: 6711
    functionName: tfxd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tfxd_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10025,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10029,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10032,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10026,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10030,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10037,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10041,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10042,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10043,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10046
      start: 10020
    functionDepth: 0
    functionLinenumber: 10020
    functionLinenumberEnd: 10046
    functionName: sbgp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sbgp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11952,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:11954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11957
      start: 11950
    functionDepth: 0
    functionLinenumber: 11950
    functionLinenumberEnd: 11957
    functionName: fdsa_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fdsa_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12452,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12456,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12455,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12454,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12458
      start: 12449
    functionDepth: 0
    functionLinenumber: 12449
    functionLinenumberEnd: 12458
    functionName: jsub_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsub_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2718,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2720
    functionName: name_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void name_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4984
      start: 4981
    functionDepth: 0
    functionLinenumber: 4981
    functionLinenumberEnd: 4984
    functionName: nmhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nmhd_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5872,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5875,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5873,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5880,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5884,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5887
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5887
    functionName: stss_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stss_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6717,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6718,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6722,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6723,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:6719,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6724,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6726,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6727,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6732
      start: 6714
    functionDepth: 0
    functionLinenumber: 6714
    functionLinenumberEnd: 6732
    functionName: tfxd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_u24
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfxd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10852
      start: 10848
    functionDepth: 0
    functionLinenumber: 10848
    functionLinenumberEnd: 10852
    functionName: saiz_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *saiz_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:11962,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11964
      start: 11959
    functionDepth: 0
    functionLinenumber: 11959
    functionLinenumberEnd: 11964
    functionName: fdsa_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void fdsa_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2838
    functionName: srpp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *srpp_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:666,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:670,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:676,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 680
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 680
    functionName: url_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err url_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: def_parent_full_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err def_parent_full_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4734
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4734
    functionName: mvex_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvex_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4761
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4761
    functionName: mvex_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvex_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4971
      start: 4967
    functionDepth: 0
    functionLinenumber: 4967
    functionLinenumberEnd: 4971
    functionName: nmhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *nmhd_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9924,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9931,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9934
      start: 9920
    functionDepth: 0
    functionLinenumber: 9920
    functionLinenumberEnd: 9934
    functionName: rsot_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rsot_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 695
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 695
    functionName: url_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err url_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 974
    functionName: def_parent_full_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *def_parent_full_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4738,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4746,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4741,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:4744,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:4739,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4736
    functionDepth: 0
    functionLinenumber: 4736
    functionLinenumberEnd: 4751
    functionName: mvex_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mvex_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4767,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:4769,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:4768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4771
      start: 4763
    functionDepth: 0
    functionLinenumber: 4763
    functionLinenumberEnd: 4771
    functionName: mvex_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvex_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9949
      start: 9936
    functionDepth: 0
    functionLinenumber: 9936
    functionLinenumberEnd: 9949
    functionName: rsot_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rsot_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12278,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12280,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12285
      start: 12272
    functionDepth: 0
    functionLinenumber: 12272
    functionLinenumberEnd: 12285
    functionName: mhap_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhap_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:811,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 813
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 813
    functionName: unkn_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void unkn_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:135,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_base.c:144,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:138,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:137,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:142,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:145,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:146,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:152,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_base.c:157,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:158,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/box_code_base.c:167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:165,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:161,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:172,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:179,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 181
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 181
    functionName: chpl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_malloc
    - gf_bs_read_u32
    - gf_list_get
    - gf_list_add
    - gf_bs_read_u8
    - gf_strdup
    - ISOM_DECREASE_SIZE
    - ISOM_DECREASE_SIZE_GOTO_EXIT
    - gf_bs_read_u64
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chpl_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4456,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4459,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4461
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4461
    functionName: mp4s_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_isom_base_sample_entry_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4s_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9836
      start: 9832
    functionDepth: 0
    functionLinenumber: 9832
    functionLinenumberEnd: 9836
    functionName: tfdt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tfdt_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11597,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:11600,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11609,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11605,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11610,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11612,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11614,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11618,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11621,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11622,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11624,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11632
      start: 11592
    functionDepth: 0
    functionLinenumber: 11592
    functionLinenumberEnd: 11632
    functionName: segr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - GF_SAFE_ALLOC_N
    - GF_LOG
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err segr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12854
      start: 12850
    functionDepth: 0
    functionLinenumber: 12850
    functionLinenumberEnd: 12854
    functionName: dfla_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dfla_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:13024,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13029,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13027,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13030,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13028,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13031,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13032,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13033,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13034,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13035,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13036,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13041,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13038,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13043,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/isomedia/box_code_base.c:13039,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13045
      start: 13018
    functionDepth: 0
    functionLinenumber: 13018
    functionLinenumberEnd: 13045
    functionName: udts_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_align
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udts_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14097,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:14105,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14110,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:14103,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:14099,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14111,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14112,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14113,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14114,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:14115,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14119
      start: 14093
    functionDepth: 0
    functionLinenumber: 14093
    functionLinenumberEnd: 14119
    functionName: xtra_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xtra_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14145
      start: 14142
    functionDepth: 0
    functionLinenumber: 14142
    functionLinenumberEnd: 14145
    functionName: st3d_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void st3d_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2348
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2348
    functionName: maxr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void maxr_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4465,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4469
    functionName: mp4s_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mp4s_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9841
      start: 9838
    functionDepth: 0
    functionLinenumber: 9838
    functionLinenumberEnd: 9841
    functionName: tfdt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tfdt_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13054
      start: 13047
    functionDepth: 0
    functionLinenumber: 13047
    functionLinenumberEnd: 13054
    functionName: udts_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udts_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6429
      start: 6423
    functionDepth: 0
    functionLinenumber: 6423
    functionLinenumberEnd: 6429
    functionName: tkhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tkhd_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12179,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12181
      start: 12176
    functionDepth: 0
    functionLinenumber: 12176
    functionLinenumberEnd: 12181
    functionName: mhac_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mhac_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12513,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12517,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12520
      start: 12508
    functionDepth: 0
    functionLinenumber: 12508
    functionLinenumberEnd: 12520
    functionName: orfo_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err orfo_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14391,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14394
      start: 14388
    functionDepth: 0
    functionLinenumber: 14388
    functionLinenumberEnd: 14394
    functionName: extl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void extl_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:1572,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1574,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1575
    functionName: gnrm_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gnrm_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_datamap_close
      Src: /src/gpac/src/isomedia/box_code_base.c:3759,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3762
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3762
    functionName: minf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_close
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void minf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7510
      start: 7506
    functionDepth: 0
    functionLinenumber: 7506
    functionLinenumberEnd: 7510
    functionName: reftype_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *reftype_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12976,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12980,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12981,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12982,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12983,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13006,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13001,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12997,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/isomedia/box_code_base.c:12992,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12988,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13009,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12975,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12972,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12974,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12973,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12994,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12999,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12984,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12971,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13007,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13014
      start: 12966
    functionDepth: 0
    functionLinenumber: 12966
    functionLinenumberEnd: 13014
    functionName: udts_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_realloc
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_align
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udts_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14515,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14523,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14527,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:14525,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14522,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14530,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14531,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14535,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14540
      start: 14512
    functionDepth: 0
    functionLinenumber: 14512
    functionLinenumberEnd: 14540
    functionName: sref_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_list_count
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sref_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/box_code_base.c:7527,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - ref
    - trackID
    - outRefIndex
    argTypes:
    - GF_TrackReferenceTypeBox*
    - GF_ISOTrackID
    - u16*
    constantsTouched: []
    func_position:
      end: 7533
      start: 7513
    functionDepth: 0
    functionLinenumber: 7513
    functionLinenumberEnd: 7533
    functionName: reftype_AddRefTrack
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reftype_AddRefTrack(GF_TrackReferenceTypeBox *ref, GF_ISOTrackID
      trackID, u16 *outRefIndex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14545,1
    - Dst: MAX
      Src: /src/gpac/src/isomedia/box_code_base.c:14560,1
    - Dst: MAX
      Src: /src/gpac/src/isomedia/box_code_base.c:14556,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:14549,1
    - Dst: MAX
      Src: /src/gpac/src/isomedia/box_code_base.c:14557,1
    - Dst: MAX
      Src: /src/gpac/src/isomedia/box_code_base.c:14561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14568
      start: 14542
    functionDepth: 0
    functionLinenumber: 14542
    functionLinenumberEnd: 14568
    functionName: sref_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - MAX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sref_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2525,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2529
    functionName: tmin_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmin_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3938,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:3942,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3947,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3951,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3956,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3963,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_code_base.c:3969,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:3976,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/box_code_base.c:3979,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:3984,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 3995
      start: 3933
    functionDepth: 0
    functionLinenumber: 3933
    functionLinenumberEnd: 3995
    functionName: moov_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - Track_FindRef
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_del_item
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moov_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1010,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:1007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1013
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1013
    functionName: uuid_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err uuid_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1233,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1238,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1243,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1254,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:1255,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:1256,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1258,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1259,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1260,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1263,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:1265,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1268
    functionName: elst_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elst_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1601,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1606,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1604,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1608
    functionName: gnrm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:4509,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4513,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4511,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4515
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4515
    functionName: video_sample_entry_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void video_sample_entry_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8673
      start: 8669
    functionDepth: 0
    functionLinenumber: 8669
    functionLinenumberEnd: 8673
    functionName: sdtp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sdtp_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:9663,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9672,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9666,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9676
      start: 9657
    functionDepth: 0
    functionLinenumber: 9657
    functionLinenumberEnd: 9676
    functionName: pcrb_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcrb_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2534
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2534
    functionName: tmin_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmin_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1019
    functionName: uuid_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *uuid_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1272,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1275,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:1273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1279
    functionName: elst_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *elst_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1616
    functionName: gnrm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4001
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4001
    functionName: moov_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moov_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4522,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4525,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4528,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4534,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4531,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4537,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4540,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4543,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4546,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4549,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/box_code_base.c:4556,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4570,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4553,1
    - Dst: gf_isom_box_check_unique
      Src: /src/gpac/src/isomedia/box_code_base.c:4582,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4557,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4563,1
    - Dst: ERROR_ON_DUPLICATED_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:4583,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 27
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 4588
      start: 4517
    functionDepth: 0
    functionLinenumber: 4517
    functionLinenumberEnd: 4588
    functionName: video_sample_entry_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_isom_box_check_unique
    - ERROR_ON_DUPLICATED_BOX
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err video_sample_entry_on_child_box(GF_Box *s, GF_Box *a, Bool
      is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bs
    - nbbits
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 7729
      start: 7723
    functionDepth: 0
    functionLinenumber: 7723
    functionLinenumberEnd: 7729
    functionName: ctrn_read_flags
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_read_flags(GF_BitStream *bs, u32 nbbits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8680,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8682
      start: 8676
    functionDepth: 0
    functionLinenumber: 8676
    functionLinenumberEnd: 8682
    functionName: sdtp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sdtp_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9686
      start: 9678
    functionDepth: 0
    functionLinenumber: 9678
    functionLinenumberEnd: 9686
    functionName: pcrb_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcrb_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10016,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10018
      start: 10013
    functionDepth: 0
    functionLinenumber: 10013
    functionLinenumberEnd: 10018
    functionName: sbgp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sbgp_box_del(GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14189,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14191
      start: 14186
    functionDepth: 0
    functionLinenumber: 14186
    functionLinenumberEnd: 14191
    functionName: svhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void svhd_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:324,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:334,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:336,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:326,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/box_code_base.c:329,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:340,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 346
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 346
    functionName: kind_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_realloc
    - gf_strdup
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err kind_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: edts_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void edts_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2131,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2135
    functionName: trpy_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trpy_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:2908,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2910
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2910
    functionName: iods_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iods_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:8489,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:8492,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8499
      start: 8482
    functionDepth: 0
    functionLinenumber: 8482
    functionLinenumberEnd: 8499
    functionName: udta_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_write_header
    - gf_isom_box_array_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11224,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11227,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11230,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11229,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11228,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11234
      start: 11219
    functionDepth: 0
    functionLinenumber: 11219
    functionLinenumberEnd: 11234
    functionName: stvi_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_u32
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stvi_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: kind_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *kind_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:1161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1167
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1167
    functionName: edts_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err edts_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2140
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2140
    functionName: trpy_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trpy_box_size(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2925,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:2922,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2928,1
    - Dst: gf_odf_desc_read
      Src: /src/gpac/src/isomedia/box_code_base.c:2926,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:2936,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2940
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2940
    functionName: iods_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_read
    - gf_malloc
    - GF_LOG
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iods_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:8509,1
    - Dst: gf_isom_box_array_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8516
      start: 8501
    functionDepth: 0
    functionLinenumber: 8501
    functionLinenumberEnd: 8516
    functionName: udta_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_array_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/box_code_base.c:1338,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1340
    functionName: esds_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void esds_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14008,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:14009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14011
      start: 14006
    functionDepth: 0
    functionLinenumber: 14006
    functionLinenumberEnd: 14011
    functionName: xtra_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *xtra_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13967
      start: 13964
    functionDepth: 0
    functionLinenumber: 13964
    functionLinenumberEnd: 13967
    functionName: dmlp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dmlp_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:7434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7435
      start: 7432
    functionDepth: 0
    functionLinenumber: 7432
    functionLinenumberEnd: 7435
    functionName: strk_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err strk_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11145
      start: 11140
    functionDepth: 0
    functionLinenumber: 11140
    functionLinenumberEnd: 11145
    functionName: trgt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trgt_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12882
      start: 12878
    functionDepth: 0
    functionLinenumber: 12878
    functionLinenumberEnd: 12882
    functionName: ddts_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ddts_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13340
      start: 13337
    functionDepth: 0
    functionLinenumber: 13337
    functionLinenumberEnd: 13340
    functionName: chnl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void chnl_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14216,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:14219,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:14220,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:14219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14222
      start: 14211
    functionDepth: 0
    functionLinenumber: 14211
    functionLinenumberEnd: 14222
    functionName: svhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7440
      start: 7437
    functionDepth: 0
    functionLinenumber: 7437
    functionLinenumberEnd: 7440
    functionName: strk_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err strk_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11150,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11153
      start: 11147
    functionDepth: 0
    functionLinenumber: 11147
    functionLinenumberEnd: 11153
    functionName: trgt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12888
      start: 12884
    functionDepth: 0
    functionLinenumber: 12884
    functionLinenumberEnd: 12888
    functionName: ddts_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ddts_box_del(GF_Box *s) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13350,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13353,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13357,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13365,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13374,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13370,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13356,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13364,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13387,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13392,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13398,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13405,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13346,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13352,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13351,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13348,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13371,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13394,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13395,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13397,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13404,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13376,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13393,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13388,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13375,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13408
      start: 13342
    functionDepth: 0
    functionLinenumber: 13342
    functionLinenumberEnd: 13408
    functionName: chnl_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_int
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chnl_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:14228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14231
      start: 14224
    functionDepth: 0
    functionLinenumber: 14224
    functionLinenumberEnd: 14231
    functionName: svhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svhd_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 930
    functionName: def_parent_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void def_parent_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7341,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7344,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7342,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:7345,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7343,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7351
      start: 7337
    functionDepth: 0
    functionLinenumber: 7337
    functionLinenumberEnd: 7351
    functionName: stsg_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - GF_SAFE_ALLOC_N
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsg_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3308,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3311,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3310,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3309,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/box_code_base.c:3312,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3313,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3314,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3316
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3316
    functionName: mdia_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mdia_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2984,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2986
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2986
    functionName: mdat_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mdat_box_del(GF_Box *s) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:835,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:843,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:853,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:851,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:849,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:852,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:847,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:850,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:848,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:858,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:832,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:828,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:845,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_code_base.c:866,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:827,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:860,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:827,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:838,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:844,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:856,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:857,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:862,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 871
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 871
    functionName: unkn_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_del
    - isalnum
    - gf_isom_box_array_read
    - gf_bs_set_cookie
    - gf_bs_read_data
    - GF_LOG
    - gf_bs_new
    - gf_bs_seek
    - gf_4cc_to_str
    - gf_bs_skip_bytes
    - gf_isom_box_array_del
    - gf_bs_get_cookie
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err unkn_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:6408,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6412
      start: 6403
    functionDepth: 0
    functionLinenumber: 6403
    functionLinenumberEnd: 6412
    functionName: tims_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tims_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:8860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 8864
      start: 8854
    functionDepth: 0
    functionLinenumber: 8854
    functionLinenumberEnd: 8864
    functionName: metx_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err metx_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:9798,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9810,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:9823,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9817,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_code_base.c:9788,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_code_base.c:9789,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9795,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:9821,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9818,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9785,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:9799,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9813,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:9808,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9805,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:9789,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9800,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9801,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9816,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9827
      start: 9779
    functionDepth: 0
    functionLinenumber: 9779
    functionLinenumberEnd: 9827
    functionName: subs_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - memset
    - gf_bs_read_u8
    - GF_LOG
    - gf_bs_available
    - ISOM_DECREASE_SIZE
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err subs_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11923,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11927,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11932
      start: 11917
    functionDepth: 0
    functionLinenumber: 11917
    functionLinenumberEnd: 11932
    functionName: extr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12300
      start: 12296
    functionDepth: 0
    functionLinenumber: 12296
    functionLinenumberEnd: 12300
    functionName: jp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *jp_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3324,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3332,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 3336
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3336
    functionName: mdia_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdia_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: unkn_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *unkn_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2996,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:3007,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3001,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2997,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:3005,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:3013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3015
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 3015
    functionName: mdat_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_skip_bytes
    - gf_bs_get_position
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdat_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6418
      start: 6414
    functionDepth: 0
    functionLinenumber: 6414
    functionLinenumberEnd: 6418
    functionName: tims_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tims_box_size(GF_Box *s) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8911,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:8944,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8950,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8927,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:8878,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:8888,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:8897,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8898,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8905,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8929,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8952,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8958,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8945,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8961,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:8873,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:8883,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_base.c:8903,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8921,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:8920,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:8962,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8963
      start: 8866
    functionDepth: 0
    functionLinenumber: 8866
    functionLinenumberEnd: 8963
    functionName: metx_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u8
    - gf_isom_box_array_read
    - gf_strdup
    - gf_isom_base_sample_entry_read
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err metx_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/box_code_base.c:11939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11944
      start: 11934
    functionDepth: 0
    functionLinenumber: 11934
    functionLinenumberEnd: 11944
    functionName: extr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9620
      start: 9616
    functionDepth: 0
    functionLinenumber: 9616
    functionLinenumberEnd: 9620
    functionName: pcrb_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pcrb_box_new() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:10949,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10953,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10964,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10954,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10958,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:10966,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:10974,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10977,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10980,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:10984,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:10987,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10992
      start: 10944
    functionDepth: 0
    functionLinenumber: 10944
    functionLinenumberEnd: 10992
    functionName: saio_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_get_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saio_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:311,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:312,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: kind_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void kind_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1730,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1732
    functionName: hdlr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hdlr_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7449
      start: 7444
    functionDepth: 0
    functionLinenumber: 7444
    functionLinenumberEnd: 7449
    functionName: tref_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tref_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:7468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7469
      start: 7465
    functionDepth: 0
    functionLinenumber: 7465
    functionLinenumberEnd: 7469
    functionName: tref_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tref_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/box_code_base.c:8451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 8452
      start: 8449
    functionDepth: 0
    functionLinenumber: 8449
    functionLinenumberEnd: 8452
    functionName: udta_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - udta_on_child_box_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:9161,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9171,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9170,1
    - Dst: gf_odf_ac3_cfg_write_bs
      Src: /src/gpac/src/isomedia/box_code_base.c:9165,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9174
      start: 9155
    functionDepth: 0
    functionLinenumber: 9155
    functionLinenumberEnd: 9174
    functionName: dac3_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_ac3_cfg_write_bs
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dac3_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11333,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11339,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:11336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 11343
      start: 11328
    functionDepth: 0
    functionLinenumber: 11328
    functionLinenumberEnd: 11343
    functionName: paen_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err paen_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7455
      start: 7452
    functionDepth: 0
    functionLinenumber: 7452
    functionLinenumberEnd: 7455
    functionName: tref_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tref_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7474
      start: 7471
    functionDepth: 0
    functionLinenumber: 7471
    functionLinenumberEnd: 7474
    functionName: tref_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tref_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:8456,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:8462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8466
      start: 8454
    functionDepth: 0
    functionLinenumber: 8454
    functionLinenumberEnd: 8466
    functionName: udta_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - gf_bs_read_u32
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err udta_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9195
      start: 9176
    functionDepth: 0
    functionLinenumber: 9176
    functionLinenumberEnd: 9195
    functionName: dac3_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dac3_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:11347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11348
      start: 11345
    functionDepth: 0
    functionLinenumber: 11345
    functionLinenumberEnd: 11348
    functionName: paen_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err paen_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2020,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2024,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2026
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2026
    functionName: sdp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5621,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5623
      start: 5617
    functionDepth: 0
    functionLinenumber: 5617
    functionLinenumberEnd: 5623
    functionName: stsc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stsc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7427
      start: 7423
    functionDepth: 0
    functionLinenumber: 7423
    functionLinenumberEnd: 7427
    functionName: strk_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *strk_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7461
      start: 7457
    functionDepth: 0
    functionLinenumber: 7457
    functionLinenumberEnd: 7461
    functionName: tref_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tref_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7482,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7484
      start: 7478
    functionDepth: 0
    functionLinenumber: 7478
    functionLinenumberEnd: 7484
    functionName: reftype_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void reftype_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8325,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8328
      start: 8322
    functionDepth: 0
    functionLinenumber: 8322
    functionLinenumberEnd: 8328
    functionName: tsro_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsro_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:9134,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9142,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9138,1
    - Dst: gf_odf_ac3_config_parse_bs
      Src: /src/gpac/src/isomedia/box_code_base.c:9135,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:9137,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9143,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9144,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:9147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9150
      start: 9128
    functionDepth: 0
    functionLinenumber: 9128
    functionLinenumberEnd: 9150
    functionName: dac3_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_odf_ac3_config_parse_bs
    - ISOM_DECREASE_SIZE
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dac3_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 11106
      start: 11100
    functionDepth: 0
    functionLinenumber: 11100
    functionLinenumberEnd: 11106
    functionName: trgr_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgr_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2034
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2034
    functionName: sdp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdp_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:7497,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7504
      start: 7487
    functionDepth: 0
    functionLinenumber: 7487
    functionLinenumberEnd: 7504
    functionName: reftype_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reftype_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ctrn_box_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8307
      start: 8273
    functionDepth: 0
    functionLinenumber: 8273
    functionLinenumberEnd: 8307
    functionName: trun_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ctrn_box_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trun_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8334
      start: 8330
    functionDepth: 0
    functionLinenumber: 8330
    functionLinenumberEnd: 8334
    functionName: tsro_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tsro_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:11111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11112
      start: 11109
    functionDepth: 0
    functionLinenumber: 11109
    functionLinenumberEnd: 11112
    functionName: trgr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trgr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ia_cfg_size
      Src: /src/gpac/src/isomedia/box_code_base.c:12828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12830
      start: 12821
    functionDepth: 0
    functionLinenumber: 12821
    functionLinenumberEnd: 12830
    functionName: iacb_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_ia_cfg_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iacb_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14151,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:14152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14154
      start: 14148
    functionDepth: 0
    functionLinenumber: 14148
    functionLinenumberEnd: 14154
    functionName: st3d_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err st3d_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14586,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14589
      start: 14583
    functionDepth: 0
    functionLinenumber: 14583
    functionLinenumberEnd: 14589
    functionName: srat_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srat_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9849,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9853,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9852,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9856
      start: 9844
    functionDepth: 0
    functionLinenumber: 9844
    functionLinenumberEnd: 9856
    functionName: tfdt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfdt_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12715
      start: 12711
    functionDepth: 0
    functionLinenumber: 12711
    functionLinenumberEnd: 12715
    functionName: dOps_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dOps_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13295
      start: 13292
    functionDepth: 0
    functionLinenumber: 13292
    functionLinenumberEnd: 13295
    functionName: pcmC_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pcmC_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2871
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2871
    functionName: rssr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rssr_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5682,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5687,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5686,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5684,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5691
      start: 5676
    functionDepth: 0
    functionLinenumber: 5676
    functionLinenumberEnd: 5691
    functionName: stsc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - bs
    - flags
    - field_size
    argTypes:
    - GF_BitStream*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7964
      start: 7957
    functionDepth: 0
    functionLinenumber: 7957
    functionLinenumberEnd: 7964
    functionName: ctrn_write_sample_flags
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void ctrn_write_sample_flags(GF_BitStream *bs, u32 flags, u32
      field_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8470,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8473,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:8471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8477
      start: 8468
    functionDepth: 0
    functionLinenumber: 8468
    functionLinenumberEnd: 8477
    functionName: udta_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *udta_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8610
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8610
    functionName: pdin_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pdin_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9205,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9207
      start: 9201
    functionDepth: 0
    functionLinenumber: 9201
    functionLinenumberEnd: 9207
    functionName: lsrc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void lsrc_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11378,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11379,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11381
      start: 11374
    functionDepth: 0
    functionLinenumber: 11374
    functionLinenumberEnd: 11381
    functionName: fpar_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void fpar_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11463,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11468,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11467,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11469,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11466,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11470,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11471,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11472,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11473,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11475,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:11475,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11480,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11483,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11484,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11487
      start: 11457
    functionDepth: 0
    functionLinenumber: 11457
    functionLinenumberEnd: 11487
    functionName: fpar_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fpar_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2875,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2878
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2878
    functionName: rssr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rssr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5699
      start: 5693
    functionDepth: 0
    functionLinenumber: 5693
    functionLinenumberEnd: 5699
    functionName: stsc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsc_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7972,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:7974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctrn
    - bs
    - ctso
    - field_size
    argTypes:
    - GF_TrackFragmentRunBox*
    - GF_BitStream*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7976
      start: 7967
    functionDepth: 0
    functionLinenumber: 7967
    functionLinenumberEnd: 7976
    functionName: ctrn_write_ctso
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void ctrn_write_ctso(GF_TrackFragmentRunBox *ctrn, GF_BitStream
      *bs, u32 ctso, u32 field_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8617,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8618,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8620
      start: 8613
    functionDepth: 0
    functionLinenumber: 8613
    functionLinenumberEnd: 8620
    functionName: pdin_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pdin_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9214,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9218
      start: 9210
    functionDepth: 0
    functionLinenumber: 9210
    functionLinenumberEnd: 9218
    functionName: lsrc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsrc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:11388,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11397,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/box_code_base.c:11403,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_code_base.c:11405,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:11406,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:11411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - s
    - bs
    - size
    - out_str
    argTypes:
    - GF_Box*
    - GF_BitStream*
    - u64
    - char**
    constantsTouched: []
    func_position:
      end: 11417
      start: 11383
    functionDepth: 0
    functionLinenumber: 11383
    functionLinenumberEnd: 11417
    functionName: gf_isom_read_null_terminated_string
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u8
    - gf_realloc
    - GF_LOG
    - gf_bs_available
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_read_null_terminated_string(GF_Box *s, GF_BitStream
      *bs, u64 size, char **out_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12046
      start: 12042
    functionDepth: 0
    functionLinenumber: 12042
    functionLinenumberEnd: 12046
    functionName: trik_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trik_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12148
      start: 12144
    functionDepth: 0
    functionLinenumber: 12144
    functionLinenumberEnd: 12148
    functionName: ainf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ainf_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12526
      start: 12522
    functionDepth: 0
    functionLinenumber: 12522
    functionLinenumberEnd: 12526
    functionName: orfo_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err orfo_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:361,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:366,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:364,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:364,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:369,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: kind_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err kind_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:459,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:465,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:469,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:463,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: ctts_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctts_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2353,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2355,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2357
    functionName: maxr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err maxr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2549,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2552
    functionName: tmax_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmax_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3904
      start: 3901
    functionDepth: 0
    functionLinenumber: 3901
    functionLinenumberEnd: 3904
    functionName: moof_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moof_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4903,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4911,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4913,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4931,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4906,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4904,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4908,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4909,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4910,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:4915,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4921,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4919,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4916,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4923,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4925,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4929,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:4900,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:4914,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4905,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4922,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4920,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4917,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4918,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4924,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4926,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4927,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4928,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4933
      start: 4896
    functionDepth: 0
    functionLinenumber: 4896
    functionLinenumberEnd: 4933
    functionName: mvhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4994,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4996
      start: 4990
    functionDepth: 0
    functionLinenumber: 4990
    functionLinenumberEnd: 4996
    functionName: padb_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void padb_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9441,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9453,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9442,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9454,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:9448,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9458,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9461,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9462,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:9463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9467
      start: 9436
    functionDepth: 0
    functionLinenumber: 9436
    functionLinenumberEnd: 9467
    functionName: ssix_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - GF_SAFE_ALLOC_N
    - gf_bs_read_u24
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ssix_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:378,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: kind_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err kind_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: ctts_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctts_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2362
    functionName: maxr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *maxr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2557
    functionName: tmax_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tmax_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3912,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:3914,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:3916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3918
      start: 3906
    functionDepth: 0
    functionLinenumber: 3906
    functionLinenumberEnd: 3918
    functionName: moof_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moof_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4948
      start: 4935
    functionDepth: 0
    functionLinenumber: 4935
    functionLinenumberEnd: 4948
    functionName: mvhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvhd_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5004,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5009,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5005,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5013,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5015,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5017,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5019,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5023
      start: 4999
    functionDepth: 0
    functionLinenumber: 4999
    functionLinenumberEnd: 5023
    functionName: padb_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err padb_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9473
      start: 9469
    functionDepth: 0
    functionLinenumber: 9469
    functionLinenumberEnd: 9473
    functionName: ssix_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ssix_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:11495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11499
      start: 11489
    functionDepth: 0
    functionLinenumber: 11489
    functionLinenumberEnd: 11499
    functionName: fpar_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fpar_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14425
      start: 14421
    functionDepth: 0
    functionLinenumber: 14421
    functionLinenumberEnd: 14425
    functionName: extl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *extl_box_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10710,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10718,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10714,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10715,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10711,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10719,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10721,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10731,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10732,1
    - Dst: sgpd_parse_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10737,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10742,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:10740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10746
      start: 10705
    functionDepth: 0
    functionLinenumber: 10705
    functionLinenumberEnd: 10746
    functionName: sgpd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - sgpd_parse_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sgpd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:639,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:632,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:642,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 651
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 651
    functionName: url_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err url_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2432,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2435
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2435
    functionName: dimm_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimm_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9576,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9582,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9579,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9584,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9581,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9587,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9588,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9595
      start: 9570
    functionDepth: 0
    functionLinenumber: 9570
    functionLinenumberEnd: 9595
    functionName: leva_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err leva_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_code_base.c:11903,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:11907,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11912
      start: 11898
    functionDepth: 0
    functionLinenumber: 11898
    functionLinenumberEnd: 11912
    functionName: extr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_isom_box_parse_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13707
    functionDepth: 0
    functionLinenumber: 13707
    functionLinenumberEnd: 13711
    functionName: emeb_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *emeb_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: url_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *url_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2440
    functionName: dimm_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dimm_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9613
      start: 9597
    functionDepth: 0
    functionLinenumber: 9597
    functionLinenumberEnd: 9613
    functionName: leva_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err leva_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13716
      start: 13713
    functionDepth: 0
    functionLinenumber: 13713
    functionLinenumberEnd: 13716
    functionName: emeb_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void emeb_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5490,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5492
      start: 5486
    functionDepth: 0
    functionLinenumber: 5486
    functionLinenumberEnd: 5492
    functionName: stco_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stco_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9324,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9326
      start: 9320
    functionDepth: 0
    functionLinenumber: 9320
    functionLinenumberEnd: 9326
    functionName: sidx_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sidx_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13721
      start: 13718
    functionDepth: 0
    functionLinenumber: 13718
    functionLinenumberEnd: 13721
    functionName: emeb_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emeb_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4228,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:4236,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4252,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4261,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:4245,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_code_base.c:4301,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4305,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4309,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:4298,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:4229,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:4244,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:4257,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:4247,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:4292,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/box_code_base.c:4308,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:4312,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:4313,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4315,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/box_code_base.c:4296,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:4238,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:4237,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:4239,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:4240,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:4243,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4264,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:4286,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/box_code_base.c:4285,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/box_code_base.c:4291,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:4293,1
    - Dst: isalnum
      Src: /src/gpac/src/isomedia/box_code_base.c:4242,1
    - Dst: gf_isom_audio_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4250,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:4289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:4299,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4322,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 97
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4324
      start: 4217
    functionDepth: 0
    functionLinenumber: 4217
    functionLinenumberEnd: 4324
    functionName: audio_sample_entry_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_seek
    - gf_bs_peek_bits
    - gf_isom_audio_sample_entry_read
    - gf_bs_skip_bytes
    - gf_bs_del
    - GF_4CC
    - gf_list_count
    - gf_bs_read_data
    - gf_list_del_item
    - gf_list_new
    - gf_bs_get_cookie
    - gf_list_get
    - gf_bs_read_u8
    - isalnum
    - gf_bs_get_position
    - gf_isom_box_parse
    - gf_bs_new
    - gf_free
    - gf_isom_box_array_read
    - gf_bs_set_cookie
    - gf_isom_box_del
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err audio_sample_entry_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:5444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5445
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5445
    functionName: stbl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6700
    functionDepth: 0
    functionLinenumber: 6700
    functionLinenumberEnd: 6706
    functionName: tfxd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tfxd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7391
      start: 7388
    functionDepth: 0
    functionLinenumber: 7388
    functionLinenumberEnd: 7391
    functionName: strk_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void strk_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:7607,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7613,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7612,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7614,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7610,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7617
      start: 7602
    functionDepth: 0
    functionLinenumber: 7602
    functionLinenumberEnd: 7617
    functionName: trex_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trex_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8572
      start: 8569
    functionDepth: 0
    functionLinenumber: 8569
    functionLinenumberEnd: 8572
    functionName: void_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void void_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9112
      start: 9108
    functionDepth: 0
    functionLinenumber: 9108
    functionLinenumberEnd: 9112
    functionName: dac3_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dac3_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11026
      start: 11023
    functionDepth: 0
    functionLinenumber: 11023
    functionLinenumberEnd: 11026
    functionName: prft_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void prft_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4328,1
    - Dst: gf_isom_audio_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4331
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4331
    functionName: audio_sample_entry_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *audio_sample_entry_box_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5452,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5455,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5454,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5456,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5453,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5457,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5458,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5459,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5460,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5461,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:5466,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:5478,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:5475,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5463,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:5462,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:5472,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:5469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5481
      start: 5447
    functionDepth: 0
    functionLinenumber: 5447
    functionLinenumberEnd: 5481
    functionName: stbl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7624
      start: 7619
    functionDepth: 0
    functionLinenumber: 7619
    functionLinenumberEnd: 7624
    functionName: trex_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trex_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8579
      start: 8575
    functionDepth: 0
    functionLinenumber: 8575
    functionLinenumberEnd: 8579
    functionName: void_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err void_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11032,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11036,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11037,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11033,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:11034,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11039,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:11040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11043
      start: 11028
    functionDepth: 0
    functionLinenumber: 11028
    functionLinenumberEnd: 11043
    functionName: prft_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prft_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:14126,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:14127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14130
      start: 14121
    functionDepth: 0
    functionLinenumber: 14121
    functionLinenumberEnd: 14130
    functionName: xtra_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err xtra_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6770
      start: 6765
    functionDepth: 0
    functionLinenumber: 6765
    functionLinenumberEnd: 6770
    functionName: tfrf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tfrf_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12379,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:12380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12382
      start: 12377
    functionDepth: 0
    functionLinenumber: 12377
    functionLinenumberEnd: 12382
    functionName: jp2p_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *jp2p_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2807
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2807
    functionName: srpp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void srpp_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12242,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12244
      start: 12239
    functionDepth: 0
    functionLinenumber: 12239
    functionLinenumberEnd: 12244
    functionName: mhap_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mhap_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:12416,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12418,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12423,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:12422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12426
      start: 12412
    functionDepth: 0
    functionLinenumber: 12412
    functionLinenumberEnd: 12426
    functionName: jp2p_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2p_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/isomedia/box_code_base.c:12802,1
    - Dst: gf_odf_ia_cfg_read_bs_size
      Src: /src/gpac/src/isomedia/box_code_base.c:12803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12805
      start: 12799
    functionDepth: 0
    functionLinenumber: 12799
    functionLinenumberEnd: 12805
    functionName: iacb_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_ia_cfg_read_bs_size
    - gf_odf_ia_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iacb_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14266,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14269,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14270,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14272
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14272
    functionName: prhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:14434,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14436,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14437,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14438,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/isomedia/box_code_base.c:14440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14442
      start: 14429
    functionDepth: 0
    functionLinenumber: 14429
    functionLinenumberEnd: 14442
    functionName: extl_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_utf8
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extl_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:11355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11356
      start: 11352
    functionDepth: 0
    functionLinenumber: 11352
    functionLinenumberEnd: 11356
    functionName: paen_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err paen_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: co64_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *co64_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2390
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2390
    functionName: dmed_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dmed_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:12431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12434
      start: 12428
    functionDepth: 0
    functionLinenumber: 12428
    functionLinenumberEnd: 12434
    functionName: jp2p_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp2p_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14278
      start: 14274
    functionDepth: 0
    functionLinenumber: 14274
    functionLinenumberEnd: 14278
    functionName: prhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err prhd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:14449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14452
      start: 14444
    functionDepth: 0
    functionLinenumber: 14444
    functionLinenumberEnd: 14452
    functionName: extl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err extl_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:2958,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/src/isomedia/box_code_base.c:2961,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2963,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2967
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2967
    functionName: iods_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_write
    - gf_bs_write_data
    - gf_isom_full_box_write
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iods_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:779,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:785,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:785,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:788,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 792
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 792
    functionName: urn_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err urn_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4487,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:4490,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:4489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4492
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4492
    functionName: mp4s_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4s_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:7307,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7314,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7310,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7312,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7317
      start: 7302
    functionDepth: 0
    functionLinenumber: 7302
    functionLinenumberEnd: 7317
    functionName: stri_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stri_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:12029,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12032,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12036,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12040
      start: 12023
    functionDepth: 0
    functionLinenumber: 12023
    functionLinenumberEnd: 12040
    functionName: trik_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trik_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11425,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11428,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11426,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11427,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:11429,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11430,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11431,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11432,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11433,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:11435,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11438,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11443,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11448,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11449,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11439,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11452
      start: 11419
    functionDepth: 0
    functionLinenumber: 11419
    functionLinenumberEnd: 11452
    functionName: fpar_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - GF_SAFE_ALLOC_N
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fpar_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:12056,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12061,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12064
      start: 12050
    functionDepth: 0
    functionLinenumber: 12050
    functionLinenumberEnd: 12064
    functionName: trik_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trik_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:12387,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12390,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:12392,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:12389,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12394
      start: 12384
    functionDepth: 0
    functionLinenumber: 12384
    functionLinenumberEnd: 12394
    functionName: jp2p_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void jp2p_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_size
      Src: /src/gpac/src/isomedia/box_code_base.c:2973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2975
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2975
    functionName: iods_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iods_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:799,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 803
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 803
    functionName: urn_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err urn_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4501
      start: 4494
    functionDepth: 0
    functionLinenumber: 4494
    functionLinenumberEnd: 4501
    functionName: mp4s_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4s_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7325
      start: 7319
    functionDepth: 0
    functionLinenumber: 7319
    functionLinenumberEnd: 7325
    functionName: stri_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stri_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12071
      start: 12066
    functionDepth: 0
    functionLinenumber: 12066
    functionLinenumberEnd: 12071
    functionName: trik_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trik_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/isomedia/box_code_base.c:12795,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12797
      start: 12792
    functionDepth: 0
    functionLinenumber: 12792
    functionLinenumberEnd: 12797
    functionName: iacb_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_odf_ia_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void iacb_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11372
      start: 11368
    functionDepth: 0
    functionLinenumber: 11368
    functionLinenumberEnd: 11372
    functionName: fpar_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fpar_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11188
      start: 11184
    functionDepth: 0
    functionLinenumber: 11184
    functionLinenumberEnd: 11188
    functionName: stvi_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stvi_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:283,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:281,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:285,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:284,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:287,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:290,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: cprt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cprt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1997,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:2002,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2008
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2008
    functionName: sdp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3375
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3375
    functionName: mdia_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdia_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4891
      start: 4877
    functionDepth: 0
    functionLinenumber: 4877
    functionLinenumberEnd: 4891
    functionName: mvhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mvhd_box_new() '
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:6910,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6915,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6909,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:6916,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:6921,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:6933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7074,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:7069,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7083,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7104,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7119,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7106,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:6943,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:6943,1
    - Dst: gf_box_valid_in_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:7066,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:7083,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:7079,1
    - Dst: gf_isom_video_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7097,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7117,1
    - Dst: stsd_switch_box
      Src: /src/gpac/src/isomedia/box_code_base.c:7122,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6905,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6943,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7079,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7094,1
    - Dst: stsd_switch_box
      Src: /src/gpac/src/isomedia/box_code_base.c:7099,1
    - Dst: stsd_switch_box
      Src: /src/gpac/src/isomedia/box_code_base.c:7109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7069,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:7074,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7095,1
    - Dst: gf_isom_audio_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7107,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7115,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 90
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 7128
      start: 6896
    functionDepth: 0
    functionLinenumber: 6896
    functionLinenumberEnd: 7128
    functionName: gf_isom_check_sample_desc
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_isom_audio_sample_entry_read
    - gf_isom_box_new_parent
    - gf_list_enum
    - gf_box_valid_in_parent
    - stsd_switch_box
    - GF_LOG
    - gf_bs_new
    - gf_isom_base_sample_entry_read
    - gf_isom_video_sample_entry_read
    - gf_4cc_to_str
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_check_sample_desc(GF_TrackBox *trak) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12490
      start: 12486
    functionDepth: 0
    functionLinenumber: 12486
    functionLinenumberEnd: 12490
    functionName: orfo_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *orfo_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12500,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12501,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12504
      start: 12497
    functionDepth: 0
    functionLinenumber: 12497
    functionLinenumberEnd: 12504
    functionName: orfo_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err orfo_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13062,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13064
      start: 13059
    functionDepth: 0
    functionLinenumber: 13059
    functionLinenumberEnd: 13064
    functionName: mvcg_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mvcg_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: cprt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cprt_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2013
    functionName: sdp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sdp_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3382,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3390,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3384,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:3388,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3396
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3396
    functionName: mdia_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_find_child
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdia_box_size(GF_Box *s) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7137,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7140,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7149,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7143,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7146,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7152,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7155,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7160,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7170,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7163,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:7166,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 7175
      start: 7131
    functionDepth: 0
    functionLinenumber: 7131
    functionLinenumberEnd: 7175
    functionName: trak_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trak_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12495
      start: 12492
    functionDepth: 0
    functionLinenumber: 12492
    functionLinenumberEnd: 12495
    functionName: orfo_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void orfo_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13074,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:13075,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13081,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13091,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13096,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13090,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13098,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:13102,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13095,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13072,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13073,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13071,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13082,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13097,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13085,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13087,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13070,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13077,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13078,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13086,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13103
      start: 13066
    functionDepth: 0
    functionLinenumber: 13066
    functionLinenumberEnd: 13103
    functionName: mvcg_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - memset
    - gf_isom_box_array_read
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvcg_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13810,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13821,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13824,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13841,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13822,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13833,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13845,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13860,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13881,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13829,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13850,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13825,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13856,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13803,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13811,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:13805,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13812,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13819,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13840,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:13835,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13868,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/isomedia/box_code_base.c:13887,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 114
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13889
      start: 13796
    functionDepth: 0
    functionLinenumber: 13796
    functionLinenumberEnd: 13889
    functionName: csgp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - memset
    - gf_bs_read_u24
    - get_size_by_code
    - GF_LOG
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err csgp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14576
      start: 14572
    functionDepth: 0
    functionLinenumber: 14572
    functionLinenumberEnd: 14576
    functionName: srat_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *srat_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14140
      start: 14136
    functionDepth: 0
    functionLinenumber: 14136
    functionLinenumberEnd: 14140
    functionName: st3d_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *st3d_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2191
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2191
    functionName: nump_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void nump_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8634,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:8631,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:8629,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8638
      start: 8623
    functionDepth: 0
    functionLinenumber: 8623
    functionLinenumberEnd: 8638
    functionName: pdin_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pdin_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1473,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:1485,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1476,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1491
    functionName: free_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err free_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2790,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:2793,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:2792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2795
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2795
    functionName: tssy_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tssy_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9380,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9387,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9384,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9383,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9386,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9389,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:9390,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9392,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9395,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9396,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9397,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9399,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9400,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:9398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9403
      start: 9374
    functionDepth: 0
    functionLinenumber: 9374
    functionLinenumberEnd: 9403
    functionName: sidx_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sidx_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12442
      start: 12438
    functionDepth: 0
    functionLinenumber: 12438
    functionLinenumberEnd: 12442
    functionName: jsub_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *jsub_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1498
    functionName: free_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err free_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2623
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2623
    functionName: dmax_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dmax_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2800
    functionName: tssy_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tssy_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9417
      start: 9405
    functionDepth: 0
    functionLinenumber: 9405
    functionLinenumberEnd: 9417
    functionName: sidx_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sidx_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12447
      start: 12444
    functionDepth: 0
    functionLinenumber: 12444
    functionLinenumberEnd: 12447
    functionName: jsub_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void jsub_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:11506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11508
      start: 11504
    functionDepth: 0
    functionLinenumber: 11504
    functionLinenumberEnd: 11508
    functionName: fecr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *fecr_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:498,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:501,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:500,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:499,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:502,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:503,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:506,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:507,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:508,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:509,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 515
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 515
    functionName: cslg_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cslg_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8526
      start: 8521
    functionDepth: 0
    functionLinenumber: 8521
    functionLinenumberEnd: 8526
    functionName: vmhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vmhd_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:9986,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9991,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9994
      start: 9981
    functionDepth: 0
    functionLinenumber: 9981
    functionLinenumberEnd: 9994
    functionName: rvcc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rvcc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: cslg_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *cslg_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8533,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:8534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8536
      start: 8529
    functionDepth: 0
    functionLinenumber: 8529
    functionLinenumberEnd: 8536
    functionName: vmhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vmhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10002
      start: 9996
    functionDepth: 0
    functionLinenumber: 9996
    functionLinenumberEnd: 10002
    functionName: rvcc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rvcc_box_size(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13118,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13123,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13122,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13127,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13124,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13130,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13133,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13134,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13137,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13138,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13142,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13148
      start: 13113
    functionDepth: 0
    functionLinenumber: 13113
    functionLinenumberEnd: 13148
    functionName: mvcg_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvcg_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9970,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9971,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9973,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9977
      start: 9967
    functionDepth: 0
    functionLinenumber: 9967
    functionLinenumberEnd: 9977
    functionName: rvcc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rvcc_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5708
      start: 5703
    functionDepth: 0
    functionLinenumber: 5703
    functionLinenumberEnd: 5708
    functionName: stsd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stsd_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13311
      start: 13307
    functionDepth: 0
    functionLinenumber: 13307
    functionLinenumberEnd: 13311
    functionName: pcmC_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *pcmC_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13173
      start: 13150
    functionDepth: 0
    functionLinenumber: 13150
    functionLinenumberEnd: 13173
    functionName: mvcg_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvcg_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1652,1
    - Dst: gf_isom_video_sample_entry_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1656,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1659
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1659
    functionName: gnrv_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_video_sample_entry_write
    - gf_isom_box_write_header
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrv_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2485,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2489
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2489
    functionName: drep_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err drep_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:2814,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:2817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 2821
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2821
    functionName: srpp_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srpp_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2946
    functionName: iods_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *iods_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4473,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4477
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4477
    functionName: encs_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *encs_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5161
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5161
    functionName: smhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void smhd_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10686,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:10689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10684
    functionDepth: 0
    functionLinenumber: 10684
    functionLinenumberEnd: 10691
    functionName: sgpd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sgpd_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11194,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11196
      start: 11190
    functionDepth: 0
    functionLinenumber: 11190
    functionLinenumberEnd: 11196
    functionName: stvi_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stvi_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_video_sample_entry_size
      Src: /src/gpac/src/isomedia/box_code_base.c:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1668
    functionName: gnrv_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_video_sample_entry_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gnrv_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2494
    functionName: drep_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err drep_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2827,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2828,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2830,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2831,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2829,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:2832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2833
    functionName: srpp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err srpp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5167,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5169,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5171
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5171
    functionName: smhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err smhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:10696,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:10701,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/box_code_base.c:10697,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/isomedia/box_code_base.c:10699,1
    - Dst: sgpd_del_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10698,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10703
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10703
    functionName: sgpd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - sgpd_del_entry
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sgpd_box_del(GF_Box *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11202,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11205,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11206,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11204,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11203,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11207,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:11209,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:11212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11214
      start: 11198
    functionDepth: 0
    functionLinenumber: 11198
    functionLinenumberEnd: 11214
    functionName: stvi_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stvi_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13697,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13703
      start: 13692
    functionDepth: 0
    functionLinenumber: 13692
    functionLinenumberEnd: 13703
    functionName: emib_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emib_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5119
      start: 5115
    functionDepth: 0
    functionLinenumber: 5115
    functionLinenumberEnd: 5119
    functionName: rtpo_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rtpo_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5500,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5508,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5513,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5503,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5517
      start: 5495
    functionDepth: 0
    functionLinenumber: 5495
    functionLinenumberEnd: 5517
    functionName: stco_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stco_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5837,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:5841,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:5839,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5839,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5842,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5846
      start: 5830
    functionDepth: 0
    functionLinenumber: 5830
    functionLinenumberEnd: 5846
    functionName: stsh_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_enum
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsh_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12320,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12324
      start: 12317
    functionDepth: 0
    functionLinenumber: 12317
    functionLinenumberEnd: 12324
    functionName: jp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12533
      start: 12530
    functionDepth: 0
    functionLinenumber: 12530
    functionLinenumberEnd: 12533
    functionName: ihdr_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ihdr_box_del(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13638,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13641,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13642,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13639,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13640,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13644,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:13646,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:13651,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13655,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13657,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13661
      start: 13633
    functionDepth: 0
    functionLinenumber: 13633
    functionLinenumberEnd: 13661
    functionName: emib_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_isom_read_null_terminated_string
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emib_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13897,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13899,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:13901,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13898,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13904,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13905,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13906,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13909,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13911,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13914,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13915,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13927,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/isomedia/box_code_base.c:13931,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13924,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13925,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13933
      start: 13892
    functionDepth: 0
    functionLinenumber: 13892
    functionLinenumberEnd: 13933
    functionName: csgp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - get_size_by_code
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_align
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err csgp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14291
      start: 14288
    functionDepth: 0
    functionLinenumber: 14288
    functionLinenumberEnd: 14291
    functionName: proj_type_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void proj_type_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5124,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5127
      start: 5121
    functionDepth: 0
    functionLinenumber: 5121
    functionLinenumberEnd: 5127
    functionName: rtpo_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpo_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5519
    functionDepth: 0
    functionLinenumber: 5519
    functionLinenumberEnd: 5523
    functionName: stco_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stco_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:5851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5853
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5853
    functionName: stsh_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsh_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12330
      start: 12326
    functionDepth: 0
    functionLinenumber: 12326
    functionLinenumberEnd: 12330
    functionName: jp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12539,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12541,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12543,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12542,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12544,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12545,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12546,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12550
      start: 12535
    functionDepth: 0
    functionLinenumber: 12535
    functionLinenumberEnd: 12550
    functionName: ihdr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ihdr_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12251,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12252,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12255,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12259,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12262
      start: 12246
    functionDepth: 0
    functionLinenumber: 12246
    functionLinenumberEnd: 12262
    functionName: mhap_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_malloc
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhap_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13939,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13940,1
    - Dst: get_size_by_code
      Src: /src/gpac/src/isomedia/box_code_base.c:13941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13954
      start: 13935
    functionDepth: 0
    functionLinenumber: 13935
    functionLinenumberEnd: 13954
    functionName: csgp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - get_size_by_code
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err csgp_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14298,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14299,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14300,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14303,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14304,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14305,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14306,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14307,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14309,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14310,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14311,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:14313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14314
      start: 14293
    functionDepth: 0
    functionLinenumber: 14293
    functionLinenumberEnd: 14314
    functionName: proj_type_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proj_type_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14240
      start: 14236
    functionDepth: 0
    functionLinenumber: 14236
    functionLinenumberEnd: 14240
    functionName: prhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *prhd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14383
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14383
    functionName: empty_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err empty_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2506
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2506
    functionName: tmin_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tmin_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1291,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:1296,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:1298,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1294,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1292,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:1299,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1301,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1302,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1307
    functionName: elst_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_list_get
    - gf_isom_full_box_write
    - gf_list_count
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elst_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1547,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1550,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1549,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1555
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1555
    functionName: ftyp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftyp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1882
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1882
    functionName: hmhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hmhd_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2642,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2646
    functionName: dmax_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmax_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:5385,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/box_code_base.c:5395,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/box_code_base.c:5397,1
    - Dst: CHECK_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:5386,1
    - Dst: if
      Src: /src/gpac/src/isomedia/box_code_base.c:5389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - SampleSize
    argTypes:
    - SampleSize
    constantsTouched: []
    func_position:
      end: 5399
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5399
    functionName: CHECK_BOX
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleInfos
    - if
    - stbl_GetSampleDTS
    - CHECK_BOX
    linkageType: ''
    returnType: CHECK_BOX(SampleToChunk)
    signature: "CHECK_BOX(SampleToChunk) CHECK_BOX(SampleSize)\tCHECK_BOX(ChunkOffset)\tCHECK_BOX(TimeToSample)\t//sanity
      check\tif (ptr->SampleSize->sampleCount) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6437,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6441,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6446,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6453,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6456,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6454,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6458,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6460,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6464,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6468,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6438,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6442,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6447,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6459,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6463,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6467,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6469,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6439,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6444,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6448,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6462,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6466,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6470,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6440,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6445,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6449,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6457,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6455,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6461,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 62
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6472
      start: 6432
    functionDepth: 0
    functionLinenumber: 6432
    functionLinenumberEnd: 6472
    functionName: tkhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_u32
    - gf_bs_read_u16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tkhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:8344,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8348
      start: 8338
    functionDepth: 0
    functionLinenumber: 8338
    functionLinenumberEnd: 8348
    functionName: tsro_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsro_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10505,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10509,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10511,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10514,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10519,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10538,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10539,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10544,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10567,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10574,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10605,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10506,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10534,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10540,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10535,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10542,1
    - Dst: gf_isom_oinf_write_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10551,1
    - Dst: gf_isom_linf_write_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10554,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10568,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10570,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10586,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:10595,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10502,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10510,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10518,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10533,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10546,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10561,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10564,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10572,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10603,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:10614,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10515,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10531,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10536,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10562,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10569,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:10575,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10585,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:10588,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 3
    argNames:
    - grouping_type
    - entry
    - bs
    argTypes:
    - u32
    - void*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10617
      start: 10497
    functionDepth: 0
    functionLinenumber: 10497
    functionLinenumberEnd: 10617
    functionName: sgpd_write_entry
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_linf_write_entry
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_oinf_write_entry
    linkageType: ''
    returnType: void
    signature: 'void sgpd_write_entry(u32 grouping_type, void *entry, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:1317,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:1320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1329
    functionName: elst_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elst_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1563
    functionName: ftyp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftyp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1889,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1892,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:1891,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:1890,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1893,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1896
    functionName: hmhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u16
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hmhd_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2651
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2651
    functionName: dmax_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmax_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6481
      start: 6474
    functionDepth: 0
    functionLinenumber: 6474
    functionLinenumberEnd: 6481
    functionName: tkhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tkhd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8354
      start: 8350
    functionDepth: 0
    functionLinenumber: 8350
    functionLinenumberEnd: 8354
    functionName: tsro_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tsro_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12292
      start: 12287
    functionDepth: 0
    functionLinenumber: 12287
    functionLinenumberEnd: 12292
    functionName: mhap_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhap_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13747
      start: 13744
    functionDepth: 0
    functionLinenumber: 13744
    functionLinenumberEnd: 13747
    functionName: evte_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void evte_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3031,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:3043,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3034,1
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3036,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3046
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3046
    functionName: mdat_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdat_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2774,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:2775,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:2776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2778
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2778
    functionName: tssy_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tssy_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7267,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7269
      start: 7263
    functionDepth: 0
    functionLinenumber: 7263
    functionLinenumberEnd: 7269
    functionName: stri_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stri_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9626,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9628
      start: 9622
    functionDepth: 0
    functionLinenumber: 9622
    functionLinenumberEnd: 9628
    functionName: pcrb_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void pcrb_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2783
    functionName: tssy_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tssy_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3055
    functionName: mdat_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdat_box_size(GF_Box *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8006,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:8008,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8008,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8021,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8035,1
    - Dst: ctrn_write_ctso
      Src: /src/gpac/src/isomedia/box_code_base.c:8038,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7994,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7999,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:8007,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8007,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8009,1
    - Dst: ctrn_write_ctso
      Src: /src/gpac/src/isomedia/box_code_base.c:8010,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:8012,1
    - Dst: ctrn_write_sample_flags
      Src: /src/gpac/src/isomedia/box_code_base.c:8009,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:8017,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8010,1
    - Dst: ctrn_write_sample_flags
      Src: /src/gpac/src/isomedia/box_code_base.c:8031,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8028,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:8003,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8016,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:8024,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8030,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:7989,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:7997,1
    - Dst: gf_isom_ctrn_field_size_bits
      Src: /src/gpac/src/isomedia/box_code_base.c:8014,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8037,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8043
      start: 7978
    functionDepth: 0
    functionLinenumber: 7978
    functionLinenumberEnd: 8043
    functionName: ctrn_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_isom_ctrn_field_size_bits
    - gf_bs_write_u16
    - gf_list_count
    - ctrn_write_ctso
    - gf_bs_write_u32
    - ctrn_write_sample_flags
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctrn_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9635,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:9643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:9639,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9646,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9636,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9647,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9653
      start: 9630
    functionDepth: 0
    functionLinenumber: 9630
    functionLinenumberEnd: 9653
    functionName: pcrb_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - GF_LOG
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcrb_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:994,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 996
    functionName: uuid_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void uuid_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7637
      start: 7632
    functionDepth: 0
    functionLinenumber: 7632
    functionLinenumberEnd: 7637
    functionName: trep_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trep_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1831,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:1833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1835
    functionName: hinf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hinf_box_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_box_valid_in_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:5715,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/box_code_base.c:5731,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:5725,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 5734
      start: 5710
    functionDepth: 0
    functionLinenumber: 5710
    functionLinenumberEnd: 5734
    functionName: stsd_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_box_valid_in_parent
    - gf_isom_box_del_parent
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsd_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10897,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10899,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:10898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10900
      start: 10893
    functionDepth: 0
    functionLinenumber: 10893
    functionLinenumberEnd: 10900
    functionName: saio_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void saio_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12815,1
    - Dst: gf_odf_ia_cfg_write_bs
      Src: /src/gpac/src/isomedia/box_code_base.c:12818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12819
      start: 12808
    functionDepth: 0
    functionLinenumber: 12808
    functionLinenumberEnd: 12819
    functionName: iacb_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    - gf_odf_ia_cfg_write_bs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err iacb_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14362
      start: 14358
    functionDepth: 0
    functionLinenumber: 14358
    functionLinenumberEnd: 14362
    functionName: empty_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *empty_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:1846,1
    - Dst: ERROR_ON_DUPLICATED_BOX
      Src: /src/gpac/src/isomedia/box_code_base.c:1848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 3
    argNames:
    - s
    - _a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1854
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1854
    functionName: hinf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - ERROR_ON_DUPLICATED_BOX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hinf_on_child_box(GF_Box *s, GF_Box *_a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5739,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5740,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:5742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5743
      start: 5737
    functionDepth: 0
    functionLinenumber: 5737
    functionLinenumberEnd: 5743
    functionName: stsd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10908,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10909,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10912,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10913,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10910,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:10919,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10924,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10926,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:10928,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:10930,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10934
      start: 10903
    functionDepth: 0
    functionLinenumber: 10903
    functionLinenumberEnd: 10934
    functionName: saio_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saio_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9895
      start: 9891
    functionDepth: 0
    functionLinenumber: 9891
    functionLinenumberEnd: 9895
    functionName: rsot_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rsot_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5210
      start: 5206
    functionDepth: 0
    functionLinenumber: 5206
    functionLinenumberEnd: 5210
    functionName: snro_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void snro_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:6812,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6820,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6815,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:6816,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6817,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6821,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6823,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6828
      start: 6807
    functionDepth: 0
    functionLinenumber: 6807
    functionLinenumberEnd: 6828
    functionName: tfrf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfrf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11551,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11557,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11554,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11560
      start: 11545
    functionDepth: 0
    functionLinenumber: 11545
    functionLinenumberEnd: 11560
    functionName: fecr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_full_box_write
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fecr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5215,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5218
      start: 5212
    functionDepth: 0
    functionLinenumber: 5212
    functionLinenumberEnd: 5218
    functionName: snro_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err snro_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6837
      start: 6830
    functionDepth: 0
    functionLinenumber: 6830
    functionLinenumberEnd: 6837
    functionName: tfrf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfrf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11567
      start: 11562
    functionDepth: 0
    functionLinenumber: 11562
    functionLinenumberEnd: 11567
    functionName: fecr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fecr_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5560,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5562
      start: 5556
    functionDepth: 0
    functionLinenumber: 5556
    functionLinenumberEnd: 5562
    functionName: stdp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void stdp_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12131,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12133
      start: 12128
    functionDepth: 0
    functionLinenumber: 12128
    functionLinenumberEnd: 12133
    functionName: ainf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ainf_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2889,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2893
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2893
    functionName: rssr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rssr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3774,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3778,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3782,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 3786
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3786
    functionName: minf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err minf_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4829
      start: 4824
    functionDepth: 0
    functionLinenumber: 4824
    functionLinenumberEnd: 4829
    functionName: mvhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mvhd_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5817,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5821,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:5819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5815
    functionDepth: 0
    functionLinenumber: 5815
    functionLinenumberEnd: 5825
    functionName: stsh_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stsh_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6775,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6777
      start: 6772
    functionDepth: 0
    functionLinenumber: 6772
    functionLinenumberEnd: 6777
    functionName: tfrf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tfrf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:7234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7235
      start: 7232
    functionDepth: 0
    functionLinenumber: 7232
    functionLinenumberEnd: 7235
    functionName: trak_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trak_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8708,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:8710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8712
      start: 8704
    functionDepth: 0
    functionLinenumber: 8704
    functionLinenumberEnd: 8712
    functionName: sdtp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sdtp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14467,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14469,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:14472,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14470,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/box_code_base.c:14468,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14474
      start: 14464
    functionDepth: 0
    functionLinenumber: 14464
    functionLinenumberEnd: 14474
    functionName: sref_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sref_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2309
    functionName: tpay_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tpay_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2898
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2898
    functionName: rssr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rssr_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:3794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3798,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:3806,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:3803,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:3809,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3814
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3814
    functionName: minf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - GF_LOG
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err minf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4839,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4844,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4846,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4853,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4860,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4864,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4866,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4870,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4840,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4845,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4847,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:4850,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4857,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:4856,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4861,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4865,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4867,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4871,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4837,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4841,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4858,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4854,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4862,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4868,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4872,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4838,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4843,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:4855,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4859,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4863,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4875
      start: 4832
    functionDepth: 0
    functionLinenumber: 4832
    functionLinenumberEnd: 4875
    functionName: mvhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6784,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:6788,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/isomedia/box_code_base.c:6786,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6787,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:6785,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6793,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6794,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6795,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:6797,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6798,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6803
      start: 6780
    functionDepth: 0
    functionLinenumber: 6780
    functionLinenumberEnd: 6803
    functionName: tfrf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_u24
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tfrf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/box_code_base.c:7245,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7248,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7251,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7250,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7252,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7253,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7254,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7255,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7256,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:7257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7259
      start: 7237
    functionDepth: 0
    functionLinenumber: 7237
    functionLinenumberEnd: 7259
    functionName: trak_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - senc_Parse
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trak_box_size(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14479,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_base.c:14491,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14489,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:14485,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14492,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14493,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14496,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14497,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:14501,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:14503,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:14504,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14509
      start: 14476
    functionDepth: 0
    functionLinenumber: 14476
    functionLinenumberEnd: 14509
    functionName: sref_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sref_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12680,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:12682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12678
    functionDepth: 0
    functionLinenumber: 12678
    functionLinenumberEnd: 12685
    functionName: dvvC_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dvvC_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2510,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2513
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2513
    functionName: tmin_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tmin_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3410,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3408
    functionDepth: 0
    functionLinenumber: 3408
    functionLinenumberEnd: 3413
    functionName: mfra_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mfra_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2518
    functionName: tmin_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tmin_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_LIST_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3420,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:3423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 3427
      start: 3415
    functionDepth: 0
    functionLinenumber: 3415
    functionLinenumberEnd: 3427
    functionName: mfra_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_LIST_ASSIGN
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfra_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13742
      start: 13738
    functionDepth: 0
    functionLinenumber: 13738
    functionLinenumberEnd: 13742
    functionName: evte_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *evte_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12079
      start: 12076
    functionDepth: 0
    functionLinenumber: 12076
    functionLinenumberEnd: 12079
    functionName: bloc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void bloc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14459,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:14460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14462
      start: 14457
    functionDepth: 0
    functionLinenumber: 14457
    functionLinenumberEnd: 14462
    functionName: sref_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sref_box_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9525,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9538,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9526,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:9531,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9540,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9541,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9545,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9546,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9549,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9550,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9555,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:9554,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9551,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9559
      start: 9520
    functionDepth: 0
    functionLinenumber: 9520
    functionLinenumberEnd: 9559
    functionName: leva_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - GF_SAFE_ALLOC_N
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err leva_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3021
    functionName: mdat_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mdat_box_new() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_video_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4594,1
    - Dst: HEVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/box_code_base.c:4603,1
    - Dst: AVC_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/box_code_base.c:4600,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4596,1
    - Dst: AV1_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/box_code_base.c:4606,1
    - Dst: VP9_RewriteESDescriptor
      Src: /src/gpac/src/isomedia/box_code_base.c:4609,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4612,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 21
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4624
      start: 4590
    functionDepth: 0
    functionLinenumber: 4590
    functionLinenumberEnd: 4624
    functionName: video_sample_entry_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - AVC_RewriteESDescriptor
    - VP9_RewriteESDescriptor
    - gf_isom_box_array_read
    - AV1_RewriteESDescriptor
    - gf_isom_video_sample_entry_read
    - HEVC_RewriteESDescriptor
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err video_sample_entry_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:6492,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6505,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6514,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6511,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6509,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6507,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6513,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6508,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6515,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6516,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6519,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6523,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6497,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6499,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6501,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6502,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6503,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6518,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6495,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6512,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:6510,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6520,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6521,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6517,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6522,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:6496,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6498,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6525
      start: 6487
    functionDepth: 0
    functionLinenumber: 6487
    functionLinenumberEnd: 6525
    functionName: tkhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tkhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6552,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6553,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6555,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6556,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6554,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6557,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6558,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6559
      start: 6548
    functionDepth: 0
    functionLinenumber: 6548
    functionLinenumberEnd: 6559
    functionName: traf_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void traf_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13774
      start: 13770
    functionDepth: 0
    functionLinenumber: 13770
    functionLinenumberEnd: 13774
    functionName: csgp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *csgp_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14367
      start: 14364
    functionDepth: 0
    functionLinenumber: 14364
    functionLinenumberEnd: 14367
    functionName: empty_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void empty_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4629,1
    - Dst: gf_isom_video_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4634
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4634
    functionName: video_sample_entry_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_isom_video_sample_entry_init
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *video_sample_entry_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6540
      start: 6527
    functionDepth: 0
    functionLinenumber: 6527
    functionLinenumberEnd: 6540
    functionName: tkhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tkhd_box_size(GF_Box *s) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6567,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6573,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6576,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6600,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6579,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6605,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6608,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6614,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:6619,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 22
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 6623
      start: 6561
    functionDepth: 0
    functionLinenumber: 6561
    functionLinenumberEnd: 6623
    functionName: traf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err traf_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13782,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13784,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13787
      start: 13775
    functionDepth: 0
    functionLinenumber: 13775
    functionLinenumberEnd: 13787
    functionName: csgp_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void csgp_box_del(GF_Box *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 14372
      start: 14369
    functionDepth: 0
    functionLinenumber: 14369
    functionLinenumberEnd: 14372
    functionName: empty_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err empty_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:235,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:238,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:236,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:239,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:240,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:254,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 260
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 260
    functionName: cprt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cprt_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:1058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 1062
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1062
    functionName: dinf_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dinf_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: dinf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dinf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:1868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1869
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1869
    functionName: hinf_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hinf_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5253,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5256,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5255,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5254,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:5257,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5263,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5265,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5267,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:5269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5270
      start: 5248
    functionDepth: 0
    functionLinenumber: 5248
    functionLinenumberEnd: 5270
    functionName: stbl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void stbl_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:11297,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:11300,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:11300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11302
      start: 11292
    functionDepth: 0
    functionLinenumber: 11292
    functionLinenumberEnd: 11302
    functionName: fiin_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_list_count
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiin_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12757,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12760,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12761,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12763,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12762,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12764,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12765,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12767,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12768,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12772
      start: 12752
    functionDepth: 0
    functionLinenumber: 12752
    functionLinenumberEnd: 12772
    functionName: dOps_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dOps_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12919,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12925,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12924,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12922,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12923,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12926,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12927,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12928,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12929,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12930,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12931,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12935,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12936,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12932,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12933,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:12934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12938
      start: 12914
    functionDepth: 0
    functionLinenumber: 12914
    functionLinenumberEnd: 12938
    functionName: ddts_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ddts_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: cprt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *cprt_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1067,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/box_code_base.c:1076,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1074,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:1073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1079
    functionName: dinf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - GF_LOG
    - gf_bs_get_cookie
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dinf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: dinf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dinf_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1874
    functionName: hinf_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hinf_box_size(GF_Box *s) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5278,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5284,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5281,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5287,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5290,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5294,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5297,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5300,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5306,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5309,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5315,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5329,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5326,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5349,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:5325,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:5312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:5323,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 26
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 5353
      start: 5272
    functionDepth: 0
    functionLinenumber: 5272
    functionLinenumberEnd: 5353
    functionName: stbl_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_list_get
    - gf_list_rem
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:11309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11311
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11311
    functionName: fiin_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fiin_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12782
      start: 12774
    functionDepth: 0
    functionLinenumber: 12774
    functionLinenumberEnd: 12782
    functionName: dOps_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dOps_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12019,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12021
      start: 12015
    functionDepth: 0
    functionLinenumber: 12015
    functionLinenumberEnd: 12021
    functionName: trik_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trik_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12727,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12734,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:12729,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12736,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12735,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12737,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12738,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12739,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12741,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12742,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12743,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12747
      start: 12724
    functionDepth: 0
    functionLinenumber: 12724
    functionLinenumberEnd: 12747
    functionName: dOps_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dOps_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:6629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6637
      start: 6626
    functionDepth: 0
    functionLinenumber: 6626
    functionLinenumberEnd: 6637
    functionName: traf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err traf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:9233,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:9235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9237
      start: 9229
    functionDepth: 0
    functionLinenumber: 9229
    functionLinenumberEnd: 9237
    functionName: lsrc_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsrc_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:619,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: url_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void url_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2235,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2238
    functionName: npck_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err npck_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2770
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2770
    functionName: tssy_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tssy_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11523,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/isomedia/box_code_base.c:11532,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:11527,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:11531,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:11536,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:11537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 11540
      start: 11518
    functionDepth: 0
    functionLinenumber: 11518
    functionLinenumberEnd: 11540
    functionName: fecr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - GF_SAFE_ALLOC_N
    - GF_LOG
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err fecr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12361
      start: 12357
    functionDepth: 0
    functionLinenumber: 12357
    functionLinenumberEnd: 12361
    functionName: jp2h_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *jp2h_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:13727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13728
      start: 13725
    functionDepth: 0
    functionLinenumber: 13725
    functionLinenumberEnd: 13728
    functionName: emeb_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emeb_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:14016,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14019,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14018,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14020,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/isomedia/box_code_base.c:14017,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:14022,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:14023,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14024
      start: 14013
    functionDepth: 0
    functionLinenumber: 14013
    functionLinenumberEnd: 14024
    functionName: xtra_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void xtra_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2243
    functionName: npck_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *npck_box_new() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ctrn_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8055,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8068,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8058,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8061,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8065,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8076,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8079,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8083,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8087,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8089,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:8102,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8106
      start: 8046
    functionDepth: 0
    functionLinenumber: 8046
    functionLinenumberEnd: 8106
    functionName: trun_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_bs_write_int
    - gf_isom_full_box_write
    - ctrn_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trun_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13734
      start: 13730
    functionDepth: 0
    functionLinenumber: 13730
    functionLinenumberEnd: 13734
    functionName: emeb_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emeb_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:3438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3439
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3439
    functionName: mfra_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfra_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1789,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1792,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1791,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1793,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:1796,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:1798,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1799,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1801,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:1802,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:1805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1808
    functionName: hdlr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hdlr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2394,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2397
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2397
    functionName: dmed_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmed_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5635,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5642,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5632,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5647,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5648,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5665
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5665
    functionName: stsc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsc_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:6260,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6265,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6262,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6268
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6268
    functionName: stts_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stts_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7183,1
    - Dst: gf_isom_check_sample_desc
      Src: /src/gpac/src/isomedia/box_code_base.c:7191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:7204,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:7209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:7210,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7221
      start: 7178
    functionDepth: 0
    functionLinenumber: 7178
    functionLinenumberEnd: 7221
    functionName: trak_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_array_read
    - gf_list_count
    - GF_LOG
    - gf_isom_check_sample_desc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trak_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:10754,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10758,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:10760,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10757,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10759,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10761,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:10764,1
    - Dst: sgpd_size_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10766,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:10767,1
    - Dst: sgpd_write_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10769,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10772
      start: 10749
    functionDepth: 0
    functionLinenumber: 10749
    functionLinenumberEnd: 10772
    functionName: sgpd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - sgpd_write_entry
    - gf_list_get
    - sgpd_size_entry
    - gf_isom_full_box_write
    - gf_list_count
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sgpd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12139,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12140,1
    - Dst: gf_isom_read_null_terminated_string
      Src: /src/gpac/src/isomedia/box_code_base.c:12141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12142
      start: 12135
    functionDepth: 0
    functionLinenumber: 12135
    functionLinenumberEnd: 12142
    functionName: ainf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_isom_read_null_terminated_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ainf_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:3445,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:3446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3448
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3448
    functionName: mfra_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfra_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:1815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1818
    functionName: hdlr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hdlr_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2402
    functionName: dmed_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dmed_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5667
    functionDepth: 0
    functionLinenumber: 5667
    functionLinenumberEnd: 5671
    functionName: stsc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stsc_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6275
      start: 6270
    functionDepth: 0
    functionLinenumber: 6270
    functionLinenumberEnd: 6275
    functionName: stts_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stts_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7227
      start: 7223
    functionDepth: 0
    functionLinenumber: 7223
    functionLinenumberEnd: 7227
    functionName: trak_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trak_box_new() '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ctrn_sample_flags_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8213,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:8168,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8193,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8199,1
    - Dst: ctrn_u32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8232,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8254,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8262,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/box_code_base.c:8161,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8171,1
    - Dst: ctrn_u32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8197,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8207,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:8229,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8258,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8266,1
    - Dst: ctrn_u32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8205,1
    - Dst: ctrn_field_size
      Src: /src/gpac/src/isomedia/box_code_base.c:8215,1
    - Dst: ctrn_ctts_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8220,1
    - Dst: ctrn_sample_flags_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8242,1
    - Dst: ctrn_u32_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8237,1
    - Dst: ctrn_ctts_to_index
      Src: /src/gpac/src/isomedia/box_code_base.c:8247,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 146
    argCount: 1
    argNames:
    - ctrn
    argTypes:
    - GF_TrackFragmentRunBox*
    constantsTouched: []
    func_position:
      end: 8270
      start: 8148
    functionDepth: 0
    functionLinenumber: 8148
    functionLinenumberEnd: 8270
    functionName: ctrn_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - ctrn_sample_flags_to_index
    - ctrn_u32_to_index
    - gf_list_count
    - ABS
    - ctrn_field_size
    - ctrn_ctts_to_index
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ctrn_box_size(GF_TrackFragmentRunBox *ctrn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:10791,1
    - Dst: sgpd_size_entry
      Src: /src/gpac/src/isomedia/box_code_base.c:10794,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:10793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 10807
      start: 10774
    functionDepth: 0
    functionLinenumber: 10774
    functionLinenumberEnd: 10807
    functionName: sgpd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - sgpd_size_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err sgpd_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2044,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2047
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2047
    functionName: rtp_hnti_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rtp_hnti_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12845,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12848
      start: 12840
    functionDepth: 0
    functionLinenumber: 12840
    functionLinenumberEnd: 12848
    functionName: dfla_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dfla_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13671,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13673,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13676,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13675,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:13674,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13678,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13679,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13680,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:13682,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13683,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13684,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:13687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13690
      start: 13665
    functionDepth: 0
    functionLinenumber: 13665
    functionLinenumberEnd: 13690
    functionName: emib_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err emib_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:1912,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:1914,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:1915,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1916,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1917,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1920
    functionName: hmhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hmhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2883
    functionName: rssr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rssr_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6848,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6851
      start: 6843
    functionDepth: 0
    functionLinenumber: 6843
    functionLinenumberEnd: 6851
    functionName: trak_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trak_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8594
      start: 8590
    functionDepth: 0
    functionLinenumber: 8590
    functionLinenumberEnd: 8594
    functionName: void_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err void_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:8648,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8652,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8655
      start: 8643
    functionDepth: 0
    functionLinenumber: 8643
    functionLinenumberEnd: 8655
    functionName: pdin_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pdin_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13320,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13322,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:13323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13325
      start: 13315
    functionDepth: 0
    functionLinenumber: 13315
    functionLinenumberEnd: 13325
    functionName: pcmC_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_full_box_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmC_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1927
    functionName: hmhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hmhd_box_size(GF_Box *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:6859,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:6866,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:6870,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6876,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6885,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6891,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:6890,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:6858,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/box_code_base.c:6877,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/box_code_base.c:6855,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6868,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:6869,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:6871,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6872,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:6860,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/box_code_base.c:6863,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/box_code_base.c:6892,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6883,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/box_code_base.c:6878,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 8
    argNames:
    - bs
    - box
    - a
    - data
    - data_size
    - EntryType
    - stsd
    - stsd_idx
    argTypes:
    - GF_BitStream*
    - GF_Box*
    - GF_UnknownBox*
    - u8**
    - u32*
    - u32*
    - GF_SampleDescriptionBox*
    - u32
    constantsTouched: []
    func_position:
      end: 6893
      start: 6853
    functionDepth: 0
    functionLinenumber: 6853
    functionLinenumberEnd: 6893
    functionName: stsd_switch_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_isom_box_array_read
    - gf_bs_set_cookie
    - gf_list_count
    - gf_bs_write_data
    - gf_isom_box_del
    - gf_bs_new
    - gf_bs_available
    - gf_bs_write_u32
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void stsd_switch_box(GF_BitStream *bs, GF_Box *box, GF_UnknownBox
      *a, u8 **data, u32 *data_size, u32 *EntryType, GF_SampleDescriptionBox *stsd,
      u32 stsd_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8600
      start: 8596
    functionDepth: 0
    functionLinenumber: 8596
    functionLinenumberEnd: 8600
    functionName: void_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err void_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8662
      start: 8657
    functionDepth: 0
    functionLinenumber: 8657
    functionLinenumberEnd: 8662
    functionName: pdin_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pdin_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12187,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12189,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12190,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12191,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12188,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12193,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:12195,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12201
      start: 12183
    functionDepth: 0
    functionLinenumber: 12183
    functionLinenumberEnd: 12201
    functionName: mhac_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhac_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13331
      start: 13327
    functionDepth: 0
    functionLinenumber: 13327
    functionLinenumberEnd: 13331
    functionName: pcmC_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmC_box_size(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13509,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13512,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13511,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13513
      start: 13505
    functionDepth: 0
    functionLinenumber: 13505
    functionLinenumberEnd: 13513
    functionName: emsg_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void emsg_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:100,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: cprt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void cprt_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:8742,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8744,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:8743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 8746
      start: 8739
    functionDepth: 0
    functionLinenumber: 8739
    functionLinenumberEnd: 8746
    functionName: pasp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pasp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:3265,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3271,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3270,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3268,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:3269,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3273,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3274,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3275,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3276,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3281,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:3283,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3280,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:3282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3285
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3285
    functionName: mdhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1902
    functionName: hmhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hmhd_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2670,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:2672,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2673,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2671,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:2674,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2680
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2680
    functionName: payt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err payt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:4387,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4389
      start: 4383
    functionDepth: 0
    functionLinenumber: 4383
    functionLinenumberEnd: 4389
    functionName: gen_sample_entry_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gen_sample_entry_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4705,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4707,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:4706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4708
      start: 4701
    functionDepth: 0
    functionLinenumber: 4701
    functionLinenumberEnd: 4708
    functionName: mvex_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void mvex_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5904,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5908,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5911
      start: 5898
    functionDepth: 0
    functionLinenumber: 5898
    functionLinenumberEnd: 5911
    functionName: stss_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stss_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7644,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:7647,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7648
      start: 7640
    functionDepth: 0
    functionLinenumber: 7640
    functionLinenumberEnd: 7648
    functionName: trep_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trep_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:8583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8585
      start: 8581
    functionDepth: 0
    functionLinenumber: 8581
    functionLinenumberEnd: 8585
    functionName: void_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *void_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3299
      start: 3287
    functionDepth: 0
    functionLinenumber: 3287
    functionLinenumberEnd: 3299
    functionName: mdhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdhd_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2685
    functionName: payt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *payt_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4394,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:4397,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4398
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4398
    functionName: gen_sample_entry_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - ISOM_DECREASE_SIZE
    - gf_isom_base_sample_entry_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gen_sample_entry_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/isomedia/box_code_base.c:4723,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 4727
      start: 4711
    functionDepth: 0
    functionLinenumber: 4711
    functionLinenumberEnd: 4727
    functionName: mvex_on_child_box
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mvex_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5918
      start: 5913
    functionDepth: 0
    functionLinenumber: 5913
    functionLinenumberEnd: 5918
    functionName: stss_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stss_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:7652,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:7653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7655
      start: 7650
    functionDepth: 0
    functionLinenumber: 7650
    functionLinenumberEnd: 7655
    functionName: trep_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *trep_box_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/box_code_base.c:8844,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8848,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8847,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8849,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8846,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8851
      start: 8840
    functionDepth: 0
    functionLinenumber: 8840
    functionLinenumberEnd: 8851
    functionName: metx_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void metx_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:12690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12691
      start: 12687
    functionDepth: 0
    functionLinenumber: 12687
    functionLinenumberEnd: 12691
    functionName: dvvC_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dvvC_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14184
      start: 14180
    functionDepth: 0
    functionLinenumber: 14180
    functionLinenumberEnd: 14184
    functionName: svhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *svhd_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2736,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:2729,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:2733,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2739
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2739
    functionName: name_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err name_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3707
      start: 3702
    functionDepth: 0
    functionLinenumber: 3702
    functionLinenumberEnd: 3707
    functionName: mfhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mfhd_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:402,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:403,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:411,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:415,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:406,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:418,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:423,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/box_code_base.c:432,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/box_code_base.c:433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 441
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 441
    functionName: ctts_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - ABS
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctts_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: ccst_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ccst_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    functionName: dinf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *dinf_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1513
    functionName: ftyp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ftyp_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1860
    functionName: hinf_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hinf_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2313,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2316
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2316
    functionName: tpay_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tpay_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: ctts_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ctts_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1520,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:1528,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1521,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1522,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1535
    functionName: ftyp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ftyp_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2321
    functionName: tpay_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *tpay_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2744
    functionName: name_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *name_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:3712,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:3713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3715
      start: 3709
    functionDepth: 0
    functionLinenumber: 3709
    functionLinenumberEnd: 3715
    functionName: mfhd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfhd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5940,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:5947,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:6009,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6017,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5997,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5941,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5974,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:5983,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:6002,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6023,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5987,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5942,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6030,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:6035,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5946,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:5945,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:5948,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:5980,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 6046
      start: 5932
    functionDepth: 0
    functionLinenumber: 5932
    functionLinenumberEnd: 6046
    functionName: stsz_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_int
    - GF_LOG
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stsz_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:11010,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 11019
      start: 10994
    functionDepth: 0
    functionLinenumber: 10994
    functionLinenumberEnd: 11019
    functionName: saio_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err saio_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 12582
      start: 12578
    functionDepth: 0
    functionLinenumber: 12578
    functionLinenumberEnd: 12582
    functionName: ihdr_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ihdr_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 14353
      start: 14342
    functionDepth: 0
    functionLinenumber: 14342
    functionLinenumberEnd: 14353
    functionName: proj_type_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proj_type_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10012
      start: 10008
    functionDepth: 0
    functionLinenumber: 10008
    functionLinenumberEnd: 10012
    functionName: sbgp_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *sbgp_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1435,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:1436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1437
    functionName: free_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void free_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:3063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3064
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3064
    functionName: mdhd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mdhd_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:3680,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:3683,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:3683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3686
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3686
    functionName: elng_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elng_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/box_code_base.c:8365,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:8369,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8370,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/box_code_base.c:8366,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:8367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 8371
      start: 8358
    functionDepth: 0
    functionLinenumber: 8358
    functionLinenumberEnd: 8371
    functionName: udta_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_array_del
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void udta_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:10938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10940
      start: 10936
    functionDepth: 0
    functionLinenumber: 10936
    functionLinenumberEnd: 10940
    functionName: saio_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *saio_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12552
    functionDepth: 0
    functionLinenumber: 12552
    functionLinenumberEnd: 12556
    functionName: ihdr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ihdr_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:3693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 3696
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3696
    functionName: elng_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err elng_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:13248,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13252,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13251,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13257,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13258,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13260,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13262,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13264,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13266,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13265,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13267,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13272,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13271,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13263,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13276
      start: 13243
    functionDepth: 0
    functionLinenumber: 13243
    functionLinenumberEnd: 13276
    functionName: vwid_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vwid_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:3342,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:3344,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:3345,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3350,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:3346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:3358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3362
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3362
    functionName: mdia_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - gf_bs_set_cookie
    - GF_LOG
    - gf_bs_get_cookie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mdia_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: def_parent_full_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void def_parent_full_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:76,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:80,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: co64_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err co64_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2447,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2451
    functionName: dimm_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimm_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:3431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3432
      start: 3429
    functionDepth: 0
    functionLinenumber: 3429
    functionLinenumberEnd: 3432
    functionName: mfra_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mfra_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:5099,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5103,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5102,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:5101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5105
      start: 5094
    functionDepth: 0
    functionLinenumber: 5094
    functionLinenumberEnd: 5105
    functionName: rely_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rely_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6249
      start: 6245
    functionDepth: 0
    functionLinenumber: 6245
    functionLinenumberEnd: 6249
    functionName: stts_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *stts_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:6384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 6385
      start: 6381
    functionDepth: 0
    functionLinenumber: 6381
    functionLinenumberEnd: 6385
    functionName: tims_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tims_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: co64_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err co64_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2270
    functionName: tpyl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void tpyl_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2456
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2456
    functionName: dimm_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dimm_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3368
    functionName: mdia_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mdia_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5111
      start: 5107
    functionDepth: 0
    functionLinenumber: 5107
    functionLinenumberEnd: 5111
    functionName: rely_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rely_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9565
      start: 9561
    functionDepth: 0
    functionLinenumber: 9561
    functionLinenumberEnd: 9565
    functionName: leva_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *leva_box_new() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13494
      start: 13465
    functionDepth: 0
    functionLinenumber: 13465
    functionLinenumberEnd: 13494
    functionName: chnl_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err chnl_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13973,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13976,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13974,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13975,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:13977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13979
      start: 13970
    functionDepth: 0
    functionLinenumber: 13970
    functionLinenumberEnd: 13979
    functionName: dmlp_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dmlp_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9064,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9066
      start: 9059
    functionDepth: 0
    functionLinenumber: 9059
    functionLinenumberEnd: 9066
    functionName: txtc_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void txtc_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 5086
    functionDepth: 0
    functionLinenumber: 5086
    functionLinenumberEnd: 5090
    functionName: rely_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rely_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:7574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 7575
      start: 7570
    functionDepth: 0
    functionLinenumber: 7570
    functionLinenumberEnd: 7575
    functionName: trex_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void trex_box_del(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 8117
      start: 8109
    functionDepth: 0
    functionLinenumber: 8109
    functionLinenumberEnd: 8117
    functionName: ctrn_sample_flags_to_index
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_sample_flags_to_index(u32 val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9516,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:9517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9518
      start: 9512
    functionDepth: 0
    functionLinenumber: 9512
    functionLinenumberEnd: 9518
    functionName: leva_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void leva_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12085,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12089,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12090,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:12086,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:12088,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/box_code_base.c:12092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12094
      start: 12081
    functionDepth: 0
    functionLinenumber: 12081
    functionLinenumberEnd: 12094
    functionName: bloc_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bloc_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13185,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13189,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:13187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 13190
      start: 13178
    functionDepth: 0
    functionLinenumber: 13178
    functionLinenumberEnd: 13190
    functionName: vwid_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vwid_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:13412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13410
    functionDepth: 0
    functionLinenumber: 13410
    functionLinenumberEnd: 13414
    functionName: chnl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *chnl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:14284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14286
      start: 14282
    functionDepth: 0
    functionLinenumber: 14282
    functionLinenumberEnd: 14286
    functionName: proj_type_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *proj_type_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:7582,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7586,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7584,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7583,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7585,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:7587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 7589
      start: 7578
    functionDepth: 0
    functionLinenumber: 7578
    functionLinenumberEnd: 7589
    functionName: trex_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err trex_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 8124
      start: 8118
    functionDepth: 0
    functionLinenumber: 8118
    functionLinenumberEnd: 8124
    functionName: ctrn_u32_to_index
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ctrn_u32_to_index(u32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:12098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12100
      start: 12096
    functionDepth: 0
    functionLinenumber: 12096
    functionLinenumberEnd: 12100
    functionName: bloc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *bloc_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13196,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13197,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:13200,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13198,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13218,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13213,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13216,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13208,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13211,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13212,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13224,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:13226,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:13204,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_base.c:13205,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13210,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13219,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13214,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13227,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13199,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13228,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_base.c:13229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 13233
      start: 13192
    functionDepth: 0
    functionLinenumber: 13192
    functionLinenumberEnd: 13233
    functionName: vwid_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - memset
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vwid_box_read(GF_Box *s,GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2603,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2607
    functionName: pmax_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pmax_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3256
    functionName: mdhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mdhd_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:2693,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2698,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:2697,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2695,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2700
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2700
    functionName: payt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err payt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:530,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:535,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:536,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:534,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:533,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_base.c:537,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_base.c:540,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_base.c:541,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_base.c:542,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_base.c:543,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/box_code_base.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 548
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 548
    functionName: cslg_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cslg_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:1740,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1742,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1743,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:1741,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:1745,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/box_code_base.c:1750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:1755,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:1758,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:1760,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/box_code_base.c:1768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1774
    functionName: hdlr_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - memmove
    - gf_bs_set_cookie
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    - gf_bs_get_cookie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hdlr_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2054,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:2055,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_base.c:2065,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/box_code_base.c:2060,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/box_code_base.c:2068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2071
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2071
    functionName: rtp_hnti_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - GF_LOG
    - ISOM_DECREASE_SIZE
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtp_hnti_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4346,1
    - Dst: gf_isom_audio_sample_entry_write
      Src: /src/gpac/src/isomedia/box_code_base.c:4348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4350
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4350
    functionName: audio_sample_entry_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_write
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err audio_sample_entry_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5186,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5189,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5191
      start: 5182
    functionDepth: 0
    functionLinenumber: 5182
    functionLinenumberEnd: 5191
    functionName: smhd_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err smhd_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2612
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2612
    functionName: pmax_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pmax_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_base.c:2705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2707
    functionName: payt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err payt_box_size(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: cslg_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err cslg_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1780
    functionName: hdlr_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *hdlr_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2078
    functionName: rtp_hnti_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *rtp_hnti_box_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_audio_sample_entry_size
      Src: /src/gpac/src/isomedia/box_code_base.c:4356,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4361,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4361,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4362,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4362,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4365,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4366,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4367,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4368,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4369,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4370,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4374,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4375,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4374,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/box_code_base.c:4375,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4378
      start: 4352
    functionDepth: 0
    functionLinenumber: 4352
    functionLinenumberEnd: 4378
    functionName: audio_sample_entry_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_size
    - gf_isom_check_position
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err audio_sample_entry_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5200
      start: 5193
    functionDepth: 0
    functionLinenumber: 5193
    functionLinenumberEnd: 5200
    functionName: smhd_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err smhd_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:6641,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/isomedia/box_code_base.c:6644,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:6642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6647
      start: 6639
    functionDepth: 0
    functionLinenumber: 6639
    functionLinenumberEnd: 6647
    functionName: traf_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_sys_old_arch_compat
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *traf_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: cslg_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void cslg_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9244
      start: 9239
    functionDepth: 0
    functionLinenumber: 9239
    functionLinenumberEnd: 9244
    functionName: lsrc_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err lsrc_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:107,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_base.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: chpl_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *chpl_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/box_code_base.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1173
    functionName: edts_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err edts_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:4021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4022
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4022
    functionName: moov_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moov_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4335,1
    - Dst: gf_isom_audio_sample_entry_init
      Src: /src/gpac/src/isomedia/box_code_base.c:4336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4333
    functionDepth: 0
    functionLinenumber: 4333
    functionLinenumberEnd: 4338
    functionName: enca_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_audio_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *enca_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:4784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4785
      start: 4782
    functionDepth: 0
    functionLinenumber: 4782
    functionLinenumberEnd: 4785
    functionName: mehd_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mehd_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:5175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5177
      start: 5173
    functionDepth: 0
    functionLinenumber: 5173
    functionLinenumberEnd: 5177
    functionName: smhd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *smhd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9224
      start: 9220
    functionDepth: 0
    functionLinenumber: 9220
    functionLinenumberEnd: 9224
    functionName: lsrc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *lsrc_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:117,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:120,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_base.c:121,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:118,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_base.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: chpl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void chpl_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: edts_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *edts_box_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4029,1
    - Dst: gf_isom_check_position_list
      Src: /src/gpac/src/isomedia/box_code_base.c:4037,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4031,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4034,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4030,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/isomedia/box_code_base.c:4041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 4045
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4045
    functionName: moov_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    - gf_isom_check_position_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err moov_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4791,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:4792,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:4794,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:4795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4798
      start: 4786
    functionDepth: 0
    functionLinenumber: 4786
    functionLinenumberEnd: 4798
    functionName: mehd_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mehd_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:9054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9056
      start: 9052
    functionDepth: 0
    functionLinenumber: 9052
    functionLinenumberEnd: 9056
    functionName: txtc_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *txtc_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/box_code_base.c:12565,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12571,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:12570,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12569,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:12568,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12572,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12573,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:12574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 12576
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12576
    functionName: ihdr_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_isom_box_write_header
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ihdr_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_base.c:2195,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_base.c:2196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2198
    functionName: nump_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nump_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:3670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3668
    functionDepth: 0
    functionLinenumber: 3668
    functionLinenumberEnd: 3672
    functionName: elng_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *elng_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:5597,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:5601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5604
      start: 5592
    functionDepth: 0
    functionLinenumber: 5592
    functionLinenumberEnd: 5604
    functionName: stdp_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_isom_full_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stdp_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_base.c:9732,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9739,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9734,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:9738,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9735,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9740,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9741,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:9744,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9746,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_base.c:9748,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_base.c:9752,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9751,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_base.c:9750,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9756
      start: 9723
    functionDepth: 0
    functionLinenumber: 9723
    functionLinenumberEnd: 9756
    functionName: subs_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err subs_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: nump_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *nump_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5612
      start: 5606
    functionDepth: 0
    functionLinenumber: 5606
    functionLinenumberEnd: 5612
    functionName: stdp_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stdp_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9766,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_base.c:9769,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_base.c:9768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 9775
      start: 9758
    functionDepth: 0
    functionLinenumber: 9758
    functionLinenumberEnd: 9775
    functionName: subs_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err subs_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_base.c:4779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4781
      start: 4777
    functionDepth: 0
    functionLinenumber: 4777
    functionLinenumberEnd: 4781
    functionName: mehd_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *mehd_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_base.c:2149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2150
    functionName: totl_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_base.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void totl_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - moov
    - TrackID
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: GetTrex
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_TrackExtendsBox*
    signature: 'GF_TrackExtendsBox *GetTrex(GF_MovieBox *moov, GF_ISOTrackID TrackID) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:425,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 1
    argNames:
    - traf
    argTypes:
    - GF_TrackFragmentBox*
    constantsTouched: []
    func_position:
      end: 468
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 468
    functionName: ComputeFragmentDefaults
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: void
    signature: 'void ComputeFragmentDefaults(GF_TrackFragmentBox *traf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:880,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:889,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - moof
    - refTrackID
    argTypes:
    - GF_MovieFragmentBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 899
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 899
    functionName: moof_get_duration
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'u32 moof_get_duration(GF_MovieFragmentBox *moof, GF_ISOTrackID refTrackID) '
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:1767,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:1977,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2040,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2228,1
    - Dst: gf_isom_fdm_new_temp
      Src: /src/gpac/src/isomedia/movie_fragments.c:2330,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2336,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2350,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:1806,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1801,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2012,1
    - Dst: moof_get_earliest_cts
      Src: /src/gpac/src/isomedia/movie_fragments.c:2016,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2202,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2218,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/movie_fragments.c:2351,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2355,1
    - Dst: moof_get_first_sap_end
      Src: /src/gpac/src/isomedia/movie_fragments.c:2141,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2149,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1783,1
    - Dst: compute_seg_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1790,1
    - Dst: moof_get_earliest_cts
      Src: /src/gpac/src/isomedia/movie_fragments.c:1842,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/movie_fragments.c:1822,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1944,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:2045,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:2240,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:2334,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2358,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1786,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:2055,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2067,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2245,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/movie_fragments.c:2303,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2304,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2361,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1782,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1800,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/movie_fragments.c:2034,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:2239,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2325,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1785,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1793,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:1842,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1842,1
    - Dst: estimate_next_moof_earliest_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:1845,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1966,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1953,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2248,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2004,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2043,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1772,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1872,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1930,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2279,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2116,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/movie_fragments.c:2098,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2062,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2097,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2252,1
    - Dst: compute_seg_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2259,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2298,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2326,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2329,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:2357,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1935,1
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:2074,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2264,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2265,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1762,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1946,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2173,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2066,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2136,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2302,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:2085,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2134,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:2005,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/movie_fragments.c:2205,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2247,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2277,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2285,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2312,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:2323,1
    - Dst: flush_ref_samples
      Src: /src/gpac/src/isomedia/movie_fragments.c:2355,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:2176,1
    - Dst: gf_isom_write_styp
      Src: /src/gpac/src/isomedia/movie_fragments.c:1825,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2300,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:2305,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2311,1
    - Dst: compute_seg_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2339,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2345,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1850,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1937,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:1970,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2048,1
    - Dst: moof_get_sap_info
      Src: /src/gpac/src/isomedia/movie_fragments.c:2104,1
    - Dst: moof_get_earliest_cts
      Src: /src/gpac/src/isomedia/movie_fragments.c:2174,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2131,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2266,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2269,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2308,1
    - Dst: gf_bs_new_cbk_buffer
      Src: /src/gpac/src/isomedia/movie_fragments.c:1821,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1836,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2021,1
    - Dst: moof_get_earliest_cts
      Src: /src/gpac/src/isomedia/movie_fragments.c:2085,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1939,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1960,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:2174,1
    - Dst: sidx_rewrite
      Src: /src/gpac/src/isomedia/movie_fragments.c:2201,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2229,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2231,1
    - Dst: moof_get_duration
      Src: /src/gpac/src/isomedia/movie_fragments.c:2113,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1777,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:2016,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2280,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/isomedia/movie_fragments.c:2306,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:2344,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:2378,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2174,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/movie_fragments.c:1932,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1962,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2000,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2032,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2257,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 576
    argCount: 14
    argNames:
    - movie
    - subsegments_per_sidx
    - referenceTrackID
    - ref_track_decode_time
    - ts_shift
    - ref_track_next_cts
    - daisy_chain_sidx
    - use_ssix
    - last_segment
    - close_segment_handle
    - segment_marker_4cc
    - index_start_range
    - index_end_range
    - out_seg_size
    argTypes:
    - GF_ISOFile*
    - s32
    - GF_ISOTrackID
    - u64
    - s32
    - u64
    - Bool
    - Bool
    - Bool
    - Bool
    - u32
    - u64*
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 2381
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 2381
    functionName: gf_isom_close_segment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - flush_ref_samples
    - memset
    - gf_isom_box_write
    - sidx_rewrite
    - gf_bs_write_data
    - gf_isom_fdm_new_temp
    - StoreFragment
    - gf_bs_seek
    - GF_LOG
    - compute_seg_size
    - GF_SAFEALLOC
    - moof_get_earliest_cts
    - gf_bs_truncate
    - gf_list_last
    - gf_bs_del
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_list_new
    - gf_assert
    - gf_bs_read_data
    - gf_isom_write_styp
    - gf_list_rem_last
    - gf_list_get
    - gf_isom_box_size
    - gf_bs_get_position
    - moof_get_sap_info
    - estimate_next_moof_earliest_presentation_time
    - gf_bs_prevent_dispatch
    - gf_bs_write_u32
    - gf_free
    - gf_bs_get_size
    - gf_isom_datamap_del
    - gf_isom_get_track_from_id
    - moof_get_duration
    - moof_get_first_sap_end
    - gf_realloc
    - gf_isom_box_del
    - gf_bs_new_cbk_buffer
    - gf_list_rem
    - gf_bs_get_content_no_truncate
    - get_presentation_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_close_segment(GF_ISOFile *movie, s32 subsegments_per_sidx,
      GF_ISOTrackID referenceTrackID, u64 ref_track_decode_time, s32 ts_shift, u64
      ref_track_next_cts, Bool daisy_chain_sidx, Bool use_ssix, Bool last_segment,
      Bool close_segment_handle, u32 segment_marker_4cc, u64 *index_start_range, u64
      *index_end_range, u64 *out_seg_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2584,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2606,1
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:2594,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2601,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2599,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2610,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/movie_fragments.c:2614,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:2616,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:2617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2621,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2622,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2625,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2635,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2651,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/movie_fragments.c:2659,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2641,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2647,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 2
    argNames:
    - movie
    - flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOStartFragmentFlags
    constantsTouched: []
    func_position:
      end: 2667
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2667
    functionName: gf_isom_start_fragment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_bs_get_position
    - gf_realloc
    - gf_list_count
    - StoreFragment
    - strcmp
    - gf_bs_prevent_dispatch
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_start_fragment(GF_ISOFile *movie, GF_ISOStartFragmentFlags
      flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3515
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3515
    functionName: gf_isom_is_fragmented
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_fragmented(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:49,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - mov
    - TrackID
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: gf_isom_get_traf
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_TrackFragmentBox*
    signature: 'GF_TrackFragmentBox *gf_isom_get_traf(GF_ISOFile *mov, GF_ISOTrackID
      TrackID) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:480,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:504,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:499,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:490,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:485,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:509,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:519,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:524,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:529,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    argCount: 4
    argNames:
    - movie
    - TrackID
    - Code
    - Param
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOTrackFragmentOption
    - u32
    constantsTouched: []
    func_position:
      end: 536
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 536
    functionName: gf_isom_set_fragment_option
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_fragment_option(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, GF_ISOTrackFragmentOption Code, u32 Param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:907,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:917,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:908,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - moof
    - refTrackID
    argTypes:
    - GF_MovieFragmentBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 926
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 926
    functionName: moof_get_earliest_cts
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u64
    signature: 'static u64 moof_get_earliest_cts(GF_MovieFragmentBox *moof, GF_ISOTrackID
      refTrackID) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2408,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2400,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2444,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2449,1
    - Dst: gf_isom_write_compressed_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:2455,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2478,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:2485,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2433,1
    - Dst: gf_bs_new_cbk_buffer
      Src: /src/gpac/src/isomedia/movie_fragments.c:2397,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/movie_fragments.c:2398,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2441,1
    - Dst: gf_isom_write_compressed_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:2463,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:2473,1
    - Dst: gf_isom_write_compressed_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:2471,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:2465,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2486,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:2430,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/movie_fragments.c:2463,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/movie_fragments.c:2455,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/movie_fragments.c:2471,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 99
    argCount: 3
    argNames:
    - movie
    - sidx_max_size
    - force_v1
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2488
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2488
    functionName: gf_isom_flush_sidx
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_write_compressed_box
    - gf_bs_del
    - gf_isom_box_size
    - GF_4CC
    - gf_isom_box_write
    - gf_isom_box_del
    - GF_LOG
    - gf_bs_prevent_dispatch
    - gf_bs_new_cbk_buffer
    - gf_bs_get_content_no_truncate
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_flush_sidx(GF_ISOFile *movie, u32 sidx_max_size,
      Bool force_v1) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/movie_fragments.c:2680,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2698,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2708,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/movie_fragments.c:2737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2711,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:2712,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2713,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2752,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2709,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2729,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2714,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:2739,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2754,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2677,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/movie_fragments.c:2678,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2685,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:2684,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2688,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2695,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2719,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:2726,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2740,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2742,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:2694,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 82
    argCount: 5
    argNames:
    - movie
    - tpl_data
    - tpl_size
    - has_tfdt
    - out_sidx
    argTypes:
    - GF_ISOFile*
    - u8*
    - u32
    - Bool*
    - GF_SegmentIndexBox**
    constantsTouched: []
    func_position:
      end: 2756
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2756
    functionName: gf_isom_set_fragment_template
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_bs_del
    - gf_list_find
    - gf_isom_box_parse
    - gf_list_count
    - gf_isom_box_del
    - gf_bs_new
    - gf_bs_available
    - gf_list_rem
    - gf_list_del_item
    - gf_isom_get_track_from_id
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_fragment_template(GF_ISOFile *movie, u8 *tpl_data,
      u32 tpl_size, Bool *has_tfdt, GF_SegmentIndexBox **out_sidx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1191,1
    - Dst: update_trun_offsets
      Src: /src/gpac/src/isomedia/movie_fragments.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - force_moof_base_offset
    argTypes:
    - movie
    constantsTouched: []
    func_position:
      end: 1194
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1194
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - update_trun_offsets
    - gf_isom_box_size
    linkageType: ''
    returnType: else
    signature: 'else if (movie->use_segments || movie->force_moof_base_offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:64,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - movie
    - duration
    - remove_mehd
    argTypes:
    - GF_ISOFile*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: gf_isom_set_movie_duration
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_movie_duration(GF_ISOFile *movie, u64 duration,
      Bool remove_mehd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:546,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - movie
    - offset
    argTypes:
    - GF_ISOFile*
    - s32
    constantsTouched: []
    func_position:
      end: 560
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 560
    functionName: update_trun_offsets
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: void
    signature: 'void update_trun_offsets(GF_ISOFile *movie, s32 offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1318,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1325,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1327,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1320,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1324,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - sidx
    - bs
    - start_pos
    - ssix
    argTypes:
    - GF_SegmentIndexBox*
    - GF_BitStream*
    - u64
    - GF_SubsegmentIndexBox*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1331
    functionName: sidx_rewrite
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_seek
    - gf_isom_box_size
    - gf_isom_box_write
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sidx_rewrite(GF_SegmentIndexBox *sidx, GF_BitStream
      *bs, u64 start_pos, GF_SubsegmentIndexBox *ssix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - movie
    - reference_track_ID
    - ntp
    - timestamp
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2545
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2545
    functionName: gf_isom_set_fragment_reference_time
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_fragment_reference_time(GF_ISOFile *movie,
      GF_ISOTrackID reference_track_ID, u64 ntp, u64 timestamp) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/movie_fragments.c:2791,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2798,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:2849,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2860,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2903,1
    - Dst: Media_ParseODFrame
      Src: /src/gpac/src/isomedia/movie_fragments.c:2910,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2931,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:2941,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2954,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/movie_fragments.c:2879,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2967,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2780,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2787,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:2795,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2827,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2847,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2806,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2846,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2801,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2875,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2876,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:2962,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:2773,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2789,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2792,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2793,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2822,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2872,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:2886,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:2932,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:2943,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2975,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/movie_fragments.c:2845,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2825,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2856,1
    - Dst: GF_ISOM_FORMAT_FRAG_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:2884,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/movie_fragments.c:2946,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:2952,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:2957,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 221
    argCount: 10
    argNames:
    - movie
    - TrackID
    - sample
    - DescIndex
    - Duration
    - PaddingBits
    - DegradationPriority
    - redundant_coding
    - ref
    - ref_offset
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOSample*
    - u32
    - u32
    - u8
    - u16
    - Bool
    - void**
    - u32
    constantsTouched: []
    func_position:
      end: 2980
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2980
    functionName: gf_isom_fragment_add_sample_ex
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_isom_box_new_parent
    - gf_bs_write_data
    - GF_LOG
    - GF_ISOM_FORMAT_FRAG_FLAGS
    - GF_ISOM_GET_FRAG_DEPEND_FLAGS
    - GF_SAFEALLOC
    - gf_isom_get_traf
    - gf_bs_del
    - gf_list_count
    - gf_list_new
    - gf_list_get
    - gf_bs_get_position
    - Media_ParseODFrame
    - gf_bs_new
    - memcpy
    - gf_free
    - gf_isom_sample_del
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_add_sample_ex(GF_ISOFile *movie,
      GF_ISOTrackID TrackID, const GF_ISOSample *sample, u32 DescIndex, u32 Duration,
      u8 PaddingBits, u16 DegradationPriority, Bool redundant_coding, void **ref,
      u32 ref_offset) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:2993,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/movie_fragments.c:3000,1
    - Dst: gf_isom_create_piff_psec_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:3008,1
    - Dst: gf_isom_create_samp_enc_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:3004,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3014,1
    - Dst: gf_isom_cenc_set_saiz_saio
      Src: /src/gpac/src/isomedia/movie_fragments.c:3019,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:3023,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:3028,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:3030,1
    - Dst: gf_isom_cenc_set_saiz_saio
      Src: /src/gpac/src/isomedia/movie_fragments.c:3044,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3038,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/movie_fragments.c:3033,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 7
    argNames:
    - output
    - TrackID
    - sai_b
    - sai_b_size
    - use_subsamples
    - use_saio_32bit
    - use_multikey
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u8*
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3046
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 3046
    functionName: gf_isom_fragment_set_cenc_sai
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_cenc_set_saiz_saio
    - GF_LOG
    - gf_isom_create_samp_enc_box
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_isom_create_piff_psec_box
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_set_cenc_sai(GF_ISOFile *output,
      GF_ISOTrackID TrackID, u8 *sai_b, u32 sai_b_size, Bool use_subsamples, Bool
      use_saio_32bit, Bool use_multikey) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:142,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:128,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:123,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:131,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:135,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:136,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:190,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:192,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/isomedia/movie_fragments.c:198,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/src/isomedia/movie_fragments.c:114,1
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/movie_fragments.c:152,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:172,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/movie_fragments.c:154,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:176,1
    - Dst: gf_isom_reset_alt_brands
      Src: /src/gpac/src/isomedia/movie_fragments.c:200,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/movie_fragments.c:110,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:118,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/movie_fragments.c:144,1
    - Dst: WriteToFile
      Src: /src/gpac/src/isomedia/movie_fragments.c:161,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:175,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:165,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:146,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:166,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 3
    argNames:
    - movie
    - media_segment_type
    - mvex_after_tracks
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 209
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 209
    functionName: gf_isom_finalize_for_fragment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - WriteToFile
    - gf_isom_get_track_from_id
    - gf_bs_truncate
    - gf_list_last
    - gf_isom_set_brand_info
    - Media_SetDuration
    - gf_isom_box_new_parent
    - gf_list_enum
    - gf_list_count
    - gf_bs_seek
    - gf_isom_modify_alternate_brand
    - memcpy
    - GF_SAFEALLOC
    - gf_isom_reset_alt_brands
    - gf_list_new
    - gf_list_del_item
    - gf_isom_get_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_finalize_for_fragment(GF_ISOFile *movie,
      u32 media_segment_type, Bool mvex_after_tracks) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:591,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:594,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:593,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:595,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:592,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:611,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:646,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:647,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 146
    argCount: 2
    argNames:
    - movie
    - traf
    argTypes:
    - GF_ISOFile*
    - GF_TrackFragmentBox*
    constantsTouched: []
    func_position:
      end: 746
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 746
    functionName: UpdateRuns
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    - gf_list_del_item
    linkageType: ''
    returnType: u32
    signature: 'static u32 UpdateRuns(GF_ISOFile *movie, GF_TrackFragmentBox *traf) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1345,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1367,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/movie_fragments.c:1369,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1356,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1347,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1374,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1378,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1388,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1392,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1394,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1400,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1398,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1406,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 8
    argNames:
    - movie
    - subsegs_per_sidx
    - daisy_chain_sidx
    - nb_segs
    - frags_per_segment
    - start_range
    - end_range
    - use_ssix
    argTypes:
    - GF_ISOFile*
    - s32
    - Bool
    - u32
    - u32*
    - u32*
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 1409
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1409
    functionName: gf_isom_allocate_sidx
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_malloc
    - memset
    - gf_isom_box_size
    - gf_bs_get_position
    - gf_isom_box_write
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_allocate_sidx(GF_ISOFile *movie, s32 subsegs_per_sidx,
      Bool daisy_chain_sidx, u32 nb_segs, u32 *frags_per_segment, u32 *start_range,
      u32 *end_range, Bool use_ssix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2553,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2558,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:2559,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:2554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - movie
    - reference_track_ID
    - ntp_in_track_timescale
    - traf_duration_in_track_timescale
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2565
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2565
    functionName: gf_isom_set_traf_mss_timeext
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_list_count
    - gf_list_get
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_traf_mss_timeext(GF_ISOFile *movie, GF_ISOTrackID
      reference_track_ID, u64 ntp_in_track_timescale, u64 traf_duration_in_track_timescale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fragment_add_sample_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:2986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 8
    argNames:
    - movie
    - TrackID
    - sample
    - DescIndex
    - Duration
    - PaddingBits
    - DegradationPriority
    - redundant_coding
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOSample*
    - u32
    - u32
    - u8
    - u16
    - Bool
    constantsTouched: []
    func_position:
      end: 2988
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2988
    functionName: gf_isom_fragment_add_sample
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_fragment_add_sample_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_add_sample(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, const GF_ISOSample *sample, u32 DescIndex, u32 Duration, u8 PaddingBits,
      u16 DegradationPriority, Bool redundant_coding) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3059,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/movie_fragments.c:3072,1
    - Dst: GF_ISOM_GET_FRAG_DEG
      Src: /src/gpac/src/isomedia/movie_fragments.c:3073,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3063,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3066,1
    - Dst: GF_ISOM_FORMAT_FRAG_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3074,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3080,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/movie_fragments.c:3081,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:3090,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:3092,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:3102,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/movie_fragments.c:3095,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3100,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:3105,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 7
    argNames:
    - movie
    - TrackID
    - data
    - data_size
    - PaddingBits
    - ref
    - ref_offset
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u8*
    - u32
    - u8
    - void**
    - u32
    constantsTouched: []
    func_position:
      end: 3110
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3110
    functionName: gf_isom_fragment_append_data_ex
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - GF_ISOM_FORMAT_FRAG_FLAGS
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - GF_ISOM_GET_FRAG_DEG
    - gf_list_new
    - GF_ISOM_GET_FRAG_SYNC
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_append_data_ex(GF_ISOFile *movie,
      GF_ISOTrackID TrackID, u8 *data, u32 data_size, u8 PaddingBits, void **ref,
      u32 ref_offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:321,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/movie_fragments.c:323,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/movie_fragments.c:328,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/isomedia/movie_fragments.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - movie
    - TrackID
    - BaseTrackID
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: gf_isom_enable_traf_inherit
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_set_track_reference
    - gf_isom_get_track_from_id
    - gf_list_find
    - GetTrex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_enable_traf_inherit(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, GF_ISOTrackID BaseTrackID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3527,1
    - Dst: isom_sample_refs_push
      Src: /src/gpac/src/isomedia/movie_fragments.c:3535,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - movie
    - TrackID
    - refID
    - nb_refs
    - refs
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - s32
    - u32
    - s32*
    constantsTouched: []
    func_position:
      end: 3536
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3536
    functionName: gf_isom_fragment_add_sample_references
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - isom_sample_refs_push
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_add_sample_references(GF_ISOFile
      *movie, GF_ISOTrackID TrackID, s32 refID, u32 nb_refs, s32 *refs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:277,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:289,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:291,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:283,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:296,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/movie_fragments.c:300,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:302,1
    - Dst: mvex_on_child_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:305,1
    - Dst: gf_isom_change_track_fragment_defaults
      Src: /src/gpac/src/isomedia/movie_fragments.c:308,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 9
    argNames:
    - movie
    - TrackID
    - DefaultSampleDescriptionIndex
    - DefaultSampleDuration
    - DefaultSampleSize
    - DefaultSampleSyncFlags
    - DefaultSamplePadding
    - DefaultDegradationPriority
    - force_traf_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    - u32
    - u8
    - u8
    - u16
    - Bool
    constantsTouched: []
    func_position:
      end: 309
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 309
    functionName: gf_isom_setup_track_fragment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - mvex_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_change_track_fragment_defaults
    - GetTrex
    - moov_on_child_box
    - gf_isom_get_track_from_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_setup_track_fragment(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, u32 DefaultSampleDescriptionIndex, u32 DefaultSampleDuration, u32 DefaultSampleSize,
      u8 DefaultSampleSyncFlags, u8 DefaultSamplePadding, u16 DefaultDegradationPriority,
      Bool force_traf_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/movie_fragments.c:1422,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1430,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/movie_fragments.c:1440,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1432,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/movie_fragments.c:1426,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1442,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1443,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1444,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1446,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - movie
    - last_segment
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 1451
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1451
    functionName: gf_isom_write_styp
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_size
    - gf_list_del
    - gf_isom_box_write
    - gf_list_pop_front
    - gf_isom_box_del
    - gf_isom_modify_alternate_brand
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_write_styp(GF_ISOFile *movie, Bool last_segment) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1596,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1599,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - moof
    argTypes:
    - GF_MovieFragmentBox*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1613
    functionName: moof_get_first_sap_end
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 moof_get_first_sap_end(GF_MovieFragmentBox *moof) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:936,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:938,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/movie_fragments.c:944,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:939,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:948,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - movie
    - out_seg_size
    - is_last_moof
    argTypes:
    - GF_ISOFile*
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 952
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 952
    functionName: flush_ref_samples
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void flush_ref_samples(GF_ISOFile *movie, u64 *out_seg_size, Bool
      is_last_moof) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:994,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1030,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/movie_fragments.c:1222,1
    - Dst: UpdateRuns
      Src: /src/gpac/src/isomedia/movie_fragments.c:1142,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1090,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1230,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1217,1
    - Dst: gf_isom_write_compressed_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:1253,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1163,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:985,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1044,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1077,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1127,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1157,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1221,1
    - Dst: gf_bs_new_cbk
      Src: /src/gpac/src/isomedia/movie_fragments.c:1209,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:1308,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:977,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1118,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1218,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1239,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1244,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/movie_fragments.c:1253,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1296,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/movie_fragments.c:1223,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:995,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1041,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:1046,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1075,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1295,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1290,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:980,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1081,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:1146,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1105,1
    - Dst: gf_bs_grow
      Src: /src/gpac/src/isomedia/movie_fragments.c:1241,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1262,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1309,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1155,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1229,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1113,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1231,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1272,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/movie_fragments.c:1255,1
    - Dst: ComputeFragmentDefaults
      Src: /src/gpac/src/isomedia/movie_fragments.c:1140,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1159,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1191,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1119,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1099,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:981,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1019,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:1008,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:1280,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:986,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:993,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1068,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1072,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1088,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/movie_fragments.c:1220,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1177,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1263,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/movie_fragments.c:1267,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1001,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1045,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1283,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1199,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/movie_fragments.c:1079,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:1147,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:982,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1097,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/movie_fragments.c:1227,1
    - Dst: update_trun_offsets
      Src: /src/gpac/src/isomedia/movie_fragments.c:1190,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1274,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/movie_fragments.c:1289,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1060,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1093,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1085,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1082,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1298,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1299,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1138,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:1213,1
    - Dst: gf_bs_prevent_dispatch
      Src: /src/gpac/src/isomedia/movie_fragments.c:1250,1
    - Dst: flush_ref_samples
      Src: /src/gpac/src/isomedia/movie_fragments.c:1272,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1302,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1000,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1010,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/movie_fragments.c:1043,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1095,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/movie_fragments.c:1284,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/movie_fragments.c:1117,1
    - Dst: update_trun_offsets
      Src: /src/gpac/src/isomedia/movie_fragments.c:1132,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1233,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:1009,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/movie_fragments.c:1219,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1279,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 291
    argCount: 5
    argNames:
    - movie
    - load_mdat_only
    - data_offset_diff
    - moof_size
    - reassign_bs
    argTypes:
    - GF_ISOFile*
    - Bool
    - s32
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 1313
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 1313
    functionName: StoreFragment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_malloc
    - gf_bs_get_content
    - flush_ref_samples
    - gf_bs_grow
    - gf_isom_box_write
    - gf_bs_write_data
    - gf_bs_seek
    - gf_bs_new_cbk
    - update_trun_offsets
    - gf_bs_truncate
    - gf_bs_del
    - gf_list_del
    - gf_list_pop_front
    - GF_4CC
    - gf_list_count
    - gf_isom_box_del_parent
    - UpdateRuns
    - gf_bs_read_data
    - gf_list_del_item
    - ComputeFragmentDefaults
    - gf_bs_write_u64
    - gf_list_get
    - gf_isom_write_compressed_box
    - gf_isom_box_size
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_new
    - gf_bs_prevent_dispatch
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_free
    - gf_isom_box_del
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err StoreFragment(GF_ISOFile *movie, Bool load_mdat_only,
      s32 data_offset_diff, u32 *moof_size, Bool reassign_bs) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_write_styp
      Src: /src/gpac/src/isomedia/movie_fragments.c:1485,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1489,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1497,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1518,1
    - Dst: gf_isom_datamap_flush
      Src: /src/gpac/src/isomedia/movie_fragments.c:1516,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1513,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1534,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1474,1
    - Dst: gf_bs_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1475,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/movie_fragments.c:1512,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/movie_fragments.c:1510,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1502,1
    - Dst: gf_isom_fdm_new_temp
      Src: /src/gpac/src/isomedia/movie_fragments.c:1519,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1496,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/isomedia/movie_fragments.c:1533,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/movie_fragments.c:1536,1
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:1464,1
    - Dst: gf_bs_new_cbk_buffer
      Src: /src/gpac/src/isomedia/movie_fragments.c:1481,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1493,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/movie_fragments.c:1494,1
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:1499,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/movie_fragments.c:1509,1
    - Dst: gf_isom_datamap_flush
      Src: /src/gpac/src/isomedia/movie_fragments.c:1521,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1523,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:1537,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - movie
    - last_segment
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 1544
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1544
    functionName: gf_isom_flush_fragments
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_fdm_new_temp
    - gf_bs_write_data
    - StoreFragment
    - gf_bs_seek
    - gf_bs_truncate
    - gf_bs_del
    - gf_list_count
    - gf_bs_read_data
    - gf_isom_write_styp
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_get_size
    - gf_isom_datamap_del
    - gf_bs_transfer
    - gf_isom_box_del
    - gf_bs_new_cbk_buffer
    - gf_list_rem
    - gf_bs_get_content_no_truncate
    - gf_isom_datamap_flush
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_flush_fragments(GF_ISOFile *movie, Bool last_segment) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1574
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1574
    functionName: gf_isom_get_segment_name
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_isom_get_segment_name(GF_ISOFile *movie) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1582,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:1585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - movie
    - out_seg_size
    argTypes:
    - GF_ISOFile*
    - u64*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1589
    functionName: compute_seg_size
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    linkageType: ''
    returnType: void
    signature: 'static void compute_seg_size(GF_ISOFile *movie, u64 *out_seg_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1625,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1627,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1628,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1641,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:1643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:1644,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:1651,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1656,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:1657,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:1660,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/movie_fragments.c:1709,1
    - Dst: get_presentation_time
      Src: /src/gpac/src/isomedia/movie_fragments.c:1662,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/movie_fragments.c:1704,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/movie_fragments.c:1711,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    argCount: 4
    argNames:
    - ref_track_decode_time
    - ts_shift
    - refTrackID
    - movie
    argTypes:
    - u64
    - s32
    - u32
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1725
    functionName: estimate_next_moof_earliest_presentation_time
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_realloc
    - gf_list_enum
    - gf_list_count
    - ABS
    - memmove
    - get_presentation_time
    linkageType: ''
    returnType: u64
    signature: 'static u64 estimate_next_moof_earliest_presentation_time(u64 ref_track_decode_time,
      s32 ts_shift, u32 refTrackID, GF_ISOFile *movie) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3388,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3391,1
    - Dst: GF_ISOM_RESET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3397,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3393,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3402,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:3410,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3415,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3418,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 6
    argNames:
    - movie
    - trackID
    - is_leading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3421
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3421
    functionName: gf_isom_fragment_set_sample_flags
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_list_count
    - GF_ISOM_RESET_FRAG_DEPEND_FLAGS
    - GF_ISOM_GET_FRAG_DEPEND_FLAGS
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_fragment_set_sample_flags(GF_ISOFile *movie, GF_ISOTrackID
      trackID, u32 is_leading, u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3472
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3472
    functionName: gf_isom_get_next_moof_number
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_next_moof_number(GF_ISOFile *movie) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:342,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/movie_fragments.c:346,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:345,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:360,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/movie_fragments.c:348,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:361,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:366,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/movie_fragments.c:369,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/movie_fragments.c:371,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:372,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:381,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:377,1
    - Dst: mvex_on_child_box
      Src: /src/gpac/src/isomedia/movie_fragments.c:378,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - movie
    - TrackID
    - boxes
    - boxes_size
    - force_traf_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 383
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 383
    functionName: gf_isom_setup_track_fragment_template
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - mvex_on_child_box
    - gf_bs_del
    - gf_isom_box_new_parent
    - gf_isom_box_parse
    - gf_isom_box_del_parent
    - gf_bs_new
    - GetTrex
    - gf_bs_available
    - moov_on_child_box
    - gf_list_del_item
    - gf_isom_get_track_from_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_setup_track_fragment_template(GF_ISOFile
      *movie, GF_ISOTrackID TrackID, u8 *boxes, u32 boxes_size, u8 force_traf_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - traf
    - trun_idx
    - samp_idx
    argTypes:
    - GF_TrackFragmentBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 772
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 772
    functionName: get_earliest_cts_following
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: s32
    signature: 'static s32 get_earliest_cts_following(GF_TrackFragmentBox *traf, u32
      trun_idx, u32 samp_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_close_segment
      Src: /src/gpac/src/isomedia/movie_fragments.c:2494,1
    - Dst: StoreFragment
      Src: /src/gpac/src/isomedia/movie_fragments.c:2496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2498
    functionName: gf_isom_close_fragments
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_close_segment
    - StoreFragment
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_close_fragments(GF_ISOFile *movie) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fragment_append_data_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - movie
    - TrackID
    - data
    - data_size
    - PaddingBits
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 3116
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3116
    functionName: gf_isom_fragment_append_data
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_fragment_append_data_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_append_data(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, u8 *data, u32 data_size, u8 PaddingBits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3161,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - movie
    - TrackID
    - orig_dur
    - elapsed_dur
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3171
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3171
    functionName: gf_isom_set_fragment_original_duration
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_fragment_original_duration(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, u32 orig_dur, u32 elapsed_dur) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/movie_fragments.c:3249,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3259,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3257,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/movie_fragments.c:3280,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3290,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3316,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3287,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3314,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3330,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3368,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3246,1
    - Dst: GF_ISOM_RESET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:3267,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3306,1
    - Dst: gf_isom_sample_get_subsample_entry
      Src: /src/gpac/src/isomedia/movie_fragments.c:3299,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3327,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3332,1
    - Dst: gf_isom_add_subsample_info
      Src: /src/gpac/src/isomedia/movie_fragments.c:3333,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3339,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3263,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3308,1
    - Dst: stbl_GetSampleDepType
      Src: /src/gpac/src/isomedia/movie_fragments.c:3264,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3272,1
    - Dst: gf_isom_get_subsample_types
      Src: /src/gpac/src/isomedia/movie_fragments.c:3296,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3318,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3323,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3347,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3356,1
    - Dst: gf_isom_copy_sample_group_entry_to_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3359,1
    - Dst: gf_isom_copy_sample_group_entry_to_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3370,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 139
    argCount: 6
    argNames:
    - dest
    - TrackID
    - orig
    - track
    - sampleNumber
    - sgpd_in_traf
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3376
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3376
    functionName: gf_isom_fragment_copy_subsample
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_realloc
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_sample_get_subsample_entry
    - GF_ISOM_RESET_FRAG_DEPEND_FLAGS
    - gf_isom_get_subsample_types
    - gf_isom_copy_sample_group_entry_to_traf
    - GF_ISOM_GET_FRAG_DEPEND_FLAGS
    - stbl_GetSampleDepType
    - gf_list_new
    - gf_isom_add_subsample_info
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_fragment_copy_subsample(GF_ISOFile *dest, GF_ISOTrackID
      TrackID, GF_ISOFile *orig, u32 track, u32 sampleNumber, Bool sgpd_in_traf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3433,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - movie
    - TrackID
    - decode_time
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u64
    constantsTouched: []
    func_position:
      end: 3444
      start: 3427
    functionDepth: 0
    functionLinenumber: 3427
    functionLinenumberEnd: 3444
    functionName: gf_isom_set_traf_base_media_decode_time
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_traf_base_media_decode_time(GF_ISOFile
      *movie, GF_ISOTrackID TrackID, u64 decode_time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3480,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/movie_fragments.c:3483,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3487,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3486,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/movie_fragments.c:3481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:3489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - movie
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3492
      start: 3474
    functionDepth: 0
    functionLinenumber: 3474
    functionLinenumberEnd: 3492
    functionName: gf_isom_set_emsg
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_isom_box_parse
    - gf_bs_new
    - gf_bs_available
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_emsg(GF_ISOFile *movie, u8 *data, u32 size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/movie_fragments.c:228,1
    - Dst: GF_ISOM_FORMAT_FRAG_FLAGS
      Src: /src/gpac/src/isomedia/movie_fragments.c:240,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/movie_fragments.c:234,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 9
    argNames:
    - movie
    - TrackID
    - DefaultSampleDescriptionIndex
    - DefaultSampleDuration
    - DefaultSampleSize
    - DefaultSampleIsSync
    - DefaultSamplePadding
    - DefaultDegradationPriority
    - force_traf_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    - u32
    - u8
    - u8
    - u16
    - u8
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: gf_isom_change_track_fragment_defaults
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - GF_ISOM_FORMAT_FRAG_FLAGS
    - gf_isom_get_track_from_id
    - GetTrex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_change_track_fragment_defaults(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, u32 DefaultSampleDescriptionIndex, u32 DefaultSampleDuration, u32 DefaultSampleSize,
      u8 DefaultSampleIsSync, u8 DefaultSamplePadding, u16 DefaultDegradationPriority,
      u8 force_traf_flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - traf
    - value
    - index
    argTypes:
    - GF_TrackFragmentBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 409
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 409
    functionName: GetNumUsedValues
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: u32
    signature: 'u32 GetNumUsedValues(GF_TrackFragmentBox *traf, u32 value, u32 index) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:785,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:802,1
    - Dst: get_earliest_cts_following
      Src: /src/gpac/src/isomedia/movie_fragments.c:833,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:786,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:797,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/movie_fragments.c:839,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/movie_fragments.c:841,1
    - Dst: get_earliest_cts_following
      Src: /src/gpac/src/isomedia/movie_fragments.c:843,1
    - Dst: GF_ISOM_GET_FRAG_SYNC
      Src: /src/gpac/src/isomedia/movie_fragments.c:854,1
    - Dst: get_earliest_cts_following
      Src: /src/gpac/src/isomedia/movie_fragments.c:855,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 4
    argNames:
    - moof
    - refTrackID
    - sap_delta
    - starts_with_sap
    argTypes:
    - GF_MovieFragmentBox*
    - GF_ISOTrackID
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 873
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 873
    functionName: moof_get_sap_info
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - get_earliest_cts_following
    - GF_ISOM_GET_FRAG_SYNC
    linkageType: ''
    returnType: u32
    signature: 'static u32 moof_get_sap_info(GF_MovieFragmentBox *moof, GF_ISOTrackID
      refTrackID, u32 *sap_delta, Bool *starts_with_sap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - media_time
    - ts_shift
    argTypes:
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 1560
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1560
    functionName: get_presentation_time
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 get_presentation_time(u64 media_time, s32 ts_shift) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2508,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:2515,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/isomedia/movie_fragments.c:2514,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2516,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/movie_fragments.c:2521,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:2521,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/movie_fragments.c:2522,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:2532,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - movie
    - SegName
    - memory_mode
    argTypes:
    - GF_ISOFile*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2535
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2535
    functionName: gf_isom_start_segment
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_list_count
    - gf_bs_new
    - gf_isom_datamap_new
    - gf_assert
    - gf_isom_get_filename
    - gf_isom_datamap_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_start_segment(GF_ISOFile *movie, const char
      *SegName, Bool memory_mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/movie_fragments.c:3125,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3132,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3139,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3130,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3141,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/movie_fragments.c:3146,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/movie_fragments.c:3150,1
    - Dst: gf_isom_add_subsample_info
      Src: /src/gpac/src/isomedia/movie_fragments.c:3152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - movie
    - TrackID
    - flags
    - subSampleSize
    - priority
    - reserved
    - discardable
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    - u8
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3153
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3153
    functionName: gf_isom_fragment_add_subsample
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_list_new
    - gf_isom_add_subsample_info
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_fragment_add_subsample(GF_ISOFile *movie, GF_ISOTrackID
      TrackID, u32 flags, u32 subSampleSize, u8 priority, u32 reserved, Bool discardable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3452
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3452
    functionName: gf_isom_enable_mfra
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_enable_mfra(GF_ISOFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - movie
    - TrackID
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 3504
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3504
    functionName: gf_isom_is_track_fragmented
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - GetTrex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_track_fragmented(GF_ISOFile *movie, GF_ISOTrackID
      TrackID) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/movie_fragments.c:3202,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3213,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:3220,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3184,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3209,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/movie_fragments.c:3211,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3221,1
    - Dst: gf_isom_add_sample_group_entry
      Src: /src/gpac/src/isomedia/movie_fragments.c:3232,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/movie_fragments.c:3182,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/movie_fragments.c:3192,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/movie_fragments.c:3201,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:3203,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/movie_fragments.c:3210,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/movie_fragments.c:3219,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3204,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/movie_fragments.c:3212,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/movie_fragments.c:3225,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/movie_fragments.c:3218,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 6
    argNames:
    - traf
    - stbl
    - grouping_type
    - grouping_type_parameter
    - sampleGroupDescriptionIndex
    - sgpd_in_traf
    argTypes:
    - GF_TrackFragmentBox*
    - GF_SampleTableBox*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3233
      start: 3174
    functionDepth: 0
    functionLinenumber: 3174
    functionLinenumberEnd: 3233
    functionName: gf_isom_copy_sample_group_entry_to_traf
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_new
    - gf_isom_set_sample_group_info_ex
    - gf_bs_write_u8
    - gf_bs_write_int
    - gf_isom_add_sample_group_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_copy_sample_group_entry_to_traf(GF_TrackFragmentBox
      *traf, GF_SampleTableBox *stbl, u32 grouping_type, u32 grouping_type_parameter,
      u32 sampleGroupDescriptionIndex, Bool sgpd_in_traf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - movie
    - value
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3463
      start: 3457
    functionDepth: 0
    functionLinenumber: 3457
    functionLinenumberEnd: 3463
    functionName: gf_isom_set_next_moof_number
    functionSourceFile: /src/gpac/src/isomedia/movie_fragments.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_set_next_moof_number(GF_ISOFile *movie, u32
      value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - stsz
    - SampleNumber
    - Size
    argTypes:
    - GF_SampleSizeBox*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: stbl_GetSampleSize
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleSize(GF_SampleSizeBox *stsz, u32 SampleNumber,
      u32 *Size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 4
    argNames:
    - stts
    - SampleNumber
    - DTS
    - duration
    argTypes:
    - GF_TimeToSampleBox*
    - u32
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 234
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 234
    functionName: stbl_GetSampleDTS_and_Duration
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleDTS_and_Duration(GF_TimeToSampleBox *stts, u32
      SampleNumber, u64 *DTS, u32 *duration) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - ctts
    - SampleNumber
    - CTSoffset
    argTypes:
    - GF_CompositionOffsetBox*
    - u32
    - s32*
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: stbl_GetSampleCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleCTS(GF_CompositionOffsetBox *ctts, u32 SampleNumber,
      s32 *CTSoffset) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 5
    argNames:
    - stss
    - SampleNumber
    - IsRAP
    - prevRAP
    - nextRAP
    argTypes:
    - GF_SyncSampleBox*
    - u32
    - GF_ISOSAPType*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 271
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 271
    functionName: stbl_GetSampleRAP
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleRAP(GF_SyncSampleBox *stss, u32 SampleNumber,
      GF_ISOSAPType *IsRAP, u32 *prevRAP, u32 *nextRAP) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GetGhostNum
      Src: /src/gpac/src/isomedia/stbl_read.c:443,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_read.c:460,1
    - Dst: GetGhostNum
      Src: /src/gpac/src/isomedia/stbl_read.c:454,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/stbl_read.c:517,1
    - Dst: GetGhostNum
      Src: /src/gpac/src/isomedia/stbl_read.c:490,1
    - Dst: stbl_GetSampleSize
      Src: /src/gpac/src/isomedia/stbl_read.c:525,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 138
    argCount: 6
    argNames:
    - stbl
    - sampleNumber
    - offset
    - chunkNumber
    - descIndex
    - out_ent
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u64*
    - u32*
    - u32*
    - GF_StscEntry**
    constantsTouched: []
    func_position:
      end: 545
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 545
    functionName: stbl_GetSampleInfos
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - gf_assert
    - GetGhostNum
    - stbl_GetSampleSize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleInfos(GF_SampleTableBox *stbl, u32 sampleNumber,
      u64 *offset, u32 *chunkNumber, u32 *descIndex, GF_StscEntry **out_ent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_read.c:563,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_read.c:577,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_read.c:565,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - stsh
    - sampleNumber
    - syncNum
    argTypes:
    - GF_ShadowSyncBox*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 589
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 589
    functionName: stbl_GetSampleShadow
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleShadow(GF_ShadowSyncBox *stsh, u32 *sampleNumber,
      u32 *syncNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleDTS_and_Duration
      Src: /src/gpac/src/isomedia/stbl_read.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - stts
    - SampleNumber
    - DTS
    argTypes:
    - GF_TimeToSampleBox*
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: stbl_GetSampleDTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleDTS_and_Duration
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleDTS(GF_TimeToSampleBox *stts, u32 SampleNumber,
      u64 *DTS) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_read.c:276,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_read.c:284,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_read.c:285,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_read.c:277,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_read.c:291,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_read.c:303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_read.c:320,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 5
    argNames:
    - stbl
    - SampleNumber
    - IsRAP
    - prevRAP
    - nextRAP
    argTypes:
    - GF_SampleTableBox*
    - u32
    - GF_ISOSAPType*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: stbl_SearchSAPs
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_assert
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SearchSAPs(GF_SampleTableBox *stbl, u32 SampleNumber,
      GF_ISOSAPType *IsRAP, u32 *prevRAP, u32 *nextRAP) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - padb
    - SampleNumber
    - PadBits
    argTypes:
    - GF_PaddingBitsBox*
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: stbl_GetPaddingBits
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetPaddingBits(GF_PaddingBitsBox *padb, u32 SampleNumber,
      u8 *PadBits) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/stbl_read.c:65,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/stbl_read.c:92,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 5
    argNames:
    - stbl
    - DTS
    - useCTS
    - sampleNumber
    - prevSampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u64
    - u8
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 128
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 128
    functionName: stbl_findEntryForTime
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleCTS
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_findEntryForTime(GF_SampleTableBox *stbl, u64 DTS, u8
      useCTS, u32 *sampleNumber, u32 *prevSampleNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - ent
    - EntryIndex
    - count
    - stbl
    argTypes:
    - GF_StscEntry*
    - u32
    - u32
    - GF_SampleTableBox*
    constantsTouched: []
    func_position:
      end: 398
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 398
    functionName: GetGhostNum
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void GetGhostNum(GF_StscEntry *ent, u32 EntryIndex, u32 count, GF_SampleTableBox
      *stbl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_read.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - sdep
    - SampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_SampleDependencyTypeBox*
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: stbl_GetSampleDepType
    functionSourceFile: /src/gpac/src/isomedia/stbl_read.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_GetSampleDepType(GF_SampleDependencyTypeBox *sdep, u32
      SampleNumber, u32 *isLeading, u32 *dependsOn, u32 *dependedOn, u32 *redundant) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/hinting.c:239,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/hinting.c:240,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:244,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:246,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:245,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:249,1
    - Dst: gf_isom_hint_pck_write
      Src: /src/gpac/src/isomedia/hinting.c:250,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_HintSample*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: gf_isom_hint_sample_write
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_bs_write_u16
    - gf_list_count
    - gf_isom_hint_pck_write
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_sample_write(GF_HintSample *ptr, GF_BitStream
      *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_read
      Src: /src/gpac/src/isomedia/hinting.c:328,1
    - Dst: gf_isom_hint_rtcp_read
      Src: /src/gpac/src/isomedia/hinting.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_HintPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: gf_isom_hint_pck_read
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtcp_read
    - gf_isom_hint_rtp_read
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_pck_read(GF_HintPacket *ptr, GF_BitStream
      *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_write
      Src: /src/gpac/src/isomedia/hinting.c:346,1
    - Dst: gf_isom_hint_rtcp_write
      Src: /src/gpac/src/isomedia/hinting.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_HintPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: gf_isom_hint_pck_write
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_write
    - gf_isom_hint_rtcp_write
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_pck_write(GF_HintPacket *ptr, GF_BitStream
      *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:436,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:442,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:449,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 471
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 471
    functionName: NewDTE
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_GenericDTE*
    signature: 'GF_GenericDTE *NewDTE(u8 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:637,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hinting.c:640,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:638,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/hinting.c:642,1
    - Dst: DelDTE
      Src: /src/gpac/src/isomedia/hinting.c:639,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/hinting.c:644,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTPPacket*
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: gf_isom_hint_rtp_del
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - DelDTE
    - gf_isom_box_array_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_hint_rtp_del(GF_RTPPacket *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:773,1
    - Dst: gf_isom_box_array_size
      Src: /src/gpac/src/isomedia/hinting.c:778,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTPPacket*
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: gf_isom_hint_rtp_size
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_box_array_size
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_hint_rtp_size(GF_RTPPacket *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTCPPacket*
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: gf_isom_hint_rtcp_length
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_hint_rtcp_length(GF_RTCPPacket *ptr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hinting.c:923,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/hinting.c:941,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hinting.c:929,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - sample_start
    - ts_offset
    - sn_offset
    - ssrc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 951
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 951
    functionName: gf_isom_reset_hint_reader
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - Track_FindRef
    - gf_isom_hint_sample_del
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_reset_hint_reader(GF_ISOFile *the_file, u32 trackNumber,
      u32 sample_start, u32 ts_offset, u32 sn_offset, u32 ssrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/hinting.c:265,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:269,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:271,1
    - Dst: gf_isom_hint_pck_size
      Src: /src/gpac/src/isomedia/hinting.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_HintSample*
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: gf_isom_hint_sample_size
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_box_size
    - gf_isom_hint_pck_size
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_hint_sample_size(GF_HintSample *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_size
      Src: /src/gpac/src/isomedia/hinting.c:362,1
    - Dst: gf_isom_hint_rtcp_size
      Src: /src/gpac/src/isomedia/hinting.c:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_HintPacket*
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: gf_isom_hint_pck_size
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_size
    - gf_isom_hint_rtcp_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_hint_pck_size(GF_HintPacket *ptr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:661,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:662,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:663,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:666,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hinting.c:681,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:694,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:676,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:669,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:664,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:671,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:670,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hinting.c:712,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:656,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:659,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:667,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/hinting.c:678,1
    - Dst: NewDTE
      Src: /src/gpac/src/isomedia/hinting.c:692,1
    - Dst: ReadDTE
      Src: /src/gpac/src/isomedia/hinting.c:697,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:660,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:668,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/hinting.c:691,1
    - Dst: DelDTE
      Src: /src/gpac/src/isomedia/hinting.c:714,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_RTPPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 717
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 717
    functionName: gf_isom_hint_rtp_read
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u16
    - gf_bs_read_u32
    - NewDTE
    - gf_bs_read_u8
    - ReadDTE
    - gf_isom_box_parse
    - gf_bs_read_int
    - GF_LOG
    - DelDTE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_rtp_read(GF_RTPPacket *ptr, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:793,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:801,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:810,1
    - Dst: gf_isom_box_array_size
      Src: /src/gpac/src/isomedia/hinting.c:818,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/isomedia/hinting.c:820,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:800,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:799,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:802,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:804,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:825,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:812,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:809,1
    - Dst: WriteDTE
      Src: /src/gpac/src/isomedia/hinting.c:826,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:797,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:798,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:807,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:808,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:805,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:806,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_RTPPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 830
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 830
    functionName: gf_isom_hint_rtp_write
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_isom_box_array_size
    - WriteDTE
    - gf_bs_write_u32
    - gf_isom_box_array_write
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_rtp_write(GF_RTPPacket *ptr, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/hinting.c:962,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:966,1
    - Dst: gf_isom_hint_sample_new
      Src: /src/gpac/src/isomedia/hinting.c:969,1
    - Dst: gf_isom_hint_sample_read
      Src: /src/gpac/src/isomedia/hinting.c:970,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/hinting.c:968,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hinting.c:971,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:973,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hinting.c:974,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - trak
    - entry
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_TrackBox*
    - GF_HintSampleEntryBox*
    constantsTouched: []
    func_position:
      end: 976
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 976
    functionName: gf_isom_load_next_hint_sample
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_new
    - gf_bs_new
    - gf_isom_get_sample
    - gf_isom_hint_sample_new
    - gf_isom_hint_sample_del
    - gf_isom_hint_sample_read
    - gf_isom_sample_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_load_next_hint_sample(GF_ISOFile *the_file,
      u32 trackNumber, GF_TrackBox *trak, GF_HintSampleEntryBox *entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:32,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/isomedia/hinting.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: ghnt_box_new
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *ghnt_box_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:567,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:565,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:578,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:583,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:581,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:559,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:590,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:594,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:557,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:566,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:571,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:579,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:580,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:584,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:582,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/hinting.c:570,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:592,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:595,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:593,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:596,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - _dte
    - bs
    argTypes:
    - GF_GenericDTE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 602
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 602
    functionName: WriteDTE
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err WriteDTE(GF_GenericDTE *_dte, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - dte
    - offset
    - HintSampleNumber
    argTypes:
    - GF_GenericDTE*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: OffsetDTE
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err OffsetDTE(GF_GenericDTE *dte, u32 offset, u32 HintSampleNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:724,1
    - Dst: OffsetDTE
      Src: /src/gpac/src/isomedia/hinting.c:727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - offset
    - HintSampleNumber
    argTypes:
    - GF_RTPPacket*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 731
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 731
    functionName: gf_isom_hint_rtp_offset
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - OffsetDTE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_rtp_offset(GF_RTPPacket *ptr, u32 offset, u32
      HintSampleNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: gf_isom_hint_rtcp_new
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_RTCPPacket*
    signature: 'GF_RTCPPacket *gf_isom_hint_rtcp_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:845,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTCPPacket*
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: gf_isom_hint_rtcp_del
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_hint_rtcp_del(GF_RTCPPacket *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTCPPacket*
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: gf_isom_hint_rtcp_size
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_hint_rtcp_size(GF_RTCPPacket *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/isomedia/hinting.c:48,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:50,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: ghnt_box_del
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_sample_del
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ghnt_box_del(GF_Box *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_length
      Src: /src/gpac/src/isomedia/hinting.c:412,1
    - Dst: gf_isom_hint_rtcp_length
      Src: /src/gpac/src/isomedia/hinting.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_HintPacket*
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: gf_isom_hint_pck_length
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_length
    - gf_isom_hint_rtcp_length
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_hint_pck_length(GF_HintPacket *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:627,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hinting.c:629,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hinting.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: gf_isom_hint_rtp_new
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_RTPPacket*
    signature: 'GF_RTPPacket *gf_isom_hint_rtp_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:853,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:857,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/hinting.c:856,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:855,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/hinting.c:854,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/hinting.c:861,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:862,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hinting.c:865,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/hinting.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_RTCPPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 869
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 869
    functionName: gf_isom_hint_rtcp_read
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_rtcp_read(GF_RTCPPacket *ptr, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:890,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:894,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:891,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/hinting.c:893,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:892,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - bs
    argTypes:
    - GF_RTCPPacket*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 897
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 897
    functionName: gf_isom_hint_rtcp_write
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_int
    - gf_bs_write_u8
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_rtcp_write(GF_RTCPPacket *ptr, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/hinting.c:503,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/hinting.c:508,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/hinting.c:510,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/hinting.c:517,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/isomedia/hinting.c:511,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:518,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:519,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:520,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:521,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:527,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/hinting.c:534,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:537,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:536,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:538,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:535,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:524,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - _dte
    - bs
    argTypes:
    - GF_GenericDTE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 544
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 544
    functionName: ReadDTE
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_data
    - GF_LOG
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ReadDTE(GF_GenericDTE *_dte, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - dte
    argTypes:
    - GF_GenericDTE*
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: DelDTE
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DelDTE(GF_GenericDTE *dte) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/hinting.c:61,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:67,1
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/isomedia/hinting.c:63,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:66,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/hinting.c:70,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:71,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/hinting.c:73,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:74,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:75,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/isomedia/hinting.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: ghnt_box_read
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_isom_box_array_read
    - gf_isom_base_sample_entry_read
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghnt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/hinting.c:119,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hinting.c:126,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - ProtocolType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: gf_isom_hint_sample_new
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_HintSample*
    signature: 'GF_HintSample *gf_isom_hint_sample_new(u32 ProtocolType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/hinting.c:134,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:139,1
    - Dst: gf_isom_hint_pck_del
      Src: /src/gpac/src/isomedia/hinting.c:140,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hinting.c:141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:138,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/hinting.c:143,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:144,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:147,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:148,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hinting.c:149,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:150,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/hinting.c:156,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:151,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/hinting.c:158,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hinting.c:160,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/hinting.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_HintSample*
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: gf_isom_hint_sample_del
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del
    - gf_isom_hint_pck_del
    - gf_list_rem
    - gf_free
    - gf_isom_sample_del
    - gf_isom_box_array_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_hint_sample_del(GF_HintSample *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:983,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/hinting.c:992,1
    - Dst: Media_GetSample
      Src: /src/gpac/src/isomedia/hinting.c:990,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:985,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/hinting.c:989,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/hinting.c:999,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - hsamp
    - trak
    - sample_num
    argTypes:
    - GF_HintSample*
    - GF_TrackBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1001
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1001
    functionName: gf_isom_get_data_sample
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_isom_sample_new
    - gf_list_count
    - GF_SAFEALLOC
    - Media_GetSample
    linkageType: ''
    returnType: GF_ISOSample*
    signature: 'static GF_ISOSample *gf_isom_get_data_sample(GF_HintSample *hsamp,
      GF_TrackBox *trak, u32 sample_num) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_load_next_hint_sample
      Src: /src/gpac/src/isomedia/hinting.c:1046,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hinting.c:1050,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/hinting.c:1053,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1058,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1059,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1060,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:1089,1
    - Dst: gf_isom_hint_rtp_del
      Src: /src/gpac/src/isomedia/hinting.c:1099,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/hinting.c:1103,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hinting.c:1032,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:1049,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:1061,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:1077,1
    - Dst: gf_isom_hint_rtp_del
      Src: /src/gpac/src/isomedia/hinting.c:1109,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:1113,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hinting.c:1127,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/hinting.c:1130,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:1129,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:1066,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hinting.c:1100,1
    - Dst: gf_isom_hint_rtp_del
      Src: /src/gpac/src/isomedia/hinting.c:1128,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/hinting.c:1126,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hinting.c:1034,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1055,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1056,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/hinting.c:1057,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:1076,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:1068,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:1080,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:1082,1
    - Dst: gf_isom_get_data_sample
      Src: /src/gpac/src/isomedia/hinting.c:1107,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hinting.c:1110,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 90
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - pck_data
    - pck_size
    - disposable
    - repeated
    - trans_ts
    - sample_num
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    - u32*
    - Bool*
    - Bool*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1134
    functionName: gf_isom_next_hint_packet
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_get_data_sample
    - gf_list_get
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_new
    - Media_GetSampleDesc
    - gf_isom_load_next_hint_sample
    - gf_bs_write_u32
    - gf_list_rem
    - gf_isom_hint_sample_del
    - gf_isom_hint_rtp_del
    - gf_bs_write_int
    - gf_isom_get_track_from_id
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_next_hint_packet(GF_ISOFile *the_file, u32 trackNumber,
      char **pck_data, u32 *pck_size, Bool *disposable, Bool *repeated, u32 *trans_ts,
      u32 *sample_num) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hinting.c:743,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hinting.c:745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_RTPPacket*
    constantsTouched: []
    func_position:
      end: 761
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 761
    functionName: gf_isom_hint_rtp_length
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_hint_rtp_length(GF_RTPPacket *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/isomedia/hinting.c:88,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:93,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/hinting.c:90,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:92,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/hinting.c:91,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/hinting.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: ghnt_box_write
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghnt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/hinting.c:173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:185,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/hinting.c:185,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:182,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/hinting.c:183,1
    - Dst: gf_isom_box_read
      Src: /src/gpac/src/isomedia/hinting.c:188,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:193,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/hinting.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:196,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/hinting.c:202,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hinting.c:209,1
    - Dst: gf_isom_hint_pck_read
      Src: /src/gpac/src/isomedia/hinting.c:211,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/hinting.c:218,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hinting.c:223,1
    - Dst: gf_isom_hint_pck_new
      Src: /src/gpac/src/isomedia/hinting.c:206,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/hinting.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/hinting.c:203,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - ptr
    - bs
    - sampleSize
    argTypes:
    - GF_HintSample*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 228
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 228
    functionName: gf_isom_hint_sample_read
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_isom_hint_pck_new
    - GF_LOG
    - gf_isom_hint_pck_read
    - gf_bs_available
    - gf_4cc_to_str
    - gf_bs_read_data
    - gf_isom_box_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_sample_read(GF_HintSample *ptr, GF_BitStream *bs,
      u32 sampleSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_new
      Src: /src/gpac/src/isomedia/hinting.c:290,1
    - Dst: gf_isom_hint_rtcp_new
      Src: /src/gpac/src/isomedia/hinting.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - HintType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 300
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 300
    functionName: gf_isom_hint_pck_new
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_new
    - gf_isom_hint_rtcp_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HintPacket *gf_isom_hint_pck_new(u32 HintType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_offset
      Src: /src/gpac/src/isomedia/hinting.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - offset
    - HintSampleNumber
    argTypes:
    - GF_HintPacket*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: gf_isom_hint_pck_offset
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_offset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_pck_offset(GF_HintPacket *ptr, u32 offset, u32
      HintSampleNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ghnt_box_size
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghnt_box_size(GF_Box *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_rtp_del
      Src: /src/gpac/src/isomedia/hinting.c:310,1
    - Dst: gf_isom_hint_rtcp_del
      Src: /src/gpac/src/isomedia/hinting.c:313,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_HintPacket*
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: gf_isom_hint_pck_del
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_rtp_del
    - gf_isom_hint_rtcp_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_hint_pck_del(GF_HintPacket *ptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/hinting.c:393,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hinting.c:395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - dte
    - AtBegin
    argTypes:
    - GF_HintPacket*
    - GF_GenericDTE*
    - u8
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: gf_isom_hint_pck_add_dte
    functionSourceFile: /src/gpac/src/isomedia/hinting.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_hint_pck_add_dte(GF_HintPacket *ptr, GF_GenericDTE
      *dte, u8 AtBegin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:558,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:567,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:572,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:569,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:559,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:573,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:581,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:582,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:587,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:589,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:591,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:590,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:592,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 596
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 596
    functionName: asrt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err asrt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_adobe.c:600,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:601,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: asrt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *asrt_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:538,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:542,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:539,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:540,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:539,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:544,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:545,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:545,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:546,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:548,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: asrt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void asrt_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:378,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:379,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:380,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:379,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:384,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:385,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:385,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:386,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:388,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: afra_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void afra_box_del(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:427,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:429,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:431,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:434,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:436,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:451,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:401,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:399,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:403,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:410,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:417,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:437,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:447,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:398,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:412,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:414,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:420,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:433,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:440,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_adobe.c:441,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/box_code_adobe.c:442,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:449,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:450,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:402,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:400,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:405,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:418,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:421,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:426,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:415,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:438,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:445,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:446,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 457
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 457
    functionName: afra_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_int
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afra_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:481,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:479,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:482,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:501,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:507,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_adobe.c:503,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/box_code_adobe.c:504,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:491,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:484,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:489,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:500,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:495,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:478,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:487,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:497,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:475,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:486,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:498,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:508,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:510,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:511,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 517
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 517
    functionName: afra_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afra_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:676,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:690,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:677,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:688,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:679,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:693,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:694,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:702,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:703,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:707,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:711,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:712,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:715,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:710,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:716,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:713,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:709,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 721
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 721
    functionName: afrt_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u8
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afrt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_adobe.c:461,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:462,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: afra_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *afra_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: afra_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afra_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_adobe.c:725,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:726,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: afrt_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *afrt_box_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:61,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:64,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:66,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:67,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:41,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:43,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:47,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:48,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:54,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:67,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:70,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:45,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:49,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:48,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:51,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:53,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:57,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:62,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:54,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:61,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:60,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: abst_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void abst_box_del(GF_Box *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:282,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:284,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:288,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:291,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:298,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:293,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:304,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:313,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:315,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:283,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:301,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:304,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:308,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:319,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:323,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:286,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:287,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:297,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:295,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:308,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:310,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:317,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:319,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:285,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:298,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:291,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:303,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:313,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:325,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 330
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 330
    functionName: abst_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_list_get
    - gf_isom_full_box_write
    - gf_isom_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err abst_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:614,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:620,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:620,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:619,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:623,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:625,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:626,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:627,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: asrt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err asrt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:339,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:343,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:348,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:348,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:343,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:350,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:351,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:355,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/box_code_adobe.c:356,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:363,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/box_code_adobe.c:364,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 369
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 369
    functionName: abst_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_isom_box_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err abst_box_size(GF_Box *s) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:119,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_adobe.c:140,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:143,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_adobe.c:170,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:173,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:183,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_adobe.c:197,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:223,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_code_adobe.c:226,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:228,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:249,1
    - Dst: ISOM_DECREASE_SIZE
      Src: /src/gpac/src/isomedia/box_code_adobe.c:84,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:87,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:85,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:89,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:91,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/box_code_adobe.c:99,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:126,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:103,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:155,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:156,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:251,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:248,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:257,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_adobe.c:116,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:140,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:170,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:204,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:205,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/box_code_adobe.c:219,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:222,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/box_code_adobe.c:231,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:232,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:239,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:245,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:88,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/isomedia/box_code_adobe.c:86,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:90,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:92,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/box_code_adobe.c:97,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:120,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:102,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:127,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:148,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:149,1
    - Dst: ISOM_DECREASE_SIZE_GOTO_EXIT
      Src: /src/gpac/src/isomedia/box_code_adobe.c:182,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:234,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:240,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/box_code_adobe.c:243,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 157
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 259
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 259
    functionName: abst_box_read
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u32
    - memset
    - gf_bs_read_u8
    - gf_strdup
    - gf_list_count
    - gf_bs_read_int
    - gf_isom_box_parse_ex
    - gf_isom_box_del
    - ISOM_DECREASE_SIZE
    - gf_bs_read_u64
    - ISOM_DECREASE_SIZE_GOTO_EXIT
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err abst_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:642,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 647
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 647
    functionName: asrt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err asrt_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:656,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:660,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:657,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:658,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:657,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/box_code_adobe.c:662,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:663,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:663,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/box_code_adobe.c:664,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/box_code_adobe.c:666,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/box_code_adobe.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 669
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 669
    functionName: afrt_box_del
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void afrt_box_del(GF_Box *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/isomedia/box_code_adobe.c:739,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:745,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:743,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/box_code_adobe.c:746,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:742,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:746,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:749,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:751,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:752,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/isomedia/box_code_adobe.c:753,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/box_code_adobe.c:754,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/box_code_adobe.c:756,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 760
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 760
    functionName: afrt_box_write
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_list_get
    - gf_isom_full_box_write
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afrt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/isomedia/box_code_adobe.c:263,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:264,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:266,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:265,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/box_code_adobe.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: abst_box_new
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *abst_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/box_code_adobe.c:771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/box_code_adobe.c:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: afrt_box_size
    functionSourceFile: /src/gpac/src/isomedia/box_code_adobe.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err afrt_box_size(GF_Box *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:259,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - enableTrack
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: gf_isom_set_track_enabled
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_enabled(GF_ISOFile *movie, u32
      trackNumber, Bool enableTrack) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:541,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:547,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - movie
    - OD_ID
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 562
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 562
    functionName: gf_isom_set_root_od_id
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - AddMovieIOD
    - gf_isom_insert_moov
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_root_od_id(GF_ISOFile *movie, u32 OD_ID) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1157,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/isom_write.c:1166,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1163,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:1172,1
    - Dst: gf_isom_datamap_get_offset
      Src: /src/gpac/src/isomedia/isom_write.c:1190,1
    - Dst: trak_add_sample
      Src: /src/gpac/src/isomedia/isom_write.c:1199,1
    - Dst: trak_add_sample
      Src: /src/gpac/src/isomedia/isom_write.c:1203,1
    - Dst: Media_ParseODFrame
      Src: /src/gpac/src/isomedia/isom_write.c:1196,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1154,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/isomedia/isom_write.c:1171,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:1177,1
    - Dst: gf_isom_datamap_open
      Src: /src/gpac/src/isomedia/isom_write.c:1187,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_write.c:1201,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1212,1
    - Dst: FlushCaptureMode
      Src: /src/gpac/src/isomedia/isom_write.c:1160,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_write.c:1175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1183,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:1213,1
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/isom_write.c:1209,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - sample
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1214
    functionName: gf_isom_add_sample_shadow
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_open
    - gf_list_get
    - gf_isom_get_mp4time
    - Media_SetDuration
    - gf_isom_get_track_from_file
    - gf_isom_get_sample_info
    - unpack_track
    - Media_ParseODFrame
    - Media_GetSampleDesc
    - gf_isom_datamap_get_offset
    - stbl_findEntryForTime
    - FlushCaptureMode
    - CanAccessMovie
    - gf_isom_last_error
    - gf_isom_sample_del
    - SetTrackDuration
    - trak_add_sample
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_sample_shadow(GF_ISOFile *movie, u32
      trackNumber, GF_ISOSample *sample) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1650,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/isomedia/isom_write.c:1654,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1662,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/isom_write.c:1672,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1681,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:1696,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_write.c:1701,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/isom_write.c:1722,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:1687,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1694,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1643,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:1657,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:1676,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1705,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1640,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:1683,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/isom_write.c:1647,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:1679,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/isom_write.c:1708,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 70
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - theDesc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1723
    functionName: gf_isom_add_desc_to_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_mp4time
    - gf_list_get
    - trak_on_child_box
    - reftype_AddRefTrack
    - gf_isom_get_track_from_file
    - gf_odf_desc_add_desc
    - gf_isom_box_new_parent
    - Track_FindRef
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - CanAccessMovie
    - gf_isom_box_find_child
    - Media_GetESD
    - gf_isom_get_original_format_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_desc_to_description(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, const GF_Descriptor *theDesc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2883,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2885,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2907,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2889,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2890,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - seg_index
    - EditDuration
    - MediaTime
    - EditMode
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u64
    - u64
    - GF_ISOEditType
    constantsTouched: []
    func_position:
      end: 2908
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2908
    functionName: gf_isom_modify_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - CanAccessMovie
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_modify_edit(GF_ISOFile *movie, u32 trackNumber,
      u32 seg_index, u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4123,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4131,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:4196,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4197,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4203,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4223,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4230,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4231,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4201,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4215,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4138,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4148,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_write.c:4152,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:4187,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4211,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4228,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4235,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4218,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4135,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4144,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4150,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:4171,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4204,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4205,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4206,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/isomedia/isom_write.c:4239,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:4240,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4136,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4160,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4180,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4182,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4185,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4156,1
    - Dst: gf_isom_get_trex_props
      Src: /src/gpac/src/isomedia/isom_write.c:4169,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_write.c:4154,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4174,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4186,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4236,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4214,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 98
    argCount: 4
    argNames:
    - file
    - track
    - output
    - output_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4244
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4244
    functionName: gf_isom_get_track_template
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_bs_get_content
    - gf_isom_box_new_parent
    - gf_isom_box_write
    - gf_bs_del
    - GF_4CC
    - gf_isom_get_trex_props
    - gf_list_del
    - gf_list_count
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_list_get
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - gf_bs_new
    - gf_list_transfer
    - gf_isom_box_del
    - gf_list_rem
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_track_template(GF_ISOFile *file, u32
      track, u8 **output, u32 *output_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6150,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescriptionIndex
    - new_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6165
      start: 6146
    functionDepth: 0
    functionLinenumber: 6146
    functionLinenumberEnd: 6165
    functionName: gf_isom_set_media_subtype
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_media_subtype(GF_ISOFile *movie, u32
      trackNumber, u32 sampleDescriptionIndex, u32 new_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8430,1
    - Dst: gf_isom_is_nalu_based_entry
      Src: /src/gpac/src/isomedia/isom_write.c:8443,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8441,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8433,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8437,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 4
    argNames:
    - file
    - track
    - StreamDescriptionIndex
    - nalu_size_length
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 8454
      start: 8421
    functionDepth: 0
    functionLinenumber: 8421
    functionLinenumberEnd: 8454
    functionName: gf_isom_set_nalu_length_field
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_is_nalu_based_entry
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_nalu_length_field(GF_ISOFile *file, u32
      track, u32 StreamDescriptionIndex, u32 nalu_size_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:568,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:574,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:570,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:580,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:584,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - movie
    - url_string
    argTypes:
    - GF_ISOFile*
    - char*
    constantsTouched: []
    func_position:
      end: 591
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 591
    functionName: gf_isom_set_root_od_url
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - AddMovieIOD
    - gf_strdup
    - gf_isom_insert_moov
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_root_od_url(GF_ISOFile *movie, const
      char *url_string) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1227,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1243,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1230,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:1238,1
    - Dst: gf_isom_datamap_open
      Src: /src/gpac/src/isomedia/isom_write.c:1247,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_write.c:1252,1
    - Dst: gf_isom_datamap_add_data
      Src: /src/gpac/src/isomedia/isom_write.c:1255,1
    - Dst: stbl_SampleSizeAppend
      Src: /src/gpac/src/isomedia/isom_write.c:1259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - data
    - data_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1260
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1260
    functionName: gf_isom_append_sample_data
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_SampleSizeAppend
    - gf_isom_datamap_open
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_bs_write_data
    - Media_GetSampleDesc
    - gf_isom_datamap_add_data
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_append_sample_data(GF_ISOFile *movie, u32
      trackNumber, u8 *data, u32 data_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2922
    functionName: update_next_track_id
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: void
    signature: 'static void update_next_track_id(GF_ISOFile *movie) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4258,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4264,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4265,1
    - Dst: gf_isom_get_trex_props
      Src: /src/gpac/src/isomedia/isom_write.c:4261,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4266,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4269,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4270,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4272,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - file
    - track
    - output
    - output_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4280
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4280
    functionName: gf_isom_get_trex_template
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - gf_isom_get_trex_props
    - gf_isom_box_write
    - gf_bs_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_trex_template(GF_ISOFile *file, u32 track,
      u8 **output, u32 *output_size) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7360,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7356,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7401,1
    - Dst: gf_isom_oinf_read_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7416,1
    - Dst: gf_isom_is_identical_sgpd
      Src: /src/gpac/src/isomedia/isom_write.c:7388,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7424,1
    - Dst: gf_isom_linf_read_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7433,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:7459,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:7461,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:7476,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:7492,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7340,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7368,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:7378,1
    - Dst: sgpd_del_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7408,1
    - Dst: sgpd_del_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7390,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7406,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:7415,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:7432,1
    - Dst: gf_isom_linf_del_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7436,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:7477,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:7467,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:7452,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:7486,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7365,1
    - Dst: sgpd_parse_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7377,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7386,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7387,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7441,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7445,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:7463,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7470,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7474,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:7350,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:7375,1
    - Dst: gf_isom_oinf_new_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7414,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:7417,1
    - Dst: gf_isom_oinf_del_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7419,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7427,1
    - Dst: gf_isom_linf_new_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7431,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:7434,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7449,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7451,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 161
    argCount: 11
    argNames:
    - movie
    - track
    - grouping_type
    - data
    - data_size
    - sgpd_flags
    - sampleGroupDescriptionIndex
    - is_traf_sgpd
    - check_access
    - use_default
    - out_sgdesc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - void*
    - u32
    - u32
    - u32*
    - Bool*
    - Bool
    - Bool*
    - GF_SampleGroupDescriptionBox**
    constantsTouched: []
    func_position:
      end: 7500
      start: 7323
    functionDepth: 0
    functionLinenumber: 7323
    functionLinenumberEnd: 7500
    functionName: gf_isom_add_sample_group_info_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - GF_SAFEALLOC
    - gf_isom_linf_new_entry
    - gf_isom_linf_read_entry
    - gf_isom_oinf_new_entry
    - gf_isom_get_traf
    - gf_isom_is_identical_sgpd
    - gf_bs_del
    - gf_list_find
    - gf_list_count
    - sgpd_parse_entry
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcmp
    - gf_bs_new
    - sgpd_del_entry
    - get_sgdp
    - memcpy
    - CanAccessMovie
    - gf_free
    - gf_isom_oinf_del_entry
    - gf_isom_oinf_read_entry
    - gf_isom_linf_del_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_sample_group_info_internal(GF_ISOFile *movie, u32
      track, u32 grouping_type, void *data, u32 data_size, u32 sgpd_flags, u32 *sampleGroupDescriptionIndex,
      Bool *is_traf_sgpd, Bool check_access, Bool *use_default, GF_SampleGroupDescriptionBox
      **out_sgdesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 8464
      start: 8456
    functionDepth: 0
    functionLinenumber: 8456
    functionLinenumberEnd: 8464
    functionName: gf_isom_set_sample_group_in_traf
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_group_in_traf(GF_ISOFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - ctime
    - mtime
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: gf_isom_set_media_creation_time
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_media_creation_time(GF_ISOFile *movie,u32
      trackNumber, u64 ctime, u64 mtime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5133
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5133
    functionName: gf_isom_modify_cts_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_modify_cts_offset(GF_ISOFile *the_file, u32
      trackNumber, u32 sample_number, u32 offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - movie
    - track
    - sample_number
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7767
      start: 7763
    functionDepth: 0
    functionLinenumber: 7763
    functionLinenumberEnd: 7767
    functionName: gf_isom_set_sample_cenc_default_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_sample_cenc_default_group(GF_ISOFile
      *movie, u32 track, u32 sample_number) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:9239,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9246,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:9244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 9251
      start: 9235
    functionDepth: 0
    functionLinenumber: 9235
    functionLinenumberEnd: 9251
    functionName: gf_isom_set_meta_qt
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_meta_qt(GF_ISOFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:139,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/isom_write.c:148,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/isomedia/isom_write.c:146,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:141,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:144,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_write.c:149,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:151,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/isomedia/isom_write.c:154,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: gf_isom_add_track_to_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - AddMovieIOD
    - gf_isom_is_track_in_root_od
    - gf_isom_add_desc_to_root_od
    - gf_isom_insert_moov
    - gf_isom_get_track_id
    - gf_odf_desc_new
    - gf_odf_desc_del
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_track_to_root_od(GF_ISOFile *movie, u32
      trackNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5111,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:5114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sample_number
    - newSampleDescIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5120
      start: 5108
    functionDepth: 0
    functionLinenumber: 5108
    functionLinenumberEnd: 5120
    functionName: gf_isom_change_sample_desc_index
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - unpack_track
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_change_sample_desc_index(GF_ISOFile *the_file,
      u32 trackNumber, u32 sample_number, u32 newSampleDescIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_description_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 8
    argNames:
    - movie
    - track
    - sample_number
    - grouping_type
    - grouping_type_parameter
    - data
    - data_size
    - sgpd_flags
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7576
      start: 7573
    functionDepth: 0
    functionLinenumber: 7573
    functionLinenumberEnd: 7576
    functionName: gf_isom_set_sample_group_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_description_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_group_description(GF_ISOFile *movie, u32
      track, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter, void
      *data, u32 data_size, u32 sgpd_flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:8345,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8353,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_write.c:8355,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:8358,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_write.c:8360,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:8366,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_write.c:8368,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - output
    - input
    - in_moof
    argTypes:
    - GF_ISOFile*
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 8373
      start: 8339
    functionDepth: 0
    functionLinenumber: 8339
    functionLinenumberEnd: 8373
    functionName: gf_isom_clone_pssh
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_malloc
    - memmove
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_clone_pssh(GF_ISOFile *output, GF_ISOFile
      *input, Bool in_moof) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7594,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7596,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7592,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7588,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:7597,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7604,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7606,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7608,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:7609,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - movie
    - track
    - grouping_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7616
      start: 7578
    functionDepth: 0
    functionLinenumber: 7578
    functionLinenumberEnd: 7616
    functionName: gf_isom_remove_sample_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_sample_group(GF_ISOFile *movie, u32
      track, u32 grouping_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8383,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8392,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8391,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8388,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8386,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8395,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8400,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/isom_write.c:8400,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:8405,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8406,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8414,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8418,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - file
    - track_number
    - track_group_id
    - group_type
    - do_add
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 8419
      start: 8375
    functionDepth: 0
    functionLinenumber: 8375
    functionLinenumberEnd: 8419
    functionName: gf_isom_set_track_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_list_add
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - GF_LOG
    - gf_list_rem
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_group(GF_ISOFile *file, u32 track_number,
      u32 track_group_id, u32 group_type, Bool do_add) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/isom_write.c:119,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:129,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/isom_write.c:121,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - moov
    - isIOD
    argTypes:
    - GF_MovieBox*
    - u8
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: AddMovieIOD
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - moov_on_child_box
    - gf_odf_desc_new
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddMovieIOD(GF_MovieBox *moov, u8 isIOD) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2785,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2795,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:2796,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2794,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2788,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:2797,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2801,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2803,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2804
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2804
    functionName: gf_isom_remove_edits
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    - CanAccessMovie
    - SetTrackDuration
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_edits(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_write.c:64,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:68,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:66,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:72,1
    - Dst: gf_bs_new_cbk
      Src: /src/gpac/src/isomedia/isom_write.c:73,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:78,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:80,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:84,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:86,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_write.c:89,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/isom_write.c:95,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/isom_write.c:94,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 97
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 97
    functionName: FlushCaptureMode
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_isom_box_size
    - gf_bs_get_position
    - gf_isom_box_write
    - GF_LOG
    - strcmp
    - gf_bs_new_cbk
    - gf_bs_write_long_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err FlushCaptureMode(GF_ISOFile *movie) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:184,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:191,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_write.c:208,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/isomedia/isom_write.c:188,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:207,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:209,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 216
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 216
    functionName: gf_isom_remove_track_from_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_is_track_in_root_od
    - gf_list_enum
    - AddMovieIOD
    - gf_isom_get_track_id
    - gf_list_rem
    - gf_odf_desc_del
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_track_from_root_od(GF_ISOFile *movie,
      u32 trackNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_track_from_template
      Src: /src/gpac/src/isomedia/isom_write.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - movie
    - trakID
    - MediaType
    - TimeScale
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: gf_isom_new_track
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_new_track_from_template
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_new_track(GF_ISOFile *movie, GF_ISOTrackID trakID,
      u32 MediaType, u32 TimeScale) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3628,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3639,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3641,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3637,1
    - Dst: CheckNoData
      Src: /src/gpac/src/isomedia/isom_write.c:3631,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3646,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - movie
    - leave_empty
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3653
      start: 3619
    functionDepth: 0
    functionLinenumber: 3619
    functionLinenumberEnd: 3653
    functionName: gf_isom_reset_alt_brands_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - CanAccessMovie
    - gf_free
    - CheckNoData
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_reset_alt_brands_ex(GF_ISOFile *movie, Bool leave_empty) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3836,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3842,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3846,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3840,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3842,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3846,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:3851,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/isom_write.c:3852,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/isom_write.c:3854,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3856,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:3859,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - data
    - DataLength
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3861
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3861
    functionName: gf_isom_add_user_data_boxes
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - trak_on_child_box
    - gf_bs_del
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_isom_box_parse
    - gf_bs_new
    - udta_on_child_box_ex
    - moov_on_child_box
    - gf_bs_available
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_user_data_boxes(GF_ISOFile *movie, u32
      trackNumber, u8 *data, u32 DataLength) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5006,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5017,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5012,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:5016,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - isom_file
    - trackNumber
    - ref_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5022
      start: 5000
    functionDepth: 0
    functionLinenumber: 5000
    functionLinenumberEnd: 5022
    functionName: gf_isom_remove_track_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_track_reference(GF_ISOFile *isom_file,
      u32 trackNumber, u32 ref_type) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6828,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:6847,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_write.c:6855,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:6861,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6865,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:6890,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:6836,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6857,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:6894,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:6908,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6833,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6863,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:6915,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6890,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:6917,1
    - Dst: gf_isom_get_next_alternate_group_id
      Src: /src/gpac/src/isomedia/isom_write.c:6850,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6898,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6900,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:6906,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - trackRefGroup
    - is_switch_group
    - switchGroupID
    - criteriaList
    - criteriaListCount
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    - u32*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 6920
      start: 6818
    functionDepth: 0
    functionLinenumber: 6818
    functionLinenumberEnd: 6920
    functionName: gf_isom_set_track_switch_parameter
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_malloc
    - gf_list_get
    - gf_isom_get_next_alternate_group_id
    - trak_on_child_box
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - GF_LOG
    - udta_on_child_box_ex
    - memcpy
    - gf_isom_get_track_count
    - udta_getEntry
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_switch_parameter(GF_ISOFile *movie,
      u32 trackNumber, u32 trackRefGroup, Bool is_switch_group, u32 *switchGroupID,
      u32 *criteriaList, u32 criteriaListCount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_write.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: CheckNoData
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CheckNoData(GF_ISOFile *movie) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:872,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:877,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:879,1
    - Dst: gf_isom_new_track_from_template
      Src: /src/gpac/src/isomedia/isom_write.c:875,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:883,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:884,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - movie
    - trakID
    - refTrakID
    - MediaType
    - TimeScale
    - uri
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - GF_ISOTrackID
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 892
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 892
    functionName: gf_isom_new_external_track
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_track_from_file
    - gf_isom_new_track_from_template
    - gf_isom_box_del_parent
    - gf_strdup
    - gf_isom_set_last_error
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_new_external_track(GF_ISOFile *movie, GF_ISOTrackID
      trakID, GF_ISOTrackID refTrakID, u32 MediaType, u32 TimeScale, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_reset_alt_brands_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3658
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3658
    functionName: gf_isom_reset_alt_brands
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_reset_alt_brands_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_reset_alt_brands(GF_ISOFile *movie) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:3871,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3875,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:3872,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3876,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:3873,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3877,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:3878,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3880,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3881,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3882,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:3883,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - orig
    - dest
    argTypes:
    - GF_ISOFile*
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 3886
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3886
    functionName: gf_isom_clone_pl_indications
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - AddMovieIOD
    - gf_list_count
    - gf_odf_desc_copy
    - gf_list_rem
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_clone_pl_indications(GF_ISOFile *orig, GF_ISOFile
      *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:6926,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6930,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:6928,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:6929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 6933
      start: 6922
    functionDepth: 0
    functionLinenumber: 6922
    functionLinenumberEnd: 6933
    functionName: reset_tsel_box
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_isom_box_array_del
    - udta_getEntry
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void reset_tsel_box(GF_TrackBox *trak) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7018,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:7029,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7021,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7025,1
    - Dst: gf_isom_remove_meta_item
      Src: /src/gpac/src/isomedia/isom_write.c:7031,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7036,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/src/isomedia/isom_write.c:7042,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/isom_write.c:7044,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/isomedia/isom_write.c:7045,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/isomedia/isom_write.c:7047,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 7
    argNames:
    - movie
    - track
    - sampleDescriptionIndex
    - rvc_predefined
    - mime
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u16
    - char*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 7050
      start: 7011
    functionDepth: 0
    functionLinenumber: 7011
    functionLinenumberEnd: 7050
    functionName: gf_isom_set_rvc_config
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_add_meta_item_memory
    - gf_isom_remove_meta_item
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_isom_set_meta_type
    - gf_isom_get_meta_item_count
    - gf_isom_modify_alternate_brand
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_rvc_config(GF_ISOFile *movie, u32 track,
      u32 sampleDescriptionIndex, u16 rvc_predefined, char *mime, u8 *data, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:7677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7681
      start: 7673
    functionDepth: 0
    functionLinenumber: 7673
    functionLinenumberEnd: 7681
    functionName: sg_roll_create_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void*
    signature: 'void *sg_roll_create_entry(void *udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - movie
    - track
    - sample_number
    - roll_type
    - roll_distance
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOSampleRollType
    - s16
    constantsTouched: []
    func_position:
      end: 7698
      start: 7690
    functionDepth: 0
    functionLinenumber: 7690
    functionLinenumberEnd: 7698
    functionName: gf_isom_set_sample_roll_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_sample_roll_group(GF_ISOFile *movie,
      u32 track, u32 sample_number, GF_ISOSampleRollType roll_type, s16 roll_distance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:167,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: gf_isom_remove_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_root_od(GF_ISOFile *movie) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_edit_internal
      Src: /src/gpac/src/isomedia/isom_write.c:2775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - EditTime
    - EditDuration
    - MediaTime
    - media_rate
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 2777
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2777
    functionName: gf_isom_set_edit_with_rate
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_edit_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_edit_with_rate(GF_ISOFile *movie, u32
      trackNumber, u64 EditTime, u64 EditDuration, u64 MediaTime, u32 media_rate) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8868,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:8877,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8872,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8871,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8875,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8879,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8880,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:8882,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8887,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8890,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8896,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8906,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:8891,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:8903,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:8897,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:8898,1
    - Dst: track_num_changed
      Src: /src/gpac/src/isomedia/isom_write.c:8900,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8905,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - index
    - (*track_num_changed)
    - udta
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 8911
      start: 8863
    functionDepth: 0
    functionLinenumber: 8863
    functionLinenumberEnd: 8911
    functionName: gf_isom_set_track_index
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_find
    - gf_isom_get_track_from_file
    - gf_list_del
    - gf_list_count
    - gf_list_new
    - gf_assert
    - track_num_changed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_index(GF_ISOFile *movie, u32 trackNumber,
      u32 index, void (*track_num_changed)(void *udta, u32 old_track_num, u32 new_track_num),
      void *udta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7956,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7959,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 7969
      start: 7951
    functionDepth: 0
    functionLinenumber: 7951
    functionLinenumberEnd: 7969
    functionName: gf_isom_set_sync_table
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sync_table(GF_ISOFile *file, u32 track) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: gf_isom_get_last_created_track_id
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ISOTrackID gf_isom_get_last_created_track_id(GF_ISOFile
      *movie) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_last_sample_duration_internal
      Src: /src/gpac/src/isomedia/isom_write.c:1420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - duration
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1421
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1421
    functionName: gf_isom_set_last_sample_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_last_sample_duration_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_last_sample_duration(GF_ISOFile *movie,
      u32 trackNumber, u32 duration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3666,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3669,1
    - Dst: stbl_SetPaddingBits
      Src: /src/gpac/src/isomedia/isom_write.c:3673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleNumber
    - NbBits
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 3674
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3674
    functionName: gf_isom_set_sample_padding_bits
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_SetPaddingBits
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_padding_bits(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleNumber, u8 NbBits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4534,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:4543,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4537,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4539,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4544,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4547,1
    - Dst: gf_isom_clone_sample_description
      Src: /src/gpac/src/isomedia/isom_write.c:4549,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - orig_file
    - orig_track
    - reset_existing
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 4553
      start: 4530
    functionDepth: 0
    functionLinenumber: 4530
    functionLinenumberEnd: 4553
    functionName: gf_isom_clone_sample_descriptions
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_clone_sample_description
    - gf_isom_get_track_from_file
    - gf_list_count
    - CanAccessMovie
    - gf_list_new
    - gf_isom_box_array_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_clone_sample_descriptions(GF_ISOFile *the_file, u32
      trackNumber, GF_ISOFile *orig_file, u32 orig_track, Bool reset_existing) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:8263,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:8264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 8271
      start: 8249
    functionDepth: 0
    functionLinenumber: 8249
    functionLinenumberEnd: 8271
    functionName: gf_isom_update_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_update_duration(GF_ISOFile *movie) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:605,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/isom_write.c:615,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/isom_write.c:613,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:610,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:607,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:619,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:622,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:623,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:626,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:627,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:633,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:629,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 4
    argNames:
    - movie
    - moov_boxes
    - moov_boxes_size
    - udta_only
    argTypes:
    - GF_ISOFile*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 635
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 635
    functionName: gf_isom_load_extra_boxes
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_isom_insert_moov
    - gf_isom_box_parse_ex
    - gf_bs_new
    - gf_isom_box_del_parent
    - gf_isom_box_del
    - gf_bs_available
    - CanAccessMovie
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_load_extra_boxes(GF_ISOFile *movie, u8 *moov_boxes,
      u32 moov_boxes_size, Bool udta_only) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_last_sample_duration_internal
      Src: /src/gpac/src/isomedia/isom_write.c:1426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - next_dts
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 1427
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1427
    functionName: gf_isom_patch_last_sample_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_last_sample_duration_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_patch_last_sample_duration(GF_ISOFile *movie,
      u32 trackNumber, u64 next_dts) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3688,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3707,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3695,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:3706,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:3692,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3715,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3717,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3718,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3721,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3722,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3724,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:3723,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - UserDataType
    - UUID
    - UserDataIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - bin128
    - u32
    constantsTouched: []
    func_position:
      end: 3728
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3728
    functionName: gf_isom_remove_user_data_item
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    - CanAccessMovie
    - gf_isom_box_array_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_user_data_item(GF_ISOFile *movie,
      u32 trackNumber, u32 UserDataType, bin128 UUID, u32 UserDataIndex) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4816,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4832,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:4838,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4822,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4819,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:4842,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4844,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4847,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:4860,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:4865,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:4876,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:4881,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4867,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4870,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4883,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4886,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - udesc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_GenericSampleDescription*
    constantsTouched: []
    func_position:
      end: 4892
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4892
    functionName: gf_isom_change_generic_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_isom_get_track_from_file
    - strcpy
    - gf_isom_box_del
    - CanAccessMovie
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_change_generic_sample_description(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, GF_GenericSampleDescription *udesc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/isomedia/isom_write.c:5989,1
    - Dst: gf_isom_set_interleave_time
      Src: /src/gpac/src/isomedia/isom_write.c:5997,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/isomedia/isom_write.c:5995,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/isomedia/isom_write.c:5994,1
    - Dst: gf_isom_set_interleave_time
      Src: /src/gpac/src/isomedia/isom_write.c:5992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - file
    - fTimeInSec
    argTypes:
    - GF_ISOFile*
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 5998
      start: 5981
    functionDepth: 0
    functionLinenumber: 5981
    functionLinenumberEnd: 5998
    functionName: gf_isom_make_interleave_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_storage_mode
    - gf_isom_set_interleave_time
    - gf_isom_get_timescale
    - gf_isom_get_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_make_interleave_ex(GF_ISOFile *file, GF_Fraction
      *fTimeInSec) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8282,1
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/isom_write.c:8290,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8285,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:8303,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 8336
      start: 8273
    functionDepth: 0
    functionLinenumber: 8273
    functionLinenumberEnd: 8336
    functionName: gf_isom_update_edit_list_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - Media_SetDuration
    - gf_list_enum
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_update_edit_list_duration(GF_ISOFile *file,
      u32 track) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8991,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8997,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9010,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9026,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9031,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:9038,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9059,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:9033,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9043,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9076,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9079,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9061,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9035,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9075,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9078,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9002,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9016,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9047,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9081,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8994,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9007,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9018,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9050,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9041,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9082,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescriptionIndex
    - info
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOM_Y3D_Info*
    constantsTouched: []
    func_position:
      end: 9086
      start: 8984
    functionDepth: 0
    functionLinenumber: 8984
    functionLinenumberEnd: 9086
    functionName: gf_isom_set_y3d_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_strdup
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_y3d_info(GF_ISOFile *movie, u32 trackNumber, u32
      sampleDescriptionIndex, GF_ISOM_Y3D_Info *info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:9262,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9284,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9264,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9282,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9279,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:9287,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:9288,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - sampleDescIndex
    - profiles
    - nb_compat_profiles
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 9295
      start: 9254
    functionDepth: 0
    functionLinenumber: 9254
    functionLinenumberEnd: 9295
    functionName: gf_isom_set_mpegh_compatible_profiles
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - gf_free
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_mpegh_compatible_profiles(GF_ISOFile
      *movie, u32 trackNumber, u32 sampleDescIndex, const u32 *profiles, u32 nb_compat_profiles) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:6982,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:6990,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6994,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6996,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6985,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7001,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7003,1
    - Dst: gf_isom_add_subsample_info
      Src: /src/gpac/src/isomedia/isom_write.c:7007,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 8
    argNames:
    - movie
    - track
    - sampleNumber
    - flags
    - subSampleSize
    - priority
    - reserved
    - discardable
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u8
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 7008
      start: 6975
    functionDepth: 0
    functionLinenumber: 6975
    functionLinenumberEnd: 7008
    functionName: gf_isom_add_subsample
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - CanAccessMovie
    - gf_list_new
    - gf_isom_add_subsample_info
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_subsample(GF_ISOFile *movie, u32 track, u32 sampleNumber,
      u32 flags, u32 subSampleSize, u8 priority, u32 reserved, Bool discardable) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1749,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1740,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1754,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1746,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:1756,1
    - Dst: Track_SetStreamDescriptor
      Src: /src/gpac/src/isomedia/isom_write.c:1758,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:1760,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - newESD
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1763
    functionName: gf_isom_change_mpeg4_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - Track_SetStreamDescriptor
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_change_mpeg4_description(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, const GF_ESD *newESD) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2814,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/isomedia/isom_write.c:2821,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2817,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2823,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2821,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:2824,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2825,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:2827,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2828,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - seg_index
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2829
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2829
    functionName: gf_isom_remove_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_remove_edits
    - gf_list_rem
    - CanAccessMovie
    - SetTrackDuration
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_edit(GF_ISOFile *movie, u32 trackNumber,
      u32 seg_index) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3225,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3235,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3257,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:3254,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3259,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:3267,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3219,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3239,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3269,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3209,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3225,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3234,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:3250,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3261,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3219,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3212,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3216,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3232,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3237,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3245,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3263,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - timestamp
    - name
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - char*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3270
    functionName: gf_isom_add_chapter
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_list_insert
    - gf_list_get
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - gf_isom_insert_moov
    - gf_list_count
    - udta_on_child_box_ex
    - moov_on_child_box
    - udta_getEntry
    - CanAccessMovie
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_chapter(GF_ISOFile *movie, u32 trackNumber,
      u64 timestamp, char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5076,1
    - Dst: gf_isom_get_track_from_original_id
      Src: /src/gpac/src/isomedia/isom_write.c:5085,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5083,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/isom_write.c:5089,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5097
      start: 5069
    functionDepth: 0
    functionLinenumber: 5069
    functionLinenumberEnd: 5097
    functionName: gf_isom_rewrite_track_dependencies
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_get_track_from_id
    - gf_isom_get_track_from_original_id
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rewrite_track_dependencies(GF_ISOFile *movie,
      u32 trackNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5185,1
    - Dst: stbl_repackCTS
      Src: /src/gpac/src/isomedia/isom_write.c:5197,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5191,1
    - Dst: stbl_unpackCTS
      Src: /src/gpac/src/isomedia/isom_write.c:5194,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:5200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - unpack
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 5201
      start: 5177
    functionDepth: 0
    functionLinenumber: 5177
    functionLinenumberEnd: 5201
    functionName: gf_isom_set_cts_packing
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - stbl_unpackCTS
    - stbl_repackCTS
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_cts_packing(GF_ISOFile *the_file, u32
      trackNumber, Bool unpack) '
  - BBCount: 121
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:5503,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/isom_write.c:5523,1
    - Dst: gf_isom_box_equal
      Src: /src/gpac/src/isomedia/isom_write.c:5600,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5629,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5658,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5488,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:5494,1
    - Dst: Media_GetESD
      Src: /src/gpac/src/isomedia/isom_write.c:5524,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5640,1
    - Dst: gf_isom_registry_disable
      Src: /src/gpac/src/isomedia/isom_write.c:5724,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5534,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:5502,1
    - Dst: base_sample_entry_type
      Src: /src/gpac/src/isomedia/isom_write.c:5510,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5490,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:5495,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:5505,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:5506,1
    - Dst: base_sample_entry_type
      Src: /src/gpac/src/isomedia/isom_write.c:5511,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5616,1
    - Dst: gf_isom_box_equal
      Src: /src/gpac/src/isomedia/isom_write.c:5725,1
    - Dst: gf_isom_registry_disable
      Src: /src/gpac/src/isomedia/isom_write.c:5727,1
    CyclomaticComplexity: 175
    EdgeCount: 175
    ICount: 140
    argCount: 6
    argNames:
    - f1
    - tk1
    - sdesc_index1
    - f2
    - tk2
    - sdesc_index2
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5730
      start: 5478
    functionDepth: 0
    functionLinenumber: 5478
    functionLinenumberEnd: 5730
    functionName: gf_isom_is_same_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - base_sample_entry_type
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_count
    - strcmp
    - gf_isom_registry_disable
    - gf_isom_box_equal
    - Media_GetESD
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_same_sample_description(GF_ISOFile *f1,
      u32 tk1, u32 sdesc_index1, GF_ISOFile *f2, u32 tk2, u32 sdesc_index2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - movie
    - trackID
    - sample_number_in_frag
    - roll_type
    - roll_distance
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - GF_ISOSampleRollType
    - s16
    constantsTouched: []
    func_position:
      end: 7708
      start: 7700
    functionDepth: 0
    functionLinenumber: 7700
    functionLinenumberEnd: 7708
    functionName: gf_isom_fragment_set_sample_roll_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_fragment_set_sample_roll_group(GF_ISOFile
      *movie, GF_ISOTrackID trackID, u32 sample_number_in_frag, GF_ISOSampleRollType
      roll_type, s16 roll_distance) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2838,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2840,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2844,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:2847,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:2846,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2850,1
    - Dst: edts_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:2852,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:2853,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:2855,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2873,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2874,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - EditDuration
    - MediaTime
    - EditMode
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    - GF_ISOEditType
    constantsTouched: []
    func_position:
      end: 2875
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2875
    functionName: gf_isom_append_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - edts_on_child_box
    - CanAccessMovie
    - gf_assert
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_append_edit(GF_ISOFile *movie, u32 trackNumber,
      u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3281,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3287,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3283,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3298,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3296,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3302,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3304,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3305,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3306,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3308,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3310,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3309,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3315,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3318,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3312,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:3316,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:3317,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3311,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - index
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3321
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3321
    functionName: gf_isom_remove_chapter
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_insert_moov
    - gf_list_rem
    - udta_getEntry
    - CanAccessMovie
    - gf_list_del_item
    - gf_isom_box_array_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_chapter(GF_ISOFile *movie, u32 trackNumber,
      u32 index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5206,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:5208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - matrix
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 5210
      start: 5203
    functionDepth: 0
    functionLinenumber: 5203
    functionLinenumberEnd: 5210
    functionName: gf_isom_set_track_matrix
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - memcpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_matrix(GF_ISOFile *the_file, u32
      trackNumber, s32 matrix[9]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:5742,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:5753,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5752,1
    - Dst: gf_isom_get_media_data_size
      Src: /src/gpac/src/isomedia/isom_write.c:5744,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 5758
      start: 5732
    functionDepth: 0
    functionLinenumber: 5732
    functionLinenumberEnd: 5758
    functionName: gf_isom_estimate_size
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_size
    - gf_list_enum
    - gf_list_count
    - gf_isom_get_media_data_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_isom_estimate_size(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:7714,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:7720,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:7723,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:7718,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:7717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7725
      start: 7711
    functionDepth: 0
    functionLinenumber: 7711
    functionLinenumberEnd: 7725
    functionName: sg_encryption_create_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void*
    signature: 'void *sg_encryption_create_entry(void *udta) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2623,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:2635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 2
    argNames:
    - movie
    - storageMode
    argTypes:
    - GF_ISOFile*
    - GF_ISOStorageMode
    constantsTouched: []
    func_position:
      end: 2640
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2640
    functionName: gf_isom_set_storage_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_disable_inplace_rewrite
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_storage_mode(GF_ISOFile *movie, GF_ISOStorageMode
      storageMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:455,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:473,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:480,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:457,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:478,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - movie
    - timeScale
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 495
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 495
    functionName: gf_isom_set_timescale
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_isom_insert_moov
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_timescale(GF_ISOFile *movie, u32 timeScale) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2574,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2591,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2595,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2588,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2581,1
    - Dst: gf_isom_set_audio_info
      Src: /src/gpac/src/isomedia/isom_write.c:2605,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2608,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2610,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:2614,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescriptionIndex
    - layout
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_AudioChannelLayout*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2616
    functionName: gf_isom_set_audio_layout
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_set_audio_info
    - memcpy
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_audio_layout(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleDescriptionIndex, GF_AudioChannelLayout *layout) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:4673,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4662,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:4666,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/isom_write.c:4675,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4683,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4688,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/isom_write.c:4701,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4744,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4746,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4748,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4797,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4709,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/isomedia/isom_write.c:4742,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4740,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4747,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4768,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_write.c:4799,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4801,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4762,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:4669,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4678,1
    - Dst: strncpy
      Src: /src/gpac/src/isomedia/isom_write.c:4700,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/isomedia/isom_write.c:4700,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4719,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4724,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4714,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4741,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4745,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4758,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4791,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4659,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4743,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4749,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4789,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4794,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_write.c:4796,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4800,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:4778,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4773,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4759,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 143
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - URLname
    - URNname
    - udesc
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    - GF_GenericSampleDescription*
    - u32*
    constantsTouched: []
    func_position:
      end: 4804
      start: 4650
    functionDepth: 0
    functionLinenumber: 4650
    functionLinenumberEnd: 4804
    functionName: gf_isom_new_generic_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_bs_get_content
    - gf_isom_box_new_parent
    - gf_bs_write_data
    - Media_CreateDataRef
    - gf_bs_del
    - gf_bs_write_double
    - gf_list_count
    - GF_ARRAY_LENGTH
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - CanAccessMovie
    - Media_FindDataRef
    - gf_isom_box_del
    - strncpy
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_generic_sample_description(GF_ISOFile
      *movie, u32 trackNumber, const char *URLname, const char *URNname, GF_GenericSampleDescription
      *udesc, u32 *outDescriptionIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - maxChunkDur
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5873
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5873
    functionName: gf_isom_hint_max_chunk_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_max_chunk_duration(GF_ISOFile *movie,
      u32 trackNumber, u32 maxChunkDur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_make_interleave_ex
      Src: /src/gpac/src/isomedia/isom_write.c:6006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - file
    - TimeInSec
    argTypes:
    - GF_ISOFile*
    - Double
    constantsTouched: []
    func_position:
      end: 6008
      start: 6000
    functionDepth: 0
    functionLinenumber: 6000
    functionLinenumberEnd: 6008
    functionName: gf_isom_make_interleave
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_make_interleave_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_make_interleave(GF_ISOFile *file, Double
      TimeInSec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - movie
    - track
    - grouping_type
    - data
    - data_size
    - is_default
    - sampleGroupDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - void*
    - u32
    - Bool
    - u32*
    constantsTouched: []
    func_position:
      end: 7505
      start: 7501
    functionDepth: 0
    functionLinenumber: 7501
    functionLinenumberEnd: 7505
    functionName: gf_isom_add_sample_group_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_add_sample_group_info_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_sample_group_info(GF_ISOFile *movie,
      u32 track, u32 grouping_type, void *data, u32 data_size, Bool is_default, u32
      *sampleGroupDescriptionIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - file
    - (*progress_cbk)
    - progress_cbk_udta
    argTypes:
    - GF_ISOFile*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 8474
      start: 8466
    functionDepth: 0
    functionLinenumber: 8466
    functionLinenumberEnd: 8474
    functionName: gf_isom_set_progress_callback
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_set_progress_callback(GF_ISOFile *file, void
      (*progress_cbk)(void *udta, u64 nb_done, u64 nb_total), void *progress_cbk_udta) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:504,1
    - Dst: gf_isom_set_root_iod
      Src: /src/gpac/src/isomedia/isom_write.c:507,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 3
    argNames:
    - movie
    - PL_Code
    - ProfileLevel
    argTypes:
    - GF_ISOFile*
    - GF_ISOProfileLevelType
    - u8
    constantsTouched: []
    func_position:
      end: 535
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 535
    functionName: gf_isom_set_pl_indication
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_root_iod
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_pl_indication(GF_ISOFile *movie, GF_ISOProfileLevelType
      PL_Code, u8 ProfileLevel) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5885,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:5888,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:5921,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:5916,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 39
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - slConfig
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 5922
      start: 5876
    functionDepth: 0
    functionLinenumber: 5876
    functionLinenumberEnd: 5922
    functionName: gf_isom_set_extraction_slc
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_extraction_slc(GF_ISOFile *the_file,
      u32 trackNumber, u32 StreamDescriptionIndex, const GF_SLConfig *slConfig) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6013,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/isom_write.c:6020,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/isom_write.c:6022,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6015,1
    - Dst: gf_fsize
      Src: /src/gpac/src/isomedia/isom_write.c:6025,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/isom_write.c:6026,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_write.c:6027,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_write.c:6033,1
    - Dst: gf_fseek
      Src: /src/gpac/src/isomedia/isom_write.c:6036,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:6037,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_write.c:6044,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_write.c:6048,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6091,1
    - Dst: gf_fread
      Src: /src/gpac/src/isomedia/isom_write.c:6042,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:6050,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/isom_write.c:6039,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - nameUTF8
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 6094
      start: 6009
    functionDepth: 0
    functionLinenumber: 6009
    functionLinenumberEnd: 6094
    functionName: gf_isom_set_handler_name
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_malloc
    - strlen
    - gf_isom_get_track_from_file
    - strcpy
    - gf_strdup
    - gf_fsize
    - gf_fread
    - strnicmp
    - gf_fclose
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_handler_name(GF_ISOFile *the_file, u32
      trackNumber, const char *nameUTF8) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7290,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7306,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7309,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/isom_write.c:7314,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:7300,1
    - Dst: gf_isom_set_sample_group_info_ex
      Src: /src/gpac/src/isomedia/isom_write.c:7316,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 24
    argCount: 9
    argNames:
    - movie
    - track
    - trafID
    - sample_number
    - grouping_type
    - grouping_type_parameter
    - udta
    - (*sg_create_entry)
    - (*sg_compare_entry)
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - void*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 7319
      start: 7282
    functionDepth: 0
    functionLinenumber: 7282
    functionLinenumberEnd: 7319
    functionName: gf_isom_set_sample_group_info_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - CanAccessMovie
    - gf_isom_set_sample_group_info_ex
    - gf_isom_get_traf
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_set_sample_group_info_internal(GF_ISOFile *movie,
      u32 track, u32 trafID, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter,
      void *udta, void *(*sg_create_entry)(void *udta), Bool (*sg_compare_entry)(void
      *udta, void *entry)) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7515,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:7535,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7542,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7546,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7525,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:7554,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:7564,1
    - Dst: gf_isom_add_sample_group_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7569,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 9
    argNames:
    - movie
    - track
    - sample_number
    - grouping_type
    - grouping_type_parameter
    - data
    - data_size
    - check_access
    - sgpd_flags
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - void*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 7571
      start: 7507
    functionDepth: 0
    functionLinenumber: 7507
    functionLinenumberEnd: 7571
    functionName: gf_isom_set_sample_group_description_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - gf_isom_add_sample_group_info_internal
    - CanAccessMovie
    - gf_list_new
    - gf_isom_add_sample_group_entry
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_group_description_internal(GF_ISOFile *movie,
      u32 track, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter,
      void *data, u32 data_size, Bool check_access, u32 sgpd_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8497,1
    - Dst: strncpy
      Src: /src/gpac/src/isomedia/isom_write.c:8509,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 12
    argNames:
    - file
    - track
    - stsd_idx
    - revision
    - vendor
    - temporalQ
    - spatialQ
    - horiz_res
    - vert_res
    - frames_per_sample
    - compressor_name
    - color_table_index
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u16
    - u32
    - u32
    - u32
    - u32
    - u32
    - u16
    - char*
    - s16
    constantsTouched: []
    func_position:
      end: 8513
      start: 8476
    functionDepth: 0
    functionLinenumber: 8476
    functionLinenumberEnd: 8513
    functionName: gf_isom_update_video_sample_entry_fields
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strncpy
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_video_sample_entry_fields(GF_ISOFile *file,
      u32 track, u32 stsd_idx, u16 revision, u32 vendor, u32 temporalQ, u32 spatialQ,
      u32 horiz_res, u32 vert_res, u16 frames_per_sample, const char *compressor_name,
      s16 color_table_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - entry
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 7688
      start: 7683
    functionDepth: 0
    functionLinenumber: 7683
    functionLinenumberEnd: 7688
    functionName: sg_roll_compare_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool sg_roll_compare_entry(void *udta, void *entry) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2337,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2345,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2352,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2348,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2340,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2356,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2358,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2362,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:2365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - remove
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2367
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2367
    functionName: gf_isom_set_image_sequence_alpha
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_strdup
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_image_sequence_alpha(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, Bool remove) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3740,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:3758,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3747,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3759,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:3744,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3767,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:3768,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3769,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - UserDataType
    - UUID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - bin128
    constantsTouched: []
    func_position:
      end: 3773
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3773
    functionName: gf_isom_remove_user_data
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - memset
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_enum
    - gf_list_rem
    - CanAccessMovie
    - gf_isom_box_array_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_user_data(GF_ISOFile *movie, u32 trackNumber,
      u32 UserDataType, bin128 UUID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7624,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:7631,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7627,1
    - Dst: get_sgdp
      Src: /src/gpac/src/isomedia/isom_write.c:7634,1
    - Dst: gf_isom_add_sample_group_entry
      Src: /src/gpac/src/isomedia/isom_write.c:7638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - movie
    - track
    - sample_number
    - grouping_type
    - sampleGroupDescriptionIndex
    - grouping_type_parameter
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7639
      start: 7618
    functionDepth: 0
    functionLinenumber: 7618
    functionLinenumberEnd: 7639
    functionName: gf_isom_add_sample_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - get_sgdp
    - CanAccessMovie
    - gf_list_new
    - gf_isom_add_sample_group_entry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_sample_info(GF_ISOFile *movie, u32 track,
      u32 sample_number, u32 grouping_type, u32 sampleGroupDescriptionIndex, u32 grouping_type_parameter) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2468,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:2486,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2538,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2550,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2398,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2457,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2475,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2500,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2542,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2544,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2405,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2391,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2456,1
    - Dst: gf_isom_audio_sample_get_audio_codec_cfg_box
      Src: /src/gpac/src/isomedia/isom_write.c:2496,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2529,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2531,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:2524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2504,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2535,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2547,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2401,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2533,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2490,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2503,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2537,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2552,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 151
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - sampleRate
    - nbChannels
    - bitsPerSample
    - asemode
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u8
    - GF_AudioSampleEntryImportMode
    constantsTouched: []
    func_position:
      end: 2563
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2563
    functionName: gf_isom_set_audio_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_isom_audio_sample_get_audio_codec_cfg_box
    - gf_list_count
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_audio_info(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, u32 sampleRate, u32 nbChannels, u8 bitsPerSample,
      GF_AudioSampleEntryImportMode asemode) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3782,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3790,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3790,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3788,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3794,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3794,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3801,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3805,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3807,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3810,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3814,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3821,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3816,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3818,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3812,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - UserDataType
    - UUID
    - data
    - DataLength
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - bin128
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3826
      start: 3775
    functionDepth: 0
    functionLinenumber: 3775
    functionLinenumberEnd: 3826
    functionName: gf_isom_add_user_data
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_malloc
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - udta_on_child_box_ex
    - moov_on_child_box
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_user_data(GF_ISOFile *movie, u32 trackNumber,
      u32 UserDataType, bin128 UUID, u8 *data, u32 DataLength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5977
      start: 5971
    functionDepth: 0
    functionLinenumber: 5971
    functionLinenumberEnd: 5977
    functionName: gf_isom_get_track_priority_in_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_get_track_priority_in_group(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:7645,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:7646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7651
      start: 7641
    functionDepth: 0
    functionLinenumber: 7641
    functionLinenumberEnd: 7651
    functionName: sg_rap_create_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_assert
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void*
    signature: 'void *sg_rap_create_entry(void *udta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4990,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 4998
      start: 4985
    functionDepth: 0
    functionLinenumber: 4985
    functionLinenumberEnd: 4998
    functionName: gf_isom_remove_track_references
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_track_references(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8523,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8529,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:8535,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:8532,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/isom_write.c:8534,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8538,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/isomedia/isom_write.c:8541,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:8552,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8556,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8557,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:8567,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:8575,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8565,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8576,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:8573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8558,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:8570,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 5
    argNames:
    - file
    - track
    - sampleDescriptionIndex
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 8579
      start: 8516
    functionDepth: 0
    functionLinenumber: 8516
    functionLinenumberEnd: 8579
    functionName: gf_isom_update_sample_description_from_template
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_list_pop_front
    - gf_list_count
    - gf_isom_box_del
    - gf_isom_box_parse_ex
    - gf_bs_new
    - gf_isom_box_find_child
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_sample_description_from_template(GF_ISOFile
      *file, u32 track, u32 sampleDescriptionIndex, u8 *data, u32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6941,1
    - Dst: reset_tsel_box
      Src: /src/gpac/src/isomedia/isom_write.c:6955,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_write.c:6948,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6950,1
    - Dst: reset_tsel_box
      Src: /src/gpac/src/isomedia/isom_write.c:6951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - reset_all_group
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 6958
      start: 6935
    functionDepth: 0
    functionLinenumber: 6935
    functionLinenumberEnd: 6958
    functionName: gf_isom_reset_track_switch_parameter
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - reset_tsel_box
    - gf_isom_get_track_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_reset_track_switch_parameter(GF_ISOFile *movie,
      u32 trackNumber, Bool reset_all_group) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: RequestTrack
      Src: /src/gpac/src/isomedia/isom_write.c:684,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:703,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:747,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_write.c:759,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:829,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:821,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:785,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:830,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:672,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:655,1
    - Dst: RequestTrack
      Src: /src/gpac/src/isomedia/isom_write.c:676,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:689,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:699,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/isom_write.c:702,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:735,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:737,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:784,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:813,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:650,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/isom_write.c:700,1
    - Dst: NewMedia
      Src: /src/gpac/src/isomedia/isom_write.c:717,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:727,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:732,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:709,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:708,1
    - Dst: NewMedia
      Src: /src/gpac/src/isomedia/isom_write.c:742,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:748,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:755,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:652,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:693,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:730,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:723,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:744,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:753,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_write.c:807,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/isom_write.c:825,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 155
    argCount: 7
    argNames:
    - movie
    - trakID
    - MediaType
    - TimeScale
    - tk_box
    - tk_box_size
    - udta_only
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - u32
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 832
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 832
    functionName: gf_isom_new_track_from_template
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new_parent
    - gf_isom_get_track_by_id
    - gf_bs_del
    - trak_on_child_box
    - gf_isom_box_parse_ex
    - RequestTrack
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_isom_set_last_error
    - gf_isom_get_mp4time
    - gf_isom_insert_moov
    - gf_bs_new
    - NewMedia
    - moov_on_child_box
    - gf_sys_is_test_mode
    - CanAccessMovie
    - gf_bs_set_cookie
    - gf_isom_box_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_new_track_from_template(GF_ISOFile *movie, GF_ISOTrackID
      trakID, u32 MediaType, u32 TimeScale, u8 *tk_box, u32 tk_box_size, Bool udta_only) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1543,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1553,1
    - Dst: stbl_RemoveDTS
      Src: /src/gpac/src/isomedia/isom_write.c:1558,1
    - Dst: stbl_RemoveCTS
      Src: /src/gpac/src/isomedia/isom_write.c:1562,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1546,1
    - Dst: stbl_RemoveSize
      Src: /src/gpac/src/isomedia/isom_write.c:1566,1
    - Dst: stbl_RemoveChunk
      Src: /src/gpac/src/isomedia/isom_write.c:1569,1
    - Dst: stbl_RemoveRAP
      Src: /src/gpac/src/isomedia/isom_write.c:1573,1
    - Dst: stbl_RemoveRedundant
      Src: /src/gpac/src/isomedia/isom_write.c:1578,1
    - Dst: stbl_RemoveShadow
      Src: /src/gpac/src/isomedia/isom_write.c:1582,1
    - Dst: stbl_RemoveSampleGroup
      Src: /src/gpac/src/isomedia/isom_write.c:1592,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:1595,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:1599,1
    - Dst: stbl_RemovePaddingBits
      Src: /src/gpac/src/isomedia/isom_write.c:1586,1
    - Dst: gf_isom_meta_track_remove
      Src: /src/gpac/src/isomedia/isom_write.c:1597,1
    - Dst: stbl_RemoveSubSample
      Src: /src/gpac/src/isomedia/isom_write.c:1589,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1600
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1600
    functionName: gf_isom_remove_sample
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_RemoveDTS
    - stbl_RemovePaddingBits
    - stbl_RemoveRAP
    - gf_isom_disable_inplace_rewrite
    - gf_isom_get_track_from_file
    - stbl_RemoveSubSample
    - unpack_track
    - stbl_RemoveSize
    - gf_isom_meta_track_remove
    - stbl_RemoveSampleGroup
    - stbl_RemoveShadow
    - CanAccessMovie
    - stbl_RemoveChunk
    - SetTrackDuration
    - stbl_RemoveCTS
    - stbl_RemoveRedundant
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_sample(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleNumber) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3503,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3514,1
    - Dst: CheckNoData
      Src: /src/gpac/src/isomedia/isom_write.c:3506,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3512,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3521,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3532,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3534,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3537,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - movie
    - MajorBrand
    - MinorVersion
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3540
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3540
    functionName: gf_isom_set_brand_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - gf_free
    - memcpy
    - CanAccessMovie
    - CheckNoData
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_brand_info(GF_ISOFile *movie, u32 MajorBrand,
      u32 MinorVersion) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4954,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4974,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/isom_write.c:4965,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_write.c:4967,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:4960,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4977,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4978,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 4982
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 4982
    functionName: gf_isom_purge_track_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_isom_get_track_from_file
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_purge_track_reference(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5165,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5174
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5174
    functionName: gf_isom_remove_cts_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_cts_info(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:5447,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:5448,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:5449,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:5450,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:5451,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:5453,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:5454,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:5455,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:5456,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:5457,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:5463,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:5464,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:5461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_Box*
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 5466
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5466
    functionName: gf_isom_box_equal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - memcmp
    - gf_bs_new
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_box_equal(GF_Box *a, GF_Box *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mov
    - set_on
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 6174
      start: 6169
    functionDepth: 0
    functionLinenumber: 6169
    functionLinenumberEnd: 6174
    functionName: gf_isom_set_JPEG2000
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_JPEG2000(GF_ISOFile *mov, Bool set_on) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:7059,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7061,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7063,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:7074,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:7068,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:7075,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:7076,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:7096,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:7138,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:7146,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:7153,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 7
    argNames:
    - sampleGroups
    - sample_number
    - sgdesc
    - grouping_type_parameter
    - sampleGroupDescriptionIndex
    - parent
    - stbl
    argTypes:
    - GF_List*
    - u32
    - GF_SampleGroupDescriptionBox*
    - u32
    - u32
    - GF_List*
    - GF_SampleTableBox*
    constantsTouched: []
    func_position:
      end: 7162
      start: 7054
    functionDepth: 0
    functionLinenumber: 7054
    functionLinenumberEnd: 7162
    functionName: gf_isom_add_sample_group_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_isom_box_new
    - gf_list_add
    - gf_list_get
    - gf_malloc
    - gf_realloc
    - gf_list_count
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_add_sample_group_entry(GF_List *sampleGroups,
      u32 sample_number, GF_SampleGroupDescriptionBox *sgdesc, u32 grouping_type_parameter,
      u32 sampleGroupDescriptionIndex, GF_List *parent, GF_SampleTableBox *stbl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:841,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:849,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:846,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/isom_write.c:850,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:844,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:851,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:857,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - stsd_data
    - stsd_data_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 859
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 859
    functionName: gf_isom_set_track_stsd_templates
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_box_del
    - gf_isom_box_parse_ex
    - gf_bs_new
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_track_stsd_templates(GF_ISOFile *movie, u32 trackNumber,
      u8 *stsd_data, u32 stsd_data_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1610,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:1616,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:1618,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:1619,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:1621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - movie
    - filename
    argTypes:
    - GF_ISOFile*
    - char*
    constantsTouched: []
    func_position:
      end: 1624
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1624
    functionName: gf_isom_set_final_name
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_disable_inplace_rewrite
    - gf_strdup
    - strcmp
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_final_name(GF_ISOFile *movie, char *filename) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3554,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3565,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3563,1
    - Dst: CheckNoData
      Src: /src/gpac/src/isomedia/isom_write.c:3557,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3584,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3587,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3588,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:3599,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3602,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3613,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 3
    argNames:
    - movie
    - Brand
    - AddIt
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3616
      start: 3543
    functionDepth: 0
    functionLinenumber: 3543
    functionLinenumberEnd: 3616
    functionName: gf_isom_modify_alternate_brand
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - gf_free
    - memcpy
    - CanAccessMovie
    - gf_assert
    - CheckNoData
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_modify_alternate_brand(GF_ISOFile *movie,
      u32 Brand, Bool AddIt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5476
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5476
    functionName: base_sample_entry_type
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 base_sample_entry_type(u32 type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7772,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7778,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:7781,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 7785
      start: 7769
    functionDepth: 0
    functionLinenumber: 7769
    functionLinenumberEnd: 7785
    functionName: gf_isom_force_ctts
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_malloc
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_force_ctts(GF_ISOFile *file, u32 track) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:9434,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9444,1
    - Dst: isom_sample_refs_push
      Src: /src/gpac/src/isomedia/isom_write.c:9447,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:9437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 6
    argNames:
    - file
    - track
    - sampleNumber
    - refID
    - nb_refs
    - refs
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - s32
    - u32
    - s32*
    constantsTouched: []
    func_position:
      end: 9449
      start: 9428
    functionDepth: 0
    functionLinenumber: 9428
    functionLinenumberEnd: 9449
    functionName: gf_isom_set_sample_references
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - isom_sample_refs_push
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_references(GF_ISOFile *file, u32 track,
      u32 sampleNumber, s32 refID, u32 nb_refs, s32 *refs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - movie
    - InterleaveTime
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3413
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3413
    functionName: gf_isom_set_interleave_time
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_interleave_time(GF_ISOFile *movie, u32
      InterleaveTime) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3932,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3940,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:3954,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3997,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:3944,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:3945,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3968,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:3966,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3978,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3972,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:3987,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/src/isomedia/isom_write.c:3982,1
    - Dst: gf_isom_clone_pl_indications
      Src: /src/gpac/src/isomedia/isom_write.c:3990,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4007,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:3939,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:3936,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:3937,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:3948,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:3949,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:3961,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3979,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:3959,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:4030,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4031,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 68
    argCount: 5
    argNames:
    - orig_file
    - dest_file
    - clone_tracks
    - keep_hint_tracks
    - keep_pssh
    argTypes:
    - GF_ISOFile*
    - GF_ISOFile*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4038
      start: 3926
    functionDepth: 0
    functionLinenumber: 3926
    functionLinenumberEnd: 4038
    functionName: gf_isom_clone_movie
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del
    - gf_isom_box_del_parent
    - gf_isom_clone_pl_indications
    - gf_isom_clone_box
    - gf_isom_clone_track
    - CanAccessMovie
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_clone_movie(GF_ISOFile *orig_file, GF_ISOFile *dest_file,
      Bool clone_tracks, Bool keep_hint_tracks, Bool keep_pssh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:376,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:379,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:405,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:385,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: gf_isom_set_root_iod
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - AddMovieIOD
    - gf_isom_insert_moov
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_set_root_iod(GF_ISOFile *movie) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1479,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1502,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1482,1
    - Dst: Media_UpdateSampleReference
      Src: /src/gpac/src/isomedia/isom_write.c:1498,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - sampleNumber
    - sample
    - data_offset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOSample*
    - u64
    constantsTouched: []
    func_position:
      end: 1504
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1504
    functionName: gf_isom_update_sample_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - unpack_track
    - Media_UpdateSampleReference
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_update_sample_reference(GF_ISOFile *movie,
      u32 trackNumber, u32 sampleNumber, GF_ISOSample *sample, u64 data_offset) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3110,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3120,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3120,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3113,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3117,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3128,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3130,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3132,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3135,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3136,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3141,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:3142,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3154,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:3153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:3152,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3149,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3140,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 51
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - schemeURI
    - value
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3155
    functionName: gf_isom_add_track_kind
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_list_get
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_insert_moov
    - strcmp
    - gf_strdup
    - udta_on_child_box_ex
    - udta_getEntry
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_track_kind(GF_ISOFile *movie, u32 trackNumber,
      const char *schemeURI, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - file
    - compress_mode
    - compress_flags
    argTypes:
    - GF_ISOFile*
    - GF_ISOCompressMode
    - u32
    constantsTouched: []
    func_position:
      end: 2650
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2650
    functionName: gf_isom_enable_compression
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_enable_compression(GF_ISOFile *file, GF_ISOCompressMode
      compress_mode, u32 compress_flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4093,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4100,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4101,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4094,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - file
    - trak
    - trex
    - trexprop
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    - GF_TrackExtendsBox**
    - GF_TrackExtensionPropertiesBox**
    constantsTouched: []
    func_position:
      end: 4106
      start: 4088
    functionDepth: 0
    functionLinenumber: 4088
    functionLinenumberEnd: 4106
    functionName: gf_isom_get_trex_props
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_get_trex_props(GF_ISOFile *file, GF_TrackBox
      *trak, GF_TrackExtendsBox **trex, GF_TrackExtensionPropertiesBox **trexprop) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - offset_shift
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 5159
      start: 5136
    functionDepth: 0
    functionLinenumber: 5136
    functionLinenumberEnd: 5159
    functionName: gf_isom_shift_cts_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_shift_cts_offset(GF_ISOFile *the_file, u32
      trackNumber, s32 offset_shift) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5769,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5778
      start: 5763
    functionDepth: 0
    functionLinenumber: 5763
    functionLinenumberEnd: 5778
    functionName: gf_isom_remove_sync_shadows
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_del_parent
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_sync_shadows(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6186,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6194,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:6199,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6196,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:6202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - UUID
    argTypes:
    - GF_ISOFile*
    - u32
    - bin128
    constantsTouched: []
    func_position:
      end: 6205
      start: 6177
    functionDepth: 0
    functionLinenumber: 6177
    functionLinenumberEnd: 6205
    functionName: gf_isom_remove_uuid
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_uuid(GF_ISOFile *movie, u32 trackNumber, bin128
      UUID) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:416,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:418,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:434,1
    - Dst: gf_isom_set_root_iod
      Src: /src/gpac/src/isomedia/isom_write.c:425,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:422,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/isomedia/isom_write.c:437,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:438,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 2
    argNames:
    - movie
    - theDesc
    argTypes:
    - GF_ISOFile*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 445
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 445
    functionName: gf_isom_add_desc_to_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - AddMovieIOD
    - gf_odf_desc_add_desc
    - gf_isom_insert_moov
    - gf_odf_desc_copy
    - gf_isom_set_root_iod
    - gf_odf_desc_del
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_desc_to_root_od(GF_ISOFile *movie, const
      GF_Descriptor *theDesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - set_on
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 2658
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2658
    functionName: gf_isom_force_64bit_chunk_offset
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_force_64bit_chunk_offset(GF_ISOFile *file,
      Bool set_on) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3165,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3174,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3167,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3174,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3171,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3181,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3184,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3188,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3189,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - schemeURI
    - value
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3197
    functionName: gf_isom_remove_track_kind
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - gf_isom_insert_moov
    - strcmp
    - gf_isom_box_del_parent
    - udta_getEntry
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_track_kind(GF_ISOFile *movie, u32
      trackNumber, const char *schemeURI, const char *value) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4581,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/isom_write.c:4588,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:4590,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:4628,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4602,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4635,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4584,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4585,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4621,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4617,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:4632,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4636,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4577,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4574,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4609,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/isomedia/isom_write.c:4640,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/isomedia/isom_write.c:4641,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4646,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4570,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4583,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4586,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4587,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4595,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:4625,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4589,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/isomedia/isom_write.c:4639,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - orig_file
    - orig_track
    - orig_desc_index
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 4648
      start: 4557
    functionDepth: 0
    functionLinenumber: 4557
    functionLinenumberEnd: 4648
    functionName: gf_isom_clone_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_bs_get_content
    - gf_isom_box_write
    - Media_CreateDataRef
    - gf_isom_get_media_type
    - gf_bs_del
    - gf_list_count
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - gf_isom_box_parse
    - gf_bs_new
    - CanAccessMovie
    - gf_free
    - gf_isom_set_visual_info
    - Media_FindDataRef
    - gf_isom_box_del
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_clone_sample_description(GF_ISOFile *the_file,
      u32 trackNumber, GF_ISOFile *orig_file, u32 orig_track, u32 orig_desc_index,
      const char *URLname, const char *URNname, u32 *outDescriptionIndex) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6220,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:6222,1
    - Dst: gf_isom_solve_uuid_box
      Src: /src/gpac/src/isomedia/isom_write.c:6229,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:6231,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:6226,1
    - Dst: gf_isom_solve_uuid_box
      Src: /src/gpac/src/isomedia/isom_write.c:6234,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:6235,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:6238,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:6240,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:6242,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - UUID
    - data
    - data_size
    argTypes:
    - GF_ISOFile*
    - u32
    - bin128
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 6244
      start: 6207
    functionDepth: 0
    functionLinenumber: 6207
    functionLinenumberEnd: 6244
    functionName: gf_isom_add_uuid
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_solve_uuid_box
    - gf_malloc
    - gf_isom_get_track_from_file
    - memcpy
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_uuid(GF_ISOFile *movie, u32 trackNumber,
      bin128 UUID, const u8 *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/isomedia/isom_write.c:6965,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6967,1
    - Dst: reset_tsel_box
      Src: /src/gpac/src/isomedia/isom_write.c:6968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 6972
      start: 6961
    functionDepth: 0
    functionLinenumber: 6961
    functionLinenumberEnd: 6972
    functionName: gf_isom_reset_switch_parameters
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - reset_tsel_box
    - gf_isom_get_track_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_reset_switch_parameters(GF_ISOFile *movie) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8920,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8942,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8922,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:8945,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8924,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:8947,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:8949,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 8951
      start: 8913
    functionDepth: 0
    functionLinenumber: 8913
    functionLinenumberEnd: 8951
    functionName: gf_isom_set_ipod_compatible
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - memset
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - memcpy
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_ipod_compatible(GF_ISOFile *the_file,
      u32 trackNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:280,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - flags
    - op
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOMTrackFlagOp
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: gf_isom_set_track_flags
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_flags(GF_ISOFile *movie, u32 trackNumber,
      u32 flags, GF_ISOMTrackFlagOp op) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2135,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2150,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2138,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2143,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2146,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2154,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2156,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2160,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 11
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - cleanApertureWidthN
    - cleanApertureWidthD
    - cleanApertureHeightN
    - cleanApertureHeightD
    - horizOffN
    - horizOffD
    - vertOffN
    - vertOffD
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - s32
    - u32
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 2173
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2173
    functionName: gf_isom_set_clean_aperture
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_clean_aperture(GF_ISOFile *movie, u32
      trackNumber, u32 StreamDescriptionIndex, u32 cleanApertureWidthN, u32 cleanApertureWidthD,
      u32 cleanApertureHeightN, u32 cleanApertureHeightD, s32 horizOffN, u32 horizOffD,
      s32 vertOffN, u32 vertOffD) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4292,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4296,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4304,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4302,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4305,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4306,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - file
    - track
    - stsd_idx
    - output
    - output_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4310
      start: 4282
    functionDepth: 0
    functionLinenumber: 4282
    functionLinenumberEnd: 4310
    functionName: gf_isom_get_stsd_template
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - gf_isom_box_write
    - gf_bs_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_stsd_template(GF_ISOFile *file, u32 track,
      u32 stsd_idx, u8 **output, u32 *output_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:7751,1
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 8
    argNames:
    - movie
    - track
    - sample_number
    - isEncrypted
    - crypt_byte_block
    - skip_byte_block
    - key_info
    - key_info_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 7759
      start: 7744
    functionDepth: 0
    functionLinenumber: 7744
    functionLinenumberEnd: 7759
    functionName: gf_isom_set_sample_cenc_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_sample_cenc_group(GF_ISOFile *movie,
      u32 track, u32 sample_number, u8 isEncrypted, u32 crypt_byte_block, u32 skip_byte_block,
      u8 *key_info, u32 key_info_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_write.c:8959,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8965,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8962,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 8974
      start: 8953
    functionDepth: 0
    functionLinenumber: 8953
    functionLinenumberEnd: 8974
    functionName: gf_isom_is_inplace_rewrite
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - strcmp
    - gf_bs_get_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_isom_is_inplace_rewrite(GF_ISOFile *movie) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:322,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:360,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:330,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:366,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:308,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:315,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:346,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:300,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:311,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:323,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:336,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:355,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:354,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:302,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:306,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:312,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/isomedia/isom_write.c:327,1
    - Dst: gf_lang_get_3cc
      Src: /src/gpac/src/isomedia/isom_write.c:334,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:348,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - code
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 368
    functionName: gf_isom_set_media_language
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - gf_lang_get_3cc
    - gf_lang_find
    - memcpy
    - CanAccessMovie
    - gf_isom_box_find_child
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_media_language(GF_ISOFile *movie, u32
      trackNumber, char *code) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4354,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4424,1
    - Dst: RequestTrack
      Src: /src/gpac/src/isomedia/isom_write.c:4437,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4443,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4388,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4395,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:4445,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4461,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4478,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4510,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_write.c:4482,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4376,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4426,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/isom_write.c:4434,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4492,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4327,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:4340,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4333,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4374,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4373,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:4384,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4393,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4400,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4401,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4407,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:4488,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/isomedia/isom_write.c:4450,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4505,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/isom_write.c:4521,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/isom_write.c:4382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4493,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4422,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4514,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:4508,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:4329,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4351,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4370,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_write.c:4365,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/isom_write.c:4378,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4383,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4398,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4405,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4411,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:4451,1
    - Dst: Media_SetDrefURL
      Src: /src/gpac/src/isomedia/isom_write.c:4496,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4483,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4485,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:4415,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/isomedia/isom_write.c:4451,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4444,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4341,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4344,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4345,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:4347,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4356,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4357,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:4361,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4372,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:4366,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4375,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4420,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/isomedia/isom_write.c:4520,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/isom_write.c:4380,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:4459,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 186
    argCount: 5
    argNames:
    - orig_file
    - orig_track
    - dest_file
    - flags
    - dest_track
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - GF_ISOTrackCloneFlags
    - u32*
    constantsTouched: []
    func_position:
      end: 4526
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4526
    functionName: gf_isom_clone_track
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_bs_get_content
    - strlen
    - gf_isom_box_new_parent
    - gf_isom_box_write
    - Media_CreateDataRef
    - gf_isom_get_media_subtype
    - gf_isom_get_track_by_id
    - gf_bs_del
    - gf_crc_32
    - gf_list_count
    - gf_isom_modify_alternate_brand
    - RequestTrack
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_list_get
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - Media_SetDrefURL
    - gf_isom_box_parse
    - gf_isom_insert_moov
    - gf_bs_new
    - moov_on_child_box
    - CanAccessMovie
    - gf_free
    - gf_isom_box_array_del
    - gf_isom_get_filename
    - gf_isom_disable_inplace_rewrite
    - gf_bs_set_cookie
    - gf_isom_box_del
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_clone_track(GF_ISOFile *orig_file, u32 orig_track,
      GF_ISOFile *dest_file, GF_ISOTrackCloneFlags flags, u32 *dest_track) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 8981
      start: 8976
    functionDepth: 0
    functionLinenumber: 8976
    functionLinenumberEnd: 8981
    functionName: gf_isom_disable_inplace_rewrite
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_disable_inplace_rewrite(GF_ISOFile *movie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - maxChunkSize
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5858
      start: 5847
    functionDepth: 0
    functionLinenumber: 5847
    functionLinenumberEnd: 5858
    functionName: gf_isom_hint_max_chunk_size
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_max_chunk_size(GF_ISOFile *movie, u32
      trackNumber, u32 maxChunkSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/isom_write.c:7737,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - udta
    - _entry
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 7740
      start: 7727
    functionDepth: 0
    functionLinenumber: 7727
    functionLinenumberEnd: 7740
    functionName: sg_encryption_compare_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool sg_encryption_compare_entry(void *udta, void *_entry) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:4053,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4058,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4056,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:4063,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:4074,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:4076,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:4080,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:4083,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 29
    argCount: 3
    argNames:
    - file
    - output
    - output_size
    argTypes:
    - GF_ISOFile*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 4085
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4085
    functionName: gf_isom_get_raw_user_data
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_list_enum
    - gf_bs_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_raw_user_data(GF_ISOFile *file, u8 **output,
      u32 *output_size) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:9303,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9374,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9305,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:9371,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9378,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9387,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 52
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleDescIndex
    - scheme_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 9393
      start: 9297
    functionDepth: 0
    functionLinenumber: 9297
    functionLinenumberEnd: 9393
    functionName: gf_isom_set_sample_description_restricted
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_isom_box_del_parent
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_description_restricted(GF_ISOFile *movie,
      u32 trackNumber, u32 sampleDescIndex, u32 scheme_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - new_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6144
      start: 6137
    functionDepth: 0
    functionLinenumber: 6137
    functionLinenumberEnd: 6144
    functionName: gf_isom_set_media_type
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_media_type(GF_ISOFile *movie, u32 trackNumber,
      u32 new_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:9398,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:9419,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:9418,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:9405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9407,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:9425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - sref
    - refID
    - nb_refs
    - refs
    argTypes:
    - GF_SampleReferences*
    - s32
    - u32
    - s32*
    constantsTouched: []
    func_position:
      end: 9426
      start: 9395
    functionDepth: 0
    functionLinenumber: 9395
    functionLinenumberEnd: 9426
    functionName: isom_sample_refs_push
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err isom_sample_refs_push(GF_SampleReferences *sref, s32 refID,
      u32 nb_refs, s32 *refs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1442,1
    - Dst: Media_ParseODFrame
      Src: /src/gpac/src/isomedia/isom_write.c:1457,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1448,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1445,1
    - Dst: Media_UpdateSample
      Src: /src/gpac/src/isomedia/isom_write.c:1458,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_write.c:1459,1
    - Dst: Media_UpdateSample
      Src: /src/gpac/src/isomedia/isom_write.c:1461,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1465,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:1467,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - sampleNumber
    - sample
    - data_only
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOSample*
    - Bool
    constantsTouched: []
    func_position:
      end: 1469
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1469
    functionName: gf_isom_update_sample
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_isom_disable_inplace_rewrite
    - gf_isom_get_track_from_file
    - Media_ParseODFrame
    - unpack_track
    - Media_UpdateSample
    - CanAccessMovie
    - gf_isom_sample_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_update_sample(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleNumber, GF_ISOSample *sample, Bool data_only) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:9214,1
    - Dst: gf_isom_add_sample_aux_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:9216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 7
    argNames:
    - movie
    - trackID
    - sample_number_in_frag
    - aux_type
    - aux_info
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 9217
      start: 9209
    functionDepth: 0
    functionLinenumber: 9209
    functionLinenumberEnd: 9217
    functionName: gf_isom_fragment_set_sample_aux_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_add_sample_aux_info_internal
    - gf_isom_get_traf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_fragment_set_sample_aux_info(GF_ISOFile *movie, u32
      trackID, u32 sample_number_in_frag, u32 aux_type, u32 aux_info, u8 *data, u32
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - movie
    - trackID
    - sample_number_in_frag
    - is_rap
    - num_leading_samples
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 7669
      start: 7666
    functionDepth: 0
    functionLinenumber: 7666
    functionLinenumberEnd: 7669
    functionName: gf_isom_fragment_set_sample_rap_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_fragment_set_sample_rap_group(GF_ISOFile *movie, GF_ISOTrackID
      trackID, u32 sample_number_in_frag, Bool is_rap, u32 num_leading_samples) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/isomedia/isom_write.c:8596,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:8833,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/isom_write.c:8713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8749,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/isom_write.c:8822,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8831,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:8775,1
    - Dst: gf_isom_box_parse_ex
      Src: /src/gpac/src/isomedia/isom_write.c:8824,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:8781,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8797,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:8827,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/isom_write.c:8713,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8726,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/isomedia/isom_write.c:8598,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8605,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:8626,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/isomedia/isom_write.c:8706,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:8684,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:8812,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8706,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/isom_write.c:8597,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8623,1
    - Dst: gf_isom_box_freeze_order
      Src: /src/gpac/src/isomedia/isom_write.c:8627,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8644,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8688,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8691,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_write.c:8782,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:8850,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8647,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/isom_write.c:8661,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8690,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:8807,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:8841,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8742,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8646,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8652,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:8659,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/isomedia/isom_write.c:8666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8713,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:8785,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:8787,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/isom_write.c:8780,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8624,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8654,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8668,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:8711,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/isomedia/isom_write.c:8600,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8648,1
    - Dst: gf_isom_box_remove_from_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8769,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:8791,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8826,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8793,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8641,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8648,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/isomedia/isom_write.c:8776,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:8732,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8734,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8700,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:8809,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:8838,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_write.c:8676,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8771,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8699,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:8617,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8648,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/isomedia/isom_write.c:8849,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8613,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8615,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8784,1
    - Dst: gf_isom_box_freeze_order
      Src: /src/gpac/src/isomedia/isom_write.c:8618,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8632,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_write.c:8653,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/isomedia/isom_write.c:8688,1
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:8697,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:8778,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_write.c:8821,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/isomedia/isom_write.c:8604,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:8642,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_write.c:8655,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 268
    argCount: 4
    argNames:
    - file
    - globalTrackID
    - box_patch_filename
    - for_fragments
    argTypes:
    - GF_ISOFile*
    - GF_ISOTrackID
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 8852
      start: 8583
    functionDepth: 0
    functionLinenumber: 8583
    functionLinenumberEnd: 8852
    functionName: gf_isom_apply_box_patch
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_isom_box_new
    - gf_malloc
    - strncmp
    - GF_LOG
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - strstr
    - gf_isom_get_traf
    - gf_isom_get_track_by_id
    - gf_xml_dom_del
    - gf_isom_box_freeze_order
    - gf_list_find
    - gf_xml_dom_new
    - GF_4CC
    - gf_bs_del
    - gf_list_count
    - gf_isom_box_del_parent
    - strcmp
    - gf_isom_box_parse_ex
    - atoi
    - gf_list_new
    - gf_bs_read_data
    - gf_list_insert
    - gf_bs_read_u32
    - gf_list_get
    - gf_xml_dom_parse
    - gf_isom_box_size
    - gf_isom_get_track_from_file
    - gf_bs_new
    - gf_xml_dom_parse_string
    - gf_free
    - gf_realloc
    - gf_bs_available
    - gf_xml_parse_bit_sequence
    - gf_xml_dom_get_root
    - gf_isom_box_find_child
    - gf_isom_box_remove_from_parent
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apply_box_patch(GF_ISOFile *file, GF_ISOTrackID
      globalTrackID, const char *box_patch_filename, Bool for_fragments) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1333,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1408,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1336,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:1398,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - dur_num
    - dur_den
    - mode
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1415
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1415
    functionName: gf_isom_set_last_sample_duration_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_set_last_sample_duration_internal(GF_ISOFile
      *movie, u32 trackNumber, u64 dur_num, u32 dur_den, u32 mode) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1958,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1961,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1966,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1969,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2018,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2022,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2025,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2049,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2060,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:2068,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2071,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 71
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - dvcc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_DOVIDecoderConfigurationRecord*
    constantsTouched: []
    func_position:
      end: 2074
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 2074
    functionName: gf_isom_set_dolby_vision_profile
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_clone_box
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_dolby_vision_profile(GF_ISOFile* movie,
      u32 trackNumber, u32 StreamDescriptionIndex, GF_DOVIDecoderConfigurationRecord
      *dvcc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1277,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1280,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:1297,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1283,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1305,1
    - Dst: Media_AddSample
      Src: /src/gpac/src/isomedia/isom_write.c:1309,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1313,1
    - Dst: Media_SetDuration
      Src: /src/gpac/src/isomedia/isom_write.c:1315,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:1317,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - sample
    - dataOffset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOSample*
    - u64
    constantsTouched: []
    func_position:
      end: 1319
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1319
    functionName: gf_isom_add_sample_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - Media_SetDuration
    - gf_isom_get_track_from_file
    - unpack_track
    - Media_GetSampleDesc
    - Media_AddSample
    - CanAccessMovie
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_sample_reference(GF_ISOFile *movie, u32
      trackNumber, u32 StreamDescriptionIndex, GF_ISOSample *sample, u64 dataOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_last_sample_duration_internal
      Src: /src/gpac/src/isomedia/isom_write.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - dur_num
    - dur_den
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: gf_isom_set_last_sample_duration_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_last_sample_duration_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_last_sample_duration_ex(GF_ISOFile *movie,
      u32 trackNumber, u32 dur_num, u32 dur_den) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1515,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:1522,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - movie
    - trak
    - sample_number
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1532
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1532
    functionName: gf_isom_meta_track_remove
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_meta_track_remove(GF_ISOFile *movie, GF_TrackBox
      *trak, u32 sample_number) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1785,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1775,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1782,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - Width
    - Height
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1805
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1805
    functionName: gf_isom_set_visual_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_visual_info(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, u32 Width, u32 Height) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3331,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3345,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3333,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3339,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3342,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:3347,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3348,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3349,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3352,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:3353,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_write.c:3354,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3355,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - movie
    - index
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3358
      start: 3324
    functionDepth: 0
    functionLinenumber: 3324
    functionLinenumberEnd: 3358
    functionName: gf_isom_remove_copyright
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_insert_moov
    - gf_list_rem
    - udta_getEntry
    - CanAccessMovie
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_copyright(GF_ISOFile *movie, u32 index) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4924,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4940,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:4930,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/isom_write.c:4936,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:4932,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/isom_write.c:4945,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - referenceType
    - ReferencedTrackID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 4946
      start: 4916
    functionDepth: 0
    functionLinenumber: 4916
    functionLinenumberEnd: 4946
    functionName: gf_isom_set_track_reference
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - trak_on_child_box
    - reftype_AddRefTrack
    - gf_isom_box_new_parent
    - Track_FindRef
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_reference(GF_ISOFile *the_file,
      u32 trackNumber, u32 referenceType, GF_ISOTrackID ReferencedTrackID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - GroupID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5828
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5828
    functionName: gf_isom_set_track_interleaving_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_interleaving_group(GF_ISOFile *movie,
      u32 trackNumber, u32 GroupID) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1814,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1833,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1836,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1817,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - bitDepth
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u16
    constantsTouched: []
    func_position:
      end: 1841
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1841
    functionName: gf_isom_set_visual_bit_depth
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_visual_bit_depth(GF_ISOFile *movie, u32
      trackNumber, u32 StreamDescriptionIndex, u16 bitDepth) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2084,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2095,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2099,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2087,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2092,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2103,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2106,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2111,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2115,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2118,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2123,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 5
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - mdcv
    - clli
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_MasteringDisplayColourVolumeInfo*
    - GF_ContentLightLevelInfo*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2126
    functionName: gf_isom_set_high_dynamic_range_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_high_dynamic_range_info(GF_ISOFile* movie,
      u32 trackNumber, u32 StreamDescriptionIndex, GF_MasteringDisplayColourVolumeInfo*
      mdcv, GF_ContentLightLevelInfo* clli) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3366,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3372,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3369,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3376,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3378,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3380,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3381,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3383,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3389,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3395,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3397,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3393,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3392,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - movie
    - UUID
    - data
    - length
    argTypes:
    - GF_ISOFile*
    - bin128
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3398
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3398
    functionName: gf_isom_set_watermark
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_new
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_insert_moov
    - udta_on_child_box_ex
    - moov_on_child_box
    - memcpy
    - udta_getEntry
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_watermark(GF_ISOFile *movie, bin128 UUID, u8* data,
      u32 length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:9225,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:9228,1
    - Dst: gf_isom_add_sample_aux_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:9231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - file
    - track
    - sampleNumber
    - aux_type
    - aux_info
    - data
    - size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 9232
      start: 9220
    functionDepth: 0
    functionLinenumber: 9220
    functionLinenumberEnd: 9232
    functionName: gf_isom_add_sample_aux_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_add_sample_aux_info_internal
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_sample_aux_info(GF_ISOFile *file, u32 track, u32
      sampleNumber, u32 aux_type, u32 aux_info, u8 *data, u32 size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5791,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:5796,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/isom_write.c:5808,1
    - Dst: stbl_SetSyncShadow
      Src: /src/gpac/src/isomedia/isom_write.c:5812,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/isom_write.c:5804,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - sampleNumber
    - syncSample
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5813
      start: 5783
    functionDepth: 0
    functionLinenumber: 5783
    functionLinenumberEnd: 5813
    functionName: gf_isom_set_sync_shadow
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - stbl_GetSampleRAP
    - stbl_SetSyncShadow
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sync_shadow(GF_ISOFile *movie, u32 trackNumber,
      u32 sampleNumber, u32 syncSample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - magic
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 8861
      start: 8854
    functionDepth: 0
    functionLinenumber: 8854
    functionLinenumberEnd: 8861
    functionName: gf_isom_set_track_magic
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_magic(GF_ISOFile *movie, u32 trackNumber,
      u64 magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:944,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:960,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:947,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:956,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/isom_write.c:953,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:963,1
    - Dst: Track_SetStreamDescriptor
      Src: /src/gpac/src/isomedia/isom_write.c:964,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:966,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - esd
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ESD*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 970
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 970
    functionName: gf_isom_new_mpeg4_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - Track_SetStreamDescriptor
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - Media_CreateDataRef
    - gf_odf_desc_copy
    - gf_odf_desc_del
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_mpeg4_description(GF_ISOFile *movie,
      u32 trackNumber, const GF_ESD *esd, const char *URLname, const char *URNname,
      u32 *outDescriptionIndex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1850,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1865,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1853,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1858,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1861,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:1872,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1874,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1878,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - hSpacing
    - vSpacing
    - force_par
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 1884
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1884
    functionName: gf_isom_set_pixel_aspect_ratio
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_pixel_aspect_ratio(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, s32 hSpacing, s32 vSpacing, Bool
      force_par) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2202,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2227,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2235,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2253,1
    - Dst: floor
      Src: /src/gpac/src/isomedia/isom_write.c:2278,1
    - Dst: floor
      Src: /src/gpac/src/isomedia/isom_write.c:2281,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:2206,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:2195,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2212,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2222,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2243,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2230,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2239,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2190,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2225,1
    - Dst: floor
      Src: /src/gpac/src/isomedia/isom_write.c:2267,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2187,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:2220,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2232,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - remove
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2287
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2287
    functionName: gf_isom_update_aperture_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_enum
    - floor
    - gf_isom_box_del
    - gf_isom_box_find_child
    - CanAccessMovie
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_aperture_info(GF_ISOFile *movie, u32 trackNumber,
      Bool remove) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5932,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:5935,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:5960,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - StreamDescriptionIndex
    - slConfig
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_SLConfig**
    constantsTouched: []
    func_position:
      end: 5961
      start: 5925
    functionDepth: 0
    functionLinenumber: 5925
    functionLinenumberEnd: 5961
    functionName: gf_isom_get_extraction_slc
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_copy
    - Media_GetSampleDesc
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_extraction_slc(GF_ISOFile *the_file, u32 trackNumber,
      u32 StreamDescriptionIndex, GF_SLConfig **slConfig) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_write.c:6262,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/src/isomedia/isom_write.c:6271,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/src/isomedia/isom_write.c:6267,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6285,1
    - Dst: strchr
      Src: /src/gpac/src/isomedia/isom_write.c:6318,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6354,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:6381,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6384,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6385,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:6391,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:6527,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6440,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6284,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6314,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6307,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6341,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6361,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6369,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6370,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6371,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6406,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6440,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/isom_write.c:6479,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6440,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_write.c:6468,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:6519,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6521,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_write.c:6459,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/isom_write.c:6415,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6392,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_write.c:6276,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6278,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6282,1
    - Dst: gf_id3_get_genre_tag
      Src: /src/gpac/src/isomedia/isom_write.c:6293,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6305,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:6338,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6345,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6349,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6372,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:6425,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:6525,1
    - Dst: atoi
      Src: /src/gpac/src/isomedia/isom_write.c:6451,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/isom_write.c:6417,1
    - Dst: gf_isom_create_meta_extensions
      Src: /src/gpac/src/isomedia/isom_write.c:6273,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:6264,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6284,1
    - Dst: strchr
      Src: /src/gpac/src/isomedia/isom_write.c:6310,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_write.c:6302,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6322,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:6378,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6389,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6402,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6522,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:6517,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6393,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 323
    argCount: 9
    argNames:
    - mov
    - tag
    - data
    - data_len
    - int_val
    - int_val2
    - in_cust_name
    - in_cust_mean
    - locale
    argTypes:
    - GF_ISOFile*
    - GF_ISOiTunesTag
    - u8*
    - u32
    - u64
    - u32
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 6528
      start: 6247
    functionDepth: 0
    functionLinenumber: 6247
    functionLinenumberEnd: 6528
    functionName: gf_isom_apple_set_tag_ex
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_itags_get_type
    - gf_isom_box_new
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - GF_4CC
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_strdup
    - gf_id3_get_genre_tag
    - strcmp
    - gf_isom_create_meta_extensions
    - atoi
    - gf_list_new
    - gf_itags_find_by_itag
    - gf_list_enum
    - memcpy
    - strchr
    - CanAccessMovie
    - gf_free
    - sscanf
    - gf_isom_box_del
    - gf_isom_locate_box
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apple_set_tag_ex(GF_ISOFile *mov, GF_ISOiTunesTag
      tag, const u8 *data, u32 data_len, u64 int_val, u32 int_val2, const char *in_cust_name,
      const char *in_cust_mean, u32 locale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - entry
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 7658
      start: 7653
    functionDepth: 0
    functionLinenumber: 7653
    functionLinenumberEnd: 7658
    functionName: sg_rap_compare_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool sg_rap_compare_entry(void *udta, void *entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_traf
      Src: /src/gpac/src/isomedia/isom_write.c:8697,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8700,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - GF_ISOM_BOX_TYPE_TRAF
    argTypes:
    - box_type
    constantsTouched: []
    func_position:
      end: 8702
      start: 8695
    functionDepth: 0
    functionLinenumber: 8695
    functionLinenumberEnd: 8702
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_traf
    linkageType: ''
    returnType: else
    signature: 'else if (box_type==GF_ISOM_BOX_TYPE_TRAF) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/isomedia/isom_write.c:981,1
    - Dst: gf_isom_datamap_add_data
      Src: /src/gpac/src/isomedia/isom_write.c:985,1
    - Dst: stbl_AddChunkOffset
      Src: /src/gpac/src/isomedia/isom_write.c:991,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:994,1
    - Dst: gf_isom_datamap_get_offset
      Src: /src/gpac/src/isomedia/isom_write.c:983,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:995,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/isom_write.c:998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - trak
    - is_final
    argTypes:
    - GF_TrackBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 1001
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1001
    functionName: gf_isom_flush_chunk
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_AddChunkOffset
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_isom_datamap_add_data
    - gf_isom_datamap_get_offset
    - gf_free
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_flush_chunk(GF_TrackBox *trak, Bool is_final) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1894,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1897,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:1902,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1909,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1905,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:1913,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1915,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:1925,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:1933,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:1939,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:1941,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 10
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - colour_type
    - colour_primaries
    - transfer_characteristics
    - matrix_coefficients
    - full_range_flag
    - icc_data
    - icc_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u16
    - u16
    - u16
    - Bool
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1945
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1945
    functionName: gf_isom_set_visual_color_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - memcpy
    - CanAccessMovie
    - gf_isom_box_find_child
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_visual_color_info(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex, u32 colour_type, u16 colour_primaries,
      u16 transfer_characteristics, u16 matrix_coefficients, Bool full_range_flag,
      u8 *icc_data, u32 icc_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2296,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:2311,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2304,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:2307,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:2315,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2317,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2321,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - remove
    - all_ref_pics_intra
    - intra_pred_used
    - max_ref_per_pic
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    - Bool
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2328
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2328
    functionName: gf_isom_set_image_sequence_coding_constraints
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_image_sequence_coding_constraints(GF_ISOFile
      *movie, u32 trackNumber, u32 StreamDescriptionIndex, Bool remove, Bool all_ref_pics_intra,
      Bool intra_pred_used, u32 max_ref_per_pic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 5969
      start: 5963
    functionDepth: 0
    functionLinenumber: 5963
    functionLinenumberEnd: 5969
    functionName: gf_isom_get_track_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_get_track_group(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/isomedia/isom_write.c:6533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - mov
    - tag
    - data
    - data_len
    - int_val
    - int_val2
    argTypes:
    - GF_ISOFile*
    - GF_ISOiTunesTag
    - u8*
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 6534
      start: 6530
    functionDepth: 0
    functionLinenumber: 6530
    functionLinenumberEnd: 6534
    functionName: gf_isom_apple_set_tag
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_apple_set_tag_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_apple_set_tag(GF_ISOFile *mov, GF_ISOiTunesTag
      tag, const u8 *data, u32 data_len, u64 int_val, u32 int_val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_sample_group_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:7663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - movie
    - track
    - sample_number
    - is_rap
    - num_leading_samples
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 7664
      start: 7660
    functionDepth: 0
    functionLinenumber: 7660
    functionLinenumberEnd: 7664
    functionName: gf_isom_set_sample_rap_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_sample_group_info_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_sample_rap_group(GF_ISOFile *movie, u32
      track, u32 sample_number, Bool is_rap, u32 num_leading_samples) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - movie
    - Mode
    argTypes:
    - GF_ISOFile*
    - GF_ISOOpenMode
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: CanAccessMovie
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err CanAccessMovie(GF_ISOFile *movie, GF_ISOOpenMode Mode) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2938,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2956,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/isomedia/isom_write.c:2977,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2995,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3040,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:3046,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:3047,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/isomedia/isom_write.c:2974,1
    - Dst: gf_isom_remove_sample
      Src: /src/gpac/src/isomedia/isom_write.c:2981,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3029,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3013,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2996,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/isomedia/isom_write.c:2984,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3010,1
    - Dst: update_next_track_id
      Src: /src/gpac/src/isomedia/isom_write.c:3043,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:2958,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:2960,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_write.c:2988,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2999,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3023,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3030,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2935,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:2966,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2970,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_write.c:3035,1
    - Dst: gf_isom_meta_track_remove
      Src: /src/gpac/src/isomedia/isom_write.c:3037,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3045,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 104
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3051
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 3051
    functionName: gf_isom_remove_track
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_odf_desc_del
    - gf_isom_remove_sample
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_meta_track_remove
    - gf_list_del_item
    - gf_isom_get_track_from_file
    - gf_list_enum
    - update_next_track_id
    - CanAccessMovie
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_disable_inplace_rewrite
    - gf_isom_box_del
    - gf_isom_update_sample
    - gf_isom_get_sample
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_track(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:3897,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:3900,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_write.c:3903,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:3904,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/isom_write.c:3902,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:3905,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3907,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:3910,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3912,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/isom_write.c:3915,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3917,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:3916,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - GF_Box*
    - GF_Box**
    constantsTouched: []
    func_position:
      end: 3919
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3919
    functionName: gf_isom_clone_box
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_isom_box_parse
    - gf_isom_box_del
    - gf_bs_new
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_clone_box(GF_Box *src, GF_Box **dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - width
    - height
    - translation_x
    - translation_y
    - layer
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - s32
    - s32
    - s16
    constantsTouched: []
    func_position:
      end: 5223
      start: 5212
    functionDepth: 0
    functionLinenumber: 5212
    functionLinenumberEnd: 5223
    functionName: gf_isom_set_track_layout_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_layout_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 width, u32 height, s32 translation_x, s32 translation_y,
      s16 layer) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:6653,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6642,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6656,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:6662,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_write.c:6677,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6679,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6680,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_write.c:6701,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:6714,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_write.c:6720,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6735,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6762,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6758,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:6698,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/isom_write.c:6726,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6750,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6764,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6763,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_write.c:6620,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:6614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6634,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6637,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6671,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6678,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6681,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:6695,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6771,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_write.c:6803,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6744,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/isom_write.c:6724,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/isom_write.c:6777,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6761,1
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:6609,1
    - Dst: gf_isom_create_meta_extensions
      Src: /src/gpac/src/isomedia/isom_write.c:6617,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6622,1
    - Dst: gf_isom_locate_box
      Src: /src/gpac/src/isomedia/isom_write.c:6625,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6631,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6635,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6645,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6664,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6670,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6684,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_write.c:6800,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:6697,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/isom_write.c:6725,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6747,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6781,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_write.c:6793,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6798,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/isom_write.c:6797,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_write.c:6611,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6627,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6633,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6644,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6641,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:6666,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:6668,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:6705,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:6720,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6738,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/isomedia/isom_write.c:6741,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/isomedia/isom_write.c:6753,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6774,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/isomedia/isom_write.c:6757,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:6703,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6728,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/isom_write.c:6768,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 169
    argCount: 2
    argNames:
    - movie
    - key
    argTypes:
    - GF_ISOFile*
    - GF_QT_UDTAKey*
    constantsTouched: []
    func_position:
      end: 6805
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6805
    functionName: gf_isom_set_qt_key
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_isom_box_new
    - gf_bs_get_content
    - gf_isom_box_new_parent
    - gf_bs_write_data
    - gf_bs_write_long_int
    - GF_SAFEALLOC
    - gf_bs_del
    - gf_list_find
    - gf_bs_write_double
    - gf_list_count
    - gf_isom_box_del_parent
    - strcmp
    - gf_strdup
    - gf_isom_create_meta_extensions
    - gf_list_new
    - gf_list_del_item
    - gf_bs_write_int
    - gf_isom_set_last_error
    - gf_list_get
    - gf_isom_insert_moov
    - gf_bs_new
    - ABS
    - gf_bs_write_u8
    - CanAccessMovie
    - gf_free
    - gf_bs_write_float
    - gf_isom_box_del
    - gf_isom_locate_box
    - gf_isom_box_find_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_qt_key(GF_ISOFile *movie, GF_QT_UDTAKey
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbl_UnpackOffsets
      Src: /src/gpac/src/isomedia/isom_write.c:47,1
    - Dst: stbl_unpackCTS
      Src: /src/gpac/src/isomedia/isom_write.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: unpack_track
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_UnpackOffsets
    - stbl_unpackCTS
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err unpack_track(GF_TrackBox *trak) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3062,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:3071,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/isom_write.c:3074,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:3067,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:3071,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:3078,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:3080,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:3081,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3082,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3083,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3095,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3097,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3085,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/isom_write.c:3098,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:3094,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:3095,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_write.c:3091,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:3083,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - movie
    - threeCharCode
    - notice
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3099
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3099
    functionName: gf_isom_set_copyright
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_list_get
    - gf_isom_box_new
    - gf_isom_box_new_parent
    - strcpy
    - gf_list_count
    - gf_isom_insert_moov
    - strcmp
    - udta_on_child_box_ex
    - moov_on_child_box
    - memcpy
    - udta_getEntry
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_copyright(GF_ISOFile *movie, const char
      *threeCharCode, char *notice) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5305,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:5337,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:5318,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:5416,1
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5302,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:5348,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:5369,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:5394,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:5420,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5234,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:5267,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:5264,1
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5304,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:5343,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:5370,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:5400,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:5430,1
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5303,1
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5306,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5311,1
    - Dst: RESCALE_TSVAL
      Src: /src/gpac/src/isomedia/isom_write.c:5312,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5330,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/isom_write.c:5359,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:5401,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:5418,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 208
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - newTS
    - new_tsinc
    - force_rescale_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5431
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5431
    functionName: gf_isom_set_media_timescale
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - RESCALE_TSVAL
    - memset
    - gf_isom_get_track_from_file
    - gf_realloc
    - gf_list_enum
    - stbl_GetSampleCTS
    - gf_free
    - SetTrackDuration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_media_timescale(GF_ISOFile *the_file,
      u32 trackNumber, u32 newTS, u32 new_tsinc, u32 force_rescale_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/isomedia/isom_write.c:6105,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:6112,1
    - Dst: AddMovieIOD
      Src: /src/gpac/src/isomedia/isom_write.c:6110,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/isomedia/isom_write.c:6114,1
    - Dst: gf_isom_insert_moov
      Src: /src/gpac/src/isomedia/isom_write.c:6108,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:6129,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/isomedia/isom_write.c:6130,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:6131,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - GF_ISOFile*
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 6134
      start: 6098
    functionDepth: 0
    functionLinenumber: 6098
    functionLinenumberEnd: 6134
    functionName: gf_isom_clone_root_od
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - AddMovieIOD
    - gf_list_enum
    - gf_isom_insert_moov
    - gf_odf_desc_copy
    - gf_isom_remove_root_od
    - gf_odf_desc_del
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_clone_root_od(GF_ISOFile *input, GF_ISOFile *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:6811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - groupId
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6815
      start: 6808
    functionDepth: 0
    functionLinenumber: 6808
    functionLinenumberEnd: 6815
    functionName: gf_isom_set_alternate_group_id
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_alternate_group_id(GF_ISOFile *movie,
      u32 trackNumber, u32 groupId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5033,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5043,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5059,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:5040,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/isom_write.c:5035,1
    - Dst: update_next_track_id
      Src: /src/gpac/src/isomedia/isom_write.c:5064,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - trackID
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 5066
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5066
    functionName: gf_isom_set_track_id
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - update_next_track_id
    - gf_isom_get_track_from_id
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_id(GF_ISOFile *movie, u32 trackNumber,
      GF_ISOTrackID trackID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7977,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7980,1
    - Dst: stbl_SetDependencyType
      Src: /src/gpac/src/isomedia/isom_write.c:7982,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - file
    - track
    - sampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7983
      start: 7972
    functionDepth: 0
    functionLinenumber: 7972
    functionLinenumberEnd: 7983
    functionName: gf_isom_set_sample_flags
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_SetDependencyType
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_sample_flags(GF_ISOFile *file, u32 track, u32 sampleNumber,
      u32 isLeading, u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - movie
    - ctime
    - mtime
    argTypes:
    - GF_ISOFile*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: gf_isom_set_creation_time
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_creation_time(GF_ISOFile *movie, u64
      ctime, u64 mtime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:898,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - dur
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 904
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 904
    functionName: gf_isom_force_track_duration
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_force_track_duration(GF_ISOFile *movie, u32
      trackNumber, u64 dur) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:1070,1
    - Dst: FlushCaptureMode
      Src: /src/gpac/src/isomedia/isom_write.c:1076,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:1073,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/isom_write.c:1089,1
    - Dst: unpack_track
      Src: /src/gpac/src/isomedia/isom_write.c:1079,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:1097,1
    - Dst: gf_isom_datamap_open
      Src: /src/gpac/src/isomedia/isom_write.c:1101,1
    - Dst: gf_isom_datamap_get_offset
      Src: /src/gpac/src/isomedia/isom_write.c:1105,1
    - Dst: Media_ParseODFrame
      Src: /src/gpac/src/isomedia/isom_write.c:1111,1
    - Dst: trak_add_sample
      Src: /src/gpac/src/isomedia/isom_write.c:1114,1
    - Dst: trak_add_sample
      Src: /src/gpac/src/isomedia/isom_write.c:1119,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:1124,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/isom_write.c:1117,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    - sample
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_ISOSample*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1138
    functionName: gf_isom_add_sample
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_open
    - gf_list_get
    - gf_isom_get_mp4time
    - gf_isom_get_track_from_file
    - unpack_track
    - Media_ParseODFrame
    - Media_GetSampleDesc
    - gf_isom_datamap_get_offset
    - FlushCaptureMode
    - CanAccessMovie
    - gf_isom_sample_del
    - trak_add_sample
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_add_sample(GF_ISOFile *movie, u32 trackNumber,
      u32 StreamDescriptionIndex, const GF_ISOSample *sample) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:5839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - Priority
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5844
      start: 5833
    functionDepth: 0
    functionLinenumber: 5833
    functionLinenumberEnd: 5844
    functionName: gf_isom_set_track_priority_in_group
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_priority_in_group(GF_ISOFile *movie,
      u32 trackNumber, u32 Priority) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7927,1
    - Dst: gf_isom_set_ctts_v0
      Src: /src/gpac/src/isomedia/isom_write.c:7946,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7936,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7930,1
    - Dst: gf_isom_set_ctts_v1
      Src: /src/gpac/src/isomedia/isom_write.c:7943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - file
    - track
    - use_negative_offsets
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 7948
      start: 7920
    functionDepth: 0
    functionLinenumber: 7920
    functionLinenumberEnd: 7948
    functionName: gf_isom_set_composition_offset_mode
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    - gf_isom_set_ctts_v1
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_isom_set_ctts_v0
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_composition_offset_mode(GF_ISOFile *file,
      u32 track, Bool use_negative_offsets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - ctime
    - mtime
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: gf_isom_set_track_creation_time
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_track_creation_time(GF_ISOFile *movie,u32
      trackNumber, u64 ctime, u64 mtime) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:914,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_write.c:921,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:923,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:917,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:925,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - StreamDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 928
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 928
    functionName: gf_isom_remove_stream_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_del
    - gf_list_rem
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_remove_stream_description(GF_ISOFile *movie,
      u32 trackNumber, u32 StreamDescriptionIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:6546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:6556,1
    - Dst: gf_isom_create_meta_extensions
      Src: /src/gpac/src/isomedia/isom_write.c:6549,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:6554,1
    - Dst: gf_isom_create_meta_extensions
      Src: /src/gpac/src/isomedia/isom_write.c:6551,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_write.c:6557,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:6565,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6566,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6567,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6568,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_write.c:6577,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_write.c:6578,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:6581,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:6571,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:6586,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_write.c:6584,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:6585,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/isomedia/isom_write.c:6588,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - mov
    - name
    - value
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6597
      start: 6538
    functionDepth: 0
    functionLinenumber: 6538
    functionLinenumberEnd: 6597
    functionName: gf_isom_wma_set_tag
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_list_get
    - memset
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_utf8_mbstowcs
    - gf_isom_create_meta_extensions
    - gf_list_rem
    - GF_SAFEALLOC
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_wma_set_tag(GF_ISOFile *mov, char *name,
      char *value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_flush_chunk
      Src: /src/gpac/src/isomedia/isom_write.c:1030,1
    - Dst: gf_isom_datamap_add_data
      Src: /src/gpac/src/isomedia/isom_write.c:1051,1
    - Dst: Media_AddSample
      Src: /src/gpac/src/isomedia/isom_write.c:1047,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_write.c:1039,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_write.c:1038,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 6
    argNames:
    - movie
    - trak
    - sample
    - descIndex
    - data_offset
    - syncShadowSampleNum
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    - GF_ISOSample*
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1056
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1056
    functionName: trak_add_sample
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_bs_new
    - gf_isom_datamap_add_data
    - Media_AddSample
    - gf_isom_flush_chunk
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err trak_add_sample(GF_ISOFile *movie, GF_TrackBox *trak,
      const GF_ISOSample *sample, u32 descIndex, u64 data_offset, u32 syncShadowSampleNum) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:2674,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:2684,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2688,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2719,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2745,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2757,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:2677,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_write.c:2701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2714,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_write.c:2761,1
    - Dst: CreateEditEntry
      Src: /src/gpac/src/isomedia/isom_write.c:2752,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:2718,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:2682,1
    - Dst: edts_on_child_box
      Src: /src/gpac/src/isomedia/isom_write.c:2690,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:2755,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2758,1
    - Dst: CreateEditEntry
      Src: /src/gpac/src/isomedia/isom_write.c:2711,1
    - Dst: CreateEditEntry
      Src: /src/gpac/src/isomedia/isom_write.c:2716,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:2762,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 7
    argNames:
    - movie
    - trackNumber
    - EditTime
    - EditDuration
    - MediaTime
    - media_rate
    - EditMode
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    - u64
    - u32
    - GF_ISOEditType
    constantsTouched: []
    func_position:
      end: 2764
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2764
    functionName: gf_isom_set_edit_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_insert
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_enum
    - CreateEditEntry
    - gf_list_count
    - edts_on_child_box
    - CanAccessMovie
    - SetTrackDuration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_set_edit_internal(GF_ISOFile *movie, u32 trackNumber,
      u64 EditTime, u64 EditDuration, u64 MediaTime, u32 media_rate, GF_ISOEditType
      EditMode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:3428,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:3473,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:3431,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3472,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:3458,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_write.c:3475,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - CompactionOn
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3481
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3481
    functionName: gf_isom_use_compact_size
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_get_track_from_file
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_use_compact_size(GF_ISOFile *movie, u32 trackNumber,
      Bool CompactionOn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:4903,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:4907,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:4905,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:4909,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:4910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - streamDescIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4912
      start: 4897
    functionDepth: 0
    functionLinenumber: 4897
    functionLinenumberEnd: 4912
    functionName: gf_isom_remove_sample_description
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_del
    - gf_list_rem
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_remove_sample_description(GF_ISOFile *movie, u32 trackNumber,
      u32 streamDescIndex) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:7795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7829,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7823,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7822,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7798,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7830,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:7835,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7840,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/isomedia/isom_write.c:7852,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/isom_write.c:7856,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - file
    - track
    - ctts_shift
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7858
      start: 7787
    functionDepth: 0
    functionLinenumber: 7787
    functionLinenumberEnd: 7858
    functionName: gf_isom_set_ctts_v1
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_isom_get_media_duration
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_modify_alternate_brand
    - CanAccessMovie
    - SetTrackDuration
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_ctts_v1(GF_ISOFile *file, u32 track, u32 ctts_shift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:7990,1
    - Dst: stbl_AddDependencyType
      Src: /src/gpac/src/isomedia/isom_write.c:7993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 7
    argNames:
    - file
    - track
    - sampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7994
      start: 7986
    functionDepth: 0
    functionLinenumber: 7986
    functionLinenumberEnd: 7994
    functionName: gf_isom_sample_set_dep_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - stbl_AddDependencyType
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_sample_set_dep_info(GF_ISOFile *file, u32 track, u32
      sampleNumber, u32 isLeading, u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8005,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8037,1
    - Dst: gf_isom_get_sample_group_info_entry
      Src: /src/gpac/src/isomedia/isom_write.c:8092,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8114,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:8122,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8143,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8147,1
    - Dst: gf_isom_add_sample_aux_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:8191,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_write.c:8193,1
    - Dst: gf_isom_add_sample_aux_info_internal
      Src: /src/gpac/src/isomedia/isom_write.c:8201,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8166,1
    - Dst: gf_isom_sample_get_subsample_entry
      Src: /src/gpac/src/isomedia/isom_write.c:8032,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8039,1
    - Dst: gf_isom_add_subsample_info
      Src: /src/gpac/src/isomedia/isom_write.c:8056,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8072,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8097,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8101,1
    - Dst: gf_isom_clone_box
      Src: /src/gpac/src/isomedia/isom_write.c:8106,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8113,1
    - Dst: gf_isom_is_identical_sgpd
      Src: /src/gpac/src/isomedia/isom_write.c:8115,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_write.c:8125,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/isomedia/isom_write.c:8206,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8165,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_write.c:8202,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_write.c:8200,1
    - Dst: gf_isom_add_sample_group_entry
      Src: /src/gpac/src/isomedia/isom_write.c:8136,1
    - Dst: stbl_AppendDependencyType
      Src: /src/gpac/src/isomedia/isom_write.c:8022,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8008,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:8046,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8053,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8124,1
    - Dst: gf_isom_get_sample_group_info_entry
      Src: /src/gpac/src/isomedia/isom_write.c:8131,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_write.c:8197,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/isom_write.c:8199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_write.c:8206,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_write.c:8196,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8128,1
    - Dst: stbl_GetSampleDepType
      Src: /src/gpac/src/isomedia/isom_write.c:8019,1
    - Dst: gf_isom_get_subsample_types
      Src: /src/gpac/src/isomedia/isom_write.c:8028,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8041,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:8082,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8050,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8064,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8055,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8100,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8109,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:8127,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_write.c:8126,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 186
    argCount: 5
    argNames:
    - dst
    - dst_track
    - src
    - src_track
    - sampleNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 8210
      start: 7997
    functionDepth: 0
    functionLinenumber: 7997
    functionLinenumberEnd: 8210
    functionName: gf_isom_copy_sample_info
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_box_new_parent
    - GF_LOG
    - gf_bs_seek
    - gf_isom_clone_box
    - gf_isom_is_identical_sgpd
    - gf_error_to_string
    - gf_list_count
    - gf_list_new
    - gf_bs_read_data
    - gf_isom_add_sample_aux_info_internal
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_bs_get_position
    - gf_isom_get_subsample_types
    - stbl_AppendDependencyType
    - gf_free
    - gf_isom_add_sample_group_entry
    - gf_isom_box_del
    - gf_isom_sample_get_subsample_entry
    - gf_isom_get_sample_group_info_entry
    - gf_list_rem
    - stbl_GetSampleDepType
    - gf_isom_add_subsample_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_copy_sample_info(GF_ISOFile *dst, u32 dst_track,
      GF_ISOFile *src, u32 src_track, u32 sampleNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_set_edit_internal
      Src: /src/gpac/src/isomedia/isom_write.c:2769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - EditTime
    - EditDuration
    - MediaTime
    - EditMode
    argTypes:
    - GF_ISOFile*
    - u32
    - u64
    - u64
    - u64
    - GF_ISOEditType
    constantsTouched: []
    func_position:
      end: 2770
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2770
    functionName: gf_isom_set_edit
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_isom_set_edit_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_set_edit(GF_ISOFile *movie, u32 trackNumber,
      u64 EditTime, u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - movie
    - do_disable
    argTypes:
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 3490
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3490
    functionName: gf_isom_disable_brand_rewrite
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_disable_brand_rewrite(GF_ISOFile *movie,
      Bool do_disable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_write.c:7894,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/isomedia/isom_write.c:7903,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:7907,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:7906,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_write.c:7903,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_write.c:7912,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/isomedia/isom_write.c:7916,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - file
    - trak
    argTypes:
    - GF_ISOFile*
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 7918
      start: 7860
    functionDepth: 0
    functionLinenumber: 7860
    functionLinenumberEnd: 7918
    functionName: gf_isom_set_ctts_v0
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_isom_set_edit
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_modify_alternate_brand
    - SetTrackDuration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_set_ctts_v0(GF_ISOFile *file, GF_TrackBox *trak) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/isom_write.c:8219,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:8225,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_write.c:8222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:8229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 5
    argNames:
    - file
    - track
    - desc_index
    - flags
    - op_type
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - GF_TextFlagsMode
    constantsTouched: []
    func_position:
      end: 8246
      start: 8212
    functionDepth: 0
    functionLinenumber: 8212
    functionLinenumberEnd: 8246
    functionName: gf_isom_text_set_display_flags
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_display_flags(GF_ISOFile *file,
      u32 track, u32 desc_index, u32 flags, GF_TextFlagsMode op_type) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:9116,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9127,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/isom_write.c:9135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9118,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:9133,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:9140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9142,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9147,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:9149,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:9150,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_write.c:9167,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_write.c:9193,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_write.c:9183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_write.c:9185,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_write.c:9192,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_write.c:9190,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 117
    argCount: 7
    argNames:
    - trak
    - _traf
    - sampleNumber
    - aux_type
    - aux_info
    - data
    - size
    argTypes:
    - GF_TrackBox*
    - void*
    - u32
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 9202
      start: 9092
    functionDepth: 0
    functionLinenumber: 9092
    functionLinenumberEnd: 9202
    functionName: gf_isom_add_sample_aux_info_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_list_count
    - memcpy
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_sample_aux_info_internal(GF_TrackBox *trak, void
      *_traf, u32 sampleNumber, u32 aux_type, u32 aux_info, u8 *data, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - '!'
    - nb_entries
    argTypes:
    - stts
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: CHECK_PACK(GF_BAD_PARAM)
    signature: 'CHECK_PACK(GF_BAD_PARAM) //if we don''t have an entry, that''s the
      first one... if (!stts->nb_entries) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/stbl_write.c:456,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:460,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames:
    - nb_pack
    - '>1'
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 479
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    linkageType: ''
    returnType: CHECK_PACK(GF_BAD_PARAM)
    signature: 'CHECK_PACK(GF_BAD_PARAM) if (nb_pack>1) size /= nb_pack; //all samples
      have the same size if (stsz->sizes == NULL) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:719,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:721,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:727,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:731,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/stbl_write.c:732,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/stbl_write.c:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - stsh
    - sampleNumber
    - shadowNumber
    argTypes:
    - GF_ShadowSyncBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 736
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 736
    functionName: stbl_AddShadow
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_insert
    - gf_list_get
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddShadow(GF_ShadowSyncBox *stsh, u32 sampleNumber, u32
      shadowNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:983,1
    - Dst: AddCompositionOffset
      Src: /src/gpac/src/isomedia/stbl_write.c:992,1
    - Dst: AddCompositionOffset
      Src: /src/gpac/src/isomedia/stbl_write.c:989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - stbl
    - sampleNumber
    - offset
    argTypes:
    - GF_SampleTableBox*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 997
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 997
    functionName: stbl_SetSampleCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_assert
    - AddCompositionOffset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetSampleCTS(GF_SampleTableBox *stbl, u32 sampleNumber,
      s32 offset) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/stbl_write.c:2159,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2164,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2166,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:2174,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/stbl_write.c:2160,1
    - Dst: assert
      Src: /src/gpac/src/isomedia/stbl_write.c:2177,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/stbl_write.c:2180,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:2185,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2186,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:2188,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2198,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:2197,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:2200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - stbl
    - old_stco
    - offset
    argTypes:
    - GF_SampleTableBox*
    - GF_Box**
    - u64
    constantsTouched: []
    func_position:
      end: 2206
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2206
    functionName: stbl_AddOffset
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_isom_box_new
    - gf_malloc
    - assert
    - memset
    - gf_list_find
    - gf_realloc
    - gf_isom_box_del_parent
    - gf_isom_box_del
    - ALLOC_INC
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE GF_Err stbl_AddOffset(GF_SampleTableBox *stbl, GF_Box
      **old_stco, u64 offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1011,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - stsz
    - SampleNumber
    - size
    argTypes:
    - GF_SampleSizeBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1018
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1018
    functionName: stbl_SetSampleSize
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetSampleSize(GF_SampleSizeBox *stsz, u32 SampleNumber,
      u32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1070,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1072,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1080,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1085,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/stbl_write.c:1087,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/stbl_write.c:1092,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - stsh
    - sampleNumber
    - syncSample
    argTypes:
    - GF_ShadowSyncBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1094
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1094
    functionName: stbl_SetSyncShadow
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_insert
    - gf_list_get
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetSyncShadow(GF_ShadowSyncBox *stsh, u32 sampleNumber,
      u32 syncSample) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1677,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - stsz
    - data_size
    argTypes:
    - GF_SampleSizeBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1702
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1702
    functionName: stbl_SampleSizeAppend
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SampleSizeAppend(GF_SampleSizeBox *stsz, u32 data_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:2002,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - stbl
    - DegradationPriority
    argTypes:
    - GF_SampleTableBox*
    - u16
    constantsTouched: []
    func_position:
      end: 2011
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2011
    functionName: stbl_AppendDegradation
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendDegradation(GF_SampleTableBox *stbl, u16 DegradationPriority) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:75,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:134,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:135,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:137,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:171,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:192,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:201,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:222,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:199,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 164
    argCount: 5
    argNames:
    - stbl
    - DTS
    - sampleNumber
    - LastAUDefDuration
    - nb_pack
    argTypes:
    - GF_SampleTableBox*
    - u64
    - u32*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 227
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 227
    functionName: stbl_AddDTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - ALLOC_INC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddDTS(GF_SampleTableBox *stbl, u64 DTS, u32 *sampleNumber,
      u32 LastAUDefDuration, u32 nb_pack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:397,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:401,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:412,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:398,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:408,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:413,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:415,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - stbl
    argTypes:
    - GF_SampleTableBox*
    constantsTouched: []
    func_position:
      end: 422
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 422
    functionName: stbl_unpackCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_unpackCTS(GF_SampleTableBox *stbl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:690,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:702,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - stbl
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 710
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 710
    functionName: stbl_AppendDependencyType
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendDependencyType(GF_SampleTableBox *stbl, u32 isLeading,
      u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1232,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1249,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1250,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1253,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1238,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - stbl
    - sampleNumber
    - nb_samples
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1260
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1260
    functionName: stbl_RemoveCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_assert
    - gf_isom_box_del_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveCTS(GF_SampleTableBox *stbl, u32 sampleNumber, u32
      nb_samples) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:1721,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1724,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - stbl
    - duration
    - nb_pack
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1731
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1731
    functionName: stbl_AppendTime
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendTime(GF_SampleTableBox *stbl, u32 duration, u32
      nb_pack) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stbl_AddOffset
      Src: /src/gpac/src/isomedia/stbl_write.c:2263,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:2270,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:2267,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2268,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 8
    argNames:
    - stbl
    - sampleNumber
    - StreamDescIndex
    - the_stsc
    - the_stco
    - data_offset
    - forceNewChunk
    - nb_samp
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    - GF_SampleToChunkBox*
    - GF_Box**
    - u64
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2290
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2290
    functionName: stbl_SetChunkAndOffset
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - stbl_AddOffset
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetChunkAndOffset(GF_SampleTableBox *stbl, u32 sampleNumber,
      u32 StreamDescIndex, GF_SampleToChunkBox *the_stsc, GF_Box **the_stco, u64 data_offset,
      Bool forceNewChunk, u32 nb_samp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:237,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:238,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ctts
    - offset
    argTypes:
    - GF_CompositionOffsetBox*
    - s32
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: AddCompositionOffset
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddCompositionOffset(GF_CompositionOffsetBox *ctts, s32 offset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1269,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1284,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - stbl
    - sampleNumber
    - nb_samples
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1288
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1288
    functionName: stbl_RemoveSize
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveSize(GF_SampleTableBox *stbl, u32 sampleNumber,
      u32 nb_samples) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/stbl_write.c:1499,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/stbl_write.c:1502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - stbl
    - sampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1511
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1511
    functionName: stbl_RemoveShadow
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveShadow(GF_SampleTableBox *stbl, u32 sampleNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:1749,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1756,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1754,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - stbl
    - size
    - nb_pack
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1773
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1773
    functionName: stbl_AppendSize
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendSize(GF_SampleTableBox *stbl, u32 size, u32 nb_pack) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1130,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1132,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1161,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1201,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1207,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1212,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1213,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 132
    argCount: 4
    argNames:
    - stbl
    - sampleNumber
    - nb_samples
    - LastAUDefDuration
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1223
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1223
    functionName: stbl_RemoveDTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveDTS(GF_SampleTableBox *stbl, u32 sampleNumber, u32
      nb_samples, u32 LastAUDefDuration) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:564,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:570,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:584,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/stbl_write.c:576,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:573,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:591,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - stbl
    - sampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 597
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 597
    functionName: stbl_AddRedundant
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleRAP
    - memset
    - gf_isom_box_new_parent
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddRedundant(GF_SampleTableBox *stbl, u32 sampleNumber) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1035,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1043,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1045,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1049,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:1042,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - stss
    - SampleNumber
    - isRAP
    argTypes:
    - GF_SyncSampleBox*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 1053
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1053
    functionName: stbl_SetSampleRAP
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetSampleRAP(GF_SyncSampleBox *stss, u32 SampleNumber,
      u8 isRAP) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1644,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/stbl_write.c:1659,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1652,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1662,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - stbl
    - SampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1666
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1666
    functionName: stbl_RemoveSampleGroup
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_list_rem
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveSampleGroup(GF_SampleTableBox *stbl, u32 SampleNumber) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1788,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1793,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1815,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1797,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1804,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - stbl
    - offset
    argTypes:
    - GF_SampleTableBox*
    - u64
    constantsTouched: []
    func_position:
      end: 1821
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1821
    functionName: stbl_AppendChunk
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_malloc
    - gf_isom_box_del_parent
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendChunk(GF_SampleTableBox *stbl, u64 offset) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1868,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1886,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1888,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:1885,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1872,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - stbl
    - isRap
    argTypes:
    - GF_SampleTableBox*
    - u8
    constantsTouched: []
    func_position:
      end: 1893
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1893
    functionName: stbl_AppendRAP
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - gf_realloc
    - ALLOC_INC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendRAP(GF_SampleTableBox *stbl, u8 isRap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:604,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 6
    argNames:
    - stbl
    - sampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 628
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 628
    functionName: stbl_SetDependencyType
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetDependencyType(GF_SampleTableBox *stbl, u32 sampleNumber,
      u32 isLeading, u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbl_AddRedundant
      Src: /src/gpac/src/isomedia/stbl_write.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stbl
    - sampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1063
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1063
    functionName: stbl_SetRedundant
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - stbl_AddRedundant
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetRedundant(GF_SampleTableBox *stbl, u32 sampleNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:1841,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1842,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1848,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - stbl
    - DescIndex
    - samplesInChunk
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1855
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1855
    functionName: stbl_AppendSampleToChunk
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ALLOC_INC
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendSampleToChunk(GF_SampleTableBox *stbl, u32 DescIndex,
      u32 samplesInChunk) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/stbl_write.c:1901,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1923,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1909,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1917,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1911,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 11
    argNames:
    - mov
    - stbl
    - is_seg_start
    - seg_start_offset
    - frag_start_offset
    - tfdt
    - moof_template
    - moof_template_size
    - sidx_start
    - sidx_end
    - nb_pack_samples
    argTypes:
    - GF_ISOFile*
    - GF_SampleTableBox*
    - Bool
    - u64
    - u64
    - u64
    - u8*
    - u32
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1938
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1938
    functionName: stbl_AppendTrafMap
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memset
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendTrafMap(GF_ISOFile *mov, GF_SampleTableBox *stbl,
      Bool is_seg_start, u64 seg_start_offset, u64 frag_start_offset, u64 tfdt, u8
      *moof_template, u32 moof_template_size, u64 sidx_start, u64 sidx_end, u32 nb_pack_samples) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/stbl_write.c:2062,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/stbl_write.c:2073,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2076,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2065,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2067,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2078,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/stbl_write.c:2087,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2091,1
    - Dst: stbl_GetSampleInfos
      Src: /src/gpac/src/isomedia/stbl_write.c:2101,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/stbl_write.c:2121,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/stbl_write.c:2122,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2123,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2143,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2142,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/stbl_write.c:2132,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/stbl_write.c:2133,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/stbl_write.c:2141,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 101
    argCount: 1
    argNames:
    - stbl
    argTypes:
    - GF_SampleTableBox*
    constantsTouched: []
    func_position:
      end: 2145
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2145
    functionName: stbl_UnpackOffsets
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - gf_isom_box_del
    - gf_list_del_item
    - stbl_GetSampleInfos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_UnpackOffsets(GF_SampleTableBox *stbl) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:267,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:277,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:268,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:270,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:278,1
    - Dst: AddCompositionOffset
      Src: /src/gpac/src/isomedia/stbl_write.c:288,1
    - Dst: AddCompositionOffset
      Src: /src/gpac/src/isomedia/stbl_write.c:291,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:293,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:294,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:301,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:327,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:308,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:314,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/stbl_write.c:307,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:329,1
    - Dst: ABS
      Src: /src/gpac/src/isomedia/stbl_write.c:315,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 3
    argNames:
    - stbl
    - sampleNumber
    - offset
    argTypes:
    - GF_SampleTableBox*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 355
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 355
    functionName: stbl_AddCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - AddCompositionOffset
    - gf_realloc
    - GF_LOG
    - ALLOC_INC
    - ABS
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddCTS(GF_SampleTableBox *stbl, u32 sampleNumber, s32
      offset) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/stbl_write.c:456,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:487,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:460,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:486,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:489,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:503,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 4
    argNames:
    - stsz
    - sampleNumber
    - size
    - nb_pack
    argTypes:
    - GF_SampleSizeBox*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 509
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 509
    functionName: stbl_AddSize
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - GF_LOG
    - ALLOC_INC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddSize(GF_SampleSizeBox *stsz, u32 sampleNumber, u32
      size, u32 nb_pack) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:637,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:646,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:643,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:667,1
    - Dst: stbl_GetSampleRAP
      Src: /src/gpac/src/isomedia/stbl_write.c:649,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:674,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 6
    argNames:
    - stbl
    - sampleNumber
    - isLeading
    - dependsOn
    - dependedOn
    - redundant
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 680
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 680
    functionName: stbl_AddDependencyType
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - stbl_GetSampleRAP
    - memset
    - gf_isom_box_new_parent
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddDependencyType(GF_SampleTableBox *stbl, u32 sampleNumber,
      u32 isLeading, u32 dependsOn, u32 dependedOn, u32 redundant) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/stbl_write.c:1320,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1339,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1326,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1331,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/stbl_write.c:1334,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1348,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1360,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1369,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1371,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1377,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1389,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1387,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 3
    argNames:
    - stbl
    - sampleNumber
    - nb_samples
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1394
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1394
    functionName: stbl_RemoveChunk
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_free
    - memmove
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveChunk(GF_SampleTableBox *stbl, u32 sampleNumber,
      u32 nb_samples) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1446,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - stbl
    - nb_samples
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1464
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1464
    functionName: stbl_RemoveRAPs
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveRAPs(GF_SampleTableBox *stbl, u32 nb_samples) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1563,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1569,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - stbl
    - SampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1584
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1584
    functionName: stbl_RemovePaddingBits
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_box_del_parent
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemovePaddingBits(GF_SampleTableBox *stbl, u32 SampleNumber) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ctts
    argTypes:
    - GF_CompositionOffsetBox*
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: stbl_repackCTS
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_repackCTS(GF_CompositionOffsetBox *ctts) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:520,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:535,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:533,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:532,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:521,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:539,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:550,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - stss
    - sampleNumber
    argTypes:
    - GF_SyncSampleBox*
    - u32
    constantsTouched: []
    func_position:
      end: 557
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 557
    functionName: stbl_AddRAP
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - ALLOC_INC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddRAP(GF_SyncSampleBox *stss, u32 sampleNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/stbl_write.c:950,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:967,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:957,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:961,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - mdia
    - sampleNumber
    - offset
    argTypes:
    - GF_MediaBox*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 976
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 976
    functionName: stbl_SetChunkOffset
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - gf_malloc
    - gf_isom_box_del_parent
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetChunkOffset(GF_MediaBox *mdia, u32 sampleNumber, u64
      offset) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1414,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - stbl
    - sampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1435
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1435
    functionName: stbl_RemoveRAP
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveRAP(GF_SampleTableBox *stbl, u32 sampleNumber) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1476,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:1482,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1477,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - stbl
    - SampleNumber
    - nb_samples
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1486
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1486
    functionName: stbl_RemoveRedundant
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveRedundant(GF_SampleTableBox *stbl, u32 SampleNumber,
      u32 nb_samples) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1591,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1606,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1600,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1598,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1593,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/stbl_write.c:1609,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/stbl_write.c:1610,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1611,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1612,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/stbl_write.c:1613,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1629,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1616,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/stbl_write.c:1615,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/stbl_write.c:1626,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - stbl
    - SampleNumber
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 1635
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1635
    functionName: stbl_RemoveSubSample
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_RemoveSubSample(GF_SampleTableBox *stbl, u32 SampleNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nb_entries
    argTypes:
    - stts
    constantsTouched: []
    func_position:
      end: 1719
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1719
    functionName: if
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CHECK_PACK(GF_ISOM_INVALID_FILE)
    signature: 'CHECK_PACK(GF_ISOM_INVALID_FILE) if (stts->nb_entries) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1943,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - stbl
    - padding
    argTypes:
    - GF_SampleTableBox*
    - u8
    constantsTouched: []
    func_position:
      end: 1951
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1951
    functionName: stbl_AppendPadding
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendPadding(GF_SampleTableBox *stbl, u8 padding) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:797,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:759,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:925,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/stbl_write.c:814,1
    - Dst: Media_IsSelfContained
      Src: /src/gpac/src/isomedia/stbl_write.c:823,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:857,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:868,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:875,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:876,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:915,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:894,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:909,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:907,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:906,1
    - Dst: ALLOC_INC
      Src: /src/gpac/src/isomedia/stbl_write.c:758,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:761,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:853,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:878,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:884,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 226
    argCount: 5
    argNames:
    - mdia
    - sampleNumber
    - StreamDescIndex
    - offset
    - nb_pack
    argTypes:
    - GF_MediaBox*
    - u32
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 933
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 933
    functionName: stbl_AddChunkOffset
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - Media_IsSelfContained
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - gf_realloc
    - gf_isom_box_del_parent
    - ALLOC_INC
    - gf_free
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AddChunkOffset(GF_MediaBox *mdia, u32 sampleNumber, u32
      StreamDescIndex, u64 offset, u32 nb_pack) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:1524,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1531,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1533,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/stbl_write.c:1537,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/stbl_write.c:1540,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/stbl_write.c:1542,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:1543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - stbl
    - SampleNumber
    - bits
    argTypes:
    - GF_SampleTableBox*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 1549
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1549
    functionName: stbl_SetPaddingBits
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_isom_box_new_parent
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_SetPaddingBits(GF_SampleTableBox *stbl, u32 SampleNumber,
      u8 bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/stbl_write.c:2298,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/stbl_write.c:2312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 2317
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2317
    functionName: gf_isom_refresh_size_info
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_refresh_size_info(GF_ISOFile *file, u32 trackNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/stbl_write.c:2017,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/stbl_write.c:2020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - stbl
    - DepType
    argTypes:
    - GF_SampleTableBox*
    - u32
    constantsTouched: []
    func_position:
      end: 2026
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2026
    functionName: stbl_AppendDepType
    functionSourceFile: /src/gpac/src/isomedia/stbl_write.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_box_new_parent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err stbl_AppendDepType(GF_SampleTableBox *stbl, u32 DepType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - samp
    - wrap_flags
    argTypes:
    - GF_TextSample*
    - u8
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: gf_isom_text_set_wrap
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_wrap(GF_TextSample *samp, u8 wrap_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - samp
    - is_forced
    argTypes:
    - GF_TextSample*
    - Bool
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: gf_isom_text_set_forced
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_forced(GF_TextSample *samp, Bool
      is_forced) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:976,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - file
    - track
    - stsd_idx
    - flags
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 994
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 994
    functionName: gf_isom_set_forced_text
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_set_forced_text(GF_ISOFile *file, u32 track, u32 stsd_idx,
      u32 flags) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/tx3g.c:203,1
    - Dst: Media_FindDataRef
      Src: /src/gpac/src/isomedia/tx3g.c:219,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/tx3g.c:222,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:206,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/tx3g.c:226,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:228,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:231,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/tx3g.c:232,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/tx3g.c:240,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:245,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:249,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - desc
    - URLname
    - URNname
    - outDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_TextSampleDescriptor*
    - char*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 252
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 252
    functionName: gf_isom_new_text_description
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_malloc
    - gf_isom_get_track_from_file
    - Media_FindDataRef
    - gf_isom_box_new_parent
    - gf_list_count
    - gf_strdup
    - Media_CreateDataRef
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_text_description(GF_ISOFile *movie, u32
      trackNumber, GF_TextSampleDescriptor *desc, const char *URLname, const char
      *URNname, u32 *outDescriptionIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:294,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/tx3g.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - samp
    - rec
    argTypes:
    - GF_TextSample*
    - GF_StyleRecord*
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: gf_isom_text_add_style
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_style(GF_TextSample *samp, GF_StyleRecord
      *rec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - samp
    - scroll_delay
    argTypes:
    - GF_TextSample*
    - u32
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: gf_isom_text_set_scroll_delay
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_scroll_delay(GF_TextSample *samp,
      u32 scroll_delay) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/tx3g.c:601,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/tx3g.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: gf_isom_new_text_sample
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_TextSample *gf_isom_new_text_sample() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:611,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:613,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:619,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:617,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:615,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/tx3g.c:622,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:623,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/tx3g.c:624,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 629
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 629
    functionName: gf_isom_text_reset_styles
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_reset_styles(GF_TextSample *samp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:373,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:379,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:377,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - samp
    - URL
    - altString
    - start_char
    - end_char
    argTypes:
    - GF_TextSample*
    - char*
    - char*
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: gf_isom_text_add_hyperlink
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_strdup
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_hyperlink(GF_TextSample *samp, char
      *URL, char *altString, u16 start_char, u16 end_char) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/tx3g.c:635,1
    - Dst: gf_isom_text_reset_styles
      Src: /src/gpac/src/isomedia/tx3g.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: gf_isom_text_reset
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_text_reset_styles
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_reset(GF_TextSample *samp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: rgb_48_to_32
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 rgb_48_to_32(char *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:311,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - samp
    - start_char
    - end_char
    argTypes:
    - GF_TextSample*
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: gf_isom_text_add_highlight
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_highlight(GF_TextSample *samp, u16
      start_char, u16 end_char) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:337,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - samp
    - start_time
    argTypes:
    - GF_TextSample*
    - u32
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: gf_isom_text_add_karaoke
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_karaoke(GF_TextSample *samp, u32
      start_time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:433,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/tx3g.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - a
    argTypes:
    - GF_BitStream*
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: gpp_write_modifier
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write
    - gf_isom_box_size
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE GF_Err gpp_write_modifier(GF_BitStream *bs, GF_Box
      *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:478,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/tx3g.c:486,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:488,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:483,1
    - Dst: gf_isom_text_sample_write_bs
      Src: /src/gpac/src/isomedia/tx3g.c:480,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/tx3g.c:491,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: gf_isom_text_to_sample
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_isom_text_sample_write_bs
    - gf_bs_del
    - gf_bs_new
    - gf_isom_sample_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ISOSample *gf_isom_text_to_sample(const GF_TextSample
      *samp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/isomedia/tx3g.c:735,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:740,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/isomedia/tx3g.c:739,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dataLength
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 742
    functionName: gf_isom_parse_text_sample_from_data
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_isom_parse_text_sample
    - gf_isom_new_text_sample
    - gf_bs_del
    linkageType: ''
    returnType: GF_TextSample*
    signature: 'GF_TextSample *gf_isom_parse_text_sample_from_data(u8 *data, u32 dataLength) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:761,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/tx3g.c:775,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:787,1
    - Dst: rgb_48_to_32
      Src: /src/gpac/src/isomedia/tx3g.c:791,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:804,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/tx3g.c:813,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:815,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:818,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:824,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/tx3g.c:781,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:782,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/tx3g.c:786,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:788,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/isomedia/tx3g.c:798,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/isomedia/tx3g.c:790,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/isomedia/tx3g.c:789,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:796,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:803,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:809,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:779,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:780,1
    - Dst: rgb_48_to_32
      Src: /src/gpac/src/isomedia/tx3g.c:789,1
    - Dst: gpp_write_style
      Src: /src/gpac/src/isomedia/tx3g.c:793,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:795,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:812,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/tx3g.c:820,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/tx3g.c:822,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:821,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:783,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/isomedia/tx3g.c:797,1
    - Dst: gpp_write_style
      Src: /src/gpac/src/isomedia/tx3g.c:799,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:806,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/tx3g.c:811,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 4
    argNames:
    - _a
    - bs
    - sidx
    - sidx_offset
    argTypes:
    - GF_Tx3gSampleEntryBox*
    - GF_BitStream*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 828
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 828
    functionName: gf_isom_write_tx3g
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gpp_write_rgba
    - strlen
    - gpp_write_box
    - gpp_write_style
    - memset
    - gf_bs_write_u16
    - gf_bs_write_data
    - rgb_48_to_32
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_write_tx3g(GF_Tx3gSampleEntryBox *_a, GF_BitStream
      *bs, u32 sidx, u32 sidx_offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:911,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:928,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:913,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:927,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/tx3g.c:912,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:929,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:930,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:931,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:932,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/tx3g.c:933,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/tx3g.c:936,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/tx3g.c:938,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:935,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/tx3g.c:940,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - samp
    - sampleDescriptionIndex
    - sample_dur
    argTypes:
    - GF_ISOSample*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 943
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 943
    functionName: gf_isom_rewrite_text_sample
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_read_u16
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_rewrite_text_sample(GF_ISOSample *samp, u32 sampleDescriptionIndex,
      u32 sample_dur) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:56,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:68,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/isomedia/tx3g.c:81,1
    - Dst: rgb_48_to_32
      Src: /src/gpac/src/isomedia/tx3g.c:88,1
    - Dst: rgb_48_to_32
      Src: /src/gpac/src/isomedia/tx3g.c:85,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:94,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:95,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:106,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:111,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - out_desc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_TextSampleDescriptor**
    constantsTouched: []
    func_position:
      end: 116
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 116
    functionName: gf_isom_get_text_description
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_strdup
    - rgb_48_to_32
    - gf_odf_desc_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_get_text_description(GF_ISOFile *movie, u32
      trackNumber, u32 descriptionIndex, GF_TextSampleDescriptor **out_desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - samp
    - argb
    argTypes:
    - GF_TextSample*
    - u32
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: gf_isom_text_set_highlight_color
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_highlight_color(GF_TextSample *samp,
      u32 argb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/tx3g.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - samp
    - end_time
    - start_char
    - end_char
    argTypes:
    - GF_TextSample*
    - u32
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: gf_isom_text_set_karaoke_segment
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_karaoke_segment(GF_TextSample *samp,
      u32 end_time, u16 start_char, u16 end_char) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:445,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:450,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/tx3g.c:446,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:448,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:449,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:451,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:452,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:455,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/tx3g.c:456,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/tx3g.c:462,1
    - Dst: gpp_write_modifier
      Src: /src/gpac/src/isomedia/tx3g.c:463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - samp
    - bs
    argTypes:
    - GF_TextSample*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 468
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 468
    functionName: gf_isom_text_sample_write_bs
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_list_enum
    - gf_bs_write_u32
    - gpp_write_modifier
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_sample_write_bs(const GF_TextSample
      *samp, GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:505,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:521,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:509,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:513,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:517,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/tx3g.c:525,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/isomedia/tx3g.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 530
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 530
    functionName: gf_isom_text_sample_size
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_isom_box_size
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_text_sample_size(GF_TextSample *samp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:848,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:852,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:854,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/isomedia/tx3g.c:844,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:856,1
    - Dst: gf_isom_write_tx3g
      Src: /src/gpac/src/isomedia/tx3g.c:883,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:874,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/tx3g.c:865,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:870,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:873,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:872,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:881,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:899,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/isomedia/tx3g.c:857,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:858,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:859,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:875,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:888,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:889,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:892,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/isomedia/tx3g.c:895,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/tx3g.c:841,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/isomedia/tx3g.c:860,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/isomedia/tx3g.c:878,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/tx3g.c:898,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - mdia
    - out_esd
    argTypes:
    - GF_MediaBox*
    - GF_ESD**
    constantsTouched: []
    func_position:
      end: 902
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 902
    functionName: gf_isom_get_ttxt_esd
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_get_content
    - gf_list_get
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_list_enum
    - gf_list_count
    - gf_bs_write_u16
    - gf_isom_write_tx3g
    - gf_bs_new
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_get_ttxt_esd(GF_MediaBox *mdia, GF_ESD **out_esd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:954,1
    - Dst: gf_isom_write_tx3g
      Src: /src/gpac/src/isomedia/tx3g.c:962,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/tx3g.c:961,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:957,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/tx3g.c:963,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/tx3g.c:964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 6
    argNames:
    - file
    - track
    - sidx
    - sidx_offset
    - tx3g
    - tx3g_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: gf_isom_text_get_encoded_tx3g
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_isom_write_tx3g
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_text_get_encoded_tx3g(GF_ISOFile *file, u32 track,
      u32 sidx, u32 sidx_offset, u8 **tx3g, u32 *tx3g_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/tx3g.c:262,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/tx3g.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - samp
    - text_data
    - text_len
    argTypes:
    - GF_TextSample*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: gf_isom_text_add_text
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_text(GF_TextSample *samp, char *text_data,
      u32 text_len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/tx3g.c:137,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/tx3g.c:165,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/tx3g.c:175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:152,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:140,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:178,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/tx3g.c:181,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/tx3g.c:183,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:185,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/tx3g.c:188,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 4
    argNames:
    - movie
    - trackNumber
    - descriptionIndex
    - desc
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - GF_TextSampleDescriptor*
    constantsTouched: []
    func_position:
      end: 192
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 192
    functionName: gf_isom_update_text_description
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_isom_get_mp4time
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_strdup
    - gf_isom_box_del_parent
    - CanAccessMovie
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_update_text_description(GF_ISOFile *movie, u32 trackNumber,
      u32 descriptionIndex, GF_TextSampleDescriptor *desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - samp
    - top
    - left
    - bottom
    - right
    argTypes:
    - GF_TextSample*
    - s16
    - s16
    - s16
    - s16
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 395
    functionName: gf_isom_text_set_box
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_set_box(GF_TextSample *samp, s16 top,
      s16 left, s16 bottom, s16 right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/isomedia/tx3g.c:644,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/tx3g.c:645,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/tx3g.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tx_samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: gf_isom_delete_text_sample
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_isom_text_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_delete_text_sample(GF_TextSample * tx_samp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/tx3g.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - samp
    - start_char
    - end_char
    argTypes:
    - GF_TextSample*
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: gf_isom_text_add_blink
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_text_add_blink(GF_TextSample *samp, u16 start_char,
      u16 end_char) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/tx3g.c:552,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/tx3g.c:567,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/tx3g.c:582,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/tx3g.c:555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/tx3g.c:570,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/tx3g.c:586,1
    - Dst: memcmp
      Src: /src/gpac/src/isomedia/tx3g.c:587,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 6
    argNames:
    - movie
    - trackNumber
    - desc
    - outDescIdx
    - same_box
    - same_styles
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_TextSampleDescriptor*
    - u32*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: gf_isom_text_has_similar_description
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - memcmp
    - gf_list_count
    - strcmp
    - CanAccessMovie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_text_has_similar_description(GF_ISOFile *movie, u32
      trackNumber, GF_TextSampleDescriptor *desc, u32 *outDescIdx, Bool *same_box,
      Bool *same_styles) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/tx3g.c:665,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/isomedia/tx3g.c:670,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:672,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/tx3g.c:684,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/tx3g.c:698,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:701,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:705,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:721,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:709,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/tx3g.c:685,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:713,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:661,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/tx3g.c:655,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/tx3g.c:657,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/tx3g.c:668,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/isomedia/tx3g.c:652,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:681,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:718,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/tx3g.c:687,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 726
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 726
    functionName: gf_isom_parse_text_sample
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_u16
    - gf_isom_new_text_sample
    - gf_realloc
    - gf_isom_box_parse
    - gf_isom_box_del
    - gf_bs_available
    - memcpy
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_TextSample *gf_isom_parse_text_sample(GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/tx3g.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_TextSample*
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: gf_isom_text_set_utf16_marker
    functionSourceFile: /src/gpac/src/isomedia/tx3g.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_text_set_utf16_marker(GF_TextSample *samp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/ttml.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: gf_isom_new_xml_subtitle_sample
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_GenericSubtitleSample*
    signature: 'GF_GenericSubtitleSample *gf_isom_new_xml_subtitle_sample() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_xml_subtitle_reset
      Src: /src/gpac/src/isomedia/ttml.c:91,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/ttml.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_GenericSubtitleSample*
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: gf_isom_delete_xml_subtitle_sample
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_isom_xml_subtitle_reset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_isom_delete_xml_subtitle_sample(GF_GenericSubtitleSample
      * samp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/ttml.c:55,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/ttml.c:62,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/ttml.c:60,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/ttml.c:58,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/ttml.c:57,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/ttml.c:65,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/ttml.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_GenericSubtitleSample*
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: gf_isom_xml_subtitle_to_sample
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_isom_sample_new
    linkageType: ''
    returnType: GF_ISOSample*
    signature: 'GF_ISOSample *gf_isom_xml_subtitle_to_sample(GF_GenericSubtitleSample
      *samp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/ttml.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_GenericSubtitleSample*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: gf_isom_xml_subtitle_reset
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_xml_subtitle_reset(GF_GenericSubtitleSample *samp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_xml_subtitle_sample
      Src: /src/gpac/src/isomedia/ttml.c:98,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/ttml.c:107,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/ttml.c:101,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/ttml.c:111,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/isomedia/ttml.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: gf_isom_parse_xml_subtitle_sample
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_available
    - gf_isom_new_xml_subtitle_sample
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_GenericSubtitleSample *gf_isom_parse_xml_subtitle_sample(GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_xml_subtitle_sample
      Src: /src/gpac/src/isomedia/ttml.c:122,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/ttml.c:125,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/ttml.c:127,1
    - Dst: gf_isom_parse_xml_subtitle_sample
      Src: /src/gpac/src/isomedia/ttml.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dataLength
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: gf_isom_parse_xml_subtitle_sample_from_data
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_isom_new_xml_subtitle_sample
    - gf_isom_parse_xml_subtitle_sample
    - gf_bs_del
    linkageType: ''
    returnType: GF_GenericSubtitleSample*
    signature: 'GF_GenericSubtitleSample *gf_isom_parse_xml_subtitle_sample_from_data(char
      *data, u32 dataLength) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/ttml.c:38,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/ttml.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - samp
    - text_data
    - text_len
    argTypes:
    - GF_GenericSubtitleSample*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: gf_isom_xml_subtitle_sample_add_text
    functionSourceFile: /src/gpac/src/isomedia/ttml.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_xml_subtitle_sample_add_text(GF_GenericSubtitleSample
      *samp, char *text_data, u32 text_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_sample_size
      Src: /src/gpac/src/isomedia/hint_track.c:71,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:75,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:72,1
    - Dst: gf_isom_hint_pck_offset
      Src: /src/gpac/src/isomedia/hint_track.c:78,1
    - Dst: gf_isom_hint_pck_length
      Src: /src/gpac/src/isomedia/hint_track.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - entry
    - HintSampleNumber
    argTypes:
    - GF_HintSampleEntryBox*
    - u32
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: AdjustHintInfo
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_hint_pck_offset
    - gf_list_count
    - gf_isom_hint_pck_length
    - gf_isom_hint_sample_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AdjustHintInfo(GF_HintSampleEntryBox *entry, u32 HintSampleNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:422,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:425,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:423,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:428,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:430,1
    - Dst: NewDTE
      Src: /src/gpac/src/isomedia/hint_track.c:432,1
    - Dst: gf_isom_hint_pck_add_dte
      Src: /src/gpac/src/isomedia/hint_track.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - AtBegin
    argTypes:
    - GF_ISOFile*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 434
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 434
    functionName: gf_isom_hint_blank_data
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - NewDTE
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_hint_pck_add_dte
    - gf_list_count
    - IsHintTrack
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_blank_data(GF_ISOFile *the_file, u32
      trackNumber, u8 AtBegin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:591,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:594,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:598,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - PackingBit
    - eXtensionBit
    - MarkerBit
    - disposable_packet
    - IsRepeatedPacket
    argTypes:
    - GF_ISOFile*
    - u32
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 608
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 608
    functionName: gf_isom_rtp_packet_set_flags
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_packet_set_flags(GF_ISOFile *the_file,
      u32 trackNumber, u8 PackingBit, u8 eXtensionBit, u8 MarkerBit, u8 disposable_packet,
      u8 IsRepeatedPacket) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:946,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:950,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:954,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:956,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:960,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - sdp
    - length
    argTypes:
    - GF_ISOFile*
    - u32
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 963
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 963
    functionName: gf_isom_sdp_track_get
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_track_get(GF_ISOFile *the_file, u32 trackNumber,
      const char **sdp, u32 *length) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/hint_track.c:107,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:126,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/isomedia/hint_track.c:111,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:110,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:114,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/hint_track.c:128,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/hint_track.c:134,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:140,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:149,1
    - Dst: trak_on_child_box
      Src: /src/gpac/src/isomedia/hint_track.c:151,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/hint_track.c:157,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/hint_track.c:157,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 3
    argNames:
    - movie
    - trackNumber
    - HintType
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOHintFormat
    constantsTouched: []
    func_position:
      end: 165
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 165
    functionName: gf_isom_setup_hint_track
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - trak_on_child_box
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - Track_FindRef
    - IsHintTrack
    - udta_on_child_box_ex
    - gf_isom_last_error
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_setup_hint_track(GF_ISOFile *movie, u32 trackNumber,
      GF_ISOHintFormat HintType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:627,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hint_track.c:644,1
    - Dst: gf_isom_hint_pck_new
      Src: /src/gpac/src/isomedia/hint_track.c:634,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:628,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:630,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 10
    argNames:
    - the_file
    - trackNumber
    - relativeTime
    - PackingBit
    - eXtensionBit
    - MarkerBit
    - PayloadType
    - B_frame
    - IsRepeatedPacket
    - SequenceNumber
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    - u8
    - u8
    - u8
    - u8
    - u8
    - u8
    - u16
    constantsTouched: []
    func_position:
      end: 645
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 645
    functionName: gf_isom_rtp_packet_begin
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_track_from_file
    - gf_isom_hint_pck_new
    - CheckHintFormat
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_packet_begin(GF_ISOFile *the_file, u32
      trackNumber, s32 relativeTime, u8 PackingBit, u8 eXtensionBit, u8 MarkerBit,
      u8 PayloadType, u8 B_frame, u8 IsRepeatedPacket, u16 SequenceNumber) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:981,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:983,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:979,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:978,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/hint_track.c:986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 990
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 990
    functionName: gf_isom_get_payt_count
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_enum
    - gf_list_count
    - CheckHintFormat
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_isom_get_payt_count(GF_ISOFile *the_file, u32 trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:1001,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:1007,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:1004,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:1009,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:1005,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/hint_track.c:1012,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - index
    - payID
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1022
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1022
    functionName: gf_isom_get_payt_info
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_enum
    - gf_list_count
    - CheckHintFormat
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_isom_get_payt_info(GF_ISOFile *the_file,
      u32 trackNumber, u32 index, u32 *payID) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:748,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:762,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:775,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hint_track.c:781,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:775,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:780,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/hint_track.c:778,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:754,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:758,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:752,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:779,1
    - Dst: hnti_on_child_box
      Src: /src/gpac/src/isomedia/hint_track.c:762,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hint_track.c:768,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/hint_track.c:771,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:760,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:768,1
    - Dst: ReorderSDP
      Src: /src/gpac/src/isomedia/hint_track.c:782,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hint_track.c:775,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - text
    argTypes:
    - GF_ISOFile*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 785
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 785
    functionName: gf_isom_sdp_add_track_line
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_list_get
    - strcat
    - gf_isom_get_track_from_file
    - gf_isom_box_new_parent
    - gf_list_count
    - CheckHintFormat
    - gf_free
    - ReorderSDP
    - udta_getEntry
    - strcpy
    - hnti_on_child_box
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_add_track_line(GF_ISOFile *the_file,
      u32 trackNumber, const char *text) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:892,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:896,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:897,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/hint_track.c:901,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hint_track.c:900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - movie
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 903
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 903
    functionName: gf_isom_sdp_clean
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_clean(GF_ISOFile *movie) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:373,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/hint_track.c:386,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:376,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:374,1
    - Dst: AdjustHintInfo
      Src: /src/gpac/src/isomedia/hint_track.c:382,1
    - Dst: gf_isom_hint_sample_write
      Src: /src/gpac/src/isomedia/hint_track.c:387,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hint_track.c:389,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/isomedia/hint_track.c:392,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/hint_track.c:397,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/hint_track.c:398,1
    - Dst: gf_isom_hint_sample_del
      Src: /src/gpac/src/isomedia/hint_track.c:405,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/isomedia/hint_track.c:401,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/isomedia/hint_track.c:402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - IsRandomAccessPoint
    argTypes:
    - GF_ISOFile*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 408
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 408
    functionName: gf_isom_end_hint_sample
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_get_track_from_file
    - gf_isom_add_sample
    - gf_bs_new
    - IsHintTrack
    - Media_GetSampleDesc
    - gf_isom_hint_sample_del
    - gf_isom_sample_new
    - gf_isom_hint_sample_write
    - gf_isom_sample_del
    - AdjustHintInfo
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_end_hint_sample(GF_ISOFile *the_file, u32
      trackNumber, u8 IsRandomAccessPoint) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:479,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:488,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:486,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:483,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:480,1
    - Dst: NewDTE
      Src: /src/gpac/src/isomedia/hint_track.c:490,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/hint_track.c:499,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/hint_track.c:501,1
    - Dst: DelDTE
      Src: /src/gpac/src/isomedia/hint_track.c:510,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/hint_track.c:526,1
    - Dst: gf_isom_hint_pck_offset
      Src: /src/gpac/src/isomedia/hint_track.c:524,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/hint_track.c:522,1
    - Dst: gf_isom_hint_pck_add_dte
      Src: /src/gpac/src/isomedia/hint_track.c:534,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/hint_track.c:518,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/hint_track.c:521,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 8
    argNames:
    - the_file
    - trackNumber
    - SourceTrackID
    - SampleNumber
    - DataLength
    - offsetInSample
    - extra_data
    - AtBegin
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOTrackID
    - u32
    - u16
    - u32
    - u8*
    - u8
    constantsTouched: []
    func_position:
      end: 535
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 535
    functionName: gf_isom_hint_sample_data
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - NewDTE
    - gf_list_get
    - reftype_AddRefTrack
    - gf_isom_get_track_from_file
    - Track_FindRef
    - gf_realloc
    - gf_list_count
    - gf_isom_hint_pck_offset
    - gf_isom_hint_pck_add_dte
    - IsHintTrack
    - Media_GetSampleDesc
    - memcpy
    - memmove
    - DelDTE
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_sample_data(GF_ISOFile *the_file, u32
      trackNumber, GF_ISOTrackID SourceTrackID, u32 SampleNumber, u16 DataLength,
      u32 offsetInSample, u8 *extra_data, u8 AtBegin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hint_track.c:710,1
    - Dst: AddSDPLine
      Src: /src/gpac/src/isomedia/hint_track.c:718,1
    - Dst: strstr
      Src: /src/gpac/src/isomedia/hint_track.c:714,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/hint_track.c:718,1
    - Dst: AddSDPLine
      Src: /src/gpac/src/isomedia/hint_track.c:723,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/hint_track.c:723,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/hint_track.c:727,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:728,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:729,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/hint_track.c:730,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hint_track.c:732,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/hint_track.c:734,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - sdp_text
    - is_movie_sdp
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 735
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 735
    functionName: ReorderSDP
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strcat
    - gf_list_del
    - gf_strdup
    - gf_list_count
    - AddSDPLine
    - gf_list_rem
    - strcpy
    - gf_list_new
    - strstr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ReorderSDP(char *sdp_text, Bool is_movie_sdp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:549,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:557,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:552,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:550,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:555,1
    - Dst: NewDTE
      Src: /src/gpac/src/isomedia/hint_track.c:559,1
    - Dst: Track_FindRef
      Src: /src/gpac/src/isomedia/hint_track.c:567,1
    - Dst: reftype_AddRefTrack
      Src: /src/gpac/src/isomedia/hint_track.c:569,1
    - Dst: gf_isom_hint_pck_add_dte
      Src: /src/gpac/src/isomedia/hint_track.c:574,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 7
    argNames:
    - the_file
    - trackNumber
    - SourceTrackID
    - StreamDescriptionIndex
    - DataLength
    - offsetInDescription
    - AtBegin
    argTypes:
    - GF_ISOFile*
    - u32
    - GF_ISOTrackID
    - u32
    - u16
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 575
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 575
    functionName: gf_isom_hint_sample_description_data
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - NewDTE
    - gf_list_get
    - reftype_AddRefTrack
    - gf_isom_get_track_from_file
    - Track_FindRef
    - gf_isom_hint_pck_add_dte
    - gf_list_count
    - IsHintTrack
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_sample_description_data(GF_ISOFile *the_file,
      u32 trackNumber, GF_ISOTrackID SourceTrackID, u32 StreamDescriptionIndex, u16
      DataLength, u32 offsetInDescription, u8 AtBegin) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:831,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/hint_track.c:837,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:835,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:847,1
    - Dst: hnti_on_child_box
      Src: /src/gpac/src/isomedia/hint_track.c:854,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hint_track.c:856,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/hint_track.c:855,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:872,1
    - Dst: ReorderSDP
      Src: /src/gpac/src/isomedia/hint_track.c:875,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/hint_track.c:844,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hint_track.c:861,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:865,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/hint_track.c:864,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/hint_track.c:873,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hint_track.c:874,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/hint_track.c:831,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:839,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:843,1
    - Dst: udta_on_child_box_ex
      Src: /src/gpac/src/isomedia/hint_track.c:844,1
    - Dst: gf_isom_box_new_ex
      Src: /src/gpac/src/isomedia/hint_track.c:852,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:861,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:849,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/hint_track.c:868,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/hint_track.c:837,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:868,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:868,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/hint_track.c:871,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - movie
    - text
    argTypes:
    - GF_ISOFile*
    - char*
    constantsTouched: []
    func_position:
      end: 878
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 878
    functionName: gf_isom_sdp_add_line
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - gf_list_get
    - strlen
    - strcat
    - gf_isom_box_new_parent
    - gf_isom_box_new_ex
    - gf_list_count
    - udta_on_child_box_ex
    - gf_free
    - moov_on_child_box
    - ReorderSDP
    - udta_getEntry
    - strcpy
    - gf_list_new
    - hnti_on_child_box
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_add_line(GF_ISOFile *movie, const char
      *text) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:805,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:807,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:799,1
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:801,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/hint_track.c:810,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - the_file
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 813
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 813
    functionName: gf_isom_sdp_clean_track
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    - udta_getEntry
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_clean_track(GF_ISOFile *the_file, u32
      trackNumber) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:331,1
    - Dst: gf_isom_hint_sample_new
      Src: /src/gpac/src/isomedia/hint_track.c:350,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:332,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - HintDescriptionIndex
    - TransmissionTime
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 358
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 358
    functionName: gf_isom_begin_hint_sample
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_sample_new
    - Media_GetSampleDesc
    - IsHintTrack
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_begin_hint_sample(GF_ISOFile *the_file, u32
      trackNumber, u32 HintDescriptionIndex, u32 TransmissionTime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:59,1
    - Dst: GetHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - trak
    - HintType
    argTypes:
    - GF_TrackBox*
    - u32
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: CheckHintFormat
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - GetHintFormat
    - IsHintTrack
    linkageType: ''
    returnType: Bool
    signature: 'Bool CheckHintFormat(GF_TrackBox *trak, u32 HintType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:232,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:239,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:236,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:242,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:233,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - HintDescriptionIndex
    - TimeScale
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 253
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 253
    functionName: gf_isom_rtp_set_timescale
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_set_timescale(GF_ISOFile *the_file, u32
      trackNumber, u32 HintDescriptionIndex, u32 TimeScale) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CanAccessMovie
      Src: /src/gpac/src/isomedia/hint_track.c:178,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:187,1
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:181,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:183,1
    - Dst: GetHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:187,1
    - Dst: Media_CreateDataRef
      Src: /src/gpac/src/isomedia/hint_track.c:194,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:198,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:201,1
    - Dst: gf_isom_rtp_set_timescale
      Src: /src/gpac/src/isomedia/hint_track.c:202,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:208,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 6
    argNames:
    - the_file
    - trackNumber
    - HintTrackVersion
    - LastCompatibleVersion
    - Rely
    - HintDescriptionIndex
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    - s32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 216
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 216
    functionName: gf_isom_new_hint_description
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    - gf_isom_rtp_set_timescale
    - IsHintTrack
    - Media_CreateDataRef
    - GetHintFormat
    - CanAccessMovie
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_new_hint_description(GF_ISOFile *the_file,
      u32 trackNumber, s32 HintTrackVersion, s32 LastCompatibleVersion, u8 Rely, u32
      *HintDescriptionIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:298,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:307,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:302,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - HintDescriptionIndex
    - SequenceNumberOffset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 318
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 318
    functionName: gf_isom_rtp_set_time_sequence_offset
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_set_time_sequence_offset(GF_ISOFile *the_file,
      u32 trackNumber, u32 HintDescriptionIndex, u32 SequenceNumberOffset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: IsHintTrack
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool IsHintTrack(GF_TrackBox *trak) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:265,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:266,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:271,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:274,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/hint_track.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - the_file
    - trackNumber
    - HintDescriptionIndex
    - TimeOffset
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: gf_isom_rtp_set_time_offset
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_box_new_parent
    - gf_isom_get_track_from_file
    - gf_list_count
    - CheckHintFormat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_set_time_offset(GF_ISOFile *the_file,
      u32 trackNumber, u32 HintDescriptionIndex, u32 TimeOffset) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:661,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:668,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:668,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:664,1
    - Dst: CheckHintFormat
      Src: /src/gpac/src/isomedia/hint_track.c:662,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/hint_track.c:673,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/hint_track.c:680,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hint_track.c:684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - the_file
    - trackNumber
    - timeOffset
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 685
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 685
    functionName: gf_isom_rtp_packet_set_offset
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_list_enum
    - gf_list_count
    - CheckHintFormat
    - Media_GetSampleDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_rtp_packet_set_offset(GF_ISOFile *the_file,
      u32 trackNumber, s32 timeOffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:49,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - trak
    argTypes:
    - GF_TrackBox*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: GetHintFormat
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'u32 GetHintFormat(GF_TrackBox *trak) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:691,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:696,1
    - Dst: strchr
      Src: /src/gpac/src/isomedia/hint_track.c:697,1
    - Dst: strchr
      Src: /src/gpac/src/isomedia/hint_track.c:698,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:699,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:699,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/hint_track.c:700,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/hint_track.c:704,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - list
    - sdp_text
    - is_movie_sdp
    argTypes:
    - GF_List*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 705
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 705
    functionName: AddSDPLine
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - strlen
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void AddSDPLine(GF_List *list, char *sdp_text, Bool is_movie_sdp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udta_getEntry
      Src: /src/gpac/src/isomedia/hint_track.c:920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:925,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/hint_track.c:930,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - movie
    - sdp
    - length
    argTypes:
    - GF_ISOFile*
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 933
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 933
    functionName: gf_isom_sdp_get
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_count
    - gf_list_get
    - udta_getEntry
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_sdp_get(GF_ISOFile *movie, const char **sdp,
      u32 *length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/hint_track.c:451,1
    - Dst: Media_GetSampleDesc
      Src: /src/gpac/src/isomedia/hint_track.c:454,1
    - Dst: IsHintTrack
      Src: /src/gpac/src/isomedia/hint_track.c:452,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/hint_track.c:457,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/hint_track.c:459,1
    - Dst: NewDTE
      Src: /src/gpac/src/isomedia/hint_track.c:461,1
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/hint_track.c:462,1
    - Dst: gf_isom_hint_pck_add_dte
      Src: /src/gpac/src/isomedia/hint_track.c:464,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - the_file
    - trackNumber
    - data
    - dataLength
    - AtBegin
    argTypes:
    - GF_ISOFile*
    - u32
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 465
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 465
    functionName: gf_isom_hint_direct_data
    functionSourceFile: /src/gpac/src/isomedia/hint_track.c
    functionUses: []
    functionsReached:
    - NewDTE
    - gf_list_get
    - gf_isom_get_track_from_file
    - gf_isom_hint_pck_add_dte
    - gf_list_count
    - IsHintTrack
    - Media_GetSampleDesc
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_isom_hint_direct_data(GF_ISOFile *the_file, u32
      trackNumber, u8 *data, u32 dataLength, u8 AtBegin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sPath
    - mode
    argTypes:
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: gf_isom_fmo_new
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fdm_new
    linkageType: ''
    returnType: GF_DataMap*
    signature: 'GF_DataMap *gf_isom_fmo_new(const char *sPath, u8 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_del
      Src: /src/gpac/src/isomedia/data_map.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_FileMappingDataMap*
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: gf_isom_fmo_del
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fdm_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_fmo_del(GF_FileMappingDataMap *ptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/data_map.c:69,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/data_map.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - minf
    argTypes:
    - GF_MediaInformationBox*
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: gf_isom_datamap_close
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_del
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_datamap_close(GF_MediaInformationBox *minf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:97,1
    - Dst: gf_fsize
      Src: /src/gpac/src/isomedia/data_map.c:99,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/data_map.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: IsLargeFile
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_fopen
    - gf_fsize
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IsLargeFile(char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_flush
      Src: /src/gpac/src/isomedia/data_map.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - map
    argTypes:
    - GF_DataMap*
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: gf_isom_datamap_flush
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_flush
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_datamap_flush(GF_DataMap *map) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FDM_GetTotalOffset
      Src: /src/gpac/src/isomedia/data_map.c:317,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/data_map.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - GF_DataMap*
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: gf_isom_datamap_get_offset
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - FDM_GetTotalOffset
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_isom_datamap_get_offset(GF_DataMap *map) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/data_map.c:526,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:537,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/isomedia/data_map.c:533,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/data_map.c:540,1
    - Dst: gf_blob_query_range
      Src: /src/gpac/src/isomedia/data_map.c:534,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:541,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:542,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/data_map.c:545,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:547,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/data_map.c:552,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:564,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/isomedia/data_map.c:559,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:558,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/isomedia/data_map.c:557,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:571,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 5
    argNames:
    - ptr
    - buffer
    - bufferLength
    - fileOffset
    - is_corrupted
    argTypes:
    - GF_FileDataMap*
    - u8*
    - u32
    - u64
    - GF_BlobRangeStatus*
    constantsTouched: []
    func_position:
      end: 574
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 574
    functionName: gf_isom_fdm_get_data
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_bs_get_position
    - gf_bs_get_refreshed_size
    - gf_mx_p
    - gf_bs_seek
    - gf_blob_query_range
    - gf_bs_read_data
    - gf_bs_get_size
    - gf_mx_v
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_fdm_get_data(GF_FileDataMap *ptr, u8 *buffer, u32 bufferLength,
      u64 fileOffset, GF_BlobRangeStatus *is_corrupted) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_check_top_level
      Src: /src/gpac/src/isomedia/data_map.c:609,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/data_map.c:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - GF_DataMap*
    constantsTouched: []
    func_position:
      end: 620
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 620
    functionName: gf_isom_datamap_top_level_box_avail
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_isom_fdm_check_top_level
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_datamap_top_level_box_avail(GF_DataMap *map) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileForMapping
      Src: /src/gpac/src/isomedia/data_map.c:698,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:727,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:735,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:725,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/data_map.c:689,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:708,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:716,1
    - Dst: MapViewOfFile
      Src: /src/gpac/src/isomedia/data_map.c:731,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:733,1
    - Dst: CreateFile
      Src: /src/gpac/src/isomedia/data_map.c:701,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/isomedia/data_map.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:707,1
    - Dst: GetFileSize
      Src: /src/gpac/src/isomedia/data_map.c:712,1
    - Dst: CreateFileMapping
      Src: /src/gpac/src/isomedia/data_map.c:723,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:726,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:740,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/data_map.c:684,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:714,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:715,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:734,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:736,1
    - Dst: CloseHandle
      Src: /src/gpac/src/isomedia/data_map.c:741,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/data_map.c:744,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - sPath
    - mode
    argTypes:
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 746
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 746
    functionName: gf_isom_fmo_new
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - MapViewOfFile
    - CreateFile
    - gf_strdup
    - CE_CharToWide
    - CloseHandle
    - gf_bs_new
    - GF_SAFEALLOC
    - gf_free
    - CreateFileForMapping
    - GetFileSize
    - CreateFileMapping
    linkageType: ''
    returnType: GF_DataMap*
    signature: 'GF_DataMap *gf_isom_fmo_new(const char *sPath, u8 mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FDM_AddData
      Src: /src/gpac/src/isomedia/data_map.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - data
    - dataSize
    argTypes:
    - GF_DataMap*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: gf_isom_datamap_add_data
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - FDM_AddData
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_datamap_add_data(GF_DataMap *ptr, u8 *data, u32 dataSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/isomedia/data_map.c:579,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/isomedia/data_map.c:585,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/isomedia/data_map.c:583,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/data_map.c:584,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:587,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:590,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/isomedia/data_map.c:591,1
    - Dst: gf_blob_query_range
      Src: /src/gpac/src/isomedia/data_map.c:595,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_FileDataMap*
    constantsTouched: []
    func_position:
      end: 600
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 600
    functionName: gf_isom_fdm_check_top_level
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_bs_get_position
    - gf_mx_p
    - gf_bs_seek
    - gf_bs_available
    - gf_blob_query_range
    - gf_bs_peek_bits
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_isom_fdm_check_top_level(GF_FileDataMap *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/data_map.c:752,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:755,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:754,1
    - Dst: UnmapViewOfFile
      Src: /src/gpac/src/isomedia/data_map.c:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_FileMappingDataMap*
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: gf_isom_fmo_del
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - UnmapViewOfFile
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_fmo_del(GF_FileMappingDataMap *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/isomedia/data_map.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - ptr
    - buffer
    - bufferLength
    - fileOffset
    - is_corrupted
    argTypes:
    - GF_FileMappingDataMap*
    - u8*
    - u32
    - u64
    - GF_BlobRangeStatus*
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: gf_isom_fmo_get_data
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_fmo_get_data(GF_FileMappingDataMap *ptr, u8 *buffer, u32
      bufferLength, u64 fileOffset, GF_BlobRangeStatus *is_corrupted) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/data_map.c:214,1
    - Dst: gf_isom_datamap_close
      Src: /src/gpac/src/isomedia/data_map.c:244,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/data_map.c:222,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/data_map.c:264,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/data_map.c:219,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/data_map.c:266,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 3
    argNames:
    - mdia
    - dataRefIndex
    - Edit
    argTypes:
    - GF_MediaBox*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 273
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 273
    functionName: gf_isom_datamap_open
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_datamap_close
    - gf_list_count
    - gf_list_get
    - gf_isom_datamap_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_datamap_open(GF_MediaBox *mdia, u32 dataRefIndex, u8
      Edit) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:119,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/data_map.c:136,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:126,1
    - Dst: gf_isom_fdm_new_temp
      Src: /src/gpac/src/isomedia/data_map.c:128,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/data_map.c:136,1
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:137,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:142,1
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:143,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/isomedia/data_map.c:150,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/isomedia/data_map.c:164,1
    - Dst: IsLargeFile
      Src: /src/gpac/src/isomedia/data_map.c:173,1
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:179,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:190,1
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:174,1
    - Dst: gf_isom_fmo_new
      Src: /src/gpac/src/isomedia/data_map.c:176,1
    - Dst: gf_isom_fdm_new
      Src: /src/gpac/src/isomedia/data_map.c:182,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 4
    argNames:
    - location
    - parentPath
    - mode
    - outDataMap
    argTypes:
    - char*
    - char*
    - u8
    - GF_DataMap**
    constantsTouched: []
    func_position:
      end: 197
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 197
    functionName: gf_isom_datamap_new
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fdm_new
    - gf_url_concatenate
    - strncmp
    - gf_isom_fdm_new_temp
    - strcmp
    - gf_isom_fmo_new
    - IsLargeFile
    - gf_free
    - gf_url_is_local
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_datamap_new(const char *location, const char *parentPath,
      u8 mode, GF_DataMap **outDataMap) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/data_map.c:395,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:435,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/data_map.c:469,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:482,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/data_map.c:490,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:494,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/data_map.c:385,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:397,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/isomedia/data_map.c:408,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/data_map.c:412,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/data_map.c:417,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/data_map.c:450,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/data_map.c:450,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:452,1
    - Dst: gf_bs_from_fd
      Src: /src/gpac/src/isomedia/data_map.c:455,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:459,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:486,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:460,1
    - Dst: sscanf
      Src: /src/gpac/src/isomedia/data_map.c:413,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/isomedia/data_map.c:415,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:445,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/isomedia/data_map.c:430,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/data_map.c:443,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/data_map.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:406,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/data_map.c:416,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:441,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:419,1
    - Dst: strncmp
      Src: /src/gpac/src/isomedia/data_map.c:429,1
    - Dst: gf_bs_from_fd
      Src: /src/gpac/src/isomedia/data_map.c:432,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/data_map.c:429,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/isomedia/data_map.c:453,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:476,1
    - Dst: gf_fseek
      Src: /src/gpac/src/isomedia/data_map.c:477,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/data_map.c:471,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 117
    argCount: 2
    argNames:
    - sPath
    - mode
    argTypes:
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 498
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 498
    functionName: gf_isom_fdm_new
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_fd_open
    - gf_bs_from_file
    - strncmp
    - sscanf
    - strcmp
    - gf_file_temp
    - gf_bs_new
    - gf_mx_p
    - gf_fclose
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_from_fd
    - gf_opts_get_bool
    - gf_fopen
    - gf_mx_v
    linkageType: ''
    returnType: GF_DataMap*
    signature: 'GF_DataMap *gf_isom_fdm_new(const char *sPath, u8 mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/data_map.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_FileDataMap*
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: FDM_GetTotalOffset
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_get_size
    linkageType: ''
    returnType: u64
    signature: 'u64 FDM_GetTotalOffset(GF_FileDataMap *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/data_map.c:342,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/data_map.c:355,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/data_map.c:355,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/isomedia/data_map.c:352,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/data_map.c:355,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/data_map.c:356,1
    - Dst: sprintf
      Src: /src/gpac/src/isomedia/data_map.c:358,1
    - Dst: gf_fopen
      Src: /src/gpac/src/isomedia/data_map.c:360,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/data_map.c:361,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:364,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/data_map.c:370,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/isomedia/data_map.c:368,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:365,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - sPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 375
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 375
    functionName: gf_isom_fdm_new_temp
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_from_file
    - gf_strdup
    - sprintf
    - gf_file_temp
    - GF_SAFEALLOC
    - gf_free
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_DataMap*
    signature: 'GF_DataMap *gf_isom_fdm_new_temp(const char *sPath) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/data_map.c:503,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/isomedia/data_map.c:514,1
    - Dst: close
      Src: /src/gpac/src/isomedia/data_map.c:509,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:515,1
    - Dst: gf_fclose
      Src: /src/gpac/src/isomedia/data_map.c:505,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_FileDataMap*
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: gf_isom_fdm_del
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_file_delete
    - gf_free
    - gf_fclose
    - close
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_fdm_del(GF_FileDataMap *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/data_map.c:640,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/data_map.c:655,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/data_map.c:649,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:652,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/data_map.c:644,1
    - Dst: gf_bs_flush
      Src: /src/gpac/src/isomedia/data_map.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ptr
    - data
    - dataSize
    argTypes:
    - GF_FileDataMap*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 661
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 661
    functionName: FDM_AddData
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_bs_flush
    - gf_bs_get_position
    - gf_bs_write_data
    - gf_bs_seek
    - gf_bs_get_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err FDM_AddData(GF_FileDataMap *ptr, char *data, u32 dataSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_get_data
      Src: /src/gpac/src/isomedia/data_map.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - buffer
    - bufferLength
    - fileOffset
    - is_corrupted
    argTypes:
    - GF_FileMappingDataMap*
    - u8*
    - u32
    - u64
    - GF_BlobRangeStatus*
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: gf_isom_fmo_get_data
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fdm_get_data
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_fmo_get_data(GF_FileMappingDataMap *ptr, u8 *buffer, u32
      bufferLength, u64 fileOffset, GF_BlobRangeStatus *is_corrupted) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:41,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/data_map.c:57,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/data_map.c:56,1
    - Dst: gf_isom_fdm_del
      Src: /src/gpac/src/isomedia/data_map.c:48,1
    - Dst: gf_isom_fmo_del
      Src: /src/gpac/src/isomedia/data_map.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_DataMap*
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: gf_isom_datamap_del
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fmo_del
    - gf_bs_del
    - gf_isom_fdm_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_datamap_del(GF_DataMap *ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_fdm_get_data
      Src: /src/gpac/src/isomedia/data_map.c:283,1
    - Dst: gf_isom_fmo_get_data
      Src: /src/gpac/src/isomedia/data_map.c:287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 5
    argNames:
    - map
    - buffer
    - bufferLength
    - Offset
    - is_corrupted
    argTypes:
    - GF_DataMap*
    - u8*
    - u32
    - u64
    - GF_BlobRangeStatus*
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: gf_isom_datamap_get_data
    functionSourceFile: /src/gpac/src/isomedia/data_map.c
    functionUses: []
    functionsReached:
    - gf_isom_fmo_get_data
    - gf_isom_fdm_get_data
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_datamap_get_data(GF_DataMap *map, u8 *buffer, u32 bufferLength,
      u64 Offset, GF_BlobRangeStatus *is_corrupted) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:289,1
    - Dst: GetTrex
      Src: /src/gpac/src/isomedia/isom_intern.c:297,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_intern.c:295,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/isomedia/isom_intern.c:293,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/isomedia/isom_intern.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - mov
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: gf_isom_setup_traf_inheritance
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference
    - gf_list_count
    - gf_isom_get_track_id
    - GetTrex
    linkageType: ''
    returnType: void
    signature: 'static void gf_isom_setup_traf_inheritance(GF_ISOFile *mov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_utc_time_since_1970
      Src: /src/gpac/src/isomedia/isom_intern.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1120
    functionName: gf_isom_get_mp4time
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_utc_time_since_1970
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_isom_get_mp4time() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:219,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:222,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:213,1
    - Dst: GF_ISOM_GET_FRAG_DEPEND_FLAGS
      Src: /src/gpac/src/isomedia/isom_intern.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:242,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_intern.c:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - moof
    argTypes:
    - GF_MovieFragmentBox*
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: FixSDTPInTRAF
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_isom_box_del_parent
    - GF_LOG
    - GF_ISOM_GET_FRAG_DEPEND_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void FixSDTPInTRAF(GF_MovieFragmentBox *moof) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_intern.c:972,1
    - Dst: strcpy
      Src: /src/gpac/src/isomedia/isom_intern.c:1040,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:990,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1009,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1011,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1012,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1028,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1044,1
    - Dst: strlen
      Src: /src/gpac/src/isomedia/isom_intern.c:1034,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1037,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_intern.c:1034,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1047,1
    - Dst: gf_isom_new_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:969,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1027,1
    - Dst: strcat
      Src: /src/gpac/src/isomedia/isom_intern.c:1041,1
    - Dst: gf_isom_parse_movie_boxes
      Src: /src/gpac/src/isomedia/isom_intern.c:1065,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1073,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1078,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1079,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1048,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1055,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1036,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:995,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:996,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/isom_intern.c:1017,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1052,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1054,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1071,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1083,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - fileName
    - OpenMode
    - tmp_dir
    argTypes:
    - char*
    - GF_ISOOpenMode
    - char*
    constantsTouched: []
    func_position:
      end: 1085
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1085
    functionName: gf_isom_open_file
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_isom_parse_movie_boxes
    - strcat
    - gf_isom_new_movie
    - gf_bs_set_cookie
    - gf_strdup
    - gf_list_count
    - gf_isom_delete_movie
    - gf_isom_datamap_new
    - strcpy
    - gf_isom_datamap_del
    - gf_isom_set_last_error
    linkageType: ''
    returnType: GF_ISOFile*
    signature: 'GF_ISOFile *gf_isom_open_file(const char *fileName, GF_ISOOpenMode
      OpenMode, const char *tmp_dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_intern.c:941,1
    - Dst: memset
      Src: /src/gpac/src/isomedia/isom_intern.c:946,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:943,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:951,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_intern.c:949,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 962
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 962
    functionName: gf_isom_new_movie
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_free
    - gf_list_new
    - gf_isom_set_last_error
    linkageType: ''
    returnType: GF_ISOFile*
    signature: 'GF_ISOFile *gf_isom_new_movie() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_intern.c:1096,1
    - Dst: strcmp
      Src: /src/gpac/src/isomedia/isom_intern.c:1097,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 6
    argNames:
    - mov
    - on_block_out
    - on_block_patch
    - on_last_block_start
    - usr_data
    - block_size
    argTypes:
    - GF_ISOFile*
    - gf_isom_on_block_out
    - gf_isom_on_block_patch
    - gf_isom_on_last_block_start
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1109
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1109
    functionName: gf_isom_set_write_callback
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_isom_set_write_callback(GF_ISOFile *mov,\t\t\tgf_isom_on_block_out
      on_block_out,\t\t\tgf_isom_on_block_patch on_block_patch,\t\t\tgf_isom_on_last_block_start
      on_last_block_start, \t\t\tvoid *usr_data, \t\t\tu32 block_size) "
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1267,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/isom_intern.c:1281,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1269,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/isom_intern.c:1338,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/isom_intern.c:1350,1
    - Dst: stbl_GetSampleCTS
      Src: /src/gpac/src/isomedia/isom_intern.c:1352,1
    - Dst: stbl_findEntryForTime
      Src: /src/gpac/src/isomedia/isom_intern.c:1355,1
    - Dst: stbl_GetSampleDTS
      Src: /src/gpac/src/isomedia/isom_intern.c:1365,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 8
    argNames:
    - trak
    - force_non_empty
    - movieTime
    - MediaTime
    - SegmentStartTime
    - MediaOffset
    - useEdit
    - next_edit_start_plus_one
    argTypes:
    - GF_TrackBox*
    - Bool
    - u64
    - u64*
    - s64*
    - s64*
    - u8*
    - u64*
    constantsTouched: []
    func_position:
      end: 1373
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1373
    functionName: GetMediaTime
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - gf_list_count
    - stbl_GetSampleCTS
    - stbl_GetSampleDTS
    - stbl_findEntryForTime
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetMediaTime(GF_TrackBox *trak, Bool force_non_empty, u64 movieTime,
      u64 *MediaTime, s64 *SegmentStartTime, s64 *MediaOffset, u8 *useEdit, u64 *next_edit_start_plus_one) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:1387,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/isomedia/isom_intern.c:1388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - trak
    - movieTime
    - OutMovieTime
    argTypes:
    - GF_TrackBox*
    - u64
    - u64*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1401
    functionName: GetNextMediaTime
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_timestamp_greater_or_equal
    - gf_list_enum
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetNextMediaTime(GF_TrackBox *trak, u64 movieTime, u64 *OutMovieTime) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:50,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:66,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/isomedia/isom_intern.c:74,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_intern.c:113,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_intern.c:124,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_intern.c:138,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:159,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_intern.c:166,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_intern.c:169,1
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_intern.c:172,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/isomedia/isom_intern.c:144,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_intern.c:161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:58,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:72,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/isom_intern.c:77,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:79,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_intern.c:115,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_intern.c:112,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_intern.c:126,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:127,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:140,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_intern.c:163,1
    - Dst: gf_isom_set_sample_group_description_internal
      Src: /src/gpac/src/isomedia/isom_intern.c:146,1
    - Dst: gf_list_find
      Src: /src/gpac/src/isomedia/isom_intern.c:146,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:73,1
    - Dst: MergeTrack
      Src: /src/gpac/src/isomedia/isom_intern.c:91,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/isomedia/isom_intern.c:108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:111,1
    - Dst: SetTrackDuration
      Src: /src/gpac/src/isomedia/isom_intern.c:98,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:107,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_intern.c:117,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_intern.c:123,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_intern.c:126,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/isomedia/isom_intern.c:141,1
    - Dst: memmove
      Src: /src/gpac/src/isomedia/isom_intern.c:174,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:86,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_intern.c:109,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:103,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/isomedia/isom_intern.c:120,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/isomedia/isom_intern.c:121,1
    - Dst: gf_isom_set_sample_group_description_internal
      Src: /src/gpac/src/isomedia/isom_intern.c:126,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:134,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/isomedia/isom_intern.c:143,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_intern.c:146,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_intern.c:152,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 130
    argCount: 2
    argNames:
    - moof
    - mov
    argTypes:
    - GF_MovieFragmentBox*
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 185
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 185
    functionName: MergeFragment
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_isom_box_new_parent
    - gf_isom_box_write
    - gf_bs_write_data
    - GF_LOG
    - SetTrackDuration
    - gf_bs_del
    - gf_list_find
    - GF_4CC
    - gf_list_count
    - gf_isom_set_sample_group_description_internal
    - memmove
    - gf_list_get
    - gf_list_enum
    - gf_bs_new
    - gf_bs_write_u32
    - gf_free
    - gf_isom_box_array_del
    - gf_isom_get_track_from_id
    - MergeTrack
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err MergeFragment(GF_MovieFragmentBox *moof, GF_ISOFile *mov) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:311,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_intern.c:320,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/isomedia/isom_intern.c:317,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:314,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_intern.c:318,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_intern.c:321,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:322,1
    - Dst: gf_realloc
      Src: /src/gpac/src/isomedia/isom_intern.c:345,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:358,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - child_boxes
    - sampleGroups
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 360
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 360
    functionName: convert_compact_sample_groups
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_isom_box_new
    - gf_list_add
    - gf_list_get
    - gf_realloc
    - gf_list_count
    - gf_isom_box_del
    - gf_list_rem
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void convert_compact_sample_groups(GF_List *child_boxes, GF_List
      *sampleGroups) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1130,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1148,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1131,1
    - Dst: gf_isom_datamap_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1144,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1150,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1153,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1155,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1157,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1159,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1161,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1164,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1170,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1167,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1175,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1174,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1173,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 1
    argNames:
    - mov
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1176
    functionName: gf_isom_delete_movie
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_isom_box_del
    - gf_free
    - gf_isom_box_array_del
    - gf_isom_datamap_del
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_delete_movie(GF_ISOFile *mov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - moov
    - originalID
    - originalFile
    argTypes:
    - GF_MovieBox*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1202
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1202
    functionName: gf_isom_get_track_from_original_id
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_TrackBox*
    signature: 'GF_TrackBox *gf_isom_get_track_from_original_id(GF_MovieBox *moov,
      u32 originalID, u32 originalFile) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1511,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1513,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1514,1
    - Dst: gf_isom_new_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1473,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1487,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/isomedia/isom_intern.c:1491,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1503,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_intern.c:1486,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/isomedia/isom_intern.c:1493,1
    - Dst: gf_isom_datamap_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1500,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1524,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/isomedia/isom_intern.c:1507,1
    - Dst: gf_isom_delete_movie
      Src: /src/gpac/src/isomedia/isom_intern.c:1525,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/isom_intern.c:1492,1
    - Dst: strnicmp
      Src: /src/gpac/src/isomedia/isom_intern.c:1492,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/isomedia/isom_intern.c:1495,1
    - Dst: gf_strdup
      Src: /src/gpac/src/isomedia/isom_intern.c:1499,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:1517,1
    - Dst: gf_isom_set_last_error
      Src: /src/gpac/src/isomedia/isom_intern.c:1502,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - fileName
    - OpenMode
    - tmp_dir
    argTypes:
    - char*
    - GF_ISOOpenMode
    - char*
    constantsTouched: []
    func_position:
      end: 1527
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1527
    functionName: gf_isom_create_movie
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_new_movie
    - gf_strdup
    - gf_isom_delete_movie
    - gf_isom_datamap_new
    - strnicmp
    - gf_isom_set_brand_info
    - gf_isom_set_last_error
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_ISOFile*
    signature: 'GF_ISOFile *gf_isom_create_movie(const char *fileName, GF_ISOOpenMode
      OpenMode, const char *tmp_dir) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:197,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:191,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:193,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - mov
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: FixTrackID
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void FixTrackID(GF_ISOFile *mov) '
  - BBCount: 125
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/isomedia/isom_intern.c:380,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:480,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:845,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:586,1
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/isomedia/isom_intern.c:383,1
    - Dst: gf_isom_datamap_top_level_box_avail
      Src: /src/gpac/src/isomedia/isom_intern.c:389,1
    - Dst: gf_isom_parse_root_box
      Src: /src/gpac/src/isomedia/isom_intern.c:396,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:446,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:695,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:581,1
    - Dst: GetTrackbyID
      Src: /src/gpac/src/isomedia/isom_intern.c:743,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:881,1
    - Dst: gf_isom_disable_inplace_rewrite
      Src: /src/gpac/src/isomedia/isom_intern.c:692,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:421,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:481,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:490,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:580,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:538,1
    - Dst: gf_isom_get_track_from_id
      Src: /src/gpac/src/isomedia/isom_intern.c:731,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:798,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:803,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/isom_intern.c:382,1
    - Dst: gf_isom_push_mdat_end
      Src: /src/gpac/src/isomedia/isom_intern.c:417,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:433,1
    - Dst: convert_compact_sample_groups
      Src: /src/gpac/src/isomedia/isom_intern.c:494,1
    - Dst: gf_isom_push_mdat_end
      Src: /src/gpac/src/isomedia/isom_intern.c:500,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:514,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:728,1
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/isom_intern.c:746,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_intern.c:905,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:509,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:620,1
    - Dst: FixSDTPInTRAF
      Src: /src/gpac/src/isomedia/isom_intern.c:711,1
    - Dst: gf_isom_push_mdat_end
      Src: /src/gpac/src/isomedia/isom_intern.c:679,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:765,1
    - Dst: GF_4CC
      Src: /src/gpac/src/isomedia/isom_intern.c:796,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_intern.c:567,1
    - Dst: gf_isom_meta_restore_items_ref
      Src: /src/gpac/src/isomedia/isom_intern.c:474,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:559,1
    - Dst: convert_compact_sample_groups
      Src: /src/gpac/src/isomedia/isom_intern.c:717,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:715,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:817,1
    - Dst: gf_isom_box_array_del
      Src: /src/gpac/src/isomedia/isom_intern.c:530,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/isomedia/isom_intern.c:383,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:769,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:807,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:851,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:875,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_intern.c:550,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:729,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:468,1
    - Dst: gf_isom_meta_restore_items_ref
      Src: /src/gpac/src/isomedia/isom_intern.c:518,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:677,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/isomedia/isom_intern.c:611,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:654,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:733,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/isomedia/isom_intern.c:873,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:594,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:674,1
    - Dst: gf_assert
      Src: /src/gpac/src/isomedia/isom_intern.c:377,1
    - Dst: gf_isom_push_mdat_end
      Src: /src/gpac/src/isomedia/isom_intern.c:552,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:566,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_intern.c:662,1
    - Dst: FixTrackID
      Src: /src/gpac/src/isomedia/isom_intern.c:709,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:725,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:833,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_intern.c:858,1
    - Dst: gf_isom_box_del_parent
      Src: /src/gpac/src/isomedia/isom_intern.c:896,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_intern.c:607,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/isomedia/isom_intern.c:416,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_intern.c:440,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:434,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:442,1
    - Dst: gf_isom_setup_traf_inheritance
      Src: /src/gpac/src/isomedia/isom_intern.c:458,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:681,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:593,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:779,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_intern.c:606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:621,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:613,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:626,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:463,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:714,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:753,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_intern.c:439,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:491,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:569,1
    - Dst: gf_isom_box_find_child
      Src: /src/gpac/src/isomedia/isom_intern.c:603,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:608,1
    - Dst: MergeFragment
      Src: /src/gpac/src/isomedia/isom_intern.c:768,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:775,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:544,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:659,1
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/isom_intern.c:484,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:600,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:700,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:783,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:574,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/isomedia/isom_intern.c:392,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:685,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:831,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:843,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/isomedia/isom_intern.c:671,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_intern.c:445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/isomedia/isom_intern.c:508,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:754,1
    - Dst: senc_Parse
      Src: /src/gpac/src/isomedia/isom_intern.c:756,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_intern.c:830,1
    CyclomaticComplexity: 184
    EdgeCount: 184
    ICount: 422
    argCount: 4
    argNames:
    - mov
    - boxType
    - bytesMissing
    - progressive_mode
    argTypes:
    - GF_ISOFile*
    - u32*
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 913
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 913
    functionName: gf_isom_parse_movie_boxes_internal
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - GF_LOG
    - gf_bs_seek
    - gf_isom_parse_root_box
    - convert_compact_sample_groups
    - FixTrackID
    - GF_4CC
    - gf_list_count
    - gf_isom_box_del_parent
    - gf_isom_meta_restore_items_ref
    - gf_list_new
    - gf_list_del_item
    - gf_assert
    - MergeFragment
    - gf_bs_get_cookie
    - gf_list_insert
    - gf_list_get
    - senc_Parse
    - gf_bs_get_position
    - gf_list_enum
    - FixSDTPInTRAF
    - gf_isom_setup_traf_inheritance
    - gf_bs_get_size
    - gf_isom_push_mdat_end
    - gf_isom_box_array_del
    - gf_isom_get_track_from_id
    - GetTrackbyID
    - gf_isom_disable_inplace_rewrite
    - gf_bs_set_cookie
    - gf_isom_box_del
    - gf_isom_datamap_top_level_box_avail
    - gf_isom_box_find_child
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_isom_parse_movie_boxes_internal(GF_ISOFile *mov,
      u32 *boxType, u64 *bytesMissing, Bool progressive_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/isomedia/isom_intern.c:928,1
    - Dst: gf_isom_parse_movie_boxes_internal
      Src: /src/gpac/src/isomedia/isom_intern.c:931,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/isomedia/isom_intern.c:934,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - mov
    - boxType
    - bytesMissing
    - progressive_mode
    argTypes:
    - GF_ISOFile*
    - u32*
    - u64*
    - Bool
    constantsTouched: []
    func_position:
      end: 937
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 937
    functionName: gf_isom_parse_movie_boxes
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_isom_parse_movie_boxes_internal
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_parse_movie_boxes(GF_ISOFile *mov, u32 *boxType, u64
      *bytesMissing, Bool progressive_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - moov
    - trackID
    argTypes:
    - GF_MovieBox*
    - GF_ISOTrackID
    constantsTouched: []
    func_position:
      end: 1189
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1189
    functionName: gf_isom_get_track_from_id
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_TrackBox*
    signature: 'GF_TrackBox *gf_isom_get_track_from_id(GF_MovieBox *moov, GF_ISOTrackID
      trackID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track
      Src: /src/gpac/src/isomedia/isom_intern.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - movie
    - trackNumber
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1211
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1211
    functionName: gf_isom_get_track_from_file
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track
    linkageType: ''
    returnType: GF_TrackBox*
    signature: 'GF_TrackBox *gf_isom_get_track_from_file(GF_ISOFile *movie, u32 trackNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/isomedia/isom_intern.c:1533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - EditDuration
    - MediaTime
    - MediaRate
    - EditMode
    argTypes:
    - u64
    - u64
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 1553
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1553
    functionName: CreateEditEntry
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EdtsEntry*
    signature: 'GF_EdtsEntry *CreateEditEntry(u64 EditDuration, u64 MediaTime, u32
      MediaRate, u8 EditMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1563,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_intern.c:1574,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1565,1
    - Dst: gf_list_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1576,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1578,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:1582,1
    - Dst: gf_list_last
      Src: /src/gpac/src/isomedia/isom_intern.c:1590,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/isomedia/isom_intern.c:1591,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1593,1
    - Dst: gf_list_del
      Src: /src/gpac/src/isomedia/isom_intern.c:1595,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/isomedia/isom_intern.c:1601,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:1607,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/isomedia/isom_intern.c:1594,1
    - Dst: gf_free
      Src: /src/gpac/src/isomedia/isom_intern.c:1596,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - sub_samples
    - sampleNumber
    - subSampleSize
    - priority
    - reserved
    - discardable
    argTypes:
    - GF_SubSampleInformationBox*
    - u32
    - u32
    - u8
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1608
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1608
    functionName: gf_isom_add_subsample_info
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_list_get
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_add_subsample_info(GF_SubSampleInformationBox *sub_samples,
      u32 sampleNumber, u32 subSampleSize, u8 priority, u32 reserved, Bool discardable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_intern.c:1625,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - movie
    - track
    - subs_index
    - flags
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1633
    functionName: gf_isom_get_subsample_types
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_isom_get_subsample_types(GF_ISOFile *movie, u32 track, u32
      subs_index, u32 *flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/isomedia/isom_intern.c:1442,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/isomedia/isom_intern.c:1446,1
    - Dst: moov_on_child_box
      Src: /src/gpac/src/isomedia/isom_intern.c:1463,1
    - Dst: gf_isom_get_mp4time
      Src: /src/gpac/src/isomedia/isom_intern.c:1452,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/isomedia/isom_intern.c:1449,1
    - Dst: gf_list_add
      Src: /src/gpac/src/isomedia/isom_intern.c:1464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1466
    functionName: gf_isom_insert_moov
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_isom_get_mp4time
    - gf_isom_box_new_parent
    - moov_on_child_box
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_isom_insert_moov(GF_ISOFile *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:256,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - mov
    - mdat_end
    - is_pred
    argTypes:
    - GF_ISOFile*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 279
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 279
    functionName: gf_isom_push_mdat_end
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_isom_push_mdat_end(GF_ISOFile *mov, u64 mdat_end, Bool is_pred) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/isomedia/isom_intern.c:1415,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/isomedia/isom_intern.c:1418,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/isomedia/isom_intern.c:1417,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/isomedia/isom_intern.c:1425,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - trak
    - movieTime
    - OutMovieTime
    argTypes:
    - GF_TrackBox*
    - u64
    - u64*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1432
    functionName: GetPrevMediaTime
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_timestamp_greater_or_equal
    - gf_list_enum
    - gf_timestamp_rescale
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GetPrevMediaTime(GF_TrackBox *trak, u64 movieTime, u64 *OutMovieTime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_intern.c:1615,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - movie
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1619
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1619
    functionName: gf_isom_sample_get_subsamples_count
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_sample_get_subsamples_count(GF_ISOFile *movie, u32 track) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_from_file
      Src: /src/gpac/src/isomedia/isom_intern.c:1639,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1645,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1652,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/isomedia/isom_intern.c:1654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/isomedia/isom_intern.c:1657,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 5
    argNames:
    - movie
    - track
    - sampleNumber
    - flags
    - sub_sample
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - GF_SubSampleInfoEntry**
    constantsTouched: []
    func_position:
      end: 1662
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1662
    functionName: gf_isom_sample_get_subsample_entry
    functionSourceFile: /src/gpac/src/isomedia/isom_intern.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_get_track_from_file
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_sample_get_subsample_entry(GF_ISOFile *movie, u32 track,
      u32 sampleNumber, u32 flags, GF_SubSampleInfoEntry **sub_sample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:684,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:690,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:691,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:686,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:689,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:692,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:695,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 698
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 698
    functionName: BM_ParseNodeReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bifs_dec_node
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_sg_command_field_new
    - BM_SetCommandNode
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseNodeReplace(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:754,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:754,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:752,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:756,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:759,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:763,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:766,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:794,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:750,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:789,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/memory_decoder.c:791,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:755,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:761,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:787,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:779,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/memory_decoder.c:792,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:780,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:795,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:781,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:797,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 799
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 799
    functionName: BM_ParseIndexValueReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bifs_dec_node
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_sg_command_field_new
    - gf_bifs_get_field_index
    - BM_SetCommandNode
    - gf_bifs_dec_sf_field
    - gf_node_register
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseIndexValueReplace(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_List *com_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:904,1
    - Dst: BM_ParseInsert
      Src: /src/gpac/src/bifs/memory_decoder.c:911,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:908,1
    - Dst: BM_ParseReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:917,1
    - Dst: BM_ParseDelete
      Src: /src/gpac/src/bifs/memory_decoder.c:914,1
    - Dst: BM_SceneReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:920,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:924,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:926,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/memory_decoder.c:927,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:931,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/bifs/memory_decoder.c:933,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/memory_decoder.c:935,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 942
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 942
    functionName: BM_ParseCommand
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_bs_read_int
    - gf_bifs_dec_qp_remove
    - gf_free
    - BM_SceneReplace
    - BM_ParseReplace
    - gf_list_pop_back
    - gf_node_unregister
    - BM_ParseInsert
    - BM_ParseDelete
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseCommand(GF_BifsDecoder *codec, GF_BitStream *bs, GF_List
      *com_list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:709,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:710,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:713,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:712,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:712,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:714,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:717,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:720,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:721,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:722,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:730,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/memory_decoder.c:733,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:735,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 737
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 737
    functionName: BM_ParseFieldReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_command_field_new
    - gf_bifs_get_field_index
    - BM_SetCommandNode
    - gf_bifs_dec_field
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseFieldReplace(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:808,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:814,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:812,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:811,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:814,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:815,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:816,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:820,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:821,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:823,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:823,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:825,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:834,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:828,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:824,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:832,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:830,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 836
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 836
    functionName: BM_ParseRouteReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_bifs_get_field_index
    - gf_node_get_id
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseRouteReplace(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - co
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 947
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 947
    functionName: BM_EndOfStream
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BM_EndOfStream(void *co) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_get_stream
      Src: /src/gpac/src/bifs/memory_decoder.c:1036,1
    - Dst: BM_ParseCommand
      Src: /src/gpac/src/bifs/memory_decoder.c:1050,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/memory_decoder.c:1051,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/memory_decoder.c:1047,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/bifs/memory_decoder.c:1048,1
    - Dst: gf_bifs_flush_command_list
      Src: /src/gpac/src/bifs/memory_decoder.c:1055,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1058,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:1059,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:1060,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/memory_decoder.c:1061,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:1062,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - codec
    - ESID
    - data
    - data_length
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - u16
    - u8*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1073
    functionName: gf_bifs_decode_command_list
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_bs_set_eos_callback
    - gf_list_count
    - gf_bs_new
    - BM_ParseCommand
    - gf_bifs_flush_command_list
    - gf_bifs_dec_get_stream
    - gf_list_rem
    - gf_free
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_decode_command_list(GF_BifsDecoder *codec,
      u16 ESID, u8 *data, u32 data_length, GF_List *com_list) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:467,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:467,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:499,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:501,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:509,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/memory_decoder.c:493,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:468,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:463,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:464,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:473,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:476,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/memory_decoder.c:492,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:497,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:507,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:513,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:519,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:520,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:470,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:488,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:500,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:512,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:514,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:518,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 523
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 523
    functionName: BM_ParseIndexInsert
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bifs_dec_node
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_sg_command_field_new
    - gf_bifs_get_field_index
    - BM_SetCommandNode
    - gf_bifs_dec_sf_field
    - gf_node_register
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseIndexInsert(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/memory_decoder.c:541,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:549,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:551,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/memory_decoder.c:567,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:545,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:540,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:562,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:570,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:560,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:537,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:544,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:548,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:550,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:568,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:556,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:555,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:561,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:559,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:565,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:572,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 574
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 574
    functionName: BM_ParseRouteInsert
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_bifs_dec_name
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_strdup
    - gf_bifs_get_field_index
    - gf_node_get_id
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseRouteInsert(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:608,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:609,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:612,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:612,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:613,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:615,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:618,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:629,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:631,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:633,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:636,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:640,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:634,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:635,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/memory_decoder.c:639,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 642
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 642
    functionName: BM_ParseIndexDelete
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_is_sf_field
    - gf_sg_command_field_new
    - gf_bifs_get_field_index
    - BM_SetCommandNode
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseIndexDelete(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:842,1
    - Dst: BM_ParseRouteReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:851,1
    - Dst: BM_ParseIndexValueReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:849,1
    - Dst: BM_ParseNodeReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:845,1
    - Dst: BM_ParseFieldReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:847,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 854
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 854
    functionName: BM_ParseReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - BM_ParseFieldReplace
    - gf_bs_read_int
    - BM_ParseRouteReplace
    - BM_ParseNodeReplace
    - BM_ParseIndexValueReplace
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseReplace(GF_BifsDecoder *codec, GF_BitStream *bs, GF_List
      *com_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - com
    - node
    argTypes:
    - GF_Command*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: BM_SetCommandNode
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void BM_SetCommandNode(GF_Command *com, GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:581,1
    - Dst: BM_ParseNodeInsert
      Src: /src/gpac/src/bifs/memory_decoder.c:584,1
    - Dst: BM_ParseIndexInsert
      Src: /src/gpac/src/bifs/memory_decoder.c:588,1
    - Dst: BM_ParseRouteInsert
      Src: /src/gpac/src/bifs/memory_decoder.c:590,1
    - Dst: BM_ParseExtendedUpdates
      Src: /src/gpac/src/bifs/memory_decoder.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: BM_ParseInsert
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - BM_ParseExtendedUpdates
    - BM_ParseRouteInsert
    - gf_bs_read_int
    - BM_ParseNodeInsert
    - BM_ParseIndexInsert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseInsert(GF_BifsDecoder *codec, GF_BitStream *bs, GF_List
      *com_list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:653,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:659,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:657,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:656,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:660,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:661,1
    - Dst: BM_ParseIndexDelete
      Src: /src/gpac/src/bifs/memory_decoder.c:664,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:666,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:667,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:668,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: BM_ParseDelete
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - BM_SetCommandNode
    - BM_ParseIndexDelete
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseDelete(GF_BifsDecoder *codec, GF_BitStream *bs, GF_List
      *com_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:865,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:876,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:874,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/memory_decoder.c:866,1
    - Dst: BD_DecSceneReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:868,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:877,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:878,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:879,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:881,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:883,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/memory_decoder.c:885,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:886,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/memory_decoder.c:889,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/bifs/memory_decoder.c:887,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 892
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 892
    functionName: BM_SceneReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_sg_command_new
    - gf_list_del
    - gf_list_count
    - gf_strdup
    - gf_sg_route_del
    - gf_list_rem
    - gf_node_get_id
    - gf_list_new
    - BD_DecSceneReplace
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_SceneReplace(GF_BifsDecoder *codec, GF_BitStream *bs, GF_List
      *com_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:413,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:419,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:422,1
    - Dst: gf_bifs_get_child_table
      Src: /src/gpac/src/bifs/memory_decoder.c:416,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:414,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:434,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:436,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:437,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:438,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:443,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:445,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 448
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 448
    functionName: BM_ParseNodeInsert
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bifs_dec_node
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_bifs_get_child_table
    - gf_sg_command_field_new
    - BM_SetCommandNode
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BM_ParseNodeInsert(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:170,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/memory_decoder.c:180,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:175,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:196,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:185,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:197,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:199,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:200,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 206
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 206
    functionName: BM_ParseGlobalQuantizer
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    - gf_sg_command_new
    - gf_bifs_dec_node
    - gf_sg_command_field_new
    - gf_node_register
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_ParseGlobalQuantizer(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_List *com_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:61,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:63,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/memory_decoder.c:67,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/memory_decoder.c:76,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:82,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/memory_decoder.c:80,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:54,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:54,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:56,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:58,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:66,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:70,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:65,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:83,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:90,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:59,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:62,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:51,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:55,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:52,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:71,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/bifs/memory_decoder.c:89,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 92
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 92
    functionName: BM_ParseMultipleIndexedReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_del
    - gf_bifs_dec_node
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_vrml_is_sf_field
    - gf_sg_command_field_new
    - gf_bifs_get_field_index
    - BM_SetCommandNode
    - gf_bifs_dec_sf_field
    - gf_node_register
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_ParseMultipleIndexedReplace(GF_BifsDecoder *codec,
      GF_BitStream *bs, GF_List *com_list) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:252,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:254,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:254,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:256,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:270,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:298,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/bifs/memory_decoder.c:299,1
    - Dst: gf_node_get_proto
      Src: /src/gpac/src/bifs/memory_decoder.c:312,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:323,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:327,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:327,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:331,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:246,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:247,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:276,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:302,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:302,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:304,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:322,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:329,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/memory_decoder.c:340,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:255,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:258,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:266,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:264,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:283,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:286,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/memory_decoder.c:310,1
    - Dst: gf_sg_proto_get_id
      Src: /src/gpac/src/bifs/memory_decoder.c:312,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:328,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/memory_decoder.c:355,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:353,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:250,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:251,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:271,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:261,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:275,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:275,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:277,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:303,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:321,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 128
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 357
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 357
    functionName: BM_XReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_proto_get_id
    - gf_node_get_proto
    - gf_node_get_tag
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_vrml_is_sf_field
    - gf_sg_command_field_new
    - BM_SetCommandNode
    - gf_bifs_get_field_index
    - gf_node_list_get_child
    - gf_bifs_dec_sf_field
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_XReplace(GF_BifsDecoder *codec, GF_BitStream *bs,
      GF_List *com_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:211,1
    - Dst: gf_realloc
      Src: /src/gpac/src/bifs/memory_decoder.c:217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:218,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:212,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:220,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:223,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:224,1
    - Dst: gf_realloc
      Src: /src/gpac/src/bifs/memory_decoder.c:225,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:228,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: BM_ParseProtoDelete
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_list_add
    - gf_bs_read_int
    - gf_sg_command_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_ParseProtoDelete(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_List *com_list) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:111,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:118,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:120,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:134,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:135,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:138,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/memory_decoder.c:135,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:110,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:109,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/memory_decoder.c:152,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/bifs/memory_decoder.c:160,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:161,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:104,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:115,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/memory_decoder.c:117,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/memory_decoder.c:130,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:150,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/memory_decoder.c:113,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:137,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/memory_decoder.c:140,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/memory_decoder.c:128,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/bifs/memory_decoder.c:142,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:154,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 163
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 163
    functionName: BM_ParseMultipleReplace
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_del
    - gf_sg_command_new
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_command_field_new
    - BM_SetCommandNode
    - gf_bifs_get_field_index
    - gf_bifs_dec_field
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_ParseMultipleReplace(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_List *com_list) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:361,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/bifs/memory_decoder.c:369,1
    - Dst: gf_bifs_dec_proto_list
      Src: /src/gpac/src/bifs/memory_decoder.c:368,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:367,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:370,1
    - Dst: BM_ParseProtoDelete
      Src: /src/gpac/src/bifs/memory_decoder.c:374,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:377,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:378,1
    - Dst: BM_ParseMultipleIndexedReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:381,1
    - Dst: BM_ParseMultipleReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/memory_decoder.c:389,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/memory_decoder.c:390,1
    - Dst: BM_SetCommandNode
      Src: /src/gpac/src/bifs/memory_decoder.c:393,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:394,1
    - Dst: BM_XReplace
      Src: /src/gpac/src/bifs/memory_decoder.c:398,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/bifs/memory_decoder.c:392,1
    - Dst: BM_ParseGlobalQuantizer
      Src: /src/gpac/src/bifs/memory_decoder.c:385,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 3
    argNames:
    - codec
    - bs
    - com_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 403
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 403
    functionName: BM_ParseExtendedUpdates
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - BM_ParseMultipleReplace
    - gf_sg_command_del
    - gf_sg_command_new
    - BM_ParseGlobalQuantizer
    - gf_sg_find_node
    - gf_bs_read_int
    - BM_ParseProtoDelete
    - BM_ParseMultipleIndexedReplace
    - BM_XReplace
    - BM_SetCommandNode
    - gf_bifs_dec_proto_list
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BM_ParseExtendedUpdates(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_List *com_list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:959,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:967,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:966,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/bifs/memory_decoder.c:970,1
    - Dst: BM_ParseCommand
      Src: /src/gpac/src/bifs/memory_decoder.c:975,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:988,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:984,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:996,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:1003,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1005,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:960,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:979,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:991,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/memory_decoder.c:994,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1007,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1013,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/memory_decoder.c:964,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/memory_decoder.c:973,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/bifs/memory_decoder.c:974,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:992,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:989,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/memory_decoder.c:980,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/memory_decoder.c:995,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:1008,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:1009,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/memory_decoder.c:1010,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:1017,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/memory_decoder.c:968,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/memory_decoder.c:976,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/memory_decoder.c:987,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/bifs/memory_decoder.c:1001,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1013,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/memory_decoder.c:1016,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/memory_decoder.c:1022,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 1026
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1026
    functionName: gf_bifs_flush_command_list
    functionSourceFile: /src/gpac/src/bifs/memory_decoder.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_del
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_bs_set_eos_callback
    - gf_list_count
    - gf_bs_new
    - gf_node_get_graph
    - BM_ParseCommand
    - gf_list_rem
    - gf_free
    - gf_list_new
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_flush_command_list(GF_BifsDecoder *codec) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:56,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/com_enc.c:60,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:66,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:75,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:72,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:79,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:106,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:106,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:116,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:120,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_enc.c:109,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:60,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:61,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:61,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:62,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:81,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:88,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/bifs/com_enc.c:97,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/bifs/com_enc.c:99,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:107,1
    - Dst: gf_bifs_enc_find_node
      Src: /src/gpac/src/bifs/com_enc.c:115,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:119,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:126,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:119,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:63,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:65,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:68,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:71,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:73,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:77,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:73,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:83,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:104,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:108,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/com_enc.c:130,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:57,1
    - Dst: gf_bifs_enc_find_node
      Src: /src/gpac/src/bifs/com_enc.c:70,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:74,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:84,1
    - Dst: gf_node_new
      Src: /src/gpac/src/bifs/com_enc.c:95,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_enc.c:102,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:118,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:121,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 132
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 132
    functionName: BE_XReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_sg_proto_create_instance
    - gf_list_count
    - gf_bifs_enc_find_node
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_sg_vrml_is_sf_field
    - gf_node_new
    - gf_node_get_id
    - gf_node_register
    - gf_bs_write_int
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_unregister
    - gf_node_get_num_fields_in_mode
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_XReplace(GF_BifsEncoder * codec, GF_Command *com,
      GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:425,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:428,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:426,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:430,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:428,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:430,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:431,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:432,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:434,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_enc.c:439,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/com_enc.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: BE_FieldReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_node_get_id
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_FieldReplace(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:797,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:807,1
    - Dst: BE_EncProtoList
      Src: /src/gpac/src/bifs/com_enc.c:803,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:808,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:798,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:809,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:812,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:813,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:814,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:816,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:826,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:821,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:819,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:819,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:828,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:824,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:825,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:828,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - codec
    - graph
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_SceneGraph*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 835
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 835
    functionName: BE_SceneReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - BE_EncProtoList
    - gf_list_count
    - gf_bifs_enc_route
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_node
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_SceneReplace(GF_BifsEncoder *codec, GF_SceneGraph *graph,
      GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:140,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/com_enc.c:144,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:147,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:149,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/com_enc.c:169,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:159,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:158,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:163,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:144,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:145,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:145,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:152,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:162,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:161,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:155,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:166,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: BE_MultipleIndexedReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_node_get_id
    - gf_bs_write_int
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_MultipleIndexedReplace(GF_BifsEncoder * codec, GF_Command
      *com, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:453,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:454,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:456,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:457,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:456,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:457,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:458,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:459,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:461,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:463,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:480,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_enc.c:483,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:471,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:485,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_enc.c:482,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:468,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:474,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:475,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 488
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 488
    functionName: BE_IndexFieldReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_node
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_node_get_id
    - gf_bifs_enc_sf_field
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_IndexFieldReplace(GF_BifsEncoder *codec, GF_Command *com,
      GF_BitStream *bs) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/com_enc.c:856,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_enc.c:872,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/com_enc.c:883,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:894,1
    - Dst: BE_NodeReplace
      Src: /src/gpac/src/bifs/com_enc.c:896,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:900,1
    - Dst: BE_RouteReplace
      Src: /src/gpac/src/bifs/com_enc.c:911,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:914,1
    - Dst: BE_NodeInsert
      Src: /src/gpac/src/bifs/com_enc.c:916,1
    - Dst: gf_bifs_enc_qp_remove
      Src: /src/gpac/src/bifs/com_enc.c:953,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:920,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:950,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:930,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:940,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:924,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:851,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:857,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:864,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/com_enc.c:866,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/com_enc.c:868,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/com_enc.c:877,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:899,1
    - Dst: BE_FieldReplace
      Src: /src/gpac/src/bifs/com_enc.c:901,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:904,1
    - Dst: BE_IndexDelete
      Src: /src/gpac/src/bifs/com_enc.c:936,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:925,1
    - Dst: BE_ExtendedUpdate
      Src: /src/gpac/src/bifs/com_enc.c:945,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/com_enc.c:860,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:881,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/com_enc.c:886,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:882,1
    - Dst: BE_SceneReplaceEx
      Src: /src/gpac/src/bifs/com_enc.c:879,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/com_enc.c:884,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:905,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:910,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:919,1
    - Dst: BE_IndexInsert
      Src: /src/gpac/src/bifs/com_enc.c:921,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:934,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:953,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:931,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:856,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_enc.c:874,1
    - Dst: BE_SceneReplaceEx
      Src: /src/gpac/src/bifs/com_enc.c:888,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:895,1
    - Dst: BE_IndexFieldReplace
      Src: /src/gpac/src/bifs/com_enc.c:906,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:909,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:915,1
    - Dst: BE_RouteReplace
      Src: /src/gpac/src/bifs/com_enc.c:926,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:929,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:931,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:935,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:941,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:939,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 3
    argNames:
    - codec
    - comList
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_List*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 955
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 955
    functionName: gf_bifs_enc_commands
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - BE_ExtendedUpdate
    - gf_sg_find_node
    - GF_LOG
    - BE_NodeInsert
    - BE_NodeReplace
    - GF_SAFEALLOC
    - BE_RouteReplace
    - BE_FieldReplace
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_qp_remove
    - gf_list_del
    - gf_list_count
    - BE_IndexInsert
    - gf_node_get_id
    - gf_list_new
    - BE_SceneReplaceEx
    - gf_list_get
    - gf_free
    - BE_IndexFieldReplace
    - gf_list_rem
    - BE_IndexDelete
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_commands(GF_BifsEncoder *codec, GF_List *comList,
      GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/com_enc.c:182,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:184,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:182,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:186,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:187,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:189,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_enc.c:193,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:195,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:200,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:204,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:210,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:212,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:218,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/com_enc.c:214,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: BE_MultipleReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_node_get_id
    - gf_bifs_get_field_index
    - gf_bs_write_int
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_MultipleReplace(GF_BifsEncoder * codec, GF_Command
      *com, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:254,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:258,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:256,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:262,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:259,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:263,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: BE_EncProtoDelete
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_EncProtoDelete(GF_BifsEncoder * codec, GF_Command
      *com, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:226,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:229,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_enc.c:244,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:227,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_enc.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: BE_GlobalQuantizer
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_node_register
    - gf_bifs_enc_node
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_GlobalQuantizer(GF_BifsEncoder * codec, GF_Command
      *com, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:271,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:278,1
    - Dst: BE_EncProtoList
      Src: /src/gpac/src/bifs/com_enc.c:276,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:272,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:275,1
    - Dst: BE_EncProtoDelete
      Src: /src/gpac/src/bifs/com_enc.c:279,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:281,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:284,1
    - Dst: BE_MultipleIndexedReplace
      Src: /src/gpac/src/bifs/com_enc.c:285,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:287,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:293,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:297,1
    - Dst: BE_XReplace
      Src: /src/gpac/src/bifs/com_enc.c:298,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:290,1
    - Dst: BE_GlobalQuantizer
      Src: /src/gpac/src/bifs/com_enc.c:291,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:294,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:294,1
    - Dst: BE_MultipleReplace
      Src: /src/gpac/src/bifs/com_enc.c:288,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 302
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 302
    functionName: BE_ExtendedUpdate
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - BE_MultipleIndexedReplace
    - BE_EncProtoList
    - BE_XReplace
    - BE_GlobalQuantizer
    - gf_node_get_id
    - BE_EncProtoDelete
    - BE_MultipleReplace
    - GF_BIFS_WRITE_INT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BE_ExtendedUpdate(GF_BifsEncoder * codec, GF_Command
      *com, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/com_enc.c:967,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:972,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/com_enc.c:971,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:969,1
    - Dst: BE_SceneReplace
      Src: /src/gpac/src/bifs/com_enc.c:973,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:975,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/bifs/com_enc.c:976,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/com_enc.c:978,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/com_enc.c:981,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - codec
    - out_data
    - out_data_length
    argTypes:
    - GF_BifsEncoder*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 985
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 985
    functionName: gf_bifs_encoder_get_rap
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - BE_SceneReplace
    - gf_bs_new
    - gf_list_new
    - GF_BIFS_WRITE_INT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_encoder_get_rap(GF_BifsEncoder *codec, u8
      **out_data, u32 *out_data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:309,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:310,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:312,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:312,1
    - Dst: gf_bifs_get_child_table
      Src: /src/gpac/src/bifs/com_enc.c:314,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:318,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:321,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:324,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:325,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 329
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 329
    functionName: BE_NodeInsert
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bifs_get_child_table
    - gf_node_get_id
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_node
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_NodeInsert(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:383,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:385,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:387,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:385,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:387,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:388,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:390,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:394,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:397,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:400,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 405
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 405
    functionName: BE_IndexDelete
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_list_count
    - gf_node_get_id
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_IndexDelete(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:497,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/com_enc.c:500,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:507,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:503,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:499,1
    - Dst: gf_bifs_enc_find_node
      Src: /src/gpac/src/bifs/com_enc.c:508,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:509,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:510,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:511,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:513,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:518,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:519,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:520,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:521,1
    - Dst: gf_bifs_enc_find_node
      Src: /src/gpac/src/bifs/com_enc.c:517,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - codec
    - com
    - bs
    - isInsert
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: BE_RouteReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_bifs_enc_find_node
    - gf_bifs_enc_name
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_RouteReplace(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs, Bool isInsert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:719,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:726,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:726,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:722,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/com_enc.c:723,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:727,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:728,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:729,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:731,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:734,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:738,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:734,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:737,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:736,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - codec
    - r
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Route*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 740
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 740
    functionName: gf_bifs_enc_route
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_node_get_id
    - gf_bifs_enc_name
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_route(GF_BifsEncoder *codec, GF_Route *r, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/com_enc.c:38,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/com_enc.c:42,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/com_enc.c:47,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/com_enc.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - codec
    - bs
    - name
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: gf_bifs_enc_name
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_enc_name(GF_BifsEncoder *codec, GF_BitStream *bs, char
      *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:337,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:338,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:340,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:343,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_enc.c:343,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/com_enc.c:344,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:345,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:349,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:352,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_enc.c:364,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:372,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:370,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:361,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:355,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_enc.c:359,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:356,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_enc.c:365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 374
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 374
    functionName: BE_IndexInsert
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_bifs_field_index_by_mode
    - gf_list_get
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_node
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_node_get_id
    - gf_bifs_enc_sf_field
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_IndexInsert(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:411,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:415,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:416,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/com_enc.c:415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - codec
    - com
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: BE_NodeReplace
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_node_get_id
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_node
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_NodeReplace(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/com_enc.c:563,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:616,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:617,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:619,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:626,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:639,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:651,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:660,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/com_enc.c:664,1
    - Dst: gf_sg_proto_field_find
      Src: /src/gpac/src/bifs/com_enc.c:666,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:632,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:673,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:558,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:550,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:579,1
    - Dst: gf_bifs_enc_mf_field
      Src: /src/gpac/src/bifs/com_enc.c:582,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:581,1
    - Dst: gf_bifs_enc_mf_field
      Src: /src/gpac/src/bifs/com_enc.c:601,1
    - Dst: BE_EncProtoList
      Src: /src/gpac/src/bifs/com_enc.c:605,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:608,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:611,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:630,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:647,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:540,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:567,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:569,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:571,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/bifs/com_enc.c:577,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:570,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:590,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:592,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:600,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:690,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/bifs/com_enc.c:667,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:642,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:634,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_enc.c:675,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:646,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:552,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:565,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/com_enc.c:573,1
    - Dst: memset
      Src: /src/gpac/src/bifs/com_enc.c:595,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:612,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:637,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:649,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:659,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/com_enc.c:686,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:672,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:701,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:671,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 155
    argCount: 3
    argNames:
    - codec
    - protoList
    - bs
    argTypes:
    - GF_BifsEncoder*
    - GF_List*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 708
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 708
    functionName: BE_EncProtoList
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_sg_proto_field_get_field
    - gf_sg_proto_get_field_count
    - BE_EncProtoList
    - gf_list_count
    - gf_bifs_enc_route
    - gf_sg_vrml_is_sf_field
    - gf_sg_proto_field_find
    - gf_bifs_enc_mf_field
    - gf_bifs_enc_name
    - gf_bifs_enc_sf_field
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_node
    - gf_sg_vrml_get_sf_type
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_EncProtoList(GF_BifsEncoder *codec, GF_List *protoList,
      GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:766,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_enc.c:767,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:781,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:748,1
    - Dst: BE_EncProtoList
      Src: /src/gpac/src/bifs/com_enc.c:752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:772,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:777,1
    - Dst: BE_EncProtoList
      Src: /src/gpac/src/bifs/com_enc.c:755,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/com_enc.c:760,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:761,1
    - Dst: gf_bifs_enc_route
      Src: /src/gpac/src/bifs/com_enc.c:772,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:779,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_enc.c:751,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:749,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:762,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:765,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:769,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:774,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/com_enc.c:778,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/com_enc.c:781,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - codec
    - com
    - bs
    - routes
    argTypes:
    - GF_BifsEncoder*
    - GF_Command*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 788
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 788
    functionName: BE_SceneReplaceEx
    functionSourceFile: /src/gpac/src/bifs/com_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - BE_EncProtoList
    - gf_list_count
    - gf_bifs_enc_route
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_node
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BE_SceneReplaceEx(GF_BifsEncoder *codec, GF_Command *com, GF_BitStream
      *bs, GF_List *routes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Conditional_execute
      Src: /src/gpac/src/bifs/conditional.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Conditional_OnActivate
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - Conditional_execute
    linkageType: ''
    returnType: void
    signature: 'void Conditional_OnActivate(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/bifs/conditional.c:51,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/conditional.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - codec
    - n
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Conditional_BufferReplaced
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void Conditional_BufferReplaced(GF_BifsDecoder *codec, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/bifs/conditional.c:44,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/conditional.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - n
    - eff
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Conditional_PreDestroy
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void Conditional_PreDestroy(GF_Node *n, void *eff, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Conditional_execute
      Src: /src/gpac/src/bifs/conditional.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Conditional_OnReverseActivate
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - Conditional_execute
    linkageType: ''
    returnType: void
    signature: 'void Conditional_OnReverseActivate(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/bifs/conditional.c:64,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/bifs/conditional.c:89,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/conditional.c:87,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/bifs/conditional.c:69,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/bifs/conditional.c:79,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/conditional.c:91,1
    - Dst: gf_bifs_dec_command
      Src: /src/gpac/src/bifs/conditional.c:96,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/conditional.c:97,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/conditional.c:104,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/conditional.c:111,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_Conditional*
    constantsTouched: []
    func_position:
      end: 115
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 115
    functionName: Conditional_execute
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_bs_del
    - gf_node_get_private
    - gf_bs_new
    - gf_bifs_dec_command
    - gf_node_get_graph
    - gf_free
    - gf_node_register
    - gf_node_unregister
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void Conditional_execute(M_Conditional *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/conditional.c:134,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/conditional.c:138,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/bifs/conditional.c:145,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/conditional.c:135,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/bifs/conditional.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - codec
    - node
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: SetupConditional
    functionSourceFile: /src/gpac/src/bifs/conditional.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_node_get_tag
    - gf_node_set_callback_function
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void SetupConditional(GF_BifsDecoder *codec, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/quantize.c:32,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/bifs/quantize.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - codec
    - qp
    argTypes:
    - GF_BifsEncoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: gf_bifs_enc_qp_set
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_qp_set(GF_BifsEncoder *codec, GF_Node *qp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - codec
    - Enter
    argTypes:
    - GF_BifsEncoder*
    - Bool
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: gf_bifs_enc_qp14_enter
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_enc_qp14_enter(GF_BifsEncoder *codec, Bool Enter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - codec
    - NbElements
    argTypes:
    - GF_BifsEncoder*
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: gf_bifs_enc_qp14_set_length
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_enc_qp14_set_length(GF_BifsEncoder *codec, u32 NbElements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/quantize.c:147,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/quantize.c:149,1
    - Dst: FIX2INT
      Src: /src/gpac/src/bifs/quantize.c:150,1
    - Dst: gf_floor
      Src: /src/gpac/src/bifs/quantize.c:150,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/bifs/quantize.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - Min
    - Max
    - NbBits
    - value
    argTypes:
    - Fixed
    - Fixed
    - u32
    - Fixed
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: Q_Quantize
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_floor
    - FIX2FLT
    - FIX2INT
    - FLT2FIX
    linkageType: ''
    returnType: s32
    signature: 's32 Q_Quantize(Fixed Min, Fixed Max, u32 NbBits, Fixed value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - codec
    - bs
    - QType
    - b_min
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - u32
    - SFInt32
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: Q_EncInt
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_EncInt(GF_BifsEncoder *codec, GF_BitStream *bs, u32 QType,
      SFInt32 b_min, u32 NbBits, void *field_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_norm
      Src: /src/gpac/src/bifs/quantize.c:236,1
    - Dst: Q_EncCoordOnUnitSphere
      Src: /src/gpac/src/bifs/quantize.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - codec
    - bs
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: Q_EncNormal
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - Q_EncCoordOnUnitSphere
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_EncNormal(GF_BifsEncoder *codec, GF_BitStream *bs, u32 NbBits,
      void *field_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsEncoder*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: gf_bifs_enc_qp14_reset
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_enc_qp14_reset(GF_BifsEncoder *codec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/quantize.c:47,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/quantize.c:48,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/quantize.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - codec
    - ActivatePrev
    argTypes:
    - GF_BifsEncoder*
    - Bool
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: gf_bifs_enc_qp_remove
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_qp_remove(GF_BifsEncoder *codec, Bool ActivatePrev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/gpac/src/bifs/quantize.c:60,1
    - Dst: log
      Src: /src/gpac/src/bifs/quantize.c:60,1
    - Dst: log1p
      Src: /src/gpac/src/bifs/quantize.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsEncoder*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: gf_bifs_enc_qp14_get_bits
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - log1p
    - ceil
    - log
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bifs_enc_qp14_get_bits(GF_BifsEncoder *codec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:98,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:128,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:131,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/quantize.c:101,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:130,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:132,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:134,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - codec
    - ft
    - bs
    argTypes:
    - GF_BifsEncoder*
    - Fixed
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 138
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 138
    functionName: gf_bifs_enc_mantissa_float
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_enc_mantissa_float(GF_BifsEncoder *codec, Fixed ft, GF_BitStream
      *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:161,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:165,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:166,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:167,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:162,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:168,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:171,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:172,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:176,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:182,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:183,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:184,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:180,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:175,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:181,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 7
    argNames:
    - codec
    - bs
    - FieldType
    - BMin
    - BMax
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - u32
    - SFVec3f
    - SFVec3f
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 192
    functionName: Q_EncFloat
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - Q_Quantize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_EncFloat(GF_BifsEncoder *codec, GF_BitStream *bs, u32 FieldType,
      SFVec3f BMin, SFVec3f BMax, u32 NbBits, void *field_ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/bifs/quantize.c:216,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:222,1
    - Dst: ABS
      Src: /src/gpac/src/bifs/quantize.c:217,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/quantize.c:224,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:221,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/quantize.c:224,1
    - Dst: INT2FIX
      Src: /src/gpac/src/bifs/quantize.c:224,1
    - Dst: gf_atan2
      Src: /src/gpac/src/bifs/quantize.c:224,1
    - Dst: Q_Quantize
      Src: /src/gpac/src/bifs/quantize.c:225,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/quantize.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - codec
    - bs
    - NbBits
    - NbComp
    - m_ft
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - u32
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: Q_EncCoordOnUnitSphere
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - INT2FIX
    - ABS
    - gf_divfix
    - Q_Quantize
    - gf_bs_write_int
    - gf_atan2
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_EncCoordOnUnitSphere(GF_BifsEncoder *codec, GF_BitStream
      *bs, u32 NbBits, u32 NbComp, Fixed *m_ft) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/bifs/quantize.c:249,1
    - Dst: Q_EncCoordOnUnitSphere
      Src: /src/gpac/src/bifs/quantize.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - codec
    - bs
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: Q_EncRotation
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_quat_from_rotation
    - Q_EncCoordOnUnitSphere
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_EncRotation(GF_BifsEncoder *codec, GF_BitStream *bs, u32
      NbBits, void *field_ptr) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_get_aq_info
      Src: /src/gpac/src/bifs/quantize.c:283,1
    - Dst: gf_bifs_enc_qp14_get_bits
      Src: /src/gpac/src/bifs/quantize.c:288,1
    - Dst: Q_EncFloat
      Src: /src/gpac/src/bifs/quantize.c:313,1
    - Dst: Q_EncInt
      Src: /src/gpac/src/bifs/quantize.c:318,1
    - Dst: Q_IsTypeOn
      Src: /src/gpac/src/bifs/quantize.c:298,1
    - Dst: Q_EncNormal
      Src: /src/gpac/src/bifs/quantize.c:324,1
    - Dst: Q_EncRotation
      Src: /src/gpac/src/bifs/quantize.c:329,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 32
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 335
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 335
    functionName: gf_bifs_enc_quant_field
    functionSourceFile: /src/gpac/src/bifs/quantize.c
    functionUses: []
    functionsReached:
    - gf_bifs_get_aq_info
    - Q_EncInt
    - Q_EncFloat
    - Q_EncNormal
    - Q_EncRotation
    - gf_bifs_enc_qp14_get_bits
    - Q_IsTypeOn
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_quant_field(GF_BifsEncoder *codec, GF_BitStream
      *bs, GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/bifs/script_dec.c:87,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - ScriptParser*
    - s32
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SFS_AddInt
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - sprintf
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'static void SFS_AddInt(ScriptParser *parser, s32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/bifs/script_dec.c:93,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - c
    argTypes:
    - ScriptParser*
    - char
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: SFS_AddChar
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - sprintf
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'static void SFS_AddChar(ScriptParser *parser, char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pars
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: SFS_Indent
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'static void SFS_Indent(ScriptParser *pars) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:193,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:206,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:202,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_dec.c:221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/script_dec.c:226,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_dec.c:229,1
    - Dst: memset
      Src: /src/gpac/src/bifs/script_dec.c:172,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:185,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:208,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:207,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/script_dec.c:231,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/script_dec.c:170,1
    - Dst: ParseScriptField
      Src: /src/gpac/src/bifs/script_dec.c:195,1
    - Dst: SFS_Arguments
      Src: /src/gpac/src/bifs/script_dec.c:209,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:211,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:219,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_dec.c:222,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_dec.c:228,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/script_dec.c:179,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/script_dec.c:177,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:187,1
    - Dst: ParseScriptField
      Src: /src/gpac/src/bifs/script_dec.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:192,1
    - Dst: SFS_Space
      Src: /src/gpac/src/bifs/script_dec.c:210,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:200,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:203,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_dec.c:227,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_dec.c:232,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - codec
    - script_field
    - bs
    - n
    argTypes:
    - GF_BifsDecoder*
    - SFScript*
    - GF_BitStream*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: SFScript_Parse
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - SFS_StatementBlock
    - gf_node_get_tag
    - memset
    - SFS_AddString
    - gf_list_del
    - SFS_Identifier
    - gf_strdup
    - gf_list_count
    - gf_bs_read_int
    - SFS_Line
    - gf_list_rem
    - gf_free
    - gf_list_new
    - SFS_Space
    - SFS_Arguments
    - ParseScriptField
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SFScript_Parse(GF_BifsDecoder *codec, SFScript *script_field,
      GF_BitStream *bs, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:402,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:403,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:406,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: SFS_WhileStatement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_StatementBlock
    - SFS_CompoundExpression
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_WhileStatement(ScriptParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:698,1
    - Dst: SFS_Params
      Src: /src/gpac/src/bifs/script_dec.c:701,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:700,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:699,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: SFS_NewObject
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Identifier
    - SFS_Params
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_NewObject(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:737,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:740,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:741,1
    - Dst: SFS_Params
      Src: /src/gpac/src/bifs/script_dec.c:742,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:739,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: SFS_ObjectMethodCall
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Identifier
    - SFS_Params
    - SFS_Expression
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_ObjectMethodCall(ScriptParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: SFS_Line
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddString
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void SFS_Line(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:246,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_dec.c:247,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:247,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/script_dec.c:247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_dec.c:248,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/script_dec.c:252,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_dec.c:253,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_dec.c:253,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: SFS_Identifier
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - SFS_AddString
    - gf_list_count
    - gf_bifs_dec_name
    - gf_bs_read_int
    - gf_strdup
    - gf_get_bit_size
    linkageType: ''
    returnType: void
    signature: 'void SFS_Identifier(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:412,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:417,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:415,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:413,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:414,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: SFS_ReturnStatement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_CompoundExpression
    - gf_bs_read_int
    - SFS_Line
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_ReturnStatement(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:708,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:712,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:711,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 713
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 713
    functionName: SFS_ArrayDeref
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_CompoundExpression
    - SFS_Expression
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_ArrayDeref(ScriptParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:750,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:752,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:754,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 757
    functionName: SFS_Params
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Expression
    - gf_bs_read_int
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_Params(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:798,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:801,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 803
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 803
    functionName: SFS_GetBoolean
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_GetBoolean(ScriptParser *parser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:262,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:264,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:267,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:266,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:268,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - parser
    - is_var
    argTypes:
    - ScriptParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 271
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 271
    functionName: SFS_Arguments
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Identifier
    - gf_bs_read_int
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_Arguments(ScriptParser *parser, Bool is_var) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:305,1
    - Dst: SFS_ForStatement
      Src: /src/gpac/src/bifs/script_dec.c:311,1
    - Dst: SFS_WhileStatement
      Src: /src/gpac/src/bifs/script_dec.c:314,1
    - Dst: SFS_IfStatement
      Src: /src/gpac/src/bifs/script_dec.c:308,1
    - Dst: SFS_ReturnStatement
      Src: /src/gpac/src/bifs/script_dec.c:317,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:320,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:323,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:326,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:327,1
    - Dst: SFS_SwitchStatement
      Src: /src/gpac/src/bifs/script_dec.c:330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: SFS_Statement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_ReturnStatement
    - SFS_AddString
    - gf_bs_read_int
    - SFS_ForStatement
    - SFS_SwitchStatement
    - SFS_IfStatement
    - SFS_WhileStatement
    - SFS_CompoundExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_Statement(ScriptParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:424,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:427,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:425,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: SFS_CompoundExpression
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_CompoundExpression
    - SFS_Expression
    - SFS_AddString
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'void SFS_CompoundExpression(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_dec.c:74,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_dec.c:74,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_dec.c:75,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_dec.c:75,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/script_dec.c:76,1
    - Dst: strcpy
      Src: /src/gpac/src/bifs/script_dec.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_dec.c:78,1
    - Dst: strncat
      Src: /src/gpac/src/bifs/script_dec.c:81,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_dec.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - parser
    - str
    argTypes:
    - ScriptParser*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: SFS_AddString
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcpy
    - strncat
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void SFS_AddString(ScriptParser *parser, char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:277,1
    - Dst: SFS_IncIndent
      Src: /src/gpac/src/bifs/script_dec.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:281,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:278,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:282,1
    - Dst: SFS_Indent
      Src: /src/gpac/src/bifs/script_dec.c:283,1
    - Dst: SFS_Statement
      Src: /src/gpac/src/bifs/script_dec.c:284,1
    - Dst: SFS_DecIndent
      Src: /src/gpac/src/bifs/script_dec.c:286,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:287,1
    - Dst: SFS_Indent
      Src: /src/gpac/src/bifs/script_dec.c:288,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:293,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:291,1
    - Dst: SFS_Statement
      Src: /src/gpac/src/bifs/script_dec.c:295,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:289,1
    - Dst: SFS_Statement
      Src: /src/gpac/src/bifs/script_dec.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - funcBody
    argTypes:
    - ScriptParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 297
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 297
    functionName: SFS_StatementBlock
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddString
    - gf_bs_read_int
    - SFS_Line
    - SFS_DecIndent
    - SFS_Statement
    - SFS_Indent
    - SFS_IncIndent
    linkageType: ''
    returnType: void
    signature: 'void SFS_StatementBlock(ScriptParser *parser, Bool funcBody) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:338,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:341,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:343,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:340,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:339,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:344,1
    - Dst: SFS_Indent
      Src: /src/gpac/src/bifs/script_dec.c:345,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:346,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: SFS_IfStatement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_StatementBlock
    - SFS_AddString
    - gf_bs_read_int
    - SFS_Line
    - SFS_Indent
    - SFS_CompoundExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_IfStatement(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:434,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: SFS_OptionalExpression
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - SFS_CompoundExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_OptionalExpression(ScriptParser *parser) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:442,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:468,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:485,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:490,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:503,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:587,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:538,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:578,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:522,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:568,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:527,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:528,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:572,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:559,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:584,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:613,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:622,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:634,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:663,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:464,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:469,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:481,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:553,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:495,1
    - Dst: SFS_ObjectMethodCall
      Src: /src/gpac/src/bifs/script_dec.c:515,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:552,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:569,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:607,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:619,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:657,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:554,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:563,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:564,1
    - Dst: SFS_NewObject
      Src: /src/gpac/src/bifs/script_dec.c:509,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:539,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:604,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:642,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:654,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:477,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:562,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:579,1
    - Dst: SFS_GetNumber
      Src: /src/gpac/src/bifs/script_dec.c:500,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:608,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:617,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:629,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:658,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:667,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:684,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:524,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:537,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:614,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:643,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:652,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:664,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:558,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:489,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:457,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:472,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:473,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:544,1
    - Dst: SFS_ArrayDeref
      Src: /src/gpac/src/bifs/script_dec.c:518,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:649,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:548,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:593,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:602,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:672,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_dec.c:448,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:455,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:456,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:484,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:567,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:557,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:609,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:647,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:659,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:669,1
    - Dst: SFS_Arguments
      Src: /src/gpac/src/bifs/script_dec.c:681,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:533,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:534,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:603,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:644,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:673,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:497,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:480,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:476,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:491,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:588,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:597,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:638,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:628,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:547,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:582,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:573,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:594,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:623,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:632,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:680,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:460,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:465,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:532,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:549,1
    - Dst: SFS_GetString
      Src: /src/gpac/src/bifs/script_dec.c:496,1
    - Dst: SFS_FunctionCall
      Src: /src/gpac/src/bifs/script_dec.c:506,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:598,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:639,1
    - Dst: SFS_GetBoolean
      Src: /src/gpac/src/bifs/script_dec.c:677,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:592,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:543,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:583,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:633,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:674,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:492,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:577,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:461,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:488,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:589,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:529,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:618,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:627,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:637,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:668,1
    - Dst: SFS_ObjectMemberAccess
      Src: /src/gpac/src/bifs/script_dec.c:512,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:523,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:542,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:574,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:612,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:624,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:648,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:653,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:662,1
    - Dst: SFS_Arguments
      Src: /src/gpac/src/bifs/script_dec.c:685,1
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:599,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 139
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 693
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 693
    functionName: SFS_Expression
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_NewObject
    - SFS_ObjectMemberAccess
    - SFS_Expression
    - SFS_StatementBlock
    - SFS_AddString
    - SFS_Identifier
    - GF_LOG
    - gf_bs_read_int
    - SFS_GetString
    - SFS_GetBoolean
    - SFS_ObjectMethodCall
    - SFS_FunctionCall
    - SFS_ArrayDeref
    - SFS_GetNumber
    - SFS_Arguments
    - SFS_CompoundExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_Expression(ScriptParser *parser) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:106,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/bifs/script_dec.c:109,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/script_dec.c:108,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_dec.c:113,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:107,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_dec.c:113,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:116,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/script_dec.c:118,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_dec.c:119,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:120,1
    - Dst: gf_sg_script_field_get_info
      Src: /src/gpac/src/bifs/script_dec.c:121,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/script_dec.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:129,1
    - Dst: gf_sg_proto_field_set_ised
      Src: /src/gpac/src/bifs/script_dec.c:123,1
    - Dst: gf_sg_script_field_get_info
      Src: /src/gpac/src/bifs/script_dec.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: ParseScriptField
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_proto_field_set_ised
    - gf_sg_proto_get_field_count
    - gf_bifs_dec_name
    - gf_strdup
    - gf_bs_read_int
    - gf_bifs_dec_field
    - gf_sg_script_field_get_info
    - gf_sg_script_field_new
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ParseScriptField(ScriptParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pars
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: SFS_DecIndent
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void SFS_DecIndent(ScriptParser *pars) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:358,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:378,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:360,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:359,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:380,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:382,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:356,1
    - Dst: SFS_CompoundExpression
      Src: /src/gpac/src/bifs/script_dec.c:357,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:366,1
    - Dst: SFS_Indent
      Src: /src/gpac/src/bifs/script_dec.c:370,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:372,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:362,1
    - Dst: SFS_Indent
      Src: /src/gpac/src/bifs/script_dec.c:364,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:365,1
    - Dst: SFS_AddInt
      Src: /src/gpac/src/bifs/script_dec.c:367,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:368,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:371,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:377,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:374,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:369,1
    - Dst: SFS_Line
      Src: /src/gpac/src/bifs/script_dec.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: SFS_SwitchStatement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddInt
    - SFS_StatementBlock
    - SFS_AddString
    - gf_bs_read_int
    - SFS_Line
    - SFS_Indent
    - SFS_CompoundExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_SwitchStatement(ScriptParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:718,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:721,1
    - Dst: SFS_Params
      Src: /src/gpac/src/bifs/script_dec.c:720,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 722
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 722
    functionName: SFS_FunctionCall
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Identifier
    - SFS_Params
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_FunctionCall(ScriptParser *parser) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:765,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:767,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:766,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:772,1
    - Dst: SFS_AddInt
      Src: /src/gpac/src/bifs/script_dec.c:768,1
    - Dst: SFS_AddChar
      Src: /src/gpac/src/bifs/script_dec.c:775,1
    - Dst: SFS_AddChar
      Src: /src/gpac/src/bifs/script_dec.c:777,1
    - Dst: SFS_AddChar
      Src: /src/gpac/src/bifs/script_dec.c:779,1
    - Dst: SFS_AddChar
      Src: /src/gpac/src/bifs/script_dec.c:781,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/script_dec.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 785
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 785
    functionName: SFS_GetNumber
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddInt
    - gf_bs_read_int
    - SFS_AddChar
    linkageType: ''
    returnType: void
    signature: 'void SFS_GetNumber(ScriptParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pars
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: SFS_IncIndent
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void SFS_IncIndent(ScriptParser *pars) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pars
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: SFS_Space
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'static void SFS_Space(ScriptParser *pars) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:388,1
    - Dst: SFS_OptionalExpression
      Src: /src/gpac/src/bifs/script_dec.c:391,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:390,1
    - Dst: SFS_OptionalExpression
      Src: /src/gpac/src/bifs/script_dec.c:389,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:392,1
    - Dst: SFS_OptionalExpression
      Src: /src/gpac/src/bifs/script_dec.c:393,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:394,1
    - Dst: SFS_StatementBlock
      Src: /src/gpac/src/bifs/script_dec.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: SFS_ForStatement
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_StatementBlock
    - SFS_AddString
    - SFS_OptionalExpression
    linkageType: ''
    returnType: void
    signature: 'void SFS_ForStatement(ScriptParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFS_Expression
      Src: /src/gpac/src/bifs/script_dec.c:727,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:729,1
    - Dst: SFS_Identifier
      Src: /src/gpac/src/bifs/script_dec.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: SFS_ObjectMemberAccess
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - SFS_Identifier
    - SFS_Expression
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_ObjectMemberAccess(ScriptParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/script_dec.c:791,1
    - Dst: SFS_AddString
      Src: /src/gpac/src/bifs/script_dec.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ScriptParser*
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 793
    functionName: SFS_GetString
    functionSourceFile: /src/gpac/src/bifs/script_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_name
    - SFS_AddString
    linkageType: ''
    returnType: void
    signature: 'void SFS_GetString(ScriptParser *parser) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:742,1
    - Dst: BD_DecIndexDelete
      Src: /src/gpac/src/bifs/com_dec.c:755,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:745,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/bifs/com_dec.c:753,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:746,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:757,1
    - Dst: gf_sg_route_del_by_id
      Src: /src/gpac/src/bifs/com_dec.c:759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 765
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 765
    functionName: BD_DecDelete
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_node_replace
    - BD_DecIndexDelete
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_sg_route_del_by_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecDelete(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:774,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/bifs/com_dec.c:783,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:776,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 785
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 785
    functionName: BD_DecNodeReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_node_replace
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_bifs_dec_node
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecNodeReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:424,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:478,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:479,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:486,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/bifs/com_dec.c:510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:441,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:466,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:469,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:465,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:459,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:420,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:423,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:421,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:423,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:425,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:427,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/com_dec.c:460,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:504,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:433,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:434,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:468,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:470,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:472,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:468,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/com_dec.c:505,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 512
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 512
    functionName: BD_DecOperandReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - gf_bifs_get_field_index
    - gf_sg_vrml_field_copy
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecOperandReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_get_name
      Src: /src/gpac/src/bifs/com_dec.c:923,1
    - Dst: gf_sg_route_get_name
      Src: /src/gpac/src/bifs/com_dec.c:918,1
    - Dst: strcpy
      Src: /src/gpac/src/bifs/com_dec.c:928,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:931,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:940,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/com_dec.c:968,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/bifs/com_dec.c:970,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/bifs/com_dec.c:919,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:932,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:944,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:935,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/bifs/com_dec.c:950,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:941,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/bifs/com_dec.c:972,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/bifs/com_dec.c:973,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:913,1
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/bifs/com_dec.c:915,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/com_dec.c:965,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:934,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:934,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:943,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:943,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:945,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:936,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/com_dec.c:961,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 976
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 976
    functionName: BD_DecRouteReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_route_get_name
    - gf_sg_route_set_id
    - gf_sg_route_set_name
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_sg_route_del
    - gf_sg_route_new
    - gf_bifs_get_field_index
    - GF_SAFEALLOC
    - strcpy
    - gf_list_new
    - gf_list_del_item
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    - gf_sg_route_find
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecRouteReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:982,1
    - Dst: BD_DecFieldReplace
      Src: /src/gpac/src/bifs/com_dec.c:987,1
    - Dst: BD_DecRouteReplace
      Src: /src/gpac/src/bifs/com_dec.c:991,1
    - Dst: BD_DecNodeReplace
      Src: /src/gpac/src/bifs/com_dec.c:985,1
    - Dst: BD_DecIndexValueReplace
      Src: /src/gpac/src/bifs/com_dec.c:989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: BD_DecReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - BD_DecIndexValueReplace
    - BD_DecNodeReplace
    - BD_DecFieldReplace
    - BD_DecRouteReplace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecReplace(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: BD_DecMFFieldList
      Src: /src/gpac/src/bifs/com_dec.c:1082,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1093,1
    - Dst: memset
      Src: /src/gpac/src/bifs/com_dec.c:1102,1
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/com_dec.c:1109,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1112,1
    - Dst: BD_DecMFFieldList
      Src: /src/gpac/src/bifs/com_dec.c:1117,1
    - Dst: gf_bifs_flush_command_list
      Src: /src/gpac/src/bifs/com_dec.c:1162,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1260,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1185,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1250,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:1071,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1151,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1211,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/com_dec.c:1201,1
    - Dst: gf_bifs_dec_route
      Src: /src/gpac/src/bifs/com_dec.c:1187,1
    - Dst: command_buffers_del
      Src: /src/gpac/src/bifs/com_dec.c:1168,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1052,1
    - Dst: BD_DecMFFieldVec
      Src: /src/gpac/src/bifs/com_dec.c:1084,1
    - Dst: BD_DecMFFieldVec
      Src: /src/gpac/src/bifs/com_dec.c:1119,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:1143,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/com_dec.c:1031,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/bifs/com_dec.c:1061,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/com_dec.c:1234,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/bifs/com_dec.c:1266,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_dec.c:1033,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/bifs/com_dec.c:1064,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1174,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1208,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/bifs/com_dec.c:1272,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_dec.c:1269,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/bifs/com_dec.c:1229,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/bifs/com_dec.c:1243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1165,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1115,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1180,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1172,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/com_dec.c:1041,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/com_dec.c:1055,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/com_dec.c:1129,1
    - Dst: command_buffers_del
      Src: /src/gpac/src/bifs/com_dec.c:1134,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_dec.c:1273,1
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/com_dec.c:1076,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:1217,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/bifs/com_dec.c:1204,1
    - Dst: command_buffers_del
      Src: /src/gpac/src/bifs/com_dec.c:1157,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1252,1
    - Dst: gf_bifs_proto_field_set_aq_info
      Src: /src/gpac/src/bifs/com_dec.c:1242,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1028,1
    - Dst: sprintf
      Src: /src/gpac/src/bifs/com_dec.c:1033,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1098,1
    - Dst: command_buffers_del
      Src: /src/gpac/src/bifs/com_dec.c:1147,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1199,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/bifs/com_dec.c:1244,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/com_dec.c:1274,1
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/bifs/com_dec.c:1045,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1081,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:1155,1
    - Dst: gf_sg_proto_add_node_code
      Src: /src/gpac/src/bifs/com_dec.c:1164,1
    - Dst: gf_sg_proto_new
      Src: /src/gpac/src/bifs/com_dec.c:1036,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1074,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:1070,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1022,1
    - Dst: gf_sg_proto_get_extern_url
      Src: /src/gpac/src/bifs/com_dec.c:1103,1
    - Dst: gf_bifs_dec_proto_list
      Src: /src/gpac/src/bifs/com_dec.c:1132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1108,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1184,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1213,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:1237,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1049,1
    - Dst: sprintf
      Src: /src/gpac/src/bifs/com_dec.c:1057,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1079,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:1232,1
    - Dst: gf_bifs_dec_route
      Src: /src/gpac/src/bifs/com_dec.c:1178,1
    - Dst: gf_sg_proto_field_find
      Src: /src/gpac/src/bifs/com_dec.c:1203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_dec.c:1019,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1051,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/bifs/com_dec.c:1276,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 215
    argCount: 3
    argNames:
    - codec
    - bs
    - proto_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1283
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1283
    functionName: gf_bifs_dec_proto_list
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - command_buffers_del
    - memset
    - gf_sg_proto_add_node_code
    - gf_bifs_proto_field_set_aq_info
    - gf_sg_proto_get_extern_url
    - gf_node_unregister
    - gf_list_pop_back
    - BD_DecMFFieldList
    - gf_bifs_dec_node
    - gf_sg_proto_get_field_count
    - gf_sg_proto_get_graph
    - gf_bifs_dec_name
    - gf_list_count
    - gf_sg_proto_field_new
    - gf_sg_vrml_field_pointer_new
    - gf_bifs_flush_command_list
    - gf_sg_vrml_field_pointer_del
    - gf_list_new
    - gf_assert
    - gf_sg_proto_new
    - gf_list_del_item
    - gf_bifs_dec_route
    - gf_sg_proto_field_get_field
    - sprintf
    - gf_bs_read_int
    - gf_sg_vrml_is_sf_field
    - gf_sg_proto_field_find
    - gf_bifs_dec_sf_field
    - gf_free
    - gf_bifs_dec_proto_list
    - gf_node_register
    - gf_sg_proto_del
    - BD_DecMFFieldVec
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_proto_list(GF_BifsDecoder * codec, GF_BitStream
      *bs, GF_List *proto_list) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:311,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:322,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:313,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:338,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:330,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_dec.c:334,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/com_dec.c:344,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:301,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:305,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:302,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:320,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:350,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:312,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/bifs/com_dec.c:327,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:346,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:304,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:304,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:306,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:308,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:324,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:335,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 352
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 352
    functionName: BD_DecMultipleIndexReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_node
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_bifs_get_field_index
    - gf_sg_vrml_get_sf_type
    - gf_bifs_dec_sf_field
    - gf_node_replace_child
    - gf_node_register
    - gf_get_bit_size
    - gf_bifs_check_field_change
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecMultipleIndexReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:795,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:798,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:796,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:798,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:799,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:800,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:803,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:813,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/bifs/com_dec.c:814,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/com_dec.c:820,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:826,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/bifs/com_dec.c:824,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 828
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 828
    functionName: BD_DecFieldReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_node_unregister_children
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_is_sf_field
    - gf_bifs_get_field_index
    - gf_bifs_dec_field
    - gf_get_bit_size
    - gf_bifs_check_field_change
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecFieldReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:42,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/com_dec.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - name
    - size
    argTypes:
    - GF_BitStream*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: gf_bifs_dec_name
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_dec_name(GF_BitStream *bs, char *name, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:360,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:361,1
    - Dst: gf_bifs_dec_node_list
      Src: /src/gpac/src/bifs/com_dec.c:368,1
    - Dst: gf_bifs_dec_node_mask
      Src: /src/gpac/src/bifs/com_dec.c:366,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: BD_DecMultipleReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_node_list
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_bifs_dec_node_mask
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecMultipleReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:845,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:851,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:883,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_dec.c:887,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:840,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:878,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:872,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/com_dec.c:895,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:844,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:844,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:846,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:849,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:853,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:856,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/bifs/com_dec.c:882,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:898,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:897,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:888,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 903
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 903
    functionName: BD_DecIndexValueReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_node
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_bifs_get_field_index
    - gf_sg_vrml_get_sf_type
    - gf_bifs_dec_sf_field
    - gf_node_replace_child
    - gf_node_register
    - gf_get_bit_size
    - gf_bifs_check_field_change
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecIndexValueReplace(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:519,1
    - Dst: gf_sg_delete_all_protos
      Src: /src/gpac/src/bifs/com_dec.c:526,1
    - Dst: BD_DecMultipleIndexReplace
      Src: /src/gpac/src/bifs/com_dec.c:528,1
    - Dst: BD_DecProtoDelete
      Src: /src/gpac/src/bifs/com_dec.c:524,1
    - Dst: gf_bifs_dec_proto_list
      Src: /src/gpac/src/bifs/com_dec.c:522,1
    - Dst: BD_DecMultipleReplace
      Src: /src/gpac/src/bifs/com_dec.c:530,1
    - Dst: BD_DecGlobalQuantizer
      Src: /src/gpac/src/bifs/com_dec.c:532,1
    - Dst: BD_DecNodeDeleteEx
      Src: /src/gpac/src/bifs/com_dec.c:534,1
    - Dst: BD_XReplace
      Src: /src/gpac/src/bifs/com_dec.c:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 540
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 540
    functionName: BD_DecExtendedUpdate
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - BD_XReplace
    - gf_sg_delete_all_protos
    - BD_DecMultipleReplace
    - gf_bs_read_int
    - BD_DecProtoDelete
    - BD_DecMultipleIndexReplace
    - BD_DecNodeDeleteEx
    - BD_DecGlobalQuantizer
    - gf_bifs_dec_proto_list
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecExtendedUpdate(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:68,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:73,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:69,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:79,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:81,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:84,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/com_dec.c:104,1
    - Dst: floor
      Src: /src/gpac/src/bifs/com_dec.c:104,1
    - Dst: floor
      Src: /src/gpac/src/bifs/com_dec.c:107,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:111,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:149,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/bifs/com_dec.c:250,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/com_dec.c:258,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:192,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:88,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:90,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:92,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:88,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:131,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:131,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:143,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:164,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:182,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/bifs/com_dec.c:186,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:195,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_dec.c:189,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:205,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:72,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:72,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:74,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:76,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:83,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:127,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/bifs/com_dec.c:128,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:148,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:148,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:150,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/bifs/com_dec.c:244,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:262,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:152,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/com_dec.c:227,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:211,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_dec.c:213,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:85,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:89,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:132,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:135,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:144,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:145,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:167,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/bifs/com_dec.c:166,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/bifs/com_dec.c:177,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/com_dec.c:180,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:249,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/com_dec.c:240,1
    - Dst: gf_sg_vrml_field_clone
      Src: /src/gpac/src/bifs/com_dec.c:256,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:235,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:114,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 175
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 264
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 264
    functionName: BD_XReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_find_node
    - gf_sg_vrml_mf_get_item
    - gf_bifs_dec_field
    - FIX2FLT
    - gf_node_unregister
    - gf_node_get_num_fields_in_mode
    - gf_sg_vrml_field_clone
    - gf_bifs_dec_node
    - gf_sg_vrml_mf_reset
    - gf_node_list_get_child
    - gf_sg_vrml_field_copy
    - gf_bifs_check_field_change
    - gf_node_replace_child
    - gf_node_unregister_children
    - floor
    - gf_bs_read_int
    - gf_node_get_field
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_bifs_dec_sf_field
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_get_bit_size
    - gf_bifs_get_field_index
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_XReplace(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:377,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/com_dec.c:386,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_dec.c:387,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/com_dec.c:381,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: BD_DecGlobalQuantizer
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_get_tag
    - gf_bifs_dec_node
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecGlobalQuantizer(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:604,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:604,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:630,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/bifs/com_dec.c:643,1
    - Dst: memcpy
      Src: /src/gpac/src/bifs/com_dec.c:629,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/bifs/com_dec.c:652,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:607,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:625,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/bifs/com_dec.c:641,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/bifs/com_dec.c:649,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:600,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:601,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:610,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:613,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:634,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:655,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:605,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:627,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:637,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:646,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:656,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 659
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 659
    functionName: BD_DecIndexInsert
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_sg_vrml_mf_insert
    - gf_bifs_dec_node
    - gf_node_list_insert_child
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_bifs_check_field_change
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_bifs_get_field_index
    - gf_sg_vrml_mf_append
    - gf_bifs_dec_sf_field
    - gf_node_register
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecIndexInsert(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:666,1
    - Dst: BD_DecExtendedUpdate
      Src: /src/gpac/src/bifs/com_dec.c:672,1
    - Dst: BD_DecNodeInsert
      Src: /src/gpac/src/bifs/com_dec.c:669,1
    - Dst: BD_DecIndexInsert
      Src: /src/gpac/src/bifs/com_dec.c:674,1
    - Dst: gf_bifs_dec_route
      Src: /src/gpac/src/bifs/com_dec.c:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: BD_DecInsert
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - BD_DecExtendedUpdate
    - gf_bifs_dec_route
    - gf_bs_read_int
    - BD_DecIndexInsert
    - BD_DecNodeInsert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecInsert(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1298,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/com_dec.c:1302,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:1306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1301,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1305,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:1309,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:1310,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1311,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:1312,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1316,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:1317,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/bifs/com_dec.c:1329,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/bifs/com_dec.c:1330,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:1321,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:1320,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:1323,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1322,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/bifs/com_dec.c:1326,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - codec
    - bs
    - is_insert
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1333
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1333
    functionName: gf_bifs_dec_route
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_sg_route_set_id
    - gf_bifs_dec_name
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_sg_route_set_name
    - gf_sg_route_new
    - gf_bifs_get_field_index
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_route(GF_BifsDecoder * codec, GF_BitStream *bs,
      Bool is_insert) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:271,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/bifs/com_dec.c:276,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/bifs/com_dec.c:277,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:275,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:273,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:278,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:281,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:282,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:284,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/bifs/com_dec.c:285,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/bifs/com_dec.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 291
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 291
    functionName: BD_DecProtoDelete
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_del
    - gf_bs_read_int
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecProtoDelete(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:403,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:404,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/bifs/com_dec.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: BD_DecNodeDeleteEx
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_node_replace
    - gf_sg_find_node
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecNodeDeleteEx(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:692,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/com_dec.c:696,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:697,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/com_dec.c:696,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:693,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:699,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:702,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/com_dec.c:713,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/com_dec.c:715,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/com_dec.c:717,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/com_dec.c:719,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:731,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/bifs/com_dec.c:725,1
    - Dst: gf_sg_vrml_mf_remove
      Src: /src/gpac/src/bifs/com_dec.c:728,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 734
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 734
    functionName: BD_DecIndexDelete
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_node_get_field
    - gf_bifs_check_field_change
    - gf_sg_vrml_is_sf_field
    - gf_sg_vrml_mf_remove
    - gf_bifs_get_field_index
    - gf_node_replace_child
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecIndexDelete(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_reset
      Src: /src/gpac/src/bifs/com_dec.c:1344,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1347,1
    - Dst: gf_bifs_dec_proto_list
      Src: /src/gpac/src/bifs/com_dec.c:1351,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1349,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:1357,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:1364,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/bifs/com_dec.c:1367,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1370,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1374,1
    - Dst: gf_bifs_dec_route
      Src: /src/gpac/src/bifs/com_dec.c:1378,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1384,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1385,1
    - Dst: gf_bifs_dec_route
      Src: /src/gpac/src/bifs/com_dec.c:1387,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1380,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 3
    argNames:
    - codec
    - bs
    - proto_list
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1395
    functionName: BD_DecSceneReplace
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_route
    - gf_bifs_dec_node
    - gf_bs_read_int
    - gf_bifs_dec_proto_list
    - gf_node_register
    - gf_sg_set_root_node
    - gf_sg_reset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BD_DecSceneReplace(GF_BifsDecoder * codec, GF_BitStream *bs,
      GF_List *proto_list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1405,1
    - Dst: BD_DecDelete
      Src: /src/gpac/src/bifs/com_dec.c:1411,1
    - Dst: BD_DecReplace
      Src: /src/gpac/src/bifs/com_dec.c:1414,1
    - Dst: BD_DecInsert
      Src: /src/gpac/src/bifs/com_dec.c:1408,1
    - Dst: BD_DecSceneReplace
      Src: /src/gpac/src/bifs/com_dec.c:1417,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:1421,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/com_dec.c:1424,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/com_dec.c:1425,1
    - Dst: gf_bifs_flush_command_list
      Src: /src/gpac/src/bifs/com_dec.c:1427,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1430
    functionName: gf_bifs_dec_command
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_bs_read_int
    - BD_DecReplace
    - BD_DecDelete
    - gf_bifs_flush_command_list
    - BD_DecInsert
    - gf_bifs_dec_qp_remove
    - BD_DecSceneReplace
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_command(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:550,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/com_dec.c:551,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:557,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/com_dec.c:560,1
    - Dst: gf_bifs_get_child_table
      Src: /src/gpac/src/bifs/com_dec.c:554,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/com_dec.c:573,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/com_dec.c:576,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/bifs/com_dec.c:578,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/bifs/com_dec.c:582,1
    - Dst: gf_bifs_check_field_change
      Src: /src/gpac/src/bifs/com_dec.c:584,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 587
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 587
    functionName: BD_DecNodeInsert
    functionSourceFile: /src/gpac/src/bifs/com_dec.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_node
    - gf_node_get_field_by_name
    - gf_sg_find_node
    - gf_bs_read_int
    - gf_bifs_get_child_table
    - gf_node_insert_child
    - gf_node_register
    - gf_bifs_check_field_change
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BD_DecNodeInsert(GF_BifsDecoder * codec, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: gf_bifs_decoder_ignore_size_info
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bifs_decoder_ignore_size_info(GF_BifsDecoder *codec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/bifs_codec.c:437,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:443,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:451,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:461,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/bifs/bifs_codec.c:471,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/bifs/bifs_codec.c:472,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:444,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:464,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:460,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:467,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/bifs_codec.c:473,1
    - Dst: BE_GetStream
      Src: /src/gpac/src/bifs/bifs_codec.c:431,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:441,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:452,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:455,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:465,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:440,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:450,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/bifs_codec.c:454,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/bifs_codec.c:455,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:456,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:463,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/bifs_codec.c:457,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 4
    argNames:
    - codec
    - ESID
    - out_data
    - out_data_length
    argTypes:
    - GF_BifsEncoder*
    - u16
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 476
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 476
    functionName: gf_bifs_encoder_get_config
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_list_count
    - gf_bs_new
    - BE_GetStream
    - gf_node_get_id
    - gf_bs_align
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_encoder_get_config(GF_BifsEncoder *codec,
      u16 ESID, u8 **out_data, u32 *out_data_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:91,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:95,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:94,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - scenegraph
    - command_dec
    argTypes:
    - GF_SceneGraph*
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: gf_bifs_decoder_new
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BifsDecoder *gf_bifs_decoder_new(GF_SceneGraph *scenegraph,
      Bool command_dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/bifs_codec.c:200,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:202,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/bifs_codec.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_BifsDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: gf_bifs_decoder_remove_stream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_decoder_remove_stream(GF_BifsDecoder *codec,
      u16 ESID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:214,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/bifs_codec.c:216,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/bifs_codec.c:218,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:217,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/bifs_codec.c:215,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - command_buffers
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: command_buffers_del
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'void command_buffers_del(GF_List *command_buffers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: gf_bifs_decode_has_conditionnals
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_bifs_decode_has_conditionnals(GF_BifsDecoder *codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BE_GetStream
      Src: /src/gpac/src/bifs/bifs_codec.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_BifsEncoder*
    - u16
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: gf_bifs_encoder_get_version
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - BE_GetStream
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_bifs_encoder_get_version(GF_BifsEncoder *codec, u16
      ESID) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BE_GetStream
      Src: /src/gpac/src/bifs/bifs_codec.c:353,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:373,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:358,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/bifs_codec.c:376,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:377,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/bifs_codec.c:379,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/bifs_codec.c:382,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/bifs/bifs_codec.c:383,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/bifs_codec.c:385,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/bifs_codec.c:389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - codec
    - ESID
    - cfg
    - encodeNames
    - has_predictive
    argTypes:
    - GF_BifsEncoder*
    - u16
    - GF_BIFSConfig*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 392
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: gf_bifs_encoder_new_stream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_sg_find_node
    - GF_LOG
    - gf_sg_find_node_by_name
    - BE_GetStream
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_encoder_new_stream(GF_BifsEncoder *codec,
      u16 ESID, GF_BIFSConfig *cfg, Bool encodeNames, Bool has_predictive) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BE_GetStream
      Src: /src/gpac/src/bifs/bifs_codec.c:403,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/bifs/bifs_codec.c:416,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/bifs_codec.c:409,1
    - Dst: gf_bifs_enc_commands
      Src: /src/gpac/src/bifs/bifs_codec.c:414,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/bifs/bifs_codec.c:417,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/bifs_codec.c:418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - codec
    - ESID
    - command_list
    - out_data
    - out_data_length
    argTypes:
    - GF_BifsEncoder*
    - u16
    - GF_List*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 421
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 421
    functionName: gf_bifs_encode_au
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bifs_enc_commands
    - gf_bs_del
    - gf_bs_new
    - BE_GetStream
    - gf_bs_align
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_encode_au(GF_BifsEncoder *codec, u16 ESID,
      GF_List *command_list, u8 **out_data, u32 *out_data_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:47,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:52,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:53,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/bifs/bifs_codec.c:60,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/bifs/bifs_codec.c:70,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:64,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:41,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/bifs/bifs_codec.c:58,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:37,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:49,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:55,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:63,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/bifs/bifs_codec.c:71,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:42,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:44,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:45,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/bifs/bifs_codec.c:60,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:56,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:68,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/bifs_codec.c:66,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/bifs/bifs_codec.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - bs
    - info
    - version
    argTypes:
    - GF_BitStream*
    - BIFSStreamInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 74
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 74
    functionName: ParseConfig
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_align
    - gf_bs_get_size
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ParseConfig(GF_BitStream *bs, BIFSStreamInfo *info,
      u32 version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/bifs_codec.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_BifsDecoder*
    - u16
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: gf_bifs_dec_get_stream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: BIFSStreamInfo*
    signature: 'BIFSStreamInfo *gf_bifs_dec_get_stream(GF_BifsDecoder * codec, u16
      ESID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/bifs_codec.c:226,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:230,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/bifs_codec.c:231,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:227,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:226,1
    - Dst: bifs_info_del
      Src: /src/gpac/src/bifs/bifs_codec.c:232,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/bifs_codec.c:233,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:235,1
    - Dst: command_buffers_del
      Src: /src/gpac/src/bifs/bifs_codec.c:237,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: gf_bifs_decoder_del
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - command_buffers_del
    - gf_list_del
    - gf_list_count
    - bifs_info_del
    - gf_list_rem
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bifs_decoder_del(GF_BifsDecoder *codec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_get_stream
      Src: /src/gpac/src/bifs/bifs_codec.c:265,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/bifs/bifs_codec.c:275,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/bifs_codec.c:273,1
    - Dst: gf_bifs_dec_command
      Src: /src/gpac/src/bifs/bifs_codec.c:280,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/bifs_codec.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - codec
    - ESID
    - data
    - data_length
    - ts_offset
    argTypes:
    - GF_BifsDecoder*
    - u16
    - u8*
    - u32
    - Double
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: gf_bifs_decode_au
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_set_eos_callback
    - gf_bs_new
    - gf_bifs_dec_command
    - gf_bifs_dec_get_stream
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_decode_au(GF_BifsDecoder *codec, u16 ESID,
      const u8 *data, u32 data_length, Double ts_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/bifs_codec.c:295,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/bifs_codec.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - codec
    - nodeID
    argTypes:
    - GF_BifsEncoder*
    - u32
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: gf_bifs_enc_find_node
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_bifs_enc_find_node(GF_BifsEncoder *codec, u32 nodeID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/bifs_codec.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_BifsEncoder*
    - u16
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: BE_GetStream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: BIFSStreamInfo*
    signature: 'static BIFSStreamInfo *BE_GetStream(GF_BifsEncoder * codec, u16 ESID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mpeg4_node_get_child_ndt
      Src: /src/gpac/src/bifs/bifs_codec.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - Node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: gf_bifs_get_child_table
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_sg_mpeg4_node_get_child_ndt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bifs_get_child_table(GF_Node *Node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_aq_info
      Src: /src/gpac/src/bifs/bifs_codec.c:537,1
    - Dst: gf_sg_mpeg4_node_get_aq_info
      Src: /src/gpac/src/bifs/bifs_codec.c:539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - Node
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: gf_bifs_get_aq_info
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_aq_info
    - gf_sg_mpeg4_node_get_aq_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_bifs_get_aq_info(GF_Node *Node, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:136,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/bifs_codec.c:141,1
    - Dst: gf_bifs_dec_get_stream
      Src: /src/gpac/src/bifs/bifs_codec.c:144,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/bifs_codec.c:151,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:147,1
    - Dst: ParseConfig
      Src: /src/gpac/src/bifs/bifs_codec.c:156,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/bifs/bifs_codec.c:160,1
    - Dst: ParseConfig
      Src: /src/gpac/src/bifs/bifs_codec.c:162,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:167,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/bifs_codec.c:168,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/bifs_codec.c:171,1
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/bifs_codec.c:173,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:175,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/bifs/bifs_codec.c:176,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/bifs_codec.c:180,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - codec
    - ESID
    - DecoderSpecificInfo
    - DecoderSpecificInfoLength
    - objectTypeIndication
    argTypes:
    - GF_BifsDecoder*
    - u16
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 182
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 182
    functionName: gf_bifs_decoder_configure_stream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_list_count
    - gf_bs_new
    - gf_bs_seek
    - gf_bifs_dec_get_stream
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    - gf_sg_set_scene_size_info
    - ParseConfig
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_decoder_configure_stream(GF_BifsDecoder *
      codec, u16 ESID, u8 *DecoderSpecificInfo, u32 DecoderSpecificInfoLength, u32
      objectTypeIndication) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/bifs/bifs_codec.c:79,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:84,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/bifs/bifs_codec.c:81,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - BIFSStreamInfo*
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: bifs_info_del
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void bifs_info_del(BIFSStreamInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - co
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: BD_EndOfStream
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BD_EndOfStream(void *co) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/bifs_codec.c:306,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:308,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:311,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/bifs_codec.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - graph
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: gf_bifs_encoder_new
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BifsEncoder *gf_bifs_encoder_new(GF_SceneGraph *graph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/bifs_codec.c:331,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:332,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:334,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/bifs_codec.c:335,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/bifs_codec.c:331,1
    - Dst: bifs_info_del
      Src: /src/gpac/src/bifs/bifs_codec.c:336,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/bifs_codec.c:337,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:339,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/bifs_codec.c:340,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:341,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsEncoder*
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: gf_bifs_encoder_del
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - bifs_info_del
    - gf_list_rem
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bifs_encoder_del(GF_BifsEncoder *codec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_field_ind_static
      Src: /src/gpac/src/bifs/bifs_codec.c:514,1
    - Dst: gf_sg_script_get_field_index
      Src: /src/gpac/src/bifs/bifs_codec.c:519,1
    - Dst: gf_sg_mpeg4_node_get_field_index
      Src: /src/gpac/src/bifs/bifs_codec.c:523,1
    - Dst: gf_sg_mpeg4_node_get_field_count
      Src: /src/gpac/src/bifs/bifs_codec.c:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - Node
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: gf_bifs_get_field_index
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_sg_mpeg4_node_get_field_index
    - gf_sg_script_get_field_index
    - gf_sg_mpeg4_node_get_field_count
    - gf_sg_proto_get_field_ind_static
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_get_field_index(GF_Node *Node, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/bifs/bifs_codec.c:493,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/bifs_codec.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - codec
    - src_url
    argTypes:
    - GF_BifsEncoder*
    - char*
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: gf_bifs_encoder_set_source_url
    functionSourceFile: /src/gpac/src/bifs/bifs_codec.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bifs_encoder_set_source_url(GF_BifsEncoder *codec,
      const char *src_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_bifs_aa_model_init
      Src: /src/gpac/src/bifs/predictive_mffield.c:57,1
    - Dst: gp_bifs_aa_model_init
      Src: /src/gpac/src/bifs/predictive_mffield.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pmf
    argTypes:
    - PredMF*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: PMF_ResetModels
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - gp_bifs_aa_model_init
    linkageType: ''
    returnType: void
    signature: 'void PMF_ResetModels(PredMF *pmf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PMF_UnquantizeNormal
      Src: /src/gpac/src/bifs/predictive_mffield.c:145,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:154,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/predictive_mffield.c:151,1
    - Dst: PMF_UnquantizeRotation
      Src: /src/gpac/src/bifs/predictive_mffield.c:148,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:155,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:156,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:159,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:160,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:163,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:166,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:167,1
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:168,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - pmf
    - field
    argTypes:
    - PredMF*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: PMF_Unquantize
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - PMF_UnquantizeFloat
    - PMF_UnquantizeNormal
    - PMF_UnquantizeRotation
    - gf_sg_vrml_mf_get_item
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_Unquantize(PredMF *pmf, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:86,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:88,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:90,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:87,1
    - Dst: gf_tan
      Src: /src/gpac/src/bifs/predictive_mffield.c:87,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/bifs/predictive_mffield.c:90,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:94,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/predictive_mffield.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pmf
    - field
    argTypes:
    - PredMF*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: PMF_UnquantizeNormal
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - PMF_UnquantizeFloat
    - gf_tan
    - gf_mulfix
    - gf_sqrt
    - gf_sg_vrml_mf_get_item
    - gf_divfix
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_UnquantizeNormal(PredMF *pmf, GF_FieldInfo *field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:257,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:260,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:265,1
    - Dst: gp_bifs_aa_dec_reset
      Src: /src/gpac/src/bifs/predictive_mffield.c:268,1
    - Dst: PMF_Unquantize
      Src: /src/gpac/src/bifs/predictive_mffield.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pmf
    - bs
    - field
    argTypes:
    - PredMF*
    - GF_BitStream*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: PMF_ParseIValue
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - gp_bifs_aa_dec_reset
    - gf_bs_read_int
    - PMF_Unquantize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_ParseIValue(PredMF *pmf, GF_BitStream *bs, GF_FieldInfo
      *field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:70,1
    - Dst: INT2FIX
      Src: /src/gpac/src/bifs/predictive_mffield.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - vq
    - BMin
    - BMax
    - NbBits
    - unit_vector
    argTypes:
    - s32
    - Fixed
    - Fixed
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: PMF_UnquantizeFloat
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed PMF_UnquantizeFloat(s32 vq, Fixed BMin, Fixed BMax, u32 NbBits,
      Bool unit_vector) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PMF_UnquantizeFloat
      Src: /src/gpac/src/bifs/predictive_mffield.c:112,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:116,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:114,1
    - Dst: gf_tan
      Src: /src/gpac/src/bifs/predictive_mffield.c:113,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:113,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/bifs/predictive_mffield.c:116,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:120,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/predictive_mffield.c:122,1
    - Dst: gf_acos
      Src: /src/gpac/src/bifs/predictive_mffield.c:123,1
    - Dst: gf_sin
      Src: /src/gpac/src/bifs/predictive_mffield.c:124,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/predictive_mffield.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - pmf
    - field
    argTypes:
    - PredMF*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: PMF_UnquantizeRotation
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - PMF_UnquantizeFloat
    - gf_tan
    - gf_mulfix
    - gf_acos
    - gf_sqrt
    - gf_sg_vrml_mf_get_item
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_UnquantizeRotation(PredMF *pmf, GF_FieldInfo *field) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gp_bifs_aa_decode
      Src: /src/gpac/src/bifs/predictive_mffield.c:190,1
    - Dst: gp_bifs_aa_decode
      Src: /src/gpac/src/bifs/predictive_mffield.c:197,1
    - Dst: PMF_Unquantize
      Src: /src/gpac/src/bifs/predictive_mffield.c:249,1
    - Dst: abs
      Src: /src/gpac/src/bifs/predictive_mffield.c:219,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 3
    argNames:
    - pmf
    - bs
    - field
    argTypes:
    - PredMF*
    - GF_BitStream*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 250
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 250
    functionName: PMF_ParsePValue
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - gp_bifs_aa_decode
    - abs
    - PMF_Unquantize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_ParsePValue(PredMF *pmf, GF_BitStream *bs, GF_FieldInfo
      *field) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:352,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:360,1
    - Dst: gp_bifs_aa_model_new
      Src: /src/gpac/src/bifs/predictive_mffield.c:375,1
    - Dst: PMF_ParsePValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:391,1
    - Dst: PMF_UpdateArrayQP
      Src: /src/gpac/src/bifs/predictive_mffield.c:402,1
    - Dst: PMF_ParseIValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:405,1
    - Dst: PMF_ParsePValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:407,1
    - Dst: gp_bifs_aa_dec_resync_bit
      Src: /src/gpac/src/bifs/predictive_mffield.c:417,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:418,1
    - Dst: gp_bifs_aa_model_del
      Src: /src/gpac/src/bifs/predictive_mffield.c:442,1
    - Dst: gf_bifs_dec_qp14_get_bits
      Src: /src/gpac/src/bifs/predictive_mffield.c:319,1
    - Dst: Q_IsTypeOn
      Src: /src/gpac/src/bifs/predictive_mffield.c:325,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:351,1
    - Dst: gp_bifs_aa_model_new
      Src: /src/gpac/src/bifs/predictive_mffield.c:376,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:365,1
    - Dst: gp_bifs_aa_model_new
      Src: /src/gpac/src/bifs/predictive_mffield.c:378,1
    - Dst: PMF_ResetModels
      Src: /src/gpac/src/bifs/predictive_mffield.c:380,1
    - Dst: gp_bifs_aa_dec_resync
      Src: /src/gpac/src/bifs/predictive_mffield.c:398,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:399,1
    - Dst: gp_bifs_aa_dec_resync_bit
      Src: /src/gpac/src/bifs/predictive_mffield.c:436,1
    - Dst: gp_bifs_aa_dec_resync
      Src: /src/gpac/src/bifs/predictive_mffield.c:438,1
    - Dst: memset
      Src: /src/gpac/src/bifs/predictive_mffield.c:312,1
    - Dst: gf_bifs_get_aq_info
      Src: /src/gpac/src/bifs/predictive_mffield.c:314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:356,1
    - Dst: gp_bifs_aa_model_new
      Src: /src/gpac/src/bifs/predictive_mffield.c:377,1
    - Dst: PMF_ParseIValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:385,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/bifs/predictive_mffield.c:382,1
    - Dst: gp_bifs_aa_dec_get_bit
      Src: /src/gpac/src/bifs/predictive_mffield.c:414,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:350,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:355,1
    - Dst: gp_bifs_aa_dec_new
      Src: /src/gpac/src/bifs/predictive_mffield.c:374,1
    - Dst: PMF_UpdateArrayQP
      Src: /src/gpac/src/bifs/predictive_mffield.c:421,1
    - Dst: PMF_ParseIValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:424,1
    - Dst: PMF_ParsePValue
      Src: /src/gpac/src/bifs/predictive_mffield.c:426,1
    - Dst: gp_bifs_aa_dec_flush
      Src: /src/gpac/src/bifs/predictive_mffield.c:427,1
    - Dst: gp_bifs_aa_model_del
      Src: /src/gpac/src/bifs/predictive_mffield.c:444,1
    - Dst: gp_bifs_aa_model_del
      Src: /src/gpac/src/bifs/predictive_mffield.c:445,1
    - Dst: gp_bifs_aa_dec_del
      Src: /src/gpac/src/bifs/predictive_mffield.c:446,1
    - Dst: gp_bifs_aa_model_del
      Src: /src/gpac/src/bifs/predictive_mffield.c:443,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 112
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 448
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 448
    functionName: gf_bifs_dec_pred_mf_field
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - gf_bifs_get_aq_info
    - gp_bifs_aa_dec_resync
    - memset
    - gp_bifs_aa_model_new
    - gf_sg_vrml_mf_alloc
    - PMF_UpdateArrayQP
    - gp_bifs_aa_model_del
    - PMF_ParsePValue
    - gp_bifs_aa_dec_del
    - gf_bs_read_int
    - PMF_ResetModels
    - gp_bifs_aa_dec_flush
    - Q_IsTypeOn
    - gp_bifs_aa_dec_new
    - gp_bifs_aa_dec_get_bit
    - gf_bifs_dec_qp14_get_bits
    - PMF_ParseIValue
    - gp_bifs_aa_dec_resync_bit
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_pred_mf_field(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:285,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:280,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:283,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:287,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/predictive_mffield.c:290,1
    - Dst: PMF_ResetModels
      Src: /src/gpac/src/bifs/predictive_mffield.c:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pmf
    - bs
    argTypes:
    - PredMF*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 299
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 299
    functionName: PMF_UpdateArrayQP
    functionSourceFile: /src/gpac/src/bifs/predictive_mffield.c
    functionUses: []
    functionsReached:
    - PMF_ResetModels
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err PMF_UpdateArrayQP(PredMF *pmf, GF_BitStream *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_enc.c:70,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_enc.c:71,1
    - Dst: gf_bifs_enc_is_field_ised
      Src: /src/gpac/src/bifs/script_enc.c:108,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:110,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:87,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_enc.c:105,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:101,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/script_enc.c:125,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:73,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:74,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:113,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:130,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_enc.c:84,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/script_enc.c:84,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/script_enc.c:103,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:102,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:115,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/script_enc.c:68,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:77,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:79,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:80,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/script_enc.c:89,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_enc.c:105,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:119,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:123,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: EncScriptFields
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bifs_enc_is_field_ised
    - gf_sg_proto_get_field_count
    - gf_strdup
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_bifs_enc_name
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err EncScriptFields(ScriptEnc *sc_enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sc_enc
    - token
    argTypes:
    - ScriptEnc*
    - u32
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: SFE_CheckToken
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'Bool SFE_CheckToken(ScriptEnc *sc_enc, u32 token) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:914,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:916,1
    - Dst: SFE_CaseBlock
      Src: /src/gpac/src/bifs/script_enc.c:935,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:944,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:949,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:932,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:936,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:960,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:909,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:912,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:925,1
    - Dst: SFE_PutCaseInteger
      Src: /src/gpac/src/bifs/script_enc.c:929,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:953,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:962,1
    - Dst: SFE_CaseBlock
      Src: /src/gpac/src/bifs/script_enc.c:963,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:967,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:917,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:927,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:933,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:946,1
    - Dst: SFE_PutCaseInteger
      Src: /src/gpac/src/bifs/script_enc.c:950,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:913,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:910,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:928,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:948,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:952,1
    - Dst: SFE_CaseBlock
      Src: /src/gpac/src/bifs/script_enc.c:955,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:956,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:961,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 968
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 968
    functionName: SFE_SwitchStatement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CaseBlock
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    - SFE_CheckToken
    - SFE_NextToken
    - SFE_PutCaseInteger
    linkageType: ''
    returnType: void
    signature: 'void SFE_SwitchStatement(ScriptEnc *sc_enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1011,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1016,1
    - Dst: SFE_Statement
      Src: /src/gpac/src/bifs/script_enc.c:1014,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1017
    functionName: SFE_Statements
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_WRITE_INT
    - SFE_NextToken
    - SFE_Statement
    linkageType: ''
    returnType: void
    signature: 'void SFE_Statements(ScriptEnc *sc_enc) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/script_enc.c:1259,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 4
    argCount: 1
    argNames:
    - tok
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1262
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1262
    functionName: TOK_To_ET
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: u32
    signature: 'u32 TOK_To_ET(u32 tok) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1727,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1729,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1730,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1728,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1732,1
    - Dst: SFE_Params
      Src: /src/gpac/src/bifs/script_enc.c:1733,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sc_enc
    - start
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1736
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1736
    functionName: SFE_FunctionCall
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Params
    - gf_list_get
    - CHECK_TOK
    - gf_list_rem
    - SFE_PutIdentifier
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SFE_FunctionCall(ScriptEnc *sc_enc, u32 start, u32 end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1793,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1795,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1796,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1798,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1797,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1799,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1801,1
    - Dst: SFE_Params
      Src: /src/gpac/src/bifs/script_enc.c:1802,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - sc_enc
    - start
    - op
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1805
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1805
    functionName: SFE_ObjectConstruct
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Params
    - gf_list_get
    - CHECK_TOK
    - gf_list_rem
    - SFE_PutIdentifier
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SFE_ObjectConstruct(ScriptEnc *sc_enc, u32 start, u32 op, u32
      end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/script_enc.c:591,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:600,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/script_enc.c:595,1
    - Dst: strcmp
      Src: /src/gpac/src/bifs/script_enc.c:592,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:601,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:604,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_enc.c:605,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_enc.c:605,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/script_enc.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - sc_enc
    - id
    argTypes:
    - ScriptEnc*
    - char*
    constantsTouched: []
    func_position:
      end: 607
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 607
    functionName: SFE_PutIdentifier
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_bifs_enc_name
    - GF_BIFS_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'void SFE_PutIdentifier(ScriptEnc *sc_enc, char *id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:974,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:982,1
    - Dst: SFE_ForStatement
      Src: /src/gpac/src/bifs/script_enc.c:979,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:978,1
    - Dst: SFE_IfStatement
      Src: /src/gpac/src/bifs/script_enc.c:975,1
    - Dst: SFE_WhileStatement
      Src: /src/gpac/src/bifs/script_enc.c:983,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:986,1
    - Dst: SFE_ReturnStatement
      Src: /src/gpac/src/bifs/script_enc.c:987,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:990,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:991,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:994,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:995,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1002,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:998,1
    - Dst: SFE_SwitchStatement
      Src: /src/gpac/src/bifs/script_enc.c:999,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:1003,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 1006
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1006
    functionName: SFE_Statement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_ReturnStatement
    - SFE_CompoundExpression
    - SFE_WhileStatement
    - SFE_WRITE_INT
    - SFE_SwitchStatement
    - SFE_NextToken
    - SFE_ForStatement
    - SFE_IfStatement
    linkageType: ''
    returnType: void
    signature: 'void SFE_Statement(ScriptEnc *sc_enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1021,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1026,1
    - Dst: SFE_Statement
      Src: /src/gpac/src/bifs/script_enc.c:1027,1
    - Dst: SFE_Statements
      Src: /src/gpac/src/bifs/script_enc.c:1024,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1029
    functionName: SFE_StatementBlock
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_WRITE_INT
    - SFE_NextToken
    - SFE_Statement
    - SFE_Statements
    linkageType: ''
    returnType: void
    signature: 'void SFE_StatementBlock(ScriptEnc *sc_enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1743,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1745,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1747,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1749,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1748,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1750,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sc_enc
    - start
    - op
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1752
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1752
    functionName: SFE_ObjectMemberAccess
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Expression
    - gf_list_get
    - CHECK_TOK
    - gf_list_rem
    - SFE_PutIdentifier
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SFE_ObjectMemberAccess(ScriptEnc *sc_enc, u32 start, u32 op,
      u32 end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1811,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1813,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1816,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1815,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1818,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sc_enc
    - start
    - op
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1820
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1820
    functionName: SFE_ConditionTest
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Expression
    - CHECK_TOK
    - MoveToToken
    linkageType: ''
    returnType: void
    signature: 'void SFE_ConditionTest(ScriptEnc *sc_enc, u32 start, u32 op, u32 end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:630,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:631,1
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:634,1
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:632,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:636,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_enc.c:640,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:641,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - sc_enc
    - str
    argTypes:
    - ScriptEnc*
    - char*
    constantsTouched: []
    func_position:
      end: 643
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 643
    functionName: SFE_PutInteger
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - isdigit
    - strtoul
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    linkageType: ''
    returnType: void
    signature: 'void SFE_PutInteger(ScriptEnc *sc_enc, char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1828,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1831,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:1829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sc_enc
    - start
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1833
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1833
    functionName: SFE_Params
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'void SFE_Params(ScriptEnc *sc_enc, u32 start, u32 end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:613,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:617,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:616,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: SFE_Arguments
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - GF_BIFS_WRITE_INT
    - SFE_NextToken
    - SFE_PutIdentifier
    linkageType: ''
    returnType: void
    signature: 'void SFE_Arguments(ScriptEnc *sc_enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:744,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - sc_enc
    - start
    - end
    - expr_sep
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: SFE_ScanExpression
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - MoveToToken
    linkageType: ''
    returnType: u32
    signature: 'u32 SFE_ScanExpression(ScriptEnc *sc_enc, u32 start, u32 end, u32
      *expr_sep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFE_LoadExpression
      Src: /src/gpac/src/bifs/script_enc.c:769,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:775,1
    - Dst: SFE_ScanExpression
      Src: /src/gpac/src/bifs/script_enc.c:772,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:778,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:777,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - sc_enc
    - start
    - end
    - isPar
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 781
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 781
    functionName: SFE_CompoundExpression
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_LoadExpression
    - SFE_ScanExpression
    - SFE_Expression
    - SFE_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'void SFE_CompoundExpression(ScriptEnc *sc_enc, u32 start, u32 end,
      u32 isPar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:839,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:841,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:843,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:840,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:842,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: SFE_WhileStatement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_StatementBlock
    - SFE_NextToken
    - SFE_CheckToken
    linkageType: ''
    returnType: void
    signature: 'void SFE_WhileStatement(ScriptEnc *sc_enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1034,1
    - Dst: strcpy
      Src: /src/gpac/src/bifs/script_enc.c:1039,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1037,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:1035,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:1038,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1040,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1042,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:1043,1
    - Dst: SFE_Arguments
      Src: /src/gpac/src/bifs/script_enc.c:1045,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:1046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1049
    functionName: SFE_Function
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Arguments
    - strcpy
    - SFE_CheckToken
    - GF_LOG
    - SFE_StatementBlock
    - SFE_NextToken
    - SFE_PutIdentifier
    linkageType: ''
    returnType: void
    signature: 'void SFE_Function(ScriptEnc *sc_enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/bifs/script_enc.c:1167,1
    - Dst: strcmp
      Src: /src/gpac/src/bifs/script_enc.c:1167,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sc_enc
    - str
    argTypes:
    - ScriptEnc*
    - char*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1169
    functionName: SFE_PutBoolean
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - stricmp
    - SFE_WRITE_INT
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void SFE_PutBoolean(ScriptEnc *sc_enc, char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:786,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:789,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 791
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 791
    functionName: SFE_OptionalExpression
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'void SFE_OptionalExpression(ScriptEnc *sc_enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:850,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:852,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:855,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: SFE_ReturnStatement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    - SFE_NextToken
    linkageType: ''
    returnType: void
    signature: 'void SFE_ReturnStatement(ScriptEnc *sc_enc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/script_enc.c:1062,1
    - Dst: strnicmp
      Src: /src/gpac/src/bifs/script_enc.c:1081,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1106,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1107,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1067,1
    - Dst: EncScriptFields
      Src: /src/gpac/src/bifs/script_enc.c:1070,1
    - Dst: strchr
      Src: /src/gpac/src/bifs/script_enc.c:1093,1
    - Dst: strnicmp
      Src: /src/gpac/src/bifs/script_enc.c:1083,1
    - Dst: SFE_Function
      Src: /src/gpac/src/bifs/script_enc.c:1098,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/script_enc.c:1111,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1114,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/script_enc.c:1056,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1097,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/script_enc.c:1104,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1101,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/script_enc.c:1109,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1112,1
    - Dst: memset
      Src: /src/gpac/src/bifs/script_enc.c:1058,1
    - Dst: gf_list_new
      Src: /src/gpac/src/bifs/script_enc.c:1063,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1068,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1073,1
    - Dst: strnicmp
      Src: /src/gpac/src/bifs/script_enc.c:1082,1
    - Dst: strnicmp
      Src: /src/gpac/src/bifs/script_enc.c:1086,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1105,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1113,1
    - Dst: gf_list_del
      Src: /src/gpac/src/bifs/script_enc.c:1116,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - codec
    - script_field
    - bs
    - n
    argTypes:
    - GF_BifsEncoder*
    - SFScript*
    - GF_BitStream*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1119
    functionName: SFScript_Encode
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_get_tag
    - memset
    - gf_list_del
    - gf_list_count
    - gf_free
    - SFE_Function
    - strchr
    - gf_list_rem
    - strnicmp
    - gf_list_new
    - GF_BIFS_WRITE_INT
    - EncScriptFields
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err SFScript_Encode(GF_BifsEncoder *codec, SFScript *script_field,
      GF_BitStream *bs, GF_Node *n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1405,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - sc_enc
    - endTok
    - cur
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1416
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1416
    functionName: MoveToToken
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 MoveToToken(ScriptEnc *sc_enc, u32 endTok, u32 cur, u32 end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:296,1
    - Dst: toupper
      Src: /src/gpac/src/bifs/script_enc.c:297,1
    - Dst: toupper
      Src: /src/gpac/src/bifs/script_enc.c:298,1
    - Dst: toupper
      Src: /src/gpac/src/bifs/script_enc.c:298,1
    - Dst: tolower
      Src: /src/gpac/src/bifs/script_enc.c:300,1
    - Dst: tolower
      Src: /src/gpac/src/bifs/script_enc.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: SFE_GetNumber
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - isdigit
    - tolower
    - GF_LOG
    - toupper
    linkageType: ''
    returnType: Bool
    signature: 'Bool SFE_GetNumber(ScriptEnc *sc_enc) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_enc.c:672,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_enc.c:672,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:698,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_enc.c:701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_enc.c:701,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:716,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/script_enc.c:722,1
    - Dst: gf_strdup
      Src: /src/gpac/src/bifs/script_enc.c:722,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 72
    argCount: 2
    argNames:
    - sc_enc
    - expr_sep
    argTypes:
    - ScriptEnc*
    - u32*
    constantsTouched: []
    func_position:
      end: 730
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 730
    functionName: SFE_LoadExpression
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - SFE_NextToken
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 SFE_LoadExpression(ScriptEnc *sc_enc, u32 *expr_sep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:797,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:800,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:799,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:798,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:801,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:802,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:806,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:808,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:809,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 815
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 815
    functionName: SFE_IfStatement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    - SFE_CheckToken
    - SFE_StatementBlock
    - SFE_NextToken
    linkageType: ''
    returnType: void
    signature: 'void SFE_IfStatement(ScriptEnc *sc_enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:861,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:866,1
    - Dst: SFE_Statement
      Src: /src/gpac/src/bifs/script_enc.c:867,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:862,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:864,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:868,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:870,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:873,1
    - Dst: SFE_Statement
      Src: /src/gpac/src/bifs/script_enc.c:874,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:875,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 878
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 878
    functionName: SFE_CaseBlock
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_WRITE_INT
    - SFE_NextToken
    - SFE_Statement
    linkageType: ''
    returnType: void
    signature: 'void SFE_CaseBlock(ScriptEnc *sc_enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/bifs/script_enc.c:1125,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1130,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1142,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1138,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1145,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - sc_enc
    - str
    argTypes:
    - ScriptEnc*
    - char*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1151
    functionName: SFE_PutReal
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - SFE_WRITE_INT
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void SFE_PutReal(ScriptEnc *sc_enc, char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1759,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1763,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1765,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1764,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1761,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1766,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1767,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1769,1
    - Dst: SFE_Params
      Src: /src/gpac/src/bifs/script_enc.c:1770,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - sc_enc
    - start
    - op
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1773
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1773
    functionName: SFE_ObjectMethodCall
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Params
    - SFE_Expression
    - gf_list_get
    - CHECK_TOK
    - gf_list_rem
    - SFE_PutIdentifier
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void SFE_ObjectMethodCall(ScriptEnc *sc_enc, u32 start, u32 op, u32
      end) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/bifs/script_enc.c:322,1
    - Dst: isalnum
      Src: /src/gpac/src/bifs/script_enc.c:342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:331,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:337,1
    - Dst: isalpha
      Src: /src/gpac/src/bifs/script_enc.c:341,1
    - Dst: strcmp
      Src: /src/gpac/src/bifs/script_enc.c:351,1
    - Dst: stricmp
      Src: /src/gpac/src/bifs/script_enc.c:356,1
    - Dst: stricmp
      Src: /src/gpac/src/bifs/script_enc.c:356,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:362,1
    - Dst: SFE_GetNumber
      Src: /src/gpac/src/bifs/script_enc.c:362,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:387,1
    - Dst: SFE_GetNumber
      Src: /src/gpac/src/bifs/script_enc.c:388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:565,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 214
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 571
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 571
    functionName: SFE_NextToken
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - isalpha
    - isalnum
    - GF_LOG
    - strcmp
    - isdigit
    - SFE_NextToken
    - strchr
    - stricmp
    - SFE_GetNumber
    linkageType: ''
    returnType: Bool
    signature: 'Bool SFE_NextToken(ScriptEnc *sc_enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:819,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:824,1
    - Dst: SFE_OptionalExpression
      Src: /src/gpac/src/bifs/script_enc.c:823,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:820,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:822,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:826,1
    - Dst: SFE_OptionalExpression
      Src: /src/gpac/src/bifs/script_enc.c:827,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:828,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:830,1
    - Dst: SFE_OptionalExpression
      Src: /src/gpac/src/bifs/script_enc.c:831,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:832,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - sc_enc
    argTypes:
    - ScriptEnc*
    constantsTouched: []
    func_position:
      end: 835
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 835
    functionName: SFE_ForStatement
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_OptionalExpression
    - SFE_StatementBlock
    - SFE_NextToken
    - SFE_CheckToken
    linkageType: ''
    returnType: void
    signature: 'void SFE_ForStatement(ScriptEnc *sc_enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:884,1
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:886,1
    - Dst: strtoul
      Src: /src/gpac/src/bifs/script_enc.c:888,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:887,1
    - Dst: isdigit
      Src: /src/gpac/src/bifs/script_enc.c:885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:890,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:895,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/script_enc.c:897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - sc_enc
    - str
    - nbBits
    argTypes:
    - ScriptEnc*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 900
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 900
    functionName: SFE_PutCaseInteger
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - isdigit
    - strtoul
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    linkageType: ''
    returnType: u32
    signature: 'u32 SFE_PutCaseInteger(ScriptEnc *sc_enc, char *str, u32 nbBits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gpac/src/bifs/script_enc.c:1155,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1159,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1156,1
    - Dst: SFE_PutInteger
      Src: /src/gpac/src/bifs/script_enc.c:1157,1
    - Dst: SFE_PutReal
      Src: /src/gpac/src/bifs/script_enc.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sc_enc
    - str
    argTypes:
    - ScriptEnc*
    - char*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1162
    functionName: SFE_PutNumber
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - strpbrk
    - SFE_WRITE_INT
    - SFE_PutReal
    - SFE_PutInteger
    linkageType: ''
    returnType: void
    signature: 'void SFE_PutNumber(ScriptEnc *sc_enc, char *str) '
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1479,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1462,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1467,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1578,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1639,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1640,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1649,1
    - Dst: SFE_PutBoolean
      Src: /src/gpac/src/bifs/script_enc.c:1651,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1652,1
    - Dst: SFE_ObjectConstruct
      Src: /src/gpac/src/bifs/script_enc.c:1698,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1704,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1667,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1481,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1607,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1634,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1658,1
    - Dst: SFE_PutIdentifier
      Src: /src/gpac/src/bifs/script_enc.c:1660,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1661,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1663,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/script_enc.c:1668,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:1679,1
    - Dst: SFE_FunctionCall
      Src: /src/gpac/src/bifs/script_enc.c:1686,1
    - Dst: SFE_ObjectMethodCall
      Src: /src/gpac/src/bifs/script_enc.c:1692,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:1710,1
    - Dst: SFE_StatementBlock
      Src: /src/gpac/src/bifs/script_enc.c:1708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1666,1
    - Dst: SFE_CheckToken
      Src: /src/gpac/src/bifs/script_enc.c:1705,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1470,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1532,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1622,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1570,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1624,1
    - Dst: SFE_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1584,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1643,1
    - Dst: SFE_PutNumber
      Src: /src/gpac/src/bifs/script_enc.c:1645,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1646,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/script_enc.c:1650,1
    - Dst: SFE_Arguments
      Src: /src/gpac/src/bifs/script_enc.c:1707,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1457,1
    - Dst: MoveToToken
      Src: /src/gpac/src/bifs/script_enc.c:1482,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1540,1
    - Dst: TOK_To_ET
      Src: /src/gpac/src/bifs/script_enc.c:1544,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1633,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/script_enc.c:1656,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1676,1
    - Dst: SFE_ObjectMemberAccess
      Src: /src/gpac/src/bifs/script_enc.c:1689,1
    - Dst: SFE_ArrayDereference
      Src: /src/gpac/src/bifs/script_enc.c:1695,1
    - Dst: SFE_ConditionTest
      Src: /src/gpac/src/bifs/script_enc.c:1701,1
    - Dst: SFE_NextToken
      Src: /src/gpac/src/bifs/script_enc.c:1709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/script_enc.c:1713,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/script_enc.c:1659,1
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1683,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/bifs/script_enc.c:1713,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/script_enc.c:1669,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 203
    argCount: 4
    argNames:
    - sc_enc
    - start
    - end
    - memberAccess
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1718
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1718
    functionName: SFE_Expression
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_Arguments
    - SFE_CompoundExpression
    - SFE_WRITE_INT
    - GF_LOG
    - SFE_NextToken
    - GF_BIFS_WRITE_INT
    - SFE_ObjectMemberAccess
    - MoveToToken
    - SFE_CheckToken
    - SFE_ArrayDereference
    - SFE_PutIdentifier
    - GF_ARRAY_LENGTH
    - SFE_PutNumber
    - SFE_Expression
    - gf_list_get
    - SFE_ObjectConstruct
    - SFE_ObjectMethodCall
    - SFE_StatementBlock
    - gf_free
    - SFE_FunctionCall
    - SFE_ConditionTest
    - TOK_To_ET
    - CHECK_TOK
    - gf_list_rem
    - SFE_PutBoolean
    - gf_bifs_enc_name
    linkageType: ''
    returnType: u32
    signature: 'u32 SFE_Expression(ScriptEnc *sc_enc, u32 start, u32 end, Bool memberAccess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFE_Expression
      Src: /src/gpac/src/bifs/script_enc.c:1779,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1781,1
    - Dst: CHECK_TOK
      Src: /src/gpac/src/bifs/script_enc.c:1784,1
    - Dst: SFE_CompoundExpression
      Src: /src/gpac/src/bifs/script_enc.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - sc_enc
    - start
    - op
    - end
    argTypes:
    - ScriptEnc*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1785
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1785
    functionName: SFE_ArrayDereference
    functionSourceFile: /src/gpac/src/bifs/script_enc.c
    functionUses: []
    functionsReached:
    - SFE_CompoundExpression
    - SFE_Expression
    - CHECK_TOK
    linkageType: ''
    returnType: void
    signature: 'void SFE_ArrayDereference(ScriptEnc *sc_enc, u32 start, u32 op, u32
      end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_encode.c:39,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/field_encode.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - node
    - all_ind
    - indexMode
    - outField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: gf_bifs_field_index_by_mode
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_bifs_get_field_index
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_field_index_by_mode(GF_Node *node, u32 all_ind, u8
      indexMode, u32 *outField) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:78,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:84,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:89,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:110,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/bifs/field_encode.c:100,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:129,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:160,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:177,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:178,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_encode.c:189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:195,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/field_encode.c:192,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:202,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:228,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:166,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:148,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/field_encode.c:214,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:76,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:77,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:81,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:88,1
    - Dst: gf_fsize
      Src: /src/gpac/src/bifs/field_encode.c:108,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:90,1
    - Dst: gf_fread
      Src: /src/gpac/src/bifs/field_encode.c:114,1
    - Dst: gf_fclose
      Src: /src/gpac/src/bifs/field_encode.c:118,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/field_encode.c:126,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:131,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/bifs/field_encode.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:200,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/field_encode.c:164,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:182,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/field_encode.c:230,1
    - Dst: gf_bifs_enc_quant_field
      Src: /src/gpac/src/bifs/field_encode.c:68,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:104,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:134,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:154,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:165,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:167,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/field_encode.c:168,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:179,1
    - Dst: gf_bifs_enc_commands
      Src: /src/gpac/src/bifs/field_encode.c:196,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:208,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:152,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:153,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:231,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:201,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/field_encode.c:181,1
    - Dst: SFScript_Encode
      Src: /src/gpac/src/bifs/field_encode.c:218,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/field_encode.c:228,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:73,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:87,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:111,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_encode.c:107,1
    - Dst: gf_fopen
      Src: /src/gpac/src/bifs/field_encode.c:102,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/bifs/field_encode.c:115,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/field_encode.c:132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:136,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/bifs/field_encode.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:143,1
    - Dst: BE_WriteSFFloat
      Src: /src/gpac/src/bifs/field_encode.c:147,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:169,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:227,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:204,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/bifs/field_encode.c:198,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/bifs/field_encode.c:197,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_encode.c:227,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 133
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 238
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 238
    functionName: gf_bifs_enc_sf_field
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_write_data
    - GF_LOG
    - GF_BIFS_WRITE_INT
    - gf_node_get_num_fields_in_mode
    - gf_bs_del
    - gf_bs_write_double
    - gf_list_count
    - gf_fsize
    - gf_bifs_enc_node
    - gf_node_get_id
    - gf_bs_write_int
    - gf_fopen
    - BE_WriteSFFloat
    - SFScript_Encode
    - gf_bifs_field_index_by_mode
    - gf_fread
    - gf_bs_new
    - gf_free
    - gf_get_bit_size
    - gf_url_concatenate
    - gf_bifs_enc_commands
    - gf_fclose
    - gf_bifs_enc_quant_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_sf_field(GF_BifsEncoder *codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/field_encode.c:336,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/field_encode.c:337,1
    - Dst: gf_bifs_enc_mf_field
      Src: /src/gpac/src/bifs/field_encode.c:345,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: gf_bifs_enc_field
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_is_sf_field
    - GF_BIFS_WRITE_INT
    - gf_bifs_enc_mf_field
    - gf_bifs_enc_sf_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_field(GF_BifsEncoder * codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/bifs/field_encode.c:408,1
    - Dst: gf_bifs_enc_is_field_ised
      Src: /src/gpac/src/bifs/field_encode.c:501,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:506,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:536,1
    - Dst: gf_bifs_field_index_by_mode
      Src: /src/gpac/src/bifs/field_encode.c:535,1
    - Dst: gf_bifs_enc_field
      Src: /src/gpac/src/bifs/field_encode.c:541,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:401,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/field_encode.c:455,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:504,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:508,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:509,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:512,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:526,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:529,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:538,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:390,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_encode.c:390,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/bifs/field_encode.c:406,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_encode.c:435,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_encode.c:466,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_encode.c:412,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:412,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:490,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:514,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:523,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:389,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_encode.c:396,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/field_encode.c:389,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:400,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_encode.c:410,1
    - Dst: gf_bifs_enc_is_field_ised
      Src: /src/gpac/src/bifs/field_encode.c:427,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/bifs/field_encode.c:467,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_encode.c:414,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/field_encode.c:422,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_encode.c:474,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:494,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_encode.c:520,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_encode.c:547,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:545,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 127
    argCount: 3
    argNames:
    - codec
    - bs
    - node
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 549
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 549
    functionName: EncNodeFields
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bifs_field_index_by_mode
    - gf_bifs_enc_is_field_ised
    - gf_sg_proto_create_instance
    - gf_sg_proto_get_field_count
    - gf_sg_vrml_field_equal
    - gf_list_count
    - gf_node_get_field
    - gf_bifs_enc_field
    - gf_node_new
    - gf_bifs_get_field_index
    - gf_free
    - gf_node_register
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_node_unregister
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err EncNodeFields(GF_BifsEncoder * codec, GF_BitStream *bs, GF_Node
      *node) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/bifs/field_encode.c:257,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_encode.c:271,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:265,1
    - Dst: gf_bifs_enc_qp_remove
      Src: /src/gpac/src/bifs/field_encode.c:316,1
    - Dst: gf_bifs_enc_sf_field
      Src: /src/gpac/src/bifs/field_encode.c:294,1
    - Dst: gf_bifs_enc_node
      Src: /src/gpac/src/bifs/field_encode.c:297,1
    - Dst: gf_bifs_enc_qp_set
      Src: /src/gpac/src/bifs/field_encode.c:303,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/field_encode.c:293,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:260,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:276,1
    - Dst: gf_bifs_enc_qp_remove
      Src: /src/gpac/src/bifs/field_encode.c:323,1
    - Dst: gf_bifs_enc_qp_remove
      Src: /src/gpac/src/bifs/field_encode.c:302,1
    - Dst: gf_bifs_enc_qp14_set_length
      Src: /src/gpac/src/bifs/field_encode.c:325,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:263,1
    - Dst: memset
      Src: /src/gpac/src/bifs/field_encode.c:280,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:290,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:322,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:274,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:277,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/field_encode.c:282,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsEncoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 327
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 327
    functionName: gf_bifs_enc_mf_field
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - gf_bifs_enc_qp14_set_length
    - memset
    - gf_bifs_enc_qp_remove
    - gf_bifs_enc_node
    - gf_sg_vrml_mf_get_item
    - gf_bifs_enc_sf_field
    - gf_bifs_enc_qp_set
    - GF_BIFS_WRITE_INT
    - gf_get_bit_size
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_mf_field(GF_BifsEncoder *codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_enc_mantissa_float
      Src: /src/gpac/src/bifs/field_encode.c:55,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:58,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/bifs/field_encode.c:57,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/field_encode.c:57,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/bifs/field_encode.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - codec
    - val
    - bs
    - com
    argTypes:
    - GF_BifsEncoder*
    - Fixed
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: BE_WriteSFFloat
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_bifs_enc_mantissa_float
    - GF_LOG
    - gf_bs_write_float
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'void BE_WriteSFFloat(GF_BifsEncoder *codec, Fixed val, GF_BitStream
      *bs, char *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/field_encode.c:554,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/field_encode.c:559,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/field_encode.c:555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/field_encode.c:557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - codec
    - node
    argTypes:
    - GF_BifsEncoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: BE_NodeIsUSE
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_list_get
    - gf_node_get_id
    linkageType: ''
    returnType: Bool
    signature: 'Bool BE_NodeIsUSE(GF_BifsEncoder * codec, GF_Node *node) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BE_NodeIsUSE
      Src: /src/gpac/src/bifs/field_encode.c:580,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_encode.c:571,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/field_encode.c:585,1
    - Dst: gf_bifs_enc_find_node
      Src: /src/gpac/src/bifs/field_encode.c:586,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:597,1
    - Dst: gf_bifs_enc_qp14_set_length
      Src: /src/gpac/src/bifs/field_encode.c:604,1
    - Dst: gf_bifs_get_ndt_bits
      Src: /src/gpac/src/bifs/field_encode.c:616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:626,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:640,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:571,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_encode.c:581,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/bifs/field_encode.c:585,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/bifs/field_encode.c:586,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:605,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_encode.c:591,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_encode.c:626,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:642,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:655,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:576,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:581,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:595,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:618,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_encode.c:624,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_encode.c:624,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/bifs/field_encode.c:639,1
    - Dst: EncNodeFields
      Src: /src/gpac/src/bifs/field_encode.c:658,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:575,1
    - Dst: gf_bifs_enc_qp14_set_length
      Src: /src/gpac/src/bifs/field_encode.c:596,1
    - Dst: gf_bifs_get_node_type
      Src: /src/gpac/src/bifs/field_encode.c:615,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:603,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_encode.c:624,1
    - Dst: GF_BIFS_WRITE_INT
      Src: /src/gpac/src/bifs/field_encode.c:633,1
    - Dst: gf_bifs_enc_name
      Src: /src/gpac/src/bifs/field_encode.c:643,1
    - Dst: gf_bifs_enc_qp14_reset
      Src: /src/gpac/src/bifs/field_encode.c:662,1
    - Dst: gf_bifs_enc_qp14_enter
      Src: /src/gpac/src/bifs/field_encode.c:667,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 78
    argCount: 5
    argNames:
    - codec
    - node
    - NDT_Tag
    - bs
    - parent_node
    argTypes:
    - GF_BifsEncoder*
    - GF_Node*
    - u32
    - GF_BitStream*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 671
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 671
    functionName: gf_bifs_enc_node
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_bifs_enc_qp14_reset
    - gf_bifs_enc_qp14_set_length
    - BE_NodeIsUSE
    - gf_bifs_enc_qp14_enter
    - gf_bifs_get_node_type
    - gf_node_get_tag
    - gf_bifs_enc_find_node
    - GF_LOG
    - gf_node_get_name_and_id
    - EncNodeFields
    - gf_node_get_id
    - gf_bifs_enc_name
    - gf_node_get_class_name
    - gf_bs_write_int
    - GF_BIFS_WRITE_INT
    - gf_bifs_get_ndt_bits
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_enc_node(GF_BifsEncoder * codec, GF_Node *node, u32
      NDT_Tag, GF_BitStream *bs, GF_Node *parent_node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/field_encode.c:357,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/bifs/field_encode.c:365,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 3
    argNames:
    - codec
    - node
    - fieldIndex
    argTypes:
    - GF_BifsEncoder*
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: gf_bifs_enc_is_field_ised
    functionSourceFile: /src/gpac/src/bifs/field_encode.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Route*
    signature: 'GF_Route *gf_bifs_enc_is_field_ised(GF_BifsEncoder *codec, GF_Node
      *node, u32 fieldIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:869,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:877,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:871,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:875,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:873,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:879,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:881,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: NDT_V7_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V7_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 970
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 970
    functionName: NDT_V9_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V9_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 912
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 912
    functionName: NDT_V8_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V8_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 985
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 985
    functionName: NDT_V9_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V9_GetNumBits(u32 NDT_Tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - table
    - count
    - NodeTag
    - Version
    argTypes:
    - u32*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: ALL_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 ALL_GetNodeType(const u32 *table, const u32 count, u32 NodeTag,
      u32 Version) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 376
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 376
    functionName: NDT_V2_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V2_GetNumBits(u32 NDT_Tag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 432
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 432
    functionName: NDT_V3_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V3_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 510
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 510
    functionName: NDT_V4_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V4_GetNumBits(u32 NDT_Tag) '
  - BBCount: 45
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 25
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 605
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 605
    functionName: NDT_V5_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V5_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: NDT_V7_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V7_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 65
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 35
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 159
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 159
    functionName: NDT_V1_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V1_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:383,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:391,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:389,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:387,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:385,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:393,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:395,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:397,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:399,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 405
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 405
    functionName: NDT_V2_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V2_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: NDT_V3_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V3_GetNumBits(u32 NDT_Tag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:517,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:523,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:521,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:519,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: NDT_V4_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V4_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 656
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 656
    functionName: NDT_V5_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V5_GetNumBits(u32 NDT_Tag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 862
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 862
    functionName: NDT_V7_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V7_GetNumBits(u32 NDT_Tag) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:671,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:679,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:691,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:687,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:699,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:669,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:677,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:697,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:685,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:689,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:667,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:675,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:683,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:695,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:703,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:663,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:665,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:673,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:681,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:693,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:701,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 26
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 707
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 707
    functionName: NDT_V5_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V5_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 929
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 929
    functionName: NDT_V8_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V8_GetNumBits(u32 NDT_Tag) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 13
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 749
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 749
    functionName: NDT_V6_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V6_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:936,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:940,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:938,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 946
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 946
    functionName: NDT_V8_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V8_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NDT_V1_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1125,1
    - Dst: NDT_V3_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1129,1
    - Dst: NDT_V5_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1133,1
    - Dst: NDT_V4_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1131,1
    - Dst: NDT_V2_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1127,1
    - Dst: NDT_V6_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1135,1
    - Dst: NDT_V7_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1137,1
    - Dst: NDT_V8_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1139,1
    - Dst: NDT_V9_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1141,1
    - Dst: NDT_V10_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - NDT_Tag
    - NodeTag
    - Version
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1147
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1147
    functionName: gf_bifs_get_node_type
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - NDT_V8_GetNodeType
    - NDT_V7_GetNodeType
    - NDT_V9_GetNodeType
    - NDT_V1_GetNodeType
    - NDT_V2_GetNodeType
    - NDT_V3_GetNodeType
    - NDT_V10_GetNodeType
    - NDT_V6_GetNodeType
    - NDT_V5_GetNodeType
    - NDT_V4_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bifs_get_node_type(u32 NDT_Tag, u32 NodeTag, u32 Version) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:241,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:249,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:269,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:261,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:277,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:281,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:289,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:297,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:239,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:247,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:255,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:267,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:259,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:275,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:279,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:287,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:295,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:245,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:253,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:257,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:273,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:265,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:285,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:293,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:237,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:243,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:251,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:263,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:271,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:283,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:291,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 36
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 301
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 301
    functionName: NDT_V1_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V1_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:456,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:458,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:462,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 466
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 466
    functionName: NDT_V3_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V3_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 776
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 776
    functionName: NDT_V6_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V6_GetNumBits(u32 NDT_Tag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:992,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:994,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:996,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1000
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1000
    functionName: NDT_V9_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V9_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: NDT_V10_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V10_GetNumBits(u32 NDT_Tag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NDT_V1_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1069,1
    - Dst: NDT_V4_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1075,1
    - Dst: NDT_V2_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1071,1
    - Dst: NDT_V3_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1073,1
    - Dst: NDT_V5_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1077,1
    - Dst: NDT_V6_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1079,1
    - Dst: NDT_V7_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1081,1
    - Dst: NDT_V8_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1083,1
    - Dst: NDT_V9_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1085,1
    - Dst: NDT_V10_GetNodeTag
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1087,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - NDT_Tag
    - NodeType
    - Version
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1091
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1091
    functionName: gf_bifs_ndt_get_node_type
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - NDT_V6_GetNodeTag
    - NDT_V8_GetNodeTag
    - NDT_V7_GetNodeTag
    - NDT_V10_GetNodeTag
    - NDT_V9_GetNodeTag
    - NDT_V3_GetNodeTag
    - NDT_V2_GetNodeTag
    - NDT_V4_GetNodeTag
    - NDT_V5_GetNodeTag
    - NDT_V1_GetNodeTag
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bifs_ndt_get_node_type(u32 NDT_Tag, u32 NodeType, u32 Version) '
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 2
    argCount: 1
    argNames:
    - NDT_Tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 230
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 230
    functionName: NDT_V1_GetNumBits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V1_GetNumBits(u32 NDT_Tag) '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 15
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 347
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 347
    functionName: NDT_V2_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V2_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: NDT_V4_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V4_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:783,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:787,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:785,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:791,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:789,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:793,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:795,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:797,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 803
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 803
    functionName: NDT_V6_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V6_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - Context_NDT_Tag
    - NodeType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1027
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1027
    functionName: NDT_V10_GetNodeTag
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V10_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1051,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1053,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1057,1
    - Dst: ALL_GetNodeType
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1061
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1061
    functionName: NDT_V10_GetNodeType
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - ALL_GetNodeType
    linkageType: ''
    returnType: u32
    signature: 'u32 NDT_V10_GetNodeType(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NDT_V1_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1097,1
    - Dst: NDT_V3_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1101,1
    - Dst: NDT_V2_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1099,1
    - Dst: NDT_V5_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1105,1
    - Dst: NDT_V4_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1103,1
    - Dst: NDT_V6_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1107,1
    - Dst: NDT_V7_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1109,1
    - Dst: NDT_V8_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1111,1
    - Dst: NDT_V9_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1113,1
    - Dst: NDT_V10_GetNumBits
      Src: /src/gpac/src/bifs/bifs_node_tables.c:1115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - NDT_Tag
    - Version
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1119
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1119
    functionName: gf_bifs_get_ndt_bits
    functionSourceFile: /src/gpac/src/bifs/bifs_node_tables.c
    functionUses: []
    functionsReached:
    - NDT_V2_GetNumBits
    - NDT_V7_GetNumBits
    - NDT_V4_GetNumBits
    - NDT_V9_GetNumBits
    - NDT_V1_GetNumBits
    - NDT_V10_GetNumBits
    - NDT_V5_GetNumBits
    - NDT_V3_GetNumBits
    - NDT_V8_GetNumBits
    - NDT_V6_GetNumBits
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bifs_get_ndt_bits(u32 NDT_Tag, u32 Version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: gf_bifs_dec_qp14_reset
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_dec_qp14_reset(GF_BifsDecoder * codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/bifs/unquantize.c:62,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/unquantize.c:62,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/bifs/unquantize.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - qp
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: gf_bifs_dec_qp_set
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_assert
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_qp_set(GF_BifsDecoder *codec, GF_Node *qp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:100,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:103,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:109,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:110,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/bifs/unquantize.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: gf_bifs_dec_mantissa_float
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - FLT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed gf_bifs_dec_mantissa_float(GF_BifsDecoder *codec, GF_BitStream
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/bifs/unquantize.c:229,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/bifs/unquantize.c:229,1
    - Dst: INT2FIX
      Src: /src/gpac/src/bifs/unquantize.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - Min
    - Max
    - NbBits
    - value
    argTypes:
    - Fixed
    - Fixed
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: Q_InverseQuantize
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed Q_InverseQuantize(Fixed Min, Fixed Max, u32 NbBits, u32 value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_DecCoordOnUnitSphere
      Src: /src/gpac/src/bifs/unquantize.c:322,1
    - Dst: ABS
      Src: /src/gpac/src/bifs/unquantize.c:328,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/unquantize.c:332,1
    - Dst: gf_sin
      Src: /src/gpac/src/bifs/unquantize.c:326,1
    - Dst: gf_acos
      Src: /src/gpac/src/bifs/unquantize.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - codec
    - bs
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: Q_DecRotation
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - Q_DecCoordOnUnitSphere
    - gf_acos
    - ABS
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_DecRotation(GF_BifsDecoder *codec, GF_BitStream *bs, u32
      NbBits, void *field_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/gpac/src/bifs/unquantize.c:34,1
    - Dst: log
      Src: /src/gpac/src/bifs/unquantize.c:34,1
    - Dst: log1p
      Src: /src/gpac/src/bifs/unquantize.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_BifsDecoder*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: gf_bifs_dec_qp14_get_bits
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - log1p
    - ceil
    - log
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bifs_dec_qp14_get_bits(GF_BifsDecoder *codec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - codec
    - Enter
    argTypes:
    - GF_BifsDecoder*
    - Bool
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: gf_bifs_dec_qp14_enter
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_dec_qp14_enter(GF_BifsDecoder * codec, Bool Enter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - codec
    - NbElements
    argTypes:
    - GF_BifsDecoder*
    - u32
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: gf_bifs_dec_qp14_set_length
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_dec_qp14_set_length(GF_BifsDecoder * codec, u32 NbElements) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/unquantize.c:75,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/unquantize.c:81,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/unquantize.c:80,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/unquantize.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - codec
    - ActivatePrev
    argTypes:
    - GF_BifsDecoder*
    - Bool
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: gf_bifs_dec_qp_remove
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_qp_remove(GF_BifsDecoder *codec, Bool ActivatePrev) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:239,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:242,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:239,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:242,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:243,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:246,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:246,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:247,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:247,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:248,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:248,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:251,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:252,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:251,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:253,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:253,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 7
    argNames:
    - codec
    - bs
    - FieldType
    - BMin
    - BMax
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    - SFVec3f
    - SFVec3f
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: Q_DecFloat
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - Q_InverseQuantize
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_DecFloat(GF_BifsDecoder *codec, GF_BitStream *bs, u32 FieldType,
      SFVec3f BMin, SFVec3f BMax, u32 NbBits, void *field_ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:291,1
    - Dst: gf_tan
      Src: /src/gpac/src/bifs/unquantize.c:303,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:297,1
    - Dst: Q_InverseQuantize
      Src: /src/gpac/src/bifs/unquantize.c:299,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:293,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/unquantize.c:303,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/unquantize.c:304,1
    - Dst: gf_divfix
      Src: /src/gpac/src/bifs/unquantize.c:306,1
    - Dst: INT2FIX
      Src: /src/gpac/src/bifs/unquantize.c:306,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/bifs/unquantize.c:306,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/bifs/unquantize.c:310,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 5
    argNames:
    - codec
    - bs
    - NbBits
    - NbComp
    - m_ft
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: Q_DecCoordOnUnitSphere
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_tan
    - gf_mulfix
    - gf_bs_read_int
    - INT2FIX
    - gf_sqrt
    - gf_divfix
    - Q_InverseQuantize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_DecCoordOnUnitSphere(GF_BifsDecoder *codec, GF_BitStream
      *bs, u32 NbBits, u32 NbComp, Fixed *m_ft) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_get_aq_info
      Src: /src/gpac/src/bifs/unquantize.c:383,1
    - Dst: Q_DecFloat
      Src: /src/gpac/src/bifs/unquantize.c:412,1
    - Dst: gf_bifs_dec_qp14_get_bits
      Src: /src/gpac/src/bifs/unquantize.c:388,1
    - Dst: Q_IsTypeOn
      Src: /src/gpac/src/bifs/unquantize.c:397,1
    - Dst: Q_DecInt
      Src: /src/gpac/src/bifs/unquantize.c:417,1
    - Dst: Q_DecNormal
      Src: /src/gpac/src/bifs/unquantize.c:423,1
    - Dst: Q_DecRotation
      Src: /src/gpac/src/bifs/unquantize.c:428,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 32
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - field
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 436
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 436
    functionName: gf_bifs_dec_unquant_field
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_bifs_get_aq_info
    - Q_DecRotation
    - Q_DecNormal
    - Q_DecFloat
    - Q_IsTypeOn
    - Q_DecInt
    - gf_bifs_dec_qp14_get_bits
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_unquant_field(GF_BifsDecoder *codec, GF_BitStream
      *bs, GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/unquantize.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 6
    argNames:
    - codec
    - bs
    - QType
    - b_min
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    - SFInt32
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: Q_DecInt
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_DecInt(GF_BifsDecoder *codec, GF_BitStream *bs, u32 QType,
      SFInt32 b_min, u32 NbBits, void *field_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_DecCoordOnUnitSphere
      Src: /src/gpac/src/bifs/unquantize.c:347,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/bifs/unquantize.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - codec
    - bs
    - NbBits
    - field_ptr
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: Q_DecNormal
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - Q_DecCoordOnUnitSphere
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err Q_DecNormal(GF_BifsDecoder *codec, GF_BitStream *bs, u32 NbBits,
      void *field_ptr) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:129,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:133,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:140,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:179,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:199,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:130,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:146,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:170,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:147,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:152,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:153,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:171,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:176,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:177,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:178,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:180,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:204,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:205,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:131,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:138,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:128,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:132,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:139,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:141,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:158,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:164,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:165,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:159,1
    - Dst: MIN
      Src: /src/gpac/src/bifs/unquantize.c:181,1
    - Dst: MAX
      Src: /src/gpac/src/bifs/unquantize.c:198,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 5
    argNames:
    - qp
    - q_type
    - NbBits
    - b_min
    - b_max
    argTypes:
    - M_QuantizationParameter*
    - u32
    - u32*
    - SFVec3f*
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 221
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 221
    functionName: Q_IsTypeOn
    functionSourceFile: /src/gpac/src/bifs/unquantize.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: Bool
    signature: 'Bool Q_IsTypeOn(M_QuantizationParameter *qp, u32 q_type, u32 *NbBits,
      SFVec3f *b_min, SFVec3f *b_max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:38,1
    - Dst: Conditional_BufferReplaced
      Src: /src/gpac/src/bifs/field_decode.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - codec
    - node
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: SFCommandBufferChanged
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - Conditional_BufferReplaced
    - gf_node_get_tag
    linkageType: ''
    returnType: void
    signature: 'void SFCommandBufferChanged(GF_BifsDecoder * codec, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_mantissa_float
      Src: /src/gpac/src/bifs/field_decode.c:68,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/bifs/field_decode.c:70,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/bifs/field_decode.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - codec
    - bs
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: BD_ReadSFFloat
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_bifs_dec_mantissa_float
    - gf_bs_read_float
    - FLT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed BD_ReadSFFloat(GF_BifsDecoder * codec, GF_BitStream *bs) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/field_decode.c:313,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/field_decode.c:329,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_decode.c:350,1
    - Dst: gf_bifs_dec_qp14_set_length
      Src: /src/gpac/src/bifs/field_decode.c:393,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:389,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:360,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:349,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/bifs/field_decode.c:324,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/field_decode.c:326,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:321,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:332,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:338,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:341,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:354,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:378,1
    - Dst: memset
      Src: /src/gpac/src/bifs/field_decode.c:311,1
    - Dst: gf_bifs_dec_qp_set
      Src: /src/gpac/src/bifs/field_decode.c:342,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:369,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:347,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 66
    argCount: 5
    argNames:
    - codec
    - bs
    - node
    - field
    - is_mem_com
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 395
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 395
    functionName: BD_DecMFFieldList
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bifs_dec_node
    - gf_node_get_tag
    - gf_bifs_dec_qp_set
    - gf_bifs_dec_qp14_set_length
    - gf_bs_read_int
    - gf_node_unregister
    - gf_bifs_dec_sf_field
    - gf_sg_vrml_mf_append
    - gf_node_register
    - gf_bifs_dec_qp_remove
    - gf_sg_vrml_get_sf_type
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BD_DecMFFieldList(GF_BifsDecoder * codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field, Bool is_mem_com) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_changed
      Src: /src/gpac/src/bifs/field_decode.c:506,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:512,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/bifs/field_decode.c:508,1
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/src/bifs/field_decode.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: gf_bifs_check_field_change
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_node_get_tag
    - gf_sg_script_event_in
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void gf_bifs_check_field_change(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_instance_set_ised
      Src: /src/gpac/src/bifs/field_decode.c:583,1
    - Dst: gf_sg_proto_field_set_ised
      Src: /src/gpac/src/bifs/field_decode.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - codec
    - protofield
    - n
    - nodefield
    argTypes:
    - GF_BifsDecoder*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 589
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 589
    functionName: BD_SetProtoISed
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_instance_set_ised
    - gf_sg_proto_field_set_ised
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BD_SetProtoISed(GF_BifsDecoder * codec, u32 protofield, GF_Node
      *n, u32 nodefield) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:647,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:652,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_decode.c:649,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:654,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/field_decode.c:648,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:658,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:659,1
    - Dst: BD_SetProtoISed
      Src: /src/gpac/src/bifs/field_decode.c:661,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:666,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/field_decode.c:668,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/field_decode.c:679,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:677,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/field_decode.c:682,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:680,1
    - Dst: gf_sg_proto_mark_field_loaded
      Src: /src/gpac/src/bifs/field_decode.c:685,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:675,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - is_proto
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 689
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 689
    functionName: gf_bifs_dec_node_mask
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_mark_field_loaded
    - gf_sg_proto_get_field_count
    - gf_bs_read_int
    - gf_node_get_field
    - BD_SetProtoISed
    - gf_bifs_dec_field
    - gf_bifs_get_field_index
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_node_mask(GF_BifsDecoder * codec, GF_BitStream
      *bs, GF_Node *node, Bool is_proto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:56,1
    - Dst: stricmp
      Src: /src/gpac/src/bifs/field_decode.c:57,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:58,1
    - Dst: gf_sg_proto_field_is_sftime_offset
      Src: /src/gpac/src/bifs/field_decode.c:59,1
    - Dst: stricmp
      Src: /src/gpac/src/bifs/field_decode.c:57,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - codec
    - node
    - inf
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: BD_CheckSFTimeOffset
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_field_is_sftime_offset
    - stricmp
    - gf_node_get_tag
    - BD_OffsetSFTime
    linkageType: ''
    returnType: void
    signature: 'void BD_CheckSFTimeOffset(GF_BifsDecoder *codec, GF_Node *node, GF_FieldInfo
      *inf) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:111,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:112,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:158,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:172,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_decode.c:261,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/field_decode.c:285,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:97,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:136,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/field_decode.c:266,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:224,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/field_decode.c:211,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:167,1
    - Dst: SFScript_Parse
      Src: /src/gpac/src/bifs/field_decode.c:276,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:183,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:205,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:289,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/bifs/field_decode.c:137,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:159,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:123,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/field_decode.c:291,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:216,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:113,1
    - Dst: SFCommandBufferChanged
      Src: /src/gpac/src/bifs/field_decode.c:229,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:284,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:165,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/bifs/field_decode.c:124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:143,1
    - Dst: memset
      Src: /src/gpac/src/bifs/field_decode.c:141,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:194,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:118,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/bifs/field_decode.c:160,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/field_decode.c:210,1
    - Dst: gf_list_get
      Src: /src/gpac/src/bifs/field_decode.c:252,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:92,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:93,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:100,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/bifs/field_decode.c:131,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/bifs/field_decode.c:212,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/bifs/field_decode.c:190,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:258,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:268,1
    - Dst: gf_bifs_dec_unquant_field
      Src: /src/gpac/src/bifs/field_decode.c:83,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:89,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/bifs/field_decode.c:103,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:185,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:236,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:197,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/field_decode.c:209,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:117,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:122,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:129,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:290,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:107,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:108,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:152,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:154,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:163,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_decode.c:257,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/bifs/field_decode.c:217,1
    - Dst: gf_list_count
      Src: /src/gpac/src/bifs/field_decode.c:250,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:119,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:130,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:184,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/bifs/field_decode.c:254,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:221,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_decode.c:289,1
    - Dst: BD_ReadSFFloat
      Src: /src/gpac/src/bifs/field_decode.c:94,1
    - Dst: BD_CheckSFTimeOffset
      Src: /src/gpac/src/bifs/field_decode.c:104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:150,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/field_decode.c:169,1
    - Dst: gf_list_add
      Src: /src/gpac/src/bifs/field_decode.c:240,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:238,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:134,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:139,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/field_decode.c:140,1
    - Dst: memset
      Src: /src/gpac/src/bifs/field_decode.c:164,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/field_decode.c:180,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 219
    argCount: 5
    argNames:
    - codec
    - bs
    - node
    - field
    - is_mem_com
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 299
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 299
    functionName: gf_bifs_dec_sf_field
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - memset
    - gf_sg_find_node
    - gf_bifs_dec_unquant_field
    - gf_node_unregister
    - BD_ReadSFFloat
    - gf_node_get_num_fields_in_mode
    - gf_sg_command_del
    - SFScript_Parse
    - gf_bifs_dec_node
    - gf_list_count
    - gf_bs_read_data
    - SFCommandBufferChanged
    - gf_list_get
    - gf_bs_read_int
    - gf_free
    - BD_CheckSFTimeOffset
    - gf_node_register
    - gf_get_bit_size
    - gf_bs_read_double
    - gf_bs_available
    - gf_list_rem
    - gf_bifs_get_field_index
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_sf_field(GF_BifsDecoder * codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field, Bool is_mem_com) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_dec_qp14_set_length
      Src: /src/gpac/src/bifs/field_decode.c:421,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/bifs/field_decode.c:425,1
    - Dst: gf_bifs_dec_qp_set
      Src: /src/gpac/src/bifs/field_decode.c:454,1
    - Dst: memset
      Src: /src/gpac/src/bifs/field_decode.c:406,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:415,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/bifs/field_decode.c:429,1
    - Dst: gf_bifs_dec_node
      Src: /src/gpac/src/bifs/field_decode.c:440,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:442,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:447,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:466,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:473,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/bifs/field_decode.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:416,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/field_decode.c:431,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/bifs/field_decode.c:459,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_decode.c:463,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:462,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:491,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:452,1
    - Dst: gf_bifs_dec_qp_remove
      Src: /src/gpac/src/bifs/field_decode.c:497,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 5
    argNames:
    - codec
    - bs
    - node
    - field
    - is_mem_com
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 499
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 499
    functionName: BD_DecMFFieldVec
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bifs_dec_qp14_set_length
    - gf_bifs_dec_node
    - gf_node_get_tag
    - gf_bifs_dec_qp_set
    - gf_bs_read_int
    - gf_node_unregister
    - gf_sg_vrml_mf_get_item
    - gf_bifs_dec_sf_field
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_bifs_dec_qp_remove
    - gf_sg_vrml_get_sf_type
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err BD_DecMFFieldVec(GF_BifsDecoder * codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field, Bool is_mem_com) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/bifs/field_decode.c:528,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/bifs/field_decode.c:539,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/bifs/field_decode.c:535,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:546,1
    - Dst: gf_bifs_dec_sf_field
      Src: /src/gpac/src/bifs/field_decode.c:529,1
    - Dst: gf_bifs_dec_pred_mf_field
      Src: /src/gpac/src/bifs/field_decode.c:549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_decode.c:551,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:558,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/bifs/field_decode.c:562,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:566,1
    - Dst: BD_DecMFFieldVec
      Src: /src/gpac/src/bifs/field_decode.c:570,1
    - Dst: BD_DecMFFieldList
      Src: /src/gpac/src/bifs/field_decode.c:568,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 5
    argNames:
    - codec
    - bs
    - node
    - field
    - is_mem_com
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 576
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 576
    functionName: gf_bifs_dec_field
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - BD_DecMFFieldList
    - gf_bs_read_int
    - GF_LOG
    - BD_DecMFFieldVec
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_is_sf_field
    - gf_bifs_dec_pred_mf_field
    - gf_bifs_dec_sf_field
    - gf_node_unregister_children
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_field(GF_BifsDecoder * codec, GF_BitStream *bs,
      GF_Node *node, GF_FieldInfo *field, Bool is_mem_com) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:612,1
    - Dst: BD_SetProtoISed
      Src: /src/gpac/src/bifs/field_decode.c:617,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:628,1
    - Dst: gf_bifs_get_field_index
      Src: /src/gpac/src/bifs/field_decode.c:626,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_decode.c:601,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:601,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:605,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:614,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:632,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:609,1
    - Dst: gf_sg_proto_mark_field_loaded
      Src: /src/gpac/src/bifs/field_decode.c:634,1
    - Dst: gf_bifs_dec_field
      Src: /src/gpac/src/bifs/field_decode.c:630,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_decode.c:600,1
    - Dst: gf_sg_proto_get_field_count
      Src: /src/gpac/src/bifs/field_decode.c:600,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/bifs/field_decode.c:603,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:603,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:625,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:619,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:615,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - codec
    - bs
    - node
    - is_proto
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 637
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 637
    functionName: gf_bifs_dec_node_list
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_mark_field_loaded
    - gf_sg_proto_get_field_count
    - gf_bs_read_int
    - gf_node_get_field
    - BD_SetProtoISed
    - gf_bifs_get_field_index
    - gf_bifs_dec_field
    - gf_get_bit_size
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_dec_node_list(GF_BifsDecoder * codec, GF_BitStream
      *bs, GF_Node *node, Bool is_proto) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:694,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:696,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:701,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:700,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:697,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:704,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:705,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:708,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:709,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:712,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/bifs/field_decode.c:723,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/bifs/field_decode.c:725,1
    - Dst: BD_CheckSFTimeOffset
      Src: /src/gpac/src/bifs/field_decode.c:727,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:717,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:713,1
    - Dst: BD_OffsetSFTime
      Src: /src/gpac/src/bifs/field_decode.c:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - codec
    - node
    argTypes:
    - GF_BifsDecoder*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 732
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 732
    functionName: UpdateTimeNode
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - BD_OffsetSFTime
    - gf_node_get_field
    - BD_CheckSFTimeOffset
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: void
    signature: 'static void UpdateTimeNode(GF_BifsDecoder * codec, GF_Node *node) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_in_table
      Src: /src/gpac/src/bifs/field_decode.c:767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/bifs/field_decode.c:768,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:781,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/bifs/field_decode.c:809,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:783,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:826,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:843,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/field_decode.c:877,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/bifs/field_decode.c:942,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:964,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:926,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:758,1
    - Dst: gf_bifs_dec_qp14_set_length
      Src: /src/gpac/src/bifs/field_decode.c:782,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:814,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:789,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/bifs/field_decode.c:831,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:844,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:858,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:886,1
    - Dst: UpdateTimeNode
      Src: /src/gpac/src/bifs/field_decode.c:913,1
    - Dst: gf_bifs_dec_node_list
      Src: /src/gpac/src/bifs/field_decode.c:932,1
    - Dst: gf_node_init
      Src: /src/gpac/src/bifs/field_decode.c:959,1
    - Dst: gf_node_register
      Src: /src/gpac/src/bifs/field_decode.c:940,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/bifs/field_decode.c:969,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/bifs/field_decode.c:764,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/bifs/field_decode.c:768,1
    - Dst: gf_bifs_dec_qp14_set_length
      Src: /src/gpac/src/bifs/field_decode.c:790,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/bifs/field_decode.c:828,1
    - Dst: gf_bifs_ndt_get_node_type
      Src: /src/gpac/src/bifs/field_decode.c:838,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/field_decode.c:845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:863,1
    - Dst: gf_bifs_dec_name
      Src: /src/gpac/src/bifs/field_decode.c:864,1
    - Dst: gf_node_get_proto
      Src: /src/gpac/src/bifs/field_decode.c:880,1
    - Dst: SetupConditional
      Src: /src/gpac/src/bifs/field_decode.c:974,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/bifs/field_decode.c:900,1
    - Dst: gf_node_new
      Src: /src/gpac/src/bifs/field_decode.c:904,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:759,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:777,1
    - Dst: gf_bifs_get_ndt_bits
      Src: /src/gpac/src/bifs/field_decode.c:807,1
    - Dst: gf_bifs_dec_qp14_enter
      Src: /src/gpac/src/bifs/field_decode.c:791,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/bifs/field_decode.c:880,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/field_decode.c:929,1
    - Dst: gf_bifs_dec_node_mask
      Src: /src/gpac/src/bifs/field_decode.c:930,1
    - Dst: gf_bifs_dec_qp14_reset
      Src: /src/gpac/src/bifs/field_decode.c:935,1
    - Dst: strlen
      Src: /src/gpac/src/bifs/field_decode.c:951,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/bifs/field_decode.c:952,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/bifs/field_decode.c:954,1
    - Dst: gf_sg_proto_load_code
      Src: /src/gpac/src/bifs/field_decode.c:982,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 171
    argCount: 3
    argNames:
    - codec
    - bs
    - NDT_Tag
    argTypes:
    - GF_BifsDecoder*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 987
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 987
    functionName: gf_bifs_dec_node
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_node_init
    - gf_node_get_proto
    - gf_node_get_tag
    - gf_sg_proto_create_instance
    - SetupConditional
    - gf_sg_proto_load_code
    - gf_sg_find_node
    - GF_LOG
    - gf_node_set_id
    - gf_node_new
    - gf_node_unregister
    - gf_bifs_dec_qp14_reset
    - gf_sg_find_proto
    - gf_bifs_dec_qp14_set_length
    - gf_bifs_dec_name
    - gf_bifs_dec_node_list
    - gf_node_get_class_name
    - gf_bifs_dec_qp14_enter
    - gf_bifs_get_ndt_bits
    - gf_bs_read_int
    - gf_bifs_ndt_get_node_type
    - gf_bifs_dec_node_mask
    - UpdateTimeNode
    - gf_node_register
    - gf_node_in_table
    - gf_sg_script_load
    - gf_bs_available
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_bifs_dec_node(GF_BifsDecoder * codec, GF_BitStream *bs,
      u32 NDT_Tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - codec
    - time
    argTypes:
    - GF_BifsDecoder*
    - Double*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: BD_OffsetSFTime
    functionSourceFile: /src/gpac/src/bifs/field_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BD_OffsetSFTime(GF_BifsDecoder * codec, Double *time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/arith_decoder.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: gp_bifs_aa_model_new
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_AAModel*
    signature: 'GF_AAModel *gp_bifs_aa_model_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:102,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/arith_decoder.c:104,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:103,1
    - Dst: gf_malloc
      Src: /src/gpac/src/bifs/arith_decoder.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - model
    - nbBits
    argTypes:
    - GF_AAModel*
    - u32
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: gp_bifs_aa_model_init
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_model_init(GF_AAModel *model, u32 nbBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: gp_bifs_aa_dec_del
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_dec_del(GF_AADecoder *dec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_rewind_bits
      Src: /src/gpac/src/bifs/arith_decoder.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: gp_bifs_aa_dec_resync
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_bs_rewind_bits
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_dec_resync(GF_AADecoder *dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_rewind_bits
      Src: /src/gpac/src/bifs/arith_decoder.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: gp_bifs_aa_dec_resync_bit
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_bs_rewind_bits
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_dec_resync_bit(GF_AADecoder *dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bit_out_psc_layer
      Src: /src/gpac/src/bifs/arith_decoder.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: gp_bifs_aa_dec_reset
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - bit_out_psc_layer
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_dec_reset(GF_AADecoder *dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/bifs/arith_decoder.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: gp_bifs_aa_dec_new
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_AADecoder*
    signature: 'GF_AADecoder *gp_bifs_aa_dec_new(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - model
    - symbol
    argTypes:
    - GF_AAModel*
    - s32
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: UpdateAAModel
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void UpdateAAModel(GF_AAModel *model, s32 symbol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:93,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:95,1
    - Dst: gf_free
      Src: /src/gpac/src/bifs/arith_decoder.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - model
    argTypes:
    - GF_AAModel*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: gp_bifs_aa_model_del
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_model_del(GF_AAModel *model) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/bifs/arith_decoder.c:152,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/arith_decoder.c:162,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/bifs/arith_decoder.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: bit_out_psc_layer
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - gf_bs_bits_available
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bit_out_psc_layer(GF_AADecoder *dec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bit_out_psc_layer
      Src: /src/gpac/src/bifs/arith_decoder.c:197,1
    - Dst: bit_out_psc_layer
      Src: /src/gpac/src/bifs/arith_decoder.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: gp_bifs_aa_dec_flush
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - bit_out_psc_layer
    linkageType: ''
    returnType: void
    signature: 'void gp_bifs_aa_dec_flush(GF_AADecoder *dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_out_psc_layer
      Src: /src/gpac/src/bifs/arith_decoder.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dec
    argTypes:
    - GF_AADecoder*
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: gp_bifs_aa_dec_get_bit
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - bit_out_psc_layer
    linkageType: ''
    returnType: s32
    signature: 's32 gp_bifs_aa_dec_get_bit(GF_AADecoder *dec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bit_out_psc_layer
      Src: /src/gpac/src/bifs/arith_decoder.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - dec
    - model
    argTypes:
    - GF_AADecoder*
    - GF_AAModel*
    constantsTouched: []
    func_position:
      end: 275
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 275
    functionName: AADec_Dec
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - bit_out_psc_layer
    linkageType: ''
    returnType: s32
    signature: 'static s32 AADec_Dec(GF_AADecoder *dec, GF_AAModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AADec_Dec
      Src: /src/gpac/src/bifs/arith_decoder.c:280,1
    - Dst: UpdateAAModel
      Src: /src/gpac/src/bifs/arith_decoder.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - model
    argTypes:
    - GF_AADecoder*
    - GF_AAModel*
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: gp_bifs_aa_decode
    functionSourceFile: /src/gpac/src/bifs/arith_decoder.c
    functionUses: []
    functionsReached:
    - UpdateAAModel
    - AADec_Dec
    linkageType: ''
    returnType: s32
    signature: 's32 gp_bifs_aa_decode(GF_AADecoder *dec, GF_AAModel *model) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:72,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - sg
    - fromNode
    - fromField
    - toNode
    - toField
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: gf_sg_route_exists
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Route*
    signature: 'GF_Route * gf_sg_route_exists(GF_SceneGraph *sg, GF_Node *fromNode,
      u32 fromField, GF_Node *toNode, u32 toField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:201,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_route.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - sg
    - name
    argTypes:
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: gf_sg_route_find_by_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Route *gf_sg_route_find_by_name(GF_SceneGraph *sg, char
      *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:270,1
    - Dst: gf_sg_route_queue
      Src: /src/gpac/src/scenegraph/vrml_route.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - node
    - FieldIndex
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: gf_node_event_out_proto
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_route_queue
    linkageType: ''
    returnType: void
    signature: 'void gf_node_event_out_proto(GF_Node *node, u32 FieldIndex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:430,1
    - Dst: gf_sg_route_queue
      Src: /src/gpac/src/scenegraph/vrml_route.c:441,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_route.c:436,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_route.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - node
    - FieldIndex
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: gf_node_event_out
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_node_changed
    - gf_sg_route_queue
    - gf_sg_route_activate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_event_out(GF_Node *node, u32 FieldIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_route.c:85,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_route.c:88,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_route.c:89,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_route.c:90,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:104,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_route.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: gf_sg_route_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_add
    - gf_list_del_item
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_route_del(GF_Route *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scenegraph/vrml_route.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - route
    - ID
    argTypes:
    - GF_Route*
    - u32
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: gf_sg_route_set_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_sg_route_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_route_set_id(GF_Route *route, u32 ID) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/scenegraph/vrml_route.c:353,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_route.c:356,1
    - Dst: gf_sg_route_setup
      Src: /src/gpac/src/scenegraph/vrml_route.c:285,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_route.c:306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:309,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_route.c:344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:311,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_route.c:328,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/vrml_route.c:372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:373,1
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/src/scenegraph/vrml_route.c:387,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_route.c:397,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/vrml_route.c:302,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_route.c:339,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_route.c:324,1
    - Dst: VRML_FieldCopyCast
      Src: /src/gpac/src/scenegraph/vrml_route.c:361,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_route.c:405,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/vrml_route.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:410,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_route.c:283,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_route.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:304,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_route.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:306,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_route.c:306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:313,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/vrml_route.c:343,1
    - Dst: gf_sg_proto_propagate_event
      Src: /src/gpac/src/scenegraph/vrml_route.c:391,1
    - Dst: gf_sg_proto_propagate_event
      Src: /src/gpac/src/scenegraph/vrml_route.c:394,1
    - Dst: gf_node_event_out_proto
      Src: /src/gpac/src/scenegraph/vrml_route.c:403,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 89
    argCount: 1
    argNames:
    - r
    argTypes:
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 415
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 415
    functionName: gf_sg_route_activate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_sg_route_setup
    - gf_node_get_name
    - VRML_FieldCopyCast
    - gf_sg_proto_propagate_event
    - gf_sg_vrml_field_equal
    - GF_LOG
    - gf_sg_vrml_field_copy
    - gf_node_event_out
    - gf_node_event_out_proto
    - gf_log_tool_level_on
    - gf_sg_script_event_in
    - gf_node_register
    - gf_assert
    - gf_node_unregister
    - gf_node_unregister_children
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sg_route_activate(GF_Route *r) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:457,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_route.c:463,1
    - Dst: gf_sg_route_queue
      Src: /src/gpac/src/scenegraph/vrml_route.c:467,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_route.c:459,1
    - Dst: gf_sg_route_setup
      Src: /src/gpac/src/scenegraph/vrml_route.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - node
    - eventName
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 470
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 470
    functionName: gf_node_event_out_str
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_sg_route_setup
    - gf_sg_route_queue
    - gf_list_enum
    - stricmp
    - gf_sg_route_activate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_event_out_str(GF_Node *node, const char *eventName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scenegraph/vrml_route.c:113,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/vrml_route.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sg
    - routeID
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: gf_sg_route_del_by_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_sg_route_del
    - gf_sg_route_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_route_del_by_id(GF_SceneGraph *sg,u32 routeID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - route
    argTypes:
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: gf_sg_route_get_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_route_get_id(GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - route
    argTypes:
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: gf_sg_route_get_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_sg_route_get_name(GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_route.c:121,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_route.c:122,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_route.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_route.c:125,1
    - Dst: gf_sg_route_unqueue
      Src: /src/gpac/src/scenegraph/vrml_route.c:124,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_route.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: gf_sg_destroy_routes
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_sg_route_unqueue
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_destroy_routes(GF_SceneGraph *sg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_route.c:246,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_route.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: gf_sg_route_setup
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_node_get_field
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_route_setup(GF_Route *r) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_destroy_routes
      Src: /src/gpac/src/scenegraph/vrml_route.c:154,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_route.c:161,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_route.c:158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_route.c:157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_route.c:156,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_route.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: gf_sg_activate_routes
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sg_destroy_routes
    - gf_list_count
    - gf_list_rem
    - gf_node_changed
    - gf_sg_route_activate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_activate_routes(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - node
    - r
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: on_route_to_function
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_route_to_function(GF_Node *node, GF_Route *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - sg
    - r
    argTypes:
    - GF_SceneGraph*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: gf_sg_route_queue
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_route_queue(GF_SceneGraph *sg, GF_Route *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_route.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - sg
    - r
    argTypes:
    - GF_SceneGraph*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: gf_sg_route_unqueue
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_route_unqueue(GF_SceneGraph *sg, GF_Route *r) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_exists
      Src: /src/gpac/src/scenegraph/vrml_route.c:40,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_route.c:55,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:54,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_route.c:52,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_route.c:43,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_route.c:59,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:60,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:61,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 5
    argNames:
    - sg
    - fromNode
    - fromField
    - toNode
    - toField
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: gf_sg_route_new
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - gf_sg_route_exists
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Route *gf_sg_route_new(GF_SceneGraph *sg, GF_Node *fromNode,
      u32 fromField, GF_Node *toNode, u32 toField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_route.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - sg
    - RouteID
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: gf_sg_route_find
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Route *gf_sg_route_find(GF_SceneGraph *sg, u32 RouteID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find_by_name
      Src: /src/gpac/src/scenegraph/vrml_route.c:231,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_route.c:234,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_route.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - route
    - name
    argTypes:
    - GF_Route*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: gf_sg_route_set_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    - gf_sg_route_find_by_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_route_set_name(GF_Route *route, char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_route.c:489,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_route.c:508,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_route.c:511,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_route.c:510,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_route.c:496,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_route.c:515,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:516,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_route.c:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 5
    argNames:
    - sg
    - fromNode
    - fromField
    - cbk
    - ( *route_callback)
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - u32
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 518
    functionName: gf_sg_route_new_to_callback
    functionSourceFile: /src/gpac/src/scenegraph/vrml_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_node_get_field
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_route_new_to_callback(GF_SceneGraph *sg, GF_Node
      *fromNode, u32 fromField, void *cbk, void ( *route_callback) (void *param, GF_FieldInfo
      *from_field) ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:984,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: BooleanToggle_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void BooleanToggle_Del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4859,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4863,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4860,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4861,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4862,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4864,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4865,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4866,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4867,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4868,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4869,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4871
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4871
    functionName: GeoTouchSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoTouchSensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5273
      start: 5270
    functionDepth: 0
    functionLinenumber: 5270
    functionLinenumberEnd: 5273
    functionName: HAnimHumanoid_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HAnimHumanoid_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5659,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5661,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5663,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5660,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5662,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5664,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5666
      start: 5656
    functionDepth: 0
    functionLinenumber: 5656
    functionLinenumberEnd: 5666
    functionName: HAnimSegment_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfstring_del
    - gf_node_free
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void HAnimSegment_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7181,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7183,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7182,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7184,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7186
      start: 7178
    functionDepth: 0
    functionLinenumber: 7178
    functionLinenumberEnd: 7186
    functionName: LineSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void LineSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10294
      start: 10291
    functionDepth: 0
    functionLinenumber: 10291
    functionLinenumberEnd: 10294
    functionName: PointSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10474,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10475,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10476,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10478
      start: 10471
    functionDepth: 0
    functionLinenumber: 10471
    functionLinenumberEnd: 10478
    functionName: PositionInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PositionInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: BooleanToggle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BooleanToggle_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4877,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4879,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4886,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4883,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4885,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4887,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4874
    functionDepth: 0
    functionLinenumber: 4874
    functionLinenumberEnd: 4890
    functionName: GeoTouchSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcpy
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoTouchSensor_Create() '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5392
      start: 5275
    functionDepth: 0
    functionLinenumber: 5275
    functionLinenumberEnd: 5392
    functionName: HAnimHumanoid_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HAnimHumanoid_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7192
      start: 7189
    functionDepth: 0
    functionLinenumber: 7189
    functionLinenumberEnd: 7192
    functionName: LineSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LineSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10484
      start: 10481
    functionDepth: 0
    functionLinenumber: 10481
    functionLinenumberEnd: 10484
    functionName: PositionInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionInterpolator_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5622,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5645,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5647,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5639,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5623,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5625,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5627,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5629,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5631,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5633,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5635,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5638,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5616,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5640,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5642,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5643,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5644,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5646,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5619,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5618,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5624,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5626,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5628,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5630,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5632,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5634,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5636,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5649
      start: 5613
    functionDepth: 0
    functionLinenumber: 5613
    functionLinenumberEnd: 5649
    functionName: HAnimJoint_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *HAnimJoint_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:122,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:123,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:124,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:125,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:126,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: Anchor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Anchor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: Arc2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Arc2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:555,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:558,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:556,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:557,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:559,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:560,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:561,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:562,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:563,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:564,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:566,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 567
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 567
    functionName: Background_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mfurl_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Background_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6302,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6303,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6304,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6305,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6306,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6307,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6308,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6309,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6311
      start: 6300
    functionDepth: 0
    functionLinenumber: 6300
    functionLinenumberEnd: 6311
    functionName: IndexedLineSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedLineSet_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5753,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5754,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5756,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5757,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5758,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5760,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5761,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5762,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5764
      start: 5751
    functionDepth: 0
    functionLinenumber: 5751
    functionLinenumberEnd: 5764
    functionName: HAnimSegment_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 HAnimSegment_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9259,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9260,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9261,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9263,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9262,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9265
      start: 9256
    functionDepth: 0
    functionLinenumber: 9256
    functionLinenumberEnd: 9265
    functionName: NurbsSurfaceInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfdouble_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsSurfaceInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12873,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12875
      start: 12870
    functionDepth: 0
    functionLinenumber: 12870
    functionLinenumberEnd: 12875
    functionName: TimeTrigger_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TimeTrigger_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:136,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:139,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: Anchor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Anchor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: Arc2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Arc2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: Background_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Background_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6317,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6324
      start: 6314
    functionDepth: 0
    functionLinenumber: 6314
    functionLinenumberEnd: 6324
    functionName: IndexedLineSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IndexedLineSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5770,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5773,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5777,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5772,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5776,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5778,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5779,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5780,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5782,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5783,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5784,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5790,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5785,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5789,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5788,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5787,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5767
    functionDepth: 0
    functionLinenumber: 5767
    functionLinenumberEnd: 5792
    functionName: HAnimSegment_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *HAnimSegment_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9271
      start: 9268
    functionDepth: 0
    functionLinenumber: 9268
    functionLinenumberEnd: 9271
    functionName: NurbsSurfaceInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsSurfaceInterpolator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12881
      start: 12878
    functionDepth: 0
    functionLinenumber: 12878
    functionLinenumberEnd: 12881
    functionName: TimeTrigger_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TimeTrigger_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1051,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: BooleanTrigger_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void BooleanTrigger_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1035,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1041
    functionName: BooleanToggle_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *BooleanToggle_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5802,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5803,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5804,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5806
      start: 5799
    functionDepth: 0
    functionLinenumber: 5799
    functionLinenumberEnd: 5806
    functionName: HAnimSite_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void HAnimSite_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8494
      start: 8475
    functionDepth: 0
    functionLinenumber: 8475
    functionLinenumberEnd: 8494
    functionName: Normal_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Normal_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10414,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10415,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10417
      start: 10411
    functionDepth: 0
    functionLinenumber: 10411
    functionLinenumberEnd: 10417
    functionName: Polypoint2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void Polypoint2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11690,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11692
      start: 11687
    functionDepth: 0
    functionLinenumber: 11687
    functionLinenumberEnd: 11692
    functionName: Sphere_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Sphere_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5812
      start: 5809
    functionDepth: 0
    functionLinenumber: 5809
    functionLinenumberEnd: 5812
    functionName: HAnimSite_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HAnimSite_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8502
      start: 8497
    functionDepth: 0
    functionLinenumber: 8497
    functionLinenumberEnd: 8502
    functionName: Normal_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Normal_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11698
      start: 11695
    functionDepth: 0
    functionLinenumber: 11695
    functionLinenumberEnd: 11698
    functionName: Sphere_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Sphere_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2218,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2220,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2221
    functionName: CylinderSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void CylinderSensor_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10398,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10404
      start: 10395
    functionDepth: 0
    functionLinenumber: 10395
    functionLinenumberEnd: 10404
    functionName: Polyline2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Polyline2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12940,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12942,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12943
      start: 12937
    functionDepth: 0
    functionLinenumber: 12937
    functionLinenumberEnd: 12943
    functionName: TouchSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void TouchSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2126,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2128
    functionName: Cylinder_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Cylinder_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2197,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2204,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2199,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2208
    functionName: Cylinder_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Cylinder_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3428,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3432,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3431,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3429,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3430,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3433,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3434,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3435,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3436,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3438
      start: 3425
    functionDepth: 0
    functionLinenumber: 3425
    functionLinenumberEnd: 3438
    functionName: Extrusion_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec2f_del
    - gf_sg_mfvec3f_del
    - gf_sg_mfrotation_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10047
      start: 10044
    functionDepth: 0
    functionLinenumber: 10044
    functionLinenumberEnd: 10047
    functionName: PlaneSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PlaneSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12924,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12930
      start: 12921
    functionDepth: 0
    functionLinenumber: 12921
    functionLinenumberEnd: 12930
    functionName: TimeTrigger_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TimeTrigger_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13811,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13812,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13814
      start: 13808
    functionDepth: 0
    functionLinenumber: 13808
    functionLinenumberEnd: 13814
    functionName: TriangleSet2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void TriangleSet2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2134
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2134
    functionName: Cylinder_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Cylinder_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3444
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3444
    functionName: Extrusion_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Extrusion_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10122
      start: 10049
    functionDepth: 0
    functionLinenumber: 10049
    functionLinenumberEnd: 10122
    functionName: PlaneSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PlaneSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13999,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14000,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14002
      start: 13996
    functionDepth: 0
    functionLinenumber: 13996
    functionLinenumberEnd: 14002
    functionName: Viewpoint_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Viewpoint_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1180,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1182
    functionName: Circle2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Circle2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1161,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1163,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1167,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1168,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: Box_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Box_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1554,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1556
    functionName: Cone_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Cone_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5454,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5455,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5457,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5456,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5458,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5459,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5460,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5461,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5462,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5464
      start: 5451
    functionDepth: 0
    functionLinenumber: 5451
    functionLinenumberEnd: 5464
    functionName: HAnimJoint_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfstring_del
    - gf_node_free
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void HAnimJoint_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10449,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10452
      start: 10447
    functionDepth: 0
    functionLinenumber: 10447
    functionLinenumberEnd: 10452
    functionName: Polypoint2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Polypoint2D_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 117
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 117
    functionName: Anchor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Anchor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1562
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1562
    functionName: Cone_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Cone_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5470
      start: 5467
    functionDepth: 0
    functionLinenumber: 5467
    functionLinenumberEnd: 5470
    functionName: HAnimJoint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HAnimJoint_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10458,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10464
      start: 10455
    functionDepth: 0
    functionLinenumber: 10455
    functionLinenumberEnd: 10464
    functionName: Polypoint2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Polypoint2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13820
      start: 13817
    functionDepth: 0
    functionLinenumber: 13817
    functionLinenumberEnd: 13820
    functionName: TriangleSet2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TriangleSet2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11553,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11555,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11556
      start: 11550
    functionDepth: 0
    functionLinenumber: 11550
    functionLinenumberEnd: 11556
    functionName: Sound_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Sound_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14008
      start: 14005
    functionDepth: 0
    functionLinenumber: 14005
    functionLinenumberEnd: 14008
    functionName: Viewpoint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Viewpoint_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11207,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11208,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11209,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11212
      start: 11205
    functionDepth: 0
    functionLinenumber: 11205
    functionLinenumberEnd: 11212
    functionName: Script_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Script_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6018,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6021,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6019,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6022,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6020,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6023,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6024,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6025,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6026,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6027,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6031,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6030,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6028,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6032
      start: 6015
    functionDepth: 0
    functionLinenumber: 6015
    functionLinenumberEnd: 6032
    functionName: IndexedFaceSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedFaceSet_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4540
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4540
    functionName: GeoMetadata_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoMetadata_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:514,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:518,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:517,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:515,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:516,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:519,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:520,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:521,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:522,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:523,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:526,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:525,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:524,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: AudioClip_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioClip_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1813,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1816
    functionName: Coordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Coordinate_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1907
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1907
    functionName: Coordinate2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Coordinate2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8919
      start: 8916
    functionDepth: 0
    functionLinenumber: 8916
    functionLinenumberEnd: 8919
    functionName: NurbsPatchSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsPatchSurface_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11519,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11524,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11525,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11521,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11531,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11535,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11543
      start: 11516
    functionDepth: 0
    functionLinenumber: 11516
    functionLinenumberEnd: 11543
    functionName: SignalPdu_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *SignalPdu_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12331,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12335,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12333,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12334,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12332,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12336,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12337,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12338,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12339,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12340,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12341,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12343,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12344
      start: 12328
    functionDepth: 0
    functionLinenumber: 12328
    functionLinenumberEnd: 12344
    functionName: TextureBackground_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TextureBackground_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4546,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4547,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4550
      start: 4543
    functionDepth: 0
    functionLinenumber: 4543
    functionLinenumberEnd: 4550
    functionName: GeoMetadata_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoMetadata_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:534,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:536,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: AudioClip_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *AudioClip_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1822,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1828
    functionName: Coordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Coordinate_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1928
    functionName: Coordinate2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6038
      start: 6035
    functionDepth: 0
    functionLinenumber: 6035
    functionLinenumberEnd: 6038
    functionName: IndexedFaceSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedFaceSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9020
      start: 8921
    functionDepth: 0
    functionLinenumber: 8921
    functionLinenumberEnd: 9020
    functionName: NurbsPatchSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsPatchSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12619,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12624,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12625,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12627
      start: 12616
    functionDepth: 0
    functionLinenumber: 12616
    functionLinenumberEnd: 12627
    functionName: TextureCoordinateGenerator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcpy
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TextureCoordinateGenerator_Create() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13654,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13656,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13658,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13657,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13655,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13659,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13660,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13661,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13662,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13663,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13665
      start: 13652
    functionDepth: 0
    functionLinenumber: 13652
    functionLinenumberEnd: 13665
    functionName: TriangleFanSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TriangleFanSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6471,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6474,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6472,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6475,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6473,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6476,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6477,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6479
      start: 6468
    functionDepth: 0
    functionLinenumber: 6468
    functionLinenumberEnd: 6479
    functionName: IndexedTriangleSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedTriangleSet_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12314,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12319,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12321
      start: 12311
    functionDepth: 0
    functionLinenumber: 12311
    functionLinenumberEnd: 12321
    functionName: Text_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Text_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7151,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7152,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7153,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7156
      start: 7149
    functionDepth: 0
    functionLinenumber: 7149
    functionLinenumberEnd: 7156
    functionName: LineProperties_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LineProperties_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:296,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:299,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:297,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: Arc2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Arc2D_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1092,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1093,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1096
    functionName: BooleanTrigger_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BooleanTrigger_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3627
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3627
    functionName: FillProperties_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FillProperties_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4581
      start: 4578
    functionDepth: 0
    functionLinenumber: 4578
    functionLinenumberEnd: 4581
    functionName: GeoOrigin_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoOrigin_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5220
      start: 5183
    functionDepth: 0
    functionLinenumber: 5183
    functionLinenumberEnd: 5220
    functionName: HAnimDisplacer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HAnimDisplacer_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6451,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6461
      start: 6448
    functionDepth: 0
    functionLinenumber: 6448
    functionLinenumberEnd: 6461
    functionName: IndexedTriangleFanSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IndexedTriangleFanSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8524,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8525,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8526,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8527,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8529
      start: 8521
    functionDepth: 0
    functionLinenumber: 8521
    functionLinenumberEnd: 8529
    functionName: NormalInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NormalInterpolator_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7162,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7164,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7171
      start: 7159
    functionDepth: 0
    functionLinenumber: 7159
    functionLinenumberEnd: 7171
    functionName: LineProperties_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *LineProperties_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:307,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:313,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:312,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: Arc2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Arc2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1102,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: BooleanTrigger_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *BooleanTrigger_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4614
      start: 4583
    functionDepth: 0
    functionLinenumber: 4583
    functionLinenumberEnd: 4614
    functionName: GeoOrigin_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoOrigin_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5225,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5226,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5227,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5228,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5231
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5231
    functionName: HAnimDisplacer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 HAnimDisplacer_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13050,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13051,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13053
      start: 13047
    functionDepth: 0
    functionLinenumber: 13047
    functionLinenumberEnd: 13053
    functionName: Transform_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Transform_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13059
      start: 13056
    functionDepth: 0
    functionLinenumber: 13056
    functionLinenumberEnd: 13059
    functionName: Transform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Transform_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3586,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3590,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3598,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3605,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3609,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3613,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3574,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3587,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3593,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3591,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3610,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3614,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3576,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3583,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3588,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3600,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3592,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3594,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3602,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3611,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3582,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3585,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3589,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3601,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3596,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3604,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3607,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3571
    functionDepth: 0
    functionLinenumber: 3571
    functionLinenumberEnd: 3616
    functionName: Extrusion_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Extrusion_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8508,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8514
      start: 8505
    functionDepth: 0
    functionLinenumber: 8505
    functionLinenumberEnd: 8514
    functionName: Normal_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Normal_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: BooleanTrigger_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BooleanTrigger_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2354,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2356
    functionName: DirectionalLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DirectionalLight_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4900,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4904,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4903,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4901,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4902,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4905,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4906,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4908
      start: 4897
    functionDepth: 0
    functionLinenumber: 4897
    functionLinenumberEnd: 4908
    functionName: GeoViewpoint_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void GeoViewpoint_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5672
      start: 5669
    functionDepth: 0
    functionLinenumber: 5669
    functionLinenumberEnd: 5672
    functionName: HAnimSegment_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HAnimSegment_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6570,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6573,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6574,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6572,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6571,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6575,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6576,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6577,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6578,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6579,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6582
      start: 6568
    functionDepth: 0
    functionLinenumber: 6568
    functionLinenumberEnd: 6582
    functionName: IndexedTriangleSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedTriangleSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11759
      start: 11756
    functionDepth: 0
    functionLinenumber: 11756
    functionLinenumberEnd: 11759
    functionName: SphereSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SphereSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1087
    functionName: BooleanTrigger_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BooleanTrigger_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2362
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2362
    functionName: DirectionalLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DirectionalLight_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4914
      start: 4911
    functionDepth: 0
    functionLinenumber: 4911
    functionLinenumberEnd: 4914
    functionName: GeoViewpoint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoViewpoint_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5748
      start: 5674
    functionDepth: 0
    functionLinenumber: 5674
    functionLinenumberEnd: 5748
    functionName: HAnimSegment_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HAnimSegment_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6588,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6598
      start: 6585
    functionDepth: 0
    functionLinenumber: 6585
    functionLinenumberEnd: 6598
    functionName: IndexedTriangleSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IndexedTriangleSet_Create() '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11822
      start: 11761
    functionDepth: 0
    functionLinenumber: 11761
    functionLinenumberEnd: 11822
    functionName: SphereSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SphereSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7259,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7261,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7262
      start: 7256
    functionDepth: 0
    functionLinenumber: 7256
    functionLinenumberEnd: 7262
    functionName: LoadSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void LoadSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12732
      start: 12729
    functionDepth: 0
    functionLinenumber: 12729
    functionLinenumberEnd: 12732
    functionName: TimeSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TimeSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1351,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1352,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1354
    functionName: Color_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Color_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7243,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7249
      start: 7240
    functionDepth: 0
    functionLinenumber: 7240
    functionLinenumberEnd: 7249
    functionName: LineSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *LineSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1333,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1336,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1341
    functionName: Collision_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Collision_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7644,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7647,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7645,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7648,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7649
      start: 7641
    functionDepth: 0
    functionLinenumber: 7641
    functionLinenumberEnd: 7649
    functionName: MetadataFloat_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MetadataFloat_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6334,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6335,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6338,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6336,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6337,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6339,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6340,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6342
      start: 6331
    functionDepth: 0
    functionLinenumber: 6331
    functionLinenumberEnd: 6342
    functionName: IndexedTriangleFanSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedTriangleFanSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4231,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4234,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4233,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4232,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4236
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4236
    functionName: GeoLocation_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_sg_vrml_parent_destroy
    linkageType: ''
    returnType: void
    signature: 'static void GeoLocation_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7628,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7634
      start: 7625
    functionDepth: 0
    functionLinenumber: 7625
    functionLinenumberEnd: 7634
    functionName: MetadataDouble_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MetadataDouble_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8535
      start: 8532
    functionDepth: 0
    functionLinenumber: 8532
    functionLinenumberEnd: 8535
    functionName: NormalInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NormalInterpolator_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6348
      start: 6345
    functionDepth: 0
    functionLinenumber: 6345
    functionLinenumberEnd: 6348
    functionName: IndexedTriangleFanSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedTriangleFanSet_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4242
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4242
    functionName: GeoLocation_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoLocation_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8575
      start: 8537
    functionDepth: 0
    functionLinenumber: 8537
    functionLinenumberEnd: 8575
    functionName: NormalInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NormalInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14128,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14130
      start: 14125
    functionDepth: 0
    functionLinenumber: 14125
    functionLinenumberEnd: 14130
    functionName: VisibilitySensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void VisibilitySensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6485
      start: 6482
    functionDepth: 0
    functionLinenumber: 6482
    functionLinenumberEnd: 6485
    functionName: IndexedTriangleSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedTriangleSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2634
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2634
    functionName: ElevationGrid_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ElevationGrid_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9230,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9233,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9231,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9232,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9236
      start: 9228
    functionDepth: 0
    functionLinenumber: 9228
    functionLinenumberEnd: 9236
    functionName: NurbsSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12067,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12070,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12068,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12071
      start: 12064
    functionDepth: 0
    functionLinenumber: 12064
    functionLinenumberEnd: 12071
    functionName: StringSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void StringSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13182,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13185,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13183,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13184,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13187
      start: 13179
    functionDepth: 0
    functionLinenumber: 13179
    functionLinenumberEnd: 13187
    functionName: TransmitterPdu_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void TransmitterPdu_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13193
      start: 13190
    functionDepth: 0
    functionLinenumber: 13190
    functionLinenumberEnd: 13193
    functionName: TransmitterPdu_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TransmitterPdu_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14100,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14107,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14108,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14102,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14105,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14109,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14110,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14111,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14112,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14113,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14116,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14114,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14118
      start: 14097
    functionDepth: 0
    functionLinenumber: 14097
    functionLinenumberEnd: 14118
    functionName: Viewpoint_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Viewpoint_Create() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2639,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2642,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2643,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2641,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2640,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2644,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2645,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2646,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2647,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2648,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2649,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2653,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2652,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2651,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2650,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2655
    functionName: ElevationGrid_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ElevationGrid_get_field_index_by_name(char *name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6565
      start: 6487
    functionDepth: 0
    functionLinenumber: 6487
    functionLinenumberEnd: 6565
    functionName: IndexedTriangleSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedTriangleSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9242,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9247,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9249
      start: 9239
    functionDepth: 0
    functionLinenumber: 9239
    functionLinenumberEnd: 9249
    functionName: NurbsSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12077
      start: 12074
    functionDepth: 0
    functionLinenumber: 12074
    functionLinenumberEnd: 12077
    functionName: StringSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 StringSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 44
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 171
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13454
      start: 13195
    functionDepth: 0
    functionLinenumber: 13195
    functionLinenumberEnd: 13454
    functionName: TransmitterPdu_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TransmitterPdu_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13157,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13158,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13160,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13162,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13164,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13166,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13168,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13170,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13150,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13151,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13159,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13161,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13163,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13165,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13167,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13169,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13148,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13172
      start: 13145
    functionDepth: 0
    functionLinenumber: 13145
    functionLinenumberEnd: 13172
    functionName: Transform_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Transform_Create() '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6428
      start: 6350
    functionDepth: 0
    functionLinenumber: 6350
    functionLinenumberEnd: 6428
    functionName: IndexedTriangleFanSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedTriangleFanSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9535
      start: 9496
    functionDepth: 0
    functionLinenumber: 9496
    functionLinenumberEnd: 9535
    functionName: NurbsSwungSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSwungSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10235
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10235
    functionName: PointLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointLight_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: BooleanSequencer_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15232,1
    - Dst: CoordinateInterpolator2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15264,1
    - Dst: FontStyle_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15284,1
    - Dst: LineProperties_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15336,1
    - Dst: MovieTexture_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15356,1
    - Dst: PositionInterpolator2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15408,1
    - Dst: TextureTransform_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15449,1
    - Dst: Viewpoint_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15469,1
    - Dst: CoordinateDouble_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15258,1
    - Dst: Extrusion_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15278,1
    - Dst: IntegerSequencer_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15330,1
    - Dst: MetadataInteger_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15350,1
    - Dst: Polyline2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15402,1
    - Dst: TextureBackground_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15443,1
    - Dst: TriangleSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15463,1
    - Dst: Contour2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15252,1
    - Dst: Disk2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15272,1
    - Dst: Group_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15304,1
    - Dst: IndexedTriangleSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15324,1
    - Dst: Material_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15344,1
    - Dst: NurbsPatchSurface_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15376,1
    - Dst: PlaneSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15396,1
    - Dst: StringSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15437,1
    - Dst: IndexedFaceSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15318,1
    - Dst: GeoPositionInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15298,1
    - Dst: Background_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15226,1
    - Dst: ColorInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15246,1
    - Dst: NurbsCurve_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15370,1
    - Dst: NurbsTrimmedSurface_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15390,1
    - Dst: SphereSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15431,1
    - Dst: Arc2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15220,1
    - Dst: Circle2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15240,1
    - Dst: GeoLOD_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15292,1
    - Dst: HAnimSegment_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15312,1
    - Dst: NavigationInfo_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15364,1
    - Dst: NurbsSweptSurface_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15384,1
    - Dst: ScalarInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15416,1
    - Dst: SignalPdu_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15425,1
    - Dst: Transform_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15457,1
    - Dst: HAnimDisplacer_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15306,1
    - Dst: BooleanToggle_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15234,1
    - Dst: Cylinder_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15266,1
    - Dst: GeoCoordinate_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15286,1
    - Dst: MultiTexture_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15358,1
    - Dst: LineSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15338,1
    - Dst: ProximitySensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15410,1
    - Dst: TimeSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15451,1
    - Dst: VisibilitySensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15471,1
    - Dst: Coordinate2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15260,1
    - Dst: FillProperties_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15280,1
    - Dst: IntegerTrigger_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15332,1
    - Dst: MetadataSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15352,1
    - Dst: Polypoint2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15404,1
    - Dst: TextureCoordinate_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15445,1
    - Dst: TriangleSet2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15465,1
    - Dst: MetadataDouble_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15346,1
    - Dst: IndexedTriangleStripSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15326,1
    - Dst: Anchor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15216,1
    - Dst: ContourPolyline2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15254,1
    - Dst: ElevationGrid_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15274,1
    - Dst: NurbsPositionInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15378,1
    - Dst: PointLight_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15398,1
    - Dst: Switch_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15439,1
    - Dst: Billboard_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15228,1
    - Dst: ColorRGBA_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15248,1
    - Dst: CylinderSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15268,1
    - Dst: IndexedLineSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15320,1
    - Dst: GeoTouchSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15300,1
    - Dst: NurbsCurve2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15372,1
    - Dst: OrientationInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15392,1
    - Dst: SpotLight_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15433,1
    - Dst: ArcClose2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15222,1
    - Dst: Collision_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15242,1
    - Dst: GeoMetadata_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15294,1
    - Dst: HAnimSite_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15314,1
    - Dst: Normal_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15366,1
    - Dst: NurbsSwungSurface_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15386,1
    - Dst: Script_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15420,1
    - Dst: Sound_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15427,1
    - Dst: TransmitterPdu_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15459,1
    - Dst: HAnimHumanoid_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15308,1
    - Dst: BooleanTrigger_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15236,1
    - Dst: GeoElevationGrid_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15288,1
    - Dst: MultiTextureCoordinate_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15360,1
    - Dst: LoadSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15340,1
    - Dst: ReceiverPdu_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15412,1
    - Dst: TimeTrigger_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15453,1
    - Dst: WorldInfo_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15473,1
    - Dst: KeySensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15334,1
    - Dst: MetadataString_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15354,1
    - Dst: BooleanFilter_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15230,1
    - Dst: CoordinateInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15262,1
    - Dst: Fog_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15282,1
    - Dst: PositionInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15406,1
    - Dst: TextureCoordinateGenerator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15447,1
    - Dst: TriangleStripSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15467,1
    - Dst: Coordinate_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15256,1
    - Dst: EspduTransform_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15276,1
    - Dst: MetadataFloat_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15348,1
    - Dst: Inline_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15328,1
    - Dst: NurbsSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15380,1
    - Dst: PointSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15400,1
    - Dst: Text_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15441,1
    - Dst: TriangleFanSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15461,1
    - Dst: Cone_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15250,1
    - Dst: DirectionalLight_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15270,1
    - Dst: IndexedTriangleFanSet_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15322,1
    - Dst: GeoViewpoint_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15302,1
    - Dst: NurbsOrientationInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15374,1
    - Dst: PixelTexture_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15394,1
    - Dst: StaticGroup_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15435,1
    - Dst: ImageTexture_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15316,1
    - Dst: AudioClip_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15224,1
    - Dst: Color_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15244,1
    - Dst: GeoOrigin_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15296,1
    - Dst: NormalInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15368,1
    - Dst: NurbsTextureCoordinate_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15388,1
    - Dst: Sphere_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15429,1
    - Dst: LOD_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15342,1
    - Dst: HAnimJoint_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15310,1
    - Dst: GeoLocation_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15290,1
    - Dst: MultiTextureTransform_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15362,1
    - Dst: Appearance_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15218,1
    - Dst: Box_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15238,1
    - Dst: NurbsSurfaceInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15382,1
    - Dst: Rectangle2D_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15414,1
    - Dst: Shape_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15423,1
    - Dst: TouchSensor_get_field_count
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15455,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 130
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15477
      start: 15212
    functionDepth: 0
    functionLinenumber: 15212
    functionLinenumberEnd: 15477
    functionName: gf_sg_x3d_node_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - MetadataInteger_get_field_count
    - ArcClose2D_get_field_count
    - PixelTexture_get_field_count
    - ColorRGBA_get_field_count
    - Appearance_get_field_count
    - GeoElevationGrid_get_field_count
    - Coordinate_get_field_count
    - StaticGroup_get_field_count
    - TriangleSet2D_get_field_count
    - Group_get_field_count
    - NurbsSurfaceInterpolator_get_field_count
    - Viewpoint_get_field_count
    - FillProperties_get_field_count
    - HAnimJoint_get_field_count
    - BooleanSequencer_get_field_count
    - BooleanToggle_get_field_count
    - Sphere_get_field_count
    - GeoPositionInterpolator_get_field_count
    - OrientationInterpolator_get_field_count
    - TextureBackground_get_field_count
    - NurbsPositionInterpolator_get_field_count
    - Cylinder_get_field_count
    - TransmitterPdu_get_field_count
    - SpotLight_get_field_count
    - NurbsCurve2D_get_field_count
    - TriangleStripSet_get_field_count
    - IntegerSequencer_get_field_count
    - KeySensor_get_field_count
    - NurbsOrientationInterpolator_get_field_count
    - IndexedFaceSet_get_field_count
    - GeoViewpoint_get_field_count
    - PositionInterpolator2D_get_field_count
    - MovieTexture_get_field_count
    - Box_get_field_count
    - NurbsCurve_get_field_count
    - Billboard_get_field_count
    - BooleanTrigger_get_field_count
    - GeoLOD_get_field_count
    - SignalPdu_get_field_count
    - TimeTrigger_get_field_count
    - TextureTransform_get_field_count
    - Circle2D_get_field_count
    - StringSensor_get_field_count
    - Polypoint2D_get_field_count
    - Script_get_field_count
    - ContourPolyline2D_get_field_count
    - CylinderSensor_get_field_count
    - HAnimDisplacer_get_field_count
    - PlaneSensor_get_field_count
    - LoadSensor_get_field_count
    - TimeSensor_get_field_count
    - Color_get_field_count
    - Contour2D_get_field_count
    - IndexedLineSet_get_field_count
    - NormalInterpolator_get_field_count
    - Normal_get_field_count
    - PositionInterpolator_get_field_count
    - GeoMetadata_get_field_count
    - DirectionalLight_get_field_count
    - MultiTextureCoordinate_get_field_count
    - NurbsSet_get_field_count
    - MultiTextureTransform_get_field_count
    - Transform_get_field_count
    - Collision_get_field_count
    - HAnimSite_get_field_count
    - SphereSensor_get_field_count
    - HAnimHumanoid_get_field_count
    - ColorInterpolator_get_field_count
    - IntegerTrigger_get_field_count
    - Material_get_field_count
    - MetadataFloat_get_field_count
    - Extrusion_get_field_count
    - ProximitySensor_get_field_count
    - BooleanFilter_get_field_count
    - NurbsTextureCoordinate_get_field_count
    - ScalarInterpolator_get_field_count
    - Rectangle2D_get_field_count
    - GeoTouchSensor_get_field_count
    - Inline_get_field_count
    - Coordinate2D_get_field_count
    - FontStyle_get_field_count
    - IndexedTriangleStripSet_get_field_count
    - ImageTexture_get_field_count
    - LineProperties_get_field_count
    - ElevationGrid_get_field_count
    - TriangleSet_get_field_count
    - NurbsTrimmedSurface_get_field_count
    - IndexedTriangleFanSet_get_field_count
    - TouchSensor_get_field_count
    - Switch_get_field_count
    - LOD_get_field_count
    - Fog_get_field_count
    - TextureCoordinate_get_field_count
    - Sound_get_field_count
    - Polyline2D_get_field_count
    - MetadataDouble_get_field_count
    - NurbsPatchSurface_get_field_count
    - Shape_get_field_count
    - MetadataString_get_field_count
    - VisibilitySensor_get_field_count
    - NurbsSweptSurface_get_field_count
    - WorldInfo_get_field_count
    - CoordinateDouble_get_field_count
    - HAnimSegment_get_field_count
    - MultiTexture_get_field_count
    - CoordinateInterpolator_get_field_count
    - PointLight_get_field_count
    - IndexedTriangleSet_get_field_count
    - ReceiverPdu_get_field_count
    - GeoOrigin_get_field_count
    - Arc2D_get_field_count
    - Text_get_field_count
    - LineSet_get_field_count
    - NurbsSwungSurface_get_field_count
    - PointSet_get_field_count
    - TextureCoordinateGenerator_get_field_count
    - NavigationInfo_get_field_count
    - TriangleFanSet_get_field_count
    - CoordinateInterpolator2D_get_field_count
    - AudioClip_get_field_count
    - MetadataSet_get_field_count
    - GeoLocation_get_field_count
    - GeoCoordinate_get_field_count
    - Disk2D_get_field_count
    - Cone_get_field_count
    - Anchor_get_field_count
    - EspduTransform_get_field_count
    - Background_get_field_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_x3d_node_get_field_count(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6433,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6434,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6435,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6436,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6437,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6438,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6439,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6440,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6441,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6442,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6443,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6445
      start: 6431
    functionDepth: 0
    functionLinenumber: 6431
    functionLinenumberEnd: 6445
    functionName: IndexedTriangleFanSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedTriangleFanSet_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9540,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9542,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9543,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9544,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9541,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9546
      start: 9538
    functionDepth: 0
    functionLinenumber: 9538
    functionLinenumberEnd: 9546
    functionName: NurbsSwungSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsSwungSurface_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10240,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10244,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10241,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10242,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10243,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10245,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10246,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10249
      start: 10238
    functionDepth: 0
    functionLinenumber: 10238
    functionLinenumberEnd: 10249
    functionName: PointLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointLight_get_field_index_by_name(char *name) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15527,1
    - Dst: FillProperties_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15547,1
    - Dst: IntegerTrigger_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15599,1
    - Dst: MetadataSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15619,1
    - Dst: Polypoint2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15671,1
    - Dst: Sound_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15691,1
    - Dst: TransmitterPdu_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15723,1
    - Dst: Anchor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15483,1
    - Dst: ContourPolyline2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15521,1
    - Dst: ElevationGrid_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15541,1
    - Dst: IndexedTriangleStripSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15593,1
    - Dst: HAnimDisplacer_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15573,1
    - Dst: NurbsPositionInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15645,1
    - Dst: PointLight_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15665,1
    - Dst: TimeTrigger_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15717,1
    - Dst: WorldInfo_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15737,1
    - Dst: IndexedLineSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15587,1
    - Dst: Billboard_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15495,1
    - Dst: ColorRGBA_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15515,1
    - Dst: GeoTouchSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15567,1
    - Dst: NurbsCurve2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15639,1
    - Dst: OrientationInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15659,1
    - Dst: TextureCoordinateGenerator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15711,1
    - Dst: TriangleStripSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15731,1
    - Dst: HAnimSite_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15581,1
    - Dst: Normal_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15633,1
    - Dst: ArcClose2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15489,1
    - Dst: Collision_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15509,1
    - Dst: GeoMetadata_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15561,1
    - Dst: MetadataDouble_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15613,1
    - Dst: NurbsSwungSurface_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15653,1
    - Dst: Script_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15685,1
    - Dst: Text_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15705,1
    - Dst: BooleanTrigger_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15503,1
    - Dst: CylinderSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15535,1
    - Dst: GeoElevationGrid_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15555,1
    - Dst: LoadSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15607,1
    - Dst: MultiTextureCoordinate_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15627,1
    - Dst: ReceiverPdu_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15679,1
    - Dst: StaticGroup_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15699,1
    - Dst: CoordinateInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15529,1
    - Dst: Fog_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15549,1
    - Dst: MetadataString_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15621,1
    - Dst: KeySensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15601,1
    - Dst: PositionInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15673,1
    - Dst: Sphere_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15693,1
    - Dst: TriangleFanSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15725,1
    - Dst: Inline_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15595,1
    - Dst: MetadataFloat_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15615,1
    - Dst: Coordinate_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15523,1
    - Dst: EspduTransform_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15543,1
    - Dst: HAnimHumanoid_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15575,1
    - Dst: NurbsSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15647,1
    - Dst: PointSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15667,1
    - Dst: TouchSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15719,1
    - Dst: GeoViewpoint_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15569,1
    - Dst: IndexedTriangleFanSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15589,1
    - Dst: BooleanFilter_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15497,1
    - Dst: Cone_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15517,1
    - Dst: NurbsOrientationInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15641,1
    - Dst: PixelTexture_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15661,1
    - Dst: TextureTransform_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15713,1
    - Dst: Viewpoint_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15733,1
    - Dst: AudioClip_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15491,1
    - Dst: Color_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15511,1
    - Dst: ImageTexture_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15583,1
    - Dst: GeoOrigin_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15563,1
    - Dst: NormalInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15635,1
    - Dst: NurbsTextureCoordinate_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15655,1
    - Dst: Shape_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15687,1
    - Dst: TextureBackground_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15707,1
    - Dst: TriangleSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15727,1
    - Dst: GeoLocation_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15557,1
    - Dst: HAnimJoint_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15577,1
    - Dst: Appearance_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15485,1
    - Dst: Box_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15505,1
    - Dst: DirectionalLight_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15537,1
    - Dst: LOD_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15609,1
    - Dst: MultiTextureTransform_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15629,1
    - Dst: Rectangle2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15681,1
    - Dst: StringSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15701,1
    - Dst: MovieTexture_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15623,1
    - Dst: CoordinateInterpolator2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15531,1
    - Dst: FontStyle_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15551,1
    - Dst: LineProperties_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15603,1
    - Dst: PositionInterpolator2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15675,1
    - Dst: SphereSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15695,1
    - Dst: IntegerSequencer_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15597,1
    - Dst: MetadataInteger_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15617,1
    - Dst: CoordinateDouble_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15525,1
    - Dst: Extrusion_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15545,1
    - Dst: NurbsSurfaceInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15649,1
    - Dst: Polyline2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15669,1
    - Dst: SignalPdu_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15689,1
    - Dst: Transform_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15721,1
    - Dst: BooleanSequencer_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15499,1
    - Dst: Contour2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15519,1
    - Dst: Disk2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15539,1
    - Dst: Group_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15571,1
    - Dst: IndexedTriangleSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15591,1
    - Dst: NurbsPatchSurface_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15643,1
    - Dst: PlaneSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15663,1
    - Dst: TimeSensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15715,1
    - Dst: VisibilitySensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15735,1
    - Dst: IndexedFaceSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15585,1
    - Dst: Background_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15493,1
    - Dst: ColorInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15513,1
    - Dst: GeoPositionInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15565,1
    - Dst: NurbsCurve_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15637,1
    - Dst: NurbsTrimmedSurface_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15657,1
    - Dst: TextureCoordinate_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15709,1
    - Dst: TriangleSet2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15729,1
    - Dst: HAnimSegment_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15579,1
    - Dst: Arc2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15487,1
    - Dst: Circle2D_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15507,1
    - Dst: GeoLOD_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15559,1
    - Dst: Material_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15611,1
    - Dst: NavigationInfo_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15631,1
    - Dst: NurbsSweptSurface_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15651,1
    - Dst: ScalarInterpolator_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15683,1
    - Dst: Switch_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15703,1
    - Dst: LineSet_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15605,1
    - Dst: MultiTexture_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15625,1
    - Dst: BooleanToggle_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15501,1
    - Dst: Cylinder_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15533,1
    - Dst: GeoCoordinate_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15553,1
    - Dst: ProximitySensor_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15677,1
    - Dst: SpotLight_get_field
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15697,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 130
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15741
      start: 15479
    functionDepth: 0
    functionLinenumber: 15479
    functionLinenumberEnd: 15741
    functionName: gf_sg_x3d_node_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - MovieTexture_get_field
    - NavigationInfo_get_field
    - NurbsCurve2D_get_field
    - TriangleStripSet_get_field
    - NurbsTrimmedSurface_get_field
    - HAnimSite_get_field
    - LoadSensor_get_field
    - NurbsSurfaceInterpolator_get_field
    - TextureTransform_get_field
    - Appearance_get_field
    - NormalInterpolator_get_field
    - BooleanTrigger_get_field
    - TransmitterPdu_get_field
    - Shape_get_field
    - KeySensor_get_field
    - DirectionalLight_get_field
    - IndexedTriangleFanSet_get_field
    - NurbsCurve_get_field
    - TimeSensor_get_field
    - Cylinder_get_field
    - Sound_get_field
    - SphereSensor_get_field
    - ColorRGBA_get_field
    - Arc2D_get_field
    - Material_get_field
    - GeoViewpoint_get_field
    - TextureCoordinateGenerator_get_field
    - ProximitySensor_get_field
    - MetadataDouble_get_field
    - Anchor_get_field
    - ElevationGrid_get_field
    - Normal_get_field
    - Rectangle2D_get_field
    - HAnimHumanoid_get_field
    - HAnimDisplacer_get_field
    - Disk2D_get_field
    - Billboard_get_field
    - IntegerSequencer_get_field
    - IntegerTrigger_get_field
    - OrientationInterpolator_get_field
    - Coordinate2D_get_field
    - ScalarInterpolator_get_field
    - TextureCoordinate_get_field
    - VisibilitySensor_get_field
    - TriangleFanSet_get_field
    - Color_get_field
    - Group_get_field
    - NurbsSwungSurface_get_field
    - ImageTexture_get_field
    - HAnimJoint_get_field
    - GeoCoordinate_get_field
    - SpotLight_get_field
    - TextureBackground_get_field
    - IndexedTriangleStripSet_get_field
    - NurbsPositionInterpolator_get_field
    - FillProperties_get_field
    - IndexedFaceSet_get_field
    - MetadataSet_get_field
    - GeoTouchSensor_get_field
    - NurbsSweptSurface_get_field
    - PositionInterpolator_get_field
    - IndexedTriangleSet_get_field
    - Extrusion_get_field
    - LineSet_get_field
    - CoordinateInterpolator_get_field
    - NurbsPatchSurface_get_field
    - CoordinateInterpolator2D_get_field
    - MetadataString_get_field
    - TouchSensor_get_field
    - GeoLOD_get_field
    - Contour2D_get_field
    - FontStyle_get_field
    - MetadataFloat_get_field
    - NurbsSet_get_field
    - TriangleSet2D_get_field
    - MetadataInteger_get_field
    - ColorInterpolator_get_field
    - BooleanSequencer_get_field
    - ReceiverPdu_get_field
    - GeoPositionInterpolator_get_field
    - TriangleSet_get_field
    - CoordinateDouble_get_field
    - Inline_get_field
    - GeoMetadata_get_field
    - BooleanToggle_get_field
    - GeoElevationGrid_get_field
    - Script_get_field
    - Coordinate_get_field
    - TimeTrigger_get_field
    - HAnimSegment_get_field
    - BooleanFilter_get_field
    - Collision_get_field
    - PointLight_get_field
    - Cone_get_field
    - EspduTransform_get_field
    - Sphere_get_field
    - LOD_get_field
    - GeoOrigin_get_field
    - PositionInterpolator2D_get_field
    - Circle2D_get_field
    - Text_get_field
    - StaticGroup_get_field
    - NurbsOrientationInterpolator_get_field
    - IndexedLineSet_get_field
    - AudioClip_get_field
    - PointSet_get_field
    - PlaneSensor_get_field
    - MultiTextureTransform_get_field
    - LineProperties_get_field
    - GeoLocation_get_field
    - StringSensor_get_field
    - WorldInfo_get_field
    - ContourPolyline2D_get_field
    - ArcClose2D_get_field
    - MultiTextureCoordinate_get_field
    - Switch_get_field
    - Polypoint2D_get_field
    - Box_get_field
    - Polyline2D_get_field
    - MultiTexture_get_field
    - Transform_get_field
    - PixelTexture_get_field
    - CylinderSensor_get_field
    - Viewpoint_get_field
    - NurbsTextureCoordinate_get_field
    - SignalPdu_get_field
    - Fog_get_field
    - Background_get_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_x3d_node_get_field(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:153,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:156,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:157,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:154,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:155,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:158,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: Appearance_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Appearance_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4038
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4038
    functionName: GeoElevationGrid_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoElevationGrid_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7364,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7367,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7366,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7368
      start: 7361
    functionDepth: 0
    functionLinenumber: 7361
    functionLinenumberEnd: 7368
    functionName: LOD_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void LOD_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10640,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10642
      start: 10637
    functionDepth: 0
    functionLinenumber: 10637
    functionLinenumberEnd: 10642
    functionName: ProximitySensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ProximitySensor_Del(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11948
      start: 11875
    functionDepth: 0
    functionLinenumber: 11875
    functionLinenumberEnd: 11948
    functionName: SpotLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SpotLight_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12014
      start: 12011
    functionDepth: 0
    functionLinenumber: 12011
    functionLinenumberEnd: 12014
    functionName: StaticGroup_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 StaticGroup_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12041,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12044
      start: 12039
    functionDepth: 0
    functionLinenumber: 12039
    functionLinenumberEnd: 12044
    functionName: StaticGroup_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 StaticGroup_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Appearance_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Appearance_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4166
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4166
    functionName: GeoElevationGrid_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoElevationGrid_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7374
      start: 7371
    functionDepth: 0
    functionLinenumber: 7371
    functionLinenumberEnd: 7374
    functionName: LOD_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LOD_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10648
      start: 10645
    functionDepth: 0
    functionLinenumber: 10645
    functionLinenumberEnd: 10648
    functionName: ProximitySensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ProximitySensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11953,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11957,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11954,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11958,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11960,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11961,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11962,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11963,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11965
      start: 11951
    functionDepth: 0
    functionLinenumber: 11951
    functionLinenumberEnd: 11965
    functionName: SpotLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SpotLight_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12036
      start: 12016
    functionDepth: 0
    functionLinenumber: 12016
    functionLinenumberEnd: 12036
    functionName: StaticGroup_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err StaticGroup_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12050,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12052,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12057
      start: 12047
    functionDepth: 0
    functionLinenumber: 12047
    functionLinenumberEnd: 12057
    functionName: StaticGroup_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *StaticGroup_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: CylinderSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CylinderSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5989,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5992,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5990,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5994
      start: 5987
    functionDepth: 0
    functionLinenumber: 5987
    functionLinenumberEnd: 5994
    functionName: ImageTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ImageTexture_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7331,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7332,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7333,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7334,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7335,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7336,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7337,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7340
      start: 7329
    functionDepth: 0
    functionLinenumber: 7329
    functionLinenumberEnd: 7340
    functionName: LoadSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LoadSensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7568,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7571,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7570,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7572,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7573
      start: 7565
    functionDepth: 0
    functionLinenumber: 7565
    functionLinenumberEnd: 7573
    functionName: MetadataDouble_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfdouble_del
    - gf_node_unregister
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MetadataDouble_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9398,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9399,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9400,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9402
      start: 9395
    functionDepth: 0
    functionLinenumber: 9395
    functionLinenumberEnd: 9402
    functionName: NurbsSweptSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NurbsSweptSurface_Del(GF_Node *node) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9826
      start: 9704
    functionDepth: 0
    functionLinenumber: 9704
    functionLinenumberEnd: 9826
    functionName: NurbsTrimmedSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsTrimmedSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10557,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10559,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10560,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10561
      start: 10554
    functionDepth: 0
    functionLinenumber: 10554
    functionLinenumberEnd: 10561
    functionName: PositionInterpolator2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void PositionInterpolator2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13884
      start: 13881
    functionDepth: 0
    functionLinenumber: 13881
    functionLinenumberEnd: 13884
    functionName: TriangleStripSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TriangleStripSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2308
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2308
    functionName: CylinderSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CylinderSensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6000,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 5997
    functionDepth: 0
    functionLinenumber: 5997
    functionLinenumberEnd: 6008
    functionName: ImageTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ImageTexture_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7346,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7354
      start: 7343
    functionDepth: 0
    functionLinenumber: 7343
    functionLinenumberEnd: 7354
    functionName: LoadSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *LoadSensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7579
      start: 7576
    functionDepth: 0
    functionLinenumber: 7576
    functionLinenumberEnd: 7579
    functionName: MetadataDouble_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MetadataDouble_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9835,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9844,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9845,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9848,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9843,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9847,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9842,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9841,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9850
      start: 9829
    functionDepth: 0
    functionLinenumber: 9829
    functionLinenumberEnd: 9850
    functionName: NurbsTrimmedSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsTrimmedSurface_get_field_index_by_name(char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13957
      start: 13886
    functionDepth: 0
    functionLinenumber: 13886
    functionLinenumberEnd: 13957
    functionName: TriangleStripSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TriangleStripSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9378,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9388
      start: 9375
    functionDepth: 0
    functionLinenumber: 9375
    functionLinenumberEnd: 9388
    functionName: NurbsSurfaceInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsSurfaceInterpolator_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10541,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10547
      start: 10538
    functionDepth: 0
    functionLinenumber: 10538
    functionLinenumberEnd: 10547
    functionName: PositionInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PositionInterpolator_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7612
      start: 7581
    functionDepth: 0
    functionLinenumber: 7581
    functionLinenumberEnd: 7612
    functionName: MetadataDouble_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MetadataDouble_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7617,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7618,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7619,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7622
      start: 7615
    functionDepth: 0
    functionLinenumber: 7615
    functionLinenumberEnd: 7622
    functionName: MetadataDouble_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MetadataDouble_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5942,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5943,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5945
      start: 5939
    functionDepth: 0
    functionLinenumber: 5939
    functionLinenumberEnd: 5945
    functionName: ImageTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ImageTexture_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2425,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2427,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2430,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2431,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2432,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2433,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2434,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2435,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2436,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2440
    functionName: DirectionalLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *DirectionalLight_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3764
      start: 3714
    functionDepth: 0
    functionLinenumber: 3714
    functionLinenumberEnd: 3764
    functionName: Fog_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Fog_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6169
      start: 6040
    functionDepth: 0
    functionLinenumber: 6040
    functionLinenumberEnd: 6169
    functionName: IndexedFaceSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedFaceSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10567
      start: 10564
    functionDepth: 0
    functionLinenumber: 10564
    functionLinenumberEnd: 10567
    functionName: PositionInterpolator2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionInterpolator2D_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12216,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12219,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12217,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12218,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12222
      start: 12214
    functionDepth: 0
    functionLinenumber: 12214
    functionLinenumberEnd: 12222
    functionName: Switch_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Switch_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3770,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3775,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3777
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3777
    functionName: Fog_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Fog_get_field_index_by_name(char *name) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6176,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6180,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6184,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6186,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6190,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6181,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6187,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6191,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6178,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6182,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6188,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6192,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6174,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6183,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6185,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6189,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6194
      start: 6172
    functionDepth: 0
    functionLinenumber: 6172
    functionLinenumberEnd: 6194
    functionName: IndexedFaceSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedFaceSet_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10607
      start: 10569
    functionDepth: 0
    functionLinenumber: 10569
    functionLinenumberEnd: 10607
    functionName: PositionInterpolator2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12228,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12231,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12236
      start: 12225
    functionDepth: 0
    functionLinenumber: 12225
    functionLinenumberEnd: 12236
    functionName: Switch_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Switch_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7849,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7848,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7851
      start: 7844
    functionDepth: 0
    functionLinenumber: 7844
    functionLinenumberEnd: 7851
    functionName: MetadataSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MetadataSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10762,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10764,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10766,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10763,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10767
      start: 10759
    functionDepth: 0
    functionLinenumber: 10759
    functionLinenumberEnd: 10767
    functionName: ReceiverPdu_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void ReceiverPdu_Del(GF_Node *node) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13459,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13460,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13464,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13474,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13478,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13482,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13488,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13492,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13496,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13461,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13465,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13475,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13479,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13483,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13485,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13489,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13462,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13476,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13480,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13484,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13486,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13490,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13494,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13467,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13477,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13481,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13487,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13495,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13498,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 85
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13502
      start: 13457
    functionDepth: 0
    functionLinenumber: 13457
    functionLinenumberEnd: 13502
    functionName: TransmitterPdu_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TransmitterPdu_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14136
      start: 14133
    functionDepth: 0
    functionLinenumber: 14133
    functionLinenumberEnd: 14136
    functionName: VisibilitySensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 VisibilitySensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7857,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7863
      start: 7854
    functionDepth: 0
    functionLinenumber: 7854
    functionLinenumberEnd: 7863
    functionName: MetadataSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MetadataSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13508,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13514,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13510,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13513,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13515,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13516,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13517,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13532,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13533,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13535,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13543,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13544,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13545,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13546,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13548,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13553
      start: 13505
    functionDepth: 0
    functionLinenumber: 13505
    functionLinenumberEnd: 13553
    functionName: TransmitterPdu_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TransmitterPdu_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1638,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1639,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1641
    functionName: Contour2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Contour2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10739,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10741,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10745,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10746,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10744,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10747,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10748,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10736
    functionDepth: 0
    functionLinenumber: 10736
    functionLinenumberEnd: 10752
    functionName: ProximitySensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ProximitySensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11304,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11307,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11306,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11305,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11308,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11310
      start: 11301
    functionDepth: 0
    functionLinenumber: 11301
    functionLinenumberEnd: 11310
    functionName: SignalPdu_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void SignalPdu_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1360
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1360
    functionName: Color_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Color_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: AudioClip_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioClip_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: BooleanSequencer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BooleanSequencer_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: Disk2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Disk2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1618,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1624,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1623,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1628
    functionName: Cone_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Cone_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8718
      start: 8715
    functionDepth: 0
    functionLinenumber: 8715
    functionLinenumberEnd: 8718
    functionName: NurbsCurve2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsCurve2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfimage_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9962,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9963,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9965
      start: 9959
    functionDepth: 0
    functionLinenumber: 9959
    functionLinenumberEnd: 9965
    functionName: PixelTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_sfimage_del
    linkageType: ''
    returnType: void
    signature: 'static void PixelTexture_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12122
      start: 12079
    functionDepth: 0
    functionLinenumber: 12079
    functionLinenumberEnd: 12122
    functionName: StringSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err StringSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1381
    functionName: Color_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Color_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 509
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 509
    functionName: AudioClip_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioClip_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 949
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 949
    functionName: BooleanSequencer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BooleanSequencer_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2485
    functionName: Disk2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Disk2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8769
      start: 8720
    functionDepth: 0
    functionLinenumber: 8720
    functionLinenumberEnd: 8769
    functionName: NurbsCurve2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9971
      start: 9968
    functionDepth: 0
    functionLinenumber: 9968
    functionLinenumberEnd: 9971
    functionName: PixelTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PixelTexture_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12128,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12129,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12130,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12134
      start: 12125
    functionDepth: 0
    functionLinenumber: 12125
    functionLinenumberEnd: 12134
    functionName: StringSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 StringSensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12645
      start: 12642
    functionDepth: 0
    functionLinenumber: 12642
    functionLinenumberEnd: 12645
    functionName: TextureTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureTransform_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12825
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12825
    functionName: TimeSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TimeSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13791,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13801
      start: 13788
    functionDepth: 0
    functionLinenumber: 13788
    functionLinenumberEnd: 13801
    functionName: TriangleSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TriangleSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1118,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: Box_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Box_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: ColorRGBA_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ColorRGBA_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8164
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8164
    functionName: MultiTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MultiTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10354,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10356,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10357
      start: 10351
    functionDepth: 0
    functionLinenumber: 10351
    functionLinenumberEnd: 10357
    functionName: Polyline2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void Polyline2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: Box_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Box_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1524
    functionName: ColorRGBA_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorRGBA_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8169,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8170,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8171,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8172,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8174,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8177
      start: 8167
    functionDepth: 0
    functionLinenumber: 8167
    functionLinenumberEnd: 8177
    functionName: MultiTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MultiTexture_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10363
      start: 10360
    functionDepth: 0
    functionLinenumber: 10360
    functionLinenumberEnd: 10363
    functionName: Polyline2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Polyline2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4450,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4451,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4452,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4453,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4454,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4455,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4456,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4457,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4458,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4459,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4461,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4463
      start: 4448
    functionDepth: 0
    functionLinenumber: 4448
    functionLinenumberEnd: 4463
    functionName: GeoLOD_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoLOD_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4469,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4477,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4480,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4471,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4479,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4481,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4482,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4485
      start: 4466
    functionDepth: 0
    functionLinenumber: 4466
    functionLinenumberEnd: 4485
    functionName: GeoLOD_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoLOD_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10004
      start: 9973
    functionDepth: 0
    functionLinenumber: 9973
    functionLinenumberEnd: 10004
    functionName: PixelTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PixelTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10038,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10040,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10041
      start: 10035
    functionDepth: 0
    functionLinenumber: 10035
    functionLinenumberEnd: 10041
    functionName: PlaneSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void PlaneSensor_Del(GF_Node *node) '
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11481
      start: 11318
    functionDepth: 0
    functionLinenumber: 11318
    functionLinenumberEnd: 11481
    functionName: SignalPdu_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SignalPdu_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10009,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10010,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10011,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10012,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10014
      start: 10007
    functionDepth: 0
    functionLinenumber: 10007
    functionLinenumberEnd: 10014
    functionName: PixelTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PixelTexture_get_field_index_by_name(char *name) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11490,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11494,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11504,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11498,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11508,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11495,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11501,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11505,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11509,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11488,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11492,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11502,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11496,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11506,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11510,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11486,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11489,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11487,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11503,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11507,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11511,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11513
      start: 11484
    functionDepth: 0
    functionLinenumber: 11484
    functionLinenumberEnd: 11513
    functionName: SignalPdu_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SignalPdu_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10020,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10028
      start: 10017
    functionDepth: 0
    functionLinenumber: 10017
    functionLinenumberEnd: 10028
    functionName: PixelTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PixelTexture_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12567,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12570,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12568,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12571
      start: 12564
    functionDepth: 0
    functionLinenumber: 12564
    functionLinenumberEnd: 12571
    functionName: TextureCoordinateGenerator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void TextureCoordinateGenerator_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13127
      start: 13061
    functionDepth: 0
    functionLinenumber: 13061
    functionLinenumberEnd: 13127
    functionName: Transform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1718,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1719,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1721
    functionName: ContourPolyline2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void ContourPolyline2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6920
      start: 6917
    functionDepth: 0
    functionLinenumber: 6917
    functionLinenumberEnd: 6920
    functionName: IntegerTrigger_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IntegerTrigger_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4361
      start: 4358
    functionDepth: 0
    functionLinenumber: 4358
    functionLinenumberEnd: 4361
    functionName: GeoLOD_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoLOD_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6987,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6989,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6990,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6991
      start: 6984
    functionDepth: 0
    functionLinenumber: 6984
    functionLinenumberEnd: 6991
    functionName: KeySensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void KeySensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8212
      start: 8209
    functionDepth: 0
    functionLinenumber: 8209
    functionLinenumberEnd: 8212
    functionName: MultiTextureCoordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MultiTextureCoordinate_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9484,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9487,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9485,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9488
      start: 9481
    functionDepth: 0
    functionLinenumber: 9481
    functionLinenumberEnd: 9488
    functionName: NurbsSwungSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NurbsSwungSurface_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12551,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12557
      start: 12548
    functionDepth: 0
    functionLinenumber: 12548
    functionLinenumberEnd: 12557
    functionName: TextureCoordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TextureCoordinate_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12609,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12611,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12613
      start: 12607
    functionDepth: 0
    functionLinenumber: 12607
    functionLinenumberEnd: 12613
    functionName: TextureCoordinateGenerator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureCoordinateGenerator_get_field_index_by_name(char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1727
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1727
    functionName: ContourPolyline2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ContourPolyline2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4445
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4445
    functionName: GeoLOD_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoLOD_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6954
      start: 6922
    functionDepth: 0
    functionLinenumber: 6922
    functionLinenumberEnd: 6954
    functionName: IntegerTrigger_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IntegerTrigger_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6997
      start: 6994
    functionDepth: 0
    functionLinenumber: 6994
    functionLinenumberEnd: 6997
    functionName: KeySensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 KeySensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8234
      start: 8214
    functionDepth: 0
    functionLinenumber: 8214
    functionLinenumberEnd: 8234
    functionName: MultiTextureCoordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MultiTextureCoordinate_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9494
      start: 9491
    functionDepth: 0
    functionLinenumber: 9491
    functionLinenumberEnd: 9494
    functionName: NurbsSwungSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsSwungSurface_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14239
      start: 14236
    functionDepth: 0
    functionLinenumber: 14236
    functionLinenumberEnd: 14239
    functionName: WorldInfo_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 WorldInfo_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9181
      start: 9178
    functionDepth: 0
    functionLinenumber: 9178
    functionLinenumberEnd: 9181
    functionName: NurbsSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12167
      start: 12164
    functionDepth: 0
    functionLinenumber: 12164
    functionLinenumberEnd: 12167
    functionName: Switch_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Switch_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9225
      start: 9183
    functionDepth: 0
    functionLinenumber: 9183
    functionLinenumberEnd: 9225
    functionName: NurbsSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12211
      start: 12169
    functionDepth: 0
    functionLinenumber: 12169
    functionLinenumberEnd: 12211
    functionName: Switch_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Switch_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4171,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4172,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4176,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4178,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4182,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4186,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4183,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4187,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4174,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4180,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4184,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4188,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4181,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4185,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4189,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4191
      start: 4169
    functionDepth: 0
    functionLinenumber: 4169
    functionLinenumberEnd: 4191
    functionName: GeoElevationGrid_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoElevationGrid_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7268
      start: 7265
    functionDepth: 0
    functionLinenumber: 7265
    functionLinenumberEnd: 7268
    functionName: LoadSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LoadSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7693,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7694,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7695,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7698
      start: 7691
    functionDepth: 0
    functionLinenumber: 7691
    functionLinenumberEnd: 7698
    functionName: MetadataFloat_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MetadataFloat_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8295
      start: 8275
    functionDepth: 0
    functionLinenumber: 8275
    functionLinenumberEnd: 8295
    functionName: MultiTextureTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MultiTextureTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12350
      start: 12347
    functionDepth: 0
    functionLinenumber: 12347
    functionLinenumberEnd: 12350
    functionName: TextureBackground_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureBackground_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12507,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12508,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12510
      start: 12504
    functionDepth: 0
    functionLinenumber: 12504
    functionLinenumberEnd: 12510
    functionName: TextureCoordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void TextureCoordinate_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4197,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4199,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4205,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4206,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4207,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4208,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4210,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4211,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4212,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4221
      start: 4194
    functionDepth: 0
    functionLinenumber: 4194
    functionLinenumberEnd: 4221
    functionName: GeoElevationGrid_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoElevationGrid_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7326
      start: 7270
    functionDepth: 0
    functionLinenumber: 7270
    functionLinenumberEnd: 7326
    functionName: LoadSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LoadSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7704,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7710
      start: 7701
    functionDepth: 0
    functionLinenumber: 7701
    functionLinenumberEnd: 7710
    functionName: MetadataFloat_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MetadataFloat_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8300,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8303
      start: 8298
    functionDepth: 0
    functionLinenumber: 8298
    functionLinenumberEnd: 8303
    functionName: MultiTextureTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MultiTextureTransform_get_field_index_by_name(char *name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12456
      start: 12352
    functionDepth: 0
    functionLinenumber: 12352
    functionLinenumberEnd: 12456
    functionName: TextureBackground_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureBackground_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12516
      start: 12513
    functionDepth: 0
    functionLinenumber: 12513
    functionLinenumberEnd: 12516
    functionName: TextureCoordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureCoordinate_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 68
    argCount: 2
    argNames:
    - NDT_Tag
    - NodeTag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 16437
      start: 16302
    functionDepth: 0
    functionLinenumber: 16302
    functionLinenumberEnd: 16437
    functionName: gf_x3d_get_node_type
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_x3d_get_node_type(u32 NDT_Tag, u32 NodeTag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13779,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13777,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13778,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13780,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13781,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13782,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13783,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13785
      start: 13773
    functionDepth: 0
    functionLinenumber: 13773
    functionLinenumberEnd: 13785
    functionName: TriangleSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TriangleSet_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13962,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13963,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13964,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13965,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13966,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13967,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13968,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13969,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13970,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13971,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13973
      start: 13960
    functionDepth: 0
    functionLinenumber: 13960
    functionLinenumberEnd: 13973
    functionName: TriangleStripSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TriangleStripSet_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2490,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2494
    functionName: Disk2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Disk2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4778
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4778
    functionName: GeoTouchSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoTouchSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1601
    functionName: Cone_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cone_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1868
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1868
    functionName: CoordinateDouble_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateDouble_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8580,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8584,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8583,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8581,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8586
      start: 8578
    functionDepth: 0
    functionLinenumber: 8578
    functionLinenumberEnd: 8586
    functionName: NormalInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NormalInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8670
      start: 8621
    functionDepth: 0
    functionLinenumber: 8621
    functionLinenumberEnd: 8670
    functionName: NurbsCurve_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1606,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1610,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1607,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1608,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1612
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1612
    functionName: Cone_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Cone_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1873,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1876
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1876
    functionName: CoordinateDouble_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateDouble_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2500,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2502,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2505,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2508
    functionName: Disk2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Disk2D_Create() '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4854
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4854
    functionName: GeoTouchSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoTouchSensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8592,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8598
      start: 8589
    functionDepth: 0
    functionLinenumber: 8589
    functionLinenumberEnd: 8598
    functionName: NormalInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NormalInterpolator_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8675,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8676,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8677,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8678,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8679,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8680,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8683
      start: 8673
    functionDepth: 0
    functionLinenumber: 8673
    functionLinenumberEnd: 8683
    functionName: NurbsCurve_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsCurve_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13979,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13989
      start: 13976
    functionDepth: 0
    functionLinenumber: 13976
    functionLinenumberEnd: 13989
    functionName: TriangleStripSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TriangleStripSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: Billboard_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Billboard_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3703,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3705,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3706
      start: 3700
    functionDepth: 0
    functionLinenumber: 3700
    functionLinenumberEnd: 3706
    functionName: Fog_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Fog_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6961,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6960,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6964
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6964
    functionName: IntegerTrigger_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IntegerTrigger_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14192,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14193,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14194,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14195,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14196,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14197,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14200
      start: 14190
    functionDepth: 0
    functionLinenumber: 14190
    functionLinenumberEnd: 14200
    functionName: VisibilitySensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 VisibilitySensor_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 767
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 767
    functionName: Billboard_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Billboard_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3712
      start: 3709
    functionDepth: 0
    functionLinenumber: 3709
    functionLinenumberEnd: 3712
    functionName: Fog_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Fog_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6970,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6977
      start: 6967
    functionDepth: 0
    functionLinenumber: 6967
    functionLinenumberEnd: 6977
    functionName: IntegerTrigger_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IntegerTrigger_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14206,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14208,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14212,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14213,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14211,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14215,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14216,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14219
      start: 14203
    functionDepth: 0
    functionLinenumber: 14203
    functionLinenumberEnd: 14219
    functionName: VisibilitySensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *VisibilitySensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5099
      start: 5096
    functionDepth: 0
    functionLinenumber: 5096
    functionLinenumberEnd: 5099
    functionName: Group_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Group_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6745,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6746,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6748
      start: 6742
    functionDepth: 0
    functionLinenumber: 6742
    functionLinenumberEnd: 6748
    functionName: Inline_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Inline_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10773
      start: 10770
    functionDepth: 0
    functionLinenumber: 10770
    functionLinenumberEnd: 10773
    functionName: ReceiverPdu_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ReceiverPdu_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11971,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11977,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11979,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11984,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11986,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11980,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11982,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11988,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11990,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11978,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11985,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11993,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11987,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11976,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11973,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11981,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11983,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11991,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11995
      start: 11968
    functionDepth: 0
    functionLinenumber: 11968
    functionLinenumberEnd: 11995
    functionName: SpotLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *SpotLight_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5137
      start: 5101
    functionDepth: 0
    functionLinenumber: 5101
    functionLinenumberEnd: 5137
    functionName: Group_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Group_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10938
      start: 10775
    functionDepth: 0
    functionLinenumber: 10775
    functionLinenumberEnd: 10938
    functionName: ReceiverPdu_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReceiverPdu_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6725,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6730,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6735
      start: 6722
    functionDepth: 0
    functionLinenumber: 6722
    functionLinenumberEnd: 6735
    functionName: IndexedTriangleStripSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IndexedTriangleStripSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11234,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11237,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11235,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11238
      start: 11231
    functionDepth: 0
    functionLinenumber: 11231
    functionLinenumberEnd: 11238
    functionName: Shape_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Shape_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11562
      start: 11559
    functionDepth: 0
    functionLinenumber: 11559
    functionLinenumberEnd: 11562
    functionName: Sound_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Sound_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11638
      start: 11564
    functionDepth: 0
    functionLinenumber: 11564
    functionLinenumberEnd: 11638
    functionName: Sound_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sound_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4344,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4348,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4345,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4347,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4346,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4349,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4350,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4351,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4352,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4353,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4355
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4355
    functionName: GeoLOD_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister_children
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoLOD_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8325,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8327,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8329,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8328,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8330
      start: 8322
    functionDepth: 0
    functionLinenumber: 8322
    functionLinenumberEnd: 8330
    functionName: NavigationInfo_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NavigationInfo_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11218,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11224
      start: 11215
    functionDepth: 0
    functionLinenumber: 11215
    functionLinenumberEnd: 11224
    functionName: Script_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Script_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11750,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11752,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11753
      start: 11747
    functionDepth: 0
    functionLinenumber: 11747
    functionLinenumberEnd: 11753
    functionName: SphereSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void SphereSensor_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4318,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4327,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4320,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4329,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4321,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4330,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4331,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4315
    functionDepth: 0
    functionLinenumber: 4315
    functionLinenumberEnd: 4334
    functionName: GeoLocation_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoLocation_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8309,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8315
      start: 8306
    functionDepth: 0
    functionLinenumber: 8306
    functionLinenumberEnd: 8315
    functionName: MultiTextureTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MultiTextureTransform_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11072,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11075,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11073,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11076
      start: 11069
    functionDepth: 0
    functionLinenumber: 11069
    functionLinenumberEnd: 11076
    functionName: ScalarInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ScalarInterpolator_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11733,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11735,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11740
      start: 11730
    functionDepth: 0
    functionLinenumber: 11730
    functionLinenumberEnd: 11740
    functionName: Sphere_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Sphere_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11835,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11837
      start: 11825
    functionDepth: 0
    functionLinenumber: 11825
    functionLinenumberEnd: 11837
    functionName: SphereSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SphereSensor_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11843,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11851,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11852,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11845,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11850,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11855
      start: 11840
    functionDepth: 0
    functionLinenumber: 11840
    functionLinenumberEnd: 11855
    functionName: SphereSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *SphereSensor_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11054,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11060,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11059,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11062
      start: 11051
    functionDepth: 0
    functionLinenumber: 11051
    functionLinenumberEnd: 11062
    functionName: Rectangle2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Rectangle2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8806,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8809,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8807,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8810,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8811
      start: 8803
    functionDepth: 0
    functionLinenumber: 8803
    functionLinenumberEnd: 8811
    functionName: NurbsOrientationInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfdouble_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsOrientationInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9070,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9073,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9071,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9074,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9075
      start: 9067
    functionDepth: 0
    functionLinenumber: 9067
    functionLinenumberEnd: 9075
    functionName: NurbsPositionInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfdouble_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsPositionInterpolator_Del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10717
      start: 10650
    functionDepth: 0
    functionLinenumber: 10650
    functionLinenumberEnd: 10717
    functionName: ProximitySensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProximitySensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11011,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11013
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11013
    functionName: Rectangle2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Rectangle2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11082
      start: 11079
    functionDepth: 0
    functionLinenumber: 11079
    functionLinenumberEnd: 11082
    functionName: ScalarInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ScalarInterpolator_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8817
      start: 8814
    functionDepth: 0
    functionLinenumber: 8814
    functionLinenumberEnd: 8817
    functionName: NurbsOrientationInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsOrientationInterpolator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9081
      start: 9078
    functionDepth: 0
    functionLinenumber: 9078
    functionLinenumberEnd: 9081
    functionName: NurbsPositionInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsPositionInterpolator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10722,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10725,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10726,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10724,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10723,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10727,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10728,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10729,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10730,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10731,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10733
      start: 10720
    functionDepth: 0
    functionLinenumber: 10720
    functionLinenumberEnd: 10733
    functionName: ProximitySensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ProximitySensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11019
      start: 11016
    functionDepth: 0
    functionLinenumber: 11016
    functionLinenumberEnd: 11019
    functionName: Rectangle2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Rectangle2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11122
      start: 11084
    functionDepth: 0
    functionLinenumber: 11084
    functionLinenumberEnd: 11122
    functionName: ScalarInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScalarInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5886
      start: 5814
    functionDepth: 0
    functionLinenumber: 5814
    functionLinenumberEnd: 5886
    functionName: HAnimSite_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HAnimSite_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6877
      start: 6825
    functionDepth: 0
    functionLinenumber: 6825
    functionLinenumberEnd: 6877
    functionName: IntegerSequencer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IntegerSequencer_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7424
      start: 7376
    functionDepth: 0
    functionLinenumber: 7376
    functionLinenumberEnd: 7424
    functionName: LOD_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LOD_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8336
      start: 8333
    functionDepth: 0
    functionLinenumber: 8333
    functionLinenumberEnd: 8336
    functionName: NavigationInfo_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NavigationInfo_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10170,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10172
      start: 10167
    functionDepth: 0
    functionLinenumber: 10167
    functionLinenumberEnd: 10172
    functionName: PointLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointLight_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12246,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12249,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12250,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12247,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12251
      start: 12243
    functionDepth: 0
    functionLinenumber: 12243
    functionLinenumberEnd: 12251
    functionName: Text_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Text_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5891,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5895,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5894,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5893,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5896,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5897,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5898,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5899,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5900,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5902
      start: 5889
    functionDepth: 0
    functionLinenumber: 5889
    functionLinenumberEnd: 5902
    functionName: HAnimSite_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 HAnimSite_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6882,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6883,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6884,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6885,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6886,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6887,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6890
      start: 6880
    functionDepth: 0
    functionLinenumber: 6880
    functionLinenumberEnd: 6890
    functionName: IntegerSequencer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IntegerSequencer_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7429,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7433,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7430,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7431,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7432,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7436
      start: 7427
    functionDepth: 0
    functionLinenumber: 7427
    functionLinenumberEnd: 7436
    functionName: LOD_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LOD_get_field_index_by_name(char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8406
      start: 8338
    functionDepth: 0
    functionLinenumber: 8338
    functionLinenumberEnd: 8406
    functionName: NavigationInfo_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NavigationInfo_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10178
      start: 10175
    functionDepth: 0
    functionLinenumber: 10175
    functionLinenumberEnd: 10178
    functionName: PointLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointLight_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12257
      start: 12254
    functionDepth: 0
    functionLinenumber: 12254
    functionLinenumberEnd: 12257
    functionName: Text_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Text_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1478,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1484
    functionName: ColorInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ColorInterpolator_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1690,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1692,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1691,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1695
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1695
    functionName: Contour2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Contour2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1762,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1768
    functionName: ContourPolyline2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ContourPolyline2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1787
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1787
    functionName: Coordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Coordinate_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 2009
    functionName: CoordinateInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4299
      start: 4244
    functionDepth: 0
    functionLinenumber: 4244
    functionLinenumberEnd: 4299
    functionName: GeoLocation_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoLocation_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3633
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3633
    functionName: FillProperties_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FillProperties_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7655
      start: 7652
    functionDepth: 0
    functionLinenumber: 7652
    functionLinenumberEnd: 7655
    functionName: MetadataFloat_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MetadataFloat_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1701,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1704,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1708
    functionName: Contour2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Contour2D_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1808
    functionName: Coordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2014,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2017,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2018,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2015,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2020
    functionName: CoordinateInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3665
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3665
    functionName: FillProperties_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FillProperties_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4304,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4305,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4306,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4307,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4308,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4309,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4312
      start: 4302
    functionDepth: 0
    functionLinenumber: 4302
    functionLinenumberEnd: 4312
    functionName: GeoLocation_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoLocation_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7688
      start: 7657
    functionDepth: 0
    functionLinenumber: 7657
    functionLinenumberEnd: 7688
    functionName: MetadataFloat_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MetadataFloat_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10323
      start: 10296
    functionDepth: 0
    functionLinenumber: 10296
    functionLinenumberEnd: 10323
    functionName: PointSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11724,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11727
      start: 11722
    functionDepth: 0
    functionLinenumber: 11722
    functionLinenumberEnd: 11727
    functionName: Sphere_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Sphere_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9582
      start: 9579
    functionDepth: 0
    functionLinenumber: 9579
    functionLinenumberEnd: 9582
    functionName: NurbsTextureCoordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsTextureCoordinate_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11719
      start: 11700
    functionDepth: 0
    functionLinenumber: 11700
    functionLinenumberEnd: 11719
    functionName: Sphere_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sphere_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9645
      start: 9584
    functionDepth: 0
    functionLinenumber: 9584
    functionLinenumberEnd: 9645
    functionName: NurbsTextureCoordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsTextureCoordinate_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:49,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:52,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:51,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:50,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:53,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: Anchor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_sfstring_del
    - gf_sg_mfurl_del
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Anchor_Del(GF_Node *node) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3547
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3547
    functionName: Extrusion_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Extrusion_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8056,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8060,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8057,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8058,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8059,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8061,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8062,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8063,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8064,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8065,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8069,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8068,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8067,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8066,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8071
      start: 8054
    functionDepth: 0
    functionLinenumber: 8054
    functionLinenumberEnd: 8071
    functionName: MovieTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MovieTexture_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9454,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9455,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9456,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9457,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9460
      start: 9452
    functionDepth: 0
    functionLinenumber: 9452
    functionLinenumberEnd: 9460
    functionName: NurbsSweptSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsSweptSurface_get_field_index_by_name(char *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12461,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12462,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12464,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12465,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12467,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12474,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12475,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12477
      start: 12459
    functionDepth: 0
    functionLinenumber: 12459
    functionLinenumberEnd: 12477
    functionName: TextureBackground_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureBackground_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Anchor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Anchor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3552,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3556,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3555,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3553,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3554,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3557,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3558,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3559,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3561,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3565,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3564,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3563,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3562,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3566,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3568
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3568
    functionName: Extrusion_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Extrusion_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8077,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8079,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8090
      start: 8074
    functionDepth: 0
    functionLinenumber: 8074
    functionLinenumberEnd: 8090
    functionName: MovieTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MovieTexture_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9466,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9474
      start: 9463
    functionDepth: 0
    functionLinenumber: 9463
    functionLinenumberEnd: 9474
    functionName: NurbsSweptSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsSweptSurface_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12483,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12485,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12491,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12490,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12492,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12493,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12497
      start: 12480
    functionDepth: 0
    functionLinenumber: 12480
    functionLinenumberEnd: 12497
    functionName: TextureBackground_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TextureBackground_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5090,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5091,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5093
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5093
    functionName: Group_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Group_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6912,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6914
      start: 6909
    functionDepth: 0
    functionLinenumber: 6909
    functionLinenumberEnd: 6914
    functionName: IntegerTrigger_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void IntegerTrigger_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7462,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7464
      start: 7459
    functionDepth: 0
    functionLinenumber: 7459
    functionLinenumberEnd: 7464
    functionName: Material_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Material_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4768,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4771,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4770,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4772
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4772
    functionName: GeoTouchSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoTouchSensor_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6896,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6902
      start: 6893
    functionDepth: 0
    functionLinenumber: 6893
    functionLinenumberEnd: 6902
    functionName: IntegerSequencer_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IntegerSequencer_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5051,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5056,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5061,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5059,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5053,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5062,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5063,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5064,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5065,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5067,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5068,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5071,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5072,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5073,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5074,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5069,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5078,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5080
      start: 5048
    functionDepth: 0
    functionLinenumber: 5048
    functionLinenumberEnd: 5080
    functionName: GeoViewpoint_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoViewpoint_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7442,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7444,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7448,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7445,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7449,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7452
      start: 7439
    functionDepth: 0
    functionLinenumber: 7439
    functionLinenumberEnd: 7452
    functionName: LOD_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *LOD_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13841
      start: 13822
    functionDepth: 0
    functionLinenumber: 13822
    functionLinenumberEnd: 13841
    functionName: TriangleSet2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TriangleSet2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13849
      start: 13844
    functionDepth: 0
    functionLinenumber: 13844
    functionLinenumberEnd: 13849
    functionName: TriangleSet2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TriangleSet2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4746,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4754,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4751,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4748,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4753,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4755,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4743
    functionDepth: 0
    functionLinenumber: 4743
    functionLinenumberEnd: 4758
    functionName: GeoPositionInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcpy
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoPositionInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5254,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5256,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5258,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5257,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5255,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5259,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5260,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5261,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5262,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5263,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5266,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5265,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5267
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5267
    functionName: HAnimHumanoid_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister_children
    - gf_sg_sfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void HAnimHumanoid_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1461
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1461
    functionName: ColorInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5237,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5242,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5244
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5244
    functionName: HAnimDisplacer_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *HAnimDisplacer_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14266
      start: 14241
    functionDepth: 0
    functionLinenumber: 14241
    functionLinenumberEnd: 14266
    functionName: WorldInfo_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WorldInfo_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1472
    functionName: ColorInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ColorInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8870
      start: 8819
    functionDepth: 0
    functionLinenumber: 8819
    functionLinenumberEnd: 8870
    functionName: NurbsOrientationInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsOrientationInterpolator_get_field(GF_Node *node,
      GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9134
      start: 9083
    functionDepth: 0
    functionLinenumber: 9083
    functionLinenumberEnd: 9134
    functionName: NurbsPositionInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsPositionInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13871,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13873,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13874,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13875,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13872,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13876,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13878
      start: 13868
    functionDepth: 0
    functionLinenumber: 13868
    functionLinenumberEnd: 13878
    functionName: TriangleStripSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void TriangleStripSet_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8875,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8876,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8879,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8877,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8878,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8880,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8881,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8883
      start: 8873
    functionDepth: 0
    functionLinenumber: 8873
    functionLinenumberEnd: 8883
    functionName: NurbsOrientationInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsOrientationInterpolator_get_field_index_by_name(char
      *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9143,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9147
      start: 9137
    functionDepth: 0
    functionLinenumber: 9137
    functionLinenumberEnd: 9147
    functionName: NurbsPositionInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsPositionInterpolator_get_field_index_by_name(char
      *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14272,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14275
      start: 14269
    functionDepth: 0
    functionLinenumber: 14269
    functionLinenumberEnd: 14275
    functionName: WorldInfo_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 WorldInfo_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11200
      start: 11169
    functionDepth: 0
    functionLinenumber: 11169
    functionLinenumberEnd: 11200
    functionName: Script_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Script_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13855,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13861
      start: 13852
    functionDepth: 0
    functionLinenumber: 13852
    functionLinenumberEnd: 13861
    functionName: TriangleSet2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TriangleSet2D_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1214,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: Circle2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Circle2D_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3670,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3671,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3672,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3675
      start: 3668
    functionDepth: 0
    functionLinenumber: 3668
    functionLinenumberEnd: 3675
    functionName: FillProperties_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FillProperties_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7227
      start: 7194
    functionDepth: 0
    functionLinenumber: 7194
    functionLinenumberEnd: 7227
    functionName: LineSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LineSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8464,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8466,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8467
      start: 8461
    functionDepth: 0
    functionLinenumber: 8461
    functionLinenumberEnd: 8467
    functionName: Normal_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Normal_Del(GF_Node *node) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9354
      start: 9273
    functionDepth: 0
    functionLinenumber: 9273
    functionLinenumberEnd: 9354
    functionName: NurbsSurfaceInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSurfaceInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12297
      start: 12259
    functionDepth: 0
    functionLinenumber: 12259
    functionLinenumberEnd: 12297
    functionName: Text_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Text_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12577
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12577
    functionName: TextureCoordinateGenerator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureCoordinateGenerator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 130
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 2
    argCount: 1
    argNames:
    - NodeTag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 14818
      start: 14556
    functionDepth: 0
    functionLinenumber: 14556
    functionLinenumberEnd: 14818
    functionName: gf_sg_x3d_node_get_class_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_sg_x3d_node_get_class_name(u32 NodeTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1223,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1228,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1230
    functionName: Circle2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Circle2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3681,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3688,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3689,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3683,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3693
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3693
    functionName: FillProperties_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *FillProperties_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7232,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7233,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7234,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7237
      start: 7230
    functionDepth: 0
    functionLinenumber: 7230
    functionLinenumberEnd: 7237
    functionName: LineSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LineSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8473
      start: 8470
    functionDepth: 0
    functionLinenumber: 8470
    functionLinenumberEnd: 8473
    functionName: Normal_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Normal_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9359,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9360,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9361,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9362,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9363,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9364,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9365,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9366,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9367,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9368,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9370,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9369,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9372
      start: 9357
    functionDepth: 0
    functionLinenumber: 9357
    functionLinenumberEnd: 9372
    functionName: NurbsSurfaceInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsSurfaceInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12302,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12303,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12304,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12305,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12308
      start: 12300
    functionDepth: 0
    functionLinenumber: 12300
    functionLinenumberEnd: 12308
    functionName: Text_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Text_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12604
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12604
    functionName: TextureCoordinateGenerator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureCoordinateGenerator_get_field(GF_Node *node,
      GF_FieldInfo *info) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: Arc2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14830,1
    - Dst: BooleanTrigger_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14854,1
    - Dst: ContourPolyline2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14881,1
    - Dst: GeoElevationGrid_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14932,1
    - Dst: IndexedTriangleFanSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14983,1
    - Dst: MovieTexture_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15034,1
    - Dst: DirectionalLight_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14905,1
    - Dst: Group_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14956,1
    - Dst: LineSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15007,1
    - Dst: NurbsCurve2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15058,1
    - Dst: Polypoint2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15106,1
    - Dst: Text_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15157,1
    - Dst: Shape_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15130,1
    - Dst: TimeTrigger_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15175,1
    - Dst: NurbsTrimmedSurface_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15085,1
    - Dst: Sound_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15136,1
    - Dst: TriangleFanSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15187,1
    - Dst: NurbsSwungSurface_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15079,1
    - Dst: Transform_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15181,1
    - Dst: ArcClose2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14833,1
    - Dst: Box_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14857,1
    - Dst: Coordinate_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14884,1
    - Dst: GeoLocation_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14935,1
    - Dst: MultiTexture_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15037,1
    - Dst: IndexedTriangleSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14986,1
    - Dst: Disk2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14908,1
    - Dst: HAnimDisplacer_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14959,1
    - Dst: LoadSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15010,1
    - Dst: NurbsOrientationInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15061,1
    - Dst: PositionInterpolator2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15112,1
    - Dst: TextureCoordinate_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15163,1
    - Dst: AudioClip_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14836,1
    - Dst: Circle2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14860,1
    - Dst: ElevationGrid_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14911,1
    - Dst: HAnimHumanoid_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14962,1
    - Dst: LOD_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15013,1
    - Dst: CoordinateDouble_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14887,1
    - Dst: GeoLOD_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14938,1
    - Dst: IndexedTriangleStripSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14989,1
    - Dst: MultiTextureCoordinate_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15040,1
    - Dst: NurbsPatchSurface_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15064,1
    - Dst: PlaneSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15094,1
    - Dst: SpotLight_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15145,1
    - Dst: TriangleStripSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15196,1
    - Dst: Coordinate2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14890,1
    - Dst: GeoMetadata_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14941,1
    - Dst: Inline_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14992,1
    - Dst: MultiTextureTransform_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15043,1
    - Dst: EspduTransform_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14914,1
    - Dst: HAnimJoint_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14965,1
    - Dst: Material_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15016,1
    - Dst: Background_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14839,1
    - Dst: Collision_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14863,1
    - Dst: NurbsPositionInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15067,1
    - Dst: PointSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15100,1
    - Dst: StringSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15151,1
    - Dst: VisibilitySensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15202,1
    - Dst: FontStyle_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14926,1
    - Dst: Rectangle2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15121,1
    - Dst: TimeSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15172,1
    - Dst: NormalInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15052,1
    - Dst: Polyline2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15103,1
    - Dst: Switch_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15154,1
    - Dst: WorldInfo_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15205,1
    - Dst: Billboard_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14842,1
    - Dst: Color_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14866,1
    - Dst: CoordinateInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14893,1
    - Dst: GeoOrigin_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14944,1
    - Dst: IntegerSequencer_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14995,1
    - Dst: NavigationInfo_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15046,1
    - Dst: Extrusion_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14917,1
    - Dst: HAnimSegment_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14968,1
    - Dst: MetadataDouble_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15019,1
    - Dst: NurbsSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15070,1
    - Dst: NurbsSweptSurface_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15076,1
    - Dst: Script_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15127,1
    - Dst: NurbsTextureCoordinate_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15082,1
    - Dst: Anchor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14824,1
    - Dst: SignalPdu_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15133,1
    - Dst: TouchSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15178,1
    - Dst: TransmitterPdu_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15184,1
    - Dst: MetadataFloat_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15022,1
    - Dst: BooleanFilter_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14845,1
    - Dst: ColorInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14869,1
    - Dst: CoordinateInterpolator2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14896,1
    - Dst: GeoPositionInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14947,1
    - Dst: IntegerTrigger_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14998,1
    - Dst: Normal_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15049,1
    - Dst: HAnimSite_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14971,1
    - Dst: FillProperties_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14920,1
    - Dst: NurbsSurfaceInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15073,1
    - Dst: OrientationInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15088,1
    - Dst: Sphere_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15139,1
    - Dst: TriangleSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15190,1
    - Dst: PositionInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15109,1
    - Dst: TextureBackground_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15160,1
    - Dst: PixelTexture_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15091,1
    - Dst: SphereSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15142,1
    - Dst: TriangleSet2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15193,1
    - Dst: BooleanSequencer_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14848,1
    - Dst: Cone_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14875,1
    - Dst: ColorRGBA_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14872,1
    - Dst: IndexedFaceSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14977,1
    - Dst: Fog_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14923,1
    - Dst: ImageTexture_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14974,1
    - Dst: MetadataInteger_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15025,1
    - Dst: Cylinder_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14899,1
    - Dst: GeoTouchSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14950,1
    - Dst: KeySensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15001,1
    - Dst: ProximitySensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15115,1
    - Dst: TextureCoordinateGenerator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15166,1
    - Dst: PointLight_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15097,1
    - Dst: StaticGroup_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15148,1
    - Dst: Viewpoint_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15199,1
    - Dst: ReceiverPdu_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15118,1
    - Dst: TextureTransform_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15169,1
    - Dst: CylinderSensor_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14902,1
    - Dst: GeoViewpoint_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14953,1
    - Dst: LineProperties_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15004,1
    - Dst: GeoCoordinate_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14929,1
    - Dst: IndexedLineSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14980,1
    - Dst: MetadataString_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15031,1
    - Dst: Appearance_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14827,1
    - Dst: BooleanToggle_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14851,1
    - Dst: Contour2D_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14878,1
    - Dst: NurbsCurve_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15055,1
    - Dst: ScalarInterpolator_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15124,1
    - Dst: MetadataSet_Del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15028,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 130
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15210
      start: 14820
    functionDepth: 0
    functionLinenumber: 14820
    functionLinenumberEnd: 15210
    functionName: gf_sg_x3d_node_del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - Transform_Del
    - Collision_Del
    - MetadataString_Del
    - GeoViewpoint_Del
    - HAnimHumanoid_Del
    - NurbsSet_Del
    - WorldInfo_Del
    - CoordinateDouble_Del
    - IntegerTrigger_Del
    - ElevationGrid_Del
    - PointLight_Del
    - CoordinateInterpolator2D_Del
    - NurbsCurve_Del
    - Disk2D_Del
    - MultiTextureCoordinate_Del
    - ImageTexture_Del
    - PlaneSensor_Del
    - HAnimDisplacer_Del
    - NurbsCurve2D_Del
    - MovieTexture_Del
    - GeoElevationGrid_Del
    - PixelTexture_Del
    - Background_Del
    - GeoCoordinate_Del
    - BooleanToggle_Del
    - Contour2D_Del
    - BooleanSequencer_Del
    - Billboard_Del
    - Script_Del
    - Switch_Del
    - MetadataDouble_Del
    - ColorInterpolator_Del
    - ContourPolyline2D_Del
    - PointSet_Del
    - TextureTransform_Del
    - SpotLight_Del
    - Normal_Del
    - Group_Del
    - LoadSensor_Del
    - GeoOrigin_Del
    - TextureBackground_Del
    - EspduTransform_Del
    - NurbsPatchSurface_Del
    - TimeSensor_Del
    - TimeTrigger_Del
    - IndexedTriangleFanSet_Del
    - GeoLocation_Del
    - LineSet_Del
    - Box_Del
    - NormalInterpolator_Del
    - SignalPdu_Del
    - TouchSensor_Del
    - Inline_Del
    - GeoPositionInterpolator_Del
    - TriangleSet2D_Del
    - Text_Del
    - PositionInterpolator_Del
    - MultiTexture_Del
    - Extrusion_Del
    - ArcClose2D_Del
    - MetadataFloat_Del
    - CoordinateInterpolator_Del
    - TextureCoordinateGenerator_Del
    - Material_Del
    - IndexedFaceSet_Del
    - MetadataInteger_Del
    - Circle2D_Del
    - Sound_Del
    - NurbsSurfaceInterpolator_Del
    - Arc2D_Del
    - Polypoint2D_Del
    - PositionInterpolator2D_Del
    - Cylinder_Del
    - VisibilitySensor_Del
    - BooleanTrigger_Del
    - Polyline2D_Del
    - NurbsTextureCoordinate_Del
    - Shape_Del
    - MetadataSet_Del
    - Color_Del
    - AudioClip_Del
    - HAnimJoint_Del
    - NurbsSweptSurface_Del
    - StaticGroup_Del
    - TriangleStripSet_Del
    - HAnimSite_Del
    - FillProperties_Del
    - GeoMetadata_Del
    - GeoTouchSensor_Del
    - NavigationInfo_Del
    - NurbsSwungSurface_Del
    - ScalarInterpolator_Del
    - Viewpoint_Del
    - TextureCoordinate_Del
    - CylinderSensor_Del
    - IndexedTriangleSet_Del
    - ProximitySensor_Del
    - TriangleFanSet_Del
    - MultiTextureTransform_Del
    - IndexedLineSet_Del
    - Cone_Del
    - Sphere_Del
    - Anchor_Del
    - LineProperties_Del
    - NurbsPositionInterpolator_Del
    - StringSensor_Del
    - BooleanFilter_Del
    - GeoLOD_Del
    - NurbsTrimmedSurface_Del
    - Coordinate2D_Del
    - DirectionalLight_Del
    - HAnimSegment_Del
    - KeySensor_Del
    - ColorRGBA_Del
    - TransmitterPdu_Del
    - Coordinate_Del
    - Rectangle2D_Del
    - SphereSensor_Del
    - Fog_Del
    - FontStyle_Del
    - ReceiverPdu_Del
    - IndexedTriangleStripSet_Del
    - NurbsOrientationInterpolator_Del
    - OrientationInterpolator_Del
    - TriangleSet_Del
    - IntegerSequencer_Del
    - LOD_Del
    - Appearance_Del
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_x3d_node_del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6222,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6224,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6226,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6225,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6223,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6227,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6228,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6230
      start: 6219
    functionDepth: 0
    functionLinenumber: 6219
    functionLinenumberEnd: 6230
    functionName: IndexedLineSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedLineSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8203,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8205,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8206
      start: 8200
    functionDepth: 0
    functionLinenumber: 8200
    functionLinenumberEnd: 8206
    functionName: MultiTextureCoordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void MultiTextureCoordinate_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12724,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12726
      start: 12721
    functionDepth: 0
    functionLinenumber: 12721
    functionLinenumberEnd: 12726
    functionName: TimeSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TimeSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13691,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13693,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13692,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13695,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13694,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13697
      start: 13688
    functionDepth: 0
    functionLinenumber: 13688
    functionLinenumberEnd: 13697
    functionName: TriangleSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TriangleSet_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6200,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6212
      start: 6197
    functionDepth: 0
    functionLinenumber: 6197
    functionLinenumberEnd: 6212
    functionName: IndexedFaceSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *IndexedFaceSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2053
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2053
    functionName: CoordinateInterpolator2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateInterpolator2D_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7066
      start: 6999
    functionDepth: 0
    functionLinenumber: 6999
    functionLinenumberEnd: 7066
    functionName: KeySensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err KeySensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8183,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8189,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8190,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8185,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8193
      start: 8180
    functionDepth: 0
    functionLinenumber: 8180
    functionLinenumberEnd: 8193
    functionName: MultiTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MultiTexture_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12158,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12159,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12161
      start: 12155
    functionDepth: 0
    functionLinenumber: 12155
    functionLinenumberEnd: 12161
    functionName: Switch_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Switch_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12701,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12703,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12708,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12707,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12706,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12709,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12710,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12711,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12714
      start: 12698
    functionDepth: 0
    functionLinenumber: 12698
    functionLinenumberEnd: 12714
    functionName: TextureTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TextureTransform_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13671,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13681
      start: 13668
    functionDepth: 0
    functionLinenumber: 13668
    functionLinenumberEnd: 13681
    functionName: TriangleFanSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TriangleFanSet_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13703
      start: 13700
    functionDepth: 0
    functionLinenumber: 13700
    functionLinenumberEnd: 13703
    functionName: TriangleSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TriangleSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2093
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2093
    functionName: CoordinateInterpolator2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7071,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7073,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7074,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7072,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7075,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7076,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7077,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7078,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7079,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7080,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7082
      start: 7069
    functionDepth: 0
    functionLinenumber: 7069
    functionLinenumberEnd: 7082
    functionName: KeySensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 KeySensor_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13770
      start: 13705
    functionDepth: 0
    functionLinenumber: 13705
    functionLinenumberEnd: 13770
    functionName: TriangleSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TriangleSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12140,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12148
      start: 12137
    functionDepth: 0
    functionLinenumber: 12137
    functionLinenumberEnd: 12148
    functionName: StringSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *StringSensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7470
      start: 7467
    functionDepth: 0
    functionLinenumber: 7467
    functionLinenumberEnd: 7470
    functionName: Material_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Material_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7526,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7528,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7527,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7530,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7529,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7531,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7534
      start: 7524
    functionDepth: 0
    functionLinenumber: 7524
    functionLinenumberEnd: 7534
    functionName: Material_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Material_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8100,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8104,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8103,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8102,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8101,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8106
      start: 8097
    functionDepth: 0
    functionLinenumber: 8097
    functionLinenumberEnd: 8106
    functionName: MultiTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void MultiTexture_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12684
      start: 12647
    functionDepth: 0
    functionLinenumber: 12647
    functionLinenumberEnd: 12684
    functionName: TextureTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14281,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14287
      start: 14278
    functionDepth: 0
    functionLinenumber: 14278
    functionLinenumberEnd: 14287
    functionName: WorldInfo_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *WorldInfo_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7521
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7521
    functionName: Material_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Material_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7540,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7545,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7547,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7542,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7546,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7548,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7549,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7550,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7551,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7552,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7553,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7554,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7555,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7558
      start: 7537
    functionDepth: 0
    functionLinenumber: 7537
    functionLinenumberEnd: 7558
    functionName: Material_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Material_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8112
      start: 8109
    functionDepth: 0
    functionLinenumber: 8109
    functionLinenumberEnd: 8112
    functionName: MultiTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MultiTexture_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12689,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12690,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12691,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12692,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12693,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12695
      start: 12687
    functionDepth: 0
    functionLinenumber: 12687
    functionLinenumberEnd: 12695
    functionName: TextureTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureTransform_get_field_index_by_name(char *name) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: Cone_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14330,1
    - Dst: LineSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14418,1
    - Dst: GeoMetadata_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14374,1
    - Dst: NurbsCurve_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14450,1
    - Dst: NurbsSurfaceInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14462,1
    - Dst: Rectangle2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14494,1
    - Dst: Sphere_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14506,1
    - Dst: TriangleFanSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14538,1
    - Dst: Coordinate_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14336,1
    - Dst: GeoTouchSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14380,1
    - Dst: Material_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14424,1
    - Dst: NurbsTextureCoordinate_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14468,1
    - Dst: Shape_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14500,1
    - Dst: StaticGroup_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14512,1
    - Dst: TriangleStripSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14544,1
    - Dst: HAnimDisplacer_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14386,1
    - Dst: Appearance_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14298,1
    - Dst: BooleanFilter_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14310,1
    - Dst: CoordinateInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14342,1
    - Dst: MetadataInteger_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14430,1
    - Dst: PixelTexture_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14474,1
    - Dst: Text_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14518,1
    - Dst: WorldInfo_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14550,1
    - Dst: MovieTexture_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14436,1
    - Dst: AudioClip_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14304,1
    - Dst: BooleanTrigger_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14316,1
    - Dst: CylinderSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14348,1
    - Dst: FillProperties_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14360,1
    - Dst: HAnimSegment_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14392,1
    - Dst: PointSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14480,1
    - Dst: TextureCoordinateGenerator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14524,1
    - Dst: Anchor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14296,1
    - Dst: Collision_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14322,1
    - Dst: ElevationGrid_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14354,1
    - Dst: GeoCoordinate_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14366,1
    - Dst: MultiTextureTransform_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14442,1
    - Dst: IndexedFaceSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14398,1
    - Dst: IntegerSequencer_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14410,1
    - Dst: PositionInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14486,1
    - Dst: TimeTrigger_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14530,1
    - Dst: ColorRGBA_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14328,1
    - Dst: GeoLOD_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14372,1
    - Dst: IndexedTriangleSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14404,1
    - Dst: LineProperties_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14416,1
    - Dst: NormalInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14448,1
    - Dst: NurbsSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14460,1
    - Dst: ReceiverPdu_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14492,1
    - Dst: Sound_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14504,1
    - Dst: TransmitterPdu_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14536,1
    - Dst: LOD_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14422,1
    - Dst: ContourPolyline2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14334,1
    - Dst: GeoPositionInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14378,1
    - Dst: NurbsOrientationInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14454,1
    - Dst: NurbsSwungSurface_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14466,1
    - Dst: Script_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14498,1
    - Dst: SpotLight_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14510,1
    - Dst: TriangleSet2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14542,1
    - Dst: Group_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14384,1
    - Dst: Coordinate2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14340,1
    - Dst: MetadataFloat_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14428,1
    - Dst: OrientationInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14472,1
    - Dst: Switch_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14516,1
    - Dst: VisibilitySensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14548,1
    - Dst: ArcClose2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14302,1
    - Dst: BooleanToggle_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14314,1
    - Dst: Cylinder_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14346,1
    - Dst: Extrusion_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14358,1
    - Dst: HAnimJoint_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14390,1
    - Dst: MetadataString_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14434,1
    - Dst: PointLight_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14478,1
    - Dst: TextureCoordinate_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14522,1
    - Dst: ImageTexture_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14396,1
    - Dst: Inline_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14408,1
    - Dst: Billboard_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14308,1
    - Dst: Circle2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14320,1
    - Dst: Disk2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14352,1
    - Dst: FontStyle_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14364,1
    - Dst: MultiTextureCoordinate_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14440,1
    - Dst: Polypoint2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14484,1
    - Dst: TimeSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14528,1
    - Dst: Normal_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14446,1
    - Dst: ColorInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14326,1
    - Dst: GeoLocation_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14370,1
    - Dst: KeySensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14414,1
    - Dst: IndexedTriangleFanSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14402,1
    - Dst: NurbsPositionInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14458,1
    - Dst: ProximitySensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14490,1
    - Dst: Transform_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14534,1
    - Dst: LoadSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14420,1
    - Dst: Contour2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14332,1
    - Dst: GeoOrigin_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14376,1
    - Dst: NurbsCurve2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14452,1
    - Dst: NurbsSweptSurface_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14464,1
    - Dst: ScalarInterpolator_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14496,1
    - Dst: SphereSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14508,1
    - Dst: TriangleSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14540,1
    - Dst: CoordinateDouble_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14338,1
    - Dst: MetadataDouble_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14426,1
    - Dst: GeoViewpoint_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14382,1
    - Dst: NurbsTrimmedSurface_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14470,1
    - Dst: SignalPdu_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14502,1
    - Dst: StringSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14514,1
    - Dst: Viewpoint_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14546,1
    - Dst: MetadataSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14432,1
    - Dst: Arc2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14300,1
    - Dst: BooleanSequencer_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14312,1
    - Dst: CoordinateInterpolator2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14344,1
    - Dst: HAnimHumanoid_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14388,1
    - Dst: PlaneSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14476,1
    - Dst: TextureBackground_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14520,1
    - Dst: HAnimSite_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14394,1
    - Dst: IndexedTriangleStripSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14406,1
    - Dst: Background_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14306,1
    - Dst: Box_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14318,1
    - Dst: DirectionalLight_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14350,1
    - Dst: Fog_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14362,1
    - Dst: MultiTexture_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14438,1
    - Dst: Polyline2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14482,1
    - Dst: TextureTransform_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14526,1
    - Dst: IndexedLineSet_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14400,1
    - Dst: IntegerTrigger_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14412,1
    - Dst: Color_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14324,1
    - Dst: EspduTransform_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14356,1
    - Dst: GeoElevationGrid_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14368,1
    - Dst: NavigationInfo_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14444,1
    - Dst: NurbsPatchSurface_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14456,1
    - Dst: PositionInterpolator2D_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14488,1
    - Dst: TouchSensor_Create
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14532,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 130
    argCount: 1
    argNames:
    - NodeTag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 14554
      start: 14292
    functionDepth: 0
    functionLinenumber: 14292
    functionLinenumberEnd: 14554
    functionName: gf_sg_x3d_node_new
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - Viewpoint_Create
    - NurbsPatchSurface_Create
    - Normal_Create
    - Billboard_Create
    - TimeTrigger_Create
    - Switch_Create
    - GeoElevationGrid_Create
    - NurbsSet_Create
    - ArcClose2D_Create
    - ImageTexture_Create
    - Sphere_Create
    - TextureCoordinateGenerator_Create
    - TriangleSet2D_Create
    - PositionInterpolator2D_Create
    - Script_Create
    - Polyline2D_Create
    - BooleanSequencer_Create
    - SignalPdu_Create
    - NurbsCurve_Create
    - TriangleSet_Create
    - PixelTexture_Create
    - PlaneSensor_Create
    - ScalarInterpolator_Create
    - NurbsTextureCoordinate_Create
    - HAnimSite_Create
    - CoordinateInterpolator_Create
    - LineProperties_Create
    - Contour2D_Create
    - KeySensor_Create
    - AudioClip_Create
    - IntegerTrigger_Create
    - Polypoint2D_Create
    - ProximitySensor_Create
    - SpotLight_Create
    - TriangleStripSet_Create
    - IndexedFaceSet_Create
    - HAnimSegment_Create
    - ColorInterpolator_Create
    - NurbsSurfaceInterpolator_Create
    - MetadataFloat_Create
    - Text_Create
    - IndexedLineSet_Create
    - Sound_Create
    - Coordinate2D_Create
    - LOD_Create
    - BooleanTrigger_Create
    - NurbsTrimmedSurface_Create
    - NurbsSweptSurface_Create
    - Material_Create
    - WorldInfo_Create
    - VisibilitySensor_Create
    - HAnimJoint_Create
    - Cylinder_Create
    - NormalInterpolator_Create
    - TextureTransform_Create
    - StaticGroup_Create
    - GeoLOD_Create
    - NavigationInfo_Create
    - GeoLocation_Create
    - Anchor_Create
    - MultiTexture_Create
    - MultiTextureCoordinate_Create
    - Arc2D_Create
    - Color_Create
    - GeoViewpoint_Create
    - IndexedTriangleSet_Create
    - Circle2D_Create
    - Group_Create
    - CoordinateDouble_Create
    - TransmitterPdu_Create
    - Background_Create
    - MetadataDouble_Create
    - StringSensor_Create
    - GeoTouchSensor_Create
    - LineSet_Create
    - SphereSensor_Create
    - BooleanToggle_Create
    - HAnimDisplacer_Create
    - TouchSensor_Create
    - PointLight_Create
    - Box_Create
    - Transform_Create
    - IntegerSequencer_Create
    - Rectangle2D_Create
    - BooleanFilter_Create
    - Shape_Create
    - MovieTexture_Create
    - OrientationInterpolator_Create
    - Inline_Create
    - FillProperties_Create
    - CylinderSensor_Create
    - Cone_Create
    - ContourPolyline2D_Create
    - TriangleFanSet_Create
    - GeoCoordinate_Create
    - LoadSensor_Create
    - NurbsPositionInterpolator_Create
    - GeoOrigin_Create
    - CoordinateInterpolator2D_Create
    - Appearance_Create
    - TimeSensor_Create
    - Collision_Create
    - MultiTextureTransform_Create
    - NurbsSwungSurface_Create
    - Coordinate_Create
    - PointSet_Create
    - FontStyle_Create
    - ReceiverPdu_Create
    - DirectionalLight_Create
    - TextureBackground_Create
    - MetadataSet_Create
    - IndexedTriangleStripSet_Create
    - ColorRGBA_Create
    - NurbsOrientationInterpolator_Create
    - GeoMetadata_Create
    - HAnimHumanoid_Create
    - TextureCoordinate_Create
    - IndexedTriangleFanSet_Create
    - ElevationGrid_Create
    - MetadataString_Create
    - GeoPositionInterpolator_Create
    - Fog_Create
    - Extrusion_Create
    - EspduTransform_Create
    - Disk2D_Create
    - PositionInterpolator_Create
    - NurbsCurve2D_Create
    - MetadataInteger_Create
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sg_x3d_node_new(u32 NodeTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7949,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7950,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7952
      start: 7946
    functionDepth: 0
    functionLinenumber: 7946
    functionLinenumberEnd: 7952
    functionName: MovieTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MovieTexture_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 216
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 216
    functionName: Appearance_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Appearance_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 852
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 852
    functionName: BooleanFilter_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BooleanFilter_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7933,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7939
      start: 7930
    functionDepth: 0
    functionLinenumber: 7930
    functionLinenumberEnd: 7939
    functionName: MetadataString_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MetadataString_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:221,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:222,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:223,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:224,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:225,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: Appearance_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Appearance_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:857,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:861,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:858,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:859,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 863
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 863
    functionName: BooleanFilter_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BooleanFilter_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8707,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8708,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8709,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8710,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8712
      start: 8704
    functionDepth: 0
    functionLinenumber: 8704
    functionLinenumberEnd: 8712
    functionName: NurbsCurve2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsCurve2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11166
      start: 11163
    functionDepth: 0
    functionLinenumber: 11163
    functionLinenumberEnd: 11166
    functionName: Script_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Script_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6754
      start: 6751
    functionDepth: 0
    functionLinenumber: 6751
    functionLinenumberEnd: 6754
    functionName: Inline_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Inline_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8264,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8266,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8267
      start: 8261
    functionDepth: 0
    functionLinenumber: 8261
    functionLinenumberEnd: 8267
    functionName: MultiTextureTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void MultiTextureTransform_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8689,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8697
      start: 8686
    functionDepth: 0
    functionLinenumber: 8686
    functionLinenumberEnd: 8697
    functionName: NurbsCurve_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsCurve_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6781
      start: 6756
    functionDepth: 0
    functionLinenumber: 6756
    functionLinenumberEnd: 6781
    functionName: Inline_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Inline_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8273
      start: 8270
    functionDepth: 0
    functionLinenumber: 8270
    functionLinenumberEnd: 8273
    functionName: MultiTextureTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MultiTextureTransform_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: Billboard_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Billboard_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2179
    functionName: Cylinder_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cylinder_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4572,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4574,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4575
      start: 4569
    functionDepth: 0
    functionLinenumber: 4569
    functionLinenumberEnd: 4575
    functionName: GeoOrigin_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoOrigin_Del(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4726
      start: 4669
    functionDepth: 0
    functionLinenumber: 4669
    functionLinenumberEnd: 4726
    functionName: GeoPositionInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoPositionInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11865,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11867
      start: 11862
    functionDepth: 0
    functionLinenumber: 11862
    functionLinenumberEnd: 11867
    functionName: SpotLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SpotLight_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:784,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:791,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:786,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:790,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:787,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 794
    functionName: Billboard_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Billboard_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2184,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2188,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2187,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2185,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2186,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2191
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2191
    functionName: Cylinder_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Cylinder_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4731,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4732,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4733,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4734,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4735,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4736,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4737,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4740
      start: 4729
    functionDepth: 0
    functionLinenumber: 4729
    functionLinenumberEnd: 4740
    functionName: GeoPositionInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoPositionInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11873
      start: 11870
    functionDepth: 0
    functionLinenumber: 11870
    functionLinenumberEnd: 11873
    functionName: SpotLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SpotLight_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4556,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4553
    functionDepth: 0
    functionLinenumber: 4553
    functionLinenumberEnd: 4562
    functionName: GeoMetadata_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoMetadata_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1933,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1936
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1936
    functionName: Coordinate2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Coordinate2D_get_field_index_by_name(char *name) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5023
      start: 4916
    functionDepth: 0
    functionLinenumber: 4916
    functionLinenumberEnd: 5023
    functionName: GeoViewpoint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoViewpoint_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9650,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9654,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9651,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9652,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9653,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9655,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9656,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9657,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9660
      start: 9648
    functionDepth: 0
    functionLinenumber: 9648
    functionLinenumberEnd: 9660
    functionName: NurbsTextureCoordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsTextureCoordinate_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfscript_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11155,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11157,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11158
      start: 11152
    functionDepth: 0
    functionLinenumber: 11152
    functionLinenumberEnd: 11158
    functionName: Script_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfscript_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Script_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12909
      start: 12883
    functionDepth: 0
    functionLinenumber: 12883
    functionLinenumberEnd: 12909
    functionName: TimeTrigger_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TimeTrigger_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1942,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1948
    functionName: Coordinate2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Coordinate2D_Create() '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5028,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5031,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5032,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5030,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5029,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5033,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5034,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5035,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5036,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5037,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5039,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5040,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5043,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5038,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5042,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5041,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5045
      start: 5026
    functionDepth: 0
    functionLinenumber: 5026
    functionLinenumberEnd: 5045
    functionName: GeoViewpoint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoViewpoint_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9666,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9676
      start: 9663
    functionDepth: 0
    functionLinenumber: 9663
    functionLinenumberEnd: 9676
    functionName: NurbsTextureCoordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsTextureCoordinate_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12914,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12916,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12918
      start: 12912
    functionDepth: 0
    functionLinenumber: 12912
    functionLinenumberEnd: 12918
    functionName: TimeTrigger_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TimeTrigger_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4022,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4023,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4026,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4024,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4025,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4027,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4028,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4029,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4030,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4032
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4032
    functionName: GeoElevationGrid_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_sfstring_del
    - gf_sg_mfdouble_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoElevationGrid_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5143,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5147
      start: 5140
    functionDepth: 0
    functionLinenumber: 5140
    functionLinenumberEnd: 5147
    functionName: Group_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Group_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1020
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1020
    functionName: BooleanToggle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BooleanToggle_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4000,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4007,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4005,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4002,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4008,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4009,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4012
    functionName: GeoCoordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcpy
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoCoordinate_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9889
      start: 9886
    functionDepth: 0
    functionLinenumber: 9886
    functionLinenumberEnd: 9889
    functionName: OrientationInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 OrientationInterpolator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11129,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11130,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11133
      start: 11125
    functionDepth: 0
    functionLinenumber: 11125
    functionLinenumberEnd: 11133
    functionName: ScalarInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ScalarInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1025,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1026,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: BooleanToggle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BooleanToggle_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5153,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5155,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5160
      start: 5150
    functionDepth: 0
    functionLinenumber: 5150
    functionLinenumberEnd: 5160
    functionName: Group_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Group_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9929
      start: 9891
    functionDepth: 0
    functionLinenumber: 9891
    functionLinenumberEnd: 9929
    functionName: OrientationInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OrientationInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11139,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11145
      start: 11136
    functionDepth: 0
    functionLinenumber: 11136
    functionLinenumberEnd: 11145
    functionName: ScalarInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ScalarInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1647
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1647
    functionName: Contour2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Contour2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2518,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2519,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2520,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2521,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2522,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2523,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2525
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2525
    functionName: ElevationGrid_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ElevationGrid_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7113
      start: 7110
    functionDepth: 0
    functionLinenumber: 7110
    functionLinenumberEnd: 7113
    functionName: LineProperties_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LineProperties_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13017,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13018,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13019,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13020,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13021,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13022,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13023,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13024,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13025,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13027
      start: 13015
    functionDepth: 0
    functionLinenumber: 13015
    functionLinenumberEnd: 13027
    functionName: TouchSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TouchSensor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1685
    functionName: Contour2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Contour2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2531
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2531
    functionName: ElevationGrid_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ElevationGrid_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7146
      start: 7115
    functionDepth: 0
    functionLinenumber: 7115
    functionLinenumberEnd: 7146
    functionName: LineProperties_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LineProperties_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13033,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13040
      start: 13030
    functionDepth: 0
    functionLinenumber: 13030
    functionLinenumberEnd: 13040
    functionName: TouchSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TouchSensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:714,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:715,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: Billboard_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Billboard_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2407
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2407
    functionName: DirectionalLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectionalLight_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3817
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3817
    functionName: FontStyle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FontStyle_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8778,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8777,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8779,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8782
      start: 8772
    functionDepth: 0
    functionLinenumber: 8772
    functionLinenumberEnd: 8782
    functionName: NurbsCurve2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsCurve2D_get_field_index_by_name(char *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9025,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9029,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9026,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9027,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9028,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9030,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9031,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9032,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9033,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9034,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9035,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9036,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9039,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9038,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9037,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9041
      start: 9023
    functionDepth: 0
    functionLinenumber: 9023
    functionLinenumberEnd: 9041
    functionName: NurbsPatchSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsPatchSurface_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9879,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9882,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9880,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9883
      start: 9876
    functionDepth: 0
    functionLinenumber: 9876
    functionLinenumberEnd: 9883
    functionName: OrientationInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfrotation_del
    linkageType: ''
    returnType: void
    signature: 'static void OrientationInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12949
      start: 12946
    functionDepth: 0
    functionLinenumber: 12946
    functionLinenumberEnd: 12949
    functionName: TouchSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TouchSensor_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2412,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2413,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2414,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2415,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2416,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2419
    functionName: DirectionalLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DirectionalLight_get_field_index_by_name(char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3886
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3886
    functionName: FontStyle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FontStyle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8788,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8796
      start: 8785
    functionDepth: 0
    functionLinenumber: 8785
    functionLinenumberEnd: 8796
    functionName: NurbsCurve2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsCurve2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9047,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9060
      start: 9044
    functionDepth: 0
    functionLinenumber: 9044
    functionLinenumberEnd: 9060
    functionName: NurbsPatchSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsPatchSurface_Create() '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13012
      start: 12951
    functionDepth: 0
    functionLinenumber: 12951
    functionLinenumberEnd: 13012
    functionName: TouchSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TouchSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:693,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:701,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:695,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:700,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:698,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: Background_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Background_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2450,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2452
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2452
    functionName: Disk2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Disk2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9856,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9853
    functionDepth: 0
    functionLinenumber: 9853
    functionLinenumberEnd: 9869
    functionName: NurbsTrimmedSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsTrimmedSurface_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9934,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9935,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9936,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9937,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9938,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9940
      start: 9932
    functionDepth: 0
    functionLinenumber: 9932
    functionLinenumberEnd: 9940
    functionName: OrientationInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 OrientationInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1147
    functionName: Box_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Box_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1958,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1961,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1960,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1962,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1963
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1963
    functionName: CoordinateInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateInterpolator_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3891,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3893,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3894,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3895,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3896,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3897,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3898,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3899,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3900,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3902
      start: 3889
    functionDepth: 0
    functionLinenumber: 3889
    functionLinenumberEnd: 3902
    functionName: FontStyle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FontStyle_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6608,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6610,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6611,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6612,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6609,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6613,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6614,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6616
      start: 6605
    functionDepth: 0
    functionLinenumber: 6605
    functionLinenumberEnd: 6616
    functionName: IndexedTriangleStripSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedTriangleStripSet_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5908,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5914,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5915,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5917,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5919,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5926,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5921,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5923,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5925,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5928,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5930,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5910,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5911,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5916,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5918,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5920,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5922,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5924,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5927,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5932
      start: 5905
    functionDepth: 0
    functionLinenumber: 5905
    functionLinenumberEnd: 5932
    functionName: HAnimSite_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *HAnimSite_Create() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8411,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8412,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8413,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8414,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8415,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8416,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8417,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8418,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8419,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8422
      start: 8409
    functionDepth: 0
    functionLinenumber: 8409
    functionLinenumberEnd: 8422
    functionName: NavigationInfo_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NavigationInfo_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10384
      start: 10365
    functionDepth: 0
    functionLinenumber: 10365
    functionLinenumberEnd: 10384
    functionName: Polyline2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Polyline2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10946,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10950,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10960,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10964,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10947,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10951,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10957,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10961,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10965,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10967,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10943,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10944,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10948,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10952,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10954,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10958,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10962,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10966,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10968,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10945,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10949,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10953,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10963,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10970
      start: 10941
    functionDepth: 0
    functionLinenumber: 10941
    functionLinenumberEnd: 10970
    functionName: ReceiverPdu_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ReceiverPdu_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1152,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1155
    functionName: Box_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Box_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1969
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1969
    functionName: CoordinateInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateInterpolator_get_field_count(GF_Node *node, u8
      dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3908,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3913,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3916,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3915,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3910,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3918,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3920,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3921,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3923,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3924,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3926,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3905
    functionDepth: 0
    functionLinenumber: 3905
    functionLinenumberEnd: 3929
    functionName: FontStyle_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *FontStyle_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6622
      start: 6619
    functionDepth: 0
    functionLinenumber: 6619
    functionLinenumberEnd: 6622
    functionName: IndexedTriangleStripSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedTriangleStripSet_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8428,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8436,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8430,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8435,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8433,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8437,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8439,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8440,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8442,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8443,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8446,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8444,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8447,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8451,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8449,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8450,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8452,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8454
      start: 8425
    functionDepth: 0
    functionLinenumber: 8425
    functionLinenumberEnd: 8454
    functionName: NavigationInfo_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NavigationInfo_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10389,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10392
      start: 10387
    functionDepth: 0
    functionLinenumber: 10387
    functionLinenumberEnd: 10392
    functionName: Polyline2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Polyline2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10976,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10986,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10981,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10982,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10978,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10987,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10990,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10991,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10973
    functionDepth: 0
    functionLinenumber: 10973
    functionLinenumberEnd: 11001
    functionName: ReceiverPdu_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ReceiverPdu_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11288,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11285
    functionDepth: 0
    functionLinenumber: 11285
    functionLinenumberEnd: 11294
    functionName: Shape_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Shape_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13132,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13133,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13134,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13135,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13136,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13137,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13142
      start: 13130
    functionDepth: 0
    functionLinenumber: 13130
    functionLinenumberEnd: 13142
    functionName: Transform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Transform_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 374
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 374
    functionName: ArcClose2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ArcClose2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4655,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4657,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4658,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4659,1
    - Dst: gf_sg_mfvec3d_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4656,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4661
      start: 4652
    functionDepth: 0
    functionLinenumber: 4652
    functionLinenumberEnd: 4661
    functionName: GeoPositionInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_mfvec3d_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoPositionInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5170,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5171,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5172,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5173,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5175
      start: 5167
    functionDepth: 0
    functionLinenumber: 5167
    functionLinenumberEnd: 5175
    functionName: HAnimDisplacer_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfstring_del
    - gf_sg_mfvec3f_del
    - gf_sg_mfint32_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void HAnimDisplacer_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10524
      start: 10486
    functionDepth: 0
    functionLinenumber: 10486
    functionLinenumberEnd: 10524
    functionName: PositionInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11244
      start: 11241
    functionDepth: 0
    functionLinenumber: 11241
    functionLinenumberEnd: 11244
    functionName: Shape_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Shape_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13563,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13567,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13564,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13565,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13566,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13568,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:13569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13570
      start: 13560
    functionDepth: 0
    functionLinenumber: 13560
    functionLinenumberEnd: 13570
    functionName: TriangleFanSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void TriangleFanSet_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:379,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:382,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:381,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:383,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: ArcClose2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ArcClose2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4667
      start: 4664
    functionDepth: 0
    functionLinenumber: 4664
    functionLinenumberEnd: 4667
    functionName: GeoPositionInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoPositionInterpolator_get_field_count(GF_Node *node,
      u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5181
      start: 5178
    functionDepth: 0
    functionLinenumber: 5178
    functionLinenumberEnd: 5181
    functionName: HAnimDisplacer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 HAnimDisplacer_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10529,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10532,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10531,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10533,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10535
      start: 10527
    functionDepth: 0
    functionLinenumber: 10527
    functionLinenumberEnd: 10535
    functionName: PositionInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11273
      start: 11246
    functionDepth: 0
    functionLinenumber: 11246
    functionLinenumberEnd: 11273
    functionName: Shape_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Shape_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13576
      start: 13573
    functionDepth: 0
    functionLinenumber: 13573
    functionLinenumberEnd: 13576
    functionName: TriangleFanSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TriangleFanSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9570,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9572,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9573,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9571,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9574,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9576
      start: 9567
    functionDepth: 0
    functionLinenumber: 9567
    functionLinenumberEnd: 9576
    functionName: NurbsTextureCoordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec2f_del
    - gf_sg_mfdouble_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NurbsTextureCoordinate_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1240,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1241,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1243,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1244
    functionName: Collision_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Collision_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9552,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9560
      start: 9549
    functionDepth: 0
    functionLinenumber: 9549
    functionLinenumberEnd: 9560
    functionName: NurbsSwungSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsSwungSurface_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1250
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1250
    functionName: Collision_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Collision_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:954,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:958,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:957,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:960,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 962
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 962
    functionName: BooleanSequencer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BooleanSequencer_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1748
    functionName: ContourPolyline2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ContourPolyline2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2686,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2687,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2689,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2690,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2688,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2691,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2692,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2693,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2694,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2695,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2696,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2698
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2698
    functionName: EspduTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfstring_del
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void EspduTransform_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3952
    functionDepth: 0
    functionLinenumber: 3952
    functionLinenumberEnd: 3984
    functionName: GeoCoordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err GeoCoordinate_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5587
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5587
    functionName: HAnimJoint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err HAnimJoint_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6813,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6816,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6814,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6817
      start: 6810
    functionDepth: 0
    functionLinenumber: 6810
    functionLinenumberEnd: 6817
    functionName: IntegerSequencer_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IntegerSequencer_Del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10129,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10130,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10128,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10132,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10133,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10134,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10135,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10136,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10139
      start: 10125
    functionDepth: 0
    functionLinenumber: 10125
    functionLinenumberEnd: 10139
    functionName: PlaneSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PlaneSensor_get_field_index_by_name(char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14078
      start: 14010
    functionDepth: 0
    functionLinenumber: 14010
    functionLinenumberEnd: 14078
    functionName: Viewpoint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viewpoint_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:968,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 974
    functionName: BooleanSequencer_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *BooleanSequencer_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1753,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1756
    functionName: ContourPolyline2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ContourPolyline2D_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3989,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3990,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3992,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3987
    functionDepth: 0
    functionLinenumber: 3987
    functionLinenumberEnd: 3994
    functionName: GeoCoordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoCoordinate_get_field_index_by_name(char *name) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5592,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5596,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5593,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5594,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5595,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5597,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5598,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5599,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5600,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5601,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5605,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5604,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5608,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5603,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5607,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5606,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5602,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5610
      start: 5590
    functionDepth: 0
    functionLinenumber: 5590
    functionLinenumberEnd: 5610
    functionName: HAnimJoint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 HAnimJoint_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6823
      start: 6820
    functionDepth: 0
    functionLinenumber: 6820
    functionLinenumberEnd: 6823
    functionName: IntegerSequencer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IntegerSequencer_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10145,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10153,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10147,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10154,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10152,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10157,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10160
      start: 10142
    functionDepth: 0
    functionLinenumber: 10142
    functionLinenumberEnd: 10160
    functionName: PlaneSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PlaneSensor_Create() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14083,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14084,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14085,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14086,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14087,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14088,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14089,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14090,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14091,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14092,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14094
      start: 14081
    functionDepth: 0
    functionLinenumber: 14081
    functionLinenumberEnd: 14094
    functionName: Viewpoint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Viewpoint_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2661,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2668,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2676
    functionName: ElevationGrid_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ElevationGrid_Create() '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6702
      start: 6624
    functionDepth: 0
    functionLinenumber: 6624
    functionLinenumberEnd: 6702
    functionName: IndexedTriangleStripSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedTriangleStripSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1411,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1414,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1412,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1415
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1415
    functionName: ColorInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ColorInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4495,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4496,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4499,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4497,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4500
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4500
    functionName: GeoMetadata_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister_children
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoMetadata_Del(GF_Node *node) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12835,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12842,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12841,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12843,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12845
      start: 12828
    functionDepth: 0
    functionLinenumber: 12828
    functionLinenumberEnd: 12845
    functionName: TimeSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TimeSensor_get_field_index_by_name(char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13649
      start: 13578
    functionDepth: 0
    functionLinenumber: 13578
    functionLinenumberEnd: 13649
    functionName: TriangleFanSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TriangleFanSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1421
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1421
    functionName: ColorInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ColorInterpolator_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4506
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4506
    functionName: GeoMetadata_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoMetadata_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6707,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6708,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6709,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6710,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6711,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6712,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6713,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6714,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6715,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6716,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6717,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6719
      start: 6705
    functionDepth: 0
    functionLinenumber: 6705
    functionLinenumberEnd: 6719
    functionName: IndexedTriangleStripSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedTriangleStripSet_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12851,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12863
      start: 12848
    functionDepth: 0
    functionLinenumber: 12848
    functionLinenumberEnd: 12863
    functionName: TimeSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *TimeSensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:412,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:414,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:415,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: AudioClip_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioClip_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2704
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2704
    functionName: EspduTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 EspduTransform_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6786,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6787,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6790
      start: 6784
    functionDepth: 0
    functionLinenumber: 6784
    functionLinenumberEnd: 6790
    functionName: Inline_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Inline_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12537
      start: 12518
    functionDepth: 0
    functionLinenumber: 12518
    functionLinenumberEnd: 12537
    functionName: TextureCoordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureCoordinate_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 88
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 360
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3242
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 3242
    functionName: EspduTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err EspduTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6796,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:6798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6803
      start: 6793
    functionDepth: 0
    functionLinenumber: 6793
    functionLinenumberEnd: 6803
    functionName: Inline_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Inline_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12542,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12545
      start: 12540
    functionDepth: 0
    functionLinenumber: 12540
    functionLinenumberEnd: 12545
    functionName: TextureCoordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureCoordinate_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:391,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:396,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:397,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:393,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:398,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:399,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 402
    functionName: ArcClose2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ArcClose2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7796,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7797,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7800,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7799,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7801
      start: 7793
    functionDepth: 0
    functionLinenumber: 7793
    functionLinenumberEnd: 7801
    functionName: MetadataSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MetadataSet_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1386,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1389
    functionName: Color_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Color_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1898,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1899,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1901
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1901
    functionName: Coordinate2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void Coordinate2D_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2104
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2104
    functionName: CoordinateInterpolator2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateInterpolator2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7780,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7786
      start: 7777
    functionDepth: 0
    functionLinenumber: 7777
    functionLinenumberEnd: 7786
    functionName: MetadataInteger_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MetadataInteger_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1395,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1401
    functionName: Color_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Color_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2110,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2116
    functionName: CoordinateInterpolator2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *CoordinateInterpolator2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1882,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1888
    functionName: CoordinateDouble_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *CoordinateDouble_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1529,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1532
    functionName: ColorRGBA_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ColorRGBA_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7873,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7876,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7875,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7877,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7878
      start: 7870
    functionDepth: 0
    functionLinenumber: 7870
    functionLinenumberEnd: 7878
    functionName: MetadataString_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MetadataString_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9408
      start: 9405
    functionDepth: 0
    functionLinenumber: 9405
    functionLinenumberEnd: 9408
    functionName: NurbsSweptSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsSweptSurface_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11643,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11647,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11646,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11644,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11645,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11648,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11649,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11650,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11651,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11652,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11653,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11655
      start: 11641
    functionDepth: 0
    functionLinenumber: 11641
    functionLinenumberEnd: 11655
    functionName: Sound_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Sound_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1538,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1544
    functionName: ColorRGBA_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *ColorRGBA_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7884
      start: 7881
    functionDepth: 0
    functionLinenumber: 7881
    functionLinenumberEnd: 7884
    functionName: MetadataString_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MetadataString_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9449
      start: 9410
    functionDepth: 0
    functionLinenumber: 9410
    functionLinenumberEnd: 9449
    functionName: NurbsSweptSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSweptSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11661,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11667,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11668,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11666,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11669,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11670,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11671,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11673,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11674,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11675,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11676,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11680
      start: 11658
    functionDepth: 0
    functionLinenumber: 11658
    functionLinenumberEnd: 11680
    functionName: Sound_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Sound_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:885,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:887,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:888,1
    - Dst: gf_sg_mfbool_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: BooleanSequencer_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfbool_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void BooleanSequencer_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2042,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2045,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2046,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2043,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2047
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2047
    functionName: CoordinateInterpolator2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateInterpolator2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:869,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: BooleanFilter_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *BooleanFilter_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2026,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2032
    functionName: CoordinateInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *CoordinateInterpolator_Create() '
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3314,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3316,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3296,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3249,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3251,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3269,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3287,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3307,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3325,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3260,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3280,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3318,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3298,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3291,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3309,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3253,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3289,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3327,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3329,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3264,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3262,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3282,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3300,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3320,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3293,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3255,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3311,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3331,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3322,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3266,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3284,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3302,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3304,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3313,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3257,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3295,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3248,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3250,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3268,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3286,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3306,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3324,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3315,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3317,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3297,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3290,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3252,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3270,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3288,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3308,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3326,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3299,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3319,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3261,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3281,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3247,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3254,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3272,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3292,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3310,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3328,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3330,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3265,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3283,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3321,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3301,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3303,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3312,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3274,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3276,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3294,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3332,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3305,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3323,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3285,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 173
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3334
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3334
    functionName: EspduTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 EspduTransform_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7917
      start: 7886
    functionDepth: 0
    functionLinenumber: 7886
    functionLinenumberEnd: 7917
    functionName: MetadataString_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MetadataString_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3347,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3380,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3382,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3384,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3388,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3394,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3395,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3397,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3414,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3409,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3350,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3351,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3355,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3357,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3359,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3400,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3402,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3404,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3406,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3408,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3342,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3343,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3379,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3381,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3375,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3383,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3387,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3389,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3393,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3396,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3410,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3340,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3346,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3352,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3356,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3358,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3360,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3401,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3403,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3405,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3407,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3413,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3418
    functionName: EspduTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *EspduTransform_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7922,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7923,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7924,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7927
      start: 7920
    functionDepth: 0
    functionLinenumber: 7920
    functionLinenumberEnd: 7927
    functionName: MetadataString_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MetadataString_get_field_index_by_name(char *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 667
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 667
    functionName: Background_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Background_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:804,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 806
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 806
    functionName: BooleanFilter_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void BooleanFilter_Del(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1313
    functionName: Collision_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Collision_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7958
      start: 7955
    functionDepth: 0
    functionLinenumber: 7955
    functionLinenumberEnd: 7958
    functionName: MovieTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MovieTexture_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1318,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1321,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1322,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1319,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1320,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1323,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1324,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1327
    functionName: Collision_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Collision_get_field_index_by_name(char *name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:672,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:676,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:675,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:673,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:674,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:677,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:678,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:679,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:680,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:681,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:683,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:682,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:685,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:684,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 687
    functionName: Background_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Background_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: BooleanFilter_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BooleanFilter_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8051
      start: 7960
    functionDepth: 0
    functionLinenumber: 7960
    functionLinenumberEnd: 8051
    functionName: MovieTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MovieTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3d_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1838,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1840,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1841
    functionName: CoordinateDouble_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3d_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateDouble_Del(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2313,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2315,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2314,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2317,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2316,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2318,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2319,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2320,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2321,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2322,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2324,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2323,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2326
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2326
    functionName: CylinderSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CylinderSensor_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4619,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4620,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4621,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4624
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4624
    functionName: GeoOrigin_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 GeoOrigin_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6236
      start: 6233
    functionDepth: 0
    functionLinenumber: 6233
    functionLinenumberEnd: 6236
    functionName: IndexedLineSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedLineSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1847
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1847
    functionName: CoordinateDouble_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateDouble_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2332,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2341,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2334,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2338,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2340,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2344
    functionName: CylinderSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *CylinderSensor_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4630,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4632,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4640,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4638,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4641,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4642,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:4643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4645
      start: 4627
    functionDepth: 0
    functionLinenumber: 4627
    functionLinenumberEnd: 4645
    functionName: GeoOrigin_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcpy
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *GeoOrigin_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6297
      start: 6238
    functionDepth: 0
    functionLinenumber: 6238
    functionLinenumberEnd: 6297
    functionName: IndexedLineSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedLineSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7807
      start: 7804
    functionDepth: 0
    functionLinenumber: 7804
    functionLinenumberEnd: 7807
    functionName: MetadataSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MetadataSet_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11040
      start: 11021
    functionDepth: 0
    functionLinenumber: 11021
    functionLinenumberEnd: 11040
    functionName: Rectangle2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Rectangle2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7841
      start: 7809
    functionDepth: 0
    functionLinenumber: 7809
    functionLinenumberEnd: 7841
    functionName: MetadataSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MetadataSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11045,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11048
      start: 11043
    functionDepth: 0
    functionLinenumber: 11043
    functionLinenumberEnd: 11048
    functionName: Rectangle2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Rectangle2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:250,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: Arc2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Arc2D_Del(GF_Node *node) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5397,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5401,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5398,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5399,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5400,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5402,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5403,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5404,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5405,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5406,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5407,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5411,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5410,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5409,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5413,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5412,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5408,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5415
      start: 5395
    functionDepth: 0
    functionLinenumber: 5395
    functionLinenumberEnd: 5415
    functionName: HAnimHumanoid_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 HAnimHumanoid_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5951
      start: 5948
    functionDepth: 0
    functionLinenumber: 5948
    functionLinenumberEnd: 5951
    functionName: ImageTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ImageTexture_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7105,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7107
      start: 7102
    functionDepth: 0
    functionLinenumber: 7102
    functionLinenumberEnd: 7107
    functionName: LineProperties_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void LineProperties_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7720,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7722,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7721,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7724,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7725
      start: 7717
    functionDepth: 0
    functionLinenumber: 7717
    functionLinenumberEnd: 7725
    functionName: MetadataInteger_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MetadataInteger_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8239,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8242
      start: 8237
    functionDepth: 0
    functionLinenumber: 8237
    functionLinenumberEnd: 8242
    functionName: MultiTextureCoordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MultiTextureCoordinate_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8906,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8910,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8909,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8908,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8907,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8911,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8913
      start: 8903
    functionDepth: 0
    functionLinenumber: 8903
    functionLinenumberEnd: 8913
    functionName: NurbsPatchSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfdouble_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsPatchSurface_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9686,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9687,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9689,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9688,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9690,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9691,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9692,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9693,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9694,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9696
      start: 9683
    functionDepth: 0
    functionLinenumber: 9683
    functionLinenumberEnd: 9696
    functionName: NurbsTrimmedSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    - gf_sg_mfdouble_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsTrimmedSurface_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5428,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5423,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5431,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5433,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5441,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5435,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5437,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5439,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5421,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5426,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5427,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5429,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5430,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5432,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5442,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5434,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5436,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5440,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:5438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5418
    functionDepth: 0
    functionLinenumber: 5418
    functionLinenumberEnd: 5444
    functionName: HAnimHumanoid_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *HAnimHumanoid_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5984
      start: 5953
    functionDepth: 0
    functionLinenumber: 5953
    functionLinenumberEnd: 5984
    functionName: ImageTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ImageTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7731
      start: 7728
    functionDepth: 0
    functionLinenumber: 7728
    functionLinenumberEnd: 7731
    functionName: MetadataInteger_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MetadataInteger_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8248,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8254
      start: 8245
    functionDepth: 0
    functionLinenumber: 8245
    functionLinenumberEnd: 8254
    functionName: MultiTextureCoordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *MultiTextureCoordinate_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9702
      start: 9699
    functionDepth: 0
    functionLinenumber: 9699
    functionLinenumberEnd: 9702
    functionName: NurbsTrimmedSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsTrimmedSurface_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9946,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9943
    functionDepth: 0
    functionLinenumber: 9943
    functionLinenumberEnd: 9952
    functionName: OrientationInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *OrientationInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11316
      start: 11313
    functionDepth: 0
    functionLinenumber: 11313
    functionLinenumberEnd: 11316
    functionName: SignalPdu_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SignalPdu_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:234,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: Appearance_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Appearance_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7088,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7095
      start: 7085
    functionDepth: 0
    functionLinenumber: 7085
    functionLinenumberEnd: 7095
    functionName: KeySensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *KeySensor_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8889,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8896
      start: 8886
    functionDepth: 0
    functionLinenumber: 8886
    functionLinenumberEnd: 8896
    functionName: NurbsOrientationInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsOrientationInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12637,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12639
      start: 12634
    functionDepth: 0
    functionLinenumber: 12634
    functionLinenumberEnd: 12639
    functionName: TextureTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TextureTransform_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: Circle2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Circle2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:326,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:328,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: ArcClose2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void ArcClose2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10284,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10287,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10285,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10288
      start: 10281
    functionDepth: 0
    functionLinenumber: 10281
    functionLinenumberEnd: 10288
    functionName: PointSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: ArcClose2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ArcClose2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1209
    functionName: Circle2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Circle2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10255,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10261,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10262,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10260,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10257,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10263,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10264,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10265,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10266,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10267,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10272,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10268,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10269,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10274
      start: 10252
    functionDepth: 0
    functionLinenumber: 10252
    functionLinenumberEnd: 10274
    functionName: PointLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PointLight_Create() '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15763,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15783,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15819,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15801,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15821,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15857,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15754,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15756,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15792,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15812,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15850,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15868,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15765,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15785,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15823,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15803,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15841,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15859,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15861,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15796,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15814,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15758,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15794,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15852,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15870,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15749,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15767,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15787,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15805,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15825,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15843,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15863,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15798,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15760,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15778,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15816,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15854,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15872,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15874,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15751,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15789,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15807,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15809,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15845,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15847,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15865,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15818,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15762,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15780,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15782,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15800,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15856,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15753,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15791,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15811,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15849,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15867,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15764,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15784,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15820,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15822,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15802,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15858,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15860,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15795,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15757,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15813,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15793,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15851,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15869,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15786,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15804,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15824,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15748,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15766,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15768,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15842,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15862,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15777,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15797,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15815,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15835,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15853,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15871,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15873,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15750,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15770,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15788,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15806,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15808,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15826,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15844,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15864,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15817,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15761,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15779,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15781,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15799,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15855,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15875,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15810,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15752,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15790,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15848,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15866,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 258
    argCount: 1
    argNames:
    - node_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15877
      start: 15744
    functionDepth: 0
    functionLinenumber: 15744
    functionLinenumberEnd: 15877
    functionName: gf_node_x3d_type_by_class_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_x3d_type_by_class_name(const char *node_name) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: Appearance_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15885,1
    - Dst: CoordinateInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15929,1
    - Dst: HAnimDisplacer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15973,1
    - Dst: MetadataInteger_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16017,1
    - Dst: LineSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16005,1
    - Dst: NurbsSurfaceInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16049,1
    - Dst: PixelTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16061,1
    - Dst: TouchSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16122,1
    - Dst: AudioClip_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15891,1
    - Dst: CylinderSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15935,1
    - Dst: MovieTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16023,1
    - Dst: HAnimSegment_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15979,1
    - Dst: NurbsTextureCoordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16055,1
    - Dst: PointSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16067,1
    - Dst: TriangleFanSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16128,1
    - Dst: Anchor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15883,1
    - Dst: BooleanFilter_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15897,1
    - Dst: ElevationGrid_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15941,1
    - Dst: MultiTextureTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16029,1
    - Dst: IndexedFaceSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15985,1
    - Dst: PositionInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16073,1
    - Dst: Shape_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16090,1
    - Dst: TriangleStripSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16134,1
    - Dst: NormalInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16035,1
    - Dst: IndexedTriangleSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15991,1
    - Dst: BooleanTrigger_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15903,1
    - Dst: ColorRGBA_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15915,1
    - Dst: FillProperties_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15947,1
    - Dst: ReceiverPdu_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16079,1
    - Dst: Sphere_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16096,1
    - Dst: WorldInfo_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16140,1
    - Dst: Collision_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15909,1
    - Dst: ContourPolyline2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15921,1
    - Dst: GeoCoordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15953,1
    - Dst: IntegerSequencer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15997,1
    - Dst: GeoPositionInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15965,1
    - Dst: NurbsOrientationInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16041,1
    - Dst: Script_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16087,1
    - Dst: StaticGroup_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16102,1
    - Dst: TextureCoordinateGenerator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16114,1
    - Dst: Coordinate2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15927,1
    - Dst: GeoLOD_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15959,1
    - Dst: Group_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15971,1
    - Dst: LineProperties_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16003,1
    - Dst: MetadataFloat_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16015,1
    - Dst: NurbsSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16047,1
    - Dst: OrientationInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16059,1
    - Dst: Text_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16108,1
    - Dst: TimeTrigger_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16120,1
    - Dst: HAnimJoint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15977,1
    - Dst: ArcClose2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15889,1
    - Dst: Cylinder_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15933,1
    - Dst: LOD_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16009,1
    - Dst: MetadataString_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16021,1
    - Dst: NurbsSwungSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16053,1
    - Dst: PointLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16065,1
    - Dst: TransmitterPdu_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16126,1
    - Dst: MultiTextureCoordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16027,1
    - Dst: Billboard_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15895,1
    - Dst: Disk2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15939,1
    - Dst: ImageTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15983,1
    - Dst: Polypoint2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16071,1
    - Dst: TriangleSet2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16132,1
    - Dst: BooleanToggle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15901,1
    - Dst: ColorInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15913,1
    - Dst: Extrusion_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15945,1
    - Dst: Normal_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16033,1
    - Dst: IndexedTriangleFanSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15989,1
    - Dst: ProximitySensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16077,1
    - Dst: Sound_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16094,1
    - Dst: VisibilitySensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16138,1
    - Dst: Circle2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15907,1
    - Dst: Contour2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15919,1
    - Dst: FontStyle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15951,1
    - Dst: GeoOrigin_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15963,1
    - Dst: Inline_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15995,1
    - Dst: NurbsCurve2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16039,1
    - Dst: ScalarInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16083,1
    - Dst: SpotLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16100,1
    - Dst: TextureCoordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16112,1
    - Dst: KeySensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16001,1
    - Dst: MetadataDouble_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16013,1
    - Dst: CoordinateDouble_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15925,1
    - Dst: GeoLocation_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15957,1
    - Dst: GeoViewpoint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15969,1
    - Dst: NurbsPositionInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16045,1
    - Dst: Switch_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16106,1
    - Dst: TimeSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16118,1
    - Dst: HAnimHumanoid_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15975,1
    - Dst: Arc2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15887,1
    - Dst: CoordinateInterpolator2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15931,1
    - Dst: LoadSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16007,1
    - Dst: MetadataSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16019,1
    - Dst: NurbsSweptSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16051,1
    - Dst: PlaneSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16063,1
    - Dst: Transform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16124,1
    - Dst: Background_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15893,1
    - Dst: DirectionalLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15937,1
    - Dst: HAnimSite_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15981,1
    - Dst: MultiTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16025,1
    - Dst: NurbsTrimmedSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16057,1
    - Dst: Polyline2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16069,1
    - Dst: TriangleSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16130,1
    - Dst: IndexedLineSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15987,1
    - Dst: BooleanSequencer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15899,1
    - Dst: EspduTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15943,1
    - Dst: NavigationInfo_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16031,1
    - Dst: PositionInterpolator2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16075,1
    - Dst: SignalPdu_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16092,1
    - Dst: Viewpoint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16136,1
    - Dst: GeoMetadata_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15961,1
    - Dst: Cone_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15917,1
    - Dst: Box_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15905,1
    - Dst: Fog_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15949,1
    - Dst: IndexedTriangleStripSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15993,1
    - Dst: NurbsCurve_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16037,1
    - Dst: Rectangle2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16081,1
    - Dst: SphereSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16098,1
    - Dst: TextureBackground_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16110,1
    - Dst: GeoTouchSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15967,1
    - Dst: IntegerTrigger_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15999,1
    - Dst: Material_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16011,1
    - Dst: Color_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15911,1
    - Dst: Coordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15923,1
    - Dst: GeoElevationGrid_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:15955,1
    - Dst: NurbsPatchSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16043,1
    - Dst: StringSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16104,1
    - Dst: TextureTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:16116,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 130
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 16144
      start: 15879
    functionDepth: 0
    functionLinenumber: 15879
    functionLinenumberEnd: 16144
    functionName: gf_sg_x3d_node_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - TriangleFanSet_get_field_index_by_name
    - Background_get_field_index_by_name
    - ProximitySensor_get_field_index_by_name
    - Script_get_field_index_by_name
    - Arc2D_get_field_index_by_name
    - Cylinder_get_field_index_by_name
    - NormalInterpolator_get_field_index_by_name
    - TransmitterPdu_get_field_index_by_name
    - TriangleSet2D_get_field_index_by_name
    - ContourPolyline2D_get_field_index_by_name
    - MetadataInteger_get_field_index_by_name
    - GeoOrigin_get_field_index_by_name
    - AudioClip_get_field_index_by_name
    - Group_get_field_index_by_name
    - LoadSensor_get_field_index_by_name
    - StaticGroup_get_field_index_by_name
    - Polyline2D_get_field_index_by_name
    - Extrusion_get_field_index_by_name
    - Polypoint2D_get_field_index_by_name
    - Anchor_get_field_index_by_name
    - ColorInterpolator_get_field_index_by_name
    - NurbsSet_get_field_index_by_name
    - NurbsSurfaceInterpolator_get_field_index_by_name
    - NurbsCurve_get_field_index_by_name
    - GeoMetadata_get_field_index_by_name
    - GeoLOD_get_field_index_by_name
    - HAnimJoint_get_field_index_by_name
    - PointSet_get_field_index_by_name
    - PointLight_get_field_index_by_name
    - GeoViewpoint_get_field_index_by_name
    - Sound_get_field_index_by_name
    - GeoCoordinate_get_field_index_by_name
    - Material_get_field_index_by_name
    - IndexedLineSet_get_field_index_by_name
    - GeoPositionInterpolator_get_field_index_by_name
    - MetadataDouble_get_field_index_by_name
    - TriangleStripSet_get_field_index_by_name
    - HAnimHumanoid_get_field_index_by_name
    - MetadataSet_get_field_index_by_name
    - CoordinateDouble_get_field_index_by_name
    - IndexedTriangleStripSet_get_field_index_by_name
    - Billboard_get_field_index_by_name
    - ReceiverPdu_get_field_index_by_name
    - Fog_get_field_index_by_name
    - SphereSensor_get_field_index_by_name
    - Collision_get_field_index_by_name
    - TimeSensor_get_field_index_by_name
    - NurbsPositionInterpolator_get_field_index_by_name
    - TimeTrigger_get_field_index_by_name
    - PixelTexture_get_field_index_by_name
    - NavigationInfo_get_field_index_by_name
    - ArcClose2D_get_field_index_by_name
    - SpotLight_get_field_index_by_name
    - Normal_get_field_index_by_name
    - LineProperties_get_field_index_by_name
    - TextureBackground_get_field_index_by_name
    - IndexedTriangleSet_get_field_index_by_name
    - NurbsTrimmedSurface_get_field_index_by_name
    - CoordinateInterpolator2D_get_field_index_by_name
    - Disk2D_get_field_index_by_name
    - IndexedTriangleFanSet_get_field_index_by_name
    - ColorRGBA_get_field_index_by_name
    - DirectionalLight_get_field_index_by_name
    - GeoTouchSensor_get_field_index_by_name
    - ImageTexture_get_field_index_by_name
    - TouchSensor_get_field_index_by_name
    - Transform_get_field_index_by_name
    - Switch_get_field_index_by_name
    - StringSensor_get_field_index_by_name
    - FillProperties_get_field_index_by_name
    - GeoElevationGrid_get_field_index_by_name
    - MovieTexture_get_field_index_by_name
    - HAnimSegment_get_field_index_by_name
    - LineSet_get_field_index_by_name
    - Color_get_field_index_by_name
    - TextureCoordinate_get_field_index_by_name
    - Inline_get_field_index_by_name
    - ElevationGrid_get_field_index_by_name
    - PositionInterpolator_get_field_index_by_name
    - KeySensor_get_field_index_by_name
    - MultiTextureCoordinate_get_field_index_by_name
    - NurbsSweptSurface_get_field_index_by_name
    - MetadataFloat_get_field_index_by_name
    - TextureCoordinateGenerator_get_field_index_by_name
    - HAnimDisplacer_get_field_index_by_name
    - PlaneSensor_get_field_index_by_name
    - WorldInfo_get_field_index_by_name
    - Circle2D_get_field_index_by_name
    - NurbsCurve2D_get_field_index_by_name
    - BooleanSequencer_get_field_index_by_name
    - BooleanToggle_get_field_index_by_name
    - Rectangle2D_get_field_index_by_name
    - IntegerSequencer_get_field_index_by_name
    - EspduTransform_get_field_index_by_name
    - MetadataString_get_field_index_by_name
    - Sphere_get_field_index_by_name
    - TextureTransform_get_field_index_by_name
    - NurbsSwungSurface_get_field_index_by_name
    - Shape_get_field_index_by_name
    - Contour2D_get_field_index_by_name
    - BooleanTrigger_get_field_index_by_name
    - Box_get_field_index_by_name
    - CylinderSensor_get_field_index_by_name
    - IntegerTrigger_get_field_index_by_name
    - ScalarInterpolator_get_field_index_by_name
    - MultiTextureTransform_get_field_index_by_name
    - GeoLocation_get_field_index_by_name
    - VisibilitySensor_get_field_index_by_name
    - IndexedFaceSet_get_field_index_by_name
    - HAnimSite_get_field_index_by_name
    - BooleanFilter_get_field_index_by_name
    - Text_get_field_index_by_name
    - NurbsPatchSurface_get_field_index_by_name
    - CoordinateInterpolator_get_field_index_by_name
    - Coordinate_get_field_index_by_name
    - MultiTexture_get_field_index_by_name
    - Appearance_get_field_index_by_name
    - OrientationInterpolator_get_field_index_by_name
    - PositionInterpolator2D_get_field_index_by_name
    - TriangleSet_get_field_index_by_name
    - NurbsOrientationInterpolator_get_field_index_by_name
    - Viewpoint_get_field_index_by_name
    - Cone_get_field_index_by_name
    - FontStyle_get_field_index_by_name
    - LOD_get_field_index_by_name
    - Coordinate2D_get_field_index_by_name
    - NurbsTextureCoordinate_get_field_index_by_name
    - SignalPdu_get_field_index_by_name
    linkageType: ''
    returnType: s32
    signature: 's32 gf_sg_x3d_node_get_field_index_by_name(GF_Node *node, char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9170,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9171,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9173,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9172,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9175
      start: 9167
    functionDepth: 0
    functionLinenumber: 9167
    functionLinenumberEnd: 9175
    functionName: NurbsSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void NurbsSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12005,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12006,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:12007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12008
      start: 12002
    functionDepth: 0
    functionLinenumber: 12002
    functionLinenumberEnd: 12008
    functionName: StaticGroup_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void StaticGroup_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14229,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14232,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14231,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:14230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14233
      start: 14226
    functionDepth: 0
    functionLinenumber: 14226
    functionLinenumberEnd: 14233
    functionName: WorldInfo_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void WorldInfo_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3805,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3806,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3809,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3808,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3807,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3811
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3811
    functionName: FontStyle_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void FontStyle_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3d_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3939,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3940,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3941,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3942,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3944
      start: 3936
    functionDepth: 0
    functionLinenumber: 3936
    functionLinenumberEnd: 3944
    functionName: GeoCoordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3d_del
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void GeoCoordinate_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7764
      start: 7733
    functionDepth: 0
    functionLinenumber: 7733
    functionLinenumberEnd: 7764
    functionName: MetadataInteger_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MetadataInteger_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8608,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8611,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8610,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8612,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:8609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8613
      start: 8605
    functionDepth: 0
    functionLinenumber: 8605
    functionLinenumberEnd: 8613
    functionName: NurbsCurve_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfdouble_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NurbsCurve_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9153,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:9155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9160
      start: 9150
    functionDepth: 0
    functionLinenumber: 9150
    functionLinenumberEnd: 9160
    functionName: NurbsPositionInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *NurbsPositionInterpolator_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10328,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10329,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10332
      start: 10326
    functionDepth: 0
    functionLinenumber: 10326
    functionLinenumberEnd: 10332
    functionName: PointSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointSet_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10423
      start: 10420
    functionDepth: 0
    functionLinenumber: 10420
    functionLinenumberEnd: 10423
    functionName: Polypoint2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Polypoint2D_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10612,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10613,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10614,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10615,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10618
      start: 10610
    functionDepth: 0
    functionLinenumber: 10610
    functionLinenumberEnd: 10618
    functionName: PositionInterpolator2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionInterpolator2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: GeoCoordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GeoCoordinate_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7770,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:7772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7774
      start: 7767
    functionDepth: 0
    functionLinenumber: 7767
    functionLinenumberEnd: 7774
    functionName: MetadataInteger_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MetadataInteger_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - node
    - dummy
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8619
      start: 8616
    functionDepth: 0
    functionLinenumber: 8616
    functionLinenumberEnd: 8619
    functionName: NurbsCurve_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsCurve_get_field_count(GF_Node *node, u8 dummy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10338,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10344
      start: 10335
    functionDepth: 0
    functionLinenumber: 10335
    functionLinenumberEnd: 10344
    functionName: PointSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PointSet_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10444
      start: 10425
    functionDepth: 0
    functionLinenumber: 10425
    functionLinenumberEnd: 10444
    functionName: Polypoint2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Polypoint2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10624,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:10626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10630
      start: 10621
    functionDepth: 0
    functionLinenumber: 10621
    functionLinenumberEnd: 10630
    functionName: PositionInterpolator2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *PositionInterpolator2D_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14187
      start: 14138
    functionDepth: 0
    functionLinenumber: 14138
    functionLinenumberEnd: 14187
    functionName: VisibilitySensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err VisibilitySensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolorrgba_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1494,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1495,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1497
    functionName: ColorRGBA_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfcolorrgba_del
    linkageType: ''
    returnType: void
    signature: 'static void ColorRGBA_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1778,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1779,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: Coordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Coordinate_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3783,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3790,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3785,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3789,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3788,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3791,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3792,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:3793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3795
    functionName: Fog_Create
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *Fog_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/x3d_nodes.c:11280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11282
      start: 11276
    functionDepth: 0
    functionLinenumber: 11276
    functionLinenumberEnd: 11282
    functionName: Shape_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/x3d_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Shape_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3221,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - size
    - attribute_content
    - out_e
    argTypes:
    - LASeR_Size*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3224
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3224
    functionName: laser_parse_size
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_number
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err laser_parse_size(LASeR_Size *size, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4020,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4026,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4023,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4023,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4024,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4027,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4027,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4029,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4034,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4036,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - iri
    argTypes:
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 4037
      start: 4015
    functionDepth: 0
    functionLinenumber: 4015
    functionLinenumberEnd: 4037
    functionName: svg_dump_iri
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_node_get_name
    - gf_strdup
    - sprintf
    - gf_node_get_id
    linkageType: ''
    returnType: char*
    signature: 'static char *svg_dump_iri(XMLRI*iri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3229,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3230,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - n
    - nodename
    - warning_if_defined
    argTypes:
    - GF_Node*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3233
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3233
    functionName: gf_svg_parse_element_id
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_node_set_id
    - gf_sg_get_max_node_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_svg_parse_element_id(GF_Node *n, const char *nodename,
      Bool warning_if_defined) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4042,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4046,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4043,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4047,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4046,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4050,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4051,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - iri
    argTypes:
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 4052
      start: 4039
    functionDepth: 0
    functionLinenumber: 4039
    functionLinenumberEnd: 4052
    functionName: svg_dump_idref
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_node_get_name
    - sprintf
    - gf_node_get_id
    linkageType: ''
    returnType: char*
    signature: 'static char *svg_dump_idref(XMLRI*iri) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1119,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1127,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1152,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1153,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1180,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1236,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1222,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1243,1
    - Dst: gf_mx2d_add_skew_x
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1288,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1281,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1300,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1255,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1326,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1275,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1308,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1151,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1165,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1189,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1198,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1249,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1262,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1283,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1292,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1349,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1314,1
    - Dst: gf_mx2d_add_skew_y
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1266,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1145,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1150,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1173,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1194,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1201,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1207,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1224,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1320,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1324,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1277,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1251,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1330,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1306,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1133,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1135,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1182,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1216,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1231,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1240,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1337,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1218,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1312,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1345,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1229,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1318,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 227
    argCount: 2
    argNames:
    - mat
    - attribute_content
    argTypes:
    - GF_Matrix2D*
    - char*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1356
    functionName: gf_svg_parse_transformlist
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mx2d_add_skew_x
    - svg_parse_number
    - gf_mx2d_add_matrix
    - GF_LOG
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - gf_mx2d_add_skew_y
    - gf_mx2d_add_rotation
    - gf_mx2d_copy
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_parse_transformlist(GF_Matrix2D *mat, char *attribute_content) '
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: svg_color_clamp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6209,1
    - Dst: svg_numbers_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6246,1
    - Dst: svg_points_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6242,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6261,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6262,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6265,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6266,1
    - Dst: gf_mx2d_add_skew_y
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6278,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6336,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6343,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6390,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6397,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6222,1
    - Dst: svg_path_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6249,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6273,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6277,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6281,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6353,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6359,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6426,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6447,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6396,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6408,1
    - Dst: svg_dasharray_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6252,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6270,1
    - Dst: gf_mx2d_add_skew_x
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6284,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6342,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6368,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6377,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6447,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6431,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6255,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6269,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6337,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6349,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6351,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6359,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6369,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6378,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6387,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6392,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6398,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 108
    argCount: 3
    argNames:
    - a
    - b
    - clamp
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 6451
      start: 6201
    functionDepth: 0
    functionLinenumber: 6201
    functionLinenumberEnd: 6451
    functionName: gf_svg_attributes_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_dasharray_copy
    - gf_malloc
    - gf_list_add
    - gf_node_register_iri
    - svg_points_copy
    - gf_mx2d_add_skew_x
    - gf_mx2d_add_scale
    - GF_LOG
    - svg_numbers_copy
    - gf_svg_attribute_type_to_string
    - gf_mx2d_copy
    - gf_mx2d_add_rotation
    - gf_svg_create_attribute_value
    - gf_strdup
    - gf_list_count
    - gf_mx2d_init
    - gf_list_get
    - gf_mx2d_add_translation
    - svg_color_clamp
    - memcpy
    - gf_free
    - gf_svg_attributes_copy
    - gf_mx2d_add_skew_y
    - gf_node_get_graph
    - gf_list_rem
    - svg_path_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_svg_attributes_copy(GF_FieldInfo *a, GF_FieldInfo
      *b, Bool clamp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:728,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:734,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:735,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:737,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:752,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:740,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:759,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:760,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:785,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:733,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:719,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:739,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:751,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:750,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:768,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:769,1
    - Dst: svg_parse_named_color
      Src: /src/gpac/src/scenegraph/svg_attributes.c:782,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:787,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:718,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:725,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:747,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:744,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:788,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:736,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:744,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:741,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:748,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:761,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:786,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 123
    argCount: 3
    argNames:
    - col
    - attribute_content
    - out_e
    argTypes:
    - SVG_Color*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 794
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 794
    functionName: svg_parse_color
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - strcmp
    - INT2FIX
    - FLT2FIX
    - svg_parse_named_color
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_color(SVG_Color *col, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:988,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:998,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1035,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1061,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1013,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1014,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1022,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1043,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1045,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1045,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1026,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1064,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1070,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1077,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:992,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1025,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1027,1
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1048,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1084,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1084,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1093,1
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1098,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1079,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1007,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1009,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1016,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1019,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1028,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1058,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1060,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1072,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1076,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1102,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 3
    argNames:
    - elt
    - v
    - d
    argTypes:
    - GF_Node*
    - SMIL_Time*
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1108
    functionName: smil_parse_time
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dom_get_key_type
    - sscanf
    - gf_strdup
    - svg_parse_clock_value
    - strcmp
    - GF_LOG
    - strchr
    - gf_dom_event_type_by_name
    - atoi
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err smil_parse_time(GF_Node *elt, SMIL_Time *v, char *d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2508,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2510,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_FontVariant*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2517
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2517
    functionName: svg_parse_fontvariant
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_fontvariant(SVG_FontVariant *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3063,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - fh
    - attribute_content
    - out_e
    argTypes:
    - SVG_FocusHighlight*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3070
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3070
    functionName: svg_parse_focushighlight
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_focushighlight(SVG_FocusHighlight *fh, char
      *attribute_content, GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5592,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5596,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5597,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5596,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5597,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5598,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5598,1
    - Dst: svg_color_clamp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    - clamp
    argTypes:
    - Fixed
    - SVG_Color*
    - Fixed
    - SVG_Color*
    - SVG_Color*
    - Bool
    constantsTouched: []
    func_position:
      end: 5601
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5601
    functionName: svg_color_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - GF_LOG
    - svg_color_clamp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_color_muladd(Fixed alpha, SVG_Color *a, Fixed beta,
      SVG_Color *b, SVG_Color *c, Bool clamp) '
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5975,1
    - Dst: svg_number_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5986,1
    - Dst: svg_points_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5992,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6031,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6031,1
    - Dst: gf_mx2d_add_skew_x
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6040,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6043,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6058,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6075,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6092,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6114,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6118,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6111,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6098,1
    - Dst: svg_color_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5979,1
    - Dst: svg_numbers_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5996,1
    - Dst: svg_path_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5999,1
    - Dst: svg_dasharray_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6002,1
    - Dst: svg_matrix_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6013,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6040,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6049,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6121,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6098,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6131,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6089,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6130,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6117,1
    - Dst: svg_viewbox_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5989,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6037,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6050,1
    - Dst: svg_point_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6056,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6069,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6089,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6112,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6113,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6083,1
    - Dst: svg_color_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5967,1
    - Dst: svg_matrix_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6005,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6028,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6034,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6015,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6031,1
    - Dst: gf_mx2d_add_skew_y
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6043,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6068,1
    - Dst: svg_point_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6072,1
    - Dst: svg_point_angle_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6081,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6116,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6130,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6101,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 142
    argCount: 6
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    - clamp
    argTypes:
    - Fixed
    - GF_FieldInfo*
    - Fixed
    - GF_FieldInfo*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 6198
      start: 5942
    functionDepth: 0
    functionLinenumber: 5942
    functionLinenumberEnd: 6198
    functionName: gf_svg_attributes_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - svg_viewbox_muladd
    - gf_mx2d_add_skew_x
    - GF_LOG
    - gf_mx2d_add_scale
    - svg_matrix_muladd
    - gf_svg_attribute_type_to_string
    - gf_mx2d_copy
    - gf_mx2d_add_rotation
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - svg_point_muladd
    - svg_color_muladd
    - svg_point_angle_muladd
    - svg_path_muladd
    - svg_points_muladd
    - gf_mx2d_add_translation
    - svg_numbers_muladd
    - svg_dasharray_muladd
    - memcpy
    - gf_free
    - gf_mulfix
    - gf_mx2d_add_skew_y
    - svg_number_muladd
    - FIX2INT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_svg_attributes_muladd(Fixed alpha, GF_FieldInfo *a, Fixed
      beta, GF_FieldInfo *b, GF_FieldInfo *c, Bool clamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2522,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2522,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2522,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_Boolean*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2526
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2526
    functionName: svg_parse_boolean
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_boolean(SVG_Boolean *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3074,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3076,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - f
    - attribute_content
    - out_e
    argTypes:
    - SVG_Focusable*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3083
    functionName: svg_parse_focusable
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_focusable(SVG_Focusable *f, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5607,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5611,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5614,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_Number*
    - Fixed
    - SVG_Number*
    - SVG_Number*
    constantsTouched: []
    func_position:
      end: 5616
      start: 5603
    functionDepth: 0
    functionLinenumber: 5603
    functionLinenumberEnd: 5616
    functionName: svg_number_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_number_muladd(Fixed alpha, SVG_Number *a, Fixed
      beta, SVG_Number *b, SVG_Number *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: gf_svg_get_system_paint_server_type
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_svg_get_system_paint_server_type(const char *name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4077,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4079,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4079,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4081,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4081,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4089,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4089,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4093,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4111,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4080,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4080,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4081,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4089,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4110,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4110,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4060,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4074,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4074,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4074,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4089,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4089,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4101,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4104,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4110,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - path
    argTypes:
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 4115
      start: 4055
    functionDepth: 0
    functionLinenumber: 4055
    functionLinenumberEnd: 4115
    functionName: svg_dump_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - _FIX2FLT
    - strlen
    - strcat
    - gf_realloc
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *svg_dump_path(SVG_PathData *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5815,1
    - Dst: svg_path_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5816,1
    - Dst: svg_point_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_PathData*
    - Fixed
    - SVG_PathData*
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 5824
      start: 5810
    functionDepth: 0
    functionLinenumber: 5810
    functionLinenumberEnd: 5824
    functionName: svg_path_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_point_muladd
    - gf_path_reset
    - svg_path_copy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_path_muladd(Fixed alpha, SVG_PathData *a, Fixed
      beta, SVG_PathData *b, SVG_PathData *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2347,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - XMLEV_DefaultAction*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2354
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2354
    functionName: svg_parse_xmlev_defaultAction
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_xmlev_defaultAction(XMLEV_DefaultAction *value,
      char *value_string, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key_identifier
    argTypes:
    - GF_KeyCode
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: gf_dom_get_key_name
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dom_get_key_name(GF_KeyCode key_identifier) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:536,1
    - Dst: strupr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:540,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:619,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 27
    argCount: 1
    argNames:
    - key_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 625
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 625
    functionName: gf_dom_get_key_type
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strlen
    - stricmp
    - strupr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_KeyCode gf_dom_get_key_type(char *key_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2940,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2948,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2942,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2952,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2946,1
    - Dst: svg_parse_length
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2954,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2956,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2960,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2962,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2963,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2964,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2966,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2969,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2971,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_StrokeDashArray*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2974
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 2974
    functionName: svg_parse_strokedasharray
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_length
    - strlen
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - strcmp
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_strokedasharray(SVG_StrokeDashArray *value,
      char *value_string, GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2690,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_Fill*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2697
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2697
    functionName: smil_parse_fill
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_fill(SMIL_Fill *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2701,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2703,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_Restart*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2710
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2710
    functionName: smil_parse_restart
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_restart(SMIL_Restart *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2978,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_ZoomAndPan*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2985
      start: 2976
    functionDepth: 0
    functionLinenumber: 2976
    functionLinenumberEnd: 2985
    functionName: svg_parse_zoomandpan
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_zoomandpan(SVG_ZoomAndPan *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2358,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - XMLEV_Phase*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2365
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2365
    functionName: svg_parse_xmlev_phase
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_xmlev_phase(XMLEV_Phase *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - key_identifier
    argTypes:
    - GF_KeyCode
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: gf_dom_get_friendly_name
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dom_get_friendly_name(GF_KeyCode key_identifier) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5883,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5884,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5890,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_StrokeDashArray*
    - Fixed
    - SVG_StrokeDashArray*
    - SVG_StrokeDashArray*
    constantsTouched: []
    func_position:
      end: 5893
      start: 5874
    functionDepth: 0
    functionLinenumber: 5874
    functionLinenumberEnd: 5893
    functionName: svg_dasharray_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_mulfix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_dasharray_muladd(Fixed alpha, SVG_StrokeDashArray
      *a, Fixed beta, SVG_StrokeDashArray *b, SVG_StrokeDashArray *c) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2991,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3007,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3001,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2998,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3004,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3010,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3013,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3016,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3019,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3022,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3034,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3025,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3036,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 3
    argNames:
    - par
    - attribute_content
    - out_e
    argTypes:
    - SVG_PreserveAspectRatio*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3041
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3041
    functionName: svg_parse_preserveaspectratio
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_preserveaspectratio(SVG_PreserveAspectRatio
      *par, char *attribute_content, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log10
      Src: /src/gpac/src/scenegraph/svg_attributes.c:246,1
    - Dst: round_ieee_754
      Src: /src/gpac/src/scenegraph/svg_attributes.c:251,1
    - Dst: pow
      Src: /src/gpac/src/scenegraph/svg_attributes.c:248,1
    - Dst: fabs
      Src: /src/gpac/src/scenegraph/svg_attributes.c:246,1
    - Dst: fabs
      Src: /src/gpac/src/scenegraph/svg_attributes.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - digits
    argTypes:
    - double
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: round_float_hte
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - log10
    - fabs
    - pow
    - round_ieee_754
    linkageType: ''
    returnType: double
    signature: 'double round_float_hte(double value, int digits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2429,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2433,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2431,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_StrokeLineCap*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2440
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2440
    functionName: svg_parse_strokelinecap
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_strokelinecap(SVG_StrokeLineCap *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2454,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2462,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2460,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2456,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_FontStyle*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2467
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2467
    functionName: svg_parse_fontstyle
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_fontstyle(SVG_FontStyle *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2573,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2575,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2597,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2572,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2602,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2618,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2624,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2553,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2555,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2566,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2590,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2598,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2600,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2602,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2615,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2617,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2622,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2568,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2580,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2577,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2604,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2613,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2616,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2628,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2545,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2543,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2548,1
    - Dst: smil_parse_time
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2557,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 3
    argNames:
    - e
    - values
    - begin_or_end_list
    argTypes:
    - GF_Node*
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 2640
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2640
    functionName: smil_parse_time_list
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_insert
    - gf_list_get
    - gf_list_del
    - smil_parse_time
    - gf_list_count
    - GF_LOG
    - memcpy
    - gf_list_rem
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_time_list(GF_Node *e, GF_List *values, char
      *begin_or_end_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2444,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_FontFamily*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2450
    functionName: svg_parse_fontfamily
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_fontfamily(SVG_FontFamily *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2479,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2477,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2475,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2481,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2483,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2485,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2487,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2489,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2495,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_FontWeight*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2504
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2504
    functionName: svg_parse_fontweight
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_fontweight(SVG_FontWeight *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2644,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2646,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_AttributeType*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2642
    functionDepth: 0
    functionLinenumber: 2642
    functionLinenumberEnd: 2653
    functionName: smil_parse_attributeType
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_attributeType(SMIL_AttributeType *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3046,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3048,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3054,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3052,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3050,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - anim_transform_type
    - attribute_content
    - out_e
    argTypes:
    - SVG_TransformType*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3059
    functionName: svg_parse_animatetransform_type
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_animatetransform_type(SVG_TransformType *anim_transform_type,
      char *attribute_content, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4203,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4235,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - evt
    - attValue
    argTypes:
    - XMLEV_Event*
    - char*
    constantsTouched: []
    func_position:
      end: 4236
      start: 4200
    functionDepth: 0
    functionLinenumber: 4200
    functionLinenumberEnd: 4236
    functionName: svg_dump_access_key
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcat
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void svg_dump_access_key(XMLEV_Event *evt, char *attValue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2740,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_Accumulate*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2747
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2747
    functionName: smil_parse_accumulate
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_accumulate(SMIL_Accumulate *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2833,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - p
    - value_string
    - out_e
    argTypes:
    - SVG_Point*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2841
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2841
    functionName: svg_parse_point
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_number
    linkageType: ''
    returnType: u32
    signature: 'u32 svg_parse_point(SVG_Point *p, char *value_string, GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - SVG_Color*
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 5163
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5163
    functionName: svg_colors_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_colors_equal(SVG_Color *c1, SVG_Color *c2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5621,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5621,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5622,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5622,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5623,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5623,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5624,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_ViewBox*
    - Fixed
    - SVG_ViewBox*
    - SVG_ViewBox*
    constantsTouched: []
    func_position:
      end: 5626
      start: 5618
    functionDepth: 0
    functionLinenumber: 5618
    functionLinenumberEnd: 5626
    functionName: svg_viewbox_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_viewbox_muladd(Fixed alpha, SVG_ViewBox *a, Fixed
      beta, SVG_ViewBox *b, SVG_ViewBox *c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2751,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2757,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_SyncBehavior*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2764
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2764
    functionName: smil_parse_syncBehaviorOrDefault
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_syncBehaviorOrDefault(SMIL_SyncBehavior *value,
      char *value_string, GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - SVG_Length*
    - SVG_Length*
    constantsTouched: []
    func_position:
      end: 5169
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5169
    functionName: svg_numbers_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_numbers_equal(SVG_Length *l1, SVG_Length *l2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5632,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5632,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5633,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - alpha
    - pta
    - beta
    - ptb
    - ptc
    argTypes:
    - Fixed
    - SVG_Point*
    - Fixed
    - SVG_Point*
    - SVG_Point*
    constantsTouched: []
    func_position:
      end: 5635
      start: 5628
    functionDepth: 0
    functionLinenumber: 5628
    functionLinenumberEnd: 5635
    functionName: svg_point_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_point_muladd(Fixed alpha, SVG_Point *pta, Fixed
      beta, SVG_Point *ptb, SVG_Point *ptc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2811,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2813,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2812,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2810,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2817,1
    - Dst: svg_parse_length
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2819,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2821,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2825,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - values
    - value_string
    - out_e
    argTypes:
    - GF_List*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2827
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2827
    functionName: svg_parse_coordinates
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_length
    - strlen
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_coordinates(GF_List *values, char *value_string,
      GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_EventType
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: gf_dom_event_get_category
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_DOMEventCategory
    signature: 'GF_DOMEventCategory gf_dom_event_get_category(GF_EventType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3165,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - n
    - anim_value
    - attribute_content
    - anim_value_type
    - out_e
    argTypes:
    - GF_Node*
    - SMIL_AnimateValue*
    - char*
    - u8
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3171
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3171
    functionName: svg_parse_one_anim_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_svg_create_attribute_value
    - gf_svg_parse_attribute
    linkageType: ''
    returnType: void
    signature: 'void svg_parse_one_anim_value(GF_Node *n, SMIL_AnimateValue *anim_value,
      char *attribute_content, u8 anim_value_type, GF_Err *out_e) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5746,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5750,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5748,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5747,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5753,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5754,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5759,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5760,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5765,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SVG_PathData*
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 5773
      start: 5741
    functionDepth: 0
    functionLinenumber: 5741
    functionLinenumberEnd: 5773
    functionName: svg_path_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_path_copy(SVG_PathData *a, SVG_PathData *b) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1461,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1489,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1486,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1497,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1559,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1566,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1577,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1549,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1634,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1641,1
    - Dst: gf_path_add_svg_arc_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1712,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1694,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1516,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1589,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1599,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1615,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1697,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1704,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1652,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1464,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1472,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1508,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1535,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1569,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1546,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1556,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1631,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1684,1
    - Dst: gf_path_close
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1722,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1644,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1674,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1527,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1592,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1602,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1618,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1691,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1663,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1687,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1701,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1666,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 258
    argCount: 3
    argNames:
    - path
    - attribute_content
    - out_e
    argTypes:
    - SVG_PathData*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1742
    functionName: svg_parse_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_number
    - gf_path_add_quadratic_to
    - gf_path_add_svg_arc_to
    - gf_path_close
    - gf_path_add_line_to
    - gf_path_add_cubic_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_path(SVG_PathData *path, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2325,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - XML_Space*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2332
    functionName: svg_parse_xmlspace
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_xmlspace(XML_Space *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3145,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3154,1
    - Dst: svg_parse_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3152,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3150,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - e
    - o
    - attribute_content
    - out_e
    argTypes:
    - GF_Node*
    - SVG_ClipPath*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3158
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3158
    functionName: svg_parse_clippath
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - strrchr
    - svg_parse_iri
    - strnicmp
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_clippath(GF_Node *e, SVG_ClipPath *o, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6495,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6578,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6496,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6576,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6523,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6593,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6593,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 21
    argCount: 5
    argNames:
    - a
    - b
    - c
    - coef
    - clamp
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    - GF_FieldInfo*
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 6598
      start: 6488
    functionDepth: 0
    functionLinenumber: 6488
    functionLinenumberEnd: 6598
    functionName: gf_svg_attributes_interpolate
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - GF_LOG
    - gf_svg_attributes_copy
    - gf_svg_attributes_equal
    - gf_svg_attribute_type_to_string
    - gf_svg_attributes_muladd
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_svg_attributes_interpolate(GF_FieldInfo *a, GF_FieldInfo
      *b, GF_FieldInfo *c, Fixed coef, Bool clamp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2336,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - XMLEV_Propagate*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2343
    functionName: svg_parse_xmlev_propagate
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_xmlev_propagate(XMLEV_Propagate *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5778,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5784,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5781,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5783,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5780,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5786,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5787,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5791,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5793,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5794,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5800,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5803,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5802,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5797,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5795,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SVG_PathData*
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 5806
      start: 5775
    functionDepth: 0
    functionLinenumber: 5775
    functionLinenumberEnd: 5806
    functionName: svg_path_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_reset
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_path_copy(SVG_PathData *a, SVG_PathData *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6615
      start: 6600
    functionDepth: 0
    functionLinenumber: 6600
    functionLinenumberEnd: 6615
    functionName: gf_svg_is_current_color
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_is_current_color(GF_FieldInfo *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2067,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2072,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2069,1
    - Dst: svg_parse_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2075,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2071,1
    - Dst: svg_parse_color
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2079,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - n
    - paint
    - attribute_content
    - out_e
    argTypes:
    - GF_Node*
    - SVG_Paint*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2081
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2081
    functionName: svg_parse_paint
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strncmp
    - strcmp
    - strrchr
    - svg_parse_iri
    - svg_parse_color
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_paint(GF_Node *n, SVG_Paint *paint, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1367,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1369,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1386,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1390,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1397,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1407,1
    - Dst: gf_svg_parse_transformlist
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1413,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - t
    - attribute_content
    argTypes:
    - SVG_Transform*
    - char*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1418
    functionName: svg_parse_transform
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_svg_parse_transformlist
    - svg_parse_number
    - GF_LOG
    - gf_mx2d_init
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_parse_transform(SVG_Transform *t, char *attribute_content) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2056,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2058,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - elt
    - iri
    - attribute_content
    argTypes:
    - GF_Node*
    - XML_IDREF*
    - char*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2062
    functionName: svg_parse_idref
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_node_register_iri
    - gf_strdup
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_idref(GF_Node *elt, XML_IDREF *iri, char *attribute_content) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2768,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2770,1
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_SyncTolerance*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2776
    functionName: smil_parse_syncToleranceOrDefault
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - svg_parse_clock_value
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_syncToleranceOrDefault(SMIL_SyncTolerance *value,
      char *value_string, GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2782,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2796,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2790,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2793,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_ViewBox*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2800
    functionName: svg_parse_viewbox
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_number
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_viewbox(SVG_ViewBox *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:818,1
    - Dst: pow
      Src: /src/gpac/src/scenegraph/svg_attributes.c:849,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:851,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:859,1
    - Dst: pow
      Src: /src/gpac/src/scenegraph/svg_attributes.c:880,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:882,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:891,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:891,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:893,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 4
    argNames:
    - d
    - f
    - is_angle
    - out_e
    argTypes:
    - char*
    - Fixed*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 899
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 899
    functionName: svg_parse_number
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - pow
    - gf_mulfix
    - GF_LOG
    - FLT2FIX
    - strchr
    linkageType: ''
    returnType: u32
    signature: 'static u32 svg_parse_number(char *d, Fixed *f, Bool is_angle, GF_Err
      *out_e) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2094,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2106,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2100,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2103,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2108,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2110,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2112,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2114,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2116,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2118,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2137,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2144,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2144,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2120,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 4
    argNames:
    - number
    - value_string
    - clamp0to1
    - out_e
    argTypes:
    - SVG_Number*
    - char*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2146
    functionName: svg_parse_length
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - MIN
    - svg_parse_number
    - GF_LOG
    - strcmp
    - strstr
    - MAX
    linkageType: ''
    returnType: u32
    signature: 'static u32 svg_parse_length(SVG_Number *number, char *value_string,
      Bool clamp0to1, GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2369,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2375,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2373,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2371,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_Overflow*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2382
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2382
    functionName: svg_parse_overflow
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_overflow(SVG_Overflow *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_strokelinejoin
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3278,1
    - Dst: svg_parse_display
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3296,1
    - Dst: smil_parse_repeatcount
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3443,1
    - Dst: svg_parse_length
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3416,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3401,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3497,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3554,1
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3587,1
    - Dst: svg_parse_fontweight
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3287,1
    - Dst: svg_parse_zoomandpan
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3305,1
    - Dst: svg_parse_playbackorder
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3323,1
    - Dst: smil_parse_syncBehaviorOrDefault
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3341,1
    - Dst: smil_parse_restart
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3359,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3402,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3509,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3558,1
    - Dst: laser_parse_choice
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3581,1
    - Dst: svg_parse_clipfillrule
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3275,1
    - Dst: svg_parse_pointerevents
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3314,1
    - Dst: svg_parse_xmlev_propagate
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3332,1
    - Dst: smil_parse_calcmode
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3350,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3388,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3403,1
    - Dst: svg_parse_anim_values
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3423,1
    - Dst: svg_parse_animatetransform_type
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3529,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3561,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3404,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3389,1
    - Dst: svg_parse_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3427,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3367,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3516,1
    - Dst: svg_parse_fontvariant
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3290,1
    - Dst: svg_parse_displayalign
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3308,1
    - Dst: svg_parse_timelinebegin
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3326,1
    - Dst: smil_parse_syncToleranceOrDefault
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3344,1
    - Dst: smil_parse_fill
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3362,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3395,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3397,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3538,1
    - Dst: svg_parse_xmlev_defaultAction
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3335,1
    - Dst: smil_parse_additive
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3353,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3396,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3398,1
    - Dst: svg_parse_numbers
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3455,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3485,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3399,1
    - Dst: svg_parse_overlay
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3382,1
    - Dst: svg_parse_strings
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3400,1
    - Dst: svg_parse_focushighlight
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3373,1
    - Dst: svg_parse_strokedasharray
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3464,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3249,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3474,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3590,1
    - Dst: smil_parse_accumulate
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3356,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3563,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3600,1
    - Dst: svg_parse_one_anim_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3420,1
    - Dst: svg_parse_coordinates
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3458,1
    - Dst: svg_parse_boolean
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3264,1
    - Dst: svg_parse_transformbehavior
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3385,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3520,1
    - Dst: laser_parse_size
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3594,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3598,1
    - Dst: smil_parse_time_list
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3437,1
    - Dst: svg_parse_focusable
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3376,1
    - Dst: svg_parse_fontfamily
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3467,1
    - Dst: svg_parse_transform
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3479,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3598,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3434,1
    - Dst: svg_parse_path
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3446,1
    - Dst: svg_parse_strokelinecap
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3281,1
    - Dst: svg_parse_visibility
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3299,1
    - Dst: svg_parse_renderinghint
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3317,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3394,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3489,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3501,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3521,1
    - Dst: svg_parse_strings
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3542,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3241,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3390,1
    - Dst: svg_parse_idref
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3430,1
    - Dst: svg_parse_viewbox
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3461,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3244,1
    - Dst: svg_parse_textanchor
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3293,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3365,1
    - Dst: smil_parse_min_max_dur_repeatdur
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3440,1
    - Dst: svg_parse_initialvisibility
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3379,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3551,1
    - Dst: svg_parse_focus
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3574,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3591,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3251,1
    - Dst: svg_parse_overflow
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3302,1
    - Dst: svg_parse_fontstyle
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3284,1
    - Dst: svg_parse_vectoreffect
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3320,1
    - Dst: svg_parse_xmlev_phase
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3338,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3475,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3536,1
    - Dst: svg_parse_points
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3449,1
    - Dst: svg_parse_color
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3267,1
    - Dst: svg_parse_paint
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3270,1
    - Dst: svg_parse_textalign
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3311,1
    - Dst: svg_parse_xmlspace
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3329,1
    - Dst: smil_parse_attributeType
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3347,1
    - Dst: svg_parse_preserveaspectratio
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3526,1
    - Dst: svg_parse_clippath
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3577,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 212
    argCount: 4
    argNames:
    - n
    - info
    - attribute_content
    - anim_value_type
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 3604
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3604
    functionName: gf_svg_parse_attribute
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strlen
    - svg_parse_one_anim_value
    - svg_parse_anim_values
    - svg_parse_xmlspace
    - svg_parse_overflow
    - svg_parse_transformbehavior
    - svg_parse_viewbox
    - smil_parse_attributeType
    - svg_parse_vectoreffect
    - svg_parse_clock_value
    - GF_LOG
    - svg_parse_pointerevents
    - smil_parse_repeatcount
    - smil_parse_restart
    - svg_parse_color
    - svg_parse_path
    - svg_parse_displayalign
    - svg_parse_idref
    - svg_parse_clipfillrule
    - svg_parse_focushighlight
    - smil_parse_syncBehaviorOrDefault
    - svg_parse_numbers
    - svg_parse_preserveaspectratio
    - svg_parse_points
    - svg_parse_strokedasharray
    - svg_parse_number
    - svg_parse_focus
    - gf_strdup
    - gf_error_to_string
    - strcmp
    - gf_mx2d_init
    - svg_parse_visibility
    - svg_parse_timelinebegin
    - svg_parse_xmlev_phase
    - svg_parse_textalign
    - svg_parse_xmlev_propagate
    - svg_parse_iri
    - gf_dom_event_type_by_name
    - svg_parse_display
    - smil_parse_accumulate
    - svg_parse_zoomandpan
    - svg_parse_overlay
    - laser_parse_choice
    - smil_parse_syncToleranceOrDefault
    - svg_parse_length
    - svg_parse_animatetransform_type
    - svg_parse_fontweight
    - gf_dom_get_key_type
    - svg_parse_strokelinecap
    - svg_parse_xmlev_defaultAction
    - svg_parse_paint
    - svg_parse_initialvisibility
    - strchr
    - gf_sys_is_test_mode
    - svg_parse_fontstyle
    - gf_free
    - svg_parse_strings
    - svg_parse_playbackorder
    - svg_parse_fontfamily
    - svg_parse_transform
    - svg_parse_boolean
    - svg_parse_clippath
    - smil_parse_additive
    - svg_parse_renderinghint
    - laser_parse_size
    - smil_parse_calcmode
    - sscanf
    - svg_parse_focusable
    - smil_parse_fill
    - svg_parse_coordinates
    - svg_parse_fontvariant
    - smil_parse_min_max_dur_repeatdur
    - svg_parse_strokelinejoin
    - smil_parse_time_list
    - svg_parse_textanchor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_svg_parse_attribute(GF_Node *n, GF_FieldInfo *info,
      char *attribute_content, u8 anim_value_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5900,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5905,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5904,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SVG_StrokeDashArray*
    - SVG_StrokeDashArray*
    constantsTouched: []
    func_position:
      end: 5907
      start: 5895
    functionDepth: 0
    functionLinenumber: 5895
    functionLinenumberEnd: 5907
    functionName: svg_dasharray_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_dasharray_copy(SVG_StrokeDashArray *a, SVG_StrokeDashArray
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2150,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2156,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2152,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_Visibility*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2161
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2161
    functionName: svg_parse_visibility
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_visibility(SVG_Visibility *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2386,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2392,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_TextAnchor*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2397
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2397
    functionName: svg_parse_textanchor
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_textanchor(SVG_TextAnchor *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3613,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3618,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3622,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3624,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - n
    - one_style
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 3627
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3627
    functionName: svg_parse_one_style
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_node_get_field_by_name
    - gf_svg_parse_attribute
    - GF_LOG
    - strchr
    - gf_node_get_class_name
    linkageType: ''
    returnType: void
    signature: 'void svg_parse_one_style(GF_Node *n, char *one_style) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5930,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5933,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5933,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - GF_Matrix2D*
    - Fixed
    - GF_Matrix2D*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 5939
      start: 5909
    functionDepth: 0
    functionLinenumber: 5909
    functionLinenumberEnd: 5939
    functionName: svg_matrix_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_matrix_muladd(Fixed alpha, GF_Matrix2D *a, Fixed
      beta, GF_Matrix2D *b, GF_Matrix2D *c) '
  - BBCount: 86
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 2
    argCount: 1
    argNames:
    - att_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 6791
      start: 6617
    functionDepth: 0
    functionLinenumber: 6617
    functionLinenumberEnd: 6791
    functionName: gf_svg_attribute_type_to_string
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_svg_attribute_type_to_string(u32 att_type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4262,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4264,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4264,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4266,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4271,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4277,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4286,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4277,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4244,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4248,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4252,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4271,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4277,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4277,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4279,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4279,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4271,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4244,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4244,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4250,1
    - Dst: gf_cos
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4256,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4261,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4260,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4264,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4264,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4266,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4266,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4271,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4279,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4284,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4250,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4250,1
    - Dst: gf_asin
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4255,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4264,1
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4257,1
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4262,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4259,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4269,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4271,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4277,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4283,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 108
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 4287
      start: 4238
    functionDepth: 0
    functionLinenumber: 4238
    functionLinenumberEnd: 4287
    functionName: gf_svg_dump_matrix
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - _FIX2FLT
    - gf_asin
    - strlen
    - strcat
    - gf_strdup
    - sprintf
    - gf_cos
    - ABS
    - gf_divfix
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_svg_dump_matrix(GF_Matrix2D *matrix) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5052,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5057,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5058,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5059,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5068,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5068,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5088,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5081,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5088,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5114,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5117,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5080,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5080,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5108,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5115,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5119,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5123,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5125,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5129,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5130,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5094,1
    - Dst: svg_dump_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5074,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5105,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5121,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5116,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5133,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5137,1
    - Dst: svg_dump_access_key
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5110,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5058,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5058,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5067,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5069,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5096,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5089,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5098,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5112,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5121,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5125,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5140,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 2
    argNames:
    - elt
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5141
      start: 5044
    functionDepth: 0
    functionLinenumber: 5044
    functionLinenumberEnd: 5141
    functionName: gf_svg_dump_attribute_indexed
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - _FIX2FLT
    - gf_dom_event_get_name
    - gf_list_get
    - strcat
    - gf_node_get_name
    - svg_dump_number
    - gf_strdup
    - sprintf
    - svg_dump_access_key
    - GF_LOG
    - gf_node_get_id
    - strcpy
    - gf_svg_attribute_type_to_string
    linkageType: ''
    returnType: char*
    signature: 'char *gf_svg_dump_attribute_indexed(GF_Node *elt, GF_FieldInfo *info) '
  - BBCount: 303
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4697,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4595,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4662,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4352,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4383,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4455,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4732,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4795,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4871,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4944,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4970,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4359,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4412,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4482,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4748,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4858,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4696,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4974,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5041,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4368,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4542,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4741,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4564,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4642,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4725,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4882,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4929,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5020,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4395,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4531,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4905,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4971,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4312,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4774,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4376,1
    - Dst: svg_dump_color
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4316,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4430,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4441,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4552,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4622,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4663,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4556,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4766,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4797,1
    - Dst: gf_svg_dump_matrix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4824,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4946,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5035,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4549,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4728,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4347,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4378,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4432,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4443,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4696,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4846,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4751,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5033,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4475,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4758,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4408,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4308,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4400,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4414,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4924,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4940,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4644,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4385,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4354,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4520,1
    - Dst: svg_dump_color
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4302,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4344,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4390,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4448,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4931,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4675,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4425,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4468,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4497,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4539,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4869,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4900,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4985,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4656,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4675,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4720,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4397,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4506,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4662,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4821,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4833,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4527,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4336,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5021,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4434,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4464,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4551,1
    - Dst: svg_dump_idref
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4581,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4560,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4678,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4338,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4502,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4715,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4765,1
    - Dst: svg_dump_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4592,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4723,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5019,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4615,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4380,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4349,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4419,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4927,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4313,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4356,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4643,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4778,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4898,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4910,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5018,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4491,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4848,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5016,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4370,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4643,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4970,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4323,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4451,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4858,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4427,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4438,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4483,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4515,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4564,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4621,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4642,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4685,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4586,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4811,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4821,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4375,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4429,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4440,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4998,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5018,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4622,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4869,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4797,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4460,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4675,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4750,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4984,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4477,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4523,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4294,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4364,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4402,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4718,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4811,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4873,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4636,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4341,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4387,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4471,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4757,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4959,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4330,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4509,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4536,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4544,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4885,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4931,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4982,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4858,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4660,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4780,1
    - Dst: svg_dump_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4310,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4394,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4945,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4956,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4332,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4424,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4467,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4496,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4511,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4538,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4811,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4726,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4747,1
    - Dst: svg_dump_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4575,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4325,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4396,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4505,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4532,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4777,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5006,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4335,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4559,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4662,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4708,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4716,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4637,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4983,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4790,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4377,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4431,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4442,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4486,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4548,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4597,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4933,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4595,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4688,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4833,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4351,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4382,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4407,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4421,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4479,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4624,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4925,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4822,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4358,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4411,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4591,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4311,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4404,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4519,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4799,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4389,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4343,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4447,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4616,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4721,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4902,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4939,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4944,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4299,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4307,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4369,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4498,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4543,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4599,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4676,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4698,1
    - Dst: svg_dump_access_key
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4921,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4961,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4871,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4391,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4834,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5038,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4585,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4426,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4437,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4514,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4724,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4986,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4433,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4463,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4550,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4887,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4557,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4696,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4812,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4413,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4944,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4664,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4384,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4353,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4456,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4846,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4360,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4490,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4935,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4958,1
    - Dst: svg_dump_access_key
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5031,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4386,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4675,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4791,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4620,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4859,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4935,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5015,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4329,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4452,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4492,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4778,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4645,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4535,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4773,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4981,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4371,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4733,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4764,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4324,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4846,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4641,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4337,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4501,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4528,1
    - Dst: svg_dump_path
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4607,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4917,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4945,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4719,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4379,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4311,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4348,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4418,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4355,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4621,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4643,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4779,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4800,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4869,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4844,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4871,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4363,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4401,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4415,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4476,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4699,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4722,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4622,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4869,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4357,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5038,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4797,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4365,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4403,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4564,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4655,1
    - Dst: svg_dump_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4661,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4890,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4621,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4675,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4388,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4342,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4446,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4472,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4968,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5033,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4821,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4596,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4833,1
    - Dst: svg_dump_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4695,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4717,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4331,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4495,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4510,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4537,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4844,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4665,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4565,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4374,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4428,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4439,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4623,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5009,1
    - Dst: svg_dump_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4796,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4485,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4955,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5018,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4459,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4684,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4926,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4778,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4798,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4869,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4381,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4350,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4420,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4478,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4524,1
    - Dst: svg_dump_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4579,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4908,1
    CyclomaticComplexity: 373
    EdgeCount: 373
    ICount: 749
    argCount: 2
    argNames:
    - elt
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5042
      start: 4289
    functionDepth: 0
    functionLinenumber: 4289
    functionLinenumberEnd: 5042
    functionName: gf_svg_dump_attribute
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_svg_dump_attribute
    - gf_svg_dump_matrix
    - GF_LOG
    - svg_dump_access_key
    - svg_dump_color
    - svg_dump_iri
    - gf_divfix
    - gf_svg_attribute_type_to_string
    - svg_dump_path
    - gf_strdup
    - gf_list_count
    - gf_svg_get_attribute_name
    - gf_node_get_id
    - strcpy
    - gf_node_get_parent
    - gf_list_get
    - gf_node_get_name
    - svg_dump_number
    - sprintf
    - gf_free
    - _FIX2FLT
    - gf_dom_event_get_name
    - strcat
    - gf_realloc
    - svg_dump_idref
    linkageType: ''
    returnType: char*
    signature: 'char *gf_svg_dump_attribute(GF_Node *elt, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - SVG_ViewBox*
    - SVG_ViewBox*
    constantsTouched: []
    func_position:
      end: 5154
      start: 5143
    functionDepth: 0
    functionLinenumber: 5143
    functionLinenumberEnd: 5154
    functionName: svg_viewbox_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_viewbox_equal(SVG_ViewBox *v1, SVG_ViewBox *v2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2401,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2405,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_FillRule*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2410
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2410
    functionName: svg_parse_clipfillrule
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_clipfillrule(SVG_FillRule *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1751,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1778,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1780,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1783,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1797,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1802,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1820,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1806,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1829,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1841,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1918,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2006,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1952,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1968,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1982,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1978,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1804,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1807,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1870,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1891,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1899,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1924,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1945,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1948,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1950,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1953,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2004,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1977,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1990,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1973,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1775,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1757,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1773,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1850,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1901,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1902,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1916,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1980,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1987,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1970,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1862,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1981,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1943,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1989,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1897,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1782,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1799,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1825,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1827,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1822,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1843,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1846,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1848,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1864,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1872,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1875,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1889,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1926,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1929,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1985,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1975,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1874,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:1928,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 209
    argCount: 3
    argNames:
    - d_attribute
    - attribute_content
    - out_e
    argTypes:
    - SVG_PathData*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2028
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 2028
    functionName: svg_parse_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - svg_parse_number
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_path(SVG_PathData *d_attribute, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2714,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2718,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2716,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_CalcMode*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2725
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2725
    functionName: smil_parse_calcmode
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_calcmode(SMIL_CalcMode *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2303,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_VectorEffect*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2310
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2310
    functionName: svg_parse_playbackorder
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_playbackorder(SVG_VectorEffect *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4119,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4119,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pt
    - attValue
    argTypes:
    - SVG_Point*
    - char*
    constantsTouched: []
    func_position:
      end: 4120
      start: 4117
    functionDepth: 0
    functionLinenumber: 4117
    functionLinenumberEnd: 4120
    functionName: svg_dump_point
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - _FIX2FLT
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void svg_dump_point(SVG_Point *pt, char *attValue) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5184,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5180,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - iri1
    - iri2
    argTypes:
    - XMLRI*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 5187
      start: 5170
    functionDepth: 0
    functionLinenumber: 5170
    functionLinenumberEnd: 5187
    functionName: svg_iris_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - gf_node_get_id
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_iris_equal(XMLRI*iri1, XMLRI*iri2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5641,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - alpha
    - pta
    - beta
    - ptb
    - ptc
    argTypes:
    - Fixed
    - SVG_Point_Angle*
    - Fixed
    - SVG_Point_Angle*
    - SVG_Point_Angle*
    constantsTouched: []
    func_position:
      end: 5643
      start: 5637
    functionDepth: 0
    functionLinenumber: 5637
    functionLinenumberEnd: 5643
    functionName: svg_point_angle_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_point_angle_muladd(Fixed alpha, SVG_Point_Angle
      *pta, Fixed beta, SVG_Point_Angle *ptb, SVG_Point_Angle *ptc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2414,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2418,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2416,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_StrokeLineJoin*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2425
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2425
    functionName: svg_parse_strokelinejoin
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_strokelinejoin(SVG_StrokeLineJoin *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2034,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2045,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2040,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2049,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - elt
    - iri
    - attribute_content
    argTypes:
    - GF_Node*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 2051
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2051
    functionName: svg_parse_iri
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_node_register_iri
    - gf_strdup
    - gf_sg_find_node_by_name
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_iri(GF_Node *elt, XMLRI *iri, char *attribute_content) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2314,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_TimelineBegin*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2321
    functionName: svg_parse_timelinebegin
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_timelinebegin(SVG_TimelineBegin *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2729,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_Additive*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2736
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2736
    functionName: smil_parse_additive
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_additive(SMIL_Additive *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4125,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4129,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4134,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4151,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4158,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4161,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4176,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4182,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4185,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4184,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4127,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4133,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4139,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4146,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4149,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4151,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4157,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4160,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4175,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4186,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4175,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4133,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4132,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4138,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4139,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4145,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4148,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4156,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4157,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4160,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4166,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4181,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4193,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4169,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4144,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4148,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4145,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4152,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4165,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4166,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4169,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4170,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4180,1
    - Dst: svg_dump_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4181,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4185,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - path
    - attValue
    argTypes:
    - SVG_PathData*
    - char*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4121
    functionDepth: 0
    functionLinenumber: 4121
    functionLinenumberEnd: 4197
    functionName: svg_dump_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strcat
    - gf_list_count
    - svg_dump_point
    - GF_LOG
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void svg_dump_path(SVG_PathData *path, char *attValue) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - GF_Matrix2D*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 5197
      start: 5188
    functionDepth: 0
    functionLinenumber: 5188
    functionLinenumberEnd: 5197
    functionName: svg_matrices_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_matrices_equal(GF_Matrix2D *m1, GF_Matrix2D *m2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5647,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5653,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5650,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5659,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5660,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5661,1
    - Dst: svg_point_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5663,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5664,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_Points*
    - Fixed
    - SVG_Points*
    - SVG_Points*
    constantsTouched: []
    func_position:
      end: 5668
      start: 5645
    functionDepth: 0
    functionLinenumber: 5645
    functionLinenumberEnd: 5668
    functionName: svg_points_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - svg_point_muladd
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_points_muladd(Fixed alpha, SVG_Points *a, Fixed
      beta, SVG_Points *b, SVG_Points *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2876,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2887,1
    - Dst: svg_parse_number
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2881,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2879,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - values
    - value_string
    - is_angle
    - out_e
    argTypes:
    - GF_List*
    - char*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2889
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2889
    functionName: svg_parse_numbers
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - svg_parse_number
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_numbers(GF_List *values, char *value_string,
      Bool is_angle, GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2859,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2851,1
    - Dst: svg_parse_point
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2853,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2858,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2860,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2861,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - values
    - value_string
    - out_e
    argTypes:
    - GF_List*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2868
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2868
    functionName: svg_parse_points
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - gf_list_count
    - svg_parse_point
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_points(GF_List *values, char *value_string,
      GF_Err *out_e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3109,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3117,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3115,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3113,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - tb
    - attribute_content
    - out_e
    argTypes:
    - SVG_TransformBehavior*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3122
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3122
    functionName: svg_parse_transformbehavior
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_transformbehavior(SVG_TransformBehavior *tb,
      char *attribute_content, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5722,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5727,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5725,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5729,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5724,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5732,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5734,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SVG_Numbers*
    - SVG_Numbers*
    constantsTouched: []
    func_position:
      end: 5738
      start: 5718
    functionDepth: 0
    functionLinenumber: 5718
    functionLinenumberEnd: 5738
    functionName: svg_numbers_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_numbers_copy(SVG_Numbers *a, SVG_Numbers *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3126,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3130,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3132,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3133,1
    - Dst: svg_parse_iri
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - e
    - o
    - attribute_content
    - out_e
    argTypes:
    - GF_Node*
    - SVG_Focus*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3141
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3141
    functionName: svg_parse_focus
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - strrchr
    - svg_parse_iri
    - strnicmp
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_focus(GF_Node *e, SVG_Focus *o, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2657,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2659,1
    - Dst: svg_parse_clock_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_Duration*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2671
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2671
    functionName: smil_parse_min_max_dur_repeatdur
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - svg_parse_clock_value
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_min_max_dur_repeatdur(SMIL_Duration *value,
      char *value_string, GF_Err *out_e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5674,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5681,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5676,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5683,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5685,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SVG_Points*
    - SVG_Points*
    constantsTouched: []
    func_position:
      end: 5692
      start: 5670
    functionDepth: 0
    functionLinenumber: 5670
    functionLinenumberEnd: 5692
    functionName: svg_points_copy
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_points_copy(SVG_Points *a, SVG_Points *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:6456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - c
    - clamp
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 6457
      start: 6454
    functionDepth: 0
    functionLinenumber: 6454
    functionLinenumberEnd: 6457
    functionName: gf_svg_attributes_add
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_svg_attributes_muladd
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_svg_attributes_add(GF_FieldInfo *a, GF_FieldInfo *b, GF_FieldInfo
      *c, Bool clamp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2675,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2679,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SMIL_RepeatCount*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2686
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2686
    functionName: smil_parse_repeatcount
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - sscanf
    - strcmp
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void smil_parse_repeatcount(SMIL_RepeatCount *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5696,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5701,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5699,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5703,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5702,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5709,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5710,1
    - Dst: svg_number_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5712,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5713,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_Numbers*
    - Fixed
    - SVG_Numbers*
    - SVG_Numbers*
    constantsTouched: []
    func_position:
      end: 5716
      start: 5694
    functionDepth: 0
    functionLinenumber: 5694
    functionLinenumberEnd: 5716
    functionName: svg_numbers_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - svg_number_muladd
    - GF_SAFEALLOC
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_numbers_muladd(Fixed alpha, SVG_Numbers *a, Fixed
      beta, SVG_Numbers *b, SVG_Numbers *c) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 6486
      start: 6459
    functionDepth: 0
    functionLinenumber: 6459
    functionLinenumberEnd: 6486
    functionName: gf_svg_attribute_is_interpolatable
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_attribute_is_interpolatable(u32 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: is_even
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - modf
    linkageType: ''
    returnType: int
    signature: 'int is_even(double d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2896,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2898,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2902,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2902,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - values
    - string
    - string_type
    argTypes:
    - GF_List*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2905
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2905
    functionName: svg_string_list_add
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_strdup
    linkageType: ''
    returnType: void
    signature: 'static void svg_string_list_add(GF_List *values, char *string, u32
      string_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3087,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3089,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - iv
    - attribute_content
    - out_e
    argTypes:
    - SVG_InitialVisibility*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3094
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3094
    functionName: svg_parse_initialvisibility
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_initialvisibility(SVG_InitialVisibility *iv,
      char *attribute_content, GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gpac/src/scenegraph/svg_attributes.c:231,1
    - Dst: is_even
      Src: /src/gpac/src/scenegraph/svg_attributes.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: round_ieee_754
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - floor
    - is_even
    linkageType: ''
    returnType: double
    signature: 'double round_ieee_754(double d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2911,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2914,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2912,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2922,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2913,1
    - Dst: svg_string_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2926,1
    - Dst: svg_string_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2930,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2933,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - values
    - value_string
    - string_type
    argTypes:
    - GF_List*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2935
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 2935
    functionName: svg_parse_strings
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - svg_string_list_add
    - gf_list_count
    - strchr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_strings(GF_List *values, char *value_string,
      u32 string_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - o
    - attribute_content
    - out_e
    argTypes:
    - SVG_Overlay*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3105
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3105
    functionName: svg_parse_overlay
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_overlay(SVG_Overlay *o, char *attribute_content,
      GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5831,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5838,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5839,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5847,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5851,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5836,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5845,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5862,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5856,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5864,1
    - Dst: svg_point_muladd
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5866,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5833,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5844,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5846,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5852,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5861,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5857,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5849,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5850,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5858,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5867,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 5
    argNames:
    - alpha
    - a
    - beta
    - b
    - c
    argTypes:
    - Fixed
    - SVG_PathData*
    - Fixed
    - SVG_PathData*
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 5870
      start: 5826
    functionDepth: 0
    functionLinenumber: 5826
    functionLinenumberEnd: 5870
    functionName: svg_path_muladd
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_malloc
    - gf_list_get
    - gf_list_last
    - gf_list_count
    - svg_point_muladd
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_path_muladd(Fixed alpha, SVG_PathData *a, Fixed
      beta, SVG_PathData *b, SVG_PathData *c) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2269,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_RenderingHint*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2286
    functionName: svg_parse_renderinghint
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_renderinghint(SVG_RenderingHint *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: gf_dom_event_type_by_name
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_EventType gf_dom_event_type_by_name(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_color_parse
      Src: /src/gpac/src/scenegraph/svg_attributes.c:670,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:672,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:681,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:673,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - col
    - attribute_content
    argTypes:
    - SVG_Color*
    - char*
    constantsTouched: []
    func_position:
      end: 686
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 686
    functionName: svg_parse_named_color
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_color_parse
    - strcmp
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_named_color(SVG_Color *col, char *attribute_content) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2165,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2167,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2171,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2169,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2181,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2183,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2187,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2195,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2197,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2199,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2185,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2189,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2191,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2193,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_Display*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2204
    functionName: svg_parse_display
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_display(SVG_Display *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2225,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2227,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2231,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_TextAlign*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2236
    functionName: svg_parse_textalign
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_textalign(SVG_TextAlign *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3191,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3194,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - n
    - anim_values
    - anim_values_string
    - anim_value_type
    - out_e
    argTypes:
    - GF_Node*
    - SMIL_AnimateValues*
    - char*
    - u8
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3202
    functionName: svg_parse_anim_values
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_svg_create_attribute_value
    - gf_list_add
    - gf_svg_parse_attribute
    linkageType: ''
    returnType: void
    signature: 'void svg_parse_anim_values(GF_Node *n, SMIL_AnimateValues *anim_values,
      char *anim_values_string, u8 anim_value_type, GF_Err *out_e) '
  - BBCount: 149
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5286,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5314,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5358,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5465,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5477,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5478,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5479,1
    - Dst: svg_numbers_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5493,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5557,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5324,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5327,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5341,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5344,1
    - Dst: svg_viewbox_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5367,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5390,1
    - Dst: svg_matrices_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5398,1
    - Dst: svg_matrices_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5405,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5457,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5474,1
    - Dst: svg_numbers_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5278,1
    - Dst: svg_colors_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5267,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5288,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5355,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5357,1
    - Dst: svg_numbers_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5359,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5448,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5475,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5505,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5577,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5488,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5557,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5577,1
    - Dst: svg_colors_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5252,1
    - Dst: svg_iris_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5268,1
    - Dst: svg_iris_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5280,1
    - Dst: svg_iris_equal
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5288,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5288,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5314,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5326,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5340,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5323,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5343,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5491,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5492,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5502,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5489,1
    CyclomaticComplexity: 242
    EdgeCount: 242
    ICount: 202
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5580
      start: 5199
    functionDepth: 0
    functionLinenumber: 5199
    functionLinenumberEnd: 5580
    functionName: gf_svg_attributes_equal
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_numbers_equal
    - gf_list_get
    - svg_colors_equal
    - svg_matrices_equal
    - gf_list_count
    - strcmp
    - GF_LOG
    - svg_viewbox_equal
    - svg_iris_equal
    - gf_svg_attribute_type_to_string
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_attributes_equal(GF_FieldInfo *f1, GF_FieldInfo *f2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_EventType
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: gf_dom_event_get_name
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dom_event_get_name(GF_EventType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - paint_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: gf_svg_get_system_paint_server_name
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_svg_get_system_paint_server_name(u32 paint_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2208,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2216,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2210,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2214,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_DisplayAlign*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2221
    functionName: svg_parse_displayalign
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_displayalign(SVG_DisplayAlign *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2240,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2248,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2246,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2244,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2242,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2250,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2252,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2254,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2260,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_PointerEvents*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2265
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2265
    functionName: svg_parse_pointerevents
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_pointerevents(SVG_PointerEvents *value, char
      *value_string, GF_Err *out_e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2290,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2292,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:2294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - value
    - value_string
    - out_e
    argTypes:
    - SVG_VectorEffect*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2299
    functionName: svg_parse_vectoreffect
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_parse_vectoreffect(SVG_VectorEffect *value, char *value_string,
      GF_Err *out_e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3206,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3208,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - choice
    - attribute_content
    argTypes:
    - LASeR_Choice*
    - char*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3215
    functionName: laser_parse_choice
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    - atoi
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err laser_parse_choice(LASeR_Choice *choice, char *attribute_content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5584,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5585,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5584,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5585,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5586,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_attributes.c:5586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 5587
      start: 5582
    functionDepth: 0
    functionLinenumber: 5582
    functionLinenumberEnd: 5587
    functionName: svg_color_clamp
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void svg_color_clamp(SVG_Color *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: svg_parse_one_style
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - n
    - style
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 3652
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3652
    functionName: gf_svg_parse_style
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - svg_parse_one_style
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_svg_parse_style(GF_Node *n, char *style) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3964,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3978,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3965,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3971,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3977,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3979,1
    - Dst: gf_color_get_name
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3980,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3980,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3981,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3983,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3987,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3984,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - col
    argTypes:
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 3991
      start: 3961
    functionDepth: 0
    functionLinenumber: 3961
    functionLinenumberEnd: 3991
    functionName: svg_dump_color
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_COL_ARGB
    - gf_strdup
    - sprintf
    - gf_color_get_name
    - FIX2INT
    linkageType: ''
    returnType: char*
    signature: 'static char *svg_dump_color(SVG_Color *col) '
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3661,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3741,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3818,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3811,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3851,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3858,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3909,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3918,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3948,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3949,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3721,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3668,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3759,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3795,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3861,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3864,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3955,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3955,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3749,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3757,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3769,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3778,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3891,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3925,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3940,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3903,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3916,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3728,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3675,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3767,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3787,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3803,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3828,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3843,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3844,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3865,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3873,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3885,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3897,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 83
    argCount: 1
    argNames:
    - attribute_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3959
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3959
    functionName: gf_svg_create_attribute_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - gf_mx2d_init
    - GF_LOG
    - gf_path_reset
    - GF_SAFEALLOC
    - gf_svg_attribute_type_to_string
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_svg_create_attribute_value(u32 attribute_type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3996,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4000,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3997,1
    - Dst: _FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4000,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:3998,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4001,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4002,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4003,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4004,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4005,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4009,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4008,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4007,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4011,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_attributes.c:4006,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - l
    argTypes:
    - SVG_Number*
    constantsTouched: []
    func_position:
      end: 4013
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 4013
    functionName: svg_dump_number
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - _FIX2FLT
    - gf_strdup
    - sprintf
    - strcat
    linkageType: ''
    returnType: char*
    signature: 'static char *svg_dump_number(SVG_Number *l) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gpac/src/scenegraph/svg_attributes.c:925,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:931,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:934,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:939,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:945,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:948,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:950,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:952,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:954,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:956,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:962,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:966,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/svg_attributes.c:958,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_attributes.c:960,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - d
    - clock_value
    argTypes:
    - char*
    - Double*
    constantsTouched: []
    func_position:
      end: 971
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 971
    functionName: svg_parse_clock_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_attributes.c
    functionUses: []
    functionsReached:
    - sscanf
    - strpbrk
    - strstr
    - strchr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_parse_clock_value(char *d, Double *clock_value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_proto.c:87,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:95,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:90,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - proto
    - inScene
    - set_in
    argTypes:
    - GF_Proto*
    - GF_SceneGraph*
    - Bool
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: gf_sg_proto_set_in_graph
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_list_del_item
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_proto_set_in_graph(GF_Proto *proto, GF_SceneGraph *inScene,
      Bool set_in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:204,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - proto
    - fieldName
    argTypes:
    - GF_Proto*
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: gf_sg_proto_field_find_by_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ProtoFieldInterface *gf_sg_proto_field_find_by_name(GF_Proto
      *proto, char *fieldName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ptr
    - (*OnDelete)
    argTypes:
    - GF_ProtoFieldInterface*
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: gf_sg_proto_field_set_private
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_field_set_private(GF_ProtoFieldInterface *field,
      void *ptr, void (*OnDelete)(void *ptr)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:333,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:326,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:319,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - proto
    - node
    - info
    argTypes:
    - GF_Proto*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 340
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 340
    functionName: gf_sg_proto_get_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_proto_get_field(GF_Proto *proto, GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:396,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/vrml_proto.c:400,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:431,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:443,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:455,1
    - Dst: BIFS_SetupConditionalClone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:480,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scenegraph/vrml_proto.c:483,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:497,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:502,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:512,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/vrml_proto.c:391,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:389,1
    - Dst: gf_sg_script_prepare_clone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:425,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:440,1
    - Dst: gf_sg_proto_field_is_sftime_offset
      Src: /src/gpac/src/scenegraph/vrml_proto.c:465,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:467,1
    - Dst: gf_sg_vrml_field_clone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:472,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:386,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_proto.c:391,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/vrml_proto.c:393,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:400,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:404,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:414,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_proto.c:433,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:437,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/vrml_proto.c:456,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:461,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:507,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:490,1
    - Dst: gf_sg_proto_instantiate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:520,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/vrml_proto.c:391,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:392,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_proto.c:403,1
    - Dst: gf_sg_proto_create_node
      Src: /src/gpac/src/scenegraph/vrml_proto.c:412,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:417,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:430,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:442,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:448,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:467,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 111
    argCount: 4
    argNames:
    - inScene
    - orig
    - cloned_parent
    - inst_id_suffix
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 523
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 523
    functionName: gf_vrml_node_clone
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_node_init
    - gf_sg_find_node
    - gf_node_get_name_and_id
    - gf_node_set_id
    - gf_sg_route_new
    - gf_node_new
    - BIFS_SetupConditionalClone
    - gf_sg_script_prepare_clone
    - gf_sg_vrml_field_clone
    - gf_strdup
    - strcpy
    - stricmp
    - gf_assert
    - gf_sg_vrml_field_copy
    - gf_sg_route_activate
    - gf_list_enum
    - gf_node_get_field
    - gf_sg_proto_instantiate
    - gf_free
    - gf_node_register
    - gf_node_list_add_child_last
    - strcat
    - gf_sg_get_next_available_node_id
    - gf_sg_proto_field_is_sftime_offset
    - gf_sg_proto_create_node
    - gf_sg_find_node_by_name
    - gf_node_get_field_count
    - gf_node_clone
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_vrml_node_clone(GF_SceneGraph *inScene, GF_Node *orig,
      GF_Node *cloned_parent, char *inst_id_suffix) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_proto.c:644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:636,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/vrml_proto.c:669,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/vrml_proto.c:671,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:679,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:695,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:717,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:660,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:595,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:594,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/vrml_proto.c:610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_proto.c:624,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:632,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:645,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:685,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/scenegraph/vrml_proto.c:691,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:637,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:653,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:656,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:665,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:669,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:671,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scenegraph/vrml_proto.c:674,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:689,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:668,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:709,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:590,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:603,1
    - Dst: sscanf
      Src: /src/gpac/src/scenegraph/vrml_proto.c:613,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:634,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:619,1
    - Dst: find_proto_by_interface
      Src: /src/gpac/src/scenegraph/vrml_proto.c:620,1
    - Dst: is_same_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:622,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/vrml_proto.c:655,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:675,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:690,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:706,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 127
    argCount: 1
    argNames:
    - proto_node
    argTypes:
    - GF_ProtoInstance*
    constantsTouched: []
    func_position:
      end: 724
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 724
    functionName: gf_sg_proto_instantiate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_route_set_id
    - gf_sg_find_node
    - GF_LOG
    - is_same_proto
    - gf_sg_route_new
    - gf_sg_find_proto
    - gf_list_count
    - gf_node_get_id
    - gf_assert
    - gf_list_del_item
    - gf_sg_vrml_field_copy
    - gf_sg_route_activate
    - gf_list_get
    - gf_list_enum
    - find_proto_by_interface
    - sscanf
    - gf_sg_route_set_name
    - gf_sg_script_load
    - strrchr
    - gf_list_rem
    - gf_node_clone
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_instantiate(GF_ProtoInstance *proto_node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - proto
    - fieldIndex
    argTypes:
    - GF_Proto*
    - u32
    constantsTouched: []
    func_position:
      end: 1167
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1167
    functionName: gf_sg_proto_field_find
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ProtoFieldInterface *gf_sg_proto_field_find(GF_Proto
      *proto, u32 fieldIndex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_field_find_by_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:216,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:233,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:219,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:238,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:236,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - proto
    - fieldType
    - eventType
    - fieldName
    argTypes:
    - GF_Proto*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: gf_sg_proto_field_new
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_proto_field_find_by_name
    - gf_list_count
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ProtoFieldInterface *gf_sg_proto_field_new(GF_Proto *proto,
      u32 fieldType, u32 eventType, char *fieldName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - field
    argTypes:
    - GF_ProtoFieldInterface*
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: gf_sg_proto_field_get_private
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *gf_sg_proto_field_get_private(GF_ProtoFieldInterface *field) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:357,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:358,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:359,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 3
    argNames:
    - proto
    - node
    - name
    argTypes:
    - GF_Proto*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 362
    functionName: gf_sg_proto_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 's32 gf_sg_proto_get_field_index_by_name(GF_Proto *proto, GF_Node *node,
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_field_index
      Src: /src/gpac/src/scenegraph/vrml_proto.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - Node
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: gf_sg_proto_get_field_ind_static
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_field_index
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_proto_get_field_ind_static(GF_Node *Node, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - proto_inst
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: gf_sg_proto_mark_field_loaded
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_mark_field_loaded(GF_Node *proto_inst, GF_FieldInfo
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1184,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1188,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - node
    - fieldIndex
    - from_node
    argTypes:
    - GF_Node*
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1192
    functionName: gf_sg_proto_propagate_event
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_node_changed
    - gf_sg_route_activate
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_propagate_event(GF_Node *node, u32 fieldIndex, GF_Node
      *from_node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 3
    argNames:
    - node
    - fieldIndex
    - (*event_in_cbk)
    argTypes:
    - GF_Node*
    - u32
    - void
    constantsTouched: []
    func_position:
      end: 1363
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1363
    functionName: gf_node_set_proto_eventin_handler
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_set_proto_eventin_handler(GF_Node *node,
      u32 fieldIndex, void (*event_in_cbk)(GF_Node *pThis, struct _route *route) ) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:911,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:911,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:914,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:914,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:934,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:948,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:950,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:965,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:985,1
    - Dst: gf_sg_proto_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:904,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:906,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:914,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:929,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:980,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:909,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:909,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:919,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:964,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:960,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_proto.c:914,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:935,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:963,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:977,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 4
    argNames:
    - proto
    - protoFieldIndex
    - node
    - nodeFieldIndex
    argTypes:
    - GF_Proto*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 986
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 986
    functionName: gf_sg_proto_field_set_ised
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_node_get_field
    - gf_sg_proto_get_field
    - GF_SAFEALLOC
    - gf_free
    - gf_node_get_class_name
    - gf_list_new
    - gf_sg_vrml_get_field_type_name
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_field_set_ised(GF_Proto *proto, u32 protoFieldIndex,
      GF_Node *node, u32 nodeFieldIndex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:41,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:52,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:48,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:51,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_proto.c:43,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/scenegraph/vrml_proto.c:54,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:55,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:58,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:60,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:63,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - inScene
    - ProtoID
    - name
    - unregistered
    argTypes:
    - GF_SceneGraph*
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 68
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 68
    functionName: gf_sg_proto_new
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_new_subscene
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Proto *gf_sg_proto_new(GF_SceneGraph *inScene, u32 ProtoID,
      char *name, Bool unregistered) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: gf_sg_proto_get_extern_url
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT MFURL *gf_sg_proto_get_extern_url(GF_Proto *proto) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:741,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:745,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:744,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:747,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:746,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:750,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_proto.c:752,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/scenegraph/vrml_proto.c:755,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:761,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:762,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:778,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_proto.c:764,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:779,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:772,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:782,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - scene
    - proto
    - from_inst
    argTypes:
    - GF_SceneGraph*
    - GF_Proto*
    - GF_ProtoInstance*
    constantsTouched: []
    func_position:
      end: 789
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 789
    functionName: gf_sg_proto_create_node
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_sg_new_subscene
    - gf_list_enum
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sg_vrml_field_copy
    - gf_sg_vrml_get_sf_type
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sg_proto_create_node(GF_SceneGraph *scene, GF_Proto *proto,
      GF_ProtoInstance *from_inst) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1002,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1004,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1002,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1004,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1007,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1007,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1022,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1040,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1007,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1056,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1069,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1073,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1012,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1026,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1055,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1066,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1070,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1078,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1079,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:997,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:999,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1007,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1042,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1025,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1052,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1057,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 4
    argNames:
    - protoinst
    - protoFieldIndex
    - node
    - nodeFieldIndex
    argTypes:
    - GF_Node*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1080
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1080
    functionName: gf_sg_proto_instance_set_ised
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_node_get_field
    - GF_SAFEALLOC
    - gf_free
    - gf_node_get_class_name
    - gf_list_new
    - gf_sg_vrml_get_field_type_name
    - gf_sg_vrml_get_sf_type
    - gf_sg_route_activate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_instance_set_ised(GF_Node *protoinst,
      u32 protoFieldIndex, GF_Node *node, u32 nodeFieldIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: gf_sg_proto_get_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_proto_get_id(GF_Proto *proto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1268,1
    - Dst: gf_sg_proto_get_root_tag
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    functionName: gf_sg_proto_get_root_tag
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sg_proto_get_root_tag
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_proto_get_root_tag(GF_Proto *proto) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1325
    functionName: gf_node_get_proto_root
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_get_proto_root(GF_Node *node) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_proto.c:107,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:114,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_proto.c:116,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:119,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:122,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:141,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:135,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:147,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:158,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:160,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_proto.c:109,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:137,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:142,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:157,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:117,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:140,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_proto.c:128,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_proto.c:132,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:149,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:154,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:159,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:123,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:143,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:148,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 162
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 162
    functionName: gf_sg_proto_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_sg_del
    - gf_sg_mfurl_del
    - gf_sg_vrml_field_pointer_del
    - gf_list_rem
    - gf_free
    - gf_list_del_item
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_del(GF_Proto *proto) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_proto.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - proto
    - pNode
    argTypes:
    - GF_Proto*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: gf_sg_proto_add_node_code
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_add_node_code(GF_Proto *proto, GF_Node
      *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_proto.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - field
    - info
    argTypes:
    - GF_ProtoFieldInterface*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: gf_sg_proto_field_get_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_field_get_field(GF_ProtoFieldInterface
      *field, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_create_node
      Src: /src/gpac/src/scenegraph/vrml_proto.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - proto
    argTypes:
    - GF_SceneGraph*
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: gf_sg_proto_create_instance
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_create_node
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_sg_proto_create_instance(GF_SceneGraph *sg,
      GF_Proto *proto) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1094,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1104,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1101,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1100,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 7
    argNames:
    - field
    - QP_Type
    - hasMinMax
    - QPSFType
    - qp_min_value
    - qp_max_value
    - QP13_NumBits
    argTypes:
    - GF_ProtoFieldInterface*
    - u32
    - u32
    - u32
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1110
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1110
    functionName: gf_bifs_proto_field_set_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_is_sf_field
    - gf_sg_vrml_field_pointer_new
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bifs_proto_field_set_aq_info(GF_ProtoFieldInterface *field,
      u32 QP_Type, u32 hasMinMax, u32 QPSFType, void *qp_min_value, void *qp_max_value,
      u32 QP13_NumBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1262
    functionName: gf_sg_proto_get_class_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sg_proto_get_class_name(GF_Proto *proto) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1287,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1299,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1292,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1299,1
    - Dst: gf_sg_proto_field_is_sftime_offset
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1302
    functionName: gf_sg_proto_field_is_sftime_offset
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_field_is_sftime_offset
    - gf_list_enum
    - stricmp
    - gf_node_get_field
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_proto_field_is_sftime_offset(GF_Node *node, GF_FieldInfo
      *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gf_sg_proto_get_graph
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneGraph *gf_sg_proto_get_graph(GF_Proto *proto) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1204,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1215,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 7
    argNames:
    - Node
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1239
    functionName: gf_sg_proto_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sg_proto_get_aq_info(GF_Node *Node, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1336
    functionName: gf_node_get_proto_parent
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_node_get_proto_parent(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1249
    functionName: gf_node_get_proto
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Proto *gf_node_get_proto(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1345
    functionName: gf_node_is_proto_root
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_find
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_node_is_proto_root(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - p
    - ptr
    - (*OnDelete)
    argTypes:
    - GF_Proto*
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: gf_sg_proto_set_private
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_set_private(GF_Proto *p, void *ptr, void (*OnDelete)(void
      *ptr) ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:535,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:539,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:536,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:538,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - extern_proto
    - proto
    argTypes:
    - GF_Proto*
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: is_same_proto
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_same_proto(GF_Proto *extern_proto, GF_Proto *proto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_instantiate
      Src: /src/gpac/src/scenegraph/vrml_proto.c:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: gf_sg_proto_load_code
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_instantiate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_proto_load_code(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:840,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_proto.c:888,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:839,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_proto.c:851,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:846,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:858,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:872,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:885,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_proto.c:871,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:886,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:885,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:891,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:864,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:866,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:870,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_proto.c:884,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/scenegraph/vrml_proto.c:880,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:883,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_proto.c:841,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_proto.c:856,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:869,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/vrml_proto.c:890,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - inst
    argTypes:
    - GF_ProtoInstance*
    constantsTouched: []
    func_position:
      end: 892
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 892
    functionName: gf_sg_proto_del_instance
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_sg_del
    - gf_list_del_item
    - gf_sg_vrml_field_pointer_del
    - gf_list_rem
    - gf_free
    - gf_assert
    - gf_node_unregister
    - gf_node_free
    - gf_sg_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_proto_del_instance(GF_ProtoInstance *inst) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1119,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1120,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 4
    argNames:
    - proto
    - index
    - code_mode
    - all_index
    argTypes:
    - GF_ProtoInstance*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1153
    functionName: gf_sg_proto_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_proto_get_field_index(GF_ProtoInstance *proto, u32 index,
      u32 code_mode, u32 *all_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1310
    functionName: gf_node_proto_set_grouping
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_proto_set_grouping(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: gf_sg_proto_get_private
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *gf_sg_proto_get_private(GF_Proto *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_proto.c:552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_proto.c:562,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_proto.c:556,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:560,1
    - Dst: is_same_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:557,1
    - Dst: is_same_proto
      Src: /src/gpac/src/scenegraph/vrml_proto.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - sg
    - extern_proto
    argTypes:
    - GF_SceneGraph*
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: find_proto_by_interface
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - is_same_proto
    - gf_assert
    linkageType: ''
    returnType: GF_Proto*
    signature: 'static GF_Proto *find_proto_by_interface(GF_SceneGraph *sg, GF_Proto
      *extern_proto) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:826,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 2
    argNames:
    - node
    - code_mode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 832
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 832
    functionName: gf_sg_proto_get_num_fields
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_proto_get_num_fields(GF_Node *node, u8 code_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_proto.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - proto
    argTypes:
    - GF_Proto*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1160
    functionName: gf_sg_proto_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_proto_get_field_count(GF_Proto *proto) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1318
    functionName: gf_node_proto_is_grouping
    functionSourceFile: /src/gpac/src/scenegraph/vrml_proto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_node_proto_is_grouping(GF_Node *node) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:61,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:91,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:120,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:125,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:143,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:146,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:152,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:163,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:168,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:179,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:58,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:48,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:78,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:88,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:100,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:103,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:114,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:176,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:55,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:70,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:75,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:111,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:97,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:158,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:173,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:185,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:188,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:193,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:41,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:64,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_properties.c:81,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:108,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:83,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:94,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:131,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:136,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:155,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_properties.c:182,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 114
    argCount: 1
    argNames:
    - svg_props
    argTypes:
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 196
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 196
    functionName: gf_svg_properties_init_pointers
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_svg_properties_init_pointers(SVGPropertiesPointers
      *svg_props) '
  - BBCount: 39
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 2
    argCount: 2
    argNames:
    - output_property_context
    - prop_tag
    argTypes:
    - SVGPropertiesPointers*
    - u32
    constantsTouched: []
    func_position:
      end: 329
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 329
    functionName: gf_svg_get_property_pointer_from_tag
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *gf_svg_get_property_pointer_from_tag(SVGPropertiesPointers *output_property_context,
      u32 prop_tag) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 22
    argCount: 1
    argNames:
    - a
    argTypes:
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 470
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 470
    functionName: gf_svg_is_inherit
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_is_inherit(GF_FieldInfo *a) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_properties.c:587,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_properties.c:589,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_properties.c:587,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/svg_properties.c:588,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/svg_properties.c:588,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 287
    argCount: 2
    argNames:
    - all_atts
    - render_svg_props
    argTypes:
    - SVGAllAttributes*
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 806
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 806
    functionName: gf_svg_apply_inheritance
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - MAX
    - MIN
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_svg_apply_inheritance(SVGAllAttributes *all_atts,
      SVGPropertiesPointers *render_svg_props) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_get_property_pointer_from_tag
      Src: /src/gpac/src/scenegraph/svg_properties.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - elt
    - input_attribute
    - output_property_context
    argTypes:
    - SVG_Element*
    - void*
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: gf_svg_get_property_pointer
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - gf_svg_get_property_pointer_from_tag
    linkageType: ''
    returnType: void*
    signature: 'void *gf_svg_get_property_pointer(SVG_Element *elt, void *input_attribute,
      SVGPropertiesPointers *output_property_context) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:202,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:206,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:211,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:212,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:215,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:217,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:221,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:223,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:227,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:232,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:234,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/svg_properties.c:245,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:216,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:218,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:222,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:226,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:229,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:230,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:233,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:235,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:239,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:243,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:204,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:208,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:219,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:225,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:236,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:240,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:242,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:244,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:203,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:205,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_properties.c:207,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:209,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:214,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:220,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:224,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:237,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:241,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_properties.c:238,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 44
    argCount: 1
    argNames:
    - svg_props
    argTypes:
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: gf_svg_properties_reset_pointers
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - memset
    - gf_svg_delete_paint
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_svg_properties_reset_pointers(SVGPropertiesPointers
      *svg_props) '
  - BBCount: 207
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/svg_properties.c:814,1
    CyclomaticComplexity: 212
    EdgeCount: 212
    ICount: 212
    argCount: 2
    argNames:
    - e
    - all_atts
    argTypes:
    - SVG_Element*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 1443
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 1443
    functionName: gf_svg_flatten_attributes
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_svg_flatten_attributes(SVG_Element *e, SVGAllAttributes
      *all_atts) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/svg_properties.c:345,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 10
    argCount: 2
    argNames:
    - node
    - target_attribute
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 401
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 401
    functionName: gf_svg_is_property
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_is_property(GF_Node *node, GF_FieldInfo *target_attribute) '
  - BBCount: 44
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 17
    argCount: 2
    argNames:
    - n
    - info
    argTypes:
    - SVG_Element*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 561
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 561
    functionName: gf_svg_get_modification_flags
    functionSourceFile: /src/gpac/src/scenegraph/svg_properties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_svg_get_modification_flags(SVG_Element *n, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:654,1
    - Dst: gf_node_animation_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:666,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/smil_anim.c:668,1
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:664,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: gf_smil_anim_set_anim_runtime_in_timing
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_animation_get
    - gf_node_animation_count
    - gf_svg_is_animation_tag
    - gf_list_enum
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_set_anim_runtime_in_timing(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_anim_compute_interpolation_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:840,1
    - Dst: gf_smil_anim_apply_accumulate
      Src: /src/gpac/src/scenegraph/smil_anim.c:841,1
    - Dst: gf_smil_apply_additive
      Src: /src/gpac/src/scenegraph/smil_anim.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - rti
    - normalized_simple_time
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 843
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 843
    functionName: gf_smil_anim_animate
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_smil_apply_additive
    - gf_smil_anim_compute_interpolation_value
    - gf_smil_anim_apply_accumulate
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_animate(SMIL_Timing_RTI *rti, Fixed normalized_simple_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1393,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/smil_anim.c:1400,1
    - Dst: gf_smil_anim_delete_runtime_info
      Src: /src/gpac/src/scenegraph/smil_anim.c:1402,1
    - Dst: gf_node_animation_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:1395,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1396,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:1404,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:1405,1
    - Dst: gf_node_animation_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:1407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1408
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1408
    functionName: gf_smil_anim_delete_animations
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_animation_get
    - gf_smil_anim_delete_runtime_info
    - gf_list_del
    - gf_list_enum
    - gf_node_animation_del
    - gf_node_animation_count
    - gf_svg_delete_attribute_value
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_delete_animations(GF_Node *e) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/smil_anim.c:685,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:698,1
    - Dst: gf_svg_compute_path_anim
      Src: /src/gpac/src/scenegraph/smil_anim.c:688,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:696,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/smil_anim.c:706,1
    - Dst: gf_svg_is_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:714,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:718,1
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:719,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:720,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 722
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 722
    functionName: gf_smil_anim_get_last_specified_value
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_svg_is_inherit
    - gf_list_last
    - gf_node_get_log_name
    - gf_svg_attribute_is_interpolatable
    - GF_LOG
    - gf_svg_attributes_resolve_inherit
    - gf_svg_compute_path_anim
    - gf_svg_attributes_resolve_currentColor
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_get_last_specified_value(SMIL_Anim_RTI *rai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 856
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 856
    functionName: gf_smil_anim_reset_variables
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_reset_variables(SMIL_Anim_RTI *rai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_timing_init_runtime_info
      Src: /src/gpac/src/scenegraph/smil_anim.c:1415,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_anim.c:1418,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/scenegraph/smil_anim.c:1417,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1428
    functionName: gf_smil_anim_init_discard
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_svg_flatten_attributes
    - GF_SAFEALLOC
    - gf_smil_timing_init_runtime_info
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_init_discard(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/smil_anim.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - node
    - i
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: gf_node_animation_rem
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_animation_rem(GF_Node *node, u32 i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:753,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:755,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/smil_anim.c:758,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:755,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/smil_anim.c:757,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/smil_anim.c:768,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/smil_anim.c:769,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 774
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 774
    functionName: gf_smil_anim_apply_accumulate
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_log_name
    - GF_LOG
    - INT2FIX
    - gf_svg_attributes_muladd
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_apply_accumulate(SMIL_Anim_RTI *rai) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:872,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:874,1
    - Dst: gf_smil_anim_compute_interpolation_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:876,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:874,1
    - Dst: gf_smil_anim_apply_accumulate
      Src: /src/gpac/src/scenegraph/smil_anim.c:877,1
    - Dst: gf_smil_apply_additive
      Src: /src/gpac/src/scenegraph/smil_anim.c:878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - rti
    - normalized_simple_time
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 881
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 881
    functionName: gf_smil_anim_freeze
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_log_name
    - GF_LOG
    - gf_smil_anim_compute_interpolation_value
    - gf_smil_apply_additive
    - gf_smil_anim_apply_accumulate
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_freeze(SMIL_Timing_RTI *rti, Fixed normalized_simple_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1344,1
    - Dst: gf_path_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:1353,1
    - Dst: gf_path_iterator_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:1358,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1348,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:1359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1360
    functionName: gf_smil_anim_delete_runtime_info
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_path_iterator_del
    - gf_path_del
    - gf_free
    - gf_svg_delete_attribute_value
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_delete_runtime_info(SMIL_Anim_RTI *rai) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:784,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:795,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:798,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:820,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:818,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:824,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:794,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:823,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:807,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:825,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:828,1
    - Dst: gf_svg_attributes_add
      Src: /src/gpac/src/scenegraph/smil_anim.c:788,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:796,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:805,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:824,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:800,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:786,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:797,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:797,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:821,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 833
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 833
    functionName: gf_smil_apply_additive
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_svg_dump_attribute
    - gf_node_get_log_name
    - GF_LOG
    - gf_svg_attributes_copy
    - gf_svg_get_attribute_name
    - gf_log_tool_level_on
    - gf_free
    - gf_svg_attributes_add
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_apply_additive(SMIL_Anim_RTI *rai) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:894,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:896,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:899,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:896,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:906,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:909,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:910,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:910,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:911,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - rti
    - normalized_simple_time
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 918
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 918
    functionName: gf_smil_anim_remove
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_svg_dump_attribute
    - gf_node_get_log_name
    - GF_LOG
    - gf_svg_attributes_copy
    - gf_svg_get_attribute_name
    - gf_log_tool_level_on
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_remove(SMIL_Timing_RTI *rti, Fixed normalized_simple_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1366,1
    - Dst: gf_smil_anim_delete_runtime_info
      Src: /src/gpac/src/scenegraph/smil_anim.c:1373,1
    - Dst: gf_node_animation_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:1368,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/smil_anim.c:1372,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/smil_anim.c:1370,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1377,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:1378,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1379,1
    - Dst: gf_node_animation_rem
      Src: /src/gpac/src/scenegraph/smil_anim.c:1383,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:1384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - anim
    - target
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1387
    functionName: gf_smil_anim_remove_from_target
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_animation_get
    - gf_smil_anim_delete_runtime_info
    - gf_list_del
    - gf_list_enum
    - gf_list_count
    - gf_node_animation_count
    - gf_list_rem
    - gf_node_animation_rem
    - gf_svg_delete_attribute_value
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_remove_from_target(GF_Node *anim, GF_Node *target) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_anim.c:48,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_anim.c:52,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - node
    - animation
    argTypes:
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: gf_node_animation_add
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_animation_add(GF_Node *node, void *animation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - in
    - p
    - t
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: gf_svg_attributes_resolve_unspecified
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_attributes_resolve_unspecified(GF_FieldInfo *in, GF_FieldInfo
      *p, GF_FieldInfo *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - in
    - prop
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: gf_svg_attributes_resolve_inherit
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_svg_is_inherit
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_attributes_resolve_inherit(GF_FieldInfo *in, GF_FieldInfo
      *prop) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:518,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:542,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:547,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/smil_anim.c:548,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:517,1
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:540,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:557,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:559,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:509,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:519,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:513,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:530,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:542,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/smil_anim.c:543,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:547,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:532,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:545,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:559,1
    - Dst: gf_svg_attributes_muladd
      Src: /src/gpac/src/scenegraph/smil_anim.c:560,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - rai
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 564
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 564
    functionName: gf_smil_anim_animate_from_by
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_log_name
    - gf_svg_attribute_is_interpolatable
    - GF_LOG
    - gf_svg_attributes_resolve_inherit
    - gf_svg_attributes_resolve_unspecified
    - gf_svg_attributes_muladd
    - gf_svg_attributes_resolve_currentColor
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_animate_from_by(SMIL_Anim_RTI *rai, Fixed
      normalized_simple_time) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:961,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/scenegraph/smil_anim.c:962,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:990,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:998,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:1041,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/scenegraph/smil_anim.c:1072,1
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:967,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:976,1
    - Dst: gf_svg_get_property_pointer
      Src: /src/gpac/src/scenegraph/smil_anim.c:986,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1045,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/smil_anim.c:1062,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1044,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:1048,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:1044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1043,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:1071,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:1023,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:1040,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/scenegraph/smil_anim.c:1065,1
    - Dst: gf_node_animation_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:975,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 2
    argNames:
    - node
    - render_svg_props
    argTypes:
    - GF_Node*
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 1075
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 1075
    functionName: gf_svg_apply_animations
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_animation_get
    - gf_svg_get_property_pointer
    - gf_list_get
    - gf_svg_dump_attribute
    - gf_node_dirty_clear
    - gf_node_get_log_name
    - gf_list_count
    - gf_node_animation_count
    - GF_LOG
    - gf_node_get_attribute_by_tag
    - gf_sys_clock
    - gf_svg_get_attribute_name
    - gf_log_tool_level_on
    - gf_free
    - gf_node_dirty_set
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_svg_apply_animations(GF_Node *node, SVGPropertiesPointers
      *render_svg_props) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1144,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1177,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1196,1
    - Dst: gf_path_iterator_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:1241,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1257,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1261,1
    - Dst: gf_node_animation_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:1287,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_anim.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1297,1
    - Dst: gf_svg_is_property
      Src: /src/gpac/src/scenegraph/smil_anim.c:1302,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_anim.c:1319,1
    - Dst: gf_path_iterator_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:1248,1
    - Dst: gf_svg_path_build
      Src: /src/gpac/src/scenegraph/smil_anim.c:1267,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1263,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_anim.c:1289,1
    - Dst: gf_svg_get_modification_flags
      Src: /src/gpac/src/scenegraph/smil_anim.c:1323,1
    - Dst: gf_smil_anim_get_last_specified_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1332,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1176,1
    - Dst: gf_smil_anim_reset_variables
      Src: /src/gpac/src/scenegraph/smil_anim.c:1174,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1192,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1225,1
    - Dst: gf_path_iterator_get_length
      Src: /src/gpac/src/scenegraph/smil_anim.c:1249,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1255,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/smil_anim.c:1261,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1262,1
    - Dst: gf_path_iterator_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:1271,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1311,1
    - Dst: gf_node_animation_add
      Src: /src/gpac/src/scenegraph/smil_anim.c:1320,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:1312,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/smil_anim.c:1131,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1116,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1134,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_anim.c:1152,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1179,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/smil_anim.c:1163,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/smil_anim.c:1170,1
    - Dst: gf_path_iterator_get_length
      Src: /src/gpac/src/scenegraph/smil_anim.c:1242,1
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1286,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:1318,1
    - Dst: gf_path_iterator_get_length
      Src: /src/gpac/src/scenegraph/smil_anim.c:1272,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_anim.c:1111,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1130,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1136,1
    - Dst: gf_svg_is_property
      Src: /src/gpac/src/scenegraph/smil_anim.c:1143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1154,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1178,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1230,1
    - Dst: gf_path_is_empty
      Src: /src/gpac/src/scenegraph/smil_anim.c:1239,1
    - Dst: gf_path_new
      Src: /src/gpac/src/scenegraph/smil_anim.c:1245,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:1246,1
    - Dst: gf_svg_path_build
      Src: /src/gpac/src/scenegraph/smil_anim.c:1247,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 180
    argCount: 1
    argNames:
    - e
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1340
    functionName: gf_smil_anim_init_runtime_info
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_smil_anim_get_last_specified_value
    - memset
    - gf_node_get_tag
    - gf_node_get_field_by_name
    - gf_svg_get_modification_flags
    - GF_LOG
    - gf_svg_is_property
    - GF_SAFEALLOC
    - gf_path_iterator_get_length
    - gf_path_iterator_new
    - gf_svg_create_attribute_value
    - gf_list_count
    - gf_mx2d_init
    - gf_path_is_empty
    - gf_list_new
    - gf_node_animation_get
    - gf_node_get_log_name
    - gf_node_animation_count
    - gf_node_get_attribute_by_tag
    - gf_smil_anim_reset_variables
    - gf_svg_path_build
    - gf_svg_attributes_copy
    - gf_path_new
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    - gf_node_animation_add
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_init_runtime_info(GF_Node *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/smil_anim.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: gf_node_animation_del
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_animation_del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/smil_anim.c:569,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/smil_anim.c:578,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/smil_anim.c:570,1
    - Dst: gf_path_iterator_get_transform
      Src: /src/gpac/src/scenegraph/smil_anim.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - rai
    - m
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - GF_Matrix2D*
    - Fixed
    constantsTouched: []
    func_position:
      end: 586
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 586
    functionName: gf_svg_compute_path_anim
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_mx2d_add_rotation
    - gf_mx2d_init
    - gf_path_iterator_get_transform
    linkageType: ''
    returnType: void
    signature: 'static void gf_svg_compute_path_anim(SMIL_Anim_RTI *rai, GF_Matrix2D
      *m, Fixed normalized_simple_time) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/smil_anim.c:1450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1454,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/scenegraph/smil_anim.c:1509,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:1511,1
    - Dst: gf_smil_anim_init_runtime_info
      Src: /src/gpac/src/scenegraph/smil_anim.c:1548,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:1470,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/smil_anim.c:1519,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/smil_anim.c:1508,1
    - Dst: gf_smil_anim_set_anim_runtime_in_timing
      Src: /src/gpac/src/scenegraph/smil_anim.c:1549,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scenegraph/smil_anim.c:1463,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:1486,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/scenegraph/smil_anim.c:1437,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/smil_anim.c:1438,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1447,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/smil_anim.c:1459,1
    - Dst: gf_smil_timing_init_runtime_info
      Src: /src/gpac/src/scenegraph/smil_anim.c:1547,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1502,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:1510,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1550
    functionName: gf_smil_anim_init_node
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_malloc
    - strlen
    - gf_smil_anim_init_runtime_info
    - gf_node_register_iri
    - gf_svg_flatten_attributes
    - gf_utf8_is_legal
    - gf_smil_timing_init_runtime_info
    - gf_smil_anim_set_anim_runtime_in_timing
    - gf_node_get_attribute_by_name
    - GF_LOG
    - gf_svg_parse_attribute
    - gf_node_get_attribute_by_tag
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_anim_init_node(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_anim_reset_variables
      Src: /src/gpac/src/scenegraph/smil_anim.c:927,1
    - Dst: gf_smil_anim_freeze
      Src: /src/gpac/src/scenegraph/smil_anim.c:932,1
    - Dst: gf_smil_anim_animate
      Src: /src/gpac/src/scenegraph/smil_anim.c:938,1
    - Dst: gf_smil_anim_animate
      Src: /src/gpac/src/scenegraph/smil_anim.c:929,1
    - Dst: gf_smil_anim_remove
      Src: /src/gpac/src/scenegraph/smil_anim.c:935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - rti
    - normalized_simple_time
    - state
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 949
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 949
    functionName: gf_smil_anim_evaluate
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_smil_anim_animate
    - gf_smil_anim_reset_variables
    - gf_smil_anim_remove
    - gf_smil_anim_freeze
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_evaluate(SMIL_Timing_RTI *rti, Fixed normalized_simple_time,
      GF_SGSMILTimingEvalState state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/smil_anim.c:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1084
    functionName: gf_smil_anim_get_target
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_svg_is_animation_tag
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_smil_anim_get_target(GF_Node *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_anim.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: gf_node_animation_count
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_node_animation_count(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:152,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:154,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:160,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:158,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:173,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:174,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - rai
    argTypes:
    - SMIL_Anim_RTI*
    constantsTouched: []
    func_position:
      end: 185
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 185
    functionName: gf_smil_anim_set
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - GF_LOG
    - gf_svg_attributes_copy
    - gf_node_get_log_name
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_set(SMIL_Anim_RTI *rai) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:279,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:277,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/smil_anim.c:296,1
    - Dst: gf_smil_anim_use_keypoints_keytimes
      Src: /src/gpac/src/scenegraph/smil_anim.c:313,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:343,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:345,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:352,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:354,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:364,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:361,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_anim.c:257,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:274,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:281,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/smil_anim.c:294,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/smil_anim.c:309,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/smil_anim.c:307,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:335,1
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:357,1
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:363,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:261,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/smil_anim.c:298,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/smil_anim.c:300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:329,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:331,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:332,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:345,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:349,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:354,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:356,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:281,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/smil_anim.c:307,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:355,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:358,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:362,1
    - Dst: gf_svg_attributes_interpolate
      Src: /src/gpac/src/scenegraph/smil_anim.c:367,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 2
    argNames:
    - rai
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 375
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 375
    functionName: gf_smil_anim_animate_using_values
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - memset
    - gf_node_get_log_name
    - gf_floor
    - gf_svg_attribute_is_interpolatable
    - gf_smil_anim_use_keypoints_keytimes
    - gf_svg_attributes_interpolate
    - GF_LOG
    - INT2FIX
    - gf_svg_attributes_copy
    - gf_svg_attributes_resolve_inherit
    - FIX2INT
    - gf_svg_attributes_resolve_currentColor
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_animate_using_values(SMIL_Anim_RTI *rai,
      Fixed normalized_simple_time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_anim_use_keypoints_keytimes
      Src: /src/gpac/src/scenegraph/smil_anim.c:592,1
    - Dst: gf_svg_compute_path_anim
      Src: /src/gpac/src/scenegraph/smil_anim.c:607,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:605,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rai
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 609
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 609
    functionName: gf_smil_anim_animate_using_path
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_log_name
    - gf_smil_anim_use_keypoints_keytimes
    - GF_LOG
    - gf_svg_compute_path_anim
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_animate_using_path(SMIL_Anim_RTI *rai, Fixed
      normalized_simple_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - node
    - i
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: gf_node_animation_get
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: void*
    signature: 'void *gf_node_animation_get(GF_Node *node, u32 i) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:200,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/smil_anim.c:215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:219,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:204,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:230,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_anim.c:234,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/smil_anim.c:235,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/smil_anim.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:240,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:242,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:242,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 4
    argNames:
    - rai
    - normalized_simple_time
    - interpolation_coefficient
    - keyValueIndex
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 244
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 244
    functionName: gf_smil_anim_use_keypoints_keytimes
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - gf_node_get_log_name
    - gf_mulfix
    - GF_LOG
    - gf_divfix
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_use_keypoints_keytimes(SMIL_Anim_RTI *rai,
      Fixed normalized_simple_time, Fixed *interpolation_coefficient, u32 *keyValueIndex) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:421,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:443,1
    - Dst: gf_svg_attributes_interpolate
      Src: /src/gpac/src/scenegraph/smil_anim.c:468,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:420,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:441,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:456,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:465,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:454,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:467,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:416,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:412,1
    - Dst: gf_svg_attributes_resolve_inherit
      Src: /src/gpac/src/scenegraph/smil_anim.c:422,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:433,1
    - Dst: gf_svg_attributes_resolve_unspecified
      Src: /src/gpac/src/scenegraph/smil_anim.c:437,1
    - Dst: gf_svg_attributes_resolve_currentColor
      Src: /src/gpac/src/scenegraph/smil_anim.c:442,1
    - Dst: gf_svg_attribute_is_interpolatable
      Src: /src/gpac/src/scenegraph/smil_anim.c:385,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:456,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/smil_anim.c:457,1
    - Dst: gf_smil_anim_use_keypoints_keytimes
      Src: /src/gpac/src/scenegraph/smil_anim.c:446,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:467,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - rai
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 472
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 472
    functionName: gf_smil_anim_animate_from_to
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_log_name
    - gf_svg_attribute_is_interpolatable
    - gf_smil_anim_use_keypoints_keytimes
    - gf_svg_attributes_interpolate
    - GF_LOG
    - gf_svg_attributes_copy
    - gf_svg_attributes_resolve_inherit
    - gf_svg_attributes_resolve_unspecified
    - gf_svg_attributes_resolve_currentColor
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_animate_from_to(SMIL_Anim_RTI *rai, Fixed
      normalized_simple_time) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_anim_animate_using_path
      Src: /src/gpac/src/scenegraph/smil_anim.c:616,1
    - Dst: gf_smil_anim_animate_from_by
      Src: /src/gpac/src/scenegraph/smil_anim.c:624,1
    - Dst: gf_smil_anim_set
      Src: /src/gpac/src/scenegraph/smil_anim.c:618,1
    - Dst: gf_smil_anim_animate_using_values
      Src: /src/gpac/src/scenegraph/smil_anim.c:621,1
    - Dst: gf_smil_anim_animate_from_to
      Src: /src/gpac/src/scenegraph/smil_anim.c:627,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/smil_anim.c:631,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/smil_anim.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_anim.c:634,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_anim.c:635,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:635,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/smil_anim.c:636,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_anim.c:639,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - rai
    - normalized_simple_time
    argTypes:
    - SMIL_Anim_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 642
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 642
    functionName: gf_smil_anim_compute_interpolation_value
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_svg_dump_attribute
    - gf_smil_anim_set
    - gf_smil_anim_animate_from_to
    - gf_node_get_log_name
    - gf_smil_anim_animate_from_by
    - gf_smil_anim_animate_using_path
    - GF_LOG
    - gf_smil_anim_animate_using_values
    - gf_svg_get_attribute_name
    - gf_log_tool_level_on
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_anim_compute_interpolation_value(SMIL_Anim_RTI
      *rai, Fixed normalized_simple_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_current_color
      Src: /src/gpac/src/scenegraph/smil_anim.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - in
    - current_color
    argTypes:
    - GF_FieldInfo*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: gf_svg_attributes_resolve_currentColor
    functionSourceFile: /src/gpac/src/scenegraph/smil_anim.c
    functionUses: []
    functionsReached:
    - gf_svg_is_current_color
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_attributes_resolve_currentColor(GF_FieldInfo *in, GF_FieldInfo
      *current_color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:37,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - _val
    - str
    argTypes:
    - Fixed
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: format_sftime_string
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void format_sftime_string(Fixed _val, char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: Valuator_SetInMFInt32
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFInt32(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: Valuator_SetInMFVec3f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFVec3f(GF_Node *n, GF_Route *route) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:57,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:69,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:85,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:86,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:107,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:108,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:109,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:120,1
    - Dst: atof
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:123,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:128,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:56,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:58,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:66,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:96,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:95,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:117,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:129,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:59,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:67,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:75,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:76,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:77,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:106,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:120,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:123,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:130,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:60,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:68,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:119,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:131,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 126
    argCount: 7
    argNames:
    - p
    - inMFField
    - inType
    - do_sum
    - i
    - output
    - num_out
    argTypes:
    - M_Valuator*
    - GenMFField*
    - u32
    - Bool
    - u32
    - SFVec4f*
    - u32*
    constantsTouched: []
    func_position:
      end: 139
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 139
    functionName: valuator_get_output
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - INT2FIX
    - FLT2FIX
    - atoi
    - stricmp
    - strstr
    - atof
    linkageType: ''
    returnType: void
    signature: 'static void valuator_get_output(M_Valuator *p, GenMFField *inMFField,
      u32 inType, Bool do_sum, u32 i, SFVec4f *output, u32 *num_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: Valuator_SetInMFVec2f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFVec2f(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: Valuator_SetInMFRotation
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFRotation(GF_Node *n, GF_Route *route) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:499,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:524,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:520,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:519,1
    - Dst: Valuator_SetInSFRotation
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:525,1
    - Dst: Valuator_SetInMFColor
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:526,1
    - Dst: Valuator_SetInMFFloat
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:527,1
    - Dst: Valuator_SetInMFInt32
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:528,1
    - Dst: Valuator_SetInMFVec3f
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:529,1
    - Dst: Valuator_SetInMFRotation
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:530,1
    - Dst: Valuator_SetInMFString
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_Valuator*
    constantsTouched: []
    func_position:
      end: 535
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 535
    functionName: InitValuator
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - Valuator_SetInMFInt32
    - gf_sg_vrml_field_pointer_new
    - Valuator_SetInSFRotation
    - gf_node_set_private
    - Valuator_SetInMFColor
    - Valuator_SetInMFFloat
    - Valuator_SetInMFRotation
    - Valuator_SetInMFString
    - Valuator_SetInMFVec3f
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitValuator(M_Valuator *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:372,1
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: Valuator_SetInSFTime
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFTime(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: Valuator_SetInMFString
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFString(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: Valuator_SetInSFColor
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFColor(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:492,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: valuator_destroy
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_field_pointer_del
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void valuator_destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: Valuator_SetInSFBool
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFBool(GF_Node *n, GF_Route *route) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:159,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:162,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:160,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:161,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:199,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:201,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:223,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:205,1
    - Dst: format_sftime_string
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:251,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:258,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:286,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:260,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:324,1
    - Dst: gf_sg_route_activate
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:332,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:293,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:260,1
    - Dst: gf_sg_route_queue
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:334,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:188,1
    - Dst: valuator_get_output
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:191,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:226,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:202,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:258,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:258,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:260,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:263,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:268,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:273,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:311,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:324,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:260,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:322,1
    - Dst: format_sftime_string
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:315,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:324,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:324,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:203,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:209,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:256,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:262,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:275,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:278,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:322,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:301,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:326,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:327,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:320,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:324,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:310,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:147,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:200,1
    - Dst: gf_sg_route_setup
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:211,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:204,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:253,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:253,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:256,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:256,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:258,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:317,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:322,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:320,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:317,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:320,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:322,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 196
    argCount: 4
    argNames:
    - p
    - inSFField
    - inMFField
    - inType
    argTypes:
    - M_Valuator*
    - SFVec4f*
    - GenMFField*
    - u32
    constantsTouched: []
    func_position:
      end: 337
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 337
    functionName: SetValuatorOutput
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - gf_sg_route_setup
    - format_sftime_string
    - gf_sg_route_queue
    - gf_node_get_private
    - gf_list_enum
    - gf_mulfix
    - gf_strdup
    - sprintf
    - valuator_get_output
    - FIX2INT
    - gf_free
    - gf_sg_vrml_mf_alloc
    - FIX2FLT
    - gf_sg_route_activate
    linkageType: ''
    returnType: void
    signature: 'static void SetValuatorOutput(M_Valuator *p, SFVec4f *inSFField, GenMFField
      *inMFField, u32 inType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: Valuator_SetInSFFloat
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFFloat(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: Valuator_SetInSFVec2f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFVec2f(GF_Node *n, GF_Route *route) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:427,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:430,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:429,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:433,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:430,1
    - Dst: atof
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:433,1
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: Valuator_SetInSFString
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - FLT2FIX
    - SetValuatorOutput
    - atoi
    - stricmp
    - strstr
    - atof
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFString(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: Valuator_SetInMFColor
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFColor(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:365,1
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: Valuator_SetInSFInt32
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFInt32(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: Valuator_SetInSFVec3f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFVec3f(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: Valuator_SetInMFFloat
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInMFFloat(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetValuatorOutput
      Src: /src/gpac/src/scenegraph/mpeg4_valuator.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: Valuator_SetInSFRotation
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_valuator.c
    functionUses: []
    functionsReached:
    - SetValuatorOutput
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_SetInSFRotation(GF_Node *n, GF_Route *route) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4293,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4299,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4294,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 4315
      start: 4287
    functionDepth: 0
    functionLinenumber: 4287
    functionLinenumberEnd: 4315
    functionName: DirectionalLight_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DirectionalLight_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22772
      start: 22742
    functionDepth: 0
    functionLinenumber: 22742
    functionLinenumberEnd: 22772
    functionName: InputSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err InputSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4322,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4324,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4329,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4327,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4328,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4330,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4331,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4332,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4333,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4337
      start: 4319
    functionDepth: 0
    functionLinenumber: 4319
    functionLinenumberEnd: 4337
    functionName: DirectionalLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *DirectionalLight_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21339
      start: 21325
    functionDepth: 0
    functionLinenumber: 21325
    functionLinenumberEnd: 21339
    functionName: DirectiveSound_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DirectiveSound_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22777,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22780,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22779,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22778,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22782
      start: 22775
    functionDepth: 0
    functionLinenumber: 22775
    functionLinenumberEnd: 22782
    functionName: InputSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 InputSensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1108,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1110,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1111,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1112
    functionName: AudioMix_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioMix_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9470
      start: 9454
    functionDepth: 0
    functionLinenumber: 9454
    functionLinenumberEnd: 9470
    functionName: ListeningPoint_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ListeningPoint_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10916
      start: 10901
    functionDepth: 0
    functionLinenumber: 10901
    functionLinenumberEnd: 10916
    functionName: PlaneSensor2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PlaneSensor2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21705
      start: 21691
    functionDepth: 0
    functionLinenumber: 21691
    functionLinenumberEnd: 21705
    functionName: MaterialKey_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MaterialKey_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32268,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32274,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32280,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 32286
      start: 32262
    functionDepth: 0
    functionLinenumber: 32262
    functionLinenumberEnd: 32286
    functionName: XFontStyle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XFontStyle_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26643
      start: 26637
    functionDepth: 0
    functionLinenumber: 26637
    functionLinenumberEnd: 26643
    functionName: XXPointAttractor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXPointAttractor_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9477,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9484,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9485,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9483,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9479,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9486,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9487,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9491
      start: 9474
    functionDepth: 0
    functionLinenumber: 9474
    functionLinenumberEnd: 9491
    functionName: ListeningPoint_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ListeningPoint_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10971
      start: 10917
    functionDepth: 0
    functionLinenumber: 10917
    functionLinenumberEnd: 10971
    functionName: PlaneSensor2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PlaneSensor2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21725
      start: 21707
    functionDepth: 0
    functionLinenumber: 21707
    functionLinenumberEnd: 21725
    functionName: MaterialKey_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MaterialKey_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26650,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26656,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26655,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26652,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26658,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26659,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26662
      start: 26647
    functionDepth: 0
    functionLinenumber: 26647
    functionLinenumberEnd: 26662
    functionName: XXPointAttractor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXPointAttractor_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32293,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32295,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32301,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32300,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32298,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32303,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32305,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32308,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32312,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32315,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32316,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32311,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32319
      start: 32290
    functionDepth: 0
    functionLinenumber: 32290
    functionLinenumberEnd: 32319
    functionName: XFontStyle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XFontStyle_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: AudioClip_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioClip_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2931
      start: 2917
    functionDepth: 0
    functionLinenumber: 2917
    functionLinenumberEnd: 2931
    functionName: CompositeTexture3D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CompositeTexture3D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11152,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11153,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11165,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11158,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11164,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11170,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11171,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11188
      start: 11146
    functionDepth: 0
    functionLinenumber: 11146
    functionLinenumberEnd: 11188
    functionName: PointLight_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PointLight_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13001
      start: 12987
    functionDepth: 0
    functionLinenumber: 12987
    functionLinenumberEnd: 13001
    functionName: Sound_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Sound_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28190,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28206,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28212,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28191,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28205,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28213,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28223,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28224,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 28245
      start: 28183
    functionDepth: 0
    functionLinenumber: 28183
    functionLinenumberEnd: 28245
    functionName: SBBone_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBBone_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26526
      start: 26520
    functionDepth: 0
    functionLinenumber: 26520
    functionLinenumberEnd: 26526
    functionName: XXPlanarObstacle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXPlanarObstacle_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 735
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 735
    functionName: AudioClip_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioClip_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2948
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2948
    functionName: CompositeTexture3D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CompositeTexture3D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11195,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11201,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11200,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11197,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11203,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11204,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11205,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11206,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11207,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11210,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11209,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11208,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11214
      start: 11192
    functionDepth: 0
    functionLinenumber: 11192
    functionLinenumberEnd: 11214
    functionName: PointLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PointLight_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13021
      start: 13003
    functionDepth: 0
    functionLinenumber: 13003
    functionLinenumberEnd: 13021
    functionName: Sound_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sound_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26533,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26538,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26540,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26539,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26535,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26541,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26542,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26543,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26544,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26547
      start: 26530
    functionDepth: 0
    functionLinenumber: 26530
    functionLinenumberEnd: 26547
    functionName: XXPlanarObstacle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXPlanarObstacle_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28260,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28262,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28264,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28268,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28274,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28272,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28276,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28277,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28270,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28279,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28252,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28280,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28254,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28259,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28255,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28261,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28263,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28267,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28273,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28275,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28269,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28278,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28283
      start: 28249
    functionDepth: 0
    functionLinenumber: 28249
    functionLinenumberEnd: 28283
    functionName: SBBone_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBBone_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 6850
      start: 6835
    functionDepth: 0
    functionLinenumber: 6835
    functionLinenumberEnd: 6850
    functionName: FIT_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FIT_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2279
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2279
    functionName: Circle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Circle_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7750
      start: 7735
    functionDepth: 0
    functionLinenumber: 7735
    functionLinenumberEnd: 7750
    functionName: IndexedFaceSet_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedFaceSet_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11224,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11226,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11227
      start: 11221
    functionDepth: 0
    functionLinenumber: 11221
    functionLinenumberEnd: 11227
    functionName: PointSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointSet_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 21260
      start: 21230
    functionDepth: 0
    functionLinenumber: 21230
    functionLinenumberEnd: 21260
    functionName: BodySegmentConnectionHint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BodySegmentConnectionHint_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36456,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36458,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36463
      start: 36453
    functionDepth: 0
    functionLinenumber: 36453
    functionLinenumberEnd: 36463
    functionName: KeyNavigator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *KeyNavigator_Create() '
  - BBCount: 55
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 39807
      start: 39695
    functionDepth: 0
    functionLinenumber: 39695
    functionLinenumberEnd: 39807
    functionName: gf_sg_mpeg4_node_get_child_ndt
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_mpeg4_node_get_child_ndt(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6911
      start: 6851
    functionDepth: 0
    functionLinenumber: 6851
    functionLinenumberEnd: 6911
    functionName: FIT_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FIT_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7873
      start: 7751
    functionDepth: 0
    functionLinenumber: 7751
    functionLinenumberEnd: 7873
    functionName: IndexedFaceSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedFaceSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21265,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21266,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21270
      start: 21263
    functionDepth: 0
    functionLinenumber: 21263
    functionLinenumberEnd: 21270
    functionName: BodySegmentConnectionHint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BodySegmentConnectionHint_get_field_index_by_name(char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34103,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 34105
      start: 34100
    functionDepth: 0
    functionLinenumber: 34100
    functionLinenumberEnd: 34105
    functionName: SurroundingSound_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SurroundingSound_Del(GF_Node *node) '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39819,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39875,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39857,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39893,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39895,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39913,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39931,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39933,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39951,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39989,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39826,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39864,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39884,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39902,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39922,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39940,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39958,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39960,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39987,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39873,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39817,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39835,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39853,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39855,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39891,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39911,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39929,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39949,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39967,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40000,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39984,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39975,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40002,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39880,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39882,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39824,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39844,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39862,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39900,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39918,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39920,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39938,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39997,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39988,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39815,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39851,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39871,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39889,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39909,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39927,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39945,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39947,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39965,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40001,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39980,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39822,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39842,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39878,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39860,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39898,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39916,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39936,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39954,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39974,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39977,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39979,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39867,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39869,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39849,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39887,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39905,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39907,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39925,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39943,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39963,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39990,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39992,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39858,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39876,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39820,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39896,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39914,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39932,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39934,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39952,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39970,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40003,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39978,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40005,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39847,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39865,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39885,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39903,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39923,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39941,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39961,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39972,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39991,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39993,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39856,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39818,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39874,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39854,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39894,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39912,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39930,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39950,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39985,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40004,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39969,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40006,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39883,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39863,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39825,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39845,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39901,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39919,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39921,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39939,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39957,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39998,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39982,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39890,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39814,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39816,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39852,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39872,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39910,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39928,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39948,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39966,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39968,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39995,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39986,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39823,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39841,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39843,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39861,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39881,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39879,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39899,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39917,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39937,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39981,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39999,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40008,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39983,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39850,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39888,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39870,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39906,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39908,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39926,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39944,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39946,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39964,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39994,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39996,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39877,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39821,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39859,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39897,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39915,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39935,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39953,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39971,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39973,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40007,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39866,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39886,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39848,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39868,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39904,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39924,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39942,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39962,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39976,1
    CyclomaticComplexity: 198
    EdgeCount: 198
    ICount: 392
    argCount: 1
    argNames:
    - node_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 40010
      start: 39810
    functionDepth: 0
    functionLinenumber: 39810
    functionLinenumberEnd: 40010
    functionName: gf_node_mpeg4_type_by_class_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_mpeg4_type_by_class_name(const char *node_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: Appearance_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Appearance_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1629,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1631,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1633,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1632,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1630,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1634,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1635,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1636,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1637,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1638,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1640
    functionName: Background_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfurl_del
    linkageType: ''
    returnType: void
    signature: 'static void Background_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1861
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1861
    functionName: Background2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Background2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 31811
      start: 31793
    functionDepth: 0
    functionLinenumber: 31793
    functionLinenumberEnd: 31811
    functionName: Viewport_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viewport_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23084,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23086
      start: 23081
    functionDepth: 0
    functionLinenumber: 23081
    functionLinenumberEnd: 23086
    functionName: MediaControl_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MediaControl_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: Appearance_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Appearance_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1881
    functionName: Background2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Background2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 31873
      start: 31812
    functionDepth: 0
    functionLinenumber: 31812
    functionLinenumberEnd: 31873
    functionName: Viewport_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viewport_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36473,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36475,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 36476
      start: 36470
    functionDepth: 0
    functionLinenumber: 36470
    functionLinenumberEnd: 36476
    functionName: SpacePartition_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfurl_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SpacePartition_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12844,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12845,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12848
      start: 12842
    functionDepth: 0
    functionLinenumber: 12842
    functionLinenumberEnd: 12848
    functionName: Script_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Script_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29606
      start: 29591
    functionDepth: 0
    functionLinenumber: 29591
    functionLinenumberEnd: 29606
    functionName: SubdivisionSurface_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SubdivisionSurface_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14754
      start: 14695
    functionDepth: 0
    functionLinenumber: 14695
    functionLinenumberEnd: 14754
    functionName: Transform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14760,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14761,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14763,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14762,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14764,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14765,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14766,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14768
      start: 14757
    functionDepth: 0
    functionLinenumber: 14757
    functionLinenumberEnd: 14768
    functionName: Transform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Transform_get_field_index_by_name(char *name) '
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 117
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29780
      start: 29607
    functionDepth: 0
    functionLinenumber: 29607
    functionLinenumberEnd: 29780
    functionName: SubdivisionSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SubdivisionSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1070,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1071,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1078,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1077,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1083
    functionName: AudioFX_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioFX_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2090
    functionName: Bitmap_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Bitmap_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2905,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2907,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2909,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2908,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2906,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2911
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2911
    functionName: CompositeTexture3D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CompositeTexture3D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10136,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10138
      start: 10133
    functionDepth: 0
    functionLinenumber: 10133
    functionLinenumberEnd: 10138
    functionName: Normal_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Normal_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10481,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10483,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10484
      start: 10478
    functionDepth: 0
    functionLinenumber: 10478
    functionLinenumberEnd: 10484
    functionName: OrientationInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfrotation_del
    linkageType: ''
    returnType: void
    signature: 'static void OrientationInterpolator_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23106
      start: 23092
    functionDepth: 0
    functionLinenumber: 23092
    functionLinenumberEnd: 23106
    functionName: MediaControl_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MediaControl_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29127
      start: 29121
    functionDepth: 0
    functionLinenumber: 29121
    functionLinenumberEnd: 29127
    functionName: SBVCAnimation_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBVCAnimation_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25988
      start: 25957
    functionDepth: 0
    functionLinenumber: 25957
    functionLinenumberEnd: 25988
    functionName: OctreeImage_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OctreeImage_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1090,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1092,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1098
    functionName: AudioFX_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioFX_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14865
      start: 14851
    functionDepth: 0
    functionLinenumber: 14851
    functionLinenumberEnd: 14865
    functionName: Transform2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Transform2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 15819
      start: 15805
    functionDepth: 0
    functionLinenumber: 15805
    functionLinenumberEnd: 15819
    functionName: Viseme_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Viseme_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23123
      start: 23108
    functionDepth: 0
    functionLinenumber: 23108
    functionLinenumberEnd: 23123
    functionName: MediaControl_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaControl_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25993,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25996,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25995,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25994,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25998
      start: 25991
    functionDepth: 0
    functionLinenumber: 25991
    functionLinenumberEnd: 25998
    functionName: OctreeImage_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 OctreeImage_get_field_index_by_name(char *name) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26252,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26266,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26262,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26272,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26251,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26255,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26257,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26265,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26261,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26269,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26249,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26250,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26254,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26264,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26260,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26268,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26270,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26253,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26275
      start: 26247
    functionDepth: 0
    functionLinenumber: 26247
    functionLinenumberEnd: 26275
    functionName: XXParticles_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXParticles_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29134,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29140
      start: 29131
    functionDepth: 0
    functionLinenumber: 29131
    functionLinenumberEnd: 29140
    functionName: SBVCAnimation_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBVCAnimation_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 36675
      start: 36631
    functionDepth: 0
    functionLinenumber: 36631
    functionLinenumberEnd: 36675
    functionName: Storage_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Storage_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2069,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2075,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2071,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2076,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2072,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2079
    functionName: Billboard_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Billboard_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10464,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10467,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10471
      start: 10461
    functionDepth: 0
    functionLinenumber: 10461
    functionLinenumberEnd: 10471
    functionName: OrderedGroup_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *OrderedGroup_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34087,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34093
      start: 34084
    functionDepth: 0
    functionLinenumber: 34084
    functionLinenumberEnd: 34093
    functionName: SimpleTextureV2_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SimpleTextureV2_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33347
      start: 33341
    functionDepth: 0
    functionLinenumber: 33341
    functionLinenumberEnd: 33347
    functionName: DepthImageV2_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DepthImageV2_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1499
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1499
    functionName: AudioSwitch_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioSwitch_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4218
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4218
    functionName: DirectionalLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DirectionalLight_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30997
      start: 30983
    functionDepth: 0
    functionLinenumber: 30983
    functionLinenumberEnd: 30997
    functionName: PathLayout_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PathLayout_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1516
    functionName: AudioSwitch_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioSwitch_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4238
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4238
    functionName: DirectionalLight_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectionalLight_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 25507
      start: 25493
    functionDepth: 0
    functionLinenumber: 25493
    functionLinenumberEnd: 25507
    functionName: NurbsCurve2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsCurve2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:423,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Appearance_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Appearance_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3739,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3751
      start: 3733
    functionDepth: 0
    functionLinenumber: 3733
    functionLinenumberEnd: 3751
    functionName: CoordinateInterpolator2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CoordinateInterpolator2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34216,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34217,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 34240
      start: 34210
    functionDepth: 0
    functionLinenumber: 34210
    functionLinenumberEnd: 34240
    functionName: SurroundingSound_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SurroundingSound_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3758,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3764
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3764
    functionName: CoordinateInterpolator2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CoordinateInterpolator2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34247,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34253,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34252,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34254,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34249,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34255,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34256,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34257,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34258,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34259,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34261,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34264
      start: 34244
    functionDepth: 0
    functionLinenumber: 34244
    functionLinenumberEnd: 34264
    functionName: SurroundingSound_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SurroundingSound_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:439,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:440,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: AudioBuffer_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfint32_del
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void AudioBuffer_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3168
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3168
    functionName: Conditional_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Conditional_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29075
      start: 29061
    functionDepth: 0
    functionLinenumber: 29061
    functionLinenumberEnd: 29075
    functionName: SBVCAnimation_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBVCAnimation_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3176,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3178
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3178
    functionName: Conditional_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Conditional_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29092
      start: 29077
    functionDepth: 0
    functionLinenumber: 29077
    functionLinenumberEnd: 29092
    functionName: SBVCAnimation_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBVCAnimation_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 27760
      start: 27742
    functionDepth: 0
    functionLinenumber: 27742
    functionLinenumberEnd: 27760
    functionName: Quadric_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Quadric_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31305,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31317,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31311,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31312,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31318,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31323,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31330,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31331,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 31336
      start: 31287
    functionDepth: 0
    functionLinenumber: 31287
    functionLinenumberEnd: 31336
    functionName: RadialGradient_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool RadialGradient_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12572
      start: 12558
    functionDepth: 0
    functionLinenumber: 12558
    functionLinenumberEnd: 12572
    functionName: Rectangle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Rectangle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 27827
      start: 27761
    functionDepth: 0
    functionLinenumber: 27761
    functionLinenumberEnd: 27827
    functionName: Quadric_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Quadric_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30710
      start: 30696
    functionDepth: 0
    functionLinenumber: 30696
    functionLinenumberEnd: 30710
    functionName: Ellipse_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Ellipse_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31343,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31349,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31345,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31348,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31350,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31351,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31352,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31354,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31358
      start: 31340
    functionDepth: 0
    functionLinenumber: 31340
    functionLinenumberEnd: 31358
    functionName: RadialGradient_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *RadialGradient_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35382
      start: 35368
    functionDepth: 0
    functionLinenumber: 35368
    functionLinenumberEnd: 35382
    functionName: BuildingPartNode_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BuildingPartNode_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26461
      start: 26447
    functionDepth: 0
    functionLinenumber: 26447
    functionLinenumberEnd: 26461
    functionName: XXPlanarObstacle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXPlanarObstacle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10311,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10312,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10314,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10316
      start: 10309
    functionDepth: 0
    functionLinenumber: 10309
    functionLinenumberEnd: 10316
    functionName: NormalInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NormalInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13452
      start: 13437
    functionDepth: 0
    functionLinenumber: 13437
    functionLinenumberEnd: 13452
    functionName: SphereSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SphereSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22589,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22590,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22592
      start: 22586
    functionDepth: 0
    functionLinenumber: 22586
    functionLinenumberEnd: 22592
    functionName: ServerCommand_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void ServerCommand_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32887,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32890,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32889,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32891,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32888,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32892,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32893,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32894,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 32896
      start: 32884
    functionDepth: 0
    functionLinenumber: 32884
    functionLinenumberEnd: 32896
    functionName: AudioChannelConfig_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void AudioChannelConfig_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10323,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10324,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10335
      start: 10317
    functionDepth: 0
    functionLinenumber: 10317
    functionLinenumberEnd: 10335
    functionName: NormalInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NormalInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13495
      start: 13453
    functionDepth: 0
    functionLinenumber: 13453
    functionLinenumberEnd: 13495
    functionName: SphereSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SphereSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26478
      start: 26463
    functionDepth: 0
    functionLinenumber: 26463
    functionLinenumberEnd: 26478
    functionName: XXPlanarObstacle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXPlanarObstacle_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34009
      start: 33995
    functionDepth: 0
    functionLinenumber: 33995
    functionLinenumberEnd: 34009
    functionName: SimpleTextureV2_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SimpleTextureV2_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13089
      start: 13022
    functionDepth: 0
    functionLinenumber: 13022
    functionLinenumberEnd: 13089
    functionName: Sound_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sound_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 34196
      start: 34147
    functionDepth: 0
    functionLinenumber: 34147
    functionLinenumberEnd: 34196
    functionName: SurroundingSound_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SurroundingSound_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13094,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13096,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13102,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13105
      start: 13092
    functionDepth: 0
    functionLinenumber: 13092
    functionLinenumberEnd: 13105
    functionName: Sound_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Sound_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34201,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34205,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34202,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34204,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34203,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34206,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34209
      start: 34199
    functionDepth: 0
    functionLinenumber: 34199
    functionLinenumberEnd: 34209
    functionName: SurroundingSound_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SurroundingSound_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29553,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29551,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29552,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29550,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29554,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29555,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29556,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29557,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29558,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29559,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29549,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29560,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29561,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29564,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29565,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29563,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29567,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29562,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29566,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29569
      start: 29546
    functionDepth: 0
    functionLinenumber: 29546
    functionLinenumberEnd: 29569
    functionName: SubdivisionSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister_children
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void SubdivisionSurface_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5174
      start: 5160
    functionDepth: 0
    functionLinenumber: 5160
    functionLinenumberEnd: 5174
    functionName: Face_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Face_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8574
      start: 8560
    functionDepth: 0
    functionLinenumber: 8560
    functionLinenumberEnd: 8574
    functionName: LOD_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LOD_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8844
      start: 8830
    functionDepth: 0
    functionLinenumber: 8830
    functionLinenumberEnd: 8844
    functionName: Layer3D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Layer3D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29530,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29536,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29537,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29539
      start: 29527
    functionDepth: 0
    functionLinenumber: 29527
    functionLinenumberEnd: 29539
    functionName: SolidRep_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SolidRep_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4895,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4899,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4898,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4896,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4897,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4900,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4901,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4902,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4904
      start: 4892
    functionDepth: 0
    functionLinenumber: 4892
    functionLinenumberEnd: 4904
    functionName: Extrusion_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfrotation_del
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11691
      start: 11677
    functionDepth: 0
    functionLinenumber: 11677
    functionLinenumberEnd: 11691
    functionName: ProximitySensor2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ProximitySensor2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14044
      start: 14026
    functionDepth: 0
    functionLinenumber: 14026
    functionLinenumberEnd: 14044
    functionName: Text_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Text_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 16622
      start: 16608
    functionDepth: 0
    functionLinenumber: 16608
    functionLinenumberEnd: 16622
    functionName: BAP_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BAP_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11708
      start: 11693
    functionDepth: 0
    functionLinenumber: 11693
    functionLinenumberEnd: 11708
    functionName: ProximitySensor2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProximitySensor2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14076
      start: 14045
    functionDepth: 0
    functionLinenumber: 14045
    functionLinenumberEnd: 14076
    functionName: Text_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Text_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 16639
      start: 16624
    functionDepth: 0
    functionLinenumber: 16624
    functionLinenumberEnd: 16639
    functionName: BAP_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BAP_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32774,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32786,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32780,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32798,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32792,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32805,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32806,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32812,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32820,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32827,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32839,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32840,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32832,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32847,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32846,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 32852
      start: 32768
    functionDepth: 0
    functionLinenumber: 32768
    functionLinenumberEnd: 32852
    functionName: AdvancedAudioBuffer_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AdvancedAudioBuffer_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21033,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21036,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21035,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21037,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21034,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21039
      start: 21030
    functionDepth: 0
    functionLinenumber: 21030
    functionLinenumberEnd: 21039
    functionName: BodyDefTable_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void BodyDefTable_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21277,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21289
      start: 21271
    functionDepth: 0
    functionLinenumber: 21271
    functionLinenumberEnd: 21289
    functionName: BodySegmentConnectionHint_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BodySegmentConnectionHint_get_aq_info(GF_Node *n, u32
      FieldIndex, u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35819,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35820,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35821,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35823,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35822,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35824,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35825,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35826,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35830,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35833
      start: 35817
    functionDepth: 0
    functionLinenumber: 35817
    functionLinenumberEnd: 35833
    functionName: FacadeNode_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FacadeNode_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21296,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21302
      start: 21293
    functionDepth: 0
    functionLinenumber: 21293
    functionLinenumberEnd: 21302
    functionName: BodySegmentConnectionHint_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BodySegmentConnectionHint_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32859,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32874,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32861,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32865,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32877
      start: 32856
    functionDepth: 0
    functionLinenumber: 32856
    functionLinenumberEnd: 32877
    functionName: AdvancedAudioBuffer_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AdvancedAudioBuffer_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35840
      start: 35834
    functionDepth: 0
    functionLinenumber: 35834
    functionLinenumberEnd: 35840
    functionName: FacadeNode_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FacadeNode_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3118
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3118
    functionName: Conditional_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Conditional_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26741
      start: 26705
    functionDepth: 0
    functionLinenumber: 26705
    functionLinenumberEnd: 26741
    functionName: PointTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 27514
      start: 27388
    functionDepth: 0
    functionLinenumber: 27388
    functionLinenumberEnd: 27514
    functionName: ProceduralTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProceduralTexture_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3135
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3135
    functionName: Conditional_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Conditional_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26746,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26750,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26749,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26748,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26752
      start: 26744
    functionDepth: 0
    functionLinenumber: 26744
    functionLinenumberEnd: 26752
    functionName: PointTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointTexture_get_field_index_by_name(char *name) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27519,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27520,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27522,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27526,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27530,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27536,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27534,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27521,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27525,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27535,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27533,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27529,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27524,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27528,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27532,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27538,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27523,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27527,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27531,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27537,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 27540
      start: 27517
    functionDepth: 0
    functionLinenumber: 27517
    functionLinenumberEnd: 27540
    functionName: ProceduralTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ProceduralTexture_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 28637
      start: 28623
    functionDepth: 0
    functionLinenumber: 28623
    functionLinenumberEnd: 28637
    functionName: SBSite_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBSite_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:187,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: AnimationStream_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void AnimationStream_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 15507
      start: 15493
    functionDepth: 0
    functionLinenumber: 15493
    functionLinenumberEnd: 15507
    functionName: Viewpoint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Viewpoint_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33605
      start: 33550
    functionDepth: 0
    functionLinenumber: 33550
    functionLinenumberEnd: 33605
    functionName: MultiTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MultiTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 15527
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15527
    functionName: Viewpoint_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viewpoint_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33610,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33613,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33612,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33611,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33614,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33615,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33616,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33619
      start: 33608
    functionDepth: 0
    functionLinenumber: 33608
    functionLinenumberEnd: 33619
    functionName: MultiTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MultiTexture_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4193
    functionDepth: 0
    functionLinenumber: 4193
    functionLinenumberEnd: 4197
    functionName: DirectionalLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DirectionalLight_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8766
      start: 8717
    functionDepth: 0
    functionLinenumber: 8717
    functionLinenumberEnd: 8766
    functionName: Layer2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layer2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14205
      start: 14193
    functionDepth: 0
    functionLinenumber: 14193
    functionLinenumberEnd: 14205
    functionName: TextureCoordinate_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TextureCoordinate_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 20887
      start: 20867
    functionDepth: 0
    functionLinenumber: 20867
    functionLinenumberEnd: 20887
    functionName: BDP_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BDP_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8778
      start: 8769
    functionDepth: 0
    functionLinenumber: 8769
    functionLinenumberEnd: 8778
    functionName: Layer2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Layer2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14212,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14218
      start: 14209
    functionDepth: 0
    functionLinenumber: 14209
    functionLinenumberEnd: 14218
    functionName: TextureCoordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TextureCoordinate_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 20895
      start: 20890
    functionDepth: 0
    functionLinenumber: 20890
    functionLinenumberEnd: 20895
    functionName: BDP_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BDP_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4174,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4183,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4180,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4176,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4182,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4186
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4186
    functionName: CylinderSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CylinderSensor_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4126,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4129,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4128,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4130,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4132,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4133,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4136
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4136
    functionName: CylinderSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CylinderSensor_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 25228
      start: 25213
    functionDepth: 0
    functionLinenumber: 25213
    functionLinenumberEnd: 25228
    functionName: NonLinearDeformer_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NonLinearDeformer_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28293,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28294,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28295,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 28297
      start: 28290
    functionDepth: 0
    functionLinenumber: 28290
    functionLinenumberEnd: 28297
    functionName: SBMuscle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void SBMuscle_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 28838
      start: 28824
    functionDepth: 0
    functionLinenumber: 28824
    functionLinenumberEnd: 28838
    functionName: SBSkinnedModel_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBSkinnedModel_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4143,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4149,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4144,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4150,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4161,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 4167
      start: 4137
    functionDepth: 0
    functionLinenumber: 4137
    functionLinenumberEnd: 4167
    functionName: CylinderSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CylinderSensor_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25266
      start: 25229
    functionDepth: 0
    functionLinenumber: 25229
    functionLinenumberEnd: 25266
    functionName: NonLinearDeformer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NonLinearDeformer_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 28858
      start: 28840
    functionDepth: 0
    functionLinenumber: 28840
    functionLinenumberEnd: 28858
    functionName: SBSkinnedModel_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSkinnedModel_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 5432
      start: 5417
    functionDepth: 0
    functionLinenumber: 5417
    functionLinenumberEnd: 5432
    functionName: FaceDefTables_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefTables_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7634
      start: 7619
    functionDepth: 0
    functionLinenumber: 7619
    functionLinenumberEnd: 7634
    functionName: ImageTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ImageTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26760,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26766
      start: 26753
    functionDepth: 0
    functionLinenumber: 26753
    functionLinenumberEnd: 26766
    functionName: PointTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PointTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29864
      start: 29860
    functionDepth: 0
    functionLinenumber: 29860
    functionLinenumberEnd: 29864
    functionName: SubdivSurfaceSector_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SubdivSurfaceSector_Del(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34388,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34391,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34390,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34389,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34392,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34393,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34394,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34395,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34398
      start: 34386
    functionDepth: 0
    functionLinenumber: 34386
    functionLinenumberEnd: 34398
    functionName: Transform3DAudio_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Transform3DAudio_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 36196
      start: 36181
    functionDepth: 0
    functionLinenumber: 36181
    functionLinenumberEnd: 36196
    functionName: EnvironmentTest_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err EnvironmentTest_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5465
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5465
    functionName: FaceDefTables_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefTables_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7659
      start: 7635
    functionDepth: 0
    functionLinenumber: 7635
    functionLinenumberEnd: 7659
    functionName: ImageTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ImageTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26773,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26782
      start: 26770
    functionDepth: 0
    functionLinenumber: 26770
    functionLinenumberEnd: 26782
    functionName: PointTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PointTexture_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34411,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34424,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34412,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34423,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34417,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34435,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34436,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 34441
      start: 34399
    functionDepth: 0
    functionLinenumber: 34399
    functionLinenumberEnd: 34441
    functionName: Transform3DAudio_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Transform3DAudio_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 36258
      start: 36197
    functionDepth: 0
    functionLinenumber: 36197
    functionLinenumberEnd: 36258
    functionName: EnvironmentTest_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err EnvironmentTest_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29840,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29853
      start: 29837
    functionDepth: 0
    functionLinenumber: 29837
    functionLinenumberEnd: 29853
    functionName: SubdivisionSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SubdivisionSurface_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: Anchor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Anchor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31096,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31102,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31103,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31106
      start: 31093
    functionDepth: 0
    functionLinenumber: 31093
    functionLinenumberEnd: 31106
    functionName: PathLayout_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PathLayout_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:148,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:149,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:150,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:152,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:151,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:153,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: Anchor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Anchor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31114,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31115,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31133,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 31139
      start: 31107
    functionDepth: 0
    functionLinenumber: 31107
    functionLinenumberEnd: 31139
    functionName: PathLayout_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PathLayout_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7366
      start: 7348
    functionDepth: 0
    functionLinenumber: 7348
    functionLinenumberEnd: 7366
    functionName: Form_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Form_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12945,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12948
      start: 12943
    functionDepth: 0
    functionLinenumber: 12943
    functionLinenumberEnd: 12948
    functionName: Shape_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Shape_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27307,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 27318
      start: 27300
    functionDepth: 0
    functionLinenumber: 27300
    functionLinenumberEnd: 27318
    functionName: PositionInterpolator4D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PositionInterpolator4D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31146,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31152,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31149,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31155,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31148,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31160
      start: 31143
    functionDepth: 0
    functionLinenumber: 31143
    functionLinenumberEnd: 31160
    functionName: PathLayout_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PathLayout_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27325,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27331
      start: 27322
    functionDepth: 0
    functionLinenumber: 27322
    functionLinenumberEnd: 27331
    functionName: PositionInterpolator4D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PositionInterpolator4D_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7420
      start: 7367
    functionDepth: 0
    functionLinenumber: 7367
    functionLinenumberEnd: 7420
    functionName: Form_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Form_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7733
      start: 7719
    functionDepth: 0
    functionLinenumber: 7719
    functionLinenumberEnd: 7733
    functionName: IndexedFaceSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedFaceSet_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 12955
      start: 12949
    functionDepth: 0
    functionLinenumber: 12949
    functionLinenumberEnd: 12955
    functionName: Shape_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Shape_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31170,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31172,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31173,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31171,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 31175
      start: 31167
    functionDepth: 0
    functionLinenumber: 31167
    functionLinenumberEnd: 31175
    functionName: RadialGradient_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void RadialGradient_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30255,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30257,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30260,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 30263
      start: 30253
    functionDepth: 0
    functionLinenumber: 30253
    functionLinenumberEnd: 30263
    functionName: Clipper2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Clipper2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22678
      start: 22672
    functionDepth: 0
    functionLinenumber: 22672
    functionLinenumberEnd: 22678
    functionName: ServerCommand_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ServerCommand_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2340
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2340
    functionName: Circle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Circle_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 5308
      start: 5299
    functionDepth: 0
    functionLinenumber: 5299
    functionLinenumberEnd: 5308
    functionName: FaceDefMesh_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefMesh_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14950,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14953,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14954,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14952,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14951,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14957,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14959
      start: 14948
    functionDepth: 0
    functionLinenumber: 14948
    functionLinenumberEnd: 14959
    functionName: Transform2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Transform2D_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2353
    functionName: Circle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Circle_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5340
      start: 5309
    functionDepth: 0
    functionLinenumber: 5309
    functionLinenumberEnd: 5340
    functionName: FaceDefMesh_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefMesh_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14972,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14984,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14973,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14985,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14996
      start: 14960
    functionDepth: 0
    functionLinenumber: 14960
    functionLinenumberEnd: 14996
    functionName: Transform2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Transform2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22685,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22691
      start: 22682
    functionDepth: 0
    functionLinenumber: 22682
    functionLinenumberEnd: 22691
    functionName: ServerCommand_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ServerCommand_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30270
      start: 30264
    functionDepth: 0
    functionLinenumber: 30264
    functionLinenumberEnd: 30270
    functionName: Clipper2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Clipper2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 32916
      start: 32902
    functionDepth: 0
    functionLinenumber: 32902
    functionLinenumberEnd: 32916
    functionName: AudioChannelConfig_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioChannelConfig_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2164
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2164
    functionName: Bitmap_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Bitmap_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3055,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3068
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3068
    functionName: CompositeTexture3D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CompositeTexture3D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4937
      start: 4925
    functionDepth: 0
    functionLinenumber: 4925
    functionLinenumberEnd: 4937
    functionName: Extrusion_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Extrusion_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4533
      start: 4519
    functionDepth: 0
    functionLinenumber: 4519
    functionLinenumberEnd: 4533
    functionName: ElevationGrid_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ElevationGrid_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14612,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14613,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14616,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14614,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14615,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14617,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14620
      start: 14610
    functionDepth: 0
    functionLinenumber: 14610
    functionLinenumberEnd: 14620
    functionName: TouchSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TouchSensor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24244
      start: 24230
    functionDepth: 0
    functionLinenumber: 24230
    functionLinenumberEnd: 24244
    functionName: XXLFM_BlendList_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_BlendList_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34067,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34071,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34070,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34069,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34073
      start: 34065
    functionDepth: 0
    functionLinenumber: 34065
    functionLinenumberEnd: 34073
    functionName: SimpleTextureV2_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SimpleTextureV2_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 32933
      start: 32918
    functionDepth: 0
    functionLinenumber: 32918
    functionLinenumberEnd: 32933
    functionName: AudioChannelConfig_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioChannelConfig_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2171,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2173,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2176,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2179
    functionName: Bitmap_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Bitmap_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3075,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3078,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3086
    functionName: CompositeTexture3D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CompositeTexture3D_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4550
      start: 4535
    functionDepth: 0
    functionLinenumber: 4535
    functionLinenumberEnd: 4550
    functionName: ElevationGrid_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ElevationGrid_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5032
      start: 4938
    functionDepth: 0
    functionLinenumber: 4938
    functionLinenumberEnd: 5032
    functionName: Extrusion_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Extrusion_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14627
      start: 14621
    functionDepth: 0
    functionLinenumber: 14621
    functionLinenumberEnd: 14627
    functionName: TouchSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TouchSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24261
      start: 24246
    functionDepth: 0
    functionLinenumber: 24246
    functionLinenumberEnd: 24261
    functionName: XXLFM_BlendList_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_BlendList_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 34080
      start: 34074
    functionDepth: 0
    functionLinenumber: 34074
    functionLinenumberEnd: 34080
    functionName: SimpleTextureV2_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SimpleTextureV2_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35136
      start: 35124
    functionDepth: 0
    functionLinenumber: 35124
    functionLinenumberEnd: 35136
    functionName: MusicScore_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MusicScore_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16020,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16024,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16023,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16021,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 16025
      start: 16017
    functionDepth: 0
    functionLinenumber: 16017
    functionLinenumberEnd: 16025
    functionName: AcousticMaterial_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void AcousticMaterial_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16004,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16010
      start: 16001
    functionDepth: 0
    functionLinenumber: 16001
    functionLinenumberEnd: 16010
    functionName: WorldInfo_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *WorldInfo_Create() '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1397
    functionName: AudioSource_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioSource_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33626
      start: 33620
    functionDepth: 0
    functionLinenumber: 33620
    functionLinenumberEnd: 33626
    functionName: MultiTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MultiTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34274,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 34276
      start: 34271
    functionDepth: 0
    functionLinenumber: 34271
    functionLinenumberEnd: 34276
    functionName: Transform3DAudio_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Transform3DAudio_Del(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35630,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35634,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35631,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35633,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35632,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35635,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35636,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35637,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35638,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35639,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35640,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35641,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35643
      start: 35628
    functionDepth: 0
    functionLinenumber: 35628
    functionLinenumberEnd: 35643
    functionName: RoofNode_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 RoofNode_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1402,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1404,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1403,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1406,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1405,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1407,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1408,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1409,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1410,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1413
    functionName: AudioSource_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioSource_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9830
      start: 9816
    functionDepth: 0
    functionLinenumber: 9816
    functionLinenumberEnd: 9830
    functionName: MovieTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MovieTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33633,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33635,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33640,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33639,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33638,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33643
      start: 33630
    functionDepth: 0
    functionLinenumber: 33630
    functionLinenumberEnd: 33643
    functionName: MultiTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MultiTexture_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35650
      start: 35644
    functionDepth: 0
    functionLinenumber: 35644
    functionLinenumberEnd: 35650
    functionName: RoofNode_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool RoofNode_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22374,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22381,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22388,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22382,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22394
      start: 22362
    functionDepth: 0
    functionLinenumber: 22362
    functionLinenumberEnd: 22394
    functionName: TemporalTransform_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TemporalTransform_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8501
      start: 8486
    functionDepth: 0
    functionLinenumber: 8486
    functionLinenumberEnd: 8501
    functionName: Inline_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Inline_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13571
      start: 13557
    functionDepth: 0
    functionLinenumber: 13557
    functionLinenumberEnd: 13571
    functionName: SpotLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SpotLight_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13658
      start: 13592
    functionDepth: 0
    functionLinenumber: 13592
    functionLinenumberEnd: 13658
    functionName: SpotLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SpotLight_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8514
      start: 8502
    functionDepth: 0
    functionLinenumber: 8502
    functionLinenumberEnd: 8514
    functionName: Inline_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Inline_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13591
      start: 13573
    functionDepth: 0
    functionLinenumber: 13573
    functionLinenumberEnd: 13591
    functionName: SpotLight_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SpotLight_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13663,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13664,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13665,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13667,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13666,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13668,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13669,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13670,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13671,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13674
      start: 13661
    functionDepth: 0
    functionLinenumber: 13661
    functionLinenumberEnd: 13674
    functionName: SpotLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SpotLight_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22401,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22404,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22409,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22410,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22403,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22411,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22412,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22420
      start: 22398
    functionDepth: 0
    functionLinenumber: 22398
    functionLinenumberEnd: 22420
    functionName: TemporalTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TemporalTransform_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 31272
      start: 31217
    functionDepth: 0
    functionLinenumber: 31217
    functionLinenumberEnd: 31272
    functionName: RadialGradient_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RadialGradient_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 30194
      start: 30179
    functionDepth: 0
    functionLinenumber: 30179
    functionLinenumberEnd: 30194
    functionName: Clipper2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Clipper2D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13798
      start: 13784
    functionDepth: 0
    functionLinenumber: 13784
    functionLinenumberEnd: 13798
    functionName: Switch_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Switch_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23441
      start: 23435
    functionDepth: 0
    functionLinenumber: 23435
    functionLinenumberEnd: 23441
    functionName: BitWrapper_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BitWrapper_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33766,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33767,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33784
      start: 33759
    functionDepth: 0
    functionLinenumber: 33759
    functionLinenumberEnd: 33784
    functionName: PointTextureV2_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PointTextureV2_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13815
      start: 13800
    functionDepth: 0
    functionLinenumber: 13800
    functionLinenumberEnd: 13815
    functionName: Switch_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Switch_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23448,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23455
      start: 23445
    functionDepth: 0
    functionLinenumber: 23445
    functionLinenumberEnd: 23455
    functionName: BitWrapper_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BitWrapper_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 30250
      start: 30195
    functionDepth: 0
    functionLinenumber: 30195
    functionLinenumberEnd: 30250
    functionName: Clipper2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Clipper2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31280,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31281,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31282,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31283,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31286
      start: 31275
    functionDepth: 0
    functionLinenumber: 31275
    functionLinenumberEnd: 31286
    functionName: RadialGradient_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 RadialGradient_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33791,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33800
      start: 33788
    functionDepth: 0
    functionLinenumber: 33788
    functionLinenumberEnd: 33800
    functionName: PointTextureV2_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PointTextureV2_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8817,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8819,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8821,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8818,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8820,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8823
      start: 8814
    functionDepth: 0
    functionLinenumber: 8814
    functionLinenumberEnd: 8823
    functionName: Layer3D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Layer3D_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14558
      start: 14543
    functionDepth: 0
    functionLinenumber: 14543
    functionLinenumberEnd: 14558
    functionName: TouchSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TouchSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14785,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14801
      start: 14769
    functionDepth: 0
    functionLinenumber: 14769
    functionLinenumberEnd: 14801
    functionName: Transform_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Transform_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23234,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23235,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23237
      start: 23231
    functionDepth: 0
    functionLinenumber: 23231
    functionLinenumberEnd: 23237
    functionName: MediaSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_sg_mfstring_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MediaSensor_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 25679
      start: 25665
    functionDepth: 0
    functionLinenumber: 25665
    functionLinenumberEnd: 25679
    functionName: NurbsSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsSurface_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34888
      start: 34870
    functionDepth: 0
    functionLinenumber: 34870
    functionLinenumberEnd: 34888
    functionName: MusicScore_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MusicScore_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14607
      start: 14559
    functionDepth: 0
    functionLinenumber: 14559
    functionLinenumberEnd: 14607
    functionName: TouchSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TouchSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14815,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14817,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14819,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14828,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14825,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14823,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14821,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14830,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14808,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14814,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14811,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14810,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14816,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14818,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14820,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14826,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14827,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14829,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14824,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14832
      start: 14805
    functionDepth: 0
    functionLinenumber: 14805
    functionLinenumberEnd: 14832
    functionName: Transform_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Transform_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 25211
      start: 25197
    functionDepth: 0
    functionLinenumber: 25197
    functionLinenumberEnd: 25211
    functionName: NonLinearDeformer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NonLinearDeformer_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 25699
      start: 25681
    functionDepth: 0
    functionLinenumber: 25681
    functionLinenumberEnd: 25699
    functionName: NurbsSurface_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSurface_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 131
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35086
      start: 34889
    functionDepth: 0
    functionLinenumber: 34889
    functionLinenumberEnd: 35086
    functionName: MusicScore_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MusicScore_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21059
      start: 21045
    functionDepth: 0
    functionLinenumber: 21045
    functionLinenumberEnd: 21059
    functionName: BodyDefTable_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BodyDefTable_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2111
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2111
    functionName: Bitmap_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Bitmap_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12813
      start: 12798
    functionDepth: 0
    functionLinenumber: 12798
    functionLinenumberEnd: 12813
    functionName: Script_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Script_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14129,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14131
      start: 14126
    functionDepth: 0
    functionLinenumber: 14126
    functionLinenumberEnd: 14131
    functionName: TextureCoordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void TextureCoordinate_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2131
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2131
    functionName: Bitmap_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Bitmap_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12838
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12838
    functionName: Script_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Script_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21076
      start: 21061
    functionDepth: 0
    functionLinenumber: 21061
    functionLinenumberEnd: 21076
    functionName: BodyDefTable_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BodyDefTable_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 105
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26244
      start: 26085
    functionDepth: 0
    functionLinenumber: 26085
    functionLinenumberEnd: 26244
    functionName: XXParticles_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXParticles_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14112,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14117,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14119
      start: 14109
    functionDepth: 0
    functionLinenumber: 14109
    functionLinenumberEnd: 14119
    functionName: Text_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Text_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9289,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9291,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9293
      start: 9287
    functionDepth: 0
    functionLinenumber: 9287
    functionLinenumberEnd: 9293
    functionName: LineProperties_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LineProperties_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13357
      start: 13348
    functionDepth: 0
    functionLinenumber: 13348
    functionLinenumberEnd: 13357
    functionName: Sphere_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sphere_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22956,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22958
      start: 22953
    functionDepth: 0
    functionLinenumber: 22953
    functionLinenumberEnd: 22958
    functionName: MediaBuffer_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MediaBuffer_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9307,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9313,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9308,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9319
      start: 9294
    functionDepth: 0
    functionLinenumber: 9294
    functionLinenumberEnd: 9319
    functionName: LineProperties_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool LineProperties_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13370
      start: 13358
    functionDepth: 0
    functionLinenumber: 13358
    functionLinenumberEnd: 13370
    functionName: Sphere_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sphere_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30318
      start: 30304
    functionDepth: 0
    functionLinenumber: 30304
    functionLinenumberEnd: 30318
    functionName: ColorTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ColorTransform_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1930,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1931,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1936
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1936
    functionName: Background2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Background2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8535,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8541
      start: 8532
    functionDepth: 0
    functionLinenumber: 8532
    functionLinenumberEnd: 8541
    functionName: Inline_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Inline_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 31593
      start: 31579
    functionDepth: 0
    functionLinenumber: 31579
    functionLinenumberEnd: 31593
    functionName: TransformMatrix2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TransformMatrix2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 31737
      start: 31695
    functionDepth: 0
    functionLinenumber: 31695
    functionLinenumberEnd: 31737
    functionName: TransformMatrix2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TransformMatrix2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30061
      start: 30047
    functionDepth: 0
    functionLinenumber: 30047
    functionLinenumberEnd: 30061
    functionName: WaveletSubdivisionSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 WaveletSubdivisionSurface_get_field_count(GF_Node *node,
      u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 30338
      start: 30320
    functionDepth: 0
    functionLinenumber: 30320
    functionLinenumberEnd: 30338
    functionName: ColorTransform_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorTransform_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1943,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1948,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1950,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1949,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1952
    functionName: Background2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Background2D_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 31613
      start: 31595
    functionDepth: 0
    functionLinenumber: 31595
    functionLinenumberEnd: 31613
    functionName: TransformMatrix2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TransformMatrix2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31744,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31750,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31746,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31751,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31747,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31752,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31753,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31754,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31757
      start: 31741
    functionDepth: 0
    functionLinenumber: 31741
    functionLinenumberEnd: 31757
    functionName: TransformMatrix2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TransformMatrix2D_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Anchor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Anchor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2609,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2610,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2612
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2612
    functionName: ColorInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ColorInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9218
      start: 9214
    functionDepth: 0
    functionLinenumber: 9214
    functionLinenumberEnd: 9218
    functionName: LineProperties_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void LineProperties_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11422,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11423,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11425
      start: 11419
    functionDepth: 0
    functionLinenumber: 11419
    functionLinenumberEnd: 11425
    functionName: PositionInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PositionInterpolator_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21010
      start: 21004
    functionDepth: 0
    functionLinenumber: 21004
    functionLinenumberEnd: 21010
    functionName: Body_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Body_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29266
      start: 29193
    functionDepth: 0
    functionLinenumber: 29193
    functionLinenumberEnd: 29266
    functionName: ScalarAnimator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScalarAnimator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36554,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36556,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36555,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36559
      start: 36552
    functionDepth: 0
    functionLinenumber: 36552
    functionLinenumberEnd: 36559
    functionName: SpacePartition_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SpacePartition_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: Anchor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Anchor_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10257
      start: 10243
    functionDepth: 0
    functionLinenumber: 10243
    functionLinenumberEnd: 10257
    functionName: NormalInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NormalInterpolator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21017,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21023
      start: 21014
    functionDepth: 0
    functionLinenumber: 21014
    functionLinenumberEnd: 21023
    functionName: Body_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Body_Create() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29274,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29272,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29276,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29280,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29283
      start: 29269
    functionDepth: 0
    functionLinenumber: 29269
    functionLinenumberEnd: 29283
    functionName: ScalarAnimator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ScalarAnimator_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 36566
      start: 36560
    functionDepth: 0
    functionLinenumber: 36560
    functionLinenumberEnd: 36566
    functionName: SpacePartition_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SpacePartition_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8551,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8552,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8554
      start: 8548
    functionDepth: 0
    functionLinenumber: 8548
    functionLinenumberEnd: 8554
    functionName: LOD_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void LOD_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 32029
      start: 32004
    functionDepth: 0
    functionLinenumber: 32004
    functionLinenumberEnd: 32029
    functionName: XCurve2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XCurve2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3774,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3775,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3777
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3777
    functionName: Curve2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void Curve2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13882
      start: 13878
    functionDepth: 0
    functionLinenumber: 13878
    functionLinenumberEnd: 13882
    functionName: TermCap_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TermCap_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36431,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36433,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36432,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36434,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36435,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36436,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36437,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36438,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36439,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36442
      start: 36429
    functionDepth: 0
    functionLinenumber: 36429
    functionLinenumberEnd: 36442
    functionName: KeyNavigator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 KeyNavigator_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9523
      start: 9509
    functionDepth: 0
    functionLinenumber: 9509
    functionLinenumberEnd: 9523
    functionName: Material_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Material_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32034,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32036,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 32038
      start: 32032
    functionDepth: 0
    functionLinenumber: 32032
    functionLinenumberEnd: 32038
    functionName: XCurve2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XCurve2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 36449
      start: 36443
    functionDepth: 0
    functionLinenumber: 36443
    functionLinenumberEnd: 36449
    functionName: KeyNavigator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool KeyNavigator_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2144
    functionName: Bitmap_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Bitmap_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5595,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5597,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5596,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5598,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5601
      start: 5593
    functionDepth: 0
    functionLinenumber: 5593
    functionLinenumberEnd: 5601
    functionName: FaceDefTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FaceDefTransform_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13527,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13535,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13534,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13536,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13529,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13539
      start: 13524
    functionDepth: 0
    functionLinenumber: 13524
    functionLinenumberEnd: 13539
    functionName: SphereSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SphereSensor_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24822
      start: 24808
    functionDepth: 0
    functionLinenumber: 24808
    functionLinenumberEnd: 24822
    functionName: XXLFM_ViewMapList_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_ViewMapList_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 28338
      start: 28320
    functionDepth: 0
    functionLinenumber: 28320
    functionLinenumberEnd: 28338
    functionName: SBMuscle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBMuscle_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 28550
      start: 28497
    functionDepth: 0
    functionLinenumber: 28497
    functionLinenumberEnd: 28550
    functionName: SBSegment_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSegment_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2151
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2151
    functionName: Bitmap_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Bitmap_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 5622
      start: 5602
    functionDepth: 0
    functionLinenumber: 5602
    functionLinenumberEnd: 5622
    functionName: FaceDefTransform_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FaceDefTransform_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24829,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24835
      start: 24826
    functionDepth: 0
    functionLinenumber: 24826
    functionLinenumberEnd: 24835
    functionName: XXLFM_ViewMapList_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_ViewMapList_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 28382
      start: 28339
    functionDepth: 0
    functionLinenumber: 28339
    functionLinenumberEnd: 28382
    functionName: SBMuscle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBMuscle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28555,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28557,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28556,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28558,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28559,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28561,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28563
      start: 28553
    functionDepth: 0
    functionLinenumber: 28553
    functionLinenumberEnd: 28563
    functionName: SBSegment_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBSegment_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13550
      start: 13546
    functionDepth: 0
    functionLinenumber: 13546
    functionLinenumberEnd: 13550
    functionName: SpotLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SpotLight_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8521
      start: 8517
    functionDepth: 0
    functionLinenumber: 8517
    functionLinenumberEnd: 8521
    functionName: Inline_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Inline_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11132
      start: 11084
    functionDepth: 0
    functionLinenumber: 11084
    functionLinenumberEnd: 11132
    functionName: PointLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointLight_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26398
      start: 26380
    functionDepth: 0
    functionLinenumber: 26380
    functionLinenumberEnd: 26398
    functionName: XXParticleInitBox_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXParticleInitBox_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8528
      start: 8522
    functionDepth: 0
    functionLinenumber: 8522
    functionLinenumberEnd: 8528
    functionName: Inline_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Inline_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11137,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11145
      start: 11135
    functionDepth: 0
    functionLinenumber: 11135
    functionLinenumberEnd: 11145
    functionName: PointLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointLight_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26403,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26406
      start: 26401
    functionDepth: 0
    functionLinenumber: 26401
    functionLinenumberEnd: 26406
    functionName: XXParticleInitBox_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXParticleInitBox_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11845
      start: 11831
    functionDepth: 0
    functionLinenumber: 11831
    functionLinenumberEnd: 11845
    functionName: ProximitySensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ProximitySensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 298
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 305
    EdgeCount: 305
    ICount: 1186
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 20507
      start: 18725
    functionDepth: 0
    functionLinenumber: 18725
    functionLinenumberEnd: 20507
    functionName: BAP_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BAP_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 31196
      start: 31182
    functionDepth: 0
    functionLinenumber: 31182
    functionLinenumberEnd: 31196
    functionName: RadialGradient_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 RadialGradient_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1133
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1133
    functionName: AudioMix_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioMix_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10735
      start: 10721
    functionDepth: 0
    functionLinenumber: 10721
    functionLinenumberEnd: 10735
    functionName: PlaneSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PlaneSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11862
      start: 11847
    functionDepth: 0
    functionLinenumber: 11847
    functionLinenumberEnd: 11862
    functionName: ProximitySensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProximitySensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20514,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 300
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20816
      start: 20511
    functionDepth: 0
    functionLinenumber: 20511
    functionLinenumberEnd: 20816
    functionName: BAP_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BAP_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 31216
      start: 31198
    functionDepth: 0
    functionLinenumber: 31198
    functionLinenumberEnd: 31216
    functionName: RadialGradient_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RadialGradient_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14885
      start: 14867
    functionDepth: 0
    functionLinenumber: 14867
    functionLinenumberEnd: 14885
    functionName: Transform2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16168,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16157,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16162,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16163,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16169,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16174,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16175,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16180,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16181,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16186,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16210,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16204,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16187,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 16216
      start: 16150
    functionDepth: 0
    functionLinenumber: 16150
    functionLinenumberEnd: 16216
    functionName: AcousticMaterial_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AcousticMaterial_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 32603
      start: 32589
    functionDepth: 0
    functionLinenumber: 32589
    functionLinenumberEnd: 32603
    functionName: AdvancedAudioBuffer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AdvancedAudioBuffer_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5345,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5346,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5347,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5350
      start: 5343
    functionDepth: 0
    functionLinenumber: 5343
    functionLinenumberEnd: 5350
    functionName: FaceDefMesh_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FaceDefMesh_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 5696
      start: 5681
    functionDepth: 0
    functionLinenumber: 5681
    functionLinenumberEnd: 5696
    functionName: FAP_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FAP_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11763
      start: 11709
    functionDepth: 0
    functionLinenumber: 11709
    functionLinenumberEnd: 11763
    functionName: ProximitySensor2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProximitySensor2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 32623
      start: 32605
    functionDepth: 0
    functionLinenumber: 32605
    functionLinenumberEnd: 32623
    functionName: AdvancedAudioBuffer_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AdvancedAudioBuffer_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 70
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 276
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6113
      start: 5697
    functionDepth: 0
    functionLinenumber: 5697
    functionLinenumberEnd: 6113
    functionName: FAP_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FAP_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 5369
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5369
    functionName: FaceDefMesh_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FaceDefMesh_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11768,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11770,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11777
      start: 11766
    functionDepth: 0
    functionLinenumber: 11766
    functionLinenumberEnd: 11777
    functionName: ProximitySensor2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ProximitySensor2D_get_field_index_by_name(char *name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14945
      start: 14886
    functionDepth: 0
    functionLinenumber: 14886
    functionLinenumberEnd: 14945
    functionName: Transform2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16230,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16232,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16234,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16243,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16245,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16239,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16236,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16238,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16246,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16240,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16248,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16223,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16229,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16231,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16233,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16249,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16251,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16228,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16225,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16235,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16237,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16253
      start: 16220
    functionDepth: 0
    functionLinenumber: 16220
    functionLinenumberEnd: 16253
    functionName: AcousticMaterial_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AcousticMaterial_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3722
      start: 3691
    functionDepth: 0
    functionLinenumber: 3691
    functionLinenumberEnd: 3722
    functionName: CoordinateInterpolator2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15653
      start: 15649
    functionDepth: 0
    functionLinenumber: 15649
    functionLinenumberEnd: 15653
    functionName: VisibilitySensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void VisibilitySensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21842,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21843,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21844,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21846
      start: 21839
    functionDepth: 0
    functionLinenumber: 21839
    functionLinenumberEnd: 21846
    functionName: PerceptualParameters_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PerceptualParameters_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3727,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3730,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3729,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3732
      start: 3725
    functionDepth: 0
    functionLinenumber: 3725
    functionLinenumberEnd: 3732
    functionName: CoordinateInterpolator2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateInterpolator2D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14541
      start: 14527
    functionDepth: 0
    functionLinenumber: 14527
    functionLinenumberEnd: 14541
    functionName: TouchSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TouchSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7486,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7488
      start: 7483
    functionDepth: 0
    functionLinenumber: 7483
    functionLinenumberEnd: 7488
    functionName: Group_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Group_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7467,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7474,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7470,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7473,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7476
      start: 7464
    functionDepth: 0
    functionLinenumber: 7464
    functionLinenumberEnd: 7476
    functionName: Form_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Form_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 27240
      start: 27226
    functionDepth: 0
    functionLinenumber: 27226
    functionLinenumberEnd: 27240
    functionName: PositionInterpolator4D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionInterpolator4D_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33077
      start: 32934
    functionDepth: 0
    functionLinenumber: 32934
    functionLinenumberEnd: 33077
    functionName: AudioChannelConfig_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioChannelConfig_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33458
      start: 33426
    functionDepth: 0
    functionLinenumber: 33426
    functionLinenumberEnd: 33458
    functionName: MorphShape_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MorphShape_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: AudioDelay_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioDelay_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 15082
      start: 15067
    functionDepth: 0
    functionLinenumber: 15067
    functionLinenumberEnd: 15082
    functionName: Valuator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Valuator_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33464,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33465,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33468
      start: 33461
    functionDepth: 0
    functionLinenumber: 33461
    functionLinenumberEnd: 33468
    functionName: MorphShape_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MorphShape_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 27257
      start: 27242
    functionDepth: 0
    functionLinenumber: 27242
    functionLinenumberEnd: 27257
    functionName: PositionInterpolator4D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator4D_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33082,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33083,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33087,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33091,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33086,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33090,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33096,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33085,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33089,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33093,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33103,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33084,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33088,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33094,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33092,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33102,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33105
      start: 33080
    functionDepth: 0
    functionLinenumber: 33080
    functionLinenumberEnd: 33105
    functionName: AudioChannelConfig_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioChannelConfig_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: AudioDelay_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioDelay_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 876
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 876
    functionName: AudioDelay_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioDelay_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 182
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15351
      start: 15083
    functionDepth: 0
    functionLinenumber: 15083
    functionLinenumberEnd: 15351
    functionName: Valuator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Valuator_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 15674
      start: 15660
    functionDepth: 0
    functionLinenumber: 15660
    functionLinenumberEnd: 15674
    functionName: VisibilitySensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 VisibilitySensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10644
      start: 10629
    functionDepth: 0
    functionLinenumber: 10629
    functionLinenumberEnd: 10644
    functionName: PixelTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PixelTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10669
      start: 10645
    functionDepth: 0
    functionLinenumber: 10645
    functionLinenumberEnd: 10669
    functionName: PixelTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PixelTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4821
      start: 4779
    functionDepth: 0
    functionLinenumber: 4779
    functionLinenumberEnd: 4821
    functionName: Expression_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Expression_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9768,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9775,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9774,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9769,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9780
      start: 9762
    functionDepth: 0
    functionLinenumber: 9762
    functionLinenumberEnd: 9780
    functionName: Material2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Material2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24547,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24555,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24560,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24548,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24554,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24561,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24566
      start: 24541
    functionDepth: 0
    functionLinenumber: 24541
    functionLinenumberEnd: 24566
    functionName: XXLFM_LightMap_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_LightMap_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26626
      start: 26596
    functionDepth: 0
    functionLinenumber: 26596
    functionLinenumberEnd: 26626
    functionName: XXPointAttractor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXPointAttractor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35168,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35170
      start: 35165
    functionDepth: 0
    functionLinenumber: 35165
    functionLinenumberEnd: 35170
    functionName: FootPrintSetNode_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FootPrintSetNode_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4826,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4831,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4833
      start: 4824
    functionDepth: 0
    functionLinenumber: 4824
    functionLinenumberEnd: 4833
    functionName: Expression_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Expression_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9787,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9789,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9794,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9792,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9793,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9797
      start: 9784
    functionDepth: 0
    functionLinenumber: 9784
    functionLinenumberEnd: 9797
    functionName: Material2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Material2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24573,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24575,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24578,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24580,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24579,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24582,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24583,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24586
      start: 24570
    functionDepth: 0
    functionLinenumber: 24570
    functionLinenumberEnd: 24586
    functionName: XXLFM_LightMap_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_LightMap_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26631,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26634,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26633,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26636
      start: 26629
    functionDepth: 0
    functionLinenumber: 26629
    functionLinenumberEnd: 26636
    functionName: XXPointAttractor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXPointAttractor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 31791
      start: 31777
    functionDepth: 0
    functionLinenumber: 31777
    functionLinenumberEnd: 31791
    functionName: Viewport_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Viewport_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35143,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35145,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35153,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35152,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35151,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35158
      start: 35140
    functionDepth: 0
    functionLinenumber: 35140
    functionLinenumberEnd: 35158
    functionName: MusicScore_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MusicScore_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2475,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2474,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2478
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2478
    functionName: Collision_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Collision_get_field_index_by_name(char *name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3030
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 3030
    functionName: CompositeTexture3D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CompositeTexture3D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30115,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30118,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30117,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 30120
      start: 30113
    functionDepth: 0
    functionLinenumber: 30113
    functionLinenumberEnd: 30120
    functionName: WaveletSubdivisionSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 WaveletSubdivisionSurface_get_field_index_by_name(char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2485
    functionName: Collision_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Collision_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3035,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3039,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3038,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3037,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3036,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3040,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3041,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3042,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3043,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3044,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3045,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3047
    functionName: CompositeTexture3D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CompositeTexture3D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5415
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5415
    functionName: FaceDefTables_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FaceDefTables_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30127
      start: 30121
    functionDepth: 0
    functionLinenumber: 30121
    functionLinenumberEnd: 30127
    functionName: WaveletSubdivisionSurface_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool WaveletSubdivisionSurface_get_aq_info(GF_Node *n, u32
      FieldIndex, u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1584,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1592,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1591,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1598,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1585,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1604
    functionName: AudioSwitch_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioSwitch_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8864
      start: 8846
    functionDepth: 0
    functionLinenumber: 8846
    functionLinenumberEnd: 8864
    functionName: Layer3D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layer3D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9440
      start: 9391
    functionDepth: 0
    functionLinenumber: 9391
    functionLinenumberEnd: 9440
    functionName: ListeningPoint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ListeningPoint_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23555,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23567
      start: 23549
    functionDepth: 0
    functionLinenumber: 23549
    functionLinenumberEnd: 23567
    functionName: CoordinateInterpolator4D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CoordinateInterpolator4D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24473
      start: 24459
    functionDepth: 0
    functionLinenumber: 24459
    functionLinenumberEnd: 24473
    functionName: XXLFM_LightMap_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_LightMap_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25416
      start: 25360
    functionDepth: 0
    functionLinenumber: 25360
    functionLinenumberEnd: 25416
    functionName: NurbsCurve_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34733,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34735,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 34736
      start: 34730
    functionDepth: 0
    functionLinenumber: 34730
    functionLinenumberEnd: 34736
    functionName: ScoreShape_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ScoreShape_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1611,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1614,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1619
    functionName: AudioSwitch_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioSwitch_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8928
      start: 8865
    functionDepth: 0
    functionLinenumber: 8865
    functionLinenumberEnd: 8928
    functionName: Layer3D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layer3D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9445,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9447,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9446,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9448,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9449,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9450,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9453
      start: 9443
    functionDepth: 0
    functionLinenumber: 9443
    functionLinenumberEnd: 9453
    functionName: ListeningPoint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ListeningPoint_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23574,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23580
      start: 23571
    functionDepth: 0
    functionLinenumber: 23571
    functionLinenumberEnd: 23580
    functionName: CoordinateInterpolator4D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CoordinateInterpolator4D_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24490
      start: 24475
    functionDepth: 0
    functionLinenumber: 24475
    functionLinenumberEnd: 24490
    functionName: XXLFM_LightMap_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_LightMap_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25421,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25422,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25423,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25425,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25424,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25426,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25427,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25430
      start: 25419
    functionDepth: 0
    functionLinenumber: 25419
    functionLinenumberEnd: 25430
    functionName: NurbsCurve_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsCurve_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22232
      start: 22218
    functionDepth: 0
    functionLinenumber: 22218
    functionLinenumberEnd: 22232
    functionName: TemporalTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TemporalTransform_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28387,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28389,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28388,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28390,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28391,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28394
      start: 28385
    functionDepth: 0
    functionLinenumber: 28385
    functionLinenumberEnd: 28394
    functionName: SBMuscle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBMuscle_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32045,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32053,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32046,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32052,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 32058
      start: 32039
    functionDepth: 0
    functionLinenumber: 32039
    functionLinenumberEnd: 32058
    functionName: XCurve2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XCurve2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22252
      start: 22234
    functionDepth: 0
    functionLinenumber: 22234
    functionLinenumberEnd: 22252
    functionName: TemporalTransform_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TemporalTransform_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28402,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28409,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28419,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28410,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28403,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 28425
      start: 28395
    functionDepth: 0
    functionLinenumber: 28395
    functionLinenumberEnd: 28425
    functionName: SBMuscle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBMuscle_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32065,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32067,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32072
      start: 32062
    functionDepth: 0
    functionLinenumber: 32062
    functionLinenumberEnd: 32072
    functionName: XCurve2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XCurve2D_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11285
      start: 11265
    functionDepth: 0
    functionLinenumber: 11265
    functionLinenumberEnd: 11285
    functionName: PointSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointSet_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24181
      start: 24147
    functionDepth: 0
    functionLinenumber: 24147
    functionLinenumberEnd: 24181
    functionName: XXLFM_Appearance_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_Appearance_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33653,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33657,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33655,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33654,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33656,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33659
      start: 33650
    functionDepth: 0
    functionLinenumber: 33650
    functionLinenumberEnd: 33659
    functionName: PointTextureV2_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfcolor_del
    - gf_sg_mfint32_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointTextureV2_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11290,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11293
      start: 11288
    functionDepth: 0
    functionLinenumber: 11288
    functionLinenumberEnd: 11293
    functionName: PointSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointSet_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24186,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24188,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24187,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24191
      start: 24184
    functionDepth: 0
    functionLinenumber: 24184
    functionLinenumberEnd: 24191
    functionName: XXLFM_Appearance_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_Appearance_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29589
      start: 29575
    functionDepth: 0
    functionLinenumber: 29575
    functionLinenumberEnd: 29589
    functionName: SubdivisionSurface_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SubdivisionSurface_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34297
      start: 34283
    functionDepth: 0
    functionLinenumber: 34283
    functionLinenumberEnd: 34297
    functionName: Transform3DAudio_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Transform3DAudio_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3927
      start: 3918
    functionDepth: 0
    functionLinenumber: 3918
    functionLinenumberEnd: 3927
    functionName: Cylinder_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cylinder_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22909
      start: 22858
    functionDepth: 0
    functionLinenumber: 22858
    functionLinenumberEnd: 22909
    functionName: MatteTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MatteTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 33677
      start: 33663
    functionDepth: 0
    functionLinenumber: 33663
    functionLinenumberEnd: 33677
    functionName: PointTextureV2_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointTextureV2_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35228
      start: 35224
    functionDepth: 0
    functionLinenumber: 35224
    functionLinenumberEnd: 35228
    functionName: FootPrintSetNode_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FootPrintSetNode_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3964
      start: 3928
    functionDepth: 0
    functionLinenumber: 3928
    functionLinenumberEnd: 3964
    functionName: Cylinder_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cylinder_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22914,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22918,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22917,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22916,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22915,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22919,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22920,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22922
      start: 22912
    functionDepth: 0
    functionLinenumber: 22912
    functionLinenumberEnd: 22922
    functionName: MatteTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MatteTexture_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 33688
      start: 33679
    functionDepth: 0
    functionLinenumber: 33679
    functionLinenumberEnd: 33688
    functionName: PointTextureV2_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointTextureV2_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35235
      start: 35229
    functionDepth: 0
    functionLinenumber: 35229
    functionLinenumberEnd: 35235
    functionName: FootPrintSetNode_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FootPrintSetNode_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: AnimationStream_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AnimationStream_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2360,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2362,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2367
    functionName: Circle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Circle_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4275
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4275
    functionName: DirectionalLight_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectionalLight_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7595,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7597
      start: 7592
    functionDepth: 0
    functionLinenumber: 7592
    functionLinenumberEnd: 7597
    functionName: ImageTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ImageTexture_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11671
      start: 11667
    functionDepth: 0
    functionLinenumber: 11667
    functionLinenumberEnd: 11671
    functionName: ProximitySensor2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ProximitySensor2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12879,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12880,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12882
      start: 12876
    functionDepth: 0
    functionLinenumber: 12876
    functionLinenumberEnd: 12882
    functionName: Shape_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Shape_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25923,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25925,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25924,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 25927
      start: 25920
    functionDepth: 0
    functionLinenumber: 25920
    functionLinenumberEnd: 25927
    functionName: OctreeImage_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfint32_del
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void OctreeImage_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16355,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16359,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16358,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16357,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16356,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 16362
      start: 16353
    functionDepth: 0
    functionLinenumber: 16353
    functionLinenumberEnd: 16362
    functionName: AcousticScene_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AcousticScene_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 279
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 279
    functionName: AnimationStream_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AnimationStream_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4280,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4284,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4283,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4282,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4286
      start: 4278
    functionDepth: 0
    functionLinenumber: 4278
    functionLinenumberEnd: 4286
    functionName: DirectionalLight_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DirectionalLight_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6833
      start: 6819
    functionDepth: 0
    functionLinenumber: 6819
    functionLinenumberEnd: 6833
    functionName: FIT_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FIT_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 12856
      start: 12850
    functionDepth: 0
    functionLinenumber: 12850
    functionLinenumberEnd: 12856
    functionName: Script_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Script_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16381,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16399,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16393,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16387,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 16405
      start: 16363
    functionDepth: 0
    functionLinenumber: 16363
    functionLinenumberEnd: 16405
    functionName: AcousticScene_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AcousticScene_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27639,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27660,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27665,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27689,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27676,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27693,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27664,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27697,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27694,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27699,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27680,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27696,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27673,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27651,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27636,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27638,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27642,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27644,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27645,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27646,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27652,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27653,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27654,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27647,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27666,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27675,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27690,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27698,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27700,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27679,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27650,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27692,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27631,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27641,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27683,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27686,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27691,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27695,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27678,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27671,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27649,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27682,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27688,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27633,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27640,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27656,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27658,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27659,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27662,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27668,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27669,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27670,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27677,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27655,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27648,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27681,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27707
      start: 27628
    functionDepth: 0
    functionLinenumber: 27628
    functionLinenumberEnd: 27707
    functionName: ProceduralTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ProceduralTexture_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7578,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7581,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7585
      start: 7575
    functionDepth: 0
    functionLinenumber: 7575
    functionLinenumberEnd: 7585
    functionName: Group_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Group_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12863,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12869
      start: 12860
    functionDepth: 0
    functionLinenumber: 12860
    functionLinenumberEnd: 12869
    functionName: Script_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Script_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30014,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30021,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30019,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30016,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30020,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30022,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30023,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30029
      start: 30011
    functionDepth: 0
    functionLinenumber: 30011
    functionLinenumberEnd: 30029
    functionName: SubdivSurfaceSector_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SubdivSurfaceSector_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30277,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30279,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30285
      start: 30274
    functionDepth: 0
    functionLinenumber: 30274
    functionLinenumberEnd: 30285
    functionName: Clipper2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Clipper2D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2377,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2378,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2380
    functionName: Collision_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Collision_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1564
    functionName: AudioSwitch_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioSwitch_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12551
      start: 12547
    functionDepth: 0
    functionLinenumber: 12547
    functionLinenumberEnd: 12551
    functionName: Rectangle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Rectangle_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 25945
      start: 25931
    functionDepth: 0
    functionLinenumber: 25931
    functionLinenumberEnd: 25945
    functionName: OctreeImage_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 OctreeImage_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30689
      start: 30685
    functionDepth: 0
    functionLinenumber: 30685
    functionLinenumberEnd: 30689
    functionName: Ellipse_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Ellipse_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26282
      start: 26276
    functionDepth: 0
    functionLinenumber: 26276
    functionLinenumberEnd: 26282
    functionName: XXParticles_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXParticles_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1569,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1570,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1571,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1573,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1572,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1576
    functionName: AudioSwitch_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioSwitch_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 25956
      start: 25947
    functionDepth: 0
    functionLinenumber: 25947
    functionLinenumberEnd: 25956
    functionName: OctreeImage_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OctreeImage_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26295,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26313,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26315,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26322,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26325,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26328,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26324,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26319,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26289,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26297,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26299,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26301,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26307,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26305,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26303,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26311,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26317,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26294,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26291,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26314,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26316,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26329,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26327,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26296,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26298,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26310,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26302,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26308,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26318,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26331
      start: 26286
    functionDepth: 0
    functionLinenumber: 26286
    functionLinenumberEnd: 26331
    functionName: XXParticles_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXParticles_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1212,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1216,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1215,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1214,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1213,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1217,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1220
    functionName: AudioMix_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioMix_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 20949
      start: 20935
    functionDepth: 0
    functionLinenumber: 20935
    functionLinenumberEnd: 20949
    functionName: Body_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Body_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1228,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1229,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1234,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1241,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1235,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1242,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1248,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1254
    functionName: AudioMix_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioMix_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 20966
      start: 20951
    functionDepth: 0
    functionLinenumber: 20951
    functionLinenumberEnd: 20966
    functionName: Body_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Body_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29455
      start: 29441
    functionDepth: 0
    functionLinenumber: 29441
    functionLinenumberEnd: 29455
    functionName: SolidRep_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SolidRep_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23691
      start: 23685
    functionDepth: 0
    functionLinenumber: 23685
    functionLinenumberEnd: 23691
    functionName: DepthImage_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DepthImage_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25864,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25865,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25872,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25878,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25871,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25879,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25885,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25886,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 25891
      start: 25843
    functionDepth: 0
    functionLinenumber: 25843
    functionLinenumberEnd: 25891
    functionName: NurbsSurface_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NurbsSurface_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23698,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23704,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23705,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23703,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23700,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23706,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23707,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23708,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23709,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23710,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23713,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23712,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23716
      start: 23695
    functionDepth: 0
    functionLinenumber: 23695
    functionLinenumberEnd: 23716
    functionName: DepthImage_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *DepthImage_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25898,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25913
      start: 25895
    functionDepth: 0
    functionLinenumber: 25895
    functionLinenumberEnd: 25913
    functionName: NurbsSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NurbsSurface_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31878,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31882,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31881,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31880,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31879,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31883,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31884,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31885,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31886,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31888
      start: 31876
    functionDepth: 0
    functionLinenumber: 31876
    functionLinenumberEnd: 31888
    functionName: Viewport_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Viewport_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3369
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3369
    functionName: Coordinate_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10752
      start: 10737
    functionDepth: 0
    functionLinenumber: 10737
    functionLinenumberEnd: 10752
    functionName: PlaneSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PlaneSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22564
      start: 22552
    functionDepth: 0
    functionLinenumber: 22552
    functionLinenumberEnd: 22564
    functionName: TemporalGroup_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TemporalGroup_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31907,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31908,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31915,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31921,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31914,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31922,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 31927
      start: 31889
    functionDepth: 0
    functionLinenumber: 31889
    functionLinenumberEnd: 31927
    functionName: Viewport_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Viewport_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3382
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3382
    functionName: Coordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10807
      start: 10753
    functionDepth: 0
    functionLinenumber: 10753
    functionLinenumberEnd: 10807
    functionName: PlaneSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PlaneSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21581
      start: 21567
    functionDepth: 0
    functionLinenumber: 21567
    functionLinenumberEnd: 21581
    functionName: Hierarchical3DMesh_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Hierarchical3DMesh_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22571,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22573,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22579
      start: 22568
    functionDepth: 0
    functionLinenumber: 22568
    functionLinenumberEnd: 22579
    functionName: TemporalGroup_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TemporalGroup_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6787,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6793
      start: 6784
    functionDepth: 0
    functionLinenumber: 6784
    functionLinenumberEnd: 6793
    functionName: FDP_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FDP_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23944,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23946,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23957
      start: 23941
    functionDepth: 0
    functionLinenumber: 23941
    functionLinenumberEnd: 23957
    functionName: FFD_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FFD_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25291,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25296,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25298,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25293,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25297,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25302
      start: 25288
    functionDepth: 0
    functionLinenumber: 25288
    functionLinenumberEnd: 25302
    functionName: NonLinearDeformer_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NonLinearDeformer_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: AudioBuffer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioBuffer_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7145,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7149,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7148,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7146,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7150
      start: 7142
    functionDepth: 0
    functionLinenumber: 7142
    functionLinenumberEnd: 7150
    functionName: FontStyle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void FontStyle_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22724
      start: 22710
    functionDepth: 0
    functionLinenumber: 22710
    functionLinenumberEnd: 22724
    functionName: InputSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 InputSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: AudioBuffer_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioBuffer_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22741
      start: 22726
    functionDepth: 0
    functionLinenumber: 22726
    functionLinenumberEnd: 22741
    functionName: InputSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err InputSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24885
      start: 24871
    functionDepth: 0
    functionLinenumber: 24871
    functionLinenumberEnd: 24885
    functionName: MeshGrid_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MeshGrid_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6803,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6806,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6805,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6807,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6804,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6808,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6809,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6810,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6811,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6813
      start: 6800
    functionDepth: 0
    functionLinenumber: 6800
    functionLinenumberEnd: 6813
    functionName: FIT_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void FIT_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23967,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23968,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23970
      start: 23964
    functionDepth: 0
    functionLinenumber: 23964
    functionLinenumberEnd: 23970
    functionName: Implicit_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void Implicit_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25312,1
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25314,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25315,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25316,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25313,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 25318
      start: 25309
    functionDepth: 0
    functionLinenumber: 25309
    functionLinenumberEnd: 25318
    functionName: NurbsCurve_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec4f_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsCurve_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9991
      start: 9977
    functionDepth: 0
    functionLinenumber: 9977
    functionLinenumberEnd: 9991
    functionName: NavigationInfo_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NavigationInfo_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10439,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10442,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10441,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10444
      start: 10437
    functionDepth: 0
    functionLinenumber: 10437
    functionLinenumberEnd: 10444
    functionName: OrderedGroup_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 OrderedGroup_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26578
      start: 26564
    functionDepth: 0
    functionLinenumber: 26564
    functionLinenumberEnd: 26578
    functionName: XXPointAttractor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXPointAttractor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10011
      start: 9993
    functionDepth: 0
    functionLinenumber: 9993
    functionLinenumberEnd: 10011
    functionName: NavigationInfo_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NavigationInfo_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10457
      start: 10445
    functionDepth: 0
    functionLinenumber: 10445
    functionLinenumberEnd: 10457
    functionName: OrderedGroup_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OrderedGroup_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26595
      start: 26580
    functionDepth: 0
    functionLinenumber: 26580
    functionLinenumberEnd: 26595
    functionName: XXPointAttractor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXPointAttractor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25168,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25178
      start: 25165
    functionDepth: 0
    functionLinenumber: 25165
    functionLinenumberEnd: 25178
    functionName: MeshGrid_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MeshGrid_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9259
      start: 9241
    functionDepth: 0
    functionLinenumber: 9241
    functionLinenumberEnd: 9259
    functionName: LineProperties_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LineProperties_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24388
      start: 24370
    functionDepth: 0
    functionLinenumber: 24370
    functionLinenumberEnd: 24388
    functionName: XXLFM_FrameList_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_FrameList_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9284
      start: 9260
    functionDepth: 0
    functionLinenumber: 9260
    functionLinenumberEnd: 9284
    functionName: LineProperties_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LineProperties_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24393,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24396
      start: 24391
    functionDepth: 0
    functionLinenumber: 24391
    functionLinenumberEnd: 24396
    functionName: XXLFM_FrameList_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_FrameList_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25188,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25190,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 25191
      start: 25185
    functionDepth: 0
    functionLinenumber: 25185
    functionLinenumberEnd: 25191
    functionName: NonLinearDeformer_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NonLinearDeformer_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7525
      start: 7510
    functionDepth: 0
    functionLinenumber: 7510
    functionLinenumberEnd: 7525
    functionName: Group_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Group_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14081,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14084,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14083,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14086
      start: 14079
    functionDepth: 0
    functionLinenumber: 14079
    functionLinenumberEnd: 14086
    functionName: Text_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Text_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7555
      start: 7526
    functionDepth: 0
    functionLinenumber: 7526
    functionLinenumberEnd: 7555
    functionName: Group_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Group_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14093,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14099,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14105
      start: 14087
    functionDepth: 0
    functionLinenumber: 14087
    functionLinenumberEnd: 14105
    functionName: Text_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Text_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 36042
      start: 36028
    functionDepth: 0
    functionLinenumber: 36028
    functionLinenumberEnd: 36042
    functionName: CacheTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CacheTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35666,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35663,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35659,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35664,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35667,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35670,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35671,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35673,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35676
      start: 35654
    functionDepth: 0
    functionLinenumber: 35654
    functionLinenumberEnd: 35676
    functionName: RoofNode_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *RoofNode_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7346
      start: 7332
    functionDepth: 0
    functionLinenumber: 7332
    functionLinenumberEnd: 7346
    functionName: Form_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Form_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24221,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24222,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24224
      start: 24218
    functionDepth: 0
    functionLinenumber: 24218
    functionLinenumberEnd: 24224
    functionName: XXLFM_BlendList_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_BlendList_Del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8094,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8096,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8102,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8103,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8106
      start: 8092
    functionDepth: 0
    functionLinenumber: 8092
    functionLinenumberEnd: 8106
    functionName: IndexedFaceSet2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedFaceSet2D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 16307
      start: 16289
    functionDepth: 0
    functionLinenumber: 16289
    functionLinenumberEnd: 16307
    functionName: AcousticScene_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AcousticScene_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21212
      start: 21198
    functionDepth: 0
    functionLinenumber: 21198
    functionLinenumberEnd: 21212
    functionName: BodySegmentConnectionHint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BodySegmentConnectionHint_get_field_count(GF_Node *node,
      u8 IndexMode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21451,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21455,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21454,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21453,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21452,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21456,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21457,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21458,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21459,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21460,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21461,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21465
      start: 21449
    functionDepth: 0
    functionLinenumber: 21449
    functionLinenumberEnd: 21465
    functionName: DirectiveSound_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DirectiveSound_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8113,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8125,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8131
      start: 8107
    functionDepth: 0
    functionLinenumber: 8107
    functionLinenumberEnd: 8131
    functionName: IndexedFaceSet2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IndexedFaceSet2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 16350
      start: 16308
    functionDepth: 0
    functionLinenumber: 16308
    functionLinenumberEnd: 16350
    functionName: AcousticScene_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AcousticScene_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21229
      start: 21214
    functionDepth: 0
    functionLinenumber: 21214
    functionLinenumberEnd: 21229
    functionName: BodySegmentConnectionHint_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BodySegmentConnectionHint_get_field_index(GF_Node *n,
      u32 inField, u8 IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21478,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21496,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21497,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21508,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21502,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21514,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21520
      start: 21466
    functionDepth: 0
    functionLinenumber: 21466
    functionLinenumberEnd: 21520
    functionName: DirectiveSound_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DirectiveSound_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35686,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35689,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35687,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35688,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35691
      start: 35683
    functionDepth: 0
    functionLinenumber: 35683
    functionLinenumberEnd: 35691
    functionName: FacadeNode_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfurl_del
    - gf_node_unregister_children
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FacadeNode_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21887
      start: 21869
    functionDepth: 0
    functionLinenumber: 21869
    functionLinenumberEnd: 21887
    functionName: PerceptualParameters_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PerceptualParameters_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24129
      start: 24115
    functionDepth: 0
    functionLinenumber: 24115
    functionLinenumberEnd: 24129
    functionName: XXLFM_Appearance_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_Appearance_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30770,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30775,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30776,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30778
      start: 30767
    functionDepth: 0
    functionLinenumber: 30767
    functionLinenumberEnd: 30778
    functionName: Ellipse_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Ellipse_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13307,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13313,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13312,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13317
      start: 13304
    functionDepth: 0
    functionLinenumber: 13304
    functionLinenumberEnd: 13317
    functionName: Sound2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Sound2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13377
      start: 13373
    functionDepth: 0
    functionLinenumber: 13373
    functionLinenumberEnd: 13377
    functionName: Sphere_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Sphere_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13390
      start: 13378
    functionDepth: 0
    functionLinenumber: 13378
    functionLinenumberEnd: 13390
    functionName: Sphere_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Sphere_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22008
      start: 21888
    functionDepth: 0
    functionLinenumber: 21888
    functionLinenumberEnd: 22008
    functionName: PerceptualParameters_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PerceptualParameters_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24146
      start: 24131
    functionDepth: 0
    functionLinenumber: 24131
    functionLinenumberEnd: 24146
    functionName: XXLFM_Appearance_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_Appearance_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10358,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10359,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10361
      start: 10355
    functionDepth: 0
    functionLinenumber: 10355
    functionLinenumberEnd: 10361
    functionName: OrderedGroup_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void OrderedGroup_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10342,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10348
      start: 10339
    functionDepth: 0
    functionLinenumber: 10339
    functionLinenumberEnd: 10348
    functionName: NormalInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NormalInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13328
      start: 13324
    functionDepth: 0
    functionLinenumber: 13324
    functionLinenumberEnd: 13328
    functionName: Sphere_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Sphere_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30788,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30792,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30789,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30791,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30793
      start: 30785
    functionDepth: 0
    functionLinenumber: 30785
    functionLinenumberEnd: 30793
    functionName: LinearGradient_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void LinearGradient_Del(GF_Node *node) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26921
      start: 26836
    functionDepth: 0
    functionLinenumber: 26836
    functionLinenumberEnd: 26921
    functionName: PositionAnimator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionAnimator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 15963
      start: 15954
    functionDepth: 0
    functionLinenumber: 15954
    functionLinenumberEnd: 15963
    functionName: WorldInfo_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WorldInfo_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23489
      start: 23475
    functionDepth: 0
    functionLinenumber: 23475
    functionLinenumberEnd: 23489
    functionName: CoordinateInterpolator4D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateInterpolator4D_get_field_count(GF_Node *node,
      u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7170
      start: 7156
    functionDepth: 0
    functionLinenumber: 7156
    functionLinenumberEnd: 7170
    functionName: FontStyle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FontStyle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3501
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3501
    functionName: Coordinate2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Coordinate2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9175,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9161,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9180
      start: 9149
    functionDepth: 0
    functionLinenumber: 9149
    functionLinenumberEnd: 9180
    functionName: Layout_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Layout_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13776,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13778
      start: 13773
    functionDepth: 0
    functionLinenumber: 13773
    functionLinenumberEnd: 13778
    functionName: Switch_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void Switch_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27217,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27219,1
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 27220
      start: 27214
    functionDepth: 0
    functionLinenumber: 27214
    functionLinenumberEnd: 27220
    functionName: PositionInterpolator4D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec4f_del
    linkageType: ''
    returnType: void
    signature: 'static void PositionInterpolator4D_Del(GF_Node *node) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26926,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26928,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26927,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26930,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26929,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26931,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26932,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26933,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26934,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26935,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26936,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26937,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26938,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26940
      start: 26924
    functionDepth: 0
    functionLinenumber: 26924
    functionLinenumberEnd: 26940
    functionName: PositionAnimator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionAnimator_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23506
      start: 23491
    functionDepth: 0
    functionLinenumber: 23491
    functionLinenumberEnd: 23506
    functionName: CoordinateInterpolator4D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator4D_get_field_index(GF_Node *n,
      u32 inField, u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7187
      start: 7172
    functionDepth: 0
    functionLinenumber: 7172
    functionLinenumberEnd: 7187
    functionName: FontStyle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FontStyle_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3508,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3505
    functionDepth: 0
    functionLinenumber: 3505
    functionLinenumberEnd: 3514
    functionName: Coordinate2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Coordinate2D_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8183
      start: 8169
    functionDepth: 0
    functionLinenumber: 8169
    functionLinenumberEnd: 8183
    functionName: IndexedLineSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedLineSet_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8336
      start: 8322
    functionDepth: 0
    functionLinenumber: 8322
    functionLinenumberEnd: 8336
    functionName: IndexedLineSet2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedLineSet2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9187,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9194,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9190,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9189,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9193,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9196,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9198,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9199,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9207
      start: 9184
    functionDepth: 0
    functionLinenumber: 9184
    functionLinenumberEnd: 9207
    functionName: Layout_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Layout_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15982
      start: 15964
    functionDepth: 0
    functionLinenumber: 15964
    functionLinenumberEnd: 15982
    functionName: WorldInfo_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WorldInfo_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 33835
      start: 33821
    functionDepth: 0
    functionLinenumber: 33821
    functionLinenumberEnd: 33835
    functionName: SBVCAnimationV2_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBVCAnimationV2_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: AudioFX_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40028,1
    - Dst: Cone_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40060,1
    - Dst: Cylinder_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40072,1
    - Dst: Form_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40104,1
    - Dst: IndexedLineSet2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40116,1
    - Dst: PixelTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40148,1
    - Dst: Valuator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40209,1
    - Dst: AcousticScene_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40221,1
    - Dst: MediaBuffer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40253,1
    - Dst: FFD_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40265,1
    - Dst: EnvironmentTest_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40401,1
    - Dst: FIT_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40098,1
    - Dst: AudioBuffer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40022,1
    - Dst: CompositeTexture2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40054,1
    - Dst: CoordinateInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40066,1
    - Dst: NormalInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40142,1
    - Dst: TouchSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40203,1
    - Dst: Viseme_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40215,1
    - Dst: ServerCommand_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40247,1
    - Dst: OctreeImage_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40291,1
    - Dst: SBMuscle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40315,1
    - Dst: WideSound_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40381,1
    - Dst: PathLayout_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40345,1
    - Dst: MovieTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40136,1
    - Dst: Collision_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40048,1
    - Dst: FaceDefTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40092,1
    - Dst: TextureCoordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40197,1
    - Dst: PerceptualParameters_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40241,1
    - Dst: NurbsCurve_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40285,1
    - Dst: SolidRep_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40329,1
    - Dst: SBVCAnimationV2_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40373,1
    - Dst: SpacePartition_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40405,1
    - Dst: AudioChannelConfig_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40363,1
    - Dst: PositionInterpolator2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40162,1
    - Dst: Anchor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40016,1
    - Dst: Bitmap_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40042,1
    - Dst: Face_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40086,1
    - Dst: ListeningPoint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40130,1
    - Dst: Script_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40176,1
    - Dst: Switch_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40191,1
    - Dst: DirectiveSound_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40235,1
    - Dst: XXLFM_ViewMapList_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40279,1
    - Dst: Quadric_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40311,1
    - Dst: PositionAnimator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40303,1
    - Dst: RoofNode_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40393,1
    - Dst: Background_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40036,1
    - Dst: ElevationGrid_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40080,1
    - Dst: PointSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40156,1
    - Dst: QuantizationParameter_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40168,1
    - Dst: IndexedFaceSet2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40112,1
    - Dst: Layer3D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40124,1
    - Dst: Sphere_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40185,1
    - Dst: Body_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40229,1
    - Dst: CoordinateInterpolator4D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40261,1
    - Dst: XXLFM_FrameList_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40273,1
    - Dst: SBSite_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40319,1
    - Dst: Shadow_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40397,1
    - Dst: AudioMix_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40030,1
    - Dst: Coordinate_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40062,1
    - Dst: CylinderSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40074,1
    - Dst: Group_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40106,1
    - Dst: Inline_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40118,1
    - Dst: PlaneSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40150,1
    - Dst: Shape_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40179,1
    - Dst: Viewpoint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40211,1
    - Dst: ApplicationWindow_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40223,1
    - Dst: MediaControl_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40255,1
    - Dst: SBVCAnimation_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40323,1
    - Dst: Fog_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40100,1
    - Dst: AudioClip_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40024,1
    - Dst: CompositeTexture3D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40056,1
    - Dst: CoordinateInterpolator2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40068,1
    - Dst: OrderedGroup_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40144,1
    - Dst: Transform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40205,1
    - Dst: WorldInfo_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40217,1
    - Dst: InputSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40249,1
    - Dst: XXParticles_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40293,1
    - Dst: Clipper2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40337,1
    - Dst: MorphShape_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40367,1
    - Dst: FootPrintSetNode_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40387,1
    - Dst: TransformMatrix2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40351,1
    - Dst: XXLFM_Appearance_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40269,1
    - Dst: NavigationInfo_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40138,1
    - Dst: AnimationStream_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40018,1
    - Dst: Color_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40050,1
    - Dst: FAP_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40094,1
    - Dst: TextureTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40199,1
    - Dst: TemporalTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40243,1
    - Dst: NurbsCurve2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40287,1
    - Dst: SubdivisionSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40331,1
    - Dst: SimpleTextureV2_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40375,1
    - Dst: Storage_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40407,1
    - Dst: SBBone_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40313,1
    - Dst: PointTextureV2_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40371,1
    - Dst: WaveletSubdivisionSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40335,1
    - Dst: XXPointAttractor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40299,1
    - Dst: Box_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40044,1
    - Dst: FaceDefMesh_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40088,1
    - Dst: Material_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40132,1
    - Dst: TermCap_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40193,1
    - Dst: Hierarchical3DMesh_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40237,1
    - Dst: MeshGrid_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40281,1
    - Dst: ScalarAnimator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40325,1
    - Dst: LinearGradient_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40343,1
    - Dst: XFontStyle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40357,1
    - Dst: MultiTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40369,1
    - Dst: PositionInterpolator4D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40307,1
    - Dst: Transform3DAudio_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40379,1
    - Dst: CacheTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40399,1
    - Dst: SBSegment_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40317,1
    - Dst: PointSet2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40158,1
    - Dst: Background2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40038,1
    - Dst: Expression_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40082,1
    - Dst: Layout_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40126,1
    - Dst: IndexedLineSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40114,1
    - Dst: Rectangle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40170,1
    - Dst: SphereSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40187,1
    - Dst: BodyDefTable_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40231,1
    - Dst: DepthImage_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40263,1
    - Dst: XXLFM_LightMap_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40275,1
    - Dst: AdvancedAudioBuffer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40361,1
    - Dst: ScoreShape_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40383,1
    - Dst: RadialGradient_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40347,1
    - Dst: KeyNavigator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40403,1
    - Dst: AudioSource_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40032,1
    - Dst: Coordinate2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40064,1
    - Dst: DirectionalLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40076,1
    - Dst: ImageTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40108,1
    - Dst: LOD_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40120,1
    - Dst: PlaneSensor2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40152,1
    - Dst: ProximitySensor2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40164,1
    - Dst: Sound_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40181,1
    - Dst: VisibilitySensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40213,1
    - Dst: BAP_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40225,1
    - Dst: XCurve2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40355,1
    - Dst: DepthImageV2_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40365,1
    - Dst: MediaSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40257,1
    - Dst: FontStyle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40102,1
    - Dst: OrientationInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40146,1
    - Dst: AudioDelay_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40026,1
    - Dst: Conditional_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40058,1
    - Dst: Curve2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40070,1
    - Dst: Transform2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40207,1
    - Dst: AcousticMaterial_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40219,1
    - Dst: MatteTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40251,1
    - Dst: XXParticleInitBox_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40295,1
    - Dst: ColorTransform_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40339,1
    - Dst: FacadeNode_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40395,1
    - Dst: PointTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40301,1
    - Dst: Appearance_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40020,1
    - Dst: ColorInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40052,1
    - Dst: FDP_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40096,1
    - Dst: Normal_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40140,1
    - Dst: TimeSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40201,1
    - Dst: TemporalGroup_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40245,1
    - Dst: NurbsSurface_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40289,1
    - Dst: SubdivSurfaceSector_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40333,1
    - Dst: SurroundingSound_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40377,1
    - Dst: Ellipse_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40341,1
    - Dst: PositionAnimator2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40305,1
    - Dst: BuildingPartNode_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40391,1
    - Dst: Material2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40134,1
    - Dst: Circle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40046,1
    - Dst: FaceDefTables_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40090,1
    - Dst: Text_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40195,1
    - Dst: MaterialKey_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40239,1
    - Dst: NonLinearDeformer_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40283,1
    - Dst: Implicit_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40267,1
    - Dst: SimpleTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40327,1
    - Dst: SynthesizedTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40349,1
    - Dst: XLineProperties_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40359,1
    - Dst: MusicScore_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40385,1
    - Dst: SBSkinnedModel_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40321,1
    - Dst: PositionInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40160,1
    - Dst: Billboard_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40040,1
    - Dst: Extrusion_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40084,1
    - Dst: LineProperties_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40128,1
    - Dst: ScalarInterpolator_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40172,1
    - Dst: SpotLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40189,1
    - Dst: BodySegmentConnectionHint_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40233,1
    - Dst: XXLFM_SurfaceMapList_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40277,1
    - Dst: XXPlanarObstacle_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40297,1
    - Dst: ProceduralTexture_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40309,1
    - Dst: FootPrintNode_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40389,1
    - Dst: Viewport_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40353,1
    - Dst: PointLight_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40154,1
    - Dst: IndexedFaceSet_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40110,1
    - Dst: Layer2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40122,1
    - Dst: ProximitySensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40166,1
    - Dst: AudioSwitch_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40034,1
    - Dst: DiscSensor_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40078,1
    - Dst: Sound2D_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40183,1
    - Dst: BDP_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40227,1
    - Dst: BitWrapper_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40259,1
    - Dst: XXLFM_BlendList_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:40271,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 197
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 40411
      start: 40012
    functionDepth: 0
    functionLinenumber: 40012
    functionLinenumberEnd: 40411
    functionName: gf_sg_mpeg4_node_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - Face_get_field_index_by_name
    - CacheTexture_get_field_index_by_name
    - FIT_get_field_index_by_name
    - Background_get_field_index_by_name
    - ProximitySensor_get_field_index_by_name
    - XCurve2D_get_field_index_by_name
    - FDP_get_field_index_by_name
    - Script_get_field_index_by_name
    - SBMuscle_get_field_index_by_name
    - SpacePartition_get_field_index_by_name
    - MaterialKey_get_field_index_by_name
    - Storage_get_field_index_by_name
    - Cylinder_get_field_index_by_name
    - Conditional_get_field_index_by_name
    - NormalInterpolator_get_field_index_by_name
    - WaveletSubdivisionSurface_get_field_index_by_name
    - AudioClip_get_field_index_by_name
    - Group_get_field_index_by_name
    - AudioMix_get_field_index_by_name
    - AudioSource_get_field_index_by_name
    - DepthImage_get_field_index_by_name
    - Extrusion_get_field_index_by_name
    - Anchor_get_field_index_by_name
    - ColorInterpolator_get_field_index_by_name
    - PlaneSensor2D_get_field_index_by_name
    - NurbsCurve_get_field_index_by_name
    - XXLFM_LightMap_get_field_index_by_name
    - Circle_get_field_index_by_name
    - PointSet_get_field_index_by_name
    - LinearGradient_get_field_index_by_name
    - PointLight_get_field_index_by_name
    - Sound_get_field_index_by_name
    - Material_get_field_index_by_name
    - IndexedLineSet_get_field_index_by_name
    - ScoreShape_get_field_index_by_name
    - TransformMatrix2D_get_field_index_by_name
    - Quadric_get_field_index_by_name
    - Viewport_get_field_index_by_name
    - QuantizationParameter_get_field_index_by_name
    - IndexedLineSet2D_get_field_index_by_name
    - SBSegment_get_field_index_by_name
    - ProximitySensor2D_get_field_index_by_name
    - SubdivisionSurface_get_field_index_by_name
    - SurroundingSound_get_field_index_by_name
    - AudioSwitch_get_field_index_by_name
    - ApplicationWindow_get_field_index_by_name
    - TemporalTransform_get_field_index_by_name
    - MediaSensor_get_field_index_by_name
    - XXPlanarObstacle_get_field_index_by_name
    - RadialGradient_get_field_index_by_name
    - PositionAnimator_get_field_index_by_name
    - SimpleTextureV2_get_field_index_by_name
    - DirectiveSound_get_field_index_by_name
    - Ellipse_get_field_index_by_name
    - DiscSensor_get_field_index_by_name
    - Form_get_field_index_by_name
    - SBVCAnimationV2_get_field_index_by_name
    - Material2D_get_field_index_by_name
    - Billboard_get_field_index_by_name
    - FaceDefTables_get_field_index_by_name
    - Fog_get_field_index_by_name
    - Rectangle_get_field_index_by_name
    - SphereSensor_get_field_index_by_name
    - FaceDefMesh_get_field_index_by_name
    - Collision_get_field_index_by_name
    - TimeSensor_get_field_index_by_name
    - AcousticScene_get_field_index_by_name
    - PixelTexture_get_field_index_by_name
    - AnimationStream_get_field_index_by_name
    - NavigationInfo_get_field_index_by_name
    - SpotLight_get_field_index_by_name
    - AudioDelay_get_field_index_by_name
    - Normal_get_field_index_by_name
    - LineProperties_get_field_index_by_name
    - RoofNode_get_field_index_by_name
    - MediaBuffer_get_field_index_by_name
    - AudioChannelConfig_get_field_index_by_name
    - ServerCommand_get_field_index_by_name
    - PointTextureV2_get_field_index_by_name
    - XFontStyle_get_field_index_by_name
    - Hierarchical3DMesh_get_field_index_by_name
    - CoordinateInterpolator2D_get_field_index_by_name
    - PointSet2D_get_field_index_by_name
    - BDP_get_field_index_by_name
    - SolidRep_get_field_index_by_name
    - FAP_get_field_index_by_name
    - MusicScore_get_field_index_by_name
    - OctreeImage_get_field_index_by_name
    - DirectionalLight_get_field_index_by_name
    - Viseme_get_field_index_by_name
    - BuildingPartNode_get_field_index_by_name
    - ImageTexture_get_field_index_by_name
    - AdvancedAudioBuffer_get_field_index_by_name
    - XXLFM_BlendList_get_field_index_by_name
    - CompositeTexture2D_get_field_index_by_name
    - TouchSensor_get_field_index_by_name
    - BodySegmentConnectionHint_get_field_index_by_name
    - MorphShape_get_field_index_by_name
    - FFD_get_field_index_by_name
    - Transform_get_field_index_by_name
    - Valuator_get_field_index_by_name
    - Switch_get_field_index_by_name
    - Layer2D_get_field_index_by_name
    - FacadeNode_get_field_index_by_name
    - PositionAnimator2D_get_field_index_by_name
    - ScalarAnimator_get_field_index_by_name
    - MovieTexture_get_field_index_by_name
    - Transform2D_get_field_index_by_name
    - Layer3D_get_field_index_by_name
    - KeyNavigator_get_field_index_by_name
    - Color_get_field_index_by_name
    - TextureCoordinate_get_field_index_by_name
    - Inline_get_field_index_by_name
    - Transform3DAudio_get_field_index_by_name
    - WideSound_get_field_index_by_name
    - PathLayout_get_field_index_by_name
    - DepthImageV2_get_field_index_by_name
    - FootPrintNode_get_field_index_by_name
    - SBBone_get_field_index_by_name
    - ElevationGrid_get_field_index_by_name
    - PositionInterpolator_get_field_index_by_name
    - ListeningPoint_get_field_index_by_name
    - ColorTransform_get_field_index_by_name
    - PointTexture_get_field_index_by_name
    - Shadow_get_field_index_by_name
    - EnvironmentTest_get_field_index_by_name
    - SynthesizedTexture_get_field_index_by_name
    - CoordinateInterpolator4D_get_field_index_by_name
    - XXLFM_SurfaceMapList_get_field_index_by_name
    - Layout_get_field_index_by_name
    - XXLFM_Appearance_get_field_index_by_name
    - BodyDefTable_get_field_index_by_name
    - Body_get_field_index_by_name
    - Sound2D_get_field_index_by_name
    - PerceptualParameters_get_field_index_by_name
    - XXParticleInitBox_get_field_index_by_name
    - Clipper2D_get_field_index_by_name
    - XLineProperties_get_field_index_by_name
    - TermCap_get_field_index_by_name
    - PlaneSensor_get_field_index_by_name
    - Background2D_get_field_index_by_name
    - WorldInfo_get_field_index_by_name
    - FaceDefTransform_get_field_index_by_name
    - MatteTexture_get_field_index_by_name
    - NurbsCurve2D_get_field_index_by_name
    - SBVCAnimation_get_field_index_by_name
    - NonLinearDeformer_get_field_index_by_name
    - AcousticMaterial_get_field_index_by_name
    - Bitmap_get_field_index_by_name
    - OrderedGroup_get_field_index_by_name
    - Sphere_get_field_index_by_name
    - Expression_get_field_index_by_name
    - TextureTransform_get_field_index_by_name
    - AudioFX_get_field_index_by_name
    - XXParticles_get_field_index_by_name
    - Shape_get_field_index_by_name
    - NurbsSurface_get_field_index_by_name
    - InputSensor_get_field_index_by_name
    - MediaControl_get_field_index_by_name
    - Box_get_field_index_by_name
    - XXLFM_FrameList_get_field_index_by_name
    - CylinderSensor_get_field_index_by_name
    - CompositeTexture3D_get_field_index_by_name
    - ScalarInterpolator_get_field_index_by_name
    - ProceduralTexture_get_field_index_by_name
    - Curve2D_get_field_index_by_name
    - MeshGrid_get_field_index_by_name
    - VisibilitySensor_get_field_index_by_name
    - IndexedFaceSet_get_field_index_by_name
    - BitWrapper_get_field_index_by_name
    - PositionInterpolator4D_get_field_index_by_name
    - Text_get_field_index_by_name
    - SubdivSurfaceSector_get_field_index_by_name
    - CoordinateInterpolator_get_field_index_by_name
    - FootPrintSetNode_get_field_index_by_name
    - Coordinate_get_field_index_by_name
    - MultiTexture_get_field_index_by_name
    - Appearance_get_field_index_by_name
    - OrientationInterpolator_get_field_index_by_name
    - PositionInterpolator2D_get_field_index_by_name
    - XXLFM_ViewMapList_get_field_index_by_name
    - SimpleTexture_get_field_index_by_name
    - Viewpoint_get_field_index_by_name
    - Cone_get_field_index_by_name
    - FontStyle_get_field_index_by_name
    - LOD_get_field_index_by_name
    - Coordinate2D_get_field_index_by_name
    - BAP_get_field_index_by_name
    - SBSkinnedModel_get_field_index_by_name
    - TemporalGroup_get_field_index_by_name
    - IndexedFaceSet2D_get_field_index_by_name
    - XXPointAttractor_get_field_index_by_name
    - SBSite_get_field_index_by_name
    - Implicit_get_field_index_by_name
    - AudioBuffer_get_field_index_by_name
    linkageType: ''
    returnType: s32
    signature: 's32 gf_sg_mpeg4_node_get_field_index_by_name(GF_Node *node, char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: Anchor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Anchor_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:636,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:638,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: AudioClip_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioClip_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:170,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:172,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Anchor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Anchor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8484
      start: 8470
    functionDepth: 0
    functionLinenumber: 8470
    functionLinenumberEnd: 8484
    functionName: Inline_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Inline_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33810,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33813,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33812,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33814
      start: 33807
    functionDepth: 0
    functionLinenumber: 33807
    functionLinenumberEnd: 33814
    functionName: SBVCAnimationV2_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_node_unregister_children
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void SBVCAnimationV2_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31368,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31370,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31369,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 31372
      start: 31365
    functionDepth: 0
    functionLinenumber: 31365
    functionLinenumberEnd: 31372
    functionName: SynthesizedTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_sg_mfrotation_del
    linkageType: ''
    returnType: void
    signature: 'static void SynthesizedTexture_Del(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2836
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2836
    functionName: CompositeTexture2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CompositeTexture2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3210
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3210
    functionName: Cone_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Cone_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13962,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13963,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13969,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13970,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13975
      start: 13955
    functionDepth: 0
    functionLinenumber: 13955
    functionLinenumberEnd: 13975
    functionName: TermCap_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TermCap_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25066,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25068,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25072,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25082,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25080,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25076,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25086,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25064,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25065,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25071,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25079,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25075,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25081,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25085,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25070,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25074,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25078,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25084,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25067,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25069,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25073,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25077,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25083,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25088
      start: 25062
    functionDepth: 0
    functionLinenumber: 25062
    functionLinenumberEnd: 25088
    functionName: MeshGrid_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MeshGrid_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2841,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2842,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2843,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2845,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2844,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2846,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2847,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2848,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2850
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2850
    functionName: CompositeTexture2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CompositeTexture2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13982,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13989
      start: 13979
    functionDepth: 0
    functionLinenumber: 13979
    functionLinenumberEnd: 13989
    functionName: TermCap_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TermCap_Create() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25096,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25110,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25104,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25124,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25103,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25125,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25131,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25132,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25137,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25143,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25149,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 25161
      start: 25089
    functionDepth: 0
    functionLinenumber: 25089
    functionLinenumberEnd: 25161
    functionName: MeshGrid_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MeshGrid_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25480,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25484,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25481,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25483,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25482,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 25486
      start: 25477
    functionDepth: 0
    functionLinenumber: 25477
    functionLinenumberEnd: 25486
    functionName: NurbsCurve2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NurbsCurve2D_Del(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1766,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1767,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1770,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1768,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1772,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1777,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1779
    functionName: Background_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Background_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10976,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10978,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10977,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10980,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10979,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10981,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10982,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10983,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10985
      start: 10974
    functionDepth: 0
    functionLinenumber: 10974
    functionLinenumberEnd: 10985
    functionName: PlaneSensor2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PlaneSensor2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12758,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12764
      start: 12755
    functionDepth: 0
    functionLinenumber: 12755
    functionLinenumberEnd: 12764
    functionName: ScalarInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ScalarInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24596,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24599,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24597,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24598,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24601
      start: 24593
    functionDepth: 0
    functionLinenumber: 24593
    functionLinenumberEnd: 24601
    functionName: XXLFM_SurfaceMapList_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_SurfaceMapList_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1786,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1792,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1793,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1787,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1798,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1799,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1804,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1805,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1810
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1810
    functionName: Background_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Background_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11010
      start: 10986
    functionDepth: 0
    functionLinenumber: 10986
    functionLinenumberEnd: 11010
    functionName: PlaneSensor2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PlaneSensor2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfscript_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12774,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12776
      start: 12771
    functionDepth: 0
    functionLinenumber: 12771
    functionLinenumberEnd: 12776
    functionName: Script_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfscript_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Script_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22814,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22816,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22817,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22815,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22818,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22820
      start: 22811
    functionDepth: 0
    functionLinenumber: 22811
    functionLinenumberEnd: 22820
    functionName: MatteTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void MatteTexture_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14024
      start: 14010
    functionDepth: 0
    functionLinenumber: 14010
    functionLinenumberEnd: 14024
    functionName: Text_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Text_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:46,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:48,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:49,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:47,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: Anchor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_sfstring_del
    - gf_sg_mfurl_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Anchor_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3228
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3228
    functionName: Cone_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Cone_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15583
      start: 15528
    functionDepth: 0
    functionLinenumber: 15528
    functionLinenumberEnd: 15583
    functionName: Viewpoint_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viewpoint_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3239
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3239
    functionName: Cone_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cone_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15588,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15590,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15589,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15591,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15592,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15593,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15594,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15597
      start: 15586
    functionDepth: 0
    functionLinenumber: 15586
    functionLinenumberEnd: 15597
    functionName: Viewpoint_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Viewpoint_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3898
      start: 3894
    functionDepth: 0
    functionLinenumber: 3894
    functionLinenumberEnd: 3898
    functionName: Cylinder_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Cylinder_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8138,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8146
      start: 8135
    functionDepth: 0
    functionLinenumber: 8135
    functionLinenumberEnd: 8146
    functionName: IndexedFaceSet2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *IndexedFaceSet2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3880,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3882,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3887
      start: 3877
    functionDepth: 0
    functionLinenumber: 3877
    functionLinenumberEnd: 3887
    functionName: Curve2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Curve2D_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3673
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3673
    functionName: CoordinateInterpolator2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateInterpolator2D_get_field_count(GF_Node *node,
      u8 IndexMode) '
  - BBCount: 42
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 162
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12257
      start: 12011
    functionDepth: 0
    functionLinenumber: 12011
    functionLinenumberEnd: 12257
    functionName: QuantizationParameter_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err QuantizationParameter_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 28476
      start: 28462
    functionDepth: 0
    functionLinenumber: 28462
    functionLinenumberEnd: 28476
    functionName: SBSegment_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBSegment_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3690
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3690
    functionName: CoordinateInterpolator2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator2D_get_field_index(GF_Node *n,
      u32 inField, u8 IndexMode, u32 *allField) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12262,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12265,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12269,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12283,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12287,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12293,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12301,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12264,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12268,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12276,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12272,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12282,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12286,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12290,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12292,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12296,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12297,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12281,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12285,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12289,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12291,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12295,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12299,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12300,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12266,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12270,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12274,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12280,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12284,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12288,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12294,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12298,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 81
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12303
      start: 12260
    functionDepth: 0
    functionLinenumber: 12260
    functionLinenumberEnd: 12303
    functionName: QuantizationParameter_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 QuantizationParameter_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 28496
      start: 28478
    functionDepth: 0
    functionLinenumber: 28478
    functionLinenumberEnd: 28496
    functionName: SBSegment_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSegment_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8156,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8159,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8158,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8157,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8160,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8161,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8163
      start: 8153
    functionDepth: 0
    functionLinenumber: 8153
    functionLinenumberEnd: 8163
    functionName: IndexedLineSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedLineSet_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 33532
      start: 33518
    functionDepth: 0
    functionLinenumber: 33518
    functionLinenumberEnd: 33532
    functionName: MultiTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MultiTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7104,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7105,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7116
      start: 7098
    functionDepth: 0
    functionLinenumber: 7098
    functionLinenumberEnd: 7116
    functionName: Fog_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Fog_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8791
      start: 8779
    functionDepth: 0
    functionLinenumber: 8779
    functionLinenumberEnd: 8791
    functionName: Layer2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Layer2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 16536
      start: 16488
    functionDepth: 0
    functionLinenumber: 16488
    functionLinenumberEnd: 16536
    functionName: ApplicationWindow_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ApplicationWindow_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7123,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7130,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7125,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7129,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7128,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7131,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7132,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7135
      start: 7120
    functionDepth: 0
    functionLinenumber: 7120
    functionLinenumberEnd: 7135
    functionName: Fog_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Fog_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8798,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8805,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8801,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8804,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8807
      start: 8795
    functionDepth: 0
    functionLinenumber: 8795
    functionLinenumberEnd: 8807
    functionName: Layer2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Layer2D_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16541,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16544,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16542,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16543,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16546,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 16549
      start: 16539
    functionDepth: 0
    functionLinenumber: 16539
    functionLinenumberEnd: 16549
    functionName: ApplicationWindow_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ApplicationWindow_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 33549
      start: 33534
    functionDepth: 0
    functionLinenumber: 33534
    functionLinenumberEnd: 33549
    functionName: MultiTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MultiTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7941,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7949,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7953
      start: 7938
    functionDepth: 0
    functionLinenumber: 7938
    functionLinenumberEnd: 7953
    functionName: IndexedFaceSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *IndexedFaceSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12962,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12968
      start: 12959
    functionDepth: 0
    functionLinenumber: 12959
    functionLinenumberEnd: 12968
    functionName: Shape_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Shape_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29150,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29154,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29153,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29152,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29155
      start: 29147
    functionDepth: 0
    functionLinenumber: 29147
    functionLinenumberEnd: 29155
    functionName: ScalarAnimator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void ScalarAnimator_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29393
      start: 29373
    functionDepth: 0
    functionLinenumber: 29373
    functionLinenumberEnd: 29393
    functionName: SimpleTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SimpleTexture_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 6721
      start: 6706
    functionDepth: 0
    functionLinenumber: 6706
    functionLinenumberEnd: 6721
    functionName: FDP_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FDP_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7425,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7426,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7429,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7428,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7427,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7430,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7433
      start: 7423
    functionDepth: 0
    functionLinenumber: 7423
    functionLinenumberEnd: 7433
    functionName: Form_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Form_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 30750
      start: 30746
    functionDepth: 0
    functionLinenumber: 30746
    functionLinenumberEnd: 30750
    functionName: Ellipse_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Ellipse_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12612
      start: 12608
    functionDepth: 0
    functionLinenumber: 12608
    functionLinenumberEnd: 12612
    functionName: Rectangle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Rectangle_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 25339
      start: 25325
    functionDepth: 0
    functionLinenumber: 25325
    functionLinenumberEnd: 25339
    functionName: NurbsCurve_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 NurbsCurve_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30763
      start: 30751
    functionDepth: 0
    functionLinenumber: 30751
    functionLinenumberEnd: 30763
    functionName: Ellipse_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Ellipse_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29398,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29401
      start: 29396
    functionDepth: 0
    functionLinenumber: 29396
    functionLinenumberEnd: 29401
    functionName: SimpleTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SimpleTexture_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 6762
      start: 6722
    functionDepth: 0
    functionLinenumber: 6722
    functionLinenumberEnd: 6762
    functionName: FDP_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FDP_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7440,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7454,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7447,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7448,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7460
      start: 7434
    functionDepth: 0
    functionLinenumber: 7434
    functionLinenumberEnd: 7460
    functionName: Form_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Form_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 12625
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12625
    functionName: Rectangle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Rectangle_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 25359
      start: 25341
    functionDepth: 0
    functionLinenumber: 25341
    functionLinenumberEnd: 25359
    functionName: NurbsCurve_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7963,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7966,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7964,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7965,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7967,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7968,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7969,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7970,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7971,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7973
      start: 7960
    functionDepth: 0
    functionLinenumber: 7960
    functionLinenumberEnd: 7973
    functionName: IndexedFaceSet2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedFaceSet2D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12978,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12980
      start: 12975
    functionDepth: 0
    functionLinenumber: 12975
    functionLinenumberEnd: 12980
    functionName: Sound_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Sound_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2858,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2872,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2865,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2878
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2878
    functionName: CompositeTexture2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CompositeTexture2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11825
      start: 11821
    functionDepth: 0
    functionLinenumber: 11821
    functionLinenumberEnd: 11825
    functionName: ProximitySensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ProximitySensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13999,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14001,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14002,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14003
      start: 13996
    functionDepth: 0
    functionLinenumber: 13996
    functionLinenumberEnd: 14003
    functionName: Text_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_mfstring_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Text_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35546
      start: 35531
    functionDepth: 0
    functionLinenumber: 35531
    functionLinenumberEnd: 35546
    functionName: RoofNode_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RoofNode_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2885,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2888,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2895
    functionName: CompositeTexture2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CompositeTexture2D_Create() '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35625
      start: 35547
    functionDepth: 0
    functionLinenumber: 35547
    functionLinenumberEnd: 35625
    functionName: RoofNode_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err RoofNode_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31934,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31936,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31939,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31940,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31941,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31942,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31943,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31949
      start: 31931
    functionDepth: 0
    functionLinenumber: 31931
    functionLinenumberEnd: 31949
    functionName: Viewport_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Viewport_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7270,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7282
      start: 7264
    functionDepth: 0
    functionLinenumber: 7264
    functionLinenumberEnd: 7282
    functionName: FontStyle_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FontStyle_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:935,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:936,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:938,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:937,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:939,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 941
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 941
    functionName: AudioFX_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfstring_del
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void AudioFX_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23057
      start: 23051
    functionDepth: 0
    functionLinenumber: 23051
    functionLinenumberEnd: 23057
    functionName: MediaBuffer_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MediaBuffer_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28451,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28453,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28452,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 28455
      start: 28448
    functionDepth: 0
    functionLinenumber: 28448
    functionLinenumberEnd: 28455
    functionName: SBSegment_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void SBSegment_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7289,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7291,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7297,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7294,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7296,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7299,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7301,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7302,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7305,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7306,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7310
      start: 7286
    functionDepth: 0
    functionLinenumber: 7286
    functionLinenumberEnd: 7310
    functionName: FontStyle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FontStyle_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23064,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23066,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23074
      start: 23061
    functionDepth: 0
    functionLinenumber: 23061
    functionLinenumberEnd: 23074
    functionName: MediaBuffer_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MediaBuffer_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35899
      start: 35885
    functionDepth: 0
    functionLinenumber: 35885
    functionLinenumberEnd: 35899
    functionName: Shadow_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Shadow_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:916,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:919,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 925
    functionName: AudioDelay_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioDelay_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28432,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28441
      start: 28429
    functionDepth: 0
    functionLinenumber: 28429
    functionLinenumberEnd: 28441
    functionName: SBMuscle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBMuscle_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11346
      start: 11332
    functionDepth: 0
    functionLinenumber: 11332
    functionLinenumberEnd: 11346
    functionName: PointSet2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointSet2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33506,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33509,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33507,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33508,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33510,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33512
      start: 33503
    functionDepth: 0
    functionLinenumber: 33503
    functionLinenumberEnd: 33512
    functionName: MultiTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    - gf_node_unregister_children
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void MultiTexture_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11363
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11363
    functionName: PointSet2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointSet2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31959,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31960,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 31962
      start: 31956
    functionDepth: 0
    functionLinenumber: 31956
    functionLinenumberEnd: 31962
    functionName: XCurve2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void XCurve2D_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15742,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15743,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15744,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15746,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15745,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15749
      start: 15740
    functionDepth: 0
    functionLinenumber: 15740
    functionLinenumberEnd: 15749
    functionName: VisibilitySensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 VisibilitySensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32082,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32085,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32083,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32086,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32084,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32087,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32088,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32089,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32090,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 32092
      start: 32079
    functionDepth: 0
    functionLinenumber: 32079
    functionLinenumberEnd: 32092
    functionName: XFontStyle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfstring_del
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void XFontStyle_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21598
      start: 21583
    functionDepth: 0
    functionLinenumber: 21583
    functionLinenumberEnd: 21598
    functionName: Hierarchical3DMesh_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Hierarchical3DMesh_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22929
      start: 22923
    functionDepth: 0
    functionLinenumber: 22923
    functionLinenumberEnd: 22929
    functionName: MatteTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MatteTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11546,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11547,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11549
      start: 11543
    functionDepth: 0
    functionLinenumber: 11543
    functionLinenumberEnd: 11549
    functionName: PositionInterpolator2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void PositionInterpolator2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22936,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22944,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22941,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22942,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22946
      start: 22933
    functionDepth: 0
    functionLinenumber: 22933
    functionLinenumberEnd: 22946
    functionName: MatteTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MatteTexture_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 15065
      start: 15051
    functionDepth: 0
    functionLinenumber: 15051
    functionLinenumberEnd: 15065
    functionName: Valuator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Valuator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15762,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 15768
      start: 15750
    functionDepth: 0
    functionLinenumber: 15750
    functionLinenumberEnd: 15768
    functionName: VisibilitySensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool VisibilitySensor_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 21630
      start: 21599
    functionDepth: 0
    functionLinenumber: 21599
    functionLinenumberEnd: 21630
    functionName: Hierarchical3DMesh_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Hierarchical3DMesh_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 33408
      start: 33394
    functionDepth: 0
    functionLinenumber: 33394
    functionLinenumberEnd: 33408
    functionName: MorphShape_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MorphShape_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3524,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3526,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3525,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3528
      start: 3521
    functionDepth: 0
    functionLinenumber: 3521
    functionLinenumberEnd: 3528
    functionName: CoordinateInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateInterpolator_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5238,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5240,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5239,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5241,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5244
      start: 5236
    functionDepth: 0
    functionLinenumber: 5236
    functionLinenumberEnd: 5244
    functionName: Face_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Face_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23538
      start: 23507
    functionDepth: 0
    functionLinenumber: 23507
    functionLinenumberEnd: 23538
    functionName: CoordinateInterpolator4D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator4D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 33425
      start: 33410
    functionDepth: 0
    functionLinenumber: 33410
    functionLinenumberEnd: 33425
    functionName: MorphShape_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MorphShape_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 5251
      start: 5245
    functionDepth: 0
    functionLinenumber: 5245
    functionLinenumberEnd: 5251
    functionName: Face_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Face_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23543,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23546,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23548
      start: 23541
    functionDepth: 0
    functionLinenumber: 23541
    functionLinenumberEnd: 23548
    functionName: CoordinateInterpolator4D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateInterpolator4D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23773
      start: 23755
    functionDepth: 0
    functionLinenumber: 23755
    functionLinenumberEnd: 23773
    functionName: FFD_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27717,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 27719
      start: 27714
    functionDepth: 0
    functionLinenumber: 27714
    functionLinenumberEnd: 27719
    functionName: Quadric_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void Quadric_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34832,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34836,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34834,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34833,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34835,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34837,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34838,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34839,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34840,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34841,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34845,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34846,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34844,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34843,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 34847
      start: 34829
    functionDepth: 0
    functionLinenumber: 34829
    functionLinenumberEnd: 34847
    functionName: MusicScore_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_sfstring_del
    - gf_sg_mfurl_del
    - gf_sg_mfint32_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MusicScore_Del(GF_Node *node) '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6123,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6131,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6133,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6137,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6145,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6147,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6151,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6155,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6171,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6162,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6181,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6172,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6164,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6122,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6126,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6130,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6136,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6146,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6150,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6154,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6157,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6165,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6184,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6167,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6185,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6169,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6160,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6118,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6121,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6119,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6125,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6135,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6129,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6143,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6149,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6153,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6161,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6170,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6180,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6183,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6163,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6182,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6120,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6124,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6134,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6132,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6128,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6148,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6152,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6156,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6166,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6174,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6158,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6176,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6168,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6159,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6178,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 137
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6187
      start: 6116
    functionDepth: 0
    functionLinenumber: 6116
    functionLinenumberEnd: 6187
    functionName: FAP_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FAP_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8981,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8983,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8984
      start: 8978
    functionDepth: 0
    functionLinenumber: 8978
    functionLinenumberEnd: 8984
    functionName: Layout_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfstring_del
    - gf_sg_vrml_parent_destroy
    linkageType: ''
    returnType: void
    signature: 'static void Layout_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21666,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21668,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21673
      start: 21663
    functionDepth: 0
    functionLinenumber: 21663
    functionLinenumberEnd: 21673
    functionName: Hierarchical3DMesh_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Hierarchical3DMesh_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24329,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24331,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24332
      start: 24326
    functionDepth: 0
    functionLinenumber: 24326
    functionLinenumberEnd: 24332
    functionName: XXLFM_FrameList_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_FrameList_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35728
      start: 35713
    functionDepth: 0
    functionLinenumber: 35713
    functionLinenumberEnd: 35728
    functionName: FacadeNode_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FacadeNode_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: AnimationStream_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AnimationStream_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6194,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6260,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6458,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6428,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6422,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 271
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 6590
      start: 6188
    functionDepth: 0
    functionLinenumber: 6188
    functionLinenumberEnd: 6590
    functionName: FAP_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FAP_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35814
      start: 35729
    functionDepth: 0
    functionLinenumber: 35729
    functionLinenumberEnd: 35814
    functionName: FacadeNode_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FacadeNode_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8962,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8964,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8968,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8969,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8971
      start: 8959
    functionDepth: 0
    functionLinenumber: 8959
    functionLinenumberEnd: 8971
    functionName: Layer3D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Layer3D_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21684
      start: 21680
    functionDepth: 0
    functionLinenumber: 21680
    functionLinenumberEnd: 21684
    functionName: MaterialKey_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MaterialKey_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23206
      start: 23200
    functionDepth: 0
    functionLinenumber: 23200
    functionLinenumberEnd: 23206
    functionName: MediaControl_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MediaControl_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23590,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23592
      start: 23587
    functionDepth: 0
    functionLinenumber: 23587
    functionLinenumberEnd: 23592
    functionName: DepthImage_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DepthImage_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4761
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4761
    functionName: Expression_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Expression_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1042
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1042
    functionName: AudioFX_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioFX_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2580,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2586
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2586
    functionName: Color_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Color_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11399
      start: 11393
    functionDepth: 0
    functionLinenumber: 11393
    functionLinenumberEnd: 11399
    functionName: PointSet2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PointSet2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13902
      start: 13888
    functionDepth: 0
    functionLinenumber: 13888
    functionLinenumberEnd: 13902
    functionName: TermCap_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TermCap_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23213,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23215,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23224
      start: 23210
    functionDepth: 0
    functionLinenumber: 23210
    functionLinenumberEnd: 23224
    functionName: MediaControl_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MediaControl_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1047,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1051,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1050,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1049,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1048,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1052,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1053,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1054,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1056
    functionName: AudioFX_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioFX_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2593,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2599
    functionName: Color_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Color_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4778
      start: 4763
    functionDepth: 0
    functionLinenumber: 4763
    functionLinenumberEnd: 4778
    functionName: Expression_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Expression_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11406,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11412
      start: 11403
    functionDepth: 0
    functionLinenumber: 11403
    functionLinenumberEnd: 11412
    functionName: PointSet2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PointSet2D_Create() '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: Box_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38931,1
    - Dst: CompositeTexture3D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38943,1
    - Dst: IndexedFaceSet2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38999,1
    - Dst: Layer3D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39011,1
    - Dst: Sound2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39067,1
    - Dst: Text_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39079,1
    - Dst: MatteTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39135,1
    - Dst: DepthImage_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39147,1
    - Dst: SBSite_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39203,1
    - Dst: SubdivisionSurface_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39215,1
    - Dst: DepthImageV2_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39249,1
    - Dst: FootPrintNode_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39273,1
    - Dst: CoordinateInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38953,1
    - Dst: DiscSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38965,1
    - Dst: Material2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39021,1
    - Dst: OrientationInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39033,1
    - Dst: Transform_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39089,1
    - Dst: WorldInfo_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39101,1
    - Dst: XXLFM_FrameList_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39157,1
    - Dst: NurbsCurve_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39169,1
    - Dst: Ellipse_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39225,1
    - Dst: Viewport_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39237,1
    - Dst: ScoreShape_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39267,1
    - Dst: QuantizationParameter_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39055,1
    - Dst: Appearance_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38907,1
    - Dst: AudioSource_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38919,1
    - Dst: FaceDefMesh_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38975,1
    - Dst: Fog_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38987,1
    - Dst: PointSet_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39043,1
    - Dst: BDP_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39111,1
    - Dst: MaterialKey_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39123,1
    - Dst: XXParticleInitBox_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39179,1
    - Dst: PositionInterpolator4D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39191,1
    - Dst: SurroundingSound_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39261,1
    - Dst: Quadric_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39195,1
    - Dst: Transform3DAudio_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39263,1
    - Dst: IndexedFaceSet_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38997,1
    - Dst: Layer2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39009,1
    - Dst: FIT_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38985,1
    - Dst: ProximitySensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39053,1
    - Dst: AudioMix_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38917,1
    - Dst: Bitmap_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38929,1
    - Dst: CompositeTexture2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38941,1
    - Dst: Sound_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39065,1
    - Dst: TermCap_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39077,1
    - Dst: Hierarchical3DMesh_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39121,1
    - Dst: KeyNavigator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39287,1
    - Dst: ColorInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38939,1
    - Dst: Coordinate2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38951,1
    - Dst: DirectionalLight_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38963,1
    - Dst: OrderedGroup_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39031,1
    - Dst: LOD_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39007,1
    - Dst: Material_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39019,1
    - Dst: Switch_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39075,1
    - Dst: TouchSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39087,1
    - Dst: Viseme_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39099,1
    - Dst: BitWrapper_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39143,1
    - Dst: CoordinateInterpolator4D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39145,1
    - Dst: SolidRep_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39213,1
    - Dst: Shadow_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39281,1
    - Dst: NormalInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39029,1
    - Dst: AnimationStream_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38905,1
    - Dst: CylinderSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38961,1
    - Dst: Face_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38973,1
    - Dst: PointLight_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39041,1
    - Dst: VisibilitySensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39097,1
    - Dst: BAP_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39109,1
    - Dst: MeshGrid_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39165,1
    - Dst: XXParticles_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39177,1
    - Dst: SynthesizedTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39233,1
    - Dst: ProximitySensor2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39051,1
    - Dst: ImageTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38995,1
    - Dst: AudioFX_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38915,1
    - Dst: Billboard_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38927,1
    - Dst: FDP_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38983,1
    - Dst: Shape_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39063,1
    - Dst: DirectiveSound_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39119,1
    - Dst: ServerCommand_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39131,1
    - Dst: PositionAnimator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39187,1
    - Dst: SBMuscle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39199,1
    - Dst: SpacePartition_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39289,1
    - Dst: XXLFM_BlendList_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39155,1
    - Dst: ColorTransform_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39223,1
    - Dst: Storage_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39291,1
    - Dst: MultiTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39253,1
    - Dst: ListeningPoint_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39017,1
    - Dst: Color_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38937,1
    - Dst: Coordinate_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38949,1
    - Dst: Inline_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39005,1
    - Dst: SpotLight_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39073,1
    - Dst: TimeSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39085,1
    - Dst: MediaSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39141,1
    - Dst: XXLFM_Appearance_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39153,1
    - Dst: ScalarAnimator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39209,1
    - Dst: Clipper2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39221,1
    - Dst: CacheTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39283,1
    - Dst: EnvironmentTest_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39285,1
    - Dst: AudioChannelConfig_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39247,1
    - Dst: Cylinder_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38959,1
    - Dst: Extrusion_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38971,1
    - Dst: Normal_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39027,1
    - Dst: PlaneSensor2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39039,1
    - Dst: Viewpoint_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39095,1
    - Dst: ApplicationWindow_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39107,1
    - Dst: XXLFM_ViewMapList_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39163,1
    - Dst: OctreeImage_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39175,1
    - Dst: RadialGradient_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39231,1
    - Dst: XLineProperties_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39243,1
    - Dst: XFontStyle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39241,1
    - Dst: AudioDelay_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38913,1
    - Dst: Background2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38925,1
    - Dst: FAP_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38981,1
    - Dst: Group_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38993,1
    - Dst: PositionInterpolator2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39049,1
    - Dst: Script_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39061,1
    - Dst: BodySegmentConnectionHint_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39117,1
    - Dst: TemporalGroup_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39129,1
    - Dst: NonLinearDeformer_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39167,1
    - Dst: PointTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39185,1
    - Dst: TransformMatrix2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39235,1
    - Dst: PointTextureV2_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39255,1
    - Dst: PositionAnimator2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39189,1
    - Dst: SBVCAnimationV2_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39257,1
    - Dst: Collision_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38935,1
    - Dst: Cone_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38947,1
    - Dst: IndexedLineSet2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39003,1
    - Dst: LineProperties_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39015,1
    - Dst: SphereSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39071,1
    - Dst: TextureTransform_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39083,1
    - Dst: MediaControl_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39139,1
    - Dst: Implicit_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39151,1
    - Dst: SBVCAnimation_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39207,1
    - Dst: WaveletSubdivisionSurface_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39219,1
    - Dst: MorphShape_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39251,1
    - Dst: PlaneSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39037,1
    - Dst: NavigationInfo_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39025,1
    - Dst: Anchor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38903,1
    - Dst: Curve2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38957,1
    - Dst: Expression_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38969,1
    - Dst: Valuator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39093,1
    - Dst: AcousticScene_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39105,1
    - Dst: XXLFM_SurfaceMapList_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39161,1
    - Dst: NurbsSurface_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39173,1
    - Dst: PathLayout_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39229,1
    - Dst: AdvancedAudioBuffer_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39245,1
    - Dst: BuildingPartNode_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39275,1
    - Dst: RoofNode_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39277,1
    - Dst: AudioClip_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38911,1
    - Dst: Background_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38923,1
    - Dst: FaceDefTransform_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38979,1
    - Dst: PositionInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39047,1
    - Dst: Form_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38991,1
    - Dst: ScalarInterpolator_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39059,1
    - Dst: BodyDefTable_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39115,1
    - Dst: TemporalTransform_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39127,1
    - Dst: InputSensor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39133,1
    - Dst: XXPointAttractor_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39183,1
    - Dst: SBSegment_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39201,1
    - Dst: MusicScore_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39269,1
    - Dst: FootPrintSetNode_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39271,1
    - Dst: IndexedLineSet_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39001,1
    - Dst: Circle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38933,1
    - Dst: Conditional_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38945,1
    - Dst: Layout_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39013,1
    - Dst: Sphere_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39069,1
    - Dst: TextureCoordinate_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39081,1
    - Dst: MediaBuffer_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39137,1
    - Dst: FFD_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39149,1
    - Dst: SBSkinnedModel_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39205,1
    - Dst: SubdivSurfaceSector_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39217,1
    - Dst: SBBone_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39197,1
    - Dst: WideSound_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39265,1
    - Dst: XCurve2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39239,1
    - Dst: MovieTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39023,1
    - Dst: PixelTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39035,1
    - Dst: CoordinateInterpolator2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38955,1
    - Dst: ElevationGrid_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38967,1
    - Dst: Transform2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39091,1
    - Dst: AcousticMaterial_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39103,1
    - Dst: XXLFM_LightMap_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39159,1
    - Dst: NurbsCurve2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39171,1
    - Dst: SimpleTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39211,1
    - Dst: LinearGradient_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39227,1
    - Dst: SimpleTextureV2_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39259,1
    - Dst: FacadeNode_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39279,1
    - Dst: FaceDefTables_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38977,1
    - Dst: PointSet2D_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39045,1
    - Dst: FontStyle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38989,1
    - Dst: AudioBuffer_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38909,1
    - Dst: AudioSwitch_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38921,1
    - Dst: Rectangle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39057,1
    - Dst: Body_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39113,1
    - Dst: PerceptualParameters_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39125,1
    - Dst: XXPlanarObstacle_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39181,1
    - Dst: ProceduralTexture_get_field_index
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39193,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 197
    argCount: 4
    argNames:
    - node
    - inField
    - code_mode
    - fieldIndex
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 39295
      start: 38899
    functionDepth: 0
    functionLinenumber: 38899
    functionLinenumberEnd: 39295
    functionName: gf_sg_mpeg4_node_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - AudioChannelConfig_get_field_index
    - Normal_get_field_index
    - FaceDefTransform_get_field_index
    - Layer2D_get_field_index
    - XXLFM_SurfaceMapList_get_field_index
    - SBSegment_get_field_index
    - OrderedGroup_get_field_index
    - XXLFM_LightMap_get_field_index
    - Valuator_get_field_index
    - SubdivSurfaceSector_get_field_index
    - ScoreShape_get_field_index
    - Cone_get_field_index
    - BAP_get_field_index
    - MorphShape_get_field_index
    - Viewpoint_get_field_index
    - Circle_get_field_index
    - XXLFM_Appearance_get_field_index
    - FIT_get_field_index
    - Color_get_field_index
    - XXParticleInitBox_get_field_index
    - NonLinearDeformer_get_field_index
    - BodySegmentConnectionHint_get_field_index
    - PerceptualParameters_get_field_index
    - OctreeImage_get_field_index
    - PointTexture_get_field_index
    - IndexedLineSet2D_get_field_index
    - NormalInterpolator_get_field_index
    - MediaSensor_get_field_index
    - XXLFM_ViewMapList_get_field_index
    - SolidRep_get_field_index
    - Shape_get_field_index
    - TimeSensor_get_field_index
    - ColorInterpolator_get_field_index
    - PointLight_get_field_index
    - DiscSensor_get_field_index
    - XXParticles_get_field_index
    - Conditional_get_field_index
    - IndexedFaceSet2D_get_field_index
    - XCurve2D_get_field_index
    - Material_get_field_index
    - ServerCommand_get_field_index
    - TransformMatrix2D_get_field_index
    - MediaBuffer_get_field_index
    - MovieTexture_get_field_index
    - Viewport_get_field_index
    - DepthImage_get_field_index
    - Anchor_get_field_index
    - MultiTexture_get_field_index
    - PixelTexture_get_field_index
    - NurbsSurface_get_field_index
    - AudioFX_get_field_index
    - Switch_get_field_index
    - PathLayout_get_field_index
    - Inline_get_field_index
    - LOD_get_field_index
    - TermCap_get_field_index
    - SubdivisionSurface_get_field_index
    - Fog_get_field_index
    - Transform_get_field_index
    - PositionInterpolator2D_get_field_index
    - Box_get_field_index
    - OrientationInterpolator_get_field_index
    - Transform2D_get_field_index
    - Background2D_get_field_index
    - CoordinateInterpolator2D_get_field_index
    - AudioBuffer_get_field_index
    - Expression_get_field_index
    - Viseme_get_field_index
    - BitWrapper_get_field_index
    - CoordinateInterpolator4D_get_field_index
    - FacadeNode_get_field_index
    - FontStyle_get_field_index
    - Cylinder_get_field_index
    - NurbsCurve2D_get_field_index
    - PointTextureV2_get_field_index
    - QuantizationParameter_get_field_index
    - SBVCAnimationV2_get_field_index
    - PositionAnimator2D_get_field_index
    - SpacePartition_get_field_index
    - Storage_get_field_index
    - KeyNavigator_get_field_index
    - Background_get_field_index
    - Extrusion_get_field_index
    - CompositeTexture3D_get_field_index
    - FAP_get_field_index
    - DirectionalLight_get_field_index
    - MediaControl_get_field_index
    - SurroundingSound_get_field_index
    - NavigationInfo_get_field_index
    - ImageTexture_get_field_index
    - ScalarAnimator_get_field_index
    - Coordinate2D_get_field_index
    - XFontStyle_get_field_index
    - DepthImageV2_get_field_index
    - BuildingPartNode_get_field_index
    - MeshGrid_get_field_index
    - VisibilitySensor_get_field_index
    - AdvancedAudioBuffer_get_field_index
    - PlaneSensor_get_field_index
    - Coordinate_get_field_index
    - SphereSensor_get_field_index
    - FootPrintSetNode_get_field_index
    - LineProperties_get_field_index
    - XXLFM_BlendList_get_field_index
    - EnvironmentTest_get_field_index
    - FaceDefTables_get_field_index
    - SBSite_get_field_index
    - XXLFM_FrameList_get_field_index
    - Appearance_get_field_index
    - CoordinateInterpolator_get_field_index
    - BodyDefTable_get_field_index
    - NurbsCurve_get_field_index
    - RadialGradient_get_field_index
    - Layer3D_get_field_index
    - Script_get_field_index
    - MaterialKey_get_field_index
    - Face_get_field_index
    - TouchSensor_get_field_index
    - Text_get_field_index
    - SBSkinnedModel_get_field_index
    - IndexedFaceSet_get_field_index
    - CompositeTexture2D_get_field_index
    - PositionInterpolator_get_field_index
    - PositionInterpolator4D_get_field_index
    - MusicScore_get_field_index
    - Sphere_get_field_index
    - SpotLight_get_field_index
    - DirectiveSound_get_field_index
    - SBMuscle_get_field_index
    - AcousticScene_get_field_index
    - AnimationStream_get_field_index
    - TemporalTransform_get_field_index
    - ProximitySensor2D_get_field_index
    - Hierarchical3DMesh_get_field_index
    - FDP_get_field_index
    - RoofNode_get_field_index
    - CacheTexture_get_field_index
    - Collision_get_field_index
    - Curve2D_get_field_index
    - ApplicationWindow_get_field_index
    - AcousticMaterial_get_field_index
    - AudioSource_get_field_index
    - XXPointAttractor_get_field_index
    - CylinderSensor_get_field_index
    - IndexedLineSet_get_field_index
    - Bitmap_get_field_index
    - TemporalGroup_get_field_index
    - SBVCAnimation_get_field_index
    - SimpleTexture_get_field_index
    - TextureTransform_get_field_index
    - ProximitySensor_get_field_index
    - Billboard_get_field_index
    - Rectangle_get_field_index
    - XLineProperties_get_field_index
    - TextureCoordinate_get_field_index
    - Transform3DAudio_get_field_index
    - ScalarInterpolator_get_field_index
    - Group_get_field_index
    - ProceduralTexture_get_field_index
    - SimpleTextureV2_get_field_index
    - BDP_get_field_index
    - FFD_get_field_index
    - Clipper2D_get_field_index
    - Quadric_get_field_index
    - FootPrintNode_get_field_index
    - LinearGradient_get_field_index
    - ElevationGrid_get_field_index
    - FaceDefMesh_get_field_index
    - Layout_get_field_index
    - PositionAnimator_get_field_index
    - Body_get_field_index
    - AudioMix_get_field_index
    - ColorTransform_get_field_index
    - SBBone_get_field_index
    - WorldInfo_get_field_index
    - AudioSwitch_get_field_index
    - XXPlanarObstacle_get_field_index
    - Sound_get_field_index
    - AudioClip_get_field_index
    - Ellipse_get_field_index
    - PointSet_get_field_index
    - PointSet2D_get_field_index
    - SynthesizedTexture_get_field_index
    - Material2D_get_field_index
    - MatteTexture_get_field_index
    - InputSensor_get_field_index
    - Implicit_get_field_index
    - WaveletSubdivisionSurface_get_field_index
    - Shadow_get_field_index
    - Form_get_field_index
    - AudioDelay_get_field_index
    - PlaneSensor2D_get_field_index
    - ListeningPoint_get_field_index
    - Sound2D_get_field_index
    - WideSound_get_field_index
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_mpeg4_node_get_field_index(GF_Node *node, u32 inField,
      u8 code_mode, u32 *fieldIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 28318
      start: 28304
    functionDepth: 0
    functionLinenumber: 28304
    functionLinenumberEnd: 28318
    functionName: SBMuscle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBMuscle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 36613
      start: 36599
    functionDepth: 0
    functionLinenumber: 36599
    functionLinenumberEnd: 36613
    functionName: Storage_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Storage_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: SBSite_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39601,1
    - Dst: TransformMatrix2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39633,1
    - Dst: VisibilitySensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39495,1
    - Dst: ScoreShape_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39665,1
    - Dst: Coordinate2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39349,1
    - Dst: CoordinateInterpolator2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39353,1
    - Dst: Cone_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39345,1
    - Dst: Layout_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39411,1
    - Dst: Cylinder_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39357,1
    - Dst: Inline_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39403,1
    - Dst: Layer2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39407,1
    - Dst: ScalarInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39457,1
    - Dst: Shape_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39461,1
    - Dst: Sound2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39465,1
    - Dst: Viseme_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39497,1
    - Dst: Viewport_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39635,1
    - Dst: MusicScore_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39667,1
    - Dst: AcousticScene_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39503,1
    - Dst: BuildingPartNode_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39673,1
    - Dst: CacheTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39681,1
    - Dst: SubdivSurfaceSector_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39615,1
    - Dst: Text_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39477,1
    - Dst: DepthImageV2_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39647,1
    - Dst: XXLFM_LightMap_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39557,1
    - Dst: BDP_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39509,1
    - Dst: Shadow_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39679,1
    - Dst: NurbsSurface_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39571,1
    - Dst: BitWrapper_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39541,1
    - Dst: SBSkinnedModel_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39603,1
    - Dst: ElevationGrid_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39365,1
    - Dst: Extrusion_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39369,1
    - Dst: ListeningPoint_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39415,1
    - Dst: DirectionalLight_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39361,1
    - Dst: NormalInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39427,1
    - Dst: AudioBuffer_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39307,1
    - Dst: AnimationStream_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39303,1
    - Dst: AudioDelay_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39311,1
    - Dst: AudioMix_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39315,1
    - Dst: Material2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39419,1
    - Dst: DirectiveSound_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39517,1
    - Dst: SpacePartition_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39687,1
    - Dst: FAP_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39379,1
    - Dst: Implicit_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39549,1
    - Dst: RadialGradient_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39629,1
    - Dst: Valuator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39491,1
    - Dst: Transform3DAudio_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39661,1
    - Dst: PerceptualParameters_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39523,1
    - Dst: PositionAnimator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39585,1
    - Dst: XXLFM_FrameList_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39555,1
    - Dst: WaveletSubdivisionSurface_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39617,1
    - Dst: TextureCoordinate_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39479,1
    - Dst: MorphShape_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39649,1
    - Dst: FDP_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39381,1
    - Dst: Fog_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39385,1
    - Dst: OrientationInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39431,1
    - Dst: AudioSwitch_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39319,1
    - Dst: Bitmap_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39327,1
    - Dst: Background2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39323,1
    - Dst: FaceDefMesh_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39373,1
    - Dst: FaceDefTransform_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39377,1
    - Dst: PlaneSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39435,1
    - Dst: PointLight_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39439,1
    - Dst: InputSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39531,1
    - Dst: MeshGrid_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39563,1
    - Dst: SBBone_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39595,1
    - Dst: Transform_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39487,1
    - Dst: SimpleTextureV2_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39657,1
    - Dst: Switch_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39473,1
    - Dst: AdvancedAudioBuffer_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39643,1
    - Dst: ApplicationWindow_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39505,1
    - Dst: RoofNode_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39675,1
    - Dst: MediaControl_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39537,1
    - Dst: SBSegment_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39599,1
    - Dst: NurbsCurve2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39569,1
    - Dst: SynthesizedTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39631,1
    - Dst: Viewpoint_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39493,1
    - Dst: WideSound_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39663,1
    - Dst: TemporalTransform_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39525,1
    - Dst: IndexedFaceSet2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39397,1
    - Dst: PointSet2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39443,1
    - Dst: PositionInterpolator2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39447,1
    - Dst: Conditional_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39343,1
    - Dst: Form_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39389,1
    - Dst: ImageTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39393,1
    - Dst: CompositeTexture2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39339,1
    - Dst: Color_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39335,1
    - Dst: ProximitySensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39451,1
    - Dst: Circle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39331,1
    - Dst: DepthImage_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39545,1
    - Dst: XXParticleInitBox_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39577,1
    - Dst: SimpleTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39609,1
    - Dst: AcousticMaterial_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39501,1
    - Dst: FootPrintNode_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39671,1
    - Dst: SpotLight_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39471,1
    - Dst: XLineProperties_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39641,1
    - Dst: MatteTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39533,1
    - Dst: NonLinearDeformer_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39565,1
    - Dst: Hierarchical3DMesh_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39519,1
    - Dst: Storage_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39689,1
    - Dst: XXLFM_Appearance_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39551,1
    - Dst: SubdivisionSurface_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39613,1
    - Dst: PointTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39583,1
    - Dst: TermCap_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39475,1
    - Dst: AudioChannelConfig_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39645,1
    - Dst: BAP_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39507,1
    - Dst: FacadeNode_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39677,1
    - Dst: MediaSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39539,1
    - Dst: LineProperties_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39413,1
    - Dst: LOD_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39405,1
    - Dst: Layer3D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39409,1
    - Dst: CoordinateInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39351,1
    - Dst: Curve2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39355,1
    - Dst: IndexedLineSet2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39401,1
    - Dst: Coordinate_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39347,1
    - Dst: Script_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39459,1
    - Dst: Sound_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39463,1
    - Dst: Sphere_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39467,1
    - Dst: XXLFM_SurfaceMapList_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39559,1
    - Dst: ProceduralTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39591,1
    - Dst: Ellipse_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39623,1
    - Dst: BodySegmentConnectionHint_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39515,1
    - Dst: KeyNavigator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39685,1
    - Dst: TouchSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39485,1
    - Dst: SBVCAnimationV2_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39655,1
    - Dst: FFD_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39547,1
    - Dst: XXPlanarObstacle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39579,1
    - Dst: SolidRep_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39611,1
    - Dst: PathLayout_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39627,1
    - Dst: MultiTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39651,1
    - Dst: SBMuscle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39597,1
    - Dst: Transform2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39489,1
    - Dst: SurroundingSound_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39659,1
    - Dst: MaterialKey_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39521,1
    - Dst: XXLFM_BlendList_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39553,1
    - Dst: Clipper2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39619,1
    - Dst: MovieTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39421,1
    - Dst: Normal_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39425,1
    - Dst: Expression_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39367,1
    - Dst: Face_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39371,1
    - Dst: Material_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39417,1
    - Dst: AudioClip_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39309,1
    - Dst: Appearance_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39305,1
    - Dst: AudioFX_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39313,1
    - Dst: CylinderSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39359,1
    - Dst: DiscSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39363,1
    - Dst: Body_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39511,1
    - Dst: OctreeImage_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39573,1
    - Dst: ServerCommand_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39529,1
    - Dst: SBVCAnimation_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39605,1
    - Dst: WorldInfo_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39499,1
    - Dst: XCurve2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39637,1
    - Dst: XXLFM_ViewMapList_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39561,1
    - Dst: FootPrintSetNode_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39669,1
    - Dst: NavigationInfo_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39423,1
    - Dst: Quadric_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39593,1
    - Dst: Rectangle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39455,1
    - Dst: LinearGradient_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39625,1
    - Dst: Anchor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39301,1
    - Dst: MediaBuffer_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39535,1
    - Dst: NurbsCurve_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39567,1
    - Dst: AudioSource_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39317,1
    - Dst: Background_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39321,1
    - Dst: Box_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39329,1
    - Dst: Billboard_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39325,1
    - Dst: PlaneSensor2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39437,1
    - Dst: PointSet_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39441,1
    - Dst: FIT_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39383,1
    - Dst: OrderedGroup_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39429,1
    - Dst: PixelTexture_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39433,1
    - Dst: FaceDefTables_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39375,1
    - Dst: TextureTransform_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39481,1
    - Dst: BodyDefTable_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39513,1
    - Dst: CoordinateInterpolator4D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39543,1
    - Dst: XXParticles_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39575,1
    - Dst: ScalarAnimator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39607,1
    - Dst: EnvironmentTest_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39683,1
    - Dst: SphereSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39469,1
    - Dst: XFontStyle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39639,1
    - Dst: XXPointAttractor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39581,1
    - Dst: PositionAnimator2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39587,1
    - Dst: IndexedFaceSet_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39395,1
    - Dst: CompositeTexture3D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39341,1
    - Dst: QuantizationParameter_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39453,1
    - Dst: IndexedLineSet_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39399,1
    - Dst: PositionInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39445,1
    - Dst: Collision_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39333,1
    - Dst: ColorInterpolator_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39337,1
    - Dst: Group_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39391,1
    - Dst: ProximitySensor2D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39449,1
    - Dst: FontStyle_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39387,1
    - Dst: TemporalGroup_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39527,1
    - Dst: PositionInterpolator4D_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39589,1
    - Dst: TimeSensor_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39483,1
    - Dst: ColorTransform_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39621,1
    - Dst: PointTextureV2_get_aq_info
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:39653,1
    CyclomaticComplexity: 204
    EdgeCount: 204
    ICount: 197
    argCount: 7
    argNames:
    - node
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 39693
      start: 39297
    functionDepth: 0
    functionLinenumber: 39297
    functionLinenumberEnd: 39693
    functionName: gf_sg_mpeg4_node_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - NavigationInfo_get_aq_info
    - PointTextureV2_get_aq_info
    - IndexedFaceSet_get_aq_info
    - Transform3DAudio_get_aq_info
    - XCurve2D_get_aq_info
    - Transform_get_aq_info
    - WaveletSubdivisionSurface_get_aq_info
    - Appearance_get_aq_info
    - Box_get_aq_info
    - OrderedGroup_get_aq_info
    - SynthesizedTexture_get_aq_info
    - ColorInterpolator_get_aq_info
    - PositionInterpolator2D_get_aq_info
    - Text_get_aq_info
    - BodySegmentConnectionHint_get_aq_info
    - Valuator_get_aq_info
    - AdvancedAudioBuffer_get_aq_info
    - XLineProperties_get_aq_info
    - Hierarchical3DMesh_get_aq_info
    - Coordinate_get_aq_info
    - SpacePartition_get_aq_info
    - SBMuscle_get_aq_info
    - Extrusion_get_aq_info
    - ImageTexture_get_aq_info
    - PlaneSensor2D_get_aq_info
    - SpotLight_get_aq_info
    - MediaSensor_get_aq_info
    - Storage_get_aq_info
    - AudioSource_get_aq_info
    - AudioMix_get_aq_info
    - Ellipse_get_aq_info
    - Expression_get_aq_info
    - CompositeTexture2D_get_aq_info
    - LOD_get_aq_info
    - PositionAnimator2D_get_aq_info
    - DepthImageV2_get_aq_info
    - Group_get_aq_info
    - Layer3D_get_aq_info
    - Form_get_aq_info
    - Quadric_get_aq_info
    - PositionAnimator_get_aq_info
    - PositionInterpolator_get_aq_info
    - Normal_get_aq_info
    - LineProperties_get_aq_info
    - Layer2D_get_aq_info
    - SimpleTextureV2_get_aq_info
    - BitWrapper_get_aq_info
    - Shape_get_aq_info
    - SBSkinnedModel_get_aq_info
    - XXLFM_Appearance_get_aq_info
    - FootPrintSetNode_get_aq_info
    - PerceptualParameters_get_aq_info
    - TransformMatrix2D_get_aq_info
    - Body_get_aq_info
    - AnimationStream_get_aq_info
    - DiscSensor_get_aq_info
    - Viewport_get_aq_info
    - ApplicationWindow_get_aq_info
    - XXLFM_FrameList_get_aq_info
    - WorldInfo_get_aq_info
    - MediaBuffer_get_aq_info
    - SBVCAnimationV2_get_aq_info
    - Background2D_get_aq_info
    - Material2D_get_aq_info
    - Viseme_get_aq_info
    - MediaControl_get_aq_info
    - XXParticleInitBox_get_aq_info
    - FontStyle_get_aq_info
    - BAP_get_aq_info
    - SolidRep_get_aq_info
    - FIT_get_aq_info
    - PointTexture_get_aq_info
    - WideSound_get_aq_info
    - IndexedLineSet2D_get_aq_info
    - TextureTransform_get_aq_info
    - AudioDelay_get_aq_info
    - OctreeImage_get_aq_info
    - Switch_get_aq_info
    - RadialGradient_get_aq_info
    - Shadow_get_aq_info
    - CacheTexture_get_aq_info
    - Sphere_get_aq_info
    - MeshGrid_get_aq_info
    - KeyNavigator_get_aq_info
    - XXLFM_ViewMapList_get_aq_info
    - InputSensor_get_aq_info
    - FaceDefMesh_get_aq_info
    - XXLFM_LightMap_get_aq_info
    - AudioFX_get_aq_info
    - FaceDefTransform_get_aq_info
    - CoordinateInterpolator4D_get_aq_info
    - EnvironmentTest_get_aq_info
    - Layout_get_aq_info
    - Viewpoint_get_aq_info
    - Billboard_get_aq_info
    - SBBone_get_aq_info
    - SBVCAnimation_get_aq_info
    - Clipper2D_get_aq_info
    - Bitmap_get_aq_info
    - NurbsCurve2D_get_aq_info
    - DirectionalLight_get_aq_info
    - AudioBuffer_get_aq_info
    - PointSet2D_get_aq_info
    - ScalarAnimator_get_aq_info
    - Background_get_aq_info
    - PositionInterpolator4D_get_aq_info
    - AudioClip_get_aq_info
    - Implicit_get_aq_info
    - TouchSensor_get_aq_info
    - Script_get_aq_info
    - ListeningPoint_get_aq_info
    - PixelTexture_get_aq_info
    - Sound2D_get_aq_info
    - TemporalGroup_get_aq_info
    - Rectangle_get_aq_info
    - Curve2D_get_aq_info
    - CoordinateInterpolator2D_get_aq_info
    - NurbsSurface_get_aq_info
    - ProceduralTexture_get_aq_info
    - Fog_get_aq_info
    - Coordinate2D_get_aq_info
    - ElevationGrid_get_aq_info
    - XXPlanarObstacle_get_aq_info
    - NurbsCurve_get_aq_info
    - ScoreShape_get_aq_info
    - FAP_get_aq_info
    - SBSegment_get_aq_info
    - TemporalTransform_get_aq_info
    - Material_get_aq_info
    - RoofNode_get_aq_info
    - PointSet_get_aq_info
    - PlaneSensor_get_aq_info
    - ScalarInterpolator_get_aq_info
    - Transform2D_get_aq_info
    - DepthImage_get_aq_info
    - ColorTransform_get_aq_info
    - PathLayout_get_aq_info
    - Inline_get_aq_info
    - SphereSensor_get_aq_info
    - ProximitySensor2D_get_aq_info
    - FDP_get_aq_info
    - XFontStyle_get_aq_info
    - MaterialKey_get_aq_info
    - OrientationInterpolator_get_aq_info
    - Color_get_aq_info
    - VisibilitySensor_get_aq_info
    - Face_get_aq_info
    - NonLinearDeformer_get_aq_info
    - SBSite_get_aq_info
    - Circle_get_aq_info
    - NormalInterpolator_get_aq_info
    - FaceDefTables_get_aq_info
    - SubdivisionSurface_get_aq_info
    - FFD_get_aq_info
    - QuantizationParameter_get_aq_info
    - XXParticles_get_aq_info
    - SimpleTexture_get_aq_info
    - TextureCoordinate_get_aq_info
    - TimeSensor_get_aq_info
    - XXLFM_BlendList_get_aq_info
    - MovieTexture_get_aq_info
    - CompositeTexture3D_get_aq_info
    - DirectiveSound_get_aq_info
    - LinearGradient_get_aq_info
    - Cylinder_get_aq_info
    - FacadeNode_get_aq_info
    - MultiTexture_get_aq_info
    - ServerCommand_get_aq_info
    - CoordinateInterpolator_get_aq_info
    - BuildingPartNode_get_aq_info
    - AcousticScene_get_aq_info
    - SubdivSurfaceSector_get_aq_info
    - ProximitySensor_get_aq_info
    - Anchor_get_aq_info
    - IndexedLineSet_get_aq_info
    - BDP_get_aq_info
    - BodyDefTable_get_aq_info
    - XXPointAttractor_get_aq_info
    - TermCap_get_aq_info
    - Collision_get_aq_info
    - XXLFM_SurfaceMapList_get_aq_info
    - Sound_get_aq_info
    - FootPrintNode_get_aq_info
    - MatteTexture_get_aq_info
    - Conditional_get_aq_info
    - MorphShape_get_aq_info
    - MusicScore_get_aq_info
    - CylinderSensor_get_aq_info
    - AcousticMaterial_get_aq_info
    - AudioChannelConfig_get_aq_info
    - SurroundingSound_get_aq_info
    - Cone_get_aq_info
    - IndexedFaceSet2D_get_aq_info
    - PointLight_get_aq_info
    - AudioSwitch_get_aq_info
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sg_mpeg4_node_get_aq_info(GF_Node *node, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7086
      start: 7049
    functionDepth: 0
    functionLinenumber: 7049
    functionLinenumberEnd: 7086
    functionName: Fog_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Fog_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13501,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13502,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13504,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13503,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13507
      start: 13498
    functionDepth: 0
    functionLinenumber: 13498
    functionLinenumberEnd: 13507
    functionName: SphereSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SphereSensor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7091,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7094,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7093,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7092,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7097
      start: 7089
    functionDepth: 0
    functionLinenumber: 7089
    functionLinenumberEnd: 7097
    functionName: Fog_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Fog_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13520
      start: 13508
    functionDepth: 0
    functionLinenumber: 13508
    functionLinenumberEnd: 13520
    functionName: SphereSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SphereSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 36496
      start: 36482
    functionDepth: 0
    functionLinenumber: 36482
    functionLinenumberEnd: 36496
    functionName: SpacePartition_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SpacePartition_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 298
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 301
    EdgeCount: 301
    ICount: 1186
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 18422
      start: 16640
    functionDepth: 0
    functionLinenumber: 16640
    functionLinenumberEnd: 18422
    functionName: BAP_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BAP_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23610
      start: 23596
    functionDepth: 0
    functionLinenumber: 23596
    functionLinenumberEnd: 23610
    functionName: DepthImage_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DepthImage_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24066,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24078
      start: 24060
    functionDepth: 0
    functionLinenumber: 24060
    functionLinenumberEnd: 24078
    functionName: Implicit_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Implicit_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34020
      start: 34011
    functionDepth: 0
    functionLinenumber: 34011
    functionLinenumberEnd: 34020
    functionName: SimpleTextureV2_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SimpleTextureV2_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35207
      start: 35192
    functionDepth: 0
    functionLinenumber: 35192
    functionLinenumberEnd: 35207
    functionName: FootPrintSetNode_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FootPrintSetNode_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23621
      start: 23612
    functionDepth: 0
    functionLinenumber: 23612
    functionLinenumberEnd: 23621
    functionName: DepthImage_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DepthImage_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24085,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24090,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24092,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24091,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24094
      start: 24082
    functionDepth: 0
    functionLinenumber: 24082
    functionLinenumberEnd: 24094
    functionName: Implicit_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Implicit_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 32354
      start: 32340
    functionDepth: 0
    functionLinenumber: 32340
    functionLinenumberEnd: 32354
    functionName: XLineProperties_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XLineProperties_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 297
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18441,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18443,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18461,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18479,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18517,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18537,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18555,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18573,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18575,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18607,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18687,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18715,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18705,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18714,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18654,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18718,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18592,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18700,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18432,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18450,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18488,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18506,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18508,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18526,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18544,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18564,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18620,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18667,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18605,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18713,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18651,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18477,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18439,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18459,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18515,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18533,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18535,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18553,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18571,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18591,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18680,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18618,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18664,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18655,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18682,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18696,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18430,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18428,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18448,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18486,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18504,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18524,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18542,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18562,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18693,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18611,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18631,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18587,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18677,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18668,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18695,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18606,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18633,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18437,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18455,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18457,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18495,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18475,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18513,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18531,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18551,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18569,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18706,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18644,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18582,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18600,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18690,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18681,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18708,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18619,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18646,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18484,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18446,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18464,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18502,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18520,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18522,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18540,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18558,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18578,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18584,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18719,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18657,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18613,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18703,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18694,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18721,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18632,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18659,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18597,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18588,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18435,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18453,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18511,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18529,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18547,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18549,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18567,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18585,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18670,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18608,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18626,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18716,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18707,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18645,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18672,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18610,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18601,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18691,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18709,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18482,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18462,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18442,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18444,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18480,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18518,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18538,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18556,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18576,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18621,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18639,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18678,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18660,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18683,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18720,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18658,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18685,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18596,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18623,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18614,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18704,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18722,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18433,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18451,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18489,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18507,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18509,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18527,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18565,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18583,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18634,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18652,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18669,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18671,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18698,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18609,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18636,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18627,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18717,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18673,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18440,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18460,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18478,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18498,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18516,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18534,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18536,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18554,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18572,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18574,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18603,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18647,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18665,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18684,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18711,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18622,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18649,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18640,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18642,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18686,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18624,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18487,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18431,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18429,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18449,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18467,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18505,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18525,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18543,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18563,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18589,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18598,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18616,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18635,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18662,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18653,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18697,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18699,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18637,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18476,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18494,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18438,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18458,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18496,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18514,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18532,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18552,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18570,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18590,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18602,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18629,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18648,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18666,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18675,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18710,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18604,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18712,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18650,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18447,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18465,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18503,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18485,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18521,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18523,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18541,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18559,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18561,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18579,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18580,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18599,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18661,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18617,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18679,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18688,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18701,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18663,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18474,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18436,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18454,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18456,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18492,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18512,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18530,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18550,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18568,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18586,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18593,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18612,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18630,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18674,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18692,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18676,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18615,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18501,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18481,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18445,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18483,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18519,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18539,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18557,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18577,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18595,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18625,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18581,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18643,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18689,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18628,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18490,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18427,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18434,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18452,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18510,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18528,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18546,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18548,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18566,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18594,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18638,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18656,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18702,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:18641,1
    CyclomaticComplexity: 298
    EdgeCount: 298
    ICount: 593
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 18724
      start: 18425
    functionDepth: 0
    functionLinenumber: 18425
    functionLinenumberEnd: 18724
    functionName: BAP_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BAP_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 34062
      start: 34021
    functionDepth: 0
    functionLinenumber: 34021
    functionLinenumberEnd: 34062
    functionName: SimpleTextureV2_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SimpleTextureV2_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35221
      start: 35208
    functionDepth: 0
    functionLinenumber: 35208
    functionLinenumberEnd: 35221
    functionName: FootPrintSetNode_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FootPrintSetNode_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35529
      start: 35515
    functionDepth: 0
    functionLinenumber: 35515
    functionLinenumberEnd: 35529
    functionName: RoofNode_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 RoofNode_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4060
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4060
    functionName: CylinderSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CylinderSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4121
      start: 4061
    functionDepth: 0
    functionLinenumber: 4061
    functionLinenumberEnd: 4121
    functionName: CylinderSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CylinderSensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10381
      start: 10367
    functionDepth: 0
    functionLinenumber: 10367
    functionLinenumberEnd: 10381
    functionName: OrderedGroup_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 OrderedGroup_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 36179
      start: 36165
    functionDepth: 0
    functionLinenumber: 36165
    functionLinenumberEnd: 36179
    functionName: EnvironmentTest_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 EnvironmentTest_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4507,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4511,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4508,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4510,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4509,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4513
      start: 4504
    functionDepth: 0
    functionLinenumber: 4504
    functionLinenumberEnd: 4513
    functionName: ElevationGrid_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ElevationGrid_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24797
      start: 24765
    functionDepth: 0
    functionLinenumber: 24765
    functionLinenumberEnd: 24797
    functionName: XXLFM_ViewMapList_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_ViewMapList_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33744
      start: 33689
    functionDepth: 0
    functionLinenumber: 33689
    functionLinenumberEnd: 33744
    functionName: PointTextureV2_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointTextureV2_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24802,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24803,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24804,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24807
      start: 24800
    functionDepth: 0
    functionLinenumber: 24800
    functionLinenumberEnd: 24807
    functionName: XXLFM_ViewMapList_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_ViewMapList_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33749,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33751,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33750,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33752,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33753,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33754,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33756,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33758
      start: 33747
    functionDepth: 0
    functionLinenumber: 33747
    functionLinenumberEnd: 33758
    functionName: PointTextureV2_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointTextureV2_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15912,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15921
      start: 15909
    functionDepth: 0
    functionLinenumber: 15909
    functionLinenumberEnd: 15921
    functionName: Viseme_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Viseme_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35486,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35493,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35494,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35496
      start: 35483
    functionDepth: 0
    functionLinenumber: 35483
    functionLinenumberEnd: 35496
    functionName: BuildingPartNode_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BuildingPartNode_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29175
      start: 29161
    functionDepth: 0
    functionLinenumber: 29161
    functionLinenumberEnd: 29175
    functionName: ScalarAnimator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ScalarAnimator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3287,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3299
      start: 3281
    functionDepth: 0
    functionLinenumber: 3281
    functionLinenumberEnd: 3299
    functionName: Cone_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Cone_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34650,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34651,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34664,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34675,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34681,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34687,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 34693
      start: 34644
    functionDepth: 0
    functionLinenumber: 34644
    functionLinenumberEnd: 34693
    functionName: WideSound_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool WideSound_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3311,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3308,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3316
    functionName: Cone_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Cone_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29192
      start: 29177
    functionDepth: 0
    functionLinenumber: 29177
    functionLinenumberEnd: 29192
    functionName: ScalarAnimator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScalarAnimator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34700,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34705,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34707,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34706,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34702,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34708,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34711,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34713,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34714,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34715,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34719,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34717,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34721,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34716,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34723
      start: 34697
    functionDepth: 0
    functionLinenumber: 34697
    functionLinenumberEnd: 34723
    functionName: WideSound_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *WideSound_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15931,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15933,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15934
      start: 15928
    functionDepth: 0
    functionLinenumber: 15928
    functionLinenumberEnd: 15934
    functionName: WorldInfo_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void WorldInfo_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35506,1
    - Dst: gf_sg_sfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35507,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35509
      start: 35503
    functionDepth: 0
    functionLinenumber: 35503
    functionLinenumberEnd: 35509
    functionName: RoofNode_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfurl_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void RoofNode_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 31413
      start: 31395
    functionDepth: 0
    functionLinenumber: 31395
    functionLinenumberEnd: 31413
    functionName: SynthesizedTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SynthesizedTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7320,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7324,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7323,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7321,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7325
      start: 7317
    functionDepth: 0
    functionLinenumber: 7317
    functionLinenumberEnd: 7325
    functionName: Form_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    - gf_sg_mfstring_del
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void Form_Del(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 31486
      start: 31414
    functionDepth: 0
    functionLinenumber: 31414
    functionLinenumberEnd: 31486
    functionName: SynthesizedTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SynthesizedTexture_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32551,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32556,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32558,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32557,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32553,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32564,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32565,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32566,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32569
      start: 32548
    functionDepth: 0
    functionLinenumber: 32548
    functionLinenumberEnd: 32569
    functionName: XLineProperties_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XLineProperties_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:740,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:741,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:742,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:744,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:743,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:745,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:746,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: AudioClip_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioClip_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1153
    functionName: AudioMix_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioMix_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5521,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5523
      start: 5518
    functionDepth: 0
    functionLinenumber: 5518
    functionLinenumberEnd: 5523
    functionName: FaceDefTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FaceDefTransform_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2252
    functionName: Box_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Box_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfcommand_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3096,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3098
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3098
    functionName: Conditional_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfcommand_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Conditional_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32329,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32331,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32332,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 32333
      start: 32326
    functionDepth: 0
    functionLinenumber: 32326
    functionLinenumberEnd: 32333
    functionName: XLineProperties_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void XLineProperties_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4841,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4855,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4849,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4842,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4848,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4856,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4862,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4863,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 4868
      start: 4834
    functionDepth: 0
    functionLinenumber: 4834
    functionLinenumberEnd: 4868
    functionName: Expression_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Expression_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29408
      start: 29402
    functionDepth: 0
    functionLinenumber: 29402
    functionLinenumberEnd: 29408
    functionName: SimpleTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SimpleTexture_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:756,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: AudioClip_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioClip_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1207
    functionName: AudioMix_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioMix_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1985
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1985
    functionName: Billboard_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Billboard_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2259,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2264,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2266,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2265,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2268
    functionName: Box_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Box_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4875,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4885
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4885
    functionName: Expression_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Expression_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13919
      start: 13904
    functionDepth: 0
    functionLinenumber: 13904
    functionLinenumberEnd: 13919
    functionName: TermCap_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TermCap_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29415,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29421
      start: 29412
    functionDepth: 0
    functionLinenumber: 29412
    functionLinenumberEnd: 29421
    functionName: SimpleTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SimpleTexture_Create() '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23863
      start: 23774
    functionDepth: 0
    functionLinenumber: 23774
    functionLinenumberEnd: 23863
    functionName: FFD_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FFD_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5503,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5511
      start: 5500
    functionDepth: 0
    functionLinenumber: 5500
    functionLinenumberEnd: 5511
    functionName: FaceDefTables_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FaceDefTables_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32579,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32580,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 32582
      start: 32576
    functionDepth: 0
    functionLinenumber: 32576
    functionLinenumberEnd: 32582
    functionName: AdvancedAudioBuffer_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void AdvancedAudioBuffer_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23424
      start: 23393
    functionDepth: 0
    functionLinenumber: 23393
    functionLinenumberEnd: 23424
    functionName: BitWrapper_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BitWrapper_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 33259
      start: 33245
    functionDepth: 0
    functionLinenumber: 33245
    functionLinenumberEnd: 33259
    functionName: DepthImageV2_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DepthImageV2_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33113,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33121,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33128,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33170,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33177,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33184,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33191,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33120,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33127,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33134,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33176,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33169,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33183,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33190,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33135,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33142,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33149,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33163,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33198,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33114,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33141,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33155,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33148,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33162,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33197,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33203
      start: 33106
    functionDepth: 0
    functionLinenumber: 33106
    functionLinenumberEnd: 33203
    functionName: AudioChannelConfig_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioChannelConfig_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29052,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29053,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29055
      start: 29049
    functionDepth: 0
    functionLinenumber: 29049
    functionLinenumberEnd: 29055
    functionName: SBVCAnimation_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void SBVCAnimation_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 34794
      start: 34774
    functionDepth: 0
    functionLinenumber: 34774
    functionLinenumberEnd: 34794
    functionName: ScoreShape_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScoreShape_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: Appearance_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Appearance_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23429,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23431,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23430,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23434
      start: 23427
    functionDepth: 0
    functionLinenumber: 23427
    functionLinenumberEnd: 23434
    functionName: BitWrapper_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BitWrapper_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 33270
      start: 33261
    functionDepth: 0
    functionLinenumber: 33261
    functionLinenumberEnd: 33270
    functionName: DepthImageV2_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DepthImageV2_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33210,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33223,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33212,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33224,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33229
      start: 33207
    functionDepth: 0
    functionLinenumber: 33207
    functionLinenumberEnd: 33229
    functionName: AudioChannelConfig_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioChannelConfig_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34799,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34802
      start: 34797
    functionDepth: 0
    functionLinenumber: 34797
    functionLinenumberEnd: 34802
    functionName: ScoreShape_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ScoreShape_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 5191
      start: 5176
    functionDepth: 0
    functionLinenumber: 5176
    functionLinenumberEnd: 5191
    functionName: Face_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Face_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3185
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3185
    functionName: Conditional_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Conditional_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4368
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4368
    functionName: DiscSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 DiscSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9347,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9349
      start: 9344
    functionDepth: 0
    functionLinenumber: 9344
    functionLinenumberEnd: 9349
    functionName: ListeningPoint_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void ListeningPoint_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33985,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33988,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33989,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33986,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33987,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33991
      start: 33982
    functionDepth: 0
    functionLinenumber: 33982
    functionLinenumberEnd: 33991
    functionName: SimpleTextureV2_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SimpleTextureV2_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36113,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36114,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36115,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36117,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36116,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36118,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36119,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36122
      start: 36111
    functionDepth: 0
    functionLinenumber: 36111
    functionLinenumberEnd: 36122
    functionName: CacheTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CacheTexture_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 36351
      start: 36336
    functionDepth: 0
    functionLinenumber: 36336
    functionLinenumberEnd: 36351
    functionName: KeyNavigator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err KeyNavigator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5679
      start: 5665
    functionDepth: 0
    functionLinenumber: 5665
    functionLinenumberEnd: 5679
    functionName: FAP_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FAP_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3192,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3195,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3199
    functionName: Conditional_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Conditional_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 4385
      start: 4370
    functionDepth: 0
    functionLinenumber: 4370
    functionLinenumberEnd: 4385
    functionName: DiscSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DiscSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5233
      start: 5192
    functionDepth: 0
    functionLinenumber: 5192
    functionLinenumberEnd: 5233
    functionName: Face_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Face_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7993
      start: 7979
    functionDepth: 0
    functionLinenumber: 7979
    functionLinenumberEnd: 7993
    functionName: IndexedFaceSet2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 IndexedFaceSet2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 36129
      start: 36123
    functionDepth: 0
    functionLinenumber: 36123
    functionLinenumberEnd: 36129
    functionName: CacheTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CacheTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 36426
      start: 36352
    functionDepth: 0
    functionLinenumber: 36352
    functionLinenumberEnd: 36426
    functionName: KeyNavigator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err KeyNavigator_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9326,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9328,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9332,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9331,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9333,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9337
      start: 9323
    functionDepth: 0
    functionLinenumber: 9323
    functionLinenumberEnd: 9337
    functionName: LineProperties_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *LineProperties_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33965,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33967,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33970,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33975
      start: 33962
    functionDepth: 0
    functionLinenumber: 33962
    functionLinenumberEnd: 33975
    functionName: SBVCAnimationV2_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBVCAnimationV2_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23038
      start: 22996
    functionDepth: 0
    functionLinenumber: 22996
    functionLinenumberEnd: 23038
    functionName: MediaBuffer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaBuffer_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35298
      start: 35283
    functionDepth: 0
    functionLinenumber: 35283
    functionLinenumberEnd: 35298
    functionName: FootPrintNode_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FootPrintNode_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12673
      start: 12659
    functionDepth: 0
    functionLinenumber: 12659
    functionLinenumberEnd: 12673
    functionName: ScalarInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ScalarInterpolator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23043,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23045,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23044,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23046,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23047,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23050
      start: 23041
    functionDepth: 0
    functionLinenumber: 23041
    functionLinenumberEnd: 23050
    functionName: MediaBuffer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MediaBuffer_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35281
      start: 35267
    functionDepth: 0
    functionLinenumber: 35267
    functionLinenumberEnd: 35281
    functionName: FootPrintNode_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FootPrintNode_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35318
      start: 35299
    functionDepth: 0
    functionLinenumber: 35299
    functionLinenumberEnd: 35318
    functionName: FootPrintNode_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FootPrintNode_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2698,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2704,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2699,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2710
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2710
    functionName: ColorInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ColorInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2717,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2723
    functionName: ColorInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ColorInterpolator_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3649,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3650,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3651,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3646
    functionDepth: 0
    functionLinenumber: 3646
    functionLinenumberEnd: 3653
    functionName: CoordinateInterpolator2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateInterpolator2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22789
      start: 22783
    functionDepth: 0
    functionLinenumber: 22783
    functionLinenumberEnd: 22789
    functionName: InputSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool InputSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: AudioClip_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioClip_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7508
      start: 7494
    functionDepth: 0
    functionLinenumber: 7494
    functionLinenumberEnd: 7508
    functionName: Group_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Group_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13435
      start: 13421
    functionDepth: 0
    functionLinenumber: 13421
    functionLinenumberEnd: 13435
    functionName: SphereSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SphereSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22796,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22799,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22804
      start: 22793
    functionDepth: 0
    functionLinenumber: 22793
    functionLinenumberEnd: 22804
    functionName: InputSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *InputSensor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34868
      start: 34854
    functionDepth: 0
    functionLinenumber: 34854
    functionLinenumberEnd: 34868
    functionName: MusicScore_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MusicScore_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7878,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7882,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7881,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7880,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7879,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7883,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7884,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7885,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7886,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7887,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7888,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7889,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7893,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7894,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7890,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7895,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7891,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7897
      start: 7876
    functionDepth: 0
    functionLinenumber: 7876
    functionLinenumberEnd: 7897
    functionName: IndexedFaceSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedFaceSet_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7904,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7916,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7910,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7922,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7917,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7928,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7934
      start: 7898
    functionDepth: 0
    functionLinenumber: 7898
    functionLinenumberEnd: 7934
    functionName: IndexedFaceSet_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IndexedFaceSet_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8622,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8624,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8626
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8626
    functionName: LOD_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LOD_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10674,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10676,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10678
      start: 10672
    functionDepth: 0
    functionLinenumber: 10672
    functionLinenumberEnd: 10678
    functionName: PixelTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PixelTexture_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29901
      start: 29886
    functionDepth: 0
    functionLinenumber: 29886
    functionLinenumberEnd: 29901
    functionName: SubdivSurfaceSector_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SubdivSurfaceSector_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31570,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 31572
      start: 31567
    functionDepth: 0
    functionLinenumber: 31567
    functionLinenumberEnd: 31572
    functionName: TransformMatrix2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TransformMatrix2D_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8639,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8645
      start: 8627
    functionDepth: 0
    functionLinenumber: 8627
    functionLinenumberEnd: 8645
    functionName: LOD_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool LOD_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10689
      start: 10679
    functionDepth: 0
    functionLinenumber: 10679
    functionLinenumberEnd: 10689
    functionName: PixelTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PixelTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29950
      start: 29902
    functionDepth: 0
    functionLinenumber: 29902
    functionLinenumberEnd: 29950
    functionName: SubdivSurfaceSector_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SubdivSurfaceSector_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31549,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31551,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31560
      start: 31546
    functionDepth: 0
    functionLinenumber: 31546
    functionLinenumberEnd: 31560
    functionName: SynthesizedTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SynthesizedTexture_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13835
      start: 13816
    functionDepth: 0
    functionLinenumber: 13816
    functionLinenumberEnd: 13835
    functionName: Switch_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Switch_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21787,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21794,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21799,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21788,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21793,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21800,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21805,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21806,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21811
      start: 21781
    functionDepth: 0
    functionLinenumber: 21781
    functionLinenumberEnd: 21811
    functionName: MaterialKey_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MaterialKey_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23868,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23872,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23871,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23870,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23869,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23873,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23874,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23875,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23876,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23877,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23878,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23879,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23880,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23882
      start: 23866
    functionDepth: 0
    functionLinenumber: 23866
    functionLinenumberEnd: 23882
    functionName: FFD_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FFD_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13843
      start: 13838
    functionDepth: 0
    functionLinenumber: 13838
    functionLinenumberEnd: 13843
    functionName: Switch_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Switch_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21818,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21825,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21826,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21820,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21827,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21828,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21829,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21832
      start: 21815
    functionDepth: 0
    functionLinenumber: 21815
    functionLinenumberEnd: 21832
    functionName: MaterialKey_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MaterialKey_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23896,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23897,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23904,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23910,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23903,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23911,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23917,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23918,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23924,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23925,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23932,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23931,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23937
      start: 23883
    functionDepth: 0
    functionLinenumber: 23883
    functionLinenumberEnd: 23937
    functionName: FFD_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FFD_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2046,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2049,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2048,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2051
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2051
    functionName: Billboard_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Billboard_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11981
      start: 11977
    functionDepth: 0
    functionLinenumber: 11977
    functionLinenumberEnd: 11981
    functionName: QuantizationParameter_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void QuantizationParameter_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12632,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12637,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12638,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12640
      start: 12629
    functionDepth: 0
    functionLinenumber: 12629
    functionLinenumberEnd: 12640
    functionName: Rectangle_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Rectangle_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14306,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14309,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14308,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14311
      start: 14304
    functionDepth: 0
    functionLinenumber: 14304
    functionLinenumberEnd: 14311
    functionName: TextureTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureTransform_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22661
      start: 22630
    functionDepth: 0
    functionLinenumber: 22630
    functionLinenumberEnd: 22661
    functionName: ServerCommand_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ServerCommand_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25629,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25638
      start: 25626
    functionDepth: 0
    functionLinenumber: 25626
    functionLinenumberEnd: 25638
    functionName: NurbsCurve2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NurbsCurve2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34448,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34455,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34450,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34454,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34451,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34456,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34457,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34458,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34459,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34460,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34461,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34466,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34465,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34464,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34463,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34468
      start: 34445
    functionDepth: 0
    functionLinenumber: 34445
    functionLinenumberEnd: 34468
    functionName: Transform3DAudio_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Transform3DAudio_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35975,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35977,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35976,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35978,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35979,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35980,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35981,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35983
      start: 35973
    functionDepth: 0
    functionLinenumber: 35973
    functionLinenumberEnd: 35983
    functionName: Shadow_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Shadow_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2062
    functionName: Billboard_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Billboard_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14324,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14325,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14342
      start: 14312
    functionDepth: 0
    functionLinenumber: 14312
    functionLinenumberEnd: 14342
    functionName: TextureTransform_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TextureTransform_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22666,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22667,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22668,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22671
      start: 22664
    functionDepth: 0
    functionLinenumber: 22664
    functionLinenumberEnd: 22671
    functionName: ServerCommand_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ServerCommand_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35990
      start: 35984
    functionDepth: 0
    functionLinenumber: 35984
    functionLinenumberEnd: 35990
    functionName: Shadow_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Shadow_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22206,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22209,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22208,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22210,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22211
      start: 22203
    functionDepth: 0
    functionLinenumber: 22203
    functionLinenumberEnd: 22211
    functionName: TemporalTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void TemporalTransform_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12650,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12651,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 12653
      start: 12647
    functionDepth: 0
    functionLinenumber: 12647
    functionLinenumberEnd: 12653
    functionName: ScalarInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ScalarInterpolator_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22163,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22166,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22167,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22171,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22189,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22170,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22178,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22181,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22182,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22174,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22180,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22169,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22173,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22177,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22175,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22183,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22185,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22186,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22187,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22161,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22168,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22172,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22196
      start: 22158
    functionDepth: 0
    functionLinenumber: 22158
    functionLinenumberEnd: 22196
    functionName: PerceptualParameters_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PerceptualParameters_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25648,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25649,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25652,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25650,1
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25651,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25653,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25654,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25655,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25656,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 25658
      start: 25645
    functionDepth: 0
    functionLinenumber: 25645
    functionLinenumberEnd: 25658
    functionName: NurbsSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfint32_del
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_mfvec4f_del
    linkageType: ''
    returnType: void
    signature: 'static void NurbsSurface_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34478,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34481,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34479,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 34482
      start: 34475
    functionDepth: 0
    functionLinenumber: 34475
    functionLinenumberEnd: 34482
    functionName: WideSound_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void WideSound_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29506,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29508,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29510
      start: 29504
    functionDepth: 0
    functionLinenumber: 29504
    functionLinenumberEnd: 29510
    functionName: SolidRep_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SolidRep_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11999
      start: 11985
    functionDepth: 0
    functionLinenumber: 11985
    functionLinenumberEnd: 11999
    functionName: QuantizationParameter_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 QuantizationParameter_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24670
      start: 24639
    functionDepth: 0
    functionLinenumber: 24639
    functionLinenumberEnd: 24670
    functionName: XXLFM_SurfaceMapList_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_SurfaceMapList_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 27370
      start: 27356
    functionDepth: 0
    functionLinenumber: 27356
    functionLinenumberEnd: 27370
    functionName: ProceduralTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ProceduralTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29523
      start: 29511
    functionDepth: 0
    functionLinenumber: 29511
    functionLinenumberEnd: 29523
    functionName: SolidRep_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SolidRep_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12010
      start: 12001
    functionDepth: 0
    functionLinenumber: 12001
    functionLinenumberEnd: 12010
    functionName: QuantizationParameter_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err QuantizationParameter_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24675,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24678,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24677,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24680
      start: 24673
    functionDepth: 0
    functionLinenumber: 24673
    functionLinenumberEnd: 24680
    functionName: XXLFM_SurfaceMapList_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_SurfaceMapList_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 27387
      start: 27372
    functionDepth: 0
    functionLinenumber: 27372
    functionLinenumberEnd: 27387
    functionName: ProceduralTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProceduralTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 31393
      start: 31379
    functionDepth: 0
    functionLinenumber: 31379
    functionLinenumberEnd: 31393
    functionName: SynthesizedTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SynthesizedTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26067
      start: 26053
    functionDepth: 0
    functionLinenumber: 26053
    functionLinenumberEnd: 26067
    functionName: XXParticles_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXParticles_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26818
      start: 26804
    functionDepth: 0
    functionLinenumber: 26804
    functionLinenumberEnd: 26818
    functionName: PositionAnimator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionAnimator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2632
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2632
    functionName: ColorInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ColorInterpolator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11445
      start: 11431
    functionDepth: 0
    functionLinenumber: 11431
    functionLinenumberEnd: 11445
    functionName: PositionInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionInterpolator_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateInterpolator2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38159,1
    - Dst: FaceDefMesh_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38179,1
    - Dst: Normal_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38231,1
    - Dst: PositionInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38251,1
    - Dst: Text_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38283,1
    - Dst: Viseme_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38303,1
    - Dst: DirectiveSound_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38323,1
    - Dst: Implicit_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38355,1
    - Dst: NurbsCurve2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38375,1
    - Dst: ColorTransform_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38427,1
    - Dst: XLineProperties_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38447,1
    - Dst: EnvironmentTest_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38489,1
    - Dst: SBVCAnimationV2_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38461,1
    - Dst: AudioBuffer_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38113,1
    - Dst: Bitmap_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38133,1
    - Dst: CylinderSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38165,1
    - Dst: FAP_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38185,1
    - Dst: OrientationInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38237,1
    - Dst: ProximitySensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38257,1
    - Dst: AcousticScene_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38309,1
    - Dst: PerceptualParameters_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38329,1
    - Dst: XXParticles_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38381,1
    - Dst: SBBone_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38401,1
    - Dst: BuildingPartNode_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38479,1
    - Dst: AudioChannelConfig_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38451,1
    - Dst: WaveletSubdivisionSurface_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38423,1
    - Dst: FootPrintSetNode_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38475,1
    - Dst: PlaneSensor2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38243,1
    - Dst: AudioFX_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38119,1
    - Dst: Collision_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38139,1
    - Dst: Fog_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38191,1
    - Dst: LOD_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38211,1
    - Dst: ScalarInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38263,1
    - Dst: BDP_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38315,1
    - Dst: ServerCommand_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38335,1
    - Dst: XXPointAttractor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38387,1
    - Dst: SBSite_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38407,1
    - Dst: Viewport_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38441,1
    - Dst: ScalarAnimator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38413,1
    - Dst: SynthesizedTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38437,1
    - Dst: SBSkinnedModel_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38409,1
    - Dst: Group_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38197,1
    - Dst: Layout_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38217,1
    - Dst: Anchor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38107,1
    - Dst: AudioSwitch_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38125,1
    - Dst: CompositeTexture2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38145,1
    - Dst: Sound_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38269,1
    - Dst: TimeSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38289,1
    - Dst: BodySegmentConnectionHint_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38321,1
    - Dst: MediaBuffer_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38341,1
    - Dst: XXLFM_FrameList_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38361,1
    - Dst: Billboard_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38131,1
    - Dst: Cone_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38151,1
    - Dst: ElevationGrid_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38171,1
    - Dst: IndexedFaceSet2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38203,1
    - Dst: Material_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38223,1
    - Dst: SphereSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38275,1
    - Dst: Transform2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38295,1
    - Dst: BitWrapper_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38347,1
    - Dst: XXLFM_ViewMapList_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38367,1
    - Dst: SubdivisionSurface_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38419,1
    - Dst: CoordinateInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38157,1
    - Dst: Face_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38177,1
    - Dst: PointSet2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38249,1
    - Dst: NavigationInfo_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38229,1
    - Dst: TermCap_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38281,1
    - Dst: VisibilitySensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38301,1
    - Dst: FFD_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38353,1
    - Dst: NurbsCurve_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38373,1
    - Dst: Clipper2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38425,1
    - Dst: XFontStyle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38445,1
    - Dst: OrderedGroup_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38235,1
    - Dst: ProximitySensor2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38255,1
    - Dst: Appearance_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38111,1
    - Dst: Cylinder_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38163,1
    - Dst: FaceDefTransform_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38183,1
    - Dst: AcousticMaterial_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38307,1
    - Dst: MaterialKey_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38327,1
    - Dst: XXLFM_BlendList_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38359,1
    - Dst: OctreeImage_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38379,1
    - Dst: Quadric_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38399,1
    - Dst: KeyNavigator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38491,1
    - Dst: SimpleTextureV2_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38463,1
    - Dst: RadialGradient_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38435,1
    - Dst: CacheTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38487,1
    - Dst: Inline_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38209,1
    - Dst: FIT_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38189,1
    - Dst: AudioDelay_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38117,1
    - Dst: Circle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38137,1
    - Dst: DiscSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38169,1
    - Dst: PlaneSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38241,1
    - Dst: Rectangle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38261,1
    - Dst: BAP_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38313,1
    - Dst: TemporalGroup_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38333,1
    - Dst: XXPlanarObstacle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38385,1
    - Dst: RoofNode_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38481,1
    - Dst: DepthImageV2_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38453,1
    - Dst: FootPrintNode_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38477,1
    - Dst: AdvancedAudioBuffer_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38449,1
    - Dst: AudioSource_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38123,1
    - Dst: ColorInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38143,1
    - Dst: Form_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38195,1
    - Dst: Layer3D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38215,1
    - Dst: Shape_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38267,1
    - Dst: TextureTransform_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38287,1
    - Dst: BodyDefTable_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38319,1
    - Dst: MatteTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38339,1
    - Dst: PositionAnimator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38391,1
    - Dst: SBVCAnimation_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38411,1
    - Dst: WideSound_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38469,1
    - Dst: XCurve2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38443,1
    - Dst: SpacePartition_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38493,1
    - Dst: SurroundingSound_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38465,1
    - Dst: TransformMatrix2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38439,1
    - Dst: Background2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38129,1
    - Dst: Conditional_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38149,1
    - Dst: ListeningPoint_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38221,1
    - Dst: IndexedFaceSet_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38201,1
    - Dst: Sphere_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38273,1
    - Dst: Transform_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38293,1
    - Dst: MediaSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38345,1
    - Dst: XXLFM_SurfaceMapList_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38365,1
    - Dst: ProceduralTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38397,1
    - Dst: SBSegment_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38405,1
    - Dst: LinearGradient_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38431,1
    - Dst: PointTextureV2_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38459,1
    - Dst: FacadeNode_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38483,1
    - Dst: MorphShape_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38455,1
    - Dst: IndexedLineSet2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38207,1
    - Dst: MovieTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38227,1
    - Dst: Coordinate2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38155,1
    - Dst: Extrusion_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38175,1
    - Dst: PointSet_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38247,1
    - Dst: Switch_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38279,1
    - Dst: Viewpoint_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38299,1
    - Dst: DepthImage_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38351,1
    - Dst: NonLinearDeformer_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38371,1
    - Dst: PositionAnimator2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38393,1
    - Dst: SolidRep_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38417,1
    - Dst: MusicScore_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38473,1
    - Dst: FaceDefTables_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38181,1
    - Dst: NormalInterpolator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38233,1
    - Dst: PositionInterpolator2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38253,1
    - Dst: AnimationStream_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38109,1
    - Dst: Curve2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38161,1
    - Dst: WorldInfo_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38305,1
    - Dst: Hierarchical3DMesh_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38325,1
    - Dst: XXLFM_Appearance_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38357,1
    - Dst: NurbsSurface_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38377,1
    - Dst: Ellipse_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38429,1
    - Dst: AudioClip_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38115,1
    - Dst: Box_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38135,1
    - Dst: DirectionalLight_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38167,1
    - Dst: QuantizationParameter_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38259,1
    - Dst: PixelTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38239,1
    - Dst: FDP_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38187,1
    - Dst: ApplicationWindow_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38311,1
    - Dst: TemporalTransform_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38331,1
    - Dst: XXParticleInitBox_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38383,1
    - Dst: SBMuscle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38403,1
    - Dst: AudioMix_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38121,1
    - Dst: Color_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38141,1
    - Dst: FontStyle_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38193,1
    - Dst: Layer2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38213,1
    - Dst: PointLight_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38245,1
    - Dst: Script_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38265,1
    - Dst: TextureCoordinate_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38285,1
    - Dst: Body_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38317,1
    - Dst: InputSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38337,1
    - Dst: PointTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38389,1
    - Dst: ImageTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38199,1
    - Dst: Background_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38127,1
    - Dst: CompositeTexture3D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38147,1
    - Dst: LineProperties_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38219,1
    - Dst: Sound2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38271,1
    - Dst: TouchSensor_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38291,1
    - Dst: MediaControl_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38343,1
    - Dst: XXLFM_LightMap_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38363,1
    - Dst: PositionInterpolator4D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38395,1
    - Dst: SimpleTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38415,1
    - Dst: ScoreShape_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38471,1
    - Dst: Storage_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38495,1
    - Dst: Transform3DAudio_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38467,1
    - Dst: Material2D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38225,1
    - Dst: IndexedLineSet_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38205,1
    - Dst: Coordinate_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38153,1
    - Dst: Expression_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38173,1
    - Dst: SpotLight_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38277,1
    - Dst: Valuator_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38297,1
    - Dst: CoordinateInterpolator4D_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38349,1
    - Dst: MeshGrid_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38369,1
    - Dst: SubdivSurfaceSector_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38421,1
    - Dst: PathLayout_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38433,1
    - Dst: MultiTexture_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38457,1
    - Dst: Shadow_get_field_count
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38485,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 197
    argCount: 2
    argNames:
    - node
    - code_mode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 38499
      start: 38103
    functionDepth: 0
    functionLinenumber: 38103
    functionLinenumberEnd: 38499
    functionName: gf_sg_mpeg4_node_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - Viewport_get_field_count
    - SBMuscle_get_field_count
    - PixelTexture_get_field_count
    - WideSound_get_field_count
    - Layout_get_field_count
    - Appearance_get_field_count
    - NonLinearDeformer_get_field_count
    - Coordinate_get_field_count
    - IndexedFaceSet2D_get_field_count
    - Group_get_field_count
    - ProximitySensor2D_get_field_count
    - PositionInterpolator4D_get_field_count
    - RoofNode_get_field_count
    - BuildingPartNode_get_field_count
    - Viewpoint_get_field_count
    - AudioMix_get_field_count
    - Sphere_get_field_count
    - PointTexture_get_field_count
    - ServerCommand_get_field_count
    - Anchor_get_field_count
    - XXLFM_ViewMapList_get_field_count
    - Hierarchical3DMesh_get_field_count
    - MorphShape_get_field_count
    - OrientationInterpolator_get_field_count
    - XXParticles_get_field_count
    - AcousticScene_get_field_count
    - MediaBuffer_get_field_count
    - BAP_get_field_count
    - Cylinder_get_field_count
    - Clipper2D_get_field_count
    - ScoreShape_get_field_count
    - SpotLight_get_field_count
    - SurroundingSound_get_field_count
    - XXPointAttractor_get_field_count
    - NurbsCurve2D_get_field_count
    - ColorTransform_get_field_count
    - Circle_get_field_count
    - IndexedFaceSet_get_field_count
    - SBVCAnimation_get_field_count
    - PositionInterpolator2D_get_field_count
    - MovieTexture_get_field_count
    - PositionAnimator_get_field_count
    - Box_get_field_count
    - NurbsCurve_get_field_count
    - Billboard_get_field_count
    - DepthImageV2_get_field_count
    - TextureTransform_get_field_count
    - Valuator_get_field_count
    - LinearGradient_get_field_count
    - SpacePartition_get_field_count
    - AudioSource_get_field_count
    - SubdivisionSurface_get_field_count
    - Script_get_field_count
    - XXLFM_LightMap_get_field_count
    - EnvironmentTest_get_field_count
    - XLineProperties_get_field_count
    - CylinderSensor_get_field_count
    - PlaneSensor_get_field_count
    - AdvancedAudioBuffer_get_field_count
    - TimeSensor_get_field_count
    - FootPrintNode_get_field_count
    - Color_get_field_count
    - OctreeImage_get_field_count
    - IndexedLineSet_get_field_count
    - NormalInterpolator_get_field_count
    - Storage_get_field_count
    - FaceDefTables_get_field_count
    - Transform3DAudio_get_field_count
    - Normal_get_field_count
    - CacheTexture_get_field_count
    - TemporalTransform_get_field_count
    - PositionInterpolator_get_field_count
    - XXPlanarObstacle_get_field_count
    - DirectionalLight_get_field_count
    - KeyNavigator_get_field_count
    - AudioDelay_get_field_count
    - ProceduralTexture_get_field_count
    - XCurve2D_get_field_count
    - PositionAnimator2D_get_field_count
    - XXParticleInitBox_get_field_count
    - OrderedGroup_get_field_count
    - Transform_get_field_count
    - Background2D_get_field_count
    - CoordinateInterpolator4D_get_field_count
    - InputSensor_get_field_count
    - FootPrintSetNode_get_field_count
    - Collision_get_field_count
    - PointTextureV2_get_field_count
    - FaceDefTransform_get_field_count
    - WaveletSubdivisionSurface_get_field_count
    - Expression_get_field_count
    - MediaControl_get_field_count
    - SphereSensor_get_field_count
    - AudioSwitch_get_field_count
    - SBSkinnedModel_get_field_count
    - ColorInterpolator_get_field_count
    - DiscSensor_get_field_count
    - Face_get_field_count
    - Layer3D_get_field_count
    - Shadow_get_field_count
    - CompositeTexture3D_get_field_count
    - BodyDefTable_get_field_count
    - SBBone_get_field_count
    - Material_get_field_count
    - FaceDefMesh_get_field_count
    - MatteTexture_get_field_count
    - Extrusion_get_field_count
    - ProximitySensor_get_field_count
    - AudioFX_get_field_count
    - XXLFM_BlendList_get_field_count
    - SBSite_get_field_count
    - SimpleTexture_get_field_count
    - Viseme_get_field_count
    - FFD_get_field_count
    - ScalarInterpolator_get_field_count
    - PointSet2D_get_field_count
    - Quadric_get_field_count
    - MaterialKey_get_field_count
    - Inline_get_field_count
    - Coordinate2D_get_field_count
    - FontStyle_get_field_count
    - MeshGrid_get_field_count
    - SubdivSurfaceSector_get_field_count
    - ImageTexture_get_field_count
    - AudioBuffer_get_field_count
    - QuantizationParameter_get_field_count
    - XXLFM_Appearance_get_field_count
    - AudioChannelConfig_get_field_count
    - LineProperties_get_field_count
    - Sound2D_get_field_count
    - Ellipse_get_field_count
    - ElevationGrid_get_field_count
    - ScalarAnimator_get_field_count
    - Curve2D_get_field_count
    - NurbsSurface_get_field_count
    - Rectangle_get_field_count
    - FacadeNode_get_field_count
    - AnimationStream_get_field_count
    - SBVCAnimationV2_get_field_count
    - TouchSensor_get_field_count
    - CompositeTexture2D_get_field_count
    - Switch_get_field_count
    - SimpleTextureV2_get_field_count
    - LOD_get_field_count
    - TransformMatrix2D_get_field_count
    - TemporalGroup_get_field_count
    - Fog_get_field_count
    - TextureCoordinate_get_field_count
    - SolidRep_get_field_count
    - DepthImage_get_field_count
    - Sound_get_field_count
    - Bitmap_get_field_count
    - Body_get_field_count
    - TermCap_get_field_count
    - Implicit_get_field_count
    - FDP_get_field_count
    - Shape_get_field_count
    - BodySegmentConnectionHint_get_field_count
    - VisibilitySensor_get_field_count
    - WorldInfo_get_field_count
    - RadialGradient_get_field_count
    - AcousticMaterial_get_field_count
    - MediaSensor_get_field_count
    - ApplicationWindow_get_field_count
    - FIT_get_field_count
    - ListeningPoint_get_field_count
    - XFontStyle_get_field_count
    - MultiTexture_get_field_count
    - CoordinateInterpolator_get_field_count
    - Layer2D_get_field_count
    - PointLight_get_field_count
    - PerceptualParameters_get_field_count
    - BDP_get_field_count
    - FAP_get_field_count
    - Text_get_field_count
    - Transform2D_get_field_count
    - Form_get_field_count
    - MusicScore_get_field_count
    - PlaneSensor2D_get_field_count
    - PointSet_get_field_count
    - XXLFM_SurfaceMapList_get_field_count
    - NavigationInfo_get_field_count
    - CoordinateInterpolator2D_get_field_count
    - SBSegment_get_field_count
    - AudioClip_get_field_count
    - IndexedLineSet2D_get_field_count
    - BitWrapper_get_field_count
    - XXLFM_FrameList_get_field_count
    - Material2D_get_field_count
    - Cone_get_field_count
    - PathLayout_get_field_count
    - Conditional_get_field_count
    - Background_get_field_count
    - SynthesizedTexture_get_field_count
    - DirectiveSound_get_field_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_mpeg4_node_get_field_count(GF_Node *node, u8 code_mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26835
      start: 26820
    functionDepth: 0
    functionLinenumber: 26820
    functionLinenumberEnd: 26835
    functionName: PositionAnimator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionAnimator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1661
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1661
    functionName: Background_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Background_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2649
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2649
    functionName: ColorInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorInterpolator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11462
      start: 11447
    functionDepth: 0
    functionLinenumber: 11447
    functionLinenumberEnd: 11462
    functionName: PositionInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23753
      start: 23739
    functionDepth: 0
    functionLinenumber: 23739
    functionLinenumberEnd: 23753
    functionName: FFD_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FFD_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26084
      start: 26069
    functionDepth: 0
    functionLinenumber: 26069
    functionLinenumberEnd: 26084
    functionName: XXParticles_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXParticles_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: Background_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38525,1
    - Dst: FaceDefMesh_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38577,1
    - Dst: PositionInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38649,1
    - Dst: ImageTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38597,1
    - Dst: Sound2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38669,1
    - Dst: Viseme_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38701,1
    - Dst: DirectiveSound_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38721,1
    - Dst: MediaControl_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38741,1
    - Dst: NurbsCurve2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38773,1
    - Dst: PositionInterpolator4D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38793,1
    - Dst: TransformMatrix2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38837,1
    - Dst: RoofNode_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38879,1
    - Dst: IndexedLineSet_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38603,1
    - Dst: AudioBuffer_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38511,1
    - Dst: Bitmap_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38531,1
    - Dst: Coordinate_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38551,1
    - Dst: FAP_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38583,1
    - Dst: ProximitySensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38655,1
    - Dst: SpotLight_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38675,1
    - Dst: PerceptualParameters_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38727,1
    - Dst: CoordinateInterpolator4D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38747,1
    - Dst: SBBone_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38799,1
    - Dst: ScoreShape_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38869,1
    - Dst: XCurve2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38841,1
    - Dst: Storage_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38893,1
    - Dst: Collision_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38537,1
    - Dst: CoordinateInterpolator2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38557,1
    - Dst: Normal_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38629,1
    - Dst: LOD_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38609,1
    - Dst: ScalarInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38661,1
    - Dst: Text_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38681,1
    - Dst: ServerCommand_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38733,1
    - Dst: Implicit_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38753,1
    - Dst: SBSite_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38805,1
    - Dst: ColorTransform_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38825,1
    - Dst: SBVCAnimationV2_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38859,1
    - Dst: PathLayout_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38831,1
    - Dst: MultiTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38855,1
    - Dst: Ellipse_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38827,1
    - Dst: Layout_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38615,1
    - Dst: OrientationInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38635,1
    - Dst: Anchor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38505,1
    - Dst: CompositeTexture2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38543,1
    - Dst: CylinderSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38563,1
    - Dst: TimeSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38687,1
    - Dst: AcousticScene_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38707,1
    - Dst: MediaBuffer_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38739,1
    - Dst: XXLFM_FrameList_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38759,1
    - Dst: XXParticles_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38779,1
    - Dst: WaveletSubdivisionSurface_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38821,1
    - Dst: SubdivisionSurface_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38817,1
    - Dst: AudioFX_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38517,1
    - Dst: Cone_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38549,1
    - Dst: ElevationGrid_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38569,1
    - Dst: Material_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38621,1
    - Dst: Fog_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38589,1
    - Dst: PlaneSensor2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38641,1
    - Dst: Transform2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38693,1
    - Dst: BDP_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38713,1
    - Dst: XXLFM_ViewMapList_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38765,1
    - Dst: XXPointAttractor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38785,1
    - Dst: Group_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38595,1
    - Dst: AudioSwitch_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38523,1
    - Dst: Face_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38575,1
    - Dst: PointSet2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38647,1
    - Dst: Sound_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38667,1
    - Dst: VisibilitySensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38699,1
    - Dst: BodySegmentConnectionHint_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38719,1
    - Dst: NurbsCurve_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38771,1
    - Dst: PositionAnimator2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38791,1
    - Dst: XFontStyle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38843,1
    - Dst: ProximitySensor2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38653,1
    - Dst: Appearance_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38509,1
    - Dst: Billboard_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38529,1
    - Dst: FaceDefTransform_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38581,1
    - Dst: IndexedFaceSet2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38601,1
    - Dst: SphereSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38673,1
    - Dst: MaterialKey_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38725,1
    - Dst: BitWrapper_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38745,1
    - Dst: OctreeImage_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38777,1
    - Dst: Quadric_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38797,1
    - Dst: Transform3DAudio_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38865,1
    - Dst: FacadeNode_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38881,1
    - Dst: MorphShape_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38853,1
    - Dst: NavigationInfo_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38627,1
    - Dst: FIT_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38587,1
    - Dst: Inline_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38607,1
    - Dst: Circle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38535,1
    - Dst: CoordinateInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38555,1
    - Dst: Rectangle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38659,1
    - Dst: TermCap_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38679,1
    - Dst: TemporalGroup_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38731,1
    - Dst: FFD_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38751,1
    - Dst: SBSegment_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38803,1
    - Dst: MusicScore_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38871,1
    - Dst: WideSound_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38867,1
    - Dst: ColorInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38541,1
    - Dst: Cylinder_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38561,1
    - Dst: Layer3D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38613,1
    - Dst: OrderedGroup_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38633,1
    - Dst: TextureTransform_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38685,1
    - Dst: AcousticMaterial_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38705,1
    - Dst: MatteTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38737,1
    - Dst: XXLFM_BlendList_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38757,1
    - Dst: SBVCAnimation_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38809,1
    - Dst: LinearGradient_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38829,1
    - Dst: EnvironmentTest_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38887,1
    - Dst: SimpleTextureV2_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38861,1
    - Dst: Shadow_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38883,1
    - Dst: PointTextureV2_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38857,1
    - Dst: AudioDelay_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38515,1
    - Dst: Conditional_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38547,1
    - Dst: DiscSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38567,1
    - Dst: PlaneSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38639,1
    - Dst: ListeningPoint_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38619,1
    - Dst: Transform_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38691,1
    - Dst: BAP_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38711,1
    - Dst: XXLFM_SurfaceMapList_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38763,1
    - Dst: XXPlanarObstacle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38783,1
    - Dst: SolidRep_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38815,1
    - Dst: Clipper2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38823,1
    - Dst: AudioChannelConfig_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38849,1
    - Dst: BuildingPartNode_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38877,1
    - Dst: FootPrintSetNode_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38873,1
    - Dst: XLineProperties_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38845,1
    - Dst: SubdivSurfaceSector_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38819,1
    - Dst: MovieTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38625,1
    - Dst: PointSet_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38645,1
    - Dst: AudioSource_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38521,1
    - Dst: Extrusion_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38573,1
    - Dst: Form_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38593,1
    - Dst: Shape_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38665,1
    - Dst: Viewpoint_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38697,1
    - Dst: BodyDefTable_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38717,1
    - Dst: NonLinearDeformer_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38769,1
    - Dst: PositionAnimator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38789,1
    - Dst: ScalarAnimator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38811,1
    - Dst: SynthesizedTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38835,1
    - Dst: SurroundingSound_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38863,1
    - Dst: IndexedFaceSet_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38599,1
    - Dst: PositionInterpolator2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38651,1
    - Dst: AnimationStream_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38507,1
    - Dst: Background2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38527,1
    - Dst: FaceDefTables_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38579,1
    - Dst: Sphere_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38671,1
    - Dst: Hierarchical3DMesh_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38723,1
    - Dst: MediaSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38743,1
    - Dst: NurbsSurface_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38775,1
    - Dst: ProceduralTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38795,1
    - Dst: SpacePartition_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38891,1
    - Dst: AudioClip_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38513,1
    - Dst: Box_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38533,1
    - Dst: Coordinate2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38553,1
    - Dst: QuantizationParameter_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38657,1
    - Dst: FDP_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38585,1
    - Dst: IndexedLineSet2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38605,1
    - Dst: Switch_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38677,1
    - Dst: TemporalTransform_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38729,1
    - Dst: DepthImage_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38749,1
    - Dst: SBMuscle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38801,1
    - Dst: Color_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38539,1
    - Dst: Curve2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38559,1
    - Dst: Layer2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38611,1
    - Dst: NormalInterpolator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38631,1
    - Dst: Script_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38663,1
    - Dst: TextureCoordinate_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38683,1
    - Dst: WorldInfo_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38703,1
    - Dst: InputSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38735,1
    - Dst: XXLFM_Appearance_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38755,1
    - Dst: SBSkinnedModel_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38807,1
    - Dst: LineProperties_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38617,1
    - Dst: CompositeTexture3D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38545,1
    - Dst: DirectionalLight_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38565,1
    - Dst: PixelTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38637,1
    - Dst: TouchSensor_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38689,1
    - Dst: ApplicationWindow_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38709,1
    - Dst: XXLFM_LightMap_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38761,1
    - Dst: XXParticleInitBox_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38781,1
    - Dst: SimpleTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38813,1
    - Dst: RadialGradient_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38833,1
    - Dst: KeyNavigator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38889,1
    - Dst: CacheTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38885,1
    - Dst: PointLight_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38643,1
    - Dst: FontStyle_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38591,1
    - Dst: Material2D_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38623,1
    - Dst: AudioMix_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38519,1
    - Dst: Expression_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38571,1
    - Dst: Valuator_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38695,1
    - Dst: Body_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38715,1
    - Dst: MeshGrid_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38767,1
    - Dst: PointTexture_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38787,1
    - Dst: Viewport_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38839,1
    - Dst: DepthImageV2_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38851,1
    - Dst: FootPrintNode_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38875,1
    - Dst: AdvancedAudioBuffer_get_field
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38847,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 197
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 38897
      start: 38501
    functionDepth: 0
    functionLinenumber: 38501
    functionLinenumberEnd: 38897
    functionName: gf_sg_mpeg4_node_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FIT_get_field
    - MovieTexture_get_field
    - BodyDefTable_get_field
    - ScoreShape_get_field
    - NurbsSurface_get_field
    - NavigationInfo_get_field
    - NurbsCurve2D_get_field
    - XLineProperties_get_field
    - FootPrintNode_get_field
    - XXParticles_get_field
    - SubdivSurfaceSector_get_field
    - FaceDefMesh_get_field
    - TextureTransform_get_field
    - BAP_get_field
    - AdvancedAudioBuffer_get_field
    - Layout_get_field
    - DirectiveSound_get_field
    - CompositeTexture2D_get_field
    - PathLayout_get_field
    - Appearance_get_field
    - ServerCommand_get_field
    - NormalInterpolator_get_field
    - NonLinearDeformer_get_field
    - KeyNavigator_get_field
    - PerceptualParameters_get_field
    - WideSound_get_field
    - XXPointAttractor_get_field
    - Ellipse_get_field
    - XXLFM_Appearance_get_field
    - XXPlanarObstacle_get_field
    - Shape_get_field
    - ProceduralTexture_get_field
    - PointSet2D_get_field
    - DepthImage_get_field
    - DirectionalLight_get_field
    - AudioMix_get_field
    - SBVCAnimation_get_field
    - OrderedGroup_get_field
    - NurbsCurve_get_field
    - TimeSensor_get_field
    - AudioBuffer_get_field
    - Cylinder_get_field
    - Sound_get_field
    - XXLFM_LightMap_get_field
    - SubdivisionSurface_get_field
    - SurroundingSound_get_field
    - ColorTransform_get_field
    - BitWrapper_get_field
    - SphereSensor_get_field
    - TransformMatrix2D_get_field
    - Valuator_get_field
    - AudioDelay_get_field
    - Material_get_field
    - AudioSwitch_get_field
    - ProximitySensor_get_field
    - AudioFX_get_field
    - Hierarchical3DMesh_get_field
    - Anchor_get_field
    - ElevationGrid_get_field
    - Normal_get_field
    - Rectangle_get_field
    - AnimationStream_get_field
    - OctreeImage_get_field
    - Billboard_get_field
    - OrientationInterpolator_get_field
    - Coordinate2D_get_field
    - ScalarInterpolator_get_field
    - TextureCoordinate_get_field
    - RadialGradient_get_field
    - Layer3D_get_field
    - VisibilitySensor_get_field
    - AudioChannelConfig_get_field
    - Body_get_field
    - SBSite_get_field
    - SBSkinnedModel_get_field
    - FacadeNode_get_field
    - Color_get_field
    - XXLFM_SurfaceMapList_get_field
    - BuildingPartNode_get_field
    - Group_get_field
    - XFontStyle_get_field
    - ImageTexture_get_field
    - Layer2D_get_field
    - AudioSource_get_field
    - ApplicationWindow_get_field
    - MusicScore_get_field
    - Quadric_get_field
    - SolidRep_get_field
    - Conditional_get_field
    - FDP_get_field
    - FootPrintSetNode_get_field
    - Form_get_field
    - SpotLight_get_field
    - SynthesizedTexture_get_field
    - IndexedFaceSet_get_field
    - Sound2D_get_field
    - Expression_get_field
    - PointTexture_get_field
    - InputSensor_get_field
    - SimpleTextureV2_get_field
    - TemporalTransform_get_field
    - SimpleTexture_get_field
    - PositionInterpolator_get_field
    - PointTextureV2_get_field
    - Extrusion_get_field
    - ListeningPoint_get_field
    - CoordinateInterpolator_get_field
    - SBSegment_get_field
    - LinearGradient_get_field
    - XCurve2D_get_field
    - CoordinateInterpolator2D_get_field
    - XXLFM_BlendList_get_field
    - XXParticleInitBox_get_field
    - FFD_get_field
    - TouchSensor_get_field
    - CacheTexture_get_field
    - SBBone_get_field
    - BodySegmentConnectionHint_get_field
    - FaceDefTables_get_field
    - PositionAnimator2D_get_field
    - PositionInterpolator4D_get_field
    - FontStyle_get_field
    - Curve2D_get_field
    - Background2D_get_field
    - CompositeTexture3D_get_field
    - Viewport_get_field
    - ColorInterpolator_get_field
    - MeshGrid_get_field
    - EnvironmentTest_get_field
    - Material2D_get_field
    - Face_get_field
    - MediaBuffer_get_field
    - PositionAnimator_get_field
    - Shadow_get_field
    - DiscSensor_get_field
    - Transform2D_get_field
    - Viseme_get_field
    - Implicit_get_field
    - Transform3DAudio_get_field
    - Inline_get_field
    - MatteTexture_get_field
    - ProximitySensor2D_get_field
    - MaterialKey_get_field
    - FaceDefTransform_get_field
    - XXLFM_ViewMapList_get_field
    - Script_get_field
    - Coordinate_get_field
    - IndexedFaceSet2D_get_field
    - Collision_get_field
    - PointLight_get_field
    - Cone_get_field
    - Sphere_get_field
    - LOD_get_field
    - AcousticScene_get_field
    - FAP_get_field
    - PositionInterpolator2D_get_field
    - SBMuscle_get_field
    - Text_get_field
    - TemporalGroup_get_field
    - Clipper2D_get_field
    - WaveletSubdivisionSurface_get_field
    - IndexedLineSet_get_field
    - AudioClip_get_field
    - PointSet_get_field
    - MediaSensor_get_field
    - ScalarAnimator_get_field
    - PlaneSensor_get_field
    - DepthImageV2_get_field
    - SBVCAnimationV2_get_field
    - LineProperties_get_field
    - Bitmap_get_field
    - AcousticMaterial_get_field
    - WorldInfo_get_field
    - PlaneSensor2D_get_field
    - TermCap_get_field
    - CoordinateInterpolator4D_get_field
    - Switch_get_field
    - MediaControl_get_field
    - Box_get_field
    - MultiTexture_get_field
    - Storage_get_field
    - RoofNode_get_field
    - Transform_get_field
    - PixelTexture_get_field
    - CylinderSensor_get_field
    - QuantizationParameter_get_field
    - Viewpoint_get_field
    - IndexedLineSet2D_get_field
    - BDP_get_field
    - XXLFM_FrameList_get_field
    - Circle_get_field
    - Fog_get_field
    - SpacePartition_get_field
    - MorphShape_get_field
    - Background_get_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_mpeg4_node_get_field(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27901,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27905,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27907,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27909,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27911,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27919,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27917,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27915,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27913,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27922,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27926,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27929,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27904,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27930,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27906,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27908,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27910,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27920,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27918,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27916,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27914,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27912,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27921,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27923,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27924,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27927,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27899,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27925,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27932
      start: 27896
    functionDepth: 0
    functionLinenumber: 27896
    functionLinenumberEnd: 27932
    functionName: Quadric_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Quadric_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5475
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5475
    functionName: FaceDefTables_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FaceDefTables_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11247
      start: 11233
    functionDepth: 0
    functionLinenumber: 11233
    functionLinenumberEnd: 11247
    functionName: PointSet_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointSet_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15987,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15990
      start: 15985
    functionDepth: 0
    functionLinenumber: 15985
    functionLinenumberEnd: 15990
    functionName: WorldInfo_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 WorldInfo_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5483,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5484,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5490,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 5496
      start: 5476
    functionDepth: 0
    functionLinenumber: 5476
    functionLinenumberEnd: 5496
    functionName: FaceDefTables_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FaceDefTables_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10504
      start: 10490
    functionDepth: 0
    functionLinenumber: 10490
    functionLinenumberEnd: 10504
    functionName: OrientationInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 OrientationInterpolator_get_field_count(GF_Node *node,
      u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11264
      start: 11249
    functionDepth: 0
    functionLinenumber: 11249
    functionLinenumberEnd: 11264
    functionName: PointSet_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointSet_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 15997
      start: 15991
    functionDepth: 0
    functionLinenumber: 15991
    functionLinenumberEnd: 15997
    functionName: WorldInfo_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool WorldInfo_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27942,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27945,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27944,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27943,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27946,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27947,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27948,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27949,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27950,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27951,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27952,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27953,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 27955
      start: 27939
    functionDepth: 0
    functionLinenumber: 27939
    functionLinenumberEnd: 27955
    functionName: SBBone_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void SBBone_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 5552
      start: 5543
    functionDepth: 0
    functionLinenumber: 5543
    functionLinenumberEnd: 5552
    functionName: FaceDefTransform_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefTransform_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9005
      start: 8991
    functionDepth: 0
    functionLinenumber: 8991
    functionLinenumberEnd: 9005
    functionName: Layout_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Layout_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35916
      start: 35901
    functionDepth: 0
    functionLinenumber: 35901
    functionLinenumberEnd: 35916
    functionName: Shadow_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Shadow_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 5590
      start: 5553
    functionDepth: 0
    functionLinenumber: 5553
    functionLinenumberEnd: 5590
    functionName: FaceDefTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FaceDefTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9025
      start: 9007
    functionDepth: 0
    functionLinenumber: 9007
    functionLinenumberEnd: 9025
    functionName: Layout_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layout_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35970
      start: 35917
    functionDepth: 0
    functionLinenumber: 35917
    functionLinenumberEnd: 35970
    functionName: Shadow_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Shadow_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9648,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9653,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9655,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9654,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9650,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9656,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9658,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9659,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9660,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9664,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9662,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9666
      start: 9645
    functionDepth: 0
    functionLinenumber: 9645
    functionLinenumberEnd: 9666
    functionName: Material_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Material_Create() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:284,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:288,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:287,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:286,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:285,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:289,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: AnimationStream_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AnimationStream_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13196,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13198
      start: 13193
    functionDepth: 0
    functionLinenumber: 13193
    functionLinenumberEnd: 13198
    functionName: Sound2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Sound2D_Del(GF_Node *node) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 99
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 30488
      start: 30339
    functionDepth: 0
    functionLinenumber: 30339
    functionLinenumberEnd: 30488
    functionName: ColorTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: AnimationStream_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AnimationStream_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12796
      start: 12782
    functionDepth: 0
    functionLinenumber: 12782
    functionLinenumberEnd: 12796
    functionName: Script_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Script_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30501,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30505,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30511,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30515,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30494,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30496,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30504,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30510,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30514,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30495,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30503,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30509,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30507,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30513,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30498,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30502,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30508,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30506,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30512,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 30517
      start: 30491
    functionDepth: 0
    functionLinenumber: 30491
    functionLinenumberEnd: 30517
    functionName: ColorTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ColorTransform_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9676,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9678
      start: 9673
    functionDepth: 0
    functionLinenumber: 9673
    functionLinenumberEnd: 9678
    functionName: Material2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Material2D_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11784,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11790,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11796
      start: 11778
    functionDepth: 0
    functionLinenumber: 11778
    functionLinenumberEnd: 11796
    functionName: ProximitySensor2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ProximitySensor2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23257
      start: 23243
    functionDepth: 0
    functionLinenumber: 23243
    functionLinenumberEnd: 23257
    functionName: MediaSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MediaSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11803,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11809,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11805,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11808,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11810,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11814
      start: 11800
    functionDepth: 0
    functionLinenumber: 11800
    functionLinenumberEnd: 11814
    functionName: ProximitySensor2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ProximitySensor2D_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23274
      start: 23259
    functionDepth: 0
    functionLinenumber: 23259
    functionLinenumberEnd: 23274
    functionName: MediaSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6916,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6920,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6919,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6918,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6917,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6921,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6922,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6923,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6926
      start: 6914
    functionDepth: 0
    functionLinenumber: 6914
    functionLinenumberEnd: 6926
    functionName: FIT_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FIT_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14651,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14653
      start: 14648
    functionDepth: 0
    functionLinenumber: 14648
    functionLinenumberEnd: 14653
    functionName: Transform_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Transform_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 20994
      start: 20967
    functionDepth: 0
    functionLinenumber: 20967
    functionLinenumberEnd: 20994
    functionName: Body_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Body_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 21359
      start: 21341
    functionDepth: 0
    functionLinenumber: 21341
    functionLinenumberEnd: 21359
    functionName: DirectiveSound_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectiveSound_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23991
      start: 23977
    functionDepth: 0
    functionLinenumber: 23977
    functionLinenumberEnd: 23991
    functionName: Implicit_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Implicit_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 27133
      start: 27048
    functionDepth: 0
    functionLinenumber: 27048
    functionLinenumberEnd: 27133
    functionName: PositionAnimator2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionAnimator2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27143,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27145,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27146,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27147,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27148,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27149,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27150,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 27152
      start: 27136
    functionDepth: 0
    functionLinenumber: 27136
    functionLinenumberEnd: 27152
    functionName: PositionAnimator2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionAnimator2D_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6934,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6941,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6948,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6942,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6935,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6949,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6955,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6956,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6962,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6963,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6969,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6977,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6976,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6970,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 6982
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6982
    functionName: FIT_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FIT_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20999,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21001,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21003
      start: 20997
    functionDepth: 0
    functionLinenumber: 20997
    functionLinenumberEnd: 21003
    functionName: Body_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Body_get_field_index_by_name(char *name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 21446
      start: 21360
    functionDepth: 0
    functionLinenumber: 21360
    functionLinenumberEnd: 21446
    functionName: DirectiveSound_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DirectiveSound_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24011
      start: 23993
    functionDepth: 0
    functionLinenumber: 23993
    functionLinenumberEnd: 24011
    functionName: Implicit_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Implicit_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14634,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14641
      start: 14631
    functionDepth: 0
    functionLinenumber: 14631
    functionLinenumberEnd: 14641
    functionName: TouchSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TouchSensor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29884
      start: 29870
    functionDepth: 0
    functionLinenumber: 29870
    functionLinenumberEnd: 29884
    functionName: SubdivSurfaceSector_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SubdivSurfaceSector_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3849,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3851,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3853
      start: 3847
    functionDepth: 0
    functionLinenumber: 3847
    functionLinenumberEnd: 3853
    functionName: Curve2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Curve2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27005,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27008,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27007,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27009,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 27010
      start: 27002
    functionDepth: 0
    functionLinenumber: 27002
    functionLinenumberEnd: 27010
    functionName: PositionAnimator2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void PositionAnimator2D_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3860,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3868,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3861,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3873
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3873
    functionName: Curve2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Curve2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 12902
      start: 12888
    functionDepth: 0
    functionLinenumber: 12888
    functionLinenumberEnd: 12902
    functionName: Shape_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Shape_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11300
      start: 11294
    functionDepth: 0
    functionLinenumber: 11294
    functionLinenumberEnd: 11300
    functionName: PointSet_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PointSet_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24198
      start: 24192
    functionDepth: 0
    functionLinenumber: 24192
    functionLinenumberEnd: 24198
    functionName: XXLFM_Appearance_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_Appearance_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24529
      start: 24491
    functionDepth: 0
    functionLinenumber: 24491
    functionLinenumberEnd: 24529
    functionName: XXLFM_LightMap_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_LightMap_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34317
      start: 34299
    functionDepth: 0
    functionLinenumber: 34299
    functionLinenumberEnd: 34317
    functionName: Transform3DAudio_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform3DAudio_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35259,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35261
      start: 35256
    functionDepth: 0
    functionLinenumber: 35256
    functionLinenumberEnd: 35261
    functionName: FootPrintNode_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FootPrintNode_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35357,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35358,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35360,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35359,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35362
      start: 35354
    functionDepth: 0
    functionLinenumber: 35354
    functionLinenumberEnd: 35362
    functionName: BuildingPartNode_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void BuildingPartNode_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11307,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11313
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11313
    functionName: PointSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PointSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24205,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24211
      start: 24202
    functionDepth: 0
    functionLinenumber: 24202
    functionLinenumberEnd: 24211
    functionName: XXLFM_Appearance_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_Appearance_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24534,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24535,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24536,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24538,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24540
      start: 24532
    functionDepth: 0
    functionLinenumber: 24532
    functionLinenumberEnd: 24540
    functionName: XXLFM_LightMap_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_LightMap_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 34383
      start: 34318
    functionDepth: 0
    functionLinenumber: 34318
    functionLinenumberEnd: 34383
    functionName: Transform3DAudio_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform3DAudio_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35242,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35245,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35249
      start: 35239
    functionDepth: 0
    functionLinenumber: 35239
    functionLinenumberEnd: 35249
    functionName: FootPrintSetNode_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FootPrintSetNode_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35340,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35347
      start: 35337
    functionDepth: 0
    functionLinenumber: 35337
    functionLinenumberEnd: 35347
    functionName: FootPrintNode_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FootPrintNode_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11063
      start: 11049
    functionDepth: 0
    functionLinenumber: 11049
    functionLinenumberEnd: 11063
    functionName: PointLight_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointLight_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11323,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11324,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11326
      start: 11320
    functionDepth: 0
    functionLinenumber: 11320
    functionLinenumberEnd: 11326
    functionName: PointSet2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointSet2D_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23671
      start: 23622
    functionDepth: 0
    functionLinenumber: 23622
    functionLinenumberEnd: 23671
    functionName: DepthImage_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DepthImage_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26558
      start: 26554
    functionDepth: 0
    functionLinenumber: 26554
    functionLinenumberEnd: 26558
    functionName: XXPointAttractor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void XXPointAttractor_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3349
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3349
    functionName: Coordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Coordinate_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11083
      start: 11065
    functionDepth: 0
    functionLinenumber: 11065
    functionLinenumberEnd: 11083
    functionName: PointLight_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointLight_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23676,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23680,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23679,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23678,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23677,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23681,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23684
      start: 23674
    functionDepth: 0
    functionLinenumber: 23674
    functionLinenumberEnd: 23684
    functionName: DepthImage_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DepthImage_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35190
      start: 35176
    functionDepth: 0
    functionLinenumber: 35176
    functionLinenumberEnd: 35190
    functionName: FootPrintSetNode_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FootPrintSetNode_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3818
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3818
    functionName: Curve2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Curve2D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3844
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3844
    functionName: Curve2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Curve2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5297
      start: 5283
    functionDepth: 0
    functionLinenumber: 5283
    functionLinenumberEnd: 5297
    functionName: FaceDefMesh_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FaceDefMesh_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23317
      start: 23275
    functionDepth: 0
    functionLinenumber: 23275
    functionLinenumberEnd: 23317
    functionName: MediaSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26441
      start: 26437
    functionDepth: 0
    functionLinenumber: 26437
    functionLinenumberEnd: 26441
    functionName: XXPlanarObstacle_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void XXPlanarObstacle_Del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 551
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 551
    functionName: AudioBuffer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioBuffer_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1261,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1264,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1270
    functionName: AudioMix_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioMix_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4741
      start: 4737
    functionDepth: 0
    functionLinenumber: 4737
    functionLinenumberEnd: 4741
    functionName: Expression_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Expression_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8445,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8452
      start: 8442
    functionDepth: 0
    functionLinenumber: 8442
    functionLinenumberEnd: 8452
    functionName: IndexedLineSet2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *IndexedLineSet2D_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24407,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24413
      start: 24397
    functionDepth: 0
    functionLinenumber: 24397
    functionLinenumberEnd: 24413
    functionName: XXLFM_FrameList_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_FrameList_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26792,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26795,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26793,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26796,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26794,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26798
      start: 26789
    functionDepth: 0
    functionLinenumber: 26789
    functionLinenumberEnd: 26798
    functionName: PositionAnimator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec2f_del
    - gf_sg_mfvec3f_del
    - gf_sg_mfrotation_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PositionAnimator_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:556,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:558,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:557,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:559,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:561,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:562,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:563,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:564,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:565,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: AudioBuffer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioBuffer_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2400
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2400
    functionName: Collision_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Collision_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23322,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23326,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23325,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23324,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23323,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23329
      start: 23320
    functionDepth: 0
    functionLinenumber: 23320
    functionLinenumberEnd: 23329
    functionName: MediaSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MediaSensor_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24420,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24422,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24428,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24430,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24425,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24431,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24432,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24433,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24434,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24435,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24436,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24437,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24440
      start: 24417
    functionDepth: 0
    functionLinenumber: 24417
    functionLinenumberEnd: 24440
    functionName: XXLFM_FrameList_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_FrameList_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33354,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33360,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33356,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33361,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33359,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33362,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33363,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33364,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33365,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33366,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33368,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33372,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33371,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33370,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33374
      start: 33351
    functionDepth: 0
    functionLinenumber: 33351
    functionLinenumberEnd: 33374
    functionName: DepthImageV2_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *DepthImageV2_Create() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34627,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34630,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34631,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34628,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34629,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34632,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34633,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34634,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34635,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34636,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34637,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34641,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34638,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34639,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34640,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34643
      start: 34625
    functionDepth: 0
    functionLinenumber: 34625
    functionLinenumberEnd: 34643
    functionName: WideSound_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 WideSound_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1280,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1282,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1283,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1284
    functionName: AudioSource_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioSource_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8462,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8464
      start: 8459
    functionDepth: 0
    functionLinenumber: 8459
    functionLinenumberEnd: 8464
    functionName: Inline_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Inline_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2681
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2681
    functionName: ColorInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ColorInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11494
      start: 11463
    functionDepth: 0
    functionLinenumber: 11463
    functionLinenumberEnd: 11494
    functionName: PositionInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22536
      start: 22471
    functionDepth: 0
    functionLinenumber: 22471
    functionLinenumberEnd: 22536
    functionName: TemporalGroup_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TemporalGroup_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26006,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26014,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26007,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26013,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26019
      start: 25999
    functionDepth: 0
    functionLinenumber: 25999
    functionLinenumberEnd: 26019
    functionName: OctreeImage_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OctreeImage_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26043,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26044,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26046,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26047
      start: 26040
    functionDepth: 0
    functionLinenumber: 26040
    functionLinenumberEnd: 26047
    functionName: XXParticles_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void XXParticles_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 36053
      start: 36044
    functionDepth: 0
    functionLinenumber: 36044
    functionLinenumberEnd: 36053
    functionName: CacheTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CacheTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2686,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2687,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2689,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2691
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2691
    functionName: ColorInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ColorInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11502,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11504
      start: 11497
    functionDepth: 0
    functionLinenumber: 11497
    functionLinenumberEnd: 11504
    functionName: PositionInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22541,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22543,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22542,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22544,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22545,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22546,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22547,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22548,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22551
      start: 22539
    functionDepth: 0
    functionLinenumber: 22539
    functionLinenumberEnd: 22551
    functionName: TemporalGroup_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TemporalGroup_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26026,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26033
      start: 26023
    functionDepth: 0
    functionLinenumber: 26023
    functionLinenumberEnd: 26033
    functionName: OctreeImage_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *OctreeImage_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 36108
      start: 36054
    functionDepth: 0
    functionLinenumber: 36054
    functionLinenumberEnd: 36108
    functionName: CacheTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CacheTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32470,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32467,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32471,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32472,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32473,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32474,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32475,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32476,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32477,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32478,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 32480
      start: 32464
    functionDepth: 0
    functionLinenumber: 32464
    functionLinenumberEnd: 32480
    functionName: XLineProperties_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XLineProperties_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26362
      start: 26348
    functionDepth: 0
    functionLinenumber: 26348
    functionLinenumberEnd: 26362
    functionName: XXParticleInitBox_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXParticleInitBox_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:405,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:407,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: Appearance_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Appearance_get_field_index_by_name(char *name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 22342
      start: 22253
    functionDepth: 0
    functionLinenumber: 22253
    functionLinenumberEnd: 22342
    functionName: TemporalTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TemporalTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: Appearance_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Appearance_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22347,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22351,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22348,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22350,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22349,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22352,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22353,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22354,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22355,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22356,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22359,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22357,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22358,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22361
      start: 22345
    functionDepth: 0
    functionLinenumber: 22345
    functionLinenumberEnd: 22361
    functionName: TemporalTransform_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TemporalTransform_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26379
      start: 26364
    functionDepth: 0
    functionLinenumber: 26364
    functionLinenumberEnd: 26379
    functionName: XXParticleInitBox_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXParticleInitBox_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32487,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32494,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32495,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32501,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32502,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32508,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32509,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32514,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32520,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32521,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32538,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32526,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 32544
      start: 32481
    functionDepth: 0
    functionLinenumber: 32481
    functionLinenumberEnd: 32544
    functionName: XLineProperties_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XLineProperties_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36018,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36021,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36019,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36022,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36020,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 36024
      start: 36015
    functionDepth: 0
    functionLinenumber: 36015
    functionLinenumberEnd: 36024
    functionName: CacheTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    - gf_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void CacheTexture_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35997,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36006,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35999,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36008
      start: 35994
    functionDepth: 0
    functionLinenumber: 35994
    functionLinenumberEnd: 36008
    functionName: Shadow_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Shadow_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9751
      start: 9720
    functionDepth: 0
    functionLinenumber: 9720
    functionLinenumberEnd: 9751
    functionName: Material2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Material2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9916,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9917,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9920,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9919,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9918,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9921,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9922,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9923,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9926
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9926
    functionName: MovieTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MovieTexture_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12690
      start: 12675
    functionDepth: 0
    functionLinenumber: 12675
    functionLinenumberEnd: 12690
    functionName: ScalarInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScalarInterpolator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36266,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36265,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36264,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36268,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36269,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36270,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36273
      start: 36261
    functionDepth: 0
    functionLinenumber: 36261
    functionLinenumberEnd: 36273
    functionName: EnvironmentTest_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 EnvironmentTest_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9756,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9758,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9761
      start: 9754
    functionDepth: 0
    functionLinenumber: 9754
    functionLinenumberEnd: 9761
    functionName: Material2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Material2D_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9939
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9939
    functionName: MovieTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MovieTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12722
      start: 12691
    functionDepth: 0
    functionLinenumber: 12691
    functionLinenumberEnd: 12722
    functionName: ScalarInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScalarInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30177
      start: 30163
    functionDepth: 0
    functionLinenumber: 30163
    functionLinenumberEnd: 30177
    functionName: Clipper2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Clipper2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 36280
      start: 36274
    functionDepth: 0
    functionLinenumber: 36274
    functionLinenumberEnd: 36280
    functionName: EnvironmentTest_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool EnvironmentTest_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15604,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 15620
      start: 15598
    functionDepth: 0
    functionLinenumber: 15598
    functionLinenumberEnd: 15620
    functionName: Viewpoint_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Viewpoint_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15627,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15632,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15634,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15635,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15629,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15636,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15637,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15638,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15639,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15642
      start: 15624
    functionDepth: 0
    functionLinenumber: 15624
    functionLinenumberEnd: 15642
    functionName: Viewpoint_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Viewpoint_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6597,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6669
      start: 6594
    functionDepth: 0
    functionLinenumber: 6594
    functionLinenumberEnd: 6669
    functionName: FAP_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FAP_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15799
      start: 15795
    functionDepth: 0
    functionLinenumber: 15795
    functionLinenumberEnd: 15799
    functionName: Viseme_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Viseme_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15775,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15782,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15781,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15777,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15780,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15784,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15785,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15788
      start: 15772
    functionDepth: 0
    functionLinenumber: 15772
    functionLinenumberEnd: 15788
    functionName: VisibilitySensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *VisibilitySensor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 20849
      start: 20835
    functionDepth: 0
    functionLinenumber: 20835
    functionLinenumberEnd: 20849
    functionName: BDP_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BDP_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2190
    functionName: Box_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Box_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4461,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4467,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4473,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4468,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4474,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 4479
      start: 4455
    functionDepth: 0
    functionLinenumber: 4455
    functionLinenumberEnd: 4479
    functionName: DiscSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DiscSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8261,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8260,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8262,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8266
      start: 8256
    functionDepth: 0
    functionLinenumber: 8256
    functionLinenumberEnd: 8266
    functionName: IndexedLineSet_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedLineSet_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8411,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8414,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8413,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8412,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8415,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8416,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8419
      start: 8409
    functionDepth: 0
    functionLinenumber: 8409
    functionLinenumberEnd: 8419
    functionName: IndexedLineSet2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 IndexedLineSet2D_get_field_index_by_name(char *name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 28964
      start: 28859
    functionDepth: 0
    functionLinenumber: 28859
    functionLinenumberEnd: 28964
    functionName: SBSkinnedModel_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSkinnedModel_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 20866
      start: 20851
    functionDepth: 0
    functionLinenumber: 20851
    functionLinenumberEnd: 20866
    functionName: BDP_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BDP_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4486,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4495,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4494,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4483
    functionDepth: 0
    functionLinenumber: 4483
    functionLinenumberEnd: 4497
    functionName: DiscSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *DiscSensor_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8273,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8285
      start: 8267
    functionDepth: 0
    functionLinenumber: 8267
    functionLinenumberEnd: 8285
    functionName: IndexedLineSet_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IndexedLineSet_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8426,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8432,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8438
      start: 8420
    functionDepth: 0
    functionLinenumber: 8420
    functionLinenumberEnd: 8438
    functionName: IndexedLineSet2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IndexedLineSet2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28969,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28973,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28972,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28971,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28970,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28974,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28975,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28976,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28977,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28978,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28982,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28983,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28979,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28980,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28981,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28985
      start: 28967
    functionDepth: 0
    functionLinenumber: 28967
    functionLinenumberEnd: 28985
    functionName: SBSkinnedModel_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBSkinnedModel_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6679,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6681,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6683,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6682,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 6684
      start: 6676
    functionDepth: 0
    functionLinenumber: 6676
    functionLinenumberEnd: 6684
    functionName: FDP_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void FDP_Del(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4440
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4440
    functionName: DiscSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DiscSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14152
      start: 14138
    functionDepth: 0
    functionLinenumber: 14138
    functionLinenumberEnd: 14152
    functionName: TextureCoordinate_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureCoordinate_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29431,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29432,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29434
      start: 29428
    functionDepth: 0
    functionLinenumber: 29428
    functionLinenumberEnd: 29434
    functionName: SolidRep_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void SolidRep_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4445,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4446,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4447,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4449,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4448,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4450,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4451,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4454
      start: 4443
    functionDepth: 0
    functionLinenumber: 4443
    functionLinenumberEnd: 4454
    functionName: DiscSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DiscSensor_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14172
      start: 14154
    functionDepth: 0
    functionLinenumber: 14154
    functionLinenumberEnd: 14172
    functionName: TextureCoordinate_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureCoordinate_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 4645
      start: 4551
    functionDepth: 0
    functionLinenumber: 4551
    functionLinenumberEnd: 4645
    functionName: ElevationGrid_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ElevationGrid_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 36513
      start: 36498
    functionDepth: 0
    functionLinenumber: 36498
    functionLinenumberEnd: 36513
    functionName: SpacePartition_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SpacePartition_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3916
      start: 3902
    functionDepth: 0
    functionLinenumber: 3902
    functionLinenumberEnd: 3916
    functionName: Cylinder_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Cylinder_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4650,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4651,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4652,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4654,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4653,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4655,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4656,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4657,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4658,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4659,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4661,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4662,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4663,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4660,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4665
      start: 4648
    functionDepth: 0
    functionLinenumber: 4648
    functionLinenumberEnd: 4665
    functionName: ElevationGrid_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ElevationGrid_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 36549
      start: 36514
    functionDepth: 0
    functionLinenumber: 36514
    functionLinenumberEnd: 36549
    functionName: SpacePartition_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SpacePartition_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 30814
      start: 30800
    functionDepth: 0
    functionLinenumber: 30800
    functionLinenumberEnd: 30814
    functionName: LinearGradient_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LinearGradient_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14410
      start: 14395
    functionDepth: 0
    functionLinenumber: 14395
    functionLinenumberEnd: 14410
    functionName: TimeSensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TimeSensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22013,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22014,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22018,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22022,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22028,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22017,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22021,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22031,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22027,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22016,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22020,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22030,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22026,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22024,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22015,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22019,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22025,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22029,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22023,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 22033
      start: 22011
    functionDepth: 0
    functionLinenumber: 22011
    functionLinenumberEnd: 22033
    functionName: PerceptualParameters_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PerceptualParameters_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1475,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1478,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1477,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: AudioSwitch_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioSwitch_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2208
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2208
    functionName: Box_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Box_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10081,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10093,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10087,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10099
      start: 10075
    functionDepth: 0
    functionLinenumber: 10075
    functionLinenumberEnd: 10099
    functionName: NavigationInfo_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NavigationInfo_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10812,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10816,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10815,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10814,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10813,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10817,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10818,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10821
      start: 10810
    functionDepth: 0
    functionLinenumber: 10810
    functionLinenumberEnd: 10821
    functionName: PlaneSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PlaneSensor_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24846,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24848,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24847,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24849,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24850,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24851,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24852,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24863,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24845,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24853,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24854,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24856,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24860,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24861,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24855,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24859,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24862,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24858,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24864
      start: 24842
    functionDepth: 0
    functionLinenumber: 24842
    functionLinenumberEnd: 24864
    functionName: MeshGrid_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void MeshGrid_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 30834
      start: 30816
    functionDepth: 0
    functionLinenumber: 30816
    functionLinenumberEnd: 30834
    functionName: LinearGradient_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LinearGradient_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2219
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2219
    functionName: Box_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Box_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10106,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10111,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10108,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10113,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10114,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10115,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10117,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10118,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10120,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10121,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10124,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10123,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10126
      start: 10103
    functionDepth: 0
    functionLinenumber: 10103
    functionLinenumberEnd: 10126
    functionName: NavigationInfo_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - FLT2FIX
    - GF_SAFEALLOC
    - strcpy
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NavigationInfo_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10846
      start: 10822
    functionDepth: 0
    functionLinenumber: 10822
    functionLinenumberEnd: 10846
    functionName: PlaneSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PlaneSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14471
      start: 14411
    functionDepth: 0
    functionLinenumber: 14411
    functionLinenumberEnd: 14471
    functionName: TimeSensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TimeSensor_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 22154
      start: 22034
    functionDepth: 0
    functionLinenumber: 22034
    functionLinenumberEnd: 22154
    functionName: PerceptualParameters_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PerceptualParameters_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28778,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28780,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28782,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28784,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28790,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28792,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28788,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28786,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28794,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28772,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28775,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28774,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28779,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28781,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28783,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28791,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28789,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28787,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28785,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28796
      start: 28769
    functionDepth: 0
    functionLinenumber: 28769
    functionLinenumberEnd: 28796
    functionName: SBSite_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBSite_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2492,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2495,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2500
    functionName: Collision_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Collision_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10398
      start: 10383
    functionDepth: 0
    functionLinenumber: 10383
    functionLinenumberEnd: 10398
    functionName: OrderedGroup_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OrderedGroup_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 13239
      start: 13221
    functionDepth: 0
    functionLinenumber: 13221
    functionLinenumberEnd: 13239
    functionName: Sound2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sound2D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13851,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13857
      start: 13844
    functionDepth: 0
    functionLinenumber: 13844
    functionLinenumberEnd: 13857
    functionName: Switch_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Switch_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14185
      start: 14173
    functionDepth: 0
    functionLinenumber: 14173
    functionLinenumberEnd: 14185
    functionName: TextureCoordinate_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureCoordinate_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14500,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14510
      start: 14497
    functionDepth: 0
    functionLinenumber: 14497
    functionLinenumberEnd: 14510
    functionName: TimeSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TimeSensor_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10434
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10434
    functionName: OrderedGroup_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OrderedGroup_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13271
      start: 13240
    functionDepth: 0
    functionLinenumber: 13240
    functionLinenumberEnd: 13271
    functionName: Sound2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Sound2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13864,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13871
      start: 13861
    functionDepth: 0
    functionLinenumber: 13861
    functionLinenumberEnd: 13871
    functionName: Switch_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Switch_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14192
      start: 14188
    functionDepth: 0
    functionLinenumber: 14188
    functionLinenumberEnd: 14192
    functionName: TextureCoordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TextureCoordinate_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 28657
      start: 28639
    functionDepth: 0
    functionLinenumber: 28639
    functionLinenumberEnd: 28657
    functionName: SBSite_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSite_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2417
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2417
    functionName: Collision_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Collision_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21635,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21638,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21637,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21640
      start: 21633
    functionDepth: 0
    functionLinenumber: 21633
    functionLinenumberEnd: 21640
    functionName: Hierarchical3DMesh_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Hierarchical3DMesh_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24747
      start: 24733
    functionDepth: 0
    functionLinenumber: 24733
    functionLinenumberEnd: 24747
    functionName: XXLFM_ViewMapList_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_ViewMapList_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2466
    functionName: Collision_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Collision_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21647,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21659
      start: 21641
    functionDepth: 0
    functionLinenumber: 21641
    functionLinenumberEnd: 21659
    functionName: Hierarchical3DMesh_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Hierarchical3DMesh_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24764
      start: 24749
    functionDepth: 0
    functionLinenumber: 24749
    functionLinenumberEnd: 24764
    functionName: XXLFM_ViewMapList_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_ViewMapList_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 28723
      start: 28658
    functionDepth: 0
    functionLinenumber: 28658
    functionLinenumberEnd: 28723
    functionName: SBSite_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBSite_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2510,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2512
    functionName: Color_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Color_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14521
      start: 14517
    functionDepth: 0
    functionLinenumber: 14517
    functionLinenumberEnd: 14521
    functionName: TouchSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TouchSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28806,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28807,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28810,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28808,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28809,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28811,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28812,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28813,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28814,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28815,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 28817
      start: 28803
    functionDepth: 0
    functionLinenumber: 28803
    functionLinenumberEnd: 28817
    functionName: SBSkinnedModel_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void SBSkinnedModel_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1305
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1305
    functionName: AudioSource_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioSource_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2232
    functionName: Box_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Box_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2533
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2533
    functionName: Color_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Color_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5258,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5264
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5264
    functionName: Face_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Face_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1325
    functionName: AudioSource_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioSource_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2239
    functionName: Box_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Box_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2553
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2553
    functionName: Color_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Color_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26969
      start: 26941
    functionDepth: 0
    functionLinenumber: 26941
    functionLinenumberEnd: 26969
    functionName: PositionAnimator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PositionAnimator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29306
      start: 29284
    functionDepth: 0
    functionLinenumber: 29284
    functionLinenumberEnd: 29306
    functionName: ScalarAnimator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ScalarAnimator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1838,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1840
    functionName: Background2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Background2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 20902
      start: 20896
    functionDepth: 0
    functionLinenumber: 20896
    functionLinenumberEnd: 20902
    functionName: BDP_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BDP_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20909,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20915
      start: 20906
    functionDepth: 0
    functionLinenumber: 20906
    functionLinenumberEnd: 20915
    functionName: BDP_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BDP_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26976,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26978,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26984,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26981,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26982,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26986,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26987,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26988,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26989,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26991,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26993,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26995
      start: 26973
    functionDepth: 0
    functionLinenumber: 26973
    functionLinenumberEnd: 26995
    functionName: PositionAnimator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PositionAnimator_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29313,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29315,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29321,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29318,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29319,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29323,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29324,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29325,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29326,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29330
      start: 29310
    functionDepth: 0
    functionLinenumber: 29310
    functionLinenumberEnd: 29330
    functionName: ScalarAnimator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ScalarAnimator_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1817,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1822,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1819,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1825,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1824,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1828
    functionName: Background_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Background_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5274,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5275,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5278,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5277,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5279
      start: 5271
    functionDepth: 0
    functionLinenumber: 5271
    functionLinenumberEnd: 5279
    functionName: FaceDefMesh_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void FaceDefMesh_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11511,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11523
      start: 11505
    functionDepth: 0
    functionLinenumber: 11505
    functionLinenumberEnd: 11523
    functionName: PositionInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PositionInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33326
      start: 33271
    functionDepth: 0
    functionLinenumber: 33271
    functionLinenumberEnd: 33326
    functionName: DepthImageV2_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DepthImageV2_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29340,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29341,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 29343
      start: 29337
    functionDepth: 0
    functionLinenumber: 29337
    functionLinenumberEnd: 29343
    functionName: SimpleTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SimpleTexture_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33331,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33335,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33334,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33333,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33332,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33336,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33337,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33340
      start: 33329
    functionDepth: 0
    functionLinenumber: 33329
    functionLinenumberEnd: 33340
    functionName: DepthImageV2_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 DepthImageV2_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11530,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11536
      start: 11527
    functionDepth: 0
    functionLinenumber: 11527
    functionLinenumberEnd: 11536
    functionName: PositionInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PositionInterpolator_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10521
      start: 10506
    functionDepth: 0
    functionLinenumber: 10506
    functionLinenumberEnd: 10521
    functionName: OrientationInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OrientationInterpolator_get_field_index(GF_Node *n,
      u32 inField, u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10553
      start: 10522
    functionDepth: 0
    functionLinenumber: 10522
    functionLinenumberEnd: 10553
    functionName: OrientationInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err OrientationInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24699
      start: 24681
    functionDepth: 0
    functionLinenumber: 24681
    functionLinenumberEnd: 24699
    functionName: XXLFM_SurfaceMapList_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_SurfaceMapList_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 21867
      start: 21853
    functionDepth: 0
    functionLinenumber: 21853
    functionLinenumberEnd: 21867
    functionName: PerceptualParameters_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PerceptualParameters_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24706,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24712
      start: 24703
    functionDepth: 0
    functionLinenumber: 24703
    functionLinenumberEnd: 24712
    functionName: XXLFM_SurfaceMapList_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_SurfaceMapList_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24280
      start: 24262
    functionDepth: 0
    functionLinenumber: 24262
    functionLinenumberEnd: 24280
    functionName: XXLFM_BlendList_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_BlendList_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 29361
      start: 29347
    functionDepth: 0
    functionLinenumber: 29347
    functionLinenumberEnd: 29361
    functionName: SimpleTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SimpleTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24296,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 24306
      start: 24289
    functionDepth: 0
    functionLinenumber: 24289
    functionLinenumberEnd: 24306
    functionName: XXLFM_BlendList_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXLFM_BlendList_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2320
    functionName: Circle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Circle_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2566
    functionName: Color_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Color_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24285,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24288
      start: 24283
    functionDepth: 0
    functionLinenumber: 24283
    functionLinenumberEnd: 24288
    functionName: XXLFM_BlendList_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXLFM_BlendList_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29372
      start: 29363
    functionDepth: 0
    functionLinenumber: 29363
    functionLinenumberEnd: 29372
    functionName: SimpleTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SimpleTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24313,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24319
      start: 24310
    functionDepth: 0
    functionLinenumber: 24310
    functionLinenumberEnd: 24319
    functionName: XXLFM_BlendList_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXLFM_BlendList_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2333
    functionName: Circle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Circle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2573
    functionName: Color_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Color_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9967,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9969,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9970
      start: 9964
    functionDepth: 0
    functionLinenumber: 9964
    functionLinenumberEnd: 9970
    functionName: NavigationInfo_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_mfstring_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NavigationInfo_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9946,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9948,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9957
      start: 9943
    functionDepth: 0
    functionLinenumber: 9943
    functionLinenumberEnd: 9957
    functionName: MovieTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MovieTexture_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1420,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1434,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1440,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1426,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1433,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1441,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1446
    functionName: AudioSource_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioSource_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10179
      start: 10161
    functionDepth: 0
    functionLinenumber: 10161
    functionLinenumberEnd: 10179
    functionName: Normal_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Normal_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22453
      start: 22439
    functionDepth: 0
    functionLinenumber: 22439
    functionLinenumberEnd: 22453
    functionName: TemporalGroup_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TemporalGroup_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1453,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1460,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1455,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1459,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1465
    functionName: AudioSource_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioSource_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10192
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10192
    functionName: Normal_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Normal_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22470
      start: 22455
    functionDepth: 0
    functionLinenumber: 22455
    functionLinenumberEnd: 22470
    functionName: TemporalGroup_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TemporalGroup_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7664,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7666,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7668
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7668
    functionName: ImageTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ImageTexture_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8591
      start: 8576
    functionDepth: 0
    functionLinenumber: 8576
    functionLinenumberEnd: 8591
    functionName: LOD_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LOD_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 23184
      start: 23124
    functionDepth: 0
    functionLinenumber: 23124
    functionLinenumberEnd: 23184
    functionName: MediaControl_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaControl_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7675
      start: 7669
    functionDepth: 0
    functionLinenumber: 7669
    functionLinenumberEnd: 7675
    functionName: ImageTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ImageTexture_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8617
      start: 8592
    functionDepth: 0
    functionLinenumber: 8592
    functionLinenumberEnd: 8617
    functionName: LOD_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LOD_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23189,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23193,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23192,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23191,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23190,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23194,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23195,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23196,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23199
      start: 23187
    functionDepth: 0
    functionLinenumber: 23187
    functionLinenumberEnd: 23199
    functionName: MediaControl_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MediaControl_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8652,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8659,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8658,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8661
      start: 8649
    functionDepth: 0
    functionLinenumber: 8649
    functionLinenumberEnd: 8661
    functionName: LOD_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *LOD_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33239,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33241
      start: 33236
    functionDepth: 0
    functionLinenumber: 33236
    functionLinenumberEnd: 33241
    functionName: DepthImageV2_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DepthImageV2_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30910,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30916,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30917,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30911,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30922,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30923,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30929,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30930,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30941
      start: 30898
    functionDepth: 0
    functionLinenumber: 30898
    functionLinenumberEnd: 30941
    functionName: LinearGradient_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool LinearGradient_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33384,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33387,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33386,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 33388
      start: 33381
    functionDepth: 0
    functionLinenumber: 33381
    functionLinenumberEnd: 33388
    functionName: MorphShape_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void MorphShape_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24450,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24452,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24453
      start: 24447
    functionDepth: 0
    functionLinenumber: 24447
    functionLinenumberEnd: 24453
    functionName: XXLFM_LightMap_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_LightMap_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 27976
      start: 27962
    functionDepth: 0
    functionLinenumber: 27962
    functionLinenumberEnd: 27976
    functionName: SBBone_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SBBone_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34503
      start: 34489
    functionDepth: 0
    functionLinenumber: 34489
    functionLinenumberEnd: 34503
    functionName: WideSound_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 WideSound_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30948,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30953,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30955,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30950,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30954,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30957,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30959,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30962
      start: 30945
    functionDepth: 0
    functionLinenumber: 30945
    functionLinenumberEnd: 30962
    functionName: LinearGradient_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *LinearGradient_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4043
      start: 4029
    functionDepth: 0
    functionLinenumber: 4029
    functionLinenumberEnd: 4043
    functionName: CylinderSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CylinderSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 27996
      start: 27978
    functionDepth: 0
    functionLinenumber: 27978
    functionLinenumberEnd: 27996
    functionName: SBBone_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBBone_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34523
      start: 34505
    functionDepth: 0
    functionLinenumber: 34505
    functionLinenumberEnd: 34523
    functionName: WideSound_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WideSound_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8671,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8674,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8673,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8675
      start: 8668
    functionDepth: 0
    functionLinenumber: 8668
    functionLinenumberEnd: 8675
    functionName: Layer2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Layer2D_Del(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:574,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:594,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:586,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:580,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:593,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:599,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 605
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 605
    functionName: AudioBuffer_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioBuffer_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:612,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:621,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:614,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:617,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 626
    functionName: AudioBuffer_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioBuffer_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13219
      start: 13205
    functionDepth: 0
    functionLinenumber: 13205
    functionLinenumberEnd: 13219
    functionName: Sound2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Sound2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10233,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10236,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10235,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10237
      start: 10230
    functionDepth: 0
    functionLinenumber: 10230
    functionLinenumberEnd: 10237
    functionName: NormalInterpolator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void NormalInterpolator_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10879
      start: 10875
    functionDepth: 0
    functionLinenumber: 10875
    functionLinenumberEnd: 10879
    functionName: PlaneSensor2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PlaneSensor2D_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10217,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10223
      start: 10214
    functionDepth: 0
    functionLinenumber: 10214
    functionLinenumberEnd: 10223
    functionName: Normal_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Normal_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10853,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10855,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10861,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10862,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10860,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10863,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10864,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10865,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10868
      start: 10850
    functionDepth: 0
    functionLinenumber: 10850
    functionLinenumberEnd: 10868
    functionName: PlaneSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PlaneSensor_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:881,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:885,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:882,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:883,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:884,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:886,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: AudioDelay_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AudioDelay_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23359,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23361,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23360,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23363
      start: 23356
    functionDepth: 0
    functionLinenumber: 23356
    functionLinenumberEnd: 23363
    functionName: BitWrapper_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_unregister
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void BitWrapper_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24352
      start: 24338
    functionDepth: 0
    functionLinenumber: 24338
    functionLinenumberEnd: 24352
    functionName: XXLFM_FrameList_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_FrameList_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29955,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29956,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29957,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29959,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29958,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29960,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29963
      start: 29953
    functionDepth: 0
    functionLinenumber: 29953
    functionLinenumberEnd: 29963
    functionName: SubdivSurfaceSector_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SubdivSurfaceSector_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 26509
      start: 26479
    functionDepth: 0
    functionLinenumber: 26479
    functionLinenumberEnd: 26509
    functionName: XXPlanarObstacle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXPlanarObstacle_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:896,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:903,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:904,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:897,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: AudioDelay_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AudioDelay_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24369
      start: 24354
    functionDepth: 0
    functionLinenumber: 24354
    functionLinenumberEnd: 24369
    functionName: XXLFM_FrameList_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_FrameList_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26514,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26517,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26515,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26519
      start: 26512
    functionDepth: 0
    functionLinenumber: 26512
    functionLinenumberEnd: 26519
    functionName: XXPlanarObstacle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XXPlanarObstacle_get_field_index_by_name(char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29970,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29980,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29971,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29981,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29987,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29988,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29993,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29994,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30007
      start: 29964
    functionDepth: 0
    functionLinenumber: 29964
    functionLinenumberEnd: 30007
    functionName: SubdivSurfaceSector_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SubdivSurfaceSector_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30295,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30297
      start: 30292
    functionDepth: 0
    functionLinenumber: 30292
    functionLinenumberEnd: 30297
    functionName: ColorTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ColorTransform_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15484,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15486
      start: 15481
    functionDepth: 0
    functionLinenumber: 15481
    functionLinenumberEnd: 15486
    functionName: Viewpoint_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Viewpoint_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16412,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16419,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16418,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16414,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16417,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16420,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16421,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16422,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16423,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16426,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16429,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16432
      start: 16409
    functionDepth: 0
    functionLinenumber: 16409
    functionLinenumberEnd: 16432
    functionName: AcousticScene_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AcousticScene_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22840
      start: 22826
    functionDepth: 0
    functionLinenumber: 22826
    functionLinenumberEnd: 22840
    functionName: MatteTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MatteTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 23381
      start: 23367
    functionDepth: 0
    functionLinenumber: 23367
    functionLinenumberEnd: 23381
    functionName: BitWrapper_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 BitWrapper_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 31983
      start: 31969
    functionDepth: 0
    functionLinenumber: 31969
    functionLinenumberEnd: 31983
    functionName: XCurve2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XCurve2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 26413
      start: 26407
    functionDepth: 0
    functionLinenumber: 26407
    functionLinenumberEnd: 26413
    functionName: XXParticleInitBox_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool XXParticleInitBox_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35463,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35467,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35464,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35466,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35465,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35468,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35469,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35470,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35472
      start: 35461
    functionDepth: 0
    functionLinenumber: 35461
    functionLinenumberEnd: 35472
    functionName: BuildingPartNode_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BuildingPartNode_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35847,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35852,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35853,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35849,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35854,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35855,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35856,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35857,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35858,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35860,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35863,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35867
      start: 35844
    functionDepth: 0
    functionLinenumber: 35844
    functionLinenumberEnd: 35867
    functionName: FacadeNode_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FacadeNode_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22857
      start: 22842
    functionDepth: 0
    functionLinenumber: 22842
    functionLinenumberEnd: 22857
    functionName: MatteTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MatteTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 23392
      start: 23383
    functionDepth: 0
    functionLinenumber: 23383
    functionLinenumberEnd: 23392
    functionName: BitWrapper_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BitWrapper_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26420,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26425,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26426,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26422,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26427,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26430
      start: 26417
    functionDepth: 0
    functionLinenumber: 26417
    functionLinenumberEnd: 26430
    functionName: XXParticleInitBox_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *XXParticleInitBox_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 32003
      start: 31985
    functionDepth: 0
    functionLinenumber: 31985
    functionLinenumberEnd: 32003
    functionName: XCurve2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XCurve2D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35479
      start: 35473
    functionDepth: 0
    functionLinenumber: 35473
    functionLinenumberEnd: 35479
    functionName: BuildingPartNode_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BuildingPartNode_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15460,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15465,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15466,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15467,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15468,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15469,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15470,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15471,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15474
      start: 15457
    functionDepth: 0
    functionLinenumber: 15457
    functionLinenumberEnd: 15474
    functionName: Valuator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Valuator_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14250
      start: 14236
    functionDepth: 0
    functionLinenumber: 14236
    functionLinenumberEnd: 14250
    functionName: TextureTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TextureTransform_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16442,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16445,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16444,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 16446
      start: 16439
    functionDepth: 0
    functionLinenumber: 16439
    functionLinenumberEnd: 16446
    functionName: ApplicationWindow_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_sg_mfstring_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void ApplicationWindow_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35877,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 35879
      start: 35874
    functionDepth: 0
    functionLinenumber: 35874
    functionLinenumberEnd: 35879
    functionName: Shadow_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Shadow_Del(GF_Node *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 30644
      start: 30518
    functionDepth: 0
    functionLinenumber: 30518
    functionLinenumberEnd: 30644
    functionName: ColorTransform_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ColorTransform_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12343,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12362,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12368,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12387,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12400,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12412,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12419,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12464,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12483,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12361,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12342,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12367,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12386,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12399,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12411,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12418,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12463,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12482,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12324,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12374,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12381,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12393,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12406,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12438,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12457,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12323,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12373,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12380,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12392,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12405,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12437,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12456,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 156
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 12488
      start: 12304
    functionDepth: 0
    functionLinenumber: 12304
    functionLinenumberEnd: 12488
    functionName: QuantizationParameter_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool QuantizationParameter_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13397,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13402,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13404
      start: 13394
    functionDepth: 0
    functionLinenumber: 13394
    functionLinenumberEnd: 13404
    functionName: Sphere_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Sphere_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 13945
      start: 13920
    functionDepth: 0
    functionLinenumber: 13920
    functionLinenumberEnd: 13945
    functionName: TermCap_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TermCap_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 15836
      start: 15821
    functionDepth: 0
    functionLinenumber: 15821
    functionLinenumberEnd: 15836
    functionName: Viseme_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viseme_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21312,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21316,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21314,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21313,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21315,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21318
      start: 21309
    functionDepth: 0
    functionLinenumber: 21309
    functionLinenumberEnd: 21318
    functionName: DirectiveSound_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DirectiveSound_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12495,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12516,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12520,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12517,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12497,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12521,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12524,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12525,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12527,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12531,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12540
      start: 12492
    functionDepth: 0
    functionLinenumber: 12492
    functionLinenumberEnd: 12540
    functionName: QuantizationParameter_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *QuantizationParameter_Create() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13950,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13952,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13954
      start: 13948
    functionDepth: 0
    functionLinenumber: 13948
    functionLinenumberEnd: 13954
    functionName: TermCap_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TermCap_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15867
      start: 15837
    functionDepth: 0
    functionLinenumber: 15837
    functionLinenumberEnd: 15867
    functionName: Viseme_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Viseme_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 27740
      start: 27726
    functionDepth: 0
    functionLinenumber: 27726
    functionLinenumberEnd: 27740
    functionName: Quadric_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Quadric_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30661,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30667,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30671,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30675,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30660,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30666,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30664,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30670,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30674,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30651,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30659,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30663,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30669,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30665,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30673,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30653,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30654,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30658,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30657,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30662,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30668,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30678
      start: 30648
    functionDepth: 0
    functionLinenumber: 30648
    functionLinenumberEnd: 30678
    functionName: ColorTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ColorTransform_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9370
      start: 9356
    functionDepth: 0
    functionLinenumber: 9356
    functionLinenumberEnd: 9370
    functionName: ListeningPoint_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ListeningPoint_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 16602
      start: 16598
    functionDepth: 0
    functionLinenumber: 16598
    functionLinenumberEnd: 16602
    functionName: BAP_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void BAP_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27341,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27343,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27345,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27344,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27342,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27346,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27347,1
    - Dst: gf_sg_sfimage_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27348,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 27350
      start: 27338
    functionDepth: 0
    functionLinenumber: 27338
    functionLinenumberEnd: 27350
    functionName: ProceduralTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_sfimage_del
    - gf_sg_mfvec2f_del
    - gf_sg_mfcolor_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void ProceduralTexture_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 28574
      start: 28564
    functionDepth: 0
    functionLinenumber: 28564
    functionLinenumberEnd: 28574
    functionName: SBSegment_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBSegment_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7617
      start: 7603
    functionDepth: 0
    functionLinenumber: 7603
    functionLinenumberEnd: 7617
    functionName: ImageTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ImageTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9390
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9390
    functionName: ListeningPoint_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ListeningPoint_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28581,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28588,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28583,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28587,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28584,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28589,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28590,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28591,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28593,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28594,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28598,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28601,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28595,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28600,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28603
      start: 28578
    functionDepth: 0
    functionLinenumber: 28578
    functionLinenumberEnd: 28603
    functionName: SBSegment_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBSegment_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 13415
      start: 13411
    functionDepth: 0
    functionLinenumber: 13411
    functionLinenumberEnd: 13415
    functionName: SphereSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void SphereSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22430,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22431,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22433
      start: 22427
    functionDepth: 0
    functionLinenumber: 22427
    functionLinenumberEnd: 22433
    functionName: TemporalGroup_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TemporalGroup_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25271,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25274,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25277
      start: 25269
    functionDepth: 0
    functionLinenumber: 25269
    functionLinenumberEnd: 25277
    functionName: NonLinearDeformer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NonLinearDeformer_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 25284
      start: 25278
    functionDepth: 0
    functionLinenumber: 25278
    functionLinenumberEnd: 25284
    functionName: NonLinearDeformer_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NonLinearDeformer_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5392,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5394,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5395
      start: 5389
    functionDepth: 0
    functionLinenumber: 5389
    functionLinenumberEnd: 5395
    functionName: FaceDefTables_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void FaceDefTables_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1681
    functionName: Background_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Background_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9850
      start: 9832
    functionDepth: 0
    functionLinenumber: 9832
    functionLinenumberEnd: 9850
    functionName: MovieTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MovieTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 34622
      start: 34524
    functionDepth: 0
    functionLinenumber: 34524
    functionLinenumberEnd: 34622
    functionName: WideSound_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WideSound_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1761
    functionName: Background_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Background_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2300
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2300
    functionName: Circle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Circle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 6704
      start: 6690
    functionDepth: 0
    functionLinenumber: 6690
    functionLinenumberEnd: 6704
    functionName: FDP_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FDP_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9911
      start: 9851
    functionDepth: 0
    functionLinenumber: 9851
    functionLinenumberEnd: 9911
    functionName: MovieTexture_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MovieTexture_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5376,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5382
      start: 5373
    functionDepth: 0
    functionLinenumber: 5373
    functionLinenumberEnd: 5382
    functionName: FaceDefMesh_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FaceDefMesh_Create() '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9127
      start: 9026
    functionDepth: 0
    functionLinenumber: 9026
    functionLinenumberEnd: 9127
    functionName: Layout_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layout_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10061
      start: 10012
    functionDepth: 0
    functionLinenumber: 10012
    functionLinenumberEnd: 10061
    functionName: NavigationInfo_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NavigationInfo_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15360,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15364,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15368,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15374,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15378,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15382,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15384,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15388,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15392,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15396,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15395,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15356,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15357,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15359,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15363,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15367,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15373,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15377,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15381,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15387,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15391,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15358,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15362,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15372,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15370,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15366,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15376,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15380,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15386,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15390,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15394,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15361,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15365,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15371,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15369,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15375,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15379,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15383,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15385,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15389,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15393,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 83
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15398
      start: 15354
    functionDepth: 0
    functionLinenumber: 15354
    functionLinenumberEnd: 15398
    functionName: Valuator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Valuator_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 21768
      start: 21726
    functionDepth: 0
    functionLinenumber: 21726
    functionLinenumberEnd: 21768
    functionName: MaterialKey_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MaterialKey_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25448,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 25454
      start: 25431
    functionDepth: 0
    functionLinenumber: 25431
    functionLinenumberEnd: 25454
    functionName: NurbsCurve_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NurbsCurve_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 27030
      start: 27016
    functionDepth: 0
    functionLinenumber: 27016
    functionLinenumberEnd: 27030
    functionName: PositionAnimator2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionAnimator2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9132,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9134,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9133,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9135,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9136,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9137,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9145,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9146,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9148
      start: 9130
    functionDepth: 0
    functionLinenumber: 9130
    functionLinenumberEnd: 9148
    functionName: Layout_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Layout_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10066,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10070,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10069,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10068,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10067,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10071,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10072,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10074
      start: 10064
    functionDepth: 0
    functionLinenumber: 10064
    functionLinenumberEnd: 10074
    functionName: NavigationInfo_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NavigationInfo_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10159
      start: 10145
    functionDepth: 0
    functionLinenumber: 10145
    functionLinenumberEnd: 10159
    functionName: Normal_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Normal_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 15453
      start: 15399
    functionDepth: 0
    functionLinenumber: 15399
    functionLinenumberEnd: 15453
    functionName: Valuator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Valuator_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21773,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21776,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21775,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21774,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21777,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21780
      start: 21771
    functionDepth: 0
    functionLinenumber: 21771
    functionLinenumberEnd: 21780
    functionName: MaterialKey_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MaterialKey_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25461,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25470
      start: 25458
    functionDepth: 0
    functionLinenumber: 25458
    functionLinenumberEnd: 25470
    functionName: NurbsCurve_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *NurbsCurve_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 27047
      start: 27032
    functionDepth: 0
    functionLinenumber: 27032
    functionLinenumberEnd: 27047
    functionName: PositionAnimator2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionAnimator2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6989,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6995
      start: 6986
    functionDepth: 0
    functionLinenumber: 6986
    functionLinenumberEnd: 6995
    functionName: FIT_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FIT_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 32112
      start: 32098
    functionDepth: 0
    functionLinenumber: 32098
    functionLinenumberEnd: 32112
    functionName: XFontStyle_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XFontStyle_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36287,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36296
      start: 36284
    functionDepth: 0
    functionLinenumber: 36284
    functionLinenumberEnd: 36296
    functionName: EnvironmentTest_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *EnvironmentTest_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 32129
      start: 32114
    functionDepth: 0
    functionLinenumber: 32114
    functionLinenumberEnd: 32129
    functionName: XFontStyle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XFontStyle_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 35711
      start: 35697
    functionDepth: 0
    functionLinenumber: 35697
    functionLinenumberEnd: 35711
    functionName: FacadeNode_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FacadeNode_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7005,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7007
      start: 7002
    functionDepth: 0
    functionLinenumber: 7002
    functionLinenumberEnd: 7007
    functionName: Fog_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Fog_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36306,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36309,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36308,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36310,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36307,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36311,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36312,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 36314
      start: 36303
    functionDepth: 0
    functionLinenumber: 36303
    functionLinenumberEnd: 36314
    functionName: KeyNavigator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void KeyNavigator_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 7248
      start: 7188
    functionDepth: 0
    functionLinenumber: 7188
    functionLinenumberEnd: 7248
    functionName: FontStyle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err FontStyle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 11569
      start: 11555
    functionDepth: 0
    functionLinenumber: 11555
    functionLinenumberEnd: 11569
    functionName: PositionInterpolator2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PositionInterpolator2D_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7253,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7254,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7257,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7255,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7260,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7263
      start: 7251
    functionDepth: 0
    functionLinenumber: 7251
    functionLinenumberEnd: 7263
    functionName: FontStyle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FontStyle_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 11586
      start: 11571
    functionDepth: 0
    functionLinenumber: 11571
    functionLinenumberEnd: 11586
    functionName: PositionInterpolator2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator2D_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31767,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31769,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 31770
      start: 31764
    functionDepth: 0
    functionLinenumber: 31764
    functionLinenumberEnd: 31770
    functionName: Viewport_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Viewport_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3548
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3548
    functionName: CoordinateInterpolator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CoordinateInterpolator_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9807,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9809
      start: 9804
    functionDepth: 0
    functionLinenumber: 9804
    functionLinenumberEnd: 9809
    functionName: MovieTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void MovieTexture_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 16467
      start: 16453
    functionDepth: 0
    functionLinenumber: 16453
    functionLinenumberEnd: 16467
    functionName: ApplicationWindow_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ApplicationWindow_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 27289
      start: 27258
    functionDepth: 0
    functionLinenumber: 27258
    functionLinenumberEnd: 27289
    functionName: PositionInterpolator4D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator4D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34756
      start: 34742
    functionDepth: 0
    functionLinenumber: 34742
    functionLinenumberEnd: 34756
    functionName: ScoreShape_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ScoreShape_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3565
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3565
    functionName: CoordinateInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 16487
      start: 16469
    functionDepth: 0
    functionLinenumber: 16469
    functionLinenumberEnd: 16487
    functionName: ApplicationWindow_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ApplicationWindow_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27294,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27297,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27296,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 27299
      start: 27292
    functionDepth: 0
    functionLinenumber: 27292
    functionLinenumberEnd: 27299
    functionName: PositionInterpolator4D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionInterpolator4D_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34773
      start: 34758
    functionDepth: 0
    functionLinenumber: 34758
    functionLinenumberEnd: 34773
    functionName: ScoreShape_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ScoreShape_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7682,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7690
      start: 7679
    functionDepth: 0
    functionLinenumber: 7679
    functionLinenumberEnd: 7690
    functionName: ImageTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ImageTexture_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3270
    functionName: Cone_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Cone_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 10274
      start: 10259
    functionDepth: 0
    functionLinenumber: 10259
    functionLinenumberEnd: 10274
    functionName: NormalInterpolator_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NormalInterpolator_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 32374
      start: 32356
    functionDepth: 0
    functionLinenumber: 32356
    functionLinenumberEnd: 32374
    functionName: XLineProperties_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XLineProperties_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3275,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3280
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3280
    functionName: Cone_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Cone_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 10306
      start: 10275
    functionDepth: 0
    functionLinenumber: 10275
    functionLinenumberEnd: 10306
    functionName: NormalInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NormalInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 32461
      start: 32375
    functionDepth: 0
    functionLinenumber: 32375
    functionLinenumberEnd: 32461
    functionName: XLineProperties_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XLineProperties_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 36334
      start: 36320
    functionDepth: 0
    functionLinenumber: 36320
    functionLinenumberEnd: 36334
    functionName: KeyNavigator_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 KeyNavigator_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7700,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7701,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7702,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7704,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7703,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7705,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7706,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7707,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7708,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7709,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7711,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7712,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 7713
      start: 7697
    functionDepth: 0
    functionLinenumber: 7697
    functionLinenumberEnd: 7713
    functionName: IndexedFaceSet_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedFaceSet_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2733,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2735,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2734,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2737
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2737
    functionName: CompositeTexture2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CompositeTexture2D_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 24621
      start: 24607
    functionDepth: 0
    functionLinenumber: 24607
    functionLinenumberEnd: 24621
    functionName: XXLFM_SurfaceMapList_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 XXLFM_SurfaceMapList_get_field_count(GF_Node *node, u8
      IndexMode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 30884
      start: 30835
    functionDepth: 0
    functionLinenumber: 30835
    functionLinenumberEnd: 30884
    functionName: LinearGradient_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err LinearGradient_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24638
      start: 24623
    functionDepth: 0
    functionLinenumber: 24623
    functionLinenumberEnd: 24638
    functionName: XXLFM_SurfaceMapList_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XXLFM_SurfaceMapList_get_field_index(GF_Node *n, u32
      inField, u8 IndexMode, u32 *allField) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30889,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30890,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30892,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30893,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30891,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30894,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 30897
      start: 30887
    functionDepth: 0
    functionLinenumber: 30887
    functionLinenumberEnd: 30897
    functionName: LinearGradient_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 LinearGradient_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6767,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6768,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6771,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6769,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:6770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6773
      start: 6765
    functionDepth: 0
    functionLinenumber: 6765
    functionLinenumberEnd: 6773
    functionName: FDP_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FDP_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27835,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27841,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 27843
      start: 27830
    functionDepth: 0
    functionLinenumber: 27830
    functionLinenumberEnd: 27843
    functionName: Quadric_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Quadric_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 29475
      start: 29457
    functionDepth: 0
    functionLinenumber: 29457
    functionLinenumberEnd: 29475
    functionName: SolidRep_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SolidRep_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 6780
      start: 6774
    functionDepth: 0
    functionLinenumber: 6774
    functionLinenumberEnd: 6780
    functionName: FDP_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FDP_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27850,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 27892
      start: 27844
    functionDepth: 0
    functionLinenumber: 27844
    functionLinenumberEnd: 27892
    functionName: Quadric_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Quadric_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29501
      start: 29476
    functionDepth: 0
    functionLinenumber: 29476
    functionLinenumberEnd: 29501
    functionName: SolidRep_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SolidRep_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 24048
      start: 24012
    functionDepth: 0
    functionLinenumber: 24012
    functionLinenumberEnd: 24048
    functionName: Implicit_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Implicit_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26342
      start: 26338
    functionDepth: 0
    functionLinenumber: 26338
    functionLinenumberEnd: 26342
    functionName: XXParticleInitBox_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void XXParticleInitBox_Del(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33928,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33930,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33929,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33931,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33932,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33933,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33934,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33935,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33936,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33939
      start: 33926
    functionDepth: 0
    functionLinenumber: 33926
    functionLinenumberEnd: 33939
    functionName: SBVCAnimationV2_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBVCAnimationV2_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3798
      start: 3784
    functionDepth: 0
    functionLinenumber: 3784
    functionLinenumberEnd: 3798
    functionName: Curve2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Curve2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24053,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24057,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24054,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24055,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24059
      start: 24051
    functionDepth: 0
    functionLinenumber: 24051
    functionLinenumberEnd: 24059
    functionName: Implicit_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Implicit_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33952,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33958
      start: 33940
    functionDepth: 0
    functionLinenumber: 33940
    functionLinenumberEnd: 33958
    functionName: SBVCAnimationV2_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBVCAnimationV2_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 31017
      start: 30999
    functionDepth: 0
    functionLinenumber: 30999
    functionLinenumberEnd: 31017
    functionName: PathLayout_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PathLayout_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1913
    functionName: Background2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Background2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4001,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4007,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4003,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4012
    functionName: Cylinder_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Cylinder_Create() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25589,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25590,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25591,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25593,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25592,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25594,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25595,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25598
      start: 25587
    functionDepth: 0
    functionLinenumber: 25587
    functionLinenumberEnd: 25598
    functionName: NurbsCurve2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsCurve2D_get_field_index_by_name(char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 31679
      start: 31614
    functionDepth: 0
    functionLinenumber: 31614
    functionLinenumberEnd: 31679
    functionName: TransformMatrix2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TransformMatrix2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 34809
      start: 34803
    functionDepth: 0
    functionLinenumber: 34803
    functionLinenumberEnd: 34809
    functionName: ScoreShape_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ScoreShape_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1918,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1921,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1920,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1923
    functionName: Background2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Background2D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9239
      start: 9225
    functionDepth: 0
    functionLinenumber: 9225
    functionLinenumberEnd: 9239
    functionName: LineProperties_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 LineProperties_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25616,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 25622
      start: 25599
    functionDepth: 0
    functionLinenumber: 25599
    functionLinenumberEnd: 25622
    functionName: NurbsCurve2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NurbsCurve2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 31090
      start: 31018
    functionDepth: 0
    functionLinenumber: 31018
    functionLinenumberEnd: 31090
    functionName: PathLayout_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PathLayout_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31684,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31686,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31685,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31687,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31688,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31689,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31690,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31691,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31694
      start: 31682
    functionDepth: 0
    functionLinenumber: 31682
    functionLinenumberEnd: 31694
    functionName: TransformMatrix2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TransformMatrix2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34816,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:34818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34822
      start: 34813
    functionDepth: 0
    functionLinenumber: 34813
    functionLinenumberEnd: 34822
    functionName: ScoreShape_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ScoreShape_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 7028
      start: 7014
    functionDepth: 0
    functionLinenumber: 7014
    functionLinenumberEnd: 7028
    functionName: Fog_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Fog_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2005
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2005
    functionName: Billboard_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Billboard_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mftime_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16263,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16265,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 16266
      start: 16260
    functionDepth: 0
    functionLinenumber: 16260
    functionLinenumberEnd: 16266
    functionName: AcousticScene_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mftime_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void AcousticScene_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26672,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26674,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:26673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 26675
      start: 26669
    functionDepth: 0
    functionLinenumber: 26669
    functionLinenumberEnd: 26675
    functionName: PointTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_node_free
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void PointTexture_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2041
    functionName: Billboard_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Billboard_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 7048
      start: 7030
    functionDepth: 0
    functionLinenumber: 7030
    functionLinenumberEnd: 7048
    functionName: Fog_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Fog_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4023
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4023
    functionName: CylinderSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void CylinderSensor_Del(GF_Node *node) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35091,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35092,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35096,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35106,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35102,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35110,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35116,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35120,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35095,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35099,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35101,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35105,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35109,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35115,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35119,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35094,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35098,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35100,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35108,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35104,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35112,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35114,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35118,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35093,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35107,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35103,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35111,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35113,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35117,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35121,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35123
      start: 35089
    functionDepth: 0
    functionLinenumber: 35089
    functionLinenumberEnd: 35123
    functionName: MusicScore_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 MusicScore_get_field_index_by_name(char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9591,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9595,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9592,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9594,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9593,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9598
      start: 9589
    functionDepth: 0
    functionLinenumber: 9589
    functionLinenumberEnd: 9598
    functionName: Material_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Material_get_field_index_by_name(char *name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11917
      start: 11863
    functionDepth: 0
    functionLinenumber: 11863
    functionLinenumberEnd: 11917
    functionName: ProximitySensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ProximitySensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 16574
      start: 16550
    functionDepth: 0
    functionLinenumber: 16550
    functionLinenumberEnd: 16574
    functionName: ApplicationWindow_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ApplicationWindow_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20826,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20828,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 20829
      start: 20823
    functionDepth: 0
    functionLinenumber: 20823
    functionLinenumberEnd: 20829
    functionName: BDP_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void BDP_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 26693
      start: 26679
    functionDepth: 0
    functionLinenumber: 26679
    functionLinenumberEnd: 26693
    functionName: PointTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PointTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29789,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29793,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29799,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29797,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29803,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29807,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29785,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29788,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29792,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29796,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29802,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29806,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29810,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29787,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29791,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29795,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29801,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29805,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29809,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29786,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29790,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29794,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29800,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29798,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29804,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29808,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29812
      start: 29783
    functionDepth: 0
    functionLinenumber: 29783
    functionLinenumberEnd: 29812
    functionName: SubdivisionSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SubdivisionSurface_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9605,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9611,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9606,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9617,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9612,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9618,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9623,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9624,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9629,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9630,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9636,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 9641
      start: 9599
    functionDepth: 0
    functionLinenumber: 9599
    functionLinenumberEnd: 9641
    functionName: Material_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Material_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11922,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11926,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11925,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11924,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11923,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11927,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11928,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11931
      start: 11920
    functionDepth: 0
    functionLinenumber: 11920
    functionLinenumberEnd: 11931
    functionName: ProximitySensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ProximitySensor_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16581,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16583,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16589,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16578
    functionDepth: 0
    functionLinenumber: 16578
    functionLinenumberEnd: 16591
    functionName: ApplicationWindow_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ApplicationWindow_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 26704
      start: 26695
    functionDepth: 0
    functionLinenumber: 26695
    functionLinenumberEnd: 26704
    functionName: PointTexture_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointTexture_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29820,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29828,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29821,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29827,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29833
      start: 29813
    functionDepth: 0
    functionLinenumber: 29813
    functionLinenumberEnd: 29833
    functionName: SubdivisionSurface_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SubdivisionSurface_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30153,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30156,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30155,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30157
      start: 30150
    functionDepth: 0
    functionLinenumber: 30150
    functionLinenumberEnd: 30157
    functionName: Clipper2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Clipper2D_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 962
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 962
    functionName: AudioFX_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AudioFX_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3326,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3328
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3328
    functionName: Coordinate_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfvec3f_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Coordinate_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8309,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8311,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8312,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8310,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8313,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8314,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 8316
      start: 8306
    functionDepth: 0
    functionLinenumber: 8306
    functionLinenumberEnd: 8316
    functionName: IndexedLineSet2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void IndexedLineSet2D_Del(GF_Node *node) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 32743
      start: 32624
    functionDepth: 0
    functionLinenumber: 32624
    functionLinenumberEnd: 32743
    functionName: AdvancedAudioBuffer_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AdvancedAudioBuffer_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36680,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36684,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36683,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36682,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36681,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36687
      start: 36678
    functionDepth: 0
    functionLinenumber: 36678
    functionLinenumberEnd: 36687
    functionName: Storage_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Storage_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 982
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 982
    functionName: AudioFX_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AudioFX_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32748,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32752,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32751,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32749,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32750,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32753,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32754,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32756,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32757,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32761,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32762,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32758,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32763,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32759,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32764,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32760,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32765,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 32767
      start: 32746
    functionDepth: 0
    functionLinenumber: 32746
    functionLinenumberEnd: 32767
    functionName: AdvancedAudioBuffer_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AdvancedAudioBuffer_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 36694
      start: 36688
    functionDepth: 0
    functionLinenumber: 36688
    functionLinenumberEnd: 36694
    functionName: Storage_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Storage_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8292,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8299
      start: 8289
    functionDepth: 0
    functionLinenumber: 8289
    functionLinenumberEnd: 8299
    functionName: IndexedLineSet_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *IndexedLineSet_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30134,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30139,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30140,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30143
      start: 30131
    functionDepth: 0
    functionLinenumber: 30131
    functionLinenumberEnd: 30143
    functionName: WaveletSubdivisionSurface_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *WaveletSubdivisionSurface_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 36630
      start: 36615
    functionDepth: 0
    functionLinenumber: 36615
    functionLinenumberEnd: 36630
    functionName: Storage_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Storage_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33476,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 33482
      start: 33469
    functionDepth: 0
    functionLinenumber: 33469
    functionLinenumberEnd: 33482
    functionName: MorphShape_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MorphShape_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36701,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36709
      start: 36698
    functionDepth: 0
    functionLinenumber: 36698
    functionLinenumberEnd: 36709
    functionName: Storage_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Storage_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33489,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:33491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33496
      start: 33486
    functionDepth: 0
    functionLinenumber: 33486
    functionLinenumberEnd: 33496
    functionName: MorphShape_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MorphShape_Create() '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: AudioClip_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36726,1
    - Dst: Background_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36738,1
    - Dst: CoordinateInterpolator2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36770,1
    - Dst: ElevationGrid_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36782,1
    - Dst: PointSet_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36858,1
    - Dst: IndexedFaceSet2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36814,1
    - Dst: TouchSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36902,1
    - Dst: ServerCommand_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36946,1
    - Dst: OctreeImage_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36990,1
    - Dst: SBVCAnimation_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37022,1
    - Dst: WideSound_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37080,1
    - Dst: PathLayout_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37044,1
    - Dst: AnimationStream_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36720,1
    - Dst: AudioMix_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36732,1
    - Dst: Coordinate_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36764,1
    - Dst: Group_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36808,1
    - Dst: PlaneSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36852,1
    - Dst: TextureCoordinate_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36896,1
    - Dst: PerceptualParameters_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36940,1
    - Dst: XXLFM_FrameList_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36972,1
    - Dst: NurbsCurve_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36984,1
    - Dst: SBSegment_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37016,1
    - Dst: Fog_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36802,1
    - Dst: CompositeTexture3D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36758,1
    - Dst: OrderedGroup_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36846,1
    - Dst: Switch_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36890,1
    - Dst: ApplicationWindow_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36922,1
    - Dst: DirectiveSound_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36934,1
    - Dst: Implicit_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36966,1
    - Dst: XXLFM_ViewMapList_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36978,1
    - Dst: Quadric_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37010,1
    - Dst: XCurve2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37054,1
    - Dst: RoofNode_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37092,1
    - Dst: XFontStyle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37056,1
    - Dst: Layout_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36828,1
    - Dst: NavigationInfo_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36840,1
    - Dst: Color_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36752,1
    - Dst: FAP_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36796,1
    - Dst: Rectangle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36872,1
    - Dst: Sphere_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36884,1
    - Dst: WorldInfo_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36916,1
    - Dst: Body_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36928,1
    - Dst: CoordinateInterpolator4D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36960,1
    - Dst: PositionAnimator2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37004,1
    - Dst: SimpleTextureV2_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37074,1
    - Dst: ColorTransform_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37038,1
    - Dst: Shadow_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37096,1
    - Dst: Box_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36746,1
    - Dst: DirectionalLight_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36778,1
    - Dst: FaceDefMesh_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36790,1
    - Dst: LOD_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36822,1
    - Dst: Material_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36834,1
    - Dst: ProximitySensor2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36866,1
    - Dst: Shape_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36878,1
    - Dst: Viewpoint_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36910,1
    - Dst: MediaControl_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36954,1
    - Dst: XXPointAttractor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36998,1
    - Dst: SpacePartition_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37104,1
    - Dst: MultiTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37068,1
    - Dst: PointSet2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36860,1
    - Dst: AudioDelay_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36728,1
    - Dst: Background2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36740,1
    - Dst: Curve2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36772,1
    - Dst: Expression_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36784,1
    - Dst: IndexedLineSet_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36816,1
    - Dst: Transform_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36904,1
    - Dst: InputSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36948,1
    - Dst: XXParticles_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36992,1
    - Dst: SubdivisionSurface_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37030,1
    - Dst: FootPrintSetNode_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37086,1
    - Dst: Appearance_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36722,1
    - Dst: AudioSource_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36734,1
    - Dst: Coordinate2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36766,1
    - Dst: ImageTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36810,1
    - Dst: PlaneSensor2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36854,1
    - Dst: TextureTransform_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36898,1
    - Dst: TemporalTransform_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36942,1
    - Dst: XXLFM_LightMap_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36974,1
    - Dst: NurbsCurve2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36986,1
    - Dst: SBSite_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37018,1
    - Dst: Transform3DAudio_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37078,1
    - Dst: WaveletSubdivisionSurface_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37034,1
    - Dst: BuildingPartNode_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37090,1
    - Dst: FontStyle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36804,1
    - Dst: OrientationInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36848,1
    - Dst: Conditional_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36760,1
    - Dst: TermCap_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36892,1
    - Dst: BAP_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36924,1
    - Dst: Hierarchical3DMesh_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36936,1
    - Dst: XXLFM_Appearance_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36968,1
    - Dst: MeshGrid_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36980,1
    - Dst: SBBone_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37012,1
    - Dst: ScalarAnimator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37024,1
    - Dst: LinearGradient_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37042,1
    - Dst: CacheTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37098,1
    - Dst: AudioChannelConfig_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37062,1
    - Dst: ColorInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36754,1
    - Dst: FDP_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36798,1
    - Dst: Normal_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36842,1
    - Dst: ScalarInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36874,1
    - Dst: SphereSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36886,1
    - Dst: AcousticMaterial_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36918,1
    - Dst: BodyDefTable_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36930,1
    - Dst: DepthImage_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36962,1
    - Dst: PositionInterpolator4D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37006,1
    - Dst: TransformMatrix2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37050,1
    - Dst: ScoreShape_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37082,1
    - Dst: KeyNavigator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37102,1
    - Dst: Layer2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36824,1
    - Dst: Material2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36836,1
    - Dst: Circle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36748,1
    - Dst: DiscSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36780,1
    - Dst: ProximitySensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36868,1
    - Dst: FaceDefTables_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36792,1
    - Dst: Sound_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36880,1
    - Dst: VisibilitySensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36912,1
    - Dst: MediaSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36956,1
    - Dst: PointTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37000,1
    - Dst: SolidRep_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37028,1
    - Dst: PositionInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36862,1
    - Dst: AudioFX_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36730,1
    - Dst: Billboard_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36742,1
    - Dst: Cylinder_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36774,1
    - Dst: Extrusion_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36786,1
    - Dst: IndexedLineSet2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36818,1
    - Dst: LineProperties_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36830,1
    - Dst: Transform2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36906,1
    - Dst: MatteTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36950,1
    - Dst: XXParticleInitBox_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36994,1
    - Dst: Clipper2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37036,1
    - Dst: SBVCAnimationV2_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37072,1
    - Dst: FacadeNode_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37094,1
    - Dst: XLineProperties_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37058,1
    - Dst: PointLight_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36856,1
    - Dst: IndexedFaceSet_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36812,1
    - Dst: AudioBuffer_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36724,1
    - Dst: AudioSwitch_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36736,1
    - Dst: CoordinateInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36768,1
    - Dst: TimeSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36900,1
    - Dst: TemporalGroup_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36944,1
    - Dst: NurbsSurface_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36988,1
    - Dst: SBSkinnedModel_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37020,1
    - Dst: SubdivSurfaceSector_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37032,1
    - Dst: MorphShape_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37066,1
    - Dst: SurroundingSound_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37076,1
    - Dst: Ellipse_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37040,1
    - Dst: Cone_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36762,1
    - Dst: Form_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36806,1
    - Dst: PixelTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36850,1
    - Dst: Text_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36894,1
    - Dst: BDP_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36926,1
    - Dst: MaterialKey_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36938,1
    - Dst: XXLFM_BlendList_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36970,1
    - Dst: NonLinearDeformer_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36982,1
    - Dst: SBMuscle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37014,1
    - Dst: SimpleTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37026,1
    - Dst: SynthesizedTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37048,1
    - Dst: PointTextureV2_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37070,1
    - Dst: Storage_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37106,1
    - Dst: FIT_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36800,1
    - Dst: CompositeTexture2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36756,1
    - Dst: NormalInterpolator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36844,1
    - Dst: Script_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36876,1
    - Dst: SpotLight_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36888,1
    - Dst: AcousticScene_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36920,1
    - Dst: BodySegmentConnectionHint_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36932,1
    - Dst: FFD_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36964,1
    - Dst: XXLFM_SurfaceMapList_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36976,1
    - Dst: ProceduralTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37008,1
    - Dst: MusicScore_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37084,1
    - Dst: FootPrintNode_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37088,1
    - Dst: Viewport_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37052,1
    - Dst: Layer3D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36826,1
    - Dst: Collision_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36750,1
    - Dst: FaceDefTransform_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36794,1
    - Dst: QuantizationParameter_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36870,1
    - Dst: MovieTexture_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36838,1
    - Dst: Sound2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36882,1
    - Dst: Viseme_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36914,1
    - Dst: BitWrapper_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36958,1
    - Dst: PositionAnimator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37002,1
    - Dst: RadialGradient_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37046,1
    - Dst: AdvancedAudioBuffer_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37060,1
    - Dst: Inline_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36820,1
    - Dst: PositionInterpolator2D_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36864,1
    - Dst: ListeningPoint_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36832,1
    - Dst: Anchor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36718,1
    - Dst: Bitmap_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36744,1
    - Dst: CylinderSensor_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36776,1
    - Dst: Face_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36788,1
    - Dst: Valuator_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36908,1
    - Dst: MediaBuffer_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36952,1
    - Dst: XXPlanarObstacle_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36996,1
    - Dst: EnvironmentTest_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37100,1
    - Dst: DepthImageV2_Create
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37064,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 197
    argCount: 1
    argNames:
    - NodeTag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 37110
      start: 36714
    functionDepth: 0
    functionLinenumber: 36714
    functionLinenumberEnd: 37110
    functionName: gf_sg_mpeg4_node_new
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - Viewpoint_Create
    - FaceDefTransform_Create
    - FIT_Create
    - Normal_Create
    - Billboard_Create
    - ServerCommand_Create
    - Expression_Create
    - Switch_Create
    - SpacePartition_Create
    - ImageTexture_Create
    - Sphere_Create
    - BuildingPartNode_Create
    - Body_Create
    - WaveletSubdivisionSurface_Create
    - InputSensor_Create
    - DirectiveSound_Create
    - DepthImageV2_Create
    - PositionInterpolator2D_Create
    - Script_Create
    - Curve2D_Create
    - CompositeTexture2D_Create
    - Transform2D_Create
    - NurbsCurve_Create
    - Ellipse_Create
    - AudioFX_Create
    - Bitmap_Create
    - PixelTexture_Create
    - PlaneSensor_Create
    - ScalarInterpolator_Create
    - AudioDelay_Create
    - RadialGradient_Create
    - MeshGrid_Create
    - Implicit_Create
    - SBVCAnimation_Create
    - AudioBuffer_Create
    - LinearGradient_Create
    - NurbsSurface_Create
    - XXLFM_LightMap_Create
    - RoofNode_Create
    - Hierarchical3DMesh_Create
    - CoordinateInterpolator_Create
    - FootPrintSetNode_Create
    - LineProperties_Create
    - Quadric_Create
    - MaterialKey_Create
    - ListeningPoint_Create
    - AudioClip_Create
    - ProximitySensor_Create
    - XFontStyle_Create
    - Background2D_Create
    - AudioSource_Create
    - CompositeTexture3D_Create
    - Transform3DAudio_Create
    - MediaSensor_Create
    - PathLayout_Create
    - SpotLight_Create
    - IndexedFaceSet_Create
    - Circle_Create
    - SubdivSurfaceSector_Create
    - ColorInterpolator_Create
    - PlaneSensor2D_Create
    - Valuator_Create
    - OctreeImage_Create
    - Text_Create
    - ScalarAnimator_Create
    - PointTextureV2_Create
    - XXPointAttractor_Create
    - IndexedLineSet_Create
    - Sound_Create
    - XXLFM_ViewMapList_Create
    - Coordinate2D_Create
    - LOD_Create
    - AudioSwitch_Create
    - KeyNavigator_Create
    - XXPlanarObstacle_Create
    - SynthesizedTexture_Create
    - XXParticles_Create
    - Viewport_Create
    - Material_Create
    - ColorTransform_Create
    - WideSound_Create
    - IndexedFaceSet2D_Create
    - DepthImage_Create
    - WorldInfo_Create
    - MatteTexture_Create
    - VisibilitySensor_Create
    - Cylinder_Create
    - PointSet2D_Create
    - Conditional_Create
    - NormalInterpolator_Create
    - Viseme_Create
    - TextureTransform_Create
    - AcousticScene_Create
    - BAP_Create
    - ProceduralTexture_Create
    - NavigationInfo_Create
    - TemporalGroup_Create
    - IndexedLineSet2D_Create
    - FFD_Create
    - Anchor_Create
    - SBSkinnedModel_Create
    - MultiTexture_Create
    - XXParticleInitBox_Create
    - SimpleTextureV2_Create
    - Color_Create
    - Group_Create
    - FaceDefMesh_Create
    - AnimationStream_Create
    - BitWrapper_Create
    - Background_Create
    - SBSite_Create
    - Layout_Create
    - AudioMix_Create
    - Face_Create
    - SBBone_Create
    - SphereSensor_Create
    - AcousticMaterial_Create
    - BodyDefTable_Create
    - XXLFM_FrameList_Create
    - PositionAnimator_Create
    - SubdivisionSurface_Create
    - MediaBuffer_Create
    - TouchSensor_Create
    - FacadeNode_Create
    - PointLight_Create
    - Box_Create
    - Transform_Create
    - FAP_Create
    - FootPrintNode_Create
    - BDP_Create
    - Shape_Create
    - MovieTexture_Create
    - OrientationInterpolator_Create
    - SimpleTexture_Create
    - MorphShape_Create
    - DiscSensor_Create
    - OrderedGroup_Create
    - Inline_Create
    - Material2D_Create
    - CylinderSensor_Create
    - Cone_Create
    - BodySegmentConnectionHint_Create
    - SBMuscle_Create
    - PointTexture_Create
    - ProximitySensor2D_Create
    - TermCap_Create
    - CacheTexture_Create
    - NonLinearDeformer_Create
    - XXLFM_Appearance_Create
    - CoordinateInterpolator2D_Create
    - Appearance_Create
    - Layer2D_Create
    - FDP_Create
    - TimeSensor_Create
    - Collision_Create
    - ApplicationWindow_Create
    - PositionAnimator2D_Create
    - XXLFM_BlendList_Create
    - Coordinate_Create
    - PointSet_Create
    - SolidRep_Create
    - TransformMatrix2D_Create
    - Form_Create
    - Clipper2D_Create
    - XLineProperties_Create
    - AudioChannelConfig_Create
    - FontStyle_Create
    - Sound2D_Create
    - SBVCAnimationV2_Create
    - Layer3D_Create
    - XXLFM_SurfaceMapList_Create
    - DirectionalLight_Create
    - PositionInterpolator4D_Create
    - Storage_Create
    - XCurve2D_Create
    - TemporalTransform_Create
    - TextureCoordinate_Create
    - SBSegment_Create
    - ElevationGrid_Create
    - Fog_Create
    - QuantizationParameter_Create
    - Shadow_Create
    - AdvancedAudioBuffer_Create
    - Extrusion_Create
    - EnvironmentTest_Create
    - MediaControl_Create
    - SurroundingSound_Create
    - CoordinateInterpolator4D_Create
    - PositionInterpolator_Create
    - MusicScore_Create
    - FaceDefTables_Create
    - NurbsCurve2D_Create
    - PerceptualParameters_Create
    - Rectangle_Create
    - ScoreShape_Create
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sg_mpeg4_node_new(u32 NodeTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:331,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:333,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:332,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Appearance_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Appearance_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11384
      start: 11364
    functionDepth: 0
    functionLinenumber: 11364
    functionLinenumberEnd: 11384
    functionName: PointSet2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PointSet2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11389,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11392
      start: 11387
    functionDepth: 0
    functionLinenumber: 11387
    functionLinenumberEnd: 11392
    functionName: PointSet2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PointSet2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:312,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:314,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: AnimationStream_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AnimationStream_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1962,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:1963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1964
    functionName: Billboard_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Billboard_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5098,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5108,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5112,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5116,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5120,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5127,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5131,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5135,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5104,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5107,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5111,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5115,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5123,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5118,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5126,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5134,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5105,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5110,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5114,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5122,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5124,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5133,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5096,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5109,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5121,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5113,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5129,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5132,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5138
      start: 5093
    functionDepth: 0
    functionLinenumber: 5093
    functionLinenumberEnd: 5138
    functionName: Extrusion_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Extrusion_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10589,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10586
    functionDepth: 0
    functionLinenumber: 10586
    functionLinenumberEnd: 10595
    functionName: OrientationInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *OrientationInterpolator_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36573,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36576,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36580
      start: 36570
    functionDepth: 0
    functionLinenumber: 36570
    functionLinenumberEnd: 36580
    functionName: SpacePartition_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SpacePartition_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5148,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5152,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5149,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5151,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5150,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5154
      start: 5145
    functionDepth: 0
    functionLinenumber: 5145
    functionLinenumberEnd: 5154
    functionName: Face_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void Face_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfimage_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10605,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10607
      start: 10602
    functionDepth: 0
    functionLinenumber: 10602
    functionLinenumberEnd: 10607
    functionName: PixelTexture_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_sfimage_del
    linkageType: ''
    returnType: void
    signature: 'static void PixelTexture_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36590,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36592,1
    - Dst: gf_sg_mfattrref_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 36593
      start: 36587
    functionDepth: 0
    functionLinenumber: 36587
    functionLinenumberEnd: 36593
    functionName: Storage_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfattrref_del
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void Storage_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3597
      start: 3566
    functionDepth: 0
    functionLinenumber: 3566
    functionLinenumberEnd: 3597
    functionName: CoordinateInterpolator_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CoordinateInterpolator_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9543
      start: 9525
    functionDepth: 0
    functionLinenumber: 9525
    functionLinenumberEnd: 9543
    functionName: Material_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Material_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 16046
      start: 16032
    functionDepth: 0
    functionLinenumber: 16032
    functionLinenumberEnd: 16046
    functionName: AcousticMaterial_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AcousticMaterial_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 16133
      start: 16067
    functionDepth: 0
    functionLinenumber: 16067
    functionLinenumberEnd: 16133
    functionName: AcousticMaterial_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AcousticMaterial_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 27181
      start: 27153
    functionDepth: 0
    functionLinenumber: 27153
    functionLinenumberEnd: 27181
    functionName: PositionAnimator2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PositionAnimator2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 35399
      start: 35384
    functionDepth: 0
    functionLinenumber: 35384
    functionLinenumberEnd: 35399
    functionName: BuildingPartNode_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BuildingPartNode_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3602,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3605,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3604,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3607
      start: 3600
    functionDepth: 0
    functionLinenumber: 3600
    functionLinenumberEnd: 3607
    functionName: CoordinateInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 CoordinateInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 9586
      start: 9544
    functionDepth: 0
    functionLinenumber: 9544
    functionLinenumberEnd: 9586
    functionName: Material_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Material_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 16066
      start: 16048
    functionDepth: 0
    functionLinenumber: 16048
    functionLinenumberEnd: 16066
    functionName: AcousticMaterial_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err AcousticMaterial_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16138,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16141,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16142,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16139,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16140,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16143,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16144,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16145,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16146,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:16147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 16149
      start: 16136
    functionDepth: 0
    functionLinenumber: 16136
    functionLinenumberEnd: 16149
    functionName: AcousticMaterial_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 AcousticMaterial_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27193,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27194,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27190,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27197,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27199,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27200,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27201,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27204,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27207
      start: 27185
    functionDepth: 0
    functionLinenumber: 27185
    functionLinenumberEnd: 27207
    functionName: PositionAnimator2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PositionAnimator2D_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 35458
      start: 35400
    functionDepth: 0
    functionLinenumber: 35400
    functionLinenumberEnd: 35458
    functionName: BuildingPartNode_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BuildingPartNode_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 11618
      start: 11587
    functionDepth: 0
    functionLinenumber: 11587
    functionLinenumberEnd: 11618
    functionName: PositionInterpolator2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err PositionInterpolator2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11623,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11626,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11625,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11628
      start: 11621
    functionDepth: 0
    functionLinenumber: 11621
    functionLinenumberEnd: 11628
    functionName: PositionInterpolator2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 PositionInterpolator2D_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14270
      start: 14252
    functionDepth: 0
    functionLinenumber: 14252
    functionLinenumberEnd: 14270
    functionName: TextureTransform_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureTransform_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13681,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13682,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13687,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13694,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13693,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13699,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13700,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13705,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13706,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13717,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13718,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13729,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13735
      start: 13675
    functionDepth: 0
    functionLinenumber: 13675
    functionLinenumberEnd: 13735
    functionName: SpotLight_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SpotLight_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21187,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21190,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21189,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21191,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21192
      start: 21184
    functionDepth: 0
    functionLinenumber: 21184
    functionLinenumberEnd: 21192
    functionName: BodySegmentConnectionHint_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfint32_del
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void BodySegmentConnectionHint_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4348
      start: 4344
    functionDepth: 0
    functionLinenumber: 4344
    functionLinenumberEnd: 4348
    functionName: DiscSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void DiscSensor_Del(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12727,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12730,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12729,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12732
      start: 12725
    functionDepth: 0
    functionLinenumber: 12725
    functionLinenumberEnd: 12732
    functionName: ScalarInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 ScalarInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12739,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:12740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 12751
      start: 12733
    functionDepth: 0
    functionLinenumber: 12733
    functionLinenumberEnd: 12751
    functionName: ScalarInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ScalarInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13742,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13748,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13750,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13758,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13756,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13744,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13747,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13752,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13762,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13760,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13749,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13755,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13764,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13757,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13751,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13753,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13754,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13761,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13766
      start: 13739
    functionDepth: 0
    functionLinenumber: 13739
    functionLinenumberEnd: 13766
    functionName: SpotLight_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SpotLight_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 14301
      start: 14271
    functionDepth: 0
    functionLinenumber: 14271
    functionLinenumberEnd: 14301
    functionName: TextureTransform_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err TextureTransform_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10627
      start: 10613
    functionDepth: 0
    functionLinenumber: 10613
    functionLinenumberEnd: 10627
    functionName: PixelTexture_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PixelTexture_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15028,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15031,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15030,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15032,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15029,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15033,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15034,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15035,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15036,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15037,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15040,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15042,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15039,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15043,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15044,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15038,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 15045
      start: 15025
    functionDepth: 0
    functionLinenumber: 15025
    functionLinenumberEnd: 15045
    functionName: Valuator_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfstring_del
    - gf_sg_sfstring_del
    - gf_sg_mfvec2f_del
    - gf_sg_mfcolor_del
    - gf_sg_mfvec3f_del
    - gf_sg_mfint32_del
    - gf_sg_mfrotation_del
    - gf_sg_mffloat_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Valuator_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21527,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21533,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21529,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21534,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21535,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21536,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21537,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21538,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21540,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21542,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21547,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21546,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21545,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21549
      start: 21524
    functionDepth: 0
    functionLinenumber: 21524
    functionLinenumberEnd: 21549
    functionName: DirectiveSound_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_malloc
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *DirectiveSound_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15003,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15009,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15005,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15010,1
    - Dst: gf_sg_vrml_parent_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15006,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15011,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15012,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15013,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15014,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15015,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15018
      start: 15000
    functionDepth: 0
    functionLinenumber: 15000
    functionLinenumberEnd: 15018
    functionName: Transform2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_setup
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Transform2D_Create() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28728,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28732,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28731,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28730,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28729,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28733,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28734,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28735,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28736,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28738
      start: 28726
    functionDepth: 0
    functionLinenumber: 28726
    functionLinenumberEnd: 28738
    functionName: SBSite_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBSite_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 24905
      start: 24887
    functionDepth: 0
    functionLinenumber: 24887
    functionLinenumberEnd: 24905
    functionName: MeshGrid_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MeshGrid_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8010
      start: 7995
    functionDepth: 0
    functionLinenumber: 7995
    functionLinenumberEnd: 8010
    functionName: IndexedFaceSet2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedFaceSet2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 28765
      start: 28739
    functionDepth: 0
    functionLinenumber: 28739
    functionLinenumberEnd: 28765
    functionName: SBSite_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBSite_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 5541
      start: 5527
    functionDepth: 0
    functionLinenumber: 5527
    functionLinenumberEnd: 5541
    functionName: FaceDefTransform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 FaceDefTransform_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8089
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8089
    functionName: IndexedFaceSet2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedFaceSet2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 16287
      start: 16273
    functionDepth: 0
    functionLinenumber: 16273
    functionLinenumberEnd: 16287
    functionName: AcousticScene_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AcousticScene_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25059
      start: 24906
    functionDepth: 0
    functionLinenumber: 24906
    functionLinenumberEnd: 25059
    functionName: MeshGrid_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MeshGrid_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21559,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 21561
      start: 21556
    functionDepth: 0
    functionLinenumber: 21556
    functionLinenumberEnd: 21561
    functionName: Hierarchical3DMesh_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Hierarchical3DMesh_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21139,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21145,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21140,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 21163
      start: 21132
    functionDepth: 0
    functionLinenumber: 21132
    functionLinenumberEnd: 21163
    functionName: BodyDefTable_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool BodyDefTable_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfcommand_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22701,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22702,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:22703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 22704
      start: 22698
    functionDepth: 0
    functionLinenumber: 22698
    functionLinenumberEnd: 22704
    functionName: InputSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mfurl_del
    - gf_sg_sfcommand_del
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void InputSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24104,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24107,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24106,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24108,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24109
      start: 24101
    functionDepth: 0
    functionLinenumber: 24101
    functionLinenumberEnd: 24109
    functionName: XXLFM_Appearance_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_Appearance_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 2757
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2757
    functionName: CompositeTexture2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 CompositeTexture2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 9699
      start: 9685
    functionDepth: 0
    functionLinenumber: 9685
    functionLinenumberEnd: 9699
    functionName: Material2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Material2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21170,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21177
      start: 21167
    functionDepth: 0
    functionLinenumber: 21167
    functionLinenumberEnd: 21177
    functionName: BodyDefTable_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *BodyDefTable_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 2774
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2774
    functionName: CompositeTexture2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CompositeTexture2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9719
      start: 9701
    functionDepth: 0
    functionLinenumber: 9701
    functionLinenumberEnd: 9719
    functionName: Material2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Material2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36136,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36146
      start: 36133
    functionDepth: 0
    functionLinenumber: 36133
    functionLinenumberEnd: 36146
    functionName: CacheTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CacheTexture_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 3448
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3448
    functionName: Coordinate2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Coordinate2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12919
      start: 12904
    functionDepth: 0
    functionLinenumber: 12904
    functionLinenumberEnd: 12919
    functionName: Shape_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Shape_get_field_index(GF_Node *n, u32 inField, u8 IndexMode,
      u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 15694
      start: 15676
    functionDepth: 0
    functionLinenumber: 15676
    functionLinenumberEnd: 15694
    functionName: VisibilitySensor_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err VisibilitySensor_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20925,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20928,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20926,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:20927,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 20929
      start: 20922
    functionDepth: 0
    functionLinenumber: 20922
    functionLinenumberEnd: 20929
    functionName: Body_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void Body_Del(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 3468
      start: 3450
    functionDepth: 0
    functionLinenumber: 3450
    functionLinenumberEnd: 3468
    functionName: Coordinate2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 10899
      start: 10885
    functionDepth: 0
    functionLinenumber: 10885
    functionLinenumberEnd: 10899
    functionName: PlaneSensor2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 PlaneSensor2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12940
      start: 12920
    functionDepth: 0
    functionLinenumber: 12920
    functionLinenumberEnd: 12940
    functionName: Shape_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Shape_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 13346
      start: 13332
    functionDepth: 0
    functionLinenumber: 13332
    functionLinenumberEnd: 13346
    functionName: Sphere_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Sphere_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 15737
      start: 15695
    functionDepth: 0
    functionLinenumber: 15695
    functionLinenumberEnd: 15737
    functionName: VisibilitySensor_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err VisibilitySensor_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36156,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36158,1
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:36157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 36159
      start: 36153
    functionDepth: 0
    functionLinenumber: 36153
    functionLinenumberEnd: 36159
    functionName: EnvironmentTest_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void EnvironmentTest_Del(GF_Node *node) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 32238
      start: 32130
    functionDepth: 0
    functionLinenumber: 32130
    functionLinenumberEnd: 32238
    functionName: XFontStyle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err XFontStyle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11944,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11950
      start: 11932
    functionDepth: 0
    functionLinenumber: 11932
    functionLinenumberEnd: 11950
    functionName: ProximitySensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ProximitySensor_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 34126
      start: 34112
    functionDepth: 0
    functionLinenumber: 34112
    functionLinenumberEnd: 34126
    functionName: SurroundingSound_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SurroundingSound_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11957,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11964,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11963,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11959,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11962,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11965,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11966,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11970
      start: 11954
    functionDepth: 0
    functionLinenumber: 11954
    functionLinenumberEnd: 11970
    functionName: ProximitySensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ProximitySensor_Create() '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32243,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32247,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32244,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32245,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32246,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32248,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32249,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32250,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32251,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32252,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32253,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32254,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32258,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32259,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32255,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32256,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:32257,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 32261
      start: 32241
    functionDepth: 0
    functionLinenumber: 32241
    functionLinenumberEnd: 32261
    functionName: XFontStyle_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 XFontStyle_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 34146
      start: 34128
    functionDepth: 0
    functionLinenumber: 34128
    functionLinenumberEnd: 34146
    functionName: SurroundingSound_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SurroundingSound_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:769,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:774,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 778
    functionName: AudioClip_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *AudioClip_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13276,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13279,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13278,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 13281
      start: 13274
    functionDepth: 0
    functionLinenumber: 13274
    functionLinenumberEnd: 13281
    functionName: Sound2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Sound2D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23726,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23730,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23728,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23727,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23729,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23732
      start: 23723
    functionDepth: 0
    functionLinenumber: 23723
    functionLinenumberEnd: 23732
    functionName: FFD_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    - gf_sg_mfvec4f_del
    linkageType: ''
    returnType: void
    signature: 'static void FFD_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13288,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13300
      start: 13282
    functionDepth: 0
    functionLinenumber: 13282
    functionLinenumberEnd: 13300
    functionName: Sound2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Sound2D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14393
      start: 14379
    functionDepth: 0
    functionLinenumber: 14379
    functionLinenumberEnd: 14393
    functionName: TimeSensor_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 TimeSensor_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 14674
      start: 14660
    functionDepth: 0
    functionLinenumber: 14660
    functionLinenumberEnd: 14674
    functionName: Transform_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Transform_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3969,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3973,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3972,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3971,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3975
      start: 3967
    functionDepth: 0
    functionLinenumber: 3967
    functionLinenumberEnd: 3975
    functionName: Cylinder_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Cylinder_get_field_index_by_name(char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3982,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3988,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3976
    functionDepth: 0
    functionLinenumber: 3976
    functionLinenumberEnd: 3994
    functionName: Cylinder_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Cylinder_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 14694
      start: 14676
    functionDepth: 0
    functionLinenumber: 14676
    functionLinenumberEnd: 14694
    functionName: Transform_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Transform_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:788,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:790,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: AudioDelay_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void AudioDelay_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 29112
      start: 29093
    functionDepth: 0
    functionLinenumber: 29093
    functionLinenumberEnd: 29112
    functionName: SBVCAnimation_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBVCAnimation_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31491,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31495,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31494,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31493,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31492,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31496,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31497,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31498,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31499,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31500,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31503
      start: 31489
    functionDepth: 0
    functionLinenumber: 31489
    functionLinenumberEnd: 31503
    functionName: SynthesizedTexture_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SynthesizedTexture_get_field_index_by_name(char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4678,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4690,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4684,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4696,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4679,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4702,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 4708
      start: 4666
    functionDepth: 0
    functionLinenumber: 4666
    functionLinenumberEnd: 4708
    functionName: ElevationGrid_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ElevationGrid_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5037,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5040,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5039,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5038,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5041,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5042,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5043,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5044,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5045,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5046,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5047,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5048,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5049,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5050,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5052
      start: 5035
    functionDepth: 0
    functionLinenumber: 5035
    functionLinenumberEnd: 5052
    functionName: Extrusion_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Extrusion_get_field_index_by_name(char *name) '
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 28152
      start: 27997
    functionDepth: 0
    functionLinenumber: 27997
    functionLinenumberEnd: 28152
    functionName: SBBone_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBBone_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 29012
      start: 28986
    functionDepth: 0
    functionLinenumber: 28986
    functionLinenumberEnd: 29012
    functionName: SBSkinnedModel_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SBSkinnedModel_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31523,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:31530,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 31542
      start: 31504
    functionDepth: 0
    functionLinenumber: 31504
    functionLinenumberEnd: 31542
    functionName: SynthesizedTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SynthesizedTexture_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4715,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4728,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4717,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4722,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:4726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4730
      start: 4712
    functionDepth: 0
    functionLinenumber: 4712
    functionLinenumberEnd: 4730
    functionName: ElevationGrid_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *ElevationGrid_Create() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5059,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5077,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5060,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 5089
      start: 5053
    functionDepth: 0
    functionLinenumber: 5053
    functionLinenumberEnd: 5089
    functionName: Extrusion_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Extrusion_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28161,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28159,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28165,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28169,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28175,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28157,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28160,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28158,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28164,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28174,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28172,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28168,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28178,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28163,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28173,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28171,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28167,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28177,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28162,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28166,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28170,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28176,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28180,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28182
      start: 28155
    functionDepth: 0
    functionLinenumber: 28155
    functionLinenumberEnd: 28182
    functionName: SBBone_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBBone_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29021,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29026,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29028,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29030,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29031,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29039,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29037,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29035,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29033,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29025,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29027,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29029,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29040,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29038,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29036,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29034,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29032,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29019,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29042
      start: 29016
    functionDepth: 0
    functionLinenumber: 29016
    functionLinenumberEnd: 29042
    functionName: SBSkinnedModel_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *SBSkinnedModel_Create() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29117,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:29118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29120
      start: 29115
    functionDepth: 0
    functionLinenumber: 29115
    functionLinenumberEnd: 29120
    functionName: SBVCAnimation_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 SBVCAnimation_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3389
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3389
    functionName: Coordinate_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Coordinate_get_field_index_by_name(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3469
    functionDepth: 0
    functionLinenumber: 3469
    functionLinenumberEnd: 3481
    functionName: Coordinate2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Coordinate2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7562,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:7561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7564
      start: 7558
    functionDepth: 0
    functionLinenumber: 7558
    functionLinenumberEnd: 7564
    functionName: Group_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Group_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:9501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 9502
      start: 9498
    functionDepth: 0
    functionLinenumber: 9498
    functionLinenumberEnd: 9502
    functionName: Material_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Material_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3402
      start: 3390
    functionDepth: 0
    functionLinenumber: 3390
    functionLinenumberEnd: 3402
    functionName: Coordinate_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Coordinate_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3488
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3488
    functionName: Coordinate2D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Coordinate2D_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 7571
      start: 7565
    functionDepth: 0
    functionLinenumber: 7565
    functionLinenumberEnd: 7571
    functionName: Group_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Group_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30039,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30041
      start: 30036
    functionDepth: 0
    functionLinenumber: 30036
    functionLinenumberEnd: 30041
    functionName: WaveletSubdivisionSurface_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void WaveletSubdivisionSurface_Del(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3614,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3615,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 3626
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3626
    functionName: CoordinateInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CoordinateInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 33855
      start: 33837
    functionDepth: 0
    functionLinenumber: 33837
    functionLinenumberEnd: 33855
    functionName: SBVCAnimationV2_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBVCAnimationV2_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3633,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3639
    functionName: CoordinateInterpolator_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *CoordinateInterpolator_Create() '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 33923
      start: 33856
    functionDepth: 0
    functionLinenumber: 33856
    functionLinenumberEnd: 33923
    functionName: SBVCAnimationV2_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SBVCAnimationV2_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11635,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 11647
      start: 11629
    functionDepth: 0
    functionLinenumber: 11629
    functionLinenumberEnd: 11647
    functionName: PositionInterpolator2D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PositionInterpolator2D_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14476,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14479,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14478,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14477,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14480,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14481,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14482,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14483,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 14486
      start: 14474
    functionDepth: 0
    functionLinenumber: 14474
    functionLinenumberEnd: 14486
    functionName: TimeSensor_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 TimeSensor_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15872,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15875,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15874,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15877
      start: 15870
    functionDepth: 0
    functionLinenumber: 15870
    functionLinenumberEnd: 15877
    functionName: Viseme_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Viseme_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3409,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3406
    functionDepth: 0
    functionLinenumber: 3406
    functionLinenumberEnd: 3415
    functionName: Coordinate_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Coordinate_Create() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8200
      start: 8185
    functionDepth: 0
    functionLinenumber: 8185
    functionLinenumberEnd: 8200
    functionName: IndexedLineSet_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedLineSet_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8353
      start: 8338
    functionDepth: 0
    functionLinenumber: 8338
    functionLinenumberEnd: 8353
    functionName: IndexedLineSet2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedLineSet2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10558,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10561,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10560,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10563
      start: 10556
    functionDepth: 0
    functionLinenumber: 10556
    functionLinenumberEnd: 10563
    functionName: OrientationInterpolator_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 OrientationInterpolator_get_field_index_by_name(char *name) '
  - BBCount: 197
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 2
    argCount: 1
    argNames:
    - NodeTag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 37508
      start: 37112
    functionDepth: 0
    functionLinenumber: 37112
    functionLinenumberEnd: 37508
    functionName: gf_sg_mpeg4_node_get_class_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_sg_mpeg4_node_get_class_name(u32 NodeTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 14493
      start: 14487
    functionDepth: 0
    functionLinenumber: 14487
    functionLinenumberEnd: 14493
    functionName: TimeSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TimeSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 15952
      start: 15938
    functionDepth: 0
    functionLinenumber: 15938
    functionLinenumberEnd: 15952
    functionName: WorldInfo_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 WorldInfo_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15885,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15893,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15886,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15892,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15899,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:15900,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 15905
      start: 15878
    functionDepth: 0
    functionLinenumber: 15878
    functionLinenumberEnd: 15905
    functionName: Viseme_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Viseme_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8253
      start: 8201
    functionDepth: 0
    functionLinenumber: 8201
    functionLinenumberEnd: 8253
    functionName: IndexedLineSet_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedLineSet_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 8406
      start: 8354
    functionDepth: 0
    functionLinenumber: 8354
    functionLinenumberEnd: 8406
    functionName: IndexedLineSet2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IndexedLineSet2D_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10570,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10582
      start: 10564
    functionDepth: 0
    functionLinenumber: 10564
    functionLinenumberEnd: 10582
    functionName: OrientationInterpolator_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OrientationInterpolator_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11654,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11660
      start: 11651
    functionDepth: 0
    functionLinenumber: 11651
    functionLinenumberEnd: 11660
    functionName: PositionInterpolator2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PositionInterpolator2D_Create() '
  - BBCount: 197
    BranchProfiles: []
    Callsites:
    - Dst: AcousticScene_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37817,1
    - Dst: MediaControl_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37868,1
    - Dst: OrientationInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37709,1
    - Dst: AudioFX_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37532,1
    - Dst: Box_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37556,1
    - Dst: DiscSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37607,1
    - Dst: Coordinate_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37583,1
    - Dst: FDP_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37634,1
    - Dst: ListeningPoint_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37685,1
    - Dst: ProximitySensor2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37736,1
    - Dst: IndexedFaceSet2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37658,1
    - Dst: Sound2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37760,1
    - Dst: WorldInfo_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37811,1
    - Dst: MatteTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37862,1
    - Dst: TouchSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37790,1
    - Dst: Hierarchical3DMesh_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37841,1
    - Dst: XXLFM_BlendList_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37892,1
    - Dst: PositionAnimator2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37943,1
    - Dst: ColorTransform_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37994,1
    - Dst: SBVCAnimationV2_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38045,1
    - Dst: Storage_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38096,1
    - Dst: DirectionalLight_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37604,1
    - Dst: IndexedFaceSet_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37655,1
    - Dst: OrderedGroup_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37706,1
    - Dst: Cone_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37580,1
    - Dst: FAP_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37631,1
    - Dst: LineProperties_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37682,1
    - Dst: PositionInterpolator2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37733,1
    - Dst: Conditional_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37577,1
    - Dst: FaceDefTransform_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37628,1
    - Dst: Layout_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37679,1
    - Dst: AudioDelay_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37529,1
    - Dst: TextureTransform_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37784,1
    - Dst: Text_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37778,1
    - Dst: Body_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37829,1
    - Dst: BodySegmentConnectionHint_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37835,1
    - Dst: DepthImage_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37880,1
    - Dst: Implicit_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37886,1
    - Dst: XXPlanarObstacle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37931,1
    - Dst: PointTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37937,1
    - Dst: SubdivisionSurface_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37982,1
    - Dst: DepthImageV2_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38033,1
    - Dst: CacheTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38084,1
    - Dst: FaceDefTables_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37625,1
    - Dst: Layer3D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37676,1
    - Dst: PointSet2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37727,1
    - Dst: AudioBuffer_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37523,1
    - Dst: Billboard_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37550,1
    - Dst: CompositeTexture3D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37574,1
    - Dst: CylinderSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37601,1
    - Dst: ImageTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37652,1
    - Dst: NormalInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37703,1
    - Dst: Shape_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37754,1
    - Dst: ApplicationWindow_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37820,1
    - Dst: MediaSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37871,1
    - Dst: OctreeImage_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37922,1
    - Dst: ScalarAnimator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37973,1
    - Dst: XLineProperties_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38024,1
    - Dst: RoofNode_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38075,1
    - Dst: Viewpoint_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37802,1
    - Dst: TemporalGroup_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37853,1
    - Dst: XXLFM_ViewMapList_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37904,1
    - Dst: SBBone_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37955,1
    - Dst: RadialGradient_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38006,1
    - Dst: WideSound_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38057,1
    - Dst: Switch_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37772,1
    - Dst: BAP_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37823,1
    - Dst: BitWrapper_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37874,1
    - Dst: XXParticles_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37925,1
    - Dst: SimpleTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37976,1
    - Dst: AdvancedAudioBuffer_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38027,1
    - Dst: Layer2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37673,1
    - Dst: PointSet_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37724,1
    - Dst: Cylinder_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37598,1
    - Dst: Group_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37649,1
    - Dst: Normal_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37700,1
    - Dst: Appearance_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37520,1
    - Dst: Background2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37547,1
    - Dst: CompositeTexture2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37571,1
    - Dst: FaceDefMesh_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37622,1
    - Dst: Script_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37751,1
    - Dst: KeyNavigator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38090,1
    - Dst: Transform_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37793,1
    - Dst: MaterialKey_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37844,1
    - Dst: XXLFM_FrameList_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37895,1
    - Dst: PositionInterpolator4D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37946,1
    - Dst: Clipper2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37991,1
    - Dst: Ellipse_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37997,1
    - Dst: SimpleTextureV2_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38048,1
    - Dst: EnvironmentTest_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38087,1
    - Dst: AcousticMaterial_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37814,1
    - Dst: MediaBuffer_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37865,1
    - Dst: NurbsCurve2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37916,1
    - Dst: SBSkinnedModel_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37967,1
    - Dst: XCurve2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38018,1
    - Dst: FootPrintNode_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38069,1
    - Dst: Transform2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37796,1
    - Dst: PerceptualParameters_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37847,1
    - Dst: XXLFM_LightMap_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37898,1
    - Dst: ProceduralTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37949,1
    - Dst: LinearGradient_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38000,1
    - Dst: SurroundingSound_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38051,1
    - Dst: AnimationStream_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37517,1
    - Dst: Background_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37544,1
    - Dst: ColorInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37568,1
    - Dst: Curve2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37595,1
    - Dst: Form_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37646,1
    - Dst: NavigationInfo_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37697,1
    - Dst: Face_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37619,1
    - Dst: LOD_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37670,1
    - Dst: PointLight_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37721,1
    - Dst: ScalarInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37748,1
    - Dst: FacadeNode_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38078,1
    - Dst: TimeSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37787,1
    - Dst: DirectiveSound_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37838,1
    - Dst: PositionInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37730,1
    - Dst: AudioClip_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37526,1
    - Dst: TextureCoordinate_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37781,1
    - Dst: BodyDefTable_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37832,1
    - Dst: FFD_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37883,1
    - Dst: XXLFM_Appearance_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37889,1
    - Dst: XXPointAttractor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37934,1
    - Dst: PositionAnimator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37940,1
    - Dst: SubdivSurfaceSector_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37985,1
    - Dst: MorphShape_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38036,1
    - Dst: CoordinateInterpolator2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37592,1
    - Dst: FontStyle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37643,1
    - Dst: MovieTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37694,1
    - Dst: Extrusion_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37616,1
    - Dst: Inline_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37667,1
    - Dst: PlaneSensor2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37718,1
    - Dst: AudioSwitch_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37541,1
    - Dst: Color_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37565,1
    - Dst: Rectangle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37745,1
    - Dst: SpotLight_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37769,1
    - Dst: VisibilitySensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37805,1
    - Dst: ServerCommand_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37856,1
    - Dst: MeshGrid_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37907,1
    - Dst: SBMuscle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37958,1
    - Dst: SBVCAnimation_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37970,1
    - Dst: SynthesizedTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38009,1
    - Dst: NurbsSurface_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37919,1
    - Dst: SBSite_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37964,1
    - Dst: TermCap_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37775,1
    - Dst: BDP_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37826,1
    - Dst: CoordinateInterpolator4D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37877,1
    - Dst: XXParticleInitBox_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37928,1
    - Dst: SolidRep_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37979,1
    - Dst: AudioChannelConfig_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38030,1
    - Dst: Shadow_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38081,1
    - Dst: PointTextureV2_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38042,1
    - Dst: Bitmap_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37553,1
    - Dst: Sound_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37757,1
    - Dst: Viseme_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37808,1
    - Dst: InputSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37859,1
    - Dst: NonLinearDeformer_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37910,1
    - Dst: NurbsCurve_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37913,1
    - Dst: SBSegment_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37961,1
    - Dst: TransformMatrix2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38012,1
    - Dst: MusicScore_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38063,1
    - Dst: BuildingPartNode_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38072,1
    - Dst: XFontStyle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38021,1
    - Dst: FootPrintSetNode_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38066,1
    - Dst: PlaneSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37715,1
    - Dst: Expression_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37613,1
    - Dst: IndexedLineSet2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37664,1
    - Dst: AudioSource_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37538,1
    - Dst: Collision_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37562,1
    - Dst: CoordinateInterpolator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37589,1
    - Dst: Fog_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37640,1
    - Dst: Material2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37691,1
    - Dst: QuantizationParameter_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37742,1
    - Dst: SphereSensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37766,1
    - Dst: Valuator_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37799,1
    - Dst: TemporalTransform_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37850,1
    - Dst: XXLFM_SurfaceMapList_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37901,1
    - Dst: Quadric_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37952,1
    - Dst: PathLayout_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38003,1
    - Dst: Viewport_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38015,1
    - Dst: Transform3DAudio_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38054,1
    - Dst: Anchor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37514,1
    - Dst: MultiTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38039,1
    - Dst: WaveletSubdivisionSurface_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37988,1
    - Dst: ElevationGrid_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37610,1
    - Dst: IndexedLineSet_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37661,1
    - Dst: PixelTexture_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37712,1
    - Dst: Coordinate2D_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37586,1
    - Dst: FIT_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37637,1
    - Dst: Material_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37688,1
    - Dst: ProximitySensor_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37739,1
    - Dst: AudioMix_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37535,1
    - Dst: Circle_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37559,1
    - Dst: Sphere_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:37763,1
    - Dst: ScoreShape_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38060,1
    - Dst: SpacePartition_Del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:38093,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 197
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 38101
      start: 37510
    functionDepth: 0
    functionLinenumber: 37510
    functionLinenumberEnd: 38101
    functionName: gf_sg_mpeg4_node_del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - Clipper2D_Del
    - SimpleTexture_Del
    - Transform_Del
    - SBBone_Del
    - Collision_Del
    - PointSet2D_Del
    - XCurve2D_Del
    - FaceDefMesh_Del
    - WaveletSubdivisionSurface_Del
    - BuildingPartNode_Del
    - SpacePartition_Del
    - Layout_Del
    - FFD_Del
    - InputSensor_Del
    - WorldInfo_Del
    - FaceDefTransform_Del
    - ScoreShape_Del
    - AudioMix_Del
    - BitWrapper_Del
    - Viewport_Del
    - Form_Del
    - DirectiveSound_Del
    - CompositeTexture3D_Del
    - SimpleTextureV2_Del
    - ElevationGrid_Del
    - PointTextureV2_Del
    - PointLight_Del
    - CoordinateInterpolator2D_Del
    - NurbsCurve_Del
    - AdvancedAudioBuffer_Del
    - NonLinearDeformer_Del
    - CompositeTexture2D_Del
    - WideSound_Del
    - DepthImage_Del
    - ImageTexture_Del
    - PlaneSensor_Del
    - NurbsCurve2D_Del
    - MorphShape_Del
    - MovieTexture_Del
    - Conditional_Del
    - BodySegmentConnectionHint_Del
    - PerceptualParameters_Del
    - Bitmap_Del
    - Transform3DAudio_Del
    - PixelTexture_Del
    - AudioChannelConfig_Del
    - Background_Del
    - FDP_Del
    - Billboard_Del
    - Script_Del
    - PointTexture_Del
    - IndexedFaceSet2D_Del
    - MediaSensor_Del
    - Storage_Del
    - Switch_Del
    - FaceDefTables_Del
    - ColorInterpolator_Del
    - PointSet_Del
    - PathLayout_Del
    - SBSkinnedModel_Del
    - TextureTransform_Del
    - EnvironmentTest_Del
    - OrderedGroup_Del
    - SpotLight_Del
    - NurbsSurface_Del
    - TermCap_Del
    - FacadeNode_Del
    - Normal_Del
    - TemporalTransform_Del
    - Group_Del
    - FootPrintNode_Del
    - CacheTexture_Del
    - Rectangle_Del
    - AudioSource_Del
    - MeshGrid_Del
    - ProceduralTexture_Del
    - TimeSensor_Del
    - SBVCAnimationV2_Del
    - AcousticScene_Del
    - ColorTransform_Del
    - Box_Del
    - NormalInterpolator_Del
    - Layer2D_Del
    - AudioBuffer_Del
    - ApplicationWindow_Del
    - ServerCommand_Del
    - RoofNode_Del
    - FAP_Del
    - TouchSensor_Del
    - Inline_Del
    - Body_Del
    - Implicit_Del
    - Background2D_Del
    - FIT_Del
    - BAP_Del
    - Text_Del
    - PositionInterpolator_Del
    - XXPointAttractor_Del
    - Transform2D_Del
    - Expression_Del
    - MultiTexture_Del
    - QuantizationParameter_Del
    - SBMuscle_Del
    - BodyDefTable_Del
    - SubdivSurfaceSector_Del
    - Extrusion_Del
    - ScalarAnimator_Del
    - CoordinateInterpolator_Del
    - Material2D_Del
    - Material_Del
    - Curve2D_Del
    - XXParticleInitBox_Del
    - IndexedFaceSet_Del
    - Hierarchical3DMesh_Del
    - MaterialKey_Del
    - Shadow_Del
    - SBVCAnimation_Del
    - RadialGradient_Del
    - XXParticles_Del
    - Sound_Del
    - PositionInterpolator2D_Del
    - Cylinder_Del
    - VisibilitySensor_Del
    - SolidRep_Del
    - Shape_Del
    - MediaBuffer_Del
    - XXLFM_FrameList_Del
    - AudioFX_Del
    - Ellipse_Del
    - AcousticMaterial_Del
    - LinearGradient_Del
    - Color_Del
    - AudioClip_Del
    - NavigationInfo_Del
    - ScalarInterpolator_Del
    - PositionAnimator2D_Del
    - Viewpoint_Del
    - SynthesizedTexture_Del
    - TextureCoordinate_Del
    - PositionAnimator_Del
    - CylinderSensor_Del
    - ProximitySensor_Del
    - IndexedLineSet_Del
    - MediaControl_Del
    - AnimationStream_Del
    - Cone_Del
    - Sphere_Del
    - FootPrintSetNode_Del
    - Circle_Del
    - TemporalGroup_Del
    - XXLFM_LightMap_Del
    - Anchor_Del
    - PositionInterpolator4D_Del
    - LineProperties_Del
    - Face_Del
    - ListeningPoint_Del
    - XXPlanarObstacle_Del
    - AudioSwitch_Del
    - Layer3D_Del
    - TransformMatrix2D_Del
    - Quadric_Del
    - AudioDelay_Del
    - XLineProperties_Del
    - SubdivisionSurface_Del
    - SBSite_Del
    - Valuator_Del
    - XFontStyle_Del
    - XXLFM_Appearance_Del
    - Coordinate2D_Del
    - DiscSensor_Del
    - DirectionalLight_Del
    - XXLFM_SurfaceMapList_Del
    - PlaneSensor2D_Del
    - CoordinateInterpolator4D_Del
    - DepthImageV2_Del
    - BDP_Del
    - XXLFM_BlendList_Del
    - Coordinate_Del
    - MatteTexture_Del
    - SphereSensor_Del
    - Fog_Del
    - FontStyle_Del
    - ProximitySensor2D_Del
    - SurroundingSound_Del
    - IndexedLineSet2D_Del
    - OrientationInterpolator_Del
    - MusicScore_Del
    - LOD_Del
    - OctreeImage_Del
    - Viseme_Del
    - SBSegment_Del
    - Sound2D_Del
    - Appearance_Del
    - XXLFM_ViewMapList_Del
    - KeyNavigator_Del
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mpeg4_node_del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3425,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:3426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3427
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3427
    functionName: Coordinate2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_mfvec2f_del
    linkageType: ''
    returnType: void
    signature: 'static void Coordinate2D_Del(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8933,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8937,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8934,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8936,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8935,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8938,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8939,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:8940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8942
      start: 8931
    functionDepth: 0
    functionLinenumber: 8931
    functionLinenumberEnd: 8942
    functionName: Layer3D_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Layer3D_get_field_index_by_name(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14229
      start: 14225
    functionDepth: 0
    functionLinenumber: 14225
    functionLinenumberEnd: 14229
    functionName: TextureTransform_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TextureTransform_Del(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 21119
      start: 21077
    functionDepth: 0
    functionLinenumber: 21077
    functionLinenumberEnd: 21119
    functionName: BodyDefTable_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BodyDefTable_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 23336
      start: 23330
    functionDepth: 0
    functionLinenumber: 23330
    functionLinenumberEnd: 23336
    functionName: MediaSensor_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool MediaSensor_get_aq_info(GF_Node *n, u32 FieldIndex, u8
      *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 8955
      start: 8943
    functionDepth: 0
    functionLinenumber: 8943
    functionLinenumberEnd: 8955
    functionName: Layer3D_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Layer3D_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21124,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21128,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21127,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21126,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21125,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:21129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21131
      start: 21122
    functionDepth: 0
    functionLinenumber: 21122
    functionLinenumberEnd: 21131
    functionName: BodyDefTable_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 BodyDefTable_get_field_index_by_name(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23343,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23349
      start: 23340
    functionDepth: 0
    functionLinenumber: 23340
    functionLinenumberEnd: 23349
    functionName: MediaSensor_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *MediaSensor_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30972,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30974,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30973,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:30975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 30976
      start: 30969
    functionDepth: 0
    functionLinenumber: 30969
    functionLinenumberEnd: 30976
    functionName: PathLayout_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_sg_vrml_parent_destroy
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void PathLayout_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 10715
      start: 10711
    functionDepth: 0
    functionLinenumber: 10711
    functionLinenumberEnd: 10715
    functionName: PlaneSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PlaneSensor_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 11042
      start: 11038
    functionDepth: 0
    functionLinenumber: 11038
    functionLinenumberEnd: 11042
    functionName: PointLight_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void PointLight_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14373
      start: 14369
    functionDepth: 0
    functionLinenumber: 14369
    functionLinenumberEnd: 14373
    functionName: TimeSensor_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void TimeSensor_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10696,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10704
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10704
    functionName: PixelTexture_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PixelTexture_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11017,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11024,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11026,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11019,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11025,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11027,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11028,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:11029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11031
      start: 11014
    functionDepth: 0
    functionLinenumber: 11014
    functionLinenumberEnd: 11031
    functionName: PlaneSensor2D_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *PlaneSensor2D_Create() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14349,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14351,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14356,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14355,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14354,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14357,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14358,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14359,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14362
      start: 14346
    functionDepth: 0
    functionLinenumber: 14346
    functionLinenumberEnd: 14362
    functionName: TextureTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *TextureTransform_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22612
      start: 22598
    functionDepth: 0
    functionLinenumber: 22598
    functionLinenumberEnd: 22612
    functionName: ServerCommand_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ServerCommand_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfstring_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28613,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28615,1
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:28614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 28616
      start: 28610
    functionDepth: 0
    functionLinenumber: 28610
    functionLinenumberEnd: 28616
    functionName: SBSite_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    - gf_sg_sfstring_del
    linkageType: ''
    returnType: void
    signature: 'static void SBSite_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35323,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:35324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35326
      start: 35321
    functionDepth: 0
    functionLinenumber: 35321
    functionLinenumberEnd: 35326
    functionName: FootPrintNode_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 FootPrintNode_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 4923
      start: 4909
    functionDepth: 0
    functionLinenumber: 4909
    functionLinenumberEnd: 4923
    functionName: Extrusion_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Extrusion_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22629
      start: 22614
    functionDepth: 0
    functionLinenumber: 22614
    functionLinenumberEnd: 22629
    functionName: ServerCommand_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ServerCommand_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27547,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27554,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27561,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27568,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27579,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27606,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27619,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27553,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27560,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27567,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27578,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27605,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27618,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27593,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27586,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27600,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27612,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27548,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27592,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27611,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:27585,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 27624
      start: 27541
    functionDepth: 0
    functionLinenumber: 27541
    functionLinenumberEnd: 27624
    functionName: ProceduralTexture_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ProceduralTexture_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 35333
      start: 35327
    functionDepth: 0
    functionLinenumber: 35327
    functionLinenumberEnd: 35333
    functionName: FootPrintNode_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool FootPrintNode_get_aq_info(GF_Node *n, u32 FieldIndex,
      u8 *QType, u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:10197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10199
      start: 10195
    functionDepth: 0
    functionLinenumber: 10195
    functionLinenumberEnd: 10199
    functionName: Normal_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 Normal_get_field_index_by_name(char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 22978
      start: 22964
    functionDepth: 0
    functionLinenumber: 22964
    functionLinenumberEnd: 22978
    functionName: MediaBuffer_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 MediaBuffer_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 25527
      start: 25509
    functionDepth: 0
    functionLinenumber: 25509
    functionLinenumberEnd: 25527
    functionName: NurbsCurve2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve2D_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 10210
      start: 10200
    functionDepth: 0
    functionLinenumber: 10200
    functionLinenumberEnd: 10210
    functionName: Normal_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Normal_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 22995
      start: 22980
    functionDepth: 0
    functionLinenumber: 22980
    functionLinenumberEnd: 22995
    functionName: MediaBuffer_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err MediaBuffer_get_field_index(GF_Node *n, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25584
      start: 25528
    functionDepth: 0
    functionLinenumber: 25528
    functionLinenumberEnd: 25584
    functionName: NurbsCurve2D_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsCurve2D_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5656,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5658,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 5659
      start: 5653
    functionDepth: 0
    functionLinenumber: 5653
    functionLinenumberEnd: 5659
    functionName: FAP_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void FAP_Del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5629,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5635,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5636,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5637,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5631,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5638,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5639,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5640,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5641,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5642,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5644,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:5643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5646
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5646
    functionName: FaceDefTransform_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *FaceDefTransform_Create() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_parent_destroy
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14842,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:14843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 14844
      start: 14839
    functionDepth: 0
    functionLinenumber: 14839
    functionLinenumberEnd: 14844
    functionName: Transform2D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_parent_destroy
    - gf_node_free
    linkageType: ''
    returnType: void
    signature: 'static void Transform2D_Del(GF_Node *node) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 25818
      start: 25700
    functionDepth: 0
    functionLinenumber: 25700
    functionLinenumberEnd: 25818
    functionName: NurbsSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err NurbsSurface_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25823,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25827,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25826,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25825,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25824,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25828,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25829,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25830,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25831,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25832,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25836,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25837,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25840,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25833,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25838,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25834,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25839,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:25835,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25842
      start: 25821
    functionDepth: 0
    functionLinenumber: 25821
    functionLinenumberEnd: 25842
    functionName: NurbsSurface_get_field_index_by_name
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 NurbsSurface_get_field_index_by_name(char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 30078
      start: 30063
    functionDepth: 0
    functionLinenumber: 30063
    functionLinenumberEnd: 30078
    functionName: WaveletSubdivisionSurface_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WaveletSubdivisionSurface_get_field_index(GF_Node *n,
      u32 inField, u8 IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 30730
      start: 30712
    functionDepth: 0
    functionLinenumber: 30712
    functionLinenumberEnd: 30730
    functionName: Ellipse_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Ellipse_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 8696
      start: 8682
    functionDepth: 0
    functionLinenumber: 8682
    functionLinenumberEnd: 8696
    functionName: Layer2D_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 Layer2D_get_field_count(GF_Node *node, u8 IndexMode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12592
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12592
    functionName: Rectangle_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Rectangle_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13118,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13136,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13130,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13119,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13142,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13148,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13154,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13155,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 7
    argNames:
    - n
    - FieldIndex
    - QType
    - AType
    - b_min
    - b_max
    - QT13_bits
    argTypes:
    - GF_Node*
    - u32
    - u8*
    - u8*
    - Fixed*
    - Fixed*
    - u32*
    constantsTouched: []
    func_position:
      end: 13160
      start: 13106
    functionDepth: 0
    functionLinenumber: 13106
    functionLinenumberEnd: 13160
    functionName: Sound_get_aq_info
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Sound_get_aq_info(GF_Node *n, u32 FieldIndex, u8 *QType,
      u8 *AType, Fixed *b_min, Fixed *b_max, u32 *QT13_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23465,1
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23467,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23468,1
    - Dst: gf_sg_mfvec4f_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:23466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 23469
      start: 23462
    functionDepth: 0
    functionLinenumber: 23462
    functionLinenumberEnd: 23469
    functionName: CoordinateInterpolator4D_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_sg_mffloat_del
    - gf_node_free
    - gf_sg_mfvec4f_del
    linkageType: ''
    returnType: void
    signature: 'static void CoordinateInterpolator4D_Del(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24722,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24726,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24724,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24723,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:24725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 24727
      start: 24719
    functionDepth: 0
    functionLinenumber: 24719
    functionLinenumberEnd: 24727
    functionName: XXLFM_ViewMapList_Del
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - gf_node_free
    - gf_node_unregister
    - gf_sg_mfint32_del
    linkageType: ''
    returnType: void
    signature: 'static void XXLFM_ViewMapList_Del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 30743
      start: 30731
    functionDepth: 0
    functionLinenumber: 30731
    functionLinenumberEnd: 30743
    functionName: Ellipse_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Ellipse_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - n
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 8716
      start: 8698
    functionDepth: 0
    functionLinenumber: 8698
    functionLinenumberEnd: 8716
    functionName: Layer2D_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Layer2D_get_field_index(GF_Node *n, u32 inField, u8
      IndexMode, u32 *allField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 12605
      start: 12593
    functionDepth: 0
    functionLinenumber: 12593
    functionLinenumberEnd: 12605
    functionName: Rectangle_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err Rectangle_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13167,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13173,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13169,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13174,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13172,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13175,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13176,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13177,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13178,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13179,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13183,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13182,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13181,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_nodes.c:13180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13186
      start: 13164
    functionDepth: 0
    functionLinenumber: 13164
    functionLinenumberEnd: 13186
    functionName: Sound_Create
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *Sound_Create() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 30110
      start: 30079
    functionDepth: 0
    functionLinenumber: 30079
    functionLinenumberEnd: 30110
    functionName: WaveletSubdivisionSurface_get_field
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_nodes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WaveletSubdivisionSurface_get_field(GF_Node *node, GF_FieldInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keyValue1
    - keyValue2
    - fraction
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Interpolate
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed Interpolate(Fixed keyValue1, Fixed keyValue2, Fixed fraction) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_scale
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:202,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:207,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:205,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:206,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:203,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:211,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - nurbs
    - span
    - pts
    argTypes:
    - anim_nurbs*
    - s32
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 216
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 216
    functionName: anurbs_get_vec3f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_invfix
    - gf_mulfix
    - gf_vec_scale
    linkageType: ''
    returnType: SFVec3f
    signature: 'static SFVec3f anurbs_get_vec3f(anim_nurbs *nurbs, s32 span, SFVec3f
      *pts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:282,1
    - Dst: anurbs_reset
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:283,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: Anim_Destroy
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - anurbs_reset
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void Anim_Destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - frac
    - fromTo
    argTypes:
    - Fixed
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: anim_check_frac
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool anim_check_frac(Fixed frac, SFVec2f *fromTo) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: PA_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:357,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:385,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:418,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:430,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:431,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:435,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:389,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:394,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:407,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:411,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:402,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:412,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:419,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:434,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:438,1
    - Dst: anurbs_basis
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:449,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:352,1
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:381,1
    - Dst: anim_check_frac
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:355,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:385,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:390,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:430,1
    - Dst: anurbs_get_vec3f
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:450,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:389,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:410,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:411,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:420,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:434,1
    - Dst: anurbs_find_span
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:448,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:461,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 130
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 462
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 462
    functionName: PA_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_floor
    - gf_vec_len
    - gf_mulfix
    - INT2FIX
    - gf_node_event_out
    - anurbs_get_vec3f
    - GetInterpolateFraction
    - PA_Update
    - FIX2INT
    - gf_divfix
    - anim_check_frac
    - do_bisection
    - anurbs_find_span
    - anurbs_basis
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void PA_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:557,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:562,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:577,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:578,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:586,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:600,1
    - Dst: anurbs_find_span
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:614,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:520,1
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:549,1
    - Dst: anim_check_frac
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:523,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:553,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:558,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:569,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:596,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:626,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:557,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:569,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:574,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:578,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:579,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:600,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:604,1
    - Dst: anurbs_basis
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:615,1
    - Dst: PA2D_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:525,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:553,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:569,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:585,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:596,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:597,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:601,1
    - Dst: anurbs_get_vec2f
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:616,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 126
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 627
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 627
    functionName: PA2D_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_floor
    - anurbs_get_vec2f
    - gf_mulfix
    - INT2FIX
    - gf_sqrt
    - gf_node_event_out
    - GetInterpolateFraction
    - FIX2INT
    - gf_divfix
    - anim_check_frac
    - do_bisection
    - PA2D_Update
    - anurbs_find_span
    - anurbs_basis
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void PA2D_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:714,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:718,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:723,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:747,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:757,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:758,1
    - Dst: SA_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:689,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:722,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:738,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:742,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:743,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:761,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:765,1
    - Dst: anurbs_basis
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:776,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:718,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:757,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:762,1
    - Dst: anurbs_get_float
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:777,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:684,1
    - Dst: anim_check_frac
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:687,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:722,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:727,1
    - Dst: do_bisection
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:741,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:742,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:761,1
    - Dst: anurbs_find_span
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:775,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:786,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 787
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 787
    functionName: SA_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - anurbs_get_float
    - gf_node_get_private
    - gf_floor
    - gf_mulfix
    - INT2FIX
    - gf_node_event_out
    - GetInterpolateFraction
    - FIX2INT
    - gf_divfix
    - anim_check_frac
    - do_bisection
    - anurbs_find_span
    - SA_Update
    - anurbs_basis
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'void SA_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:41,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:43,1
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key1
    - key2
    - fraction
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: GetInterpolateFraction
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - ABS
    - gf_assert
    - gf_divfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed GetInterpolateFraction(Fixed key1, Fixed key2, Fixed
      fraction) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:230,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:234,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:231,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:232,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:235,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:239,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:240,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - nurbs
    - span
    - pts
    argTypes:
    - anim_nurbs*
    - s32
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 245
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 245
    functionName: anurbs_get_vec2f
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_invfix
    linkageType: ''
    returnType: SFVec2f
    signature: 'static SFVec2f anurbs_get_vec2f(anim_nurbs *nurbs, s32 span, SFVec2f
      *pts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: anurbs_reset
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:299,1
    - Dst: anurbs_init
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:308,1
    - Dst: anurbs_init
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:302,1
    - Dst: anurbs_init
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - stack
    - keyValueType
    - nCtrl
    - keySpline
    - nWeight
    - weights
    argTypes:
    - AnimatorStack*
    - u32
    - u32
    - MFVec2f*
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Animator_Update
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - anurbs_reset
    - anurbs_init
    linkageType: ''
    returnType: void
    signature: 'static void Animator_Update(AnimatorStack *stack, u32 keyValueType,
      u32 nCtrl, MFVec2f *keySpline, u32 nWeight, Fixed *weights) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:340,1
    - Dst: Animator_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pa
    - stack
    argTypes:
    - M_PositionAnimator*
    - AnimatorStack*
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: PA_Update
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_vec_len
    - Animator_Update
    linkageType: ''
    returnType: void
    signature: 'static void PA_Update(M_PositionAnimator *pa, AnimatorStack *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: PA_Modified
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void PA_Modified(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: PA2D_Modified
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void PA2D_Modified(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:791,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: SA_Modified
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void SA_Modified(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:77,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:77,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:81,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:77,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:81,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - t
    - a
    - b
    - c
    - d
    argTypes:
    - Fixed
    - SFVec2f
    - SFVec2f
    - SFVec2f
    - SFVec2f
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: do_bisection
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed do_bisection(Fixed t, SFVec2f a, SFVec2f b, SFVec2f c, SFVec2f
      d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:100,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:102,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - nurbs
    argTypes:
    - anim_nurbs*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: anurbs_reset
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void anurbs_reset(anim_nurbs *nurbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:258,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:259,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:263,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - nurbs
    - span
    - vals
    argTypes:
    - anim_nurbs*
    - s32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: anurbs_get_float
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_divfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed anurbs_get_float(anim_nurbs *nurbs, s32 span, Fixed *vals) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:648,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:655,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:654,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: PA2D_Init
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void PA2D_Init(GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - nurbs
    - type
    - nCtrl
    - nKnots
    - knots
    - nWeight
    - weights
    argTypes:
    - anim_nurbs*
    - u32
    - u32
    - u32
    - Fixed*
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: anurbs_init
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void anurbs_init(anim_nurbs *nurbs, u32 type, u32 nCtrl, u32
      nKnots, Fixed *knots, u32 nWeight, Fixed *weights) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:672,1
    - Dst: Animator_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - sa
    - stack
    argTypes:
    - M_ScalarAnimator*
    - AnimatorStack*
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: SA_Update
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - ABS
    - Animator_Update
    linkageType: ''
    returnType: void
    signature: 'static void SA_Update(M_ScalarAnimator *sa, AnimatorStack *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:143,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:156,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:155,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:145,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:144,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - nurbs
    - span
    - t
    argTypes:
    - anim_nurbs*
    - s32
    - Fixed
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: anurbs_basis
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mulfix
    - gf_divfix
    linkageType: ''
    returnType: void
    signature: 'static void anurbs_basis(anim_nurbs *nurbs, s32 span, Fixed t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:485,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:490,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: PA_Init
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void PA_Init(GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - nurbs
    - u
    argTypes:
    - anim_nurbs*
    - Fixed
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: anurbs_find_span
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 anurbs_find_span(anim_nurbs *nurbs, Fixed u) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:508,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:508,1
    - Dst: Animator_Update
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:511,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pa
    - stack
    argTypes:
    - M_PositionAnimator2D*
    - AnimatorStack*
    constantsTouched: []
    func_position:
      end: 512
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 512
    functionName: PA2D_Update
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - Animator_Update
    - gf_mulfix
    - gf_sqrt
    linkageType: ''
    returnType: void
    signature: 'static void PA2D_Update(M_PositionAnimator2D *pa, AnimatorStack *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:809,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:811,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:816,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scenegraph/mpeg4_animators.c:815,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 818
    functionName: SA_Init
    functionSourceFile: /src/gpac/src/scenegraph/mpeg4_animators.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void SA_Init(GF_Node *n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_refresh_event_filter
      Src: /src/gpac/src/scenegraph/dom_events.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - sg
    - category
    argTypes:
    - GF_SceneGraph*
    - GF_DOMEventCategory
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: gf_sg_register_event_type
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_refresh_event_filter
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_register_event_type(GF_SceneGraph *sg, GF_DOMEventCategory
      category) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - node
    - i
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: gf_dom_listener_get
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_dom_listener_get(GF_Node *node, u32 i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/scenegraph/dom_events.c:251,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:252,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:253,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/dom_events.c:254,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_events.c:255,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/scenegraph/dom_events.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: gf_dom_listener_reset_deferred
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_list_rem
    - gf_free
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_dom_listener_reset_deferred(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:280,1
    - Dst: dom_evt_get_handler
      Src: /src/gpac/src/scenegraph/dom_events.c:287,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/dom_events.c:285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: dom_evt_get_handler
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - dom_evt_get_handler
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *dom_evt_get_handler(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_events.c:761,1
    - Dst: gf_smil_handle_event
      Src: /src/gpac/src/scenegraph/dom_events.c:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 766
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 766
    functionName: gf_smil_handle_event_end
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_smil_handle_event
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_handle_event_end(GF_Node *hdl, GF_DOM_Event *evt,
      GF_Node *observer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:814,1
    - Dst: gf_smil_setup_event_list
      Src: /src/gpac/src/scenegraph/dom_events.c:817,1
    - Dst: gf_smil_setup_event_list
      Src: /src/gpac/src/scenegraph/dom_events.c:815,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: gf_smil_setup_events
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_smil_setup_event_list
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_setup_events(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:833,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/dom_events.c:840,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:839,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/dom_events.c:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - parent
    - text_data
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: gf_dom_add_text_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_list_add_child_last
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOMText *gf_dom_add_text_node(GF_Node *parent, char *text_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: svgjs_handler_execute
      Src: /src/gpac/src/scenegraph/dom_events.c:266,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 3
    argNames:
    - hdl
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: gf_sg_handle_dom_event
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - svgjs_handler_execute
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_handle_dom_event(GF_Node *hdl, GF_DOM_Event *event,
      GF_Node *observer) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:298,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/dom_events.c:301,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/dom_events.c:311,1
    - Dst: svgjs_handler_execute
      Src: /src/gpac/src/scenegraph/dom_events.c:306,1
    - Dst: dom_evt_get_handler
      Src: /src/gpac/src/scenegraph/dom_events.c:313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:324,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/dom_events.c:324,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/dom_events.c:324,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:335,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_events.c:354,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_events.c:356,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/scenegraph/dom_events.c:349,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 43
    argCount: 3
    argNames:
    - listen
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 362
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 362
    functionName: dom_event_process
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_dom_event_get_name
    - gf_node_traverse
    - memset
    - GF_LOG
    - gf_node_get_attribute_by_tag
    - svgjs_handler_execute
    - gf_sg_find_node_by_name
    - strnicmp
    - dom_evt_get_handler
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'static void dom_event_process(GF_Node *listen, GF_DOM_Event *event,
      GF_Node *observer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:774,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:797,1
    - Dst: gf_dom_listener_build_ex
      Src: /src/gpac/src/scenegraph/dom_events.c:790,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - node
    - l
    - is_begin
    argTypes:
    - GF_Node*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 809
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 809
    functionName: gf_smil_setup_event_list
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_list_count
    - gf_list_get
    - gf_dom_listener_build_ex
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_setup_event_list(GF_Node *node, GF_List *l, Bool
      is_begin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/dom_events.c:824,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_events.c:826,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/dom_events.c:826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - n
    - text
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: gf_dom_set_textContent
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_add_text_node
    - gf_strdup
    - gf_node_unregister_children
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dom_set_textContent(GF_Node *n, char *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:847,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/dom_events.c:850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 853
    functionName: gf_dom_new_text_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: GF_DOMText*
    signature: 'GF_DOMText *gf_dom_new_text_node(GF_SceneGraph *sg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:926,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:944,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scenegraph/dom_events.c:945,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:932,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:929,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/dom_events.c:945,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 2
    argNames:
    - n
    - f
    argTypes:
    - GF_Node*
    - FILE*
    constantsTouched: []
    func_position:
      end: 950
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 950
    functionName: gf_dom_event_dump_listeners
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - gf_node_get_attribute_by_tag
    linkageType: ''
    returnType: void
    signature: 'void gf_dom_event_dump_listeners(GF_Node *n, FILE *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:977,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/scenegraph/dom_events.c:981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 986
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 986
    functionName: gf_dom_event_get_target_from_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_event_target_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DOMEventTarget*
    signature: 'GF_DOMEventTarget *gf_dom_event_get_target_from_node(GF_Node *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/dom_events.c:158,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:160,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_events.c:166,1
    - Dst: gf_dom_event_get_category
      Src: /src/gpac/src/scenegraph/dom_events.c:162,1
    - Dst: gf_sg_unregister_event_type
      Src: /src/gpac/src/scenegraph/dom_events.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - listener
    - target
    argTypes:
    - GF_Node*
    - GF_DOMEventTarget*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: gf_dom_listener_del
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_sg_unregister_event_type
    - gf_dom_event_get_category
    - gf_node_get_attribute_by_tag
    - gf_list_del_item
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dom_listener_del(GF_Node *listener, GF_DOMEventTarget
      *target) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_events.c:483,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/scenegraph/dom_events.c:488,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/scenegraph/dom_events.c:500,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:495,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:492,1
    - Dst: gf_sg_dom_event_bubble
      Src: /src/gpac/src/scenegraph/dom_events.c:505,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/scenegraph/dom_events.c:512,1
    - Dst: gf_sg_dom_event_bubble
      Src: /src/gpac/src/scenegraph/dom_events.c:515,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - node
    - event
    - use_stack
    - cur_par_idx
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 516
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 516
    functionName: gf_sg_dom_event_bubble
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_sg_dom_event_bubble
    - gf_list_get
    - gf_sg_fire_dom_event
    linkageType: ''
    returnType: void
    signature: 'static void gf_sg_dom_event_bubble(GF_Node *node, GF_DOM_Event *event,
      GF_List *use_stack, u32 cur_par_idx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:537,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/dom_events.c:537,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/dom_events.c:537,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/dom_events.c:537,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/dom_events.c:537,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/dom_events.c:541,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_events.c:563,1
    - Dst: gf_sg_dom_stack_parents
      Src: /src/gpac/src/scenegraph/dom_events.c:565,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_events.c:565,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:566,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/scenegraph/dom_events.c:570,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:590,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/dom_events.c:578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:568,1
    - Dst: gf_sg_dom_event_bubble
      Src: /src/gpac/src/scenegraph/dom_events.c:607,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/scenegraph/dom_events.c:602,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 3
    argNames:
    - node
    - event
    - use_stack
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 613
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 613
    functionName: gf_dom_event_fire_ex
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_dom_event_get_name
    - gf_sg_dom_stack_parents
    - gf_node_get_parent
    - gf_list_get
    - gf_node_get_log_name
    - gf_sg_fire_dom_event
    - gf_list_del
    - gf_dom_listener_process_add
    - gf_list_count
    - GF_LOG
    - gf_sg_dom_event_bubble
    - gf_node_get_graph
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dom_event_fire_ex(GF_Node *node, GF_DOM_Event *event,
      GF_List *use_stack) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:628,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_events.c:631,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:641,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:635,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_events.c:640,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:646,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/dom_events.c:647,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:650,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:654,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:657,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/scenegraph/dom_events.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - node
    - event_type
    - event_parameter
    - handler
    - out_listener
    argTypes:
    - GF_Node*
    - u32
    - u32
    - GF_Node*
    - GF_Node**
    constantsTouched: []
    func_position:
      end: 667
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 667
    functionName: gf_dom_listener_build_ex
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - gf_node_dom_listener_add
    - gf_node_register
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: GF_DOMHandler*
    signature: 'GF_DOMHandler *gf_dom_listener_build_ex(GF_Node *node, u32 event_type,
      u32 event_parameter, GF_Node *handler, GF_Node **out_listener) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/dom_events.c:678,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/dom_events.c:689,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_events.c:688,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:686,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:681,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:696,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:711,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:724,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/dom_events.c:726,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/dom_events.c:736,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/dom_events.c:739,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/dom_events.c:732,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_events.c:736,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/dom_events.c:736,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 4
    argNames:
    - timed_elt
    - info
    - evt
    - is_end
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    - GF_DOM_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 740
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 740
    functionName: gf_smil_handle_event
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_insert
    - gf_list_get
    - GF_SMIL_TIME_IS_CLOCK
    - gf_node_get_log_name
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_node_changed
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_handle_event(GF_Node *timed_elt, GF_FieldInfo
      *info, GF_DOM_Event *evt, Bool is_end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/dom_events.c:178,1
    - Dst: gf_dom_event_get_category
      Src: /src/gpac/src/scenegraph/dom_events.c:185,1
    - Dst: gf_sg_unregister_event_type
      Src: /src/gpac/src/scenegraph/dom_events.c:185,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - event_target
    - listener
    argTypes:
    - GF_DOMEventTarget*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: gf_dom_event_remove_listener_from_parent
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_sg_unregister_event_type
    - gf_list_del_item
    - gf_dom_event_get_category
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dom_event_remove_listener_from_parent(GF_DOMEventTarget
      *event_target, GF_Node *listener) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_set_destroy_cookie
      Src: /src/gpac/src/scenegraph/dom_events.c:372,1
    - Dst: dom_event_process
      Src: /src/gpac/src/scenegraph/dom_events.c:415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:387,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:384,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/scenegraph/dom_events.c:393,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/dom_events.c:419,1
    - Dst: dom_event_process
      Src: /src/gpac/src/scenegraph/dom_events.c:423,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_events.c:428,1
    - Dst: dom_event_process
      Src: /src/gpac/src/scenegraph/dom_events.c:433,1
    - Dst: gf_sg_set_destroy_cookie
      Src: /src/gpac/src/scenegraph/dom_events.c:438,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/dom_events.c:458,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/dom_events.c:447,1
    - Dst: gf_sg_set_destroy_cookie
      Src: /src/gpac/src/scenegraph/dom_events.c:464,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/dom_events.c:465,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/dom_events.c:439,1
    - Dst: gf_sg_set_destroy_cookie
      Src: /src/gpac/src/scenegraph/dom_events.c:457,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:445,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 78
    argCount: 4
    argNames:
    - et
    - event
    - sg
    - n
    argTypes:
    - GF_DOMEventTarget*
    - GF_DOM_Event*
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 473
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 473
    functionName: gf_sg_fire_dom_event
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_svg_flatten_attributes
    - gf_list_find
    - gf_list_count
    - gf_sg_set_destroy_cookie
    - gf_dom_listener_process_add
    - dom_event_process
    - gf_assert
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_fire_dom_event(GF_DOMEventTarget *et, GF_DOM_Event
      *event, GF_SceneGraph *sg, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/scenegraph/dom_events.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - event
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: gf_dom_event_fire
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_event_fire_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dom_event_fire(GF_Node *node, GF_DOM_Event *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_listener_build_ex
      Src: /src/gpac/src/scenegraph/dom_events.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - event_type
    - event_parameter
    argTypes:
    - GF_Node*
    - GF_EventType
    - u32
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: gf_dom_listener_build
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_listener_build_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOMHandler *gf_dom_listener_build(GF_Node *node, GF_EventType
      event_type, u32 event_parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_events.c:748,1
    - Dst: gf_smil_handle_event
      Src: /src/gpac/src/scenegraph/dom_events.c:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - hdl
    - evt
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: gf_smil_handle_event_begin
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_smil_handle_event
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_handle_event_begin(GF_Node *hdl, GF_DOM_Event
      *evt, GF_Node *observer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:194,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:195,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/dom_events.c:197,1
    - Dst: gf_dom_listener_del
      Src: /src/gpac/src/scenegraph/dom_events.c:199,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/dom_events.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - event_target
    - sg
    argTypes:
    - GF_DOMEventTarget*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: gf_dom_event_remove_all_listeners
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_dom_listener_del
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void gf_dom_event_remove_all_listeners(GF_DOMEventTarget *event_target,
      GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/scenegraph/dom_events.c:227,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/dom_events.c:228,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/scenegraph/dom_events.c:232,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/dom_events.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - obs
    - listener
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: gf_sg_listener_post_add
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_listener_post_add(GF_Node *obs, GF_Node *listener) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: gf_dom_listener_count
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dom_listener_count(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/scenegraph/dom_events.c:238,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_events.c:241,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:239,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/scenegraph/dom_events.c:242,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_events.c:243,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/dom_events.c:245,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/scenegraph/dom_events.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: gf_dom_listener_process_add
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_node_dom_listener_add
    - gf_free
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_dom_listener_process_add(GF_SceneGraph *sg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: gf_dom_refresh_event_filter
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_dom_refresh_event_filter(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: gf_sg_get_dom_event_filter
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_get_dom_event_filter(GF_SceneGraph *sg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:142,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/scenegraph/dom_events.c:148,1
    - Dst: gf_sg_listener_associate
      Src: /src/gpac/src/scenegraph/dom_events.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - node
    - listener
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: gf_node_dom_listener_add
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_sg_listener_associate
    - gf_dom_event_target_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_dom_listener_add(GF_Node *node, GF_Node *listener) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/dom_events.c:522,1
    - Dst: gf_sg_dom_stack_parents
      Src: /src/gpac/src/scenegraph/dom_events.c:523,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_events.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - node
    - stack
    argTypes:
    - GF_Node*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: gf_sg_dom_stack_parents
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_sg_dom_stack_parents
    - gf_node_get_parent
    linkageType: ''
    returnType: void
    signature: 'static void gf_sg_dom_stack_parents(GF_Node *node, GF_List *stack) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_events.c:865,1
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/src/scenegraph/dom_events.c:872,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_events.c:866,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_events.c:874,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/dom_events.c:875,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/dom_events.c:878,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_events.c:879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 884
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 884
    functionName: gf_dom_flatten_textContent
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - gf_realloc
    - gf_strdup
    - gf_free
    - gf_dom_flatten_textContent
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_dom_flatten_textContent(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:904,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/dom_events.c:911,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/dom_events.c:907,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_events.c:909,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: gf_dom_add_update_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_setup
    - GF_SAFEALLOC
    - gf_list_new
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: GF_DOMUpdates*
    signature: 'GF_DOMUpdates *gf_dom_add_update_node(GF_Node *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:955,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_events.c:958,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - type
    - obj
    argTypes:
    - GF_DOMEventTargetType
    - void*
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: gf_dom_event_target_new
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DOMEventTarget*
    signature: 'GF_DOMEventTarget *gf_dom_event_target_new(GF_DOMEventTargetType type,
      void *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: gf_node_get_dom_event_filter
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_node_get_dom_event_filter(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_refresh_event_filter
      Src: /src/gpac/src/scenegraph/dom_events.c:76,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 2
    argNames:
    - sg
    - category
    argTypes:
    - GF_SceneGraph*
    - GF_DOMEventCategory
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: gf_sg_unregister_event_type
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_dom_refresh_event_filter
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_unregister_event_type(GF_SceneGraph *sg, GF_DOMEventCategory
      category) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_events.c:889,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/dom_events.c:896,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/dom_events.c:892,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_events.c:894,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: gf_dom_add_updates_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - gf_node_setup
    - GF_SAFEALLOC
    - gf_list_new
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: GF_DOMUpdates*
    signature: 'GF_DOMUpdates *gf_dom_add_updates_node(GF_Node *parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/dom_events.c:965,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/dom_events.c:966,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_events.c:965,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_events.c:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - target
    argTypes:
    - GF_DOMEventTarget*
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: gf_dom_event_target_del
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_assert
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_dom_event_target_del(GF_DOMEventTarget *target) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_events.c:123,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_events.c:125,1
    - Dst: gf_sg_register_event_type
      Src: /src/gpac/src/scenegraph/dom_events.c:127,1
    - Dst: gf_dom_event_get_category
      Src: /src/gpac/src/scenegraph/dom_events.c:127,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/dom_events.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - listener
    - evt_target
    argTypes:
    - GF_Node*
    - GF_DOMEventTarget*
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: gf_sg_listener_associate
    functionSourceFile: /src/gpac/src/scenegraph/dom_events.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dom_event_get_category
    - gf_sg_register_event_type
    - gf_node_get_attribute_by_tag
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_listener_associate(GF_Node *listener, GF_DOMEventTarget
      *evt_target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:356,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - elt
    argTypes:
    - GF_DOMNode*
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: gf_xml_push_namespaces
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_sg_add_namespace
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'void gf_xml_push_namespaces(GF_DOMNode *elt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:387,1
    - Dst: gf_xml_get_namespace_id
      Src: /src/gpac/src/scenegraph/xml_ns.c:388,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:387,1
    - Dst: gf_xml_get_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - elt
    - attribute_name
    argTypes:
    - GF_DOMNode*
    - char*
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: gf_xml_get_namespace
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_xml_get_namespace_id
    - strcmp
    - gf_xml_get_namespace
    - strncmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_xml_get_namespace(GF_DOMNode *elt, const char *attribute_name) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/xml_ns.c:420,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/xml_ns.c:423,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/xml_ns.c:429,1
    - Dst: gf_xml_get_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:424,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:428,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:434,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 33
    argCount: 3
    argNames:
    - elt
    - attribute_name
    - ns
    argTypes:
    - GF_Node*
    - char*
    - GF_NamespaceType
    constantsTouched: []
    func_position:
      end: 506
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 506
    functionName: gf_xml_get_attribute_tag
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_xml_get_namespace
    - gf_xml_get_element_namespace
    - strcmp
    - strchr
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_xml_get_attribute_tag(GF_Node *elt, char *attribute_name, GF_NamespaceType
      ns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: gf_node_get_attribute_count
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_node_get_attribute_count(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/xml_ns.c:725,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:731,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 733
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 733
    functionName: gf_node_delete_attributes
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_svg_delete_attribute_value
    linkageType: ''
    returnType: void
    signature: 'void gf_node_delete_attributes(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_attribute_tag
      Src: /src/gpac/src/scenegraph/xml_ns.c:751,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scenegraph/xml_ns.c:757,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:762,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:762,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:758,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:762,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/xml_ns.c:773,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/xml_ns.c:777,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/xml_ns.c:779,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:781,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/xml_ns.c:795,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 6
    argNames:
    - node
    - name
    - xmlns_code
    - create_if_not_found
    - set_default
    - field
    argTypes:
    - GF_Node*
    - char*
    - u32
    - Bool
    - Bool
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 796
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 796
    functionName: gf_node_get_attribute_by_name
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sg_get_namespace_qname
    - strncmp
    - gf_svg_create_attribute_value
    - gf_xml_get_element_namespace
    - gf_strdup
    - strcmp
    - gf_node_get_attribute_by_tag
    - gf_xml_get_attribute_tag
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_get_attribute_by_name(GF_Node *node, char
      *name, u32 xmlns_code, Bool create_if_not_found, Bool set_default, GF_FieldInfo
      *field) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:371,1
    - Dst: gf_sg_remove_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - elt
    argTypes:
    - GF_DOMNode*
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: gf_xml_pop_namespaces
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_sg_remove_namespace
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'void gf_xml_pop_namespaces(GF_DOMNode *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:403,1
    - Dst: gf_xml_get_namespace_qname
      Src: /src/gpac/src/scenegraph/xml_ns.c:411,1
    - Dst: gf_xml_get_namespace_id
      Src: /src/gpac/src/scenegraph/xml_ns.c:403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - elt
    - ns
    argTypes:
    - GF_DOMNode*
    - u32
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: gf_xml_get_namespace_qname
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_xml_get_namespace_id
    - gf_xml_get_namespace_qname
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_xml_get_namespace_qname(GF_DOMNode *elt, u32 ns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: gf_xml_get_attribute_type
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_xml_get_attribute_type(u32 tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - element_name
    - ns
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: gf_xml_get_element_tag
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_get_element_tag(const char *element_name, u32
      ns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 718
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 718
    functionName: gf_node_get_attribute_info
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_get_attribute_info(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/xml_ns.c:740,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/xml_ns.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data_type
    - attribute_tag
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: gf_node_create_attribute_from_datatype
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_svg_create_attribute_value
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SVGAttribute*
    signature: 'SVGAttribute *gf_node_create_attribute_from_datatype(u32 data_type,
      u32 attribute_tag) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scenegraph/xml_ns.c:808,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/xml_ns.c:912,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/xml_ns.c:925,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scenegraph/xml_ns.c:925,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 49
    argCount: 2
    argNames:
    - node
    - att
    argTypes:
    - GF_Node*
    - SVGAttribute*
    constantsTouched: []
    func_position:
      end: 927
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 927
    functionName: attributes_set_default_value
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_svg_get_attribute_name
    - gf_mx2d_init
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void attributes_set_default_value(GF_Node *node, SVGAttribute
      *att) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/xml_ns.c:523,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/xml_ns.c:533,1
    - Dst: gf_xml_get_namespace_qname
      Src: /src/gpac/src/scenegraph/xml_ns.c:531,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - node
    - tag
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 540
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: gf_svg_get_attribute_name
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_xml_get_namespace_qname
    - gf_xml_get_element_namespace
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_svg_get_attribute_name(GF_Node *node, u32 tag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_create_attribute
      Src: /src/gpac/src/scenegraph/xml_ns.c:949,1
    - Dst: attributes_set_default_value
      Src: /src/gpac/src/scenegraph/xml_ns.c:958,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - node
    - attribute_tag
    - create_if_not_found
    - set_default
    - field
    argTypes:
    - GF_Node*
    - u32
    - Bool
    - Bool
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 964
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 964
    functionName: gf_node_get_attribute_by_tag
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_xml_create_attribute
    - attributes_set_default_value
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_get_attribute_by_tag(GF_Node *node, u32 attribute_tag,
      Bool create_if_not_found, Bool set_default, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/xml_ns.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - target
    argTypes:
    - GF_SceneGraph*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 982
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 982
    functionName: gf_node_unregister_iri
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_unregister_iri(GF_SceneGraph *sg, XMLRI *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_attribute_type
      Src: /src/gpac/src/scenegraph/xml_ns.c:543,1
    - Dst: gf_node_create_attribute_from_datatype
      Src: /src/gpac/src/scenegraph/xml_ns.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - node
    - tag
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: gf_xml_create_attribute
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_xml_get_attribute_type
    - gf_node_create_attribute_from_datatype
    linkageType: ''
    returnType: GF_DOMAttribute*
    signature: 'GF_DOMAttribute *gf_xml_create_attribute(GF_Node *node, u32 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/xml_ns.c:970,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/xml_ns.c:971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - sg
    - target
    argTypes:
    - GF_SceneGraph*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 974
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 974
    functionName: gf_node_register_iri
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_register_iri(GF_SceneGraph *sg, XMLRI *target) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/xml_ns.c:989,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/xml_ns.c:1004,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/xml_ns.c:1012,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/xml_ns.c:1014,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/xml_ns.c:997,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/xml_ns.c:1019,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/xml_ns.c:1022,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/xml_ns.c:1032,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/xml_ns.c:1033,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scenegraph/xml_ns.c:1035,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/xml_ns.c:1040,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 5
    argNames:
    - inScene
    - orig
    - cloned_parent
    - inst_id
    - deep
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_Node*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1045
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1045
    functionName: gf_sg_xml_node_clone
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_node_list_add_child
    - gf_node_init
    - gf_strdup
    - gf_node_get_attribute_by_name
    - gf_svg_attributes_copy
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - gf_node_register
    - gf_node_clone
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sg_xml_node_clone(GF_SceneGraph *inScene, GF_Node *orig,
      GF_Node *cloned_parent, char *inst_id, Bool deep) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/xml_ns.c:1058,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/xml_ns.c:1060,1
    - Dst: gf_fsize
      Src: /src/gpac/src/scenegraph/xml_ns.c:1066,1
    - Dst: gf_fread
      Src: /src/gpac/src/scenegraph/xml_ns.c:1072,1
    - Dst: memcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1075,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scenegraph/xml_ns.c:1078,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scenegraph/xml_ns.c:1084,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - base_file
    - ext
    - data
    - data_size
    - idx
    argTypes:
    - char*
    - char*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1086
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1086
    functionName: check_existing_file
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - snprintf
    - memcmp
    - gf_fsize
    - gf_fread
    - GF_LOG
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: u32
    signature: 'static u32 check_existing_file(char *base_file, char *ext, char *data,
      u32 data_size, u32 idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/xml_ns.c:656,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scenegraph/xml_ns.c:664,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/xml_ns.c:666,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 673
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 673
    functionName: gf_xml_get_element_name
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_sg_get_namespace_qname
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_xml_get_element_name(GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: gf_xml_get_element_namespace
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_NamespaceType
    signature: 'GF_NamespaceType gf_xml_get_element_namespace(GF_Node *n) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/xml_ns.c:1102,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scenegraph/xml_ns.c:1117,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/xml_ns.c:1130,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/xml_ns.c:1140,1
    - Dst: check_existing_file
      Src: /src/gpac/src/scenegraph/xml_ns.c:1152,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:1168,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:1169,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scenegraph/xml_ns.c:1174,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:1177,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/xml_ns.c:1111,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/xml_ns.c:1115,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1133,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/scenegraph/xml_ns.c:1136,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1139,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1143,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/xml_ns.c:1160,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/xml_ns.c:1162,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/xml_ns.c:1178,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1103,1
    - Dst: strrchr
      Src: /src/gpac/src/scenegraph/xml_ns.c:1109,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/xml_ns.c:1119,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1125,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1131,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1138,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/xml_ns.c:1161,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/xml_ns.c:1176,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1097,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1099,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1123,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/xml_ns.c:1134,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1124,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1136,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/xml_ns.c:1123,1
    - Dst: gf_base16_decode
      Src: /src/gpac/src/scenegraph/xml_ns.c:1143,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scenegraph/xml_ns.c:1166,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scenegraph/xml_ns.c:1173,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 111
    argCount: 3
    argNames:
    - iri
    - cache_dir
    - base_filename
    argTypes:
    - XMLRI*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1182
    functionName: gf_node_store_embedded_data
    functionSourceFile: /src/gpac/src/scenegraph/xml_ns.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_base16_decode
    - strcat
    - check_existing_file
    - strncmp
    - gf_strdup
    - strcmp
    - sprintf
    - gf_free
    - gf_fwrite
    - strrchr
    - strcpy
    - gf_fclose
    - gf_base64_decode
    - gf_fopen
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_store_embedded_data(XMLRI *iri, const char
      *cache_dir, const char *base_filename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/svg_types.c:55,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_types.c:64,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/svg_types.c:67,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_types.c:61,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_types.c:57,1
    - Dst: gf_sg_parent_setup
      Src: /src/gpac/src/scenegraph/svg_types.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ElementTag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: gf_svg_create_node
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_sg_parent_setup
    - gf_svg_is_timing_tag
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: SVG_Element*
    signature: 'SVG_Element *gf_svg_create_node(u32 ElementTag) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_setup_events
      Src: /src/gpac/src/scenegraph/svg_types.c:144,1
    - Dst: gf_smil_anim_init_node
      Src: /src/gpac/src/scenegraph/svg_types.c:151,1
    - Dst: gf_smil_timing_init_runtime_info
      Src: /src/gpac/src/scenegraph/svg_types.c:143,1
    - Dst: gf_smil_setup_events
      Src: /src/gpac/src/scenegraph/svg_types.c:152,1
    - Dst: gf_smil_timing_init_runtime_info
      Src: /src/gpac/src/scenegraph/svg_types.c:158,1
    - Dst: gf_smil_setup_events
      Src: /src/gpac/src/scenegraph/svg_types.c:159,1
    - Dst: gf_smil_timing_init_runtime_info
      Src: /src/gpac/src/scenegraph/svg_types.c:163,1
    - Dst: gf_smil_setup_events
      Src: /src/gpac/src/scenegraph/svg_types.c:164,1
    - Dst: gf_smil_anim_init_discard
      Src: /src/gpac/src/scenegraph/svg_types.c:168,1
    - Dst: gf_smil_setup_events
      Src: /src/gpac/src/scenegraph/svg_types.c:169,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 175
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 175
    functionName: gf_svg_node_init
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_smil_anim_init_node
    - gf_smil_setup_events
    - gf_smil_anim_init_discard
    - gf_smil_timing_init_runtime_info
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_node_init(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_reset
      Src: /src/gpac/src/scenegraph/svg_types.c:205,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:213,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:211,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:208,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:210,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:214,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:216,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:217,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - SVG_PathData
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: gf_svg_reset_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_path_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_reset_path(SVG_PathData d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:312,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:318,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:315,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:314,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: gf_smil_delete_times
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_delete_times(GF_List *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:324,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:326,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:327,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: gf_svg_delete_points
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_delete_points(GF_List *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:346,1
    - Dst: gf_node_unregister_iri
      Src: /src/gpac/src/scenegraph/svg_types.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - sg
    - iri
    argTypes:
    - GF_SceneGraph*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: gf_svg_reset_iri
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_node_unregister_iri
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_reset_iri(GF_SceneGraph *sg, XMLRI *iri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/svg_types.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - anim_datatype
    - anim_value
    - sg
    argTypes:
    - u8
    - void*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: svg_delete_one_anim_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_svg_delete_attribute_value
    linkageType: ''
    returnType: void
    signature: 'static void svg_delete_one_anim_value(u8 anim_datatype, void *anim_value,
      GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_delete_one_anim_value
      Src: /src/gpac/src/scenegraph/svg_types.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - anim_value
    - sg
    argTypes:
    - SMIL_AnimateValue
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: gf_svg_reset_animate_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - svg_delete_one_anim_value
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_reset_animate_value(SMIL_AnimateValue anim_value, GF_SceneGraph
      *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: gf_svg_is_animation_tag
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_svg_is_animation_tag(u32 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/svg_types.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: gf_svg_is_timing_tag
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_svg_is_animation_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_is_timing_tag(u32 tag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_anim_delete_animations
      Src: /src/gpac/src/scenegraph/svg_types.c:77,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/svg_types.c:96,1
    - Dst: gf_dom_event_remove_listener_from_parent
      Src: /src/gpac/src/scenegraph/svg_types.c:81,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/svg_types.c:92,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/svg_types.c:89,1
    - Dst: gf_dom_listener_count
      Src: /src/gpac/src/scenegraph/svg_types.c:103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:105,1
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/svg_types.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:113,1
    - Dst: gf_smil_anim_remove_from_target
      Src: /src/gpac/src/scenegraph/svg_types.c:114,1
    - Dst: gf_node_delete_attributes
      Src: /src/gpac/src/scenegraph/svg_types.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:120,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:118,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/svg_types.c:125,1
    - Dst: gf_smil_timing_delete_runtime_info
      Src: /src/gpac/src/scenegraph/svg_types.c:117,1
    - Dst: gf_sg_parent_reset
      Src: /src/gpac/src/scenegraph/svg_types.c:124,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 126
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 126
    functionName: gf_svg_node_del
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dom_listener_count
    - gf_sg_parent_reset
    - gf_dom_event_remove_listener_from_parent
    - gf_smil_anim_remove_from_target
    - gf_svg_is_timing_tag
    - gf_smil_anim_delete_animations
    - gf_node_get_attribute_by_tag
    - gf_free
    - gf_assert
    - gf_smil_timing_delete_runtime_info
    - gf_node_unregister
    - gf_node_free
    - gf_node_delete_attributes
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_node_del(GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_timing_modified
      Src: /src/gpac/src/scenegraph/svg_types.c:187,1
    - Dst: gf_smil_timing_modified
      Src: /src/gpac/src/scenegraph/svg_types.c:193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: gf_svg_node_changed
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_smil_timing_modified
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_node_changed(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:334,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:336,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:337,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: gf_svg_delete_coordinates
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_delete_coordinates(GF_List *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_reset_iri
      Src: /src/gpac/src/scenegraph/svg_types.c:354,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - sg
    - paint
    argTypes:
    - GF_SceneGraph*
    - SVG_Paint*
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: gf_svg_delete_paint
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_svg_reset_iri
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_delete_paint(GF_SceneGraph *sg, SVG_Paint *paint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:371,1
    - Dst: svg_delete_one_anim_value
      Src: /src/gpac/src/scenegraph/svg_types.c:374,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:376,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - anim_values
    - sg
    argTypes:
    - SMIL_AnimateValues
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: gf_svg_reset_animate_values
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - svg_delete_one_anim_value
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_reset_animate_values(SMIL_AnimateValues anim_values, GF_SceneGraph
      *sg) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_reset_iri
      Src: /src/gpac/src/scenegraph/svg_types.c:405,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:419,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_types.c:436,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:425,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:452,1
    - Dst: svg_delete_one_anim_value
      Src: /src/gpac/src/scenegraph/svg_types.c:461,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:470,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_types.c:472,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:483,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:484,1
    - Dst: gf_svg_delete_paint
      Src: /src/gpac/src/scenegraph/svg_types.c:393,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:398,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:406,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:412,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:437,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_types.c:435,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:440,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:446,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:473,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:476,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:487,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:491,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:503,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/svg_types.c:482,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:402,1
    - Dst: gf_svg_reset_iri
      Src: /src/gpac/src/scenegraph/svg_types.c:397,1
    - Dst: gf_path_del
      Src: /src/gpac/src/scenegraph/svg_types.c:410,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:434,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:423,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:420,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:445,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:458,1
    - Dst: gf_svg_reset_animate_values
      Src: /src/gpac/src/scenegraph/svg_types.c:465,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:480,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:492,1
    - Dst: gf_svg_reset_iri
      Src: /src/gpac/src/scenegraph/svg_types.c:401,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:424,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:439,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:453,1
    - Dst: gf_smil_delete_times
      Src: /src/gpac/src/scenegraph/svg_types.c:457,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:462,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:466,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_types.c:471,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:475,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/svg_types.c:481,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:486,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 56
    argCount: 3
    argNames:
    - type
    - value
    - sg
    argTypes:
    - u32
    - void*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 506
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 506
    functionName: gf_svg_delete_attribute_value
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_svg_reset_iri
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_smil_delete_times
    - gf_path_del
    - gf_free
    - svg_delete_one_anim_value
    - gf_svg_reset_animate_values
    - gf_svg_delete_paint
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_delete_attribute_value(u32 type, void *value, GF_SceneGraph
      *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:511,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:512,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_types.c:514,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/svg_types.c:516,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_types.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 517
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 517
    functionName: gf_smil_delete_key_types
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_delete_key_types(GF_List *l) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_types.c:231,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:249,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/scenegraph/svg_types.c:252,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:263,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/scenegraph/svg_types.c:296,1
    - Dst: gf_path_close
      Src: /src/gpac/src/scenegraph/svg_types.c:301,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/scenegraph/svg_types.c:277,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:275,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/scenegraph/svg_types.c:287,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:238,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/scenegraph/svg_types.c:240,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:235,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:261,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:259,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/scenegraph/svg_types.c:265,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:273,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_types.c:283,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 78
    argCount: 3
    argNames:
    - path
    - commands
    - points
    argTypes:
    - GF_Path*
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 305
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 305
    functionName: gf_svg_path_build
    functionSourceFile: /src/gpac/src/scenegraph/svg_types.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_path_add_quadratic_to
    - gf_list_count
    - gf_path_close
    - gf_path_add_line_to
    - gf_path_add_cubic_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_path_build(GF_Path *path, GF_List *commands, GF_List *points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:404,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - html_media_canPlayType
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_canPlayType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:417,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - html_media_fastSeek
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_fastSeek) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 450
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 450
    functionName: html_get_element_class
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *html_get_element_class(GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1126,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1131,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1129,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1127,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1133,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1134,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1135,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1137,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1139,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1139,1
    - Dst: JS_NewDouble
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1139,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames:
    - html_time_ranges_end
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1145
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - gf_list_get
    - DOUBLE_TO_JSVAL
    - JSVAL_TO_INT
    - JSVAL_IS_INT
    - SMJS_GET_PRIVATE
    - JS_NewDouble
    - SMJS_SET_RVAL
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_time_ranges_end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1177,1
    - Dst: SMJS_CHARS_FROM_STRING
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1178,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1180,1
    - Dst: JS_ValueToString
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1178,1
    - Dst: html_media_tracklist_get_track
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1179,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1182,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1182,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1187
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1187
    functionName: SMJS_ARGS
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - html_media_tracklist_get_track
    - OBJECT_TO_JSVAL
    - SMJS_FREE
    - SMJS_GET_PRIVATE
    - dom_throw_exception
    - SMJS_SET_RVAL
    - JS_ValueToString
    - SMJS_CHARS_FROM_STRING
    linkageType: ''
    returnType: SMJS_OBJ
    signature: "SMJS_OBJ SMJS_ARGS\tif (html_is_track_list(c, obj)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1237,1
    - Dst: gf_set_js_eventhandler
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1240
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1240
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - gf_set_js_eventhandler
    linkageType: ''
    returnType: SMJS_FUNC_PROP_SET(html_track_list_set_onchange)
    signature: 'static SMJS_FUNC_PROP_SET(html_track_list_set_onchange) if (html_is_track_list(c,
      obj)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1285,1
    - Dst: gf_set_js_eventhandler
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1288
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1288
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - gf_set_js_eventhandler
    linkageType: ''
    returnType: SMJS_FUNC_PROP_SET(html_track_list_set_onremovetrack)
    signature: 'static SMJS_FUNC_PROP_SET(html_track_list_set_onremovetrack) if (html_is_track_list(c,
      obj)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1336,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1338,1
    - Dst: SMJS_ID_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1337,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1340,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1342,1
    - Dst: JSVAL_TO_BOOLEAN
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1344,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1348,1
    - Dst: JSVAL_TO_BOOLEAN
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1355
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1355
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - SMJS_ID_IS_INT
    - JSVAL_TO_BOOLEAN
    - SMJS_GET_PRIVATE
    - SMJS_ID_TO_INT
    - dom_throw_exception
    linkageType: ''
    returnType: SMJS_FUNC_PROP_SET(html_track_set_property)
    signature: 'static SMJS_FUNC_PROP_SET(html_track_set_property) if (html_is_track_list(c,
      obj)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_add_listener
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - html_media_event_add_listener
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_add_listener
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_event_add_listener) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: gf_html_media_object
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'static GF_MediaObject *gf_html_media_object(GF_Node *n) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1301,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1304,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1323,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1310,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1297,1
    - Dst: SMJS_ID_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1296,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1307,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1314,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1313,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1318,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1301,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1304,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1324,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1310,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1295,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1299,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1307,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1314,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1319,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1329
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1329
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_ID_IS_INT
    - GF_JS_InstanceOf
    - BOOLEAN_TO_JSVAL
    - SMJS_GET_PRIVATE
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    - SMJS_ID_TO_INT
    - dom_throw_exception
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_get_property)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_get_property) if (html_is_track_list(c,
      obj)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:256,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:264,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:261,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:257,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:260,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:265,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:268,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:269,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:272,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:273,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:281,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:276,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:285,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:280,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:277,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - me
    - c
    - node_obj
    argTypes:
    - GF_HTML_MediaElement*
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: gf_html_media_element_init_js
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - JS_NewObject
    linkageType: ''
    returnType: void
    signature: 'static void gf_html_media_element_init_js(GF_HTML_MediaElement *me,
      JSContext *c, JSObject *node_obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - GF_JS_InstanceOf
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: SMJS_OBJ
    signature: "SMJS_OBJ if (GF_JS_InstanceOf(c, obj, &html_media_rt->htmlAudioElementClass,
      NULL) ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlVideoElementClass, NULL)
      ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlMediaElementClass, NULL)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:430,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - html_media_addTextTrack
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 436
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_addTextTrack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: html_media_element_get_from_node
      Src: /src/gpac/src/scenegraph/html5_media_js.c:478,1
    - Dst: gf_html_media_element_del
      Src: /src/gpac/src/scenegraph/html5_media_js.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: html_media_element_js_finalize
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - html_media_element_get_from_node
    - gf_html_media_element_del
    linkageType: ''
    returnType: void
    signature: 'void html_media_element_js_finalize(JSContext *c, GF_Node *n) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1365,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1370,1
    - Dst: SMJS_ID_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1369,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1372,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1374,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1377,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1377,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1381,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1384,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1384,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1388,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1394,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1396,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1397,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1396,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1391,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1395,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - (c, obj, &html_media_rt->htmlVideoElementClass, NULL)
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 1402
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1402
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_ID_IS_INT
    - gf_svg_dump_attribute
    - gf_node_get_attribute_by_name
    - INT_TO_JSVAL
    - gf_node_get_attribute_by_tag
    - SMJS_GET_PRIVATE
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    - SMJS_ID_TO_INT
    - FIX2FLT
    - dom_throw_exception
    - gf_free
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_video_get_property)
    signature: 'static SMJS_FUNC_PROP_GET(html_video_get_property) if (GF_JS_InstanceOf(c,
      obj, &html_media_rt->htmlVideoElementClass, NULL)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames:
    - html_media_event_dispatch
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1450
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_event_dispatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1459
    functionName: html_media_js_api_del
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void html_media_js_api_del() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:214,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:232,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:218,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_media_js.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - track
    - c
    - tracklist
    argTypes:
    - GF_HTML_Track*
    - JSContext*
    - GF_HTML_TrackList*
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: gf_html_track_init_js
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - JS_NewObject
    linkageType: ''
    returnType: void
    signature: 'static void gf_html_track_init_js(GF_HTML_Track *track, JSContext
      *c, GF_HTML_TrackList *tracklist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_media_element_new
      Src: /src/gpac/src/scenegraph/html5_media_js.c:464,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/scenegraph/html5_media_js.c:467,1
    - Dst: gf_html_media_element_init_js
      Src: /src/gpac/src/scenegraph/html5_media_js.c:465,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - c
    - node_obj
    - n
    argTypes:
    - JSContext*
    - JSObject*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: html_media_element_js_init
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_html_media_element_new
    - JS_DefineProperty
    - gf_html_media_element_init_js
    - OBJECT_TO_JSVAL
    linkageType: ''
    returnType: void
    signature: 'void html_media_element_js_init(JSContext *c, JSObject *node_obj,
      GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1211,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1214
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1214
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - INT_TO_JSVAL
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_list_get_selected_index)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_list_get_selected_index) if (html_is_track_list(c,
      obj)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1247,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_list_get_onaddtrack)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_list_get_onaddtrack) if (html_is_track_list(c,
      obj)) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_media_object
      Src: /src/gpac/src/scenegraph/html5_media_js.c:304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/html5_media_js.c:311,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:319,1
    - Dst: html_media_tracklist_has_track
      Src: /src/gpac/src/scenegraph/html5_media_js.c:325,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/html5_media_js.c:315,1
    - Dst: html_media_add_new_track_to_list
      Src: /src/gpac/src/scenegraph/html5_media_js.c:326,1
    - Dst: gf_html_track_init_js
      Src: /src/gpac/src/scenegraph/html5_media_js.c:328,1
    - Dst: html_media_tracklist_has_track
      Src: /src/gpac/src/scenegraph/html5_media_js.c:332,1
    - Dst: html_media_add_new_track_to_list
      Src: /src/gpac/src/scenegraph/html5_media_js.c:333,1
    - Dst: gf_html_track_init_js
      Src: /src/gpac/src/scenegraph/html5_media_js.c:335,1
    - Dst: html_media_tracklist_has_track
      Src: /src/gpac/src/scenegraph/html5_media_js.c:339,1
    - Dst: html_media_add_new_track_to_list
      Src: /src/gpac/src/scenegraph/html5_media_js.c:340,1
    - Dst: gf_html_track_init_js
      Src: /src/gpac/src/scenegraph/html5_media_js.c:342,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 2
    argNames:
    - c
    - me
    argTypes:
    - JSContext*
    - GF_HTML_MediaElement*
    constantsTouched: []
    func_position:
      end: 347
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 347
    functionName: html_media_element_populate_tracks
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - html_media_tracklist_has_track
    - gf_list_get
    - gf_html_media_object
    - gf_list_count
    - sprintf
    - html_media_add_new_track_to_list
    - gf_html_track_init_js
    linkageType: ''
    returnType: void
    signature: 'static void html_media_element_populate_tracks(JSContext *c, GF_HTML_MediaElement
      *me) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - GF_JS_InstanceOf
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: SMJS_OBJ
    signature: "SMJS_OBJ if (GF_JS_InstanceOf(c, obj, &html_media_rt->htmlAudioElementClass,
      NULL) ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlVideoElementClass, NULL)
      ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlMediaElementClass, NULL)) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:506,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:516,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:513,1
    - Dst: SMJS_ID_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:507,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:510,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:519,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:522,1
    - Dst: INT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - (c, obj, &html_media_rt->mediaErrorClass, NULL)
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 529
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 529
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - SMJS_ID_IS_INT
    - INT_TO_JSVAL
    - SMJS_ID_TO_INT
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_media_error_get_code)
    signature: 'static SMJS_FUNC_PROP_GET(html_media_error_get_code) if (GF_JS_InstanceOf(c,
      obj, &html_media_rt->mediaErrorClass, NULL)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - scene
    - type
    - node
    - param
    argTypes:
    - GF_SceneGraph*
    - u32
    - GF_Node*
    - GF_JSAPIParam*
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: ScriptAction
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool ScriptAction(GF_SceneGraph *scene, u32 type,
      GF_Node *node, GF_JSAPIParam *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 987
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 987
    functionName: html_media_get_audio_stack
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SVG_audio_stack*
    signature: 'static SVG_audio_stack *html_media_get_audio_stack(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1177,1
    - Dst: SMJS_CHARS_FROM_STRING
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1178,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1180,1
    - Dst: JS_ValueToString
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1178,1
    - Dst: html_media_tracklist_get_track
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1179,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1182,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1182,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1185,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames:
    - html_track_list_get_track_by_id
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1190
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - html_media_tracklist_get_track
    - OBJECT_TO_JSVAL
    - SMJS_FREE
    - SMJS_GET_PRIVATE
    - dom_throw_exception
    - SMJS_SET_RVAL
    - JS_ValueToString
    - SMJS_CHARS_FROM_STRING
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_track_list_get_track_by_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1261,1
    - Dst: gf_set_js_eventhandler
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - gf_set_js_eventhandler
    linkageType: ''
    returnType: SMJS_FUNC_PROP_SET(html_track_list_set_onaddtrack)
    signature: 'static SMJS_FUNC_PROP_SET(html_track_list_set_onaddtrack) if (html_is_track_list(c,
      obj)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1410,1
    - Dst: SMJS_CHARS_FROM_STRING
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1423,1
    - Dst: SMJS_ID_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1411,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1412,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1414,1
    - Dst: JS_ValueToString
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1423,1
    - Dst: gf_svg_set_attributeNS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1424,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - (c, obj, &html_media_rt->htmlVideoElementClass, NULL)
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 1430
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1430
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_ID_IS_INT
    - JS_ValueToString
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - gf_svg_set_attributeNS
    - SMJS_ID_TO_INT
    - dom_throw_exception
    - SMJS_CHARS_FROM_STRING
    linkageType: ''
    returnType: SMJS_FUNC_PROP_SET(html_video_set_property)
    signature: 'static SMJS_FUNC_PROP_SET(html_video_set_property) if (GF_JS_InstanceOf(c,
      obj, &html_media_rt->htmlVideoElementClass, NULL)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1148,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1150,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1152
    functionName: html_is_track_list
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: Bool
    signature: 'static Bool html_is_track_list(JSContext *c, JSObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_remove_listener
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - html_media_event_remove_listener
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1445
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_remove_listener
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_event_remove_listener) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:492,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:494,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:493,1
    - Dst: gf_dom_event_get_target_from_node
      Src: /src/gpac/src/scenegraph/html5_media_js.c:495,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - c
    - obj
    - target
    - sg
    argTypes:
    - JSContext*
    - JSObject*
    - GF_DOMEventTarget**
    - GF_SceneGraph**
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: gf_html_media_get_event_target
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - GF_JS_InstanceOf
    - gf_dom_event_get_target_from_node
    linkageType: ''
    returnType: void
    signature: 'void gf_html_media_get_event_target(JSContext *c, JSObject *obj, GF_DOMEventTarget
      **target, GF_SceneGraph **sg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1271,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1278
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1278
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_list_get_onremovetrack)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_list_get_onremovetrack) if (html_is_track_list(c,
      obj)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/html5_media_js.c:388,1
    - Dst: html_media_element_get_from_node
      Src: /src/gpac/src/scenegraph/html5_media_js.c:386,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/scenegraph/html5_media_js.c:391,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:385,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_media_js.c:392,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:395,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames:
    - html_media_load
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_JS_InstanceOf
    - html_media_element_get_from_node
    - SMJS_GET_PRIVATE
    - gf_mo_register
    - gf_free
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_media_load) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/html5_media_js.c:388,1
    - Dst: html_media_element_get_from_node
      Src: /src/gpac/src/scenegraph/html5_media_js.c:386,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/scenegraph/html5_media_js.c:391,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:385,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_media_js.c:392,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - GF_JS_InstanceOf
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 394
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 394
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_JS_InstanceOf
    - html_media_element_get_from_node
    - SMJS_GET_PRIVATE
    - gf_mo_register
    - gf_free
    linkageType: ''
    returnType: SMJS_OBJ
    signature: "SMJS_OBJ if (GF_JS_InstanceOf(c, obj, &html_media_rt->htmlAudioElementClass,
      NULL) ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlVideoElementClass, NULL)
      ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlMediaElementClass, NULL)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - GF_JS_InstanceOf
    argTypes:
    - GF_JS_InstanceOf
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: SMJS_OBJ
    signature: "SMJS_OBJ if (GF_JS_InstanceOf(c, obj, &html_media_rt->htmlAudioElementClass,
      NULL) ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlVideoElementClass, NULL)
      ||\t GF_JS_InstanceOf(c, obj, &html_media_rt->htmlMediaElementClass, NULL)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (*vp)
    argTypes:
    - JSVAL_IS_NUMBER
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    linkageType: ''
    returnType: HTML_MEDIA_JS_START
    signature: 'HTML_MEDIA_JS_START if (!JSVAL_IS_NUMBER(*vp)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1100,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1101,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1107,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1103,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1105,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1109,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1111,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1113,1
    - Dst: DOUBLE_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1113,1
    - Dst: JS_NewDouble
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1113,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames:
    - html_time_ranges_start
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1119
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - gf_list_get
    - DOUBLE_TO_JSVAL
    - JSVAL_TO_INT
    - JSVAL_IS_INT
    - SMJS_GET_PRIVATE
    - JS_NewDouble
    - SMJS_SET_RVAL
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_time_ranges_start) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1197,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1201,1
    - Dst: SMJS_ID_TO_INT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1199,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1204
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1204
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_ID_TO_INT
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_list_get_property)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_list_get_property) if (html_is_track_list(c,
      obj)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1221,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - (c, obj)
    argTypes:
    - html_is_track_list
    constantsTouched: []
    func_position:
      end: 1228
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1228
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    linkageType: ''
    returnType: SMJS_FUNC_PROP_GET(html_track_list_get_onchange)
    signature: 'static SMJS_FUNC_PROP_GET(html_track_list_get_onchange) if (html_is_track_list(c,
      obj)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/html5_media_js.c:601,1
    - Dst: gf_odm_collect_buffer_info
      Src: /src/gpac/src/scenegraph/html5_media_js.c:603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - mo
    - readyState
    - networkState
    argTypes:
    - GF_MediaObject*
    - GF_HTML_MediaReadyState*
    - GF_HTML_NetworkState*
    constantsTouched: []
    func_position:
      end: 623
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 623
    functionName: html_media_get_states
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - gf_odm_collect_buffer_info
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void html_media_get_states(GF_MediaObject *mo, GF_HTML_MediaReadyState
      *readyState, GF_HTML_NetworkState *networkState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_media_js.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (*vp)
    argTypes:
    - JSVAL_IS_NUMBER
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    linkageType: ''
    returnType: HTML_MEDIA_JS_START
    signature: 'HTML_MEDIA_JS_START if (!JSVAL_IS_NUMBER(*vp)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1548,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1565,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1582,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1586,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1599,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1662,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1670,1
    - Dst: dom_js_get_element_proto
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1672,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1694,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1602,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1668,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1478,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1485,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1492,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1494,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1496,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1517,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1528,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1513,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1511,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1583,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1664,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1667,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1703,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1608,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1674,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1702,1
    - Dst: html_media_source_init_js_api
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1705,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1464,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1481,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1497,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1562,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1579,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1580,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1595,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1611,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1666,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1677,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1690,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1673,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1688,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1700,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1669,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1661,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1480,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1493,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1500,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1530,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1534,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1547,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1551,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1561,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1564,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1568,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1665,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1614,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1663,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1691,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_media_js.c:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 281
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1707
    functionName: html_media_init_js_api
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InitClass
    - JS_SETUP_CLASS
    - SMJS_FUNCTION_SPEC
    - GF_LOG
    - GF_SAFEALLOC
    - dom_js_get_element_proto
    - html_media_source_init_js_api
    linkageType: ''
    returnType: void
    signature: 'void html_media_init_js_api(GF_SceneGraph *scene) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/scenegraph/html5_media_js.c:369,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/src/scenegraph/html5_media_js.c:370,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_media_js.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: html_media_element_get_from_node
    functionSourceFile: /src/gpac/src/scenegraph/html5_media_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - JS_GetProperty
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: GF_HTML_MediaElement*
    signature: 'static GF_HTML_MediaElement *html_media_element_get_from_node(JSContext
      *c, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:58,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:59,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:66,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:69,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:75,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:76,1
    - Dst: gf_sg_get_namespace
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:89,1
    - Dst: gf_sg_xml_node_clone
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:93,1
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:94,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:60,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:70,1
    - Dst: gf_node_remove_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:84,1
    - Dst: gf_sg_get_parent
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:91,1
    - Dst: gf_node_get_attribute_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:92,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:61,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:67,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:71,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:90,1
    - Dst: gf_smil_get_media_duration
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:97,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:52,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:55,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:62,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:68,1
    - Dst: node_modif_stub
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:83,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:82,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:85,1
    - Dst: gf_node_get_parent_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:86,1
    - Dst: gf_node_get_num_instances
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:87,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:88,1
    - Dst: gf_smil_timing_pause
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:95,1
    - Dst: gf_smil_timing_resume
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 101
    functionName: gf_sg_new
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_num_instances
    - gf_sg_get_parent
    - GF_SAFEALLOC
    - gf_node_get_parent_count
    - node_modif_stub
    - gf_node_parent_of
    - gf_smil_timing_pause
    - gf_node_list_get_child
    - gf_list_new
    - gf_dom_flatten_textContent
    - gf_mx_new
    - gf_node_get_log_name
    - gf_sg_xml_node_clone
    - gf_smil_get_media_duration
    - gf_node_remove_id
    - gf_node_get_attribute_count
    - gf_dom_event_target_new
    - gf_sys_is_cov_mode
    - gf_smil_timing_resume
    - gf_sg_get_namespace
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneGraph *gf_sg_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2090,1
    - Dst: gf_sg_x3d_node_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2100,1
    - Dst: gf_sg_mpeg4_node_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2098,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2108,1
    - Dst: gf_node_get_field_by_name_enum
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2093,1
    - Dst: gf_node_get_field_by_name_enum
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2096,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - node
    - name
    - field
    argTypes:
    - GF_Node*
    - char*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2109
    functionName: gf_node_get_field_by_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_field_by_name_enum
    - gf_node_get_attribute_by_name
    - gf_node_get_field
    - gf_sg_mpeg4_node_get_field_index_by_name
    - gf_sg_proto_get_field_index_by_name
    - gf_sg_x3d_node_get_field_index_by_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_get_field_by_name(GF_Node *node, char *name,
      GF_FieldInfo *field) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: gf_sg_new_subscene
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneGraph *gf_sg_new_subscene(GF_SceneGraph *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - cookie
    argTypes:
    - GF_SceneGraph*
    - Bool*
    constantsTouched: []
    func_position:
      end: 2533
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2533
    functionName: gf_sg_set_destroy_cookie
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_set_destroy_cookie(GF_SceneGraph *sg, Bool *cookie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: gf_node_get_name_address
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *gf_node_get_name_address(GF_Node*node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:662,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - sg
    - pNode
    - parentNode
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 665
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 665
    functionName: gf_node_try_destroy
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_list_find
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_try_destroy(GF_SceneGraph *sg, GF_Node *pNode, GF_Node
      *parentNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1964,1
    - Dst: gf_xml_get_element_tag
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1975,1
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - name
    - ns
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1980
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1980
    functionName: gf_sg_node_get_tag_by_class_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_mpeg4_type_by_class_name
    - gf_node_x3d_type_by_class_name
    - gf_xml_get_element_tag
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_node_get_tag_by_class_name(const char *name, u32 ns) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:693,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:701,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:711,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:725,1
    - Dst: remove_node_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:730,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:737,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:739,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:746,1
    - Dst: gf_node_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:755,1
    - Dst: gf_node_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:758,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 2
    argNames:
    - pNode
    - parentNode
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 761
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 761
    functionName: gf_node_unregister
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_route_del
    - gf_node_del
    - gf_list_del_item
    - remove_node_id
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_unregister(GF_Node *pNode, GF_Node *parentNode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1076,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1078,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1078,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1078,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1097,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1104,1
    - Dst: gf_sg_proto_instantiate
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1108,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1113,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1127,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1127,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - node
    - renderStack
    argTypes:
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1135
    functionName: gf_node_traverse
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - gf_node_traverse
    - gf_node_dirty_set
    - GF_LOG
    - gf_sg_proto_instantiate
    - gf_node_get_class_name
    - gf_assert
    - gf_node_dirty_clear
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_traverse(GF_Node *node, void *renderStack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirty_parents
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pOwningProto
    argTypes:
    - node
    constantsTouched: []
    func_position:
      end: 1714
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1714
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - dirty_parents
    linkageType: ''
    returnType: else
    signature: 'else if (node->sgprivate->scenegraph->pOwningProto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove_node_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1062
    functionName: gf_node_remove_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - remove_node_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_remove_id(GF_Node *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dirty_parents
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - node
    - flags
    - and_dirty_parents
    argTypes:
    - GF_Node*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1736
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1736
    functionName: gf_node_dirty_set
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - dirty_parents
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_dirty_set(GF_Node *node, u32 flags, Bool and_dirty_parents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirty_parents
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: gf_node_dirty_parents
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - dirty_parents
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_dirty_parents(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - sg
    - node
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: SG_SearchForNode
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE*
    signature: 'GFINLINE GF_Node *SG_SearchForNode(GF_SceneGraph *sg, GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:907,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - FromNode
    - old_node
    - newNode
    argTypes:
    - GF_Node*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 911
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 911
    functionName: ReplaceIRINode
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ReplaceIRINode(GF_Node *FromNode, GF_Node *old_node, GF_Node
      *newNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dirty_children
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1767,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - node
    - reset_children
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1774
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1774
    functionName: gf_node_dirty_reset
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - dirty_children
    - gf_node_dirty_reset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_dirty_reset(GF_Node *node, Bool reset_children) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1808,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1812,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1825,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1820,1
    - Dst: gf_sg_vrml_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1832,1
    - Dst: gf_svg_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1836,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 3
    argNames:
    - node
    - field
    - notify_scripts
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 1844
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1844
    functionName: gf_node_changed_internal
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sg_vrml_node_changed
    - gf_sg_vrml_is_sf_field
    - gf_assert
    - gf_svg_node_changed
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'void gf_node_changed_internal(GF_Node *node, GF_FieldInfo *field,
      Bool notify_scripts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - node
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: gf_sg_set_root_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_root_node(GF_SceneGraph *sg, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:877,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:883,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - sg
    - old_node
    - newNode
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 889
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 889
    functionName: Replace_IRI
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void Replace_IRI(GF_SceneGraph *sg, GF_Node *old_node, GF_Node
      *newNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:636,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:637,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:650,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:652,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - sg
    - node
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 656
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 656
    functionName: remove_node_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void remove_node_id(GF_SceneGraph *sg, GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1782,1
    - Dst: gf_sg_vrml_node_init
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1790,1
    - Dst: gf_svg_node_init
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1799
    functionName: gf_node_init
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_svg_node_init
    - gf_assert
    - gf_sg_vrml_node_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_init(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_changed_internal
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1849,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1863
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1863
    functionName: gf_node_changed
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_changed_internal
    - gf_dom_event_fire
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_changed(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1487,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - list
    - n
    - last_child
    argTypes:
    - GF_ChildNodeItem**
    - GF_Node*
    - GF_ChildNodeItem**
    constantsTouched: []
    func_position:
      end: 1507
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1507
    functionName: gf_node_list_add_child_last
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_list_add_child_last(GF_ChildNodeItem **list,
      GF_Node *n, GF_ChildNodeItem **last_child) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1518,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GF_ChildNodeItem**
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1533
    functionName: gf_node_list_del_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_node_list_del_child(GF_ChildNodeItem **list, GF_Node
      *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1304
    functionName: gf_node_get_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_node_get_name(GF_Node*p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - NodeCallback
    argTypes:
    - GF_SceneGraph*
    - gf_sg_node_init_callback
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gf_sg_set_node_callback
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_node_callback(GF_SceneGraph *sg, gf_sg_node_init_callback
      NodeCallback) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:218,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:227,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:220,1
    - Dst: SG_GraphRemoved
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:232,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:241,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:246,1
    - Dst: SG_GraphRemoved
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:257,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:261,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:262,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:284,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:289,1
    - Dst: SG_GraphRemoved
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:291,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:269,1
    - Dst: SG_GraphRemoved
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:274,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 2
    argNames:
    - node
    - sg
    argTypes:
    - GF_Node*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 302
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 302
    functionName: SG_GraphRemoved
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - SG_GraphRemoved
    - gf_list_count
    - gf_list_enum
    - gf_node_get_field
    - gf_node_get_field_count
    - gf_free
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'void SG_GraphRemoved(GF_Node *node, GF_SceneGraph *sg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    functionName: gf_node_allow_cyclic_traverse
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_allow_cyclic_traverse(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1870,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1872,1
    - Dst: gf_sg_parent_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1885,1
    - Dst: gf_sg_proto_del_instance
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1898,1
    - Dst: gf_sg_x3d_node_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1903,1
    - Dst: gf_svg_node_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1908,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1867,1
    - Dst: gf_sg_parent_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1871,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1878,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1880,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1881,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1884,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1893,1
    - Dst: gf_sg_mpeg4_node_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1901,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1876,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1895,1
    - Dst: if
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1903,1
    - Dst: gf_sg_parent_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1894,1
    - Dst: gf_node_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1886,1
    - Dst: gf_node_delete_attributes
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1891,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1911
    functionName: gf_node_del
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_x3d_node_del
    - gf_sg_command_del
    - gf_list_get
    - gf_sg_proto_del_instance
    - gf_list_del
    - gf_svg_node_del
    - gf_list_count
    - gf_sg_mpeg4_node_del
    - if
    - gf_free
    - gf_sg_parent_reset
    - gf_node_free
    - gf_node_delete_attributes
    linkageType: ''
    returnType: void
    signature: 'void gf_node_del(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2117,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - anim
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2123
    functionName: gf_node_get_log_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_node_get_log_name(GF_Node *anim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_deactivate_ex
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2162,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2165
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2165
    functionName: gf_node_deactivate
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_node_deactivate_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_deactivate(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2354,1
    - Dst: gf_node_vrml_dump_attribute
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2360,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - n
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2364
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2364
    functionName: gf_node_dump_attribute
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_vrml_dump_attribute
    - gf_svg_dump_attribute
    - gf_node_get_tag
    linkageType: ''
    returnType: char*
    signature: 'char *gf_node_dump_attribute(GF_Node *n, GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1916,1
    - Dst: gf_node_get_attribute_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1923,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1926
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1926
    functionName: gf_node_get_field_count
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_count
    - gf_assert
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_get_field_count(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - sg
    - node
    - info
    - script
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: node_modif_stub
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void node_modif_stub(GF_SceneGraph *sg, GF_Node *node, GF_FieldInfo
      *info, GF_Node *script) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - (*GetSceneTime)
    argTypes:
    - GF_SceneGraph*
    - Double
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: gf_sg_set_scene_time_callback
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_scene_time_callback(GF_SceneGraph *sg, Double
      (*GetSceneTime)(void *user_priv)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - node
    - 'on'
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1161
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1161
    functionName: gf_node_set_cyclic_traverse_flag
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_node_set_cyclic_traverse_flag(GF_Node *node, Bool
      on) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - GF_Node*
    - u32*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1333
    functionName: gf_node_get_name_and_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_node_get_name_and_id(GF_Node*p, u32 *id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2139,1
    - Dst: gf_node_deactivate_ex
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2153,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2158
    functionName: gf_node_deactivate_ex
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_svg_is_timing_tag
    - gf_node_deactivate_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_node_deactivate_ex(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2181,1
    - Dst: gf_node_activate_ex
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2195,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2200
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2200
    functionName: gf_node_activate_ex
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_activate_ex
    - gf_svg_is_timing_tag
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_node_activate_ex(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GF_ChildNodeItem*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1457
    functionName: gf_node_list_find_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_node_list_find_child(GF_ChildNodeItem *list, GF_Node
      *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2000,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - TAG_DOMText
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 2004
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2004
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: else
    signature: 'else if (tag == TAG_DOMText) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - sg
    - xmlns_id
    argTypes:
    - GF_SceneGraph*
    - GF_NamespaceType
    constantsTouched: []
    func_position:
      end: 2347
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2347
    functionName: gf_sg_get_namespace
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_sg_get_namespace(GF_SceneGraph *sg, GF_NamespaceType
      xmlns_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GF_ChildNodeItem**
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1477
    functionName: gf_node_list_add_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_list_add_child(GF_ChildNodeItem **list, GF_Node
      *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1725
    functionName: gf_node_dirty_parent_graph
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_dirty_parent_graph(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2007,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - TAG_DOMFullNode
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 2011
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2011
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_node_setup
    linkageType: ''
    returnType: else
    signature: 'else if (tag == TAG_DOMFullNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - sg
    - nodeID
    - toExclude
    argTypes:
    - GF_SceneGraph*
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 551
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 551
    functionName: SG_SearchForDuplicateNodeID
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE*
    signature: 'GFINLINE GF_Node *SG_SearchForDuplicateNodeID(GF_SceneGraph *sg, u32
      nodeID, GF_Node *toExclude) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1366,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - container
    - child
    argTypes:
    - GF_Node*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1371
    functionName: gf_node_unregister_children
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_unregister_children(GF_Node *container, GF_ChildNodeItem
      *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: gf_sg_parent_reset
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_parent_reset(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1379,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - list
    - n
    - pos
    argTypes:
    - GF_ChildNodeItem**
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1403
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1403
    functionName: gf_node_list_insert_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_list_insert_child(GF_ChildNodeItem **list,
      GF_Node *n, u32 pos) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_event_target_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1599,1
    - Dst: gf_dom_event_remove_all_listeners
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1598,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1594,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1602,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1609,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1610,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1613,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1616,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1617,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1615,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1618
    functionName: gf_node_free
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_del
    - gf_dom_event_target_del
    - gf_free
    - gf_dom_event_remove_all_listeners
    linkageType: ''
    returnType: void
    signature: 'void gf_node_free(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - ptr
    argTypes:
    - GF_SceneGraph*
    - void*
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: gf_sg_set_private
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_private(GF_SceneGraph *sg, void *ptr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2466,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2471,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2487,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2508,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2468,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2477,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2479,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2488,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2499,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2514,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2493,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2506,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2497,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2512,1
    - Dst: gf_sg_load_dom_node
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2515,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2476,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2471,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2481,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2486,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2500,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2491,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 3
    argNames:
    - document
    - n
    - par
    argTypes:
    - GF_SceneGraph*
    - GF_XMLNode*
    - GF_DOMFullNode*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2522
    functionName: gf_sg_load_dom_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dom_add_text_node
    - gf_list_get
    - gf_node_register
    - gf_node_list_add_child
    - gf_sg_load_dom_node
    - gf_svg_create_attribute_value
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - gf_node_set_id
    - gf_sg_get_max_node_id
    - gf_node_new
    - strchr
    - GF_SAFEALLOC
    - stricmp
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sg_load_dom_node(GF_SceneGraph *document, GF_XMLNode
      *n, GF_DOMFullNode *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: gf_sg_get_private
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_sg_get_private(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_load_dom_node
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - document
    - root_node
    argTypes:
    - GF_SceneGraph*
    - GF_DOMXMLNODE
    constantsTouched: []
    func_position:
      end: 2527
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2527
    functionName: gf_sg_init_from_xml_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_load_dom_node
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_init_from_xml_node(GF_SceneGraph *document, GF_DOMXMLNODE
      root_node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Replace_IRI
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:929,1
    - Dst: ReplaceDEFNode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:954,1
    - Dst: ReplaceIRINode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:951,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:956,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:940,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:957,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:958,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:964,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:970,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:972,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - node
    - new_node
    - updateOrderedGroup
    argTypes:
    - GF_Node*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 976
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 976
    functionName: gf_node_replace
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - Replace_IRI
    - gf_list_find
    - ReplaceIRINode
    - ReplaceDEFNode
    - gf_node_register
    - gf_list_del_item
    - gf_node_changed
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_replace(GF_Node *node, GF_Node *new_node,
      Bool updateOrderedGroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1169,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - node
    - renderStack
    argTypes:
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: gf_node_traverse_children
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_node_traverse
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_traverse_children(GF_Node *node, void *renderStack) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_activate_ex
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2205,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2208
    functionName: gf_node_activate
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_node_activate_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_activate(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    functionName: gf_node_get_graph
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneGraph *gf_node_get_graph(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - list
    - pos
    argTypes:
    - GF_ChildNodeItem*
    - s32
    constantsTouched: []
    func_position:
      end: 1445
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1445
    functionName: gf_node_list_get_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_list_get_child(GF_ChildNodeItem *list,
      s32 pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vrml_node_clone
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2217,1
    - Dst: gf_sg_xml_node_clone
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - inScene
    - orig
    - cloned_parent
    - id
    - deep
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_Node*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2228
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2228
    functionName: gf_node_clone
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_xml_node_clone
    - gf_vrml_node_clone
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_clone(GF_SceneGraph *inScene, GF_Node *orig,
      GF_Node *cloned_parent, char *id, Bool deep) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:801,1
    - Dst: gf_sg_vrml_mf_remove
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:839,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:830,1
    - Dst: gf_node_changed_internal
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:840,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:803,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:869,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 4
    argNames:
    - FromNode
    - node
    - newNode
    - updateOrderedGroup
    argTypes:
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 870
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 870
    functionName: ReplaceDEFNode
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_changed_internal
    - gf_node_list_del_child
    - gf_node_get_field
    - gf_sg_vrml_mf_remove
    - gf_node_get_field_count
    - gf_node_changed
    linkageType: ''
    returnType: void
    signature: 'static void ReplaceDEFNode(GF_Node *FromNode, GF_Node *node, GF_Node
      *newNode, Bool updateOrderedGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: gf_node_get_scene_time
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_node_get_scene_time(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:772,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:778,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:784,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - node
    - parentNode
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 788
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 788
    functionName: gf_node_register
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_register(GF_Node *node, GF_Node *parentNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: gf_node_get_private
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_node_get_private(GF_Node*p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1547,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1560,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - list
    - pos
    argTypes:
    - GF_ChildNodeItem**
    - u32
    constantsTouched: []
    func_position:
      end: 1564
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1564
    functionName: gf_node_list_del_child_idx
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_list_del_child_idx(GF_ChildNodeItem **list,
      u32 pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - node
    - flag_to_remove
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1750
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1750
    functionName: gf_node_dirty_clear
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_dirty_clear(GF_Node *node, u32 flag_to_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1757
    functionName: gf_node_dirty_get
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_dirty_get(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:158,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:169,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:168,1
    - Dst: gf_dom_event_target_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:167,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:163,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:170,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:171,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:172,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:176,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:178,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:191,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:196,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:197,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:192,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:193,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:190,1
    - Dst: gf_svg_script_context_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:183,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: gf_sg_del
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_svg_script_context_del
    - gf_list_del
    - gf_dom_event_target_del
    - gf_mx_del
    - gf_node_unregister
    - gf_free
    - gf_sg_reset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_del(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pr
    argTypes:
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1346
    functionName: gf_node_set_private
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_node_set_private(GF_Node*p, void *pr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1575
    functionName: gf_node_list_get_count
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_list_get_count(GF_ChildNodeItem *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1630
    functionName: gf_node_get_parent_count
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_get_parent_count(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_new_base_node
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1991,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2000,1
    - Dst: gf_sg_mpeg4_node_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1993,1
    - Dst: gf_sg_x3d_node_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1995,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2003,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2007,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2010,1
    - Dst: gf_svg_create_node
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2013,1
    - Dst: gf_sg_script_init
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2026,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - inScene
    - tag
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 2032
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2032
    functionName: gf_node_new
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_script_init
    - gf_sg_mpeg4_node_new
    - gf_sg_x3d_node_new
    - gf_svg_create_node
    - GF_SAFEALLOC
    - gf_sg_new_base_node
    - gf_node_setup
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_new(GF_SceneGraph *inScene, u32 tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - node
    - idx
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1649
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1649
    functionName: gf_node_get_parent
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_node_get_parent(GF_Node *node, u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2038,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2040,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2039,1
    - Dst: gf_sg_proto_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2045,1
    - Dst: gf_sg_script_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2047,1
    - Dst: gf_sg_script_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2050,1
    - Dst: gf_sg_mpeg4_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2052,1
    - Dst: gf_sg_x3d_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2054,1
    - Dst: gf_node_get_attribute_info
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2059,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - node
    - FieldIndex
    - info
    argTypes:
    - GF_Node*
    - u32
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2062
    functionName: gf_node_get_field
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - memset
    - gf_node_get_attribute_info
    - gf_sg_mpeg4_node_get_field
    - gf_sg_proto_get_field
    - gf_sg_x3d_node_get_field
    - gf_sg_script_get_field
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_get_field(GF_Node *node, u32 FieldIndex,
      GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_field_index_by_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - TAG_ProtoNode
    argTypes:
    - node
    constantsTouched: []
    func_position:
      end: 2091
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2091
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_field_index_by_name
    linkageType: ''
    returnType: else
    signature: 'else if (node->sgprivate->tag == TAG_ProtoNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: get_num_id_nodes
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 get_num_id_nodes(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - sg
    - width
    - height
    argTypes:
    - GF_SceneGraph*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: gf_sg_get_scene_size_info
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_get_scene_size_info(GF_SceneGraph *sg, u32 *width,
      u32 *height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:982,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:985,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - sg
    - def
    - ID
    - name
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1012
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1012
    functionName: insert_node_def
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_strdup
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void insert_node_def(GF_SceneGraph *sg, GF_Node *def,
      u32 ID, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2267,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2277,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2276,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2270,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2273,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2278,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2279,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - sg
    - ns_name
    - q_name
    argTypes:
    - GF_SceneGraph*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2285
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2285
    functionName: gf_sg_remove_namespace
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - strcmp
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_remove_namespace(GF_SceneGraph *sg, char *ns_name, char
      *q_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2445
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2445
    functionName: gf_sg_get_parent
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *gf_sg_get_parent(GF_SceneGraph *scene) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:361,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:374,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:383,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:378,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:386,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:396,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:403,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:463,1
    - Dst: get_num_id_nodes
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:476,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:526,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:513,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:528,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:338,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:353,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:348,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:354,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:363,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:369,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:384,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:393,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:480,1
    - Dst: get_num_id_nodes
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:481,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:486,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:352,1
    - Dst: SG_GraphRemoved
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:344,1
    - Dst: gf_dom_event_remove_all_listeners
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:371,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:399,1
    - Dst: ReplaceIRINode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:452,1
    - Dst: ReplaceDEFNode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:455,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:479,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:496,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:497,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:510,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:512,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:515,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:493,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:499,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:539,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:356,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:358,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:379,1
    - Dst: gf_dom_listener_reset_deferred
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:373,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:394,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:395,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:407,1
    - Dst: SG_SearchForNode
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:444,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:490,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:491,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:509,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:511,1
    - Dst: gf_sg_destroy_routes
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:503,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 115
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 540
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 540
    functionName: gf_sg_reset
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_destroy_routes
    - GF_LOG
    - ReplaceIRINode
    - gf_dom_listener_reset_deferred
    - gf_node_unregister
    - gf_node_replace
    - gf_list_del
    - gf_list_count
    - gf_list_new
    - gf_list_reset
    - gf_list_get
    - gf_mx_p
    - gf_sg_route_del
    - SG_SearchForNode
    - gf_mx_v
    - gf_free
    - gf_node_register
    - get_num_id_nodes
    - gf_sg_proto_del
    - SG_GraphRemoved
    - gf_list_rem
    - ReplaceDEFNode
    - gf_dom_event_remove_all_listeners
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_reset(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: gf_sg_get_root_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_sg_get_root_node(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert_node_def
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1031,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1038,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1035,1
    - Dst: insert_node_def
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1037,1
    - Dst: remove_node_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1036,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - p
    - ID
    - name
    argTypes:
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1041
    functionName: gf_node_set_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - remove_node_id
    - gf_strdup
    - insert_node_def
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_set_id(GF_Node *p, u32 ID, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2292,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2296,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - sg
    - qname
    argTypes:
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 2304
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2304
    functionName: gf_sg_get_namespace_code
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_NamespaceType
    signature: 'GF_NamespaceType gf_sg_get_namespace_code(GF_SceneGraph *sg, char
      *qname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1224
    functionName: gf_sg_get_next_available_node_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_get_next_available_node_id(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - list
    - last_child
    - n
    argTypes:
    - GF_ChildNodeItem**
    - GF_ChildNodeItem**
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1431
    functionName: gf_node_list_append_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_list_append_child(GF_ChildNodeItem **list, GF_ChildNodeItem
      **last_child, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - sg
    - width
    - height
    - usePixelMetrics
    argTypes:
    - GF_SceneGraph*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 591
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 591
    functionName: gf_sg_set_scene_size_info
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_scene_size_info(GF_SceneGraph *sg, u32 width,
      u32 height, Bool usePixelMetrics) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1263
    functionName: gf_node_get_tag
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_get_tag(GF_Node*p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2067
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2067
    functionName: gf_node_get_num_instances
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_node_get_num_instances(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: gf_sg_use_pixel_metrics
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_use_pixel_metrics(GF_SceneGraph *sg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    functionName: gf_sg_get_max_node_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_get_max_node_id(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1283
    functionName: gf_node_get_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_get_id(GF_Node*p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2072,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2076,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2074,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2073,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - node
    - name
    - field
    argTypes:
    - GF_Node*
    - char*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 2080
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2080
    functionName: gf_node_get_field_by_name_enum
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - memset
    - strcmp
    - gf_node_get_field
    - gf_node_get_field_count
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_node_get_field_by_name_enum(GF_Node *node, char *name,
      GF_FieldInfo *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - sg
    - nodeID
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 1193
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1193
    functionName: gf_sg_find_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_sg_find_node(GF_SceneGraph *sg, u32 nodeID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - p
    - (*TraverseNode)
    argTypes:
    - GF_Node*
    - void
    constantsTouched: []
    func_position:
      end: 1353
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1353
    functionName: gf_node_set_callback_function
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_set_callback_function(GF_Node *p, void (*TraverseNode)(GF_Node
      *node, void *render_stack, Bool is_destroy) ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1934,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1946,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1944,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1948,1
    - Dst: gf_sg_mpeg4_node_get_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1935,1
    - Dst: gf_sg_x3d_node_get_class_name
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1937,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1955
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1955
    functionName: gf_node_get_class_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - snprintf
    - return
    - gf_sg_get_namespace_qname
    - gf_sg_mpeg4_node_get_class_name
    - gf_sg_x3d_node_get_class_name
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_node_get_class_name(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1944,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1946,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - TAG_DOMFullNode
    argTypes:
    - node
    constantsTouched: []
    func_position:
      end: 1950
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1950
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_sg_get_namespace_qname
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: else
    signature: 'else if (node->sgprivate->tag==TAG_DOMFullNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2309,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2311,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - sg
    - name
    argTypes:
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2320
    functionName: gf_sg_get_namespace_code_from_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_NamespaceType
    signature: 'GF_NamespaceType gf_sg_get_namespace_code_from_name(GF_SceneGraph
      *sg, char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2393,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2403,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - node
    - container
    - pos
    - newNode
    argTypes:
    - GF_Node*
    - GF_ChildNodeItem**
    - s32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2406
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2406
    functionName: gf_node_replace_child
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_replace_child(GF_Node *node, GF_ChildNodeItem
      **container, s32 pos, GF_Node *newNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - sg
    - name
    argTypes:
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1206
    functionName: gf_sg_find_node_by_name
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_sg_find_node_by_name(GF_SceneGraph *sg, char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1359
    functionName: gf_sg_parent_setup
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_parent_setup(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dirty_children
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1661,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1667,1
    - Dst: dirty_children
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1672,1
    - Dst: dirty_children
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1668,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1678
    functionName: dirty_children
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_get_field
    - dirty_children
    - gf_node_get_field_count
    linkageType: ''
    returnType: void
    signature: 'static void dirty_children(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2325,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - sg
    - xmlns_id
    argTypes:
    - GF_SceneGraph*
    - GF_NamespaceType
    constantsTouched: []
    func_position:
      end: 2333
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2333
    functionName: gf_sg_get_namespace_qname
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_sg_get_namespace_qname(GF_SceneGraph *sg, GF_NamespaceType
      xmlns_id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2420,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2428,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2424,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2426,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 2
    argNames:
    - node
    - target
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2440
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2440
    functionName: gf_node_parent_of
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_node_parent_of
    - gf_node_get_field
    - gf_node_get_field_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_node_parent_of(GF_Node *node, GF_Node *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1245,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p
    - tag
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1250
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1250
    functionName: gf_node_setup
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void gf_node_setup(GF_Node *p, u32 tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2232,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2235,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2234,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2233,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2236,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2237,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2240
    functionName: gf_xml_get_namespace_id
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_NamespaceType
    signature: 'GF_NamespaceType gf_xml_get_namespace_id(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1254,1
    - Dst: gf_node_setup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1257
    functionName: gf_sg_new_base_node
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_node_setup
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sg_new_base_node() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_namespace_id
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2249,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2256,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2253,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2256,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2251,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2257,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2259,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/base_scenegraph.c:2260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - sg
    - name
    - qname
    argTypes:
    - GF_SceneGraph*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2261
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2261
    functionName: gf_sg_add_namespace
    functionSourceFile: /src/gpac/src/scenegraph/base_scenegraph.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - strlen
    - gf_crc_32
    - gf_strdup
    - gf_xml_get_namespace_id
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_add_namespace(GF_SceneGraph *sg, char *name,
      char *qname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2731,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2731,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2745,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2745,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2747,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2747,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2754,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/dom_js.c:2712,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2732,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2736,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2740,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2732,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2742,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2746,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2746,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2748,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:2718,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/dom_js.c:2713,1
    - Dst: define_dom_exception
      Src: /src/gpac/src/scenegraph/dom_js.c:2726,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2729,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2733,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2738,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2733,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2743,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2743,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2749,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_js.c:2721,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:2716,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:2722,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2730,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2730,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2744,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2744,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2749,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/dom_js.c:2752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - scene
    - c
    argTypes:
    - GF_SceneGraph*
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2755
    functionName: dom_js_load
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - SETUP_JSCLASS
    - JS_FreeValue
    - gf_list_new
    - GF_LOG
    - JS_NewInt32
    - GF_SAFEALLOC
    - define_dom_exception
    - JS_GetGlobalObject
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void dom_js_load(GF_SceneGraph *scene, JSContext *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1663,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1668,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1668,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1675
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1675
    functionName: dom_element_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_class_name
    - dom_get_node
    - JS_NewString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_element_getProperty(JSContext *c, JSValueConst
      obj, int magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2189,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2190,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2192,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2196,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2192,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2196,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2197,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/dom_js.c:2198,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2200,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/dom_js.c:2201,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scenegraph/dom_js.c:2203,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2206,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2210,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/scenegraph/dom_js.c:2211,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2207,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/dom_js.c:2211,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2215,1
    - Dst: gf_node_remove_id
      Src: /src/gpac/src/scenegraph/dom_js.c:2213,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2217
    functionName: xml_element_set_id
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_node_get_name_and_id
    - gf_node_set_id
    - JS_CHECK_STRING
    - gf_node_remove_id
    - GF_JS_EXCEPTION
    - gf_sg_get_max_node_id
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_set_id(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1684,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1686,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1696,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1723,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/scenegraph/dom_js.c:1742,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_js.c:1742,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1758,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1755,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1716,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/dom_js.c:1749,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1750,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1691,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1701,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1702,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1712,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1704,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1723,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/dom_js.c:1719,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1741,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:1745,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1748,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1751,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1683,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1693,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1694,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1701,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1720,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1728,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1757,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 86
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1760
    functionName: xml_element_get_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - gf_node_get_name
    - strlen
    - gf_svg_dump_attribute
    - JS_FreeCString
    - strncmp
    - gf_crc_32
    - gf_xml_get_element_namespace
    - JS_NewString
    - strcmp
    - gf_node_get_attribute_by_name
    - JS_CHECK_STRING
    - strchr
    - gf_free
    - gf_sg_get_namespace_code_from_name
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_get_attribute(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/dom_js.c:2222,1
    - Dst: gather_text
      Src: /src/gpac/src/scenegraph/dom_js.c:2226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - n
    - out_str
    argTypes:
    - GF_ParentNode*
    - char**
    constantsTouched: []
    func_position:
      end: 2230
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2230
    functionName: gather_text
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gather_text
    - gf_dynstrcat
    linkageType: ''
    returnType: void
    signature: 'static void gather_text(GF_ParentNode *n, char **out_str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1191,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_js.c:1193,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1196,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/scenegraph/dom_js.c:1193,1
    - Dst: node_lookup_namespace_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1203,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_js.c:1203,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - node
    - tag
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1204
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1204
    functionName: node_lookup_namespace_by_tag
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - strlen
    - gf_crc_32
    - strncmp
    - strcmp
    - node_lookup_namespace_by_tag
    linkageType: ''
    returnType: char*
    signature: 'static const char *node_lookup_namespace_by_tag(GF_Node *node, u32
      tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/dom_js.c:2829,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2833
    functionName: dom_js_unload
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void dom_js_unload() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:325,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:344,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:343,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:326,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:345,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - c
    - sg
    argTypes:
    - JSContext*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: dom_document_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_document_construct(JSContext *c, GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_node_finalize
      Src: /src/gpac/src/scenegraph/dom_js.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1659
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1659
    functionName: dom_element_finalize
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_node_finalize
    linkageType: ''
    returnType: void
    signature: 'void dom_element_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2310,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2314
    functionName: event_stop_immediate_propagation
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue event_stop_immediate_propagation(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:992,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:997,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:995,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1000,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:993,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1002,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1005,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/dom_js.c:1005,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1006,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1009,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1020,1
    - Dst: gf_node_list_find_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1018,1
    - Dst: dom_node_inserted
      Src: /src/gpac/src/scenegraph/dom_js.c:1023,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:1024,1
    - Dst: check_dom_parents
      Src: /src/gpac/src/scenegraph/dom_js.c:1013,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1011,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1014,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1025
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1025
    functionName: xml_node_insert_before
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - gf_node_list_find_child
    - JS_IsNull
    - gf_node_get_tag
    - js_throw_err
    - check_dom_parents
    - JS_DupValue
    - JS_IsObject
    - dom_node_inserted
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_insert_before(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: dom_get_element
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *dom_get_element(JSContext *c, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_js_define_document_ex
      Src: /src/gpac/src/scenegraph/dom_js.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - c
    - global
    - doc
    argTypes:
    - JSContext*
    - JSValue
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: dom_js_define_document
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_js_define_document_ex
    linkageType: ''
    returnType: void
    signature: 'void dom_js_define_document(JSContext *c, JSValue global, GF_SceneGraph
      *doc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_document_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - sg
    argTypes:
    - JSContext*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: dom_document_construct_external
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_document_construct
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_document_construct_external(JSContext *c, GF_SceneGraph
      *sg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_js.c:465,1
    - Dst: gf_node_list_find_child
      Src: /src/gpac/src/scenegraph/dom_js.c:468,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:497,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:477,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/dom_js.c:477,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - c
    - n
    - is_prev
    - elt_only
    argTypes:
    - JSContext*
    - GF_Node*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 498
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 498
    functionName: dom_node_get_sibling
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_node_list_find_child
    - gf_node_list_get_child
    - dom_node_construct
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_node_get_sibling(JSContext *c, GF_Node *n, Bool is_prev,
      Bool elt_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2317,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: event_prevent_default
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue event_prevent_default(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: dom_get_doc
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *dom_get_doc(JSContext *c, JSValue obj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:366,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:367,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:374,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:373,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:375,1
    - Dst: html_media_element_js_init
      Src: /src/gpac/src/scenegraph/dom_js.c:380,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:385,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:391,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:396,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/dom_js.c:397,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - c
    - class_id
    - n
    argTypes:
    - JSContext*
    - JSClassID
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 399
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 399
    functionName: dom_base_node_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - html_media_element_js_init
    - GF_SAFEALLOC
    - gf_node_register
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_base_node_construct(JSContext *c, JSClassID class_id,
      GF_Node *n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1032,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1033,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1035,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1037,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1040,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1042,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1044,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1046,1
    - Dst: check_dom_parents
      Src: /src/gpac/src/scenegraph/dom_js.c:1049,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1050,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:1054,1
    - Dst: dom_node_inserted
      Src: /src/gpac/src/scenegraph/dom_js.c:1053,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1055
    functionName: xml_node_append_child
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - gf_node_get_tag
    - js_throw_err
    - check_dom_parents
    - JS_DupValue
    - JS_IsObject
    - dom_node_inserted
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_append_child(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1632,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1634,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1635,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1634,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1633,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1642,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1650,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1651,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1653
    functionName: xml_document_element_by_id
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - strcmp
    - JS_CHECK_STRING
    - dom_element_construct
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_document_element_by_id(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:1444,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scenegraph/dom_js.c:1463,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:1449,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1451,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/dom_js.c:1450,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1465
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1465
    functionName: dom_document_finalize
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - gf_sg_del
    - JS_SetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dom_document_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1403,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1413,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1405,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1407,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1410,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1414,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1415,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1416,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1417,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1426,1
    - Dst: dom_node_set_textContent
      Src: /src/gpac/src/scenegraph/dom_js.c:1427,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1428,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1434
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1434
    functionName: dom_node_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_tag
    - gf_strdup
    - JS_CHECK_STRING
    - dom_node_set_textContent
    - gf_free
    - GF_JS_EXCEPTION
    - dom_node_changed
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_node_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/dom_js.c:202,1
    - Dst: gf_svg_get_modification_flags
      Src: /src/gpac/src/scenegraph/dom_js.c:206,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/dom_js.c:207,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - n
    - child_modif
    - info
    argTypes:
    - GF_Node*
    - Bool
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: dom_node_changed
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_svg_get_modification_flags
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void dom_node_changed(GF_Node *n, Bool child_modif, GF_FieldInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:3129,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/dom_js.c:3135,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_js.c:3131,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/scenegraph/dom_js.c:3134,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/scenegraph/dom_js.c:3133,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/scenegraph/dom_js.c:3136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - src
    - scene
    argTypes:
    - char*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 3139
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3139
    functionName: gf_sg_reload_xml_doc
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - memset
    - gf_list_del
    - gf_xml_sax_parse_file
    - gf_xml_sax_del
    - gf_list_new
    - gf_xml_sax_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_reload_xml_doc(const char *src, GF_SceneGraph *scene) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sg_js_parse_event_args
      Src: /src/gpac/src/scenegraph/dom_js.c:805,1
    - Dst: gf_sg_listener_associate
      Src: /src/gpac/src/scenegraph/dom_js.c:819,1
    - Dst: create_listener
      Src: /src/gpac/src/scenegraph/dom_js.c:812,1
    - Dst: gf_sg_listener_post_add
      Src: /src/gpac/src/scenegraph/dom_js.c:817,1
    - Dst: sg_js_get_event_target
      Src: /src/gpac/src/scenegraph/dom_js.c:809,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:823,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:825,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 17
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - vrml_node
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 827
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 827
    functionName: gf_sg_js_event_add_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_sg_listener_associate
    - gf_sg_listener_post_add
    - js_throw_err
    - sg_js_parse_event_args
    - create_listener
    - gf_free
    - sg_js_get_event_target
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue gf_sg_js_event_add_listener(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv, GF_Node *vrml_node) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:683,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:686,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:684,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:687,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:689,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:690,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/dom_js.c:691,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/dom_js.c:702,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:716,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:678,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:694,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:697,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:709,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:715,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:706,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:714,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:679,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:701,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:710,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 55
    argCount: 8
    argNames:
    - c
    - obj
    - argc
    - argv
    - evtType
    - callback
    - funval
    - evt_handler
    argTypes:
    - JSContext*
    - JSValue
    - int
    - JSValue*
    - GF_EventType*
    - char**
    - JSValue*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 722
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 722
    functionName: sg_js_parse_event_args
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_IsFunction
    - gf_strdup
    - JS_CHECK_STRING
    - JS_DupValue
    - gf_dom_event_type_by_name
    - gf_free
    - JS_IsObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sg_js_parse_event_args(JSContext *c, JSValue obj, int
      argc, JSValue *argv, GF_EventType *evtType, char **callback, JSValue *funval,
      JSValue *evt_handler) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_js.c:733,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_js.c:738,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:740,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:744,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/dom_js.c:741,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/dom_js.c:748,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:750,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/dom_js.c:752,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:760,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:762,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:772,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/dom_js.c:780,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:765,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:769,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/dom_js.c:772,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 8
    argNames:
    - sg
    - evtType
    - n
    - vrml_node
    - c
    - callback
    - funval
    - evt_handler
    argTypes:
    - GF_SceneGraph*
    - GF_EventType
    - GF_Node*
    - GF_Node*
    - JSContext*
    - char*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 789
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 789
    functionName: create_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_list_add_child
    - gf_dom_add_text_node
    - JS_IsFunction
    - gf_strdup
    - gf_node_get_attribute_by_tag
    - JS_DupValue
    - gf_node_new
    - GF_SAFEALLOC
    - gf_node_register
    - gf_assert
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *create_listener(GF_SceneGraph *sg, GF_EventType evtType,
      GF_Node *n, GF_Node *vrml_node, JSContext *c, char *callback, JSValue funval,
      JSValue evt_handler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:2852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2853
    functionName: gf_dom_new_event
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue gf_dom_new_event(JSContext *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2858
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2858
    functionName: dom_js_get_element_proto
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSClassID
    signature: 'JSClassID dom_js_get_element_proto(JSContext *c) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/dom_js.c:2930,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2959,1
    - Dst: gf_sg_get_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2959,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/dom_js.c:2974,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/dom_js.c:2977,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2973,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2991,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2997,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:3000,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:3021,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:3051,1
    - Dst: gf_sg_get_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2939,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2939,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2938,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_js.c:2970,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:2978,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2992,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2993,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2999,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/dom_js.c:3031,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:3036,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_js.c:3055,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2942,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:2943,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2946,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2947,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2958,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/dom_js.c:2983,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/dom_js.c:2979,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:2971,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/scenegraph/dom_js.c:3030,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:3040,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/dom_js.c:3029,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2995,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:3020,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:3024,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:3034,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:3041,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 126
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 3057
      start: 2917
    functionDepth: 0
    functionLinenumber: 2917
    functionLinenumberEnd: 3057
    functionName: xml_reload_node_start
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - GF_LOG
    - gf_node_set_id
    - gf_node_new
    - GF_SAFEALLOC
    - gf_sg_get_namespace_code_from_name
    - gf_list_last
    - gf_strdup
    - strcmp
    - stricmp
    - gf_sg_get_max_node_id
    - gf_node_list_add_child
    - gf_node_get_name
    - gf_free
    - gf_node_register
    - gf_sg_get_namespace_code
    - gf_sg_add_namespace
    - gf_sg_get_namespace
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'static void xml_reload_node_start(void *sax_cbck, const char *node_name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2258,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2264,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2267,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2263,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2259,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_js.c:2267,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2274,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2278
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2278
    functionName: dom_text_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - strlen
    - JS_NewInt32
    - JS_NewString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_text_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1095,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1098,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1097,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1100,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1101,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1102,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1103,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1107,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_js.c:1108,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1110,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1113,1
    - Dst: svg_mark_gc
      Src: /src/gpac/src/scenegraph/dom_js.c:1115,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:1116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1117
    functionName: xml_node_remove_child
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - dom_node_changed
    - gf_node_get_tag
    - gf_node_list_del_child
    - svg_mark_gc
    - js_throw_err
    - JS_DupValue
    - JS_IsObject
    - gf_node_unregister
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_remove_child(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1159,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1164,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1160,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1161,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1166
    functionName: xml_node_is_same_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - dom_get_node
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_is_same_node(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2235,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2245,1
    - Dst: gather_text
      Src: /src/gpac/src/scenegraph/dom_js.c:2241,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2247,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2236,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2250,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2253
    functionName: xml_element_to_string
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_NewString
    - gf_node_get_class_name
    - gf_free
    - gather_text
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_to_string(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1124,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/dom_js.c:1126,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1125,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1129,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/dom_js.c:1128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1130
    functionName: xml_clone_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToBool
    - js_throw_err
    - dom_node_construct
    - gf_node_clone
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_clone_node(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1178
    functionName: node_get_local_name
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_class_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *node_get_local_name(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2862
      start: 2859
    functionDepth: 0
    functionLinenumber: 2859
    functionLinenumberEnd: 2862
    functionName: dom_js_get_document_proto
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSClassID
    signature: 'JSClassID dom_js_get_document_proto(JSContext *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1135,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1138
    functionName: xml_node_has_children
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_has_children(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:909,1
    - Dst: dom_unregister_node
      Src: /src/gpac/src/scenegraph/dom_js.c:918,1
    - Dst: gf_sg_js_dom_pre_destroy
      Src: /src/gpac/src/scenegraph/dom_js.c:917,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/dom_js.c:916,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 919
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 919
    functionName: dom_node_finalize
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - gf_sg_js_dom_pre_destroy
    - dom_unregister_node
    - JS_SetOpaque
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void dom_node_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1145,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1146,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1153
    functionName: xml_node_has_attributes
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - js_throw_err
    - gf_node_get_tag
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_has_attributes(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: xml_dom3_not_implemented
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue xml_dom3_not_implemented(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:305,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:306,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:307,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:309,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - c
    - global
    - doc
    - name
    argTypes:
    - JSContext*
    - JSValue
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 312
    functionName: dom_js_define_document_ex
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'static void dom_js_define_document_ex(JSContext *c, JSValue global,
      GF_SceneGraph *doc, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_remove_listener
      Src: /src/gpac/src/scenegraph/dom_js.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: dom_event_remove_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_remove_listener
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_event_remove_listener(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_add_listener
      Src: /src/gpac/src/scenegraph/dom_js.c:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: dom_event_add_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_add_listener
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_event_add_listener(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/dom_js.c:1971,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1977,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:1986,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:2020,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/dom_js.c:2038,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1963,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/dom_js.c:1984,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2014,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:2031,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2016,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1962,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/dom_js.c:1974,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/dom_js.c:1984,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1985,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2016,1
    - Dst: gf_smil_anim_get_target
      Src: /src/gpac/src/scenegraph/dom_js.c:2026,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:2019,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/dom_js.c:2048,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:2050,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1976,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:2040,1
    - Dst: gf_svg_parse_element_id
      Src: /src/gpac/src/scenegraph/dom_js.c:2045,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 4
    argNames:
    - n
    - ns_code
    - name
    - val
    argTypes:
    - GF_Node*
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2053
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 2053
    functionName: gf_svg_set_attributeNS
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_smil_anim_get_target
    - gf_strdup
    - gf_node_get_attribute_by_name
    - strcmp
    - GF_LOG
    - gf_svg_parse_attribute
    - gf_svg_parse_element_id
    - gf_node_get_attribute_by_tag
    - strchr
    - gf_free
    - gf_node_dirty_set
    - strstr
    - dom_node_changed
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_set_attributeNS(GF_Node *n, u32 ns_code, char *name, char
      *val) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sg_js_parse_event_args
      Src: /src/gpac/src/scenegraph/dom_js.c:848,1
    - Dst: sg_js_get_event_target
      Src: /src/gpac/src/scenegraph/dom_js.c:852,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/dom_js.c:856,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_js.c:863,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_js.c:858,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:865,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:869,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/dom_js.c:873,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:876,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:877,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:879,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:880,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:878,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:897,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:885,1
    - Dst: gf_dom_listener_del
      Src: /src/gpac/src/scenegraph/dom_js.c:891,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 46
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - vrml_node
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 899
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 899
    functionName: gf_sg_js_event_remove_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_list_get
    - JS_FreeCString
    - JS_IsNull
    - gf_list_count
    - gf_dom_listener_process_add
    - strcmp
    - sg_js_parse_event_args
    - gf_node_get_attribute_by_tag
    - gf_dom_listener_del
    - gf_free
    - sg_js_get_event_target
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue gf_sg_js_event_remove_listener(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv, GF_Node *vrml_node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2059,1
    - Dst: gf_svg_set_attributeNS
      Src: /src/gpac/src/scenegraph/dom_js.c:2063,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2061,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - n
    - ns
    - name
    - val
    argTypes:
    - GF_Node*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2064
    functionName: gf_svg_set_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_sg_get_namespace_code_from_name
    - gf_svg_set_attributeNS
    - gf_xml_get_element_namespace
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_set_attribute(GF_Node *n, char * ns, char *name, char
      *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:229,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:240,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:241,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:222,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:227,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:232,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:234,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:237,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:238,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:236,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:246,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/dom_js.c:251,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:252,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:254,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:223,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:228,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:242,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:243,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:244,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:245,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:247,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:254,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:253,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:253,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/dom_js.c:219,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:224,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:220,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:225,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:226,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:235,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:230,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:231,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:233,1
    - Dst: DEF_EXC
      Src: /src/gpac/src/scenegraph/dom_js.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 2
    argNames:
    - c
    - global
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 255
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 255
    functionName: define_dom_exception
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewInt32
    - JS_NewObject
    - DEF_EXC
    linkageType: ''
    returnType: void
    signature: 'static void define_dom_exception(JSContext *c, JSValue global) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: dom_get_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *dom_get_node(JSValue obj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2086,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:2088,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2096,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/dom_js.c:2103,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/dom_js.c:2108,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/dom_js.c:2113,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2124,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2145,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2072,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2074,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/scenegraph/dom_js.c:2102,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/dom_js.c:2103,1
    - Dst: gf_dom_add_handler_listener
      Src: /src/gpac/src/scenegraph/dom_js.c:2126,1
    - Dst: gf_dom_full_set_attribute
      Src: /src/gpac/src/scenegraph/dom_js.c:2132,1
    - Dst: gf_svg_set_attribute
      Src: /src/gpac/src/scenegraph/dom_js.c:2141,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2146,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2077,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2076,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2073,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2085,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2101,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/dom_js.c:2092,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2100,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2144,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2087,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2089,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2107,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/dom_js.c:2105,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/dom_js.c:2110,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2112,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2148
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2148
    functionName: xml_element_set_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_svg_set_attribute
    - sprintf
    - JS_CHECK_STRING
    - JS_IsNumber
    - gf_dom_add_handler_listener
    - JS_IsBool
    - gf_sg_add_namespace
    - strchr
    - gf_dom_event_type_by_name
    - gf_dom_full_set_attribute
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_set_attribute(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2157,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2160,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2164,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2160,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2158,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2164,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2165,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2167,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:2169,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2170,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2173,1
    - Dst: xml_doc_gather_nodes
      Src: /src/gpac/src/scenegraph/dom_js.c:2176,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:2177,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2178,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2179,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:2172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2181
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2181
    functionName: xml_element_elements_by_tag
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_FreeCString
    - strcmp
    - xml_doc_gather_nodes
    - JS_CHECK_STRING
    - JS_NewObjectClass
    - JS_SetOpaque
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_elements_by_tag(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_base_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 418
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 418
    functionName: dom_node_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_base_node_construct
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_node_construct(JSContext *c, GF_Node *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:517,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:525,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:526,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:524,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_ParentNode*
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: dom_nodelist_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_node_register
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_nodelist_construct(JSContext *c, GF_ParentNode
      *n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1066,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1067,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1068,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1066,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1066,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1070,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1071,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1072,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1073,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1074,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1080,1
    - Dst: dom_node_inserted
      Src: /src/gpac/src/scenegraph/dom_js.c:1083,1
    - Dst: svg_mark_gc
      Src: /src/gpac/src/scenegraph/dom_js.c:1086,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1078,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/dom_js.c:1087,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1075,1
    - Dst: gf_node_list_find_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1077,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_js.c:1081,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1088
    functionName: xml_node_replace_child
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - gf_node_list_find_child
    - gf_node_get_tag
    - gf_node_list_del_child
    - svg_mark_gc
    - js_throw_err
    - JS_DupValue
    - JS_IsObject
    - dom_node_inserted
    - GF_JS_EXCEPTION
    - gf_node_unregister
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_node_replace_child(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_base_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: dom_element_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_base_node_construct
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_element_construct(JSContext *c, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:532,1
    - Dst: dom_unregister_node
      Src: /src/gpac/src/scenegraph/dom_js.c:542,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:543,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:546,1
    - Dst: dom_unregister_node
      Src: /src/gpac/src/scenegraph/dom_js.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 547
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 547
    functionName: dom_nodelist_finalize
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    - dom_unregister_node
    linkageType: ''
    returnType: void
    signature: 'static void dom_nodelist_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:2880,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/dom_js.c:2884,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/scenegraph/dom_js.c:2887,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/scenegraph/dom_js.c:2885,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/scenegraph/dom_js.c:2883,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/scenegraph/dom_js.c:2888,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/dom_js.c:2889,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2890,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scenegraph/dom_js.c:2894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - src
    - scene
    argTypes:
    - char*
    - GF_SceneGraph**
    constantsTouched: []
    func_position:
      end: 2902
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2902
    functionName: gf_sg_new_from_xml_doc
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_sg_del
    - gf_sg_new
    - gf_xml_sax_parse_file
    - gf_xml_sax_del
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_xml_sax_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_new_from_xml_doc(const char *src, GF_SceneGraph **scene) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:556,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/dom_js.c:564,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/dom_js.c:560,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:557,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:558,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 566
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 566
    functionName: dom_nodelist_item
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - JS_GetOpaque
    - gf_node_list_get_child
    - dom_node_construct
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_nodelist_item(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1576,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1577,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1583,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:1580,1
    - Dst: xml_doc_gather_nodes
      Src: /src/gpac/src/scenegraph/dom_js.c:1588,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - node
    - name
    - nl
    argTypes:
    - GF_ParentNode*
    - char*
    - DOMNodeList*
    constantsTouched: []
    func_position:
      end: 1591
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1591
    functionName: xml_doc_gather_nodes
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - strcmp
    - xml_doc_gather_nodes
    - gf_node_get_class_name
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void xml_doc_gather_nodes(GF_ParentNode *node, char *name,
      DOMNodeList *nl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/dom_js.c:2770,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2769,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_js.c:2779,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_js.c:2781,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2789,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/dom_js.c:2817,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/dom_js.c:2790,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/dom_js.c:2799,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2782,1
    - Dst: html_media_element_js_finalize
      Src: /src/gpac/src/scenegraph/dom_js.c:2786,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/dom_js.c:2797,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2806,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_js.c:2792,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2816,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2819,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:2766,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/dom_js.c:2768,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2767,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/dom_js.c:2794,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/dom_js.c:2808,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/dom_js.c:2805,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:2814,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 3
    argNames:
    - rt
    - sg
    - n
    argTypes:
    - JSRuntime*
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2822
    functionName: gf_sg_js_dom_pre_destroy
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - gf_list_get
    - gf_list_count
    - html_media_element_js_finalize
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_FreeValueRT
    - gf_list_rem
    - gf_free
    - gf_list_del_item
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_js_dom_pre_destroy(JSRuntime *rt, GF_SceneGraph
      *sg, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/dom_js.c:3062,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scenegraph/dom_js.c:3066,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:3065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - sax_cbck
    - node_name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3068
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3068
    functionName: xml_reload_node_end
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void xml_reload_node_end(void *sax_cbck, const char *node_name,
      const char *name_space) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:572,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:573,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/dom_js.c:574,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:582,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: dom_nodelist_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - JS_NewInt32
    - js_throw_err
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_nodelist_getProperty(JSContext *c, JSValueConst
      obj, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1598,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1601,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1599,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1605,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1601,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1605,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1606,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1608,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:1611,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1612,1
    - Dst: xml_doc_gather_nodes
      Src: /src/gpac/src/scenegraph/dom_js.c:1615,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:1619,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1620,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:1618,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1614,1
    - Dst: xml_doc_gather_nodes
      Src: /src/gpac/src/scenegraph/dom_js.c:1617,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1622
    functionName: xml_document_elements_by_tag
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - strcmp
    - xml_doc_gather_nodes
    - JS_CHECK_STRING
    - JS_NewObjectClass
    - JS_SetOpaque
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_document_elements_by_tag(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scenegraph/dom_js.c:3076,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/dom_js.c:3080,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:3092,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:3090,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/dom_js.c:3082,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:3093,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/dom_js.c:3100,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:3100,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:3103,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_js.c:3107,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_js.c:3120,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:3116,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_js.c:3114,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:3110,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 3
    argNames:
    - sax_cbck
    - content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3121
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3121
    functionName: xml_reload_text_content
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dom_add_text_node
    - gf_list_last
    - memset
    - gf_strdup
    - strcmp
    - strchr
    - gf_free
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'static void xml_reload_text_content(void *sax_cbck, const char *content,
      Bool is_cdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:593,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/dom_js.c:596,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:598,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/dom_js.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 602
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 602
    functionName: dom_handler_remove
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_list_del_item
    - JS_IsUndefined
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dom_handler_remove(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:2692,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:2695,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2697
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2697
    functionName: domDocument_gc_mark
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - JS_MarkValue
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'void domDocument_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_event_get_category
      Src: /src/gpac/src/scenegraph/dom_js.c:615,1
    - Dst: gf_html_media_get_event_target
      Src: /src/gpac/src/scenegraph/dom_js.c:617,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:629,1
    - Dst: gf_dom_event_get_category
      Src: /src/gpac/src/scenegraph/dom_js.c:621,1
    - Dst: gf_mse_get_event_target
      Src: /src/gpac/src/scenegraph/dom_js.c:623,1
    - Dst: is_svg_document_class
      Src: /src/gpac/src/scenegraph/dom_js.c:629,1
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:631,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:641,1
    - Dst: is_svg_element_class
      Src: /src/gpac/src/scenegraph/dom_js.c:641,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/dom_js.c:646,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/scenegraph/dom_js.c:651,1
    - Dst: xhr_get_event_target
      Src: /src/gpac/src/scenegraph/dom_js.c:659,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 44
    argCount: 7
    argNames:
    - c
    - obj
    - evtType
    - vrml_node
    - sg
    - target
    - n
    argTypes:
    - JSContext*
    - JSValue
    - GF_EventType
    - GF_Node*
    - GF_SceneGraph**
    - GF_DOMEventTarget**
    - GF_Node**
    constantsTouched: []
    func_position:
      end: 662
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 662
    functionName: sg_js_get_event_target
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_dom_event_target_new
    - is_svg_element_class
    - gf_dom_event_get_category
    - gf_html_media_get_event_target
    - JS_GetOpaque
    - gf_mse_get_event_target
    - xhr_get_event_target
    - is_svg_document_class
    - dom_get_element
    - dom_get_doc
    linkageType: ''
    returnType: void
    signature: 'static void sg_js_get_event_target(JSContext *c, JSValue obj, GF_EventType
      evtType, GF_Node *vrml_node, GF_SceneGraph **sg, GF_DOMEventTarget **target,
      GF_Node **n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/dom_js.c:2700,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/dom_js.c:2705,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2707
    functionName: domElement_gc_mark
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - JS_MarkValue
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'void domElement_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1220,1
    - Dst: get_namespace_code_by_prefix
      Src: /src/gpac/src/scenegraph/dom_js.c:1228,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1222,1
    - Dst: strncmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1221,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_js.c:1228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - node
    - prefix
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1229
    functionName: get_namespace_code_by_prefix
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - get_namespace_code_by_prefix
    - strcmp
    - strncmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_namespace_code_by_prefix(GF_Node *node, char *prefix) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1239,1
    - Dst: dom_nodelist_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1289,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:1266,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1298,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1300,1
    - Dst: dom_document_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1315,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:1320,1
    - Dst: gf_sg_get_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:1321,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scenegraph/dom_js.c:1331,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1348,1
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1241,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1257,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:1272,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/dom_js.c:1300,1
    - Dst: node_lookup_namespace_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1322,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1323,1
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/src/scenegraph/dom_js.c:1346,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1375,1
    - Dst: node_get_local_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1337,1
    - Dst: dom_node_get_sibling
      Src: /src/gpac/src/scenegraph/dom_js.c:1382,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1347,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1250,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1244,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1257,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:1270,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1282,1
    - Dst: dom_node_get_sibling
      Src: /src/gpac/src/scenegraph/dom_js.c:1307,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:1328,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1337,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1358,1
    - Dst: dom_node_get_sibling
      Src: /src/gpac/src/scenegraph/dom_js.c:1379,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1242,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1254,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1255,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1262,1
    - Dst: dom_document_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1280,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_js.c:1282,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1292,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:1269,1
    - Dst: dom_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1295,1
    - Dst: dom_node_get_sibling
      Src: /src/gpac/src/scenegraph/dom_js.c:1304,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/dom_js.c:1327,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1351,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:1332,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 100
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1385
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1385
    functionName: dom_node_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - gf_node_get_tag
    - dom_element_construct
    - GF_JS_EXCEPTION
    - dom_get_doc
    - gf_sg_get_namespace_qname
    - JS_NewInt32
    - dom_document_construct
    - dom_nodelist_construct
    - gf_node_list_get_child
    - gf_node_get_class_name
    - gf_dom_flatten_textContent
    - gf_node_get_parent
    - node_get_local_name
    - JS_NewString
    - node_lookup_namespace_by_tag
    - gf_free
    - dom_node_construct
    - gf_sg_get_namespace_code
    - dom_node_get_sibling
    - gf_xml_get_element_namespace
    - gf_sg_get_namespace
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_node_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1768,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1771,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1771,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1769,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1775,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1775,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1776,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1777,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1779,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1787,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1809,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1810,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/dom_js.c:1800,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1802,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1799,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1812
    functionName: xml_element_has_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_attribute_by_name
    - strcmp
    - JS_CHECK_STRING
    - gf_sg_get_namespace_code_from_name
    - GF_JS_EXCEPTION
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_has_attribute(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2330,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2345,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:2357,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2364,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/dom_js.c:2422,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2424,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2428,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2440,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2444,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2448,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2464,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2452,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2456,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2325,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:2336,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2330,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2374,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2411,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2405,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2415,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:2420,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/scenegraph/dom_js.c:2424,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2438,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2446,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2458,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2448,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2456,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2343,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2362,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2391,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/scenegraph/dom_js.c:2432,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2436,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2446,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2450,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2454,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2458,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2460,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2450,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/dom_js.c:2444,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/dom_js.c:2466,1
    - Dst: dom_document_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:2339,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2347,1
    - Dst: dom_document_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:2359,1
    - Dst: OBJECT_TO_JSValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2367,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/scenegraph/dom_js.c:2402,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2409,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2413,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2417,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2422,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/scenegraph/dom_js.c:2430,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2452,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/dom_js.c:2462,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/dom_js.c:2454,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 68
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2472
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2472
    functionName: event_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - JS_NewString
    - JS_NewInt32
    - JS_NewInt64
    - FIX2FLT
    - JS_GetOpaque
    - dom_document_construct
    - dom_element_construct
    - FIX2INT
    - JS_NewFloat64
    - gf_utf8_wcstombs
    - gf_dom_get_key_name
    - OBJECT_TO_JSValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue event_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/dom_js.c:2837,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/dom_js.c:2839,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/dom_js.c:2842,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:2840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2844
    functionName: dom_js_define_event
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_FreeValue
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dom_js_define_event(JSContext *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_set_textContent
      Src: /src/gpac/src/scenegraph/dom_js.c:1390,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/dom_js.c:1392,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1395,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:1393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - n
    - text
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1396
    functionName: dom_node_set_textContent
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_dom_set_textContent
    - gf_node_changed
    - gf_node_dirty_set
    - memset
    linkageType: ''
    returnType: void
    signature: 'void dom_node_set_textContent(GF_Node *n, char *text) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_attribute_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1852,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1866,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1863,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1874,1
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1823,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1826,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1830,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1831,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1832,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1848,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scenegraph/dom_js.c:1850,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1862,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/dom_js.c:1872,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1882,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1824,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1826,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1834,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/dom_js.c:1849,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1864,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1830,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1865,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1857,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1873,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1881,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1884
    functionName: xml_element_remove_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - gf_svg_delete_attribute_value
    - JS_FreeCString
    - strcmp
    - JS_CHECK_STRING
    - strchr
    - gf_xml_get_attribute_tag
    - gf_free
    - gf_sg_get_namespace_code_from_name
    - GF_JS_EXCEPTION
    - dom_node_changed
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_element_remove_attribute(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 2848
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2848
    functionName: dom_get_evt_private
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_DOM_Event*
    signature: 'GF_DOM_Event *dom_get_evt_private(JSValue v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_listener_count
      Src: /src/gpac/src/scenegraph/dom_js.c:1890,1
    - Dst: gf_dom_listener_get
      Src: /src/gpac/src/scenegraph/dom_js.c:1894,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1896,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1901,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/dom_js.c:1903,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1909,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1910,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/scenegraph/dom_js.c:1915,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/dom_js.c:1916,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1916,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - n
    - evtType
    - handlerCode
    argTypes:
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1918
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1918
    functionName: gf_dom_add_handler_listener
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_dom_add_text_node
    - gf_dom_listener_count
    - gf_dom_listener_get
    - gf_strdup
    - gf_dom_listener_build
    - gf_node_get_attribute_by_tag
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_dom_add_handler_listener(GF_Node *n, u32 evtType, char
      *handlerCode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1515,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1518,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1517,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:1525,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1525,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1526,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1527,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1528,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1530,1
    - Dst: gf_xml_get_element_tag
      Src: /src/gpac/src/scenegraph/dom_js.c:1536,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1541,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scenegraph/dom_js.c:1544,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scenegraph/dom_js.c:1543,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1549,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1547,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1550,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_js.c:1538,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1552
    functionName: xml_document_create_element
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - JS_CHECK_STRING
    - gf_node_new
    - gf_sg_add_namespace
    - dom_element_construct
    - gf_sg_get_namespace_code_from_name
    - gf_xml_get_element_tag
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_document_create_element(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:925,1
    - Dst: check_dom_parents
      Src: /src/gpac/src/scenegraph/dom_js.c:933,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:930,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - c
    - n
    - parent
    argTypes:
    - JSContext*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: check_dom_parents
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - check_dom_parents
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_dom_parents(JSContext *c, GF_Node *n, GF_Node *parent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_node
      Src: /src/gpac/src/scenegraph/dom_js.c:2282,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/scenegraph/dom_js.c:2289,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2283,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:2287,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2290,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:2291,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:2292,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:2294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2299
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2299
    functionName: dom_text_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_get_node
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - JS_CHECK_STRING
    - gf_free
    - GF_JS_EXCEPTION
    - dom_node_changed
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_text_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1469,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1470,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1476,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/dom_js.c:1477,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/dom_js.c:1478,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1483,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/dom_js.c:1486,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 11
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1500
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1500
    functionName: dom_document_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - dom_element_construct
    - JS_GetGlobalObject
    - GF_JS_EXCEPTION
    - JS_GetPropertyStr
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_document_getProperty(JSContext *c, JSValueConst
      obj, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_base_node_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: dom_text_construct
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - dom_base_node_construct
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_text_construct(JSContext *c, GF_Node *n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/dom_js.c:1925,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:1931,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/dom_js.c:1929,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1930,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/dom_js.c:1933,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/dom_js.c:1941,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/dom_js.c:1943,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1947,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scenegraph/dom_js.c:1949,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1950,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - node
    - attribute_name
    - attribute_content
    argTypes:
    - GF_DOMFullNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1955
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1955
    functionName: gf_dom_full_set_attribute
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_svg_create_attribute_value
    - gf_strdup
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    - dom_node_changed
    linkageType: ''
    returnType: void
    signature: 'static void gf_dom_full_set_attribute(GF_DOMFullNode *node, char *attribute_name,
      char *attribute_content) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1504,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1505,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/dom_js.c:1506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1507
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1507
    functionName: dom_document_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_document_setProperty(JSContext *c, JSValueConst
      obj, JSValueConst value, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/dom_js.c:1557,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/dom_js.c:1563,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1562,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/dom_js.c:1560,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:1558,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/dom_js.c:1565,1
    - Dst: dom_text_construct
      Src: /src/gpac/src/scenegraph/dom_js.c:1567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1568
    functionName: xml_document_create_text
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_text_construct
    - gf_strdup
    - gf_node_new
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_document_create_text(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/dom_js.c:2303,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/dom_js.c:2304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2307
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2307
    functionName: event_stop_propagation
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue event_stop_propagation(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_js.c:450,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scenegraph/dom_js.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: dom_unregister_node
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_sg_del
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void dom_unregister_node(GF_Node *n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/dom_js.c:946,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/scenegraph/dom_js.c:959,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/dom_js.c:950,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/dom_js.c:951,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/dom_js.c:958,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/dom_js.c:960,1
    - Dst: gf_dom_listener_build_ex
      Src: /src/gpac/src/scenegraph/dom_js.c:965,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scenegraph/dom_js.c:967,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/dom_js.c:973,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/dom_js.c:975,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/dom_js.c:982,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/dom_js.c:980,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - c
    - n
    - parent
    - pos
    argTypes:
    - JSContext*
    - GF_Node*
    - GF_Node*
    - s32
    constantsTouched: []
    func_position:
      end: 983
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 983
    functionName: dom_node_inserted
    functionSourceFile: /src/gpac/src/scenegraph/dom_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_node_list_add_child
    - gf_node_init
    - dom_node_changed
    - memset
    - gf_node_list_del_child
    - gf_node_activate
    - gf_dom_event_fire
    - gf_dom_listener_build_ex
    - gf_node_register
    - gf_node_unregister
    - gf_node_list_insert_child
    linkageType: ''
    returnType: void
    signature: 'static void dom_node_inserted(JSContext *c, GF_Node *n, GF_Node *parent,
      s32 pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_timing_compute_active_duration
      Src: /src/gpac/src/scenegraph/smil_timing.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rti
    - media_duration
    argTypes:
    - SMIL_Timing_RTI*
    - Double
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: gf_smil_set_media_duration
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_smil_timing_compute_active_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_smil_set_media_duration(SMIL_Timing_RTI *rti, Double
      media_duration) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:203,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:207,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:205,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/smil_timing.c:208,1
    - Dst: gf_smil_timing_get_interval_end
      Src: /src/gpac/src/scenegraph/smil_timing.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:229,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:229,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:229,1
    - Dst: gf_smil_timing_compute_active_duration
      Src: /src/gpac/src/scenegraph/smil_timing.c:235,1
    - Dst: gf_smil_timing_print_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - rti
    argTypes:
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 237
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 237
    functionName: gf_smil_timing_get_first_interval
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - memset
    - GF_SMIL_TIME_IS_CLOCK
    - gf_node_get_log_name
    - gf_list_count
    - GF_LOG
    - gf_smil_timing_print_interval
    - gf_smil_timing_get_interval_end
    - gf_smil_timing_compute_active_duration
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_get_first_interval(SMIL_Timing_RTI *rti) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/smil_timing.c:322,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/scenegraph/smil_timing.c:326,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/smil_timing.c:327,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_timing.c:358,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/smil_timing.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:360,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:365,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:365,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:365,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_timing.c:375,1
    - Dst: gf_smil_timing_get_first_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:383,1
    - Dst: gf_smil_timing_get_next_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:377,1
    - Dst: gf_smil_timing_add_to_sg
      Src: /src/gpac/src/scenegraph/smil_timing.c:393,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_timing.c:381,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 1
    argNames:
    - timed_elt
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 394
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 394
    functionName: gf_smil_timing_init_runtime_info
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_malloc
    - gf_smil_timing_get_first_interval
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_node_get_log_name
    - gf_smil_timing_get_next_interval
    - GF_LOG
    - gf_smil_timing_add_to_sg
    - gf_node_get_attribute_by_tag
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_smil_timing_init_runtime_info(GF_Node *timed_elt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/smil_timing.c:469,1
    - Dst: gf_node_dirty_parent_graph
      Src: /src/gpac/src/scenegraph/smil_timing.c:489,1
    - Dst: gf_smil_timing_notify_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:470,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:470,1
    - Dst: gf_node_dirty_parent_graph
      Src: /src/gpac/src/scenegraph/smil_timing.c:493,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:505,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/smil_timing.c:506,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:509,1
    - Dst: gf_smil_timing_add_to_sg
      Src: /src/gpac/src/scenegraph/smil_timing.c:512,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:516,1
    - Dst: gf_node_dirty_parent_graph
      Src: /src/gpac/src/scenegraph/smil_timing.c:528,1
    - Dst: gf_smil_timing_notify_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:516,1
    - Dst: gf_node_dirty_parent_graph
      Src: /src/gpac/src/scenegraph/smil_timing.c:524,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 537
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 537
    functionName: gf_smil_notify_timed_elements
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_smil_timing_add_to_sg
    - gf_list_rem
    - gf_smil_timing_notify_time
    - gf_list_del_item
    - gf_node_dirty_parent_graph
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_smil_notify_timed_elements(GF_SceneGraph *sg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1035
    functionName: gf_smil_timing_pause
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_timing_pause(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:247,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/smil_timing.c:250,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:249,1
    - Dst: gf_smil_timing_get_interval_end
      Src: /src/gpac/src/scenegraph/smil_timing.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:262,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:262,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:262,1
    - Dst: gf_smil_timing_compute_active_duration
      Src: /src/gpac/src/scenegraph/smil_timing.c:267,1
    - Dst: gf_smil_timing_print_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - rti
    - current
    - interval
    - scene_time
    argTypes:
    - SMIL_Timing_RTI*
    - Bool
    - SMIL_Interval*
    - Double
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: gf_smil_timing_get_next_interval
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - memset
    - GF_SMIL_TIME_IS_CLOCK
    - gf_node_get_log_name
    - gf_list_count
    - GF_LOG
    - gf_smil_timing_print_interval
    - gf_smil_timing_get_interval_end
    - gf_smil_timing_compute_active_duration
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_smil_timing_get_next_interval(SMIL_Timing_RTI *rti,
      Bool current, SMIL_Interval *interval, Double scene_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:401,1
    - Dst: gf_dom_listener_del
      Src: /src/gpac/src/scenegraph/smil_timing.c:408,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/smil_timing.c:411,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - times
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 414
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 414
    functionName: gf_smil_timing_reset_time_list
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_dom_listener_del
    - gf_list_count
    - gf_list_get
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_reset_time_list(GF_List *times) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: gf_smil_timing_resume
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_timing_resume(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - node
    - smil_evaluate
    argTypes:
    - GF_Node*
    - gf_sg_smil_evaluate
    constantsTouched: []
    func_position:
      end: 1051
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    functionName: gf_smil_set_evaluation_callback
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_set_evaluation_callback(GF_Node *node, gf_sg_smil_evaluate
      smil_evaluate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rti
    argTypes:
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: gf_smil_get_element
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_smil_get_element(SMIL_Timing_RTI *rti) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:304,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_timing.c:307,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/smil_timing.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - rti
    - remove
    argTypes:
    - SMIL_Timing_RTI*
    - Bool
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: gf_smil_mark_modified
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del_item
    - gf_list_find
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_mark_modified(SMIL_Timing_RTI *rti, Bool remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:422,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_timing.c:424,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:422,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:422,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_timing.c:423,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:429,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:430,1
    - Dst: gf_smil_timing_reset_time_list
      Src: /src/gpac/src/scenegraph/smil_timing.c:433,1
    - Dst: gf_smil_timing_reset_time_list
      Src: /src/gpac/src/scenegraph/smil_timing.c:434,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_timing.c:436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - timed_elt
    - rti
    argTypes:
    - GF_Node*
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 437
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 437
    functionName: gf_smil_timing_delete_runtime_info
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_smil_timing_reset_time_list
    - gf_node_get_log_name
    - GF_LOG
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_timing_delete_runtime_info(GF_Node *timed_elt, SMIL_Timing_RTI
      *rti) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:944,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_timing.c:962,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:960,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:946,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_timing.c:970,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:972,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_timing.c:977,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - anim
    - event_base_element
    - smil_times
    - is_end
    - node_name
    argTypes:
    - GF_Node*
    - void*
    - GF_List*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 983
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 983
    functionName: gf_svg_resolve_smil_times
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_sg_find_node_by_name
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_svg_resolve_smil_times(GF_Node *anim, void *event_base_element,
      GF_List *smil_times, Bool is_end, const char *node_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: gf_smil_timing_is_active
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_smil_timing_is_active(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/smil_timing.c:992,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/smil_timing.c:1009,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:1004,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:994,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/smil_timing.c:1010,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/smil_timing.c:1018,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_timing.c:1023,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/smil_timing.c:1026,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - elt
    - is_end
    - clock
    argTypes:
    - GF_Node*
    - Bool
    - Double
    constantsTouched: []
    func_position:
      end: 1027
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1027
    functionName: gf_smil_timing_insert_clock
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_node_changed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_smil_timing_insert_clock(GF_Node *elt, Bool is_end,
      Double clock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:286,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/smil_timing.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - sg
    - rti
    argTypes:
    - GF_SceneGraph*
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: gf_smil_timing_add_to_sg
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_smil_timing_add_to_sg(GF_SceneGraph *sg, SMIL_Timing_RTI
      *rti) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_discard
      Src: /src/gpac/src/scenegraph/smil_timing.c:624,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:652,1
    - Dst: gf_smil_timing_get_normalized_simple_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:666,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:664,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:679,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/smil_timing.c:689,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:694,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:720,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:724,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:733,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/smil_timing.c:744,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:733,1
    - Dst: gf_smil_mark_modified
      Src: /src/gpac/src/scenegraph/smil_timing.c:776,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:635,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/smil_timing.c:628,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/smil_timing.c:624,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:635,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/scenegraph/smil_timing.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:664,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:672,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:679,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:685,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:724,1
    - Dst: gf_smil_timing_get_next_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:772,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:725,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:785,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/smil_timing.c:711,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:760,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:635,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:672,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:664,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:652,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:694,1
    - Dst: gf_smil_mark_modified
      Src: /src/gpac/src/scenegraph/smil_timing.c:702,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:724,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:733,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:760,1
    - Dst: gf_smil_timing_print_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:771,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:785,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:785,1
    - Dst: gf_smil_reorder_anim
      Src: /src/gpac/src/scenegraph/smil_timing.c:706,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:708,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:760,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/smil_timing.c:729,1
    - Dst: gf_smil_reorder_anim
      Src: /src/gpac/src/scenegraph/smil_timing.c:644,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/smil_timing.c:647,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/smil_timing.c:650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:652,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:672,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:679,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:694,1
    - Dst: gf_smil_timing_get_next_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:698,1
    - Dst: gf_smil_timing_get_normalized_simple_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:718,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:720,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/smil_timing.c:809,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 177
    argCount: 2
    argNames:
    - rti
    - in_scene_time
    argTypes:
    - SMIL_Timing_RTI*
    - Double
    constantsTouched: []
    func_position:
      end: 811
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 811
    functionName: gf_smil_timing_notify_time
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_traverse
    - gf_smil_reorder_anim
    - memset
    - gf_smil_timing_get_normalized_simple_time
    - gf_node_get_log_name
    - gf_smil_timing_get_next_interval
    - GF_LOG
    - FLT2FIX
    - gf_node_unregister
    - gf_smil_timing_print_interval
    - gf_smil_mark_modified
    - gf_svg_is_animation_tag
    - gf_node_register
    - gf_list_del_item
    - gf_smil_discard
    - gf_dom_event_fire
    linkageType: ''
    returnType: s32
    signature: 's32 gf_smil_timing_notify_time(SMIL_Timing_RTI *rti, Double in_scene_time) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:910,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:910,1
    - Dst: gf_smil_timing_get_next_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:912,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:910,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:912,1
    - Dst: gf_smil_timing_get_interval_end
      Src: /src/gpac/src/scenegraph/smil_timing.c:915,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:919,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:919,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:919,1
    - Dst: gf_smil_timing_compute_active_duration
      Src: /src/gpac/src/scenegraph/smil_timing.c:925,1
    - Dst: gf_smil_timing_print_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:926,1
    - Dst: gf_smil_timing_get_next_interval
      Src: /src/gpac/src/scenegraph/smil_timing.c:928,1
    - Dst: gf_smil_mark_modified
      Src: /src/gpac/src/scenegraph/smil_timing.c:932,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:928,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 933
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 933
    functionName: gf_smil_timing_modified
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_smil_timing_get_next_interval
    - gf_node_get_log_name
    - GF_LOG
    - gf_smil_timing_print_interval
    - gf_smil_mark_modified
    - gf_smil_timing_get_interval_end
    - gf_smil_timing_compute_active_duration
    linkageType: ''
    returnType: void
    signature: 'void gf_smil_timing_modified(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - rti
    - normalized_scene_time
    - state
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: gf_smil_timing_null_timed_function
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_null_timed_function(SMIL_Timing_RTI *rti,
      Fixed normalized_scene_time, GF_SGSMILTimingEvalState state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/smil_timing.c:586,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/smil_timing.c:587,1
    - Dst: gf_smil_anim_reset_variables
      Src: /src/gpac/src/scenegraph/smil_timing.c:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - rti
    argTypes:
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: gf_smil_reorder_anim
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_smil_anim_reset_variables
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_reorder_anim(SMIL_Timing_RTI *rti) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gpac/src/scenegraph/smil_timing.c:878,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/smil_timing.c:895,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/smil_timing.c:892,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/smil_timing.c:891,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - rti
    - scene_time
    - force_end
    argTypes:
    - SMIL_Timing_RTI*
    - Double
    - Bool*
    constantsTouched: []
    func_position:
      end: 898
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 898
    functionName: gf_smil_timing_get_normalized_simple_time
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - floor
    - MIN
    - MAX
    - FLT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed gf_smil_timing_get_normalized_simple_time(SMIL_Timing_RTI *rti,
      Double scene_time, Bool *force_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:36,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:37,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:38,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:36,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/smil_timing.c:36,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:39,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:40,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rti
    - current
    - interval
    argTypes:
    - SMIL_Timing_RTI*
    - Bool
    - SMIL_Interval*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: gf_smil_timing_print_interval
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - GF_LOG
    - gf_node_get_log_name
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_print_interval(SMIL_Timing_RTI *rti, Bool
      current, SMIL_Interval *interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rti
    argTypes:
    - SMIL_Timing_RTI*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: gf_smil_get_media_duration
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Double
    signature: 'Double gf_smil_get_media_duration(SMIL_Timing_RTI *rti) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/smil_timing.c:177,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/smil_timing.c:182,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - rti
    - interval
    argTypes:
    - SMIL_Timing_RTI*
    - SMIL_Interval*
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: gf_smil_timing_get_interval_end
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_SMIL_TIME_IS_CLOCK
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_get_interval_end(SMIL_Timing_RTI *rti,
      SMIL_Interval *interval) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/smil_timing.c:56,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/smil_timing.c:85,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/smil_timing.c:74,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/smil_timing.c:84,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/smil_timing.c:107,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 97
    argCount: 2
    argNames:
    - rti
    - interval
    argTypes:
    - SMIL_Timing_RTI*
    - SMIL_Interval*
    constantsTouched: []
    func_position:
      end: 147
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 147
    functionName: gf_smil_timing_compute_active_duration
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - gf_node_get_tag
    - MIN
    linkageType: ''
    returnType: void
    signature: 'static void gf_smil_timing_compute_active_duration(SMIL_Timing_RTI
      *rti, SMIL_Interval *interval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/smil_timing.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/smil_timing.c:562,1
    - Dst: gf_smil_mark_modified
      Src: /src/gpac/src/scenegraph/smil_timing.c:564,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/smil_timing.c:562,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/smil_timing.c:558,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/smil_timing.c:567,1
    - Dst: gf_node_get_num_instances
      Src: /src/gpac/src/scenegraph/smil_timing.c:568,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/smil_timing.c:569,1
    - Dst: gf_node_get_num_instances
      Src: /src/gpac/src/scenegraph/smil_timing.c:570,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/smil_timing.c:571,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/smil_timing.c:573,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/smil_timing.c:575,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - rti
    - scene_time
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    constantsTouched: []
    func_position:
      end: 578
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 578
    functionName: gf_smil_discard
    functionSourceFile: /src/gpac/src/scenegraph/smil_timing.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_replace
    - GF_SMIL_TIME_IS_CLOCK
    - gf_node_get_log_name
    - gf_node_get_num_instances
    - GF_LOG
    - gf_smil_mark_modified
    - gf_node_register
    - gf_node_unregister
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_smil_discard(SMIL_Timing_RTI *rti, Fixed scene_time) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:1077,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scenegraph/vrml_js.c:1119,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1133,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1150,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:1152,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1085,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1080,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:1086,1
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:1087,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:1142,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scenegraph/vrml_js.c:1147,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1152,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:1078,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1081,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:1100,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1099,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1121,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1115,1
    - Dst: gf_sg_proto_load_code
      Src: /src/gpac/src/scenegraph/vrml_js.c:1125,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scenegraph/vrml_js.c:1109,1
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1137,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1144,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1091,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1096,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1097,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1101,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:1126,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1127,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1153
    functionName: SFNodeConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_x3d_type_by_class_name
    - gf_node_init
    - gf_sg_proto_create_instance
    - gf_sg_proto_load_code
    - JS_IsException
    - gf_node_new
    - GF_JS_EXCEPTION
    - gf_node_unregister
    - gf_sg_find_proto
    - gf_node_mpeg4_type_by_class_name
    - JS_ToCString
    - node_get_binding
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - atoi
    - JS_GetScriptStack
    - JS_FreeCString
    - NewJSField
    - JS_IsString
    - strnicmp
    - JS_GetScript
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFNodeConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1642
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1642
    functionName: vec2f_length
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_length(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1862,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1865,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1870,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1871,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1872,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1873,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1873,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1873,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1878,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1890,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1865,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1865,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1880,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1879,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1885,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1896,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1897,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1898,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1898,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1901,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1865,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1873,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1873,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1881,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/vrml_js.c:1884,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/scenegraph/vrml_js.c:1894,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/scenegraph/vrml_js.c:1895,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1896,1
    - Dst: gf_atan2
      Src: /src/gpac/src/scenegraph/vrml_js.c:1897,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/scenegraph/vrml_js.c:1897,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1898,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/vrml_js.c:1868,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1869,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1879,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1886,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1886,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1891,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/scenegraph/vrml_js.c:1896,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1899,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1899,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1900,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1900,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1892,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1903
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1903
    functionName: SFRotationConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_vec_len
    - gf_vec_dot
    - gf_mulfix
    - FLT2FIX
    - gf_sqrt
    - JS_IsNumber
    - JS_NewObjectClass
    - SFRotation_Create
    - JS_GetOpaque
    - gf_divfix
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_atan2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFRotationConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: array_setLength
      Src: /src/gpac/src/scenegraph/vrml_js.c:2452,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:2451,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:2462,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2503,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:2537,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/vrml_js.c:2549,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2564,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2604,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:2617,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2618,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2637,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:2634,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2650,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:2627,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2450,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:2460,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:2485,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2509,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2522,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2538,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:2540,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2541,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:2543,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2551,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2588,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2600,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2641,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2583,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2633,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_js.c:2575,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:2646,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:2445,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2454,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:2492,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2499,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2516,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2495,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2530,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:2545,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2553,1
    - Dst: gf_node_list_del_child_idx
      Src: /src/gpac/src/scenegraph/vrml_js.c:2570,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:2578,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2626,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2616,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2605,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/scenegraph/vrml_js.c:2448,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:2536,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/vrml_js.c:2547,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:2581,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2608,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2613,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2623,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:2638,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:2642,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:2597,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2589,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2629,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2645,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/scenegraph/vrml_js.c:2574,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:2578,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 159
    argCount: 6
    argNames:
    - c
    - obj
    - atom
    - value
    - receiver
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2652
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2652
    functionName: array_setElement
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_del_child_idx
    - JS_IsNull
    - gf_node_unregister
    - gf_node_list_insert_child
    - JS_NewBool
    - gf_node_list_get_count
    - JS_ToInt32
    - JS_ToCString
    - array_setLength
    - JS_AtomIsArrayIndex
    - gf_strdup
    - JS_NewInt32
    - strcmp
    - node_get_binding
    - Script_FieldChanged
    - FLT2FIX
    - JS_IsNumber
    - JS_NewObjectClass
    - JS_GetOpaque
    - JS_DupValue
    - gf_sg_vrml_field_copy
    - JS_IsInteger
    - JS_GetScriptStack
    - gf_sg_vrml_mf_insert
    - JS_GetOpaque_Nocheck
    - JS_FreeCString
    - JS_NewString
    - JS_IsUndefined
    - JS_AtomToCString
    - gf_sg_vrml_is_sf_field
    - JS_IsString
    - JS_NewFloat64
    - gf_free
    - gf_node_register
    - JS_ToFloat64
    - JS_FreeValue
    - JS_ToBool
    - gf_realloc
    - JS_IsBool
    linkageType: ''
    returnType: int
    signature: 'static int array_setElement(JSContext *c, JSValueConst obj, JSAtom
      atom, JSValueConst value, JSValueConst receiver, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2677
    functionName: MFColorConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFColorConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1156,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1165,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:1165,1
    - Dst: JS_ObjectDestroyed
      Src: /src/gpac/src/scenegraph/vrml_js.c:1157,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:1167,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - rt
    - obj
    - is_js_call
    argTypes:
    - JSRuntime*
    - JSValue
    - Bool
    constantsTouched: []
    func_position:
      end: 1170
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1170
    functionName: node_finalize_ex
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - GF_LOG
    - JS_GetOpaque
    - JS_ObjectDestroyed
    - gf_free
    - gf_node_get_class_name
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void node_finalize_ex(JSRuntime *rt, JSValue obj, Bool is_js_call) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1646
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1646
    functionName: vec2f_normalize
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_normalize(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1907,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1908,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1911,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1911,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1913,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1913,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1915,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1915,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1917,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1920
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1920
    functionName: rot_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:2343,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_js.c:2350,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2345,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2357,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_js.c:2353,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2359,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:2384,1
    - Dst: gf_node_list_del_child_idx
      Src: /src/gpac/src/scenegraph/vrml_js.c:2386,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:2387,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:2391,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scenegraph/vrml_js.c:2428,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:2404,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:2397,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2403,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_js.c:2398,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2419,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2423,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2415,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 65
    argCount: 3
    argNames:
    - c
    - ptr
    - value
    argTypes:
    - JSContext*
    - GF_JSField*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 2431
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2431
    functionName: array_setLength
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - JS_FreeValue
    - gf_node_list_del_child_idx
    - SFVec2f_Create
    - JS_IsInteger
    - gf_realloc
    - JS_NewString
    - GF_LOG
    - JS_NewInt32
    - gf_node_unregister
    - gf_sg_vrml_mf_reset
    - JS_NewObjectClass
    - gf_sg_vrml_get_sf_type
    - JS_NewFloat64
    - gf_free
    - gf_sg_vrml_mf_append
    - JS_ToInt32
    - gf_node_unregister_children
    linkageType: ''
    returnType: int
    signature: 'static int array_setLength(JSContext *c, GF_JSField *ptr, JSValueConst
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2671
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2671
    functionName: MFRotationConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFRotationConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/scenegraph/vrml_js.c:214,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:216,1
    - Dst: gf_floor
      Src: /src/gpac/src/scenegraph/vrml_js.c:214,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:217,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:217,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:218,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - col
    argTypes:
    - SFColor*
    constantsTouched: []
    func_position:
      end: 251
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 251
    functionName: SFColor_fromHSV
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_floor
    - gf_mulfix
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void SFColor_fromHSV(SFColor *col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: NewJSField
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *NewJSField(JSContext *c) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4055,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4064,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/scenegraph/vrml_js.c:4065,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4064,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:4067,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4072,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4073,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scenegraph/vrml_js.c:4076,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4077,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4078,1
    - Dst: vrml_svg_js_async_load
      Src: /src/gpac/src/scenegraph/vrml_js.c:4089,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/vrml_js.c:4082,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4084,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4090,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4098,1
    - Dst: vrml_js_load_script
      Src: /src/gpac/src/scenegraph/vrml_js.c:4083,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4082,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - node
    - opt_file
    - no_complain
    - rval
    argTypes:
    - GF_Node*
    - char*
    - Bool
    - JSValue*
    constantsTouched: []
    func_position:
      end: 4100
      start: 4044
    functionDepth: 0
    functionLinenumber: 4044
    functionLinenumberEnd: 4100
    functionName: JSScriptFromFile
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_strdup
    - gf_file_ext_start
    - ScriptAction
    - vrml_js_load_script
    - gf_free
    - vrml_svg_js_async_load
    - strstr
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool JSScriptFromFile(GF_Node *node, const char *opt_file, Bool no_complain,
      JSValue *rval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/vrml_js.c:256,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/vrml_js.c:256,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:259,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/vrml_js.c:257,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/vrml_js.c:257,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:261,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:262,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - col
    argTypes:
    - SFColor*
    constantsTouched: []
    func_position:
      end: 280
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 280
    functionName: SFColor_toHSV
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - MIN
    - gf_divfix
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void SFColor_toHSV(SFColor *col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: JS_GetScript
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetContextOpaque
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE M_Script *JS_GetScript(JSContext *c) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/vrml_js.c:4123,1
    - Dst: gf_js_create_context
      Src: /src/gpac/src/scenegraph/vrml_js.c:4135,1
    - Dst: JS_SetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4143,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:4161,1
    - Dst: qjs_module_init_xhr_global
      Src: /src/gpac/src/scenegraph/vrml_js.c:4158,1
    - Dst: JS_InitScriptFields
      Src: /src/gpac/src/scenegraph/vrml_js.c:4164,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4176,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/scenegraph/vrml_js.c:4178,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/vrml_js.c:4178,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:4187,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/vrml_js.c:4204,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4127,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4125,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4126,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:4128,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4137,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4148,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4154,1
    - Dst: dom_js_define_event
      Src: /src/gpac/src/scenegraph/vrml_js.c:4153,1
    - Dst: vrml_js_init_api
      Src: /src/gpac/src/scenegraph/vrml_js.c:4144,1
    - Dst: dom_js_load
      Src: /src/gpac/src/scenegraph/vrml_js.c:4151,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:4188,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:4183,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:4118,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4141,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/scenegraph/vrml_js.c:4146,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4172,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:4182,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4184,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4184,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:4189,1
    - Dst: gf_js_vrml_flush_event_out
      Src: /src/gpac/src/scenegraph/vrml_js.c:4196,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:4200,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/scenegraph/vrml_js.c:4178,1
    - Dst: do_js_gc
      Src: /src/gpac/src/scenegraph/vrml_js.c:4208,1
    - Dst: JSScriptFromFile
      Src: /src/gpac/src/scenegraph/vrml_js.c:4171,1
    - Dst: JS_Eval
      Src: /src/gpac/src/scenegraph/vrml_js.c:4181,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/vrml_js.c:4181,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/vrml_js.c:4187,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:4190,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4192,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4193,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4194,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4198,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4203,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4206,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 90
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4209
      start: 4103
    functionDepth: 0
    functionLinenumber: 4103
    functionLinenumberEnd: 4209
    functionName: JSScript_LoadVRML
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - JSScriptFromFile
    - JS_Eval
    - js_dump_error
    - dom_js_load
    - JS_DupValue
    - JS_Call
    - do_js_gc
    - JS_SetContextOpaque
    - gf_list_new
    - dom_js_define_event
    - gf_node_get_scene_time
    - JS_DetectModule
    - JS_IsFunction
    - JS_IsUndefined
    - gf_js_vrml_flush_event_out
    - strchr
    - JS_NewFloat64
    - qjs_init_all_modules
    - vrml_js_init_api
    - strnicmp
    - qjs_module_init_xhr_global
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_InitScriptFields
    - js_std_loop
    - gf_js_create_context
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void JSScript_LoadVRML(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1626
    functionName: vec2f_subtract
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_subtract(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1650
    functionName: vec2f_dot
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_dot(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1634
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1634
    functionName: vec2f_multiply
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_multiply(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:322,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:325,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: getCurrentFrameRate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetContextOpaque
    - ScriptAction
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getCurrentFrameRate(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_js.c:488,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:513,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_js.c:504,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/vrml_js.c:505,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:521,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:520,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:525,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:501,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:501,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:514,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:518,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:495,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:493,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:511,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:522,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/vrml_js.c:524,1
    - Dst: do_js_gc
      Src: /src/gpac/src/scenegraph/vrml_js.c:527,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:517,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:516,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - node
    - _r
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 528
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 528
    functionName: on_route_to_object
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - JS_FreeValue
    - memset
    - JS_IsNull
    - gf_node_get_private
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - JS_IsUndefined
    - js_std_loop
    - do_js_gc
    - JS_Call
    - gf_sg_script_to_qjs_field
    linkageType: ''
    returnType: void
    signature: 'static void on_route_to_object(GF_Node *node, GF_Route *_r) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:976,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:1001,1
    - Dst: gf_js_context_is_valid
      Src: /src/gpac/src/scenegraph/vrml_js.c:999,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:996,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_js.c:990,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_js.c:1002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - rt
    - obj
    - ptr
    - is_js_call
    argTypes:
    - JSRuntime*
    - JSValue
    - GF_JSField*
    - Bool
    constantsTouched: []
    func_position:
      end: 1006
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1006
    functionName: JS_ObjectDestroyed
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_js_context_is_valid
    - gf_list_del_item
    - JS_GetScriptStack
    linkageType: ''
    returnType: void
    signature: 'static void JS_ObjectDestroyed(JSRuntime *rt, JSValue obj, GF_JSField
      *ptr, Bool is_js_call) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1927,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1928,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:1931,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1937,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1930,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1942,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1947,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1952,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:1959,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1961
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1961
    functionName: rot_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - Script_FieldChanged
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2247
    functionName: MFFloatConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFFloatConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1967,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1971,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1970,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1973
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1973
    functionName: rot_getAxis
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFVec3f_Create
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_getAxis(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1630
    functionName: vec2f_negate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_negate(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:330,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:335,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:333,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: getWorldURL
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - JS_GetContextOpaque
    - ScriptAction
    - gf_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getWorldURL(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:542,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:547,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:550,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:551,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:557,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:573,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:576,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:577,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:586,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:593,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:651,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:635,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:538,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:544,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:548,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:561,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:554,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:574,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:587,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:597,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:609,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:620,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:621,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:596,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:655,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/scenegraph/vrml_js.c:622,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:627,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:547,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:558,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:569,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:552,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:578,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:590,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:606,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:633,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:625,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:644,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:660,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:659,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:661,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:654,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:606,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:540,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:539,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:561,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:566,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:563,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:571,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/scenegraph/vrml_js.c:608,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:611,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:614,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:615,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:653,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:594,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:656,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 144
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 666
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 666
    functionName: addRoute
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_field_by_name
    - GF_LOG
    - gf_sg_route_new
    - GF_SAFEALLOC
    - gf_sg_script_field_new
    - GF_JS_EXCEPTION
    - JS_ToCString
    - gf_strdup
    - JS_GetOpaque
    - JS_DupValue
    - atoi
    - JS_IsObject
    - stricmp
    - gf_assert
    - gf_list_new
    - JS_FreeAtom
    - JS_FreeCString
    - JS_IsFunction
    - gf_list_enum
    - gf_node_get_field
    - JS_AtomToCString
    - JS_IsString
    - JS_ValueToAtom
    - strnicmp
    - gf_free
    - JS_GetScript
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue addRoute(JSContext *c, JSValueConst this_val, int argc,
      JSValueConst *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1018,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1035,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1032,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:1036,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1054,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:1042,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1049,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:1031,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1048,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1050,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1041,1
    - Dst: sffield_toString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1056,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1065,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:1015,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1023,1
    - Dst: sffield_toString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1019,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:1031,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1037,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1043,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:1055,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1060,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1062,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1064,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1067
    functionName: field_toString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - sffield_toString
    - JS_GetOpaque_Nocheck
    - gf_dynstrcat
    - JS_ToBool
    - JS_ToCString
    - JS_FreeCString
    - JS_NewString
    - sprintf
    - gf_sg_vrml_is_sf_field
    - gf_free
    - JS_IsObject
    - JS_ToFloat64
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue field_toString(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1638
    functionName: vec2f_divide
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_divide(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2251
    functionName: MFTimeConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFTimeConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:2821,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2824,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:2829,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:2823,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2831,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2832,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2838,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2840,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2842
    functionName: field_gc_mark
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - JS_MarkValue
    - gf_list_enum
    - JS_IsUndefined
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void field_gc_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:349,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:349,1
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:354,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:350,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:350,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_js.c:361,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:363,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:364,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:365,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:369,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:372,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:379,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:376,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:378,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - priv
    - node
    argTypes:
    - GF_ScriptPriv*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 386
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 386
    functionName: node_get_binding
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - GF_LOG
    - NewJSField
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - JS_IsObject
    - gf_node_register
    - gf_assert
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue node_get_binding(GF_ScriptPriv *priv, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:1365,1
    - Dst: MIN
      Src: /src/gpac/src/scenegraph/vrml_js.c:1373,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:1366,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:1372,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - c
    - obj
    - w
    - h
    - nbComp
    - pixels
    argTypes:
    - JSContext*
    - JSValue
    - u32
    - u32
    - u32
    - MFInt32*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1377
    functionName: SFImage_Create
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - MIN
    - gf_sg_vrml_field_pointer_new
    - NewJSField
    - JS_SetOpaque
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *SFImage_Create(JSContext *c, JSValue obj,
      u32 w, u32 h, u32 nbComp, MFInt32 *pixels) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:390,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:392,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:391,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: getScript
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - node_get_binding
    - JS_GetContextOpaque
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getScript(JSContext *c, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1384,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:1385,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:1385,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1385,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:1385,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1386,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1388,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1389,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1391,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:1392,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1395,1
    - Dst: SFImage_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1396,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1394,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1398
    functionName: SFImageConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFImage_Create
    - JS_IsException
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFImageConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:1658,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:1659,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - c
    - obj
    - x
    - y
    - z
    argTypes:
    - JSContext*
    - JSValue
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1667
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1667
    functionName: SFVec3f_Create
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - gf_sg_vrml_field_pointer_new
    - NewJSField
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *SFVec3f_Create(JSContext *c, JSValue obj,
      Fixed x, Fixed y, Fixed z) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:3985,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:4005,1
    - Dst: vrml_js_load_script
      Src: /src/gpac/src/scenegraph/vrml_js.c:3991,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3993,1
    - Dst: svg_js_load_script
      Src: /src/gpac/src/scenegraph/vrml_js.c:3999,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4006,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:4010,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4011,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4014,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scenegraph/vrml_js.c:4014,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 4016
      start: 3980
    functionDepth: 0
    functionLinenumber: 3980
    functionLinenumberEnd: 4016
    functionName: async_script_sess_io
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_dm_sess_get_cache_name
    - gf_error_to_string
    - GF_LOG
    - gf_dm_sess_del
    - vrml_js_load_script
    - gf_free
    - svg_js_load_script
    linkageType: ''
    returnType: void
    signature: 'void async_script_sess_io(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:910,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:911,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:912,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:916,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:913,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:919,1
    - Dst: gf_sg_script_to_node_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:920,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - c
    - this_val
    - val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 926
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 926
    functionName: gf_sg_script_eventout_set_prop
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_node_get_field
    - gf_sg_script_to_node_field
    - JS_GetScript
    - GF_JS_EXCEPTION
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gf_sg_script_eventout_set_prop(JSContext *c, JSValueConst
      this_val, JSValueConst val, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1516,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1521,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1521,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1517,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1523,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1528
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1528
    functionName: vec2f_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1566,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1567,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1586,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1601,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1598,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1605,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1605,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1613,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1613,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1572,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1583,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1585,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1595,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1586,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1605,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1609,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1609,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1613,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1571,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1583,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1604,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1609,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/scenegraph/vrml_js.c:1612,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1573,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1574,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/scenegraph/vrml_js.c:1583,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1586,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1592,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1586,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1589,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1608,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - op
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 1617
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1617
    functionName: vec2f_operand
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - FLT2FIX
    - gf_v2d_len
    - JS_GetOpaque
    - JS_NewObjectClass
    - gf_divfix
    - JS_NewFloat64
    - SFVec2f_Create
    - JS_IsObject
    - FIX2FLT
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_operand(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv, u32 op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:3835,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3842,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_js.c:3838,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_js.c:3843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - node
    - priv
    argTypes:
    - GF_Node*
    - GF_ScriptPriv*
    constantsTouched: []
    func_position:
      end: 3848
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3848
    functionName: gf_js_vrml_flush_event_out
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_node_changed
    - gf_node_get_field
    - gf_node_event_out
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_js_vrml_flush_event_out(GF_Node *node, GF_ScriptPriv
      *priv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1535,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1538,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1544,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:1539,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1536,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1549,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:1556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1558
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1558
    functionName: vec2f_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - Script_FieldChanged
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec2f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1622
    functionName: vec2f_add
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec2f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec2f_add(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - mftype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3347
      start: 3336
    functionDepth: 0
    functionLinenumber: 3336
    functionLinenumberEnd: 3347
    functionName: get_sf_class
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_JSClass*
    signature: 'static GF_JSClass *get_sf_class(u32 mftype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3875,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:3876,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:3876,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:3877,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3882,1
    - Dst: gf_js_vrml_flush_event_out
      Src: /src/gpac/src/scenegraph/vrml_js.c:3904,1
    - Dst: do_js_gc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3906,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3898,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3899,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3896,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:3893,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/vrml_js.c:3901,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:3876,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:3892,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:3891,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_js.c:3865,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:3873,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/vrml_js.c:3866,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3878,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_js.c:3884,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3889,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3897,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:3902,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - node
    - in_field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 3907
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3907
    functionName: JS_EventIn
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - JS_FreeValue
    - gf_list_get
    - JS_IsNull
    - memset
    - gf_js_lock
    - JS_IsFunction
    - JS_IsException
    - js_dump_error
    - JS_IsUndefined
    - js_std_loop
    - gf_js_vrml_flush_event_out
    - gf_sg_script_to_qjs_field
    - JS_Call
    - do_js_gc
    - JS_GetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'static void JS_EventIn(GF_Node *node, GF_FieldInfo *in_field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4453,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4462,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4463,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:4462,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:4461,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/vrml_js.c:4464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 4468
      start: 4449
    functionDepth: 0
    functionLinenumber: 4449
    functionLinenumberEnd: 4468
    functionName: gf_sg_js_get_node
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsUndefined
    - JS_GetOpaque
    - dom_get_element
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_sg_js_get_node(JSContext *c, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:1493,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1499,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:1494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - x
    - y
    argTypes:
    - JSContext*
    - JSValue
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1501
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1501
    functionName: SFVec2f_Create
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - gf_sg_vrml_field_pointer_new
    - NewJSField
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *SFVec2f_Create(JSContext *c, JSValue obj,
      Fixed x, Fixed y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1820
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1820
    functionName: vec3f_divide
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_divide(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1828
    functionName: vec3f_normalize
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_normalize(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1832
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1832
    functionName: vec3f_dot
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_dot(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1506,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1510,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1509,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1510,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1508,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1512
    functionName: SFVec2fConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewObjectClass
    - JS_ToFloat64
    - FLT2FIX
    - SFVec2f_Create
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFVec2fConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1824
    functionName: vec3f_length
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_length(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:952,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:967,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:938,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:945,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:952,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:953,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:959,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:960,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:938,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:938,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:945,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:946,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:952,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:959,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:959,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:952,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:959,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:945,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/scenegraph/vrml_js.c:939,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:945,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:952,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:966,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - str
    - f_ptr
    - fieldType
    argTypes:
    - char**
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 972
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 972
    functionName: sffield_toString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - FIX2FLT
    - sprintf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void sffield_toString(char **str, void *f_ptr, u32
      fieldType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: JS_GetScriptStack
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetContextOpaque
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_ScriptPriv *JS_GetScriptStack(JSContext *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:399,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:403,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:401,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:401,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:403,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:405,1
    - Dst: JSScriptFromFile
      Src: /src/gpac/src/scenegraph/vrml_js.c:407,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: loadScript
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JSScriptFromFile
    - JS_FreeCString
    - JS_IsString
    - JS_IsBool
    - JS_GetContextOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue loadScript(JSContext *c, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2255
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2255
    functionName: MFStringConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFStringConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: getName
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getName(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:415,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:422,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:422,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: getProto
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - node_get_binding
    - JS_GetContextOpaque
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getProto(JSContext *c, JSValueConst this_val, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2259
    functionName: MFURLConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFURLConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1978,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1982,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1981,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1984
    functionName: rot_inverse
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - SFRotation_Create
    - GF_JS_EXCEPTION
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_inverse(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/scenegraph/vrml_js.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - c
    - node
    argTypes:
    - JSContext*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: do_js_gc
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_js_call_gc
    linkageType: ''
    returnType: void
    signature: 'void do_js_gc(JSContext *c, GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:456,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:457,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:458,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/vrml_js.c:459,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:458,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:460,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:461,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:463,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/vrml_js.c:466,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:467,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:469,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:470,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:470,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 471
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 471
    functionName: getElementById
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_sg_find_node
    - node_get_binding
    - GF_JS_EXCEPTION
    - JS_DupValue
    - JS_IsString
    - gf_sg_find_node_by_name
    - JS_GetScriptStack
    - JS_GetContextOpaque
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getElementById(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:1349,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:1353,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1354,1
    - Dst: JS_ObjectDestroyed
      Src: /src/gpac/src/scenegraph/vrml_js.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1355
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1355
    functionName: field_finalize
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ObjectDestroyed
    - JS_GetOpaque_Nocheck
    - gf_sg_vrml_field_pointer_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void field_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1804
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1804
    functionName: vec3f_add
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_add(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1812
    functionName: vec3f_negate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_negate(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: replaceWorld
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue replaceWorld(JSContext *c, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1808
    functionName: vec3f_subtract
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_subtract(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    functionName: vec3f_multiply
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_multiply(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1992,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1995,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1997,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1993,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1994,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1998,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2001,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2002,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/scenegraph/vrml_js.c:2003,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2004,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2006,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:2007,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2009
    functionName: rot_multiply
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_quat_to_rotation
    - gf_quat_from_rotation
    - gf_quat_multiply
    - JS_GetOpaque
    - JS_NewObjectClass
    - SFRotation_Create
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_multiply(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1303,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:1313,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1305,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1312,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:1308,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1314,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1315,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1319,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1323,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1324,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1332,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/vrml_js.c:1338,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1332,1
    - Dst: gf_sg_proto_mark_field_loaded
      Src: /src/gpac/src/scenegraph/vrml_js.c:1339,1
    - Dst: gf_sg_script_to_node_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1341,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1336,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1331,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - c
    - obj
    - atom
    - value
    - receiver
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1343
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1343
    functionName: node_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_mark_field_loaded
    - JS_FreeCString
    - gf_node_get_tag
    - gf_node_get_field_by_name
    - gf_node_get_field
    - JS_DefinePropertyValue
    - JS_AtomToCString
    - JS_GetOpaque
    - JS_DupValue
    - atoi
    - strnicmp
    - gf_sg_script_to_node_field
    - gf_assert
    linkageType: ''
    returnType: int
    signature: 'static int node_setProperty(JSContext *c, JSValueConst obj, JSAtom
      atom, JSValueConst value, JSValueConst receiver, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1209,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1213,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1210,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1212,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/vrml_js.c:1213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1214
    functionName: node_getTime
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue node_getTime(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:1844,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:1845,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - c
    - obj
    - x
    - y
    - z
    - q
    argTypes:
    - JSContext*
    - JSValue
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1854
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1854
    functionName: SFRotation_Create
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - gf_sg_vrml_field_pointer_new
    - NewJSField
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *SFRotation_Create(JSContext *c, JSValue
      obj, Fixed x, Fixed y, Fixed z, Fixed q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2193,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:2200,1
    - Dst: SFColor_toHSV
      Src: /src/gpac/src/scenegraph/vrml_js.c:2198,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2194,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/scenegraph/vrml_js.c:2199,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2202,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2202,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2202,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2203,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2203,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2203,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2204,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2204,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2206
    functionName: color_getHSV
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - JS_IsException
    - SFColor_toHSV
    - JS_GetOpaque
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue color_getHSV(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2665
    functionName: MFVec3fConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFVec3fConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2880,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2886,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2887,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2884,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2895,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2896,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2908,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2907,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2912,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/scenegraph/vrml_js.c:2913,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2918,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2914,1
    - Dst: countof
      Src: /src/gpac/src/scenegraph/vrml_js.c:2913,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:2872,1
    - Dst: SETUP_JSCLASS_BASIC
      Src: /src/gpac/src/scenegraph/vrml_js.c:2876,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/vrml_js.c:2873,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2879,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2881,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2899,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2899,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2922,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2882,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2889,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2893,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2890,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2891,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2892,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2888,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2894,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2900,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2900,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2906,1
    - Dst: SETUP_JSCLASS_BASIC
      Src: /src/gpac/src/scenegraph/vrml_js.c:2875,1
    - Dst: SETUP_JSCLASS_BASIC
      Src: /src/gpac/src/scenegraph/vrml_js.c:2877,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/vrml_js.c:2883,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2901,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2901,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2904,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2921,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:2909,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - sc
    - script
    argTypes:
    - GF_ScriptPriv*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2924
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2924
    functionName: vrml_js_init_api
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SETUP_JSCLASS
    - JS_SetPropertyFunctionList
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_NewCFunction
    - countof
    - SETUP_JSCLASS_BASIC
    - JS_GetGlobalObject
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'static void vrml_js_init_api(GF_ScriptPriv *sc, GF_Node *script) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:859,1
    - Dst: gf_node_changed_internal
      Src: /src/gpac/src/scenegraph/vrml_js.c:866,1
    - Dst: gf_sg_proto_propagate_event
      Src: /src/gpac/src/scenegraph/vrml_js.c:872,1
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/src/scenegraph/vrml_js.c:865,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:872,1
    - Dst: gf_node_event_out_proto
      Src: /src/gpac/src/scenegraph/vrml_js.c:874,1
    - Dst: gf_node_changed_internal
      Src: /src/gpac/src/scenegraph/vrml_js.c:879,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_js.c:882,1
    - Dst: gf_node_changed_internal
      Src: /src/gpac/src/scenegraph/vrml_js.c:883,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:892,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 4
    argNames:
    - c
    - parent
    - parent_owner
    - field
    argTypes:
    - JSContext*
    - GF_Node*
    - GF_JSField*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 901
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 901
    functionName: Script_FieldChanged
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_changed_internal
    - gf_sg_proto_propagate_event
    - gf_list_enum
    - gf_node_event_out_proto
    - gf_sg_script_event_in
    - JS_GetScript
    - JS_GetContextOpaque
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void Script_FieldChanged(JSContext *c, GF_Node *parent, GF_JSField
      *parent_owner, GF_FieldInfo *field) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1226,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1230,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1227,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1234,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1237,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1238,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1245,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1240,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1250,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1251,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:1283,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1283,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1280,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:1231,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1246,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1247,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1245,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1269,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1290,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1278,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1273,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1236,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1241,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1249,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:1242,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1258,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1259,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1277,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1279,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:1282,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1282,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:1284,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:1257,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:1285,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1256,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1285,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1284,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:1228,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1233,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:1249,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1260,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1263,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:1264,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:1272,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1286,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1265,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 93
    argCount: 4
    argNames:
    - c
    - obj
    - atom
    - receiver
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1292
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1292
    functionName: node_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_FreeCString
    - gf_node_get_field_by_name
    - strcmp
    - gf_node_get_field
    - JS_AtomToCString
    - JS_GetOpaque
    - JS_DupValue
    - gf_sg_script_to_qjs_field
    - atoi
    - ScriptAction
    - strnicmp
    - JS_NewObjectClass
    - JS_NewFloat64
    - gf_assert
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue node_getProperty(JSContext *c, JSValueConst obj, JSAtom
      atom, JSValueConst receiver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2212,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:2223,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2216,1
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:2213,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:2219,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2223,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2224,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2226,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 7
    argNames:
    - c
    - new_target
    - argc
    - argv
    - mf_class_id
    - sf_class_id
    - fieldType
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - JSClassID
    - JSClassID
    - u32
    constantsTouched: []
    func_position:
      end: 2234
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2234
    functionName: genmf_Constructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - NewJSField
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_GetOpaque
    - JS_DupValue
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue genmf_Constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv, JSClassID mf_class_id, JSClassID sf_class_id,
      u32 fieldType) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2975,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:3005,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3065,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_js.c:3109,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3078,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3163,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3083,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:2939,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:3139,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3050,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2962,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:2999,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/vrml_js.c:3082,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:3152,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_js.c:2994,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:3077,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3111,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:3153,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3156,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3173,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3057,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:2945,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2984,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2988,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:2996,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3143,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3055,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3034,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3133,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2977,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:2985,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3004,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:3027,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3122,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:3151,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3166,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3103,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scenegraph/vrml_js.c:3108,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2987,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2998,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3014,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3171,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:2940,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2955,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2964,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:2976,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:2974,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3006,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3177,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3039,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2950,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:3016,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3041,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:3090,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3179,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3199,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3062,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3064,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2971,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3000,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3185,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2946,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3008,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_js.c:3013,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3019,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3138,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3058,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:3162,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_js.c:3164,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:3130,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3049,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_js.c:3098,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3076,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3018,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2956,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2979,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2993,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:3072,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3183,1
    - Dst: JSScript_NodeModified
      Src: /src/gpac/src/scenegraph/vrml_js.c:3113,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2957,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3003,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3047,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3189,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3150,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:3042,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_js.c:3121,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2951,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3015,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3031,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3033,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3191,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 195
    argCount: 5
    argNames:
    - c
    - val
    - field
    - owner
    - parent
    argTypes:
    - JSContext*
    - JSValue
    - GF_FieldInfo*
    - GF_Node*
    - GF_JSField*
    constantsTouched: []
    func_position:
      end: 3200
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 3200
    functionName: gf_sg_script_to_node_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - gf_node_unregister
    - JS_ToInt32
    - JS_ToCString
    - gf_strdup
    - strcmp
    - Script_FieldChanged
    - FLT2FIX
    - gf_sg_vrml_mf_reset
    - JS_GetOpaque
    - JS_IsObject
    - gf_sg_vrml_field_copy
    - gf_node_unregister_children
    - JS_GetOpaque_Nocheck
    - JS_FreeCString
    - JS_IsUndefined
    - gf_free
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - JS_ToFloat64
    - gf_node_list_add_child_last
    - JS_ToBool
    - JSScript_NodeModified
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_script_to_node_field(JSContext *c, JSValue val, GF_FieldInfo
      *field, GF_Node *owner, GF_JSField *parent) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_load_data
      Src: /src/gpac/src/scenegraph/vrml_js.c:3921,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:3938,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/scenegraph/vrml_js.c:3926,1
    - Dst: JS_Eval
      Src: /src/gpac/src/scenegraph/vrml_js.c:3937,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/scenegraph/vrml_js.c:3926,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:3940,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3943,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3948,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:3949,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:3950,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:3951,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:3959,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3955,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3957,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/vrml_js.c:3961,1
    - Dst: gf_js_vrml_flush_event_out
      Src: /src/gpac/src/scenegraph/vrml_js.c:3954,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:3952,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - script
    - file
    - primary_script
    - rval
    argTypes:
    - M_Script*
    - char*
    - Bool
    - JSValue*
    constantsTouched: []
    func_position:
      end: 3963
      start: 3909
    functionDepth: 0
    functionLinenumber: 3909
    functionLinenumberEnd: 3963
    functionName: vrml_js_load_script
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_file_load_data
    - JS_DetectModule
    - JS_IsFunction
    - JS_IsException
    - JS_Eval
    - js_dump_error
    - js_std_loop
    - gf_js_vrml_flush_event_out
    - JS_Call
    - gf_free
    - gf_opts_get_bool
    - JS_GetPropertyStr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vrml_js_load_script(M_Script *script, char *file, Bool
      primary_script, JSValue *rval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:4373,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4397,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4422,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4367,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4367,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4371,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:4376,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:4399,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4399,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:4406,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4394,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:4404,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4410,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/vrml_js.c:4413,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4415,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4416,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4419,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/vrml_js.c:4421,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4379,1
    - Dst: gf_dom_new_event
      Src: /src/gpac/src/scenegraph/vrml_js.c:4383,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4384,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:4384,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:4385,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4386,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/vrml_js.c:4402,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:4405,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:4412,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - node
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4425
      start: 4352
    functionDepth: 0
    functionLinenumber: 4352
    functionLinenumberEnd: 4425
    functionName: gf_sg_handle_dom_event_for_vrml
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyStr
    - JS_GetOpaque_Nocheck
    - JS_FreeValue
    - JS_IsNull
    - gf_js_lock
    - JS_IsFunction
    - JS_IsException
    - GF_LOG
    - js_dump_error
    - JS_IsUndefined
    - JS_SetOpaque
    - js_std_loop
    - gf_dom_new_event
    - JS_Call
    - JS_GetScriptStack
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_handle_dom_event_for_vrml(GF_Node *node, GF_DOM_Event
      *event, GF_Node *observer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec3f_operand
      Src: /src/gpac/src/scenegraph/vrml_js.c:1835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1836
    functionName: vec3f_cross
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - vec3f_operand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_cross(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2659
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2659
    functionName: MFVec2fConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFVec2fConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_finalize_ex
      Src: /src/gpac/src/scenegraph/vrml_js.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: node_finalize
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - node_finalize_ex
    linkageType: ''
    returnType: void
    signature: 'static void node_finalize(JSRuntime *rt, JSValue val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:1403,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1410,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1409,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1404,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1405,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1411,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1415,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1418,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - c
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1426
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1426
    functionName: image_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewInt32
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue image_getProperty(JSContext *c, JSValueConst this_val,
      int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1672,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1674,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1677,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1675,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1676,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1677,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1677,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1679
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1679
    functionName: SFVec3fConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFVec3f_Create
    - JS_NewObjectClass
    - JS_ToFloat64
    - FLT2FIX
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFVec3fConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1702,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1705,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:1706,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1712,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1717,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1722,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:1729,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1731
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1731
    functionName: vec3f_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - Script_FieldChanged
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_finalize_ex
      Src: /src/gpac/src/scenegraph/vrml_js.c:2293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: array_finalize
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - array_finalize_ex
    linkageType: ''
    returnType: void
    signature: 'static void array_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - scene
    - script_act
    - cbk
    argTypes:
    - GF_SceneGraph*
    - gf_sg_script_action
    - void*
    constantsTouched: []
    func_position:
      end: 4445
      start: 4434
    functionDepth: 0
    functionLinenumber: 4434
    functionLinenumberEnd: 4445
    functionName: gf_sg_set_script_action
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_set_script_action(GF_SceneGraph *scene, gf_sg_script_action
      script_act, void *cbk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1186,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scenegraph/vrml_js.c:1193,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:1196,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1187,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1191,1
    - Dst: snprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:1198,1
    - Dst: strncat
      Src: /src/gpac/src/scenegraph/vrml_js.c:1201,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:1201,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:1202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1203
    functionName: node_toString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - snprintf
    - JS_NewString
    - strncat
    - gf_node_get_name_and_id
    - JS_GetOpaque
    - gf_node_get_class_name
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue node_toString(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1433,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1439,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1443,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1448,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1434,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1452,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:1457,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1461,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1470,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1471,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:1484,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:1473,1
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1476,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:1475,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1486
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1486
    functionName: image_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - MAX
    - Script_FieldChanged
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue image_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1683,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1690,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1688,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1688,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1684,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1690,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1692,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1695
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1695
    functionName: vec3f_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1746,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/scenegraph/vrml_js.c:1761,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1764,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1782,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1782,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1786,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1786,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:1740,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:1745,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1741,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1759,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1778,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1766,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1782,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1785,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/scenegraph/vrml_js.c:1794,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1795,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1747,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:1748,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:1761,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1766,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:1769,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1782,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1786,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/scenegraph/vrml_js.c:1790,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1791,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:1761,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1772,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:1775,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:1781,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/scenegraph/vrml_js.c:1766,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_js.c:1786,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - op
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 1799
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1799
    functionName: vec3f_operand
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFVec3f_Create
    - gf_vec_cross
    - gf_vec_len
    - gf_vec_dot
    - gf_mulfix
    - FLT2FIX
    - JS_GetOpaque
    - JS_NewObjectClass
    - gf_vec_norm
    - gf_divfix
    - JS_NewFloat64
    - JS_IsObject
    - FIX2FLT
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vec3f_operand(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv, u32 op) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:2300,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2304,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:2308,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:2307,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/scenegraph/vrml_js.c:2302,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2310,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2312,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:2312,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:2314,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:2316,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2326,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:2319,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/vrml_js.c:2324,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/vrml_js.c:2317,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:2326,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:2326,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:2332,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - c
    - obj
    - atom
    - receiver
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 2335
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2335
    functionName: array_getElement
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - JS_GetOpaque_Nocheck
    - JS_FreeCString
    - JS_AtomIsArrayIndex
    - JS_NewInt32
    - strcmp
    - gf_node_list_get_child
    - node_get_binding
    - JS_AtomToCString
    - JS_DupValue
    - JS_NewCFunction
    - GF_JS_EXCEPTION
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue array_getElement(JSContext *c, JSValueConst obj, JSAtom
      atom, JSValueConst receiver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2687,1
    - Dst: gf_sg_js_event_add_listener
      Src: /src/gpac/src/scenegraph/vrml_js.c:2692,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2690,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2693
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2693
    functionName: vrml_event_add_listener
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_assert
    - GF_JS_EXCEPTION
    - gf_sg_js_event_add_listener
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vrml_event_add_listener(JSContext *c, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:309,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/scenegraph/vrml_js.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: getVersion
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - gf_gpac_version
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getVersion(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - c
    - scene
    - type
    - node
    - param
    argTypes:
    - JSContext*
    - GF_SceneGraph*
    - u32
    - GF_Node*
    - GF_JSAPIParam*
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: ScriptAction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetContextOpaque
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ScriptAction(JSContext *c, GF_SceneGraph *scene, u32 type,
      GF_Node *node, GF_JSAPIParam *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:314,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:316,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: getCurrentSpeed
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetContextOpaque
    - ScriptAction
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue getCurrentSpeed(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:436,1
    - Dst: gf_sm_load_svg_from_string
      Src: /src/gpac/src/scenegraph/vrml_js.c:442,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:439,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/vrml_js.c:444,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:443,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: vrml_parse_xml
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_element_construct
    - gf_sm_load_svg_from_string
    - JS_GetContextOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vrml_parse_xml(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3207,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3266,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3297,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:3289,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3283,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3313,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3313,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:3263,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3284,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3304,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3308,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:3308,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3209,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:3237,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3245,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3291,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3291,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3298,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3300,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3215,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:3221,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3229,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3237,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3253,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3285,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3264,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 5
    argNames:
    - priv
    - obj
    - jsf
    - field
    - parent
    argTypes:
    - GF_ScriptPriv*
    - JSValue
    - GF_JSField*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3319
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3319
    functionName: gf_sg_script_update_cached_object
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - JS_FreeValue
    - JS_SetPropertyStr
    - JS_GetPropertyUint32
    - JS_SetPropertyUint32
    - JS_NewInt32
    - GF_LOG
    - JS_NewString
    - sprintf
    - node_get_binding
    - JS_GetOpaque
    - gf_sg_vrml_is_sf_field
    - JS_DupValue
    - JS_NewFloat64
    - FIX2FLT
    - JS_ToInt32
    - JS_GetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: void
    signature: 'static void gf_sg_script_update_cached_object(GF_ScriptPriv *priv,
      JSValue obj, GF_JSField *jsf, GF_FieldInfo *field, GF_Node *parent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3745,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3749,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/vrml_js.c:3756,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:3774,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_js.c:3787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3736,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3746,1
    - Dst: JS_ReleaseRootObjects
      Src: /src/gpac/src/scenegraph/vrml_js.c:3753,1
    - Dst: gf_fs_unload_js_api
      Src: /src/gpac/src/scenegraph/vrml_js.c:3770,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:3736,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3748,1
    - Dst: gf_sg_js_dom_pre_destroy
      Src: /src/gpac/src/scenegraph/vrml_js.c:3756,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3764,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/scenegraph/vrml_js.c:3776,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3743,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/vrml_js.c:3741,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3762,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3759,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:3782,1
    - Dst: dom_js_unload
      Src: /src/gpac/src/scenegraph/vrml_js.c:3779,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3788
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3788
    functionName: JS_PreDestroy
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - dom_js_unload
    - JS_FreeValue
    - JS_GetContextOpaque
    - gf_js_lock
    - gf_node_get_log_name
    - gf_sg_js_dom_pre_destroy
    - gf_list_del
    - JS_ReleaseRootObjects
    - GF_LOG
    - gf_js_delete_context
    - gf_fs_unload_js_api
    - gf_list_del_item
    - JS_GetRuntime
    linkageType: ''
    returnType: void
    signature: 'static void JS_PreDestroy(GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:3800,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/scenegraph/vrml_js.c:3810,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/scenegraph/vrml_js.c:3812,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3806,1
    - Dst: JS_DefinePropertyGetSet
      Src: /src/gpac/src/scenegraph/vrml_js.c:3813,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/scenegraph/vrml_js.c:3814,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3818,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:3819,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:3820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - GF_ScriptPriv*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3824
      start: 3791
    functionDepth: 0
    functionLinenumber: 3791
    functionLinenumberEnd: 3824
    functionName: JS_InitScriptFields
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - gf_list_enum
    - JS_NewCFunction2
    - gf_node_get_field
    - JS_DefinePropertyGetSet
    - JS_FreeAtom
    - JS_SetPropertyStr
    - gf_sg_script_to_qjs_field
    linkageType: ''
    returnType: void
    signature: 'static void JS_InitScriptFields(GF_ScriptPriv *priv, GF_Node *sc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2103,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2107,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2105,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2106,1
    - Dst: SFColor_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:2108,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2108,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2108,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2110
    functionName: SFColorConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_NewObjectClass
    - JS_ToFloat64
    - SFColor_Create
    - FLT2FIX
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue SFColorConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:2139,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2145,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2138,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2136,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2150,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2155,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2164
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2164
    functionName: color_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - Script_FieldChanged
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue color_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2239
    functionName: MFBoolConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFBoolConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2113,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2119,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2117,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2114,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2117,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2119,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2122,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2128
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2128
    functionName: color_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue color_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2170,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2175,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2176,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2175,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2171,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2176,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2177,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2177,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2179,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2180,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_js.c:2183,1
    - Dst: SFColor_fromHSV
      Src: /src/gpac/src/scenegraph/vrml_js.c:2182,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2184,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2186
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2186
    functionName: color_setHSV
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFColor_fromHSV
    - Script_FieldChanged
    - FLT2FIX
    - JS_GetOpaque
    - gf_sg_vrml_field_copy
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue color_setHSV(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2243
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2243
    functionName: MFInt32Constructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFInt32Constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:793,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:794,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:794,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:795,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:796,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: setDescription
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_IsString
    - ScriptAction
    - JS_GetContextOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue setDescription(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:2017,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2024,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2020,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2018,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2021,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2025,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/scenegraph/vrml_js.c:2028,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2029,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/scenegraph/vrml_js.c:2030,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2031,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:2032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2034
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2034
    functionName: rot_multVec
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - SFVec3f_Create
    - gf_mx_apply_vec
    - gf_mx_add_rotation
    - gf_mx_init
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_multVec(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genmf_Constructor
      Src: /src/gpac/src/scenegraph/vrml_js.c:2262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2263
    functionName: MFNodeConstructor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - genmf_Constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue MFNodeConstructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:811,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:815,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:814,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:814,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:812,1
    - Dst: gf_sm_load_bt_from_string
      Src: /src/gpac/src/scenegraph/vrml_js.c:816,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:817,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:818,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:820,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_js.c:821,1
    - Dst: gf_sg_script_to_qjs_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:824,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_js.c:828,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_js.c:829,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:835,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:830,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:832,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:827,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 837
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 837
    functionName: createVrmlFromString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_sm_load_bt_from_string
    - JS_FreeCString
    - memset
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_node_unregister
    - JS_IsString
    - gf_sg_script_to_qjs_field
    - gf_list_rem
    - JS_GetContextOpaque
    - GF_JS_EXCEPTION
    - JS_GetScriptStack
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue createVrmlFromString(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:2040,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2041,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2042,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2043,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2046,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2047,1
    - Dst: Script_FieldChanged
      Src: /src/gpac/src/scenegraph/vrml_js.c:2053,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2055
    functionName: rot_setAxis
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - Script_FieldChanged
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_setAxis(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:2268,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/scenegraph/vrml_js.c:2278,1
    - Dst: JS_ObjectDestroyed
      Src: /src/gpac/src/scenegraph/vrml_js.c:2270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:2273,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2279,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_js.c:2283,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:2286,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:2288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - rt
    - obj
    - is_js_call
    argTypes:
    - JSRuntime*
    - JSValue
    - Bool
    constantsTouched: []
    func_position:
      end: 2289
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2289
    functionName: array_finalize_ex
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - GF_LOG
    - JS_ObjectDestroyed
    - JS_FreeValueRT
    - gf_sg_vrml_field_pointer_del
    - gf_free
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void array_finalize_ex(JSRuntime *rt, JSValue obj, Bool is_js_call) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2698,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:2700,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2699,1
    - Dst: gf_sg_js_event_remove_listener
      Src: /src/gpac/src/scenegraph/vrml_js.c:2702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2703
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2703
    functionName: vrml_event_remove_listener
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_assert
    - gf_sg_js_event_remove_listener
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vrml_event_remove_listener(JSContext *c, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewError
      Src: /src/gpac/src/scenegraph/vrml_js.c:85,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:86,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:89,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:89,1
    - Dst: va_start
      Src: /src/gpac/src/scenegraph/vrml_js.c:93,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:94,1
    - Dst: va_end
      Src: /src/gpac/src/scenegraph/vrml_js.c:95,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:97,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:97,1
    - Dst: JS_Throw
      Src: /src/gpac/src/scenegraph/vrml_js.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - err
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - s32
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: js_throw_err_msg
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - va_end
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValueStr
    - va_start
    - JS_NewString
    - JS_Throw
    - vsnprintf
    - JS_NewError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue js_throw_err_msg(JSContext *ctx, s32 err, const char *fmt,
      ...) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:679,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:686,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:690,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:698,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:704,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:719,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:725,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:726,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:732,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:739,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:682,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:680,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:686,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:689,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:707,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:710,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:711,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:715,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:722,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:730,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:745,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:679,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:683,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:686,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_js.c:691,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:702,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:698,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/vrml_js.c:692,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:695,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:713,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:714,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_js.c:720,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:744,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:684,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:698,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:703,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:728,1
    - Dst: atoi
      Src: /src/gpac/src/scenegraph/vrml_js.c:729,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:735,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:736,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:743,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/vrml_js.c:718,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 749
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 749
    functionName: deleteRoute
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - gf_list_get
    - JS_FreeCString
    - JS_IsNull
    - gf_node_get_field_by_name
    - gf_list_enum
    - gf_list_count
    - strcmp
    - gf_node_get_field
    - gf_sg_route_del
    - JS_GetOpaque
    - JS_IsString
    - atoi
    - strnicmp
    - JS_IsObject
    - gf_assert
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue deleteRoute(JSContext *c, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewJSField
      Src: /src/gpac/src/scenegraph/vrml_js.c:2090,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:2091,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - c
    - obj
    - r
    - g
    - b
    argTypes:
    - JSContext*
    - JSValue
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 2099
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2099
    functionName: SFColor_Create
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - gf_sg_vrml_field_pointer_new
    - NewJSField
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_JSField *SFColor_Create(JSContext *c, JSValue obj,
      Fixed r, Fixed g, Fixed b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewError
      Src: /src/gpac/src/scenegraph/vrml_js.c:105,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/vrml_js.c:106,1
    - Dst: JS_Throw
      Src: /src/gpac/src/scenegraph/vrml_js.c:111,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/scenegraph/vrml_js.c:109,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - JSContext*
    - s32
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: js_throw_err
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValueStr
    - JS_Throw
    - JS_NewError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue js_throw_err(JSContext *ctx, s32 err) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:756,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:765,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:758,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:762,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:760,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:766,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:769,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:769,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:771,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:772,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/vrml_js.c:778,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/vrml_js.c:782,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:779,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/vrml_js.c:783,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 788
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 788
    functionName: loadURL
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_GetOpaque_Nocheck
    - JS_FreeCString
    - JS_IsString
    - ScriptAction
    - JS_IsObject
    - JS_GetContextOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue loadURL(JSContext *c, JSValueConst this_val, int argc,
      JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:4025,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/scenegraph/vrml_js.c:4035,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:4030,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4032,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - dnld_man
    - url
    - type
    - script
    - rval
    argTypes:
    - GF_DownloadManager*
    - char*
    - u32
    - GF_Node*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 4039
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4039
    functionName: vrml_svg_js_async_load
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_dm_sess_process
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vrml_svg_js_async_load(GF_DownloadManager *dnld_man, char *url,
      u32 type, GF_Node *script, JSValue *rval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4472
    functionDepth: 0
    functionLinenumber: 4472
    functionLinenumberEnd: 4480
    functionName: gf_sg_has_scripting
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_has_scripting() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/vrml_js.c:2064,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2066,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:2070,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2067,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2065,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2071,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:2074,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/vrml_js.c:2074,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2076,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2077,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/scenegraph/vrml_js.c:2079,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:2080,1
    - Dst: gf_quat_slerp
      Src: /src/gpac/src/scenegraph/vrml_js.c:2078,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:2081,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/vrml_js.c:2078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2083
    functionName: rot_slerp
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_quat_to_rotation
    - gf_quat_slerp
    - gf_quat_from_rotation
    - FLT2FIX
    - JS_GetOpaque
    - JS_NewObjectClass
    - SFRotation_Create
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rot_slerp(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:3478,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3489,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3498,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/vrml_js.c:3361,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:3433,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3466,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3540,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3571,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/vrml_js.c:3669,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:3665,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:3630,1
    - Dst: SFVec2f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:3556,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:3500,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3447,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3451,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3455,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3647,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3697,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3569,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3585,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:3664,1
    - Dst: SFColor_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:3604,1
    - Dst: get_sf_class
      Src: /src/gpac/src/scenegraph/vrml_js.c:3680,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3633,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:3386,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3439,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/vrml_js.c:3672,1
    - Dst: SFRotation_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:3588,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3365,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3374,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3376,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:3397,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3443,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:3651,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_js.c:3656,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:3373,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/scenegraph/vrml_js.c:3397,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3533,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3587,1
    - Dst: SFVec3f_Create
      Src: /src/gpac/src/scenegraph/vrml_js.c:3572,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:3641,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_js.c:3363,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3409,1
    - Dst: gf_sg_script_update_cached_object
      Src: /src/gpac/src/scenegraph/vrml_js.c:3424,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:3412,1
    - Dst: node_get_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:3461,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:3691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3658,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/scenegraph/vrml_js.c:3359,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3397,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3462,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3538,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3524,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/vrml_js.c:3663,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3509,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3553,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/vrml_js.c:3690,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3433,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/vrml_js.c:3625,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:3672,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/vrml_js.c:3629,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_js.c:3670,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_js.c:3653,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3399,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3500,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3511,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3520,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:3397,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/vrml_js.c:3603,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3601,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_js.c:3645,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3487,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_js.c:3537,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_js.c:3476,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/vrml_js.c:3367,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:3685,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/vrml_js.c:3363,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 256
    argCount: 4
    argNames:
    - priv
    - field
    - parent
    - force_evaluate
    argTypes:
    - GF_ScriptPriv*
    - GF_FieldInfo*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 3698
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3698
    functionName: gf_sg_script_to_qjs_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_IsNull
    - GF_LOG
    - GF_SAFEALLOC
    - FIX2FLT
    - JS_NewBool
    - SFVec3f_Create
    - gf_list_find
    - gf_list_count
    - JS_NewInt32
    - node_get_binding
    - get_sf_class
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - JS_GetOpaque
    - gf_list_new
    - gf_assert
    - JS_GetOpaque_Nocheck
    - gf_node_get_name
    - gf_node_get_log_name
    - gf_list_enum
    - JS_NewString
    - sprintf
    - gf_sg_script_update_cached_object
    - SFRotation_Create
    - JS_NewFloat64
    - gf_free
    - SFVec2f_Create
    - JS_FreeValue
    - gf_realloc
    - SFColor_Create
    - JS_GetScript
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue gf_sg_script_to_qjs_field(GF_ScriptPriv *priv, GF_FieldInfo
      *field, GF_Node *parent, Bool force_evaluate) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSScript_LoadVRML
      Src: /src/gpac/src/scenegraph/vrml_js.c:4222,1
    - Dst: JSScript_LoadSVG
      Src: /src/gpac/src/scenegraph/vrml_js.c:4227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4233
      start: 4211
    functionDepth: 0
    functionLinenumber: 4211
    functionLinenumberEnd: 4233
    functionName: JSScript_Load
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JSScript_LoadSVG
    - JSScript_LoadVRML
    linkageType: ''
    returnType: void
    signature: 'static void JSScript_Load(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_get_rt
      Src: /src/gpac/src/scenegraph/vrml_js.c:3702,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:3708,1
    - Dst: array_finalize_ex
      Src: /src/gpac/src/scenegraph/vrml_js.c:3720,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/scenegraph/vrml_js.c:3707,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:3705,1
    - Dst: node_finalize_ex
      Src: /src/gpac/src/scenegraph/vrml_js.c:3722,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:3726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - priv
    argTypes:
    - GF_ScriptPriv*
    constantsTouched: []
    func_position:
      end: 3728
      start: 3700
    functionDepth: 0
    functionLinenumber: 3700
    functionLinenumberEnd: 3728
    functionName: JS_ReleaseRootObjects
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_list_count
    - gf_js_get_rt
    - node_finalize_ex
    - array_finalize_ex
    - gf_assert
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void JS_ReleaseRootObjects(GF_ScriptPriv *priv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/vrml_js.c:4267,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/scenegraph/vrml_js.c:4280,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/vrml_js.c:4284,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:4332,1
    - Dst: gf_sg_script_update_cached_object
      Src: /src/gpac/src/scenegraph/vrml_js.c:4343,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/vrml_js.c:4264,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_js.c:4244,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_js.c:4247,1
    - Dst: JS_ObjectDestroyed
      Src: /src/gpac/src/scenegraph/vrml_js.c:4284,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4286,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_js.c:4298,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4320,1
    - Dst: svg_free_node_binding
      Src: /src/gpac/src/scenegraph/vrml_js.c:4270,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:4287,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_js.c:4289,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/vrml_js.c:4312,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_js.c:4322,1
    - Dst: JS_GetScriptStack
      Src: /src/gpac/src/scenegraph/vrml_js.c:4343,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_js.c:4243,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_js.c:4248,1
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/scenegraph/vrml_js.c:4279,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/vrml_js.c:4285,1
    - Dst: get_sf_class
      Src: /src/gpac/src/scenegraph/vrml_js.c:4306,1
    - Dst: JS_GetScript
      Src: /src/gpac/src/scenegraph/vrml_js.c:4342,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 92
    argCount: 4
    argNames:
    - sg
    - node
    - info
    - script
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4349
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4349
    functionName: JSScript_NodeModified
    functionSourceFile: /src/gpac/src/scenegraph/vrml_js.c
    functionUses: []
    functionsReached:
    - svg_free_node_binding
    - gf_node_unregister
    - gf_list_count
    - get_sf_class
    - JS_GetOpaque
    - gf_list_del_item
    - gf_assert
    - JS_GetRuntime
    - JS_GetScriptStack
    - gf_list_get
    - gf_list_enum
    - JS_VALUE_GET_PTR
    - JS_IsUndefined
    - gf_sg_script_update_cached_object
    - gf_free
    - JS_VALUE_HAS_REF_COUNT
    - JS_FreeValue
    - gf_node_get_private
    - JS_ObjectDestroyed
    - JS_GetScript
    linkageType: ''
    returnType: void
    signature: 'static void JSScript_NodeModified(GF_SceneGraph *sg, GF_Node *node,
      GF_FieldInfo *info, GF_Node *script) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:359,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: NewSFRotation
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFRotation*
    signature: 'static SFRotation *NewSFRotation() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:365,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: NewSFImage
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFImage*
    signature: 'static SFImage *NewSFImage() '
  - BBCount: 38
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 2
    argCount: 1
    argNames:
    - FieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1053
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1053
    functionName: gf_sg_vrml_get_sf_type
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_vrml_get_sf_type(u32 FieldType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:408,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: NewMFTime
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFTime*
    signature: 'static MFTime *NewMFTime() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:420,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: NewMFString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFString*
    signature: 'static MFString *NewMFString() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1067,1
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1070,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1077,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1078,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1079,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1087,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1088,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1094,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1102,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1106,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - mf
    - FieldType
    - new_ptr
    - InsertAt
    argTypes:
    - void*
    - u32
    - void**
    - u32
    constantsTouched: []
    func_position:
      end: 1112
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1112
    functionName: gf_sg_vrml_mf_insert
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_get_sf_size
    - gf_malloc
    - memset
    - gf_realloc
    - gf_sg_vrml_is_sf_field
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_insert(void *mf, u32 FieldType, void
      **new_ptr, u32 InsertAt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:414,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: NewMFInt32
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFInt32*
    signature: 'static MFInt32 *NewMFInt32() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:426,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: NewMFVec3f
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFVec3f*
    signature: 'static MFVec3f *NewMFVec3f() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - im
    argTypes:
    - SFImage
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: gf_sg_sfimage_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_sfimage_del(SFImage im) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:920,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:922,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - MFURL*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 927
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 927
    functionName: gf_sg_vrml_copy_mfurl
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_malloc
    - gf_strdup
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_vrml_copy_mfurl(MFURL *dst, MFURL *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - SFString
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: gf_sg_sfstring_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_sfstring_del(SFString par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFVec4f
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: gf_sg_mfvec4f_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfvec4f_del(MFVec4f par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_tools.c:160,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_tools.c:162,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_tools.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: gf_sg_vrml_parent_destroy
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_vrml_parent_destroy(GF_Node *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:432,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: NewMFVec3d
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFVec3d*
    signature: 'static MFVec3d *NewMFVec3d() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:444,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: NewMFVec2d
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFVec2d*
    signature: 'static MFVec2d *NewMFVec2d() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:456,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: NewMFColorRGBA
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFColorRGBA*
    signature: 'static MFColorRGBA *NewMFColorRGBA() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFDouble
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: gf_sg_mfdouble_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfdouble_del(MFDouble par) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1258,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1291,1
    - Dst: VRML_FieldCopyCast
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1293,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1298,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1300,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1256,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1261,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1274,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1287,1
    - Dst: VRML_FieldCopyCast
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1305,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1289,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1260,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1267,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1276,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1303,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1304,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1257,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1266,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1292,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 4
    argNames:
    - dest
    - dst_field_type
    - orig
    - ori_field_type
    argTypes:
    - void*
    - u32
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1308
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1308
    functionName: VRML_FieldCopyCast
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - sprintf
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - gf_free
    - gf_sg_vrml_mf_alloc
    - VRML_FieldCopyCast
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'void VRML_FieldCopyCast(void *dest, u32 dst_field_type, void *orig,
      u32 ori_field_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_clone
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - orig
    - field_type
    argTypes:
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1444
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1444
    functionName: gf_sg_vrml_field_copy
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_field_clone
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_vrml_field_copy(void *dest, void *orig, u32 field_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFAttrRef
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: gf_sg_mfattrref_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfattrref_del(MFAttrRef par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:169,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:171,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: gf_sg_delete_all_protos
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_del
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_delete_all_protos(GF_SceneGraph *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:438,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: NewMFVec2f
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFVec2f*
    signature: 'static MFVec2f *NewMFVec2f() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:450,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: NewMFColor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFColor*
    signature: 'static MFColor *NewMFColor() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:462,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: NewMFRotation
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFRotation*
    signature: 'static MFRotation *NewMFRotation() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFBool
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: gf_sg_mfbool_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfbool_del(MFBool par) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1332,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1326,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1335,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1341,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1362,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1399,1
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1413,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1427,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1432,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1433,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1354,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1357,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1386,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1396,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1429,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1434,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1323,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1329,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1338,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1344,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1347,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1367,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1349,1
    - Dst: gf_sg_vrml_command_clone
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1387,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1415,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1419,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1320,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1368,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1376,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1378,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1377,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1381,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1384,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1388,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1428,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 81
    argCount: 4
    argNames:
    - dest
    - orig
    - field_type
    - inScene
    argTypes:
    - void*
    - void*
    - u32
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1438
    functionName: gf_sg_vrml_field_clone
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_sg_vrml_get_sf_size
    - gf_list_get
    - gf_realloc
    - gf_list_count
    - gf_strdup
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_mf_reset
    - memcpy
    - gf_free
    - gf_sg_vrml_mf_alloc
    - gf_sg_vrml_command_clone
    - gf_sg_vrml_field_copy
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_vrml_field_clone(void *dest, void *orig, u32
      field_type, GF_SceneGraph *inScene) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1457,1
    - Dst: memcmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1468,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1530,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1501,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1490,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1532,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1533,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1534,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 80
    argCount: 3
    argNames:
    - dest
    - orig
    - field_type
    argTypes:
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1543
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1543
    functionName: gf_sg_vrml_field_equal
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_field_equal
    - memcmp
    - strcmp
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_vrml_field_equal(void *dest, void *orig, u32
      field_type) '
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 8
    argCount: 1
    argNames:
    - FieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 987
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 987
    functionName: gf_sg_vrml_get_sf_size
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_vrml_get_sf_size(u32 FieldType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/vrml_tools.c:113,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_tools.c:132,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_tools.c:114,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_tools.c:118,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_tools.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 144
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 144
    functionName: Node_on_remove_children
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_list_del_child
    - gf_node_changed
    - gf_node_unregister
    - gf_node_unregister_children
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void Node_on_remove_children(GF_Node *node, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:311,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: NewSFInt32
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFInt32*
    signature: 'static SFInt32 *NewSFInt32() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:323,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: NewSFVec3f
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFVec3f*
    signature: 'static SFVec3f *NewSFVec3f() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfurl_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:903,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - MFURL
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: gf_sg_mfurl_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_sfurl_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_mfurl_del(MFURL url) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1754,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1771,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1771,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1765,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1771,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1807,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1812,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1794,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1783,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1791,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1816,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1783,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1753,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1757,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1760,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1763,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1766,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1769,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1777,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1777,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1780,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1780,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1828,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1820,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1805,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1781,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1750,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1756,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1756,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1759,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1762,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1765,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1768,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1765,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1771,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1775,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1786,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1824,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1793,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1778,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1783,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1751,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1772,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1774,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1777,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1777,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1780,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1780,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1780,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1783,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1783,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1784,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1787,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 2
    argNames:
    - n
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1837
    functionName: gf_node_vrml_dump_attribute
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcat
    - gf_strdup
    - sprintf
    - strcpy
    - FIX2FLT
    linkageType: ''
    returnType: char*
    signature: 'char *gf_node_vrml_dump_attribute(GF_Node *n, GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: gf_sg_vrml_parent_setup
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_vrml_parent_setup(GF_Node *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:317,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: NewSFString
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFString*
    signature: 'static SFString *NewSFString() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:329,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: NewSFVec3d
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFVec3d*
    signature: 'static SFVec3d *NewSFVec3d() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:911,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - MFScript
    constantsTouched: []
    func_position:
      end: 914
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 914
    functionName: gf_sg_mfscript_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfscript_del(MFScript sc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1213,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1227,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1232,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1221,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - mf
    - FieldType
    - RemoveFrom
    argTypes:
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1239
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1239
    functionName: gf_sg_vrml_mf_remove
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_get_sf_size
    - gf_malloc
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_remove(void *mf, u32 FieldType, u32
      RemoveFrom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/vrml_tools.c:234,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/scenegraph/vrml_tools.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - parent
    - new_child
    - Position
    argTypes:
    - GF_Node*
    - GF_Node*
    - s32
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: gf_node_insert_child
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_node_list_insert_child
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_node_insert_child(GF_Node *parent, GF_Node *new_child,
      s32 Position) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: gf_sg_script_load
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_script_load(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:384,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: NewSFScript
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFScript*
    signature: 'static SFScript *NewSFScript() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFColor
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: gf_sg_mfcolor_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfcolor_del(MFColor par) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_tools.c:263,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:275,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_tools.c:267,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:270,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:274,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - sg
    - ProtoID
    - name
    argTypes:
    - GF_SceneGraph*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: gf_sg_find_proto
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - stricmp
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Proto *gf_sg_find_proto(GF_SceneGraph *sg, u32 ProtoID,
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_tools.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: NewSFAttrRef
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SFAttrRef*
    signature: 'static SFAttrRef *NewSFAttrRef() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFColorRGBA
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: gf_sg_mfcolorrgba_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfcolorrgba_del(MFColorRGBA par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:335,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: NewSFVec2f
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFVec2f*
    signature: 'static SFVec2f *NewSFVec2f() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:347,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: NewSFColor
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFColor*
    signature: 'static SFColor *NewSFColor() '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: InitNormalInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1626,1
    - Dst: InitScalarInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1646,1
    - Dst: InitBooleanFilter
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1670,1
    - Dst: InitPositionInterpolator4D
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1659,1
    - Dst: InitCoordinateInterpolator4D
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1661,1
    - Dst: InitCoordinateInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1619,1
    - Dst: InitCoordinateInterpolator2D
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1621,1
    - Dst: InitPositionInterpolator2D
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1641,1
    - Dst: PA2D_Init
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1653,1
    - Dst: InitIntegerSequencer
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1682,1
    - Dst: InitBooleanToggle
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1676,1
    - Dst: InitTimeTrigger
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1688,1
    - Dst: InitColorInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1614,1
    - Dst: InitPositionInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1636,1
    - Dst: InitValuator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1648,1
    - Dst: InitOrientationInterpolator
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1631,1
    - Dst: PA_Init
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1650,1
    - Dst: InitBooleanTrigger
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1679,1
    - Dst: InitBooleanSequencer
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1673,1
    - Dst: SA_Init
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1656,1
    - Dst: InitIntegerTrigger
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1685,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 23
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1693
    functionName: gf_sg_vrml_node_init
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - InitPositionInterpolator4D
    - InitOrientationInterpolator
    - InitBooleanFilter
    - InitColorInterpolator
    - InitNormalInterpolator
    - InitPositionInterpolator2D
    - InitBooleanToggle
    - InitBooleanSequencer
    - InitCoordinateInterpolator
    - InitScalarInterpolator
    - InitBooleanTrigger
    - InitValuator
    - InitCoordinateInterpolator4D
    - InitIntegerSequencer
    - InitPositionInterpolator
    - InitTimeTrigger
    - InitCoordinateInterpolator2D
    - PA2D_Init
    - InitIntegerTrigger
    - PA_Init
    - SA_Init
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sg_vrml_node_init(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:341,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: NewSFVec2d
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFVec2d*
    signature: 'static SFVec2d *NewSFVec2d() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:353,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: NewSFColorRGBA
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFColorRGBA*
    signature: 'static SFColorRGBA *NewSFColorRGBA() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1154,1
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1158,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1167,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1165,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - mf
    - FieldType
    - NbItems
    argTypes:
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1172
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1172
    functionName: gf_sg_vrml_mf_alloc
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_get_sf_size
    - gf_malloc
    - memset
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_is_sf_field
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_alloc(void *mf, u32 FieldType, u32
      NbItems) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: PA_Modified
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1731,1
    - Dst: SA_Modified
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1737,1
    - Dst: PA2D_Modified
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1734,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 5
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1741
    functionName: gf_sg_vrml_node_changed
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - PA2D_Modified
    - PA_Modified
    - SA_Modified
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sg_vrml_node_changed(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:396,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: NewMFBool
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFBool*
    signature: 'static MFBool *NewMFBool() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_tools.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: NewMFAttrRef
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: MFAttrRef*
    signature: 'static MFAttrRef *NewMFAttrRef() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFVec2f
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: gf_sg_mfvec2f_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfvec2f_del(MFVec2f par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - mf
    - FieldType
    - new_ptr
    argTypes:
    - void*
    - u32
    - void**
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: gf_sg_vrml_mf_append
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_insert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_append(void *mf, u32 FieldType, void
      **new_ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_get_node_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:45,1
    - Dst: gf_x3d_get_node_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - tag
    - NDTType
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: gf_node_in_table_by_tag
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_bifs_get_node_type
    - gf_x3d_get_node_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_node_in_table_by_tag(u32 tag, u32 NDTType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:402,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: NewMFFloat
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFFloat*
    signature: 'static MFFloat *NewMFFloat() '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: NewSFBool
      Src: /src/gpac/src/scenegraph/vrml_tools.c:490,1
    - Dst: NewSFString
      Src: /src/gpac/src/scenegraph/vrml_tools.c:500,1
    - Dst: NewSFVec2d
      Src: /src/gpac/src/scenegraph/vrml_tools.c:508,1
    - Dst: NewSFImage
      Src: /src/gpac/src/scenegraph/vrml_tools.c:516,1
    - Dst: NewMFTime
      Src: /src/gpac/src/scenegraph/vrml_tools.c:524,1
    - Dst: NewMFVec2f
      Src: /src/gpac/src/scenegraph/vrml_tools.c:532,1
    - Dst: NewMFColorRGBA
      Src: /src/gpac/src/scenegraph/vrml_tools.c:540,1
    - Dst: NewMFRotation
      Src: /src/gpac/src/scenegraph/vrml_tools.c:543,1
    - Dst: NewSFURL
      Src: /src/gpac/src/scenegraph/vrml_tools.c:552,1
    - Dst: NewSFDouble
      Src: /src/gpac/src/scenegraph/vrml_tools.c:494,1
    - Dst: NewSFVec3f
      Src: /src/gpac/src/scenegraph/vrml_tools.c:502,1
    - Dst: NewMFInt32
      Src: /src/gpac/src/scenegraph/vrml_tools.c:526,1
    - Dst: NewSFColor
      Src: /src/gpac/src/scenegraph/vrml_tools.c:510,1
    - Dst: NewSFAttrRef
      Src: /src/gpac/src/scenegraph/vrml_tools.c:518,1
    - Dst: NewMFVec3d
      Src: /src/gpac/src/scenegraph/vrml_tools.c:534,1
    - Dst: NewMFAttrRef
      Src: /src/gpac/src/scenegraph/vrml_tools.c:545,1
    - Dst: NewMFURL
      Src: /src/gpac/src/scenegraph/vrml_tools.c:554,1
    - Dst: NewSFFloat
      Src: /src/gpac/src/scenegraph/vrml_tools.c:492,1
    - Dst: NewSFTime
      Src: /src/gpac/src/scenegraph/vrml_tools.c:496,1
    - Dst: NewSFVec2f
      Src: /src/gpac/src/scenegraph/vrml_tools.c:504,1
    - Dst: NewMFBool
      Src: /src/gpac/src/scenegraph/vrml_tools.c:520,1
    - Dst: NewSFColorRGBA
      Src: /src/gpac/src/scenegraph/vrml_tools.c:512,1
    - Dst: NewMFString
      Src: /src/gpac/src/scenegraph/vrml_tools.c:528,1
    - Dst: NewMFVec2d
      Src: /src/gpac/src/scenegraph/vrml_tools.c:536,1
    - Dst: NewSFCommandBuffer
      Src: /src/gpac/src/scenegraph/vrml_tools.c:549,1
    - Dst: NewSFScript
      Src: /src/gpac/src/scenegraph/vrml_tools.c:557,1
    - Dst: NewSFInt32
      Src: /src/gpac/src/scenegraph/vrml_tools.c:498,1
    - Dst: NewSFVec3d
      Src: /src/gpac/src/scenegraph/vrml_tools.c:506,1
    - Dst: NewSFRotation
      Src: /src/gpac/src/scenegraph/vrml_tools.c:514,1
    - Dst: NewMFFloat
      Src: /src/gpac/src/scenegraph/vrml_tools.c:522,1
    - Dst: NewMFVec3f
      Src: /src/gpac/src/scenegraph/vrml_tools.c:530,1
    - Dst: NewMFColor
      Src: /src/gpac/src/scenegraph/vrml_tools.c:538,1
    - Dst: NewMFScript
      Src: /src/gpac/src/scenegraph/vrml_tools.c:559,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 35
    argCount: 1
    argNames:
    - FieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 562
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 562
    functionName: gf_sg_vrml_field_pointer_new
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - NewMFColorRGBA
    - NewMFURL
    - NewSFBool
    - NewMFVec2f
    - NewMFScript
    - NewMFVec2d
    - NewSFScript
    - NewSFVec2d
    - NewMFVec3d
    - NewSFDouble
    - NewMFBool
    - NewMFAttrRef
    - NewSFCommandBuffer
    - NewSFFloat
    - NewSFImage
    - NewSFURL
    - NewMFColor
    - NewMFFloat
    - NewSFColor
    - NewSFRotation
    - NewMFVec3f
    - NewMFInt32
    - NewSFVec3d
    - NewSFAttrRef
    - NewMFTime
    - NewSFVec3f
    - NewSFColorRGBA
    - NewSFVec2f
    - NewSFString
    - NewSFTime
    - NewMFString
    - NewMFRotation
    - NewSFInt32
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_sg_vrml_field_pointer_new(u32 FieldType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFVec2d
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: gf_sg_mfvec2d_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfvec2d_del(MFVec2d par) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1181,1
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - mf
    - FieldType
    - new_ptr
    - ItemPos
    argTypes:
    - void*
    - u32
    - void**
    - u32
    constantsTouched: []
    func_position:
      end: 1192
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1192
    functionName: gf_sg_vrml_mf_get_item
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_get_sf_size
    - gf_sg_vrml_is_sf_field
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_get_item(void *mf, u32 FieldType, void
      **new_ptr, u32 ItemPos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:371,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: NewSFURL
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFURL*
    signature: 'static SFURL *NewSFURL() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1122,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1127,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1130,1
    - Dst: gf_sg_vrml_get_sf_size
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1123,1
    - Dst: gf_sg_mfscript_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1133,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - mf
    - FieldType
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 1143
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1143
    functionName: gf_sg_vrml_mf_reset
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_get_sf_size
    - gf_sg_mfstring_del
    - gf_sg_mfscript_del
    - gf_sg_mfurl_del
    - gf_sg_vrml_is_sf_field
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_vrml_mf_reset(void *mf, u32 FieldType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:377,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_tools.c:379,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: NewSFCommandBuffer
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: SFCommandBuffer*
    signature: 'static SFCommandBuffer *NewSFCommandBuffer() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFVec3f
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: gf_sg_mfvec3f_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfvec3f_del(MFVec3f par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFInt32
    constantsTouched: []
    func_position:
      end: 566
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 566
    functionName: gf_sg_mfint32_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfint32_del(MFInt32 par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFFloat
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: gf_sg_mffloat_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mffloat_del(MFFloat par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFVec3d
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: gf_sg_mfvec3d_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfvec3d_del(MFVec3d par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:287,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: NewSFBool
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFBool*
    signature: 'static SFBool *NewSFBool() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:299,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: NewSFDouble
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFDouble*
    signature: 'static SFDouble *NewSFDouble() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_root_tag
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1848,1
    - Dst: gf_node_in_table_by_tag
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - node
    - NDTType
    argTypes:
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1855
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1855
    functionName: gf_node_in_table
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_in_table_by_tag
    - gf_sg_proto_get_root_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_node_in_table(GF_Node *node, u32 NDTType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:293,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: NewSFFloat
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFFloat*
    signature: 'static SFFloat *NewSFFloat() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:305,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: NewSFTime
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: SFTime*
    signature: 'static SFTime *NewSFTime() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - SFURL
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: gf_sg_sfurl_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_sfurl_del(SFURL url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:616,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:617,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:620,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:618,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - SFCommandBuffer
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: gf_sg_sfcommand_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_command_del
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_sfcommand_del(SFCommandBuffer cb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - EventType
    - forX3D
    argTypes:
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 745
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 745
    functionName: gf_sg_vrml_get_event_type_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sg_vrml_get_event_type_name(u32 EventType,
      Bool forX3D) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_sfcommand_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:656,1
    - Dst: gf_sg_sfimage_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:648,1
    - Dst: gf_sg_mffloat_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:663,1
    - Dst: gf_sg_mftime_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:669,1
    - Dst: gf_sg_mfstring_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:675,1
    - Dst: gf_sg_mfvec3d_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:684,1
    - Dst: gf_sg_mfcolor_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:690,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:723,1
    - Dst: gf_sg_mfrotation_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:697,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:703,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_tools.c:719,1
    - Dst: gf_sg_mfbool_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:660,1
    - Dst: gf_sg_mfdouble_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:666,1
    - Dst: gf_sg_mfint32_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:672,1
    - Dst: gf_sg_mfvec3f_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:678,1
    - Dst: gf_sg_mfvec2d_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:687,1
    - Dst: gf_sg_mfvec2f_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:681,1
    - Dst: gf_sg_mfcolorrgba_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:693,1
    - Dst: gf_sg_mfscript_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:713,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:645,1
    - Dst: gf_node_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:653,1
    - Dst: gf_sg_sfurl_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:700,1
    - Dst: gf_sg_mfattrref_del
      Src: /src/gpac/src/scenegraph/vrml_tools.c:706,1
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_tools.c:710,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 27
    argCount: 2
    argNames:
    - field
    - FieldType
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 724
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 724
    functionName: gf_sg_vrml_field_pointer_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_mfcolor_del
    - gf_sg_mfurl_del
    - gf_sg_mfrotation_del
    - gf_sg_mfscript_del
    - gf_sg_sfurl_del
    - gf_node_del
    - gf_sg_mfvec3f_del
    - gf_sg_mftime_del
    - gf_sg_mfdouble_del
    - gf_assert
    - gf_sg_mfcolorrgba_del
    - gf_sg_mfbool_del
    - gf_sg_mfvec2d_del
    - gf_sg_mfvec3d_del
    - gf_sg_mfint32_del
    - gf_free
    - gf_sg_sfimage_del
    - gf_sg_mfstring_del
    - gf_sg_mfvec2f_del
    - gf_sg_sfcommand_del
    - gf_sg_mfattrref_del
    - gf_sg_mffloat_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_vrml_field_pointer_del(void *field, u32 FieldType) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:838,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:842,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:846,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:850,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:857,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:861,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:865,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:869,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:837,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:839,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:843,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:847,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:851,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:858,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:862,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:866,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:840,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:844,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:852,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:848,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:855,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:859,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:863,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:867,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:841,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:845,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:854,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:849,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:856,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:860,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:864,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/vrml_tools.c:868,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 1
    argNames:
    - fieldType
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 872
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 872
    functionName: gf_sg_field_type_by_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_field_type_by_name(char *fieldType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_tools.c:89,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/vrml_tools.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 101
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 101
    functionName: Node_on_add_children
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void Node_on_add_children(GF_Node *node, GF_Route *route) '
  - BBCount: 41
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 2
    argCount: 1
    argNames:
    - FieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 833
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 833
    functionName: gf_sg_vrml_get_field_type_name
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sg_vrml_get_field_type_name(u32 FieldType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - SFColor
    constantsTouched: []
    func_position:
      end: 1556
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1556
    functionName: gf_sg_sfcolor_to_rgba
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT SFColorRGBA gf_sg_sfcolor_to_rgba(SFColor val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1562,1
    - Dst: gf_sg_script_get_num_fields
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1565,1
    - Dst: gf_sg_proto_get_num_fields
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1563,1
    - Dst: gf_sg_mpeg4_node_get_field_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1570,1
    - Dst: gf_sg_script_get_num_fields
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1568,1
    - Dst: gf_sg_x3d_node_get_field_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:1572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - Node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 1575
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1575
    functionName: gf_node_get_num_fields_in_mode
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_sg_script_get_num_fields
    - gf_sg_proto_get_num_fields
    - gf_sg_x3d_node_get_field_count
    - gf_sg_mpeg4_node_get_field_count
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_node_get_num_fields_in_mode(GF_Node *Node, u8 IndexMode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_x3d_get_node_type
      Src: /src/gpac/src/scenegraph/vrml_tools.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - GF_NODE_RANGE_LAST_X3D
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_x3d_get_node_type
    linkageType: ''
    returnType: else
    signature: 'else if (tag<=GF_NODE_RANGE_LAST_X3D) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/scenegraph/vrml_tools.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - toremove_child
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: gf_node_remove_child
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_node_list_del_child
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_node_remove_child(GF_Node *parent, GF_Node *toremove_child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFRotation
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: gf_sg_mfrotation_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfrotation_del(MFRotation par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 2
    argNames:
    - scene
    - (*GetExternProtoLib)
    argTypes:
    - GF_SceneGraph*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: gf_sg_set_proto_loader
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_proto_loader(GF_SceneGraph *scene, GF_SceneGraph
      *(*GetExternProtoLib)(void *SceneCallback, MFURL *lib_url)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/scenegraph/vrml_tools.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sg
    - ID
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: gf_sg_set_max_defined_route_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - MAX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_set_max_defined_route_id(GF_SceneGraph *sg, u32
      ID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:468,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: NewMFURL
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFURL*
    signature: 'static MFURL *NewMFURL() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: gf_sg_get_next_available_route_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_get_next_available_route_id(GF_SceneGraph *sg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:214,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_tools.c:217,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_tools.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: gf_sg_get_next_available_proto_id
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sg_get_next_available_proto_id(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_tools.c:474,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_tools.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: NewMFScript
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: MFScript*
    signature: 'static MFScript *NewMFScript() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFTime
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: gf_sg_mftime_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mftime_del(MFTime par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - FieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: gf_sg_vrml_is_sf_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sg_vrml_is_sf_field(u32 FieldType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:892,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_tools.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - par
    argTypes:
    - MFString
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: gf_sg_mfstring_del
    functionSourceFile: /src/gpac/src/scenegraph/vrml_tools.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_mfstring_del(MFString par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: script_get_nb_static_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 script_get_nb_static_field(GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: script_get_nb_static_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:99,1
    - Dst: gf_sg_mpeg4_node_get_field_count
      Src: /src/gpac/src/scenegraph/vrml_script.c:123,1
    - Dst: gf_sg_mpeg4_node_get_field_index
      Src: /src/gpac/src/scenegraph/vrml_script.c:126,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_script.c:102,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 4
    argNames:
    - node
    - inField
    - IndexMode
    - allField
    argTypes:
    - GF_Node*
    - u32
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 127
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 127
    functionName: gf_sg_script_get_field_index
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - script_get_nb_static_field
    - gf_sg_mpeg4_node_get_field_index
    - gf_sg_mpeg4_node_get_field_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_script_get_field_index(GF_Node *node, u32 inField,
      u8 IndexMode, u32 *allField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_script.c:180,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/vrml_script.c:185,1
    - Dst: script_get_nb_static_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_script.c:182,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scenegraph/vrml_script.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: gf_sg_script_init
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    - script_get_nb_static_field
    linkageType: ''
    returnType: void
    signature: 'void gf_sg_script_init(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/vrml_script.c:260,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/scenegraph/vrml_script.c:274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - dest
    - orig
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 277
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 277
    functionName: gf_sg_script_prepare_clone
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_script_field_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_script_prepare_clone(GF_Node *dest, GF_Node *orig) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_script.c:138,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_script.c:152,1
    - Dst: script_get_nb_static_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:139,1
    - Dst: gf_sg_mpeg4_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:143,1
    - Dst: gf_sg_x3d_node_get_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 173
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 173
    functionName: gf_sg_script_get_field
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_get_private
    - gf_sg_mpeg4_node_get_field
    - gf_sg_x3d_node_get_field
    - script_get_nb_static_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sg_script_get_field(GF_Node *node, GF_FieldInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: script_get_nb_static_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:89,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_script.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - node
    - IndexMode
    argTypes:
    - GF_Node*
    - u8
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: gf_sg_script_get_num_fields
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - script_get_nb_static_field
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sg_script_get_num_fields(GF_Node *node, u8 IndexMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/vrml_script.c:52,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/vrml_script.c:58,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/vrml_script.c:51,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_script.c:50,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/vrml_script.c:61,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/vrml_script.c:64,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_script.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_script.c:69,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/vrml_script.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_script.c:72,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - node
    - eff
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: Script_PreDestroy
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_sg_vrml_field_pointer_del
    - gf_list_rem
    - gf_free
    - gf_node_unregister
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'void Script_PreDestroy(GF_Node *node, void *eff, Bool is_destroy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_script.c:209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/vrml_script.c:213,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/vrml_script.c:217,1
    - Dst: script_get_nb_static_field
      Src: /src/gpac/src/scenegraph/vrml_script.c:238,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/vrml_script.c:211,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/vrml_script.c:238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/vrml_script.c:239,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/vrml_script.c:243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - node
    - eventType
    - fieldType
    - name
    argTypes:
    - GF_Node*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 247
    functionName: gf_sg_script_field_new
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_private
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - gf_sg_vrml_field_pointer_new
    - GF_SAFEALLOC
    - script_get_nb_static_field
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ScriptField *gf_sg_script_field_new(GF_Node *node, u32
      eventType, u32 fieldType, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scenegraph/vrml_script.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - field
    - info
    argTypes:
    - GF_ScriptField*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: gf_sg_script_field_get_info
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_script_field_get_info(GF_ScriptField *field,
      GF_FieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - node
    - in_field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: gf_sg_script_event_in
    functionSourceFile: /src/gpac/src/scenegraph/vrml_script.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_script_event_in(GF_Node *node, GF_FieldInfo *in_field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:66,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:67,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: gf_mse_is_mse_object
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mse_is_mse_object(JSContext *c, JSObject *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mediasource_get_scenegraph
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:84,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:87,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:91,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:85,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:89,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:93,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:95,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - c
    - obj
    - target
    - sg
    argTypes:
    - JSContext*
    - JSObject*
    - GF_DOMEventTarget**
    - GF_SceneGraph**
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: gf_mse_get_event_target
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - mediasource_get_scenegraph
    - SMJS_GET_PRIVATE
    - GF_JS_InstanceOf
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_get_event_target(JSContext *c, JSObject *obj, GF_DOMEventTarget
      **target, GF_SceneGraph **sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_mediasource_open
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:500,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:503,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:506,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:503,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:504,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:507,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:509,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:511,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:514,1
    - Dst: gf_mse_source_buffer_append_arraybuffer
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames:
    - sourcebuffer_appendBuffer
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 520
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - JSVAL_IS_OBJECT
    - gf_mse_source_buffer_append_arraybuffer
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    - gf_mse_mediasource_open
    - dom_throw_exception
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(sourcebuffer_appendBuffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:534,1
    - Dst: gf_mse_source_buffer_abort
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:540,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:538,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames:
    - sourcebuffer_abort
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    - gf_list_find
    - gf_mse_source_buffer_abort
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(sourcebuffer_abort) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:553,1
    - Dst: JS_ValueToNumber
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:555,1
    - Dst: JS_ValueToNumber
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:556,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:558,1
    - Dst: gf_mse_mediasource_open
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:561,1
    - Dst: gf_mse_remove
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:563,1
    - Dst: JSVAL_IS_NUMBER
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames:
    - sourcebuffer_remove
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 565
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - JSVAL_IS_NUMBER
    - JS_ValueToNumber
    - gf_mse_remove
    - gf_mse_mediasource_open
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(sourcebuffer_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_remove_listener
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - mse_event_remove_listener
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_remove_listener
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mse_event_remove_listener) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames:
    - mse_event_dispatch
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mse_event_dispatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:75,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:77,1
    - Dst: assert
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:76,1
    - Dst: assert
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: mediasource_get_scenegraph
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - assert
    - SMJS_GET_PRIVATE
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_SceneGraph *mediasource_get_scenegraph(JSContext
      *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:105,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:107,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:108,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - c
    - ms_obj
    - sb
    argTypes:
    - JSContext*
    - JSObject*
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: mediasource_sourceBuffer_initjs
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - JS_NewObject
    linkageType: ''
    returnType: void
    signature: 'static void mediasource_sourceBuffer_initjs(JSContext *c, JSObject
      *ms_obj, GF_HTML_SourceBuffer *sb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (*vp)
    argTypes:
    - JSVAL_IS_NUMBER
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    linkageType: ''
    returnType: SB_UPDATING_CHECK
    signature: 'SB_UPDATING_CHECK if (!JSVAL_IS_NUMBER(*vp)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:212,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:217,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:219,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:213,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:215,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:219,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:220,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:222,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:223,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:224,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:226,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:232,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:228,1
    - Dst: gf_mse_remove_source_buffer
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames:
    - mediasource_removeSourceBuffer
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 236
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - JSVAL_IS_OBJECT
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    - gf_mse_remove_source_buffer
    - dom_throw_exception
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mediasource_removeSourceBuffer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:244,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:245,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:247,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:249,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:254,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:255,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:257,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:262,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:263,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:266,1
    - Dst: gf_mse_mediasource_end
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:272,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:267,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:266,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:268,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:270,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:265,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames:
    - mediasource_endOfStream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 274
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - gf_list_get
    - gf_list_count
    - strcmp
    - gf_mse_mediasource_end
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - SMJS_CHARS
    - JSVAL_CHECK_STRING
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mediasource_endOfStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSVAL_IS_NUMBER
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:552,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - JSVAL_IS_NUMBER
    argTypes:
    - argc
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    - JSVAL_IS_NUMBER
    linkageType: ''
    returnType: SB_UPDATING_CHECK
    signature: 'SB_UPDATING_CHECK if (argc < 2 || !JSVAL_IS_NUMBER(argv[0]) || !JSVAL_IS_NUMBER(argv[1])
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (*vp)
    argTypes:
    - JSVAL_IS_NUMBER
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    linkageType: ''
    returnType: SB_UPDATING_CHECK
    signature: 'SB_UPDATING_CHECK if (!JSVAL_IS_NUMBER(*vp)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_event_add_listener
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - mse_event_add_listener
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_event_add_listener
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mse_event_add_listener) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (*vp)
    argTypes:
    - JSVAL_CHECK_STRING
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - dom_throw_exception
    linkageType: ''
    returnType: SB_BASIC_CHECK
    signature: 'SB_BASIC_CHECK if (!JSVAL_CHECK_STRING(*vp)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:121,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:122,1
    - Dst: assert
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:127,1
    - Dst: mediasource_get_scenegraph
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:126,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:124,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:129,1
    - Dst: gf_term_is_type_supported
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:134,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:139,1
    - Dst: BOOLEAN_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:139,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames:
    - mediasource_is_type_supported
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 142
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - strlen
    - assert
    - BOOLEAN_TO_JSVAL
    - mediasource_get_scenegraph
    - SMJS_FREE
    - gf_term_is_type_supported
    - SMJS_CHARS
    - JSVAL_CHECK_STRING
    - SMJS_SET_RVAL
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mediasource_is_type_supported) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - MEDIA_SOURCE_READYSTATE_CLOSED
    argTypes:
    - sb
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SB_UPDATING_CHECK
    signature: 'SB_UPDATING_CHECK if (sb->mediasource->readyState == MEDIA_SOURCE_READYSTATE_CLOSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_mediasource_open
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - MEDIA_SOURCE_READYSTATE_ENDED
    argTypes:
    - sb
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - gf_mse_mediasource_open
    linkageType: ''
    returnType: SB_UPDATING_CHECK
    signature: 'SB_UPDATING_CHECK if (sb->mediasource->readyState == MEDIA_SOURCE_READYSTATE_ENDED) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 745
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 745
    functionName: gf_arraybuffer_new
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_HTML_ArrayBuffer*
    signature: 'GF_HTML_ArrayBuffer *gf_arraybuffer_new(char *data, u32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_mediasource_open
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - MEDIA_SOURCE_READYSTATE_ENDED
    argTypes:
    - sb
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - gf_mse_mediasource_open
    linkageType: ''
    returnType: else
    signature: 'else if (sb->mediasource->readyState == MEDIA_SOURCE_READYSTATE_ENDED) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_arraybuffer_new
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:752,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:753,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - c
    - data
    - length
    - parent
    argTypes:
    - JSContext*
    - char*
    - u32
    - JSObject*
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: gf_arraybuffer_js_new
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - gf_arraybuffer_new
    - JS_NewObject
    linkageType: ''
    returnType: JSObject*
    signature: 'JSObject *gf_arraybuffer_js_new(JSContext *c, char *data, u32 length,
      JSObject *parent) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetParent
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:770,1
    - Dst: xhr_del_array_buffer
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:773,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:785,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:786,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:772,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - buffer
    - del_js
    argTypes:
    - GF_HTML_ArrayBuffer*
    - Bool
    constantsTouched: []
    func_position:
      end: 790
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 790
    functionName: gf_arraybuffer_del
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - SMJS_GET_PRIVATE
    - xhr_del_array_buffer
    - JS_GetParent
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_arraybuffer_del(GF_HTML_ArrayBuffer *buffer, Bool del_js) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:877,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:886,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:889,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:910,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:911,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:912,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:918,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:929,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:931,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:909,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:892,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:888,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:915,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:917,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:921,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:933,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:943,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:946,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:937,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:863,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:876,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:882,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:914,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:928,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:944,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:947,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:934,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:856,1
    - Dst: JS_SETUP_CLASS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:866,1
    - Dst: GF_JS_InitClass
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:862,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:878,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:879,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:880,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:881,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:885,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:908,1
    - Dst: SMJS_FUNCTION_SPEC
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 88
    argCount: 3
    argNames:
    - js_ctx
    - global
    - _html_media_rt
    argTypes:
    - JSContext*
    - JSObject*
    - GF_HTML_MediaRuntime*
    constantsTouched: []
    func_position:
      end: 950
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 950
    functionName: html_media_source_init_js_api
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InitClass
    - JS_SETUP_CLASS
    - GF_LOG
    - SMJS_FUNCTION_SPEC
    linkageType: ''
    returnType: void
    signature: 'void html_media_source_init_js_api(JSContext *js_ctx, JSObject *global,
      GF_HTML_MediaRuntime *_html_media_rt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:155,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:160,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:156,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:158,1
    - Dst: SMJS_CHARS
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:162,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:163,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:167,1
    - Dst: assert
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:175,1
    - Dst: gf_mse_source_buffer_new
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:183,1
    - Dst: assert
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:184,1
    - Dst: SMJS_FREE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:196,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:189,1
    - Dst: mediasource_sourceBuffer_initjs
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:188,1
    - Dst: dom_throw_exception
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:199,1
    - Dst: gf_mse_source_buffer_load_parser
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:185,1
    - Dst: gf_mse_mediasource_add_source_buffer
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:187,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:189,1
    - Dst: gf_mse_source_buffer_del
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:191,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames:
    - mediasource_addSourceBuffer
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 203
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_JS_InstanceOf
    - assert
    - gf_mse_mediasource_add_source_buffer
    - gf_mse_source_buffer_del
    - mediasource_sourceBuffer_initjs
    - SMJS_SET_RVAL
    - OBJECT_TO_JSVAL
    - SMJS_GET_PRIVATE
    - SMJS_FREE
    - gf_mse_source_buffer_new
    - SMJS_CHARS
    - JSVAL_CHECK_STRING
    - gf_mse_source_buffer_load_parser
    - dom_throw_exception
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(mediasource_addSourceBuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_OBJ_CONSTRUCTOR
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:279,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:288,1
    - Dst: gf_mse_media_source_new
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:283,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:286,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:281,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:289,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:291,1
    - Dst: SMJS_SET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:292,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:294,1
    - Dst: OBJECT_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames:
    - media_source_constructor
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 296
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - SMJS_SET_PRIVATE
    - GF_JS_InstanceOf
    - JS_NewObject
    - OBJECT_TO_JSVAL
    - SMJS_OBJ_CONSTRUCTOR
    - gf_mse_media_source_new
    - SMJS_SET_RVAL
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(media_source_constructor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames:
    - sourcebuffer_appendStream
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(sourcebuffer_appendStream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:717,1
    - Dst: JSVAL_IS_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:718,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:722,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:721,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:718,1
    - Dst: SMJS_GET_PRIVATE
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:726,1
    - Dst: sprintf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:727,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:728,1
    - Dst: SMJS_SET_RVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:729,1
    - Dst: STRING_TO_JSVAL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:729,1
    - Dst: JS_NewStringCopyZ
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames:
    - html_url_createObjectURL
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 731
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - GF_JS_InstanceOf
    - JSVAL_IS_OBJECT
    - gf_strdup
    - sprintf
    - SMJS_GET_PRIVATE
    - JSVAL_IS_NULL
    - STRING_TO_JSVAL
    - JS_NewStringCopyZ
    - SMJS_SET_RVAL
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(html_url_createObjectURL) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMJS_OBJ_CONSTRUCTOR
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:796,1
    - Dst: GF_JS_InstanceOf
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:798,1
    - Dst: JSVAL_TO_INT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:803,1
    - Dst: JSVAL_IS_NULL
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:802,1
    - Dst: JSVAL_IS_INT
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:802,1
    - Dst: gf_arraybuffer_js_new
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:806,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/html5_mse_js.c:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames:
    - arraybuffer_constructor
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: SMJS_FUNCTION
    functionSourceFile: /src/gpac/src/scenegraph/html5_mse_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_JS_InstanceOf
    - JSVAL_TO_INT
    - JSVAL_IS_INT
    - SMJS_OBJ_CONSTRUCTOR
    - JSVAL_IS_NULL
    - gf_arraybuffer_js_new
    linkageType: ''
    returnType: JSBool
    signature: 'static JSBool SMJS_FUNCTION(arraybuffer_constructor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:153,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/commands.c:154,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - container
    - child
    argTypes:
    - GF_Node*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: gf_node_unregister_children_deactivate
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_node_unregister
    - gf_node_deactivate
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_node_unregister_children_deactivate(GF_Node *container,
      GF_ChildNodeItem *child) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:88,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/commands.c:112,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/commands.c:108,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/commands.c:124,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:126,1
    - Dst: gf_node_try_destroy
      Src: /src/gpac/src/scenegraph/commands.c:63,1
    - Dst: gf_node_try_destroy
      Src: /src/gpac/src/scenegraph/commands.c:71,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:59,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/scenegraph/commands.c:78,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:86,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:87,1
    - Dst: gf_node_try_destroy
      Src: /src/gpac/src/scenegraph/commands.c:91,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:99,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:125,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:58,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:81,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/commands.c:113,1
    - Dst: gf_node_try_destroy
      Src: /src/gpac/src/scenegraph/commands.c:119,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:122,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:73,1
    - Dst: gf_node_try_destroy
      Src: /src/gpac/src/scenegraph/commands.c:97,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:104,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scenegraph/commands.c:102,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/commands.c:115,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:123,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 47
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 127
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 127
    functionName: gf_sg_command_del
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_svg_delete_attribute_value
    - gf_list_del
    - gf_sg_proto_del
    - gf_list_enum
    - gf_list_count
    - gf_node_try_destroy
    - gf_list_rem
    - gf_sg_vrml_field_pointer_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sg_command_del(GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/src/scenegraph/commands.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - TAG_MPEG4_Script
    argTypes:
    - gf_node_get_tag(node)
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: if
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_sg_script_event_in
    linkageType: ''
    returnType: else
    signature: 'else if ((field->eventType==GF_SG_EVENT_IN) && (gf_node_get_tag(node)
      == TAG_MPEG4_Script) ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/commands.c:898,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/commands.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 902
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 902
    functionName: gf_sg_command_field_new
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_CommandField *gf_sg_command_field_new(GF_Command *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/commands.c:37,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/commands.c:42,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/commands.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - graph
    - tag
    argTypes:
    - GF_SceneGraph*
    - u32
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: gf_sg_command_new
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Command *gf_sg_command_new(GF_SceneGraph *graph, u32
      tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:145,1
    - Dst: gf_sg_script_event_in
      Src: /src/gpac/src/scenegraph/commands.c:137,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/commands.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - node
    - field
    argTypes:
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: SG_CheckFieldChange
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_sg_script_event_in
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void SG_CheckFieldChange(GF_Node *node, GF_FieldInfo *field) '
  - BBCount: 168
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:293,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:493,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/commands.c:618,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/commands.c:624,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/scenegraph/commands.c:786,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:816,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/commands.c:838,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/commands.c:864,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:881,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/commands.c:754,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/commands.c:799,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/commands.c:822,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:855,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:225,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:281,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/commands.c:398,1
    - Dst: SG_CheckFieldChange
      Src: /src/gpac/src/scenegraph/commands.c:409,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:445,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/commands.c:461,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:507,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/scenegraph/commands.c:564,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/commands.c:579,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/commands.c:656,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:694,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:802,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:841,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/commands.c:835,1
    - Dst: gf_svg_attributes_add
      Src: /src/gpac/src/scenegraph/commands.c:810,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/commands.c:476,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/commands.c:343,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:226,1
    - Dst: gf_sg_vrml_command_clone
      Src: /src/gpac/src/scenegraph/commands.c:296,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scenegraph/commands.c:417,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:510,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:546,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/commands.c:619,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:672,1
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:700,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/commands.c:747,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/scenegraph/commands.c:669,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/commands.c:349,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/commands.c:370,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:333,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/commands.c:368,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:189,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:215,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/commands.c:311,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:475,1
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:652,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:673,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:690,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:833,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:758,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:190,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/commands.c:210,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:282,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:429,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scenegraph/commands.c:431,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:518,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:521,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/commands.c:797,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:825,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:671,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/commands.c:714,1
    - Dst: gf_svg_attributes_add
      Src: /src/gpac/src/scenegraph/commands.c:845,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/scenegraph/commands.c:658,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/commands.c:781,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:287,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/commands.c:348,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:194,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/commands.c:238,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:213,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:284,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/commands.c:487,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:611,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/commands.c:697,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/scenegraph/commands.c:698,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/commands.c:804,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/commands.c:742,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/commands.c:324,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:428,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:201,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/commands.c:309,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:325,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/commands.c:497,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/commands.c:591,1
    - Dst: SG_CheckFieldChange
      Src: /src/gpac/src/scenegraph/commands.c:629,1
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:659,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/commands.c:798,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/scenegraph/commands.c:463,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:473,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:494,1
    - Dst: gf_sg_vrml_field_clone
      Src: /src/gpac/src/scenegraph/commands.c:622,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:650,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:704,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/scenegraph/commands.c:741,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/commands.c:792,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:882,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:823,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/commands.c:787,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:214,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scenegraph/commands.c:292,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/commands.c:305,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:443,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:444,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:551,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:553,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:655,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:718,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/commands.c:843,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/scenegraph/commands.c:808,1
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:858,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/commands.c:217,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/commands.c:258,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scenegraph/commands.c:346,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:295,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:421,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/commands.c:477,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/commands.c:576,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:701,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/commands.c:821,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/commands.c:603,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/commands.c:732,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/commands.c:651,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:391,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scenegraph/commands.c:279,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scenegraph/commands.c:306,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/commands.c:395,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:390,1
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scenegraph/commands.c:360,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/commands.c:457,1
    - Dst: SG_CheckFieldChange
      Src: /src/gpac/src/scenegraph/commands.c:468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:474,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/commands.c:531,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/scenegraph/commands.c:884,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/scenegraph/commands.c:691,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:766,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:725,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/scenegraph/commands.c:869,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:859,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/commands.c:693,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/commands.c:737,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:374,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scenegraph/commands.c:203,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:239,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/commands.c:252,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scenegraph/commands.c:283,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scenegraph/commands.c:361,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/commands.c:435,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scenegraph/commands.c:486,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scenegraph/commands.c:582,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:681,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/commands.c:689,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/commands.c:771,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scenegraph/commands.c:813,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/commands.c:793,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/commands.c:838,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:414,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:774,1
    - Dst: SG_CheckFieldChange
      Src: /src/gpac/src/scenegraph/commands.c:352,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/scenegraph/commands.c:399,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scenegraph/commands.c:393,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scenegraph/commands.c:434,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/scenegraph/commands.c:453,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/commands.c:456,1
    - Dst: floor
      Src: /src/gpac/src/scenegraph/commands.c:531,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scenegraph/commands.c:544,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:663,1
    - Dst: gf_node_unregister_children_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:687,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/commands.c:771,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scenegraph/commands.c:886,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:883,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/commands.c:297,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/commands.c:187,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:266,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scenegraph/commands.c:451,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:565,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scenegraph/commands.c:581,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scenegraph/commands.c:667,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:717,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/commands.c:748,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/commands.c:755,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/commands.c:794,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scenegraph/commands.c:597,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scenegraph/commands.c:749,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scenegraph/commands.c:373,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/commands.c:246,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:248,1
    - Dst: SG_CheckFieldChange
      Src: /src/gpac/src/scenegraph/commands.c:315,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scenegraph/commands.c:371,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scenegraph/commands.c:432,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:465,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/commands.c:495,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scenegraph/commands.c:514,1
    - Dst: floor
      Src: /src/gpac/src/scenegraph/commands.c:534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/commands.c:676,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:699,1
    - Dst: gf_node_unregister_children_deactivate
      Src: /src/gpac/src/scenegraph/commands.c:708,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scenegraph/commands.c:753,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/commands.c:848,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/commands.c:768,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/commands.c:731,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:415,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:418,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/commands.c:420,1
    - Dst: gf_node_replace_child
      Src: /src/gpac/src/scenegraph/commands.c:332,1
    - Dst: gf_sg_route_del_by_id
      Src: /src/gpac/src/scenegraph/commands.c:386,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/commands.c:381,1
    - Dst: gf_sg_vrml_mf_remove
      Src: /src/gpac/src/scenegraph/commands.c:406,1
    - Dst: gf_sg_route_del
      Src: /src/gpac/src/scenegraph/commands.c:197,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/commands.c:216,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scenegraph/commands.c:227,1
    CyclomaticComplexity: 250
    EdgeCount: 250
    ICount: 591
    argCount: 3
    argNames:
    - graph
    - com
    - time_offset
    argTypes:
    - GF_SceneGraph*
    - GF_Command*
    - Double
    constantsTouched: []
    func_position:
      end: 892
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 892
    functionName: gf_sg_command_apply
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_sg_route_set_id
    - gf_node_get_field_by_name
    - gf_sg_find_node
    - gf_node_activate
    - GF_LOG
    - gf_sg_route_del_by_id
    - gf_sg_vrml_mf_get_item
    - gf_sg_route_new
    - gf_mx2d_add_scale
    - gf_node_unregister_children_deactivate
    - gf_sg_vrml_command_clone
    - FIX2FLT
    - strstr
    - gf_node_unregister
    - gf_node_list_insert_child
    - gf_sg_find_proto
    - gf_mx2d_add_rotation
    - gf_dom_add_text_node
    - gf_sg_command_del
    - gf_node_replace
    - gf_sg_vrml_field_clone
    - gf_list_del
    - gf_list_count
    - gf_strdup
    - gf_mx2d_init
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_remove
    - SG_CheckFieldChange
    - gf_sg_vrml_mf_append
    - gf_node_list_get_child
    - gf_list_new
    - gf_list_del_item
    - gf_sg_vrml_field_copy
    - gf_node_changed
    - gf_mx2d_decompose
    - gf_node_unregister_children
    - gf_node_replace_child
    - gf_sg_route_find
    - gf_sg_vrml_mf_insert
    - gf_node_list_add_child
    - gf_list_get
    - gf_mx2d_add_translation
    - floor
    - gf_list_enum
    - gf_node_get_field
    - gf_sg_route_del
    - gf_node_get_attribute_by_tag
    - gf_dom_event_fire
    - gf_sg_vrml_is_sf_field
    - gf_free
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_node_insert_child
    - gf_svg_attributes_add
    - gf_node_deactivate
    - gf_node_event_out
    - gf_sg_proto_del
    - gf_sg_route_set_name
    - gf_sg_script_load
    - gf_svg_attributes_copy
    - gf_node_get_graph
    - gf_list_rem
    - gf_node_dirty_set
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_command_apply(GF_SceneGraph *graph, GF_Command
      *com, Double time_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scenegraph/commands.c:911,1
    - Dst: gf_sg_command_apply
      Src: /src/gpac/src/scenegraph/commands.c:912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - graph
    - comList
    - time_offset
    argTypes:
    - GF_SceneGraph*
    - GF_List*
    - Double
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 916
    functionName: gf_sg_command_apply_list
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_command_apply
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sg_command_apply_list(GF_SceneGraph *graph, GF_List
      *comList, Double time_offset) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:925,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/commands.c:939,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scenegraph/commands.c:926,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:935,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/commands.c:932,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/commands.c:953,1
    - Dst: memcpy
      Src: /src/gpac/src/scenegraph/commands.c:954,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/commands.c:956,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/commands.c:958,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scenegraph/commands.c:959,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/commands.c:973,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/commands.c:985,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:976,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scenegraph/commands.c:967,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/scenegraph/commands.c:987,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scenegraph/commands.c:990,1
    - Dst: gf_sg_vrml_field_clone
      Src: /src/gpac/src/scenegraph/commands.c:968,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 3
    argNames:
    - com
    - inGraph
    - force_clone
    argTypes:
    - GF_Command*
    - GF_SceneGraph*
    - Bool
    constantsTouched: []
    func_position:
      end: 1002
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 1002
    functionName: gf_sg_vrml_command_clone
    functionSourceFile: /src/gpac/src/scenegraph/commands.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_sg_vrml_field_clone
    - gf_sg_command_new
    - gf_list_count
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - memcpy
    - gf_sg_command_field_new
    - gf_node_register
    - gf_node_clone
    linkageType: ''
    returnType: GF_Command*
    signature: 'GF_Command *gf_sg_vrml_command_clone(GF_Command *com, GF_SceneGraph
      *inGraph, Bool force_clone) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CI_SetFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:185,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: CoordInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    - CI_SetFraction
    linkageType: ''
    returnType: void
    signature: 'static void CoordInt_SetFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:237,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:250,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:244,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:241,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 251
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 251
    functionName: ColorInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void ColorInt_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:486,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:488,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:489,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:487,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:490,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 495
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 495
    functionName: PI4D_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void PI4D_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:513,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:520,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 521
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 521
    functionName: BooleanFilter_setValue
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanFilter_setValue(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: BooleanTrigger_setTime
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanTrigger_setTime(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: InitIntegerTrigger
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void InitIntegerTrigger(GF_Node *n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:93,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:113,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:121,1
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:108,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:110,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: CI2D_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void CI2D_SetFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CI_SetFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - M_CoordinateInterpolator*
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: InitCoordinateInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - CI_SetFraction
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitCoordinateInterpolator(M_CoordinateInterpolator *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_ColorInterpolator*
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: InitColorInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitColorInterpolator(M_ColorInterpolator *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_PositionInterpolator4D*
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: InitPositionInterpolator4D
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitPositionInterpolator4D(M_PositionInterpolator4D *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: InitBooleanFilter
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void InitBooleanFilter(GF_Node *n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:548,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: BooleanSequencer_setFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanSequencer_setFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: InitBooleanTrigger
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void InitBooleanTrigger(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:706,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: TimeTrigger_setTrigger
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void TimeTrigger_setTrigger(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:281,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:287,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:282,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 288
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 288
    functionName: PosInt2D_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void PosInt2D_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:317,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:324,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:318,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:320,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:319,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 325
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 325
    functionName: PosInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void PosInt_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:416,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:439,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:436,1
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:431,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:433,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:442,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:450,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 451
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 451
    functionName: CI4D_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void CI4D_SetFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - n
    - eff
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: DestroyBooleanSequencer
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyBooleanSequencer(GF_Node *n, void *eff, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:36,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:38,1
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:37,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:38,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:38,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:41,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:42,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:43,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:46,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:47,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:57,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 3
    argNames:
    - kv1
    - kv2
    - fraction
    argTypes:
    - SFRotation
    - SFRotation
    - Fixed
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: gf_sg_sfrotation_interpolate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - ABS
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT SFRotation gf_sg_sfrotation_interpolate(SFRotation kv1,
      SFRotation kv2, Fixed fraction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_PositionInterpolator2D*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: InitPositionInterpolator2D
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitPositionInterpolator2D(M_PositionInterpolator2D *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_PositionInterpolator*
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: InitPositionInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitPositionInterpolator(M_PositionInterpolator *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_CoordinateInterpolator4D*
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: InitCoordinateInterpolator4D
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitCoordinateInterpolator4D(M_CoordinateInterpolator4D *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: InitBooleanSequencer
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: void
    signature: 'void InitBooleanSequencer(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: InitTimeTrigger
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void InitTimeTrigger(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keyValue1
    - keyValue2
    - fraction
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Interpolate
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed Interpolate(Fixed keyValue1, Fixed keyValue2, Fixed fraction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_CoordinateInterpolator2D*
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: InitCoordinateInterpolator2D
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitCoordinateInterpolator2D(M_CoordinateInterpolator2D *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CI_SetFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:201,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:206,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: NormInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_node_event_out
    - CI_SetFraction
    linkageType: ''
    returnType: void
    signature: 'static void NormInt_SetFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:354,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:355,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: ScalarInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - Interpolate
    linkageType: ''
    returnType: void
    signature: 'static void ScalarInt_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: BooleanSequencer_setNext
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanSequencer_setNext(GF_Node *n, GF_Route *route) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 670
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 670
    functionName: IntegerSequencer_setPrevious
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void IntegerSequencer_setPrevious(GF_Node *n, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: InitIntegerSequencer
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: void
    signature: 'void InitIntegerSequencer(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:76,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:78,1
    - Dst: ABS
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key1
    - key2
    - fraction
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: GetInterpolateFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - ABS
    - gf_assert
    - gf_divfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed GetInterpolateFraction(Fixed key1, Fixed key2, Fixed
      fraction) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:148,1
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:162,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:167,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:170,1
    - Dst: Interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:164,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - fraction
    - vals
    - key
    - keyValue
    argTypes:
    - Fixed
    - MFVec3f*
    - MFFloat*
    - MFVec3f*
    constantsTouched: []
    func_position:
      end: 178
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 178
    functionName: CI_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_alloc
    - GetInterpolateFraction
    - Interpolate
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CI_SetFraction(Fixed fraction, MFVec3f *vals, MFFloat
      *key, MFVec3f *keyValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CI_SetFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - M_NormalInterpolator*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: InitNormalInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - CI_SetFraction
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitNormalInterpolator(M_NormalInterpolator *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_ScalarInterpolator*
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: InitScalarInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitScalarInterpolator(M_ScalarInterpolator *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: BooleanSequencer_setPrevious
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanSequencer_setPrevious(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:674,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - n
    - eff
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 677
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 677
    functionName: DestroyIntegerSequencer
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyIntegerSequencer(GF_Node *n, void *eff, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: IntegerTrigger_setTrigger
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void IntegerTrigger_setTrigger(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetInterpolateFraction
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:389,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:394,1
    - Dst: gf_sg_sfrotation_interpolate
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 395
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 395
    functionName: OrientInt_SetFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - GetInterpolateFraction
    - gf_node_event_out
    - gf_sg_sfrotation_interpolate
    linkageType: ''
    returnType: void
    signature: 'static void OrientInt_SetFraction(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: BooleanToggle_setValue
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void BooleanToggle_setValue(GF_Node *n, GF_Route *route) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 642
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 642
    functionName: IntegerSequencer_setFraction
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void IntegerSequencer_setFraction(GF_Node *n, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - M_OrientationInterpolator*
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: InitOrientationInterpolator
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool InitOrientationInterpolator(M_OrientationInterpolator *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: InitBooleanToggle
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void InitBooleanToggle(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/scenegraph/vrml_interpolators.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - n
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 655
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 655
    functionName: IntegerSequencer_setNext
    functionSourceFile: /src/gpac/src/scenegraph/vrml_interpolators.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void IntegerSequencer_setNext(GF_Node *n, GF_Route *route) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:212,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:219,1
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/svg_js.c:216,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:217,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:213,1
    - Dst: gf_sm_load_svg_from_string
      Src: /src/gpac/src/scenegraph/svg_js.c:222,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:223,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: svg_parse_xml
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - js_throw_err
    - gf_sm_load_svg_from_string
    - dom_element_construct
    - JS_IsObject
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_parse_xml(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1660,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1663,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/svg_js.c:1663,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/scenegraph/svg_js.c:1663,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1661,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1664,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1664,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1665,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1665,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1695,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1704,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1719,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1730,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1728,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1708,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1713,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1699,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1723,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1731
    functionName: svg_path_get_segment_param
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_get_segment_param(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1989,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_js.c:1993,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1991,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1990,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1991,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/scenegraph/svg_js.c:1994,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scenegraph/svg_js.c:1994,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1994,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/scenegraph/svg_js.c:1995,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:1996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1997
    functionName: svg_mx2d_rotate
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_mx2d_pre_multiply
    - gf_mulfix
    - gf_mx2d_init
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - gf_mx2d_add_rotation
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_rotate(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2267
    functionName: svg_script_get_context
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *svg_script_get_context(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/svg_js.c:229,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:242,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:250,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:248,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:234,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:236,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:230,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:237,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:251,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/svg_js.c:245,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:249,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:253,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:255,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:257,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/svg_js.c:239,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:240,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:243,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:246,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:235,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:241,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:252,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:247,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:254,1
    - Dst: DEFCONST
      Src: /src/gpac/src/scenegraph/svg_js.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - c
    - global
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: svg_define_udom_exception
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewObject
    - DEFCONST
    linkageType: ''
    returnType: void
    signature: 'static void svg_define_udom_exception(JSContext *c, JSValue global) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1759,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - p
    - nb_pts
    argTypes:
    - pathCI*
    - u32
    constantsTouched: []
    func_position:
      end: 1761
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1761
    functionName: svg_path_realloc_pts
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: u32
    signature: 'static u32 svg_path_realloc_pts(pathCI *p, u32 nb_pts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_js.c:2275,1
    - Dst: dom_get_evt_private
      Src: /src/gpac/src/scenegraph/svg_js.c:2285,1
    - Dst: strcat
      Src: /src/gpac/src/scenegraph/svg_js.c:2279,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2283,1
    - Dst: strcpy
      Src: /src/gpac/src/scenegraph/svg_js.c:2278,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2286,1
    - Dst: JS_Eval
      Src: /src/gpac/src/scenegraph/svg_js.c:2287,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2287,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2288,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_js.c:2293,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/svg_js.c:2303,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/svg_js.c:2312,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2313,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2306,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/scenegraph/svg_js.c:2309,1
    - Dst: JS_LookupProperty
      Src: /src/gpac/src/scenegraph/svg_js.c:2296,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/svg_js.c:2302,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - sg
    - utf8_script
    - event
    argTypes:
    - GF_SceneGraph*
    - char*
    - GF_DOM_Event*
    constantsTouched: []
    func_position:
      end: 2316
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2316
    functionName: svg_script_execute
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_FreeValue
    - gf_js_call_gc
    - strcat
    - gf_js_lock
    - JS_IsException
    - JS_Eval
    - js_dump_error
    - dom_get_evt_private
    - JS_SetOpaque
    - js_std_loop
    - strchr
    - JS_LookupProperty
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool svg_script_execute(GF_SceneGraph *sg, char *utf8_script, GF_DOM_Event
      *event) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1294,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1298,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1303,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1307,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1310,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1297,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1301,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1304,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1313,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1312,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1305,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1308,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1295,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1302,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1306,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1311,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1293,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1315
    functionName: svg_udom_create_matrix_components
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - FLT2FIX
    - JS_SetOpaque
    - dom_get_element
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_create_matrix_components(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1335,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1340,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1336,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1339,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1338,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1343
    functionName: svg_udom_create_point
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_create_point(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1541,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1546,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1542,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1549,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1547,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1550,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1553,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1554,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1555,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1557
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1557
    functionName: point_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - ScriptAction
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue point_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1321,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1322,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1325,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1324,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1326,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1329
    functionName: svg_udom_create_rect
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_create_rect(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1349,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1350,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1353,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1352,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1357
    functionName: svg_udom_create_path
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_create_path(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1561,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1565,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1574,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1565,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1562,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1578,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1579,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1583
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1583
    functionName: point_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - ScriptAction
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue point_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:878,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:881,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:879,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:882,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:881,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:884,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:885,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:886,1
    - Dst: svg_new_path_object
      Src: /src/gpac/src/scenegraph/svg_js.c:889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 892
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 892
    functionName: svg_udom_get_path_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_field_by_name
    - JS_IsString
    - svg_new_path_object
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_path_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:903,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:923,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:925,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:924,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:937,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:940,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:906,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:908,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:909,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:910,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:921,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:941,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:905,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:927,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:926,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:942,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:943,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:902,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:905,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:919,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:935,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:939,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 950
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 950
    functionName: svg_udom_get_rgb_color_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_field_by_name
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_IsString
    - GF_SAFEALLOC
    - FIX2FLT
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_rgb_color_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: svg_udom_smil_check_instance
      Src: /src/gpac/src/scenegraph/svg_js.c:519,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:528,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:533,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:539,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:531,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/svg_js.c:541,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:544,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:546,1
    - Dst: GF_SMIL_TIME_IS_CLOCK
      Src: /src/gpac/src/scenegraph/svg_js.c:547,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scenegraph/svg_js.c:553,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - is_end
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 558
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 558
    functionName: svg_udom_smil_time_insert
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_insert
    - gf_node_changed
    - gf_list_get
    - GF_SMIL_TIME_IS_CLOCK
    - gf_list_count
    - js_throw_err
    - GF_SAFEALLOC
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - svg_udom_smil_check_instance
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_time_insert(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv, Bool is_end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1404,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1406,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1408,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1405,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1406,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1412
    functionName: svg_udom_move_focus
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - GF_JS_EXCEPTION
    - ScriptAction
    - JS_IsObject
    - dom_get_element
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_move_focus(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1857,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1860,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1864
    functionName: svg_path_close
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_close(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - svg_js
    - sg
    - com
    argTypes:
    - struct __tag_svg_script_ctx*
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: svg_exec_script
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svg_exec_script(struct __tag_svg_script_ctx *svg_js, GF_SceneGraph
      *sg, const char *com) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:354,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:356,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:360,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:369,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:367,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:362,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:376,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:382,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:410,1
    - Dst: get_corresponding_use
      Src: /src/gpac/src/scenegraph/svg_js.c:414,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:341,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:356,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:362,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:378,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:380,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:385,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:387,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:392,1
    - Dst: get_corresponding_use
      Src: /src/gpac/src/scenegraph/svg_js.c:407,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:355,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/svg_js.c:349,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:361,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:368,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:371,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:366,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:373,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:384,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/svg_js.c:392,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:400,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:414,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scenegraph/svg_js.c:347,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:358,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:370,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:364,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:379,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:381,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:383,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:390,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/svg_js.c:397,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:408,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 68
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 419
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 419
    functionName: svg_element_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_malloc
    - gf_node_get_parent
    - gf_node_get_name
    - JS_NewString
    - JS_SetOpaque
    - JS_NewObjectClass
    - ScriptAction
    - JS_NewFloat64
    - dom_element_construct
    - get_corresponding_use
    - FIX2FLT
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_element_getProperty(JSContext *c, JSValueConst
      obj, int magic) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:490,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 4
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: svg_udom_smil_check_instance
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - dom_get_element
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *svg_udom_smil_check_instance(JSContext *c, JSValue
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_udom_smil_time_insert
      Src: /src/gpac/src/scenegraph/svg_js.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: svg_udom_smil_begin
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - svg_udom_smil_time_insert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_begin(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:613,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:618,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:614,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: svg_udom_smil_restart
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    - gf_node_get_tag
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_restart(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scenegraph/svg_js.c:2342,1
    - Dst: gf_svg_script_context_del
      Src: /src/gpac/src/scenegraph/svg_js.c:2351,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/svg_js.c:2348,1
    - Dst: gf_sg_js_dom_pre_destroy
      Src: /src/gpac/src/scenegraph/svg_js.c:2348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - n
    - eff
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 2355
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2355
    functionName: svg_script_predestroy
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_sg_js_dom_pre_destroy
    - gf_list_del_item
    - JS_GetRuntime
    - gf_svg_script_context_del
    linkageType: ''
    returnType: void
    signature: 'static void svg_script_predestroy(GF_Node *n, void *eff, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_js.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - svg_js
    - hdl
    - event
    - observer
    - iri
    argTypes:
    - struct __tag_svg_script_ctx*
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: svgjs_handler_execute
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void svgjs_handler_execute(struct __tag_svg_script_ctx *svg_js, GF_Node
      *hdl, GF_DOM_Event *event, GF_Node *observer, const char *iri) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:425,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:451,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:456,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:458,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:442,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:465,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:475,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scenegraph/svg_js.c:434,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:426,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scenegraph/svg_js.c:436,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:437,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_js.c:439,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:441,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:452,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:431,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/svg_js.c:430,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:438,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:445,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:467,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:468,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/scenegraph/svg_js.c:435,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:454,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scenegraph/svg_js.c:443,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:464,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:474,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:478,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 486
    functionName: svg_element_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - js_throw_err
    - gf_sg_get_next_available_node_id
    - gf_node_set_id
    - gf_node_get_attribute_by_tag
    - JS_ToFloat64
    - FLT2FIX
    - ScriptAction
    - gf_node_get_id
    - gf_free
    - JSVAL_CHECK_STRING
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_element_setProperty(JSContext *c, JSValueConst
      obj, JSValueConst value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_udom_smil_time_insert
      Src: /src/gpac/src/scenegraph/svg_js.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: svg_udom_smil_end
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - svg_udom_smil_time_insert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_end(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:629,1
    - Dst: memset
      Src: /src/gpac/src/scenegraph/svg_js.c:637,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:631,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:632,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:634,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:638,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 644
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 644
    functionName: svg_udom_smil_set_speed
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - memset
    - gf_node_get_tag
    - FLT2FIX
    - dom_get_element
    - ScriptAction
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_set_speed(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1417,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1421,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1418,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1419,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1419,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1423,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1427
    functionName: svg_udom_set_focus
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_focus(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1869,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1873,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1874,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1873,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1870,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1874,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1875,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1875,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1876,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1876,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1877,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1880,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1878,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1878,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1877,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1882
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1882
    functionName: matrix_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue matrix_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:2366,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2377,1
    - Dst: svg_init_js_api
      Src: /src/gpac/src/scenegraph/svg_js.c:2381,1
    - Dst: gf_js_create_context
      Src: /src/gpac/src/scenegraph/svg_js.c:2371,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2373,1
    - Dst: html_media_init_js_api
      Src: /src/gpac/src/scenegraph/svg_js.c:2385,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2395
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2395
    functionName: JSScript_CreateSVGContext
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - html_media_init_js_api
    - gf_js_lock
    - svg_init_js_api
    - gf_js_create_context
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err JSScript_CreateSVGContext(GF_SceneGraph *sg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/svg_js.c:2425,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/scenegraph/svg_js.c:2427,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2452,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/svg_js.c:2460,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/scenegraph/svg_js.c:2466,1
    - Dst: JS_Eval
      Src: /src/gpac/src/scenegraph/svg_js.c:2459,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scenegraph/svg_js.c:2447,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/scenegraph/svg_js.c:2454,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2473,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/svg_js.c:2461,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2435,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/scenegraph/svg_js.c:2434,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/scenegraph/svg_js.c:2440,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2469,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2464,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/scenegraph/svg_js.c:2454,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2441,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/svg_js.c:2471,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - script
    - file
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 2475
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2475
    functionName: svg_js_load_script
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_dom_add_text_node
    - JS_FreeValue
    - gf_js_call_gc
    - gf_file_load_data
    - JS_DetectModule
    - gf_js_lock
    - JS_IsException
    - gf_dom_listener_process_add
    - JS_Eval
    - js_dump_error
    - gf_free
    - gf_opts_get_bool
    - strnicmp
    - gf_file_exists
    linkageType: ''
    returnType: Bool
    signature: 'Bool svg_js_load_script(GF_Node *script, char *file) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1132,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1133,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1150,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:1152,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1177,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_js.c:1179,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1181,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1130,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:1153,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_js.c:1154,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1178,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1127,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1131,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:1131,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_js.c:1149,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1139,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1138,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1136,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:1148,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1176,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1128,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/svg_js.c:1132,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:1147,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1155,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1159,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_js.c:1161,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1186
    functionName: svg_udom_set_path_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_ToCString
    - gf_malloc
    - JS_FreeCString
    - gf_list_get
    - JS_IsNull
    - dom_node_changed
    - gf_node_get_field_by_name
    - gf_list_count
    - FLT2FIX
    - JS_GetOpaque
    - JS_IsString
    - gf_list_rem
    - gf_free
    - JS_IsObject
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_path_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dom_js_load
      Src: /src/gpac/src/scenegraph/svg_js.c:2220,1
    - Dst: dom_js_get_document_proto
      Src: /src/gpac/src/scenegraph/svg_js.c:2232,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2232,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2236,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2238,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2248,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:2248,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/svg_js.c:2210,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2215,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2217,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/svg_js.c:2217,1
    - Dst: dom_js_get_element_proto
      Src: /src/gpac/src/scenegraph/svg_js.c:2234,1
    - Dst: svg_define_udom_exception
      Src: /src/gpac/src/scenegraph/svg_js.c:2226,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/scenegraph/svg_js.c:2227,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2234,1
    - Dst: dom_js_define_document
      Src: /src/gpac/src/scenegraph/svg_js.c:2255,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2259,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/svg_js.c:2209,1
    - Dst: qjs_module_init_xhr_global
      Src: /src/gpac/src/scenegraph/svg_js.c:2223,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2241,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2244,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:2244,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2245,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:2245,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2246,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:2246,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2247,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:2213,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2214,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2212,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2228,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2229,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/scenegraph/svg_js.c:2228,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2237,1
    - Dst: SETUP_JSCLASS
      Src: /src/gpac/src/scenegraph/svg_js.c:2239,1
    - Dst: dom_js_define_event
      Src: /src/gpac/src/scenegraph/svg_js.c:2257,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:2247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2260
    functionName: svg_init_js_api
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - SETUP_JSCLASS
    - JS_FreeValue
    - JS_NewObject
    - svg_define_udom_exception
    - dom_js_get_document_proto
    - JS_NewInt32
    - JS_SetOpaque
    - JS_NewObjectClass
    - dom_js_load
    - dom_js_define_event
    - dom_js_define_document
    - JS_NewCFunction
    - JS_GetGlobalObject
    - dom_js_get_element_proto
    - qjs_module_init_xhr_global
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'static void svg_init_js_api(GF_SceneGraph *scene) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1197,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1199,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1225,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1194,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:1198,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1201,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1216,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1195,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1199,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1200,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1203,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1214,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1215,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1205,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1204,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1213,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1206,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1198,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1224,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1226,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1227,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1232
    functionName: svg_udom_set_rgb_color_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_node_changed
    - gf_node_get_field_by_name
    - FLT2FIX
    - JS_GetOpaque
    - JS_IsString
    - JS_IsObject
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_rgb_color_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1958,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1959,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1961,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1961,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1961,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_js.c:1963,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1964,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1965,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/scenegraph/svg_js.c:1966,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:1967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1968
    functionName: svg_mx2d_translate
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_translate(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1456
    functionName: svg_connection_create
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_connection_create(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_js.c:2492,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:2515,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:2500,1
    - Dst: strstr
      Src: /src/gpac/src/scenegraph/svg_js.c:2519,1
    - Dst: strnicmp
      Src: /src/gpac/src/scenegraph/svg_js.c:2519,1
    - Dst: vrml_svg_js_async_load
      Src: /src/gpac/src/scenegraph/svg_js.c:2525,1
    - Dst: gf_dom_listener_process_add
      Src: /src/gpac/src/scenegraph/svg_js.c:2557,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/svg_js.c:2558,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:2508,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2545,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:2532,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/scenegraph/svg_js.c:2547,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/svg_js.c:2553,1
    - Dst: JS_Eval
      Src: /src/gpac/src/scenegraph/svg_js.c:2552,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2552,1
    - Dst: JSScript_CreateSVGContext
      Src: /src/gpac/src/scenegraph/svg_js.c:2488,1
    - Dst: svg_js_load_script
      Src: /src/gpac/src/scenegraph/svg_js.c:2520,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2535,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/svg_js.c:2554,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/scenegraph/svg_js.c:2547,1
    - Dst: svg_get_text_child
      Src: /src/gpac/src/scenegraph/svg_js.c:2543,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2556,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2560
    functionName: JSScript_LoadSVG
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - JS_IsException
    - ScriptAction
    - vrml_svg_js_async_load
    - strstr
    - JS_Eval
    - js_dump_error
    - svg_js_load_script
    - JS_DetectModule
    - gf_dom_listener_process_add
    - gf_node_get_attribute_by_tag
    - strnicmp
    - gf_free
    - JSScript_CreateSVGContext
    - svg_get_text_child
    - JS_FreeValue
    - js_std_loop
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'void JSScript_LoadSVG(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/scenegraph/svg_js.c:1461,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1463
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1463
    functionName: baseCI_finalize
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque_Nocheck
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void baseCI_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1974,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1976,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1975,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_js.c:1978,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1976,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1979,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/scenegraph/svg_js.c:1980,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:1981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1982
    functionName: svg_mx2d_scale
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_scale(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1237,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1244,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1241,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1243,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1238,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1245,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1247,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1249,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1250,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1251,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - get_screen
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1260
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1260
    functionName: svg_get_bbox
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_SetOpaque
    - JS_NewObjectClass
    - ScriptAction
    - FIX2FLT
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_get_bbox(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv, Bool get_screen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1432,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:1439,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1435,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1436,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1442
    functionName: svg_udom_get_focus
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - dom_element_construct
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_focus(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_get_bbox
      Src: /src/gpac/src/scenegraph/svg_js.c:1264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1265
    functionName: svg_udom_get_local_bbox
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - svg_get_bbox
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_local_bbox(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1446,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/scenegraph/svg_js.c:1449,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1449,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: svg_udom_get_time
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - dom_get_element
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_time(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1887,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1888,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1893,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1889,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1889,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1896,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1899,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1902,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1905,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1908,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1914
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1914
    functionName: matrix_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - FLT2FIX
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue matrix_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - svg_js
    argTypes:
    - struct __tag_svg_script_ctx*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: svg_mark_gc
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void svg_mark_gc(struct __tag_svg_script_ctx *svg_js) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:100,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/scenegraph/svg_js.c:112,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scenegraph/svg_js.c:106,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:101,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - svg_js
    - node
    argTypes:
    - struct __tag_svg_script_ctx*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: svg_free_node_binding
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_call_gc
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'void svg_free_node_binding(struct __tag_svg_script_ctx *svg_js, GF_Node
      *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1919,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1924,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1921,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1920,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1921,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1924,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1925,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1925,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1926,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1926,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1928,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1929,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1927,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1927,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1931,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1929,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1928,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1932
    functionName: svg_mx2d_get_component
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_get_component(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1467,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1471,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1472,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1470,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1468,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1476
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1476
    functionName: rgb_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewInt32
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rgb_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1479,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1483,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1484,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1480,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1483,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1484,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1485,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1485,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1489
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1489
    functionName: rgb_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rgb_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:287,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_js.c:291,1
    - Dst: strchr
      Src: /src/gpac/src/scenegraph/svg_js.c:289,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:290,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:294,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:295,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:296,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:297,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:298,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:299,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:303,1
    - Dst: stricmp
      Src: /src/gpac/src/scenegraph/svg_js.c:300,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: dom_imp_has_feature
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - JS_FreeCString
    - strchr
    - stricmp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue dom_imp_has_feature(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1625,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1630,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1626,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1632
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1632
    functionName: path_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewInt32
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1493,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1494,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1500,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1498,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1497,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1501,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1502,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1503,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1506,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1507,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1509,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1511,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1513
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1513
    functionName: rect_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - ScriptAction
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rect_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:192,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:199,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:194,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:200,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: svg_nav_to_location
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - ScriptAction
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_nav_to_location(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:262,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:263,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: global_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue global_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_flatten_textContent
      Src: /src/gpac/src/scenegraph/svg_js.c:671,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:683,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/svg_js.c:658,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:663,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:664,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_js.c:670,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:770,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:673,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:653,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:661,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:668,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/svg_js.c:672,1
    - Dst: JS_NewString
      Src: /src/gpac/src/scenegraph/svg_js.c:743,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scenegraph/svg_js.c:742,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:744,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:654,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:681,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:678,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:675,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 39
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 774
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 774
    functionName: svg_udom_get_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_svg_dump_attribute
    - JS_FreeCString
    - gf_dom_flatten_textContent
    - gf_node_get_field_by_name
    - JS_NewString
    - strcmp
    - gf_free
    - JSVAL_CHECK_STRING
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_trait(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1065,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/svg_js.c:1070,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:1069,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1069,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1068,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1070,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1070,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1072,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1073,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1075,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1077,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_js.c:1081,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1076,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1078,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1086
    functionName: svg_udom_set_matrix_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_node_changed
    - JS_IsNull
    - gf_node_get_field_by_name
    - JS_GetOpaque
    - JS_IsString
    - JS_IsObject
    - gf_mx2d_copy
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_matrix_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/scenegraph/svg_js.c:2570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - name
    - rp
    - data
    argTypes:
    - char*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2571
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2571
    functionName: dump_root
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void dump_root(const char *name, void *rp, void *data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:781,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:784,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:784,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:785,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:782,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:786,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:788,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:789,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:790,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:801,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:804,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:801,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 809
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 809
    functionName: svg_udom_get_float_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_attribute_by_name
    - JS_IsString
    - JS_NewFloat64
    - FIX2FLT
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_float_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1094,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:1098,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1095,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1097,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/scenegraph/svg_js.c:1099,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/scenegraph/svg_js.c:1099,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1099,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1101,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1102,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1104,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1112,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1107,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1111,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1106,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1115,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1113,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1114,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1119
    functionName: svg_udom_set_rect_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_node_changed
    - JS_IsNull
    - gf_node_get_field_by_name
    - FLT2FIX
    - JS_GetOpaque
    - JS_IsString
    - JS_IsObject
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_rect_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1518,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1535,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1520,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1519,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1520,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1537
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1537
    functionName: rect_setProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue rect_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1637,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1638,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1642,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1639,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1639,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1643,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1646,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1649,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1651,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1653,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1654
    functionName: svg_path_get_segment
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_get_segment(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2754,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2769,1
    - Dst: gf_dom_new_event
      Src: /src/gpac/src/scenegraph/svg_js.c:2772,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2761,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2754,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2773,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2776,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/svg_js.c:2777,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2779,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/svg_js.c:2780,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2781,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/svg_js.c:2785,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/svg_js.c:2784,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2791,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_js.c:2794,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2788,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2789,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - node
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2797
    functionName: svg_execute_handler
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyStr
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - js_dump_error
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_Call
    - gf_dom_new_event
    linkageType: ''
    returnType: void
    signature: 'void svg_execute_handler(GF_Node *node, GF_DOM_Event *event, GF_Node
      *observer) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2600,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:2616,1
    - Dst: dom_element_construct
      Src: /src/gpac/src/scenegraph/svg_js.c:2645,1
    - Dst: JS_EvalThis
      Src: /src/gpac/src/scenegraph/svg_js.c:2656,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2656,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2631,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2674,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2676,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2677,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/svg_js.c:2678,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_js.c:2737,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2683,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2719,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2615,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:2623,1
    - Dst: gf_dom_new_event
      Src: /src/gpac/src/scenegraph/svg_js.c:2663,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2667,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/svg_js.c:2668,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2670,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2692,1
    - Dst: js_dump_error
      Src: /src/gpac/src/scenegraph/svg_js.c:2697,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2703,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/scenegraph/svg_js.c:2710,1
    - Dst: JS_DumpNamedRoots
      Src: /src/gpac/src/scenegraph/svg_js.c:2732,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/svg_js.c:2732,1
    - Dst: JS_EvalThis
      Src: /src/gpac/src/scenegraph/svg_js.c:2690,1
    - Dst: fprintf
      Src: /src/gpac/src/scenegraph/svg_js.c:2724,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2600,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scenegraph/svg_js.c:2611,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/scenegraph/svg_js.c:2627,1
    - Dst: dom_get_evt_private
      Src: /src/gpac/src/scenegraph/svg_js.c:2628,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2652,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2634,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2659,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2659,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2672,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2680,1
    - Dst: svg_script_execute
      Src: /src/gpac/src/scenegraph/svg_js.c:2685,1
    - Dst: fprintf
      Src: /src/gpac/src/scenegraph/svg_js.c:2731,1
    - Dst: js_std_loop
      Src: /src/gpac/src/scenegraph/svg_js.c:2716,1
    - Dst: strlen
      Src: /src/gpac/src/scenegraph/svg_js.c:2690,1
    - Dst: svg_get_text_child
      Src: /src/gpac/src/scenegraph/svg_js.c:2601,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scenegraph/svg_js.c:2622,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2651,1
    - Dst: JS_EvalThis
      Src: /src/gpac/src/scenegraph/svg_js.c:2652,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/scenegraph/svg_js.c:2641,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2664,1
    - Dst: JS_Call
      Src: /src/gpac/src/scenegraph/svg_js.c:2671,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/scenegraph/svg_js.c:2679,1
    - Dst: JS_IsException
      Src: /src/gpac/src/scenegraph/svg_js.c:2696,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/scenegraph/svg_js.c:2700,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2705,1
    - Dst: fprintf
      Src: /src/gpac/src/scenegraph/svg_js.c:2727,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 147
    argCount: 4
    argNames:
    - node
    - event
    - observer
    - utf8_script
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 2741
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2741
    functionName: svg_script_execute_handler
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_js_call_gc
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - dom_element_construct
    - svg_script_execute
    - gf_dom_new_event
    - JS_ToCString
    - js_dump_error
    - JS_SetOpaque
    - JS_Call
    - JS_GetRuntime
    - JS_FreeCString
    - fprintf
    - JS_IsUndefined
    - JS_GetGlobalObject
    - svg_get_text_child
    - JS_GetPropertyStr
    - JS_FreeValue
    - dom_get_evt_private
    - js_std_loop
    - JS_EvalThis
    - JS_DumpNamedRoots
    - gf_log_tool_level_on
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_script_execute_handler(GF_Node *node, GF_DOM_Event
      *event, GF_Node *observer, char *utf8_script) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:816,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:819,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:820,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:819,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:817,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:822,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:823,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:824,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:827,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:828,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scenegraph/svg_js.c:830,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:833,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/scenegraph/svg_js.c:831,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:829,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 837
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 837
    functionName: svg_udom_get_matrix_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_malloc
    - JS_FreeCString
    - gf_node_get_field_by_name
    - gf_mx2d_init
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_IsString
    - gf_mx2d_copy
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_matrix_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1363,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1367,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1364,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1366,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1369,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1370,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/scenegraph/svg_js.c:1371,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1372,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1375
    functionName: svg_udom_create_color
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - GF_JS_EXCEPTION
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - dom_get_element
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_create_color(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1592,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:1598,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1597,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1593,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:1596,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:1599,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1600,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:1602,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1603,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1604,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1607,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - JSContext*
    - SVG_PathData*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1611
    functionName: svg_new_path_object
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - FIX2FLT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_new_path_object(JSContext *c, SVG_PathData *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2411
    functionName: svg_get_text_child
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_DOMText*
    signature: 'GF_DOMText *svg_get_text_child(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - scene
    - type
    - node
    - param
    argTypes:
    - GF_SceneGraph*
    - u32
    - GF_Node*
    - GF_JSAPIParam*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: ScriptAction
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool ScriptAction(GF_SceneGraph *scene, u32 type,
      GF_Node *node, GF_JSAPIParam *param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:844,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:847,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:848,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:845,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:847,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:850,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:851,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:852,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:858,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:860,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:863,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:867,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:864,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:865,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:866,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:862,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 871
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 871
    functionName: svg_udom_get_rect_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_node_get_field_by_name
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_IsString
    - GF_SAFEALLOC
    - FIX2FLT
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_rect_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1382,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1383,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1384,1
    - Dst: gf_path_iterator_new
      Src: /src/gpac/src/scenegraph/svg_js.c:1390,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1386,1
    - Dst: gf_path_iterator_get_length
      Src: /src/gpac/src/scenegraph/svg_js.c:1392,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scenegraph/svg_js.c:1393,1
    - Dst: gf_path_iterator_del
      Src: /src/gpac/src/scenegraph/svg_js.c:1394,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1399
    functionName: svg_path_get_total_length
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_path_iterator_new
    - gf_node_get_field_by_name
    - gf_path_iterator_del
    - FIX2FLT
    - JS_NewFloat64
    - gf_path_iterator_get_length
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_get_total_length(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1615,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1617,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1618,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: pathCI_finalize
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void pathCI_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:593,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:594,1
    - Dst: gf_smil_timing_resume
      Src: /src/gpac/src/scenegraph/svg_js.c:599,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:596,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:597,1
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:600,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:601,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: svg_udom_smil_resume
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_smil_timing_resume
    - gf_svg_is_timing_tag
    - gf_svg_is_animation_tag
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_resume(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1937,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1940,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1938,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/scenegraph/svg_js.c:1942,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1939,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:1943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1944
    functionName: svg_mx2d_multiply
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_DupValue
    - gf_mx2d_add_matrix
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_multiply(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:573,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:577,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:576,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:574,1
    - Dst: gf_smil_timing_pause
      Src: /src/gpac/src/scenegraph/svg_js.c:579,1
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scenegraph/svg_js.c:580,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:581,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 588
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 588
    functionName: svg_udom_smil_pause
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_smil_timing_pause
    - gf_svg_is_timing_tag
    - gf_svg_is_animation_tag
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_smil_pause(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1948,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1949,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/scenegraph/svg_js.c:1951,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/scenegraph/svg_js.c:1950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1952
    functionName: svg_mx2d_inverse
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_GetOpaque
    - gf_mx2d_inverse
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_mx2d_inverse(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_js_dom_pre_destroy
      Src: /src/gpac/src/scenegraph/svg_js.c:2324,1
    - Dst: dom_js_unload
      Src: /src/gpac/src/scenegraph/svg_js.c:2326,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/scenegraph/svg_js.c:2325,1
    - Dst: html_media_js_api_del
      Src: /src/gpac/src/scenegraph/svg_js.c:2329,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/scenegraph/svg_js.c:2324,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:2332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - svg_js
    - scenegraph
    argTypes:
    - GF_SVGJS*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2335
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2335
    functionName: gf_svg_script_context_del
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - dom_js_unload
    - html_media_js_api_del
    - gf_sg_js_dom_pre_destroy
    - gf_js_delete_context
    - gf_free
    - JS_GetRuntime
    linkageType: ''
    returnType: void
    signature: 'void gf_svg_script_context_del(GF_SVGJS *svg_js, GF_SceneGraph *scenegraph) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1769,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1770,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1772,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1773,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1772,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1773,1
    - Dst: svg_path_realloc_pts
      Src: /src/gpac/src/scenegraph/svg_js.c:1774,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1781
    functionName: svg_path_move_to
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - JS_GetOpaque
    - svg_path_realloc_pts
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_move_to(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1788,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1789,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1791,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1791,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1792,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1792,1
    - Dst: svg_path_realloc_pts
      Src: /src/gpac/src/scenegraph/svg_js.c:1794,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1801
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1801
    functionName: svg_path_line_to
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - JS_GetOpaque
    - svg_path_realloc_pts
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_line_to(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:957,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:961,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/svg_js.c:963,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:964,1
    - Dst: strcmp
      Src: /src/gpac/src/scenegraph/svg_js.c:979,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:977,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:970,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:991,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:992,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:998,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:958,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:972,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:981,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/svg_js.c:961,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:963,1
    - Dst: JSVAL_CHECK_STRING
      Src: /src/gpac/src/scenegraph/svg_js.c:964,1
    - Dst: dom_node_set_textContent
      Src: /src/gpac/src/scenegraph/svg_js.c:980,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:982,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:986,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:987,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scenegraph/svg_js.c:994,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:995,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:997,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:965,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:966,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:967,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:976,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:975,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:969,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:983,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:988,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1000
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1000
    functionName: svg_udom_set_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - dom_node_changed
    - gf_node_get_field_by_name
    - gf_svg_parse_attribute
    - strcmp
    - js_throw_err
    - dom_node_set_textContent
    - JSVAL_CHECK_STRING
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_trait(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_get_bbox
      Src: /src/gpac/src/scenegraph/svg_js.c:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1269
    functionName: svg_udom_get_screen_bbox
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - svg_get_bbox
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_screen_bbox(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scenegraph/svg_js.c:2010,1
    - Dst: html_get_element_class
      Src: /src/gpac/src/scenegraph/svg_js.c:2011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2017
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2017
    functionName: svg_get_element_class
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - html_get_element_class
    - gf_assert
    linkageType: ''
    returnType: JSClassID
    signature: 'JSClassID svg_get_element_class(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2032
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2032
    functionName: is_svg_document_class
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool is_svg_document_class(JSContext *c, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2025
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2025
    functionName: svg_get_document_class
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSClassID
    signature: 'JSClassID svg_get_document_class(GF_SceneGraph *sg) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1012,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:1038,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1011,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/scenegraph/svg_js.c:1013,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:1037,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scenegraph/svg_js.c:1042,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1029,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scenegraph/svg_js.c:1039,1
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1009,1
    - Dst: JS_IsString
      Src: /src/gpac/src/scenegraph/svg_js.c:1012,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1013,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1015,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scenegraph/svg_js.c:1016,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1018,1
    - Dst: gf_free
      Src: /src/gpac/src/scenegraph/svg_js.c:1040,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/scenegraph/svg_js.c:1017,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scenegraph/svg_js.c:1047,1
    - Dst: dom_node_changed
      Src: /src/gpac/src/scenegraph/svg_js.c:1054,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1010,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1013,1
    - Dst: js_throw_err
      Src: /src/gpac/src/scenegraph/svg_js.c:1044,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scenegraph/svg_js.c:1048,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1056
    functionName: svg_udom_set_float_trait
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_ToCString
    - JS_FreeCString
    - gf_list_get
    - dom_node_changed
    - gf_node_get_field_by_name
    - gf_list_count
    - js_throw_err
    - FLT2FIX
    - JS_IsNumber
    - JS_IsString
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - JS_ToFloat64
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_set_float_trait(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_element
      Src: /src/gpac/src/scenegraph/svg_js.c:1274,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1275,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1279,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1278,1
    - Dst: ScriptAction
      Src: /src/gpac/src/scenegraph/svg_js.c:1277,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/scenegraph/svg_js.c:1280,1
    - Dst: gf_mx2d_from_mx
      Src: /src/gpac/src/scenegraph/svg_js.c:1281,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1282,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1286
    functionName: svg_udom_get_screen_ctm
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx2d_from_mx
    - JS_SetOpaque
    - JS_NewObjectClass
    - ScriptAction
    - dom_get_element
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_udom_get_screen_ctm(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:2036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2039
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2039
    functionName: is_svg_element_class
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool is_svg_element_class(JSContext *c, JSValue obj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1809,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1812,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1813,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1810,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1812,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1813,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1814,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1814,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1815,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1815,1
    - Dst: svg_path_realloc_pts
      Src: /src/gpac/src/scenegraph/svg_js.c:1816,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1825
    functionName: svg_path_quad_to
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - JS_GetOpaque
    - svg_path_realloc_pts
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_quad_to(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/scenegraph/svg_js.c:1833,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1834,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1836,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1836,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1837,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1837,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1838,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1838,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1839,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1839,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1840,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scenegraph/svg_js.c:1849,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/scenegraph/svg_js.c:1841,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1841,1
    - Dst: svg_path_realloc_pts
      Src: /src/gpac/src/scenegraph/svg_js.c:1842,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:1840,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1853
    functionName: svg_path_curve_to
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - JS_GetOpaque
    - svg_path_realloc_pts
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_path_curve_to(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scenegraph/svg_js.c:314,1
    - Dst: get_corresponding_use
      Src: /src/gpac/src/scenegraph/svg_js.c:324,1
    - Dst: get_corresponding_use
      Src: /src/gpac/src/scenegraph/svg_js.c:319,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scenegraph/svg_js.c:316,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/scenegraph/svg_js.c:324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: get_corresponding_use
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - get_corresponding_use
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *get_corresponding_use(GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dom_get_doc
      Src: /src/gpac/src/scenegraph/svg_js.c:329,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/scenegraph/svg_js.c:330,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/scenegraph/svg_js.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: svg_doc_getProperty
    functionSourceFile: /src/gpac/src/scenegraph/svg_js.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - GF_JS_EXCEPTION
    - dom_get_doc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue svg_doc_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_codec.c:37,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_codec.c:40,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_codec.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: gf_odf_codec_new
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_malloc
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ODCodec *gf_odf_codec_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:524,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_codec.c:527,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/odf_codec.c:533,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:534,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - descList
    - outEncList
    - outSize
    argTypes:
    - GF_List*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 536
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 536
    functionName: gf_odf_desc_list_write
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_write_descriptor_list
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_list_write(GF_List *descList, u8 **outEncList,
      u32 *outSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_create_command
      Src: /src/gpac/src/odf/odf_codec.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: gf_odf_com_new
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_create_command
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ODCom *gf_odf_com_new(u8 tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_codec.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - descList
    - outSize
    argTypes:
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: gf_odf_desc_list_size
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_list_size(GF_List *descList, u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:201,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_ODCodec*
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: gf_odf_codec_get_com
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ODCom *gf_odf_codec_get_com(GF_ODCodec *codec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:263,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:265,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:266,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - descList
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: gf_odf_desc_list_del
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_odf_delete_descriptor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_list_del(GF_List *descList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - desc
    - bs
    argTypes:
    - GF_Descriptor*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: gf_odf_desc_write_bs
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_write_bs(GF_Descriptor *desc, GF_BitStream
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:339,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:346,1
    - Dst: gf_odf_desc_write_bs
      Src: /src/gpac/src/odf/odf_codec.c:342,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/odf_codec.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - desc
    - outEncDesc
    - outSize
    argTypes:
    - GF_Descriptor*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: gf_odf_desc_write
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_desc_write_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_write(GF_Descriptor *desc, u8 **outEncDesc,
      u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: gf_odf_desc_del
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_desc_del(GF_Descriptor *desc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:495,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:502,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_codec.c:503,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:508,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - raw_list
    - raw_size
    - descList
    argTypes:
    - u8*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 511
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 511
    functionName: gf_odf_desc_list_read
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_bs_new
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_list_read(u8 *raw_list, u32 raw_size,
      GF_List *descList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - codec
    - command
    argTypes:
    - GF_ODCodec*
    - GF_ODCom*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: gf_odf_codec_add_com
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_codec_add_com(GF_ODCodec *codec, GF_ODCom
      *command) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:90,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_codec.c:95,1
    - Dst: gf_odf_write_command
      Src: /src/gpac/src/odf/odf_codec.c:96,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:105,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_codec.c:99,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:109,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:110,1
    - Dst: gf_odf_delete_command
      Src: /src/gpac/src/odf/odf_codec.c:111,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:112,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/odf/odf_codec.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - codec
    - cleanup_type
    argTypes:
    - GF_ODCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 119
    functionName: gf_odf_codec_encode
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_write_command
    - gf_list_reset
    - gf_list_get
    - gf_bs_del
    - gf_list_enum
    - gf_list_count
    - gf_bs_new
    - gf_list_rem
    - gf_bs_align
    - gf_odf_delete_command
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_codec_encode(GF_ODCodec *codec, u32 cleanup_type) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AddDescriptorToOD
      Src: /src/gpac/src/odf/odf_codec.c:423,1
    - Dst: AddDescriptorToIOD
      Src: /src/gpac/src/odf/odf_codec.c:425,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:439,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:445,1
    - Dst: AddDescriptorToESD
      Src: /src/gpac/src/odf/odf_codec.c:427,1
    - Dst: AddDescriptorToIsomIOD
      Src: /src/gpac/src/odf/odf_codec.c:452,1
    - Dst: AddDescriptorToIsomOD
      Src: /src/gpac/src/odf/odf_codec.c:454,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:458,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_codec.c:464,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:465,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 33
    argCount: 2
    argNames:
    - parentDesc
    - newDesc
    argTypes:
    - GF_Descriptor*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 470
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 470
    functionName: gf_odf_desc_add_desc
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - AddDescriptorToIsomIOD
    - AddDescriptorToIsomOD
    - AddDescriptorToIOD
    - AddDescriptorToESD
    - gf_list_new
    - AddDescriptorToOD
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_add_desc(GF_Descriptor *parentDesc, GF_Descriptor
      *newDesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/odf_codec.c:125,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - codec
    - outAU
    - au_length
    argTypes:
    - GF_ODCodec*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: gf_odf_codec_get_au
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_codec_get_au(GF_ODCodec *codec, u8 **outAU,
      u32 *au_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_create_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: gf_odf_desc_new
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_create_descriptor
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Descriptor *gf_odf_desc_new(u8 tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:296,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_codec.c:302,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:311,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - raw_desc
    - descSize
    - outDesc
    argTypes:
    - u8*
    - u32
    - GF_Descriptor**
    constantsTouched: []
    func_position:
      end: 313
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 313
    functionName: gf_odf_desc_read
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_read(u8 *raw_desc, u32 descSize, GF_Descriptor
      **outDesc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:56,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:57,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:59,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_codec.c:61,1
    - Dst: gf_odf_delete_command
      Src: /src/gpac/src/odf/odf_codec.c:58,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_codec.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_ODCodec*
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: gf_odf_codec_del
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_odf_delete_command
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_codec_del(GF_ODCodec *codec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_delete_command
      Src: /src/gpac/src/odf/odf_codec.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_ODCom**
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: gf_odf_com_del
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_command
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_com_del(GF_ODCom **com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/odf_codec.c:278,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/odf_codec.c:279,1
    - Dst: gf_odf_new_slc
      Src: /src/gpac/src/odf/odf_codec.c:281,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/odf_codec.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sl_predefined
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: gf_odf_desc_esd_new
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_new_slc
    - gf_odf_desc_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ESD *gf_odf_desc_esd_new(u32 sl_predefined) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_write
      Src: /src/gpac/src/odf/odf_codec.c:386,1
    - Dst: gf_odf_desc_read
      Src: /src/gpac/src/odf/odf_codec.c:388,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_codec.c:389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - inDesc
    - outDesc
    argTypes:
    - GF_Descriptor*
    - GF_Descriptor**
    constantsTouched: []
    func_position:
      end: 397
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 397
    functionName: gf_odf_desc_copy
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_read
    - gf_odf_desc_write
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_desc_copy(GF_Descriptor *inDesc, GF_Descriptor
      **outDesc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:144,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_codec.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - codec
    - au
    - au_length
    argTypes:
    - GF_ODCodec*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: gf_odf_codec_set_au
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_bs_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_codec_set_au(GF_ODCodec *codec, const u8 *au,
      u32 au_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_codec.c:360,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_codec.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: gf_odf_desc_size
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_odf_size_field_size
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_odf_desc_size(GF_Descriptor *desc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/odf_codec.c:164,1
    - Dst: gf_odf_parse_command
      Src: /src/gpac/src/odf/odf_codec.c:166,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_codec.c:169,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:168,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_codec.c:171,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:174,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_codec.c:184,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:187,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:188,1
    - Dst: gf_odf_delete_command
      Src: /src/gpac/src/odf/odf_codec.c:189,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_ODCodec*
    constantsTouched: []
    func_position:
      end: 193
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 193
    functionName: gf_odf_codec_decode
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_bs_del
    - gf_list_count
    - gf_bs_available
    - gf_list_rem
    - gf_bs_align
    - gf_odf_parse_command
    - gf_odf_size_field_size
    - gf_odf_delete_command
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_codec_decode(GF_ODCodec *codec) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:551,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:556,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/odf/odf_codec.c:592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:627,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:630,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:661,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:699,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:708,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_codec.c:717,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/odf/odf_codec.c:719,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/odf/odf_codec.c:712,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:711,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:589,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/odf/odf_codec.c:607,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:633,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/odf/odf_codec.c:641,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:660,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/odf/odf_codec.c:692,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/odf/odf_codec.c:715,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:565,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_codec.c:571,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:576,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:604,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:631,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/odf/odf_codec.c:623,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:617,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:656,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:664,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:679,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:682,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:721,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:568,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:562,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_codec.c:577,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_codec.c:643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_codec.c:659,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_codec.c:666,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:678,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_codec.c:684,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_codec.c:705,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_codec.c:713,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 156
    argCount: 2
    argNames:
    - codec
    - command
    argTypes:
    - GF_ODCodec*
    - GF_ODCom*
    constantsTouched: []
    func_position:
      end: 735
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 735
    functionName: gf_odf_codec_apply_com
    functionSourceFile: /src/gpac/src/odf/odf_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_transfer
    - gf_list_enum
    - gf_list_count
    - gf_odf_desc_copy
    - gf_list_rem
    - gf_odf_com_del
    - gf_odf_desc_del
    - gf_odf_com_new
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_codec_apply_com(GF_ODCodec *codec, GF_ODCom *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: gf_odf_new_base_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_base_command() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: gf_odf_new_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_od_remove() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:145,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:153,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bs
    - odRem
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_ODRemove*
    - u32
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: gf_odf_read_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_int
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_od_remove(GF_BitStream *bs, GF_ODRemove *odRem,
      u32 gf_odf_size_command) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_command.c:314,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_command.c:321,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_command.c:318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_command.c:315,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:316,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ESDUpdate
    argTypes:
    - GF_ESDUpdate*
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: gf_odf_del_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_odf_delete_descriptor
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_esd_update(GF_ESDUpdate *ESDUpdate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_command.c:573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_command.c:574,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:575,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_command.c:580,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_command.c:577,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:581,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - IPMPDUpdate
    argTypes:
    - GF_IPMPUpdate*
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: gf_odf_del_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_odf_delete_descriptor
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp_update(GF_IPMPUpdate *IPMPDUpdate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:87,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bcRemove
    argTypes:
    - GF_BaseODCom*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: gf_odf_del_base_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_base_command(GF_BaseODCom *bcRemove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:135,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ODRemove
    argTypes:
    - GF_ODRemove*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: gf_odf_del_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_od_remove(GF_ODRemove *ODRemove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - odRem
    - outSize
    argTypes:
    - GF_ODRemove*
    - u32*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: gf_odf_size_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_od_remove(GF_ODRemove *odRem, u32 *outSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_command.c:334,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - esdUp
    - desc
    argTypes:
    - GF_ESDUpdate*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: AddToESDUpdate
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_delete_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddToESDUpdate(GF_ESDUpdate *esdUp, GF_Descriptor *desc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_command.c:592,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ipmpUp
    - desc
    argTypes:
    - GF_IPMPUpdate*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: AddToIPMPDUpdate
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_delete_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddToIPMPDUpdate(GF_IPMPUpdate *ipmpUp, GF_Descriptor *desc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:349,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:357,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:366,1
    - Dst: AddToESDUpdate
      Src: /src/gpac/src/odf/odf_command.c:355,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_command.c:353,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - bs
    - esdUp
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_ESDUpdate*
    - u32
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: gf_odf_read_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - AddToESDUpdate
    - gf_bs_read_int
    - gf_bs_align
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_esd_update(GF_BitStream *bs, GF_ESDUpdate *esdUp,
      u32 gf_odf_size_command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_esd_update
      Src: /src/gpac/src/odf/odf_command.c:399,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:404,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:406,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_command.c:407,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:401,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - bs
    - esdUp
    argTypes:
    - GF_BitStream*
    - GF_ESDUpdate*
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: gf_odf_write_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_odf_size_esd_update
    - gf_list_enum
    - gf_bs_align
    - gf_odf_write_descriptor
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_esd_update(GF_BitStream *bs, GF_ESDUpdate *esdUp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_ipmp_remove
      Src: /src/gpac/src/odf/odf_command.c:543,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:549,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:545,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - ipmpRem
    argTypes:
    - GF_BitStream*
    - GF_IPMPRemove*
    constantsTouched: []
    func_position:
      end: 554
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 554
    functionName: gf_odf_write_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_odf_size_ipmp_remove
    - gf_bs_write_int
    - gf_bs_align
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp_remove(GF_BitStream *bs, GF_IPMPRemove *ipmpRem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:40,1
    - Dst: gf_odf_read_command
      Src: /src/gpac/src/odf/odf_command.c:61,1
    - Dst: gf_odf_create_command
      Src: /src/gpac/src/odf/odf_command.c:53,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:65,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:46,1
    - Dst: gf_odf_delete_command
      Src: /src/gpac/src/odf/odf_command.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - bs
    - com
    - com_size
    argTypes:
    - GF_BitStream*
    - GF_ODCom**
    - u32*
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: gf_odf_parse_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_odf_create_command
    - gf_odf_read_command
    - gf_bs_read_int
    - gf_odf_size_field_size
    - gf_odf_delete_command
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_parse_command(GF_BitStream *bs, GF_ODCom **com, u32
      *com_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_base_command
      Src: /src/gpac/src/odf/odf_command.c:114,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:116,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_command.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - bcRem
    argTypes:
    - GF_BitStream*
    - GF_BaseODCom*
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: gf_odf_write_base_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_base_command
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_base_command(GF_BitStream *bs, GF_BaseODCom *bcRem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:382,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:384,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_command.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - esdUp
    - outSize
    argTypes:
    - GF_ESDUpdate*
    - u32*
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: gf_odf_size_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_size_field_size
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_esd_update(GF_ESDUpdate *esdUp, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: gf_odf_new_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_esd_remove() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:558,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:562,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_command.c:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 567
    functionName: gf_odf_new_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_ipmp_update() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_od_remove
      Src: /src/gpac/src/odf/odf_command.c:175,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:181,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:177,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - odRem
    argTypes:
    - GF_BitStream*
    - GF_ODRemove*
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: gf_odf_write_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_bs_align
    - gf_bs_write_int
    - gf_odf_size_od_remove
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_od_remove(GF_BitStream *bs, GF_ODRemove *odRem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_command.c:208,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_command.c:215,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_command.c:209,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_command.c:212,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:210,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ODUpdate
    argTypes:
    - GF_ODUpdate*
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: gf_odf_del_od_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_odf_delete_descriptor
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_od_update(GF_ODUpdate *ODUpdate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_command.c:248,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:252,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:255,1
    - Dst: AddToODUpdate
      Src: /src/gpac/src/odf/odf_command.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - odUp
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_ODUpdate*
    - u32
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: gf_odf_read_od_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    - AddToODUpdate
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_od_update(GF_BitStream *bs, GF_ODUpdate *odUp,
      u32 gf_odf_size_command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_od_update
      Src: /src/gpac/src/odf/odf_command.c:280,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_command.c:287,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:282,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:286,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - odUp
    argTypes:
    - GF_BitStream*
    - GF_ODUpdate*
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: gf_odf_write_od_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_size_od_update
    - gf_bs_align
    - gf_odf_write_descriptor
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_od_update(GF_BitStream *bs, GF_ODUpdate *odUp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_command.c:607,1
    - Dst: AddToIPMPDUpdate
      Src: /src/gpac/src/odf/odf_command.c:609,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:614,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - ipmpUp
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_IPMPUpdate*
    - u32
    constantsTouched: []
    func_position:
      end: 617
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 617
    functionName: gf_odf_read_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    - AddToIPMPDUpdate
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp_update(GF_BitStream *bs, GF_IPMPUpdate *ipmpUp,
      u32 gf_odf_size_command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:192,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:197,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_command.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: gf_odf_new_od_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_od_update() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_command.c:232,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_command.c:235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 2
    argNames:
    - odUp
    - desc
    argTypes:
    - GF_ODUpdate*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: AddToODUpdate
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_delete_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddToODUpdate(GF_ODUpdate *odUp, GF_Descriptor *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:267,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_command.c:268,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - odUp
    - outSize
    argTypes:
    - GF_ODUpdate*
    - u32*
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: gf_odf_size_od_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_size_field_size
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_od_update(GF_ODUpdate *odUp, u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:303,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_command.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: gf_odf_new_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_esd_update() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:628,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_command.c:629,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_command.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ipmpUp
    - outSize
    argTypes:
    - GF_IPMPUpdate*
    - u32*
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: gf_odf_size_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_size_field_size
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp_update(GF_IPMPUpdate *ipmpUp, u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:97,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_command.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bs
    - bcRem
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_BaseODCom*
    - u32
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: gf_odf_read_base_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_base_command(GF_BitStream *bs, GF_BaseODCom *bcRem,
      u32 gf_odf_size_command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:429,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ESDRemove
    argTypes:
    - GF_ESDRemove*
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: gf_odf_del_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_esd_remove(GF_ESDRemove *ESDRemove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - esdRem
    - outSize
    argTypes:
    - GF_ESDRemove*
    - u32*
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: gf_odf_size_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_esd_remove(GF_ESDRemove *esdRem, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: gf_odf_new_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_new_ipmp_remove() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:519,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:523,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - ipmpRem
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_IPMPRemove*
    - u32
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: gf_odf_read_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_int
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp_remove(GF_BitStream *bs, GF_IPMPRemove *ipmpRem,
      u32 gf_odf_size_command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bcRem
    - outSize
    argTypes:
    - GF_BaseODCom*
    - u32*
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: gf_odf_size_base_command
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_base_command(GF_BaseODCom *bcRem, u32 *outSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:440,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:441,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:458,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_command.c:452,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_command.c:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - bs
    - esdRem
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_ESDRemove*
    - u32
    constantsTouched: []
    func_position:
      end: 460
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 460
    functionName: gf_odf_read_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_int
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_esd_remove(GF_BitStream *bs, GF_ESDRemove *esdRem,
      u32 gf_odf_size_command) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_esd_remove
      Src: /src/gpac/src/odf/odf_command.c:474,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:479,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:476,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_command.c:482,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - esdRem
    argTypes:
    - GF_BitStream*
    - GF_ESDRemove*
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: gf_odf_write_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_bs_align
    - gf_bs_write_int
    - gf_odf_size_esd_remove
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_esd_remove(GF_BitStream *bs, GF_ESDRemove *esdRem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:504,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_command.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - IPMPDRemove
    argTypes:
    - GF_IPMPRemove*
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: gf_odf_del_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp_remove(GF_IPMPRemove *IPMPDRemove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ipmpRem
    - outSize
    argTypes:
    - GF_IPMPRemove*
    - u32*
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: gf_odf_size_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp_remove(GF_IPMPRemove *ipmpRem, u32 *outSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_ipmp_update
      Src: /src/gpac/src/odf/odf_command.c:641,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_command.c:647,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_command.c:643,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/odf_command.c:652,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_command.c:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - ipmpUp
    argTypes:
    - GF_BitStream*
    - GF_IPMPUpdate*
    constantsTouched: []
    func_position:
      end: 654
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 654
    functionName: gf_odf_write_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_command.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_bs_align
    - gf_odf_write_descriptor
    - gf_odf_write_base_descriptor
    - gf_odf_size_ipmp_update
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp_update(GF_BitStream *bs, GF_IPMPUpdate *ipmpUp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/oci_codec.c:67,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/oci_codec.c:71,1
    - Dst: memset
      Src: /src/gpac/src/odf/oci_codec.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - EventID
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: gf_oci_event_new
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT OCIEvent *gf_oci_event_new(u16 EventID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - event
    - Hours
    - Minutes
    - Seconds
    - HundredSeconds
    argTypes:
    - OCIEvent*
    - u8*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: gf_oci_event_get_duration
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_get_duration(OCIEvent *event, u8 *Hours,
      u8 *Minutes, u8 *Seconds, u8 *HundredSeconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:178,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - event
    - DescIndex
    argTypes:
    - OCIEvent*
    - u32
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: gf_oci_event_get_desc
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Descriptor *gf_oci_event_get_desc(OCIEvent *event, u32
      DescIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/oci_codec.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - codec
    - event
    argTypes:
    - OCICodec*
    - OCIEvent*
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: gf_oci_codec_add_event
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_codec_add_event(OCICodec *codec, OCIEvent
      *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:80,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:82,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:81,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/oci_codec.c:83,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/oci_codec.c:85,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/oci_codec.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - OCIEvent*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: gf_oci_event_del
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_odf_delete_descriptor
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_oci_event_del(OCIEvent *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - OCIEvent*
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: gf_oci_event_get_desc_count
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_oci_event_get_desc_count(OCIEvent *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:185,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - event
    - DescIndex
    argTypes:
    - OCIEvent*
    - u32
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: gf_oci_event_rem_desc
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_rem_desc(OCIEvent *event, u32 DescIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:243,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:245,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:248,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:249,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:246,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:250,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:252,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 260
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 260
    functionName: WriteSevenBitLength
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err WriteSevenBitLength(GF_BitStream *bs, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - oci_desc
    argTypes:
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: OCI_IsOCIDesc
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'u8 OCI_IsOCIDesc(GF_Descriptor *oci_desc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/oci_codec.c:277,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/oci_codec.c:280,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:292,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:297,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/oci_codec.c:299,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/oci_codec.c:305,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/oci_codec.c:308,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:317,1
    - Dst: WriteSevenBitLength
      Src: /src/gpac/src/odf/oci_codec.c:288,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:293,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/oci_codec.c:296,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/oci_codec.c:298,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/oci_codec.c:286,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:294,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/oci_codec.c:301,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/oci_codec.c:307,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:315,1
    - Dst: gf_oci_event_del
      Src: /src/gpac/src/odf/oci_codec.c:318,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/oci_codec.c:313,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:316,1
    - Dst: gf_oci_event_del
      Src: /src/gpac/src/odf/oci_codec.c:302,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - codec
    - outAU
    - au_length
    argTypes:
    - OCICodec*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: gf_oci_codec_encode
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - WriteSevenBitLength
    - gf_list_enum
    - gf_list_count
    - gf_bs_write_data
    - gf_odf_write_descriptor_list
    - gf_bs_new
    - gf_odf_size_descriptor_list
    - gf_list_rem
    - gf_bs_align
    - gf_bs_write_int
    - gf_oci_event_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_codec_encode(OCICodec *codec, u8 **outAU,
      u32 *au_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCI_IsOCIDesc
      Src: /src/gpac/src/odf/oci_codec.c:127,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/oci_codec.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - event
    - oci_desc
    argTypes:
    - OCIEvent*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: gf_oci_event_add_desc
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - OCI_IsOCIDesc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_add_desc(OCIEvent *event, GF_Descriptor
      *oci_desc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/oci_codec.c:354,1
    - Dst: OCI_IsOCIDesc
      Src: /src/gpac/src/odf/oci_codec.c:372,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:405,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:407,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/oci_codec.c:362,1
    - Dst: gf_oci_event_del
      Src: /src/gpac/src/odf/oci_codec.c:403,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/oci_codec.c:398,1
    - Dst: gf_oci_event_new
      Src: /src/gpac/src/odf/oci_codec.c:341,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/oci_codec.c:364,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/oci_codec.c:369,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/oci_codec.c:402,1
    - Dst: gf_oci_event_del
      Src: /src/gpac/src/odf/oci_codec.c:408,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/oci_codec.c:336,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/oci_codec.c:349,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/oci_codec.c:361,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/oci_codec.c:363,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/oci_codec.c:386,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/oci_codec.c:377,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/oci_codec.c:373,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/oci_codec.c:378,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:406,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 3
    argNames:
    - codec
    - au
    - au_length
    argTypes:
    - OCICodec*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 411
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 411
    functionName: gf_oci_codec_decode
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - OCI_IsOCIDesc
    - gf_odf_delete_descriptor
    - gf_list_get
    - gf_bs_del
    - gf_oci_event_new
    - gf_list_count
    - gf_bs_read_int
    - gf_bs_new
    - gf_list_rem
    - gf_bs_read_data
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    - gf_oci_event_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_codec_decode(OCICodec *codec, u8 *au, u32
      au_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/oci_codec.c:196,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/oci_codec.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - IsEncoder
    - Version
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: gf_oci_codec_new
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT OCICodec *gf_oci_codec_new(u8 IsEncoder, u8 Version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/oci_codec.c:209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:210,1
    - Dst: gf_oci_event_del
      Src: /src/gpac/src/odf/oci_codec.c:211,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:212,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/oci_codec.c:214,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/oci_codec.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - codec
    argTypes:
    - OCICodec*
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: gf_oci_codec_del
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_oci_event_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_oci_codec_del(OCICodec *codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - event
    - Hours
    - Minutes
    - Seconds
    - HundredSeconds
    - IsAbsoluteTime
    argTypes:
    - OCIEvent*
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: gf_oci_event_set_start_time
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_set_start_time(OCIEvent *event, u8 Hours,
      u8 Minutes, u8 Seconds, u8 HundredSeconds, u8 IsAbsoluteTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - event
    - ID
    argTypes:
    - OCIEvent*
    - u16*
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: gf_oci_event_get_id
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_get_id(OCIEvent *event, u16 *ID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - event
    - Hours
    - Minutes
    - Seconds
    - HundredSeconds
    argTypes:
    - OCIEvent*
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: gf_oci_event_set_duration
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_set_duration(OCIEvent *event, u8 Hours,
      u8 Minutes, u8 Seconds, u8 HundredSeconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 6
    argNames:
    - event
    - Hours
    - Minutes
    - Seconds
    - HundredSeconds
    - IsAbsoluteTime
    argTypes:
    - OCIEvent*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: gf_oci_event_get_start_time
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_event_get_start_time(OCIEvent *event, u8 *Hours,
      u8 *Minutes, u8 *Seconds, u8 *HundredSeconds, u8 *IsAbsoluteTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/oci_codec.c:419,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/oci_codec.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - codec
    argTypes:
    - OCICodec*
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: gf_oci_codec_get_event
    functionSourceFile: /src/gpac/src/odf/oci_codec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT OCIEvent *gf_oci_codec_get_event(OCICodec *codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1842,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1847
    functionName: gf_odf_new_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_cc_date() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2020,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2026,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2024,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2023,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2025,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2030,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2034,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2036,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - bs
    - cid
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_CIDesc*
    - u32
    constantsTouched: []
    func_position:
      end: 2044
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2044
    functionName: gf_odf_read_ci
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ci(GF_BitStream *bs, GF_CIDesc *cid, u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:3153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cpd
    - outSize
    argTypes:
    - GF_SMPTECamera*
    - u32*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3155
    functionName: gf_odf_size_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_smpte_camera(GF_SMPTECamera *cpd, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cdd
    argTypes:
    - GF_CC_Date*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1855
    functionName: gf_odf_del_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_cc_date(GF_CC_Date *cdd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cid
    - outSize
    argTypes:
    - GF_CIDesc*
    - u32*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2056
    functionName: gf_odf_size_ci
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ci(GF_CIDesc *cid, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - reg
    - outSize
    argTypes:
    - GF_Registration*
    - u32*
    constantsTouched: []
    func_position:
      end: 3010
      start: 3004
    functionDepth: 0
    functionLinenumber: 3004
    functionLinenumberEnd: 3010
    functionName: gf_odf_size_reg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_reg(GF_Registration *reg, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3164,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3168,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3166,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3169,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:3169,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:3172,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - bs
    - cpd
    argTypes:
    - GF_BitStream*
    - GF_SMPTECamera*
    constantsTouched: []
    func_position:
      end: 3177
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3177
    functionName: gf_odf_write_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_list_count
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_smpte_camera(GF_BitStream *bs, GF_SMPTECamera
      *cpd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1137,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1141,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1138,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1142,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1143,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1148,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1154,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:1161,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1171,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:1179,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1163,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1176,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - bs
    - dcd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_DecoderConfig*
    - u32
    constantsTouched: []
    func_position:
      end: 1183
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1183
    functionName: gf_odf_read_dcd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_delete_descriptor
    - gf_bs_read_int
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_dcd(GF_BitStream *bs, GF_DecoderConfig *dcd, u32
      DescSize) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/odf/odf_code.c:1196,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/odf/odf_code.c:1199,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/odf/odf_code.c:1199,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/odf_code.c:1199,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:1211,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - dcd
    - outSize
    argTypes:
    - GF_DecoderConfig*
    - u32*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1216
    functionName: gf_odf_size_dcd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_codecid_oti
    - gf_odf_size_descriptor
    - GF_LOG
    - gf_odf_size_descriptor_list
    - gf_codecid_name
    - gf_4cc_to_str
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_dcd(GF_DecoderConfig *dcd, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1633,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1638
    functionName: gf_odf_new_muxinfo
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_muxinfo() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1881,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:1886,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - cdd
    argTypes:
    - GF_BitStream*
    - GF_CC_Date*
    constantsTouched: []
    func_position:
      end: 1888
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1888
    functionName: gf_odf_write_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_cc_date(GF_BitStream *bs, GF_CC_Date *cdd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2113,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2114,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2116,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2117,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_code.c:2119,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:2121,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2123,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2124,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2126,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2127,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2134,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2133,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_code.c:2129,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:2131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - etd
    argTypes:
    - GF_ExpandedTextual*
    constantsTouched: []
    func_position:
      end: 2136
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2136
    functionName: gf_odf_del_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_exp_text(GF_ExpandedTextual *etd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2340,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2347,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2346,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2342,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2345,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2348,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2349,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2350,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - pld
    argTypes:
    - GF_BitStream*
    - GF_PLExt*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2353
    functionName: gf_odf_write_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_pl_ext(GF_BitStream *bs, GF_PLExt *pld) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ipid
    argTypes:
    - GF_IPIPtr*
    constantsTouched: []
    func_position:
      end: 2369
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2369
    functionName: gf_odf_del_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipi_ptr(GF_IPIPtr *ipid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:2405,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:2408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2411
    functionName: gf_odf_new_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ipmp() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/odf/odf_code.c:1226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/odf_code.c:1229,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/odf/odf_code.c:1229,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/odf/odf_code.c:1229,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1233,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1235,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1238,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1239,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1240,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1241,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1250,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1247,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1242,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1243,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - bs
    - dcd
    argTypes:
    - GF_BitStream*
    - GF_DecoderConfig*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1252
    functionName: gf_odf_write_dcd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_codecid_oti
    - gf_odf_size_descriptor
    - GF_LOG
    - gf_odf_write_descriptor_list
    - gf_codecid_name
    - gf_4cc_to_str
    - gf_odf_write_descriptor
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_dcd(GF_BitStream *bs, GF_DecoderConfig *dcd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1643,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1647,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1646,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1644,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1645,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - mi
    argTypes:
    - GF_MuxInfo*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1650
    functionName: gf_odf_del_muxinfo
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_muxinfo(GF_MuxInfo *mi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1892,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:1895,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1902
    functionName: gf_odf_new_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_cc_name() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2145,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2147,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2148,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2146,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2154,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2157,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2159,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:2162,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2167,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2170,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2176,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2190,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2181,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:2172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - bs
    - etd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ExpandedTextual*
    - u32
    constantsTouched: []
    func_position:
      end: 2195
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2195
    functionName: gf_odf_read_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_int
    - OD_ReadUTF8String
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_exp_text(GF_BitStream *bs, GF_ExpandedTextual *etd,
      u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2362
    functionName: gf_odf_new_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ipi_ptr() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - bs
    - ipid
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IPIPtr*
    - u32
    constantsTouched: []
    func_position:
      end: 2380
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2380
    functionName: gf_odf_read_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipi_ptr(GF_BitStream *bs, GF_IPIPtr *ipid, u32
      DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2419,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_code.c:2420,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/odf_code.c:2421,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2418,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:2424,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ipmp
    argTypes:
    - GF_IPMP_Descriptor*
    constantsTouched: []
    func_position:
      end: 2427
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2427
    functionName: gf_odf_del_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_ipmpx_data_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp(GF_IPMP_Descriptor *ipmp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2499,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2506,1
    - Dst: gf_ipmpx_data_full_size
      Src: /src/gpac/src/odf/odf_code.c:2500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - ipmp
    - outSize
    argTypes:
    - GF_IPMP_Descriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2511
    functionName: gf_odf_size_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_ipmpx_data_full_size
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp(GF_IPMP_Descriptor *ipmp, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2893,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2897,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - plid
    argTypes:
    - GF_BitStream*
    - GF_PL_IDX*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2899
    functionName: gf_odf_write_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_pl_idx(GF_BitStream *bs, GF_PL_IDX *plid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: gf_odf_new_default
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_default() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1284,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:1286,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - bs
    - dd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_DefaultDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 1297
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1297
    functionName: gf_odf_read_default
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_default(GF_BitStream *bs, GF_DefaultDescriptor
      *dd, u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ld
    argTypes:
    - GF_AuxVideoDescriptor*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1552
    functionName: gf_odf_del_auxvid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_auxvid(GF_AuxVideoDescriptor *ld) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:125,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:130,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:129,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:128,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: gf_odf_new_esd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_esd() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:450,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:460,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:467,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:468,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 2
    argNames:
    - iod
    - desc
    argTypes:
    - GF_InitialObjectDescriptor*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 470
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 470
    functionName: AddDescriptorToIOD
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddDescriptorToIOD(GF_InitialObjectDescriptor *iod, GF_Descriptor
      *desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1406,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1411,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - esd_ref
    argTypes:
    - GF_BitStream*
    - GF_ES_ID_Ref*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1413
    functionName: gf_odf_write_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_esd_ref(GF_BitStream *bs, GF_ES_ID_Ref *esd_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sd
    - outSize
    argTypes:
    - GF_Segment*
    - u32*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1463
    functionName: gf_odf_size_segment
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_segment(GF_Segment *sd, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2298
    functionName: gf_odf_new_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_pl_ext() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1271,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dd
    argTypes:
    - GF_DefaultDescriptor*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: gf_odf_del_default
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_default(GF_DefaultDescriptor *dd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dd
    - outSize
    argTypes:
    - GF_DefaultDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    functionName: gf_odf_size_default
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_default(GF_DefaultDescriptor *dd, u32 *outSize) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:140,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:147,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:143,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:151,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:155,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:159,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:163,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:167,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:169,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:171,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:173,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 1
    argNames:
    - esd
    argTypes:
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 175
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 175
    functionName: gf_odf_del_esd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_odf_delete_descriptor
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_esd(GF_ESD *esd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:479,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:481,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:482,1
    - Dst: gf_odf_read_url_string
      Src: /src/gpac/src/odf/odf_code.c:486,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:480,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:491,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:492,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:493,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:494,1
    - Dst: AddDescriptorToIOD
      Src: /src/gpac/src/odf/odf_code.c:503,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:508,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:505,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:500,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - bs
    - iod
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_InitialObjectDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 512
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 512
    functionName: gf_odf_read_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor
    - gf_odf_read_url_string
    - gf_bs_read_int
    - AddDescriptorToIOD
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_iod(GF_BitStream *bs, GF_InitialObjectDescriptor
      *iod, u32 DescSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1559,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1561,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1560,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1565,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1566,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1570,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1571,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1572,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1573,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - bs
    - ld
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_AuxVideoDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 1582
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1582
    functionName: gf_odf_read_auxvid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_auxvid(GF_BitStream *bs, GF_AuxVideoDescriptor
      *ld, u32 DescSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1470,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/odf/odf_code.c:1475,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1472,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/odf/odf_code.c:1474,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1477,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:1477,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:1478,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:1478,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - bs
    - sd
    argTypes:
    - GF_BitStream*
    - GF_Segment*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1483
    functionName: gf_odf_write_segment
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_double
    - gf_odf_size_descriptor
    - gf_bs_write_data
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_segment(GF_BitStream *bs, GF_Segment *sd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1419,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1425
    functionName: gf_odf_new_segment
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_segment() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pld
    argTypes:
    - GF_PLExt*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2306
    functionName: gf_odf_del_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_pl_ext(GF_PLExt *pld) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - bs
    - ocd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_OCI_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 2735
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2735
    functionName: gf_odf_read_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_oci_date(GF_BitStream *bs, GF_OCI_Data *ocd, u32
      DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1664,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1669
    functionName: gf_odf_New_ElemMask
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_New_ElemMask() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:1862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - bs
    - cdd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_CC_Date*
    - u32
    constantsTouched: []
    func_position:
      end: 1866
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1866
    functionName: gf_odf_read_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_cc_date(GF_BitStream *bs, GF_CC_Date *cdd, u32
      DescSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2064,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2066,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2071,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2069,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2070,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2072,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2073,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2076,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2080,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2081,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - bs
    - cid
    argTypes:
    - GF_BitStream*
    - GF_CIDesc*
    constantsTouched: []
    func_position:
      end: 2084
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2084
    functionName: gf_odf_write_ci
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ci(GF_BitStream *bs, GF_CIDesc *cid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1673,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_ElementaryMask*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1676
    functionName: gf_odf_del_ElemMask
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ElemMask(GF_ElementaryMask *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cdd
    - outSize
    argTypes:
    - GF_CC_Date*
    - u32*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1873
    functionName: gf_odf_size_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_cc_date(GF_CC_Date *cdd, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2088,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2093,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:2096,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2098,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:2091,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2107
    functionName: gf_odf_new_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_exp_text() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2204,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2204,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2208,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2206,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2210,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2211,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2216,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/odf/odf_code.c:2218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - etd
    - outSize
    argTypes:
    - GF_ExpandedTextual*
    - u32*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2237
    functionName: gf_odf_size_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_utf8_wcslen
    - gf_list_get
    - gf_list_count
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_exp_text(GF_ExpandedTextual *etd, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3086,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3091,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3088,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3092,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3090,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3093,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - std
    argTypes:
    - GF_BitStream*
    - GF_ShortTextual*
    constantsTouched: []
    func_position:
      end: 3096
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3096
    functionName: gf_odf_write_short_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_short_text(GF_BitStream *bs, GF_ShortTextual *std) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:3120,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:3123,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3124,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - cpd
    argTypes:
    - GF_SMPTECamera*
    constantsTouched: []
    func_position:
      end: 3126
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3126
    functionName: gf_odf_del_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_smpte_camera(GF_SMPTECamera *cpd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2249,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2255,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2255,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2276,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2247,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2260,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2266,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2281,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2280,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2245,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/odf/odf_code.c:2268,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2245,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2257,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2262,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - bs
    - etd
    argTypes:
    - GF_BitStream*
    - GF_ExpandedTextual*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2283
    functionName: gf_odf_write_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_utf8_wcslen
    - gf_list_get
    - gf_odf_size_descriptor
    - gf_list_count
    - gf_bs_write_data
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_exp_text(GF_BitStream *bs, GF_ExpandedTextual
      *etd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3100,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3105,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:3103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3111
    functionName: gf_odf_new_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_smpte_camera() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3141,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3138,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3134,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:3143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - bs
    - cpd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_SMPTECamera*
    - u32
    constantsTouched: []
    func_position:
      end: 3148
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3148
    functionName: gf_odf_read_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_smpte_camera(GF_BitStream *bs, GF_SMPTECamera *cpd,
      u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - plid
    - outSize
    argTypes:
    - GF_PL_IDX*
    - u32*
    constantsTouched: []
    func_position:
      end: 2887
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2887
    functionName: gf_odf_size_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_pl_idx(GF_PL_IDX *plid, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3039
    functionName: gf_odf_new_short_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_short_text() '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:194,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:221,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:232,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:217,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 19
    argCount: 2
    argNames:
    - esd
    - desc
    argTypes:
    - GF_ESD*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 238
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 238
    functionName: AddDescriptorToESD
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddDescriptorToESD(GF_ESD *esd, GF_Descriptor *desc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1312,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1314,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:1318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - dd
    argTypes:
    - GF_BitStream*
    - GF_DefaultDescriptor*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1321
    functionName: gf_odf_write_default
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_default(GF_BitStream *bs, GF_DefaultDescriptor
      *dd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - esd_inc
    argTypes:
    - GF_ES_ID_Inc*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1337
    functionName: gf_odf_del_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_esd_inc(GF_ES_ID_Inc *esd_inc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2313,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2315,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2318,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - bs
    - pld
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_PLExt*
    - u32
    constantsTouched: []
    func_position:
      end: 2324
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2324
    functionName: gf_odf_read_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_pl_ext(GF_BitStream *bs, GF_PLExt *pld, u32 DescSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3057,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3065,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3059,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3058,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - bs
    - std
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ShortTextual*
    - u32
    constantsTouched: []
    func_position:
      end: 3070
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3070
    functionName: gf_odf_read_short_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - OD_ReadUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_short_text(GF_BitStream *bs, GF_ShortTextual *std,
      u32 DescSize) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:249,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:252,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:251,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:253,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:250,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:257,1
    - Dst: gf_odf_read_url_string
      Src: /src/gpac/src/odf/odf_code.c:262,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:267,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:273,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:278,1
    - Dst: AddDescriptorToESD
      Src: /src/gpac/src/odf/odf_code.c:283,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:288,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:285,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - bs
    - esd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ESD*
    - u32
    constantsTouched: []
    func_position:
      end: 297
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 297
    functionName: gf_odf_read_esd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_read_url_string
    - gf_bs_read_int
    - gf_odf_desc_del
    - AddDescriptorToESD
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_esd(GF_BitStream *bs, GF_ESD *esd, u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1330
    functionName: gf_odf_new_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_esd_inc() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - bs
    - esd_inc
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ES_ID_Inc*
    - u32
    constantsTouched: []
    func_position:
      end: 1347
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1347
    functionName: gf_odf_read_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_esd_inc(GF_BitStream *bs, GF_ES_ID_Inc *esd_inc,
      u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pld
    - outSize
    argTypes:
    - GF_PLExt*
    - u32*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2332
    functionName: gf_odf_size_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_pl_ext(GF_PLExt *pld, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3076,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - std
    - outSize
    argTypes:
    - GF_ShortTextual*
    - u32*
    constantsTouched: []
    func_position:
      end: 3078
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3078
    functionName: gf_odf_size_short_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_short_text(GF_ShortTextual *std, u32 *outSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_url_string
      Src: /src/gpac/src/odf/odf_code.c:522,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:525,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:529,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:533,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:527,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:537,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - iod
    - outSize
    argTypes:
    - GF_InitialObjectDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 542
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 542
    functionName: gf_odf_size_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    - gf_odf_size_field_size
    - gf_odf_size_url_string
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_iod(GF_InitialObjectDescriptor *iod, u32 *outSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:626,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:644,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:639,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:632,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 2
    argNames:
    - od
    - desc
    argTypes:
    - GF_ObjectDescriptor*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 649
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 649
    functionName: AddDescriptorToOD
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddDescriptorToOD(GF_ObjectDescriptor *od, GF_Descriptor *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:737,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:743,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:741,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:739,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:742,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:744,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 755
    functionName: gf_odf_new_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_isom_iod() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_url_string
      Src: /src/gpac/src/odf/odf_code.c:869,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:872,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:878,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:876,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:874,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:883,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:885,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:887,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - iod
    - outSize
    argTypes:
    - GF_IsomInitialObjectDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 888
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 888
    functionName: gf_odf_size_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    - gf_odf_size_field_size
    - gf_odf_size_url_string
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_isom_iod(GF_IsomInitialObjectDescriptor *iod, u32
      *outSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2641,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2643,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2648,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2644,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2650,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2652,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2653,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2658,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2659,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2664,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:2662,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - bs
    - kwd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_KeyWord*
    - u32
    constantsTouched: []
    func_position:
      end: 2670
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2670
    functionName: gf_odf_read_kw
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_int
    - OD_ReadUTF8String
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_kw(GF_BitStream *bs, GF_KeyWord *kwd, u32 DescSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2794,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2797,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2799,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2801,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2800,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2803,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2805,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:2809,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - bs
    - ocn
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_OCICreators*
    - u32
    constantsTouched: []
    func_position:
      end: 2814
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2814
    functionName: gf_odf_read_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_int
    - OD_ReadUTF8String
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_oci_name(GF_BitStream *bs, GF_OCICreators *ocn,
      u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - plid
    argTypes:
    - GF_PL_IDX*
    constantsTouched: []
    func_position:
      end: 2870
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2870
    functionName: gf_odf_del_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_pl_idx(GF_PL_IDX *plid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3230,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3232,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3235,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3234,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - scid
    argTypes:
    - GF_BitStream*
    - GF_SCIDesc*
    constantsTouched: []
    func_position:
      end: 3238
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3238
    functionName: gf_odf_write_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_sup_cid(GF_BitStream *bs, GF_SCIDesc *scid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:550,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:556,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:555,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:557,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:552,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:558,1
    - Dst: gf_odf_write_url_string
      Src: /src/gpac/src/odf/odf_code.c:561,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:563,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:564,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:565,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:570,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:572,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:581,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:566,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:568,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:574,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:567,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:577,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - bs
    - iod
    argTypes:
    - GF_BitStream*
    - GF_InitialObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 582
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 582
    functionName: gf_odf_write_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_odf_write_descriptor_list
    - gf_odf_write_url_string
    - gf_odf_write_descriptor
    - gf_bs_write_int
    - gf_odf_write_descriptor_list_filter
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_iod(GF_BitStream *bs, GF_InitialObjectDescriptor
      *iod) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:658,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:660,1
    - Dst: gf_odf_read_url_string
      Src: /src/gpac/src/odf/odf_code.c:665,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:672,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:659,1
    - Dst: AddDescriptorToOD
      Src: /src/gpac/src/odf/odf_code.c:675,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:677,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - bs
    - od
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ObjectDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 684
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 684
    functionName: gf_odf_read_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_field_size
    - gf_odf_read_url_string
    - gf_bs_read_int
    - gf_odf_desc_del
    - gf_odf_parse_descriptor
    - AddDescriptorToOD
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_od(GF_BitStream *bs, GF_ObjectDescriptor *od, u32
      DescSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:761,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:764,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:766,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:768,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:762,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:770,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:772,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:773,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - iod
    argTypes:
    - GF_IsomInitialObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 775
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 775
    functionName: gf_odf_del_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_odf_delete_descriptor
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_isom_iod(GF_IsomInitialObjectDescriptor *iod) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:898,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:909,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:910,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:925,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:896,1
    - Dst: gf_odf_write_url_string
      Src: /src/gpac/src/odf/odf_code.c:907,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:911,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:913,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:929,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:922,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:902,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:912,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:920,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:901,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:903,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:904,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:914,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:918,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - bs
    - iod
    argTypes:
    - GF_BitStream*
    - GF_IsomInitialObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 932
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 932
    functionName: gf_odf_write_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_odf_write_descriptor_list
    - gf_odf_write_url_string
    - gf_odf_write_descriptor
    - gf_bs_write_int
    - gf_odf_write_descriptor_list_filter
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_isom_iod(GF_BitStream *bs, GF_IsomInitialObjectDescriptor
      *iod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2681,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - kwd
    - outSize
    argTypes:
    - GF_KeyWord*
    - u32*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2685
    functionName: gf_odf_size_kw
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_kw(GF_KeyWord *kwd, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2824,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ocn
    - outSize
    argTypes:
    - GF_OCICreators*
    - u32*
    constantsTouched: []
    func_position:
      end: 2828
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2828
    functionName: gf_odf_size_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_oci_name(GF_OCICreators *ocn, u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - bs
    - plid
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_PL_IDX*
    - u32
    constantsTouched: []
    func_position:
      end: 2881
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2881
    functionName: gf_odf_read_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_pl_idx(GF_BitStream *bs, GF_PL_IDX *plid, u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:589,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:596,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:594,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:595,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 600
    functionName: gf_odf_new_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_od() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:937,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:944,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:941,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:942,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:943,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 949
    functionName: gf_odf_new_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_isom_od() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - bs
    - esd_ref
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_ES_ID_Ref*
    - u32
    constantsTouched: []
    func_position:
      end: 1392
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1392
    functionName: gf_odf_read_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_esd_ref(GF_BitStream *bs, GF_ES_ID_Ref *esd_ref,
      u32 DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - bs
    - ld
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Language*
    - u32
    constantsTouched: []
    func_position:
      end: 1513
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1513
    functionName: gf_odf_read_lang
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_lang(GF_BitStream *bs, GF_Language *ld, u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:1958,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:1959,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - cnd
    - outSize
    argTypes:
    - GF_CC_Name*
    - u32*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1962
    functionName: gf_odf_size_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_cc_name(GF_CC_Name *cnd, u32 *outSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2519,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2523,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2521,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2528,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2524,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2529,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2530,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2531,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2534,1
    - Dst: gf_ipmpx_data_write
      Src: /src/gpac/src/odf/odf_code.c:2535,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2540,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2542,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - bs
    - ipmp
    argTypes:
    - GF_BitStream*
    - GF_IPMP_Descriptor*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2545
    functionName: gf_odf_write_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_write
    - strlen
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_bs_write_data
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp(GF_BitStream *bs, GF_IPMP_Descriptor *ipmp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ipmpd
    - outSize
    argTypes:
    - GF_IPMPPtr*
    - u32*
    constantsTouched: []
    func_position:
      end: 2582
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2582
    functionName: gf_odf_size_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp_ptr(GF_IPMPPtr *ipmpd, u32 *outSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3206,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3208,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - scid
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_SCIDesc*
    - u32
    constantsTouched: []
    func_position:
      end: 3216
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3216
    functionName: gf_odf_read_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - OD_ReadUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_sup_cid(GF_BitStream *bs, GF_SCIDesc *scid, u32
      DescSize) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:606,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:611,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:613,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:607,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:609,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - od
    argTypes:
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: gf_odf_del_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_od(GF_ObjectDescriptor *od) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:955,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:958,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:960,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:956,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:962,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:964,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:966,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - od
    argTypes:
    - GF_IsomObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 968
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 968
    functionName: gf_odf_del_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_isom_od(GF_IsomObjectDescriptor *od) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - esd_ref
    - outSize
    argTypes:
    - GF_ES_ID_Ref*
    - u32*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: gf_odf_size_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_esd_ref(GF_ES_ID_Ref *esd_ref, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ld
    - outSize
    argTypes:
    - GF_Language*
    - u32*
    constantsTouched: []
    func_position:
      end: 1520
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1520
    functionName: gf_odf_size_lang
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_lang(GF_Language *ld, u32 *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1971,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:1975,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1975,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:1978,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1973,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1979,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1980,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1981,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:1982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - cnd
    argTypes:
    - GF_BitStream*
    - GF_CC_Name*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1985
    functionName: gf_odf_write_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_list_count
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_cc_name(GF_BitStream *bs, GF_CC_Name *cnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:2550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2554
    functionName: gf_odf_new_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ipmp_ptr() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2589,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2593,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2591,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2596,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - ipmpd
    argTypes:
    - GF_BitStream*
    - GF_IPMPPtr*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2599
    functionName: gf_odf_write_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp_ptr(GF_BitStream *bs, GF_IPMPPtr *ipmpd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3222,1
    - Dst: OD_SizeUTF8String
      Src: /src/gpac/src/odf/odf_code.c:3222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - scid
    - outSize
    argTypes:
    - GF_SCIDesc*
    - u32*
    constantsTouched: []
    func_position:
      end: 3224
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3224
    functionName: gf_odf_size_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - OD_SizeUTF8String
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_sup_cid(GF_SCIDesc *scid, u32 *outSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3274,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:3277,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:3279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - ipmptl
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IPMP_ToolList*
    - u32
    constantsTouched: []
    func_position:
      end: 3283
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3283
    functionName: gf_odf_read_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp_tool_list(GF_BitStream *bs, GF_IPMP_ToolList
      *ipmptl, u32 DescSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mi
    - outSize
    argTypes:
    - GF_MuxInfo*
    - u32*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: gf_odf_size_muxinfo
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_muxinfo(GF_MuxInfo *mi, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1738,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1744
    functionName: gf_odf_new_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_mediatime() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1792,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ccd
    argTypes:
    - GF_CCDescriptor*
    constantsTouched: []
    func_position:
      end: 1795
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1795
    functionName: gf_odf_del_cc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_cc(GF_CCDescriptor *ccd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:1911,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1916,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1912,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:1915,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cnd
    argTypes:
    - GF_CC_Name*
    constantsTouched: []
    func_position:
      end: 1918
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1918
    functionName: gf_odf_del_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_cc_name(GF_CC_Name *cnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ipid
    - outSize
    argTypes:
    - GF_IPIPtr*
    - u32*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2387
    functionName: gf_odf_size_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipi_ptr(GF_IPIPtr *ipid, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ipmpd
    argTypes:
    - GF_IPMPPtr*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2560
    functionName: gf_odf_del_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp_ptr(GF_IPMPPtr *ipmpd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2838,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2842,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2845,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2842,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2840,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2846,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2847,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2848,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2849,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:2849,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - bs
    - ocn
    argTypes:
    - GF_BitStream*
    - GF_OCICreators*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2853
    functionName: gf_odf_write_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_list_count
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_oci_name(GF_BitStream *bs, GF_OCICreators *ocn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2956,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2962,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2960,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2961,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - rd
    argTypes:
    - GF_BitStream*
    - GF_Rating*
    constantsTouched: []
    func_position:
      end: 2964
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2964
    functionName: gf_odf_write_rating
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_rating(GF_BitStream *bs, GF_Rating *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - bs
    - mi
    argTypes:
    - GF_BitStream*
    - GF_MuxInfo*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1660
    functionName: gf_odf_write_muxinfo
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_muxinfo(GF_BitStream *bs, GF_MuxInfo *mi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mt
    argTypes:
    - GF_MediaTime*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1750
    functionName: gf_odf_del_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_mediatime(GF_MediaTime *mt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1802,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1803,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1808,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:1810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - bs
    - ccd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_CCDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 1815
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1815
    functionName: gf_odf_read_cc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_cc(GF_BitStream *bs, GF_CCDescriptor *ccd, u32
      DescSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1926,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1931,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1929,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1933,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1932,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1934,1
    - Dst: OD_ReadUTF8String
      Src: /src/gpac/src/odf/odf_code.c:1937,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1939,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:1943,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - bs
    - cnd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_CC_Name*
    - u32
    constantsTouched: []
    func_position:
      end: 1948
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1948
    functionName: gf_odf_read_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_bs_read_int
    - OD_ReadUTF8String
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_cc_name(GF_BitStream *bs, GF_CC_Name *cnd, u32
      DescSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2394,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2396,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - ipid
    argTypes:
    - GF_BitStream*
    - GF_IPIPtr*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2400
    functionName: gf_odf_write_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipi_ptr(GF_BitStream *bs, GF_IPIPtr *ipid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2566,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2569,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - ipmpd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IPMPPtr*
    - u32
    constantsTouched: []
    func_position:
      end: 2575
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2575
    functionName: gf_odf_read_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp_ptr(GF_BitStream *bs, GF_IPMPPtr *ipmpd, u32
      DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2863
    functionName: gf_odf_new_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_pl_idx() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2976
    functionName: gf_odf_new_reg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_reg() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3018,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3020,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3023,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:3024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - reg
    argTypes:
    - GF_BitStream*
    - GF_Registration*
    constantsTouched: []
    func_position:
      end: 3026
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3026
    functionName: gf_odf_write_reg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_reg(GF_BitStream *bs, GF_Registration *reg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3045,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3046,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3047,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - std
    argTypes:
    - GF_ShortTextual*
    constantsTouched: []
    func_position:
      end: 3049
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3049
    functionName: gf_odf_del_short_text
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_short_text(GF_ShortTextual *std) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:787,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:792,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:793,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:798,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:788,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:802,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:810,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:812,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 2
    argNames:
    - iod
    - desc
    argTypes:
    - GF_IsomInitialObjectDescriptor*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 814
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 814
    functionName: AddDescriptorToIsomIOD
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddDescriptorToIsomIOD(GF_IsomInitialObjectDescriptor *iod,
      GF_Descriptor *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2002
    functionName: gf_odf_new_ci
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ci() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:3327,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3328,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3329,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3330,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:3335,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:3339,1
    - Dst: gf_ipmpx_array_size
      Src: /src/gpac/src/odf/odf_code.c:3349,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3353,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:3354,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - bs
    - ipmpt
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IPMP_Tool*
    - u32
    constantsTouched: []
    func_position:
      end: 3362
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3362
    functionName: gf_odf_read_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_malloc
    - gf_bs_read_int
    - gf_ipmpx_array_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp_tool(GF_BitStream *bs, GF_IPMP_Tool *ipmpt,
      u32 DescSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:823,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:824,1
    - Dst: gf_odf_read_url_string
      Src: /src/gpac/src/odf/odf_code.c:831,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:826,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:825,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:835,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:836,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:837,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:838,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:839,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:845,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:856,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:853,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_code.c:847,1
    - Dst: AddDescriptorToIsomIOD
      Src: /src/gpac/src/odf/odf_code.c:851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - bs
    - iod
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IsomInitialObjectDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 860
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 860
    functionName: gf_odf_read_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_read_url_string
    - gf_bs_read_int
    - AddDescriptorToIsomIOD
    - gf_odf_desc_del
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_isom_iod(GF_BitStream *bs, GF_IsomInitialObjectDescriptor
      *iod, u32 DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2009,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cid
    argTypes:
    - GF_CIDesc*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2012
    functionName: gf_odf_del_ci
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ci(GF_CIDesc *cid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:3372,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:3373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ipmpt
    - outSize
    argTypes:
    - GF_IPMP_Tool*
    - u32*
    constantsTouched: []
    func_position:
      end: 3376
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3376
    functionName: gf_odf_size_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp_tool(GF_IPMP_Tool *ipmpt, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3244,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:3246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3249
    functionName: gf_odf_new_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ipmp_tool_list() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1528,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1530,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - ld
    argTypes:
    - GF_BitStream*
    - GF_Language*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1534
    functionName: gf_odf_write_lang
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_lang(GF_BitStream *bs, GF_Language *ld) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_url_string
      Src: /src/gpac/src/odf/odf_code.c:693,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:697,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:702,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:699,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - od
    - outSize
    argTypes:
    - GF_ObjectDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 703
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 703
    functionName: gf_odf_size_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    - gf_odf_size_url_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_od(GF_ObjectDescriptor *od, u32 *outSize) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:977,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:993,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:983,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:997,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:992,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:998,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:1003,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - od
    - desc
    argTypes:
    - GF_IsomObjectDescriptor*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 1008
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1008
    functionName: AddDescriptorToIsomOD
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err AddDescriptorToIsomOD(GF_IsomObjectDescriptor *od, GF_Descriptor
      *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - esd_inc
    - outSize
    argTypes:
    - GF_ES_ID_Inc*
    - u32*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1353
    functionName: gf_odf_size_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_esd_inc(GF_ES_ID_Inc *esd_inc, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1494
    functionName: gf_odf_new_lang
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_lang() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1719,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1724
    functionName: gf_odf_new_ui_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ui_cfg() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/odf/odf_code.c:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - bs
    - mt
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_MediaTime*
    - u32
    constantsTouched: []
    func_position:
      end: 1756
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1756
    functionName: gf_odf_read_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_double
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_mediatime(GF_BitStream *bs, GF_MediaTime *mt, u32
      DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2760,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:2763,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2770
    functionName: gf_odf_new_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_oci_name() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1499,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ld
    argTypes:
    - GF_Language*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1502
    functionName: gf_odf_del_lang
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_lang(GF_Language *ld) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:1541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1545
    functionName: gf_odf_new_auxvid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_auxvid() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:78,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:83,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:88,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - bs
    - string
    - readBytes
    argTypes:
    - GF_BitStream*
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: gf_odf_read_url_string
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_url_string(GF_BitStream *bs, char **string, u32
      *readBytes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:711,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:716,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:713,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:718,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:717,1
    - Dst: gf_odf_write_url_string
      Src: /src/gpac/src/odf/odf_code.c:721,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:723,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:725,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:727,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:729,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - bs
    - od
    argTypes:
    - GF_BitStream*
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 733
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 733
    functionName: gf_odf_write_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_odf_write_descriptor_list
    - gf_odf_write_url_string
    - gf_bs_write_int
    - gf_odf_write_descriptor_list_filter
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_od(GF_BitStream *bs, GF_ObjectDescriptor *od) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1017,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1031,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1019,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1018,1
    - Dst: gf_odf_read_url_string
      Src: /src/gpac/src/odf/odf_code.c:1024,1
    - Dst: AddDescriptorToIsomOD
      Src: /src/gpac/src/odf/odf_code.c:1034,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1036,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:1039,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - bs
    - od
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IsomObjectDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 1043
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1043
    functionName: gf_odf_read_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor
    - gf_odf_read_url_string
    - gf_bs_read_int
    - AddDescriptorToIsomOD
    - gf_odf_parse_descriptor
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_isom_od(GF_BitStream *bs, GF_IsomObjectDescriptor
      *od, u32 DescSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1360,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1364,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - esd_inc
    argTypes:
    - GF_BitStream*
    - GF_ES_ID_Inc*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1366
    functionName: gf_odf_write_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_esd_inc(GF_BitStream *bs, GF_ES_ID_Inc *esd_inc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1728,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1730,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_UIConfig*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1732
    functionName: gf_odf_del_ui_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ui_cfg(GF_UIConfig *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - mt
    - outSize
    argTypes:
    - GF_MediaTime*
    - u32*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1762
    functionName: gf_odf_size_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_mediatime(GF_MediaTime *mt, u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2778,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2780,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2783,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:2782,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ocn
    argTypes:
    - GF_OCICreators*
    constantsTouched: []
    func_position:
      end: 2785
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2785
    functionName: gf_odf_del_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_oci_name(GF_OCICreators *ocn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1431,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sd
    argTypes:
    - GF_Segment*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1434
    functionName: gf_odf_del_segment
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_segment(GF_Segment *sd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3307,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:3309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3312
    functionName: gf_odf_new_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_ipmp_tool() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ocd
    argTypes:
    - GF_OCI_Data*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2724
    functionName: gf_odf_del_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_oci_date(GF_OCI_Data *ocd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/odf/odf_code.c:1441,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1447,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:1444,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/odf/odf_code.c:1442,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:1449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bs
    - sd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Segment*
    - u32
    constantsTouched: []
    func_position:
      end: 1455
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1455
    functionName: gf_odf_read_segment
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_read_double
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_segment(GF_BitStream *bs, GF_Segment *sd, u32 DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3317,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ipmpt
    argTypes:
    - GF_IPMP_Tool*
    constantsTouched: []
    func_position:
      end: 3320
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3320
    functionName: gf_odf_del_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp_tool(GF_IPMP_Tool *ipmpt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_url_string
      Src: /src/gpac/src/odf/odf_code.c:1052,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1060,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1054,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1056,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1058,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1063,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - od
    - outSize
    argTypes:
    - GF_IsomObjectDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1064
    functionName: gf_odf_size_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    - gf_odf_size_url_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_isom_od(GF_IsomObjectDescriptor *od, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1375
    functionName: gf_odf_new_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_esd_ref() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1768,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1770,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/odf/odf_code.c:1772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - mt
    argTypes:
    - GF_BitStream*
    - GF_MediaTime*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1774
    functionName: gf_odf_write_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_double
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_mediatime(GF_BitStream *bs, GF_MediaTime *mt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2603,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2608,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:2606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2615
    functionName: gf_odf_new_kw
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_kw() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2693,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2699,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2698,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2700,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2695,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:2701,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2701,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_code.c:2704,1
    - Dst: OD_WriteUTF8String
      Src: /src/gpac/src/odf/odf_code.c:2705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - kwd
    argTypes:
    - GF_BitStream*
    - GF_KeyWord*
    constantsTouched: []
    func_position:
      end: 2708
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2708
    functionName: gf_odf_write_kw
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_list_count
    - OD_WriteUTF8String
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_kw(GF_BitStream *bs, GF_KeyWord *kwd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:56,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:61,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:58,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:57,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/odf/odf_code.c:60,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - string
    - isUTF8
    argTypes:
    - GF_BitStream*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: OD_WriteUTF8String
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_int
    - gf_utf8_wcslen
    - gf_bs_write_data
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void OD_WriteUTF8String(GF_BitStream *bs, char *string,
      Bool isUTF8) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1072,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1078,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1079,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1077,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1074,1
    - Dst: gf_odf_write_url_string
      Src: /src/gpac/src/odf/odf_code.c:1082,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1084,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1086,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1088,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:1090,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1095,1
    - Dst: gf_odf_write_descriptor_list_filter
      Src: /src/gpac/src/odf/odf_code.c:1092,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - bs
    - od
    argTypes:
    - GF_BitStream*
    - GF_IsomObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1098
    functionName: gf_odf_write_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_odf_write_descriptor_list
    - gf_odf_write_url_string
    - gf_bs_write_int
    - gf_odf_write_descriptor_list_filter
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_isom_od(GF_BitStream *bs, GF_IsomObjectDescriptor
      *od) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - esd_ref
    argTypes:
    - GF_ES_ID_Ref*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1382
    functionName: gf_odf_del_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_esd_ref(GF_ES_ID_Ref *esd_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1787
    functionName: gf_odf_new_cc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_cc() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:2621,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2624,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2627,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_code.c:2626,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:2622,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:2630,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - kwd
    argTypes:
    - GF_KeyWord*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2633
    functionName: gf_odf_del_kw
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_kw(GF_KeyWord *kwd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2712,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:2714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2717
    functionName: gf_odf_new_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_oci_date() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3383,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3390,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3385,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3389,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:3388,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3391,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:3395,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:3396,1
    - Dst: gf_ipmpx_write_array
      Src: /src/gpac/src/odf/odf_code.c:3398,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:3398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - ipmpt
    argTypes:
    - GF_BitStream*
    - GF_IPMP_Tool*
    constantsTouched: []
    func_position:
      end: 3400
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3400
    functionName: gf_odf_write_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_ipmpx_write_array
    - gf_odf_size_descriptor
    - gf_bs_write_data
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp_tool(GF_BitStream *bs, GF_IPMP_Tool *ipmpt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:102,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:110,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:108,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:105,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:107,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - string
    argTypes:
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: gf_odf_write_url_string
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_url_string(GF_BitStream *bs, char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:413,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:415,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:419,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:417,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:418,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: gf_odf_new_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_iod() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ccd
    - outSize
    argTypes:
    - GF_CCDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1822
    functionName: gf_odf_size_cc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_cc(GF_CCDescriptor *ccd, u32 *outSize) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2435,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2444,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2436,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2446,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/odf_code.c:2445,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2447,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2450,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/odf_code.c:2457,1
    - Dst: gf_ipmpx_data_parse
      Src: /src/gpac/src/odf/odf_code.c:2458,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/odf_code.c:2460,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/odf_code.c:2461,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2466,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2468,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2477,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2479,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 3
    argNames:
    - bs
    - ipmp
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_IPMP_Descriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 2484
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2484
    functionName: gf_odf_read_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_available
    - gf_ipmpx_data_parse
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_ipmp(GF_BitStream *bs, GF_IPMP_Descriptor *ipmp,
      u32 DescSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ocd
    - outSize
    argTypes:
    - GF_OCI_Data*
    - u32*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2742
    functionName: gf_odf_size_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_oci_date(GF_OCI_Data *ocd, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2913
    functionName: gf_odf_new_rating
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_rating() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:3290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ipmptl
    - outSize
    argTypes:
    - GF_IPMP_ToolList*
    - u32*
    constantsTouched: []
    func_position:
      end: 3291
      start: 3286
    functionDepth: 0
    functionLinenumber: 3286
    functionLinenumberEnd: 3291
    functionName: gf_odf_size_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_ipmp_tool_list(GF_IPMP_ToolList *ipmptl, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: gf_odf_size_url_string
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_odf_size_url_string(char *string) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:430,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:431,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:437,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:433,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:435,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:439,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - iod
    argTypes:
    - GF_InitialObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: gf_odf_del_iod
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_odf_delete_descriptor
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_iod(GF_InitialObjectDescriptor *iod) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1830,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1832,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1835,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1834,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:1836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - ccd
    argTypes:
    - GF_BitStream*
    - GF_CCDescriptor*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1838
    functionName: gf_odf_write_cc
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_cc(GF_BitStream *bs, GF_CCDescriptor *ccd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2750,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:2752,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/odf_code.c:2754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - ocd
    argTypes:
    - GF_BitStream*
    - GF_OCI_Data*
    constantsTouched: []
    func_position:
      end: 2756
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2756
    functionName: gf_odf_write_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_oci_date(GF_BitStream *bs, GF_OCI_Data *ocd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2919,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - GF_Rating*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2922
    functionName: gf_odf_del_rating
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_rating(GF_Rating *rd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3298,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3300,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:3302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - ipmptl
    argTypes:
    - GF_BitStream*
    - GF_IPMP_ToolList*
    constantsTouched: []
    func_position:
      end: 3303
      start: 3293
    functionDepth: 0
    functionLinenumber: 3293
    functionLinenumberEnd: 3303
    functionName: gf_odf_write_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor_list
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_ipmp_tool_list(GF_BitStream *bs, GF_IPMP_ToolList
      *ipmptl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/odf_code.c:1105,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/odf_code.c:1108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1111
    functionName: gf_odf_new_dcd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_dcd() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1680,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1685
    functionName: gf_odf_new_bifs_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_bifs_cfg() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:1704,1
    - Dst: memset
      Src: /src/gpac/src/odf/odf_code.c:1706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1709
    functionName: gf_odf_new_laser_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_laser_cfg() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2929,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2930,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2937,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - bs
    - rd
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Rating*
    - u32
    constantsTouched: []
    func_position:
      end: 2941
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2941
    functionName: gf_odf_read_rating
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_rating(GF_BitStream *bs, GF_Rating *rd, u32 DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2982,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:2983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - reg
    argTypes:
    - GF_Registration*
    constantsTouched: []
    func_position:
      end: 2985
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 2985
    functionName: gf_odf_del_reg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_reg(GF_Registration *reg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:3181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3188
    functionName: gf_odf_new_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_sup_cid() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1118,1
    - Dst: gf_odf_delete_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:1125,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1127,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - dcd
    argTypes:
    - GF_DecoderConfig*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1129
    functionName: gf_odf_del_dcd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor_list
    - gf_odf_delete_descriptor
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_dcd(GF_DecoderConfig *dcd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:1690,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1694,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:1696,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:1692,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1693,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_BIFSConfig*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1700
    functionName: gf_odf_del_bifs_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_bifs_cfg(GF_BIFSConfig *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:1713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_LASERConfig*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: gf_odf_del_laser_cfg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_laser_cfg(GF_LASERConfig *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rd
    - outSize
    argTypes:
    - GF_Rating*
    - u32*
    constantsTouched: []
    func_position:
      end: 2949
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2949
    functionName: gf_odf_size_rating
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_rating(GF_Rating *rd, u32 *outSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:2992,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:2995,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:2997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - reg
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Registration*
    - u32
    constantsTouched: []
    func_position:
      end: 3001
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3001
    functionName: gf_odf_read_reg
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_reg(GF_BitStream *bs, GF_Registration *reg, u32
      DescSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3194,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3195,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - scid
    argTypes:
    - GF_SCIDesc*
    constantsTouched: []
    func_position:
      end: 3198
      start: 3190
    functionDepth: 0
    functionLinenumber: 3190
    functionLinenumberEnd: 3198
    functionName: gf_odf_del_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_sup_cid(GF_SCIDesc *scid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_code.c:3255,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_code.c:3256,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_code.c:3257,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/odf_code.c:3258,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/odf_code.c:3260,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_code.c:3261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ipmptl
    argTypes:
    - GF_IPMP_ToolList*
    constantsTouched: []
    func_position:
      end: 3263
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3263
    functionName: gf_odf_del_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_odf_delete_descriptor
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_ipmp_tool_list(GF_IPMP_ToolList *ipmptl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_code.c:36,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_code.c:41,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_code.c:39,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/odf_code.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - bs
    - string
    - isUTF8
    - read
    argTypes:
    - GF_BitStream*
    - char**
    - Bool
    - u32*
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: OD_ReadUTF8String
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE GF_Err OD_ReadUTF8String(GF_BitStream *bs, char **string,
      Bool isUTF8, u32 *read) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_url_string
      Src: /src/gpac/src/odf/odf_code.c:309,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:320,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:315,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:318,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:313,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:323,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:325,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:328,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:330,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:333,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:335,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:338,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:343,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:345,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/odf_code.c:340,1
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:347,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 2
    argNames:
    - esd
    - outSize
    argTypes:
    - GF_ESD*
    - u32*
    constantsTouched: []
    func_position:
      end: 348
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 348
    functionName: gf_odf_size_esd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    - gf_odf_size_field_size
    - gf_odf_size_url_string
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_esd(GF_ESD *esd, u32 *outSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ld
    - outSize
    argTypes:
    - GF_AuxVideoDescriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: gf_odf_size_auxvid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_auxvid(GF_AuxVideoDescriptor *ld, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_code.c:48,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/odf/odf_code.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - string
    - isUTF8
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: OD_SizeUTF8String
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_utf8_wcslen
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 OD_SizeUTF8String(char *string, Bool isUTF8) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:356,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:377,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:384,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:408,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:396,1
    - Dst: gf_odf_write_descriptor_list
      Src: /src/gpac/src/odf/odf_code.c:398,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:363,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:364,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:368,1
    - Dst: gf_odf_write_url_string
      Src: /src/gpac/src/odf/odf_code.c:371,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:401,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:388,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:362,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:361,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:365,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:405,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:392,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:358,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/odf_code.c:380,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 2
    argNames:
    - bs
    - esd
    argTypes:
    - GF_BitStream*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 409
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 409
    functionName: gf_odf_write_esd
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor
    - gf_odf_write_descriptor_list
    - gf_odf_write_url_string
    - gf_odf_write_descriptor
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_esd(GF_BitStream *bs, GF_ESD *esd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1606,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1611,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1612,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1613,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/odf_code.c:1608,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1616,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1617,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1620,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1621,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1622,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/odf_code.c:1623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - ld
    argTypes:
    - GF_BitStream*
    - GF_AuxVideoDescriptor*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1627
    functionName: gf_odf_write_auxvid
    functionSourceFile: /src/gpac/src/odf/odf_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_auxvid(GF_BitStream *bs, GF_AuxVideoDescriptor
      *ld) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/slc.c:33,1
    - Dst: memset
      Src: /src/gpac/src/odf/slc.c:35,1
    - Dst: gf_odf_slc_set_pref
      Src: /src/gpac/src/odf/slc.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - predef
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: gf_odf_new_slc
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_odf_slc_set_pref
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_slc(u8 predef) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_slc_set_pref
      Src: /src/gpac/src/odf/slc.c:165,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:153,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:171,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:175,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:177,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:183,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:189,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:201,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/slc.c:205,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:172,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:176,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:178,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:185,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:191,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:194,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:199,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/slc.c:206,1
    - Dst: GetTSbytesLen
      Src: /src/gpac/src/odf/slc.c:207,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:173,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:179,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:187,1
    - Dst: gf_odf_slc_set_pref
      Src: /src/gpac/src/odf/slc.c:150,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/slc.c:168,1
    - Dst: gf_odf_slc_set_pref
      Src: /src/gpac/src/odf/slc.c:159,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:170,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:174,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:181,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 3
    argNames:
    - bs
    - sl
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_SLConfig*
    - u32
    constantsTouched: []
    func_position:
      end: 212
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 212
    functionName: gf_odf_read_slc
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - gf_bs_read_int
    - gf_odf_slc_set_pref
    - gf_bs_available
    - GetTSbytesLen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_slc(GF_BitStream *bs, GF_SLConfig *sl, u32 DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - sl
    argTypes:
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: GetTSbytesLen
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 GetTSbytesLen(GF_SLConfig *sl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/slc.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - sl
    argTypes:
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: gf_odf_del_slc
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_slc(GF_SLConfig *sl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - sl
    argTypes:
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 121
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 121
    functionName: gf_odf_slc_set_pref
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_slc_set_pref(GF_SLConfig *sl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetTSbytesLen
      Src: /src/gpac/src/odf/slc.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - sl
    - outSize
    argTypes:
    - GF_SLConfig*
    - u32*
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: gf_odf_size_slc
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - GetTSbytesLen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_slc(GF_SLConfig *sl, u32 *outSize) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:243,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:249,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:255,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:265,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:266,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/slc.c:270,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:248,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:258,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:267,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/slc.c:238,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:247,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:251,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:257,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:262,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:245,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/slc.c:240,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:246,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:250,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:252,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:256,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:260,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/slc.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - bs
    - sl
    argTypes:
    - GF_BitStream*
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 275
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 275
    functionName: gf_odf_write_slc
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_slc(GF_BitStream *bs, GF_SLConfig *sl) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/slc.c:288,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:311,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:314,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:312,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:309,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:308,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/slc.c:328,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/slc.c:329,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:293,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:292,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:294,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:295,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:297,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:303,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/slc.c:322,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:301,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:304,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/slc.c:306,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/slc.c:316,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:318,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/slc.c:326,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:298,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/slc.c:315,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/slc.c:317,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/slc.c:330,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 45
    argCount: 6
    argNames:
    - slConfig
    - Header
    - PDU
    - size
    - outPacket
    - OutSize
    argTypes:
    - GF_SLConfig*
    - GF_SLHeader*
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 331
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 331
    functionName: gf_sl_packetize
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_long_int
    - gf_bs_align
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sl_packetize(GF_SLConfig* slConfig, GF_SLHeader
      *Header, u8 *PDU, u32 size, u8 **outPacket, u32 *OutSize) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/slc.c:414,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:416,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/slc.c:421,1
    - Dst: memset
      Src: /src/gpac/src/odf/slc.c:381,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/slc.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:386,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:400,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:407,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:411,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/slc.c:415,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/slc.c:405,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:403,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/slc.c:420,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:392,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:393,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:402,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:387,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:395,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:396,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:413,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:410,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/slc.c:417,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/slc.c:422,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 5
    argNames:
    - slConfig
    - Header
    - PDU
    - PDULength
    - HeaderLen
    argTypes:
    - GF_SLConfig*
    - GF_SLHeader*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: gf_sl_depacketize
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - memset
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_align
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sl_depacketize (GF_SLConfig *slConfig, GF_SLHeader
      *Header, const u8 *PDU, u32 PDULength, u32 *HeaderLen) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 28
    argCount: 2
    argNames:
    - slConfig
    - Header
    argTypes:
    - GF_SLConfig*
    - GF_SLHeader*
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: gf_sl_get_header_size
    functionSourceFile: /src/gpac/src/odf/slc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sl_get_header_size(GF_SLConfig* slConfig, GF_SLHeader
      *Header) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 6
    argCount: 1
    argNames:
    - qos
    argTypes:
    - GF_QoS_Default*
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: gf_odf_size_qos_qual
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_qos_qual(GF_QoS_Default *qos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/qos.c:61,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/qos.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - desc
    - qualif
    argTypes:
    - GF_QoS_Descriptor*
    - GF_QoS_Default*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: gf_odf_qos_add_qualif
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_qos_add_qualif(GF_QoS_Descriptor *desc, GF_QoS_Default
      *qualif) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:176,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/qos.c:192,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:201,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:219,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:224,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/qos.c:185,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:200,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:218,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/odf/qos.c:213,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:237,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/qos.c:192,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:207,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:212,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:231,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:236,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:182,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/qos.c:191,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:206,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:225,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:230,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/qos.c:252,1
    - Dst: gf_odf_delete_qos_qual
      Src: /src/gpac/src/odf/qos.c:260,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 3
    argNames:
    - bs
    - qos_qual
    - qual_size
    argTypes:
    - GF_BitStream*
    - GF_QoS_Default**
    - u32*
    constantsTouched: []
    func_position:
      end: 266
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 266
    functionName: gf_odf_parse_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_float
    - gf_odf_delete_qos_qual
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_parse_qos(GF_BitStream *bs, GF_QoS_Default **qos_qual,
      u32 *qual_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:336,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/qos.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: gf_odf_new_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_qos() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/qos.c:351,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/qos.c:356,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/qos.c:354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/qos.c:352,1
    - Dst: gf_odf_delete_qos_qual
      Src: /src/gpac/src/odf/qos.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/qos.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - qos
    argTypes:
    - GF_QoS_Descriptor*
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: gf_odf_del_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_odf_delete_qos_qual
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_qos(GF_QoS_Descriptor *qos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/qos.c:372,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/qos.c:385,1
    - Dst: gf_odf_parse_qos
      Src: /src/gpac/src/odf/qos.c:382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - bs
    - qos
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_QoS_Descriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 391
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 391
    functionName: gf_odf_read_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_int
    - gf_odf_parse_qos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_qos(GF_BitStream *bs, GF_QoS_Descriptor *qos, u32
      DescSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/qos.c:410,1
    - Dst: gf_odf_size_qos_qual
      Src: /src/gpac/src/odf/qos.c:411,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/qos.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - qos
    - outSize
    argTypes:
    - GF_QoS_Descriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: gf_odf_size_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_odf_size_qos_qual
    - gf_list_enum
    - gf_odf_size_field_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_qos(GF_QoS_Descriptor *qos, u32 *outSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/qos.c:427,1
    - Dst: gf_odf_write_qos_qual
      Src: /src/gpac/src/odf/qos.c:438,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:432,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/qos.c:429,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/qos.c:437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - bs
    - qos
    argTypes:
    - GF_BitStream*
    - GF_QoS_Descriptor*
    constantsTouched: []
    func_position:
      end: 443
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 443
    functionName: gf_odf_write_qos
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_odf_write_qos_qual
    - gf_odf_size_descriptor
    - gf_list_enum
    - gf_bs_write_int
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_qos(GF_BitStream *bs, GF_QoS_Descriptor *qos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewQoS
      Src: /src/gpac/src/odf/qos.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: gf_odf_qos_new
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - NewQoS
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_QoS_Default *gf_odf_qos_new(u8 tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/qos.c:78,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/qos.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/qos.c:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 1
    argNames:
    - qos
    argTypes:
    - GF_QoS_Default*
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: gf_odf_delete_qos_qual
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_odf_delete_qos_qual(GF_QoS_Default *qos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_delete_qos_qual
      Src: /src/gpac/src/odf/qos.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - qos
    argTypes:
    - GF_QoS_Default**
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: gf_odf_qos_del
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_qos_qual
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_qos_del(GF_QoS_Default **qos) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_qos_qual
      Src: /src/gpac/src/odf/qos.c:121,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/odf/qos.c:137,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:128,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:132,1
    - Dst: gf_odf_write_base_descriptor
      Src: /src/gpac/src/odf/qos.c:123,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:141,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:145,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:149,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/qos.c:153,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/qos.c:162,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - qos
    argTypes:
    - GF_BitStream*
    - GF_QoS_Default*
    constantsTouched: []
    func_position:
      end: 166
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 166
    functionName: gf_odf_write_qos_qual
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_odf_size_qos_qual
    - gf_bs_write_data
    - gf_bs_write_int
    - gf_bs_write_float
    - gf_odf_write_base_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_qos_qual(GF_BitStream *bs, GF_QoS_Default *qos) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:275,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:293,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:281,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:287,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:299,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:305,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:311,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/qos.c:322,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 329
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 329
    functionName: NewQoS
    functionSourceFile: /src/gpac/src/odf/qos.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_QoS_Default*
    signature: 'GF_QoS_Default *NewQoS(u8 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:111,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: EndAttribute
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndAttribute(FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:334,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:338,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:339,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:337,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:336,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: gf_ipmpx_dump_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_InitAuthentication(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:395,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:398,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:407,1
    - Dst: gf_ipmpx_dump_AUTH
      Src: /src/gpac/src/odf/ipmpx_dump.c:418,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:435,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:449,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:451,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:454,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:462,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:398,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:401,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:403,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:404,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:423,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:414,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:413,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:453,1
    - Dst: gf_ipmpx_dump_data
      Src: /src/gpac/src/odf/ipmpx_dump.c:456,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:397,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:400,1
    - Dst: gf_ipmpx_dump_AUTH
      Src: /src/gpac/src/odf/ipmpx_dump.c:408,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:417,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:431,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:437,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:441,1
    - Dst: gf_ipmpx_dump_AUTH
      Src: /src/gpac/src/odf/ipmpx_dump.c:445,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:457,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:421,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:429,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:433,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:436,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:438,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:458,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 464
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 464
    functionName: gf_ipmpx_dump_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_list_get
    - EndList
    - gf_fprintf
    - DumpData
    - gf_list_count
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartAttribute
    - gf_ipmpx_dump_AUTH
    - gf_ipmpx_dump_data
    - StartElement
    - EndAttributes
    - DumpBool
    - EndElement
    - StartList
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_MutualAuthentication(GF_IPMPX_Data *_p, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:485,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:500,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:499,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:501,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:502,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:488,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:489,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:491,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:510,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:483,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:486,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:487,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:493,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:495,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:498,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:497,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:494,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 512
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 512
    functionName: gf_ipmpx_dump_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_list_get
    - EndList
    - gf_list_count
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    - StartList
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ParametricDescription(GF_IPMPX_Data *_p, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:535,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:537,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:539,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:538,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: gf_ipmpx_dump_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - EndAttributes
    - StartElement
    - EndElement
    - DumpBool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ToolParamCapabilitiesResponse(GF_IPMPX_Data *_p,
      FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:632,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:635,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:634,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:639,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:638,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:641,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:642,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:645,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:646,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:647,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:648,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:650,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 652
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 652
    functionName: gf_ipmpx_dump_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_fprintf
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_RemoveToolNotificationListener(GF_IPMPX_Data
      *_p, FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:120,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:121,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: DumpInt
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpInt(FILE *trace, char *attName, u32 val, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:349,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:357,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:359,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:371,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:373,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:372,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:368,1
    - Dst: DumpDate
      Src: /src/gpac/src/odf/ipmpx_dump.c:370,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:379,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:352,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:358,1
    - Dst: DumpBin128
      Src: /src/gpac/src/odf/ipmpx_dump.c:361,1
    - Dst: DumpDate
      Src: /src/gpac/src/odf/ipmpx_dump.c:362,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:363,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:364,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:367,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:376,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:387,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:351,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:374,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:366,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:381,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:354,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 389
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 389
    functionName: gf_ipmpx_dump_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_list_get
    - EndList
    - gf_list_count
    - DumpBin128
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - DumpDate
    - EndAttributes
    - EndElement
    - StartList
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_TrustSecurityMetadata(GF_IPMPX_Data *_p, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:469,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:471,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/ipmpx_dump.c:473,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:472,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: gf_ipmpx_dump_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - StartElement
    - EndAttributes
    - EndElement
    - DumpDescList
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_GetToolsResponse(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:516,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:520,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:519,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:518,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:522,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:523,1
    - Dst: gf_ipmpx_dump_data
      Src: /src/gpac/src/odf/ipmpx_dump.c:525,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:526,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 531
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 531
    functionName: gf_ipmpx_dump_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_data
    - StartAttribute
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p,
      FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:547,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:551,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:550,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:549,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:553,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:554,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/ipmpx_dump.c:556,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:557,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 562
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 562
    functionName: gf_ipmpx_dump_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_ipmpx_dump_BaseData
    - StartAttribute
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ConnectTool(GF_IPMPX_Data *_p, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:656,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:660,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:659,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:661,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:658,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:662,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:663,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: gf_ipmpx_dump_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_NotifyToolEvent(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_dump_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_dump.c:839,1
    - Dst: gf_ipmpx_dump_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_dump.c:851,1
    - Dst: gf_ipmpx_dump_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_dump.c:871,1
    - Dst: gf_ipmpx_dump_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_dump.c:859,1
    - Dst: gf_ipmpx_dump_KeyData
      Src: /src/gpac/src/odf/ipmpx_dump.c:837,1
    - Dst: gf_ipmpx_dump_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_dump.c:849,1
    - Dst: gf_ipmpx_dump_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_dump.c:857,1
    - Dst: gf_ipmpx_dump_CanProcess
      Src: /src/gpac/src/odf/ipmpx_dump.c:869,1
    - Dst: gf_ipmpx_dump_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_dump.c:865,1
    - Dst: gf_ipmpx_dump_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_dump.c:876,1
    - Dst: gf_ipmpx_dump_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_dump.c:835,1
    - Dst: gf_ipmpx_dump_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_dump.c:843,1
    - Dst: gf_ipmpx_dump_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_dump.c:847,1
    - Dst: gf_ipmpx_dump_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_dump.c:867,1
    - Dst: gf_ipmpx_dump_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_dump.c:863,1
    - Dst: gf_ipmpx_dump_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_dump.c:855,1
    - Dst: gf_ipmpx_dump_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_dump.c:881,1
    - Dst: gf_ipmpx_dump_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_dump.c:841,1
    - Dst: gf_ipmpx_dump_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_dump.c:845,1
    - Dst: gf_ipmpx_dump_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_dump.c:853,1
    - Dst: gf_ipmpx_dump_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_dump.c:861,1
    - Dst: gf_ipmpx_dump_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_dump.c:873,1
    - Dst: gf_ipmpx_dump_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_dump.c:879,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 25
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 892
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 892
    functionName: gf_ipmpx_dump_data
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_OpaqueData
    - gf_ipmpx_dump_AddToolNotificationListener
    - gf_ipmpx_dump_GetToolContextResponse
    - gf_ipmpx_dump_GetToolContext
    - gf_ipmpx_dump_ToolAPI_Config
    - gf_ipmpx_dump_SecureContainer
    - gf_ipmpx_dump_InitAuthentication
    - gf_ipmpx_dump_ParametricDescription
    - gf_ipmpx_dump_NotifyToolEvent
    - gf_ipmpx_dump_RemoveToolNotificationListener
    - gf_ipmpx_dump_SendWatermark
    - gf_ipmpx_dump_MutualAuthentication
    - gf_ipmpx_dump_GetToolsResponse
    - gf_ipmpx_dump_KeyData
    - gf_ipmpx_dump_WatermarkingInit
    - gf_ipmpx_dump_SelectiveDecryptionInit
    - gf_ipmpx_dump_ISMACryp
    - gf_ipmpx_dump_CanProcess
    - gf_ipmpx_dump_ToolParamCapabilitiesQuery
    - gf_ipmpx_dump_TrustSecurityMetadata
    - gf_ipmpx_dump_ConnectTool
    - gf_ipmpx_dump_ToolParamCapabilitiesResponse
    - gf_ipmpx_dump_DisconnectTool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_data(GF_IPMPX_Data *_p, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:148,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:149,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:163,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:161,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:158,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:164,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:167,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:168,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 6
    argNames:
    - trace
    - name
    - data
    - dataLength
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: DumpData
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpData(FILE *trace, const char *name, char *data, u32
      dataLength, u32 indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:219,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:225,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:223,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - _p
    - attName
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_ByteArray*
    - char*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: gf_ipmpx_dump_ByteArray
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - StartElement
    - EndAttributes
    linkageType: ''
    returnType: void
    signature: 'void gf_ipmpx_dump_ByteArray(GF_IPMPX_ByteArray *_p, const char *attName,
      FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:697,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:699,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:703,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:704,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:700,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:705,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:707,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:708,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:709,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:715,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:719,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:724,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:725,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:727,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:722,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 729
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 729
    functionName: gf_ipmpx_dump_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_WatermarkingInit(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:174,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:179,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:181,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:178,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:182,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:185,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 6
    argNames:
    - trace
    - name
    - data
    - dataLength
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u16*
    - u16
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: DumpData_16
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpData_16(FILE *trace, char *name, u16 *data, u16 dataLength,
      u32 indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:237,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:240,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:246,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:239,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/ipmpx_dump.c:238,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:248,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:250,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:252,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:253,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ipa
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Authentication*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 259
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 259
    functionName: gf_ipmpx_dump_AUTH
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: void
    signature: 'void gf_ipmpx_dump_AUTH(GF_IPMPX_Authentication *ipa, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:733,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:736,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:735,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:737,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:738,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:739,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:740,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 744
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 744
    functionName: gf_ipmpx_dump_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_SendWatermark(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_FORMAT_INDENT
      Src: /src/gpac/src/odf/ipmpx_dump.c:64,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:68,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:66,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - trace
    - descName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: StartElement
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_IPMPX_FORMAT_INDENT
    linkageType: ''
    returnType: void
    signature: 'static void StartElement(FILE *trace, const char *descName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_FORMAT_INDENT
      Src: /src/gpac/src/odf/ipmpx_dump.c:88,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:90,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:92,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - trace
    - descName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: EndElement
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_IPMPX_FORMAT_INDENT
    linkageType: ''
    returnType: void
    signature: 'static void EndElement(FILE *trace, const char *descName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:128,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:130,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u64
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: DumpLargeInt
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpLargeInt(FILE *trace, char *attName, u64 val, u32
      indent, Bool XMTDump) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:294,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:299,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:297,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:300,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:298,1
    - Dst: DumpLargeInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:302,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:303,1
    - Dst: DumpLargeInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:304,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:305,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:307,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:310,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:308,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:313,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 315
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 315
    functionName: gf_ipmpx_dump_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - DumpLargeInt
    - EndAttributes
    - DumpBool
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_KeyData(GF_IPMPX_Data *_p, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:566,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:568,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:570,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:569,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: gf_ipmpx_dump_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_DisconnectTool(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:671,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:674,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:677,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:673,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: gf_ipmpx_dump_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - EndAttributes
    - StartElement
    - EndElement
    - DumpBool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_CanProcess(GF_IPMPX_Data *_p, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:78,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - XMTDump
    - has_children
    argTypes:
    - FILE*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: EndAttributes
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndAttributes(FILE *trace, Bool XMTDump, Bool has_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_FORMAT_INDENT
      Src: /src/gpac/src/odf/ipmpx_dump.c:101,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - trace
    - attName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: StartAttribute
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_IPMPX_FORMAT_INDENT
    linkageType: ''
    returnType: void
    signature: 'static void StartAttribute(FILE *trace, const char *attName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:137,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:138,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: DumpBool
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpBool(FILE *trace, char *attName, u32 val, u32 indent,
      Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:319,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:323,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:321,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:322,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:324,1
    - Dst: gf_ipmpx_dump_data
      Src: /src/gpac/src/odf/ipmpx_dump.c:325,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:326,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: gf_ipmpx_dump_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_ByteArray
    - gf_ipmpx_dump_data
    - StartElement
    - EndAttributes
    - DumpBool
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_SecureContainer(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:578,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:582,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:580,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:583,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:581,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: gf_ipmpx_dump_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_GetToolContext(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:683,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:686,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:687,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:688,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:685,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:689,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 693
    functionName: gf_ipmpx_dump_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ToolAPI_Config(GF_IPMPX_Data *_p, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_FORMAT_INDENT
      Src: /src/gpac/src/odf/ipmpx_dump.c:43,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:47,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - trace
    - name
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: StartList
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_IPMPX_FORMAT_INDENT
    linkageType: ''
    returnType: void
    signature: 'static void StartList(FILE *trace, const char *name, u32 indent, Bool
      XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:192,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:197,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:193,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - trace
    - name
    - data
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: DumpBin128
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpBin128(FILE *trace, char *name, char *data, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:265,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:267,1
    - Dst: EndLeafAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:268,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:270,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:266,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: gf_ipmpx_dump_BaseData
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartElement
    - EndLeafAttribute
    - DumpInt
    linkageType: ''
    returnType: void
    signature: 'void gf_ipmpx_dump_BaseData(GF_IPMPX_Data *_p, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:591,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:593,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:596,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:595,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:594,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:597,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: gf_ipmpx_dump_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_GetToolContextResponse(GF_IPMPX_Data *_p, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:757,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:769,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:771,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:775,1
    - Dst: DumpBin128
      Src: /src/gpac/src/odf/ipmpx_dump.c:768,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:765,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:788,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:792,1
    - Dst: DumpData_16
      Src: /src/gpac/src/odf/ipmpx_dump.c:797,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:753,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:755,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:754,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:752,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:780,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:786,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_dump.c:791,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:798,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:777,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:783,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:794,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:795,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:796,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:803,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:810,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:750,1
    - Dst: DumpData_16
      Src: /src/gpac/src/odf/ipmpx_dump.c:756,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:758,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_dump.c:760,1
    - Dst: StartList
      Src: /src/gpac/src/odf/ipmpx_dump.c:762,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:773,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:772,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:766,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:800,1
    - Dst: EndList
      Src: /src/gpac/src/odf/ipmpx_dump.c:806,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 812
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 812
    functionName: gf_ipmpx_dump_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_list_get
    - EndList
    - DumpData_16
    - gf_list_count
    - DumpBin128
    - gf_ipmpx_dump_ByteArray
    - DumpInt
    - StartElement
    - EndAttributes
    - EndElement
    - StartList
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_SelectiveDecryptionInit(GF_IPMPX_Data *_p, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_FORMAT_INDENT
      Src: /src/gpac/src/odf/ipmpx_dump.c:53,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:57,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - trace
    - name
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: EndList
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_IPMPX_FORMAT_INDENT
    linkageType: ''
    returnType: void
    signature: 'static void EndList(FILE *trace, const char *name, u32 indent, Bool
      XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:209,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:212,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - trace
    - name
    - data
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: DumpDate
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpDate(FILE *trace, char *name, char *data, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:280,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:283,1
    - Dst: gf_ipmpx_dump_ByteArray
      Src: /src/gpac/src/odf/ipmpx_dump.c:284,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:282,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: gf_ipmpx_dump_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_ipmpx_dump_ByteArray
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_OpaqueData(GF_IPMPX_Data *_p, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:606,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:609,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:610,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:613,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:608,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:614,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:616,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:617,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/ipmpx_dump.c:620,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/ipmpx_dump.c:621,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:622,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:623,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 627
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 627
    functionName: gf_ipmpx_dump_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - gf_fprintf
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndAttributes
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_AddToolNotificationListener(GF_IPMPX_Data *_p,
      FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:817,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:820,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:822,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/ipmpx_dump.c:821,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/ipmpx_dump.c:819,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/ipmpx_dump.c:823,1
    - Dst: gf_ipmpx_dump_BaseData
      Src: /src/gpac/src/odf/ipmpx_dump.c:824,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/ipmpx_dump.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - _p
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPX_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 828
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 828
    functionName: gf_ipmpx_dump_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_dump.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_dump_BaseData
    - DumpInt
    - StartElement
    - EndAttributes
    - DumpBool
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_dump_ISMACryp(GF_IPMPX_Data *_p, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:162,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:166,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:169,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:164,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:167,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:170,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:171,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:175,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - bs
    - tag
    - size
    argTypes:
    - GF_BitStream*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: gf_odf_write_base_descriptor
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_base_descriptor(GF_BitStream *bs, u8 tag, u32
      size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:435,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/descriptors.c:439,1
    - Dst: strlen
      Src: /src/gpac/src/odf/descriptors.c:436,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:438,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:437,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:442,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:443,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:446,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/descriptors.c:448,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:449,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - cfg
    - out_dsi
    argTypes:
    - GF_UIConfig*
    - GF_DefaultDescriptor**
    constantsTouched: []
    func_position:
      end: 453
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 453
    functionName: gf_odf_encode_ui_config
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_odf_desc_new
    - stricmp
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_encode_ui_config(GF_UIConfig *cfg, GF_DefaultDescriptor
      **out_dsi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:576,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:580,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:581,1
    - Dst: gf_odf_avc_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - cfg
    - outData
    - outSize
    argTypes:
    - GF_AVCConfig*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: gf_odf_avc_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_new
    - gf_odf_avc_cfg_write_bs
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_avc_cfg_write(GF_AVCConfig *cfg, u8 **outData,
      u32 *outSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_new_tx3g
      Src: /src/gpac/src/odf/descriptors.c:722,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:723,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:725,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:726,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:727,1
    - Dst: gpp_read_rgba
      Src: /src/gpac/src/odf/descriptors.c:728,1
    - Dst: gpp_read_box
      Src: /src/gpac/src/odf/descriptors.c:729,1
    - Dst: gpp_read_style
      Src: /src/gpac/src/odf/descriptors.c:730,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/odf/descriptors.c:731,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:732,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:738,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:741,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/odf/descriptors.c:735,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:737,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:736,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 746
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 746
    functionName: gf_odf_tx3g_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gpp_read_rgba
    - gpp_read_style
    - gpp_read_box
    - gf_odf_new_tx3g
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_TextSampleDescriptor *gf_odf_tx3g_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:843,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:855,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:859,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:870,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:852,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:882,1
    - Dst: gf_strdup
      Src: /src/gpac/src/odf/descriptors.c:895,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:898,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/odf/descriptors.c:899,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:906,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:867,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:853,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:854,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:892,1
    - Dst: ResetTextConfig
      Src: /src/gpac/src/odf/descriptors.c:837,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:841,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:838,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:872,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:905,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:908,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:914,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:844,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:846,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:848,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:850,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:856,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:858,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/odf/descriptors.c:874,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:907,1
    - Dst: ResetTextConfig
      Src: /src/gpac/src/odf/descriptors.c:915,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 4
    argNames:
    - data
    - data_len
    - codecid
    - cfg
    argTypes:
    - u8*
    - u32
    - u32
    - GF_TextConfig*
    constantsTouched: []
    func_position:
      end: 917
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 917
    functionName: gf_odf_get_text_config
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_del
    - gf_isom_box_parse
    - gf_strdup
    - gf_isom_box_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - ResetTextConfig
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_get_text_config(u8 *data, u32 data_len, u32
      codecid, GF_TextConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1033,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1040,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1038,1
    - Dst: gf_odf_hevc_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1036,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - outData
    - outSize
    argTypes:
    - GF_HEVCConfig*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: gf_odf_hevc_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_hevc_cfg_write_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_hevc_cfg_write(GF_HEVCConfig *cfg, u8 **outData,
      u32 *outSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1136,1
    - Dst: gf_odf_hevc_cfg_read_bs
      Src: /src/gpac/src/odf/descriptors.c:1137,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - dsi
    - dsi_size
    - is_lhvc
    argTypes:
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1140
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1140
    functionName: gf_odf_hevc_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_hevc_cfg_read_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HEVCConfig *gf_odf_hevc_cfg_read(u8 *dsi, u32 dsi_size,
      Bool is_lhvc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1159,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1160,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1163,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1164,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:1161,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:1165,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1166,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1167,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:1169,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1170,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1174,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1176,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1177,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:1172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_VVCConfig*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1178
    functionName: gf_odf_vvc_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_vvc_cfg_del(GF_VVCConfig *cfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:190,1
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/descriptors.c:194,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/descriptors.c:196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - descList
    - outSize
    argTypes:
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: gf_odf_size_descriptor_list
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_size_field_size
    - gf_list_count
    - gf_list_get
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_descriptor_list(GF_List *descList, u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:460,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:463,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: gf_odf_avc_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AVCConfig *gf_odf_avc_cfg_new() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:590,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:592,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:597,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:608,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:615,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:617,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:629,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:631,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:637,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:673,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:683,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:654,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:656,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:663,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:591,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:602,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:605,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:611,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:627,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:630,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:644,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:647,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:648,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:653,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:684,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:651,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:666,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:690,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:665,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:679,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:589,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:594,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:595,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:604,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:601,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:618,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:621,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:622,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:624,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:636,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/odf/descriptors.c:650,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:670,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:664,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:658,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:680,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:593,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:596,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:598,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:603,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:634,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:641,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:643,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:652,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:655,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:677,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:660,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:672,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:667,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 120
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 692
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 692
    functionName: gf_odf_avc_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_avcc_use_extensions
    - gf_bs_del
    - gf_list_new
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_new
    - gf_odf_avc_cfg_del
    - gf_bs_available
    - GF_SAFEALLOC
    - gf_bs_read_data
    - gf_odf_avc_cfg_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AVCConfig *gf_odf_avc_cfg_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:755,1
    - Dst: gpp_write_rgba
      Src: /src/gpac/src/odf/descriptors.c:760,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:757,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:759,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:758,1
    - Dst: gpp_write_box
      Src: /src/gpac/src/odf/descriptors.c:761,1
    - Dst: gpp_write_style
      Src: /src/gpac/src/odf/descriptors.c:762,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:764,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:766,1
    - Dst: strlen
      Src: /src/gpac/src/odf/descriptors.c:768,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:775,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:769,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:770,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:772,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:776,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 3
    argNames:
    - a
    - outData
    - outSize
    argTypes:
    - GF_TextSampleDescriptor*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 781
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 781
    functionName: gf_odf_tx3g_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gpp_write_rgba
    - gpp_write_box
    - strlen
    - gf_bs_get_content
    - gpp_write_style
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_tx3g_write(GF_TextSampleDescriptor *a, u8 **outData,
      u32 *outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:925,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 930
    functionName: gf_odf_hevc_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HEVCConfig *gf_odf_hevc_cfg_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1056,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1052,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1061,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1077,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1078,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1079,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1094,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1100,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1106,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1107,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1060,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1076,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/descriptors.c:1065,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1072,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1090,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1092,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1098,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1108,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1112,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:1113,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:1126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1114,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:1048,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1055,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1058,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1063,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1069,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1070,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1080,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1081,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1084,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1089,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:1104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1109,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1057,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1062,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1066,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1073,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1082,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1086,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1115,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1120,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:1127,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1118,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:1103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 99
    argCount: 2
    argNames:
    - bs
    - is_lhvc
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1131
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1131
    functionName: gf_odf_hevc_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_long_int
    - gf_bs_read_data
    - gf_bs_read_int
    - GF_LOG
    - gf_odf_hevc_cfg_del
    - gf_bs_available
    - GF_SAFEALLOC
    - gf_odf_hevc_cfg_new
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_HEVCConfig *gf_odf_hevc_cfg_read_bs(GF_BitStream *bs,
      Bool is_lhvc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1146,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1153
    functionName: gf_odf_vvc_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VVCConfig *gf_odf_vvc_cfg_new() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1191,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1198,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1200,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1201,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1224,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:1240,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1251,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1189,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1199,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:1216,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1207,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1208,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1227,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1231,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:1241,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1258,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1185,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1196,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1212,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1209,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1217,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1236,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1249,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1255,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1264,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1270,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1190,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1197,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1213,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1210,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1211,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1219,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1234,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:1242,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1268,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:1272,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_VVCConfig*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1276
    functionName: gf_odf_vvc_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_vvc_cfg_write_bs(GF_VVCConfig *cfg, GF_BitStream
      *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:1830,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1856,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1846,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1858,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1836,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1835,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1838,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1841,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1844,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1839,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1840,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1857,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1859,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1855,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1843,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1850,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1848,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1860,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 3
    argNames:
    - bs
    - is_ec3
    - cfg
    argTypes:
    - GF_BitStream*
    - Bool
    - GF_AC3Config*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1864
    functionName: gf_odf_ac3_config_parse_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_ac3_config_parse_bs(GF_BitStream *bs, Bool is_ec3, GF_AC3Config
      *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:2074,1
    - Dst: gf_odf_ia_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:2077,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:2081,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:2079,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - outData
    - outSize
    argTypes:
    - GF_IAConfig*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2083
    functionName: gf_odf_ia_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_get_content
    - gf_bs_new
    - gf_odf_ia_cfg_write_bs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_ia_cfg_write(GF_IAConfig *cfg, u8 **outData,
      u32 *outSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1929,1
    - Dst: gf_odf_opus_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1930,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1933,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - cfg
    - data
    - size
    argTypes:
    - GF_OpusConfig*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1935
    functionName: gf_odf_opus_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_get_content
    - gf_bs_new
    - gf_odf_opus_cfg_write_bs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_opus_cfg_write(GF_OpusConfig *cfg, u8 **data, u32 *size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:208,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/descriptors.c:212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - descList
    argTypes:
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: gf_odf_write_descriptor_list
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_descriptor_list(GF_BitStream *bs, GF_List *descList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:359,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:368,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:371,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:374,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:379,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:378,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:373,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:397,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:366,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:367,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:382,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:377,1
    - Dst: gf_bs_read_vluimsbf5
      Src: /src/gpac/src/odf/descriptors.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:385,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:365,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:362,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:370,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:376,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:390,1
    - Dst: gf_bs_read_vluimsbf5
      Src: /src/gpac/src/odf/descriptors.c:391,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:393,1
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:363,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:369,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:371,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:380,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - dsi
    - cfg
    argTypes:
    - GF_DefaultDescriptor*
    - GF_LASERConfig*
    constantsTouched: []
    func_position:
      end: 399
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 399
    functionName: gf_odf_get_laser_config
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_vluimsbf5
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_get_laser_config(GF_DefaultDescriptor *dsi,
      GF_LASERConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:697,1
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: gf_odf_new_tx3g
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_tx3g() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:936,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:938,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:940,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:937,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:941,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:942,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:943,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:944,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:946,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:947,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:949,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 951
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 951
    functionName: gf_odf_hevc_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_hevc_cfg_del(GF_HEVCConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1282,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1287,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1289,1
    - Dst: gf_odf_vvc_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - outData
    - outSize
    argTypes:
    - GF_VVCConfig*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1291
    functionName: gf_odf_vvc_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_write_bs
    - gf_bs_get_content
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_vvc_cfg_write(GF_VVCConfig *cfg, u8 **outData,
      u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1468,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:1471,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1472,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1469,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1470,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:1474,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_AV1Config*
    constantsTouched: []
    func_position:
      end: 1476
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1476
    functionName: gf_odf_av1_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_av1_cfg_del(GF_AV1Config *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1570,1
    - Dst: gf_odf_vp_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1573,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1577,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - cfg
    - outData
    - outSize
    - is_v0
    argTypes:
    - GF_VPConfig*
    - u8**
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 1579
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1579
    functionName: gf_odf_vp_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_odf_vp_cfg_write_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_vp_cfg_write(GF_VPConfig *cfg, u8 **outData,
      u32 *outSize, Bool is_v0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1615,1
    - Dst: gf_odf_vp_cfg_read_bs
      Src: /src/gpac/src/odf/descriptors.c:1616,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1619
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1619
    functionName: gf_odf_vp_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_read_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VPConfig *gf_odf_vp_cfg_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:225,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/descriptors.c:229,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - descList
    - only_tag
    argTypes:
    - GF_BitStream*
    - GF_List*
    - u8
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: gf_odf_write_descriptor_list_filter
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_descriptor_list_filter(GF_BitStream *bs, GF_List
      *descList, u8 only_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:707,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:709,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sd
    argTypes:
    - GF_TextSampleDescriptor*
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: gf_odf_del_tx3g
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_tx3g(GF_TextSampleDescriptor *sd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:958,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:967,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:971,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:985,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:977,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:981,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:986,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:984,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:992,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:998,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1012,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:968,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:978,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:974,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/descriptors.c:973,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:994,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:997,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1008,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:1023,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1021,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:964,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:965,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:961,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:969,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:989,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1011,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1017,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:966,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:970,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:980,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:987,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:988,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:990,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:999,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1001,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1006,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1010,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1013,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1019,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_HEVCConfig*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1027
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 1027
    functionName: gf_odf_hevc_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_hevc_cfg_write_bs(GF_HEVCConfig *cfg, GF_BitStream
      *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1308,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1311,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1323,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1315,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:1329,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1333,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1355,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/odf/descriptors.c:1365,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/odf/descriptors.c:1366,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1432,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1410,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:1411,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/odf/descriptors.c:1417,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1422,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:1436,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1404,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1420,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1299,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1307,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1320,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1314,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1326,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1346,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/odf/descriptors.c:1360,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/odf/descriptors.c:1367,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1383,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:1395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1398,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1399,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1430,1
    - Dst: gf_odf_vvc_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:1297,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1300,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1301,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1325,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1319,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1338,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1349,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1370,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1382,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:1394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1378,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1310,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1316,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1318,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1330,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1342,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1351,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1353,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1377,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1412,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1413,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1428,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:1435,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1375,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 154
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1440
    functionName: gf_odf_vvc_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_odf_vvc_cfg_new
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_skip_bytes
    - gf_list_new
    - gf_bs_read_int
    - GF_LOG
    - gf_bs_available
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_read_data
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VVCConfig *gf_odf_vvc_cfg_read_bs(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/odf/descriptors.c:1485,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1487,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1491,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1496,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1497,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1486,1
    - Dst: gf_assert
      Src: /src/gpac/src/odf/descriptors.c:1483,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1488,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1492,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1484,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1489,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:1499,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1493,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1482,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1490,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:1498,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:1500,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1494,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_AV1Config*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1503
    functionName: gf_odf_av1_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - gf_assert
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_av1_cfg_write_bs(GF_AV1Config *cfg, GF_BitStream
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:1584,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1587,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1589,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1586,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1590,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1591,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1593,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1594,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1595,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1600,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - bs
    - is_v0
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1610
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1610
    functionName: gf_odf_vp_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_odf_vp_cfg_new
    - gf_odf_vp_cfg_del
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VPConfig *gf_odf_vp_cfg_read_bs(GF_BitStream *bs, Bool
      is_v0) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_av1_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:1634,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1644,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1648,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:1673,1
    - Dst: av1_is_obu_header
      Src: /src/gpac/src/odf/descriptors.c:1682,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1683,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:1696,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/odf/descriptors.c:1704,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/descriptors.c:1705,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:1629,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1643,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1647,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1661,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1663,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/odf/descriptors.c:1675,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:1679,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1680,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1685,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1640,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1646,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1653,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1655,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1650,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1662,1
    - Dst: gf_assert
      Src: /src/gpac/src/odf/descriptors.c:1679,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1689,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:1693,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/odf/descriptors.c:1692,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/odf/descriptors.c:1635,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1632,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1639,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1641,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1676,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1687,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1706,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 90
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1711
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1711
    functionName: gf_odf_av1_cfg_read_bs_size
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_av1_parse_obu
    - gf_odf_av1_cfg_new
    - gf_malloc
    - gf_bs_get_position
    - gf_av1_reset_state
    - gf_bs_read_int
    - GF_LOG
    - gf_odf_av1_cfg_del
    - gf_bs_seek
    - gf_bs_available
    - gf_av1_init_state
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_align
    - gf_bs_read_data
    - gf_assert
    - av1_is_obu_header
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AV1Config *gf_odf_av1_cfg_read_bs_size(GF_BitStream *bs,
      u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1722,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1724,1
    - Dst: gf_odf_av1_cfg_read_bs
      Src: /src/gpac/src/odf/descriptors.c:1723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1726
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1726
    functionName: gf_odf_av1_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_read_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AV1Config *gf_odf_av1_cfg_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_DOVIDecoderConfigurationRecord*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1756
    functionName: gf_odf_dovi_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_dovi_cfg_del(GF_DOVIDecoderConfigurationRecord
      *cfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1783,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1786,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1784,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1787,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1788,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1789,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1790,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1791,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1792,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1794,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1800,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1801,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1805,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1796,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1802,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1803,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1804,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_AC3Config*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1809
    functionName: gf_odf_ac3_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_ac3_cfg_write_bs(GF_AC3Config *cfg, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1813,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1817,1
    - Dst: gf_odf_ac3_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1814,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1819,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1818,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1821,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - cfg
    - data
    - size
    argTypes:
    - GF_AC3Config*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1825
    functionName: gf_odf_ac3_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_odf_ac3_cfg_write_bs
    - gf_bs_new
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_ac3_cfg_write(GF_AC3Config *cfg, u8 **data, u32 *size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/descriptors.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:320,1
    - Dst: gf_odf_New_ElemMask
      Src: /src/gpac/src/odf/descriptors.c:326,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:341,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/odf/descriptors.c:344,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:314,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/descriptors.c:311,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:322,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/descriptors.c:332,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:337,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:328,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:338,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:319,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:324,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:330,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:334,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:333,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:340,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/descriptors.c:343,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:347,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:318,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/odf/descriptors.c:333,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:345,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - dsi
    - oti
    argTypes:
    - GF_DefaultDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 349
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 349
    functionName: gf_odf_get_bifs_config
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - GF_LOG
    - gf_odf_desc_new
    - gf_bs_align
    - gf_bs_get_size
    - gf_odf_New_ElemMask
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BIFSConfig *gf_odf_get_bifs_config(GF_DefaultDescriptor
      *dsi, u32 oti) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:2061,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:2064,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/odf/descriptors.c:2062,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:2063,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:2065,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_IAConfig*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2069
    functionName: gf_odf_ia_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - gf_av1_leb128_write
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_ia_cfg_write_bs(GF_IAConfig *cfg, GF_BitStream
      *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:60,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:77,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:69,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:66,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:78,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:78,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:82,1
    - Dst: gf_odf_create_descriptor
      Src: /src/gpac/src/odf/descriptors.c:84,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/odf/descriptors.c:98,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/descriptors.c:99,1
    - Dst: gf_odf_read_descriptor
      Src: /src/gpac/src/odf/descriptors.c:105,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/descriptors.c:118,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/odf/descriptors.c:121,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/descriptors.c:122,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:121,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - bs
    - desc
    - desc_size
    argTypes:
    - GF_BitStream*
    - GF_Descriptor**
    - u32*
    constantsTouched: []
    func_position:
      end: 126
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 126
    functionName: gf_odf_parse_descriptor
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor
    - gf_error_to_string
    - gf_odf_create_descriptor
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_skip_bytes
    - gf_odf_size_field_size
    - gf_odf_read_descriptor
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_parse_descriptor(GF_BitStream *bs, GF_Descriptor
      **desc, u32 *desc_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:478,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:477,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:481,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:486,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:487,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:490,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:496,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:497,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:494,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:500,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:475,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:484,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:503,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:479,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:476,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:485,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:495,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:498,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:488,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 504
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: gf_odf_avc_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_avc_cfg_del(GF_AVCConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:786,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:790,1
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 796
    functionName: gf_odf_new_text_cfg
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_new_text_cfg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetTextConfig
      Src: /src/gpac/src/odf/descriptors.c:814,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:815,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_TextConfig*
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: gf_odf_del_text_cfg
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - ResetTextConfig
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_del_text_cfg(GF_TextConfig *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1508,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1515,1
    - Dst: gf_odf_av1_cfg_write_bs
      Src: /src/gpac/src/odf/descriptors.c:1511,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/odf/descriptors.c:1513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - outData
    - outSize
    argTypes:
    - GF_AV1Config*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1517
    functionName: gf_odf_av1_cfg_write
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_write_bs
    - gf_bs_get_content
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_av1_cfg_write(GF_AV1Config *cfg, u8 **outData,
      u32 *outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1536,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_VPConfig*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1541
    functionName: gf_odf_vp_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_vp_cfg_del(GF_VPConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1904,1
    - Dst: gf_odf_opus_cfg_parse_bs
      Src: /src/gpac/src/odf/descriptors.c:1905,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - dsi
    - dsi_len
    - cfg
    argTypes:
    - u8*
    - u32
    - GF_OpusConfig*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1908
    functionName: gf_odf_opus_cfg_parse
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_opus_cfg_parse_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_opus_cfg_parse(u8 *dsi, u32 dsi_len, GF_OpusConfig *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1941,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1947,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:1945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1951
    functionName: gf_odf_ia_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_IAConfig *gf_odf_ia_cfg_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size_desc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: gf_odf_size_field_size
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_odf_size_field_size(u32 size_desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/descriptors.c:138,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:142,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/odf/descriptors.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - descList
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: gf_odf_delete_descriptor_list
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_delete_descriptor
    - gf_list_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_delete_descriptor_list(GF_List *descList) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:513,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:519,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:526,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:534,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:530,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:541,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:556,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:561,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:565,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:521,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:522,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:523,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:532,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:536,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:543,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/odf/descriptors.c:547,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:552,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:553,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:567,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:516,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:517,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:545,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:549,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:550,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:551,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:558,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:518,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:539,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/odf/descriptors.c:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_AVCConfig*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 571
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 571
    functionName: gf_odf_avc_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_avcc_use_extensions
    - gf_list_get
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_avc_cfg_write_bs(GF_AVCConfig *cfg, GF_BitStream
      *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:801,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:802,1
    - Dst: gf_odf_del_tx3g
      Src: /src/gpac/src/odf/descriptors.c:804,1
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:807,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_TextConfig*
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: ResetTextConfig
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_list_count
    - gf_list_rem
    - gf_odf_del_tx3g
    linkageType: ''
    returnType: void
    signature: 'void ResetTextConfig(GF_TextConfig *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1528
    functionName: gf_odf_vp_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VPConfig *gf_odf_vp_cfg_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1546,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1548,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1549,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1550,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1547,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1551,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1552,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1557,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cfg
    - bs
    - is_v0
    argTypes:
    - GF_VPConfig*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1564
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1564
    functionName: gf_odf_vp_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_vp_cfg_write_bs(GF_VPConfig *cfg, GF_BitStream
      *bs, Bool is_v0) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1913,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/odf/descriptors.c:1917,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/odf/descriptors.c:1916,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/odf/descriptors.c:1915,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1914,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1918,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1920,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1921,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:1922,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_OpusConfig*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1925
    functionName: gf_odf_opus_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u32_le
    - gf_bs_write_data
    - gf_bs_write_u16_le
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_opus_cfg_write_bs(GF_OpusConfig *cfg, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ia_cfg_read_bs_size
      Src: /src/gpac/src/odf/descriptors.c:2029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2030
    functionName: gf_odf_ia_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_ia_cfg_read_bs_size
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_IAConfig *gf_odf_ia_cfg_read_bs(GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/descriptors.c:2045,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/descriptors.c:2048,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:2049,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/descriptors.c:2046,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:2047,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/descriptors.c:2051,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:2052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_IAConfig*
    constantsTouched: []
    func_position:
      end: 2053
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2053
    functionName: gf_odf_ia_cfg_del
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odf_ia_cfg_del(GF_IAConfig *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/odf/descriptors.c:2091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_IAConfig*
    constantsTouched: []
    func_position:
      end: 2094
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2094
    functionName: gf_odf_ia_cfg_size
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_av1_leb128_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_odf_ia_cfg_size(GF_IAConfig *cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_av1_cfg_read_bs_size
      Src: /src/gpac/src/odf/descriptors.c:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1718
    functionName: gf_odf_av1_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_read_bs_size
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AV1Config *gf_odf_av1_cfg_read_bs(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1760,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1764,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1762,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1763,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/odf/descriptors.c:1761,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1765,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1766,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1767,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:1768,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1769,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1770,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1772,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/odf/descriptors.c:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cfg
    - bs
    argTypes:
    - GF_DOVIDecoderConfigurationRecord*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1774
    functionName: gf_odf_dovi_cfg_write_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_u32
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dovi_cfg_write_bs(GF_DOVIDecoderConfigurationRecord
      *cfg, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - array_size
    argTypes:
    - GF_BitStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: gf_ipmpx_array_size
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_ipmpx_array_size(GF_BitStream *bs, u32 *array_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1445,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1447,1
    - Dst: gf_odf_vvc_cfg_read_bs
      Src: /src/gpac/src/odf/descriptors.c:1446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1449
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1449
    functionName: gf_odf_vvc_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_read_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_VVCConfig *gf_odf_vvc_cfg_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:1871,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1875,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:1873,1
    - Dst: gf_odf_ac3_config_parse_bs
      Src: /src/gpac/src/odf/descriptors.c:1872,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1874,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1876,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:1878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - dsi
    - dsi_len
    - is_ec3
    - cfg
    argTypes:
    - u8*
    - u32
    - Bool
    - GF_AC3Config*
    constantsTouched: []
    func_position:
      end: 1880
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1880
    functionName: gf_odf_ac3_config_parse
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_odf_ac3_config_parse_bs
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_ac3_config_parse(u8 *dsi, u32 dsi_len, Bool is_ec3,
      GF_AC3Config *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1731,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1736,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1734,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1735,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1733,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1737,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1738,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1739,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1740,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:1741,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/odf/descriptors.c:1745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1750
    functionName: gf_odf_dovi_cfg_read_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u8
    - GF_LOG
    - gf_bs_read_int
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DOVIDecoderConfigurationRecord*
    signature: 'GF_DOVIDecoderConfigurationRecord *gf_odf_dovi_cfg_read_bs(GF_BitStream
      *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1966,1
    - Dst: gf_iamf_init_state
      Src: /src/gpac/src/odf/descriptors.c:1969,1
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/odf/descriptors.c:1974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1995,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:1994,1
    - Dst: gf_iamf_parse_obu
      Src: /src/gpac/src/odf/descriptors.c:1990,1
    - Dst: gf_odf_ia_cfg_new
      Src: /src/gpac/src/odf/descriptors.c:1968,1
    - Dst: gf_assert
      Src: /src/gpac/src/odf/descriptors.c:1994,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/odf/descriptors.c:2004,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:2019,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1971,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1991,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:2001,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:2005,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/descriptors.c:2008,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/odf/descriptors.c:2017,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/odf/descriptors.c:2018,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:1960,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:1973,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/descriptors.c:1975,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/odf/descriptors.c:1980,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1997,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/descriptors.c:1988,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:1999,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/descriptors.c:2011,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 2025
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 2025
    functionName: gf_odf_ia_cfg_read_bs_size
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_iamf_init_state
    - gf_odf_ia_cfg_new
    - gf_bs_read_u8
    - gf_odf_ia_cfg_del
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - gf_bs_available
    - GF_SAFEALLOC
    - gf_free
    - gf_av1_leb128_read
    - gf_bs_read_data
    - gf_assert
    - gf_bs_align
    - gf_iamf_reset_state
    - gf_iamf_parse_obu
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_IAConfig *gf_odf_ia_cfg_read_bs_size(GF_BitStream *bs,
      u32 size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:270,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:273,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:276,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:272,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:275,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:277,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:280,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:281,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/descriptors.c:282,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/descriptors.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - bs
    - data
    - data_len
    argTypes:
    - GF_BitStream*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 287
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 287
    functionName: gf_ipmpx_write_array
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'void gf_ipmpx_write_array(GF_BitStream *bs, u8 *data, u32 data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/descriptors.c:1455,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/descriptors.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1462
    functionName: gf_odf_av1_cfg_new
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AV1Config *gf_odf_av1_cfg_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:1885,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/odf/descriptors.c:1889,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1886,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1887,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/odf/descriptors.c:1888,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/odf/descriptors.c:1890,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1891,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1893,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/odf/descriptors.c:1894,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/descriptors.c:1895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - bs
    - cfg
    argTypes:
    - GF_BitStream*
    - GF_OpusConfig*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1898
    functionName: gf_odf_opus_cfg_parse_bs
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    - gf_bs_read_u8
    - memset
    - gf_bs_read_u32_le
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_opus_cfg_parse_bs(GF_BitStream *bs, GF_OpusConfig *cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:2035,1
    - Dst: gf_odf_ia_cfg_read_bs
      Src: /src/gpac/src/odf/descriptors.c:2036,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:2037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2039
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2039
    functionName: gf_odf_ia_cfg_read
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_odf_ia_cfg_read_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_IAConfig *gf_odf_ia_cfg_read(u8 *dsi, u32 dsi_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/odf/descriptors.c:407,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:410,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/descriptors.c:409,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:412,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/descriptors.c:411,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/descriptors.c:415,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/descriptors.c:415,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/descriptors.c:417,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/descriptors.c:419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - dsi
    - cfg
    argTypes:
    - GF_DefaultDescriptor*
    - GF_UIConfig*
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: gf_odf_get_ui_config
    functionSourceFile: /src/gpac/src/odf/descriptors.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_get_ui_config(GF_DefaultDescriptor *dsi, GF_UIConfig
      *cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:96,1
    - Dst: gf_odf_dump_com
      Src: /src/gpac/src/odf/odf_dump.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - commandList
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_List*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: gf_odf_dump_com_list
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_dump_com
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_dump_com_list(GF_List *commandList, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:281,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: EndAttribute
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndAttribute(FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:441,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:470,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:479,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:484,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:435,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:442,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:445,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:447,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:459,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:465,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:471,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:432,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:437,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:461,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:460,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:469,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:472,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:477,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:478,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:487,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:438,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:439,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:449,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:450,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:451,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:452,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:453,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:456,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:454,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - iod
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_InitialObjectDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 489
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 489
    functionName: gf_odf_dump_iod
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - DumpString
    - StartSubElement
    - DumpDescListFilter
    - EndSubElement
    - gf_fprintf
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndDescDump
    - EndAttributes
    - DumpBool
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_iod(GF_InitialObjectDescriptor *iod, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DumpRawBIFSConfig
      Src: /src/gpac/src/odf/odf_dump.c:939,1
    - Dst: gf_odf_get_text_config
      Src: /src/gpac/src/odf/odf_dump.c:946,1
    - Dst: DumpRawUIConfig
      Src: /src/gpac/src/odf/odf_dump.c:942,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:947,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/odf/odf_dump.c:945,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/odf_dump.c:948,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 6
    argNames:
    - dsi
    - trace
    - indent
    - XMTDump
    - streamType
    - oti
    argTypes:
    - GF_DefaultDescriptor*
    - FILE*
    - u32
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 955
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 955
    functionName: OD_DumpDSI
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_odf_desc_new
    - gf_odf_get_text_config
    - gf_odf_desc_del
    - DumpRawUIConfig
    - DumpRawBIFSConfig
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err OD_DumpDSI(GF_DefaultDescriptor *dsi, FILE *trace, u32 indent,
      Bool XMTDump, u32 streamType, u32 oti) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1345,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1346,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1349,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1352,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1355,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1357,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1358,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1359,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1360,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1361,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1348,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1368,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1369,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1383,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1391,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1396,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1362,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1340,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:1377,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1378,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1382,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1384,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1389,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1399,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1367,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:1390,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1337,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1344,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1380,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - iod
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IsomInitialObjectDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1401
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1401
    functionName: gf_odf_dump_isom_iod
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - DumpString
    - StartSubElement
    - DumpDescListFilter
    - EndSubElement
    - gf_fprintf
    - gf_list_count
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndDescDump
    - EndAttributes
    - DumpBool
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_isom_iod(GF_IsomInitialObjectDescriptor *iod, FILE
      *trace, u32 indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1448,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1452,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1459,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1474,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1446,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1450,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1454,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1460,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1475,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1461,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1472,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1484,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1451,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1455,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1457,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:1469,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1470,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1476,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1465,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1481,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - od
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IsomObjectDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1486
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1486
    functionName: gf_odf_dump_isom_od
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - DumpDescListFilter
    - EndSubElement
    - gf_fprintf
    - gf_list_count
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndDescDump
    - EndAttributes
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_isom_od(GF_IsomObjectDescriptor *od, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1491,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1493,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ocd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_OCI_Data*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1497
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1497
    functionName: gf_odf_dump_oci_date
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_oci_date(GF_OCI_Data *ocd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1617,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1622,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1621,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1619,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1620,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1623,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1624,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1625,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - std
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ShortTextual*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1629
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1629
    functionName: gf_odf_dump_short_text
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - EndSubElement
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_short_text(GF_ShortTextual *std, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_dump_iod
      Src: /src/gpac/src/odf/odf_dump.c:108,1
    - Dst: gf_odf_dump_cc_date
      Src: /src/gpac/src/odf/odf_dump.c:129,1
    - Dst: gf_odf_dump_cc_name
      Src: /src/gpac/src/odf/odf_dump.c:131,1
    - Dst: gf_odf_dump_ci
      Src: /src/gpac/src/odf/odf_dump.c:133,1
    - Dst: gf_odf_dump_exp_text
      Src: /src/gpac/src/odf/odf_dump.c:135,1
    - Dst: gf_odf_dump_lang
      Src: /src/gpac/src/odf/odf_dump.c:149,1
    - Dst: gf_odf_dump_oci_date
      Src: /src/gpac/src/odf/odf_dump.c:151,1
    - Dst: gf_odf_dump_oci_name
      Src: /src/gpac/src/odf/odf_dump.c:153,1
    - Dst: gf_odf_dump_mediatime
      Src: /src/gpac/src/odf/odf_dump.c:171,1
    - Dst: gf_odf_dump_ipmp_tool_list
      Src: /src/gpac/src/odf/odf_dump.c:173,1
    - Dst: gf_odf_dump_txtcfg
      Src: /src/gpac/src/odf/odf_dump.c:178,1
    - Dst: gf_odf_dump_laser_cfg
      Src: /src/gpac/src/odf/odf_dump.c:184,1
    - Dst: gf_odf_dump_aux_vid
      Src: /src/gpac/src/odf/odf_dump.c:188,1
    - Dst: gf_odf_dump_esd
      Src: /src/gpac/src/odf/odf_dump.c:110,1
    - Dst: gf_odf_dump_slc
      Src: /src/gpac/src/odf/odf_dump.c:114,1
    - Dst: gf_odf_dump_dcd
      Src: /src/gpac/src/odf/odf_dump.c:112,1
    - Dst: gf_odf_dump_isom_iod
      Src: /src/gpac/src/odf/odf_dump.c:116,1
    - Dst: gf_odf_dump_default
      Src: /src/gpac/src/odf/odf_dump.c:190,1
    - Dst: gf_odf_dump_pl_ext
      Src: /src/gpac/src/odf/odf_dump.c:137,1
    - Dst: gf_odf_dump_pl_idx
      Src: /src/gpac/src/odf/odf_dump.c:155,1
    - Dst: gf_odf_dump_qos
      Src: /src/gpac/src/odf/odf_dump.c:157,1
    - Dst: gf_odf_dump_rating
      Src: /src/gpac/src/odf/odf_dump.c:159,1
    - Dst: gf_odf_dump_reg
      Src: /src/gpac/src/odf/odf_dump.c:161,1
    - Dst: gf_odf_dump_short_text
      Src: /src/gpac/src/odf/odf_dump.c:163,1
    - Dst: gf_odf_dump_smpte_camera
      Src: /src/gpac/src/odf/odf_dump.c:165,1
    - Dst: gf_odf_dump_sup_cid
      Src: /src/gpac/src/odf/odf_dump.c:167,1
    - Dst: gf_odf_dump_segment
      Src: /src/gpac/src/odf/odf_dump.c:169,1
    - Dst: gf_odf_dump_bifs_cfg
      Src: /src/gpac/src/odf/odf_dump.c:182,1
    - Dst: gf_odf_dump_ui_cfg
      Src: /src/gpac/src/odf/odf_dump.c:186,1
    - Dst: gf_odf_dump_isom_od
      Src: /src/gpac/src/odf/odf_dump.c:118,1
    - Dst: gf_odf_dump_od
      Src: /src/gpac/src/odf/odf_dump.c:120,1
    - Dst: gf_odf_dump_esd_inc
      Src: /src/gpac/src/odf/odf_dump.c:122,1
    - Dst: gf_odf_dump_esd_ref
      Src: /src/gpac/src/odf/odf_dump.c:124,1
    - Dst: gf_odf_dump_cc
      Src: /src/gpac/src/odf/odf_dump.c:127,1
    - Dst: gf_odf_dump_kw
      Src: /src/gpac/src/odf/odf_dump.c:146,1
    - Dst: gf_odf_dump_ipi_ptr
      Src: /src/gpac/src/odf/odf_dump.c:140,1
    - Dst: gf_odf_dump_ipmp
      Src: /src/gpac/src/odf/odf_dump.c:142,1
    - Dst: gf_odf_dump_ipmp_ptr
      Src: /src/gpac/src/odf/odf_dump.c:144,1
    - Dst: gf_odf_dump_ipmp_tool
      Src: /src/gpac/src/odf/odf_dump.c:175,1
    - Dst: gf_odf_dump_muxinfo
      Src: /src/gpac/src/odf/odf_dump.c:180,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 42
    argCount: 4
    argNames:
    - desc
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_Descriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 193
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 193
    functionName: gf_odf_dump_desc
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_isom_od
    - gf_odf_dump_cc
    - gf_odf_dump_iod
    - gf_odf_dump_pl_idx
    - gf_odf_dump_kw
    - gf_odf_dump_ipmp_ptr
    - gf_odf_dump_oci_date
    - gf_odf_dump_oci_name
    - gf_odf_dump_short_text
    - gf_odf_dump_aux_vid
    - gf_odf_dump_ipi_ptr
    - gf_odf_dump_cc_name
    - gf_odf_dump_reg
    - gf_odf_dump_smpte_camera
    - gf_odf_dump_ipmp
    - gf_odf_dump_esd_inc
    - gf_odf_dump_od
    - gf_odf_dump_laser_cfg
    - gf_odf_dump_ipmp_tool_list
    - gf_odf_dump_pl_ext
    - gf_odf_dump_qos
    - gf_odf_dump_exp_text
    - gf_odf_dump_ci
    - gf_odf_dump_rating
    - gf_odf_dump_mediatime
    - gf_odf_dump_bifs_cfg
    - gf_odf_dump_slc
    - gf_odf_dump_muxinfo
    - gf_odf_dump_segment
    - gf_odf_dump_isom_iod
    - gf_odf_dump_lang
    - gf_odf_dump_esd
    - gf_odf_dump_esd_ref
    - gf_odf_dump_sup_cid
    - gf_odf_dump_ui_cfg
    - gf_odf_dump_cc_date
    - gf_odf_dump_dcd
    - gf_odf_dump_default
    - gf_odf_dump_txtcfg
    - gf_odf_dump_ipmp_tool
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_dump_desc(GF_Descriptor *desc, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:290,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:291,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: DumpInt
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpInt(FILE *trace, const char *attName, u32 val, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:331,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:338,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:340,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:332,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - trace
    - name
    - data
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: DumpBin128
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpBin128(FILE *trace, const char *name, char *data,
      u32 indent, Bool XMTDump) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:500,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:511,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:523,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:519,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:518,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:552,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:561,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:571,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:590,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:592,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:599,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:544,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:501,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:502,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:529,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:540,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:550,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:565,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:572,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:577,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/odf_dump.c:579,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:585,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:566,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:551,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:560,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:545,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:504,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:530,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:522,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:531,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:534,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:535,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:541,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:543,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:547,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:555,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/odf/odf_dump.c:588,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:570,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:556,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:594,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:564,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:495,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:498,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:505,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:507,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:512,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:513,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:517,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:526,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:536,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:539,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:559,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:546,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:593,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 4
    argNames:
    - esd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ESD*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 601
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 601
    functionName: gf_odf_dump_esd
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - DumpString
    - gf_list_insert
    - StartSubElement
    - EndSubElement
    - gf_fprintf
    - gf_list_enum
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndDescDump
    - gf_list_rem
    - EndAttributes
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_esd(GF_ESD *esd, FILE *trace, u32 indent, Bool
      XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:959,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:964,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:963,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:965,1
    - Dst: DumpIntForce
      Src: /src/gpac/src/odf/odf_dump.c:962,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:966,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:967,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:968,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:973,1
    - Dst: OD_DumpDSI
      Src: /src/gpac/src/odf/odf_dump.c:974,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:979,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:980,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:983,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:978,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:985,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - dcd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_DecoderConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 988
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 988
    functionName: gf_odf_dump_dcd
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - DumpInt
    - OD_DumpDSI
    - StartElement
    - DumpIntForce
    - EndDescDump
    - EndAttributes
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_dcd(GF_DecoderConfig *dcd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1409,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1419,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1429,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1420,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1437,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1410,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1411,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1430,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1424,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1433,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1413,1
    - Dst: DumpDescListFilter
      Src: /src/gpac/src/odf/odf_dump.c:1431,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1428,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1407,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1414,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1416,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1418,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - od
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ObjectDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1442
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1442
    functionName: gf_odf_dump_od
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - DumpDescListFilter
    - EndSubElement
    - gf_fprintf
    - DumpInt
    - StartAttribute
    - EndAttribute
    - StartElement
    - EndDescDump
    - EndAttributes
    - EndElement
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_od(GF_ObjectDescriptor *od, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1504,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1509,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1510,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:1507,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1508,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1511,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1512,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ocn
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_OCICreators*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1517
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1517
    functionName: gf_odf_dump_oci_name
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - gf_list_enum
    - DumpInt
    - EndDescDump
    - EndSubElement
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_oci_name(GF_OCICreators *ocn, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1636,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1638,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:1642,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1639,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1643,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1644,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1645,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1646,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - cpd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_SMPTECamera*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1651
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1651
    functionName: gf_odf_dump_smpte_camera
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartSubElement
    - EndSubElement
    - gf_list_enum
    - DumpInt
    - EndDescDump
    - EndAttributes
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_smpte_camera(GF_SMPTECamera *cpd, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1315,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1319,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1320,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:1318,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1321,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1322,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1323,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1324,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1325,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1326,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1328,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ld
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_AuxVideoDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1331
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1331
    functionName: gf_odf_dump_aux_vid
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpInt
    - DumpIntHex
    - EndDescDump
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_aux_vid(GF_AuxVideoDescriptor *ld, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1668,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1672,1
    - Dst: DumpDouble
      Src: /src/gpac/src/odf/odf_dump.c:1670,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1675,1
    - Dst: DumpDouble
      Src: /src/gpac/src/odf/odf_dump.c:1671,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - sd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_Segment*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1679
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1679
    functionName: gf_odf_dump_segment
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpDouble
    - DumpString
    - EndDescDump
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_segment(GF_Segment *sd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1769,1
    - Dst: gf_ipmpx_dump_data
      Src: /src/gpac/src/odf/odf_dump.c:1776,1
    - Dst: DumpBin128
      Src: /src/gpac/src/odf/odf_dump.c:1771,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1774,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1772,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1778,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1780,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - t
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMP_Tool*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1784
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1784
    functionName: gf_odf_dump_ipmp_tool
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - DumpBin128
    - gf_ipmpx_dump_data
    - StartElement
    - EndDescDump
    - EndAttributes
    - EndElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp_tool(GF_IPMP_Tool*t, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1904,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1909,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1910,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1907,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1912,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPRemove*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1916
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1916
    functionName: gf_odf_dump_ipmp_remove
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - StartAttribute
    - EndAttribute
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp_remove(GF_IPMPRemove *com, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:260,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - trace
    - attName
    - indent
    - XMTDump
    - IsList
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: EndElement
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndElement(FILE *trace, const char *attName, u32 indent,
      Bool XMTDump, Bool IsList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:998,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1005,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1009,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1011,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1034,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1039,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1036,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1030,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:993,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:999,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1000,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1002,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1006,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1007,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1008,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1017,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1018,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1019,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1035,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:994,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1022,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1020,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1026,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1033,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1010,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1012,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1013,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1014,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1015,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1016,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1027,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1028,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1029,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1042,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - sl
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_SLConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1044
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1044
    functionName: gf_odf_dump_slc
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartSubElement
    - StartDescDump
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - EndElement
    - EndSubElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_slc(GF_SLConfig *sl, FILE *trace, u32 indent, Bool
      XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1076,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1080,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1078,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - esd_inc
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ES_ID_Inc*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: gf_odf_dump_esd_inc
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - EndDescDump
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_esd_inc(GF_ES_ID_Inc *esd_inc, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1123,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1129,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1124,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:1127,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1128,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1130,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1131,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1132,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - cnd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_CC_Name*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1137
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1137
    functionName: gf_odf_dump_cc_name
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - EndSubElement
    - gf_list_enum
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_cc_name(GF_CC_Name *cnd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1167,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1169,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1171,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1170,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1172,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:1174,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:1176,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:1177,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1179,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1180,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1185,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1182,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - etd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ExpandedTextual*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1187
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1187
    functionName: gf_odf_dump_exp_text
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - gf_list_get
    - StartSubElement
    - EndSubElement
    - gf_list_count
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_exp_text(GF_ExpandedTextual *etd, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1207,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1211,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ipid
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPIPtr*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1213
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1213
    functionName: gf_odf_dump_ipi_ptr
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipi_ptr(GF_IPIPtr *ipid, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1521,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1525,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - plid
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_PL_IDX*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1527
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1527
    functionName: gf_odf_dump_pl_idx
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_pl_idx(GF_PL_IDX *plid, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1833,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1834,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1837,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1835,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1836,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:1840,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1841,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1844,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1847,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ESDUpdate*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1852
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1852
    functionName: gf_odf_dump_esd_update
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - StartAttribute
    - EndAttribute
    - EndDescDump
    - EndAttributes
    - OD_FORMAT_INDENT
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_esd_update(GF_ESDUpdate *com, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:271,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:273,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - trace
    - attName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: StartAttribute
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartAttribute(FILE *trace, const char *attName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:349,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:350,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: DumpBool
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpBool(FILE *trace, const char *attName, u32 val, u32
      indent, Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1049,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1053,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1055,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1052,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1059,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1061,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1064,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1066,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1068,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - dd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_DefaultDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1071
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1071
    functionName: gf_odf_dump_default
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - DumpData
    - EndDescDump
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_default(GF_DefaultDescriptor *dd, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1087,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1092,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1091,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - esd_ref
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ES_ID_Ref*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1094
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1094
    functionName: gf_odf_dump_esd_ref
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - EndDescDump
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_esd_ref(GF_ES_ID_Ref *esd_ref, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1141,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1143,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1146,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1147,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1142,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1148,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1151,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1152,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1153,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1154,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - cid
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_CIDesc*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1160
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1160
    functionName: gf_odf_dump_ci
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - EndSubElement
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ci(GF_CIDesc *cid, FILE *trace, u32 indent, Bool
      XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1191,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1194,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1195,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1193,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1196,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1197,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1198,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1199,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pld
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_PLExt*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1203
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1203
    functionName: gf_odf_dump_pl_ext
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_pl_ext(GF_PLExt *pld, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1218,1
    - Dst: DumpBin128
      Src: /src/gpac/src/odf/odf_dump.c:1228,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:1221,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:1226,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:1222,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1229,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1230,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1231,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1234,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:1236,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:1238,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1246,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1251,1
    - Dst: gf_ipmpx_dump_data
      Src: /src/gpac/src/odf/odf_dump.c:1239,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1242,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - ipmp
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMP_Descriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1253
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1253
    functionName: gf_odf_dump_ipmp
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - gf_list_get
    - DumpData
    - gf_list_count
    - DumpBin128
    - gf_ipmpx_dump_data
    - DumpInt
    - DumpIntHex
    - StartElement
    - EndDescDump
    - EndAttributes
    - EndElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp(GF_IPMP_Descriptor *ipmp, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1537,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1536,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1544,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1545,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1556,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1566,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1569,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1570,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1576,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1581,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:1541,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1546,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1571,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1579,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1582,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1588,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1531,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1549,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1550,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1560,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1559,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1535,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1554,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1551,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1565,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1561,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1564,1
    - Dst: DumpFloat
      Src: /src/gpac/src/odf/odf_dump.c:1555,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1574,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1575,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1580,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - qos
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_QoS_Descriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1590
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1590
    functionName: gf_odf_dump_qos
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartSubElement
    - DumpFloat
    - gf_list_enum
    - DumpData
    - DumpInt
    - EndDescDump
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_qos(GF_QoS_Descriptor *qos, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1683,1
    - Dst: DumpDouble
      Src: /src/gpac/src/odf/odf_dump.c:1685,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - mt
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_MediaTime*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1689
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1689
    functionName: gf_odf_dump_mediatime
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpDouble
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_mediatime(GF_MediaTime *mt, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1859,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1860,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1861,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1863,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1862,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:1866,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1867,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1870,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1871,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1872,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1877,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1875,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ESDRemove*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1882
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1882
    functionName: gf_odf_dump_esd_remove
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - StartAttribute
    - EndAttribute
    - EndSubElement
    - OD_FORMAT_INDENT
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_esd_remove(GF_ESDRemove *com, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_oci_codec_new
      Src: /src/gpac/src/odf/odf_dump.c:1970,1
    - Dst: gf_oci_codec_decode
      Src: /src/gpac/src/odf/odf_dump.c:1973,1
    - Dst: gf_oci_dump_event
      Src: /src/gpac/src/odf/odf_dump.c:1979,1
    - Dst: gf_oci_codec_get_event
      Src: /src/gpac/src/odf/odf_dump.c:1977,1
    - Dst: gf_oci_codec_del
      Src: /src/gpac/src/odf/odf_dump.c:1982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 6
    argNames:
    - version
    - au
    - au_length
    - trace
    - indent
    - XMTDump
    argTypes:
    - u8
    - u8*
    - u32
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1984
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1984
    functionName: gf_oci_dump_au
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_oci_dump_event
    - gf_oci_codec_del
    - gf_oci_codec_get_event
    - gf_oci_codec_decode
    - gf_oci_codec_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_dump_au(u8 version, u8 *au, u32 au_length,
      FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - trace
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: EndAttributes
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndAttributes(FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:316,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - Float
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: DumpFloat
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpFloat(FILE *trace, const char *attName, Float val,
      u32 indent, Bool XMTDump) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:606,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:614,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:615,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:627,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:628,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:640,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:658,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:664,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:668,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:611,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:619,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:631,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:634,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:629,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:643,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:644,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:646,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:655,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:656,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:613,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:622,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:630,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:632,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:647,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:610,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:617,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:623,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:626,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:624,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:636,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:642,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:652,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - dsi
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_BIFSConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 670
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 670
    functionName: gf_odf_dump_bifs_cfg
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - gf_list_get
    - EndSubElement
    - gf_list_count
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_bifs_cfg(GF_BIFSConfig *dsi, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:834,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:845,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:855,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:849,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:856,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:857,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_dump.c:862,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:829,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:836,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:844,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:856,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:850,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:843,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:847,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_dump.c:854,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:852,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:861,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:864,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:827,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:831,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:839,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_dump.c:841,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:851,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:851,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:860,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:869,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:870,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - uid
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_UIConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 872
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 872
    functionName: gf_odf_dump_ui_cfg
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - gf_bs_del
    - gf_fprintf
    - DumpData
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_new
    - StartAttribute
    - EndAttribute
    - EndDescDump
    - EndAttributes
    - stricmp
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ui_cfg(GF_UIConfig *uid, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1100,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1102,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1103,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1101,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1104,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ccd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_CCDescriptor*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: gf_odf_dump_cc
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - DumpInt
    - EndDescDump
    - EndAttributes
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_cc(GF_CCDescriptor *ccd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1257,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1264,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1262,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1260,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1261,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1268,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ipmpd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPPtr*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1272
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1272
    functionName: gf_odf_dump_ipmp_ptr
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndDescDump
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp_ptr(GF_IPMPPtr *ipmpd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1920,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1925,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_BaseODCom*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1927
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1927
    functionName: gf_odf_dump_base_command
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_base_command(GF_BaseODCom *com, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:246,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:251,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - trace
    - attName
    - indent
    - XMTDump
    - IsList
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: StartElement
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartElement(FILE *trace, const char *attName, u32 indent,
      Bool XMTDump, Bool IsList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:323,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:325,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - Double
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: DumpDouble
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpDouble(FILE *trace, const char *attName, Double val,
      u32 indent, Bool XMTDump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:683,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:686,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:687,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:706,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:713,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:716,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:717,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_dump.c:732,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_dump.c:677,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:679,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:684,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:690,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_dump.c:694,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:701,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:719,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:683,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:686,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:687,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:699,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:706,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:716,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:717,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:730,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:684,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:690,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:692,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:702,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:702,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:703,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:705,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:709,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:726,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - dsi
    - trace
    - indent
    - XMTDump
    - oti
    argTypes:
    - GF_DefaultDescriptor*
    - FILE*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 734
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 734
    functionName: DumpRawBIFSConfig
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - EndSubElement
    - gf_bs_read_int
    - gf_bs_new
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DumpRawBIFSConfig(GF_DefaultDescriptor *dsi, FILE *trace, u32
      indent, Bool XMTDump, u32 oti) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/odf_dump.c:881,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:885,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:886,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:888,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/odf_dump.c:890,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:894,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:908,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:904,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:895,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:911,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:924,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:903,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:910,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:910,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:915,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:914,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:890,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:902,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:906,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_dump.c:899,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/odf/odf_dump.c:897,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/odf_dump.c:913,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:920,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:929,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:930,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:916,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/odf_dump.c:931,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:883,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/odf_dump.c:891,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:893,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:909,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:919,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/odf_dump.c:923,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:915,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 5
    argNames:
    - dsi
    - trace
    - indent
    - XMTDump
    - oti
    argTypes:
    - GF_DefaultDescriptor*
    - FILE*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 933
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 933
    functionName: DumpRawUIConfig
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - gf_bs_del
    - gf_fprintf
    - gf_bs_get_position
    - DumpData
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - StartAttribute
    - EndAttribute
    - EndDescDump
    - EndAttributes
    - stricmp
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DumpRawUIConfig(GF_DefaultDescriptor *dsi, FILE *trace, u32
      indent, Bool XMTDump, u32 oti) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1111,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1112,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1114,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - cdd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_CC_Date*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1116
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1116
    functionName: gf_odf_dump_cc_date
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - DumpString
    - EndDescDump
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_cc_date(GF_CC_Date *cdd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1279,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1282,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1281,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/odf/odf_dump.c:1286,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1283,1
    - Dst: StartSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1287,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1288,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1289,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - kwd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_KeyWord*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1294
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1294
    functionName: gf_odf_dump_kw
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - StartSubElement
    - EndSubElement
    - gf_list_enum
    - DumpInt
    - EndDescDump
    - EndAttributes
    - DumpBool
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_kw(GF_KeyWord *kwd, FILE *trace, u32 indent, Bool
      XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1299,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1307,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1308,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ld
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_Language*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1310
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1310
    functionName: gf_odf_dump_lang
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndDescDump
    - DumpString
    - EndSubElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_lang(GF_Language *ld, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1701,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1707,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1718,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_dump.c:1729,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1731,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1733,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1735,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1736,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1748,1
    - Dst: gf_url_get_absolute_path
      Src: /src/gpac/src/odf/odf_dump.c:1695,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1698,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1706,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1708,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1721,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1717,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1728,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1737,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1747,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1709,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1711,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1713,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1738,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1740,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1742,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1704,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_dump.c:1702,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1714,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1725,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1712,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1741,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1743,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1746,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1751,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 4
    argNames:
    - mi
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_MuxInfo*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1753
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1753
    functionName: gf_odf_dump_muxinfo
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - EndSubElement
    - DumpInt
    - EndAttributes
    - gf_url_get_absolute_path
    - EndDescDump
    - gf_free
    - DumpBool
    - EndElement
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_muxinfo(GF_MuxInfo *mi, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1791,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1794,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1796,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1792,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ODUpdate*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1801
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1801
    functionName: gf_odf_dump_od_update
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - EndDescDump
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_od_update(GF_ODUpdate *com, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1937,1
    - Dst: gf_oci_event_get_start_time
      Src: /src/gpac/src/odf/odf_dump.c:1942,1
    - Dst: gf_oci_event_get_id
      Src: /src/gpac/src/odf/odf_dump.c:1939,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1940,1
    - Dst: DumpBool
      Src: /src/gpac/src/odf/odf_dump.c:1943,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1944,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1945,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1946,1
    - Dst: gf_oci_event_get_duration
      Src: /src/gpac/src/odf/odf_dump.c:1948,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1949,1
    - Dst: gf_oci_event_get_desc
      Src: /src/gpac/src/odf/odf_dump.c:1955,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:1958,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1960,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:1956,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1951,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1950,1
    - Dst: gf_oci_event_get_desc_count
      Src: /src/gpac/src/odf/odf_dump.c:1954,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:1953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ev
    - trace
    - indent
    - XMTDump
    argTypes:
    - OCIEvent*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1963
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1963
    functionName: gf_oci_dump_event
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_oci_event_get_desc
    - gf_fprintf
    - gf_oci_event_get_id
    - gf_oci_event_get_start_time
    - DumpInt
    - StartAttribute
    - EndAttribute
    - gf_oci_event_get_desc_count
    - StartElement
    - EndDescDump
    - EndElement
    - DumpBool
    - gf_oci_event_get_duration
    - StartDescDump
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_oci_dump_event(OCIEvent *ev, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/odf/odf_dump.c:74,1
    - Dst: gf_odf_dump_com
      Src: /src/gpac/src/odf/odf_dump.c:82,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/odf/odf_dump.c:75,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/odf/odf_dump.c:76,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/odf/odf_dump.c:79,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/odf/odf_dump.c:83,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/odf/odf_dump.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - data
    - dataLength
    - trace
    - indent
    - XMTDump
    argTypes:
    - char*
    - u32
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: gf_odf_dump_au
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_com
    - gf_odf_codec_del
    - gf_odf_codec_decode
    - gf_odf_codec_get_com
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_odf_com_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_au(char *data, u32 dataLength, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1888,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1889,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1893,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1895,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMPUpdate*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1898
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1898
    functionName: gf_odf_dump_ipmp_update
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - EndDescDump
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp_update(GF_IPMPUpdate *com, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1758,1
    - Dst: DumpDescList
      Src: /src/gpac/src/odf/odf_dump.c:1761,1
    - Dst: EndAttributes
      Src: /src/gpac/src/odf/odf_dump.c:1759,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - tl
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_IPMP_ToolList*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1765
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1765
    functionName: gf_odf_dump_ipmp_tool_list
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - EndAttributes
    - EndDescDump
    - DumpDescList
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_ipmp_tool_list(GF_IPMP_ToolList *tl, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_dump_od_update
      Src: /src/gpac/src/odf/odf_dump.c:48,1
    - Dst: gf_odf_dump_esd_update
      Src: /src/gpac/src/odf/odf_dump.c:52,1
    - Dst: gf_odf_dump_esd_remove
      Src: /src/gpac/src/odf/odf_dump.c:54,1
    - Dst: gf_odf_dump_od_remove
      Src: /src/gpac/src/odf/odf_dump.c:50,1
    - Dst: gf_odf_dump_ipmp_update
      Src: /src/gpac/src/odf/odf_dump.c:57,1
    - Dst: gf_odf_dump_ipmp_remove
      Src: /src/gpac/src/odf/odf_dump.c:59,1
    - Dst: gf_odf_dump_base_command
      Src: /src/gpac/src/odf/odf_dump.c:61,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ODCom*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: gf_odf_dump_com
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_ipmp_remove
    - gf_odf_dump_od_remove
    - gf_odf_dump_od_update
    - gf_odf_dump_esd_update
    - gf_odf_dump_ipmp_update
    - gf_odf_dump_base_command
    - gf_odf_dump_esd_remove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_dump_com(GF_ODCom *com, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:200,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:203,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - trace
    - descName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: StartDescDump
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartDescDump(FILE *trace, const char *descName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - trace
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: EndSubElement
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndSubElement(FILE *trace, u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:297,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:298,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: DumpIntForce
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpIntForce(FILE *trace, const char *attName, u32 val,
      u32 indent, Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:357,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:360,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:359,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: DumpString
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpString(FILE *trace, const char *attName, char *val,
      u32 indent, Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:382,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:386,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:384,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:390,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:388,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:391,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - list
    - trace
    - indent
    - ListName
    - XMTDump
    - no_skip_empty
    argTypes:
    - GF_List*
    - FILE*
    - u32
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: DumpDescList
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - StartElement
    - OD_FORMAT_INDENT
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DumpDescList(GF_List *list, FILE *trace, u32 indent, const
      char *ListName, Bool XMTDump, Bool no_skip_empty) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:738,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:743,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:742,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:745,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:744,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:746,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:747,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:749,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:750,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - dsi
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_LASERConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 752
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 752
    functionName: gf_odf_dump_laser_cfg
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_laser_cfg(GF_LASERConfig *dsi, FILE *trace, u32
      indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1594,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1597,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1596,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1600,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - rd
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_Rating*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1602
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1602
    functionName: gf_odf_dump_rating
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_rating(GF_Rating *rd, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:212,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:215,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - trace
    - descName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: EndDescDump
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndDescDump(FILE *trace, const char *descName, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:304,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:310,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - trace
    - attName
    - val
    - indent
    - XMTDump
    - single_byte
    argTypes:
    - FILE*
    - char*
    - u32
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: DumpIntHex
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpIntHex(FILE *trace, const char *attName, u32 val,
      u32 indent, Bool XMTDump, Bool single_byte) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:368,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:371,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:374,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - trace
    - name
    - data
    - dataLength
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - char*
    - u64
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: DumpData
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - StartAttribute
    - EndAttribute
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void DumpData(FILE *trace, const char *name, char *data, u64
      dataLength, u32 indent, Bool XMTDump) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:406,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:409,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:416,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:418,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:414,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:421,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/odf/odf_dump.c:422,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - list
    - trace
    - indent
    - ListName
    - XMTDump
    - tag_only
    argTypes:
    - GF_List*
    - FILE*
    - u32
    - char*
    - Bool
    - u8
    constantsTouched: []
    func_position:
      end: 428
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 428
    functionName: DumpDescListFilter
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - StartElement
    - OD_FORMAT_INDENT
    - EndElement
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err DumpDescListFilter(GF_List *list, FILE *trace, u32 indent,
      const char *ListName, Bool XMTDump, u8 tag_only) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:761,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:764,1
    - Dst: StartElement
      Src: /src/gpac/src/odf/odf_dump.c:775,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:773,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:794,1
    - Dst: strcat
      Src: /src/gpac/src/odf/odf_dump.c:799,1
    - Dst: strcat
      Src: /src/gpac/src/odf/odf_dump.c:800,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:765,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:766,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:767,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:768,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:770,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/odf_dump.c:783,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:787,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/odf_dump.c:779,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:788,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:789,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:806,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:818,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:771,1
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:785,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:790,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:792,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:796,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:797,1
    - Dst: strcat
      Src: /src/gpac/src/odf/odf_dump.c:801,1
    - Dst: strcat
      Src: /src/gpac/src/odf/odf_dump.c:802,1
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_dump.c:803,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:803,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:791,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:793,1
    - Dst: EndDescDump
      Src: /src/gpac/src/odf/odf_dump.c:811,1
    - Dst: DumpIntHex
      Src: /src/gpac/src/odf/odf_dump.c:763,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:769,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:772,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:784,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:777,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:795,1
    - Dst: strcpy
      Src: /src/gpac/src/odf/odf_dump.c:798,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:807,1
    - Dst: EndElement
      Src: /src/gpac/src/odf/odf_dump.c:815,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - desc
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_TextConfig*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 820
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 820
    functionName: gf_odf_dump_txtcfg
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - DumpString
    - gf_list_get
    - strcat
    - gf_fprintf
    - gf_list_count
    - DumpInt
    - DumpIntHex
    - StartElement
    - EndDescDump
    - strcpy
    - OD_FORMAT_INDENT
    - EndElement
    - StartDescDump
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_dump_txtcfg(GF_TextConfig *desc, FILE *trace,
      u32 indent, Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1606,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1608,1
    - Dst: DumpData
      Src: /src/gpac/src/odf/odf_dump.c:1609,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - reg
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_Registration*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1613
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1613
    functionName: gf_odf_dump_reg
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpData
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_reg(GF_Registration *reg, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1655,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1661,1
    - Dst: DumpInt
      Src: /src/gpac/src/odf/odf_dump.c:1657,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1659,1
    - Dst: DumpString
      Src: /src/gpac/src/odf/odf_dump.c:1658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - scid
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_SCIDesc*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1663
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1663
    functionName: gf_odf_dump_sup_cid
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - DumpString
    - EndSubElement
    - DumpInt
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_sup_cid(GF_SCIDesc *scid, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartDescDump
      Src: /src/gpac/src/odf/odf_dump.c:1808,1
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:1813,1
    - Dst: StartAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1810,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1814,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1817,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1818,1
    - Dst: EndAttribute
      Src: /src/gpac/src/odf/odf_dump.c:1821,1
    - Dst: EndSubElement
      Src: /src/gpac/src/odf/odf_dump.c:1823,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:1825,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - com
    - trace
    - indent
    - XMTDump
    argTypes:
    - GF_ODRemove*
    - FILE*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1828
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1828
    functionName: gf_odf_dump_od_remove
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - StartAttribute
    - EndAttribute
    - EndSubElement
    - OD_FORMAT_INDENT
    - StartDescDump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_dump_od_remove(GF_ODRemove *com, FILE *trace, u32 indent,
      Bool XMTDump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_FORMAT_INDENT
      Src: /src/gpac/src/odf/odf_dump.c:227,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/odf/odf_dump.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - trace
    - eltName
    - indent
    - XMTDump
    argTypes:
    - FILE*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: StartSubElement
    functionSourceFile: /src/gpac/src/odf/odf_dump.c
    functionUses: []
    functionsReached:
    - OD_FORMAT_INDENT
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartSubElement(FILE *trace, const char *eltName, u32
      indent, Bool XMTDump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:152,1
    - Dst: memcpy
      Src: /src/gpac/src/odf/ipmpx_parse.c:154,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_parse.c:159,1
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:158,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_parse.c:153,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_parse.c:161,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - val
    - out_data
    - out_data_size
    argTypes:
    - char*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: GF_IPMPX_ParseBinData
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - sscanf
    - memcpy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void GF_IPMPX_ParseBinData(char *val, u8 **out_data, u32 *out_data_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:200,1
    - Dst: strnicmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:200,1
    - Dst: atoi
      Src: /src/gpac/src/odf/ipmpx_parse.c:202,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:204,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/ipmpx_parse.c:203,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:205,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/ipmpx_parse.c:206,1
    - Dst: memcpy
      Src: /src/gpac/src/odf/ipmpx_parse.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - val
    - date
    argTypes:
    - char*
    - GF_IPMPX_Date*
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: GF_IPMPX_ParseDate
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_del
    - gf_bs_new
    - memcpy
    - atoi
    - strnicmp
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'void GF_IPMPX_ParseDate(char *val, GF_IPMPX_Date *date) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:75,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:88,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:91,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:94,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:100,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:117,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:130,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:78,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:81,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:75,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:104,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:127,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:133,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:136,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:85,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:100,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:99,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:104,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:111,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:120,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:123,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:127,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:99,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:100,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:98,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:107,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:110,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:130,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 75
    argCount: 2
    argNames:
    - p
    - fieldName
    argTypes:
    - GF_IPMPX_Data*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 142
    functionName: gf_ipmpx_get_field_type
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_ipmpx_get_field_type(GF_IPMPX_Data *p, char *fieldName) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:36,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:40,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:44,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:46,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:50,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:54,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:58,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:60,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:64,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:35,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:39,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:43,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:45,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:53,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:49,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:57,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:63,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:67,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:38,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:42,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:52,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:48,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:56,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:62,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:66,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:37,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:41,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:47,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:51,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:55,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:59,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:61,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:65,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 1
    argNames:
    - dataName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 69
    functionName: gf_ipmpx_get_tag
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u8
    signature: 'u8 gf_ipmpx_get_tag(char *dataName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:174,1
    - Dst: atoi
      Src: /src/gpac/src/odf/ipmpx_parse.c:178,1
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:176,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:180,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/odf/ipmpx_parse.c:179,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:181,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:182,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_parse.c:183,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/odf/ipmpx_parse.c:184,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - val
    - data
    argTypes:
    - char*
    - bin128*
    constantsTouched: []
    func_position:
      end: 196
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 196
    functionName: GF_IPMPX_ParseBin128
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_del
    - sscanf
    - gf_bs_new
    - atoi
    - strnicmp
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'void GF_IPMPX_ParseBin128(char *val, bin128 *data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:218,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:236,1
    - Dst: strnicmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:235,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - val
    - eventType
    - eventTypeCount
    argTypes:
    - char*
    - GF_IPMPX_ListenType*
    - u8*
    constantsTouched: []
    func_position:
      end: 249
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 249
    functionName: GF_IPMPX_ParseEventType
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - sscanf
    - strlen
    - strnicmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GF_IPMPX_ParseEventType(char *val, GF_IPMPX_ListenType *eventType,
      u8 *eventTypeCount) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_parse.c:255,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:280,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/ipmpx_parse.c:276,1
    - Dst: strlen
      Src: /src/gpac/src/odf/ipmpx_parse.c:258,1
    - Dst: strnicmp
      Src: /src/gpac/src/odf/ipmpx_parse.c:275,1
    - Dst: gf_realloc
      Src: /src/gpac/src/odf/ipmpx_parse.c:287,1
    - Dst: gf_realloc
      Src: /src/gpac/src/odf/ipmpx_parse.c:291,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - val
    - outData
    - outDataSize
    argTypes:
    - char*
    - u16**
    - u16*
    constantsTouched: []
    func_position:
      end: 294
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 294
    functionName: gf_ipmpx_data_parse_16
    functionSourceFile: /src/gpac/src/odf/ipmpx_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - sscanf
    - gf_realloc
    - strnicmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_data_parse_16(char *val, u16 **outData, u16 *outDataSize) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:41,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:45,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:52,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:65,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:40,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:44,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:56,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:43,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:48,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:68,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:71,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:74,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:77,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:42,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:49,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:53,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:59,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:60,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:57,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:54,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:62,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:58,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:55,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:61,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 50
    argCount: 2
    argNames:
    - desc
    - fieldName
    argTypes:
    - GF_Descriptor*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 81
    functionName: gf_odf_get_field_type
    functionSourceFile: /src/gpac/src/odf/odf_parse.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: GF_ODF_FieldType
    signature: 'GF_ODF_FieldType gf_odf_get_field_type(GF_Descriptor *desc, char *fieldName) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:85,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:86,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:90,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:92,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:95,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:98,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:102,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:104,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:111,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:115,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:129,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:87,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:91,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:93,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:99,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:103,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:105,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:112,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:116,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:122,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:126,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:88,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:94,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:96,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:100,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:108,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:109,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:113,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:117,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:119,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:121,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:128,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:123,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:89,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:95,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:101,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:110,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:114,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:118,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:120,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:124,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:125,1
    - Dst: stricmp
      Src: /src/gpac/src/odf/odf_parse.c:127,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 90
    argCount: 1
    argNames:
    - descName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 132
    functionName: gf_odf_get_tag_by_name
    functionSourceFile: /src/gpac/src/odf/odf_parse.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_odf_get_tag_by_name(char *descName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/odf/odf_parse.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/odf_parse.c:141,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/odf_parse.c:143,1
    - Dst: sscanf
      Src: /src/gpac/src/odf/odf_parse.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - val
    - out_data
    - out_data_size
    argTypes:
    - u8*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: OD_ParseBinData
    functionSourceFile: /src/gpac/src/odf/odf_parse.c
    functionUses: []
    functionsReached:
    - sscanf
    - strlen
    - gf_malloc
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void OD_ParseBinData(u8 *val, u8 **out_data, u32 *out_data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: SizeGF_IPMPX_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_GetToolContext(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1174
    functionName: NewGF_IPMPX_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_CanProcess() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1006,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1009,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1007,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: WriteGF_IPMPX_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_GetToolContext(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1178
    functionName: DelGF_IPMPX_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_CanProcess(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: ReadGF_IPMPX_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_DisconnectTool(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1193,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: WriteGF_IPMPX_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_CanProcess(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1297,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1301,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:1299,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1300,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1298,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:1303,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1305,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:1306,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1307,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1308,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:1311,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1313,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1312,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1314
    functionName: DelGF_IPMPX_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - GF_IPMPX_DELETE_ARRAY
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_SelectiveDecryptionInit(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: SizeGF_IPMPX_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_DisconnectTool(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1202
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1202
    functionName: NewGF_IPMPX_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_OpaqueData(u8 tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1323,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1328,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1342,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1336,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1358,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1359,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1360,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1361,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1366,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1372,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1320,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:1331,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1334,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1335,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1346,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1339,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:1355,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1369,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1377,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1321,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1324,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1340,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1349,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1345,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1364,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1365,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1370,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1378,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1322,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1333,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1338,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1352,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1357,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1362,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1368,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1376,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1381
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1381
    functionName: ReadGF_IPMPX_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    - GF_SAFEALLOC
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_SelectiveDecryptionInit(GF_BitStream *bs,
      GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:171,1
    - Dst: write_var_size
      Src: /src/gpac/src/odf/ipmpx_code.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:181,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:180,1
    - Dst: GF_IPMPX_AUTH_Size
      Src: /src/gpac/src/odf/ipmpx_code.c:173,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:183,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:185,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:187,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - auth
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Authentication*
    constantsTouched: []
    func_position:
      end: 201
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 201
    functionName: WriteGF_IPMPX_AUTH
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_WriteByteArray
    - gf_bs_write_data
    - GF_IPMPX_AUTH_Size
    - gf_bs_write_int
    - write_var_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err WriteGF_IPMPX_AUTH(GF_BitStream *bs, GF_IPMPX_Authentication
      *auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:330,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: ReadGF_IPMPX_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_InitAuthentication(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:341,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: WriteGF_IPMPX_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_InitAuthentication(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: NewGF_IPMPX_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ToolParamCapabilitiesResponse() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1206,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    functionName: DelGF_IPMPX_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_OpaqueData(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: SizeGF_IPMPX_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_OpaqueData(GF_IPMPX_Data *_p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1388,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1402,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1389,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1403,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1392,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1413
    functionName: SizeGF_IPMPX_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_SelectiveDecryptionInit(GF_IPMPX_Data *_p) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ReadGF_IPMPX_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_code.c:1982,1
    - Dst: ReadGF_IPMPX_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1986,1
    - Dst: ReadGF_IPMPX_KeyData
      Src: /src/gpac/src/odf/ipmpx_code.c:1980,1
    - Dst: ReadGF_IPMPX_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1984,1
    - Dst: ReadGF_IPMPX_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1988,1
    - Dst: ReadGF_IPMPX_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1990,1
    - Dst: ReadGF_IPMPX_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_code.c:1992,1
    - Dst: ReadGF_IPMPX_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_code.c:1994,1
    - Dst: ReadGF_IPMPX_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1996,1
    - Dst: ReadGF_IPMPX_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2002,1
    - Dst: ReadGF_IPMPX_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_code.c:2000,1
    - Dst: ReadGF_IPMPX_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2006,1
    - Dst: ReadGF_IPMPX_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1998,1
    - Dst: ReadGF_IPMPX_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_code.c:1978,1
    - Dst: ReadGF_IPMPX_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_code.c:2014,1
    - Dst: ReadGF_IPMPX_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_code.c:2012,1
    - Dst: ReadGF_IPMPX_CanProcess
      Src: /src/gpac/src/odf/ipmpx_code.c:2010,1
    - Dst: ReadGF_IPMPX_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_code.c:2008,1
    - Dst: ReadGF_IPMPX_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2004,1
    - Dst: ReadGF_IPMPX_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_code.c:2016,1
    - Dst: ReadGF_IPMPX_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2018,1
    - Dst: ReadGF_IPMPX_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2021,1
    - Dst: ReadGF_IPMPX_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_code.c:2024,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 25
    argCount: 3
    argNames:
    - bs
    - _p
    - read
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 2035
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 2035
    functionName: GF_IPMPX_ReadData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - ReadGF_IPMPX_ToolParamCapabilitiesQuery
    - ReadGF_IPMPX_GetToolContextResponse
    - ReadGF_IPMPX_NotifyToolEvent
    - ReadGF_IPMPX_OpaqueData
    - ReadGF_IPMPX_RemoveToolNotificationListener
    - ReadGF_IPMPX_SecureContainer
    - ReadGF_IPMPX_KeyData
    - ReadGF_IPMPX_MutualAuthentication
    - ReadGF_IPMPX_SelectiveDecryptionInit
    - ReadGF_IPMPX_SendWatermark
    - ReadGF_IPMPX_AddToolNotificationListener
    - ReadGF_IPMPX_ConnectTool
    - ReadGF_IPMPX_InitAuthentication
    - ReadGF_IPMPX_CanProcess
    - ReadGF_IPMPX_WatermarkingInit
    - ReadGF_IPMPX_ToolParamCapabilitiesResponse
    - ReadGF_IPMPX_DisconnectTool
    - ReadGF_IPMPX_ToolAPI_Config
    - ReadGF_IPMPX_GetToolsResponse
    - ReadGF_IPMPX_GetToolContext
    - ReadGF_IPMPX_TrustSecurityMetadata
    - ReadGF_IPMPX_ParametricDescription
    - ReadGF_IPMPX_ISMACryp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GF_IPMPX_ReadData(GF_BitStream *bs, GF_IPMPX_Data *_p, u32
      read) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:207,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:225,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:210,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:221,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:226,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:235,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:238,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:239,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:241,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:243,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - bs
    - auth
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Authentication**
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: GF_IPMPX_AUTH_Parse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    - GF_SAFEALLOC
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GF_IPMPX_AUTH_Parse(GF_BitStream *bs, GF_IPMPX_Authentication
      **auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: SizeGF_IPMPX_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_InitAuthentication(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:350,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:351,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:353,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: NewGF_IPMPX_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_MutualAuthentication() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: DelGF_IPMPX_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ToolParamCapabilitiesResponse(GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1214
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1214
    functionName: ReadGF_IPMPX_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_OpaqueData(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1225
    functionName: WriteGF_IPMPX_OpaqueData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_OpaqueData(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1420,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1424,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1440,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1441,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1446,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1447,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1449,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1450,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1453,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1462,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1464,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1419,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1433,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1437,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1443,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1451,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1452,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1457,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1422,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1428,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1444,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1436,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1435,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1454,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1455,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1458,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1459,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1421,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1427,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1429,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1430,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1431,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1461,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1469
    functionName: WriteGF_IPMPX_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_IPMPX_WriteByteArray
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_SelectiveDecryptionInit(GF_BitStream *bs,
      GF_IPMPX_Data *_p) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SizeGF_IPMPX_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_code.c:2046,1
    - Dst: SizeGF_IPMPX_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:2054,1
    - Dst: SizeGF_IPMPX_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_code.c:2058,1
    - Dst: SizeGF_IPMPX_CanProcess
      Src: /src/gpac/src/odf/ipmpx_code.c:2074,1
    - Dst: SizeGF_IPMPX_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2066,1
    - Dst: SizeGF_IPMPX_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2082,1
    - Dst: SizeGF_IPMPX_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_code.c:2088,1
    - Dst: SizeGF_IPMPX_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:2048,1
    - Dst: SizeGF_IPMPX_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2060,1
    - Dst: SizeGF_IPMPX_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2068,1
    - Dst: SizeGF_IPMPX_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_code.c:2076,1
    - Dst: SizeGF_IPMPX_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_code.c:2042,1
    - Dst: SizeGF_IPMPX_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:2050,1
    - Dst: SizeGF_IPMPX_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2070,1
    - Dst: SizeGF_IPMPX_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_code.c:2078,1
    - Dst: SizeGF_IPMPX_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2062,1
    - Dst: SizeGF_IPMPX_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2085,1
    - Dst: SizeGF_IPMPX_KeyData
      Src: /src/gpac/src/odf/ipmpx_code.c:2044,1
    - Dst: SizeGF_IPMPX_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:2052,1
    - Dst: SizeGF_IPMPX_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_code.c:2056,1
    - Dst: SizeGF_IPMPX_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_code.c:2064,1
    - Dst: SizeGF_IPMPX_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_code.c:2072,1
    - Dst: SizeGF_IPMPX_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_code.c:2080,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 25
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 2099
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2099
    functionName: gf_ipmpx_data_size
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - SizeGF_IPMPX_AddToolNotificationListener
    - SizeGF_IPMPX_RemoveToolNotificationListener
    - SizeGF_IPMPX_ToolAPI_Config
    - SizeGF_IPMPX_OpaqueData
    - SizeGF_IPMPX_MutualAuthentication
    - SizeGF_IPMPX_SelectiveDecryptionInit
    - SizeGF_IPMPX_DisconnectTool
    - SizeGF_IPMPX_ConnectTool
    - SizeGF_IPMPX_InitAuthentication
    - SizeGF_IPMPX_CanProcess
    - SizeGF_IPMPX_WatermarkingInit
    - SizeGF_IPMPX_GetToolContext
    - SizeGF_IPMPX_KeyData
    - SizeGF_IPMPX_ParametricDescription
    - SizeGF_IPMPX_ToolParamCapabilitiesResponse
    - SizeGF_IPMPX_SendWatermark
    - SizeGF_IPMPX_ISMACryp
    - SizeGF_IPMPX_NotifyToolEvent
    - SizeGF_IPMPX_GetToolContextResponse
    - SizeGF_IPMPX_ToolParamCapabilitiesQuery
    - SizeGF_IPMPX_GetToolsResponse
    - SizeGF_IPMPX_TrustSecurityMetadata
    - SizeGF_IPMPX_SecureContainer
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_ipmpx_data_size(GF_IPMPX_Data *_p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:278,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:291,1
    - Dst: gf_ipmpx_data_new
      Src: /src/gpac/src/odf/ipmpx_code.c:288,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:290,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:281,1
    - Dst: GF_IPMPX_ReadData
      Src: /src/gpac/src/odf/ipmpx_code.c:292,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/ipmpx_code.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - bs
    - out_data
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data**
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: gf_ipmpx_data_parse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_del
    - gf_bs_read_int
    - gf_ipmpx_data_new
    - GF_IPMPX_ReadData
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_data_parse(GF_BitStream *bs, GF_IPMPX_Data **out_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:683,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:685,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:684,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:686,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:688,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:689,1
    - Dst: gf_ipmpx_data_parse
      Src: /src/gpac/src/odf/ipmpx_code.c:691,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:693,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 696
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 696
    functionName: ReadGF_IPMPX_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    - gf_ipmpx_data_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_SecureContainer(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:740,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:743,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:742,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/ipmpx_code.c:744,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:746,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: DelGF_IPMPX_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_GetToolsResponse(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: DelGF_IPMPX_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_NotifyToolEvent(GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_size
      Src: /src/gpac/src/odf/ipmpx_code.c:306,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:310,1
    - Dst: write_var_size
      Src: /src/gpac/src/odf/ipmpx_code.c:309,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:308,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: GF_IPMPX_WriteBase
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_ipmpx_data_size
    - write_var_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err GF_IPMPX_WriteBase(GF_BitStream *bs, GF_IPMPX_Data *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:703,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:707,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:704,1
    - Dst: gf_ipmpx_data_full_size
      Src: /src/gpac/src/odf/ipmpx_code.c:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 710
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 710
    functionName: SizeGF_IPMPX_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    - gf_ipmpx_data_full_size
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_SecureContainer(GF_IPMPX_Data *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/ipmpx_code.c:757,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/odf/ipmpx_code.c:761,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:760,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/ipmpx_code.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 765
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 765
    functionName: ReadGF_IPMPX_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_list_add
    - gf_odf_parse_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_GetToolsResponse(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1142,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1143,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1144,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1146,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1149
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1149
    functionName: ReadGF_IPMPX_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_NotifyToolEvent(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/ipmpx_code.c:871,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 873
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 873
    functionName: DelGF_IPMPX_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/odf/ipmpx_code.c:927,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: DelGF_IPMPX_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ConnectTool(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor
      Src: /src/gpac/src/odf/ipmpx_code.c:940,1
    - Dst: gf_odf_size_field_size
      Src: /src/gpac/src/odf/ipmpx_code.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 943
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 943
    functionName: SizeGF_IPMPX_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_field_size
    - gf_odf_size_descriptor
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ConnectTool(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: NewGF_IPMPX_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_RemoveToolNotificationListener() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1475
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1475
    functionName: NewGF_IPMPX_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_WatermarkingInit(u8 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_size
      Src: /src/gpac/src/odf/ipmpx_code.c:263,1
    - Dst: get_field_size
      Src: /src/gpac/src/odf/ipmpx_code.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: gf_ipmpx_data_full_size
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_size
    - get_field_size
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_ipmpx_data_full_size(GF_IPMPX_Data *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_parse
      Src: /src/gpac/src/odf/ipmpx_code.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: ReadGF_IPMPX_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ToolParamCapabilitiesQuery(GF_BitStream
      *bs, GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/odf/ipmpx_code.c:934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: ReadGF_IPMPX_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_parse_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ConnectTool(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/ipmpx_code.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 949
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 949
    functionName: WriteGF_IPMPX_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ConnectTool(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: DelGF_IPMPX_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_RemoveToolNotificationListener(GF_IPMPX_Data
      *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1479,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1480,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1482
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1482
    functionName: DelGF_IPMPX_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_WatermarkingInit(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_full_size
      Src: /src/gpac/src/odf/ipmpx_code.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: SizeGF_IPMPX_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_full_size
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:913,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 916
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 916
    functionName: WriteGF_IPMPX_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ToolParamCapabilitiesResponse(GF_BitStream
      *bs, GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1026,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1028,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1029,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1027,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1032
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1032
    functionName: ReadGF_IPMPX_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_GetToolContextResponse(GF_BitStream *bs,
      GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: NewGF_IPMPX_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_KeyData() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1488,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1491,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1489,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1494,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1495,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1496,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1498,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1499,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1500,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1506,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1508,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1517,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1507,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1512,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1518,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1516,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1521
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1521
    functionName: ReadGF_IPMPX_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_WatermarkingInit(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1586,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1588,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1589
    functionName: DelGF_IPMPX_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_SendWatermark(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ipmpx_data_write
      Src: /src/gpac/src/odf/ipmpx_code.c:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: WriteGF_IPMPX_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_write
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ToolParamCapabilitiesQuery(GF_BitStream
      *bs, GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: NewGF_IPMPX_ConnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ConnectTool() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1037
    functionName: SizeGF_IPMPX_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_GetToolContextResponse(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1235,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1236,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1238
    functionName: DelGF_IPMPX_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_KeyData(GF_IPMPX_Data *_p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1540
    functionName: SizeGF_IPMPX_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_WatermarkingInit(GF_IPMPX_Data *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1594,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1598,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1595,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1597,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1596,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1601
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1601
    functionName: ReadGF_IPMPX_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_SendWatermark(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:83,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:89,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:88,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: GF_IPMPX_GetByteArray
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_IPMPX_ByteArray*
    signature: 'GF_IPMPX_ByteArray *GF_IPMPX_GetByteArray(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:623,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:627,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:629,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:626,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 634
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 634
    functionName: SizeGF_IPMPX_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_TrustSecurityMetadata(GF_IPMPX_Data *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1661,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1665,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1663,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1664,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1662,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1668
    functionName: WriteGF_IPMPX_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ToolAPI_Config(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_field_size
      Src: /src/gpac/src/odf/ipmpx_code.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ba
    argTypes:
    - GF_IPMPX_ByteArray*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: GF_IPMPX_GetByteArraySize
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - get_field_size
    linkageType: ''
    returnType: u32
    signature: 'u32 GF_IPMPX_GetByteArraySize(GF_IPMPX_ByteArray *ba) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:640,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:645,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:641,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:643,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:646,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:647,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:650,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:651,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:652,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:658,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:657,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:656,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:655,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:653,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 663
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 663
    functionName: WriteGF_IPMPX_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_IPMPX_WriteByteArray
    - gf_list_count
    - gf_bs_write_data
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_TrustSecurityMetadata(GF_BitStream *bs,
      GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1675
    functionName: NewGF_IPMPX_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ISMACryp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: NewGF_IPMPX_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_GetToolContextResponse() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:393,1
    - Dst: GF_IPMPX_AUTH_Parse
      Src: /src/gpac/src/odf/ipmpx_code.c:430,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:423,1
    - Dst: GF_IPMPX_AUTH_Parse
      Src: /src/gpac/src/odf/ipmpx_code.c:411,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:434,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:404,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:419,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:422,1
    - Dst: gf_ipmpx_data_parse
      Src: /src/gpac/src/odf/ipmpx_code.c:439,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:395,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:392,1
    - Dst: GF_IPMPX_AUTH_Parse
      Src: /src/gpac/src/odf/ipmpx_code.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:426,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:391,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:394,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:396,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:399,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:413,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:425,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:441,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 444
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 444
    functionName: ReadGF_IPMPX_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    - gf_ipmpx_data_parse
    - GF_IPMPX_AUTH_Parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_MutualAuthentication(GF_BitStream *bs,
      GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1545,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1547,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1551,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1546,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1548,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1552,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1553,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1555,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1556,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1557,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1563,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1564,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1568,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:1573,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1572,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1576
    functionName: WriteGF_IPMPX_WatermarkingInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_WatermarkingInit(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: NewGF_IPMPX_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_code.c:1711,1
    - Dst: NewGF_IPMPX_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1719,1
    - Dst: NewGF_IPMPX_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_code.c:1727,1
    - Dst: NewGF_IPMPX_CanProcess
      Src: /src/gpac/src/odf/ipmpx_code.c:1743,1
    - Dst: NewGF_IPMPX_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1735,1
    - Dst: NewGF_IPMPX_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_code.c:1747,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:1758,1
    - Dst: NewGF_IPMPX_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_code.c:1773,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1805,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:1807,1
    - Dst: NewGF_IPMPX_KeyData
      Src: /src/gpac/src/odf/ipmpx_code.c:1713,1
    - Dst: NewGF_IPMPX_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1721,1
    - Dst: NewGF_IPMPX_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1729,1
    - Dst: NewGF_IPMPX_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:1737,1
    - Dst: NewGF_IPMPX_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_code.c:1745,1
    - Dst: NewGF_IPMPX_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_code.c:1768,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1780,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:1782,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1797,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:1799,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:1815,1
    - Dst: NewGF_IPMPX_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_code.c:1715,1
    - Dst: NewGF_IPMPX_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1723,1
    - Dst: NewGF_IPMPX_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:1739,1
    - Dst: NewGF_IPMPX_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1731,1
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1751,1
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1764,1
    - Dst: NewGF_IPMPX_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_code.c:1770,1
    - Dst: NewGF_IPMPX_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_code.c:1776,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1788,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:1790,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:1813,1
    - Dst: NewGF_IPMPX_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1717,1
    - Dst: NewGF_IPMPX_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_code.c:1725,1
    - Dst: NewGF_IPMPX_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_code.c:1733,1
    - Dst: NewGF_IPMPX_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_code.c:1741,1
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1757,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 58
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1828
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1828
    functionName: gf_ipmpx_data_new
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - NewGF_IPMPX_ToolParamCapabilitiesQuery
    - gf_malloc
    - NewGF_IPMPX_DisconnectTool
    - NewGF_IPMPX_CanProcess
    - memset
    - NewGF_IPMPX_OpaqueData
    - NewGF_IPMPX_WatermarkingInit
    - NewGF_IPMPX_MutualAuthentication
    - NewGF_IPMPX_InitAuthentication
    - NewGF_IPMPX_KeyData
    - gf_list_new
    - NewGF_IPMPX_RemoveToolNotificationListener
    - NewGF_IPMPX_GetToolsResponse
    - NewGF_IPMPX_ConnectTool
    - NewGF_IPMPX_ToolAPI_Config
    - NewGF_IPMPX_SelectiveDecryptionInit
    - NewGF_IPMPX_SendWatermark
    - NewGF_IPMPX_ISMACryp
    - NewGF_IPMPX_ParametricDescription
    - NewGF_IPMPX_ToolParamCapabilitiesResponse
    - NewGF_IPMPX_GetToolContext
    - NewGF_IPMPX_GetToolContextResponse
    - GF_IPMPX_DATA_ALLOC
    - NewGF_IPMPX_NotifyToolEvent
    - NewGF_IPMPX_TrustSecurityMetadata
    - NewGF_IPMPX_SecureContainer
    - NewGF_IPMPX_AddToolNotificationListener
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'GF_IPMPX_Data *gf_ipmpx_data_new(u8 tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:450,1
    - Dst: GF_IPMPX_AUTH_FullSize
      Src: /src/gpac/src/odf/ipmpx_code.c:455,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:462,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:458,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:454,1
    - Dst: GF_IPMPX_AUTH_FullSize
      Src: /src/gpac/src/odf/ipmpx_code.c:463,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:466,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:475,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:476,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:485,1
    - Dst: GF_IPMPX_AUTH_FullSize
      Src: /src/gpac/src/odf/ipmpx_code.c:481,1
    - Dst: gf_ipmpx_data_full_size
      Src: /src/gpac/src/odf/ipmpx_code.c:487,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 491
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 491
    functionName: SizeGF_IPMPX_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_IPMPX_AUTH_FullSize
    - GF_IPMPX_GetByteArraySize
    - gf_list_count
    - gf_ipmpx_data_full_size
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_MutualAuthentication(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1021
    functionName: DelGF_IPMPX_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_GetToolContextResponse(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1582
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1582
    functionName: NewGF_IPMPX_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_SendWatermark(u8 tag) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: DelGF_IPMPX_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_code.c:1836,1
    - Dst: DelGF_IPMPX_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1848,1
    - Dst: DelGF_IPMPX_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_code.c:1842,1
    - Dst: DelGF_IPMPX_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_code.c:1857,1
    - Dst: DelGF_IPMPX_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1863,1
    - Dst: DelGF_IPMPX_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_code.c:1869,1
    - Dst: DelGF_IPMPX_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:1875,1
    - Dst: DelGF_IPMPX_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_code.c:1881,1
    - Dst: DelGF_IPMPX_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_code.c:1887,1
    - Dst: DelGF_IPMPX_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_code.c:1893,1
    - Dst: DelGF_IPMPX_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_code.c:1904,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:1914,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1968,1
    - Dst: DelGF_IPMPX_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_code.c:1896,1
    - Dst: DelGF_IPMPX_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_code.c:1900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:1915,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1926,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1927,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1933,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1938,1
    - Dst: GF_IPMPX_AUTH_Delete
      Src: /src/gpac/src/odf/ipmpx_code.c:1947,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1920,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1962,1
    - Dst: DelGF_IPMPX_KeyData
      Src: /src/gpac/src/odf/ipmpx_code.c:1839,1
    - Dst: DelGF_IPMPX_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:1845,1
    - Dst: DelGF_IPMPX_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1851,1
    - Dst: DelGF_IPMPX_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:1854,1
    - Dst: DelGF_IPMPX_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_code.c:1860,1
    - Dst: DelGF_IPMPX_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1866,1
    - Dst: DelGF_IPMPX_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:1872,1
    - Dst: DelGF_IPMPX_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:1878,1
    - Dst: DelGF_IPMPX_CanProcess
      Src: /src/gpac/src/odf/ipmpx_code.c:1884,1
    - Dst: DelGF_IPMPX_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_code.c:1890,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/ipmpx_code.c:1917,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:1919,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1934,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1935,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1936,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1937,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1953,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1954,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1960,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1961,1
    - Dst: GF_IPMPX_AUTH_Delete
      Src: /src/gpac/src/odf/ipmpx_code.c:1943,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:1916,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 56
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1971
    functionName: gf_ipmpx_data_del
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - DelGF_IPMPX_RemoveToolNotificationListener
    - DelGF_IPMPX_ISMACryp
    - DelGF_IPMPX_ToolParamCapabilitiesQuery
    - DelGF_IPMPX_WatermarkingInit
    - DelGF_IPMPX_GetToolContext
    - DelGF_IPMPX_AddToolNotificationListener
    - DelGF_IPMPX_KeyData
    - DelGF_IPMPX_ToolAPI_Config
    - gf_list_del
    - DelGF_IPMPX_ConnectTool
    - gf_list_count
    - DelGF_IPMPX_GetToolContextResponse
    - DelGF_IPMPX_TrustSecurityMetadata
    - DelGF_IPMPX_GetToolsResponse
    - DelGF_IPMPX_NotifyToolEvent
    - DelGF_IPMPX_OpaqueData
    - gf_list_get
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    - DelGF_IPMPX_MutualAuthentication
    - DelGF_IPMPX_DisconnectTool
    - DelGF_IPMPX_ToolParamCapabilitiesResponse
    - DelGF_IPMPX_SendWatermark
    - DelGF_IPMPX_SelectiveDecryptionInit
    - DelGF_IPMPX_InitAuthentication
    - DelGF_IPMPX_ParametricDescription
    - DelGF_IPMPX_SecureContainer
    - GF_IPMPX_AUTH_Delete
    - gf_list_rem
    - DelGF_IPMPX_CanProcess
    - gf_ipmpx_data_del
    linkageType: ''
    returnType: void
    signature: 'void gf_ipmpx_data_del(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:360,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:364,1
    - Dst: GF_IPMPX_AUTH_Delete
      Src: /src/gpac/src/odf/ipmpx_code.c:362,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - algos
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: delete_algo_list
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_AUTH_Delete
    - gf_list_count
    - gf_list_get
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void delete_algo_list(GF_List *algos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:715,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:717,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:716,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:720,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:718,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:721,1
    - Dst: gf_ipmpx_data_write
      Src: /src/gpac/src/odf/ipmpx_code.c:723,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:725,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 728
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 728
    functionName: WriteGF_IPMPX_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_ipmpx_data_write
    - gf_bs_write_int
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_SecureContainer(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:811,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:812,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:813,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:814,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:816,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:817,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:819,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:820,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:821,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:822,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 826
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 826
    functionName: ReadGF_IPMPX_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - GF_IPMPX_GetByteArray
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ParametricDescription(GF_BitStream *bs,
      GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: DelGF_IPMPX_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_AddToolNotificationListener(GF_IPMPX_Data
      *_p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1242,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1247,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1245,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1244,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1246,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1248,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1249,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1250,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1251,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1252,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1255
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1255
    functionName: ReadGF_IPMPX_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - GF_IPMPX_GetByteArray
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_KeyData(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_algo_list
      Src: /src/gpac/src/odf/ipmpx_code.c:369,1
    - Dst: delete_algo_list
      Src: /src/gpac/src/odf/ipmpx_code.c:370,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:372,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:371,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:373,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/ipmpx_code.c:374,1
    - Dst: GF_IPMPX_AUTH_Delete
      Src: /src/gpac/src/odf/ipmpx_code.c:375,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:376,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:377,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:378,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:382,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 383
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 383
    functionName: DelGF_IPMPX_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - delete_algo_list
    - gf_list_del
    - gf_list_count
    - GF_IPMPX_AUTH_Delete
    - GF_IPMPX_DELETE_ARRAY
    - gf_list_rem
    - gf_free
    - gf_ipmpx_data_del
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_MutualAuthentication(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:733,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: NewGF_IPMPX_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_GetToolsResponse() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:831,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:833,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:834,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:835,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:836,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:837,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:838,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 842
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 842
    functionName: SizeGF_IPMPX_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ParametricDescription(GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1064,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/odf/ipmpx_code.c:1067,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1066,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1069,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1071
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1071
    functionName: ReadGF_IPMPX_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_AddToolNotificationListener(GF_BitStream
      *bs, GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1260,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1268
    functionName: SizeGF_IPMPX_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_KeyData(GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_var_size
      Src: /src/gpac/src/odf/ipmpx_code.c:104,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/odf/ipmpx_code.c:107,1
    - Dst: write_var_size
      Src: /src/gpac/src/odf/ipmpx_code.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - ba
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_ByteArray*
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: GF_IPMPX_WriteByteArray
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - write_var_size
    linkageType: ''
    returnType: void
    signature: 'void GF_IPMPX_WriteByteArray(GF_BitStream *bs, GF_IPMPX_ByteArray
      *ba) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:141,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - auth
    argTypes:
    - GF_IPMPX_Authentication*
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: GF_IPMPX_AUTH_Size
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    linkageType: ''
    returnType: u32
    signature: 'u32 GF_IPMPX_AUTH_Size(GF_IPMPX_Authentication *auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 975
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 975
    functionName: WriteGF_IPMPX_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_DisconnectTool(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1103,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/odf/ipmpx_code.c:1104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1110
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1110
    functionName: ReadGF_IPMPX_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_RemoveToolNotificationListener(GF_BitStream
      *bs, GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1272,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1275,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1276,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1273,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1274,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1277,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1278,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1279,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1280,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1281,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1284
    functionName: WriteGF_IPMPX_KeyData
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_KeyData(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1680
    functionName: DelGF_IPMPX_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ISMACryp(GF_IPMPX_Data *_p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:118,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:119,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:127,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:126,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - auth
    argTypes:
    - GF_IPMPX_Authentication*
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: GF_IPMPX_AUTH_Delete
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void GF_IPMPX_AUTH_Delete(GF_IPMPX_Authentication *auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_AUTH_Size
      Src: /src/gpac/src/odf/ipmpx_code.c:160,1
    - Dst: get_field_size
      Src: /src/gpac/src/odf/ipmpx_code.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - auth
    argTypes:
    - GF_IPMPX_Authentication*
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: GF_IPMPX_AUTH_FullSize
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_AUTH_Size
    - get_field_size
    linkageType: ''
    returnType: u32
    signature: 'u32 GF_IPMPX_AUTH_FullSize(GF_IPMPX_Authentication *auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 982
    functionName: NewGF_IPMPX_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_GetToolContext() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: SizeGF_IPMPX_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_RemoveToolNotificationListener(GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1289,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:1290,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1293
    functionName: NewGF_IPMPX_SelectiveDecryptionInit
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_SelectiveDecryptionInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1684,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1688,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1685,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1687,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1690
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1690
    functionName: ReadGF_IPMPX_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ISMACryp(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_WriteBase
      Src: /src/gpac/src/odf/ipmpx_code.c:2105,1
    - Dst: WriteGF_IPMPX_SecureContainer
      Src: /src/gpac/src/odf/ipmpx_code.c:2114,1
    - Dst: WriteGF_IPMPX_MutualAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:2122,1
    - Dst: WriteGF_IPMPX_GetToolsResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2130,1
    - Dst: WriteGF_IPMPX_DisconnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2138,1
    - Dst: WriteGF_IPMPX_ToolAPI_Config
      Src: /src/gpac/src/odf/ipmpx_code.c:2146,1
    - Dst: WriteGF_IPMPX_SelectiveDecryptionInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2150,1
    - Dst: WriteGF_IPMPX_WatermarkingInit
      Src: /src/gpac/src/odf/ipmpx_code.c:2153,1
    - Dst: WriteGF_IPMPX_SendWatermark
      Src: /src/gpac/src/odf/ipmpx_code.c:2156,1
    - Dst: WriteGF_IPMPX_KeyData
      Src: /src/gpac/src/odf/ipmpx_code.c:2112,1
    - Dst: WriteGF_IPMPX_InitAuthentication
      Src: /src/gpac/src/odf/ipmpx_code.c:2120,1
    - Dst: WriteGF_IPMPX_TrustSecurityMetadata
      Src: /src/gpac/src/odf/ipmpx_code.c:2144,1
    - Dst: WriteGF_IPMPX_ConnectTool
      Src: /src/gpac/src/odf/ipmpx_code.c:2136,1
    - Dst: WriteGF_IPMPX_ToolParamCapabilitiesResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2128,1
    - Dst: WriteGF_IPMPX_ISMACryp
      Src: /src/gpac/src/odf/ipmpx_code.c:2148,1
    - Dst: WriteGF_IPMPX_OpaqueData
      Src: /src/gpac/src/odf/ipmpx_code.c:2110,1
    - Dst: WriteGF_IPMPX_RemoveToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:2118,1
    - Dst: WriteGF_IPMPX_ToolParamCapabilitiesQuery
      Src: /src/gpac/src/odf/ipmpx_code.c:2126,1
    - Dst: WriteGF_IPMPX_GetToolContextResponse
      Src: /src/gpac/src/odf/ipmpx_code.c:2134,1
    - Dst: WriteGF_IPMPX_CanProcess
      Src: /src/gpac/src/odf/ipmpx_code.c:2142,1
    - Dst: WriteGF_IPMPX_AddToolNotificationListener
      Src: /src/gpac/src/odf/ipmpx_code.c:2116,1
    - Dst: WriteGF_IPMPX_ParametricDescription
      Src: /src/gpac/src/odf/ipmpx_code.c:2124,1
    - Dst: WriteGF_IPMPX_GetToolContext
      Src: /src/gpac/src/odf/ipmpx_code.c:2132,1
    - Dst: WriteGF_IPMPX_NotifyToolEvent
      Src: /src/gpac/src/odf/ipmpx_code.c:2140,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 28
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 2167
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2167
    functionName: gf_ipmpx_data_write
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - WriteGF_IPMPX_SelectiveDecryptionInit
    - WriteGF_IPMPX_ToolParamCapabilitiesQuery
    - WriteGF_IPMPX_TrustSecurityMetadata
    - WriteGF_IPMPX_GetToolContextResponse
    - WriteGF_IPMPX_SecureContainer
    - WriteGF_IPMPX_KeyData
    - WriteGF_IPMPX_CanProcess
    - WriteGF_IPMPX_RemoveToolNotificationListener
    - WriteGF_IPMPX_GetToolContext
    - WriteGF_IPMPX_ISMACryp
    - WriteGF_IPMPX_ToolAPI_Config
    - WriteGF_IPMPX_DisconnectTool
    - WriteGF_IPMPX_MutualAuthentication
    - WriteGF_IPMPX_NotifyToolEvent
    - WriteGF_IPMPX_OpaqueData
    - GF_IPMPX_WriteBase
    - WriteGF_IPMPX_ToolParamCapabilitiesResponse
    - WriteGF_IPMPX_AddToolNotificationListener
    - WriteGF_IPMPX_SendWatermark
    - WriteGF_IPMPX_ParametricDescription
    - WriteGF_IPMPX_InitAuthentication
    - WriteGF_IPMPX_GetToolsResponse
    - WriteGF_IPMPX_WatermarkingInit
    - WriteGF_IPMPX_ConnectTool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ipmpx_data_write(GF_BitStream *bs, GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:786,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: NewGF_IPMPX_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ParametricDescription() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - size_desc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: get_field_size
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 get_field_size(u32 size_desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1120,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: WriteGF_IPMPX_RemoveToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_RemoveToolNotificationListener(GF_BitStream
      *bs, GF_IPMPX_Data *_p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:61,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:63,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:66,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:64,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:67,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:68,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:70,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:71,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:72,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - bs
    - size
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: write_var_size
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'void write_var_size(GF_BitStream *bs, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:793,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:797,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:796,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:794,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:798,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:799,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:800,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:801,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:802,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:805,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 806
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 806
    functionName: DelGF_IPMPX_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - GF_IPMPX_DELETE_ARRAY
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ParametricDescription(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1130
    functionName: NewGF_IPMPX_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_NotifyToolEvent() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:565,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:569,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:567,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:566,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:568,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/odf/ipmpx_code.c:570,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:571,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:572,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:574,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:575,1
    - Dst: gf_list_del
      Src: /src/gpac/src/odf/ipmpx_code.c:577,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 579
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 579
    functionName: DelGF_IPMPX_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - GF_IPMPX_DELETE_ARRAY
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_TrustSecurityMetadata(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:847,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:849,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:850,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:850,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:848,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:852,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:853,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:854,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:855,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:856,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:857,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 861
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 861
    functionName: WriteGF_IPMPX_ParametricDescription
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_bs_write_int
    - gf_list_get
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ParametricDescription(GF_BitStream *bs,
      GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1629
    functionName: NewGF_IPMPX_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ToolAPI_Config() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1640,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1641,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1643,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1644,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1647
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1647
    functionName: ReadGF_IPMPX_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ToolAPI_Config(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1694
    functionName: SizeGF_IPMPX_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ISMACryp(GF_IPMPX_Data *_p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:584,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:588,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:591,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:586,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:592,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:593,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:594,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:595,1
    - Dst: gf_malloc
      Src: /src/gpac/src/odf/ipmpx_code.c:598,1
    - Dst: memset
      Src: /src/gpac/src/odf/ipmpx_code.c:600,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/odf/ipmpx_code.c:609,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:604,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:610,1
    - Dst: gf_list_add
      Src: /src/gpac/src/odf/ipmpx_code.c:603,1
    - Dst: GF_IPMPX_GetByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:607,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:612,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:605,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 617
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 617
    functionName: ReadGF_IPMPX_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_list_new
    - gf_bs_read_int
    - GF_IPMPX_GetByteArray
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_TrustSecurityMetadata(GF_BitStream *bs,
      GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: NewGF_IPMPX_ToolParamCapabilitiesQuery
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_ToolParamCapabilitiesQuery() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:1633,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:1634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1635
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1635
    functionName: DelGF_IPMPX_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_ToolAPI_Config(GF_IPMPX_Data *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1657
    functionName: SizeGF_IPMPX_ToolAPI_Config
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ToolAPI_Config(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1698,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1701,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1702,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1699,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1704
    functionName: WriteGF_IPMPX_ISMACryp
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_ISMACryp(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1607,1
    - Dst: GF_IPMPX_GetByteArraySize
      Src: /src/gpac/src/odf/ipmpx_code.c:1608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1610
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1610
    functionName: SizeGF_IPMPX_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_GetByteArraySize
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_SendWatermark(GF_IPMPX_Data *_p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1615,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1616,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1618,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1619,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1617,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:1620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1622
    functionName: WriteGF_IPMPX_SendWatermark
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - GF_IPMPX_WriteByteArray
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_SendWatermark(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1154
    functionName: SizeGF_IPMPX_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_NotifyToolEvent(GF_IPMPX_Data *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1158,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1163,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1161,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1159,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1162,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1165,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1168
    functionName: WriteGF_IPMPX_NotifyToolEvent
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_NotifyToolEvent(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: DelGF_IPMPX_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_GetToolContext(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: NewGF_IPMPX_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_DisconnectTool() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: NewGF_IPMPX_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_InitAuthentication() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_descriptor_list
      Src: /src/gpac/src/odf/ipmpx_code.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: SizeGF_IPMPX_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_size_descriptor_list
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_GetToolsResponse(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: DelGF_IPMPX_DisconnectTool
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_DisconnectTool(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: DelGF_IPMPX_InitAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_InitAuthentication(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:777,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/odf/ipmpx_code.c:779,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:778,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: WriteGF_IPMPX_GetToolsResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_odf_write_descriptor
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_GetToolsResponse(GF_BitStream *bs, GF_IPMPX_Data
      *_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:991,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:993,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:992,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 997
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 997
    functionName: ReadGF_IPMPX_GetToolContext
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_GetToolContext(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1041,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1043,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1042,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1044,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1047
    functionName: WriteGF_IPMPX_GetToolContextResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_GetToolContextResponse(GF_BitStream *bs,
      GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:902,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: ReadGF_IPMPX_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_ToolParamCapabilitiesResponse(GF_BitStream
      *bs, GF_IPMPX_Data *_p, u32 size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:498,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:499,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:500,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:501,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:506,1
    - Dst: WriteGF_IPMPX_AUTH
      Src: /src/gpac/src/odf/ipmpx_code.c:521,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:508,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:524,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:541,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:547,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:518,1
    - Dst: WriteGF_IPMPX_AUTH
      Src: /src/gpac/src/odf/ipmpx_code.c:513,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:536,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:497,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:510,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:520,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:530,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:533,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:535,1
    - Dst: WriteGF_IPMPX_AUTH
      Src: /src/gpac/src/odf/ipmpx_code.c:542,1
    - Dst: GF_IPMPX_WriteByteArray
      Src: /src/gpac/src/odf/ipmpx_code.c:550,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:497,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:498,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:502,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/odf/ipmpx_code.c:512,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:516,1
    - Dst: gf_list_count
      Src: /src/gpac/src/odf/ipmpx_code.c:526,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:532,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:546,1
    - Dst: gf_ipmpx_data_write
      Src: /src/gpac/src/odf/ipmpx_code.c:549,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 553
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 553
    functionName: WriteGF_IPMPX_MutualAuthentication
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - WriteGF_IPMPX_AUTH
    - gf_ipmpx_data_write
    - gf_list_get
    - GF_IPMPX_WriteByteArray
    - gf_list_count
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_MutualAuthentication(GF_BitStream *bs,
      GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 670
    functionName: NewGF_IPMPX_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_SecureContainer() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    functionName: SizeGF_IPMPX_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_AddToolNotificationListener(GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1182,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - bs
    - _p
    - size
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    - u32
    constantsTouched: []
    func_position:
      end: 1185
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1185
    functionName: ReadGF_IPMPX_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ReadGF_IPMPX_CanProcess(GF_BitStream *bs, GF_IPMPX_Data
      *_p, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1055
    functionName: NewGF_IPMPX_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_AddToolNotificationListener() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DATA_ALLOC
      Src: /src/gpac/src/odf/ipmpx_code.c:558,1
    - Dst: gf_list_new
      Src: /src/gpac/src/odf/ipmpx_code.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: NewGF_IPMPX_TrustSecurityMetadata
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_IPMPX_DATA_ALLOC
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'static GF_IPMPX_Data *NewGF_IPMPX_TrustSecurityMetadata() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:674,1
    - Dst: gf_free
      Src: /src/gpac/src/odf/ipmpx_code.c:677,1
    - Dst: GF_IPMPX_DELETE_ARRAY
      Src: /src/gpac/src/odf/ipmpx_code.c:675,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/odf/ipmpx_code.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 678
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 678
    functionName: DelGF_IPMPX_SecureContainer
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - GF_IPMPX_DELETE_ARRAY
    - gf_ipmpx_data_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelGF_IPMPX_SecureContainer(GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 909
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 909
    functionName: SizeGF_IPMPX_ToolParamCapabilitiesResponse
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_ToolParamCapabilitiesResponse(GF_IPMPX_Data
      *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1081,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1084,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1083,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/odf/ipmpx_code.c:1082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - _p
    argTypes:
    - GF_BitStream*
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1086
    functionName: WriteGF_IPMPX_AddToolNotificationListener
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err WriteGF_IPMPX_AddToolNotificationListener(GF_BitStream
      *bs, GF_IPMPX_Data *_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - GF_IPMPX_Data*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: SizeGF_IPMPX_CanProcess
    functionSourceFile: /src/gpac/src/odf/ipmpx_code.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 SizeGF_IPMPX_CanProcess(GF_IPMPX_Data *_p) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_new_od
      Src: /src/gpac/src/odf/desc_private.c:39,1
    - Dst: gf_odf_new_muxinfo
      Src: /src/gpac/src/odf/desc_private.c:48,1
    - Dst: gf_odf_new_tx3g
      Src: /src/gpac/src/odf/desc_private.c:56,1
    - Dst: gf_odf_new_esd_inc
      Src: /src/gpac/src/odf/desc_private.c:80,1
    - Dst: gf_odf_new_segment
      Src: /src/gpac/src/odf/desc_private.c:72,1
    - Dst: gf_odf_new_sup_cid
      Src: /src/gpac/src/odf/desc_private.c:96,1
    - Dst: gf_odf_new_reg
      Src: /src/gpac/src/odf/desc_private.c:113,1
    - Dst: gf_odf_new_cc_name
      Src: /src/gpac/src/odf/desc_private.c:125,1
    - Dst: gf_odf_new_smpte_camera
      Src: /src/gpac/src/odf/desc_private.c:133,1
    - Dst: gf_odf_new_ipmp_tool_list
      Src: /src/gpac/src/odf/desc_private.c:140,1
    - Dst: gf_odf_new_pl_idx
      Src: /src/gpac/src/odf/desc_private.c:137,1
    - Dst: gf_odf_new_ipmp_tool
      Src: /src/gpac/src/odf/desc_private.c:142,1
    - Dst: gf_odf_new_esd
      Src: /src/gpac/src/odf/desc_private.c:41,1
    - Dst: gf_odf_new_bifs_cfg
      Src: /src/gpac/src/odf/desc_private.c:50,1
    - Dst: gf_odf_New_ElemMask
      Src: /src/gpac/src/odf/desc_private.c:58,1
    - Dst: gf_odf_new_esd_ref
      Src: /src/gpac/src/odf/desc_private.c:82,1
    - Dst: gf_odf_new_isom_iod
      Src: /src/gpac/src/odf/desc_private.c:76,1
    - Dst: gf_odf_new_mediatime
      Src: /src/gpac/src/odf/desc_private.c:92,1
    - Dst: gf_odf_new_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:98,1
    - Dst: gf_odf_new_ipmp_ptr
      Src: /src/gpac/src/odf/desc_private.c:107,1
    - Dst: gf_odf_new_cc
      Src: /src/gpac/src/odf/desc_private.c:115,1
    - Dst: gf_odf_new_rating
      Src: /src/gpac/src/odf/desc_private.c:119,1
    - Dst: gf_odf_new_iod
      Src: /src/gpac/src/odf/desc_private.c:37,1
    - Dst: gf_odf_new_dcd
      Src: /src/gpac/src/odf/desc_private.c:43,1
    - Dst: gf_odf_new_ui_cfg
      Src: /src/gpac/src/odf/desc_private.c:52,1
    - Dst: gf_odf_new_laser_cfg
      Src: /src/gpac/src/odf/desc_private.c:60,1
    - Dst: gf_odf_new_lang
      Src: /src/gpac/src/odf/desc_private.c:84,1
    - Dst: gf_odf_new_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:101,1
    - Dst: gf_odf_new_ipmp
      Src: /src/gpac/src/odf/desc_private.c:109,1
    - Dst: gf_odf_new_kw
      Src: /src/gpac/src/odf/desc_private.c:117,1
    - Dst: gf_odf_new_short_text
      Src: /src/gpac/src/odf/desc_private.c:121,1
    - Dst: gf_odf_new_cc_date
      Src: /src/gpac/src/odf/desc_private.c:127,1
    - Dst: gf_odf_new_default
      Src: /src/gpac/src/odf/desc_private.c:154,1
    - Dst: gf_odf_new_oci_name
      Src: /src/gpac/src/odf/desc_private.c:129,1
    - Dst: gf_odf_new_slc
      Src: /src/gpac/src/odf/desc_private.c:46,1
    - Dst: gf_odf_new_text_cfg
      Src: /src/gpac/src/odf/desc_private.c:54,1
    - Dst: gf_odf_new_auxvid
      Src: /src/gpac/src/odf/desc_private.c:69,1
    - Dst: gf_odf_new_default
      Src: /src/gpac/src/odf/desc_private.c:63,1
    - Dst: gf_odf_new_isom_od
      Src: /src/gpac/src/odf/desc_private.c:78,1
    - Dst: gf_odf_new_lang
      Src: /src/gpac/src/odf/desc_private.c:86,1
    - Dst: gf_odf_new_ci
      Src: /src/gpac/src/odf/desc_private.c:94,1
    - Dst: gf_odf_new_qos
      Src: /src/gpac/src/odf/desc_private.c:111,1
    - Dst: gf_odf_new_exp_text
      Src: /src/gpac/src/odf/desc_private.c:123,1
    - Dst: gf_odf_new_oci_date
      Src: /src/gpac/src/odf/desc_private.c:131,1
    - Dst: gf_odf_new_pl_ext
      Src: /src/gpac/src/odf/desc_private.c:135,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 62
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 159
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 159
    functionName: gf_odf_create_descriptor
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_new_bifs_cfg
    - gf_odf_new_cc_name
    - gf_odf_new_ipmp_tool_list
    - gf_odf_new_slc
    - gf_odf_new_default
    - gf_odf_new_sup_cid
    - gf_odf_new_kw
    - gf_odf_new_lang
    - gf_odf_new_od
    - gf_odf_new_isom_iod
    - gf_odf_new_esd_ref
    - gf_odf_new_qos
    - gf_odf_new_short_text
    - gf_odf_new_ci
    - gf_odf_new_laser_cfg
    - gf_odf_new_rating
    - gf_odf_new_text_cfg
    - gf_odf_new_isom_od
    - gf_odf_new_esd
    - gf_odf_new_ipmp_ptr
    - gf_odf_new_segment
    - gf_odf_new_pl_idx
    - gf_odf_new_ipmp
    - gf_odf_new_cc_date
    - gf_odf_new_tx3g
    - gf_odf_new_smpte_camera
    - gf_odf_new_ipmp_tool
    - gf_odf_new_muxinfo
    - gf_odf_new_dcd
    - gf_odf_new_reg
    - gf_odf_new_esd_inc
    - gf_odf_new_ipi_ptr
    - gf_odf_new_pl_ext
    - gf_odf_new_mediatime
    - gf_odf_new_iod
    - gf_odf_new_ui_cfg
    - gf_odf_new_auxvid
    - gf_odf_new_oci_date
    - gf_odf_new_cc
    - gf_odf_New_ElemMask
    - gf_odf_new_exp_text
    - gf_odf_new_oci_name
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_odf_create_descriptor(u8 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_cookie
      Src: /src/gpac/src/odf/desc_private.c:372,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/odf/desc_private.c:378,1
    - Dst: gf_bs_set_cookie
      Src: /src/gpac/src/odf/desc_private.c:376,1
    - Dst: gf_odf_read_descriptor_internal
      Src: /src/gpac/src/odf/desc_private.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bs
    - desc
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Descriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: gf_odf_read_descriptor
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_bs_set_cookie
    - gf_odf_read_descriptor_internal
    - gf_bs_get_cookie
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_descriptor(GF_BitStream *bs, GF_Descriptor *desc,
      u32 DescSize) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_size_mediatime
      Src: /src/gpac/src/odf/desc_private.c:424,1
    - Dst: gf_odf_size_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:439,1
    - Dst: gf_odf_size_kw
      Src: /src/gpac/src/odf/desc_private.c:445,1
    - Dst: gf_odf_size_oci_name
      Src: /src/gpac/src/odf/desc_private.c:449,1
    - Dst: gf_odf_size_qos
      Src: /src/gpac/src/odf/desc_private.c:453,1
    - Dst: gf_odf_size_reg
      Src: /src/gpac/src/odf/desc_private.c:457,1
    - Dst: gf_odf_size_smpte_camera
      Src: /src/gpac/src/odf/desc_private.c:461,1
    - Dst: gf_odf_size_ipmp_tool_list
      Src: /src/gpac/src/odf/desc_private.c:467,1
    - Dst: gf_odf_size_ipmp_tool
      Src: /src/gpac/src/odf/desc_private.c:469,1
    - Dst: gf_odf_size_esd
      Src: /src/gpac/src/odf/desc_private.c:393,1
    - Dst: gf_odf_size_slc
      Src: /src/gpac/src/odf/desc_private.c:397,1
    - Dst: gf_odf_size_isom_iod
      Src: /src/gpac/src/odf/desc_private.c:402,1
    - Dst: gf_odf_size_esd_inc
      Src: /src/gpac/src/odf/desc_private.c:406,1
    - Dst: gf_odf_size_segment
      Src: /src/gpac/src/odf/desc_private.c:411,1
    - Dst: gf_odf_size_cc_date
      Src: /src/gpac/src/odf/desc_private.c:428,1
    - Dst: gf_odf_size_muxinfo
      Src: /src/gpac/src/odf/desc_private.c:413,1
    - Dst: gf_odf_size_ci
      Src: /src/gpac/src/odf/desc_private.c:432,1
    - Dst: gf_odf_size_pl_ext
      Src: /src/gpac/src/odf/desc_private.c:436,1
    - Dst: gf_odf_size_default
      Src: /src/gpac/src/odf/desc_private.c:478,1
    - Dst: gf_odf_size_iod
      Src: /src/gpac/src/odf/desc_private.c:391,1
    - Dst: gf_odf_size_lang
      Src: /src/gpac/src/odf/desc_private.c:420,1
    - Dst: gf_odf_size_ipmp
      Src: /src/gpac/src/odf/desc_private.c:441,1
    - Dst: gf_odf_size_ipmp_ptr
      Src: /src/gpac/src/odf/desc_private.c:443,1
    - Dst: gf_odf_size_oci_date
      Src: /src/gpac/src/odf/desc_private.c:447,1
    - Dst: gf_odf_size_pl_idx
      Src: /src/gpac/src/odf/desc_private.c:451,1
    - Dst: gf_odf_size_rating
      Src: /src/gpac/src/odf/desc_private.c:455,1
    - Dst: gf_odf_size_short_text
      Src: /src/gpac/src/odf/desc_private.c:459,1
    - Dst: gf_odf_size_sup_cid
      Src: /src/gpac/src/odf/desc_private.c:463,1
    - Dst: gf_odf_size_od
      Src: /src/gpac/src/odf/desc_private.c:400,1
    - Dst: gf_odf_size_dcd
      Src: /src/gpac/src/odf/desc_private.c:395,1
    - Dst: gf_odf_size_isom_od
      Src: /src/gpac/src/odf/desc_private.c:404,1
    - Dst: gf_odf_size_esd_ref
      Src: /src/gpac/src/odf/desc_private.c:408,1
    - Dst: gf_odf_size_cc_name
      Src: /src/gpac/src/odf/desc_private.c:430,1
    - Dst: gf_odf_size_cc
      Src: /src/gpac/src/odf/desc_private.c:426,1
    - Dst: gf_odf_size_auxvid
      Src: /src/gpac/src/odf/desc_private.c:416,1
    - Dst: gf_odf_size_exp_text
      Src: /src/gpac/src/odf/desc_private.c:434,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 43
    argCount: 2
    argNames:
    - desc
    - outSize
    argTypes:
    - GF_Descriptor*
    - u32*
    constantsTouched: []
    func_position:
      end: 481
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 481
    functionName: gf_odf_size_descriptor
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_size_pl_idx
    - gf_odf_size_od
    - gf_odf_size_oci_date
    - gf_odf_size_ipmp_ptr
    - gf_odf_size_default
    - gf_odf_size_dcd
    - gf_odf_size_ci
    - gf_odf_size_esd_ref
    - gf_odf_size_short_text
    - gf_odf_size_ipmp
    - gf_odf_size_oci_name
    - gf_odf_size_smpte_camera
    - gf_odf_size_pl_ext
    - gf_odf_size_ipmp_tool_list
    - gf_odf_size_cc_date
    - gf_odf_size_slc
    - gf_odf_size_rating
    - gf_odf_size_isom_iod
    - gf_odf_size_ipi_ptr
    - gf_odf_size_sup_cid
    - gf_odf_size_cc
    - gf_odf_size_kw
    - gf_odf_size_qos
    - gf_odf_size_muxinfo
    - gf_odf_size_ipmp_tool
    - gf_odf_size_esd_inc
    - gf_odf_size_isom_od
    - gf_odf_size_esd
    - gf_odf_size_auxvid
    - gf_odf_size_lang
    - gf_odf_size_iod
    - gf_odf_size_cc_name
    - gf_odf_size_exp_text
    - gf_odf_size_reg
    - gf_odf_size_mediatime
    - gf_odf_size_segment
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_size_descriptor(GF_Descriptor *desc, u32 *outSize) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_del_esd_inc
      Src: /src/gpac/src/odf/desc_private.c:209,1
    - Dst: gf_odf_del_esd_ref
      Src: /src/gpac/src/odf/desc_private.c:211,1
    - Dst: gf_odf_del_mediatime
      Src: /src/gpac/src/odf/desc_private.c:215,1
    - Dst: gf_odf_del_exp_text
      Src: /src/gpac/src/odf/desc_private.c:225,1
    - Dst: gf_odf_del_oci_name
      Src: /src/gpac/src/odf/desc_private.c:240,1
    - Dst: gf_odf_del_pl_idx
      Src: /src/gpac/src/odf/desc_private.c:242,1
    - Dst: gf_odf_del_qos
      Src: /src/gpac/src/odf/desc_private.c:244,1
    - Dst: gf_odf_del_rating
      Src: /src/gpac/src/odf/desc_private.c:246,1
    - Dst: gf_odf_del_reg
      Src: /src/gpac/src/odf/desc_private.c:248,1
    - Dst: gf_odf_del_short_text
      Src: /src/gpac/src/odf/desc_private.c:250,1
    - Dst: gf_odf_del_smpte_camera
      Src: /src/gpac/src/odf/desc_private.c:252,1
    - Dst: gf_odf_del_cc
      Src: /src/gpac/src/odf/desc_private.c:217,1
    - Dst: gf_odf_del_ipmp_tool
      Src: /src/gpac/src/odf/desc_private.c:259,1
    - Dst: gf_odf_del_ElemMask
      Src: /src/gpac/src/odf/desc_private.c:197,1
    - Dst: gf_odf_del_slc
      Src: /src/gpac/src/odf/desc_private.c:176,1
    - Dst: gf_odf_del_dcd
      Src: /src/gpac/src/odf/desc_private.c:174,1
    - Dst: gf_odf_del_isom_iod
      Src: /src/gpac/src/odf/desc_private.c:179,1
    - Dst: gf_odf_del_isom_od
      Src: /src/gpac/src/odf/desc_private.c:181,1
    - Dst: gf_odf_del_segment
      Src: /src/gpac/src/odf/desc_private.c:184,1
    - Dst: gf_odf_del_muxinfo
      Src: /src/gpac/src/odf/desc_private.c:187,1
    - Dst: gf_odf_del_bifs_cfg
      Src: /src/gpac/src/odf/desc_private.c:189,1
    - Dst: gf_odf_del_ui_cfg
      Src: /src/gpac/src/odf/desc_private.c:191,1
    - Dst: gf_odf_del_tx3g
      Src: /src/gpac/src/odf/desc_private.c:195,1
    - Dst: gf_odf_del_text_cfg
      Src: /src/gpac/src/odf/desc_private.c:193,1
    - Dst: gf_odf_del_ci
      Src: /src/gpac/src/odf/desc_private.c:223,1
    - Dst: gf_odf_del_iod
      Src: /src/gpac/src/odf/desc_private.c:168,1
    - Dst: gf_odf_del_lang
      Src: /src/gpac/src/odf/desc_private.c:206,1
    - Dst: gf_odf_del_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:230,1
    - Dst: gf_odf_del_ipmp
      Src: /src/gpac/src/odf/desc_private.c:232,1
    - Dst: gf_odf_del_ipmp_ptr
      Src: /src/gpac/src/odf/desc_private.c:234,1
    - Dst: gf_odf_del_kw
      Src: /src/gpac/src/odf/desc_private.c:236,1
    - Dst: gf_odf_del_oci_date
      Src: /src/gpac/src/odf/desc_private.c:238,1
    - Dst: gf_odf_del_ipmp_tool_list
      Src: /src/gpac/src/odf/desc_private.c:257,1
    - Dst: gf_odf_del_cc_name
      Src: /src/gpac/src/odf/desc_private.c:221,1
    - Dst: gf_odf_del_auxvid
      Src: /src/gpac/src/odf/desc_private.c:202,1
    - Dst: gf_odf_del_esd
      Src: /src/gpac/src/odf/desc_private.c:172,1
    - Dst: gf_odf_del_od
      Src: /src/gpac/src/odf/desc_private.c:170,1
    - Dst: gf_odf_del_sup_cid
      Src: /src/gpac/src/odf/desc_private.c:254,1
    - Dst: gf_odf_del_pl_ext
      Src: /src/gpac/src/odf/desc_private.c:227,1
    - Dst: gf_odf_del_default
      Src: /src/gpac/src/odf/desc_private.c:264,1
    - Dst: gf_odf_del_laser_cfg
      Src: /src/gpac/src/odf/desc_private.c:199,1
    - Dst: gf_odf_del_cc_date
      Src: /src/gpac/src/odf/desc_private.c:219,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 44
    argCount: 1
    argNames:
    - desc
    argTypes:
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 267
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 267
    functionName: gf_odf_delete_descriptor
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_del_isom_iod
    - gf_odf_del_ipmp
    - gf_odf_del_ipmp_tool_list
    - gf_odf_del_text_cfg
    - gf_odf_del_cc_name
    - gf_odf_del_ci
    - gf_odf_del_smpte_camera
    - gf_odf_del_reg
    - gf_odf_del_isom_od
    - gf_odf_del_segment
    - gf_odf_del_tx3g
    - gf_odf_del_oci_name
    - gf_odf_del_default
    - gf_odf_del_kw
    - gf_odf_del_esd_ref
    - gf_odf_del_esd_inc
    - gf_odf_del_lang
    - gf_odf_del_sup_cid
    - gf_odf_del_ipi_ptr
    - gf_odf_del_esd
    - gf_odf_del_ipmp_tool
    - gf_odf_del_muxinfo
    - gf_odf_del_cc_date
    - gf_odf_del_ipmp_ptr
    - gf_odf_del_laser_cfg
    - gf_odf_del_qos
    - gf_odf_del_ui_cfg
    - gf_odf_del_bifs_cfg
    - gf_odf_del_iod
    - gf_odf_del_pl_idx
    - gf_odf_del_ElemMask
    - gf_odf_del_od
    - gf_odf_del_dcd
    - gf_odf_del_oci_date
    - gf_odf_del_cc
    - gf_odf_del_short_text
    - gf_odf_del_rating
    - gf_odf_del_pl_ext
    - gf_odf_del_exp_text
    - gf_odf_del_slc
    - gf_odf_del_auxvid
    - gf_odf_del_mediatime
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_delete_descriptor(GF_Descriptor *desc) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_read_od
      Src: /src/gpac/src/odf/desc_private.c:287,1
    - Dst: gf_odf_read_segment
      Src: /src/gpac/src/odf/desc_private.c:300,1
    - Dst: gf_odf_read_cc
      Src: /src/gpac/src/odf/desc_private.c:321,1
    - Dst: gf_odf_read_kw
      Src: /src/gpac/src/odf/desc_private.c:336,1
    - Dst: gf_odf_read_qos
      Src: /src/gpac/src/odf/desc_private.c:344,1
    - Dst: gf_odf_read_ipmp_tool_list
      Src: /src/gpac/src/odf/desc_private.c:357,1
    - Dst: gf_odf_read_ipmp_tool
      Src: /src/gpac/src/odf/desc_private.c:359,1
    - Dst: gf_odf_read_default
      Src: /src/gpac/src/odf/desc_private.c:365,1
    - Dst: gf_odf_read_slc
      Src: /src/gpac/src/odf/desc_private.c:285,1
    - Dst: gf_odf_read_esd_ref
      Src: /src/gpac/src/odf/desc_private.c:297,1
    - Dst: gf_odf_read_ipmp_ptr
      Src: /src/gpac/src/odf/desc_private.c:318,1
    - Dst: gf_odf_read_ci
      Src: /src/gpac/src/odf/desc_private.c:327,1
    - Dst: gf_odf_read_pl_ext
      Src: /src/gpac/src/odf/desc_private.c:331,1
    - Dst: gf_odf_read_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:334,1
    - Dst: gf_odf_read_pl_idx
      Src: /src/gpac/src/odf/desc_private.c:342,1
    - Dst: gf_odf_read_sup_cid
      Src: /src/gpac/src/odf/desc_private.c:354,1
    - Dst: gf_odf_read_dcd
      Src: /src/gpac/src/odf/desc_private.c:283,1
    - Dst: gf_odf_read_esd_inc
      Src: /src/gpac/src/odf/desc_private.c:295,1
    - Dst: gf_odf_read_mediatime
      Src: /src/gpac/src/odf/desc_private.c:314,1
    - Dst: gf_odf_read_ipmp
      Src: /src/gpac/src/odf/desc_private.c:316,1
    - Dst: gf_odf_read_cc_name
      Src: /src/gpac/src/odf/desc_private.c:325,1
    - Dst: gf_odf_read_exp_text
      Src: /src/gpac/src/odf/desc_private.c:329,1
    - Dst: gf_odf_read_oci_name
      Src: /src/gpac/src/odf/desc_private.c:340,1
    - Dst: gf_odf_read_reg
      Src: /src/gpac/src/odf/desc_private.c:348,1
    - Dst: gf_odf_read_smpte_camera
      Src: /src/gpac/src/odf/desc_private.c:352,1
    - Dst: gf_odf_read_short_text
      Src: /src/gpac/src/odf/desc_private.c:350,1
    - Dst: gf_odf_read_iod
      Src: /src/gpac/src/odf/desc_private.c:279,1
    - Dst: gf_odf_read_esd
      Src: /src/gpac/src/odf/desc_private.c:281,1
    - Dst: gf_odf_read_isom_iod
      Src: /src/gpac/src/odf/desc_private.c:291,1
    - Dst: gf_odf_read_isom_od
      Src: /src/gpac/src/odf/desc_private.c:293,1
    - Dst: gf_odf_read_lang
      Src: /src/gpac/src/odf/desc_private.c:310,1
    - Dst: gf_odf_read_cc_date
      Src: /src/gpac/src/odf/desc_private.c:323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/odf/desc_private.c:302,1
    - Dst: gf_odf_read_auxvid
      Src: /src/gpac/src/odf/desc_private.c:306,1
    - Dst: gf_odf_read_oci_date
      Src: /src/gpac/src/odf/desc_private.c:338,1
    - Dst: gf_odf_read_rating
      Src: /src/gpac/src/odf/desc_private.c:346,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 38
    argCount: 3
    argNames:
    - bs
    - desc
    - DescSize
    argTypes:
    - GF_BitStream*
    - GF_Descriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 368
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 368
    functionName: gf_odf_read_descriptor_internal
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_read_esd_ref
    - gf_odf_read_ci
    - gf_odf_read_ipmp_tool_list
    - gf_odf_read_ipmp_ptr
    - gf_odf_read_cc_date
    - GF_LOG
    - gf_odf_read_pl_idx
    - gf_odf_read_ipi_ptr
    - gf_odf_read_auxvid
    - gf_odf_read_ipmp
    - gf_odf_read_cc
    - gf_odf_read_cc_name
    - gf_odf_read_dcd
    - gf_odf_read_iod
    - gf_odf_read_esd_inc
    - gf_odf_read_sup_cid
    - gf_odf_read_rating
    - gf_odf_read_pl_ext
    - gf_odf_read_oci_date
    - gf_odf_read_ipmp_tool
    - gf_odf_read_kw
    - gf_odf_read_isom_iod
    - gf_odf_read_slc
    - gf_odf_read_segment
    - gf_odf_read_short_text
    - gf_odf_read_lang
    - gf_odf_read_default
    - gf_odf_read_esd
    - gf_odf_read_exp_text
    - gf_odf_read_oci_name
    - gf_odf_read_smpte_camera
    - gf_odf_read_mediatime
    - gf_odf_read_isom_od
    - gf_odf_read_qos
    - gf_odf_read_reg
    - gf_odf_read_od
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_odf_read_descriptor_internal(GF_BitStream *bs, GF_Descriptor
      *desc, u32 DescSize) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_esd
      Src: /src/gpac/src/odf/desc_private.c:494,1
    - Dst: gf_odf_write_slc
      Src: /src/gpac/src/odf/desc_private.c:498,1
    - Dst: gf_odf_write_esd_ref
      Src: /src/gpac/src/odf/desc_private.c:502,1
    - Dst: gf_odf_write_od
      Src: /src/gpac/src/odf/desc_private.c:510,1
    - Dst: gf_odf_write_cc_date
      Src: /src/gpac/src/odf/desc_private.c:529,1
    - Dst: gf_odf_write_muxinfo
      Src: /src/gpac/src/odf/desc_private.c:514,1
    - Dst: gf_odf_write_ci
      Src: /src/gpac/src/odf/desc_private.c:533,1
    - Dst: gf_odf_write_default
      Src: /src/gpac/src/odf/desc_private.c:576,1
    - Dst: gf_odf_write_iod
      Src: /src/gpac/src/odf/desc_private.c:492,1
    - Dst: gf_odf_write_lang
      Src: /src/gpac/src/odf/desc_private.c:521,1
    - Dst: gf_odf_write_ipi_ptr
      Src: /src/gpac/src/odf/desc_private.c:541,1
    - Dst: gf_odf_write_ipmp_ptr
      Src: /src/gpac/src/odf/desc_private.c:545,1
    - Dst: gf_odf_write_oci_date
      Src: /src/gpac/src/odf/desc_private.c:549,1
    - Dst: gf_odf_write_pl_idx
      Src: /src/gpac/src/odf/desc_private.c:553,1
    - Dst: gf_odf_write_rating
      Src: /src/gpac/src/odf/desc_private.c:557,1
    - Dst: gf_odf_write_short_text
      Src: /src/gpac/src/odf/desc_private.c:561,1
    - Dst: gf_odf_write_smpte_camera
      Src: /src/gpac/src/odf/desc_private.c:563,1
    - Dst: gf_odf_write_ipmp_tool_list
      Src: /src/gpac/src/odf/desc_private.c:568,1
    - Dst: gf_odf_write_dcd
      Src: /src/gpac/src/odf/desc_private.c:496,1
    - Dst: gf_odf_write_esd_inc
      Src: /src/gpac/src/odf/desc_private.c:500,1
    - Dst: gf_odf_write_isom_iod
      Src: /src/gpac/src/odf/desc_private.c:506,1
    - Dst: gf_odf_write_isom_od
      Src: /src/gpac/src/odf/desc_private.c:508,1
    - Dst: gf_odf_write_segment
      Src: /src/gpac/src/odf/desc_private.c:512,1
    - Dst: gf_odf_write_exp_text
      Src: /src/gpac/src/odf/desc_private.c:536,1
    - Dst: gf_odf_write_cc_name
      Src: /src/gpac/src/odf/desc_private.c:531,1
    - Dst: gf_odf_write_cc
      Src: /src/gpac/src/odf/desc_private.c:527,1
    - Dst: gf_odf_write_auxvid
      Src: /src/gpac/src/odf/desc_private.c:517,1
    - Dst: gf_odf_write_pl_ext
      Src: /src/gpac/src/odf/desc_private.c:538,1
    - Dst: gf_odf_write_mediatime
      Src: /src/gpac/src/odf/desc_private.c:525,1
    - Dst: gf_odf_write_ipmp
      Src: /src/gpac/src/odf/desc_private.c:543,1
    - Dst: gf_odf_write_kw
      Src: /src/gpac/src/odf/desc_private.c:547,1
    - Dst: gf_odf_write_oci_name
      Src: /src/gpac/src/odf/desc_private.c:551,1
    - Dst: gf_odf_write_qos
      Src: /src/gpac/src/odf/desc_private.c:555,1
    - Dst: gf_odf_write_reg
      Src: /src/gpac/src/odf/desc_private.c:559,1
    - Dst: gf_odf_write_sup_cid
      Src: /src/gpac/src/odf/desc_private.c:565,1
    - Dst: gf_odf_write_ipmp_tool
      Src: /src/gpac/src/odf/desc_private.c:570,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 41
    argCount: 2
    argNames:
    - bs
    - desc
    argTypes:
    - GF_BitStream*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 579
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 579
    functionName: gf_odf_write_descriptor
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_write_od
    - gf_odf_write_short_text
    - gf_odf_write_oci_date
    - gf_odf_write_pl_idx
    - gf_odf_write_ipmp_tool
    - gf_odf_write_esd_ref
    - gf_odf_write_kw
    - gf_odf_write_cc
    - gf_odf_write_reg
    - gf_odf_write_rating
    - gf_odf_write_isom_od
    - gf_odf_write_cc_date
    - gf_odf_write_sup_cid
    - gf_odf_write_pl_ext
    - gf_odf_write_ipmp
    - gf_odf_write_oci_name
    - gf_odf_write_esd
    - gf_odf_write_qos
    - gf_odf_write_iod
    - gf_odf_write_lang
    - gf_odf_write_cc_name
    - gf_odf_write_ipi_ptr
    - gf_odf_write_default
    - gf_odf_write_ipmp_ptr
    - gf_odf_write_slc
    - gf_odf_write_esd_inc
    - gf_odf_write_isom_iod
    - gf_odf_write_smpte_camera
    - gf_odf_write_ipmp_tool_list
    - gf_odf_write_muxinfo
    - gf_odf_write_auxvid
    - gf_odf_write_dcd
    - gf_odf_write_segment
    - gf_odf_write_ci
    - gf_odf_write_exp_text
    - gf_odf_write_mediatime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odf_write_descriptor(GF_BitStream *bs, GF_Descriptor
      *desc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_new_od_update
      Src: /src/gpac/src/odf/desc_private.c:589,1
    - Dst: gf_odf_new_esd_update
      Src: /src/gpac/src/odf/desc_private.c:593,1
    - Dst: gf_odf_new_esd_remove
      Src: /src/gpac/src/odf/desc_private.c:595,1
    - Dst: gf_odf_new_esd_remove
      Src: /src/gpac/src/odf/desc_private.c:598,1
    - Dst: gf_odf_new_od_remove
      Src: /src/gpac/src/odf/desc_private.c:591,1
    - Dst: gf_odf_new_ipmp_update
      Src: /src/gpac/src/odf/desc_private.c:605,1
    - Dst: gf_odf_new_ipmp_remove
      Src: /src/gpac/src/odf/desc_private.c:607,1
    - Dst: gf_odf_new_base_command
      Src: /src/gpac/src/odf/desc_private.c:614,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 623
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 623
    functionName: gf_odf_create_command
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_new_od_remove
    - gf_odf_new_esd_update
    - gf_odf_new_od_update
    - gf_odf_new_esd_remove
    - gf_odf_new_ipmp_update
    - gf_odf_new_ipmp_remove
    - gf_odf_new_base_command
    linkageType: ''
    returnType: GF_ODCom*
    signature: 'GF_ODCom *gf_odf_create_command(u8 tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_del_od_update
      Src: /src/gpac/src/odf/desc_private.c:633,1
    - Dst: gf_odf_del_od_remove
      Src: /src/gpac/src/odf/desc_private.c:635,1
    - Dst: gf_odf_del_esd_remove
      Src: /src/gpac/src/odf/desc_private.c:641,1
    - Dst: gf_odf_del_ipmp_update
      Src: /src/gpac/src/odf/desc_private.c:644,1
    - Dst: gf_odf_del_esd_update
      Src: /src/gpac/src/odf/desc_private.c:638,1
    - Dst: gf_odf_del_ipmp_remove
      Src: /src/gpac/src/odf/desc_private.c:646,1
    - Dst: gf_odf_del_base_command
      Src: /src/gpac/src/odf/desc_private.c:649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_ODCom*
    constantsTouched: []
    func_position:
      end: 656
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 656
    functionName: gf_odf_delete_command
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_del_ipmp_update
    - gf_odf_del_od_remove
    - gf_odf_del_od_update
    - gf_odf_del_ipmp_remove
    - gf_odf_del_base_command
    - gf_odf_del_esd_update
    - gf_odf_del_esd_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_delete_command(GF_ODCom *com) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_read_od_update
      Src: /src/gpac/src/odf/desc_private.c:666,1
    - Dst: gf_odf_read_esd_remove
      Src: /src/gpac/src/odf/desc_private.c:673,1
    - Dst: gf_odf_read_od_remove
      Src: /src/gpac/src/odf/desc_private.c:668,1
    - Dst: gf_odf_read_ipmp_update
      Src: /src/gpac/src/odf/desc_private.c:676,1
    - Dst: gf_odf_read_esd_update
      Src: /src/gpac/src/odf/desc_private.c:670,1
    - Dst: gf_odf_read_ipmp_remove
      Src: /src/gpac/src/odf/desc_private.c:678,1
    - Dst: gf_odf_read_base_command
      Src: /src/gpac/src/odf/desc_private.c:680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - bs
    - com
    - gf_odf_size_command
    argTypes:
    - GF_BitStream*
    - GF_ODCom*
    - u32
    constantsTouched: []
    func_position:
      end: 687
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 687
    functionName: gf_odf_read_command
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_read_esd_update
    - gf_odf_read_ipmp_update
    - gf_odf_read_od_remove
    - gf_odf_read_esd_remove
    - gf_odf_read_ipmp_remove
    - gf_odf_read_od_update
    - gf_odf_read_base_command
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_read_command(GF_BitStream *bs, GF_ODCom *com, u32 gf_odf_size_command) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_write_od_update
      Src: /src/gpac/src/odf/desc_private.c:698,1
    - Dst: gf_odf_write_esd_remove
      Src: /src/gpac/src/odf/desc_private.c:706,1
    - Dst: gf_odf_write_od_remove
      Src: /src/gpac/src/odf/desc_private.c:700,1
    - Dst: gf_odf_write_ipmp_update
      Src: /src/gpac/src/odf/desc_private.c:709,1
    - Dst: gf_odf_write_esd_update
      Src: /src/gpac/src/odf/desc_private.c:703,1
    - Dst: gf_odf_write_ipmp_remove
      Src: /src/gpac/src/odf/desc_private.c:711,1
    - Dst: gf_odf_write_base_command
      Src: /src/gpac/src/odf/desc_private.c:714,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - com
    argTypes:
    - GF_BitStream*
    - GF_ODCom*
    constantsTouched: []
    func_position:
      end: 720
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 720
    functionName: gf_odf_write_command
    functionSourceFile: /src/gpac/src/odf/desc_private.c
    functionUses: []
    functionsReached:
    - gf_odf_write_base_command
    - gf_odf_write_ipmp_remove
    - gf_odf_write_ipmp_update
    - gf_odf_write_esd_update
    - gf_odf_write_esd_remove
    - gf_odf_write_od_update
    - gf_odf_write_od_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_odf_write_command(GF_BitStream *bs, GF_ODCom *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hc_flash_shape.c:74,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/hc_flash_shape.c:80,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/hc_flash_shape.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - st
    - line_col
    - fill_col
    - width
    argTypes:
    - FSStack*
    - u32
    - u32
    - Fixed
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: new_fs_item
    functionSourceFile: /src/gpac/src/compositor/hc_flash_shape.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_path_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: FSItem*
    signature: 'static FSItem *new_fs_item(FSStack *st, u32 line_col, u32 fill_col,
      Fixed width) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:104,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:112,1
    - Dst: SFCOL_MAKE_ARGB
      Src: /src/gpac/src/compositor/hc_flash_shape.c:196,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:218,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:205,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:241,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:227,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:255,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:279,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:284,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:110,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:209,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:228,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:256,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:283,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:306,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:336,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/hc_flash_shape.c:355,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/hc_flash_shape.c:363,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:337,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:296,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/hc_flash_shape.c:362,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:102,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:108,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:116,1
    - Dst: SFCOL_MAKE_ARGB
      Src: /src/gpac/src/compositor/hc_flash_shape.c:184,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:232,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:217,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:242,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:250,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:268,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:269,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/hc_flash_shape.c:364,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/hc_flash_shape.c:354,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:297,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:312,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:106,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hc_flash_shape.c:114,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:233,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:251,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:278,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:311,1
    - Dst: new_fs_item
      Src: /src/gpac/src/compositor/hc_flash_shape.c:331,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:347,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:348,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:307,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:332,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:322,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/hc_flash_shape.c:365,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/compositor/hc_flash_shape.c:323,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 249
    argCount: 2
    argNames:
    - st
    - node
    argTypes:
    - FSStack*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 367
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 367
    functionName: build_shape
    functionSourceFile: /src/gpac/src/compositor/hc_flash_shape.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_list_get
    - new_fs_item
    - gf_path_add_quadratic_to
    - gf_list_count
    - gf_rect_union
    - gf_node_get_field
    - gf_path_close
    - gf_path_add_line_to
    - SFCOL_MAKE_ARGB
    - gf_path_add_cubic_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void build_shape(FSStack *st, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/hc_flash_shape.c:60,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/hc_flash_shape.c:65,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/hc_flash_shape.c:61,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/hc_flash_shape.c:63,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/hc_flash_shape.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hc_flash_shape.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - stack
    argTypes:
    - FSStack*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: clean_paths
    functionSourceFile: /src/gpac/src/compositor/hc_flash_shape.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - mesh_free
    - gf_list_count
    - gf_path_del
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void clean_paths(FSStack *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hc_flash_shape.c:464,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/hc_flash_shape.c:472,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/hc_flash_shape.c:469,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hc_flash_shape.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hc_flash_shape.c:466,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hc_flash_shape.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 476
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 476
    functionName: compositor_init_hc_flashshape
    functionSourceFile: /src/gpac/src/compositor/hc_flash_shape.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_hc_flashshape(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: clean_paths
      Src: /src/gpac/src/compositor/hc_flash_shape.c:377,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/hc_flash_shape.c:378,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hc_flash_shape.c:385,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/hc_flash_shape.c:394,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/hc_flash_shape.c:412,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/hc_flash_shape.c:424,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hc_flash_shape.c:373,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hc_flash_shape.c:384,1
    - Dst: clean_paths
      Src: /src/gpac/src/compositor/hc_flash_shape.c:387,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/hc_flash_shape.c:405,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/hc_flash_shape.c:451,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hc_flash_shape.c:380,1
    - Dst: memset
      Src: /src/gpac/src/compositor/hc_flash_shape.c:397,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/hc_flash_shape.c:379,1
    - Dst: build_shape
      Src: /src/gpac/src/compositor/hc_flash_shape.c:388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/hc_flash_shape.c:395,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/hc_flash_shape.c:413,1
    - Dst: memset
      Src: /src/gpac/src/compositor/hc_flash_shape.c:414,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/hc_flash_shape.c:427,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/hc_flash_shape.c:423,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/hc_flash_shape.c:444,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 457
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 457
    functionName: fs_traverse
    functionSourceFile: /src/gpac/src/compositor/hc_flash_shape.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_list_del
    - gf_node_get_private
    - drawable_finalize_sort
    - build_shape
    - drawable_del
    - gf_list_count
    - mesh_from_path
    - gf_node_dirty_get
    - clean_paths
    - new_mesh
    - drawable_init_context_mpeg4
    - gf_free
    - gf_node_dirty_clear
    - visual_3d_draw_2d_with_aspect
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'static void fs_traverse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:231,1
    - Dst: gf_sc_get_mfurl_from_xlink
      Src: /src/gpac/src/compositor/svg_media.c:279,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_media.c:276,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_media.c:292,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_media.c:295,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:299,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_media.c:334,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:311,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_media.c:340,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_media.c:358,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:335,1
    - Dst: svg_traverse_audio_ex
      Src: /src/gpac/src/compositor/svg_media.c:379,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_media.c:244,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/compositor/svg_media.c:242,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/svg_media.c:285,1
    - Dst: SVG_Build_Bitmap_Graph
      Src: /src/gpac/src/compositor/svg_media.c:299,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:310,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/svg_media.c:315,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_media.c:324,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_media.c:328,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/svg_media.c:335,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:335,1
    - Dst: compositor_3d_draw_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:367,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_media.c:330,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/svg_media.c:341,1
    - Dst: svg_video_get_transform_behavior
      Src: /src/gpac/src/compositor/svg_media.c:333,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/svg_media.c:365,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_media.c:372,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/svg_media.c:246,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/svg_media.c:241,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_media.c:248,1
    - Dst: svg_drawable_pick
      Src: /src/gpac/src/compositor/svg_media.c:257,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/svg_media.c:263,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_media.c:273,1
    - Dst: svg_play_texture
      Src: /src/gpac/src/compositor/svg_media.c:290,1
    - Dst: compositor_3d_draw_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:266,1
    - Dst: gf_mo_url_changed
      Src: /src/gpac/src/compositor/svg_media.c:277,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:272,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/svg_media.c:364,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_media.c:376,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_media.c:321,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_media.c:381,1
    - Dst: SVG_Draw_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:253,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/svg_media.c:264,1
    - Dst: svg_audio_smil_evaluate_ex
      Src: /src/gpac/src/compositor/svg_media.c:284,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_media.c:298,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_media.c:305,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_media.c:306,1
    - Dst: svg_video_get_transform_behavior
      Src: /src/gpac/src/compositor/svg_media.c:308,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_media.c:314,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_media.c:316,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_media.c:318,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_media.c:375,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_media.c:337,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/compositor/svg_media.c:358,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_media.c:304,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 131
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 383
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 383
    functionName: svg_traverse_bitmap
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - svg_video_get_transform_behavior
    - gf_mx2d_apply_rect
    - compositor_svg_traverse_base
    - INT2FIX
    - gf_sg_mfurl_del
    - gf_mx2d_copy
    - gf_node_dirty_clear
    - gf_mx2d_add_rotation
    - svg_drawable_pick
    - gf_node_unregister
    - gf_sc_texture_destroy
    - gf_path_get_bounds
    - gf_mx2d_init
    - gf_node_dirty_get
    - gf_path_add_rect_center
    - SVG_Build_Bitmap_Graph
    - gf_sc_get_mfurl_from_xlink
    - compositor_3d_draw_bitmap
    - memcpy
    - gf_free
    - GF_COL_ARGB
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - drawable_finalize_sort
    - compositor_svg_is_display_off
    - drawable_del
    - mesh_from_path
    - drawable_init_context_svg
    - SVG_Draw_bitmap
    - new_mesh
    - drawable_reset_path
    - svg_traverse_audio_ex
    - FIX2INT
    - svg_play_texture
    - gf_mo_url_changed
    - svg_audio_smil_evaluate_ex
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_bitmap(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:685,1
    - Dst: gf_sc_audio_predestroy
      Src: /src/gpac/src/compositor/svg_media.c:688,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_media.c:690,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/compositor/svg_media.c:689,1
    - Dst: gf_sc_audio_register
      Src: /src/gpac/src/compositor/svg_media.c:694,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:700,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_media.c:701,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_media.c:706,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/svg_media.c:710,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_media.c:714,1
    - Dst: gf_sc_get_mfurl_from_xlink
      Src: /src/gpac/src/compositor/svg_media.c:715,1
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/svg_media.c:720,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/svg_media.c:729,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:717,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_media.c:737,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_media.c:746,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/svg_media.c:726,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 4
    argNames:
    - node
    - rs
    - is_destroy
    - props
    argTypes:
    - GF_Node*
    - void*
    - Bool
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 749
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 749
    functionName: svg_traverse_audio_ex
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_predestroy
    - gf_sc_get_mfurl_from_xlink
    - gf_svg_flatten_attributes
    - gf_sc_audio_unregister
    - gf_node_get_private
    - gf_sc_audio_register
    - compositor_svg_traverse_base
    - compositor_svg_is_display_off
    - gf_sc_audio_stop
    - gf_node_dirty_get
    - gf_mo_set_speed
    - gf_sg_mfurl_del
    - gf_sc_audio_open
    - memcpy
    - gf_free
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_audio_ex(GF_Node *node, void *rs, Bool is_destroy,
      SVGPropertiesPointers *props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: compositor_svg_get_image_texture
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *compositor_svg_get_image_texture(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/compositor/svg_media.c:45,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - tr_state
    - atts
    - cx
    - cy
    - angle
    argTypes:
    - GF_TraverseState*
    - SVGAllAttributes*
    - Fixed*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: svg_video_get_transform_behavior
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_point
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_video_get_transform_behavior(GF_TraverseState *tr_state,
      SVGAllAttributes *atts, Fixed *cx, Fixed *cy, Fixed *angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_audio_ex
      Src: /src/gpac/src/compositor/svg_media.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: svg_traverse_audio
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - svg_traverse_audio_ex
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_audio(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/svg_media.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: SVG_Draw_bitmap
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - visual_2d_texture_path
    linkageType: ''
    returnType: void
    signature: 'static void SVG_Draw_bitmap(GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_open
      Src: /src/gpac/src/compositor/svg_media.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - SVG_video_stack*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: svg_open_texture
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_open
    linkageType: ''
    returnType: void
    signature: 'static void svg_open_texture(SVG_video_stack *stack) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:441,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/svg_media.c:452,1
    - Dst: svg_play_texture
      Src: /src/gpac/src/compositor/svg_media.c:458,1
    - Dst: svg_open_texture
      Src: /src/gpac/src/compositor/svg_media.c:444,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/svg_media.c:459,1
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/svg_media.c:466,1
    - Dst: gf_smil_timing_is_active
      Src: /src/gpac/src/compositor/svg_media.c:473,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/svg_media.c:474,1
    - Dst: gf_mo_has_audio
      Src: /src/gpac/src/compositor/svg_media.c:482,1
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/svg_media.c:487,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/svg_media.c:488,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/svg_media.c:490,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/compositor/svg_media.c:491,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/svg_media.c:503,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_media.c:487,1
    - Dst: compositor_init_svg_audio
      Src: /src/gpac/src/compositor/svg_media.c:494,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/svg_media.c:489,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/svg_media.c:507,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 509
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 509
    functionName: SVG_Update_video
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_mo_has_audio
    - compositor_init_svg_audio
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_texture_stop_no_unregister
    - svg_open_texture
    - gf_smil_timing_is_active
    - gf_svg_attributes_copy
    - gf_node_get_attribute_by_tag
    - gf_sc_texture_update_frame
    - gf_node_get_graph
    - gf_node_new
    - svg_play_texture
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void SVG_Update_video(GF_TextureHandler *txh) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_get_element
      Src: /src/gpac/src/compositor/svg_media.c:616,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/svg_media.c:635,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:626,1
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/svg_media.c:630,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:618,1
    - Dst: gf_smil_get_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:642,1
    - Dst: gf_mo_get_duration
      Src: /src/gpac/src/compositor/svg_media.c:643,1
    - Dst: gf_smil_set_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:648,1
    - Dst: gf_sc_audio_restart
      Src: /src/gpac/src/compositor/svg_media.c:653,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/svg_media.c:656,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/svg_media.c:665,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/svg_media.c:660,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/svg_media.c:666,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 5
    argNames:
    - rti
    - normalized_scene_time
    - status
    - slave_audio
    - video
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - u32
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 671
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 671
    functionName: svg_audio_smil_evaluate_ex
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_smil_set_media_duration
    - gf_svg_flatten_attributes
    - gf_node_get_private
    - gf_smil_get_element
    - gf_sc_audio_stop
    - gf_mo_set_speed
    - gf_sc_audio_open
    - gf_smil_get_media_duration
    - gf_mo_get_duration
    - gf_sc_audio_unregister
    - gf_sc_audio_restart
    linkageType: ''
    returnType: void
    signature: 'static void svg_audio_smil_evaluate_ex(SMIL_Timing_RTI *rti, Fixed
      normalized_scene_time, u32 status, GF_Node *slave_audio, GF_Node *video) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:85,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_media.c:87,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:103,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_media.c:102,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_media.c:129,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_media.c:130,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_media.c:134,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_media.c:139,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_media.c:144,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_media.c:149,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/svg_media.c:193,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_media.c:198,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_media.c:200,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_media.c:191,1
    - Dst: gf_rect_equal
      Src: /src/gpac/src/compositor/svg_media.c:195,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_media.c:196,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_media.c:192,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_media.c:194,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 123
    argCount: 2
    argNames:
    - stack
    - tr_state
    argTypes:
    - SVG_video_stack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 201
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 201
    functionName: SVG_Build_Bitmap_Graph
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_mulfix
    - INT2FIX
    - drawable_reset_path
    - gf_divfix
    - gf_rect_equal
    - gf_path_add_rect_center
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void SVG_Build_Bitmap_Graph(SVG_video_stack *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/svg_media.c:212,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:215,1
    - Dst: gf_sc_texture_play_from_to
      Src: /src/gpac/src/compositor/svg_media.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - stack
    - atts
    argTypes:
    - SVG_video_stack*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: svg_play_texture
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop_no_unregister
    - gf_svg_flatten_attributes
    - gf_sc_texture_play_from_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_play_texture(SVG_video_stack *stack, SVGAllAttributes
      *atts) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:513,1
    - Dst: gf_smil_get_element
      Src: /src/gpac/src/compositor/svg_media.c:513,1
    - Dst: gf_mo_get_duration
      Src: /src/gpac/src/compositor/svg_media.c:523,1
    - Dst: svg_play_texture
      Src: /src/gpac/src/compositor/svg_media.c:519,1
    - Dst: gf_smil_get_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:522,1
    - Dst: gf_smil_set_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:528,1
    - Dst: gf_sc_texture_restart
      Src: /src/gpac/src/compositor/svg_media.c:536,1
    - Dst: svg_audio_smil_evaluate_ex
      Src: /src/gpac/src/compositor/svg_media.c:541,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - rti
    - normalized_scene_time
    - status
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 542
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 542
    functionName: svg_video_smil_evaluate
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_smil_set_media_duration
    - gf_node_get_private
    - gf_mo_get_duration
    - gf_smil_get_element
    - gf_smil_get_media_duration
    - gf_sc_texture_restart
    - svg_play_texture
    - svg_audio_smil_evaluate_ex
    linkageType: ''
    returnType: void
    signature: 'static void svg_video_smil_evaluate(SMIL_Timing_RTI *rti, Fixed normalized_scene_time,
      GF_SGSMILTimingEvalState status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_audio_smil_evaluate_ex
      Src: /src/gpac/src/compositor/svg_media.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - rti
    - normalized_scene_time
    - status
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: svg_audio_smil_evaluate
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - svg_audio_smil_evaluate_ex
    linkageType: ''
    returnType: void
    signature: 'static void svg_audio_smil_evaluate(SMIL_Timing_RTI *rti, Fixed normalized_scene_time,
      GF_SGSMILTimingEvalState status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: svg_traverse_video
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - svg_traverse_bitmap
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_video(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:576,1
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/svg_media.c:579,1
    - Dst: gf_mo_pause
      Src: /src/gpac/src/compositor/svg_media.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - n
    - pause
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 580
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 580
    functionName: svg_pause_video
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_mo_pause
    - gf_mo_resume
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void svg_pause_video(GF_Node *n, Bool pause) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:799,1
    - Dst: gf_smil_get_element
      Src: /src/gpac/src/compositor/svg_media.c:799,1
    - Dst: gf_mo_is_done
      Src: /src/gpac/src/compositor/svg_media.c:807,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/svg_media.c:804,1
    - Dst: gf_smil_get_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:807,1
    - Dst: gf_mo_get_duration
      Src: /src/gpac/src/compositor/svg_media.c:808,1
    - Dst: gf_smil_set_media_duration
      Src: /src/gpac/src/compositor/svg_media.c:809,1
    - Dst: gf_mo_set_flag
      Src: /src/gpac/src/compositor/svg_media.c:815,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/svg_media.c:816,1
    - Dst: gf_mo_restart
      Src: /src/gpac/src/compositor/svg_media.c:819,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - rti
    - normalized_scene_time
    - status
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 824
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 824
    functionName: svg_updates_smil_evaluate
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_smil_set_media_duration
    - gf_mo_set_flag
    - gf_mo_stop
    - gf_node_get_private
    - gf_mo_is_done
    - gf_mo_play
    - gf_smil_get_element
    - gf_smil_get_media_duration
    - gf_mo_restart
    - gf_mo_get_duration
    linkageType: ''
    returnType: void
    signature: 'static void svg_updates_smil_evaluate(SMIL_Timing_RTI *rti, Fixed
      normalized_scene_time, GF_SGSMILTimingEvalState status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_media.c:552,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_media.c:557,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_media.c:566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_media.c:554,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/svg_media.c:561,1
    - Dst: gf_smil_set_evaluation_callback
      Src: /src/gpac/src/compositor/svg_media.c:568,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_media.c:570,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_media.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: compositor_init_svg_video
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - gf_smil_set_evaluation_callback
    - GF_SAFEALLOC
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_video(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_media.c:586,1
    - Dst: svg_audio_smil_evaluate_ex
      Src: /src/gpac/src/compositor/svg_media.c:591,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/svg_media.c:596,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/svg_media.c:592,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:587,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/svg_media.c:597,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_media.c:600,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/svg_media.c:602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: compositor_svg_video_modified
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop
    - gf_sc_next_frame_state
    - gf_node_get_private
    - gf_node_dirty_get
    - gf_sg_vrml_mf_reset
    - gf_node_dirty_set
    - svg_audio_smil_evaluate_ex
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'void compositor_svg_video_modified(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:829,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/svg_media.c:839,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_media.c:843,1
    - Dst: gf_mo_set_flag
      Src: /src/gpac/src/compositor/svg_media.c:838,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/svg_media.c:841,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_media.c:850,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_media.c:851,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_media.c:854,1
    - Dst: gf_sc_get_mfurl_from_xlink
      Src: /src/gpac/src/compositor/svg_media.c:867,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/svg_media.c:869,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/svg_media.c:878,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_media.c:883,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/svg_media.c:875,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/svg_media.c:874,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/compositor/svg_media.c:870,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_media.c:881,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 885
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 885
    functionName: svg_traverse_updates
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_mo_set_flag
    - gf_sc_get_mfurl_from_xlink
    - gf_svg_flatten_attributes
    - gf_mo_stop
    - gf_node_get_private
    - compositor_svg_traverse_base
    - gf_mo_play
    - gf_node_dirty_get
    - gf_mo_unregister
    - gf_sg_mfurl_del
    - gf_mo_register
    - memcpy
    - gf_free
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_updates(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_media.c:890,1
    - Dst: gf_smil_set_evaluation_callback
      Src: /src/gpac/src/compositor/svg_media.c:899,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_media.c:901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_media.c:892,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_media.c:897,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_media.c:902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 904
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 904
    functionName: compositor_init_svg_updates
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_smil_set_evaluation_callback
    - GF_SAFEALLOC
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_updates(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/svg_media.c:263,1
    - Dst: compositor_3d_draw_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:266,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/svg_media.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - TRAVERSE_DRAW_3D
    argTypes:
    - tr_state
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - mesh_from_path
    - compositor_3d_draw_bitmap
    - new_mesh
    linkageType: ''
    returnType: else
    signature: 'else if (tr_state->traversing_mode==TRAVERSE_DRAW_3D) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:391,1
    - Dst: gf_sc_texture_play_from_to
      Src: /src/gpac/src/compositor/svg_media.c:395,1
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/svg_media.c:398,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/svg_media.c:402,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/svg_media.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: SVG_Update_image
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_play_from_to
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_texture_update_frame
    - gf_node_dirty_parents
    linkageType: ''
    returnType: void
    signature: 'static void SVG_Update_image(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_bitmap
      Src: /src/gpac/src/compositor/svg_media.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: svg_traverse_image
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - svg_traverse_bitmap
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_image(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_media.c:758,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_media.c:768,1
    - Dst: gf_smil_set_evaluation_callback
      Src: /src/gpac/src/compositor/svg_media.c:766,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_media.c:763,1
    - Dst: gf_sc_audio_setup
      Src: /src/gpac/src/compositor/svg_media.c:760,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_media.c:769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - compositor
    - node
    - slaved_timing
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: compositor_init_svg_audio
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_smil_set_evaluation_callback
    - gf_sc_audio_setup
    - GF_SAFEALLOC
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_audio(GF_Compositor *compositor, GF_Node
      *node, Bool slaved_timing) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_media.c:415,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_media.c:420,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/svg_media.c:424,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_media.c:417,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_media.c:429,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_media.c:431,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_media.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: compositor_init_svg_image
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_image(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_media.c:774,1
    - Dst: gf_mo_pause
      Src: /src/gpac/src/compositor/svg_media.c:776,1
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/svg_media.c:777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - n
    - pause
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: svg_pause_audio
    functionSourceFile: /src/gpac/src/compositor/svg_media.c
    functionUses: []
    functionsReached:
    - gf_mo_pause
    - gf_mo_resume
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void svg_pause_audio(GF_Node *n, Bool pause) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:44,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:49,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:50,1
    - Dst: PreDestroyBindable
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:46,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:47,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:51,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:52,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:54,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:56,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:57,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:59,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: DestroyBackground2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sc_texture_destroy
    - mesh_free
    - gf_list_del
    - gf_node_get_private
    - gf_list_count
    - drawable_del
    - gf_list_rem
    - gf_free
    - PreDestroyBindable
    linkageType: ''
    returnType: void
    signature: 'static void DestroyBackground2D(GF_Node *node) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:114,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:136,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:135,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:121,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:142,1
    - Dst: compositor_2d_hybgl_clear_surface
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:167,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:197,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - tr_state
    argTypes:
    - DrawableContext*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 205
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 205
    functionName: DrawBackground2D_2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - back_use_texture
    - gf_node_get_private
    - gf_irect_intersect
    - compositor_2d_hybgl_clear_surface
    - visual_2d_texture_path
    - gf_path_reset
    - gf_path_add_rect_center
    linkageType: ''
    returnType: void
    signature: 'static void DrawBackground2D_2D(DrawableContext *ctx, GF_TraverseState
      *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:87,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:91,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - stack
    - background_stack
    argTypes:
    - Background2DStack*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: b2d_get_status
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: BackgroundStatus*
    signature: 'static BackgroundStatus *b2d_get_status(Background2DStack *stack,
      GF_List *background_stack) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:210,1
    - Dst: gf_sc_texture_is_transparent
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:217,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:215,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - bck
    - txh
    argTypes:
    - M_Background2D*
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: back_texture_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - back_use_texture
    - gf_sc_invalidate
    - gf_sc_texture_set_blend_mode
    - gf_sc_texture_is_transparent
    linkageType: ''
    returnType: Bool
    signature: 'static Bool back_texture_enabled(M_Background2D *bck, GF_TextureHandler
      *txh) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:344,1
    - Dst: DrawBackground2D_2D
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:333,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:346,1
    - Dst: b2D_new_status
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:347,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:350,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:360,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:374,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:362,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:384,1
    - Dst: DestroyBackground2D
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:321,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:370,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:377,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:385,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:317,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:345,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:353,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:360,1
    - Dst: b2d_get_status
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:367,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:383,1
    - Dst: DrawBackground2D_3D
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:414,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:341,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:389,1
    - Dst: DrawBackground2D_2D
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:417,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 88
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 418
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 418
    functionName: TraverseBackground2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - DestroyBackground2D
    - gf_list_add
    - back_use_texture
    - gf_list_get
    - gf_sc_texture_play
    - gf_list_find
    - gf_node_get_private
    - gf_sc_invalidate
    - DrawBackground2D_2D
    - b2d_get_status
    - gf_node_dirty_get
    - GF_COL_ARGB_FIXED
    - DrawBackground2D_3D
    - FIX2INT
    - Bindable_SetIsBound
    - b2D_new_status
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBackground2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:435,1
    - Dst: b2d_get_status
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - node
    - from_stack
    argTypes:
    - M_Background2D*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: b2d_get_context
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - b2d_get_status
    - gf_node_get_private
    linkageType: ''
    returnType: DrawableContext*
    signature: 'DrawableContext *b2d_get_context(M_Background2D *node, GF_List *from_stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:465,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:472,1
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:467,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:471,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:479,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:484,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 486
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 486
    functionName: compositor_init_background2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - drawable_stack_new
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_background2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:513,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: compositor_background_transparent
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_background_transparent(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:68,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:77,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:70,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:73,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bck
    - back
    argTypes:
    - Background2DStack*
    - M_Background2D*
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: b2D_new_status
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_mx2d_init
    - GF_COL_ARGB_FIXED
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void b2D_new_status(Background2DStack *bck, M_Background2D*back) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - bck
    argTypes:
    - M_Background2D*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: back_use_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: Bool
    signature: 'static Bool back_use_texture(M_Background2D *bck) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:231,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:236,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:232,1
    - Dst: visual_3d_set_background_state
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:238,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:259,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:261,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:260,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:269,1
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:270,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:272,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:249,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:265,1
    - Dst: visual_3d_set_background_state
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:308,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:295,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:301,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:305,1
    - Dst: back_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:227,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:246,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:248,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:257,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:250,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:255,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:270,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:276,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:278,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:280,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:299,1
    - Dst: visual_3d_set_background_state
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:229,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:243,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:244,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:256,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:258,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:274,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:283,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:298,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:306,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 88
    argCount: 3
    argNames:
    - bck
    - st
    - tr_state
    argTypes:
    - M_Background2D*
    - Background2DStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 309
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 309
    functionName: DrawBackground2D_3D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - visual_3d_clear
    - gf_sc_texture_disable
    - gf_mx_add_scale
    - visual_3d_set_state
    - gf_mx_init
    - visual_3d_mesh_paint
    - visual_3d_set_material_2d
    - gf_mx_copy
    - mesh_set_triangle
    - visual_3d_set_background_state
    - back_texture_enabled
    - gf_mx_add_matrix
    - mesh_set_vertex
    - gf_sc_texture_enable
    - gf_mx_add_translation
    - gf_tan
    - gf_muldiv
    - gf_mulfix
    - new_mesh
    linkageType: ''
    returnType: void
    signature: 'static void DrawBackground2D_3D(M_Background2D *bck, Background2DStack
      *st, GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:423,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: b2D_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - Bindable_OnSetBind
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void b2D_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:448,1
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:458,1
    - Dst: gf_sc_texture_restart
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: UpdateBackgroundTexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_update_frame
    - gf_mo_get_loop
    - gf_sc_texture_restart
    linkageType: ''
    returnType: void
    signature: 'static void UpdateBackgroundTexture(GF_TextureHandler *txh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:491,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:500,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:501,1
    - Dst: gf_sc_texture_check_url_change
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:499,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:495,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:506,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background2d.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: compositor_background2d_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop
    - gf_sc_texture_play
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_texture_check_url_change
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_background2d_modified(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/compositor_node_init.c:35,1
    - Dst: compositor_init_bitwrapper
      Src: /src/gpac/src/compositor/compositor_node_init.c:41,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/compositor_node_init.c:37,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor_node_init.c:40,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_node_init.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - compositor
    - node
    - url
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: compositor_init_afx_node
    functionSourceFile: /src/gpac/src/compositor/compositor_node_init.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - GF_LOG
    - gf_mo_register
    - gf_node_get_class_name
    - compositor_init_bitwrapper
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_afx_node(GF_Compositor *compositor, GF_Node *node,
      MFURL *url) '
  - BBCount: 164
    BranchProfiles: []
    Callsites:
    - Dst: compositor_init_pixeltexture
      Src: /src/gpac/src/compositor/compositor_node_init.c:83,1
    - Dst: compositor_init_proximity_sensor2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:188,1
    - Dst: compositor_init_lod
      Src: /src/gpac/src/compositor/compositor_node_init.c:336,1
    - Dst: compositor_init_ils
      Src: /src/gpac/src/compositor/compositor_node_init.c:306,1
    - Dst: compositor_init_svg_font
      Src: /src/gpac/src/compositor/compositor_node_init.c:550,1
    - Dst: compositor_init_lineprops
      Src: /src/gpac/src/compositor/compositor_node_init.c:129,1
    - Dst: compositor_init_sound2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:143,1
    - Dst: compositor_init_curve2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:105,1
    - Dst: compositor_init_pointset2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:117,1
    - Dst: compositor_init_radial_gradient
      Src: /src/gpac/src/compositor/compositor_node_init.c:150,1
    - Dst: compositor_init_svg_switch
      Src: /src/gpac/src/compositor/compositor_node_init.c:482,1
    - Dst: compositor_init_svg_tspan
      Src: /src/gpac/src/compositor/compositor_node_init.c:529,1
    - Dst: compositor_init_svg_video
      Src: /src/gpac/src/compositor/compositor_node_init.c:542,1
    - Dst: compositor_init_spot_light
      Src: /src/gpac/src/compositor/compositor_node_init.c:384,1
    - Dst: compositor_init_plane_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:246,1
    - Dst: compositor_init_cone
      Src: /src/gpac/src/compositor/compositor_node_init.c:276,1
    - Dst: compositor_init_viewpoint
      Src: /src/gpac/src/compositor/compositor_node_init.c:354,1
    - Dst: compositor_init_triangle_set2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:420,1
    - Dst: compositor_init_svg_audio
      Src: /src/gpac/src/compositor/compositor_node_init.c:545,1
    - Dst: compositor_init_svg_use
      Src: /src/gpac/src/compositor/compositor_node_init.c:561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_node_init.c:582,1
    - Dst: compositor_init_anchor
      Src: /src/gpac/src/compositor/compositor_node_init.c:179,1
    - Dst: compositor_init_rectangle
      Src: /src/gpac/src/compositor/compositor_node_init.c:207,1
    - Dst: compositor_init_compositetexture3d
      Src: /src/gpac/src/compositor/compositor_node_init.c:395,1
    - Dst: compositor_init_bitmap
      Src: /src/gpac/src/compositor/compositor_node_init.c:96,1
    - Dst: compositor_init_mattetexture
      Src: /src/gpac/src/compositor/compositor_node_init.c:157,1
    - Dst: compositor_init_path_layout
      Src: /src/gpac/src/compositor/compositor_node_init.c:170,1
    - Dst: compositor_init_triangle_strip_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:434,1
    - Dst: compositor_init_indexed_triangle_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:446,1
    - Dst: compositor_init_svg_ellipse
      Src: /src/gpac/src/compositor/compositor_node_init.c:494,1
    - Dst: compositor_init_svg_a
      Src: /src/gpac/src/compositor/compositor_node_init.c:506,1
    - Dst: compositor_init_plane_sensor2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:185,1
    - Dst: compositor_init_cylinder_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:240,1
    - Dst: compositor_init_box
      Src: /src/gpac/src/compositor/compositor_node_init.c:270,1
    - Dst: compositor_init_sphere
      Src: /src/gpac/src/compositor/compositor_node_init.c:318,1
    - Dst: compositor_init_sound
      Src: /src/gpac/src/compositor/compositor_node_init.c:348,1
    - Dst: compositor_init_static_group
      Src: /src/gpac/src/compositor/compositor_node_init.c:407,1
    - Dst: compositor_init_point_light
      Src: /src/gpac/src/compositor/compositor_node_init.c:378,1
    - Dst: compositor_init_svg_radialGradient
      Src: /src/gpac/src/compositor/compositor_node_init.c:516,1
    - Dst: compositor_init_audiosource
      Src: /src/gpac/src/compositor/compositor_node_init.c:57,1
    - Dst: compositor_init_orderedgroup
      Src: /src/gpac/src/compositor/compositor_node_init.c:114,1
    - Dst: compositor_init_lineprops
      Src: /src/gpac/src/compositor/compositor_node_init.c:126,1
    - Dst: compositor_init_indexed_face_set2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:139,1
    - Dst: compositor_init_triangle_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:431,1
    - Dst: compositor_init_afx_node
      Src: /src/gpac/src/compositor/compositor_node_init.c:460,1
    - Dst: compositor_init_svg_image
      Src: /src/gpac/src/compositor/compositor_node_init.c:539,1
    - Dst: compositor_init_svg_updates
      Src: /src/gpac/src/compositor/compositor_node_init.c:577,1
    - Dst: compositor_init_svg_solidColor
      Src: /src/gpac/src/compositor/compositor_node_init.c:519,1
    - Dst: compositor_init_fog
      Src: /src/gpac/src/compositor/compositor_node_init.c:366,1
    - Dst: compositor_init_audioclip
      Src: /src/gpac/src/compositor/compositor_node_init.c:63,1
    - Dst: compositor_init_sphere_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:258,1
    - Dst: compositor_init_elevation_grid
      Src: /src/gpac/src/compositor/compositor_node_init.c:288,1
    - Dst: compositor_init_polyline2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:417,1
    - Dst: compositor_init_svg_defs
      Src: /src/gpac/src/compositor/compositor_node_init.c:477,1
    - Dst: compositor_init_svg_font_face_uri
      Src: /src/gpac/src/compositor/compositor_node_init.c:557,1
    - Dst: compositor_init_switch
      Src: /src/gpac/src/compositor/compositor_node_init.c:219,1
    - Dst: compositor_init_layer3d
      Src: /src/gpac/src/compositor/compositor_node_init.c:392,1
    - Dst: compositor_init_disk2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:410,1
    - Dst: compositor_init_layout
      Src: /src/gpac/src/compositor/compositor_node_init.c:167,1
    - Dst: compositor_init_imagetexture
      Src: /src/gpac/src/compositor/compositor_node_init.c:76,1
    - Dst: compositor_init_background2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:93,1
    - Dst: compositor_init_compositetexture2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:154,1
    - Dst: compositor_init_indexed_triangle_strip_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:443,1
    - Dst: compositor_init_svg_circle
      Src: /src/gpac/src/compositor/compositor_node_init.c:491,1
    - Dst: compositor_init_svg_polygon
      Src: /src/gpac/src/compositor/compositor_node_init.c:503,1
    - Dst: compositor_init_disc_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:182,1
    - Dst: compositor_init_proximity_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:252,1
    - Dst: compositor_init_cylinder
      Src: /src/gpac/src/compositor/compositor_node_init.c:282,1
    - Dst: compositor_init_navigation_info
      Src: /src/gpac/src/compositor/compositor_node_init.c:360,1
    - Dst: gf_sc_init_hardcoded_proto
      Src: /src/gpac/src/compositor/compositor_node_init.c:453,1
    - Dst: compositor_init_animationstream
      Src: /src/gpac/src/compositor/compositor_node_init.c:51,1
    - Dst: compositor_init_audiobuffer
      Src: /src/gpac/src/compositor/compositor_node_init.c:54,1
    - Dst: compositor_init_ellipse
      Src: /src/gpac/src/compositor/compositor_node_init.c:111,1
    - Dst: compositor_init_transformmatrix2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:123,1
    - Dst: compositor_init_shape
      Src: /src/gpac/src/compositor/compositor_node_init.c:213,1
    - Dst: compositor_init_indexed_line_set2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:136,1
    - Dst: compositor_init_visibility_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:264,1
    - Dst: compositor_init_lineset
      Src: /src/gpac/src/compositor/compositor_node_init.c:428,1
    - Dst: compositor_init_svg_tbreak
      Src: /src/gpac/src/compositor/compositor_node_init.c:535,1
    - Dst: compositor_init_arc2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:414,1
    - Dst: compositor_init_ifs
      Src: /src/gpac/src/compositor/compositor_node_init.c:300,1
    - Dst: compositor_init_collision
      Src: /src/gpac/src/compositor/compositor_node_init.c:330,1
    - Dst: compositor_init_svg_g
      Src: /src/gpac/src/compositor/compositor_node_init.c:471,1
    - Dst: compositor_init_svg_glyph
      Src: /src/gpac/src/compositor/compositor_node_init.c:554,1
    - Dst: compositor_init_svg_foreign_object
      Src: /src/gpac/src/compositor/compositor_node_init.c:567,1
    - Dst: compositor_init_layer2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:164,1
    - Dst: compositor_init_non_linear_deformer
      Src: /src/gpac/src/compositor/compositor_node_init.c:388,1
    - Dst: compositor_init_circle
      Src: /src/gpac/src/compositor/compositor_node_init.c:102,1
    - Dst: compositor_init_group
      Src: /src/gpac/src/compositor/compositor_node_init.c:201,1
    - Dst: compositor_init_indexed_triangle_fan_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:440,1
    - Dst: compositor_init_svg_svg
      Src: /src/gpac/src/compositor/compositor_node_init.c:468,1
    - Dst: compositor_init_svg_path
      Src: /src/gpac/src/compositor/compositor_node_init.c:488,1
    - Dst: compositor_init_svg_polyline
      Src: /src/gpac/src/compositor/compositor_node_init.c:500,1
    - Dst: compositor_init_svg_linearGradient
      Src: /src/gpac/src/compositor/compositor_node_init.c:513,1
    - Dst: compositor_init_svg_text
      Src: /src/gpac/src/compositor/compositor_node_init.c:526,1
    - Dst: compositor_init_timesensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:69,1
    - Dst: compositor_init_directional_light
      Src: /src/gpac/src/compositor/compositor_node_init.c:372,1
    - Dst: compositor_init_extrusion
      Src: /src/gpac/src/compositor/compositor_node_init.c:294,1
    - Dst: compositor_init_billboard
      Src: /src/gpac/src/compositor/compositor_node_init.c:324,1
    - Dst: compositor_init_svg_filter
      Src: /src/gpac/src/compositor/compositor_node_init.c:572,1
    - Dst: compositor_init_touch_sensor
      Src: /src/gpac/src/compositor/compositor_node_init.c:194,1
    - Dst: compositor_init_text
      Src: /src/gpac/src/compositor/compositor_node_init.c:226,1
    - Dst: compositor_init_curve2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:108,1
    - Dst: compositor_init_transform2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:120,1
    - Dst: compositor_init_viewport
      Src: /src/gpac/src/compositor/compositor_node_init.c:132,1
    - Dst: compositor_init_linear_gradient
      Src: /src/gpac/src/compositor/compositor_node_init.c:147,1
    - Dst: compositor_init_afx_node
      Src: /src/gpac/src/compositor/compositor_node_init.c:457,1
    - Dst: compositor_init_svg_textarea
      Src: /src/gpac/src/compositor/compositor_node_init.c:532,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/compositor_node_init.c:582,1
    - Dst: compositor_init_transform
      Src: /src/gpac/src/compositor/compositor_node_init.c:342,1
    - Dst: compositor_init_movietexture
      Src: /src/gpac/src/compositor/compositor_node_init.c:89,1
    - Dst: compositor_init_background
      Src: /src/gpac/src/compositor/compositor_node_init.c:234,1
    - Dst: compositor_init_point_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:312,1
    - Dst: compositor_init_polypoint2d
      Src: /src/gpac/src/compositor/compositor_node_init.c:425,1
    - Dst: compositor_init_svg_animation
      Src: /src/gpac/src/compositor/compositor_node_init.c:564,1
    - Dst: compositor_init_form
      Src: /src/gpac/src/compositor/compositor_node_init.c:161,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor_node_init.c:48,1
    - Dst: compositor_init_colortransform
      Src: /src/gpac/src/compositor/compositor_node_init.c:99,1
    - Dst: compositor_init_envtest
      Src: /src/gpac/src/compositor/compositor_node_init.c:399,1
    - Dst: compositor_init_triangle_fan_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:437,1
    - Dst: compositor_init_svg_rect
      Src: /src/gpac/src/compositor/compositor_node_init.c:485,1
    - Dst: compositor_init_svg_line
      Src: /src/gpac/src/compositor/compositor_node_init.c:497,1
    - Dst: compositor_init_svg_clip_path
      Src: /src/gpac/src/compositor/compositor_node_init.c:509,1
    - Dst: compositor_init_svg_stop
      Src: /src/gpac/src/compositor/compositor_node_init.c:522,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 126
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 585
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 585
    functionName: gf_sc_on_node_init
    functionSourceFile: /src/gpac/src/compositor/compositor_node_init.c
    functionUses: []
    functionsReached:
    - compositor_init_ils
    - compositor_init_svg_polyline
    - compositor_init_audiobuffer
    - compositor_init_radial_gradient
    - compositor_init_form
    - compositor_init_animationstream
    - compositor_init_layout
    - compositor_init_pointset2d
    - compositor_init_svg_line
    - compositor_init_timesensor
    - compositor_init_rectangle
    - compositor_init_plane_sensor
    - compositor_init_svg_image
    - compositor_init_svg_video
    - compositor_init_layer2d
    - compositor_init_proximity_sensor2d
    - compositor_init_svg_clip_path
    - compositor_init_svg_g
    - compositor_init_svg_path
    - compositor_init_box
    - compositor_init_navigation_info
    - compositor_init_audioclip
    - compositor_init_svg_a
    - compositor_init_arc2d
    - compositor_init_lineset
    - compositor_init_plane_sensor2d
    - compositor_init_indexed_line_set2d
    - compositor_init_svg_font_face_uri
    - compositor_init_lod
    - compositor_init_svg_radialGradient
    - compositor_init_svg_use
    - compositor_init_triangle_fan_set
    - compositor_init_svg_ellipse
    - gf_node_get_tag
    - compositor_init_indexed_face_set2d
    - compositor_init_elevation_grid
    - compositor_init_lineprops
    - compositor_init_ellipse
    - compositor_init_svg_glyph
    - compositor_init_sound2d
    - compositor_init_transformmatrix2d
    - compositor_init_background2d
    - compositor_init_viewport
    - compositor_init_cone
    - compositor_init_disc_sensor
    - compositor_init_disk2d
    - compositor_init_anchor
    - compositor_init_svg_text
    - compositor_init_polypoint2d
    - compositor_init_svg_textarea
    - compositor_init_audiosource
    - compositor_init_svg_rect
    - compositor_init_text
    - compositor_init_svg_polygon
    - compositor_init_layer3d
    - compositor_init_sphere
    - compositor_init_spot_light
    - compositor_init_point_set
    - compositor_init_background
    - compositor_init_svg_circle
    - compositor_init_sphere_sensor
    - compositor_init_imagetexture
    - compositor_init_cylinder
    - compositor_init_envtest
    - compositor_init_polyline2d
    - compositor_init_collision
    - compositor_init_triangle_set2d
    - compositor_init_group
    - compositor_init_svg_tspan
    - compositor_init_static_group
    - compositor_init_bitmap
    - compositor_init_colortransform
    - compositor_init_svg_solidColor
    - compositor_init_shape
    - compositor_init_extrusion
    - compositor_init_compositetexture2d
    - compositor_init_svg_filter
    - compositor_init_path_layout
    - compositor_init_transform2d
    - compositor_init_linear_gradient
    - compositor_init_fog
    - compositor_init_svg_updates
    - compositor_init_svg_font
    - compositor_init_billboard
    - compositor_init_non_linear_deformer
    - compositor_init_ifs
    - gf_node_get_class_name
    - compositor_init_svg_defs
    - compositor_init_svg_stop
    - compositor_init_touch_sensor
    - compositor_init_triangle_strip_set
    - compositor_init_curve2d
    - compositor_init_svg_audio
    - compositor_init_movietexture
    - compositor_init_directional_light
    - compositor_init_pixeltexture
    - compositor_init_indexed_triangle_strip_set
    - compositor_init_svg_svg
    - gf_sc_init_hardcoded_proto
    - compositor_init_circle
    - compositor_init_proximity_sensor
    - compositor_init_transform
    - compositor_init_svg_linearGradient
    - compositor_init_triangle_set
    - GF_LOG
    - compositor_init_viewpoint
    - compositor_init_indexed_triangle_set
    - compositor_init_point_light
    - compositor_init_indexed_triangle_fan_set
    - compositor_init_svg_switch
    - compositor_init_compositetexture3d
    - compositor_init_afx_node
    - compositor_init_svg_animation
    - compositor_init_sound
    - compositor_init_svg_foreign_object
    - compositor_init_orderedgroup
    - compositor_init_cylinder_sensor
    - compositor_init_visibility_sensor
    - compositor_init_mattetexture
    - compositor_init_svg_tbreak
    - compositor_init_switch
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_on_node_init(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor_node_init.c:592,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor_node_init.c:595,1
    - Dst: compositor_audiobuffer_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:601,1
    - Dst: compositor_audiosource_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:604,1
    - Dst: compositor_animationstream_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:598,1
    - Dst: compositor_audioclip_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:610,1
    - Dst: compositor_timesensor_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:616,1
    - Dst: compositor_imagetexture_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:623,1
    - Dst: compositor_movietexture_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:630,1
    - Dst: compositor_background2d_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:634,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/compositor_node_init.c:662,1
    - Dst: compositor_background_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:641,1
    - Dst: compositor_layout_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:645,1
    - Dst: compositor_envtest_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:648,1
    - Dst: compositor_svg_video_modified
      Src: /src/gpac/src/compositor/compositor_node_init.c:655,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor_node_init.c:663,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 20
    argCount: 2
    argNames:
    - compositor
    - byObj
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 666
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 666
    functionName: gf_sc_invalidate
    functionSourceFile: /src/gpac/src/compositor/compositor_node_init.c
    functionUses: []
    functionsReached:
    - compositor_audiosource_modified
    - compositor_timesensor_modified
    - gf_sc_next_frame_state
    - compositor_layout_modified
    - gf_node_get_tag
    - compositor_envtest_modified
    - compositor_animationstream_modified
    - compositor_audioclip_modified
    - compositor_imagetexture_modified
    - compositor_background2d_modified
    - compositor_background_modified
    - compositor_movietexture_modified
    - compositor_svg_video_modified
    - compositor_audiobuffer_modified
    - gf_node_dirty_set
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_invalidate(GF_Compositor *compositor, GF_Node
      *byObj) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:533,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:570,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/font_engine.c:572,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/font_engine.c:535,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/font_engine.c:571,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/font_engine.c:574,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 576
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 576
    functionName: gf_font_manager_refresh_span_bounds
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_rect_center
    - gf_mx2d_apply_rect
    - gf_mulfix
    - gf_rect_union
    - gf_mx2d_init
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_font_manager_refresh_span_bounds(GF_TextSpan *span) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - spans
    - tr_state
    - asp
    - text_hl
    - force_texturing
    argTypes:
    - GF_List*
    - GF_TraverseState*
    - DrawAspect2D*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1559
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1559
    functionName: gf_font_spans_draw_3d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_draw_3d(GF_List *spans, GF_TraverseState *tr_state,
      DrawAspect2D *asp, u32 text_hl, Bool force_texturing) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:590,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:599,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:624,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/font_engine.c:612,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:622,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/font_engine.c:591,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:589,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:605,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/font_engine.c:586,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:588,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:601,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/font_engine.c:617,1
    - Dst: gf_path_add_subpath
      Src: /src/gpac/src/compositor/font_engine.c:618,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/font_engine.c:615,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:593,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:594,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:604,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/compositor/font_engine.c:630,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:610,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 633
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 633
    functionName: gf_font_span_create_path
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mulfix
    - gf_mx2d_add_scale
    - gf_mx2d_init
    - INT2FIX
    - gf_path_new
    - gf_divfix
    - gf_path_add_subpath
    - gf_mx2d_apply_point
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: GF_Path*
    signature: 'GF_Path *gf_font_span_create_path(GF_TextSpan *span) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1002,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/font_engine.c:1040,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1007,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:1014,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1008,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/font_engine.c:1043,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/font_engine.c:1053,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/font_engine.c:1055,1
    - Dst: visual_2d_texture_path_extended
      Src: /src/gpac/src/compositor/font_engine.c:1057,1
    - Dst: visual_2d_draw_path_extended
      Src: /src/gpac/src/compositor/font_engine.c:1058,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/font_engine.c:1060,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1070,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 4
    argNames:
    - tr_state
    - span
    - ctx
    - bounds
    argTypes:
    - GF_TraverseState*
    - GF_TextSpan*
    - DrawableContext*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1072
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1072
    functionName: gf_font_span_draw_2d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - gf_mulfix
    - gf_mx2d_add_matrix
    - gf_divfix
    - visual_2d_texture_path_extended
    - visual_2d_draw_path_extended
    - gf_mx2d_copy
    - gf_mx2d_add_rotation
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'static void gf_font_span_draw_2d(GF_TraverseState *tr_state, GF_TextSpan
      *span, DrawableContext *ctx, GF_Rect *bounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - node
    - spans
    - tr_state
    argTypes:
    - GF_Node*
    - GF_List*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1562
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1562
    functionName: gf_font_spans_get_selection
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_get_selection(GF_Node *node, GF_List *spans, GF_TraverseState
      *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/compositor/font_engine.c:54,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/font_engine.c:62,1
    - Dst: gf_module_load
      Src: /src/gpac/src/compositor/font_engine.c:56,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:60,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:67,1
    - Dst: gf_font_manager_set_font
      Src: /src/gpac/src/compositor/font_engine.c:68,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/font_engine.c:71,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/font_engine.c:72,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:73,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:75,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/font_engine.c:76,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: gf_font_manager_new
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - gf_path_close
    - gf_path_add_line_to
    - gf_module_load
    - gf_path_new
    - GF_SAFEALLOC
    - gf_opts_get_bool
    - gf_font_manager_set_font
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FontManager *gf_font_manager_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/font_engine.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - fm
    - font
    argTypes:
    - GF_FontManager*
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: gf_font_manager_register_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_font_manager_register_font(GF_FontManager *fm, GF_Font *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: gf_font_manager_refresh_span_bounds
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_manager_refresh_span_bounds(GF_TextSpan *span) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - fm
    - font
    argTypes:
    - GF_FontManager*
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1538
    functionName: gf_font_manager_unregister_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_font_manager_unregister_font(GF_FontManager *fm, GF_Font
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 5
    argNames:
    - fm
    - alt_fonts
    - nb_fonts
    - styles
    - check_only
    argTypes:
    - GF_FontManager*
    - char**
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1546
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1546
    functionName: gf_font_manager_set_font_ex
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Font*
    signature: 'GF_Font *gf_font_manager_set_font_ex(GF_FontManager *fm, char **alt_fonts,
      u32 nb_fonts, u32 styles, Bool check_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/font_engine.c:87,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/font_engine.c:95,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:88,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/font_engine.c:91,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/font_engine.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - font
    argTypes:
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: gf_font_predestroy
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void gf_font_predestroy(GF_Font *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_predestroy
      Src: /src/gpac/src/compositor/font_engine.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - fm
    - font
    argTypes:
    - GF_FontManager*
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: gf_font_manager_unregister_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_font_predestroy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_font_manager_unregister_font(GF_FontManager *fm, GF_Font
      *font) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: span_build_mesh
      Src: /src/gpac/src/compositor/font_engine.c:685,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/font_engine.c:702,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:705,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:704,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:723,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/font_engine.c:736,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/font_engine.c:743,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/font_engine.c:745,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:760,1
    - Dst: gf_evg_surface_attach_to_texture
      Src: /src/gpac/src/compositor/font_engine.c:764,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/font_engine.c:767,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/font_engine.c:782,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:796,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:772,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/font_engine.c:778,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:701,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:702,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:710,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/font_engine.c:716,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:705,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:716,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:723,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:724,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:738,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/font_engine.c:744,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/font_engine.c:774,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/font_engine.c:784,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/font_engine.c:792,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/font_engine.c:803,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/font_engine.c:797,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/font_engine.c:783,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/font_engine.c:766,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:788,1
    - Dst: span_alloc_extensions
      Src: /src/gpac/src/compositor/font_engine.c:676,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:696,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:702,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:704,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:724,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:728,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/font_engine.c:755,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/font_engine.c:757,1
    - Dst: gf_font_span_create_path
      Src: /src/gpac/src/compositor/font_engine.c:779,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/font_engine.c:780,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:795,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:761,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/font_engine.c:773,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:695,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:699,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:701,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/font_engine.c:710,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/font_engine.c:710,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/font_engine.c:705,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/font_engine.c:716,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/font_engine.c:731,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:737,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:740,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/font_engine.c:763,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/font_engine.c:800,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/font_engine.c:799,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/font_engine.c:777,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:794,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:785,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/font_engine.c:793,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/font_engine.c:742,1
    - Dst: span_build_mesh
      Src: /src/gpac/src/compositor/font_engine.c:804,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 152
    argCount: 4
    argNames:
    - compositor
    - span
    - for_3d
    - tr_state
    argTypes:
    - GF_Compositor*
    - GF_TextSpan*
    - Bool
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 807
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 807
    functionName: span_setup_texture
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sc_texture_release
    - memset
    - span_build_mesh
    - gf_evg_surface_set_matrix
    - gf_sc_texture_allocate
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_path_add_line_to
    - gf_sc_texture_get_stencil
    - gf_evg_surface_set_raster_level
    - gf_divfix
    - GF_SAFEALLOC
    - gf_evg_surface_new
    - gf_sc_texture_destroy
    - gf_path_add_move_to
    - gf_evg_surface_attach_to_texture
    - MIN
    - gf_evg_surface_delete
    - gf_evg_stencil_set_texture
    - gf_mx2d_init
    - gf_evg_stencil_set_brush_color
    - gf_sc_texture_setup
    - MAX
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - gf_evg_stencil_new
    - gf_ceil
    - gf_free
    - gf_evg_surface_set_path
    - gf_evg_stencil_delete
    - mesh_free
    - gf_evg_surface_fill
    - gf_sc_texture_set_blend_mode
    - gf_mulfix
    - gf_path_del
    - gf_path_close
    - gf_path_new
    - FIX2INT
    - span_alloc_extensions
    - gf_sc_texture_set_stencil
    - gf_font_span_create_path
    linkageType: ''
    returnType: Bool
    signature: 'static Bool span_setup_texture(GF_Compositor *compositor, GF_TextSpan
      *span, Bool for_3d, GF_TraverseState *tr_state) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/font_engine.c:1374,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/font_engine.c:1384,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/font_engine.c:1382,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/font_engine.c:1472,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:1499,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:1514,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/font_engine.c:1386,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/font_engine.c:1394,1
    - Dst: drawable_get_aspect_2d_svg
      Src: /src/gpac/src/compositor/font_engine.c:1402,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:1408,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:1438,1
    - Dst: svg_drawable_is_over
      Src: /src/gpac/src/compositor/font_engine.c:1446,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/font_engine.c:1476,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/font_engine.c:1487,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:1500,1
    - Dst: compositor_is_composite_texture
      Src: /src/gpac/src/compositor/font_engine.c:1503,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/font_engine.c:1477,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/font_engine.c:1486,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/font_engine.c:1512,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/font_engine.c:1383,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1393,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/compositor/font_engine.c:1397,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:1401,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:1439,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/font_engine.c:1442,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:1443,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/font_engine.c:1471,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/font_engine.c:1511,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/font_engine.c:1514,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 143
    argCount: 6
    argNames:
    - node
    - spans
    - tr_state
    - node_bounds
    - use_dom_events
    - drawable
    argTypes:
    - GF_Node*
    - GF_List*
    - GF_TraverseState*
    - GF_Rect*
    - Bool
    - Drawable*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1516
    functionName: gf_font_spans_pick
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_next_frame_state
    - memset
    - INT2FIX
    - gf_divfix
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_path_get_bounds
    - gf_mx2d_inverse
    - gf_mx_inverse
    - gf_mx2d_apply_coords
    - gf_list_count
    - svg_drawable_is_over
    - gf_mx_apply_ray
    - gf_mx_from_mx2d
    - gf_list_reset
    - gf_list_get
    - compositor_get_2d_plane_intersection
    - compositor_is_composite_texture
    - drawable_get_aspect_2d_svg
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_pick(GF_Node *node, GF_List *spans, GF_TraverseState
      *tr_state, GF_Rect *node_bounds, Bool use_dom_events, Drawable *drawable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - fm
    - font
    argTypes:
    - GF_FontManager*
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1534
    functionName: gf_font_manager_register_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_font_manager_register_font(GF_FontManager *fm, GF_Font *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - fm
    - alt_fonts
    - nb_fonts
    - styles
    argTypes:
    - GF_FontManager*
    - char**
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1542
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1542
    functionName: gf_font_manager_set_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Font*
    signature: 'GF_Font *gf_font_manager_set_font(GF_FontManager *fm, char **alt_fonts,
      u32 nb_fonts, u32 styles) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1550
    functionName: gf_font_span_create_path
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Path*
    signature: 'GF_Path *gf_font_span_create_path(GF_TextSpan *span) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - spans
    - tr_state
    - hl_color
    - force_texture_text
    - bounds
    argTypes:
    - GF_List*
    - GF_TraverseState*
    - u32
    - Bool
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1556
    functionName: gf_font_spans_draw_2d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_draw_2d(GF_List *spans, GF_TraverseState *tr_state,
      u32 hl_color, Bool force_texture_text, GF_Rect *bounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span_alloc_extensions
      Src: /src/gpac/src/compositor/font_engine.c:646,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/font_engine.c:649,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/font_engine.c:647,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/font_engine.c:650,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/font_engine.c:648,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/font_engine.c:651,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/font_engine.c:652,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/font_engine.c:653,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/font_engine.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: span_build_mesh
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_set_vertex
    - new_mesh
    - span_alloc_extensions
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'static void span_build_mesh(GF_TextSpan *span) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - node
    - spans
    - tr_state
    - node_bounds
    - use_dom_events
    - drawable
    argTypes:
    - GF_Node*
    - GF_List*
    - GF_TraverseState*
    - GF_Rect*
    - Bool
    - Drawable*
    constantsTouched: []
    func_position:
      end: 1565
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1565
    functionName: gf_font_spans_pick
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_pick(GF_Node *node, GF_List *spans, GF_TraverseState
      *tr_state, GF_Rect *node_bounds, Bool use_dom_events, Drawable *drawable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:1114,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/font_engine.c:1115,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/font_engine.c:1116,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/font_engine.c:1117,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/compositor/font_engine.c:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - col
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: col_reverse_video
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_ARGB
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: u32
    signature: 'static u32 col_reverse_video(u32 col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_predestroy
      Src: /src/gpac/src/compositor/font_engine.c:102,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:114,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:108,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:113,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - font
    argTypes:
    - GF_Font*
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: gf_font_del
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_path_del
    - gf_font_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_font_del(GF_Font *font) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:196,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/font_engine.c:192,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/font_engine.c:197,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:208,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/font_engine.c:216,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/font_engine.c:216,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:216,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:196,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/font_engine.c:256,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:191,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:201,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/font_engine.c:202,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:279,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/font_engine.c:201,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/font_engine.c:285,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 135
    argCount: 5
    argNames:
    - fm
    - alt_fonts
    - nb_fonts
    - styles
    - check_only
    argTypes:
    - GF_FontManager*
    - char**
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 319
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 319
    functionName: gf_font_manager_set_font_ex
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_strdup
    - ABS
    - GF_SAFEALLOC
    - stricmp
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Font *gf_font_manager_set_font_ex(GF_FontManager *fm,
      char **alt_fonts, u32 nb_fonts, u32 styles, Bool check_only) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:334,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:341,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:342,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/font_engine.c:340,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/font_engine.c:341,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:342,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:343,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:343,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/font_engine.c:344,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:344,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:378,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:379,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:348,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:380,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/font_engine.c:345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - fm
    - font
    - name
    argTypes:
    - GF_FontManager*
    - GF_Font*
    - u32
    constantsTouched: []
    func_position:
      end: 383
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 383
    functionName: gf_font_get_glyph
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - gf_path_add_line_to
    - gf_path_close
    - gf_path_new
    - GF_SAFEALLOC
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_Glyph*
    signature: 'static GF_Glyph *gf_font_get_glyph(GF_FontManager *fm, GF_Font *font,
      u32 name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1081,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/font_engine.c:1093,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/font_engine.c:1094,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1082,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:1092,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/font_engine.c:1095,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/font_engine.c:1103,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - tr_state
    - span
    - ctx
    - is_strikeout
    argTypes:
    - GF_TraverseState*
    - GF_TextSpan*
    - DrawableContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 1108
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1108
    functionName: gf_font_underline_span
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mx2d_pre_multiply
    - gf_mulfix
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - gf_mx2d_copy
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'void gf_font_underline_span(GF_TraverseState *tr_state, GF_TextSpan
      *span, DrawableContext *ctx, Bool is_strikeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 11
    argNames:
    - fm
    - font
    - text
    - font_size
    - needs_x_offset
    - needs_y_offset
    - needs_rotate
    - xml_lang
    - fliped_text
    - styles
    - user
    argTypes:
    - GF_FontManager*
    - GF_Font*
    - char*
    - Fixed
    - Bool
    - Bool
    - Bool
    - char*
    - Bool
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1524
    functionName: gf_font_manager_create_span
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_TextSpan*
    signature: 'GF_TextSpan *gf_font_manager_create_span(GF_FontManager *fm, GF_Font
      *font, char *text, Fixed font_size, Bool needs_x_offset, Bool needs_y_offset,
      Bool needs_rotate, const char *xml_lang, Bool fliped_text, u32 styles, GF_Node
      *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_del
      Src: /src/gpac/src/compositor/font_engine.c:129,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:133,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/font_engine.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:132,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fm
    argTypes:
    - GF_FontManager*
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: gf_font_manager_del
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_modules_close_interface
    - gf_font_del
    - gf_path_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_font_manager_del(GF_FontManager *fm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_manager_set_font_ex
      Src: /src/gpac/src/compositor/font_engine.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - fm
    - alt_fonts
    - nb_fonts
    - styles
    argTypes:
    - GF_FontManager*
    - char**
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: gf_font_manager_set_font
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_font_manager_set_font_ex
    linkageType: ''
    returnType: GF_Font*
    signature: 'GF_Font *gf_font_manager_set_font(GF_FontManager *fm, char **alt_fonts,
      u32 nb_fonts, u32 styles) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/font_engine.c:393,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/font_engine.c:403,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:413,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:425,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:427,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:428,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:435,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:436,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/font_engine.c:444,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/font_engine.c:431,1
    - Dst: gf_font_get_glyph
      Src: /src/gpac/src/compositor/font_engine.c:440,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:432,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 11
    argNames:
    - fm
    - font
    - text
    - font_size
    - needs_x_offset
    - needs_y_offset
    - needs_rotate
    - xml_lang
    - fliped_text
    - styles
    - user
    argTypes:
    - GF_FontManager*
    - GF_Font*
    - char*
    - Fixed
    - Bool
    - Bool
    - Bool
    - char*
    - Bool
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 447
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 447
    functionName: gf_font_manager_create_span
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - gf_realloc
    - gf_font_get_glyph
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_TextSpan *gf_font_manager_create_span(GF_FontManager
      *fm, GF_Font *font, char *text, Fixed font_size, Bool needs_x_offset, Bool needs_y_offset,
      Bool needs_rotate, const char *xml_lang, Bool fliped_text, u32 styles, GF_Node
      *user) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - fm
    - span
    argTypes:
    - GF_FontManager*
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 1527
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1527
    functionName: gf_font_manager_delete_span
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_font_manager_delete_span(GF_FontManager *fm, GF_TextSpan *span) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/font_engine.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: span_alloc_extensions
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void span_alloc_extensions(GF_TextSpan *span) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: span_alloc_extensions
      Src: /src/gpac/src/compositor/font_engine.c:814,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:819,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/font_engine.c:817,1
    - Dst: gf_font_span_create_path
      Src: /src/gpac/src/compositor/font_engine.c:816,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/font_engine.c:818,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/font_engine.c:822,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - span
    - tr_state
    argTypes:
    - GF_TextSpan*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 823
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 823
    functionName: span_fill_3d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - mesh_from_path
    - gf_path_del
    - new_mesh
    - visual_3d_mesh_paint
    - span_alloc_extensions
    - gf_font_span_create_path
    linkageType: ''
    returnType: void
    signature: 'static void span_fill_3d(GF_TextSpan *span, GF_TraverseState *tr_state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/font_engine.c:1131,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/font_engine.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1154
    functionName: font_get_sel_rect
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    linkageType: ''
    returnType: GF_Rect
    signature: 'static GF_Rect font_get_sel_rect(GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/font_engine.c:1289,1
    - Dst: gf_font_spans_select
      Src: /src/gpac/src/compositor/font_engine.c:1292,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - node
    - spans
    - tr_state
    argTypes:
    - GF_Node*
    - GF_List*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: gf_font_spans_get_selection
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_font_spans_select
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_get_selection(GF_Node *node, GF_List *spans, GF_TraverseState
      *tr_state) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/font_engine.c:476,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:481,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:480,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:478,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:479,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:485,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/font_engine.c:487,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/font_engine.c:488,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/font_engine.c:489,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/font_engine.c:492,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:496,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:494,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/font_engine.c:500,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - fm
    - span
    argTypes:
    - GF_FontManager*
    - GF_TextSpan*
    constantsTouched: []
    func_position:
      end: 501
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 501
    functionName: gf_font_manager_delete_span
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - mesh_free
    - gf_path_del
    - gf_free
    - gf_list_del_item
    - gf_sc_texture_destroy
    linkageType: ''
    returnType: void
    signature: 'void gf_font_manager_delete_span(GF_FontManager *fm, GF_TextSpan *span) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: span_alloc_extensions
      Src: /src/gpac/src/compositor/font_engine.c:827,1
    - Dst: gf_mesh_tesselate_path
      Src: /src/gpac/src/compositor/font_engine.c:834,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/font_engine.c:830,1
    - Dst: gf_font_span_create_path
      Src: /src/gpac/src/compositor/font_engine.c:829,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/font_engine.c:833,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:835,1
    - Dst: mesh_get_outline
      Src: /src/gpac/src/compositor/font_engine.c:837,1
    - Dst: mesh_get_outline
      Src: /src/gpac/src/compositor/font_engine.c:841,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/font_engine.c:843,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/font_engine.c:846,1
    - Dst: visual_3d_mesh_strike
      Src: /src/gpac/src/compositor/font_engine.c:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - span
    - tr_state
    - asp
    - vect_outline
    argTypes:
    - GF_TextSpan*
    - GF_TraverseState*
    - DrawAspect2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: span_strike_3d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_mesh_tesselate_path
    - visual_3d_mesh_strike
    - gf_path_del
    - new_mesh
    - visual_3d_mesh_paint
    - span_alloc_extensions
    - mesh_get_outline
    - gf_font_span_create_path
    - gf_path_get_outline
    linkageType: ''
    returnType: void
    signature: 'static void span_strike_3d(GF_TextSpan *span, GF_TraverseState *tr_state,
      DrawAspect2D *asp, Bool vect_outline) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:871,1
    - Dst: visual_3d_setup_appearance
      Src: /src/gpac/src/compositor/font_engine.c:867,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:902,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/font_engine.c:902,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:904,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/font_engine.c:905,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/font_engine.c:906,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/compositor/font_engine.c:908,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/font_engine.c:913,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/font_engine.c:914,1
    - Dst: visual_3d_fill_rect
      Src: /src/gpac/src/compositor/font_engine.c:941,1
    - Dst: drawable_compute_line_scale
      Src: /src/gpac/src/compositor/font_engine.c:974,1
    - Dst: span_strike_3d
      Src: /src/gpac/src/compositor/font_engine.c:985,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:980,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/font_engine.c:863,1
    - Dst: visual_3d_setup_appearance
      Src: /src/gpac/src/compositor/font_engine.c:891,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:914,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/font_engine.c:934,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/font_engine.c:939,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/font_engine.c:951,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/font_engine.c:954,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/font_engine.c:955,1
    - Dst: span_fill_3d
      Src: /src/gpac/src/compositor/font_engine.c:960,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/font_engine.c:976,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/font_engine.c:970,1
    - Dst: visual_3d_setup_texture
      Src: /src/gpac/src/compositor/font_engine.c:921,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:901,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/font_engine.c:901,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:903,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/font_engine.c:907,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:912,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/font_engine.c:912,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/font_engine.c:903,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:908,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:913,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:915,1
    - Dst: visual_3d_setup_appearance
      Src: /src/gpac/src/compositor/font_engine.c:947,1
    - Dst: span_setup_texture
      Src: /src/gpac/src/compositor/font_engine.c:950,1
    - Dst: visual_3d_set_2d_strike
      Src: /src/gpac/src/compositor/font_engine.c:977,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/font_engine.c:945,1
    - Dst: gf_sg_sfcolor_to_rgba
      Src: /src/gpac/src/compositor/font_engine.c:884,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/font_engine.c:915,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/font_engine.c:984,1
    - Dst: visual_3d_disable_texture
      Src: /src/gpac/src/compositor/font_engine.c:968,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/font_engine.c:936,1
    - Dst: span_strike_3d
      Src: /src/gpac/src/compositor/font_engine.c:981,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 149
    argCount: 5
    argNames:
    - spans
    - tr_state
    - asp
    - text_hl
    - force_texturing
    argTypes:
    - GF_List*
    - GF_TraverseState*
    - DrawAspect2D*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 989
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 989
    functionName: gf_font_spans_draw_3d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_disable
    - memset
    - visual_3d_disable_texture
    - visual_3d_enable_antialias
    - INT2FIX
    - visual_3d_set_state
    - GF_COL_R
    - visual_3d_mesh_paint
    - visual_3d_setup_appearance
    - span_fill_3d
    - gf_divfix
    - GF_COL_B
    - drawable_compute_line_scale
    - span_strike_3d
    - visual_3d_set_material_2d_argb
    - visual_3d_set_2d_strike
    - span_setup_texture
    - gf_list_get
    - gf_sg_sfcolor_to_rgba
    - visual_3d_setup_texture
    - gf_list_enum
    - gf_sc_texture_enable
    - GF_COL_A
    - GF_COL_ARGB
    - visual_3d_fill_rect
    - GF_COL_G
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_draw_3d(GF_List *spans, GF_TraverseState *tr_state,
      DrawAspect2D *asp, u32 text_hl, Bool force_texturing) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1169,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1170,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1172,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1182,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/font_engine.c:1171,1
    - Dst: font_get_sel_rect
      Src: /src/gpac/src/compositor/font_engine.c:1187,1
    - Dst: gf_rect_overlaps
      Src: /src/gpac/src/compositor/font_engine.c:1221,1
    - Dst: gf_rect_overlaps
      Src: /src/gpac/src/compositor/font_engine.c:1244,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/font_engine.c:1256,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/font_engine.c:1257,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/font_engine.c:1258,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/font_engine.c:1276,1
    - Dst: visual_2d_fill_rect
      Src: /src/gpac/src/compositor/font_engine.c:1260,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/font_engine.c:1267,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 120
    argCount: 6
    argNames:
    - span
    - tr_state
    - ctx
    - has_more_spans
    - first_span
    - rc
    argTypes:
    - GF_TextSpan*
    - GF_TraverseState*
    - DrawableContext*
    - Bool
    - Bool
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1283
    functionName: gf_font_spans_select
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - gf_rect_overlaps
    - font_get_sel_rect
    - visual_2d_fill_rect
    - gf_realloc
    - gf_mulfix
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_mx2d_copy
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: void
    signature: 'static void gf_font_spans_select(GF_TextSpan *span, GF_TraverseState
      *tr_state, DrawableContext *ctx, Bool has_more_spans, Bool first_span, GF_Rect
      *rc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:1321,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/font_engine.c:1323,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/font_engine.c:1324,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/font_engine.c:1325,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/compositor/font_engine.c:1326,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/font_engine.c:1330,1
    - Dst: memset
      Src: /src/gpac/src/compositor/font_engine.c:1333,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/font_engine.c:1334,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/font_engine.c:1337,1
    - Dst: gf_font_spans_select
      Src: /src/gpac/src/compositor/font_engine.c:1339,1
    - Dst: span_setup_texture
      Src: /src/gpac/src/compositor/font_engine.c:1343,1
    - Dst: gf_font_span_draw_2d
      Src: /src/gpac/src/compositor/font_engine.c:1346,1
    - Dst: gf_font_underline_span
      Src: /src/gpac/src/compositor/font_engine.c:1349,1
    - Dst: gf_font_underline_span
      Src: /src/gpac/src/compositor/font_engine.c:1348,1
    - Dst: visual_2d_texture_path_text
      Src: /src/gpac/src/compositor/font_engine.c:1344,1
    - Dst: visual_2d_fill_rect
      Src: /src/gpac/src/compositor/font_engine.c:1341,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 5
    argNames:
    - spans
    - tr_state
    - hl_color
    - force_texture_text
    - bounds
    argTypes:
    - GF_List*
    - GF_TraverseState*
    - u32
    - Bool
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1353
    functionName: gf_font_spans_draw_2d
    functionSourceFile: /src/gpac/src/compositor/font_engine.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_ARGB
    - gf_list_get
    - memset
    - gf_font_spans_select
    - gf_font_underline_span
    - visual_2d_fill_rect
    - gf_list_count
    - visual_2d_texture_path_text
    - GF_COL_R
    - span_setup_texture
    - GF_COL_G
    - GF_COL_B
    - gf_font_span_draw_2d
    linkageType: ''
    returnType: void
    signature: 'void gf_font_spans_draw_2d(GF_List *spans, GF_TraverseState *tr_state,
      u32 hl_color, Bool force_texture_text, GF_Rect *bounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mesh_tesselate.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - which
    argTypes:
    - GLenum
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: mesh_tess_begin
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_begin(GLenum which) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh_tesselate.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vertexData
    - user_data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: mesh_tess_vertex
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - mesh_set_index
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_vertex(void *vertexData, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mesh_tesselate.c:65,1
    - Dst: gluErrorString
      Src: /src/gpac/src/compositor/mesh_tesselate.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - GLenum
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: mesh_tess_error
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gluErrorString
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_error(GLenum error_code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetPoint2D
      Src: /src/gpac/src/compositor/mesh_tesselate.c:296,1
    - Dst: ConvGetPointDelta
      Src: /src/gpac/src/compositor/mesh_tesselate.c:304,1
    - Dst: ConvCompare
      Src: /src/gpac/src/compositor/mesh_tesselate.c:301,1
    - Dst: GetPoint2D
      Src: /src/gpac/src/compositor/mesh_tesselate.c:312,1
    - Dst: ConvGetPointDelta
      Src: /src/gpac/src/compositor/mesh_tesselate.c:298,1
    - Dst: ConvCompare
      Src: /src/gpac/src/compositor/mesh_tesselate.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - pts
    - len
    - direction
    argTypes:
    - GF_Vertex*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 329
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 329
    functionName: polygon_check_convexity
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - ConvCompare
    - GetPoint2D
    - ConvGetPointDelta
    linkageType: ''
    returnType: u32
    signature: 'u32 polygon_check_convexity(GF_Vertex *pts, u32 len, u32 direction) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:457,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:458,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:459,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:460,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:461,1
    - Dst: gluTessBeginContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:465,1
    - Dst: gluTessBeginPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:464,1
    - Dst: gluTessVertex
      Src: /src/gpac/src/compositor/mesh_tesselate.c:488,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:498,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh_tesselate.c:448,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:451,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh_tesselate.c:483,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:486,1
    - Dst: gluTessEndContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:491,1
    - Dst: gluTessEndPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:492,1
    - Dst: gluDeleteTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:493,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mesh_tesselate.c:495,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mesh_tesselate.c:500,1
    - Dst: gluNewTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:449,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:462,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:480,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mesh_tesselate.c:496,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mesh_tesselate.c:497,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:501,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:446,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mesh_tesselate.c:454,1
    - Dst: gluTessEndContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:476,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:485,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mesh_tesselate.c:482,1
    - Dst: gluTessBeginContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:477,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:487,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 4
    argNames:
    - dest
    - orig
    - nbFaces
    - ptsPerFaces
    argTypes:
    - GF_Mesh*
    - GF_Mesh*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 502
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 502
    functionName: TesselateFaceMeshComplex
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - gluTessCallback
    - gf_malloc
    - gf_list_add
    - memset
    - gluDeleteTess
    - gluTessEndContour
    - gluTessBeginContour
    - FIX2FLT
    - gluTessEndPolygon
    - gf_list_del
    - gf_list_count
    - gluTessBeginPolygon
    - gf_list_new
    - gluNewTess
    - gf_list_get
    - gluTessVertex
    - gf_free
    - mesh_set_vertex_vx
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void TesselateFaceMeshComplex(GF_Mesh *dest, GF_Mesh *orig, u32 nbFaces,
      u32 *ptsPerFaces) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: mesh_tess_end
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_end(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:92,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:135,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:127,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:124,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:99,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:98,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:97,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:110,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_tesselate.c:113,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:126,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:135,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh_tesselate.c:135,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:132,1
    - Dst: MESH_GET_COLOR
      Src: /src/gpac/src/compositor/mesh_tesselate.c:95,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:114,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:115,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:116,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mesh_tesselate.c:135,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mesh_tesselate.c:133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 5
    argNames:
    - coords
    - vertex_data
    - weight
    - out_data
    - user_data
    argTypes:
    - GLdouble
    - void*
    - GLfloat
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 137
    functionName: mesh_tess_combine
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_mulfix
    - mesh_set_vertex
    - FLT2FIX
    - MESH_GET_COLOR
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_combine(GLdouble coords[3], void* vertex_data[4],
      GLfloat weight[4], void** out_data, void *user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mesh_tesselate.c:156,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh_tesselate.c:150,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:163,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:164,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:165,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:166,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:167,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:191,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/mesh_tesselate.c:175,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:194,1
    - Dst: gluTessVertex
      Src: /src/gpac/src/compositor/mesh_tesselate.c:201,1
    - Dst: gluDeleteTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:209,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:217,1
    - Dst: gluNewTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:151,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh_tesselate.c:158,1
    - Dst: gluTessProperty
      Src: /src/gpac/src/compositor/mesh_tesselate.c:170,1
    - Dst: gluTessBeginContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:187,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_tesselate.c:192,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mesh_tesselate.c:196,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh_tesselate.c:197,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:199,1
    - Dst: gluTessEndContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:203,1
    - Dst: gluTessEndPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:207,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mesh_tesselate.c:211,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:153,1
    - Dst: gluTessNormal
      Src: /src/gpac/src/compositor/mesh_tesselate.c:173,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:168,1
    - Dst: gluTessBeginPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:172,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mesh_tesselate.c:212,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:214,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:148,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mesh_tesselate.c:176,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:200,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mesh_tesselate.c:216,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh_tesselate.c:224,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mesh_tesselate.c:227,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mesh_tesselate.c:213,1
    - Dst: mesh_tess_error
      Src: /src/gpac/src/compositor/mesh_tesselate.c:228,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 88
    argCount: 3
    argNames:
    - mesh
    - path
    - outline_style
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - u32
    constantsTouched: []
    func_position:
      end: 232
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 232
    functionName: gf_mesh_tesselate_path
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - gluTessCallback
    - gf_malloc
    - gf_list_add
    - memset
    - gluDeleteTess
    - gluTessEndContour
    - gluTessBeginContour
    - gf_bbox_refresh
    - gf_divfix
    - FIX2FLT
    - gf_path_flatten
    - mesh_reset
    - gf_path_get_bounds
    - gluTessEndPolygon
    - mesh_tess_error
    - gf_list_del
    - gf_list_count
    - gluTessBeginPolygon
    - gf_list_new
    - gluNewTess
    - gf_list_get
    - gluTessNormal
    - mesh_set_vertex
    - gluTessVertex
    - gf_free
    - gf_sys_is_cov_mode
    - gluTessProperty
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void gf_mesh_tesselate_path(GF_Mesh *mesh, GF_Path *path, u32 outline_style) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - mesh
    - path
    - outline_style
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - u32
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: gf_mesh_tesselate_path
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_mesh_tesselate_path(GF_Mesh *mesh, GF_Path *path, u32 outline_style) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh_tesselate.c:353,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh_tesselate.c:372,1
    - Dst: gluNewTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:389,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mesh_tesselate.c:411,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:415,1
    - Dst: gluTessEndContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:420,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh_tesselate.c:412,1
    - Dst: gluTessEndPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:421,1
    - Dst: polygon_check_convexity
      Src: /src/gpac/src/compositor/mesh_tesselate.c:363,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh_tesselate.c:359,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:386,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mesh_tesselate.c:394,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:416,1
    - Dst: gluDeleteTess
      Src: /src/gpac/src/compositor/mesh_tesselate.c:422,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:427,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mesh_tesselate.c:414,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_tesselate.c:348,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh_tesselate.c:376,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:397,1
    - Dst: gluTessBeginPolygon
      Src: /src/gpac/src/compositor/mesh_tesselate.c:404,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:400,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:401,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:398,1
    - Dst: gluTessCallback
      Src: /src/gpac/src/compositor/mesh_tesselate.c:399,1
    - Dst: gluTessBeginContour
      Src: /src/gpac/src/compositor/mesh_tesselate.c:405,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_tesselate.c:409,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mesh_tesselate.c:424,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh_tesselate.c:354,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh_tesselate.c:388,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:391,1
    - Dst: gluTessVertex
      Src: /src/gpac/src/compositor/mesh_tesselate.c:417,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mesh_tesselate.c:425,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mesh_tesselate.c:426,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh_tesselate.c:430,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mesh_tesselate.c:429,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 2
    argNames:
    - dest
    - orig
    argTypes:
    - GF_Mesh*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 432
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 432
    functionName: TesselateFaceMesh
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached:
    - gluTessCallback
    - gf_malloc
    - gf_list_add
    - memset
    - gluDeleteTess
    - gluTessEndContour
    - gluTessBeginContour
    - FIX2FLT
    - mesh_set_triangle
    - gluTessEndPolygon
    - gf_list_del
    - gf_list_count
    - gluTessBeginPolygon
    - gf_list_new
    - gluNewTess
    - gf_list_get
    - ABS
    - gluTessVertex
    - gf_free
    - MESH_GET_NORMAL
    - polygon_check_convexity
    - mesh_set_vertex_vx
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void TesselateFaceMesh(GF_Mesh *dest, GF_Mesh *orig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - flag
    argTypes:
    - GLenum
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: mesh_tess_edgeflag
    functionSourceFile: /src/gpac/src/compositor/mesh_tesselate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK mesh_tess_edgeflag(GLenum flag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:101,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:107,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:117,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:123,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:96,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:98,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:103,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:112,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:114,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:120,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:99,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:109,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:115,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:125,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:95,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:104,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:106,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:119,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - n
    - tr_state
    - force_traverse
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: l3d_CheckBindables
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_traverse
    - gf_node_register
    - gf_node_unregister
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void l3d_CheckBindables(GF_Node *n, GF_TraverseState *tr_state,
      Bool force_traverse) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:145,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:167,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:148,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:146,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:149,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 4
    argNames:
    - st
    - tr_state
    - prev_cam
    - rc
    argTypes:
    - Layer3DStack*
    - GF_TraverseState*
    - Bool
    - GF_Rect
    constantsTouched: []
    func_position:
      end: 183
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 183
    functionName: layer3d_setup_clip
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void layer3d_setup_clip(Layer3DStack *st, GF_TraverseState
      *tr_state, Bool prev_cam, GF_Rect rc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_check_gl_support
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:542,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:547,1
    - Dst: visual_new
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:552,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:543,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:549,1
    - Dst: camera_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:557,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:561,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:565,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: compositor_init_layer3d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_check_gl_support
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - camera_invalidate
    - gf_node_set_private
    - GF_SAFEALLOC
    - visual_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_layer3d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:66,1
    - Dst: ostgl_delete_context
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:63,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:68,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:60,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:70,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:72,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:74,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:76,1
    - Dst: visual_del
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:78,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: DestroyLayer3D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - visual_del
    - gf_node_get_private
    - drawable_del
    - BindableStackDelete
    - ostgl_delete_context
    - gf_free
    - gf_sc_texture_destroy
    linkageType: ''
    returnType: void
    signature: 'static void DestroyLayer3D(GF_Node *node) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:290,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:454,1
    - Dst: gf_sc_pick_in_clipper
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:434,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:534,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:490,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:217,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:265,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:289,1
    - Dst: visual_2d_flush_hybgl_canvas
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:343,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:370,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:513,1
    - Dst: visual_3d_init_draw
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:355,1
    - Dst: visual_3d_flush_contexts
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:368,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:471,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:485,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:326,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:366,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:451,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:210,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:305,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:446,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:216,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:299,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:472,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:413,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:450,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:527,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:492,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:301,1
    - Dst: layer3d_setup_clip
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:422,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:337,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:362,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:401,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:528,1
    - Dst: visual_get_size_info
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:219,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:296,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:308,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:316,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:319,1
    - Dst: visual_3d_check_collisions
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:357,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:491,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:484,1
    - Dst: visual_3d_remove_last_light
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:374,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:261,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:494,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:491,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:393,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:486,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:489,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:212,1
    - Dst: DestroyLayer3D
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:205,1
    - Dst: l3d_CheckBindables
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:317,1
    - Dst: gf_ray
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:487,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:453,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:492,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:459,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:457,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:479,1
    - Dst: layer3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:274,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:460,1
    - Dst: gf_sc_copy_to_stencil
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:387,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:443,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:473,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:433,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:533,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:199,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:246,1
    - Dst: layer3d_setup_clip
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:339,1
    - Dst: visual_3d_clear_all_lights
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:349,1
    - Dst: gf_get_tinygl_depth
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:390,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:492,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:407,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:224,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:445,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:491,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:515,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:393,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:490,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:466,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 241
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 536
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 536
    functionName: TraverseLayer3D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - group_3d_traverse
    - gf_mx_apply_vec
    - gf_mx2d_apply_rect
    - gf_get_tinygl_depth
    - gf_sc_invalidate
    - GF_LOG
    - INT2FIX
    - visual_2d_flush_hybgl_canvas
    - drawable_init_context_mpeg4
    - gf_mx_apply_rect
    - gf_mx_init
    - gf_sc_texture_get_stencil
    - gf_sc_pick_in_clipper
    - gf_divfix
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_node_dirty_clear
    - FIX2FLT
    - gf_mx_inverse
    - gf_list_del
    - gf_list_count
    - layer3d_draw_2d
    - l3d_CheckBindables
    - visual_3d_setup_projection
    - gf_node_dirty_get
    - visual_3d_clear_all_lights
    - gf_list_new
    - gf_sc_copy_to_stencil
    - DestroyLayer3D
    - gf_mx_from_mx2d
    - gf_mx_apply_vec_4x4
    - gf_bbox_from_rect
    - visual_3d_set_viewport
    - visual_3d_init_draw
    - memcpy
    - layer3d_setup_clip
    - gf_ray
    - compositor_get_2d_plane_intersection
    - gf_rect_center
    - gf_node_get_private
    - visual_get_size_info
    - drawable_finalize_sort
    - gf_mulfix
    - gf_muldiv
    - visual_3d_projection_matrix_modified
    - visual_3d_remove_last_light
    - gf_sc_texture_set_stencil
    - visual_3d_flush_contexts
    - gf_node_dirty_set
    - visual_3d_check_collisions
    linkageType: ''
    returnType: void
    signature: 'static void TraverseLayer3D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: layer3d_draw_2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - visual_2d_texture_path
    linkageType: ''
    returnType: void
    signature: 'static void layer3d_draw_2d(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: compositor_layer3d_get_camera
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Camera*
    signature: 'GF_Camera *compositor_layer3d_get_camera(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:577,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:579,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_3d.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - do_bind
    - nav_value
    argTypes:
    - GF_Node*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: compositor_layer3d_bind_camera
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_3d.c
    functionUses: []
    functionsReached:
    - Bindable_SetSetBind
    - gf_list_get
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_layer3d_bind_camera(GF_Node *node, Bool do_bind, u32
      nav_value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:40,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:43,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:58,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:42,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:44,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:60,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:64,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:66,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 70
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 70
    functionName: ils2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_line_to
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void ils2d_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:297,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: ILS2D_SetColorIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ILS2D_SetColorIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:238,1
    - Dst: ils2d_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:248,1
    - Dst: ILS2D_Draw
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:252,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:257,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:242,1
    - Dst: mesh_new_ils
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:258,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:262,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:263,1
    - Dst: visual_3d_mesh_strike
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:265,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:267,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:282,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:275,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:272,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:286,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 291
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 291
    functionName: TraverseILS2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - visual_3d_mesh_strike
    - memset
    - gf_node_get_private
    - drawable_finalize_sort
    - ils2d_check_changes
    - new_mesh
    - mesh_new_ils
    - ILS2D_Draw
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - drawable_get_aspect_2d_mpeg4
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseILS2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:306,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: ILS2D_SetCoordIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ILS2D_SetCoordIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:119,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:125,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:134,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:146,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:148,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:183,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:188,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:190,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:110,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:100,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:121,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:158,1
    - Dst: gf_evg_stencil_set_vertex_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:201,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:212,1
    - Dst: gf_evg_stencil_set_vertex_colors
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:214,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:222,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:223,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:230,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:96,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:109,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:128,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:137,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:166,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:185,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:195,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:203,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:221,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:100,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:178,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:175,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:153,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:180,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:194,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:199,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:215,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:220,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 148
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 231
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 231
    functionName: ILS2D_Draw
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - gf_path_add_line_to
    - gf_path_add_move_to
    - gf_evg_stencil_set_gradient_interpolation
    - gf_evg_stencil_set_vertex_path
    - visual_2d_draw_path
    - gf_evg_stencil_new
    - gf_evg_stencil_set_matrix
    - gf_evg_stencil_set_linear_gradient
    - gf_free
    - gf_evg_stencil_set_vertex_colors
    - GF_COL_A
    - gf_evg_stencil_delete
    - gf_evg_stencil_set_auto_matrix
    - gf_path_del
    - gf_path_new
    - gf_path_reset
    linkageType: ''
    returnType: void
    signature: 'static void ILS2D_Draw(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:314,1
    - Dst: ILS2D_SetColorIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:323,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:316,1
    - Dst: ILS2D_SetCoordIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:322,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: compositor_init_indexed_line_set2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ils2d.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - ILS2D_SetColorIndex
    - drawable_stack_new
    - ILS2D_SetCoordIndex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_indexed_line_set2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/object_manager.c:604,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:612,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/compositor/object_manager.c:606,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:611,1
    - Dst: gf_filter_pid_get_packet_count
      Src: /src/gpac/src/compositor/object_manager.c:607,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:642,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:649,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:657,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:658,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:664,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/object_manager.c:691,1
    - Dst: gf_clock_attach
      Src: /src/gpac/src/compositor/object_manager.c:695,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:714,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:716,1
    - Dst: gf_odm_update_duration
      Src: /src/gpac/src/compositor/object_manager.c:724,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:665,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/object_manager.c:705,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/object_manager.c:688,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 114
    argCount: 2
    argNames:
    - odm
    - pid
    argTypes:
    - GF_ObjectManager*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 727
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 727
    functionName: gf_odm_setup_pid
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sys_is_cov_mode
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_fatal_assert
    - gf_clock_attach
    - gf_filter_pid_get_statistics
    - gf_odm_update_duration
    - gf_scene_get_root_scene
    - gf_filter_pid_get_packet_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odm_setup_pid(GF_ObjectManager *odm, GF_FilterPid
      *pid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/object_manager.c:765,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/object_manager.c:768,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/object_manager.c:771,1
    - Dst: gf_odm_play
      Src: /src/gpac/src/compositor/object_manager.c:779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 780
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 780
    functionName: gf_odm_start
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_odm_play
    - gf_odm_find_segment
    - strrchr
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_start(GF_ObjectManager *odm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/object_manager.c:1397,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/object_manager.c:1402,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1403,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:1399,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1403,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1406,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1409,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - odm
    - speed
    - adjust_clock_speed
    argTypes:
    - GF_ObjectManager*
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 1414
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1414
    functionName: gf_odm_set_speed
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_enum
    - ABS
    - gf_clock_set_speed
    - FIX2FLT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_set_speed(GF_ObjectManager *odm, Fixed speed, Bool adjust_clock_speed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/compositor/object_manager.c:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pid
    - info
    - scalable_addon
    argTypes:
    - GF_FilterPid*
    - GF_MediaInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 1889
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1889
    functionName: get_codec_stats
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_statistics
    linkageType: ''
    returnType: void
    signature: 'static void get_codec_stats(GF_FilterPid *pid, GF_MediaInfo *info,
      Bool scalable_addon) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/compositor/object_manager.c:734,1
    - Dst: gf_scene_set_duration
      Src: /src/gpac/src/compositor/object_manager.c:745,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/compositor/object_manager.c:740,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - odm
    - pid
    argTypes:
    - GF_ObjectManager*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 754
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 754
    functionName: gf_odm_update_duration
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_get_info
    - gf_scene_set_duration
    - gf_filter_release_property
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_update_duration(GF_ObjectManager *odm, GF_FilterPid *pid) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:805,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/object_manager.c:912,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/object_manager.c:886,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:960,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/object_manager.c:976,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/object_manager.c:997,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:983,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:960,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1018,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/object_manager.c:800,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/object_manager.c:814,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:803,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:830,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/object_manager.c:868,1
    - Dst: MC_GetRange
      Src: /src/gpac/src/compositor/object_manager.c:908,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:913,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:896,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/object_manager.c:922,1
    - Dst: ceil
      Src: /src/gpac/src/compositor/object_manager.c:956,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/object_manager.c:813,1
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/object_manager.c:864,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:980,1
    - Dst: gf_clock_buffer_on
      Src: /src/gpac/src/compositor/object_manager.c:994,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1001,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1017,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:960,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:985,1
    - Dst: gf_clock_reset
      Src: /src/gpac/src/compositor/object_manager.c:824,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/object_manager.c:848,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:896,1
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/object_manager.c:900,1
    - Dst: gf_scene_adjust_time_for_addon
      Src: /src/gpac/src/compositor/object_manager.c:872,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:913,1
    - Dst: gf_clock_buffer_on
      Src: /src/gpac/src/compositor/object_manager.c:970,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/object_manager.c:977,1
    - Dst: gf_odm_pause
      Src: /src/gpac/src/compositor/object_manager.c:1028,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/object_manager.c:998,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 219
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1030
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 1030
    functionName: gf_odm_play
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_scene_adjust_time_for_addon
    - gf_odm_service_media_event
    - GF_FEVT_INIT
    - GF_LOG
    - gf_odm_get_media_clock
    - FIX2FLT
    - gf_list_find
    - gf_list_count
    - MC_GetRange
    - gf_clock_is_started
    - gf_clock_reset
    - gf_filter_pid_get_name
    - gf_clock_media_time
    - gf_list_get
    - gf_odm_shares_clock
    - ceil
    - ABS
    - gf_clock_time
    - gf_filter_pck_unref
    - gf_clock_buffer_on
    - gf_filter_pid_send_event
    - gf_clock_time_absolute
    - gf_odm_pause
    - gf_odm_get_mediacontrol
    - gf_clock_set_speed
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_play(GF_ObjectManager *odm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1421,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/object_manager.c:1423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - odm
    - descName
    argTypes:
    - GF_ObjectManager*
    - char*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1426
    functionName: gf_odm_find_segment
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    linkageType: ''
    returnType: GF_Segment*
    signature: 'GF_Segment *gf_odm_find_segment(GF_ObjectManager *odm, char *descName) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_rt_stats
      Src: /src/gpac/src/compositor/object_manager.c:1923,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/object_manager.c:1920,1
    - Dst: gf_filter_pid_first_pid_for_source
      Src: /src/gpac/src/compositor/object_manager.c:1926,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:1933,1
    - Dst: gf_filter_pid_first_pid_for_source
      Src: /src/gpac/src/compositor/object_manager.c:1935,1
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/object_manager.c:1989,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/compositor/object_manager.c:2010,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/object_manager.c:1964,1
    - Dst: gf_filter_pid_get_buffer_occupancy
      Src: /src/gpac/src/compositor/object_manager.c:2024,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/object_manager.c:2037,1
    - Dst: gf_mo_get_visual_info
      Src: /src/gpac/src/compositor/object_manager.c:2048,1
    - Dst: gf_filter_pid_share_origin
      Src: /src/gpac/src/compositor/object_manager.c:1924,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:1930,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/object_manager.c:1981,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/object_manager.c:1997,1
    - Dst: gf_filter_pid_get_filter_name
      Src: /src/gpac/src/compositor/object_manager.c:2021,1
    - Dst: gf_mo_get_audio_info
      Src: /src/gpac/src/compositor/object_manager.c:2044,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2059,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2063,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2065,1
    - Dst: memset
      Src: /src/gpac/src/compositor/object_manager.c:1901,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:1932,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2028,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2031,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2055,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/compositor/object_manager.c:1922,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:1939,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2003,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:1941,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/object_manager.c:1957,1
    - Dst: get_codec_stats
      Src: /src/gpac/src/compositor/object_manager.c:2026,1
    - Dst: gf_mo_get_visual_info
      Src: /src/gpac/src/compositor/object_manager.c:2041,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2057,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 161
    argCount: 2
    argNames:
    - odm
    - info
    argTypes:
    - GF_ObjectManager*
    - GF_MediaInfo*
    constantsTouched: []
    func_position:
      end: 2075
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 2075
    functionName: gf_odm_get_object_info
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - memset
    - gf_odm_get_media_clock
    - gf_mo_get_visual_info
    - gf_filter_pid_get_statistics
    - gf_filter_pid_get_buffer_occupancy
    - gf_filter_get_name
    - gf_list_count
    - gf_filter_pid_first_pid_for_source
    - gf_clock_is_started
    - gf_clock_media_time
    - gf_list_get
    - get_codec_stats
    - gf_mo_get_audio_info
    - gf_sg_get_scene_size_info
    - gf_sys_is_cov_mode
    - gf_filter_pid_share_origin
    - gf_filter_pid_get_property
    - gf_filter_pid_get_filter_name
    - gf_filter_pid_set_rt_stats
    - gf_filter_pid_query_buffer_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_odm_get_object_info(GF_ObjectManager *odm, GF_MediaInfo
      *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/object_manager.c:1080,1
    - Dst: MS_Stop
      Src: /src/gpac/src/compositor/object_manager.c:1112,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1081,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:1070,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:1071,1
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/object_manager.c:1115,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1100,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1062,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1071,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1073,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/object_manager.c:1074,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1111,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/object_manager.c:1089,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:1071,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/object_manager.c:1063,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1076,1
    - Dst: gf_clock_reset
      Src: /src/gpac/src/compositor/object_manager.c:1104,1
    - Dst: gf_scene_buffering_info
      Src: /src/gpac/src/compositor/object_manager.c:1096,1
    - Dst: gf_clock_buffer_off
      Src: /src/gpac/src/compositor/object_manager.c:1092,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 2
    argNames:
    - odm
    - force_close
    argTypes:
    - GF_ObjectManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 1119
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1119
    functionName: gf_odm_stop
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_odm_get_mediacontrol
    - gf_odm_service_media_event
    - GF_FEVT_INIT
    - gf_list_enum
    - gf_scene_buffering_info
    - GF_LOG
    - gf_clock_time
    - gf_clock_buffer_off
    - MS_Stop
    - gf_clock_reset
    - gf_filter_pid_get_name
    - gf_list_del_item
    - gf_odm_stop
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_stop(GF_ObjectManager *odm, Bool force_close) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_is_root
      Src: /src/gpac/src/compositor/object_manager.c:1198,1
    - Dst: gf_scene_check_clocks
      Src: /src/gpac/src/compositor/object_manager.c:1202,1
    - Dst: gf_sc_check_end_of_scene
      Src: /src/gpac/src/compositor/object_manager.c:1213,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1209,1
    - Dst: gf_sc_is_over
      Src: /src/gpac/src/compositor/object_manager.c:1206,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1219
    functionName: gf_odm_signal_eos_reached
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_sc_is_over
    - gf_sc_send_event
    - gf_scene_check_clocks
    - gf_sc_check_end_of_scene
    - gf_scene_is_root
    - gf_odm_service_media_event
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_signal_eos_reached(GF_ObjectManager *odm) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1273,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:1273,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/object_manager.c:1277,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:1279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1279,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:1279,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:1281,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/object_manager.c:1282,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1285,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1289,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1297,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1309,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/object_manager.c:1290,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/object_manager.c:1312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1317
    functionName: gf_odm_pause
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_enum
    - GF_LOG
    - gf_clock_time
    - gf_clock_pause
    - gf_filter_pid_get_name
    - gf_scene_get_root_scene
    - gf_filter_pid_send_event
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_pause(GF_ObjectManager *odm) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_check_clock_mediatime
      Src: /src/gpac/src/compositor/object_manager.c:1583,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1615,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/compositor/object_manager.c:1631,1
    - Dst: gf_clock_buffer_on
      Src: /src/gpac/src/compositor/object_manager.c:1634,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:1653,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1660,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/object_manager.c:1671,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1689,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:1691,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:1693,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/object_manager.c:1714,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/object_manager.c:1575,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/compositor/object_manager.c:1590,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/object_manager.c:1601,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/compositor/object_manager.c:1601,1
    - Dst: odm_update_buffer
      Src: /src/gpac/src/compositor/object_manager.c:1616,1
    - Dst: odm_update_buffer
      Src: /src/gpac/src/compositor/object_manager.c:1613,1
    - Dst: gf_scene_buffering_info
      Src: /src/gpac/src/compositor/object_manager.c:1643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1673,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:1718,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/src/compositor/object_manager.c:1593,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/object_manager.c:1597,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1624,1
    - Dst: odm_update_buffer
      Src: /src/gpac/src/compositor/object_manager.c:1629,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/compositor/object_manager.c:1657,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/object_manager.c:1664,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/compositor/object_manager.c:1666,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1671,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/object_manager.c:1702,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1722,1
    - Dst: gf_filter_pid_first_packet_is_empty
      Src: /src/gpac/src/compositor/object_manager.c:1589,1
    - Dst: gf_filter_pid_first_packet_is_blocking_ref
      Src: /src/gpac/src/compositor/object_manager.c:1603,1
    - Dst: odm_update_buffer
      Src: /src/gpac/src/compositor/object_manager.c:1606,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/object_manager.c:1632,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/compositor/object_manager.c:1668,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1677,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/object_manager.c:1700,1
    - Dst: gf_clock_to_media_time
      Src: /src/gpac/src/compositor/object_manager.c:1707,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/object_manager.c:1709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1718,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 150
    argCount: 2
    argNames:
    - odm
    - pid
    argTypes:
    - GF_ObjectManager*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1725
    functionName: gf_odm_check_buffering
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_odm_service_media_event
    - GF_LOG
    - odm_update_buffer
    - gf_timestamp_rescale
    - gf_clock_to_media_time
    - gf_filter_pid_get_clock_info
    - gf_filter_pid_first_packet_is_blocking_ref
    - gf_filter_pid_get_timescale
    - gf_list_count
    - gf_scene_buffering_info
    - gf_assert
    - gf_list_get
    - gf_filter_pid_get_first_packet_cts
    - gf_timestamp_to_clocktime
    - gf_list_enum
    - gf_clock_time
    - ABS
    - gf_filter_pid_first_packet_is_empty
    - gf_clock_buffer_on
    - gf_odm_check_clock_mediatime
    - gf_clock_set_time
    - FIX2INT
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_odm_check_buffering(GF_ObjectManager *odm, GF_FilterPid *pid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_reset_media_control
      Src: /src/gpac/src/compositor/object_manager.c:87,1
    - Dst: gf_input_sensor_delete
      Src: /src/gpac/src/compositor/object_manager.c:92,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/compositor/object_manager.c:95,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/object_manager.c:89,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/object_manager.c:88,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/compositor/object_manager.c:97,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:99,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/object_manager.c:100,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/compositor/object_manager.c:101,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/object_manager.c:102,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/compositor/object_manager.c:108,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/object_manager.c:104,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/object_manager.c:110,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 111
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 111
    functionName: gf_odm_del
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_udta
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_odf_desc_del
    - gf_sema_del
    - gf_input_sensor_delete
    - gf_list_pop_back
    - gf_odm_reset_media_control
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_del(GF_ObjectManager *odm) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_check_segment_switch
      Src: /src/gpac/src/compositor/object_manager.c:1126,1
    - Dst: gf_scene_mpeg4_inline_check_restart
      Src: /src/gpac/src/compositor/object_manager.c:1157,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:1136,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/compositor/object_manager.c:1152,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:1134,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/object_manager.c:1161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:1165,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/compositor/object_manager.c:1168,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/compositor/object_manager.c:1170,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:1176,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/compositor/object_manager.c:1187,1
    - Dst: gf_filter_pid_exec_event
      Src: /src/gpac/src/compositor/object_manager.c:1178,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/compositor/object_manager.c:1180,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:1183,1
    - Dst: gf_odm_signal_eos_reached
      Src: /src/gpac/src/compositor/object_manager.c:1192,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/compositor/object_manager.c:1184,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 2
    argNames:
    - odm
    - pid
    argTypes:
    - GF_ObjectManager*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1194
    functionName: gf_odm_on_eos
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_info
    - gf_list_get
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - gf_list_count
    - gf_odm_check_buffering
    - gf_filter_release_property
    - gf_scene_mpeg4_inline_check_restart
    - gf_filter_pid_exec_event
    - gf_odm_signal_eos_reached
    - gf_odm_check_segment_switch
    - gf_filter_remove_src
    - gf_odm_service_media_event
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_on_eos(GF_ObjectManager *odm, GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_set_timeshift_depth
      Src: /src/gpac/src/compositor/object_manager.c:1232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - odm
    - stream_timeshift
    argTypes:
    - GF_ObjectManager*
    - u32
    constantsTouched: []
    func_position:
      end: 1233
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1233
    functionName: gf_odm_set_timeshift_depth
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_scene_set_timeshift_depth
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_set_timeshift_depth(GF_ObjectManager *odm, u32 stream_timeshift) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/object_manager.c:1342,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:1345,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:1347,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/object_manager.c:1345,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1345,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1352,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/object_manager.c:1352,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/object_manager.c:1355,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1357,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1360,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/object_manager.c:1361,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/object_manager.c:1372,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1377,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/object_manager.c:1380,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:1366,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1384
    functionName: gf_odm_resume
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_enum
    - gf_clock_resume
    - GF_LOG
    - gf_clock_time
    - ABS
    - gf_odm_get_mediacontrol
    - gf_filter_pid_get_name
    - gf_clock_set_speed
    - gf_filter_pid_send_event
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_resume(GF_ObjectManager *odm) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/object_manager.c:1501,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/compositor/object_manager.c:1506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:1510,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/compositor/object_manager.c:1504,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/compositor/object_manager.c:1515,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/object_manager.c:1521,1
    - Dst: gf_filter_pid_first_packet_is_blocking_ref
      Src: /src/gpac/src/compositor/object_manager.c:1528,1
    - Dst: gf_clock_buffer_off
      Src: /src/gpac/src/compositor/object_manager.c:1541,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/compositor/object_manager.c:1542,1
    - Dst: gf_clock_buffer_off
      Src: /src/gpac/src/compositor/object_manager.c:1557,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 5
    argNames:
    - scene
    - odm
    - pid
    - check_full_buffer
    - signal_eob
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - GF_FilterPid*
    - Bool
    - Bool*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1560
    functionName: odm_update_buffer
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_has_seen_eos
    - gf_filter_pid_get_first_packet_cts
    - gf_filter_pid_get_timescale
    - GF_LOG
    - gf_clock_set_time
    - gf_filter_pid_drop_packet
    - gf_clock_buffer_off
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_first_packet_is_blocking_ref
    linkageType: ''
    returnType: Bool
    signature: 'static Bool odm_update_buffer(GF_Scene *scene, GF_ObjectManager *odm,
      GF_FilterPid *pid, Bool check_full_buffer, Bool *signal_eob) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/object_manager.c:1744,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/object_manager.c:1755,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1753,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 5
    argNames:
    - scene_ns
    - odm
    - media_event
    - min_time
    - min_buffer
    argTypes:
    - GF_SceneNamespace*
    - GF_ObjectManager*
    - GF_DOMMediaEvent*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1763
    functionName: gf_odm_collect_buffer_info
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_filter_pid_query_buffer_duration
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_collect_buffer_info(GF_SceneNamespace *scene_ns, GF_ObjectManager
      *odm, GF_DOMMediaEvent *media_event, u32 *min_time, u32 *min_buffer) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:161,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:174,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/object_manager.c:191,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/object_manager.c:192,1
    - Dst: gf_scene_ns_del
      Src: /src/gpac/src/compositor/object_manager.c:229,1
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/compositor/object_manager.c:247,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/object_manager.c:240,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/object_manager.c:263,1
    - Dst: gf_scene_del
      Src: /src/gpac/src/compositor/object_manager.c:264,1
    - Dst: gf_odm_del
      Src: /src/gpac/src/compositor/object_manager.c:268,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/object_manager.c:153,1
    - Dst: gf_filter_pid_exec_event
      Src: /src/gpac/src/compositor/object_manager.c:163,1
    - Dst: gf_filter_pid_exec_event
      Src: /src/gpac/src/compositor/object_manager.c:177,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/object_manager.c:189,1
    - Dst: InputSensorModified
      Src: /src/gpac/src/compositor/object_manager.c:196,1
    - Dst: gf_scene_del
      Src: /src/gpac/src/compositor/object_manager.c:251,1
    - Dst: gf_scene_disconnect
      Src: /src/gpac/src/compositor/object_manager.c:165,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/object_manager.c:191,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:217,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/object_manager.c:227,1
    - Dst: gf_scene_reset_addon
      Src: /src/gpac/src/compositor/object_manager.c:241,1
    - Dst: gf_scene_remove_object
      Src: /src/gpac/src/compositor/object_manager.c:249,1
    - Dst: gf_odm_del
      Src: /src/gpac/src/compositor/object_manager.c:253,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 70
    argCount: 2
    argNames:
    - odm
    - do_remove
    argTypes:
    - GF_ObjectManager*
    - u32
    constantsTouched: []
    func_position:
      end: 269
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 269
    functionName: gf_odm_disconnect
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - GF_FEVT_INIT
    - gf_event_target_get_node
    - InputSensorModified
    - gf_filter_pid_exec_event
    - gf_scene_remove_object
    - gf_scene_reset_addon
    - gf_list_del_item
    - gf_scene_get_root_scene
    - gf_scene_disconnect
    - gf_odm_stop
    - gf_list_enum
    - gf_scene_del
    - gf_mo_event_target_count
    - gf_scene_ns_del
    - gf_filter_forward_gf_event
    - gf_odm_del
    - gf_sc_send_event
    - gf_mo_event_target_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odm_disconnect(GF_ObjectManager *odm, u32 do_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:117,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/object_manager.c:131,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:118,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/object_manager.c:127,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/object_manager.c:126,1
    - Dst: gf_odm_setup_object
      Src: /src/gpac/src/compositor/object_manager.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - odm
    - pid
    - register_only
    argTypes:
    - GF_ObjectManager*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: gf_odm_register_pid
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odm_setup_object
    - gf_filter_pid_get_property
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_register_pid(GF_ObjectManager *odm, GF_FilterPid *pid,
      Bool register_only) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:303,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/object_manager.c:337,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:324,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/compositor/object_manager.c:331,1
    - Dst: gf_scene_ns_connect_object
      Src: /src/gpac/src/compositor/object_manager.c:346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - odm
    - parent_ns
    - remote_url
    - for_addon
    argTypes:
    - GF_ObjectManager*
    - GF_SceneNamespace*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 347
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 347
    functionName: gf_odm_setup_remote_object
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_scene_ns_connect_object
    - gf_scene_new
    - GF_LOG
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_setup_remote_object(GF_ObjectManager *odm, GF_SceneNamespace
      *parent_ns, char *remote_url, Bool for_addon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    functionName: gf_odm_get_media_clock
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Clock*
    signature: 'GF_Clock *gf_odm_get_media_clock(GF_ObjectManager *odm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_service_media_event_with_download
      Src: /src/gpac/src/compositor/object_manager.c:1850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - odm
    - event_type
    argTypes:
    - GF_ObjectManager*
    - GF_EventType
    constantsTouched: []
    func_position:
      end: 1851
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1851
    functionName: gf_odm_service_media_event
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_odm_service_media_event_with_download
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_service_media_event(GF_ObjectManager *odm, GF_EventType
      event_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:287,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: gf_odm_should_auto_select
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_odm_should_auto_select(GF_ObjectManager *odm) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_setup_pid
      Src: /src/gpac/src/compositor/object_manager.c:381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:379,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/object_manager.c:376,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/object_manager.c:453,1
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/compositor/object_manager.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:472,1
    - Dst: gf_scene_select_object
      Src: /src/gpac/src/compositor/object_manager.c:563,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/object_manager.c:576,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/object_manager.c:548,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:574,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:356,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:383,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:398,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:413,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:425,1
    - Dst: gf_scene_setup_object
      Src: /src/gpac/src/compositor/object_manager.c:444,1
    - Dst: gf_filter_pid_is_sparse
      Src: /src/gpac/src/compositor/object_manager.c:434,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/object_manager.c:453,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/object_manager.c:454,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:460,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:493,1
    - Dst: gf_odm_should_auto_select
      Src: /src/gpac/src/compositor/object_manager.c:507,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/object_manager.c:575,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:555,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/object_manager.c:383,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/object_manager.c:383,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:400,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:402,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:405,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:448,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/object_manager.c:477,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/object_manager.c:491,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:498,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:521,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:526,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/object_manager.c:418,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/object_manager.c:429,1
    - Dst: gf_odm_set_timeshift_depth
      Src: /src/gpac/src/compositor/object_manager.c:409,1
    - Dst: gf_filter_pid_exec_event
      Src: /src/gpac/src/compositor/object_manager.c:457,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/object_manager.c:487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/object_manager.c:519,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/object_manager.c:527,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/object_manager.c:547,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/object_manager.c:556,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/object_manager.c:570,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 199
    argCount: 3
    argNames:
    - odm
    - parent_ns
    - for_pid
    argTypes:
    - GF_ObjectManager*
    - GF_SceneNamespace*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 581
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 581
    functionName: gf_odm_setup_object
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_FEVT_INIT
    - GF_LOG
    - gf_event_target_get_node
    - strstr
    - gf_error_to_string
    - gf_odm_setup_pid
    - gf_filter_pid_is_sparse
    - strcmp
    - gf_filter_pid_exec_event
    - gf_scene_setup_object
    - atoi
    - gf_filter_pid_get_name
    - gf_odm_should_auto_select
    - gf_odm_stop
    - gf_assert
    - gf_scene_select_object
    - strchr
    - gf_odm_start
    - gf_odm_set_timeshift_depth
    - gf_filter_forward_gf_event
    - gf_filter_pid_send_event
    - gf_sc_send_event
    - gf_filter_pid_get_property
    - gf_mo_event_target_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_odm_setup_object(GF_ObjectManager *odm, GF_SceneNamespace
      *parent_ns, GF_FilterPid *for_pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - odm
    - ck
    argTypes:
    - GF_ObjectManager*
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: gf_odm_shares_clock
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_odm_shares_clock(GF_ObjectManager *odm, GF_Clock *ck) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/object_manager.c:1775,1
    - Dst: gf_odm_collect_buffer_info
      Src: /src/gpac/src/compositor/object_manager.c:1806,1
    - Dst: memset
      Src: /src/gpac/src/compositor/object_manager.c:1792,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1810,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/object_manager.c:1784,1
    - Dst: gf_odm_collect_buffer_info
      Src: /src/gpac/src/compositor/object_manager.c:1812,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/object_manager.c:1824,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:1837,1
    - Dst: gf_sc_queue_dom_event_on_target
      Src: /src/gpac/src/compositor/object_manager.c:1839,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/object_manager.c:1842,1
    - Dst: gf_sc_queue_dom_event
      Src: /src/gpac/src/compositor/object_manager.c:1843,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 7
    argNames:
    - odm
    - event_type
    - loaded_size
    - total_size
    - bytes_per_sec
    - buffer_level_plus_one
    - min_buffer_time
    argTypes:
    - GF_ObjectManager*
    - GF_EventType
    - u64
    - u64
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1846
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1846
    functionName: gf_odm_service_media_event_with_download
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_list_enum
    - gf_sg_get_root_node
    - INT2FIX
    - gf_sc_queue_dom_event_on_target
    - gf_mo_event_target_count
    - gf_sc_queue_dom_event
    - gf_odm_collect_buffer_info
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_service_media_event_with_download(GF_ObjectManager *odm,
      GF_EventType event_type, u64 loaded_size, u64 total_size, u32 bytes_per_sec,
      u32 buffer_level_plus_one, u32 min_buffer_time) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/object_manager.c:1862,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/object_manager.c:1865,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1867
    functionName: gf_odm_stop_or_destroy
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_odm_stop
    - gf_odm_disconnect
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_odm_stop_or_destroy(GF_ObjectManager *odm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/object_manager.c:35,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/object_manager.c:39,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/object_manager.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: gf_odm_new
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ObjectManager *gf_odm_new() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/compositor/object_manager.c:1454,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/object_manager.c:1457,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/object_manager.c:1462,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/object_manager.c:1460,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/object_manager.c:1459,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/object_manager.c:1463,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/object_manager.c:1465,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/object_manager.c:1468,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/object_manager.c:1470,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/object_manager.c:1471,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1485,1
    - Dst: gf_odm_insert_segment
      Src: /src/gpac/src/compositor/object_manager.c:1483,1
    - Dst: gf_odm_insert_segment
      Src: /src/gpac/src/compositor/object_manager.c:1479,1
    - Dst: gf_odm_insert_segment
      Src: /src/gpac/src/compositor/object_manager.c:1491,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/object_manager.c:1477,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - odm
    - list
    - url
    argTypes:
    - GF_ObjectManager*
    - GF_List*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 1494
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1494
    functionName: gf_odm_init_segments
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_odm_insert_segment
    - gf_list_enum
    - strcpy
    - strstr
    - gf_odm_find_segment
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_init_segments(GF_ObjectManager *odm, GF_List *list, MFURL
      *url) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/compositor/object_manager.c:2088,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/compositor/object_manager.c:2091,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/compositor/object_manager.c:2094,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/object_manager.c:2100,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/compositor/object_manager.c:2096,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/object_manager.c:2109,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/object_manager.c:2110,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 2113
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2113
    functionName: gf_odm_check_clock_mediatime
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pid_get_timescale
    - gf_filter_pck_get_property
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_check_clock_mediatime(GF_ObjectManager *odm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/object_manager.c:51,1
    - Dst: MS_Stop
      Src: /src/gpac/src/compositor/object_manager.c:52,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/object_manager.c:55,1
    - Dst: gf_odm_remove_mediacontrol
      Src: /src/gpac/src/compositor/object_manager.c:60,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/object_manager.c:58,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/object_manager.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - odm
    - signal_reset
    argTypes:
    - GF_ObjectManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: gf_odm_reset_media_control
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - MS_Stop
    - gf_list_last
    - gf_odm_remove_mediacontrol
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_reset_media_control(GF_ObjectManager *odm, Bool signal_reset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/object_manager.c:1433,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/object_manager.c:1440,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/object_manager.c:1436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - odm
    - seg
    - list
    argTypes:
    - GF_ObjectManager*
    - GF_Segment*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1441
    functionName: gf_odm_insert_segment
    functionSourceFile: /src/gpac/src/compositor/object_manager.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_enum
    - gf_list_add
    linkageType: ''
    returnType: void
    signature: 'static void gf_odm_insert_segment(GF_ObjectManager *odm, GF_Segment
      *seg, GF_List *list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compositor_2d_hybgl_flush_video
      Src: /src/gpac/src/compositor/compositor_2d.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: compositor_2d_release_video_access
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - compositor_2d_hybgl_flush_video
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_release_video_access(GF_VisualManager *visual) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:488,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:521,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:522,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:521,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:491,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:522,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:559,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:559,1
    - Dst: CEILING
      Src: /src/gpac/src/compositor/compositor_2d.c:561,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:563,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:563,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:570,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:567,1
    - Dst: ROUND_FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:571,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:567,1
    - Dst: CEILING
      Src: /src/gpac/src/compositor/compositor_2d.c:565,1
    - Dst: ROUND_FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:568,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:570,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 139
    argCount: 8
    argNames:
    - visual
    - txh
    - clip
    - unclip
    - src
    - dst
    - disable_blit
    - has_scale
    argTypes:
    - GF_VisualManager*
    - GF_TextureHandler*
    - GF_IRect*
    - GF_Rect*
    - GF_Window*
    - GF_Window*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 587
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 587
    functionName: compositor_texture_rectangles
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - ROUND_FIX
    - INT2FIX
    - gf_divfix
    - FIX2INT
    - CEILING
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_texture_rectangles(GF_VisualManager *visual, GF_TextureHandler
      *txh, GF_IRect *clip, GF_Rect *unclip, GF_Window *src, GF_Window *dst, Bool
      *disable_blit, Bool *has_scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor_2d.c:1155,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1170,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1169,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:1161,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor_2d.c:1158,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/compositor_2d.c:1173,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1174,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1175,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1181,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1182,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor_2d.c:1192,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/compositor_2d.c:1196,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1183,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1184,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor_2d.c:1196,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor_2d.c:1195,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/compositor_2d.c:1192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 6
    argNames:
    - compositor
    - subscene
    - old_z
    - old_tx
    - old_ty
    - is_resize
    argTypes:
    - GF_Compositor*
    - GF_SceneGraph*
    - Fixed
    - Fixed
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 1200
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1200
    functionName: compositor_send_resize_event
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - memset
    - gf_sg_get_root_node
    - gf_list_enum
    - INT2FIX
    - gf_sg_get_scene_size_info
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'void compositor_send_resize_event(GF_Compositor *compositor, GF_SceneGraph
      *subscene, Fixed old_z, Fixed old_tx, Fixed old_ty, Bool is_resize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_irect_overlaps
      Src: /src/gpac/src/compositor/compositor_2d.c:1360,1
    - Dst: ra_union_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1379,1
    - Dst: gf_irect_inside
      Src: /src/gpac/src/compositor/compositor_2d.c:1367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - visual
    - ctx
    - tr_state
    argTypes:
    - GF_VisualManager*
    - DrawableContext*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1383
    functionName: visual_2d_overlaps_overlay
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - ra_union_rect
    - gf_irect_overlaps
    - gf_irect_inside
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_2d_overlaps_overlay(GF_VisualManager *visual, DrawableContext
      *ctx, GF_TraverseState *tr_state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_refresh
      Src: /src/gpac/src/compositor/compositor_2d.c:1400,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/compositor_2d.c:1415,1
    - Dst: compositor_2d_draw_bitmap_ex
      Src: /src/gpac/src/compositor/compositor_2d.c:1416,1
    - Dst: gf_irect_overlaps
      Src: /src/gpac/src/compositor/compositor_2d.c:1408,1
    - Dst: gf_irect_inside
      Src: /src/gpac/src/compositor/compositor_2d.c:1413,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/compositor_2d.c:1420,1
    - Dst: call_drawable_draw
      Src: /src/gpac/src/compositor/compositor_2d.c:1423,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1432
    functionName: visual_2d_flush_overlay_areas
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - compositor_2d_draw_bitmap_ex
    - gf_irect_inside
    - gf_irect_intersect
    - gf_irect_overlaps
    - ra_refresh
    - call_drawable_draw
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_flush_overlay_areas(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor_2d.c:440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:447,1
    - Dst: gf_mo_get_object_time
      Src: /src/gpac/src/compositor/compositor_2d.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - txh
    - push_time
    argTypes:
    - GF_TextureHandler*
    - u32
    constantsTouched: []
    func_position:
      end: 452
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 452
    functionName: store_blit_times
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - GF_LOG
    - gf_mo_get_object_time
    linkageType: ''
    returnType: void
    signature: 'static void store_blit_times(GF_TextureHandler *txh, u32 push_time) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor_2d.c:793,1
    - Dst: visual_2d_release_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:787,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor_2d.c:830,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor_2d.c:853,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor_2d.c:872,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor_2d.c:882,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:886,1
    - Dst: store_blit_times
      Src: /src/gpac/src/compositor/compositor_2d.c:859,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:863,1
    - Dst: compositor_texture_rectangles
      Src: /src/gpac/src/compositor/compositor_2d.c:614,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:707,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/compositor/compositor_2d.c:657,1
    - Dst: visual_2d_get_drawable_context
      Src: /src/gpac/src/compositor/compositor_2d.c:769,1
    - Dst: gf_sc_texture_check_pause_on_first_load
      Src: /src/gpac/src/compositor/compositor_2d.c:775,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:806,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:789,1
    - Dst: gf_sc_texture_check_pause_on_first_load
      Src: /src/gpac/src/compositor/compositor_2d.c:838,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor_2d.c:736,1
    - Dst: visual_2d_release_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:812,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor_2d.c:815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:822,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/compositor_2d.c:855,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor_2d.c:863,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:879,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:866,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/compositor_2d.c:712,1
    - Dst: store_blit_times
      Src: /src/gpac/src/compositor/compositor_2d.c:797,1
    - Dst: gf_sc_texture_check_pause_on_first_load
      Src: /src/gpac/src/compositor/compositor_2d.c:803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:827,1
    - Dst: store_blit_times
      Src: /src/gpac/src/compositor/compositor_2d.c:833,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:872,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/compositor_2d.c:875,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 227
    argCount: 8
    argNames:
    - visual
    - txh
    - ctx
    - clip
    - unclip
    - alpha
    - tr_state
    - force_soft_blt
    argTypes:
    - GF_VisualManager*
    - GF_TextureHandler*
    - DrawableContext*
    - GF_IRect*
    - GF_Rect*
    - u8
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 888
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 888
    functionName: compositor_2d_draw_bitmap_ex
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - gf_pixel_get_size_info
    - memset
    - gf_error_to_string
    - gf_pixel_fmt_is_yuv
    - GF_LOG
    - gf_stretch_bits
    - gf_sys_clock
    - visual_2d_release_raster
    - store_blit_times
    - GF_SAFEALLOC
    - visual_2d_get_drawable_context
    - visual_2d_init_raster
    - gf_sc_texture_check_pause_on_first_load
    - compositor_texture_rectangles
    linkageType: ''
    returnType: Bool
    signature: 'static Bool compositor_2d_draw_bitmap_ex(GF_VisualManager *visual,
      GF_TextureHandler *txh, DrawableContext *ctx, GF_IRect *clip, GF_Rect *unclip,
      u8 alpha, GF_TraverseState *tr_state, Bool force_soft_blt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/compositor_2d.c:1237,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/compositor_2d.c:1253,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/compositor_2d.c:1243,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/compositor_2d.c:1249,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:1256,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor_2d.c:1206,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1217,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1218,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1227,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor_2d.c:1256,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor_2d.c:1259,1
    - Dst: compositor_send_resize_event
      Src: /src/gpac/src/compositor/compositor_2d.c:1264,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1225,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1216,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/compositor_2d.c:1233,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1247,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1253,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor_2d.c:1240,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/compositor_2d.c:1250,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor_2d.c:1247,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor_2d.c:1256,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor_2d.c:1265,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1226,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1228,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1247,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor_2d.c:1256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 5
    argNames:
    - compositor
    - zoom
    - tx
    - ty
    - is_resize
    argTypes:
    - GF_Compositor*
    - Fixed
    - Fixed
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 1266
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1266
    functionName: compositor_2d_set_user_transform
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - gf_mx2d_add_translation
    - compositor_send_resize_event
    - gf_mulfix
    - gf_mx2d_init
    - gf_sc_lock
    - INT2FIX
    - gf_mx2d_add_scale
    - GF_LOG
    - gf_divfix
    - FIX2FLT
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_set_user_transform(GF_Compositor *compositor, Fixed
      zoom, Fixed tx, Fixed ty, Bool is_resize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:1446,1
    - Dst: ra_del
      Src: /src/gpac/src/compositor/compositor_2d.c:1457,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor_2d.c:1455,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:1455,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor_2d.c:1458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1460
    functionName: visual_2d_draw_overlays
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - memset
    - gf_error_to_string
    - GF_LOG
    - ra_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_draw_overlays(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1465
    functionName: compositor_2d_init_callbacks
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_init_callbacks(GF_Compositor *compositor) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor_2d.c:1287,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1290,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1289,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/compositor_2d.c:1288,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/compositor_2d.c:1295,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/compositor_2d.c:1296,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1297,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor_2d.c:1320,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1328,1
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1331,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:1335,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 5
    argNames:
    - tr_state
    - this_clip
    - need_restore
    - original
    - for_layer
    argTypes:
    - GF_TraverseState*
    - GF_Rect
    - Bool*
    - GF_Rect*
    - Bool
    constantsTouched: []
    func_position:
      end: 1340
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1340
    functionName: compositor_2d_update_clipper
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - gf_mx_inverse
    - gf_mx2d_apply_rect
    - gf_mx_apply_rect
    - gf_mx2d_copy
    - gf_mx_copy
    linkageType: ''
    returnType: GF_Rect
    signature: 'GF_Rect compositor_2d_update_clipper(GF_TraverseState *tr_state, GF_Rect
      this_clip, Bool *need_restore, GF_Rect *original, Bool for_layer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2d_get_video_access_normal
      Src: /src/gpac/src/compositor/compositor_2d.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: compositor_2d_check_attached
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - c2d_get_video_access_normal
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_2d_check_attached(GF_VisualManager *visual) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/compositor_2d.c:372,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:376,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/compositor_2d.c:373,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/compositor_2d.c:374,1
    - Dst: visual_2d_clear_surface
      Src: /src/gpac/src/compositor/compositor_2d.c:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 4
    argNames:
    - visual
    - rc
    - BackColor
    - offscreen_clear
    argTypes:
    - GF_VisualManager*
    - GF_IRect*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 407
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 407
    functionName: compositor_2d_clear_surface
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - memset
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    - visual_2d_clear_surface
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_clear_surface(GF_VisualManager *visual, GF_IRect
      *rc, u32 BackColor, u32 offscreen_clear) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_2d.c:915,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_2d.c:917,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/compositor/compositor_2d.c:928,1
    - Dst: compositor_2d_draw_bitmap_ex
      Src: /src/gpac/src/compositor/compositor_2d.c:949,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/compositor_2d.c:963,1
    - Dst: compositor_2d_draw_bitmap_ex
      Src: /src/gpac/src/compositor/compositor_2d.c:974,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 48
    argCount: 3
    argNames:
    - visual
    - tr_state
    - ctx
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - DrawableContext*
    constantsTouched: []
    func_position:
      end: 982
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 982
    functionName: compositor_2d_draw_bitmap
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - compositor_2d_draw_bitmap_ex
    - gf_sc_set_option
    - gf_irect_intersect
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_2d_draw_bitmap(GF_VisualManager *visual, GF_TraverseState
      *tr_state, DrawableContext *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1054,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1054,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:1115,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:1080,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1137,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1140,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:1142,1
    - Dst: compositor_set_ar_scale
      Src: /src/gpac/src/compositor/compositor_2d.c:1145,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1056,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1056,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1062,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1062,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:1063,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor_2d.c:1115,1
    - Dst: compositor_2d_set_aspect_ratio
      Src: /src/gpac/src/compositor/compositor_2d.c:1116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:1106,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor_2d.c:1124,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/compositor/compositor_2d.c:1132,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:1120,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1054,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor_2d.c:1062,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1063,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:1063,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1136,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:1139,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 161
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1147
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1147
    functionName: compositor_2d_set_aspect_ratio
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sc_send_event
    - gf_error_to_string
    - GF_LOG
    - INT2FIX
    - compositor_set_ar_scale
    - gf_opengl_init
    - gf_divfix
    - FIX2INT
    - compositor_2d_set_aspect_ratio
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_2d_set_aspect_ratio(GF_Compositor *compositor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:39,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_2d.c:51,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_2d.c:39,1
    - Dst: ra_union_rect
      Src: /src/gpac/src/compositor/compositor_2d.c:53,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/compositor_2d.c:48,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:56,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/compositor_2d.c:56,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:57,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/compositor_2d.c:57,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:58,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/compositor_2d.c:59,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/compositor_2d.c:58,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - visual
    - rc
    - BackColor
    - is_offscreen_clear
    argTypes:
    - GF_VisualManager*
    - GF_IRect*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: compositor_2d_hybgl_clear_surface
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - visual_3d_clear
    - GF_COL_A
    - INT2FIX
    - GF_COL_R
    - ra_union_rect
    - gf_evg_surface_clear
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_hybgl_clear_surface(GF_VisualManager *visual, GF_IRect
      *rc, u32 BackColor, u32 is_offscreen_clear) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor_2d.c:195,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor_2d.c:201,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/compositor_2d.c:205,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/compositor_2d.c:209,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/compositor_2d.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: compositor_2d_reset_gl_auto
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release
    - mesh_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_reset_gl_auto(GF_Compositor *compositor) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor_2d.c:248,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/compositor_2d.c:255,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/compositor_2d.c:258,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/compositor_2d.c:268,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:267,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/compositor_2d.c:269,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/compositor_2d.c:272,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/compositor_2d.c:275,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:277,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:278,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_2d.c:280,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/compositor/compositor_2d.c:287,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:285,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_2d.c:279,1
    - Dst: compositor_2d_setup_opengl
      Src: /src/gpac/src/compositor/compositor_2d.c:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 299
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 299
    functionName: c2d_video_access_hybrid_opengl
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_data
    - gf_sc_texture_release
    - compositor_2d_setup_opengl
    - memset
    - gf_realloc
    - gf_sc_texture_allocate
    - gf_evg_surface_attach_to_buffer
    - mesh_new_rectangle
    - INT2FIX
    - new_mesh
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err c2d_video_access_hybrid_opengl(GF_VisualManager *visual) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:324,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor_2d.c:321,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/compositor/compositor_2d.c:324,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/compositor/compositor_2d.c:313,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor_2d.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 333
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 333
    functionName: c2d_get_video_access_normal
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_pixel_fmt_name
    - gf_evg_surface_attach_to_buffer
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err c2d_get_video_access_normal(GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/compositor_2d.c:172,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/compositor_2d.c:182,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_2d.c:180,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/compositor_2d.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - visual
    - tr_state
    - ctx
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - DrawableContext*
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: compositor_2d_hybgl_draw_bitmap
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - visual_3d_mesh_paint
    - mesh_new_rectangle
    - gf_sc_texture_disable
    - gf_sc_texture_enable
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_2d_hybgl_draw_bitmap(GF_VisualManager *visual, GF_TraverseState
      *tr_state, DrawableContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_setup
      Src: /src/gpac/src/compositor/compositor_2d.c:219,1
    - Dst: glViewport
      Src: /src/gpac/src/compositor/compositor_2d.c:223,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:227,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:226,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:230,1
    - Dst: camera_update
      Src: /src/gpac/src/compositor/compositor_2d.c:233,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/compositor_2d.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: compositor_2d_setup_opengl
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - visual_3d_setup
    - glViewport
    - camera_update
    - visual_3d_projection_matrix_modified
    - INT2FIX
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compositor_2d_setup_opengl(GF_VisualManager *visual) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/compositor_2d.c:93,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:114,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_2d.c:111,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:116,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:118,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/compositor_2d.c:136,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:140,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_2d.c:142,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/compositor_2d.c:75,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:89,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/compositor_2d.c:80,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/compositor_2d.c:96,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/compositor_2d.c:100,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:107,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:114,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:110,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:118,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:119,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/compositor_2d.c:135,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:114,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:113,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:117,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:119,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:141,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/compositor_2d.c:95,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/compositor_2d.c:97,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:106,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:113,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:109,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_2d.c:116,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_2d.c:117,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor_2d.c:152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 87
    argCount: 2
    argNames:
    - compositor
    - area
    argTypes:
    - GF_Compositor*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 159
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 159
    functionName: compositor_2d_hybgl_flush_video
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_data
    - gf_sc_texture_set_blend_mode
    - gf_sc_texture_disable
    - memset
    - visual_3d_enable_antialias
    - visual_3d_set_state
    - INT2FIX
    - mesh_new_rectangle
    - gf_mx_init
    - visual_3d_mesh_paint
    - gf_divfix
    - gf_sc_texture_enable
    linkageType: ''
    returnType: void
    signature: 'void compositor_2d_hybgl_flush_video(GF_Compositor *compositor, GF_IRect
      *area) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2d_video_access_hybrid_opengl
      Src: /src/gpac/src/compositor/compositor_2d.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: compositor_2d_get_video_access
    functionSourceFile: /src/gpac/src/compositor/compositor_2d.c
    functionUses: []
    functionsReached:
    - c2d_video_access_hybrid_opengl
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_2d_get_video_access(GF_VisualManager *visual) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:37,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:42,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:41,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 4
    argNames:
    - compositor
    - viewpoint_idx
    - outName
    - is_bound
    argTypes:
    - GF_Compositor*
    - u32
    - char**
    - Bool*
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: gf_sc_get_viewpoint
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_get_viewpoint(GF_Compositor *compositor, u32
      viewpoint_idx, const char **outName, Bool *is_bound) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:169,1
    - Dst: Bindable_SetSetBindEx
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:177,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:207,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:275,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:296,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:280,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:170,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:181,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:209,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:216,1
    - Dst: VPCHANGED
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:179,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:222,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:232,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:233,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:236,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:250,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:255,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:300,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:282,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:277,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:280,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:155,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:174,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:175,1
    - Dst: gf_inline_is_default_viewpoint
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:177,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:280,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:284,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:284,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:284,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:251,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:285,1
    - Dst: DestroyViewStack
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:160,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:171,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:172,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:210,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:222,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:211,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:188,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:223,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:226,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:232,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:305,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:256,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:295,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 145
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 306
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 306
    functionName: TraverseViewport
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_invalidate
    - gf_mx2d_add_scale
    - gf_divfix
    - gf_inline_is_default_viewpoint
    - gf_node_dirty_clear
    - gf_mx2d_add_rotation
    - Bindable_SetSetBindEx
    - gf_list_find
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - gf_mx_add_matrix
    - Bindable_SetIsBound
    - VPCHANGED
    - gf_mx_from_mx2d
    - gf_list_get
    - gf_mx2d_add_translation
    - DestroyViewStack
    - gf_rect_center
    - gf_node_get_private
    - gf_muldiv
    - gf_mulfix
    linkageType: ''
    returnType: void
    signature: 'static void TraverseViewport(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:329,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:335,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:330,1
    - Dst: VPCHANGED
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:337,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:334,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: viewpoint_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - Bindable_OnSetBind
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_get_compositor
    - gf_node_dirty_set
    - VPCHANGED
    linkageType: ''
    returnType: void
    signature: 'static void viewpoint_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:451,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:491,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:512,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:531,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:532,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:534,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:538,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:473,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:464,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:475,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:476,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:479,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:480,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:499,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:505,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:482,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:513,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:525,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:474,1
    - Dst: DestroyViewStack
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:457,1
    - Dst: gf_mx_equal
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:490,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:514,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:528,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:478,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:498,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:511,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:492,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:515,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:526,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:527,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:530,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:533,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 550
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 550
    functionName: TraverseNavigationInfo
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_node_dirty_clear
    - DestroyViewStack
    - gf_list_find
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_mx_apply_vec
    - gf_vec_diff
    - gf_mx_equal
    - gf_vec_len
    - gf_mulfix
    - gf_node_dirty_get
    - Bindable_SetIsBound
    - stricmp
    - gf_mx_copy
    - gf_node_dirty_set
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void TraverseNavigationInfo(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:578,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:580,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:580,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: fog_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sc_get_compositor
    - Bindable_OnSetBind
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void fog_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:77,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:84,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:90,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:83,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:85,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:91,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:106,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:107,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - compositor
    - viewpoint_idx
    - viewpoint_name
    argTypes:
    - GF_Compositor*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 116
    functionName: gf_sc_set_viewpoint
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_get_tag
    - gf_list_count
    - Bindable_SetSetBind
    - Bindable_GetIsBound
    - stricmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_set_viewpoint(GF_Compositor *compositor, u32
      viewpoint_idx, const char *viewpoint_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:135,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:139,1
    - Dst: VPCHANGED
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:141,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:136,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:137,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: viewport_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - Bindable_OnSetBind
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_get_compositor
    - gf_node_dirty_set
    - VPCHANGED
    linkageType: ''
    returnType: void
    signature: 'static void viewport_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:126,1
    - Dst: PreDestroyBindable
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:127,1
    - Dst: VPCHANGED
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:129,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:128,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:129,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: DestroyViewStack
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_node_get_private
    - gf_sc_get_compositor
    - gf_free
    - VPCHANGED
    - PreDestroyBindable
    linkageType: ''
    returnType: void
    signature: 'static void DestroyViewStack(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:311,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:319,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:317,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: compositor_init_viewport
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_viewport(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:362,1
    - Dst: gf_mx_decompose
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:404,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:349,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:360,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:365,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:366,1
    - Dst: gf_inline_is_default_viewpoint
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:368,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:368,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:373,1
    - Dst: gf_mx_equal
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:381,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:401,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:372,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:361,1
    - Dst: DestroyViewStack
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:352,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:363,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:383,1
    - Dst: VPCHANGED
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:370,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:392,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:409,1
    - Dst: visual_3d_viewpoint_change
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:413,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:382,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:395,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:411,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:403,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 415
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 415
    functionName: TraverseViewpoint
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_apply_vec
    - gf_node_get_tag
    - gf_sc_invalidate
    - gf_mx_add_rotation
    - gf_inline_is_default_viewpoint
    - gf_mx_copy
    - gf_node_dirty_clear
    - gf_list_find
    - gf_node_dirty_get
    - visual_3d_viewpoint_change
    - Bindable_SetIsBound
    - VPCHANGED
    - gf_list_get
    - DestroyViewStack
    - gf_mx_equal
    - gf_mx_decompose
    - gf_mx_add_translation
    - gf_node_get_private
    - Bindable_SetSetBind
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void TraverseViewpoint(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:420,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:427,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:422,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:426,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:428,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 431
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 431
    functionName: compositor_init_viewpoint
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_mx_init
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_viewpoint(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:438,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:440,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:440,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: navinfo_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sc_get_compositor
    - Bindable_OnSetBind
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void navinfo_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:557,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:561,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:563,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:562,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:567,1
    - Dst: navinfo_set_bind
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 571
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 571
    functionName: compositor_init_navigation_info
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - navinfo_set_bind
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_navigation_info(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:601,1
    - Dst: DestroyViewStack
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:594,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:606,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:617,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:626,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:633,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:602,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:624,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:603,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:604,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:607,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:609,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:611,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:638,1
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:640,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:591,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:637,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:632,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:636,1
    - Dst: visual_3d_set_fog
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:641,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 642
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 642
    functionName: TraverseFog
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - visual_3d_set_fog
    - gf_list_get
    - gf_mx_apply_vec
    - DestroyViewStack
    - gf_list_find
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_vec_len
    - gf_vec_diff
    - gf_invfix
    - Bindable_SetIsBound
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'static void TraverseFog(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:647,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:654,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:649,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:653,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_viewport.c:655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: compositor_init_fog
    functionSourceFile: /src/gpac/src/compositor/mpeg4_viewport.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_fog(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:842,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:898,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:781,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:799,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:802,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:804,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:827,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/navigate.c:826,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/navigate.c:856,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:857,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/navigate.c:867,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:885,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:743,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:782,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:783,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:797,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/navigate.c:798,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/navigate.c:824,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:845,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:819,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:874,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:881,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:896,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:758,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:744,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:820,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:811,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:850,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:903,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 169
    argCount: 2
    argNames:
    - visual
    - ev
    argTypes:
    - GF_VisualManager*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 910
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 910
    functionName: compositor_handle_navigation_2d
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_asin
    - MIN
    - gf_mulfix
    - INT2FIX
    - ABS
    - nav_set_zoom_trans_2d
    - gf_sc_reset_graphics
    linkageType: ''
    returnType: Bool
    signature: 'static Bool compositor_handle_navigation_2d(GF_VisualManager *visual,
      GF_Event *ev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/navigate.c:43,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - visual
    - zoom
    - dx
    - dy
    argTypes:
    - GF_VisualManager*
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: nav_set_zoom_trans_2d
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_changed
    - compositor_2d_set_user_transform
    linkageType: ''
    returnType: void
    signature: 'static void nav_set_zoom_trans_2d(GF_VisualManager *visual, Fixed
      zoom, Fixed dx, Fixed dy) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: compositor_layer3d_get_camera
      Src: /src/gpac/src/compositor/navigate.c:919,1
    - Dst: handle_mouse_move_3d
      Src: /src/gpac/src/compositor/navigate.c:946,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 948
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 948
    functionName: compositor_handle_auto_navigation
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - handle_mouse_move_3d
    - compositor_layer3d_get_camera
    linkageType: ''
    returnType: void
    signature: 'void compositor_handle_auto_navigation(GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:35,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/navigate.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - cam
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: camera_changed
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void camera_changed(GF_Compositor *compositor, GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/navigate.c:55,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/navigate.c:58,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/navigate.c:57,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/navigate.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - mx
    - axis_pt
    - axis
    - angle
    argTypes:
    - GF_Matrix*
    - SFVec3f
    - SFVec3f
    - Fixed
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: gf_mx_rotation_matrix
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_mx_add_translation
    - gf_mx_add_rotation
    linkageType: ''
    returnType: void
    signature: 'static void gf_mx_rotation_matrix(GF_Matrix *mx, SFVec3f axis_pt,
      SFVec3f axis, Fixed angle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/navigate.c:174,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:176,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:175,1
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/navigate.c:174,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - compositor
    - cam
    - dx
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: view_translate_x
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_get_right_dir
    - camera_changed
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: void
    signature: 'static void view_translate_x(GF_Compositor *compositor, GF_Camera
      *cam, Fixed dx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:65,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:66,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - compositor
    - cam
    - dx
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: view_orbit_x
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_changed
    - gf_mx_apply_vec
    - gf_mx_rotation_matrix
    linkageType: ''
    returnType: void
    signature: 'static void view_orbit_x(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/navigate.c:184,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:187,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:186,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - compositor
    - cam
    - dy
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: view_translate_y
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_changed
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: void
    signature: 'static void view_translate_y(GF_Compositor *compositor, GF_Camera
      *cam, Fixed dy) '
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:370,1
    - Dst: view_orbit_y
      Src: /src/gpac/src/compositor/navigate.c:619,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:603,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:690,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/navigate.c:371,1
    - Dst: view_zoom
      Src: /src/gpac/src/compositor/navigate.c:472,1
    - Dst: view_roll
      Src: /src/gpac/src/compositor/navigate.c:499,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/navigate.c:561,1
    - Dst: view_translate_x
      Src: /src/gpac/src/compositor/navigate.c:590,1
    - Dst: compositor_layer3d_get_camera
      Src: /src/gpac/src/compositor/navigate.c:356,1
    - Dst: view_zoom
      Src: /src/gpac/src/compositor/navigate.c:629,1
    - Dst: view_translate_x
      Src: /src/gpac/src/compositor/navigate.c:572,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:635,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:664,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:469,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:479,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:690,1
    - Dst: compositor_3d_reset_camera
      Src: /src/gpac/src/compositor/navigate.c:509,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:610,1
    - Dst: view_zoom
      Src: /src/gpac/src/compositor/navigate.c:648,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:692,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/navigate.c:707,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/navigate.c:370,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:591,1
    - Dst: view_zoom
      Src: /src/gpac/src/compositor/navigate.c:642,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/navigate.c:692,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:692,1
    - Dst: view_translate_x
      Src: /src/gpac/src/compositor/navigate.c:583,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:492,1
    - Dst: compositor_3d_reset_camera
      Src: /src/gpac/src/compositor/navigate.c:543,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/navigate.c:561,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/navigate.c:600,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/navigate.c:706,1
    - Dst: update_pan_up
      Src: /src/gpac/src/compositor/navigate.c:712,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:562,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:623,1
    - Dst: handle_mouse_move_3d
      Src: /src/gpac/src/compositor/navigate.c:458,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:429,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:575,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:531,1
    - Dst: gf_mx_get_yaw_pitch_roll
      Src: /src/gpac/src/compositor/navigate.c:400,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:481,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:656,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:690,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:690,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/navigate.c:671,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/navigate.c:690,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:371,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:421,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:479,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:492,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:571,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/navigate.c:601,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:630,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/navigate.c:601,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:490,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:494,1
    - Dst: view_roll
      Src: /src/gpac/src/compositor/navigate.c:575,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/navigate.c:561,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:371,1
    - Dst: camera_get_orientation
      Src: /src/gpac/src/compositor/navigate.c:418,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:481,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/navigate.c:523,1
    - Dst: view_translate_x
      Src: /src/gpac/src/compositor/navigate.c:579,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:634,1
    - Dst: view_translate_y
      Src: /src/gpac/src/compositor/navigate.c:611,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:472,1
    - Dst: nav_set_zoom_trans_2d
      Src: /src/gpac/src/compositor/navigate.c:494,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:498,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:499,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:559,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:586,1
    - Dst: view_translate_y
      Src: /src/gpac/src/compositor/navigate.c:618,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:692,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/navigate.c:705,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:709,1
    - Dst: view_exam_x
      Src: /src/gpac/src/compositor/navigate.c:576,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:626,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/navigate.c:370,1
    - Dst: view_translate_y
      Src: /src/gpac/src/compositor/navigate.c:622,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:614,1
    - Dst: view_orbit_x
      Src: /src/gpac/src/compositor/navigate.c:580,1
    - Dst: view_exam_y
      Src: /src/gpac/src/compositor/navigate.c:615,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:469,1
    - Dst: gf_sc_fit_world_to_screen
      Src: /src/gpac/src/compositor/navigate.c:432,1
    - Dst: camera_jump
      Src: /src/gpac/src/compositor/navigate.c:428,1
    - Dst: camera_jump
      Src: /src/gpac/src/compositor/navigate.c:530,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:692,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 345
    argCount: 2
    argNames:
    - compositor
    - ev
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 717
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 717
    functionName: compositor_handle_navigation_3d
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - compositor_3d_reset_camera
    - gf_sc_invalidate
    - view_roll
    - view_translate_x
    - GF_LOG
    - INT2FIX
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_divfix
    - view_exam_x
    - camera_get_orientation
    - FIX2FLT
    - compositor_layer3d_get_camera
    - camera_jump
    - view_translate_y
    - update_pan_up
    - FLT2FIX
    - view_pan_y
    - view_orbit_y
    - gf_mx_get_yaw_pitch_roll
    - view_translate_z
    - gf_sc_fit_world_to_screen
    - view_exam_y
    - view_zoom
    - ABS
    - camera_changed
    - nav_set_zoom_trans_2d
    - gf_atan2
    - view_pan_x
    - gf_mulfix
    - handle_mouse_move_3d
    - gf_sc_reset_graphics
    - view_orbit_x
    linkageType: ''
    returnType: Bool
    signature: 'static Bool compositor_handle_navigation_3d(GF_Compositor *compositor,
      GF_Event *ev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compositor_handle_navigation_3d
      Src: /src/gpac/src/compositor/navigate.c:955,1
    - Dst: compositor_handle_navigation_2d
      Src: /src/gpac/src/compositor/navigate.c:957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - ev
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 958
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 958
    functionName: compositor_handle_navigation
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - compositor_handle_navigation_3d
    - compositor_handle_navigation_2d
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_handle_navigation(GF_Compositor *compositor, GF_Event
      *ev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/navigate.c:98,1
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:99,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:101,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/navigate.c:103,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:100,1
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/navigate.c:103,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/navigate.c:104,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - compositor
    - cam
    - dy
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: view_exam_y
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_mx_apply_vec
    - gf_vec_norm
    - camera_changed
    - gf_mx_rotation_matrix
    - camera_get_pos_dir
    - camera_get_right_dir
    linkageType: ''
    returnType: void
    signature: 'static void view_exam_y(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:113,1
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/navigate.c:114,1
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:114,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:115,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/navigate.c:116,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/navigate.c:117,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - compositor
    - cam
    - dd
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: view_roll
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_norm
    - camera_changed
    - gf_mx_rotation_matrix
    - camera_get_pos_dir
    linkageType: ''
    returnType: void
    signature: 'static void view_roll(GF_Compositor *compositor, GF_Camera *cam, Fixed
      dd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:149,1
    - Dst: update_pan_up
      Src: /src/gpac/src/compositor/navigate.c:163,1
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/navigate.c:149,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - compositor
    - cam
    - dy
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: view_pan_y
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - update_pan_up
    - gf_mx_apply_vec
    - camera_get_right_dir
    - gf_mx_rotation_matrix
    linkageType: ''
    returnType: void
    signature: 'static void view_pan_y(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/navigate.c:74,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/navigate.c:78,1
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/navigate.c:78,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:76,1
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:75,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/navigate.c:79,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - compositor
    - cam
    - dy
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: view_orbit_y
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_mx_apply_vec
    - gf_vec_norm
    - camera_changed
    - gf_mx_rotation_matrix
    - camera_get_pos_dir
    - camera_get_right_dir
    linkageType: ''
    returnType: void
    signature: 'static void view_orbit_y(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/navigate.c:125,1
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/navigate.c:126,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/navigate.c:130,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/navigate.c:129,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/navigate.c:128,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - cam
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: update_pan_up
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_norm
    - camera_changed
    - camera_get_pos_dir
    - camera_get_right_dir
    linkageType: ''
    returnType: void
    signature: 'static void update_pan_up(GF_Compositor *compositor, GF_Camera *cam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:195,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:198,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:197,1
    - Dst: camera_get_target_dir
      Src: /src/gpac/src/compositor/navigate.c:196,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/navigate.c:196,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - compositor
    - cam
    - dz
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: view_translate_z
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_vec_add
    - gf_vec_scale
    - camera_changed
    - camera_get_target_dir
    linkageType: ''
    returnType: void
    signature: 'static void view_translate_z(GF_Compositor *compositor, GF_Camera
      *cam, Fixed dz) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/navigate.c:229,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/navigate.c:230,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/navigate.c:232,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/navigate.c:245,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/navigate.c:260,1
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/navigate.c:269,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/navigate.c:269,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:283,1
    - Dst: memset
      Src: /src/gpac/src/compositor/navigate.c:235,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/navigate.c:240,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/navigate.c:264,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/navigate.c:262,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/navigate.c:258,1
    - Dst: camera_stop_anim
      Src: /src/gpac/src/compositor/navigate.c:276,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/navigate.c:236,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/navigate.c:239,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/navigate.c:257,1
    - Dst: camera_set_vectors
      Src: /src/gpac/src/compositor/navigate.c:272,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/navigate.c:284,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/navigate.c:226,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/navigate.c:257,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/navigate.c:261,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/navigate.c:270,1
    - Dst: camera_move_to
      Src: /src/gpac/src/compositor/navigate.c:274,1
    - Dst: camera_set_vectors
      Src: /src/gpac/src/compositor/navigate.c:277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 286
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 286
    functionName: gf_sc_fit_world_to_screen
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - memset
    - gf_mx_init
    - gf_divfix
    - camera_stop_anim
    - gf_sin
    - gf_node_traverse
    - gf_vec_len
    - gf_list_count
    - gf_vec_diff
    - gf_vec_add
    - gf_node_dirty_get
    - gf_mx_p
    - gf_vec_scale
    - camera_set_vectors
    - camera_changed
    - gf_mx_v
    - camera_get_pos_dir
    - gf_sg_get_root_node
    - camera_move_to
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_fit_world_to_screen(GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:87,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:89,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:88,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - compositor
    - cam
    - dx
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: view_exam_x
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_changed
    - gf_mx_apply_vec
    - gf_mx_rotation_matrix
    linkageType: ''
    returnType: void
    signature: 'static void view_exam_x(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_rotation_matrix
      Src: /src/gpac/src/compositor/navigate.c:139,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/navigate.c:140,1
    - Dst: update_pan_up
      Src: /src/gpac/src/compositor/navigate.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - compositor
    - cam
    - dx
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: view_pan_x
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - update_pan_up
    - gf_mx_rotation_matrix
    linkageType: ''
    returnType: void
    signature: 'static void view_pan_x(GF_Compositor *compositor, GF_Camera *cam,
      Fixed dx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/navigate.c:206,1
    - Dst: camera_changed
      Src: /src/gpac/src/compositor/navigate.c:213,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/navigate.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - compositor
    - cam
    - z
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - Fixed
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: view_zoom
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - camera_changed
    - gf_divfix
    linkageType: ''
    returnType: void
    signature: 'static void view_zoom(GF_Compositor *compositor, GF_Camera *cam, Fixed
      z) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:298,1
    - Dst: view_exam_x
      Src: /src/gpac/src/compositor/navigate.c:323,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:338,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:333,1
    - Dst: view_orbit_x
      Src: /src/gpac/src/compositor/navigate.c:333,1
    - Dst: view_exam_y
      Src: /src/gpac/src/compositor/navigate.c:325,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:299,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:300,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:303,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:300,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:305,1
    - Dst: view_pan_x
      Src: /src/gpac/src/compositor/navigate.c:308,1
    - Dst: view_translate_x
      Src: /src/gpac/src/compositor/navigate.c:313,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:315,1
    - Dst: view_translate_y
      Src: /src/gpac/src/compositor/navigate.c:315,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:313,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:334,1
    - Dst: view_zoom
      Src: /src/gpac/src/compositor/navigate.c:304,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:310,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:323,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:331,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:331,1
    - Dst: view_pan_y
      Src: /src/gpac/src/compositor/navigate.c:339,1
    - Dst: view_orbit_y
      Src: /src/gpac/src/compositor/navigate.c:334,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:309,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:309,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:314,1
    - Dst: view_translate_z
      Src: /src/gpac/src/compositor/navigate.c:319,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:314,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:319,1
    - Dst: view_roll
      Src: /src/gpac/src/compositor/navigate.c:320,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:320,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:322,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/navigate.c:322,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/navigate.c:325,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 5
    argNames:
    - compositor
    - cam
    - keys
    - dx
    - dy
    argTypes:
    - GF_Compositor*
    - GF_Camera*
    - u32
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 342
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 342
    functionName: handle_mouse_move_3d
    functionSourceFile: /src/gpac/src/compositor/navigate.c
    functionUses: []
    functionsReached:
    - view_orbit_y
    - view_pan_x
    - view_translate_z
    - view_translate_x
    - view_translate_y
    - gf_mulfix
    - view_roll
    - view_exam_y
    - view_zoom
    - ABS
    - view_pan_y
    - view_exam_x
    - view_orbit_x
    linkageType: ''
    returnType: void
    signature: 'static void handle_mouse_move_3d(GF_Compositor *compositor, GF_Camera
      *cam, u32 keys, Fixed dx, Fixed dy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ck
    - clock_val
    argTypes:
    - GF_Clock*
    - u32
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: gf_clock_to_media_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_clock_to_media_time(GF_Clock *ck, u32 clock_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/clock.c:266,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/clock.c:267,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/clock.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: gf_clock_buffer_on
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_pause
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_buffer_on(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/clock.c:289,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/clock.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ck
    - speed
    argTypes:
    - GF_Clock*
    - Fixed
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: gf_clock_set_speed
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_time
    - gf_sc_get_clock
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_set_speed(GF_Clock *ck, Fixed speed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/clock.c:247,1
    - Dst: gf_clock_to_media_time
      Src: /src/gpac/src/compositor/clock.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: gf_clock_media_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_time
    - gf_clock_to_media_time
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_clock_media_time(GF_Clock *ck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/clock.c:274,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/clock.c:279,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/clock.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: gf_clock_buffer_off
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_resume
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_buffer_off(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ck
    - ms_delay
    argTypes:
    - GF_Clock*
    - s32
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: gf_clock_set_audio_delay
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_set_audio_delay(GF_Clock *ck, s32 ms_delay) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - Clocks
    - clock_id
    - ES_ID
    argTypes:
    - GF_List*
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: gf_clock_find
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Clock*
    signature: 'GF_Clock *gf_clock_find(GF_List *Clocks, u16 clock_id, u16 ES_ID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/clock.c:196,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/clock.c:200,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/clock.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 219
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 219
    functionName: gf_clock_real_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_sc_get_clock
    - FIX2INT
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_clock_real_time(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/clock.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: gf_clock_elapsed_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_clock_elapsed_time(GF_Clock *ck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:70,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:78,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - scene
    - clock_id
    argTypes:
    - GF_Scene*
    - u16
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: gf_ck_look_for_clock_dep
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Clock*
    signature: 'static GF_Clock *gf_ck_look_for_clock_dep(GF_Scene *scene, u16 clock_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_real_time
      Src: /src/gpac/src/compositor/clock.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: gf_clock_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_real_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_clock_time(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: gf_clock_is_started
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_clock_is_started(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/clock.c:169,1
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/clock.c:171,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/clock.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: gf_clock_pause
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_sc_get_clock
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_pause(GF_Clock *ck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/clock.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - timescale
    argTypes:
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: gf_timestamp_to_clocktime
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_timestamp_rescale
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_timestamp_to_clocktime(u64 ts, u32 timescale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/clock.c:178,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/clock.c:187,1
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/clock.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: gf_clock_resume
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_sc_get_clock
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_resume(GF_Clock *ck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/clock.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: gf_clock_time_absolute
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_time
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_clock_time_absolute(GF_Clock *ck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ck
    - ck_time
    - ts
    argTypes:
    - GF_Clock*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 343
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 343
    functionName: gf_clock_diff
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_clock_diff(GF_Clock *ck, u32 ck_time, u32 ts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/clock.c:31,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/compositor/clock.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: gf_clock_new
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Clock*
    signature: 'static GF_Clock *gf_clock_new(GF_Compositor *compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:98,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/clock.c:105,1
    - Dst: gf_clock_del
      Src: /src/gpac/src/compositor/clock.c:108,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/clock.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - clocks
    - scene
    - new_ck
    - Clock_ESID
    argTypes:
    - GF_List*
    - GF_Scene*
    - GF_Clock*
    - u16
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: gf_ck_resolve_clock_dep
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_clock_del
    - gf_list_enum
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void gf_ck_resolve_clock_dep(GF_List *clocks, GF_Scene *scene,
      GF_Clock *new_ck, u16 Clock_ESID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: gf_clock_reset
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_reset(GF_Clock *ck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_del
      Src: /src/gpac/src/compositor/clock.c:42,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/clock.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ck
    argTypes:
    - GF_Clock*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gf_clock_del
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_mx_del
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_del(GF_Clock *ck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_find
      Src: /src/gpac/src/compositor/clock.c:117,1
    - Dst: gf_clock_new
      Src: /src/gpac/src/compositor/clock.c:124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/clock.c:126,1
    - Dst: gf_ck_resolve_clock_dep
      Src: /src/gpac/src/compositor/clock.c:130,1
    - Dst: gf_ck_look_for_clock_dep
      Src: /src/gpac/src/compositor/clock.c:122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - clocks
    - scene
    - clock_id
    - ES_ID
    - hasOCR
    argTypes:
    - GF_List*
    - GF_Scene*
    - u16
    - u16
    - s32
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: gf_clock_attach
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_clock_find
    - gf_ck_resolve_clock_dep
    - gf_clock_new
    - gf_ck_look_for_clock_dep
    linkageType: ''
    returnType: GF_Clock*
    signature: 'GF_Clock *gf_clock_attach(GF_List *clocks, GF_Scene *scene, u16 clock_id,
      u16 ES_ID, s32 hasOCR) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/clock.c:155,1
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/clock.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ck
    - ref_TS
    - timescale
    argTypes:
    - GF_Clock*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: gf_clock_set_time
    functionSourceFile: /src/gpac/src/compositor/clock.c
    functionUses: []
    functionsReached:
    - gf_sc_get_clock
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'void gf_clock_set_time(GF_Clock *ck, u64 ref_TS, u32 timescale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:207,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: compositor_init_circle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_circle(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:284,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:286,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:285,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:287,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:296,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:305,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: compositor_2d_draw_rectangle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_irect_intersect
    - gf_mx2d_apply_rect
    - gf_rect_pixelize
    - visual_2d_texture_path
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'static void compositor_2d_draw_rectangle(GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:474,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: compositor_init_rectangle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_rectangle(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:213,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:216,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:214,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:215,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: ellipse_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_ellipse
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void ellipse_check_changes(GF_Node *node, Drawable *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:313,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:317,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:316,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:314,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: rectangle_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_path_add_rect_center
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void rectangle_check_changes(GF_Node *node, Drawable *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:73,1
    - Dst: drawable_compute_line_scale
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:95,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:86,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:81,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:92,1
    - Dst: drawable_compute_line_scale
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:101,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:104,1
    - Dst: visual_3d_register_context
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:122,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:125,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:128,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:137,1
    - Dst: visual_3d_vrml_drawable_collide
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:140,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 147
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 147
    functionName: TraverseShape
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - visual_3d_vrml_drawable_collide
    - gf_node_traverse
    - gf_node_get_tag
    - gf_mulfix
    - visual_3d_register_context
    - gf_node_dirty_clear
    - drawable_compute_line_scale
    linkageType: ''
    returnType: void
    signature: 'static void TraverseShape(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:156,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:161,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:158,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:159,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: circle_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_ellipse
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void circle_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: compositor_init_shape
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_shape(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:167,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:171,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:182,1
    - Dst: mesh_new_ellipse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:183,1
    - Dst: circle_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:175,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:185,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:189,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:192,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:198,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:200,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 203
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 203
    functionName: TraverseCircle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - visual_3d_draw_2d
    - gf_node_get_private
    - mesh_new_ellipse
    - drawable_finalize_sort
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - circle_check_changes
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseCircle(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:494,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:523,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:529,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:537,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:551,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:540,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:548,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:566,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:581,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:582,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:511,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:513,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:524,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:539,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:565,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:580,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:522,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:530,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:531,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:538,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:541,1
    - Dst: gf_path_add_arc_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:568,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:575,1
    - Dst: gf_path_add_bezier
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:598,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:601,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:552,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:553,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:564,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:567,1
    - Dst: CHECK_VALID_C2D
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:579,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:602,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 4
    argNames:
    - node
    - stack
    - tr_state
    - idx
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    - MFInt32*
    constantsTouched: []
    func_position:
      end: 603
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 603
    functionName: curve2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_arc_to
    - GET_IDX
    - gf_path_add_quadratic_to
    - CHECK_VALID_C2D
    - gf_path_add_line_to
    - gf_path_close
    - drawable_reset_path
    - gf_path_add_bezier
    - gf_node_dirty_clear
    - drawable_mark_modified
    - gf_path_add_cubic_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'void curve2d_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state, MFInt32 *idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:810,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:810,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:814,1
    - Dst: TraverseBitWrapper
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:815,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 818
    functionName: compositor_init_bitwrapper
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_node_get_private
    - gf_node_set_callback_function
    - TraverseBitWrapper
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_bitwrapper(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:44,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:46,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:49,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:48,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ray
    - res
    argTypes:
    - GF_Ray*
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: compositor_get_2d_plane_intersection
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_scale
    - gf_divfix
    - gf_vec_add
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_get_2d_plane_intersection(GF_Ray *ray, SFVec3f *res) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:223,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:237,1
    - Dst: ellipse_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:231,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:227,1
    - Dst: mesh_new_ellipse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:238,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:240,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:244,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:247,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:253,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: TraverseEllipse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_private
    - mesh_new_ellipse
    - drawable_finalize_sort
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - ellipse_check_changes
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseEllipse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:333,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:375,1
    - Dst: gf_mo_hint_gaze
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:351,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:368,1
    - Dst: gf_mo_get_srd_info
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:336,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:379,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:385,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:386,1
    - Dst: gf_mo_hint_quality_degradation
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:392,1
    - Dst: gf_mo_hint_quality_degradation
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:395,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 399
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 399
    functionName: rectangle_check_adaptation
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_play
    - gf_sc_texture_stop_no_unregister
    - GF_LOG
    - gf_mo_hint_quality_degradation
    - gf_sc_texture_get_handler
    - gf_mo_hint_gaze
    - gf_mo_get_srd_info
    linkageType: ''
    returnType: Bool
    signature: 'Bool rectangle_check_adaptation(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:666,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:666,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - mat
    - w
    - h
    argTypes:
    - GF_Matrix2D*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 667
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 667
    functionName: get_point_size
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - FLT2FIX
    - gf_v2d_len
    linkageType: ''
    returnType: void
    signature: 'static void get_point_size(GF_Matrix2D *mat, Fixed *w, Fixed *h) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:706,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:713,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:713,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:712,1
    - Dst: get_point_size
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:710,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:716,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:717,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:718,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:719,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 723
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 723
    functionName: PointSet2D_Draw
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - gf_path_del
    - gf_path_new
    - gf_path_reset
    - gf_path_add_rect_center
    - visual_2d_draw_path
    - get_point_size
    linkageType: ''
    returnType: void
    signature: 'static void PointSet2D_Draw(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:781,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: compositor_init_pointset2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_pointset2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:262,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: compositor_init_ellipse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_ellipse(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:404,1
    - Dst: rectangle_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:412,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:408,1
    - Dst: compositor_2d_draw_rectangle
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:419,1
    - Dst: rectangle_check_adaptation
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:414,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:424,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:425,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:427,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:431,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:434,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:454,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:469,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:445,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 470
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 470
    functionName: TraverseRectangle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - rectangle_check_adaptation
    - gf_path_get_bounds
    - GF_COL_A
    - compositor_2d_draw_rectangle
    - gf_node_get_private
    - drawable_finalize_sort
    - rectangle_check_changes
    - mesh_new_rectangle
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseRectangle(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:675,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:678,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:687,1
    - Dst: gf_path_add_rect
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:683,1
    - Dst: get_point_size
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:680,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 689
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 689
    functionName: pointset2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - drawable_mark_modified
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - gf_path_add_rect
    - get_point_size
    linkageType: ''
    returnType: void
    signature: 'static void pointset2d_check_changes(GF_Node *node, Drawable *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:729,1
    - Dst: pointset2d_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:739,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:750,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:733,1
    - Dst: PointSet2D_Draw
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:743,1
    - Dst: mesh_new_ps
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:751,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:753,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:754,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:755,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:756,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:769,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:771,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:761,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 776
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 776
    functionName: TraversePointSet2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - mesh_new_ps
    - gf_path_get_bounds
    - memset
    - PointSet2D_Draw
    - gf_node_get_private
    - drawable_finalize_sort
    - pointset2d_check_changes
    - visual_3d_set_material_2d_argb
    - new_mesh
    - drawable_init_context_mpeg4
    - visual_3d_mesh_paint
    - drawable_node_del
    - drawable_get_aspect_2d_mpeg4
    linkageType: ''
    returnType: void
    signature: 'static void TraversePointSet2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:792,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 803
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 803
    functionName: TraverseBitWrapper
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - gf_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBitWrapper(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:608,1
    - Dst: curve2d_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:616,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:612,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:615,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:623,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:624,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:626,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:630,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:633,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:639,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:641,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 644
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 644
    functionName: TraverseCurve2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_private
    - drawable_finalize_sort
    - mesh_from_path
    - gf_node_dirty_get
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - curve2d_check_changes
    - visual_3d_draw_2d
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseCurve2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:648,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_2d.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: compositor_init_curve2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_curve2d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/scene_ns.c:38,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:42,1
    - Dst: gf_scene_message
      Src: /src/gpac/src/compositor/scene_ns.c:45,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/scene_ns.c:40,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/scene_ns.c:42,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene_ns.c:49,1
    - Dst: snprintf
      Src: /src/gpac/src/compositor/scene_ns.c:54,1
    - Dst: gf_scene_message
      Src: /src/gpac/src/compositor/scene_ns.c:55,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene_ns.c:58,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene_ns.c:64,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:71,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/scene_ns.c:82,1
    - Dst: gf_scene_remove_object
      Src: /src/gpac/src/compositor/scene_ns.c:98,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:69,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene_ns.c:99,1
    - Dst: gf_scene_ns_del
      Src: /src/gpac/src/compositor/scene_ns.c:86,1
    - Dst: gf_filter_send_gf_event
      Src: /src/gpac/src/compositor/scene_ns.c:92,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - failed_filter
    - udta
    - err
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 105
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 105
    functionName: scene_ns_on_setup_error
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_odm_disconnect
    - gf_scene_notify_event
    - gf_fatal_assert
    - gf_filter_send_gf_event
    - gf_scene_remove_object
    - gf_scene_message
    - gf_scene_ns_del
    - gf_odm_service_media_event
    - gf_scene_get_root_scene
    linkageType: ''
    returnType: Bool
    signature: 'Bool scene_ns_on_setup_error(GF_Filter *failed_filter, void *udta,
      GF_Err err) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/scene_ns.c:410,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:416,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/scene_ns.c:417,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/compositor/scene_ns.c:413,1
    - Dst: gf_clock_del
      Src: /src/gpac/src/compositor/scene_ns.c:418,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene_ns.c:420,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene_ns.c:422,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene_ns.c:423,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene_ns.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - sns
    - root_scene
    argTypes:
    - GF_SceneNamespace*
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 425
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 425
    functionName: gf_scene_ns_del
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_clock_del
    - gf_free
    - gf_filter_remove_src
    - gf_list_del_item
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_ns_del(GF_SceneNamespace *sns, GF_Scene *root_scene) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_section_name
      Src: /src/gpac/src/compositor/scene_ns.c:454,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene_ns.c:459,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:483,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/compositor/scene_ns.c:468,1
    - Dst: gf_scene_message
      Src: /src/gpac/src/compositor/scene_ns.c:496,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene_ns.c:505,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene_ns.c:509,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene_ns.c:510,1
    - Dst: gf_filter_get_id
      Src: /src/gpac/src/compositor/scene_ns.c:522,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/scene_ns.c:529,1
    - Dst: gf_filter_remove
      Src: /src/gpac/src/compositor/scene_ns.c:579,1
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene_ns.c:592,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/scene_ns.c:478,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/compositor/scene_ns.c:525,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/compositor/scene_ns.c:526,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene_ns.c:528,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/scene_ns.c:530,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/compositor/scene_ns.c:534,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene_ns.c:536,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/compositor/scene_ns.c:545,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:548,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene_ns.c:565,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/compositor/scene_ns.c:589,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:549,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene_ns.c:456,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene_ns.c:461,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene_ns.c:462,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/scene_ns.c:484,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene_ns.c:497,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene_ns.c:502,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/scene_ns.c:508,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/scene_ns.c:527,1
    - Dst: gf_filter_post_task
      Src: /src/gpac/src/compositor/scene_ns.c:576,1
    - Dst: gf_filter_post_task
      Src: /src/gpac/src/compositor/scene_ns.c:574,1
    - Dst: gf_opts_get_section_count
      Src: /src/gpac/src/compositor/scene_ns.c:450,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/scene_ns.c:455,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene_ns.c:457,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene_ns.c:458,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/scene_ns.c:464,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/scene_ns.c:469,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/compositor/scene_ns.c:465,1
    - Dst: gf_scene_ns_new
      Src: /src/gpac/src/compositor/scene_ns.c:493,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:481,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene_ns.c:467,1
    - Dst: gf_scene_message
      Src: /src/gpac/src/compositor/scene_ns.c:566,1
    - Dst: gf_filter_set_source_restricted
      Src: /src/gpac/src/compositor/scene_ns.c:585,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/compositor/scene_ns.c:587,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/compositor/scene_ns.c:535,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 138
    argCount: 5
    argNames:
    - scene
    - odm
    - serviceURL
    - parent_url
    - addon_parent_ns
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - char*
    - char*
    - GF_SceneNamespace*
    constantsTouched: []
    func_position:
      end: 593
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 593
    functionName: gf_scene_ns_connect_object
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - gf_opts_del_section
    - strncmp
    - gf_scene_message
    - gf_opts_get_section_count
    - gf_list_count
    - gf_scene_ns_new
    - strcmp
    - gf_strdup
    - gf_net_get_ntp
    - gf_filter_set_setup_failure_callback
    - gf_file_delete
    - gf_filter_set_source_restricted
    - gf_opts_get_section_name
    - stricmp
    - gf_assert
    - gf_filter_get_id
    - gf_filter_lock_all
    - gf_filter_post_task
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_get_sep
    - sprintf
    - strchr
    - gf_free
    - gf_filter_remove
    - gf_scene_notify_event
    - gf_filter_connect_source
    - gf_opts_get_key
    - sscanf
    - gf_odm_disconnect
    - gf_odm_service_media_event
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_ns_connect_object(GF_Scene *scene, GF_ObjectManager
      *odm, char *serviceURL, char *parent_url, GF_SceneNamespace *addon_parent_ns) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/scene_ns.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:387,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene_ns.c:392,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene_ns.c:391,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/scene_ns.c:393,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene_ns.c:395,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/scene_ns.c:400,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene_ns.c:401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - scene
    - owner
    - url
    - parent_url
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: gf_scene_ns_new
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_url_concatenate
    - gf_strdup
    - GF_LOG
    - strchr
    - GF_SAFEALLOC
    - gf_list_new
    - gf_scene_get_root_scene
    linkageType: ''
    returnType: GF_SceneNamespace*
    signature: 'GF_SceneNamespace *gf_scene_ns_new(GF_Scene *scene, GF_ObjectManager
      *owner, const char *url, const char *parent_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene_ns.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - callback
    - reschedule_ms
    argTypes:
    - GF_Filter*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: scene_ns_remove_object
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - gf_odm_disconnect
    linkageType: ''
    returnType: Bool
    signature: 'Bool scene_ns_remove_object(GF_Filter *filter, void *callback, u32
      *reschedule_ms) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:121,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene_ns.c:138,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene_ns.c:142,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:170,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/scene_ns.c:237,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:291,1
    - Dst: gf_odm_new
      Src: /src/gpac/src/compositor/scene_ns.c:319,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene_ns.c:321,1
    - Dst: gf_filter_pid_is_sparse
      Src: /src/gpac/src/compositor/scene_ns.c:337,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene_ns.c:346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:156,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene_ns.c:195,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/scene_ns.c:235,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:290,1
    - Dst: gf_odm_register_pid
      Src: /src/gpac/src/compositor/scene_ns.c:342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:360,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene_ns.c:125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene_ns.c:149,1
    - Dst: gf_sc_set_fps
      Src: /src/gpac/src/compositor/scene_ns.c:152,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:165,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene_ns.c:194,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/scene_ns.c:246,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene_ns.c:376,1
    - Dst: gf_odm_setup_object
      Src: /src/gpac/src/compositor/scene_ns.c:361,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene_ns.c:145,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/scene_ns.c:242,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/scene_ns.c:244,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/compositor/scene_ns.c:210,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/scene_ns.c:241,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/scene_ns.c:243,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/scene_ns.c:244,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/scene_ns.c:275,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/compositor/scene_ns.c:303,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/compositor/scene_ns.c:344,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 209
    argCount: 4
    argNames:
    - scene
    - sns
    - pid
    - is_in_iod
    argTypes:
    - GF_Scene*
    - GF_SceneNamespace*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 378
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 378
    functionName: gf_scene_insert_pid
    functionSourceFile: /src/gpac/src/compositor/scene_ns.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_list_add
    - gf_odm_register_pid
    - gf_list_get
    - gf_filter_pid_set_udta
    - gf_odm_setup_object
    - gf_sc_send_event
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_is_sparse
    - gf_sc_set_fps
    - strrchr
    - strchr
    - atoi
    - strnicmp
    - gf_odm_new
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_insert_pid(GF_Scene *scene, GF_SceneNamespace *sns,
      GF_FilterPid *pid, Bool is_in_iod) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_check_segment_switch
      Src: /src/gpac/src/compositor/mpeg4_inline.c:177,1
    - Dst: MC_GetRange
      Src: /src/gpac/src/compositor/mpeg4_inline.c:197,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_inline.c:181,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/mpeg4_inline.c:193,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inline.c:186,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:204,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 209
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 209
    functionName: gf_inline_check_restart
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_list_count
    - MC_GetRange
    - gf_odm_get_media_clock
    - gf_odm_check_segment_switch
    - gf_clock_time_absolute
    linkageType: ''
    returnType: void
    signature: 'static void gf_inline_check_restart(GF_Scene *scene) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_disconnect
      Src: /src/gpac/src/compositor/mpeg4_inline.c:248,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/mpeg4_inline.c:238,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/mpeg4_inline.c:246,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/mpeg4_inline.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: gf_scene_mpeg4_inline_restart
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_odm_start
    - gf_scene_restart_dynamic
    - gf_odm_stop
    - gf_scene_disconnect
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_mpeg4_inline_restart(GF_Scene *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:514,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inline.c:517,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:516,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_inline.c:518,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:516,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:519,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:520,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/compositor/mpeg4_inline.c:521,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:521,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:522,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:529,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:531,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:528,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_inline.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - storage
    argTypes:
    - M_Storage*
    constantsTouched: []
    func_position:
      end: 532
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 532
    functionName: storage_get_section
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - gf_node_get_private
    - gf_strdup
    - sprintf
    - gf_sha1_csum
    - strcpy
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *storage_get_section(M_Storage *storage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_inline_check_restart
      Src: /src/gpac/src/compositor/mpeg4_inline.c:213,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: gf_scene_mpeg4_inline_check_restart
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_inline_check_restart
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_mpeg4_inline_check_restart(GF_Scene *scene) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_inline.c:280,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:307,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/mpeg4_inline.c:291,1
    - Dst: gf_inline_on_modified
      Src: /src/gpac/src/compositor/mpeg4_inline.c:349,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:258,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/mpeg4_inline.c:267,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:265,1
    - Dst: gf_odm_reset_media_control
      Src: /src/gpac/src/compositor/mpeg4_inline.c:284,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/mpeg4_inline.c:287,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_inline.c:326,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:312,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_inline.c:314,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:329,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:280,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:282,1
    - Dst: gf_scene_disconnect
      Src: /src/gpac/src/compositor/mpeg4_inline.c:292,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_inline.c:334,1
    - Dst: gf_scene_mpeg4_inline_restart
      Src: /src/gpac/src/compositor/mpeg4_inline.c:354,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_inline.c:355,1
    - Dst: gf_mo_event_target_remove_by_node
      Src: /src/gpac/src/compositor/mpeg4_inline.c:269,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:281,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:311,1
    - Dst: gf_inline_set_scene
      Src: /src/gpac/src/compositor/mpeg4_inline.c:306,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/mpeg4_inline.c:289,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/mpeg4_inline.c:338,1
    - Dst: gf_inline_check_restart
      Src: /src/gpac/src/compositor/mpeg4_inline.c:342,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 359
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 359
    functionName: gf_inline_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sc_invalidate
    - gf_node_dirty_clear
    - gf_sg_vrml_mf_reset
    - gf_scene_disconnect
    - gf_list_del_item
    - gf_odm_stop
    - gf_mo_event_target_remove_by_node
    - gf_scene_mpeg4_inline_restart
    - gf_sg_get_private
    - gf_scene_notify_event
    - gf_odm_reset_media_control
    - gf_node_get_private
    - gf_sc_traverse_subscene
    - gf_inline_check_restart
    - gf_mo_del
    - gf_node_get_graph
    - gf_inline_set_scene
    - gf_odm_disconnect
    - gf_node_dirty_set
    - gf_inline_on_modified
    linkageType: ''
    returnType: void
    signature: 'static void gf_inline_traverse(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:539,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:545,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:549,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:548,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:542,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:552,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:553,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:554,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:557,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:558,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:563,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:559,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:564,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inline.c:560,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - fieldType
    - opt
    argTypes:
    - void*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 569
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 569
    functionName: storage_parse_sf
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_strdup
    - FLT2FIX
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void storage_parse_sf(void *ptr, u32 fieldType, char *opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: gf_inline_restart
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    linkageType: ''
    returnType: void
    signature: 'void gf_inline_restart(GF_Scene *scene) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_inline.c:474,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:482,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:475,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:487,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/mpeg4_inline.c:478,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:489,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/mpeg4_inline.c:494,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_inline.c:496,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 497
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 497
    functionName: gf_inline_is_default_viewpoint
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - strcmp
    - gf_node_get_graph
    - gf_sg_get_private
    - strrchr
    - gf_odm_find_segment
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_inline_is_default_viewpoint(GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: storage_get_section
      Src: /src/gpac/src/compositor/mpeg4_inline.c:577,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_inline.c:584,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/src/compositor/mpeg4_inline.c:580,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:589,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:602,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/compositor/mpeg4_inline.c:608,1
    - Dst: storage_parse_sf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:609,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:617,1
    - Dst: storage_parse_sf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:622,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:596,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_inline.c:603,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/mpeg4_inline.c:606,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/mpeg4_inline.c:627,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:586,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/mpeg4_inline.c:588,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/mpeg4_inline.c:621,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:629,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/compositor/mpeg4_inline.c:585,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/src/compositor/mpeg4_inline.c:593,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/mpeg4_inline.c:595,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:614,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:616,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/compositor/mpeg4_inline.c:611,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - storage
    argTypes:
    - M_Storage*
    constantsTouched: []
    func_position:
      end: 630
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 630
    functionName: gf_storage_load
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - storage_get_section
    - gf_node_changed
    - gf_opts_del_section
    - sscanf
    - sprintf
    - gf_opts_get_key_count
    - gf_net_get_ntp
    - gf_node_get_field
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_is_sf_field
    - strchr
    - gf_sg_vrml_mf_append
    - gf_free
    - storage_parse_sf
    - gf_sg_vrml_get_sf_type
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void gf_storage_load(M_Storage *storage) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/mpeg4_inline.c:109,1
    - Dst: gf_mo_is_same_url
      Src: /src/gpac/src/compositor/mpeg4_inline.c:104,1
    - Dst: gf_mo_event_target_remove_by_node
      Src: /src/gpac/src/compositor/mpeg4_inline.c:111,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:120,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/mpeg4_inline.c:139,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/mpeg4_inline.c:146,1
    - Dst: gf_odm_stop_or_destroy
      Src: /src/gpac/src/compositor/mpeg4_inline.c:148,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:92,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_inline.c:94,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:123,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/mpeg4_inline.c:168,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/mpeg4_inline.c:110,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:122,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/mpeg4_inline.c:165,1
    - Dst: gf_inline_set_scene
      Src: /src/gpac/src/compositor/mpeg4_inline.c:166,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_inline.c:114,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/mpeg4_inline.c:134,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:138,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:137,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 171
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 171
    functionName: gf_inline_on_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_mo_get_od_id
    - gf_node_get_tag
    - gf_node_get_private
    - gf_mo_event_target_remove_by_node
    - gf_odm_stop_or_destroy
    - gf_mo_del
    - gf_odm_disconnect
    - gf_list_del_item
    - gf_node_set_private
    - gf_sg_vrml_mf_reset
    - gf_inline_set_scene
    - gf_mo_is_same_url
    - gf_scene_notify_event
    - gf_node_dirty_parents
    linkageType: ''
    returnType: void
    signature: 'void gf_inline_on_modified(GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_inline.c:56,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:57,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:67,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:63,1
    - Dst: gf_scene_get_media_object_ex
      Src: /src/gpac/src/compositor/mpeg4_inline.c:60,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:72,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:76,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_inline.c:78,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inline.c:79,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_inline.c:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - root
    argTypes:
    - M_Inline*
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: gf_inline_set_scene
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - gf_sc_invalidate
    - gf_mo_play
    - gf_node_get_graph
    - gf_sg_vrml_mf_reset
    - gf_sg_get_private
    - gf_node_set_private
    - gf_scene_get_media_object_ex
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_inline_set_scene(M_Inline *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_inline.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: gf_init_inline
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void gf_init_inline(GF_Scene *scene, GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:638,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:643,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:649,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:649,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:640,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:644,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:652,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:650,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:655,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:652,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:652,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:641,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:646,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:646,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:652,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:653,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:637,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inline.c:647,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inline.c:649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - ptr
    - fieldType
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 661
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 661
    functionName: storage_serialize_sf
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - FIX2FLT
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *storage_serialize_sf(void *ptr, u32 fieldType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_inline.c:367,1
    - Dst: gf_sc_uri_is_hardcoded_proto
      Src: /src/gpac/src/compositor/mpeg4_inline.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - url
    argTypes:
    - GF_Compositor*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: gf_inline_is_hardcoded_proto
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_sc_uri_is_hardcoded_proto
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_inline_is_hardcoded_proto(GF_Compositor *compositor,
      MFURL *url) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: storage_get_section
      Src: /src/gpac/src/compositor/mpeg4_inline.c:667,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:710,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:711,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:677,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/compositor/mpeg4_inline.c:691,1
    - Dst: storage_serialize_sf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:692,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:699,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inline.c:705,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:708,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_inline.c:715,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/compositor/mpeg4_inline.c:675,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_inline.c:678,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:686,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/mpeg4_inline.c:689,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:703,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_inline.c:709,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:705,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mpeg4_inline.c:703,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:716,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/mpeg4_inline.c:670,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_inline.c:680,1
    - Dst: storage_serialize_sf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:700,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:703,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:719,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - storage
    argTypes:
    - M_Storage*
    constantsTouched: []
    func_position:
      end: 720
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 720
    functionName: gf_storage_save
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - storage_get_section
    - strlen
    - gf_malloc
    - strcat
    - storage_serialize_sf
    - gf_opts_del_section
    - gf_realloc
    - sprintf
    - gf_node_get_field
    - gf_net_get_ntp
    - gf_sg_vrml_mf_get_item
    - gf_opts_set_key
    - gf_sg_vrml_is_sf_field
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_storage_save(M_Storage *storage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_storage_load
      Src: /src/gpac/src/compositor/mpeg4_inline.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - n
    - _route
    argTypes:
    - GF_Node*
    - struct _route*
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: on_force_restore
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_storage_load
    linkageType: ''
    returnType: void
    signature: 'static void on_force_restore(GF_Node *n, struct _route *_route) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inline.c:384,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_inline.c:408,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_inline.c:434,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inline.c:454,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inline.c:459,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_inline.c:464,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_inline.c:389,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/mpeg4_inline.c:385,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inline.c:404,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_inline.c:426,1
    - Dst: gf_mo_is_same_url
      Src: /src/gpac/src/compositor/mpeg4_inline.c:428,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_inline.c:457,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inline.c:461,1
    - Dst: gf_scene_get_media_object
      Src: /src/gpac/src/compositor/mpeg4_inline.c:462,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:394,1
    - Dst: gf_inline_is_hardcoded_proto
      Src: /src/gpac/src/compositor/mpeg4_inline.c:401,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:435,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inline.c:421,1
    - Dst: gf_inline_is_hardcoded_proto
      Src: /src/gpac/src/compositor/mpeg4_inline.c:451,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/mpeg4_inline.c:391,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:390,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_inline.c:409,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inline.c:436,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_inline.c:409,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/mpeg4_inline.c:433,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 86
    argCount: 2
    argNames:
    - _is
    - lib_url
    argTypes:
    - void*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 468
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 468
    functionName: gf_inline_get_proto_lib
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_url_concatenate
    - gf_malloc
    - gf_scene_get_media_object
    - gf_mo_get_od_id
    - gf_list_enum
    - gf_list_count
    - gf_mo_play
    - gf_mo_del
    - strcmp
    - gf_inline_is_hardcoded_proto
    - gf_sg_vrml_mf_reset
    - gf_mo_is_same_url
    - gf_free
    - stricmp
    - gf_list_del_item
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *gf_inline_get_proto_lib(void *_is, MFURL *lib_url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:726,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inline.c:733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: gf_storage_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void gf_storage_traverse(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_storage_save
      Src: /src/gpac/src/compositor/mpeg4_inline.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - n
    - _route
    argTypes:
    - GF_Node*
    - struct _route*
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: on_force_save
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_storage_save
    linkageType: ''
    returnType: void
    signature: 'static void on_force_save(GF_Node *n, struct _route *_route) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_inline.c:751,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:757,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_inline.c:756,1
    - Dst: gf_storage_load
      Src: /src/gpac/src/compositor/mpeg4_inline.c:767,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inline.c:766,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_inline.c:770,1
    - Dst: on_force_save
      Src: /src/gpac/src/compositor/mpeg4_inline.c:772,1
    - Dst: on_force_restore
      Src: /src/gpac/src/compositor/mpeg4_inline.c:773,1
    - Dst: storage_parse_sf
      Src: /src/gpac/src/compositor/mpeg4_inline.c:774,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 778
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 778
    functionName: gf_scene_init_storage
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_storage_load
    - on_force_restore
    - on_force_save
    - storage_parse_sf
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_init_storage(GF_Scene *scene, GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/mpeg4_inline.c:788,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inline.c:790,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inline.c:792,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inline.c:794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - sg
    - sensor
    argTypes:
    - GF_SceneGraph*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 799
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 799
    functionName: gf_scene_get_keynav
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inline.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_sg_get_private
    - gf_list_get
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_scene_get_keynav(GF_SceneGraph *sg, GF_Node *sensor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_check_url_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:73,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/mpeg4_background.c:74,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:75,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - txh
    - url
    argTypes:
    - GF_TextureHandler*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: back_check_gf_sc_texture_change
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop
    - gf_sc_texture_play
    - gf_sc_texture_check_url_change
    linkageType: ''
    returnType: void
    signature: 'static void back_check_gf_sc_texture_change(GF_TextureHandler *txh,
      MFURL *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/mpeg4_background.c:49,1
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_background.c:51,1
    - Dst: gf_sc_texture_restart
      Src: /src/gpac/src/compositor/mpeg4_background.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: UpdateBackgroundTexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_update_frame
    - gf_mo_get_loop
    - gf_sc_texture_restart
    linkageType: ''
    returnType: void
    signature: 'static void UpdateBackgroundTexture(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/mpeg4_background.c:256,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/mpeg4_background.c:259,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/mpeg4_background.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - tr_state
    - txh
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_TextureHandler*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: back_draw_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - visual_3d_mesh_paint
    - gf_sc_texture_disable
    - gf_sc_texture_enable
    linkageType: ''
    returnType: void
    signature: 'static void back_draw_texture(GF_TraverseState *tr_state, GF_TextureHandler
      *txh, GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background.c:452,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background.c:455,1
    - Dst: Bindable_OnSetBind
      Src: /src/gpac/src/compositor/mpeg4_background.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: back_set_bind
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - Bindable_OnSetBind
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void back_set_bind(GF_Node *node, GF_Route *route) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_background.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - url
    argTypes:
    - MFURL*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: back_use_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: Bool
    signature: 'static Bool back_use_texture(MFURL *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background.c:84,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:105,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:107,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:101,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:109,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:89,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_background.c:86,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:108,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:88,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_background.c:91,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_background.c:92,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_background.c:93,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_background.c:94,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:96,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:97,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:104,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:98,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:99,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:100,1
    - Dst: PreDestroyBindable
      Src: /src/gpac/src/compositor/mpeg4_background.c:85,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_background.c:106,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: DestroyBackground
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_destroy
    - mesh_free
    - gf_list_del
    - gf_node_get_private
    - gf_sg_vrml_mf_reset
    - gf_free
    - PreDestroyBindable
    linkageType: ''
    returnType: void
    signature: 'static void DestroyBackground(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:57,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background.c:62,1
    - Dst: gf_sc_texture_is_transparent
      Src: /src/gpac/src/compositor/mpeg4_background.c:64,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/mpeg4_background.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - url
    - txh
    argTypes:
    - MFURL*
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: back_gf_sc_texture_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - back_use_texture
    - gf_sc_invalidate
    - gf_sc_texture_set_blend_mode
    - gf_sc_texture_is_transparent
    linkageType: ''
    returnType: Bool
    signature: 'static Bool back_gf_sc_texture_enabled(MFURL *url, GF_TextureHandler
      *txh) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:196,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:197,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:199,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mpeg4_background.c:211,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:211,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:245,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mpeg4_background.c:142,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mpeg4_background.c:148,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_background.c:205,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_background.c:215,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:220,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:221,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:228,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:231,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:247,1
    - Dst: COL_TO_RGBA
      Src: /src/gpac/src/compositor/mpeg4_background.c:183,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:198,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:205,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_background.c:213,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mpeg4_background.c:204,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mpeg4_background.c:202,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_background.c:214,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mpeg4_background.c:216,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:251,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mpeg4_background.c:129,1
    - Dst: COL_TO_RGBA
      Src: /src/gpac/src/compositor/mpeg4_background.c:136,1
    - Dst: COL_TO_RGBA
      Src: /src/gpac/src/compositor/mpeg4_background.c:138,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mpeg4_background.c:212,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:212,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:223,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:229,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mpeg4_background.c:242,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 178
    argCount: 4
    argNames:
    - mesh
    - angles
    - color
    - ground_dome
    argTypes:
    - GF_Mesh*
    - MFFloat*
    - MFColor*
    - Bool
    constantsTouched: []
    func_position:
      end: 252
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 252
    functionName: back_build_dome
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_update_bounds
    - gf_mulfix
    - MESH_SET_NORMAL
    - MESH_MAKE_COL
    - gf_cos
    - gf_sqrt
    - gf_vec_scale
    - mesh_set_vertex_vx
    - gf_vec_norm
    - gf_divfix
    - COL_TO_RGBA
    - mesh_reset
    - gf_sin
    linkageType: ''
    returnType: void
    signature: 'static void back_build_dome(GF_Mesh *mesh, MFFloat *angles, MFColor
      *color, Bool ground_dome) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_background.c:293,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:304,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:306,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/mpeg4_background.c:340,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:395,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:438,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background.c:403,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background.c:374,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background.c:422,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:305,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:303,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:366,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/mpeg4_background.c:431,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:436,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background.c:429,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/mpeg4_background.c:298,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background.c:310,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:414,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_background.c:282,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:357,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:398,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background.c:383,1
    - Dst: visual_3d_set_background_state
      Src: /src/gpac/src/compositor/mpeg4_background.c:446,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:369,1
    - Dst: back_build_dome
      Src: /src/gpac/src/compositor/mpeg4_background.c:399,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_background.c:423,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:355,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:306,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:439,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/mpeg4_background.c:387,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:420,1
    - Dst: back_build_dome
      Src: /src/gpac/src/compositor/mpeg4_background.c:370,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/mpeg4_background.c:341,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_background.c:412,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_background.c:292,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:302,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:304,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_background.c:340,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/mpeg4_background.c:342,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background.c:373,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:365,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:307,1
    - Dst: visual_3d_set_background_state
      Src: /src/gpac/src/compositor/mpeg4_background.c:361,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:437,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background.c:320,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:327,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:328,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:329,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:330,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:331,1
    - Dst: back_gf_sc_texture_enabled
      Src: /src/gpac/src/compositor/mpeg4_background.c:332,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:389,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/compositor/mpeg4_background.c:353,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:394,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:303,1
    - Dst: back_use_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:305,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_background.c:433,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_background.c:295,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:440,1
    - Dst: back_draw_texture
      Src: /src/gpac/src/compositor/mpeg4_background.c:435,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_background.c:410,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background.c:284,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:302,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_background.c:341,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_background.c:385,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:419,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/mpeg4_background.c:344,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_background.c:294,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:317,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_background.c:342,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:442,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:356,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/mpeg4_background.c:413,1
    - Dst: DestroyBackground
      Src: /src/gpac/src/compositor/mpeg4_background.c:276,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_background.c:297,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_background.c:307,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_background.c:319,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 189
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 447
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 447
    functionName: TraverseBackground
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - visual_3d_clear
    - gf_sc_texture_play
    - gf_sc_invalidate
    - gf_mx_add_scale
    - visual_3d_enable_antialias
    - INT2FIX
    - GF_COL_R
    - gf_mx_init
    - visual_3d_mesh_paint
    - gf_divfix
    - GF_COL_B
    - gf_mx_copy
    - gf_node_dirty_clear
    - visual_3d_set_background_state
    - gf_list_find
    - gf_mx_add_matrix
    - back_build_dome
    - Bindable_SetIsBound
    - back_draw_texture
    - gf_list_get
    - gf_mx_apply_vec_4x4
    - gf_mx_add_translation
    - back_use_texture
    - gf_node_get_private
    - DestroyBackground
    - back_gf_sc_texture_enabled
    - new_mesh
    - GF_COL_G
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBackground(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:478,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:479,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:480,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:481,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:483,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:486,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:502,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:504,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:512,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:514,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:526,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:522,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:519,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:524,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_background.c:468,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:477,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:485,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:495,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:503,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:505,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:506,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:507,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:508,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:510,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:517,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:513,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:533,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:535,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:537,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:539,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_background.c:471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_background.c:463,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:474,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:476,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:484,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:494,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:496,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:497,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:498,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:499,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:501,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:516,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:529,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_background.c:531,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_background.c:542,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:523,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_background.c:543,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_background.c:461,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:475,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:487,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:489,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:488,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_background.c:490,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_background.c:492,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:493,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:520,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:521,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:525,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mpeg4_background.c:511,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mpeg4_background.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 126
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 545
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 545
    functionName: compositor_init_background
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_node_set_callback_function
    - mesh_set_vertex
    - GF_LOG
    - new_mesh
    - gf_mx_init
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    - gf_list_new
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_background(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_background.c:550,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/compositor/mpeg4_background.c:553,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:557,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:559,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/compositor/mpeg4_background.c:554,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:560,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/compositor/mpeg4_background.c:562,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/compositor/mpeg4_background.c:563,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_background.c:566,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:568,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:573,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:574,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:575,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_background.c:569,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:577,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:572,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_background.c:580,1
    - Dst: back_check_gf_sc_texture_change
      Src: /src/gpac/src/compositor/mpeg4_background.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 581
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 581
    functionName: compositor_background_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_background.c
    functionUses: []
    functionsReached:
    - mesh_free
    - gf_sg_vrml_field_equal
    - gf_node_get_private
    - gf_sc_invalidate
    - back_check_gf_sc_texture_change
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'void compositor_background_modified(GF_Node *node) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:90,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:78,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:111,1
    - Dst: fmod
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:123,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:133,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:155,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:73,1
    - Dst: fmod
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:107,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:123,1
    - Dst: timesensor_deactivate
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:127,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:153,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:77,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:100,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:107,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:126,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:151,1
    - Dst: timesensor_deactivate
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:79,1
    - Dst: timesensor_deactivate
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:134,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:140,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:164,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 166
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 166
    functionName: timesensor_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_timesensor.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_private
    - fmod
    - timesensor_deactivate
    - FLT2FIX
    - gf_sys_old_arch_compat
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void timesensor_update_time(GF_TimeNode *st) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:47,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:51,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ts
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: timesensor_destroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_timesensor.c
    functionUses: []
    functionsReached:
    - gf_sc_unregister_time_node
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void timesensor_destroy(GF_Node *ts, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:173,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:181,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:184,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:183,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: compositor_init_timesensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_timesensor.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_register_time_node
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_timesensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:194,1
    - Dst: timesensor_update_time
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:197,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: compositor_timesensor_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_timesensor.c
    functionUses: []
    functionsReached:
    - timesensor_update_time
    - gf_sc_register_time_node
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_timesensor_modified(GF_Node *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:60,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_timesensor.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - ts
    argTypes:
    - TimeSensorStack*
    - M_TimeSensor*
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: timesensor_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_timesensor.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void timesensor_deactivate(TimeSensorStack *stack, M_TimeSensor
      *ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sound.c:43,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sound.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sound.c:46,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_sound.c:64,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/compositor/mpeg4_sound.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: TraverseSound2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_node_traverse
    - gf_mx2d_apply_coords
    - gf_node_get_private
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSound2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - node
    - vol
    argTypes:
    - GF_Node*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: SND2D_GetChannelVolume
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SND2D_GetChannelVolume(GF_Node *node, Fixed *vol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:101,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sound.c:112,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:117,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:125,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:118,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:130,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:134,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:138,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:145,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:146,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:153,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:154,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:149,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:105,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:112,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:145,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:146,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:146,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:146,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:153,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:101,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:114,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:115,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:124,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:131,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:135,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:142,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:155,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:154,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_sound.c:157,1
    - Dst: pow
      Src: /src/gpac/src/compositor/mpeg4_sound.c:157,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:145,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:153,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:105,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:117,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:118,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sound.c:127,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:117,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:118,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:133,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:137,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:141,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:145,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:154,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:145,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_sound.c:157,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 137
    argCount: 5
    argNames:
    - min_b
    - min_f
    - max_b
    - max_f
    - pos
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 158
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 158
    functionName: snd_compute_gain
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - pow
    - gf_mulfix
    - FLT2FIX
    - gf_sqrt
    - ABS
    - gf_divfix
    - FIX2FLT
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed snd_compute_gain(Fixed min_b, Fixed min_f, Fixed max_b,
      Fixed max_f, SFVec3f pos) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sound.c:199,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_sound.c:211,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:213,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sound.c:213,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sound.c:238,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:242,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_sound.c:251,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_sound.c:200,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:216,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:216,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:215,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mpeg4_sound.c:218,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sound.c:230,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sound.c:233,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mpeg4_sound.c:235,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_sound.c:188,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sound.c:179,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sound.c:203,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sound.c:210,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_sound.c:216,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sound.c:232,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mpeg4_sound.c:240,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:241,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:244,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:245,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sound.c:176,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sound.c:198,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sound.c:207,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sound.c:220,1
    - Dst: snd_compute_gain
      Src: /src/gpac/src/compositor/mpeg4_sound.c:219,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sound.c:229,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sound.c:231,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sound.c:235,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_sound.c:237,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 255
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 255
    functionName: TraverseSound
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_mx_inverse
    - gf_mx_apply_vec
    - gf_vec_cross
    - gf_node_get_private
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_dot
    - gf_mulfix
    - snd_compute_gain
    - gf_sqrt
    - gf_acos
    - gf_sin
    - gf_vec_norm
    - gf_divfix
    - gf_free
    - gf_mx_copy
    - gf_vec_equal
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSound(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sound.c:83,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sound.c:91,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sound.c:90,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sound.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: compositor_init_sound2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_sound2d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sound.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - vol
    argTypes:
    - GF_Node*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: SND_GetChannelVolume
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'static Bool SND_GetChannelVolume(GF_Node *node, Fixed *vol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sound.c:276,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sound.c:283,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sound.c:278,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sound.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: compositor_init_sound
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sound.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_sound(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:93,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:94,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_text.c:182,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_text.c:184,1
    - Dst: parent_node_end_text_group
      Src: /src/gpac/src/compositor/mpeg4_text.c:195,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:199,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:85,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:86,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:94,1
    - Dst: parent_node_start_group
      Src: /src/gpac/src/compositor/mpeg4_text.c:173,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_text.c:179,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_text.c:180,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:92,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:91,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_text.c:145,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:103,1
    - Dst: gf_font_manager_set_font
      Src: /src/gpac/src/compositor/mpeg4_text.c:97,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_text.c:150,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:109,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_text.c:170,1
    - Dst: parent_node_start_group
      Src: /src/gpac/src/compositor/mpeg4_text.c:193,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:91,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:92,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:93,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:106,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_text.c:123,1
    - Dst: gf_font_manager_create_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:125,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_text.c:146,1
    - Dst: parent_node_end_text_group
      Src: /src/gpac/src/compositor/mpeg4_text.c:176,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 151
    argCount: 3
    argNames:
    - st
    - txt
    - tr_state
    argTypes:
    - TextStack*
    - M_Text*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 201
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 201
    functionName: build_text_split
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_font_manager_create_span
    - strlen
    - gf_malloc
    - gf_list_add
    - parent_node_start_group
    - strcmp
    - INT2FIX
    - parent_node_end_text_group
    - gf_font_manager_delete_span
    - memcpy
    - gf_divfix
    - strstr
    - gf_font_manager_set_font
    linkageType: ''
    returnType: void
    signature: 'static void build_text_split(TextStack *st, M_Text *txt, GF_TraverseState
      *tr_state) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:506,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:510,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_text.c:513,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/mpeg4_text.c:507,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_text.c:512,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:517,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:518,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 5
    argNames:
    - node
    - st
    - force_texture
    - hl_color
    - asp
    argTypes:
    - GF_Node*
    - TextStack*
    - Bool*
    - u32*
    - DrawAspect2D*
    constantsTouched: []
    func_position:
      end: 526
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 526
    functionName: text_get_draw_opt
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - strchr
    - strnicmp
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void text_get_draw_opt(GF_Node *node, TextStack *st, Bool *force_texture,
      u32 *hl_color, DrawAspect2D *asp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_text.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: text_is_3d_material
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'static Bool text_is_3d_material(GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_text.c:568,1
    - Dst: gf_font_spans_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_text.c:575,1
    - Dst: text_get_draw_opt
      Src: /src/gpac/src/compositor/mpeg4_text.c:572,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_text.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: text_draw_2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - text_get_draw_opt
    - GF_COL_A
    - gf_font_spans_draw_2d
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void text_draw_2d(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: text_clean_paths
      Src: /src/gpac/src/compositor/mpeg4_text.c:620,1
    - Dst: build_text_split
      Src: /src/gpac/src/compositor/mpeg4_text.c:621,1
    - Dst: text_draw_2d
      Src: /src/gpac/src/compositor/mpeg4_text.c:629,1
    - Dst: text_draw_3d
      Src: /src/gpac/src/compositor/mpeg4_text.c:633,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_text.c:693,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_text.c:607,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_text.c:611,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_text.c:619,1
    - Dst: gf_font_spans_pick
      Src: /src/gpac/src/compositor/mpeg4_text.c:638,1
    - Dst: text_clean_paths
      Src: /src/gpac/src/compositor/mpeg4_text.c:608,1
    - Dst: text_check_changes
      Src: /src/gpac/src/compositor/mpeg4_text.c:625,1
    - Dst: gf_font_spans_get_selection
      Src: /src/gpac/src/compositor/mpeg4_text.c:646,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_text.c:681,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_text.c:603,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_text.c:610,1
    - Dst: drawable_del_ex
      Src: /src/gpac/src/compositor/mpeg4_text.c:609,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:618,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:692,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_text.c:659,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_text.c:664,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_text.c:695,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 58
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 697
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 697
    functionName: Text_Traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - drawable_init_context_mpeg4
    - gf_node_dirty_clear
    - text_draw_3d
    - text_clean_paths
    - gf_list_del
    - gf_node_dirty_get
    - gf_font_spans_pick
    - build_text_split
    - gf_list_get
    - text_draw_2d
    - gf_list_enum
    - gf_sc_get_compositor
    - gf_free
    - text_check_changes
    - GF_COL_A
    - gf_node_get_private
    - drawable_finalize_sort
    - gf_font_spans_get_selection
    - drawable_del_ex
    linkageType: ''
    returnType: void
    signature: 'static void Text_Traverse(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_text.c:725,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:728,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_text.c:733,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_text.c:732,1
    - Dst: text_clean_paths
      Src: /src/gpac/src/compositor/mpeg4_text.c:731,1
    - Dst: build_text
      Src: /src/gpac/src/compositor/mpeg4_text.c:734,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mpeg4_text.c:743,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_text.c:744,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:746,1
    - Dst: gf_font_span_create_path
      Src: /src/gpac/src/compositor/mpeg4_text.c:747,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_text.c:751,1
    - Dst: mesh_extrude_path_ext
      Src: /src/gpac/src/compositor/mpeg4_text.c:748,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mpeg4_text.c:752,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_text.c:749,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 10
    argNames:
    - node
    - tr_state
    - mesh
    - thespine
    - creaseAngle
    - begin_cap
    - end_cap
    - spine_ori
    - spine_scale
    - txAlongSpine
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - GF_Mesh*
    - MFVec3f*
    - Fixed
    - Bool
    - Bool
    - MFRotation*
    - MFVec2f*
    - Bool
    constantsTouched: []
    func_position:
      end: 753
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 753
    functionName: compositor_extrude_text
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_mesh_build_aabbtree
    - gf_list_get
    - text_clean_paths
    - mesh_extrude_path_ext
    - gf_node_get_private
    - gf_list_count
    - gf_path_del
    - gf_node_dirty_get
    - drawable_reset_path
    - build_text
    - gf_node_dirty_clear
    - mesh_reset
    - mesh_update_bounds
    - gf_font_span_create_path
    linkageType: ''
    returnType: void
    signature: 'void compositor_extrude_text(GF_Node *node, GF_TraverseState *tr_state,
      GF_Mesh *mesh, MFVec3f *thespine, Fixed creaseAngle, Bool begin_cap, Bool end_cap,
      MFRotation *spine_ori, MFVec2f *spine_scale, Bool txAlongSpine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_text.c:63,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:64,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_text.c:65,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_text.c:69,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - stack
    argTypes:
    - GF_Compositor*
    - TextStack*
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: text_clean_paths
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_font_manager_delete_span
    - drawable_reset_path
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void text_clean_paths(GF_Compositor *compositor, TextStack *stack) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:227,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:228,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:238,1
    - Dst: gf_font_manager_set_font
      Src: /src/gpac/src/compositor/mpeg4_text.c:233,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:239,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:335,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:350,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:408,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:476,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:480,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:226,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:227,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:228,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:229,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_text.c:237,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:237,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:344,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:356,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:379,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:394,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:226,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:229,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mpeg4_text.c:238,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:238,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:230,1
    - Dst: gf_font_manager_create_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:245,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:370,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:430,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:442,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:483,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:479,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:218,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:219,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:237,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/mpeg4_text.c:230,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_text.c:265,1
    - Dst: gf_font_manager_create_span
      Src: /src/gpac/src/compositor/mpeg4_text.c:278,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_text.c:329,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:361,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_text.c:399,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_text.c:440,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_text.c:484,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/mpeg4_text.c:493,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 337
    argCount: 3
    argNames:
    - st
    - txt
    - tr_state
    argTypes:
    - TextStack*
    - M_Text*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 495
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 495
    functionName: build_text
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_font_manager_create_span
    - strlen
    - gf_list_add
    - gf_list_get
    - gf_muldiv
    - gf_mulfix
    - gf_list_count
    - strcmp
    - INT2FIX
    - gf_font_manager_delete_span
    - gf_rect_union
    - gf_divfix
    - strstr
    - gf_font_manager_set_font
    linkageType: ''
    returnType: void
    signature: 'static void build_text(TextStack *st, M_Text *txt, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_is_3d_material
      Src: /src/gpac/src/compositor/mpeg4_text.c:548,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_text.c:551,1
    - Dst: gf_font_spans_draw_3d
      Src: /src/gpac/src/compositor/mpeg4_text.c:556,1
    - Dst: text_get_draw_opt
      Src: /src/gpac/src/compositor/mpeg4_text.c:555,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_text.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - tr_state
    - node
    - st
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    - TextStack*
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: text_draw_3d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - memset
    - text_get_draw_opt
    - text_is_3d_material
    - gf_font_spans_draw_3d
    - drawable_get_aspect_2d_mpeg4
    linkageType: ''
    returnType: void
    signature: 'static void text_draw_3d(GF_TraverseState *tr_state, GF_Node *node,
      TextStack *st) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_text.c:583,1
    - Dst: text_clean_paths
      Src: /src/gpac/src/compositor/mpeg4_text.c:584,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_text.c:586,1
    - Dst: build_text
      Src: /src/gpac/src/compositor/mpeg4_text.c:585,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_text.c:587,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_text.c:591,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:593,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_text.c:594,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - TextStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: text_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - text_clean_paths
    - INT2FIX
    - gf_node_dirty_get
    - build_text
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void text_check_changes(GF_Node *node, TextStack *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_text.c:703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_text.c:705,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_text.c:716,1
    - Dst: drawable_init_ex
      Src: /src/gpac/src/compositor/mpeg4_text.c:708,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_text.c:712,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_text.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 718
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 718
    functionName: compositor_init_text
    functionSourceFile: /src/gpac/src/compositor/mpeg4_text.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_list_new
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - drawable_init_ex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_text(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_url_changed
      Src: /src/gpac/src/compositor/texturing.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - txh
    - url
    argTypes:
    - GF_TextureHandler*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: gf_sc_texture_check_url_change
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_mo_url_changed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_texture_check_url_change(GF_TextureHandler *txh,
      MFURL *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing.c:38,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/texturing.c:43,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/texturing.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - txh
    - compositor
    - owner
    argTypes:
    - GF_TextureHandler*
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: gf_sc_texture_setup
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - memset
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_setup(GF_TextureHandler *txh, GF_Compositor
      *compositor, GF_Node *owner) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_open
      Src: /src/gpac/src/compositor/texturing.c:99,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/texturing.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - txh
    - url
    - start_offset
    - end_offset
    - can_loop
    - lock_scene_timeline
    argTypes:
    - GF_TextureHandler*
    - MFURL*
    - Double
    - Double
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: gf_sc_texture_play_from_to
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_open
    - gf_mo_play
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_texture_play_from_to(GF_TextureHandler *txh,
      MFURL *url, Double start_offset, Double end_offset, Bool can_loop, Bool lock_scene_timeline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/texturing.c:134,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/texturing.c:139,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/texturing.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: gf_sc_texture_stop_no_unregister
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_mo_release_data
    - gf_mo_stop
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_stop_no_unregister(GF_TextureHandler
      *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_release_stream
      Src: /src/gpac/src/compositor/texturing.c:173,1
    - Dst: gf_mo_restart
      Src: /src/gpac/src/compositor/texturing.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: gf_sc_texture_restart
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release_stream
    - gf_mo_restart
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_restart(GF_TextureHandler *txh) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/texturing.c:234,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/texturing.c:243,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/texturing.c:344,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/texturing.c:285,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/texturing.c:286,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing.c:311,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/texturing.c:341,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/texturing.c:298,1
    - Dst: gf_mo_is_muted
      Src: /src/gpac/src/compositor/texturing.c:322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing.c:317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing.c:269,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/texturing.c:279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing.c:287,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/texturing.c:289,1
    - Dst: gf_mo_fetch_data
      Src: /src/gpac/src/compositor/texturing.c:248,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/texturing.c:260,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/texturing.c:317,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/texturing.c:317,1
    - Dst: setup_texture_object
      Src: /src/gpac/src/compositor/texturing.c:335,1
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/texturing.c:308,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    argCount: 2
    argNames:
    - txh
    - disable_resync
    argTypes:
    - GF_TextureHandler*
    - Bool
    constantsTouched: []
    func_position:
      end: 345
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 345
    functionName: gf_sc_texture_update_frame
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_data
    - gf_sc_texture_release
    - gf_sc_invalidate
    - gf_sc_texture_stop_no_unregister
    - setup_texture_object
    - GF_LOG
    - gf_mo_release_data
    - gf_mo_fetch_data
    - gf_sys_clock
    - gf_clock_time
    - gf_mo_is_muted
    - gf_filter_pid_query_buffer_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_update_frame(GF_TextureHandler *txh,
      Bool disable_resync) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: update_texture_void
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void update_texture_void(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/compositor/texturing.c:55,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/texturing.c:60,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/texturing.c:58,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/texturing.c:59,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/texturing.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: gf_sc_texture_destroy
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release
    - gf_sc_texture_stop
    - gf_mx_try_lock
    - gf_mx_v
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_destroy(GF_TextureHandler *txh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/texturing.c:80,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/texturing.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - txh
    - url
    - lock_scene_timeline
    argTypes:
    - GF_TextureHandler*
    - MFURL*
    - Bool
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: gf_sc_texture_open
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release
    - gf_mo_register
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_texture_open(GF_TextureHandler *txh, MFURL
      *url, Bool lock_scene_timeline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/texturing.c:120,1
    - Dst: gf_sc_texture_play_from_to
      Src: /src/gpac/src/compositor/texturing.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - txh
    - url
    argTypes:
    - GF_TextureHandler*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: gf_sc_texture_play
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_sc_texture_play_from_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_texture_play(GF_TextureHandler *txh, MFURL
      *url) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/texturing.c:152,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/texturing.c:165,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/texturing.c:156,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/texturing.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: gf_sc_texture_stop
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_mo_unregister
    - gf_mo_release_data
    - gf_mo_stop
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_stop(GF_TextureHandler *txh) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/texturing.c:182,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/texturing.c:188,1
    - Dst: gf_sc_texture_configure_conversion
      Src: /src/gpac/src/compositor/texturing.c:186,1
    - Dst: gf_mo_get_visual_info
      Src: /src/gpac/src/compositor/texturing.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - txh
    - private_media
    argTypes:
    - GF_TextureHandler*
    - Bool
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: setup_texture_object
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_allocate
    - gf_mo_get_visual_info
    - gf_sc_texture_configure_conversion
    - gf_pixel_get_size_info
    linkageType: ''
    returnType: void
    signature: 'static void setup_texture_object(GF_TextureHandler *txh, Bool private_media) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/texturing.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: gf_sc_texture_release_stream
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - gf_mo_release_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_texture_release_stream(GF_TextureHandler *txh) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing.c:369,1
    - Dst: it_get_texture
      Src: /src/gpac/src/compositor/texturing.c:373,1
    - Dst: compositor_get_composite_texture
      Src: /src/gpac/src/compositor/texturing.c:381,1
    - Dst: mt_get_texture
      Src: /src/gpac/src/compositor/texturing.c:375,1
    - Dst: pt_get_texture
      Src: /src/gpac/src/compositor/texturing.c:377,1
    - Dst: compositor_mpeg4_get_gradient_texture
      Src: /src/gpac/src/compositor/texturing.c:384,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/texturing.c:388,1
    - Dst: it_get_texture
      Src: /src/gpac/src/compositor/texturing.c:396,1
    - Dst: mt_get_texture
      Src: /src/gpac/src/compositor/texturing.c:398,1
    - Dst: pt_get_texture
      Src: /src/gpac/src/compositor/texturing.c:400,1
    - Dst: compositor_svg_get_gradient_texture
      Src: /src/gpac/src/compositor/texturing.c:407,1
    - Dst: gf_sc_hardcoded_proto_get_texture_handler
      Src: /src/gpac/src/compositor/texturing.c:415,1
    - Dst: compositor_svg_get_image_texture
      Src: /src/gpac/src/compositor/texturing.c:410,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 420
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 420
    functionName: gf_sc_texture_get_handler
    functionSourceFile: /src/gpac/src/compositor/texturing.c
    functionUses: []
    functionsReached:
    - it_get_texture
    - compositor_mpeg4_get_gradient_texture
    - gf_node_get_tag
    - compositor_get_composite_texture
    - gf_sc_hardcoded_proto_get_texture_handler
    - pt_get_texture
    - gf_sc_texture_get_handler
    - compositor_svg_get_image_texture
    - compositor_svg_get_gradient_texture
    - mt_get_texture
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_TextureHandler *gf_sc_texture_get_handler(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:145,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/audio_mixer.c:143,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:142,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:141,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:147,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: gf_mixer_remove_all
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mixer_lock
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mixer_remove_all(GF_AudioMixer *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:395,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: input_sample_flt_be
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_flt_be(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:413,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: input_sample_dblp
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_64
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_dblp(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: input_sample_s16p
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_16
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s16p(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: input_sample_u8p
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_u8p(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/audio_mixer.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - am
    - ifce
    argTypes:
    - GF_AudioMixer*
    - GF_AudioInterface*
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: gf_mixer_is_src_present
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mixer_is_src_present(GF_AudioMixer *am, GF_AudioInterface
      *ifce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:404,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 408
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 408
    functionName: input_sample_dbl
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_64
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_dbl(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:422,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: input_sample_dbl_be
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_64
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_dbl_be(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 461
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 461
    functionName: input_sample_u8
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_u8(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: input_sample_null
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_null(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:962,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:986,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:1057,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:1114,1
    - Dst: gf_mixer_fetch_input
      Src: /src/gpac/src/compositor/audio_mixer.c:1132,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/audio_mixer.c:1096,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:1138,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:1153,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1274,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:957,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/audio_mixer.c:1049,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:1171,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:1129,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1235,1
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:1312,1
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:1331,1
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:1393,1
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:1411,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1214,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:1468,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1183,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:963,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:973,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/audio_mixer.c:981,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/audio_mixer.c:1021,1
    - Dst: gf_am_configure_source
      Src: /src/gpac/src/compositor/audio_mixer.c:1059,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:1064,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/audio_mixer.c:1083,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1254,1
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:1429,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/audio_mixer.c:960,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:965,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:982,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/audio_mixer.c:985,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:1033,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:1036,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/audio_mixer.c:1063,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:1147,1
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:1199,1
    - Dst: swap_64
      Src: /src/gpac/src/compositor/audio_mixer.c:1293,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 508
    argCount: 4
    argNames:
    - am
    - buffer
    - buffer_size
    - delay
    argTypes:
    - GF_AudioMixer*
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1470
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 1470
    functionName: gf_mixer_get_output
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_mixer_fetch_input
    - gf_list_get
    - memset
    - gf_am_configure_source
    - swap_32
    - gf_realloc
    - swap_64
    - gf_list_count
    - gf_mixer_lock
    - GF_LOG
    - swap_16
    - gf_mixer_reconfig
    - memcpy
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mixer_get_output(GF_AudioMixer *am, void *buffer,
      u32 buffer_size, u32 delay) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/audio_mixer.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - am
    - max_speed
    argTypes:
    - GF_AudioMixer*
    - Double
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: gf_mixer_set_max_speed
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'void gf_mixer_set_max_speed(GF_AudioMixer *am, Double max_speed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: gf_mixer_is_eos
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mixer_is_eos(GF_AudioMixer *am) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:235,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:242,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:236,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/audio_mixer.c:240,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:238,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:247,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - am
    - src
    argTypes:
    - GF_AudioMixer*
    - GF_AudioInterface*
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: gf_mixer_remove_input
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mixer_lock
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mixer_remove_input(GF_AudioMixer *am, GF_AudioInterface *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: make_s24_int
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 make_s24_int(u8 *ptr) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/audio_mixer.c:475,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:531,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/compositor/audio_mixer.c:477,1
    - Dst: gf_audio_fmt_sname
      Src: /src/gpac/src/compositor/audio_mixer.c:531,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 1
    argNames:
    - in
    argTypes:
    - MixerInput*
    constantsTouched: []
    func_position:
      end: 535
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 535
    functionName: gf_am_configure_source
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_is_planar
    - gf_audio_fmt_sname
    - GF_LOG
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: void
    signature: 'static void gf_am_configure_source(MixerInput *in) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/compositor/audio_mixer.c:749,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/audio_mixer.c:726,1
    - Dst: get_channel_out_pos
      Src: /src/gpac/src/compositor/audio_mixer.c:735,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/audio_mixer.c:736,1
    - Dst: get_channel_out_pos
      Src: /src/gpac/src/compositor/audio_mixer.c:758,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 6
    argNames:
    - inChan
    - nb_in
    - in_ch_layout
    - forced_layout
    - nb_out
    - out_ch_layout
    argTypes:
    - s32*
    - u32
    - u64
    - Bool
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 785
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 785
    functionName: gf_mixer_map_channels
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - get_channel_out_pos
    - gf_assert
    - memcpy
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_mixer_map_channels(s32 *inChan, u32 nb_in,
      u64 in_ch_layout, Bool forced_layout, u32 nb_out, u64 out_ch_layout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_remove_all
      Src: /src/gpac/src/compositor/audio_mixer.c:130,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:134,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/audio_mixer.c:131,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/compositor/audio_mixer.c:132,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_mixer.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: gf_mixer_del
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_mixer_remove_all
    - gf_mx_del
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mixer_del(GF_AudioMixer *am) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_is_src_present
      Src: /src/gpac/src/compositor/audio_mixer.c:216,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/audio_mixer.c:218,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:221,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:220,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/audio_mixer.c:225,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - am
    - src
    argTypes:
    - GF_AudioMixer*
    - GF_AudioInterface*
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: gf_mixer_add_input
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mixer_is_src_present
    - gf_mixer_lock
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mixer_add_input(GF_AudioMixer *am, GF_AudioInterface
      *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - am
    - out_sr
    - out_ch
    - out_fmt
    argTypes:
    - GF_AudioMixer*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: get_best_samplerate
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err get_best_samplerate(GF_AudioMixer *am, u32 *out_sr,
      u32 *out_ch, u32 *out_fmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: make_s24_be_int
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 make_s24_be_int(u8 *ptr) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:542,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:550,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:544,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/audio_mixer.c:563,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:562,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/audio_mixer.c:566,1
    - Dst: gf_am_configure_source
      Src: /src/gpac/src/compositor/audio_mixer.c:617,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:623,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/compositor/audio_mixer.c:648,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:654,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 107
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 656
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 656
    functionName: gf_mixer_reconfig
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_am_configure_source
    - memset
    - gf_list_count
    - gf_mixer_lock
    - gf_mixer_set_config
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mixer_reconfig(GF_AudioMixer *am) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - in_ch
    - out_ch_layout
    argTypes:
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 670
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: get_channel_out_pos
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 get_channel_out_pos(u32 in_ch, u64 out_ch_layout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/audio_mixer.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: gf_mixer_get_src_count
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mixer_get_src_count(GF_AudioMixer *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: gf_mixer_get_block_align
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mixer_get_block_align(GF_AudioMixer *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: input_sample_s32p
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s32p(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_s24_int
      Src: /src/gpac/src/compositor/audio_mixer.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: input_sample_s24
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - make_s24_int
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s24(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:377,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: input_sample_flt
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_flt(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - am
    - num_channels
    argTypes:
    - GF_AudioMixer*
    - u32
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: gf_mixer_force_channel_out
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mixer_force_channel_out(GF_AudioMixer *am, u32 num_channels) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/audio_mixer.c:188,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/audio_mixer.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - am
    - lockIt
    argTypes:
    - GF_AudioMixer*
    - Bool
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: gf_mixer_lock
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mixer_lock(GF_AudioMixer *am, Bool lockIt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: input_sample_s32
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s32(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: input_sample_s32_be
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s32_be(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_s24_int
      Src: /src/gpac/src/compositor/audio_mixer.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: input_sample_s24p
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - make_s24_int
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s24p(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_32
      Src: /src/gpac/src/compositor/audio_mixer.c:386,1
    - Dst: TRUNC_FLT_DBL
      Src: /src/gpac/src/compositor/audio_mixer.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: input_sample_fltp
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - TRUNC_FLT_DBL
    - swap_32
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_fltp(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/audio_mixer.c:819,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/audio_mixer.c:824,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:831,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:832,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/audio_mixer.c:884,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/audio_mixer.c:915,1
    - Dst: gf_mixer_map_channels
      Src: /src/gpac/src/compositor/audio_mixer.c:890,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 160
    argCount: 3
    argNames:
    - am
    - in
    - audio_delay
    argTypes:
    - GF_AudioMixer*
    - MixerInput*
    - u32
    constantsTouched: []
    func_position:
      end: 942
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 942
    functionName: gf_mixer_fetch_input
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - MIN
    - FIX2INT
    - memset
    - gf_mixer_map_channels
    linkageType: ''
    returnType: void
    signature: 'static void gf_mixer_fetch_input(GF_AudioMixer *am, MixerInput *in,
      u32 audio_delay) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/audio_mixer.c:100,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/compositor/audio_mixer.c:103,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/audio_mixer.c:104,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_mixer.c:102,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/audio_mixer.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ar
    argTypes:
    - struct _audio_render*
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: gf_mixer_new
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx_new
    - memset
    - gf_audio_fmt_bit_depth
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AudioMixer *gf_mixer_new(struct _audio_render *ar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: gf_mixer_empty
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mixer_empty(GF_AudioMixer *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - am
    - outSR
    - outCH
    - outFMT
    - outChCfg
    argTypes:
    - GF_AudioMixer*
    - u32*
    - u32*
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: gf_mixer_get_config
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mixer_get_config(GF_AudioMixer *am, u32 *outSR,
      u32 *outCH, u32 *outFMT, u64 *outChCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_s24_be_int
      Src: /src/gpac/src/compositor/audio_mixer.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: input_sample_s24_be
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - make_s24_be_int
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s24_be(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: input_sample_s16
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_16
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s16(u8 *data, u32 nb_ch, u32 sample_offset, u32 channel,
      u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: gf_mixer_must_reconfig
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mixer_must_reconfig(GF_AudioMixer *am) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - am
    argTypes:
    - GF_AudioMixer*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: gf_mixer_buffering
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mixer_buffering(GF_AudioMixer *am) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:279,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:286,1
    - Dst: get_best_samplerate
      Src: /src/gpac/src/compositor/audio_mixer.c:291,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/audio_mixer.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_mixer.c:283,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_mixer.c:300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - am
    - outSR
    - outCH
    - outFMT
    - outChCfg
    argTypes:
    - GF_AudioMixer*
    - u32
    - u32
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 302
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 302
    functionName: gf_mixer_set_config
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - gf_mixer_lock
    - GF_LOG
    - get_best_samplerate
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mixer_set_config(GF_AudioMixer *am, u32 outSR,
      u32 outCH, u32 outFMT, u64 outChCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_16
      Src: /src/gpac/src/compositor/audio_mixer.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - data
    - nb_ch
    - sample_offset
    - channel
    - planar_stride
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: input_sample_s16_be
    functionSourceFile: /src/gpac/src/compositor/audio_mixer.c
    functionUses: []
    functionsReached:
    - swap_16
    linkageType: ''
    returnType: s32
    signature: 's32 input_sample_s16_be(u8 *data, u32 nb_ch, u32 sample_offset, u32
      channel, u32 planar_stride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:383,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: group_3d_delete
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void group_3d_delete(GF_Node *node) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:220,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:227,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:225,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:245,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:248,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:287,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:294,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:309,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:296,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:339,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:362,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:238,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:247,1
    - Dst: group_2d_cache_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:262,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:326,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:332,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:336,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:338,1
    - Dst: group_2d_cache_evaluate
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:355,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:359,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:239,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:325,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:364,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:352,1
    - Dst: gf_sc_anchor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:236,1
    - Dst: gf_rect_from_bbox
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:305,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:297,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:365,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 123
    argCount: 4
    argNames:
    - node
    - group
    - tr_state
    - positions
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    - u32*
    constantsTouched: []
    func_position:
      end: 373
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 373
    functionName: group_2d_traverse_with_order
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_list_get_count
    - gf_node_traverse
    - compositor_mpeg4_get_sensor_handler_ex
    - gf_node_get_tag
    - drawable_check_focus_highlight
    - gf_list_count
    - gf_rect_union
    - gf_node_dirty_get
    - group_2d_cache_traverse
    - gf_sc_anchor_get_handler
    - gf_sys_clock
    - gf_rect_from_bbox
    - gf_node_list_get_child
    - group_2d_cache_evaluate
    - gf_list_new
    - gf_node_dirty_clear
    - drawable_reset_group_highlight
    linkageType: ''
    returnType: void
    signature: 'void group_2d_traverse_with_order(GF_Node *node, GroupingNode2D *group,
      GF_TraverseState *tr_state, u32 *positions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - ParentNode2D*
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: parent_node_setup
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void parent_node_setup(ParentNode2D *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:630,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:633,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:631,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - ParentNode2D*
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: parent_node_reset
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void parent_node_reset(ParentNode2D *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - group
    - bounds
    argTypes:
    - ParentNode2D*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: parent_node_end_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_last
    linkageType: ''
    returnType: void
    signature: 'void parent_node_end_group(ParentNode2D *group, GF_Rect *bounds) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:683,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:711,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:686,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:713,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:698,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:722,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:728,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:729,1
    - Dst: parent_node_start_group
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:745,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:749,1
    - Dst: gf_rect_from_bbox
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:754,1
    - Dst: parent_node_end_group
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:758,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:765,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - node
    - group
    - tr_state
    argTypes:
    - GF_Node*
    - ParentNode2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 768
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 768
    functionName: parent_node_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - parent_node_start_group
    - gf_node_traverse
    - compositor_mpeg4_get_sensor_handler_ex
    - gf_node_get_tag
    - gf_list_del
    - parent_node_end_group
    - gf_node_dirty_get
    - gf_rect_from_bbox
    - gf_list_new
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'void parent_node_traverse(GF_Node *node, ParentNode2D *group, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:391,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: group_3d_new
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GroupingNode*
    signature: 'GroupingNode *group_3d_new(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parent_node_reset
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:624,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - ParentNode2D*
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: parent_node_predestroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - parent_node_reset
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void parent_node_predestroy(ParentNode2D *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:641,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:652,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - group
    - n
    - discardable
    argTypes:
    - ParentNode2D*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 653
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 653
    functionName: parent_node_start_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_list_last
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void parent_node_start_group(ParentNode2D *group, GF_Node *n, Bool
      discardable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - group
    - bounds
    - ascent
    - descent
    - text_split_idx
    argTypes:
    - ParentNode2D*
    - GF_Rect*
    - Fixed
    - Fixed
    - u32
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: parent_node_end_text_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_last
    linkageType: ''
    returnType: void
    signature: 'void parent_node_end_text_group(ParentNode2D *group, GF_Rect *bounds,
      Fixed ascent, Fixed descent, u32 text_split_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:809,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:813,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:810,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:812,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:811,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:819,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:820,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:821,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cg
    - tr_state
    - mat2D
    argTypes:
    - ChildGroup*
    - GF_TraverseState*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 825
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 825
    functionName: parent_node_child_traverse_matrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - gf_node_traverse
    - gf_mx2d_pre_multiply
    - gf_mx_add_matrix
    - gf_mx2d_copy
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'void parent_node_child_traverse_matrix(ChildGroup *cg, GF_TraverseState
      *tr_state, GF_Matrix2D *mat2D) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_anchor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:63,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:65,1
    - Dst: group_2d_cache_evaluate
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:187,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:191,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:48,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:46,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:50,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:72,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:75,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:157,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:139,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:127,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:111,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:42,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:74,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:97,1
    - Dst: gf_rect_from_bbox
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:135,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:158,1
    - Dst: group_2d_cache_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:90,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:164,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:169,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:66,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:119,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:184,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:196,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 114
    argCount: 3
    argNames:
    - node
    - group
    - tr_state
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 206
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 206
    functionName: group_2d_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    - gf_node_dirty_clear
    - drawable_reset_group_highlight
    - gf_node_list_get_count
    - gf_node_traverse
    - compositor_mpeg4_get_sensor_handler_ex
    - gf_list_count
    - gf_node_dirty_get
    - gf_sc_anchor_get_handler
    - gf_rect_from_bbox
    - gf_list_new
    - gf_assert
    - group_2d_cache_traverse
    - gf_list_reset
    - gf_sys_clock
    - group_2d_cache_evaluate
    - drawable_check_focus_highlight
    - gf_rect_union
    linkageType: ''
    returnType: void
    signature: 'void group_2d_traverse(GF_Node *node, GroupingNode2D *group, GF_TraverseState
      *tr_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: get_light_type
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_light_type(GF_Node *n) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:465,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:476,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:484,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:532,1
    - Dst: get_light_type
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:515,1
    - Dst: get_light_type
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:527,1
    - Dst: gf_bbox_union
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:564,1
    - Dst: drawable3d_check_focus_highlight
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:581,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:587,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:596,1
    - Dst: get_light_type
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:455,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:434,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:472,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:502,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:531,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:515,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:552,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:600,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:422,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:451,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:439,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:529,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:534,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:559,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:598,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:599,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:496,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:500,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:546,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:576,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:597,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 152
    argCount: 3
    argNames:
    - node
    - group
    - tr_state
    argTypes:
    - GF_Node*
    - GroupingNode*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 605
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 605
    functionName: group_3d_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - group_3d_traverse
    - gf_malloc
    - gf_node_get_tag
    - get_light_type
    - gf_node_dirty_clear
    - gf_node_list_get_count
    - gf_node_traverse
    - compositor_mpeg4_get_sensor_handler_ex
    - gf_list_del
    - gf_list_count
    - gf_node_dirty_get
    - gf_list_new
    - gf_bbox_union
    - gf_list_get
    - gf_bbox_from_rect
    - memcpy
    - gf_free
    - drawable3d_check_focus_highlight
    - gf_list_rem
    - visual_3d_node_cull
    linkageType: ''
    returnType: void
    signature: 'void group_3d_traverse(GF_Node *node, GroupingNode *group, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:783,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:785,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:784,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:791,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:786,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:792,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:793,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:794,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:795,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping.c:796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - cg
    - tr_state
    argTypes:
    - ChildGroup*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 799
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 799
    functionName: parent_node_child_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_mx2d_add_translation
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'void parent_node_child_traverse(ChildGroup *cg, GF_TraverseState *tr_state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_update_caps
      Src: /src/gpac/src/compositor/media_object.c:239,1
    - Dst: compositor_get_srdmap_size
      Src: /src/gpac/src/compositor/media_object.c:252,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:250,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 27
    argCount: 8
    argNames:
    - mo
    - width
    - height
    - stride
    - pixel_ar
    - pixelFormat
    - is_flipped
    - for_texture
    argTypes:
    - GF_MediaObject*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - Bool*
    - Bool
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: gf_mo_get_visual_info_ex
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - compositor_get_srdmap_size
    - gf_mo_update_caps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_get_visual_info_ex(GF_MediaObject *mo, u32 *width,
      u32 *height, u32 *stride, u32 *pixel_ar, u32 *pixelFormat, Bool *is_flipped,
      Bool for_texture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - mo
    - nb_views
    argTypes:
    - GF_MediaObject*
    - u32*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: gf_mo_get_nb_views
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_get_nb_views(GF_MediaObject *mo, u32 *nb_views) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:1143,1
    - Dst: gf_odm_stop_or_destroy
      Src: /src/gpac/src/compositor/media_object.c:1152,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/media_object.c:1149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - _mo
    argTypes:
    - GF_MediaObject**
    constantsTouched: []
    func_position:
      end: 1161
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1161
    functionName: gf_mo_stop
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_stop_or_destroy
    - gf_filter_pck_unref
    - gf_odm_disconnect
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_stop(GF_MediaObject **_mo) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/media_object.c:1201,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/media_object.c:1204,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/media_object.c:1215,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/media_object.c:1208,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/media_object.c:1206,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/media_object.c:1219,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/media_object.c:1220,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/media_object.c:1222,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 1
    argNames:
    - url
    argTypes:
    - MFURL*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1239
    functionName: gf_mo_get_od_id
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - gf_strdup
    - sprintf
    - strnicmp
    - stricmp
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mo_get_od_id(MFURL *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: gf_mo_get_duration
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_mo_get_duration(GF_MediaObject *mo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/media_object.c:1620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mo
    - i
    argTypes:
    - GF_MediaObject*
    - u32
    constantsTouched: []
    func_position:
      end: 1622
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1622
    functionName: gf_mo_event_target_remove_by_index
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mo_event_target_remove_by_index(GF_MediaObject *mo, u32
      i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - GF_DOMEventTarget*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: gf_event_target_get_node
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Node *gf_event_target_get_node(GF_DOMEventTarget *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/media_object.c:1682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: gf_mo_event_target_reset
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_event_target_reset(GF_MediaObject *mo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_visual_info_ex
      Src: /src/gpac/src/compositor/media_object.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - mo
    - width
    - height
    - stride
    - pixel_ar
    - pixelFormat
    - is_flipped
    argTypes:
    - GF_MediaObject*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: gf_mo_get_visual_info
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_mo_get_visual_info_ex
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mo_get_visual_info(GF_MediaObject *mo, u32 *width, u32 *height,
      u32 *stride, u32 *pixel_ar, u32 *pixelFormat, Bool *is_flipped) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/compositor/media_object.c:272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:286,1
    - Dst: gf_mo_update_caps
      Src: /src/gpac/src/compositor/media_object.c:275,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 27
    argCount: 6
    argNames:
    - mo
    - sample_rate
    - bits_per_sample
    - num_channels
    - channel_config
    - forced_layout
    argTypes:
    - GF_MediaObject*
    - u32*
    - u32*
    - u32*
    - u64*
    - Bool*
    constantsTouched: []
    func_position:
      end: 296
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 296
    functionName: gf_mo_get_audio_info
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_mo_update_caps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_get_audio_info(GF_MediaObject *mo, u32 *sample_rate,
      u32 *bits_per_sample, u32 *num_channels, u64 *channel_config, Bool *forced_layout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/media_object.c:1169,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/media_object.c:1173,1
    - Dst: mediacontrol_restart
      Src: /src/gpac/src/compositor/media_object.c:1182,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/media_object.c:1173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1183
    functionName: gf_mo_restart
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_get_mediacontrol
    - gf_odm_shares_clock
    - mediacontrol_restart
    - gf_odm_get_media_clock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_restart(GF_MediaObject *mo) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/compositor/media_object.c:1250,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/media_object.c:1265,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/media_object.c:1252,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/media_object.c:1268,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/media_object.c:1274,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/media_object.c:1274,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/media_object.c:1280,1
    - Dst: gf_odm_find_segment
      Src: /src/gpac/src/compositor/media_object.c:1284,1
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/media_object.c:1289,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/media_object.c:1291,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/media_object.c:1305,1
    - Dst: gf_filter_is_supported_source
      Src: /src/gpac/src/compositor/media_object.c:1293,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/media_object.c:1314,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/media_object.c:1307,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/media_object.c:1321,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/media_object.c:1319,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/media_object.c:1318,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 78
    argCount: 4
    argNames:
    - obj
    - an_url
    - keep_fragment
    - obj_hint_type
    argTypes:
    - GF_MediaObject*
    - MFURL*
    - Bool*
    - u32
    constantsTouched: []
    func_position:
      end: 1324
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1324
    functionName: gf_mo_is_same_url
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_list_enum
    - strrchr
    - gf_filter_is_supported_source
    - gf_sg_find_node_by_name
    - strcpy
    - stricmp
    - gf_scene_get_root_scene
    - gf_odm_find_segment
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mo_is_same_url(GF_MediaObject *obj, MFURL *an_url, Bool *keep_fragment,
      u32 obj_hint_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/media_object.c:1488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1500
    functionName: gf_mo_should_deactivate
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_get_mediacontrol
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_should_deactivate(GF_MediaObject *mo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/media_object.c:1628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - mo
    - i
    argTypes:
    - GF_MediaObject*
    - u32*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1632
    functionName: gf_mo_event_target_enum_node
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_mo_event_target_enum_node(GF_MediaObject *mo, u32 *i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - mo
    - i
    argTypes:
    - GF_MediaObject*
    - u32
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: gf_mo_event_target_get
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOMEventTarget *gf_mo_event_target_get(GF_MediaObject
      *mo, u32 i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1689
    functionName: gf_mo_event_target_count
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mo_event_target_count(GF_MediaObject *mo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_set_audio_delay
      Src: /src/gpac/src/compositor/media_object.c:1549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - mo
    - ms_drift
    argTypes:
    - GF_MediaObject*
    - s32
    constantsTouched: []
    func_position:
      end: 1550
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1550
    functionName: gf_mo_adjust_clock
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_clock_set_audio_delay
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_adjust_clock(GF_MediaObject *mo, s32 ms_drift) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/media_object.c:1774,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/media_object.c:1782,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - mo
    - gaze_x
    - gaze_y
    argTypes:
    - GF_MediaObject*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1784
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1784
    functionName: gf_mo_hint_gaze
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_hint_gaze(GF_MediaObject *mo, u32 gaze_x, u32 gaze_y) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:321,1
    - Dst: gf_prop_matrix_decompose
      Src: /src/gpac/src/compositor/media_object.c:338,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/compositor/media_object.c:418,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:420,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:413,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:392,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:393,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:446,1
    - Dst: memset
      Src: /src/gpac/src/compositor/media_object.c:480,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:323,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:322,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:435,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:383,1
    - Dst: compositor_get_srdmap_size
      Src: /src/gpac/src/compositor/media_object.c:436,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:438,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:444,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:448,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:453,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/media_object.c:463,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/media_object.c:482,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:320,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:326,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:333,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:355,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:415,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:442,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:452,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/media_object.c:457,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:324,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:329,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/compositor/media_object.c:423,1
    - Dst: UPDATE_CAP
      Src: /src/gpac/src/compositor/media_object.c:454,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/compositor/media_object.c:464,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:474,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 187
    argCount: 2
    argNames:
    - mo
    - check_unchanged
    argTypes:
    - GF_MediaObject*
    - Bool
    constantsTouched: []
    func_position:
      end: 487
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 487
    functionName: gf_mo_update_caps_ex
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_prop_matrix_decompose
    - gf_scene_regenerate
    - memset
    - gf_sc_send_event
    - gf_filter_pid_get_property
    - gf_list_count
    - UPDATE_CAP
    - GF_LOG
    - gf_audio_fmt_is_planar
    - compositor_get_srdmap_size
    - gf_audio_fmt_bit_depth
    - gf_sg_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_update_caps_ex(GF_MediaObject *mo, Bool check_unchanged) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/compositor/media_object.c:506,1
    - Dst: gf_scene_adjust_timestamp_for_addon
      Src: /src/gpac/src/compositor/media_object.c:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - mo
    - ts
    - timescale
    - discard
    argTypes:
    - GF_MediaObject*
    - u64
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: convert_ts_to_ms
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_timestamp_to_clocktime
    - gf_scene_adjust_timestamp_for_addon
    linkageType: ''
    returnType: u32
    signature: 'static u32 convert_ts_to_ms(GF_MediaObject *mo, u64 ts, u32 timescale,
      Bool *discard) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_real_time
      Src: /src/gpac/src/compositor/media_object.c:1070,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/media_object.c:1072,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - mo
    - obj_time
    argTypes:
    - GF_MediaObject*
    - u32*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1078
    functionName: gf_mo_get_object_time
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_clock_real_time
    - gf_clock_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_get_object_time(GF_MediaObject *mo, u32 *obj_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/media_object.c:1359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: gf_mo_resume
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - mediacontrol_resume
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_resume(GF_MediaObject *mo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1510
    functionName: gf_mo_is_muted
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_is_muted(GF_MediaObject *mo) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/media_object.c:99,1
    - Dst: get_sync_reference
      Src: /src/gpac/src/compositor/media_object.c:152,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/media_object.c:107,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/media_object.c:101,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/media_object.c:151,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/media_object.c:159,1
    - Dst: get_sync_reference
      Src: /src/gpac/src/compositor/media_object.c:160,1
    - Dst: gf_scene_get_media_object_ex
      Src: /src/gpac/src/compositor/media_object.c:186,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 35
    argCount: 4
    argNames:
    - node
    - url
    - lock_timelines
    - force_new_res
    argTypes:
    - GF_Node*
    - MFURL*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 188
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 188
    functionName: gf_mo_register
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_graph
    - gf_node_get_attribute_by_tag
    - gf_sg_get_private
    - gf_scene_get_media_object_ex
    - get_sync_reference
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MediaObject *gf_mo_register(GF_Node *node, MFURL *url,
      Bool lock_timelines, Bool force_new_res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_event_target_remove_by_node
      Src: /src/gpac/src/compositor/media_object.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - mo
    argTypes:
    - GF_Node*
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: gf_mo_unregister
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_mo_event_target_remove_by_node
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_unregister(GF_Node *node, GF_MediaObject *mo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_update_caps_ex
      Src: /src/gpac/src/compositor/media_object.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: gf_mo_update_caps
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_mo_update_caps_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_update_caps(GF_MediaObject *mo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/compositor/media_object.c:531,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/media_object.c:538,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/media_object.c:535,1
    - Dst: GF_4CC
      Src: /src/gpac/src/compositor/media_object.c:545,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/media_object.c:562,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/media_object.c:558,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/compositor/media_object.c:560,1
    - Dst: memset
      Src: /src/gpac/src/compositor/media_object.c:539,1
    - Dst: gf_scene_register_associated_media
      Src: /src/gpac/src/compositor/media_object.c:550,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/media_object.c:563,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/media_object.c:540,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/media_object.c:553,1
    - Dst: memset
      Src: /src/gpac/src/compositor/media_object.c:556,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/media_object.c:564,1
    - Dst: gf_scene_notify_associated_media_timeline
      Src: /src/gpac/src/compositor/media_object.c:572,1
    - Dst: GF_4CC
      Src: /src/gpac/src/compositor/media_object.c:546,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/compositor/media_object.c:561,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/media_object.c:565,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/media_object.c:557,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/compositor/media_object.c:559,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/media_object.c:566,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/compositor/media_object.c:568,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/media_object.c:570,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 576
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 576
    functionName: check_temi
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_read_u32
    - gf_scene_notify_associated_media_timeline
    - memset
    - gf_bs_del
    - strncmp
    - GF_4CC
    - gf_scene_register_associated_media
    - gf_filter_pck_enum_properties
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_u64
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void check_temi(GF_MediaObject *mo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/media_object.c:1117,1
    - Dst: mediacontrol_restart
      Src: /src/gpac/src/compositor/media_object.c:1121,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/media_object.c:1115,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 4
    argNames:
    - mo
    - clipBegin
    - clipEnd
    - can_loop
    argTypes:
    - GF_MediaObject*
    - Double
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 1126
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1126
    functionName: gf_mo_play
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_start
    - gf_assert
    - mediacontrol_restart
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_play(GF_MediaObject *mo, Double clipBegin, Double
      clipEnd, Bool can_loop) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/media_object.c:1382,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/media_object.c:1391,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - mo
    - speed
    argTypes:
    - GF_MediaObject*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1392
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1392
    functionName: gf_mo_set_speed
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_get_mediacontrol
    - gf_odm_set_speed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_set_speed(GF_MediaObject *mo, Fixed speed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/media_object.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1517
    functionName: gf_mo_is_started
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_clock_is_started
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_is_started(GF_MediaObject *mo) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/compositor/media_object.c:697,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:721,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/media_object.c:741,1
    - Dst: mediasensor_update_timing
      Src: /src/gpac/src/compositor/media_object.c:936,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/compositor/media_object.c:837,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/compositor/media_object.c:957,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/compositor/media_object.c:880,1
    - Dst: mediasensor_update_timing
      Src: /src/gpac/src/compositor/media_object.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:667,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:819,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/media_object.c:725,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/compositor/media_object.c:619,1
    - Dst: mediasensor_update_timing
      Src: /src/gpac/src/compositor/media_object.c:705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:779,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:795,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/compositor/media_object.c:842,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/media_object.c:836,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:894,1
    - Dst: gf_odm_check_clock_mediatime
      Src: /src/gpac/src/compositor/media_object.c:652,1
    - Dst: check_temi
      Src: /src/gpac/src/compositor/media_object.c:655,1
    - Dst: gf_filter_pid_try_pull
      Src: /src/gpac/src/compositor/media_object.c:718,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/media_object.c:761,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:808,1
    - Dst: gf_filter_pid_first_packet_is_empty
      Src: /src/gpac/src/compositor/media_object.c:814,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:833,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/media_object.c:901,1
    - Dst: convert_ts_to_ms
      Src: /src/gpac/src/compositor/media_object.c:840,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/media_object.c:848,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/compositor/media_object.c:939,1
    - Dst: gf_odm_on_eos
      Src: /src/gpac/src/compositor/media_object.c:643,1
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/media_object.c:665,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/compositor/media_object.c:856,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/media_object.c:939,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/compositor/media_object.c:892,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/compositor/media_object.c:635,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:615,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/compositor/media_object.c:674,1
    - Dst: gf_odm_on_eos
      Src: /src/gpac/src/compositor/media_object.c:707,1
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/media_object.c:792,1
    - Dst: gf_clock_to_media_time
      Src: /src/gpac/src/compositor/media_object.c:920,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/compositor/media_object.c:947,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:902,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/media_object.c:895,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/compositor/media_object.c:795,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:826,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/media_object.c:848,1
    - Dst: gf_filter_pid_get_packet_count
      Src: /src/gpac/src/compositor/media_object.c:939,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/compositor/media_object.c:840,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:811,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/compositor/media_object.c:654,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/compositor/media_object.c:701,1
    - Dst: gf_net_get_ntp_diff_ms
      Src: /src/gpac/src/compositor/media_object.c:952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:958,1
    - Dst: check_temi
      Src: /src/gpac/src/compositor/media_object.c:838,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:849,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/compositor/media_object.c:916,1
    - Dst: gf_odm_check_clock_mediatime
      Src: /src/gpac/src/compositor/media_object.c:835,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/compositor/media_object.c:898,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/compositor/media_object.c:675,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:679,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:800,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/compositor/media_object.c:677,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/media_object.c:741,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/compositor/media_object.c:941,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/compositor/media_object.c:637,1
    - Dst: gf_odm_signal_eos_reached
      Src: /src/gpac/src/compositor/media_object.c:644,1
    - Dst: convert_ts_to_ms
      Src: /src/gpac/src/compositor/media_object.c:677,1
    - Dst: convert_ts_to_ms
      Src: /src/gpac/src/compositor/media_object.c:698,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/media_object.c:875,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/compositor/media_object.c:653,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:939,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/compositor/media_object.c:834,1
    - Dst: convert_ts_to_ms
      Src: /src/gpac/src/compositor/media_object.c:857,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/media_object.c:916,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:608,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/compositor/media_object.c:901,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/media_object.c:905,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/compositor/media_object.c:953,1
    - Dst: gf_clock_is_started
      Src: /src/gpac/src/compositor/media_object.c:981,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 371
    argCount: 10
    argNames:
    - mo
    - resync
    - upload_time_ms
    - eos
    - timestamp
    - size
    - ms_until_pres
    - ms_until_next
    - outFrame
    - planar_size
    argTypes:
    - GF_MediaObject*
    - GF_MOFetchMode
    - u32
    - Bool*
    - u32*
    - u32*
    - s32*
    - s32*
    - GF_FilterFrameInterface**
    - u32*
    constantsTouched: []
    func_position:
      end: 1013
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 1013
    functionName: gf_mo_fetch_data
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - gf_filter_pck_get_duration
    - GF_LOG
    - check_temi
    - gf_filter_release_property
    - mediasensor_update_timing
    - gf_odm_signal_eos_reached
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_clock_to_media_time
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_odm_on_eos
    - gf_filter_pid_get_packet
    - convert_ts_to_ms
    - gf_clock_is_started
    - gf_assert
    - gf_filter_pid_get_packet_count
    - gf_filter_pid_get_first_packet_cts
    - gf_filter_pck_get_frame_interface
    - gf_odm_check_buffering
    - gf_filter_pid_get_info_str
    - gf_clock_time
    - ABS
    - gf_filter_pid_first_packet_is_empty
    - gf_filter_pid_try_pull
    - gf_filter_pck_unref
    - gf_scene_notify_event
    - gf_net_get_utc
    - gf_odm_check_clock_mediatime
    - gf_filter_pck_get_property
    - gf_net_get_ntp_diff_ms
    - gf_fatal_assert
    - FIX2INT
    - gf_clock_diff
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT u8 *gf_mo_fetch_data(GF_MediaObject *mo, GF_MOFetchMode
      resync, u32 upload_time_ms, Bool *eos, u32 *timestamp, u32 *size, s32 *ms_until_pres,
      s32 *ms_until_next, GF_FilterFrameInterface **outFrame, u32 *planar_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mo
    - ts
    argTypes:
    - GF_MediaObject*
    - u32
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: gf_mo_map_timestamp_to_sys_clock
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mo_map_timestamp_to_sys_clock(GF_MediaObject *mo,
      u32 ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/media_object.c:1426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - mo
    - in_speed
    argTypes:
    - GF_MediaObject*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1432
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1432
    functionName: gf_mo_get_speed
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_get_mediacontrol
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_mo_get_speed(GF_MediaObject *mo, Fixed in_speed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1600
    functionName: gf_mo_get_scenegraph
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneGraph *gf_mo_get_scenegraph(GF_MediaObject *mo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/media_object.c:1735,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/media_object.c:1737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - mo
    - quality_degradation
    argTypes:
    - GF_MediaObject*
    - u32
    constantsTouched: []
    func_position:
      end: 1741
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1741
    functionName: gf_mo_hint_quality_degradation
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_hint_quality_degradation(GF_MediaObject *mo, u32 quality_degradation) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/media_object.c:1029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/media_object.c:1057,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:1055,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/media_object.c:1057,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/compositor/media_object.c:1051,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - mo
    - nb_bytes
    - drop_mode
    argTypes:
    - GF_MediaObject*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 1062
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1062
    functionName: gf_mo_release_data
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_clock_time
    - gf_filter_pck_is_blocking_ref
    - gf_assert
    - gf_filter_pck_unref
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_release_data(GF_MediaObject *mo, u32 nb_bytes,
      s32 drop_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: gf_mo_is_buffering
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mo_is_buffering(GF_MediaObject *mo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/media_object.c:1445,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/media_object.c:1451,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/media_object.c:1450,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - mo
    - in_loop
    argTypes:
    - GF_MediaObject*
    - Bool
    constantsTouched: []
    func_position:
      end: 1461
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1461
    functionName: gf_mo_get_loop
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_odm_get_mediacontrol
    - gf_odm_shares_clock
    - gf_odm_get_media_clock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_get_loop(GF_MediaObject *mo, Bool in_loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dom_event_get_target_from_node
      Src: /src/gpac/src/compositor/media_object.c:1609,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/media_object.c:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mo
    - n
    argTypes:
    - GF_MediaObject*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1615
    functionName: gf_mo_event_target_add_node
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dom_event_get_target_from_node
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOMEventTarget *gf_mo_event_target_add_node(GF_MediaObject
      *mo, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/media_object.c:1751,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/media_object.c:1762,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - mo
    - min_x
    - max_x
    - min_y
    - max_y
    argTypes:
    - GF_MediaObject*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1764
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1764
    functionName: gf_mo_hint_visible_rect
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_hint_visible_rect(GF_MediaObject *mo, u32 min_x, u32 max_x,
      u32 min_y, u32 max_y) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/media_object.c:50,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/media_object.c:61,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/media_object.c:67,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/media_object.c:51,1
    - Dst: get_sync_reference
      Src: /src/gpac/src/compositor/media_object.c:62,1
    - Dst: get_sync_reference
      Src: /src/gpac/src/compositor/media_object.c:68,1
    - Dst: gf_scene_get_media_object
      Src: /src/gpac/src/compositor/media_object.c:82,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 5
    argNames:
    - scene
    - iri
    - o_type
    - orig_ref
    - post_pone
    argTypes:
    - GF_Scene*
    - XMLRI*
    - u32
    - GF_Node*
    - Bool*
    constantsTouched: []
    func_position:
      end: 85
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 85
    functionName: get_sync_reference
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_scene_get_media_object
    - get_sync_reference
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'static GF_MediaObject *get_sync_reference(GF_Scene *scene, XMLRI *iri,
      u32 o_type, GF_Node *orig_ref, Bool *post_pone) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/media_object.c:201,1
    - Dst: memset
      Src: /src/gpac/src/compositor/media_object.c:202,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/media_object.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: gf_mo_new
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - memset
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'GF_MediaObject *gf_mo_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/media_object.c:1332,1
    - Dst: gf_mo_is_same_url
      Src: /src/gpac/src/compositor/media_object.c:1334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - mo
    - url
    argTypes:
    - GF_MediaObject*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1343
    functionName: gf_mo_url_changed
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_mo_get_od_id
    - gf_mo_is_same_url
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_url_changed(GF_MediaObject *mo, MFURL *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1398
    functionName: gf_mo_get_current_speed
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_mo_get_current_speed(GF_MediaObject *mo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/media_object.c:1536,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/media_object.c:1537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1541
    functionName: gf_mo_is_done
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_clock_time
    - gf_odm_get_media_clock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mo_is_done(GF_MediaObject *mo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - mo
    - flag
    - set_on
    argTypes:
    - GF_MediaObject*
    - GF_MOUserFlags
    - Bool
    constantsTouched: []
    func_position:
      end: 1561
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1561
    functionName: gf_mo_set_flag
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_set_flag(GF_MediaObject *mo, GF_MOUserFlags flag,
      Bool set_on) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:1637,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - mo
    - node
    argTypes:
    - GF_MediaObject*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1645
    functionName: gf_mo_event_target_find_by_node
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: s32
    signature: 's32 gf_mo_event_target_find_by_node(GF_MediaObject *mo, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/media_object.c:1693,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:1693,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/media_object.c:1695,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/media_object.c:1694,1
    - Dst: gf_sg_mfurl_del
      Src: /src/gpac/src/compositor/media_object.c:1696,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/media_object.c:1697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: gf_mo_del
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_sg_mfurl_del
    - gf_free
    - gf_assert
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'void gf_mo_del(GF_MediaObject *mo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 5
    argNames:
    - srd_map
    - width
    - height
    - min_x
    - min_y
    argTypes:
    - GF_PropertyValue*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 231
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 231
    functionName: compositor_get_srdmap_size
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void compositor_get_srdmap_size(const GF_PropertyValue *srd_map, u32
      *width, u32 *height, u32 *min_x, u32 *min_y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/media_object.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1352
    functionName: gf_mo_pause
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - mediacontrol_pause
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_pause(GF_MediaObject *mo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: gf_mo_get_min_frame_dur
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mo_get_min_frame_dur(GF_MediaObject *mo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/compositor/media_object.c:1576,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:1578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:1579,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/media_object.c:1586,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/media_object.c:1587,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1593
    functionName: gf_mo_has_audio
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    - strchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mo_has_audio(GF_MediaObject *mo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/media_object.c:1651,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/media_object.c:1655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/media_object.c:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - mo
    - node
    argTypes:
    - GF_MediaObject*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1662
    functionName: gf_mo_event_target_remove_by_node
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mo_event_target_remove_by_node(GF_MediaObject
      *mo, GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/media_object.c:1707,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/media_object.c:1720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - mo
    - vr_info
    argTypes:
    - GF_MediaObject*
    - GF_MediaObjectVRInfo*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1725
    functionName: gf_mo_get_srd_info
    functionSourceFile: /src/gpac/src/compositor/media_object.c
    functionUses: []
    functionsReached:
    - gf_sg_get_scene_size_info
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mo_get_srd_info(GF_MediaObject *mo, GF_MediaObjectVRInfo *vr_info) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1800,1
    - Dst: gf_sg_route_new_to_callback
      Src: /src/gpac/src/compositor/scene.c:1704,1
    - Dst: create_movie
      Src: /src/gpac/src/compositor/scene.c:1707,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1648,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1652,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1743,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1839,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1915,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1752,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1695,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1702,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1716,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:1728,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1740,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1793,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1896,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1907,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1785,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1788,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:1673,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1684,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1737,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1796,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1841,1
    - Dst: create_movie
      Src: /src/gpac/src/compositor/scene.c:1846,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1864,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1880,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/compositor/scene.c:1647,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1688,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1691,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1696,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:1715,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1729,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1843,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:1850,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:1858,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1865,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1718,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1817,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:1674,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1685,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1703,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1745,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1780,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1736,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:1777,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1739,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1906,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1786,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1679,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:1689,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:1734,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:1775,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1844,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1890,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:1928,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1781,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1669,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1671,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1723,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:1637,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1646,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1686,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1701,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1735,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:1760,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1653,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:1672,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1680,1
    - Dst: create_movie
      Src: /src/gpac/src/compositor/scene.c:1706,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1784,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1741,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1842,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1895,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1799,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1725,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1751,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1896,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1918,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1919,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1639,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1879,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1884,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1893,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1654,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1668,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1724,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1898,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/compositor/scene.c:1924,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:1932,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene.c:1934,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1909,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1659,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:1675,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:1789,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:1771,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1791,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:1722,1
    - Dst: load_vr_proto_node
      Src: /src/gpac/src/compositor/scene.c:1750,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/scene.c:1866,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1872,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1744,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1731,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1869,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1893,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1910,1
    - Dst: IS_UpdateVideoPos
      Src: /src/gpac/src/compositor/scene.c:1930,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1860,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:1756,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1697,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1717,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:1849,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1885,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1887,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1892,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1901,1
    - Dst: set_media_url
      Src: /src/gpac/src/compositor/scene.c:1916,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 298
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1936
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1936
    functionName: gf_scene_regenerate
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - set_media_url
    - memset
    - load_vr_proto_node
    - gf_sc_invalidate
    - GF_LOG
    - INT2FIX
    - IS_UpdateVideoPos
    - is_create_node
    - gf_strdup
    - gf_list_count
    - gf_assert
    - gf_node_changed
    - gf_sg_set_root_node
    - gf_node_list_add_child
    - gf_list_get
    - gf_list_enum
    - sprintf
    - gf_sg_route_new_to_callback
    - gf_free
    - gf_node_register
    - gf_sg_get_scene_size_info
    - gf_scene_notify_event
    - gf_sc_send_event
    - gf_sg_get_root_node
    - create_movie
    - gf_scene_get_time
    - gf_sg_find_node_by_name
    - gf_sc_set_scene
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_regenerate(GF_Scene *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - scene
    - odm
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1960
    functionName: gf_scene_select_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_select_object(GF_Scene *scene, GF_ObjectManager
      *odm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - addon
    - clock_time
    - timestamp_based
    argTypes:
    - GF_AddonMedia*
    - Double
    - u8*
    constantsTouched: []
    func_position:
      end: 3356
      start: 3336
    functionDepth: 0
    functionLinenumber: 3336
    functionLinenumberEnd: 3356
    functionName: gf_scene_adjust_time_for_addon
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: Double
    signature: 'Double gf_scene_adjust_time_for_addon(GF_AddonMedia *addon, Double
      clock_time, u8 *timestamp_based) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - scene
    - show_addons
    argTypes:
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 1962
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1962
    functionName: gf_scene_toggle_addons
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_toggle_addons(GF_Scene *scene, Bool show_addons) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2399,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/scene.c:2404,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:2412,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/scene.c:2439,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2447,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:2460,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2464,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2465,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2468,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2473,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2371,1
    - Dst: gf_scene_select_main_addon
      Src: /src/gpac/src/compositor/scene.c:2391,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/scene.c:2384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:2425,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/scene.c:2432,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:2436,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2438,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:2440,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/scene.c:2455,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2466,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2476,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2472,1
    - Dst: gf_scene_select_main_addon
      Src: /src/gpac/src/compositor/scene.c:2380,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/scene.c:2380,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:2397,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:2419,1
    - Dst: gf_clock_reset
      Src: /src/gpac/src/compositor/scene.c:2427,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/scene.c:2430,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/scene.c:2418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:2432,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2469,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:2415,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/scene.c:2457,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2477,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 119
    argCount: 4
    argNames:
    - scene
    - from_time
    - restart_only
    - disable_addon_check
    argTypes:
    - GF_Scene*
    - s64
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2480
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2480
    functionName: gf_scene_restart_dynamic
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_list_del
    - gf_list_count
    - gf_scene_select_main_addon
    - gf_clock_reset
    - gf_list_new
    - gf_node_changed
    - gf_odm_stop
    - gf_list_enum
    - gf_odm_shares_clock
    - gf_sys_clock
    - gf_clock_time
    - gf_scene_restart_dynamic
    - gf_odm_start
    - gf_clock_time_absolute
    - gf_clock_set_time
    - gf_scene_get_time
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_restart_dynamic(GF_Scene *scene, s64 from_time, Bool
      restart_only, Bool disable_addon_check) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:3361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - addon
    - orig_ts
    argTypes:
    - GF_AddonMedia*
    - u64
    constantsTouched: []
    func_position:
      end: 3373
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3373
    functionName: gf_scene_adjust_timestamp_for_addon
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: s64
    signature: 's64 gf_scene_adjust_timestamp_for_addon(GF_AddonMedia *addon, u64
      orig_ts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1572,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1577,1
    - Dst: load_vr_proto_node
      Src: /src/gpac/src/compositor/scene.c:1597,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1608,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1571,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1576,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1579,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1581,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1588,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1603,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1605,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1613,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1569,1
    - Dst: transform2d_set_untransform
      Src: /src/gpac/src/compositor/scene.c:1570,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1575,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:1580,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:1589,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1591,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1599,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1585,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1583,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1620,1
    - Dst: load_vr_proto_node
      Src: /src/gpac/src/compositor/scene.c:1611,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:1616,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:1618,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 6
    argNames:
    - scene
    - root
    - tr_name
    - texture_name
    - name_geo
    - is_untransform
    argTypes:
    - GF_Scene*
    - GF_Node*
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1622
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1622
    functionName: create_movie
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - load_vr_proto_node
    - is_create_node
    - transform2d_set_untransform
    - gf_scene_get_time
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void create_movie(GF_Scene *scene, GF_Node *root, const char
      *tr_name, const char *texture_name, const char *name_geo, Bool is_untransform) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/scene.c:1274,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/scene.c:1281,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/scene.c:1275,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:1282,1
    - Dst: gf_sc_register_extra_graph
      Src: /src/gpac/src/compositor/scene.c:1278,1
    - Dst: gf_sc_register_extra_graph
      Src: /src/gpac/src/compositor/scene.c:1285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - scene
    - extra_scene
    - do_remove
    argTypes:
    - GF_Scene*
    - GF_SceneGraph*
    - Bool
    constantsTouched: []
    func_position:
      end: 1288
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1288
    functionName: gf_scene_register_extra_graph
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del_item
    - gf_sc_register_extra_graph
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_register_extra_graph(GF_Scene *scene, GF_SceneGraph
      *extra_scene, Bool do_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:2658,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2660,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2663
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2663
    functionName: gf_sc_get_compositor
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_sg_get_private
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Compositor *gf_sc_get_compositor(GF_Node *node) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_check_clocks
      Src: /src/gpac/src/compositor/scene.c:2716,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2746,1
    - Dst: gf_scene_check_clocks
      Src: /src/gpac/src/compositor/scene.c:2729,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2719,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 49
    argCount: 3
    argNames:
    - ns
    - scene
    - check_buffering
    argTypes:
    - GF_SceneNamespace*
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 2770
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2770
    functionName: gf_scene_check_clocks
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_scene_check_clocks
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_scene_check_clocks(GF_SceneNamespace *ns, GF_Scene *scene,
      Bool check_buffering) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:1296,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1297,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1311,1
    - Dst: gf_scene_get_video_size
      Src: /src/gpac/src/compositor/scene.c:1301,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/compositor/scene.c:1302,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1315,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1317,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1317,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1319,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1320,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1327,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1325,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1329,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1333,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1330,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - scene
    - mo
    argTypes:
    - GF_Scene*
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1335
    functionName: gf_scene_force_size_to_video
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_filter_pid_get_property
    - gf_list_count
    - INT2FIX
    - gf_sg_find_node_by_name
    - gf_scene_force_size
    - gf_scene_get_video_size
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_force_size_to_video(GF_Scene *scene, GF_MediaObject
      *mo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:2667,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2671
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2671
    functionName: gf_scene_get_fragment_uri
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_sg_get_private
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_scene_get_fragment_uri(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2777
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2777
    functionName: gf_scene_get_service_url
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sg_get_private
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_scene_get_service_url(GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:597,1
    - Dst: gf_scene_insert_object
      Src: /src/gpac/src/compositor/scene.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - scene
    - mo
    argTypes:
    - GF_Scene*
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: gf_scene_reinsert_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_insert_object
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_scene_reinsert_object(GF_Scene *scene, GF_MediaObject
      *mo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_CheckExistingObject
      Src: /src/gpac/src/compositor/scene.c:2293,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2321,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2318,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2320,1
    - Dst: gf_scene_get_video_size
      Src: /src/gpac/src/compositor/scene.c:2299,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/scene.c:2322,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2324,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2328,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2329,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2332,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2340,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2341,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2336,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2337,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/scene.c:2344,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2333,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 3
    argNames:
    - scene
    - position
    - size_factor
    argTypes:
    - GF_Scene*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2345
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2345
    functionName: gf_scene_set_addon_layout_info
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - IS_CheckExistingObject
    - gf_sg_find_node_by_name
    - gf_node_dirty_set
    - gf_scene_get_video_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_set_addon_layout_info(GF_Scene *scene, u32
      position, u32 size_factor) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/scene.c:612,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:625,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/compositor/scene.c:634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:614,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:618,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:648,1
    - Dst: gf_scene_reinsert_object
      Src: /src/gpac/src/compositor/scene.c:660,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/scene.c:671,1
    - Dst: gf_mo_event_target_remove_by_index
      Src: /src/gpac/src/compositor/scene.c:672,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/scene.c:674,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:676,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/scene.c:681,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene.c:682,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:696,1
    - Dst: gf_sc_mo_destroyed
      Src: /src/gpac/src/compositor/scene.c:685,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/scene.c:697,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:694,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/scene.c:674,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 3
    argNames:
    - scene
    - odm
    - for_shutdown
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - u32
    constantsTouched: []
    func_position:
      end: 702
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 702
    functionName: gf_scene_remove_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_mo_event_target_remove_by_index
    - gf_node_get_tag
    - gf_mo_stop
    - gf_list_enum
    - GF_LOG
    - gf_mo_del
    - gf_mo_event_target_get
    - gf_sg_vrml_mf_reset
    - gf_node_set_private
    - gf_event_target_get_node
    - gf_mo_event_target_count
    - gf_sc_mo_destroyed
    - gf_list_rem
    - stricmp
    - gf_list_del_item
    - gf_filter_pck_unref
    - gf_scene_reinsert_object
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_remove_object(GF_Scene *scene, GF_ObjectManager *odm,
      u32 for_shutdown) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/scene.c:2351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - subscene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2352
    functionName: gf_scene_resume_live
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - mediacontrol_resume
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_resume_live(GF_Scene *subscene) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:74,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/compositor/scene.c:81,1
    - Dst: gf_filter_send_gf_event
      Src: /src/gpac/src/compositor/scene.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - scene
    - service
    - message
    - error
    - no_filtering
    argTypes:
    - GF_Scene*
    - char*
    - char*
    - GF_Err
    - Bool
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: gf_scene_message_ex
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_filter_ui_event
    - gf_filter_send_gf_event
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_message_ex(GF_Scene *scene, const char *service, const
      char *message, GF_Err error, Bool no_filtering) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: gf_scene_is_root
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_scene_is_root(GF_Scene *scene) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:873,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:882,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/scene.c:885,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene.c:874,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:886,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:892,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/compositor/scene.c:896,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/scene.c:900,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/scene.c:902,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/scene.c:902,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/scene.c:902,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene.c:904,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:912,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:908,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:909,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 914
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 914
    functionName: gf_scene_attach_to_compositor
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sc_set_size
    - gf_sc_invalidate
    - gf_sg_get_root_node
    - gf_strdup
    - gf_mo_event_target_get
    - gf_scene_notify_event
    - gf_event_target_get_node
    - strchr
    - gf_sc_set_scene
    - gf_free
    - gf_mo_event_target_count
    - gf_sg_get_scene_size_info
    - gf_node_dirty_parents
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_attach_to_compositor(GF_Scene *scene) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:1104,1
    - Dst: gf_mo_new
      Src: /src/gpac/src/compositor/scene.c:1139,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:1140,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:1132,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1110,1
    - Dst: gf_mo_update_caps
      Src: /src/gpac/src/compositor/scene.c:1153,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/scene.c:1156,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/scene.c:1157,1
    - Dst: gf_scene_force_size_to_video
      Src: /src/gpac/src/compositor/scene.c:1160,1
    - Dst: gf_scene_get_video_size
      Src: /src/gpac/src/compositor/scene.c:1164,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:1165,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene.c:1168,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 2
    argNames:
    - scene
    - odm
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1169
    functionName: gf_scene_setup_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_mo_new
    - gf_list_add
    - gf_sc_set_size
    - gf_mo_update_caps
    - gf_sc_invalidate
    - gf_list_enum
    - GF_LOG
    - gf_odm_set_speed
    - gf_scene_force_size_to_video
    - gf_odm_disconnect
    - gf_odm_start
    - gf_scene_get_video_size
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_setup_object(GF_Scene *scene, GF_ObjectManager
      *odm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/scene.c:3384,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:3388,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:3399,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:3393,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:3392,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:3401,1
    - Dst: gf_scene_switch_quality
      Src: /src/gpac/src/compositor/scene.c:3404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - scene
    - up
    argTypes:
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 3406
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3406
    functionName: gf_scene_switch_quality
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_enum
    - gf_scene_switch_quality
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_switch_quality(GF_Scene *scene, Bool up) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_message_ex
      Src: /src/gpac/src/compositor/scene.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - scene
    - service
    - message
    - error
    argTypes:
    - GF_Scene*
    - char*
    - char*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: gf_scene_message
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_message_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_message(GF_Scene *scene, const char *service, const
      char *message, GF_Err error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: gf_scene_get_root_scene
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Scene*
    signature: 'GF_Scene *gf_scene_get_root_scene(GF_Scene *scene) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:920,1
    - Dst: gf_mo_is_same_url
      Src: /src/gpac/src/compositor/scene.c:922,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - scene
    - urls
    - type
    argTypes:
    - GF_Scene*
    - MFURL*
    - u32
    constantsTouched: []
    func_position:
      end: 926
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 926
    functionName: IS_CheckExistingObject
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_mo_is_same_url
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'static GF_MediaObject *IS_CheckExistingObject(GF_Scene *scene, MFURL
      *urls, u32 type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/scene.c:1185,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/scene.c:1189,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/scene.c:1206,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1188,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1203,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:1217,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1219
    functionName: gf_scene_set_duration
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sc_send_event
    - gf_list_enum
    - gf_odm_shares_clock
    - gf_odm_get_media_clock
    - gf_node_event_out
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_set_duration(GF_Scene *scene) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:2012,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2013,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:2019,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/scene.c:2015,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2017,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:2021,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2025,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - url
    - n
    argTypes:
    - SFURL*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2026
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2026
    functionName: odm_activate
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_field_by_name
    - gf_strdup
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    - gf_node_changed
    linkageType: ''
    returnType: void
    signature: 'static void odm_activate(SFURL *url, GF_Node *n) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:1406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:1408,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:1430,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/scene.c:1441,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:1449,1
    - Dst: gf_scene_get_video_size
      Src: /src/gpac/src/compositor/scene.c:1457,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:1460,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/compositor/scene.c:1461,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:1470,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1492,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:1490,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/scene.c:1488,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:1487,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/scene.c:1480,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 89
    argCount: 5
    argNames:
    - scene
    - media_url
    - node
    - node_url
    - type
    argTypes:
    - GF_Scene*
    - SFURL*
    - GF_Node*
    - MFURL*
    - u32
    constantsTouched: []
    func_position:
      end: 1495
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1495
    functionName: set_media_url
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_strdup
    - gf_scene_force_size
    - strcmp
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    - gf_free
    - gf_odm_stop
    - gf_sg_set_scene_size_info
    - gf_scene_get_video_size
    linkageType: ''
    returnType: void
    signature: 'static void set_media_url(GF_Scene *scene, SFURL *media_url, GF_Node
      *node, MFURL *node_url, u32 type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/scene.c:2034,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:2052,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2040,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:2055,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:2044,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/scene.c:2066,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2072,1
    - Dst: gf_odm_setup_object
      Src: /src/gpac/src/compositor/scene.c:2079,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/compositor/scene.c:2084,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/scene.c:2086,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - scene
    - service_id
    argTypes:
    - GF_Scene*
    - u32
    constantsTouched: []
    func_position:
      end: 2087
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2087
    functionName: gf_scene_set_service_id
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_regenerate
    - gf_odm_setup_object
    - gf_list_enum
    - GF_LOG
    - gf_sc_lock
    - gf_odm_disconnect
    - gf_assert
    - gf_clock_media_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_set_service_id(GF_Scene *scene, u32 service_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:1393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - url
    - odm
    argTypes:
    - SFURL*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1394
    functionName: is_odm_url
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_odm_url(SFURL *url, GF_ObjectManager *odm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:1510,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/compositor/scene.c:1513,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:1507,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/scene.c:1517,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/scene.c:1520,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/scene.c:1521,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:1523,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - param
    - field
    argTypes:
    - void*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1530
    functionName: scene_video_mouse_move
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_FEVT_INIT
    - gf_list_count
    - gf_sg_find_node_by_name
    - gf_filter_pid_get_property_str
    - FIX2INT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void scene_video_mouse_move(void *param, GF_FieldInfo *field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - type
    - hint_type
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 935
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 935
    functionName: is_match_obj_type
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool is_match_obj_type(u32 type, u32 hint_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/scene.c:1229,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:1248,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/scene.c:1233,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1232,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:1245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1250
    functionName: gf_scene_set_timeshift_depth
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odm_get_media_clock
    - gf_odm_shares_clock
    - gf_scene_notify_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_set_timeshift_depth(GF_Scene *scene) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_CheckExistingObject
      Src: /src/gpac/src/compositor/scene.c:1351,1
    - Dst: gf_scene_get_video_size
      Src: /src/gpac/src/compositor/scene.c:1359,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1353,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/scene.c:1362,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:1356,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1362,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1362,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/scene.c:1363,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1363,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1363,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/scene.c:1371,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1369,1
    - Dst: gf_scene_set_addon_layout_info
      Src: /src/gpac/src/compositor/scene.c:1373,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:1368,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1375
    functionName: IS_UpdateVideoPos
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_set_addon_layout_info
    - INT2FIX
    - IS_CheckExistingObject
    - gf_divfix
    - gf_sg_find_node_by_name
    - gf_sg_get_scene_size_info
    - gf_node_dirty_set
    - gf_scene_get_video_size
    linkageType: ''
    returnType: void
    signature: 'static void IS_UpdateVideoPos(GF_Scene *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1956
    functionName: gf_scene_regenerate
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_regenerate(GF_Scene *scene) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:1026,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/scene.c:1045,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/scene.c:1047,1
    - Dst: gf_mo_event_target_find_by_node
      Src: /src/gpac/src/compositor/scene.c:998,1
    - Dst: gf_mo_event_target_find_by_node
      Src: /src/gpac/src/compositor/scene.c:1003,1
    - Dst: gf_mo_new
      Src: /src/gpac/src/compositor/scene.c:1018,1
    - Dst: gf_mo_event_target_add_node
      Src: /src/gpac/src/compositor/scene.c:1024,1
    - Dst: gf_sg_vrml_copy_mfurl
      Src: /src/gpac/src/compositor/scene.c:1037,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/scene.c:1040,1
    - Dst: gf_mo_event_target_reset
      Src: /src/gpac/src/compositor/scene.c:1046,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/scene.c:946,1
    - Dst: gf_mo_is_same_url
      Src: /src/gpac/src/compositor/scene.c:972,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:1026,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:1035,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:1053,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:958,1
    - Dst: is_match_obj_type
      Src: /src/gpac/src/compositor/scene.c:970,1
    - Dst: gf_mo_event_target_add_node
      Src: /src/gpac/src/compositor/scene.c:999,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:1052,1
    - Dst: gf_scene_insert_object
      Src: /src/gpac/src/compositor/scene.c:1038,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 81
    argCount: 8
    argNames:
    - scene
    - url
    - obj_type_hint
    - lock_timelines
    - sync_ref
    - force_new_if_not_attached
    - node
    - parent_scene_addon
    argTypes:
    - GF_Scene*
    - MFURL*
    - u32
    - Bool
    - GF_MediaObject*
    - Bool
    - GF_Node*
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1061
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1061
    functionName: gf_scene_get_media_object_ex
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_mo_new
    - gf_list_add
    - gf_list_get
    - gf_mo_get_od_id
    - gf_mo_event_target_reset
    - gf_list_find
    - gf_list_enum
    - gf_sg_vrml_copy_mfurl
    - gf_scene_insert_object
    - gf_mo_del
    - gf_mo_event_target_find_by_node
    - gf_list_count
    - gf_node_get_graph
    - gf_sg_get_private
    - is_match_obj_type
    - gf_mo_is_same_url
    - gf_mo_event_target_add_node
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MediaObject *gf_scene_get_media_object_ex(GF_Scene *scene,
      MFURL *url, u32 obj_type_hint, Bool lock_timelines, GF_MediaObject *sync_ref,
      Bool force_new_if_not_attached, GF_Node *node, GF_Scene *parent_scene_addon) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:1259,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:1261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - scene
    - ODID
    - url
    argTypes:
    - GF_Scene*
    - u16
    - char*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1267
    functionName: gf_scene_find_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'GF_MediaObject *gf_scene_find_object(GF_Scene *scene, u16 ODID, char
      *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/scene.c:1379,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/compositor/scene.c:1381,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/compositor/scene.c:1381,1
    - Dst: gf_node_init
      Src: /src/gpac/src/compositor/scene.c:1382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - sg
    - tag
    - def_name
    argTypes:
    - GF_SceneGraph*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1385
    functionName: is_create_node
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_sg_get_next_available_node_id
    - gf_node_new
    - gf_node_set_id
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *is_create_node(GF_SceneGraph *sg, u32 tag, const char
      *def_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - scene
    - from_time
    - restart_only
    - disable_addon_check
    argTypes:
    - GF_Scene*
    - s64
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1958
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1958
    functionName: gf_scene_restart_dynamic
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_restart_dynamic(GF_Scene *scene, s64 from_time,
      Bool restart_only, Bool disable_addon_check) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/compositor/scene.c:2830,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2831,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2833,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2834,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2835,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/scene.c:2838,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/compositor/scene.c:2845,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2865,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2855,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2871,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2897,1
    - Dst: gf_sc_node_destroy
      Src: /src/gpac/src/compositor/scene.c:2825,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2829,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/compositor/scene.c:2826,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2854,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2862,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2859,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2857,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2875,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2876,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2879,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/scene.c:2872,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:2903,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/scene.c:2880,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2863,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2867,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2869,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:2873,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/scene.c:2847,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2853,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2877,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:2881,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/compositor/scene.c:2894,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/compositor/scene.c:2899,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 3
    argNames:
    - scene
    - url
    - parent_path
    argTypes:
    - GF_Scene*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2905
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2905
    functionName: gf_scene_generate_views
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_url_colon_suffix
    - gf_url_concatenate
    - gf_sc_send_event
    - is_create_node
    - gf_sc_set_option
    - gf_sg_vrml_mf_reset
    - gf_scene_get_time
    - gf_sg_vrml_mf_append
    - gf_sg_set_scene_size_info
    - gf_node_register
    - gf_scene_attach_to_compositor
    - strstr
    - gf_sg_set_root_node
    - gf_sc_node_destroy
    - gf_sg_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_generate_views(GF_Scene *scene, char *url, char *parent_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/scene.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - _is
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: gf_scene_get_time
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_clock_time_absolute
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_scene_get_time(void *_is) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - scene
    - odm
    - set_on
    - absolute_clock_time
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 1968
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1968
    functionName: gf_scene_select_main_addon
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_select_main_addon(GF_Scene *scene, GF_ObjectManager
      *odm, Bool set_on, u64 absolute_clock_time) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_node_destroy
      Src: /src/gpac/src/compositor/scene.c:2919,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/compositor/scene.c:2920,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2923,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2964,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2965,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/scene.c:2936,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2950,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2951,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2971,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2973,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:2975,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/scene.c:2989,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2998,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/compositor/scene.c:3000,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2955,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2952,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2956,1
    - Dst: is_create_node
      Src: /src/gpac/src/compositor/scene.c:2969,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/compositor/scene.c:2924,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/scene.c:2925,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/scene.c:2927,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/scene.c:2943,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2967,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2953,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2966,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/scene.c:2970,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/scene.c:2974,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/scene.c:2989,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:3004,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 3
    argNames:
    - scene
    - url
    - parent_path
    argTypes:
    - GF_Scene*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3006
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 3006
    functionName: gf_scene_generate_mosaic
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_url_concatenate
    - gf_sc_send_event
    - is_create_node
    - INT2FIX
    - gf_sqrt
    - gf_sg_vrml_mf_reset
    - gf_ceil
    - strchr
    - gf_sg_vrml_mf_append
    - gf_sg_set_scene_size_info
    - gf_node_register
    - gf_scene_attach_to_compositor
    - strstr
    - gf_sg_set_root_node
    - gf_sc_node_destroy
    - gf_sg_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_generate_mosaic(GF_Scene *scene, char *url, char *parent_path) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_set_service_id
      Src: /src/gpac/src/compositor/scene.c:2102,1
    - Dst: check_odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2112,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2112,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/scene.c:2133,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/scene.c:2121,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/scene.c:2170,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2187,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2189,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2197,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2198,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2219,1
    - Dst: check_odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2111,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2111,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:2129,1
    - Dst: gf_odm_play
      Src: /src/gpac/src/compositor/scene.c:2135,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/scene.c:2159,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2152,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2182,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/scene.c:2192,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/scene.c:2213,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2215,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2218,1
    - Dst: check_odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2110,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2110,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:2116,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/scene.c:2151,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2142,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2173,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2200,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2208,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2210,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2109,1
    - Dst: check_odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2109,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2165,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2167,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2178,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2179,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2181,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2194,1
    - Dst: gf_scene_force_size_to_video
      Src: /src/gpac/src/compositor/scene.c:2201,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2202,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:2221,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 124
    argCount: 2
    argNames:
    - scene
    - odm
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2225
    functionName: gf_scene_select_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_strdup
    - check_odm_deactivate
    - gf_scene_get_time
    - gf_odm_play
    - gf_scene_force_size_to_video
    - gf_sg_find_node_by_name
    - gf_odm_stop
    - gf_free
    - gf_sg_vrml_mf_alloc
    - gf_sg_vrml_field_copy
    - gf_scene_set_service_id
    - gf_clock_media_time
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_select_object(GF_Scene *scene, GF_ObjectManager
      *odm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2237,1
    - Dst: odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2238,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2256,1
    - Dst: odm_activate
      Src: /src/gpac/src/compositor/scene.c:2266,1
    - Dst: odm_activate
      Src: /src/gpac/src/compositor/scene.c:2268,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2270,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:2277,1
    - Dst: odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2236,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/scene.c:2255,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2266,1
    - Dst: odm_activate
      Src: /src/gpac/src/compositor/scene.c:2267,1
    - Dst: odm_activate
      Src: /src/gpac/src/compositor/scene.c:2265,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2268,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2230,1
    - Dst: odm_deactivate
      Src: /src/gpac/src/compositor/scene.c:2237,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2238,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/compositor/scene.c:2243,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/scene.c:2250,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2265,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/scene.c:2260,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2267,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2236,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2271,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:2274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - scene
    - odm
    - set_on
    - absolute_clock_time
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 2279
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2279
    functionName: gf_scene_select_main_addon
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_regenerate
    - memset
    - gf_sg_vrml_mf_reset
    - gf_sys_clock
    - gf_scene_notify_event
    - gf_sg_find_node_by_name
    - odm_activate
    - gf_sg_vrml_field_copy
    - gf_node_changed
    - gf_clock_media_time
    - odm_deactivate
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_select_main_addon(GF_Scene *scene, GF_ObjectManager
      *odm, Bool set_on, u64 absolute_clock_time) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/scene.c:436,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:455,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/scene.c:460,1
    - Dst: gf_mo_event_target_remove_by_index
      Src: /src/gpac/src/compositor/scene.c:472,1
    - Dst: InputSensorModified
      Src: /src/gpac/src/compositor/scene.c:467,1
    - Dst: gf_mo_event_target_reset
      Src: /src/gpac/src/compositor/scene.c:482,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/compositor/scene.c:502,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:511,1
    - Dst: gf_mo_event_target_reset
      Src: /src/gpac/src/compositor/scene.c:519,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:524,1
    - Dst: gf_mo_event_target_remove_by_index
      Src: /src/gpac/src/compositor/scene.c:434,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/scene.c:433,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene.c:443,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/scene.c:459,1
    - Dst: gf_storage_save
      Src: /src/gpac/src/compositor/scene.c:489,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/compositor/scene.c:494,1
    - Dst: gf_scene_reset_addons
      Src: /src/gpac/src/compositor/scene.c:497,1
    - Dst: gf_sc_node_destroy
      Src: /src/gpac/src/compositor/scene.c:501,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:510,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:534,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:543,1
    - Dst: gf_scene_reset_urls
      Src: /src/gpac/src/compositor/scene.c:551,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/scene.c:547,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/scene.c:436,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:488,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/scene.c:460,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:481,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:535,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:525,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:536,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:427,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:438,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:487,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:486,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:462,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:517,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:518,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:527,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:529,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:542,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:544,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:533,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 2
    argNames:
    - scene
    - for_shutdown
    argTypes:
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 554
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 554
    functionName: gf_scene_disconnect
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - GF_LOG
    - gf_storage_save
    - gf_event_target_get_node
    - InputSensorModified
    - gf_list_count
    - gf_sg_vrml_mf_reset
    - gf_node_set_private
    - gf_sg_reset
    - gf_list_get
    - gf_mo_event_target_reset
    - gf_list_enum
    - gf_scene_reset_urls
    - gf_mo_event_target_count
    - gf_free
    - gf_sc_node_destroy
    - gf_mo_event_target_remove_by_index
    - gf_mo_del
    - gf_mo_event_target_get
    - gf_scene_reset_addons
    - gf_list_rem
    - gf_sc_set_scene
    - gf_odm_disconnect
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_disconnect(GF_Scene *scene, Bool for_shutdown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_get_media_object_ex
      Src: /src/gpac/src/compositor/scene.c:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - scene
    - url
    - obj_type_hint
    - lock_timelines
    argTypes:
    - GF_Scene*
    - MFURL*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: gf_scene_get_media_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_get_media_object_ex
    linkageType: ''
    returnType: GF_MediaObject*
    signature: 'GF_MediaObject *gf_scene_get_media_object(GF_Scene *scene, MFURL *url,
      u32 obj_type_hint, Bool lock_timelines) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:2674,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:2678,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2681,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - node
    - uri
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 2682
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2682
    functionName: gf_scene_set_fragment_uri
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_sg_get_private
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_set_fragment_uri(GF_Node *node, const char *uri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_new
      Src: /src/gpac/src/compositor/scene.c:562,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:588,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:574,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:576,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:589,1
    - Dst: gf_odm_setup_remote_object
      Src: /src/gpac/src/compositor/scene.c:591,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 7
    argNames:
    - scene
    - mo
    - lock_timelines
    - sync_ref
    - keep_fragment
    - original_parent_scene
    - for_addon
    argTypes:
    - GF_Scene*
    - GF_MediaObject*
    - Bool
    - GF_MediaObject*
    - Bool
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 592
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 592
    functionName: gf_scene_insert_object
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_odm_new
    - stricmp
    - gf_odm_setup_remote_object
    linkageType: ''
    returnType: void
    signature: 'static void gf_scene_insert_object(GF_Scene *scene, GF_MediaObject
      *mo, Bool lock_timelines, GF_MediaObject *sync_ref, Bool keep_fragment, GF_Scene
      *original_parent_scene, Bool for_addon) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_visual_info_ex
      Src: /src/gpac/src/compositor/scene.c:1072,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - mo
    - w
    - h
    argTypes:
    - GF_MediaObject*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1095
    functionName: gf_scene_get_video_size
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_mo_get_visual_info_ex
    linkageType: ''
    returnType: void
    signature: 'static void gf_scene_get_video_size(GF_MediaObject *mo, u32 *w, u32
      *h) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:2689,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:2703,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene.c:2700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2704
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2704
    functionName: gf_scene_get_subscene_root
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sg_get_root_node
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_scene_get_subscene_root(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2808
    functionName: gf_scene_is_dynamic_scene
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sg_get_private
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_scene_is_dynamic_scene(GF_SceneGraph *sg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:347,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:351,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:347,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:348,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:367,1
    - Dst: gf_scene_reset_urls
      Src: /src/gpac/src/compositor/scene.c:382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:352,1
    - Dst: gf_sc_node_destroy
      Src: /src/gpac/src/compositor/scene.c:359,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:368,1
    - Dst: gf_mo_del
      Src: /src/gpac/src/compositor/scene.c:372,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:377,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/compositor/scene.c:362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:388,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene.c:398,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:406,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:346,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:354,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:356,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:376,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:380,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:384,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:385,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/scene.c:389,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:392,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:396,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:370,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:371,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:374,1
    - Dst: gf_scene_ns_del
      Src: /src/gpac/src/compositor/scene.c:390,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/scene.c:397,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:400,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 407
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 407
    functionName: gf_scene_del
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_sg_del
    - gf_mo_del
    - gf_scene_reset_urls
    - gf_sg_vrml_mf_reset
    - gf_node_set_private
    - gf_list_rem
    - gf_free
    - gf_scene_ns_del
    - gf_assert
    - gf_list_pop_back
    - gf_sc_node_destroy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_del(GF_Scene *scene) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/scene.c:727,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:746,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/scene.c:735,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/scene.c:754,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:733,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:760,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/compositor/scene.c:762,1
    - Dst: gf_odm_service_media_event_with_download
      Src: /src/gpac/src/compositor/scene.c:778,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:792,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 104
    argCount: 2
    argNames:
    - scene
    - rebuffer_done
    argTypes:
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 793
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 793
    functionName: gf_scene_buffering_info
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_filter_pid_query_buffer_duration
    - gf_odm_service_media_event_with_download
    - gf_sc_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_buffering_info(GF_Scene *scene, Bool rebuffer_done) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_get_media_object_ex
      Src: /src/gpac/src/compositor/scene.c:3049,1
    - Dst: gf_scene_select_object
      Src: /src/gpac/src/compositor/scene.c:3063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3052,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - scene
    - addon
    argTypes:
    - GF_Scene*
    - GF_AddonMedia*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3065
    functionName: load_associated_media
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_select_object
    - GF_LOG
    - gf_scene_get_media_object_ex
    linkageType: ''
    returnType: void
    signature: 'static void load_associated_media(GF_Scene *scene, GF_AddonMedia *addon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - scene
    - OD_ID
    argTypes:
    - GF_Scene*
    - u16
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: gf_scene_find_odm
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ObjectManager *gf_scene_find_odm(GF_Scene *scene, u16
      OD_ID) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:808,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:817,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:811,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:816,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:814,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:821,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/scene.c:839,1
    - Dst: gf_sc_queue_dom_event
      Src: /src/gpac/src/compositor/scene.c:841,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/scene.c:846,1
    - Dst: gf_sc_queue_dom_event
      Src: /src/gpac/src/compositor/scene.c:848,1
    - Dst: gf_sc_queue_dom_event
      Src: /src/gpac/src/compositor/scene.c:858,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/compositor/scene.c:854,1
    - Dst: gf_mo_event_target_count
      Src: /src/gpac/src/compositor/scene.c:852,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/compositor/scene.c:854,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/scene.c:856,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 6
    argNames:
    - scene
    - event_type
    - n
    - _event
    - code
    - no_queuing
    argTypes:
    - GF_Scene*
    - u32
    - GF_Node*
    - void*
    - GF_Err
    - Bool
    constantsTouched: []
    func_position:
      end: 863
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 863
    functionName: gf_scene_notify_event
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - memset
    - gf_sg_get_root_node
    - INT2FIX
    - gf_mo_event_target_get
    - gf_event_target_get_node
    - gf_mo_event_target_count
    - gf_sc_queue_dom_event
    - gf_sg_get_scene_size_info
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_notify_event(GF_Scene *scene, u32 event_type, GF_Node
      *n, void *_event, GF_Err code, Bool no_queuing) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:1940,1
    - Dst: gf_scene_register_associated_media
      Src: /src/gpac/src/compositor/scene.c:1946,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:1948,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:1944,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - scene
    - show_addons
    argTypes:
    - GF_Scene*
    - Bool
    constantsTouched: []
    func_position:
      end: 1951
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1951
    functionName: gf_scene_toggle_addons
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - memset
    - gf_scene_register_associated_media
    - gf_sg_vrml_mf_reset
    - gf_sg_find_node_by_name
    - gf_node_changed
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_toggle_addons(GF_Scene *scene, Bool show_addons) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:3127,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:3162,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/compositor/scene.c:3190,1
    - Dst: load_associated_media
      Src: /src/gpac/src/compositor/scene.c:3199,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:3207,1
    - Dst: gf_scene_remove_object
      Src: /src/gpac/src/compositor/scene.c:3095,1
    - Dst: gf_scene_toggle_addons
      Src: /src/gpac/src/compositor/scene.c:3094,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/scene.c:3130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3148,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/scene.c:3195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:3081,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/scene.c:3126,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:3132,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/scene.c:3146,1
    - Dst: gf_scene_reset_addon
      Src: /src/gpac/src/compositor/scene.c:3128,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/scene.c:3157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:3078,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/scene.c:3084,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:3096,1
    - Dst: load_associated_media
      Src: /src/gpac/src/compositor/scene.c:3123,1
    - Dst: gf_scene_toggle_addons
      Src: /src/gpac/src/compositor/scene.c:3129,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:3152,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/scene.c:3141,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:3202,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 131
    argCount: 2
    argNames:
    - scene
    - addon_info
    argTypes:
    - GF_Scene*
    - GF_AssociatedContentLocation*
    constantsTouched: []
    func_position:
      end: 3210
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3210
    functionName: gf_scene_register_associated_media
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_scene_toggle_addons
    - memset
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_scene_remove_object
    - gf_scene_reset_addon
    - gf_list_get
    - gf_sys_is_test_mode
    - gf_free
    - gf_scene_notify_event
    - gf_sc_send_event
    - gf_scene_get_time
    - gf_list_rem
    - gf_odm_disconnect
    - load_associated_media
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_register_associated_media(GF_Scene *scene,
      GF_AssociatedContentLocation *addon_info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/compositor/scene.c:1538,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/scene.c:1544,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:1546,1
    - Dst: gf_sg_proto_get_extern_url
      Src: /src/gpac/src/compositor/scene.c:1542,1
    - Dst: gf_sg_proto_new
      Src: /src/gpac/src/compositor/scene.c:1541,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:1550,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/compositor/scene.c:1552,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/compositor/scene.c:1554,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/compositor/scene.c:1554,1
    - Dst: gf_node_init
      Src: /src/gpac/src/compositor/scene.c:1555,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - sg
    - name
    - def_name
    argTypes:
    - GF_SceneGraph*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1558
    functionName: load_vr_proto_node
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_node_init
    - gf_sg_proto_create_instance
    - gf_strdup
    - GF_LOG
    - gf_node_set_id
    - gf_sg_get_next_available_node_id
    - gf_sg_proto_get_extern_url
    - gf_sg_proto_new
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *load_vr_proto_node(GF_SceneGraph *sg, const char *name,
      const char *def_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/scene.c:289,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:293,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:295,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:292,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:294,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/compositor/scene.c:298,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:299,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/compositor/scene.c:302,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:305,1
    - Dst: gf_sg_set_private
      Src: /src/gpac/src/compositor/scene.c:308,1
    - Dst: gf_sg_set_node_callback
      Src: /src/gpac/src/compositor/scene.c:309,1
    - Dst: gf_sg_set_scene_time_callback
      Src: /src/gpac/src/compositor/scene.c:310,1
    - Dst: gf_sg_set_script_action
      Src: /src/gpac/src/compositor/scene.c:312,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:323,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:322,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:319,1
    - Dst: gf_sg_set_proto_loader
      Src: /src/gpac/src/compositor/scene.c:320,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - compositor
    - parentScene
    argTypes:
    - GF_Compositor*
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 329
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 329
    functionName: gf_scene_new
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sg_new_subscene
    - gf_sg_set_node_callback
    - gf_sg_set_proto_loader
    - gf_sg_set_scene_time_callback
    - gf_sg_new
    - gf_sg_set_private
    - gf_sg_set_script_action
    - GF_SAFEALLOC
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Scene *gf_scene_new(GF_Compositor *compositor, GF_Scene
      *parentScene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFURL_RESET
      Src: /src/gpac/src/compositor/scene.c:336,1
    - Dst: SFURL_RESET
      Src: /src/gpac/src/compositor/scene.c:337,1
    - Dst: SFURL_RESET
      Src: /src/gpac/src/compositor/scene.c:340,1
    - Dst: SFURL_RESET
      Src: /src/gpac/src/compositor/scene.c:339,1
    - Dst: SFURL_RESET
      Src: /src/gpac/src/compositor/scene.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: gf_scene_reset_urls
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - SFURL_RESET
    linkageType: ''
    returnType: void
    signature: 'static void gf_scene_reset_urls(GF_Scene *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - subscene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1964
    functionName: gf_scene_resume_live
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_resume_live(GF_Scene *subscene) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2510,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/compositor/scene.c:2543,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2554,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:2534,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2556,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2563,1
    - Dst: gf_sc_set_scene_size
      Src: /src/gpac/src/compositor/scene.c:2586,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:2587,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2593,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2595,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/compositor/scene.c:2598,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:2523,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:2544,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2539,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2569,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:2573,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2583,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/scene.c:2583,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/scene.c:2606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:2493,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/scene.c:2506,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/scene.c:2521,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2542,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/scene.c:2561,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/scene.c:2508,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2511,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/compositor/scene.c:2519,1
    - Dst: gf_sc_set_scene_size
      Src: /src/gpac/src/compositor/scene.c:2529,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/scene.c:2531,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/scene.c:2538,1
    - Dst: memset
      Src: /src/gpac/src/compositor/scene.c:2566,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/scene.c:2568,1
    - Dst: IS_UpdateVideoPos
      Src: /src/gpac/src/compositor/scene.c:2601,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 99
    argCount: 3
    argNames:
    - scene
    - width
    - height
    argTypes:
    - GF_Scene*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2607
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2607
    functionName: gf_scene_force_size
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_sc_set_size
    - memset
    - gf_scene_regenerate
    - IS_UpdateVideoPos
    - gf_filter_pid_get_property
    - GF_LOG
    - INT2FIX
    - gf_sc_set_scene_size
    - gf_scene_notify_event
    - gf_sg_use_pixel_metrics
    - gf_sg_find_node_by_name
    - gf_sc_set_scene
    - gf_sg_set_scene_size_info
    - gf_sg_get_scene_size_info
    - gf_node_changed
    - gf_filter_get_ipid
    - MAX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_force_size(GF_Scene *scene, u32 width, u32
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - scene
    - position
    - size_factor
    argTypes:
    - GF_Scene*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1966
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1966
    functionName: gf_scene_set_addon_layout_info
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_set_addon_layout_info(GF_Scene *scene, u32
      position, u32 size_factor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:2618,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:2624,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2620,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/scene.c:2624,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/compositor/scene.c:2626,1
    - Dst: gf_mo_event_target_enum_node
      Src: /src/gpac/src/compositor/scene.c:2634,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene.c:2635,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2640,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/scene.c:2641,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:2642,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - caller
    - evt
    argTypes:
    - GF_Node*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 2652
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2652
    functionName: gf_scene_process_anchor
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_mo_event_target_enum_node
    - gf_node_get_tag
    - gf_strdup
    - gf_node_get_graph
    - gf_sg_vrml_mf_reset
    - gf_sg_get_private
    - gf_sg_vrml_mf_alloc
    - stricmp
    - gf_filter_ui_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_scene_process_anchor(GF_Node *caller, GF_Event *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2782,1
    - Dst: gf_scene_is_over
      Src: /src/gpac/src/compositor/scene.c:2791,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:2787,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:2789,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2794
    functionName: gf_scene_is_over
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_sg_get_private
    - gf_list_get
    - gf_scene_is_over
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_scene_is_over(GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_odm_url
      Src: /src/gpac/src/compositor/scene.c:1978,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:1989,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:1985,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:1980,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:1990,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/scene.c:1991,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:1992,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - url
    - odm
    - n
    argTypes:
    - SFURL*
    - GF_ObjectManager*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1994
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1994
    functionName: check_odm_deactivate
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_get_field_by_name
    - gf_sg_vrml_mf_reset
    - gf_free
    - is_odm_url
    - gf_node_changed
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_odm_deactivate(SFURL *url, GF_ObjectManager *odm,
      GF_Node *n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:3217,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:3228,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/scene.c:3235,1
    - Dst: gf_scene_reset_addon
      Src: /src/gpac/src/compositor/scene.c:3234,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/scene.c:3219,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3249,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:3259,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:3260,1
    - Dst: load_associated_media
      Src: /src/gpac/src/compositor/scene.c:3265,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/scene.c:3282,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/scene.c:3284,1
    - Dst: gf_scene_set_timeshift_depth
      Src: /src/gpac/src/compositor/scene.c:3276,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - scene
    - addon_time
    argTypes:
    - GF_Scene*
    - GF_AssociatedContentTiming*
    constantsTouched: []
    func_position:
      end: 3286
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3286
    functionName: gf_scene_notify_associated_media_timeline
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_FEVT_INIT
    - gf_list_count
    - GF_LOG
    - gf_scene_set_timeshift_depth
    - gf_list_rem
    - gf_scene_reset_addon
    - load_associated_media
    - gf_assert
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_notify_associated_media_timeline(GF_Scene *scene, GF_AssociatedContentTiming
      *addon_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:2000,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/scene.c:2001,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/scene.c:2004,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/scene.c:2002,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/scene.c:2003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2005
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2005
    functionName: odm_deactivate
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_field_by_name
    - gf_node_changed
    - gf_node_get_scene_time
    - gf_sg_vrml_mf_reset
    linkageType: ''
    returnType: void
    signature: 'static void odm_deactivate(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:2798,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:2800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - sg
    - i
    argTypes:
    - GF_SceneGraph*
    - u32*
    constantsTouched: []
    func_position:
      end: 2801
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2801
    functionName: gf_scene_enum_extra_scene
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_get_private
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *gf_scene_enum_extra_scene(GF_SceneGraph *sg, u32 *i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3301,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/scene.c:3316,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/scene.c:3318,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:3321,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/scene.c:3309,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene.c:3323,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/scene.c:3325,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/scene.c:3329,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/scene.c:3330,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/scene.c:3332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - addon
    - cts
    - dts
    argTypes:
    - GF_AddonMedia*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 3334
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3334
    functionName: gf_scene_check_addon_restart
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del
    - gf_list_enum
    - GF_LOG
    - gf_odm_start
    - gf_list_new
    - gf_assert
    - gf_odm_stop
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_scene_check_addon_restart(GF_AddonMedia *addon, u64 cts, u64
      dts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_remove_object
      Src: /src/gpac/src/compositor/scene.c:3014,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:3020,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/scene.c:3015,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:3019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - addon
    - disconnect
    argTypes:
    - GF_AddonMedia*
    - Bool
    constantsTouched: []
    func_position:
      end: 3021
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3021
    functionName: gf_scene_reset_addon
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_scene_remove_object
    - gf_odm_disconnect
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_reset_addon(GF_AddonMedia *addon, Bool disconnect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:96,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:96,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/scene.c:104,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:99,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:97,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:107,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/scene.c:111,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:119,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:124,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/scene.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - node
    - the_url
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: gf_scene_resolve_xlink
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_url_concatenate
    - gf_strdup
    - gf_node_get_graph
    - gf_node_get_attribute_by_tag
    - gf_sg_get_private
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'char *gf_scene_resolve_xlink(GF_Node *node, char *the_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/scene.c:3025,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/scene.c:3026,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/scene.c:3027,1
    - Dst: gf_scene_reset_addon
      Src: /src/gpac/src/compositor/scene.c:3029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - scene
    argTypes:
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 3031
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3031
    functionName: gf_scene_reset_addons
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_scene_reset_addon
    - gf_list_rem_last
    - gf_list_count
    - gf_list_last
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_reset_addons(GF_Scene *scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_service_media_event
      Src: /src/gpac/src/compositor/scene.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - scene
    - type
    argTypes:
    - GF_Scene*
    - u32
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: inline_on_media_event
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_odm_service_media_event
    linkageType: ''
    returnType: void
    signature: 'static void inline_on_media_event(GF_Scene *scene, u32 type) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_get_root_scene
      Src: /src/gpac/src/compositor/scene.c:136,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:185,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/scene.c:206,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:203,1
    - Dst: gf_filter_relocate_url
      Src: /src/gpac/src/compositor/scene.c:194,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:213,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:236,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/scene.c:239,1
    - Dst: gf_sc_script_action
      Src: /src/gpac/src/compositor/scene.c:247,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:251,1
    - Dst: gf_scene_message_ex
      Src: /src/gpac/src/compositor/scene.c:139,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/compositor/scene.c:163,1
    - Dst: gf_filter_send_gf_event
      Src: /src/gpac/src/compositor/scene.c:170,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/scene.c:197,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:205,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:211,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:219,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/scene.c:226,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/scene.c:227,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:235,1
    - Dst: gf_filter_send_gf_event
      Src: /src/gpac/src/compositor/scene.c:257,1
    - Dst: gf_scene_resolve_xlink
      Src: /src/gpac/src/compositor/scene.c:148,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/scene.c:155,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:185,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:204,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/scene.c:221,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:251,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/scene.c:159,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene.c:174,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:188,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/scene.c:196,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:212,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/scene.c:214,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/scene.c:220,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/scene.c:225,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/scene.c:234,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 101
    argCount: 4
    argNames:
    - opaque
    - type
    - n
    - param
    argTypes:
    - void*
    - GF_JSAPIActionType
    - GF_Node*
    - GF_JSAPIParam*
    constantsTouched: []
    func_position:
      end: 264
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 264
    functionName: gf_scene_script_action
    functionSourceFile: /src/gpac/src/compositor/scene.c
    functionUses: []
    functionsReached:
    - gf_filter_get_download_manager
    - gf_clock_resume
    - gf_clock_pause
    - gf_strdup
    - gf_filter_send_gf_event
    - gf_scene_message_ex
    - gf_scene_get_root_scene
    - gf_scene_resolve_xlink
    - gf_sg_get_private
    - gf_scene_restart_dynamic
    - gf_sc_script_action
    - gf_opts_get_key
    - gf_url_concatenate
    - gf_node_get_private
    - gf_sg_get_root_node
    - gf_node_get_graph
    - gf_opts_set_key
    - gf_filter_relocate_url
    - gf_clock_set_speed
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_scene_script_action(void *opaque, GF_JSAPIActionType
      type, GF_Node *n, GF_JSAPIParam *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:38,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:43,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:40,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: TraverseGroup
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - group_2d_traverse
    - gf_sc_check_focus_upon_destroy
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void TraverseGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:65,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:70,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:67,1
    - Dst: group_3d_delete
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: TraverseGroup
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - group_3d_traverse
    - gf_sc_check_focus_upon_destroy
    - group_3d_delete
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void TraverseGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:100,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:109,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:121,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:103,1
    - Dst: group_3d_delete
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:104,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:124,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:126,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:129,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 142
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 142
    functionName: TraverseCollision
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - group_3d_traverse
    - gf_node_traverse
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_private
    - group_3d_delete
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void TraverseCollision(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:169,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:172,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - compositor
    - node
    - children
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_ChildNodeItem**
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: NewTransformStack
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void NewTransformStack(GF_Compositor *compositor, GF_Node *node,
      GF_ChildNodeItem **children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTransformStack
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:225,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: compositor_init_transform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - NewTransformStack
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_transform(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTransformStack
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:313,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: compositor_init_billboard
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - NewTransformStack
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_billboard(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compositor_init_group
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: compositor_init_static_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - compositor_init_group
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_static_group(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:50,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:52,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: compositor_init_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_group(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: group_3d_new
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:76,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: compositor_init_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - group_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_group(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: group_3d_new
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:146,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: compositor_init_collision
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - group_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_collision(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:161,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:163,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: DestroyTransform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyTransform(GF_Node *n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:179,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:191,1
    - Dst: DestroyTransform
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:184,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:189,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:193,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:196,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:198,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:201,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:203,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:205,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:207,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:216,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:218,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:212,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:220,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:213,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 221
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 221
    functionName: TraverseTransform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - group_3d_traverse
    - gf_node_get_private
    - gf_mx_add_scale
    - DestroyTransform
    - gf_mx_add_matrix
    - gf_node_dirty_get
    - gf_mx_init
    - gf_mx_add_rotation
    - gf_mx_apply_bbox
    - gf_mx_copy
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTransform(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:234,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:252,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:261,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:267,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:281,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:287,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:291,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:292,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:293,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:306,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:308,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:245,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:251,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:254,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:258,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:259,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:263,1
    - Dst: gf_mx_rotate_vector
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:266,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:272,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:269,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:278,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:295,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:286,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:260,1
    - Dst: gf_mx_rotate_vector
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:262,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:276,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:279,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:290,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:294,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:296,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:301,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:304,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:280,1
    - Dst: DestroyTransform
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:239,1
    - Dst: gf_mx_rotation_matrix_from_vectors
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:271,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:268,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:288,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:295,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:300,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 309
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 309
    functionName: TraverseBillboard
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - group_3d_traverse
    - gf_mx_apply_vec
    - gf_vec_cross
    - gf_vec_dot
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_vec_norm
    - gf_mx_apply_bbox
    - gf_mx_copy
    - gf_vec_rev
    - gf_mx_inverse
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_add
    - gf_mx_add_matrix
    - DestroyTransform
    - gf_mx_rotate_vector
    - gf_vec_scale
    - gf_node_get_private
    - gf_acos
    - gf_mx_rotation_matrix_from_vectors
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBillboard(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:329,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:333,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:332,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:338,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:351,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:360,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:361,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:362,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:363,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:364,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:373,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:372,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:393,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:388,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:393,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 394
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 394
    functionName: TraverseLOD
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - gf_mx_apply_vec
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_tag
    - gf_mx_inverse
    - gf_node_get_private
    - gf_node_traverse
    - gf_vec_len
    - gf_vec_diff
    - gf_node_list_get_child
    - gf_node_dirty_get
    - gf_free
    - gf_mx_copy
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseLOD(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: group_3d_new
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:88,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: compositor_init_static_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - group_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_static_group(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:398,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:400,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_3d.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: compositor_init_lod
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_malloc
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_lod(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_register_event_type
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:62,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: mpeg4_sensor_created
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_sg_register_event_type
    linkageType: ''
    returnType: void
    signature: 'static void mpeg4_sensor_created(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:519,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:531,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:529,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: compositor_init_plane_sensor2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_plane_sensor2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:545,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:547,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: DestroyProximitySensor2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyProximitySensor2D(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1145,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1155,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1156,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1147,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1158
    functionName: compositor_init_cylinder_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_cylinder_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1236,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1255,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1296,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1307,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1198,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1214,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1225,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1228,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1254,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1279,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1297,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1295,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1298,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1189,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1208,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1211,1
    - Dst: gf_closest_point_to_line
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1232,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1237,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1238,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1243,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1251,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1278,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1280,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1209,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1201,1
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1211,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1236,1
    - Dst: gf_ray_hit_sphere
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1229,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1242,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1245,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1249,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1252,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1262,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1281,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 147
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1312
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1312
    functionName: OnSphereSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_asin
    - gf_mx_apply_vec
    - gf_vec_cross
    - gf_node_get_private
    - gf_quat_to_rotation
    - gf_vec_len
    - gf_vec_dot
    - gf_vec_scale
    - gf_invfix
    - gf_mx_apply_ray
    - gf_ray_hit_sphere
    - gf_closest_point_to_line
    - gf_vec_norm
    - gf_quat_multiply
    - gf_quat_from_rotation
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnSphereSensor(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:40,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:45,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:44,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:47,1
    - Dst: compositor_compositetexture_sensor_delete
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:49,1
    - Dst: gf_sg_unregister_event_type
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:53,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - node
    - hdl
    argTypes:
    - GF_Node*
    - GF_SensorHandler*
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: mpeg4_sensor_deleted
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_unregister_event_type
    - gf_sc_get_compositor
    - compositor_compositetexture_sensor_delete
    - gf_node_get_graph
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void mpeg4_sensor_deleted(GF_Node *node, GF_SensorHandler *hdl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: prox2D_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool prox2D_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: sphere_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *sphere_get_handler(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    functionName: compositor_mpeg4_get_sensor_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - compositor_mpeg4_get_sensor_handler_ex
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'GF_SensorHandler *compositor_mpeg4_get_sensor_handler(GF_Node *n) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1586,1
    - Dst: envtest_evaluate
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1597,1
    - Dst: envtest_evaluate
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1606,1
    - Dst: envtest_evaluate
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1602,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1588,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - param_type
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 1611
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1611
    functionName: compositor_evaluate_envtests
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - envtest_evaluate
    linkageType: ''
    returnType: void
    signature: 'void compositor_evaluate_envtests(GF_Compositor *compositor, u32 param_type) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:260,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:270,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:273,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:279,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:280,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:282,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:291,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:292,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:294,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:301,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:340,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:311,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:304,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 90
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: OnDiscSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_mx_apply_ray
    - gf_mx_copy
    - compositor_get_2d_plane_intersection
    - gf_atan2
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnDiscSensor(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: proximity_sensor2d_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *proximity_sensor2d_get_handler(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: touch_sensor_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *touch_sensor_get_handler(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:814,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:816,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:815,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: DestroyPlaneSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyPlaneSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:830,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:839,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:849,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:842,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:850,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:853,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:855,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:863,1
    - Dst: gf_plane_intersect_line
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:864,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:866,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:892,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:892,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:868,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:893,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:879,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:886,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:893,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:926,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 931
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 931
    functionName: OnPlaneSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_vec_dot
    - gf_vec_diff
    - gf_plane_intersect_line
    - gf_mx_apply_ray
    - INT2FIX
    - gf_node_get_graph
    - gf_sg_use_pixel_metrics
    - gf_divfix
    - gf_mx_copy
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnPlaneSensor(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:986,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:997,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1008,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1013,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1021,1
    - Dst: gf_plane_intersect_line
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1065,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1076,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1082,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1084,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1093,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1012,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1055,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1059,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1051,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1062,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1102,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1129,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1011,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:994,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1014,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1018,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1022,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1058,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1058,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1040,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1081,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1084,1
    - Dst: fabs
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1085,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1015,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1059,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1062,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1074,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1080,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1083,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1084,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 169
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1134
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1134
    functionName: OnCylinderSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_vec_cross
    - gf_node_get_private
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_add
    - gf_acos
    - gf_plane_intersect_line
    - gf_mx_apply_ray
    - gf_vec_len
    - gf_mulfix
    - gf_vec_norm
    - ABS
    - fabs
    - gf_mx_copy
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnCylinderSensor(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1464,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1467
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1467
    functionName: traverse_envtest
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void traverse_envtest(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: disc_sensor_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *disc_sensor_get_handler(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:610,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:622,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:621,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 623
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 623
    functionName: compositor_init_proximity_sensor2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_proximity_sensor2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:635,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:636,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: DestroyTouchSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyTouchSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:715,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:724,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:725,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: compositor_init_touch_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_touch_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: ps_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ps_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: plane_sensor_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *plane_sensor_get_handler(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    functionName: cylinder_sensor_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *cylinder_sensor_get_handler(GF_Node *n) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1479,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1516,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1551,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1530,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1550,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1544,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1545,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1543,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1561,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1562,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1507,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1512,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1525,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1569,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1573,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1577,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1477,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1503,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1521,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1539,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1549,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1555,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1556,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1557,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1563,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1493,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1498,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1534,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1579,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1580,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 116
    argCount: 2
    argNames:
    - node
    - _route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1581
    functionName: envtest_evaluate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - sscanf
    - gf_strdup
    - sprintf
    - strcmp
    - gf_node_event_out
    - strcpy
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void envtest_evaluate(GF_Node *node, GF_Route *_route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1621,1
    - Dst: compositor_envtest_modified
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1629,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1628,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1623,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1632
    functionName: compositor_init_envtest
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - compositor_envtest_modified
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_envtest(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1396,1
    - Dst: disc_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1409,1
    - Dst: gf_sc_anchor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1400,1
    - Dst: plane_sensor2d_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1412,1
    - Dst: gf_sc_anchor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1405,1
    - Dst: proximity_sensor2d_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1415,1
    - Dst: touch_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1418,1
    - Dst: touch_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1422,1
    - Dst: cylinder_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1427,1
    - Dst: plane_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1430,1
    - Dst: sphere_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1433,1
    - Dst: cylinder_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1437,1
    - Dst: plane_sensor_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1440,1
    - Dst: sphere_get_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1443,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 2
    argNames:
    - n
    - skip_anchors
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1452
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1452
    functionName: compositor_mpeg4_get_sensor_handler_ex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - proximity_sensor2d_get_handler
    - gf_node_get_tag
    - cylinder_sensor_get_handler
    - sphere_get_handler
    - touch_sensor_get_handler
    - gf_sc_anchor_get_handler
    - plane_sensor_get_handler
    - disc_sensor_get_handler
    - plane_sensor2d_get_handler
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'GF_SensorHandler *compositor_mpeg4_get_sensor_handler_ex(GF_Node *n,
      Bool skip_anchors) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:78,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:83,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:85,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:84,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:82,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:89,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:91,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:102,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:105,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 109
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 109
    functionName: TraverseAnchor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_tag
    - gf_list_del
    - gf_node_get_private
    - mpeg4_sensor_deleted
    - gf_node_dirty_get
    - gf_free
    - group_2d_traverse
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseAnchor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:156,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:180,1
    - Dst: anchor_activation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:164,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:181,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:168,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: OnAnchor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_node_get_tag
    - gf_sc_send_event
    - gf_node_get_private
    - anchor_activation
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnAnchor(GF_SensorHandler *sh, Bool is_over, Bool is_cancel,
      GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:197,1
    - Dst: anchor_activation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: on_activate_anchor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - anchor_activation
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void on_activate_anchor(GF_Node *node, GF_Route *route) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - st
    - ps
    - X
    - Y
    argTypes:
    - Prox2DStack*
    - M_ProximitySensor2D*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: prox2D_is_in_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool prox2D_is_in_sensor(Prox2DStack *st, M_ProximitySensor2D
      *ps, Fixed X, Fixed Y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: ts_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ts_is_enabled(GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:942,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:954,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:953,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:944,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 955
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 955
    functionName: compositor_init_plane_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_plane_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:970,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:971,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 974
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 974
    functionName: DestroyCylinderSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyCylinderSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1173,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1175,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1177
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1177
    functionName: DestroySphereSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroySphereSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:116,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:141,1
    - Dst: gf_scene_process_anchor
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:145,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:139,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - node
    - st
    - compositor
    argTypes:
    - GF_Node*
    - AnchorStack*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 150
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 150
    functionName: anchor_activation
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_scene_process_anchor
    - Bindable_SetSetBind
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'static void anchor_activation(GF_Node *node, AnchorStack *st, GF_Compositor
      *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: anchor_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'static Bool anchor_is_enabled(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: gf_sc_anchor_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'GF_SensorHandler *gf_sc_anchor_get_handler(GF_Node *n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:568,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:578,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:573,1
    - Dst: prox2D_is_in_sensor
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:575,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:570,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:582,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:584,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:592,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 598
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 598
    functionName: OnProximitySensor2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - prox2D_is_in_sensor
    - gf_node_get_private
    - gf_assert
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnProximitySensor2D(GF_SensorHandler *sh, Bool is_over,
      Bool is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:665,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:675,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:666,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:668,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:683,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:693,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:695,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:697,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 701
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 701
    functionName: OnTouchSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnTouchSensor(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: cs_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cs_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: sphere_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool sphere_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1384
    functionName: compositor_init_visibility_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_visibility_sensor(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compositor_mpeg4_get_sensor_handler
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1459
    functionName: compositor_mpeg4_is_sensor_node
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - compositor_mpeg4_get_sensor_handler
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_mpeg4_is_sensor_node(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: envtest_evaluate
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: compositor_envtest_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - envtest_evaluate
    linkageType: ''
    returnType: void
    signature: 'void compositor_envtest_modified(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:213,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:222,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:215,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:227,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 229
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: compositor_init_anchor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_anchor(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:243,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:245,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: DestroyDiscSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyDiscSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:356,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:358,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:368,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: compositor_init_disc_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_disc_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:383,1
    - Dst: mpeg4_sensor_deleted
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:384,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: DestroyPlaneSensor2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - mpeg4_sensor_deleted
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyPlaneSensor2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:399,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:413,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:422,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:418,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:409,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:431,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:433,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:437,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:454,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:461,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:467,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:468,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:467,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:468,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:502,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:499,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 117
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 508
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 508
    functionName: OnPlaneSensor2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - INT2FIX
    - gf_mx_apply_ray
    - gf_node_get_graph
    - gf_sg_use_pixel_metrics
    - gf_divfix
    - gf_mx_copy
    - compositor_get_2d_plane_intersection
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnPlaneSensor2D(GF_SensorHandler *sh, Bool is_over, Bool
      is_cancel, GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:741,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:748,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:743,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:749,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:742,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:752,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:753,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:765,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:766,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:767,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:774,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:792,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:786,1
    - Dst: camera_get_orientation
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:780,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:790,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:791,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:777,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:779,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 794
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 794
    functionName: TraverseProximitySensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_mx_apply_vec
    - gf_mx_inverse
    - gf_vec_diff
    - gf_bbox_refresh
    - gf_vec_add
    - gf_mx_copy
    - camera_get_orientation
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void TraverseProximitySensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1323,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1325,1
    - Dst: mpeg4_sensor_created
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1333,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1336
    functionName: compositor_init_sphere_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - mpeg4_sensor_created
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_sphere_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: ds_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ds_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: ps2D_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ps2D_is_enabled(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: plane_sensor2d_get_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'static GF_SensorHandler *plane_sensor2d_get_handler(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: compositor_init_proximity_sensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_proximity_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1347,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1349,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1358,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1348,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1356,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1359,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1360,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1363,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1368,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1369,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1375,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1370,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1374,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_sensors.c:1376,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1379
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1379
    functionName: TraverseVisibilitySensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_sensors.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_vec_diff
    - gf_bbox_refresh
    - gf_vec_add
    - gf_vec_scale
    - visual_3d_node_cull
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void TraverseVisibilitySensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/audio_input.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - callback
    - nb_bytes
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: gf_audio_input_release_frame
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_release_data
    linkageType: ''
    returnType: void
    signature: 'static void gf_audio_input_release_frame(void *callback, u32 nb_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - callback
    - vol
    argTypes:
    - void*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: gf_audio_input_get_volume
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_audio_input_get_volume(void *callback, Fixed *vol) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_audio_info
      Src: /src/gpac/src/compositor/audio_input.c:219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - aifc
    - for_recf
    argTypes:
    - GF_AudioInterface*
    - Bool
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: gf_audio_input_get_config
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_get_audio_info
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_audio_input_get_config(GF_AudioInterface *aifc, Bool
      for_recf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/audio_input.c:259,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/audio_input.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ai
    argTypes:
    - GF_AudioInput*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: gf_sc_audio_predestroy
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_unregister
    - gf_sc_audio_stop
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_audio_predestroy(GF_AudioInput *ai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_input.c:290,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_input.c:299,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/audio_input.c:296,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/audio_input.c:292,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/audio_input.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ai
    argTypes:
    - GF_AudioInput*
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: gf_sc_audio_stop
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_mo_unregister
    - gf_mixer_lock
    - gf_mo_stop
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_audio_stop(GF_AudioInput *ai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_url_changed
      Src: /src/gpac/src/compositor/audio_input.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ai
    - url
    argTypes:
    - GF_AudioInput*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: gf_sc_audio_check_url
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_url_changed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_audio_check_url(GF_AudioInput *ai, MFURL *url) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/audio_input.c:78,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:136,1
    - Dst: gf_mo_adjust_clock
      Src: /src/gpac/src/compositor/audio_input.c:165,1
    - Dst: gf_mo_adjust_clock
      Src: /src/gpac/src/compositor/audio_input.c:68,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/audio_input.c:110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:117,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/audio_input.c:111,1
    - Dst: gf_mo_fetch_data
      Src: /src/gpac/src/compositor/audio_input.c:56,1
    - Dst: gf_mo_is_started
      Src: /src/gpac/src/compositor/audio_input.c:65,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/audio_input.c:59,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:66,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:86,1
    - Dst: gf_mo_get_current_speed
      Src: /src/gpac/src/compositor/audio_input.c:90,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/audio_input.c:146,1
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/audio_input.c:138,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/audio_input.c:146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:113,1
    - Dst: gf_mo_is_buffering
      Src: /src/gpac/src/compositor/audio_input.c:72,1
    - Dst: gf_mo_get_object_time
      Src: /src/gpac/src/compositor/audio_input.c:92,1
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/audio_input.c:151,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_input.c:164,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 4
    argNames:
    - callback
    - size
    - planar_size
    - audio_delay_ms
    argTypes:
    - void*
    - u32*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 170
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 170
    functionName: gf_audio_input_fetch_frame
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_is_started
    - gf_mo_adjust_clock
    - gf_sc_invalidate
    - GF_LOG
    - gf_mo_release_data
    - gf_mo_fetch_data
    - gf_mo_is_buffering
    - gf_mo_get_current_speed
    - ABS
    - gf_mo_get_object_time
    - FIX2INT
    linkageType: ''
    returnType: u8*
    signature: 'static u8 *gf_audio_input_fetch_frame(void *callback, u32 *size, u32
      *planar_size, u32 audio_delay_ms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/compositor/audio_input.c:206,1
    - Dst: gf_mo_is_muted
      Src: /src/gpac/src/compositor/audio_input.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: gf_audio_input_is_muted
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_is_muted
    - gf_odm_check_buffering
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_audio_input_is_muted(void *callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_current_speed
      Src: /src/gpac/src/compositor/audio_input.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: gf_audio_input_get_speed
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_get_current_speed
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed gf_audio_input_get_speed(void *callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_input.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ai
    - compositor
    - node
    argTypes:
    - GF_AudioInput*
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: gf_sc_audio_setup
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_audio_setup(GF_AudioInput *ai, GF_Compositor
      *compositor, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/audio_input.c:269,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/audio_input.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - ai
    - url
    - clipBegin
    - clipEnd
    - lock_timeline
    argTypes:
    - GF_AudioInput*
    - MFURL*
    - Double
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: gf_sc_audio_open
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_register
    - gf_mo_play
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_audio_open(GF_AudioInput *ai, MFURL *url, Double
      clipBegin, Double clipEnd, Bool lock_timeline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_release_data
      Src: /src/gpac/src/compositor/audio_input.c:307,1
    - Dst: gf_mo_restart
      Src: /src/gpac/src/compositor/audio_input.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ai
    argTypes:
    - GF_AudioInput*
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: gf_sc_audio_restart
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_mo_restart
    - gf_mo_release_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_audio_restart(GF_AudioInput *ai) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_remove_src
      Src: /src/gpac/src/compositor/audio_input.c:340,1
    - Dst: gf_sc_ar_add_src
      Src: /src/gpac/src/compositor/audio_input.c:354,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/audio_input.c:351,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - ai
    - tr_state
    argTypes:
    - GF_AudioInput*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: gf_sc_audio_register
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sc_ar_remove_src
    - gf_sc_ar_add_src
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_audio_register(GF_AudioInput *ai, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_remove_src
      Src: /src/gpac/src/compositor/audio_input.c:367,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/audio_input.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ai
    argTypes:
    - GF_AudioInput*
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: gf_sc_audio_unregister
    functionSourceFile: /src/gpac/src/compositor/audio_input.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sc_ar_remove_src
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_audio_unregister(GF_AudioInput *ai) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:603,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:605,1
    - Dst: glValidateProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:604,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:606,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:607,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:608,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:609,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:610,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:611,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:612,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - progObj
    argTypes:
    - GF_SHADERID
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: gf_glQueryProgram
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetProgramiv
    - GL_CHECK_ERR
    - glValidateProgram
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void gf_glQueryProgram(GF_SHADERID progObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:638,1
    - Dst: glGetVertexAttribfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:646,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - progObj
    - name
    - index
    - param
    argTypes:
    - GF_SHADERID
    - char*
    - int
    - GLenum
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: gf_glQueryAttrib
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetVertexAttribfv
    - glGetAttribLocation
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_glQueryAttrib(GF_SHADERID progObj, const char *name,
      int index, GLenum param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:882,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:887,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:883,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:884,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:888,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:892,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:896,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:897,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:898,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:899,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:901,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 904
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 904
    functionName: visual_3d_reset_graphics
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - mesh_free
    - DEL_PROGRAM
    - DEL_SHADER
    - gf_list_count
    - glDeleteTextures
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_reset_graphics(GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1179,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1183,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1180,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1181,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1186,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1187,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1188,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1190,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1195,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1198,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1200,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1205,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1211
    functionName: visual_3d_setup_quality
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - glEnable
    - glHint
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_setup_quality(GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1288,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1294,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1289,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1290,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1292,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1296,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1297,1
    - Dst: visual_3d_setup_quality
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1299,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - visual
    - 'on'
    argTypes:
    - GF_VisualManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 1304
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1304
    functionName: visual_3d_set_background_state
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - visual_3d_setup_quality
    - visual_3d_enable_depth_buffer
    - glHint
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_background_state(GF_VisualManager *visual, Bool
      on) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1357,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1358,1
    - Dst: glScissor
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1358,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1358,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1358,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1358,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - visual
    - vp
    argTypes:
    - GF_VisualManager*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1363
    functionName: visual_3d_set_scissor
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - glEnable
    - FIX2INT
    - glScissor
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_scissor(GF_VisualManager *visual, GF_Rect *vp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1540,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1543
    functionName: visual_3d_reset_lights
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_reset_lights(GF_VisualManager *visual) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1842,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1864,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1851,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1863,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1853,1
    - Dst: gf_mx_apply_plane
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1867,1
    - Dst: gf_plane_get_p_vertex_idx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1868,1
    - Dst: visual_3d_draw_aabb_node
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1871,1
    - Dst: visual_3d_draw_aabb_node
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1872,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 1878
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1878
    functionName: visual_3d_do_draw_mesh
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_plane_get_p_vertex_idx
    - visual_3d_draw_aabb_node
    - gf_mx_inverse
    - glDrawElements
    - glBindBuffer
    - gf_mx_copy
    - gf_mx_apply_plane
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_do_draw_mesh(GF_TraverseState *tr_state, GF_Mesh
      *mesh) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:451,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:462,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:489,1
    - Dst: gf_gl_txw_insert_fragment_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:477,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:422,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:418,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:429,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:442,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:450,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:436,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:465,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:482,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:487,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:494,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:417,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:424,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:428,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:430,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:435,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:444,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:449,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:454,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:456,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:465,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:495,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:474,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:423,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:421,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:434,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:443,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:441,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:455,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:469,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:472,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:485,1
    - Dst: glDeleteShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:490,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:496,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 88
    argCount: 4
    argNames:
    - src_path
    - shader_type
    - flags
    - pixfmt
    argTypes:
    - char*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 499
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 499
    functionName: visual_3d_shader_with_flags
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - strcat
    - gf_file_load_data
    - gf_gl_txw_insert_fragment_shader
    - gf_realloc
    - gf_error_to_string
    - gf_strdup
    - sprintf
    - GF_LOG
    - glDeleteShader
    - glCreateShader
    - gf_free
    - visual_3d_compile_shader
    - strstr
    linkageType: ''
    returnType: GF_SHADERID
    signature: 'static GF_SHADERID visual_3d_shader_with_flags(const char *src_path,
      u32 shader_type, u32 flags, u32 pixfmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:621,1
    - Dst: glGetUniformfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:626,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - progObj
    - name
    - index
    argTypes:
    - GF_SHADERID
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: gf_glQueryUniform
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetUniformLocation
    - glGetUniformfv
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_glQueryUniform(GF_SHADERID progObj, const char *name,
      int index) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:656,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:666,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:657,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:658,1
    - Dst: glGetActiveUniform
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:664,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:667,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:670,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:673,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:676,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:679,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:682,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:701,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:705,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:695,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:692,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:687,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:698,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 1
    argNames:
    - progObj
    argTypes:
    - GF_SHADERID
    constantsTouched: []
    func_position:
      end: 706
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 706
    functionName: gf_glQueryUniforms
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - glGetUniformLocation
    - glGetProgramiv
    - gf_free
    - printf
    - glGetActiveUniform
    linkageType: ''
    returnType: void
    signature: 'static void gf_glQueryUniforms(GF_SHADERID progObj) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:715,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:718,1
    - Dst: glGetActiveAttrib
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:724,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:716,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:717,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:726,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:727,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:730,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:733,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:736,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:739,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:758,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:765,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:742,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:752,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:747,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:761,1
    - Dst: printf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:755,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 1
    argNames:
    - progObj
    argTypes:
    - GF_SHADERID
    constantsTouched: []
    func_position:
      end: 766
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 766
    functionName: gf_glQueryAttributes
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - glGetAttribLocation
    - glGetActiveAttrib
    - glGetProgramiv
    - gf_free
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void gf_glQueryAttributes(GF_SHADERID progObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glClearDepthx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1231,1
    - Dst: glClearDepth
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1238,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1260,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1264,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1273,1
    - Dst: glClear
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1218,1
    - Dst: glDepthFunc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1224,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1226,1
    - Dst: glBlendFunc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1223,1
    - Dst: glLightModelx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1232,1
    - Dst: glLightModeli
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1240,1
    - Dst: glMaterialf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1241,1
    - Dst: glShadeModel
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1247,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1246,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1261,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1268,1
    - Dst: glFrontFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1227,1
    - Dst: glMaterialx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1233,1
    - Dst: glClearDepthf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1236,1
    - Dst: glLightModeli
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1239,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1258,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1262,1
    - Dst: visual_3d_setup_quality
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1271,1
    - Dst: glClear
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1281,1
    - Dst: glCullFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1228,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1233,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1248,1
    - Dst: glBlendFunc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1234,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1253,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1259,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1263,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1282
    functionName: visual_3d_setup
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glLightModelx
    - glClearDepthf
    - glClearDepth
    - glCullFace
    - glDepthFunc
    - glClear
    - glDisable
    - glEnable
    - glClearDepthx
    - FLT2FIX
    - glFrontFace
    - glShadeModel
    - visual_3d_setup_quality
    - glMaterialf
    - glGetIntegerv
    - glBlendFunc
    - glLightModeli
    - glMaterialx
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_setup(GF_VisualManager *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1313,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1318,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1321,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1323,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - visual
    - bOn
    argTypes:
    - GF_VisualManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 1337
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1337
    functionName: visual_3d_enable_antialias
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - glEnable
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_enable_antialias(GF_VisualManager *visual, Bool bOn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glClear
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1368
    functionName: visual_3d_clear_depth
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glClear
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_clear_depth(GF_VisualManager *visual) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1564,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1581,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1593,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1606,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1629,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1668,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1646,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1649,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1632,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1703,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1562,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1588,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1682,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1614,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1670,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1656,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1691,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1703,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1732,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1674,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1681,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1671,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1683,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1720,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1735,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1744,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1675,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1621,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1602,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1616,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1693,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1727,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1731,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1743,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1745,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1591,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1611,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1684,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1688,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1715,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1742,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1650,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1582,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1598,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1603,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1612,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1640,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1689,1
    - Dst: cos
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1699,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1746,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1681,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1589,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1657,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1739,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1758,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1605,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1620,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1717,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1721,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1724,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1729,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1743,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1750,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1595,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1610,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1664,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1630,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1687,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1734,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1764,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1757,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1596,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1601,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1680,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1718,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1725,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1654,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1583,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1586,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1607,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1647,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1651,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1659,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1738,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1741,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1742,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1677,1
    - Dst: visual_3d_matrix_load
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1567,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1569,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1619,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1723,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1749,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1587,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1594,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1648,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1668,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1655,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1667,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1732,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1753,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1752,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1596,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1599,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1682,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1631,1
    - Dst: glLightx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1716,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1719,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1751,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1653,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1580,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1585,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1608,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1672,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1685,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1726,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1737,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1744,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1755,1
    - Dst: glLightfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1679,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1565,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1613,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1618,1
    - Dst: glLightxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1645,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1676,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1680,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1690,1
    - Dst: glLightf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1702,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1747,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 277
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1766
    functionName: visual_3d_set_lights
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glLightx
    - glLightxv
    - gf_mulfix
    - glLightf
    - glEnable
    - INT2FIX
    - gf_mx_add_matrix
    - visual_3d_matrix_load
    - gf_mx_init
    - glLightfv
    - gf_cos
    - cos
    - gf_divfix
    - gf_mx_copy
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_lights(GF_VisualManager *visual) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glGenBuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1894,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1905,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1903,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1896,1
    - Dst: glBufferData
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1897,1
    - Dst: glBufferData
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1906,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1914,1
    - Dst: glBufferSubData
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1920,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1923,1
    - Dst: glBufferData
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1924,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1926,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - compositor
    - mesh
    - base_address
    argTypes:
    - GF_Compositor*
    - GF_Mesh*
    - void**
    constantsTouched: []
    func_position:
      end: 1932
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1932
    functionName: visual_3d_bind_buffer
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glBindBuffer
    - glBufferSubData
    - glGenBuffers
    - glBufferData
    linkageType: ''
    returnType: Bool
    signature: 'static Bool visual_3d_bind_buffer(GF_Compositor *compositor, GF_Mesh
      *mesh, void **base_address) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glGetError
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3172,1
    - Dst: gf_rmt_begin_gl
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3171,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3192,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3199,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3218,1
    - Dst: visual_3d_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3176,1
    - Dst: visual_3d_update_matrices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3185,1
    - Dst: visual_3d_draw_normals
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3188,1
    - Dst: visual_3d_set_debug_color
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3193,1
    - Dst: visual_3d_update_matrices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3196,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3205,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3207,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3174,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3215,1
    - Dst: visual_3d_draw_bounds
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3213,1
    - Dst: gf_rmt_end_gl
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3217,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3202,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3201,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 3219
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3219
    functionName: visual_3d_mesh_paint
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisableClientState
    - glVertexPointer
    - visual_3d_draw_mesh
    - glDisable
    - glEnableClientState
    - GL_CHECK_ERR
    - GF_LOG
    - visual_3d_draw_normals
    - glDrawElements
    - visual_3d_set_debug_color
    - gf_rmt_begin_gl
    - visual_3d_draw_bounds
    - visual_3d_update_matrices
    - glGetError
    - gf_rmt_end_gl
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_mesh_paint(GF_TraverseState *tr_state, GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glColor4x
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3013,1
    - Dst: glColor4f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3015,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3013,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3013,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3013,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3015,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3015,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - col
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3020
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3020
    functionName: visual_3d_set_debug_color
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glColor4f
    - GF_COL_R
    - GF_COL_B
    - GF_COL_G
    - glColor4x
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_debug_color(u32 col) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3457,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3458,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3464,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3472,1
    - Dst: glColor3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3474,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3474,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3477,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3480,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3483,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3442,1
    - Dst: glColor4x
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3443,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3459,1
    - Dst: glColor4f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3472,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3477,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3478,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3479,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3480,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3438,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3466,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3471,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3474,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3472,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3472,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3474,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3477,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3478,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3480,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3486,1
    - Dst: glNormal3x
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3441,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3463,1
    - Dst: glNormal3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3469,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3472,1
    - Dst: glBegin
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3476,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3478,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3479,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3479,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 3
    argNames:
    - visual
    - rc
    - color
    argTypes:
    - GF_VisualManager*
    - GF_Rect
    - SFColorRGBA
    constantsTouched: []
    func_position:
      end: 3488
      start: 3432
    functionDepth: 0
    functionLinenumber: 3432
    functionLinenumberEnd: 3488
    functionName: visual_3d_fill_rect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisableClientState
    - glVertexPointer
    - glColor3f
    - glDisable
    - glEnableClientState
    - glColor4f
    - glEnable
    - glBegin
    - glVertex3f
    - glDrawElements
    - glNormal3x
    - glNormal3f
    - glColor4x
    - FIX2FLT
    - glEnd
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_fill_rect(GF_VisualManager *visual, GF_Rect rc, SFColorRGBA
      color) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_update_matrices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2695,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2835,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2858,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2869,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2889,1
    - Dst: glScalef
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2894,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2896,1
    - Dst: glClientActiveTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2904,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2972,1
    - Dst: glPopMatrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2982,1
    - Dst: glColor4f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2746,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2733,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2841,1
    - Dst: glPushMatrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2893,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2956,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3004,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2844,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2857,1
    - Dst: glMaterialxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2785,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2794,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2662,1
    - Dst: visual_3d_draw_mesh_shader_only
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2666,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2739,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2742,1
    - Dst: glColorMaterial
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2803,1
    - Dst: glLineWidth
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2929,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2764,1
    - Dst: visual_3d_set_clippers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2711,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2744,1
    - Dst: glMaterialfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2787,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2847,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2926,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2970,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2979,1
    - Dst: visual_3d_enable_fog
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2699,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2702,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2796,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2811,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2843,1
    - Dst: visual_3d_matrix_load
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2881,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2892,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2959,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2966,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2969,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2704,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2742,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2742,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2742,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2763,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2879,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2905,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2911,1
    - Dst: glNormalPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2950,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2684,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2753,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2833,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2964,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2983,1
    - Dst: glMaterialx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2792,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2867,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2720,1
    - Dst: glColor4f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2744,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2838,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2935,1
    - Dst: glFrontFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2957,1
    - Dst: visual_3d_reset_clippers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2997,1
    - Dst: glPushMatrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2718,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2731,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2832,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2837,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2968,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3001,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2762,1
    - Dst: glScalef
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2719,1
    - Dst: glColor4x
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2742,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2976,1
    - Dst: glPopMatrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2985,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2801,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2701,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2805,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2816,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2850,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2830,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2897,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2973,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2990,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2994,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2861,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2845,1
    - Dst: visual_3d_set_clipper_scissor
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2709,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2738,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2744,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2744,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2789,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2925,1
    - Dst: visual_3d_do_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2965,1
    - Dst: visual_3d_draw_mesh_shader_only
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2672,1
    - Dst: glMaterialf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2794,1
    - Dst: glLoadIdentity
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2883,1
    - Dst: glColorPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2818,1
    - Dst: visual_3d_set_lights
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2692,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2713,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2722,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2761,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2912,1
    - Dst: glNormal3x
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2919,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2923,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2924,1
    - Dst: visual_3d_reset_lights
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2992,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2744,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2663,1
    - Dst: visual_3d_bind_buffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2682,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2715,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2734,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2865,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2834,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2658,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2885,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2890,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2895,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2906,1
    - Dst: glNormal3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2921,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2981,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 294
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 3006
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 3006
    functionName: visual_3d_draw_mesh
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - glUseProgram
    - glColorPointer
    - glNormalPointer
    - glColor4f
    - GF_LOG
    - glEnable
    - visual_3d_enable_antialias
    - visual_3d_matrix_load
    - visual_3d_set_clippers
    - glMaterialf
    - glNormal3x
    - visual_3d_reset_lights
    - glNormal3f
    - glColor4x
    - FIX2FLT
    - glGetError
    - visual_3d_do_draw_mesh
    - visual_3d_set_lights
    - glTexCoordPointer
    - visual_3d_set_clipper_scissor
    - glClientActiveTexture
    - glMaterialxv
    - glColorMaterial
    - glBindBuffer
    - visual_3d_enable_fog
    - glLoadIdentity
    - visual_3d_draw_mesh_shader_only
    - glPopMatrix
    - GL_CHECK_ERR
    - glLineWidth
    - glPushMatrix
    - gf_free
    - visual_3d_reset_clippers
    - visual_3d_update_matrices
    - glMatrixMode
    - glDisableClientState
    - glVertexPointer
    - visual_3d_bind_buffer
    - glDisable
    - glEnableClientState
    - glFrontFace
    - glMaterialfv
    - FIX2INT
    - glScalef
    - glMaterialx
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_mesh(GF_TraverseState *tr_state, GF_Mesh
      *mesh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_set_debug_color
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3154,1
    - Dst: visual_3d_draw_aabb_nodeBounds
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3157,1
    - Dst: visual_3d_draw_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 3161
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3161
    functionName: visual_3d_draw_bounds
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - visual_3d_set_debug_color
    - visual_3d_draw_aabb_nodeBounds
    - visual_3d_draw_bbox
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_bounds(GF_TraverseState *tr_state, GF_Mesh
      *mesh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_set_debug_color
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3039,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3055,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3066,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3066,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3067,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3068,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3081,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3094,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3088,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3078,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3080,1
    - Dst: glBegin
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3091,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3092,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3092,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3093,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3036,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3054,1
    - Dst: visual_3d_update_matrices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3045,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3062,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3063,1
    - Dst: glBegin
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3065,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3067,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3066,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3067,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3077,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3100,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3079,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3056,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3066,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3067,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3076,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3089,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3092,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3092,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 3104
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3104
    functionName: visual_3d_draw_normals
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisableClientState
    - glEnd
    - glVertexPointer
    - glVertex3f
    - glBegin
    - glEnableClientState
    - gf_vec_add
    - gf_vec_scale
    - glDrawElements
    - visual_3d_set_debug_color
    - visual_3d_update_matrices
    - FIX2FLT
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_normals(GF_TraverseState *tr_state, GF_Mesh
      *mesh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glLoadIdentity
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1432,1
    - Dst: glLoadMatrixf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1441,1
    - Dst: glLoadMatrixf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1439,1
    - Dst: glLoadMatrixx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1436,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - visual
    - mat
    argTypes:
    - GF_VisualManager*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1443
    functionName: visual_3d_matrix_load
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glLoadMatrixx
    - FIX2FLT
    - glLoadIdentity
    - glLoadMatrixf
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_matrix_load(GF_VisualManager *visual, Fixed
      *mat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_draw_aabb_nodeBounds
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3111,1
    - Dst: visual_3d_draw_aabb_nodeBounds
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3112,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3118,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3117,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3116,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3120,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3121,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3122,1
    - Dst: visual_3d_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3124,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tr_state
    - node
    argTypes:
    - GF_TraverseState*
    - AABBNode*
    constantsTouched: []
    func_position:
      end: 3128
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3128
    functionName: visual_3d_draw_aabb_nodeBounds
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_add_translation
    - gf_mx_add_scale
    - visual_3d_draw_mesh
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    - gf_mx_copy
    - visual_3d_draw_aabb_nodeBounds
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw_aabb_nodeBounds(GF_TraverseState *tr_state, AABBNode
      *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3380,1
    - Dst: glLineWidth
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3383,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3409,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3383,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3411,1
    - Dst: glLineStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3412,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3413,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3414,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3417,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 5
    argNames:
    - tr_state
    - mesh
    - width
    - line_scale
    - dash_style
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    - Fixed
    - Fixed
    - u32
    constantsTouched: []
    func_position:
      end: 3418
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3418
    functionName: visual_3d_mesh_strike
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - gf_mulfix
    - glLineWidth
    - glEnable
    - glLineStipple
    - visual_3d_mesh_paint
    - FIX2INT
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_mesh_strike(GF_TraverseState *tr_state, GF_Mesh *mesh,
      Fixed width, Fixed line_scale, u32 dash_style) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4011
    functionName: compositor_3d_get_fbo_pixfmt
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 compositor_3d_get_fbo_pixfmt() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1451,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1453,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1457,1
    - Dst: visual_3d_matrix_load
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1452,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1456,1
    - Dst: visual_3d_matrix_load
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1459
    functionName: visual_3d_update_matrices
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_add_matrix
    - gf_mx_copy
    - glMatrixMode
    - visual_3d_matrix_load
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_update_matrices(GF_TraverseState *tr_state) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2105,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2109,1
    - Dst: glUniform3fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2111,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2107,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2113,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2115,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2117,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2119,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2121,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2123,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2125,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2127,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2131
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2131
    functionName: visual_3d_set_fog_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - GL_CHECK_ERR
    - glUniform1f
    - glGetUniformLocation
    - glUniform1i
    - glUniform3fv
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_fog_shaders(GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_set_debug_color
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3136,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3146,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3145,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3144,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3139,1
    - Dst: visual_3d_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3148,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - tr_state
    - box
    - is_debug
    argTypes:
    - GF_TraverseState*
    - GF_BBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 3150
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3150
    functionName: visual_3d_draw_bbox
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_add_scale
    - visual_3d_draw_mesh
    - gf_vec_diff
    - visual_3d_set_debug_color
    - gf_mx_copy
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw_bbox(GF_TraverseState *tr_state, GF_BBox *box,
      Bool is_debug) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:4016,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:4018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - enable
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 4021
      start: 4013
    functionDepth: 0
    functionLinenumber: 4013
    functionLinenumberEnd: 4021
    functionName: compositor_3d_enable_fbo
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - glBindFramebuffer
    linkageType: ''
    returnType: void
    signature: 'void compositor_3d_enable_fbo(GF_Compositor *compositor, Bool enable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glTexImage2D
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3955,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3960,1
    - Dst: glFramebufferTexture2D
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3961,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3983,1
    - Dst: glRenderbufferStorage
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3970,1
    - Dst: glCheckFramebufferStatus
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3974,1
    - Dst: glGenFramebuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3958,1
    - Dst: glBindRenderbuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3966,1
    - Dst: glGenRenderbuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3944,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3951,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3952,1
    - Dst: glGenTextures
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3948,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3950,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3953,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3954,1
    - Dst: glRenderbufferStorage
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3968,1
    - Dst: glFramebufferRenderbuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3972,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3979,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - width
    - height
    - fbo_id
    - tx_id
    - depth_id
    argTypes:
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 3987
      start: 3941
    functionDepth: 0
    functionLinenumber: 3941
    functionLinenumberEnd: 3987
    functionName: compositor_3d_setup_fbo
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGenFramebuffers
    - glBindFramebuffer
    - glRenderbufferStorage
    - glBindTexture
    - glTexParameteri
    - glTexImage2D
    - GF_LOG
    - glFramebufferRenderbuffer
    - glCheckFramebufferStatus
    - glGenRenderbuffers
    - glFramebufferTexture2D
    - glGenTextures
    - glBindRenderbuffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_3d_setup_fbo(u32 width, u32 height, u32 *fbo_id,
      u32 *tx_id, u32 *depth_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:362,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:366,1
    - Dst: glShaderSource
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:363,1
    - Dst: glCompileShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:364,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:368,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:370,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:372,1
    - Dst: glGetShaderInfoLog
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:374,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:378,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - shader_id
    - name
    - source
    argTypes:
    - GF_SHADERID
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 384
    functionName: visual_3d_compile_shader
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - glCompileShader
    - glShaderSource
    - glGetShaderiv
    - GF_LOG
    - glGetInfoLogARB
    - glGetShaderInfoLog
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_compile_shader(GF_SHADERID shader_id, const char *name,
      const char *source) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_shader_with_flags
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:796,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:800,1
    - Dst: glAttachShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:798,1
    - Dst: glGetProgramInfoLog
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:818,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:783,1
    - Dst: visual_3d_shader_with_flags
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:788,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:807,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:805,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:799,1
    - Dst: glLinkProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:809,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:822,1
    - Dst: glCreateProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:780,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:782,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:789,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:790,1
    - Dst: glAttachShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:806,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:810,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:816,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:820,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:825,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:774,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:801,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:812,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:819,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - visual
    - flags
    - pix_fmt
    argTypes:
    - GF_VisualManager*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 827
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 827
    functionName: visual_3d_build_program
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glAttachShader
    - DEL_PROGRAM
    - DEL_SHADER
    - GL_CHECK_ERR
    - GF_LOG
    - glLinkProgram
    - visual_3d_shader_with_flags
    - glCreateProgram
    - glGetProgramInfoLog
    - glGetProgramiv
    - GF_SAFEALLOC
    - gf_free
    - glGetError
    linkageType: ''
    returnType: GF_GLProgInstance*
    signature: 'static GF_GLProgInstance *visual_3d_build_program(GF_VisualManager
      *visual, u32 flags, u32 pix_fmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:912,1
    - Dst: glScissor
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:929,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:931,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 934
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 934
    functionName: visual_3d_set_clipper_scissor
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - glEnable
    - glScissor
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_clipper_scissor(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:973,1
    - Dst: glGenTextures
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:974,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:999,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1000,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:998,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1001,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1005,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1017,1
    - Dst: visual_3d_init_stereo_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1019,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1023
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1023
    functionName: visual_3d_init_autostereo
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - mesh_new_rectangle
    - INT2FIX
    - GF_LOG
    - new_mesh
    - visual_3d_init_stereo_shaders
    - glGenTextures
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err visual_3d_init_autostereo(GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1342,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - visual
    - 'on'
    argTypes:
    - GF_VisualManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 1346
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1346
    functionName: visual_3d_enable_depth_buffer
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    - glEnable
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_enable_depth_buffer(GF_VisualManager *visual, Bool
      on) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bbox_get_vertices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1379,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1384,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1389,1
    - Dst: visual_3d_draw_aabb_node
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1398,1
    - Dst: visual_3d_draw_aabb_node
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1399,1
    - Dst: PTR_TO_U_CAST
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1411,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1415,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1417,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 7
    argNames:
    - tr_state
    - mesh
    - prim_type
    - fplanes
    - p_indices
    - n
    - idx_addr
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    - u32
    - GF_Plane*
    - u32*
    - AABBNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1420
    functionName: visual_3d_draw_aabb_node
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_bbox_get_vertices
    - visual_3d_draw_aabb_node
    - PTR_TO_U_CAST
    - glDrawElements
    - gf_plane_get_distance
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_aabb_node(GF_TraverseState *tr_state, GF_Mesh
      *mesh, u32 prim_type, GF_Plane *fplanes, u32 *p_indices, AABBNode *n, void *idx_addr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1471,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1472,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1487,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1489,1
    - Dst: visual_3d_matrix_load
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1485,1
    - Dst: gf_mx_apply_plane
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1491,1
    - Dst: glClipPlanex
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1499,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1501,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1502,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1503,1
    - Dst: glClipPlanef
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1507,1
    - Dst: glClipPlane
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1509,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1504,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1513,1
    - Dst: visual_3d_update_matrices
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1522
    functionName: visual_3d_set_clippers
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glClipPlanex
    - gf_mx_inverse
    - glClipPlanef
    - glClipPlane
    - glEnable
    - gf_mx_add_matrix
    - visual_3d_matrix_load
    - visual_3d_update_matrices
    - gf_mx_copy
    - FIX2FLT
    - gf_mx_apply_plane
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_clippers(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_load_matrix_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1943,1
    - Dst: visual_3d_load_matrix_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1949,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1948,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1950
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1950
    functionName: visual_3d_update_matrices_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_copy
    - visual_3d_load_matrix_shaders
    - gf_mx_add_matrix
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_update_matrices_shaders(GF_TraverseState *tr_state) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: glGetString
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:79,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:83,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:94,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:104,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:106,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:114,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:121,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:136,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:177,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:90,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:92,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:98,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:106,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:121,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:100,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:126,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:182,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:84,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:90,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:98,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:151,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:167,1
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:88,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:81,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:90,1
    - Dst: CHECK_GL_EXT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:96,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:134,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 95
    argCount: 2
    argNames:
    - compositor
    - has_gl_context
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 187
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 187
    functionName: gf_sc_load_opengl_extensions
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - memset
    - glGetString
    - GF_LOG
    - CHECK_GL_EXT
    - gf_opts_set_key
    - gf_file_exists
    - glGetIntegerv
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_load_opengl_extensions(GF_Compositor *compositor, Bool
      has_gl_context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_load_data
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:393,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:393,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:396,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:395,1
    - Dst: glDeleteShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:397,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - src_path
    - shader_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: visual_3d_shader_from_source_file
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_file_load_data
    - gf_error_to_string
    - GF_LOG
    - glDeleteShader
    - glCreateShader
    - gf_free
    - visual_3d_compile_shader
    linkageType: ''
    returnType: GF_SHADERID
    signature: 'static GF_SHADERID visual_3d_shader_from_source_file(const char *src_path,
      u32 shader_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:832,1
    - Dst: glDeleteShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:843,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:834,1
    - Dst: visual_3d_build_program
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:840,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:836,1
    - Dst: glDeleteShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:844,1
    - Dst: glDeleteProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:845,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 848
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 848
    functionName: visual_3d_init_generic_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - visual_3d_build_program
    - glDeleteShader
    - gf_free
    - glDeleteProgram
    - gf_file_exists
    linkageType: ''
    returnType: Bool
    signature: 'static Bool visual_3d_init_generic_shaders(GF_VisualManager *visual) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1046,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1047,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1067,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1075,1
    - Dst: glViewport
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1078,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1093,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1124,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1130,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1120,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1134,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1109,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1145,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1138,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1143,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1164,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1168,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1039,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1052,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1063,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1070,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1074,1
    - Dst: gf_mx_ortho
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1087,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1101,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1100,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1110,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1116,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1125,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1154,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1161,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1132,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1148,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1098,1
    - Dst: glFlush
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1034,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1048,1
    - Dst: glTexEnvf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1049,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1053,1
    - Dst: glCopyTexImage2D
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1059,1
    - Dst: glClear
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1066,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1055,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1054,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1071,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1084,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1117,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1155,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1165,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1112,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1126,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1157,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1162,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1123,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1042,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1036,1
    - Dst: glTexParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1045,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1050,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1060,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1056,1
    - Dst: visual_3d_load_matrix_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1088,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1094,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1103,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1106,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1136,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1153,1
    - Dst: glTexEnvf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 97
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1171
    functionName: visual_3d_end_auto_stereo_pass
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glUseProgram
    - glBindTexture
    - glTexParameteri
    - glEnable
    - INT2FIX
    - glUniform1i
    - glDisableVertexAttribArray
    - glFlush
    - glActiveTexture
    - glEnableVertexAttribArray
    - glTexEnvf
    - glGetAttribLocation
    - glViewport
    - GL_CHECK_ERR
    - sprintf
    - glCopyTexImage2D
    - glDrawElements
    - visual_3d_load_matrix_shaders
    - glVertexAttribPointer
    - gf_mx_ortho
    - glClear
    - glPixelStorei
    - glDisable
    - glGetUniformLocation
    - glTexParameterf
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_end_auto_stereo_pass(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glViewport
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1350,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1350,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1350,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1350,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - visual
    - vp
    argTypes:
    - GF_VisualManager*
    - GF_Rect
    constantsTouched: []
    func_position:
      end: 1351
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1351
    functionName: visual_3d_set_viewport
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glViewport
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_viewport(GF_VisualManager *visual, GF_Rect vp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1532
    functionName: visual_3d_reset_clippers
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisable
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_reset_clippers(GF_VisualManager *visual) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1980,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1982,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1985,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1997,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2013,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2015,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2019,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2022,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2030,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2036,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2038,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2052,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2071,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2091,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2086,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2050,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2073,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2085,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2060,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2081,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1963,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1971,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1966,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1996,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2014,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2018,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2029,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2035,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2037,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2053,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2055,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2069,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2088,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2061,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2098,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2096,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1974,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1979,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1981,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2001,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2006,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2000,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1993,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1986,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2023,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2025,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2042,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2066,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2068,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2093,1
    - Dst: glUniform3fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2057,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2064,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2089,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2076,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1973,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1965,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2004,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2016,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2020,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2031,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2041,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2054,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2082,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2092,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2074,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2044,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2059,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2063,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2095,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2083,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 173
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 2099
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 2099
    functionName: visual_3d_set_lights_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_vec_diff
    - GL_CHECK_ERR
    - sprintf
    - glUniform4fv
    - gf_mx_add_matrix
    - glUniform1f
    - glGetUniformLocation
    - gf_vec_norm
    - gf_mx_init
    - glUniform1i
    - glUniform3fv
    - gf_mx_copy
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_lights_shaders(GF_TraverseState *tr_state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2189,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2191,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2199,1
    - Dst: visual_3d_build_program
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - root_visual
    - flags
    - pix_fmt
    argTypes:
    - GF_VisualManager*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2202
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2202
    functionName: visual_3d_check_program_exists
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_list_get
    - visual_3d_build_program
    linkageType: ''
    returnType: GF_GLProgInstance*
    signature: 'GF_GLProgInstance *visual_3d_check_program_exists(GF_VisualManager
      *root_visual, u32 flags, u32 pix_fmt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: glNormal3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3327,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3326,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3338,1
    - Dst: glPolygonStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3347,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3368,1
    - Dst: glNormalPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3331,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3335,1
    - Dst: glPolygonStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3356,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3343,1
    - Dst: glPolygonStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3350,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3365,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3328,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3324,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3330,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3362,1
    - Dst: glDrawElements
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3366,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3323,1
    - Dst: glFrontFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3336,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3342,1
    - Dst: glColor3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3365,1
    - Dst: glPolygonStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3353,1
    - Dst: glPolygonStipple
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3359,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3365,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - tr_state
    - mesh
    - hatchStyle
    - hatchColor
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    - u32
    - SFColor
    constantsTouched: []
    func_position:
      end: 3369
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3369
    functionName: visual_3d_mesh_hatch
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDisableClientState
    - glVertexPointer
    - glPixelStorei
    - glDisable
    - glEnableClientState
    - glNormalPointer
    - glEnable
    - glColor3f
    - glFrontFace
    - glDrawElements
    - glNormal3f
    - glPolygonStipple
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_mesh_hatch(GF_TraverseState *tr_state, GF_Mesh *mesh,
      u32 hatchStyle, SFColor hatchColor) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3737,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3776,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3854,1
    - Dst: glColor3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3851,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3886,1
    - Dst: visual_3d_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3932,1
    - Dst: visual_3d_disable_texture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3933,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3879,1
    - Dst: glDepthMask
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3719,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3724,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3779,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3789,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3795,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3842,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3852,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3921,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3852,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3731,1
    - Dst: glDepthMask
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3758,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3890,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3876,1
    - Dst: gf_sc_texture_get_data
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3912,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3812,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3842,1
    - Dst: glPointParameterf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3722,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3723,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3728,1
    - Dst: gf_sc_texture_get_data
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3768,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3909,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3808,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3778,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3922,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3842,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3731,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3751,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3842,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3796,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3860,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3880,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3896,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3751,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3756,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3783,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3795,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3890,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3879,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3737,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3873,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3732,1
    - Dst: glBegin
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3734,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3900,1
    - Dst: glPointParameterfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3721,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3764,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3775,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3788,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3822,1
    - Dst: glColor3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3841,1
    - Dst: glColor4f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3750,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3751,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3819,1
    - Dst: glEnd
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3857,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3890,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3788,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3777,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3785,1
    - Dst: glBegin
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3837,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3931,1
    - Dst: glColor3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3870,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3891,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3852,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3887,1
    - Dst: gf_sc_texture_get_data
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3712,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3738,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3751,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3752,1
    - Dst: glDepthMask
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3774,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3780,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3886,1
    - Dst: glPointSize
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3718,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3754,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3897,1
    - Dst: glVertex3f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3852,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 295
    argCount: 4
    argNames:
    - visual
    - stack
    - txh
    - tr_state
    argTypes:
    - GF_VisualManager*
    - Drawable*
    - GF_TextureHandler*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 3937
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3937
    functionName: visual_3d_point_sprite
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - visual_3d_disable_texture
    - glDepthMask
    - glColor4f
    - glEnable
    - INT2FIX
    - gf_divfix
    - FIX2FLT
    - mesh_set_triangle
    - glVertex3f
    - glColor3f
    - visual_3d_draw_mesh
    - FLT2FIX
    - glEnd
    - glBegin
    - mesh_set_vertex
    - gf_sc_texture_enable
    - glPointSize
    - gf_sc_texture_get_data
    - glDisable
    - gf_mulfix
    - new_mesh
    - glPointParameterf
    - glPointParameterfv
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_point_sprite(GF_VisualManager *visual, Drawable *stack,
      GF_TextureHandler *txh, GF_TraverseState *tr_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2143,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2147,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2149,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2146,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2144,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2151,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2160,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2162,1
    - Dst: gf_mx_apply_plane
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2165,1
    - Dst: gf_mx_apply_plane
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2167,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2170,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2171,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 2180
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2180
    functionName: visual_3d_set_clippers_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_inverse
    - sprintf
    - glUniform4fv
    - gf_mx_add_matrix
    - glGetUniformLocation
    - glUniform1i
    - gf_mx_copy
    - gf_mx_apply_plane
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_set_clippers_shaders(GF_VisualManager *visual,
      GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - glsl_program
    - attrib_name
    argTypes:
    - GF_SHADERID
    - char*
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: gf_glGetAttribLocation
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetAttribLocation
    - GF_LOG
    linkageType: ''
    returnType: GLint
    signature: 'static GLint gf_glGetAttribLocation(GF_SHADERID glsl_program, const
      char *attrib_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:947,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:956,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:949,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:952,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:955,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:958,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - program
    - mat
    - name
    argTypes:
    - GF_SHADERID
    - Fixed*
    - char*
    constantsTouched: []
    func_position:
      end: 961
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 961
    functionName: visual_3d_load_matrix_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glUniformMatrix4fv
    - GL_CHECK_ERR
    - GF_LOG
    - glGetUniformLocation
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_load_matrix_shaders(GF_SHADERID program, Fixed
      *mat, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - glsl_program
    - uniform_name
    argTypes:
    - GF_SHADERID
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: gf_glGetUniformLocation
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetUniformLocation
    - GF_LOG
    linkageType: ''
    returnType: GLint
    signature: 'static GLint gf_glGetUniformLocation(GF_SHADERID glsl_program, const
      char *uniform_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3672,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3678,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3676,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3675,1
    - Dst: glGetTexImage
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3677,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3681,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3684,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3685,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3686,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3688,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - compositor
    - fb
    - view_idx
    - depth_dump_mode
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3693
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3693
    functionName: compositor_3d_get_offscreen_buffer
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - glBindTexture
    - glDisable
    - glEnable
    - memcpy
    - glGetTexImage
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_3d_get_offscreen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *fb, u32 view_idx, u32 depth_dump_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3993,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:4002,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3994,1
    - Dst: glDeleteRenderbuffers
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3998,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - fbo_id
    - fbo_tx_id
    - fbo_depth_id
    - keep_tx_id
    argTypes:
    - u32*
    - u32*
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 4006
      start: 3989
    functionDepth: 0
    functionLinenumber: 3989
    functionLinenumberEnd: 4006
    functionName: compositor_3d_delete_fbo
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glDeleteFramebuffers
    - glBindFramebuffer
    - glDeleteTextures
    - glDeleteRenderbuffers
    linkageType: ''
    returnType: void
    signature: 'void compositor_3d_delete_fbo(u32 *fbo_id, u32 *fbo_tx_id, u32 *fbo_depth_id,
      Bool keep_tx_id) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: glCreateProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:509,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:513,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:524,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:551,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:532,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:564,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:520,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:523,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:531,1
    - Dst: glAttachShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:547,1
    - Dst: visual_3d_shader_from_source_file
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:540,1
    - Dst: glGetProgramInfoLog
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:556,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:557,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:560,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:519,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:514,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:528,1
    - Dst: visual_3d_compile_shader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:536,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:527,1
    - Dst: glAttachShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:548,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:555,1
    - Dst: glLinkProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:549,1
    - Dst: glCreateShader
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:535,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 568
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 568
    functionName: visual_3d_init_stereo_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glAttachShader
    - GL_CHECK_ERR
    - GF_LOG
    - glLinkProgram
    - glCreateProgram
    - glGetProgramInfoLog
    - glGetProgramiv
    - glCreateShader
    - visual_3d_compile_shader
    - visual_3d_shader_from_source_file
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_init_stereo_shaders(GF_VisualManager *visual) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3537,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3644,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3626,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3616,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3646,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3530,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3573,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3624,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3615,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3628,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3513,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3574,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3645,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3527,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3531,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3545,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3560,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3597,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 137
    argCount: 3
    argNames:
    - compositor
    - fb
    - depth_dump_mode
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    - u32
    constantsTouched: []
    func_position:
      end: 3650
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3650
    functionName: compositor_3d_get_screen_buffer
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - compositor_3d_enable_fbo
    - gf_realloc
    - glReadPixels
    - GF_LOG
    - memcpy
    - gf_free
    - FIX2FLT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_3d_get_screen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *fb, u32 depth_dump_mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_init_generic_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:860,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:868,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: visual_3d_init_shaders
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - gf_sc_reset_graphics
    - gf_sc_next_frame_state
    - visual_3d_init_generic_shaders
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_init_shaders(GF_VisualManager *visual) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1780,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1790,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1802,1
    - Dst: glFogfv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1809,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1810,1
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1779,1
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1776,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1803,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1802,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1775,1
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1778,1
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1777,1
    - Dst: glFogx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1781,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1794,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1795,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1804,1
    - Dst: glFogxv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1786,1
    - Dst: glHint
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1787,1
    - Dst: glFogf
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1793,1
    - Dst: glFogi
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1797,1
    - Dst: glFogi
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1799,1
    - Dst: glFogi
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1798,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1804,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1805,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1806,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:1807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1815
    functionName: visual_3d_enable_fog
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glFogf
    - glFogx
    - glFogxv
    - glFogi
    - glEnable
    - glFogfv
    - FIX2FLT
    - glHint
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_enable_fog(GF_VisualManager *visual) '
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2319,1
    - Dst: visual_3d_set_fog_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2419,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2402,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2366,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2353,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2437,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2503,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2607,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2630,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2301,1
    - Dst: visual_3d_set_clipper_scissor
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2294,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2461,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2480,1
    - Dst: glFrontFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2520,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2586,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2592,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2601,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2608,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2573,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2379,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2265,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2303,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2312,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2339,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2609,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2307,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2313,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2334,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2340,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2475,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2560,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2579,1
    - Dst: glUniform3fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2580,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2610,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2614,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2462,1
    - Dst: visual_3d_update_matrices_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2276,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2285,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2304,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2321,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2385,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2411,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2452,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2351,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2415,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2365,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2308,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2446,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2269,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2281,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2328,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2347,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2459,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2468,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2549,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2554,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2395,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2413,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2440,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2527,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2559,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2572,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2585,1
    - Dst: visual_3d_load_matrix_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2435,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2407,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2430,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2274,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2382,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2523,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2605,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2616,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2266,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2302,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2354,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2335,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2344,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2368,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2326,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2557,1
    - Dst: visual_3d_set_clippers_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2297,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2290,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2409,1
    - Dst: visual_3d_set_lights_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2451,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2425,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2464,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2494,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2502,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2506,1
    - Dst: glLineWidth
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2509,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2390,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2427,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2321,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2346,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2376,1
    - Dst: gf_mx_transpose
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2433,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2583,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2589,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2632,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2442,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2332,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2474,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2535,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2570,1
    - Dst: visual_3d_check_program_exists
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2254,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2288,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2310,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2337,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2367,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2428,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2397,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2492,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2546,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2444,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2450,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2262,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2467,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2552,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2588,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2593,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2620,1
    - Dst: visual_3d_bind_buffer
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2268,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2286,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2476,1
    - Dst: glUniform4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2548,1
    - Dst: visual_3d_do_draw_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2599,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2628,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2615,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2448,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2393,1
    - Dst: glUniform1f
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2395,1
    - Dst: glUniform1i
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2465,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2472,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2516,1
    - Dst: glFrontFace
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2518,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2551,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2556,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2582,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:2631,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 392
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2633
    functionName: visual_3d_draw_mesh_shader_only
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glUseProgram
    - visual_3d_check_program_exists
    - glEnable
    - gf_mx_init
    - glUniform1i
    - glDisableVertexAttribArray
    - gf_mx_copy
    - FIX2FLT
    - visual_3d_do_draw_mesh
    - gf_mx_inverse
    - visual_3d_set_fog_shaders
    - visual_3d_set_lights_shaders
    - visual_3d_set_clipper_scissor
    - glUniform4fv
    - gf_mx_add_matrix
    - glEnableVertexAttribArray
    - glBindBuffer
    - glUniform3fv
    - gf_assert
    - gf_mx_transpose
    - glGetAttribLocation
    - glUniformMatrix4fv
    - GL_CHECK_ERR
    - glLineWidth
    - visual_3d_update_matrices_shaders
    - glVertexAttribPointer
    - visual_3d_load_matrix_shaders
    - visual_3d_bind_buffer
    - glDisable
    - glUniform1f
    - glFrontFace
    - glGetUniformLocation
    - visual_3d_set_clippers_shaders
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_mesh_shader_only(GF_TraverseState *tr_state,
      GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - framebuffer
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    constantsTouched: []
    func_position:
      end: 3656
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3656
    functionName: compositor_3d_release_screen_buffer
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_3d_release_screen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *framebuffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glGetError
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:4025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 4026
      start: 4023
    functionDepth: 0
    functionLinenumber: 4023
    functionLinenumberEnd: 4026
    functionName: visual_3d_clean_state
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glGetError
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_clean_state(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glClearColorx
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3424,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3426,1
    - Dst: glClearColor
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3426,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3426,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3426,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3426,1
    - Dst: glClear
      Src: /src/gpac/src/compositor/visual_manager_3d_gl.c:3428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - visual
    - color
    - alpha
    argTypes:
    - GF_VisualManager*
    - SFColor
    - Fixed
    constantsTouched: []
    func_position:
      end: 3429
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3429
    functionName: visual_3d_clear
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d_gl.c
    functionUses: []
    functionsReached:
    - glClearColor
    - FIX2FLT
    - glClearColorx
    - glClear
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_clear(GF_VisualManager *visual, SFColor color, Fixed
      alpha) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/svg_filters.c:203,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_filters.c:206,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_filters.c:224,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_filters.c:267,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_filters.c:283,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_filters.c:285,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_filters.c:289,1
    - Dst: drawable_reset_bounds
      Src: /src/gpac/src/compositor/svg_filters.c:326,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:368,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:370,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:372,1
    - Dst: svg_filter_apply
      Src: /src/gpac/src/compositor/svg_filters.c:383,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_filters.c:401,1
    - Dst: visual_3d_draw_from_context
      Src: /src/gpac/src/compositor/svg_filters.c:392,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_filters.c:207,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_filters.c:216,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/svg_filters.c:217,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_filters.c:249,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/svg_filters.c:247,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_filters.c:299,1
    - Dst: gf_node_allow_cyclic_traverse
      Src: /src/gpac/src/compositor/svg_filters.c:321,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_filters.c:322,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/svg_filters.c:348,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/svg_filters.c:389,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_filters.c:381,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_filters.c:231,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/svg_filters.c:263,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_filters.c:266,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/svg_filters.c:255,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/compositor/svg_filters.c:270,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/svg_filters.c:354,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_filters.c:364,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:367,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:369,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:371,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/svg_filters.c:390,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_filters.c:400,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:373,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_filters.c:202,1
    - Dst: gf_node_allow_cyclic_traverse
      Src: /src/gpac/src/compositor/svg_filters.c:209,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_filters.c:212,1
    - Dst: gf_rect_ft
      Src: /src/gpac/src/compositor/svg_filters.c:220,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/svg_filters.c:253,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_filters.c:284,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_filters.c:286,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/svg_filters.c:336,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/svg_filters.c:351,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_filters.c:399,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:374,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 170
    argCount: 3
    argNames:
    - filter
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 402
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 402
    functionName: svg_draw_filter
    functionSourceFile: /src/gpac/src/compositor/svg_filters.c
    functionUses: []
    functionsReached:
    - gf_node_allow_cyclic_traverse
    - memset
    - gf_svg_flatten_attributes
    - gf_mx2d_apply_rect
    - gf_rect_pixelize
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_rect_ft
    - visual_3d_draw_from_context
    - gf_divfix
    - gf_evg_surface_new
    - gf_mx2d_copy
    - gf_node_traverse
    - gf_evg_surface_delete
    - gf_mx2d_init
    - drawable_reset_bounds
    - gf_path_add_rect_center
    - gf_assert
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - svg_filter_apply
    - gf_node_get_private
    - gf_realloc
    - drawable_finalize_sort
    - gf_mulfix
    - gf_evg_surface_attach_to_buffer
    - mesh_from_path
    - drawable_init_context_svg
    - new_mesh
    - gf_sc_texture_push_image
    - gf_path_reset
    linkageType: ''
    returnType: void
    signature: 'void svg_draw_filter(GF_Node *filter, GF_Node *node, GF_TraverseState
      *tr_state) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/compositor/svg_filters.c:116,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/svg_filters.c:116,1
    - Dst: pow
      Src: /src/gpac/src/compositor/svg_filters.c:123,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:134,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:140,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_filters.c:128,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/svg_filters.c:141,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_filters.c:136,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/svg_filters.c:141,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_filters.c:123,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_filters.c:123,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/svg_filters.c:124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_filters.c:139,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_filters.c:138,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_filters.c:129,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/svg_filters.c:160,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/svg_filters.c:160,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_filters.c:91,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:123,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:140,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_filters.c:145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_filters.c:146,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_filters.c:158,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:123,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/svg_filters.c:124,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_filters.c:150,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 138
    argCount: 3
    argNames:
    - node
    - source
    - region
    argTypes:
    - GF_Node*
    - GF_TextureHandler*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 167
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 167
    functionName: apply_feComponentTransfer
    functionSourceFile: /src/gpac/src/compositor/svg_filters.c
    functionUses: []
    functionsReached:
    - pow
    - gf_list_get
    - MIN
    - gf_node_get_tag
    - gf_mulfix
    - gf_list_count
    - INT2FIX
    - FLT2FIX
    - FIX2INT
    - FIX2FLT
    - MAX
    linkageType: ''
    returnType: void
    signature: 'void apply_feComponentTransfer(GF_Node *node, GF_TextureHandler *source,
      GF_Rect *region) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_filters.c:407,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/svg_filters.c:413,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_filters.c:409,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/svg_filters.c:412,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_filters.c:410,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_filters.c:414,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/svg_filters.c:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 423
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 423
    functionName: svg_traverse_filter
    functionSourceFile: /src/gpac/src/compositor/svg_filters.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release
    - gf_node_get_private
    - drawable_del
    - visual_2d_texture_path
    - gf_free
    - gf_sc_texture_destroy
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_filter(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_filters.c:428,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/svg_filters.c:437,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_filters.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_filters.c:430,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_filters.c:434,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_filters.c:438,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/svg_filters.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: compositor_init_svg_filter
    functionSourceFile: /src/gpac/src/compositor/svg_filters.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_new
    - gf_sc_texture_allocate
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_filter(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_filters.c:174,1
    - Dst: apply_feComponentTransfer
      Src: /src/gpac/src/compositor/svg_filters.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - node
    - source
    - region
    argTypes:
    - GF_Node*
    - GF_TextureHandler*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: svg_filter_apply
    functionSourceFile: /src/gpac/src/compositor/svg_filters.c
    functionUses: []
    functionsReached:
    - apply_feComponentTransfer
    - gf_node_get_tag
    linkageType: ''
    returnType: void
    signature: 'void svg_filter_apply(GF_Node *node, GF_TextureHandler *source, GF_Rect
      *region) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:87,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:88,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - mesh
    - tri_idx
    - axis
    argTypes:
    - GF_Mesh*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: tri_get_center
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Fixed tri_get_center(GF_Mesh *mesh, u32 tri_idx, u32
      axis) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:140,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:151,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:151,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:152,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:154,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:157,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:154,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:158,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:155,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:157,1
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/mesh_collide.c:207,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:200,1
    - Dst: gf_vec_main_axis
      Src: /src/gpac/src/compositor/mesh_collide.c:142,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:141,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:180,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:192,1
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/mesh_collide.c:195,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:204,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:207,1
    - Dst: gf_vec_main_axis
      Src: /src/gpac/src/compositor/mesh_collide.c:208,1
    - Dst: mesh_subdivide_aabbtree
      Src: /src/gpac/src/compositor/mesh_collide.c:239,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mesh_collide.c:226,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:163,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:195,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:203,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:209,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:202,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mesh_collide.c:234,1
    - Dst: mesh_subdivide_aabbtree
      Src: /src/gpac/src/compositor/mesh_collide.c:231,1
    - Dst: update_node_bounds
      Src: /src/gpac/src/compositor/mesh_collide.c:238,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:150,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:146,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:151,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:153,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:157,1
    - Dst: aabb_split
      Src: /src/gpac/src/compositor/mesh_collide.c:156,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh_collide.c:154,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:191,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:193,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:201,1
    - Dst: update_node_bounds
      Src: /src/gpac/src/compositor/mesh_collide.c:230,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:205,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 160
    argCount: 3
    argNames:
    - mesh
    - node
    - aab_par
    argTypes:
    - GF_Mesh*
    - AABBNode*
    - AABSplitParams*
    constantsTouched: []
    func_position:
      end: 242
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 242
    functionName: mesh_subdivide_aabbtree
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - update_node_bounds
    - tri_get_center
    - gf_vec_diff
    - gf_mulfix
    - gf_vec_scale
    - INT2FIX
    - aabb_split
    - gf_invfix
    - mesh_subdivide_aabbtree
    - gf_divfix
    - gf_vec_main_axis
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void mesh_subdivide_aabbtree(GF_Mesh *mesh, AABBNode *node,
      AABSplitParams *aab_par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:281,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:286,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:288,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:282,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:284,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:290,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:290,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:292,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:294,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ray
    - v0
    - v1
    - v2
    - u
    - v
    argTypes:
    - GF_Ray*
    - GF_Vec*
    - GF_Vec*
    - GF_Vec*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: ray_hit_triangle_get_u_v
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_cross
    - gf_divfix
    linkageType: ''
    returnType: void
    signature: 'static void ray_hit_triangle_get_u_v(GF_Ray *ray, GF_Vec *v0, GF_Vec
      *v1, GF_Vec *v2, Fixed *u, Fixed *v) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mesh_aabb_ray_hit
      Src: /src/gpac/src/compositor/mesh_collide.c:374,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:401,1
    - Dst: gf_ray_hit_triangle
      Src: /src/gpac/src/compositor/mesh_collide.c:387,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:400,1
    - Dst: gf_ray_hit_box
      Src: /src/gpac/src/compositor/mesh_collide.c:378,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:407,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:408,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:409,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh_collide.c:410,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_collide.c:412,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 5
    argNames:
    - mesh
    - ray
    - outPoint
    - outNormal
    - outTexCoords
    argTypes:
    - GF_Mesh*
    - GF_Ray*
    - SFVec3f*
    - SFVec3f*
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 430
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 430
    functionName: gf_mesh_intersect_ray
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    - gf_vec_norm
    - gf_ray_hit_triangle
    - gf_ray_hit_box
    - gf_mesh_aabb_ray_hit
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mesh_intersect_ray(GF_Mesh *mesh, GF_Ray *ray, SFVec3f *outPoint,
      SFVec3f *outNormal, SFVec2f *outTexCoords) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:468,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:484,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:476,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:479,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:471,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh_collide.c:487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - sc
    - sq_rad
    - bmin
    - bmax
    argTypes:
    - SFVec3f
    - Fixed
    - SFVec3f
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: sphere_box_overlap
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool sphere_box_overlap(SFVec3f sc, Fixed sq_rad,
      SFVec3f bmin, SFVec3f bmax) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - mesh
    - node
    argTypes:
    - GF_Mesh*
    - AABBNode*
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: update_node_bounds
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void update_node_bounds(GF_Mesh *mesh, AABBNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:99,1
    - Dst: tri_get_center
      Src: /src/gpac/src/compositor/mesh_collide.c:108,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mesh
    - node
    - axis
    argTypes:
    - GF_Mesh*
    - AABBNode*
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: aabb_split
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - tri_get_center
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 aabb_split(GF_Mesh *mesh, AABBNode *node, u32
      axis) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: gf_vec_main_axis
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 gf_vec_main_axis(SFVec3f v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh_collide.c:250,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mesh_collide.c:272,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mesh_collide.c:261,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh_collide.c:258,1
    - Dst: mesh_subdivide_aabbtree
      Src: /src/gpac/src/compositor/mesh_collide.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: gf_mesh_build_aabbtree
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_LOG
    - mesh_subdivide_aabbtree
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void gf_mesh_build_aabbtree(GF_Mesh *mesh) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_ray_hit_box
      Src: /src/gpac/src/compositor/mesh_collide.c:305,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:339,1
    - Dst: gf_mesh_aabb_ray_hit
      Src: /src/gpac/src/compositor/mesh_collide.c:311,1
    - Dst: gf_ray_hit_triangle
      Src: /src/gpac/src/compositor/mesh_collide.c:325,1
    - Dst: gf_mesh_aabb_ray_hit
      Src: /src/gpac/src/compositor/mesh_collide.c:310,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:340,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:345,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:346,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:347,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh_collide.c:348,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_collide.c:350,1
    - Dst: ray_hit_triangle_get_u_v
      Src: /src/gpac/src/compositor/mesh_collide.c:355,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 7
    argNames:
    - mesh
    - n
    - ray
    - closest
    - outPoint
    - outNormal
    - outTexCoords
    argTypes:
    - GF_Mesh*
    - AABBNode*
    - GF_Ray*
    - Fixed*
    - SFVec3f*
    - SFVec3f*
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 361
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 361
    functionName: gf_mesh_aabb_ray_hit
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    - ray_hit_triangle_get_u_v
    - gf_vec_norm
    - gf_ray_hit_triangle
    - gf_ray_hit_box
    - gf_mesh_aabb_ray_hit
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mesh_aabb_ray_hit(GF_Mesh *mesh, AABBNode *n, GF_Ray *ray,
      Fixed *closest, SFVec3f *outPoint, SFVec3f *outNormal, SFVec2f *outTexCoords) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:438,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh_collide.c:444,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:439,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:441,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:443,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:446,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:448,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:448,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:451,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:453,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:453,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh_collide.c:456,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:456,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - ray
    - v0
    - v1
    - v2
    - dist
    argTypes:
    - GF_Ray*
    - SFVec3f*
    - SFVec3f*
    - SFVec3f*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 458
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 458
    functionName: mesh_collide_triangle
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_dot
    - gf_vec_diff
    - ABS
    - gf_divfix
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool mesh_collide_triangle(GF_Ray *ray, SFVec3f *v0,
      SFVec3f *v1, SFVec3f *v2, Fixed *dist) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sphere_box_overlap
      Src: /src/gpac/src/compositor/mesh_collide.c:499,1
    - Dst: gf_mesh_closest_face_aabb
      Src: /src/gpac/src/compositor/mesh_collide.c:501,1
    - Dst: gf_mesh_closest_face_aabb
      Src: /src/gpac/src/compositor/mesh_collide.c:502,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:512,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:511,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:513,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh_collide.c:514,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_collide.c:516,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh_collide.c:521,1
    - Dst: mesh_collide_triangle
      Src: /src/gpac/src/compositor/mesh_collide.c:522,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:541,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:540,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - mesh
    - node
    - pos
    - min_dist
    - min_sq_dist
    - min_col_dist
    - outPoint
    argTypes:
    - GF_Mesh*
    - AABBNode*
    - SFVec3f
    - Fixed
    - Fixed
    - Fixed*
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 544
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 544
    functionName: gf_mesh_closest_face_aabb
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - sphere_box_overlap
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    - gf_mesh_closest_face_aabb
    - gf_vec_norm
    - mesh_collide_triangle
    - gf_vec_rev
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mesh_closest_face_aabb(GF_Mesh *mesh, AABBNode *node, SFVec3f
      pos, Fixed min_dist, Fixed min_sq_dist, Fixed *min_col_dist, SFVec3f *outPoint) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:555,1
    - Dst: gf_mesh_closest_face_aabb
      Src: /src/gpac/src/compositor/mesh_collide.c:561,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh_collide.c:556,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:572,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh_collide.c:573,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh_collide.c:574,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh_collide.c:575,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mesh_collide.c:577,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:583,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh_collide.c:584,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh_collide.c:609,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh_collide.c:589,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/mesh_collide.c:608,1
    - Dst: mesh_collide_triangle
      Src: /src/gpac/src/compositor/mesh_collide.c:590,1
    - Dst: fabs
      Src: /src/gpac/src/compositor/mesh_collide.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 4
    argNames:
    - mesh
    - pos
    - min_dist
    - outPoint
    argTypes:
    - GF_Mesh*
    - SFVec3f
    - Fixed
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 612
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 612
    functionName: gf_mesh_closest_face
    functionSourceFile: /src/gpac/src/compositor/mesh_collide.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_dot
    - fabs
    - gf_vec_scale
    - gf_mesh_closest_face_aabb
    - gf_vec_add
    - gf_vec_norm
    - mesh_collide_triangle
    - gf_vec_rev
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mesh_closest_face(GF_Mesh *mesh, SFVec3f pos, Fixed min_dist,
      SFVec3f *outPoint) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/bindable.c:33,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/bindable.c:34,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 6
    argCount: 1
    argNames:
    - bindable
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: Bindable_GetStack
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List *Bindable_GetStack(GF_Node *bindable) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/bindable.c:201,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 3
    argNames:
    - bindable
    - val
    - stack
    argTypes:
    - GF_Node*
    - Bool
    - GF_List*
    constantsTouched: []
    func_position:
      end: 241
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 241
    functionName: Bindable_SetSetBindEx
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: void
    signature: 'void Bindable_SetSetBindEx(GF_Node *bindable, Bool val, GF_List *stack) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/bindable.c:99,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/bindable.c:140,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/bindable.c:114,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/bindable.c:126,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/bindable.c:107,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/bindable.c:147,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/bindable.c:158,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/bindable.c:159,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/bindable.c:161,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 2
    argNames:
    - bindable
    - val
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 162
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 162
    functionName: Bindable_SetIsBound
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_node_dirty_set
    - gf_node_event_out_str
    - gf_node_get_tag
    linkageType: ''
    returnType: void
    signature: 'void Bindable_SetIsBound(GF_Node *bindable, Bool val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Bindable_GetSetBind
      Src: /src/gpac/src/compositor/bindable.c:254,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/bindable.c:261,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:264,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/bindable.c:267,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/bindable.c:255,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/bindable.c:268,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/bindable.c:269,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/bindable.c:270,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:271,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/bindable.c:272,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/bindable.c:289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:278,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/bindable.c:289,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/bindable.c:287,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/bindable.c:282,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/bindable.c:279,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/bindable.c:281,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/bindable.c:275,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - bindable
    - stack_list
    - for_stack
    argTypes:
    - GF_Node*
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 290
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 290
    functionName: Bindable_OnSetBind
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_insert
    - gf_list_get
    - gf_sc_invalidate
    - gf_list_enum
    - gf_list_count
    - gf_sc_get_compositor
    - Bindable_GetIsBound
    - gf_list_rem
    - Bindable_SetIsBound
    - Bindable_GetSetBind
    - gf_list_del_item
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void Bindable_OnSetBind(GF_Node *bindable, GF_List *stack_list, GF_List
      *for_stack) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/bindable.c:168,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 1
    argNames:
    - bindable
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 196
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 196
    functionName: Bindable_GetSetBind
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool Bindable_GetSetBind(GF_Node *bindable) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/bindable.c:65,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 1
    argNames:
    - bindable
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 93
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 93
    functionName: Bindable_GetIsBound
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool Bindable_GetIsBound(GF_Node *bindable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bindable_SetSetBindEx
      Src: /src/gpac/src/compositor/bindable.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bindable
    - val
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: Bindable_SetSetBind
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - Bindable_SetSetBindEx
    linkageType: ''
    returnType: void
    signature: 'void Bindable_SetSetBind(GF_Node *bindable, Bool val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/bindable.c:294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:296,1
    - Dst: Bindable_GetStack
      Src: /src/gpac/src/compositor/bindable.c:298,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/bindable.c:297,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/bindable.c:300,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/bindable.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - stack
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: BindableStackDelete
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - Bindable_GetStack
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void BindableStackDelete(GF_List *stack) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/bindable.c:308,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/bindable.c:313,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/bindable.c:311,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:312,1
    - Dst: Bindable_SetIsBound
      Src: /src/gpac/src/compositor/bindable.c:309,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/bindable.c:314,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/bindable.c:316,1
    - Dst: Bindable_SetSetBind
      Src: /src/gpac/src/compositor/bindable.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - bindable
    - stack_list
    argTypes:
    - GF_Node*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: PreDestroyBindable
    functionSourceFile: /src/gpac/src/compositor/bindable.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - Bindable_SetSetBind
    - Bindable_GetIsBound
    - gf_list_rem
    - Bindable_SetIsBound
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void PreDestroyBindable(GF_Node *bindable, GF_List *stack_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:88,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: compositor_init_disk2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_disk2d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/x3d_geometry.c:111,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:125,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/x3d_geometry.c:114,1
    - Dst: arc2d_check_changes
      Src: /src/gpac/src/compositor/x3d_geometry.c:118,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/x3d_geometry.c:124,1
    - Dst: mesh_get_outline
      Src: /src/gpac/src/compositor/x3d_geometry.c:126,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:128,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/x3d_geometry.c:131,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:135,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/x3d_geometry.c:137,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/x3d_geometry.c:141,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/x3d_geometry.c:147,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/x3d_geometry.c:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 152
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 152
    functionName: TraverseArc2D
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_tag
    - gf_node_get_private
    - drawable_finalize_sort
    - gf_bbox_from_rect
    - arc2d_check_changes
    - mesh_from_path
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - vrml_drawable_pick
    - mesh_get_outline
    linkageType: ''
    returnType: void
    signature: 'static void TraverseArc2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:563,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/x3d_geometry.c:568,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:564,1
    - Dst: ITS_SetIndex
      Src: /src/gpac/src/compositor/x3d_geometry.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: compositor_init_indexed_triangle_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_sys_is_cov_mode
    - drawable_3d_new
    - ITS_SetIndex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_indexed_triangle_set(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuildTriangleStripSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: build_triangle_strip_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - BuildTriangleStripSet
    linkageType: ''
    returnType: void
    signature: 'static void build_triangle_strip_set(GF_Node *node, Drawable3D *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/x3d_geometry.c:94,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:95,1
    - Dst: gf_path_add_arc
      Src: /src/gpac/src/compositor/x3d_geometry.c:98,1
    - Dst: gf_path_add_arc
      Src: /src/gpac/src/compositor/x3d_geometry.c:101,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:96,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/x3d_geometry.c:101,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/x3d_geometry.c:103,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/x3d_geometry.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: arc2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_add_arc
    - gf_node_get_tag
    - gf_node_dirty_get
    - drawable_reset_path
    - stricmp
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void arc2d_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:156,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: compositor_init_arc2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_arc2d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/x3d_geometry.c:615,1
    - Dst: gf_sg_sfcolor_to_rgba
      Src: /src/gpac/src/compositor/x3d_geometry.c:640,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:706,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/x3d_geometry.c:705,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:732,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:592,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:605,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:648,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:675,1
    - Dst: mesh_recompute_normals
      Src: /src/gpac/src/compositor/x3d_geometry.c:699,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/x3d_geometry.c:759,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/x3d_geometry.c:626,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:647,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:729,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:735,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/x3d_geometry.c:741,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/x3d_geometry.c:742,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:745,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:758,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:740,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:587,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/x3d_geometry.c:642,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:672,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/x3d_geometry.c:684,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:704,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:673,1
    - Dst: mesh_generate_tex_coords
      Src: /src/gpac/src/compositor/x3d_geometry.c:689,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:727,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/x3d_geometry.c:731,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:734,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 175
    argCount: 10
    argNames:
    - mesh
    - _coords
    - _color
    - _txcoords
    - _normal
    - stripList
    - indices
    - normalPerVertex
    - ccw
    - solid
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - MFInt32*
    - MFInt32*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 760
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 760
    functionName: BuildTriangleStripSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_recompute_normals
    - gf_mesh_build_aabbtree
    - gf_sg_sfcolor_to_rgba
    - gf_node_get_tag
    - memset
    - mesh_generate_tex_coords
    - MESH_SET_NORMAL
    - gf_vec_add
    - GF_LOG
    - MESH_MAKE_COL
    - gf_vec_scale
    - mesh_set_vertex_vx
    - gf_vec_norm
    - mesh_reset
    - mesh_update_bounds
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'static void BuildTriangleStripSet(GF_Mesh *mesh, GF_Node *_coords,
      GF_Node *_color, GF_Node *_txcoords, GF_Node *_normal, MFInt32 *stripList, MFInt32
      *indices, Bool normalPerVertex, Bool ccw, Bool solid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: TraverseTriangleStripSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTriangleStripSet(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: triangleset2d_check_changes
      Src: /src/gpac/src/compositor/x3d_geometry.c:253,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/x3d_geometry.c:264,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/x3d_geometry.c:268,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/x3d_geometry.c:286,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/x3d_geometry.c:313,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:302,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/x3d_geometry.c:311,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/x3d_geometry.c:292,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/x3d_geometry.c:290,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/x3d_geometry.c:245,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/x3d_geometry.c:249,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/x3d_geometry.c:298,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/x3d_geometry.c:305,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:296,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:283,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:284,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:285,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/x3d_geometry.c:287,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/x3d_geometry.c:288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 316
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 316
    functionName: TraverseTriangleSet2D
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_path_get_bounds
    - gf_vec_cross
    - gf_node_get_private
    - drawable_finalize_sort
    - gf_vec_diff
    - MESH_MAKE_COL
    - new_mesh
    - mesh_set_vertex_vx
    - triangleset2d_check_changes
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - vrml_drawable_pick
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTriangleSet2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:367,1
    - Dst: memset
      Src: /src/gpac/src/compositor/x3d_geometry.c:375,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:389,1
    - Dst: gf_sg_sfcolor_to_rgba
      Src: /src/gpac/src/compositor/x3d_geometry.c:385,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/x3d_geometry.c:387,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/x3d_geometry.c:391,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/x3d_geometry.c:392,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:399,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 400
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 400
    functionName: build_line_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_sg_sfcolor_to_rgba
    - gf_node_get_tag
    - memset
    - MESH_MAKE_COL
    - mesh_set_vertex_vx
    - mesh_set_index
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'static void build_line_set(GF_Node *node, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:410,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: compositor_init_lineset
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_lineset(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: TraverseIndexedTriangleStripSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIndexedTriangleStripSet(GF_Node *node, void *rs,
      Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:829,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/x3d_geometry.c:834,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:830,1
    - Dst: ITSS_SetIndex
      Src: /src/gpac/src/compositor/x3d_geometry.c:835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 838
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 838
    functionName: compositor_init_indexed_triangle_strip_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_sys_is_cov_mode
    - drawable_3d_new
    - ITSS_SetIndex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_indexed_triangle_strip_set(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuildTriangleFanSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:1003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1004
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1004
    functionName: build_triangle_fan_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - BuildTriangleFanSet
    linkageType: ''
    returnType: void
    signature: 'static void build_triangle_fan_set(GF_Node *node, Drawable3D *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:320,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: compositor_init_triangle_set2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_triangle_set2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:348,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: compositor_init_polypoint2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_polypoint2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: TraverseLineSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseLineSet(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:425,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:443,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:430,1
    - Dst: gf_sg_sfcolor_to_rgba
      Src: /src/gpac/src/compositor/x3d_geometry.c:474,1
    - Dst: memset
      Src: /src/gpac/src/compositor/x3d_geometry.c:460,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/x3d_geometry.c:476,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:480,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:481,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:503,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/x3d_geometry.c:506,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:515,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/x3d_geometry.c:516,1
    - Dst: mesh_recompute_normals
      Src: /src/gpac/src/compositor/x3d_geometry.c:513,1
    - Dst: mesh_generate_tex_coords
      Src: /src/gpac/src/compositor/x3d_geometry.c:508,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 83
    argCount: 9
    argNames:
    - mesh
    - _coords
    - _color
    - _txcoords
    - _normal
    - indices
    - normalPerVertex
    - ccw
    - solid
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - MFInt32*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 517
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 517
    functionName: BuildTriangleSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_recompute_normals
    - gf_mesh_build_aabbtree
    - gf_sg_sfcolor_to_rgba
    - gf_node_get_tag
    - memset
    - mesh_generate_tex_coords
    - MESH_SET_NORMAL
    - MESH_MAKE_COL
    - mesh_set_vertex_vx
    - gf_vec_norm
    - mesh_reset
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'static void BuildTriangleSet(GF_Mesh *mesh, GF_Node *_coords, GF_Node
      *_color, GF_Node *_txcoords, GF_Node *_normal, MFInt32 *indices, Bool normalPerVertex,
      Bool ccw, Bool solid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/x3d_geometry.c:821,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:822,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 824
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 824
    functionName: ITSS_SetIndex
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ITSS_SetIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/x3d_geometry.c:891,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:911,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:934,1
    - Dst: mesh_recompute_normals
      Src: /src/gpac/src/compositor/x3d_geometry.c:958,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/x3d_geometry.c:979,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:973,1
    - Dst: mesh_generate_tex_coords
      Src: /src/gpac/src/compositor/x3d_geometry.c:952,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:981,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/x3d_geometry.c:982,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:851,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:856,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/x3d_geometry.c:906,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:943,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:978,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:980,1
    - Dst: memset
      Src: /src/gpac/src/compositor/x3d_geometry.c:880,1
    - Dst: gf_sg_sfcolor_to_rgba
      Src: /src/gpac/src/compositor/x3d_geometry.c:904,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/x3d_geometry.c:947,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:989,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/x3d_geometry.c:996,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/x3d_geometry.c:869,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/x3d_geometry.c:912,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/x3d_geometry.c:942,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/x3d_geometry.c:987,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:995,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 131
    argCount: 10
    argNames:
    - mesh
    - _coords
    - _color
    - _txcoords
    - _normal
    - fanList
    - indices
    - normalPerVertex
    - ccw
    - solid
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - GF_Node*
    - MFInt32*
    - MFInt32*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 997
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 997
    functionName: BuildTriangleFanSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_recompute_normals
    - gf_mesh_build_aabbtree
    - gf_sg_sfcolor_to_rgba
    - gf_node_get_tag
    - memset
    - mesh_generate_tex_coords
    - MESH_SET_NORMAL
    - gf_vec_add
    - GF_LOG
    - MESH_MAKE_COL
    - mesh_set_vertex_vx
    - gf_vec_norm
    - mesh_reset
    - mesh_update_bounds
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'static void BuildTriangleFanSet(GF_Mesh *mesh, GF_Node *_coords, GF_Node
      *_color, GF_Node *_txcoords, GF_Node *_normal, MFInt32 *fanList, MFInt32 *indices,
      Bool normalPerVertex, Bool ccw, Bool solid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:1008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: TraverseTriangleFanSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTriangleFanSet(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/x3d_geometry.c:34,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/x3d_geometry.c:37,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/x3d_geometry.c:40,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/x3d_geometry.c:39,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:36,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/x3d_geometry.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: disk2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_add_ellipse
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void disk2d_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/x3d_geometry.c:162,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/x3d_geometry.c:173,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/x3d_geometry.c:168,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:165,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/x3d_geometry.c:170,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/x3d_geometry.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: polyline2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_add_line_to
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void polyline2d_check_changes(GF_Node *node, Drawable *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/x3d_geometry.c:48,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/x3d_geometry.c:52,1
    - Dst: disk2d_check_changes
      Src: /src/gpac/src/compositor/x3d_geometry.c:56,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:64,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/x3d_geometry.c:62,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/x3d_geometry.c:66,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:70,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/x3d_geometry.c:73,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/x3d_geometry.c:79,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/x3d_geometry.c:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 84
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 84
    functionName: TraverseDisk2D
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_private
    - disk2d_check_changes
    - drawable_finalize_sort
    - mesh_from_path
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseDisk2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/x3d_geometry.c:181,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/x3d_geometry.c:184,1
    - Dst: polyline2d_check_changes
      Src: /src/gpac/src/compositor/x3d_geometry.c:188,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/x3d_geometry.c:194,1
    - Dst: mesh_get_outline
      Src: /src/gpac/src/compositor/x3d_geometry.c:195,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/x3d_geometry.c:197,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/x3d_geometry.c:201,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/x3d_geometry.c:204,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/x3d_geometry.c:210,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/x3d_geometry.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: TraversePolyline2D
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_private
    - drawable_finalize_sort
    - polyline2d_check_changes
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - visual_3d_draw_2d
    - vrml_drawable_pick
    - mesh_get_outline
    linkageType: ''
    returnType: void
    signature: 'static void TraversePolyline2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:1066,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/x3d_geometry.c:1071,1
    - Dst: ITFS_SetIndex
      Src: /src/gpac/src/compositor/x3d_geometry.c:1072,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1075
    functionName: compositor_init_indexed_triangle_fan_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_sys_is_cov_mode
    - drawable_3d_new
    - ITFS_SetIndex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_indexed_triangle_fan_set(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:219,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: compositor_init_polyline2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_polyline2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/x3d_geometry.c:336,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/x3d_geometry.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: build_polypoint2d
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - mesh_set_point
    - mesh_set_index
    linkageType: ''
    returnType: void
    signature: 'static void build_polypoint2d(GF_Node *node, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuildTriangleSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: build_triangle_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - BuildTriangleSet
    linkageType: ''
    returnType: void
    signature: 'static void build_triangle_set(GF_Node *node, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:534,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: compositor_init_triangle_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_triangle_set(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: TraverseIndexedTriangleSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIndexedTriangleSet(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:776,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: compositor_init_triangle_strip_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_triangle_strip_set(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/x3d_geometry.c:1013,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/x3d_geometry.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: compositor_init_triangle_fan_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_triangle_fan_set(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1052
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1052
    functionName: TraverseIndexedTriangleFanSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIndexedTriangleFanSet(GF_Node *node, void *rs,
      Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/x3d_geometry.c:225,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/x3d_geometry.c:232,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/x3d_geometry.c:233,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/x3d_geometry.c:234,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/x3d_geometry.c:228,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/x3d_geometry.c:235,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/x3d_geometry.c:237,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/x3d_geometry.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: triangleset2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_close
    - gf_path_add_line_to
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_node_dirty_clear
    - drawable_mark_modified
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void triangleset2d_check_changes(GF_Node *node, Drawable *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: TraversePolypoint2D
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraversePolypoint2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/x3d_geometry.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: TraverseTriangleSet
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTriangleSet(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuildTriangleSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: build_indexed_triangle_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - BuildTriangleSet
    linkageType: ''
    returnType: void
    signature: 'static void build_indexed_triangle_set(GF_Node *node, Drawable3D *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/x3d_geometry.c:555,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: ITS_SetIndex
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ITS_SetIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/x3d_geometry.c:795,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:809,1
    - Dst: BuildTriangleStripSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:808,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/x3d_geometry.c:805,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 810
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 810
    functionName: build_indexed_triangle_strip_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - BuildTriangleStripSet
    - gf_sg_vrml_mf_append
    - gf_sg_vrml_mf_reset
    linkageType: ''
    returnType: void
    signature: 'static void build_indexed_triangle_strip_set(GF_Node *node, Drawable3D
      *stack, GF_TraverseState *tr_state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/x3d_geometry.c:1022,1
    - Dst: BuildTriangleFanSet
      Src: /src/gpac/src/compositor/x3d_geometry.c:1045,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/x3d_geometry.c:1042,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:1046,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/x3d_geometry.c:1032,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1047
    functionName: build_indexed_triangle_fan_set
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - BuildTriangleFanSet
    - gf_node_dirty_clear
    - gf_sg_vrml_mf_append
    linkageType: ''
    returnType: void
    signature: 'static void build_indexed_triangle_fan_set(GF_Node *node, Drawable3D
      *stack, GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/x3d_geometry.c:1058,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/x3d_geometry.c:1059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    functionName: ITFS_SetIndex
    functionSourceFile: /src/gpac/src/compositor/x3d_geometry.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ITFS_SetIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:134,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - scene
    - for_odm
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: locate_is_ctx_for_odm
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_InputSensorCtx*
    signature: 'static GF_InputSensorCtx *locate_is_ctx_for_odm(GF_Scene *scene, GF_ObjectManager
      *for_odm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:486,1
    - Dst: gf_sc_unqueue_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:493,1
    - Dst: InputSensorUnregister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:491,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:492,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:492,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:494,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:497,1
    - Dst: InputSensorRegister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 501
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 501
    functionName: TraverseInputSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - InputSensorUnregister
    - gf_node_get_private
    - gf_node_get_graph
    - gf_sg_get_private
    - gf_mo_register
    - gf_free
    - InputSensorRegister
    - gf_sc_unqueue_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseInputSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:157,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:163,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:168,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:177,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:182,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:189,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:192,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:210,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:218,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:220,1
    - Dst: locate_is_ctx_for_odm
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:160,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:186,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:190,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:184,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:194,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:211,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:230,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:237,1
    - Dst: isdev_dispatch_frame
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:239,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:172,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:179,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:185,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:187,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:195,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:207,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:212,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:227,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:167,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:173,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:175,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:188,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:203,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:209,1
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:213,1
    - Dst: isdev_add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:243,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 2
    argNames:
    - odm
    - esd
    argTypes:
    - GF_ObjectManager*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 245
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 245
    functionName: gf_input_sensor_setup_object
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sys_is_cov_mode
    - gf_bs_del
    - isdev_dispatch_frame
    - gf_crc_32
    - add_field
    - gf_modules_count
    - gf_bs_read_int
    - gf_bs_new
    - isdev_add_field
    - gf_utf8_mbstowcs
    - gf_modules_close_interface
    - locate_is_ctx_for_odm
    - gf_modules_load
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_input_sensor_setup_object(GF_ObjectManager *odm, GF_ESD
      *esd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:507,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:509,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:514,1
    - Dst: gf_sc_queue_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:516,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 517
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionName: InitInputSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_queue_node_traverse
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void InitInputSensor(GF_Scene *scene, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:963,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:973,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:970,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:965,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:969,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 976
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 976
    functionName: InitStringSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void InitStringSensor(GF_Scene *scene, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_field
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - fieldType
    - fieldName
    argTypes:
    - GF_InputSensorDevice*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: isdev_add_field
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - add_field
    linkageType: ''
    returnType: void
    signature: 'static void isdev_add_field(GF_InputSensorDevice *dev, u32 fieldType,
      const char *fieldName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:430,1
    - Dst: locate_is_ctx_for_odm
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:437,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:440,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - node
    - st
    argTypes:
    - GF_Node*
    - ISStack*
    constantsTouched: []
    func_position:
      end: 450
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 450
    functionName: InputSensorUnregister
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_mo_unregister
    - locate_is_ctx_for_odm
    - gf_mo_stop
    linkageType: ''
    returnType: void
    signature: 'static void InputSensorUnregister(GF_Node *node, ISStack *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_EventMouse*
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: gf_sc_input_sensor_mouse_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_input_sensor_mouse_input(GF_Compositor *compositor,
      GF_EventMouse *event) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:124,1
    - Dst: IS_ProcessData
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - data
    - data_len
    argTypes:
    - struct __input_device*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: isdev_dispatch_frame
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - IS_ProcessData
    linkageType: ''
    returnType: void
    signature: 'static void isdev_dispatch_frame(struct __input_device *dev, const
      u8 *data, u32 data_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:457,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:466,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:469,1
    - Dst: locate_is_ctx_for_odm
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:462,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:465,1
    - Dst: gf_sc_unqueue_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:471,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:475,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 482
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 482
    functionName: InputSensorRegister
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - gf_node_get_private
    - gf_list_enum
    - gf_mo_play
    - locate_is_ctx_for_odm
    - gf_sc_unqueue_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void InputSensorRegister(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - compositor
    - key_code
    - hw_code
    - isKeyUp
    argTypes:
    - GF_Compositor*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: gf_sc_input_sensor_keyboard_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_input_sensor_keyboard_input(GF_Compositor *compositor,
      u32 key_code, u32 hw_code, Bool isKeyUp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - compositor
    - character
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: gf_sc_input_sensor_string_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_input_sensor_string_input(GF_Compositor *compositor,
      u32 character) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:96,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:102,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:99,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:101,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - fieldType
    - fieldName
    argTypes:
    - GF_InputSensorCtx*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: add_field
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_list_count
    - gf_sg_vrml_field_pointer_new
    linkageType: ''
    returnType: void
    signature: 'static void add_field(GF_InputSensorCtx *priv, u32 fieldType, const
      char *fieldName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate_is_ctx_for_odm
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:250,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:256,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:255,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:253,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:257,1
    - Dst: gf_sg_vrml_field_pointer_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:258,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:259,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:261,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:262,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: gf_input_sensor_delete
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - locate_is_ctx_for_odm
    - gf_sg_vrml_field_pointer_del
    - gf_list_rem
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_input_sensor_delete(GF_ObjectManager *odm) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:600,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:610,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:613,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:619,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:559,1
    - Dst: gf_sc_map_point
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:586,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:588,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:594,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:596,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:597,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:605,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:598,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:609,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:607,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:624,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:587,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:597,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:598,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:603,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:604,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:590,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:601,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:602,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:610,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:614,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:615,1
    - Dst: IS_ProcessData
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:621,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_EventMouse*
    constantsTouched: []
    func_position:
      end: 625
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 625
    functionName: gf_sc_input_sensor_mouse_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_sc_map_point
    - gf_bs_get_content
    - gf_bs_del
    - gf_list_enum
    - gf_list_count
    - FIX2FLT
    - gf_bs_new
    - IS_ProcessData
    - gf_divfix
    - gf_bs_align
    - gf_free
    - gf_bs_write_int
    - gf_bs_write_float
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_input_sensor_mouse_input(GF_Compositor *compositor,
      GF_EventMouse *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:938,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: DestroyKeySensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void DestroyKeySensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:278,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:299,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:303,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:308,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:315,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:316,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:317,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:327,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:343,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:358,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:361,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:401,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:365,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:402,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:364,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:350,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:388,1
    - Dst: gf_sg_command_apply
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:413,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:410,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:406,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:280,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:290,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:293,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:305,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:309,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:310,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:323,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:400,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:384,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:409,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:412,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:287,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:296,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:299,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:303,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:308,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:315,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:316,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:317,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:335,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:363,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:367,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:282,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:290,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:305,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:300,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:310,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:324,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:328,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:331,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:351,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:387,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:386,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:396,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:417,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:325,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 161
    argCount: 3
    argNames:
    - is_ctx
    - inBuffer
    - inBufferLength
    argTypes:
    - GF_InputSensorCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 419
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 419
    functionName: IS_ProcessData
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_float
    - gf_bs_del
    - gf_list_count
    - FLT2FIX
    - gf_utf8_wcstombs
    - gf_sg_vrml_field_copy
    - gf_assert
    - gf_list_get
    - gf_list_enum
    - gf_bs_read_int
    - gf_bs_new
    - gf_sc_lock
    - memcpy
    - gf_free
    - gf_sg_command_apply
    - gf_utf8_wcslen
    - gf_bs_read_double
    - gf_bs_available
    - gf_scene_get_time
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err IS_ProcessData(GF_InputSensorCtx *is_ctx, const char
      *inBuffer, u32 inBufferLength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:944,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:945,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:947,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 950
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 950
    functionName: InitKeySensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_list_add
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void InitKeySensor(GF_Scene *scene, GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:523,1
    - Dst: InputSensorUnregister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:528,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:525,1
    - Dst: InputSensorRegister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:532,1
    - Dst: InputSensorUnregister
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:536,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: InputSensorModified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - InputSensorRegister
    - gf_mo_register
    - InputSensorUnregister
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void InputSensorModified(GF_Node *node) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:643,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:751,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:758,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:766,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:759,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:763,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:772,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:790,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:806,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:808,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:819,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:811,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:643,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:752,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:753,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:764,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:767,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:777,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:794,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:836,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:831,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:802,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:645,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:754,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:755,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:762,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:781,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:786,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:823,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:827,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:840,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:815,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:809,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:651,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:756,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:760,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:757,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:761,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:768,1
    - Dst: IS_ProcessData
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:774,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:796,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:797,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:799,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 163
    argCount: 4
    argNames:
    - compositor
    - key_code
    - hw_code
    - isKeyUp
    argTypes:
    - GF_Compositor*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 846
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 846
    functionName: gf_sc_input_sensor_keyboard_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_bs_del
    - gf_node_get_tag
    - gf_list_enum
    - gf_list_count
    - gf_bs_new
    - IS_ProcessData
    - memcpy
    - gf_utf8_wcstombs
    - gf_bs_align
    - gf_free
    - gf_node_event_out_str
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_input_sensor_keyboard_input(GF_Compositor *compositor,
      u32 key_code, u32 hw_code, Bool isKeyUp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:861,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:875,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:896,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:903,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:916,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:922,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:872,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:871,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:873,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:893,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:880,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:915,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:876,1
    - Dst: IS_ProcessData
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:878,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:905,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:924,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:865,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:861,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:874,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:888,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:908,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:911,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:907,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:913,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:926,1
    - Dst: gf_node_event_out_str
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:927,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - compositor
    - character
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 931
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 931
    functionName: gf_sc_input_sensor_string_input
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_node_get_tag
    - gf_node_get_private
    - gf_list_enum
    - gf_list_count
    - gf_strdup
    - gf_bs_new
    - IS_ProcessData
    - gf_utf8_wcstombs
    - gf_bs_align
    - gf_free
    - gf_node_event_out_str
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_input_sensor_string_input(GF_Compositor *compositor,
      u32 character) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:955,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:957,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_inputsensor.c:956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: DestroyStringSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_inputsensor.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void DestroyStringSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:79,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:82,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:144,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:146,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:150,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:160,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:164,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:169,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:175,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:205,1
    - Dst: gf_path_iterator_del
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:60,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:78,1
    - Dst: parent_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:135,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:119,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:170,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:180,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:218,1
    - Dst: gf_path_iterator_get_transform
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:230,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:252,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:253,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:67,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:61,1
    - Dst: parent_node_predestroy
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:59,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:83,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:179,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:212,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:224,1
    - Dst: parent_node_child_traverse_matrix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:233,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:242,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:246,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:247,1
    - Dst: parent_node_child_traverse_matrix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:264,1
    - Dst: parent_node_reset
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:267,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:54,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:89,1
    - Dst: gf_path_iterator_del
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:90,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:97,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:141,1
    - Dst: gf_path_iterator_new
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:126,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:105,1
    - Dst: gf_path_iterator_get_length
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:148,1
    - Dst: parent_node_child_traverse_matrix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:194,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:203,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:237,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:243,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:263,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:226,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 156
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 268
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 268
    functionName: TraversePathLayout
    functionSourceFile: /src/gpac/src/compositor/mpeg4_path_layout.c
    functionUses: []
    functionsReached:
    - parent_node_reset
    - gf_node_get_tag
    - parent_node_predestroy
    - gf_mx_init
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_path_iterator_get_length
    - gf_path_iterator_get_transform
    - gf_path_iterator_new
    - gf_node_traverse
    - gf_list_count
    - gf_mx2d_init
    - gf_node_dirty_get
    - gf_list_get
    - gf_mx2d_add_translation
    - gf_path_iterator_del
    - gf_free
    - gf_node_get_private
    - gf_mulfix
    - parent_node_child_traverse_matrix
    - parent_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraversePathLayout(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:273,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:277,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:278,1
    - Dst: parent_node_setup
      Src: /src/gpac/src/compositor/mpeg4_path_layout.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: compositor_init_path_layout
    functionSourceFile: /src/gpac/src/compositor/mpeg4_path_layout.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - parent_node_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_path_layout(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_visual_is_registered
      Src: /src/gpac/src/compositor/drawable.c:204,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:213,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/drawable.c:219,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/drawable.c:210,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:222,1
    - Dst: visual_2d_drawable_delete
      Src: /src/gpac/src/compositor/drawable.c:224,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:227,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/drawable.c:230,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:245,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:248,1
    - Dst: delete_strikeinfo2d
      Src: /src/gpac/src/compositor/drawable.c:256,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/drawable.c:255,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:260,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 3
    argNames:
    - dr
    - compositor
    - no_free
    argTypes:
    - Drawable*
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 261
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 261
    functionName: drawable_del_ex
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - visual_2d_drawable_delete
    - ra_add
    - gf_sc_next_frame_state
    - mesh_free
    - delete_strikeinfo2d
    - gf_path_del
    - gf_sc_visual_is_registered
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void drawable_del_ex(Drawable *dr, GF_Compositor *compositor, Bool
      no_free) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:299,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:316,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/drawable.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - visual
    argTypes:
    - struct _drawable_context*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 329
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 329
    functionName: drawable_check_alloc_bounds
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_get_class_name
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: BoundInfo*
    signature: 'static BoundInfo *drawable_check_alloc_bounds(struct _drawable_context
      *ctx, GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:479,1
    - Dst: memset
      Src: /src/gpac/src/compositor/drawable.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DrawableContext*
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: drawctx_reset
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void drawctx_reset(DrawableContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path_outline
      Src: /src/gpac/src/compositor/drawable.c:1233,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/drawable.c:1234,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - Drawable*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1241
    functionName: drawable_reset_path
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_reset_path_outline
    - mesh_free
    - gf_path_reset
    linkageType: ''
    returnType: void
    signature: 'void drawable_reset_path(Drawable *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/drawable.c:265,1
    - Dst: drawable_del_ex
      Src: /src/gpac/src/compositor/drawable.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dr
    argTypes:
    - Drawable*
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: drawable_del
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_del_ex
    - gf_sc_get_compositor
    linkageType: ''
    returnType: void
    signature: 'void drawable_del(Drawable *dr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/drawable.c:334,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/drawable.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - tr_state
    - n
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: drawable_reset_group_highlight
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void drawable_reset_group_highlight(GF_TraverseState *tr_state, GF_Node
      *n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: drawable_has_same_bounds
      Src: /src/gpac/src/compositor/drawable.c:518,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - visual
    argTypes:
    - DrawableContext*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 527
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 527
    functionName: drawctx_update_info
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_has_same_bounds
    linkageType: ''
    returnType: void
    signature: 'void drawctx_update_info(DrawableContext *ctx, GF_VisualManager *visual) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/drawable.c:757,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:787,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/drawable.c:780,1
    - Dst: visual_2d_get_drawable_context
      Src: /src/gpac/src/compositor/drawable.c:766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:761,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/compositor/drawable.c:789,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:795,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/drawable.c:805,1
    - Dst: drawable_check_texture_dirty
      Src: /src/gpac/src/compositor/drawable.c:807,1
    - Dst: check_transparent_skip
      Src: /src/gpac/src/compositor/drawable.c:811,1
    - Dst: visual_2d_remove_last_context
      Src: /src/gpac/src/compositor/drawable.c:812,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:813,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - drawable
    - tr_state
    argTypes:
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 828
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 828
    functionName: drawable_init_context_mpeg4
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - drawable_check_texture_dirty
    - visual_2d_remove_last_context
    - GF_LOG
    - check_transparent_skip
    - gf_node_dirty_get
    - gf_cmx_copy
    - GF_SAFEALLOC
    - visual_2d_get_drawable_context
    - gf_assert
    - drawable_get_aspect_2d_mpeg4
    linkageType: ''
    returnType: DrawableContext*
    signature: 'DrawableContext *drawable_init_context_mpeg4(Drawable *drawable, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - node
    - asp
    - tr_state
    argTypes:
    - GF_Node*
    - DrawAspect2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: drawable_get_aspect_2d_svg
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool drawable_get_aspect_2d_svg(GF_Node *node, DrawAspect2D *asp,
      GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/drawable.c:34,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/drawable.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - drawable
    - tr_state
    argTypes:
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: drawable_draw
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - visual_2d_texture_path
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'void drawable_draw(Drawable *drawable, GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/drawable.c:270,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/drawable.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: drawable_node_del
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_del
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void drawable_node_del(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/drawable.c:907,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/drawable.c:912,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:912,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/drawable.c:910,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tr_state
    - asp
    argTypes:
    - GF_TraverseState*
    - DrawAspect2D*
    constantsTouched: []
    func_position:
      end: 913
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 913
    functionName: drawable_compute_line_scale
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_rect
    - gf_mx2d_apply_rect
    - gf_divfix
    - MAX
    linkageType: ''
    returnType: void
    signature: 'void drawable_compute_line_scale(GF_TraverseState *tr_state, DrawAspect2D
      *asp) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:1104,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:1123,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:1117,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/drawable.c:1116,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1119,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:1132,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/drawable.c:1146,1
    - Dst: drawable_compute_line_scale
      Src: /src/gpac/src/compositor/drawable.c:1152,1
    - Dst: drawable_lineprops_dirty
      Src: /src/gpac/src/compositor/drawable.c:1161,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:1173,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1187,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1176,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1183,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/drawable.c:1192,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1181,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/drawable.c:1195,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:1202,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 91
    argCount: 7
    argNames:
    - compositor
    - drawable
    - asp
    - appear
    - path
    - svg_flags
    - tr_state
    argTypes:
    - GF_Compositor*
    - Drawable*
    - DrawAspect2D*
    - GF_Node*
    - GF_Path*
    - u32
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1208
    functionName: drawable_get_strikeinfo
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - mesh_free
    - gf_node_get_tag
    - gf_mulfix
    - drawable_lineprops_dirty
    - gf_path_del
    - gf_divfix
    - GF_SAFEALLOC
    - gf_free
    - gf_list_del_item
    - drawable_compute_line_scale
    - gf_path_get_outline
    linkageType: ''
    returnType: StrikeInfo2D*
    signature: 'StrikeInfo2D *drawable_get_strikeinfo(GF_Compositor *compositor, Drawable
      *drawable, DrawAspect2D *asp, GF_Node *appear, GF_Path *path, u32 svg_flags,
      GF_TraverseState *tr_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/drawable.c:1252,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/drawable.c:1274,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/drawable.c:1255,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/drawable.c:1259,1
    - Dst: delete_strikeinfo2d
      Src: /src/gpac/src/compositor/drawable.c:1275,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:1279,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1281
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1281
    functionName: DestroyLineProps
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - delete_strikeinfo2d
    - gf_node_get_private
    - gf_list_enum
    - gf_list_rem
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void DestroyLineProps(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/drawable.c:41,1
    - Dst: gf_node_allow_cyclic_traverse
      Src: /src/gpac/src/compositor/drawable.c:46,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/drawable.c:47,1
    - Dst: gf_evg_surface_set_mask_mode
      Src: /src/gpac/src/compositor/drawable.c:52,1
    - Dst: drawable_draw
      Src: /src/gpac/src/compositor/drawable.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - tr_state
    - set_cyclic
    argTypes:
    - DrawableContext*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: call_drawable_draw
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_allow_cyclic_traverse
    - drawable_draw
    - gf_node_traverse
    - gf_evg_surface_set_mask_mode
    linkageType: ''
    returnType: void
    signature: 'void call_drawable_draw(DrawableContext *ctx, GF_TraverseState *tr_state,
      Bool set_cyclic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/drawable.c:275,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/drawable.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: drawable_stack_new
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_private
    linkageType: ''
    returnType: Drawable*
    signature: 'Drawable *drawable_stack_new(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: drawable_check_bounds
      Src: /src/gpac/src/compositor/drawable.c:922,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:945,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/drawable.c:930,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/drawable.c:927,1
    - Dst: drawable_compute_line_scale
      Src: /src/gpac/src/compositor/drawable.c:937,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/drawable.c:945,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/compositor/drawable.c:945,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/drawable.c:950,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/drawable.c:952,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/drawable.c:953,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/drawable.c:973,1
    - Dst: drawable_finalize_end
      Src: /src/gpac/src/compositor/drawable.c:978,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:955,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/drawable.c:980,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - ctx
    - tr_state
    - orig_bounds
    - skip_focus
    argTypes:
    - DrawableContext*
    - GF_TraverseState*
    - GF_Rect*
    - Bool
    constantsTouched: []
    func_position:
      end: 985
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 985
    functionName: drawable_finalize_sort_ex
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_mx2d_apply_rect
    - drawable_check_focus_highlight
    - drawable_check_bounds
    - gf_mulfix
    - gf_rect_pixelize
    - FLT2FIX
    - gf_v2d_len
    - drawable_get_strikeinfo
    - gf_divfix
    - drawable_finalize_end
    - drawable_compute_line_scale
    linkageType: ''
    returnType: void
    signature: 'void drawable_finalize_sort_ex(DrawableContext *ctx, GF_TraverseState
      *tr_state, GF_Rect *orig_bounds, Bool skip_focus) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:1214,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1217,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - Drawable*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1229
    functionName: drawable_reset_path_outline
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - mesh_free
    - gf_path_del
    linkageType: ''
    returnType: void
    signature: 'void drawable_reset_path_outline(Drawable *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:1286,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:1288,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/drawable.c:1293,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/drawable.c:1294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1295
    functionName: compositor_init_lineprops
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_lineprops(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/drawable.c:1499,1
    - Dst: visual_2d_get_drawable_context
      Src: /src/gpac/src/compositor/drawable.c:1519,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/drawable.c:1509,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/drawable.c:1502,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:1522,1
    - Dst: svg_appearance_flag_dirty
      Src: /src/gpac/src/compositor/drawable.c:1527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:1529,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/drawable.c:1529,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:1544,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/compositor/drawable.c:1546,1
    - Dst: drawable_check_texture_dirty
      Src: /src/gpac/src/compositor/drawable.c:1572,1
    - Dst: drawable_get_aspect_2d_svg
      Src: /src/gpac/src/compositor/drawable.c:1561,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:1549,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/drawable.c:1552,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 3
    argNames:
    - drawable
    - tr_state
    - clip_path
    argTypes:
    - Drawable*
    - GF_TraverseState*
    - SVG_ClipPath*
    constantsTouched: []
    func_position:
      end: 1585
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1585
    functionName: drawable_init_context_svg
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - svg_appearance_flag_dirty
    - gf_node_get_tag
    - gf_node_get_log_name
    - drawable_check_texture_dirty
    - GF_LOG
    - drawable_get_aspect_2d_svg
    - drawable_init_context_mpeg4
    - gf_sc_texture_get_handler
    - gf_cmx_copy
    - gf_sg_find_node_by_name
    - GF_SAFEALLOC
    - visual_2d_get_drawable_context
    - gf_mx2d_copy
    - gf_assert
    linkageType: ''
    returnType: DrawableContext*
    signature: 'DrawableContext *drawable_init_context_svg(Drawable *drawable, GF_TraverseState
      *tr_state, SVG_ClipPath *clip_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:149,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:154,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/drawable.c:152,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:157,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:161,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:162,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: drawable_new
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_path_del
    - gf_path_new
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: Drawable*
    signature: 'Drawable *drawable_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - visual
    argTypes:
    - struct _drawable_context*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 433
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 433
    functionName: drawable_has_same_bounds
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool drawable_has_same_bounds(struct _drawable_context *ctx, GF_VisualManager
      *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: NewDrawableContext
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: DrawableContext*
    signature: 'DrawableContext *NewDrawableContext() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:680,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:680,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - skipFill
    argTypes:
    - DrawableContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: check_transparent_skip
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_transparent_skip(DrawableContext *ctx, Bool skipFill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_finalize_sort_ex
      Src: /src/gpac/src/compositor/drawable.c:989,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tr_state
    - orig_bounds
    argTypes:
    - struct _drawable_context*
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: drawable_finalize_sort
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_finalize_sort_ex
    linkageType: ''
    returnType: void
    signature: 'void drawable_finalize_sort(struct _drawable_context *ctx, GF_TraverseState
      *tr_state, GF_Rect *orig_bounds) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/drawable.c:1331,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:1344,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/drawable.c:1348,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/drawable.c:1350,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1375,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1377,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/drawable.c:1393,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:1398,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/drawable.c:1417,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1419,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/drawable.c:1332,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:1337,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1358,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1360,1
    - Dst: compositor_svg_solid_color_dirty
      Src: /src/gpac/src/compositor/drawable.c:1412,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/drawable.c:1425,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1433,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1435,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:1442,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1322,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/drawable.c:1366,1
    - Dst: compositor_svg_solid_color_dirty
      Src: /src/gpac/src/compositor/drawable.c:1352,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/drawable.c:1357,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/compositor/drawable.c:1397,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:1457,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:1456,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/drawable.c:1321,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/compositor/drawable.c:1336,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:1343,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/drawable.c:1357,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:1384,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/drawable.c:1392,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:1404,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/drawable.c:1408,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/drawable.c:1410,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/drawable.c:1417,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 145
    argCount: 3
    argNames:
    - node
    - asp
    - tr_state
    argTypes:
    - GF_Node*
    - DrawAspect2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1460
    functionName: drawable_get_aspect_2d_svg
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_node_register_iri
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - MIN
    - gf_mulfix
    - GF_COL_ARGB_FIXED
    - gf_node_get_graph
    - gf_sc_texture_get_handler
    - gf_sg_find_node_by_name
    - gf_cmx_apply
    - gf_free
    - MAX
    - compositor_svg_solid_color_dirty
    linkageType: ''
    returnType: Bool
    signature: 'Bool drawable_get_aspect_2d_svg(GF_Node *node, DrawAspect2D *asp,
      GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - dr
    - visual
    argTypes:
    - Drawable*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: drawable_reset_bounds
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void drawable_reset_bounds(Drawable *dr, GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawctx_reset
      Src: /src/gpac/src/compositor/drawable.c:473,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - DrawableContext*
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: DeleteDrawableContext
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawctx_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void DeleteDrawableContext(DrawableContext *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/drawable.c:1009,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/drawable.c:1024,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/drawable.c:1018,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:1023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/drawable.c:1010,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/drawable.c:1030,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:1033,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/drawable.c:1038,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/drawable.c:1040,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/drawable.c:1041,1
    - Dst: gf_path_add_rect
      Src: /src/gpac/src/compositor/drawable.c:1042,1
    - Dst: visual_2d_get_drawable_context
      Src: /src/gpac/src/compositor/drawable.c:1044,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:1068,1
    - Dst: drawable_finalize_sort_ex
      Src: /src/gpac/src/compositor/drawable.c:1069,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/drawable.c:1064,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:1063,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - node
    - tr_state
    - orig_bounds
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1070
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1070
    functionName: drawable_check_focus_highlight
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_get_private
    - gf_sc_get_nodes_bounds
    - drawable_finalize_sort_ex
    - gf_list_count
    - gf_mx2d_init
    - drawable_reset_path
    - gf_node_set_private
    - visual_3d_draw_2d_with_aspect
    - gf_path_reset
    - visual_2d_get_drawable_context
    - gf_mx2d_copy
    - gf_path_add_rect
    linkageType: ''
    returnType: void
    signature: 'void drawable_check_focus_highlight(GF_Node *node, GF_TraverseState
      *tr_state, GF_Rect *orig_bounds) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - flags
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1494
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1494
    functionName: svg_appearance_flag_dirty
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_appearance_flag_dirty(u32 flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/drawable.c:136,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:137,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - Drawable*
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: drawable_init_ex
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_path_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void drawable_init_ex(Drawable *tmp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/drawable.c:374,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/drawable.c:374,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - drawable
    - on_visual
    - mode2d
    argTypes:
    - Drawable*
    - GF_VisualManager*
    - u32
    constantsTouched: []
    func_position:
      end: 394
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 394
    functionName: drawable_flush_bounds
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_get_class_name
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool drawable_flush_bounds(Drawable *drawable, GF_VisualManager *on_visual,
      u32 mode2d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/drawable.c:532,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/drawable.c:536,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/drawable.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: drawable_lineprops_dirty
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - gf_node_dirty_get
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'static Bool drawable_lineprops_dirty(GF_Node *node) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:704,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:705,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:729,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - drawable
    - tr_state
    argTypes:
    - DrawableContext*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 748
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 748
    functionName: drawable_check_texture_dirty
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    linkageType: ''
    returnType: void
    signature: 'void drawable_check_texture_dirty(DrawableContext *ctx, Drawable *drawable,
      GF_TraverseState *tr_state) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:836,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/drawable.c:853,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/drawable.c:848,1
    - Dst: visual_2d_overlaps_overlay
      Src: /src/gpac/src/compositor/drawable.c:871,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/drawable.c:839,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/drawable.c:874,1
    - Dst: call_drawable_draw
      Src: /src/gpac/src/compositor/drawable.c:878,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - tr_state
    argTypes:
    - struct _drawable_context*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 889
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 889
    functionName: drawable_finalize_end
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_irect_intersect
    - visual_2d_overlaps_overlay
    - GF_SAFEALLOC
    - gf_mx2d_copy
    - gf_assert
    - gf_irect_union
    - call_drawable_draw
    linkageType: ''
    returnType: Bool
    signature: 'static Bool drawable_finalize_end(struct _drawable_context *ctx, GF_TraverseState
      *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/drawable.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1079
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1079
    functionName: drawable_traverse_focus
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'void drawable_traverse_focus(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/drawable.c:564,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:592,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:583,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:585,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:573,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:594,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:603,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:607,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/drawable.c:612,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/drawable.c:616,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:642,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/drawable.c:626,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/drawable.c:651,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/drawable.c:670,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:654,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/compositor/drawable.c:645,1
    - Dst: drawable_lineprops_dirty
      Src: /src/gpac/src/compositor/drawable.c:637,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 98
    argCount: 3
    argNames:
    - node
    - asp
    - tr_state
    argTypes:
    - GF_Node*
    - DrawAspect2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 672
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 672
    functionName: drawable_get_aspect_2d_mpeg4
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_node_get_tag
    - drawable_lineprops_dirty
    - GF_COL_ARGB_FIXED
    - gf_sc_texture_get_handler
    - gf_divfix
    - gf_cmx_apply
    - FIX2INT
    linkageType: ''
    returnType: u32
    signature: 'u32 drawable_get_aspect_2d_mpeg4(GF_Node *node, DrawAspect2D *asp,
      GF_TraverseState *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drawable_check_alloc_bounds
      Src: /src/gpac/src/compositor/drawable.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - visual
    argTypes:
    - struct _drawable_context*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 898
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 898
    functionName: drawable_check_bounds
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_check_alloc_bounds
    linkageType: ''
    returnType: void
    signature: 'void drawable_check_bounds(struct _drawable_context *ctx, GF_VisualManager
      *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/drawable.c:1084,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/drawable.c:1086,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/drawable.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - StrikeInfo2D*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1089
    functionName: delete_strikeinfo2d
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - mesh_free
    - gf_path_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void delete_strikeinfo2d(StrikeInfo2D *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/drawable.c:73,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/drawable.c:94,1
    - Dst: compositor_is_composite_texture
      Src: /src/gpac/src/compositor/drawable.c:117,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:113,1
    - Dst: visual_3d_vrml_drawable_pick
      Src: /src/gpac/src/compositor/drawable.c:69,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/drawable.c:74,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/drawable.c:87,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/drawable.c:93,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/drawable.c:106,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/drawable.c:108,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/drawable.c:126,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/drawable.c:129,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/drawable.c:114,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/drawable.c:127,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/compositor/drawable.c:77,1
    - Dst: memset
      Src: /src/gpac/src/compositor/drawable.c:79,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/drawable.c:80,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/drawable.c:105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/drawable.c:129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - drawable
    - tr_state
    argTypes:
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 131
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 131
    functionName: vrml_drawable_pick
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_from_mx2d
    - gf_mx2d_inverse
    - gf_list_reset
    - compositor_is_composite_texture
    - memset
    - gf_mx2d_apply_coords
    - gf_list_get
    - gf_list_count
    - gf_path_point_over
    - drawable_get_strikeinfo
    - gf_divfix
    - gf_mx2d_copy
    - visual_3d_vrml_drawable_pick
    - drawable_get_aspect_2d_mpeg4
    linkageType: ''
    returnType: void
    signature: 'void vrml_drawable_pick(Drawable *drawable, GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/drawable.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - drawable
    - tr_state
    argTypes:
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: drawable_mark_modified
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached:
    - drawable_reset_group_highlight
    linkageType: ''
    returnType: void
    signature: 'void drawable_mark_modified(Drawable *drawable, GF_TraverseState *tr_state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - drawable
    - rc
    - visual
    argTypes:
    - Drawable*
    - GF_IRect*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 461
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 461
    functionName: drawable_get_previous_bound
    functionSourceFile: /src/gpac/src/compositor/drawable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool drawable_get_previous_bound(Drawable *drawable, GF_IRect *rc,
      GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:52,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:57,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:56,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: SVG_DestroyPaintServer
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_destroy
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void SVG_DestroyPaintServer(GF_Node *node) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/svg_paint_servers.c:70,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_paint_servers.c:74,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:80,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_paint_servers.c:75,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/compositor/svg_paint_servers.c:79,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:92,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 2
    argNames:
    - node
    - all_atts
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 108
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 108
    functionName: svg_copy_gradient_attributes_from
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_register_iri
    - gf_svg_flatten_attributes
    - gf_node_get_attribute_by_tag
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    - gf_free
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *svg_copy_gradient_attributes_from(GF_Node *node, SVGAllAttributes
      *all_atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:491,1
    - Dst: svg_update_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: SVG_UpdateLinearGradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - svg_update_gradient
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void SVG_UpdateLinearGradient(GF_TextureHandler *txh) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:503,1
    - Dst: svg_copy_gradient_attributes_from
      Src: /src/gpac/src/compositor/svg_paint_servers.c:514,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/svg_paint_servers.c:506,1
    - Dst: svg_update_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:509,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:511,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_paint_servers.c:516,1
    - Dst: compositor_svg_get_gradient_bounds
      Src: /src/gpac/src/compositor/svg_paint_servers.c:525,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:526,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:526,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:526,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:564,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:559,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:567,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:565,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:532,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 4
    argNames:
    - txh
    - bounds
    - mat
    - for_3d
    argTypes:
    - GF_TextureHandler*
    - GF_Rect*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 568
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 568
    functionName: SVG_LG_ComputeMatrix
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - svg_update_gradient
    - gf_svg_flatten_attributes
    - gf_mx2d_add_translation
    - gf_node_get_private
    - compositor_svg_get_gradient_bounds
    - gf_evg_stencil_set_gradient_mode
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - gf_sc_texture_get_stencil
    - gf_divfix
    - gf_evg_stencil_set_linear_gradient
    - svg_copy_gradient_attributes_from
    - gf_mx2d_copy
    linkageType: ''
    returnType: void
    signature: 'static void SVG_LG_ComputeMatrix(GF_TextureHandler *txh, GF_Rect *bounds,
      GF_Matrix2D *mat, Bool for_3d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:598,1
    - Dst: svg_update_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: SVG_UpdateRadialGradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - svg_update_gradient
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void SVG_UpdateRadialGradient(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_paint_servers.c:573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_paint_servers.c:575,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_paint_servers.c:590,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 591
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 591
    functionName: compositor_init_svg_linearGradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_linearGradient(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:610,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/svg_paint_servers.c:615,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_paint_servers.c:625,1
    - Dst: compositor_svg_get_gradient_bounds
      Src: /src/gpac/src/compositor/svg_paint_servers.c:634,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:635,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:635,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:635,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:636,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:636,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:696,1
    - Dst: svg_update_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:618,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:636,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:664,1
    - Dst: gf_evg_stencil_set_radial_gradient
      Src: /src/gpac/src/compositor/svg_paint_servers.c:699,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:620,1
    - Dst: svg_copy_gradient_attributes_from
      Src: /src/gpac/src/compositor/svg_paint_servers.c:623,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/svg_paint_servers.c:638,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/svg_paint_servers.c:687,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/svg_paint_servers.c:688,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:697,1
    - Dst: gf_v2d_distance
      Src: /src/gpac/src/compositor/svg_paint_servers.c:685,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:643,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 4
    argNames:
    - txh
    - bounds
    - mat
    - for_3d
    argTypes:
    - GF_TextureHandler*
    - GF_Rect*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 700
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 700
    functionName: SVG_RG_ComputeMatrix
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - svg_update_gradient
    - gf_svg_flatten_attributes
    - gf_mx2d_add_translation
    - gf_node_get_private
    - compositor_svg_get_gradient_bounds
    - gf_muldiv
    - gf_evg_stencil_set_gradient_mode
    - gf_mx2d_init
    - gf_mx2d_add_scale
    - gf_sc_texture_get_stencil
    - gf_v2d_distance
    - gf_divfix
    - svg_copy_gradient_attributes_from
    - gf_mx2d_copy
    - gf_evg_stencil_set_radial_gradient
    linkageType: ''
    returnType: void
    signature: 'static void SVG_RG_ComputeMatrix(GF_TextureHandler *txh, GF_Rect *bounds,
      GF_Matrix2D *mat, Bool for_3d) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/svg_paint_servers.c:360,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_paint_servers.c:384,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:415,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_paint_servers.c:419,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/svg_paint_servers.c:421,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_paint_servers.c:423,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_paint_servers.c:424,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:437,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/svg_paint_servers.c:443,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:443,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:438,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:447,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/svg_paint_servers.c:449,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/svg_paint_servers.c:371,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:375,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/svg_paint_servers.c:388,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_paint_servers.c:428,1
    - Dst: compositor_svg_get_gradient_bounds
      Src: /src/gpac/src/compositor/svg_paint_servers.c:440,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/svg_paint_servers.c:451,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:452,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:442,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:364,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/svg_paint_servers.c:367,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:409,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/svg_paint_servers.c:393,1
    - Dst: gf_evg_surface_attach_to_texture
      Src: /src/gpac/src/compositor/svg_paint_servers.c:412,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:414,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_paint_servers.c:422,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_paint_servers.c:425,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/svg_paint_servers.c:426,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:444,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:448,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/svg_paint_servers.c:481,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:431,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/svg_paint_servers.c:454,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/svg_paint_servers.c:450,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/svg_paint_servers.c:359,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/svg_paint_servers.c:373,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_paint_servers.c:386,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:406,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/svg_paint_servers.c:401,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_paint_servers.c:391,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:399,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:408,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_paint_servers.c:400,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:435,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/svg_paint_servers.c:453,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_paint_servers.c:443,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 162
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 483
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 483
    functionName: compositor_svg_build_gradient_texture
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_svg_flatten_attributes
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_path_add_line_to
    - gf_sc_texture_get_stencil
    - gf_evg_surface_set_raster_level
    - gf_divfix
    - gf_evg_surface_new
    - gf_mx2d_copy
    - gf_path_add_move_to
    - gf_evg_surface_attach_to_texture
    - gf_list_find
    - gf_evg_surface_delete
    - gf_evg_stencil_set_texture
    - gf_mx2d_init
    - gf_list_insert
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - gf_evg_stencil_new
    - gf_evg_stencil_set_matrix
    - gf_free
    - gf_evg_stencil_delete
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - gf_evg_stencil_set_auto_matrix
    - gf_node_get_private
    - compositor_svg_get_gradient_bounds
    - gf_path_close
    - gf_path_del
    - gf_path_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_svg_build_gradient_texture(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SVG_DestroyPaintServer
      Src: /src/gpac/src/compositor/svg_paint_servers.c:281,1
    - Dst: svg_gradient_traverse
      Src: /src/gpac/src/compositor/svg_paint_servers.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: svg_traverse_gradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - SVG_DestroyPaintServer
    - svg_gradient_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_gradient(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_PaintServer
      Src: /src/gpac/src/compositor/svg_paint_servers.c:790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: svg_traverse_stop
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - svg_traverse_PaintServer
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_stop(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: compositor_svg_get_gradient_texture
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *compositor_svg_get_gradient_texture(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_paint_servers.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: compositor_init_svg_stop
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_stop(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:815,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:837,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_paint_servers.c:826,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:842,1
    - Dst: gf_evg_surface_get_mask_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:845,1
    - Dst: gf_evg_surface_set_mask_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:847,1
    - Dst: gf_svg_properties_init_pointers
      Src: /src/gpac/src/compositor/svg_paint_servers.c:851,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_paint_servers.c:853,1
    - Dst: gf_svg_properties_reset_pointers
      Src: /src/gpac/src/compositor/svg_paint_servers.c:855,1
    - Dst: gf_evg_surface_set_mask_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:858,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:865,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 866
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 866
    functionName: svg_traverse_clip_path
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_set_mask_mode
    - gf_node_get_private
    - gf_svg_properties_reset_pointers
    - GF_LOG
    - compositor_svg_traverse_children
    - gf_free
    - gf_mx2d_copy
    - gf_evg_surface_get_mask_mode
    - gf_svg_properties_init_pointers
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_clip_path(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_paint_servers.c:871,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:873,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_paint_servers.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: compositor_init_svg_clip_path
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_clip_path(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:120,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_paint_servers.c:124,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:122,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_paint_servers.c:140,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_paint_servers.c:172,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_paint_servers.c:179,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/svg_paint_servers.c:192,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/svg_paint_servers.c:219,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:240,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_paint_servers.c:142,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:143,1
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/compositor/svg_paint_servers.c:148,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/svg_paint_servers.c:218,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/svg_paint_servers.c:222,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/svg_paint_servers.c:232,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:131,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/svg_paint_servers.c:157,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:171,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_paint_servers.c:159,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/svg_paint_servers.c:189,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:210,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/svg_paint_servers.c:233,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_paint_servers.c:128,1
    - Dst: svg_copy_gradient_attributes_from
      Src: /src/gpac/src/compositor/svg_paint_servers.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:145,1
    - Dst: gf_node_animation_count
      Src: /src/gpac/src/compositor/svg_paint_servers.c:174,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_paint_servers.c:177,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_paint_servers.c:169,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_paint_servers.c:158,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/svg_paint_servers.c:187,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/svg_paint_servers.c:220,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/svg_paint_servers.c:226,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 3
    argNames:
    - node
    - tr_state
    - real_traverse
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 242
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 242
    functionName: svg_gradient_traverse
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - compositor_svg_traverse_base
    - gf_sc_texture_allocate
    - GF_COL_ARGB_FIXED
    - gf_sc_texture_get_stencil
    - gf_node_dirty_clear
    - gf_node_list_get_count
    - gf_node_dirty_get
    - gf_evg_stencil_set_gradient_interpolation
    - gf_evg_stencil_new
    - gf_node_animation_count
    - memcpy
    - gf_free
    - svg_copy_gradient_attributes_from
    - GF_COL_A
    - gf_node_get_private
    - gf_evg_stencil_set_gradient_mode
    - gf_sc_texture_set_stencil
    linkageType: ''
    returnType: void
    signature: 'static void svg_gradient_traverse(GF_Node *node, GF_TraverseState
      *tr_state, Bool real_traverse) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_paint_servers.c:705,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_paint_servers.c:721,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_paint_servers.c:707,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 722
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 722
    functionName: compositor_init_svg_radialGradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_radialGradient(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:771,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:772,1
    - Dst: svg_traverse_PaintServer
      Src: /src/gpac/src/compositor/svg_paint_servers.c:775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: svg_traverse_solidColor
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - svg_traverse_PaintServer
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_solidColor(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_paint_servers.c:251,1
    - Dst: svg_gradient_traverse
      Src: /src/gpac/src/compositor/svg_paint_servers.c:264,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_paint_servers.c:259,1
    - Dst: gf_svg_properties_reset_pointers
      Src: /src/gpac/src/compositor/svg_paint_servers.c:266,1
    - Dst: gf_svg_properties_init_pointers
      Src: /src/gpac/src/compositor/svg_paint_servers.c:261,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_paint_servers.c:267,1
    - Dst: svg_gradient_traverse
      Src: /src/gpac/src/compositor/svg_paint_servers.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - st
    - children
    - linear
    argTypes:
    - SVG_GradientStack*
    - GF_ChildNodeItem*
    - Bool
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: svg_update_gradient
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_svg_properties_reset_pointers
    - gf_node_dirty_get
    - svg_gradient_traverse
    - GF_SAFEALLOC
    - gf_free
    - gf_svg_properties_init_pointers
    linkageType: ''
    returnType: void
    signature: 'static void svg_update_gradient(SVG_GradientStack *st, GF_ChildNodeItem
      *children, Bool linear) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_paint_servers.c:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - txh
    - all_atts
    argTypes:
    - GF_TextureHandler*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 339
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 339
    functionName: compositor_svg_get_gradient_bounds
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_Rect
    signature: 'static GF_Rect compositor_svg_get_gradient_bounds(GF_TextureHandler
      *txh, SVGAllAttributes *all_atts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SVG_DestroyPaintServer
      Src: /src/gpac/src/compositor/svg_paint_servers.c:736,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_paint_servers.c:741,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_paint_servers.c:746,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_paint_servers.c:748,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_paint_servers.c:740,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - node
    - rs
    - is_destroy
    - is_solid_color
    argTypes:
    - GF_Node*
    - void*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 750
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 750
    functionName: svg_traverse_PaintServer
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - SVG_DestroyPaintServer
    - memcpy
    - compositor_svg_traverse_children
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_PaintServer(GF_Node *node, void *rs, Bool
      is_destroy, Bool is_solid_color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:760,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_paint_servers.c:764,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_paint_servers.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 766
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: compositor_svg_solid_color_dirty
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - gf_node_dirty_get
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_svg_solid_color_dirty(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_paint_servers.c:782,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_paint_servers.c:785,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_paint_servers.c:784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: compositor_init_svg_solidColor
    functionSourceFile: /src/gpac/src/compositor/svg_paint_servers.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_solidColor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: PlanarExtrusion_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:218,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:238,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:262,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/hardcoded_protos.c:272,1
    - Dst: mesh_extrude_path_ext
      Src: /src/gpac/src/compositor/hardcoded_protos.c:293,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/hardcoded_protos.c:313,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:349,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:359,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:370,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:235,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:248,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/hardcoded_protos.c:254,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/hardcoded_protos.c:288,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/hardcoded_protos.c:273,1
    - Dst: gf_sg_sfrotation_interpolate
      Src: /src/gpac/src/compositor/hardcoded_protos.c:332,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:350,1
    - Dst: mesh_extrude_path_ext
      Src: /src/gpac/src/compositor/hardcoded_protos.c:355,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:360,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/hardcoded_protos.c:365,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:211,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/hardcoded_protos.c:240,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/hardcoded_protos.c:274,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/hardcoded_protos.c:304,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/hardcoded_protos.c:312,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:320,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:329,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:363,1
    - Dst: drawable_3d_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:214,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:222,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:236,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/hardcoded_protos.c:271,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/hardcoded_protos.c:280,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:270,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/hardcoded_protos.c:287,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/hardcoded_protos.c:306,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:337,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:346,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/hardcoded_protos.c:366,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 164
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 374
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 374
    functionName: TraversePlanarExtrusion
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_divfix
    - gf_node_dirty_clear
    - gf_path_flatten
    - mesh_reset
    - gf_path_get_bounds
    - gf_node_traverse
    - gf_vec_len
    - gf_vec_diff
    - gf_node_dirty_get
    - gf_sg_vrml_mf_reset
    - drawable_3d_del
    - PlanarExtrusion_GetNode
    - gf_mesh_build_aabbtree
    - visual_3d_draw
    - gf_sg_sfrotation_interpolate
    - gf_sg_vrml_mf_alloc
    - mesh_extrude_path_ext
    - gf_node_get_private
    - gf_mulfix
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'static void TraversePlanarExtrusion(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OffscreenGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:597,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:604,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:599,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:601,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:605,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 610
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 610
    functionName: compositor_init_offscreen_group
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - OffscreenGroup_GetNode
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_offscreen_group(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:729,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:748,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:741,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:745,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:732,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/hardcoded_protos.c:753,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/hardcoded_protos.c:755,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 757
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 757
    functionName: TraverseDepthViewPoint
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - gf_sc_invalidate
    - gf_node_get_field
    - gf_node_dirty_get
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void TraverseDepthViewPoint(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:850,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: compositor_init_idx_curve2d
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'static void compositor_init_idx_curve2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1097,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1104,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1100,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - node
    - ts
    argTypes:
    - GF_Node*
    - TestSensor*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1112
    functionName: TestSensor_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool TestSensor_GetNode(GF_Node *node, TestSensor *ts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1129,1
    - Dst: TestSensor_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1130,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1140,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - struct _route*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1141
    functionName: TestSensor_OnTrigger
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    - gf_node_get_field
    - TestSensor_GetNode
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void TestSensor_OnTrigger(GF_Node *node, struct _route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:172,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:174,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:177,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:180,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:183,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:186,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:189,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:192,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:195,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:198,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - node
    - path_ext
    argTypes:
    - GF_Node*
    - PlanarExtrusion*
    constantsTouched: []
    func_position:
      end: 205
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 205
    functionName: PlanarExtrusion_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PlanarExtrusion_GetNode(GF_Node *node, PlanarExtrusion
      *path_ext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:378,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: compositor_init_planar_extrusion
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_planar_extrusion(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1014,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1020,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - node
    - sg
    argTypes:
    - GF_Node*
    - StyleGroup*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1024
    functionName: StyleGroup_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool StyleGroup_GetNode(GF_Node *node, StyleGroup *sg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1117,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1123
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1123
    functionName: TraverseTestSensor
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTestSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestSensor_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1146,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1149,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1151,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1155,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1154,1
    - Dst: gf_node_set_proto_eventin_handler
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1160,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1160,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1165
    functionName: compositor_init_test_sensor
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_error_to_string
    - gf_node_set_proto_eventin_handler
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - TestSensor_GetNode
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_test_sensor(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1792,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1794
    functionName: compositor_init_srd_sphere
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'static void compositor_init_srd_sphere(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:103,1
    - Dst: PathExtrusion_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:109,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:113,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:117,1
    - Dst: drawable_3d_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:106,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:120,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/hardcoded_protos.c:122,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:130,1
    - Dst: mesh_extrude_path
      Src: /src/gpac/src/compositor/hardcoded_protos.c:132,1
    - Dst: compositor_extrude_text
      Src: /src/gpac/src/compositor/hardcoded_protos.c:135,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:141,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: TraversePathExtrusion
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_node_dirty_clear
    - gf_node_get_tag
    - gf_node_get_private
    - visual_3d_draw
    - gf_node_dirty_get
    - PathExtrusion_GetNode
    - mesh_extrude_path
    - compositor_extrude_text
    - drawable_3d_del
    linkageType: ''
    returnType: void
    signature: 'static void TraversePathExtrusion(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Untransform_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:980,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:987,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:984,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:988,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 992
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 992
    functionName: compositor_init_untransform
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - Untransform_GetNode
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_untransform(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1187,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - node
    - tx
    argTypes:
    - GF_Node*
    - CustomTexture*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1195
    functionName: CustomTexture_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CustomTexture_GetNode(GF_Node *node, CustomTexture *tx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CustomTexture_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1270,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1272,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1278,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1274,1
    - Dst: gf_sc_check_gl_support
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1283,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1293
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1293
    functionName: compositor_init_custom_texture
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_sc_check_gl_support
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - CustomTexture_GetNode
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_custom_texture(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1497,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1525,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1505,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1527,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1532,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1572,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1574,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1600,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1624,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1626,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1633,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1645,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1541,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1548,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1549,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1614,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1617,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1632,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1635,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1643,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1544,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1569,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1554,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1546,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1578,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1579,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1586,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1604,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1615,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1622,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1504,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1520,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1543,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1576,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1573,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1581,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1602,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1612,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1625,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1630,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1644,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1639,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 146
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1648
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1648
    functionName: TraverseVRHUD
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_node_get_private
    - visual_3d_set_viewport
    - visual_3d_enable_depth_buffer
    - visual_3d_projection_matrix_modified
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_vec_norm
    - gf_mx_copy
    - gf_atan2
    linkageType: ''
    returnType: void
    signature: 'static void TraverseVRHUD(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:71,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:82,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:79,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:73,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:76,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:85,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:88,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:91,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - node
    - path_ext
    argTypes:
    - GF_Node*
    - PathExtrusion*
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: PathExtrusion_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PathExtrusion_GetNode(GF_Node *node, PathExtrusion *path_ext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:149,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: compositor_init_path_extrusion
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'static void compositor_init_path_extrusion(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:632,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:641,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:635,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - node
    - dg
    argTypes:
    - GF_Node*
    - DepthGroup*
    constantsTouched: []
    func_position:
      end: 645
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 645
    functionName: DepthGroup_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool DepthGroup_GetNode(GF_Node *node, DepthGroup *dg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: compositor_init_depth_viewpoint
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'static void compositor_init_depth_viewpoint(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:782,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:792,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:795,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:786,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - node
    - ic2d
    argTypes:
    - GF_Node*
    - IndexedCurve2D*
    constantsTouched: []
    func_position:
      end: 799
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 799
    functionName: IndexedCurve2D_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool IndexedCurve2D_GetNode(GF_Node *node, IndexedCurve2D *ic2d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1199,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1204,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1207
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1207
    functionName: TraverseCustomTexture
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_sc_texture_destroy
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void TraverseCustomTexture(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1653,1
    - Dst: gf_sg_get_parent
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1654,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1660,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1658,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1656,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1661,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: compositor_init_vrhud
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - gf_node_set_callback_function
    - GF_LOG
    - gf_sg_get_parent
    - gf_node_get_graph
    - gf_node_set_private
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_vrhud(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1673,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1703,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1707,1
    - Dst: get_tx_coords_from_angle
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1731,1
    - Dst: gf_mo_hint_visible_rect
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1734,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1752,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1778,1
    - Dst: gf_mo_get_srd_info
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1687,1
    - Dst: drawable_3d_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1676,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1694,1
    - Dst: mesh_new_sphere
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1709,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1724,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1725,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1723,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1726,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1757,1
    - Dst: gf_mo_hint_gaze
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1774,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1686,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1683,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1690,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1692,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1702,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1709,1
    - Dst: mesh_new_spherical_srd
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1707,1
    - Dst: get_tx_coords_from_angle
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1732,1
    - Dst: visual_3d_setup_ray
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1746,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1756,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1713,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1719,1
    - Dst: visual_3d_vrml_drawable_pick
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1747,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 140
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1789
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1789
    functionName: TraverseSRDSphere
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - visual_3d_enable_antialias
    - INT2FIX
    - GF_LOG
    - gf_sc_texture_get_handler
    - gf_mo_hint_gaze
    - gf_node_dirty_clear
    - mesh_reset
    - gf_node_dirty_get
    - gf_filter_pid_get_name
    - visual_3d_vrml_drawable_pick
    - drawable_3d_del
    - MAX
    - visual_3d_draw
    - visual_3d_enable_depth_buffer
    - get_tx_coords_from_angle
    - mesh_new_spherical_srd
    - gf_node_get_private
    - mesh_new_sphere
    - gf_filter_pid_get_property
    - gf_mo_hint_visible_rect
    - gf_mo_get_srd_info
    - visual_3d_setup_ray
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSRDSphere(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:505,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:511,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:508,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - node
    - og
    argTypes:
    - GF_Node*
    - OffscreenGroup*
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: OffscreenGroup_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OffscreenGroup_GetNode(GF_Node *node, OffscreenGroup *og) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:654,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/hardcoded_protos.c:667,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:665,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:663,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:658,1
    - Dst: DepthGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:670,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:681,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:688,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/hardcoded_protos.c:689,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:692,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:693,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:690,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/hardcoded_protos.c:691,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 706
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 706
    functionName: TraverseDepthGroup
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - gf_node_get_private
    - gf_mulfix
    - gf_mx_add_matrix
    - gf_node_dirty_get
    - gf_mx_init
    - DepthGroup_GetNode
    - gf_free
    - group_2d_traverse
    - gf_mx_copy
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void TraverseDepthGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1317,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1314,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1419,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1357,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1383,1
    - Dst: visual_3d_vrml_drawable_pick
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1417,1
    - Dst: gf_sc_texture_play_from_to
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1435,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1443,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1455,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1336,1
    - Dst: mesh_new_sphere
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1344,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1431,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1448,1
    - Dst: gf_mo_hint_quality_degradation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1467,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1463,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1304,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1332,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1334,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1442,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1462,1
    - Dst: gf_mo_get_srd_info
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1318,1
    - Dst: drawable_3d_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1307,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1350,1
    - Dst: visual_3d_setup_ray
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1398,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1454,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1460,1
    - Dst: gf_mo_hint_quality_degradation
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1469,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1461,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 161
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1478
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1478
    functionName: TraverseVRGeometry
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - INT2FIX
    - visual_3d_enable_antialias
    - gf_sc_texture_get_handler
    - gf_node_dirty_clear
    - mesh_reset
    - gf_sc_texture_play_from_to
    - gf_node_dirty_get
    - gf_filter_pid_get_name
    - visual_3d_vrml_drawable_pick
    - drawable_3d_del
    - MAX
    - visual_3d_draw
    - visual_3d_enable_depth_buffer
    - gf_sc_texture_stop_no_unregister
    - gf_mo_hint_quality_degradation
    - gf_plane_get_distance
    - gf_node_get_private
    - mesh_new_sphere
    - gf_mo_get_srd_info
    - visual_3d_setup_ray
    linkageType: ''
    returnType: void
    signature: 'static void TraverseVRGeometry(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:533,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:528,1
    - Dst: group_cache_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:539,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/hardcoded_protos.c:550,1
    - Dst: group_cache_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:557,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:563,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/compositor/hardcoded_protos.c:564,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:523,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:544,1
    - Dst: group_cache_draw
      Src: /src/gpac/src/compositor/hardcoded_protos.c:580,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:527,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:548,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:554,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/hardcoded_protos.c:568,1
    - Dst: OffscreenGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:534,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:560,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:581,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:574,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:559,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:583,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/hardcoded_protos.c:589,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 592
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 592
    functionName: TraverseOffscreenGroup
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - group_cache_new
    - group_cache_draw
    - gf_node_dirty_set
    - gf_node_get_private
    - group_cache_del
    - gf_node_get_field
    - gf_node_dirty_get
    - OffscreenGroup_GetNode
    - gf_free
    - vrml_drawable_pick
    - group_2d_traverse
    - gf_node_dirty_clear
    - group_cache_traverse
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void TraverseOffscreenGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DepthGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:711,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:719,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:718,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:715,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:721,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 724
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 724
    functionName: compositor_init_depth_group
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - DepthGroup_GetNode
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_depth_group(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:808,1
    - Dst: IndexedCurve2D_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:816,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/hardcoded_protos.c:811,1
    - Dst: curve2d_check_changes
      Src: /src/gpac/src/compositor/hardcoded_protos.c:818,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:815,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/hardcoded_protos.c:825,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/hardcoded_protos.c:826,1
    - Dst: visual_3d_draw_2d
      Src: /src/gpac/src/compositor/hardcoded_protos.c:828,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/hardcoded_protos.c:832,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/hardcoded_protos.c:835,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/hardcoded_protos.c:841,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/hardcoded_protos.c:843,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 846
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 846
    functionName: TraverseIndexedCurve2D
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - gf_node_get_private
    - drawable_finalize_sort
    - mesh_from_path
    - gf_node_dirty_get
    - IndexedCurve2D_GetNode
    - new_mesh
    - drawable_init_context_mpeg4
    - drawable_node_del
    - curve2d_check_changes
    - visual_3d_draw_2d
    - vrml_drawable_pick
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIndexedCurve2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:874,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - node
    - tr
    argTypes:
    - GF_Node*
    - Untransform*
    constantsTouched: []
    func_position:
      end: 881
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 881
    functionName: Untransform_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool Untransform_GetNode(GF_Node *node, Untransform *tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1483,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1485
    functionName: compositor_init_vr_geometry
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'static void compositor_init_vr_geometry(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_proto
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1915,1
    - Dst: gf_sg_proto_get_extern_url
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1917,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1922,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1921,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1927
    functionName: gf_sc_hardcoded_proto_get_texture_handler
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_extern_url
    - gf_node_get_proto
    - strcmp
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *gf_sc_hardcoded_proto_get_texture_handler(GF_Node
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:400,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:409,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:403,1
    - Dst: CHECK_FIELD
      Src: /src/gpac/src/compositor/hardcoded_protos.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - node
    - pc
    argTypes:
    - GF_Node*
    - PlaneClipper*
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: PlaneClipper_GetNode
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool PlaneClipper_GetNode(GF_Node *node, PlaneClipper *pc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:895,1
    - Dst: camera_invalidate
      Src: /src/gpac/src/compositor/hardcoded_protos.c:900,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/hardcoded_protos.c:896,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:909,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/hardcoded_protos.c:916,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:918,1
    - Dst: gf_node_traverse_children
      Src: /src/gpac/src/compositor/hardcoded_protos.c:930,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:933,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:943,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/hardcoded_protos.c:952,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:914,1
    - Dst: gf_node_traverse_children
      Src: /src/gpac/src/compositor/hardcoded_protos.c:941,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:944,1
    - Dst: camera_update
      Src: /src/gpac/src/compositor/hardcoded_protos.c:904,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:898,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/hardcoded_protos.c:908,1
    - Dst: gf_node_traverse_children
      Src: /src/gpac/src/compositor/hardcoded_protos.c:911,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:913,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:923,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:932,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/hardcoded_protos.c:922,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:951,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:954,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:956,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - node
    - rs
    - grp
    argTypes:
    - GF_Node*
    - void*
    - GroupingNode2D*
    constantsTouched: []
    func_position:
      end: 958
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 958
    functionName: TraverseUntransformEx
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - group_2d_traverse
    - gf_node_traverse_children
    - camera_update
    - visual_3d_set_viewport
    - visual_3d_projection_matrix_modified
    - INT2FIX
    - camera_invalidate
    - gf_mx2d_init
    - gf_mx_init
    - memcpy
    - gf_mx2d_copy
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'void TraverseUntransformEx(GF_Node *node, void *rs, GroupingNode2D
      *grp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1030,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1034,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1041,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1039,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1043,1
    - Dst: StyleGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1046,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1052,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1057
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1057
    functionName: TraverseStyleGroup
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_dirty_clear
    - gf_node_get_private
    - gf_node_dirty_get
    - StyleGroup_GetNode
    - gf_free
    - group_2d_traverse
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void TraverseStyleGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: compositor_init_plane_clipper
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1824,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1844,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1831,1
    - Dst: compositor_init_idx_curve2d
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1853,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1860,1
    - Dst: compositor_init_test_sensor
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1871,1
    - Dst: gf_sg_proto_get_extern_url
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1808,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1815,1
    - Dst: compositor_init_planar_extrusion
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1820,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1827,1
    - Dst: compositor_init_srd_sphere
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1836,1
    - Dst: compositor_init_depth_viewpoint
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1849,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1856,1
    - Dst: compositor_init_style_group
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1867,1
    - Dst: compositor_init_custom_texture
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1875,1
    - Dst: gf_node_get_proto
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1806,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1823,1
    - Dst: compositor_init_depth_group
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1845,1
    - Dst: compositor_init_vrhud
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1832,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1852,1
    - Dst: compositor_init_hc_flashshape
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1862,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1870,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1883,1
    - Dst: compositor_init_path_extrusion
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1816,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1819,1
    - Dst: compositor_init_vr_geometry
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1828,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1835,1
    - Dst: compositor_init_offscreen_group
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1841,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1840,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1848,1
    - Dst: compositor_init_untransform
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1857,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1866,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1874,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1891
    functionName: gf_sc_init_hardcoded_proto
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_get_proto
    - compositor_init_untransform
    - gf_sg_proto_get_extern_url
    - compositor_init_depth_group
    - compositor_init_idx_curve2d
    - compositor_init_path_extrusion
    - compositor_init_hc_flashshape
    - compositor_init_style_group
    - strcmp
    - compositor_init_depth_viewpoint
    - compositor_init_planar_extrusion
    - compositor_init_vrhud
    - compositor_init_custom_texture
    - gf_list_enum
    - compositor_init_plane_clipper
    - compositor_init_srd_sphere
    - compositor_init_offscreen_group
    - compositor_init_vr_geometry
    - compositor_init_test_sensor
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_init_hardcoded_proto(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:417,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:425,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:427,1
    - Dst: group_3d_delete
      Src: /src/gpac/src/compositor/hardcoded_protos.c:421,1
    - Dst: PlaneClipper_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:426,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:431,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/hardcoded_protos.c:437,1
    - Dst: visual_3d_set_clip_plane
      Src: /src/gpac/src/compositor/hardcoded_protos.c:438,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:441,1
    - Dst: visual_3d_reset_clip_plane
      Src: /src/gpac/src/compositor/hardcoded_protos.c:442,1
    - Dst: gf_mx_apply_plane
      Src: /src/gpac/src/compositor/hardcoded_protos.c:446,1
    - Dst: group_3d_traverse
      Src: /src/gpac/src/compositor/hardcoded_protos.c:449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: TraversePlaneClipper
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - group_3d_traverse
    - visual_3d_reset_clip_plane
    - gf_node_get_private
    - gf_node_dirty_get
    - gf_mx_copy
    - PlaneClipper_GetNode
    - gf_node_dirty_clear
    - group_3d_delete
    - gf_mx_apply_plane
    - visual_3d_set_clip_plane
    linkageType: ''
    returnType: void
    signature: 'static void TraversePlaneClipper(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaneClipper_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:459,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:467,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:461,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:463,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/hardcoded_protos.c:470,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 475
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 475
    functionName: compositor_init_plane_clipper
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - PlaneClipper_GetNode
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_plane_clipper(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:961,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/hardcoded_protos.c:969,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/hardcoded_protos.c:965,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/hardcoded_protos.c:971,1
    - Dst: Untransform_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:970,1
    - Dst: TraverseUntransformEx
      Src: /src/gpac/src/compositor/hardcoded_protos.c:974,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 975
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 975
    functionName: TraverseUntransform
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - Untransform_GetNode
    - gf_node_get_private
    - TraverseUntransformEx
    - gf_node_dirty_get
    - gf_free
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseUntransform(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StyleGroup_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1062,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1066,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1070,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1064,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1069,1
    - Dst: gf_node_proto_set_grouping
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1072,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: compositor_init_style_group
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_node_proto_set_grouping
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - StyleGroup_GetNode
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_style_group(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1218,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1238,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1222,1
    - Dst: gf_sc_texture_get_gl_id
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1229,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1241,1
    - Dst: gf_sc_texture_get_gl_id
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1244,1
    - Dst: CustomTexture_GetNode
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1250,1
    - Dst: memset
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1254,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1255,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1256,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1257,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1260,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1265
    functionName: CustomTexture_update
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_data
    - memset
    - gf_node_get_private
    - glBindTexture
    - gf_sc_texture_allocate
    - glTexImage2D
    - gf_sc_texture_push_image
    - CustomTexture_GetNode
    - FIX2FLT
    - gf_sc_texture_get_gl_id
    linkageType: ''
    returnType: void
    signature: 'static void CustomTexture_update(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/hardcoded_protos.c:1899,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - uri
    argTypes:
    - GF_Compositor*
    - char*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1906
    functionName: gf_sc_uri_is_hardcoded_proto
    functionSourceFile: /src/gpac/src/compositor/hardcoded_protos.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_uri_is_hardcoded_proto(GF_Compositor *compositor, const
      char *uri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: visual_2d_init_raster
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err visual_2d_init_raster(GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - visual
    - rc
    - BackColor
    - is_offscreen
    argTypes:
    - GF_VisualManager*
    - GF_IRect*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: visual_2d_clear_surface
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_clear
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_clear_surface(GF_VisualManager *visual, GF_IRect *rc,
      u32 BackColor, u32 is_offscreen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:97,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:101,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:100,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:97,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:97,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:103,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:120,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:120,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:120,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:123,1
    - Dst: ra_union_rect
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:139,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:125,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:122,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 5
    argNames:
    - visual
    - ctx
    - stencil
    - tr_state
    - is_erase
    argTypes:
    - GF_VisualManager*
    - DrawableContext*
    - GF_EVGStencil*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 142
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 142
    functionName: visual_2d_fill_path
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_fill
    - gf_node_get_log_name
    - gf_irect_intersect
    - GF_LOG
    - ra_union_rect
    - gf_evg_surface_set_clipper
    - gf_evg_surface_clear
    - gf_node_get_class_name
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_fill_path(GF_VisualManager *visual, DrawableContext
      *ctx, GF_EVGStencil * stencil, GF_TraverseState *tr_state, Bool is_erase) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:202,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:205,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:214,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:213,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:206,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:202,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:206,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:206,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:175,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:184,1
    - Dst: tr_mx2d_get_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:212,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:194,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:185,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:202,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:203,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:204,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:205,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:205,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:208,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:215,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 6
    argNames:
    - __appear
    - txh
    - mat
    - line_texture
    - final_width
    - final_height
    argTypes:
    - GF_Node*
    - GF_TextureHandler*
    - GF_Matrix2D*
    - Bool
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 218
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 218
    functionName: visual_2d_get_texture_transform
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - gf_mx2d_add_translation
    - gf_node_get_tag
    - gf_mulfix
    - tr_mx2d_get_matrix
    - gf_mx2d_add_scale
    - gf_mx2d_init
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: void
    signature: 'static void visual_2d_get_texture_transform(GF_Node *__appear, GF_TextureHandler
      *txh, GF_Matrix2D *mat, Bool line_texture, Fixed final_width, Fixed final_height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:300,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:309,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:325,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:338,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:287,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:297,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:299,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:303,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:312,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:314,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:326,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:328,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:331,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:335,1
    - Dst: visual_2d_set_options
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:290,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:296,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:297,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:310,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:306,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:319,1
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:322,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:323,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:337,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:296,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:313,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:315,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:321,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 6
    argNames:
    - visual
    - txt_ctx
    - path
    - object_bounds
    - txh
    - tr_state
    argTypes:
    - GF_VisualManager*
    - DrawableContext*
    - GF_Path*
    - GF_Rect*
    - GF_TextureHandler*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 340
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 340
    functionName: visual_2d_texture_path_text
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - memset
    - gf_evg_surface_set_matrix
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_sc_texture_get_stencil
    - GF_COL_R
    - gf_divfix
    - gf_evg_stencil_set_alpha
    - GF_COL_B
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_evg_stencil_set_color_matrix
    - gf_mx2d_add_translation
    - visual_2d_fill_path
    - gf_evg_stencil_set_matrix
    - visual_2d_set_options
    - GF_COL_A
    - gf_evg_surface_set_path
    - gf_evg_stencil_set_auto_matrix
    - GF_COL_G
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_texture_path_text(GF_VisualManager *visual, DrawableContext
      *txt_ctx, GF_Path *path, GF_Rect *object_bounds, GF_TextureHandler *txh, GF_TraverseState
      *tr_state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:361,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:366,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:377,1
    - Dst: compositor_2d_hybgl_flush_video
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:383,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:367,1
    - Dst: gf_irect_inside
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:387,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:395,1
    - Dst: visual_2d_draw_path_extended
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:399,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:401,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 4
    argNames:
    - visual
    - txh
    - ctx
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TextureHandler*
    - struct _drawable_context*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 417
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 417
    functionName: visual_2d_flush_hybgl_canvas
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_irect_inside
    - compositor_2d_hybgl_flush_video
    - gf_irect_intersect
    - gf_evg_surface_clear
    - visual_2d_draw_path_extended
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_flush_hybgl_canvas(GF_VisualManager *visual, GF_TextureHandler
      *txh, struct _drawable_context *ctx, GF_TraverseState *tr_state) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_draw_gradient
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:489,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:503,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:551,1
    - Dst: gf_evg_stencil_set_mapping
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:563,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:567,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:579,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:581,1
    - Dst: compositor_texture_rectangles
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:512,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:517,1
    - Dst: visual_2d_set_options
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:520,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:534,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:555,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:569,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:572,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:574,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:580,1
    - Dst: gf_mo_get_visual_info
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:507,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:548,1
    - Dst: visual_2d_get_texture_transform
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:540,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:533,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:570,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:480,1
    - Dst: visual_2d_texture_path_opengl_auto
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:496,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:509,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:516,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:546,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:541,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:526,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:554,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:566,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 7
    argNames:
    - visual
    - path
    - txh
    - ctx
    - orig_bounds
    - ext_mx
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - GF_TextureHandler*
    - struct _drawable_context*
    - GF_Rect*
    - GF_Matrix2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 586
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 586
    functionName: visual_2d_texture_path_extended
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_set_matrix
    - gf_mx2d_add_scale
    - gf_sc_texture_get_stencil
    - gf_mo_get_visual_info
    - gf_evg_stencil_set_alpha
    - visual_2d_texture_path_opengl_auto
    - visual_2d_draw_gradient
    - gf_path_get_bounds
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - visual_2d_get_texture_transform
    - gf_evg_stencil_set_color_matrix
    - gf_node_dirty_set
    - gf_mx2d_add_translation
    - visual_2d_fill_path
    - gf_evg_stencil_set_matrix
    - visual_2d_set_options
    - GF_COL_A
    - gf_evg_surface_set_path
    - gf_evg_stencil_set_auto_matrix
    - gf_evg_stencil_set_mapping
    - gf_sc_texture_push_image
    - compositor_texture_rectangles
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_texture_path_extended(GF_VisualManager *visual, GF_Path
      *path, GF_TextureHandler *txh, struct _drawable_context *ctx, GF_Rect *orig_bounds,
      GF_Matrix2D *ext_mx, GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_draw_path_extended
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - visual
    - path
    - ctx
    - brush
    - pen
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - DrawableContext*
    - GF_EVGStencil*
    - GF_EVGStencil*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: visual_2d_draw_path
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - visual_2d_draw_path_extended
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_draw_path(GF_VisualManager *visual, GF_Path *path,
      DrawableContext *ctx, GF_EVGStencil * brush, GF_EVGStencil * pen, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:74,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:78,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:77,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:79,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:80,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:81,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:82,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:83,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:84,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:85,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - visual
    - ctx
    argTypes:
    - GF_VisualManager*
    - struct _drawable_context*
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: draw_clipper
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - memset
    - gf_evg_surface_set_matrix
    - gf_path_del
    - gf_evg_stencil_set_brush_color
    - gf_path_new
    - gf_evg_surface_set_clipper
    - gf_path_add_rect_center
    - gf_path_get_outline
    linkageType: ''
    returnType: void
    signature: 'static void draw_clipper(GF_VisualManager *visual, struct _drawable_context
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: visual_2d_release_raster
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_release_raster(GF_VisualManager *visual) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:147,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:151,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:155,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:157,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - compositor
    - rend
    - forText
    - no_antialias
    argTypes:
    - GF_Compositor*
    - GF_EVGSurface*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: visual_2d_set_options
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_set_raster_level
    linkageType: ''
    returnType: void
    signature: 'static void visual_2d_set_options(GF_Compositor *compositor, GF_EVGSurface
      *rend, Bool forText, Bool no_antialias) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:436,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:438,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:430,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:453,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:461,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:431,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:440,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:443,1
    - Dst: gf_node_allow_cyclic_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:452,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:457,1
    - Dst: visual_3d_set_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:450,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:462,1
    - Dst: visual_2d_flush_hybgl_canvas
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:426,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:439,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:442,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:446,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:447,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:448,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 7
    argNames:
    - visual
    - path
    - txh
    - ctx
    - orig_bounds
    - ext_mx
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - GF_TextureHandler*
    - struct _drawable_context*
    - GF_Rect*
    - GF_Matrix2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 463
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 463
    functionName: visual_2d_texture_path_opengl_auto
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - gf_node_allow_cyclic_traverse
    - gf_node_traverse
    - gf_mx_add_scale
    - gf_cmx_init
    - INT2FIX
    - visual_2d_flush_hybgl_canvas
    - gf_mx_add_matrix
    - gf_mx_init
    - gf_cmx_copy
    - visual_3d_reset_clipper_2d
    - visual_3d_set_clipper_2d
    - gf_mx_copy
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_texture_path_opengl_auto(GF_VisualManager *visual,
      GF_Path *path, GF_TextureHandler *txh, struct _drawable_context *ctx, GF_Rect
      *orig_bounds, GF_Matrix2D *ext_mx, GF_TraverseState *tr_state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_texture_path_extended
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:606,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:601,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:600,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - visual
    - path
    - ctx
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - struct _drawable_context*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: visual_2d_texture_path
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - visual_2d_texture_path_extended
    - GF_COL_A
    - visual_2d_draw_path
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_texture_path(GF_VisualManager *visual, GF_Path *path,
      struct _drawable_context *ctx, GF_TraverseState *tr_state) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:633,1
    - Dst: draw_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:621,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:629,1
    - Dst: visual_2d_set_options
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:626,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:646,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:652,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:657,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:658,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:659,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:673,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:676,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:686,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:682,1
    - Dst: draw_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:694,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:681,1
    - Dst: visual_2d_texture_path_extended
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:679,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 73
    argCount: 9
    argNames:
    - visual
    - path
    - ctx
    - brush
    - pen
    - tr_state
    - orig_bounds
    - ext_mx
    - is_erase
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - DrawableContext*
    - GF_EVGStencil*
    - GF_EVGStencil*
    - GF_TraverseState*
    - GF_Rect*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 695
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 695
    functionName: visual_2d_draw_path_extended
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - draw_clipper
    - GF_COL_A
    - gf_evg_surface_set_path
    - visual_2d_fill_path
    - gf_evg_surface_set_matrix
    - gf_evg_stencil_set_brush_color
    - gf_path_del
    - drawable_get_strikeinfo
    - visual_2d_texture_path_extended
    - gf_evg_surface_clear
    - visual_2d_set_options
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_draw_path_extended(GF_VisualManager *visual, GF_Path
      *path, DrawableContext *ctx, GF_EVGStencil * brush, GF_EVGStencil * pen, GF_TraverseState
      *tr_state, GF_Rect *orig_bounds, GF_Matrix2D *ext_mx, Bool is_erase) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:731,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:732,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:755,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:752,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:758,1
    - Dst: draw_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:715,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:733,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:735,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:742,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:753,1
    - Dst: visual_2d_set_options
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:720,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:730,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:741,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:743,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:740,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:757,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:761,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:727,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:723,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:734,1
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:748,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:756,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 6
    argNames:
    - visual
    - ctx
    - _rc
    - color
    - strike_color
    - tr_state
    argTypes:
    - GF_VisualManager*
    - DrawableContext*
    - GF_Rect*
    - u32
    - u32
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 762
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 762
    functionName: visual_2d_fill_rect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - draw_clipper
    - gf_evg_surface_set_path
    - visual_2d_fill_path
    - memset
    - gf_evg_surface_set_matrix
    - gf_path_close
    - gf_path_add_line_to
    - gf_evg_stencil_set_brush_color
    - gf_path_new
    - gf_path_del
    - gf_path_get_outline
    - visual_2d_set_options
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_fill_rect(GF_VisualManager *visual, DrawableContext
      *ctx, GF_Rect *_rc, u32 color, u32 strike_color, GF_TraverseState *tr_state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:229,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:249,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:253,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:261,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:268,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:251,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:263,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:255,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:266,1
    - Dst: visual_2d_get_texture_transform
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:243,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:243,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:250,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:259,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:237,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:243,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:244,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:254,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:261,1
    - Dst: visual_2d_fill_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:267,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 7
    argNames:
    - visual
    - path
    - txh
    - ctx
    - tr_state
    - ext_mx
    - orig_bounds
    argTypes:
    - GF_VisualManager*
    - GF_Path*
    - GF_TextureHandler*
    - struct _drawable_context*
    - GF_TraverseState*
    - GF_Matrix2D*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 271
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 271
    functionName: visual_2d_draw_gradient
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_color_matrix
    - gf_path_get_bounds
    - GF_COL_A
    - gf_evg_surface_set_path
    - gf_mx2d_add_translation
    - gf_evg_stencil_set_auto_matrix
    - visual_2d_fill_path
    - gf_evg_surface_set_matrix
    - gf_mx2d_add_matrix
    - INT2FIX
    - gf_evg_stencil_set_matrix
    - gf_sc_texture_get_stencil
    - gf_evg_stencil_set_alpha
    - visual_2d_get_texture_transform
    linkageType: ''
    returnType: void
    signature: 'static void visual_2d_draw_gradient(GF_VisualManager *visual, GF_Path
      *path, GF_TextureHandler *txh, struct _drawable_context *ctx, GF_TraverseState
      *tr_state, GF_Matrix2D *ext_mx, GF_Rect *orig_bounds) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:784,1
    - Dst: visual_2d_set_options
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:781,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:789,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:789,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:795,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:796,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:801,1
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:805,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:815,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:819,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:789,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:791,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:791,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:790,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:790,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:791,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:799,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:782,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:787,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:788,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:788,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:798,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:812,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:813,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:818,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:821,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:785,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:788,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:790,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:792,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:809,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:816,1
    - Dst: ra_union_rect
      Src: /src/gpac/src/compositor/visual_manager_2d_draw.c:824,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - visual
    - rc
    - fill
    - strike
    argTypes:
    - GF_VisualManager*
    - GF_IRect*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 826
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 826
    functionName: visual_2d_fill_irect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d_draw.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - memset
    - gf_evg_surface_set_matrix
    - INT2FIX
    - gf_path_add_line_to
    - gf_path_close
    - gf_evg_surface_set_raster_level
    - gf_path_new
    - gf_evg_stencil_set_brush_color
    - gf_path_get_outline
    - gf_evg_surface_set_clipper
    - gf_path_del
    - ra_union_rect
    - visual_2d_set_options
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_fill_irect(GF_VisualManager *visual, GF_IRect *rc,
      u32 fill, u32 strike) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/svg_font.c:54,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:86,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/svg_font.c:65,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:88,1
    - Dst: gf_utf8_reorder_bidi
      Src: /src/gpac/src/compositor/svg_font.c:72,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:93,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:101,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_font.c:108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_font.c:110,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/svg_font.c:111,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/svg_font.c:111,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_font.c:124,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_font.c:130,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_font.c:127,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_font.c:121,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 115
    argCount: 6
    argNames:
    - udta
    - utf_string
    - glyph_buffer
    - io_glyph_buffer_size
    - lang
    - is_rtl
    argTypes:
    - void*
    - char*
    - u32*
    - u32*
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 162
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 162
    functionName: svg_font_get_glyphs
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_utf8_reorder_bidi
    - gf_node_get_tag
    - gf_node_get_private
    - gf_svg_flatten_attributes
    - gf_list_count
    - strcmp
    - gf_utf8_mbstowcs
    - stricmp
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_font_get_glyphs(void *udta, const char *utf_string,
      u32 *glyph_buffer, u32 *io_glyph_buffer_size, const char *lang, Bool *is_rtl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/svg_font.c:197,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:198,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:199,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/svg_font.c:204,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/svg_font.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - handler
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: svg_font_on_load
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_sc_next_frame_state
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_font_on_load(GF_Node *handler, GF_DOM_Event *event,
      GF_Node *observer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:170,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - udta
    - glyph_name
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: svg_font_load_glyph
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Glyph*
    signature: 'static GF_Glyph *svg_font_load_glyph(void *udta, u32 glyph_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:327,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:343,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: svg_traverse_glyph
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_glyph(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:481,1
    - Dst: svg_font_uri_check
      Src: /src/gpac/src/compositor/svg_font.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: svg_font_uri_get_alias
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - svg_font_uri_check
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Font*
    signature: 'GF_Font *svg_font_uri_get_alias(void *udta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:185,1
    - Dst: gf_font_manager_unregister_font
      Src: /src/gpac/src/compositor/svg_font.c:187,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:188,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: svg_traverse_font
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_font_manager_unregister_font
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_font(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:248,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:243,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:312,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_font.c:223,1
    - Dst: gf_font_manager_register_font
      Src: /src/gpac/src/compositor/svg_font.c:228,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:230,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_font.c:239,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:250,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:311,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:251,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/compositor/svg_font.c:317,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/svg_font.c:214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_font.c:225,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:219,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_font.c:240,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/svg_font.c:241,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:248,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:243,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:312,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:217,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:250,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:251,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 70
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 319
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 319
    functionName: compositor_init_svg_font
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_node_set_callback_function
    - gf_strdup
    - GF_LOG
    - gf_dom_listener_build
    - gf_node_set_private
    - gf_ceil
    - FIX2INT
    - GF_SAFEALLOC
    - gf_font_manager_register_font
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_font(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/svg_font.c:357,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:362,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/svg_font.c:378,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_font.c:388,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_font.c:398,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:400,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/svg_font.c:360,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:367,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_font.c:415,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:400,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:365,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:361,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_font.c:375,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:395,1
    - Dst: gf_ceil
      Src: /src/gpac/src/compositor/svg_font.c:399,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:399,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_font.c:386,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/svg_font.c:395,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_font.c:368,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_font.c:416,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 417
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 417
    functionName: compositor_init_svg_glyph
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_malloc
    - gf_path_get_bounds
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_node_get_private
    - gf_node_set_callback_function
    - gf_utf8_mbstowcs
    - gf_node_set_private
    - gf_ceil
    - memcpy
    - FIX2INT
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_glyph(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:433,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_font.c:437,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_font.c:437,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_font.c:440,1
    - Dst: gf_mo_load_xlink_resource
      Src: /src/gpac/src/compositor/svg_font.c:443,1
    - Dst: gf_mo_get_scenegraph
      Src: /src/gpac/src/compositor/svg_font.c:449,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_font.c:454,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:461,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:465,1
    - Dst: gf_mo_is_done
      Src: /src/gpac/src/compositor/svg_font.c:473,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - node
    - st
    argTypes:
    - GF_Node*
    - FontURIStack*
    constantsTouched: []
    func_position:
      end: 476
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 476
    functionName: svg_font_uri_check
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - gf_mo_get_scenegraph
    - gf_node_get_tag
    - gf_node_get_private
    - gf_mo_is_done
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    - strchr
    - gf_mo_load_xlink_resource
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_font_uri_check(GF_Node *node, FontURIStack *st) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_font.c:491,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:495,1
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_font.c:496,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:494,1
    - Dst: gf_font_manager_unregister_font
      Src: /src/gpac/src/compositor/svg_font.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: svg_traverse_font_face_uri
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_mo_unload_xlink_resource
    - gf_font_manager_unregister_font
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_font_face_uri(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/svg_font.c:511,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:518,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/svg_font.c:514,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:512,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_font.c:515,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_font.c:522,1
    - Dst: gf_compositor_svg_set_font
      Src: /src/gpac/src/compositor/svg_font.c:526,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_font.c:530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_font.c:532,1
    - Dst: gf_font_manager_register_font
      Src: /src/gpac/src/compositor/svg_font.c:536,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_font.c:556,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_font.c:555,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:538,1
    - Dst: svg_font_uri_check
      Src: /src/gpac/src/compositor/svg_font.c:560,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/svg_font.c:554,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_font.c:543,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_font.c:544,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_font.c:541,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 561
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 561
    functionName: compositor_init_svg_font_face_uri
    functionSourceFile: /src/gpac/src/compositor/svg_font.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_node_set_callback_function
    - gf_strdup
    - svg_font_uri_check
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_font_manager_register_font
    - gf_compositor_svg_set_font
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_font_face_uri(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_base.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - children
    - tr_state
    argTypes:
    - GF_ChildNodeItem*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: compositor_svg_traverse_children
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    linkageType: ''
    returnType: void
    signature: 'void compositor_svg_traverse_children(GF_ChildNodeItem *children,
      GF_TraverseState *tr_state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_base.c:55,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/svg_base.c:58,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/svg_base.c:60,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/svg_base.c:61,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/svg_base.c:62,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_base.c:63,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_base.c:68,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_base.c:72,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_base.c:77,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_base.c:80,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/svg_base.c:86,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/svg_base.c:83,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - tr_state
    - atts
    - backup_matrix_2d
    - backup_matrix
    argTypes:
    - GF_TraverseState*
    - SVGAllAttributes*
    - GF_Matrix2D*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: compositor_svg_apply_local_transformation
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - gf_mx_add_matrix_2d
    - gf_mx_add_scale
    - gf_mx2d_pre_multiply
    - gf_mx_init
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'void compositor_svg_apply_local_transformation(GF_TraverseState *tr_state,
      SVGAllAttributes *atts, GF_Matrix2D *backup_matrix_2d, GF_Matrix *backup_matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:107,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:111,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:109,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:110,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:108,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:112,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:113,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:114,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:115,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:116,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:119,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:117,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:118,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:120,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:123,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:121,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/compositor/svg_base.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - all_atts
    - render_svg_props
    argTypes:
    - SVGAllAttributes*
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: gf_svg_apply_inheritance_no_inheritance
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - CHECK_PROP
    linkageType: ''
    returnType: void
    signature: 'static void gf_svg_apply_inheritance_no_inheritance(SVGAllAttributes
      *all_atts, SVGPropertiesPointers *render_svg_props) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - props
    argTypes:
    - SVGPropertiesPointers*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: compositor_svg_is_display_off
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_svg_is_display_off(SVGPropertiesPointers *props) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_base.c:94,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_base.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - tr_state
    - backup_matrix_2d
    - backup_matrix
    argTypes:
    - GF_TraverseState*
    - GF_Matrix2D*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: compositor_svg_restore_parent_transformation
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - gf_mx2d_copy
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'void compositor_svg_restore_parent_transformation(GF_TraverseState
      *tr_state, GF_Matrix2D *backup_matrix_2d, GF_Matrix *backup_matrix) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/svg_base.c:242,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_base.c:239,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/svg_base.c:246,1
    - Dst: gf_filter_is_supported_mime
      Src: /src/gpac/src/compositor/svg_base.c:322,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/compositor/svg_base.c:306,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_base.c:329,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_base.c:332,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_base.c:236,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_base.c:258,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/svg_base.c:267,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/svg_base.c:297,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_base.c:305,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_base.c:315,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_base.c:320,1
    - Dst: gf_font_manager_set_font_ex
      Src: /src/gpac/src/compositor/svg_base.c:333,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_base.c:290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_base.c:319,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/svg_base.c:245,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/svg_base.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/svg_base.c:274,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_base.c:294,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/compositor/svg_base.c:298,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 100
    argCount: 2
    argNames:
    - compositor
    - atts
    argTypes:
    - GF_Compositor*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 340
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 340
    functionName: compositor_svg_evaluate_conditional
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_is_supported_mime
    - gf_list_count
    - strcmp
    - gf_lang_find
    - strchr
    - strnicmp
    - stricmp
    - gf_font_manager_set_font_ex
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_svg_evaluate_conditional(GF_Compositor *compositor,
      SVGAllAttributes *atts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compositor_svg_evaluate_conditional
      Src: /src/gpac/src/compositor/svg_base.c:349,1
    - Dst: gf_svg_apply_animations
      Src: /src/gpac/src/compositor/svg_base.c:359,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_base.c:353,1
    - Dst: gf_svg_apply_inheritance
      Src: /src/gpac/src/compositor/svg_base.c:358,1
    - Dst: gf_svg_apply_animations
      Src: /src/gpac/src/compositor/svg_base.c:362,1
    - Dst: gf_svg_apply_inheritance
      Src: /src/gpac/src/compositor/svg_base.c:363,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_base.c:368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - node
    - atts
    - tr_state
    - backup_props
    - backup_flags
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    - SVGPropertiesPointers*
    - u32*
    constantsTouched: []
    func_position:
      end: 372
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 372
    functionName: compositor_svg_traverse_base
    functionSourceFile: /src/gpac/src/compositor/svg_base.c
    functionUses: []
    functionsReached:
    - gf_svg_apply_inheritance
    - gf_node_dirty_get
    - gf_svg_apply_animations
    - memcpy
    - compositor_svg_evaluate_conditional
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_svg_traverse_base(GF_Node *node, SVGAllAttributes
      *atts, GF_TraverseState *tr_state, SVGPropertiesPointers *backup_props, u32
      *backup_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_compositor_svg_set_font
      Src: /src/gpac/src/compositor/svg_text.c:206,1
    - Dst: svg_get_font_styles
      Src: /src/gpac/src/compositor/svg_text.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - tr_state
    - fm
    argTypes:
    - GF_TraverseState*
    - GF_FontManager*
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: svg_set_font
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_compositor_svg_set_font
    - svg_get_font_styles
    linkageType: ''
    returnType: GF_Font*
    signature: 'static GF_Font *svg_set_font(GF_TraverseState * tr_state, GF_FontManager
      *fm) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: svg_set_font
      Src: /src/gpac/src/compositor/svg_text.c:522,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_text.c:540,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:556,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_text.c:536,1
    - Dst: svg_get_text_span
      Src: /src/gpac/src/compositor/svg_text.c:525,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_text.c:557,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_text.c:562,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/svg_text.c:564,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/compositor/svg_text.c:571,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 3
    argNames:
    - node
    - atts
    - tr_state
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 572
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 572
    functionName: get_domtext_width
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_last
    - gf_list_count
    - svg_get_text_span
    - gf_font_manager_delete_span
    - svg_set_font
    linkageType: ''
    returnType: void
    signature: 'static void get_domtext_width(GF_Node *node, SVGAllAttributes *atts,
      GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_text.c:1235,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/svg_text.c:1243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_text.c:1237,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_text.c:1244,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_text.c:1240,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_text.c:1245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1246
    functionName: compositor_init_svg_tspan
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_tspan(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_text.c:1485,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_text.c:1490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_text.c:1487,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/svg_text.c:1493,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_text.c:1494,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_text.c:1495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1496
    functionName: compositor_init_svg_textarea
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_textarea(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - tr_state
    - width
    argTypes:
    - GF_TraverseState*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 234
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 234
    functionName: svg_apply_text_anchor
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void svg_apply_text_anchor(GF_TraverseState * tr_state, Fixed
      *width) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:583,1
    - Dst: get_tspan_width
      Src: /src/gpac/src/compositor/svg_text.c:594,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:589,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_text.c:584,1
    - Dst: get_domtext_width
      Src: /src/gpac/src/compositor/svg_text.c:591,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:602,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - node
    - rs
    argTypes:
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 604
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 604
    functionName: get_tspan_width
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - get_tspan_width
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - compositor_svg_traverse_base
    - memcpy
    - get_domtext_width
    linkageType: ''
    returnType: void
    signature: 'static void get_tspan_width(GF_Node *node, void *rs) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/svg_text.c:1265,1
    - Dst: gf_font_spans_get_selection
      Src: /src/gpac/src/compositor/svg_text.c:1276,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1280,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:1293,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1320,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_text.c:1294,1
    - Dst: svg_traverse_dom_text_area
      Src: /src/gpac/src/compositor/svg_text.c:1363,1
    - Dst: svg_update_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1442,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1446,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1449,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1459,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_text.c:1325,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:1330,1
    - Dst: gf_font_spans_pick
      Src: /src/gpac/src/compositor/svg_text.c:1303,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_text.c:1332,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_text.c:1333,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/svg_text.c:1349,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1361,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_text.c:1367,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1368,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1373,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1478,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_text.c:1453,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_text.c:1257,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:1264,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1283,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1312,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1302,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1428,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1465,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:1266,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_text.c:1263,1
    - Dst: svg_text_draw_2d
      Src: /src/gpac/src/compositor/svg_text.c:1271,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1311,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1308,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_text.c:1331,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/svg_text.c:1390,1
    - Dst: svg_text_area_shift_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1413,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1422,1
    - Dst: svg_finalize_sort
      Src: /src/gpac/src/compositor/svg_text.c:1455,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1477,1
    - Dst: svg_text_area_reset_state
      Src: /src/gpac/src/compositor/svg_text.c:1389,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 152
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1480
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1480
    functionName: svg_traverse_textArea
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - svg_reset_text_stack
    - gf_node_dirty_clear
    - gf_node_traverse
    - gf_list_del
    - gf_node_dirty_get
    - gf_font_spans_pick
    - svg_finalize_sort
    - gf_list_new
    - drawable_mark_modified
    - svg_traverse_dom_text_area
    - svg_text_area_shift_bounds
    - memcpy
    - gf_free
    - svg_update_bounds
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - gf_font_spans_get_selection
    - compositor_svg_is_display_off
    - drawable_del
    - drawable_init_context_svg
    - drawable_reset_path
    - svg_text_area_reset_state
    - gf_node_dirty_set
    - svg_text_draw_2d
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_textArea(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:1508,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1525,1
    - Dst: svg_text_area_reset_state
      Src: /src/gpac/src/compositor/svg_text.c:1512,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_text.c:1509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1527
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1527
    functionName: svg_traverse_tbreak
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - svg_text_area_reset_state
    - compositor_svg_traverse_base
    - memcpy
    - gf_svg_flatten_attributes
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_tbreak(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:325,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:351,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:343,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/svg_text.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 354
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 354
    functionName: svg_text_area_reset_state
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_area_reset_state(GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:379,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - tr_state
    - diff
    argTypes:
    - GF_TraverseState*
    - Fixed
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: svg_text_area_apply_diff_baselines
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_area_apply_diff_baselines(GF_TraverseState *tr_state,
      Fixed diff) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:775,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:782,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_text.c:781,1
    - Dst: svg_traverse_domtext
      Src: /src/gpac/src/compositor/svg_text.c:777,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:791,1
    - Dst: compositor_svg_evaluate_conditional
      Src: /src/gpac/src/compositor/svg_text.c:792,1
    - Dst: svg_traverse_text_block
      Src: /src/gpac/src/compositor/svg_text.c:793,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:796,1
    - Dst: svg_traverse_domtext
      Src: /src/gpac/src/compositor/svg_text.c:797,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 4
    argNames:
    - node
    - atts
    - tr_state
    - spans
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 805
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 805
    functionName: svg_traverse_text_block
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - svg_traverse_text_block
    - gf_svg_flatten_attributes
    - gf_node_get_tag
    - gf_node_dirty_set
    - compositor_svg_evaluate_conditional
    - svg_traverse_domtext
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_text_block(GF_Node *node, SVGAllAttributes
      *atts, GF_TraverseState *tr_state, GF_List *spans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/svg_text.c:820,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/svg_text.c:826,1
    - Dst: gf_font_manager_refresh_span_bounds
      Src: /src/gpac/src/compositor/svg_text.c:825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - st
    - tr_state
    argTypes:
    - SVG_TextStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: svg_text_area_shift_bounds
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_rect_union
    - gf_font_manager_refresh_span_bounds
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_area_shift_bounds(SVG_TextStack *st, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:360,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_text.c:372,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_text.c:368,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - tr_state
    - span
    - first_glyph
    - last_glyph
    argTypes:
    - GF_TraverseState*
    - GF_TextSpan*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: svg_text_area_queue_state
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_area_queue_state(GF_TraverseState *tr_state,
      GF_TextSpan *span, u32 first_glyph, u32 last_glyph) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: svg_set_font
      Src: /src/gpac/src/compositor/svg_text.c:408,1
    - Dst: svg_get_text_span
      Src: /src/gpac/src/compositor/svg_text.c:411,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_text.c:424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_text.c:419,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_text.c:419,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_text.c:424,1
    - Dst: svg_text_area_reset_state
      Src: /src/gpac/src/compositor/svg_text.c:467,1
    - Dst: svg_text_area_apply_diff_baselines
      Src: /src/gpac/src/compositor/svg_text.c:481,1
    - Dst: svg_text_area_queue_state
      Src: /src/gpac/src/compositor/svg_text.c:500,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_text.c:505,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 4
    argNames:
    - node
    - atts
    - tr_state
    - spans
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 506
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 506
    functionName: svg_traverse_dom_text_area
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - svg_text_area_queue_state
    - gf_mulfix
    - svg_get_text_span
    - svg_text_area_apply_diff_baselines
    - FLT2FIX
    - svg_set_font
    - svg_text_area_reset_state
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_dom_text_area(GF_Node *node, SVGAllAttributes
      *atts, GF_TraverseState *tr_state, GF_List *spans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_spans_draw_2d
      Src: /src/gpac/src/compositor/svg_text.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - st
    - tr_state
    argTypes:
    - SVG_TextStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: svg_text_draw_2d
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_font_spans_draw_2d
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_draw_2d(SVG_TextStack *st, GF_TraverseState *tr_state) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: svg_text_draw_2d
      Src: /src/gpac/src/compositor/svg_text.c:854,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:874,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:889,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:891,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:896,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:905,1
    - Dst: gf_font_spans_get_selection
      Src: /src/gpac/src/compositor/svg_text.c:904,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_text.c:875,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:932,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:947,1
    - Dst: svg_traverse_text_block
      Src: /src/gpac/src/compositor/svg_text.c:987,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:1000,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1009,1
    - Dst: svg_finalize_sort
      Src: /src/gpac/src/compositor/svg_text.c:1018,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1025,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_text.c:839,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:847,1
    - Dst: gf_font_spans_get_selection
      Src: /src/gpac/src/compositor/svg_text.c:859,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:863,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:865,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_text.c:882,1
    - Dst: gf_font_spans_pick
      Src: /src/gpac/src/compositor/svg_text.c:884,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_text.c:917,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:923,1
    - Dst: svg_apply_text_anchor
      Src: /src/gpac/src/compositor/svg_text.c:950,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:965,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1023,1
    - Dst: svg_update_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1005,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:849,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_text.c:846,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_text.c:912,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:930,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:949,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:958,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:969,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:997,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1013,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_text.c:1016,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/svg_text.c:998,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/svg_text.c:1002,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/svg_text.c:848,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_text.c:897,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:934,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/svg_text.c:938,1
    - Dst: svg_compute_text_width
      Src: /src/gpac/src/compositor/svg_text.c:942,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:954,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:956,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_text.c:978,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_text.c:991,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_text.c:992,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1037,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1038,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/svg_text.c:999,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1028,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 154
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1040
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 1040
    functionName: svg_traverse_text
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - svg_reset_text_stack
    - gf_node_dirty_clear
    - gf_node_traverse
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_node_dirty_get
    - svg_apply_text_anchor
    - gf_font_spans_pick
    - svg_finalize_sort
    - gf_list_new
    - drawable_mark_modified
    - gf_list_rem_last
    - svg_compute_text_width
    - gf_list_get
    - svg_traverse_text_block
    - memcpy
    - gf_free
    - svg_update_bounds
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - gf_font_spans_get_selection
    - compositor_svg_is_display_off
    - drawable_del
    - drawable_init_context_svg
    - drawable_reset_path
    - svg_text_draw_2d
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_text(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_text.c:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1532
    functionName: compositor_init_svg_tbreak
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_tbreak(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/svg_text.c:58,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/svg_text.c:60,1
    - Dst: gf_font_manager_refresh_span_bounds
      Src: /src/gpac/src/compositor/svg_text.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - SVG_TextStack*
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: svg_update_bounds
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_rect_union
    - gf_font_manager_refresh_span_bounds
    linkageType: ''
    returnType: void
    signature: 'static void svg_update_bounds(SVG_TextStack *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_text.c:1046,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/svg_text.c:1054,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_text.c:1051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_text.c:1048,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_text.c:1055,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_text.c:1056,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1057
    functionName: compositor_init_svg_text
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_text(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_text.c:44,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:45,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/svg_text.c:46,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/compositor/svg_text.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - SVG_TextStack*
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: svg_reset_text_stack
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_font_manager_delete_span
    linkageType: ''
    returnType: void
    signature: 'static void svg_reset_text_stack(SVG_TextStack *st) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_spans_draw_3d
      Src: /src/gpac/src/compositor/svg_text.c:68,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_text.c:93,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/svg_text.c:70,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/svg_text.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - st
    - tr_state
    argTypes:
    - DrawableContext*
    - SVG_TextStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: svg_finalize_sort
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_font_spans_draw_3d
    - drawable_check_focus_highlight
    - gf_list_enum
    - drawable_finalize_sort
    linkageType: ''
    returnType: void
    signature: 'static void svg_finalize_sort(DrawableContext *ctx, SVG_TextStack
      *st, GF_TraverseState * tr_state) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: svg_text_draw_2d
      Src: /src/gpac/src/compositor/svg_text.c:1081,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:1101,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_text.c:1137,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:1145,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1124,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_text.c:1102,1
    - Dst: svg_text_area_shift_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1181,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1160,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1186,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1214,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_text.c:1169,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_text.c:1209,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_text.c:1067,1
    - Dst: svg_reset_text_stack
      Src: /src/gpac/src/compositor/svg_text.c:1075,1
    - Dst: svg_traverse_domtext
      Src: /src/gpac/src/compositor/svg_text.c:1151,1
    - Dst: svg_update_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1174,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1204,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1228,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_text.c:1168,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_text.c:1227,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_text.c:1198,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_text.c:1074,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:1077,1
    - Dst: gf_font_spans_get_selection
      Src: /src/gpac/src/compositor/svg_text.c:1085,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1112,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_text.c:1119,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1114,1
    - Dst: gf_font_spans_pick
      Src: /src/gpac/src/compositor/svg_text.c:1107,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1149,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_text.c:1154,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1155,1
    - Dst: svg_finalize_sort
      Src: /src/gpac/src/compositor/svg_text.c:1211,1
    - Dst: svg_update_bounds
      Src: /src/gpac/src/compositor/svg_text.c:1183,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/svg_text.c:1076,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:1089,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1091,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_text.c:1129,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1190,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_text.c:1218,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 103
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1230
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1230
    functionName: svg_traverse_tspan
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - svg_text_draw_2d
    - svg_reset_text_stack
    - gf_node_dirty_clear
    - gf_node_traverse
    - gf_list_del
    - gf_node_dirty_get
    - gf_font_spans_pick
    - svg_finalize_sort
    - drawable_mark_modified
    - svg_text_area_shift_bounds
    - memcpy
    - gf_free
    - svg_update_bounds
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - gf_font_spans_get_selection
    - compositor_svg_is_display_off
    - drawable_del
    - drawable_init_context_svg
    - gf_node_dirty_set
    - svg_traverse_domtext
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_tspan(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 154
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 154
    functionName: svg_get_font_styles
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 svg_get_font_styles(GF_TraverseState * tr_state) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/svg_text.c:245,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:308,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/svg_text.c:246,1
    - Dst: gf_font_manager_create_span
      Src: /src/gpac/src/compositor/svg_text.c:307,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 10
    argNames:
    - fm
    - font
    - font_size
    - x_offsets
    - y_offsets
    - rotate
    - atts
    - textContent
    - lang
    - tr_state
    argTypes:
    - GF_FontManager*
    - GF_Font*
    - Fixed
    - Bool
    - Bool
    - Bool
    - SVGAllAttributes*
    - char*
    - char*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 311
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 311
    functionName: svg_get_text_span
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_font_manager_create_span
    - strlen
    - gf_malloc
    - gf_free
    linkageType: ''
    returnType: GF_TextSpan*
    signature: 'static GF_TextSpan *svg_get_text_span(GF_FontManager *fm, GF_Font
      *font, Fixed font_size, Bool x_offsets, Bool y_offsets, Bool rotate, SVGAllAttributes
      *atts, char *textContent, const char *lang, GF_TraverseState *tr_state) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_dom_text_area
      Src: /src/gpac/src/compositor/svg_text.c:620,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:652,1
    - Dst: svg_get_text_span
      Src: /src/gpac/src/compositor/svg_text.c:637,1
    - Dst: svg_set_font
      Src: /src/gpac/src/compositor/svg_text.c:627,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/svg_text.c:632,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:659,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:674,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_text.c:675,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:691,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_text.c:718,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_text.c:731,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:696,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_text.c:717,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 105
    argCount: 5
    argNames:
    - node
    - atts
    - tr_state
    - spans
    - anchor_node
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    - GF_List*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 733
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 733
    functionName: svg_traverse_domtext
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_next_frame_state
    - gf_list_get
    - svg_traverse_dom_text_area
    - svg_get_text_span
    - gf_mulfix
    - svg_set_font
    linkageType: ''
    returnType: void
    signature: 'void svg_traverse_domtext(GF_Node *node, SVGAllAttributes *atts, GF_TraverseState
      *tr_state, GF_List *spans, GF_Node *anchor_node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_text.c:165,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_text.c:167,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_text.c:171,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/svg_text.c:174,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/svg_text.c:179,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/svg_text.c:183,1
    - Dst: gf_font_manager_set_font_ex
      Src: /src/gpac/src/compositor/svg_text.c:196,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_text.c:198,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - fm
    - a_font
    - styles
    - check_only
    argTypes:
    - GF_FontManager*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 202
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 202
    functionName: gf_compositor_svg_set_font
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_strdup
    - strchr
    - gf_free
    - gf_font_manager_set_font_ex
    linkageType: ''
    returnType: GF_Font*
    signature: 'GF_Font *gf_compositor_svg_set_font(GF_FontManager *fm, char *a_font,
      u32 styles, Bool check_only) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_text.c:741,1
    - Dst: compositor_svg_evaluate_conditional
      Src: /src/gpac/src/compositor/svg_text.c:756,1
    - Dst: get_domtext_width
      Src: /src/gpac/src/compositor/svg_text.c:743,1
    - Dst: get_tspan_width
      Src: /src/gpac/src/compositor/svg_text.c:746,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_text.c:755,1
    - Dst: svg_compute_text_width
      Src: /src/gpac/src/compositor/svg_text.c:757,1
    - Dst: svg_compute_text_width
      Src: /src/gpac/src/compositor/svg_text.c:761,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - node
    - atts
    - tr_state
    argTypes:
    - GF_Node*
    - SVGAllAttributes*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 769
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 769
    functionName: svg_compute_text_width
    functionSourceFile: /src/gpac/src/compositor/svg_text.c
    functionUses: []
    functionsReached:
    - svg_compute_text_width
    - gf_svg_flatten_attributes
    - get_tspan_width
    - gf_node_get_tag
    - get_domtext_width
    - compositor_svg_evaluate_conditional
    linkageType: ''
    returnType: void
    signature: 'static void svg_compute_text_width(GF_Node *node, SVGAllAttributes
      *atts, GF_TraverseState *tr_state ) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: get_justify
      Src: /src/gpac/src/compositor/mpeg4_layout.c:175,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:272,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:295,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:342,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:191,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:198,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/mpeg4_layout.c:233,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:259,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:355,1
    - Dst: get_lines_info
      Src: /src/gpac/src/compositor/mpeg4_layout.c:173,1
    - Dst: get_justify
      Src: /src/gpac/src/compositor/mpeg4_layout.c:174,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:214,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:231,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:270,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:344,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:181,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layout.c:178,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:301,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:257,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:284,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:325,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:357,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:358,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 208
    argCount: 2
    argNames:
    - st
    - l
    argTypes:
    - LayoutStack*
    - M_Layout*
    constantsTouched: []
    func_position:
      end: 366
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 366
    functionName: layout_justify
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - get_justify
    - gf_list_get
    - gf_list_count
    - gf_mulfix
    - MAX
    - get_lines_info
    linkageType: ''
    returnType: void
    signature: 'static void layout_justify(LayoutStack *st, M_Layout *l) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_layout.c:67,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_layout.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - LayoutStack*
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: new_line_info
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_SAFEALLOC
    linkageType: ''
    returnType: LineInfo*
    signature: 'static LineInfo *new_line_info(LayoutStack *st) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_layout.c:86,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_layout.c:88,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_layout.c:87,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_layout.c:89,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_layout.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - l
    - i
    argTypes:
    - M_Layout*
    - u32
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: get_justify
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_justify(M_Layout *l, u32 i) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: layout_setup_scroll_bounds
      Src: /src/gpac/src/compositor/mpeg4_layout.c:477,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_layout.c:484,1
    - Dst: layout_setup_scroll_bounds
      Src: /src/gpac/src/compositor/mpeg4_layout.c:501,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_layout.c:503,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layout.c:481,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:503,1
    - Dst: layout_setup_scroll_bounds
      Src: /src/gpac/src/compositor/mpeg4_layout.c:505,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_layout.c:526,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:527,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:548,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mpeg4_layout.c:560,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_layout.c:585,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layout.c:610,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layout.c:546,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 3
    argNames:
    - tr_state
    - st
    - l
    argTypes:
    - GF_TraverseState*
    - LayoutStack*
    - M_Layout*
    constantsTouched: []
    func_position:
      end: 611
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 611
    functionName: layout_scroll
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_list_get
    - gf_sc_invalidate
    - gf_list_enum
    - gf_mulfix
    - gf_list_count
    - INT2FIX
    - FLT2FIX
    - ABS
    - gf_divfix
    - FIX2FLT
    - layout_setup_scroll_bounds
    linkageType: ''
    returnType: void
    signature: 'static void layout_scroll(GF_TraverseState *tr_state, LayoutStack
      *st, M_Layout *l) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layout.c:753,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layout.c:799,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 5
    argNames:
    - sh
    - is_over
    - is_cancel
    - ev
    - compositor
    argTypes:
    - GF_SensorHandler*
    - Bool
    - Bool
    - GF_Event*
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 801
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 801
    functionName: OnLayout
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'static Bool OnLayout(GF_SensorHandler *sh, Bool is_over, Bool is_cancel,
      GF_Event *ev, GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_layout.c:813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layout.c:815,1
    - Dst: parent_node_setup
      Src: /src/gpac/src/compositor/mpeg4_layout.c:819,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_layout.c:820,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_layout.c:821,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_layout.c:822,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_layout.c:827,1
    - Dst: OnLayout
      Src: /src/gpac/src/compositor/mpeg4_layout.c:828,1
    - Dst: layout_is_enabled
      Src: /src/gpac/src/compositor/mpeg4_layout.c:829,1
    - Dst: compositor_mpeg4_layout_get_sensor_handler
      Src: /src/gpac/src/compositor/mpeg4_layout.c:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 834
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 834
    functionName: compositor_init_layout
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - compositor_mpeg4_layout_get_sensor_handler
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - parent_node_setup
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - OnLayout
    - gf_list_new
    - layout_is_enabled
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_layout(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layout.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_layout.c:60,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:58,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_layout.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - LayoutStack*
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: layout_reset_lines
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void layout_reset_lines(LayoutStack *st) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: layout_reset_lines
      Src: /src/gpac/src/compositor/mpeg4_layout.c:103,1
    - Dst: new_line_info
      Src: /src/gpac/src/compositor/mpeg4_layout.c:108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:113,1
    - Dst: new_line_info
      Src: /src/gpac/src/compositor/mpeg4_layout.c:118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layout.c:105,1
    - Dst: new_line_info
      Src: /src/gpac/src/compositor/mpeg4_layout.c:140,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 2
    argNames:
    - st
    - l
    argTypes:
    - LayoutStack*
    - M_Layout*
    constantsTouched: []
    func_position:
      end: 164
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 164
    functionName: get_lines_info
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - new_line_info
    - layout_reset_lines
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void get_lines_info(LayoutStack *st, M_Layout *l) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: get_justify
      Src: /src/gpac/src/compositor/mpeg4_layout.c:380,1
    - Dst: get_justify
      Src: /src/gpac/src/compositor/mpeg4_layout.c:432,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 100
    argCount: 2
    argNames:
    - st
    - l
    argTypes:
    - LayoutStack*
    - M_Layout*
    constantsTouched: []
    func_position:
      end: 461
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 461
    functionName: layout_setup_scroll_bounds
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - get_justify
    linkageType: ''
    returnType: void
    signature: 'static void layout_setup_scroll_bounds(LayoutStack *st, M_Layout *l) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: parent_node_predestroy
      Src: /src/gpac/src/compositor/mpeg4_layout.c:629,1
    - Dst: layout_reset_lines
      Src: /src/gpac/src/compositor/mpeg4_layout.c:628,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_layout.c:661,1
    - Dst: parent_node_reset
      Src: /src/gpac/src/compositor/mpeg4_layout.c:682,1
    - Dst: layout_setup_scroll_bounds
      Src: /src/gpac/src/compositor/mpeg4_layout.c:709,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_layout.c:630,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_layout.c:647,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:667,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/mpeg4_layout.c:676,1
    - Dst: compositor_2d_update_clipper
      Src: /src/gpac/src/compositor/mpeg4_layout.c:673,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/mpeg4_layout.c:740,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_layout.c:631,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/mpeg4_layout.c:651,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/mpeg4_layout.c:675,1
    - Dst: parent_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layout.c:691,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_layout.c:699,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_layout.c:722,1
    - Dst: parent_node_child_traverse
      Src: /src/gpac/src/compositor/mpeg4_layout.c:733,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layout.c:624,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_layout.c:636,1
    - Dst: visual_get_size_info
      Src: /src/gpac/src/compositor/mpeg4_layout.c:641,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_layout.c:642,1
    - Dst: gf_sc_pick_in_clipper
      Src: /src/gpac/src/compositor/mpeg4_layout.c:655,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layout.c:680,1
    - Dst: layout_justify
      Src: /src/gpac/src/compositor/mpeg4_layout.c:705,1
    - Dst: layout_scroll
      Src: /src/gpac/src/compositor/mpeg4_layout.c:729,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_layout.c:732,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 94
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 745
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 745
    functionName: TraverseLayout
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - parent_node_reset
    - parent_node_predestroy
    - gf_rect_pixelize
    - GF_LOG
    - gf_sc_pick_in_clipper
    - drawable_reset_group_highlight
    - parent_node_child_traverse
    - gf_list_del
    - gf_irect_intersect
    - gf_node_dirty_get
    - layout_reset_lines
    - gf_bbox_from_rect
    - gf_list_enum
    - compositor_2d_update_clipper
    - layout_justify
    - layout_scroll
    - gf_free
    - layout_setup_scroll_bounds
    - gf_rect_center
    - gf_node_get_private
    - visual_get_size_info
    - drawable_check_focus_highlight
    - gf_mulfix
    - parent_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseLayout(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: layout_is_enabled
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool layout_is_enabled(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layout.c:838,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_layout.c:847,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layout.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 849
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 849
    functionName: compositor_layout_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_node_dirty_set
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_layout_modified(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layout.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 857
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 857
    functionName: compositor_mpeg4_layout_get_sensor_handler
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layout.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SensorHandler*
    signature: 'GF_SensorHandler *compositor_mpeg4_layout_get_sensor_handler(GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_textures.c:80,1
    - Dst: gf_sc_texture_stop_no_unregister
      Src: /src/gpac/src/compositor/mpeg4_textures.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - mt
    argTypes:
    - MovieTextureStack*
    - M_MovieTexture*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: movietexture_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop_no_unregister
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void movietexture_deactivate(MovieTextureStack *stack, M_MovieTexture
      *mt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_textures.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stack
    - mt
    argTypes:
    - MovieTextureStack*
    - M_MovieTexture*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: movietexture_get_loop
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_mo_get_loop
    linkageType: ''
    returnType: Bool
    signature: 'static Bool movietexture_get_loop(MovieTextureStack *stack, M_MovieTexture
      *mt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: matte_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void matte_update(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_textures.c:68,1
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/mpeg4_textures.c:73,1
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_textures.c:71,1
    - Dst: gf_sc_texture_play_from_to
      Src: /src/gpac/src/compositor/mpeg4_textures.c:71,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_textures.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - stack
    - mt
    - scene_time
    argTypes:
    - MovieTextureStack*
    - M_MovieTexture*
    - Double
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: movietexture_activate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_play_from_to
    - gf_mo_get_loop
    - gf_mo_set_speed
    - gf_mo_resume
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void movietexture_activate(MovieTextureStack *stack, M_MovieTexture
      *mt, Double scene_time) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:90,1
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/mpeg4_textures.c:97,1
    - Dst: gf_sc_texture_restart
      Src: /src/gpac/src/compositor/mpeg4_textures.c:101,1
    - Dst: movietexture_get_loop
      Src: /src/gpac/src/compositor/mpeg4_textures.c:100,1
    - Dst: gf_mo_should_deactivate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:104,1
    - Dst: movietexture_deactivate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:105,1
    - Dst: gf_mo_get_duration
      Src: /src/gpac/src/compositor/mpeg4_textures.c:111,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_textures.c:112,1
    - Dst: gf_mo_pause
      Src: /src/gpac/src/compositor/mpeg4_textures.c:115,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:118,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/mpeg4_textures.c:123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: movietexture_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_mo_pause
    - gf_mo_should_deactivate
    - gf_node_get_private
    - gf_sc_invalidate
    - movietexture_get_loop
    - movietexture_deactivate
    - gf_sc_texture_update_frame
    - gf_sc_texture_restart
    - gf_mo_get_duration
    - gf_node_dirty_parents
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void movietexture_update(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_textures.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_textures.c:607,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_textures.c:614,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:613,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_textures.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: compositor_init_mattetexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_mattetexture(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:619,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:622,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 678
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 678
    functionName: gf_sc_mo_destroyed
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_mo_destroyed(GF_Node *n) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:131,1
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/mpeg4_textures.c:150,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_textures.c:148,1
    - Dst: movietexture_get_speed
      Src: /src/gpac/src/compositor/mpeg4_textures.c:155,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_textures.c:137,1
    - Dst: movietexture_deactivate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:158,1
    - Dst: movietexture_activate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 171
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 171
    functionName: movietexture_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_sc_texture_play
    - gf_node_get_private
    - movietexture_activate
    - movietexture_deactivate
    - gf_mo_resume
    - movietexture_get_speed
    linkageType: ''
    returnType: void
    signature: 'static void movietexture_update_time(GF_TimeNode *st) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_textures.c:413,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_textures.c:421,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_textures.c:418,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_textures.c:415,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:424,1
    - Dst: gf_scene_get_service_url
      Src: /src/gpac/src/compositor/mpeg4_textures.c:437,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_textures.c:437,1
    - Dst: gf_opts_get_section_count
      Src: /src/gpac/src/compositor/mpeg4_textures.c:438,1
    - Dst: gf_opts_get_section_name
      Src: /src/gpac/src/compositor/mpeg4_textures.c:441,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:445,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/mpeg4_textures.c:449,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:447,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:443,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/mpeg4_textures.c:442,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_textures.c:446,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/compositor/mpeg4_textures.c:448,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/mpeg4_textures.c:444,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 455
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 455
    functionName: compositor_init_imagetexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_opts_del_section
    - strncmp
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_get_graph
    - gf_node_set_private
    - gf_sc_texture_setup
    - gf_file_delete
    - gf_opts_get_section_name
    - GF_SAFEALLOC
    - stricmp
    - gf_opts_get_section_count
    - gf_scene_get_service_url
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_imagetexture(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_textures.c:575,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_textures.c:577,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_textures.c:585,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_textures.c:580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 589
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 589
    functionName: compositor_init_pixeltexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_pixeltexture(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_textures.c:176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_textures.c:178,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:191,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_textures.c:181,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:194,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_textures.c:195,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_textures.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: compositor_init_movietexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - gf_sc_register_time_node
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_movietexture(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: it_get_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *it_get_texture(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pt_get_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *pt_get_texture(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:51,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:54,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:52,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_textures.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: movietexture_destroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_sc_unregister_time_node
    - gf_sc_texture_destroy
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void movietexture_destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:230,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:241,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_textures.c:239,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:233,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:240,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_textures.c:245,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/compositor/mpeg4_textures.c:246,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/compositor/mpeg4_textures.c:250,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/compositor/mpeg4_textures.c:251,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:254,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:257,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: imagetexture_destroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_opts_del_section
    - gf_node_get_private
    - sscanf
    - sprintf
    - gf_net_get_ntp
    - gf_file_delete
    - gf_free
    - gf_sc_texture_destroy
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void imagetexture_destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:500,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:502,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:503,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pixeltexture_destroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_destroy
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void pixeltexture_destroy(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_speed
      Src: /src/gpac/src/compositor/mpeg4_textures.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stack
    - mt
    argTypes:
    - MovieTextureStack*
    - M_MovieTexture*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: movietexture_get_speed
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_mo_get_speed
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed movietexture_get_speed(MovieTextureStack *stack, M_MovieTexture
      *mt) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:280,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/compositor/mpeg4_textures.c:303,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/compositor/mpeg4_textures.c:316,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:339,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:356,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:360,1
    - Dst: gf_scene_get_service_url
      Src: /src/gpac/src/compositor/mpeg4_textures.c:363,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_textures.c:384,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:385,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_textures.c:394,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:264,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_textures.c:296,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:297,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:299,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/compositor/mpeg4_textures.c:323,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/mpeg4_textures.c:326,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:307,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_textures.c:370,1
    - Dst: gf_fopen
      Src: /src/gpac/src/compositor/mpeg4_textures.c:375,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/compositor/mpeg4_textures.c:377,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_textures.c:372,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:403,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_textures.c:363,1
    - Dst: gf_sc_texture_update_frame
      Src: /src/gpac/src/compositor/mpeg4_textures.c:271,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/compositor/mpeg4_textures.c:279,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_textures.c:269,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:309,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_textures.c:319,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/mpeg4_textures.c:305,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_textures.c:336,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/compositor/mpeg4_textures.c:337,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/mpeg4_textures.c:340,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:358,1
    - Dst: gf_fclose
      Src: /src/gpac/src/compositor/mpeg4_textures.c:378,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:386,1
    - Dst: sprintf
      Src: /src/gpac/src/compositor/mpeg4_textures.c:369,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:395,1
    - Dst: gf_scene_get_service_url
      Src: /src/gpac/src/compositor/mpeg4_textures.c:296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_textures.c:305,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:325,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/compositor/mpeg4_textures.c:334,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/compositor/mpeg4_textures.c:360,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_textures.c:362,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/compositor/mpeg4_textures.c:365,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/mpeg4_textures.c:374,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:387,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/compositor/mpeg4_textures.c:392,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/mpeg4_textures.c:397,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_textures.c:365,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 408
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 408
    functionName: imagetexture_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sc_texture_play
    - strlen
    - gf_node_get_tag
    - gf_file_load_data
    - gf_sc_invalidate
    - gf_sc_texture_allocate
    - gf_img_jpeg_dec
    - GF_LOG
    - gf_sc_texture_update_frame
    - gf_fwrite
    - gf_error_to_string
    - gf_net_get_ntp
    - gf_get_default_cache_directory
    - gf_sha1_csum
    - strcpy
    - gf_fopen
    - gf_node_dirty_parents
    - gf_sc_texture_set_data
    - sprintf
    - gf_free
    - gf_opts_get_key
    - gf_url_concatenate
    - strcat
    - gf_img_png_dec
    - gf_node_get_graph
    - gf_opts_set_key
    - gf_fclose
    - gf_scene_get_service_url
    linkageType: ''
    returnType: void
    signature: 'static void imagetexture_update(GF_TextureHandler *txh) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:510,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_textures.c:545,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_textures.c:513,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_textures.c:549,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_textures.c:512,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_textures.c:550,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:554,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mpeg4_textures.c:559,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/mpeg4_textures.c:569,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 570
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 570
    functionName: pixeltexture_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_sc_texture_set_data
    - gf_node_get_private
    - gf_sc_texture_allocate
    - gf_node_dirty_get
    - memcpy
    - gf_free
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void pixeltexture_update(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: mt_get_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *mt_get_texture(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:465,1
    - Dst: gf_sc_texture_check_url_change
      Src: /src/gpac/src/compositor/mpeg4_textures.c:479,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_textures.c:481,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_textures.c:468,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/mpeg4_textures.c:480,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_textures.c:486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: compositor_imagetexture_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop
    - gf_sc_texture_play
    - gf_node_get_tag
    - gf_node_get_private
    - gf_sc_texture_check_url_change
    linkageType: ''
    returnType: void
    signature: 'void compositor_imagetexture_modified(GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_textures.c:209,1
    - Dst: gf_sc_texture_play
      Src: /src/gpac/src/compositor/mpeg4_textures.c:215,1
    - Dst: gf_sc_texture_check_url_change
      Src: /src/gpac/src/compositor/mpeg4_textures.c:213,1
    - Dst: gf_sc_texture_stop
      Src: /src/gpac/src/compositor/mpeg4_textures.c:214,1
    - Dst: movietexture_update_time
      Src: /src/gpac/src/compositor/mpeg4_textures.c:219,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_textures.c:224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: compositor_movietexture_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_textures.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_stop
    - gf_sc_texture_play
    - gf_node_get_private
    - gf_sc_texture_check_url_change
    - gf_sc_register_time_node
    - movietexture_update_time
    linkageType: ''
    returnType: void
    signature: 'void compositor_movietexture_modified(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NewDrawableContext
      Src: /src/gpac/src/compositor/visual_manager_2d.c:85,1
    - Dst: drawctx_reset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:95,1
    - Dst: drawctx_reset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:103,1
    - Dst: drawctx_reset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:87,1
    - Dst: NewDrawableContext
      Src: /src/gpac/src/compositor/visual_manager_2d.c:108,1
    - Dst: drawctx_reset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:110,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_2d.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: visual_2d_get_drawable_context
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - drawctx_reset
    - gf_malloc
    - NewDrawableContext
    linkageType: ''
    returnType: DrawableContext*
    signature: 'DrawableContext *visual_2d_get_drawable_context(GF_VisualManager *visual) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_irect_overlaps
      Src: /src/gpac/src/compositor/visual_manager_2d.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_IRect*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: gf_irect_intersect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_irect_overlaps
    linkageType: ''
    returnType: void
    signature: 'void gf_irect_intersect(GF_IRect *rc1, GF_IRect *rc2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_2d.c:153,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - visual
    - drawable
    argTypes:
    - GF_VisualManager*
    - struct _drawable*
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: visual_2d_drawable_delete
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_drawable_delete(GF_VisualManager *visual, struct _drawable
      *drawable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/visual_manager_2d.c:177,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_2d.c:178,1
    - Dst: gf_irect_overlaps
      Src: /src/gpac/src/compositor/visual_manager_2d.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tr_state
    - bounds
    argTypes:
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: visual_2d_node_cull
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_rect
    - gf_rect_pixelize
    - gf_irect_overlaps
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_2d_node_cull(GF_TraverseState *tr_state, GF_Rect *bounds) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_2d.c:198,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:200,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:200,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:202,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:207,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/visual_manager_2d.c:210,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:220,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:226,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:198,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:206,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:221,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_2d.c:240,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:225,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:218,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_2d.c:212,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_2d.c:218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_2d.c:235,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_2d.c:247,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:198,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_2d.c:200,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_2d.c:202,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:202,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:218,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_2d.c:232,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:235,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:242,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 250
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 250
    functionName: visual_2d_setup_projection
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_rect_center
    - gf_list_get
    - gf_list_count
    - gf_mx2d_add_scale
    - gf_rect_pixelize
    - INT2FIX
    - gf_mx_init
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_setup_projection(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_irect_relation
      Src: /src/gpac/src/compositor/visual_manager_2d.c:422,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/visual_manager_2d.c:426,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/visual_manager_2d.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ra
    argTypes:
    - GF_RectArray*
    constantsTouched: []
    func_position:
      end: 448
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 448
    functionName: ra_refresh
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_irect_union
    - memmove
    - gf_irect_relation
    linkageType: ''
    returnType: void
    signature: 'void ra_refresh(GF_RectArray *ra) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_2d.c:458,1
    - Dst: gf_irect_inside
      Src: /src/gpac/src/compositor/visual_manager_2d.c:498,1
    - Dst: gf_irect_relation
      Src: /src/gpac/src/compositor/visual_manager_2d.c:479,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/visual_manager_2d.c:482,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/visual_manager_2d.c:502,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:511,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - ra
    - ctx
    - ctx_idx
    - first_opaque
    argTypes:
    - GF_RectArray*
    - DrawableContext*
    - u32
    - DrawableContext**
    constantsTouched: []
    func_position:
      end: 517
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 517
    functionName: register_context_rect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - ra_add
    - gf_irect_inside
    - gf_irect_relation
    - memmove
    - gf_assert
    - gf_irect_union
    linkageType: ''
    returnType: u32
    signature: 'static u32 register_context_rect(GF_RectArray *ra, DrawableContext
      *ctx, u32 ctx_idx, DrawableContext **first_opaque) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: visual_2d_flush_overlay_areas
      Src: /src/gpac/src/compositor/visual_manager_2d.c:581,1
    - Dst: drawctx_update_info
      Src: /src/gpac/src/compositor/visual_manager_2d.c:633,1
    - Dst: register_dirty_rect
      Src: /src/gpac/src/compositor/visual_manager_2d.c:656,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:662,1
    - Dst: ra_clear
      Src: /src/gpac/src/compositor/visual_manager_2d.c:685,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:686,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:713,1
    - Dst: drawable_check_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d.c:728,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/compositor/visual_manager_2d.c:790,1
    - Dst: call_drawable_draw
      Src: /src/gpac/src/compositor/visual_manager_2d.c:818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:706,1
    - Dst: b2d_get_context
      Src: /src/gpac/src/compositor/visual_manager_2d.c:608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_2d.c:599,1
    - Dst: gf_rect_ft
      Src: /src/gpac/src/compositor/visual_manager_2d.c:740,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:748,1
    - Dst: visual_2d_overlaps_overlay
      Src: /src/gpac/src/compositor/visual_manager_2d.c:817,1
    - Dst: visual_2d_flush_overlay_areas
      Src: /src/gpac/src/compositor/visual_manager_2d.c:823,1
    - Dst: visual_clean_contexts
      Src: /src/gpac/src/compositor/visual_manager_2d.c:844,1
    - Dst: compositor_2d_hybgl_clear_surface
      Src: /src/gpac/src/compositor/visual_manager_2d.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:795,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_2d.c:837,1
    - Dst: visual_clean_contexts
      Src: /src/gpac/src/compositor/visual_manager_2d.c:584,1
    - Dst: register_context_rect
      Src: /src/gpac/src/compositor/visual_manager_2d.c:636,1
    - Dst: drawable_get_previous_bound
      Src: /src/gpac/src/compositor/visual_manager_2d.c:653,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/visual_manager_2d.c:655,1
    - Dst: ra_refresh
      Src: /src/gpac/src/compositor/visual_manager_2d.c:691,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_2d.c:662,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_2d.c:676,1
    - Dst: drawable_reset_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d.c:665,1
    - Dst: ra_is_empty
      Src: /src/gpac/src/compositor/visual_manager_2d.c:699,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:792,1
    - Dst: visual_2d_release_raster
      Src: /src/gpac/src/compositor/visual_manager_2d.c:583,1
    - Dst: irect_rect_equal
      Src: /src/gpac/src/compositor/visual_manager_2d.c:720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:791,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_2d.c:796,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_2d.c:831,1
    - Dst: ra_clear
      Src: /src/gpac/src/compositor/visual_manager_2d.c:842,1
    - Dst: visual_2d_release_raster
      Src: /src/gpac/src/compositor/visual_manager_2d.c:843,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 200
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 847
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 847
    functionName: visual_2d_terminate_draw
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - visual_clean_contexts
    - drawable_check_bounds
    - b2d_get_context
    - GF_LOG
    - gf_rect_ft
    - visual_2d_flush_overlay_areas
    - gf_node_traverse
    - gf_irect_intersect
    - register_context_rect
    - drawable_reset_bounds
    - visual_2d_release_raster
    - gf_node_get_class_name
    - gf_assert
    - ra_add
    - gf_list_get
    - register_dirty_rect
    - drawable_get_previous_bound
    - compositor_2d_hybgl_clear_surface
    - ra_clear
    - gf_free
    - call_drawable_draw
    - irect_rect_equal
    - drawctx_update_info
    - ra_is_empty
    - visual_2d_overlaps_overlay
    - gf_log_tool_level_on
    - ra_refresh
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_2d_terminate_draw(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_2d.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: visual_2d_remove_last_context
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_remove_last_context(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:71,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:73,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:72,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: gf_rect_ft
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: GF_Rect
    signature: 'GF_Rect gf_rect_ft(GF_IRect *rc) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:269,1
    - Dst: drawable_flush_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d.c:302,1
    - Dst: visual_2d_init_raster
      Src: /src/gpac/src/compositor/visual_manager_2d.c:279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:303,1
    - Dst: visual_2d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_2d.c:271,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_2d.c:303,1
    - Dst: drawable_reset_bounds
      Src: /src/gpac/src/compositor/visual_manager_2d.c:306,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_2d.c:312,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_2d.c:327,1
    - Dst: b2d_get_context
      Src: /src/gpac/src/compositor/visual_manager_2d.c:329,1
    - Dst: gf_rect_ft
      Src: /src/gpac/src/compositor/visual_manager_2d.c:338,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:341,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 358
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 358
    functionName: visual_2d_init_draw
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - drawable_flush_bounds
    - gf_list_get
    - gf_node_traverse
    - memset
    - GF_LOG
    - b2d_get_context
    - gf_rect_ft
    - drawable_reset_bounds
    - visual_2d_setup_projection
    - visual_2d_init_raster
    - gf_free
    - gf_node_get_class_name
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err visual_2d_init_draw(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_irect_relation
      Src: /src/gpac/src/compositor/visual_manager_2d.c:530,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:550,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/visual_manager_2d.c:533,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ra
    - rc
    argTypes:
    - GF_RectArray*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 557
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 557
    functionName: register_dirty_rect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_irect_union
    - ra_add
    - gf_irect_relation
    linkageType: ''
    returnType: void
    signature: 'static void register_dirty_rect(GF_RectArray *ra, GF_IRect *rc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager_2d.c:859,1
    - Dst: visual_2d_init_draw
      Src: /src/gpac/src/compositor/visual_manager_2d.c:868,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager_2d.c:870,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:890,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_2d.c:856,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_2d.c:864,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/visual_manager_2d.c:871,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_2d.c:911,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:897,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_2d.c:901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:871,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_2d.c:881,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_2d.c:886,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager_2d.c:906,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_2d.c:886,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_2d.c:874,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/visual_manager_2d.c:894,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/visual_manager_2d.c:893,1
    - Dst: visual_2d_terminate_draw
      Src: /src/gpac/src/compositor/visual_manager_2d.c:907,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_2d.c:917,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - visual
    - root
    - tr_state
    - is_root_visual
    argTypes:
    - GF_VisualManager*
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 921
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 921
    functionName: visual_2d_draw_frame
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - compositor_3d_enable_fbo
    - gf_node_traverse
    - gf_sc_traverse_subscene
    - gf_error_to_string
    - gf_list_enum
    - GF_LOG
    - visual_2d_init_draw
    - visual_2d_terminate_draw
    - gf_sys_clock
    - gf_node_get_class_name
    - gf_mx2d_copy
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_2d_draw_frame(GF_VisualManager *visual, GF_Node *root,
      GF_TraverseState *tr_state, Bool is_root_visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager_2d.c:929,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:934,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/visual_manager_2d.c:945,1
    - Dst: visual_2d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_2d.c:931,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_2d.c:935,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:951,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/visual_manager_2d.c:957,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_2d.c:958,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/visual_manager_2d.c:959,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/visual_manager_2d.c:960,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager_2d.c:963,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - visual
    - tr_state
    - ev
    - children
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - GF_Event*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 964
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 964
    functionName: visual_2d_pick_node
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_node_traverse
    - gf_sc_traverse_subscene
    - gf_sg_get_root_node
    - gf_list_enum
    - INT2FIX
    - visual_2d_setup_projection
    - gf_mx2d_copy
    linkageType: ''
    returnType: void
    signature: 'void visual_2d_pick_node(GF_VisualManager *visual, GF_TraverseState
      *tr_state, GF_Event *ev, GF_ChildNodeItem *children) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_IRect*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: gf_irect_overlaps
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_irect_overlaps(GF_IRect *rc1, GF_IRect *rc2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_IRect*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: gf_irect_inside
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_irect_inside(GF_IRect *rc1, GF_IRect *rc2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_2d.c:384,1
    - Dst: gf_irect_overlaps
      Src: /src/gpac/src/compositor/visual_manager_2d.c:387,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/visual_manager_2d.c:388,1
    - Dst: ra_add
      Src: /src/gpac/src/compositor/visual_manager_2d.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ra
    - rc
    argTypes:
    - GF_RectArray*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: ra_union_rect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_irect_overlaps
    - ra_add
    - gf_irect_union
    linkageType: ''
    returnType: void
    signature: 'void ra_union_rect(GF_RectArray *ra, GF_IRect *rc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_IRect*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 413
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 413
    functionName: gf_irect_relation
    functionSourceFile: /src/gpac/src/compositor/visual_manager_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_irect_relation(GF_IRect *rc1, GF_IRect *rc2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/offscreen_cache.c:103,1
    - Dst: memset
      Src: /src/gpac/src/compositor/offscreen_cache.c:111,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/offscreen_cache.c:118,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/offscreen_cache.c:110,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/offscreen_cache.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - cache
    - path_bounds
    - pix_bounds
    - compositor
    - for_gl
    argTypes:
    - GroupCache*
    - GF_Rect*
    - GF_IRect*
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: group_cache_setup
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_path_reset
    - gf_free
    - gf_path_add_rect_center
    linkageType: ''
    returnType: void
    signature: 'void group_cache_setup(GroupCache *cache, GF_Rect *path_bounds, GF_IRect
      *pix_bounds, GF_Compositor *compositor, Bool for_gl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/offscreen_cache.c:67,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/offscreen_cache.c:72,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:69,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/offscreen_cache.c:73,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/offscreen_cache.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: group_cache_new
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_sc_texture_allocate
    - GF_LOG
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GroupCache*
    signature: 'GroupCache *group_cache_new(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/offscreen_cache.c:428,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/offscreen_cache.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:442,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/offscreen_cache.c:438,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:430,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:443,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/offscreen_cache.c:445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:449,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/offscreen_cache.c:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - node
    - group
    - tr_state
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 454
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 454
    functionName: group_cache_insert_entry
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_node_get_log_name
    - gf_list_count
    - GF_LOG
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void group_cache_insert_entry(GF_Node *node, GroupingNode2D
      *group, GF_TraverseState *tr_state) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/offscreen_cache.c:681,1
    - Dst: ra_union_rect
      Src: /src/gpac/src/compositor/offscreen_cache.c:690,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/offscreen_cache.c:743,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:759,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:779,1
    - Dst: group_cache_insert_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:755,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/offscreen_cache.c:730,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/offscreen_cache.c:664,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/offscreen_cache.c:719,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/offscreen_cache.c:757,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:796,1
    - Dst: ra_refresh
      Src: /src/gpac/src/compositor/offscreen_cache.c:711,1
    - Dst: ra_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:716,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/offscreen_cache.c:719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:788,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/offscreen_cache.c:799,1
    - Dst: ra_init
      Src: /src/gpac/src/compositor/offscreen_cache.c:667,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/offscreen_cache.c:678,1
    - Dst: ra_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:707,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/offscreen_cache.c:730,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/offscreen_cache.c:783,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:759,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/offscreen_cache.c:791,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 5
    argNames:
    - node
    - group
    - tr_state
    - first_child
    - skip_first_child
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    - DrawableContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 803
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 803
    functionName: group_cache_compute_stats
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_list_add
    - GF_COL_A
    - gf_node_get_log_name
    - gf_list_count
    - gf_rect_union
    - ra_del
    - INT2FIX
    - GF_LOG
    - group_cache_del
    - ra_union_rect
    - FIX2INT
    - group_cache_insert_entry
    - ra_refresh
    - gf_list_del_item
    - FIX2FLT
    - ra_init
    linkageType: ''
    returnType: Bool
    signature: 'Bool group_cache_compute_stats(GF_Node *node, GroupingNode2D *group,
      GF_TraverseState *tr_state, DrawableContext *first_child, Bool skip_first_child) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/offscreen_cache.c:50,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/offscreen_cache.c:53,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/offscreen_cache.c:59,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/offscreen_cache.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - cache
    - tr_state
    argTypes:
    - GroupCache*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: group_cache_draw
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - visual_3d_draw_2d_with_aspect
    - visual_2d_texture_path
    - mesh_from_path
    - new_mesh
    linkageType: ''
    returnType: void
    signature: 'void group_cache_draw(GroupCache *cache, GF_TraverseState *tr_state) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:155,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:160,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/offscreen_cache.c:308,1
    - Dst: drawable_reset_bounds
      Src: /src/gpac/src/compositor/offscreen_cache.c:314,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/offscreen_cache.c:344,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/offscreen_cache.c:388,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:412,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/offscreen_cache.c:285,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/offscreen_cache.c:357,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:376,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/offscreen_cache.c:388,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/offscreen_cache.c:389,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:137,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/offscreen_cache.c:239,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/offscreen_cache.c:243,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/offscreen_cache.c:242,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/offscreen_cache.c:216,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/offscreen_cache.c:270,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/offscreen_cache.c:270,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/offscreen_cache.c:272,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/offscreen_cache.c:345,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/offscreen_cache.c:353,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:323,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/offscreen_cache.c:179,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/offscreen_cache.c:181,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/offscreen_cache.c:203,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/offscreen_cache.c:271,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:379,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/offscreen_cache.c:386,1
    - Dst: visual_3d_draw_from_context
      Src: /src/gpac/src/compositor/offscreen_cache.c:402,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/offscreen_cache.c:406,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/offscreen_cache.c:380,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/offscreen_cache.c:364,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:382,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:387,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/offscreen_cache.c:329,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/offscreen_cache.c:161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:155,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/offscreen_cache.c:188,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/offscreen_cache.c:199,1
    - Dst: group_cache_setup
      Src: /src/gpac/src/compositor/offscreen_cache.c:254,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/offscreen_cache.c:269,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/compositor/offscreen_cache.c:258,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/offscreen_cache.c:245,1
    - Dst: gf_mx2d_from_mx
      Src: /src/gpac/src/compositor/offscreen_cache.c:220,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/offscreen_cache.c:269,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/offscreen_cache.c:399,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/offscreen_cache.c:274,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/offscreen_cache.c:400,1
    - Dst: drawable_check_texture_dirty
      Src: /src/gpac/src/compositor/offscreen_cache.c:374,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/offscreen_cache.c:388,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 205
    argCount: 6
    argNames:
    - node
    - cache
    - tr_state
    - force_recompute
    - is_mpeg4
    - auto_fit_vp
    argTypes:
    - GF_Node*
    - GroupCache*
    - GF_TraverseState*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 415
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 415
    functionName: group_cache_traverse
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_rect
    - GF_LOG
    - gf_mx2d_add_scale
    - gf_rect_pixelize
    - drawable_init_context_mpeg4
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - visual_3d_draw_from_context
    - gf_divfix
    - gf_evg_surface_new
    - gf_mx2d_copy
    - gf_node_traverse
    - gf_evg_surface_delete
    - gf_mx2d_pre_multiply
    - gf_mx2d_from_mx
    - gf_mx2d_init
    - gf_node_dirty_get
    - drawable_reset_bounds
    - MAX
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - gf_node_get_log_name
    - drawable_finalize_sort
    - drawable_check_texture_dirty
    - gf_rect_union
    - group_cache_setup
    - drawable_init_context_svg
    - gf_evg_surface_attach_to_buffer
    - new_mesh
    - mesh_from_path
    - gf_sc_texture_push_image
    linkageType: ''
    returnType: Bool
    signature: 'Bool group_cache_traverse(GF_Node *node, GroupCache *cache, GF_TraverseState
      *tr_state, Bool force_recompute, Bool is_mpeg4, Bool auto_fit_vp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/offscreen_cache.c:88,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/offscreen_cache.c:87,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/offscreen_cache.c:85,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/offscreen_cache.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GroupCache*
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: group_cache_del
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release
    - drawable_del
    - gf_sc_texture_destroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void group_cache_del(GroupCache *cache) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:464,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/offscreen_cache.c:467,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/offscreen_cache.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:494,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/offscreen_cache.c:471,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:495,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/offscreen_cache.c:497,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/offscreen_cache.c:499,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/offscreen_cache.c:504,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - compositor
    - node
    - group
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GroupingNode2D*
    constantsTouched: []
    func_position:
      end: 507
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 507
    functionName: gf_cache_remove_entry
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_get_log_name
    - gf_list_count
    - GF_LOG
    - gf_fatal_assert
    - gf_list_rem
    - gf_list_del_item
    - FIX2FLT
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_cache_remove_entry(GF_Compositor *compositor, GF_Node
      *node, GroupingNode2D *group) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: group_cache_compute_stats
      Src: /src/gpac/src/compositor/offscreen_cache.c:827,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/offscreen_cache.c:829,1
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:840,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/offscreen_cache.c:851,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/offscreen_cache.c:853,1
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:857,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:858,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - node
    - group
    - tr_state
    - first_child
    - skip_first_child
    - last_cache_idx
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    - DrawableContext*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 861
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 861
    functionName: group_2d_cache_evaluate
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_cache_remove_entry
    - group_cache_compute_stats
    - gf_list_count
    - GF_LOG
    - INT2FIX
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void group_2d_cache_evaluate(GF_Node *node, GroupingNode2D *group,
      GF_TraverseState *tr_state, DrawableContext *first_child, Bool skip_first_child,
      u32 last_cache_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - memory
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 872
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 872
    functionName: compositor_set_cache_memory
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_cache_remove_entry
    linkageType: ''
    returnType: void
    signature: 'void compositor_set_cache_memory(GF_Compositor *compositor, u32 memory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: group_2d_destroy_svg
      Src: /src/gpac/src/compositor/offscreen_cache.c:891,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - node
    - group
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: group_2d_destroy
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - group_2d_destroy_svg
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void group_2d_destroy(GF_Node *node, GroupingNode2D *group) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: group_cache_draw
      Src: /src/gpac/src/compositor/offscreen_cache.c:525,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/offscreen_cache.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:622,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/offscreen_cache.c:523,1
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:585,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:592,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:622,1
    - Dst: group_cache_new
      Src: /src/gpac/src/compositor/offscreen_cache.c:634,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/offscreen_cache.c:630,1
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:615,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/offscreen_cache.c:513,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:539,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:549,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:586,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/offscreen_cache.c:539,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:544,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/offscreen_cache.c:549,1
    - Dst: group_cache_traverse
      Src: /src/gpac/src/compositor/offscreen_cache.c:639,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 3
    argNames:
    - node
    - group
    - tr_state
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 641
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 641
    functionName: group_2d_cache_traverse
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - group_cache_draw
    - group_cache_new
    - gf_node_get_log_name
    - gf_cache_remove_entry
    - GF_LOG
    - group_cache_del
    - gf_node_dirty_get
    - gf_fatal_assert
    - group_cache_traverse
    - MAX
    linkageType: ''
    returnType: Bool
    signature: 'Bool group_2d_cache_traverse(GF_Node *node, GroupingNode2D *group,
      GF_TraverseState *tr_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/offscreen_cache.c:879,1
    - Dst: gf_cache_remove_entry
      Src: /src/gpac/src/compositor/offscreen_cache.c:880,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/offscreen_cache.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - node
    - group
    argTypes:
    - GF_Node*
    - GroupingNode2D*
    constantsTouched: []
    func_position:
      end: 887
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 887
    functionName: group_2d_destroy_svg
    functionSourceFile: /src/gpac/src/compositor/offscreen_cache.c
    functionUses: []
    functionsReached:
    - group_cache_del
    - gf_sc_get_compositor
    - gf_cache_remove_entry
    linkageType: ''
    returnType: void
    signature: 'void group_2d_destroy_svg(GF_Node *node, GroupingNode2D *group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:50,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:54,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:56,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:51,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:53,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:58,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:59,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:61,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:62,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - n
    - tr_state
    - force_traverse
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: l2d_CheckBindables
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_2d.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_traverse
    - gf_node_register
    - gf_node_unregister
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void l2d_CheckBindables(GF_Node *n, GF_TraverseState *tr_state,
      Bool force_traverse) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:121,1
    - Dst: compositor_2d_update_clipper
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:142,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:148,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:172,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:181,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:183,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:194,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:200,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:208,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:300,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:265,1
    - Dst: visual_2d_get_drawable_context
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:238,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:286,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:319,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:315,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:93,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:95,1
    - Dst: visual_get_size_info
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:125,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:144,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:156,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:163,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:168,1
    - Dst: visual_3d_set_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:150,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:205,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:219,1
    - Dst: drawable_check_bounds
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:247,1
    - Dst: gf_sc_pick_in_clipper
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:280,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:331,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:289,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:227,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:234,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:349,1
    - Dst: b2d_get_context
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:226,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:306,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:92,1
    - Dst: l2d_CheckBindables
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:117,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:155,1
    - Dst: visual_3d_flush_contexts
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:174,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:177,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:177,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:188,1
    - Dst: visual_3d_set_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:189,1
    - Dst: gf_rect_intersect
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:210,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:265,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:292,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:305,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:88,1
    - Dst: group_2d_destroy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:94,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:129,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:141,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:178,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:240,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:254,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:271,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:291,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:303,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:274,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:223,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:294,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:256,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:325,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 186
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 351
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 351
    functionName: TraverseLayer2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_rect
    - gf_sc_invalidate
    - drawable_check_bounds
    - gf_rect_pixelize
    - b2d_get_context
    - GF_LOG
    - gf_sc_pick_in_clipper
    - visual_3d_reset_clipper_2d
    - visual_3d_set_clipper_2d
    - visual_2d_get_drawable_context
    - GF_SAFEALLOC
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_node_traverse
    - gf_list_del
    - gf_irect_intersect
    - gf_list_count
    - gf_mx2d_init
    - BindableStackDelete
    - gf_node_get_class_name
    - gf_list_new
    - gf_assert
    - gf_list_get
    - l2d_CheckBindables
    - gf_bbox_from_rect
    - compositor_2d_update_clipper
    - gf_free
    - gf_rect_center
    - gf_node_get_private
    - visual_get_size_info
    - Bindable_GetIsBound
    - gf_rect_intersect
    - group_2d_destroy
    - group_2d_traverse
    - visual_3d_flush_contexts
    linkageType: ''
    returnType: void
    signature: 'static void TraverseLayer2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:356,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:358,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:362,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:363,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:366,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_layer_2d.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: compositor_init_layer2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_layer_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_layer2d(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:2182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - tn
    argTypes:
    - GF_Compositor*
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2184
    functionName: gf_sc_register_time_node
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_register_time_node(GF_Compositor *compositor,
      GF_TimeNode *tn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - frame_pending
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 4050
      start: 4041
    functionDepth: 0
    functionLinenumber: 4041
    functionLinenumberEnd: 4050
    functionName: gf_sc_set_system_pending_frame
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_set_system_pending_frame(GF_Compositor *compositor, Bool
      frame_pending) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor.c:1184,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/compositor.c:1187,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/compositor.c:1184,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor.c:1187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 2
    argNames:
    - compositor
    - length
    argTypes:
    - GF_Compositor*
    - SVG_Length*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1198
    functionName: gf_sc_svg_convert_length_to_display
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - FLT2FIX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_sc_svg_convert_length_to_display(GF_Compositor
      *compositor, SVG_Length *length) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/compositor/compositor.c:4254,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/compositor/compositor.c:4272,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/compositor/compositor.c:4287,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/compositor/compositor.c:4274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - compositor
    - cts
    - obj_time
    - from_filter
    argTypes:
    - GF_Compositor*
    - u32
    - u32
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4293
      start: 4249
    functionDepth: 0
    functionLinenumber: 4249
    functionLinenumberEnd: 4293
    functionName: gf_sc_sys_frame_pending
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_post_process_task
    - gf_filter_ask_rt_reschedule
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_sys_frame_pending(GF_Compositor *compositor, u32 cts, u32
      obj_time, GF_Filter *from_filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/compositor.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - tn
    argTypes:
    - GF_Compositor*
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2190
    functionName: gf_sc_unregister_time_node
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_unregister_time_node(GF_Compositor *compositor,
      GF_TimeNode *tn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:4056,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4060,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4063,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor.c:4067,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4058,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:4069,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:4072,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4074,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - compositor
    - evt
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4075
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4075
    functionName: gf_sc_queue_event
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - GF_SAFEALLOC
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_queue_event(GF_Compositor *compositor, GF_Event *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:4299,1
    - Dst: gf_clock_reset
      Src: /src/gpac/src/compositor/compositor.c:4318,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/compositor/compositor.c:4304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4315,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/compositor/compositor.c:4302,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/compositor/compositor.c:4319,1
    - Dst: gf_sc_sys_frame_pending
      Src: /src/gpac/src/compositor/compositor.c:4323,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/compositor.c:4329,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/compositor.c:4330,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 6
    argNames:
    - scene
    - odm
    - for_pid
    - from_filter
    - cts_in_ms
    - dur_in_ms
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    - GF_FilterPid*
    - GF_Filter*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 4333
      start: 4296
    functionDepth: 0
    functionLinenumber: 4296
    functionLinenumberEnd: 4333
    functionName: gf_sc_check_sys_frame
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_odm_check_buffering
    - gf_sc_sys_frame_pending
    - gf_clock_set_time
    - gf_clock_time
    - gf_timestamp_rescale
    - gf_clock_reset
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_check_sys_frame(GF_Scene *scene, GF_ObjectManager *odm,
      GF_FilterPid *for_pid, GF_Filter *from_filter, u64 cts_in_ms, u32 dur_in_ms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - state
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: gf_sc_next_frame_state
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_next_frame_state(GF_Compositor *compositor, u32 state) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:3792,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor.c:3795,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/compositor.c:3819,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/compositor.c:3846,1
    - Dst: gf_svg_properties_reset_pointers
      Src: /src/gpac/src/compositor/compositor.c:3857,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:3856,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/compositor.c:3847,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/compositor.c:3867,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:3858,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:3862,1
    - Dst: svg_pause_video
      Src: /src/gpac/src/compositor/compositor.c:3935,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:3862,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/compositor.c:3874,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3928,1
    - Dst: svg_pause_animation
      Src: /src/gpac/src/compositor/compositor.c:3938,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:3806,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:3838,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/compositor.c:3870,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/compositor.c:3886,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/src/compositor/compositor.c:3896,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3908,1
    - Dst: svg_pause_audio
      Src: /src/gpac/src/compositor/compositor.c:3912,1
    - Dst: strrchr
      Src: /src/gpac/src/compositor/compositor.c:3884,1
    - Dst: gf_svg_properties_init_pointers
      Src: /src/gpac/src/compositor/compositor.c:3854,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:3799,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor.c:3798,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/compositor.c:3810,1
    - Dst: compositor_svg_get_viewport
      Src: /src/gpac/src/compositor/compositor.c:3817,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor.c:3852,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/compositor.c:3875,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3887,1
    - Dst: svg_pause_video
      Src: /src/gpac/src/compositor/compositor.c:3915,1
    - Dst: svg_pause_animation
      Src: /src/gpac/src/compositor/compositor.c:3918,1
    - Dst: svg_pause_audio
      Src: /src/gpac/src/compositor/compositor.c:3932,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor.c:3902,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:3886,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/compositor.c:3872,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 103
    argCount: 4
    argNames:
    - compositor
    - type
    - n
    - param
    argTypes:
    - GF_Compositor*
    - GF_JSAPIActionType
    - GF_Node*
    - GF_JSAPIParam*
    constantsTouched: []
    func_position:
      end: 3954
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3954
    functionName: gf_sc_script_action
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - memset
    - gf_node_get_tag
    - gf_mx2d_apply_rect
    - gf_sc_get_fps
    - svg_pause_video
    - gf_divfix
    - GF_SAFEALLOC
    - FIX2FLT
    - gf_svg_properties_init_pointers
    - gf_node_traverse
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - gf_node_get_scene_time
    - gf_mx_from_mx2d
    - svg_pause_animation
    - gf_bbox_from_rect
    - gf_svg_properties_reset_pointers
    - compositor_2d_set_user_transform
    - gf_free
    - svg_pause_audio
    - gf_rect_center
    - compositor_svg_get_viewport
    - gf_sg_get_root_node
    - gf_mulfix
    - gf_node_get_graph
    - strrchr
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_script_action(GF_Compositor *compositor, GF_JSAPIActionType
      type, GF_Node *n, GF_JSAPIParam *param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:76,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:85,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:95,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:101,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:109,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 113
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 113
    functionName: gf_sc_set_fullscreen
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sc_send_event
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    - gf_sc_reset_graphics
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_set_fullscreen(GF_Compositor *compositor) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/compositor/compositor.c:564,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/compositor.c:591,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/compositor/compositor.c:568,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:592,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/compositor/compositor.c:584,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:592,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:593,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:593,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:594,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:594,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/compositor.c:600,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 604
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 604
    functionName: gf_sc_setup_passthrough
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    - gf_realloc
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_UINT
    - gf_filter_pck_get_timescale
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_setup_passthrough(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor.c:3963,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/compositor.c:3967,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/compositor.c:3964,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/compositor.c:3966,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/compositor.c:3976,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - tr_state
    - clip
    argTypes:
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3984
    functionName: gf_sc_pick_in_clipper
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mx_inverse
    - gf_mx2d_apply_rect
    - gf_mx_apply_ray
    - gf_mx_copy
    - compositor_get_2d_plane_intersection
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_pick_in_clipper(GF_TraverseState *tr_state, GF_Rect *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_supported_source
      Src: /src/gpac/src/compositor/compositor.c:4463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - compositor
    - fileName
    - use_parent_url
    argTypes:
    - GF_Compositor*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 4464
      start: 4454
    functionDepth: 0
    functionLinenumber: 4454
    functionLinenumberEnd: 4464
    functionName: gf_sc_is_supported_url
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_is_supported_source
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_is_supported_url(GF_Compositor *compositor, const
      char *fileName, Bool use_parent_url) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:3627,1
    - Dst: gf_mo_update_caps_ex
      Src: /src/gpac/src/compositor/compositor.c:3665,1
    - Dst: gf_sc_input_sensor_keyboard_input
      Src: /src/gpac/src/compositor/compositor.c:3710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:3663,1
    - Dst: gf_sc_handle_event_intern
      Src: /src/gpac/src/compositor/compositor.c:3730,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/compositor.c:3738,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/compositor.c:3570,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:3582,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/compositor/compositor.c:3614,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3674,1
    - Dst: gf_scene_force_size_to_video
      Src: /src/gpac/src/compositor/compositor.c:3670,1
    - Dst: gf_sc_paste_text
      Src: /src/gpac/src/compositor/compositor.c:3733,1
    - Dst: gf_sc_get_selected_text
      Src: /src/gpac/src/compositor/compositor.c:3737,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/compositor/compositor.c:3635,1
    - Dst: gf_sc_input_sensor_string_input
      Src: /src/gpac/src/compositor/compositor.c:3718,1
    - Dst: gf_sc_handle_event_intern
      Src: /src/gpac/src/compositor/compositor.c:3712,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:3750,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:3610,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:3600,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:3616,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:3622,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:3662,1
    - Dst: gf_sc_handle_event_intern
      Src: /src/gpac/src/compositor/compositor.c:3720,1
    - Dst: gf_sc_has_text_selection
      Src: /src/gpac/src/compositor/compositor.c:3736,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:3747,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 139
    argCount: 3
    argNames:
    - compositor
    - event
    - from_user
    argTypes:
    - GF_Compositor*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 3754
      start: 3565
    functionDepth: 0
    functionLinenumber: 3565
    functionLinenumberEnd: 3754
    functionName: gf_sc_on_event_ex
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - gf_list_get
    - gf_sc_input_sensor_keyboard_input
    - gf_sc_send_event
    - gf_mx_try_lock
    - gf_sc_handle_event_intern
    - gf_sc_input_sensor_string_input
    - gf_list_count
    - gf_mo_update_caps_ex
    - gf_sc_paste_text
    - gf_sc_lock
    - gf_strdup
    - gf_sc_get_selected_text
    - gf_scene_force_size_to_video
    - gf_opts_set_key
    - gf_sc_has_text_selection
    - gf_mx_v
    - gf_sc_reset_graphics
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_sc_on_event_ex(GF_Compositor *compositor , GF_Event
      *event, Bool from_user) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4792,1
    - Dst: check_in_scene
      Src: /src/gpac/src/compositor/compositor.c:4794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - scene
    - odm
    argTypes:
    - GF_Scene*
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 4797
      start: 4782
    functionDepth: 0
    functionLinenumber: 4782
    functionLinenumberEnd: 4797
    functionName: check_in_scene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - check_in_scene
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_in_scene(GF_Scene *scene, GF_ObjectManager *odm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_on_event_ex
      Src: /src/gpac/src/compositor/compositor.c:3759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cbck
    - event
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 3760
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3760
    functionName: gf_sc_on_event
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_on_event_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_on_event(void *cbck, GF_Event *event) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/compositor/compositor.c:4839,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4840,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4849,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4848,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/compositor.c:4860,1
    - Dst: gf_sm_dumper_del
      Src: /src/gpac/src/compositor/compositor.c:4861,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4841,1
    - Dst: gf_sm_dump_get_name
      Src: /src/gpac/src/compositor/compositor.c:4856,1
    - Dst: strlwr
      Src: /src/gpac/src/compositor/compositor.c:4838,1
    - Dst: strcpy
      Src: /src/gpac/src/compositor/compositor.c:4837,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/compositor/compositor.c:4834,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4840,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4841,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4841,1
    - Dst: gf_sm_dumper_set_extra_graph
      Src: /src/gpac/src/compositor/compositor.c:4850,1
    - Dst: gf_sm_dump_graph
      Src: /src/gpac/src/compositor/compositor.c:4851,1
    - Dst: gf_sm_dump_get_name
      Src: /src/gpac/src/compositor/compositor.c:4860,1
    - Dst: check_in_scene
      Src: /src/gpac/src/compositor/compositor.c:4818,1
    - Dst: gf_sm_dumper_new
      Src: /src/gpac/src/compositor/compositor.c:4844,1
    - Dst: gf_sm_dump_graph
      Src: /src/gpac/src/compositor/compositor.c:4847,1
    - Dst: gf_sm_dumper_set_extra_graph
      Src: /src/gpac/src/compositor/compositor.c:4855,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/compositor.c:4854,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 6
    argNames:
    - compositor
    - rad_name
    - filename
    - xml_dump
    - skip_protos
    - scene_od
    argTypes:
    - GF_Compositor*
    - char*
    - char**
    - Bool
    - Bool
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 4866
      start: 4799
    functionDepth: 0
    functionLinenumber: 4799
    functionLinenumberEnd: 4866
    functionName: gf_sc_dump_scene_ex
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sys_is_cov_mode
    - check_in_scene
    - gf_sm_dump_get_name
    - strncmp
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_sm_dumper_del
    - gf_sm_dump_graph
    - gf_sm_dumper_new
    - strlwr
    - strcpy
    - gf_sm_dumper_set_extra_graph
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_dump_scene_ex(GF_Compositor *compositor, char
      *rad_name, char **filename, Bool xml_dump, Bool skip_protos, GF_ObjectManager
      *scene_od) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4138,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:4145,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:4158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4141,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:4153,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:4161,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - evq
    - node
    - sg
    argTypes:
    - GF_List*
    - GF_Node*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 4164
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4164
    functionName: sc_cleanup_event_queue
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_node_get_graph
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void sc_cleanup_event_queue(GF_List *evq, GF_Node *node, GF_SceneGraph
      *sg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_input_sensor_mouse_input
      Src: /src/gpac/src/compositor/compositor.c:3535,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:3545,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3547,1
    - Dst: gf_sc_exec_event
      Src: /src/gpac/src/compositor/compositor.c:3546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - compositor
    - event
    - from_user
    argTypes:
    - GF_Compositor*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 3551
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3551
    functionName: gf_sc_handle_event_intern
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_exec_event
    - gf_mx_p
    - gf_sc_lock
    - gf_sc_input_sensor_mouse_input
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_sc_handle_event_intern(GF_Compositor *compositor, GF_Event
      *event, Bool from_user) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:222,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:245,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:139,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:164,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:175,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:246,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/compositor.c:170,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:217,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:244,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:237,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:245,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:246,1
    - Dst: gf_sc_set_fullscreen
      Src: /src/gpac/src/compositor/compositor.c:236,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:254,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:262,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/compositor/compositor.c:157,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 121
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 264
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 264
    functionName: gf_sc_reconfig_task
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_set_size
    - gf_sc_next_frame_state
    - memset
    - gf_sc_send_event
    - gf_sc_set_fullscreen
    - GF_LOG
    - gf_sc_lock
    - gf_filter_pid_set_property
    - gf_opengl_init
    - PROP_UINT
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_reconfig_task(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/compositor/compositor.c:366,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: gf_sc_reset_graphics
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mx_v
    - gf_mx_try_lock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_reset_graphics(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_reset_framerate
      Src: /src/gpac/src/compositor/compositor.c:1107,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:1110,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - fps
    argTypes:
    - GF_Compositor*
    - GF_Fraction
    constantsTouched: []
    func_position:
      end: 1114
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1114
    functionName: gf_sc_set_fps
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_reset_framerate
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_set_fps(GF_Compositor *compositor, GF_Fraction fps) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_has_scripting
      Src: /src/gpac/src/compositor/compositor.c:4473,1
    - Dst: gf_sc_check_end_of_scene
      Src: /src/gpac/src/compositor/compositor.c:4475,1
    - Dst: gf_sc_check_end_of_scene
      Src: /src/gpac/src/compositor/compositor.c:4477,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/compositor/compositor.c:4496,1
    - Dst: gf_dm_get_data_rate
      Src: /src/gpac/src/compositor/compositor.c:4498,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/compositor/compositor.c:4508,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - type
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 4510
      start: 4468
    functionDepth: 0
    functionLinenumber: 4468
    functionLinenumberEnd: 4510
    functionName: gf_sc_get_option_internal
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_get_download_manager
    - gf_sc_check_end_of_scene
    - gf_sg_has_scripting
    - gf_sc_get_option
    - gf_dm_get_data_rate
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_sc_get_option_internal(GF_Compositor *compositor, u32
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:4168,1
    - Dst: sc_cleanup_event_queue
      Src: /src/gpac/src/compositor/compositor.c:4170,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4171,1
    - Dst: sc_cleanup_event_queue
      Src: /src/gpac/src/compositor/compositor.c:4169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - compositor
    - node
    - sg
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 4172
      start: 4166
    functionDepth: 0
    functionLinenumber: 4166
    functionLinenumberEnd: 4172
    functionName: gf_sc_node_destroy
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - sc_cleanup_event_queue
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_node_destroy(GF_Compositor *compositor, GF_Node *node,
      GF_SceneGraph *sg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/compositor/compositor.c:269,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/compositor/compositor.c:270,1
    - Dst: gf_sc_release_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: gf_sc_frame_ifce_done
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_get_frame_interface
    - gf_sc_release_screen_buffer
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_frame_ifce_done(GF_Filter *filter, GF_FilterPid
      *pid, GF_FilterPacket *pck) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/compositor.c:1128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - compositor
    - PlayState
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 1131
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1131
    functionName: gf_sc_set_play_state
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_ar_control
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_set_play_state(GF_Compositor *compositor, u32 PlayState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_traverse_subscene_ex
      Src: /src/gpac/src/compositor/compositor.c:3558,1
    - Dst: gf_sc_traverse_subscene_ex
      Src: /src/gpac/src/compositor/compositor.c:3561,1
    - Dst: gf_scene_enum_extra_scene
      Src: /src/gpac/src/compositor/compositor.c:3560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - compositor
    - inline_parent
    - subscene
    - rs
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_SceneGraph*
    - void*
    constantsTouched: []
    func_position:
      end: 3563
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3563
    functionName: gf_sc_traverse_subscene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_enum_extra_scene
    - gf_sc_traverse_subscene_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_traverse_subscene(GF_Compositor *compositor, GF_Node *inline_parent,
      GF_SceneGraph *subscene, void *rs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:4518,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/compositor.c:4524,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/compositor/compositor.c:4523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - compositor
    - toURL
    argTypes:
    - GF_Compositor*
    - char*
    constantsTouched: []
    func_position:
      end: 4527
      start: 4512
    functionDepth: 0
    functionLinenumber: 4512
    functionLinenumberEnd: 4527
    functionName: gf_sc_navigate_to
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_navigate_to(GF_Compositor *compositor, const
      char *toURL) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_send_or_reconfig
      Src: /src/gpac/src/compositor/compositor.c:332,1
    - Dst: gf_sc_flush_video
      Src: /src/gpac/src/compositor/compositor.c:340,1
    - Dst: gf_sc_render_frame
      Src: /src/gpac/src/compositor/compositor.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - compositor
    - no_flush
    - ms_till_next
    argTypes:
    - GF_Compositor*
    - Bool
    - s32*
    constantsTouched: []
    func_position:
      end: 358
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 358
    functionName: gf_sc_draw_frame
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_ar_send_or_reconfig
    - gf_sc_render_frame
    - gf_sc_flush_video
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_draw_frame(GF_Compositor *compositor, Bool no_flush,
      s32 *ms_till_next) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/compositor.c:3364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - visual
    argTypes:
    - GF_Compositor*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 3365
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3365
    functionName: gf_sc_visual_unregister
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_visual_unregister(GF_Compositor *compositor, GF_VisualManager
      *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_release_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:2120,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:2125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - framebuffer
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2127
    functionName: gf_sc_release_screen_buffer
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_release_screen_buffer
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_release_screen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *framebuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_get_clock
      Src: /src/gpac/src/compositor/compositor.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1140
    functionName: gf_sc_get_clock
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_ar_get_clock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_get_clock(GF_Compositor *compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - compositor
    - Width
    - Height
    - force_size
    argTypes:
    - GF_Compositor*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1162
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1162
    functionName: gf_sc_set_scene_size
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_set_scene_size(GF_Compositor *compositor, u32
      Width, u32 Height, Bool force_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:2135,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:2168,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:2161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - compositor
    - absoluteFPS
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 2174
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2174
    functionName: gf_sc_get_fps
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_sc_get_fps(GF_Compositor *compositor, Bool absoluteFPS) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/compositor.c:3429,1
    - Dst: gf_node_init
      Src: /src/gpac/src/compositor/compositor.c:3435,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor.c:3491,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor.c:3494,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor.c:3502,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/compositor.c:3517,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:3518,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3395,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/compositor.c:3433,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/compositor.c:3440,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/compositor.c:3455,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/compositor.c:3466,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/compositor.c:3471,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor.c:3479,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/compositor.c:3504,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/compositor.c:3508,1
    - Dst: gf_scene_is_over
      Src: /src/gpac/src/compositor/compositor.c:3385,1
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/compositor.c:3428,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3444,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/compositor/compositor.c:3431,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor.c:3467,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor.c:3478,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor.c:3487,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/compositor.c:3487,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:3509,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor.c:3510,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/compositor.c:3519,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:3382,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:3389,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/compositor.c:3399,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:3400,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:3427,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/compositor/compositor.c:3430,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/compositor.c:3459,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/compositor.c:3432,1
    - Dst: gf_invfix
      Src: /src/gpac/src/compositor/compositor.c:3493,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/compositor.c:3516,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 120
    argCount: 4
    argNames:
    - compositor
    - inline_parent
    - subscene
    - rs
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_SceneGraph*
    - void*
    constantsTouched: []
    func_position:
      end: 3526
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3526
    functionName: gf_sc_traverse_subscene_ex
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_node_get_tag
    - gf_scene_is_over
    - gf_mx2d_add_scale
    - INT2FIX
    - gf_sg_use_pixel_metrics
    - gf_node_new
    - gf_divfix
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_node_unregister
    - gf_node_traverse
    - MIN
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - gf_mx_add_matrix
    - gf_sg_set_root_node
    - gf_node_list_add_child
    - gf_mx_from_mx2d
    - gf_mx2d_add_translation
    - gf_node_register
    - gf_sg_get_scene_size_info
    - gf_sg_get_root_node
    - gf_invfix
    - gf_node_get_graph
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_traverse_subscene_ex(GF_Compositor *compositor, GF_Node
      *inline_parent, GF_SceneGraph *subscene, void *rs) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1560,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1608,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1600,1
    - Dst: gf_sc_set_fps
      Src: /src/gpac/src/compositor/compositor.c:1562,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1574,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1627,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:1673,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1674,1
    - Dst: gf_sc_ar_set_volume
      Src: /src/gpac/src/compositor/compositor.c:1677,1
    - Dst: gf_sc_ar_set_pan
      Src: /src/gpac/src/compositor/compositor.c:1678,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1680,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1681
    functionName: gf_sc_reload_config
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - GF_LOG
    - gf_sc_lock
    - gf_sc_ar_set_pan
    - gf_sc_set_fps
    - gf_sc_reset_graphics
    - gf_sc_ar_set_volume
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_reload_config(GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_switch_quality
      Src: /src/gpac/src/compositor/compositor.c:4368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - up
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 4369
      start: 4364
    functionDepth: 0
    functionLinenumber: 4364
    functionLinenumberEnd: 4369
    functionName: gf_sc_switch_quality
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_switch_quality
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_switch_quality(GF_Compositor *compositor, Bool
      up) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: svg_exec_script
      Src: /src/gpac/src/compositor/compositor.c:4897,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4907,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:4912,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/compositor.c:4937,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4966,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/compositor.c:4967,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/compositor/compositor.c:4982,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:5013,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/compositor/compositor.c:5026,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/compositor.c:5033,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5048,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5047,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5036,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/compositor/compositor.c:5084,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/compositor/compositor.c:5062,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:5069,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/compositor/compositor.c:5083,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5048,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4910,1
    - Dst: gf_scene_register_associated_media
      Src: /src/gpac/src/compositor/compositor.c:4915,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/compositor.c:4919,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:4924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4968,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4999,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:5002,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/compositor/compositor.c:5016,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/compositor.c:5038,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5040,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5045,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5046,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:5050,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5045,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/compositor/compositor.c:5064,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5047,1
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/compositor/compositor.c:5073,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/compositor.c:5053,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5046,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:4893,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4888,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/compositor.c:4926,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/compositor.c:4930,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/compositor.c:4935,1
    - Dst: gf_scene_register_associated_media
      Src: /src/gpac/src/compositor/compositor.c:4962,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/compositor.c:4943,1
    - Dst: gf_scene_select_object
      Src: /src/gpac/src/compositor/compositor.c:4968,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:4975,1
    - Dst: gf_sm_new
      Src: /src/gpac/src/compositor/compositor.c:4987,1
    - Dst: gf_sm_del
      Src: /src/gpac/src/compositor/compositor.c:5086,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/compositor.c:5042,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/compositor/compositor.c:5058,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5044,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4888,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:4891,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4944,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4946,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:4974,1
    - Dst: gf_odm_new
      Src: /src/gpac/src/compositor/compositor.c:4983,1
    - Dst: gf_sm_new
      Src: /src/gpac/src/compositor/compositor.c:4990,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4993,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:5011,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:5018,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:5049,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:5070,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/compositor/compositor.c:5063,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5040,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:5050,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:5067,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:5072,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5044,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:5036,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:5009,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 258
    argCount: 3
    argNames:
    - compositor
    - type
    - com
    argTypes:
    - GF_Compositor*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5091
      start: 4875
    functionDepth: 0
    functionLinenumber: 4875
    functionLinenumberEnd: 5091
    functionName: gf_sc_scene_update
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sg_command_apply_list
    - gf_node_get_tag
    - memset
    - strncmp
    - gf_sm_load_string
    - gf_sm_new
    - gf_list_count
    - gf_sm_del
    - svg_exec_script
    - atoi
    - stricmp
    - gf_sm_load_done
    - gf_scene_attach_to_compositor
    - gf_sg_set_scene_size_info
    - gf_sg_get_max_node_id
    - gf_scene_select_object
    - gf_list_get
    - gf_scene_new
    - strchr
    - strnicmp
    - gf_odm_new
    - gf_sm_load_init
    - gf_opts_get_key
    - gf_sm_stream_new
    - sscanf
    - gf_sg_get_root_node
    - gf_scene_register_associated_media
    - gf_filter_pid_get_property
    - gf_scene_get_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_scene_update(GF_Compositor *compositor, char
      *type, char *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 5106
      start: 5101
    functionDepth: 0
    functionLinenumber: 5101
    functionLinenumberEnd: 5106
    functionName: gf_sc_get_url
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sc_get_url(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:5131,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:5149,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:5135,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 2
    argNames:
    - compositor
    - descriptions
    argTypes:
    - GF_Compositor*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 5156
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5156
    functionName: gf_sc_get_world_info
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sc_get_world_info(GF_Compositor *compositor,
      GF_List *descriptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_toggle_addons
      Src: /src/gpac/src/compositor/compositor.c:4376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - show_addons
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 4378
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4378
    functionName: gf_sc_toggle_addons
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_toggle_addons
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_toggle_addons(GF_Compositor *compositor, Bool
      show_addons) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_set_service_id
      Src: /src/gpac/src/compositor/compositor.c:5097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - service_id
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 5098
      start: 5093
    functionDepth: 0
    functionLinenumber: 5093
    functionLinenumberEnd: 5098
    functionName: gf_sc_select_service
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_set_service_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_select_service(GF_Compositor *compositor, u32
      service_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:5116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 5121
      start: 5108
    functionDepth: 0
    functionLinenumber: 5108
    functionLinenumberEnd: 5121
    functionName: gf_sc_get_main_pid
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const void *gf_sc_get_main_pid(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_get_media_object
      Src: /src/gpac/src/compositor/compositor.c:5172,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/compositor.c:5181,1
    - Dst: gf_scene_select_object
      Src: /src/gpac/src/compositor/compositor.c:5177,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:5182,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/compositor.c:5180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - compositor
    - url
    - auto_play
    argTypes:
    - GF_Compositor*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 5187
      start: 5158
    functionDepth: 0
    functionLinenumber: 5158
    functionLinenumberEnd: 5187
    functionName: gf_sc_add_object
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_select_object
    - gf_sg_vrml_mf_reset
    - gf_free
    - gf_scene_get_media_object
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_add_object(GF_Compositor *compositor, const
      char *url, Bool auto_play) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:316,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - locked
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: gf_sc_flush_video
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_lock
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_flush_video(GF_Compositor *compositor, Bool locked) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:2430,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:2455,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2454,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2457,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2452,1
    - Dst: gf_sc_setup_passthrough
      Src: /src/gpac/src/compositor/compositor.c:2463,1
    - Dst: visual_draw_frame
      Src: /src/gpac/src/compositor/compositor.c:2467,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:2485,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:2487,1
    - Dst: compositor_send_resize_event
      Src: /src/gpac/src/compositor/compositor.c:2491,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2498
    functionName: gf_sc_draw_scene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_get
    - gf_node_traverse
    - compositor_send_resize_event
    - gf_sg_get_root_node
    - gf_list_count
    - GF_LOG
    - visual_draw_frame
    - gf_sc_setup_passthrough
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_sc_draw_scene(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4768,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4772,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/compositor.c:4774,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 4777
      start: 4764
    functionDepth: 0
    functionLinenumber: 4764
    functionLinenumberEnd: 4777
    functionName: gf_sc_disconnect
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_odm_disconnect
    - gf_sc_lock
    - gf_sc_set_play_state_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_disconnect(GF_Compositor *compositor) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1689,1
    - Dst: gf_sc_ar_mute
      Src: /src/gpac/src/compositor/compositor.c:1703,1
    - Dst: gf_sc_set_play_state
      Src: /src/gpac/src/compositor/compositor.c:1694,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1718,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1761,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:1737,1
    - Dst: gf_sc_reload_config
      Src: /src/gpac/src/compositor/compositor.c:1771,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:1793,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1811,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:1871,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1914,1
    - Dst: gf_sc_ar_set_pan
      Src: /src/gpac/src/compositor/compositor.c:1700,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1714,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1734,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1795,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:1807,1
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:1831,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1883,1
    - Dst: compositor_set_cache_memory
      Src: /src/gpac/src/compositor/compositor.c:1890,1
    - Dst: gf_dm_set_data_rate
      Src: /src/gpac/src/compositor/compositor.c:1904,1
    - Dst: gf_sc_ar_set_volume
      Src: /src/gpac/src/compositor/compositor.c:1697,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1726,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1739,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1779,1
    - Dst: compositor_3d_reset_camera
      Src: /src/gpac/src/compositor/compositor.c:1809,1
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:1879,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/compositor/compositor.c:1902,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1707,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1722,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:1746,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/compositor.c:1747,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1757,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1743,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1772,1
    - Dst: gf_sc_navigation_supported
      Src: /src/gpac/src/compositor/compositor.c:1814,1
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:1819,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 112
    argCount: 3
    argNames:
    - compositor
    - type
    - value
    argTypes:
    - GF_Compositor*
    - GF_CompositorOption
    - u32
    constantsTouched: []
    func_position:
      end: 1916
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1916
    functionName: gf_sc_set_option
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_set_cache_memory
    - gf_sc_set_size
    - gf_sc_reload_config
    - gf_sc_next_frame_state
    - gf_filter_get_download_manager
    - compositor_3d_reset_camera
    - gf_sc_lock
    - gf_sc_ar_mute
    - gf_sc_ar_set_pan
    - gf_sc_set_play_state
    - compositor_3d_get_camera
    - compositor_2d_set_user_transform
    - gf_sc_reset_graphics
    - gf_sc_navigation_supported
    - gf_sc_ar_set_volume
    - gf_dm_set_data_rate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_set_option(GF_Compositor *compositor, GF_CompositorOption
      type, u32 value) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:4180,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4185,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4191,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4192,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4193,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4194,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4195,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/compositor.c:4196,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 2
    argNames:
    - compositor
    - type
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 4208
      start: 4174
    functionDepth: 0
    functionLinenumber: 4174
    functionLinenumberEnd: 4208
    functionName: gf_sc_navigation_supported
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - stricmp
    - gf_list_get
    - compositor_3d_get_camera
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_navigation_supported(GF_Compositor *compositor,
      u32 type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_option_internal
      Src: /src/gpac/src/compositor/compositor.c:4650,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4671,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4668,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/compositor.c:4659,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4673,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/compositor.c:4674,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4675,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4680,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/compositor.c:4682,1
    - Dst: gf_scene_disconnect
      Src: /src/gpac/src/compositor/compositor.c:4683,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4688,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/compositor/compositor.c:4690,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/compositor.c:4687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - compositor
    - from_time
    - pause_at_first_frame
    argTypes:
    - GF_Compositor*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 4692
      start: 4643
    functionDepth: 0
    functionLinenumber: 4643
    functionLinenumberEnd: 4692
    functionName: gf_sc_play_from_time
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_lock
    - gf_scene_restart_dynamic
    - gf_timestamp_rescale
    - gf_sc_set_play_state_internal
    - gf_odm_start
    - gf_scene_disconnect
    - gf_odm_stop
    - gf_sc_get_option_internal
    - gf_sc_set_option
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_play_from_time(GF_Compositor *compositor, u64
      from_time, u32 pause_at_first_frame) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1922,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/compositor.c:1927,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1924,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:1930,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - scene_graph
    argTypes:
    - GF_Compositor*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1960
    functionName: gf_sc_is_over
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_list_count
    - gf_list_get
    - gf_node_get_tag
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_is_over(GF_Compositor *compositor, GF_SceneGraph
      *scene_graph) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4217,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4218,1
    - Dst: gf_scene_check_clocks
      Src: /src/gpac/src/compositor/compositor.c:4222,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/compositor/compositor.c:4226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - skip_interactions
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 4227
      start: 4211
    functionDepth: 0
    functionLinenumber: 4211
    functionLinenumberEnd: 4227
    functionName: gf_sc_check_end_of_scene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_scene_check_clocks
    - gf_sc_get_option
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_check_end_of_scene(GF_Compositor *compositor, Bool skip_interactions) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/compositor.c:4700,1
    - Dst: gf_sc_play_from_time
      Src: /src/gpac/src/compositor/compositor.c:4718,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4709,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/compositor.c:4717,1
    - Dst: gf_sc_disconnect
      Src: /src/gpac/src/compositor/compositor.c:4725,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:4727,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:4729,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/compositor/compositor.c:4732,1
    - Dst: gf_odm_new
      Src: /src/gpac/src/compositor/compositor.c:4733,1
    - Dst: gf_sc_set_play_state_internal
      Src: /src/gpac/src/compositor/compositor.c:4746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:4750,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/compositor.c:4752,1
    - Dst: gf_scene_generate_views
      Src: /src/gpac/src/compositor/compositor.c:4753,1
    - Dst: gf_scene_generate_mosaic
      Src: /src/gpac/src/compositor/compositor.c:4757,1
    - Dst: gf_scene_ns_connect_object
      Src: /src/gpac/src/compositor/compositor.c:4761,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/compositor.c:4756,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - compositor
    - URL
    - startTime
    - pause_at_first_frame
    - secondary_scene
    - parent_path
    argTypes:
    - GF_Compositor*
    - char*
    - u64
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4762
    functionName: gf_sc_connect_from_time
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_ns_connect_object
    - strlen
    - gf_scene_generate_mosaic
    - gf_scene_generate_views
    - gf_sc_play_from_time
    - strcmp
    - GF_LOG
    - gf_sc_disconnect
    - gf_scene_new
    - gf_sc_set_play_state_internal
    - gf_odm_new
    - gf_assert
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_connect_from_time(GF_Compositor *compositor,
      const char *URL, u64 startTime, u32 pause_at_first_frame, Bool secondary_scene,
      const char *parent_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - frame_ifce
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: gf_sc_frame_ifce_get_plane
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_get_screen_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_frame_ifce_get_plane(GF_FilterFrameInterface *frame_ifce,
      u32 plane_idx, const u8 **outPlane, u32 *outStride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vout
    - dest
    argTypes:
    - struct _video_out*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: nullvout_flush
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_flush(struct _video_out *vout, GF_Window *dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 5
    argNames:
    - vout
    - video_src
    - src_wnd
    - dst_wnd
    - overlay_type
    argTypes:
    - struct _video_out*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u32
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: nullvout_blit
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_blit(struct _video_out *vout, GF_VideoSurface
      *video_src, GF_Window *src_wnd, GF_Window *dst_wnd, u32 overlay_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:440,1
    - Dst: compositor_3d_setup_fbo
      Src: /src/gpac/src/compositor/compositor.c:447,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:440,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:441,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - vout
    - evt
    argTypes:
    - struct _video_out*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: gl_vout_evt
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_setup_fbo
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gl_vout_evt(struct _video_out *vout, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 2536
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2536
    functionName: gf_sc_frame_was_produced
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_frame_was_produced(GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - vout
    - fs_on
    - new_disp_width
    - new_disp_height
    argTypes:
    - struct _video_out*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: nullvout_fullscreen
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_fullscreen(struct _video_out *vout, Bool fs_on,
      u32 *new_disp_width, u32 *new_disp_height) '
  - BBCount: 119
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_reconfig_task
      Src: /src/gpac/src/compositor/compositor.c:2581,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2688,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:2876,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2866,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3042,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/compositor/compositor.c:3047,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:3144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3334,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2797,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/compositor.c:2867,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2624,1
    - Dst: gf_smil_notify_timed_elements
      Src: /src/gpac/src/compositor/compositor.c:2675,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2695,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3098,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/compositor/compositor.c:3119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3165,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:3195,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2574,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/compositor/compositor.c:2630,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:3042,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/compositor/compositor.c:3103,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:3204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3096,1
    - Dst: gf_sc_flush_video
      Src: /src/gpac/src/compositor/compositor.c:3191,1
    - Dst: gf_sc_exec_event
      Src: /src/gpac/src/compositor/compositor.c:2637,1
    - Dst: gf_sc_draw_scene
      Src: /src/gpac/src/compositor/compositor.c:2964,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/compositor/compositor.c:3053,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/compositor/compositor.c:3112,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/compositor/compositor.c:3115,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/compositor.c:3324,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2584,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2846,1
    - Dst: gf_sc_recompute_ar
      Src: /src/gpac/src/compositor/compositor.c:2842,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/compositor.c:3084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3196,1
    - Dst: visual_2d_draw_overlays
      Src: /src/gpac/src/compositor/compositor.c:3199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3203,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3260,1
    - Dst: gf_sleep
      Src: /src/gpac/src/compositor/compositor.c:3302,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:2842,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2556,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:2605,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:2676,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2815,1
    - Dst: gf_sg_activate_routes
      Src: /src/gpac/src/compositor/compositor.c:2823,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2911,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2700,1
    - Dst: gf_sc_get_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:3074,1
    - Dst: gf_sc_ar_update_video_clock
      Src: /src/gpac/src/compositor/compositor.c:3131,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2857,1
    - Dst: gf_smil_notify_timed_elements
      Src: /src/gpac/src/compositor/compositor.c:2681,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:2789,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:2963,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3041,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3043,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2719,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2877,1
    - Dst: gf_sc_ar_get_clock
      Src: /src/gpac/src/compositor/compositor.c:2576,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:2619,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:2626,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/compositor.c:2634,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2728,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2946,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/compositor/compositor.c:3141,1
    - Dst: visual_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:2606,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:2639,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2713,1
    - Dst: gf_sc_setup_root_visual
      Src: /src/gpac/src/compositor/compositor.c:2839,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:3041,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:3208,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:3257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3311,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:2623,1
    - Dst: gf_sc_draw_scene
      Src: /src/gpac/src/compositor/compositor.c:2585,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2673,1
    - Dst: gf_sc_texture_reset
      Src: /src/gpac/src/compositor/compositor.c:2862,1
    - Dst: gf_mo_get_min_frame_dur
      Src: /src/gpac/src/compositor/compositor.c:2779,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:2839,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2698,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2851,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3317,1
    - Dst: gf_mo_is_buffering
      Src: /src/gpac/src/compositor/compositor.c:3138,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:3097,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2566,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2642,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:2682,1
    - Dst: gf_mo_get_min_frame_dur
      Src: /src/gpac/src/compositor/compositor.c:2741,1
    - Dst: gf_sc_texture_reset
      Src: /src/gpac/src/compositor/compositor.c:2737,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/compositor/compositor.c:3129,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/compositor/compositor.c:3179,1
    - Dst: gf_sleep
      Src: /src/gpac/src/compositor/compositor.c:3340,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2828,1
    - Dst: gf_sc_texture_cleanup_hw
      Src: /src/gpac/src/compositor/compositor.c:2558,1
    - Dst: gf_sc_ar_get_clock
      Src: /src/gpac/src/compositor/compositor.c:2647,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2967,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:3241,1
    - Dst: gf_sleep
      Src: /src/gpac/src/compositor/compositor.c:3323,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/compositor/compositor.c:3125,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2568,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2625,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:2845,1
    - Dst: gf_mo_map_timestamp_to_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2745,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2756,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3044,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3048,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/compositor/compositor.c:3081,1
    - Dst: gf_sc_release_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:3091,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:3328,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2881,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2553,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:2680,1
    - Dst: gf_mo_is_buffering
      Src: /src/gpac/src/compositor/compositor.c:2778,1
    - Dst: gf_sg_activate_routes
      Src: /src/gpac/src/compositor/compositor.c:2818,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:3185,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor.c:3209,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3290,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2730,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2596,1
    - Dst: compositor_handle_auto_navigation
      Src: /src/gpac/src/compositor/compositor.c:2664,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:2705,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:2790,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2995,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/compositor/compositor.c:3009,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:3047,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/compositor/compositor.c:3048,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/compositor/compositor.c:3063,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:2822,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2855,1
    - Dst: compositor_3d_delete_fbo
      Src: /src/gpac/src/compositor/compositor.c:2609,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2616,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/compositor/compositor.c:3102,1
    - Dst: compositor_release_textures
      Src: /src/gpac/src/compositor/compositor.c:3216,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/compositor.c:3316,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/compositor.c:3319,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 596
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 3344
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 3344
    functionName: gf_sc_render_frame
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_next_frame_state
    - gf_filter_pck_get_duration
    - gf_sc_recompute_ar
    - gf_sc_texture_cleanup_hw
    - GF_LOG
    - visual_2d_draw_overlays
    - gf_timestamp_rescale
    - gf_filter_pck_new_alloc
    - MIN
    - gf_list_find
    - gf_sc_ar_update_video_clock
    - gf_list_count
    - gf_sc_reconfig_task
    - gf_filter_pck_new_frame_interface
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_sc_release_screen_buffer
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_list_enum
    - gf_smil_notify_timed_elements
    - gf_mx_p
    - gf_sc_lock
    - gf_sc_ar_get_clock
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    - gf_sys_clock
    - gf_sc_exec_event
    - memcpy
    - gf_filter_pck_discard
    - gf_mx_v
    - gf_free
    - compositor_release_textures
    - gf_sg_activate_routes
    - gf_filter_pck_new_shared
    - gf_filter_pck_send
    - visual_reset_graphics
    - gf_sc_flush_video
    - gf_sg_fire_dom_event
    - gf_mo_get_min_frame_dur
    - gf_sg_get_root_node
    - gf_sc_get_screen_buffer
    - gf_filter_pck_merge_properties
    - gf_sc_setup_root_visual
    - compositor_handle_auto_navigation
    - gf_sc_draw_scene
    - gf_mo_map_timestamp_to_sys_clock
    - gf_mo_is_buffering
    - gf_list_rem
    - compositor_3d_delete_fbo
    - gf_sys_clock_high_res
    - gf_sc_reset_graphics
    - gf_sleep
    - gf_dom_event_fire
    - gf_sc_texture_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_render_frame(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_find_object
      Src: /src/gpac/src/compositor/compositor.c:5229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 5232
      start: 5216
    functionDepth: 0
    functionLinenumber: 5216
    functionLinenumberEnd: 5232
    functionName: gf_sc_get_current_service_id
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_scene_find_object
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_get_current_service_id(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 4353
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4353
    functionName: gf_sc_check_gl_support
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_check_gl_support(GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_dump_scene_ex
      Src: /src/gpac/src/compositor/compositor.c:4870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - compositor
    - rad_name
    - filename
    - xml_dump
    - skip_protos
    argTypes:
    - GF_Compositor*
    - char*
    - char**
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4871
      start: 4867
    functionDepth: 0
    functionLinenumber: 4867
    functionLinenumberEnd: 4871
    functionName: gf_sc_dump_scene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_dump_scene_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_dump_scene(GF_Compositor *compositor, char
      *rad_name, char **filename, Bool xml_dump, Bool skip_protos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/compositor.c:4361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 4362
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4362
    functionName: gf_sc_get_time_in_ms
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_clock_media_time
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_get_time_in_ms(GF_Compositor *sc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:1498,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:1500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - doLock
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 1502
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1502
    functionName: gf_sc_lock
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_lock(GF_Compositor *compositor, Bool doLock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4231,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:4232,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:4233,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4235
      start: 4229
    functionDepth: 0
    functionLinenumber: 4229
    functionLinenumberEnd: 4235
    functionName: gf_sc_queue_node_traverse
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_sc_lock
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_queue_node_traverse(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - nb_frames_drawn
    argTypes:
    - GF_Compositor*
    - u32*
    constantsTouched: []
    func_position:
      end: 5199
      start: 5190
    functionDepth: 0
    functionLinenumber: 5190
    functionLinenumberEnd: 5199
    functionName: gf_sc_get_simulation_frame_rate
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_sc_get_simulation_frame_rate(GF_Compositor *compositor,
      u32 *nb_frames_drawn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/compositor.c:1203,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/compositor.c:1210,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/compositor.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - compositor
    - scaleX
    - scaleY
    argTypes:
    - GF_Compositor*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1211
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1211
    functionName: compositor_set_ar_scale
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - compositor_2d_set_user_transform
    linkageType: ''
    returnType: void
    signature: 'void compositor_set_ar_scale(GF_Compositor *compositor, Fixed scaleX,
      Fixed scaleY) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1509,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1537,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:1546,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/compositor/compositor.c:1525,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:1530,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:1550,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - compositor
    - NewWidth
    - NewHeight
    argTypes:
    - GF_Compositor*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1554
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1554
    functionName: gf_sc_set_size
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_send_event
    - gf_mx_try_lock
    - gf_sg_get_root_node
    - GF_LOG
    - gf_sc_lock
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_set_size(GF_Compositor *compositor, u32 NewWidth,
      u32 NewHeight) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4238,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:4242,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4241,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4246,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/compositor.c:4240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4247
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4247
    functionName: gf_sc_unqueue_node_traverse
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_del_item
    - gf_sc_lock
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_unqueue_node_traverse(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/src/compositor/compositor.c:4391,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4409,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4399,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor.c:4400,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4394,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4413,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor.c:4415,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/compositor.c:4417,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/compositor.c:4420,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4425,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/compositor.c:4435,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor.c:4447,1
    - Dst: gf_sc_set_fps
      Src: /src/gpac/src/compositor/compositor.c:4450,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/compositor.c:4444,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/compositor/compositor.c:4449,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/compositor.c:4426,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 2
    argNames:
    - compositor
    - speed
    argTypes:
    - GF_Compositor*
    - Fixed
    constantsTouched: []
    func_position:
      end: 4452
      start: 4382
    functionDepth: 0
    functionLinenumber: 4382
    functionLinenumberEnd: 4452
    functionName: gf_sc_set_speed
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_get_time_in_ms
    - gf_list_enum
    - gf_mulfix
    - gf_filter_pid_get_property
    - gf_media_get_reduced_frame_rate
    - gf_sc_set_fps
    - gf_odm_set_speed
    - gf_scene_restart_dynamic
    - gf_clock_set_speed
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_set_speed(GF_Compositor *compositor, Fixed
      speed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:5207,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:5210,1
    - Dst: gf_clock_elapsed_time
      Src: /src/gpac/src/compositor/compositor.c:5211,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:5209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 5214
      start: 5201
    functionDepth: 0
    functionLinenumber: 5201
    functionLinenumberEnd: 5214
    functionName: gf_sc_get_elapsed_time_in_ms
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_clock_elapsed_time
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_get_elapsed_time_in_ms(GF_Compositor *compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:3350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - visual
    argTypes:
    - GF_Compositor*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 3354
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3354
    functionName: gf_sc_visual_is_registered
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_visual_is_registered(GF_Compositor *compositor, GF_VisualManager
      *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:4083,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4090,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4087,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor.c:4094,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4085,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:4096,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:4100,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - compositor
    - node
    - evt
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_DOM_Event*
    constantsTouched: []
    func_position:
      end: 4103
      start: 4079
    functionDepth: 0
    functionLinenumber: 4079
    functionLinenumberEnd: 4103
    functionName: gf_sc_queue_dom_event
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - GF_SAFEALLOC
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_queue_dom_event(GF_Compositor *compositor, GF_Node *node,
      GF_DOM_Event *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_on_event_ex
      Src: /src/gpac/src/compositor/compositor.c:3772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 3774
      start: 3762
    functionDepth: 0
    functionLinenumber: 3762
    functionLinenumberEnd: 3774
    functionName: gf_sc_user_event
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_on_event_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_user_event(GF_Compositor *compositor, GF_Event
      *event) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:478,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/compositor/compositor.c:493,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/compositor.c:481,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/compositor/compositor.c:484,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - vout
    - vi
    - do_lock
    argTypes:
    - struct _video_out*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 498
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 498
    functionName: rawvout_lock
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    - gf_filter_pck_new_clone
    - memset
    - gf_pixel_get_bytes_per_pixel
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rawvout_lock(struct _video_out *vout, GF_VideoSurface
      *vi, Bool do_lock) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_is_over
      Src: /src/gpac/src/compositor/compositor.c:1973,1
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:2016,1
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:2029,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 19
    argCount: 2
    argNames:
    - compositor
    - type
    argTypes:
    - GF_Compositor*
    - GF_CompositorOption
    constantsTouched: []
    func_position:
      end: 2061
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 2061
    functionName: gf_sc_get_option
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_is_over
    - compositor_3d_get_camera
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_get_option(GF_Compositor *compositor, GF_CompositorOption
      type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/compositor.c:514,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/compositor/compositor.c:515,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:520,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:515,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:521,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:521,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:522,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:522,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/compositor.c:527,1
    - Dst: compositor_3d_setup_fbo
      Src: /src/gpac/src/compositor/compositor.c:534,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:530,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - vout
    - evt
    argTypes:
    - struct _video_out*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 539
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 539
    functionName: rawvout_evt
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_setup_fbo
    - gf_pixel_get_size_info
    - memset
    - gf_realloc
    - GF_LOG
    - gf_filter_pid_set_property
    - PROP_UINT
    - gf_pixel_fmt_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rawvout_evt(struct _video_out *vout, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor.c:2069,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor.c:2070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - compositor
    - X
    - Y
    - bifsX
    - bifsY
    argTypes:
    - GF_Compositor*
    - s32
    - s32
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 2071
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2071
    functionName: gf_sc_map_point
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_map_point(GF_Compositor *compositor, s32 X, s32
      Y, Fixed *bifsX, Fixed *bifsY) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_visual_is_registered
      Src: /src/gpac/src/compositor/compositor.c:3358,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:3359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - visual
    argTypes:
    - GF_Compositor*
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 3360
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3360
    functionName: gf_sc_visual_register
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_visual_is_registered
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_visual_register(GF_Compositor *compositor, GF_VisualManager
      *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3779,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/compositor.c:3780,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:3781,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/compositor.c:3781,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - compositor
    - extra_scene
    - do_remove
    argTypes:
    - GF_Compositor*
    - GF_SceneGraph*
    - Bool
    constantsTouched: []
    func_position:
      end: 3783
      start: 3776
    functionDepth: 0
    functionLinenumber: 3776
    functionLinenumberEnd: 3783
    functionName: gf_sc_register_extra_graph
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del_item
    - gf_sc_lock
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_register_extra_graph(GF_Compositor *compositor,
      GF_SceneGraph *extra_scene, Bool do_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:4109,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:4111,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor.c:4124,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:4113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:4126,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:4131,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:4133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - compositor
    - evt
    - target
    - sg
    argTypes:
    - GF_Compositor*
    - GF_DOM_Event*
    - GF_DOMEventTarget*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 4134
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4134
    functionName: gf_sc_queue_dom_event_on_target
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - GF_SAFEALLOC
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_queue_dom_event_on_target(GF_Compositor *compositor, GF_DOM_Event
      *evt, GF_DOMEventTarget *target, GF_SceneGraph *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - vout
    - os_handle
    - os_display
    - init_flags
    argTypes:
    - struct _video_out*
    - void*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: nullvout_setup
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_setup(struct _video_out *vout, void *os_handle,
      void *os_display, u32 init_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vout
    - event
    argTypes:
    - struct _video_out*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: nullvout_evt
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_evt(struct _video_out *vout, GF_Event *event) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/compositor.c:617,1
    - Dst: nullvout_fullscreen
      Src: /src/gpac/src/compositor/compositor.c:619,1
    - Dst: nullvout_evt
      Src: /src/gpac/src/compositor/compositor.c:620,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:644,1
    - Dst: gpac_force_step_mode
      Src: /src/gpac/src/compositor/compositor.c:678,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:648,1
    - Dst: gf_module_load
      Src: /src/gpac/src/compositor/compositor.c:668,1
    - Dst: gf_sc_load_opengl_extensions
      Src: /src/gpac/src/compositor/compositor.c:658,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:692,1
    - Dst: nullvout_setup
      Src: /src/gpac/src/compositor/compositor.c:618,1
    - Dst: nullvout_blit
      Src: /src/gpac/src/compositor/compositor.c:622,1
    - Dst: gf_sc_load_opengl_extensions
      Src: /src/gpac/src/compositor/compositor.c:629,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/compositor.c:685,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/compositor.c:692,1
    - Dst: gf_filter_register_opengl_provider
      Src: /src/gpac/src/compositor/compositor.c:712,1
    - Dst: gf_filter_request_opengl
      Src: /src/gpac/src/compositor/compositor.c:626,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/compositor.c:650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:660,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:654,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:684,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:695,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:700,1
    - Dst: nullvout_lock
      Src: /src/gpac/src/compositor/compositor.c:621,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:671,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/compositor.c:645,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/compositor.c:696,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 714
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 714
    functionName: gf_sc_load_driver
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - nullvout_evt
    - gf_error_to_string
    - nullvout_lock
    - gf_sc_load_opengl_extensions
    - strcmp
    - gf_filter_register_opengl_provider
    - nullvout_blit
    - atoi
    - nullvout_setup
    - gf_opts_get_key
    - gf_sys_is_cov_mode
    - gf_filter_request_opengl
    - sscanf
    - gpac_force_step_mode
    - gf_module_load
    - gf_opts_set_key
    - nullvout_fullscreen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sc_load_driver(GF_Compositor *compositor) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_load_driver
      Src: /src/gpac/src/compositor/compositor.c:734,1
    - Dst: gf_filter_request_opengl
      Src: /src/gpac/src/compositor/compositor.c:744,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 750
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 750
    functionName: gf_sc_check_video_driver
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_request_opengl
    - gf_sc_load_driver
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_check_video_driver(GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - TAG_X3D_Group
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 3414
      start: 3412
    functionDepth: 0
    functionLinenumber: 3412
    functionLinenumberEnd: 3414
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (tag==TAG_X3D_Group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 3990
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3990
    functionName: gf_sc_has_text_selection
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_has_text_selection(GF_Compositor *compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor.c:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - active_layer
    argTypes:
    - compositor
    constantsTouched: []
    func_position:
      end: 1821
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1821
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_get_camera
    linkageType: ''
    returnType: else
    signature: 'else if (compositor->visual->type_3d || compositor->active_layer) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_load_opengl_extensions
      Src: /src/gpac/src/compositor/compositor.c:2261,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:2291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:2292,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:2291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:2293,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2277,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:2292,1
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/compositor.c:2273,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/compositor/compositor.c:2293,1
    - Dst: gf_sc_load_opengl_extensions
      Src: /src/gpac/src/compositor/compositor.c:2222,1
    - Dst: visual_3d_init_shaders
      Src: /src/gpac/src/compositor/compositor.c:2224,1
    - Dst: ra_init
      Src: /src/gpac/src/compositor/compositor.c:2266,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/compositor/compositor.c:2209,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/compositor.c:2210,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/compositor/compositor.c:2276,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/compositor.c:2295,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/compositor.c:2295,1
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/compositor.c:2214,1
    - Dst: compositor_3d_set_aspect_ratio
      Src: /src/gpac/src/compositor/compositor.c:2221,1
    - Dst: compositor_2d_set_aspect_ratio
      Src: /src/gpac/src/compositor/compositor.c:2258,1
    - Dst: visual_3d_init_shaders
      Src: /src/gpac/src/compositor/compositor.c:2263,1
    - Dst: compositor_evaluate_envtests
      Src: /src/gpac/src/compositor/compositor.c:2282,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 2
    argNames:
    - compositor
    - top_node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2298
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2298
    functionName: gf_sc_recompute_ar
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_set_aspect_ratio
    - gf_sc_load_opengl_extensions
    - gf_filter_pid_set_property
    - gf_sys_clock
    - gf_sc_ar_control
    - compositor_2d_set_aspect_ratio
    - gf_log_tool_level_on
    - PROP_UINT
    - PROP_FRAC
    - visual_3d_init_shaders
    - ra_init
    - compositor_evaluate_envtests
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_recompute_ar(GF_Compositor *compositor, GF_Node
      *top_node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - vout
    argTypes:
    - struct _video_out*
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: nullvout_shutdown
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void nullvout_shutdown(struct _video_out *vout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - vout
    - video_info
    - do_lock
    argTypes:
    - struct _video_out*
    - GF_VideoSurface*
    - Bool
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: nullvout_lock
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nullvout_lock(struct _video_out *vout, GF_VideoSurface
      *video_info, Bool do_lock) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor.c:2315,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/compositor.c:2336,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/compositor.c:2315,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:2317,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/compositor.c:2344,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/compositor.c:2351,1
    - Dst: gf_sc_check_video_driver
      Src: /src/gpac/src/compositor/compositor.c:2398,1
    - Dst: camera_set_2d
      Src: /src/gpac/src/compositor/compositor.c:2406,1
    - Dst: camera_invalidate
      Src: /src/gpac/src/compositor/compositor.c:2408,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:2415,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 2
    argNames:
    - compositor
    - top_node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2423
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2423
    functionName: gf_sc_setup_root_visual
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_check_video_driver
    - MIN
    - gf_node_get_tag
    - camera_set_2d
    - GF_LOG
    - INT2FIX
    - camera_invalidate
    - gf_sg_use_pixel_metrics
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_setup_root_visual(GF_Compositor *compositor, GF_Node
      *top_node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:3999,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:4003,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/compositor.c:4008,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/compositor.c:4014,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:4013,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/compositor.c:4015,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 4021
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 4021
    functionName: gf_sc_get_selected_text
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_node_traverse
    - gf_sc_lock
    - gf_utf8_wcstombs
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sc_get_selected_text(GF_Compositor *compositor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_get_fbo_pixfmt
      Src: /src/gpac/src/compositor/compositor.c:303,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/compositor.c:306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 5
    argNames:
    - frame_ifce
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_Matrix_unexposed*
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: gf_sc_frame_ifce_get_gl_texture
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_mx_add_scale
    - compositor_3d_get_fbo_pixfmt
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_frame_ifce_get_gl_texture(GF_FilterFrameInterface *frame_ifce,
      u32 plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_Matrix_unexposed * texcoordmatrix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1245,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:1258,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:1255,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1296,1
    - Dst: compositor_set_ar_scale
      Src: /src/gpac/src/compositor/compositor.c:1301,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/compositor.c:1236,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1294,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/compositor.c:1277,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1291,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1290,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1248,1
    - Dst: compositor_3d_delete_fbo
      Src: /src/gpac/src/compositor/compositor.c:1250,1
    - Dst: memset
      Src: /src/gpac/src/compositor/compositor.c:1253,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/compositor.c:1261,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:1256,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:1223,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1240,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:1241,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1230,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1246,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/compositor/compositor.c:1262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - compositor
    - has_scene
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 1302
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1302
    functionName: gf_sc_reset
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - memset
    - gf_list_del
    - gf_evg_surface_delete
    - gf_list_enum
    - gf_cmx_init
    - gf_mx2d_init
    - compositor_set_ar_scale
    - compositor_3d_delete_fbo
    - gf_free
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_reset(GF_Compositor *compositor, Bool has_scene) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:2079,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:2091,1
    - Dst: compositor_3d_get_screen_buffer
      Src: /src/gpac/src/compositor/compositor.c:2083,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - compositor
    - framebuffer
    - depth_dump_mode
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    - GF_CompositorGrabMode
    constantsTouched: []
    func_position:
      end: 2093
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2093
    functionName: gf_sc_get_screen_buffer
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_get_screen_buffer
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_get_screen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *framebuffer, GF_CompositorGrabMode depth_dump_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:2510,1
    - Dst: gf_sc_texture_reset
      Src: /src/gpac/src/compositor/compositor.c:2515,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:2512,1
    - Dst: gf_sc_texture_release_stream
      Src: /src/gpac/src/compositor/compositor.c:2513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - compositor
    - frame_drawn
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 2519
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2519
    functionName: compositor_release_textures
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_release_stream
    - gf_list_count
    - gf_list_get
    - gf_sc_texture_reset
    linkageType: ''
    returnType: void
    signature: 'static void compositor_release_textures(GF_Compositor *compositor,
      Bool frame_drawn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/compositor/compositor.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - evt
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gf_sc_send_event
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_filter_forward_gf_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sc_send_event(GF_Compositor *compositor, GF_Event
      *evt) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1311,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1315,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1323,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:1324,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1325,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:1327,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1328,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:1376,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/compositor.c:1340,1
    - Dst: gf_sc_reset_framerate
      Src: /src/gpac/src/compositor/compositor.c:1466,1
    - Dst: gf_scene_get_keynav
      Src: /src/gpac/src/compositor/compositor.c:1426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1319,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1313,1
    - Dst: gf_sc_reset
      Src: /src/gpac/src/compositor/compositor.c:1334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1332,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/compositor.c:1387,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/compositor.c:1399,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1403,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1409,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1412,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/compositor.c:1422,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1413,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/compositor.c:1484,1
    - Dst: gf_sc_ar_reset
      Src: /src/gpac/src/compositor/compositor.c:1320,1
    - Dst: gf_sc_set_scene_size
      Src: /src/gpac/src/compositor/compositor.c:1438,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/compositor/compositor.c:1458,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1468,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/compositor.c:1488,1
    - Dst: gf_sc_ar_reset
      Src: /src/gpac/src/compositor/compositor.c:1462,1
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/compositor.c:1427,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1326,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:1330,1
    - Dst: gf_scene_is_dynamic_scene
      Src: /src/gpac/src/compositor/compositor.c:1360,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/compositor.c:1378,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/compositor/compositor.c:1355,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/compositor.c:1385,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/compositor.c:1389,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1399,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/compositor.c:1402,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/compositor.c:1409,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:1470,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 169
    argCount: 2
    argNames:
    - compositor
    - scene_graph
    argTypes:
    - GF_Compositor*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1491
    functionName: gf_sc_set_scene
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - gf_node_get_tag
    - gf_sc_ar_reset
    - GF_LOG
    - gf_sc_set_scene_size
    - gf_sc_change_key_navigator
    - gf_scene_is_dynamic_scene
    - gf_list_count
    - gf_sc_set_size
    - gf_list_get
    - gf_sc_focus_switch_ring
    - gf_mx_p
    - gf_sc_lock
    - gf_scene_get_keynav
    - gf_node_get_attribute_by_tag
    - gf_sg_get_private
    - gf_sc_reset
    - gf_free
    - gf_mx_v
    - gf_sg_get_scene_size_info
    - gf_sc_send_event
    - gf_sg_get_root_node
    - gf_sc_reset_framerate
    - gf_sc_svg_convert_length_to_display
    - gf_list_rem
    - FIX2INT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_set_scene(GF_Compositor *compositor, GF_SceneGraph *scene_graph) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:2102,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:2104,1
    - Dst: compositor_3d_get_offscreen_buffer
      Src: /src/gpac/src/compositor/compositor.c:2103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - compositor
    - framebuffer
    - view_idx
    - depth_dump_mode
    argTypes:
    - GF_Compositor*
    - GF_VideoSurface*
    - u32
    - GF_CompositorGrabMode
    constantsTouched: []
    func_position:
      end: 2109
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2109
    functionName: gf_sc_get_offscreen_buffer
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - compositor_3d_get_offscreen_buffer
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_get_offscreen_buffer(GF_Compositor *compositor,
      GF_VideoSurface *framebuffer, u32 view_idx, GF_CompositorGrabMode depth_dump_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 2530
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2530
    functionName: gf_sc_invalidate_next_frame
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sc_invalidate_next_frame(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/compositor.c:4026,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:4033,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/compositor.c:4034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 4038
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4038
    functionName: gf_sc_check_focus_upon_destroy
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_sc_get_compositor
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_check_focus_upon_destroy(GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: gf_sc_reset_framerate
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_reset_framerate(GF_Compositor *compositor) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:762,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/compositor/compositor.c:765,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/compositor/compositor.c:764,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:771,1
    - Dst: atoi
      Src: /src/gpac/src/compositor/compositor.c:774,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:788,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/compositor/compositor.c:789,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:824,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:832,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:858,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/compositor.c:878,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/compositor.c:869,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:903,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:931,1
    - Dst: mesh_new_unit_bbox
      Src: /src/gpac/src/compositor/compositor.c:880,1
    - Dst: gf_sc_recompute_ar
      Src: /src/gpac/src/compositor/compositor.c:959,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/compositor/compositor.c:758,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:818,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/compositor/compositor.c:794,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:830,1
    - Dst: visual_new
      Src: /src/gpac/src/compositor/compositor.c:841,1
    - Dst: compositor_2d_init_callbacks
      Src: /src/gpac/src/compositor/compositor.c:848,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/compositor.c:868,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/compositor.c:881,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:888,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:901,1
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/compositor.c:866,1
    - Dst: gf_sc_ar_load
      Src: /src/gpac/src/compositor/compositor.c:917,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/compositor/compositor.c:936,1
    - Dst: gf_sc_load_opengl_extensions
      Src: /src/gpac/src/compositor/compositor.c:963,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:766,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/compositor.c:772,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/compositor.c:773,1
    - Dst: gf_sc_load_driver
      Src: /src/gpac/src/compositor/compositor.c:800,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:810,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:821,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:816,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:828,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:837,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/compositor.c:863,1
    - Dst: gf_filter_get_font_manager
      Src: /src/gpac/src/compositor/compositor.c:920,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:923,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:949,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:886,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:933,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/compositor/compositor.c:905,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:945,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/compositor.c:813,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:808,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:826,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:834,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:909,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:890,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:911,1
    - Dst: gf_sc_reset_framerate
      Src: /src/gpac/src/compositor/compositor.c:919,1
    - Dst: gf_th_id
      Src: /src/gpac/src/compositor/compositor.c:928,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/compositor.c:940,1
    - Dst: gf_sc_reload_config
      Src: /src/gpac/src/compositor/compositor.c:966,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:969,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:950,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/compositor/compositor.c:935,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/compositor.c:943,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/compositor.c:899,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 204
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 971
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 971
    functionName: gf_sc_load
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_recompute_ar
    - gf_filter_get_font_manager
    - GF_LOG
    - gf_mx_init
    - gf_node_new
    - GF_SAFEALLOC
    - gf_sc_reload_config
    - mesh_new_unit_bbox
    - gf_list_del
    - gf_modules_count
    - gf_node_set_callback_function
    - gf_list_count
    - gf_sc_load_opengl_extensions
    - gf_sc_load_driver
    - atoi
    - compositor_2d_init_callbacks
    - gf_list_new
    - gf_th_id
    - gf_mx_new
    - drawable_new
    - gf_sc_ar_load
    - gf_modules_load
    - gf_node_register
    - gf_opts_get_key
    - sscanf
    - gf_sc_reset_framerate
    - new_mesh
    - gf_modules_close_interface
    - gf_opts_set_key
    - gf_opts_get_bool
    - visual_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_load(GF_Compositor *compositor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4542,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/compositor.c:4561,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4544,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/compositor.c:4557,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4546,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/compositor.c:4562,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4566,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/compositor.c:4568,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:4574,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - compositor
    - ms_diff
    - force_resume_pause
    argTypes:
    - GF_Compositor*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 4578
      start: 4530
    functionDepth: 0
    functionLinenumber: 4530
    functionLinenumberEnd: 4578
    functionName: gf_sc_step_clocks_intern
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - gf_sc_next_frame_state
    - gf_list_enum
    - gf_sc_lock
    - mediacontrol_pause
    - mediacontrol_resume
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sc_step_clocks_intern(GF_Compositor *compositor,
      u32 ms_diff, Bool force_resume_pause) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1007,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1003,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:998,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1011,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/compositor.c:1023,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1037,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1038,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:1046,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1047,1
    - Dst: gf_sc_ar_del
      Src: /src/gpac/src/compositor/compositor.c:1032,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/compositor/compositor.c:1056,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1062,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1084,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1066,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/compositor/compositor.c:1055,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1085,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1088,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1071,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1076,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1069,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:988,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:980,1
    - Dst: compositor_2d_reset_gl_auto
      Src: /src/gpac/src/compositor/compositor.c:983,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:992,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/compositor.c:995,1
    - Dst: drawable_del_ex
      Src: /src/gpac/src/compositor/compositor.c:996,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1004,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:999,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1008,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1017,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1049,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1075,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1045,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1093,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:978,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1005,1
    - Dst: visual_del
      Src: /src/gpac/src/compositor/compositor.c:1001,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1009,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1014,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1015,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1025,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/compositor.c:1044,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/compositor.c:1051,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1052,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/compositor/compositor.c:1092,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1019,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1067,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1063,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1070,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1068,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1089,1
    - Dst: gf_sc_texture_cleanup_hw
      Src: /src/gpac/src/compositor/compositor.c:985,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/compositor.c:990,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1006,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1002,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1010,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1026,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/compositor.c:1028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/compositor.c:1030,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/compositor.c:1039,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/compositor/compositor.c:1043,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/compositor.c:1091,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1059,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/compositor.c:1050,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/compositor.c:1058,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/compositor/compositor.c:1086,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 90
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1095
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1095
    functionName: gf_sc_unload
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - visual_del
    - gf_sc_ar_del
    - gf_list_get
    - mesh_free
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - gf_sc_texture_cleanup_hw
    - GF_LOG
    - gf_sc_lock
    - gf_mx_p
    - gf_mx_v
    - gf_modules_close_interface
    - gf_list_rem
    - gf_free
    - compositor_2d_reset_gl_auto
    - gf_node_unregister
    - drawable_del_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_unload(GF_Compositor *compositor) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/compositor.c:4597,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/compositor/compositor.c:4609,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/compositor/compositor.c:4607,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/compositor.c:4614,1
    - Dst: gf_sc_step_clocks_intern
      Src: /src/gpac/src/compositor/compositor.c:4619,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/compositor.c:4634,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/compositor.c:4636,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - compositor
    - PlayState
    - reset_audio
    - pause_clocks
    argTypes:
    - GF_Compositor*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4639
      start: 4581
    functionDepth: 0
    functionLinenumber: 4581
    functionLinenumberEnd: 4639
    functionName: gf_sc_set_play_state_internal
    functionSourceFile: /src/gpac/src/compositor/compositor.c
    functionUses: []
    functionsReached:
    - mediacontrol_resume
    - gf_sc_set_option
    - gf_sc_step_clocks_intern
    - mediacontrol_pause
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_set_play_state_internal(GF_Compositor *compositor,
      u32 PlayState, Bool reset_audio, Bool pause_clocks) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: exec_text_selection
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool exec_text_selection(GF_Compositor *compositor, GF_Event
      *event) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: toggle_keyboard
      Src: /src/gpac/src/compositor/events.c:561,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:577,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:566,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:577,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:579,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:579,1
    - Dst: toggle_keyboard
      Src: /src/gpac/src/compositor/events.c:582,1
    - Dst: toggle_keyboard
      Src: /src/gpac/src/compositor/events.c:586,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/events.c:595,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:610,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:613,1
    - Dst: toggle_keyboard
      Src: /src/gpac/src/compositor/events.c:621,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:617,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 2
    argNames:
    - compositor
    - check_focus_node
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 624
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 624
    functionName: hit_node_editable
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - memset
    - gf_node_get_tag
    - strstr
    - gf_dom_event_fire
    - toggle_keyboard
    linkageType: ''
    returnType: Bool
    signature: 'static Bool hit_node_editable(GF_Compositor *compositor, Bool check_focus_node) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:896,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:881,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:904,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/events.c:907,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:909,1
    - Dst: gf_scene_get_keynav
      Src: /src/gpac/src/compositor/events.c:911,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:935,1
    - Dst: gf_sg_activate_routes
      Src: /src/gpac/src/compositor/events.c:1010,1
    - Dst: compositor_compositetexture_handle_event
      Src: /src/gpac/src/compositor/events.c:863,1
    - Dst: compositor_compositetexture_handle_event
      Src: /src/gpac/src/compositor/events.c:873,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:885,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/compositor/events.c:908,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/events.c:911,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:929,1
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/events.c:912,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:931,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:940,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:879,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:923,1
    - Dst: gf_sc_reset_collide_cursor
      Src: /src/gpac/src/compositor/events.c:1000,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/events.c:1009,1
    - Dst: gf_sg_activate_routes
      Src: /src/gpac/src/compositor/events.c:1007,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:938,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 97
    argCount: 2
    argNames:
    - compositor
    - ev
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 1015
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 1015
    functionName: gf_sc_exec_event_vrml
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_list_get
    - gf_node_get_tag
    - gf_list_enum
    - gf_list_count
    - gf_scene_get_keynav
    - gf_node_get_graph
    - gf_sg_activate_routes
    - gf_node_get_id
    - gf_sc_reset_collide_cursor
    - gf_sc_change_key_navigator
    - gf_list_del_item
    - compositor_compositetexture_handle_event
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_exec_event_vrml(GF_Compositor *compositor, GF_Event *ev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:2004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - GF_3D_STEREO_HEADSET
    argTypes:
    - compositor
    constantsTouched: []
    func_position:
      end: 2006
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2006
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - FIX2INT
    linkageType: ''
    returnType: else
    signature: 'else if ((compositor->visual->autostereo_type==GF_3D_STEREO_SIDE)
      || (compositor->visual->autostereo_type==GF_3D_STEREO_HEADSET) ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:77,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:91,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/events.c:93,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:84,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:96,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:97,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/events.c:103,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/events.c:105,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/events.c:109,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:115,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/compositor/events.c:129,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/compositor/events.c:124,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/events.c:126,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:121,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - compositor
    - final_flush
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 132
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 132
    functionName: flush_text_node_edit
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_node_changed
    - gf_sc_next_frame_state
    - memset
    - gf_strdup
    - gf_node_get_field
    - gf_node_set_private
    - gf_utf8_wcstombs
    - memmove
    - gf_node_dirty_set
    - gf_free
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void flush_text_node_edit(GF_Compositor *compositor, Bool final_flush) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:1026,1
    - Dst: compositor_mpeg4_layout_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1030,1
    - Dst: compositor_mpeg4_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1033,1
    - Dst: compositor_mpeg4_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1039,1
    - Dst: compositor_mpeg4_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1048,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - compositor
    - node
    - ev
    - is_focus_out
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 1056
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1056
    functionName: exec_vrml_key_event
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - compositor_mpeg4_layout_get_sensor_handler
    - compositor_mpeg4_get_sensor_handler
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'static Bool exec_vrml_key_event(GF_Compositor *compositor, GF_Node
      *node, GF_Event *ev, Bool is_focus_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:2009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - GF_3D_STEREO_TOP
    argTypes:
    - compositor
    constantsTouched: []
    func_position:
      end: 2011
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2011
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - FIX2INT
    linkageType: ''
    returnType: else
    signature: 'else if (compositor->visual->autostereo_type==GF_3D_STEREO_TOP) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:1226,1
    - Dst: gf_dom_listener_get
      Src: /src/gpac/src/compositor/events.c:1248,1
    - Dst: gf_dom_listener_count
      Src: /src/gpac/src/compositor/events.c:1245,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/events.c:1249,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 1
    argNames:
    - elt
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1265
    functionName: is_focus_target
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_dom_listener_get
    - gf_dom_listener_count
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_focus_target(GF_Node *elt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:142,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/events.c:155,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/events.c:148,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/events.c:145,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:147,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:156,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/events.c:157,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:158,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:162,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/events.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - compositor
    - text
    argTypes:
    - GF_Compositor*
    - char*
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: gf_sc_paste_text
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_realloc
    - gf_sc_lock
    - gf_utf8_mbstowcs
    - memcpy
    - flush_text_node_edit
    - gf_free
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_paste_text(GF_Compositor *compositor, const
      char *text) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/events.c:633,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/events.c:636,1
    - Dst: get_parent_focus
      Src: /src/gpac/src/compositor/events.c:645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:640,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:638,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - node
    - hit_use_stack
    - cur_idx
    argTypes:
    - GF_Node*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 646
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 646
    functionName: get_parent_focus
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_list_get
    - gf_node_get_parent
    - get_parent_focus
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *get_parent_focus(GF_Node *node, GF_List *hit_use_stack,
      u32 cur_idx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: hit_node_editable
      Src: /src/gpac/src/compositor/events.c:1089,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:1101,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:1096,1
    - Dst: exec_text_input
      Src: /src/gpac/src/compositor/events.c:1091,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:1096,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:1105,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:1107,1
    - Dst: gf_sc_next_frame_state
      Src: /src/gpac/src/compositor/events.c:1112,1
    - Dst: visual_3d_pick_node
      Src: /src/gpac/src/compositor/events.c:1132,1
    - Dst: visual_2d_pick_node
      Src: /src/gpac/src/compositor/events.c:1135,1
    - Dst: exec_event_dom
      Src: /src/gpac/src/compositor/events.c:1143,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:1146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:1146,1
    - Dst: gf_sc_exec_event_vrml
      Src: /src/gpac/src/compositor/events.c:1150,1
    - Dst: exec_text_selection
      Src: /src/gpac/src/compositor/events.c:1139,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:1137,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 4
    argNames:
    - visual
    - tr_state
    - ev
    - children
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - GF_Event*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1154
    functionName: visual_execute_event
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - hit_node_editable
    - exec_text_input
    - gf_list_reset
    - gf_sc_next_frame_state
    - gf_sc_focus_switch_ring
    - gf_sc_exec_event_vrml
    - gf_sg_get_root_node
    - gf_list_count
    - visual_3d_pick_node
    - visual_2d_pick_node
    - exec_event_dom
    - flush_text_node_edit
    - gf_free
    - exec_text_selection
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_execute_event(GF_VisualManager *visual, GF_TraverseState
      *tr_state, GF_Event *ev, GF_ChildNodeItem *children) '
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1315,1
    - Dst: compositor_mpeg4_layout_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1425,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:1410,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1472,1
    - Dst: compositor_mpeg4_get_sensor_handler
      Src: /src/gpac/src/compositor/events.c:1487,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1521,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1578,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1583,1
    - Dst: CALL_SET_FOCUS
      Src: /src/gpac/src/compositor/events.c:1480,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/events.c:1586,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1649,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1645,1
    - Dst: compositor_svg_get_xlink_resource_node
      Src: /src/gpac/src/compositor/events.c:1604,1
    - Dst: rebuild_focus_ancestor
      Src: /src/gpac/src/compositor/events.c:1564,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1619,1
    - Dst: rebuild_focus_ancestor
      Src: /src/gpac/src/compositor/events.c:1589,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1626,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1469,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1635,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1652,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1540,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1305,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1401,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1426,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:1408,1
    - Dst: gf_scene_get_subscene_root
      Src: /src/gpac/src/compositor/events.c:1458,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1467,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1473,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1488,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1553,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/events.c:1561,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1616,1
    - Dst: CALL_SET_FOCUS
      Src: /src/gpac/src/compositor/events.c:1458,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1527,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/events.c:1620,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1655,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1644,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1334,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/events.c:1361,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1363,1
    - Dst: CALL_SET_FOCUS
      Src: /src/gpac/src/compositor/events.c:1390,1
    - Dst: gf_node_proto_is_grouping
      Src: /src/gpac/src/compositor/events.c:1434,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1422,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/events.c:1438,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1440,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1445,1
    - Dst: gf_node_get_proto_root
      Src: /src/gpac/src/compositor/events.c:1450,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1590,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1632,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1565,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1498,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1624,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1662,1
    - Dst: is_focus_target
      Src: /src/gpac/src/compositor/events.c:1526,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:1307,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1324,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1385,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1393,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:1408,1
    - Dst: strstr
      Src: /src/gpac/src/compositor/events.c:1410,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/events.c:1444,1
    - Dst: CALL_SET_FOCUS
      Src: /src/gpac/src/compositor/events.c:1450,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1465,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1466,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1536,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1514,1
    - Dst: compositor_svg_get_xlink_resource_node
      Src: /src/gpac/src/compositor/events.c:1601,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/events.c:1623,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1663,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1558,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1637,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1653,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1657,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/events.c:1511,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/compositor/events.c:1508,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1646,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 232
    argCount: 4
    argNames:
    - compositor
    - elt
    - current_focus
    - prev_focus
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1665
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1665
    functionName: set_focus
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - gf_node_get_field_by_name
    - CALL_SET_FOCUS
    - strstr
    - gf_node_list_get_count
    - set_focus
    - gf_scene_get_subscene_root
    - rebuild_focus_ancestor
    - gf_node_list_get_child
    - gf_node_proto_is_grouping
    - gf_list_rem_last
    - gf_node_get_proto_root
    - compositor_mpeg4_layout_get_sensor_handler
    - gf_node_get_private
    - compositor_svg_get_xlink_resource_node
    - gf_sg_find_node_by_name
    - gf_node_set_cyclic_traverse_flag
    - is_focus_target
    - compositor_mpeg4_get_sensor_handler
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *set_focus(GF_Compositor *compositor, GF_Node *elt,
      Bool current_focus, Bool prev_focus) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/events.c:1675,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:1678,1
    - Dst: gf_node_proto_is_grouping
      Src: /src/gpac/src/compositor/events.c:1711,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1726,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/compositor/events.c:1713,1
    - Dst: browse_parent_for_focus
      Src: /src/gpac/src/compositor/events.c:1727,1
    - Dst: gf_node_list_find_child
      Src: /src/gpac/src/compositor/events.c:1734,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1739,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1742,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1743,1
    - Dst: browse_parent_for_focus
      Src: /src/gpac/src/compositor/events.c:1773,1
    - Dst: browse_parent_for_focus
      Src: /src/gpac/src/compositor/events.c:1747,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/events.c:1772,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/events.c:1754,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1764,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1756,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 52
    argCount: 3
    argNames:
    - compositor
    - elt
    - prev_focus
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1774
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1774
    functionName: browse_parent_for_focus
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_node_list_find_child
    - gf_list_last
    - gf_node_get_tag
    - set_focus
    - gf_node_get_field_by_name
    - browse_parent_for_focus
    - gf_node_list_get_child
    - gf_node_proto_is_grouping
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *browse_parent_for_focus(GF_Compositor *compositor,
      GF_Node *elt, Bool prev_focus) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:2004,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:2009,1
    - Dst: forward_event
      Src: /src/gpac/src/compositor/events.c:2045,1
    - Dst: gf_sc_execute_event
      Src: /src/gpac/src/compositor/events.c:2026,1
    - Dst: forward_event
      Src: /src/gpac/src/compositor/events.c:2049,1
    - Dst: compositor_handle_navigation
      Src: /src/gpac/src/compositor/events.c:2055,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 2
    argNames:
    - compositor
    - evt
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 2058
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2058
    functionName: gf_sc_exec_event
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_sc_execute_event
    - FIX2INT
    - forward_event
    - compositor_handle_navigation
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_exec_event(GF_Compositor *compositor, GF_Event *evt) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:234,1
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/events.c:274,1
    - Dst: gf_node_init
      Src: /src/gpac/src/compositor/events.c:291,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/events.c:303,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:334,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:336,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/events.c:343,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:368,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:373,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/events.c:374,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:403,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/compositor/events.c:342,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:380,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:247,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:259,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/events.c:274,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/events.c:277,1
    - Dst: gf_node_new
      Src: /src/gpac/src/compositor/events.c:290,1
    - Dst: gf_node_list_find_child
      Src: /src/gpac/src/compositor/events.c:279,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/compositor/events.c:283,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/compositor/events.c:292,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/compositor/events.c:289,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/compositor/events.c:309,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/compositor/events.c:356,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/events.c:385,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:356,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:395,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/compositor/events.c:215,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:233,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:310,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/compositor/events.c:312,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/events.c:328,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:329,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:337,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/events.c:339,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:339,1
    - Dst: strcat
      Src: /src/gpac/src/compositor/events.c:340,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:236,1
    - Dst: gf_node_init
      Src: /src/gpac/src/compositor/events.c:276,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/events.c:290,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/events.c:293,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/events.c:297,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/compositor/events.c:300,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/events.c:301,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/events.c:316,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/compositor/events.c:327,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:339,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/events.c:371,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/compositor/events.c:377,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 212
    argCount: 2
    argNames:
    - compositor
    - cmd_type
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 405
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 405
    functionName: load_text_node
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_node_init
    - gf_node_get_tag
    - gf_node_new
    - gf_node_unregister
    - gf_node_list_insert_child
    - gf_dom_add_text_node
    - gf_strdup
    - gf_sg_vrml_mf_append
    - gf_utf8_wcstombs
    - memmove
    - gf_node_list_del_child
    - flush_text_node_edit
    - gf_free
    - gf_node_register
    - gf_node_list_find_child
    - gf_utf8_wcslen
    - strcat
    - gf_realloc
    - gf_node_get_graph
    - gf_utf8_mbstowcs
    linkageType: ''
    returnType: Bool
    signature: 'static Bool load_text_node(GF_Compositor *compositor, u32 cmd_type) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/events.c:1169,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/events.c:1192,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:1209,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:1200,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:1204,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/events.c:1213,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - compositor
    - key_code
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 1219
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1219
    functionName: gf_sc_svg_focus_navigate
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - memset
    - gf_sc_invalidate
    - gf_sg_find_node_by_name
    - gf_dom_event_fire
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_svg_focus_navigate(GF_Compositor *compositor, u32 key_code) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:1798,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:1827,1
    - Dst: exec_vrml_key_event
      Src: /src/gpac/src/compositor/events.c:1854,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:1797,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:1814,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1822,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:1826,1
    - Dst: browse_parent_for_focus
      Src: /src/gpac/src/compositor/events.c:1823,1
    - Dst: hit_node_editable
      Src: /src/gpac/src/compositor/events.c:1881,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/events.c:1805,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/events.c:1808,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/events.c:1831,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:1842,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:1850,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/events.c:1873,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/events.c:1876,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/events.c:1879,1
    - Dst: exec_text_input
      Src: /src/gpac/src/compositor/events.c:1883,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/events.c:1808,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:1806,1
    - Dst: set_focus
      Src: /src/gpac/src/compositor/events.c:1818,1
    - Dst: browse_parent_for_focus
      Src: /src/gpac/src/compositor/events.c:1819,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:1841,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:1864,1
    - Dst: exec_vrml_key_event
      Src: /src/gpac/src/compositor/events.c:1868,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/events.c:1874,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/events.c:1885,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 4
    argNames:
    - compositor
    - move_prev
    - focus
    - force_focus
    argTypes:
    - GF_Compositor*
    - Bool
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1888
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1888
    functionName: gf_sc_focus_switch_ring
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - hit_node_editable
    - gf_list_reset
    - gf_list_get
    - exec_text_input
    - set_focus
    - gf_node_get_tag
    - memset
    - browse_parent_for_focus
    - gf_sg_get_root_node
    - gf_list_count
    - exec_vrml_key_event
    - gf_sc_invalidate
    - gf_list_del
    - gf_dom_event_fire_ex
    - gf_list_new
    - gf_node_dirty_set
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sc_focus_switch_ring(GF_Compositor *compositor, Bool
      move_prev, GF_Node *focus, u32 force_focus) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:2066,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:2083,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/events.c:2071,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/events.c:2077,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/events.c:2081,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - sr
    - n
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2085
    functionName: gf_sc_change_key_navigator
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_list_reset
    - gf_sc_focus_switch_ring
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_change_key_navigator(GF_Compositor *sr, GF_Node *n) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/events.c:440,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:434,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:481,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:433,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:442,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:537,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:522,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:529,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:519,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:505,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:412,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:500,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:426,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:466,1
    - Dst: load_text_node
      Src: /src/gpac/src/compositor/events.c:492,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:513,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:530,1
    - Dst: memmove
      Src: /src/gpac/src/compositor/events.c:511,1
    - Dst: flush_text_node_edit
      Src: /src/gpac/src/compositor/events.c:503,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 538
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 538
    functionName: exec_text_input
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - memset
    - load_text_node
    - gf_realloc
    - gf_sg_get_root_node
    - flush_text_node_edit
    - memmove
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'static void exec_text_input(GF_Compositor *compositor, GF_Event *event) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:672,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:703,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:738,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:754,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:764,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:770,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:772,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:808,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:829,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:752,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:779,1
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:791,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:836,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:837,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:816,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/events.c:664,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/events.c:671,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:673,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:686,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:714,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:728,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/events.c:719,1
    - Dst: get_parent_focus
      Src: /src/gpac/src/compositor/events.c:719,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:721,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:753,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:745,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/events.c:665,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:674,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:695,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:720,1
    - Dst: gf_dom_event_fire_ex
      Src: /src/gpac/src/compositor/events.c:759,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/events.c:771,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/events.c:779,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/events.c:809,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 176
    argCount: 2
    argNames:
    - compositor
    - event
    argTypes:
    - GF_Compositor*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 845
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 845
    functionName: exec_event_dom
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_list_last
    - memset
    - gf_sc_focus_switch_ring
    - gf_sg_get_root_node
    - gf_list_count
    - INT2FIX
    - get_parent_focus
    - FIX2INT
    - gf_dom_event_fire_ex
    - gf_dom_event_fire
    linkageType: ''
    returnType: Bool
    signature: 'static Bool exec_event_dom(GF_Compositor *compositor, GF_Event *event) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: exec_text_input
      Src: /src/gpac/src/compositor/events.c:1897,1
    - Dst: exec_event_dom
      Src: /src/gpac/src/compositor/events.c:1903,1
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/events.c:1917,1
    - Dst: exec_vrml_key_event
      Src: /src/gpac/src/compositor/events.c:1906,1
    - Dst: exec_text_input
      Src: /src/gpac/src/compositor/events.c:1913,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/compositor/events.c:1923,1
    - Dst: gf_sc_svg_focus_navigate
      Src: /src/gpac/src/compositor/events.c:1930,1
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/events.c:1950,1
    - Dst: visual_execute_event
      Src: /src/gpac/src/compositor/events.c:1961,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 4
    argNames:
    - compositor
    - tr_state
    - ev
    - children
    argTypes:
    - GF_Compositor*
    - GF_TraverseState*
    - GF_Event*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1962
    functionName: gf_sc_execute_event
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - exec_text_input
    - gf_sc_focus_switch_ring
    - exec_vrml_key_event
    - gf_sc_svg_focus_navigate
    - gf_sc_change_key_navigator
    - visual_execute_event
    - exec_event_dom
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_execute_event(GF_Compositor *compositor, GF_TraverseState
      *tr_state, GF_Event *ev, GF_ChildNodeItem *children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: gf_sc_reset_collide_cursor
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_sc_reset_collide_cursor(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/events.c:543,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/src/compositor/events.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - do_show
    argTypes:
    - GF_Compositor*
    - Bool
    constantsTouched: []
    func_position:
      end: 551
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 551
    functionName: toggle_keyboard
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sc_user_event
    linkageType: ''
    returnType: void
    signature: 'static void toggle_keyboard(GF_Compositor * compositor, Bool do_show) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/compositor/events.c:1966,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/events.c:1974,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/events.c:1980,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - compositor
    - ev
    - consumed
    argTypes:
    - GF_Compositor*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 1985
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1985
    functionName: forward_event
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_filter_forward_gf_event
    - gf_sc_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool forward_event(GF_Compositor *compositor, GF_Event *ev,
      Bool consumed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - sr
    - n
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2092
    functionName: gf_sc_key_navigator_del
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_key_navigator_del(GF_Compositor *sr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/events.c:1283,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/events.c:1285,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/events.c:1287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - elt
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1290
    functionName: rebuild_focus_ancestor
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_list_reset
    - gf_list_insert
    linkageType: ''
    returnType: void
    signature: 'static void rebuild_focus_ancestor(GF_Compositor *compositor, GF_Node
      *elt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/events.c:1950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - keynav_node
    argTypes:
    - compositor
    constantsTouched: []
    func_position:
      end: 1953
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1953
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/events.c
    functionUses: []
    functionsReached:
    - gf_sc_change_key_navigator
    linkageType: ''
    returnType: else
    signature: 'else if (compositor->keynav_node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: camera_invalidate
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void camera_invalidate(GF_Camera *cam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/camera.c:141,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/camera.c:165,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/camera.c:157,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:109,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:112,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:130,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/camera.c:150,1
    - Dst: gf_quat_from_axis_cos
      Src: /src/gpac/src/compositor/camera.c:165,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:108,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:111,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/camera.c:110,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/camera.c:117,1
    - Dst: gf_quat_from_axis_cos
      Src: /src/gpac/src/compositor/camera.c:131,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/camera.c:142,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/compositor/camera.c:173,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:110,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/camera.c:148,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:163,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/compositor/camera.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 72
    argCount: 3
    argNames:
    - pos
    - target
    - up
    argTypes:
    - SFVec3f
    - SFVec3f
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 174
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 174
    functionName: camera_get_orientation
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_quat_to_rotation
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_scale
    - gf_quat_multiply
    - gf_vec_norm
    - gf_quat_from_axis_cos
    linkageType: ''
    returnType: SFRotation
    signature: 'SFRotation camera_get_orientation(SFVec3f pos, SFVec3f target, SFVec3f
      up) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:235,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:368,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/camera.c:207,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:242,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/camera.c:296,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:373,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:375,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:342,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/camera.c:299,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:228,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:233,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:236,1
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/camera.c:270,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/camera.c:349,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:283,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:345,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:281,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/camera.c:372,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:282,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/camera.c:304,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:224,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:248,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/camera.c:255,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/camera.c:317,1
    - Dst: gf_mx_add_matrix_4x4
      Src: /src/gpac/src/compositor/camera.c:384,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:229,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:248,1
    - Dst: gf_mx_ortho
      Src: /src/gpac/src/compositor/camera.c:293,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/camera.c:318,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/camera.c:231,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:244,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/camera.c:265,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:278,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/camera.c:310,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/camera.c:341,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/camera.c:356,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:346,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:365,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/camera.c:243,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/camera.c:247,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/camera.c:264,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/camera.c:378,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:234,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:347,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:344,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:365,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/camera.c:380,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/camera.c:289,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/camera.c:350,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/camera.c:383,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/camera.c:315,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/camera.c:326,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:246,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:250,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:252,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:375,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:270,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:271,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:342,1
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/camera.c:221,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/camera.c:238,1
    - Dst: gf_mx_perspective
      Src: /src/gpac/src/compositor/camera.c:257,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/camera.c:353,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/camera.c:364,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:369,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:206,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:221,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/camera.c:290,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/camera.c:351,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:367,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:222,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/camera.c:279,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:280,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/camera.c:352,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:370,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:375,1
    - Dst: gf_mx_inverse_4x4
      Src: /src/gpac/src/compositor/camera.c:387,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:363,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/camera.c:232,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:241,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:251,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/camera.c:312,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:376,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:340,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/camera.c:303,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/camera.c:260,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/camera.c:358,1
    - Dst: camera_frustum_from_matrix
      Src: /src/gpac/src/compositor/camera.c:385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 221
    argCount: 7
    argNames:
    - cam
    - user_transform
    - center_coords
    - horizontal_shift
    - nominal_view_distance
    - view_distance_offset
    - camlay
    argTypes:
    - GF_Camera*
    - GF_Matrix2D*
    - Bool
    - Fixed
    - Fixed
    - Fixed
    - u32
    constantsTouched: []
    func_position:
      end: 389
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 389
    functionName: camera_update_stereo
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_mx_apply_vec
    - gf_mx_add_scale
    - gf_bbox_refresh
    - camera_frustum_from_matrix
    - INT2FIX
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_vec_norm
    - gf_divfix
    - gf_mx_perspective
    - gf_mx_copy
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_add
    - gf_mx_add_matrix
    - gf_mx_from_mx2d
    - gf_mx_inverse_4x4
    - gf_vec_scale
    - gf_mx_lookat
    - gf_mx_add_translation
    - gf_atan2
    - gf_tan
    - gf_mx_add_matrix_2d
    - gf_mx_ortho
    - gf_muldiv
    - gf_mulfix
    - gf_mx_add_matrix_4x4
    linkageType: ''
    returnType: void
    signature: 'void camera_update_stereo(GF_Camera *cam, GF_Matrix2D *user_transform,
      Bool center_coords, Fixed horizontal_shift, Fixed nominal_view_distance, Fixed
      view_distance_offset, u32 camlay) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_orientation
      Src: /src/gpac/src/compositor/camera.c:460,1
    - Dst: camera_get_orientation
      Src: /src/gpac/src/compositor/camera.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cam
    - pos
    - target
    - up
    argTypes:
    - GF_Camera*
    - SFVec3f
    - SFVec3f
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: camera_move_to
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - camera_get_orientation
    linkageType: ''
    returnType: void
    signature: 'void camera_move_to(GF_Camera *cam, SFVec3f pos, SFVec3f target, SFVec3f
      up) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: camera_jump
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void camera_jump(GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:576,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: camera_get_pos_dir
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_vec_diff
    linkageType: ''
    returnType: SFVec3f
    signature: 'SFVec3f camera_get_pos_dir(GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/camera.c:80,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:87,1
    - Dst: sqrt
      Src: /src/gpac/src/compositor/camera.c:83,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/camera.c:82,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/camera.c:81,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/camera.c:87,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:88,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:89,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:90,1
    - Dst: gf_plane_get_p_vertex_idx
      Src: /src/gpac/src/compositor/camera.c:98,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:93,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/camera.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 86
    argCount: 2
    argNames:
    - cam
    - mx
    argTypes:
    - GF_Camera*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 100
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 100
    functionName: camera_frustum_from_matrix
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_plane_get_p_vertex_idx
    - gf_vec_len
    - gf_vec_scale
    - FLT2FIX
    - sqrt
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void camera_frustum_from_matrix(GF_Camera *cam, GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/camera.c:184,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/camera.c:193,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: camera_set_2d
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'void camera_set_2d(GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: camera_update_stereo
      Src: /src/gpac/src/compositor/camera.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cam
    - user_transform
    - center_coords
    argTypes:
    - GF_Camera*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: camera_update
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - camera_update_stereo
    linkageType: ''
    returnType: void
    signature: 'void camera_update(GF_Camera *cam, GF_Matrix2D *user_transform, Bool
      center_coords) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/camera.c:403,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:407,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:406,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:407,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/camera.c:404,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:408,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:408,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:409,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:410,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:411,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:412,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:414,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:415,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:413,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:414,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 4
    argNames:
    - cam
    - pos
    - ori
    - fov
    argTypes:
    - GF_Camera*
    - SFVec3f
    - SFRotation
    - Fixed
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: camera_set_vectors
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_vec_add
    - gf_vec_scale
    - gf_cos
    - gf_vec_norm
    - gf_sin
    linkageType: ''
    returnType: void
    signature: 'void camera_set_vectors(GF_Camera *cam, SFVec3f pos, SFRotation ori,
      Fixed fov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: camera_stop_anim
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void camera_stop_anim(GF_Camera *cam) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_get_clock
      Src: /src/gpac/src/compositor/camera.c:495,1
    - Dst: camera_get_orientation
      Src: /src/gpac/src/compositor/camera.c:546,1
    - Dst: camera_set_vectors
      Src: /src/gpac/src/compositor/camera.c:533,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:515,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:513,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/camera.c:550,1
    - Dst: gf_sg_sfrotation_interpolate
      Src: /src/gpac/src/compositor/camera.c:561,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:562,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/camera.c:563,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/camera.c:564,1
    - Dst: camera_set_vectors
      Src: /src/gpac/src/compositor/camera.c:567,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:565,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/camera.c:566,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - cam
    - _compositor
    argTypes:
    - GF_Camera*
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 570
    functionName: camera_animate
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_sc_get_clock
    - gf_mulfix
    - gf_vec_diff
    - gf_vec_scale
    - gf_vec_add
    - FLT2FIX
    - camera_set_vectors
    - gf_sg_sfrotation_interpolate
    - camera_get_orientation
    linkageType: ''
    returnType: Bool
    signature: 'Bool camera_animate(GF_Camera *cam, void *_compositor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/camera.c:583,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: camera_get_target_dir
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_vec_diff
    linkageType: ''
    returnType: SFVec3f
    signature: 'SFVec3f camera_get_target_dir(GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_pos_dir
      Src: /src/gpac/src/compositor/camera.c:590,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/camera.c:592,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/camera.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cam
    argTypes:
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 594
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 594
    functionName: camera_get_right_dir
    functionSourceFile: /src/gpac/src/compositor/camera.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - camera_get_pos_dir
    - gf_vec_cross
    linkageType: ''
    returnType: SFVec3f
    signature: 'SFVec3f camera_get_right_dir(GF_Camera *cam) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:101,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_grouping.c:120,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_grouping.c:110,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_grouping.c:116,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_grouping.c:130,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:141,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:145,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:157,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:185,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:186,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:195,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:215,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:67,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/svg_grouping.c:96,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:90,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/svg_grouping.c:97,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:102,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/svg_grouping.c:127,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:185,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:195,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:196,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:214,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_grouping.c:250,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/svg_grouping.c:210,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:208,1
    - Dst: gf_scene_get_fragment_uri
      Src: /src/gpac/src/compositor/svg_grouping.c:93,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:103,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_grouping.c:116,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/svg_grouping.c:107,1
    - Dst: gf_svg_parse_transformlist
      Src: /src/gpac/src/compositor/svg_grouping.c:108,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_grouping.c:128,1
    - Dst: gf_mx2d_from_mx
      Src: /src/gpac/src/compositor/svg_grouping.c:129,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:187,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:192,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:197,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:207,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:77,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/svg_grouping.c:99,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:100,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:125,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:126,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:190,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_grouping.c:200,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:202,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/svg_grouping.c:209,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/svg_grouping.c:264,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/svg_grouping.c:269,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 223
    argCount: 4
    argNames:
    - node
    - stack
    - tr_state
    - atts
    argTypes:
    - GF_Node*
    - SVGsvgStack*
    - GF_TraverseState*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 270
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 270
    functionName: svg_recompute_viewport_transformation
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - memset
    - strncmp
    - gf_mx2d_apply_rect
    - GF_LOG
    - gf_rect_pixelize
    - gf_mx_init
    - gf_divfix
    - gf_mx2d_copy
    - gf_scene_get_fragment_uri
    - gf_sc_get_nodes_bounds
    - gf_mx2d_from_mx
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - FLT2FIX
    - gf_mx2d_add_translation
    - gf_svg_parse_transformlist
    - sscanf
    - gf_muldiv
    - gf_mulfix
    - gf_node_get_graph
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'static void svg_recompute_viewport_transformation(GF_Node *node, SVGsvgStack
      *stack, GF_TraverseState *tr_state, SVGAllAttributes *atts) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_grouping.c:924,1
    - Dst: gf_scene_resolve_xlink
      Src: /src/gpac/src/compositor/svg_grouping.c:949,1
    - Dst: gf_scene_process_anchor
      Src: /src/gpac/src/compositor/svg_grouping.c:960,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:967,1
    - Dst: svg_a_set_view
      Src: /src/gpac/src/compositor/svg_grouping.c:993,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_grouping.c:993,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:928,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:926,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_grouping.c:938,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:961,1
    - Dst: gf_smil_timing_insert_clock
      Src: /src/gpac/src/compositor/svg_grouping.c:989,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/svg_grouping.c:989,1
    - Dst: svg_a_set_view
      Src: /src/gpac/src/compositor/svg_grouping.c:969,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_grouping.c:964,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/svg_grouping.c:924,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/svg_grouping.c:942,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_grouping.c:964,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:970,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_grouping.c:979,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 56
    argCount: 3
    argNames:
    - handler
    - event
    - observer
    argTypes:
    - GF_Node*
    - GF_DOM_Event*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 996
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 996
    functionName: svg_a_handle_event
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - gf_scene_resolve_xlink
    - gf_node_get_name
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - gf_node_get_private
    - gf_sc_send_event
    - svg_a_set_view
    - gf_scene_process_anchor
    - gf_node_get_graph
    - gf_smil_timing_insert_clock
    - gf_sg_find_node_by_name
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void svg_a_handle_event(GF_Node *handler, GF_DOM_Event *event,
      GF_Node *observer) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:290,1
    - Dst: gf_svg_properties_reset_pointers
      Src: /src/gpac/src/compositor/svg_grouping.c:294,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:311,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:312,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_grouping.c:339,1
    - Dst: svg_recompute_viewport_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:350,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_grouping.c:391,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:470,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_grouping.c:434,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:466,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:460,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:295,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/svg_grouping.c:297,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:320,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:321,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:327,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:353,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:341,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/svg_grouping.c:374,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:340,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:333,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/compositor/svg_grouping.c:437,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_grouping.c:395,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/svg_grouping.c:415,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:469,1
    - Dst: gf_path_add_rect
      Src: /src/gpac/src/compositor/svg_grouping.c:392,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_grouping.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:299,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_grouping.c:328,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_grouping.c:387,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_grouping.c:402,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_grouping.c:419,1
    - Dst: gf_scene_notify_event
      Src: /src/gpac/src/compositor/svg_grouping.c:453,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_grouping.c:458,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:471,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_grouping.c:444,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/svg_grouping.c:423,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 478
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 478
    functionName: svg_traverse_svg
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_svg_flatten_attributes
    - memset
    - compositor_svg_traverse_base
    - GF_COL_ARGB_FIXED
    - gf_mx2d_copy
    - gf_mx_copy
    - gf_node_dirty_clear
    - drawable_reset_group_highlight
    - gf_sc_get_nodes_bounds
    - gf_mx2d_pre_multiply
    - gf_node_dirty_get
    - svg_recompute_viewport_transformation
    - compositor_svg_traverse_children
    - gf_path_add_rect
    - gf_mx2d_add_translation
    - drawable_new
    - gf_svg_properties_reset_pointers
    - memcpy
    - gf_free
    - gf_scene_notify_event
    - gf_mx_add_matrix_2d
    - gf_node_get_private
    - drawable_finalize_sort
    - compositor_svg_is_display_off
    - drawable_del
    - drawable_init_context_svg
    - drawable_reset_path
    - gf_dom_event_fire
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_svg(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:1001,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/compositor/svg_grouping.c:1015,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/compositor/svg_grouping.c:1005,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/compositor/svg_grouping.c:1010,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1019
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1019
    functionName: compositor_init_svg_a
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_dom_listener_build
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_a(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:485,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:494,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/svg_grouping.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_grouping.c:487,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_grouping.c:491,1
    - Dst: gf_svg_properties_init_pointers
      Src: /src/gpac/src/compositor/svg_grouping.c:495,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:497,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:499,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:500,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 501
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 501
    functionName: compositor_init_svg_svg
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_sg_get_root_node
    - GF_LOG
    - gf_mx2d_init
    - gf_node_get_graph
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_svg_properties_init_pointers
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_svg(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/svg_grouping.c:757,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:760,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:762,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:767,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 772
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 772
    functionName: svg_traverse_defs
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - memcpy
    - compositor_svg_traverse_children
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_defs(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_grouping.c:506,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - n
    - rc
    argTypes:
    - GF_Node*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: compositor_svg_get_viewport
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_svg_get_viewport(GF_Node *n, GF_Rect *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: compositor_init_svg_defs
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_defs(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:734,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:736,1
    - Dst: drawable_new
      Src: /src/gpac/src/compositor/svg_grouping.c:737,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: compositor_init_svg_g
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - drawable_new
    - gf_node_set_private
    - gf_node_set_callback_function
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_g(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    functionName: svg_traverse_use
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - svg_traverse_resource
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_use(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/svg_grouping.c:1192,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/svg_grouping.c:1202,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:1197,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_grouping.c:1193,1
    - Dst: gf_mo_load_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1206,1
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1208,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:1214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - node
    - stack
    - normalized_scene_time
    argTypes:
    - GF_Node*
    - SVGlinkStack*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1217
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1217
    functionName: svg_animation_smil_update
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - gf_mo_play
    - gf_node_dirty_get
    - gf_mo_unload_xlink_resource
    - gf_mo_resume
    - gf_mo_load_xlink_resource
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void svg_animation_smil_update(GF_Node *node, SVGlinkStack
      *stack, Fixed normalized_scene_time) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:538,1
    - Dst: group_cache_del
      Src: /src/gpac/src/compositor/svg_grouping.c:542,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:613,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:606,1
    - Dst: svg_draw_filter
      Src: /src/gpac/src/compositor/svg_grouping.c:602,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_grouping.c:615,1
    - Dst: group_cache_new
      Src: /src/gpac/src/compositor/svg_grouping.c:635,1
    - Dst: group_2d_cache_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:643,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/svg_grouping.c:659,1
    - Dst: group_2d_cache_evaluate
      Src: /src/gpac/src/compositor/svg_grouping.c:678,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:726,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:665,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:696,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:725,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:652,1
    - Dst: drawable_del
      Src: /src/gpac/src/compositor/svg_grouping.c:544,1
    - Dst: gf_evg_surface_set_mask_mode
      Src: /src/gpac/src/compositor/svg_grouping.c:565,1
    - Dst: group_cache_draw
      Src: /src/gpac/src/compositor/svg_grouping.c:569,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:578,1
    - Dst: group_cache_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:645,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/svg_grouping.c:675,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:695,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:695,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_grouping.c:698,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_grouping.c:701,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:710,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:545,1
    - Dst: group_2d_destroy_svg
      Src: /src/gpac/src/compositor/svg_grouping.c:540,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/svg_grouping.c:546,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:561,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:573,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_grouping.c:591,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:575,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:616,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:628,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_grouping.c:630,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:703,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:555,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:584,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:589,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_grouping.c:660,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_grouping.c:685,1
    - Dst: gf_path_add_rect
      Src: /src/gpac/src/compositor/svg_grouping.c:694,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/svg_grouping.c:696,1
    - Dst: group_2d_cache_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:651,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_grouping.c:705,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:714,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:716,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/svg_grouping.c:693,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:723,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_grouping.c:708,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 141
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 728
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 728
    functionName: svg_traverse_g
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_svg_flatten_attributes
    - compositor_svg_traverse_base
    - group_cache_del
    - INT2FIX
    - gf_node_dirty_clear
    - drawable_reset_group_highlight
    - group_cache_new
    - gf_node_traverse
    - gf_sc_get_nodes_bounds
    - gf_list_count
    - gf_node_dirty_get
    - compositor_svg_traverse_children
    - gf_path_add_rect
    - group_2d_cache_traverse
    - group_cache_draw
    - gf_sys_clock
    - memcpy
    - gf_free
    - group_2d_cache_evaluate
    - gf_evg_surface_set_mask_mode
    - svg_draw_filter
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - drawable_finalize_sort
    - compositor_svg_is_display_off
    - gf_mulfix
    - drawable_del
    - drawable_check_focus_highlight
    - drawable_init_context_svg
    - gf_sg_find_node_by_name
    - gf_path_reset
    - group_2d_destroy_svg
    - group_cache_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_g(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:1174,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_grouping.c:1179,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:1177,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    functionName: compositor_init_svg_use
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_node_dirty_set
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_use(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_smil_get_element
      Src: /src/gpac/src/compositor/svg_grouping.c:1222,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1223,1
    - Dst: svg_animation_smil_update
      Src: /src/gpac/src/compositor/svg_grouping.c:1226,1
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1237,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/svg_grouping.c:1230,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_grouping.c:1241,1
    - Dst: gf_mo_restart
      Src: /src/gpac/src/compositor/svg_grouping.c:1249,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:1257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - rti
    - normalized_scene_time
    - status
    argTypes:
    - SMIL_Timing_RTI*
    - Fixed
    - GF_SGSMILTimingEvalState
    constantsTouched: []
    func_position:
      end: 1260
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1260
    functionName: svg_animation_smil_evaluate
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - gf_mo_stop
    - gf_node_get_private
    - gf_smil_get_element
    - gf_mo_unload_xlink_resource
    - gf_mo_restart
    - svg_animation_smil_update
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void svg_animation_smil_evaluate(SMIL_Timing_RTI *rti, Fixed
      normalized_scene_time, GF_SGSMILTimingEvalState status) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:789,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/svg_grouping.c:796,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:800,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:816,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/svg_grouping.c:833,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:841,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:823,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:822,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:807,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:819,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:829,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:834,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_grouping.c:801,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:795,1
    - Dst: compositor_svg_evaluate_conditional
      Src: /src/gpac/src/compositor/svg_grouping.c:808,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_grouping.c:831,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:836,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:838,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:815,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 843
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 843
    functionName: svg_traverse_switch
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_sc_check_focus_upon_destroy
    - gf_svg_flatten_attributes
    - compositor_svg_apply_local_transformation
    - gf_node_get_private
    - gf_sc_get_nodes_bounds
    - compositor_svg_traverse_base
    - compositor_svg_is_display_off
    - drawable_check_focus_highlight
    - compositor_svg_restore_parent_transformation
    - gf_node_list_get_child
    - gf_node_dirty_get
    - memcpy
    - gf_free
    - gf_node_dirty_clear
    - compositor_svg_evaluate_conditional
    - drawable_reset_group_highlight
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_switch(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/svg_grouping.c:869,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:878,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:884,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:875,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:873,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:889,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_grouping.c:891,1
    - Dst: compositor_svg_traverse_children
      Src: /src/gpac/src/compositor/svg_grouping.c:893,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:895,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:897,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 900
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 900
    functionName: svg_traverse_a
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_svg_flatten_attributes
    - compositor_svg_apply_local_transformation
    - gf_sc_get_nodes_bounds
    - compositor_svg_restore_parent_transformation
    - compositor_svg_traverse_base
    - compositor_svg_is_display_off
    - drawable_check_focus_highlight
    - memcpy
    - compositor_svg_traverse_children
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_a(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:1281,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:1303,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:1314,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/svg_grouping.c:1353,1
    - Dst: gf_mo_pause
      Src: /src/gpac/src/compositor/svg_grouping.c:1363,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/svg_grouping.c:1345,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/svg_grouping.c:1346,1
    - Dst: gf_mo_get_scenegraph
      Src: /src/gpac/src/compositor/svg_grouping.c:1349,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/svg_grouping.c:1358,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_grouping.c:1343,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/svg_grouping.c:1335,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1372,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:1375,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1277,1
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1280,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1311,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:1284,1
    - Dst: svg_animation_smil_update
      Src: /src/gpac/src/compositor/svg_grouping.c:1291,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:1306,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_grouping.c:1319,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/svg_grouping.c:1322,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/svg_grouping.c:1336,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1377
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1377
    functionName: svg_traverse_animation
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - gf_mx2d_apply_rect
    - compositor_svg_traverse_base
    - gf_rect_pixelize
    - gf_mo_pause
    - gf_irect_intersect
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - gf_mo_unload_xlink_resource
    - memcpy
    - gf_free
    - svg_animation_smil_update
    - gf_mx_add_matrix_2d
    - compositor_svg_apply_local_transformation
    - gf_mo_get_scenegraph
    - gf_node_get_private
    - gf_sc_traverse_subscene
    - compositor_svg_is_display_off
    - gf_sg_get_root_node
    - compositor_svg_restore_parent_transformation
    - gf_sc_svg_convert_length_to_display
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_animation(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1396,1
    - Dst: gf_mo_pause
      Src: /src/gpac/src/compositor/svg_grouping.c:1398,1
    - Dst: gf_mo_resume
      Src: /src/gpac/src/compositor/svg_grouping.c:1399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - n
    - pause
    argTypes:
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1400
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1400
    functionName: svg_pause_animation
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_mo_pause
    - gf_mo_resume
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void svg_pause_animation(GF_Node *n, Bool pause) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:1410,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1412,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_grouping.c:1415,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:1413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1416
    functionName: compositor_init_svg_foreign_object
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_node_dirty_set
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_foreign_object(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: gf_sc_animation_get_scenegraph
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *gf_sc_animation_get_scenegraph(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:848,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:854,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_grouping.c:850,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 856
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 856
    functionName: compositor_init_svg_switch
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_switch(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_set_fragment_uri
      Src: /src/gpac/src/compositor/svg_grouping.c:904,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_grouping.c:906,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/svg_grouping.c:906,1
    - Dst: compositor_2d_set_user_transform
      Src: /src/gpac/src/compositor/svg_grouping.c:911,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_grouping.c:906,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/svg_grouping.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - handler
    - compositor
    - url
    argTypes:
    - GF_Node*
    - GF_Compositor*
    - char*
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: svg_a_set_view
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sg_get_root_node
    - gf_node_get_graph
    - compositor_2d_set_user_transform
    - gf_scene_set_fragment_uri
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void svg_a_set_view(GF_Node *handler, GF_Compositor *compositor,
      const char *url) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1048,1
    - Dst: drawable_reset_group_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:1061,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_grouping.c:1077,1
    - Dst: gf_mo_get_scenegraph
      Src: /src/gpac/src/compositor/svg_grouping.c:1087,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/svg_grouping.c:1098,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_grouping.c:1105,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1135,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/svg_grouping.c:1139,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/svg_grouping.c:1142,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/svg_grouping.c:1149,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_grouping.c:1054,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_grouping.c:1057,1
    - Dst: gf_mo_unload_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1072,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/svg_grouping.c:1114,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:1125,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1129,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/svg_grouping.c:1154,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_grouping.c:1162,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1043,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/svg_grouping.c:1049,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_grouping.c:1068,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/svg_grouping.c:1107,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1124,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_grouping.c:1127,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_grouping.c:1132,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/svg_grouping.c:1145,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_grouping.c:1151,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/svg_grouping.c:1155,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_grouping.c:1060,1
    - Dst: gf_mo_load_xlink_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1070,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_grouping.c:1095,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_grouping.c:1104,1
    - Dst: strchr
      Src: /src/gpac/src/compositor/svg_grouping.c:1089,1
    - Dst: gf_sc_svg_convert_length_to_display
      Src: /src/gpac/src/compositor/svg_grouping.c:1115,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:1126,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/svg_grouping.c:1147,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 4
    argNames:
    - node
    - rs
    - is_destroy
    - is_foreign_object
    argTypes:
    - GF_Node*
    - void*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1164
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1164
    functionName: svg_traverse_resource
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_svg_flatten_attributes
    - gf_mx2d_apply_rect
    - compositor_svg_traverse_base
    - gf_node_dirty_clear
    - drawable_reset_group_highlight
    - gf_node_traverse
    - gf_mx2d_pre_multiply
    - gf_mx2d_init
    - gf_mo_unload_xlink_resource
    - gf_node_dirty_get
    - gf_list_rem_last
    - memcpy
    - strchr
    - gf_mo_load_xlink_resource
    - gf_free
    - gf_mx_add_matrix_2d
    - compositor_svg_apply_local_transformation
    - gf_mo_get_scenegraph
    - gf_node_get_private
    - compositor_svg_restore_parent_transformation
    - gf_sg_get_root_node
    - compositor_svg_is_display_off
    - drawable_check_focus_highlight
    - gf_sc_traverse_subscene
    - gf_node_get_graph
    - gf_sc_svg_convert_length_to_display
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_resource(GF_Node *node, void *rs, Bool is_destroy,
      Bool is_foreign_object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_grouping.c:1383,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/svg_grouping.c:1391,1
    - Dst: gf_smil_set_evaluation_callback
      Src: /src/gpac/src/compositor/svg_grouping.c:1388,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_grouping.c:1386,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1392
    functionName: compositor_init_svg_animation
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_smil_set_evaluation_callback
    - GF_SAFEALLOC
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_animation(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_traverse_resource
      Src: /src/gpac/src/compositor/svg_grouping.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1405
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1405
    functionName: svg_traverse_foreign_object
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - svg_traverse_resource
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_foreign_object(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/svg_grouping.c:1421,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/svg_grouping.c:1424,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1426,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_grouping.c:1423,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/compositor/svg_grouping.c:1428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - node
    - xlink
    argTypes:
    - GF_Node*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1432
    functionName: compositor_svg_get_xlink_resource_node
    functionSourceFile: /src/gpac/src/compositor/svg_grouping.c
    functionUses: []
    functionsReached:
    - gf_sg_get_root_node
    - gf_sg_find_node_by_name
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *compositor_svg_get_xlink_resource_node(GF_Node *node, XMLRI
      *xlink) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mesh_fit_alloc
      Src: /src/gpac/src/compositor/mesh.c:133,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: mesh_update_bounds
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_bbox_refresh
    - mesh_fit_alloc
    linkageType: ''
    returnType: void
    signature: 'void mesh_update_bounds(GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:248,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:249,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - mesh
    - v1_idx
    - v2_idx
    - v3_idx
    argTypes:
    - GF_Mesh*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: mesh_set_triangle
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_index
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_triangle(GF_Mesh *mesh, u32 v1_idx, u32 v2_idx, u32
      v3_idx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:651,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:652,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:661,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:660,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mesh.c:656,1
    - Dst: compute_sphere
      Src: /src/gpac/src/compositor/mesh.c:662,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:668,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:672,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:677,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:678,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:692,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:697,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:684,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:691,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:708,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:687,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:706,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 114
    argCount: 4
    argNames:
    - mesh
    - radius
    - low_res
    - sphere_angles
    argTypes:
    - GF_Mesh*
    - Fixed
    - Bool
    - GF_MeshSphereAngles*
    constantsTouched: []
    func_position:
      end: 709
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 709
    functionName: mesh_new_sphere
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_malloc
    - gf_mesh_build_aabbtree
    - compute_sphere
    - mesh_set_vertex
    - gf_bbox_refresh
    - gf_divfix
    - FIX2INT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_sphere(GF_Mesh *mesh, Fixed radius, Bool low_res, GF_MeshSphereAngles
      *sphere_angles) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:841,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:882,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:885,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:883,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:884,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:887,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:888,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:898,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 5
    argNames:
    - mesh
    - size
    - orig
    - flip
    - rotate
    argTypes:
    - GF_Mesh*
    - SFVec2f
    - SFVec2f*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 899
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 899
    functionName: mesh_new_rectangle_ex
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_set_vertex
    - gf_bbox_refresh
    - mesh_reset
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_rectangle_ex(GF_Mesh *mesh, SFVec2f size, SFVec2f *orig,
      u32 flip, u32 rotate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_ifs_intern
      Src: /src/gpac/src/compositor/mesh.c:1684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - mesh
    - node
    argTypes:
    - GF_Mesh*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1689
    functionName: mesh_new_ifs2d
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_new_ifs_intern
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ifs2d(GF_Mesh *mesh, GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:157,1
    - Dst: del_aabb_node
      Src: /src/gpac/src/compositor/mesh.c:173,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mesh.c:160,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:164,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/mesh.c:167,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - dest
    - orig
    argTypes:
    - GF_Mesh*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: mesh_clone
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - del_aabb_node
    - memcpy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mesh_clone(GF_Mesh *dest, GF_Mesh *orig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:254,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - mesh
    - v1_idx
    - v2_idx
    argTypes:
    - GF_Mesh*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: mesh_set_line
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_index
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_line(GF_Mesh *mesh, u32 v1_idx, u32 v2_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:727,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mesh.c:775,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:738,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:776,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:779,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:781,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:801,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:801,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:807,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:807,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:809,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:717,1
    - Dst: compositor_get_srdmap_size
      Src: /src/gpac/src/compositor/mesh.c:719,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:729,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:728,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:734,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:741,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:774,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:739,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:775,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:773,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:814,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:812,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:732,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:778,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:780,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:798,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:798,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:804,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:804,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:811,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:815,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:820,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:797,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:797,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:730,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:733,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:735,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:740,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mesh.c:776,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:800,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:800,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:806,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:806,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:810,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:803,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 184
    argCount: 4
    argNames:
    - mesh
    - radius
    - srd_map
    - srd_ref
    argTypes:
    - GF_Mesh*
    - Fixed
    - GF_PropertyValue*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 821
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 821
    functionName: mesh_new_spherical_srd
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - mesh_update_bounds
    - gf_mulfix
    - mesh_set_vertex
    - gf_cos
    - INT2FIX
    - gf_sqrt
    - compositor_get_srdmap_size
    - gf_divfix
    - mesh_reset
    - gf_sin
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_spherical_srd(GF_Mesh *mesh, Fixed radius, const GF_PropertyValue
      *srd_map, const GF_PropertyValue *srd_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_rectangle_ex
      Src: /src/gpac/src/compositor/mesh.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - mesh
    - size
    - orig
    - flip
    argTypes:
    - GF_Mesh*
    - SFVec2f
    - SFVec2f*
    - Bool
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: mesh_new_rectangle
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_new_rectangle_ex
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_rectangle(GF_Mesh *mesh, SFVec2f size, SFVec2f *orig,
      Bool flip) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1409,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1417,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:1454,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1493,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mesh.c:1544,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1546,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mesh.c:1603,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1607,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1614,1
    - Dst: mesh_set_vertex_v
      Src: /src/gpac/src/compositor/mesh.c:1617,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1656,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mesh.c:1668,1
    - Dst: smooth_face_normals
      Src: /src/gpac/src/compositor/mesh.c:1632,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1633,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1423,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1456,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mesh.c:1550,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1558,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1563,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mesh.c:1579,1
    - Dst: register_point_in_face
      Src: /src/gpac/src/compositor/mesh.c:1597,1
    - Dst: register_face_in_point
      Src: /src/gpac/src/compositor/mesh.c:1598,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1611,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1613,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1670,1
    - Dst: TesselateFaceMesh
      Src: /src/gpac/src/compositor/mesh.c:1667,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:1673,1
    - Dst: mesh_generate_tex_coords
      Src: /src/gpac/src/compositor/mesh.c:1677,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:1453,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1457,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1476,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1533,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1523,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1536,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1610,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1612,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1609,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:1628,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1638,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1650,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1671,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1643,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1651,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1447,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1448,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mesh.c:1525,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1534,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1535,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1560,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:1561,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:1562,1
    - Dst: GET_IDX
      Src: /src/gpac/src/compositor/mesh.c:1573,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1575,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1642,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1654,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1661,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:1652,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1639,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 292
    argCount: 12
    argNames:
    - mesh
    - __coord
    - coordIndex
    - __color
    - colorIndex
    - colorPerVertex
    - __normal
    - normalIndex
    - normalPerVertex
    - __texCoords
    - texCoordIndex
    - creaseAngle
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - MFInt32*
    - GF_Node*
    - MFInt32*
    - Bool
    - GF_Node*
    - MFInt32*
    - Bool
    - GF_Node*
    - MFInt32*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1679
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1679
    functionName: mesh_new_ifs_intern
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_vec_cross
    - gf_node_get_tag
    - memset
    - GET_IDX
    - mesh_generate_tex_coords
    - gf_vec_norm
    - gf_divfix
    - mesh_reset
    - mesh_set_point
    - gf_vec_len
    - gf_vec_diff
    - MESH_GET_COL
    - gf_mesh_build_aabbtree
    - gf_free
    - mesh_set_vertex_v
    - mesh_free
    - MESH_SET_NORMAL
    - gf_cos
    - smooth_face_normals
    - new_mesh
    - register_point_in_face
    - TesselateFaceMesh
    - mesh_update_bounds
    - register_face_in_point
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ifs_intern(GF_Mesh *mesh, GF_Node *__coord, MFInt32
      *coordIndex, GF_Node *__color, MFInt32 *colorIndex, Bool colorPerVertex, GF_Node
      *__normal, MFInt32 *normalIndex, Bool normalPerVertex, GF_Node *__texCoords,
      MFInt32 *texCoordIndex, Fixed creaseAngle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_ifs_intern
      Src: /src/gpac/src/compositor/mesh.c:1694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - mesh
    - node
    argTypes:
    - GF_Mesh*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1699
    functionName: mesh_new_ifs
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_new_ifs_intern
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ifs(GF_Mesh *mesh, GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1260,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1276,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1270,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1294,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:1303,1
    - Dst: mesh_set_index
      Src: /src/gpac/src/compositor/mesh.c:1304,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1306,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - mesh
    - __coord
    - __color
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1307
    functionName: mesh_new_ps
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_point
    - gf_node_get_tag
    - MESH_GET_COL
    - mesh_set_index
    - mesh_reset
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ps(GF_Mesh *mesh, GF_Node *__coord, GF_Node *__color) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compositor_get_srdmap_size
      Src: /src/gpac/src/compositor/mesh.c:913,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:933,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:941,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:970,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:931,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:934,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:936,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:938,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:968,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:945,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:965,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:943,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:976,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:939,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:935,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:940,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:944,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:967,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:946,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:966,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:971,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 95
    argCount: 6
    argNames:
    - mesh
    - size
    - flip
    - rotate
    - srd_map
    - srd_ref
    argTypes:
    - GF_Mesh*
    - SFVec2f
    - u32
    - u32
    - GF_PropertyValue*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 977
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 977
    functionName: mesh_new_planar_srd
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_mulfix
    - mesh_set_vertex
    - INT2FIX
    - compositor_get_srdmap_size
    - mesh_reset
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_planar_srd(GF_Mesh *mesh, SFVec2f size, u32 flip, u32
      rotate, const GF_PropertyValue *srd_map, const GF_PropertyValue *srd_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_from_path_intern
      Src: /src/gpac/src/compositor/mesh.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mesh
    - path
    argTypes:
    - GF_Mesh*
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1083
    functionName: mesh_from_path
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_from_path_intern
    linkageType: ''
    returnType: void
    signature: 'void mesh_from_path(GF_Mesh *mesh, GF_Path *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1089,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1106,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:1101,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/mesh.c:1094,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - mesh
    - path
    argTypes:
    - GF_Mesh*
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1107
    functionName: mesh_get_outline
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_line
    - mesh_set_vertex
    - gf_path_flatten
    - mesh_reset
    - mesh_update_bounds
    linkageType: ''
    returnType: void
    signature: 'void mesh_get_outline(GF_Mesh *mesh, GF_Path *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:2606,1
    - Dst: mesh_extrude_path
      Src: /src/gpac/src/compositor/mesh.c:2613,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mesh.c:2607,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mesh.c:2608,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mesh.c:2610,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mesh.c:2614,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:2616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - mesh
    - node
    argTypes:
    - GF_Mesh*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2618
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2618
    functionName: mesh_new_extrusion
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_path_del
    - gf_path_add_line_to
    - gf_path_new
    - mesh_extrude_path
    - mesh_reset
    - mesh_update_bounds
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_extrusion(GF_Mesh *mesh, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:102,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:108,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:104,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: new_mesh
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: GF_Mesh*
    signature: 'GF_Mesh *new_mesh() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:190,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - x
    - y
    - z
    - nx
    - ny
    - nz
    - u
    - v
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: set_vertex
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - MESH_SET_NORMAL
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE GF_Vertex set_vertex(Fixed x, Fixed y, Fixed z, Fixed
      nx, Fixed ny, Fixed nz, Fixed u, Fixed v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MESH_CHECK_VERTEX
      Src: /src/gpac/src/compositor/mesh.c:212,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:217,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mesh.c:216,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - mesh
    - pt
    - nor
    - tx
    - col
    argTypes:
    - GF_Mesh*
    - SFVec3f
    - SFVec3f
    - SFVec2f
    - SFColorRGBA
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: mesh_set_vertex_v
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - MESH_CHECK_VERTEX
    - gf_vec_norm
    - MESH_SET_NORMAL
    - MESH_MAKE_COL
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_vertex_v(GF_Mesh *mesh, SFVec3f pt, SFVec3f nor, SFVec2f
      tx, SFColorRGBA col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MESH_CHECK_VERTEX
      Src: /src/gpac/src/compositor/mesh.c:231,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mesh.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - mesh
    - x
    - y
    - z
    - col
    argTypes:
    - GF_Mesh*
    - Fixed
    - Fixed
    - Fixed
    - SFColorRGBA
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: mesh_set_point
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - MESH_CHECK_VERTEX
    - MESH_MAKE_COL
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_point(GF_Mesh *mesh, Fixed x, Fixed y, Fixed z, SFColorRGBA
      col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:265,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:269,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:268,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:266,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:267,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:270,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: mesh_recompute_normals
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_vec_diff
    - gf_vec_cross
    - MESH_SET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'void mesh_recompute_normals(GF_Mesh *mesh) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:424,1
    - Dst: compute_cylinder
      Src: /src/gpac/src/compositor/mesh.c:426,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:436,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:443,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:471,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:471,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:466,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:478,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:489,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:499,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:431,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:449,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:459,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:469,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:458,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:492,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:496,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:496,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:418,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:423,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:454,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:477,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:472,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:477,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:494,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:510,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:444,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:475,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:485,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:491,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:491,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:497,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:500,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:508,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 144
    argCount: 7
    argNames:
    - mesh
    - height
    - radius
    - bottom
    - side
    - top
    - low_res
    argTypes:
    - GF_Mesh*
    - Fixed
    - Fixed
    - Bool
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 511
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 511
    functionName: mesh_new_cylinder
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_malloc
    - gf_mesh_build_aabbtree
    - mesh_set_vertex
    - gf_bbox_refresh
    - gf_cos
    - gf_free
    - mesh_reset
    - gf_sin
    - compute_cylinder
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_cylinder(GF_Mesh *mesh, Fixed height, Fixed radius,
      Bool bottom, Bool side, Bool top, Bool low_res) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1719,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1773,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:1790,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1803,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1815,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1824,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:1846,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:1847,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1857,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1863,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1875,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1939,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:1959,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1877,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1893,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1899,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1880,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1925,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1940,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1888,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1729,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1723,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:1763,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1779,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1783,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1787,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1782,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1800,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mesh.c:1804,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1840,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1889,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1938,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1895,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1898,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1948,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1941,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1926,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:1722,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1774,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1776,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1777,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1796,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1801,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mesh.c:1817,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1878,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mesh.c:1884,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:1892,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1896,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1916,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1953,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:1911,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1876,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:1894,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1897,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:1879,1
    - Dst: register_point_in_face
      Src: /src/gpac/src/compositor/mesh.c:1864,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mesh.c:1764,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1766,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:1778,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1781,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1780,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:1798,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1825,1
    - Dst: MESH_MAKE_COL
      Src: /src/gpac/src/compositor/mesh.c:1842,1
    - Dst: register_face_in_point
      Src: /src/gpac/src/compositor/mesh.c:1865,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1867,1
    - Dst: smooth_face_normals
      Src: /src/gpac/src/compositor/mesh.c:1915,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1921,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:1922,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1942,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mesh.c:1944,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:1937,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:1858,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 335
    argCount: 2
    argNames:
    - mesh
    - node
    argTypes:
    - GF_Mesh*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1960
    functionName: mesh_new_elevation_grid
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_vec_cross
    - memset
    - gf_node_get_tag
    - INT2FIX
    - gf_vec_norm
    - mesh_reset
    - mesh_set_triangle
    - gf_vec_diff
    - MESH_GET_COL
    - gf_mesh_build_aabbtree
    - MESH_MAKE_COL
    - gf_free
    - mesh_free
    - MESH_SET_NORMAL
    - gf_cos
    - smooth_face_normals
    - new_mesh
    - mesh_set_vertex_vx
    - register_point_in_face
    - mesh_update_bounds
    - register_face_in_point
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_elevation_grid(GF_Mesh *mesh, GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:117,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - m
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: mesh_fit_alloc
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void mesh_fit_alloc(GF_Mesh *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MESH_CHECK_VERTEX
      Src: /src/gpac/src/compositor/mesh.c:204,1
    - Dst: set_vertex
      Src: /src/gpac/src/compositor/mesh.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 9
    argNames:
    - mesh
    - x
    - y
    - z
    - nx
    - ny
    - nz
    - u
    - v
    argTypes:
    - GF_Mesh*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: mesh_set_vertex
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - MESH_CHECK_VERTEX
    - set_vertex
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_vertex(GF_Mesh *mesh, Fixed x, Fixed y, Fixed z, Fixed
      nx, Fixed ny, Fixed nz, Fixed u, Fixed v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MESH_CHECK_VERTEX
      Src: /src/gpac/src/compositor/mesh.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mesh
    - vx
    argTypes:
    - GF_Mesh*
    - GF_Vertex*
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: mesh_set_vertex_vx
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - MESH_CHECK_VERTEX
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_vertex_vx(GF_Mesh *mesh, GF_Vertex *vx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MESH_CHECK_IDX
      Src: /src/gpac/src/compositor/mesh.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - mesh
    - idx
    argTypes:
    - GF_Mesh*
    - u32
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: mesh_set_index
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - MESH_CHECK_IDX
    linkageType: ''
    returnType: void
    signature: 'void mesh_set_index(GF_Mesh *mesh, u32 idx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1137,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mesh.c:1193,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mesh.c:1163,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1176,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1184,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:1194,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1203,1
    - Dst: MESH_GET_COL
      Src: /src/gpac/src/compositor/mesh.c:1212,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:1225,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:1231,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mesh.c:1237,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:1244,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:1238,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 111
    argCount: 7
    argNames:
    - mesh
    - __coord
    - coordIndex
    - __color
    - colorIndex
    - colorPerVertex
    - do_close
    argTypes:
    - GF_Mesh*
    - GF_Node*
    - MFInt32*
    - GF_Node*
    - MFInt32*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1245
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1245
    functionName: mesh_new_ils
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_point
    - gf_node_get_tag
    - mesh_update_bounds
    - MESH_GET_COL
    - gf_vec_equal
    - mesh_reset
    - mesh_set_line
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ils(GF_Mesh *mesh, GF_Node *__coord, MFInt32 *coordIndex,
      GF_Node *__color, MFInt32 *colorIndex, Bool colorPerVertex, Bool do_close) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fi
    - pt_index
    argTypes:
    - struct face_info*
    - u32
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    functionName: register_point_in_face
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'void register_point_in_face(struct face_info *fi, u32 pt_index) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2052,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2077,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2098,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/mesh.c:2132,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:2149,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2226,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2259,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2211,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2346,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2367,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh.c:2450,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2574,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2427,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2510,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2170,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mesh.c:2085,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2152,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2213,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2364,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2428,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2487,1
    - Dst: TesselateFaceMesh
      Src: /src/gpac/src/compositor/mesh.c:2569,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2258,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2176,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2309,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2366,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2427,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:2528,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mesh.c:2553,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2196,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2165,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:2133,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh.c:2142,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2297,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2311,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2444,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2484,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2485,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2548,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2154,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2155,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mesh.c:2168,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2227,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2312,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2312,1
    - Dst: register_point_in_face
      Src: /src/gpac/src/compositor/mesh.c:2330,1
    - Dst: register_face_in_point
      Src: /src/gpac/src/compositor/mesh.c:2331,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:2396,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2401,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2566,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2473,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2024,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2059,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2129,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2199,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mesh.c:2268,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2313,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2339,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mesh.c:2457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2483,1
    - Dst: smooth_face_normals
      Src: /src/gpac/src/compositor/mesh.c:2503,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2514,1
    - Dst: TesselateFaceMeshComplex
      Src: /src/gpac/src/compositor/mesh.c:2565,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:2140,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2145,1
    - Dst: gf_asin
      Src: /src/gpac/src/compositor/mesh.c:2161,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:2173,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mesh.c:2266,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2273,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2318,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2320,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2355,1
    - Dst: gf_polygone2d_get_convexity
      Src: /src/gpac/src/compositor/mesh.c:2386,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:2499,1
    - Dst: TesselateFaceMeshComplex
      Src: /src/gpac/src/compositor/mesh.c:2547,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mesh.c:2044,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:2062,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2097,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh.c:2142,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2151,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2384,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2365,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2429,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2415,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2139,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2175,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2228,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2204,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2294,1
    - Dst: register_face_in_point
      Src: /src/gpac/src/compositor/mesh.c:2326,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2356,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2426,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2428,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mesh.c:2534,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2423,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2472,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2178,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2200,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mesh.c:2008,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:2013,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2041,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2050,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh.c:2219,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2206,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2141,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2179,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2481,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:2527,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2198,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2311,1
    - Dst: REGISTER_POINT_FACE
      Src: /src/gpac/src/compositor/mesh.c:2337,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2428,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2484,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2485,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2558,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mesh.c:2270,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mesh.c:2571,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2426,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:2445,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:2530,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2539,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh.c:2218,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:2053,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2158,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh.c:2171,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mesh.c:2267,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2312,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mesh.c:2401,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2509,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2513,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2573,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:2162,1
    - Dst: mesh_set_vertex_vx
      Src: /src/gpac/src/compositor/mesh.c:2529,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2043,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:2060,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:2061,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2261,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2225,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2311,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2313,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2483,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2484,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2485,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mesh.c:2457,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mesh.c:2191,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2205,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/mesh.c:2011,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2099,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2128,1
    - Dst: NEAR_ZERO
      Src: /src/gpac/src/compositor/mesh.c:2136,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2308,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:2369,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh.c:2392,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2416,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:2362,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:2174,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:2260,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mesh.c:2076,1
    - Dst: gf_acos
      Src: /src/gpac/src/compositor/mesh.c:2139,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:2144,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2168,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:2169,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:2238,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2313,1
    - Dst: register_point_in_face
      Src: /src/gpac/src/compositor/mesh.c:2325,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:2363,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2483,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:2532,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/compositor/mesh.c:2207,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:2051,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/mesh.c:2171,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mesh.c:2269,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2426,1
    - Dst: gf_polygone2d_get_convexity
      Src: /src/gpac/src/compositor/mesh.c:2446,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/compositor/mesh.c:2451,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2480,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mesh.c:2504,1
    - Dst: TesselateFaceMesh
      Src: /src/gpac/src/compositor/mesh.c:2551,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:2296,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:2427,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:2531,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 770
    argCount: 13
    argNames:
    - mesh
    - path
    - thespine
    - creaseAngle
    - min_cx
    - min_cy
    - width_cx
    - width_cy
    - begin_cap
    - end_cap
    - spine_ori
    - spine_scale
    - tx_along_spine
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - MFVec3f*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Bool
    - Bool
    - MFRotation*
    - MFVec2f*
    - Bool
    constantsTouched: []
    func_position:
      end: 2584
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2584
    functionName: mesh_extrude_path_intern
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_vec_cross
    - gf_mx_apply_vec
    - memset
    - gf_vec_dot
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_vec_norm
    - gf_divfix
    - gf_path_flatten
    - gf_sin
    - gf_vec_rev
    - mesh_set_triangle
    - gf_vec_len
    - gf_vec_diff
    - TesselateFaceMeshComplex
    - gf_assert
    - gf_asin
    - gf_polygone2d_get_convexity
    - ABS
    - gf_free
    - NEAR_ZERO
    - mesh_free
    - REGISTER_POINT_FACE
    - gf_mulfix
    - gf_acos
    - gf_cos
    - MESH_SET_NORMAL
    - smooth_face_normals
    - new_mesh
    - mesh_set_vertex_vx
    - register_point_in_face
    - TesselateFaceMesh
    - gf_vec_equal
    - register_face_in_point
    linkageType: ''
    returnType: void
    signature: 'static void mesh_extrude_path_intern(GF_Mesh *mesh, GF_Path *path,
      MFVec3f *thespine, Fixed creaseAngle, Fixed min_cx, Fixed min_cy, Fixed width_cx,
      Fixed width_cy, Bool begin_cap, Bool end_cap, MFRotation *spine_ori, MFVec2f
      *spine_scale, Bool tx_along_spine) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:72,1
    - Dst: del_aabb_node
      Src: /src/gpac/src/compositor/mesh.c:74,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:73,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/compositor/mesh.c:81,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:76,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/compositor/mesh.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: mesh_reset
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - del_aabb_node
    - memset
    - glDeleteBuffers
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mesh_reset(GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:305,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:309,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:312,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:314,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:322,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:318,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:324,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:328,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:337,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:340,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:357,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:344,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:307,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:311,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:315,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:316,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:321,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:317,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:330,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:333,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:339,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:343,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:342,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:308,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:310,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:326,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:323,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:332,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:336,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:338,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:319,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:325,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:329,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:331,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:335,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:347,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:358,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:346,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 101
    argCount: 2
    argNames:
    - mesh
    - size
    argTypes:
    - GF_Mesh*
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 359
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 359
    functionName: mesh_new_box
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_mesh_build_aabbtree
    - mesh_set_vertex
    - gf_bbox_refresh
    - mesh_reset
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_box(GF_Mesh *mesh, SFVec3f size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:403,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:403,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:404,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - height
    - radius
    - numFacets
    - coords
    - texcoords
    argTypes:
    - Fixed
    - Fixed
    - s32
    - SFVec3f*
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 409
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 409
    functionName: compute_cylinder
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_sin
    linkageType: ''
    returnType: void
    signature: 'static void compute_cylinder(Fixed height, Fixed radius, s32 numFacets,
      SFVec3f *coords, SFVec2f *texcoords) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:535,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:571,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:520,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:525,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:540,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:544,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:561,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:566,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:574,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:577,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:585,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:548,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:564,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:554,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:576,1
    - Dst: compute_cylinder
      Src: /src/gpac/src/compositor/mesh.c:528,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/mesh.c:531,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mesh.c:526,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:550,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:566,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:569,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:573,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:573,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:587,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 91
    argCount: 6
    argNames:
    - mesh
    - height
    - radius
    - bottom
    - side
    - low_res
    argTypes:
    - GF_Mesh*
    - Fixed
    - Fixed
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 589
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 589
    functionName: mesh_new_cone
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_malloc
    - gf_mesh_build_aabbtree
    - gf_muldiv
    - mesh_set_vertex
    - gf_bbox_refresh
    - gf_cos
    - gf_free
    - mesh_reset
    - gf_sin
    - compute_cylinder
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_cone(GF_Mesh *mesh, Fixed height, Fixed radius, Bool
      bottom, Bool side, Bool low_res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:992,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:995,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:1000,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:998,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:997,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:1000,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:1000,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1004,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:1006,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1007,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:1016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 4
    argNames:
    - mesh
    - a_dia
    - b_dia
    - low_res
    argTypes:
    - GF_Mesh*
    - Fixed
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 1017
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1017
    functionName: mesh_new_ellipse
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_mulfix
    - mesh_set_vertex
    - gf_cos
    - gf_bbox_refresh
    - mesh_reset
    - gf_sin
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_ellipse(GF_Mesh *mesh, Fixed a_dia, Fixed b_dia, Bool
      low_res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/mesh.c:1344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pi
    - face_index
    argTypes:
    - struct pt_info*
    - u32
    constantsTouched: []
    func_position:
      end: 1348
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1348
    functionName: register_face_in_point
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'void register_face_in_point(struct pt_info *pi, u32 face_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_extrude_path_intern
      Src: /src/gpac/src/compositor/mesh.c:2588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 13
    argNames:
    - mesh
    - path
    - thespine
    - creaseAngle
    - min_cx
    - min_cy
    - width_cx
    - width_cy
    - begin_cap
    - end_cap
    - spine_ori
    - spine_scale
    - tx_along_spine
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - MFVec3f*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Bool
    - Bool
    - MFRotation*
    - MFVec2f*
    - Bool
    constantsTouched: []
    func_position:
      end: 2589
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2589
    functionName: mesh_extrude_path_ext
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_extrude_path_intern
    linkageType: ''
    returnType: void
    signature: 'void mesh_extrude_path_ext(GF_Mesh *mesh, GF_Path *path, MFVec3f *thespine,
      Fixed creaseAngle, Fixed min_cx, Fixed min_cy, Fixed width_cx, Fixed width_cy,
      Bool begin_cap, Bool end_cap, MFRotation *spine_ori, MFVec2f *spine_scale, Bool
      tx_along_spine) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: del_aabb_node
      Src: /src/gpac/src/compositor/mesh.c:61,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:63,1
    - Dst: del_aabb_node
      Src: /src/gpac/src/compositor/mesh.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - AABBNode*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: del_aabb_node
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - del_aabb_node
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void del_aabb_node(AABBNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:92,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:97,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:96,1
    - Dst: del_aabb_node
      Src: /src/gpac/src/compositor/mesh.c:94,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mesh.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: mesh_free
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - del_aabb_node
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mesh_free(GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:383,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mesh.c:366,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:372,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:371,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:374,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:375,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:379,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:381,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:382,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:387,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:380,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:388,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:384,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:368,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:389,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:385,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:370,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:373,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:376,1
    - Dst: mesh_set_point
      Src: /src/gpac/src/compositor/mesh.c:377,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:391,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:390,1
    - Dst: mesh_set_line
      Src: /src/gpac/src/compositor/mesh.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 392
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 392
    functionName: mesh_new_unit_bbox
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_point
    - memset
    - gf_bbox_refresh
    - mesh_reset
    - mesh_set_line
    linkageType: ''
    returnType: void
    signature: 'void mesh_new_unit_bbox(GF_Mesh *mesh) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:602,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mesh.c:603,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mesh.c:610,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:603,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:610,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:611,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mesh.c:611,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:612,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:613,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mesh.c:614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 115
    argCount: 5
    argNames:
    - radius
    - coords
    - texcoords
    - num_steps
    - sphere_angles
    argTypes:
    - Fixed
    - SFVec3f*
    - SFVec2f*
    - u32
    - GF_MeshSphereAngles*
    constantsTouched: []
    func_position:
      end: 636
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 636
    functionName: compute_sphere
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_sin
    - gf_sqrt
    linkageType: ''
    returnType: void
    signature: 'void compute_sphere(Fixed radius, SFVec3f *coords, SFVec2f *texcoords,
      u32 num_steps, GF_MeshSphereAngles *sphere_angles) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_flatten
      Src: /src/gpac/src/compositor/mesh.c:1026,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:1045,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mesh.c:1027,1
    - Dst: gf_polygone2d_get_convexity
      Src: /src/gpac/src/compositor/mesh.c:1031,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mesh.c:1029,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1045,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1045,1
    - Dst: mesh_set_vertex
      Src: /src/gpac/src/compositor/mesh.c:1051,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1051,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mesh.c:1051,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1057,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mesh.c:1068,1
    - Dst: mesh_set_triangle
      Src: /src/gpac/src/compositor/mesh.c:1059,1
    - Dst: gf_mesh_tesselate_path
      Src: /src/gpac/src/compositor/mesh.c:1076,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - mesh
    - path
    - make_ccw
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - Bool
    constantsTouched: []
    func_position:
      end: 1078
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1078
    functionName: mesh_from_path_intern
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - mesh_set_triangle
    - gf_path_get_bounds
    - gf_mesh_tesselate_path
    - gf_polygone2d_get_convexity
    - mesh_set_vertex
    - gf_bbox_refresh
    - gf_divfix
    - gf_path_flatten
    - mesh_reset
    linkageType: ''
    returnType: void
    signature: 'void mesh_from_path_intern(GF_Mesh *mesh, GF_Path *path, Bool make_ccw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mesh.c:1363,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mesh.c:1368,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mesh.c:1364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 7
    argNames:
    - pts
    - nb_pts
    - faces
    - nb_faces
    - pt_idx_in_face
    - face_idx
    - creaseAngleCos
    argTypes:
    - struct pt_info*
    - u32
    - struct face_info*
    - u32
    - u32
    - u32
    - Fixed
    constantsTouched: []
    func_position:
      end: 1370
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1370
    functionName: smooth_face_normals
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_add
    - gf_vec_norm
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE SFVec3f smooth_face_normals(struct pt_info *pts, u32
      nb_pts, struct face_info *faces, u32 nb_faces, u32 pt_idx_in_face, u32 face_idx,
      Fixed creaseAngleCos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mesh.c:2594,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mesh.c:2597,1
    - Dst: mesh_extrude_path_intern
      Src: /src/gpac/src/compositor/mesh.c:2595,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mesh.c:2596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 9
    argNames:
    - mesh
    - path
    - thespine
    - creaseAngle
    - begin_cap
    - end_cap
    - spine_ori
    - spine_scale
    - tx_along_spine
    argTypes:
    - GF_Mesh*
    - GF_Path*
    - MFVec3f*
    - Fixed
    - Bool
    - Bool
    - MFRotation*
    - MFVec2f*
    - Bool
    constantsTouched: []
    func_position:
      end: 2598
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2598
    functionName: mesh_extrude_path
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - gf_mesh_build_aabbtree
    - gf_path_get_bounds
    - mesh_update_bounds
    - mesh_extrude_path_intern
    linkageType: ''
    returnType: void
    signature: 'void mesh_extrude_path(GF_Mesh *mesh, GF_Path *path, MFVec3f *thespine,
      Fixed creaseAngle, Bool begin_cap, Bool end_cap, MFRotation *spine_ori, MFVec2f
      *spine_scale, Bool tx_along_spine) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mesh.c:281,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mesh.c:288,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - mesh
    - __texCoords
    argTypes:
    - GF_Mesh*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: mesh_generate_tex_coords
    functionSourceFile: /src/gpac/src/compositor/mesh.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void mesh_generate_tex_coords(GF_Mesh *mesh, GF_Node *__texCoords) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:63,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:117,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:117,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:130,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:129,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:135,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:141,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:56,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:72,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:118,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:123,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:118,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:123,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:145,1
    - Dst: gf_node_get_num_instances
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:79,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:101,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:144,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:79,1
    - Dst: gf_mo_get_visual_info_ex
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:86,1
    - Dst: compositor_adjust_scale
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:114,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:133,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 5
    argNames:
    - node
    - st
    - tr_state
    - out_rc
    - notify_changes
    argTypes:
    - GF_Node*
    - BitmapStack*
    - GF_TraverseState*
    - GF_Rect*
    - Bool
    constantsTouched: []
    func_position:
      end: 146
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 146
    functionName: Bitmap_BuildGraph
    functionSourceFile: /src/gpac/src/compositor/mpeg4_bitmap.c
    functionUses: []
    functionsReached:
    - compositor_adjust_scale
    - mesh_free
    - gf_node_dirty_clear
    - gf_rect_center
    - gf_node_get_num_instances
    - gf_mulfix
    - INT2FIX
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_sc_texture_get_handler
    - gf_divfix
    - gf_path_add_rect_center
    - gf_node_dirty_set
    - gf_mo_get_visual_info_ex
    linkageType: ''
    returnType: void
    signature: 'static void Bitmap_BuildGraph(GF_Node *node, BitmapStack *st, GF_TraverseState
      *tr_state, GF_Rect *out_rc, Bool notify_changes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:155,1
    - Dst: Bitmap_BuildGraph
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:159,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:161,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:171,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:162,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:174,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:175,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:176,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:177,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:178,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:179,1
    - Dst: compositor_3d_draw_bitmap
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:185,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: draw_bitmap_3d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_bitmap.c
    functionUses: []
    functionsReached:
    - Bitmap_BuildGraph
    - memset
    - gf_node_get_tag
    - gf_node_get_private
    - compositor_3d_draw_bitmap
    - FIX2INT
    - drawable_get_aspect_2d_mpeg4
    linkageType: ''
    returnType: void
    signature: 'static void draw_bitmap_3d(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:195,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:210,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:207,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:211,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:212,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:213,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:214,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:215,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:225,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:230,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:231,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:235,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:227,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:226,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:228,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 238
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 238
    functionName: draw_bitmap_2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_bitmap.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - gf_rect_center
    - gf_node_get_tag
    - gf_node_get_private
    - gf_mx2d_apply_rect
    - drawable_reset_path
    - visual_2d_texture_path
    - FIX2INT
    - gf_path_add_rect_center
    - gf_mx2d_copy
    linkageType: ''
    returnType: void
    signature: 'static void draw_bitmap_2d(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:245,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:250,1
    - Dst: gf_sc_get_compositor
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:249,1
    - Dst: drawable_del_ex
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:249,1
    - Dst: rectangle_check_adaptation
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:253,1
    - Dst: draw_bitmap_2d
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:258,1
    - Dst: draw_bitmap_3d
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:262,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:267,1
    - Dst: Bitmap_BuildGraph
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:270,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:288,1
    - Dst: Bitmap_BuildGraph
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:289,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:330,1
    - Dst: visual_2d_remove_last_context
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:294,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:324,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:310,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:292,1
    - Dst: visual_2d_remove_last_context
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:313,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:322,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 52
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 331
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 331
    functionName: TraverseBitmap
    functionSourceFile: /src/gpac/src/compositor/mpeg4_bitmap.c
    functionUses: []
    functionsReached:
    - rectangle_check_adaptation
    - Bitmap_BuildGraph
    - draw_bitmap_3d
    - GF_COL_A
    - memset
    - gf_node_get_tag
    - gf_node_get_private
    - drawable_finalize_sort
    - visual_2d_remove_last_context
    - gf_sc_get_compositor
    - drawable_init_context_mpeg4
    - gf_free
    - draw_bitmap_2d
    - vrml_drawable_pick
    - drawable_del_ex
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBitmap(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:337,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:345,1
    - Dst: drawable_init_ex
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:339,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_bitmap.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: compositor_init_bitmap
    functionSourceFile: /src/gpac/src/compositor/mpeg4_bitmap.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - drawable_init_ex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_bitmap(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_3d.c:87,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:87,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:88,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_3d.c:88,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:87,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:88,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:92,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:93,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:95,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:96,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/compositor/compositor_3d.c:115,1
    - Dst: ostgl_create_context
      Src: /src/gpac/src/compositor/compositor_3d.c:147,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/compositor/compositor_3d.c:119,1
    - Dst: ostgl_make_current
      Src: /src/gpac/src/compositor/compositor_3d.c:148,1
    - Dst: compositor_set_ar_scale
      Src: /src/gpac/src/compositor/compositor_3d.c:98,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 156
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 156
    functionName: compositor_3d_set_aspect_ratio
    functionSourceFile: /src/gpac/src/compositor/compositor_3d.c
    functionUses: []
    functionsReached:
    - INT2FIX
    - compositor_set_ar_scale
    - gf_opengl_init
    - ostgl_make_current
    - gf_divfix
    - gf_sc_reset_graphics
    - ostgl_create_context
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err compositor_3d_set_aspect_ratio(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compositor_layer3d_get_camera
      Src: /src/gpac/src/compositor/compositor_3d.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: compositor_3d_get_camera
    functionSourceFile: /src/gpac/src/compositor/compositor_3d.c
    functionUses: []
    functionsReached:
    - compositor_layer3d_get_camera
    linkageType: ''
    returnType: GF_Camera*
    signature: 'GF_Camera *compositor_3d_get_camera(GF_Compositor *compositor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_get_camera
      Src: /src/gpac/src/compositor/compositor_3d.c:173,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/compositor_3d.c:178,1
    - Dst: camera_reset_viewpoint
      Src: /src/gpac/src/compositor/compositor_3d.c:175,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/compositor_3d.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: compositor_3d_reset_camera
    functionSourceFile: /src/gpac/src/compositor/compositor_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_node_dirty_set
    - camera_reset_viewpoint
    - compositor_3d_get_camera
    linkageType: ''
    returnType: void
    signature: 'void compositor_3d_reset_camera(GF_Compositor *compositor) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/compositor_3d.c:208,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/compositor_3d.c:264,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/compositor_3d.c:264,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor_3d.c:266,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/compositor_3d.c:267,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/compositor_3d.c:275,1
    - Dst: visual_3d_point_sprite
      Src: /src/gpac/src/compositor/compositor_3d.c:196,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_3d.c:201,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/compositor_3d.c:203,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/compositor_3d.c:206,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/compositor_3d.c:228,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor_3d.c:234,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/compositor_3d.c:233,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_3d.c:257,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/compositor_3d.c:258,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/compositor_3d.c:271,1
    - Dst: gf_sc_texture_is_transparent
      Src: /src/gpac/src/compositor/compositor_3d.c:212,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/compositor_3d.c:213,1
    - Dst: mesh_new_planar_srd
      Src: /src/gpac/src/compositor/compositor_3d.c:239,1
    - Dst: mesh_new_rectangle
      Src: /src/gpac/src/compositor/compositor_3d.c:245,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:254,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/compositor_3d.c:268,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/compositor_3d.c:269,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/compositor_3d.c:277,1
    - Dst: gf_sc_texture_convert
      Src: /src/gpac/src/compositor/compositor_3d.c:195,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/compositor_3d.c:205,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/compositor/compositor_3d.c:208,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/compositor_3d.c:211,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/compositor_3d.c:219,1
    - Dst: mesh_new_rectangle_ex
      Src: /src/gpac/src/compositor/compositor_3d.c:242,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/compositor_3d.c:215,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/compositor_3d.c:254,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/compositor_3d.c:262,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 7
    argNames:
    - stack
    - asp
    - tr_state
    - width
    - height
    - bmp_scale_x
    - bmp_scale_y
    argTypes:
    - Drawable*
    - DrawAspect2D*
    - GF_TraverseState*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 280
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 280
    functionName: compositor_3d_draw_bitmap
    functionSourceFile: /src/gpac/src/compositor/compositor_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_is_transparent
    - gf_sc_texture_disable
    - visual_3d_enable_antialias
    - visual_3d_set_state
    - mesh_new_rectangle
    - INT2FIX
    - gf_mx_init
    - visual_3d_mesh_paint
    - gf_divfix
    - gf_mx_copy
    - gf_sc_texture_convert
    - visual_3d_point_sprite
    - visual_3d_set_material_2d_argb
    - gf_mx_add_matrix
    - mesh_new_planar_srd
    - gf_sc_texture_enable
    - gf_mx_add_translation
    - GF_COL_A
    - GF_COL_ARGB
    - gf_sc_texture_set_blend_mode
    - gf_filter_pid_get_property
    - mesh_new_rectangle_ex
    - gf_mulfix
    - new_mesh
    linkageType: ''
    returnType: void
    signature: 'void compositor_3d_draw_bitmap(Drawable *stack, DrawAspect2D *asp,
      GF_TraverseState *tr_state, Fixed width, Fixed height, Fixed bmp_scale_x, Fixed
      bmp_scale_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:148,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:151,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:152,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type_3d
    argTypes:
    - tr_state
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_mx_add_matrix_2d
    - gf_mx_copy
    - group_2d_traverse
    linkageType: ''
    returnType: else
    signature: 'else if (tr_state->visual->type_3d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:215,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: transform2d_set_untransform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void transform2d_set_untransform(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - n
    - mat
    argTypes:
    - GF_Node*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: tr_mx2d_get_matrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_init
    linkageType: ''
    returnType: void
    signature: 'void tr_mx2d_get_matrix(GF_Node *n, GF_Matrix2D *mat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:280,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:283,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:285,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: compositor_init_transformmatrix2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - gf_mx2d_init
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_transformmatrix2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:300,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:307,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:311,1
    - Dst: group_2d_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:306,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:305,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:317,1
    - Dst: gf_cmx_set
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:318,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:324,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:336,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:339,1
    - Dst: gf_cmx_multiply
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:340,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:343,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:345,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 348
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 348
    functionName: TraverseColorTransform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - group_2d_traverse
    - gf_cmx_set
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_private
    - gf_node_dirty_get
    - gf_cmx_copy
    - gf_free
    - gf_cmx_multiply
    - group_2d_destroy
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseColorTransform(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: compare_priority
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 compare_priority(const void* elem1, const void* elem2) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:44,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:52,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:72,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:51,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:56,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:78,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:86,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:98,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:102,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:103,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:114,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:113,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 116
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 116
    functionName: TraverseSwitch
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - gf_node_traverse
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_tag
    - gf_node_get_private
    - gf_node_list_get_child
    - gf_node_dirty_get
    - gf_free
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSwitch(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:175,1
    - Dst: group_2d_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:180,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:181,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:179,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:187,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:188,1
    - Dst: gf_mx2d_add_scale_at
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:191,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:195,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:200,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:202,1
    - Dst: TraverseUntransformEx
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:207,1
    - Dst: traverse_transform
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 211
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 211
    functionName: TraverseTransform2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_mx2d_add_translation
    - gf_node_get_private
    - TraverseUntransformEx
    - gf_mx2d_add_scale_at
    - traverse_transform
    - gf_mx2d_init
    - gf_node_dirty_get
    - gf_free
    - group_2d_destroy
    - gf_node_dirty_clear
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTransform2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:143,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:148,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:151,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:152,1
    - Dst: gf_mx_add_matrix_2d
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:150,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:157,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:158,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:160,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:162,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Transform2DStack*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: traverse_transform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_mx_add_matrix_2d
    - gf_mx2d_apply_rect
    - gf_mx2d_pre_multiply
    - gf_mx2d_copy
    - group_2d_traverse
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'static void traverse_transform(GF_Node *node, Transform2DStack *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:120,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:122,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: compositor_init_switch
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_malloc
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_switch(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:223,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:231,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:225,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: compositor_init_transform2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_mx2d_init
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_transform2d(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:353,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:356,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:358,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: compositor_init_colortransform
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_cmx_init
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_colortransform(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:390,1
    - Dst: group_2d_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:396,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:397,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:395,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:398,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:403,1
    - Dst: group_2d_traverse
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:404,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:410,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:411,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:412,1
    - Dst: qsort
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:418,1
    - Dst: group_2d_traverse_with_order
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:427,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:425,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:420,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:413,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:422,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 429
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 429
    functionName: TraverseOrderedGroup
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - group_2d_traverse
    - gf_malloc
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_private
    - qsort
    - gf_node_dirty_get
    - group_2d_traverse_with_order
    - gf_free
    - group_2d_destroy
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseOrderedGroup(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:434,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:438,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: compositor_init_orderedgroup
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_orderedgroup(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:251,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:255,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:257,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:261,1
    - Dst: group_2d_destroy
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:256,1
    - Dst: tr_mx2d_get_matrix
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:263,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:271,1
    - Dst: traverse_transform
      Src: /src/gpac/src/compositor/mpeg4_grouping_2d.c:273,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: TraverseTransformMatrix2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_grouping_2d.c
    functionUses: []
    functionsReached:
    - gf_sc_check_focus_upon_destroy
    - gf_node_get_private
    - tr_mx2d_get_matrix
    - traverse_transform
    - gf_node_dirty_get
    - gf_free
    - group_2d_destroy
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void TraverseTransformMatrix2D(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:77,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:79,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: compositor_init_spot_light
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_malloc
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_spot_light(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:126,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:130,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: compositor_init_point_light
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_malloc
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_point_light(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:40,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:45,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:41,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:55,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:53,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:56,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:57,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:58,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:65,1
    - Dst: visual_3d_add_spot_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:67,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: TraverseSpotLight
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - visual_3d_add_spot_light
    - visual_3d_has_inactive_light
    - gf_node_get_private
    - gf_vec_diff
    - gf_vec_add
    - gf_bbox_refresh
    - gf_free
    - visual_3d_node_cull
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSpotLight(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:136,1
    - Dst: visual_3d_remove_last_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:156,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:145,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:141,1
    - Dst: visual_3d_add_directional_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:154,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: TraverseDirectionalLight
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - visual_3d_has_inactive_light
    - gf_node_get_private
    - visual_3d_add_directional_light
    - visual_3d_remove_last_light
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void TraverseDirectionalLight(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:90,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:91,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:105,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:103,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:95,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:106,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:107,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:108,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:114,1
    - Dst: visual_3d_add_point_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:116,1
    - Dst: visual_3d_has_inactive_light
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 122
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 122
    functionName: TraversePointLight
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - visual_3d_has_inactive_light
    - gf_node_get_private
    - gf_vec_diff
    - gf_vec_add
    - gf_bbox_refresh
    - gf_free
    - visual_3d_node_cull
    - visual_3d_add_point_light
    linkageType: ''
    returnType: void
    signature: 'static void TraversePointLight(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:164,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:167,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_lighting.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: compositor_init_directional_light
    functionSourceFile: /src/gpac/src/compositor/mpeg4_lighting.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_malloc
    - gf_node_set_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_directional_light(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_audio.c:123,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_audio.c:125,1
    - Dst: gf_sc_audio_setup
      Src: /src/gpac/src/compositor/mpeg4_audio.c:128,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:134,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_audio.c:135,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: compositor_init_audioclip
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_register_time_node
    - gf_sc_audio_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_audioclip(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/mpeg4_audio.c:176,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:181,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_audio.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - st
    - as
    argTypes:
    - AudioSourceStack*
    - M_AudioSource*
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: audiosource_activate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_sc_audio_open
    - gf_mo_set_speed
    linkageType: ''
    returnType: void
    signature: 'static void audiosource_activate(AudioSourceStack *st, M_AudioSource
      *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_audio.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ai
    - compositor
    - node
    argTypes:
    - GF_AudioInput*
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 600
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 600
    functionName: setup_audiobuffer
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void setup_audiobuffer(GF_AudioInput *ai, GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:143,1
    - Dst: gf_sc_audio_check_url
      Src: /src/gpac/src/compositor/mpeg4_audio.c:150,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:151,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/mpeg4_audio.c:154,1
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/mpeg4_audio.c:152,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:155,1
    - Dst: audioclip_update_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:161,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 171
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 171
    functionName: compositor_audioclip_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_audio_stop
    - gf_sc_audio_check_url
    - gf_sc_audio_open
    - gf_sc_register_time_node
    - gf_sc_audio_unregister
    - audioclip_update_time
    linkageType: ''
    returnType: void
    signature: 'void compositor_audioclip_modified(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - as
    argTypes:
    - AudioSourceStack*
    - M_AudioSource*
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: audiosource_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_stop
    linkageType: ''
    returnType: void
    signature: 'static void audiosource_deactivate(AudioSourceStack *st, M_AudioSource
      *as) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_audio.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_audio.c:607,1
    - Dst: setup_audiobuffer
      Src: /src/gpac/src/compositor/mpeg4_audio.c:612,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_audio.c:620,1
    - Dst: gf_mixer_new
      Src: /src/gpac/src/compositor/mpeg4_audio.c:619,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:622,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_audio.c:623,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 625
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 625
    functionName: compositor_init_audiobuffer
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - setup_audiobuffer
    - gf_mixer_new
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_register_time_node
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_audiobuffer(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:59,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_audio.c:66,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:64,1
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:73,1
    - Dst: gf_sc_audio_predestroy
      Src: /src/gpac/src/compositor/mpeg4_audio.c:62,1
    - Dst: gf_sc_audio_restart
      Src: /src/gpac/src/compositor/mpeg4_audio.c:74,1
    - Dst: gf_mo_should_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:75,1
    - Dst: audioclip_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:77,1
    - Dst: gf_sc_audio_register
      Src: /src/gpac/src/compositor/mpeg4_audio.c:81,1
    - Dst: gf_mo_get_duration
      Src: /src/gpac/src/compositor/mpeg4_audio.c:84,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:85,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 91
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 91
    functionName: audioclip_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_predestroy
    - gf_mo_should_deactivate
    - gf_node_get_private
    - gf_sc_audio_register
    - gf_mo_get_loop
    - gf_sc_unregister_time_node
    - gf_free
    - gf_mo_get_duration
    - audioclip_deactivate
    - gf_sc_audio_restart
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void audioclip_traverse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_audio.c:251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_audio.c:253,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_audio.c:262,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:261,1
    - Dst: gf_sc_audio_setup
      Src: /src/gpac/src/compositor/mpeg4_audio.c:256,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: compositor_init_audiosource
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_register_time_node
    - gf_sc_audio_setup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_audiosource(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - callback
    - vol
    argTypes:
    - void*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: audiobuffer_get_volume
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool audiobuffer_get_volume(void *callback, Fixed *vol) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:522,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/mpeg4_audio.c:526,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_audio.c:527,1
    - Dst: gf_mixer_get_config
      Src: /src/gpac/src/compositor/mpeg4_audio.c:532,1
    - Dst: gf_mixer_must_reconfig
      Src: /src/gpac/src/compositor/mpeg4_audio.c:524,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/compositor/mpeg4_audio.c:561,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_audio.c:564,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 2
    argNames:
    - aifc
    - for_reconf
    argTypes:
    - GF_AudioInterface*
    - Bool
    constantsTouched: []
    func_position:
      end: 573
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 573
    functionName: audiobuffer_get_config
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_mixer_get_config
    - gf_node_get_private
    - gf_mixer_must_reconfig
    - gf_mixer_reconfig
    - gf_free
    - gf_mixer_set_config
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'static Bool audiobuffer_get_config(GF_AudioInterface *aifc, Bool for_reconf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:97,1
    - Dst: audioclip_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:112,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:107,1
    - Dst: audioclip_activate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - tn
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: audioclip_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - audioclip_activate
    - audioclip_deactivate
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void audioclip_update_time(GF_TimeNode *tn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:270,1
    - Dst: gf_sc_audio_check_url
      Src: /src/gpac/src/compositor/mpeg4_audio.c:274,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:278,1
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:275,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/mpeg4_audio.c:277,1
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/mpeg4_audio.c:280,1
    - Dst: audiosource_update_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:285,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 294
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 294
    functionName: compositor_audiosource_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sc_audio_stop
    - gf_sc_audio_check_url
    - audiosource_update_time
    - gf_sc_audio_open
    - gf_sc_register_time_node
    - gf_sc_audio_unregister
    linkageType: ''
    returnType: void
    signature: 'void compositor_audiosource_modified(GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 518
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 518
    functionName: audiobuffer_is_muted
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: Bool
    signature: 'static Bool audiobuffer_is_muted(void *callback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_audio.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - _this
    - src
    argTypes:
    - GF_AudioGroup*
    - GF_AudioInput*
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: audiobuffer_add_source
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_list_add
    linkageType: ''
    returnType: void
    signature: 'void audiobuffer_add_source(GF_AudioGroup *_this, GF_AudioInput *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:396,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - st
    - ab
    argTypes:
    - AudioBufferStack*
    - M_AudioBuffer*
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: audiobuffer_activate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void audiobuffer_activate(AudioBufferStack *st, M_AudioBuffer
      *ab) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:414,1
    - Dst: audiobuffer_activate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:433,1
    - Dst: audiobuffer_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:429,1
    - Dst: audiobuffer_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:424,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:419,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - tn
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 434
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 434
    functionName: audiobuffer_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - audiobuffer_deactivate
    - audiobuffer_activate
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void audiobuffer_update_time(GF_TimeNode *tn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - ab
    argTypes:
    - AudioBufferStack*
    - M_AudioBuffer*
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: audiobuffer_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void audiobuffer_deactivate(AudioBufferStack *st, M_AudioBuffer
      *ab) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:442,1
    - Dst: gf_mixer_get_block_align
      Src: /src/gpac/src/compositor/mpeg4_audio.c:449,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/mpeg4_audio.c:448,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/mpeg4_audio.c:448,1
    - Dst: ceil
      Src: /src/gpac/src/compositor/mpeg4_audio.c:448,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_audio.c:452,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_audio.c:453,1
    - Dst: gf_mixer_get_output
      Src: /src/gpac/src/compositor/mpeg4_audio.c:463,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/mpeg4_audio.c:466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - callback
    - size
    - planar_stride
    - audio_delay_ms
    argTypes:
    - void*
    - u32*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 473
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 473
    functionName: audiobuffer_fetch_frame
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_mixer_get_block_align
    - gf_node_get_private
    - ceil
    - gf_mixer_get_output
    - gf_fatal_assert
    - gf_audio_fmt_bit_depth
    - FIX2FLT
    linkageType: ''
    returnType: u8*
    signature: 'static u8 *audiobuffer_fetch_frame(void *callback, u32 *size, u32
      *planar_stride, u32 audio_delay_ms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:631,1
    - Dst: audiobuffer_update_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:636,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 643
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 643
    functionName: compositor_audiobuffer_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_register_time_node
    - audiobuffer_update_time
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_audiobuffer_modified(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_audio.c:340,1
    - Dst: gf_mixer_remove_all
      Src: /src/gpac/src/compositor/mpeg4_audio.c:370,1
    - Dst: gf_mixer_add_input
      Src: /src/gpac/src/compositor/mpeg4_audio.c:377,1
    - Dst: gf_sc_audio_register
      Src: /src/gpac/src/compositor/mpeg4_audio.c:385,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:329,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/mpeg4_audio.c:352,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_audio.c:355,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_audio.c:357,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_audio.c:375,1
    - Dst: gf_mixer_force_channel_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:371,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/mpeg4_audio.c:380,1
    - Dst: gf_mixer_del
      Src: /src/gpac/src/compositor/mpeg4_audio.c:338,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_audio.c:339,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:336,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/mpeg4_audio.c:334,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_audio.c:341,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_audio.c:348,1
    - Dst: gf_mixer_get_src_count
      Src: /src/gpac/src/compositor/mpeg4_audio.c:357,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_audio.c:358,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_audio.c:361,1
    - Dst: gf_mixer_is_src_present
      Src: /src/gpac/src/compositor/mpeg4_audio.c:362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_audio.c:374,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_audio.c:376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 389
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 389
    functionName: audiobuffer_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_list_get
    - gf_mixer_is_src_present
    - gf_node_get_private
    - gf_list_del
    - gf_sc_audio_register
    - gf_sc_unregister_time_node
    - gf_mixer_lock
    - gf_list_count
    - gf_mixer_get_src_count
    - gf_mixer_remove_all
    - gf_mixer_force_channel_out
    - gf_mixer_del
    - gf_list_rem
    - gf_free
    - gf_sc_audio_unregister
    - gf_mixer_add_input
    linkageType: ''
    returnType: void
    signature: 'static void audiobuffer_traverse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_audio_open
      Src: /src/gpac/src/compositor/mpeg4_audio.c:33,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:38,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_audio.c:40,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - st
    - ac
    argTypes:
    - AudioClipStack*
    - M_AudioClip*
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: audioclip_activate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_mo_set_speed
    - gf_sc_audio_open
    - gf_sc_invalidate
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void audioclip_activate(AudioClipStack *st, M_AudioClip *ac) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:195,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_audio.c:201,1
    - Dst: gf_sc_audio_predestroy
      Src: /src/gpac/src/compositor/mpeg4_audio.c:199,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_audio.c:203,1
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:210,1
    - Dst: gf_sc_audio_restart
      Src: /src/gpac/src/compositor/mpeg4_audio.c:211,1
    - Dst: gf_mo_should_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:212,1
    - Dst: audiosource_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:214,1
    - Dst: gf_sc_audio_register
      Src: /src/gpac/src/compositor/mpeg4_audio.c:218,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: audiosource_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_predestroy
    - gf_mo_should_deactivate
    - gf_node_get_private
    - gf_sc_audio_register
    - gf_mo_get_loop
    - gf_sc_unregister_time_node
    - audiosource_deactivate
    - gf_free
    - gf_sc_audio_restart
    linkageType: ''
    returnType: void
    signature: 'static void audiosource_traverse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:477,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/compositor/mpeg4_audio.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_audio.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - callback
    - nb_bytes
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: audiobuffer_release_frame
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - GF_LOG
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void audiobuffer_release_frame(void *callback, u32 nb_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_audio_stop
      Src: /src/gpac/src/compositor/mpeg4_audio.c:47,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_audio.c:50,1
    - Dst: gf_sc_audio_unregister
      Src: /src/gpac/src/compositor/mpeg4_audio.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - st
    - ac
    argTypes:
    - AudioClipStack*
    - M_AudioClip*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: audioclip_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_sc_audio_unregister
    - gf_sc_audio_stop
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void audioclip_deactivate(AudioClipStack *st, M_AudioClip *ac) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_audio.c:229,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_audio.c:235,1
    - Dst: audiosource_activate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:244,1
    - Dst: audiosource_deactivate
      Src: /src/gpac/src/compositor/mpeg4_audio.c:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - tn
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: audiosource_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - audiosource_activate
    - audiosource_deactivate
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void audiosource_update_time(GF_TimeNode *tn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: audiobuffer_get_speed
    functionSourceFile: /src/gpac/src/compositor/mpeg4_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed audiobuffer_get_speed(void *callback) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:46,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:66,1
    - Dst: gf_inline_restart
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:58,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:68,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:65,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:73,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:82,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:86,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:89,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:90,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:105,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:94,1
    - Dst: gf_clock_reset
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:98,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:109,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:93,1
    - Dst: gf_odm_start
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:107,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 110
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 110
    functionName: mediacontrol_restart
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_inline_restart
    - gf_list_del
    - gf_list_enum
    - gf_odm_shares_clock
    - gf_list_count
    - gf_odm_start
    - gf_odm_get_media_clock
    - gf_scene_restart_dynamic
    - gf_odm_get_mediacontrol
    - gf_list_new
    - gf_clock_reset
    - gf_odm_stop
    linkageType: ''
    returnType: void
    signature: 'void mediacontrol_restart(GF_ObjectManager *odm) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:237,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:248,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:242,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:246,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:247,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:253,1
    - Dst: gf_scene_select_main_addon
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:255,1
    - Dst: gf_scene_restart_dynamic
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:260,1
    - Dst: gf_clock_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:263,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:264,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:268,1
    - Dst: mediacontrol_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:272,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:269,1
    - Dst: gf_odm_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - odm
    - speed
    argTypes:
    - GF_ObjectManager*
    - Fixed
    constantsTouched: []
    func_position:
      end: 277
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 277
    functionName: mediacontrol_set_speed
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - mediacontrol_set_speed
    - gf_list_enum
    - gf_mulfix
    - gf_odm_shares_clock
    - gf_odm_set_speed
    - gf_odm_get_media_clock
    - gf_scene_restart_dynamic
    - gf_clock_set_speed
    - gf_scene_select_main_addon
    - gf_assert
    - gf_clock_time_absolute
    linkageType: ''
    returnType: void
    signature: 'void mediacontrol_set_speed(GF_ObjectManager *odm, Fixed speed) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:286,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - ctrl
    - start_range
    - end_range
    argTypes:
    - MediaControlStack*
    - Double*
    - Double*
    constantsTouched: []
    func_position:
      end: 322
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 322
    functionName: MC_GetRange
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void MC_GetRange(MediaControlStack *ctrl, Double *start_range, Double
      *end_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:534,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:536,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:545,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: InitMediaControl
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void InitMediaControl(GF_Scene *scene, GF_Node *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:583,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:601,1
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:608,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:583,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:591,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - odm
    - ctrl
    argTypes:
    - GF_ObjectManager*
    - MediaControlStack*
    constantsTouched: []
    func_position:
      end: 609
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 609
    functionName: gf_odm_set_mediacontrol
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odm_get_mediacontrol
    - gf_list_find
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_set_mediacontrol(GF_ObjectManager *odm, MediaControlStack
      *ctrl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:624,1
    - Dst: gf_odm_set_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:630,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - odm
    - ctrl
    argTypes:
    - GF_ObjectManager*
    - MediaControlStack*
    constantsTouched: []
    func_position:
      end: 632
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 632
    functionName: gf_odm_remove_mediacontrol
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - mediacontrol_resume
    - gf_odm_set_mediacontrol
    linkageType: ''
    returnType: void
    signature: 'void gf_odm_remove_mediacontrol(GF_ObjectManager *odm, MediaControlStack
      *ctrl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:116,1
    - Dst: gf_mo_get_od_id
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:116,1
    - Dst: strcmp
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:125,1
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - old_url
    - new_url
    argTypes:
    - MFURL*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: MC_URLChanged
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_mo_get_od_id
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool MC_URLChanged(MFURL *old_url, MFURL *new_url) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:360,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:363,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:373,1
    - Dst: gf_odm_set_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:379,1
    - Dst: gf_odm_remove_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:376,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:413,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:491,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:496,1
    - Dst: mediacontrol_restart
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:524,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:344,1
    - Dst: MC_URLChanged
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:358,1
    - Dst: gf_scene_get_media_object
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:366,1
    - Dst: gf_odm_remove_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:406,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:419,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:437,1
    - Dst: gf_odm_switch_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:452,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:481,1
    - Dst: mediacontrol_set_speed
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:503,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:330,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:381,1
    - Dst: gf_scene_get_media_object
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:411,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:434,1
    - Dst: gf_odm_set_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:435,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:437,1
    - Dst: gf_odm_init_segments
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:438,1
    - Dst: mediacontrol_restart
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:479,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:478,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:342,1
    - Dst: gf_odm_remove_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:337,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:343,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:381,1
    - Dst: gf_odm_init_segments
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:382,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:386,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:394,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:399,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:424,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:430,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 170
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 529
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 529
    functionName: RenderMediaControl
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_sc_invalidate
    - gf_odm_init_segments
    - gf_odm_get_media_clock
    - mediacontrol_pause
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_odm_switch_mediacontrol
    - gf_sg_vrml_mf_reset
    - gf_scene_get_media_object
    - gf_sg_vrml_field_copy
    - mediacontrol_resume
    - mediacontrol_set_speed
    - gf_free
    - gf_node_get_private
    - MC_URLChanged
    - gf_odm_set_mediacontrol
    - gf_odm_remove_mediacontrol
    - mediacontrol_restart
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void RenderMediaControl(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:552,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:574,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:574,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:574,1
    - Dst: MC_URLChanged
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:556,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 577
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 577
    functionName: MC_Modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_sg_get_root_node
    - MC_URLChanged
    - gf_node_get_graph
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'void MC_Modified(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: gf_odm_get_mediacontrol
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_odm_get_media_clock
    linkageType: ''
    returnType: MediaControlStack*
    signature: 'MediaControlStack *gf_odm_get_mediacontrol(GF_ObjectManager *odm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:642,1
    - Dst: gf_odm_set_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:651,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - odm
    - ctrl
    argTypes:
    - GF_ObjectManager*
    - MediaControlStack*
    constantsTouched: []
    func_position:
      end: 653
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 653
    functionName: gf_odm_switch_mediacontrol
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odm_set_mediacontrol
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_odm_switch_mediacontrol(GF_ObjectManager *odm, MediaControlStack
      *ctrl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_mediacontrol
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:659,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:664,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:671,1
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:670,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:684,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:705,1
    - Dst: mediacontrol_restart
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:709,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 712
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 712
    functionName: gf_odm_check_segment_switch
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - mediacontrol_restart
    - gf_odm_get_media_clock
    - gf_odm_get_mediacontrol
    - gf_clock_time_absolute
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_odm_check_segment_switch(GF_ObjectManager *odm) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:145,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:150,1
    - Dst: gf_odm_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:153,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:151,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:151,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:158,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:159,1
    - Dst: gf_clock_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:165,1
    - Dst: gf_scene_select_main_addon
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:167,1
    - Dst: mediacontrol_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:171,1
    - Dst: gf_odm_resume
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:173,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - odm
    - resume_to_live
    argTypes:
    - GF_ObjectManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 176
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 176
    functionName: mediacontrol_resume
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odm_shares_clock
    - gf_clock_resume
    - gf_odm_get_media_clock
    - gf_scene_select_main_addon
    - gf_odm_resume
    - gf_assert
    - mediacontrol_resume
    linkageType: ''
    returnType: void
    signature: 'void mediacontrol_resume(GF_ObjectManager *odm, Bool resume_to_live) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:190,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:199,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:199,1
    - Dst: gf_odm_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:201,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:198,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:206,1
    - Dst: gf_odm_shares_clock
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:207,1
    - Dst: gf_clock_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:213,1
    - Dst: gf_scene_select_main_addon
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:214,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:214,1
    - Dst: mediacontrol_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:218,1
    - Dst: gf_odm_pause
      Src: /src/gpac/src/compositor/mpeg4_mediacontrol.c:220,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - odm
    argTypes:
    - GF_ObjectManager*
    constantsTouched: []
    func_position:
      end: 223
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 223
    functionName: mediacontrol_pause
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediacontrol.c
    functionUses: []
    functionsReached:
    - gf_odm_pause
    - gf_list_enum
    - gf_odm_shares_clock
    - gf_odm_get_media_clock
    - gf_clock_pause
    - gf_scene_select_main_addon
    - mediacontrol_pause
    - gf_assert
    - gf_clock_time_absolute
    linkageType: ''
    returnType: void
    signature: 'void mediacontrol_pause(GF_ObjectManager *odm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:115,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: compositor_init_cylinder
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_cylinder(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_ifs
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: build_shape_ifs
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_ifs
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_ifs(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: TraverseILS
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseILS(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_sphere
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: build_shape_sphere
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_sphere
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_sphere(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: TraverseIFS
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIFS(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:316,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: ILS_SetColorIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ILS_SetColorIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:667,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: compositor_init_non_linear_deformer
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_non_linear_deformer(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_box
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: build_shape_box
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_box
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_box(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_cylinder
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: build_shape_cylinder
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_cylinder
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_cylinder(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:266,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: IFS_SetNormalIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS_SetNormalIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:362,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: ElevationGrid_SetHeight
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ElevationGrid_SetHeight(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:394,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: Extrusion_SetCrossSection
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_SetCrossSection(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:410,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: Extrusion_SetScale
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_SetScale(GF_Node *node, GF_Route *route) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:37,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:45,1
    - Dst: mesh_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:44,1
    - Dst: drawable_3d_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:40,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:43,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:45,1
    - Dst: build_shape
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:46,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:47,1
    - Dst: visual_3d_draw
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:51,1
    - Dst: drawable3d_check_focus_highlight
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:52,1
    - Dst: visual_3d_vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 4
    argNames:
    - n
    - rs
    - is_destroy
    - (*build_shape)
    argTypes:
    - GF_Node*
    - void*
    - Bool
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: drawable_3d_base_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable3d_check_focus_highlight
    - gf_node_dirty_clear
    - gf_node_get_private
    - build_shape
    - visual_3d_draw
    - GF_LOG
    - gf_node_dirty_get
    - gf_node_get_class_name
    - visual_3d_vrml_drawable_pick
    - drawable_3d_del
    - mesh_reset
    linkageType: ''
    returnType: void
    signature: 'void drawable_3d_base_traverse(GF_Node *n, void *rs, Bool is_destroy,
      void (*build_shape)(GF_Node*,Drawable3D *,GF_TraverseState *) ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: TraverseBox
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseBox(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: TraverseCylinder
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseCylinder(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:275,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: IFS_SetTexCoordIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS_SetTexCoordIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:370,1
    - Dst: ElevationGrid_SetHeight
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:375,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:374,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: compositor_init_elevation_grid
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - ElevationGrid_SetHeight
    - gf_sys_is_cov_mode
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_elevation_grid(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:402,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: Extrusion_SetOrientation
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_SetOrientation(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:418,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: Extrusion_SetSpine
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void Extrusion_SetSpine(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:490,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:493,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:495,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:497,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:496,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:497,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:497,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:499,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:499,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:500,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:500,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:501,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:502,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:503,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:504,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:502,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:502,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - nld
    - mx
    argTypes:
    - M_NonLinearDeformer*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 506
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 506
    functionName: NLD_GetMatrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_len
    - gf_mulfix
    - gf_sqrt
    - gf_mx_add_rotation
    - gf_mx_init
    - gf_vec_norm
    - gf_divfix
    - gf_vec_equal
    - gf_atan2
    linkageType: ''
    returnType: Bool
    signature: 'static Bool NLD_GetMatrix(M_NonLinearDeformer *nld, GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:81,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: compositor_init_box
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_box(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:215,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: compositor_init_sphere
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_sphere(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_elevation_grid
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: build_shape_elevation_grid
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_elevation_grid
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_elevation_grid(GF_Node *n, Drawable3D *stack,
      GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_extrusion
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: build_shape_extrusion
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_extrusion
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_extrusion(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:425,1
    - Dst: Extrusion_SetCrossSection
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:434,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:426,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:433,1
    - Dst: Extrusion_SetOrientation
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:435,1
    - Dst: Extrusion_SetScale
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:436,1
    - Dst: Extrusion_SetSpine
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 441
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 441
    functionName: compositor_init_extrusion
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_node_set_callback_function
    - Extrusion_SetSpine
    - Extrusion_SetOrientation
    - drawable_3d_new
    - Extrusion_SetCrossSection
    - Extrusion_SetScale
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_extrusion(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:643,1
    - Dst: NLD_Apply
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:650,1
    - Dst: mesh_clone
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: build_shape_nld
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - NLD_Apply
    - mesh_clone
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_nld(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_cone
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: build_shape_cone
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_cone
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_cone(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_ps
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: build_shape_point_set
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_ps
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_point_set(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: TraverseElevationGrid
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseElevationGrid(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: TraverseExtrusion
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseExtrusion(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:659,1
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 663
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 663
    functionName: TraverseNonLinearDeformer
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    - gf_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseNonLinearDeformer(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: TraverseCone
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseCone(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: camera_get_target_dir
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:135,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:146,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:139,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:140,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 5
    argNames:
    - tr_state
    - txh
    - horizontal
    - min_coord
    - max_coord
    argTypes:
    - GF_TraverseState*
    - GF_TextureHandler*
    - Bool
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 186
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 186
    functionName: get_tx_coords_from_angle
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_norm
    - gf_atan2
    - camera_get_target_dir
    linkageType: ''
    returnType: void
    signature: 'void get_tx_coords_from_angle(GF_TraverseState *tr_state, GF_TextureHandler
      *txh, Bool horizontal, u32 *min_coord, u32 *max_coord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: TraversePointSet
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraversePointSet(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:248,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: IFS_SetColorIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS_SetColorIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:283,1
    - Dst: IFS_SetColorIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:293,1
    - Dst: IFS_SetCoordIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:292,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:284,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:291,1
    - Dst: IFS_SetNormalIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:294,1
    - Dst: IFS_SetTexCoordIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: compositor_init_ifs
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - IFS_SetColorIndex
    - IFS_SetNormalIndex
    - gf_sys_is_cov_mode
    - IFS_SetCoordIndex
    - IFS_SetTexCoordIndex
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_ifs(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:325,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: ILS_SetCoordIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void ILS_SetCoordIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - nld
    - frac
    - f_min
    - min
    - f_max
    - max
    argTypes:
    - M_NonLinearDeformer*
    - Fixed
    - Fixed*
    - Fixed*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: NLD_GetKey
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void NLD_GetKey(M_NonLinearDeformer *nld, Fixed frac,
      Fixed *f_min, Fixed *min, Fixed *f_max, Fixed *max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:98,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: compositor_init_cone
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_cone(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_base_traverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:191,1
    - Dst: get_tx_coords_from_angle
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:205,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:196,1
    - Dst: gf_mo_get_srd_info
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:200,1
    - Dst: get_tx_coords_from_angle
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:206,1
    - Dst: gf_mo_hint_visible_rect
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:209,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: TraverseSphere
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - get_tx_coords_from_angle
    - gf_sc_texture_get_handler
    - gf_mo_hint_visible_rect
    - gf_mo_get_srd_info
    - drawable_3d_base_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseSphere(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:231,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: compositor_init_point_set
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_point_set(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:257,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: IFS_SetCoordIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS_SetCoordIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_new_ils
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - n
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable3D*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: build_shape_ils
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - mesh_new_ils
    linkageType: ''
    returnType: void
    signature: 'static void build_shape_ils(GF_Node *n, Drawable3D *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_3d_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:333,1
    - Dst: ILS_SetColorIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:341,1
    - Dst: ILS_SetCoordIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:340,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:334,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: compositor_init_ils
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - ILS_SetColorIndex
    - ILS_SetCoordIndex
    - gf_node_set_callback_function
    - drawable_3d_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_ils(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NLD_GetMatrix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:542,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:568,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:592,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:594,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:595,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:596,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:599,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:608,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:618,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:621,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:622,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:623,1
    - Dst: mesh_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:636,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:581,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:585,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:594,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:598,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:599,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:601,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:607,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:608,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:609,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:612,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:619,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:611,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:614,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:613,1
    - Dst: gf_mx_rotate_vector
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:632,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:554,1
    - Dst: NLD_GetKey
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:569,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:574,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:576,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:593,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:588,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:586,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:598,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:600,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:607,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:612,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:630,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:611,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:633,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:553,1
    - Dst: gf_mx_rotate_vector
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:555,1
    - Dst: MESH_SET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:556,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:573,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:583,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:582,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:587,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:595,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:605,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:606,1
    - Dst: gf_mesh_build_aabbtree
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:637,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:628,1
    - Dst: MESH_GET_NORMAL
      Src: /src/gpac/src/compositor/mpeg4_geometry_3d.c:631,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 126
    argCount: 2
    argNames:
    - nld
    - mesh
    argTypes:
    - M_NonLinearDeformer*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 638
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 638
    functionName: NLD_Apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_3d.c
    functionUses: []
    functionsReached:
    - gf_mesh_build_aabbtree
    - gf_mx_apply_vec
    - gf_mx_inverse
    - mesh_update_bounds
    - NLD_GetKey
    - NLD_GetMatrix
    - MESH_SET_NORMAL
    - gf_mx_rotate_vector
    - gf_mulfix
    - gf_cos
    - gf_vec_norm
    - gf_divfix
    - gf_sin
    - MESH_GET_NORMAL
    linkageType: ''
    returnType: void
    signature: 'static void NLD_Apply(M_NonLinearDeformer *nld, GF_Mesh *mesh) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/svg_geometry.c:358,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/svg_geometry.c:375,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_geometry.c:379,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_geometry.c:405,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_geometry.c:396,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:409,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:414,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_geometry.c:459,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/svg_geometry.c:361,1
    - Dst: svg_drawable_pick
      Src: /src/gpac/src/compositor/svg_geometry.c:365,1
    - Dst: rebuild_path
      Src: /src/gpac/src/compositor/svg_geometry.c:377,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_geometry.c:385,1
    - Dst: drawable_get_aspect_2d_svg
      Src: /src/gpac/src/compositor/svg_geometry.c:401,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/svg_geometry.c:412,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:423,1
    - Dst: drawable_init_context_svg
      Src: /src/gpac/src/compositor/svg_geometry.c:425,1
    - Dst: visual_3d_draw_from_context
      Src: /src/gpac/src/compositor/svg_geometry.c:447,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/svg_geometry.c:452,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/svg_geometry.c:349,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_geometry.c:370,1
    - Dst: compositor_svg_traverse_base
      Src: /src/gpac/src/compositor/svg_geometry.c:371,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/svg_geometry.c:390,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_geometry.c:418,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/svg_geometry.c:444,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/svg_geometry.c:378,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_geometry.c:398,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/svg_geometry.c:403,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_geometry.c:400,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/svg_geometry.c:411,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_geometry.c:420,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/svg_geometry.c:429,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/compositor/svg_geometry.c:445,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:455,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 94
    argCount: 6
    argNames:
    - node
    - rs
    - is_destroy
    - (*rebuild_path)
    - is_svg_rect
    - is_svg_path
    argTypes:
    - GF_Node*
    - void*
    - Bool
    - void
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 461
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 461
    functionName: svg_drawable_traverse
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - memset
    - rebuild_path
    - gf_mx2d_apply_rect
    - compositor_svg_traverse_base
    - drawable_node_del
    - visual_3d_draw_from_context
    - gf_node_dirty_clear
    - svg_drawable_pick
    - gf_path_get_bounds
    - gf_sc_get_nodes_bounds
    - gf_node_dirty_get
    - drawable_get_strikeinfo
    - gf_assert
    - drawable_mark_modified
    - memcpy
    - GF_COL_A
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - gf_node_get_private
    - drawable_finalize_sort
    - compositor_svg_is_display_off
    - mesh_from_path
    - drawable_get_aspect_2d_svg
    - drawable_init_context_svg
    - new_mesh
    linkageType: ''
    returnType: void
    signature: 'static void svg_drawable_traverse(GF_Node *node, void *rs, Bool is_destroy,
      void (*rebuild_path)(GF_Node *, Drawable *, SVGAllAttributes *), Bool is_svg_rect,
      Bool is_svg_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: svg_traverse_circle
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_circle(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:641,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: compositor_init_svg_polyline
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_polyline(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path_outline
      Src: /src/gpac/src/compositor/svg_geometry.c:682,1
    - Dst: gf_svg_path_build
      Src: /src/gpac/src/compositor/svg_geometry.c:686,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: svg_path_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - drawable_reset_path
    - drawable_reset_path_outline
    - gf_svg_path_build
    linkageType: ''
    returnType: void
    signature: 'static void svg_path_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/svg_geometry.c:474,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_geometry.c:484,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/svg_geometry.c:475,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/svg_geometry.c:483,1
    - Dst: gf_cos
      Src: /src/gpac/src/compositor/svg_geometry.c:483,1
    - Dst: gf_sin
      Src: /src/gpac/src/compositor/svg_geometry.c:484,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 7
    argNames:
    - gp
    - end_x
    - end_y
    - cx
    - cy
    - rx
    - ry
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: svg_rect_add_arc
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_path_add_line_to
    - gf_sin
    - gf_atan2
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_rect_add_arc(GF_Path *gp, Fixed end_x, Fixed end_y,
      Fixed cx, Fixed cy, Fixed rx, Fixed ry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:574,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: compositor_init_svg_circle
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_circle(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_geometry.c:650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:658,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:655,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:656,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:659,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:662,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/svg_geometry.c:665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 666
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 666
    functionName: svg_polygon_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_path_close
    - gf_path_add_line_to
    - drawable_reset_path
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_polygon_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: svg_traverse_path
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_path(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:580,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/svg_geometry.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: svg_ellipse_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - drawable_reset_path
    - gf_path_add_ellipse
    linkageType: ''
    returnType: void
    signature: 'static void svg_ellipse_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: svg_traverse_line
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_line(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:624,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:625,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:627,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_geometry.c:619,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:628,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:631,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: svg_polyline_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_path_add_line_to
    - drawable_reset_path
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_polyline_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: svg_traverse_ellipse
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_ellipse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:610,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: compositor_init_svg_line
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_line(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: svg_traverse_polyline
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_polyline(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - drawable
    - x
    - y
    - asp
    - tr_state
    - glyph_rc
    argTypes:
    - Drawable*
    - Fixed
    - Fixed
    - DrawAspect2D*
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: svg_drawable_is_over
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool svg_drawable_is_over(Drawable *drawable, Fixed x, Fixed y, DrawAspect2D
      *asp, GF_TraverseState *tr_state, GF_Rect *glyph_rc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/svg_geometry.c:196,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/svg_geometry.c:186,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/svg_geometry.c:200,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_geometry.c:213,1
    - Dst: svg_drawable_is_over
      Src: /src/gpac/src/compositor/svg_geometry.c:206,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/svg_geometry.c:227,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_geometry.c:239,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_geometry.c:245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_geometry.c:259,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_geometry.c:259,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_geometry.c:185,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/svg_geometry.c:194,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/svg_geometry.c:187,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/svg_geometry.c:197,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_geometry.c:200,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/svg_geometry.c:222,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/svg_geometry.c:230,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/svg_geometry.c:238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_geometry.c:241,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/svg_geometry.c:259,1
    - Dst: gf_bbox_plane_relation
      Src: /src/gpac/src/compositor/svg_geometry.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_geometry.c:200,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/svg_geometry.c:218,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_geometry.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_geometry.c:230,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/svg_geometry.c:230,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:230,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:241,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/svg_geometry.c:244,1
    - Dst: svg_clone_use_stack
      Src: /src/gpac/src/compositor/svg_geometry.c:252,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/svg_geometry.c:221,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/svg_geometry.c:205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_geometry.c:222,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_geometry.c:214,1
    - Dst: gf_vec_lensq
      Src: /src/gpac/src/compositor/svg_geometry.c:228,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:230,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:260,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:260,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:260,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 3
    argNames:
    - drawable
    - tr_state
    - asp
    argTypes:
    - Drawable*
    - GF_TraverseState*
    - DrawAspect2D*
    constantsTouched: []
    func_position:
      end: 261
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 261
    functionName: svg_drawable_3d_pick
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_apply_vec
    - gf_vec_dot
    - svg_clone_use_stack
    - GF_LOG
    - gf_divfix
    - gf_bbox_plane_relation
    - gf_mx_copy
    - FIX2FLT
    - gf_mx_inverse
    - gf_vec_diff
    - gf_list_count
    - svg_drawable_is_over
    - gf_mx_apply_ray
    - gf_vec_lensq
    - gf_node_get_class_name
    - gf_list_reset
    - gf_node_get_name
    - gf_list_get
    - gf_bbox_from_rect
    - gf_plane_get_distance
    - compositor_get_2d_plane_intersection
    linkageType: ''
    returnType: void
    signature: 'void svg_drawable_3d_pick(Drawable *drawable, GF_TraverseState *tr_state,
      DrawAspect2D *asp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:556,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: compositor_init_svg_rect
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_rect(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: svg_traverse_polygon
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_polygon(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:563,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/compositor/svg_geometry.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: svg_circle_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - drawable_reset_path
    - gf_path_add_ellipse
    linkageType: ''
    returnType: void
    signature: 'static void svg_circle_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:674,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: compositor_init_svg_polygon
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_polygon(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:697,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:700,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/svg_geometry.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: compositor_init_svg_path
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    - gf_path_del
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_path(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/svg_geometry.c:55,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/svg_geometry.c:149,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/svg_geometry.c:139,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/svg_geometry.c:147,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 86
    argCount: 6
    argNames:
    - drawable
    - x
    - y
    - asp
    - tr_state
    - glyph_rc
    argTypes:
    - Drawable*
    - Fixed
    - Fixed
    - DrawAspect2D*
    - GF_TraverseState*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 154
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 154
    functionName: svg_drawable_is_over
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_point_over
    - gf_path_get_bounds
    - drawable_get_strikeinfo
    linkageType: ''
    returnType: Bool
    signature: 'Bool svg_drawable_is_over(Drawable *drawable, Fixed x, Fixed y, DrawAspect2D
      *asp, GF_TraverseState *tr_state, GF_Rect *glyph_rc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:499,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:512,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:509,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:519,1
    - Dst: svg_rect_add_arc
      Src: /src/gpac/src/compositor/svg_geometry.c:516,1
    - Dst: svg_rect_add_arc
      Src: /src/gpac/src/compositor/svg_geometry.c:523,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:526,1
    - Dst: svg_rect_add_arc
      Src: /src/gpac/src/compositor/svg_geometry.c:530,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:533,1
    - Dst: svg_rect_add_arc
      Src: /src/gpac/src/compositor/svg_geometry.c:537,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/svg_geometry.c:545,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:542,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:544,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:543,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/svg_geometry.c:539,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:541,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 547
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 547
    functionName: svg_rect_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_path_close
    - gf_path_add_line_to
    - drawable_reset_path
    - svg_rect_add_arc
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_rect_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/svg_geometry.c:593,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/svg_geometry.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: compositor_init_svg_ellipse
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - drawable_stack_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_svg_ellipse(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_apply_inheritance
      Src: /src/gpac/src/compositor/svg_geometry.c:282,1
    - Dst: compositor_svg_is_display_off
      Src: /src/gpac/src/compositor/svg_geometry.c:283,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_geometry.c:287,1
    - Dst: svg_drawable_3d_pick
      Src: /src/gpac/src/compositor/svg_geometry.c:292,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_geometry.c:294,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/compositor/svg_geometry.c:302,1
    - Dst: svg_drawable_is_over
      Src: /src/gpac/src/compositor/svg_geometry.c:304,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/svg_geometry.c:327,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_geometry.c:330,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/svg_geometry.c:312,1
    - Dst: gf_node_get_log_name
      Src: /src/gpac/src/compositor/svg_geometry.c:333,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:333,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/svg_geometry.c:333,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:336,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_geometry.c:279,1
    - Dst: compositor_svg_apply_local_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:285,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_geometry.c:320,1
    - Dst: svg_clone_use_stack
      Src: /src/gpac/src/compositor/svg_geometry.c:321,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/compositor/svg_geometry.c:299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/svg_geometry.c:333,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_geometry.c:337,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/svg_geometry.c:281,1
    - Dst: drawable_get_aspect_2d_svg
      Src: /src/gpac/src/compositor/svg_geometry.c:288,1
    - Dst: compositor_svg_restore_parent_transformation
      Src: /src/gpac/src/compositor/svg_geometry.c:293,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/svg_geometry.c:319,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/svg_geometry.c:313,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/svg_geometry.c:298,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_geometry.c:328,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 3
    argNames:
    - node
    - drawable
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 338
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 338
    functionName: svg_drawable_pick
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_svg_flatten_attributes
    - memset
    - gf_svg_apply_inheritance
    - svg_clone_use_stack
    - GF_LOG
    - gf_divfix
    - gf_mx2d_copy
    - FIX2FLT
    - gf_mx2d_inverse
    - gf_mx2d_apply_coords
    - gf_list_count
    - svg_drawable_is_over
    - svg_drawable_3d_pick
    - gf_mx_from_mx2d
    - gf_list_reset
    - gf_list_get
    - gf_node_get_log_name
    - memcpy
    - compositor_svg_apply_local_transformation
    - compositor_svg_restore_parent_transformation
    - compositor_svg_is_display_off
    - drawable_get_aspect_2d_svg
    linkageType: ''
    returnType: void
    signature: 'void svg_drawable_pick(GF_Node *node, Drawable *drawable, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/svg_geometry.c:160,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/svg_geometry.c:164,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/svg_geometry.c:161,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/svg_geometry.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - compositor
    - tr_state
    argTypes:
    - GF_Compositor*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: svg_clone_use_stack
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void svg_clone_use_stack(GF_Compositor *compositor, GF_TraverseState
      *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: svg_drawable_traverse
      Src: /src/gpac/src/compositor/svg_geometry.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: svg_traverse_rect
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - svg_drawable_traverse
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_rect(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/svg_geometry.c:599,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/svg_geometry.c:600,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/svg_geometry.c:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - node
    - stack
    - atts
    argTypes:
    - GF_Node*
    - Drawable*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: svg_line_rebuild
    functionSourceFile: /src/gpac/src/compositor/svg_geometry.c
    functionUses: []
    functionsReached:
    - drawable_reset_path
    - gf_path_add_line_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: void
    signature: 'static void svg_line_rebuild(GF_Node *node, Drawable *stack, SVGAllAttributes
      *atts) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:37,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:42,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:45,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:53,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:44,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:58,1
    - Dst: gf_odm_init_segments
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:59,1
    - Dst: gf_clock_media_time
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:86,1
    - Dst: mediasensor_update_timing
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:87,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:92,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:94,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 96
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 96
    functionName: RenderMediaSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediasensor.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - gf_sc_send_event
    - gf_list_del
    - gf_node_get_private
    - gf_odm_init_segments
    - mediasensor_update_timing
    - gf_mo_register
    - gf_free
    - gf_list_del_item
    - gf_clock_media_time
    linkageType: ''
    returnType: void
    signature: 'void RenderMediaSensor(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:118,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:121,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:126,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:121,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:128,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:131,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: MS_Modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediasensor.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_sc_invalidate
    - gf_list_count
    - gf_mo_unregister
    - gf_list_rem
    - gf_list_del_item
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void MS_Modified(GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:280,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - MediaSensorStack*
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: MS_Stop
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediasensor.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void MS_Stop(MediaSensorStack *st) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_get_media_clock
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:161,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:192,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:215,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:203,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:245,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:153,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:167,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:181,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:246,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:171,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:179,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:238,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:201,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:207,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:270,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:144,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:169,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:222,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:220,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:244,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:249,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:260,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 2
    argNames:
    - odm
    - is_eos
    argTypes:
    - GF_ObjectManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 274
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 274
    functionName: mediasensor_update_timing
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediasensor.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - GF_LOG
    - gf_sg_vrml_mf_reset
    - gf_odm_get_media_clock
    - gf_sg_vrml_mf_alloc
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void mediasensor_update_timing(GF_ObjectManager *odm, Bool is_eos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:101,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:103,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:111,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_mediasensor.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: InitMediaSensor
    functionSourceFile: /src/gpac/src/compositor/mpeg4_mediasensor.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void InitMediaSensor(GF_Scene *scene, GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:53,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:55,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:60,1
    - Dst: gf_mx2d_add_scale_at
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:59,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:61,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - transform
    - mat
    argTypes:
    - GF_Node*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: GradientGetMatrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_node_get_tag
    - gf_mx2d_add_scale_at
    - gf_mx2d_init
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: void
    signature: 'void GradientGetMatrix(GF_Node *transform, GF_Matrix2D *mat) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:99,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:101,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:109,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:108,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:108,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:110,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:113,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:114,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:116,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:118,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:129,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:130,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:123,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:126,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: UpdateLinearGradient
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent
    - gf_malloc
    - gf_node_dirty_clear
    - gf_node_get_private
    - gf_evg_stencil_new
    - gf_sc_texture_allocate
    - gf_evg_stencil_set_gradient_mode
    - GF_COL_ARGB_FIXED
    - gf_node_dirty_get
    - gf_sc_texture_get_stencil
    - gf_evg_stencil_set_gradient_interpolation
    - gf_free
    - gf_sc_texture_set_stencil
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void UpdateLinearGradient(GF_TextureHandler *txh) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:185,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:242,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:244,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:222,1
    - Dst: gf_evg_surface_attach_to_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:247,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:249,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:268,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:271,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:275,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:278,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:282,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:292,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:333,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:282,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:304,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:280,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:282,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:295,1
    - Dst: GradientGetMatrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:286,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:199,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:214,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:216,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:226,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:236,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:243,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:258,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:266,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:280,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:281,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:292,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:301,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:302,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:178,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:219,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:228,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:250,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:255,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:279,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:279,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:280,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:281,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:283,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:296,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:292,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:281,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:303,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:184,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:197,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:201,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:208,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:235,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:234,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:257,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:273,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:274,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:279,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:299,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:300,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:298,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:294,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 191
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 334
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 334
    functionName: BuildLinearGradientTexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_mx2d_add_scale
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - gf_path_add_line_to
    - gf_evg_surface_set_raster_level
    - gf_evg_surface_new
    - gf_path_add_move_to
    - gf_evg_surface_attach_to_texture
    - gf_list_find
    - gf_evg_surface_delete
    - gf_evg_stencil_set_texture
    - gf_evg_stencil_set_gradient_interpolation
    - gf_list_insert
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - gf_evg_stencil_new
    - gf_evg_stencil_set_matrix
    - gf_evg_stencil_set_linear_gradient
    - gf_free
    - GradientGetMatrix
    - gf_evg_stencil_delete
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - gf_evg_stencil_set_auto_matrix
    - gf_node_get_private
    - gf_evg_stencil_set_gradient_mode
    - gf_path_close
    - gf_path_del
    - gf_path_new
    linkageType: ''
    returnType: void
    signature: 'static void BuildLinearGradientTexture(GF_TextureHandler *txh) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:390,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:394,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:407,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:453,1
    - Dst: gf_evg_stencil_set_radial_gradient
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:476,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:482,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:483,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:493,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:497,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:496,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:499,1
    - Dst: gf_sc_texture_set_data
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:539,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:501,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:500,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:374,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:381,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:417,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:423,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:437,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:439,1
    - Dst: gf_evg_surface_attach_to_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:442,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:444,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:477,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:480,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:481,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:505,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:484,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:493,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:503,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:392,1
    - Dst: gf_list_find
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:380,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:401,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:409,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:429,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:430,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:438,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:421,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:431,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:452,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:485,1
    - Dst: GradientGetMatrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:488,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:484,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:475,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:484,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:495,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:413,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:445,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:450,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:470,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:473,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:481,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:482,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:482,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:483,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:483,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:502,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:493,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:504,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:481,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 196
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 541
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 541
    functionName: BuildRadialGradientTexture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_mx2d_add_scale
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - gf_path_add_line_to
    - gf_evg_surface_set_raster_level
    - gf_evg_surface_new
    - gf_path_add_move_to
    - gf_evg_surface_attach_to_texture
    - gf_evg_stencil_set_radial_gradient
    - gf_list_find
    - gf_evg_surface_delete
    - gf_evg_stencil_set_texture
    - gf_evg_stencil_set_gradient_interpolation
    - gf_list_insert
    - gf_sc_texture_set_data
    - gf_mx2d_add_translation
    - gf_evg_stencil_new
    - gf_evg_stencil_set_matrix
    - gf_free
    - GradientGetMatrix
    - gf_evg_stencil_delete
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - gf_evg_stencil_set_auto_matrix
    - gf_node_get_private
    - gf_evg_stencil_set_gradient_mode
    - gf_path_close
    - gf_path_del
    - gf_path_new
    linkageType: ''
    returnType: void
    signature: 'static void BuildRadialGradientTexture(GF_TextureHandler *txh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:599,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:607,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:607,1
    - Dst: GradientGetMatrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:602,1
    - Dst: gf_evg_stencil_set_radial_gradient
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:604,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:607,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:610,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - txh
    - bounds
    - mat
    - for_3d
    argTypes:
    - GF_TextureHandler*
    - GF_Rect*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 611
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 611
    functionName: RG_ComputeMatrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mx2d_add_scale
    - gf_sc_texture_get_stencil
    - gf_divfix
    - GradientGetMatrix
    - gf_evg_stencil_set_radial_gradient
    linkageType: ''
    returnType: void
    signature: 'static void RG_ComputeMatrix(GF_TextureHandler *txh, GF_Rect *bounds,
      GF_Matrix2D *mat, Bool for_3d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:85,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:88,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:86,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: DestroyGradient
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_sc_texture_destroy
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void DestroyGradient(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:140,1
    - Dst: GradientGetMatrix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:149,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:152,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:152,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:152,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:155,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - txh
    - bounds
    - mat
    - for_3d
    argTypes:
    - GF_TextureHandler*
    - GF_Rect*
    - GF_Matrix2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: LG_ComputeMatrix
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mx2d_add_scale
    - gf_sc_texture_get_stencil
    - gf_divfix
    - gf_evg_stencil_set_linear_gradient
    - GradientGetMatrix
    linkageType: ''
    returnType: void
    signature: 'static void LG_ComputeMatrix(GF_TextureHandler *txh, GF_Rect *bounds,
      GF_Matrix2D *mat, Bool for_3d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:339,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:353,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:341,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 355
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 355
    functionName: compositor_init_linear_gradient
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_linear_gradient(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:550,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:561,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:552,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:560,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:558,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:563,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:565,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:577,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:580,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:582,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:585,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 587
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 587
    functionName: UpdateRadialGradient
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_evg_stencil_new
    - gf_node_get_private
    - gf_sc_texture_allocate
    - gf_evg_stencil_set_gradient_mode
    - GF_COL_ARGB_FIXED
    - gf_sc_texture_get_stencil
    - gf_node_dirty_get
    - gf_evg_stencil_set_gradient_interpolation
    - gf_free
    - gf_sc_texture_set_stencil
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'static void UpdateRadialGradient(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:617,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:619,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: compositor_init_radial_gradient
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_radial_gradient(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: compositor_mpeg4_get_gradient_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *compositor_mpeg4_get_gradient_texture(GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:648,1
    - Dst: BuildRadialGradientTexture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:651,1
    - Dst: BuildLinearGradientTexture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:654,1
    - Dst: compositor_svg_build_gradient_texture
      Src: /src/gpac/src/compositor/mpeg4_gradients.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 665
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 665
    functionName: compositor_gradient_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_gradients.c
    functionUses: []
    functionsReached:
    - compositor_svg_build_gradient_texture
    - BuildLinearGradientTexture
    - gf_node_get_tag
    - BuildRadialGradientTexture
    linkageType: ''
    returnType: void
    signature: 'void compositor_gradient_update(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_form.c:63,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_form.c:65,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_form.c:69,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_form.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - FormStack*
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: form_new_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: FormGroup*
    signature: 'static FormGroup *form_new_group(FormStack *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_form.c:82,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/mpeg4_form.c:84,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - fg
    argTypes:
    - FormGroup*
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: fg_compute_bounds
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_rect_union
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void fg_compute_bounds(FormGroup *fg) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/compositor/mpeg4_form.c:117,1
    - Dst: al_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:150,1
    - Dst: ar_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:159,1
    - Dst: av_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:190,1
    - Dst: ab_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:179,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:189,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:126,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:140,1
    - Dst: sv_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:143,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:148,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:150,1
    - Dst: al_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:152,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:157,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:159,1
    - Dst: ar_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:161,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:167,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:177,1
    - Dst: at_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:170,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:184,1
    - Dst: shin_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:121,1
    - Dst: sh_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:127,1
    - Dst: svin_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:135,1
    - Dst: sv_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:141,1
    - Dst: at_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:168,1
    - Dst: ab_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:177,1
    - Dst: ah_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:185,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:176,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:125,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:120,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:127,1
    - Dst: sh_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:129,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:134,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:141,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:149,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:139,1
    - Dst: sscanf
      Src: /src/gpac/src/compositor/mpeg4_form.c:158,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:166,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/mpeg4_form.c:168,1
    - Dst: strnicmp
      Src: /src/gpac/src/compositor/mpeg4_form.c:175,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 4
    argNames:
    - st
    - constraint
    - group_idx
    - count
    argTypes:
    - FormStack*
    - char*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 193
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 193
    functionName: form_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - strlen
    - shin_apply
    - svin_apply
    - ab_apply
    - at_apply
    - av_apply
    - sscanf
    - sv_apply
    - FLT2FIX
    - ar_apply
    - strnicmp
    - ah_apply
    - al_apply
    - sh_apply
    linkageType: ''
    returnType: void
    signature: 'static void form_apply(FormStack *st, const char *constraint, u32
      *group_idx, u32 count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:414,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:424,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:427,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:426,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:427,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:430,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - st
    - group_idx
    - count
    argTypes:
    - FormStack*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 432
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 432
    functionName: shin_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void shin_apply(FormStack *st, u32 *group_idx, u32 count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:442,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:446,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:443,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:457,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:458,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:461,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 463
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 463
    functionName: sh_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void sh_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:503,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:507,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:504,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:516,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:516,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:518,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:518,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:520,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: sv_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void sv_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:559,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:579,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:567,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:579,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 581
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 581
    functionName: ar_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void ar_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:619,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:636,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:638,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:626,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:638,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 640
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 640
    functionName: ab_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void ab_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_form.c:52,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_form.c:53,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/compositor/mpeg4_form.c:54,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_form.c:56,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_form.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - FormStack*
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: form_reset
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void form_reset(FormStack *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_form.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - st
    - i
    argTypes:
    - FormStack*
    - u32
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: form_get_group
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE FormGroup *form_get_group(FormStack *st, u32 i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:95,1
    - Dst: fg_compute_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fg
    argTypes:
    - FormGroup*
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: fg_update_bounds
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - fg_compute_bounds
    linkageType: ''
    returnType: void
    signature: 'static void fg_update_bounds(FormGroup *fg) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_form.c:218,1
    - Dst: fg_compute_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:286,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_form.c:291,1
    - Dst: form_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:277,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:272,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_form.c:292,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_form.c:293,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_form.c:296,1
    - Dst: parent_node_child_traverse
      Src: /src/gpac/src/compositor/mpeg4_form.c:357,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:371,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:356,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_form.c:225,1
    - Dst: form_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:222,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_form.c:223,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_form.c:229,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_form.c:244,1
    - Dst: parent_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_form.c:264,1
    - Dst: form_apply
      Src: /src/gpac/src/compositor/mpeg4_form.c:308,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_form.c:314,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/mpeg4_form.c:316,1
    - Dst: form_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:321,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/mpeg4_form.c:347,1
    - Dst: parent_node_predestroy
      Src: /src/gpac/src/compositor/mpeg4_form.c:224,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/mpeg4_form.c:235,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_form.c:238,1
    - Dst: parent_node_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:254,1
    - Dst: form_new_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_form.c:252,1
    - Dst: gf_sc_pick_in_clipper
      Src: /src/gpac/src/compositor/mpeg4_form.c:329,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/mpeg4_form.c:335,1
    - Dst: compositor_2d_update_clipper
      Src: /src/gpac/src/compositor/mpeg4_form.c:344,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/mpeg4_form.c:346,1
    - Dst: visual_get_size_info
      Src: /src/gpac/src/compositor/mpeg4_form.c:231,1
    - Dst: form_new_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:283,1
    - Dst: fg_compute_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:315,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_form.c:352,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/mpeg4_form.c:362,1
    - Dst: parent_node_child_traverse
      Src: /src/gpac/src/compositor/mpeg4_form.c:372,1
    - Dst: parent_node_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:379,1
    - Dst: form_reset
      Src: /src/gpac/src/compositor/mpeg4_form.c:380,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 135
    argCount: 3
    argNames:
    - n
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 381
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 381
    functionName: TraverseForm
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - parent_node_reset
    - memset
    - parent_node_predestroy
    - GF_LOG
    - gf_rect_pixelize
    - gf_sc_pick_in_clipper
    - visual_3d_reset_clipper_2d
    - form_new_group
    - parent_node_child_traverse
    - gf_list_del
    - gf_irect_intersect
    - gf_list_count
    - gf_node_dirty_get
    - gf_list_get
    - gf_bbox_from_rect
    - gf_list_enum
    - compositor_2d_update_clipper
    - gf_free
    - fg_compute_bounds
    - form_reset
    - gf_rect_center
    - gf_node_get_private
    - visual_get_size_info
    - gf_rect_union
    - form_apply
    - parent_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void TraverseForm(GF_Node *n, void *rs, Bool is_destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:474,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:484,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:487,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:486,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:487,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:490,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - st
    - group_idx
    - count
    argTypes:
    - FormStack*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 492
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 492
    functionName: svin_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void svin_apply(FormStack *st, u32 *group_idx, u32 count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:531,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:547,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:548,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:548,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 550
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 550
    functionName: al_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void al_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:590,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:608,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:596,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:607,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:608,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - st
    - space
    - group_idx
    - count
    argTypes:
    - FormStack*
    - Fixed
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 610
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 610
    functionName: at_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void at_apply(FormStack *st, Fixed space, u32 *group_idx, u32
      count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:650,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:662,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:664,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - st
    - group_idx
    - count
    argTypes:
    - FormStack*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 666
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 666
    functionName: ah_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void ah_apply(FormStack *st, u32 *group_idx, u32 count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_form.c:386,1
    - Dst: parent_node_setup
      Src: /src/gpac/src/compositor/mpeg4_form.c:392,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_form.c:393,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_form.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_form.c:388,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_form.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: compositor_init_form
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - parent_node_setup
    - GF_LOG
    - gf_node_set_private
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_form(GF_Compositor *compositor, GF_Node *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:676,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:688,1
    - Dst: fg_update_bounds
      Src: /src/gpac/src/compositor/mpeg4_form.c:690,1
    - Dst: form_get_group
      Src: /src/gpac/src/compositor/mpeg4_form.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - st
    - group_idx
    - count
    argTypes:
    - FormStack*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 692
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 692
    functionName: av_apply
    functionSourceFile: /src/gpac/src/compositor/mpeg4_form.c
    functionUses: []
    functionsReached:
    - fg_update_bounds
    - form_get_group
    linkageType: ''
    returnType: void
    signature: 'static void av_apply(FormStack *st, u32 *group_idx, u32 count) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ostgl_delete_context
      Src: /src/gpac/src/compositor/mpeg4_composite.c:353,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_composite.c:282,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_composite.c:356,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:426,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/compositor/mpeg4_composite.c:452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:457,1
    - Dst: ostgl_make_current
      Src: /src/gpac/src/compositor/mpeg4_composite.c:496,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/compositor/mpeg4_composite.c:515,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/mpeg4_composite.c:519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:527,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/mpeg4_composite.c:584,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:268,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:290,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:278,1
    - Dst: gf_sc_texture_allocate
      Src: /src/gpac/src/compositor/mpeg4_composite.c:400,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:437,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_composite.c:447,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/compositor/mpeg4_composite.c:457,1
    - Dst: gf_sc_texture_set_stencil
      Src: /src/gpac/src/compositor/mpeg4_composite.c:469,1
    - Dst: gf_sc_texture_enable_fbo
      Src: /src/gpac/src/compositor/mpeg4_composite.c:499,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:504,1
    - Dst: gf_get_tinygl_depth
      Src: /src/gpac/src/compositor/mpeg4_composite.c:578,1
    - Dst: gf_sc_copy_to_texture
      Src: /src/gpac/src/compositor/mpeg4_composite.c:562,1
    - Dst: gf_sc_texture_enable_fbo
      Src: /src/gpac/src/compositor/mpeg4_composite.c:556,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/mpeg4_composite.c:355,1
    - Dst: ostgl_delete_context
      Src: /src/gpac/src/compositor/mpeg4_composite.c:373,1
    - Dst: gf_sc_texture_release
      Src: /src/gpac/src/compositor/mpeg4_composite.c:375,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_composite.c:377,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:448,1
    - Dst: ostgl_create_context
      Src: /src/gpac/src/compositor/mpeg4_composite.c:456,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:397,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_composite.c:491,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_composite.c:519,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/mpeg4_composite.c:520,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_composite.c:538,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_composite.c:586,1
    - Dst: visual_draw_frame
      Src: /src/gpac/src/compositor/mpeg4_composite.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:588,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:396,1
    - Dst: gf_sc_texture_setup_fbo
      Src: /src/gpac/src/compositor/mpeg4_composite.c:463,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_composite.c:514,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:520,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:521,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:522,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:539,1
    - Dst: gf_sc_copy_to_texture
      Src: /src/gpac/src/compositor/mpeg4_composite.c:568,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/mpeg4_composite.c:571,1
    - Dst: gf_sc_copy_to_stencil
      Src: /src/gpac/src/compositor/mpeg4_composite.c:575,1
    - Dst: composite_do_bindable
      Src: /src/gpac/src/compositor/mpeg4_composite.c:524,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 257
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 589
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 589
    functionName: composite_update
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_sc_copy_to_texture
    - gf_malloc
    - gf_sc_texture_release
    - memset
    - gf_sc_texture_enable_fbo
    - gf_sc_invalidate
    - gf_sc_texture_allocate
    - gf_get_tinygl_depth
    - GF_LOG
    - INT2FIX
    - gf_sc_texture_get_stencil
    - visual_draw_frame
    - gf_sg_use_pixel_metrics
    - gf_4cc_to_str
    - gf_node_dirty_clear
    - ostgl_create_context
    - MIN
    - composite_do_bindable
    - gf_evg_stencil_set_texture
    - gf_mx2d_init
    - gf_list_count
    - gf_node_dirty_get
    - gf_sc_copy_to_stencil
    - gf_list_get
    - gf_evg_stencil_new
    - gf_cmx_init
    - gf_sc_texture_setup_fbo
    - gf_free
    - ostgl_make_current
    - gf_node_get_private
    - gf_node_get_graph
    - ostgl_delete_context
    - gf_sc_texture_push_image
    - gf_sc_texture_set_stencil
    linkageType: ''
    returnType: void
    signature: 'static void composite_update(GF_TextureHandler *txh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:120,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:135,1
    - Dst: visual_del
      Src: /src/gpac/src/compositor/mpeg4_composite.c:140,1
    - Dst: gf_sc_visual_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:122,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/mpeg4_composite.c:133,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_composite.c:141,1
    - Dst: gf_sc_texture_destroy
      Src: /src/gpac/src/compositor/mpeg4_composite.c:143,1
    - Dst: ostgl_delete_context
      Src: /src/gpac/src/compositor/mpeg4_composite.c:145,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_composite.c:148,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_composite.c:149,1
    - Dst: gf_node_traverse_children
      Src: /src/gpac/src/compositor/mpeg4_composite.c:156,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_composite.c:154,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/mpeg4_composite.c:151,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_composite.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: composite_traverse
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - visual_del
    - gf_node_get_private
    - gf_list_del
    - gf_list_enum
    - gf_node_traverse_children
    - gf_sc_visual_unregister
    - ostgl_delete_context
    - gf_free
    - gf_sc_texture_destroy
    linkageType: ''
    returnType: void
    signature: 'static void composite_traverse(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: composite_release_video_access
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void composite_release_video_access(GF_VisualManager *visual) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_composite.c:619,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:622,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:628,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_composite.c:626,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:633,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:634,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_composite.c:635,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:637,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_composite.c:638,1
    - Dst: visual_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:646,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:653,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_composite.c:659,1
    - Dst: gf_sc_visual_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:660,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:658,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 661
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 661
    functionName: compositor_init_compositetexture2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    - gf_evg_surface_new
    - gf_list_new
    - gf_list_del_item
    - gf_sc_visual_register
    - visual_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_compositetexture2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: compositor_get_composite_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'GF_TextureHandler *compositor_get_composite_texture(GF_Node *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:878,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:884,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:879,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:880,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - composite_appear
    - hdl
    argTypes:
    - GF_Node*
    - GF_SensorHandler*
    constantsTouched: []
    func_position:
      end: 885
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 885
    functionName: compositor_compositetexture_sensor_delete
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_compositetexture_sensor_delete(GF_Node *composite_appear,
      GF_SensorHandler *hdl) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_composite.c:83,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:93,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_composite.c:85,1
    - Dst: compositor_texture_rectangles
      Src: /src/gpac/src/compositor/mpeg4_composite.c:90,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:88,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:104,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/mpeg4_composite.c:111,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 3
    argNames:
    - visual
    - tr_state
    - ctx
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - struct _drawable_context*
    constantsTouched: []
    func_position:
      end: 113
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 113
    functionName: composite2d_draw_bitmap
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - memset
    - gf_node_get_private
    - gf_stretch_bits
    - compositor_texture_rectangles
    linkageType: ''
    returnType: Bool
    signature: 'static Bool composite2d_draw_bitmap(GF_VisualManager *visual, GF_TraverseState
      *tr_state, struct _drawable_context *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:169,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:170,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:188,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:214,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:225,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:226,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:245,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:247,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_composite.c:164,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:173,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:175,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:190,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:198,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:216,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:229,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:231,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:232,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:178,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:185,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:187,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:203,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:194,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:211,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:213,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_composite.c:234,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:242,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:176,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:181,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:182,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:201,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:207,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:208,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_composite.c:238,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/mpeg4_composite.c:239,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:244,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - n
    - tr_state
    - force_check
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 255
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 255
    functionName: composite_do_bindable
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_traverse
    - gf_node_get_tag
    - gf_node_dirty_get
    - gf_node_register
    - gf_node_unregister
    - gf_node_event_out
    linkageType: ''
    returnType: Bool
    signature: 'static Bool composite_do_bindable(GF_Node *n, GF_TraverseState *tr_state,
      Bool force_check) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:596,1
    - Dst: gf_evg_surface_attach_to_texture
      Src: /src/gpac/src/compositor/mpeg4_composite.c:601,1
    - Dst: gf_sc_texture_get_stencil
      Src: /src/gpac/src/compositor/mpeg4_composite.c:599,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: composite_get_video_access
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_attach_to_texture
    - gf_sc_texture_get_stencil
    - gf_node_get_private
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err composite_get_video_access(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: composite_check_visual_attached
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool composite_check_visual_attached(GF_VisualManager *visual) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_get_transform
      Src: /src/gpac/src/compositor/mpeg4_composite.c:754,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_composite.c:766,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:775,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_composite.c:787,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/mpeg4_composite.c:781,1
    - Dst: gf_node_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:803,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_composite.c:813,1
    - Dst: gf_sc_exec_event_vrml
      Src: /src/gpac/src/compositor/mpeg4_composite.c:820,1
    - Dst: visual_execute_event
      Src: /src/gpac/src/compositor/mpeg4_composite.c:822,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_composite.c:834,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:741,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:769,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/mpeg4_composite.c:774,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/mpeg4_composite.c:779,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/mpeg4_composite.c:819,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/mpeg4_composite.c:757,1
    - Dst: compositor_mpeg4_get_sensor_handler_ex
      Src: /src/gpac/src/compositor/mpeg4_composite.c:786,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_composite.c:812,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/mpeg4_composite.c:833,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/compositor/mpeg4_composite.c:866,1
    - Dst: FIX2INT
      Src: /src/gpac/src/compositor/mpeg4_composite.c:765,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/mpeg4_composite.c:774,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_composite.c:776,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 123
    argCount: 4
    argNames:
    - compositor
    - composite_appear
    - ev
    - is_flush
    argTypes:
    - GF_Compositor*
    - GF_Node*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 874
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 874
    functionName: compositor_compositetexture_handle_event
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_mx_apply_vec
    - compositor_mpeg4_get_sensor_handler_ex
    - memset
    - gf_node_get_private
    - gf_sc_exec_event_vrml
    - gf_mx2d_init
    - INT2FIX
    - gf_node_get_graph
    - gf_mx_init
    - gf_sg_use_pixel_metrics
    - FIX2INT
    - gf_sc_texture_get_transform
    - gf_node_register
    - gf_mx_copy
    - gf_node_unregister
    - visual_execute_event
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_compositetexture_handle_event(GF_Compositor *compositor,
      GF_Node *composite_appear, GF_Event *ev, Bool is_flush) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_composite.c:890,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_composite.c:895,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:894,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/mpeg4_composite.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - node
    - sx
    - sy
    argTypes:
    - GF_Node*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: compositor_adjust_scale
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_adjust_scale(GF_Node *node, Fixed *sx, Fixed *sy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_composite.c:910,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/mpeg4_composite.c:917,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - appear
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 923
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 923
    functionName: compositor_is_composite_texture
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool compositor_is_composite_texture(GF_Node *appear) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_check_gl_support
      Src: /src/gpac/src/compositor/mpeg4_composite.c:670,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_composite.c:680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:671,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_composite.c:675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:677,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_composite.c:682,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:686,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:688,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:689,1
    - Dst: gf_sc_texture_setup
      Src: /src/gpac/src/compositor/mpeg4_composite.c:690,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_composite.c:710,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_composite.c:711,1
    - Dst: gf_sc_visual_register
      Src: /src/gpac/src/compositor/mpeg4_composite.c:712,1
    - Dst: camera_invalidate
      Src: /src/gpac/src/compositor/mpeg4_composite.c:714,1
    - Dst: visual_new
      Src: /src/gpac/src/compositor/mpeg4_composite.c:701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/mpeg4_composite.c:693,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/mpeg4_composite.c:692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 715
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 715
    functionName: compositor_init_compositetexture3d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sc_check_gl_support
    - gf_node_set_callback_function
    - GF_LOG
    - camera_invalidate
    - gf_node_set_private
    - gf_sc_texture_setup
    - GF_SAFEALLOC
    - gf_list_new
    - gf_list_del_item
    - gf_sc_visual_register
    - visual_new
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_compositetexture3d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_setup_fbo
      Src: /src/gpac/src/compositor/mpeg4_composite.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fbo
    argTypes:
    - compositor
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/mpeg4_composite.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_setup_fbo
    linkageType: ''
    returnType: else
    signature: 'else if (compositor->gl_caps.fbo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene_node_init.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: TraverseWorldInfo
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void TraverseWorldInfo(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene_node_init.c:65,1
    - Dst: gf_sc_change_key_navigator
      Src: /src/gpac/src/compositor/scene_node_init.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - _route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: on_kn_set_focus
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_sc_change_key_navigator
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void on_kn_set_focus(GF_Node*node, GF_Route *_route) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene_node_init.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: svg_traverse_title
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void svg_traverse_title(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene_node_init.c:295,1
    - Dst: MC_Modified
      Src: /src/gpac/src/compositor/scene_node_init.c:310,1
    - Dst: MS_Modified
      Src: /src/gpac/src/compositor/scene_node_init.c:313,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene_node_init.c:299,1
    - Dst: gf_inline_on_modified
      Src: /src/gpac/src/compositor/scene_node_init.c:305,1
    - Dst: InputSensorModified
      Src: /src/gpac/src/compositor/scene_node_init.c:316,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/scene_node_init.c:324,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 12
    argCount: 2
    argNames:
    - _is
    - node
    argTypes:
    - void*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 327
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 327
    functionName: gf_scene_on_node_modified
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - MS_Modified
    - gf_node_get_tag
    - gf_sc_invalidate
    - gf_inline_on_modified
    - InputSensorModified
    - MC_Modified
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_on_node_modified(void *_is, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene_node_init.c:187,1
    - Dst: evaluate_scene_cap
      Src: /src/gpac/src/compositor/scene_node_init.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - scene
    - node
    argTypes:
    - GF_Scene*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: InitTermCap
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - evaluate_scene_cap
    linkageType: ''
    returnType: void
    signature: 'static void InitTermCap(GF_Scene *scene, GF_Node *node) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:109,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:139,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:147,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:151,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:155,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/compositor/scene_node_init.c:175,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/compositor/scene_node_init.c:163,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene_node_init.c:79,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/src/compositor/scene_node_init.c:136,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/compositor/scene_node_init.c:172,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:143,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/compositor/scene_node_init.c:159,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/compositor/scene_node_init.c:167,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/compositor/scene_node_init.c:117,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/src/compositor/scene_node_init.c:83,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/scene_node_init.c:180,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 88
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 181
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 181
    functionName: evaluate_scene_cap
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_sc_get_fps
    - gf_sys_get_rti
    - gf_sys_get_battery_state
    - gf_sc_get_option
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'void evaluate_scene_cap(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/scene_node_init.c:56,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/compositor/scene_node_init.c:57,1
    - Dst: gf_sc_key_navigator_del
      Src: /src/gpac/src/compositor/scene_node_init.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: TraverseKeyNavigator
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_sc_key_navigator_del
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void TraverseKeyNavigator(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/scene_node_init.c:210,1
    - Dst: gf_init_inline
      Src: /src/gpac/src/compositor/scene_node_init.c:217,1
    - Dst: InitKeySensor
      Src: /src/gpac/src/compositor/scene_node_init.c:247,1
    - Dst: InitTermCap
      Src: /src/gpac/src/compositor/scene_node_init.c:255,1
    - Dst: gf_scene_init_storage
      Src: /src/gpac/src/compositor/scene_node_init.c:259,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/scene_node_init.c:263,1
    - Dst: InitMediaControl
      Src: /src/gpac/src/compositor/scene_node_init.c:222,1
    - Dst: InitMediaSensor
      Src: /src/gpac/src/compositor/scene_node_init.c:225,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene_node_init.c:280,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/scene_node_init.c:268,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/scene_node_init.c:241,1
    - Dst: on_kn_set_focus
      Src: /src/gpac/src/compositor/scene_node_init.c:269,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/scene_node_init.c:279,1
    - Dst: gf_sc_on_node_init
      Src: /src/gpac/src/compositor/scene_node_init.c:285,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/scene_node_init.c:265,1
    - Dst: InitInputSensor
      Src: /src/gpac/src/compositor/scene_node_init.c:228,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene_node_init.c:242,1
    - Dst: InitStringSensor
      Src: /src/gpac/src/compositor/scene_node_init.c:250,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/scene_node_init.c:264,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    argCount: 2
    argNames:
    - _scene
    - node
    argTypes:
    - void*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 288
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 288
    functionName: gf_scene_on_node_init
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - InitInputSensor
    - gf_sys_is_cov_mode
    - gf_node_get_tag
    - gf_node_set_callback_function
    - on_kn_set_focus
    - InitKeySensor
    - InitTermCap
    - gf_sc_on_node_init
    - InitMediaControl
    - gf_node_set_private
    - gf_scene_init_storage
    - InitMediaSensor
    - InitStringSensor
    - gf_init_inline
    linkageType: ''
    returnType: void
    signature: 'void gf_scene_on_node_init(void *_scene, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_node_destroy
      Src: /src/gpac/src/compositor/scene_node_init.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - _is
    - node
    argTypes:
    - void*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: gf_scene_on_node_destroyed
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_sc_node_destroy
    linkageType: ''
    returnType: void
    signature: 'static void gf_scene_on_node_destroyed(void *_is, GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_on_node_modified
      Src: /src/gpac/src/compositor/scene_node_init.c:341,1
    - Dst: gf_mo_event_target_enum_node
      Src: /src/gpac/src/compositor/scene_node_init.c:356,1
    - Dst: gf_scene_on_node_destroyed
      Src: /src/gpac/src/compositor/scene_node_init.c:344,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/scene_node_init.c:357,1
    - Dst: gf_scene_on_node_init
      Src: /src/gpac/src/compositor/scene_node_init.c:347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - _is
    - type
    - n
    - param
    argTypes:
    - void*
    - GF_SGNodeCbkType
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 363
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 363
    functionName: gf_scene_node_callback
    functionSourceFile: /src/gpac/src/compositor/scene_node_init.c
    functionUses: []
    functionsReached:
    - gf_scene_on_node_init
    - gf_mo_event_target_enum_node
    - gf_scene_on_node_destroyed
    - gf_scene_on_node_modified
    - gf_node_dirty_set
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_scene_node_callback(void *_is, GF_SGNodeCbkType
      type, GF_Node *n, void *param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:751,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:765,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:783,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:776,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/visual_manager_3d.c:773,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d.c:797,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_3d.c:727,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/visual_manager_3d.c:746,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/visual_manager_3d.c:774,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:788,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:789,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:767,1
    - Dst: visual_3d_has_alpha
      Src: /src/gpac/src/compositor/visual_manager_3d.c:733,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:729,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager_3d.c:761,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:805,1
    - Dst: visual_3d_set_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:737,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:740,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/visual_manager_3d.c:755,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:757,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:775,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:799,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/compositor/visual_manager_3d.c:801,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - tr_state
    - geometry
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 806
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 806
    functionName: visual_3d_register_context
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_insert
    - visual_3d_has_alpha
    - gf_node_traverse
    - gf_list_get
    - gf_node_get_private
    - gf_list_enum
    - gf_list_count
    - GF_LOG
    - visual_3d_reset_clipper_2d
    - memcpy
    - gf_mx_apply_bbox
    - visual_3d_set_clipper_2d
    - GF_SAFEALLOC
    - gf_list_new
    - gf_assert
    - gf_node_dirty_clear
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_register_context(GF_TraverseState *tr_state, GF_Node
      *geometry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_3d.c:954,1
    - Dst: visual_3d_setup_clipper
      Src: /src/gpac/src/compositor/visual_manager_3d.c:969,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:958,1
    - Dst: visual_3d_setup_traversing_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:964,1
    - Dst: visual_3d_setup
      Src: /src/gpac/src/compositor/visual_manager_3d.c:960,1
    - Dst: visual_3d_init_autostereo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:972,1
    - Dst: visual_3d_init_shaders
      Src: /src/gpac/src/compositor/visual_manager_3d.c:977,1
    - Dst: visual_3d_draw_node
      Src: /src/gpac/src/compositor/visual_manager_3d.c:983,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/visual_manager_3d.c:987,1
    - Dst: gf_sc_traverse_subscene
      Src: /src/gpac/src/compositor/visual_manager_3d.c:989,1
    - Dst: visual_3d_end_auto_stereo_pass
      Src: /src/gpac/src/compositor/visual_manager_3d.c:993,1
    - Dst: visual_3d_draw_node
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1000,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1002,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1002,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - visual
    - root
    - tr_state
    - is_root_visual
    argTypes:
    - GF_VisualManager*
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 1008
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1008
    functionName: visual_3d_draw_frame
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_setup_traversing_state
    - compositor_3d_enable_fbo
    - visual_3d_setup
    - visual_3d_setup_clipper
    - gf_sc_traverse_subscene
    - visual_3d_end_auto_stereo_pass
    - gf_list_enum
    - GF_LOG
    - visual_3d_init_autostereo
    - gf_sys_clock
    - visual_3d_init_shaders
    - visual_3d_draw_node
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_draw_frame(GF_VisualManager *visual, GF_Node *root,
      GF_TraverseState *tr_state, Bool is_root_visual) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1390,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1392,1
    - Dst: gf_bbox_from_rect
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1405,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1419,1
    - Dst: compositor_get_2d_plane_intersection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1415,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1416,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1430,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1453,1
    - Dst: gf_vec_lensq
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1454,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1456,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1482,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1391,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1383,1
    - Dst: gf_bbox_plane_relation
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1407,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1408,1
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1423,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1424,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1420,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1427,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1448,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1463,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1467,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1377,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1399,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1408,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1426,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1408,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1444,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1448,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1456,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1456,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1482,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1466,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1456,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1401,1
    - Dst: gf_mesh_intersect_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1437,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1447,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1456,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1461,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1463,1
    - Dst: compositor_is_composite_texture
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1481,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1481,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1481,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1482,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 129
    argCount: 4
    argNames:
    - n
    - tr_state
    - mesh
    - drawable
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - GF_Mesh*
    - Drawable*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1483
    functionName: visual_3d_vrml_drawable_pick
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_apply_vec
    - memset
    - gf_vec_dot
    - GF_LOG
    - gf_divfix
    - gf_bbox_plane_relation
    - gf_mx_copy
    - FIX2FLT
    - gf_mx_inverse
    - gf_list_count
    - gf_vec_diff
    - gf_mx_apply_ray
    - drawable_get_strikeinfo
    - gf_vec_lensq
    - gf_node_get_class_name
    - drawable_get_aspect_2d_mpeg4
    - gf_list_reset
    - gf_node_get_name
    - gf_list_get
    - gf_bbox_from_rect
    - gf_plane_get_distance
    - compositor_get_2d_plane_intersection
    - compositor_is_composite_texture
    - gf_mesh_intersect_ray
    - gf_path_point_over
    - visual_3d_node_cull
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_vrml_drawable_pick(GF_Node *n, GF_TraverseState *tr_state,
      GF_Mesh *mesh, Drawable *drawable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1731,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1732,1
    - Dst: drawable_check_focus_highlight
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - tr_state
    argTypes:
    - DrawableContext*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1735
    functionName: visual_3d_draw_from_context
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - drawable_check_focus_highlight
    - visual_3d_draw_2d_with_aspect
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw_from_context(DrawableContext *ctx, GF_TraverseState
      *tr_state) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1899,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1907,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1906,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1901,1
    - Dst: gf_sc_texture_is_transparent
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1906,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1916,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1920,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1927,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - tr_state
    - diffuse_alpha
    argTypes:
    - GF_TraverseState*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1937
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1937
    functionName: visual_3d_setup_texture
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_is_transparent
    - gf_sc_texture_set_blend_mode
    - gf_sc_texture_get_handler
    - visual_3d_set_material
    - visual_3d_set_material_2d
    - gf_sc_texture_enable
    - gf_node_dirty_reset
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_setup_texture(GF_TraverseState *tr_state, Fixed diffuse_alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_rect
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2057,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - visual
    - clip
    - mx_at_clipper
    argTypes:
    - GF_VisualManager*
    - GF_Rect
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2060
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2060
    functionName: visual_3d_set_clipper_2d
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_rect
    - gf_rect_pixelize
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_clipper_2d(GF_VisualManager *visual, GF_Rect clip,
      GF_Matrix *mx_at_clipper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - visual
    - p
    - mx_at_clipper
    - is_2d_clip
    argTypes:
    - GF_VisualManager*
    - GF_Plane
    - GF_Matrix*
    - Bool
    constantsTouched: []
    func_position:
      end: 2075
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2075
    functionName: visual_3d_set_clip_plane
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_clip_plane(GF_VisualManager *visual, GF_Plane p,
      GF_Matrix *mx_at_clipper, Bool is_2d_clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - visual
    - material_type
    - rgba
    argTypes:
    - GF_VisualManager*
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2092
    functionName: visual_3d_set_material
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_material(GF_VisualManager *visual, u32 material_type,
      Fixed *rgba) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:818,1
    - Dst: visual_3d_set_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:835,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:868,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d.c:867,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/visual_manager_3d.c:877,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:881,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/compositor/visual_manager_3d.c:823,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:827,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:828,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:869,1
    - Dst: visual_3d_reset_clip_plane
      Src: /src/gpac/src/compositor/visual_manager_3d.c:874,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:845,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/visual_manager_3d.c:861,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:825,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d.c:815,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:830,1
    - Dst: visual_3d_set_clip_plane
      Src: /src/gpac/src/compositor/visual_manager_3d.c:840,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:843,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:855,1
    - Dst: visual_3d_reset_clipper_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:873,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d.c:870,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d.c:878,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 882
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 882
    functionName: visual_3d_flush_contexts
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_get
    - gf_node_traverse
    - visual_3d_reset_clip_plane
    - gf_list_del
    - gf_list_enum
    - gf_list_count
    - gf_mx_add_matrix
    - memcpy
    - visual_3d_reset_clipper_2d
    - visual_3d_set_clipper_2d
    - gf_free
    - gf_mx_copy
    - gf_node_dirty_clear
    - visual_3d_set_clip_plane
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_flush_contexts(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: reset_collide_cursor
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void reset_collide_cursor(GF_Compositor *compositor) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1492,1
    - Dst: camera_get_target_dir
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1520,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1525,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1527,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1537,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1532,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1538,1
    - Dst: gf_mesh_closest_face
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1542,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1545,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1553,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1591,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1591,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1500,1
    - Dst: visual_3d_node_cull
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1511,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1524,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1528,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1531,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1544,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1556,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1559,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1579,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1586,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1587,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1522,1
    - Dst: camera_get_right_dir
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1523,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1530,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1557,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1559,1
    - Dst: gf_mx_apply_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1573,1
    - Dst: gf_mesh_intersect_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1575,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1578,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1580,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1586,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1521,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1535,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1533,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1536,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1554,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1555,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1557,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1559,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1564,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1557,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1564,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1586,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1572,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1564,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1558,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1585,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 98
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1595
    functionName: visual_3d_vrml_drawable_collide
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_node_get_tag
    - GF_LOG
    - gf_vec_norm
    - gf_mesh_closest_face
    - camera_get_target_dir
    - gf_mx_copy
    - FIX2FLT
    - camera_get_right_dir
    - gf_mx_inverse
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_add
    - gf_mx_apply_ray
    - gf_vec_scale
    - gf_node_get_private
    - gf_mesh_intersect_ray
    - gf_log_tool_level_on
    - visual_3d_node_cull
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_vrml_drawable_collide(GF_Node *node, GF_TraverseState
      *tr_state) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1789,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1798,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1799,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1824,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1830,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1836,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1879,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1880,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1756,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1769,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1822,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1820,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1871,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1750,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1788,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1765,1
    - Dst: visual_3d_enable_antialias
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1813,1
    - Dst: visual_3d_set_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1843,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1818,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1857,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1860,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1873,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1797,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1821,1
    - Dst: visual_3d_set_shininess
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1845,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1869,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1872,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 113
    argCount: 3
    argNames:
    - tr_state
    - mesh_type
    - diffuse_alpha
    argTypes:
    - GF_TraverseState*
    - u32
    - Fixed*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1890
    functionName: visual_3d_setup_material
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_blend_mode
    - gf_node_get_tag
    - gf_mulfix
    - visual_3d_enable_antialias
    - visual_3d_set_state
    - gf_sc_texture_get_handler
    - visual_3d_set_material_2d
    - visual_3d_set_shininess
    - gf_cmx_apply_fixed
    - visual_3d_set_material
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool visual_3d_setup_material(GF_TraverseState *tr_state,
      u32 mesh_type, Fixed *diffuse_alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1943,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1947
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1947
    functionName: visual_3d_disable_texture
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_get_handler
    - gf_sc_texture_disable
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_disable_texture(GF_TraverseState *tr_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2065
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2065
    functionName: visual_3d_reset_clipper_2d
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_reset_clipper_2d(GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2081
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2081
    functionName: visual_3d_reset_clip_plane
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_reset_clip_plane(GF_VisualManager *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - visual
    - shininess
    argTypes:
    - GF_VisualManager*
    - Fixed
    constantsTouched: []
    func_position:
      end: 2097
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2097
    functionName: visual_3d_set_shininess
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_shininess(GF_VisualManager *visual, Fixed shininess) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1047,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1071,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1083,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1092,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1127,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1131,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1137,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1132,1
    - Dst: reset_collide_cursor
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1037,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1090,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1092,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1091,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1083,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1095,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1096,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1130,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1131,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1134,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1149,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1048,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1066,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1068,1
    - Dst: fabs
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1087,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1093,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1121,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1121,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1132,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1135,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1036,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1046,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1065,1
    - Dst: ABS
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1088,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1092,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1121,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1128,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1129,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1146,1
    - Dst: reset_collide_cursor
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1144,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 136
    argCount: 3
    argNames:
    - tr_state
    - on_node
    - node_list
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1150
    functionName: visual_3d_check_collisions
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_vec_len
    - reset_collide_cursor
    - gf_vec_diff
    - gf_vec_scale
    - gf_vec_add
    - GF_LOG
    - fabs
    - visual_3d_setup_projection
    - gf_vec_norm
    - ABS
    - FIX2FLT
    - gf_vec_equal
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_check_collisions(GF_TraverseState *tr_state, GF_Node
      *on_node, GF_ChildNodeItem *node_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2160,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - visual
    - ambientIntensity
    - color
    - intensity
    - direction
    - light_mx
    argTypes:
    - GF_VisualManager*
    - Fixed
    - SFColor
    - Fixed
    - SFVec3f
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2171
    functionName: visual_3d_add_directional_light
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - memcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_add_directional_light(GF_VisualManager *visual, Fixed
      ambientIntensity, SFColor color, Fixed intensity, SFVec3f direction, GF_Matrix
      *light_mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/visual_manager_3d.c:37,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d.c:42,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:39,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: drawable_3d_new
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - GF_LOG
    - GF_SAFEALLOC
    - new_mesh
    linkageType: ''
    returnType: Drawable3D*
    signature: 'Drawable3D *drawable_3d_new(GF_Node *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:74,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:83,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:79,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/visual_manager_3d.c:78,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:76,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d.c:84,1
    - Dst: gf_node_traverse_children
      Src: /src/gpac/src/compositor/visual_manager_3d.c:90,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:93,1
    - Dst: visual_3d_draw_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:98,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - node
    - tr_state
    - orig_bounds
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 99
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 99
    functionName: drawable3d_check_focus_highlight
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_node_get_private
    - gf_node_traverse_children
    - visual_3d_draw_bbox
    - drawable_reset_path
    - gf_node_set_private
    - gf_mx_init
    - gf_path_reset
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'void drawable3d_check_focus_highlight(GF_Node *node, GF_TraverseState
      *tr_state, GF_BBox *orig_bounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:463,1
    - Dst: gf_mx_perspective
      Src: /src/gpac/src/compositor/visual_manager_3d.c:469,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:467,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:466,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/visual_manager_3d.c:470,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/compositor/visual_manager_3d.c:473,1
    - Dst: visual_3d_draw_background
      Src: /src/gpac/src/compositor/visual_manager_3d.c:475,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:478,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tr_state
    - layer_type
    argTypes:
    - GF_TraverseState*
    - u32
    constantsTouched: []
    func_position:
      end: 482
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 482
    functionName: visual_3d_draw_background_on_axis
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_projection_matrix_modified
    - gf_mx_perspective
    - gf_divfix
    - gf_mx_lookat
    - gf_mx_copy
    - visual_3d_draw_background
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_background_on_axis(GF_TraverseState *tr_state,
      u32 layer_type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:572,1
    - Dst: visual_3d_enable_depth_buffer
      Src: /src/gpac/src/compositor/visual_manager_3d.c:550,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:569,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:594,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:609,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:623,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/visual_manager_3d.c:629,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/visual_manager_3d.c:643,1
    - Dst: visual_3d_draw_background
      Src: /src/gpac/src/compositor/visual_manager_3d.c:659,1
    - Dst: visual_3d_enable_headlight
      Src: /src/gpac/src/compositor/visual_manager_3d.c:664,1
    - Dst: visual_3d_draw_background_on_axis
      Src: /src/gpac/src/compositor/visual_manager_3d.c:605,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:503,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:534,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:536,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:537,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:595,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/visual_manager_3d.c:600,1
    - Dst: visual_3d_set_scissor
      Src: /src/gpac/src/compositor/visual_manager_3d.c:602,1
    - Dst: visual_3d_draw_background_on_axis
      Src: /src/gpac/src/compositor/visual_manager_3d.c:634,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:638,1
    - Dst: visual_3d_draw_background_on_axis
      Src: /src/gpac/src/compositor/visual_manager_3d.c:646,1
    - Dst: visual_3d_set_scissor
      Src: /src/gpac/src/compositor/visual_manager_3d.c:668,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:495,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:505,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:563,1
    - Dst: camera_animate
      Src: /src/gpac/src/compositor/visual_manager_3d.c:542,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/visual_manager_3d.c:543,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:574,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:564,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:567,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:583,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:584,1
    - Dst: visual_3d_clear_depth
      Src: /src/gpac/src/compositor/visual_manager_3d.c:653,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:504,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:497,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/visual_manager_3d.c:496,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:535,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:593,1
    - Dst: visual_3d_set_viewport
      Src: /src/gpac/src/compositor/visual_manager_3d.c:596,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/visual_manager_3d.c:597,1
    - Dst: visual_3d_set_scissor
      Src: /src/gpac/src/compositor/visual_manager_3d.c:631,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 160
    argCount: 2
    argNames:
    - tr_state
    - layer_type
    argTypes:
    - GF_TraverseState*
    - u32
    constantsTouched: []
    func_position:
      end: 669
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 669
    functionName: visual_3d_init_draw
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - camera_animate
    - visual_3d_clear
    - gf_list_get
    - gf_node_traverse
    - visual_3d_set_scissor
    - gf_mulfix
    - visual_3d_enable_depth_buffer
    - visual_3d_set_viewport
    - INT2FIX
    - FLT2FIX
    - visual_3d_setup_projection
    - Bindable_GetIsBound
    - visual_3d_enable_headlight
    - gf_divfix
    - visual_3d_draw_background_on_axis
    - visual_3d_clear_depth
    - gf_node_dirty_set
    - visual_3d_draw_background
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_init_draw(GF_TraverseState *tr_state, u32 layer_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1604,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1609,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1605,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1608,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1606,1
    - Dst: gf_rect_from_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1614,1
    - Dst: gf_sc_texture_enable_ex
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1615,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1618,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - tr_state
    - asp
    - mesh
    argTypes:
    - GF_TraverseState*
    - DrawAspect2D*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1623
    functionName: visual_3d_setup_texture_2d
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_sc_texture_set_blend_mode
    - gf_sc_texture_enable_ex
    - visual_3d_set_state
    - visual_3d_set_material_2d_argb
    - gf_rect_from_bbox
    - gf_sc_texture_enable
    linkageType: ''
    returnType: GF_TextureHandler*
    signature: 'static GF_TextureHandler *visual_3d_setup_texture_2d(GF_TraverseState
      *tr_state, DrawAspect2D *asp, GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2008
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2008
    functionName: visual_3d_projection_matrix_modified
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_projection_matrix_modified(GF_VisualManager *visual) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 10
    argNames:
    - visual
    - ambientIntensity
    - attenuation
    - beamWidth
    - color
    - cutOffAngle
    - direction
    - intensity
    - location
    - light_mx
    argTypes:
    - GF_VisualManager*
    - Fixed
    - SFVec3f
    - Fixed
    - SFColor
    - Fixed
    - SFVec3f
    - Fixed
    - SFVec3f
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2149
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2149
    functionName: visual_3d_add_spot_light
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_add_spot_light(GF_VisualManager *visual, Fixed ambientIntensity,
      SFVec3f attenuation, Fixed beamWidth, SFColor color, Fixed cutOffAngle, SFVec3f
      direction, Fixed intensity, SFVec3f location, GF_Matrix *light_mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2179
    functionName: visual_3d_remove_last_light
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_remove_last_light(GF_VisualManager *visual) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:48,1
    - Dst: gf_sc_check_focus_upon_destroy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:53,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager_3d.c:51,1
    - Dst: mesh_free
      Src: /src/gpac/src/compositor/visual_manager_3d.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: drawable_3d_del
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - mesh_free
    - gf_sc_check_focus_upon_destroy
    - gf_free
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void drawable_3d_del(GF_Node *n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:114,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:123,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:122,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:121,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/visual_manager_3d.c:114,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:124,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:128,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:129,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:131,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:132,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:143,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:160,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:137,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:151,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:136,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:144,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:157,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 171
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 171
    functionName: visual_3d_setup_traversing_state
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - MIN
    - gf_divfix
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_setup_traversing_state(GF_VisualManager *visual,
      GF_TraverseState *tr_state) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:681,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/visual_manager_3d.c:715,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/visual_manager_3d.c:699,1
    - Dst: gf_sc_texture_get_handler
      Src: /src/gpac/src/compositor/visual_manager_3d.c:706,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:705,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 23
    argCount: 2
    argNames:
    - tr_state
    - geom
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 718
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 718
    functionName: visual_3d_has_alpha
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_get_handler
    - gf_node_get_tag
    - gf_node_get_private
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool visual_3d_has_alpha(GF_TraverseState *tr_state,
      GF_Node *geom) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1631,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1632,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1643,1
    - Dst: visual_3d_set_material_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1642,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1639,1
    - Dst: visual_3d_set_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1645,1
    - Dst: gf_sc_texture_set_blend_mode
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1646,1
    - Dst: gf_sc_texture_enable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1649,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - tr_state
    - asp
    argTypes:
    - GF_TraverseState*
    - DrawAspect2D*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1655
    functionName: visual_3d_set_2d_strike
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_set_blend_mode
    - gf_node_get_tag
    - visual_3d_set_state
    - visual_3d_set_material_2d_argb
    - visual_3d_set_material_2d
    - gf_sc_texture_enable
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_2d_strike(GF_TraverseState *tr_state, DrawAspect2D
      *asp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_add_directional_light
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2025,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - visual
    - bOn
    - cam
    argTypes:
    - GF_VisualManager*
    - Bool
    - GF_Camera*
    constantsTouched: []
    func_position:
      end: 2026
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2026
    functionName: visual_3d_enable_headlight
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_add_directional_light
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_enable_headlight(GF_VisualManager *visual, Bool bOn,
      GF_Camera *cam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2185
    functionName: visual_3d_clear_all_lights
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_clear_all_lights(GF_VisualManager *visual) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_clear_depth
      Src: /src/gpac/src/compositor/visual_manager_3d.c:416,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:422,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:423,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:421,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/visual_manager_3d.c:424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:428,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/visual_manager_3d.c:429,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:430,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:438,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:439,1
    - Dst: visual_3d_clear
      Src: /src/gpac/src/compositor/visual_manager_3d.c:450,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - tr_state
    - layer_type
    argTypes:
    - GF_TraverseState*
    - u32
    constantsTouched: []
    func_position:
      end: 454
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 454
    functionName: visual_3d_draw_background
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_clear
    - gf_list_get
    - gf_node_traverse
    - INT2FIX
    - Bindable_GetIsBound
    - visual_3d_clear_depth
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_background(GF_TraverseState *tr_state,
      u32 layer_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2190,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2192,1
    - Dst: stricmp
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - visual
    - type
    - color
    - density
    - visibility
    argTypes:
    - GF_VisualManager*
    - char*
    - SFColor
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 2197
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2197
    functionName: visual_3d_set_fog
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_fog(GF_VisualManager *visual, const char *type,
      SFColor color, Fixed density, Fixed visibility) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/visual_manager_3d.c:208,1
    - Dst: gf_sg_use_pixel_metrics
      Src: /src/gpac/src/compositor/visual_manager_3d.c:221,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:234,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:225,1
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/visual_manager_3d.c:234,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:264,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:285,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/visual_manager_3d.c:304,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:206,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:208,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/visual_manager_3d.c:205,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/visual_manager_3d.c:224,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:256,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:246,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:264,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:267,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:268,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:271,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/visual_manager_3d.c:274,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/visual_manager_3d.c:221,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d.c:223,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:247,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:246,1
    - Dst: camera_reset_viewpoint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:302,1
    - Dst: gf_tan
      Src: /src/gpac/src/compositor/visual_manager_3d.c:271,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:203,1
    - Dst: MAX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:207,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/compositor/visual_manager_3d.c:226,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:236,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/compositor/visual_manager_3d.c:273,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:286,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/visual_manager_3d.c:303,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 127
    argCount: 7
    argNames:
    - tr_state
    - vp
    - animate_change
    - fieldOfView
    - position
    - orientation
    - local_center
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    - Bool
    - Fixed
    - SFVec3f
    - SFRotation
    - SFVec3f
    constantsTouched: []
    func_position:
      end: 305
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 305
    functionName: visual_3d_viewpoint_change
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_tan
    - gf_mx_apply_vec
    - gf_mx_add_scale
    - gf_muldiv
    - gf_mulfix
    - gf_vec_diff
    - gf_vec_len
    - INT2FIX
    - FLT2FIX
    - gf_sc_invalidate
    - gf_node_get_graph
    - gf_mx_init
    - gf_sg_use_pixel_metrics
    - gf_divfix
    - gf_node_dirty_set
    - camera_reset_viewpoint
    - MAX
    - gf_atan2
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_viewpoint_change(GF_TraverseState *tr_state, GF_Node
      *vp, Bool animate_change, Fixed fieldOfView, SFVec3f position, SFRotation orientation,
      SFVec3f local_center) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_setup_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1953,1
    - Dst: visual_3d_setup_texture
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tr_state
    argTypes:
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1957
    functionName: visual_3d_setup_appearance
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_setup_texture
    - visual_3d_setup_material
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_setup_appearance(GF_TraverseState *tr_state) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:317,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:335,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:319,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/visual_manager_3d.c:318,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:335,1
    - Dst: gf_atan2
      Src: /src/gpac/src/compositor/visual_manager_3d.c:337,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:337,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:343,1
    - Dst: visual_3d_viewpoint_change
      Src: /src/gpac/src/compositor/visual_manager_3d.c:348,1
    - Dst: camera_stop_anim
      Src: /src/gpac/src/compositor/visual_manager_3d.c:351,1
    - Dst: camera_reset_viewpoint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:352,1
    - Dst: gf_sc_fit_world_to_screen
      Src: /src/gpac/src/compositor/visual_manager_3d.c:354,1
    - Dst: camera_update_stereo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:385,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d.c:395,1
    - Dst: visual_3d_projection_matrix_modified
      Src: /src/gpac/src/compositor/visual_manager_3d.c:394,1
    - Dst: camera_update
      Src: /src/gpac/src/compositor/visual_manager_3d.c:388,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/visual_manager_3d.c:356,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 2
    argNames:
    - tr_state
    - is_layer
    argTypes:
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 402
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 402
    functionName: visual_3d_setup_projection
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_traverse
    - gf_sc_invalidate
    - gf_sc_fit_world_to_screen
    - camera_update
    - visual_3d_projection_matrix_modified
    - INT2FIX
    - FLT2FIX
    - Bindable_GetIsBound
    - gf_mx_init
    - camera_update_stereo
    - gf_divfix
    - visual_3d_viewpoint_change
    - camera_stop_anim
    - camera_reset_viewpoint
    - gf_atan2
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_setup_projection(GF_TraverseState *tr_state, Bool is_layer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1977,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1989,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1981,1
    - Dst: visual_3d_setup_material
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1988,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1981,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1967,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1975,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1981,1
    - Dst: visual_3d_setup_appearance
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1991,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1992,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1969,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1979,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1985,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1982,1
    - Dst: visual_3d_disable_texture
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1993,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1996,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1966,1
    - Dst: gf_mx_apply_bbox_4x4
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1971,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1974,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1976,1
    - Dst: gf_irect_intersect
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1984,1
    - Dst: visual_3d_mesh_hatch
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1999,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - tr_state
    - mesh
    argTypes:
    - GF_TraverseState*
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 2003
    functionName: visual_3d_draw
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_rect_center
    - visual_3d_disable_texture
    - gf_node_get_tag
    - gf_irect_intersect
    - gf_mulfix
    - gf_rect_pixelize
    - INT2FIX
    - gf_mx_add_matrix
    - visual_3d_mesh_paint
    - visual_3d_setup_appearance
    - gf_mx_apply_bbox
    - gf_mx_apply_bbox_4x4
    - visual_3d_mesh_hatch
    - visual_3d_setup_material
    - gf_mx_copy
    - gf_irect_union
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw(GF_TraverseState *tr_state, GF_Mesh *mesh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_init_draw
      Src: /src/gpac/src/compositor/visual_manager_3d.c:890,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:900,1
    - Dst: Bindable_GetIsBound
      Src: /src/gpac/src/compositor/visual_manager_3d.c:900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:898,1
    - Dst: visual_3d_check_collisions
      Src: /src/gpac/src/compositor/visual_manager_3d.c:894,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:906,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:911,1
    - Dst: visual_3d_flush_contexts
      Src: /src/gpac/src/compositor/visual_manager_3d.c:914,1
    - Dst: visual_3d_clear_all_lights
      Src: /src/gpac/src/compositor/visual_manager_3d.c:917,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - tr_state
    - root_node
    argTypes:
    - GF_TraverseState*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 918
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 918
    functionName: visual_3d_draw_node
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_traverse
    - visual_3d_init_draw
    - visual_3d_clear_all_lights
    - Bindable_GetIsBound
    - visual_3d_flush_contexts
    - visual_3d_check_collisions
    linkageType: ''
    returnType: void
    signature: 'static void visual_3d_draw_node(GF_TraverseState *tr_state, GF_Node
      *root_node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1198,1
    - Dst: gf_bbox_get_vertices
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1230,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1257,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1200,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1238,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1193,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1250,1
    - Dst: gf_mx_apply_bbox
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1228,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1247,1
    - Dst: gf_bbox_point_inside
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1191,1
    - Dst: gf_mx_apply_bbox_sphere
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1187,1
    - Dst: gf_plane_get_distance
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1250,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1241,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - tr_state
    - bbox
    - skip_near
    argTypes:
    - GF_TraverseState*
    - GF_BBox*
    - Bool
    constantsTouched: []
    func_position:
      end: 1260
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1260
    functionName: visual_3d_node_cull
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_bbox_get_vertices
    - gf_vec_len
    - gf_vec_diff
    - GF_LOG
    - gf_mx_apply_bbox_sphere
    - gf_bbox_point_inside
    - gf_mx_apply_bbox
    - gf_plane_get_distance
    - gf_assert
    - FIX2FLT
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_node_cull(GF_TraverseState *tr_state, GF_BBox *bbox,
      Bool skip_near) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_setup_traversing_state
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1333,1
    - Dst: visual_3d_setup_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1337,1
    - Dst: visual_3d_setup_projection
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1340,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1341,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1341,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1341,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1342,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1342,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1342,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1352,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1356,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1347,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - visual
    - tr_state
    - ev
    - children
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - GF_Event*
    - GF_ChildNodeItem*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1358
    functionName: visual_3d_pick_node
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - visual_3d_setup_traversing_state
    - gf_list_reset
    - gf_node_traverse
    - gf_sg_get_root_node
    - GF_LOG
    - visual_3d_setup_projection
    - visual_3d_setup_ray
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_pick_node(GF_VisualManager *visual, GF_TraverseState
      *tr_state, GF_Event *ev, GF_ChildNodeItem *children) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_setup_texture_2d
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1663,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1673,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1666,1
    - Dst: visual_3d_set_material_2d_argb
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1670,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1671,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1676,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1679,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1687,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1689,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1694,1
    - Dst: gf_sc_texture_disable
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1712,1
    - Dst: mesh_get_outline
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1700,1
    - Dst: visual_3d_mesh_strike
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1707,1
    - Dst: gf_mesh_tesselate_path
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1697,1
    - Dst: visual_3d_set_2d_strike
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1703,1
    - Dst: visual_3d_mesh_paint
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1709,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 3
    argNames:
    - st
    - tr_state
    - asp
    argTypes:
    - Drawable*
    - GF_TraverseState*
    - DrawAspect2D*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1715
    functionName: visual_3d_draw_2d_with_aspect
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mesh_tesselate_path
    - GF_COL_A
    - visual_3d_mesh_strike
    - gf_sc_texture_disable
    - visual_3d_set_material_2d_argb
    - visual_3d_setup_texture_2d
    - new_mesh
    - visual_3d_set_2d_strike
    - visual_3d_mesh_paint
    - drawable_get_strikeinfo
    - mesh_get_outline
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw_2d_with_aspect(Drawable *st, GF_TraverseState
      *tr_state, DrawAspect2D *asp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - visual
    - col
    - alpha
    argTypes:
    - GF_VisualManager*
    - SFColor
    - Fixed
    constantsTouched: []
    func_position:
      end: 2039
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2039
    functionName: visual_3d_set_material_2d
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_material_2d(GF_VisualManager *visual, SFColor col,
      Fixed alpha) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - visual
    - flag_mask
    - setOn
    argTypes:
    - GF_VisualManager*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2104
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2104
    functionName: visual_3d_set_state
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_state(GF_VisualManager *visual, u32 flag_mask,
      Bool setOn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2117
    functionName: visual_3d_has_inactive_light
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_has_inactive_light(GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager_3d.c:925,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:928,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:927,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:925,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:925,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:932,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:933,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager_3d.c:939,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager_3d.c:942,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager_3d.c:942,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/visual_manager_3d.c:948,1
    - Dst: gf_rect_pixelize
      Src: /src/gpac/src/compositor/visual_manager_3d.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - visual
    - tr_state
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 949
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 949
    functionName: visual_3d_setup_clipper
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_rect_center
    - gf_list_get
    - gf_list_count
    - gf_rect_pixelize
    - INT2FIX
    - gf_mx_init
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_setup_clipper(GF_VisualManager *visual, GF_TraverseState
      *tr_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1282,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1283,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1310,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1320,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1268,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1269,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1281,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1283,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1309,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1317,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1307,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1319,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1321,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1275,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1281,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1274,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1283,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1292,1
    - Dst: gf_ray
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1323,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1281,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1284,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1311,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 82
    argCount: 4
    argNames:
    - visual
    - tr_state
    - ix
    - iy
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1328
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1328
    functionName: visual_3d_setup_ray
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec_4x4
    - gf_mulfix
    - INT2FIX
    - gf_divfix
    - gf_ray
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_setup_ray(GF_VisualManager *visual, GF_TraverseState
      *tr_state, s32 ix, s32 iy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2043,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2048,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2048,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2047,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2047,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2049,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2049,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - visual
    - col
    argTypes:
    - GF_VisualManager*
    - u32
    constantsTouched: []
    func_position:
      end: 2052
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2052
    functionName: visual_3d_set_material_2d_argb
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - INT2FIX
    - GF_COL_R
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_material_2d_argb(GF_VisualManager *visual, u32
      col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - visual
    - mx
    argTypes:
    - GF_VisualManager*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2111
    functionName: visual_3d_set_texture_matrix
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - gf_mx_copy
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_set_texture_matrix(GF_VisualManager *visual, GF_Matrix
      *mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/compositor/visual_manager_3d.c:2128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 7
    argNames:
    - visual
    - ambientIntensity
    - attenuation
    - color
    - intensity
    - location
    - light_mx
    argTypes:
    - GF_VisualManager*
    - Fixed
    - SFVec3f
    - SFColor
    - Fixed
    - SFVec3f
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2131
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2131
    functionName: visual_3d_add_point_light
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_3d_add_point_light(GF_VisualManager *visual, Fixed ambientIntensity,
      SFVec3f attenuation, SFColor color, Fixed intensity, SFVec3f location, GF_Matrix
      *light_mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1721,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1723,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/visual_manager_3d.c:1722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - tr_state
    argTypes:
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1724
    functionName: visual_3d_draw_2d
    functionSourceFile: /src/gpac/src/compositor/visual_manager_3d.c
    functionUses: []
    functionsReached:
    - drawable_get_aspect_2d_mpeg4
    - visual_3d_draw_2d_with_aspect
    - memset
    linkageType: ''
    returnType: void
    signature: 'void visual_3d_draw_2d(Drawable *st, GF_TraverseState *tr_state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:41,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:58,1
    - Dst: drawable_reset_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:45,1
    - Dst: gf_node_dirty_clear
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:46,1
    - Dst: drawable_mark_modified
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:47,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:62,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:64,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:67,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:69,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:71,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - node
    - stack
    - tr_state
    argTypes:
    - GF_Node*
    - Drawable*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: ifs2d_check_changes
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_path_close
    - gf_path_add_line_to_vec
    - gf_node_dirty_get
    - drawable_reset_path
    - gf_path_add_move_to_vec
    - gf_node_dirty_clear
    - drawable_mark_modified
    linkageType: ''
    returnType: void
    signature: 'static void ifs2d_check_changes(GF_Node *node, Drawable *stack, GF_TraverseState
      *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:324,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: IFS2D_SetColorIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS2D_SetColorIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:333,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: IFS2D_SetCoordIndex
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void IFS2D_SetCoordIndex(GF_Node *node, GF_Route *route) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:261,1
    - Dst: IFS2D_Draw
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:274,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:282,1
    - Dst: ifs2d_check_changes
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:270,1
    - Dst: drawable_node_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:265,1
    - Dst: mesh_new_ifs2d
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:283,1
    - Dst: memset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:286,1
    - Dst: drawable_get_aspect_2d_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:287,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:288,1
    - Dst: drawable_get_strikeinfo
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:290,1
    - Dst: vrml_drawable_pick
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:303,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:306,1
    - Dst: drawable_init_context_mpeg4
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:313,1
    - Dst: drawable_finalize_sort
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:315,1
    - Dst: mesh_new_ils
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:293,1
    - Dst: visual_3d_draw_2d_with_aspect
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:297,1
    - Dst: visual_3d_mesh_strike
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:295,1
    - Dst: new_mesh
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:292,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 318
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 318
    functionName: TraverseIFS2D
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - GF_COL_A
    - visual_3d_mesh_strike
    - memset
    - gf_node_get_private
    - drawable_finalize_sort
    - ifs2d_check_changes
    - new_mesh
    - mesh_new_ils
    - drawable_init_context_mpeg4
    - drawable_get_strikeinfo
    - IFS2D_Draw
    - drawable_node_del
    - vrml_drawable_pick
    - drawable_get_aspect_2d_mpeg4
    - mesh_new_ifs2d
    - visual_3d_draw_2d_with_aspect
    linkageType: ''
    returnType: void
    signature: 'static void TraverseIFS2D(GF_Node *node, void *rs, Bool is_destroy) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:114,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:101,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:117,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:120,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:133,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:147,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:149,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:150,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:155,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:156,1
    - Dst: gf_evg_stencil_set_vertex_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:224,1
    - Dst: gf_evg_stencil_set_vertex_center
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:234,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:198,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:239,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:100,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:112,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:143,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:175,1
    - Dst: gf_path_close
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:195,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:236,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:227,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:180,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:251,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:114,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:115,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:119,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:149,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:147,1
    - Dst: gf_path_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:126,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:152,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:198,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:208,1
    - Dst: gf_path_del
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:163,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:247,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:112,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:131,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:138,1
    - Dst: visual_2d_draw_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:170,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:183,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:188,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:200,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:241,1
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:234,1
    - Dst: visual_2d_texture_path
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:169,1
    - Dst: gf_evg_stencil_set_vertex_colors
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:225,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 157
    argCount: 2
    argNames:
    - node
    - tr_state
    argTypes:
    - GF_Node*
    - GF_TraverseState*
    constantsTouched: []
    func_position:
      end: 255
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 255
    functionName: IFS2D_Draw
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - gf_path_add_line_to
    - gf_path_add_move_to
    - gf_evg_stencil_set_vertex_path
    - visual_2d_draw_path
    - gf_evg_stencil_new
    - gf_evg_stencil_set_matrix
    - gf_free
    - gf_evg_stencil_set_vertex_colors
    - GF_COL_A
    - gf_evg_stencil_delete
    - gf_path_close
    - gf_path_del
    - gf_path_new
    - gf_evg_stencil_set_vertex_center
    - visual_2d_texture_path
    - gf_path_reset
    linkageType: ''
    returnType: void
    signature: 'static void IFS2D_Draw(GF_Node *node, GF_TraverseState *tr_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawable_stack_new
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:341,1
    - Dst: IFS2D_SetCoordIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:349,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:348,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:343,1
    - Dst: IFS2D_SetColorIndex
      Src: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: compositor_init_indexed_face_set2d
    functionSourceFile: /src/gpac/src/compositor/mpeg4_geometry_ifs2d.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - IFS2D_SetColorIndex
    - gf_node_set_callback_function
    - drawable_stack_new
    - IFS2D_SetCoordIndex
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_indexed_face_set2d(GF_Compositor *compositor,
      GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_speed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stack
    - as
    argTypes:
    - AnimationStreamStack*
    - M_AnimationStream*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: animationstream_get_speed
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_get_speed
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed animationstream_get_speed(AnimationStreamStack *stack,
      M_AnimationStream *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: animationstream_check_url
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:106,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:111,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:108,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - as
    argTypes:
    - AnimationStreamStack*
    - M_AnimationStream*
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: animationstream_activate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_set_speed
    - gf_mo_play
    - animationstream_check_url
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void animationstream_activate(AnimationStreamStack *stack,
      M_AnimationStream *as) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:141,1
    - Dst: animationstream_deactivate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:154,1
    - Dst: animationstream_get_speed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:151,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:147,1
    - Dst: gf_mo_is_done
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:157,1
    - Dst: animationstream_get_loop
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:158,1
    - Dst: gf_mo_restart
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:159,1
    - Dst: gf_mo_should_deactivate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:160,1
    - Dst: animationstream_deactivate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:161,1
    - Dst: animationstream_activate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_TimeNode*
    constantsTouched: []
    func_position:
      end: 170
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 170
    functionName: animationstream_update_time
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - animationstream_activate
    - animationstream_deactivate
    - gf_mo_should_deactivate
    - gf_node_get_private
    - gf_mo_is_done
    - animationstream_get_loop
    - animationstream_get_speed
    - gf_mo_restart
    linkageType: ''
    returnType: void
    signature: 'static void animationstream_update_time(GF_TimeNode *st) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:44,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:51,1
    - Dst: gf_mo_set_flag
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:50,1
    - Dst: gf_sc_unregister_time_node
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:47,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:53,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - node
    - rs
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: animationstream_destroy
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_set_flag
    - gf_mo_stop
    - gf_node_get_private
    - gf_sc_unregister_time_node
    - gf_sg_vrml_mf_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void animationstream_destroy(GF_Node *node, void *rs, Bool
      is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:62,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:69,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:64,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:65,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:63,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:70,1
    - Dst: gf_mo_url_changed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:75,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:76,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:77,1
    - Dst: gf_mo_set_flag
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:80,1
    - Dst: gf_mo_register
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:85,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:91,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:81,1
    - Dst: gf_mo_unregister
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:83,1
    - Dst: gf_mo_set_speed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:89,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - stack
    - as
    argTypes:
    - AnimationStreamStack*
    - M_AnimationStream*
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: animationstream_check_url
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_set_flag
    - gf_mo_stop
    - gf_sc_invalidate
    - gf_mo_play
    - gf_mo_set_speed
    - gf_sg_vrml_mf_reset
    - gf_mo_unregister
    - gf_mo_register
    - gf_mo_url_changed
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void animationstream_check_url(AnimationStreamStack *stack,
      M_AnimationStream *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mo_get_loop
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stack
    - as
    argTypes:
    - AnimationStreamStack*
    - M_AnimationStream*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: animationstream_get_loop
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_get_loop
    linkageType: ''
    returnType: Bool
    signature: 'static Bool animationstream_get_loop(AnimationStreamStack *stack,
      M_AnimationStream *as) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:119,1
    - Dst: gf_mo_url_changed
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:128,1
    - Dst: gf_mo_set_flag
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:129,1
    - Dst: gf_mo_stop
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:130,1
    - Dst: gf_node_event_out
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:125,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - stack
    - as
    argTypes:
    - AnimationStreamStack*
    - M_AnimationStream*
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: animationstream_deactivate
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_mo_set_flag
    - gf_mo_stop
    - gf_sc_invalidate
    - gf_list_count
    - gf_mo_url_changed
    - gf_node_event_out
    linkageType: ''
    returnType: void
    signature: 'static void animationstream_deactivate(AnimationStreamStack *stack,
      M_AnimationStream *as) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:178,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:185,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:188,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - compositor
    - node
    argTypes:
    - GF_Compositor*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: compositor_init_animationstream
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - gf_node_set_callback_function
    - GF_LOG
    - gf_node_set_private
    - gf_sc_register_time_node
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void compositor_init_animationstream(GF_Compositor *compositor, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:196,1
    - Dst: animationstream_check_url
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:204,1
    - Dst: gf_sc_register_time_node
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:207,1
    - Dst: animationstream_update_time
      Src: /src/gpac/src/compositor/mpeg4_animstream.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: compositor_animationstream_modified
    functionSourceFile: /src/gpac/src/compositor/mpeg4_animstream.c
    functionUses: []
    functionsReached:
    - animationstream_update_time
    - animationstream_check_url
    - gf_sc_register_time_node
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'void compositor_animationstream_modified(GF_Node *node) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/svg_external.c:44,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/svg_external.c:59,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/svg_external.c:49,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_external.c:44,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/svg_external.c:47,1
    - Dst: strncmp
      Src: /src/gpac/src/compositor/svg_external.c:65,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/compositor/svg_external.c:66,1
    - Dst: gf_node_store_embedded_data
      Src: /src/gpac/src/compositor/svg_external.c:67,1
    - Dst: gf_strdup
      Src: /src/gpac/src/compositor/svg_external.c:69,1
    - Dst: gf_scene_resolve_xlink
      Src: /src/gpac/src/compositor/svg_external.c:72,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - node
    - mfurl
    argTypes:
    - GF_Node*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: gf_sc_get_mfurl_from_xlink
    functionSourceFile: /src/gpac/src/compositor/svg_external.c
    functionUses: []
    functionsReached:
    - gf_scene_resolve_xlink
    - strncmp
    - gf_strdup
    - gf_node_get_graph
    - gf_node_get_attribute_by_tag
    - gf_sg_get_private
    - gf_sg_vrml_mf_reset
    - gf_node_store_embedded_data
    - GF_SAFEALLOC
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sc_get_mfurl_from_xlink(GF_Node *node, MFURL *mfurl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_external.c:83,1
    - Dst: memset
      Src: /src/gpac/src/compositor/svg_external.c:112,1
    - Dst: gf_sc_get_mfurl_from_xlink
      Src: /src/gpac/src/compositor/svg_external.c:115,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/svg_external.c:84,1
    - Dst: gf_scene_get_media_object_ex
      Src: /src/gpac/src/compositor/svg_external.c:120,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/compositor/svg_external.c:121,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 25
    argCount: 5
    argNames:
    - elt
    - xlinkp
    - syncp
    - use_sync
    - primary_resource
    argTypes:
    - GF_Node*
    - XLinkAttributesPointers*
    - SMILSyncAttributesPointers*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 126
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 126
    functionName: gf_svg_get_subscene
    functionSourceFile: /src/gpac/src/compositor/svg_external.c
    functionUses: []
    functionsReached:
    - gf_sc_get_mfurl_from_xlink
    - memset
    - gf_node_get_graph
    - gf_sg_vrml_mf_reset
    - gf_sg_get_private
    - gf_scene_get_media_object_ex
    linkageType: ''
    returnType: GF_Scene*
    signature: 'static GF_Scene *gf_svg_get_subscene(GF_Node *elt, XLinkAttributesPointers
      *xlinkp, SMILSyncAttributesPointers *syncp, Bool use_sync, Bool primary_resource) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/compositor/svg_external.c:135,1
    - Dst: gf_svg_get_subscene
      Src: /src/gpac/src/compositor/svg_external.c:158,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/compositor/svg_external.c:135,1
    - Dst: gf_mo_play
      Src: /src/gpac/src/compositor/svg_external.c:162,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/compositor/svg_external.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - node
    - primary_resource
    - clipBegin
    - clipEnd
    argTypes:
    - GF_Node*
    - Bool
    - Double
    - Double
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: gf_mo_load_xlink_resource
    functionSourceFile: /src/gpac/src/compositor/svg_external.c
    functionUses: []
    functionsReached:
    - gf_svg_flatten_attributes
    - gf_mo_play
    - gf_node_get_graph
    - gf_sg_get_private
    - gf_svg_get_subscene
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MediaObject *gf_mo_load_xlink_resource(GF_Node *node,
      Bool primary_resource, Double clipBegin, Double clipEnd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/compositor/svg_external.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - node
    - mo
    argTypes:
    - GF_Node*
    - GF_MediaObject*
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: gf_mo_unload_xlink_resource
    functionSourceFile: /src/gpac/src/compositor/svg_external.c
    functionUses: []
    functionsReached:
    - gf_odm_disconnect
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mo_unload_xlink_resource(GF_Node *node, GF_MediaObject
      *mo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/texturing_gl.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: gf_sc_texture_allocate
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_texture_allocate(GF_TextureHandler *txh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_delete_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:146,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/texturing_gl.c:158,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/compositor/texturing_gl.c:148,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/texturing_gl.c:155,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/texturing_gl.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - tx_io
    argTypes:
    - struct __texture_wrapper*
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: release_txio
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_gl_txw_reset
    - compositor_3d_delete_fbo
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void release_txio(struct __texture_wrapper *tx_io) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/texturing_gl.c:345,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/texturing_gl.c:349,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/texturing_gl.c:353,1
    - Dst: gf_sc_texture_check_pause_on_first_load
      Src: /src/gpac/src/compositor/texturing_gl.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 357
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 357
    functionName: gf_sc_texture_disable
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - glDisable
    - gf_sc_texture_check_pause_on_first_load
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_disable(GF_TextureHandler *txh) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/compositor/texturing_gl.c:405,1
    - Dst: gf_get_next_pow2
      Src: /src/gpac/src/compositor/texturing_gl.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:513,1
    - Dst: tx_can_use_rect_ext
      Src: /src/gpac/src/compositor/texturing_gl.c:427,1
    - Dst: gf_get_next_pow2
      Src: /src/gpac/src/compositor/texturing_gl.c:410,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/compositor/texturing_gl.c:513,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/texturing_gl.c:527,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/compositor/texturing_gl.c:529,1
    - Dst: gf_gl_txw_setup
      Src: /src/gpac/src/compositor/texturing_gl.c:538,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 87
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 541
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 541
    functionName: tx_setup_format
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_get_next_pow2
    - gf_filter_pid_get_property
    - tx_can_use_rect_ext
    - GF_LOG
    - gf_gl_txw_setup
    - gf_4cc_to_str
    - gf_node_dirty_set
    linkageType: ''
    returnType: Bool
    signature: 'static Bool tx_setup_format(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: gf_sc_texture_get_gl_id
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_texture_get_gl_id(GF_TextureHandler *txh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/compositor/texturing_gl.c:176,1
    - Dst: release_txio
      Src: /src/gpac/src/compositor/texturing_gl.c:177,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/texturing_gl.c:169,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/texturing_gl.c:172,1
    - Dst: gf_list_add
      Src: /src/gpac/src/compositor/texturing_gl.c:179,1
    - Dst: gf_sc_lock
      Src: /src/gpac/src/compositor/texturing_gl.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 185
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 185
    functionName: gf_sc_texture_release
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_evg_stencil_delete
    - gf_sc_lock
    - release_txio
    - gf_th_id
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_release(GF_TextureHandler *txh) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/compositor/texturing_gl.c:132,1
    - Dst: gf_realloc
      Src: /src/gpac/src/compositor/texturing_gl.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: gf_sc_texture_configure_conversion
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_pixel_get_size_info
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_texture_configure_conversion(GF_TextureHandler *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tx_bind_with_mode
      Src: /src/gpac/src/compositor/texturing_gl.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: tx_bind
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - tx_bind_with_mode
    linkageType: ''
    returnType: void
    signature: 'void tx_bind(GF_TextureHandler *txh) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_parent_count
      Src: /src/gpac/src/compositor/texturing_gl.c:373,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing_gl.c:376,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/texturing_gl.c:379,1
    - Dst: gf_node_get_parent_count
      Src: /src/gpac/src/compositor/texturing_gl.c:381,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing_gl.c:380,1
    - Dst: gf_node_get_parent
      Src: /src/gpac/src/compositor/texturing_gl.c:383,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing_gl.c:384,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing_gl.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - compositor
    - txh
    argTypes:
    - GF_Compositor*
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: tx_can_use_rect_ext
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_node_get_parent_count
    - gf_node_get_parent
    - gf_node_get_tag
    linkageType: ''
    returnType: Bool
    signature: 'Bool tx_can_use_rect_ext(GF_Compositor *compositor, GF_TextureHandler
      *txh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - txh
    - pix_format
    argTypes:
    - GF_TextureHandler*
    - u32*
    constantsTouched: []
    func_position:
      end: 551
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 551
    functionName: gf_sc_texture_get_data
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *gf_sc_texture_get_data(GF_TextureHandler *txh, u32 *pix_format) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:966,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:971,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:968,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/compositor/texturing_gl.c:966,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:973,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:978,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:994,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:995,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:1018,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:1021,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/texturing_gl.c:1026,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/texturing_gl.c:1024,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/texturing_gl.c:1025,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/texturing_gl.c:1028,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1031
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1031
    functionName: gf_sc_copy_to_stencil
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - compositor_3d_enable_fbo
    - glReadPixels
    - GF_LOG
    - memcpy
    - gf_4cc_to_str
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_copy_to_stencil(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:978,1
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:995,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - GF_PIXEL_RGBDS
    argTypes:
    - txh
    constantsTouched: []
    func_position:
      end: 1015
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1015
    functionName: if
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - glReadPixels
    - gf_malloc
    linkageType: ''
    returnType: else
    signature: 'else if (txh->pixelformat==GF_PIXEL_RGBDS) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:260,1
    - Dst: compositor_3d_delete_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:264,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/texturing_gl.c:271,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/compositor/texturing_gl.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: gf_sc_texture_reset
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_gl_txw_reset
    - compositor_3d_delete_fbo
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_reset(GF_TextureHandler *txh) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:601,1
    - Dst: gf_get_next_pow2
      Src: /src/gpac/src/compositor/texturing_gl.c:642,1
    - Dst: gf_get_next_pow2
      Src: /src/gpac/src/compositor/texturing_gl.c:643,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/texturing_gl.c:608,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:644,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:645,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/texturing_gl.c:646,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/texturing_gl.c:647,1
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/texturing_gl.c:649,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:650,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:658,1
    - Dst: memcpy
      Src: /src/gpac/src/compositor/texturing_gl.c:701,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/texturing_gl.c:699,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/texturing_gl.c:706,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/texturing_gl.c:688,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:657,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 163
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 734
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 734
    functionName: gf_sc_texture_convert
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_get_next_pow2
    - INT2FIX
    - gf_stretch_bits
    - memcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_texture_convert(GF_TextureHandler *txh) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/texturing_gl.c:750,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/texturing_gl.c:754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:786,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/compositor/texturing_gl.c:824,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:870,1
    - Dst: gf_gl_txw_upload
      Src: /src/gpac/src/compositor/texturing_gl.c:871,1
    - Dst: gf_mo_get_object_time
      Src: /src/gpac/src/compositor/texturing_gl.c:884,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/compositor/texturing_gl.c:793,1
    - Dst: tx_setup_format
      Src: /src/gpac/src/compositor/texturing_gl.c:838,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:839,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:844,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/texturing_gl.c:852,1
    - Dst: gf_sc_texture_check_pause_on_first_load
      Src: /src/gpac/src/compositor/texturing_gl.c:854,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/compositor/texturing_gl.c:876,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:872,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/compositor/texturing_gl.c:785,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:812,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:846,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/compositor/texturing_gl.c:817,1
    - Dst: gf_sc_texture_get_data
      Src: /src/gpac/src/compositor/texturing_gl.c:849,1
    - Dst: gf_sc_texture_convert
      Src: /src/gpac/src/compositor/texturing_gl.c:829,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/compositor/texturing_gl.c:857,1
    - Dst: tx_bind
      Src: /src/gpac/src/compositor/texturing_gl.c:845,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:885,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/compositor/texturing_gl.c:863,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 110
    argCount: 3
    argNames:
    - txh
    - generate_mipmaps
    - for2d
    argTypes:
    - GF_TextureHandler*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 892
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 892
    functionName: gf_sc_texture_push_image
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_convert
    - tx_setup_format
    - gf_evg_stencil_new
    - gf_gl_txw_upload
    - gf_evg_stencil_set_texture_planes
    - GL_CHECK_ERR
    - GF_LOG
    - gf_gl_txw_reset
    - glTexImage2D
    - glDeleteTextures
    - gf_sys_clock
    - gf_mo_get_object_time
    - GF_SAFEALLOC
    - gf_filter_abort
    - gf_sc_texture_check_pause_on_first_load
    - gf_sc_texture_get_data
    - tx_bind
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_texture_push_image(GF_TextureHandler *txh, Bool generate_mipmaps,
      Bool for2d) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/compositor/texturing_gl.c:1048,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1061,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/compositor/texturing_gl.c:1133,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/texturing_gl.c:1159,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/texturing_gl.c:1161,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/compositor/texturing_gl.c:1071,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1077,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1079,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1085,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1087,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/texturing_gl.c:1128,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1132,1
    - Dst: fabs
      Src: /src/gpac/src/compositor/texturing_gl.c:1133,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1134,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/compositor/texturing_gl.c:1140,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/texturing_gl.c:1142,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:1150,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/texturing_gl.c:1105,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1131,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/texturing_gl.c:1105,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1112,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/texturing_gl.c:1122,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1062,1
    - Dst: gf_mo_get_nb_views
      Src: /src/gpac/src/compositor/texturing_gl.c:1067,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1095,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/compositor/texturing_gl.c:1105,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1097,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/compositor/texturing_gl.c:1136,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/texturing_gl.c:1139,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 4
    argNames:
    - txh
    - tx_transform
    - mx
    - for_picking
    argTypes:
    - GF_TextureHandler*
    - GF_Node*
    - GF_Matrix*
    - Bool
    constantsTouched: []
    func_position:
      end: 1173
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1173
    functionName: gf_sc_texture_get_transform
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - gf_mx2d_add_translation
    - gf_node_get_tag
    - memset
    - gf_mx_add_scale
    - fabs
    - gf_mx2d_init
    - INT2FIX
    - gf_mx2d_add_scale
    - gf_mx_add_matrix
    - gf_mx_init
    - gf_mo_get_nb_views
    - gf_mx_copy
    - gf_mx2d_add_rotation
    - gf_mx_add_translation
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_texture_get_transform(GF_TextureHandler *txh, GF_Node *tx_transform,
      GF_Matrix *mx, Bool for_picking) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: gf_sc_texture_get_stencil
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'GF_EVGStencil * gf_sc_texture_get_stencil(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/compositor/texturing_gl.c:945,1
    - Dst: glBindTexture
      Src: /src/gpac/src/compositor/texturing_gl.c:948,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - txh
    - enable
    argTypes:
    - GF_TextureHandler*
    - Bool
    constantsTouched: []
    func_position:
      end: 950
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 950
    functionName: gf_sc_texture_enable_fbo
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - GL_CHECK_ERR
    - glBindFramebuffer
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_enable_fbo(GF_TextureHandler *txh, Bool enable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/compositor/texturing_gl.c:1185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: gf_sc_texture_is_transparent
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_texture_is_transparent(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - txh
    - stencil
    argTypes:
    - GF_TextureHandler*
    - GF_EVGStencil*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1300
    functionName: gf_sc_texture_set_stencil
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_set_stencil(GF_TextureHandler *txh, GF_EVGStencil
      * stencil) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/texturing_gl.c:189,1
    - Dst: gf_list_last
      Src: /src/gpac/src/compositor/texturing_gl.c:190,1
    - Dst: release_txio
      Src: /src/gpac/src/compositor/texturing_gl.c:193,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/compositor/texturing_gl.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: gf_sc_texture_cleanup_hw
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_count
    - gf_list_last
    - release_txio
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_cleanup_hw(GF_Compositor *compositor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tx_setup_format
      Src: /src/gpac/src/compositor/texturing_gl.c:907,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:914,1
    - Dst: tx_bind
      Src: /src/gpac/src/compositor/texturing_gl.c:912,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:910,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/texturing_gl.c:917,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/texturing_gl.c:918,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/texturing_gl.c:919,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/compositor/texturing_gl.c:920,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/compositor/texturing_gl.c:921,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:923,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:927,1
    - Dst: glDisable
      Src: /src/gpac/src/compositor/texturing_gl.c:930,1
    - Dst: compositor_3d_enable_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:925,1
    - Dst: glCopyTexImage2D
      Src: /src/gpac/src/compositor/texturing_gl.c:926,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 933
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 933
    functionName: gf_sc_copy_to_texture
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - compositor_3d_enable_fbo
    - tx_setup_format
    - glTexParameteri
    - glPixelStorei
    - glDisable
    - GL_CHECK_ERR
    - glCopyTexImage2D
    - tx_bind
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_copy_to_texture(GF_TextureHandler *txh) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: glGetError
      Src: /src/gpac/src/compositor/texturing_gl.c:1233,1
    - Dst: visual_3d_check_program_exists
      Src: /src/gpac/src/compositor/texturing_gl.c:1259,1
    - Dst: visual_3d_set_texture_matrix
      Src: /src/gpac/src/compositor/texturing_gl.c:1246,1
    - Dst: gf_rmt_end_gl
      Src: /src/gpac/src/compositor/texturing_gl.c:1271,1
    - Dst: gf_sc_texture_needs_reload
      Src: /src/gpac/src/compositor/texturing_gl.c:1222,1
    - Dst: compositor_gradient_update
      Src: /src/gpac/src/compositor/texturing_gl.c:1223,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/texturing_gl.c:1240,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/compositor/texturing_gl.c:1263,1
    - Dst: gf_sc_texture_push_image
      Src: /src/gpac/src/compositor/texturing_gl.c:1231,1
    - Dst: gf_rmt_begin_gl
      Src: /src/gpac/src/compositor/texturing_gl.c:1229,1
    - Dst: visual_3d_set_texture_matrix
      Src: /src/gpac/src/compositor/texturing_gl.c:1251,1
    - Dst: visual_3d_set_texture_matrix
      Src: /src/gpac/src/compositor/texturing_gl.c:1249,1
    - Dst: gf_sc_texture_get_transform
      Src: /src/gpac/src/compositor/texturing_gl.c:1248,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/texturing_gl.c:1230,1
    - Dst: gf_rmt_end_gl
      Src: /src/gpac/src/compositor/texturing_gl.c:1232,1
    - Dst: gf_rmt_begin_gl
      Src: /src/gpac/src/compositor/texturing_gl.c:1239,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/compositor/texturing_gl.c:1245,1
    - Dst: tx_bind_with_mode
      Src: /src/gpac/src/compositor/texturing_gl.c:1264,1
    - Dst: glUseProgram
      Src: /src/gpac/src/compositor/texturing_gl.c:1262,1
    - Dst: tx_bind
      Src: /src/gpac/src/compositor/texturing_gl.c:1268,1
    - Dst: glGetError
      Src: /src/gpac/src/compositor/texturing_gl.c:1272,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 3
    argNames:
    - txh
    - tx_transform
    - bounds
    argTypes:
    - GF_TextureHandler*
    - GF_Node*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1275
    functionName: gf_sc_texture_enable_ex
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - glUseProgram
    - compositor_gradient_update
    - GL_CHECK_ERR
    - visual_3d_check_program_exists
    - tx_bind_with_mode
    - gf_sc_texture_push_image
    - visual_3d_set_texture_matrix
    - gf_rmt_begin_gl
    - gf_sc_texture_needs_reload
    - gf_sc_texture_get_transform
    - glGetError
    - gf_rmt_end_gl
    - tx_bind
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_texture_enable_ex(GF_TextureHandler *txh, GF_Node *tx_transform,
      GF_Rect *bounds) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:211,1
    - Dst: memset
      Src: /src/gpac/src/compositor/texturing_gl.c:212,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/compositor/texturing_gl.c:233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/texturing_gl.c:235,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/compositor/texturing_gl.c:235,1
    - Dst: gf_gl_txw_upload
      Src: /src/gpac/src/compositor/texturing_gl.c:245,1
    - Dst: gf_sc_texture_release_stream
      Src: /src/gpac/src/compositor/texturing_gl.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 254
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 254
    functionName: gf_sc_texture_set_data
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - memset
    - gf_gl_txw_upload
    - gf_error_to_string
    - GF_LOG
    - gf_stretch_bits
    - gf_sc_texture_release_stream
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_texture_set_data(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compositor_3d_setup_fbo
      Src: /src/gpac/src/compositor/texturing_gl.c:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: gf_sc_texture_setup_fbo
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - compositor_3d_setup_fbo
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sc_texture_setup_fbo(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_texture_enable_ex
      Src: /src/gpac/src/compositor/texturing_gl.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - txh
    - tx_transform
    argTypes:
    - GF_TextureHandler*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1280
    functionName: gf_sc_texture_enable
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_sc_texture_enable_ex
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_texture_enable(GF_TextureHandler *txh, GF_Node *tx_transform) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/texturing_gl.c:1312,1
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/texturing_gl.c:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - txh
    - do_freeze
    argTypes:
    - GF_TextureHandler*
    - Bool
    constantsTouched: []
    func_position:
      end: 1320
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1320
    functionName: gf_sc_texture_check_pause_on_first_load
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_sc_ar_control
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_check_pause_on_first_load(GF_TextureHandler *txh,
      Bool do_freeze) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - txh
    - mode
    argTypes:
    - GF_TextureHandler*
    - u32
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: gf_sc_texture_set_blend_mode
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_texture_set_blend_mode(GF_TextureHandler *txh, u32 mode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: glEnable
      Src: /src/gpac/src/compositor/texturing_gl.c:295,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/texturing_gl.c:303,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/texturing_gl.c:299,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:300,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:304,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/texturing_gl.c:307,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:309,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:311,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:317,1
    - Dst: GLTEXENV
      Src: /src/gpac/src/compositor/texturing_gl.c:319,1
    - Dst: glEnable
      Src: /src/gpac/src/compositor/texturing_gl.c:324,1
    - Dst: gf_gl_txw_bind
      Src: /src/gpac/src/compositor/texturing_gl.c:329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 5
    argNames:
    - txh
    - transparent
    - blend_mode
    - no_bind
    - glsl_prog_id
    argTypes:
    - GF_TextureHandler*
    - Bool
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 331
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 331
    functionName: tx_bind_with_mode
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - gf_gl_txw_bind
    - glEnable
    - GLTEXENV
    linkageType: ''
    returnType: void
    signature: 'void tx_bind_with_mode(GF_TextureHandler *txh, Bool transparent, u32
      blend_mode, Bool no_bind, u32 glsl_prog_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glReadPixels
      Src: /src/gpac/src/compositor/texturing_gl.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: gf_get_tinygl_depth
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached:
    - glReadPixels
    linkageType: ''
    returnType: void
    signature: 'void gf_get_tinygl_depth(GF_TextureHandler *txh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - txh
    argTypes:
    - GF_TextureHandler*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1288
    functionName: gf_sc_texture_needs_reload
    functionSourceFile: /src/gpac/src/compositor/texturing_gl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sc_texture_needs_reload(GF_TextureHandler *txh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/compositor/visual_manager.c:44,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:54,1
    - Dst: ra_init
      Src: /src/gpac/src/compositor/visual_manager.c:52,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/visual_manager.c:46,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:55,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/compositor/visual_manager.c:58,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/compositor/visual_manager.c:64,1
    - Dst: visual_draw_bitmap_stub
      Src: /src/gpac/src/compositor/visual_manager.c:65,1
    - Dst: visual_reset_graphics
      Src: /src/gpac/src/compositor/visual_manager.c:66,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:73,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:77,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:76,1
    - Dst: gf_list_new
      Src: /src/gpac/src/compositor/visual_manager.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - compositor
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: visual_new
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_evg_stencil_new
    - GF_LOG
    - visual_draw_bitmap_stub
    - GF_SAFEALLOC
    - gf_list_new
    - ra_init
    - visual_reset_graphics
    linkageType: ''
    returnType: GF_VisualManager*
    signature: 'GF_VisualManager *visual_new(GF_Compositor *compositor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager.c:132,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager.c:147,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager.c:141,1
    - Dst: INT2FIX
      Src: /src/gpac/src/compositor/visual_manager.c:133,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager.c:142,1
    - Dst: gf_divfix
      Src: /src/gpac/src/compositor/visual_manager.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - tr_state
    - surf_width
    - surf_height
    argTypes:
    - GF_TraverseState*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: visual_get_size_info
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - INT2FIX
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_get_size_info(GF_TraverseState *tr_state, Fixed *surf_width,
      Fixed *surf_height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_draw_frame
      Src: /src/gpac/src/compositor/visual_manager.c:197,1
    - Dst: visual_2d_draw_frame
      Src: /src/gpac/src/compositor/visual_manager.c:204,1
    - Dst: visual_3d_clean_state
      Src: /src/gpac/src/compositor/visual_manager.c:202,1
    - Dst: visual_clean_contexts
      Src: /src/gpac/src/compositor/visual_manager.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - visual
    - root
    - tr_state
    - is_root_visual
    argTypes:
    - GF_VisualManager*
    - GF_Node*
    - GF_TraverseState*
    - Bool
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: visual_draw_frame
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - visual_3d_draw_frame
    - visual_2d_draw_frame
    - visual_3d_clean_state
    - visual_clean_contexts
    linkageType: ''
    returnType: Bool
    signature: 'Bool visual_draw_frame(GF_VisualManager *visual, GF_Node *root, GF_TraverseState
      *tr_state, Bool is_root_visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - visual
    - tr_state
    - ctx
    argTypes:
    - GF_VisualManager*
    - GF_TraverseState*
    - struct _drawable_context*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: visual_draw_bitmap_stub
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool visual_draw_bitmap_stub(GF_VisualManager *visual, GF_TraverseState
      *tr_state, struct _drawable_context *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ra_del
      Src: /src/gpac/src/compositor/visual_manager.c:85,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager.c:100,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/compositor/visual_manager.c:87,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/compositor/visual_manager.c:89,1
    - Dst: DeleteDrawableContext
      Src: /src/gpac/src/compositor/visual_manager.c:95,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/visual_manager.c:104,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/visual_manager.c:105,1
    - Dst: visual_3d_reset_graphics
      Src: /src/gpac/src/compositor/visual_manager.c:109,1
    - Dst: ra_del
      Src: /src/gpac/src/compositor/visual_manager.c:110,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/visual_manager.c:113,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/visual_manager.c:118,1
    - Dst: gf_list_del
      Src: /src/gpac/src/compositor/visual_manager.c:117,1
    - Dst: BindableStackDelete
      Src: /src/gpac/src/compositor/visual_manager.c:114,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/visual_manager.c:120,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: visual_del
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_delete
    - gf_list_del
    - gf_evg_surface_delete
    - ra_del
    - DeleteDrawableContext
    - BindableStackDelete
    - gf_free
    - visual_3d_reset_graphics
    linkageType: ''
    returnType: void
    signature: 'void visual_del(GF_VisualManager *visual) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/compositor/visual_manager.c:164,1
    - Dst: gf_list_count
      Src: /src/gpac/src/compositor/visual_manager.c:179,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/compositor/visual_manager.c:185,1
    - Dst: gf_list_get
      Src: /src/gpac/src/compositor/visual_manager.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 191
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 191
    functionName: visual_clean_contexts
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_node_dirty_reset
    linkageType: ''
    returnType: void
    signature: 'void visual_clean_contexts(GF_VisualManager *visual) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/visual_manager.c:216,1
    - Dst: gf_sc_get_nodes_bounds
      Src: /src/gpac/src/compositor/visual_manager.c:219,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager.c:244,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager.c:227,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/visual_manager.c:294,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/compositor/visual_manager.c:277,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/compositor/visual_manager.c:290,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/visual_manager.c:303,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager.c:254,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/visual_manager.c:280,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/visual_manager.c:268,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager.c:240,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager.c:287,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager.c:281,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/compositor/visual_manager.c:275,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/compositor/visual_manager.c:295,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/compositor/visual_manager.c:301,1
    - Dst: gf_rect_center
      Src: /src/gpac/src/compositor/visual_manager.c:245,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/compositor/visual_manager.c:253,1
    - Dst: gf_node_traverse
      Src: /src/gpac/src/compositor/visual_manager.c:260,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/compositor/visual_manager.c:263,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/compositor/visual_manager.c:267,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 4
    argNames:
    - self
    - children
    - tr_state
    - child_idx
    argTypes:
    - GF_Node*
    - GF_ChildNodeItem*
    - GF_TraverseState*
    - s32*
    constantsTouched: []
    func_position:
      end: 306
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 306
    functionName: gf_sc_get_nodes_bounds
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - gf_node_traverse
    - gf_rect_center
    - gf_node_get_tag
    - gf_sc_get_nodes_bounds
    - gf_mx2d_apply_rect
    - gf_mx2d_pre_multiply
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_rect_union
    - gf_node_get_attribute_by_tag
    - gf_mx2d_copy
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_get_nodes_bounds(GF_Node *self, GF_ChildNodeItem *children,
      GF_TraverseState *tr_state, s32 *child_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visual_3d_reset_graphics
      Src: /src/gpac/src/compositor/visual_manager.c:313,1
    - Dst: compositor_2d_reset_gl_auto
      Src: /src/gpac/src/compositor/visual_manager.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - visual
    argTypes:
    - GF_VisualManager*
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: visual_reset_graphics
    functionSourceFile: /src/gpac/src/compositor/visual_manager.c
    functionUses: []
    functionsReached:
    - visual_3d_reset_graphics
    - compositor_2d_reset_gl_auto
    linkageType: ''
    returnType: void
    signature: 'void visual_reset_graphics(GF_VisualManager *visual) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:225,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ar
    - Balance
    argTypes:
    - GF_AudioRenderer*
    - u32
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: gf_sc_ar_set_pan
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_set_pan(GF_AudioRenderer *ar, u32 Balance) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:421,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:423,1
    - Dst: gf_ar_pause
      Src: /src/gpac/src/compositor/audio_render.c:433,1
    - Dst: gf_ar_pause
      Src: /src/gpac/src/compositor/audio_render.c:427,1
    - Dst: gf_ar_setup_output_format
      Src: /src/gpac/src/compositor/audio_render.c:430,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:436,1
    - Dst: gf_ar_send_packets
      Src: /src/gpac/src/compositor/audio_render.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 439
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 439
    functionName: gf_sc_ar_send_or_reconfig
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_mixer_lock
    - GF_LOG
    - gf_ar_setup_output_format
    - gf_ar_pause
    - gf_ar_send_packets
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_send_or_reconfig(GF_AudioRenderer *ar) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/compositor/audio_render.c:32,1
    - Dst: gf_assert
      Src: /src/gpac/src/compositor/audio_render.c:33,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:38,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: gf_ar_rcfg_done
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_pck_get_data
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void gf_ar_rcfg_done(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_remove_all
      Src: /src/gpac/src/compositor/audio_render.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: gf_sc_ar_reset
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_mixer_remove_all
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_reset(GF_AudioRenderer *ar) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/compositor/audio_render.c:86,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/compositor/audio_render.c:73,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:95,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:100,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/compositor/audio_render.c:112,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/compositor/audio_render.c:92,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:99,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:97,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:98,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:96,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:101,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:92,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:95,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:100,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/compositor/audio_render.c:116,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/compositor/audio_render.c:56,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/compositor/audio_render.c:57,1
    - Dst: gf_mixer_get_config
      Src: /src/gpac/src/compositor/audio_render.c:64,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:96,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:98,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:97,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/compositor/audio_render.c:99,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:101,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/src/compositor/audio_render.c:103,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/src/compositor/audio_render.c:115,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 120
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 120
    functionName: gf_ar_setup_output_format
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_max_buffer
    - gf_mixer_get_config
    - PROP_LONGUINT
    - gf_filter_pck_set_readonly
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_audio_fmt_name
    - gf_filter_pck_send
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_mixer_set_config
    - gf_audio_fmt_get_layout_from_cicp
    - gf_audio_fmt_get_cicp_layout
    - gf_filter_pck_new_shared
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_ar_setup_output_format(GF_AudioRenderer *ar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ar_pause
      Src: /src/gpac/src/compositor/audio_render.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ar
    - PauseType
    argTypes:
    - GF_AudioRenderer*
    - u32
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: gf_sc_ar_control
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_ar_pause
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_control(GF_AudioRenderer *ar, u32 PauseType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/compositor/audio_render.c:156,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/audio_render.c:163,1
    - Dst: gf_mixer_new
      Src: /src/gpac/src/compositor/audio_render.c:161,1
    - Dst: MIN
      Src: /src/gpac/src/compositor/audio_render.c:164,1
    - Dst: memset
      Src: /src/gpac/src/compositor/audio_render.c:157,1
    - Dst: gf_ar_setup_output_format
      Src: /src/gpac/src/compositor/audio_render.c:166,1
    - Dst: gf_mixer_set_max_speed
      Src: /src/gpac/src/compositor/audio_render.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - compositor
    - init_flags
    argTypes:
    - GF_Compositor*
    - u32
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: gf_sc_ar_load
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - MIN
    - memset
    - gf_mixer_new
    - gf_mixer_set_max_speed
    - gf_ar_setup_output_format
    linkageType: ''
    returnType: GF_AudioRenderer*
    signature: 'GF_AudioRenderer *gf_sc_ar_load(GF_Compositor *compositor, u32 init_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:177,1
    - Dst: gf_sc_ar_control
      Src: /src/gpac/src/compositor/audio_render.c:179,1
    - Dst: gf_free
      Src: /src/gpac/src/compositor/audio_render.c:182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:183,1
    - Dst: gf_mixer_del
      Src: /src/gpac/src/compositor/audio_render.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: gf_sc_ar_del
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_mixer_del
    - GF_LOG
    - gf_sc_ar_control
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_del(GF_AudioRenderer *ar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ar
    - video_ts
    argTypes:
    - GF_AudioRenderer*
    - u32
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: gf_sc_ar_update_video_clock
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_update_video_clock(GF_AudioRenderer *ar, u32 video_ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:211,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ar
    - Volume
    argTypes:
    - GF_AudioRenderer*
    - u32
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: gf_sc_ar_set_volume
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_set_volume(GF_AudioRenderer *ar, u32 Volume) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compositor_setup_aout
      Src: /src/gpac/src/compositor/audio_render.c:236,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:240,1
    - Dst: gf_mixer_add_input
      Src: /src/gpac/src/compositor/audio_render.c:241,1
    - Dst: gf_mixer_reconfig
      Src: /src/gpac/src/compositor/audio_render.c:243,1
    - Dst: gf_mixer_empty
      Src: /src/gpac/src/compositor/audio_render.c:246,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/audio_render.c:248,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/audio_render.c:249,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ar
    - source
    argTypes:
    - GF_AudioRenderer*
    - GF_AudioInterface*
    constantsTouched: []
    func_position:
      end: 254
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 254
    functionName: gf_sc_ar_add_src
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_mixer_lock
    - compositor_setup_aout
    - gf_mixer_reconfig
    - gf_mixer_empty
    - gf_mixer_add_input
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_add_src(GF_AudioRenderer *ar, GF_AudioInterface *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:273,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ar
    - priority
    argTypes:
    - GF_AudioRenderer*
    - u32
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: gf_sc_ar_set_priority
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_set_priority(GF_AudioRenderer *ar, u32 priority) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/compositor/audio_render.c:285,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/compositor/audio_render.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: gf_ar_pck_done
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_udta
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: void
    signature: 'static void gf_ar_pck_done(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: gf_sc_ar_get_delay
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_ar_get_delay(GF_AudioRenderer *ar) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:125,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/audio_render.c:131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:133,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/audio_render.c:128,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/audio_render.c:130,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/audio_render.c:133,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/audio_render.c:139,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/audio_render.c:141,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/audio_render.c:144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:145,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/audio_render.c:145,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - ar
    - DoFreeze
    - for_reconfig
    - reset_hw_buffer
    argTypes:
    - GF_AudioRenderer*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: gf_ar_pause
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_mixer_lock
    - GF_LOG
    - gf_sys_clock_high_res
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void gf_ar_pause(GF_AudioRenderer *ar, Bool DoFreeze, Bool
      for_reconfig, Bool reset_hw_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/compositor/audio_render.c:217,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/compositor/audio_render.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ar
    - mute
    argTypes:
    - GF_AudioRenderer*
    - Bool
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: gf_sc_ar_mute
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_mute(GF_AudioRenderer *ar, Bool mute) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mixer_remove_input
      Src: /src/gpac/src/compositor/audio_render.c:259,1
    - Dst: gf_mixer_empty
      Src: /src/gpac/src/compositor/audio_render.c:260,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/compositor/audio_render.c:263,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/compositor/audio_render.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ar
    - source
    argTypes:
    - GF_AudioRenderer*
    - GF_AudioInterface*
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: gf_sc_ar_remove_src
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - gf_mixer_remove_input
    - gf_mixer_empty
    linkageType: ''
    returnType: void
    signature: 'void gf_sc_ar_remove_src(GF_AudioRenderer *ar, GF_AudioInterface *source) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/compositor/audio_render.c:333,1
    - Dst: gf_filter_pck_new_alloc_destructor
      Src: /src/gpac/src/compositor/audio_render.c:336,1
    - Dst: gf_mixer_get_output
      Src: /src/gpac/src/compositor/audio_render.c:358,1
    - Dst: gf_mixer_buffering
      Src: /src/gpac/src/compositor/audio_render.c:383,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/compositor/audio_render.c:395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:314,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/src/compositor/audio_render.c:341,1
    - Dst: gf_mixer_is_eos
      Src: /src/gpac/src/compositor/audio_render.c:367,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/compositor/audio_render.c:373,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/compositor/audio_render.c:377,1
    - Dst: gf_mixer_buffering
      Src: /src/gpac/src/compositor/audio_render.c:366,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/compositor/audio_render.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/compositor/audio_render.c:399,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/compositor/audio_render.c:372,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/compositor/audio_render.c:396,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/compositor/audio_render.c:298,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:357,1
    - Dst: gf_mixer_lock
      Src: /src/gpac/src/compositor/audio_render.c:359,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/compositor/audio_render.c:398,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/compositor/audio_render.c:402,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 108
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 414
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 414
    functionName: gf_ar_send_packets
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached:
    - gf_filter_get_clock_hint
    - gf_filter_pck_set_sap
    - gf_mixer_lock
    - GF_LOG
    - gf_filter_pck_truncate
    - gf_mixer_get_output
    - gf_filter_pck_discard
    - gf_filter_pid_set_eos
    - gf_filter_pck_set_cts
    - gf_filter_pck_new_alloc_destructor
    - gf_sys_clock_high_res
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_mixer_buffering
    - gf_filter_pck_set_duration
    - gf_mixer_is_eos
    linkageType: ''
    returnType: void
    signature: 'void gf_ar_send_packets(GF_AudioRenderer *ar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ar
    argTypes:
    - GF_AudioRenderer*
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: gf_sc_ar_get_clock
    functionSourceFile: /src/gpac/src/compositor/audio_render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sc_ar_get_clock(GF_AudioRenderer *ar) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3243,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3251,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:3252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - lsr
    - coord
    - skipable
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 3253
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3253
    functionName: lsr_read_coordinate
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_coordinate(GF_LASeRCodec *lsr, SVG_Number *coord,
      Bool skipable, const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:513,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:516,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:519,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:523,1
    - Dst: lsr_read_vluimsbf8
      Src: /src/gpac/src/laser/lsr_dec.c:514,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:528,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:532,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:541,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - lsr
    - str
    - name
    argTypes:
    - GF_LASeRCodec*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 542
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 542
    functionName: lsr_read_byte_align_string
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - lsr_read_vluimsbf8
    - gf_bs_read_int
    - GF_LOG
    - gf_bs_available
    - gf_bs_align
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_byte_align_string(GF_LASeRCodec *lsr, char **str,
      const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3540,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3543,1
    - Dst: lsr_read_anim_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3552,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:3550,1
    - Dst: lsr_read_rotate_type
      Src: /src/gpac/src/laser/lsr_dec.c:3561,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3564,1
    - Dst: lsr_read_group_content_post_init
      Src: /src/gpac/src/laser/lsr_dec.c:3570,1
    - Dst: lsr_read_calc_mode
      Src: /src/gpac/src/laser/lsr_dec.c:3544,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3547,1
    - Dst: lsr_read_attribute_type
      Src: /src/gpac/src/laser/lsr_dec.c:3549,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3551,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:3555,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3539,1
    - Dst: lsr_read_additive
      Src: /src/gpac/src/laser/lsr_dec.c:3542,1
    - Dst: lsr_read_anim_values
      Src: /src/gpac/src/laser/lsr_dec.c:3548,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3554,1
    - Dst: lsr_read_path_type
      Src: /src/gpac/src/laser/lsr_dec.c:3559,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:3563,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:3567,1
    - Dst: lsr_read_group_content_post_init
      Src: /src/gpac/src/laser/lsr_dec.c:3568,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3538,1
    - Dst: lsr_read_accumulate
      Src: /src/gpac/src/laser/lsr_dec.c:3541,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3545,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3546,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3556,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:3553,1
    - Dst: lsr_read_float_list
      Src: /src/gpac/src/laser/lsr_dec.c:3557,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3558,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3562,1
    - Dst: lsr_setup_smil_anim
      Src: /src/gpac/src/laser/lsr_dec.c:3566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3573
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3573
    functionName: lsr_read_animateMotion
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_setup_smil_anim
    - lsr_read_anim_values
    - lsr_read_attribute_type
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_anim_repeatCount
    - lsr_read_calc_mode
    - lsr_read_accumulate
    - lsr_read_anim_fill
    - lsr_read_smil_times
    - lsr_read_anim_restart
    - lsr_read_duration
    - lsr_read_id
    - lsr_read_anim_value
    - lsr_read_float_list
    - lsr_read_group_content_post_init
    - lsr_read_fraction_12
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_path_type
    - lsr_read_rotate_type
    - lsr_read_lsr_enabled
    - lsr_read_additive
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_animateMotion(GF_LASeRCodec *lsr, SVG_Element
      *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:547,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/laser/lsr_dec.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: lsr_read_text_content
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_dom_add_text_node
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_text_content(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3259,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:3266,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3265,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - lsr
    - n
    - tag
    - skipable
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 3267
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3267
    functionName: lsr_read_coordinate_ptr
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - lsr_translate_coords
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_coordinate_ptr(GF_LASeRCodec *lsr, GF_Node *n,
      u32 tag, Bool skipable, const char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3583,1
    - Dst: lsr_read_anim_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3624,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:3622,1
    - Dst: lsr_read_anim_values_ex
      Src: /src/gpac/src/laser/lsr_dec.c:3619,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:3635,1
    - Dst: lsr_read_group_content_post_init
      Src: /src/gpac/src/laser/lsr_dec.c:3636,1
    - Dst: lsr_read_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:3584,1
    - Dst: lsr_read_additive
      Src: /src/gpac/src/laser/lsr_dec.c:3613,1
    - Dst: lsr_read_attribute_type
      Src: /src/gpac/src/laser/lsr_dec.c:3620,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3623,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:3627,1
    - Dst: lsr_setup_smil_anim
      Src: /src/gpac/src/laser/lsr_dec.c:3634,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3582,1
    - Dst: lsr_read_accumulate
      Src: /src/gpac/src/laser/lsr_dec.c:3612,1
    - Dst: lsr_read_anim_value_ex
      Src: /src/gpac/src/laser/lsr_dec.c:3614,1
    - Dst: lsr_read_anim_value_ex
      Src: /src/gpac/src/laser/lsr_dec.c:3616,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3618,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3617,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3626,1
    - Dst: lsr_read_anim_value_ex
      Src: /src/gpac/src/laser/lsr_dec.c:3628,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:3631,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3632,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3581,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3587,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3608,1
    - Dst: lsr_read_calc_mode
      Src: /src/gpac/src/laser/lsr_dec.c:3615,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:3625,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3630,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3638,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3641
      start: 3576
    functionDepth: 0
    functionLinenumber: 3576
    functionLinenumberEnd: 3641
    functionName: lsr_read_animateTransform
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_setup_smil_anim
    - lsr_read_attribute_type
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_anim_repeatCount
    - lsr_read_calc_mode
    - lsr_read_accumulate
    - lsr_read_anim_values_ex
    - lsr_read_group_content
    - lsr_read_anim_value_ex
    - lsr_read_anim_fill
    - lsr_read_smil_times
    - lsr_read_anim_restart
    - lsr_read_duration
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - lsr_read_group_content_post_init
    - lsr_read_fraction_12
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_lsr_enabled
    - lsr_read_additive
    - lsr_read_attribute_name
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_animateTransform(GF_LASeRCodec *lsr, SVG_Element
      *parent) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:803,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/laser/lsr_dec.c:839,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:817,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:852,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:775,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/laser/lsr_dec.c:773,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:810,1
    - Dst: gf_node_init
      Src: /src/gpac/src/laser/lsr_dec.c:855,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:779,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:785,1
    - Dst: atoi
      Src: /src/gpac/src/laser/lsr_dec.c:792,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:825,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:842,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:796,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_dec.c:841,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:768,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:772,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:778,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:794,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:807,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:850,1
    - Dst: lsr_setup_smil_anim
      Src: /src/gpac/src/laser/lsr_dec.c:851,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 858
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 858
    functionName: lsr_read_id
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_setup_smil_anim
    - gf_list_get
    - gf_node_init
    - lsr_read_vluimsbf5
    - gf_list_count
    - gf_node_set_id
    - gf_node_get_attribute_by_tag
    - gf_node_dom_listener_add
    - gf_list_rem
    - atoi
    - gf_free
    - gf_assert
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_id(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2889,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2897,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2894,1
    - Dst: lsr_read_fraction_12_item
      Src: /src/gpac/src/laser/lsr_dec.c:2896,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - lsr
    - elt
    - tag
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2900
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2900
    functionName: lsr_read_fraction_12
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_read_vluimsbf5
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_fraction_12_item
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_fraction_12(GF_LASeRCodec *lsr, GF_Node *elt,
      u32 tag, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3478,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3479,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3481,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3482,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3480,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3483,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3484,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3487,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:3488,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3490,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3492,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3494
      start: 3475
    functionDepth: 0
    functionLinenumber: 3475
    functionLinenumberEnd: 3494
    functionName: lsr_read_a
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - lsr_read_href
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_a(GF_LASeRCodec *lsr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4284,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4286,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4285,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4287,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4288,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4289,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4292
      start: 4282
    functionDepth: 0
    functionLinenumber: 4282
    functionLinenumberEnd: 4292
    functionName: lsr_read_tspan
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_tspan(GF_LASeRCodec *lsr) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4875,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:4901,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:4902,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4906,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4907,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:4940,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:4925,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4929,1
    - Dst: lsr_read_fraction_12_item
      Src: /src/gpac/src/laser/lsr_dec.c:4941,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:4958,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:4880,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4885,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4887,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:4881,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4896,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4889,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4914,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:4953,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:4954,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4966,1
    - Dst: lsr_read_smil_time
      Src: /src/gpac/src/laser/lsr_dec.c:4975,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:4918,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4920,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4935,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4942,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:4948,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4959,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:4971,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4975,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:4980,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 95
    argCount: 8
    argNames:
    - lsr
    - node
    - fieldType
    - rep_val
    - idx
    - is_insert
    - is_com
    - single_field_type
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - void*
    - u32
    - Bool
    - Bool
    - u32*
    constantsTouched: []
    func_position:
      end: 4984
      start: 4865
    functionDepth: 0
    functionLinenumber: 4865
    functionLinenumberEnd: 4984
    functionName: lsr_read_update_value_indexed
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - lsr_read_fixed_clamp
    - lsr_read_extension
    - lsr_read_smil_time
    - lsr_read_fixed_16_8
    - GF_SAFEALLOC
    - lsr_read_coordinate
    - gf_list_new
    - lsr_read_fraction_12_item
    linkageType: ''
    returnType: void*
    signature: 'static void *lsr_read_update_value_indexed(GF_LASeRCodec *lsr, GF_Node*node,
      u32 fieldType, void *rep_val, u32 idx, Bool is_insert, Bool is_com, u32 *single_field_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:873,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:873,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:874,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:874,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:877,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:877,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:878,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:878,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - lsr
    - val
    - nb_bits
    argTypes:
    - GF_LASeRCodec*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 892
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 892
    functionName: lsr_translate_coords
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed lsr_translate_coords(GF_LASeRCodec *lsr, u32 val, u32
      nb_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2904,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:2914,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:2913,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2909,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2912,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2915,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2918,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2921,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:2926,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2927,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:2938,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2934,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2940,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 5
    argNames:
    - lsr
    - n
    - tag
    - coords
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - SVG_Coordinates*
    - char*
    constantsTouched: []
    func_position:
      end: 2944
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2944
    functionName: lsr_read_float_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_malloc
    - gf_list_last
    - lsr_read_vluimsbf5
    - gf_list_count
    - gf_node_get_attribute_by_tag
    - lsr_read_fixed_16_8
    - gf_free
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_float_list(GF_LASeRCodec *lsr, GF_Node *n, u32
      tag, SVG_Coordinates*coords, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:3503,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3507,1
    - Dst: lsr_read_anim_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3516,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:3514,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3521,1
    - Dst: lsr_setup_smil_anim
      Src: /src/gpac/src/laser/lsr_dec.c:3525,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3529,1
    - Dst: lsr_read_calc_mode
      Src: /src/gpac/src/laser/lsr_dec.c:3508,1
    - Dst: lsr_read_attribute_type
      Src: /src/gpac/src/laser/lsr_dec.c:3513,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3515,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3511,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:3519,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3523,1
    - Dst: lsr_read_group_content_post_init
      Src: /src/gpac/src/laser/lsr_dec.c:3527,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3501,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3502,1
    - Dst: lsr_read_additive
      Src: /src/gpac/src/laser/lsr_dec.c:3506,1
    - Dst: lsr_read_anim_values
      Src: /src/gpac/src/laser/lsr_dec.c:3512,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3518,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3500,1
    - Dst: lsr_read_accumulate
      Src: /src/gpac/src/laser/lsr_dec.c:3505,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3509,1
    - Dst: lsr_read_fraction_12
      Src: /src/gpac/src/laser/lsr_dec.c:3510,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:3517,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:3520,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:3522,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:3526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - lsr
    - parent
    - is_animateColor
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 3532
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3532
    functionName: lsr_read_animate
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_setup_smil_anim
    - lsr_read_anim_values
    - lsr_read_attribute_type
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_anim_repeatCount
    - lsr_read_calc_mode
    - lsr_read_accumulate
    - lsr_read_group_content
    - lsr_read_anim_fill
    - lsr_read_smil_times
    - lsr_read_anim_restart
    - lsr_read_duration
    - lsr_read_id
    - lsr_read_anim_value
    - lsr_read_group_content_post_init
    - lsr_read_fraction_12
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_lsr_enabled
    - lsr_read_additive
    - lsr_read_attribute_name
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_animate(GF_LASeRCodec *lsr, SVG_Element *parent,
      Bool is_animateColor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4298,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:4306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:4303,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4305,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:4301,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4308,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4309,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4310,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4311,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4312,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4314,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4316,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4317,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4319,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4320,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4322,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:4321,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - lsr
    - is_same
    argTypes:
    - GF_LASeRCodec*
    - Bool
    constantsTouched: []
    func_position:
      end: 4327
      start: 4294
    functionDepth: 0
    functionLinenumber: 4294
    functionLinenumberEnd: 4327
    functionName: lsr_read_use
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - GF_LOG
    - lsr_read_id
    - lsr_read_href
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_coordinate_ptr
    - lsr_read_stroke
    - lsr_restore_base
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_use(GF_LASeRCodec *lsr, Bool is_same) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5024,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5026,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5076,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5093,1
    - Dst: lsr_read_float_list
      Src: /src/gpac/src/laser/lsr_dec.c:5104,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5116,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5122,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:5138,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5150,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:5183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:5200,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5192,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5209,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5196,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5179,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4993,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:4996,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5030,1
    - Dst: lsr_read_value_with_units
      Src: /src/gpac/src/laser/lsr_dec.c:5061,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:5055,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5063,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5051,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5085,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5090,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5099,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5144,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5177,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5015,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5017,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5021,1
    - Dst: lsr_read_matrix
      Src: /src/gpac/src/laser/lsr_dec.c:5035,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5072,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5070,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5067,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5095,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5110,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5115,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5227,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5130,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:5202,1
    - Dst: lsr_read_path_type
      Src: /src/gpac/src/laser/lsr_dec.c:5186,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5234,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5010,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5011,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5118,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:5126,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5146,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5148,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5174,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5198,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5212,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:5229,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5218,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5197,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5225,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 161
    argCount: 6
    argNames:
    - lsr
    - node
    - att_tag
    - fieldType
    - val
    - node_tag
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - u32
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 5236
      start: 4986
    functionDepth: 0
    functionLinenumber: 4986
    functionLinenumberEnd: 5236
    functionName: lsr_read_update_value
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_list_get
    - lsr_read_value_with_units
    - lsr_read_any_uri
    - lsr_read_vluimsbf5
    - lsr_read_point_sequence
    - gf_strdup
    - GF_LOG
    - lsr_read_path_type
    - lsr_read_paint
    - lsr_read_fixed_16_8
    - lsr_read_float_list
    - lsr_read_coordinate
    - lsr_read_fixed_clamp
    - lsr_read_matrix
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_update_value(GF_LASeRCodec *lsr, GF_Node *node,
      u32 att_tag, u32 fieldType, void *val, u32 node_tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2840,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2843,1
    - Dst: lsr_read_an_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2852,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2846,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2850,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2853,1
    - Dst: lsr_translate_anim_trans_values
      Src: /src/gpac/src/laser/lsr_dec.c:2857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - lsr
    - n
    - tr_type
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32*
    constantsTouched: []
    func_position:
      end: 2859
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2859
    functionName: lsr_read_anim_values_ex
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_read_vluimsbf5
    - lsr_translate_anim_trans_values
    - gf_node_get_attribute_by_tag
    - lsr_read_an_anim_value
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_anim_values_ex(GF_LASeRCodec *lsr, GF_Node *n,
      u32 *tr_type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:1901,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:1911,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:1925,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1940,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:1949,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:1951,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1946,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1973,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:1987,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2013,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1919,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1906,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1948,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1942,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:1962,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:1985,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:1989,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2004,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:1912,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1922,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1943,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:1947,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1976,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:1977,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:1935,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1941,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1944,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:1960,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:1963,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1984,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/laser/lsr_dec.c:2006,1
    - Dst: lsr_delete_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2020,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 110
    argCount: 3
    argNames:
    - lsr
    - val
    - coded_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValue*
    - u32
    constantsTouched: []
    func_position:
      end: 2021
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 2021
    functionName: lsr_translate_anim_value
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_rem_last
    - gf_list_get
    - gf_list_last
    - gf_list_insert
    - gf_list_del
    - gf_list_count
    - gf_mx2d_init
    - lsr_delete_anim_value
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void lsr_translate_anim_value(GF_LASeRCodec *lsr, SMIL_AnimateValue
      *val, u32 coded_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3710,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3712,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3714,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3711,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - node_tag
    argTypes:
    - GF_LASeRCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 3716
      start: 3708
    functionDepth: 0
    functionLinenumber: 3708
    functionLinenumberEnd: 3716
    functionName: lsr_read_data
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_data(GF_LASeRCodec *lsr, u32 node_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:3975,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3979,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3983,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3990,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3988,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3994,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3977,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3984,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3986,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3987,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3989,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3991,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3995,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3996,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3971,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3980,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3981,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3992,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3999,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3982,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - lsr
    - same_type
    argTypes:
    - GF_LASeRCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 4001
      start: 3969
    functionDepth: 0
    functionLinenumber: 3969
    functionLinenumberEnd: 4001
    functionName: lsr_read_rect
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - GF_LOG
    - lsr_read_id
    - gf_node_new
    - lsr_read_coordinate_ptr
    - lsr_read_fill
    - lsr_read_rare_full
    - lsr_read_stroke
    - lsr_restore_base
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_rect(GF_LASeRCodec *lsr, u32 same_type) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: lsr_delete_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2052,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2054,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:2059,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2079,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2092,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2078,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2088,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2107,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:2111,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:2113,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2135,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2160,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2167,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2145,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/laser/lsr_dec.c:2051,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2073,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2108,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2124,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/laser/lsr_dec.c:2157,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2162,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2153,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:2055,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2066,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2068,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2110,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2126,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2152,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:2134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2048,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2060,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2098,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2085,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2099,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2106,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2112,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2127,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:2137,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2122,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2115,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 127
    argCount: 3
    argNames:
    - lsr
    - val
    - coded_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValues*
    - u32
    constantsTouched: []
    func_position:
      end: 2168
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2168
    functionName: lsr_translate_anim_values
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_rem_last
    - gf_list_get
    - gf_list_last
    - gf_list_insert
    - gf_list_del
    - gf_list_count
    - lsr_delete_anim_value
    - gf_mx2d_init
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void lsr_translate_anim_values(GF_LASeRCodec *lsr, SMIL_AnimateValues
      *val, u32 coded_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3720,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3722,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3723,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3721,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3724,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3725,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3728
      start: 3718
    functionDepth: 0
    functionLinenumber: 3718
    functionLinenumberEnd: 3728
    functionName: lsr_read_defs
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_defs(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4006,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4010,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4008,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4007,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4009,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4011,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4012,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4016,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4017,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4019,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4022,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4025
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4025
    functionName: lsr_read_rectClip
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_coordinate
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_rectClip(GF_LASeRCodec *lsr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:691,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:698,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:693,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:701,1
    - Dst: lsr_get_color
      Src: /src/gpac/src/laser/lsr_dec.c:694,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:718,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:720,1
    - Dst: gf_node_unregister_iri
      Src: /src/gpac/src/laser/lsr_dec.c:721,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/laser/lsr_dec.c:722,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:738,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:742,1
    - Dst: gf_svg_get_system_paint_server_type
      Src: /src/gpac/src/laser/lsr_dec.c:741,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:747,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - lsr
    - paint
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Paint*
    - char*
    constantsTouched: []
    func_position:
      end: 751
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 751
    functionName: lsr_read_paint
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - memset
    - lsr_get_color
    - gf_node_unregister_iri
    - lsr_read_any_uri
    - gf_svg_get_system_paint_server_type
    - lsr_read_extension
    - gf_free
    - gf_list_del_item
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_paint(GF_LASeRCodec *lsr, SVG_Paint *paint, const
      char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2950,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2955,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2962,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2969,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2971,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2989,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2995,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2999,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:2952,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2968,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2970,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2984,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2990,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:3001,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3003,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2953,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:2951,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2958,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2988,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2964,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2986,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2979,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2972,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2987,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2992,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2993,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3000,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:3004,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 3
    argNames:
    - lsr
    - pts
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 3011
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 3011
    functionName: lsr_read_point_sequence
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_malloc
    - lsr_translate_coords
    - gf_list_last
    - lsr_read_vluimsbf5
    - gf_list_count
    - gf_free
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_point_sequence(GF_LASeRCodec *lsr, GF_List *pts,
      const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4334,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4339,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4340,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:4354,1
    - Dst: lsr_read_transform_behavior
      Src: /src/gpac/src/laser/lsr_dec.c:4358,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4333,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:4336,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4338,1
    - Dst: lsr_read_sync_tolerance
      Src: /src/gpac/src/laser/lsr_dec.c:4357,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:4348,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:4353,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:4349,1
    - Dst: lsr_read_clip_time
      Src: /src/gpac/src/laser/lsr_dec.c:4365,1
    - Dst: lsr_read_clip_time
      Src: /src/gpac/src/laser/lsr_dec.c:4366,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4368,1
    - Dst: lsr_read_sync_reference
      Src: /src/gpac/src/laser/lsr_dec.c:4374,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:4337,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4335,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4342,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4343,1
    - Dst: lsr_read_sync_behavior
      Src: /src/gpac/src/laser/lsr_dec.c:4356,1
    - Dst: lsr_read_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_dec.c:4352,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4360,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4362,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:4355,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4345,1
    - Dst: lsr_read_content_type
      Src: /src/gpac/src/laser/lsr_dec.c:4359,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:4361,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:4363,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4370,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4371,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4375,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4378
      start: 4329
    functionDepth: 0
    functionLinenumber: 4329
    functionLinenumberEnd: 4378
    functionName: lsr_read_video
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_eRR
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_coordinate_ptr
    - lsr_read_anim_repeatCount
    - lsr_read_byte_align_string
    - lsr_read_preserve_aspect_ratio
    - lsr_read_sync_tolerance
    - lsr_read_content_type
    - lsr_read_sync_reference
    - lsr_read_group_content
    - lsr_read_smil_times
    - lsr_read_anim_restart
    - lsr_read_duration
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_free
    - lsr_read_clip_time
    - lsr_read_any_attribute
    - GF_LSR_READ_INT
    - lsr_read_transform_behavior
    - lsr_read_sync_behavior
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_video(GF_LASeRCodec *lsr, SVG_Element *parent) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_conditional
      Src: /src/gpac/src/laser/lsr_dec.c:4507,1
    - Dst: lsr_read_path
      Src: /src/gpac/src/laser/lsr_dec.c:4543,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4546,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4549,1
    - Dst: lsr_read_rect
      Src: /src/gpac/src/laser/lsr_dec.c:4555,1
    - Dst: lsr_read_g
      Src: /src/gpac/src/laser/lsr_dec.c:4561,1
    - Dst: lsr_read_text
      Src: /src/gpac/src/laser/lsr_dec.c:4597,1
    - Dst: lsr_read_selector
      Src: /src/gpac/src/laser/lsr_dec.c:4609,1
    - Dst: lsr_read_simpleLayout
      Src: /src/gpac/src/laser/lsr_dec.c:4615,1
    - Dst: lsr_read_switch
      Src: /src/gpac/src/laser/lsr_dec.c:4621,1
    - Dst: lsr_read_use
      Src: /src/gpac/src/laser/lsr_dec.c:4633,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4588,1
    - Dst: lsr_read_tspan
      Src: /src/gpac/src/laser/lsr_dec.c:4630,1
    - Dst: lsr_read_listener
      Src: /src/gpac/src/laser/lsr_dec.c:4639,1
    - Dst: lsr_read_extend_class
      Src: /src/gpac/src/laser/lsr_dec.c:4642,1
    - Dst: lsr_read_text
      Src: /src/gpac/src/laser/lsr_dec.c:4600,1
    - Dst: lsr_read_video
      Src: /src/gpac/src/laser/lsr_dec.c:4636,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4482,1
    - Dst: lsr_read_cursorManager
      Src: /src/gpac/src/laser/lsr_dec.c:4510,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4516,1
    - Dst: lsr_read_radialGradient
      Src: /src/gpac/src/laser/lsr_dec.c:4552,1
    - Dst: lsr_read_rectClip
      Src: /src/gpac/src/laser/lsr_dec.c:4558,1
    - Dst: lsr_read_path
      Src: /src/gpac/src/laser/lsr_dec.c:4570,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4573,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4576,1
    - Dst: lsr_read_rect
      Src: /src/gpac/src/laser/lsr_dec.c:4594,1
    - Dst: lsr_read_set
      Src: /src/gpac/src/laser/lsr_dec.c:4612,1
    - Dst: lsr_read_private_element_container
      Src: /src/gpac/src/laser/lsr_dec.c:4645,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4582,1
    - Dst: lsr_read_use
      Src: /src/gpac/src/laser/lsr_dec.c:4603,1
    - Dst: lsr_read_text
      Src: /src/gpac/src/laser/lsr_dec.c:4624,1
    - Dst: lsr_read_a
      Src: /src/gpac/src/laser/lsr_dec.c:4486,1
    - Dst: lsr_read_animateMotion
      Src: /src/gpac/src/laser/lsr_dec.c:4495,1
    - Dst: lsr_read_audio
      Src: /src/gpac/src/laser/lsr_dec.c:4501,1
    - Dst: lsr_read_line
      Src: /src/gpac/src/laser/lsr_dec.c:4531,1
    - Dst: lsr_read_g
      Src: /src/gpac/src/laser/lsr_dec.c:4525,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4537,1
    - Dst: lsr_read_ellipse
      Src: /src/gpac/src/laser/lsr_dec.c:4519,1
    - Dst: lsr_read_defs
      Src: /src/gpac/src/laser/lsr_dec.c:4513,1
    - Dst: lsr_read_path
      Src: /src/gpac/src/laser/lsr_dec.c:4567,1
    - Dst: lsr_read_rect
      Src: /src/gpac/src/laser/lsr_dec.c:4591,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:4655,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4627,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/laser/lsr_dec.c:4657,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4585,1
    - Dst: lsr_read_animate
      Src: /src/gpac/src/laser/lsr_dec.c:4489,1
    - Dst: lsr_read_animate
      Src: /src/gpac/src/laser/lsr_dec.c:4492,1
    - Dst: lsr_read_animateTransform
      Src: /src/gpac/src/laser/lsr_dec.c:4498,1
    - Dst: lsr_read_circle
      Src: /src/gpac/src/laser/lsr_dec.c:4504,1
    - Dst: lsr_read_image
      Src: /src/gpac/src/laser/lsr_dec.c:4528,1
    - Dst: lsr_read_linearGradient
      Src: /src/gpac/src/laser/lsr_dec.c:4534,1
    - Dst: lsr_read_foreignObject
      Src: /src/gpac/src/laser/lsr_dec.c:4522,1
    - Dst: lsr_read_mpath
      Src: /src/gpac/src/laser/lsr_dec.c:4540,1
    - Dst: lsr_read_line
      Src: /src/gpac/src/laser/lsr_dec.c:4564,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4579,1
    - Dst: lsr_read_script
      Src: /src/gpac/src/laser/lsr_dec.c:4606,1
    - Dst: lsr_read_text_content
      Src: /src/gpac/src/laser/lsr_dec.c:4648,1
    - Dst: lsr_read_stop
      Src: /src/gpac/src/laser/lsr_dec.c:4618,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 117
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4660
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4660
    functionName: lsr_read_scene_content_model
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_line
    - lsr_read_defs
    - lsr_read_cursorManager
    - memset
    - lsr_read_private_element_container
    - lsr_read_rectClip
    - lsr_read_data
    - lsr_read_text_content
    - lsr_read_use
    - lsr_read_switch
    - lsr_read_circle
    - lsr_read_polygon
    - lsr_read_script
    - lsr_read_stop
    - lsr_read_g
    - lsr_read_linearGradient
    - lsr_read_foreignObject
    - lsr_read_audio
    - lsr_read_selector
    - lsr_read_animate
    - lsr_read_text
    - lsr_read_set
    - lsr_read_listener
    - lsr_read_mpath
    - lsr_read_animateMotion
    - lsr_read_tspan
    - lsr_read_extend_class
    - lsr_read_animateTransform
    - lsr_read_conditional
    - lsr_read_rect
    - lsr_read_simpleLayout
    - lsr_read_ellipse
    - lsr_read_a
    - lsr_read_radialGradient
    - lsr_read_video
    - lsr_read_image
    - GF_LSR_READ_INT
    - lsr_read_path
    - gf_dom_event_fire
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_scene_content_model(GF_LASeRCodec *lsr, SVG_Element
      *parent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_object_content
      Src: /src/gpac/src/laser/lsr_dec.c:4810,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4817,1
    - Dst: gf_node_init
      Src: /src/gpac/src/laser/lsr_dec.c:4815,1
    - Dst: lsr_read_scene_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:4824,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:4820,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:4826,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/laser/lsr_dec.c:4827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:4828,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_dec.c:4828,1
    - Dst: gf_node_init
      Src: /src/gpac/src/laser/lsr_dec.c:4836,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - lsr
    - elt
    - skip_object_content
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 4837
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4837
    functionName: lsr_read_group_content
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - lsr_read_vluimsbf5
    - GF_LOG
    - lsr_read_object_content
    - lsr_read_scene_content_model
    - gf_node_get_class_name
    - gf_node_register
    - GF_LSR_READ_INT
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_group_content(GF_LASeRCodec *lsr, GF_Node *elt,
      Bool skip_object_content) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:56,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:61,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:58,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:60,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:59,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:62,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - graph
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: gf_laser_decoder_new
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_LASeRCodec *gf_laser_decoder_new(GF_SceneGraph *graph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:756,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:760,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - lsr
    - elt
    - tag
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: lsr_read_string_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_string_attribute(GF_LASeRCodec *lsr, GF_Node
      *elt, u32 tag, char *name) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3074,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3073,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3085,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3086,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3097,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3116,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:3117,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:3118,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:3128,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:3018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3036,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3058,1
    - Dst: gf_path_add_quadratic_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3066,1
    - Dst: gf_path_add_cubic_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3088,1
    - Dst: gf_path_add_quadratic_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3099,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:3120,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:3130,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:3135,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:3137,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:3019,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/laser/lsr_dec.c:3026,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:3039,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3041,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3049,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3063,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3051,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:3115,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:3131,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:3132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3029,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3032,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3064,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3056,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:3072,1
    - Dst: gf_path_add_cubic_to_vec
      Src: /src/gpac/src/laser/lsr_dec.c:3076,1
    - Dst: gf_path_close
      Src: /src/gpac/src/laser/lsr_dec.c:3104,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:3129,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3142,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:3178,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 130
    argCount: 5
    argNames:
    - lsr
    - n
    - tag
    - path
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - SVG_PathData*
    - char*
    constantsTouched: []
    func_position:
      end: 3181
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3181
    functionName: lsr_read_path_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_path_add_quadratic_to_vec
    - GF_LOG
    - gf_path_add_cubic_to_vec
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_path_add_move_to_vec
    - lsr_read_point_sequence
    - gf_list_new
    - gf_list_rem_last
    - gf_list_get
    - lsr_read_vluimsbf5
    - gf_node_get_attribute_by_tag
    - gf_free
    - gf_path_add_line_to_vec
    - gf_path_close
    - gf_list_rem
    - gf_path_reset
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_path_type(GF_LASeRCodec *lsr, GF_Node *n, u32
      tag, SVG_PathData *path, const char *name) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4386,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4423,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4406,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/laser/lsr_dec.c:4472,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4394,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4391,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4395,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:4408,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4413,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4430,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:4435,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4390,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4397,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4399,1
    - Dst: lsr_read_event_type
      Src: /src/gpac/src/laser/lsr_dec.c:4400,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4404,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4425,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4426,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4469,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4392,1
    - Dst: lsr_read_codec_IDREF
      Src: /src/gpac/src/laser/lsr_dec.c:4414,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4420,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4421,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4410,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4418,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4428,1
    - Dst: lsr_read_codec_IDREF
      Src: /src/gpac/src/laser/lsr_dec.c:4431,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4436,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4437,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4476
      start: 4380
    functionDepth: 0
    functionLinenumber: 4380
    functionLinenumberEnd: 4476
    functionName: lsr_read_listener
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_read_codec_IDREF
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_any_uri
    - lsr_read_rare
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_event_type
    - lsr_read_lsr_enabled
    - gf_node_dom_listener_add
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_listener(GF_LASeRCodec *lsr, SVG_Element
      *parent) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_conditional
      Src: /src/gpac/src/laser/lsr_dec.c:4671,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4668,1
    - Dst: lsr_read_simpleLayout
      Src: /src/gpac/src/laser/lsr_dec.c:4686,1
    - Dst: lsr_read_circle
      Src: /src/gpac/src/laser/lsr_dec.c:4714,1
    - Dst: lsr_read_animateTransform
      Src: /src/gpac/src/laser/lsr_dec.c:4708,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4720,1
    - Dst: lsr_read_image
      Src: /src/gpac/src/laser/lsr_dec.c:4732,1
    - Dst: lsr_read_linearGradient
      Src: /src/gpac/src/laser/lsr_dec.c:4738,1
    - Dst: lsr_read_mpath
      Src: /src/gpac/src/laser/lsr_dec.c:4744,1
    - Dst: lsr_read_radialGradient
      Src: /src/gpac/src/laser/lsr_dec.c:4756,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:4798,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4666,1
    - Dst: lsr_read_extend_class
      Src: /src/gpac/src/laser/lsr_dec.c:4677,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4693,1
    - Dst: lsr_read_defs
      Src: /src/gpac/src/laser/lsr_dec.c:4717,1
    - Dst: lsr_read_a
      Src: /src/gpac/src/laser/lsr_dec.c:4696,1
    - Dst: lsr_read_animateMotion
      Src: /src/gpac/src/laser/lsr_dec.c:4705,1
    - Dst: lsr_read_ellipse
      Src: /src/gpac/src/laser/lsr_dec.c:4723,1
    - Dst: lsr_read_svg
      Src: /src/gpac/src/laser/lsr_dec.c:4771,1
    - Dst: lsr_read_text
      Src: /src/gpac/src/laser/lsr_dec.c:4777,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4780,1
    - Dst: lsr_read_cursorManager
      Src: /src/gpac/src/laser/lsr_dec.c:4674,1
    - Dst: lsr_read_private_element_container
      Src: /src/gpac/src/laser/lsr_dec.c:4680,1
    - Dst: lsr_read_animate
      Src: /src/gpac/src/laser/lsr_dec.c:4699,1
    - Dst: lsr_read_animate
      Src: /src/gpac/src/laser/lsr_dec.c:4702,1
    - Dst: lsr_read_foreignObject
      Src: /src/gpac/src/laser/lsr_dec.c:4726,1
    - Dst: lsr_read_stop
      Src: /src/gpac/src/laser/lsr_dec.c:4768,1
    - Dst: lsr_read_switch
      Src: /src/gpac/src/laser/lsr_dec.c:4774,1
    - Dst: lsr_read_listener
      Src: /src/gpac/src/laser/lsr_dec.c:4792,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/laser/lsr_dec.c:4800,1
    - Dst: lsr_read_script
      Src: /src/gpac/src/laser/lsr_dec.c:4762,1
    - Dst: lsr_read_set
      Src: /src/gpac/src/laser/lsr_dec.c:4765,1
    - Dst: lsr_read_rectClip
      Src: /src/gpac/src/laser/lsr_dec.c:4683,1
    - Dst: lsr_read_selector
      Src: /src/gpac/src/laser/lsr_dec.c:4689,1
    - Dst: lsr_read_audio
      Src: /src/gpac/src/laser/lsr_dec.c:4711,1
    - Dst: lsr_read_g
      Src: /src/gpac/src/laser/lsr_dec.c:4729,1
    - Dst: lsr_read_line
      Src: /src/gpac/src/laser/lsr_dec.c:4735,1
    - Dst: lsr_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:4741,1
    - Dst: lsr_read_path
      Src: /src/gpac/src/laser/lsr_dec.c:4747,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4750,1
    - Dst: lsr_read_polygon
      Src: /src/gpac/src/laser/lsr_dec.c:4753,1
    - Dst: lsr_read_rect
      Src: /src/gpac/src/laser/lsr_dec.c:4759,1
    - Dst: lsr_read_tspan
      Src: /src/gpac/src/laser/lsr_dec.c:4783,1
    - Dst: lsr_read_use
      Src: /src/gpac/src/laser/lsr_dec.c:4786,1
    - Dst: lsr_read_video
      Src: /src/gpac/src/laser/lsr_dec.c:4789,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 92
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4803
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4803
    functionName: lsr_read_update_content_model
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_line
    - lsr_read_defs
    - lsr_read_cursorManager
    - memset
    - lsr_read_private_element_container
    - lsr_read_rectClip
    - lsr_read_data
    - lsr_read_svg
    - lsr_read_use
    - lsr_read_switch
    - lsr_read_circle
    - lsr_read_polygon
    - lsr_read_script
    - lsr_read_stop
    - lsr_read_g
    - lsr_read_linearGradient
    - lsr_read_foreignObject
    - lsr_read_selector
    - lsr_read_audio
    - lsr_read_animate
    - lsr_read_set
    - lsr_read_text
    - lsr_read_listener
    - lsr_read_mpath
    - lsr_read_animateMotion
    - lsr_read_tspan
    - lsr_read_extend_class
    - lsr_read_animateTransform
    - lsr_read_conditional
    - lsr_read_rect
    - lsr_read_simpleLayout
    - lsr_read_ellipse
    - lsr_read_a
    - lsr_read_radialGradient
    - lsr_read_video
    - lsr_read_image
    - GF_LSR_READ_INT
    - lsr_read_path
    - gf_dom_event_fire
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_update_content_model(GF_LASeRCodec *lsr,
      SVG_Element *parent) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_object_content
      Src: /src/gpac/src/laser/lsr_dec.c:4843,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:4854,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4845,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:4848,1
    - Dst: lsr_read_scene_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:4852,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/laser/lsr_dec.c:4855,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:4856,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_dec.c:4856,1
    - Dst: gf_node_init
      Src: /src/gpac/src/laser/lsr_dec.c:4862,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - lsr
    - elt
    - skip_init
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 4863
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4863
    functionName: lsr_read_group_content_post_init
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - lsr_read_vluimsbf5
    - GF_LOG
    - lsr_read_object_content
    - lsr_read_scene_content_model
    - gf_node_get_class_name
    - gf_node_register
    - GF_LSR_READ_INT
    - gf_node_list_add_child_last
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_group_content_post_init(GF_LASeRCodec *lsr, SVG_Element
      *elt, Bool skip_init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:454,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:460,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 469
    functionName: lsr_read_fixed_16_8
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed lsr_read_fixed_16_8(GF_LASeRCodec *lsr, const char *name) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1074,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1089,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/laser/lsr_dec.c:1079,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1084,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:1085,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:1090,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 35
    argCount: 5
    argNames:
    - lsr
    - elt
    - base
    - reset_fill
    - reset_stroke
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1098
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1098
    functionName: lsr_restore_base
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - memset
    - gf_svg_attributes_copy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void lsr_restore_base(GF_LASeRCodec *lsr, SVG_Element *elt,
      SVG_Element *base, Bool reset_fill, Bool reset_stroke) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4121,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4122,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4124,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4123,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4125,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4127,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4128,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4129,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4132
      start: 4118
    functionDepth: 0
    functionLinenumber: 4118
    functionLinenumberEnd: 4132
    functionName: lsr_read_stop
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_fixed_16_8
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_stop(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:474,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - lsr
    - n
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: lsr_read_fixed_16_8i
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - lsr_read_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_fixed_16_8i(GF_LASeRCodec *lsr, SVG_Number *n,
      const char *name) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 1
    argNames:
    - lsr_k
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1149
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1149
    functionName: lsr_to_dom_key
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_to_dom_key(u32 lsr_k) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4138,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4141,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4145,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4151,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4150,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:4189,1
    - Dst: lsr_read_string_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4198,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4200,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4203,1
    - Dst: lsr_read_value_with_units
      Src: /src/gpac/src/laser/lsr_dec.c:4211,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4140,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4142,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4146,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4165,1
    - Dst: lsr_read_duration_ex
      Src: /src/gpac/src/laser/lsr_dec.c:4160,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4161,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4184,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4204,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4206,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/laser/lsr_dec.c:4225,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4228,1
    - Dst: lsr_read_value_with_units
      Src: /src/gpac/src/laser/lsr_dec.c:4147,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4148,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4188,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4192,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4194,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4195,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4202,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:4205,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4215,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4216,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:4224,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4213,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4139,1
    - Dst: lsr_read_string_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4143,1
    - Dst: lsr_read_string_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4144,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4158,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4167,1
    - Dst: lsr_read_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_dec.c:4155,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4168,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4186,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4210,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4219,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 2
    argNames:
    - lsr
    - init_node
    argTypes:
    - GF_LASeRCodec*
    - Bool
    constantsTouched: []
    func_position:
      end: 4230
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4230
    functionName: lsr_read_svg
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_value_with_units
    - lsr_read_eRR
    - lsr_read_vluimsbf5
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - lsr_read_duration_ex
    - gf_node_new
    - lsr_read_string_attribute
    - lsr_read_fill
    - lsr_read_fixed_16_8
    - lsr_read_stroke
    - gf_node_register
    - GF_LSR_READ_INT
    - gf_sg_set_root_node
    - lsr_read_preserve_aspect_ratio
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_svg(GF_LASeRCodec *lsr, Bool init_node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_dec.c:215,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:224,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_dec.c:226,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:222,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:224,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/laser/lsr_dec.c:227,1
    - Dst: lsr_decode_laser_unit
      Src: /src/gpac/src/laser/lsr_dec.c:229,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_dec.c:230,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:234,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:235,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:241,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_dec.c:236,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:239,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - codec
    - ESID
    - data
    - data_len
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - u16
    - u8*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: gf_laser_decode_command_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_bs_set_eos_callback
    - gf_list_count
    - gf_sg_find_node
    - gf_bs_new
    - INT2FIX
    - lsr_get_stream
    - lsr_decode_laser_unit
    - gf_divfix
    - gf_list_rem
    - gf_node_register
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_decode_command_list(GF_LASeRCodec *codec,
      u16 ESID, u8 *data, u32 data_len, GF_List *com_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2353,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2357,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2356,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2367
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2367
    functionName: lsr_read_repeat_duration
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_repeat_duration(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3456,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3462
    functionName: lsr_read_eRR
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_eRR(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - codec
    - (*GetSceneTime)
    - st_cbk
    argTypes:
    - GF_LASeRCodec*
    - Double
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: gf_laser_decoder_set_clock
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_laser_decoder_set_clock(GF_LASeRCodec *codec, Double
      (*GetSceneTime)(void *st_cbk), void *st_cbk ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2371,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2376,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2378
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2378
    functionName: lsr_read_anim_restart
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_anim_restart(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3467,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3473
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3473
    functionName: lsr_read_lsr_enabled
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_lsr_enabled(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:122,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_dec.c:120,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:123,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:126,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:127,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:133,1
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_dec.c:116,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:128,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:129,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:138,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:141,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:137,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_dec.c:144,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:117,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:135,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - codec
    - ESID
    - dsi
    - dsi_len
    argTypes:
    - GF_LASeRCodec*
    - u16
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: gf_laser_decoder_configure_stream
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - lsr_get_stream
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_decoder_configure_stream(GF_LASeRCodec *codec,
      u16 ESID, u8 *dsi, u32 dsi_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:490,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:492,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - lsr
    - idx
    - color
    argTypes:
    - GF_LASeRCodec*
    - u32
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 494
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 494
    functionName: lsr_get_color
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void lsr_get_color(GF_LASeRCodec *lsr, u32 idx, SVG_Color *color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1771,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1774,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1777
    functionName: lsr_read_accumulate
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_accumulate(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/laser/lsr_dec.c:5865,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:5879,1
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_dec.c:5870,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:5877,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_dec.c:5868,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:5879,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_dec.c:5881,1
    - Dst: lsr_read_command_list
      Src: /src/gpac/src/laser/lsr_dec.c:5883,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_dec.c:5884,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - node
    - par
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 5886
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5886
    functionName: lsr_exec_command_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_node_get_private
    - lsr_read_command_list
    - INT2FIX
    - gf_bs_new
    - lsr_get_stream
    - gf_divfix
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void lsr_exec_command_list(GF_Node *node, void *par, Bool is_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:152,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:157,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:154,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_LASeRCodec*
    - u16
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: gf_laser_decoder_remove_stream
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_decoder_remove_stream(GF_LASeRCodec *codec,
      u16 ESID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:500,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:506,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - lsr
    - li
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: lsr_read_line_increment_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - lsr_read_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_line_increment_type(GF_LASeRCodec *lsr, SVG_Number
      *li, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1781,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1785,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1787
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1787
    functionName: lsr_read_additive
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_additive(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_private
      Src: /src/gpac/src/laser/lsr_dec.c:5898,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:5910,1
    - Dst: lsr_read_add_replace_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5928,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5942,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/laser/lsr_dec.c:5947,1
    - Dst: lsr_read_svg
      Src: /src/gpac/src/laser/lsr_dec.c:5938,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5954,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5976,1
    - Dst: lsr_read_codec_IDREF_command
      Src: /src/gpac/src/laser/lsr_dec.c:5984,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5988,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5972,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5980,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:5901,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5919,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5936,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5935,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5995,1
    - Dst: gf_node_deactivate
      Src: /src/gpac/src/laser/lsr_dec.c:6001,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5973,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5977,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5900,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/laser/lsr_dec.c:5897,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:5906,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5923,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5941,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5944,1
    - Dst: lsr_read_delete
      Src: /src/gpac/src/laser/lsr_dec.c:5931,1
    - Dst: lsr_read_send_event
      Src: /src/gpac/src/laser/lsr_dec.c:5957,1
    - Dst: lsr_read_restore
      Src: /src/gpac/src/laser/lsr_dec.c:5960,1
    - Dst: lsr_read_save
      Src: /src/gpac/src/laser/lsr_dec.c:5963,1
    - Dst: lsr_read_private_element_container
      Src: /src/gpac/src/laser/lsr_dec.c:6005,1
    - Dst: gf_dom_add_updates_node
      Src: /src/gpac/src/laser/lsr_dec.c:5896,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/laser/lsr_dec.c:5946,1
    - Dst: lsr_read_svg
      Src: /src/gpac/src/laser/lsr_dec.c:5948,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5968,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5969,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5986,1
    - Dst: gf_node_activate
      Src: /src/gpac/src/laser/lsr_dec.c:5998,1
    - Dst: lsr_read_object_content
      Src: /src/gpac/src/laser/lsr_dec.c:6035,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:6034,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5991,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 116
    argCount: 4
    argNames:
    - lsr
    - com_list
    - cond
    - first_imp
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 6045
      start: 5888
    functionDepth: 0
    functionLinenumber: 5888
    functionLinenumberEnd: 6045
    functionName: lsr_read_command_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_sg_find_node
    - gf_node_activate
    - lsr_read_private_element_container
    - lsr_read_svg
    - lsr_read_byte_align_string
    - gf_node_set_callback_function
    - lsr_read_add_replace_insert
    - gf_node_set_private
    - gf_dom_add_updates_node
    - gf_bs_read_data
    - lsr_read_save
    - gf_sg_set_scene_size_info
    - lsr_read_send_event
    - gf_sg_reset
    - lsr_read_codec_IDREF_command
    - gf_sg_command_new
    - lsr_read_vluimsbf5
    - gf_node_register
    - gf_node_deactivate
    - lsr_read_delete
    - lsr_read_any_attribute
    - lsr_read_restore
    - lsr_read_object_content
    - gf_bs_align
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_command_list(GF_LASeRCodec *lsr, GF_List *com_list,
      SVG_Element *cond, Bool first_imp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:260,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: lsr_read_vluimsbf5
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_read_vluimsbf5(GF_LASeRCodec *lsr, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:957,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    functionName: lsr_read_fixed_clamp
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed lsr_read_fixed_clamp(GF_LASeRCodec *lsr, const char *name) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:1154,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1156,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:1163,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/laser/lsr_dec.c:1167,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:1160,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:1170,1
    - Dst: atoi
      Src: /src/gpac/src/laser/lsr_dec.c:1173,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/src/laser/lsr_dec.c:1175,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/laser/lsr_dec.c:1178,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1180,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:1286,1
    - Dst: lsr_to_dom_key
      Src: /src/gpac/src/laser/lsr_dec.c:1295,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1184,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 76
    argCount: 2
    argNames:
    - lsr
    - evtType
    argTypes:
    - GF_LASeRCodec*
    - XMLEV_Event*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1299
    functionName: lsr_read_event_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_to_dom_key
    - memset
    - gf_dom_get_key_type
    - lsr_read_vluimsbf5
    - GF_LOG
    - strchr
    - gf_dom_event_type_by_name
    - atoi
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_event_type(GF_LASeRCodec *lsr, XMLEV_Event *evtType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2173,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/laser/lsr_dec.c:2181,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2175,1
    - Dst: atoi
      Src: /src/gpac/src/laser/lsr_dec.c:2179,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:2179,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - lsr
    - anim
    - times
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - GF_List*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2197
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2197
    functionName: lsr_init_smil_times
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_sg_find_node
    - gf_sg_find_node_by_name
    - atoi
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool lsr_init_smil_times(GF_LASeRCodec *lsr, SVG_Element *anim,
      GF_List *times, SVG_Element *parent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3215,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:3222,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:3223,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3219,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3227
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3227
    functionName: lsr_read_sync_tolerance
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - INT2FIX
    - lsr_read_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_sync_tolerance(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3273,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3278,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:3275,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:3283,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3288,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:3289,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:3290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - lsr
    - elt
    - tag
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3293
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3293
    functionName: lsr_read_coord_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - gf_list_add
    - lsr_read_vluimsbf5
    - gf_node_get_attribute_by_tag
    - GF_SAFEALLOC
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_coord_list(GF_LASeRCodec *lsr, GF_Node *elt,
      u32 tag, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3928,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3936,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:3934,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3938,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3939,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3940,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:3941,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3943,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3944,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:3947,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3951,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3948,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3945,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - lsr
    - is_polyline
    - same_type
    argTypes:
    - GF_LASeRCodec*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 3953
      start: 3925
    functionDepth: 0
    functionLinenumber: 3925
    functionLinenumberEnd: 3953
    functionName: lsr_read_polygon
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_point_sequence
    - GF_LOG
    - gf_node_get_attribute_by_tag
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - lsr_restore_base
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_polygon(GF_LASeRCodec *lsr, Bool is_polyline,
      u32 same_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:274,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: lsr_read_vluimsbf8
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_read_vluimsbf8(GF_LASeRCodec *lsr, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:966,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:974,1
    - Dst: gf_node_unregister_iri
      Src: /src/gpac/src/laser/lsr_dec.c:970,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:972,1
    - Dst: lsr_read_codec_IDREF
      Src: /src/gpac/src/laser/lsr_dec.c:977,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - lsr
    - foc
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Focus*
    - char*
    constantsTouched: []
    func_position:
      end: 979
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 979
    functionName: lsr_read_focus
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_unregister_iri
    - GF_LSR_READ_INT
    - lsr_read_codec_IDREF
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_focus(GF_LASeRCodec *lsr, SVG_Focus *foc, const
      char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:1306,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1316,1
    - Dst: gf_node_unregister_iri
      Src: /src/gpac/src/laser/lsr_dec.c:1322,1
    - Dst: lsr_read_codec_IDREF
      Src: /src/gpac/src/laser/lsr_dec.c:1321,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1313,1
    - Dst: lsr_read_event_type
      Src: /src/gpac/src/laser/lsr_dec.c:1329,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/laser/lsr_dec.c:1332,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1335,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1338,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1345
    functionName: lsr_read_smil_time
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_scene_time
    - lsr_read_codec_IDREF
    - gf_node_unregister_iri
    - lsr_read_vluimsbf5
    - lsr_read_event_type
    - GF_SAFEALLOC
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: SMIL_Time*
    signature: 'static SMIL_Time *lsr_read_smil_time(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2211,1
    - Dst: lsr_init_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:2216,1
    - Dst: lsr_init_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:2212,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2222,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2215,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2233,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/laser/lsr_dec.c:2242,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2257,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2265,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2277,1
    - Dst: lsr_translate_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2294,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2297,1
    - Dst: lsr_translate_anim_values
      Src: /src/gpac/src/laser/lsr_dec.c:2315,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2287,1
    - Dst: lsr_translate_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2284,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2307,1
    - Dst: lsr_translate_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2304,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 98
    argCount: 3
    argNames:
    - lsr
    - anim
    - anim_parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2320
    functionName: lsr_setup_smil_anim
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_init_smil_times
    - gf_node_register_iri
    - lsr_translate_anim_values
    - gf_node_get_attribute_by_tag
    - lsr_translate_anim_value
    linkageType: ''
    returnType: Bool
    signature: 'static Bool lsr_setup_smil_anim(GF_LASeRCodec *lsr, SVG_Element *anim,
      SVG_Element *anim_parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3231,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:3235,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3237
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3237
    functionName: lsr_read_sync_reference
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_any_uri
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_sync_reference(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3299,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3302,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3304
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3304
    functionName: lsr_read_transform_behavior
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_transform_behavior(GF_LASeRCodec *lsr, GF_Node
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3956,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3958,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3959,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3960,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3957,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3961,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3962,1
    - Dst: lsr_read_gradient_units
      Src: /src/gpac/src/laser/lsr_dec.c:3963,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3964,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3965,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3968
      start: 3954
    functionDepth: 0
    functionLinenumber: 3954
    functionLinenumberEnd: 3968
    functionName: lsr_read_radialGradient
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_gradient_units
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    - lsr_read_coordinate_ptr
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_radialGradient(GF_LASeRCodec *lsr) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:6065,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6059,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:6067,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:6070,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6082,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6092,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6094,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6093,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_dec.c:6135,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6163,1
    - Dst: lsr_read_command_list
      Src: /src/gpac/src/laser/lsr_dec.c:6185,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6174,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6161,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6186,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:6060,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_dec.c:6100,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6110,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6119,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6142,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6164,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6169,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/laser/lsr_dec.c:6170,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6172,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6175,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:6068,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:6069,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6085,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6104,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_dec.c:6115,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6132,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6136,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6141,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6144,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6150,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:6187,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/laser/lsr_dec.c:6178,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6058,1
    - Dst: gf_realloc
      Src: /src/gpac/src/laser/lsr_dec.c:6087,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6107,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:6086,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:6111,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6122,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6125,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:6146,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:6152,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6167,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:6182,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 109
    argCount: 2
    argNames:
    - lsr
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 6189
      start: 6047
    functionDepth: 0
    functionLinenumber: 6047
    functionLinenumberEnd: 6189
    functionName: lsr_decode_laser_unit
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_list_last
    - lsr_read_vluimsbf5
    - gf_realloc
    - gf_list_count
    - lsr_read_command_list
    - lsr_read_extension
    - gf_bs_available
    - gf_bs_get_bit_offset
    - gf_free
    - GF_LSR_READ_INT
    - gf_get_bit_size
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_decode_laser_unit(GF_LASeRCodec *lsr, GF_List *com_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3186,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3193,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3189,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3190,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:3196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3200
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3200
    functionName: lsr_read_rotate_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_rotate_type(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:415,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:420,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:417,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:423,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:419,1
    - Dst: sprintf
      Src: /src/gpac/src/laser/lsr_dec.c:426,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:427,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:429,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/laser/lsr_dec.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - lsr
    - href
    - name
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 436
    functionName: lsr_read_codec_IDREF
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_register_iri
    - lsr_read_vluimsbf5
    - gf_strdup
    - gf_sg_find_node
    - sprintf
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_codec_IDREF(GF_LASeRCodec *lsr, XMLRI *href,
      const char *name) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:2417,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2454,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:2450,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2482,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:2476,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2489,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2506,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:2511,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2526,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2552,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:2399,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2408,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2466,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2441,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2525,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2550,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2531,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2394,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:2422,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2470,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2484,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_dec.c:2498,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2504,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:2528,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2535,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2542,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:2566,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2558,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2393,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2400,1
    - Dst: lsr_read_path_type
      Src: /src/gpac/src/laser/lsr_dec.c:2426,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:2432,1
    - Dst: lsr_read_point_sequence
      Src: /src/gpac/src/laser/lsr_dec.c:2436,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:2462,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:2488,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:2510,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2520,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2527,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:2553,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:2562,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 142
    argCount: 3
    argNames:
    - lsr
    - coded_type
    - name
    argTypes:
    - GF_LASeRCodec*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2570
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2570
    functionName: lsr_read_an_anim_value
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - lsr_translate_coords
    - gf_list_get
    - lsr_read_any_uri
    - gf_svg_create_attribute_value
    - lsr_read_vluimsbf5
    - gf_strdup
    - gf_list_new
    - lsr_read_extension
    - lsr_read_path_type
    - lsr_read_paint
    - lsr_read_fixed_16_8
    - GF_SAFEALLOC
    - lsr_read_point_sequence
    - lsr_read_fixed_clamp
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void*
    signature: 'static void *lsr_read_an_anim_value(GF_LASeRCodec *lsr, u32 coded_type,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4234,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4238,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4237,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4236,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4235,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4239,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4240,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4243
      start: 4232
    functionDepth: 0
    functionLinenumber: 4232
    functionLinenumberEnd: 4243
    functionName: lsr_read_switch
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_switch(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:441,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:443,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:446,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 449
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 449
    functionName: lsr_read_codec_IDREF_command
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_read_codec_IDREF_command(GF_LASeRCodec *lsr, const
      char *name) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2612,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2637,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2654,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/laser/lsr_dec.c:2659,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2662,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2676,1
    - Dst: lsr_delete_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2683,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2623,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/laser/lsr_dec.c:2626,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2652,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2670,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:2598,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2618,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2605,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:2626,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2630,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2647,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2658,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2660,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2615,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2621,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/laser/lsr_dec.c:2622,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2625,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/laser/lsr_dec.c:2638,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:2638,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 3
    argNames:
    - lsr
    - val
    - transform_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValue*
    - u32
    constantsTouched: []
    func_position:
      end: 2684
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2684
    functionName: lsr_translate_anim_trans_value
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_list_del
    - gf_muldiv
    - gf_list_count
    - GF_LOG
    - INT2FIX
    - lsr_delete_anim_value
    - GF_SAFEALLOC
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void lsr_translate_anim_trans_value(GF_LASeRCodec *lsr, SMIL_AnimateValue
      *val, u32 transform_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3204,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3208,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3211
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3211
    functionName: lsr_read_sync_behavior
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_sync_behavior(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4250,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4257,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:4255,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:4253,1
    - Dst: lsr_read_coord_list
      Src: /src/gpac/src/laser/lsr_dec.c:4259,1
    - Dst: lsr_read_coord_list
      Src: /src/gpac/src/laser/lsr_dec.c:4260,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4262,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4263,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4264,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4265,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4275,1
    - Dst: lsr_read_coord_list
      Src: /src/gpac/src/laser/lsr_dec.c:4273,1
    - Dst: lsr_read_float_list
      Src: /src/gpac/src/laser/lsr_dec.c:4272,1
    - Dst: lsr_read_coord_list
      Src: /src/gpac/src/laser/lsr_dec.c:4274,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4269,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4278,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - lsr
    - same_type
    argTypes:
    - GF_LASeRCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 4280
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4280
    functionName: lsr_read_text
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_coord_list
    - lsr_read_group_content
    - lsr_read_any_attribute
    - GF_LOG
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_float_list
    - lsr_read_stroke
    - lsr_restore_base
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_text(GF_LASeRCodec *lsr, u32 same_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:392,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:395,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:397,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:398,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - lsr
    - node
    - skippable
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: lsr_read_any_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_any_attribute(GF_LASeRCodec *lsr, GF_Node *node,
      Bool skippable) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:566,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:563,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:585,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:589,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:580,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:592,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:629,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:561,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:562,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:569,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:578,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:614,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:619,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:560,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:601,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:594,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:610,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:612,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:619,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:571,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_dec.c:572,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:576,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:585,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:601,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:596,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 5
    argNames:
    - lsr
    - l
    - name
    - is_iri
    - is_font
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 630
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 630
    functionName: lsr_read_byte_align_string_list
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_list_last
    - gf_list_count
    - gf_strdup
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_byte_align_string_list(GF_LASeRCodec *lsr, GF_List
      *l, const char *name, Bool is_iri, Bool is_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_duration_ex
      Src: /src/gpac/src/laser/lsr_dec.c:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1422
    functionName: lsr_read_duration
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_duration_ex
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_duration(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:4071,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:4078,1
    - Dst: lsr_setup_smil_anim
      Src: /src/gpac/src/laser/lsr_dec.c:4085,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:4081,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:4077,1
    - Dst: lsr_read_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:4080,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4083,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4070,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4069,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:4074,1
    - Dst: lsr_read_anim_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4076,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4089,1
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4068,1
    - Dst: lsr_read_attribute_type
      Src: /src/gpac/src/laser/lsr_dec.c:4072,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:4075,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:4082,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:4079,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:4086,1
    - Dst: lsr_read_group_content_post_init
      Src: /src/gpac/src/laser/lsr_dec.c:4087,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4092
      start: 4066
    functionDepth: 0
    functionLinenumber: 4066
    functionLinenumberEnd: 4092
    functionName: lsr_read_set
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_setup_smil_anim
    - lsr_read_attribute_type
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_anim_repeatCount
    - lsr_read_group_content
    - lsr_read_anim_fill
    - lsr_read_smil_times
    - lsr_read_anim_restart
    - lsr_read_duration
    - lsr_read_id
    - lsr_read_anim_value
    - lsr_read_group_content_post_init
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_lsr_enabled
    - lsr_read_attribute_name
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_set(GF_LASeRCodec *lsr, SVG_Element *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:407,1
    - Dst: lsr_read_private_attribute_container
      Src: /src/gpac/src/laser/lsr_dec.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: lsr_read_object_content
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_private_attribute_container
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_object_content(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:656,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:669,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:679,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:676,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:683,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:650,1
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_dec.c:655,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:666,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:673,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:682,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:659,1
    - Dst: strcat
      Src: /src/gpac/src/laser/lsr_dec.c:668,1
    - Dst: strcpy
      Src: /src/gpac/src/laser/lsr_dec.c:665,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:635,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:643,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:644,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:649,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:640,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:652,1
    - Dst: lsr_read_codec_IDREF
      Src: /src/gpac/src/laser/lsr_dec.c:674,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:680,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - lsr
    - iri
    - name
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 686
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 686
    functionName: lsr_read_any_uri
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - lsr_read_codec_IDREF
    - lsr_read_vluimsbf5
    - strcpy
    - gf_bs_available
    - gf_free
    - gf_bs_read_data
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_any_uri(GF_LASeRCodec *lsr, XMLRI *iri, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4097,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4099,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4098,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4100,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4101,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4102,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4106,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4107,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:4109,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4112,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4113,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4094
    functionDepth: 0
    functionLinenumber: 4094
    functionLinenumberEnd: 4116
    functionName: lsr_read_simpleLayout
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_coordinate
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_simpleLayout(GF_LASeRCodec *lsr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:324,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:334,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:333,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:328,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:329,1
    - Dst: lsr_read_extend_class
      Src: /src/gpac/src/laser/lsr_dec.c:338,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:342,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 346
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 346
    functionName: lsr_read_private_element_container
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - gf_bs_skip_bytes
    - GF_LSR_READ_INT
    - lsr_read_extend_class
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_private_element_container(GF_LASeRCodec *lsr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:902,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - lsr
    - val
    argTypes:
    - GF_LASeRCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 906
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 906
    functionName: lsr_translate_scale
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed lsr_translate_scale(GF_LASeRCodec *lsr, u32 val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3309,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:3313,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3315
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3315
    functionName: lsr_read_content_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_content_type(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3344,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:3348,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3350,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - lsr
    - n
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 3374
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3374
    functionName: lsr_read_value_with_units
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_value_with_units(GF_LASeRCodec *lsr, SVG_Number
      *n, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3731,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3733,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3734,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3732,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3735,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3736,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3737,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3738,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3739,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3740,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3743
      start: 3729
    functionDepth: 0
    functionLinenumber: 3729
    functionLinenumberEnd: 3743
    functionName: lsr_read_ellipse
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_coordinate_ptr
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_ellipse(GF_LASeRCodec *lsr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:353,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:355,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:362,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:358,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:354,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:367,1
    - Dst: privateAttribute
      Src: /src/gpac/src/laser/lsr_dec.c:369,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:375,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:380,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_dec.c:384,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 387
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 387
    functionName: lsr_read_private_attribute_container
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - gf_bs_available
    - privateAttribute
    - gf_bs_align
    - gf_bs_skip_bytes
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_private_attribute_container(GF_LASeRCodec *lsr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:912,1
    - Dst: lsr_read_extension
      Src: /src/gpac/src/laser/lsr_dec.c:922,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:926,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:937,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:930,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_dec.c:938,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:948,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:916,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:919,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_dec.c:940,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:943,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:947,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/laser/lsr_dec.c:910,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:928,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_dec.c:929,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:939,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:935,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:918,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:914,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_dec.c:931,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:945,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_dec.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - lsr
    - mx
    argTypes:
    - GF_LASeRCodec*
    - SVG_Transform*
    constantsTouched: []
    func_position:
      end: 952
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 952
    functionName: lsr_read_matrix
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - lsr_translate_scale
    - gf_mx2d_init
    - lsr_read_extension
    - lsr_read_fixed_16_8
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_matrix(GF_LASeRCodec *lsr, SVG_Transform *mx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3319,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3325,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:3328,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3322,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3323,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:3331,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:3337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3340
    functionName: lsr_read_script_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - gf_strdup
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_script_type(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3381,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:3387,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3384,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3383,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - lsr
    - elt
    - tag
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3392
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3392
    functionName: lsr_read_clip_time
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_clip_time(GF_LASeRCodec *lsr, GF_Node *elt, u32
      tag, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3747,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3749,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3748,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3750,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3751,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3752,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3753,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3754,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3755,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3756,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3758,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3770
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3770
    functionName: lsr_read_foreignObject
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_coordinate_ptr
    - lsr_read_stroke
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_foreignObject(GF_LASeRCodec *lsr) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1504,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1508,1
    - Dst: lsr_read_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_dec.c:1564,1
    - Dst: lsr_read_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_dec.c:1581,1
    - Dst: lsr_read_duration_ex
      Src: /src/gpac/src/laser/lsr_dec.c:1724,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1648,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1442,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1584,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1568,1
    - Dst: lsr_read_duration_ex
      Src: /src/gpac/src/laser/lsr_dec.c:1727,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1587,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1446,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:1471,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1526,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1530,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1543,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1571,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1610,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1651,1
    - Dst: gf_realloc
      Src: /src/gpac/src/laser/lsr_dec.c:1550,1
    - Dst: lsr_read_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_dec.c:1669,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1453,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1461,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1457,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:1685,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1714,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1432,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1449,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1673,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1704,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:1556,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1654,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1465,1
    - Dst: gf_realloc
      Src: /src/gpac/src/laser/lsr_dec.c:1549,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1594,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:1626,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1590,1
    - Dst: lsr_read_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_dec.c:1574,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1629,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1678,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1441,1
    - Dst: lsr_read_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_dec.c:1691,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1657,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1636,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1482,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1578,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1694,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:1707,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1458,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1462,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1454,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1660,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1633,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1697,1
    - Dst: lsr_read_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_dec.c:1466,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1511,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1639,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1684,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_dec.c:1686,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1548,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1663,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1514,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:1710,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1642,1
    - Dst: lsr_read_matrix
      Src: /src/gpac/src/laser/lsr_dec.c:1666,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1450,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1473,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1492,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:1700,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1435,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1597,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1613,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1444,1
    - Dst: gf_lsr_rare_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:1478,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1495,1
    - Dst: lsr_read_line_increment_type
      Src: /src/gpac/src/laser/lsr_dec.c:1517,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1533,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:1537,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:1622,1
    - Dst: lsr_read_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_dec.c:1619,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1498,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1520,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1718,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1600,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1523,1
    - Dst: lsr_read_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_dec.c:1606,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1430,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:1488,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1501,1
    - Dst: lsr_read_focus
      Src: /src/gpac/src/laser/lsr_dec.c:1645,1
    - Dst: lsr_read_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_dec.c:1603,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:1721,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 164
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1732
    functionName: lsr_read_rare_full
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_paint
    - lsr_read_matrix
    - lsr_read_byte_align_string_list
    - lsr_read_byte_align_string
    - lsr_read_fixed_16_8i
    - gf_strdup
    - lsr_read_duration_ex
    - gf_lsr_rare_type_to_attribute
    - gf_list_get
    - lsr_read_vluimsbf5
    - lsr_read_focus
    - lsr_read_smil_times
    - gf_bs_read_int
    - gf_node_get_attribute_by_tag
    - lsr_read_line_increment_type
    - gf_realloc
    - GF_LSR_READ_INT
    - lsr_read_fixed_16_8
    - lsr_read_fixed_clamp
    - lsr_read_any_uri
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_rare_full(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3682,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3683,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3684,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3686,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:3685,1
    - Dst: lsr_read_lsr_enabled
      Src: /src/gpac/src/laser/lsr_dec.c:3687,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3688,1
    - Dst: lsr_read_command_list
      Src: /src/gpac/src/laser/lsr_dec.c:3689,1
    - Dst: gf_node_init
      Src: /src/gpac/src/laser/lsr_dec.c:3692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3694
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3694
    functionName: lsr_read_conditional
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_smil_times
    - lsr_read_command_list
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    - lsr_read_lsr_enabled
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_conditional(GF_LASeRCodec *lsr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3810,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3813,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3811,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3814,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3812,1
    - Dst: lsr_read_opacity
      Src: /src/gpac/src/laser/lsr_dec.c:3815,1
    - Dst: lsr_read_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_dec.c:3817,1
    - Dst: lsr_read_content_type
      Src: /src/gpac/src/laser/lsr_dec.c:3818,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3819,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3820,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3825,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3821,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3822,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3824,1
    - Dst: lsr_read_transform_behavior
      Src: /src/gpac/src/laser/lsr_dec.c:3823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3827
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3827
    functionName: lsr_read_image
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_opacity
    - lsr_read_id
    - lsr_read_href
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_coordinate_ptr
    - lsr_read_transform_behavior
    - lsr_read_preserve_aspect_ratio
    - lsr_read_content_type
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_image(GF_LASeRCodec *lsr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5241,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5250,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5246,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5247,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 5253
      start: 5238
    functionDepth: 0
    functionLinenumber: 5238
    functionLinenumberEnd: 5253
    functionName: lsr_get_attribute_name
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_get_attribute_name(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5841,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5844,1
    - Dst: lsr_get_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:5847,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5850,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5845,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - lsr
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 5853
      start: 5838
    functionDepth: 0
    functionLinenumber: 5838
    functionLinenumberEnd: 5853
    functionName: lsr_read_save
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_any_attribute
    - lsr_read_vluimsbf5
    - lsr_get_attribute_name
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_save(GF_LASeRCodec *lsr, GF_List *com_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3697,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3699,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3698,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3701,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3700,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3702,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3703,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3706
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3706
    functionName: lsr_read_cursorManager
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - lsr_read_href
    - gf_node_new
    - lsr_read_coordinate_ptr
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_cursorManager(GF_LASeRCodec *lsr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3830,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3836,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3840,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:3834,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3838,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3841,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3842,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3843,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3845,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3846,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3853,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3850,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3847,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - lsr
    - is_same
    argTypes:
    - GF_LASeRCodec*
    - Bool
    constantsTouched: []
    func_position:
      end: 3855
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3855
    functionName: lsr_read_line
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - GF_LOG
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_coordinate_ptr
    - lsr_read_stroke
    - lsr_restore_base
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_line(GF_LASeRCodec *lsr, Bool is_same) '
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5316,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5391,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/laser/lsr_dec.c:5475,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:5517,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5639,1
    - Dst: lsr_read_update_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:5658,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5690,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/laser/lsr_dec.c:5463,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5280,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5308,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/laser/lsr_dec.c:5336,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/laser/lsr_dec.c:5511,1
    - Dst: lsr_read_update_value
      Src: /src/gpac/src/laser/lsr_dec.c:5450,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5542,1
    - Dst: gf_sg_vrml_mf_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5570,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5610,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5614,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5641,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5520,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/laser/lsr_dec.c:5468,1
    - Dst: lsr_get_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:5267,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5277,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5327,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/laser/lsr_dec.c:5329,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/laser/lsr_dec.c:5462,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:5442,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5516,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5529,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:5540,1
    - Dst: lsr_read_update_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:5699,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5513,1
    - Dst: lsr_read_codec_IDREF_command
      Src: /src/gpac/src/laser/lsr_dec.c:5279,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5382,1
    - Dst: gf_dom_new_text_node
      Src: /src/gpac/src/laser/lsr_dec.c:5401,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:5535,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5576,1
    - Dst: lsr_read_update_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:5683,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:5594,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5294,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/laser/lsr_dec.c:5334,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/laser/lsr_dec.c:5338,1
    - Dst: lsr_read_update_value
      Src: /src/gpac/src/laser/lsr_dec.c:5407,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5563,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/laser/lsr_dec.c:5608,1
    - Dst: gf_node_list_del_child_idx
      Src: /src/gpac/src/laser/lsr_dec.c:5674,1
    - Dst: lsr_read_update_value_indexed
      Src: /src/gpac/src/laser/lsr_dec.c:5504,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5371,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5477,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5272,1
    - Dst: lsr_read_update_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:5313,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5351,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5363,1
    - Dst: lsr_read_update_value_indexed
      Src: /src/gpac/src/laser/lsr_dec.c:5410,1
    - Dst: gf_dom_new_text_node
      Src: /src/gpac/src/laser/lsr_dec.c:5484,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/laser/lsr_dec.c:5527,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5541,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5544,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5577,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_dec.c:5452,1
    - Dst: gf_xml_get_attribute_type
      Src: /src/gpac/src/laser/lsr_dec.c:5388,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5402,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/laser/lsr_dec.c:5473,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/laser/lsr_dec.c:5594,1
    - Dst: lsr_read_update_content_model
      Src: /src/gpac/src/laser/lsr_dec.c:5651,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5271,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5496,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5625,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:5515,1
    - Dst: lsr_read_update_value
      Src: /src/gpac/src/laser/lsr_dec.c:5499,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:5528,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5603,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/laser/lsr_dec.c:5616,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5653,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5397,1
    - Dst: gf_sg_parent_reset
      Src: /src/gpac/src/laser/lsr_dec.c:5493,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5441,1
    - Dst: lsr_read_codec_IDREF_command
      Src: /src/gpac/src/laser/lsr_dec.c:5285,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5304,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5319,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5322,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/laser/lsr_dec.c:5494,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5522,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5394,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5642,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/laser/lsr_dec.c:5675,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5287,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5298,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/laser/lsr_dec.c:5324,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:5406,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5644,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/laser/lsr_dec.c:5469,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5315,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:5537,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5539,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5562,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5580,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5605,1
    - Dst: lsr_read_update_value
      Src: /src/gpac/src/laser/lsr_dec.c:5589,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/laser/lsr_dec.c:5488,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5518,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5600,1
    - Dst: gf_svg_attributes_add
      Src: /src/gpac/src/laser/lsr_dec.c:5620,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5681,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5695,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/laser/lsr_dec.c:5686,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5631,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5330,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/laser/lsr_dec.c:5343,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/laser/lsr_dec.c:5352,1
    - Dst: gf_node_list_insert_child
      Src: /src/gpac/src/laser/lsr_dec.c:5486,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5533,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:5536,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:5588,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5602,1
    - Dst: gf_svg_attributes_copy
      Src: /src/gpac/src/laser/lsr_dec.c:5618,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/laser/lsr_dec.c:5688,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/laser/lsr_dec.c:5470,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5403,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/laser/lsr_dec.c:5385,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:5532,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:5538,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/laser/lsr_dec.c:5615,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5659,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5670,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/laser/lsr_dec.c:5677,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/laser/lsr_dec.c:5700,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5485,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/laser/lsr_dec.c:5474,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/laser/lsr_dec.c:5497,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5275,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5276,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5339,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:5521,1
    - Dst: gf_svg_attributes_add
      Src: /src/gpac/src/laser/lsr_dec.c:5593,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/laser/lsr_dec.c:5645,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/laser/lsr_dec.c:5660,1
    - Dst: lsr_read_update_value_indexed
      Src: /src/gpac/src/laser/lsr_dec.c:5591,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/laser/lsr_dec.c:5526,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 375
    argCount: 3
    argNames:
    - lsr
    - com_list
    - com_type
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 5705
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5705
    functionName: lsr_read_add_replace_insert
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_list_del_child_idx
    - gf_sg_find_node
    - gf_mx2d_add_scale
    - gf_sg_command_field_new
    - gf_sg_parent_reset
    - gf_mx2d_add_rotation
    - lsr_read_byte_align_string
    - gf_node_list_insert_child
    - gf_node_unregister
    - gf_dom_add_text_node
    - gf_sg_command_del
    - gf_node_replace
    - gf_list_del
    - gf_svg_create_attribute_value
    - gf_list_pop_front
    - gf_xml_get_attribute_type
    - gf_mx2d_init
    - lsr_read_update_content_model
    - gf_node_list_get_child
    - lsr_read_update_value
    - gf_assert
    - gf_mx2d_decompose
    - gf_node_changed
    - lsr_read_codec_IDREF_command
    - gf_node_unregister_children
    - gf_list_insert
    - gf_node_list_add_child
    - gf_sg_vrml_mf_insert
    - gf_list_get
    - gf_mx2d_add_translation
    - gf_svg_delete_attribute_value
    - gf_sg_command_new
    - lsr_read_vluimsbf5
    - gf_node_get_field
    - gf_node_get_attribute_by_tag
    - lsr_get_attribute_name
    - gf_free
    - gf_node_register
    - gf_svg_attributes_add
    - gf_node_list_add_child_last
    - lsr_read_any_attribute
    - gf_lsr_anim_type_to_attribute
    - gf_dom_new_text_node
    - gf_svg_attributes_copy
    - gf_node_get_graph
    - gf_list_rem
    - lsr_read_update_value_indexed
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_add_replace_insert(GF_LASeRCodec *lsr, GF_List
      *com_list, u32 com_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5857,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 5860
      start: 5855
    functionDepth: 0
    functionLinenumber: 5855
    functionLinenumberEnd: 5860
    functionName: lsr_read_restore
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_byte_align_string
    - lsr_read_any_attribute
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_restore(GF_LASeRCodec *lsr, GF_List *com_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:72,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:75,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:80,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:81,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:89,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:86,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:88,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:96,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:93,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:95,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:94,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:74,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:79,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:82,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:73,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:78,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:87,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: gf_laser_decoder_del
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_laser_decoder_del(GF_LASeRCodec *codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1750,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1754,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1756
    functionName: lsr_read_stroke
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - lsr_read_paint
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_stroke(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_attribute_name_ex
      Src: /src/gpac/src/laser/lsr_dec.c:1824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1825
    functionName: lsr_read_attribute_name
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_attribute_name_ex
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_attribute_name(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3775,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:3778,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3780,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3784,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3785,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3786,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3787,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3788,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3789,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - lsr
    - is_same
    argTypes:
    - GF_LASeRCodec*
    - Bool
    constantsTouched: []
    func_position:
      end: 3794
      start: 3773
    functionDepth: 0
    functionLinenumber: 3773
    functionLinenumberEnd: 3794
    functionName: lsr_read_g
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - GF_LOG
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - lsr_restore_base
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_g(GF_LASeRCodec *lsr, Bool is_same) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3885,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3888,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3889,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3886,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3887,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3892
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3892
    functionName: lsr_read_mpath
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - lsr_read_href
    - gf_node_new
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_mpath(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/laser/lsr_dec.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_LASeRCodec*
    - u16
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: lsr_get_stream
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: LASeRStreamInfo*
    signature: 'static LASeRStreamInfo *lsr_get_stream(GF_LASeRCodec *codec, u16 ESID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - co
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: lsr_end_of_stream
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void lsr_end_of_stream(void *co) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1760,1
    - Dst: lsr_read_any_uri
      Src: /src/gpac/src/laser/lsr_dec.c:1764,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1766
    functionName: lsr_read_href
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_any_uri
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_href(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:1839,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1833,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1845,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/laser/lsr_dec.c:1881,1
    - Dst: gf_node_unregister_iri
      Src: /src/gpac/src/laser/lsr_dec.c:1882,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1869,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1836,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1848,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1832,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1851,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/laser/lsr_dec.c:1858,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1883,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1875,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:1861,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/laser/lsr_dec.c:1842,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1857,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1866,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1859,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1874,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1884,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 27
    argCount: 3
    argNames:
    - lsr
    - val
    - coded_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValue*
    - u32
    constantsTouched: []
    func_position:
      end: 1890
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1890
    functionName: lsr_delete_anim_value
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_node_unregister_iri
    - gf_list_count
    - gf_free
    - gf_svg_delete_attribute_value
    - gf_list_del_item
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void lsr_delete_anim_value(GF_LASeRCodec *lsr, SMIL_AnimateValue
      *val, u32 coded_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2867,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2874,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2879,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2872,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:2880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2883
    functionName: lsr_read_fraction_12_item
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - GF_LSR_READ_INT
    - INT2FIX
    - GF_SAFEALLOC
    linkageType: ''
    returnType: Fixed*
    signature: 'static Fixed *lsr_read_fraction_12_item(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3800,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3802,1
    - Dst: lsr_read_fixed_clamp
      Src: /src/gpac/src/laser/lsr_dec.c:3804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3807
      start: 3796
    functionDepth: 0
    functionLinenumber: 3796
    functionLinenumberEnd: 3807
    functionName: lsr_read_opacity
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - lsr_read_fixed_clamp
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_opacity(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3896,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3905,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3904,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:3902,1
    - Dst: lsr_restore_base
      Src: /src/gpac/src/laser/lsr_dec.c:3900,1
    - Dst: lsr_read_path_type
      Src: /src/gpac/src/laser/lsr_dec.c:3906,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3908,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3909,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3910,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3911,1
    - Dst: lsr_read_path_type
      Src: /src/gpac/src/laser/lsr_dec.c:3912,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3919,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3922,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3916,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3913,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:3917,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - lsr
    - same_type
    argTypes:
    - GF_LASeRCodec*
    - u32
    constantsTouched: []
    func_position:
      end: 3924
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3924
    functionName: lsr_read_path
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - GF_LOG
    - lsr_read_path_type
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_fixed_16_8
    - lsr_read_stroke
    - lsr_restore_base
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_path(GF_LASeRCodec *lsr, u32 same_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:286,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:293,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/laser/lsr_dec.c:289,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/laser/lsr_dec.c:292,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - lsr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: lsr_read_extension
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - lsr_read_vluimsbf5
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_read_data
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_extension(GF_LASeRCodec *lsr, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1792,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1795,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1798
    functionName: lsr_read_calc_mode
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_calc_mode(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3398,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3401,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3402
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3402
    functionName: lsr_read_attribute_type
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_attribute_type(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3645,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3646,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3647,1
    - Dst: lsr_read_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3649,1
    - Dst: lsr_read_smil_times
      Src: /src/gpac/src/laser/lsr_dec.c:3648,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:3650,1
    - Dst: lsr_read_anim_repeatCount
      Src: /src/gpac/src/laser/lsr_dec.c:3651,1
    - Dst: lsr_read_repeat_duration
      Src: /src/gpac/src/laser/lsr_dec.c:3652,1
    - Dst: lsr_read_anim_restart
      Src: /src/gpac/src/laser/lsr_dec.c:3653,1
    - Dst: lsr_read_sync_behavior
      Src: /src/gpac/src/laser/lsr_dec.c:3654,1
    - Dst: lsr_read_content_type
      Src: /src/gpac/src/laser/lsr_dec.c:3656,1
    - Dst: lsr_read_clip_time
      Src: /src/gpac/src/laser/lsr_dec.c:3660,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3662,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3663,1
    - Dst: lsr_read_sync_tolerance
      Src: /src/gpac/src/laser/lsr_dec.c:3655,1
    - Dst: lsr_read_sync_reference
      Src: /src/gpac/src/laser/lsr_dec.c:3661,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:3657,1
    - Dst: lsr_read_clip_time
      Src: /src/gpac/src/laser/lsr_dec.c:3659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - lsr
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3665
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3665
    functionName: lsr_read_audio
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_clip_time
    - lsr_read_sync_reference
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_smil_times
    - lsr_read_rare
    - lsr_read_anim_restart
    - lsr_read_sync_tolerance
    - lsr_read_duration
    - lsr_read_id
    - lsr_read_href
    - lsr_read_repeat_duration
    - gf_node_new
    - lsr_read_anim_repeatCount
    - lsr_read_sync_behavior
    - lsr_read_content_type
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_audio(GF_LASeRCodec *lsr, SVG_Element *parent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:303,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/laser/lsr_dec.c:305,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/laser/lsr_dec.c:310,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/laser/lsr_dec.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - lsr
    - out_data
    - out_len
    - name
    argTypes:
    - GF_LASeRCodec*
    - char**
    - u32*
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: lsr_read_extend_class
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_is_align
    - lsr_read_vluimsbf5
    - gf_bs_read_int
    - gf_bs_skip_bytes
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_extend_class(GF_LASeRCodec *lsr, char **out_data,
      u32 *out_len, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1804,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1815,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1810,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1811,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1808,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1816,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:1819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - lsr
    - n
    - skippable
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 1821
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1821
    functionName: lsr_read_attribute_name_ex
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_vluimsbf5
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - gf_lsr_anim_type_to_attribute
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_attribute_name_ex(GF_LASeRCodec *lsr, GF_Node
      *n, Bool skippable) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3410,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3413,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3418,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3416,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3417,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3451
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3451
    functionName: lsr_read_preserve_aspect_ratio
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_preserve_aspect_ratio(GF_LASeRCodec *lsr, GF_Node
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3668,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3672,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:3670,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3669,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3671,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3673,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3674,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3675,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3676,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3679
      start: 3666
    functionDepth: 0
    functionLinenumber: 3666
    functionLinenumberEnd: 3679
    functionName: lsr_read_circle
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_id
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_coordinate_ptr
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_circle(GF_LASeRCodec *lsr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2326,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2331,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2334
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2334
    functionName: lsr_read_anim_fill
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_anim_fill(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2725,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2734,1
    - Dst: lsr_delete_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2729,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2744,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2755,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2765,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:2768,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:2759,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:2769,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:2782,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2793,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2753,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2760,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:2780,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:2800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2791,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:2809,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2741,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_dec.c:2751,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:2767,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/laser/lsr_dec.c:2767,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2779,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:2801,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2803,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/laser/lsr_dec.c:2806,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:2785,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2798,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_dec.c:2720,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/laser/lsr_dec.c:2728,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:2757,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:2758,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_dec.c:2762,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_dec.c:2773,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:2799,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/laser/lsr_dec.c:2804,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 105
    argCount: 3
    argNames:
    - lsr
    - val
    - transform_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValues*
    - u32
    constantsTouched: []
    func_position:
      end: 2813
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2813
    functionName: lsr_translate_anim_trans_values
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_rem_last
    - gf_malloc
    - gf_list_get
    - gf_list_last
    - gf_list_del
    - gf_muldiv
    - gf_list_count
    - GF_LOG
    - lsr_delete_anim_value
    - INT2FIX
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void lsr_translate_anim_trans_values(GF_LASeRCodec *lsr, SMIL_AnimateValues
      *val, u32 transform_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: gf_laser_decode_has_conditionnals
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_laser_decode_has_conditionnals(GF_LASeRCodec *codec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1354,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_dec.c:1364,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1358,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_dec.c:1362,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_dec.c:1363,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1365,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_dec.c:1366,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1369,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_dec.c:1371,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:1374,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:1383,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1380,1
    - Dst: lsr_read_smil_time
      Src: /src/gpac/src/laser/lsr_dec.c:1382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 6
    argNames:
    - lsr
    - n
    - tag
    - times
    - name
    - skipable
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - SMIL_Times*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1386
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1386
    functionName: lsr_read_smil_times
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - gf_list_last
    - lsr_read_vluimsbf5
    - gf_list_count
    - lsr_read_smil_time
    - gf_node_get_attribute_by_tag
    - GF_SAFEALLOC
    - gf_free
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_smil_times(GF_LASeRCodec *lsr, GF_Node *n, u32
      tag, SMIL_Times *times, const char *name, Bool skipable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3861,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:3864,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:3863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 3866
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3866
    functionName: lsr_read_gradient_units
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_gradient_units(GF_LASeRCodec *lsr, GF_Node *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4029,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4032,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:4031,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4030,1
    - Dst: lsr_read_script_type
      Src: /src/gpac/src/laser/lsr_dec.c:4033,1
    - Dst: lsr_read_href
      Src: /src/gpac/src/laser/lsr_dec.c:4034,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4035,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4038
      start: 4027
    functionDepth: 0
    functionLinenumber: 4027
    functionLinenumberEnd: 4038
    functionName: lsr_read_script
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_script_type
    - lsr_read_rare
    - lsr_read_id
    - lsr_read_href
    - gf_node_new
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_script(GF_LASeRCodec *lsr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5716,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5720,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5749,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5723,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5725,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5728,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5730,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5744,1
    - Dst: gf_lsr_anim_type_to_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5737,1
    - Dst: lsr_get_attribute_name
      Src: /src/gpac/src/laser/lsr_dec.c:5713,1
    - Dst: lsr_read_codec_IDREF_command
      Src: /src/gpac/src/laser/lsr_dec.c:5718,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5724,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/laser/lsr_dec.c:5734,1
    - Dst: gf_node_list_del_child
      Src: /src/gpac/src/laser/lsr_dec.c:5757,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/laser/lsr_dec.c:5759,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/laser/lsr_dec.c:5755,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/laser/lsr_dec.c:5750,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/laser/lsr_dec.c:5762,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5717,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/laser/lsr_dec.c:5739,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - lsr
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 5766
      start: 5707
    functionDepth: 0
    functionLinenumber: 5707
    functionLinenumberEnd: 5766
    functionName: lsr_read_delete
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_replace
    - lsr_read_any_attribute
    - gf_sg_command_new
    - lsr_read_vluimsbf5
    - gf_lsr_anim_type_to_attribute
    - gf_node_list_del_child
    - gf_sg_find_node
    - gf_node_get_field
    - lsr_get_attribute_name
    - gf_sg_command_field_new
    - gf_node_list_get_child
    - gf_node_register
    - GF_LSR_READ_INT
    - gf_node_unregister
    - lsr_read_codec_IDREF_command
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_delete(GF_LASeRCodec *lsr, GF_List *com_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2338,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2342,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2341,1
    - Dst: lsr_read_fixed_16_8
      Src: /src/gpac/src/laser/lsr_dec.c:2346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2349
    functionName: lsr_read_anim_repeatCount
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_anim_repeatCount(GF_LASeRCodec *lsr, GF_Node
      *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2818,1
    - Dst: lsr_read_an_anim_value
      Src: /src/gpac/src/laser/lsr_dec.c:2824,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:2821,1
    - Dst: lsr_translate_anim_trans_value
      Src: /src/gpac/src/laser/lsr_dec.c:2828,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:2823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - lsr
    - n
    - tag
    - name
    - tr_type
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2831
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2831
    functionName: lsr_read_anim_value_ex
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - lsr_translate_anim_trans_value
    - GF_LSR_READ_INT
    - lsr_read_an_anim_value
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_anim_value_ex(GF_LASeRCodec *lsr, GF_Node *n,
      u32 tag, const char *name, u32 *tr_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_dec.c:188,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:195,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_dec.c:199,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_dec.c:197,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_dec.c:197,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/laser/lsr_dec.c:200,1
    - Dst: lsr_decode_laser_unit
      Src: /src/gpac/src/laser/lsr_dec.c:202,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_dec.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - codec
    - ESID
    - data
    - data_len
    argTypes:
    - GF_LASeRCodec*
    - u16
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: gf_laser_decode_au
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_set_eos_callback
    - gf_bs_new
    - INT2FIX
    - lsr_get_stream
    - lsr_decode_laser_unit
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_decode_au(GF_LASeRCodec *codec, u16 ESID,
      const u8 *data, u32 data_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1394,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1398,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1407,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1405,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1411,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:1412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - lsr
    - n
    - tag
    - smil
    - name
    - skipable
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - u32
    - SMIL_Duration*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1418
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1418
    functionName: lsr_read_duration_ex
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - GF_LSR_READ_INT
    - lsr_read_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_duration_ex(GF_LASeRCodec *lsr, GF_Node *n, u32
      tag, SMIL_Duration *smil, const char *name, Bool skipable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:1739,1
    - Dst: lsr_read_paint
      Src: /src/gpac/src/laser/lsr_dec.c:1743,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:1742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1745
    functionName: lsr_read_fill
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_node_get_attribute_by_tag
    - lsr_read_paint
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_read_fill(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:3869,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:3872,1
    - Dst: lsr_read_rare
      Src: /src/gpac/src/laser/lsr_dec.c:3871,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:3870,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:3873,1
    - Dst: lsr_read_gradient_units
      Src: /src/gpac/src/laser/lsr_dec.c:3874,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3875,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3876,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3877,1
    - Dst: lsr_read_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_dec.c:3878,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:3879,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:3880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 3882
      start: 3867
    functionDepth: 0
    functionLinenumber: 3867
    functionLinenumberEnd: 3882
    functionName: lsr_read_linearGradient
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_gradient_units
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_rare
    - lsr_read_id
    - gf_node_new
    - lsr_read_coordinate_ptr
    - lsr_read_fill
    - lsr_read_stroke
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_linearGradient(GF_LASeRCodec *lsr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/laser/lsr_dec.c:4043,1
    - Dst: lsr_read_rare_full
      Src: /src/gpac/src/laser/lsr_dec.c:4045,1
    - Dst: lsr_read_fill
      Src: /src/gpac/src/laser/lsr_dec.c:4046,1
    - Dst: lsr_read_id
      Src: /src/gpac/src/laser/lsr_dec.c:4044,1
    - Dst: lsr_read_stroke
      Src: /src/gpac/src/laser/lsr_dec.c:4047,1
    - Dst: lsr_read_eRR
      Src: /src/gpac/src/laser/lsr_dec.c:4048,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4049,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/laser/lsr_dec.c:4052,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4053,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4055,1
    - Dst: lsr_read_group_content
      Src: /src/gpac/src/laser/lsr_dec.c:4062,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:4061,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:4057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 4064
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4064
    functionName: lsr_read_selector
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - lsr_read_group_content
    - lsr_read_any_attribute
    - lsr_read_eRR
    - lsr_read_id
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - lsr_read_rare_full
    - lsr_read_fill
    - lsr_read_stroke
    - GF_LSR_READ_INT
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *lsr_read_selector(GF_LASeRCodec *lsr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lsr_read_event_type
      Src: /src/gpac/src/laser/lsr_dec.c:5774,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5779,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5795,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5798,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_dec.c:5813,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_dec.c:5817,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5822,1
    - Dst: gf_dom_event_fire
      Src: /src/gpac/src/laser/lsr_dec.c:5818,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5823,1
    - Dst: lsr_read_coordinate
      Src: /src/gpac/src/laser/lsr_dec.c:5797,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/laser/lsr_dec.c:5821,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_dec.c:5832,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5802,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_dec.c:5816,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/laser/lsr_dec.c:5810,1
    - Dst: lsr_read_any_attribute
      Src: /src/gpac/src/laser/lsr_dec.c:5806,1
    - Dst: lsr_read_vluimsbf5
      Src: /src/gpac/src/laser/lsr_dec.c:5780,1
    - Dst: lsr_to_dom_key
      Src: /src/gpac/src/laser/lsr_dec.c:5788,1
    - Dst: GF_LSR_READ_INT
      Src: /src/gpac/src/laser/lsr_dec.c:5777,1
    - Dst: lsr_read_codec_IDREF_command
      Src: /src/gpac/src/laser/lsr_dec.c:5800,1
    - Dst: lsr_read_byte_align_string
      Src: /src/gpac/src/laser/lsr_dec.c:5804,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_dec.c:5826,1
    - Dst: gf_node_register
      Src: /src/gpac/src/laser/lsr_dec.c:5828,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_dec.c:5833,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - lsr
    - com_list
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 5836
      start: 5768
    functionDepth: 0
    functionLinenumber: 5768
    functionLinenumberEnd: 5836
    functionName: lsr_read_send_event
    functionSourceFile: /src/gpac/src/laser/lsr_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_to_dom_key
    - memset
    - lsr_read_any_attribute
    - gf_sg_command_new
    - lsr_read_vluimsbf5
    - gf_sg_find_node
    - gf_dom_event_fire
    - lsr_read_event_type
    - FIX2INT
    - lsr_read_coordinate
    - gf_node_register
    - GF_LSR_READ_INT
    - lsr_read_byte_align_string
    - lsr_read_codec_IDREF_command
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_read_send_event(GF_LASeRCodec *lsr, GF_List *com_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1639,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1646,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1643,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - repeat
    argTypes:
    - GF_LASeRCodec*
    - SMIL_RepeatCount*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1649
    functionName: lsr_write_anim_repeat
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_fixed_16_8
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_anim_repeat(GF_LASeRCodec *lsr, SMIL_RepeatCount
      *repeat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1652,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1658,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1660,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - lsr
    - smil
    argTypes:
    - GF_LASeRCodec*
    - SMIL_Duration*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1663
    functionName: lsr_write_repeat_duration
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_repeat_duration(GF_LASeRCodec *lsr, SMIL_Duration
      *smil) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4220,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:4226,1
    - Dst: gf_strdup
      Src: /src/gpac/src/laser/lsr_enc.c:4226,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - lsr
    - font
    argTypes:
    - GF_LASeRCodec*
    - SVG_FontFamily*
    constantsTouched: []
    func_position:
      end: 4228
      start: 4213
    functionDepth: 0
    functionLinenumber: 4213
    functionLinenumberEnd: 4228
    functionName: lsr_check_font_index
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void lsr_check_font_index(GF_LASeRCodec *lsr, SVG_FontFamily
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:506,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:509,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - lsr
    - data
    - len
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: lsr_write_extend_class
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_extend_class(GF_LASeRCodec *lsr, char *data,
      u32 len, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:536,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - lsr
    - node
    - skippable
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: lsr_write_any_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_any_attribute(GF_LASeRCodec *lsr, SVG_Element
      *node, Bool skippable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:552,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:554,1
    - Dst: lsr_write_private_att_class
      Src: /src/gpac/src/laser/lsr_enc.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: lsr_write_private_attributes
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_private_att_class
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_private_attributes(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:2007,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2012,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2009,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2015,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2013,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:2016,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - lsr
    - l
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_List**
    - char*
    constantsTouched: []
    func_position:
      end: 2018
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2018
    functionName: lsr_write_float_list
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_count
    - lsr_write_vluimsbf5
    - lsr_write_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_float_list(GF_LASeRCodec *lsr, GF_List **l,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2330,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - lsr
    - href
    - parent
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2334
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2334
    functionName: lsr_write_href_anim
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_href
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_href_anim(GF_LASeRCodec *lsr, XMLRI *href, SVG_Element
      *parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3172,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3174,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3175,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3176,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3177,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3178,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3180
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3180
    functionName: lsr_write_tspan
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_tspan(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - lsr
    - index
    - name
    argTypes:
    - GF_LASeRCodec*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: lsr_write_private_attr_container
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_private_attr_container(GF_LASeRCodec *lsr, u32
      index, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:563,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:564,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - lsr
    - class_attr
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 568
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 568
    functionName: lsr_write_string_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_byte_align_string
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_string_attribute(GF_LASeRCodec *lsr, char *class_attr,
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_enc.c:2023,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2025,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:2024,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:2024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lsr
    - v
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    constantsTouched: []
    func_position:
      end: 2026
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2026
    functionName: lsr_get_bit_size
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - FIX2INT
    - gf_get_bit_size
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_get_bit_size(GF_LASeRCodec *lsr, Fixed v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2339,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2341,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - lsr
    - atts
    argTypes:
    - GF_LASeRCodec*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 2344
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2344
    functionName: lsr_write_attribute_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_attribute_type(GF_LASeRCodec *lsr, SVGAllAttributes
      *atts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3186,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:3195,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3194,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3193,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:3188,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3198,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3199,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3200,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3201,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3202,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3203,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3209,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3205,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3215,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3210,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3212,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:3211,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 3216
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3216
    functionName: lsr_write_use
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - lsr_write_href
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_use(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:183,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:191,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_enc.c:193,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:189,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_enc.c:189,1
    - Dst: lsr_write_laser_unit
      Src: /src/gpac/src/laser/lsr_enc.c:194,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/laser/lsr_enc.c:195,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_enc.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - codec
    - out_data
    - out_data_length
    argTypes:
    - GF_LASeRCodec*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: gf_laser_encoder_get_rap
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_bs_new
    - INT2FIX
    - lsr_write_laser_unit
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_encoder_get_rap(GF_LASeRCodec *codec, u8
      **out_data, u32 *out_data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:299,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:302,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:305,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lsr
    - href
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: lsr_get_IDREF_nb_bits
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_get_bit_size
    - gf_node_get_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_get_IDREF_nb_bits(GF_LASeRCodec *lsr, GF_Node *href) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2835,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2852,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2853,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:2837,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2854,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2855,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:2856,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2859,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2861,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2862,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2863,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2866,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2869,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:2865,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2864,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - lsr
    - elt
    - is_polyline
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2870
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2870
    functionName: lsr_write_polygon
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_point_sequence
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_polygon(GF_LASeRCodec *lsr, SVG_Element *elt,
      Bool is_polyline, Bool ommit_tag) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_lsr_anim_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3956,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/laser/lsr_enc.c:3958,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3969,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3977,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3980,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3979,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3968,1
    - Dst: lsr_write_codec_IDREF_Node
      Src: /src/gpac/src/laser/lsr_enc.c:3990,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3993,1
    - Dst: lsr_write_update_value
      Src: /src/gpac/src/laser/lsr_enc.c:3999,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4005,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3950,1
    - Dst: lsr_write_update_content_model
      Src: /src/gpac/src/laser/lsr_enc.c:4025,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4024,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3958,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3972,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3988,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3987,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3989,1
    - Dst: lsr_write_codec_IDREF_Node
      Src: /src/gpac/src/laser/lsr_enc.c:3996,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3998,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4002,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:4007,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/laser/lsr_enc.c:4012,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4015,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4027,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3951,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_enc.c:3958,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3961,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3962,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3963,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3967,1
    - Dst: gf_lsr_anim_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3986,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3992,1
    - Dst: lsr_write_update_value
      Src: /src/gpac/src/laser/lsr_enc.c:4003,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4013,1
    - Dst: lsr_write_update_content_model
      Src: /src/gpac/src/laser/lsr_enc.c:4018,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4023,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 2
    argNames:
    - lsr
    - com
    argTypes:
    - GF_LASeRCodec*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 4031
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 4031
    functionName: lsr_write_add_replace_insert
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_lsr_anim_type_from_attribute
    - gf_node_list_get_count
    - gf_list_get
    - GF_LSR_WRITE_INT
    - lsr_write_codec_IDREF_Node
    - lsr_write_update_content_model
    - lsr_write_update_value
    - GF_LOG
    - lsr_write_vluimsbf5
    - lsr_write_any_attribute
    - gf_svg_get_attribute_name
    - gf_node_get_class_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_write_add_replace_insert(GF_LASeRCodec *lsr, GF_Command
      *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:204,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:207,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:211,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - lsr
    - val
    - name
    argTypes:
    - GF_LASeRCodec*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: lsr_write_vluimsbf5
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_assert
    - gf_get_bit_size
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_vluimsbf5(GF_LASeRCodec *lsr, u32 val, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:317,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:323,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - lsr
    - fix
    - name
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    - char*
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: lsr_write_fixed_16_8
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - FIX2INT
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_fixed_16_8(GF_LASeRCodec *lsr, Fixed fix, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2874,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2877,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2878,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2879,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2876,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2880,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2881,1
    - Dst: lsr_write_gradient_units
      Src: /src/gpac/src/laser/lsr_enc.c:2882,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2883,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2884,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2886
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2886
    functionName: lsr_write_radialGradient
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - lsr_write_gradient_units
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_radialGradient(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_enc.c:4046,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:4048,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4054,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:4062,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4073,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4082,1
    - Dst: gf_lsr_anim_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:4077,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4074,1
    - Dst: lsr_write_codec_IDREF_Node
      Src: /src/gpac/src/laser/lsr_enc.c:4090,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:4091,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4115,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:4127,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4152,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4151,1
    - Dst: dom_to_lsr_key
      Src: /src/gpac/src/laser/lsr_enc.c:4106,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4139,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_enc.c:4184,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4150,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:4186,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4040,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4050,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4061,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4080,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4079,1
    - Dst: lsr_write_add_replace_insert
      Src: /src/gpac/src/laser/lsr_enc.c:4068,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4078,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4085,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4087,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4088,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4119,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:4126,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4156,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4129,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:4185,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4154,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4056,1
    - Dst: lsr_write_svg
      Src: /src/gpac/src/laser/lsr_enc.c:4063,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4098,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4117,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4125,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:4134,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:4137,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/laser/lsr_enc.c:4137,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4149,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4153,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4155,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_enc.c:4180,1
    - Dst: lsr_write_codec_IDREF_Node
      Src: /src/gpac/src/laser/lsr_enc.c:4157,1
    - Dst: lsr_write_codec_IDREF_Node
      Src: /src/gpac/src/laser/lsr_enc.c:4131,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:4126,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4060,1
    - Dst: lsr_write_event_type
      Src: /src/gpac/src/laser/lsr_enc.c:4112,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4116,1
    - Dst: ABS
      Src: /src/gpac/src/laser/lsr_enc.c:4117,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4133,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:4127,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4136,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4141,1
    - Dst: lsr_get_IDREF_nb_bits
      Src: /src/gpac/src/laser/lsr_enc.c:4147,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4182,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/laser/lsr_enc.c:4179,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 125
    argCount: 4
    argNames:
    - lsr
    - com_list
    - cond
    - first_implicit
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 4189
      start: 4033
    functionDepth: 0
    functionLinenumber: 4033
    functionLinenumberEnd: 4189
    functionName: lsr_write_command_list
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_coordinate
    - gf_bs_get_content
    - GF_LSR_WRITE_INT
    - gf_bs_write_data
    - INT2FIX
    - lsr_write_vluimsbf5
    - lsr_get_IDREF_nb_bits
    - gf_dom_get_key_name
    - lsr_write_svg
    - gf_bs_del
    - gf_list_count
    - dom_to_lsr_key
    - gf_assert
    - lsr_write_event_type
    - gf_list_get
    - lsr_write_add_replace_insert
    - lsr_write_codec_IDREF_Node
    - gf_bs_new
    - ABS
    - gf_free
    - lsr_write_byte_align_string
    - gf_lsr_anim_type_from_attribute
    - lsr_write_any_attribute
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_write_command_list(GF_LASeRCodec *lsr, GF_List *com_list,
      SVG_Element *cond, Bool first_implicit) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4344,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4378,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4403,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4413,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4415,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:4419,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4426,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4437,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4340,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_enc.c:4355,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:4356,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4373,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4389,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4397,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4399,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4404,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4411,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:4422,1
    - Dst: lsr_write_command_list
      Src: /src/gpac/src/laser/lsr_enc.c:4446,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4430,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4441,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/laser/lsr_enc.c:4338,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4342,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4366,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4375,1
    - Dst: lsr_check_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:4379,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4377,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4380,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4400,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4402,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:4407,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4435,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4449,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:4416,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/laser/lsr_enc.c:4444,1
    - Dst: lsr_write_extension
      Src: /src/gpac/src/laser/lsr_enc.c:4451,1
    - Dst: lsr_write_extension
      Src: /src/gpac/src/laser/lsr_enc.c:4346,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:4352,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4354,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_enc.c:4357,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4370,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/laser/lsr_enc.c:4370,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4376,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4384,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4418,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:4442,1
    - Dst: lsr_write_svg
      Src: /src/gpac/src/laser/lsr_enc.c:4444,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:4443,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 3
    argNames:
    - lsr
    - com_list
    - reset_encoding_context
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 4454
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4454
    functionName: lsr_write_laser_unit
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_last
    - lsr_check_font_and_color
    - lsr_check_col_index
    - lsr_write_svg
    - gf_sg_get_root_node
    - gf_list_count
    - lsr_write_command_list
    - lsr_write_vluimsbf5
    - lsr_write_any_attribute
    - lsr_write_extension
    - lsr_write_byte_align_string
    - gf_free
    - lsr_check_font_index
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_write_laser_unit(GF_LASeRCodec *lsr, GF_List *com_list,
      Bool reset_encoding_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:232,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:229,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:231,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - lsr
    - val
    - extra_words
    - name
    argTypes:
    - GF_LASeRCodec*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: lsr_write_vluimsbf5_ex
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_assert
    - gf_get_bit_size
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_vluimsbf5_ex(GF_LASeRCodec *lsr, u32 val, u32
      extra_words, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2991,1
    - Dst: lsr_write_attribute_type
      Src: /src/gpac/src/laser/lsr_enc.c:2996,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2993,1
    - Dst: lsr_write_animatable
      Src: /src/gpac/src/laser/lsr_enc.c:2995,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2994,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2997,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2998,1
    - Dst: lsr_write_anim_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2999,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:3000,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:3001,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:3002,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3005,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3006,1
    - Dst: lsr_write_href_anim
      Src: /src/gpac/src/laser/lsr_enc.c:3004,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:3003,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - lsr
    - elt
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3008
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 3008
    functionName: lsr_write_set
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_anim_restart
    - lsr_write_anim_value
    - gf_svg_flatten_attributes
    - lsr_write_href_anim
    - lsr_write_animatable
    - lsr_write_attribute_type
    - GF_LSR_WRITE_INT
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_anim_repeat
    - lsr_write_duration
    - lsr_write_smil_times
    - lsr_write_anim_fill
    - lsr_write_repeat_duration
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_set(GF_LASeRCodec *lsr, SVG_Element *elt, SVG_Element
      *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - val
    - extra_words
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: lsr_get_vluimsbf5_size
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_get_bit_size
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_get_vluimsbf5_size(u32 val, u32 extra_words) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3013,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3015,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3016,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3017,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3018,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3020,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3021,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3022,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3024,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3026,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3028,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3030
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3030
    functionName: lsr_write_simpleLayout
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_coordinate
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_simpleLayout(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - lsr
    - f
    - name
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    - char*
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: lsr_write_fixed_clamp
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_fixed_clamp(GF_LASeRCodec *lsr, Fixed f, const
      char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:938,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:942,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:954,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:950,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:953,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:956,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:958,1
    - Dst: lsr_write_smil_time
      Src: /src/gpac/src/laser/lsr_enc.c:959,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - lsr
    - l
    - name
    - skipable
    argTypes:
    - GF_LASeRCodec*
    - GF_List**
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 961
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 961
    functionName: lsr_write_smil_times
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LSR_WRITE_INT
    - lsr_write_smil_time
    - gf_list_count
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_smil_times(GF_LASeRCodec *lsr, GF_List **l,
      const char *name, Bool skipable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1666,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - animRestart
    argTypes:
    - GF_LASeRCodec*
    - u8*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1670
    functionName: lsr_write_anim_restart
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_anim_restart(GF_LASeRCodec *lsr, u8 *animRestart) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:2030,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2034,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2053,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2064,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2068,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2074,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2076,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2087,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2089,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2040,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2049,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2052,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2067,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2088,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2047,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2050,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2051,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2060,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2066,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2062,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2086,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2031,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2041,1
    - Dst: lsr_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:2043,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2058,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2065,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2073,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2081,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2082,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2090,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 3
    argNames:
    - lsr
    - pts
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_List**
    - char*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2096
    functionName: lsr_write_point_sequence
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_count
    - lsr_get_bit_size
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_point_sequence(GF_LASeRCodec *lsr, GF_List **pts,
      const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2207,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:2209,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2212,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2215,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - lsr
    - sync
    - name
    argTypes:
    - GF_LASeRCodec*
    - SMIL_SyncTolerance*
    - char*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2217
    functionName: lsr_write_sync_tolerance
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_assert
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_sync_tolerance(GF_LASeRCodec *lsr, SMIL_SyncTolerance
      *sync, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2536,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2539,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2544,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:2545,1
    - Dst: lsr_write_sync_behavior
      Src: /src/gpac/src/laser/lsr_enc.c:2546,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2549,1
    - Dst: lsr_write_clip_time
      Src: /src/gpac/src/laser/lsr_enc.c:2551,1
    - Dst: lsr_write_content_type
      Src: /src/gpac/src/laser/lsr_enc.c:2548,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2541,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2557,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2556,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2538,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2542,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:2543,1
    - Dst: lsr_write_sync_tolerance
      Src: /src/gpac/src/laser/lsr_enc.c:2547,1
    - Dst: lsr_write_clip_time
      Src: /src/gpac/src/laser/lsr_enc.c:2552,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2553,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:2554,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2558
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2558
    functionName: lsr_write_audio
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_anim_restart
    - lsr_write_href
    - lsr_write_clip_time
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_sync_tolerance
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_sync_behavior
    - lsr_write_anim_repeat
    - lsr_write_content_type
    - lsr_write_duration
    - lsr_write_any_uri
    - lsr_write_smil_times
    - lsr_write_repeat_duration
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_audio(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:3233,1
    - Dst: lsr_write_transform_behavior
      Src: /src/gpac/src/laser/lsr_enc.c:3249,1
    - Dst: lsr_write_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_enc.c:3242,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:3245,1
    - Dst: lsr_write_content_type
      Src: /src/gpac/src/laser/lsr_enc.c:3250,1
    - Dst: lsr_write_sync_tolerance
      Src: /src/gpac/src/laser/lsr_enc.c:3248,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3230,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3235,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3237,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3253,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:3254,1
    - Dst: lsr_write_clip_time
      Src: /src/gpac/src/laser/lsr_enc.c:3257,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3265,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3266,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:3232,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3234,1
    - Dst: lsr_write_sync_behavior
      Src: /src/gpac/src/laser/lsr_enc.c:3247,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:3244,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:3246,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3252,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3259,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3262,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:3263,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3222,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3231,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3239,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3240,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:3251,1
    - Dst: lsr_write_clip_time
      Src: /src/gpac/src/laser/lsr_enc.c:3256,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3267
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3267
    functionName: lsr_write_video
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_clip_time
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_preserve_aspect_ratio
    - lsr_write_id
    - lsr_write_content_type
    - lsr_write_coordinate_ptr
    - lsr_write_anim_restart
    - lsr_write_group_content
    - lsr_write_any_uri
    - lsr_write_anim_repeat
    - lsr_write_href
    - lsr_write_sync_behavior
    - lsr_write_duration
    - lsr_write_transform_behavior
    - lsr_write_repeat_duration
    - lsr_write_sync_tolerance
    - lsr_write_any_attribute
    - lsr_write_rare
    - lsr_write_smil_times
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_video(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 1
    argNames:
    - dom_k
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 744
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 744
    functionName: dom_to_lsr_key
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 dom_to_lsr_key(u32 dom_k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:967,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:976,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:970,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:975,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:978,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:980,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:981,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - lsr
    - v
    - name
    - skipable
    argTypes:
    - GF_LASeRCodec*
    - SMIL_Duration*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 983
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 983
    functionName: lsr_write_duration_ex
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_duration_ex(GF_LASeRCodec *lsr, SMIL_Duration
      *v, const char *name, Bool skipable) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/laser/lsr_enc.c:1741,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 9
    argCount: 4
    argNames:
    - svg_type
    - transform_type
    - vals
    - a_val
    argTypes:
    - u32
    - u32
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1758
    functionName: svg_type_to_lsr_anim
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: u32
    signature: 'static u32 svg_type_to_lsr_anim(u32 svg_type, u32 transform_type,
      GF_List *vals, void *a_val) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2104,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2105,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2115,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2153,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2180,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2131,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2141,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2156,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2162,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_enc.c:2139,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2177,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2125,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2132,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:2174,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:2176,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_enc.c:2108,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:2130,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:2138,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2179,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - lsr
    - path
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_PathData*
    - char*
    constantsTouched: []
    func_position:
      end: 2183
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2183
    functionName: lsr_write_path_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_del
    - gf_list_count
    - lsr_write_vluimsbf5
    - lsr_write_point_sequence
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_path_type(GF_LASeRCodec *lsr, SVG_PathData *path,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:2220,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:2227,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2224,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2222,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2225,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:2228,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - lsr
    - coords
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_List**
    - char*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2232
    functionName: lsr_write_coord_list
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_count
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_coord_list(GF_LASeRCodec *lsr, GF_List **coords,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2562,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2567,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2564,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2565,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2566,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2568,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2569,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2570,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2571,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2573
    functionName: lsr_write_circle
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_circle(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3296,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:3291,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3313,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3315,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3316,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3277,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3275,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3278,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:3285,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:3293,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3304,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:3307,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3311,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3280,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3283,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3292,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3302,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:3287,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3305,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:3309,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3272,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3274,1
    - Dst: lsr_write_event_type
      Src: /src/gpac/src/laser/lsr_enc.c:3281,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3286,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3289,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3298,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3301,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3308,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3317
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3317
    functionName: lsr_write_listener
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_event_type
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_codec_IDREF
    - GF_LOG
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_any_uri
    - gf_node_get_id
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_listener(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_enc.c:115,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:119,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_enc.c:118,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:123,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:136,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:140,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:129,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:131,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:142,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_enc.c:145,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:120,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:124,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:127,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:135,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:137,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:144,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_enc.c:147,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:121,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/laser/lsr_enc.c:146,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:126,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:138,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:139,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - codec
    - ESID
    - out_data
    - out_data_length
    argTypes:
    - GF_LASeRCodec*
    - u16
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 149
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 149
    functionName: gf_laser_encoder_get_config
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - lsr_get_stream
    - gf_bs_align
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_encoder_get_config(GF_LASeRCodec *codec,
      u16 ESID, u8 **out_data, u32 *out_data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_enc.c:382,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_enc.c:383,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:386,1
    - Dst: lsr_write_vluimsbf8
      Src: /src/gpac/src/laser/lsr_enc.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - lsr
    - str
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: lsr_write_byte_align_string
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - GF_LOG
    - lsr_write_vluimsbf8
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_byte_align_string(GF_LASeRCodec *lsr, char *str,
      const char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/laser/lsr_enc.c:414,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:422,1
    - Dst: strnicmp
      Src: /src/gpac/src/laser/lsr_enc.c:424,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:426,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:425,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_enc.c:429,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:431,1
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_enc.c:433,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:434,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:435,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:440,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:444,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:436,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:439,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:442,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - lsr
    - iri
    - name
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 445
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 445
    functionName: lsr_write_any_uri
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LSR_WRITE_INT
    - lsr_write_codec_IDREF
    - gf_bs_write_data
    - lsr_write_vluimsbf5
    - gf_sg_find_node_by_name
    - strchr
    - strnicmp
    - lsr_write_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_any_uri(GF_LASeRCodec *lsr, XMLRI *iri, const
      char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2908,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2916,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2921,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2914,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2927,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2892,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2907,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2920,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2899,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2905,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2903,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2910,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2913,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2915,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2919,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2917,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2923,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2924,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:2894,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2906,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2909,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2918,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2922,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 2928
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2928
    functionName: lsr_write_rect
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_rect(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_private_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3668,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3678,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3674,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3677,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/laser/lsr_enc.c:3670,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/laser/lsr_enc.c:3681,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3683,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:3684,1
    - Dst: lsr_write_scene_content_model
      Src: /src/gpac/src/laser/lsr_enc.c:3686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3687,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_enc.c:3687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - lsr
    - elt
    - skip_object_content
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 3691
      start: 3664
    functionDepth: 0
    functionLinenumber: 3664
    functionLinenumberEnd: 3691
    functionName: lsr_write_group_content
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - GF_LSR_WRITE_INT
    - gf_node_get_tag
    - GF_LOG
    - lsr_write_vluimsbf5
    - lsr_write_private_attributes
    - gf_node_get_class_name
    - lsr_write_byte_align_string
    - lsr_write_scene_content_model
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_group_content(GF_LASeRCodec *lsr, SVG_Element
      *elt, Bool skip_object_content) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_enc.c:157,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:166,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/laser/lsr_enc.c:168,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:164,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_enc.c:164,1
    - Dst: lsr_write_laser_unit
      Src: /src/gpac/src/laser/lsr_enc.c:169,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/laser/lsr_enc.c:171,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/laser/lsr_enc.c:172,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/laser/lsr_enc.c:174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - codec
    - ESID
    - command_list
    - reset_context
    - out_data
    - out_data_length
    argTypes:
    - GF_LASeRCodec*
    - u16
    - GF_List*
    - Bool
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 177
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 177
    functionName: gf_laser_encode_au
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - INT2FIX
    - lsr_write_laser_unit
    - lsr_get_stream
    - gf_divfix
    - gf_bs_align
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_encode_au(GF_LASeRCodec *codec, u16 ESID,
      GF_List *command_list, Bool reset_context, u8 **out_data, u32 *out_data_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:391,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:396,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:399,1
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_enc.c:401,1
    - Dst: strncat
      Src: /src/gpac/src/laser/lsr_enc.c:401,1
    - Dst: strcat
      Src: /src/gpac/src/laser/lsr_enc.c:402,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - lsr
    - l
    - name
    - is_iri
    argTypes:
    - GF_LASeRCodec*
    - GF_List*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: lsr_write_byte_align_string_list
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - strcat
    - gf_list_count
    - strncat
    - lsr_write_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_byte_align_string_list(GF_LASeRCodec *lsr, GF_List
      *l, const char *name, Bool is_iri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:451,1
    - Dst: lsr_get_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:452,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:459,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:455,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:463,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:464,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:467,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:468,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:472,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:475,1
    - Dst: lsr_write_extension
      Src: /src/gpac/src/laser/lsr_enc.c:486,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:481,1
    - Dst: gf_svg_get_system_paint_server_name
      Src: /src/gpac/src/laser/lsr_enc.c:476,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:473,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:485,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:480,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:476,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - lsr
    - paint
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Paint*
    - char*
    constantsTouched: []
    func_position:
      end: 490
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 490
    functionName: lsr_write_paint
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_get_col_index
    - GF_LSR_WRITE_INT
    - gf_svg_get_system_paint_server_name
    - GF_LOG
    - lsr_write_extension
    - lsr_write_any_uri
    - lsr_write_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_paint(GF_LASeRCodec *lsr, SVG_Paint *paint,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2933,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2935,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2936,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2937,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2938,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2939,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2941,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:2942,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:2943,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2945,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2948,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2949
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2949
    functionName: lsr_write_rectClip
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_coordinate
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_rectClip(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:3696,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3765,1
    - Dst: lsr_write_value_with_units
      Src: /src/gpac/src/laser/lsr_enc.c:3796,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3846,1
    - Dst: lsr_write_path_type
      Src: /src/gpac/src/laser/lsr_enc.c:3876,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3899,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3729,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3764,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3883,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3843,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3881,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3728,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3828,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:3844,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:3873,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:3714,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3787,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3798,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3822,1
    - Dst: lsr_write_float_list
      Src: /src/gpac/src/laser/lsr_enc.c:3835,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3768,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:3790,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3821,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3897,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:3840,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3713,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3855,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3844,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:3859,1
    - Dst: lsr_get_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:3912,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3857,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3930,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3803,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3805,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3833,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3910,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:3866,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3902,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3759,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3770,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3917,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3918,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3887,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3859,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3834,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3700,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3816,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3819,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3903,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3927,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3929,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3898,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3870,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3885,1
    - Dst: lsr_write_matrix
      Src: /src/gpac/src/laser/lsr_enc.c:3756,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3720,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3914,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3725,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3750,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3733,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3806,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3933,1
    - Dst: lsr_write_smil_time
      Src: /src/gpac/src/laser/lsr_enc.c:3708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3719,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3731,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3701,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3760,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3789,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3807,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3852,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3853,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3869,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3842,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3901,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3851,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:3696,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:3702,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:3707,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3769,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3814,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3818,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:3753,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 164
    argCount: 7
    argNames:
    - lsr
    - elt
    - fieldType
    - att_tag
    - transformType
    - val
    - is_indexed
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - u32
    - u32
    - u32
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 3937
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3937
    functionName: lsr_write_update_value
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_coordinate
    - GF_LSR_WRITE_INT
    - GF_LOG
    - lsr_write_value_with_units
    - lsr_write_vluimsbf5
    - lsr_write_point_sequence
    - lsr_write_paint
    - lsr_write_fixed_clamp
    - lsr_write_matrix
    - lsr_get_font_index
    - gf_list_count
    - lsr_write_any_uri
    - gf_node_get_id
    - gf_assert
    - lsr_write_fixed_16_8
    - gf_list_get
    - lsr_write_path_type
    - lsr_write_smil_time
    - lsr_write_byte_align_string
    - lsr_write_float_list
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_update_value(GF_LASeRCodec *lsr, SVG_Element
      *elt, u32 fieldType, u32 att_tag, u32 transformType, void *val, Bool is_indexed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_enc.c:51,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_enc.c:53,1
    - Dst: gf_list_new
      Src: /src/gpac/src/laser/lsr_enc.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - graph
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: gf_laser_encoder_new
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_LASeRCodec *gf_laser_encoder_new(GF_SceneGraph *graph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/laser/lsr_enc.c:248,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/laser/lsr_enc.c:258,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - lsr
    - val
    - name
    argTypes:
    - GF_LASeRCodec*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: lsr_write_vluimsbf8
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_assert
    - gf_get_bit_size
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_vluimsbf8(GF_LASeRCodec *lsr, u32 val, const
      char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:356,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:358,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - lsr
    - color
    argTypes:
    - GF_LASeRCodec*
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: lsr_get_col_index
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - FIX2INT
    linkageType: ''
    returnType: s32
    signature: 'static s32 lsr_get_col_index(GF_LASeRCodec *lsr, SVG_Color *color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:571,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:573,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:578,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:574,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:577,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:579,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:582,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 586
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 586
    functionName: lsr_write_id
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_node_get_id
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_id(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1613,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:1618,1
    - Dst: gf_xml_get_attribute_type
      Src: /src/gpac/src/laser/lsr_enc.c:1620,1
    - Dst: gf_lsr_anim_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:1621,1
    - Dst: gf_xml_get_attribute_tag
      Src: /src/gpac/src/laser/lsr_enc.c:1619,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:1623,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1624,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1626,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1627,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - lsr
    - anim_type
    - iri
    - name
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AttributeName*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1630
    functionName: lsr_write_animatable
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_lsr_anim_type_from_attribute
    - GF_LSR_WRITE_INT
    - gf_xml_get_attribute_type
    - GF_LOG
    - gf_xml_get_attribute_tag
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_animatable(GF_LASeRCodec *lsr, SMIL_AttributeName
      *anim_type, XMLRI *iri, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1595,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - add_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_Additive*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1597
    functionName: lsr_write_additive
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_additive(GF_LASeRCodec *lsr, SMIL_Additive *add_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2348,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2351,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2354,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2357,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2350,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2360,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2363,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2366,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2369,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2372,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2381,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2375,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2378,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - lsr
    - preserveAspectRatio
    argTypes:
    - GF_LASeRCodec*
    - SVG_PreserveAspectRatio*
    constantsTouched: []
    func_position:
      end: 2384
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2384
    functionName: lsr_write_preserve_aspect_ratio
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_preserve_aspect_ratio(GF_LASeRCodec *lsr, SVG_PreserveAspectRatio
      *preserveAspectRatio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2393,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2398,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2395,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2396,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2397,1
    - Dst: lsr_write_err
      Src: /src/gpac/src/laser/lsr_enc.c:2399,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2400,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:2401,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2402,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2403,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2405
    functionName: lsr_write_a
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - lsr_write_href
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_err
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_byte_align_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_a(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1602,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - calc_mode
    argTypes:
    - GF_LASeRCodec*
    - u8*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1606
    functionName: lsr_write_calc_mode
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_calc_mode(GF_LASeRCodec *lsr, u8 *calc_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:63,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_enc.c:66,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_enc.c:68,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_enc.c:64,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:65,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:69,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:70,1
    - Dst: gf_list_last
      Src: /src/gpac/src/laser/lsr_enc.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:72,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/laser/lsr_enc.c:73,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:76,1
    - Dst: gf_list_del
      Src: /src/gpac/src/laser/lsr_enc.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - codec
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: gf_laser_encoder_del
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_laser_encoder_del(GF_LASeRCodec *codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_enc.c:264,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:266,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - lsr
    - data
    - len
    - name
    argTypes:
    - GF_LASeRCodec*
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: lsr_write_extension
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_write_data
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_extension(GF_LASeRCodec *lsr, char *data, u32
      len, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:369,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:372,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:370,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:373,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:375,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - lsr
    - li
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: lsr_write_line_increment_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_fixed_16_8
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_line_increment_type(GF_LASeRCodec *lsr, SVG_Number
      *li, const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:594,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/laser/lsr_enc.c:597,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:597,1
    - Dst: gf_divfix
      Src: /src/gpac/src/laser/lsr_enc.c:594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:607,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/laser/lsr_enc.c:607,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:615,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/laser/lsr_enc.c:615,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - lsr
    - x
    - nb_bits
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    - u32
    constantsTouched: []
    func_position:
      end: 620
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 620
    functionName: lsr_translate_coords
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_divfix
    - FIX2INT
    - gf_assert
    - FIX2FLT
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_translate_coords(GF_LASeRCodec *lsr, Fixed x, u32 nb_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1634,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - animFreeze
    argTypes:
    - GF_LASeRCodec*
    - u8*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1636
    functionName: lsr_write_anim_fill
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_anim_fill(GF_LASeRCodec *lsr, u8 *animFreeze) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_attribute_type
      Src: /src/gpac/src/laser/lsr_enc.c:2424,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2433,1
    - Dst: lsr_write_animatable
      Src: /src/gpac/src/laser/lsr_enc.c:2414,1
    - Dst: lsr_write_accumulate
      Src: /src/gpac/src/laser/lsr_enc.c:2416,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2412,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2421,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2422,1
    - Dst: lsr_write_anim_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2427,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2429,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2426,1
    - Dst: lsr_write_href_anim
      Src: /src/gpac/src/laser/lsr_enc.c:2432,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2435,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2436,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2431,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2410,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2413,1
    - Dst: lsr_write_additive
      Src: /src/gpac/src/laser/lsr_enc.c:2417,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2418,1
    - Dst: lsr_write_calc_mode
      Src: /src/gpac/src/laser/lsr_enc.c:2419,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2420,1
    - Dst: lsr_write_anim_values
      Src: /src/gpac/src/laser/lsr_enc.c:2423,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2425,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:2428,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:2430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - lsr
    - elt
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2437
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2437
    functionName: lsr_write_animate
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_attribute_type
    - lsr_write_accumulate
    - lsr_write_id
    - lsr_write_anim_restart
    - lsr_write_calc_mode
    - lsr_write_anim_values
    - lsr_write_href_anim
    - lsr_write_group_content
    - lsr_write_anim_repeat
    - lsr_write_fraction_12
    - lsr_write_anim_value
    - lsr_write_animatable
    - lsr_write_duration
    - lsr_write_repeat_duration
    - lsr_write_additive
    - lsr_write_any_attribute
    - lsr_write_rare
    - lsr_write_smil_times
    - lsr_write_anim_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_animate(GF_LASeRCodec *lsr, SVG_Element *elt,
      SVG_Element *parent) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2483,1
    - Dst: lsr_write_animatable
      Src: /src/gpac/src/laser/lsr_enc.c:2487,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2486,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2506,1
    - Dst: lsr_write_attribute_type
      Src: /src/gpac/src/laser/lsr_enc.c:2518,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2497,1
    - Dst: lsr_write_accumulate
      Src: /src/gpac/src/laser/lsr_enc.c:2510,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2514,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2516,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2520,1
    - Dst: lsr_write_anim_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2521,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2523,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2485,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2500,1
    - Dst: lsr_write_href_anim
      Src: /src/gpac/src/laser/lsr_enc.c:2527,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2528,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2529,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2530,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2494,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2503,1
    - Dst: lsr_write_calc_mode
      Src: /src/gpac/src/laser/lsr_enc.c:2513,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2515,1
    - Dst: lsr_write_additive
      Src: /src/gpac/src/laser/lsr_enc.c:2511,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2519,1
    - Dst: lsr_write_anim_values
      Src: /src/gpac/src/laser/lsr_enc.c:2517,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2512,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:2522,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:2524,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - lsr
    - elt
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2531
    functionName: lsr_write_animateTransform
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_attribute_type
    - lsr_write_accumulate
    - lsr_write_id
    - lsr_write_anim_restart
    - lsr_write_calc_mode
    - lsr_write_anim_values
    - lsr_write_href_anim
    - lsr_write_group_content
    - lsr_write_anim_repeat
    - lsr_write_fraction_12
    - lsr_write_anim_value
    - lsr_write_animatable
    - lsr_write_duration
    - lsr_write_repeat_duration
    - lsr_write_additive
    - lsr_write_any_attribute
    - lsr_write_rare
    - lsr_write_smil_times
    - lsr_write_anim_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_animateTransform(GF_LASeRCodec *lsr, SVG_Element
      *elt, SVG_Element *parent) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: lsr_check_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:4248,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4254,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4256,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4258,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4259,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4283,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4283,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4297,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4301,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4305,1
    - Dst: lsr_check_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:4272,1
    - Dst: lsr_check_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:4317,1
    - Dst: lsr_check_font_and_color
      Src: /src/gpac/src/laser/lsr_enc.c:4324,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4245,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4255,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:4257,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4273,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4282,1
    - Dst: lsr_check_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:4281,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:4279,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4281,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4300,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4303,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/laser/lsr_enc.c:4237,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4274,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:4282,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4314,1
    - Dst: lsr_check_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4311,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 83
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 4328
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4328
    functionName: lsr_check_font_and_color
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - lsr_check_font_and_color
    - gf_node_get_tag
    - lsr_check_col_index
    - gf_list_count
    - strcmp
    - lsr_check_font_index
    linkageType: ''
    returnType: void
    signature: 'static void lsr_check_font_and_color(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2187,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2191,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2192,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2194,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:2195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - lsr
    - rotate
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Rotate*
    - char*
    constantsTouched: []
    func_position:
      end: 2197
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2197
    functionName: lsr_write_rotate_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_fixed_16_8
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_rotate_type(GF_LASeRCodec *lsr, SVG_Rotate *rotate,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2236,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - lsr
    - type
    argTypes:
    - GF_LASeRCodec*
    - SVG_TransformBehavior*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2239
    functionName: lsr_write_transform_behavior
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_transform_behavior(GF_LASeRCodec *lsr, SVG_TransformBehavior
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2578,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2583,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2582,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2580,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2581,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2584,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2585,1
    - Dst: lsr_write_command_list
      Src: /src/gpac/src/laser/lsr_enc.c:2587,1
    - Dst: lsr_write_private_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2589
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2589
    functionName: lsr_write_conditional
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_command_list
    - lsr_write_any_attribute
    - lsr_write_id
    - lsr_write_private_attributes
    - lsr_write_rare
    - lsr_write_smil_times
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_conditional(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3035,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3040,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3038,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3039,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3037,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3041,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3042,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3044
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3044
    functionName: lsr_write_stop
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_stop(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2200,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:2202,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - lsr
    - sync
    - name
    argTypes:
    - GF_LASeRCodec*
    - SMIL_SyncBehavior*
    - char*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2204
    functionName: lsr_write_sync_behavior
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_assert
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_sync_behavior(GF_LASeRCodec *lsr, SMIL_SyncBehavior
      *sync, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2243,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - lsr
    - type
    argTypes:
    - GF_LASeRCodec*
    - SVG_GradientUnit*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2246
    functionName: lsr_write_gradient_units
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_gradient_units(GF_LASeRCodec *lsr, SVG_GradientUnit
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2594,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2598,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2599,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2596,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2597,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2600,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2601,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2603
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2603
    functionName: lsr_write_cursorManager
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_href
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_cursorManager(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3053,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3051,1
    - Dst: lsr_write_string_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3056,1
    - Dst: lsr_write_value_with_units
      Src: /src/gpac/src/laser/lsr_enc.c:3058,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3060,1
    - Dst: lsr_write_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_enc.c:3062,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3072,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:3089,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3091,1
    - Dst: lsr_write_string_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3097,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3103,1
    - Dst: lsr_write_string_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3055,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3085,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3081,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3061,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3101,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3104,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3110,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3108,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3049,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3054,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3052,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3057,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3075,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3088,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3095,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3099,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3068,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:3066,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3078,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3094,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:3102,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3112,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3113,1
    - Dst: lsr_write_value_with_units
      Src: /src/gpac/src/laser/lsr_enc.c:3106,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3114
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3114
    functionName: lsr_write_svg
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_preserve_aspect_ratio
    - lsr_write_value_with_units
    - lsr_write_vluimsbf5
    - lsr_write_any_attribute
    - lsr_write_id
    - lsr_write_group_content
    - lsr_write_rare
    - lsr_write_string_attribute
    - lsr_write_duration
    - lsr_write_fill
    - lsr_write_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_svg(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: lsr_write_private_element_container
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_private_element_container(GF_LASeRCodec *lsr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2781,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2783,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2784,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2785,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2786,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2788
    functionName: lsr_write_mpath
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_href
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_mpath(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lsr
    argTypes:
    - GF_LASeRCodec*
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: lsr_write_private_att_class
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_private_att_class(GF_LASeRCodec *lsr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:2796,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2802,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2813,1
    - Dst: lsr_write_path_type
      Src: /src/gpac/src/laser/lsr_enc.c:2817,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:2820,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2824,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2827,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2815,1
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2794,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2801,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2806,1
    - Dst: lsr_write_path_type
      Src: /src/gpac/src/laser/lsr_enc.c:2808,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2811,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2814,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2819,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2816,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2800,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2805,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2822,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 2828
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2828
    functionName: lsr_write_path
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_path_type
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_path(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2278,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2288,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2291,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2279,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2294,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2297,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2300,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2303,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2306,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2309,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - lsr
    - n
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 2312
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2312
    functionName: lsr_write_value_with_units
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_value_with_units(GF_LASeRCodec *lsr, SVG_Number
      *n, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2443,1
    - Dst: lsr_write_accumulate
      Src: /src/gpac/src/laser/lsr_enc.c:2447,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2446,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2452,1
    - Dst: lsr_write_fraction_12
      Src: /src/gpac/src/laser/lsr_enc.c:2453,1
    - Dst: lsr_write_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2457,1
    - Dst: lsr_write_anim_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2458,1
    - Dst: lsr_write_repeat_duration
      Src: /src/gpac/src/laser/lsr_enc.c:2460,1
    - Dst: lsr_write_float_list
      Src: /src/gpac/src/laser/lsr_enc.c:2464,1
    - Dst: lsr_write_href_anim
      Src: /src/gpac/src/laser/lsr_enc.c:2473,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2475,1
    - Dst: lsr_write_path_type
      Src: /src/gpac/src/laser/lsr_enc.c:2467,1
    - Dst: lsr_write_rotate_type
      Src: /src/gpac/src/laser/lsr_enc.c:2471,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2476,1
    - Dst: lsr_write_additive
      Src: /src/gpac/src/laser/lsr_enc.c:2448,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2445,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2449,1
    - Dst: lsr_write_calc_mode
      Src: /src/gpac/src/laser/lsr_enc.c:2450,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2451,1
    - Dst: lsr_write_anim_values
      Src: /src/gpac/src/laser/lsr_enc.c:2454,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:2456,1
    - Dst: lsr_write_anim_repeat
      Src: /src/gpac/src/laser/lsr_enc.c:2459,1
    - Dst: lsr_write_anim_restart
      Src: /src/gpac/src/laser/lsr_enc.c:2461,1
    - Dst: lsr_write_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:2462,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2469,1
    - Dst: lsr_write_attribute_type
      Src: /src/gpac/src/laser/lsr_enc.c:2455,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2466,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - lsr
    - elt
    - parent
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2477
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2477
    functionName: lsr_write_animateMotion
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_attribute_type
    - lsr_write_accumulate
    - lsr_write_id
    - lsr_write_anim_restart
    - lsr_write_calc_mode
    - lsr_write_anim_values
    - lsr_write_href_anim
    - lsr_write_group_content
    - lsr_write_anim_repeat
    - lsr_write_fraction_12
    - lsr_write_anim_value
    - lsr_write_path_type
    - lsr_write_rotate_type
    - lsr_write_duration
    - lsr_write_repeat_duration
    - lsr_write_float_list
    - lsr_write_additive
    - lsr_write_any_attribute
    - lsr_write_rare
    - lsr_write_smil_times
    - lsr_write_anim_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_animateMotion(GF_LASeRCodec *lsr, SVG_Element*elt,
      SVG_Element *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2318,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:2323,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2321,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2322,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - lsr
    - clock
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Clock*
    - char*
    constantsTouched: []
    func_position:
      end: 2325
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2325
    functionName: lsr_write_clip_time
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_clip_time(GF_LASeRCodec *lsr, SVG_Clock *clock,
      const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1962,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/laser/lsr_enc.c:1970,1
    - Dst: svg_type_to_lsr_anim
      Src: /src/gpac/src/laser/lsr_enc.c:1968,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1965,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:1970,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1971,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1973,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1974,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1975,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1977,1
    - Dst: lsr_write_an_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:1978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - lsr
    - anims
    - name
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValues*
    - char*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1981
    functionName: lsr_write_anim_values
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_an_anim_value
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_count
    - GF_LOG
    - svg_type_to_lsr_anim
    - lsr_write_vluimsbf5
    - gf_svg_attribute_type_to_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_anim_values(GF_LASeRCodec *lsr, SMIL_AnimateValues
      *anims, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/laser/lsr_enc.c:626,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:635,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - lsr
    - v
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: lsr_translate_scale
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - ABS
    - GF_LOG
    - FIX2INT
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_translate_scale(GF_LASeRCodec *lsr, Fixed v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1554,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1555,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - lsr
    - n
    - atts
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 1559
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1559
    functionName: lsr_write_fill
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_paint
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_fill(GF_LASeRCodec *lsr, SVG_Element *n, SVGAllAttributes
      *atts) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/laser/lsr_enc.c:1575,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1584,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:1576,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:1585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - lsr
    - iri
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1586
    functionName: lsr_write_href
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_any_uri
    - gf_sg_find_node_by_name
    - gf_node_get_id
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_href(GF_LASeRCodec *lsr, XMLRI *iri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2607,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2608,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2610,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2611
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2611
    functionName: lsr_write_data
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_any_attribute
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_data(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3325,1
    - Dst: lsr_write_animate
      Src: /src/gpac/src/laser/lsr_enc.c:3330,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3333,1
    - Dst: lsr_write_animateMotion
      Src: /src/gpac/src/laser/lsr_enc.c:3338,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3341,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3345,1
    - Dst: lsr_write_circle
      Src: /src/gpac/src/laser/lsr_enc.c:3350,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3361,1
    - Dst: lsr_write_ellipse
      Src: /src/gpac/src/laser/lsr_enc.c:3366,1
    - Dst: lsr_write_foreignObject
      Src: /src/gpac/src/laser/lsr_enc.c:3370,1
    - Dst: lsr_write_video
      Src: /src/gpac/src/laser/lsr_enc.c:3451,1
    - Dst: lsr_write_simpleLayout
      Src: /src/gpac/src/laser/lsr_enc.c:3471,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3476,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3458,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3450,1
    - Dst: lsr_write_rect
      Src: /src/gpac/src/laser/lsr_enc.c:3415,1
    - Dst: lsr_write_selector
      Src: /src/gpac/src/laser/lsr_enc.c:3467,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3470,1
    - Dst: lsr_write_text
      Src: /src/gpac/src/laser/lsr_enc.c:3435,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3454,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:3491,1
    - Dst: lsr_write_cursorManager
      Src: /src/gpac/src/laser/lsr_enc.c:3354,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3349,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3365,1
    - Dst: lsr_write_g
      Src: /src/gpac/src/laser/lsr_enc.c:3375,1
    - Dst: lsr_write_image
      Src: /src/gpac/src/laser/lsr_enc.c:3379,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3390,1
    - Dst: lsr_write_mpath
      Src: /src/gpac/src/laser/lsr_enc.c:3395,1
    - Dst: lsr_write_polygon
      Src: /src/gpac/src/laser/lsr_enc.c:3407,1
    - Dst: lsr_write_radialGradient
      Src: /src/gpac/src/laser/lsr_enc.c:3411,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3422,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3466,1
    - Dst: lsr_write_switch
      Src: /src/gpac/src/laser/lsr_enc.c:3431,1
    - Dst: lsr_write_rectClip
      Src: /src/gpac/src/laser/lsr_enc.c:3463,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3462,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3489,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3329,1
    - Dst: lsr_write_animate
      Src: /src/gpac/src/laser/lsr_enc.c:3334,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3337,1
    - Dst: lsr_write_animateTransform
      Src: /src/gpac/src/laser/lsr_enc.c:3342,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3353,1
    - Dst: lsr_write_defs
      Src: /src/gpac/src/laser/lsr_enc.c:3358,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3369,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3378,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3391,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3394,1
    - Dst: lsr_write_extend_class
      Src: /src/gpac/src/laser/lsr_enc.c:3485,1
    - Dst: lsr_write_use
      Src: /src/gpac/src/laser/lsr_enc.c:3447,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_enc.c:3489,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3490,1
    - Dst: lsr_write_set
      Src: /src/gpac/src/laser/lsr_enc.c:3423,1
    - Dst: lsr_write_private_element_container
      Src: /src/gpac/src/laser/lsr_enc.c:3477,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3439,1
    - Dst: lsr_write_tspan
      Src: /src/gpac/src/laser/lsr_enc.c:3443,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/laser/lsr_enc.c:3321,1
    - Dst: lsr_write_a
      Src: /src/gpac/src/laser/lsr_enc.c:3326,1
    - Dst: lsr_write_audio
      Src: /src/gpac/src/laser/lsr_enc.c:3346,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3357,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3362,1
    - Dst: lsr_write_line
      Src: /src/gpac/src/laser/lsr_enc.c:3383,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3386,1
    - Dst: lsr_write_linearGradient
      Src: /src/gpac/src/laser/lsr_enc.c:3387,1
    - Dst: lsr_write_path
      Src: /src/gpac/src/laser/lsr_enc.c:3399,1
    - Dst: lsr_write_polygon
      Src: /src/gpac/src/laser/lsr_enc.c:3403,1
    - Dst: lsr_write_stop
      Src: /src/gpac/src/laser/lsr_enc.c:3427,1
    - Dst: lsr_write_conditional
      Src: /src/gpac/src/laser/lsr_enc.c:3459,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3438,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3442,1
    - Dst: lsr_write_script
      Src: /src/gpac/src/laser/lsr_enc.c:3419,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3426,1
    - Dst: lsr_write_listener
      Src: /src/gpac/src/laser/lsr_enc.c:3455,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3484,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3418,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3430,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 77
    argCount: 3
    argNames:
    - lsr
    - parent
    - node
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - void*
    constantsTouched: []
    func_position:
      end: 3495
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3495
    functionName: lsr_write_scene_content_model
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_node_get_tag
    - lsr_write_script
    - lsr_write_defs
    - GF_LOG
    - lsr_write_a
    - lsr_write_tspan
    - lsr_write_animate
    - lsr_write_conditional
    - lsr_write_text
    - lsr_write_foreignObject
    - lsr_write_switch
    - lsr_write_radialGradient
    - lsr_write_line
    - lsr_write_animateTransform
    - gf_node_get_class_name
    - lsr_write_set
    - lsr_write_extend_class
    - lsr_write_data
    - lsr_write_listener
    - lsr_write_circle
    - lsr_write_mpath
    - lsr_write_image
    - lsr_write_linearGradient
    - lsr_write_stop
    - lsr_write_simpleLayout
    - lsr_write_video
    - lsr_write_rect
    - lsr_write_private_element_container
    - lsr_write_byte_align_string
    - lsr_write_audio
    - lsr_write_rectClip
    - lsr_write_polygon
    - lsr_write_g
    - lsr_write_cursorManager
    - lsr_write_animateMotion
    - lsr_write_use
    - lsr_write_ellipse
    - lsr_write_path
    - lsr_write_selector
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_scene_content_model(GF_LASeRCodec *lsr, SVG_Element
      *parent, void *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1590,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - lsr
    - accum_type
    argTypes:
    - GF_LASeRCodec*
    - SMIL_Accumulate*
    constantsTouched: []
    func_position:
      end: 1592
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1592
    functionName: lsr_write_accumulate
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_accumulate(GF_LASeRCodec *lsr, SMIL_Accumulate
      *accum_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1986,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1994,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1992,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1991,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1988,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1996,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1997,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/laser/lsr_enc.c:1999,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2000,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2001,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - lsr
    - l
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_List**
    - char*
    constantsTouched: []
    func_position:
      end: 2004
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2004
    functionName: lsr_write_fraction_12
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LSR_WRITE_INT
    - gf_list_count
    - lsr_write_vluimsbf5
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_fraction_12(GF_LASeRCodec *lsr, GF_List **l,
      const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:647,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:655,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:659,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:672,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:664,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:673,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:643,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:646,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:657,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_enc.c:665,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:675,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:645,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:644,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:653,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_enc.c:654,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:668,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_enc.c:663,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:662,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:674,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:678,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:649,1
    - Dst: lsr_translate_scale
      Src: /src/gpac/src/laser/lsr_enc.c:656,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:666,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - lsr
    - mx
    argTypes:
    - GF_LASeRCodec*
    - SVG_Transform*
    constantsTouched: []
    func_position:
      end: 682
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 682
    functionName: lsr_write_matrix
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - lsr_write_fixed_16_8
    - GF_LSR_WRITE_INT
    - lsr_translate_scale
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_matrix(GF_LASeRCodec *lsr, SVG_Transform *mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1564,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1567,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - lsr
    - n
    - atts
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1569
    functionName: lsr_write_stroke
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_paint
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_stroke(GF_LASeRCodec *lsr, SVG_Element *n, SVGAllAttributes
      *atts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2616,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2618,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2619,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2620,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2621,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2622,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2624
    functionName: lsr_write_defs
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_defs(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3511,1
    - Dst: lsr_write_audio
      Src: /src/gpac/src/laser/lsr_enc.c:3546,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3613,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3586,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3633,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3581,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/laser/lsr_enc.c:3657,1
    - Dst: lsr_write_circle
      Src: /src/gpac/src/laser/lsr_enc.c:3550,1
    - Dst: lsr_write_path
      Src: /src/gpac/src/laser/lsr_enc.c:3594,1
    - Dst: lsr_write_animate
      Src: /src/gpac/src/laser/lsr_enc.c:3534,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3545,1
    - Dst: lsr_write_mpath
      Src: /src/gpac/src/laser/lsr_enc.c:3590,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3585,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3617,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3601,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3549,1
    - Dst: lsr_write_image
      Src: /src/gpac/src/laser/lsr_enc.c:3574,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3589,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3573,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3593,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3510,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3533,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3645,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3506,1
    - Dst: lsr_write_simpleLayout
      Src: /src/gpac/src/laser/lsr_enc.c:3520,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3537,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3597,1
    - Dst: lsr_write_svg
      Src: /src/gpac/src/laser/lsr_enc.c:3626,1
    - Dst: lsr_write_text
      Src: /src/gpac/src/laser/lsr_enc.c:3634,1
    - Dst: lsr_write_switch
      Src: /src/gpac/src/laser/lsr_enc.c:3630,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3625,1
    - Dst: lsr_write_set
      Src: /src/gpac/src/laser/lsr_enc.c:3618,1
    - Dst: lsr_write_script
      Src: /src/gpac/src/laser/lsr_enc.c:3614,1
    - Dst: lsr_write_cursorManager
      Src: /src/gpac/src/laser/lsr_enc.c:3508,1
    - Dst: lsr_write_linearGradient
      Src: /src/gpac/src/laser/lsr_enc.c:3582,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:3657,1
    - Dst: lsr_write_a
      Src: /src/gpac/src/laser/lsr_enc.c:3526,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3519,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3565,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3649,1
    - Dst: lsr_write_listener
      Src: /src/gpac/src/laser/lsr_enc.c:3654,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3569,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/laser/lsr_enc.c:3499,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3502,1
    - Dst: lsr_write_selector
      Src: /src/gpac/src/laser/lsr_enc.c:3516,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3525,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3529,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3638,1
    - Dst: lsr_write_polygon
      Src: /src/gpac/src/laser/lsr_enc.c:3602,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3653,1
    - Dst: lsr_write_stop
      Src: /src/gpac/src/laser/lsr_enc.c:3622,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3507,1
    - Dst: lsr_write_tspan
      Src: /src/gpac/src/laser/lsr_enc.c:3642,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3637,1
    - Dst: lsr_write_use
      Src: /src/gpac/src/laser/lsr_enc.c:3646,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3621,1
    - Dst: lsr_write_conditional
      Src: /src/gpac/src/laser/lsr_enc.c:3504,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3518,1
    - Dst: lsr_write_animateMotion
      Src: /src/gpac/src/laser/lsr_enc.c:3538,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3641,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3515,1
    - Dst: lsr_write_defs
      Src: /src/gpac/src/laser/lsr_enc.c:3554,1
    - Dst: lsr_write_line
      Src: /src/gpac/src/laser/lsr_enc.c:3578,1
    - Dst: lsr_write_rect
      Src: /src/gpac/src/laser/lsr_enc.c:3610,1
    - Dst: lsr_write_radialGradient
      Src: /src/gpac/src/laser/lsr_enc.c:3606,1
    - Dst: lsr_write_polygon
      Src: /src/gpac/src/laser/lsr_enc.c:3598,1
    - Dst: lsr_write_rectClip
      Src: /src/gpac/src/laser/lsr_enc.c:3512,1
    - Dst: lsr_write_data
      Src: /src/gpac/src/laser/lsr_enc.c:3558,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3605,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3553,1
    - Dst: lsr_write_animateTransform
      Src: /src/gpac/src/laser/lsr_enc.c:3542,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3609,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3503,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3522,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3557,1
    - Dst: lsr_write_ellipse
      Src: /src/gpac/src/laser/lsr_enc.c:3562,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3577,1
    - Dst: lsr_write_g
      Src: /src/gpac/src/laser/lsr_enc.c:3570,1
    - Dst: lsr_write_foreignObject
      Src: /src/gpac/src/laser/lsr_enc.c:3566,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3514,1
    - Dst: lsr_write_animate
      Src: /src/gpac/src/laser/lsr_enc.c:3530,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3541,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3561,1
    - Dst: lsr_write_video
      Src: /src/gpac/src/laser/lsr_enc.c:3650,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 99
    argCount: 3
    argNames:
    - lsr
    - parent
    - node
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - void*
    constantsTouched: []
    func_position:
      end: 3662
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3662
    functionName: lsr_write_update_content_model
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - gf_node_get_tag
    - lsr_write_script
    - lsr_write_defs
    - GF_LOG
    - lsr_write_a
    - lsr_write_tspan
    - lsr_write_animate
    - lsr_write_conditional
    - lsr_write_text
    - lsr_write_foreignObject
    - lsr_write_switch
    - lsr_write_svg
    - lsr_write_radialGradient
    - lsr_write_line
    - lsr_write_animateTransform
    - gf_node_get_class_name
    - lsr_write_set
    - lsr_write_data
    - lsr_write_listener
    - lsr_write_circle
    - lsr_write_mpath
    - lsr_write_image
    - lsr_write_linearGradient
    - lsr_write_simpleLayout
    - lsr_write_stop
    - lsr_write_video
    - lsr_write_rect
    - lsr_write_audio
    - lsr_write_rectClip
    - lsr_write_polygon
    - lsr_write_g
    - lsr_write_cursorManager
    - lsr_write_animateMotion
    - lsr_write_use
    - lsr_write_ellipse
    - lsr_write_path
    - lsr_write_selector
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_update_content_model(GF_LASeRCodec *lsr, SVG_Element
      *parent, void *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/laser/lsr_enc.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - codec
    - ESID
    argTypes:
    - GF_LASeRCodec*
    - u16
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: lsr_get_stream
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: LASeRStreamInfo*
    signature: 'static LASeRStreamInfo *lsr_get_stream(GF_LASeRCodec *codec, u16 ESID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:332,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:334,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - lsr
    - n
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Number*
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: lsr_write_fixed_16_8i
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_fixed_16_8
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_fixed_16_8i(GF_LASeRCodec *lsr, SVG_Number *n,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2953,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2955,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2957,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2956,1
    - Dst: lsr_write_script_type
      Src: /src/gpac/src/laser/lsr_enc.c:2958,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2959,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2960,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2962
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2962
    functionName: lsr_write_script
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_href
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_script_type
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_script(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/laser/lsr_enc.c:4193,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:4196,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:4194,1
    - Dst: FIX2INT
      Src: /src/gpac/src/laser/lsr_enc.c:4195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - lsr
    - color
    argTypes:
    - GF_LASeRCodec*
    - SVG_Color*
    constantsTouched: []
    func_position:
      end: 4198
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4198
    functionName: lsr_add_color
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_add_color(GF_LASeRCodec *lsr, SVG_Color *color) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_stream
      Src: /src/gpac/src/laser/lsr_enc.c:94,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/laser/lsr_enc.c:95,1
    - Dst: memcpy
      Src: /src/gpac/src/laser/lsr_enc.c:98,1
    - Dst: gf_list_add
      Src: /src/gpac/src/laser/lsr_enc.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - codec
    - ESID
    - cfg
    argTypes:
    - GF_LASeRCodec*
    - u16
    - GF_LASERConfig*
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: gf_laser_encoder_new_stream
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - lsr_get_stream
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_laser_encoder_new_stream(GF_LASeRCodec *codec,
      u16 ESID, GF_LASERConfig *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:343,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:346,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - lsr
    - font
    argTypes:
    - GF_LASeRCodec*
    - SVG_FontFamily*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: lsr_get_font_index
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 lsr_get_font_index(GF_LASeRCodec *lsr, SVG_FontFamily *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2966,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2968,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2970,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2971,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2969,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2972,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2974,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2977,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2978,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2980,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2985,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2984,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2986
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2986
    functionName: lsr_write_selector
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_selector(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lsr_get_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4204,1
    - Dst: lsr_add_color
      Src: /src/gpac/src/laser/lsr_enc.c:4209,1
    - Dst: lsr_add_color
      Src: /src/gpac/src/laser/lsr_enc.c:4205,1
    - Dst: lsr_get_col_index
      Src: /src/gpac/src/laser/lsr_enc.c:4208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - lsr
    - color
    - paint
    argTypes:
    - GF_LASeRCodec*
    - SVG_Color*
    - SVG_Paint*
    constantsTouched: []
    func_position:
      end: 4211
      start: 4200
    functionDepth: 0
    functionLinenumber: 4200
    functionLinenumberEnd: 4211
    functionName: lsr_check_col_index
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_add_color
    - lsr_get_col_index
    linkageType: ''
    returnType: void
    signature: 'static void lsr_check_col_index(GF_LASeRCodec *lsr, SVG_Color *color,
      SVG_Paint *paint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:273,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:283,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/laser/lsr_enc.c:275,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:276,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:281,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - lsr
    - href
    - name
    argTypes:
    - GF_LASeRCodec*
    - XMLRI*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: lsr_write_codec_IDREF
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_vluimsbf5
    - gf_sg_find_node_by_name
    - gf_node_get_id
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_codec_IDREF(GF_LASeRCodec *lsr, XMLRI *href,
      const char *name) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:1007,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1024,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1014,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1033,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/laser/lsr_enc.c:1027,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1040,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1045,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1052,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1057,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1064,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_enc.c:1069,1
    - Dst: gf_lsr_same_rare
      Src: /src/gpac/src/laser/lsr_enc.c:1073,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 6
    argNames:
    - lsr
    - atts
    - base
    - same_fill
    - same_stroke
    - no_stroke_check
    argTypes:
    - GF_LASeRCodec*
    - SVGAllAttributes*
    - SVG_Element*
    - Bool*
    - Bool*
    - Bool
    constantsTouched: []
    func_position:
      end: 1074
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1074
    functionName: lsr_elt_has_same_base
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_lsr_same_rare
    - gf_node_get_tag
    - gf_svg_flatten_attributes
    - gf_svg_attributes_equal
    linkageType: ''
    returnType: Bool
    signature: 'static Bool lsr_elt_has_same_base(GF_LASeRCodec *lsr, SVGAllAttributes
      *atts, SVG_Element *base, Bool *same_fill, Bool *same_stroke, Bool no_stroke_check) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1762,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1765,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:1764,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - lsr
    - val
    - skipable
    - name
    argTypes:
    - GF_LASeRCodec*
    - Fixed
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1768
    functionName: lsr_write_coordinate
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_coordinate(GF_LASeRCodec *lsr, Fixed val, Bool
      skipable, const char *name) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1816,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/laser/lsr_enc.c:1826,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:1835,1
    - Dst: lsr_write_path_type
      Src: /src/gpac/src/laser/lsr_enc.c:1838,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1844,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1847,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1869,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1889,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1891,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1895,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:1902,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:1930,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1894,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1898,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1831,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1850,1
    - Dst: lsr_get_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:1857,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1868,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1871,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/laser/lsr_enc.c:1902,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1907,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1914,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1919,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1918,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1915,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1810,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1798,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1813,1
    - Dst: INT2FIX
      Src: /src/gpac/src/laser/lsr_enc.c:1826,1
    - Dst: lsr_write_point_sequence
      Src: /src/gpac/src/laser/lsr_enc.c:1841,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1829,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:1859,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1883,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1887,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1888,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:1929,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1905,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1921,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1922,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1904,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1788,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1799,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1802,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1811,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:1821,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1827,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1853,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1862,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1872,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1881,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1890,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:1932,1
    - Dst: lsr_write_coordinate
      Src: /src/gpac/src/laser/lsr_enc.c:1933,1
    - Dst: lsr_write_extension
      Src: /src/gpac/src/laser/lsr_enc.c:1937,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1913,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1897,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1908,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 126
    argCount: 6
    argNames:
    - lsr
    - val
    - lsr_type
    - svg_type
    - transform_type
    - name
    argTypes:
    - GF_LASeRCodec*
    - void*
    - u32
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1940
    functionName: lsr_write_an_anim_value
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_coordinate
    - gf_list_get
    - GF_LSR_WRITE_INT
    - lsr_write_path_type
    - lsr_write_paint
    - lsr_get_font_index
    - gf_muldiv
    - gf_list_count
    - GF_LOG
    - INT2FIX
    - lsr_write_fixed_clamp
    - lsr_write_vluimsbf5
    - lsr_write_extension
    - lsr_write_point_sequence
    - lsr_write_any_uri
    - lsr_write_byte_align_string
    - lsr_write_fixed_16_8
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_an_anim_value(GF_LASeRCodec *lsr, void *val,
      u32 lsr_type, u32 svg_type, u32 transform_type, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3119,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3123,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3124,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3122,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3121,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3125,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3126,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 3128
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3128
    functionName: lsr_write_switch
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_switch(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:289,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:291,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:292,1
    - Dst: gf_assert
      Src: /src/gpac/src/laser/lsr_enc.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - lsr
    - href
    - name
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: lsr_write_codec_IDREF_Node
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_assert
    - GF_LSR_WRITE_INT
    - gf_node_get_id
    - lsr_write_vluimsbf5
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_codec_IDREF_Node(GF_LASeRCodec *lsr, GF_Node
      *href, const char *name) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1093,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1245,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1320,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1260,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1348,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1376,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1404,1
    - Dst: strlen
      Src: /src/gpac/src/laser/lsr_enc.c:1117,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1149,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1169,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1263,1
    - Dst: gf_malloc
      Src: /src/gpac/src/laser/lsr_enc.c:1287,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1214,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:1544,1
    - Dst: lsr_write_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_enc.c:1166,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1296,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1324,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1352,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1380,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1408,1
    - Dst: lsr_write_smil_times
      Src: /src/gpac/src/laser/lsr_enc.c:1529,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:1177,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1115,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1139,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1157,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1161,1
    - Dst: lsr_write_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_enc.c:1499,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:1509,1
    - Dst: lsr_write_duration_ex
      Src: /src/gpac/src/laser/lsr_enc.c:1532,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1150,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1184,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1312,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1400,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1428,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1435,1
    - Dst: gf_free
      Src: /src/gpac/src/laser/lsr_enc.c:1437,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:1445,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1513,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1187,1
    - Dst: lsr_write_line_increment_type
      Src: /src/gpac/src/laser/lsr_enc.c:1205,1
    - Dst: lsr_write_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_enc.c:1281,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1269,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1254,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1460,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1481,1
    - Dst: lsr_get_font_index
      Src: /src/gpac/src/laser/lsr_enc.c:1489,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1491,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1493,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1424,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1316,1
    - Dst: lsr_get_vluimsbf5_size
      Src: /src/gpac/src/laser/lsr_enc.c:1124,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1162,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1190,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1208,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1272,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1344,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1372,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1433,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1485,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1541,1
    - Dst: lsr_write_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_enc.c:1241,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1193,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1275,1
    - Dst: gf_lsr_rare_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:1097,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1116,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1143,1
    - Dst: lsr_write_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_enc.c:1257,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1211,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1463,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1494,1
    - Dst: lsr_write_vluimsbf5_ex
      Src: /src/gpac/src/laser/lsr_enc.c:1141,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1145,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1199,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1336,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1308,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1364,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1392,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1420,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1523,1
    - Dst: gf_lsr_rare_type_from_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:1085,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1217,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1454,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1475,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1232,1
    - Dst: strchr
      Src: /src/gpac/src/laser/lsr_enc.c:1293,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1340,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1138,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1165,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1181,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1230,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:1291,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1368,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1396,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1526,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1202,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1220,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1090,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1174,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1457,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1478,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1505,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:1516,1
    - Dst: lsr_write_matrix
      Src: /src/gpac/src/laser/lsr_enc.c:1538,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:1233,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:1286,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1328,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1300,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1356,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1384,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1412,1
    - Dst: lsr_write_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_enc.c:1442,1
    - Dst: lsr_write_any_uri
      Src: /src/gpac/src/laser/lsr_enc.c:1519,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1153,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1158,1
    - Dst: lsr_write_paint
      Src: /src/gpac/src/laser/lsr_enc.c:1266,1
    - Dst: lsr_write_fixed_16_8i
      Src: /src/gpac/src/laser/lsr_enc.c:1251,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1223,1
    - Dst: lsr_write_fixed_16_8
      Src: /src/gpac/src/laser/lsr_enc.c:1235,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1469,1
    - Dst: lsr_write_duration_ex
      Src: /src/gpac/src/laser/lsr_enc.c:1535,1
    - Dst: lsr_write_byte_align_string_list
      Src: /src/gpac/src/laser/lsr_enc.c:1278,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1332,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/laser/lsr_enc.c:1125,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1304,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1360,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1388,1
    - Dst: stricmp
      Src: /src/gpac/src/laser/lsr_enc.c:1416,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:1448,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:1196,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1154,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1451,1
    - Dst: lsr_write_focus
      Src: /src/gpac/src/laser/lsr_enc.c:1472,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1502,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 302
    argCount: 2
    argNames:
    - lsr
    - n
    argTypes:
    - GF_LASeRCodec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1549
    functionName: lsr_write_rare
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - GF_LSR_WRITE_INT
    - lsr_get_vluimsbf5_size
    - GF_LOG
    - lsr_write_vluimsbf5
    - lsr_write_paint
    - lsr_write_fixed_clamp
    - lsr_write_matrix
    - lsr_get_font_index
    - lsr_write_duration_ex
    - gf_list_count
    - gf_lsr_rare_type_from_attribute
    - lsr_write_any_uri
    - stricmp
    - lsr_write_focus
    - lsr_write_fixed_16_8
    - gf_list_get
    - lsr_write_vluimsbf5_ex
    - lsr_write_line_increment_type
    - strchr
    - gf_free
    - gf_bs_get_bit_position
    - lsr_write_byte_align_string
    - lsr_write_fixed_16_8i
    - lsr_write_byte_align_string_list
    - lsr_write_smil_times
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_rare(GF_LASeRCodec *lsr, GF_Node *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1773,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1777,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1776,1
    - Dst: lsr_translate_coords
      Src: /src/gpac/src/laser/lsr_enc.c:1775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - lsr
    - val
    - skipable
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Coordinate*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1779
    functionName: lsr_write_coordinate_ptr
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_translate_coords
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_coordinate_ptr(GF_LASeRCodec *lsr, SVG_Coordinate
      *val, Bool skipable, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:1949,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1950,1
    - Dst: svg_type_to_lsr_anim
      Src: /src/gpac/src/laser/lsr_enc.c:1947,1
    - Dst: gf_svg_attribute_type_to_string
      Src: /src/gpac/src/laser/lsr_enc.c:1949,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1952,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:1953,1
    - Dst: lsr_write_an_anim_value
      Src: /src/gpac/src/laser/lsr_enc.c:1954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - lsr
    - val
    - name
    argTypes:
    - GF_LASeRCodec*
    - SMIL_AnimateValue*
    - char*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: lsr_write_anim_value
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_an_anim_value
    - GF_LSR_WRITE_INT
    - GF_LOG
    - svg_type_to_lsr_anim
    - gf_svg_attribute_type_to_string
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_anim_value(GF_LASeRCodec *lsr, SMIL_AnimateValue
      *val, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:3135,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3141,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3146,1
    - Dst: lsr_write_float_list
      Src: /src/gpac/src/laser/lsr_enc.c:3160,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:3163,1
    - Dst: lsr_write_coord_list
      Src: /src/gpac/src/laser/lsr_enc.c:3162,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:3154,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:3157,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:3166,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3140,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3145,1
    - Dst: lsr_write_coord_list
      Src: /src/gpac/src/laser/lsr_enc.c:3149,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3142,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:3137,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3153,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:3155,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:3159,1
    - Dst: lsr_write_coord_list
      Src: /src/gpac/src/laser/lsr_enc.c:3161,1
    - Dst: lsr_write_coord_list
      Src: /src/gpac/src/laser/lsr_enc.c:3148,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:3156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 3167
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3167
    functionName: lsr_write_text
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - lsr_write_float_list
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coord_list
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_text(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2251,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:2252,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - lsr
    - type
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_String*
    - char*
    constantsTouched: []
    func_position:
      end: 2256
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2256
    functionName: lsr_write_content_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_byte_align_string
    - GF_LSR_WRITE_INT
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_content_type(GF_LASeRCodec *lsr, SVG_String
      *type, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2732,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2738,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:2734,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2743,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2739,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2745,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2746,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2747,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2748,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2751,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2753,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2756,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2759,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2754,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 2760
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2760
    functionName: lsr_write_line
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_line(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2259,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:2264,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2262,1
    - Dst: strcmp
      Src: /src/gpac/src/laser/lsr_enc.c:2261,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2263,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2265,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2266,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2268,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:2269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - lsr
    - type
    argTypes:
    - GF_LASeRCodec*
    - SVG_String*
    constantsTouched: []
    func_position:
      end: 2271
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2271
    functionName: lsr_write_script_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_byte_align_string
    - GF_LSR_WRITE_INT
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_script_type(GF_LASeRCodec *lsr, SVG_String *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2764,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2766,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2768,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2767,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2769,1
    - Dst: lsr_write_gradient_units
      Src: /src/gpac/src/laser/lsr_enc.c:2770,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2771,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2772,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2773,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2774,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2776,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2777
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2777
    functionName: lsr_write_linearGradient
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_coordinate_ptr
    - lsr_write_fill
    - lsr_write_gradient_units
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_linearGradient(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/laser/lsr_enc.c:523,1
    - Dst: gf_list_count
      Src: /src/gpac/src/laser/lsr_enc.c:521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: lsr_float_list_equal
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool lsr_float_list_equal(GF_List *l1, GF_List *l2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:989,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:993,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:990,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - lsr
    - foc
    - name
    argTypes:
    - GF_LASeRCodec*
    - SVG_Focus*
    - char*
    constantsTouched: []
    func_position:
      end: 995
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 995
    functionName: lsr_write_focus
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - GF_LSR_WRITE_INT
    - lsr_write_codec_IDREF
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_focus(GF_LASeRCodec *lsr, SVG_Focus *foc, const
      char *name) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/laser/lsr_enc.c:771,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:787,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:794,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:807,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:817,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:829,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:835,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:847,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:865,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:877,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:868,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/laser/lsr_enc.c:769,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:766,1
    - Dst: sprintf
      Src: /src/gpac/src/laser/lsr_enc.c:774,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/laser/lsr_enc.c:774,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:797,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:781,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:810,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:820,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:838,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:850,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:862,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:856,1
    - Dst: dom_to_lsr_key
      Src: /src/gpac/src/laser/lsr_enc.c:890,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:874,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:791,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:778,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:813,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:823,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:841,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:853,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:859,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/laser/lsr_enc.c:880,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:890,1
    - Dst: dom_to_lsr_key
      Src: /src/gpac/src/laser/lsr_enc.c:753,1
    - Dst: sprintf
      Src: /src/gpac/src/laser/lsr_enc.c:769,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/laser/lsr_enc.c:769,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/laser/lsr_enc.c:771,1
    - Dst: lsr_write_byte_align_string
      Src: /src/gpac/src/laser/lsr_enc.c:776,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:801,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:804,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:784,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:826,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:832,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:844,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:881,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 63
    argCount: 3
    argNames:
    - lsr
    - evtType
    - evtParam
    argTypes:
    - GF_LASeRCodec*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 894
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 894
    functionName: lsr_write_event_type
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - GF_LSR_WRITE_INT
    - sprintf
    - GF_LOG
    - dom_to_lsr_key
    - lsr_write_vluimsbf5
    - lsr_write_byte_align_string
    - gf_dom_get_key_name
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_event_type(GF_LASeRCodec *lsr, u32 evtType,
      u32 evtParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2628,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2630,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2631,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2632,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2633,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2634,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2635,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2636,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2637,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2638,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2640
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2640
    functionName: lsr_write_ellipse
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_ellipse(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2675,1
    - Dst: lsr_elt_has_same_base
      Src: /src/gpac/src/laser/lsr_enc.c:2679,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2684,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2688,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2683,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2690,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2691,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2692,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2693,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2694,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2695,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - lsr
    - elt
    - ommit_tag
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    - Bool
    constantsTouched: []
    func_position:
      end: 2699
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2699
    functionName: lsr_write_g
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_elt_has_same_base
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_g(GF_LASeRCodec *lsr, SVG_Element *elt, Bool
      ommit_tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:900,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:903,1
    - Dst: lsr_write_codec_IDREF
      Src: /src/gpac/src/laser/lsr_enc.c:907,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:909,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/laser/lsr_enc.c:901,1
    - Dst: lsr_write_event_type
      Src: /src/gpac/src/laser/lsr_enc.c:911,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:913,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:916,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:919,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:926,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:924,1
    - Dst: lsr_write_vluimsbf5
      Src: /src/gpac/src/laser/lsr_enc.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - lsr
    - t
    argTypes:
    - GF_LASeRCodec*
    - SMIL_Time*
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: lsr_write_smil_time
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_event_type
    - GF_LSR_WRITE_INT
    - lsr_write_codec_IDREF
    - lsr_write_vluimsbf5
    - gf_node_get_id
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_smil_time(GF_LASeRCodec *lsr, SMIL_Time *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2644,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2646,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2647,1
    - Dst: lsr_write_fill
      Src: /src/gpac/src/laser/lsr_enc.c:2648,1
    - Dst: lsr_write_stroke
      Src: /src/gpac/src/laser/lsr_enc.c:2649,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2650,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2651,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2652,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2653,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2654,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2666,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2667
    functionName: lsr_write_foreignObject
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_stroke
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_any_attribute
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_fill
    - lsr_write_coordinate_ptr
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_foreignObject(GF_LASeRCodec *lsr, SVG_Element
      *elt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_svg_flatten_attributes
      Src: /src/gpac/src/laser/lsr_enc.c:2703,1
    - Dst: lsr_write_id
      Src: /src/gpac/src/laser/lsr_enc.c:2705,1
    - Dst: lsr_write_rare
      Src: /src/gpac/src/laser/lsr_enc.c:2706,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2707,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2708,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2711,1
    - Dst: lsr_write_fixed_clamp
      Src: /src/gpac/src/laser/lsr_enc.c:2712,1
    - Dst: GF_LSR_WRITE_INT
      Src: /src/gpac/src/laser/lsr_enc.c:2714,1
    - Dst: lsr_write_preserve_aspect_ratio
      Src: /src/gpac/src/laser/lsr_enc.c:2716,1
    - Dst: lsr_write_content_type
      Src: /src/gpac/src/laser/lsr_enc.c:2718,1
    - Dst: lsr_write_group_content
      Src: /src/gpac/src/laser/lsr_enc.c:2725,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2721,1
    - Dst: lsr_write_any_attribute
      Src: /src/gpac/src/laser/lsr_enc.c:2724,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2719,1
    - Dst: lsr_write_transform_behavior
      Src: /src/gpac/src/laser/lsr_enc.c:2723,1
    - Dst: lsr_write_href
      Src: /src/gpac/src/laser/lsr_enc.c:2722,1
    - Dst: lsr_write_coordinate_ptr
      Src: /src/gpac/src/laser/lsr_enc.c:2720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - lsr
    - elt
    argTypes:
    - GF_LASeRCodec*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 2726
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2726
    functionName: lsr_write_image
    functionSourceFile: /src/gpac/src/laser/lsr_enc.c
    functionUses: []
    functionsReached:
    - lsr_write_href
    - GF_LSR_WRITE_INT
    - gf_svg_flatten_attributes
    - lsr_write_preserve_aspect_ratio
    - lsr_write_any_attribute
    - lsr_write_group_content
    - lsr_write_id
    - lsr_write_rare
    - lsr_write_content_type
    - lsr_write_transform_behavior
    - lsr_write_coordinate_ptr
    - lsr_write_fixed_clamp
    linkageType: ''
    returnType: void
    signature: 'static void lsr_write_image(GF_LASeRCodec *lsr, SVG_Element *elt) '
  - BBCount: 135
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 307
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 307
    functionName: gf_lsr_anim_type_from_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_lsr_anim_type_from_attribute(u32 tag) '
  - BBCount: 135
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 727
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 727
    functionName: gf_lsr_anim_type_to_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_lsr_anim_type_to_attribute(u32 tag) '
  - BBCount: 65
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 862
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 862
    functionName: gf_lsr_rare_type_to_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_lsr_rare_type_to_attribute(u32 tag) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_tables.c:870,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1219,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1111,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1003,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1045,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1189,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1153,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1123,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1195,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1087,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:877,1
    - Dst: memset
      Src: /src/gpac/src/laser/lsr_tables.c:871,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:883,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:895,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:913,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:931,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:943,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:949,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:961,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:979,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1165,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1231,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1237,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1129,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1021,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1063,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1207,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1099,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1171,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1141,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1213,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1033,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1105,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1249,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1183,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:997,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1075,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1147,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1039,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1009,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1081,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1225,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1117,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1159,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1051,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:889,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:901,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:907,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:919,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:925,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:967,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:937,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:955,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:973,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:985,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1015,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1201,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1093,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1057,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1027,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:991,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1243,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1135,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1177,1
    - Dst: gf_svg_attributes_equal
      Src: /src/gpac/src/laser/lsr_tables.c:1069,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 507
    argCount: 2
    argNames:
    - elt_atts
    - base_atts
    argTypes:
    - SVGAllAttributes*
    - SVGAllAttributes*
    constantsTouched: []
    func_position:
      end: 1252
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 1252
    functionName: gf_lsr_same_rare
    functionSourceFile: /src/gpac/src/laser/lsr_tables.c
    functionUses: []
    functionsReached:
    - memset
    - gf_svg_attributes_equal
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_lsr_same_rare(SVGAllAttributes *elt_atts, SVGAllAttributes
      *base_atts) '
  - BBCount: 70
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 452
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 452
    functionName: gf_lsr_rare_type_from_attribute
    functionSourceFile: /src/gpac/src/laser/lsr_tables.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_lsr_rare_type_from_attribute(u32 tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1169,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1172,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1170,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1173
    functionName: gf_mpd_segment_base_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_url_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_base_free(void *_item) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_common_attributes_free
      Src: /src/gpac/src/media_tools/mpd.c:1286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1287,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:1293,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1297,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1305,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/mpd.c:1311,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1320,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1327,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1334,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:1340,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1288,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1298,1
    - Dst: gf_mpd_segment_list_free
      Src: /src/gpac/src/media_tools/mpd.c:1312,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/media_tools/mpd.c:1304,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1307,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1314,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1324,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1331,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1339,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1341,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1289,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/media_tools/mpd.c:1296,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1310,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/mpd.c:1313,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1319,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1323,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1332,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:1336,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1338,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1342,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:1295,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1301,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1309,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1317,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1321,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1322,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/mpd.c:1328,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1329,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1330,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1333,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 51
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1343
    functionName: gf_mpd_representation_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_template_free
    - gf_list_del
    - sscanf
    - MPD_FREE_EXTENSION_NODE
    - gf_list_count
    - gf_fclose
    - gf_mpd_segment_list_free
    - gf_mpd_common_attributes_free
    - strnicmp
    - gf_mpd_del_list
    - gf_list_pop_back
    - gf_mpd_segment_base_free
    - gf_blob_unregister
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_representation_free(void *_item) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:4274,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/mpd.c:4282,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:4281,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:4278,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/mpd.c:4279,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:4284,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4289,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - mpd
    - rep
    - force_base_url
    argTypes:
    - GF_MPD*
    - GF_MPD_Representation*
    - char*
    constantsTouched: []
    func_position:
      end: 4292
      start: 4269
    functionDepth: 0
    functionLinenumber: 4269
    functionLinenumberEnd: 4292
    functionName: get_rep_variant_filename
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - strcat
    - gf_strdup
    - gf_file_basename
    - strcpy
    - gf_file_ext_start
    linkageType: ''
    returnType: char*
    signature: 'static char *get_rep_variant_filename(GF_MPD const * const mpd, GF_MPD_Representation
      *rep, const char * force_base_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1178
    functionName: gf_mpd_segment_entry_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_entry_free(void *_item) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_common_attributes_free
      Src: /src/gpac/src/media_tools/mpd.c:1348,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1349,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1350,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1351,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1352,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1353,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1354,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1355,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1356,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1357,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1362,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1365,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1363,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1358,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/mpd.c:1359,1
    - Dst: gf_mpd_segment_list_free
      Src: /src/gpac/src/media_tools/mpd.c:1360,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/mpd.c:1361,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1364,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1366
    functionName: gf_mpd_adaptation_set_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_template_free
    - gf_mpd_segment_list_free
    - gf_mpd_common_attributes_free
    - gf_free
    - gf_mpd_del_list
    - gf_mpd_segment_base_free
    - MPD_FREE_EXTENSION_NODE
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_adaptation_set_free(void *_item) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:4342,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4377,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4385,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4387,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:4391,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4412,1
    - Dst: ceil
      Src: /src/gpac/src/media_tools/mpd.c:4435,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4456,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:4458,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:4464,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4480,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:4576,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:4589,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4610,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:4534,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:4494,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:4533,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/media_tools/mpd.c:4582,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:4590,1
    - Dst: gf_mpd_write_m3u8_playlist_tags
      Src: /src/gpac/src/media_tools/mpd.c:4602,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4575,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4322,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4337,1
    - Dst: gf_mpd_m3u8_get_init_seg
      Src: /src/gpac/src/media_tools/mpd.c:4339,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4376,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:4391,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4403,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4445,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4469,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4477,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:4481,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4603,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4586,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4606,1
    - Dst: gf_mpd_write_m3u8_playlist_tags
      Src: /src/gpac/src/media_tools/mpd.c:4598,1
    - Dst: gf_mpd_write_m3u8_playlist_tags
      Src: /src/gpac/src/media_tools/mpd.c:4585,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:4331,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4335,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:4354,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:4385,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4373,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4371,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/media_tools/mpd.c:4382,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:4381,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4468,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:4488,1
    - Dst: get_rep_variant_filename
      Src: /src/gpac/src/media_tools/mpd.c:4583,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:4594,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4599,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:4577,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4554,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4573,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4611,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4321,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4327,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4330,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4370,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:4389,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4395,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4407,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4446,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:4459,1
    - Dst: gf_mpd_write_m3u8_playlist
      Src: /src/gpac/src/media_tools/mpd.c:4491,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4555,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4581,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:4609,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/mpd.c:4558,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:4466,1
    - Dst: get_rep_variant_filename
      Src: /src/gpac/src/media_tools/mpd.c:4561,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4587,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/mpd.c:4530,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:4571,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 296
    argCount: 5
    argNames:
    - mpd
    - out
    - m3u8_name
    - period
    - mode
    argTypes:
    - GF_MPD*
    - FILE*
    - char*
    - GF_MPD_Period*
    - GF_M3U8WriteMode
    constantsTouched: []
    func_position:
      end: 4613
      start: 4294
    functionDepth: 0
    functionLinenumber: 4294
    functionLinenumberEnd: 4613
    functionName: gf_mpd_write_m3u8_master_playlist
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_fprintf
    - strncmp
    - gf_fileio_translate_url
    - GF_LOG
    - gf_mpd_write_m3u8_playlist_tags
    - gf_mpd_m3u8_get_init_seg
    - strstr
    - gf_list_find
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_file_basename
    - get_rep_variant_filename
    - gf_list_new
    - gf_list_get
    - gf_list_enum
    - ceil
    - sprintf
    - gf_free
    - gf_mpd_write_m3u8_playlist
    - strrchr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_write_m3u8_master_playlist(GF_MPD const * const mpd,
      FILE *out, const char* m3u8_name, GF_MPD_Period *period, GF_M3U8WriteMode mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_parse_duration
      Src: /src/gpac/src/media_tools/mpd.c:237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - duration
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: gf_mpd_parse_duration_u32
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_mpd_parse_duration
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_mpd_parse_duration_u32(const char * const duration) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:671,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:671,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:681,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:683,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:683,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:681,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:678,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:688,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:692,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:672,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:672,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:674,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:677,1
    - Dst: gf_mpd_parse_frac
      Src: /src/gpac/src/media_tools/mpd.c:679,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:682,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:682,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:684,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:684,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:687,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:673,1
    - Dst: gf_mpd_parse_frac
      Src: /src/gpac/src/media_tools/mpd.c:675,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:685,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:685,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:690,1
    - Dst: gf_mpd_parse_double
      Src: /src/gpac/src/media_tools/mpd.c:690,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:693,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:696,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:696,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:670,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:670,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:686,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:691,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:691,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:694,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:697,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:697,1
    - Dst: MPD_STORE_EXTENSION_ATTR
      Src: /src/gpac/src/media_tools/mpd.c:701,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 5
    argNames:
    - mpd
    - com
    - root
    - att
    - index
    argTypes:
    - GF_MPD*
    - GF_MPD_CommonAttributes*
    - GF_XMLNode*
    - GF_XMLAttribute*
    - u32*
    constantsTouched: []
    func_position:
      end: 704
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 704
    functionName: gf_mpd_parse_common_representation_attr
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_double
    - gf_mpd_parse_bool
    - gf_mpd_parse_string
    - strcmp
    - MPD_STORE_EXTENSION_ATTR
    - gf_mpd_parse_frac
    - gf_free
    - gf_mpd_parse_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_parse_common_representation_attr(GF_MPD *mpd, GF_MPD_CommonAttributes
      *com, GF_XMLNode *root, GF_XMLAttribute *att, u32 *index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:249,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: gf_mpd_parse_byte_range
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_ByteRange*
    signature: 'static GF_MPD_ByteRange *gf_mpd_parse_byte_range(const char * const
      attr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:708,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:712,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:714,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:709,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:711,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:715,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:717,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:718,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:720,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:721,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:726,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:727,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:723,1
    - Dst: gf_mpd_parse_produce_ref_time
      Src: /src/gpac/src/media_tools/mpd.c:724,1
    - Dst: MPD_STORE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:731,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 6
    argNames:
    - mpd
    - com
    - root
    - child
    - index
    - child_idx
    argTypes:
    - GF_MPD*
    - GF_MPD_CommonAttributes*
    - GF_XMLNode*
    - GF_XMLNode*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 734
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 734
    functionName: gf_mpd_parse_common_representation_child
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strcmp
    - gf_mpd_parse_descriptor
    - gf_mpd_parse_produce_ref_time
    - MPD_STORE_EXTENSION_NODE
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_parse_common_representation_child(GF_MPD *mpd,
      GF_MPD_CommonAttributes *com, GF_XMLNode *root, GF_XMLNode *child, u32 *index,
      u32 child_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: gf_mpd_parse_long_int
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_mpd_parse_long_int(const char * const attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3150,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3151,1
    - Dst: gf_mpd_print_desc
      Src: /src/gpac/src/media_tools/mpd.c:3152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - out
    - desc_list
    - desc_name
    - indent
    - x_children
    - child_idx
    argTypes:
    - FILE*
    - GF_List*
    - char*
    - s32
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3154
    functionName: gf_mpd_print_descriptors
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_mpd_print_desc
    - gf_mpd_extensible_print_nodes
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_descriptors(FILE *out, GF_List *desc_list,
      char *desc_name, s32 indent, GF_List *x_children, u32 *child_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:3647,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:3643,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/media_tools/mpd.c:3646,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3648,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/media_tools/mpd.c:3648,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:3651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - mpd
    - out
    argTypes:
    - GF_MPD*
    - FILE*
    constantsTouched: []
    func_position:
      end: 3654
      start: 3633
    functionDepth: 0
    functionLinenumber: 3633
    functionLinenumberEnd: 3654
    functionName: mpd_write_generation_comment
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_LOG
    - gf_gmtime
    - gf_sys_is_test_mode
    - gf_assert
    - gf_gpac_version
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpd_write_generation_comment(GF_MPD const * const mpd,
      FILE *out) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4673,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4695,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4718,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4785,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4789,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4794,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4656,1
    - Dst: gf_mpd_print_date
      Src: /src/gpac/src/media_tools/mpd.c:4665,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4684,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4749,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4733,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4760,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4725,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:4795,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4801,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4714,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4639,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4671,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4756,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4797,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4806,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4724,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4763,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4679,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4703,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4652,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4727,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4764,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4732,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4759,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4632,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4633,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4659,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4693,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4747,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4762,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4737,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4642,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4705,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4758,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4719,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4707,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4766,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4629,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4681,1
    - Dst: gf_mpd_extensible_print_attr
      Src: /src/gpac/src/media_tools/mpd.c:4687,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4699,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4716,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4746,1
    - Dst: gf_mpd_print_period
      Src: /src/gpac/src/media_tools/mpd.c:4786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:4625,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4761,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4755,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4798,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4738,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4644,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4721,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:4791,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:4799,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4743,1
    - Dst: mpd_write_generation_comment
      Src: /src/gpac/src/media_tools/mpd.c:4630,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4628,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4754,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4793,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4661,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4675,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4691,1
    - Dst: gf_mpd_print_date
      Src: /src/gpac/src/media_tools/mpd.c:4667,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4645,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4698,1
    - Dst: gf_mpd_extensible_print_attr
      Src: /src/gpac/src/media_tools/mpd.c:4713,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4720,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4765,1
    - Dst: gf_mpd_print_base_urls
      Src: /src/gpac/src/media_tools/mpd.c:4741,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4735,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4804,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4790,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4736,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:4730,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4636,1
    - Dst: gf_mpd_print_date
      Src: /src/gpac/src/media_tools/mpd.c:4669,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4649,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:4731,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4711,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4750,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4777,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4780,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4708,1
    - Dst: mpd_print_lang
      Src: /src/gpac/src/media_tools/mpd.c:4709,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:4726,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:4757,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:4677,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 151
    argCount: 3
    argNames:
    - mpd
    - out
    - compact
    argTypes:
    - GF_MPD*
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 4809
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4809
    functionName: gf_mpd_write
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_mpd_extensible_print_nodes
    - gf_mpd_nl
    - gf_list_enum
    - gf_list_count
    - gf_mpd_print_descriptors
    - GF_LOG
    - gf_mpd_extensible_print_attr
    - gf_mpd_print_duration
    - gf_mpd_print_period
    - mpd_print_lang
    - gf_mpd_lf
    - gf_mpd_print_base_urls
    - mpd_write_generation_comment
    - gf_mpd_print_date
    - gf_xml_dump_string
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_write(GF_MPD const * const mpd, FILE *out, Bool compact) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5462,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5469,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5475,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5487,1
    - Dst: gf_mpd_segment_timeline_start
      Src: /src/gpac/src/media_tools/mpd.c:5480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5505,1
    - Dst: gf_mpd_segment_timeline_start
      Src: /src/gpac/src/media_tools/mpd.c:5532,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 95
    argCount: 7
    argNames:
    - in_segment_index
    - period
    - set
    - rep
    - out_segment_start_time
    - out_opt_segment_duration
    - out_opt_scale
    argTypes:
    - s32
    - GF_MPD_Period*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Representation*
    - u64*
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 5544
      start: 5437
    functionDepth: 0
    functionLinenumber: 5437
    functionLinenumberEnd: 5544
    functionName: gf_mpd_get_segment_start_time_with_timescale
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    - gf_mpd_segment_timeline_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_mpd_get_segment_start_time_with_timescale(s32
      in_segment_index,\tGF_MPD_Period const * const period, GF_MPD_AdaptationSet
      const * const set, GF_MPD_Representation const * const rep,\tu64 *out_segment_start_time,
      u64 *out_opt_segment_duration, u32 *out_opt_scale) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6306,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6308,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6322,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:6327,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/mpd.c:6354,1
    - Dst: gf_mpd_print_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:6353,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/mpd.c:6356,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:6373,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/media_tools/mpd.c:6374,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/mpd.c:6339,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:6343,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:6355,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpd.c:6360,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:6379,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:6375,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6302,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6305,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6317,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6320,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6331,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:6340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6338,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/mpd.c:6357,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/mpd.c:6368,1
    - Dst: gf_mpd_parse_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:6370,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6371,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:6318,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6324,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/media_tools/mpd.c:6332,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:6341,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/media_tools/mpd.c:6364,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/mpd.c:6367,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/mpd.c:6369,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:6372,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/media_tools/mpd.c:6378,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:6383,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 1
    argNames:
    - mpd
    argTypes:
    - GF_MPD*
    constantsTouched: []
    func_position:
      end: 6387
      start: 6297
    functionDepth: 0
    functionLinenumber: 6297
    functionLinenumberEnd: 6387
    functionName: gf_mpd_split_adaptation_sets
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_fseek
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_list_del
    - gf_list_count
    - gf_blob_register
    - gf_mpd_representation_free
    - gf_list_new
    - gf_list_get
    - gf_xml_dom_parse
    - gf_fread
    - gf_file_temp
    - gf_fclose
    - gf_ftell
    - gf_free
    - gf_blob_unregister
    - gf_mpd_print_adaptation_set
    - gf_mpd_parse_adaptation_set
    - gf_list_rem
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_split_adaptation_sets(GF_MPD *mpd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/gpac/src/media_tools/mpd.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: gf_mpd_parse_double
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - atof
    linkageType: ''
    returnType: Double
    signature: 'static Double gf_mpd_parse_double(const char * const attr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3668,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3680,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3686,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3702,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3689,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3663,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3667,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3673,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3676,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3690,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3699,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3661,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3694,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:3698,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3695,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3704,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3706,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3665,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3671,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3682,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3685,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 44
    argCount: 15
    argNames:
    - out
    - rep
    - m3u8_name
    - codec_ext
    - g_type
    - g_id_pref
    - g2_type
    - g2_id_pref
    - set
    - max_alt_bandwidth
    - max_alt_width
    - max_alt_height
    - max_alt_fps
    - hls_version
    - prim_group_id
    argTypes:
    - FILE*
    - GF_MPD_Representation*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - GF_MPD_AdaptationSet*
    - u32
    - u32
    - u32
    - Double
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3708
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3708
    functionName: gf_mpd_write_m3u8_playlist_tags_entry
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strstr
    - gf_sys_is_test_mode
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_write_m3u8_playlist_tags_entry(FILE *out, const
      GF_MPD_Representation *rep, char *m3u8_name, const char *codec_ext, const char
      *g_type, const char *g_id_pref, const char *g2_type, const char *g2_id_pref,
      const GF_MPD_AdaptationSet *set, u32 max_alt_bandwidth, u32 max_alt_width, u32
      max_alt_height, Double max_alt_fps, u32 hls_version, const char *prim_group_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:4816,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:4823,1
    - Dst: gf_mpd_write
      Src: /src/gpac/src/media_tools/mpd.c:4822,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/mpd.c:4818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - mpd
    - file_name
    argTypes:
    - GF_MPD*
    - char*
    constantsTouched: []
    func_position:
      end: 4825
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4825
    functionName: gf_mpd_write_file
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_mpd_write
    - gf_fopen
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_write_file(GF_MPD const * const mpd, const
      char *file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:6391,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:6393,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - desclist
    - scheme_id
    argTypes:
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 6397
      start: 6389
    functionDepth: 0
    functionLinenumber: 6389
    functionLinenumberEnd: 6397
    functionName: gf_mpd_get_descriptor
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_MPD_Descriptor*
    signature: 'GF_MPD_Descriptor *gf_mpd_get_descriptor(GF_List *desclist, char *scheme_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6403,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:6404,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:6406,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6409,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6412,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6415,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6417,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6419,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:6422,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:6424,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - llhas_template
    - segment_filename
    - part_idx
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 6426
      start: 6399
    functionDepth: 0
    functionLinenumber: 6399
    functionLinenumberEnd: 6426
    functionName: gf_mpd_resolve_subnumber
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_strdup
    - sprintf
    - strchr
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'char *gf_mpd_resolve_subnumber(char *llhas_template, char *segment_filename,
      u32 part_idx) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:1424,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1426,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1430,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1438,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1447,1
    - Dst: gf_mpd_parse_period
      Src: /src/gpac/src/media_tools/mpd.c:1451,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1460,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1456,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1463,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1465,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1476,1
    - Dst: gf_mpd_parse_base_url
      Src: /src/gpac/src/media_tools/mpd.c:1520,1
    - Dst: gf_mpd_parse_duration
      Src: /src/gpac/src/media_tools/mpd.c:1472,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1491,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1482,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1471,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1467,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:1437,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1450,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1459,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1477,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1517,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1522,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1524,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1492,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1527,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1473,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:1488,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:1528,1
    - Dst: gf_mpd_parse_date
      Src: /src/gpac/src/media_tools/mpd.c:1468,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1487,1
    - Dst: gf_mpd_parse_period
      Src: /src/gpac/src/media_tools/mpd.c:1515,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1519,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:1523,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1514,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1483,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1426,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1425,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1438,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:1458,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:1455,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1462,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1474,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1480,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1481,1
    - Dst: gf_mpd_parse_date
      Src: /src/gpac/src/media_tools/mpd.c:1470,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1493,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1489,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1511,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1508,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1469,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1484,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:1513,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:1478,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1514,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1438,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1450,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1457,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1464,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1479,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:1490,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:1504,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:1505,1
    - Dst: gf_mpd_parse_program_info
      Src: /src/gpac/src/media_tools/mpd.c:1509,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:1486,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1475,1
    - Dst: gf_mpd_parse_date
      Src: /src/gpac/src/media_tools/mpd.c:1466,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1485,1
    - Dst: gf_mpd_parse_text_content
      Src: /src/gpac/src/media_tools/mpd.c:1512,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1518,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:1494,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:1525,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 206
    argCount: 3
    argNames:
    - root
    - mpd
    - default_base_url
    argTypes:
    - GF_XMLNode*
    - GF_MPD*
    - char*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1536
    functionName: gf_mpd_complete_from_dom
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_duration_u32
    - gf_list_add
    - gf_mpd_parse_program_info
    - gf_mpd_parse_duration
    - strncmp
    - gf_mpd_parse_long_int
    - gf_list_enum
    - gf_mpd_parse_base_url
    - gf_mpd_parse_string
    - GF_LOG
    - strcmp
    - gf_mpd_parse_date
    - gf_mpd_valid_child
    - gf_mpd_parse_text_content
    - gf_mpd_parse_descriptor
    - gf_free
    - gf_mpd_parse_period
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_complete_from_dom(GF_XMLNode *root, GF_MPD
      *mpd, const char *default_base_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_segment_list_free
      Src: /src/gpac/src/media_tools/mpd.c:2777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - segment_list
    argTypes:
    - GF_MPD_SegmentList*
    constantsTouched: []
    func_position:
      end: 2778
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2778
    functionName: gf_mpd_delete_segment_list
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_list_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mpd_delete_segment_list(GF_MPD_SegmentList *segment_list) '
  - BBCount: 147
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:1717,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1721,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1826,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1809,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1779,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1918,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1945,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1991,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2098,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1861,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1662,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:1664,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1678,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1783,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1744,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1789,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1935,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1944,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:2181,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1667,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:1669,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1709,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1888,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:1910,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2058,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:2084,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2105,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2139,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:2182,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2185,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1855,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1664,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/media_tools/mpd.c:1670,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1712,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1738,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1919,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/mpd.c:1935,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2096,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2197,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1679,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1875,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1805,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1876,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1807,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2009,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:2011,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/mpd.c:2019,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:2059,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2167,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2183,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2207,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2267,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1785,1
    - Dst: gf_mpd_init_struct
      Src: /src/gpac/src/media_tools/mpd.c:1638,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1645,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1727,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1788,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1992,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1998,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/mpd.c:2018,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/mpd.c:2019,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2120,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2175,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2190,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2119,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1665,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1676,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1713,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1800,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1881,1
    - Dst: gf_media_import
      Src: /src/gpac/src/media_tools/mpd.c:1940,1
    - Dst: gf_fsize
      Src: /src/gpac/src/media_tools/mpd.c:1955,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2023,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2055,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2107,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2238,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2298,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2222,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1745,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1670,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1666,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1706,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:1911,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:2002,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2062,1
    - Dst: gf_url_concatenate_parent
      Src: /src/gpac/src/media_tools/mpd.c:2087,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2318,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2188,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2320,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2193,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1696,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1711,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1830,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1833,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:1748,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1882,1
    - Dst: gf_dm_wget
      Src: /src/gpac/src/media_tools/mpd.c:1925,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/mpd.c:1953,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2126,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2312,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:1674,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1828,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1918,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2025,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2216,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/media_tools/mpd.c:1968,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2291,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1868,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1881,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1672,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1668,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:1681,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpd.c:1914,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2030,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:2081,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2129,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2306,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1777,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:1838,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:1956,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1995,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2061,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2143,1
    - Dst: strpbrk
      Src: /src/gpac/src/media_tools/mpd.c:2164,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2219,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2259,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2028,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1999,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpd.c:2285,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1823,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/mpd.c:1840,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2012,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2016,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2060,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2112,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2169,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:1973,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1781,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1708,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:1751,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:1997,1
    - Dst: group_to_codecs
      Src: /src/gpac/src/media_tools/mpd.c:2033,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:2082,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:2103,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2116,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2176,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2195,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:1752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1770,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1643,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:1667,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1702,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:1775,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1731,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1873,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:1903,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1912,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2173,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2170,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:1974,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2133,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:1705,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:1921,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1937,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2015,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2261,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2299,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2263,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2294,1
    CyclomaticComplexity: 236
    EdgeCount: 236
    ICount: 658
    argCount: 14
    argNames:
    - pl
    - m3u8_file
    - src_base_url
    - mpd_file
    - title
    - update_interval
    - mimeTypeForM3U8Segments
    - do_import
    - use_mpd_templates
    - use_segment_timeline
    - is_end
    - max_dur
    - mpd
    - parse_sub_playlist
    argTypes:
    - MasterPlaylist*
    - char*
    - char*
    - char*
    - char*
    - Double
    - char*
    - Bool
    - Bool
    - Bool
    - Bool
    - u32
    - GF_MPD*
    - Bool
    constantsTouched: []
    func_position:
      end: 2324
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 2324
    functionName: gf_m3u8_fill_mpd_struct
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - gf_media_import
    - strncmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_mpd_init_common_attributes
    - strstr
    - gf_gpac_version
    - gf_file_ext_start
    - gf_url_concatenate_parent
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_fsize
    - gf_file_delete
    - gf_mpd_init_struct
    - gf_file_basename
    - atoi
    - memmove
    - gf_list_new
    - gf_fopen
    - stricmp
    - gf_dynstrcat
    - gf_list_get
    - group_to_codecs
    - sprintf
    - strpbrk
    - memcpy
    - strchr
    - gf_sys_is_test_mode
    - gf_free
    - gf_dm_wget
    - gf_url_concatenate
    - strrchr
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m3u8_fill_mpd_struct(MasterPlaylist *pl, const char
      *m3u8_file, const char *src_base_url, const char *mpd_file, char *title, Double
      update_interval, char *mimeTypeForM3U8Segments, Bool do_import, Bool use_mpd_templates,
      Bool use_segment_timeline, Bool is_end, u32 max_dur, GF_MPD *mpd, Bool parse_sub_playlist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:91,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - child
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: gf_mpd_parse_text_content
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_string
    - gf_list_get
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_mpd_parse_text_content(GF_XMLNode *child) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_parse_segment_base_generic
      Src: /src/gpac/src/media_tools/mpd.c:425,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:430,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:430,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:429,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:431,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:431,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:435,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:436,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:437,1
    - Dst: gf_mpd_parse_segment_timeline
      Src: /src/gpac/src/media_tools/mpd.c:437,1
    - Dst: gf_mpd_parse_url
      Src: /src/gpac/src/media_tools/mpd.c:438,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - mpd
    - seg
    - root
    argTypes:
    - GF_MPD*
    - GF_MPD_MultipleSegmentBase*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: gf_mpd_parse_multiple_segment_base
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_parse_segment_base_generic
    - gf_mpd_parse_url
    - gf_mpd_parse_segment_timeline
    - gf_mpd_parse_int
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_parse_multiple_segment_base(GF_MPD *mpd, GF_MPD_MultipleSegmentBase
      *seg, GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3191,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3193,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3192,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - out
    - inband_event
    - indent
    argTypes:
    - FILE*
    - GF_List*
    - s32
    constantsTouched: []
    func_position:
      end: 3196
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3196
    functionName: gf_mpd_print_inband_event
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_mpd_lf
    - gf_fprintf
    - gf_mpd_nl
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_inband_event(FILE *out, GF_List *inband_event,
      s32 indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: gf_mpd_parse_int
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - atoi
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_mpd_parse_int(const char * const attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:1540,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1543,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1544,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1541,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1542,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1545,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1546,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1547,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - mpd
    argTypes:
    - GF_MPD*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: gf_mpd_init_struct
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_init_struct(GF_MPD *mpd) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:2360,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2385,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:2407,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/media_tools/mpd.c:2419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2424,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2428,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:2467,1
    - Dst: gf_m3u8_fill_mpd_struct
      Src: /src/gpac/src/media_tools/mpd.c:2473,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2345,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2358,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2370,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2398,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:2386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2408,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2462,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2470,1
    - Dst: gf_m3u8_parse_master_playlist
      Src: /src/gpac/src/media_tools/mpd.c:2343,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/mpd.c:2345,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2391,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/mpd.c:2403,1
    - Dst: gf_dm_wget
      Src: /src/gpac/src/media_tools/mpd.c:2410,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/mpd.c:2421,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2459,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2471,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2475,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/media_tools/mpd.c:2350,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2359,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:2362,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2371,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2388,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/mpd.c:2412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2437,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2438,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 12
    argNames:
    - m3u8_file
    - base_url
    - mpd_file
    - reload_count
    - mimeTypeForM3U8Segments
    - do_import
    - use_mpd_templates
    - use_segment_timeline
    - getter
    - mpd
    - parse_sub_playlist
    - keep_files
    argTypes:
    - char*
    - char*
    - char*
    - u32
    - char*
    - Bool
    - Bool
    - Bool
    - GF_FileDownload*
    - GF_MPD*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2478
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2478
    functionName: gf_m3u8_to_mpd
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_url_concatenate
    - gf_dm_wget
    - gf_list_get
    - strlen
    - gf_error_to_string
    - gf_list_enum
    - GF_LOG
    - strcmp
    - gf_m3u8_fill_mpd_struct
    - gf_file_delete
    - gf_m3u8_master_playlist_del
    - gf_free
    - gf_m3u8_parse_sub_playlist
    - gf_m3u8_parse_master_playlist
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m3u8_to_mpd(const char *m3u8_file, const char
      *base_url, const char *mpd_file, u32 reload_count, char *mimeTypeForM3U8Segments,
      Bool do_import, Bool use_mpd_templates, Bool use_segment_timeline, GF_FileDownload
      *getter, GF_MPD *mpd, Bool parse_sub_playlist, Bool keep_files) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - out
    - indent
    argTypes:
    - FILE*
    - s32
    constantsTouched: []
    func_position:
      end: 2784
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2784
    functionName: gf_mpd_lf
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_mpd_lf(FILE *out, s32 indent) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3204,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3205,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3206,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3203,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3208,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3209,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3210,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3212,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3213,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3215,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3217,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3218,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3219,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3221,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3223,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3224,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3220,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 2
    argNames:
    - out
    - ca
    argTypes:
    - FILE*
    - GF_MPD_CommonAttributes*
    constantsTouched: []
    func_position:
      end: 3226
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3226
    functionName: gf_mpd_print_common_attributes
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_common_attributes(FILE *out, GF_MPD_CommonAttributes
      *ca) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1196,1
    - Dst: gf_mpd_segment_timeline_free
      Src: /src/gpac/src/media_tools/mpd.c:1200,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1199,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1197,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1198,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1201,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1202,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1203,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1205
    functionName: gf_mpd_segment_list_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_timeline_free
    - gf_mpd_url_free
    - gf_mpd_del_list
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_list_free(void *_item) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5656,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5660,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5662,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:5658,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5661,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5667,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5668,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5669,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:5670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - mpd
    - container
    - root
    argTypes:
    - GF_MPD*
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 5674
      start: 5650
    functionDepth: 0
    functionLinenumber: 5650
    functionLinenumberEnd: 5674
    functionName: smooth_parse_chunk
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - sscanf
    - gf_list_enum
    - strcmp
    - atoi
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err smooth_parse_chunk(GF_MPD *mpd, GF_List *container,
      GF_XMLNode *root) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:67,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: gf_mpd_parse_bool
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_mpd_parse_bool(const char * const attr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1210,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1212,1
    - Dst: gf_mpd_segment_timeline_free
      Src: /src/gpac/src/media_tools/mpd.c:1213,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/media_tools/mpd.c:1211,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1214,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1215,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1216,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1217,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1219
    functionName: gf_mpd_segment_template_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_timeline_free
    - gf_mpd_url_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_template_free(void *_item) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/mpd.c:5599,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 8
    argNames:
    - seek_time
    - seek_mode
    - in_period
    - in_set
    - in_rep
    - out_segment_index
    - out_opt_seek_time
    - out_seg_dur
    argTypes:
    - Double
    - MPDSeekMode
    - GF_MPD_Period*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Representation*
    - u32*
    - Double*
    - Double*
    constantsTouched: []
    func_position:
      end: 5632
      start: 5581
    functionDepth: 0
    functionLinenumber: 5581
    functionLinenumberEnd: 5632
    functionName: gf_mpd_seek_in_period
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_get_segment_start_time_with_timescale
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_mpd_seek_in_period(Double seek_time, MPDSeekMode
      seek_mode,\tGF_MPD_Period const * const in_period, GF_MPD_AdaptationSet const
      * const in_set, GF_MPD_Representation const * const in_rep,\tu32 *out_segment_index,
      Double *out_opt_seek_time, Double *out_seg_dur) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2815,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:2808,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/media_tools/mpd.c:2810,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2818,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - out
    - name
    - time
    argTypes:
    - FILE*
    - char*
    - u64
    constantsTouched: []
    func_position:
      end: 2820
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2820
    functionName: gf_mpd_print_date
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_gmtime
    - gf_fprintf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_print_date(FILE *out, char *name, u64 time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:124,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:132,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/mpd.c:128,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - attr
    - sep
    - res
    argTypes:
    - char*
    - char
    - GF_MPD_Fractional*
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: gf_mpd_parse_frac
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - sscanf
    - snprintf
    - atoi
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_Fractional*
    signature: 'static GF_MPD_Fractional *gf_mpd_parse_frac(const char * const attr,
      const char sep, GF_MPD_Fractional *res) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:849,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:855,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:855,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:857,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:857,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:866,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:867,1
    - Dst: gf_mpd_parse_base_url
      Src: /src/gpac/src/media_tools/mpd.c:870,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:877,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:890,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:895,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:853,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:856,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:858,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:858,1
    - Dst: gf_mpd_parse_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:875,1
    - Dst: gf_mpd_parse_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:882,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:894,1
    - Dst: gf_mpd_parse_segments_context
      Src: /src/gpac/src/media_tools/mpd.c:896,1
    - Dst: gf_mpd_representation_new
      Src: /src/gpac/src/media_tools/mpd.c:848,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:859,1
    - Dst: gf_mpd_parse_common_representation_attr
      Src: /src/gpac/src/media_tools/mpd.c:861,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:859,1
    - Dst: gf_mpd_parse_dasher_context
      Src: /src/gpac/src/media_tools/mpd.c:892,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:854,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:854,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:856,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:860,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:860,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:869,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:873,1
    - Dst: gf_mpd_parse_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:878,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:880,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:891,1
    - Dst: gf_mpd_parse_common_representation_child
      Src: /src/gpac/src/media_tools/mpd.c:898,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 3
    argNames:
    - mpd
    - container
    - root
    argTypes:
    - GF_MPD*
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 903
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 903
    functionName: gf_mpd_parse_representation
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_parse_segments_context
    - gf_mpd_parse_dasher_context
    - gf_mpd_parse_common_representation_child
    - gf_mpd_parse_segment_list
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_representation_new
    - gf_mpd_parse_segment_base
    - gf_mpd_parse_common_representation_attr
    - gf_mpd_parse_segment_template
    - gf_mpd_parse_base_url
    - gf_assert
    - gf_mpd_parse_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_representation(GF_MPD *mpd, GF_List *container,
      GF_XMLNode *root) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1261,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1264,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1262,1
    - Dst: gf_mpd_descriptor_free
      Src: /src/gpac/src/media_tools/mpd.c:1263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1265
    functionName: gf_mpd_producer_reftime_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_descriptor_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_producer_reftime_free(void *item) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3361,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3369,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3383,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:3354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:3360,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3367,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3365,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3366,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3373,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3374,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3382,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3379,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3378,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3357,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3362,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3363,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3384,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - out
    - segments
    - indent
    argTypes:
    - FILE*
    - GF_List*
    - s32
    constantsTouched: []
    func_position:
      end: 3385
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3385
    functionName: gf_mpd_print_dasher_segments
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_mpd_nl
    - gf_list_count
    - gf_mpd_lf
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_dasher_segments(FILE *out, GF_List *segments,
      s32 indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:140,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: gf_mpd_parse_fraction
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - sscanf
    - atoi
    linkageType: ''
    returnType: GF_Fraction
    signature: 'static GF_Fraction gf_mpd_parse_fraction(const char * const attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:907,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:910,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:911,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:912,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:909,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:913,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:914,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:915,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:916,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:917,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 923
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 923
    functionName: gf_mpd_adaptation_set_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_mpd_init_common_attributes
    linkageType: ''
    returnType: GF_MPD_AdaptationSet*
    signature: 'GF_MPD_AdaptationSet *gf_mpd_adaptation_set_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1269,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1272,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1273,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1271,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1270,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1274,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1275,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1276,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1277,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1278,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1279,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_MPD_CommonAttributes*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1281
    functionName: gf_mpd_common_attributes_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_del_list
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_common_attributes_free(GF_MPD_CommonAttributes *ptr) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3391,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:3402,1
    - Dst: gf_mpd_print_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:3410,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3433,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3428,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3449,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3453,1
    - Dst: gf_mpd_print_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:3458,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3465,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3468,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/mpd.c:3403,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3393,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3414,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3419,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3424,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3415,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3416,1
    - Dst: gf_mpd_print_dasher_context
      Src: /src/gpac/src/media_tools/mpd.c:3438,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3392,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:3406,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3418,1
    - Dst: gf_mpd_print_common_children
      Src: /src/gpac/src/media_tools/mpd.c:3445,1
    - Dst: gf_mpd_print_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:3450,1
    - Dst: gf_mpd_print_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:3454,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3457,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3467,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3413,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3434,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3422,1
    - Dst: gf_mpd_print_dasher_segments
      Src: /src/gpac/src/media_tools/mpd.c:3441,1
    - Dst: gf_mpd_print_base_urls
      Src: /src/gpac/src/media_tools/mpd.c:3447,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3469,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 6
    argNames:
    - rep
    - out
    - write_context
    - indent
    - alt_mha_profile
    - skip_mime
    argTypes:
    - GF_MPD_Representation*
    - FILE*
    - Bool
    - s32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3470
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3470
    functionName: gf_mpd_print_representation
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_mpd_print_common_children
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_print_dasher_segments
    - gf_mpd_extensible_print_nodes
    - gf_strdup
    - gf_mpd_print_segment_template
    - gf_mpd_print_base_urls
    - gf_mpd_print_dasher_context
    - gf_mpd_lf
    - strcpy
    - gf_mpd_print_common_attributes
    - gf_mpd_print_segment_base
    - strstr
    - gf_free
    - gf_mpd_print_segment_list
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_representation(GF_MPD_Representation *rep,
      FILE *out, Bool write_context, s32 indent, u32 alt_mha_profile, Bool skip_mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - out
    - indent
    argTypes:
    - FILE*
    - s32
    constantsTouched: []
    func_position:
      end: 2794
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2794
    functionName: gf_mpd_nl
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_mpd_nl(FILE *out, s32 indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:446,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:456,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:447,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - media
    - start_range
    - end_range
    - index
    - idx_start_range
    - idx_end_range
    argTypes:
    - char*
    - u64
    - u64
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: gf_mpd_segmenturl_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_SegmentURL*
    signature: 'GF_MPD_SegmentURL *gf_mpd_segmenturl_new(const char*media, u64 start_range,
      u64 end_range, const char *index, u64 idx_start_range, u64 idx_end_range) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_print_segment_base_attr
      Src: /src/gpac/src/media_tools/mpd.c:2973,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2975,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2977,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2981,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2982,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2983,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2986,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2987,1
    - Dst: gf_mpd_print_url
      Src: /src/gpac/src/media_tools/mpd.c:2989,1
    - Dst: gf_mpd_print_url
      Src: /src/gpac/src/media_tools/mpd.c:2990,1
    - Dst: gf_mpd_print_segment_timeline
      Src: /src/gpac/src/media_tools/mpd.c:2992,1
    - Dst: gf_mpd_print_url
      Src: /src/gpac/src/media_tools/mpd.c:2993,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - out
    - ms
    - indent
    - close_if_no_child
    argTypes:
    - FILE*
    - GF_MPD_MultipleSegmentBase*
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 2995
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2995
    functionName: gf_mpd_print_multiple_segment_base
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_print_segment_timeline
    - gf_mpd_print_url
    - gf_mpd_lf
    - gf_mpd_print_segment_base_attr
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_mpd_print_multiple_segment_base(FILE *out, GF_MPD_MultipleSegmentBase
      *ms, s32 indent, Bool close_if_no_child) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5553,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - seek_time
    - in_mpd
    - out_period
    argTypes:
    - Double
    - GF_MPD*
    - GF_MPD_Period**
    constantsTouched: []
    func_position:
      end: 5577
      start: 5547
    functionDepth: 0
    functionLinenumber: 5547
    functionLinenumberEnd: 5577
    functionName: mpd_seek_periods
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpd_seek_periods(Double seek_time, GF_MPD const * const
      in_mpd, GF_MPD_Period **out_period) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3004,1
    - Dst: gf_mpd_print_multiple_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:3016,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3023,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3034,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3013,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3039,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3042,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3050,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3059,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3000,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3010,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3011,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3012,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3058,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2999,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3002,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3032,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3024,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3038,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3046,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3048,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3054,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3007,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3008,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3009,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3014,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3026,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3029,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3040,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3041,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3043,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3053,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3057,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 3
    argNames:
    - out
    - s
    - indent
    argTypes:
    - FILE*
    - GF_MPD_SegmentList*
    - s32
    constantsTouched: []
    func_position:
      end: 3060
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3060
    functionName: gf_mpd_print_segment_list
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_list_enum
    - gf_mpd_print_multiple_segment_base
    - gf_mpd_lf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_segment_list(FILE *out, GF_MPD_SegmentList
      *s, s32 indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:261,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:263,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:267,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:268,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:268,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:269,1
    - Dst: gf_mpd_parse_byte_range
      Src: /src/gpac/src/media_tools/mpd.c:269,1
    - Dst: gf_mpd_parse_text_content
      Src: /src/gpac/src/media_tools/mpd.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: gf_mpd_parse_base_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - gf_mpd_parse_text_content
    - GF_SAFEALLOC
    - gf_mpd_parse_byte_range
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_parse_base_url(GF_List *container, GF_XMLNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:583,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:587,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:588,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:586,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:587,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:588,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - comps
    - root
    argTypes:
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 592
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 592
    functionName: gf_mpd_parse_inband_event
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_strdup
    - strcmp
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_inband_event(GF_List *comps, GF_XMLNode
      *root) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1037,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:1055,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:1056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1061,1
    - Dst: gf_mpd_parse_duration
      Src: /src/gpac/src/media_tools/mpd.c:1066,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1066,1
    - Dst: gf_mpd_parse_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:1083,1
    - Dst: gf_mpd_parse_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:1086,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1088,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1057,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:1067,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1067,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1078,1
    - Dst: gf_mpd_parse_base_url
      Src: /src/gpac/src/media_tools/mpd.c:1079,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1082,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1085,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:1042,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1040,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1056,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1057,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:1058,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1058,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1095,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:1051,1
    - Dst: gf_mpd_period_new
      Src: /src/gpac/src/media_tools/mpd.c:1047,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1059,1
    - Dst: gf_mpd_parse_duration
      Src: /src/gpac/src/media_tools/mpd.c:1063,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:1075,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:1076,1
    - Dst: gf_mpd_parse_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:1089,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1091,1
    - Dst: gf_mpd_parse_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:1092,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1103
    functionName: gf_mpd_parse_period
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_mpd_parse_duration
    - gf_mpd_parse_segment_list
    - gf_mpd_parse_bool
    - gf_list_enum
    - gf_mpd_parse_string
    - GF_LOG
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_parse_segment_base
    - gf_mpd_parse_adaptation_set
    - gf_mpd_parse_segment_template
    - gf_mpd_parse_base_url
    - gf_mpd_period_new
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_parse_period(GF_MPD *mpd, GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:2858,1
    - Dst: gf_mpd_print_base_url
      Src: /src/gpac/src/media_tools/mpd.c:2859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - out
    - base_URLs
    - indent
    argTypes:
    - FILE*
    - GF_List*
    - s32
    constantsTouched: []
    func_position:
      end: 2861
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2861
    functionName: gf_mpd_print_base_urls
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_mpd_print_base_url
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_base_urls(FILE *out, GF_List *base_URLs,
      s32 indent) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:282,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:287,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:286,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:289,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:288,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:290,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:297,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:300,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:301,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:311,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:320,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:306,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:305,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:308,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:313,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:310,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 321
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 321
    functionName: gf_mpd_parse_program_info
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_enum
    - gf_strdup
    - gf_mpd_parse_string
    - strcmp
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_program_info(GF_MPD *mpd, GF_XMLNode *root) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:602,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:606,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:606,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:607,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:605,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:607,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:608,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:608,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:614,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:616,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:623,1
    - Dst: gf_mpd_descriptor_free
      Src: /src/gpac/src/media_tools/mpd.c:617,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - container
    - out_ptr
    - root
    argTypes:
    - GF_List*
    - GF_MPD_Descriptor**
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 630
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 630
    functionName: gf_mpd_parse_descriptor_ex
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - GF_SAFEALLOC
    - gf_assert
    - gf_mpd_descriptor_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_descriptor_ex(GF_List *container, GF_MPD_Descriptor
      **out_ptr, GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1111
    functionName: gf_mpd_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MPD *gf_mpd_new() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2865,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2868,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2866,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2867,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2869,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - out
    - url
    - name
    - indent
    argTypes:
    - FILE*
    - GF_MPD_URL*
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 2871
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2871
    functionName: gf_mpd_print_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_lf
    - gf_fprintf
    - gf_mpd_nl
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_url(FILE *out, GF_MPD_URL *url, char *name,
      s32 indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: gf_mpd_parse_string
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_mpd_parse_string(char *attr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:329,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:334,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:333,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:334,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:335,1
    - Dst: gf_mpd_parse_byte_range
      Src: /src/gpac/src/media_tools/mpd.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - root
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: gf_mpd_parse_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - GF_SAFEALLOC
    - gf_mpd_parse_byte_range
    linkageType: ''
    returnType: GF_MPD_URL*
    signature: 'static GF_MPD_URL *gf_mpd_parse_url(GF_XMLNode *root) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:767,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:770,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:770,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:776,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:774,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:774,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:776,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:779,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/media_tools/mpd.c:779,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:782,1
    - Dst: gf_mpd_parse_fraction
      Src: /src/gpac/src/media_tools/mpd.c:782,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:784,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:798,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:793,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:795,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:790,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:799,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:763,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:771,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:771,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:775,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:775,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:777,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:777,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:783,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:783,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:785,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:789,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:798,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:797,1
    - Dst: gf_mpd_parse_double
      Src: /src/gpac/src/media_tools/mpd.c:795,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:790,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:768,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:768,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:772,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:772,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:778,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/media_tools/mpd.c:778,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:780,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:780,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:784,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:786,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:788,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:797,1
    - Dst: gf_mpd_parse_double
      Src: /src/gpac/src/media_tools/mpd.c:792,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:792,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:786,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:794,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:789,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:769,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:769,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:773,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:773,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:781,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:781,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:787,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:787,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:788,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:791,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:793,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:796,1
    - Dst: gf_mpd_parse_double
      Src: /src/gpac/src/media_tools/mpd.c:791,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:799,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:796,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:785,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:794,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 133
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 802
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 802
    functionName: gf_mpd_parse_dasher_context
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_long_int
    - gf_mpd_parse_double
    - gf_mpd_parse_bool
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - GF_SAFEALLOC
    - gf_parse_lfrac
    - gf_mpd_parse_int
    - gf_mpd_parse_fraction
    linkageType: ''
    returnType: GF_DASH_SegmenterContext*
    signature: 'static GF_DASH_SegmenterContext *gf_mpd_parse_dasher_context(GF_MPD
      *mpd, GF_XMLNode *root) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1136,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1137,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1139
    functionName: gf_mpd_url_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_url_free(void *_item) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1148,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1149,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1150,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1151,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1152,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1153,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1155
    functionName: gf_mpd_prog_info_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - MPD_FREE_EXTENSION_NODE
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_prog_info_free(void *_item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1246,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1248,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1249
    functionName: gf_mpd_content_component_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_content_component_free(void *item) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6000,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6015,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6067,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6073,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6077,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6169,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6181,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6184,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/mpd.c:6193,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6163,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6165,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5993,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6003,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6054,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6179,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6136,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/mpd.c:6102,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6156,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6173,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6080,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6170,1
    - Dst: EXTRACT_FORMAT
      Src: /src/gpac/src/media_tools/mpd.c:6022,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6040,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6047,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6024,1
    - Dst: EXTRACT_FORMAT
      Src: /src/gpac/src/media_tools/mpd.c:6029,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6098,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6121,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6150,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6118,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/media_tools/mpd.c:5964,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6021,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6076,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/media_tools/mpd.c:6198,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6135,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6028,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6038,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6039,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6158,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6132,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6032,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6062,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6141,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6005,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6025,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6083,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6087,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6154,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6104,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/mpd.c:6139,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6130,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6108,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6185,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5975,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6055,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6117,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6114,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:6090,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6127,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6123,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5976,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6017,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6072,1
    - Dst: EXTRACT_FORMAT
      Src: /src/gpac/src/media_tools/mpd.c:6063,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6111,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:6095,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6174,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6000,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6045,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6086,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6107,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:6099,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6012,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:6154,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6180,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/media_tools/mpd.c:6197,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/mpd.c:6126,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:6149,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:5996,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:6041,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 342
    argCount: 12
    argNames:
    - seg_type
    - is_bs_switching
    - segment_name
    - rep_id
    - base_url
    - seg_rad_name
    - seg_ext
    - start_time
    - bandwidth
    - segment_number
    - use_segment_timeline
    - forced
    argTypes:
    - GF_DashTemplateSegmentType
    - Bool
    - char*
    - char*
    - char*
    - char*
    - char*
    - u64
    - u32
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 6205
      start: 5943
    functionDepth: 0
    functionLinenumber: 5943
    functionLinenumberEnd: 6205
    functionName: gf_media_mpd_format_segment_name
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - strcpy
    - EXTRACT_FORMAT
    - gf_mkdir
    - GF_LOG
    - sprintf
    - strrchr
    - gf_dir_exists
    - strchr
    - strncpy
    - strnicmp
    - gf_sys_old_arch_compat
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_mpd_format_segment_name(GF_DashTemplateSegmentType
      seg_type, Bool is_bs_switching, char *segment_name, const char *rep_id, const
      char *base_url, const char *seg_rad_name, const char *seg_ext, u64 start_time,
      u32 bandwidth, u32 segment_number, Bool use_segment_timeline, Bool forced) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:82,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - mpd
    - child
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: gf_mpd_valid_child
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_mpd_valid_child(GF_MPD *mpd, GF_XMLNode *child) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:349,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:354,1
    - Dst: gf_mpd_parse_double
      Src: /src/gpac/src/media_tools/mpd.c:354,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:362,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:351,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:351,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:355,1
    - Dst: gf_mpd_parse_duration_u32
      Src: /src/gpac/src/media_tools/mpd.c:355,1
    - Dst: gf_mpd_parse_url
      Src: /src/gpac/src/media_tools/mpd.c:362,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:350,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:350,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:352,1
    - Dst: gf_mpd_parse_byte_range
      Src: /src/gpac/src/media_tools/mpd.c:352,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:361,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:353,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:353,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:360,1
    - Dst: gf_mpd_parse_url
      Src: /src/gpac/src/media_tools/mpd.c:361,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:359,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - mpd
    - seg
    - root
    argTypes:
    - GF_MPD*
    - GF_MPD_SegmentBase*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: gf_mpd_parse_segment_base_generic
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_duration_u32
    - gf_mpd_parse_long_int
    - gf_mpd_parse_double
    - gf_mpd_parse_bool
    - gf_list_enum
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_parse_url
    - gf_mpd_parse_int
    - gf_mpd_parse_byte_range
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_parse_segment_base_generic(GF_MPD *mpd, GF_MPD_SegmentBase
      *seg, GF_XMLNode *root) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:816,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:813,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:824,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:825,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:825,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:826,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:830,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:826,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:830,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:827,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:827,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:831,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:831,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:811,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:828,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:828,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:832,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:832,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:815,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:818,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:821,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:829,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:829,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:833,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:833,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 838
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 838
    functionName: gf_mpd_parse_segments_context
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_parse_long_int
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - gf_mpd_valid_child
    - GF_SAFEALLOC
    - gf_list_new
    - gf_mpd_parse_int
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *gf_mpd_parse_segments_context(GF_MPD *mpd, GF_XMLNode
      *root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: gf_mpd_string_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_string_free(void *_item) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1159,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1162,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1163,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1161,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1160,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - _ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: gf_mpd_segment_url_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_url_free(void *_ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1253,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1254,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1256
    functionName: gf_mpd_inband_event_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_inband_event_free(void *item) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6223,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6228,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:6245,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6248,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6258,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:6261,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:6272,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6279,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:6280,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6288,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/mpd.c:6214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6227,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6239,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:6244,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6246,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6247,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:6256,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpd.c:6267,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6274,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6278,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6280,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6216,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6217,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/mpd.c:6220,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:6246,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:6233,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6263,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:6279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6291,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/mpd.c:6213,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/mpd.c:6217,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:6222,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6226,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6247,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:6245,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:6248,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:6264,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:6277,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:6278,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 92
    argCount: 7
    argNames:
    - cues_file
    - stream_id
    - cues_timescale
    - use_edit_list
    - ts_offset
    - out_cues
    - nb_cues
    argTypes:
    - char*
    - u32
    - u32*
    - Bool*
    - s32*
    - GF_DASHCueInfo**
    - u32*
    constantsTouched: []
    func_position:
      end: 6295
      start: 6208
    functionDepth: 0
    functionLinenumber: 6208
    functionLinenumberEnd: 6295
    functionName: gf_mpd_load_cues
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_xml_dom_del
    - gf_xml_dom_parse
    - memset
    - gf_xml_dom_new
    - sscanf
    - gf_error_to_string
    - gf_list_enum
    - GF_LOG
    - strcmp
    - atoi
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mpd_load_cues(const char *cues_file, u32 stream_id, u32
      *cues_timescale, Bool *use_edit_list, s32 *ts_offset, GF_DASHCueInfo **out_cues,
      u32 *nb_cues) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1224,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1226,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1227,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - id
    - schemeIdUri
    - value
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1230
    functionName: gf_mpd_descriptor_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_Descriptor*
    signature: 'GF_MPD_Descriptor *gf_mpd_descriptor_new(const char *id, const char
      *schemeIdUri, const char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:542,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:547,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:547,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:546,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:548,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:548,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:549,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:549,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/mpd.c:550,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/mpd.c:550,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:552,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:554,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:555,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:551,1
    - Dst: gf_mpd_parse_multiple_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:558,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 560
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 560
    functionName: gf_mpd_parse_segment_template
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_multiple_segment_base
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    - stricmp
    - gf_mpd_parse_int
    linkageType: ''
    returnType: GF_MPD_SegmentTemplate*
    signature: 'static GF_MPD_SegmentTemplate *gf_mpd_parse_segment_template(GF_MPD
      *mpd, GF_XMLNode *root) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1116,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:1121,1
    - Dst: __destructor
      Src: /src/gpac/src/media_tools/mpd.c:1119,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/mpd.c:1118,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/mpd.c:1117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - list
    - (*__destructor)
    - reset_only
    argTypes:
    - GF_List*
    - void
    - Bool
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: gf_mpd_del_list
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - __destructor
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_del_list(GF_List *list, void (*__destructor)(void *),
      Bool reset_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2833,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2831,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2834,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2835,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - out
    - name
    - duration_in_ms
    - UseHoursAndMinutes
    argTypes:
    - FILE*
    - char*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 2837
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2837
    functionName: gf_mpd_print_duration
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_print_duration(FILE *out, char *name, u64 duration_in_ms,
      Bool UseHoursAndMinutes) '
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4911,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4998,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5053,1
    - Dst: gf_mpd_resolve_segment_duration
      Src: /src/gpac/src/media_tools/mpd.c:5113,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5175,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5207,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5184,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5203,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5249,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5259,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:4899,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5057,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5188,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5244,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5255,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5290,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5291,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5231,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5226,1
    - Dst: gf_mpd_get_base_url
      Src: /src/gpac/src/media_tools/mpd.c:4895,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5011,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5200,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5250,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5173,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5233,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5150,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5154,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5165,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5239,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5268,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:5321,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5070,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5158,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5142,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4960,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpd.c:5036,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5190,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5225,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5166,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5246,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5121,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5234,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4940,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5026,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5030,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:5040,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5222,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5252,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5277,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5307,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4991,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5175,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5170,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5189,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5245,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5298,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5176,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4944,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5041,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5278,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5318,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5322,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5002,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:5034,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5248,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5293,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5317,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5175,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5022,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:5059,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5186,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5315,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5308,1
    - Dst: gf_mpd_get_base_url
      Src: /src/gpac/src/media_tools/mpd.c:4897,1
    - Dst: gf_mpd_get_base_url
      Src: /src/gpac/src/media_tools/mpd.c:4896,1
    - Dst: gf_mpd_get_base_url
      Src: /src/gpac/src/media_tools/mpd.c:4898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5018,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5155,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:5150,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5224,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5236,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5305,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5264,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5199,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5204,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:4893,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5060,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5208,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5240,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5292,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5323,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:5163,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5182,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4942,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:5031,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5146,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5150,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5195,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5237,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5256,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5301,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5300,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5178,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5216,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:5000,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5123,1
    CyclomaticComplexity: 196
    EdgeCount: 196
    ICount: 451
    argCount: 18
    argNames:
    - mpd
    - rep
    - set
    - period
    - mpd_url
    - base_url_index
    - resolve_type
    - item_index
    - nb_segments_removed
    - out_url
    - out_range_start
    - out_range_end
    - segment_duration_in_ms
    - is_in_base_url
    - out_key_url
    - out_key_iv
    - out_start_number
    - subseg_index
    argTypes:
    - GF_MPD*
    - GF_MPD_Representation*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Period*
    - char*
    - u32
    - GF_MPD_URLResolveType
    - u32
    - u32
    - char**
    - u64*
    - u64*
    - u64*
    - Bool*
    - char**
    - bin128*
    - u32*
    - s32
    constantsTouched: []
    func_position:
      end: 5325
      start: 4875
    functionDepth: 0
    functionLinenumber: 4875
    functionLinenumberEnd: 5325
    functionName: gf_mpd_resolve_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_mpd_resolve_segment_duration
    - gf_list_get
    - gf_malloc
    - strlen
    - strcat
    - strcpy
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - strcmp
    - sprintf
    - memcpy
    - gf_mpd_get_base_url
    - strchr
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_resolve_url(GF_MPD *mpd, GF_MPD_Representation
      *rep, GF_MPD_AdaptationSet *set, GF_MPD_Period *period, const char *mpd_url,
      u32 base_url_index, GF_MPD_URLResolveType resolve_type, u32 item_index, u32
      nb_segments_removed, char **out_url, u64 *out_range_start, u64 *out_range_end,
      u64 *segment_duration_in_ms, Bool *is_in_base_url, char **out_key_url, bin128
      *out_key_iv, u32 *out_start_number, s32 subseg_index) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5407,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5411,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 81
    argCount: 7
    argNames:
    - rep
    - set
    - period
    - out_duration
    - out_timescale
    - out_pts_offset
    - out_segment_timeline
    argTypes:
    - GF_MPD_Representation*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Period*
    - u64*
    - u32*
    - u64*
    - GF_MPD_SegmentTimeline**
    constantsTouched: []
    func_position:
      end: 5414
      start: 5342
    functionDepth: 0
    functionLinenumber: 5342
    functionLinenumberEnd: 5414
    functionName: gf_mpd_resolve_segment_duration
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mpd_resolve_segment_duration(GF_MPD_Representation
      *rep, GF_MPD_AdaptationSet *set, GF_MPD_Period *period, u64 *out_duration, u32
      *out_timescale, u64 *out_pts_offset, GF_MPD_SegmentTimeline **out_segment_timeline) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5798,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:5801,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5808,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5810,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5811,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5824,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5812,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5820,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5819,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5834,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5806,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5821,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5822,1
    - Dst: smooth_replace_string
      Src: /src/gpac/src/media_tools/mpd.c:5828,1
    - Dst: smooth_replace_string
      Src: /src/gpac/src/media_tools/mpd.c:5830,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5841,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5809,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5818,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5824,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5825,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5826,1
    - Dst: smooth_replace_string
      Src: /src/gpac/src/media_tools/mpd.c:5829,1
    - Dst: smooth_replace_string
      Src: /src/gpac/src/media_tools/mpd.c:5831,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5838,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5847,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5805,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:5803,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5807,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5825,1
    - Dst: smooth_parse_quality_level
      Src: /src/gpac/src/media_tools/mpd.c:5848,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5850,1
    - Dst: smooth_parse_chunk
      Src: /src/gpac/src/media_tools/mpd.c:5851,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5846,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 4
    argNames:
    - mpd
    - container
    - root
    - timescale
    argTypes:
    - GF_MPD*
    - GF_List*
    - GF_XMLNode*
    - u32
    constantsTouched: []
    func_position:
      end: 5856
      start: 5791
    functionDepth: 0
    functionLinenumber: 5791
    functionLinenumberEnd: 5856
    functionName: smooth_parse_stream_index
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - strcmp
    - smooth_parse_quality_level
    - smooth_parse_chunk
    - atoi
    - GF_SAFEALLOC
    - gf_mpd_init_common_attributes
    - gf_list_new
    - smooth_replace_string
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err smooth_parse_stream_index(GF_MPD *mpd, GF_List *container,
      GF_XMLNode *root, u32 timescale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2841,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:2848,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2842,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2846,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:2844,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - out
    - base_URL
    - indent
    argTypes:
    - FILE*
    - GF_MPD_BaseURL*
    - s32
    constantsTouched: []
    func_position:
      end: 2850
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2850
    functionName: gf_mpd_print_base_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_lf
    - gf_xml_dump_string
    - gf_fprintf
    - gf_mpd_nl
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_base_url(FILE *out, GF_MPD_BaseURL *base_URL,
      s32 indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:567,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:572,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:570,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:571,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:571,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:572,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:573,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:573,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - comps
    - root
    argTypes:
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 577
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 577
    functionName: gf_mpd_parse_content_component
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_strdup
    - strcmp
    - atoi
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_content_component(GF_List *comps, GF_XMLNode
      *root) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1127,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1128,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1129,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1131
    functionName: gf_mpd_base_url_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_base_url_free(void *_item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1235,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1238,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1236,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1237,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1241
    functionName: gf_mpd_descriptor_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - MPD_FREE_EXTENSION_NODE
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_descriptor_free(void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5334,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - mpd
    argTypes:
    - GF_MPD*
    constantsTouched: []
    func_position:
      end: 5340
      start: 5327
    functionDepth: 0
    functionLinenumber: 5327
    functionLinenumberEnd: 5340
    functionName: gf_mpd_get_duration
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_mpd_get_duration(GF_MPD *mpd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:5421,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:5422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - timeline
    - segment_index
    - segment_duration
    argTypes:
    - GF_MPD_SegmentTimeline*
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 5435
      start: 5416
    functionDepth: 0
    functionLinenumber: 5416
    functionLinenumberEnd: 5435
    functionName: gf_mpd_segment_timeline_start
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_mpd_segment_timeline_start(GF_MPD_SegmentTimeline *timeline,
      u32 segment_index, u64 *segment_duration) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_init_struct
      Src: /src/gpac/src/media_tools/mpd.c:5870,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5880,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5882,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5881,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5883,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5884,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5885,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/mpd.c:5885,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5887,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:5888,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:5898,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5896,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5903,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5904,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5899,1
    - Dst: smooth_parse_stream_index
      Src: /src/gpac/src/media_tools/mpd.c:5905,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - root
    - mpd
    - default_base_url
    argTypes:
    - GF_XMLNode*
    - GF_MPD*
    - char*
    constantsTouched: []
    func_position:
      end: 5911
      start: 5858
    functionDepth: 0
    functionLinenumber: 5858
    functionLinenumberEnd: 5911
    functionName: gf_mpd_init_smooth_from_dom
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - sscanf
    - gf_list_enum
    - gf_list_new
    - strcmp
    - smooth_parse_stream_index
    - gf_mpd_init_struct
    - atoi
    - GF_SAFEALLOC
    - stricmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_init_smooth_from_dom(GF_XMLNode *root, GF_MPD
      *mpd, const char *default_base_url) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:942,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:944,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:946,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:951,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:948,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:946,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:951,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:955,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:956,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:957,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:961,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:960,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:958,1
    - Dst: gf_mpd_parse_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:1000,1
    - Dst: gf_mpd_parse_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:1006,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:999,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:941,1
    - Dst: gf_mpd_parse_frac
      Src: /src/gpac/src/media_tools/mpd.c:949,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:947,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:952,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:952,1
    - Dst: gf_mpd_parse_frac
      Src: /src/gpac/src/media_tools/mpd.c:957,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:960,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:962,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:973,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:981,1
    - Dst: gf_mpd_parse_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:1003,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:956,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:963,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1002,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1008,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:936,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:944,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:953,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:953,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:955,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:959,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:959,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:964,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:971,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:972,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:985,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:989,1
    - Dst: gf_mpd_parse_base_url
      Src: /src/gpac/src/media_tools/mpd.c:990,1
    - Dst: gf_mpd_parse_content_component
      Src: /src/gpac/src/media_tools/mpd.c:994,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1005,1
    - Dst: gf_mpd_parse_common_representation_attr
      Src: /src/gpac/src/media_tools/mpd.c:966,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:986,1
    - Dst: gf_mpd_parse_representation
      Src: /src/gpac/src/media_tools/mpd.c:1009,1
    - Dst: gf_mpd_adaptation_set_new
      Src: /src/gpac/src/media_tools/mpd.c:933,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:940,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:941,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:942,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:943,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:943,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:945,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:945,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:954,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:954,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:977,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:982,1
    - Dst: gf_mpd_parse_inband_event
      Src: /src/gpac/src/media_tools/mpd.c:997,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:961,1
    - Dst: gf_mpd_parse_common_representation_child
      Src: /src/gpac/src/media_tools/mpd.c:1012,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:996,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:974,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:993,1
    - Dst: gf_mpd_parse_descriptor
      Src: /src/gpac/src/media_tools/mpd.c:978,1
    - Dst: gf_mpd_parse_frac
      Src: /src/gpac/src/media_tools/mpd.c:958,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 154
    argCount: 3
    argNames:
    - mpd
    - container
    - root
    argTypes:
    - GF_MPD*
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 1017
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 1017
    functionName: gf_mpd_parse_adaptation_set
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_parse_segment_list
    - gf_mpd_parse_representation
    - gf_mpd_parse_string
    - gf_mpd_parse_segment_base
    - gf_mpd_parse_descriptor
    - gf_mpd_parse_common_representation_attr
    - gf_mpd_parse_segment_template
    - strstr
    - gf_mpd_parse_content_component
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_parse_base_url
    - gf_mpd_adaptation_set_new
    - gf_mpd_parse_inband_event
    - gf_mpd_parse_bool
    - gf_list_enum
    - gf_free
    - gf_mpd_parse_int
    - gf_mpd_parse_common_representation_child
    - gf_mpd_parse_frac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_adaptation_set(GF_MPD *mpd, GF_List *container,
      GF_XMLNode *root) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1371,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/mpd.c:1375,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1372,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1373,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1374,1
    - Dst: gf_mpd_segment_list_free
      Src: /src/gpac/src/media_tools/mpd.c:1376,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/mpd.c:1377,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1379,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1380,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1381,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1382,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1384
    functionName: gf_mpd_period_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_template_free
    - gf_mpd_segment_list_free
    - gf_free
    - gf_mpd_del_list
    - gf_mpd_segment_base_free
    - MPD_FREE_EXTENSION_NODE
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_period_free(void *_item) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3064,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3065,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3068,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3067,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3069,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3070,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3071,1
    - Dst: gf_mpd_print_multiple_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:3073,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3076,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3077,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - out
    - s
    - indent
    argTypes:
    - FILE*
    - GF_MPD_SegmentTemplate*
    - s32
    constantsTouched: []
    func_position:
      end: 3079
      start: 3062
    functionDepth: 0
    functionLinenumber: 3062
    functionLinenumberEnd: 3079
    functionName: gf_mpd_print_segment_template
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_print_multiple_segment_base
    - gf_mpd_lf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_segment_template(FILE *out, GF_MPD_SegmentTemplate
      *s, s32 indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:1021,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1025,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1023,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:1024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1027
    functionName: gf_mpd_period_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_Period*
    signature: 'GF_MPD_Period *gf_mpd_period_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/mpd.c:1391,1
    - Dst: gf_mpd_string_free
      Src: /src/gpac/src/media_tools/mpd.c:1392,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1396,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1398,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1397,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1399,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1400,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1401,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1402,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1403,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1406,1
    - Dst: MPD_FREE_EXTENSION_NODE
      Src: /src/gpac/src/media_tools/mpd.c:1407,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1408,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1405,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - mpd
    argTypes:
    - GF_MPD*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1409
    functionName: gf_mpd_del
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_mpd_string_free
    - gf_free
    - gf_mpd_del_list
    - MPD_FREE_EXTENSION_NODE
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mpd_del(GF_MPD *mpd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3086,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3089,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3087,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3090,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - out
    - attributes
    argTypes:
    - FILE*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 3092
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3092
    functionName: gf_mpd_extensible_print_attr
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    - gf_fprintf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_extensible_print_attr(FILE *out, GF_List *attributes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2875,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2882,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2876,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2878,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2879,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2883,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:2886,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - FILE*
    - GF_MPD_SegmentBase*
    constantsTouched: []
    func_position:
      end: 2887
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2887
    functionName: gf_mpd_print_segment_base_attr
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_print_duration
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_segment_base_attr(FILE *out, GF_MPD_SegmentBase
      *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2915,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2913,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2931,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2952,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2912,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2919,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2920,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2921,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2935,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2930,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2951,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2958,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2960,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2911,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2922,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2927,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2936,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2938,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2933,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2954,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2959,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2916,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2941,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2932,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2953,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - out
    - tl
    - indent
    - tsb_first_entry
    argTypes:
    - FILE*
    - GF_MPD_SegmentTimeline*
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 2961
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2961
    functionName: gf_mpd_print_segment_timeline
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_mpd_nl
    - gf_list_count
    - gf_mpd_lf
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_segment_timeline(FILE *out, GF_MPD_SegmentTimeline
      *tl, s32 indent, u32 tsb_first_entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:5679,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5689,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5682,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:5681,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5689,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5689,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5689,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpd.c:5690,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpd.c:5691,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5693,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:5693,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/mpd.c:5692,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:5696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - src_str
    - str_match
    - str_replace
    - output
    argTypes:
    - char*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 5699
      start: 5676
    functionDepth: 0
    functionLinenumber: 5676
    functionLinenumberEnd: 5699
    functionName: smooth_replace_string
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - strcpy
    - gf_strdup
    - gf_free
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err smooth_replace_string(char *src_str, char *str_match,
      char *str_replace, char **output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2891,1
    - Dst: gf_mpd_print_segment_base_attr
      Src: /src/gpac/src/media_tools/mpd.c:2893,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2895,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2892,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2894,1
    - Dst: gf_mpd_print_url
      Src: /src/gpac/src/media_tools/mpd.c:2897,1
    - Dst: gf_mpd_print_url
      Src: /src/gpac/src/media_tools/mpd.c:2898,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:2900,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:2901,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:2902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - out
    - s
    - indent
    argTypes:
    - FILE*
    - GF_MPD_SegmentBase*
    - s32
    constantsTouched: []
    func_position:
      end: 2903
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2903
    functionName: gf_mpd_print_segment_base
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_print_url
    - gf_mpd_lf
    - gf_mpd_print_segment_base_attr
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_segment_base(FILE *out, GF_MPD_SegmentBase
      *s, s32 indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2966,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2969
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2969
    functionName: gf_mpd_segmentimeline_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_SegmentTimeline*
    signature: 'GF_MPD_SegmentTimeline *gf_mpd_segmentimeline_new(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:5737,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5748,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5746,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5754,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5761,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5765,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5769,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5779,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:5784,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5785,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5758,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5762,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5714,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:5718,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:5712,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:5713,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5738,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:5738,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5749,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5741,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5740,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5755,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpd.c:5776,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5770,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:5710,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:5715,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5739,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5745,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:5739,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5744,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5742,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5751,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5752,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:5757,1
    - Dst: ISBMFFI_ADD_KEYWORD
      Src: /src/gpac/src/media_tools/mpd.c:5766,1
    - Dst: ISBMFFI_ADD_KEYWORD_CONST
      Src: /src/gpac/src/media_tools/mpd.c:5782,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 4
    argNames:
    - mpd
    - container
    - root
    - timescale
    argTypes:
    - GF_MPD*
    - GF_List*
    - GF_XMLNode*
    - u32
    constantsTouched: []
    func_position:
      end: 5789
      start: 5701
    functionDepth: 0
    functionLinenumber: 5701
    functionLinenumberEnd: 5789
    functionName: smooth_parse_quality_level
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dynstrcat
    - gf_list_enum
    - gf_strdup
    - strcmp
    - sprintf
    - ISBMFFI_ADD_KEYWORD
    - atoi
    - GF_SAFEALLOC
    - gf_mpd_init_common_attributes
    - gf_list_new
    - ISBMFFI_ADD_KEYWORD_CONST
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err smooth_parse_quality_level(GF_MPD *mpd, GF_List *container,
      GF_XMLNode *root, u32 timescale) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:476,1
    - Dst: gf_mpd_parse_byte_range
      Src: /src/gpac/src/media_tools/mpd.c:476,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:482,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:479,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:487,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:487,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:491,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:493,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:473,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:473,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:488,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:488,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:492,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:492,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:467,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:469,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:474,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:474,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:489,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:489,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:491,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:472,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:475,1
    - Dst: gf_mpd_parse_byte_range
      Src: /src/gpac/src/media_tools/mpd.c:475,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:478,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:478,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/media_tools/mpd.c:480,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:486,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:486,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:490,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:490,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - container
    - root
    argTypes:
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 495
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 495
    functionName: gf_mpd_parse_segment_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_parse_long_int
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - GF_LOG
    - gf_bin128_parse
    - GF_SAFEALLOC
    - gf_mpd_parse_int
    - gf_mpd_parse_byte_range
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_parse_segment_url(GF_List *container, GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_parse_descriptor_ex
      Src: /src/gpac/src/media_tools/mpd.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - container
    - root
    argTypes:
    - GF_List*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: gf_mpd_parse_descriptor
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_descriptor_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_parse_descriptor(GF_List *container, GF_XMLNode
      *root) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:3162,1
    - Dst: gf_lang_get_2cc
      Src: /src/gpac/src/media_tools/mpd.c:3167,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/media_tools/mpd.c:3165,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3163,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:3164,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - out
    - attVal
    - attName
    argTypes:
    - FILE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3173
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3173
    functionName: mpd_print_lang
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fprintf
    - strcmp
    - gf_lang_find
    - gf_sys_is_test_mode
    - gf_lang_get_2cc
    linkageType: ''
    returnType: void
    signature: 'static void mpd_print_lang(FILE *out, const char *attVal, const char
      *attName) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:3949,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3955,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3959,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3953,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3954,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3963,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3965,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3966,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3968,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 4
    argNames:
    - out
    - rep
    - sctx
    - last_kms
    argTypes:
    - FILE*
    - GF_MPD_Representation*
    - GF_DASH_SegmentContext*
    - char**
    constantsTouched: []
    func_position:
      end: 3977
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3977
    functionName: hls_insert_crypt_info
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_LOG
    - strstr
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void hls_insert_crypt_info(FILE *out, GF_MPD_Representation
      *rep, GF_DASH_SegmentContext *sctx, const char **last_kms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4833,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4835,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4837,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - mpd
    - period
    - set
    - rep
    argTypes:
    - GF_MPD*
    - GF_MPD_Period*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 4843
      start: 4828
    functionDepth: 0
    functionLinenumber: 4828
    functionLinenumberEnd: 4843
    functionName: gf_mpd_get_base_url_count
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mpd_get_base_url_count(GF_MPD *mpd, GF_MPD_Period
      *period, GF_MPD_AdaptationSet *set, GF_MPD_Representation *rep) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:504,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:509,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:524,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:515,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:515,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:530,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:521,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:516,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:522,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:510,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:510,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:506,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:511,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:513,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:513,1
    - Dst: gf_mpd_parse_multiple_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:518,1
    - Dst: gf_mpd_parse_segment_url
      Src: /src/gpac/src/media_tools/mpd.c:526,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:511,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:514,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:516,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:514,1
    - Dst: gf_mpd_parse_segment_url
      Src: /src/gpac/src/media_tools/mpd.c:524,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:526,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 534
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 534
    functionName: gf_mpd_parse_segment_list
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_multiple_segment_base
    - gf_list_del
    - gf_list_enum
    - gf_list_count
    - gf_mpd_parse_string
    - strcmp
    - gf_mpd_valid_child
    - gf_mpd_parse_segment_url
    - atoi
    - GF_SAFEALLOC
    - gf_mpd_parse_int
    - gf_list_new
    - strstr
    linkageType: ''
    returnType: GF_MPD_SegmentList*
    signature: 'static GF_MPD_SegmentList *gf_mpd_parse_segment_list(GF_MPD *mpd,
      GF_XMLNode *root) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:644,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:647,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:649,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:648,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:648,1
    - Dst: gf_mpd_parse_bool
      Src: /src/gpac/src/media_tools/mpd.c:649,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:650,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:651,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:652,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:654,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:660,1
    - Dst: gf_mpd_parse_descriptor_ex
      Src: /src/gpac/src/media_tools/mpd.c:663,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:654,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:655,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:656,1
    - Dst: gf_mpd_parse_string
      Src: /src/gpac/src/media_tools/mpd.c:655,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:656,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:662,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - root
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 666
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 666
    functionName: gf_mpd_parse_produce_ref_time
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_long_int
    - gf_mpd_parse_bool
    - gf_list_enum
    - gf_mpd_parse_string
    - strcmp
    - gf_mpd_parse_descriptor_ex
    - GF_SAFEALLOC
    - gf_mpd_parse_int
    linkageType: ''
    returnType: GF_MPD_ProducerReferenceTime*
    signature: 'GF_MPD_ProducerReferenceTime *gf_mpd_parse_produce_ref_time(GF_XMLNode
      *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3179,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3183,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3181,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3180,1
    - Dst: mpd_print_lang
      Src: /src/gpac/src/media_tools/mpd.c:3182,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - out
    - content_component
    - indent
    argTypes:
    - FILE*
    - GF_List*
    - s32
    constantsTouched: []
    func_position:
      end: 3186
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3186
    functionName: gf_mpd_print_content_component
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_list_enum
    - mpd_print_lang
    - gf_mpd_lf
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_content_component(FILE *out, GF_List *content_component
      , s32 indent) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4026,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4131,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4225,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:4142,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4129,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4238,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4088,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:3999,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4021,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4133,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4190,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:4171,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4212,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4261,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/media_tools/mpd.c:4128,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4231,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:3995,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4045,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4075,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:4080,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4098,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/mpd.c:4151,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4003,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4005,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4040,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/mpd.c:4164,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:4239,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:4108,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4227,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4254,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:4264,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4052,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/media_tools/mpd.c:4082,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4004,1
    - Dst: gf_mpd_print_date
      Src: /src/gpac/src/media_tools/mpd.c:4027,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4033,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4156,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4158,1
    - Dst: hls_insert_crypt_info
      Src: /src/gpac/src/media_tools/mpd.c:4242,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4148,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4173,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4017,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4090,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4102,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4193,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4251,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4083,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:4145,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3988,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:4053,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4247,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4002,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4103,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4222,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:4180,1
    - Dst: hls_insert_crypt_info
      Src: /src/gpac/src/media_tools/mpd.c:4055,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:4240,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/media_tools/mpd.c:3994,1
    - Dst: gf_ceil
      Src: /src/gpac/src/media_tools/mpd.c:4003,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4012,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4010,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4185,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4095,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/mpd.c:3990,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4000,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4028,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4042,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpd.c:4215,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:4119,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4246,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4188,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4249,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4125,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4174,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:4014,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4136,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:4170,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 231
    argCount: 8
    argNames:
    - mpd
    - period
    - as
    - rep
    - m3u8_name
    - hls_version
    - max_part_dur_session
    - force_base_url
    argTypes:
    - GF_MPD*
    - GF_MPD_Period*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Representation*
    - char*
    - u32
    - Double
    - char*
    constantsTouched: []
    func_position:
      end: 4267
      start: 3979
    functionDepth: 0
    functionLinenumber: 3979
    functionLinenumberEnd: 4267
    functionName: gf_mpd_write_m3u8_playlist
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - hls_insert_crypt_info
    - gf_mpd_resolve_subnumber
    - gf_list_last
    - gf_list_count
    - strcmp
    - gf_file_basename
    - gf_assert
    - gf_fopen
    - gf_dynstrcat
    - gf_list_get
    - gf_list_enum
    - fprintf
    - gf_file_temp
    - gf_ceil
    - strchr
    - gf_sys_is_test_mode
    - gf_free
    - gf_mpd_print_date
    - gf_url_concatenate
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mpd_write_m3u8_playlist(const GF_MPD *mpd, const
      GF_MPD_Period *period, const GF_MPD_AdaptationSet *as, GF_MPD_Representation
      *rep, char *m3u8_name, u32 hls_version, Double max_part_dur_session, const char
      *force_base_url) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:4849,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/media_tools/mpd.c:4851,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:4866,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:4868,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:4869,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - baseURLs
    - parent_url
    - base_url_index
    argTypes:
    - GF_List*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 4873
      start: 4845
    functionDepth: 0
    functionLinenumber: 4845
    functionLinenumberEnd: 4873
    functionName: gf_mpd_get_base_url
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_list_get
    - gf_list_count
    - gf_free
    - gf_get_bit_size
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_mpd_get_base_url(GF_List *baseURLs, char *parent_url,
      u32 *base_url_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:738,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:740,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:742,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:741,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - com
    argTypes:
    - GF_MPD_CommonAttributes*
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: gf_mpd_init_common_attributes
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_init_common_attributes(GF_MPD_CommonAttributes
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1182,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: gf_mpd_segment_timeline_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_del_list
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_timeline_free(void *_item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_init_struct
      Src: /src/gpac/src/media_tools/mpd.c:1556,1
    - Dst: gf_mpd_complete_from_dom
      Src: /src/gpac/src/media_tools/mpd.c:1563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - root
    - mpd
    - default_base_url
    argTypes:
    - GF_XMLNode*
    - GF_MPD*
    - char*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1564
    functionName: gf_mpd_init_from_dom
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_init_struct
    - gf_mpd_complete_from_dom
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_init_from_dom(GF_XMLNode *root, GF_MPD *mpd,
      const char *default_base_url) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:3099,1
    - Dst: gf_xml_dom_serialize
      Src: /src/gpac/src/media_tools/mpd.c:3111,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3113,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3112,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:3102,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3114,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - out
    - children
    - indent
    - child_idx
    - is_final
    argTypes:
    - FILE*
    - GF_List*
    - s32
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 3121
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3121
    functionName: gf_mpd_extensible_print_nodes
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_mpd_nl
    - gf_list_count
    - gf_mpd_lf
    - gf_xml_dom_serialize
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_extensible_print_nodes(FILE *out, GF_List *children,
      s32 indent, u32 *child_idx, Bool is_final) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:749,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:753,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:752,1
    - Dst: gf_mpd_init_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 756
    functionName: gf_mpd_representation_new
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_mpd_init_common_attributes
    linkageType: ''
    returnType: GF_MPD_Representation*
    signature: 'GF_MPD_Representation *gf_mpd_representation_new() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3125,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3128,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3129,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3126,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3127,1
    - Dst: gf_mpd_extensible_print_attr
      Src: /src/gpac/src/media_tools/mpd.c:3131,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3135,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3136,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3137,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3138,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3139,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3140,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3142,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - out
    - desc
    - desc_name
    - indent
    argTypes:
    - FILE*
    - GF_MPD_Descriptor*
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 3145
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3145
    functionName: gf_mpd_print_desc
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_extensible_print_nodes
    - gf_mpd_extensible_print_attr
    - gf_mpd_lf
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_desc(FILE *out, GF_MPD_Descriptor *desc,
      char *desc_name, s32 indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/media_tools/mpd.c:1189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1190
    functionName: gf_mpd_segment_url_list_free
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_del_list
    linkageType: ''
    returnType: void
    signature: 'void gf_mpd_segment_url_list_free(GF_List *list) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3234,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3253,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3257,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3271,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3275,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3280,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3285,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3230,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3240,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3273,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3279,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3284,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3231,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3232,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3233,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:3237,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:3239,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3241,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3246,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3272,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3277,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3281,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3278,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3242,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3243,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3260,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3252,1
    - Dst: gf_mpd_print_desc
      Src: /src/gpac/src/media_tools/mpd.c:3259,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3263,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3264,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3276,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3283,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 4
    argNames:
    - out
    - ca
    - indent
    - child_idx
    argTypes:
    - FILE*
    - GF_MPD_CommonAttributes*
    - s32
    - u32*
    constantsTouched: []
    func_position:
      end: 3288
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3288
    functionName: gf_mpd_print_common_children
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_print_desc
    - gf_list_count
    - gf_mpd_print_descriptors
    - gf_list_enum
    - gf_mpd_lf
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_mpd_print_common_children(FILE *out, GF_MPD_CommonAttributes
      *ca, s32 indent, u32 *child_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/mpd.c:5916,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/mpd.c:5919,1
    - Dst: gf_mpd_init_smooth_from_dom
      Src: /src/gpac/src/media_tools/mpd.c:5919,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5921,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/mpd.c:5917,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:5924,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/mpd.c:5926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - smooth_file
    - mpd
    - default_base_url
    argTypes:
    - char*
    - GF_MPD*
    - char*
    constantsTouched: []
    func_position:
      end: 5928
      start: 5913
    functionDepth: 0
    functionLinenumber: 5913
    functionLinenumberEnd: 5928
    functionName: gf_mpd_smooth_to_mpd
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - GF_LOG
    - gf_xml_dom_get_root
    - gf_mpd_init_smooth_from_dom
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpd_smooth_to_mpd(char * smooth_file, GF_MPD *mpd,
      const char *default_base_url) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3315,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3316,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3313,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3323,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3326,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3337,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3345,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3349,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3295,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3302,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3317,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3319,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3305,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3321,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3332,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3293,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3300,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3322,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3324,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3327,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3330,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3335,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3342,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3292,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3294,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3296,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3301,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3311,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3320,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3339,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3348,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - out
    - dasher
    - indent
    argTypes:
    - FILE*
    - GF_DASH_SegmenterContext*
    - s32
    constantsTouched: []
    func_position:
      end: 3350
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3350
    functionName: gf_mpd_print_dasher_context
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_lf
    - gf_fprintf
    - gf_mpd_nl
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_dasher_context(FILE *out, GF_DASH_SegmenterContext
      *dasher, s32 indent) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1570,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1574,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1575,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:1573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:1572,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:1586,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:1589,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:1608,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:1610,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:1613,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 58
    argCount: 3
    argNames:
    - pl
    - pe
    - bandwidth
    argTypes:
    - MasterPlaylist*
    - PlaylistElement*
    - u32*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1623
    functionName: group_to_codecs
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - strcmp
    - strchr
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'static char *group_to_codecs(MasterPlaylist *pl, PlaylistElement *pe,
      u32 *bandwidth) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2501,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/mpd.c:2506,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/media_tools/mpd.c:2520,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/mpd.c:2521,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2532,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2539,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2548,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2576,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpd.c:2579,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2587,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2592,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2704,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2735,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2656,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2641,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpd.c:2755,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2587,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2513,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/mpd.c:2517,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/media_tools/mpd.c:2519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2531,1
    - Dst: gf_sha1_file
      Src: /src/gpac/src/media_tools/mpd.c:2551,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/mpd.c:2558,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2571,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2572,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:2615,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2672,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2649,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2730,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2588,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpd.c:2743,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2747,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:2615,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2763,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2694,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2585,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2514,1
    - Dst: gf_sha1_file
      Src: /src/gpac/src/media_tools/mpd.c:2526,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/mpd.c:2531,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2554,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2560,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2570,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2586,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2606,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2612,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2616,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2617,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:2654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2576,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:2677,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2497,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/mpd.c:2511,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:2508,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:2522,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/mpd.c:2553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:2562,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/mpd.c:2563,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpd.c:2567,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2603,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:2604,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpd.c:2608,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2623,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:2700,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:2601,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:2640,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:2754,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 237
    argCount: 6
    argNames:
    - rep
    - base_url
    - getter
    - is_static
    - duration
    - last_sig
    argTypes:
    - GF_MPD_Representation*
    - char*
    - GF_FileDownload*
    - Bool*
    - u64*
    - u8
    constantsTouched: []
    func_position:
      end: 2766
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2766
    functionName: gf_m3u8_solve_representation_xlink
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strncmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_m3u8_parse_sub_playlist
    - gf_url_is_local
    - strstr
    - gf_list_del
    - gf_error_to_string
    - gf_sha1_file
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_blob_get
    - gf_sha1_csum
    - gf_blob_release
    - gf_list_new
    - gf_assert
    - gf_list_get
    - memcmp
    - memcpy
    - gf_free
    - gf_url_concatenate
    - gf_m3u8_master_playlist_del
    - gf_file_exists
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m3u8_solve_representation_xlink(GF_MPD_Representation
      *rep, const char *base_url, GF_FileDownload *getter, Bool *is_static, u64 *duration,
      u8 last_sig[GF_SHA1_DIGEST_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/mpd.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: gf_mpd_parse_date
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_net_parse_date
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_mpd_parse_date(const char * const attr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:373,1
    - Dst: gf_mpd_valid_child
      Src: /src/gpac/src/media_tools/mpd.c:379,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:380,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:378,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpd.c:375,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:382,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpd.c:385,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:388,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:389,1
    - Dst: gf_mpd_parse_long_int
      Src: /src/gpac/src/media_tools/mpd.c:390,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:392,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:391,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:393,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:399,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:398,1
    - Dst: gf_mpd_parse_int
      Src: /src/gpac/src/media_tools/mpd.c:394,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 408
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 408
    functionName: gf_mpd_parse_segment_timeline
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_parse_long_int
    - gf_list_enum
    - strcmp
    - gf_mpd_valid_child
    - GF_SAFEALLOC
    - gf_list_new
    - gf_mpd_parse_int
    linkageType: ''
    returnType: GF_MPD_SegmentTimeline*
    signature: 'static GF_MPD_SegmentTimeline *gf_mpd_parse_segment_timeline(GF_MPD
      *mpd, GF_XMLNode *root) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpd.c:3488,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3492,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3502,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3506,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3531,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3538,1
    - Dst: gf_mpd_print_base_urls
      Src: /src/gpac/src/media_tools/mpd.c:3543,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3545,1
    - Dst: gf_mpd_print_inband_event
      Src: /src/gpac/src/media_tools/mpd.c:3550,1
    - Dst: gf_mpd_print_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:3562,1
    - Dst: gf_mpd_print_representation
      Src: /src/gpac/src/media_tools/mpd.c:3568,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3572,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3567,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3573,1
    - Dst: gf_mpd_print_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:3579,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpd.c:3489,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3499,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3520,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3524,1
    - Dst: mpd_print_lang
      Src: /src/gpac/src/media_tools/mpd.c:3530,1
    - Dst: gf_mpd_print_common_attributes
      Src: /src/gpac/src/media_tools/mpd.c:3533,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3539,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3553,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3557,1
    - Dst: gf_mpd_print_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:3558,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3571,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3547,1
    - Dst: gf_mpd_print_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:3479,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3504,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3509,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3510,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3515,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3513,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3514,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3511,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3512,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3535,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3546,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:3487,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3500,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3518,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3526,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3536,1
    - Dst: gf_mpd_print_common_children
      Src: /src/gpac/src/media_tools/mpd.c:3541,1
    - Dst: gf_mpd_print_content_component
      Src: /src/gpac/src/media_tools/mpd.c:3549,1
    - Dst: gf_mpd_print_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:3554,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3561,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3570,1
    - Dst: gf_mpd_print_descriptors
      Src: /src/gpac/src/media_tools/mpd.c:3548,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3566,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 118
    argCount: 5
    argNames:
    - as
    - out
    - write_context
    - indent
    - alt_mha_profile
    argTypes:
    - GF_MPD_AdaptationSet*
    - FILE*
    - Bool
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 3582
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3582
    functionName: gf_mpd_print_adaptation_set
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_extensible_print_nodes
    - gf_mpd_print_content_component
    - gf_mpd_lf
    - gf_mpd_print_common_children
    - gf_mpd_print_base_urls
    - gf_mpd_print_representation
    - gf_mpd_print_segment_list
    - gf_list_count
    - strcmp
    - gf_mpd_print_segment_base
    - gf_xml_dump_string
    - gf_list_get
    - gf_list_enum
    - gf_mpd_print_descriptors
    - gf_sys_is_test_mode
    - gf_mpd_print_common_attributes
    - gf_mpd_print_segment_template
    - gf_mpd_print_adaptation_set
    - mpd_print_lang
    - gf_mpd_print_inband_event
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_adaptation_set(GF_MPD_AdaptationSet *as,
      FILE *out, Bool write_context, s32 indent, u32 alt_mha_profile) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3769,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3776,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3867,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3883,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3884,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3891,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3892,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/mpd.c:3899,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3810,1
    - Dst: gf_mpd_write_m3u8_playlist_tags_entry
      Src: /src/gpac/src/media_tools/mpd.c:3902,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:3914,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3860,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3744,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3753,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3755,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3773,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3766,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3823,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3846,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3854,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3855,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3864,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3866,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:3877,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3918,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3885,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3903,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3917,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3746,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3780,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/mpd.c:3772,1
    - Dst: gf_mpd_write_m3u8_playlist_tags_entry
      Src: /src/gpac/src/media_tools/mpd.c:3790,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpd.c:3825,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3865,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpd.c:3872,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:3907,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpd.c:3912,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/mpd.c:3876,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3812,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3748,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3754,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3757,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3758,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3759,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3760,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3778,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3763,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpd.c:3763,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3783,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/mpd.c:3894,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 204
    argCount: 12
    argNames:
    - as
    - as_idx
    - rep
    - out
    - m3u8_name
    - period
    - nb_alt_media
    - nb_subs
    - nb_cc
    - forced_inf_ids
    - hls_version
    - prim_group_id
    argTypes:
    - GF_MPD_AdaptationSet*
    - u32
    - GF_MPD_Representation*
    - FILE*
    - char*
    - GF_MPD_Period*
    - u32
    - u32
    - u32
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3919
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3919
    functionName: gf_mpd_write_m3u8_playlist_tags
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_fprintf
    - strncmp
    - gf_list_enum
    - strcmp
    - gf_mpd_write_m3u8_playlist_tags_entry
    - gf_sys_is_test_mode
    - gf_free
    - strstr
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_write_m3u8_playlist_tags(const GF_MPD_AdaptationSet
      *as, u32 as_idx, const GF_MPD_Representation *rep, FILE *out, char *m3u8_name,
      GF_MPD_Period *period, u32 nb_alt_media, u32 nb_subs, u32 nb_cc, const char
      *forced_inf_ids, u32 hls_version, const char *prim_group_id) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:187,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:195,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:213,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:175,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:178,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:194,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:181,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:219,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:205,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:193,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:220,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:225,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpd.c:228,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpd.c:163,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:186,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:188,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:189,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:190,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:191,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/mpd.c:192,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/mpd.c:203,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 113
    argCount: 1
    argNames:
    - duration
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 233
    functionName: gf_mpd_parse_duration
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    - strchr
    - atoi
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_mpd_parse_duration(const char * const duration) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpd.c:413,1
    - Dst: gf_mpd_parse_segment_base_generic
      Src: /src/gpac/src/media_tools/mpd.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: gf_mpd_parse_segment_base
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_segment_base_generic
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_MPD_SegmentBase*
    signature: 'static GF_MPD_SegmentBase *gf_mpd_parse_segment_base(GF_MPD *mpd,
      GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_parse_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:2771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - GF_MPD*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 2772
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2772
    functionName: gf_mpd_solve_segment_list_xlink
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_mpd_parse_segment_list
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MPD_SegmentList *gf_mpd_solve_segment_list_xlink(GF_MPD
      *mpd, GF_XMLNode *root) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3593,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3604,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3628,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3596,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:3598,1
    - Dst: gf_mpd_print_duration
      Src: /src/gpac/src/media_tools/mpd.c:3600,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3602,1
    - Dst: gf_mpd_print_segment_list
      Src: /src/gpac/src/media_tools/mpd.c:3615,1
    - Dst: gf_mpd_print_segment_base
      Src: /src/gpac/src/media_tools/mpd.c:3611,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3618,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3630,1
    - Dst: gf_mpd_nl
      Src: /src/gpac/src/media_tools/mpd.c:3588,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/media_tools/mpd.c:3591,1
    - Dst: gf_mpd_print_base_urls
      Src: /src/gpac/src/media_tools/mpd.c:3607,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3624,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/mpd.c:3629,1
    - Dst: gf_mpd_lf
      Src: /src/gpac/src/media_tools/mpd.c:3605,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3610,1
    - Dst: gf_mpd_print_segment_template
      Src: /src/gpac/src/media_tools/mpd.c:3619,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/mpd.c:3623,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3614,1
    - Dst: gf_mpd_print_adaptation_set
      Src: /src/gpac/src/media_tools/mpd.c:3625,1
    - Dst: gf_mpd_extensible_print_nodes
      Src: /src/gpac/src/media_tools/mpd.c:3627,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - period
    - is_dynamic
    - out
    - write_context
    - indent
    argTypes:
    - GF_MPD_Period*
    - Bool
    - FILE*
    - Bool
    - s32
    constantsTouched: []
    func_position:
      end: 3631
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3631
    functionName: gf_mpd_print_period
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_mpd_nl
    - gf_mpd_extensible_print_nodes
    - gf_mpd_print_segment_template
    - gf_list_enum
    - gf_mpd_print_adaptation_set
    - gf_mpd_print_duration
    - gf_mpd_print_segment_base
    - gf_mpd_lf
    - gf_mpd_print_base_urls
    - gf_mpd_print_segment_list
    - gf_xml_dump_string
    linkageType: ''
    returnType: void
    signature: 'static void gf_mpd_print_period(GF_MPD_Period const * const period,
      Bool is_dynamic, FILE *out, Bool write_context, s32 indent) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 19
    argCount: 3
    argNames:
    - period
    - as
    - rep
    argTypes:
    - GF_MPD_Period*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 3936
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3936
    functionName: gf_mpd_m3u8_get_init_seg
    functionSourceFile: /src/gpac/src/media_tools/mpd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_mpd_m3u8_get_init_seg(const GF_MPD_Period *period,
      const GF_MPD_AdaptationSet *as, const GF_MPD_Representation *rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: convert16
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u16 convert16 (u8 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - FILE*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: file_read_bytes
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_fread
    linkageType: ''
    returnType: Bool
    signature: 'static Bool file_read_bytes(FILE *fd, u8 *buffer, u32 len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:596,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:601,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:613,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:621,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:612,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:625,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:630,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:636,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:637,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:641,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:663,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:649,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:658,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:660,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:650,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:665,1
    - Dst: read_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:659,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 5
    argNames:
    - fd
    - orig_pes_len
    - pes_left
    - have_ts
    - ts
    argTypes:
    - FILE*
    - u16
    - u16*
    - Bool*
    - mpeg2ps_ts_t*
    constantsTouched: []
    func_position:
      end: 670
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 670
    functionName: read_pes_header_data
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - read_pts
    - file_read_bytes
    linkageType: ''
    returnType: Bool
    signature: 'static Bool read_pes_header_data (FILE *fd, u16 orig_pes_len, u16
      *pes_left, Bool *have_ts, mpeg2ps_ts_t *ts) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:906,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:922,1
    - Dst: gf_mp3_get_next_header_mem
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:910,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:927,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:936,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 942
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 942
    functionName: mpeg2ps_stream_find_mp3_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_mp3_get_next_header_mem
    - gf_mp3_frame_size
    - mpeg2ps_stream_read_next_pes_buffer
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpeg2ps_stream_find_mp3_frame (mpeg2ps_stream_t *sptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: mpeg2ps_get_video_stream_type
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: mpeg2ps_video_type_t
    signature: 'mpeg2ps_video_type_t mpeg2ps_get_video_stream_type (mpeg2ps_t *ps,
      u32 streamno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1538
    functionName: mpeg2ps_get_audio_stream_count
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_audio_stream_count (mpeg2ps_t *ps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1612
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1612
    functionName: mpeg2ps_get_audio_stream_id
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_audio_stream_id (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_size
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1781
    functionName: mpeg2ps_get_ps_size
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_size
    linkageType: ''
    returnType: u64
    signature: 'u64 mpeg2ps_get_ps_size(mpeg2ps_t *ps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: convert32
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 convert32 (u8 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert16
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:375,1
    - Dst: convert16
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pak
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: read_pts
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - convert16
    linkageType: ''
    returnType: u64
    signature: 'static u64 read_pts (u8 *pak) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_to_next_pes_header
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:683,1
    - Dst: read_pes_header_data
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:693,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:688,1
    - Dst: file_location
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:691,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:705,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:708,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:712,1
    - Dst: mpeg2ps_record_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - sptr
    - pes_len
    - have_ts
    - found_loc
    argTypes:
    - mpeg2ps_stream_t*
    - u16*
    - Bool*
    - s64*
    constantsTouched: []
    func_position:
      end: 722
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 722
    functionName: search_for_next_pes_header
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - file_location
    - file_read_bytes
    - mpeg2ps_record_pts
    - read_to_next_pes_header
    - read_pes_header_data
    linkageType: ''
    returnType: Bool
    signature: 'static Bool search_for_next_pes_header (mpeg2ps_stream_t *sptr, u16
      *pes_len, Bool *have_ts, s64 *found_loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    functionName: mpeg2ps_get_video_stream_width
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_video_stream_width (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1618,1
    - Dst: file_open
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1624,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1626,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1623,1
    - Dst: file_okay
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1625,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1630,1
    - Dst: mpeg2ps_scan_file
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1631,1
    - Dst: mpeg2ps_close
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1637
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1637
    functionName: mpeg2ps_init
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - memset
    - mpeg2ps_close
    - gf_strdup
    - file_okay
    - mpeg2ps_scan_file
    - GF_SAFEALLOC
    - gf_free
    - file_open
    linkageType: ''
    returnType: mpeg2ps_t*
    signature: 'mpeg2ps_t *mpeg2ps_init (const char *filename) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1832,1
    - Dst: search_for_next_pes_header
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1837,1
    - Dst: mpeg2ps_record_pts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1849,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1844,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1833,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1859,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1867,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1874,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 7
    argNames:
    - ps
    - sptr
    - search_dts
    - start_dts
    - start_loc
    - end_dts
    - end_loc
    argTypes:
    - mpeg2ps_t*
    - mpeg2ps_stream_t*
    - u64
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1881
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1881
    functionName: mpeg2ps_binary_seek
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - clear_stream_buffer
    - mpeg2ps_record_pts
    - search_for_next_pes_header
    - file_seek_to
    linkageType: ''
    returnType: void
    signature: "static void mpeg2ps_binary_seek (mpeg2ps_t *ps,\t\t\t\t mpeg2ps_stream_t
      *sptr,\t\t\t\t u64 search_dts,\t\t\t\t u64 start_dts,\t\t\t\t u64 start_loc,\t\t\t\t
      u64 end_dts,\t\t\t\tu64 end_loc) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_fd_for_stream
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1933,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1934,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1951,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1937,1
    - Dst: search_for_ts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1946,1
    - Dst: mpeg2ps_binary_seek
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1959,1
    - Dst: mpeg2ps_binary_seek
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1963,1
    - Dst: mpeg2ps_binary_seek
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1971,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1978,1
    - Dst: mpeg2ps_stream_read_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1980,1
    - Dst: stream_convert_frame_ts_to_msec
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1983,1
    - Dst: advance_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1988,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - ps
    - sptr
    - search_msec_timestamp
    argTypes:
    - mpeg2ps_t*
    - mpeg2ps_stream_t*
    - u64
    constantsTouched: []
    func_position:
      end: 1993
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1993
    functionName: mpeg2ps_seek_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_read_frame
    - stream_convert_frame_ts_to_msec
    - clear_stream_buffer
    - mpeg2ps_binary_seek
    - search_for_ts
    - advance_frame
    - file_seek_to
    - check_fd_for_stream
    linkageType: ''
    returnType: Bool
    signature: "static Bool mpeg2ps_seek_frame (mpeg2ps_t *ps,\t\t\t\tmpeg2ps_stream_t
      *sptr,\t\t\t\tu64 search_msec_timestamp) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: convert_ts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - sptr
    - ts_type
    - base_dts
    - freq_ts
    argTypes:
    - mpeg2ps_stream_t*
    - mpeg2ps_ts_type_t
    - u64
    - u32*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1690
    functionName: stream_convert_frame_ts_to_msec
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - convert_ts
    linkageType: ''
    returnType: u64
    signature: 'static u64 stream_convert_frame_ts_to_msec (mpeg2ps_stream_t *sptr,
      mpeg2ps_ts_type_t ts_type, u64 base_dts, u32 *freq_ts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:388,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - stream_id
    - substream
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: mpeg2ps_stream_create
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_SAFEALLOC
    linkageType: ''
    returnType: mpeg2ps_stream_t*
    signature: 'static mpeg2ps_stream_t *mpeg2ps_stream_create (u8 stream_id, u8 substream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: search_for_next_pes_header
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:734,1
    - Dst: copy_bytes_to_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 741
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 741
    functionName: mpeg2ps_stream_read_next_pes_buffer
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - copy_bytes_to_pes_buffer
    - search_for_next_pes_header
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpeg2ps_stream_read_next_pes_buffer (mpeg2ps_stream_t
      *sptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1182,1
    - Dst: get_info_from_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1206,1
    - Dst: mpeg2ps_stream_read_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1198,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1197,1
    - Dst: advance_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1212,1
    - Dst: mpeg2ps_stream_read_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1214,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1238,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1242
    functionName: get_info_for_all_streams
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_read_frame
    - clear_stream_buffer
    - advance_frame
    - get_info_from_frame
    - file_seek_to
    linkageType: ''
    returnType: void
    signature: 'static void get_info_for_all_streams (mpeg2ps_t *ps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1446
    functionName: mpeg2ps_get_video_stream_count
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_video_stream_count (mpeg2ps_t *ps) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NUM_ELEMENTS_IN_ARRAY
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1456
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1456
    functionName: invalid_video_streamno
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - NUM_ELEMENTS_IN_ARRAY
    linkageType: ''
    returnType: Bool
    signature: 'static Bool invalid_video_streamno (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1580
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1580
    functionName: mpeg2ps_get_audio_stream_type
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: mpeg2ps_audio_type_t
    signature: 'mpeg2ps_audio_type_t mpeg2ps_get_audio_stream_type (mpeg2ps_t *ps,
      u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1596
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1596
    functionName: mpeg2ps_get_audio_stream_channels
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_audio_stream_channels (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpeg2ps_stream_destroy
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1644,1
    - Dst: file_close
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1653,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1654,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1652,1
    - Dst: mpeg2ps_stream_destroy
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1655
    functionName: mpeg2ps_close
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_destroy
    - file_close
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mpeg2ps_close (mpeg2ps_t *ps) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: create_record
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:205,1
    - Dst: create_record
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:231,1
    - Dst: create_record
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:216,1
    - Dst: create_record
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - sptr
    - location
    - pTs
    argTypes:
    - mpeg2ps_stream_t*
    - s64
    - mpeg2ps_ts_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: mpeg2ps_record_pts
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - create_record
    linkageType: ''
    returnType: void
    signature: 'void mpeg2ps_record_pts (mpeg2ps_stream_t *sptr, s64 location, mpeg2ps_ts_t
      *pTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:404,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:410,1
    - Dst: file_close
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:407,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: mpeg2ps_stream_destroy
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_close
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mpeg2ps_stream_destroy (mpeg2ps_stream_t *sptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1588
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1588
    functionName: mpeg2ps_get_audio_stream_sample_freq
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_audio_stream_sample_freq (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1604
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1604
    functionName: mpeg2ps_get_audio_stream_bitrate
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_audio_stream_bitrate (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1784,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1786
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1786
    functionName: mpeg2ps_get_video_pos
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_ftell
    - invalid_video_streamno
    linkageType: ''
    returnType: s64
    signature: 's64 mpeg2ps_get_video_pos(mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1789,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1791
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1791
    functionName: mpeg2ps_get_audio_pos
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_ftell
    - invalid_audio_streamno
    linkageType: ''
    returnType: s64
    signature: 's64 mpeg2ps_get_audio_pos(mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:2005,1
    - Dst: mpeg2ps_seek_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:2008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ps
    - streamno
    - msec_timestamp
    argTypes:
    - mpeg2ps_t*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 2017
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2017
    functionName: mpeg2ps_seek_video_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    - mpeg2ps_seek_frame
    linkageType: ''
    returnType: Bool
    signature: "Bool mpeg2ps_seek_video_frame (mpeg2ps_t *ps, u32 streamno,\t\t\t
      u64 msec_timestamp) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 2042
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2042
    functionName: mpeg2ps_get_first_cts
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 mpeg2ps_get_first_cts(mpeg2ps_t *ps) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:546,1
    - Dst: convert32
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:550,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:566,1
    - Dst: find_pack_start
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:555,1
    - Dst: adv_past_pack_hdr
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:562,1
    - Dst: convert16
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - fd
    - stream_id
    - pes_len
    argTypes:
    - FILE*
    - u8*
    - u16*
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: read_to_next_pes_header
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - adv_past_pack_hdr
    - file_skip_bytes
    - file_read_bytes
    - convert32
    - find_pack_start
    - convert16
    linkageType: ''
    returnType: Bool
    signature: 'static Bool read_to_next_pes_header (FILE *fd, u8 *stream_id, u16
      *pes_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1170
    functionName: advance_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void advance_frame (mpeg2ps_stream_t *sptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1441
    functionName: mpeg2ps_get_max_time_msec
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 mpeg2ps_get_max_time_msec (mpeg2ps_t *ps) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1704,1
    - Dst: check_fd_for_stream
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1707,1
    - Dst: MPEG12_PictHdrType
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1720,1
    - Dst: advance_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1738,1
    - Dst: mpeg2ps_stream_find_mpeg_video_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1712,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 8
    argNames:
    - ps
    - streamno
    - buffer
    - buflen
    - frame_type
    - ts_type
    - decode_timestamp
    - compose_timestamp
    argTypes:
    - mpeg2ps_t*
    - u32
    - u8**
    - u32*
    - u8*
    - mpeg2ps_ts_type_t
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1742
    functionName: mpeg2ps_get_video_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - advance_frame
    - mpeg2ps_stream_find_mpeg_video_frame
    - invalid_video_streamno
    - check_fd_for_stream
    - MPEG12_PictHdrType
    linkageType: ''
    returnType: Bool
    signature: 'Bool mpeg2ps_get_video_frame(mpeg2ps_t *ps, u32 streamno, u8 **buffer,
      u32 *buflen, u8 *frame_type, mpeg2ps_ts_type_t ts_type, u64 *decode_timestamp,
      u64 *compose_timestamp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:2029,1
    - Dst: mpeg2ps_seek_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:2032,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ps
    - streamno
    - msec_timestamp
    argTypes:
    - mpeg2ps_t*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 2037
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2037
    functionName: mpeg2ps_seek_audio_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_seek_frame
    - invalid_audio_streamno
    linkageType: ''
    returnType: Bool
    signature: "Bool mpeg2ps_seek_audio_frame (mpeg2ps_t *ps,\t\t\t u32 streamno,\t\t\t
      u64 msec_timestamp) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: file_okay
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool file_okay (FILE *fd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:459,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:470,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:491,1
    - Dst: gf_mv12_next_start_code
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:464,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - fd
    - saved
    - len
    argTypes:
    - FILE*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 498
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 498
    functionName: find_pack_start
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - gf_mv12_next_start_code
    - memcpy
    - file_read_bytes
    linkageType: ''
    returnType: Bool
    signature: 'static Bool find_pack_start (FILE *fd, u8 *saved, u32 len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:515,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:521,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sptr
    - pes_len
    argTypes:
    - mpeg2ps_stream_t*
    - u16
    constantsTouched: []
    func_position:
      end: 528
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 528
    functionName: copy_bytes_to_pes_buffer
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - gf_fread
    linkageType: ''
    returnType: void
    signature: 'static void copy_bytes_to_pes_buffer (mpeg2ps_stream_t *sptr, u16
      pes_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:780,1
    - Dst: IS_MPEG_START
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:788,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:795,1
    - Dst: gf_mv12_next_start_code
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:784,1
    - Dst: gf_mv12_next_start_code
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:818,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:825,1
    - Dst: IS_MPEG_START
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:838,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 849
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 849
    functionName: mpeg2ps_stream_find_mpeg_video_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_mv12_next_start_code
    - IS_MPEG_START
    - mpeg2ps_stream_read_next_pes_buffer
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpeg2ps_stream_find_mpeg_video_frame (mpeg2ps_stream_t
      *sptr) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1253,1
    - Dst: add_stream
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1299,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1323,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1366,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1351,1
    - Dst: find_stream_from_id
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1360,1
    - Dst: mpeg2ps_stream_read_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1413,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1432,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1345,1
    - Dst: find_stream_from_id
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1357,1
    - Dst: add_stream
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1359,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1409,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1420,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1421,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1263,1
    - Dst: read_pes_header_data
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1276,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1286,1
    - Dst: file_seek_to
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1332,1
    - Dst: read_pes_header_data
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1337,1
    - Dst: read_to_next_pes_header
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1334,1
    - Dst: get_info_for_all_streams
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1374,1
    - Dst: clear_stream_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1412,1
    - Dst: convert_ts
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1422,1
    - Dst: read_to_next_pes_header
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1271,1
    - Dst: file_location
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1275,1
    - Dst: file_size
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1262,1
    - Dst: file_location
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1335,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 168
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mpeg2ps_t*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1433
    functionName: mpeg2ps_scan_file
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - mpeg2ps_stream_read_frame
    - file_location
    - memset
    - file_read_bytes
    - clear_stream_buffer
    - read_pes_header_data
    - convert_ts
    - get_info_for_all_streams
    - add_stream
    - file_seek_to
    - find_stream_from_id
    - read_to_next_pes_header
    - file_size
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void mpeg2ps_scan_file (mpeg2ps_t *ps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1494
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1494
    functionName: mpeg2ps_get_video_stream_height
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_video_stream_height (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1510
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1510
    functionName: mpeg2ps_get_video_stream_bitrate
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: Double
    signature: 'Double mpeg2ps_get_video_stream_bitrate (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1526
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1526
    functionName: mpeg2ps_get_video_stream_id
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_video_stream_id(mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: file_close
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void file_close (FILE *fd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:856,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:876,1
    - Dst: gf_ac3_parser
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:865,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:861,1
    - Dst: mpeg2ps_stream_read_next_pes_buffer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:889,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 895
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 895
    functionName: mpeg2ps_stream_find_ac3_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_read_next_pes_buffer
    - gf_ac3_parser
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpeg2ps_stream_find_ac3_frame (mpeg2ps_stream_t *sptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1502
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1502
    functionName: mpeg2ps_get_video_stream_aspect_ratio
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: u32
    signature: 'u32 mpeg2ps_get_video_stream_aspect_ratio (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1518
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1518
    functionName: mpeg2ps_get_video_stream_framerate
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: Double
    signature: 'Double mpeg2ps_get_video_stream_framerate (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NUM_ELEMENTS_IN_ARRAY
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1533
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1533
    functionName: invalid_audio_streamno
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - NUM_ELEMENTS_IN_ARRAY
    linkageType: ''
    returnType: Bool
    signature: 'static Bool invalid_audio_streamno (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: file_open
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_fopen
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *file_open (const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:427,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:428,1
    - Dst: file_read_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:441,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:440,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:437,1
    - Dst: file_skip_bytes
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - pak
    - read_from_start
    argTypes:
    - FILE*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: adv_past_pack_hdr
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_skip_bytes
    - file_read_bytes
    linkageType: ''
    returnType: void
    signature: 'static void adv_past_pack_hdr (FILE *fd, u8 *pak, u32 read_from_start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: file_size
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_fsize
    linkageType: ''
    returnType: u64
    signature: 'static u64 file_size(FILE *fd) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 8
    argNames:
    - pbuffer
    - buflen
    - have_mpeg2
    - height
    - width
    - frame_rate
    - bitrate
    - aspect_ratio
    argTypes:
    - unsigned char*
    - u32
    - s32*
    - u32*
    - u32*
    - Double*
    - Double*
    - u32*
    constantsTouched: []
    func_position:
      end: 350
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 350
    functionName: MPEG12_ParseSeqHdr
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int MPEG12_ParseSeqHdr(unsigned char *pbuffer, u32 buflen, s32 *have_mpeg2,
      u32 *height, u32 *width, Double *frame_rate, Double *bitrate, u32 *aspect_ratio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pbuffer
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: MPEG12_PictHdrTempRef
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: 'u16 MPEG12_PictHdrTempRef(unsigned char *pbuffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sptr
    argTypes:
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1047
    functionName: clear_stream_buffer
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clear_stream_buffer (mpeg2ps_stream_t *sptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - ps
    - stream_id
    - substream
    argTypes:
    - mpeg2ps_t*
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 1101
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1101
    functionName: find_stream_from_id
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mpeg2ps_stream_t*
    signature: 'static mpeg2ps_stream_t *find_stream_from_id (mpeg2ps_t *ps, u8 stream_id,
      u8 substream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_stream_from_id
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1114,1
    - Dst: mpeg2ps_stream_create
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1119,1
    - Dst: mpeg2ps_stream_destroy
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - ps
    - stream_id
    - substream
    - first_loc
    - ts
    argTypes:
    - mpeg2ps_t*
    - u8
    - u8
    - s64
    - mpeg2ps_ts_t*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1141
    functionName: add_stream
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_destroy
    - mpeg2ps_stream_create
    - find_stream_from_id
    linkageType: ''
    returnType: Bool
    signature: 'static Bool add_stream (mpeg2ps_t *ps, u8 stream_id, u8 substream,
      s64 first_loc, mpeg2ps_ts_t *ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: invalid_video_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1468
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1468
    functionName: mpeg2ps_get_video_stream_name
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_video_streamno
    linkageType: ''
    returnType: char*
    signature: 'const char *mpeg2ps_get_video_stream_name (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 2
    argNames:
    - ps
    - streamno
    argTypes:
    - mpeg2ps_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1563
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1563
    functionName: mpeg2ps_get_audio_stream_name
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - invalid_audio_streamno
    linkageType: ''
    returnType: char*
    signature: 'const char *mpeg2ps_get_audio_stream_name (mpeg2ps_t *ps, u32 streamno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - loc
    - ts
    argTypes:
    - s64
    - u64
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: create_record
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: mpeg2ps_record_pes_t*
    signature: 'static mpeg2ps_record_pes_t *create_record (s64 loc, u64 ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pbuffer
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: MPEG12_PictHdrType
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 MPEG12_PictHdrType (unsigned char *pbuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_open
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ps
    - sptr
    argTypes:
    - mpeg2ps_t*
    - mpeg2ps_stream_t*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1149
    functionName: check_fd_for_stream
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - file_open
    linkageType: ''
    returnType: void
    signature: 'static void check_fd_for_stream (mpeg2ps_t *ps, mpeg2ps_stream_t *sptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - len
    argTypes:
    - FILE*
    - s32
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: file_skip_bytes
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_fseek
    linkageType: ''
    returnType: void
    signature: 'static void file_skip_bytes (FILE *fd, s32 len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpeg2ps_stream_find_mpeg_video_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:955,1
    - Dst: mpeg2ps_stream_find_ac3_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:966,1
    - Dst: mpeg2ps_stream_find_mp3_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - sptr
    - buffer
    - buflen
    - advance_pointers
    argTypes:
    - mpeg2ps_stream_t*
    - u8**
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 982
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 982
    functionName: mpeg2ps_stream_read_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_find_mp3_frame
    - mpeg2ps_stream_find_ac3_frame
    - mpeg2ps_stream_find_mpeg_video_frame
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpeg2ps_stream_read_frame (mpeg2ps_stream_t *sptr, u8
      **buffer, u32 *buflen, Bool advance_pointers) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MPEG12_ParseSeqHdr
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:992,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1012,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1009,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1011,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1013,1
    - Dst: gf_mp3_bit_rate
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1014,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1015,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1022,1
    - Dst: gf_ac3_parser
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1023,1
    - Dst: gf_ac3_get_bitrate
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1024,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - sptr
    - buffer
    - buflen
    argTypes:
    - mpeg2ps_stream_t*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1034
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1034
    functionName: get_info_from_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - gf_ac3_parser
    - memset
    - GF_4CC
    - gf_mp3_num_channels
    - gf_mp3_sampling_rate
    - gf_mp3_bit_rate
    - gf_mp3_layer
    - gf_ac3_get_bitrate
    - MPEG12_ParseSeqHdr
    - gf_mp3_window_size
    linkageType: ''
    returnType: void
    signature: 'static void get_info_from_frame (mpeg2ps_stream_t *sptr, u8 *buffer,
      u32 buflen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - sptr
    - ts_type
    - ts
    - base_ts
    - frames_since_ts
    argTypes:
    - mpeg2ps_stream_t*
    - mpeg2ps_ts_type_t
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1073
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1073
    functionName: convert_ts
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 convert_ts (mpeg2ps_stream_t *sptr, mpeg2ps_ts_type_t ts_type,
      u64 ts, u64 base_ts, u32 frames_since_ts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: invalid_audio_streamno
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1754,1
    - Dst: advance_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1773,1
    - Dst: check_fd_for_stream
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1757,1
    - Dst: mpeg2ps_stream_read_frame
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1760,1
    - Dst: stream_convert_frame_ts_to_msec
      Src: /src/gpac/src/media_tools/mpeg2_ps.c:1765,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 7
    argNames:
    - ps
    - streamno
    - buffer
    - buflen
    - ts_type
    - freq_timestamp
    - timestamp
    argTypes:
    - mpeg2ps_t*
    - u32
    - u8**
    - u32*
    - mpeg2ps_ts_type_t
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1775
    functionName: mpeg2ps_get_audio_frame
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached:
    - mpeg2ps_stream_read_frame
    - stream_convert_frame_ts_to_msec
    - invalid_audio_streamno
    - advance_frame
    - check_fd_for_stream
    linkageType: ''
    returnType: Bool
    signature: 'Bool mpeg2ps_get_audio_frame(mpeg2ps_t *ps, u32 streamno, u8 **buffer,
      u32 *buflen, mpeg2ps_ts_type_t ts_type, u32 *freq_timestamp, u64 *timestamp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - sptr
    - dts
    argTypes:
    - mpeg2ps_stream_t*
    - u64
    constantsTouched: []
    func_position:
      end: 1915
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1915
    functionName: search_for_ts
    functionSourceFile: /src/gpac/src/media_tools/mpeg2_ps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mpeg2ps_record_pes_t*
    signature: "static mpeg2ps_record_pes_t *search_for_ts (mpeg2ps_stream_t *sptr,\t\t\t\t
      u64 dts) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_gather_ipdatagram_information
      Src: /src/gpac/src/media_tools/dvb_mpe.c:80,1
    - Dst: gf_m2ts_process_ipdatagram
      Src: /src/gpac/src/media_tools/dvb_mpe.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ts
    - mff
    argTypes:
    - GF_M2TS_Demuxer*
    - MPE_FEC_FRAME*
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: on_dvb_mpe_fec_frame
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_m2ts_gather_ipdatagram_information
    - gf_m2ts_process_ipdatagram
    linkageType: ''
    returnType: void
    signature: 'static void on_dvb_mpe_fec_frame(GF_M2TS_Demuxer *ts, MPE_FEC_FRAME
      *mff) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:468,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:464,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:446,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 94
    argCount: 3
    argNames:
    - datagram
    - ip_packet
    - offset
    argTypes:
    - u8*
    - GF_M2TS_IP_Packet*
    - u32
    constantsTouched: []
    func_position:
      end: 472
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 472
    functionName: gf_m2ts_ipdatagram_reader
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_m2ts_ipdatagram_reader(u8 *datagram,GF_M2TS_IP_Packet *ip_packet,
      u32 offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:712,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:717,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:721,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dvb_mpe.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ip_str
    - data
    argTypes:
    - GF_M2TS_IP_Stream*
    - u8*
    constantsTouched: []
    func_position:
      end: 728
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 728
    functionName: gf_m2ts_target_ip
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_target_ip(GF_M2TS_IP_Stream* ip_str, u8 * data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:764,1
    - Dst: initialize_ecc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:767,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:765,1
    - Dst: getRowFromADT
      Src: /src/gpac/src/media_tools/dvb_mpe.c:775,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:769,1
    - Dst: getRowFromRS
      Src: /src/gpac/src/media_tools/dvb_mpe.c:776,1
    - Dst: encode_data
      Src: /src/gpac/src/media_tools/dvb_mpe.c:778,1
    - Dst: decode_data
      Src: /src/gpac/src/media_tools/dvb_mpe.c:780,1
    - Dst: check_syndrome
      Src: /src/gpac/src/media_tools/dvb_mpe.c:781,1
    - Dst: correct_errors_erasures
      Src: /src/gpac/src/media_tools/dvb_mpe.c:786,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:797,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - mff
    argTypes:
    - MPE_FEC_FRAME*
    constantsTouched: []
    func_position:
      end: 798
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 798
    functionName: decode_fec
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - encode_data
    - memset
    - getRowFromADT
    - correct_errors_erasures
    - GF_LOG
    - check_syndrome
    - memcpy
    - initialize_ecc
    - decode_data
    - getRowFromRS
    linkageType: ''
    returnType: void
    signature: 'void decode_fec(MPE_FEC_FRAME * mff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - mff
    - index
    - p_rs
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1148
    functionName: setRowRS
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void setRowRS(MPE_FEC_FRAME *mff, u32 index, u8 *p_rs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - mff
    - row
    - errPositions
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1243
    functionName: getErrorPositions
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void getErrorPositions(MPE_FEC_FRAME *mff, u32 row, u32 * errPositions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: gf_dvb_mpe_init
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dvb_mpe_init(GF_M2TS_Demuxer *ts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:491,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ip_packet
    argTypes:
    - GF_M2TS_IP_Packet*
    constantsTouched: []
    func_position:
      end: 494
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 494
    functionName: gf_m2ts_Delete_IpPacket
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_Delete_IpPacket(GF_M2TS_IP_Packet *ip_packet) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:814,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:825,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:819,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:817,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:818,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:828,1
    - Dst: gf_m2ts_ipdatagram_reader
      Src: /src/gpac/src/media_tools/dvb_mpe.c:838,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:847,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:850,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:858,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dvb_mpe.c:891,1
    - Dst: gf_m2ts_Delete_IpPacket
      Src: /src/gpac/src/media_tools/dvb_mpe.c:893,1
    - Dst: empty_list
      Src: /src/gpac/src/media_tools/dvb_mpe.c:890,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:861,1
    - Dst: gf_m2ts_compare_ip
      Src: /src/gpac/src/media_tools/dvb_mpe.c:863,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - mff
    - ts
    argTypes:
    - MPE_FEC_FRAME*
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 895
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 895
    functionName: gf_m2ts_gather_ipdatagram_information
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - empty_list
    - gf_list_get
    - gf_m2ts_Delete_IpPacket
    - gf_list_del
    - gf_list_count
    - gf_m2ts_compare_ip
    - GF_SAFEALLOC
    - gf_assert
    - gf_m2ts_ipdatagram_reader
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_gather_ipdatagram_information(MPE_FEC_FRAME *mff,GF_M2TS_Demuxer
      *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - mff
    - offset
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    constantsTouched: []
    func_position:
      end: 1155
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1155
    functionName: addPadding
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void addPadding(MPE_FEC_FRAME *mff , u32 offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - mff
    - row
    - errasures
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1262
    functionName: getErrasurePositions
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 getErrasurePositions( MPE_FEC_FRAME *mff , u32 row, u32 *errasures) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - data
    - offset
    - length
    argTypes:
    - u32*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: setErrorIndicator
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void setErrorIndicator(u32 * data , u32 offset, u32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:555,1
    - Dst: platform_descriptorDSMCC_INT_UNT
      Src: /src/gpac/src/media_tools/dvb_mpe.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ip_platform
    - data
    argTypes:
    - GF_M2TS_IP_PLATFORM*
    - u8*
    constantsTouched: []
    func_position:
      end: 568
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 568
    functionName: dsmcc_pto_platform_descriptor_loop
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_assert
    - platform_descriptorDSMCC_INT_UNT
    linkageType: ''
    returnType: u32
    signature: 'u32 dsmcc_pto_platform_descriptor_loop(GF_M2TS_IP_PLATFORM* ip_platform,
      u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:605,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:607,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ip_platform
    - data
    argTypes:
    - GF_M2TS_IP_PLATFORM*
    - u8*
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: gf_ip_platform_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void gf_ip_platform_descriptor(GF_M2TS_IP_PLATFORM* ip_platform,u8
      * data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:910,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:909,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:915,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:918,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:969,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:986,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:912,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:924,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:927,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:934,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:956,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:949,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:989,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:991,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:938,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:963,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:968,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:975,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:923,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:941,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:957,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:988,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:990,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 993
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 993
    functionName: gf_dvb_mpe_print_info
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_assert
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dvb_mpe_print_info(GF_M2TS_Demuxer *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:37,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dvb_mpe.c:39,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:40,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: empty_list
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void empty_list(GF_List * list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_process_int
      Src: /src/gpac/src/media_tools/dvb_mpe.c:60,1
    - Dst: gf_m2ts_process_mpe
      Src: /src/gpac/src/media_tools/dvb_mpe.c:67,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: on_dvb_mpe_section
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_int
    - gf_m2ts_process_mpe
    linkageType: ''
    returnType: void
    signature: 'static void on_dvb_mpe_section(GF_M2TS_Demuxer *ts, u32 evt_type,
      void *par) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_ip_platform_descriptor
      Src: /src/gpac/src/media_tools/dvb_mpe.c:586,1
    - Dst: gf_ip_platform_provider_descriptor
      Src: /src/gpac/src/media_tools/dvb_mpe.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ip_platform
    - data
    argTypes:
    - GF_M2TS_IP_PLATFORM*
    - u8*
    constantsTouched: []
    func_position:
      end: 599
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 599
    functionName: platform_descriptorDSMCC_INT_UNT
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_ip_platform_provider_descriptor
    - gf_ip_platform_descriptor
    linkageType: ''
    returnType: u32
    signature: 'u32 platform_descriptorDSMCC_INT_UNT(GF_M2TS_IP_PLATFORM* ip_platform,
      u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:618,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:620,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ip_platform
    - data
    argTypes:
    - GF_M2TS_IP_PLATFORM*
    - u8*
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: gf_ip_platform_provider_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void gf_ip_platform_provider_descriptor(GF_M2TS_IP_PLATFORM* ip_platform,
      u8 * data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1046,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1056,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1034,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1058,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1009,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1011,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1042,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1006,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1020,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1032,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1033,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1041,1
    - Dst: gf_sleep
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1060,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1004,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1008,1
    - Dst: gf_sk_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1024,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1026,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1046,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - ip_packet
    - ts
    - yield
    argTypes:
    - GF_M2TS_IP_Packet*
    - GF_M2TS_Demuxer*
    - Bool
    constantsTouched: []
    func_position:
      end: 1062
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1062
    functionName: socket_simu
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - GF_4CC
    - gf_sk_new
    - gf_error_to_string
    - gf_list_count
    - sprintf
    - GF_LOG
    - gf_sk_setup_multicast
    - gf_sk_is_multicast_address
    - gf_sk_bind
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_sk_send
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'void socket_simu(GF_M2TS_IP_Packet *ip_packet, GF_M2TS_Demuxer *ts,
      Bool yield) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowFromADT
      Src: /src/gpac/src/media_tools/dvb_mpe.c:743,1
    - Dst: encode_data
      Src: /src/gpac/src/media_tools/dvb_mpe.c:746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:748,1
    - Dst: setRowRS
      Src: /src/gpac/src/media_tools/dvb_mpe.c:750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mff
    argTypes:
    - MPE_FEC_FRAME*
    constantsTouched: []
    func_position:
      end: 753
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 753
    functionName: encode_fec
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - setRowRS
    - getRowFromADT
    - encode_data
    linkageType: ''
    returnType: void
    signature: 'void encode_fec(MPE_FEC_FRAME * mff) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:189,1
    - Dst: gf_m2ts_crc32_check
      Src: /src/gpac/src/media_tools/dvb_mpe.c:178,1
    - Dst: gf_m2ts_mpe_send_datagram
      Src: /src/gpac/src/media_tools/dvb_mpe.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:179,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:216,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:248,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:281,1
    - Dst: resetMFF
      Src: /src/gpac/src/media_tools/dvb_mpe.c:300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:250,1
    - Dst: on_dvb_mpe_fec_frame
      Src: /src/gpac/src/media_tools/dvb_mpe.c:299,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:290,1
    - Dst: init_frame
      Src: /src/gpac/src/media_tools/dvb_mpe.c:247,1
    - Dst: setIpDatagram
      Src: /src/gpac/src/media_tools/dvb_mpe.c:264,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 105
    argCount: 5
    argNames:
    - ts
    - mpe
    - data
    - data_size
    - table_id
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_MPE*
    - unsigned char*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 304
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 304
    functionName: gf_m2ts_process_mpe
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - setIpDatagram
    - gf_list_count
    - GF_LOG
    - on_dvb_mpe_fec_frame
    - gf_m2ts_crc32_check
    - resetMFF
    - GF_SAFEALLOC
    - init_frame
    - gf_list_new
    - gf_assert
    - gf_m2ts_mpe_send_datagram
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_process_mpe(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_MPE
      *mpe, unsigned char *data, u32 data_size, u8 table_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsmcc_pto_platform_descriptor_loop
      Src: /src/gpac/src/media_tools/dvb_mpe.c:527,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dvb_mpe.c:542,1
    - Dst: dsmcc_pto_descriptor_loop
      Src: /src/gpac/src/media_tools/dvb_mpe.c:539,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:533,1
    - Dst: dsmcc_pto_descriptor_loop
      Src: /src/gpac/src/media_tools/dvb_mpe.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ip_platform
    - data
    - data_size
    argTypes:
    - GF_M2TS_IP_PLATFORM*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 546
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 546
    functionName: section_DSMCC_INT
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - dsmcc_pto_descriptor_loop
    - gf_list_add
    - dsmcc_pto_platform_descriptor_loop
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void section_DSMCC_INT(GF_M2TS_IP_PLATFORM* ip_platform,u8 *data,
      u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - mff
    - index
    - adt_row
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: getRowFromADT
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void getRowFromADT(MPE_FEC_FRAME * mff, u32 index, u8* adt_row) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:319,1
    - Dst: gf_m2ts_ipdatagram_reader
      Src: /src/gpac/src/media_tools/dvb_mpe.c:336,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:328,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:326,1
    - Dst: socket_simu
      Src: /src/gpac/src/media_tools/dvb_mpe.c:349,1
    - Dst: gf_m2ts_compare_ip
      Src: /src/gpac/src/media_tools/dvb_mpe.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:354,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:361,1
    - Dst: empty_list
      Src: /src/gpac/src/media_tools/dvb_mpe.c:370,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dvb_mpe.c:371,1
    - Dst: gf_m2ts_Delete_IpPacket
      Src: /src/gpac/src/media_tools/dvb_mpe.c:373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - mff
    - ts
    argTypes:
    - MPE_FEC_FRAME*
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 374
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 374
    functionName: gf_m2ts_process_ipdatagram
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - empty_list
    - socket_simu
    - gf_list_get
    - gf_m2ts_Delete_IpPacket
    - gf_list_del
    - gf_list_count
    - gf_m2ts_compare_ip
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - gf_m2ts_ipdatagram_reader
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_process_ipdatagram(MPE_FEC_FRAME *mff,GF_M2TS_Demuxer
      *ts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1194,1
    - Dst: setErrorIndicator
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1199,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1202,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - mff
    - offset
    - dgram
    - length
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1209
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1209
    functionName: setIpDatagram
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - memcpy
    - GF_SAFEALLOC
    - setErrorIndicator
    linkageType: ''
    returnType: void
    signature: 'void setIpDatagram(MPE_FEC_FRAME * mff, u32 offset, u8* dgram, u32
      length ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:502,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:506,1
    - Dst: section_DSMCC_INT
      Src: /src/gpac/src/media_tools/dvb_mpe.c:508,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - ts
    - ip_table
    - data
    - data_size
    - table_id
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - unsigned char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: gf_m2ts_process_int
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_assert
    - section_DSMCC_INT
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_process_int(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES *ip_table,
      unsigned char *data, u32 data_size, u32 table_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:108,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:109,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:107,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:105,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dvb_mpe.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:112,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dvb_mpe.c:113,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dvb_mpe.c:116,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dvb_mpe.c:120,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dvb_mpe.c:125,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:128,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:122,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dvb_mpe.c:123,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dvb_mpe.c:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: gf_dvb_mpe_shutdown
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dvb_mpe_shutdown(GF_M2TS_Demuxer *ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dvb_mpe.c:153,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dvb_mpe.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - es
    argTypes:
    - GF_M2TS_ES*
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: gf_dvb_mpe_section_del
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dvb_mpe_section_del(GF_M2TS_ES *es) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:417,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:393,1
    - Dst: socket_simu
      Src: /src/gpac/src/media_tools/dvb_mpe.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 4
    argNames:
    - ts
    - mpe_pid
    - data
    - data_size
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - unsigned char*
    - u32
    constantsTouched: []
    func_position:
      end: 418
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 418
    functionName: gf_m2ts_mpe_send_datagram
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - socket_simu
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mpe_send_datagram(GF_M2TS_Demuxer *ts, u32 mpe_pid, unsigned
      char *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: descriptorDSMCC_INT_UNT
      Src: /src/gpac/src/media_tools/dvb_mpe.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ip_str
    - data
    argTypes:
    - GF_M2TS_IP_Stream*
    - u8*
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: dsmcc_pto_descriptor_loop
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - descriptorDSMCC_INT_UNT
    linkageType: ''
    returnType: u32
    signature: 'u32 dsmcc_pto_descriptor_loop ( GF_M2TS_IP_Stream *ip_str,u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:693,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ip_str
    - data
    argTypes:
    - GF_M2TS_IP_Stream*
    - u8*
    constantsTouched: []
    func_position:
      end: 696
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 696
    functionName: descriptorTime_slice_fec_identifier
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void descriptorTime_slice_fec_identifier( GF_M2TS_IP_Stream *ip_str,u8
      * data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1072,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1078,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1081,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1077,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1085,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - mff
    - rows
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    constantsTouched: []
    func_position:
      end: 1093
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1093
    functionName: init_frame
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - assert
    - GF_LOG
    - gf_calloc
    linkageType: ''
    returnType: Bool
    signature: 'Bool init_frame(MPE_FEC_FRAME * mff, u32 rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1214,1
    - Dst: setErrorIndicator
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1215,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1218,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - mff
    - offset
    - pds
    - length
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1222
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1222
    functionName: setColRS
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - gf_assert
    - memcpy
    - GF_LOG
    - setErrorIndicator
    linkageType: ''
    returnType: void
    signature: 'void setColRS( MPE_FEC_FRAME * mff, u32 offset, u8 * pds, u32 length
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dvb_mpe.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: gf_dvb_mpe_section_new
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_ES *gf_dvb_mpe_section_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - rx_ip_address
    - ip_address_bootstrap
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: gf_m2ts_compare_ip
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_m2ts_compare_ip(u8 rx_ip_address[4], u8 ip_address_bootstrap[4]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_target_ip
      Src: /src/gpac/src/media_tools/dvb_mpe.c:662,1
    - Dst: descriptorLocation
      Src: /src/gpac/src/media_tools/dvb_mpe.c:673,1
    - Dst: descriptorTime_slice_fec_identifier
      Src: /src/gpac/src/media_tools/dvb_mpe.c:668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ip_str
    - data
    argTypes:
    - GF_M2TS_IP_Stream*
    - u8*
    constantsTouched: []
    func_position:
      end: 682
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 682
    functionName: descriptorDSMCC_INT_UNT
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - descriptorLocation
    - descriptorTime_slice_fec_identifier
    - gf_m2ts_target_ip
    linkageType: ''
    returnType: u32
    signature: 'u32 descriptorDSMCC_INT_UNT(GF_M2TS_IP_Stream *ip_str,u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ip_str
    - data
    argTypes:
    - GF_M2TS_IP_Stream*
    - u8*
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: descriptorLocation
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void descriptorLocation(GF_M2TS_IP_Stream *ip_str , u8 * data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1099,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1101,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1100,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1102,1
    - Dst: empty_list
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - mff
    argTypes:
    - MPE_FEC_FRAME*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1110
    functionName: resetMFF
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - empty_list
    - memset
    linkageType: ''
    returnType: void
    signature: 'void resetMFF(MPE_FEC_FRAME * mff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - mff
    - offset
    - pds
    - length
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1227
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1227
    functionName: getColRS
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void getColRS(MPE_FEC_FRAME * mff, u32 offset, u8 * pds, u32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - mff
    - index
    - rs_row
    argTypes:
    - MPE_FEC_FRAME*
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1135
    functionName: getRowFromRS
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void getRowFromRS (MPE_FEC_FRAME * mff, u32 index, u8* rs_row) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1164,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1167,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dvb_mpe.c:1170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1175
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1175
    functionName: print_bytes2
    functionSourceFile: /src/gpac/src/media_tools/dvb_mpe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void print_bytes2(u8 * data, u32 length ) /*print_bytes2 */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/html5_mse.c:237,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:245,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:244,1
    - Dst: gf_mse_remove_active_source_buffer
      Src: /src/gpac/src/media_tools/html5_mse.c:243,1
    - Dst: gf_mse_source_buffer_abort
      Src: /src/gpac/src/media_tools/html5_mse.c:241,1
    - Dst: gf_mse_source_buffer_del
      Src: /src/gpac/src/media_tools/html5_mse.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ms
    - sb
    argTypes:
    - GF_HTML_MediaSource*
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: gf_mse_remove_source_buffer
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_find
    - gf_mse_remove_active_source_buffer
    - gf_mse_fire_event
    - gf_list_rem
    - gf_mse_source_buffer_del
    - gf_mse_source_buffer_abort
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mse_remove_source_buffer(GF_HTML_MediaSource *ms, GF_HTML_SourceBuffer
      *sb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:473,1
    - Dst: gf_mse_timeranges_from_track_packets
      Src: /src/gpac/src/media_tools/html5_mse.c:479,1
    - Dst: gf_html_timeranges_reset
      Src: /src/gpac/src/media_tools/html5_mse.c:474,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:477,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:478,1
    - Dst: gf_html_timeranges_intersection
      Src: /src/gpac/src/media_tools/html5_mse.c:482,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_mse.c:483,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:484,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:487,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:489,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:494,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - sb
    argTypes:
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 496
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 496
    functionName: gf_mse_source_buffer_update_buffered
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_mx_v
    - gf_mx_p
    - gf_html_timeranges_reset
    - gf_html_timeranges_del
    - gf_free
    - gf_html_timeranges_intersection
    - gf_mse_timeranges_from_track_packets
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_update_buffered(GF_HTML_SourceBuffer *sb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - sb
    - new_timescale
    argTypes:
    - GF_HTML_SourceBuffer*
    - u32
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: gf_mse_source_buffer_set_timescale
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_set_timescale(GF_HTML_SourceBuffer *sb,
      u32 new_timescale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_source_buffer_set_update
      Src: /src/gpac/src/media_tools/html5_mse.c:883,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:885,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:887,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:889,1
    - Dst: gf_mse_source_buffer_set_timescale
      Src: /src/gpac/src/media_tools/html5_mse.c:890,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:892,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:893,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:895,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:902,1
    - Dst: SECONDS_TO_TIMESCALE
      Src: /src/gpac/src/media_tools/html5_mse.c:903,1
    - Dst: gf_mse_remove_frames_from_to
      Src: /src/gpac/src/media_tools/html5_mse.c:906,1
    - Dst: gf_mse_source_buffer_set_update
      Src: /src/gpac/src/media_tools/html5_mse.c:908,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 910
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 910
    functionName: gf_mse_source_buffer_remove
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - SECONDS_TO_TIMESCALE
    - gf_list_count
    - GF_LOG
    - gf_mse_source_buffer_set_timescale
    - gf_mx_p
    - gf_mse_remove_frames_from_to
    - gf_mx_v
    - gf_mse_source_buffer_set_update
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_mse_source_buffer_remove(void *par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:506,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - sb
    - d
    argTypes:
    - GF_HTML_SourceBuffer*
    - double
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: gf_mse_source_buffer_set_timestampOffset
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_set_timestampOffset(GF_HTML_SourceBuffer
      *sb, double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:528,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - GF_MSE_Packet*
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: gf_mse_packet_del
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_packet_del(GF_MSE_Packet *packet) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/media_tools/html5_mse.c:314,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/media_tools/html5_mse.c:320,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/html5_mse.c:321,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/src/media_tools/html5_mse.c:324,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:338,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - sourcebuffer
    - mime
    argTypes:
    - GF_HTML_SourceBuffer*
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 344
    functionName: gf_mse_source_buffer_load_parser
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strrchr
    - strchr
    - gf_modules_load_by_name
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mse_source_buffer_load_parser(GF_HTML_SourceBuffer *sourcebuffer,
      const char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_mse.c:849,1
    - Dst: gf_mse_source_buffer_set_update
      Src: /src/gpac/src/media_tools/html5_mse.c:850,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/src/media_tools/html5_mse.c:858,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/html5_mse.c:855,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/html5_mse.c:852,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:860,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:862,1
    - Dst: gf_th_new
      Src: /src/gpac/src/media_tools/html5_mse.c:866,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:867,1
    - Dst: gf_th_run
      Src: /src/gpac/src/media_tools/html5_mse.c:868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sb
    - buffer
    argTypes:
    - GF_HTML_SourceBuffer*
    - GF_HTML_ArrayBuffer*
    constantsTouched: []
    func_position:
      end: 870
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 870
    functionName: gf_mse_source_buffer_append_arraybuffer
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - assert
    - sprintf
    - GF_LOG
    - gf_isom_probe_file
    - gf_th_new
    - gf_th_run
    - gf_mse_source_buffer_set_update
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_append_arraybuffer(GF_HTML_SourceBuffer
      *sb, GF_HTML_ArrayBuffer *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:1066,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:1068,1
    - Dst: TIMESCALE_TO_SECONDS
      Src: /src/gpac/src/media_tools/html5_mse.c:1077,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:1067,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:1077,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:1084,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:1086,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 7
    argNames:
    - track
    - out_data_ptr
    - out_data_size
    - out_sl_hdr
    - sl_compressed
    - out_reception_status
    - is_new_data
    argTypes:
    - GF_HTML_Track*
    - char**
    - u32*
    - GF_SLHeader*
    - Bool*
    - GF_Err*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1088
    functionName: gf_mse_track_buffer_get_next_packet
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_mx_p
    - gf_mx_v
    - TIMESCALE_TO_SECONDS
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mse_track_buffer_get_next_packet(GF_HTML_Track
      *track, char **out_data_ptr, u32 *out_data_size, GF_SLHeader *out_sl_hdr, Bool
      *sl_compressed, GF_Err *out_reception_status, Bool *is_new_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_mse.c:34,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/media_tools/html5_mse.c:38,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/media_tools/html5_mse.c:41,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:36,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:39,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/media_tools/html5_mse.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: gf_mse_media_source_new
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_dom_event_target_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_HTML_MediaSource*
    signature: 'GF_HTML_MediaSource *gf_mse_media_source_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/html5_mse.c:185,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:188,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ms
    - sb
    argTypes:
    - GF_HTML_MediaSource*
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: gf_mse_remove_active_source_buffer
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    - gf_list_find
    - gf_mse_fire_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_remove_active_source_buffer(GF_HTML_MediaSource *ms, GF_HTML_SourceBuffer
      *sb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:205,1
    - Dst: gf_mse_reset_input_buffer
      Src: /src/gpac/src/media_tools/html5_mse.c:217,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sb
    argTypes:
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: gf_mse_source_buffer_reset_parser
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mse_reset_input_buffer
    linkageType: ''
    returnType: void
    signature: 'static void gf_mse_source_buffer_reset_parser(GF_HTML_SourceBuffer
      *sb) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:940,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:957,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:953,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:950,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:956,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:959,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:963,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:965,1
    - Dst: gf_mse_source_buffer_store_track_desc
      Src: /src/gpac/src/media_tools/html5_mse.c:982,1
    - Dst: gf_mse_source_buffer_set_update
      Src: /src/gpac/src/media_tools/html5_mse.c:986,1
    - Dst: gf_service_declare_media
      Src: /src/gpac/src/media_tools/html5_mse.c:990,1
    - Dst: gf_mse_source_buffer_setup_tracks
      Src: /src/gpac/src/media_tools/html5_mse.c:1000,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/src/media_tools/html5_mse.c:1013,1
    - Dst: gf_service_command
      Src: /src/gpac/src/media_tools/html5_mse.c:1020,1
    - Dst: gf_service_connect_ack
      Src: /src/gpac/src/media_tools/html5_mse.c:1005,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/src/media_tools/html5_mse.c:1015,1
    - Dst: gf_service_disconnect_ack
      Src: /src/gpac/src/media_tools/html5_mse.c:1007,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - parser
    - command
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1028
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 1028
    functionName: gf_mse_proxy
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_service_disconnect_ack
    - gf_list_get
    - gf_mse_source_buffer_setup_tracks
    - GF_LOG
    - gf_service_declare_media
    - gf_list_rem
    - gf_service_command
    - gf_mse_source_buffer_store_track_desc
    - gf_mse_source_buffer_set_update
    - gf_service_connect_ack
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mse_proxy(void *parser, void *command) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:63,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:64,1
    - Dst: gf_mse_source_buffer_del
      Src: /src/gpac/src/media_tools/html5_mse.c:71,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:73,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:75,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:76,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ms
    - del_js
    argTypes:
    - GF_HTML_MediaSource*
    - Bool
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: gf_mse_mediasource_del
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_mse_source_buffer_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mse_mediasource_del(GF_HTML_MediaSource *ms, Bool
      del_js) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:194,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:196,1
    - Dst: gf_arraybuffer_del
      Src: /src/gpac/src/media_tools/html5_mse.c:197,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - input_buffer
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: gf_mse_reset_input_buffer
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_arraybuffer_del
    linkageType: ''
    returnType: void
    signature: 'static void gf_mse_reset_input_buffer(GF_List *input_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:226,1
    - Dst: gf_mse_source_buffer_reset_parser
      Src: /src/gpac/src/media_tools/html5_mse.c:229,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sb
    argTypes:
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: gf_mse_source_buffer_abort
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_mse_source_buffer_reset_parser
    - gf_mse_fire_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_mse_source_buffer_abort(GF_HTML_SourceBuffer *sb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_mse.c:446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:447,1
    - Dst: gf_html_timeranges_add_end
      Src: /src/gpac/src/media_tools/html5_mse.c:452,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:449,1
    - Dst: gf_html_timeranges_add_start
      Src: /src/gpac/src/media_tools/html5_mse.c:455,1
    - Dst: gf_html_timeranges_add_end
      Src: /src/gpac/src/media_tools/html5_mse.c:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - track
    argTypes:
    - GF_HTML_Track*
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: gf_mse_timeranges_from_track_packets
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_html_timeranges_new
    - gf_list_count
    - gf_html_timeranges_add_start
    - gf_html_timeranges_add_end
    linkageType: ''
    returnType: GF_HTML_MediaTimeRanges*
    signature: 'GF_HTML_MediaTimeRanges *gf_mse_timeranges_from_track_packets(GF_HTML_Track
      *track) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_mse.c:268,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:270,1
    - Dst: gf_mse_reset_input_buffer
      Src: /src/gpac/src/media_tools/html5_mse.c:269,1
    - Dst: gf_html_tracklist_del
      Src: /src/gpac/src/media_tools/html5_mse.c:275,1
    - Dst: gf_arraybuffer_del
      Src: /src/gpac/src/media_tools/html5_mse.c:272,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:278,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:280,1
    - Dst: gf_th_del
      Src: /src/gpac/src/media_tools/html5_mse.c:281,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_mse.c:283,1
    - Dst: gf_th_del
      Src: /src/gpac/src/media_tools/html5_mse.c:285,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/html5_mse.c:288,1
    - Dst: gf_th_del
      Src: /src/gpac/src/media_tools/html5_mse.c:286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - sb
    argTypes:
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 291
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 291
    functionName: gf_mse_source_buffer_del
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_mse_reset_input_buffer
    - gf_list_get
    - gf_html_tracklist_del
    - gf_list_del
    - gf_list_count
    - gf_arraybuffer_del
    - gf_html_timeranges_del
    - gf_odf_desc_del
    - gf_free
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_del(GF_HTML_SourceBuffer *sb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:541,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:554,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:550,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:545,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - track
    - packet
    argTypes:
    - GF_HTML_Track*
    - GF_MSE_Packet*
    constantsTouched: []
    func_position:
      end: 556
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 556
    functionName: gf_mse_find_overlapped_packet
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_MSE_Packet*
    signature: 'static GF_MSE_Packet *gf_mse_find_overlapped_packet(GF_HTML_Track
      *track, GF_MSE_Packet *packet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:918,1
    - Dst: gf_th_run
      Src: /src/gpac/src/media_tools/html5_mse.c:919,1
    - Dst: gf_th_new
      Src: /src/gpac/src/media_tools/html5_mse.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sb
    - start
    - end
    argTypes:
    - GF_HTML_SourceBuffer*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: gf_mse_remove
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_th_new
    - gf_th_run
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_remove(GF_HTML_SourceBuffer *sb, double start, double
      end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_mse.c:152,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:158,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:157,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_mse.c:156,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/html5_mse.c:154,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:159,1
    - Dst: gf_th_new
      Src: /src/gpac/src/media_tools/html5_mse.c:160,1
    - Dst: gf_th_new
      Src: /src/gpac/src/media_tools/html5_mse.c:161,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/media_tools/html5_mse.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - mediasource
    argTypes:
    - GF_HTML_MediaSource*
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: gf_mse_source_buffer_new
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_dom_event_target_new
    - gf_html_timeranges_new
    - sprintf
    - gf_th_new
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_HTML_SourceBuffer*
    signature: 'GF_HTML_SourceBuffer *gf_mse_source_buffer_new(GF_HTML_MediaSource
      *mediasource) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_source_buffer_add_track
      Src: /src/gpac/src/media_tools/html5_mse.c:390,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - sb
    argTypes:
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: gf_mse_source_buffer_setup_tracks
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mse_source_buffer_add_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mse_source_buffer_setup_tracks(GF_HTML_SourceBuffer
      *sb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:587,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:591,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/html5_mse.c:593,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:589,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:599,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:612,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:614,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:616,1
    - Dst: TIMESCALE_TO_SECONDS
      Src: /src/gpac/src/media_tools/html5_mse.c:624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:624,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:625,1
    - Dst: TIMESCALE_TO_SECONDS
      Src: /src/gpac/src/media_tools/html5_mse.c:624,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - track
    - frame
    argTypes:
    - GF_HTML_Track*
    - GF_MSE_Packet*
    constantsTouched: []
    func_position:
      end: 626
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 626
    functionName: gf_mse_track_buffer_add_packet
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    - TIMESCALE_TO_SECONDS
    linkageType: ''
    returnType: void
    signature: 'static void gf_mse_track_buffer_add_packet(GF_HTML_Track *track, GF_MSE_Packet
      *frame) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:802,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/html5_mse.c:816,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_mse.c:815,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:825,1
    - Dst: TIMESCALE_TO_SECONDS
      Src: /src/gpac/src/media_tools/html5_mse.c:817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:791,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:780,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_mse.c:781,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/html5_mse.c:818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:836,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:779,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:796,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_mse.c:806,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:811,1
    - Dst: gf_mse_process_coded_frame
      Src: /src/gpac/src/media_tools/html5_mse.c:820,1
    - Dst: gf_arraybuffer_del
      Src: /src/gpac/src/media_tools/html5_mse.c:829,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_mse.c:803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:817,1
    - Dst: gf_mse_source_buffer_set_update
      Src: /src/gpac/src/media_tools/html5_mse.c:839,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 844
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 844
    functionName: gf_mse_parse_segment
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - assert
    - gf_list_count
    - GF_LOG
    - gf_arraybuffer_del
    - memcpy
    - gf_list_rem
    - gf_mse_process_coded_frame
    - GF_SAFEALLOC
    - gf_free
    - TIMESCALE_TO_SECONDS
    - gf_mse_source_buffer_set_update
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mse_parse_segment(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:172,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ms
    - sb
    argTypes:
    - GF_HTML_MediaSource*
    - GF_HTML_SourceBuffer*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: gf_mse_mediasource_add_source_buffer
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mse_fire_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_mediasource_add_source_buffer(GF_HTML_MediaSource *ms,
      GF_HTML_SourceBuffer *sb) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_source_buffer_set_timescale
      Src: /src/gpac/src/media_tools/html5_mse.c:641,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:647,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:675,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:677,1
    - Dst: gf_mse_process_coded_frame
      Src: /src/gpac/src/media_tools/html5_mse.c:686,1
    - Dst: SECONDS_TO_TIMESCALE
      Src: /src/gpac/src/media_tools/html5_mse.c:695,1
    - Dst: SECONDS_TO_TIMESCALE
      Src: /src/gpac/src/media_tools/html5_mse.c:700,1
    - Dst: gf_mse_find_overlapped_packet
      Src: /src/gpac/src/media_tools/html5_mse.c:715,1
    - Dst: gf_mse_remove_frames_from_to
      Src: /src/gpac/src/media_tools/html5_mse.c:717,1
    - Dst: gf_mse_remove_frames_from_to
      Src: /src/gpac/src/media_tools/html5_mse.c:727,1
    - Dst: gf_mse_remove_frames_from_to
      Src: /src/gpac/src/media_tools/html5_mse.c:724,1
    - Dst: SECONDS_TO_TIMESCALE
      Src: /src/gpac/src/media_tools/html5_mse.c:718,1
    - Dst: gf_mse_track_buffer_add_packet
      Src: /src/gpac/src/media_tools/html5_mse.c:736,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 112
    argCount: 4
    argNames:
    - sb
    - track
    - frame
    - stored
    argTypes:
    - GF_HTML_SourceBuffer*
    - GF_HTML_Track*
    - GF_MSE_Packet*
    - Bool*
    constantsTouched: []
    func_position:
      end: 760
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 760
    functionName: gf_mse_process_coded_frame
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - SECONDS_TO_TIMESCALE
    - gf_mse_find_overlapped_packet
    - gf_list_count
    - gf_mse_source_buffer_set_timescale
    - gf_mse_remove_frames_from_to
    - gf_mse_process_coded_frame
    - gf_mse_track_buffer_add_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mse_process_coded_frame(GF_HTML_SourceBuffer *sb,
      GF_HTML_Track *track, GF_MSE_Packet *frame, Bool *stored) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_media_track_new
      Src: /src/gpac/src/media_tools/html5_mse.c:364,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_mse.c:368,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_mse.c:372,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/media_tools/html5_mse.c:370,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/html5_mse.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - sb
    - esd
    argTypes:
    - GF_HTML_SourceBuffer*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: gf_mse_source_buffer_add_track
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_new
    - gf_html_media_track_new
    - sprintf
    - gf_list_new
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'static GF_HTML_Track *gf_mse_source_buffer_add_track(GF_HTML_SourceBuffer
      *sb, GF_ESD *esd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/html5_mse.c:87,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/media_tools/html5_mse.c:114,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_mse.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - target
    - event_type
    argTypes:
    - GF_DOMEventTarget*
    - GF_EventType
    constantsTouched: []
    func_position:
      end: 115
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 115
    functionName: gf_mse_fire_event
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_sg_fire_dom_event
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_fire_event(GF_DOMEventTarget *target, GF_EventType event_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ms
    argTypes:
    - GF_HTML_MediaSource*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: gf_mse_mediasource_close
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_mse_fire_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mse_mediasource_close(GF_HTML_MediaSource *ms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:298,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:300,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sb
    - update
    argTypes:
    - GF_HTML_SourceBuffer*
    - Bool
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: gf_mse_source_buffer_set_update
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_mse_fire_event
    linkageType: ''
    returnType: void
    signature: 'void gf_mse_source_buffer_set_update(GF_HTML_SourceBuffer *sb, Bool
      update) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:410,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:411,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:413,1
    - Dst: gf_mse_source_buffer_add_track
      Src: /src/gpac/src/media_tools/html5_mse.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - sb
    - od
    argTypes:
    - GF_HTML_SourceBuffer*
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 430
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 430
    functionName: gf_mse_source_buffer_store_track_desc
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mse_source_buffer_add_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_mse_source_buffer_store_track_desc(GF_HTML_SourceBuffer
      *sb, GF_ObjectDescriptor *od) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:122,1
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:129,1
    - Dst: gf_mo_event_target_get
      Src: /src/gpac/src/media_tools/html5_mse.c:127,1
    - Dst: gf_event_target_get_node
      Src: /src/gpac/src/media_tools/html5_mse.c:127,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/media_tools/html5_mse.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ms
    - mo
    argTypes:
    - GF_HTML_MediaSource*
    - struct _mediaobj*
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: gf_mse_mediasource_open
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_mse_fire_event
    - gf_node_get_graph
    - gf_mo_event_target_get
    - gf_event_target_get_node
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mse_mediasource_open(GF_HTML_MediaSource *ms, struct
      _mediaobj *mo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mse_fire_event
      Src: /src/gpac/src/media_tools/html5_mse.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ms
    argTypes:
    - GF_HTML_MediaSource*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: gf_mse_mediasource_end
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_mse_fire_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mse_mediasource_end(GF_HTML_MediaSource *ms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:565,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/html5_mse.c:572,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:568,1
    - Dst: TIMESCALE_TO_SECONDS
      Src: /src/gpac/src/media_tools/html5_mse.c:572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:567,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:572,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:573,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - track
    - from
    - to
    argTypes:
    - GF_HTML_Track*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 579
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 579
    functionName: gf_mse_remove_frames_from_to
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_mx_p
    - gf_list_rem
    - gf_mx_v
    - TIMESCALE_TO_SECONDS
    linkageType: ''
    returnType: void
    signature: 'static void gf_mse_remove_frames_from_to(GF_HTML_Track *track, u64
      from, u64 to) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_mse.c:1041,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_mse.c:1048,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:1046,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_mse.c:1042,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_mse.c:1045,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:1049,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_mse.c:1050,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_mse.c:1053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - track
    argTypes:
    - GF_HTML_Track*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1055
    functionName: gf_mse_track_buffer_release_packet
    functionSourceFile: /src/gpac/src/media_tools/html5_mse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_list_rem
    - gf_free
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mse_track_buffer_release_packet(GF_HTML_Track
      *track) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - GF_LCTObjectStatus
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: get_lct_obj_status_name
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_lct_obj_status_name(GF_LCTObjectStatus status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/route_dmx.c:1785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - GF_ROUTEService*
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1798
    functionName: gf_route_service_flush_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_service_flush_object(GF_ROUTEService *s, GF_LCTObject
      *obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2328,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/route_dmx.c:2326,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/route_dmx.c:2328,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2328,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2333,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2338,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2341,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2342,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2344,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2347,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:2344,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2347,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2349,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 6
    argNames:
    - routedmx
    - s
    - content
    - content_location
    - stsid_version
    - mpd_version
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - char*
    - char*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2353
    functionName: gf_route_service_parse_mbms_enveloppe
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_list_enum
    - GF_LOG
    - strcmp
    - gf_xml_dom_parse_string
    - atoi
    - gf_xml_dom_get_root
    - stricmp
    - gf_xml_dom_get_error
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_service_parse_mbms_enveloppe(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, char *content, char *content_location, u32 *stsid_version,
      u32 *mpd_version) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/media_tools/route_dmx.c:3408,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3450,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:3448,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/route_dmx.c:3414,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:3450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3456,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/media_tools/route_dmx.c:3459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3461,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:3461,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/route_dmx.c:3461,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/route_dmx.c:3465,1
    - Dst: gf_route_dmx_process_slt
      Src: /src/gpac/src/media_tools/route_dmx.c:3473,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3467,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3481
    functionName: gf_route_dmx_process_lls
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_gz_decompress_payload_ex
    - GF_LOG
    - gf_xml_dom_parse_string
    - gf_sk_receive_no_select
    - gf_sys_clock_high_res
    - gf_xml_dom_get_root
    - gf_route_dmx_process_slt
    - gf_xml_dom_get_error
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_lls(GF_ROUTEDmx *routedmx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:3571,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:3573,1
    - Dst: gf_route_service_purge_old_objects
      Src: /src/gpac/src/media_tools/route_dmx.c:3576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3578
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3578
    functionName: gf_route_dmx_check_timeouts
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_service_purge_old_objects
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_route_dmx_check_timeouts(GF_ROUTEDmx *routedmx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3595
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3595
    functionName: gf_route_dmx_find_atsc3_service
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_route_dmx_find_atsc3_service(GF_ROUTEDmx *routedmx,
      u32 service_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - routedmx
    - service_id
    - udta
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 3842
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3842
    functionName: gf_route_dmx_set_service_udta
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_route_dmx_set_service_udta(GF_ROUTEDmx *routedmx,
      u32 service_id, void *udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - routedmx
    - tsi
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3885
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3885
    functionName: gf_route_dmx_debug_tsi
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_route_dmx_debug_tsi(GF_ROUTEDmx *routedmx, u32 tsi) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1804,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1807,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1834,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/route_dmx.c:1830,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1841,1
    - Dst: gf_route_service_flush_object
      Src: /src/gpac/src/media_tools/route_dmx.c:1844,1
    - Dst: gf_route_dmx_process_object
      Src: /src/gpac/src/media_tools/route_dmx.c:1846,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:1848,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1850,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 44
    argCount: 6
    argNames:
    - routedmx
    - s
    - tsi
    - toi
    - in_order
    - in_obj
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - u32
    - u32
    - Bool
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 1857
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1857
    functionName: gf_route_service_purge_old_objects
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_service_flush_object
    - gf_route_dmx_process_object
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_sys_clock_high_res
    - gf_route_obj_to_reservoir
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_service_purge_old_objects(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, u32 tsi, u32 toi, Bool in_order, GF_LCTObject *in_obj) '
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/route_dmx.c:2364,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2374,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2443,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2513,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2555,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:2625,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2628,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:2632,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2664,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2666,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2687,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:2370,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2468,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2485,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2556,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2564,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2592,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2629,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2679,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:2743,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2389,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2400,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2393,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2526,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2431,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2493,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2535,1
    - Dst: gf_strict_atoui
      Src: /src/gpac/src/media_tools/route_dmx.c:2557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2608,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2646,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2782,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2674,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2501,1
    - Dst: gf_sk_has_nrt_netcap
      Src: /src/gpac/src/media_tools/route_dmx.c:2456,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2432,1
    - Dst: _xml_get_child_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2408,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:2645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2648,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2655,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2764,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2788,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2786,1
    - Dst: gf_route_route_session_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2791,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/route_dmx.c:2385,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2415,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2490,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2481,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2489,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2520,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:2532,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2547,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2568,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2580,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2699,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:2789,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2749,1
    - Dst: gf_strict_atoui
      Src: /src/gpac/src/media_tools/route_dmx.c:2491,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2514,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2539,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2587,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2595,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2622,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2757,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2773,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:2749,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2465,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:2372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2387,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2627,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2692,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2736,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2742,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2768,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/route_dmx.c:2719,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2734,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:2474,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2508,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2375,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2376,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/route_dmx.c:2387,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2494,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2522,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2527,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2549,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2790,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2793,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:2675,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/route_dmx.c:2714,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2387,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2413,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2502,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2451,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2467,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/media_tools/route_dmx.c:2471,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2540,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2586,1
    - Dst: gf_strict_atoui
      Src: /src/gpac/src/media_tools/route_dmx.c:2588,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/route_dmx.c:2656,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2643,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2384,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2423,1
    - Dst: routedmx_setup_socket
      Src: /src/gpac/src/media_tools/route_dmx.c:2460,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2462,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2512,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2571,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2604,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2609,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2616,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2667,1
    - Dst: _xml_get_child
      Src: /src/gpac/src/media_tools/route_dmx.c:2769,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2690,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/route_dmx.c:2723,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:2783,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2448,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2507,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:2441,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2406,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2409,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2424,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2444,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2617,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2706,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/route_dmx.c:2710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2525,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:2455,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2492,1
    - Dst: gf_strict_atoui
      Src: /src/gpac/src/media_tools/route_dmx.c:2407,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2602,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2670,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:2682,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:2742,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2694,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/route_dmx.c:2364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2368,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:2440,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2452,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2464,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2500,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:2662,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2744,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2746,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:2771,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2774,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2703,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:2697,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2388,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2405,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/src/media_tools/route_dmx.c:2459,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2554,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/route_dmx.c:2605,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:2650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2654,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2796,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2752,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2708,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2741,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/route_dmx.c:2717,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:2744,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2376,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2426,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2463,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2672,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2759,1
    - Dst: gf_route_lct_removed
      Src: /src/gpac/src/media_tools/route_dmx.c:2784,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2743,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:2427,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2445,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2404,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2410,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:2414,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2544,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/route_dmx.c:2650,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:2651,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2653,1
    CyclomaticComplexity: 163
    EdgeCount: 163
    ICount: 457
    argCount: 4
    argNames:
    - routedmx
    - s
    - content
    - content_location
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2800
    functionName: gf_route_service_setup_stsid
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_sk_has_nrt_netcap
    - GF_LOG
    - _xml_get_child_count
    - gf_route_route_session_del
    - gf_sk_del
    - GF_SAFEALLOC
    - gf_sk_set_usec_wait
    - strstr
    - gf_list_pop_back
    - _xml_get_attr
    - _xml_get_child
    - gf_crc_32
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - atoi
    - gf_list_new
    - gf_list_del_item
    - stricmp
    - gf_list_clone
    - gf_route_obj_to_reservoir
    - gf_sk_group_register
    - routedmx_setup_socket
    - gf_dynstrcat
    - gf_list_get
    - gf_list_enum
    - gf_xml_dom_parse_string
    - strchr
    - gf_free
    - gf_xml_dom_get_error
    - gf_route_lct_removed
    - gf_strict_atoui
    - gf_sk_set_buffer_size
    - sscanf
    - gf_list_rem
    - gf_xml_dom_get_root
    - gf_sk_new_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_service_setup_stsid(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, char *content, char *content_location) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_select
      Src: /src/gpac/src/media_tools/route_dmx.c:3490,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:3494,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3500,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:3496,1
    - Dst: gf_route_dmx_process_object
      Src: /src/gpac/src/media_tools/route_dmx.c:3503,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/media_tools/route_dmx.c:3515,1
    - Dst: gf_route_dmx_process_lls
      Src: /src/gpac/src/media_tools/route_dmx.c:3516,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:3521,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:3525,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:3528,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/media_tools/route_dmx.c:3536,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/media_tools/route_dmx.c:3551,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3550,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3567
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3567
    functionName: gf_route_dmx_process
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_process_object
    - gf_list_get
    - gf_sk_group_select
    - gf_route_dmx_process_lls
    - gf_sk_group_sock_is_set
    - gf_list_enum
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_process(GF_ROUTEDmx *routedmx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3583
      start: 3580
    functionDepth: 0
    functionLinenumber: 3580
    functionLinenumberEnd: 3583
    functionName: gf_route_dmx_has_active_multicast
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_route_dmx_has_active_multicast(GF_ROUTEDmx *routedmx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3603,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:3605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3610
      start: 3598
    functionDepth: 0
    functionLinenumber: 3598
    functionLinenumberEnd: 3610
    functionName: gf_route_dmx_get_object_count
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_route_dmx_get_object_count(GF_ROUTEDmx *routedmx,
      u32 service_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3855
      start: 3844
    functionDepth: 0
    functionLinenumber: 3844
    functionLinenumberEnd: 3855
    functionName: gf_route_dmx_get_service_udta
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_route_dmx_get_service_udta(GF_ROUTEDmx *routedmx,
      u32 service_id) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3895,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:3915,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:3940,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:3908,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3902,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:3944,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/route_dmx.c:3948,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:3959,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:3963,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/route_dmx.c:3975,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:3988,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 5
    argNames:
    - routedmx
    - service_id
    - finfo
    - br_start
    - br_end
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - GF_ROUTEEventFileInfo*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3990
      start: 3887
    functionDepth: 0
    functionLinenumber: 3887
    functionLinenumberEnd: 3990
    functionName: gf_route_dmx_patch_frag_info
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_list_enum
    - gf_mx_p
    - gf_mx_v
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_patch_frag_info(GF_ROUTEDmx *routedmx,
      u32 service_id, GF_ROUTEEventFileInfo *finfo, u32 br_start, u32 br_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:268,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:270,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:269,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:273,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - files
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: gf_route_static_files_del
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_static_files_del(GF_List *files) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:297,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:304,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:300,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:301,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - o
    argTypes:
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: gf_route_lct_obj_del
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_lct_obj_del(GF_LCTObject *o) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_new_internal
      Src: /src/gpac/src/media_tools/route_dmx.c:600,1
    - Dst: gf_route_create_service
      Src: /src/gpac/src/media_tools/route_dmx.c:602,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 6
    argNames:
    - ip
    - port
    - ifce
    - sock_buffer_size
    - (*on_event)
    - udta
    argTypes:
    - char*
    - u32
    - char*
    - u32
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: gf_route_dmx_new
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_new_internal
    - gf_route_create_service
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_ROUTEDmx *gf_route_dmx_new(const char *ip, u32 port,
      const char *ifce, u32 sock_buffer_size,\t\t\t\t\t\t\t void (*on_event)(void
      *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *info),\t\t\t\t\t\t\t
      void *udta) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_new_internal
      Src: /src/gpac/src/media_tools/route_dmx.c:619,1
    - Dst: gf_route_create_service
      Src: /src/gpac/src/media_tools/route_dmx.c:621,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 7
    argNames:
    - ip
    - port
    - ifce
    - sock_buffer_size
    - netcap_id
    - (*on_event)
    - udta
    argTypes:
    - char*
    - u32
    - char*
    - u32
    - char*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: gf_route_dmx_new_ex
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_new_internal
    - gf_route_create_service
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_ROUTEDmx *gf_route_dmx_new_ex(const char *ip, u32 port,
      const char *ifce, u32 sock_buffer_size, const char *netcap_id,\t\t\t\t\t\t\t
      void (*on_event)(void *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo
      *info),\t\t\t\t\t\t\t void *udta) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:744,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:751,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:754,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:755,1
    - Dst: gf_route_create_service
      Src: /src/gpac/src/media_tools/route_dmx.c:791,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:795,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:730,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:735,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/route_dmx.c:745,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:749,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:753,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:756,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:788,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:798,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:800,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:732,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:767,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:777,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:756,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:794,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:778,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:784,1
    - Dst: gf_route_service_del
      Src: /src/gpac/src/media_tools/route_dmx.c:789,1
    - Dst: gf_route_service_del
      Src: /src/gpac/src/media_tools/route_dmx.c:796,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 74
    argCount: 2
    argNames:
    - routedmx
    - root
    argTypes:
    - GF_ROUTEDmx*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 803
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 803
    functionName: gf_route_dmx_process_slt
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - sscanf
    - gf_list_enum
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_route_create_service
    - atoi
    - gf_list_del_item
    - gf_list_clone
    - gf_list_pop_back
    - gf_route_service_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_slt(GF_ROUTEDmx *routedmx, GF_XMLNode
      *root) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_lct_obj_status_name
      Src: /src/gpac/src/media_tools/route_dmx.c:831,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:863,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:865,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:876,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:882,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:824,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:866,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/route_dmx.c:866,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:878,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:846,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:847,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:874,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/route_dmx.c:870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:880,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/route_dmx.c:820,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:831,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:859,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:867,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - routedmx
    - s
    - obj
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 886
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 886
    functionName: gf_route_obj_to_reservoir
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_add
    - assert
    - gf_list_get
    - memset
    - gf_list_find
    - gf_list_count
    - get_lct_obj_status_name
    - GF_LOG
    - gf_mx_p
    - gf_log_tool_level_on
    - gf_free
    - gf_list_del_item
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_obj_to_reservoir(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, GF_LCTObject *obj) '
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1877,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:1894,1
    - Dst: gf_route_service_purge_old_objects
      Src: /src/gpac/src/media_tools/route_dmx.c:1914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1918,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1947,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:1951,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2031,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2033,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2040,1
    - Dst: gf_route_service_purge_old_objects
      Src: /src/gpac/src/media_tools/route_dmx.c:2091,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2221,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/route_dmx.c:2037,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2210,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:2220,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2037,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:2055,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2195,1
    - Dst: gf_route_dmx_process_object
      Src: /src/gpac/src/media_tools/route_dmx.c:2085,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:1895,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1906,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1912,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1927,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:1946,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:1990,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:2008,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2009,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:2022,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/route_dmx.c:2036,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2099,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2104,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:2113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2125,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/route_dmx.c:2129,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/route_dmx.c:2180,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2253,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2211,1
    - Dst: gf_route_service_flush_object
      Src: /src/gpac/src/media_tools/route_dmx.c:2268,1
    - Dst: gf_route_dmx_push_object
      Src: /src/gpac/src/media_tools/route_dmx.c:2239,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2231,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2235,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/route_dmx.c:2196,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/route_dmx.c:2181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1992,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2044,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2051,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:2067,1
    - Dst: gf_route_service_flush_object
      Src: /src/gpac/src/media_tools/route_dmx.c:2084,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:2088,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:2114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2122,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2068,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2100,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/route_dmx.c:2172,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1903,1
    - Dst: gf_route_service_purge_old_objects
      Src: /src/gpac/src/media_tools/route_dmx.c:1920,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1972,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1925,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:1988,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1996,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:2013,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:2038,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:2050,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2133,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:2225,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:2072,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2061,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2227,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/route_dmx.c:2230,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:2228,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2187,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 457
    argCount: 14
    argNames:
    - routedmx
    - s
    - tsi
    - toi
    - start_offset
    - data
    - size
    - total_len
    - close_flag
    - in_order
    - rlct
    - gather_obj
    - flute_esi
    - fdt_symbol_length
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - u32
    - u32
    - u32
    - char*
    - u32
    - u32
    - Bool
    - Bool
    - GF_ROUTELCTChannel*
    - GF_LCTObject**
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 2269
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 2269
    functionName: gf_route_service_gather_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - GF_LOG
    - GF_SAFEALLOC
    - gf_route_service_purge_old_objects
    - gf_list_pop_back
    - MIN
    - gf_list_find
    - gf_list_count
    - memmove
    - gf_route_obj_to_reservoir
    - gf_assert
    - MAX
    - gf_route_service_flush_object
    - gf_list_get
    - gf_route_dmx_push_object
    - gf_mx_p
    - gf_sys_clock
    - memcpy
    - gf_mx_v
    - gf_route_dmx_process_object
    - gf_realloc
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_service_gather_object(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, u32 tsi, u32 toi, u32 start_offset, char *data, u32 size,
      u32 total_len, Bool close_flag, Bool in_order, GF_ROUTELCTChannel *rlct, GF_LCTObject
      **gather_obj, s32 flute_esi, u32 fdt_symbol_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:311,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:314,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:312,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:315,1
    - Dst: gf_route_lct_obj_del
      Src: /src/gpac/src/media_tools/route_dmx.c:316,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:318,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:320,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:321,1
    - Dst: gf_route_route_session_del
      Src: /src/gpac/src/media_tools/route_dmx.c:322,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:324,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:330,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:326,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:327,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:328,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:329,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - routedmx
    - s
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: gf_route_service_del
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_sk_group_unregister
    - gf_route_route_session_del
    - gf_sk_del
    - gf_route_lct_obj_del
    - gf_free
    - gf_list_del_item
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_service_del(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:279,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:282,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:280,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:283,1
    - Dst: gf_route_static_files_del
      Src: /src/gpac/src/media_tools/route_dmx.c:284,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:285,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:287,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:288,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:290,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:292,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - routedmx
    - rs
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTESession*
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: gf_route_route_session_del
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_route_static_files_del
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_route_session_del(GF_ROUTEDmx *routedmx, GF_ROUTESession
      *rs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_new_internal
      Src: /src/gpac/src/media_tools/route_dmx.c:612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - ifce
    - sock_buffer_size
    - netcap_id
    - (*on_event)
    - udta
    argTypes:
    - char*
    - u32
    - char*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: gf_route_atsc_dmx_new_ex
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_new_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_ROUTEDmx *gf_route_atsc_dmx_new_ex(const char *ifce,
      u32 sock_buffer_size, const char *netcap_id,\t\t\t\t\t\t\t\t void (*on_event)(void
      *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *info),\t\t\t\t\t\t\t\t
      void *udta) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_new_internal
      Src: /src/gpac/src/media_tools/route_dmx.c:627,1
    - Dst: gf_route_create_service
      Src: /src/gpac/src/media_tools/route_dmx.c:630,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 7
    argNames:
    - ip
    - port
    - ifce
    - sock_buffer_size
    - netcap_id
    - (*on_event)
    - udta
    argTypes:
    - char*
    - u32
    - char*
    - u32
    - char*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: gf_dvb_mabr_dmx_new
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_new_internal
    - gf_route_create_service
    linkageType: ''
    returnType: GF_ROUTEDmx*
    signature: 'GF_ROUTEDmx *gf_dvb_mabr_dmx_new(const char *ip, u32 port, const char
      *ifce, u32 sock_buffer_size, const char *netcap_id, void (*on_event)(void *udta,
      GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo), void *udta) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:890,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:895,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:901,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:892,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:903,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:904,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:908,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:909,1
    - Dst: gf_route_static_files_del
      Src: /src/gpac/src/media_tools/route_dmx.c:920,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:921,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:924,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:922,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:923,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - routedmx
    - s
    - lc
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_ROUTELCTChannel*
    constantsTouched: []
    func_position:
      end: 925
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 925
    functionName: gf_route_lct_removed
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_list_del_item
    - gf_route_static_files_del
    - gf_free
    - gf_route_obj_to_reservoir
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_lct_removed(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, GF_ROUTELCTChannel *lc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/route_dmx.c:2273,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:2287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2310,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:2288,1
    - Dst: gf_route_register_service_sockets
      Src: /src/gpac/src/media_tools/route_dmx.c:2279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - routedmx
    - s
    - content
    - content_location
    - file_type
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2316
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2316
    functionName: gf_route_service_setup_dash
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - memset
    - gf_route_register_service_sockets
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_service_setup_dash(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, char *content, char *content_location, u32 file_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:338,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:340,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/route_dmx.c:341,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:339,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:344,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:345,1
    - Dst: gf_route_service_del
      Src: /src/gpac/src/media_tools/route_dmx.c:346,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:348,1
    - Dst: gf_sk_group_del
      Src: /src/gpac/src/media_tools/route_dmx.c:350,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:352,1
    - Dst: gf_route_lct_obj_del
      Src: /src/gpac/src/media_tools/route_dmx.c:354,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:356,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:359,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/route_dmx.c:358,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:353,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: gf_route_dmx_del
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_sk_group_del
    - gf_xml_dom_del
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_sk_del
    - gf_route_lct_obj_del
    - gf_mx_del
    - gf_list_pop_back
    - gf_free
    - gf_route_service_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_route_dmx_del(GF_ROUTEDmx *routedmx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:391,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:400,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/route_dmx.c:397,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:403,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:412,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:429,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:399,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:411,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:428,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:435,1
    - Dst: gf_sk_group_new
      Src: /src/gpac/src/media_tools/route_dmx.c:439,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:456,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/src/media_tools/route_dmx.c:465,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/media_tools/route_dmx.c:472,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:406,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:409,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/route_dmx.c:426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:417,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:441,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:442,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:459,1
    - Dst: routedmx_setup_socket
      Src: /src/gpac/src/media_tools/route_dmx.c:467,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/media_tools/route_dmx.c:469,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:405,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/media_tools/route_dmx.c:415,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/route_dmx.c:432,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/route_dmx.c:446,1
    - Dst: gf_sk_has_nrt_netcap
      Src: /src/gpac/src/media_tools/route_dmx.c:462,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:475,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 7
    argNames:
    - ifce
    - sock_buffer_size
    - netcap_id
    - is_atsc
    - (*on_event)
    - udta
    - log_name
    argTypes:
    - char*
    - u32
    - char*
    - Bool
    - void
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 477
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 477
    functionName: gf_route_dmx_new_internal
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx_new
    - routedmx_setup_socket
    - gf_route_dmx_del
    - gf_sk_has_nrt_netcap
    - gf_xml_dom_new
    - gf_sk_set_buffer_size
    - gf_sk_set_usec_wait
    - gf_sk_group_new
    - GF_LOG
    - gf_bs_new
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sk_new_ex
    - gf_sk_group_register
    linkageType: ''
    returnType: GF_ROUTEDmx*
    signature: "static GF_ROUTEDmx *gf_route_dmx_new_internal(const char *ifce, u32
      sock_buffer_size, const char *netcap_id, Bool is_atsc,\t\t\t\t\t\t\t void (*on_event)(void
      *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *info),\t\t\t\t\t\t\t
      void *udta, const char *log_name) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:650,1
    - Dst: gf_route_register_service_sockets
      Src: /src/gpac/src/media_tools/route_dmx.c:673,1
    - Dst: gf_route_register_service_sockets
      Src: /src/gpac/src/media_tools/route_dmx.c:666,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - routedmx
    - serviceID
    - tune_all_sls
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 678
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 678
    functionName: gf_route_atsc3_tune_in
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_route_register_service_sockets
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_atsc3_tune_in(GF_ROUTEDmx *routedmx, u32
      serviceID, Bool tune_all_sls) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:938,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/route_dmx.c:979,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:976,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/route_dmx.c:964,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:961,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:985,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:987,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:994,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:997,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1011,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:1051,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:1037,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 115
    argCount: 4
    argNames:
    - routedmx
    - s
    - obj
    - final_push
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    - Bool
    constantsTouched: []
    func_position:
      end: 1054
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 1054
    functionName: gf_route_dmx_push_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_assert
    - memset
    - gf_crc_32
    - GF_LOG
    - sprintf
    - gf_mx_p
    - gf_mx_v
    - gf_route_obj_to_reservoir
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_push_object(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, GF_LCTObject *obj, Bool final_push) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/gpac/src/media_tools/route_dmx.c:1073,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/media_tools/route_dmx.c:1078,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1074,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1092,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1118,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1120,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1134,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1139,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1181,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1189,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:1255,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1259,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1263,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1190,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/route_dmx.c:1345,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:1346,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1326,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:1305,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/route_dmx.c:1244,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1316,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/route_dmx.c:1062,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1080,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1114,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1100,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1119,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1121,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1137,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1241,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1293,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:1252,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1306,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1207,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:1220,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1282,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:1315,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1242,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/route_dmx.c:1330,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/route_dmx.c:1079,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/route_dmx.c:1083,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1087,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1117,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1102,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1090,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1119,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/route_dmx.c:1121,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:1162,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/route_dmx.c:1176,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1285,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:1310,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1280,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1318,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1083,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:1083,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1118,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1116,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1120,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1135,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1171,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/route_dmx.c:1182,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1183,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1191,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:1224,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:1344,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/route_dmx.c:1344,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1285,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:1228,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 295
    argCount: 3
    argNames:
    - routedmx
    - s
    - fdt_obj
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1350
    functionName: gf_route_dmx_process_dvb_flute_signaling
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - gf_list_pop_back
    - gf_list_find
    - gf_crc_32
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - atoi
    - gf_route_obj_to_reservoir
    - gf_list_del_item
    - gf_assert
    - gf_list_get
    - gf_list_enum
    - gf_mx_p
    - gf_xml_dom_parse_string
    - gf_sys_clock
    - gf_mx_v
    - isprint
    - gf_xml_dom_get_error
    - sscanf
    - gf_realloc
    - strrchr
    - gf_list_rem
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_dvb_flute_signaling(GF_ROUTEDmx
      *routedmx, GF_ROUTEService *s, GF_LCTObject *fdt_obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1380,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1382,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - n
    - child_name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1387
    functionName: _xml_get_child_text
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *_xml_get_child_text(const GF_XMLNode *n, const
      char *child_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 1
    argNames:
    - can_remove
    argTypes:
    - o
    constantsTouched: []
    func_position:
      end: 1825
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1825
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: "else if (o->rlct_file && !o->rlct_file->can_remove\t\t\t&& (!o->nb_bytes
      || (o->ll_maps_count && !o->ll_map_last))\t\t) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3861
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3861
    functionName: gf_route_dmx_get_first_packet_time
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_route_dmx_get_first_packet_time(GF_ROUTEDmx *routedmx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/media_tools/route_dmx.c:366,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/media_tools/route_dmx.c:372,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/media_tools/route_dmx.c:375,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:369,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/media_tools/route_dmx.c:367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - routedmx
    - log_name
    - sock
    - dst_ip
    - dst_port
    argTypes:
    - GF_ROUTEDmx*
    - char*
    - GF_Socket*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: routedmx_setup_socket
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_sk_connect
    - GF_LOG
    - gf_sk_setup_multicast
    - gf_sk_is_multicast_address
    - gf_sk_bind
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routedmx_setup_socket(GF_ROUTEDmx *routedmx, const char
      *log_name, GF_Socket *sock, const char *dst_ip, u32 dst_port) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:483,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:489,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:492,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:491,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - routedmx
    - s
    - do_register
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - Bool
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: gf_route_register_service_sockets
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sk_group_unregister
    - gf_sk_group_register
    linkageType: ''
    returnType: void
    signature: 'static void gf_route_register_service_sockets(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, Bool do_register) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - routedmx
    - force_reorder
    - timeout_us
    argTypes:
    - GF_ROUTEDmx*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: gf_route_dmx_set_reorder
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_set_reorder(GF_ROUTEDmx *routedmx, Bool
      force_reorder, u32 timeout_us) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1393,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - n
    - child_name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1397
    functionName: _xml_get_child_count
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 _xml_get_child_count(const GF_XMLNode *n, const char *child_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tsi_init
    argTypes:
    - tsi
    constantsTouched: []
    func_position:
      end: 1838
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1838
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (tsi && o->rlct && !o->rlct->tsi_init) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3779,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3798,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3786,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3802
      start: 3773
    functionDepth: 0
    functionLinenumber: 3773
    functionLinenumberEnd: 3802
    functionName: gf_route_dmx_remove_first_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_route_obj_to_reservoir
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_route_dmx_remove_first_object(GF_ROUTEDmx *routedmx,
      u32 service_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3867
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3867
    functionName: gf_route_dmx_get_last_packet_time
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_route_dmx_get_last_packet_time(GF_ROUTEDmx *routedmx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3879
      start: 3875
    functionDepth: 0
    functionLinenumber: 3875
    functionLinenumberEnd: 3879
    functionName: gf_route_dmx_get_recv_bytes
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_route_dmx_get_recv_bytes(GF_ROUTEDmx *routedmx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:4044,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:4052,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:4057,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:4054,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:4055,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:4059,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:4064,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/media_tools/route_dmx.c:4075,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:4078,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:4094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:4101,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:4105,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/media_tools/route_dmx.c:4124,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/media_tools/route_dmx.c:4104,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/media_tools/route_dmx.c:4123,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/src/media_tools/route_dmx.c:4096,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/media_tools/route_dmx.c:4099,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 66
    argCount: 6
    argNames:
    - routedmx
    - service_id
    - period_id
    - as_id
    - rep_id
    - is_selected
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - char*
    - s32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 4131
      start: 4039
    functionDepth: 0
    functionLinenumber: 4039
    functionLinenumberEnd: 4131
    functionName: gf_route_dmx_mark_active_quality
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sk_set_buffer_size
    - gf_list_enum
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_sk_setup_multicast
    - gf_sk_is_multicast_address
    - gf_sk_set_usec_wait
    - gf_sk_new_ex
    - gf_sk_group_register
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_route_dmx_mark_active_quality(GF_ROUTEDmx *routedmx, u32
      service_id, const char *period_id, s32 as_id, const char *rep_id, Bool is_selected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:4136,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:4142,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:4144,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:4138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4147
    functionName: gf_route_dmx_reset_all
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_obj_to_reservoir
    - gf_list_enum
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_route_dmx_reset_all(GF_ROUTEDmx *routedmx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3999,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:4021,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:4014,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:4005,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:4012,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:4024,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:4034,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - routedmx
    - service_id
    - finfo
    - new_size
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - GF_ROUTEEventFileInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 4036
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 4036
    functionName: gf_route_dmx_patch_blob_size
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_list_enum
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_patch_blob_size(GF_ROUTEDmx *routedmx,
      u32 service_id, GF_ROUTEEventFileInfo *finfo, u32 new_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3618,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3624,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/route_dmx.c:3625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3627
      start: 3613
    functionDepth: 0
    functionLinenumber: 3613
    functionLinenumberEnd: 3627
    functionName: gf_route_dmx_print_objects
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_route_dmx_print_objects(GF_ROUTEDmx *routedmx, u32 service_id) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:518,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/src/media_tools/route_dmx.c:544,1
    - Dst: routedmx_setup_socket
      Src: /src/gpac/src/media_tools/route_dmx.c:546,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:535,1
    - Dst: gf_route_register_service_sockets
      Src: /src/gpac/src/media_tools/route_dmx.c:574,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:580,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:531,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:534,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/media_tools/route_dmx.c:551,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/route_dmx.c:502,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/route_dmx.c:504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:520,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:530,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:533,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:558,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:512,1
    - Dst: gf_route_service_del
      Src: /src/gpac/src/media_tools/route_dmx.c:548,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:540,1
    - Dst: gf_sk_has_nrt_netcap
      Src: /src/gpac/src/media_tools/route_dmx.c:541,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 5
    argNames:
    - routedmx
    - dst_ip
    - dst_port
    - service_id
    - protocol_type
    argTypes:
    - GF_ROUTEDmx*
    - char*
    - u32
    - u32
    - GF_ServiceProtocolType
    constantsTouched: []
    func_position:
      end: 586
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 586
    functionName: gf_route_create_service
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - routedmx_setup_socket
    - gf_sk_has_nrt_netcap
    - gf_sk_set_buffer_size
    - gf_sk_group_register
    - gf_strdup
    - gf_sk_set_usec_wait
    - GF_LOG
    - sprintf
    - gf_route_register_service_sockets
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sk_new_ex
    - gf_route_service_del
    linkageType: ''
    returnType: GF_ROUTEService*
    signature: 'static GF_ROUTEService *gf_route_create_service(GF_ROUTEDmx *routedmx,
      const char *dst_ip, u32 dst_port, u32 service_id, GF_ServiceProtocolType protocol_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - routedmx
    - dispatch_mode
    argTypes:
    - GF_ROUTEDmx*
    - GF_RouteProgressiveDispatch
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: gf_route_set_dispatch_mode
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_set_dispatch_mode(GF_ROUTEDmx *routedmx,
      GF_RouteProgressiveDispatch dispatch_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1359,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - n
    - att_name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1363
    functionName: _xml_get_attr
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *_xml_get_attr(const GF_XMLNode *n, const char *att_name) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:1533,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1584,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/media_tools/route_dmx.c:1413,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1428,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1445,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/media_tools/route_dmx.c:1590,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1653,1
    - Dst: gf_route_register_service_sockets
      Src: /src/gpac/src/media_tools/route_dmx.c:1687,1
    - Dst: gf_route_service_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1694,1
    - Dst: routedmx_setup_socket
      Src: /src/gpac/src/media_tools/route_dmx.c:1582,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1423,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1454,1
    - Dst: _xml_get_child
      Src: /src/gpac/src/media_tools/route_dmx.c:1487,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1524,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1649,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1669,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:1681,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1692,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1563,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/route_dmx.c:1418,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1460,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1476,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1478,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/media_tools/route_dmx.c:1593,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1556,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:1596,1
    - Dst: _xml_get_child_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1620,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:1667,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:1418,1
    - Dst: _xml_get_child_text
      Src: /src/gpac/src/media_tools/route_dmx.c:1491,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1495,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:1527,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:1576,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1652,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1662,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1668,1
    - Dst: gf_route_create_service
      Src: /src/gpac/src/media_tools/route_dmx.c:1520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1532,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1548,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1572,1
    - Dst: gf_route_service_setup_dash
      Src: /src/gpac/src/media_tools/route_dmx.c:1642,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1696,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1415,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1442,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:1505,1
    - Dst: gf_sk_set_usec_wait
      Src: /src/gpac/src/media_tools/route_dmx.c:1580,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1661,1
    - Dst: gf_route_lct_removed
      Src: /src/gpac/src/media_tools/route_dmx.c:1675,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:1693,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1508,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:1522,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1449,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1418,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1475,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1509,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:1586,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1519,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/route_dmx.c:1605,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:1660,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1680,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/route_dmx.c:1401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1408,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1650,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/route_dmx.c:1665,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1530,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1557,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1468,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1470,1
    - Dst: _xml_get_child_text
      Src: /src/gpac/src/media_tools/route_dmx.c:1490,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:1648,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1558,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:1585,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/route_dmx.c:1414,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1684,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1433,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1450,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1484,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1513,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:1526,1
    - Dst: gf_sk_has_nrt_netcap
      Src: /src/gpac/src/media_tools/route_dmx.c:1577,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1531,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1511,1
    - Dst: _xml_get_child
      Src: /src/gpac/src/media_tools/route_dmx.c:1645,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1587,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1550,1
    - Dst: isprint
      Src: /src/gpac/src/media_tools/route_dmx.c:1407,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/route_dmx.c:1502,1
    - Dst: gf_route_route_session_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1682,1
    - Dst: _xml_get_child_text
      Src: /src/gpac/src/media_tools/route_dmx.c:1492,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:1546,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:1567,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1448,1
    - Dst: _xml_get_child
      Src: /src/gpac/src/media_tools/route_dmx.c:1474,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:1565,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/route_dmx.c:1616,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1664,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/route_dmx.c:1677,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/route_dmx.c:1497,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/route_dmx.c:1547,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1570,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1421,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/media_tools/route_dmx.c:1422,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1431,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/route_dmx.c:1601,1
    - Dst: _xml_get_attr
      Src: /src/gpac/src/media_tools/route_dmx.c:1646,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/route_dmx.c:1674,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 308
    argCount: 3
    argNames:
    - routedmx
    - parent_s
    - object
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1699
    functionName: gf_route_dmx_process_dvb_mcast_signaling
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sk_has_nrt_netcap
    - GF_LOG
    - _xml_get_child_count
    - gf_route_route_session_del
    - GF_SAFEALLOC
    - gf_sk_set_usec_wait
    - gf_list_pop_back
    - _xml_get_attr
    - _xml_get_child
    - _xml_get_child_text
    - gf_crc_32
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_route_create_service
    - gf_route_register_service_sockets
    - atoi
    - gf_list_new
    - gf_list_del_item
    - gf_list_clone
    - gf_sk_group_register
    - routedmx_setup_socket
    - gf_list_get
    - gf_list_enum
    - gf_xml_dom_parse_string
    - gf_free
    - isprint
    - gf_xml_dom_get_error
    - gf_route_lct_removed
    - sscanf
    - gf_sk_set_buffer_size
    - gf_route_service_setup_dash
    - gf_xml_dom_get_root
    - gf_sk_new_ex
    - gf_route_service_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_dvb_mcast_signaling(GF_ROUTEDmx
      *routedmx, GF_ROUTEService *parent_s, GF_LCTObject *object) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2838,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2848,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2864,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2850,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2880,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/route_dmx.c:2882,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/route_dmx.c:2886,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2892,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2903,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2910,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2918,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/route_dmx.c:2969,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2932,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/route_dmx.c:2918,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2922,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2923,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2924,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/route_dmx.c:2817,1
    - Dst: isprint
      Src: /src/gpac/src/media_tools/route_dmx.c:2833,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2842,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/route_dmx.c:2854,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/route_dmx.c:2866,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/route_dmx.c:2877,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/route_dmx.c:2878,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/route_dmx.c:2887,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2906,1
    - Dst: gf_route_service_setup_stsid
      Src: /src/gpac/src/media_tools/route_dmx.c:2943,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2940,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2926,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/route_dmx.c:2814,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/media_tools/route_dmx.c:2819,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2834,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2867,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2898,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2903,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2908,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2914,1
    - Dst: gf_route_service_parse_mbms_enveloppe
      Src: /src/gpac/src/media_tools/route_dmx.c:2915,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2919,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2959,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2949,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:2968,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/route_dmx.c:2960,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2821,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2841,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2875,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/route_dmx.c:2881,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2885,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2925,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2927,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2928,1
    - Dst: gf_route_service_setup_dash
      Src: /src/gpac/src/media_tools/route_dmx.c:2934,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2936,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:2940,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/route_dmx.c:2945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2972,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:2932,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:2962,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 201
    argCount: 6
    argNames:
    - routedmx
    - s
    - object
    - cc
    - stsid_version
    - mpd_version
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2977
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2977
    functionName: gf_route_dmx_process_service_signaling
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_gz_decompress_payload_ex
    - GF_LOG
    - strstr
    - MIN
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_route_service_parse_mbms_enveloppe
    - gf_list_enum
    - memcpy
    - strchr
    - strnicmp
    - gf_free
    - isprint
    - gf_realloc
    - gf_route_service_setup_dash
    - strncpy
    - gf_route_service_setup_stsid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_service_signaling(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, GF_LCTObject *object, u8 cc, u32 stsid_version, u32 mpd_version) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/media_tools/route_dmx.c:2994,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:3000,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3024,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3017,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3019,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3040,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3058,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3091,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3172,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3124,1
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/media_tools/route_dmx.c:2996,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3011,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3014,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3018,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3020,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3057,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3141,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3190,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3193,1
    - Dst: gf_route_dmx_process_service_signaling
      Src: /src/gpac/src/media_tools/route_dmx.c:3211,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3175,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3178,1
    - Dst: gf_route_service_gather_object
      Src: /src/gpac/src/media_tools/route_dmx.c:3195,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/route_dmx.c:3004,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3015,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3032,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3021,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3053,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3078,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3103,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3150,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3146,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3219,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3168,1
    - Dst: gf_route_dmx_process_object
      Src: /src/gpac/src/media_tools/route_dmx.c:3222,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3186,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/route_dmx.c:3007,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3012,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3036,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3048,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3059,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3080,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3131,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3145,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3152,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3161,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 209
    argCount: 3
    argNames:
    - routedmx
    - s
    - route_sess
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_ROUTESession*
    constantsTouched: []
    func_position:
      end: 3227
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 3227
    functionName: dmx_process_service_route
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_long_int
    - gf_bs_read_u8
    - gf_route_service_gather_object
    - gf_route_dmx_process_service_signaling
    - gf_bs_get_position
    - gf_list_enum
    - gf_route_obj_to_reservoir
    - gf_route_dmx_process_object
    - gf_bs_read_int
    - GF_LOG
    - gf_sk_receive_no_select
    - gf_sys_clock_high_res
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dmx_process_service_route(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, GF_ROUTESession *route_sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_keep_or_remove_object_by_name
      Src: /src/gpac/src/media_tools/route_dmx.c:3733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - routedmx
    - service_id
    - fileName
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3734
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3734
    functionName: gf_route_dmx_force_keep_object_by_name
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_keep_or_remove_object_by_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_force_keep_object_by_name(GF_ROUTEDmx
      *routedmx, u32 service_id, char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_keep_or_remove_object_by_name
      Src: /src/gpac/src/media_tools/route_dmx.c:3745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - routedmx
    - service_id
    - fileName
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 3746
      start: 3742
    functionDepth: 0
    functionLinenumber: 3742
    functionLinenumberEnd: 3746
    functionName: gf_route_dmx_has_object_by_name
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_keep_or_remove_object_by_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_has_object_by_name(GF_ROUTEDmx *routedmx,
      u32 service_id, const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_new_internal
      Src: /src/gpac/src/media_tools/route_dmx.c:593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - ifce
    - sock_buffer_size
    - (*on_event)
    - udta
    argTypes:
    - char*
    - u32
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: gf_route_atsc_dmx_new
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_new_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_ROUTEDmx *gf_route_atsc_dmx_new(const char *ifce, u32
      sock_buffer_size,\t\t\t\t\t\t\t\t void (*on_event)(void *udta, GF_ROUTEEventType
      evt, u32 evt_param, GF_ROUTEEventFileInfo *info),\t\t\t\t\t\t\t\t void *udta) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/route_dmx.c:705,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:719,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/route_dmx.c:709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - blob
    - start_offset
    - io_size
    argTypes:
    - GF_Blob*
    - u64
    - u32*
    constantsTouched: []
    func_position:
      end: 723
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 723
    functionName: routedmx_check_blob_range
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_BlobRangeStatus
    signature: 'static GF_BlobRangeStatus routedmx_check_blob_range(GF_Blob *blob,
      u64 start_offset, u32 *io_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:1370,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:1371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - n
    - child_name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1374
    functionName: _xml_get_child
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static const GF_XMLNode *_xml_get_child(const GF_XMLNode *n, const
      char *child_name) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1707,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1711,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1709,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1713,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:1715,1
    - Dst: gf_route_dmx_process_dvb_flute_signaling
      Src: /src/gpac/src/media_tools/route_dmx.c:1723,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:1726,1
    - Dst: gf_route_dmx_process_dvb_mcast_signaling
      Src: /src/gpac/src/media_tools/route_dmx.c:1731,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/route_dmx.c:1740,1
    - Dst: gf_route_service_setup_dash
      Src: /src/gpac/src/media_tools/route_dmx.c:1752,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1768,1
    - Dst: gf_route_dmx_push_object
      Src: /src/gpac/src/media_tools/route_dmx.c:1777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:1760,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 51
    argCount: 3
    argNames:
    - routedmx
    - s
    - obj
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_LCTObject*
    constantsTouched: []
    func_position:
      end: 1778
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1778
    functionName: gf_route_dmx_process_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_process_dvb_flute_signaling
    - gf_crc_32
    - gf_route_dmx_push_object
    - GF_LOG
    - gf_route_service_setup_dash
    - gf_route_dmx_process_dvb_mcast_signaling
    - gf_route_obj_to_reservoir
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_process_object(GF_ROUTEDmx *routedmx, GF_ROUTEService
      *s, GF_LCTObject *obj) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/route_dmx.c:3252,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3261,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3276,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3265,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3296,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3306,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3307,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3313,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3314,1
    - Dst: gf_route_service_gather_object
      Src: /src/gpac/src/media_tools/route_dmx.c:3388,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3344,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3347,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3259,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3262,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/route_dmx.c:3317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3341,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3373,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/route_dmx.c:3354,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/route_dmx.c:3303,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3331,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/route_dmx.c:3248,1
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/media_tools/route_dmx.c:3244,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3263,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3280,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3292,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3322,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3323,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/route_dmx.c:3356,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3329,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3369,1
    - Dst: gf_route_dmx_process_object
      Src: /src/gpac/src/media_tools/route_dmx.c:3393,1
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/media_tools/route_dmx.c:3242,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/route_dmx.c:3255,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3260,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3266,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3264,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3288,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/route_dmx.c:3300,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/route_dmx.c:3302,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/route_dmx.c:3355,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3337,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/route_dmx.c:3332,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 145
    argCount: 3
    argNames:
    - routedmx
    - s
    - route_sess
    argTypes:
    - GF_ROUTEDmx*
    - GF_ROUTEService*
    - GF_ROUTESession*
    constantsTouched: []
    func_position:
      end: 3397
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3397
    functionName: dmx_process_service_dvb_flute
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_route_service_gather_object
    - gf_route_dmx_process_object
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_read_int
    - GF_LOG
    - gf_sk_receive_no_select
    - gf_sys_clock_high_res
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dmx_process_service_dvb_flute(GF_ROUTEDmx *routedmx,
      GF_ROUTEService *s, GF_ROUTESession *route_sess) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3636,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3668,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3671,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/route_dmx.c:3646,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3644,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3690,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/route_dmx.c:3697,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3704,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:3709,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/route_dmx.c:3709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/route_dmx.c:3723,1
    - Dst: gf_route_dmx_keep_or_remove_object_by_name
      Src: /src/gpac/src/media_tools/route_dmx.c:3716,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 76
    argCount: 6
    argNames:
    - routedmx
    - service_id
    - fileName
    - purge_previous
    - is_remove
    - is_locate
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - char*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3728
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3728
    functionName: gf_route_dmx_keep_or_remove_object_by_name
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_enum
    - strcmp
    - GF_LOG
    - gf_route_dmx_keep_or_remove_object_by_name
    - gf_route_obj_to_reservoir
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_route_dmx_keep_or_remove_object_by_name(GF_ROUTEDmx
      *routedmx, u32 service_id, char *fileName, Bool purge_previous, Bool is_remove,
      Bool is_locate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_keep_or_remove_object_by_name
      Src: /src/gpac/src/media_tools/route_dmx.c:3739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - routedmx
    - service_id
    - fileName
    - purge_previous
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3740
      start: 3736
    functionDepth: 0
    functionLinenumber: 3736
    functionLinenumberEnd: 3740
    functionName: gf_route_dmx_remove_object_by_name
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_keep_or_remove_object_by_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_remove_object_by_name(GF_ROUTEDmx *routedmx,
      u32 service_id, char *fileName, Bool purge_previous) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3755,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3761,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - routedmx
    - service_id
    - tsi
    - toi
    - force_keep
    argTypes:
    - GF_ROUTEDmx*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3770
      start: 3748
    functionDepth: 0
    functionLinenumber: 3748
    functionLinenumberEnd: 3770
    functionName: gf_route_dmx_force_keep_object
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_route_dmx_force_keep_object(GF_ROUTEDmx *routedmx,
      u32 service_id, u32 tsi, u32 toi, Bool force_keep) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3810,1
    - Dst: gf_route_obj_to_reservoir
      Src: /src/gpac/src/media_tools/route_dmx.c:3827,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/route_dmx.c:3817,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - routedmx
    - service_id
    argTypes:
    - GF_ROUTEDmx*
    - u32
    constantsTouched: []
    func_position:
      end: 3829
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3829
    functionName: gf_route_dmx_purge_objects
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_route_obj_to_reservoir
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_route_dmx_purge_objects(GF_ROUTEDmx *routedmx, u32
      service_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - routedmx
    argTypes:
    - GF_ROUTEDmx*
    constantsTouched: []
    func_position:
      end: 3873
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3873
    functionName: gf_route_dmx_get_nb_packets
    functionSourceFile: /src/gpac/src/media_tools/route_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_route_dmx_get_nb_packets(GF_ROUTEDmx *routedmx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_rtp_packet_begin
      Src: /src/gpac/src/media_tools/isom_hinter.c:214,1
    - Dst: gf_isom_end_hint_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:203,1
    - Dst: gf_isom_begin_hint_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:207,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_hinter.c:199,1
    - Dst: gf_isom_rtp_packet_set_offset
      Src: /src/gpac/src/media_tools/isom_hinter.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: MP4T_OnNewPacket
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_end_hint_sample
    - gf_isom_rtp_packet_set_offset
    - gf_isom_rtp_packet_begin
    - gf_assert
    - gf_isom_begin_hint_sample
    linkageType: ''
    returnType: void
    signature: 'void MP4T_OnNewPacket(void *cbk, GF_RTPHeader *header) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_builder_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:734,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - tkHinter
    argTypes:
    - GF_RTPHinter*
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: gf_hinter_track_del
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_rtp_builder_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_hinter_track_del(GF_RTPHinter *tkHinter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:865,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:868,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:871,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:867,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - sdpLine
    - nalus
    argTypes:
    - char**
    - GF_List*
    constantsTouched: []
    func_position:
      end: 874
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 874
    functionName: write_nalu_config_array
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_count
    - gf_list_get
    - gf_base64_encode
    linkageType: ''
    returnType: u32
    signature: 'static u32 write_nalu_config_array(char **sdpLine, GF_List *nalus) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_hinter.c:966,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1018,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1068,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1120,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1142,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1136,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:971,1
    - Dst: gf_isom_text_get_encoded_tx3g
      Src: /src/gpac/src/media_tools/isom_hinter.c:988,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1000,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1004,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1051,1
    - Dst: write_avc_config
      Src: /src/gpac/src/media_tools/isom_hinter.c:1022,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1084,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1108,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1111,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1129,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:982,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1046,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1066,1
    - Dst: gf_isom_sdp_clean_track
      Src: /src/gpac/src/media_tools/isom_hinter.c:917,1
    - Dst: gf_media_format_ttxt_sdp
      Src: /src/gpac/src/media_tools/isom_hinter.c:981,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1100,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1104,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1026,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1067,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_hinter.c:918,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:994,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1031,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1115,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1121,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:944,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:1010,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1081,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1054,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1038,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1082,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1065,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/isom_hinter.c:1021,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1088,1
    - Dst: gf_isom_get_dims_description
      Src: /src/gpac/src/media_tools/isom_hinter.c:1098,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1025,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_hinter.c:1083,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1040,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1079,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:940,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:962,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/isom_hinter.c:1074,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1109,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1124,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1080,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1049,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1047,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:936,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:949,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:953,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1023,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1101,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1105,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1112,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:983,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1005,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1113,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1130,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1133,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:926,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:929,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_hinter.c:943,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:965,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1036,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1046,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_hinter.c:1064,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1116,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1145,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1147,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:920,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:934,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:1074,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1117,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1119,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/isom_hinter.c:1149,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:1045,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/media_tools/isom_hinter.c:919,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_hinter.c:939,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:999,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1071,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1089,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1103,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1140,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:948,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:996,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:997,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:1009,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1014,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1053,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1034,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:1096,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1024,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_hinter.c:1063,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:932,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:943,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1046,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:993,1
    - Dst: gf_rtp_builder_get_payload_name
      Src: /src/gpac/src/media_tools/isom_hinter.c:922,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:925,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:928,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:954,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1090,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1107,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1123,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:939,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1076,1
    - Dst: gf_rtp_builder_format_sdp
      Src: /src/gpac/src/media_tools/isom_hinter.c:1087,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 214
    argCount: 2
    argNames:
    - tkHint
    - AddSystemInfo
    argTypes:
    - GF_RTPHinter*
    - Bool
    constantsTouched: []
    func_position:
      end: 1151
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 1151
    functionName: gf_hinter_track_finalize
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_bs_get_content
    - gf_isom_sdp_add_track_line
    - gf_bs_write_data
    - gf_isom_avc_config_get
    - gf_isom_get_ismacryp_info
    - write_avc_config
    - gf_isom_svc_config_get
    - gf_odf_desc_del
    - gf_rtp_builder_get_payload_name
    - gf_isom_get_media_type
    - MIN
    - gf_bs_del
    - gf_rtp_builder_format_sdp
    - gf_isom_get_sample_description_count
    - gf_strdup
    - gf_isom_text_get_encoded_tx3g
    - gf_odf_avc_cfg_del
    - gf_isom_get_track_count
    - gf_bs_write_int
    - gf_isom_set_track_enabled
    - gf_isom_sdp_clean_track
    - gf_isom_get_esd
    - gf_dynstrcat
    - gf_isom_get_track_layout_info
    - sprintf
    - gf_isom_get_track_id
    - gf_bs_new
    - gf_free
    - strnicmp
    - gf_isom_get_dims_description
    - gf_media_format_ttxt_sdp
    - gf_isom_get_visual_info
    - gf_base64_encode
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hinter_track_finalize(GF_RTPHinter *tkHint, Bool
      AddSystemInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:1096,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1113,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1120,1
    - Dst: gf_isom_get_dims_description
      Src: /src/gpac/src/media_tools/isom_hinter.c:1098,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1108,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1111,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1116,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1100,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1104,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1107,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1109,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1117,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1119,1
    - Dst: gf_isom_sdp_add_track_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1123,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1124,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1103,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1101,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1105,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1112,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1115,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:1121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - GF_RTP_PAYT_3GPP_DIMS
    argTypes:
    - tkHint
    constantsTouched: []
    func_position:
      end: 1125
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1125
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_isom_sdp_add_track_line
    - sprintf
    - gf_free
    - gf_isom_get_dims_description
    - gf_isom_get_visual_info
    linkageType: ''
    returnType: else
    signature: 'else if (tkHint->rtp_p->rtp_payt==GF_RTP_PAYT_3GPP_DIMS) '
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/src/media_tools/isom_hinter.c:256,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_hinter.c:273,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:286,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/isom_hinter.c:307,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:357,1
    - Dst: gf_isom_has_sample_dependency
      Src: /src/gpac/src/media_tools/isom_hinter.c:403,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:441,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:459,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:527,1
    - Dst: gf_isom_rtp_set_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:671,1
    - Dst: gf_isom_setup_hint_track
      Src: /src/gpac/src/media_tools/isom_hinter.c:668,1
    - Dst: gf_isom_set_track_priority_in_group
      Src: /src/gpac/src/media_tools/isom_hinter.c:695,1
    - Dst: gf_isom_set_extraction_slc
      Src: /src/gpac/src/media_tools/isom_hinter.c:676,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_hinter.c:578,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:642,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_hinter.c:237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:250,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_hinter.c:288,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:293,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:442,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:469,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:547,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_hinter.c:549,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/media_tools/isom_hinter.c:550,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:553,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_hinter.c:663,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/media_tools/isom_hinter.c:690,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/media_tools/isom_hinter.c:685,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:628,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/media_tools/isom_hinter.c:688,1
    - Dst: gf_isom_new_hint_description
      Src: /src/gpac/src/media_tools/isom_hinter.c:670,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/media_tools/isom_hinter.c:254,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_hinter.c:343,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:340,1
    - Dst: gf_isom_has_sync_shadows
      Src: /src/gpac/src/media_tools/isom_hinter.c:403,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/media_tools/isom_hinter.c:344,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:440,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:481,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:501,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:533,1
    - Dst: gf_isom_has_time_offset
      Src: /src/gpac/src/media_tools/isom_hinter.c:597,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:617,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/isom_hinter.c:665,1
    - Dst: gf_isom_set_track_priority_in_group
      Src: /src/gpac/src/media_tools/isom_hinter.c:694,1
    - Dst: gf_hinter_track_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:678,1
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/src/media_tools/isom_hinter.c:633,1
    - Dst: gf_rtp_builder_new
      Src: /src/gpac/src/media_tools/isom_hinter.c:648,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:647,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/src/media_tools/isom_hinter.c:248,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:239,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:244,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:353,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/isom_hinter.c:379,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:408,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:460,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:489,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:538,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:561,1
    - Dst: gf_media_get_sample_average_infos
      Src: /src/gpac/src/media_tools/isom_hinter.c:600,1
    - Dst: gf_rtp_builder_init
      Src: /src/gpac/src/media_tools/isom_hinter.c:655,1
    - Dst: InitSL_RTP
      Src: /src/gpac/src/media_tools/isom_hinter.c:615,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:543,1
    - Dst: gf_isom_get_data_reference
      Src: /src/gpac/src/media_tools/isom_hinter.c:574,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/isom_hinter.c:667,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/media_tools/isom_hinter.c:628,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 372
    argCount: 11
    argNames:
    - file
    - TrackNum
    - Path_MTU
    - max_ptime
    - default_rtp_rate
    - flags
    - PayloadID
    - copy_media
    - InterleaveGroupID
    - InterleaveGroupPriority
    - e
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8
    - Bool
    - u32
    - u8
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 699
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 699
    functionName: gf_hinter_track_new
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - gf_isom_setup_hint_track
    - gf_isom_new_hint_description
    - gf_isom_set_track_interleaving_group
    - GF_LOG
    - gf_isom_avc_config_get
    - gf_isom_set_track_priority_in_group
    - gf_isom_get_ismacryp_info
    - gf_isom_svc_config_get
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_isom_has_sync_points
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_m4a_get_config
    - gf_isom_get_track_by_id
    - gf_isom_get_edit
    - gf_rtp_builder_new
    - GF_4CC
    - gf_isom_has_sample_dependency
    - gf_mp3_num_channels
    - gf_isom_remove_edits
    - gf_isom_get_sample_description_count
    - gf_isom_get_audio_info
    - gf_odf_avc_cfg_del
    - gf_isom_new_track
    - gf_isom_get_media_timescale
    - gf_isom_set_extraction_slc
    - gf_isom_get_esd
    - gf_isom_is_track_enabled
    - gf_isom_mvc_config_get
    - gf_isom_vvc_config_get
    - gf_isom_get_track_id
    - gf_isom_has_sync_shadows
    - InitSL_RTP
    - gf_isom_hevc_config_get
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_edits_count
    - gf_get_bit_size
    - gf_hinter_track_del
    - gf_media_get_sample_average_infos
    - gf_isom_has_time_offset
    - gf_rtp_builder_init
    - gf_isom_rtp_set_timescale
    - gf_isom_get_data_reference
    - gf_odf_hevc_cfg_del
    - gf_isom_get_sample
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_RTPHinter *gf_hinter_track_new(GF_ISOFile *file, u32
      TrackNum, u32 Path_MTU, u32 max_ptime, u32 default_rtp_rate, u32 flags, u8 PayloadID,
      Bool copy_media, u32 InterleaveGroupID, u8 InterleaveGroupPriority, GF_Err *e) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:783,1
    - Dst: gf_isom_get_ismacryp_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:779,1
    - Dst: gf_rtp_builder_set_cryp_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:786,1
    - Dst: gf_rtp_builder_process
      Src: /src/gpac/src/media_tools/isom_hinter.c:840,1
    - Dst: gf_rtp_builder_process
      Src: /src/gpac/src/media_tools/isom_hinter.c:854,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:756,1
    - Dst: gf_isom_ismacryp_delete_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:789,1
    - Dst: gf_isom_get_sample_padding_bits
      Src: /src/gpac/src/media_tools/isom_hinter.c:793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:814,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_hinter.c:757,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/isom_hinter.c:799,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:826,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:848,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/isom_hinter.c:845,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:832,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:750,1
    - Dst: gf_rtp_builder_process
      Src: /src/gpac/src/media_tools/isom_hinter.c:834,1
    - Dst: gf_isom_end_hint_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:856,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 100
    argCount: 1
    argNames:
    - tkHint
    argTypes:
    - GF_RTPHinter*
    constantsTouched: []
    func_position:
      end: 858
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 858
    functionName: gf_hinter_track_process
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_ismacryp_sample
    - gf_isom_end_hint_sample
    - gf_isom_get_sample_padding_bits
    - gf_set_progress
    - gf_isom_get_sample_duration
    - GF_LOG
    - gf_rtp_builder_set_cryp_info
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_ismacryp_delete_sample
    - gf_rtp_builder_process
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hinter_track_process(GF_RTPHinter *tkHint) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:880,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:880,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:881,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:881,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:880,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:884,1
    - Dst: write_nalu_config_array
      Src: /src/gpac/src/media_tools/isom_hinter.c:887,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:888,1
    - Dst: write_nalu_config_array
      Src: /src/gpac/src/media_tools/isom_hinter.c:889,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:890,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:897,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:899,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:901,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/isom_hinter.c:892,1
    - Dst: write_nalu_config_array
      Src: /src/gpac/src/media_tools/isom_hinter.c:898,1
    - Dst: write_nalu_config_array
      Src: /src/gpac/src/media_tools/isom_hinter.c:891,1
    - Dst: write_nalu_config_array
      Src: /src/gpac/src/media_tools/isom_hinter.c:896,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - sdpLine
    - avcc
    - svcc
    argTypes:
    - char**
    - GF_AVCConfig*
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 904
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 904
    functionName: write_avc_config
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_count
    - write_nalu_config_array
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void write_avc_config(char **sdpLine, GF_AVCConfig *avcc, GF_AVCConfig
      *svcc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:1159,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1166,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1163,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - data
    - data_size
    - streamType
    argTypes:
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1175
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1175
    functionName: gf_hinter_can_embbed_data
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_base64_encode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_hinter_can_embbed_data(u8 *data, u32 data_size,
      u32 streamType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tkHinter
    argTypes:
    - GF_RTPHinter*
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: gf_hinter_track_get_flags
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_hinter_track_get_flags(GF_RTPHinter *tkHinter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_hinter.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - slc
    argTypes:
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: InitSL_RTP
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void InitSL_RTP(GF_SLConfig *slc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_builder_get_payload_name
      Src: /src/gpac/src/media_tools/isom_hinter.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tkHinter
    - payloadName
    argTypes:
    - GF_RTPHinter*
    - char*
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: gf_hinter_track_get_payload_name
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_rtp_builder_get_payload_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_hinter_track_get_payload_name(GF_RTPHinter *tkHinter,
      char *payloadName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:48,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/isom_hinter.c:53,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:75,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:80,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/isom_hinter.c:81,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 8
    argNames:
    - file
    - Track
    - avgSize
    - MaxSize
    - TimeDelta
    - maxCTSDelta
    - const_duration
    - bandwidth
    argTypes:
    - GF_ISOFile*
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 87
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 87
    functionName: gf_media_get_sample_average_infos
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_info
    - gf_isom_get_sample_count
    - gf_isom_get_media_duration
    - gf_isom_get_media_timescale
    - gf_isom_sample_del
    linkageType: ''
    returnType: void
    signature: 'void gf_media_get_sample_average_infos(GF_ISOFile *file, u32 Track,
      u32 *avgSize, u32 *MaxSize, u32 *TimeDelta, u32 *maxCTSDelta, u32 *const_duration,
      u32 *bandwidth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_hinter.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - slc
    argTypes:
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: InitSL_NULL
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void InitSL_NULL(GF_SLConfig *slc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_hinter.c:151,1
    - Dst: gf_isom_rtp_packet_set_flags
      Src: /src/gpac/src/media_tools/isom_hinter.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - cbk
    - header
    argTypes:
    - void*
    - GF_RTPHeader*
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: MP4T_OnPacketDone
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_isom_rtp_packet_set_flags
    linkageType: ''
    returnType: void
    signature: 'void MP4T_OnPacketDone(void *cbk, GF_RTPHeader *header) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sdp_clean
      Src: /src/gpac/src/media_tools/isom_hinter.c:1191,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1200,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1195,1
    - Dst: gf_isom_sdp_add_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1204,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:1247,1
    - Dst: gf_hinter_can_embbed_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:1249,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1276,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:1288,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/isom_hinter.c:1302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:1312,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1354,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1357,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1365,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:1361,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/media_tools/isom_hinter.c:1202,1
    - Dst: InitSL_NULL
      Src: /src/gpac/src/media_tools/isom_hinter.c:1250,1
    - Dst: gf_isom_set_extraction_slc
      Src: /src/gpac/src/media_tools/isom_hinter.c:1258,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1260,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:1264,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_hinter.c:1273,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1287,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:1289,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:1292,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:1328,1
    - Dst: gf_isom_sdp_add_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1345,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1340,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1329,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_hinter.c:1299,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/src/media_tools/isom_hinter.c:1353,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_hinter.c:1367,1
    - Dst: gf_isom_sdp_add_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1196,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/isom_hinter.c:1199,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1239,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_hinter.c:1240,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_hinter.c:1211,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_hinter.c:1246,1
    - Dst: gf_hinter_can_embbed_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:1290,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_hinter.c:1300,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/isom_hinter.c:1303,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_hinter.c:1315,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_hinter.c:1322,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/isom_hinter.c:1360,1
    - Dst: gf_isom_sdp_add_line
      Src: /src/gpac/src/media_tools/isom_hinter.c:1364,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/isom_hinter.c:1263,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_hinter.c:1283,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1202,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/src/media_tools/isom_hinter.c:1202,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:1209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_hinter.c:1238,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/media_tools/isom_hinter.c:1230,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/media_tools/isom_hinter.c:1210,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_hinter.c:1237,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_hinter.c:1248,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_hinter.c:1253,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_hinter.c:1261,1
    - Dst: gf_isom_set_extraction_slc
      Src: /src/gpac/src/media_tools/isom_hinter.c:1297,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_hinter.c:1358,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_hinter.c:1344,1
    - Dst: InitSL_NULL
      Src: /src/gpac/src/media_tools/isom_hinter.c:1291,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 201
    argCount: 3
    argNames:
    - file
    - IOD_Profile
    - bandwidth
    argTypes:
    - GF_ISOFile*
    - GF_SDP_IODProfile
    - u32
    constantsTouched: []
    func_position:
      end: 1370
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1370
    functionName: gf_hinter_finalize
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - snprintf
    - gf_malloc
    - gf_isom_is_track_in_root_od
    - GF_LOG
    - gf_odf_desc_del
    - gf_isom_get_media_type
    - gf_gpac_version
    - gf_odf_desc_write
    - gf_list_count
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - strcpy
    - gf_isom_set_extraction_slc
    - gf_isom_sdp_clean
    - gf_isom_get_esd
    - gf_list_get
    - InitSL_NULL
    - gf_hinter_can_embbed_data
    - gf_isom_get_root_od
    - gf_sys_is_test_mode
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_gpac_copyright
    - gf_isom_sdp_add_line
    - gf_isom_get_sample
    - gf_list_rem
    - gf_base64_encode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hinter_finalize(GF_ISOFile *file, GF_SDP_IODProfile
      IOD_Profile, u32 bandwidth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_sample_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - cbk
    - payload_size
    - offset_from_orig
    argTypes:
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: MP4T_OnDataRef
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_sample_data
    linkageType: ''
    returnType: void
    signature: 'void MP4T_OnDataRef(void *cbk, u32 payload_size, u32 offset_from_orig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_rtp_set_time_offset
      Src: /src/gpac/src/media_tools/isom_hinter.c:706,1
    - Dst: gf_isom_rtp_set_time_sequence_offset
      Src: /src/gpac/src/media_tools/isom_hinter.c:708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tkHinter
    argTypes:
    - GF_RTPHinter*
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: gf_hinter_track_force_no_offsets
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_rtp_set_time_offset
    - gf_isom_rtp_set_time_sequence_offset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hinter_track_force_no_offsets(GF_RTPHinter *tkHinter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_hint_direct_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:185,1
    - Dst: gf_isom_hint_sample_data
      Src: /src/gpac/src/media_tools/isom_hinter.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - cbk
    - data
    - data_size
    - is_header
    argTypes:
    - void*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: MP4T_OnData
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached:
    - gf_isom_hint_sample_data
    - gf_isom_hint_direct_data
    linkageType: ''
    returnType: void
    signature: 'void MP4T_OnData(void *cbk, u8 *data, u32 data_size, Bool is_header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tkHinter
    argTypes:
    - GF_RTPHinter*
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: gf_hinter_track_get_bandwidth
    functionSourceFile: /src/gpac/src/media_tools/isom_hinter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_hinter_track_get_bandwidth(GF_RTPHinter *tkHinter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - service_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: gf_ait_section_new
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_M2TS_ES*
    signature: 'GF_M2TS_ES *gf_ait_section_new(u32 service_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:594,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ChanAppInfo
    argTypes:
    - GF_M2TS_CHANNEL_APPLICATION_INFO*
    constantsTouched: []
    func_position:
      end: 602
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 602
    functionName: gf_m2ts_is_dmscc_app
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_m2ts_is_dmscc_app(GF_M2TS_CHANNEL_APPLICATION_INFO*
      ChanAppInfo) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/ait.c:91,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:100,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:118,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:123,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:162,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:178,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:220,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:269,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:177,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:154,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:242,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:248,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:206,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:293,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:348,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:373,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:386,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:193,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:216,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:109,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:136,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/ait.c:217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:180,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/ait.c:280,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:317,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:330,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:356,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:252,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:185,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/ait.c:98,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:128,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:144,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:179,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:258,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:274,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:325,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:329,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:120,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:271,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:331,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:351,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:386,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:393,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:398,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/ait.c:93,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:111,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:134,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:169,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:254,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:328,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:365,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:377,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:390,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:385,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:219,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:131,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:176,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:241,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:372,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:135,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:184,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:292,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:329,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:395,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:409,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:151,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:188,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:296,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:300,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/ait.c:326,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:350,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:375,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/ait.c:380,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:352,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:194,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:113,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:153,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:233,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:266,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:334,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:349,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:353,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:212,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:95,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:107,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:256,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:225,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:407,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:255,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:251,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:182,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:220,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:213,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:276,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:342,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:115,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:155,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:181,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/ait.c:272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:289,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:293,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:240,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:106,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:137,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:152,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:175,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:302,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:371,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:198,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:221,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:126,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/ait.c:147,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:183,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:214,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:191,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/ait.c:278,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:309,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/ait.c:324,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 358
    argCount: 4
    argNames:
    - ait
    - data
    - data_size
    - table_id
    argTypes:
    - GF_M2TS_AIT*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 430
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 430
    functionName: gf_m2ts_decode_ait
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_position
    - gf_bs_read_data
    - GF_LOG
    - gf_bs_new
    - gf_bs_read_int
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_decode_ait(GF_M2TS_AIT *ait, char *data, u32
      data_size, u32 table_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:626,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:636,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:640,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:634,1
    - Dst: gf_m2ts_free_ait_application
      Src: /src/gpac/src/media_tools/ait.c:641,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/ait.c:642,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:651,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ChannelAppList
    - pid
    - data
    argTypes:
    - GF_List*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 655
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 655
    functionName: check_ait_already_received
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_m2ts_free_ait_application
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_ait_already_received(GF_List* ChannelAppList,u32
      pid,char* data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:711,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:716,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:729,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:744,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:743,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:762,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/ait.c:771,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:772,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:776,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:698,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:705,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:706,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:742,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:749,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:759,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:704,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:699,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:722,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:737,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:725,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:750,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/ait.c:775,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:694,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:727,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:734,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:755,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:764,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - application_decode
    argTypes:
    - GF_M2TS_AIT_APPLICATION_DECODE*
    constantsTouched: []
    func_position:
      end: 777
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 777
    functionName: gf_ait_application_decode_destroy
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_ait_application_decode_destroy(GF_M2TS_AIT_APPLICATION_DECODE*
      application_decode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_ait_already_received
      Src: /src/gpac/src/media_tools/ait.c:65,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:67,1
    - Dst: gf_m2ts_decode_ait
      Src: /src/gpac/src/media_tools/ait.c:73,1
    - Dst: gf_ait_destroy
      Src: /src/gpac/src/media_tools/ait.c:75,1
    - Dst: gf_m2ts_process_ait
      Src: /src/gpac/src/media_tools/ait.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: on_ait_section
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_m2ts_decode_ait
    - gf_m2ts_process_ait
    - GF_SAFEALLOC
    - gf_ait_destroy
    - check_ait_already_received
    linkageType: ''
    returnType: void
    signature: 'void on_ait_section(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:438,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:452,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:516,1
    - Dst: gf_dir_cleanup
      Src: /src/gpac/src/media_tools/ait.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:561,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/ait.c:566,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/ait.c:568,1
    - Dst: gf_m2ts_delete_dsmcc_overlord
      Src: /src/gpac/src/media_tools/ait.c:584,1
    - Dst: gf_m2ts_get_dmscc_overlord
      Src: /src/gpac/src/media_tools/ait.c:579,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:527,1
    - Dst: gf_m2ts_get_channel_application_info
      Src: /src/gpac/src/media_tools/ait.c:444,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/ait.c:465,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:469,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:491,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/ait.c:492,1
    - Dst: gf_m2ts_get_dmscc_overlord
      Src: /src/gpac/src/media_tools/ait.c:505,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/ait.c:511,1
    - Dst: gf_m2ts_init_dsmcc_overlord
      Src: /src/gpac/src/media_tools/ait.c:513,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/ait.c:516,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/ait.c:516,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/ait.c:567,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/ait.c:450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:457,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:462,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:520,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/ait.c:525,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/ait.c:526,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/ait.c:566,1
    - Dst: gf_rmdir
      Src: /src/gpac/src/media_tools/ait.c:583,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/ait.c:447,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:470,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/ait.c:515,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/ait.c:510,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:483,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/ait.c:517,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/media_tools/ait.c:518,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:551,1
    - Dst: gf_m2ts_is_dmscc_app
      Src: /src/gpac/src/media_tools/ait.c:581,1
    - Dst: gf_dir_cleanup
      Src: /src/gpac/src/media_tools/ait.c:582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/ait.c:573,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 123
    argCount: 2
    argNames:
    - ts
    - ait
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_AIT*
    constantsTouched: []
    func_position:
      end: 588
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 588
    functionName: gf_m2ts_process_ait
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_m2ts_get_channel_application_info
    - memset
    - gf_m2ts_delete_dsmcc_overlord
    - GF_LOG
    - gf_rmdir
    - GF_SAFEALLOC
    - gf_dir_cleanup
    - gf_list_count
    - gf_strdup
    - gf_list_new
    - gf_list_get
    - gf_mkdir
    - sprintf
    - gf_m2ts_get_dmscc_overlord
    - gf_m2ts_init_dsmcc_overlord
    - gf_m2ts_is_dmscc_app
    - gf_calloc
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_ait(GF_M2TS_Demuxer *ts, GF_M2TS_AIT*
      ait) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ChannelAppList
    - ait_service_id
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 619
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 619
    functionName: gf_m2ts_get_channel_application_info
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_CHANNEL_APPLICATION_INFO * gf_m2ts_get_channel_application_info(GF_List*
      ChannelAppList, u32 ait_service_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:665,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/ait.c:669,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:674,1
    - Dst: gf_ait_application_decode_destroy
      Src: /src/gpac/src/media_tools/ait.c:675,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:672,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/ait.c:676,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:677,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/ait.c:679,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ait
    argTypes:
    - GF_M2TS_AIT*
    constantsTouched: []
    func_position:
      end: 681
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 681
    functionName: gf_ait_destroy
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_ait_application_decode_destroy
    linkageType: ''
    returnType: void
    signature: 'static void gf_ait_destroy(GF_M2TS_AIT* ait) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:782,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:789,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:791,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - Application
    argTypes:
    - GF_M2TS_AIT_APPLICATION*
    constantsTouched: []
    func_position:
      end: 792
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 792
    functionName: gf_m2ts_free_ait_application
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_free_ait_application(GF_M2TS_AIT_APPLICATION*
      Application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/ait.c:796,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/ait.c:799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/ait.c:797,1
    - Dst: gf_m2ts_free_ait_application
      Src: /src/gpac/src/media_tools/ait.c:798,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/ait.c:802,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/ait.c:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ChannelApp
    argTypes:
    - GF_M2TS_CHANNEL_APPLICATION_INFO*
    constantsTouched: []
    func_position:
      end: 804
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 804
    functionName: gf_m2ts_delete_channel_application_info
    functionSourceFile: /src/gpac/src/media_tools/ait.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_m2ts_free_ait_application
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_delete_channel_application_info(GF_M2TS_CHANNEL_APPLICATION_INFO*
      ChannelApp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:81,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - service_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: gf_m2ts_init_dsmcc_overlord
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_DSMCC_OVERLORD * gf_m2ts_init_dsmcc_overlord(u32
      service_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_get_dmscc_overlord
      Src: /src/gpac/src/media_tools/dsmcc.c:115,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:123,1
    - Dst: gf_m2ts_process_dsmcc
      Src: /src/gpac/src/media_tools/dsmcc.c:125,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dsmcc.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: on_dsmcc_section
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_dsmcc
    - gf_assert
    - GF_SAFEALLOC
    - gf_m2ts_get_dmscc_overlord
    linkageType: ''
    returnType: void
    signature: 'void on_dsmcc_section(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:519,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:531,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:508,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:510,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:514,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:499,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:506,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:516,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:520,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:517,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:497,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:504,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:502,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:507,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:509,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:511,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 4
    argNames:
    - CompatibilityDesc
    - data
    - bs
    - data_shift
    argTypes:
    - GF_M2TS_DSMCC_COMPATIBILITY_DESCRIPTOR*
    - char*
    - GF_BitStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 536
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 536
    functionName: gf_m2ts_dsmcc_process_compatibility_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_read_int
    - gf_calloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_process_compatibility_descriptor(GF_M2TS_DSMCC_COMPATIBILITY_DESCRIPTOR
      *CompatibilityDesc, char* data,GF_BitStream *bs,u32* data_shift) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/dsmcc.c:775,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:780,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:776,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:784,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:797,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:802,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:803,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:815,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:779,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:801,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:794,1
    - Dst: dsmcc_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:813,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:821,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:857,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:860,1
    - Dst: dsmcc_free_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:853,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:777,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:792,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:790,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:804,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:833,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:781,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:785,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:795,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:798,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:793,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:861,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 3
    argNames:
    - dsmcc_module
    - data
    - data_size
    argTypes:
    - GF_M2TS_DSMCC_MODULE*
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 864
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 864
    functionName: dsmcc_get_biop_module_info
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_bs_read_data
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_new
    - dsmcc_free_biop_descriptor
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - dsmcc_biop_descriptor
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_get_biop_module_info(GF_M2TS_DSMCC_MODULE* dsmcc_module,char*
      data,u8 data_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1252,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1272,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1261,1
    - Dst: dsmcc_biop_get_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1264,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1253,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1258,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1259,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1263,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1276,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1250,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1273,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1274,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1246,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1255,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1256,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1257,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1271,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1269,1
    - Dst: dsmcc_free_biop_stream_message
      Src: /src/gpac/src/media_tools/dsmcc.c:1281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - bs
    - BIOP_Header
    - ServiceGateway
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_BIOP_HEADER*
    - GF_M2TS_DSMCC_SERVICE_GATEWAY*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1284
    functionName: dsmcc_process_biop_stream_message
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - GF_LOG
    - dsmcc_free_biop_stream_message
    - GF_SAFEALLOC
    - dsmcc_biop_get_context
    - gf_bs_read_data
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_process_biop_stream_message(GF_BitStream* bs,GF_M2TS_DSMCC_BIOP_HEADER*
      BIOP_Header,GF_M2TS_DSMCC_SERVICE_GATEWAY* ServiceGateway) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1324,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1327,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1340,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1348,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1358,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:1365,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1326,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1335,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1338,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1350,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1360,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1337,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1353,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1361,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1317,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:1313,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1328,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1329,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1351,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1341,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - bs
    - list
    - size
    argTypes:
    - GF_BitStream*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 1367
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1367
    functionName: dsmcc_biop_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_position
    - gf_bs_read_int
    - GF_LOG
    - GF_SAFEALLOC
    - gf_calloc
    - gf_bs_read_data
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_biop_descriptor(GF_BitStream* bs,GF_List* list,u32
      size) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1448,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1481,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1533,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1483,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1500,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1516,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1413,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1515,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1486,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1480,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1397,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1406,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1502,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1535,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1498,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:1394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1415,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1538,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1468,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1387,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1418,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1489,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1511,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1439,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1467,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1505,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1457,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1496,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1519,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1472,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1446,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1506,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1393,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1400,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1442,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1444,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1522,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1494,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1399,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1464,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1487,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1456,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1499,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1398,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1401,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1453,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1513,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1529,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1497,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1462,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1536,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1421,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1391,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1451,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1471,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1495,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1459,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1521,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1412,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1426,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1493,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1539,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1443,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 196
    argCount: 2
    argNames:
    - bs
    - IOR
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_IOR*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1545
    functionName: dsmcc_biop_get_ior
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_bs_read_int
    - GF_LOG
    - GF_SAFEALLOC
    - gf_calloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_biop_get_ior(GF_BitStream* bs,GF_M2TS_DSMCC_IOR*
      IOR) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsmcc_free_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:1730,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1733,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1735,1
    - Dst: dsmcc_free_biop_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - BIOP_File
    argTypes:
    - GF_M2TS_DSMCC_BIOP_FILE*
    constantsTouched: []
    func_position:
      end: 1736
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1736
    functionName: dsmcc_free_biop_file
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_free_biop_context
    - gf_free
    - dsmcc_free_biop_descriptor
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_file(GF_M2TS_DSMCC_BIOP_FILE* BIOP_File) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:92,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - Dsmcc_controller
    - service_id
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: gf_m2ts_get_dmscc_overlord
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_DSMCC_OVERLORD * gf_m2ts_get_dmscc_overlord(GF_List*
      Dsmcc_controller,u32 service_id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:146,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:157,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:170,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:187,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:141,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:144,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:167,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:198,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:209,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:154,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:161,1
    - Dst: gf_m2ts_dsmcc_download_data
      Src: /src/gpac/src/media_tools/dsmcc.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:206,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/dsmcc.c:139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:143,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:149,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:151,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:176,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:159,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:193,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:204,1
    - Dst: gf_m2ts_dsmcc_section_delete
      Src: /src/gpac/src/media_tools/dsmcc.c:217,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 5
    argNames:
    - dsmcc_overlord
    - dsmcc
    - data
    - data_size
    - table_id
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_SECTION*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 220
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 220
    functionName: gf_m2ts_process_dsmcc
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_m2ts_dsmcc_section_delete
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_new
    - gf_m2ts_dsmcc_download_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_process_dsmcc(GF_M2TS_DSMCC_OVERLORD* dsmcc_overlord,GF_M2TS_DSMCC_SECTION
      *dsmcc, char *data, u32 data_size, u32 table_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:545,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:548,1
    - Dst: dsmcc_module_delete
      Src: /src/gpac/src/media_tools/dsmcc.c:549,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - InfoModules
    - downloadId
    - dsmcc_overlord
    - nb_module
    argTypes:
    - GF_M2TS_DSMCC_INFO_MODULES*
    - u32
    - GF_M2TS_DSMCC_OVERLORD*
    - u32
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: dsmcc_create_module_validation
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - dsmcc_module_delete
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_create_module_validation(GF_M2TS_DSMCC_INFO_MODULES*
      InfoModules, u32 downloadId, GF_M2TS_DSMCC_OVERLORD* dsmcc_overlord,u32 nb_module) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:897,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/dsmcc.c:877,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:879,1
    - Dst: dsmcc_process_biop_file
      Src: /src/gpac/src/media_tools/dsmcc.c:887,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:888,1
    - Dst: dsmcc_process_biop_directory
      Src: /src/gpac/src/media_tools/dsmcc.c:891,1
    - Dst: dsmcc_free_biop_header
      Src: /src/gpac/src/media_tools/dsmcc.c:910,1
    - Dst: dsmcc_process_biop_stream_message
      Src: /src/gpac/src/media_tools/dsmcc.c:896,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:886,1
    - Dst: dsmcc_process_biop_header
      Src: /src/gpac/src/media_tools/dsmcc.c:883,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:895,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:903,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:900,1
    - Dst: dsmcc_process_biop_directory
      Src: /src/gpac/src/media_tools/dsmcc.c:889,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:890,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:906,1
    - Dst: dsmcc_process_biop_stream_event
      Src: /src/gpac/src/media_tools/dsmcc.c:898,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 4
    argNames:
    - dsmcc_overlord
    - dsmcc_module
    - data
    - data_size
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_MODULE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 920
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 920
    functionName: dsmcc_process_biop_data
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_process_biop_file
    - gf_bs_get_position
    - dsmcc_process_biop_stream_event
    - strcmp
    - gf_bs_new
    - GF_LOG
    - gf_bs_read_int
    - dsmcc_free_biop_header
    - dsmcc_process_biop_header
    - dsmcc_process_biop_directory
    - dsmcc_process_biop_stream_message
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_process_biop_data(GF_M2TS_DSMCC_OVERLORD* dsmcc_overlord,GF_M2TS_DSMCC_MODULE*
      dsmcc_module,char* data,u32 data_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1374,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1375,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1377,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - Context
    - serviceContextList_count
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_SERVICE_CONTEXT*
    - u32
    constantsTouched: []
    func_position:
      end: 1381
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1381
    functionName: dsmcc_biop_get_context
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_calloc
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_biop_get_context(GF_BitStream* bs,GF_M2TS_DSMCC_SERVICE_CONTEXT*
      Context,u32 serviceContextList_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1551,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1555,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1556,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - List
    - Parent_name
    - Name
    argTypes:
    - GF_List*
    - char*
    - GF_M2TS_DSMCC_BIOP_NAME
    constantsTouched: []
    func_position:
      end: 1564
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1564
    functionName: dsmcc_check_element_validation
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_check_element_validation(GF_List* List,char* Parent_name,GF_M2TS_DSMCC_BIOP_NAME
      Name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1743,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1760,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1756,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1753,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1747,1
    - Dst: dsmcc_free_biop_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1763,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - BIOP_StreamEvent
    argTypes:
    - GF_M2TS_DSMCC_BIOP_STREAM_EVENT*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1768
    functionName: dsmcc_free_biop_stream_event
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_free_biop_context
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_stream_event(GF_M2TS_DSMCC_BIOP_STREAM_EVENT*
      BIOP_StreamEvent) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1792,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1807,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1795,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1803,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1805,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1809,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1821,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1824,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1827,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1830,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1845,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1839,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:1844,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1843,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1847,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - IOR
    argTypes:
    - GF_M2TS_DSMCC_IOR*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1848
    functionName: dsmcc_free_biop_ior
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_ior(GF_M2TS_DSMCC_IOR* IOR) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1901,1
    - Dst: dsmcc_free_biop_ior
      Src: /src/gpac/src/media_tools/dsmcc.c:1907,1
    - Dst: dsmcc_free_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:1908,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - Name
    - nb_name
    argTypes:
    - GF_M2TS_DSMCC_BIOP_NAME*
    - u32
    constantsTouched: []
    func_position:
      end: 1910
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1910
    functionName: dsmcc_free_biop_name
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_free_biop_descriptor
    - dsmcc_free_biop_ior
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_name(GF_M2TS_DSMCC_BIOP_NAME* Name, u32
      nb_name) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_dsmcc_process_compatibility_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:264,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:387,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:336,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:364,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:284,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:406,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:422,1
    - Dst: gf_m2ts_dsmcc_process_compatibility_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:386,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:258,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:296,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:335,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:403,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:240,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:257,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:273,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:275,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:411,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:225,1
    - Dst: dsmcc_download_data_validation
      Src: /src/gpac/src/media_tools/dsmcc.c:327,1
    - Dst: dsmcc_module_complete
      Src: /src/gpac/src/media_tools/dsmcc.c:342,1
    - Dst: dsmcc_biop_get_context
      Src: /src/gpac/src/media_tools/dsmcc.c:415,1
    - Dst: dsmcc_biop_get_ior
      Src: /src/gpac/src/media_tools/dsmcc.c:396,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:245,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:398,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:366,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:356,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:260,1
    - Dst: dsmcc_get_biop_module_info
      Src: /src/gpac/src/media_tools/dsmcc.c:282,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:291,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:438,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:355,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:402,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:259,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:274,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:294,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:429,1
    - Dst: gf_m2ts_dsmcc_process_compatibility_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:242,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:322,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:368,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:405,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:414,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:423,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:424,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:373,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:261,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:285,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:367,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:357,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:410,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:428,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:370,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:236,1
    - Dst: gf_m2ts_dsmcc_process_message_header
      Src: /src/gpac/src/media_tools/dsmcc.c:228,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:399,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:419,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:325,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dsmcc.c:337,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:369,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:393,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:407,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:244,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:271,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:385,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:265,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:276,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:295,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:331,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:319,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:413,1
    - Dst: dsmcc_create_module_validation
      Src: /src/gpac/src/media_tools/dsmcc.c:277,1
    - Dst: dsmcc_create_module
      Src: /src/gpac/src/media_tools/dsmcc.c:279,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:353,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:314,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:383,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:269,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:272,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:334,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:409,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 215
    argCount: 5
    argNames:
    - dsmcc_overlord
    - dsmcc
    - data
    - bs
    - data_shift
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_SECTION*
    - char*
    - GF_BitStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 446
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 446
    functionName: gf_m2ts_dsmcc_download_data
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_download_data_validation
    - dsmcc_create_module
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_count
    - dsmcc_create_module_validation
    - dsmcc_get_biop_module_info
    - dsmcc_biop_get_context
    - gf_bs_read_data
    - gf_list_new
    - dsmcc_biop_get_ior
    - gf_list_get
    - gf_m2ts_dsmcc_process_compatibility_descriptor
    - gf_bs_get_position
    - gf_bs_read_int
    - memcpy
    - gf_free
    - dsmcc_module_complete
    - gf_m2ts_dsmcc_process_message_header
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_download_data(GF_M2TS_DSMCC_OVERLORD *dsmcc_overlord,GF_M2TS_DSMCC_SECTION
      *dsmcc, char *data, GF_BitStream *bs,u32* data_shift) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:692,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:705,1
    - Dst: gf_m2ts_dsmcc_delete_compatibility_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:702,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:707,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:694,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:714,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:716,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:722,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:729,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:731,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:739,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:754,1
    - Dst: gf_m2ts_dsmcc_delete_message_header
      Src: /src/gpac/src/media_tools/dsmcc.c:752,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:741,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:753,1
    - Dst: gf_m2ts_dsmcc_delete_compatibility_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:746,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 1
    argNames:
    - dsmcc
    argTypes:
    - GF_M2TS_DSMCC_SECTION*
    constantsTouched: []
    func_position:
      end: 756
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 756
    functionName: gf_m2ts_dsmcc_section_delete
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_m2ts_dsmcc_delete_message_header
    - gf_m2ts_dsmcc_delete_compatibility_descriptor
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_section_delete(GF_M2TS_DSMCC_SECTION *dsmcc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:925,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:929,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:932,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:927,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:934,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:935,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:936,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:937,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:939,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:944,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:943,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:946,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 949
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 949
    functionName: dsmcc_process_biop_header
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int
    - GF_SAFEALLOC
    - gf_calloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_M2TS_DSMCC_BIOP_HEADER*
    signature: 'static GF_M2TS_DSMCC_BIOP_HEADER * dsmcc_process_biop_header(GF_BitStream*
      bs) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1045,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1060,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1077,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1090,1
    - Dst: dsmcc_biop_get_ior
      Src: /src/gpac/src/media_tools/dsmcc.c:1092,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1094,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1137,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dsmcc.c:1139,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/media_tools/dsmcc.c:1146,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1152,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1156,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1138,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1163,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1062,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1067,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1074,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1080,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1099,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1100,1
    - Dst: dsmcc_check_element_validation
      Src: /src/gpac/src/media_tools/dsmcc.c:1135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1155,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dsmcc.c:1157,1
    - Dst: dsmcc_get_file_namepath
      Src: /src/gpac/src/media_tools/dsmcc.c:1162,1
    - Dst: dsmcc_free_biop_directory
      Src: /src/gpac/src/media_tools/dsmcc.c:1167,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:1140,1
    - Dst: dsmcc_get_directory
      Src: /src/gpac/src/media_tools/dsmcc.c:1057,1
    - Dst: dsmcc_biop_get_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1063,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1066,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1082,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1087,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1098,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1113,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1127,1
    - Dst: dsmcc_get_file_namepath
      Src: /src/gpac/src/media_tools/dsmcc.c:1145,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1134,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1150,1
    - Dst: dsmcc_check_element_validation
      Src: /src/gpac/src/media_tools/dsmcc.c:1153,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1037,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dsmcc.c:1054,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1065,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1086,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1075,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1078,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dsmcc.c:1107,1
    - Dst: dsmcc_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:1108,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1111,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1148,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 125
    argCount: 4
    argNames:
    - bs
    - BIOP_Header
    - dsmcc_overlord
    - IsServiceGateway
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_BIOP_HEADER*
    - GF_M2TS_DSMCC_OVERLORD*
    - Bool
    constantsTouched: []
    func_position:
      end: 1170
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1170
    functionName: dsmcc_process_biop_directory
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - dsmcc_check_element_validation
    - GF_SAFEALLOC
    - dsmcc_get_directory
    - dsmcc_free_biop_directory
    - gf_strdup
    - gf_list_count
    - strcmp
    - dsmcc_biop_get_context
    - gf_list_new
    - gf_bs_read_data
    - dsmcc_biop_descriptor
    - dsmcc_biop_get_ior
    - gf_list_get
    - gf_mkdir
    - gf_bs_read_int
    - dsmcc_get_file_namepath
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_process_biop_directory(GF_BitStream* bs,GF_M2TS_DSMCC_BIOP_HEADER*
      BIOP_Header,GF_M2TS_DSMCC_OVERLORD*dsmcc_overlord,Bool IsServiceGateway) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1569,1
    - Dst: dsmcc_get_directory
      Src: /src/gpac/src/media_tools/dsmcc.c:1578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - List
    - objectKey_data
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 1585
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1585
    functionName: dsmcc_get_directory
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - dsmcc_get_directory
    linkageType: ''
    returnType: GF_M2TS_DSMCC_DIR*
    signature: 'static GF_M2TS_DSMCC_DIR * dsmcc_get_directory(GF_List* List, u32
      objectKey_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:463,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:472,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:480,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:481,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:476,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:462,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:483,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:457,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:459,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:470,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:477,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dsmcc.c:488,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:475,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:484,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - MessageHeader
    - data
    - bs
    - data_shift
    - mode
    argTypes:
    - GF_M2TS_DSMCC_MESSAGE_DATA_HEADER*
    - char*
    - GF_BitStream*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 491
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 491
    functionName: gf_m2ts_dsmcc_process_message_header
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_read_int
    - gf_calloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_process_message_header(GF_M2TS_DSMCC_MESSAGE_DATA_HEADER
      *MessageHeader, char* data,GF_BitStream *bs,u32* data_shift,u32 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dsmcc_module
    argTypes:
    - GF_M2TS_DSMCC_MODULE*
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: dsmcc_module_delete
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_module_delete(GF_M2TS_DSMCC_MODULE* dsmcc_module) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:971,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:979,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:988,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/dsmcc.c:1014,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dsmcc.c:1017,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:958,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:963,1
    - Dst: dsmcc_biop_descriptor
      Src: /src/gpac/src/media_tools/dsmcc.c:968,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:995,1
    - Dst: dsmcc_biop_get_context
      Src: /src/gpac/src/media_tools/dsmcc.c:998,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1003,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1001,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1004,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dsmcc.c:1012,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/dsmcc.c:1015,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:997,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1000,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1016,1
    - Dst: dsmcc_get_file
      Src: /src/gpac/src/media_tools/dsmcc.c:1008,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1011,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1007,1
    - Dst: dsmcc_free_biop_file
      Src: /src/gpac/src/media_tools/dsmcc.c:1025,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - bs
    - BIOP_Header
    - dsmcc_overlord
    - moduleId
    - downloadId
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_BIOP_HEADER*
    - GF_M2TS_DSMCC_OVERLORD*
    - u16
    - u32
    constantsTouched: []
    func_position:
      end: 1028
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1028
    functionName: dsmcc_process_biop_file
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_read_int
    - GF_LOG
    - dsmcc_biop_get_context
    - strcmp
    - gf_fwrite
    - gf_fopen
    - GF_SAFEALLOC
    - gf_calloc
    - gf_fclose
    - gf_bs_read_data
    - dsmcc_biop_descriptor
    - dsmcc_get_file
    - dsmcc_free_biop_file
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_process_biop_file(GF_BitStream* bs,GF_M2TS_DSMCC_BIOP_HEADER*
      BIOP_Header,GF_M2TS_DSMCC_OVERLORD*dsmcc_overlord,u16 moduleId,u32 downloadId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1185,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1219,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1182,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1196,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1194,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/dsmcc.c:1201,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1214,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1225,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1230,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1232,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1187,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1189,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1190,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1191,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1200,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1206,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1198,1
    - Dst: dsmcc_biop_get_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1209,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1213,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1218,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1178,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1184,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1208,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1212,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/dsmcc.c:1216,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1221,1
    - Dst: dsmcc_free_biop_stream_event
      Src: /src/gpac/src/media_tools/dsmcc.c:1236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:1227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 3
    argNames:
    - bs
    - BIOP_Header
    - ServiceGateway
    argTypes:
    - GF_BitStream*
    - GF_M2TS_DSMCC_BIOP_HEADER*
    - GF_M2TS_DSMCC_SERVICE_GATEWAY*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1239
    functionName: dsmcc_process_biop_stream_event
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - GF_LOG
    - dsmcc_free_biop_stream_event
    - GF_SAFEALLOC
    - dsmcc_biop_get_context
    - gf_bs_read_data
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_process_biop_stream_event(GF_BitStream* bs,GF_M2TS_DSMCC_BIOP_HEADER*
      BIOP_Header,GF_M2TS_DSMCC_SERVICE_GATEWAY* ServiceGateway) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1589,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ServiceGateway_List
    - moduleId
    - downloadId
    - objectKey_data
    argTypes:
    - GF_List*
    - u16
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1597
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1597
    functionName: dsmcc_get_file
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_M2TS_DSMCC_FILE*
    signature: 'static GF_M2TS_DSMCC_FILE * dsmcc_get_file(GF_List* ServiceGateway_List,
      u16 moduleId,u32 downloadId,u32 objectKey_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1917,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - Context
    - serviceContextList_count
    argTypes:
    - GF_M2TS_DSMCC_SERVICE_CONTEXT*
    - u32
    constantsTouched: []
    func_position:
      end: 1921
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1921
    functionName: dsmcc_free_biop_context
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_context(GF_M2TS_DSMCC_SERVICE_CONTEXT*
      Context,u32 serviceContextList_count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1852,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:1861,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1860,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1854,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1867,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:1868,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1869,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1875,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:1876,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1880,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1891,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1878,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1892
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1892
    functionName: dsmcc_free_biop_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_descriptor(GF_List* list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:657,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:663,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:660,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - CompatibilityDesc
    argTypes:
    - GF_M2TS_DSMCC_COMPATIBILITY_DESCRIPTOR*
    constantsTouched: []
    func_position:
      end: 667
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 667
    functionName: gf_m2ts_dsmcc_delete_compatibility_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_delete_compatibility_descriptor(GF_M2TS_DSMCC_COMPATIBILITY_DESCRIPTOR
      *CompatibilityDesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1622,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - GF_M2TS_DSMCC_MODULE*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1626
    functionName: dsmcc_delete_module
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_delete_module(GF_M2TS_DSMCC_MODULE* module) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1631,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - File
    argTypes:
    - GF_M2TS_DSMCC_FILE*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1636
    functionName: dmscc_delete_file
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dmscc_delete_file(GF_M2TS_DSMCC_FILE* File) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:672,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - MessageHeader
    argTypes:
    - GF_M2TS_DSMCC_MESSAGE_DATA_HEADER*
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: gf_m2ts_dsmcc_delete_message_header
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_dsmcc_delete_message_header(GF_M2TS_DSMCC_MESSAGE_DATA_HEADER
      *MessageHeader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1651,1
    - Dst: dmscc_delete_file
      Src: /src/gpac/src/media_tools/dsmcc.c:1652,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1646,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1649,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1656,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1658,1
    - Dst: dmscc_delete_dir
      Src: /src/gpac/src/media_tools/dsmcc.c:1659,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1661,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - Dir
    argTypes:
    - GF_M2TS_DSMCC_DIR*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1663
    functionName: dmscc_delete_dir
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - dmscc_delete_file
    - gf_free
    - dmscc_delete_dir
    linkageType: ''
    returnType: void
    signature: 'static void dmscc_delete_dir(GF_M2TS_DSMCC_DIR* Dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1603,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dsmcc.c:1609,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1610,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dsmcc.c:1604,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dsmcc.c:1607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - Dir
    - name
    argTypes:
    - GF_M2TS_DSMCC_DIR*
    - char*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1614
    functionName: dsmcc_get_file_namepath
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - sprintf
    - gf_free
    - gf_calloc
    linkageType: ''
    returnType: char*
    signature: 'static char * dsmcc_get_file_namepath(GF_M2TS_DSMCC_DIR* Dir,char*
      name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1773,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1781,1
    - Dst: dsmcc_free_biop_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1784,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - BIOP_StreamMessage
    argTypes:
    - GF_M2TS_DSMCC_BIOP_STREAM_MESSAGE*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1785
    functionName: dsmcc_free_biop_stream_message
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_free_biop_context
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_stream_message(GF_M2TS_DSMCC_BIOP_STREAM_MESSAGE*
      BIOP_StreamMessage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - dsmcc_overlord
    - DownloadDataBlock
    - dsmcc_module
    - downloadId
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_DOWNLOAD_DATA_BLOCK*
    - GF_M2TS_DSMCC_MODULE*
    - u32
    constantsTouched: []
    func_position:
      end: 596
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 596
    functionName: dsmcc_download_data_validation
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_download_data_validation(GF_M2TS_DSMCC_OVERLORD*
      dsmcc_overlord,GF_M2TS_DSMCC_DOWNLOAD_DATA_BLOCK* DownloadDataBlock,GF_M2TS_DSMCC_MODULE*
      dsmcc_module,u32 downloadId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1670,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1672,1
    - Dst: dmscc_delete_file
      Src: /src/gpac/src/media_tools/dsmcc.c:1675,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1674,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1681,1
    - Dst: dmscc_delete_dir
      Src: /src/gpac/src/media_tools/dsmcc.c:1682,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1684,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - Servicegateway
    argTypes:
    - GF_M2TS_DSMCC_SERVICE_GATEWAY*
    constantsTouched: []
    func_position:
      end: 1686
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1686
    functionName: dmscc_delete_servicegateway
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - dmscc_delete_file
    - gf_free
    - dmscc_delete_dir
    linkageType: ''
    returnType: void
    signature: 'static void dmscc_delete_servicegateway(GF_M2TS_DSMCC_SERVICE_GATEWAY*
      Servicegateway) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1716,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - BIOP_Header
    argTypes:
    - GF_M2TS_DSMCC_BIOP_HEADER*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1718
    functionName: dsmcc_free_biop_header
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_header(GF_M2TS_DSMCC_BIOP_HEADER* BIOP_Header) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:603,1
    - Dst: dsmcc_process_biop_data
      Src: /src/gpac/src/media_tools/dsmcc.c:616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:618,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:619,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/media_tools/dsmcc.c:612,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:621,1
    - Dst: dsmcc_process_biop_data
      Src: /src/gpac/src/media_tools/dsmcc.c:626,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dsmcc.c:629,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:630,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:632,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dsmcc.c:638,1
    - Dst: dsmcc_module_delete
      Src: /src/gpac/src/media_tools/dsmcc.c:637,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - dsmcc_overlord
    - dsmcc_module
    - moduleIndex
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_MODULE*
    - u32
    constantsTouched: []
    func_position:
      end: 644
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 644
    functionName: dsmcc_module_complete
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_gz_decompress_payload_ex
    - GF_LOG
    - gf_list_rem
    - dsmcc_module_delete
    - gf_free
    - dsmcc_process_biop_data
    - gf_calloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dsmcc_module_complete(GF_M2TS_DSMCC_OVERLORD* dsmcc_overlord,GF_M2TS_DSMCC_MODULE*
      dsmcc_module,u32 moduleIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1692,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1697,1
    - Dst: dsmcc_delete_module
      Src: /src/gpac/src/media_tools/dsmcc.c:1695,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1699,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1694,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dsmcc.c:1701,1
    - Dst: dsmcc_delete_module
      Src: /src/gpac/src/media_tools/dsmcc.c:1702,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dsmcc.c:1704,1
    - Dst: dmscc_delete_servicegateway
      Src: /src/gpac/src/media_tools/dsmcc.c:1705,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1708,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1711,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - dsmcc_overlord
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    constantsTouched: []
    func_position:
      end: 1712
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1712
    functionName: gf_m2ts_delete_dsmcc_overlord
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - dmscc_delete_servicegateway
    - gf_list_del
    - gf_list_count
    - dsmcc_delete_module
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_delete_dsmcc_overlord(GF_M2TS_DSMCC_OVERLORD* dsmcc_overlord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1722,1
    - Dst: dsmcc_free_biop_context
      Src: /src/gpac/src/media_tools/dsmcc.c:1723,1
    - Dst: dsmcc_free_biop_name
      Src: /src/gpac/src/media_tools/dsmcc.c:1724,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dsmcc.c:1725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - BIOP_Directory
    argTypes:
    - GF_M2TS_DSMCC_BIOP_DIRECTORY*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1726
    functionName: dsmcc_free_biop_directory
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - dsmcc_free_biop_name
    - dsmcc_free_biop_context
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dsmcc_free_biop_directory(GF_M2TS_DSMCC_BIOP_DIRECTORY*
      BIOP_Directory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dsmcc.c:1293,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dsmcc.c:1300,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/dsmcc.c:1299,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dsmcc.c:1304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dsmcc_overlord
    - DownloadInfoIndication
    argTypes:
    - GF_M2TS_DSMCC_OVERLORD*
    - GF_M2TS_DSMCC_DOWNLOAD_INFO_RESP_INDIC*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1307
    functionName: dsmcc_create_module
    functionSourceFile: /src/gpac/src/media_tools/dsmcc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - GF_SAFEALLOC
    - gf_calloc
    linkageType: ''
    returnType: GF_M2TS_DSMCC_MODULE*
    signature: 'static GF_M2TS_DSMCC_MODULE * dsmcc_create_module(GF_M2TS_DSMCC_OVERLORD*
      dsmcc_overlord, GF_M2TS_DSMCC_DOWNLOAD_INFO_RESP_INDIC* DownloadInfoIndication) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/img.c:58,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/img.c:59,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:75,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/img.c:78,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/img.c:123,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:132,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:134,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/img.c:167,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:171,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/img.c:181,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/img.c:189,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:203,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/img.c:202,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/img.c:182,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:145,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/img.c:77,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/img.c:103,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:84,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:137,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:138,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:144,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/img.c:160,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:155,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:162,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:163,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:204,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:68,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:69,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:70,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/img.c:76,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:87,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/img.c:107,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/img.c:85,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/img.c:119,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/img.c:120,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/img.c:122,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:135,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/img.c:124,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:135,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/img.c:213,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:172,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/img.c:82,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/img.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/img.c:106,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:104,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/img.c:118,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/img.c:121,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:130,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:130,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:131,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:131,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/img.c:201,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/img.c:197,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/img.c:180,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/img.c:196,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:130,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/img.c:134,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 162
    argCount: 6
    argNames:
    - bs
    - codecid
    - width
    - height
    - dsi
    - dsi_len
    argTypes:
    - GF_BitStream*
    - u32*
    - u32*
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 214
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 214
    functionName: gf_img_parse
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u16
    - gf_bs_get_content
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_seek
    - gf_bs_new
    - gf_bs_available
    - gf_bs_write_u8
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_img_parse(GF_BitStream *bs, u32 *codecid, u32 *width,
      u32 *height, u8 **dsi, u32 *dsi_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/img.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: gf_jpeg_output_message
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_jpeg_output_message (j_common_ptr cinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: gf_jpeg_fill_input_buffer
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: 'static boolean gf_jpeg_fill_input_buffer(j_decompress_ptr cinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cinfo
    - num_bytes
    argTypes:
    - j_decompress_ptr
    - long
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: gf_jpeg_skip_input_data
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/gpac/src/media_tools/img.c:449,1
    - Dst: png_jmpbuf
      Src: /src/gpac/src/media_tools/img.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: gf_png_user_error_fn
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - longjmp
    - png_jmpbuf
    linkageType: ''
    returnType: void
    signature: 'static void gf_png_user_error_fn(png_structp png_ptr,png_const_charp
      error_msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/gpac/src/media_tools/img.c:561,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/img.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - png
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: gf_png_write
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - png_get_io_ptr
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void gf_png_write(png_structp png, png_bytep data, png_size_t size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: png_jmpbuf
      Src: /src/gpac/src/media_tools/img.c:629,1
    - Dst: png_destroy_write_struct
      Src: /src/gpac/src/media_tools/img.c:630,1
    - Dst: png_set_sBIT
      Src: /src/gpac/src/media_tools/img.c:646,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/media_tools/img.c:679,1
    - Dst: png_destroy_write_struct
      Src: /src/gpac/src/media_tools/img.c:622,1
    - Dst: png_create_info_struct
      Src: /src/gpac/src/media_tools/img.c:620,1
    - Dst: png_set_IHDR
      Src: /src/gpac/src/media_tools/img.c:638,1
    - Dst: png_set_text
      Src: /src/gpac/src/media_tools/img.c:664,1
    - Dst: png_set_packing
      Src: /src/gpac/src/media_tools/img.c:675,1
    - Dst: png_write_info
      Src: /src/gpac/src/media_tools/img.c:667,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/media_tools/img.c:690,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/img.c:693,1
    - Dst: png_destroy_write_struct
      Src: /src/gpac/src/media_tools/img.c:701,1
    - Dst: png_create_write_struct
      Src: /src/gpac/src/media_tools/img.c:608,1
    - Dst: setjmp
      Src: /src/gpac/src/media_tools/img.c:629,1
    - Dst: png_set_shift
      Src: /src/gpac/src/media_tools/img.c:672,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/media_tools/img.c:684,1
    - Dst: png_write_end
      Src: /src/gpac/src/media_tools/img.c:698,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/img.c:699,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/img.c:614,1
    - Dst: gf_png_flush
      Src: /src/gpac/src/media_tools/img.c:615,1
    - Dst: png_set_write_fn
      Src: /src/gpac/src/media_tools/img.c:636,1
    - Dst: png_set_filler
      Src: /src/gpac/src/media_tools/img.c:687,1
    - Dst: png_set_filler
      Src: /src/gpac/src/media_tools/img.c:683,1
    - Dst: png_write_image
      Src: /src/gpac/src/media_tools/img.c:697,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 7
    argNames:
    - data
    - width
    - height
    - stride
    - pixel_format
    - dst
    - dst_size
    argTypes:
    - u8*
    - u32
    - u32
    - s32
    - u32
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 705
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 705
    functionName: gf_img_png_enc
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - png_create_write_struct
    - setjmp
    - png_write_image
    - png_create_info_struct
    - png_jmpbuf
    - png_set_write_fn
    - png_set_bgr
    - png_set_shift
    - png_destroy_write_struct
    - png_write_info
    - png_set_sBIT
    - gf_free
    - png_set_IHDR
    - gf_sys_is_cov_mode
    - png_set_filler
    - gf_png_flush
    - png_write_end
    - png_set_text
    - png_set_packing
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_png_enc(u8 *data, u32 width, u32 height, s32
      stride, u32 pixel_format, u8 *dst, u32 *dst_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 7
    argNames:
    - png
    - png_size
    - width
    - height
    - pixel_format
    - dst
    - dst_size
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: gf_img_png_dec
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_png_dec(u8 *png, u32 png_size, u32 *width,
      u32 *height, u32 *pixel_format, u8 *dst, u32 *dst_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_jpeg_output_message
      Src: /src/gpac/src/media_tools/img.c:253,1
    - Dst: longjmp
      Src: /src/gpac/src/media_tools/img.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: gf_jpeg_fatal_error
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - longjmp
    - gf_jpeg_output_message
    linkageType: ''
    returnType: void
    signature: 'static void gf_jpeg_fatal_error(j_common_ptr cinfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_jpeg_fill_input_buffer
      Src: /src/gpac/src/media_tools/img.c:299,1
    - Dst: gf_jpeg_skip_input_data
      Src: /src/gpac/src/media_tools/img.c:300,1
    - Dst: setjmp
      Src: /src/gpac/src/media_tools/img.c:309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/img.c:310,1
    - Dst: jpeg_read_header
      Src: /src/gpac/src/media_tools/img.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/img.c:371,1
    - Dst: jpeg_read_scanlines
      Src: /src/gpac/src/media_tools/img.c:382,1
    - Dst: gf_jpeg_nonfatal_error2
      Src: /src/gpac/src/media_tools/img.c:298,1
    - Dst: gf_jpeg_fatal_error
      Src: /src/gpac/src/media_tools/img.c:296,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:351,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:356,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:408,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/img.c:410,1
    - Dst: gf_jpeg_output_message
      Src: /src/gpac/src/media_tools/img.c:297,1
    - Dst: jpeg_std_error
      Src: /src/gpac/src/media_tools/img.c:305,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:335,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:366,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:370,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/img.c:389,1
    - Dst: jpeg_finish_decompress
      Src: /src/gpac/src/media_tools/img.c:407,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/img.c:295,1
    - Dst: jpeg_destroy_decompress
      Src: /src/gpac/src/media_tools/img.c:311,1
    - Dst: jpeg_create_decompress
      Src: /src/gpac/src/media_tools/img.c:316,1
    - Dst: jpeg_start_decompress
      Src: /src/gpac/src/media_tools/img.c:365,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/img.c:376,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 114
    argCount: 8
    argNames:
    - jpg
    - jpg_size
    - width
    - height
    - pixel_format
    - dst
    - dst_size
    - dst_nb_comp
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - u8*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 413
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 413
    functionName: gf_img_jpeg_dec
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_jpeg_skip_input_data
    - gf_sys_is_cov_mode
    - jpeg_start_decompress
    - jpeg_read_scanlines
    - jpeg_std_error
    - GF_LOG
    - gf_jpeg_nonfatal_error2
    - gf_jpeg_output_message
    - jpeg_read_header
    - jpeg_destroy_decompress
    - memcpy
    - gf_jpeg_fatal_error
    - jpeg_finish_decompress
    - setjmp
    - jpeg_create_decompress
    - gf_jpeg_fill_input_buffer
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_jpeg_dec(u8 *jpg, u32 jpg_size, u32 *width,
      u32 *height, u32 *pixel_format, u8 *dst, u32 *dst_size, u32 dst_nb_comp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 8
    argNames:
    - jpg
    - jpg_size
    - width
    - height
    - pixel_format
    - dst
    - dst_size
    - dst_nb_comp
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - u8*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: gf_img_jpeg_dec
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_jpeg_dec(u8 *jpg, u32 jpg_size, u32 *width,
      u32 *height, u32 *pixel_format, u8 *dst, u32 *dst_size, u32 dst_nb_comp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/gpac/src/media_tools/img.c:437,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/img.c:442,1
    - Dst: png_error
      Src: /src/gpac/src/media_tools/img.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 445
    functionName: gf_png_user_read_data
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - png_get_io_ptr
    - png_error
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void gf_png_user_read_data(png_structp png_ptr, png_bytep data,
      png_size_t length) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/img.c:466,1
    - Dst: setjmp
      Src: /src/gpac/src/media_tools/img.c:487,1
    - Dst: png_read_update_info
      Src: /src/gpac/src/media_tools/img.c:507,1
    - Dst: png_get_color_type
      Src: /src/gpac/src/media_tools/img.c:512,1
    - Dst: png_destroy_info_struct
      Src: /src/gpac/src/media_tools/img.c:536,1
    - Dst: png_get_image_height
      Src: /src/gpac/src/media_tools/img.c:546,1
    - Dst: png_read_end
      Src: /src/gpac/src/media_tools/img.c:550,1
    - Dst: png_destroy_read_struct
      Src: /src/gpac/src/media_tools/img.c:554,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/img.c:551,1
    - Dst: png_create_read_struct
      Src: /src/gpac/src/media_tools/img.c:480,1
    - Dst: png_set_error_fn
      Src: /src/gpac/src/media_tools/img.c:494,1
    - Dst: png_destroy_info_struct
      Src: /src/gpac/src/media_tools/img.c:526,1
    - Dst: png_get_rowbytes
      Src: /src/gpac/src/media_tools/img.c:544,1
    - Dst: png_get_image_height
      Src: /src/gpac/src/media_tools/img.c:545,1
    - Dst: png_destroy_info_struct
      Src: /src/gpac/src/media_tools/img.c:553,1
    - Dst: png_destroy_read_struct
      Src: /src/gpac/src/media_tools/img.c:527,1
    - Dst: gf_png_user_error_fn
      Src: /src/gpac/src/media_tools/img.c:476,1
    - Dst: png_create_info_struct
      Src: /src/gpac/src/media_tools/img.c:482,1
    - Dst: png_jmpbuf
      Src: /src/gpac/src/media_tools/img.c:487,1
    - Dst: png_destroy_info_struct
      Src: /src/gpac/src/media_tools/img.c:488,1
    - Dst: png_set_read_fn
      Src: /src/gpac/src/media_tools/img.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/img.c:490,1
    - Dst: png_get_tRNS
      Src: /src/gpac/src/media_tools/img.c:504,1
    - Dst: png_read_info
      Src: /src/gpac/src/media_tools/img.c:496,1
    - Dst: png_destroy_read_struct
      Src: /src/gpac/src/media_tools/img.c:489,1
    - Dst: png_set_expand
      Src: /src/gpac/src/media_tools/img.c:500,1
    - Dst: png_read_image
      Src: /src/gpac/src/media_tools/img.c:549,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/img.c:545,1
    - Dst: png_get_image_width
      Src: /src/gpac/src/media_tools/img.c:509,1
    - Dst: png_sig_cmp
      Src: /src/gpac/src/media_tools/img.c:465,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/img.c:475,1
    - Dst: png_destroy_read_struct
      Src: /src/gpac/src/media_tools/img.c:484,1
    - Dst: png_read_update_info
      Src: /src/gpac/src/media_tools/img.c:501,1
    - Dst: png_get_color_type
      Src: /src/gpac/src/media_tools/img.c:499,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/gpac/src/media_tools/img.c:506,1
    - Dst: png_get_image_height
      Src: /src/gpac/src/media_tools/img.c:510,1
    - Dst: png_get_image_height
      Src: /src/gpac/src/media_tools/img.c:532,1
    - Dst: png_destroy_read_struct
      Src: /src/gpac/src/media_tools/img.c:537,1
    - Dst: png_get_rowbytes
      Src: /src/gpac/src/media_tools/img.c:532,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 7
    argNames:
    - png
    - png_size
    - width
    - height
    - pixel_format
    - dst
    - dst_size
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 556
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 556
    functionName: gf_img_png_dec
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - png_set_error_fn
    - png_set_tRNS_to_alpha
    - png_sig_cmp
    - setjmp
    - png_get_tRNS
    - png_destroy_info_struct
    - png_create_info_struct
    - png_get_image_height
    - png_read_info
    - png_set_expand
    - gf_png_user_error_fn
    - png_jmpbuf
    - png_read_image
    - png_create_read_struct
    - png_set_read_fn
    - png_destroy_read_struct
    - png_get_rowbytes
    - png_get_image_width
    - gf_free
    - png_get_color_type
    - gf_sys_is_cov_mode
    - png_read_end
    - png_read_update_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_png_dec(u8 *png, u32 png_size, u32 *width,
      u32 *height, u32 *pixel_format, u8 *dst, u32 *dst_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - png
    argTypes:
    - png_structp
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: gf_png_flush
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_png_flush(png_structp png) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - data
    - width
    - height
    - stride
    - pixel_format
    - dst
    - dst_size
    argTypes:
    - u8*
    - u32
    - u32
    - s32
    - u32
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: gf_img_png_enc
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_img_png_enc(u8 *data, u32 width, u32 height, s32
      stride, u32 pixel_format, u8 *dst, u32 *dst_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - cinfo
    - lev
    argTypes:
    - j_common_ptr
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: gf_jpeg_nonfatal_error2
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_jpeg_nonfatal_error2(j_common_ptr cinfo, int lev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: gf_jpeg_stub
    functionSourceFile: /src/gpac/src/media_tools/img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_jpeg_stub(j_decompress_ptr cinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_media.c:36,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_media.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - timescale
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: gf_html_timeranges_new
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_HTML_MediaTimeRanges*
    signature: 'GF_HTML_MediaTimeRanges *gf_html_timeranges_new(u32 timescale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_add_time
      Src: /src/gpac/src/media_tools/html5_media.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - timeranges
    - start
    argTypes:
    - GF_HTML_MediaTimeRanges*
    - u64
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: gf_html_timeranges_add_start
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_html_timeranges_add_time
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_html_timeranges_add_start(GF_HTML_MediaTimeRanges *timeranges,
      u64 start) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:380,1
    - Dst: gf_html_tracklist_del
      Src: /src/gpac/src/media_tools/html5_media.c:384,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:381,1
    - Dst: gf_html_tracklist_del
      Src: /src/gpac/src/media_tools/html5_media.c:383,1
    - Dst: gf_html_tracklist_del
      Src: /src/gpac/src/media_tools/html5_media.c:382,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:385,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:386,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:387,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - me
    argTypes:
    - GF_HTML_MediaElement*
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: gf_html_media_element_del
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_html_timeranges_del
    - gf_html_tracklist_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_html_media_element_del(GF_HTML_MediaElement *me) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/html5_media.c:47,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - timeranges
    - time
    argTypes:
    - GF_HTML_MediaTimeRanges*
    - u64
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: gf_html_timeranges_add_time
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_html_timeranges_add_time(GF_HTML_MediaTimeRanges
      *timeranges, u64 time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_add_time
      Src: /src/gpac/src/media_tools/html5_media.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - timeranges
    - end
    argTypes:
    - GF_HTML_MediaTimeRanges*
    - u64
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: gf_html_timeranges_add_end
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_html_timeranges_add_time
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_html_timeranges_add_end(GF_HTML_MediaTimeRanges *timeranges,
      u64 end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_media.c:394,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:398,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:396,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: gf_html_media_controller_new
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_html_timeranges_new
    linkageType: ''
    returnType: GF_HTML_MediaController*
    signature: 'GF_HTML_MediaController *gf_html_media_controller_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:65,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:68,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:67,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_media.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - GF_HTML_MediaTimeRanges*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: gf_html_timeranges_reset
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_html_timeranges_reset(GF_HTML_MediaTimeRanges *ranges) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:282,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/html5_media.c:285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - tracklist
    - id
    argTypes:
    - GF_HTML_TrackList*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: html_media_tracklist_has_track
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool html_media_tracklist_has_track(GF_HTML_TrackList *tracklist,
      const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:311,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_media.c:315,1
    - Dst: gf_html_track_del
      Src: /src/gpac/src/media_tools/html5_media.c:314,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:313,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_media.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - tlist
    argTypes:
    - GF_HTML_TrackList*
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: gf_html_tracklist_del
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_html_track_del
    - gf_list_count
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void gf_html_tracklist_del(GF_HTML_TrackList *tlist) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:339,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:343,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:341,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:340,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/html5_media.c:346,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:347,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:349,1
    - Dst: gf_mse_packet_del
      Src: /src/gpac/src/media_tools/html5_media.c:350,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/html5_media.c:351,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/html5_media.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:359,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/html5_media.c:357,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/media_tools/html5_media.c:355,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_media.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - track
    argTypes:
    - GF_HTML_Track*
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: gf_html_track_del
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - assert
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - gf_mx_p
    - gf_list_rem
    - gf_free
    - gf_mse_packet_del
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_html_track_del(GF_HTML_Track *track) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_reset
      Src: /src/gpac/src/media_tools/html5_media.c:75,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:78,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_media.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - GF_HTML_MediaTimeRanges*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: gf_html_timeranges_del
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_free
    - gf_html_timeranges_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_html_timeranges_del(GF_HTML_MediaTimeRanges *ranges) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:297,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:300,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/html5_media.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - tracklist
    - id
    argTypes:
    - GF_HTML_TrackList*
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: html_media_tracklist_get_track
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'GF_HTML_Track *html_media_tracklist_get_track(GF_HTML_TrackList *tracklist,
      const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_media.c:324,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/html5_media.c:328,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/html5_media.c:329,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/html5_media.c:327,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/html5_media.c:330,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/html5_media.c:331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 7
    argNames:
    - type
    - mime
    - enable_or_selected
    - id
    - kind
    - label
    - lang
    argTypes:
    - GF_HTML_TrackType
    - char*
    - Bool
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: gf_html_media_track_new
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'GF_HTML_Track *gf_html_media_track_new(GF_HTML_TrackType type, const
      char *mime, Bool enable_or_selected, const char *id, const char *kind, const
      char *label, const char *lang) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/html5_media.c:365,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:372,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_media.c:369,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_media.c:370,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_media.c:371,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:373,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - media_node
    - mc
    argTypes:
    - GF_Node*
    - GF_HTML_MediaController*
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: gf_html_media_element_new
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_html_timeranges_new
    linkageType: ''
    returnType: GF_HTML_MediaElement*
    signature: 'GF_HTML_MediaElement *gf_html_media_element_new(GF_Node *media_node,
      GF_HTML_MediaController *mc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/html5_media.c:84,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:92,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:88,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:86,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:89,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:94,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:96,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:101,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/html5_media.c:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - GF_HTML_MediaTimeRanges*
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: gf_html_timeranges_merge
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void gf_html_timeranges_merge(GF_HTML_MediaTimeRanges *ranges) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:208,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:218,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:211,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:217,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:220,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:221,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:232,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:234,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:247,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:239,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:249,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_HTML_MediaTimeRanges*
    - GF_HTML_MediaTimeRanges*
    constantsTouched: []
    func_position:
      end: 267
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 267
    functionName: gf_html_timeranges_intersection
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_list_get
    - gf_html_timeranges_new
    linkageType: ''
    returnType: GF_HTML_MediaTimeRanges*
    signature: 'GF_HTML_MediaTimeRanges *gf_html_timeranges_intersection(GF_HTML_MediaTimeRanges
      *a, GF_HTML_MediaTimeRanges *b) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:118,1
    - Dst: gf_html_timeranges_new
      Src: /src/gpac/src/media_tools/html5_media.c:112,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:139,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:143,1
    - Dst: gf_html_timeranges_merge
      Src: /src/gpac/src/media_tools/html5_media.c:199,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:138,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:142,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:151,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:153,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:136,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:186,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:194,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 106
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_HTML_MediaTimeRanges*
    - GF_HTML_MediaTimeRanges*
    constantsTouched: []
    func_position:
      end: 201
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 201
    functionName: gf_html_timeranges_union
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_html_timeranges_merge
    - gf_html_timeranges_new
    - gf_list_count
    linkageType: ''
    returnType: GF_HTML_MediaTimeRanges*
    signature: 'GF_HTML_MediaTimeRanges *gf_html_timeranges_union(GF_HTML_MediaTimeRanges
      *a, GF_HTML_MediaTimeRanges *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_html_media_track_new
      Src: /src/gpac/src/media_tools/html5_media.c:274,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/html5_media.c:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 8
    argNames:
    - tracklist
    - type
    - mime
    - enable_or_selected
    - id
    - kind
    - label
    - lang
    argTypes:
    - GF_HTML_TrackList*
    - GF_HTML_TrackType
    - char*
    - Bool
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: html_media_add_new_track_to_list
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_html_media_track_new
    linkageType: ''
    returnType: GF_HTML_Track*
    signature: 'GF_HTML_Track *html_media_add_new_track_to_list(GF_HTML_TrackList
      *tracklist, GF_HTML_TrackType type, const char *mime, Bool enable_or_selected,
      const char *id, const char *kind, const char *label, const char *lang) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/html5_media.c:406,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:412,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:411,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/html5_media.c:408,1
    - Dst: gf_html_timeranges_del
      Src: /src/gpac/src/media_tools/html5_media.c:413,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/html5_media.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - mc
    argTypes:
    - GF_HTML_MediaController*
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: gf_html_mediacontroller_del
    functionSourceFile: /src/gpac/src/media_tools/html5_media.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_html_timeranges_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_html_mediacontroller_del(GF_HTML_MediaController *mc) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_time_diff_us
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2201,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2277,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2295,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2339,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2266,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2357,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2401,1
    - Dst: gf_m2ts_time_diff_us
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2358,1
    - Dst: gf_m2ts_stream_get_pes_header_length
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2079,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2198,1
    - Dst: gf_m2ts_get_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2197,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2222,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2241,1
    - Dst: gf_m2ts_get_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2242,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2265,1
    - Dst: gf_m2ts_add_adaptation
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2273,1
    - Dst: gf_m2ts_stream_add_pes_header
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2288,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2347,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2389,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2302,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2350,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2071,1
    - Dst: gf_m2ts_stream_get_pes_header_length
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2089,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2213,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2217,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2221,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2220,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2223,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2224,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2323,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2373,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2311,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2372,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2318,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2404,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2329,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2387,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2119,1
    - Dst: gf_m2ts_stream_update_data_following
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2088,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2144,1
    - Dst: gf_m2ts_stream_compute_pes_length
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2145,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2150,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2196,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2219,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2304,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2399,1
    - Dst: gf_m2ts_get_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2321,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2260,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 313
    argCount: 2
    argNames:
    - stream
    - packet
    argTypes:
    - GF_M2TS_Mux_Stream*
    - char*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2419
    functionName: gf_m2ts_mux_pes_get_next_packet
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_get_pcr
    - memset
    - GF_LOG
    - gf_bs_seek
    - gf_m2ts_stream_compute_pes_length
    - gf_m2ts_stream_update_data_following
    - gf_m2ts_add_adaptation
    - gf_bs_reassign_buffer
    - gf_m2ts_time_diff_us
    - gf_assert
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_m2ts_time_less
    - gf_m2ts_stream_add_pes_header
    - gf_m2ts_time_inc
    - memcpy
    - gf_free
    - gf_m2ts_stream_get_pes_header_length
    - gf_log_tool_level_on
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_pes_get_next_packet(GF_M2TS_Mux_Stream *stream, char
      *packet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - muxer
    - program_number
    argTypes:
    - GF_M2TS_Mux*
    - u32
    constantsTouched: []
    func_position:
      end: 2960
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2960
    functionName: gf_m2ts_mux_program_find
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_Mux_Program *gf_m2ts_mux_program_find(GF_M2TS_Mux
      *muxer, u32 program_number) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_stream_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - refresh_rate_ms
    argTypes:
    - GF_M2TS_Mux*
    - u32
    constantsTouched: []
    func_position:
      end: 3074
      start: 3064
    functionDepth: 0
    functionLinenumber: 3064
    functionLinenumberEnd: 3074
    functionName: gf_m2ts_mux_enable_sdt
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_stream_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_mux_enable_sdt(GF_M2TS_Mux *mux, u32 refresh_rate_ms) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3307,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3332,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3314,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3313,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - stream
    - muxer
    argTypes:
    - GF_M2TS_Mux_Stream*
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 3346
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3346
    functionName: gf_m2ts_stream_too_early
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_time_less
    - gf_m2ts_time_inc
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_m2ts_stream_too_early(GF_M2TS_Mux_Stream *stream, GF_M2TS_Mux
      *muxer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_mux_stream_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 3166
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3166
    functionName: gf_m2ts_program_stream_remove
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_stream_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_program_stream_remove(GF_M2TS_Mux_Stream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pid
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2434
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2434
    functionName: gf_m2ts_stream_new
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_M2TS_Mux_Stream*
    signature: 'GF_M2TS_Mux_Stream *gf_m2ts_stream_new(u32 pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - muxer
    argTypes:
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 2973
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2973
    functionName: gf_m2ts_mux_program_count
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_mux_program_count(GF_M2TS_Mux *muxer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - muxer
    - pcr_update_ms
    argTypes:
    - GF_M2TS_Mux*
    - u32
    constantsTouched: []
    func_position:
      end: 3081
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3081
    functionName: gf_m2ts_mux_set_pcr_max_interval
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_mux_set_pcr_max_interval(GF_M2TS_Mux *muxer,
      u32 pcr_update_ms) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3379,1
    - Dst: gf_m2ts_mux_table_get_next_packet
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3593,1
    - Dst: gf_m2ts_mux_pes_get_next_packet
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3595,1
    - Dst: gf_m2ts_time_less_or_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3430,1
    - Dst: gf_m2ts_time_less_or_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3458,1
    - Dst: gf_m2ts_mux_process
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3537,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3541,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3624,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3378,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3372,1
    - Dst: gf_m2ts_mux_update_config
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3403,1
    - Dst: gf_m2ts_stream_too_early
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3543,1
    - Dst: gf_m2ts_time_less_or_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3492,1
    - Dst: gf_m2ts_time_less_or_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3447,1
    - Dst: gf_m2ts_time_less
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3562,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3587,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3367,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3386,1
    - Dst: gf_m2ts_time_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3552,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3610,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3619,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3622,1
    - Dst: gf_m2ts_time_less_or_equal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3628,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 233
    argCount: 3
    argNames:
    - muxer
    - status
    - usec_till_next
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TSMuxState*
    - u32*
    constantsTouched: []
    func_position:
      end: 3646
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3646
    functionName: gf_m2ts_mux_process
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_update_config
    - gf_m2ts_time_less_or_equal
    - gf_m2ts_mux_table_get_next_packet
    - gf_m2ts_time_less
    - gf_m2ts_time_inc
    - GF_LOG
    - gf_m2ts_stream_too_early
    - gf_m2ts_mux_process
    - gf_sys_clock_high_res
    - gf_m2ts_time_equal
    - gf_assert
    - gf_m2ts_mux_pes_get_next_packet
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const u8 *gf_m2ts_mux_process(GF_M2TS_Mux *muxer, GF_M2TSMuxState
      *status, u32 *usec_till_next) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - muxer
    - enable_forced_pcr
    argTypes:
    - GF_M2TS_Mux*
    - Bool
    constantsTouched: []
    func_position:
      end: 3284
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3284
    functionName: gf_m2ts_mux_enable_pcr_only_packets
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_mux_enable_pcr_only_packets(GF_M2TS_Mux *muxer,
      Bool enable_forced_pcr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - muxer
    argTypes:
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 3249
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3249
    functionName: gf_m2ts_get_ts_clock
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_get_ts_clock(GF_M2TS_Mux *muxer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - time
    - delta_inc_num
    - delta_inc_den
    argTypes:
    - GF_M2TS_Time*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: gf_m2ts_time_inc
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_m2ts_time_inc(GF_M2TS_Time *time, u64 delta_inc_num,
      u32 delta_inc_den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1260,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1264,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1265,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1268,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1269,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1272,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - bs
    - len
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1274
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1274
    functionName: id3_write_size
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void id3_write_size(GF_BitStream *bs, u32 len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_remap_timestamps_for_pes
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1852,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1858
    functionName: gf_m2ts_stream_update_data_following
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_remap_timestamps_for_pes
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_stream_update_data_following(GF_M2TS_Mux_Stream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1984
    functionName: gf_m2ts_stream_get_pes_header_length
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_stream_get_pes_header_length(GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 4
    argNames:
    - program
    - pid
    - stream_id
    - out_stream
    argTypes:
    - GF_M2TS_Mux_Program*
    - u32
    - u32
    - GF_M2TS_Mux_Stream**
    constantsTouched: []
    func_position:
      end: 2529
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2529
    functionName: gf_m2ts_find_stream
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_m2ts_find_stream(GF_M2TS_Mux_Program *program, u32 pid,
      u32 stream_id, GF_M2TS_Mux_Stream **out_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2580,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2583,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2582,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2584,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2581,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2585,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2586,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2587,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2588,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2589,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2590,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2597,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2595,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - program
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 2598
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2598
    functionName: gf_m2ts_stream_add_metadata_pointer_descriptor
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - GF_SAFEALLOC
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_stream_add_metadata_pointer_descriptor(GF_M2TS_Mux_Program
      *program) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - prog
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 2628
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2628
    functionName: gf_m2ts_mux_program_get_pmt_pid
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_mux_program_get_pmt_pid(GF_M2TS_Mux_Program
      *prog) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_stream_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2884,1
    - Dst: gf_m2ts_program_stream_format_updated
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2912,1
    - Dst: gf_m2ts_stream_set_default_slconfig
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2921,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2889,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2929,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 6
    argNames:
    - program
    - ifce
    - pid
    - is_pcr
    - force_pes
    - needs_mutex
    argTypes:
    - GF_M2TS_Mux_Program*
    - struct __elementary_stream_ifce*
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2936
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2936
    functionName: gf_m2ts_program_stream_add
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - gf_m2ts_stream_set_default_slconfig
    - gf_m2ts_stream_new
    - gf_m2ts_program_stream_format_updated
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_Mux_Stream *gf_m2ts_program_stream_add(GF_M2TS_Mux_Program
      *program, struct __elementary_stream_ifce *ifce, u32 pid, Bool is_pcr, Bool
      force_pes, Bool needs_mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_M2TS_Time*
    - GF_M2TS_Time*
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: gf_m2ts_time_diff_us
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 gf_m2ts_time_diff_us(GF_M2TS_Time *a, GF_M2TS_Time
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1278,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1280,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1279,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1282,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1281,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1283,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1284,1
    - Dst: id3_write_size
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1286,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1288,1
    - Dst: id3_write_size
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1289,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1290,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1293,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1291,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1295,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1292,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1296
    functionName: m2ts_id3_tag_create
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_free
    - id3_write_size
    linkageType: ''
    returnType: void
    signature: 'static void m2ts_id3_tag_create(u8 **input, u32 *len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1863,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 2
    argNames:
    - stream
    - payload_length
    argTypes:
    - GF_M2TS_Mux_Stream*
    - u32
    constantsTouched: []
    func_position:
      end: 1968
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1968
    functionName: gf_m2ts_stream_compute_pes_length
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_m2ts_stream_compute_pes_length(GF_M2TS_Mux_Stream *stream,
      u32 payload_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2024,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2054,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2055,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2060,1
    - Dst: gf_m2ts_get_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2060,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2023,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2027,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2041,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2031,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2030,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2042,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2049,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2020,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2022,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2026,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2029,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2036,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2051,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2052,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2057,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2058,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1992,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1993,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2025,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2039,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2038,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2044,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2033,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2045,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 2
    argNames:
    - bs
    - stream
    argTypes:
    - GF_BitStream*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 2063
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2063
    functionName: gf_m2ts_stream_add_pes_header
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_get_pcr
    - GF_LOG
    - gf_bs_write_long_int
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_m2ts_stream_add_pes_header(GF_BitStream *bs, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2549,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2553,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2563,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2559,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2539,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2547,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2543,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2570,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2572,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2545,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2541,1
    - Dst: gf_m2ts_find_stream
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2553,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2557,1
    - Dst: gf_m2ts_find_stream
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2559,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2565,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2551,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2555,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2569,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2573
    functionName: gf_m2ts_stream_add_hierarchy_descriptor
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_bs_del
    - gf_m2ts_find_stream
    - gf_bs_new
    - GF_SAFEALLOC
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_stream_add_hierarchy_descriptor(GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2605,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2607,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2608,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2609,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2606,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2610,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2611,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2612,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2613,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2614,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2619,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2618,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 2622
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2622
    functionName: gf_m2ts_stream_add_metadata_descriptor
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - GF_SAFEALLOC
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_stream_add_metadata_descriptor(GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - prog
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 2634
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2634
    functionName: gf_m2ts_mux_program_get_pcr_pid
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_mux_program_get_pcr_pid(GF_M2TS_Mux_Program
      *prog) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3012,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3016,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3015,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3013,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - program
    - program_name
    - provider_name
    argTypes:
    - GF_M2TS_Mux_Program*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3019
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3019
    functionName: gf_m2ts_mux_program_set_name
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_mux_program_set_name(GF_M2TS_Mux_Program *program,
      const char *program_name, const char *provider_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_mux_program_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3173,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3180,1
    - Dst: gf_m2ts_mux_stream_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3176,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3178,1
    - Dst: gf_m2ts_mux_stream_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - mux
    argTypes:
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 3181
      start: 3168
    functionDepth: 0
    functionLinenumber: 3168
    functionLinenumberEnd: 3181
    functionName: gf_m2ts_mux_del
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_stream_del
    - gf_bs_del
    - gf_free
    - gf_m2ts_mux_program_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_mux_del(GF_M2TS_Mux *mux) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - muxer
    argTypes:
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 3240
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3240
    functionName: gf_m2ts_get_sys_clock
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_get_sys_clock(GF_M2TS_Mux *muxer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - _self
    - time_scale
    argTypes:
    - GF_ESInterface*
    - u32
    constantsTouched: []
    func_position:
      end: 2948
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2948
    functionName: gf_m2ts_program_stream_update_ts_scale
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_m2ts_program_stream_update_ts_scale(GF_ESInterface *_self,
      u32 time_scale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2980,1
    - Dst: gf_m2ts_stream_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2996,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 9
    argNames:
    - muxer
    - program_number
    - pmt_pid
    - pmt_refresh_rate
    - pcr_offset
    - mpeg4_signaling
    - pmt_version
    - initial_disc
    - force_first_pts
    argTypes:
    - GF_M2TS_Mux*
    - u32
    - u32
    - u32
    - u64
    - u32
    - u32
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 3007
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 3007
    functionName: gf_m2ts_mux_program_add
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_m2ts_stream_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_Mux_Program *gf_m2ts_mux_program_add(GF_M2TS_Mux
      *muxer, u32 program_number, u32 pmt_pid, u32 pmt_refresh_rate, u64 pcr_offset,
      u32 mpeg4_signaling, u32 pmt_version, Bool initial_disc, u64 force_first_pts) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:133,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:177,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:134,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:214,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:226,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:229,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:228,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:234,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:242,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:204,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:221,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:225,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:227,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:262,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:202,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:220,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:219,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:218,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:239,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:148,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:217,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:231,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 110
    argCount: 7
    argNames:
    - stream
    - table_id
    - table_id_extension
    - table_payload
    - table_payload_length
    - use_syntax_indicator
    - private_indicator
    argTypes:
    - GF_M2TS_Mux_Stream*
    - u8
    - u16
    - u8*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 263
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 263
    functionName: gf_m2ts_mux_table_update
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_crc_32
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_u32
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_table_update(GF_M2TS_Mux_Stream *stream, u8 table_id,
      u16 table_id_extension, u8 *table_payload, u32 table_payload_length, Bool use_syntax_indicator,
      Bool private_indicator) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_sl_get_header_size
      Src: /src/gpac/src/media_tools/m2ts_mux.c:359,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:375,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:407,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:405,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:408,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:430,1
    - Dst: gf_sl_get_header_size
      Src: /src/gpac/src/media_tools/m2ts_mux.c:352,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:406,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:404,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:400,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:415,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:417,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:422,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:446,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:321,1
    - Dst: gf_sl_packetize
      Src: /src/gpac/src/media_tools/m2ts_mux.c:382,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:398,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:397,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:399,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:414,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:320,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:377,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:396,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:410,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:425,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 128
    argCount: 8
    argNames:
    - stream
    - table_id
    - table_id_extension
    - table_payload
    - table_payload_length
    - use_syntax_indicator
    - private_indicator
    - increment_version_number
    argTypes:
    - GF_M2TS_Mux_Stream*
    - u8
    - u16
    - char*
    - u32
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 449
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 449
    functionName: gf_m2ts_mux_table_update_mpeg4
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_sl_get_header_size
    - gf_bs_get_content
    - gf_bs_del
    - gf_crc_32
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_new
    - gf_bs_write_u32
    - gf_sl_packetize
    - GF_SAFEALLOC
    - gf_bs_write_int
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_table_update_mpeg4(GF_M2TS_Mux_Stream *stream, u8
      table_id, u16 table_id_extension, char *table_payload, u32 table_payload_length,
      Bool use_syntax_indicator, Bool private_indicator, Bool increment_version_number) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:530,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/m2ts_mux.c:574,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:575,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:535,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:566,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:576,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:578,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:581,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:583,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:584,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:587,1
    - Dst: gf_m2ts_add_adaptation
      Src: /src/gpac/src/media_tools/m2ts_mux.c:594,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:586,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:585,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/m2ts_mux.c:606,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:603,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:620,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:600,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 3
    argNames:
    - mux
    - stream
    - packet
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    - char*
    constantsTouched: []
    func_position:
      end: 628
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 628
    functionName: gf_m2ts_mux_table_get_next_packet
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - memset
    - GF_LOG
    - gf_m2ts_time_inc
    - memcpy
    - gf_bs_write_u8
    - gf_assert
    - gf_bs_write_int
    - gf_m2ts_add_adaptation
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_mux_table_get_next_packet(GF_M2TS_Mux *mux, GF_M2TS_Mux_Stream
      *stream, char *packet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - muxer
    argTypes:
    - GF_M2TS_Mux*
    constantsTouched: []
    func_position:
      end: 3260
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3260
    functionName: gf_m2ts_get_ts_clock_90k
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_m2ts_get_ts_clock_90k(GF_M2TS_Mux *muxer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - muxer
    - au_pes_mode
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_PackMode
    constantsTouched: []
    func_position:
      end: 3268
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3268
    functionName: gf_m2ts_mux_use_single_au_pes_mode
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_mux_use_single_au_pes_mode(GF_M2TS_Mux *muxer,
      GF_M2TS_PackMode au_pes_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_M2TS_Time*
    - GF_M2TS_Time*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: gf_m2ts_time_less
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool gf_m2ts_time_less(GF_M2TS_Time *a, GF_M2TS_Time
      *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - mux
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: gf_m2ts_mux_table_update_bitrate
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_table_update_bitrate(GF_M2TS_Mux *mux, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:470,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:498,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:499,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:504,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:466,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:469,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:473,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:496,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:502,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:468,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:467,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:490,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:501,1
    - Dst: gf_bs_write_byte
      Src: /src/gpac/src/media_tools/m2ts_mux.c:507,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:471,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:474,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:478,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:479,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:481,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 10
    argNames:
    - prog
    - bs
    - pid
    - has_pcr
    - pcr_time
    - is_rap
    - padding_length
    - af_descriptors
    - af_descriptors_size
    - set_discontinuity
    argTypes:
    - GF_M2TS_Mux_Program*
    - GF_BitStream*
    - u16
    - Bool
    - u64
    - Bool
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 510
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 510
    functionName: gf_m2ts_add_adaptation
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_write_byte
    - gf_bs_write_long_int
    - gf_bs_write_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_add_adaptation(GF_M2TS_Mux_Program *prog, GF_BitStream
      *bs, u16 pid, Bool has_pcr, u64 pcr_time, Bool is_rap, u32 padding_length, char
      *af_descriptors, u32 af_descriptors_size, Bool set_discontinuity) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:639,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:648,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:649,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:651,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:664,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m2ts_mux.c:655,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:669,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:676,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:680,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:641,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:650,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:660,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m2ts_mux.c:663,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:665,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:668,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:647,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:642,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m2ts_mux.c:654,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:661,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m2ts_mux.c:667,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:659,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:671,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:675,1
    - Dst: gf_m2ts_mux_table_update
      Src: /src/gpac/src/media_tools/m2ts_mux.c:677,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:652,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:662,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 687
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 687
    functionName: gf_m2ts_stream_process_sdt
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u8
    - gf_free
    - gf_bs_write_int
    - gf_m2ts_mux_table_update
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_stream_process_sdt(GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_mux_table_update_bitrate
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3188,1
    - Dst: gf_m2ts_mux_table_update_bitrate
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3231,1
    - Dst: gf_m2ts_mux_table_update_bitrate
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - mux
    - reset_time
    argTypes:
    - GF_M2TS_Mux*
    - Bool
    constantsTouched: []
    func_position:
      end: 3234
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3234
    functionName: gf_m2ts_mux_update_config
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_table_update_bitrate
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_mux_update_config(GF_M2TS_Mux *mux, Bool reset_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_M2TS_Time*
    - GF_M2TS_Time*
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: gf_m2ts_time_equal
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool gf_m2ts_time_equal(GF_M2TS_Time *a, GF_M2TS_Time
      *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:697,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:700,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:701,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:705,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:702,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:706,1
    - Dst: gf_m2ts_mux_table_update
      Src: /src/gpac/src/media_tools/m2ts_mux.c:707,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 717
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 717
    functionName: gf_m2ts_stream_process_pat
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_free
    - gf_bs_write_int
    - gf_m2ts_mux_table_update
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_stream_process_pat(GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1176,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1183,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - stream
    - pck_flags
    - dts
    - cts
    - duration
    argTypes:
    - GF_M2TS_Mux_Stream*
    - u32
    - u64*
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1217
    functionName: gf_m2ts_remap_timestamps_for_pes
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_remap_timestamps_for_pes(GF_M2TS_Mux_Stream *stream,
      u32 pck_flags, u64 *dts, u64 *cts, u32 *duration) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_adjust_next_stream_time_for_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1317,1
    - Dst: m2ts_id3_tag_create
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1653,1
    - Dst: gf_m2ts_remap_timestamps_for_pes
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1704,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1621,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1501,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1519,1
    - Dst: gf_m4a_write_config_bs
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1553,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1563,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1375,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1532,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1549,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1599,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1620,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1668,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1577,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1471,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1453,1
    - Dst: gf_sl_packetize
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1515,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1548,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1572,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1731,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1349,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1484,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1547,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1673,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1692,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1378,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1521,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1546,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1561,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1580,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1612,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1671,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1689,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1560,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1602,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1626,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1545,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1640,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1619,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1569,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1688,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1643,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1618,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1559,1
    - Dst: gf_m2ts_mux_table_update_mpeg4
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1480,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1452,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1616,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1360,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1666,1
    - Dst: gf_m2ts_adjust_next_stream_time_for_pcr
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1728,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1578,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1611,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1329,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1531,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1608,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1644,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1672,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1686,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1624,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1607,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1543,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1625,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1635,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1690,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1614,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1449,1
    - Dst: gf_rand
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1391,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1558,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1581,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1606,1
    - Dst: gf_m4a_write_program_config_element_bs
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1636,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1645,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1725,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1328,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1610,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1669,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1679,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1637,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1415,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1414,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1533,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1579,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1661,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1687,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1691,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1555,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1605,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1646,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1552,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1487,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1647,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1670,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 358
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1758
    functionName: gf_m2ts_stream_process_pes
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_malloc
    - gf_utf8_is_legal
    - gf_bs_write_data
    - GF_LOG
    - gf_m2ts_remap_timestamps_for_pes
    - tx3g_format_time
    - gf_timestamp_rescale
    - gf_m2ts_adjust_next_stream_time_for_pcr
    - gf_rand
    - gf_m4a_get_config
    - gf_m4a_write_config_bs
    - gf_bs_del
    - gf_m2ts_mux_table_update_mpeg4
    - gf_assert
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_mx_p
    - gf_bs_new
    - sprintf
    - gf_m2ts_time_inc
    - memcpy
    - gf_bs_write_u8
    - gf_mx_v
    - gf_free
    - gf_m4a_write_program_config_element_bs
    - strcat
    - gf_sl_packetize
    - gf_bs_align
    - m2ts_id3_tag_create
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_stream_process_pes(GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2447,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2454,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2459,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2469,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2461,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2470,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2477,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2479,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2485,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2492,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 3
    argNames:
    - _self
    - ctrl_type
    - param
    argTypes:
    - GF_ESInterface*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2498
    functionName: gf_m2ts_output_ctrl
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LOG
    - gf_mx_p
    - memcpy
    - GF_SAFEALLOC
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_m2ts_output_ctrl(GF_ESInterface *_self, u32 ctrl_type, void
      *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - prog
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2646
    functionName: gf_m2ts_mux_program_get_stream_count
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m2ts_mux_program_get_stream_count(GF_M2TS_Mux_Program
      *prog) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - program
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 3027
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3027
    functionName: gf_m2ts_mux_program_force_keep_ts
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_program_force_keep_ts(GF_M2TS_Mux_Program *program) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3089,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3093,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3090,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3100,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3099,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3102,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3103,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3104,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3106,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3107,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3109,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3112,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3108,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3110,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3115
    functionName: gf_m2ts_mux_stream_del
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_mx_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_stream_del(GF_M2TS_Mux_Stream *st) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_M2TS_Time*
    - GF_M2TS_Time*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: gf_m2ts_time_less_or_equal
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool gf_m2ts_time_less_or_equal(GF_M2TS_Time *a, GF_M2TS_Time
      *b) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:742,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:926,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:941,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:960,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:964,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1006,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1024,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1031,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1104,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1109,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1136,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1107,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:935,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:946,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:963,1
    - Dst: gf_m2ts_program_stream_format_updated
      Src: /src/gpac/src/media_tools/m2ts_mux.c:737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m2ts_mux.c:749,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:797,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:934,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:952,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:925,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1101,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:922,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:744,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:898,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m2ts_mux.c:912,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:990,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:992,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1020,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1074,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1089,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1120,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1132,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1103,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1154,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:940,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1142,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:910,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:954,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:743,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:748,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:755,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:777,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m2ts_mux.c:770,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:987,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1064,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1130,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1100,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1057,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1162,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1102,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1160,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:805,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:991,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1000,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1002,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1042,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1045,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1091,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1117,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1124,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:780,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/media_tools/m2ts_mux.c:886,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:932,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:962,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:957,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1026,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1047,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1094,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1083,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1096,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1118,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1041,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:968,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:927,1
    - Dst: abort
      Src: /src/gpac/src/media_tools/m2ts_mux.c:733,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:901,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:945,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:931,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:986,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1001,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1009,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1010,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1078,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1129,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:900,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:741,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:785,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:959,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:981,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:983,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1008,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1015,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1019,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1031,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1084,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1128,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1046,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:796,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:942,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:951,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1016,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1066,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1068,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1082,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1145,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m2ts_mux.c:803,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:804,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:955,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:973,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:961,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:950,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:982,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1039,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1119,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1121,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1016,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1088,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1144,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:943,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:953,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:976,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:806,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/media_tools/m2ts_mux.c:890,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/media_tools/m2ts_mux.c:894,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:978,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1021,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1085,1
    - Dst: gf_m2ts_mux_table_update
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1157,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:783,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:974,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1025,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1029,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1086,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1090,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1106,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1111,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1116,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1123,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:794,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:933,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:944,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:977,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:956,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:995,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:997,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1014,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1026,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1043,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1067,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1115,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:967,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:792,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:802,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1010,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1038,1
    - Dst: gf_m2ts_find_stream
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1073,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1092,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1030,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1056,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1095,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1126,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1134,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1125,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1021,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1069,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/m2ts_mux.c:765,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:899,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:966,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:958,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:996,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1005,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1007,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1036,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1075,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:965,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/m2ts_mux.c:779,1
    - Dst: gf_odf_write_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:778,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1065,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1110,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1127,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1155,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1055,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1147,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 367
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1169
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 1169
    functionName: gf_m2ts_stream_process_pmt
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_write_data
    - abort
    - GF_LOG
    - gf_m2ts_program_stream_format_updated
    - gf_bs_write_long_int
    - gf_odf_avc_cfg_read
    - gf_bs_del
    - gf_m2ts_find_stream
    - GF_4CC
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_bs_write_int
    - gf_m2ts_mux_table_update
    - gf_list_get
    - gf_list_enum
    - gf_bs_write_u16
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - gf_free
    - gf_odf_av1_cfg_read
    - gf_odf_hevc_cfg_del
    - gf_odf_write_descriptor
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_stream_process_pmt(GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_time_diff_us
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1236,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1232,1
    - Dst: gf_m2ts_time_diff_us
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1244,1
    - Dst: gf_m2ts_time_inc
      Src: /src/gpac/src/media_tools/m2ts_mux.c:1231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1252
    functionName: gf_m2ts_adjust_next_stream_time_for_pcr
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_time_inc
    - gf_m2ts_time_diff_us
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_m2ts_adjust_next_stream_time_for_pcr(GF_M2TS_Mux *muxer,
      GF_M2TS_Mux_Stream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1776
    functionName: gf_m2ts_get_pcr
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u64 gf_m2ts_get_pcr(GF_M2TS_Mux_Stream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 2509
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2509
    functionName: gf_m2ts_stream_set_default_slconfig
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_stream_set_default_slconfig(GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2746,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2746,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2808,1
    - Dst: gf_m2ts_stream_add_metadata_pointer_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2859,1
    - Dst: gf_m2ts_stream_add_hierarchy_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2688,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2744,1
    - Dst: gf_m2ts_stream_add_metadata_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2860,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2810,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2872,1
    - Dst: gf_m2ts_stream_add_hierarchy_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2679,1
    - Dst: gf_m2ts_stream_add_hierarchy_descriptor
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2705,1
    - Dst: gf_m2ts_stream_set_default_slconfig
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2726,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2808,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2810,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2872,1
    - Dst: gf_m2ts_stream_set_default_slconfig
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2835,1
    - Dst: gf_m2ts_find_stream
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2691,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2744,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2746,1
    - Dst: gf_m2ts_stream_set_default_slconfig
      Src: /src/gpac/src/media_tools/m2ts_mux.c:2824,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 120
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2877
    functionName: gf_m2ts_program_stream_format_updated
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_stream_set_default_slconfig
    - gf_m2ts_find_stream
    - gf_m2ts_stream_add_hierarchy_descriptor
    - GF_LOG
    - gf_codecid_name
    - gf_4cc_to_str
    - gf_m2ts_stream_add_metadata_pointer_descriptor
    - gf_m2ts_stream_add_metadata_descriptor
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_program_stream_format_updated(GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3033,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3038,1
    - Dst: gf_m2ts_stream_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3036,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3050,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3049,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3051,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3052,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3053,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3054,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3055,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3059,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3057,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - mux_rate
    - pat_refresh_rate
    - real_time
    argTypes:
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3062
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3062
    functionName: gf_m2ts_mux_new
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_m2ts_stream_new
    - gf_bs_new
    - gf_rand_init
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_Mux *gf_m2ts_mux_new(u32 mux_rate, u32 pat_refresh_rate,
      Bool real_time) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3120,1
    - Dst: gf_m2ts_mux_stream_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3124,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3129,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3130,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3128,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3131,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3132,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3134,1
    - Dst: gf_m2ts_mux_stream_del
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3136,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3137,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3138,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m2ts_mux.c:3139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - prog
    argTypes:
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 3140
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3140
    functionName: gf_m2ts_mux_program_del
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_m2ts_mux_stream_del
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mux_program_del(GF_M2TS_Mux_Program *prog) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - muxer
    - init_pcr_value
    argTypes:
    - GF_M2TS_Mux*
    - u64
    constantsTouched: []
    func_position:
      end: 3276
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3276
    functionName: gf_m2ts_mux_set_initial_pcr
    functionSourceFile: /src/gpac/src/media_tools/m2ts_mux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_mux_set_initial_pcr(GF_M2TS_Mux *muxer, u64
      init_pcr_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:374,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:380,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - o_data
    - o_dataLen
    - PL
    argTypes:
    - u8**
    - u32*
    - u8
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: gf_m4v_rewrite_pl
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m4v_rewrite_pl(u8 **o_data, u32 *o_dataLen, u8 PL) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:1540,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1541,1
    - Dst: log
      Src: /src/gpac/src/media_tools/av_parsers.c:1538,1
    - Dst: log
      Src: /src/gpac/src/media_tools/av_parsers.c:1538,1
    - Dst: gf_bs_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1544,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1548,1
    - Dst: gf_bs_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - bs
    - n
    - fname
    argTypes:
    - GF_BitStream*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1554
    functionName: av1_read_ns
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_log
    - gf_assert
    - gf_bs_read_int
    - log
    linkageType: ''
    returnType: u32
    signature: 'static u32 av1_read_ns(GF_BitStream *bs, u32 n, const char *fname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2065,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2066,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2069,1
    - Dst: vp9_compute_image_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2073,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - bs
    - FrameWidth
    - FrameHeight
    - Sb64Cols
    - Sb64Rows
    argTypes:
    - GF_BitStream*
    - int*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2074
    functionName: vp9_frame_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vp9_compute_image_size
    - GF_LOG
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_frame_size(GF_BitStream *bs, int *FrameWidth, int
      *FrameHeight, int *Sb64Cols, int *Sb64Rows) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4245,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4256,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4255,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:4260,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:4262,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4271,1
    - Dst: aom_av1_le
      Src: /src/gpac/src/media_tools/av_parsers.c:4277,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4285,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:4292,1
    - Dst: av1_decode_frame_wrapup
      Src: /src/gpac/src/media_tools/av_parsers.c:4296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 4
    argNames:
    - bs
    - state
    - obu_start
    - obu_size
    argTypes:
    - GF_BitStream*
    - AV1State*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 4299
      start: 4238
    functionDepth: 0
    functionLinenumber: 4238
    functionLinenumberEnd: 4299
    functionName: av1_parse_tile_group
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - aom_av1_le
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_align
    - GF_ARRAY_LENGTH
    - gf_bs_skip_bytes
    - gf_bs_read_int_log
    - av1_decode_frame_wrapup
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1_parse_tile_group(GF_BitStream *bs, AV1State *state,
      u64 obu_start, u64 obu_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - profile
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 4714
      start: 4711
    functionDepth: 0
    functionLinenumber: 4711
    functionLinenumberEnd: 4714
    functionName: iamf_is_profile_supported
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool iamf_is_profile_supported(u8 profile) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5072,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5085
      start: 5069
    functionDepth: 0
    functionLinenumber: 5069
    functionLinenumberEnd: 5085
    functionName: gf_mp3_version_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_mp3_version_name(u32 hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_vvc_parse_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:8688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - nal_size
    - hevc
    argTypes:
    - char*
    - u32
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 8689
      start: 8686
    functionDepth: 0
    functionLinenumber: 8686
    functionLinenumberEnd: 8689
    functionName: gf_hevc_parse_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_vvc_parse_sei
    linkageType: ''
    returnType: void
    signature: 'void gf_hevc_parse_sei(char *buffer, u32 nal_size, HEVCState *hevc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lhvc_get_view_index
      Src: /src/gpac/src/media_tools/av_parsers.c:8822,1
    - Dst: lhvc_get_scalability_id
      Src: /src/gpac/src/media_tools/av_parsers.c:8822,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - vps
    argTypes:
    - HEVC_VPS*
    constantsTouched: []
    func_position:
      end: 8827
      start: 8817
    functionDepth: 0
    functionLinenumber: 8817
    functionLinenumberEnd: 8827
    functionName: lhvc_get_num_views
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - lhvc_get_view_index
    - lhvc_get_scalability_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 lhvc_get_num_views(HEVC_VPS *vps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:387,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - m4v
    - start
    argTypes:
    - GF_M4VParser*
    - u64
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: M4V_Reset
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - gf_bs_seek
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err M4V_Reset(GF_M4VParser *m4v, u64 start) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2078,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2081,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - bs
    - FrameWidth
    - FrameHeight
    - renderWidth
    - renderHeight
    argTypes:
    - GF_BitStream*
    - int
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2089
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2089
    functionName: vp9_render_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_render_size(GF_BitStream *bs, int FrameWidth, int
      FrameHeight, int *renderWidth, int *renderHeight) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4305,1
    - Dst: av1_decode_frame_wrapup
      Src: /src/gpac/src/media_tools/av_parsers.c:4313,1
    - Dst: av1_parse_uncompressed_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4308,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 4321
      start: 4301
    functionDepth: 0
    functionLinenumber: 4301
    functionLinenumberEnd: 4321
    functionName: av1_parse_frame_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - av1_decode_frame_wrapup
    - av1_parse_uncompressed_header
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_frame_header(GF_BitStream *bs, AV1State *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_vvc_reformat_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:8693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - nal_size
    - isobmf_rewrite
    - sei_filter
    argTypes:
    - char*
    - u32
    - Bool
    - SEI_Filter*
    constantsTouched: []
    func_position:
      end: 8694
      start: 8691
    functionDepth: 0
    functionLinenumber: 8691
    functionLinenumberEnd: 8694
    functionName: gf_hevc_reformat_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_vvc_reformat_sei
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_hevc_reformat_sei(char *buffer, u32 nal_size, Bool isobmf_rewrite,
      SEI_Filter *sei_filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8832,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8833,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8836,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8839,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8834,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8840,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8841,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8843,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8844,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8845,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8846,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - fmt
    - bs
    - idx
    argTypes:
    - HEVC_RepFormat*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 8849
      start: 8829
    functionDepth: 0
    functionLinenumber: 8829
    functionLinenumberEnd: 8849
    functionName: lhvc_parse_rep_format
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx
    - gf_bs_read_ue_log_idx
    linkageType: ''
    returnType: void
    signature: 'static void lhvc_parse_rep_format(HEVC_RepFormat *fmt, GF_BitStream
      *bs, u32 idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:9369,1
    - Dst: gf_hevc_read_vps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:9371,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:9370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - hevc
    argTypes:
    - GF_BitStream*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 9372
      start: 9365
    functionDepth: 0
    functionLinenumber: 9365
    functionLinenumberEnd: 9372
    functionName: gf_hevc_read_vps_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - hevc_parse_nal_header
    - gf_bs_enable_emulation_byte_removal
    - gf_hevc_read_vps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_vps_bs(GF_BitStream *bs, HEVCState *hevc) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: hevc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:9443,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9551,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9658,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9644,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9599,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9437,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9495,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9522,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9584,1
    - Dst: hevc_scaling_list_data
      Src: /src/gpac/src/media_tools/av_parsers.c:9589,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9654,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9665,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9670,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:9701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9481,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9498,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9526,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9535,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9600,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9576,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9659,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9667,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9676,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9581,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9541,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9596,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9500,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9516,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9560,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9604,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9660,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9680,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9681,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9550,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9593,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9653,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:9707,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9435,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9470,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9472,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9663,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9671,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9678,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9699,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9595,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9616,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9625,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9499,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9536,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9561,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9664,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9624,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9631,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9651,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9636,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9612,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9633,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9587,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9427,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9677,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9694,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9689,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9528,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9537,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9594,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:9628,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9597,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9635,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9647,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9691,1
    - Dst: hevc_parse_short_term_ref_pic_set
      Src: /src/gpac/src/media_tools/av_parsers.c:9609,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9650,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:9431,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9542,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9690,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9695,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9645,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9621,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9442,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9446,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9514,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9497,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9649,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9630,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9618,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9668,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9692,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9598,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9602,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9669,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9687,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:9702,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9620,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9652,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9693,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:9556,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9515,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9523,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9533,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9674,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9688,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 336
    argCount: 4
    argNames:
    - bs
    - hevc
    - layer_id
    - vui_flag_pos
    argTypes:
    - GF_BitStream*
    - HEVCState*
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 9710
      start: 9414
    functionDepth: 0
    functionLinenumber: 9414
    functionLinenumberEnd: 9710
    functionName: gf_hevc_read_sps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - MIN
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - hevc_parse_short_term_ref_pic_set
    - gf_bs_get_bit_offset
    - gf_bs_available
    - gf_bs_is_overflow
    - gf_bs_read_int_log_idx
    - hevc_scaling_list_data
    - gf_bs_read_int_log
    - hevc_profile_tier_level
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_hevc_read_sps_bs_internal(GF_BitStream *bs, HEVCState
      *hevc, u8 layer_id, u32 *vui_flag_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - brcode
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10408
      start: 10404
    functionDepth: 0
    functionLinenumber: 10404
    functionLinenumberEnd: 10408
    functionName: gf_ac3_get_bitrate
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_ac3_get_bitrate(u32 brcode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:1524,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:1527,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:1526,1
    - Dst: gf_m4a_write_config_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:1525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - cfg
    - dsi
    - dsi_size
    argTypes:
    - GF_M4ADecSpecInfo*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1529
    functionName: gf_m4a_write_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_m4a_write_config_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_write_config(GF_M4ADecSpecInfo *cfg, u8 **dsi,
      u32 *dsi_size) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:13598,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:13600,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:13602,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:13599,1
    - Dst: vvc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:13603,1
    - Dst: vvc_parse_slice
      Src: /src/gpac/src/media_tools/av_parsers.c:13625,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:13627,1
    - Dst: vvc_compute_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:13636,1
    - Dst: vvc_compute_refs
      Src: /src/gpac/src/media_tools/av_parsers.c:13638,1
    - Dst: vvc_parse_picture_header
      Src: /src/gpac/src/media_tools/av_parsers.c:13652,1
    - Dst: gf_vvc_read_vps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:13675,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:13690,1
    - Dst: gf_vvc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:13671,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13683,1
    - Dst: gf_vvc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:13667,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:13702,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 76
    argCount: 5
    argNames:
    - bs
    - vvc
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - GF_BitStream*
    - VVCState*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 13705
      start: 13590
    functionDepth: 0
    functionLinenumber: 13590
    functionLinenumberEnd: 13705
    functionName: gf_vvc_parse_nalu_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_parse_nal_header
    - vvc_parse_picture_header
    - gf_bs_enable_emulation_byte_removal
    - gf_vvc_read_vps_bs_internal
    - gf_bs_available
    - vvc_compute_refs
    - gf_vvc_read_pps_bs_internal
    - memcpy
    - vvc_parse_slice
    - gf_bs_is_overflow
    - gf_vvc_read_sps_bs_internal
    - vvc_compute_poc
    - gf_bs_read_int_log
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_vvc_parse_nalu_bs(GF_BitStream *bs, VVCState *vvc,
      u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: vvc_ceillog2
      Src: /src/gpac/src/media_tools/av_parsers.c:13269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13265,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13283,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13304,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13313,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13291,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13319,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13322,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13329,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:13339,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:13492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13489,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:13491,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13469,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13453,1
    - Dst: vvc_parse_picture_header
      Src: /src/gpac/src/media_tools/av_parsers.c:13240,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13307,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13312,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:13340,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:13367,1
    - Dst: vvc_pred_weight_table
      Src: /src/gpac/src/media_tools/av_parsers.c:13418,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13426,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13427,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13432,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13447,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13448,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:13516,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13475,1
    - Dst: vvc_get_num_entry_points
      Src: /src/gpac/src/media_tools/av_parsers.c:13486,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13465,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:13480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13495,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13247,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13270,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13275,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13280,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13300,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13316,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13320,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13323,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13332,1
    - Dst: vvc_parse_ref_pic_lists
      Src: /src/gpac/src/media_tools/av_parsers.c:13346,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13508,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13436,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13478,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13461,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13499,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:13360,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13396,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13356,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13238,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13285,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13305,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13401,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13409,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13423,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13434,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13440,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13443,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13451,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13472,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13506,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:13501,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:13514,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13450,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13429,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 270
    argCount: 3
    argNames:
    - bs
    - vvc
    - si
    argTypes:
    - GF_BitStream*
    - VVCState*
    - VVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 13518
      start: 13234
    functionDepth: 0
    functionLinenumber: 13234
    functionLinenumberEnd: 13518
    functionName: vvc_parse_slice
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_read_int_log_idx
    - gf_bs_get_position
    - vvc_parse_picture_header
    - GF_LOG
    - gf_bs_read_int
    - vvc_pred_weight_table
    - gf_bs_read_ue_log
    - vvc_ceillog2
    - gf_bs_read_ue_log_idx
    - gf_bs_read_se_log
    - gf_bs_align
    - vvc_get_num_entry_points
    - vvc_parse_ref_pic_lists
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_parse_slice(GF_BitStream *bs, VVCState *vvc, VVCSliceInfo
      *si) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - hevc
    argTypes:
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 7865
      start: 7852
    functionDepth: 0
    functionLinenumber: 7852
    functionLinenumberEnd: 7865
    functionName: gf_hevc_slice_is_intra
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_hevc_slice_is_intra(HEVCState *hevc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - si
    - ctb_addr_y
    argTypes:
    - VVCSliceInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 13176
      start: 13163
    functionDepth: 0
    functionLinenumber: 13163
    functionLinenumberEnd: 13176
    functionName: vvc_ctb_to_tile_row_bd
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 vvc_ctb_to_tile_row_bd(VVCSliceInfo *si, u32 ctb_addr_y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5626,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5636,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5628,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5631,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5632,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5637,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5638,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5640,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5641,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5642,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - bs
    - hrd
    argTypes:
    - GF_BitStream*
    - AVC_HRD*
    constantsTouched: []
    func_position:
      end: 5645
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5645
    functionName: avc_parse_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 avc_parse_hrd_parameters(GF_BitStream *bs, AVC_HRD *hrd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - audio_pl
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: gf_m4a_get_profile_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_m4a_get_profile_name(u8 audio_pl) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2275,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2276,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2287,1
    - Dst: vp9_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2301,1
    - Dst: vp9_color_config
      Src: /src/gpac/src/media_tools/av_parsers.c:2325,1
    - Dst: vp9_frame_sync_code
      Src: /src/gpac/src/media_tools/av_parsers.c:2297,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2336,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2354,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2355,1
    - Dst: vp9_loop_filter_params
      Src: /src/gpac/src/media_tools/av_parsers.c:2364,1
    - Dst: vp9_quantization_params
      Src: /src/gpac/src/media_tools/av_parsers.c:2365,1
    - Dst: vp9_tile_info
      Src: /src/gpac/src/media_tools/av_parsers.c:2367,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:2272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2282,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2289,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2294,1
    - Dst: vp9_color_config
      Src: /src/gpac/src/media_tools/av_parsers.c:2299,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2312,1
    - Dst: vp9_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2337,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2341,1
    - Dst: vp9_read_interpolation_filter
      Src: /src/gpac/src/media_tools/av_parsers.c:2349,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2358,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2277,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2280,1
    - Dst: vp9_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2302,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2348,1
    - Dst: vp9_segmentation_params
      Src: /src/gpac/src/media_tools/av_parsers.c:2366,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2293,1
    - Dst: vp9_frame_sync_code
      Src: /src/gpac/src/media_tools/av_parsers.c:2321,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2317,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2295,1
    - Dst: vp9_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2338,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:2344,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:2345,1
    - Dst: vp9_frame_size_with_refs
      Src: /src/gpac/src/media_tools/av_parsers.c:2347,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2369,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 7
    argNames:
    - bs
    - vp9_cfg
    - key_frame
    - FrameWidth
    - FrameHeight
    - renderWidth
    - renderHeight
    argTypes:
    - GF_BitStream*
    - GF_VPConfig*
    - Bool*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2380
    functionName: gf_vp9_parse_sample
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vp9_segmentation_params
    - vp9_frame_size
    - vp9_frame_size_with_refs
    - vp9_read_interpolation_filter
    - GF_LOG
    - vp9_frame_sync_code
    - vp9_quantization_params
    - vp9_color_config
    - vp9_loop_filter_params
    - vp9_tile_info
    - gf_bs_read_int_log_idx
    - gf_assert
    - gf_bs_read_int_log
    - vp9_render_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_vp9_parse_sample(GF_BitStream *bs, GF_VPConfig *vp9_cfg,
      Bool *key_frame, u32 *FrameWidth, u32 *FrameHeight, u32 *renderWidth, u32 *renderHeight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iamf_is_audio_frame_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - IamfObuType
    constantsTouched: []
    func_position:
      end: 2499
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2499
    functionName: iamf_is_temporal_unit_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - iamf_is_audio_frame_obu
    linkageType: ''
    returnType: Bool
    signature: 'Bool iamf_is_temporal_unit_obu(IamfObuType obu_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3040,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 3054
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3054
    functionName: superres_params
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void superres_params(GF_BitStream *bs, AV1State *state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - profile_idc
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 5375
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5375
    functionName: gf_avcc_use_extensions
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_avcc_use_extensions(u8 profile_idc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10914,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10918,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10915,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10920,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10917,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10921,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10923,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10926
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10926
    functionName: gf_id3_read_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_id3_read_size(GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11938,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11939,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11942,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11941,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11944,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11945,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11947,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11948,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11949,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11951,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11952,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 7
    argNames:
    - bs
    - sps
    - vps
    - general_nal_hrd_params_present_flag
    - general_vcl_hrd_params_present_flag
    - general_du_hrd_params_present_flag
    - hrd_cpb_cnt_minus1
    argTypes:
    - GF_BitStream*
    - VVC_SPS*
    - VVC_VPS*
    - Bool*
    - Bool*
    - Bool*
    - u32*
    constantsTouched: []
    func_position:
      end: 11954
      start: 11935
    functionDepth: 0
    functionLinenumber: 11935
    functionLinenumberEnd: 11954
    functionName: vvc_parse_general_timing_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vvc_parse_general_timing_hrd_parameters(GF_BitStream *bs,
      VVC_SPS *sps, VVC_VPS *vps, Bool *general_nal_hrd_params_present_flag, Bool
      *general_vcl_hrd_params_present_flag, Bool *general_du_hrd_params_present_flag,
      u32 *hrd_cpb_cnt_minus1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: m4v_get_sar_idx
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'static u8 m4v_get_sar_idx(u32 w, u32 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:2387,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:2395,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:2388,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:2398,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:2393,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:2400,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:2403,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:2405,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:2406,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:2407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - mdcv_in
    - mdcv_out
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 2408
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2408
    functionName: gf_av1_format_mdcv_to_mpeg
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    linkageType: ''
    returnType: void
    signature: 'void gf_av1_format_mdcv_to_mpeg(u8 mdcv_in[24], u8 mdcv_out[24]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - IamfObuType
    constantsTouched: []
    func_position:
      end: 2513
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2513
    functionName: iamf_is_descriptor_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool iamf_is_descriptor_obu(IamfObuType obu_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3061,1
    - Dst: superres_params
      Src: /src/gpac/src/media_tools/av_parsers.c:3070,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - bs
    - state
    - frame_size_override_flag
    argTypes:
    - GF_BitStream*
    - AV1State*
    - Bool
    constantsTouched: []
    func_position:
      end: 3072
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3072
    functionName: av1_frame_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    - superres_params
    linkageType: ''
    returnType: void
    signature: 'static void av1_frame_size(GF_BitStream *bs, AV1State *state, Bool
      frame_size_override_flag) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4979,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4988,1
    - Dst: gf_iamf_parse_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4984,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4990,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4982,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4990,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5003,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5010,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:5014,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5018,1
    - Dst: iamf_populate_state_from_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:5019,1
    - Dst: iamf_is_audio_frame_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:5026,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5035,1
    - Dst: iamf_is_temporal_unit_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:5021,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 5059
      start: 4970
    functionDepth: 0
    functionLinenumber: 4970
    functionLinenumberEnd: 5059
    functionName: aom_iamf_parse_temporal_unit
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - iamf_populate_state_from_obu
    - iamf_is_audio_frame_obu
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - gf_bs_available
    - iamf_is_temporal_unit_obu
    - gf_iamf_parse_obu
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aom_iamf_parse_temporal_unit(GF_BitStream *bs, IAMFState *state) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - video_prof
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 5402
      start: 5376
    functionDepth: 0
    functionLinenumber: 5376
    functionLinenumberEnd: 5402
    functionName: gf_avc_get_profile_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_avc_get_profile_name(u8 video_prof) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: avc_pred_weight_table
      Src: /src/gpac/src/media_tools/av_parsers.c:6481,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6489,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6502,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6495,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6508,1
    - Dst: ceil
      Src: /src/gpac/src/media_tools/av_parsers.c:6508,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6468,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6453,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6464,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6466,1
    - Dst: avc_ref_pic_list_modification
      Src: /src/gpac/src/media_tools/av_parsers.c:6476,1
    - Dst: dec_ref_pic_marking
      Src: /src/gpac/src/media_tools/av_parsers.c:6485,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6497,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6413,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6427,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6432,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6414,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6434,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6441,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6447,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6449,1
    - Dst: avc_ref_pic_list_modification
      Src: /src/gpac/src/media_tools/av_parsers.c:6474,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/media_tools/av_parsers.c:6492,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6417,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6438,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6443,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6457,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6501,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6503,1
    - Dst: log1p
      Src: /src/gpac/src/media_tools/av_parsers.c:6508,1
    - Dst: log
      Src: /src/gpac/src/media_tools/av_parsers.c:6508,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 142
    argCount: 4
    argNames:
    - bs
    - avc
    - svc_idr_flag
    - si
    argTypes:
    - GF_BitStream*
    - AVCState*
    - Bool
    - AVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 6511
      start: 6408
    functionDepth: 0
    functionLinenumber: 6408
    functionLinenumberEnd: 6511
    functionName: avc_parse_slice
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - avc_ref_pic_list_modification
    - avc_pred_weight_table
    - ceil
    - dec_ref_pic_marking
    - gf_bs_read_ue_log
    - gf_bs_read_se
    - log1p
    - log
    - gf_bs_read_se_log
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 avc_parse_slice(GF_BitStream *bs, AVCState *avc, Bool svc_idr_flag,
      AVCSliceInfo *si) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/gpac/src/media_tools/av_parsers.c:11181,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11184,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - vp
    - data
    - data_length
    argTypes:
    - GF_VorbisParser*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 11187
      start: 11175
    functionDepth: 0
    functionLinenumber: 11175
    functionLinenumberEnd: 11187
    functionName: gf_vorbis_check_frame
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - oggpack_read
    - oggpack_readinit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_vorbis_check_frame(GF_VorbisParser *vp, u8 *data,
      u32 data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11960,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11964,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11966,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11963,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - bs
    - subLayerId
    - general_du_hrd_params_present_flag
    - hrd_cpb_cnt_minus1
    argTypes:
    - GF_BitStream*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 11968
      start: 11956
    functionDepth: 0
    functionLinenumber: 11956
    functionLinenumberEnd: 11968
    functionName: vvc_parse_sublayer_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx2
    - gf_bs_read_ue_log_idx2
    linkageType: ''
    returnType: void
    signature: 'static void vvc_parse_sublayer_hrd_parameters(GF_BitStream *bs, u32
      subLayerId, Bool general_du_hrd_params_present_flag, u32 hrd_cpb_cnt_minus1) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: M4V_Reset
      Src: /src/gpac/src/media_tools/av_parsers.c:734,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:756,1
    - Dst: M4V_LoadObject
      Src: /src/gpac/src/media_tools/av_parsers.c:738,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:753,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:761,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:764,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:774,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:776,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:777,1
    - Dst: gf_m4v_parse_vol
      Src: /src/gpac/src/media_tools/av_parsers.c:789,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:805,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 71
    argCount: 7
    argNames:
    - m4v
    - dsi
    - frame_type
    - time_inc
    - size
    - start
    - is_coded
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    - u8*
    - u32*
    - u64*
    - u64*
    - Bool*
    constantsTouched: []
    func_position:
      end: 814
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 814
    functionName: gf_m4v_parse_frame_mpeg4
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - M4V_Reset
    - M4V_LoadObject
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_m4v_parse_vol
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m4v_parse_frame_mpeg4(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi, u8 *frame_type, u32 *time_inc, u64 *size, u64 *start, Bool *is_coded) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:1868,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:1877,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1872,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1873,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1873,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:1878,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1879,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1883,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1885,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1889,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1904,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:1895,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1897,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1900,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1901,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1903,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1891,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 7
    argNames:
    - bs
    - width
    - height
    - codec_fourcc
    - timebase_num
    - timebase_den
    - num_frames
    argTypes:
    - GF_BitStream*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1907
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1907
    functionName: gf_media_parse_ivf_file_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    - gf_bs_read_u32
    - GF_4CC
    - GF_LOG
    - gf_bs_available
    - gf_bs_read_u32_le
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_parse_ivf_file_header(GF_BitStream *bs, u32 *width,
      u32 *height, u32 *codec_fourcc, u32 *timebase_num, u32 *timebase_den, u32 *num_frames) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 8
    argNames:
    - ignoreDeltaQ
    - segmentId
    - base_q_idx
    - delta_q_present
    - CurrentQIndex
    - segmentation_enabled
    - features_SEG_LVL_ALT_Q_enabled
    - features_SEG_LVL_ALT_Q
    argTypes:
    - Bool
    - u32
    - u32
    - u32
    - u32
    - Bool
    - u8*
    - s32*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3154
    functionName: av1_get_qindex
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'static u8 av1_get_qindex(Bool ignoreDeltaQ, u32 segmentId, u32 base_q_idx,
      u32 delta_q_present, u32 CurrentQIndex, Bool segmentation_enabled, u8 *features_SEG_LVL_ALT_Q_enabled,
      s32 *features_SEG_LVL_ALT_Q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:4158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4178
      start: 4152
    functionDepth: 0
    functionLinenumber: 4152
    functionLinenumberEnd: 4178
    functionName: gf_iamf_init_state
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_iamf_init_state(IAMFState *state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6349,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6356,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6354,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6355,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6351,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6359,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:6361,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:6362,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6368,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6369,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:6376,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6373,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6370,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:6375,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - bs
    - slice_type
    - ChromaArrayType
    - num_ref_idx_l0_active_minus1
    - num_ref_idx_l1_active_minus1
    argTypes:
    - GF_BitStream*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 6382
      start: 6347
    functionDepth: 0
    functionLinenumber: 6347
    functionLinenumberEnd: 6382
    functionName: avc_pred_weight_table
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log_idx
    - gf_bs_read_se_log_idx
    - gf_bs_read_se_log_idx2
    linkageType: ''
    returnType: void
    signature: 'static void avc_pred_weight_table(GF_BitStream *bs, u32 slice_type,
      u32 ChromaArrayType, u32 num_ref_idx_l0_active_minus1, u32 num_ref_idx_l1_active_minus1) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - hevc
    argTypes:
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 7881
      start: 7867
    functionDepth: 0
    functionLinenumber: 7867
    functionLinenumberEnd: 7881
    functionName: gf_hevc_slice_is_IDR
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_hevc_slice_is_IDR(HEVCState *hevc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9380,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9388,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9391,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:9386,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9396
      start: 9374
    functionDepth: 0
    functionLinenumber: 9374
    functionLinenumberEnd: 9396
    functionName: hevc_scaling_list_data
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - MIN
    - gf_bs_read_se_log_idx2
    - gf_bs_read_ue_log_idx
    - gf_bs_read_se_log_idx
    - gf_bs_read_int_log_idx
    linkageType: ''
    returnType: void
    signature: 'static void hevc_scaling_list_data(GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - si
    - ctb_addr_x
    argTypes:
    - VVCSliceInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 13190
      start: 13178
    functionDepth: 0
    functionLinenumber: 13178
    functionLinenumberEnd: 13190
    functionName: vvc_ctb_to_tile_col_bd
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 vvc_ctb_to_tile_col_bd(VVCSliceInfo *si, u32 ctb_addr_x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_parse_frame_mpeg12
      Src: /src/gpac/src/media_tools/av_parsers.c:820,1
    - Dst: gf_m4v_parse_frame_mpeg4
      Src: /src/gpac/src/media_tools/av_parsers.c:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 7
    argNames:
    - m4v
    - dsi
    - frame_type
    - time_inc
    - size
    - start
    - is_coded
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    - u8*
    - u32*
    - u64*
    - u64*
    - Bool*
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: gf_m4v_parse_frame
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4v_parse_frame_mpeg4
    - gf_m4v_parse_frame_mpeg12
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4v_parse_frame(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi, u8 *frame_type, u32 *time_inc, u64 *size, u64 *start, Bool *is_coded) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1912,1
    - Dst: gf_bs_read_u64_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1922,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1917,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:1915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - frame_size
    - pts
    argTypes:
    - GF_BitStream*
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1925
    functionName: gf_media_parse_ivf_frame_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_bs_read_u32_le
    - GF_LOG
    - gf_bs_read_u64_le
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_parse_ivf_frame_header(GF_BitStream *bs, u64 *frame_size,
      u64 *pts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2413,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2419,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2420,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2418,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2421,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2425,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2426,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - bs
    - obu_type
    - obu_extension_flag
    - obu_has_size_field
    - temporal_id
    - spatial_id
    argTypes:
    - GF_BitStream*
    - ObuType*
    - Bool*
    - Bool*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 2431
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2431
    functionName: gf_av1_parse_obu_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_av1_parse_obu_header(GF_BitStream *bs, ObuType
      *obu_type, Bool *obu_extension_flag, Bool *obu_has_size_field, u8 *temporal_id,
      u8 *spatial_id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:4187,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4192,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/av_parsers.c:4189,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4191,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:4198,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/av_parsers.c:4200,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4202,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4203,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4217,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4218,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4221,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4234,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - state
    - is_destroy
    argTypes:
    - IAMFState*
    - Bool
    constantsTouched: []
    func_position:
      end: 4236
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4236
    functionName: gf_iamf_reset_state
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_bs_seek
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_iamf_reset_state(IAMFState *state, Bool is_destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6386,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6390,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6395,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6387,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6393,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6397,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6399,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - bs
    - IdrPicFlag
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 6406
      start: 6384
    functionDepth: 0
    functionLinenumber: 6384
    functionLinenumberEnd: 6406
    functionName: dec_ref_pic_marking
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void dec_ref_pic_marking(GF_BitStream *bs, Bool IdrPicFlag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AC3_FindSyncCode
      Src: /src/gpac/src/media_tools/av_parsers.c:10900,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10903,1
    - Dst: gf_eac3_parser_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10904,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10905,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - buflen
    - pos
    - hdr
    - full_parse
    argTypes:
    - u8*
    - u32
    - u32*
    - GF_AC3Config*
    - Bool
    constantsTouched: []
    func_position:
      end: 10907
      start: 10893
    functionDepth: 0
    functionLinenumber: 10893
    functionLinenumberEnd: 10907
    functionName: gf_eac3_parser
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_eac3_parser_internal
    - AC3_FindSyncCode
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_eac3_parser(u8 *buf, u32 buflen, u32 *pos, GF_AC3Config
      *hdr, Bool full_parse) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:13868,1
    - Dst: vvc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:13877,1
    - Dst: gf_vvc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:13878,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:13873,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13872,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13879,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13881,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13891,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 7
    argNames:
    - sps_data
    - sps_size
    - sps_id
    - width
    - height
    - par_n
    - par_d
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 13893
      start: 13863
    functionDepth: 0
    functionLinenumber: 13863
    functionLinenumberEnd: 13893
    functionName: gf_vvc_get_sps_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - vvc_parse_nal_header
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - GF_SAFEALLOC
    - gf_free
    - gf_vvc_read_sps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_vvc_get_sps_info(u8 *sps_data, u32 sps_size, u32
      *sps_id, u32 *width, u32 *height, s32 *par_n, s32 *par_d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - nal_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5677
      start: 5648
    functionDepth: 0
    functionLinenumber: 5648
    functionLinenumberEnd: 5677
    functionName: gf_media_nalu_emulation_bytes_add_count
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_media_nalu_emulation_bytes_add_count(u8 *buffer, u32 nal_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6519,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6536,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6520,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6523,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6543,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6544,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6547,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6550,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6552,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6556,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6558,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6561,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 3
    argNames:
    - bs
    - avc
    - si
    argTypes:
    - GF_BitStream*
    - AVCState*
    - AVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 6564
      start: 6514
    functionDepth: 0
    functionLinenumber: 6514
    functionLinenumberEnd: 6564
    functionName: svc_parse_slice
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log
    - gf_bs_read_se_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 svc_parse_slice(GF_BitStream *bs, AVCState *avc, AVCSliceInfo
      *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: av1_read_ns
      Src: /src/gpac/src/media_tools/av_parsers.c:3194,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:3198,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:3204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - bs
    - numSyms
    argTypes:
    - GF_BitStream*
    - s32
    constantsTouched: []
    func_position:
      end: 3209
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3209
    functionName: av1_decode_subexp
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - av1_read_ns
    linkageType: ''
    returnType: u32
    signature: 'static u32 av1_decode_subexp(GF_BitStream *bs, s32 numSyms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mv12_next_start_code
      Src: /src/gpac/src/media_tools/av_parsers.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pbuffer
    - startoffset
    - buflen
    - slice_offset
    argTypes:
    - unsigned char*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: gf_mv12_next_slice_start
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mv12_next_start_code
    linkageType: ''
    returnType: s32
    signature: 's32 gf_mv12_next_slice_start(unsigned char *pbuffer, u32 startoffset,
      u32 buflen, u32 *slice_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_min_log2_tile_cols
      Src: /src/gpac/src/media_tools/av_parsers.c:2214,1
    - Dst: calc_max_log2_tile_cols
      Src: /src/gpac/src/media_tools/av_parsers.c:2215,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2226,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2224,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - Sb64Cols
    argTypes:
    - GF_BitStream*
    - int
    constantsTouched: []
    func_position:
      end: 2229
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2229
    functionName: vp9_tile_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - calc_min_log2_tile_cols
    - calc_max_log2_tile_cols
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_tile_info(GF_BitStream *bs, int Sb64Cols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/media_tools/av_parsers.c:5495,1
    - Dst: gf_bs_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - bs
    - fname
    - idx1
    - idx2
    argTypes:
    - GF_BitStream*
    - char*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 5499
      start: 5493
    functionDepth: 0
    functionLinenumber: 5493
    functionLinenumberEnd: 5499
    functionName: gf_bs_read_se_log_idx2
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_se
    - gf_bs_log_idx
    linkageType: ''
    returnType: s32
    signature: 's32 gf_bs_read_se_log_idx2(GF_BitStream *bs, const char *fname, s32
      idx1, s32 idx2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:6267,1
    - Dst: gf_avc_read_pps_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:6272,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:6271,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:6273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pps_data
    - pps_size
    - avc
    argTypes:
    - u8*
    - u32
    - AVCState*
    constantsTouched: []
    func_position:
      end: 6275
      start: 6260
    functionDepth: 0
    functionLinenumber: 6260
    functionLinenumberEnd: 6275
    functionName: gf_avc_read_pps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_avc_read_pps_bs
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_avc_read_pps(const u8 *pps_data, u32 pps_size, AVCState
      *avc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:7774,1
    - Dst: gf_avc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:7782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - avcc
    - ar_n
    - ar_d
    argTypes:
    - GF_AVCConfig*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 7783
      start: 7770
    functionDepth: 0
    functionLinenumber: 7770
    functionLinenumberEnd: 7783
    functionName: gf_avc_change_par
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_avc_change_par(GF_AVCConfig *avcc, s32 ar_n, s32
      ar_d) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7888,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7899,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7906,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7914,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7905,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7917,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7947,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7948,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7961,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7965,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7970,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:7974,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 3
    argNames:
    - bs
    - sps
    - idx_rps
    argTypes:
    - GF_BitStream*
    - HEVC_SPS*
    - u32
    constantsTouched: []
    func_position:
      end: 7978
      start: 7883
    functionDepth: 0
    functionLinenumber: 7883
    functionLinenumberEnd: 7978
    functionName: hevc_parse_short_term_ref_pic_set
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx
    - gf_bs_read_ue_log_idx
    - gf_bs_read_int_log_idx2
    - gf_bs_read_ue_log_idx2
    linkageType: ''
    returnType: Bool
    signature: 'static Bool hevc_parse_short_term_ref_pic_set(GF_BitStream *bs, HEVC_SPS
      *sps, u32 idx_rps) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8762,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8781,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8783,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8785,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8753,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8758,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8754,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8760,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8777,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8767,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8788,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8752,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8764,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8780,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8782,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8779,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8778,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8766,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8784,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8756,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8759,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8761,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 5
    argNames:
    - bs
    - ProfilePresentFlag
    - MaxNumSubLayersMinus1
    - ptl
    - idx
    argTypes:
    - GF_BitStream*
    - Bool
    - u8
    - HEVC_ProfileTierLevel*
    - u32
    constantsTouched: []
    func_position:
      end: 8790
      start: 8748
    functionDepth: 0
    functionLinenumber: 8748
    functionLinenumberEnd: 8790
    functionName: hevc_profile_tier_level
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - gf_bs_read_int
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log_idx2
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'void hevc_profile_tier_level(GF_BitStream *bs, Bool ProfilePresentFlag,
      u8 MaxNumSubLayersMinus1, HEVC_ProfileTierLevel *ptl, u32 idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10033,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10042,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:10037,1
    - Dst: gf_hevc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10039,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:10035,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - hevc
    argTypes:
    - u8*
    - u32
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 10044
      start: 10027
    functionDepth: 0
    functionLinenumber: 10027
    functionLinenumberEnd: 10044
    functionName: gf_hevc_read_pps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_enable_emulation_byte_removal
    - hevc_parse_nal_header
    - gf_bs_new
    - gf_hevc_read_pps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_pps(u8 *data, u32 size, HEVCState *hevc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2237,1
    - Dst: vp9_compute_image_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2248,1
    - Dst: vp9_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2245,1
    - Dst: vp9_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 11
    argNames:
    - bs
    - refresh_frame_flags
    - ref_frame_idx
    - RefFrameWidth
    - RefFrameHeight
    - FrameWidth
    - FrameHeight
    - RenderWidth
    - RenderHeight
    - Sb64Cols
    - Sb64Rows
    argTypes:
    - GF_BitStream*
    - u8
    - u8*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2252
    functionName: vp9_frame_size_with_refs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vp9_frame_size
    - vp9_compute_image_size
    - gf_bs_read_int_log
    - vp9_render_size
    linkageType: ''
    returnType: void
    signature: "static void vp9_frame_size_with_refs(GF_BitStream *bs, u8 refresh_frame_flags,
      u8 * ref_frame_idx, int * RefFrameWidth, int *RefFrameHeight,\tint *FrameWidth,
      int *FrameHeight, int *RenderWidth, int *RenderHeight, int *Sb64Cols, int *Sb64Rows) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/media_tools/av_parsers.c:918,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/media_tools/av_parsers.c:919,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/media_tools/av_parsers.c:921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - rawdsi
    - rawdsi_size
    - dsi
    argTypes:
    - u8*
    - u32
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 923
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 923
    functionName: gf_m4v_get_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4v_parser_new
    - gf_m4v_parser_del
    - gf_m4v_parse_config
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4v_get_config(u8 *rawdsi, u32 rawdsi_size, GF_M4VDecSpecInfo
      *dsi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:7789,1
    - Dst: gf_avc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:7797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - avcc
    - fullrange
    - vidformat
    - colorprim
    - transfer
    - colmatrix
    argTypes:
    - GF_AVCConfig*
    - s32
    - s32
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 7798
      start: 7785
    functionDepth: 0
    functionLinenumber: 7785
    functionLinenumberEnd: 7798
    functionName: gf_avc_change_color
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_avc_change_color(GF_AVCConfig *avcc, s32 fullrange,
      s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:7989,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8006,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:7991,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7995,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8001,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8007,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8010,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8011,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8013,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8014,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 7
    argNames:
    - bs
    - hevc
    - si
    - pps
    - sps
    - num_ref_idx_l0_active
    - num_ref_idx_l1_active
    argTypes:
    - GF_BitStream*
    - HEVCState*
    - HEVCSliceInfo*
    - HEVC_PPS*
    - HEVC_SPS*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 8024
      start: 7980
    functionDepth: 0
    functionLinenumber: 7980
    functionLinenumberEnd: 8024
    functionName: hevc_pred_weight_table
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log_idx
    - gf_bs_read_se_log_idx
    - gf_bs_read_se_log
    linkageType: ''
    returnType: void
    signature: 'void hevc_pred_weight_table(GF_BitStream *bs, HEVCState *hevc, HEVCSliceInfo
      *si, HEVC_PPS *pps, HEVC_SPS *sps, u32 num_ref_idx_l0_active, u32 num_ref_idx_l1_active) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - vps
    - scalability_type
    argTypes:
    - HEVC_VPS*
    - u32
    constantsTouched: []
    func_position:
      end: 8799
      start: 8792
    functionDepth: 0
    functionLinenumber: 8792
    functionLinenumberEnd: 8799
    functionName: scalability_type_to_idx
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 scalability_type_to_idx(HEVC_VPS *vps, u32 scalability_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:10050,1
    - Dst: gf_hevc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10052,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:10051,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - hevc
    argTypes:
    - GF_BitStream*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 10053
      start: 10046
    functionDepth: 0
    functionLinenumber: 10046
    functionLinenumberEnd: 10053
    functionName: gf_hevc_read_pps_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_pps_bs_internal
    - hevc_parse_nal_header
    - gf_bs_enable_emulation_byte_removal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_pps_bs(GF_BitStream *bs, HEVCState *hevc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:13836,1
    - Dst: gf_vvc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:13844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - vvcc
    - ar_n
    - ar_d
    argTypes:
    - GF_VVCConfig*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 13845
      start: 13832
    functionDepth: 0
    functionLinenumber: 13832
    functionLinenumberEnd: 13845
    functionName: gf_vvc_change_par
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_vvc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_vvc_change_par(GF_VVCConfig *vvcc, s32 ar_n, s32
      ar_d) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7018,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7026,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:7053,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7115,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:7071,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:7130,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:7131,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7148,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:7161,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:7015,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:7016,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7057,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:7116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:7139,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:7159,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:7165,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7019,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:7022,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7033,1
    - Dst: avc_parse_recovery_point_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:7076,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7105,1
    - Dst: avc_parse_pic_timing_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:7081,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:7121,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:7127,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:7136,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7140,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:7013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:7055,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7112,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7108,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:7121,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7137,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7141,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7144,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7151,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7167,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7170,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 115
    argCount: 5
    argNames:
    - buffer
    - nal_size
    - isobmf_rewrite
    - avc
    - sei_filter
    argTypes:
    - u8*
    - u32
    - Bool
    - AVCState*
    - SEI_Filter*
    constantsTouched: []
    func_position:
      end: 7172
      start: 6999
    functionDepth: 0
    functionLinenumber: 6999
    functionLinenumberEnd: 7172
    functionName: gf_avc_reformat_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - GF_LOG
    - gf_bs_available
    - gf_bs_seek
    - gf_media_nalu_emulation_bytes_add_count
    - avc_parse_pic_timing_sei
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_write_u8
    - gf_free
    - avc_parse_recovery_point_sei
    - gf_bs_write_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_avc_reformat_sei(u8 *buffer, u32 nal_size, Bool isobmf_rewrite,
      AVCState *avc, SEI_Filter *sei_filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_vvc_reformat_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:11700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - nal_size
    - isobmf_rewrite
    - sei_filter
    argTypes:
    - char*
    - u32
    - Bool
    - SEI_Filter*
    constantsTouched: []
    func_position:
      end: 11701
      start: 11697
    functionDepth: 0
    functionLinenumber: 11697
    functionLinenumberEnd: 11701
    functionName: gf_vvc_reformat_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_vvc_reformat_sei
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_vvc_reformat_sei(char *buffer, u32 nal_size, Bool
      isobmf_rewrite, SEI_Filter *sei_filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: av1_decode_subexp
      Src: /src/gpac/src/media_tools/av_parsers.c:3223,1
    - Dst: inverse_recenter
      Src: /src/gpac/src/media_tools/av_parsers.c:3231,1
    - Dst: inverse_recenter
      Src: /src/gpac/src/media_tools/av_parsers.c:3225,1
    - Dst: inverse_recenter
      Src: /src/gpac/src/media_tools/av_parsers.c:3228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - bs
    - mx
    - r
    argTypes:
    - GF_BitStream*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 3233
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3233
    functionName: av1_decode_unsigned_subexp_with_ref
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - inverse_recenter
    - av1_decode_subexp
    linkageType: ''
    returnType: s32
    signature: 'static s32 av1_decode_unsigned_subexp_with_ref(GF_BitStream *bs, s32
      mx, s32 r) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:6817,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 1
    argNames:
    - si
    argTypes:
    - AVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 6822
      start: 6703
    functionDepth: 0
    functionLinenumber: 6703
    functionLinenumberEnd: 6822
    functionName: avc_compute_poc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: void
    signature: 'static void avc_compute_poc(AVCSliceInfo *si) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - si
    argTypes:
    - HEVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 8724
      start: 8696
    functionDepth: 0
    functionLinenumber: 8696
    functionLinenumberEnd: 8724
    functionName: hevc_compute_poc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hevc_compute_poc(HEVCSliceInfo *si) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: hevc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:8874,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8913,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8951,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:8994,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9022,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9059,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9065,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9148,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9167,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8900,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9028,1
    - Dst: lhvc_get_num_views
      Src: /src/gpac/src/media_tools/av_parsers.c:8950,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9036,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9040,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9042,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9058,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9130,1
    - Dst: lhvc_parse_rep_format
      Src: /src/gpac/src/media_tools/av_parsers.c:9154,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8876,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8888,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8908,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:8927,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8957,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9032,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9044,1
    - Dst: hevc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:9051,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9078,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8919,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8948,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9015,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9026,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9050,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9146,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9157,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 331
    argCount: 2
    argNames:
    - vps
    - bs
    argTypes:
    - HEVC_VPS*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 9176
      start: 8852
    functionDepth: 0
    functionLinenumber: 8852
    functionLinenumberEnd: 9176
    functionName: hevc_parse_vps_extension
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - lhvc_parse_rep_format
    - gf_bs_read_ue_log
    - lhvc_get_num_views
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log_idx2
    - gf_bs_read_int_log
    - hevc_profile_tier_level
    linkageType: ''
    returnType: Bool
    signature: 'static Bool hevc_parse_vps_extension(HEVC_VPS *vps, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:9721,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:9725,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:9723,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:9729,1
    - Dst: gf_hevc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:9726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 4
    argNames:
    - data
    - size
    - hevc
    - vui_flag_pos
    argTypes:
    - char*
    - u32
    - HEVCState*
    - u32*
    constantsTouched: []
    func_position:
      end: 9731
      start: 9712
    functionDepth: 0
    functionLinenumber: 9712
    functionLinenumberEnd: 9731
    functionName: gf_hevc_read_sps_ex
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_enable_emulation_byte_removal
    - hevc_parse_nal_header
    - gf_bs_new
    - gf_hevc_read_sps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_sps_ex(char *data, u32 size, HEVCState
      *hevc, u32 *vui_flag_pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:10317,1
    - Dst: gf_hevc_get_sps_info_with_state
      Src: /src/gpac/src/media_tools/av_parsers.c:10320,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 7
    argNames:
    - sps_data
    - sps_size
    - sps_id
    - width
    - height
    - par_n
    - par_d
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 10323
      start: 10313
    functionDepth: 0
    functionLinenumber: 10313
    functionLinenumberEnd: 10323
    functionName: gf_hevc_get_sps_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_free
    - GF_SAFEALLOC
    - gf_hevc_get_sps_info_with_state
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hevc_get_sps_info(u8 *sps_data, u32 sps_size,
      u32 *sps_id, u32 *width, u32 *height, s32 *par_n, s32 *par_d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gpac/src/media_tools/av_parsers.c:10937,1
    - Dst: pow
      Src: /src/gpac/src/media_tools/av_parsers.c:10937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - entries
    - dim
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 10952
      start: 10935
    functionDepth: 0
    functionLinenumber: 10935
    functionLinenumberEnd: 10952
    functionName: vorbis_book_maptype1_quantvals
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - floor
    - pow
    linkageType: ''
    returnType: u32
    signature: 'static u32 vorbis_book_maptype1_quantvals(u32 entries, u32 dim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av1_decode_unsigned_subexp_with_ref
      Src: /src/gpac/src/media_tools/av_parsers.c:3236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - bs
    - low
    - high
    - r
    argTypes:
    - GF_BitStream*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 3238
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3238
    functionName: av1_decode_signed_subexp_with_ref
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_decode_unsigned_subexp_with_ref
    linkageType: ''
    returnType: s16
    signature: 'static s16 av1_decode_signed_subexp_with_ref(GF_BitStream *bs, s32
      low, s32 high, s32 r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4718,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4724,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4719,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4723,1
    - Dst: iamf_is_profile_supported
      Src: /src/gpac/src/media_tools/av_parsers.c:4725,1
    - Dst: iamf_is_profile_supported
      Src: /src/gpac/src/media_tools/av_parsers.c:4725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4732
      start: 4716
    functionDepth: 0
    functionLinenumber: 4716
    functionLinenumberEnd: 4732
    functionName: iamf_parse_ia_sequence_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - iamf_is_profile_supported
    - gf_bs_read_int_log
    - GF_4CC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err iamf_parse_ia_sequence_header(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5107,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5132
      start: 5102
    functionDepth: 0
    functionLinenumber: 5102
    functionLinenumberEnd: 5132
    functionName: gf_mp3_sampling_rate
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_mp3_sampling_rate(u32 hdr) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:6833,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:6839,1
    - Dst: svc_parse_slice
      Src: /src/gpac/src/media_tools/av_parsers.c:6857,1
    - Dst: gf_avc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:6945,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6963,1
    - Dst: avc_compute_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:6994,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:6995,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:6832,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:6836,1
    - Dst: avc_compute_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:6862,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:6865,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:6868,1
    - Dst: avc_parse_slice
      Src: /src/gpac/src/media_tools/av_parsers.c:6883,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6953,1
    - Dst: gf_avc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:6957,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6958,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6834,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6854,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6873,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6946,1
    - Dst: SVC_ReadNal_header_extension
      Src: /src/gpac/src/media_tools/av_parsers.c:6853,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6884,1
    - Dst: gf_avc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:6952,1
    - Dst: SVC_ReadNal_header_extension
      Src: /src/gpac/src/media_tools/av_parsers.c:6872,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:6962,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 128
    argCount: 2
    argNames:
    - bs
    - avc
    argTypes:
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 6997
      start: 6824
    functionDepth: 0
    functionLinenumber: 6824
    functionLinenumberEnd: 6997
    functionName: gf_avc_parse_nalu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - SVC_ReadNal_header_extension
    - gf_bs_read_u8
    - svc_parse_slice
    - gf_avc_read_pps_bs_internal
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_available
    - gf_bs_is_overflow
    - avc_compute_poc
    - memcpy
    - gf_avc_read_sps_bs_internal
    - gf_bs_read_ue
    - gf_bs_mark_overflow
    - avc_parse_slice
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_avc_parse_nalu(GF_BitStream *bs, AVCState *avc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8730,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8736,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8733,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8739,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - bs
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - GF_BitStream*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 8745
      start: 8727
    functionDepth: 0
    functionLinenumber: 8727
    functionLinenumberEnd: 8745
    functionName: hevc_parse_nal_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: Bool
    signature: 'static Bool hevc_parse_nal_header(GF_BitStream *bs, u8 *nal_unit_type,
      u8 *temporal_id, u8 *layer_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_read_sps_ex
      Src: /src/gpac/src/media_tools/av_parsers.c:9736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - hevc
    argTypes:
    - u8*
    - u32
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 9737
      start: 9733
    functionDepth: 0
    functionLinenumber: 9733
    functionLinenumberEnd: 9737
    functionName: gf_hevc_read_sps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_sps_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_sps(u8 *data, u32 size, HEVCState *hevc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 10336
      start: 10325
    functionDepth: 0
    functionLinenumber: 10325
    functionLinenumberEnd: 10336
    functionName: AC3_FindSyncCode
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 AC3_FindSyncCode(u8 *buf, u32 buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - v
    - dec
    argTypes:
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 10963
      start: 10954
    functionDepth: 0
    functionLinenumber: 10954
    functionLinenumberEnd: 10963
    functionName: ilog
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ilog(u32 v, Bool dec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:13781,1
    - Dst: gf_vvc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:13785,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:13795,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13790,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13796,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13814,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:13822,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13827,1
    - Dst: vvc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:13784,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13809,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13791,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13800,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13801,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13810,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13812,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/av_parsers.c:13820,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13824,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:13780,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13769,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13789,1
    - Dst: avc_hevc_vvc_rewrite_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:13805,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:13825,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:13757,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/av_parsers.c:13763,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/av_parsers.c:13774,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13783,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/media_tools/av_parsers.c:13808,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:13817,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:13818,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - vvcc
    - vui_info
    argTypes:
    - GF_VVCConfig*
    - GF_VUIInfo*
    constantsTouched: []
    func_position:
      end: 13829
      start: 13746
    functionDepth: 0
    functionLinenumber: 13746
    functionLinenumberEnd: 13829
    functionName: gf_vvc_change_vui
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_bits_available
    - gf_bs_get_content
    - gf_bs_del
    - avc_hevc_vvc_rewrite_vui
    - gf_list_enum
    - vvc_parse_nal_header
    - gf_realloc
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_seek
    - gf_media_nalu_add_emulation_bytes
    - gf_media_nalu_emulation_bytes_add_count
    - gf_media_nalu_remove_emulation_bytes
    - GF_SAFEALLOC
    - gf_free
    - gf_vvc_read_sps_bs_internal
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_vvc_change_vui(GF_VVCConfig *vvcc, GF_VUIInfo
      *vui_info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11706,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11708,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11711,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11714,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11717,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - bs
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - GF_BitStream*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 11722
      start: 11703
    functionDepth: 0
    functionLinenumber: 11703
    functionLinenumberEnd: 11722
    functionName: vvc_parse_nal_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vvc_parse_nal_header(GF_BitStream *bs, u8 *nal_unit_type,
      u8 *temporal_id, u8 *layer_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1353,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: gf_latm_get_value
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_latm_get_value(GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3363,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:3371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:3375,1
    - Dst: find_latest_forward
      Src: /src/gpac/src/media_tools/av_parsers.c:3431,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 4
    argNames:
    - state
    - last_frame_idx
    - gold_frame_idx
    - ref_frame_idx
    argTypes:
    - AV1State*
    - u8
    - u8
    - s8*
    constantsTouched: []
    func_position:
      end: 3452
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3452
    functionName: av1_set_frame_refs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - find_latest_forward
    - av1_get_relative_dist
    linkageType: ''
    returnType: void
    signature: 'static void av1_set_frame_refs(AV1State *state, u8 last_frame_idx,
      u8 gold_frame_idx, s8 *ref_frame_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - video_prof
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 5417
      start: 5404
    functionDepth: 0
    functionLinenumber: 5404
    functionLinenumberEnd: 5417
    functionName: gf_hevc_get_profile_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_hevc_get_profile_name(u8 video_prof) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5484
      start: 5481
    functionDepth: 0
    functionLinenumber: 5481
    functionLinenumberEnd: 5484
    functionName: gf_bs_read_ue
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bs_read_ue(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6294,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6296,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6297,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6298,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6295,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6299,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6300,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6301,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6302,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6303,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - NalHeader
    argTypes:
    - GF_BitStream*
    - SVC_NALUHeader*
    constantsTouched: []
    func_position:
      end: 6306
      start: 6292
    functionDepth: 0
    functionLinenumber: 6292
    functionLinenumberEnd: 6306
    functionName: SVC_ReadNal_header_extension
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 SVC_ReadNal_header_extension(GF_BitStream *bs, SVC_NALUHeader
      *NalHeader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10973
      start: 10965
    functionDepth: 0
    functionLinenumber: 10965
    functionLinenumberEnd: 10973
    functionName: icount
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 icount(u32 v) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:11236,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:11237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ocfg
    - data
    - data_length
    argTypes:
    - GF_OpusConfig*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 11257
      start: 11231
    functionDepth: 0
    functionLinenumber: 11231
    functionLinenumberEnd: 11257
    functionName: gf_opus_check_frame
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_opus_check_frame(GF_OpusConfig *ocfg, u8 *data, u32 data_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13721,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13726,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:13725,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:13723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 6
    argNames:
    - data
    - size
    - vvc
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - u8*
    - u32
    - VVCState*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 13728
      start: 13707
    functionDepth: 0
    functionLinenumber: 13707
    functionLinenumberEnd: 13728
    functionName: gf_vvc_parse_nalu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_vvc_parse_nalu_bs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_vvc_parse_nalu(u8 *data, u32 size, VVCState *vvc,
      u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - nb_chan
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1370
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1370
    functionName: gf_m4a_get_channel_cfg
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m4a_get_channel_cfg(u32 nb_chan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - blkSize
    - target
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2929
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2929
    functionName: aom_av1_tile_log2
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 aom_av1_tile_log2(u32 blkSize, u32 target) '
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3818,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3931,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3957,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3960,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4046,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4043,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3545,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3572,1
    - Dst: av1_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3653,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3835,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:3991,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4038,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3503,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3803,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3838,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3906,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4066,1
    - Dst: av1_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:3718,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3771,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3703,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3807,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3517,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3567,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:3757,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3853,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:3988,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4061,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3510,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3596,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3624,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3634,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3640,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3658,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3834,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3905,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3974,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4074,1
    - Dst: av1_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:3717,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3481,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3505,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3522,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3576,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3804,1
    - Dst: av1_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:3715,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3882,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3949,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4019,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3644,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3774,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:3989,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4079,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4081,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:3754,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3808,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3565,1
    - Dst: av1_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3614,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3740,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3912,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4045,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4069,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3631,1
    - Dst: av1_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3654,1
    - Dst: av1_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:3714,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3663,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3712,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3864,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3867,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4013,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4022,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4041,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3812,1
    - Dst: av1_parse_tile_info
      Src: /src/gpac/src/media_tools/av_parsers.c:3701,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3722,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3786,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3811,1
    - Dst: read_interpolation_filter
      Src: /src/gpac/src/media_tools/av_parsers.c:3661,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3869,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3911,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:4002,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4040,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3487,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3602,1
    - Dst: av1_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3621,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3690,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3824,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3820,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3826,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:3992,1
    - Dst: av1_read_global_param
      Src: /src/gpac/src/media_tools/av_parsers.c:4001,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4056,1
    - Dst: av1_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:3708,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3783,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3536,1
    - Dst: av1_get_qindex
      Src: /src/gpac/src/media_tools/av_parsers.c:3794,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3842,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3890,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4011,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4025,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4029,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4077,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4070,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3558,1
    - Dst: av1_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3613,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3814,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:3747,1
    - Dst: av1_setup_past_independence
      Src: /src/gpac/src/media_tools/av_parsers.c:3694,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3725,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3738,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3981,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4049,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4050,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3787,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3538,1
    - Dst: av1_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3622,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3633,1
    - Dst: frame_size_with_refs
      Src: /src/gpac/src/media_tools/av_parsers.c:3650,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3665,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3723,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3733,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3741,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4073,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3585,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3616,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3841,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3874,1
    - Dst: av1_get_relative_dist
      Src: /src/gpac/src/media_tools/av_parsers.c:3932,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3976,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4016,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4024,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3721,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3483,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3492,1
    - Dst: av1_set_frame_refs
      Src: /src/gpac/src/media_tools/av_parsers.c:3635,1
    - Dst: av1_load_previous
      Src: /src/gpac/src/media_tools/av_parsers.c:3698,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3839,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4078,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4082,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4072,1
    CyclomaticComplexity: 190
    EdgeCount: 190
    ICount: 586
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 4088
      start: 3455
    functionDepth: 0
    functionLinenumber: 3455
    functionLinenumberEnd: 4088
    functionName: av1_parse_uncompressed_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_render_size
    - frame_size_with_refs
    - av1_read_global_param
    - av1_delta_q
    - av1_load_previous
    - av1_parse_tile_info
    - read_interpolation_filter
    - av1_get_qindex
    - av1_setup_past_independence
    - av1_get_relative_dist
    - gf_bs_read_int_log_idx
    - av1_frame_size
    - gf_bs_read_int_log_idx2
    - gf_bs_read_int_log
    - av1_set_frame_refs
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_uncompressed_header(GF_BitStream *bs, AV1State
      *state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:4538,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4541,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:4555,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4553,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4557,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4558,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4559,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4560,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4561,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4563,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:4532,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4540,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/av_parsers.c:4541,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4552,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:4554,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4562,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4581,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4588,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4542,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4549,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4565,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4566,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4567,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4568,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4569,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4574,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4587,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4534,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4535,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:4539,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4546,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:4556,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:4547,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4548,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4564,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4570,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4585,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 88
    argCount: 2
    argNames:
    - bs
    - prores_frame
    argTypes:
    - GF_BitStream*
    - GF_ProResFrameInfo*
    constantsTouched: []
    func_position:
      end: 4595
      start: 4527
    functionDepth: 0
    functionLinenumber: 4527
    functionLinenumberEnd: 4595
    functionName: gf_media_prores_parse_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - memset
    - gf_bs_read_u8
    - GF_4CC
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - gf_bs_read_int
    - gf_bs_available
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_prores_parse_bs(GF_BitStream *bs, GF_ProResFrameInfo
      *prores_frame) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - chroma_format
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 5431
      start: 5418
    functionDepth: 0
    functionLinenumber: 5418
    functionLinenumberEnd: 5431
    functionName: gf_avc_hevc_get_chroma_format_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_avc_hevc_get_chroma_format_name(u8 chroma_format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:5488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 5491
      start: 5486
    functionDepth: 0
    functionLinenumber: 5486
    functionLinenumberEnd: 5491
    functionName: gf_bs_read_se
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue
    linkageType: ''
    returnType: s32
    signature: 's32 gf_bs_read_se(GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6310,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6313,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6318,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6321,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6315,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:6324,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6328,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6331,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6333,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6336,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6339,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:6342,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 3
    argNames:
    - bs
    - slice_type
    - is_mvc
    argTypes:
    - GF_BitStream*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 6345
      start: 6308
    functionDepth: 0
    functionLinenumber: 6308
    functionLinenumberEnd: 6345
    functionName: avc_ref_pic_list_modification
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_bs_read_ue_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void avc_ref_pic_list_modification(GF_BitStream *bs, u32 slice_type,
      Bool is_mvc) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_book_maptype1_quantvals
      Src: /src/gpac/src/media_tools/av_parsers.c:11068,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11083,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:11089,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11126,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11159,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11138,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11038,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11153,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11160,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11102,1
    - Dst: ilog
      Src: /src/gpac/src/media_tools/av_parsers.c:11142,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11139,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11093,1
    - Dst: ilog
      Src: /src/gpac/src/media_tools/av_parsers.c:11143,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11140,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11005,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11039,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11041,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11067,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11149,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11054,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11092,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:11104,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11123,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11075,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11094,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11124,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11121,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11108,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11157,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11097,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11129,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11034,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:11084,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11128,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11154,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11161,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11095,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11098,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11002,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11006,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11035,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11152,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11162,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11066,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11111,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11137,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11138,1
    - Dst: oggpack_readinit
      Src: /src/gpac/src/media_tools/av_parsers.c:10984,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11029,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11052,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:11105,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11112,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11125,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11122,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11109,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11009,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11011,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11079,1
    - Dst: icount
      Src: /src/gpac/src/media_tools/av_parsers.c:11130,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11086,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11142,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11118,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11110,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11003,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11036,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11042,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11076,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11143,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:10988,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11008,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11048,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11071,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11115,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11064,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11132,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11129,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11134,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11113,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:10992,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:10998,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:10985,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11059,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11065,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11146,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11077,1
    - Dst: oggpack_read
      Src: /src/gpac/src/media_tools/av_parsers.c:11004,1
    - Dst: ilog
      Src: /src/gpac/src/media_tools/av_parsers.c:11054,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 253
    argCount: 3
    argNames:
    - vp
    - data
    - data_len
    argTypes:
    - GF_VorbisParser*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 11173
      start: 10976
    functionDepth: 0
    functionLinenumber: 10976
    functionLinenumberEnd: 11173
    functionName: gf_vorbis_parse_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - vorbis_book_maptype1_quantvals
    - strcmp
    - oggpack_read
    - oggpack_readinit
    - ilog
    - icount
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_vorbis_parse_header(GF_VorbisParser *vp, u8 *data,
      u32 data_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:11200,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:11204,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:11205,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:11201,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:11209,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:11211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11212,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:11215,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:11216,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/media_tools/av_parsers.c:11217,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:11221,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:11222,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:11219,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/media_tools/av_parsers.c:11218,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:11225,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:11223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ocfg
    - data
    - data_len
    argTypes:
    - GF_OpusConfig*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 11227
      start: 11197
    functionDepth: 0
    functionLinenumber: 11197
    functionLinenumberEnd: 11227
    functionName: gf_opus_parse_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    - gf_bs_read_u8
    - gf_bs_del
    - memcmp
    - GF_LOG
    - gf_bs_new
    - gf_bs_read_u32_le
    - gf_bs_read_data
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_opus_parse_header(GF_OpusConfig *ocfg, u8 *data, u32 data_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - vvc
    argTypes:
    - VVCState*
    constantsTouched: []
    func_position:
      end: 13743
      start: 13730
    functionDepth: 0
    functionLinenumber: 13730
    functionLinenumberEnd: 13743
    functionName: gf_vvc_slice_is_ref
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_vvc_slice_is_ref(VVCState *vvc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:292,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: gf_m4v_parser_del
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m4v_parser_del(GF_M4VParser *m4v) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:538,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:545,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:553,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:580,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:582,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:589,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:539,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:536,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:561,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:552,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:555,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:556,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:577,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:583,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:584,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:532,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:542,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:557,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:576,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:581,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:585,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:537,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:540,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:544,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:550,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:559,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:553,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:551,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 2
    argNames:
    - m4v
    - dsi
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 590
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 590
    functionName: gf_m4v_parse_vol
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - memset
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void gf_m4v_parse_vol(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:835,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:853,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:861,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:865,1
    - Dst: m4v_get_sar_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:869,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:872,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/media_tools/av_parsers.c:886,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/media_tools/av_parsers.c:891,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:892,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:894,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/av_parsers.c:845,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:854,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:858,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:863,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:856,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:873,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:877,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:888,1
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/media_tools/av_parsers.c:834,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:841,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:852,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:855,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:859,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:857,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:857,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:861,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:887,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:893,1
    - Dst: M4V_LoadObject
      Src: /src/gpac/src/media_tools/av_parsers.c:839,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:846,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:856,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:866,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:870,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - o_data
    - o_dataLen
    - par_n
    - par_d
    argTypes:
    - u8**
    - u32*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 896
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 896
    functionName: gf_m4v_rewrite_par
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - assert
    - gf_bs_del
    - M4V_LoadObject
    - gf_bs_get_position
    - gf_m4v_parser_new
    - gf_bs_write_data
    - m4v_get_sar_idx
    - gf_bs_read_int
    - gf_bs_new
    - gf_m4v_parser_del
    - gf_bs_bits_available
    - gf_bs_write_int
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_m4v_rewrite_par(u8 **o_data, u32 *o_dataLen, s32 par_n,
      s32 par_d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2123,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2127
    functionName: vp9_delta_q
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_delta_q(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2546,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:2551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 2555
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2555
    functionName: gf_av1_leb128_write
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_av1_leb128_size
    - gf_bs_write_u8
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_av1_leb128_write(GF_BitStream *bs, u64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2935,1
    - Dst: gf_bs_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - n
    - name
    argTypes:
    - GF_BitStream*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2940
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2940
    functionName: aom_av1_le
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_log
    - gf_bs_read_int
    linkageType: ''
    returnType: u64
    signature: 'static u64 aom_av1_le(GF_BitStream *bs, u32 n, const char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4741,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4740,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4749,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4750,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4751,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4753,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4754,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4752,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4790,1
    - Dst: gf_odf_delete_descriptor
      Src: /src/gpac/src/media_tools/av_parsers.c:4799,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4738,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4747,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4760,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4762,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4766,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/media_tools/av_parsers.c:4770,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4739,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4756,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4757,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:4743,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4748,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4761,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4755,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4763,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:4784,1
    - Dst: gf_m4a_parse_config
      Src: /src/gpac/src/media_tools/av_parsers.c:4786,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4802
      start: 4734
    functionDepth: 0
    functionLinenumber: 4734
    functionLinenumberEnd: 4802
    functionName: iamf_parse_codec_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_odf_delete_descriptor
    - gf_bs_del
    - GF_4CC
    - gf_bs_new
    - gf_av1_leb128_read
    - gf_odf_parse_descriptor
    - gf_bs_read_int_log
    - gf_m4a_parse_config
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err iamf_parse_codec_config(GF_BitStream *bs, IAMFState
      *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5093
      start: 5089
    functionDepth: 0
    functionLinenumber: 5089
    functionLinenumberEnd: 5093
    functionName: gf_mp3_layer
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_mp3_layer(u32 hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: gf_m4v_parser_del_no_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m4v_parser_del_no_bs(GF_M4VParser *m4v) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:336,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:340,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:337,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:353,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:341,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: M4V_LoadObject
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_read_data
    linkageType: ''
    returnType: s32
    signature: 's32 M4V_LoadObject(GF_M4VParser *m4v) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:599,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:607,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:613,1
    - Dst: gf_m4v_parse_vol
      Src: /src/gpac/src/media_tools/av_parsers.c:611,1
    - Dst: M4V_LoadObject
      Src: /src/gpac/src/media_tools/av_parsers.c:603,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:622,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - m4v
    - dsi
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 631
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 631
    functionName: gf_m4v_parse_config_mpeg4
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - memset
    - M4V_LoadObject
    - gf_bs_get_position
    - gf_m4v_parse_vol
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m4v_parse_config_mpeg4(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 902
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 902
    functionName: gf_m4v_get_object_start
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_m4v_get_object_start(GF_M4VParser *m4v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2131,1
    - Dst: vp9_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:2132,1
    - Dst: vp9_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:2134,1
    - Dst: vp9_delta_q
      Src: /src/gpac/src/media_tools/av_parsers.c:2133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2135
    functionName: vp9_quantization_params
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    - vp9_delta_q
    linkageType: ''
    returnType: void
    signature: 'static void vp9_quantization_params(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:2956,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2979,1
    - Dst: av1_read_ns
      Src: /src/gpac/src/media_tools/av_parsers.c:2999,1
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:3026,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3030,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2958,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2963,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/av_parsers.c:3015,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:3019,1
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:3009,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:2998,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3029,1
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:2954,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:2955,1
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:2957,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/av_parsers.c:3001,1
    - Dst: av1_read_ns
      Src: /src/gpac/src/media_tools/av_parsers.c:3020,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:2956,1
    - Dst: aom_av1_tile_log2
      Src: /src/gpac/src/media_tools/av_parsers.c:2955,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/av_parsers.c:2957,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/av_parsers.c:2976,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:3005,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 116
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 3032
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 3032
    functionName: av1_parse_tile_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - MIN
    - aom_av1_tile_log2
    - GF_LOG
    - av1_read_ns
    - gf_bs_read_int_log
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_tile_info(GF_BitStream *bs, AV1State *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4806,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4810,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4808,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4809,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4814
      start: 4804
    functionDepth: 0
    functionLinenumber: 4804
    functionLinenumberEnd: 4814
    functionName: iamf_parse_audio_element
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    - gf_av1_leb128_read
    linkageType: ''
    returnType: void
    signature: 'static void iamf_parse_audio_element(GF_BitStream *bs, IAMFState *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5100
      start: 5095
    functionDepth: 0
    functionLinenumber: 5095
    functionLinenumberEnd: 5100
    functionName: gf_mp3_num_channels
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_mp3_num_channels(u32 hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:7176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7182
      start: 7174
    functionDepth: 0
    functionLinenumber: 7174
    functionLinenumberEnd: 7182
    functionName: avc_hevc_get_sar_idx
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: u8
    signature: 'static u8 avc_hevc_get_sar_idx(u32 w, u32 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - acmod
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10394
      start: 10388
    functionDepth: 0
    functionLinenumber: 10388
    functionLinenumberEnd: 10394
    functionName: gf_ac3_get_total_channels
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_ac3_get_total_channels(u32 acmod) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11975,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11976,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11983,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11979,1
    - Dst: vvc_parse_sublayer_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:11986,1
    - Dst: vvc_parse_sublayer_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:11989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 7
    argNames:
    - bs
    - firstSubLayer
    - MaxSubLayersVal
    - general_nal_hrd_params_present_flag
    - general_vcl_hrd_params_present_flag
    - general_du_hrd_params_present_flag
    - hrd_cpb_cnt_minus1
    argTypes:
    - GF_BitStream*
    - u32
    - u32
    - Bool
    - Bool
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 11992
      start: 11970
    functionDepth: 0
    functionLinenumber: 11970
    functionLinenumberEnd: 11992
    functionName: vvc_parse_ols_timing_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log_idx
    - vvc_parse_sublayer_hrd_parameters
    linkageType: ''
    returnType: void
    signature: 'static void vvc_parse_ols_timing_hrd_parameters(GF_BitStream *bs,
      u32 firstSubLayer, u32 MaxSubLayersVal, Bool general_nal_hrd_params_present_flag,
      Bool general_vcl_hrd_params_present_flag, Bool general_du_hrd_params_present_flag,
      u32 hrd_cpb_cnt_minus1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:2520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - opt_Leb128Bytes
    argTypes:
    - GF_BitStream*
    - u8*
    constantsTouched: []
    func_position:
      end: 2532
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2532
    functionName: gf_av1_leb128_read
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_av1_leb128_read(GF_BitStream *bs, u8 *opt_Leb128Bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - objectType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1000
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1000
    functionName: gf_m4a_object_type_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_m4a_object_type_name(u32 objectType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1657,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1659,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1663,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1665,1
    - Dst: av1_uvlc
      Src: /src/gpac/src/media_tools/av_parsers.c:1667,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1675
    functionName: timing_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - av1_uvlc
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void timing_info(GF_BitStream *bs, AV1State *state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: av1_decode_signed_subexp_with_ref
      Src: /src/gpac/src/media_tools/av_parsers.c:3259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 5
    argNames:
    - state
    - bs
    - type
    - ref
    - idx
    argTypes:
    - AV1State*
    - GF_BitStream*
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 3268
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3268
    functionName: av1_read_global_param
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_decode_signed_subexp_with_ref
    linkageType: ''
    returnType: void
    signature: 'static void av1_read_global_param(AV1State *state, GF_BitStream *bs,
      u8 type, u8 ref, u8 idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - AV1State*
    constantsTouched: []
    func_position:
      end: 3324
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3324
    functionName: av1_decode_frame_wrapup
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void av1_decode_frame_wrapup(AV1State *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av1_parse_frame_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4325,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:4328,1
    - Dst: av1_parse_tile_group
      Src: /src/gpac/src/media_tools/av_parsers.c:4331,1
    - Dst: gf_bs_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:4329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - bs
    - state
    - obu_start
    - obu_size
    argTypes:
    - GF_BitStream*
    - AV1State*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 4332
      start: 4323
    functionDepth: 0
    functionLinenumber: 4323
    functionLinenumberEnd: 4332
    functionName: av1_parse_frame
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_parse_tile_group
    - gf_bs_log_idx
    - gf_bs_align
    - av1_parse_frame_header
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1_parse_frame(GF_BitStream *bs, AV1State *state, u64
      obu_start, u64 obu_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4373,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:4379,1
    - Dst: av1_parse_timecode_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4387,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:4383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - state
    - bs
    argTypes:
    - AV1State*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4392
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4392
    functionName: av1_parse_obu_metadata
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_parse_timecode_obu
    - gf_bs_read_data
    - gf_av1_leb128_read
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_obu_metadata(AV1State *state, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - buffer_src
    - buffer_dst
    - nal_size
    argTypes:
    - u8*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5788
      start: 5751
    functionDepth: 0
    functionLinenumber: 5751
    functionLinenumberEnd: 5788
    functionName: gf_media_nalu_remove_emulation_bytes
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_media_nalu_remove_emulation_bytes(const u8 *buffer_src,
      u8 *buffer_dst, u32 nal_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:46,1
    - Dst: gf_bs_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 6
    argNames:
    - bs
    - nBits
    - fname
    - idx1
    - idx2
    - idx3
    argTypes:
    - GF_BitStream*
    - u32
    - char*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: gf_bs_read_int_log_idx3
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - gf_bs_log_idx
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_bs_read_int_log_idx3(GF_BitStream *bs, u32 nBits, const
      char *fname, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1678,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1680,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1681,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - state
    - bs
    argTypes:
    - AV1State*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1682
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1682
    functionName: decoder_model_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void decoder_model_info(AV1State *state, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 2542
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2542
    functionName: gf_av1_leb128_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_av1_leb128_size(u64 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - state
    argTypes:
    - s32
    - s32
    - AV1State*
    constantsTouched: []
    func_position:
      end: 3278
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3278
    functionName: av1_get_relative_dist
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 av1_get_relative_dist(s32 a, s32 b, AV1State *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - curFrameHint
    - shiftedOrderHints
    - usedFrame
    argTypes:
    - u32
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3339
    functionName: find_latest_forward
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 find_latest_forward(u32 curFrameHint, u8 *shiftedOrderHints,
      u8 *usedFrame) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4341,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4344,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4343,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4345,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4342,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4348,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4349,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4350,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4352,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4354,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4355,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4360,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4357,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4367,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4358,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:4365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - sei
    - bs
    argTypes:
    - GF_SEIInfo*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4334
    functionDepth: 0
    functionLinenumber: 4334
    functionLinenumberEnd: 4369
    functionName: av1_parse_timecode_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_timecode_obu(GF_SEIInfo *sei, GF_BitStream *bs) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4474,1
    - Dst: av1_parse_frame_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4486,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4488,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4497,1
    - Dst: av1_parse_tile_group
      Src: /src/gpac/src/media_tools/av_parsers.c:4504,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4510,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4480,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4416,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4404,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4428,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4445,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4459,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4469,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4479,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4505,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4500,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4506,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4505,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4423,1
    - Dst: av1_parse_obu_metadata
      Src: /src/gpac/src/media_tools/av_parsers.c:4478,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4487,1
    - Dst: av1_parse_frame
      Src: /src/gpac/src/media_tools/av_parsers.c:4495,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4519,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4492,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4516,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4399,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4410,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4409,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4427,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4428,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4429,1
    - Dst: av1_parse_sequence_header_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4468,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4469,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4470,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 138
    argCount: 5
    argNames:
    - bs
    - obu_type
    - obu_size
    - obu_hdr_size
    - state
    argTypes:
    - GF_BitStream*
    - ObuType*
    - u64*
    - u32*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 4524
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4524
    functionName: gf_av1_parse_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_parse_frame_header
    - gf_bs_get_position
    - av1_parse_sequence_header_obu
    - GF_LOG
    - gf_bs_seek
    - gf_bs_is_overflow
    - gf_bs_available
    - gf_av1_parse_obu_header
    - av1_parse_obu_metadata
    - gf_av1_leb128_read
    - av1_parse_frame
    - gf_bs_mark_overflow
    - av1_parse_tile_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_av1_parse_obu(GF_BitStream *bs, ObuType *obu_type,
      u64 *obu_size, u32 *obu_hdr_size, AV1State *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:5514,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:5515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - num
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 5516
      start: 5505
    functionDepth: 0
    functionLinenumber: 5505
    functionLinenumberEnd: 5516
    functionName: gf_bs_write_ue
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_write_ue(GF_BitStream *bs, u32 num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:6694,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:6695,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:6696,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:6697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - dovi
    argTypes:
    - GF_BitStream*
    - AVCSeiItuTT35DolbyVision*
    constantsTouched: []
    func_position:
      end: 6701
      start: 6692
    functionDepth: 0
    functionLinenumber: 6692
    functionLinenumberEnd: 6701
    functionName: avc_parse_itu_t_t35_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    linkageType: ''
    returnType: void
    signature: 'static void avc_parse_itu_t_t35_sei(GF_BitStream* bs, AVCSeiItuTT35DolbyVision
      *dovi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:7832,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:7837,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7840,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7841,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7838,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pps_data
    - pps_size
    - pps_id
    - sps_id
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 7846
      start: 7826
    functionDepth: 0
    functionLinenumber: 7826
    functionLinenumberEnd: 7846
    functionName: gf_avc_get_pps_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_bs_read_ue
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_avc_get_pps_info(u8 *pps_data, u32 pps_size, u32
      *pps_id, u32 *sps_id) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10431,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:10433,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:10436,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:10438,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:10434,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10441,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10442,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10443,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10444,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10445,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10485,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10446,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10488,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10486,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10493,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10484,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 3
    argNames:
    - bs
    - hdr
    - full_parse
    argTypes:
    - GF_BitStream*
    - GF_AC3Config*
    - Bool
    constantsTouched: []
    func_position:
      end: 10496
      start: 10426
    functionDepth: 0
    functionLinenumber: 10426
    functionLinenumberEnd: 10496
    functionName: gf_ac3_parser_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - memset
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - AC3_FindSyncCodeBS
    - gf_bs_read_int_log
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_ac3_parser_bs(GF_BitStream *bs, GF_AC3Config *hdr,
      Bool full_parse) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11627,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11629,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - bs
    - nBits1
    - nBits2
    - nBits3
    argTypes:
    - GF_BitStream*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 11637
      start: 11625
    functionDepth: 0
    functionLinenumber: 11625
    functionLinenumberEnd: 11637
    functionName: gf_mpegh_escaped_value
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_mpegh_escaped_value(GF_BitStream *bs, u32 nBits1, u32 nBits2,
      u32 nBits3) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:10342,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:10349,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:10343,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/media_tools/av_parsers.c:10344,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:10347,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 10358
      start: 10339
    functionDepth: 0
    functionLinenumber: 10339
    functionLinenumberEnd: 10358
    functionName: AC3_FindSyncCodeBS
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_get_size
    linkageType: ''
    returnType: Bool
    signature: 'static Bool AC3_FindSyncCodeBS(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: gf_m4v_is_valid_object_type
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_m4v_is_valid_object_type(GF_M4VParser *m4v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1376,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1380,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1391,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1403,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1414,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1419,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1422,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:1423,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1379,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1383,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1385,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1400,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1408,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:1421,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1378,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1382,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1384,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1396,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1395,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1387,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1404,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1411,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1418,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1377,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1381,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1399,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1389,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - bs
    - cfg
    argTypes:
    - GF_BitStream*
    - GF_M4ADecSpecInfo*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1425
    functionName: gf_m4a_write_program_config_element_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_align
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_write_program_config_element_bs(GF_BitStream
      *bs, GF_M4ADecSpecInfo *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3076,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3079,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3087
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3087
    functionName: av1_render_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void av1_render_size(GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:4823,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4833,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4830,1
    - Dst: gf_iamf_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4831,1
    - Dst: iamf_parse_ia_sequence_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4837,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 4840
      start: 4816
    functionDepth: 0
    functionLinenumber: 4816
    functionLinenumberEnd: 4840
    functionName: gf_media_probe_iamf
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_seek
    - gf_iamf_parse_obu_header
    - gf_bs_peek_bits
    - iamf_parse_ia_sequence_header
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_media_probe_iamf(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:4906,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/av_parsers.c:4919,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:4913,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4915,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4908,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4924,1
    - Dst: gf_iamf_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4925,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4926,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:4928,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:4929,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/av_parsers.c:4944,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:4933,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4939,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4937,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4938,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/av_parsers.c:4945,1
    - Dst: iamf_is_temporal_unit_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4932,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - bs
    - pos
    - obu_size
    - obu_type
    - obu_list
    - state
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - IamfObuType
    - GF_List**
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4946
      start: 4902
    functionDepth: 0
    functionLinenumber: 4902
    functionLinenumberEnd: 4946
    functionName: iamf_add_obu_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_reassign_buffer
    - gf_bs_write_data
    - gf_list_new
    - GF_LOG
    - gf_bs_new
    - gf_bs_seek
    - iamf_is_temporal_unit_obu
    - gf_iamf_parse_obu_header
    - GF_SAFEALLOC
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: void
    signature: 'static void iamf_add_obu_internal(GF_BitStream *bs, u64 pos, u64 obu_size,
      IamfObuType obu_type, GF_List **obu_list, IAMFState *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:6284,1
    - Dst: gf_avc_read_sps_ext_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:6285,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:6287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - spse_data
    - spse_size
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 6289
      start: 6279
    functionDepth: 0
    functionLinenumber: 6279
    functionLinenumberEnd: 6289
    functionName: gf_avc_read_sps_ext
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_avc_read_sps_ext_bs
    - gf_bs_del
    linkageType: ''
    returnType: s32
    signature: 's32 gf_avc_read_sps_ext(const char *spse_data, u32 spse_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 12006
      start: 11999
    functionDepth: 0
    functionLinenumber: 11999
    functionLinenumberEnd: 12006
    functionName: vvc_ceillog2
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 vvc_ceillog2(u32 val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - si
    - poc_reset
    argTypes:
    - VVCSliceInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 13538
      start: 13520
    functionDepth: 0
    functionLinenumber: 13520
    functionLinenumberEnd: 13538
    functionName: vvc_compute_poc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void vvc_compute_poc(VVCSliceInfo *si, Bool poc_reset) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1447,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1455,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1451,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1448,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1453,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1459,1
    - Dst: gf_m4a_get_channel_cfg
      Src: /src/gpac/src/media_tools/av_parsers.c:1461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:1463,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1466,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1475,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1503,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1499,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1479,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1501,1
    - Dst: gf_m4a_write_program_config_element_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:1506,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1477,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1510,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 57
    argCount: 2
    argNames:
    - bs
    - cfg
    argTypes:
    - GF_BitStream*
    - GF_M4ADecSpecInfo*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1519
    functionName: gf_m4a_write_config_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_m4a_write_program_config_element_bs
    - GF_LOG
    - gf_m4a_get_channel_cfg
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_write_config_bs(GF_BitStream *bs, GF_M4ADecSpecInfo
      *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1854,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:1856,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:1857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1861
    functionName: gf_media_probe_ivf
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_bs_peek_bits
    - GF_4CC
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_media_probe_ivf(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3091,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 3095
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3095
    functionName: read_interpolation_filter
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void read_interpolation_filter(GF_BitStream *bs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4846,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4857,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4863,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4864,1
    - Dst: iamf_is_temporal_unit_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4887,1
    - Dst: gf_iamf_get_obu_name
      Src: /src/gpac/src/media_tools/av_parsers.c:4893,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4858,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4858,1
    - Dst: iamf_parse_ia_sequence_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4871,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4892,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4893,1
    - Dst: iamf_is_descriptor_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4885,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4859,1
    - Dst: iamf_parse_codec_config
      Src: /src/gpac/src/media_tools/av_parsers.c:4877,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4897,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:4852,1
    - Dst: gf_iamf_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:4854,1
    - Dst: iamf_parse_audio_element
      Src: /src/gpac/src/media_tools/av_parsers.c:4880,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:4892,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - bs
    - obu_type
    - obu_size
    - state
    argTypes:
    - GF_BitStream*
    - IamfObuType*
    - u64*
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4900
      start: 4842
    functionDepth: 0
    functionLinenumber: 4842
    functionLinenumberEnd: 4900
    functionName: gf_iamf_parse_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - iamf_parse_audio_element
    - GF_LOG
    - gf_bs_seek
    - gf_iamf_get_obu_name
    - gf_bs_available
    - gf_bs_is_overflow
    - gf_iamf_parse_obu_header
    - iamf_is_descriptor_obu
    - iamf_is_temporal_unit_obu
    - iamf_parse_ia_sequence_header
    - iamf_parse_codec_config
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_iamf_parse_obu(GF_BitStream *bs, IamfObuType *obu_type,
      u64 *obu_size, IAMFState *state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iamf_is_descriptor_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4951,1
    - Dst: iamf_add_obu_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:4967,1
    - Dst: iamf_is_temporal_unit_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - bs
    - pos
    - obu_length
    - obu_type
    - state
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - IamfObuType
    - IAMFState*
    constantsTouched: []
    func_position:
      end: 4968
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 4968
    functionName: iamf_populate_state_from_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - iamf_is_temporal_unit_obu
    - iamf_is_descriptor_obu
    - iamf_add_obu_internal
    linkageType: ''
    returnType: void
    signature: 'static void iamf_populate_state_from_obu(GF_BitStream *bs, u64 pos,
      u64 obu_length, IamfObuType obu_type, IAMFState *state) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12021,1
    - Dst: vvc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:12054,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12057,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12068,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12111,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12163,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12138,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12222,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12248,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12289,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12312,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12210,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12214,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12190,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12211,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12234,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12305,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12366,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12375,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12268,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12182,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12061,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12142,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12200,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12272,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12291,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:12363,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12400,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12083,1
    - Dst: vvc_ceillog2
      Src: /src/gpac/src/media_tools/av_parsers.c:12097,1
    - Dst: vvc_ceillog2
      Src: /src/gpac/src/media_tools/av_parsers.c:12098,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12146,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12320,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12065,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12215,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12302,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12307,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12331,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12347,1
    - Dst: vvc_parse_general_timing_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:12351,1
    - Dst: vvc_parse_ols_timing_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:12356,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12379,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12387,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12253,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12296,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12337,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12161,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12040,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12039,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12038,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12158,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12168,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12176,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12207,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12237,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12257,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12389,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12255,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12275,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:12088,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12267,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12270,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12341,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12372,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12396,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12394,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12318,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12401,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12329,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12180,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12056,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12059,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12109,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12230,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12287,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12293,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12308,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12392,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12393,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12314,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12339,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:12051,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12066,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12172,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12204,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12094,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12261,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12269,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12279,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12300,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/media_tools/av_parsers.c:12368,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12280,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12183,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12107,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12126,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12179,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12162,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12187,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12225,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12228,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12245,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12262,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12297,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12188,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12117,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12123,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12124,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12130,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12229,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12250,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12258,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12284,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12310,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12381,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12149,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12105,1
    - Dst: vvc_parse_ref_pic_list_struct
      Src: /src/gpac/src/media_tools/av_parsers.c:12241,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12290,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12324,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12330,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12282,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12333,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12353,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12382,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:12408,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12378,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12398,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12017,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12067,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12085,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12217,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12151,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12205,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12191,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12227,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12232,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12233,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12367,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12374,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12335,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12315,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12171,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12197,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12095,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12137,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12139,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12140,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12141,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12223,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12246,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12311,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12264,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12195,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12201,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12144,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12166,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12203,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12043,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12060,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12118,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12167,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12327,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12373,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12391,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12369,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12385,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12062,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12218,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12252,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12274,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12376,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12361,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 468
    argCount: 4
    argNames:
    - bs
    - vvc
    - layer_id
    - vui_flag_pos
    argTypes:
    - GF_BitStream*
    - VVCState*
    - u8
    - u32*
    constantsTouched: []
    func_position:
      end: 12411
      start: 12008
    functionDepth: 0
    functionLinenumber: 12008
    functionLinenumberEnd: 12411
    functionName: gf_vvc_read_sps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_parse_ref_pic_list_struct
    - gf_bs_is_align
    - memset
    - vvc_profile_tier_level
    - GF_LOG
    - vvc_parse_general_timing_hrd_parameters
    - gf_bs_read_ue_log
    - vvc_ceillog2
    - gf_bs_read_ue_log_idx
    - gf_bs_read_se_log_idx
    - gf_bs_get_bit_offset
    - gf_bs_read_ue_log_idx2
    - gf_bs_read_se_log
    - gf_bs_is_overflow
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    - vvc_parse_ols_timing_hrd_parameters
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_vvc_read_sps_bs_internal(GF_BitStream *bs, VVCState
      *vvc, u8 layer_id, u32 *vui_flag_pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:13546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - si
    - poc
    argTypes:
    - VVCSliceInfo*
    - s32
    constantsTouched: []
    func_position:
      end: 13549
      start: 13540
    functionDepth: 0
    functionLinenumber: 13540
    functionLinenumberEnd: 13549
    functionName: vvc_push_ref_poc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void vvc_push_ref_poc(VVCSliceInfo *si, s32 poc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13962,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:13958,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13963,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13967,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13969,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/av_parsers.c:13974,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13944,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13949,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13951,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13961,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13950,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13964,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13970,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13972,1
    - Dst: memchr
      Src: /src/gpac/src/media_tools/av_parsers.c:13935,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13942,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13945,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13946,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13947,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13948,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13965,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13971,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13973,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13976,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:13941,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13952,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:13954,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13966,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:13968,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:13975,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 4
    argNames:
    - seq_hdr
    - seq_hdr_len
    - dsi
    - dsi_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 13978
      start: 13930
    functionDepth: 0
    functionLinenumber: 13930
    functionLinenumberEnd: 13978
    functionName: gf_media_vc1_seq_header_to_dsi
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_read_int
    - gf_bs_new
    - memchr
    - gf_bs_write_u32
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_vc1_seq_header_to_dsi(const u8 *seq_hdr, u32 seq_hdr_len,
      u8 **dsi, u32 *dsi_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11728,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11732,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11733,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11729,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11731,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11737,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11741,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:11743,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11744,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11747,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11748,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:11755,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:11750,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11753,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11763,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11761,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11758,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - bs
    - ptl
    - idx
    argTypes:
    - GF_BitStream*
    - VVC_ProfileTierLevel*
    - u32
    constantsTouched: []
    func_position:
      end: 11766
      start: 11724
    functionDepth: 0
    functionLinenumber: 11724
    functionLinenumberEnd: 11766
    functionName: vvc_profile_tier_level
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_align
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log_idx2
    linkageType: ''
    returnType: void
    signature: 'static void vvc_profile_tier_level(GF_BitStream *bs, VVC_ProfileTierLevel
      *ptl, u32 idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10228,1
    - Dst: avc_hevc_vvc_rewrite_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:10238,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10258,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10257,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:10218,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/media_tools/av_parsers.c:10241,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:10250,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:10251,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/av_parsers.c:10253,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:10195,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10207,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10247,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10229,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:10255,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10260,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:10217,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/av_parsers.c:10212,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/av_parsers.c:10201,1
    - Dst: gf_hevc_read_sps_ex
      Src: /src/gpac/src/media_tools/av_parsers.c:10220,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10223,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:10224,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10242,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10233,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10234,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - hvcc
    - vui_info
    argTypes:
    - GF_HEVCConfig*
    - GF_VUIInfo*
    constantsTouched: []
    func_position:
      end: 10262
      start: 10184
    functionDepth: 0
    functionLinenumber: 10184
    functionLinenumberEnd: 10262
    functionName: gf_hevc_change_vui
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_bits_available
    - gf_bs_get_content
    - gf_bs_del
    - avc_hevc_vvc_rewrite_vui
    - gf_list_enum
    - gf_realloc
    - gf_bs_read_int
    - gf_bs_new
    - gf_hevc_read_sps_ex
    - gf_media_nalu_add_emulation_bytes
    - gf_media_nalu_remove_emulation_bytes
    - GF_SAFEALLOC
    - gf_free
    - gf_media_nalu_emulation_bytes_add_count
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hevc_change_vui(GF_HEVCConfig *hvcc, GF_VUIInfo
      *vui_info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - chan_map
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10574
      start: 10560
    functionDepth: 0
    functionLinenumber: 10560
    functionLinenumberEnd: 10574
    functionName: eac3_chanmap_to_chan_loc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 eac3_chanmap_to_chan_loc(u32 chan_map) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - state
    - obu_type
    argTypes:
    - AV1State*
    - ObuType
    constantsTouched: []
    func_position:
      end: 2484
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2484
    functionName: av1_is_obu_frame
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool av1_is_obu_frame(AV1State *state, ObuType obu_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2818,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2855,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2850,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2858,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2859,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:2816,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2820,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2824,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2859,1
    - Dst: av1_populate_state_from_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2863,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:2871,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2872,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2873,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2840,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2853,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2865,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2873,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:2829,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2833,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2836,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:2842,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2846,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2849,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2877
    functionName: aom_av1_parse_temporal_unit_from_annexb
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_av1_parse_obu
    - gf_bs_get_position
    - av1_populate_state_from_obu
    - GF_LOG
    - gf_bs_is_overflow
    - gf_av1_leb128_read
    - gf_assert
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aom_av1_parse_temporal_unit_from_annexb(GF_BitStream *bs, AV1State
      *state) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5827,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5862,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5915,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5924,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5941,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5967,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5999,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6027,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6076,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5926,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6062,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6080,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:5955,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5966,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5811,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5854,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5866,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5869,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5912,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6021,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6053,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5822,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5925,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5927,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5933,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5991,1
    - Dst: avc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:6042,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6096,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:6115,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5895,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5913,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6030,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:5994,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6075,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6086,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6065,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5893,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5989,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6091,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6119,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5939,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5812,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6045,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:5914,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6073,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6036,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5817,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5987,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6015,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6037,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6097,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5910,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6051,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6078,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6090,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6110,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5813,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5815,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:5982,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6017,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6108,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6035,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6018,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5851,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/media_tools/av_parsers.c:5874,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5938,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6019,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5992,1
    - Dst: avc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:6047,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6002,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6068,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6083,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6085,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6095,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5864,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5888,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5863,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5911,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6022,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5965,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6023,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5919,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6040,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6077,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6033,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6081,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6092,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6099,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6103,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6124,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5964,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:5803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5890,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5985,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6004,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:6120,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6063,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6072,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:5903,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6093,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 326
    argCount: 5
    argNames:
    - bs
    - avc
    - subseq_sps
    - vui_flag_pos
    - nal_hdr
    argTypes:
    - GF_BitStream*
    - AVCState*
    - u32
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 6127
      start: 5795
    functionDepth: 0
    functionLinenumber: 5795
    functionLinenumberEnd: 6127
    functionName: gf_avc_read_sps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_read_ue_log
    - gf_bs_read_se
    - gf_bs_read_se_log_idx
    - gf_bs_get_bit_offset
    - gf_bs_is_overflow
    - gf_bs_read_se_log
    - GF_ARRAY_LENGTH
    - gf_bs_read_int_log_idx
    - gf_assert
    - gf_bs_read_int_log
    - avc_parse_hrd_parameters
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_avc_read_sps_bs_internal(GF_BitStream *bs, AVCState
      *avc, u32 subseq_sps, u32 *vui_flag_pos, u32 nal_hdr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6183,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6223,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6245,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6247,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6217,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6234,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:6178,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6210,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6227,1
    - Dst: ceil
      Src: /src/gpac/src/media_tools/av_parsers.c:6229,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6240,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6246,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:6249,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6193,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6229,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6233,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6241,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6243,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6244,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6182,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6185,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6181,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6205,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6206,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6207,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6213,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6218,1
    - Dst: log
      Src: /src/gpac/src/media_tools/av_parsers.c:6229,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6222,1
    - Dst: log
      Src: /src/gpac/src/media_tools/av_parsers.c:6229,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6242,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 3
    argNames:
    - bs
    - avc
    - nal_hdr
    argTypes:
    - GF_BitStream*
    - AVCState*
    - u32
    constantsTouched: []
    func_position:
      end: 6252
      start: 6173
    functionDepth: 0
    functionLinenumber: 6173
    functionLinenumberEnd: 6252
    functionName: gf_avc_read_pps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - ceil
    - gf_bs_enable_emulation_byte_removal
    - log
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - gf_bs_is_overflow
    - gf_bs_read_se_log
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_avc_read_pps_bs_internal(GF_BitStream *bs, AVCState
      *avc, u32 nal_hdr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6600,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6625,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6617,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6622,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6628,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6629,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6612,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6616,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6593,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:6602,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6594,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6608,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6613,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6621,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6627,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6626,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6618,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6630,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:6589,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6614,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6615,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6620,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6635,1
    - Dst: gf_ceil
      Src: /src/gpac/src/media_tools/av_parsers.c:6638,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - bs
    - avc
    argTypes:
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 6647
      start: 6581
    functionDepth: 0
    functionLinenumber: 6581
    functionLinenumberEnd: 6647
    functionName: avc_parse_pic_timing_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_ceil
    - gf_bs_read_int_log_idx
    - gf_assert
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 avc_parse_pic_timing_sei(GF_BitStream *bs, AVCState *avc) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7356,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7558,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7607,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7611,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7680,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7498,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7526,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7306,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7346,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7350,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7369,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7476,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7573,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7588,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7620,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7660,1
    - Dst: gf_get_ue_nb_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:7467,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7490,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7305,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7375,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7549,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7500,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7528,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7614,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7646,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7650,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7684,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7501,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7544,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7322,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7338,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7361,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7590,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7591,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7606,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7623,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7671,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7330,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7362,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7608,1
    - Dst: avc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:7641,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:7639,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7379,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7508,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7585,1
    - Dst: avc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:7661,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7677,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7676,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7381,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7487,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7482,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7557,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7621,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7642,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:7659,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7592,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7547,1
    - Dst: gf_get_ue_nb_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:7468,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7374,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7613,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7662,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7320,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7334,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7340,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:7564,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7584,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7609,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7612,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:7665,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7694,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7697,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7699,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7685,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7312,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7367,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7627,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7640,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7651,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7484,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7389,1
    - Dst: gf_get_ue_nb_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:7465,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7513,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7255,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7328,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7370,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7488,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7516,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7550,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7517,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7318,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7359,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7599,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:7645,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7656,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7688,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7670,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7347,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7376,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7395,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:7483,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7396,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7601,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7625,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/media_tools/av_parsers.c:7638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7655,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7602,1
    - Dst: avc_hevc_get_sar_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7422,1
    - Dst: hevc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:7397,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7310,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7391,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7496,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7525,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:7576,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7635,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/media_tools/av_parsers.c:7658,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7489,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7382,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7323,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7339,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7348,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7377,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:7380,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7386,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7524,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7618,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7666,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7493,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7518,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:7307,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7311,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7388,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7636,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 390
    argCount: 4
    argNames:
    - vui_info
    - orig
    - mod
    - codec
    argTypes:
    - GF_VUIInfo*
    - GF_BitStream*
    - GF_BitStream*
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 7703
      start: 7252
    functionDepth: 0
    functionLinenumber: 7252
    functionLinenumberEnd: 7703
    functionName: avc_hevc_vvc_rewrite_vui
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_is_align
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_seek
    - gf_get_ue_nb_bits
    - gf_bs_get_bit_offset
    - gf_bs_read_ue
    - gf_bs_peek_bits
    - hevc_parse_hrd_parameters
    - gf_bs_align
    - gf_bs_get_bit_position
    - avc_hevc_get_sar_idx
    - gf_bs_write_int
    - gf_bs_write_ue
    - avc_parse_hrd_parameters
    linkageType: ''
    returnType: void
    signature: 'static void avc_hevc_vvc_rewrite_vui(GF_VUIInfo *vui_info, GF_BitStream
      *orig, GF_BitStream *mod, GF_CodecID codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalability_type_to_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - vps
    - layer_id_in_vps
    - scalability_type
    argTypes:
    - HEVC_VPS*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 8810
      start: 8804
    functionDepth: 0
    functionLinenumber: 8804
    functionLinenumberEnd: 8810
    functionName: lhvc_get_scalability_id
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - scalability_type_to_idx
    linkageType: ''
    returnType: u32
    signature: 'static u32 lhvc_get_scalability_id(HEVC_VPS *vps, u32 layer_id_in_vps,
      u32 scalability_type) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12901,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12905,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12924,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12927,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12951,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12958,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12963,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12975,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12983,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12995,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13048,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13015,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13067,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12996,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13003,1
    - Dst: vvc_parse_ref_pic_lists
      Src: /src/gpac/src/media_tools/av_parsers.c:12966,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13068,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13045,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13064,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13053,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13065,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12879,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12882,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12911,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12935,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12952,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12986,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12992,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13010,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13020,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13030,1
    - Dst: vvc_pred_weight_table
      Src: /src/gpac/src/media_tools/av_parsers.c:13040,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13061,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:13078,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12954,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13006,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13037,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12880,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12886,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12888,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12893,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12918,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12925,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12921,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12928,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12937,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12945,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12956,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13070,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13076,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12976,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13056,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13000,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12885,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12899,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12904,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12910,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12913,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12917,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12939,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12947,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12978,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12993,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13032,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13051,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12971,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13069,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:13034,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12979,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 186
    argCount: 3
    argNames:
    - bs
    - vvc
    - si
    argTypes:
    - GF_BitStream*
    - VVCState*
    - VVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 13083
      start: 12873
    functionDepth: 0
    functionLinenumber: 12873
    functionLinenumberEnd: 13083
    functionName: vvc_parse_picture_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_parse_ref_pic_lists
    - vvc_pred_weight_table
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - gf_bs_read_se_log
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_parse_picture_header(GF_BitStream *bs, VVCState *vvc,
      VVCSliceInfo *si) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - IamfObuType
    constantsTouched: []
    func_position:
      end: 2489
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2489
    functionName: iamf_is_audio_frame_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool iamf_is_audio_frame_obu(IamfObuType obu_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:2883,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:2888,1
    - Dst: gf_media_parse_ivf_frame_header
      Src: /src/gpac/src/media_tools/av_parsers.c:2884,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2886,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2891,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2893,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2896,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2899,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2899,1
    - Dst: av1_populate_state_from_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 2908
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2908
    functionName: aom_av1_parse_temporal_unit_from_ivf
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_av1_parse_obu
    - gf_bs_get_position
    - av1_populate_state_from_obu
    - gf_media_parse_ivf_frame_header
    - GF_LOG
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aom_av1_parse_temporal_unit_from_ivf(GF_BitStream *bs, AV1State
      *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_avc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:6132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bs
    - avc
    - subseq_sps
    - vui_flag_pos
    argTypes:
    - GF_BitStream*
    - AVCState*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 6133
      start: 6129
    functionDepth: 0
    functionLinenumber: 6129
    functionLinenumberEnd: 6133
    functionName: gf_avc_read_sps_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_read_sps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_avc_read_sps_bs(GF_BitStream *bs, AVCState *avc,
      u32 subseq_sps, u32 *vui_flag_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_avc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:6257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - avc
    argTypes:
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 6258
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6258
    functionName: gf_avc_read_pps_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_read_pps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_avc_read_pps_bs(GF_BitStream *bs, AVCState *avc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:7715,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/av_parsers.c:7720,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:7733,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:7735,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7740,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7741,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:7757,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:7758,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7749,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/av_parsers.c:7760,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:7731,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:7736,1
    - Dst: avc_hevc_vvc_rewrite_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:7745,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7754,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:7761,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7764,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7763,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:7752,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/media_tools/av_parsers.c:7748,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:7750,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/media_tools/av_parsers.c:7724,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:7730,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:7734,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7766,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - avcc
    - vui_info
    argTypes:
    - GF_AVCConfig*
    - GF_VUIInfo*
    constantsTouched: []
    func_position:
      end: 7768
      start: 7705
    functionDepth: 0
    functionLinenumber: 7705
    functionLinenumberEnd: 7768
    functionName: gf_avc_change_vui
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_del
    - avc_hevc_vvc_rewrite_vui
    - gf_list_enum
    - gf_realloc
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_seek
    - gf_media_nalu_add_emulation_bytes
    - gf_avc_read_sps
    - gf_media_nalu_remove_emulation_bytes
    - gf_media_nalu_emulation_bytes_add_count
    - GF_SAFEALLOC
    - gf_bs_bits_available
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_avc_change_vui(GF_AVCConfig *avcc, GF_VUIInfo *vui_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lhvc_get_scalability_id
      Src: /src/gpac/src/media_tools/av_parsers.c:8814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - vps
    - id
    argTypes:
    - HEVC_VPS*
    - u32
    constantsTouched: []
    func_position:
      end: 8815
      start: 8812
    functionDepth: 0
    functionLinenumber: 8812
    functionLinenumberEnd: 8815
    functionName: lhvc_get_view_index
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - lhvc_get_scalability_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 lhvc_get_view_index(HEVC_VPS *vps, u32 id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_read_vps_ex
      Src: /src/gpac/src/media_tools/av_parsers.c:9362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - hevc
    argTypes:
    - u8*
    - u32
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 9363
      start: 9359
    functionDepth: 0
    functionLinenumber: 9359
    functionLinenumberEnd: 9363
    functionName: gf_hevc_read_vps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_vps_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_vps(u8 *data, u32 size, HEVCState *hevc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AC3_FindSyncCode
      Src: /src/gpac/src/media_tools/av_parsers.c:10416,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10421,1
    - Dst: gf_ac3_parser_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:10420,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - buflen
    - pos
    - hdr
    - full_parse
    argTypes:
    - u8*
    - u32
    - u32*
    - GF_AC3Config*
    - Bool
    constantsTouched: []
    func_position:
      end: 10424
      start: 10410
    functionDepth: 0
    functionLinenumber: 10410
    functionLinenumberEnd: 10424
    functionName: gf_ac3_parser
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_ac3_parser_bs
    - AC3_FindSyncCode
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_ac3_parser(u8 *buf, u32 buflen, u32 *pos, GF_AC3Config *hdr,
      Bool full_parse) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6571,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6573,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6574,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:6572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - avc
    argTypes:
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 6578
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6578
    functionName: avc_parse_recovery_point_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_ue_log
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 avc_parse_recovery_point_sei(GF_BitStream *bs, AVCState
      *avc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 4
    argNames:
    - si
    - sh_slice_address
    - sh_num_tiles_in_slice
    - ctu_index
    argTypes:
    - VVCSliceInfo*
    - u32
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 13161
      start: 13085
    functionDepth: 0
    functionLinenumber: 13085
    functionLinenumberEnd: 13161
    functionName: vvc_get_ctb_info_in_slice
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_get_ctb_info_in_slice(VVCSliceInfo *si, u32 sh_slice_address,
      u32 sh_num_tiles_in_slice, s32 ctu_index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vvc_get_ctb_info_in_slice
      Src: /src/gpac/src/media_tools/av_parsers.c:13202,1
    - Dst: vvc_ctb_to_tile_row_bd
      Src: /src/gpac/src/media_tools/av_parsers.c:13215,1
    - Dst: vvc_get_ctb_info_in_slice
      Src: /src/gpac/src/media_tools/av_parsers.c:13210,1
    - Dst: vvc_ctb_to_tile_col_bd
      Src: /src/gpac/src/media_tools/av_parsers.c:13216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - si
    - sh_slice_address
    - sh_num_tiles_in_slice
    argTypes:
    - VVCSliceInfo*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 13232
      start: 13192
    functionDepth: 0
    functionLinenumber: 13192
    functionLinenumberEnd: 13232
    functionName: vvc_get_num_entry_points
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_ctb_to_tile_col_bd
    - vvc_get_ctb_info_in_slice
    - vvc_ctb_to_tile_row_bd
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_get_num_entry_points(VVCSliceInfo *si, u32 sh_slice_address,
      u32 sh_num_tiles_in_slice) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - data
    - data_length
    - offset
    - read_length
    argTypes:
    - u8*
    - u32
    - u32
    - u16*
    constantsTouched: []
    func_position:
      end: 11280
      start: 11260
    functionDepth: 0
    functionLinenumber: 11260
    functionLinenumberEnd: 11280
    functionName: gf_opus_read_length
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u8
    signature: 'static u8 gf_opus_read_length(u8 *data, u32 data_length, u32 offset,
      u16 *read_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_parse_config_mpeg12
      Src: /src/gpac/src/media_tools/av_parsers.c:637,1
    - Dst: gf_m4v_parse_config_mpeg4
      Src: /src/gpac/src/media_tools/av_parsers.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - m4v
    - dsi
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: gf_m4v_parse_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4v_parse_config_mpeg4
    - gf_m4v_parse_config_mpeg12
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4v_parse_config(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2256,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2260
    functionName: vp9_read_interpolation_filter
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_read_interpolation_filter(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - AV1State*
    constantsTouched: []
    func_position:
      end: 3288
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3288
    functionName: av1_setup_past_independence
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void av1_setup_past_independence(AV1State *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:7187,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:7193,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:7194,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:7190,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:7191,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:7196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - bs
    - subLayerId
    - cpb_cnt
    - sub_pic_hrd_params_present_flag
    - idx1
    - idx2
    argTypes:
    - GF_BitStream*
    - int
    - u32
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 7198
      start: 7184
    functionDepth: 0
    functionLinenumber: 7184
    functionLinenumberEnd: 7198
    functionName: sub_layer_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_bs_read_ue_log_idx3
    - gf_bs_read_int_log_idx3
    linkageType: ''
    returnType: void
    signature: 'static void sub_layer_hrd_parameters(GF_BitStream *bs, int subLayerId,
      u32 cpb_cnt, Bool sub_pic_hrd_params_present_flag, u32 idx1, u32 idx2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8029,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:8034,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8039,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8034,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8035,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:8041,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8041,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8042,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - bs
    - rps
    - slice_type
    - num_ref_idx_l0_active
    - num_ref_idx_l1_active
    - NumPicTotalCurr
    argTypes:
    - GF_BitStream*
    - HEVC_ReferencePictureSets*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 8046
      start: 8026
    functionDepth: 0
    functionLinenumber: 8026
    functionLinenumberEnd: 8046
    functionName: hevc_ref_pic_lists_modification
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_bs_read_int_log
    - MIN
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void hevc_ref_pic_lists_modification(GF_BitStream *bs, HEVC_ReferencePictureSets
      *rps, u32 slice_type, u32 num_ref_idx_l0_active, u32 num_ref_idx_l1_active,
      u32 NumPicTotalCurr) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8463,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:8466,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8497,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8501,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8520,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8536,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:8543,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8558,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8561,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8587,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:8459,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:8460,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8471,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:8476,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8480,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:8521,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8544,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8549,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:8553,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:8582,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8557,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8462,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8499,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8526,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:8531,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:8542,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8556,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8568,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:8584,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8565,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:8457,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:8470,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8474,1
    - Dst: gf_bs_get_emulation_byte_removed
      Src: /src/gpac/src/media_tools/av_parsers.c:8505,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8500,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8513,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8477,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8517,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8526,1
    - Dst: gf_bs_get_emulation_byte_removed
      Src: /src/gpac/src/media_tools/av_parsers.c:8541,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:8578,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:8576,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 124
    argCount: 5
    argNames:
    - buffer
    - nal_size
    - isobmf_rewrite
    - is_hevc
    - sei_filter
    argTypes:
    - u8*
    - u32
    - Bool
    - Bool
    - SEI_Filter*
    constantsTouched: []
    func_position:
      end: 8589
      start: 8435
    functionDepth: 0
    functionLinenumber: 8435
    functionLinenumberEnd: 8589
    functionName: gf_hevc_vvc_reformat_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - GF_LOG
    - gf_bs_available
    - gf_bs_seek
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_peek_bits
    - gf_free
    - gf_bs_write_u8
    - gf_bs_align
    - gf_media_nalu_emulation_bytes_add_count
    - gf_bs_write_int
    - gf_bs_get_emulation_byte_removed
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_hevc_vvc_reformat_sei(u8 *buffer, u32 nal_size, Bool isobmf_rewrite,
      Bool is_hevc, SEI_Filter *sei_filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:10269,1
    - Dst: gf_hevc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:10277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - hvcc
    - ar_n
    - ar_d
    argTypes:
    - GF_HEVCConfig*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 10278
      start: 10265
    functionDepth: 0
    functionLinenumber: 10265
    functionLinenumberEnd: 10278
    functionName: gf_hevc_change_par
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hevc_change_par(GF_HEVCConfig *hvcc, s32 ar_n,
      s32 ar_d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eac3_chanmap_to_chan_loc
      Src: /src/gpac/src/media_tools/av_parsers.c:10582,1
    - Dst: gf_eac3_get_chan_loc_count
      Src: /src/gpac/src/media_tools/av_parsers.c:10583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - GF_AC3Config*
    constantsTouched: []
    func_position:
      end: 10589
      start: 10576
    functionDepth: 0
    functionLinenumber: 10576
    functionLinenumberEnd: 10589
    functionName: eac3_update_channels
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_eac3_get_chan_loc_count
    - eac3_chanmap_to_chan_loc
    linkageType: ''
    returnType: void
    signature: 'static void eac3_update_channels(GF_AC3Config *hdr) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: M4V_Reset
      Src: /src/gpac/src/media_tools/av_parsers.c:658,1
    - Dst: M4V_LoadObject
      Src: /src/gpac/src/media_tools/av_parsers.c:663,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:679,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:678,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:707,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 7
    argNames:
    - m4v
    - dsi
    - frame_type
    - time_inc
    - size
    - start
    - is_coded
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    - u8*
    - u32*
    - u64*
    - u64*
    - Bool*
    constantsTouched: []
    func_position:
      end: 715
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 715
    functionName: gf_m4v_parse_frame_mpeg12
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - M4V_Reset
    - gf_bs_get_position
    - gf_bs_read_u8
    - M4V_LoadObject
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m4v_parse_frame_mpeg12(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi, u8 *frame_type, u32 *time_inc, u64 *size, u64 *start, Bool *is_coded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:3294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - state
    - primary_ref_frame
    - ref_frame_idx
    argTypes:
    - AV1State*
    - u8
    - s8*
    constantsTouched: []
    func_position:
      end: 3301
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3301
    functionName: av1_load_previous
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void av1_load_previous(AV1State *state, u8 primary_ref_frame,
      s8 *ref_frame_idx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7213,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7218,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7219,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7241,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7208,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7211,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7209,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7224,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7225,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7223,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7237,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7229,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7214,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7215,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7216,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7221,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7234,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:7239,1
    - Dst: sub_layer_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:7244,1
    - Dst: sub_layer_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:7247,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - bs
    - commonInfPresentFlag
    - maxNumSubLayersMinus1
    - idx
    argTypes:
    - GF_BitStream*
    - Bool
    - int
    - u32
    constantsTouched: []
    func_position:
      end: 7250
      start: 7200
    functionDepth: 0
    functionLinenumber: 7200
    functionLinenumberEnd: 7250
    functionName: hevc_parse_hrd_parameters
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx
    - gf_bs_read_ue_log_idx
    - sub_layer_hrd_parameters
    linkageType: ''
    returnType: void
    signature: 'static void hevc_parse_hrd_parameters(GF_BitStream *bs, Bool commonInfPresentFlag,
      int maxNumSubLayersMinus1, u32 idx) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8164,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8172,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8178,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8206,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8264,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8267,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8273,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8282,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8285,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8295,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8309,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8113,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8121,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8149,1
    - Dst: hevc_parse_short_term_ref_pic_set
      Src: /src/gpac/src/media_tools/av_parsers.c:8138,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8162,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8180,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8193,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8204,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8228,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8230,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8282,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8317,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8256,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8257,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8314,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8321,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8096,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8137,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/media_tools/av_parsers.c:8172,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8175,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8182,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8187,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8191,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8203,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8236,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8241,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8266,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8287,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8250,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8299,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8058,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8089,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8075,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8078,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8115,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8118,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8131,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:8159,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:8176,1
    - Dst: hevc_ref_pic_lists_modification
      Src: /src/gpac/src/media_tools/av_parsers.c:8223,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8260,1
    - Dst: hevc_pred_weight_table
      Src: /src/gpac/src/media_tools/av_parsers.c:8248,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8252,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:8320,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8252,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:8253,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 233
    argCount: 3
    argNames:
    - bs
    - hevc
    - si
    argTypes:
    - GF_BitStream*
    - HEVCState*
    - HEVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 8323
      start: 8048
    functionDepth: 0
    functionLinenumber: 8048
    functionLinenumberEnd: 8323
    functionName: hevc_parse_slice_segment
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - hevc_ref_pic_lists_modification
    - memset
    - gf_bs_get_position
    - gf_bs_read_int
    - GF_LOG
    - gf_bs_read_ue_log
    - hevc_parse_short_term_ref_pic_set
    - gf_bs_read_ue_log_idx
    - hevc_pred_weight_table
    - gf_bs_read_se_log
    - gf_bs_align
    - gf_bs_get_bit_position
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    - gf_get_bit_size
    linkageType: ''
    returnType: s32
    signature: 'static s32 hevc_parse_slice_segment(GF_BitStream *bs, HEVCState *hevc,
      HEVCSliceInfo *si) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8611,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:8616,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8620,1
    - Dst: hevc_parse_pic_timing_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:8664,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8622,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:8680,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:8683,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:8607,1
    - Dst: avc_parse_itu_t_t35_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:8632,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8655,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8638,1
    - Dst: gf_bs_get_emulation_byte_removed
      Src: /src/gpac/src/media_tools/av_parsers.c:8669,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8677,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:8610,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8604,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8614,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:8617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8624,1
    - Dst: gf_bs_get_emulation_byte_removed
      Src: /src/gpac/src/media_tools/av_parsers.c:8628,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8646,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:8671,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:8672,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:8601,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:8602,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:8653,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 4
    argNames:
    - buffer
    - nal_size
    - hevc
    - vvc
    argTypes:
    - char*
    - u32
    - HEVCState*
    - VVCState*
    constantsTouched: []
    func_position:
      end: 8684
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8684
    functionName: gf_hevc_vvc_parse_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - GF_LOG
    - gf_bs_available
    - hevc_parse_pic_timing_sei
    - gf_bs_peek_bits
    - gf_bs_align
    - avc_parse_itu_t_t35_sei
    - gf_bs_get_emulation_byte_removed
    linkageType: ''
    returnType: void
    signature: 'static void gf_hevc_vvc_parse_sei(char *buffer, u32 nal_size, HEVCState
      *hevc, VVCState *vvc) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:10062,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:10068,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:10063,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:10067,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:10065,1
    - Dst: hevc_parse_slice_segment
      Src: /src/gpac/src/media_tools/av_parsers.c:10098,1
    - Dst: hevc_compute_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:10101,1
    - Dst: gf_hevc_compute_ref_list
      Src: /src/gpac/src/media_tools/av_parsers.c:10103,1
    - Dst: gf_hevc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10119,1
    - Dst: gf_hevc_read_pps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10123,1
    - Dst: gf_hevc_read_vps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10127,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:10135,1
    - Dst: hevc_compute_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:10148,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:10149,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 55
    argCount: 5
    argNames:
    - bs
    - hevc
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - GF_BitStream*
    - HEVCState*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 10152
      start: 10055
    functionDepth: 0
    functionLinenumber: 10055
    functionLinenumberEnd: 10152
    functionName: gf_hevc_parse_nalu_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_vps_bs_internal
    - hevc_parse_slice_segment
    - gf_hevc_compute_ref_list
    - hevc_parse_nal_header
    - gf_bs_enable_emulation_byte_removal
    - gf_hevc_read_sps_bs_internal
    - gf_bs_available
    - hevc_compute_poc
    - gf_bs_is_overflow
    - memcpy
    - gf_hevc_read_pps_bs_internal
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_parse_nalu_bs(GF_BitStream *bs, HEVCState *hevc,
      u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:10284,1
    - Dst: gf_hevc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:10292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - hvcc
    - fullrange
    - vidformat
    - colorprim
    - transfer
    - colmatrix
    argTypes:
    - GF_HEVCConfig*
    - s32
    - s32
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 10293
      start: 10280
    functionDepth: 0
    functionLinenumber: 10280
    functionLinenumberEnd: 10293
    functionName: gf_hevc_change_color
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hevc_change_color(GF_HEVCConfig *hvcc, s32 fullrange,
      s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10625,1
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10641,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:10658,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10830,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10849,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10858,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10813,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10736,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:10651,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10829,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10789,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10798,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10666,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10695,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10838,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10737,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10847,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10854,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10856,1
    - Dst: gf_ac3_get_bitrate
      Src: /src/gpac/src/media_tools/av_parsers.c:10638,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10665,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10793,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:10640,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:10687,1
    - Dst: eac3_update_channels
      Src: /src/gpac/src/media_tools/av_parsers.c:10772,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10839,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:10750,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10845,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10778,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10642,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10702,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10726,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10730,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10792,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10837,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10814,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:10612,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10780,1
    - Dst: eac3_update_channels
      Src: /src/gpac/src/media_tools/av_parsers.c:10672,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10796,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10823,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10853,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10880,1
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10602,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10629,1
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10652,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10699,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10731,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10818,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10862,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10697,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10728,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10800,1
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10879,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10817,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:10617,1
    - Dst: gf_ac3_parser_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:10628,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:10722,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10732,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:10660,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10689,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10727,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10788,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10840,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10875,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10742,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10804,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10825,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:10615,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10653,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10673,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10779,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10784,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10735,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10864,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10797,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10842,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10773,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10781,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:10606,1
    - Dst: AC3_FindSyncCodeBS
      Src: /src/gpac/src/media_tools/av_parsers.c:10688,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10807,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10802,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:10874,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10783,1
    - Dst: eac3_update_channels
      Src: /src/gpac/src/media_tools/av_parsers.c:10624,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10743,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:10861,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 263
    argCount: 3
    argNames:
    - bs
    - hdr
    - full_parse
    argTypes:
    - GF_BitStream*
    - GF_AC3Config*
    - Bool
    constantsTouched: []
    func_position:
      end: 10885
      start: 10591
    functionDepth: 0
    functionLinenumber: 10591
    functionLinenumberEnd: 10885
    functionName: gf_eac3_parser_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_ac3_parser_bs
    - gf_bs_read_u16
    - memset
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_seek
    - gf_bs_read_int
    - eac3_update_channels
    - AC3_FindSyncCodeBS
    - gf_bs_peek_bits
    - gf_ac3_get_bitrate
    - gf_bs_align
    - gf_bs_skip_bytes
    - gf_assert
    - gf_bs_read_int_log
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_eac3_parser_internal(GF_BitStream *bs, GF_AC3Config
      *hdr, Bool full_parse) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:12813,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12815,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12826,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12832,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12833,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12831,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12864,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12804,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:12847,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12838,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12865,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12866,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12867,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:12809,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12827,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12854,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12799,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:12801,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12820,1
    - Dst: gf_bs_read_se_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12830,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12849,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:12843,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12860,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12861,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 6
    argNames:
    - bs
    - vvc
    - si
    - pps
    - sps
    - num_ref_idx_active
    argTypes:
    - GF_BitStream*
    - VVCState*
    - VVCSliceInfo*
    - VVC_PPS*
    - VVC_SPS*
    - u32*
    constantsTouched: []
    func_position:
      end: 12871
      start: 12795
    functionDepth: 0
    functionLinenumber: 12795
    functionLinenumberEnd: 12871
    functionName: vvc_pred_weight_table
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_bs_read_se_log_idx2
    - gf_bs_read_ue_log
    - gf_bs_read_se_log_idx
    - gf_bs_read_se_log
    - gf_bs_read_int_log_idx
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_pred_weight_table(GF_BitStream *bs, VVCState *vvc,
      VVCSliceInfo *si, VVC_PPS *pps, VVC_SPS *sps, u32 *num_ref_idx_active) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:13851,1
    - Dst: gf_vvc_change_vui
      Src: /src/gpac/src/media_tools/av_parsers.c:13859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - vvcc
    - fullrange
    - vidformat
    - colorprim
    - transfer
    - colmatrix
    argTypes:
    - GF_VVCConfig*
    - s32
    - s32
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 13860
      start: 13847
    functionDepth: 0
    functionLinenumber: 13847
    functionLinenumberEnd: 13860
    functionName: gf_vvc_change_color
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_vvc_change_vui
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_vvc_change_color(GF_VVCConfig *vvcc, s32 fullrange,
      s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:6654,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6661,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6660,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:6662,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:6656,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6663,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6664,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:6666,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6668,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6669,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6670,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6673,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6672,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6676,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6677,1
    - Dst: gf_ceil
      Src: /src/gpac/src/media_tools/av_parsers.c:6683,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6675,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:6674,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - bs
    - hevc
    argTypes:
    - GF_BitStream*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 6690
      start: 6649
    functionDepth: 0
    functionLinenumber: 6649
    functionLinenumberEnd: 6690
    functionName: hevc_parse_pic_timing_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx
    - gf_ceil
    - gf_bs_read_int
    linkageType: ''
    returnType: s32
    signature: 'static s32 hevc_parse_pic_timing_sei(GF_BitStream *bs, HEVCState *hevc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:13985,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/av_parsers.c:13986,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:13988,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/av_parsers.c:13990,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/media_tools/av_parsers.c:13991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - hevccfg
    - hevc
    - nal_type
    argTypes:
    - GF_HEVCConfig*
    - HEVCState*
    - u32
    constantsTouched: []
    func_position:
      end: 13994
      start: 13980
    functionDepth: 0
    functionLinenumber: 13980
    functionLinenumberEnd: 13994
    functionName: gf_hevc_parse_ps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_parse_nalu
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_hevc_parse_ps(GF_HEVCConfig* hevccfg, HEVCState* hevc, u32
      nal_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2092,1
    - Dst: gf_bs_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:2095,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:2093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - bs
    - n
    - fname
    - idx
    argTypes:
    - GF_BitStream*
    - int
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2097
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2097
    functionName: vp9_s
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - gf_bs_log_idx
    linkageType: ''
    returnType: s64
    signature: 'static s64 vp9_s(GF_BitStream *bs, int n, const char *fname, u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2147,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2151
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2151
    functionName: vp9_read_prob
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_read_prob(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2012,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2024,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2028,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2027,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2019,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2032,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2046,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - bs
    - vp9_cfg
    argTypes:
    - GF_BitStream*
    - GF_VPConfig*
    constantsTouched: []
    func_position:
      end: 2053
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2053
    functionName: vp9_color_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int_log
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vp9_color_config(GF_BitStream *bs, GF_VPConfig *vp9_cfg) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - ObuType
    constantsTouched: []
    func_position:
      end: 2458
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2458
    functionName: gf_av1_get_obu_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_av1_get_obu_name(ObuType obu_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - Sb64Cols
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2201
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2201
    functionName: calc_min_log2_tile_cols
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int calc_min_log2_tile_cols(int Sb64Cols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m4v
    - sc_type
    argTypes:
    - GF_M4VParser*
    - u8
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: gf_m4v_parser_reset
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_m4v_parser_reset(GF_M4VParser *m4v, u8 sc_type) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1255,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1253,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/av_parsers.c:1309,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1317,1
    - Dst: gf_m4a_get_profile
      Src: /src/gpac/src/media_tools/av_parsers.c:1335,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1308,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1312,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1199,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1207,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1219,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1231,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1252,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1277,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1279,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1297,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1326,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1197,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1201,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1194,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1221,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1267,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1268,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1254,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1263,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1275,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1276,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:1193,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1226,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1228,1
    - Dst: gf_m4a_parse_program_config_element
      Src: /src/gpac/src/media_tools/av_parsers.c:1258,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1301,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1311,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1313,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1325,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1315,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 126
    argCount: 3
    argNames:
    - bs
    - cfg
    - size_known
    argTypes:
    - GF_BitStream*
    - GF_M4ADecSpecInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 1337
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1337
    functionName: gf_m4a_parse_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4a_get_profile
    - memset
    - gf_bs_available
    - gf_bs_peek_bits
    - gf_m4a_parse_program_config_element
    - gf_bs_read_int_log
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_parse_config(GF_BitStream *bs, GF_M4ADecSpecInfo
      *cfg, Bool size_known) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:1930,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:1933,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:1944,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:1941,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:1936,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:1946,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:1955,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:1956,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:1963,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:1967,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:1969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - bs
    - ivf_frame_size
    - num_frames_in_superframe
    - frame_sizes
    - superframe_index_size
    argTypes:
    - GF_BitStream*
    - u64
    - u32*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1972
    functionName: gf_vp9_parse_superframe
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_is_overflow
    - gf_bs_read_data
    - gf_assert
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_vp9_parse_superframe(GF_BitStream *bs, u64 ivf_frame_size,
      u32 *num_frames_in_superframe, u32 frame_sizes[VP9_MAX_FRAMES_IN_SUPERFRAME],
      u32 *superframe_index_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2101,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:2109,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2103,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2102,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2105,1
    - Dst: vp9_s
      Src: /src/gpac/src/media_tools/av_parsers.c:2111,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:2114,1
    - Dst: vp9_s
      Src: /src/gpac/src/media_tools/av_parsers.c:2116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2120
    functionName: vp9_loop_filter_params
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log_idx
    - vp9_s
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_loop_filter_params(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2155,1
    - Dst: vp9_read_prob
      Src: /src/gpac/src/media_tools/av_parsers.c:2161,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2158,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2163,1
    - Dst: vp9_read_prob
      Src: /src/gpac/src/media_tools/av_parsers.c:2166,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2170,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2172,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2177,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2181,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:2183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2193
    functionName: vp9_segmentation_params
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vp9_read_prob
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void vp9_segmentation_params(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - FrameWidth
    - FrameHeight
    - Sb64Cols
    - Sb64Rows
    argTypes:
    - int
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2061
    functionName: vp9_compute_image_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void vp9_compute_image_size(int FrameWidth, int FrameHeight,
      int *Sb64Cols, int *Sb64Rows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - ObuType
    constantsTouched: []
    func_position:
      end: 2469
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2469
    functionName: av1_is_obu_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool av1_is_obu_header(ObuType obu_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pbuffer
    - buflen
    - optr
    - scode
    argTypes:
    - unsigned char*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: gf_mv12_next_start_code
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 gf_mv12_next_start_code(unsigned char *pbuffer, u32 buflen, u32
      *optr, u32 *scode) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:410,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:505,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:419,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:487,1
    - Dst: M4V_LoadObject
      Src: /src/gpac/src/media_tools/av_parsers.c:415,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 2
    argNames:
    - m4v
    - dsi
    argTypes:
    - GF_M4VParser*
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 510
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 510
    functionName: gf_m4v_parse_config_mpeg12
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_read_data
    - memset
    - M4V_LoadObject
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m4v_parse_config_mpeg12(GF_M4VParser *m4v, GF_M4VDecSpecInfo
      *dsi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:1344,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:1346,1
    - Dst: gf_m4a_parse_config
      Src: /src/gpac/src/media_tools/av_parsers.c:1345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - dsi
    - dsi_size
    - cfg
    argTypes:
    - u8*
    - u32
    - GF_M4ADecSpecInfo*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1348
    functionName: gf_m4a_get_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4a_parse_config
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_get_config(u8 *dsi, u32 dsi_size, GF_M4ADecSpecInfo
      *cfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1977,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1981,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1990
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1990
    functionName: vp9_frame_sync_code
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vp9_frame_sync_code(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - Sb64Cols
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2209
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2209
    functionName: calc_max_log2_tile_cols
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int calc_max_log2_tile_cols(int Sb64Cols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 3219
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3219
    functionName: inverse_recenter
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 inverse_recenter(s32 r, u32 v) '
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 2
    argCount: 1
    argNames:
    - obu_type
    argTypes:
    - IamfObuType
    constantsTouched: []
    func_position:
      end: 4638
      start: 4599
    functionDepth: 0
    functionLinenumber: 4599
    functionLinenumberEnd: 4638
    functionName: gf_iamf_get_obu_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_iamf_get_obu_name(IamfObuType obu_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5067
      start: 5063
    functionDepth: 0
    functionLinenumber: 5063
    functionLinenumberEnd: 5067
    functionName: gf_mp3_version
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_mp3_version(u32 hdr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:10174,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:10178,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:10176,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:10180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - data
    - size
    - hevc
    - nal_unit_type
    - temporal_id
    - layer_id
    argTypes:
    - u8*
    - u32
    - HEVCState*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 10182
      start: 10154
    functionDepth: 0
    functionLinenumber: 10154
    functionLinenumberEnd: 10182
    functionName: gf_hevc_parse_nalu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_parse_nalu_bs
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_parse_nalu(u8 *data, u32 size, HEVCState *hevc,
      u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/media_tools/av_parsers.c:10300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 8
    argNames:
    - hevc
    - sps_data
    - sps_size
    - sps_id
    - width
    - height
    - par_n
    - par_d
    argTypes:
    - HEVCState*
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 10311
      start: 10296
    functionDepth: 0
    functionLinenumber: 10296
    functionLinenumberEnd: 10311
    functionName: gf_hevc_get_sps_info_with_state
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_sps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_hevc_get_sps_info_with_state(HEVCState *hevc,
      u8 *sps_data, u32 sps_size, u32 *sps_id, u32 *width, u32 *height, s32 *par_n,
      s32 *par_d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_eac3_parser_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:10890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - hdr
    - full_parse
    argTypes:
    - GF_BitStream*
    - GF_AC3Config*
    - Bool
    constantsTouched: []
    func_position:
      end: 10891
      start: 10887
    functionDepth: 0
    functionLinenumber: 10887
    functionLinenumberEnd: 10891
    functionName: gf_eac3_parser_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_eac3_parser_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_eac3_parser_bs(GF_BitStream *bs, GF_AC3Config *hdr,
      Bool full_parse) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:13564,1
    - Dst: vvc_push_ref_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:13585,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:13579,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - vvc
    - si
    argTypes:
    - VVCState*
    - VVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 13588
      start: 13551
    functionDepth: 0
    functionLinenumber: 13551
    functionLinenumberEnd: 13588
    functionName: vvc_compute_refs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - MIN
    - vvc_push_ref_poc
    linkageType: ''
    returnType: void
    signature: 'static void vvc_compute_refs(VVCState *vvc, VVCSliceInfo *si) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1686,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1688,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - bs
    - idx
    - buffer_delay_length_minus_1
    argTypes:
    - GF_BitStream*
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: operating_parameters_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void operating_parameters_info(GF_BitStream *bs, const u8 idx,
      const u8 buffer_delay_length_minus_1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:3102,1
    - Dst: av1_render_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3112,1
    - Dst: av1_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:3111,1
    - Dst: superres_params
      Src: /src/gpac/src/media_tools/av_parsers.c:3115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - bs
    - state
    - frame_size_override_flag
    - ref_frame_idx
    argTypes:
    - GF_BitStream*
    - AV1State*
    - Bool
    - s8*
    constantsTouched: []
    func_position:
      end: 3118
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3118
    functionName: frame_size_with_refs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_render_size
    - gf_bs_read_int_log_idx
    - av1_frame_size
    - superres_params
    linkageType: ''
    returnType: void
    signature: 'static void frame_size_with_refs(GF_BitStream *bs, AV1State *state,
      Bool frame_size_override_flag, s8 *ref_frame_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:4094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - AV1State*
    constantsTouched: []
    func_position:
      end: 4098
      start: 4090
    functionDepth: 0
    functionLinenumber: 4090
    functionLinenumberEnd: 4098
    functionName: gf_av1_init_state
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_av1_init_state(AV1State *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_avc_slice_is_intra
      Src: /src/gpac/src/media_tools/av_parsers.c:5606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - avc
    argTypes:
    - AVCState*
    constantsTouched: []
    func_position:
      end: 5607
      start: 5597
    functionDepth: 0
    functionLinenumber: 5597
    functionLinenumberEnd: 5607
    functionName: gf_avc_slice_is_IDR
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_slice_is_intra
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_avc_slice_is_IDR(AVCState *avc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - si
    - poc
    argTypes:
    - HEVCSliceInfo*
    - s32
    constantsTouched: []
    func_position:
      end: 8334
      start: 8325
    functionDepth: 0
    functionLinenumber: 8325
    functionLinenumberEnd: 8334
    functionName: gf_hevc_push_ref_poc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void gf_hevc_push_ref_poc(HEVCSliceInfo *si, s32 poc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:9744,1
    - Dst: gf_hevc_read_sps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:9746,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:9745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - hevc
    argTypes:
    - GF_BitStream*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 9747
      start: 9739
    functionDepth: 0
    functionLinenumber: 9739
    functionLinenumberEnd: 9747
    functionName: gf_hevc_read_sps_bs
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - hevc_parse_nal_header
    - gf_bs_enable_emulation_byte_removal
    - gf_hevc_read_sps_bs_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_sps_bs(GF_BitStream *bs, HEVCState *hevc) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 1
    argNames:
    - ac3
    argTypes:
    - GF_AC3Config*
    constantsTouched: []
    func_position:
      end: 10542
      start: 10498
    functionDepth: 0
    functionLinenumber: 10498
    functionLinenumberEnd: 10542
    functionName: gf_ac3_get_channel_layout
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_ac3_get_channel_layout(GF_AC3Config *ac3) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:14001,1
    - Dst: gf_vvc_parse_nalu
      Src: /src/gpac/src/media_tools/av_parsers.c:14007,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:14004,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/av_parsers.c:14002,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/av_parsers.c:14006,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - vvccfg
    - vvc
    - nal_type
    argTypes:
    - GF_VVCConfig*
    - VVCState*
    - u32
    constantsTouched: []
    func_position:
      end: 14010
      start: 13996
    functionDepth: 0
    functionLinenumber: 13996
    functionLinenumberEnd: 14010
    functionName: gf_vvc_parse_ps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_vvc_parse_nalu
    linkageType: ''
    returnType: void
    signature: 'void gf_vvc_parse_ps(GF_VVCConfig* vvccfg, VVCState* vvc, u32 nal_type) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1696,1
    - Dst: timing_info
      Src: /src/gpac/src/media_tools/av_parsers.c:1709,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1718,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1719,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1723,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1729,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1765,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1777,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1780,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1798,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1820,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1697,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1710,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1743,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1773,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1815,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1842,1
    - Dst: av1_color_config
      Src: /src/gpac/src/media_tools/av_parsers.c:1843,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1844,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1832,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1841,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1707,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1702,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1745,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1766,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1767,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1768,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1776,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1779,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1797,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1799,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1800,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1695,1
    - Dst: decoder_model_info
      Src: /src/gpac/src/media_tools/av_parsers.c:1712,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1734,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1725,1
    - Dst: operating_parameters_info
      Src: /src/gpac/src/media_tools/av_parsers.c:1736,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1781,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1796,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1803,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1825,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1809,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1840,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1802,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 143
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 1845
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1845
    functionName: av1_parse_sequence_header_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - av1_color_config
    - timing_info
    - decoder_model_info
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    - operating_parameters_info
    linkageType: ''
    returnType: void
    signature: 'static void av1_parse_sequence_header_obu(GF_BitStream *bs, AV1State
      *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3122,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:3126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - bs
    - name_flag
    - name
    argTypes:
    - GF_BitStream*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3131
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3131
    functionName: av1_delta_q
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 av1_delta_q(GF_BitStream *bs, const char *name_flag, const
      char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:4106,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/av_parsers.c:4107,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4108,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/av_parsers.c:4114,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4109,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/av_parsers.c:4115,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4116,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4117,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:4122,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4127,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4140,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:4136,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:4148,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/av_parsers.c:4128,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - state
    - is_destroy
    argTypes:
    - AV1State*
    - Bool
    constantsTouched: []
    func_position:
      end: 4150
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4150
    functionName: gf_av1_reset_state
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_bs_seek
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_av1_reset_state(AV1State *state, Bool is_destroy) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8366,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8376,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:8387,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8413,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8428,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8358,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8390,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8393,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8403,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8408,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/av_parsers.c:8417,1
    - Dst: gf_hevc_push_ref_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:8423,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8366,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8358,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8376,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:8390,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/av_parsers.c:8396,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/av_parsers.c:8393,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8413,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8422,1
    - Dst: gf_hevc_push_ref_poc
      Src: /src/gpac/src/media_tools/av_parsers.c:8430,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:8346,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8358,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8366,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8387,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8403,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8408,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8421,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:8429,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 127
    argCount: 2
    argNames:
    - hevc
    - si
    argTypes:
    - HEVCState*
    - HEVCSliceInfo*
    constantsTouched: []
    func_position:
      end: 8433
      start: 8336
    functionDepth: 0
    functionLinenumber: 8336
    functionLinenumberEnd: 8433
    functionName: gf_hevc_compute_ref_list
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - assert
    - MIN
    - GF_LOG
    - gf_hevc_push_ref_poc
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void gf_hevc_compute_ref_list(HEVCState *hevc, HEVCSliceInfo
      *si) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12733,1
    - Dst: vvc_ceillog2
      Src: /src/gpac/src/media_tools/av_parsers.c:12756,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:12757,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:12762,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:12767,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:12771,1
    - Dst: vvc_parse_ref_pic_list_struct
      Src: /src/gpac/src/media_tools/av_parsers.c:12774,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12784,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12786,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:12787,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - bs
    - si
    - is_pic_header
    argTypes:
    - GF_BitStream*
    - VVCSliceInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 12793
      start: 12721
    functionDepth: 0
    functionLinenumber: 12721
    functionLinenumberEnd: 12793
    functionName: vvc_parse_ref_pic_lists
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_parse_ref_pic_list_struct
    - GF_LOG
    - vvc_ceillog2
    - memcpy
    - gf_bs_read_ue_log_idx2
    - gf_bs_read_int_log_idx
    - gf_assert
    - gf_bs_read_int_log_idx2
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_parse_ref_pic_lists(GF_BitStream *bs, VVCSliceInfo
      *si, Bool is_pic_header) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11781,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11797,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11845,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11829,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11840,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11847,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11784,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11800,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11803,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11811,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11832,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11835,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:11852,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11809,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11813,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:11861,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11794,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11792,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:11806,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:11824,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11815,1
    - Dst: vvc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:11855,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 3
    argNames:
    - bs
    - vvc
    - stop_at_vps_ext
    argTypes:
    - GF_BitStream*
    - VVCState*
    - Bool
    constantsTouched: []
    func_position:
      end: 11864
      start: 11773
    functionDepth: 0
    functionLinenumber: 11773
    functionLinenumberEnd: 11864
    functionName: gf_vvc_read_vps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - vvc_profile_tier_level
    - GF_LOG
    - gf_bs_is_overflow
    - gf_bs_align
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log_idx2
    - gf_bs_read_int_log
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_vvc_read_vps_bs_internal(GF_BitStream *bs, VVCState
      *vvc, Bool stop_at_vps_ext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: gf_media_reduce_aspect_ratio
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_media_reduce_aspect_ratio(u32 *width, u32 *height) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_M4ADecSpecInfo*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1120
    functionName: gf_m4a_get_profile
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m4a_get_profile(GF_M4ADecSpecInfo *cfg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1558,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1561,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1578,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1573,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1576,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1579,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1580,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1588,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1606,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1617,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1629,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1632,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1619,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1633
    functionName: av1_color_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int_log
    linkageType: ''
    returnType: void
    signature: 'static void av1_color_config(GF_BitStream *bs, AV1State *state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2577,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2584,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:2610,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/media_tools/av_parsers.c:2622,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:2625,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/av_parsers.c:2626,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2629,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:2637,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/media_tools/av_parsers.c:2640,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2646,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/av_parsers.c:2662,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/media_tools/av_parsers.c:2606,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:2620,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:2630,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2654,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/av_parsers.c:2661,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2623,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:2624,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:2613,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2598,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:2627,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2630,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:2635,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:2655,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2649,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:2567,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:2575,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/media_tools/av_parsers.c:2569,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:2583,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:2588,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2589,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:2597,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:2623,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/av_parsers.c:2649,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:2656,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 6
    argNames:
    - bs
    - pos
    - obu_length
    - obu_type
    - obu_list
    - state
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - ObuType
    - GF_List**
    - AV1State*
    constantsTouched: []
    func_position:
      end: 2663
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2663
    functionName: av1_add_obu_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_av1_leb128_size
    - gf_av1_leb128_write
    - gf_bs_read_data
    - gf_assert
    - gf_list_new
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_new
    - gf_av1_parse_obu_header
    - memcpy
    - gf_bs_write_u8
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void av1_add_obu_internal(GF_BitStream *bs, u64 pos, u64 obu_length,
      ObuType obu_type, GF_List **obu_list, AV1State *state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:2706,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2711,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2717,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2714,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2718,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2718,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2725,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:2735,1
    - Dst: av1_populate_state_from_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:2736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - bs
    - state
    argTypes:
    - GF_BitStream*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 2740
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2740
    functionName: aom_av1_parse_temporal_unit_from_section5
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_av1_parse_obu
    - gf_bs_get_position
    - av1_populate_state_from_obu
    - GF_LOG
    - gf_bs_seek
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aom_av1_parse_temporal_unit_from_section5(GF_BitStream *bs,
      AV1State *state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5221,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/media_tools/av_parsers.c:5225,1
    - Dst: gf_mp3_bit_rate
      Src: /src/gpac/src/media_tools/av_parsers.c:5224,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/media_tools/av_parsers.c:5222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5239
      start: 5218
    functionDepth: 0
    functionLinenumber: 5218
    functionLinenumberEnd: 5239
    functionName: gf_mp3_frame_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    - gf_mp3_layer
    - gf_mp3_sampling_rate
    - gf_mp3_bit_rate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_mp3_frame_size(u32 hdr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:5442,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:5450,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:5447,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5453,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5451,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:5455,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:5462,1
    - Dst: gf_bs_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:5471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - bs
    - fname
    - idx1
    - idx2
    - idx3
    argTypes:
    - GF_BitStream*
    - char*
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 5474
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5474
    functionName: gf_bs_read_ue_log_idx3
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_log_idx
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_is_overflow
    - gf_bs_available
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bs_read_ue_log_idx3(GF_BitStream *bs, const char *fname, s32
      idx1, s32 idx2, s32 idx3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5528
      start: 5518
    functionDepth: 0
    functionLinenumber: 5518
    functionLinenumberEnd: 5528
    functionName: gf_get_ue_nb_bits
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_get_ue_nb_bits(u32 num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - timescale
    - sample_dur
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: gf_media_get_reduced_frame_rate
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_media_get_reduced_frame_rate(u32 *timescale, u32
      *sample_dur) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1132,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1138,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1143,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1164,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1175,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1179,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:1180,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1133,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1149,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1141,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1153,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1176,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/av_parsers.c:1181,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1130,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1134,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1136,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1147,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1154,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1158,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1168,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1131,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1135,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1137,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1139,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1145,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1150,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1159,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1163,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:1171,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:1178,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - bs
    - cfg
    argTypes:
    - GF_BitStream*
    - GF_M4ADecSpecInfo*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1187
    functionName: gf_m4a_parse_program_config_element
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    - gf_bs_available
    - gf_bs_align
    - gf_bs_read_int_log_idx
    - gf_bs_read_int_log
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m4a_parse_program_config_element(GF_BitStream
      *bs, GF_M4ADecSpecInfo *cfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1641,1
    - Dst: gf_bs_log
      Src: /src/gpac/src/media_tools/av_parsers.c:1651,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:1650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - bs
    - fname
    argTypes:
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1653
    functionName: av1_uvlc
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_log
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 av1_uvlc(GF_BitStream *bs, const char *fname) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: av1_is_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:2667,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:2674,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2669,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2675,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2670,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2676,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2678,1
    - Dst: av1_add_obu_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:2685,1
    - Dst: av1_is_obu_frame
      Src: /src/gpac/src/media_tools/av_parsers.c:2687,1
    - Dst: av1_add_obu_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:2689,1
    - Dst: av1_add_obu_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:2692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - bs
    - pos
    - obu_length
    - obu_type
    - state
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - ObuType
    - AV1State*
    constantsTouched: []
    func_position:
      end: 2695
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2695
    functionName: av1_populate_state_from_obu
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_seek
    - gf_av1_parse_obu_header
    - gf_av1_leb128_read
    - av1_add_obu_internal
    - av1_is_obu_frame
    - av1_is_obu_header
    linkageType: ''
    returnType: void
    signature: 'static void av1_populate_state_from_obu(GF_BitStream *bs, u64 pos,
      u64 obu_length, ObuType obu_type, AV1State *state) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2745,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2746,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2770,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2765,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2750,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/media_tools/av_parsers.c:2775,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:2782,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/av_parsers.c:2793,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:2801,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:2805,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2807
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2807
    functionName: gf_media_aom_probe_annexb
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_seek
    - gf_av1_parse_obu_header
    - gf_av1_leb128_read
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_media_aom_probe_annexb(GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/av_parsers.c:5251,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:5255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 1
    argNames:
    - in
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 5295
      start: 5242
    functionDepth: 0
    functionLinenumber: 5242
    functionLinenumberEnd: 5295
    functionName: gf_mp3_get_next_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_fread
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mp3_get_next_header(FILE* in) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/av_parsers.c:5315,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/media_tools/av_parsers.c:5316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 3
    argNames:
    - buffer
    - size
    - pos
    argTypes:
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 5361
      start: 5297
    functionDepth: 0
    functionLinenumber: 5297
    functionLinenumberEnd: 5361
    functionName: gf_mp3_get_next_header_mem
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_frame_size
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mp3_get_next_header_mem(const u8 *buffer, u32 size,
      u32 *pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/media_tools/av_parsers.c:5538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - num
    argTypes:
    - GF_BitStream*
    - s32
    constantsTouched: []
    func_position:
      end: 5539
      start: 5530
    functionDepth: 0
    functionLinenumber: 5530
    functionLinenumberEnd: 5539
    functionName: gf_bs_write_se
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_write_ue
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_write_se(GF_BitStream *bs, s32 num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/media_tools/av_parsers.c:5551,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - data
    - data_len
    - sc_size
    argTypes:
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 5581
      start: 5543
    functionDepth: 0
    functionLinenumber: 5543
    functionLinenumberEnd: 5581
    functionName: gf_media_nalu_next_start_code
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_media_nalu_next_start_code(const u8 *data, u32 data_len,
      u32 *sc_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:7806,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7812,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:7822,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/media_tools/av_parsers.c:7810,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 7
    argNames:
    - sps_data
    - sps_size
    - sps_id
    - width
    - height
    - par_n
    - par_d
    argTypes:
    - u8*
    - u32
    - u32*
    - u32*
    - u32*
    - s32*
    - s32*
    constantsTouched: []
    func_position:
      end: 7824
      start: 7801
    functionDepth: 0
    functionLinenumber: 7801
    functionLinenumberEnd: 7824
    functionName: gf_avc_get_sps_info
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_avc_read_sps
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_avc_get_sps_info(u8 *sps_data, u32 sps_size, u32
      *sps_id, u32 *width, u32 *height, s32 *par_n, s32 *par_d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5137,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/media_tools/av_parsers.c:5138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5146
      start: 5134
    functionDepth: 0
    functionLinenumber: 5134
    functionLinenumberEnd: 5146
    functionName: gf_mp3_window_size
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    - gf_mp3_layer
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_mp3_window_size(u32 hdr) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9228,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9275,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9278,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:9280,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9203,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9215,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9221,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9252,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9256,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/av_parsers.c:9272,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:9281,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9207,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9205,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9204,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9212,1
    - Dst: hevc_profile_tier_level
      Src: /src/gpac/src/media_tools/av_parsers.c:9213,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9219,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9223,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9233,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9251,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9269,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9210,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9217,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9226,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9249,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9218,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9254,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9259,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9261,1
    - Dst: hevc_parse_hrd_parameters
      Src: /src/gpac/src/media_tools/av_parsers.c:9262,1
    - Dst: hevc_parse_vps_extension
      Src: /src/gpac/src/media_tools/av_parsers.c:9273,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 3
    argNames:
    - bs
    - hevc
    - stop_at_vps_ext
    argTypes:
    - GF_BitStream*
    - HEVCState*
    - Bool
    constantsTouched: []
    func_position:
      end: 9288
      start: 9183
    functionDepth: 0
    functionLinenumber: 9183
    functionLinenumberEnd: 9288
    functionName: gf_hevc_read_vps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - gf_bs_available
    - hevc_parse_hrd_parameters
    - gf_bs_align
    - gf_bs_read_int_log_idx2
    - gf_bs_read_int_log
    - hevc_profile_tier_level
    - hevc_parse_vps_extension
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_hevc_read_vps_bs_internal(GF_BitStream *bs, HEVCState
      *hevc, Bool stop_at_vps_ext) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:11657,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/media_tools/av_parsers.c:11662,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:11660,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:11658,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/media_tools/av_parsers.c:11661,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/media_tools/av_parsers.c:11663,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:11664,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11668,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11670,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11672,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11674,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11675,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:11685,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:11687,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11678,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11673,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:11680,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/media_tools/av_parsers.c:11680,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - ptr
    - size
    - ch_layout
    argTypes:
    - u8*
    - u32
    - u64*
    constantsTouched: []
    func_position:
      end: 11689
      start: 11639
    functionDepth: 0
    functionLinenumber: 11639
    functionLinenumberEnd: 11689
    functionName: gf_mpegh_get_mhas_pl
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - gf_audio_fmt_get_layout_from_cicp
    - gf_bs_skip_bytes
    - gf_mpegh_escaped_value
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_mpegh_get_mhas_pl(u8 *ptr, u32 size, u64 *ch_layout) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:11872,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11875,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11884,1
    - Dst: gf_bs_read_ue_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:11873,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11889,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11895,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11898,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11907,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11922,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:11927,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - bs
    - sps
    - listIdx
    - rplsIdx
    - rpl
    argTypes:
    - GF_BitStream*
    - VVC_SPS*
    - u32
    - u32
    - VVC_RefPicList*
    constantsTouched: []
    func_position:
      end: 11933
      start: 11866
    functionDepth: 0
    functionLinenumber: 11866
    functionLinenumberEnd: 11933
    functionName: vvc_parse_ref_pic_list_struct
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_bs_read_ue_log_idx2
    - gf_bs_read_int_log_idx2
    - gf_bs_read_ue_log_idx3
    - gf_bs_read_int_log_idx3
    linkageType: ''
    returnType: s32
    signature: 'static s32 vvc_parse_ref_pic_list_struct(GF_BitStream *bs, VVC_SPS
      *sps, u32 listIdx, u32 rplsIdx, VVC_RefPicList *rpl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/media_tools/av_parsers.c:931,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/media_tools/av_parsers.c:934,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/media_tools/av_parsers.c:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - rawdsi
    - rawdsi_size
    - dsi
    argTypes:
    - u8*
    - u32
    - GF_M4VDecSpecInfo*
    constantsTouched: []
    func_position:
      end: 936
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 936
    functionName: gf_mpegv12_get_config
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_m4v_parser_new
    - gf_m4v_parser_del
    - gf_m4v_parse_config
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mpegv12_get_config(u8 *rawdsi, u32 rawdsi_size,
      GF_M4VDecSpecInfo *dsi) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5160
      start: 5148
    functionDepth: 0
    functionLinenumber: 5148
    functionLinenumberEnd: 5160
    functionName: gf_mp3_object_type_indication
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_mp3_object_type_indication(u32 hdr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_version
      Src: /src/gpac/src/media_tools/av_parsers.c:5189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5196,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/media_tools/av_parsers.c:5190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:5210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 5214
      start: 5187
    functionDepth: 0
    functionLinenumber: 5187
    functionLinenumberEnd: 5214
    functionName: gf_mp3_bit_rate
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    - gf_mp3_layer
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_mp3_bit_rate(u32 hdr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/av_parsers.c:9302,1
    - Dst: hevc_parse_nal_header
      Src: /src/gpac/src/media_tools/av_parsers.c:9313,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9327,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:9328,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:9336,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/media_tools/av_parsers.c:9341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9343,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:9355,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:9306,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:9308,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/media_tools/av_parsers.c:9321,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/av_parsers.c:9323,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9327,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/av_parsers.c:9328,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/av_parsers.c:9332,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:9339,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:9307,1
    - Dst: gf_hevc_read_vps_bs_internal
      Src: /src/gpac/src/media_tools/av_parsers.c:9315,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:9322,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9325,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9326,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9324,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:9331,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:9346,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:9349,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:9354,1
    - Dst: gf_media_nalu_emulation_bytes_remove_count
      Src: /src/gpac/src/media_tools/av_parsers.c:9299,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:9301,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9325,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9326,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:9324,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/av_parsers.c:9338,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - data
    - size
    - hevc
    - remove_extensions
    argTypes:
    - u8*
    - u32*
    - HEVCState*
    - Bool
    constantsTouched: []
    func_position:
      end: 9357
      start: 9290
    functionDepth: 0
    functionLinenumber: 9290
    functionLinenumberEnd: 9357
    functionName: gf_hevc_read_vps_ex
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - GF_LOG
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_seek
    - gf_bs_del
    - gf_hevc_read_vps_bs_internal
    - gf_bs_write_int
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_write_u16
    - gf_bs_read_int
    - gf_bs_new
    - gf_media_nalu_remove_emulation_bytes
    - gf_bs_write_u8
    - gf_free
    - gf_media_nalu_emulation_bytes_add_count
    - hevc_parse_nal_header
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_get_bit_offset
    - gf_media_nalu_emulation_bytes_remove_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_hevc_read_vps_ex(u8 *data, u32 *size, HEVCState *hevc,
      Bool remove_extensions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_vvc_parse_sei
      Src: /src/gpac/src/media_tools/av_parsers.c:11694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - nal_size
    - vvc
    argTypes:
    - char*
    - u32
    - VVCState*
    constantsTouched: []
    func_position:
      end: 11695
      start: 11691
    functionDepth: 0
    functionLinenumber: 11691
    functionLinenumberEnd: 11695
    functionName: gf_vvc_parse_sei
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_hevc_vvc_parse_sei
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_vvc_parse_sei(char *buffer, u32 nal_size, VVCState
      *vvc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - chan_loc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10558
      start: 10544
    functionDepth: 0
    functionLinenumber: 10544
    functionLinenumberEnd: 10558
    functionName: gf_eac3_get_chan_loc_count
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_eac3_get_chan_loc_count(u32 chan_loc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - avc
    argTypes:
    - AVCState*
    constantsTouched: []
    func_position:
      end: 5594
      start: 5583
    functionDepth: 0
    functionLinenumber: 5583
    functionLinenumberEnd: 5594
    functionName: gf_avc_slice_is_intra
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_avc_slice_is_intra(AVCState *avc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4652,1
    - Dst: gf_iamf_get_obu_name
      Src: /src/gpac/src/media_tools/av_parsers.c:4658,1
    - Dst: iamf_is_temporal_unit_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4656,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4658,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4654,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4663,1
    - Dst: iamf_is_audio_frame_obu
      Src: /src/gpac/src/media_tools/av_parsers.c:4665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:4667,1
    - Dst: gf_iamf_get_obu_name
      Src: /src/gpac/src/media_tools/av_parsers.c:4667,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/av_parsers.c:4671,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/av_parsers.c:4704,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4682,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4699,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/av_parsers.c:4700,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4688,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/media_tools/av_parsers.c:4689,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 5
    argNames:
    - bs
    - obu_type
    - obu_size
    - num_samples_to_trim_at_start
    - num_samples_to_trim_at_end
    argTypes:
    - GF_BitStream*
    - IamfObuType*
    - u64*
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 4709
      start: 4642
    functionDepth: 0
    functionLinenumber: 4642
    functionLinenumberEnd: 4709
    functionName: gf_iamf_parse_obu_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - iamf_is_audio_frame_obu
    - GF_LOG
    - gf_bs_read_int
    - gf_iamf_get_obu_name
    - gf_bs_available
    - iamf_is_temporal_unit_obu
    - gf_av1_leb128_read
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_iamf_parse_obu_header(GF_BitStream *bs, IamfObuType
      *obu_type, u64 *obu_size, u64 *num_samples_to_trim_at_start, u64 *num_samples_to_trim_at_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - acmod
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 10402
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10402
    functionName: gf_ac3_get_surround_channels
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_ac3_get_surround_channels(u32 acmod) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:272,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - data
    - data_size
    - mpeg12video
    argTypes:
    - u8*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: gf_m4v_parser_new
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M4VParser *gf_m4v_parser_new(u8 *data, u64 data_size,
      Bool mpeg12video) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: gf_m4v_parser_set_inspect
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m4v_parser_set_inspect(GF_M4VParser *m4v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - buffer
    - nal_size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5748
      start: 5713
    functionDepth: 0
    functionLinenumber: 5713
    functionLinenumberEnd: 5748
    functionName: gf_media_nalu_emulation_bytes_remove_count
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_media_nalu_emulation_bytes_remove_count(const u8 *buffer, u32
      nal_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/av_parsers.c:6145,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:6152,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/av_parsers.c:6147,1
    - Dst: gf_avc_read_sps_bs
      Src: /src/gpac/src/media_tools/av_parsers.c:6160,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/media_tools/av_parsers.c:6146,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/av_parsers.c:6163,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/av_parsers.c:6164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - sps_data
    - sps_size
    - avc
    - subseq_sps
    - vui_flag_pos
    argTypes:
    - u8*
    - u32
    - AVCState*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 6166
      start: 6135
    functionDepth: 0
    functionLinenumber: 6135
    functionLinenumberEnd: 6166
    functionName: gf_avc_read_sps
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_del
    - gf_bs_new
    - gf_media_nalu_remove_emulation_bytes
    - gf_free
    - gf_avc_read_sps_bs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_avc_read_sps(const u8 *sps_data, u32 sps_size, AVCState
      *avc, u32 subseq_sps, u32 *vui_flag_pos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9759,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9773,1
    - Dst: gf_bs_read_ue_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:9775,1
    - Dst: hevc_color_map_octants
      Src: /src/gpac/src/media_tools/av_parsers.c:9764,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:9776,1
    - Dst: gf_bs_read_int_log_idx3
      Src: /src/gpac/src/media_tools/av_parsers.c:9778,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 10
    argNames:
    - bs
    - cm_octant_depth
    - OctantNumY
    - PartNumY
    - CMResLSBits
    - inpDepth
    - idxY
    - idxCb
    - idxCr
    - inpLength
    argTypes:
    - GF_BitStream*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 9784
      start: 9754
    functionDepth: 0
    functionLinenumber: 9754
    functionLinenumberEnd: 9784
    functionName: hevc_color_map_octants
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - hevc_color_map_octants
    - gf_bs_read_int_log
    - gf_bs_read_int_log_idx2
    - gf_bs_read_ue_log_idx3
    - gf_bs_read_int_log_idx3
    linkageType: ''
    returnType: void
    signature: 'static void hevc_color_map_octants(GF_BitStream *bs, u32 cm_octant_depth,
      u32 OctantNumY, u32 PartNumY, u32 CMResLSBits, u32 inpDepth, u32 idxY, u32 idxCb,
      u32 idxCr, u32 inpLength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/av_parsers.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - video_pl
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: gf_m4v_get_profile_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_m4v_get_profile_name(u8 video_pl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/av_parsers.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - mpeg12video
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: gf_m4v_parser_bs_new
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_M4VParser*
    signature: 'GF_M4VParser *gf_m4v_parser_bs_new(GF_BitStream *bs, Bool mpeg12video) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - m4v
    argTypes:
    - GF_M4VParser*
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: gf_m4v_parser_get_obj_type
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_m4v_parser_get_obj_type(GF_M4VParser *m4v) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9826,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9850,1
    - Dst: hevc_scaling_list_data
      Src: /src/gpac/src/media_tools/av_parsers.c:9864,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9891,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9888,1
    - Dst: hevc_color_map_octants
      Src: /src/gpac/src/media_tools/av_parsers.c:9945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9796,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9831,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9905,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9909,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9931,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9935,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9939,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9970,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:10014,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9884,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9819,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9832,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9885,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9920,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9913,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9924,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9986,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9867,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9906,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9836,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9853,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/media_tools/av_parsers.c:10021,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9830,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9856,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9904,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9997,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9999,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9900,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9805,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9811,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9823,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9858,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9917,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9914,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9921,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10000,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9874,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9875,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9902,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9975,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9998,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9877,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9898,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9918,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9907,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9847,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9887,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9929,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9952,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9980,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10001,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9844,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9954,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9957,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10007,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9815,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9859,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9876,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9863,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10003,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9793,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9816,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9932,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9933,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9938,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9951,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9883,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9855,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9899,1
    - Dst: gf_bs_read_ue_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9919,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9807,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9818,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9822,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9829,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:9841,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9879,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9814,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9825,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9890,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9868,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9894,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9911,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9915,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9925,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9950,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9817,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9827,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9878,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9927,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9930,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/av_parsers.c:9943,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9965,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9996,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10010,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10004,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9912,1
    - Dst: gf_bs_read_se_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9908,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9895,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9821,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9828,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9839,1
    - Dst: gf_bs_read_se_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9860,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:10006,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9857,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9820,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9834,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9866,1
    - Dst: gf_bs_read_ue_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9934,1
    - Dst: gf_bs_read_int_log
      Src: /src/gpac/src/media_tools/av_parsers.c:9936,1
    - Dst: gf_bs_read_int_log_idx
      Src: /src/gpac/src/media_tools/av_parsers.c:9956,1
    - Dst: gf_bs_read_int_log_idx2
      Src: /src/gpac/src/media_tools/av_parsers.c:9962,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 285
    argCount: 2
    argNames:
    - bs
    - hevc
    argTypes:
    - GF_BitStream*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 10024
      start: 9786
    functionDepth: 0
    functionLinenumber: 9786
    functionLinenumberEnd: 10024
    functionName: gf_hevc_read_pps_bs_internal
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - hevc_color_map_octants
    - GF_LOG
    - gf_bs_read_int_log_idx2
    - gf_bs_read_ue_log
    - gf_bs_read_ue_log_idx
    - gf_bs_read_se_log_idx
    - gf_bs_is_overflow
    - gf_bs_read_se_log
    - gf_bs_read_int_log_idx
    - hevc_scaling_list_data
    - gf_bs_read_int_log
    - MAX
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_hevc_read_pps_bs_internal(GF_BitStream *bs, HEVCState
      *hevc) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:11291,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/av_parsers.c:11293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11315,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11395,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11399,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11348,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11403,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11470,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11542,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/av_parsers.c:11302,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11311,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11299,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11452,1
    - Dst: gf_opus_read_length
      Src: /src/gpac/src/media_tools/av_parsers.c:11545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/av_parsers.c:11610,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 192
    argCount: 4
    argNames:
    - data
    - data_length
    - self_delimited
    - header
    argTypes:
    - u8*
    - u32
    - Bool
    - GF_OpusPacketHeader*
    constantsTouched: []
    func_position:
      end: 11623
      start: 11282
    functionDepth: 0
    functionLinenumber: 11282
    functionLinenumberEnd: 11623
    functionName: gf_opus_parse_packet_header
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached:
    - memcmp
    - GF_LOG
    - memset
    - gf_opus_read_length
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_opus_parse_packet_header(u8 *data, u32 data_length,
      Bool self_delimited, GF_OpusPacketHeader *header) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - video_prof
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 13927
      start: 13896
    functionDepth: 0
    functionLinenumber: 13896
    functionLinenumberEnd: 13927
    functionName: gf_vvc_get_profile_name
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_vvc_get_profile_name(u8 video_prof) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - buffer_src
    - buffer_dst
    - nal_size
    argTypes:
    - u8*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 5710
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5710
    functionName: gf_media_nalu_add_emulation_bytes
    functionSourceFile: /src/gpac/src/media_tools/av_parsers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_media_nalu_add_emulation_bytes(const u8 *buffer_src, u8 *buffer_dst,
      u32 nal_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:138,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/media_tools/dash_segmenter.c:140,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/media_tools/dash_segmenter.c:142,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:150,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_segmenter.c:154,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:157,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_segmenter.c:161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - mpdName
    - dash_profile
    - tmp_dir
    - dash_timescale
    - dasher_context_file
    argTypes:
    - char*
    - GF_DashProfile
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 164
    functionName: gf_dasher_new
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sys_get_arg
    - strstr
    - gf_sys_get_argc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DASHSegmenter *gf_dasher_new(const char *mpdName, GF_DashProfile
      dash_profile, const char *tmp_dir, u32 dash_timescale, const char *dasher_context_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/media_tools/dash_segmenter.c:177,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:180,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/dash_segmenter.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dasher
    argTypes:
    - GF_DASHSegmenter*
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: gf_dasher_clean_inputs
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_fs_print_unused_args
    - gf_fs_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dasher_clean_inputs(GF_DASHSegmenter *dasher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - fs_print_flags
    argTypes:
    - GF_DASHSegmenter*
    - u32
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: gf_dasher_print_session_info
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_print_session_info(GF_DASHSegmenter *dasher,
      u32 fs_print_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dasher
    - min_buffer
    argTypes:
    - GF_DASHSegmenter*
    - Double
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: gf_dasher_set_min_buffer
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_min_buffer(GF_DASHSegmenter *dasher,
      Double min_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - real_time
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: gf_dasher_enable_real_time
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_real_time(GF_DASHSegmenter *dasher,
      Bool real_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - do_loop
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: gf_dasher_enable_loop_inputs
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_loop_inputs(GF_DASHSegmenter *dasher,
      Bool do_loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - split_mode
    argTypes:
    - GF_DASHSegmenter*
    - GF_DASH_SplitMode
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: gf_dasher_set_split_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_split_mode(GF_DASHSegmenter *dasher,
      GF_DASH_SplitMode split_mode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:188,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:191,1
    - Dst: gf_dasher_clean_inputs
      Src: /src/gpac/src/media_tools/dash_segmenter.c:189,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:190,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:192,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:193,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:194,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:195,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:196,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:197,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:199,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:198,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - dasher
    argTypes:
    - GF_DASHSegmenter*
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: gf_dasher_del
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_dasher_clean_inputs
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dasher_del(GF_DASHSegmenter *dasher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:170,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dasher
    - dash_utc_start_date
    argTypes:
    - GF_DASHSegmenter*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: gf_dasher_set_start_date
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dasher_set_start_date(GF_DASHSegmenter *dasher,
      const char *dash_utc_start_date) '
  - BBCount: 229
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:599,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:682,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:728,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:816,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:821,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:827,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:833,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:838,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:944,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:948,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:997,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1050,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1071,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1257,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1144,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1099,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:564,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:568,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:644,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:687,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:768,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:845,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:850,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:865,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:925,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1276,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1288,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_segmenter.c:891,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1036,1
    - Dst: dash_state_check_timing
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1244,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1034,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1215,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:894,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1103,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/src/media_tools/dash_segmenter.c:515,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:754,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:799,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:812,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:820,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/dash_segmenter.c:942,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1000,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1053,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1129,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1206,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:779,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1102,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1086,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1187,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1242,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:987,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1157,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:593,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:625,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:240,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:242,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/src/media_tools/dash_segmenter.c:559,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:731,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/dash_segmenter.c:758,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:791,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/src/media_tools/dash_segmenter.c:802,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:853,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:905,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:976,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/src/media_tools/dash_segmenter.c:801,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1221,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1155,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1062,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1095,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1284,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_segmenter.c:500,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:589,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:598,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:679,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:725,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:769,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:825,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:830,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:993,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1006,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1098,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1013,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:982,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1267,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1019,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:235,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:493,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:517,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:609,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:686,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:759,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:773,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:785,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:842,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:857,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:960,1
    - Dst: gf_dasher_setup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1253,1
    - Dst: on_dasher_event
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1283,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:879,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1021,1
    - Dst: gf_net_get_ntp_ms
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1226,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1078,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:992,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:495,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:550,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:710,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:715,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:718,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:776,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:796,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:808,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:818,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:963,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:979,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1022,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_segmenter.c:944,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1069,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1077,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:911,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1169,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:622,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:634,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:669,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:652,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:610,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:695,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:762,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:765,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:788,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1277,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:758,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:841,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:861,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1059,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1080,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1207,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:761,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:601,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:676,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:714,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:739,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:750,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:866,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:873,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:996,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1001,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1025,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1272,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1275,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1287,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1279,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1011,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1116,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1209,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1163,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:608,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:703,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:591,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:651,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:694,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:772,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:782,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:854,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:874,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:967,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:846,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1216,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1268,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1145,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1165,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1037,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:493,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/media_tools/dash_segmenter.c:574,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:596,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:706,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:815,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:886,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:954,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:975,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:981,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1060,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1122,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1014,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1136,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1089,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:648,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:643,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:619,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:691,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:631,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:494,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:666,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:738,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:740,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1043,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1045,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1087,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1202,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:862,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1280,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1068,1
    - Dst: dasher_format_seg_name
      Src: /src/gpac/src/media_tools/dash_segmenter.c:252,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:518,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:600,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:603,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:605,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:673,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:711,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:719,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:729,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:809,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1035,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1111,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1269,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:971,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/dash_segmenter.c:877,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:991,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1051,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1117,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1042,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:576,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:578,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:660,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:607,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:647,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:690,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:737,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:752,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:771,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1262,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1165,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1106,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1258,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:226,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:534,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:670,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:705,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:724,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:939,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1005,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1031,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:858,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:912,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1026,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1247,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:849,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:616,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:663,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:640,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:697,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/dash_segmenter.c:554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:532,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/media_tools/dash_segmenter.c:558,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:579,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:732,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1094,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:822,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1109,1
    CyclomaticComplexity: 398
    EdgeCount: 398
    ICount: 880
    argCount: 6
    argNames:
    - dasher
    - title
    - copyright
    - moreInfoURL
    - sourceInfo
    - lang
    argTypes:
    - GF_DASHSegmenter*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1292
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 1292
    functionName: gf_dasher_set_info
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_fs_load_source
    - strncmp
    - GF_FEVT_INIT
    - gf_fs_print_non_connected
    - GF_LOG
    - gf_fs_get_filters_count
    - dash_state_check_timing
    - on_dasher_event
    - gf_4cc_to_str
    - gf_fs_print_unused_args
    - strstr
    - gf_fs_run
    - gf_url_colon_suffix
    - gf_xml_dom_del
    - gf_net_get_ntp_ms
    - gf_xml_dom_new
    - gf_xml_dom_get_root
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_fs_del
    - gf_fs_get_last_connect_error
    - stricmp
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_set_source
    - gf_xml_dom_parse
    - gf_fs_load_destination
    - gf_list_enum
    - sprintf
    - gf_sys_find_global_arg
    - gf_filter_send_event
    - gf_filter_send_update
    - gf_fs_new_defaults
    - dasher_format_seg_name
    - strchr
    - gf_sys_is_test_mode
    - gf_free
    - gf_dasher_setup
    - gf_fs_print_stats
    - gf_filter_get_ipid
    - gf_fs_print_connections
    - gf_fs_enable_reporting
    - sscanf
    - gf_fs_set_ui_callback
    - gf_log_get_tool_level
    - gf_fs_get_last_process_error
    - strrchr
    - gf_fs_get_filter_stats
    - gf_sys_is_quiet
    - gf_fs_load_filter
    - gf_file_exists
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_info(GF_DASHSegmenter *dasher, const
      char *title, const char *copyright, const char *moreInfoURL, const char *sourceInfo,
      const char *lang) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - keep_utc
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: gf_dasher_keep_source_utc
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_keep_source_utc(GF_DASHSegmenter *dasher,
      Bool keep_utc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - ast_offset_ms
    argTypes:
    - GF_DASHSegmenter*
    - s32
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: gf_dasher_set_ast_offset
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_ast_offset(GF_DASHSegmenter *dasher,
      s32 ast_offset_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - mode
    argTypes:
    - GF_DASHSegmenter*
    - GF_DASH_ContentLocationMode
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: gf_dasher_set_content_protection_location_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_content_protection_location_mode(GF_DASHSegmenter
      *dasher, GF_DASH_ContentLocationMode mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - insert_clock
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: gf_dasher_set_hls_clock
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_hls_clock(GF_DASHSegmenter *dasher,
      Bool insert_clock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - merge_last_seg
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: gf_dasher_set_last_segment_merge
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_last_segment_merge(GF_DASHSegmenter
      *dasher, Bool merge_last_seg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames:
    - copyright
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: DOSET
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    linkageType: ''
    returnType: DOSET(title)
    signature: "DOSET(title) DOSET(copyright) DOSET(moreInfoURL)\tDOSET(sourceInfo);
      DOSET(lang); return GF_OK; }GF_EXPORTGF_Err gf_dasher_set_location(GF_DASHSegmenter
      *dasher, const char *location) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dasher
    - base_url
    argTypes:
    - GF_DASHSegmenter*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: gf_dasher_add_base_url
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_add_base_url(GF_DASHSegmenter *dasher,
      const char *base_url) '
  - BBCount: 160
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:599,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:682,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:728,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:816,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:821,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:827,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:833,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:838,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:944,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:948,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:997,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1050,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1071,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1144,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1099,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:644,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:564,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:568,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:687,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:768,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:845,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:850,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:865,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:925,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_segmenter.c:891,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1036,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1034,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:894,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:754,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:799,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:812,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:820,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/dash_segmenter.c:942,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1000,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1053,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1060,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1077,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1129,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:779,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1102,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1187,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:987,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1157,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:731,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:625,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/src/media_tools/dash_segmenter.c:559,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:593,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/dash_segmenter.c:758,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:791,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/src/media_tools/dash_segmenter.c:802,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:853,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:870,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:976,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/src/media_tools/dash_segmenter.c:801,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1155,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1095,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:589,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:598,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:679,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:725,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:769,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:825,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:830,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:993,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1006,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1026,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1098,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1013,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:982,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:609,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:686,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:759,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:773,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:785,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:842,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:857,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:905,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:960,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1045,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1021,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1078,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:992,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:550,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:710,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:715,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:718,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:776,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:796,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:808,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:818,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:963,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:971,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:979,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1022,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_segmenter.c:944,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1069,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:911,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1169,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:622,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:634,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:669,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:652,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:695,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:610,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:762,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:765,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:788,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:841,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:861,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1059,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1080,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:601,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:676,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:739,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:714,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:750,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:866,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:873,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:996,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1001,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1025,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1011,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1116,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1163,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:703,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:591,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:608,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:651,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:694,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:772,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:782,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:854,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:874,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:967,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:846,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1145,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1165,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1103,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/media_tools/dash_segmenter.c:574,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:596,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:706,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:815,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:886,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:954,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:975,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:981,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1019,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1122,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1014,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1136,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1089,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:740,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:648,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:738,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:643,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:691,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:631,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:619,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:666,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:761,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1043,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1087,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:973,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1068,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:600,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:603,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:605,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:711,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:729,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:673,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:719,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:809,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:822,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:879,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1035,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1111,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1051,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/dash_segmenter.c:877,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:991,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1117,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1086,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/media_tools/dash_segmenter.c:557,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:578,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:576,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:607,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:660,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:647,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:737,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:690,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:752,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:771,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1165,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1106,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:724,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:670,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:705,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_segmenter.c:939,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1005,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1031,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1037,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1042,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1062,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:912,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1118,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:849,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:640,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:663,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:732,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:697,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/dash_segmenter.c:554,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/media_tools/dash_segmenter.c:558,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_segmenter.c:579,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_segmenter.c:616,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:758,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1109,1
    CyclomaticComplexity: 226
    EdgeCount: 226
    ICount: 628
    argCount: 1
    argNames:
    - dasher
    argTypes:
    - GF_DASHSegmenter*
    constantsTouched: []
    func_position:
      end: 1192
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 1192
    functionName: gf_dasher_setup
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fs_load_source
    - strncmp
    - GF_LOG
    - gf_4cc_to_str
    - strstr
    - gf_url_colon_suffix
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - stricmp
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_set_source
    - gf_fs_load_destination
    - sprintf
    - gf_sys_find_global_arg
    - gf_fs_new_defaults
    - strchr
    - gf_sys_is_test_mode
    - gf_free
    - gf_fs_enable_reporting
    - sscanf
    - gf_fs_set_ui_callback
    - gf_log_get_tool_level
    - strrchr
    - gf_sys_is_quiet
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dasher_setup(GF_DASHSegmenter *dasher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_segmenter.c:240,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dasher
    - inName
    argTypes:
    - GF_DASHSegmenter*
    - char*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: dasher_format_seg_name
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dasher_format_seg_name(GF_DASHSegmenter *dasher, const
      char *inName) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/src/media_tools/dash_segmenter.c:515,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:532,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:518,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:517,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:534,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - _udta
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: on_dasher_event
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_fs_get_filters_count
    - GF_LOG
    - gf_fs_get_filter_stats
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_dasher_event(void *_udta, GF_Event *evt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1202,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1209,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1207,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1214,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1206,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1215,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1216,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1221,1
    - Dst: gf_net_get_ntp_ms
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1226,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - dash_state
    - next_gen_ntp_ms
    - next_time_ms
    argTypes:
    - char*
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1233
    functionName: dash_state_check_timing
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_xml_dom_parse
    - gf_net_get_ntp_ms
    - gf_xml_dom_new
    - sscanf
    - gf_list_enum
    - strcmp
    - gf_xml_dom_get_root
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dash_state_check_timing(const char *dash_state, u64 *next_gen_ntp_ms,
      u32 *next_time_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - bitstream_switching
    argTypes:
    - GF_DASHSegmenter*
    - GF_DashSwitchingMode
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: gf_dasher_set_switch_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_switch_mode(GF_DASHSegmenter *dasher,
      GF_DashSwitchingMode bitstream_switching) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dasher
    - segments_start_with_rap
    - fragments_start_with_rap
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: gf_dasher_enable_rap_splitting
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_rap_splitting(GF_DASHSegmenter *dasher,
      Bool segments_start_with_rap, Bool fragments_start_with_rap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - dasher
    - enable_sidx
    - subsegs_per_sidx
    - daisy_chain_sidx
    - use_ssix
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: gf_dasher_enable_sidx
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_sidx(GF_DASHSegmenter *dasher, Bool
      enable_sidx, u32 subsegs_per_sidx, Bool daisy_chain_sidx, Bool use_ssix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - fragments_in_memory
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: gf_dasher_enable_memory_fragmenting
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_memory_fragmenting(GF_DASHSegmenter
      *dasher, Bool fragments_in_memory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 8
    argNames:
    - dasher
    - no_fragments_defaults
    - pssh_mode
    - samplegroups_in_traf
    - single_traf_per_moof
    - tfdt_per_traf
    - mvex_after_traks
    - sdtp_in_traf
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    - GF_DASHPSSHMode
    - Bool
    - Bool
    - Bool
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: gf_dasher_configure_isobmf_default
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_configure_isobmf_default(GF_DASHSegmenter
      *dasher, Bool no_fragments_defaults, GF_DASHPSSHMode pssh_mode, Bool samplegroups_in_traf,
      Bool single_traf_per_moof, Bool tfdt_per_traf, Bool mvex_after_traks, u32 sdtp_in_traf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp_ms
      Src: /src/gpac/src/media_tools/dash_segmenter.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dasher
    - ms_in_session
    argTypes:
    - GF_DASHSegmenter*
    - u64*
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: gf_dasher_next_update_time
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp_ms
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dasher_next_update_time(GF_DASHSegmenter *dasher,
      u64 *ms_in_session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - dasher
    - default_segment_duration
    - default_fragment_duration
    - sub_duration
    argTypes:
    - GF_DASHSegmenter*
    - Double
    - Double
    - Double
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: gf_dasher_set_durations
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_durations(GF_DASHSegmenter *dasher,
      Double default_segment_duration, Double default_fragment_duration, Double sub_duration) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - segment_marker_4cc
    argTypes:
    - GF_DASHSegmenter*
    - u32
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: gf_dasher_set_segment_marker
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_segment_marker(GF_DASHSegmenter *dasher,
      u32 segment_marker_4cc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - dasher
    - dash_mode
    - mpd_update_time
    - time_shift_depth
    - mpd_live_duration
    argTypes:
    - GF_DASHSegmenter*
    - GF_DashDynamicMode
    - Double
    - s32
    - Double
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: gf_dasher_set_dynamic_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_dynamic_mode(GF_DASHSegmenter *dasher,
      GF_DashDynamicMode dash_mode, Double mpd_update_time, s32 time_shift_depth,
      Double mpd_live_duration) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dasher
    - initial_moof_sn
    - initial_tfdt
    argTypes:
    - GF_DASHSegmenter*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: gf_dasher_set_initial_isobmf
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_initial_isobmf(GF_DASHSegmenter *dasher,
      u32 initial_moof_sn, u64 initial_tfdt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - insert_utc
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: gf_dasher_enable_utc_ref
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_utc_ref(GF_DASHSegmenter *dasher,
      Bool insert_utc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dasher_format_seg_name
      Src: /src/gpac/src/media_tools/dash_segmenter.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - dasher
    - enable
    - default_template
    - default_extension
    - default_init_extension
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: gf_dasher_enable_url_template
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - dasher_format_seg_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_url_template(GF_DASHSegmenter *dasher,
      Bool enable, const char *default_template, const char *default_extension, const
      char *default_init_extension) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - enable
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: gf_dasher_enable_single_segment
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_single_segment(GF_DASHSegmenter
      *dasher, Bool enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - dash_profile_extension
    argTypes:
    - GF_DASHSegmenter*
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: gf_dasher_set_profile_extension
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_profile_extension(GF_DASHSegmenter
      *dasher, const char *dash_profile_extension) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - dasher
    - cues_file
    - strict_cues
    argTypes:
    - GF_DASHSegmenter*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: gf_dasher_set_cues
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_set_cues(GF_DASHSegmenter *dasher, const
      char *cues_file, Bool strict_cues) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - enable
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: gf_dasher_enable_segment_timeline
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_segment_timeline(GF_DASHSegmenter
      *dasher, Bool enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - enable
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: gf_dasher_enable_single_file
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_single_file(GF_DASHSegmenter *dasher,
      Bool enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dasher
    - no_cache
    argTypes:
    - GF_DASHSegmenter*
    - Bool
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: gf_dasher_enable_cached_inputs
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_enable_cached_inputs(GF_DASHSegmenter *dasher,
      Bool no_cache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_segmenter.c:494,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_segmenter.c:500,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - dasher
    - input
    argTypes:
    - GF_DASHSegmenter*
    - GF_DashSegmenterInput*
    constantsTouched: []
    func_position:
      end: 502
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 502
    functionName: gf_dasher_add_input
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - stricmp
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_add_input(GF_DASHSegmenter *dasher, const
      GF_DashSegmenterInput *input) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1267,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1268,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1277,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1279,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1242,1
    - Dst: gf_dasher_setup
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1253,1
    - Dst: dash_state_check_timing
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1244,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1272,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1280,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1257,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1258,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1262,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1269,1
    - Dst: on_dasher_event
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1283,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1284,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1247,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1275,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/dash_segmenter.c:1276,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 1
    argNames:
    - dasher
    argTypes:
    - GF_DASHSegmenter*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1292
    functionName: gf_dasher_process
    functionSourceFile: /src/gpac/src/media_tools/dash_segmenter.c
    functionUses: []
    functionsReached:
    - gf_fs_print_non_connected
    - GF_FEVT_INIT
    - gf_fs_print_connections
    - GF_LOG
    - gf_fs_del
    - gf_fs_get_last_process_error
    - gf_filter_send_event
    - gf_filter_send_update
    - gf_fs_get_last_connect_error
    - dash_state_check_timing
    - on_dasher_event
    - gf_fs_print_stats
    - gf_dasher_setup
    - gf_fs_print_unused_args
    - gf_filter_get_ipid
    - gf_fs_run
    - gf_file_exists
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dasher_process(GF_DASHSegmenter *dasher) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m3u8.c:156,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:170,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:168,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:167,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:169,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:172,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:179,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m3u8.c:183,1
    - Dst: gf_htonl
      Src: /src/gpac/src/media_tools/m3u8.c:185,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/m3u8.c:186,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:194,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:212,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:195,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/m3u8.c:187,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:213,1
    - Dst: playlist_element_del
      Src: /src/gpac/src/media_tools/m3u8.c:206,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m3u8.c:204,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - element_type
    - url
    - attribs
    argTypes:
    - PlaylistElementType
    - char*
    - s_accumulated_attributes*
    constantsTouched: []
    func_position:
      end: 215
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 215
    functionName: playlist_element_new
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - playlist_element_del
    - gf_htonl
    - memset
    - gf_strdup
    - memcpy
    - GF_SAFEALLOC
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: PlaylistElement*
    signature: 'static PlaylistElement * playlist_element_new(PlaylistElementType
      element_type, const char *url, s_accumulated_attributes *attribs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:245,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m3u8.c:250,1
    - Dst: cleanup_list_of_elements
      Src: /src/gpac/src/media_tools/m3u8.c:247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:246,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/m3u8.c:248,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Stream*
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: stream_del
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - cleanup_list_of_elements
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err stream_del(Stream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/media_tools/m3u8.c:262,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:262,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: string2num
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_assert
    - gf_sha1_csum
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE int string2num(const char *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:279,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:283,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - attribute
    - line
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: safe_start_equals
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool safe_start_equals(const char *attribute, const char *line) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:301,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:302,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:305,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/m3u8.c:307,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:324,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:324,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/m3u8.c:326,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/m3u8.c:327,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:348,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 3
    argNames:
    - name
    - line
    - num_attributes
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 352
    functionName: extract_attributes
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - safe_start_equals
    - strncpy
    - gf_calloc
    - gf_free
    linkageType: ''
    returnType: char**
    signature: 'static char ** extract_attributes(const char *name, const char *line,
      const int num_attributes) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:434,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:458,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:466,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:477,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:494,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:479,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:663,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:715,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:796,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:475,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:508,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:580,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:596,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:629,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:638,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:656,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:690,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:461,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:524,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:567,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:378,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:395,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:411,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:424,1
    - Dst: strtod
      Src: /src/gpac/src/media_tools/m3u8.c:430,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:448,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:456,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:788,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:732,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:589,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:584,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:507,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:528,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:613,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:654,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:682,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:743,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:402,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:439,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:543,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:538,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:570,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:557,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:575,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:601,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:607,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:723,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:697,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:779,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/m3u8.c:513,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:453,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:469,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:487,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:517,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:580,1
    - Dst: GROUP_ID_TO_PROGRAM_ID
      Src: /src/gpac/src/media_tools/m3u8.c:687,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:689,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/m3u8.c:735,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:792,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:779,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:511,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:549,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:440,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:641,1
    - Dst: free_attrs
      Src: /src/gpac/src/media_tools/m3u8.c:694,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:710,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:776,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:788,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:686,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:574,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:577,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:586,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:562,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:532,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:621,1
    - Dst: GROUP_ID_TO_PROGRAM_ID
      Src: /src/gpac/src/media_tools/m3u8.c:679,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:681,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:766,1
    - Dst: free_attrs
      Src: /src/gpac/src/media_tools/m3u8.c:744,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:734,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:717,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:526,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:588,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:535,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:771,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:796,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:702,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:759,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:776,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:590,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:380,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:390,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:426,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:449,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:463,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:504,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:497,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:595,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:668,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:784,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:478,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:585,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/m3u8.c:500,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:435,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:565,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:610,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:616,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:714,1
    - Dst: free_attrs
      Src: /src/gpac/src/media_tools/m3u8.c:755,1
    - Dst: free_attrs
      Src: /src/gpac/src/media_tools/m3u8.c:760,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:737,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:730,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:398,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:634,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:678,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:792,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:712,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:748,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:766,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:376,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:386,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:464,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:514,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:571,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:624,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:665,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:669,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:703,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:711,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:725,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:771,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:408,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:592,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:644,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:653,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:660,1
    - Dst: GROUP_ID_TO_PROGRAM_ID
      Src: /src/gpac/src/media_tools/m3u8.c:683,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:685,1
    - Dst: GROUP_ID_TO_PROGRAM_ID
      Src: /src/gpac/src/media_tools/m3u8.c:691,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:709,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:731,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:728,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:784,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:420,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:594,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:667,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:673,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:675,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:707,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:799,1
    - Dst: M3U8_COMPATIBILITY_VERSION
      Src: /src/gpac/src/media_tools/m3u8.c:501,1
    - Dst: extract_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:552,1
    - Dst: safe_start_equals
      Src: /src/gpac/src/media_tools/m3u8.c:560,1
    - Dst: strtol
      Src: /src/gpac/src/media_tools/m3u8.c:415,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:450,1
    - Dst: free_attrs
      Src: /src/gpac/src/media_tools/m3u8.c:602,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:658,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:677,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:693,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:749,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 512
    argCount: 2
    argNames:
    - line
    - attributes
    argTypes:
    - char*
    - s_accumulated_attributes*
    constantsTouched: []
    func_position:
      end: 801
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 801
    functionName: parse_attributes
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - strlen
    - free_attrs
    - GROUP_ID_TO_PROGRAM_ID
    - strncmp
    - sscanf
    - gf_strdup
    - strtod
    - GF_LOG
    - strcmp
    - M3U8_COMPATIBILITY_VERSION
    - safe_start_equals
    - strtol
    - gf_net_parse_date
    - gf_free
    - stricmp
    - gf_assert
    - strstr
    - extract_attributes
    linkageType: ''
    returnType: char**
    signature: 'static char ** parse_attributes(const char *line, s_accumulated_attributes
      *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:830,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:833,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:832,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:834,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:831,1
    - Dst: playlist_element_del
      Src: /src/gpac/src/media_tools/m3u8.c:836,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/m3u8.c:837,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m3u8.c:839,1
    - Dst: stream_del
      Src: /src/gpac/src/media_tools/m3u8.c:841,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/m3u8.c:842,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:846,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m3u8.c:844,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - MasterPlaylist**
    constantsTouched: []
    func_position:
      end: 850
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 850
    functionName: gf_m3u8_master_playlist_del
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - playlist_element_del
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_assert
    - stream_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_m3u8_master_playlist_del(MasterPlaylist **playlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/m3u8.c:878,1
    - Dst: string2num
      Src: /src/gpac/src/media_tools/m3u8.c:879,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/m3u8.c:882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - playlist
    - baseURL
    argTypes:
    - char*
    - MasterPlaylist**
    - char*
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: gf_m3u8_parse_master_playlist
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_m3u8_parse_sub_playlist
    - string2num
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m3u8_parse_master_playlist(const char *file, MasterPlaylist
      **playlist, const char *baseURL) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:83,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/m3u8.c:87,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:84,1
    - Dst: playlist_element_del
      Src: /src/gpac/src/media_tools/m3u8.c:86,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/m3u8.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: cleanup_list_of_elements
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - playlist_element_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cleanup_list_of_elements(GF_List *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/m3u8.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - s_accumulated_attributes*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: reset_attributes
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void reset_attributes(s_accumulated_attributes *attributes) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: master_playlist_find_matching_stream
      Src: /src/gpac/src/media_tools/m3u8.c:904,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:956,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:946,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:981,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:995,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1014,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m3u8.c:1029,1
    - Dst: playlist_element_new
      Src: /src/gpac/src/media_tools/m3u8.c:1035,1
    - Dst: playlist_element_del
      Src: /src/gpac/src/media_tools/m3u8.c:1043,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m3u8.c:1046,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1075,1
    - Dst: playlist_element_del
      Src: /src/gpac/src/media_tools/m3u8.c:1025,1
    - Dst: stream_new
      Src: /src/gpac/src/media_tools/m3u8.c:907,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:921,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:926,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:962,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:960,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:927,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/m3u8.c:963,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/m3u8.c:968,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/m3u8.c:969,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:993,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1020,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m3u8.c:1039,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:922,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/m3u8.c:951,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/m3u8.c:931,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/m3u8.c:959,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/m3u8.c:961,1
    - Dst: playlist_element_new
      Src: /src/gpac/src/media_tools/m3u8.c:974,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:982,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m3u8.c:996,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1007,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1015,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1032,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1033,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:988,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m3u8.c:1028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:893,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/m3u8.c:910,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:897,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/m3u8.c:913,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/m3u8.c:977,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:984,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/m3u8.c:985,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:990,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/m3u8.c:1011,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/m3u8.c:1024,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1031,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1109,1
    - Dst: playlist_element_new
      Src: /src/gpac/src/media_tools/m3u8.c:1018,1
    - Dst: gf_m3u8_master_playlist_del
      Src: /src/gpac/src/media_tools/m3u8.c:1042,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1101,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1105,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1097,1
    - Dst: playlist_element_new
      Src: /src/gpac/src/media_tools/m3u8.c:1008,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1093,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1089,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1085,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:1002,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 200
    argCount: 6
    argNames:
    - currentLine
    - baseURL
    - attribs
    - sub_playlist
    - playlist
    - in_stream
    argTypes:
    - char*
    - char*
    - s_accumulated_attributes*
    - PlaylistElement*
    - MasterPlaylist**
    - Stream*
    constantsTouched: []
    func_position:
      end: 1113
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 1113
    functionName: declare_sub_playlist
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - GF_LOG
    - strstr
    - stream_new
    - master_playlist_find_matching_stream
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_list_new
    - gf_assert
    - playlist_element_new
    - gf_dynstrcat
    - gf_list_get
    - strchr
    - gf_free
    - gf_realloc
    - gf_m3u8_master_playlist_del
    - playlist_element_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err declare_sub_playlist(char *currentLine, const char *baseURL,
      s_accumulated_attributes *attribs, PlaylistElement *sub_playlist, MasterPlaylist
      **playlist, Stream *in_stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/m3u8.c:224,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m3u8.c:229,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: stream_new
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: Stream*
    signature: 'static Stream * stream_new(int stream_id) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:101,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:113,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:107,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:104,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:119,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:122,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:125,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:128,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:132,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:139,1
    - Dst: cleanup_list_of_elements
      Src: /src/gpac/src/media_tools/m3u8.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:144,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/m3u8.c:130,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - e
    argTypes:
    - PlaylistElement*
    constantsTouched: []
    func_position:
      end: 146
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 146
    functionName: playlist_element_del
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_assert
    - cleanup_list_of_elements
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err playlist_element_del(PlaylistElement * e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:362,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: free_attrs
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void free_attrs(char** attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/m3u8.c:810,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:816,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/m3u8.c:814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 822
    functionName: master_playlist_new
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: MasterPlaylist*
    signature: 'MasterPlaylist * master_playlist_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:854,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:859,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:856,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:857,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:855,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/m3u8.c:860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pl
    - stream_id
    argTypes:
    - MasterPlaylist*
    - u32
    constantsTouched: []
    func_position:
      end: 867
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 867
    functionName: master_playlist_find_matching_stream
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_assert
    - gf_list_get
    linkageType: ''
    returnType: Stream*
    signature: 'static Stream * master_playlist_find_matching_stream(const MasterPlaylist
      *pl, const u32 stream_id) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/m3u8.c:1156,1
    - Dst: master_playlist_new
      Src: /src/gpac/src/media_tools/m3u8.c:1179,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1291,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1294,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/m3u8.c:1336,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:1355,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/m3u8.c:1359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1370,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:1360,1
    - Dst: reset_attribs
      Src: /src/gpac/src/media_tools/m3u8.c:1347,1
    - Dst: declare_sub_playlist
      Src: /src/gpac/src/media_tools/m3u8.c:1317,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/m3u8.c:1163,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/m3u8.c:1170,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/m3u8.c:1217,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:1214,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:1222,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:1238,1
    - Dst: atof
      Src: /src/gpac/src/media_tools/m3u8.c:1254,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:1260,1
    - Dst: declare_sub_playlist
      Src: /src/gpac/src/media_tools/m3u8.c:1270,1
    - Dst: parse_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:1287,1
    - Dst: declare_sub_playlist
      Src: /src/gpac/src/media_tools/m3u8.c:1337,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1295,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/m3u8.c:1357,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:1155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1165,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:1234,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:1231,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:1236,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/m3u8.c:1286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/m3u8.c:1300,1
    - Dst: reset_attributes
      Src: /src/gpac/src/media_tools/m3u8.c:1186,1
    - Dst: gf_fgets
      Src: /src/gpac/src/media_tools/m3u8.c:1192,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:1211,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/m3u8.c:1235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1223,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:1244,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/m3u8.c:1246,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/m3u8.c:1252,1
    - Dst: gf_m3u8_parse_sub_playlist
      Src: /src/gpac/src/media_tools/m3u8.c:1144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1289,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/m3u8.c:1299,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 182
    argCount: 0
    argNames:
    - name
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1373
    functionName: RST_ATTR
    functionSourceFile: /src/gpac/src/media_tools/m3u8.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - strncmp
    - gf_fgets
    - GF_LOG
    - gf_m3u8_parse_sub_playlist
    - strstr
    - master_playlist_new
    - reset_attributes
    - gf_list_count
    - gf_blob_get
    - gf_file_basename
    - gf_fopen
    - declare_sub_playlist
    - gf_list_get
    - strchr
    - gf_free
    - reset_attribs
    - atof
    - sscanf
    - parse_attributes
    linkageType: ''
    returnType: RST_ATTR(key_url)
    signature: "RST_ATTR(key_url) RST_ATTR(name) }\tRST_ATTR(init_url)\tRST_ATTR(mediaURL)}GF_Err
      gf_m3u8_parse_sub_playlist(const char *m3u8_file, MasterPlaylist **playlist,
      const char *baseURL, Stream *in_stream, PlaylistElement *sub_playlist, Bool
      is_master) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:88,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/saf.c:93,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/saf.c:92,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:89,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:90,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/saf.c:94,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:95,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:96,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/saf.c:98,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - GF_SAFStream*
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: saf_stream_del
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void saf_stream_del(GF_SAFStream *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/saf.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - mux
    - stream_id
    argTypes:
    - GF_SAFMuxer*
    - u32
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: saf_get_stream
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_SAFStream *saf_get_stream(GF_SAFMuxer *mux, u32
      stream_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/saf.c:79,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/media_tools/saf.c:81,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/saf.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: gf_saf_mux_new
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_mx_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_SAFMuxer*
    signature: 'GF_SAFMuxer *gf_saf_mux_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: saf_get_stream
      Src: /src/gpac/src/media_tools/saf.c:126,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/saf.c:141,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/saf.c:131,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/saf.c:146,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/saf.c:133,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/saf.c:147,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/saf.c:149,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/saf.c:150,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/saf.c:152,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/saf.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 10
    argNames:
    - mux
    - stream_id
    - ts_res
    - buffersize_db
    - stream_type
    - object_type
    - mime_type
    - dsi
    - dsi_len
    - remote_url
    argTypes:
    - GF_SAFMuxer*
    - u32
    - u32
    - u32
    - u8
    - u8
    - char*
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 155
    functionName: gf_saf_mux_stream_add
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - saf_get_stream
    - gf_malloc
    - gf_list_add
    - gf_strdup
    - gf_mx_p
    - memcpy
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_saf_mux_stream_add(GF_SAFMuxer *mux, u32 stream_id, u32
      ts_res, u32 buffersize_db, u8 stream_type, u8 object_type, char *mime_type,
      char *dsi, u32 dsi_len, char *remote_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/saf.c:104,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/saf.c:109,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/saf.c:105,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/saf.c:106,1
    - Dst: saf_stream_del
      Src: /src/gpac/src/media_tools/saf.c:107,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/media_tools/saf.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - mux
    argTypes:
    - GF_SAFMuxer*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: gf_saf_mux_del
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - saf_stream_del
    - gf_mx_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_saf_mux_del(GF_SAFMuxer *mux) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: saf_get_stream
      Src: /src/gpac/src/media_tools/saf.c:182,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/saf.c:197,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/saf.c:188,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/saf.c:186,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/saf.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - mux
    - stream_id
    - CTS
    - data
    - data_len
    - is_rap
    argTypes:
    - GF_SAFMuxer*
    - u32
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: gf_saf_mux_add_au
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - saf_get_stream
    - gf_list_add
    - gf_mx_p
    - GF_SAFEALLOC
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_saf_mux_add_au(GF_SAFMuxer *mux, u32 stream_id, u32 CTS,
      char *data, u32 data_len, Bool is_rap) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:225,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/saf.c:219,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/saf.c:241,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/saf.c:250,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/saf.c:254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:257,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:258,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:264,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:286,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/saf.c:287,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:293,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:319,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/saf.c:342,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:333,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/saf.c:341,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:290,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/saf.c:263,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:317,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:337,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:228,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:233,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/saf.c:235,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/saf.c:236,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/saf.c:242,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/saf.c:240,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:276,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:308,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:314,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:315,1
    - Dst: saf_stream_del
      Src: /src/gpac/src/media_tools/saf.c:327,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/saf.c:311,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:331,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:292,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:332,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:262,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:316,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:336,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:303,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/saf.c:215,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/saf.c:231,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:232,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/saf.c:246,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:237,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/saf.c:238,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/saf.c:253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:260,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:291,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/saf.c:302,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:335,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/saf.c:324,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/saf.c:277,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:297,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/saf.c:343,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/saf.c:213,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/saf.c:221,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/saf.c:245,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/saf.c:247,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:294,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/saf.c:295,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:296,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:321,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:334,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:320,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/saf.c:338,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/saf.c:298,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 116
    argCount: 5
    argNames:
    - mux
    - time_ms
    - force_end_of_session
    - out_data
    - out_size
    argTypes:
    - GF_SAFMuxer*
    - u32
    - Bool
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 345
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 345
    functionName: gf_saf_mux_for_time
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_bs_write_u16
    - gf_list_count
    - gf_bs_write_data
    - gf_mx_p
    - gf_bs_new
    - saf_stream_del
    - gf_list_rem
    - gf_bs_write_u8
    - gf_mx_v
    - gf_bs_write_int
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_saf_mux_for_time(GF_SAFMuxer *mux, u32 time_ms, Bool force_end_of_session,
      u8 **out_data, u32 *out_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: saf_get_stream
      Src: /src/gpac/src/media_tools/saf.c:166,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/media_tools/saf.c:173,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/media_tools/saf.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - stream_id
    argTypes:
    - GF_SAFMuxer*
    - u32
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: gf_saf_mux_stream_rem
    functionSourceFile: /src/gpac/src/media_tools/saf.c
    functionUses: []
    functionsReached:
    - saf_get_stream
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_saf_mux_stream_rem(GF_SAFMuxer *mux, u32 stream_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/id3.c:27,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/id3.c:28,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/id3.c:33,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/id3.c:31,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/id3.c:37,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/id3.c:40,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/id3.c:43,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/id3.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - tag
    - timescale
    - pts
    - data
    - data_length
    argTypes:
    - GF_ID3_TAG*
    - u32
    - u64
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: gf_id3_tag_new
    functionSourceFile: /src/gpac/src/media_tools/id3.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memcmp
    - gf_strdup
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_id3_tag_new(GF_ID3_TAG *tag, u32 timescale, u64 pts, u8
      *data, u32 data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/id3.c:77,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/id3.c:81,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/id3.c:86,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/id3.c:80,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/media_tools/id3.c:78,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/id3.c:87,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/id3.c:92,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/id3.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - tag
    - bs
    argTypes:
    - GF_ID3_TAG*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: gf_id3_to_bitstream
    functionSourceFile: /src/gpac/src/media_tools/id3.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u32
    - gf_bs_write_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_id3_to_bitstream(GF_ID3_TAG *tag, GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/id3.c:56,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/id3.c:61,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/id3.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tag
    argTypes:
    - GF_ID3_TAG*
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: gf_id3_tag_free
    functionSourceFile: /src/gpac/src/media_tools/id3.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_id3_tag_free(GF_ID3_TAG *tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/id3.c:126,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/id3.c:131,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/media_tools/id3.c:127,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/id3.c:130,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/id3.c:129,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/id3.c:136,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/id3.c:137,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/id3.c:138,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/id3.c:143,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/id3.c:144,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/id3.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - tag
    - bs
    argTypes:
    - GF_ID3_TAG*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: gf_id3_from_bitstream
    functionSourceFile: /src/gpac/src/media_tools/id3.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_data
    - gf_bs_read_u64
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_id3_from_bitstream(GF_ID3_TAG *tag, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/id3.c:106,1
    - Dst: gf_id3_to_bitstream
      Src: /src/gpac/src/media_tools/id3.c:111,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/id3.c:107,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/id3.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - tag_list
    - bs
    argTypes:
    - GF_List*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: gf_id3_list_to_bitstream
    functionSourceFile: /src/gpac/src/media_tools/id3.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_bs_write_u32
    - gf_id3_to_bitstream
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_id3_list_to_bitstream(GF_List *tag_list, GF_BitStream *bs) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 2
    argCount: 1
    argNames:
    - streamType
    argTypes:
    - GF_M2TSStreamType
    constantsTouched: []
    func_position:
      end: 121
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 121
    functionName: gf_m2ts_get_stream_name
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_m2ts_get_stream_name(GF_M2TSStreamType streamType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:143,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - ts
    - pes
    - same_pts
    - data
    - data_len
    - pes_hdr
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    - Bool
    - unsigned char*
    - u32
    - GF_M2TS_PESHeader*
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: gf_m2ts_reframe_reset
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_reframe_reset(GF_M2TS_Demuxer *ts, GF_M2TS_PES
      *pes, Bool same_pts, unsigned char *data, u32 data_len, GF_M2TS_PESHeader *pes_hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:235,1
    - Dst: gf_m2ts_reset_sections
      Src: /src/gpac/src/media_tools/mpegts.c:241,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:243,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sf
    argTypes:
    - GF_M2TS_SectionFilter*
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: gf_m2ts_section_filter_reset
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_m2ts_reset_sections
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_section_filter_reset(GF_M2TS_SectionFilter *sf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:313,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/mpegts.c:315,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:317,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:316,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/mpegts.c:314,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: gf_m2ts_reset_sdt
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_count
    - gf_list_last
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_reset_sdt(GF_M2TS_Demuxer *ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1099,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1101,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - metapd
    argTypes:
    - GF_M2TS_MetadataPointerDescriptor*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1103
    functionName: gf_m2ts_metadata_pointer_descriptor_del
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_metadata_pointer_descriptor_del(GF_M2TS_MetadataPointerDescriptor
      *metapd) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3252,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:3268,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3279,1
    - Dst: gf_m2ts_metadata_pointer_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:3282,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3285,1
    - Dst: gf_m2ts_reset_sdt
      Src: /src/gpac/src/media_tools/mpegts.c:3288,1
    - Dst: gf_dvb_mpe_shutdown
      Src: /src/gpac/src/media_tools/mpegts.c:3293,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:3299,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3321,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3251,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3255,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3263,1
    - Dst: gf_odf_desc_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3278,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/mpegts.c:3281,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3287,1
    - Dst: gf_rmdir
      Src: /src/gpac/src/media_tools/mpegts.c:3301,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:3311,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/mpegts.c:3315,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3250,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3254,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:3264,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/mpegts.c:3270,1
    - Dst: gf_m2ts_es_del
      Src: /src/gpac/src/media_tools/mpegts.c:3273,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/mpegts.c:3266,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3290,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:3297,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3308,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:3313,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:3253,1
    - Dst: gf_m2ts_es_del
      Src: /src/gpac/src/media_tools/mpegts.c:3260,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/mpegts.c:3265,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/mpegts.c:3269,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3275,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3283,1
    - Dst: gf_dir_cleanup
      Src: /src/gpac/src/media_tools/mpegts.c:3300,1
    - Dst: gf_m2ts_delete_dsmcc_overlord
      Src: /src/gpac/src/media_tools/mpegts.c:3302,1
    - Dst: gf_m2ts_delete_channel_application_info
      Src: /src/gpac/src/media_tools/mpegts.c:3314,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/mpegts.c:3318,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3320,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3322
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3322
    functionName: gf_m2ts_demux_del
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_metadata_pointer_descriptor_del
    - gf_list_rem_last
    - gf_dir_cleanup
    - gf_list_get
    - gf_list_last
    - gf_m2ts_delete_channel_application_info
    - gf_list_del
    - gf_list_count
    - gf_odf_desc_list_del
    - gf_m2ts_delete_dsmcc_overlord
    - gf_m2ts_es_del
    - gf_rmdir
    - gf_list_rem
    - gf_odf_desc_del
    - gf_m2ts_section_filter_del
    - gf_free
    - gf_dvb_mpe_shutdown
    - gf_m2ts_reset_sdt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_demux_del(GF_M2TS_Demuxer *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpegts.c:3419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 2
    argNames:
    - ptr
    - TS
    argTypes:
    - unsigned char*
    - u64
    constantsTouched: []
    func_position:
      end: 3420
      start: 3408
    functionDepth: 0
    functionLinenumber: 3408
    functionLinenumberEnd: 3420
    functionName: rewrite_pts_dts
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void rewrite_pts_dts(unsigned char *ptr, u64 TS) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - ts
    - pes
    - same_pts
    - data
    - data_len
    - pes_hdr
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    - Bool
    - unsigned char*
    - u32
    - GF_M2TS_PESHeader*
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: gf_m2ts_reframe_default
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_reframe_default(GF_M2TS_Demuxer *ts, GF_M2TS_PES
      *pes, Bool same_pts, unsigned char *data, u32 data_len, GF_M2TS_PESHeader *pes_hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - ts
    - pes
    - same_pts
    - data
    - data_len
    - pes_hdr
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    - Bool
    - unsigned char*
    - u32
    - GF_M2TS_PESHeader*
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: gf_m2ts_reframe_add_prop
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_reframe_add_prop(GF_M2TS_Demuxer *ts, GF_M2TS_PES
      *pes, Bool same_pts, unsigned char *data, u32 data_len, GF_M2TS_PESHeader *pes_hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:252,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sf
    argTypes:
    - GF_M2TS_SectionFilter*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: gf_m2ts_section_filter_del
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_section_filter_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_section_filter_del(GF_M2TS_SectionFilter *sf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:326,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - program_id
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: gf_m2ts_get_sdt_info
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_SDT *gf_m2ts_get_sdt_info(GF_M2TS_Demuxer *ts, u32
      program_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - on_event
    argTypes:
    - ts
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if ((ts->on_event && (sec->section[0]==GF_M2TS_TABLE_ID_SCTE35_SPLICE_INFO))
      ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/mpegts.c:1111,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:1120,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:1144,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:1142,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1135,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:1114,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1125,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:1138,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:1136,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1123,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1126,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1129,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1147,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1109,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1117,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:1132,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1141,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:1130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - bs
    - length
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1151
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1151
    functionName: gf_m2ts_read_metadata_descriptor
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_read_int
    - GF_SAFEALLOC
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_M2TS_MetadataDescriptor*
    signature: 'static GF_M2TS_MetadataDescriptor *gf_m2ts_read_metadata_descriptor(GF_BitStream
      *bs, u32 length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:3200,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:3203,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3206,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:3202,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3205,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3207,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3208,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3209,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:3210,1
    - Dst: gf_dvb_mpe_init
      Src: /src/gpac/src/media_tools/mpegts.c:3213,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:3217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3219
    functionName: gf_m2ts_demux_new
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_m2ts_section_filter_new
    - gf_dvb_mpe_init
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_M2TS_Demuxer *gf_m2ts_demux_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - ts
    - data
    - size
    - simple_check
    argTypes:
    - GF_M2TS_Demuxer*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: gf_m2ts_sync
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_sync(GF_M2TS_Demuxer *ts, char *data, u32 size,
      Bool simple_check) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:886,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:892,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 8
    argNames:
    - ts
    - es
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 901
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 901
    functionName: gf_m2ts_process_generic_section
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_generic_section(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 198
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:1252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1333,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1475,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:1615,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1640,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1644,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1647,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1866,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1601,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1293,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1415,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1516,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:1660,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1355,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/mpegts.c:1228,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1306,1
    - Dst: gf_m2ts_read_metadata_descriptor
      Src: /src/gpac/src/media_tools/mpegts.c:1659,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1706,1
    - Dst: gf_m2ts_es_del
      Src: /src/gpac/src/media_tools/mpegts.c:1805,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1828,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1405,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:1583,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:1710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1748,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1648,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1194,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpegts.c:1267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1464,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1227,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:1254,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:1785,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/media_tools/mpegts.c:1360,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1182,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:1221,1
    - Dst: gf_m2ts_read_metadata_pointer_descriptor
      Src: /src/gpac/src/media_tools/mpegts.c:1253,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1756,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpegts.c:1534,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1636,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpegts.c:1524,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1337,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpegts.c:1578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1782,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1203,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1315,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1589,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1639,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1403,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1637,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1344,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1486,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1641,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1470,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1456,1
    - Dst: gf_dvb_mpe_section_new
      Src: /src/gpac/src/media_tools/mpegts.c:1483,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1671,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:1700,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1707,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1417,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:1585,1
    - Dst: gf_odf_parse_descriptor
      Src: /src/gpac/src/media_tools/mpegts.c:1224,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:1635,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/media_tools/mpegts.c:1786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1493,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1189,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:1225,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1437,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/mpegts.c:1589,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1682,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1686,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1860,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/mpegts.c:1222,1
    - Dst: gf_m2ts_metadata_pointer_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1260,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:1658,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1765,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1829,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1645,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:1440,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1210,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1346,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1426,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1702,1
    - Dst: gf_m2ts_metadata_pointer_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1264,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/mpegts.c:1268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1646,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1666,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1704,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1466,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/mpegts.c:1237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1328,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:1649,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1703,1
    - Dst: gf_m2ts_es_del
      Src: /src/gpac/src/media_tools/mpegts.c:1802,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:1813,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/media_tools/mpegts.c:1814,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:1677,1
    CyclomaticComplexity: 262
    EdgeCount: 262
    ICount: 576
    argCount: 8
    argNames:
    - ts
    - pmt
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1881
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1881
    functionName: gf_m2ts_process_pmt
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_odf_parse_descriptor
    - memset
    - gf_m2ts_set_pes_framing
    - GF_LOG
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_bs_del
    - GF_4CC
    - gf_list_count
    - gf_list_new
    - gf_m2ts_metadata_descriptor_del
    - gf_list_get
    - gf_m2ts_section_filter_new
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - gf_m2ts_es_del
    - gf_dvb_mpe_section_new
    - memcpy
    - gf_m2ts_read_metadata_pointer_descriptor
    - gf_free
    - gf_m2ts_metadata_pointer_descriptor_del
    - gf_realloc
    - gf_m2ts_read_metadata_descriptor
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_pmt(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *pmt, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_flush_pes
      Src: /src/gpac/src/media_tools/mpegts.c:2421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ts
    - no_force_flush
    argTypes:
    - GF_M2TS_Demuxer*
    - Bool
    constantsTouched: []
    func_position:
      end: 2424
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2424
    functionName: gf_m2ts_flush_all
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_flush_pes
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_flush_all(GF_M2TS_Demuxer *ts, Bool no_force_flush) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:2971,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:2982,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:2985,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:2984,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:2973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:2987,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - es
    argTypes:
    - GF_M2TS_ES*
    constantsTouched: []
    func_position:
      end: 2996
      start: 2964
    functionDepth: 0
    functionLinenumber: 2964
    functionLinenumberEnd: 2996
    functionName: gf_m2ts_get_esd
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_ESD*
    signature: 'GF_ESD *gf_m2ts_get_esd(GF_M2TS_ES *es) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_reset_parsers_for_program
      Src: /src/gpac/src/media_tools/mpegts.c:3053,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3059,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3060,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3058,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3061,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3062,1
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3050
    functionDepth: 0
    functionLinenumber: 3050
    functionLinenumberEnd: 3065
    functionName: gf_m2ts_reset_parsers
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_section_filter_reset
    - gf_m2ts_reset_parsers_for_program
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_reset_parsers(GF_M2TS_Demuxer *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crc_32
      Src: /src/gpac/src/media_tools/mpegts.c:197,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/mpegts.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: gf_m2ts_crc32_check
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - GF_4CC
    - gf_crc_32
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_m2ts_crc32_check(u8 *data, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - ts
    - nit_es
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: gf_m2ts_process_nit
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_nit(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *nit_es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number,
      u8 last_section_number, u32 status) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1905,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:1910,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:1914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1918,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1931,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1934,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1936,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1938,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:1941,1
    - Dst: gf_m2ts_section_filter_new
      Src: /src/gpac/src/media_tools/mpegts.c:1956,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:1945,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:1952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1948,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1946,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 8
    argNames:
    - ts
    - ses
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1968
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1968
    functionName: gf_m2ts_process_pat
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_m2ts_section_filter_new
    - gf_list_count
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_pat(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *ses, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2514,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2528,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2531,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2533,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:2536,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2532,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:2558,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:2585,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2540,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2541,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/mpegts.c:2559,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2563,1
    - Dst: gf_m2ts_store_temi
      Src: /src/gpac/src/media_tools/mpegts.c:2572,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2581,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2464,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2530,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/media_tools/mpegts.c:2559,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2575,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2489,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2505,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:2519,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2526,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2529,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:2535,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2543,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2549,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2553,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 163
    argCount: 5
    argNames:
    - ts
    - paf
    - data
    - size
    - pid
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_AdaptationField*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2595
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2595
    functionName: gf_m2ts_get_adaptation_field
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - memset
    - MIN
    - gf_bs_del
    - gf_realloc
    - GF_LOG
    - gf_bs_new
    - gf_bs_read_int
    - memcpy
    - strcpy
    - GF_ARRAY_LENGTH
    - gf_bs_read_data
    - gf_m2ts_store_temi
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_get_adaptation_field(GF_M2TS_Demuxer *ts, GF_M2TS_AdaptationField
      *paf, u8 *data, u32 size, u32 pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3005
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3005
    functionName: gf_m2ts_set_segment_switch
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_set_segment_switch(GF_M2TS_Demuxer *ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3082
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3082
    functionName: gf_m2ts_mark_seg_start
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_mark_seg_start(GF_M2TS_Demuxer *ts) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:338,1
    - Dst: on_dsmcc_section
      Src: /src/gpac/src/media_tools/mpegts.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:403,1
    - Dst: gf_m2ts_reset_sections
      Src: /src/gpac/src/media_tools/mpegts.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:509,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:544,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:449,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:473,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:507,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:513,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:515,1
    - Dst: gf_m2ts_reset_sections
      Src: /src/gpac/src/media_tools/mpegts.c:572,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:588,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:489,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:551,1
    - Dst: gf_m2ts_reset_sections
      Src: /src/gpac/src/media_tools/mpegts.c:578,1
    - Dst: on_ait_section
      Src: /src/gpac/src/media_tools/mpegts.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:465,1
    - Dst: gf_m2ts_crc32_check
      Src: /src/gpac/src/media_tools/mpegts.c:469,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:514,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:545,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 212
    argCount: 3
    argNames:
    - ts
    - sec
    - ses
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SectionFilter*
    - GF_M2TS_SECTION_ES*
    constantsTouched: []
    func_position:
      end: 591
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 591
    functionName: gf_m2ts_section_complete
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - on_dsmcc_section
    - on_ait_section
    - gf_m2ts_crc32_check
    - gf_m2ts_reset_sections
    - GF_SAFEALLOC
    - gf_free
    - memcpy
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_section_complete(GF_M2TS_Demuxer *ts, GF_M2TS_SectionFilter
      *sec, GF_M2TS_SECTION_ES *ses) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - on_mpe_event
    argTypes:
    - ts
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ts->on_mpe_event && ((ses && (ses->flags & GF_M2TS_EVT_DVB_MPE))
      || (sec->section[0]==GF_M2TS_TABLE_ID_INT)) ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_is_long_section
      Src: /src/gpac/src/media_tools/mpegts.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - byte0
    - byte1
    - byte2
    argTypes:
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: gf_m2ts_get_section_length
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_is_long_section
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_m2ts_get_section_length(char byte0, char byte1, char
      byte2) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:933,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpegts.c:1013,1
    - Dst: gf_m2ts_crc32_check
      Src: /src/gpac/src/media_tools/mpegts.c:1030,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpegts.c:1039,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:948,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:950,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:952,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:981,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:977,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpegts.c:1004,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpegts.c:1012,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpegts.c:1015,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1034,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:942,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpegts.c:976,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpegts.c:1003,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/mpegts.c:1006,1
    - Dst: dvb_decode_mjd_to_unix_time
      Src: /src/gpac/src/media_tools/mpegts.c:1010,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpegts.c:1014,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1027,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:1046,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:937,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:939,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:957,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpegts.c:1005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:1031,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 161
    argCount: 8
    argNames:
    - ts
    - tdt_tot_es
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1048
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 1048
    functionName: gf_m2ts_process_tdt_tot
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - dvb_decode_mjd_to_unix_time
    - GF_LOG
    - sprintf
    - gf_m2ts_crc32_check
    - atoi
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_tdt_tot(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *tdt_tot_es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number,
      u8 last_section_number, u32 status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/mpegts.c:3380,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/mpegts.c:3387,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/mpegts.c:3389,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:3386,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/mpegts.c:3382,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/mpegts.c:3391,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/mpegts.c:3392,1
    - Dst: gf_m2ts_probe_buffer
      Src: /src/gpac/src/media_tools/mpegts.c:3395,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3396
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3396
    functionName: gf_m2ts_probe_file
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_fread
    - gf_fclose
    - gf_m2ts_probe_buffer
    - gf_blob_get
    - memcpy
    - gf_blob_release
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_m2ts_probe_file(const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - on_event
    argTypes:
    - ts
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ts->on_event) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 5
    argCount: 1
    argNames:
    - table_id
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 614
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 614
    functionName: gf_m2ts_is_long_section
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_m2ts_is_long_section(u8 table_id) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:642,1
    - Dst: gf_m2ts_get_section_length
      Src: /src/gpac/src/media_tools/mpegts.c:655,1
    - Dst: gf_m2ts_get_section_length
      Src: /src/gpac/src/media_tools/mpegts.c:653,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:656,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:664,1
    - Dst: gf_m2ts_section_complete
      Src: /src/gpac/src/media_tools/mpegts.c:665,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:673,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:675,1
    - Dst: gf_m2ts_section_complete
      Src: /src/gpac/src/media_tools/mpegts.c:710,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:693,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:692,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:690,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:676,1
    - Dst: gf_m2ts_get_section_length
      Src: /src/gpac/src/media_tools/mpegts.c:699,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:700,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:679,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 6
    argNames:
    - ts
    - sec
    - ses
    - hdr
    - data
    - data_size
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SectionFilter*
    - GF_M2TS_SECTION_ES*
    - GF_M2TS_Header*
    - unsigned char*
    - u32
    constantsTouched: []
    func_position:
      end: 721
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 721
    functionName: gf_m2ts_gather_section
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_m2ts_get_section_length
    - gf_realloc
    - GF_LOG
    - memcpy
    - gf_free
    - gf_m2ts_section_complete
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_gather_section(GF_M2TS_Demuxer *ts, GF_M2TS_SectionFilter
      *sec, GF_M2TS_SECTION_ES *ses, GF_M2TS_Header *hdr, unsigned char *data, u32
      data_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:1054,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:1059,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/mpegts.c:1056,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:1065,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1062,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1068,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1069,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1070,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:1071,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/mpegts.c:1074,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/mpegts.c:1080,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/mpegts.c:1084,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/mpegts.c:1085,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:1077,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:1090,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:1075,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/mpegts.c:1091,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - bs
    - length
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1094
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1094
    functionName: gf_m2ts_read_metadata_pointer_descriptor
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_read_int
    - GF_SAFEALLOC
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_M2TS_MetadataPointerDescriptor*
    signature: 'static GF_M2TS_MetadataPointerDescriptor *gf_m2ts_read_metadata_pointer_descriptor(GF_BitStream
      *bs, u32 length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_section_filter_reset
      Src: /src/gpac/src/media_tools/mpegts.c:3023,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3036,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:3029,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - ts
    - prog
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_Program*
    constantsTouched: []
    func_position:
      end: 3048
      start: 3011
    functionDepth: 0
    functionLinenumber: 3011
    functionLinenumberEnd: 3048
    functionName: gf_m2ts_reset_parsers_for_program
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_section_filter_reset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_reset_parsers_for_program(GF_M2TS_Demuxer *ts,
      GF_M2TS_Program *prog) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3110,1
    - Dst: gf_m2ts_es_del
      Src: /src/gpac/src/media_tools/mpegts.c:3137,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/media_tools/mpegts.c:3134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3136,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 35
    argCount: 2
    argNames:
    - pes
    - mode
    argTypes:
    - GF_M2TS_PES*
    - GF_M2TSPesFraming
    constantsTouched: []
    func_position:
      end: 3193
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3193
    functionName: gf_m2ts_set_pes_framing
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_set_pes_framing
    - GF_LOG
    - gf_m2ts_es_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_set_pes_framing(GF_M2TS_PES *pes, GF_M2TSPesFraming
      mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_probe_buffer
      Src: /src/gpac/src/media_tools/mpegts.c:3404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3405
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3405
    functionName: gf_m2ts_probe_data
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_probe_buffer
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_m2ts_probe_data(const u8 *data, u32 size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3493,1
    - Dst: gf_m2ts_get_pts
      Src: /src/gpac/src/media_tools/mpegts.c:3498,1
    - Dst: ADJUST_TIMESTAMP
      Src: /src/gpac/src/media_tools/mpegts.c:3458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3466,1
    - Dst: ADJUST_TIMESTAMP
      Src: /src/gpac/src/media_tools/mpegts.c:3499,1
    - Dst: rewrite_pts_dts
      Src: /src/gpac/src/media_tools/mpegts.c:3500,1
    - Dst: gf_m2ts_get_pts
      Src: /src/gpac/src/media_tools/mpegts.c:3504,1
    - Dst: ADJUST_TIMESTAMP
      Src: /src/gpac/src/media_tools/mpegts.c:3505,1
    - Dst: rewrite_pts_dts
      Src: /src/gpac/src/media_tools/mpegts.c:3506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3509,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 112
    argCount: 4
    argNames:
    - buffer
    - size
    - ts_shift
    - is_pes
    argTypes:
    - u8*
    - u32
    - s64
    - u8
    constantsTouched: []
    func_position:
      end: 3514
      start: 3427
    functionDepth: 0
    functionLinenumber: 3427
    functionLinenumberEnd: 3514
    functionName: gf_m2ts_restamp
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_get_pts
    - GF_LOG
    - ADJUST_TIMESTAMP
    - rewrite_pts_dts
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_restamp(u8 *buffer, u32 size, s64 ts_shift,
      u8 is_pes[GF_M2TS_MAX_STREAMS]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - process_section_callback
    - process_individual
    argTypes:
    - gf_m2ts_section_callback
    - Bool
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: gf_m2ts_section_filter_new
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_M2TS_SectionFilter*
    signature: 'static GF_M2TS_SectionFilter *gf_m2ts_section_filter_new(gf_m2ts_section_callback
      process_section_callback, Bool process_individual) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:261,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:263,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - metad
    argTypes:
    - GF_M2TS_MetadataDescriptor*
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: gf_m2ts_metadata_descriptor_del
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_metadata_descriptor_del(GF_M2TS_MetadataDescriptor
      *metad) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:789,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:805,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:812,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:746,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:751,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:811,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:826,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:748,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/mpegts.c:761,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/mpegts.c:766,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:806,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:833,1
    - Dst: gf_m2ts_reset_sdt
      Src: /src/gpac/src/media_tools/mpegts.c:744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:776,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:820,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:802,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 128
    argCount: 8
    argNames:
    - ts
    - ses
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 843
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 843
    functionName: gf_m2ts_process_sdt
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - gf_m2ts_reset_sdt
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_sdt(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *ses, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 8
    argNames:
    - ts
    - ses
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 2034
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 2034
    functionName: gf_m2ts_process_cat
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_cat(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *ses, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2053,1
    - Dst: gf_m2ts_get_pts
      Src: /src/gpac/src/media_tools/mpegts.c:2089,1
    - Dst: gf_m2ts_get_pts
      Src: /src/gpac/src/media_tools/mpegts.c:2094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2101,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2103,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - pes
    - data
    - data_size
    - pesh
    argTypes:
    - GF_M2TS_PES*
    - unsigned char*
    - u32
    - GF_M2TS_PESHeader*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2110
    functionName: gf_m2ts_pes_header
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_get_pts
    - GF_LOG
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_pes_header(GF_M2TS_PES *pes, unsigned char *data, u32
      data_size, GF_M2TS_PESHeader *pesh) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2263,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:2293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2213,1
    - Dst: gf_m2ts_store_temi
      Src: /src/gpac/src/media_tools/mpegts.c:2277,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2308,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/mpegts.c:2297,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2305,1
    - Dst: gf_m2ts_pes_header
      Src: /src/gpac/src/media_tools/mpegts.c:2171,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2209,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2240,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2248,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2272,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 142
    argCount: 3
    argNames:
    - ts
    - pes
    - force_flush_type
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    - u32
    constantsTouched: []
    func_position:
      end: 2315
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2315
    functionName: gf_m2ts_flush_pes
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_LOG
    - memcpy
    - gf_free
    - gf_m2ts_pes_header
    - gf_m2ts_store_temi
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_flush_pes(GF_M2TS_Demuxer *ts, GF_M2TS_PES *pes, u32
      force_flush_type) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2668,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2674,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2694,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2808,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2810,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2823,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2825,1
    - Dst: gf_m2ts_reset_parsers_for_program
      Src: /src/gpac/src/media_tools/mpegts.c:2832,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2852,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2821,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2861,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2640,1
    - Dst: gf_m2ts_get_adaptation_field
      Src: /src/gpac/src/media_tools/mpegts.c:2675,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2712,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2784,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2848,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2623,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2659,1
    - Dst: gf_m2ts_get_adaptation_field
      Src: /src/gpac/src/media_tools/mpegts.c:2660,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2699,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2715,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2727,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:2734,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:2738,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2792,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/mpegts.c:2800,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:2736,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:2739,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2803,1
    - Dst: gf_m2ts_gather_section
      Src: /src/gpac/src/media_tools/mpegts.c:2855,1
    - Dst: gf_m2ts_process_pes
      Src: /src/gpac/src/media_tools/mpegts.c:2865,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 237
    argCount: 2
    argNames:
    - ts
    - data
    argTypes:
    - GF_M2TS_Demuxer*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2869
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2869
    functionName: gf_m2ts_process_packet
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_m2ts_reset_parsers_for_program
    - memset
    - gf_m2ts_get_adaptation_field
    - gf_m2ts_process_pes
    - gf_list_count
    - gf_m2ts_gather_section
    - GF_LOG
    - ABS
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_m2ts_process_packet(GF_M2TS_Demuxer *ts, unsigned
      char *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - pes
    argTypes:
    - GF_M2TS_PES*
    constantsTouched: []
    func_position:
      end: 3101
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3101
    functionName: gf_m2ts_pes_get_framing_mode
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_m2ts_pes_get_framing_mode(GF_M2TS_PES *pes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:222,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:226,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/mpegts.c:225,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:227,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - sections
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: gf_m2ts_reset_sections
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_reset_sections(GF_List *sections) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/mpegts.c:274,1
    - Dst: gf_dvb_mpe_section_del
      Src: /src/gpac/src/media_tools/mpegts.c:285,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:294,1
    - Dst: gf_m2ts_section_filter_del
      Src: /src/gpac/src/media_tools/mpegts.c:281,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:295,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:296,1
    - Dst: gf_m2ts_metadata_descriptor_del
      Src: /src/gpac/src/media_tools/mpegts.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:299,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:302,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/mpegts.c:308,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 2
    argNames:
    - es
    - ts
    argTypes:
    - GF_M2TS_ES*
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 309
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 309
    functionName: gf_m2ts_es_del
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_dvb_mpe_section_del
    - gf_m2ts_section_filter_del
    - gf_free
    - gf_m2ts_metadata_descriptor_del
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_es_del(GF_M2TS_ES *es, GF_M2TS_Demuxer *ts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:860,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/mpegts.c:862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/mpegts.c:864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 8
    argNames:
    - ts
    - es
    - sections
    - table_id
    - ex_table_id
    - version_number
    - last_section_number
    - status
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_SECTION_ES*
    - GF_List*
    - u8
    - u16
    - u8
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 871
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 871
    functionName: gf_m2ts_process_mpeg4section
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_mpeg4section(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES
      *es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8
      last_section_number, u32 status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2046
    functionName: gf_m2ts_get_pts
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_m2ts_get_pts(unsigned char *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/mpegts.c:2114,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2118,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2116,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2117,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2115,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/mpegts.c:2120,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2121,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2122,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2123,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/mpegts.c:2125,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:2127,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/media_tools/mpegts.c:2129,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/mpegts.c:2131,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/mpegts.c:2136,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/media_tools/mpegts.c:2134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - ts
    - pes
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    constantsTouched: []
    func_position:
      end: 2139
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2139
    functionName: gf_m2ts_store_temi
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - memset
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_u64
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_store_temi(GF_M2TS_Demuxer *ts, GF_M2TS_PES *pes) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2327,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2379,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2345,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2377,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2349,1
    - Dst: gf_m2ts_flush_pes
      Src: /src/gpac/src/media_tools/mpegts.c:2388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2393,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2399,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:2407,1
    - Dst: gf_m2ts_flush_pes
      Src: /src/gpac/src/media_tools/mpegts.c:2410,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 6
    argNames:
    - ts
    - pes
    - hdr
    - data
    - data_size
    - paf
    argTypes:
    - GF_M2TS_Demuxer*
    - GF_M2TS_PES*
    - GF_M2TS_Header*
    - unsigned char*
    - u32
    - GF_M2TS_AdaptationField*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2413
    functionName: gf_m2ts_process_pes
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_m2ts_flush_pes
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_m2ts_process_pes(GF_M2TS_Demuxer *ts, GF_M2TS_PES *pes,
      GF_M2TS_Header *hdr, unsigned char *data, u32 data_size, GF_M2TS_AdaptationField
      *paf) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2886,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpegts.c:2898,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2890,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2894,1
    - Dst: gf_m2ts_process_packet
      Src: /src/gpac/src/media_tools/mpegts.c:2895,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2904,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2906,1
    - Dst: gf_m2ts_sync
      Src: /src/gpac/src/media_tools/mpegts.c:2915,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2919,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2922,1
    - Dst: gf_m2ts_process_packet
      Src: /src/gpac/src/media_tools/mpegts.c:2953,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/mpegts.c:2936,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/mpegts.c:2946,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/mpegts.c:2948,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/mpegts.c:2944,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 91
    argCount: 3
    argNames:
    - ts
    - data
    - data_size
    argTypes:
    - GF_M2TS_Demuxer*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2960
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2960
    functionName: gf_m2ts_process_data
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_m2ts_process_packet
    - memcpy
    - memmove
    - gf_assert
    - gf_m2ts_sync
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_m2ts_process_data(GF_M2TS_Demuxer *ts, u8 *data,
      u32 data_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/mpegts.c:3228,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/mpegts.c:3237,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/media_tools/mpegts.c:3231,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/mpegts.c:3231,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpegts.c:3232,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpegts.c:3237,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/mpegts.c:3237,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/mpegts.c:3238,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/media_tools/mpegts.c:3239,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/mpegts.c:3241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3244
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3244
    functionName: gf_m2ts_demux_dmscc_init
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - gf_mkdir
    - sprintf
    - GF_LOG
    - gf_get_default_cache_directory
    - gf_calloc
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_m2ts_demux_dmscc_init(GF_M2TS_Demuxer *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dvb_mpe_print_info
      Src: /src/gpac/src/media_tools/mpegts.c:3328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_M2TS_Demuxer*
    constantsTouched: []
    func_position:
      end: 3330
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3330
    functionName: gf_m2ts_print_info
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_dvb_mpe_print_info
    linkageType: ''
    returnType: void
    signature: 'void gf_m2ts_print_info(GF_M2TS_Demuxer *ts) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/mpegts.c:3341,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/src/media_tools/mpegts.c:3344,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/media_tools/mpegts.c:3342,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/src/media_tools/mpegts.c:3346,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/src/media_tools/mpegts.c:3366,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/media_tools/mpegts.c:3368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3373
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3373
    functionName: gf_m2ts_probe_buffer
    functionSourceFile: /src/gpac/src/media_tools/mpegts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - gf_m2ts_demux_del
    - gf_log_get_tool_level
    - gf_log_set_tool_level
    - gf_m2ts_demux_new
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_m2ts_probe_buffer(char *buf, u32 size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_import.c:50,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/media_import.c:56,1
    - Dst: gf_isom_get_constant_sample_size
      Src: /src/gpac/src/media_tools/media_import.c:51,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/src/media_tools/media_import.c:52,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_import.c:57,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_import.c:58,1
    - Dst: gf_isom_get_sample_info_ex
      Src: /src/gpac/src/media_tools/media_import.c:68,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/media_import.c:83,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_import.c:94,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/media_import.c:99,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/src/media_tools/media_import.c:102,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:104,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 3
    argNames:
    - file
    - track
    - use_esd
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 107
    functionName: gf_media_update_bitrate_ex
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_isom_update_bitrate
    - memset
    - gf_isom_get_constant_sample_size
    - gf_isom_get_media_duration
    - gf_isom_change_mpeg4_description
    - gf_odf_desc_del
    - gf_isom_get_media_timescale
    - gf_isom_get_sample_count
    - gf_isom_get_sample_info_ex
    - gf_isom_get_constant_sample_duration
    - gf_isom_get_media_type
    - gf_isom_get_esd
    linkageType: ''
    returnType: void
    signature: 'static void gf_media_update_bitrate_ex(GF_ISOFile *file, u32 track,
      Bool use_esd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - fps
    - timescale
    - dts_inc
    argTypes:
    - Double
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: gf_media_get_video_timing
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_media_get_video_timing(Double fps, u32 *timescale, u32 *dts_inc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/media_import.c:182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:188,1
    - Dst: va_end
      Src: /src/gpac/src/media_tools/media_import.c:187,1
    - Dst: vsnprintf
      Src: /src/gpac/src/media_tools/media_import.c:186,1
    - Dst: va_start
      Src: /src/gpac/src/media_tools/media_import.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - import
    - e
    - format
    - '...'
    argTypes:
    - GF_MediaImporter*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: gf_import_message
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_import_message(GF_MediaImporter *import, GF_Err e, char
      *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/media_import.c:824,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/media_import.c:829,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/media_import.c:828,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_import.c:825,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_import.c:827,1
    - Dst: gf_isom_get_nalu_length_field
      Src: /src/gpac/src/media_tools/media_import.c:830,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/media_import.c:835,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/media_import.c:836,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/media_import.c:840,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/media_import.c:842,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/media_import.c:846,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/media_import.c:850,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/media_import.c:843,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:855,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:847,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/media_import.c:852,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:853,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/media_import.c:851,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - file
    - track
    - new_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 857
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 857
    functionName: gf_media_nal_rewrite_samples
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_del
    - gf_realloc
    - gf_bs_write_data
    - gf_bs_read_data
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_update_sample
    - gf_isom_get_nalu_length_field
    - gf_isom_get_sample
    - gf_free
    - gf_isom_get_sample_count
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_nal_rewrite_samples(GF_ISOFile *file, u32
      track, u32 new_size) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: strlwr
      Src: /src/gpac/src/media_tools/media_import.c:913,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/media_import.c:920,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/media_import.c:921,1
    - Dst: gf_isom_remove_chapter
      Src: /src/gpac/src/media_tools/media_import.c:935,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_import.c:945,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:922,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:953,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:989,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:991,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/media_import.c:1026,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1055,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1071,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1091,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:1032,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/src/media_tools/media_import.c:1105,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1011,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:1061,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:1073,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:993,1
    - Dst: strlwr
      Src: /src/gpac/src/media_tools/media_import.c:1069,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:1075,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_import.c:875,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/media_import.c:878,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:917,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:922,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1012,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/media_import.c:1014,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:1018,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:1020,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1021,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/media_import.c:1028,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1047,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1030,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_import.c:1123,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1010,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:1003,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1051,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/media_import.c:906,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:915,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:916,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/media_import.c:919,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_import.c:925,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_import.c:943,1
    - Dst: gf_fgets
      Src: /src/gpac/src/media_tools/media_import.c:965,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:984,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/media_import.c:992,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:994,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:1114,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1074,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1040,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/media_import.c:1066,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/src/media_tools/media_import.c:1115,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:1013,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:1032,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/src/media_tools/media_import.c:1117,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_import.c:1002,1
    - Dst: gf_fgets
      Src: /src/gpac/src/media_tools/media_import.c:911,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:940,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/media_tools/media_import.c:944,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_import.c:949,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:952,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_import.c:970,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/media_import.c:995,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:997,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:999,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/media_import.c:1004,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1007,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1038,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/media_import.c:1064,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1082,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1099,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1043,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:1006,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/media_import.c:1095,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 374
    argCount: 1
    argNames:
    - import
    argTypes:
    - GF_MediaImporter*
    constantsTouched: []
    func_position:
      end: 1126
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 1126
    functionName: gf_media_import_chapters_file
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_isom_remove_chapter
    - gf_fgets
    - GF_LOG
    - gf_timestamp_rescale
    - strlwr
    - gf_fseek
    - gf_isom_get_media_type
    - strstr
    - gf_isom_add_chapter
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - strcpy
    - gf_fopen
    - gf_isom_get_sample_info
    - gf_fread
    - strchr
    - strnicmp
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - sscanf
    - strrchr
    - strncpy
    - gf_fclose
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_import_chapters_file(GF_MediaImporter *import) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 5
    argNames:
    - width
    - height
    - fps_num
    - fps_den
    - codecid
    argTypes:
    - u32
    - u32
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 175
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 175
    functionName: gf_dolby_vision_level
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dolby_vision_level(u32 width, u32 height, u64 fps_num,
      u64 fps_den, u32 codecid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_update_bitrate_ex
      Src: /src/gpac/src/media_tools/media_import.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: gf_media_update_bitrate
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_media_update_bitrate_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_media_update_bitrate(GF_ISOFile *file, u32 track) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/media_import.c:228,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/media_import.c:229,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:238,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/media_import.c:247,1
    - Dst: gf_isom_set_track_magic
      Src: /src/gpac/src/media_tools/media_import.c:257,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/media_tools/media_import.c:259,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_import.c:253,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/media_import.c:262,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_import.c:283,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:289,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:212,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/media_import.c:237,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_import.c:245,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/media_import.c:249,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:267,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_import.c:275,1
    - Dst: gf_isom_add_sample_reference
      Src: /src/gpac/src/media_tools/media_import.c:277,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:285,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/media_tools/media_import.c:286,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/media_tools/media_import.c:211,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/media_tools/media_import.c:224,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:291,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/media_import.c:218,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_import.c:270,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/media_import.c:252,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/media_import.c:280,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 2
    argNames:
    - import
    - mult_desc_allowed
    argTypes:
    - GF_MediaImporter*
    - Bool
    constantsTouched: []
    func_position:
      end: 295
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 295
    functionName: gf_import_afx_sc3dmc
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_file_load_data
    - gf_isom_add_sample_reference
    - gf_odf_desc_del
    - gf_isom_get_track_by_id
    - gf_odf_desc_esd_new
    - gf_isom_add_sample
    - gf_isom_update_duration
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_isom_new_track
    - gf_isom_set_track_enabled
    - gf_import_message
    - gf_isom_set_track_magic
    - gf_set_progress
    - gf_isom_get_track_id
    - gf_isom_last_error
    - gf_isom_sample_new
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_import_afx_sc3dmc(GF_MediaImporter *import, Bool
      mult_desc_allowed) '
  - BBCount: 131
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:318,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:380,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_import.c:584,1
    - Dst: gf_isom_cenc_get_sample_aux_info
      Src: /src/gpac/src/media_tools/media_import.c:634,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/media_tools/media_import.c:694,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/media_import.c:699,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:789,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/media_import.c:430,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:485,1
    - Dst: gf_isom_set_track_magic
      Src: /src/gpac/src/media_tools/media_import.c:526,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/media_import.c:650,1
    - Dst: gf_isom_track_cenc_add_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:732,1
    - Dst: gf_media_update_bitrate_ex
      Src: /src/gpac/src/media_tools/media_import.c:777,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/media_tools/media_import.c:560,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:599,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:534,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/media_tools/media_import.c:346,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/media_import.c:348,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_import.c:367,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/media_import.c:387,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:648,1
    - Dst: gf_isom_track_cenc_add_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:736,1
    - Dst: gf_isom_set_image_sequence_alpha
      Src: /src/gpac/src/media_tools/media_import.c:780,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:531,1
    - Dst: gf_isom_set_audio_info
      Src: /src/gpac/src/media_tools/media_import.c:550,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/media_import.c:343,1
    - Dst: gf_isom_set_creation_time
      Src: /src/gpac/src/media_tools/media_import.c:506,1
    - Dst: gf_isom_avc_set_inband_config
      Src: /src/gpac/src/media_tools/media_import.c:600,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:607,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/src/media_tools/media_import.c:762,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:400,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_import.c:563,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_import.c:562,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:589,1
    - Dst: gf_isom_vvc_set_inband_config
      Src: /src/gpac/src/media_tools/media_import.c:608,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/media_tools/media_import.c:694,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:656,1
    - Dst: gf_isom_copy_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:707,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_import.c:742,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:595,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:544,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:562,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_import.c:364,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:472,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_import.c:475,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/src/media_tools/media_import.c:495,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/media_import.c:570,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/media_tools/media_import.c:576,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:666,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/media_import.c:750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:448,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/media_tools/media_import.c:478,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/media_import.c:503,1
    - Dst: gf_url_get_resource_name
      Src: /src/gpac/src/media_tools/media_import.c:309,1
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:377,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_import.c:516,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:704,1
    - Dst: gf_isom_update_edit_list_duration
      Src: /src/gpac/src/media_tools/media_import.c:757,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_import.c:460,1
    - Dst: gf_isom_remove_track_references
      Src: /src/gpac/src/media_tools/media_import.c:522,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_import.c:528,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/media_tools/media_import.c:751,1
    - Dst: gf_isom_has_time_offset
      Src: /src/gpac/src/media_tools/media_import.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:349,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:563,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/src/media_tools/media_import.c:581,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_import.c:630,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/media_tools/media_import.c:655,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_import.c:484,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_import.c:320,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:365,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/media_import.c:518,1
    - Dst: gf_isom_clone_pssh
      Src: /src/gpac/src/media_tools/media_import.c:643,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:678,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:689,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:361,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_import.c:383,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:546,1
    - Dst: gf_isom_get_creation_time
      Src: /src/gpac/src/media_tools/media_import.c:505,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/media_import.c:664,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:755,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:788,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/media_import.c:440,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/media_tools/media_import.c:577,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/media_import.c:603,1
    - Dst: gf_isom_cenc_allocate_storage
      Src: /src/gpac/src/media_tools/media_import.c:640,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_import.c:661,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_import.c:309,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/media_import.c:395,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/media_import.c:467,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/src/media_tools/media_import.c:512,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:542,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/media_tools/media_import.c:578,1
    - Dst: gf_isom_hevc_set_inband_config
      Src: /src/gpac/src/media_tools/media_import.c:604,1
    - Dst: gf_isom_piff_allocate_storage
      Src: /src/gpac/src/media_tools/media_import.c:638,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/media_tools/media_import.c:655,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/media_tools/media_import.c:744,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/media_tools/media_import.c:758,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/media_import.c:477,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_import.c:319,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/media_import.c:341,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_import.c:421,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:471,1
    - Dst: gf_isom_add_sample_reference
      Src: /src/gpac/src/media_tools/media_import.c:659,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_import.c:593,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:555,1
    - Dst: gf_media_get_rfc_6381_codec_name
      Src: /src/gpac/src/media_tools/media_import.c:352,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:361,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:537,1
    - Dst: gf_isom_enable_raw_pack
      Src: /src/gpac/src/media_tools/media_import.c:582,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:503,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/media_import.c:549,1
    - Dst: gf_isom_get_sample_cenc_info
      Src: /src/gpac/src/media_tools/media_import.c:719,1
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/src/media_tools/media_import.c:754,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_import.c:561,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_import.c:362,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/media_tools/media_import.c:378,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/src/media_tools/media_import.c:500,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_import.c:695,1
    - Dst: gf_isom_cenc_get_sample_aux_info
      Src: /src/gpac/src/media_tools/media_import.c:727,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/media_tools/media_import.c:784,1
    CyclomaticComplexity: 185
    EdgeCount: 185
    ICount: 410
    argCount: 1
    argNames:
    - import
    argTypes:
    - GF_MediaImporter*
    constantsTouched: []
    func_position:
      end: 791
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 791
    functionName: gf_import_isomedia_track
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_isom_get_nalu_extract_mode
    - gf_m4v_get_config
    - gf_isom_get_timescale
    - gf_isom_add_sample_reference
    - gf_isom_last_error
    - gf_isom_track_cenc_add_sample_info
    - GF_LOG
    - gf_media_get_rfc_6381_codec_name
    - gf_isom_avc_set_inband_config
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_isom_get_media_subtype
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_media_type
    - strstr
    - gf_m4a_get_config
    - gf_isom_set_composition_offset_mode
    - gf_isom_get_track_by_id
    - GF_4CC
    - gf_isom_is_media_encrypted
    - gf_isom_add_sample
    - gf_isom_get_audio_info
    - gf_isom_get_creation_time
    - gf_isom_set_creation_time
    - gf_isom_update_duration
    - gf_url_get_resource_name
    - gf_isom_get_edit_list_type
    - gf_isom_set_image_sequence_alpha
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - strcpy
    - gf_isom_set_track_reference
    - gf_import_message
    - gf_isom_get_constant_sample_duration
    - gf_media_update_bitrate_ex
    - gf_isom_set_track_magic
    - gf_isom_get_esd
    - gf_set_progress
    - gf_isom_get_sample_info
    - gf_isom_get_track_layout_info
    - gf_isom_cenc_get_sample_aux_info
    - gf_isom_get_track_id
    - gf_isom_get_mpeg4_subtype
    - gf_isom_clone_track
    - gf_isom_set_pl_indication
    - gf_isom_get_root_od
    - gf_isom_is_cenc_media
    - gf_free
    - gf_isom_piff_allocate_storage
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_filename
    - gf_isom_cenc_allocate_storage
    - gf_isom_get_visual_info
    - gf_isom_enable_raw_pack
    - gf_isom_clone_pssh
    - gf_sys_old_arch_compat
    - gf_isom_set_last_sample_duration
    - gf_isom_get_sample_cenc_info
    - gf_isom_get_sample_duration
    - gf_isom_has_time_offset
    - gf_isom_set_timescale
    - gf_isom_vvc_set_inband_config
    - gf_isom_update_edit_list_duration
    - gf_isom_hevc_set_inband_config
    - gf_isom_set_audio_info
    - gf_timestamp_greater_or_equal
    - gf_isom_get_sample
    - gf_isom_copy_sample_info
    - gf_isom_has_keep_utc_times
    - gf_isom_set_track_id
    - gf_isom_remove_track_references
    - gf_isom_get_original_format_type
    - gf_isom_get_media_language
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_import_isomedia_track(GF_MediaImporter *import) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_import_isomedia_track
      Src: /src/gpac/src/media_tools/media_import.c:797,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_import.c:803,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:801,1
    - Dst: gf_import_isomedia_track
      Src: /src/gpac/src/media_tools/media_import.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - import
    argTypes:
    - GF_MediaImporter*
    constantsTouched: []
    func_position:
      end: 811
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 811
    functionName: gf_import_isomedia
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_id
    - gf_import_isomedia_track
    - gf_isom_get_track_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_import_isomedia(GF_MediaImporter *import) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_remove_chapter
      Src: /src/gpac/src/media_tools/media_import.c:1135,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/media_tools/media_import.c:1142,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:1139,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/media_tools/media_import.c:1140,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/media_import.c:1144,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/media_import.c:1150,1
    - Dst: gf_media_import
      Src: /src/gpac/src/media_tools/media_import.c:1155,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1157,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_import.c:1161,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/media_tools/media_import.c:1162,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_import.c:1168,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/media_import.c:1175,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1179,1
    - Dst: gf_isom_set_media_subtype
      Src: /src/gpac/src/media_tools/media_import.c:1164,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_import.c:1169,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 4
    argNames:
    - file
    - chap_file
    - import_fps
    - use_qt
    argTypes:
    - GF_ISOFile*
    - char*
    - GF_Fraction
    - Bool
    constantsTouched: []
    func_position:
      end: 1181
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1181
    functionName: gf_media_import_chapters
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_isom_get_track_by_id
    - gf_media_import
    - gf_isom_remove_chapter
    - gf_isom_get_sample_description_count
    - gf_isom_set_media_subtype
    - gf_isom_remove_track
    - gf_isom_get_track_count
    - GF_SAFEALLOC
    - gf_free
    - gf_isom_set_track_reference
    - gf_isom_get_media_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_import_chapters(GF_ISOFile *file, char *chap_file,
      GF_Fraction import_fps, Bool use_qt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - f
    - on_setup_error_udta
    - e
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1189
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1189
    functionName: on_import_setup_failure
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_import_setup_failure(GF_Filter *f, void *on_setup_error_udta,
      GF_Err e) '
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1293,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1318,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:1462,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1534,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1548,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/media_import.c:1603,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/media_import.c:1608,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1611,1
    - Dst: gf_isom_get_last_created_track_id
      Src: /src/gpac/src/media_tools/media_import.c:1614,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/media_import.c:1636,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:1464,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1561,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1371,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/media_tools/media_import.c:1233,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1337,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1409,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1326,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1295,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/media_import.c:1422,1
    - Dst: gf_filter_get_id
      Src: /src/gpac/src/media_tools/media_import.c:1495,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_import.c:1504,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1543,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1552,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1590,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1521,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1394,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:1241,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:1244,1
    - Dst: gf_media_import_chapters_file
      Src: /src/gpac/src/media_tools/media_import.c:1245,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1280,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1291,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1390,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_import.c:1470,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1501,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1527,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1542,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_import.c:1628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1528,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1378,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1366,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1402,1
    - Dst: gf_import_afx_sc3dmc
      Src: /src/gpac/src/media_tools/media_import.c:1242,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1304,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_import.c:1436,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1443,1
    - Dst: gf_filter_get_id
      Src: /src/gpac/src/media_tools/media_import.c:1498,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1538,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1544,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/media_import.c:1552,1
    - Dst: gf_isom_open
      Src: /src/gpac/src/media_tools/media_import.c:1230,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/media_import.c:1241,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/media_import.c:1259,1
    - Dst: gf_filter_get_id
      Src: /src/gpac/src/media_tools/media_import.c:1487,1
    - Dst: gf_filter_assign_id
      Src: /src/gpac/src/media_tools/media_import.c:1492,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1523,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1532,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1535,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1545,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1569,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/media_import.c:1639,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1533,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1610,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1375,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1267,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_import.c:1418,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1430,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1473,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1474,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_import.c:1477,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1541,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1556,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1557,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1584,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1367,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1530,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1578,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1640,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/media_import.c:1637,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1372,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/media_tools/media_import.c:1276,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/media_tools/media_import.c:1285,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1405,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1410,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1540,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1564,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1570,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1579,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1313,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1329,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/media_import.c:1349,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1351,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1395,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_import.c:1360,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1398,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1391,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1426,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/media_import.c:1503,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1574,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_import.c:1594,1
    - Dst: gf_import_isomedia
      Src: /src/gpac/src/media_tools/media_import.c:1232,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1261,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_import.c:1263,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1386,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1331,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1437,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1441,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1447,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1539,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1580,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1442,1
    - Dst: on_import_setup_failure
      Src: /src/gpac/src/media_tools/media_import.c:1272,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1297,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1422,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1524,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1547,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/media_import.c:1606,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/media_tools/media_import.c:1583,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/media_import.c:1600,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1565,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1342,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1384,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/media_import.c:1271,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/media_tools/media_import.c:1289,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/media_import.c:1296,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1299,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_import.c:1431,1
    - Dst: gf_filter_assign_id
      Src: /src/gpac/src/media_tools/media_import.c:1497,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1573,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_import.c:1618,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1281,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1489,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1490,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1536,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1560,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/media_import.c:1638,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1365,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1401,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1388,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1406,1
    - Dst: gf_import_isomedia
      Src: /src/gpac/src/media_tools/media_import.c:1209,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/src/media_tools/media_import.c:1221,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_import.c:1214,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/media_import.c:1244,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/media_import.c:1277,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1382,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/media_import.c:1607,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1642,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/media_import.c:1602,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_import.c:1358,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1413,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/media_import.c:1244,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1268,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1323,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1427,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1550,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1412,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1414,1
    - Dst: gf_sys_find_global_arg
      Src: /src/gpac/src/media_tools/media_import.c:1417,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1380,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1316,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/media_tools/media_import.c:1264,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/media_import.c:1266,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/media_tools/media_import.c:1301,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_import.c:1420,1
    - Dst: gf_import_message
      Src: /src/gpac/src/media_tools/media_import.c:1432,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_import.c:1589,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_import.c:1617,1
    CyclomaticComplexity: 174
    EdgeCount: 174
    ICount: 487
    argCount: 1
    argNames:
    - importer
    argTypes:
    - GF_MediaImporter*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1645
    functionName: gf_media_import
    functionSourceFile: /src/gpac/src/media_tools/media_import.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source
    - on_import_setup_failure
    - gf_fs_print_non_connected
    - gf_filter_assign_id
    - gf_odf_desc_del
    - gf_fs_print_unused_args
    - strstr
    - gf_fs_run
    - gf_file_ext_start
    - gf_isom_get_track_by_id
    - GF_4CC
    - gf_fs_del
    - strcmp
    - gf_filter_set_setup_failure_callback
    - strcpy
    - gf_fs_get_last_connect_error
    - stricmp
    - gf_assert
    - gf_import_message
    - gf_filter_get_id
    - gf_isom_get_esd
    - gf_dynstrcat
    - gf_filter_set_source
    - sprintf
    - gf_sys_find_global_arg
    - gf_fs_new_defaults
    - strnicmp
    - gf_free
    - gf_isom_delete
    - gf_fs_print_stats
    - gf_filter_get_ipid
    - gf_fs_print_connections
    - gf_media_import_chapters_file
    - gf_sys_is_cov_mode
    - gf_filter_pid_get_property
    - gf_filter_get_ipid_count
    - gf_fs_get_last_process_error
    - gf_isom_probe_file
    - gf_import_isomedia
    - gf_isom_open
    - gf_import_afx_sc3dmc
    - gf_isom_has_keep_utc_times
    - gf_fs_load_filter
    - gf_isom_get_last_created_track_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_import(GF_MediaImporter *importer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: str2ulong_len
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - str2ulong
    linkageType: ''
    returnType: u32
    signature: 'static u32 str2ulong_len (unsigned char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:217,1
    - Dst: OUTC
      Src: /src/gpac/src/media_tools/avilib.c:238,1
    - Dst: OUTW
      Src: /src/gpac/src/media_tools/avilib.c:236,1
    - Dst: OUTC
      Src: /src/gpac/src/media_tools/avilib.c:237,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:219,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:239,1
    - Dst: OUTS
      Src: /src/gpac/src/media_tools/avilib.c:240,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:241,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:242,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:243,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:252,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:247,1
    - Dst: OUTD
      Src: /src/gpac/src/media_tools/avilib.c:246,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - AVI
    - ch
    - en
    argTypes:
    - avi_t*
    - avistdindex_chunk*
    - avisuperindex_entry*
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 255
    functionName: avi_ixnn_entry
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - OUTD
    - OUTS
    - OUTC
    - memcpy
    - OUTW
    - avi_add_chunk
    - gf_free
    linkageType: ''
    returnType: int
    signature: 'static int avi_ixnn_entry(avi_t *AVI, avistdindex_chunk *ch, avisuperindex_entry
      *en) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:311,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:319,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - AVI
    - idxtag
    - strtag
    - stdil
    argTypes:
    - avi_t*
    - unsigned char*
    - unsigned char*
    - avistdindex_chunk*
    constantsTouched: []
    func_position:
      end: 332
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 332
    functionName: avi_add_std_index
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int avi_add_std_index(avi_t *AVI, unsigned char *idxtag, unsigned
      char *strtag, avistdindex_chunk *stdil) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:1665,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1677,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1676,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1669,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:1666,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:1678,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1680,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:1682,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:1685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - AVI
    - data
    - bytes
    argTypes:
    - avi_t*
    - u8*
    - int
    constantsTouched: []
    func_position:
      end: 1689
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1689
    functionName: AVI_append_audio
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_write
    - str2ulong
    - long2str
    - gf_fseek
    - PAD_EVEN
    linkageType: ''
    returnType: int
    signature: 'int AVI_append_audio(avi_t *AVI, u8 *data, int bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2798
    functionName: AVI_video_width
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_video_width(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: AVI_frame_rate
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double AVI_frame_rate(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2816
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2816
    functionName: AVI_max_video_chunk
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_max_video_chunk(avi_t *AVI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - AVI
    - frame
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2929
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2929
    functionName: AVI_set_video_position
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_set_video_position(avi_t *AVI, int frame) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - AVI
    - flags
    - pos
    - len
    - si
    argTypes:
    - avi_t*
    - int
    - u64
    - unsigned int
    - avistdindex_chunk*
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: avi_add_odml_index_entry_core
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: int
    signature: 'static int avi_add_odml_index_entry_core(avi_t *AVI, int flags, u64
      pos, unsigned int len, avistdindex_chunk *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1696
    functionName: AVI_bytes_remain
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 AVI_bytes_remain(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2802
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2802
    functionName: AVI_video_height
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_video_height(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2810
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2810
    functionName: AVI_video_compressor
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * AVI_video_compressor(avi_t *AVI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - AVI
    - indexpos
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 3013
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3013
    functionName: AVI_set_audio_position_index
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_set_audio_position_index(avi_t *AVI, int indexpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - n
    argTypes:
    - unsigned char*
    - s32
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: long2str
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void long2str(unsigned char *dst, s32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: str2ullong
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 str2ullong(unsigned char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/avilib.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: avi_read
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fread
    linkageType: ''
    returnType: u32
    signature: 'static u32 avi_read(FILE *fd, char *buf, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: str2ulong
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 str2ulong(unsigned char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:268,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:278,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:282,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:272,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:279,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:287,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:289,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - AVI
    - idxtag
    - si
    argTypes:
    - avi_t*
    - unsigned char*
    - avisuperindex_chunk**
    constantsTouched: []
    func_position:
      end: 304
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 304
    functionName: avi_init_super_index
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int avi_init_super_index(avi_t *AVI, unsigned char *idxtag,
      avisuperindex_chunk **si) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:544,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:560,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:558,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:559,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - AVI
    - tag
    - flags
    - pos
    - len
    argTypes:
    - avi_t*
    - unsigned char*
    - int
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 570
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 570
    functionName: avi_add_index_entry
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    - long2str
    linkageType: ''
    returnType: int
    signature: 'static int avi_add_index_entry(avi_t *AVI, unsigned char *tag, int
      flags, u64 pos, u64 len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/avilib.c:670,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:671,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:673,1
    - Dst: avi_update_header
      Src: /src/gpac/src/media_tools/avilib.c:678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - AVI
    - width
    - height
    - fps
    - compressor
    argTypes:
    - avi_t*
    - int
    - int
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 679
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 679
    functionName: AVI_set_video
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_update_header
    - memcpy
    - memset
    - strncmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void AVI_set_video(avi_t *AVI, int width, int height, double
      fps, char *compressor) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1127,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1149,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1222,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1234,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1175,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1224,1
    - Dst: avi_sampsize
      Src: /src/gpac/src/media_tools/avilib.c:1255,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1299,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1313,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1352,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1529,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1345,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1311,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1178,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1219,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1160,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1243,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1300,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1329,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1331,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1367,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1381,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1389,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1386,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:1453,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1137,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1141,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1151,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1168,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1190,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:1209,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1194,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1199,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1310,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1314,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1491,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1179,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1110,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1301,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1320,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1333,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1368,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1437,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1460,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1235,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1336,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1349,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1366,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1380,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1385,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1355,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1413,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:1526,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/avilib.c:1446,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1498,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1223,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1126,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1171,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1233,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1283,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1293,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1308,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1324,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1338,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1344,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:1442,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:1532,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1197,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1276,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1351,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1365,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1419,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1433,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1315,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1191,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1099,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1159,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1172,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1177,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1193,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1342,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1343,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1360,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1406,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1362,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1353,1
    - Dst: avi_ixnn_entry
      Src: /src/gpac/src/media_tools/avilib.c:1045,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1103,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1154,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1166,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1176,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1192,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1217,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1202,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1348,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1356,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:1492,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:1383,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1422,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/avilib.c:1448,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:1073,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1113,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1139,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1169,1
    - Dst: OUTMEM
      Src: /src/gpac/src/media_tools/avilib.c:1207,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1291,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1304,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1326,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1363,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1408,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:1454,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1409,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/media_tools/avilib.c:1446,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1531,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1421,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1347,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1490,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1203,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:1220,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1101,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1128,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1167,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1226,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1298,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1361,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1388,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1451,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1354,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:1486,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1106,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1132,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1148,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1170,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1275,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1282,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1292,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1297,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1305,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1325,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:1384,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1131,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1138,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1147,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1152,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1200,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1173,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1218,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1195,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1278,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1307,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1427,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1499,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/avilib.c:1444,1
    - Dst: exit
      Src: /src/gpac/src/media_tools/avilib.c:1487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:1032,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1111,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1162,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1180,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1236,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1284,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1302,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1334,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1382,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1500,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1523,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1407,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:1525,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1438,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1196,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1201,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1153,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1174,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1312,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1330,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:1337,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1418,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1420,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:1506,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:1417,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:1221,1
    - Dst: avi_ixnn_entry
      Src: /src/gpac/src/media_tools/avilib.c:1034,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1181,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1225,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1288,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1303,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1309,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1327,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1335,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:1387,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1505,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/avilib.c:1443,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 413
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1540
    functionName: avi_close_output_file
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - memset
    - GF_LOG
    - gf_fseek
    - gf_gpac_version
    - avi_write
    - OUT4CC
    - long2str
    - exit
    - avi_ixnn_entry
    - OUTCHR
    - memcpy
    - avi_add_chunk
    - gf_sys_is_test_mode
    - OUTMEM
    - OUTSHRT
    - OUTLONG
    - avi_sampsize
    linkageType: ''
    returnType: int
    signature: 'static int avi_close_output_file(avi_t *AVI) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:1818,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/avilib.c:1830,1
    - Dst: avi_parse_input_file
      Src: /src/gpac/src/media_tools/avilib.c:1839,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1834,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:1824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - filename
    - getIndex
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1848
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1848
    functionName: AVI_open_input_file
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - avi_parse_input_file
    - gf_free
    - gf_fopen
    linkageType: ''
    returnType: avi_t*
    signature: 'avi_t *AVI_open_input_file(char *filename, int getIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2827
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2827
    functionName: AVI_audio_channels
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_channels(avi_t *AVI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/avilib.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - FILE*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: avi_write
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: u32
    signature: 'static u32 avi_write (FILE *fd, char *buf, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: str2ushort
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 str2ushort(unsigned char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:693,1
    - Dst: avi_update_header
      Src: /src/gpac/src/media_tools/avilib.c:703,1
    - Dst: exit
      Src: /src/gpac/src/media_tools/avilib.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - AVI
    - channels
    - rate
    - bits
    - format
    - mp3rate
    argTypes:
    - avi_t*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: AVI_set_audio
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_update_header
    - exit
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void AVI_set_audio(avi_t *AVI, int channels, int rate, int
      bits, int format, int mp3rate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2832
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2832
    functionName: AVI_audio_mp3rate
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_mp3rate(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2844
    functionName: AVI_audio_bits
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_bits(avi_t *AVI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - AVI
    - frame
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2870
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2870
    functionName: AVI_frame_size
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_frame_size(avi_t *AVI, int frame) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - AVI
    - frame
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2885
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2885
    functionName: AVI_audio_size
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_size(avi_t *AVI, int frame) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - AVI
    - frame
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2900
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2900
    functionName: AVI_get_video_position
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 AVI_get_video_position(avi_t *AVI, int frame) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:182,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:188,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:189,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:190,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:183,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:192,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - AVI
    - tag
    - data
    - length
    argTypes:
    - avi_t*
    - unsigned char*
    - unsigned char*
    - u32
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: avi_add_chunk
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_write
    - long2str
    - memcpy
    - gf_fseek
    - PAD_EVEN
    linkageType: ''
    returnType: int
    signature: 'static int avi_add_chunk(avi_t *AVI, unsigned char *tag, unsigned
      char *data, u32 length) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: avi_init_super_index
      Src: /src/gpac/src/media_tools/avilib.c:376,1
    - Dst: avi_add_odml_index_entry_core
      Src: /src/gpac/src/media_tools/avilib.c:523,1
    - Dst: avi_init_super_index
      Src: /src/gpac/src/media_tools/avilib.c:398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:396,1
    - Dst: avi_add_std_index
      Src: /src/gpac/src/media_tools/avilib.c:451,1
    - Dst: avi_ixnn_entry
      Src: /src/gpac/src/media_tools/avilib.c:473,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/avilib.c:463,1
    - Dst: avi_add_odml_index_entry_core
      Src: /src/gpac/src/media_tools/avilib.c:530,1
    - Dst: avi_add_std_index
      Src: /src/gpac/src/media_tools/avilib.c:380,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/avilib.c:403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:445,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/avilib.c:462,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:497,1
    - Dst: avi_add_std_index
      Src: /src/gpac/src/media_tools/avilib.c:464,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:444,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/avilib.c:366,1
    - Dst: avi_add_std_index
      Src: /src/gpac/src/media_tools/avilib.c:404,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:437,1
    - Dst: avi_ixnn_entry
      Src: /src/gpac/src/media_tools/avilib.c:484,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:505,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 149
    argCount: 5
    argNames:
    - AVI
    - tag
    - flags
    - pos
    - len
    argTypes:
    - avi_t*
    - unsigned char*
    - int
    - u64
    - unsigned int
    constantsTouched: []
    func_position:
      end: 537
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 537
    functionName: avi_add_odml_index_entry
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_add_odml_index_entry_core
    - avi_add_std_index
    - sprintf
    - GF_LOG
    - avi_init_super_index
    - avi_add_chunk
    - strchr
    - avi_ixnn_entry
    linkageType: ''
    returnType: int
    signature: 'static int avi_add_odml_index_entry(avi_t *AVI, unsigned char *tag,
      int flags, u64 pos, unsigned int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - AVI
    - j
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: avi_sampsize
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int avi_sampsize(avi_t *AVI, int j) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/avilib.c:1574,1
    - Dst: avi_add_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:1580,1
    - Dst: avi_add_odml_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:1581,1
    - Dst: avi_add_odml_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:1578,1
    - Dst: avi_add_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:1577,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:1589,1
    - Dst: avi_add_chunk
      Src: /src/gpac/src/media_tools/avilib.c:1591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - AVI
    - data
    - length
    - audio
    - keyframe
    argTypes:
    - avi_t*
    - char*
    - unsigned int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1596
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1596
    functionName: avi_write_data
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_add_odml_index_entry
    - avi_add_index_entry
    - avi_add_chunk
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int avi_write_data(avi_t *AVI, char *data, unsigned int length,
      int audio, int keyframe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - AVI
    - is_vbr
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 1725
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1725
    functionName: AVI_set_audio_vbr
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void AVI_set_audio_vbr(avi_t *AVI, int is_vbr) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1760,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1765,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1773,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1781,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1784,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1758,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/avilib.c:1756,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1764,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1786,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1757,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1769,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1776,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1791,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1782,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1796,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1794,1
    - Dst: avi_close_output_file
      Src: /src/gpac/src/media_tools/avilib.c:1750,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1767,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1798,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1800
    functionName: AVI_close
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - avi_close_output_file
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int AVI_close(avi_t *AVI) '
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1913,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1944,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:1950,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:1971,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2079,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:2133,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2137,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2177,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2286,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2368,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:2742,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2741,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:2666,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2130,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:1932,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:1933,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1989,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2010,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2028,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:2129,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2227,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2257,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1937,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2740,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2400,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2073,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2052,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1961,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2026,1
    - Dst: str2ullong
      Src: /src/gpac/src/media_tools/avilib.c:2206,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2242,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2533,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2637,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2481,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2017,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2112,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:1972,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2005,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2142,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2202,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2301,1
    - Dst: exit
      Src: /src/gpac/src/media_tools/avilib.c:2482,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2604,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2743,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:1967,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2083,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2048,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2090,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2296,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2373,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2380,1
    - Dst: str2ullong
      Src: /src/gpac/src/media_tools/avilib.c:2474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2648,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2401,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:2619,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2725,1
    - Dst: str2ulong_len
      Src: /src/gpac/src/media_tools/avilib.c:2492,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:1937,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2105,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2093,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2266,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2270,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2373,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2381,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2461,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2565,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2620,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:2684,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2734,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2326,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2546,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2097,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2036,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2065,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2127,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1913,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2025,1
    - Dst: avi_sampsize
      Src: /src/gpac/src/media_tools/avilib.c:2048,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2179,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2214,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2636,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2302,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2693,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1954,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2019,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:2136,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2141,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2230,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2249,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2348,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2365,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:2561,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2758,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2366,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2613,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2299,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2769,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1914,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1939,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2054,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2111,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2175,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2244,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2310,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2323,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2369,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2372,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2422,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2460,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2698,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2298,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2245,1
    - Dst: str2ulong_key
      Src: /src/gpac/src/media_tools/avilib.c:2493,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1911,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:1924,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:1925,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2099,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2223,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2247,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2381,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2600,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2407,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2465,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2736,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2761,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2470,1
    - Dst: str2ulong_len
      Src: /src/gpac/src/media_tools/avilib.c:2567,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2539,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2551,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:2674,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2077,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2091,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:1956,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:1993,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2044,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2154,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2300,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2371,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2372,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2611,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:2690,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2109,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1982,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2229,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2255,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2297,1
    - Dst: avi_add_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:2419,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2379,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2515,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2584,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2760,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2308,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:2418,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1959,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1979,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:2004,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2066,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2075,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2095,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2134,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2143,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2149,1
    - Dst: str2ullong
      Src: /src/gpac/src/media_tools/avilib.c:2278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2707,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2770,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2458,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2727,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2055,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2113,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1935,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/avilib.c:1948,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2100,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/avilib.c:2033,1
    - Dst: str2ushort
      Src: /src/gpac/src/media_tools/avilib.c:2131,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2157,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2171,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2173,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2309,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2547,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2690,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2785,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2768,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:2479,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2542,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2759,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:1957,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:1996,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:2001,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2003,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2185,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2280,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:2405,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:2466,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/avilib.c:2645,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2541,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2228,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:1910,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1941,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:1943,1
    - Dst: ERR_EXIT
      Src: /src/gpac/src/media_tools/avilib.c:1983,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:2015,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:2174,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2273,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2380,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:2490,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2674,1
    - Dst: str2ullong
      Src: /src/gpac/src/media_tools/avilib.c:2556,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:2618,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:2422,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 908
    argCount: 2
    argNames:
    - AVI
    - getIndex
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2789
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 2789
    functionName: avi_parse_input_file
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_LOG
    - str2ulong_len
    - avi_read
    - gf_fseek
    - avi_add_index_entry
    - str2ulong
    - exit
    - str2ulong_key
    - gf_ftell
    - memcpy
    - strnicmp
    - gf_free
    - ERR_EXIT
    - gf_realloc
    - str2ushort
    - avi_sampsize
    - str2ullong
    - PAD_EVEN
    linkageType: ''
    returnType: int
    signature: 'int avi_parse_input_file(avi_t *AVI, int getIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - AVI
    - byte
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 3050
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3050
    functionName: AVI_set_audio_position
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_set_audio_position(avi_t *AVI, int byte) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:3137,1
    - Dst: PAD_EVEN
      Src: /src/gpac/src/media_tools/avilib.c:3147,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:3143,1
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:3147,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:3141,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:3149,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:3155,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:3158,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/avilib.c:3161,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:3166,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:3173,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:3169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 6
    argNames:
    - AVI
    - vidbuf
    - max_vidbuf
    - audbuf
    - max_audbuf
    - len
    argTypes:
    - avi_t*
    - char*
    - int
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 3175
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3175
    functionName: AVI_read_data
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - str2ulong
    - avi_read
    - strnicmp
    - gf_fseek
    - PAD_EVEN
    linkageType: ''
    returnType: int
    signature: 'int AVI_read_data(avi_t *AVI, char *vidbuf, int max_vidbuf, char *audbuf,
      int max_audbuf, int *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avi_write_data
      Src: /src/gpac/src/media_tools/avilib.c:1610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - AVI
    - data
    - bytes
    - keyframe
    argTypes:
    - avi_t*
    - u8*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1616
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1616
    functionName: AVI_write_frame
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_write_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int AVI_write_frame(avi_t *AVI, u8 *data, int bytes, int
      keyframe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1730
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1730
    functionName: AVI_get_audio_vbr
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_get_audio_vbr(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2794
    functionName: AVI_video_frames
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_video_frames(avi_t *AVI) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:3097,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:3095,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:3093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - AVI
    - audbuf
    - bytes
    - continuous
    argTypes:
    - avi_t*
    - u8*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 3106
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3106
    functionName: AVI_read_audio
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - GF_LOG
    - avi_read
    linkageType: ''
    returnType: int
    signature: 'int AVI_read_audio(avi_t *AVI, u8 *audbuf, int bytes, int *continuous) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3180
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3180
    functionName: AVI_max_size
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 AVI_max_size(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:616,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:622,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:636,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/avilib.c:624,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:628,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/avilib.c:639,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/avilib.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - opendml_threshold
    argTypes:
    - char*
    - u64
    constantsTouched: []
    func_position:
      end: 657
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 657
    functionName: AVI_open_output_file
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - avi_write
    - memset
    - gf_free
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT avi_t * AVI_open_output_file(char * filename, u64 opendml_threshold) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2913
    functionName: AVI_seek_start
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fseek
    linkageType: ''
    returnType: int
    signature: 'int AVI_seek_start(avi_t *AVI) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:2967,1
    - Dst: avi_read
      Src: /src/gpac/src/media_tools/avilib.c:2970,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - AVI
    - vidbuf
    - keyframe
    argTypes:
    - avi_t*
    - u8*
    - int*
    constantsTouched: []
    func_position:
      end: 2977
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2977
    functionName: AVI_read_frame
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - avi_read
    linkageType: ''
    returnType: int
    signature: 'int AVI_read_frame(avi_t *AVI, u8 *vidbuf, int *keyframe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - n
    argTypes:
    - unsigned char*
    - s32
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: short2str
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void short2str(unsigned char *dst, s32 n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 596
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 596
    functionName: AVI_can_read_audio
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_can_read_audio(avi_t *AVI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avi_add_index_entry
      Src: /src/gpac/src/media_tools/avilib.c:1627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1631
    functionName: AVI_dup_frame
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_add_index_entry
    linkageType: ''
    returnType: int
    signature: 'int AVI_dup_frame(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1719
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1719
    functionName: AVI_get_audio_track
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_get_audio_track(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2838
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2838
    functionName: AVI_audio_padrate
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_padrate(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2849
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2849
    functionName: AVI_audio_format
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_format(avi_t *AVI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - AVI
    - bitrate
    argTypes:
    - avi_t*
    - int
    constantsTouched: []
    func_position:
      end: 2941
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2941
    functionName: AVI_set_audio_bitrate
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_set_audio_bitrate(avi_t *AVI, int bitrate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2992
      start: 2980
    functionDepth: 0
    functionLinenumber: 2980
    functionLinenumberEnd: 2992
    functionName: AVI_get_audio_position_index
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_get_audio_position_index(avi_t *AVI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avi_write_data
      Src: /src/gpac/src/media_tools/avilib.c:1642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - AVI
    - data
    - bytes
    argTypes:
    - avi_t*
    - u8*
    - int
    constantsTouched: []
    func_position:
      end: 1646
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1646
    functionName: AVI_write_audio
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - avi_write_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int AVI_write_audio(avi_t *AVI, u8 *data, int bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1703
    functionName: AVI_bytes_written
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 AVI_bytes_written(avi_t *AVI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - AVI
    - track
    argTypes:
    - avi_t*
    - u32
    constantsTouched: []
    func_position:
      end: 1714
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1714
    functionName: AVI_set_audio_track
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_set_audio_track(avi_t *AVI, u32 track) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2822
    functionName: AVI_audio_tracks
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_tracks(avi_t *AVI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 2854
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2854
    functionName: AVI_audio_rate
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int AVI_audio_rate(avi_t *AVI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str2ulong
      Src: /src/gpac/src/media_tools/avilib.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: str2ulong_key
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - str2ulong
    linkageType: ''
    returnType: u32
    signature: 'static u32 str2ulong_key (unsigned char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:808,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:831,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:839,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:886,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:924,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:930,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:904,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:768,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:788,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:827,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:892,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:922,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:967,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:974,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:819,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:832,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:923,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:968,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:850,1
    - Dst: OUTCHR
      Src: /src/gpac/src/media_tools/avilib.c:869,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:854,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:896,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:859,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:802,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:829,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:837,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:851,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:884,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:853,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:909,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:775,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:813,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:834,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:906,1
    - Dst: exit
      Src: /src/gpac/src/media_tools/avilib.c:956,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:790,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:830,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:838,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:925,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:933,1
    - Dst: avi_write
      Src: /src/gpac/src/media_tools/avilib.c:975,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/avilib.c:976,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:767,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:794,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:814,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:826,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:857,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:921,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:793,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:807,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:822,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:907,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:915,1
    - Dst: avi_sampsize
      Src: /src/gpac/src/media_tools/avilib.c:881,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:927,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:937,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:942,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:961,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:852,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:891,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:773,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:801,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:811,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:828,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:901,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:862,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:883,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:908,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:836,1
    - Dst: long2str
      Src: /src/gpac/src/media_tools/avilib.c:875,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:969,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:905,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:812,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:833,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:863,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/avilib.c:955,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:959,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:789,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:820,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:912,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:840,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:855,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:899,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:860,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:960,1
    - Dst: OUTMEM
      Src: /src/gpac/src/media_tools/avilib.c:867,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:766,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:805,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:803,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:841,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:914,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:861,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:890,1
    - Dst: OUT4CC
      Src: /src/gpac/src/media_tools/avilib.c:772,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:809,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:835,1
    - Dst: OUTSHRT
      Src: /src/gpac/src/media_tools/avilib.c:856,1
    - Dst: OUTLONG
      Src: /src/gpac/src/media_tools/avilib.c:900,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 173
    argCount: 1
    argNames:
    - AVI
    argTypes:
    - avi_t*
    constantsTouched: []
    func_position:
      end: 983
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 983
    functionName: avi_update_header
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - OUTCHR
    - avi_write
    - OUT4CC
    - memset
    - GF_LOG
    - long2str
    - exit
    - OUTSHRT
    - OUTLONG
    - OUTMEM
    - gf_fseek
    - avi_sampsize
    linkageType: ''
    returnType: int
    signature: 'int avi_update_header(avi_t *AVI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/avilib.c:1857,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/avilib.c:1863,1
    - Dst: avi_parse_input_file
      Src: /src/gpac/src/media_tools/avilib.c:1871,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - fd
    - getIndex
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 1881
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1881
    functionName: AVI_open_fd
    functionSourceFile: /src/gpac/src/media_tools/avilib.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - avi_parse_input_file
    - memset
    linkageType: ''
    returnType: avi_t*
    signature: 'avi_t *AVI_open_fd(FILE *fd, int getIndex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:39,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:39,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:41,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:41,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:43,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:45,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:45,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:47,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:47,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:49,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:51,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:51,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:53,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:55,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:58,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:49,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - cr_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: cryptinfo_get_crypt_type
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - stricmp
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'static u32 cryptinfo_get_crypt_type(char *cr_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/crypt_tools.c:535,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:542,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:544,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:540,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/crypt_tools.c:537,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:546,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:547,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:548,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:549,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:550,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:551,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:556,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/crypt_tools.c:553,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:557,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:552,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:554,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - info
    argTypes:
    - GF_CryptInfo*
    constantsTouched: []
    func_position:
      end: 558
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 558
    functionName: gf_crypt_info_del
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_crypt_info_del(GF_CryptInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - sax_cbck
    - node_name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: cryptinfo_node_end
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void cryptinfo_node_end(void *sax_cbck, const char *node_name,
      const char *name_space) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:634,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:649,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:656,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:653,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:666,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/crypt_tools.c:673,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:677,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:681,1
    - Dst: on_decrypt_event
      Src: /src/gpac/src/media_tools/crypt_tools.c:697,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/crypt_tools.c:706,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/crypt_tools.c:708,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:631,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:632,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/crypt_tools.c:637,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/crypt_tools.c:652,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:657,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:647,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:669,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/crypt_tools.c:676,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:682,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/crypt_tools.c:688,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/crypt_tools.c:623,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:635,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:638,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:642,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:663,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:650,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:667,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/media_tools/crypt_tools.c:692,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/src/media_tools/crypt_tools.c:693,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/crypt_tools.c:701,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:711,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/crypt_tools.c:709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:643,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:661,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:674,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/crypt_tools.c:686,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/media_tools/crypt_tools.c:690,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/crypt_tools.c:703,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/crypt_tools.c:704,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/crypt_tools.c:707,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 6
    argNames:
    - mp4
    - drm_file
    - dst_file
    - interleave_time
    - fragment_name
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - Double
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 713
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 713
    functionName: gf_decrypt_file_ex
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_fs_print_non_connected
    - GF_LOG
    - gf_fs_print_unused_args
    - gf_fs_run
    - gf_fs_del
    - gf_fs_get_last_connect_error
    - gf_dynstrcat
    - gf_fs_load_destination
    - sprintf
    - gf_fs_new_defaults
    - gf_sys_is_test_mode
    - gf_free
    - gf_fs_print_stats
    - on_decrypt_event
    - gf_fs_print_connections
    - gf_fs_enable_reporting
    - gf_fs_set_ui_callback
    - gf_log_get_tool_level
    - gf_fs_get_last_process_error
    - gf_isom_has_keep_utc_times
    - gf_sys_is_quiet
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_decrypt_file_ex(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, Double interleave_time, const char *fragment_name, u32
      fs_dump_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_decrypt_file_ex
      Src: /src/gpac/src/media_tools/crypt_tools.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - mp4
    - drm_file
    - dst_file
    - interleave_time
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - Double
    - u32
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: gf_decrypt_file
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_decrypt_file_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_decrypt_file(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, Double interleave_time, u32 fs_dump_flags) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/crypt_tools.c:756,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:775,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/crypt_tools.c:788,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:797,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/crypt_tools.c:805,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:810,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/crypt_tools.c:823,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/media_tools/crypt_tools.c:827,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/crypt_tools.c:839,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:846,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:758,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:766,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/crypt_tools.c:781,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:792,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/crypt_tools.c:775,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:800,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/media_tools/crypt_tools.c:808,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:818,1
    - Dst: on_crypt_event
      Src: /src/gpac/src/media_tools/crypt_tools.c:834,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/crypt_tools.c:842,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/crypt_tools.c:837,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/crypt_tools.c:845,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/crypt_tools.c:844,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/crypt_tools.c:768,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:787,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:779,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:783,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:794,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:798,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/crypt_tools.c:813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:819,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/crypt_tools.c:825,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/media_tools/crypt_tools.c:829,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/crypt_tools.c:843,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:762,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:765,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:770,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:774,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:780,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:788,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:803,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:806,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:815,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/src/media_tools/crypt_tools.c:830,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/crypt_tools.c:840,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 6
    argNames:
    - mp4
    - drm_file
    - dst_file
    - interleave_time
    - fragment_name
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - Double
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 848
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 848
    functionName: gf_crypt_file_ex
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_fs_print_non_connected
    - GF_LOG
    - gf_fs_print_unused_args
    - gf_fs_run
    - gf_url_colon_suffix
    - gf_error_to_string
    - on_crypt_event
    - gf_fs_del
    - gf_fs_get_last_connect_error
    - gf_dynstrcat
    - gf_fs_load_destination
    - sprintf
    - gf_fs_new_defaults
    - gf_sys_is_test_mode
    - gf_free
    - gf_fs_print_stats
    - gf_fs_print_connections
    - gf_fs_enable_reporting
    - gf_fs_set_ui_callback
    - gf_log_get_tool_level
    - gf_fs_get_last_process_error
    - gf_isom_has_keep_utc_times
    - gf_sys_is_quiet
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_crypt_file_ex(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, Double interleave_time, const char *fragment_name, u32
      fs_dump_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/crypt_tools.c:524,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/crypt_tools.c:529,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:525,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/crypt_tools.c:528,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:526,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/crypt_tools.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - sax_cbck
    - text
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: cryptinfo_text
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_last
    - strcat
    - gf_realloc
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void cryptinfo_text(void *sax_cbck, const char *text, Bool
      is_cdata) '
  - BBCount: 138
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:114,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:159,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:174,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:237,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:333,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:342,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:373,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/crypt_tools.c:432,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:466,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:490,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:464,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:312,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:143,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:154,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:188,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:207,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:200,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:214,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:225,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:260,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/crypt_tools.c:287,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:295,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:208,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:196,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:168,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:231,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:240,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:255,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:268,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:278,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/crypt_tools.c:288,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:329,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:400,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:189,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:183,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:201,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:266,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:274,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:278,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:394,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:463,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:472,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:478,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:73,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:101,1
    - Dst: cryptinfo_get_crypt_type
      Src: /src/gpac/src/media_tools/crypt_tools.c:119,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:142,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:178,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:226,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:164,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/crypt_tools.c:215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:247,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:250,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:471,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:487,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:360,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:185,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:245,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:262,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:292,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:297,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:359,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/crypt_tools.c:428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:452,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:496,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:360,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:205,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/crypt_tools.c:99,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:129,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:137,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:258,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:264,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:317,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:326,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:332,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:372,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:486,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:206,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:76,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:89,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:150,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:158,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:230,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:236,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:282,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:244,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:300,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/media_tools/crypt_tools.c:442,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:457,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:494,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:69,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:121,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:111,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:124,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:156,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:193,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:149,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:217,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:152,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:228,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/crypt_tools.c:400,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:319,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/crypt_tools.c:413,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:112,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:162,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:191,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:209,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:203,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:231,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:252,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:294,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:301,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:337,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/crypt_tools.c:366,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:485,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:306,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:323,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:285,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:449,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:153,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:160,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:157,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:215,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:233,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:376,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:425,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/media_tools/crypt_tools.c:450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:444,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/crypt_tools.c:502,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:171,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/crypt_tools.c:87,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/media_tools/crypt_tools.c:127,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:134,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:316,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:322,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/crypt_tools.c:340,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:371,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:474,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/crypt_tools.c:458,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:481,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:253,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:118,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:138,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:190,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:219,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:202,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:275,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:286,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:308,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:361,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:368,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/crypt_tools.c:433,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:477,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:409,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/crypt_tools.c:106,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/crypt_tools.c:198,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:271,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:275,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:278,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:288,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:291,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:298,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:303,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/crypt_tools.c:317,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:349,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:469,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:441,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:205,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/crypt_tools.c:175,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:84,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:111,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/crypt_tools.c:107,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:148,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:148,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:152,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:220,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:243,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:489,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/crypt_tools.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:211,1
    - Dst: cryptinfo_get_crypt_type
      Src: /src/gpac/src/media_tools/crypt_tools.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:102,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:209,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:275,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/crypt_tools.c:304,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/crypt_tools.c:343,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:413,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/crypt_tools.c:491,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/crypt_tools.c:369,1
    CyclomaticComplexity: 190
    EdgeCount: 190
    ICount: 654
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 505
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 505
    functionName: cryptinfo_node_start
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - memset
    - strncmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - strstr
    - gf_list_last
    - gf_strdup
    - strcmp
    - atoi
    - strcpy
    - stricmp
    - sprintf
    - memcpy
    - strchr
    - strnicmp
    - gf_free
    - sscanf
    - gf_realloc
    - gf_bin128_parse
    - gf_base64_encode
    - cryptinfo_get_crypt_type
    linkageType: ''
    returnType: void
    signature: 'static void cryptinfo_node_start(void *sax_cbck, const char *node_name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/crypt_tools.c:565,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/media_tools/crypt_tools.c:572,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/crypt_tools.c:570,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/media_tools/crypt_tools.c:571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:574,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/media_tools/crypt_tools.c:574,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:576,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:580,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/media_tools/crypt_tools.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - file
    - out_err
    argTypes:
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 587
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 587
    functionName: gf_crypt_info_load
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_get_error
    - GF_LOG
    - gf_xml_sax_parse_file
    - gf_crypt_info_del
    - gf_xml_sax_del
    - GF_SAFEALLOC
    - gf_list_new
    - gf_xml_sax_new
    linkageType: ''
    returnType: GF_CryptInfo*
    signature: 'GF_CryptInfo *gf_crypt_info_load(const char *file, GF_Err *out_err) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:609,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:607,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - _udta
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: on_decrypt_event
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - fprintf
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_decrypt_event(void *_udta, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_decrypt_file_ex
      Src: /src/gpac/src/media_tools/crypt_tools.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - mp4
    - drm_file
    - dst_file
    - fragment_name
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: gf_decrypt_fragment
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_decrypt_file_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_decrypt_fragment(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, const char *fragment_name, u32 fs_dump_flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/crypt_tools.c:741,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/crypt_tools.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - _udta
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: on_crypt_event
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - fprintf
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_crypt_event(void *_udta, GF_Event *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_file_ex
      Src: /src/gpac/src/media_tools/crypt_tools.c:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - mp4
    - drm_file
    - dst_file
    - fragment_name
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: gf_crypt_fragment
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_crypt_file_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_fragment(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, const char *fragment_name, u32 fs_dump_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_file_ex
      Src: /src/gpac/src/media_tools/crypt_tools.c:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - mp4
    - drm_file
    - dst_file
    - interleave_time
    - fs_dump_flags
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    - Double
    - u32
    constantsTouched: []
    func_position:
      end: 861
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 861
    functionName: gf_crypt_file
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - gf_crypt_file_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_crypt_file(GF_ISOFile *mp4, const char *drm_file,
      const char *dst_file, Double interleave_time, u32 fs_dump_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_decrypt_event
      Src: /src/gpac/src/media_tools/crypt_tools.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ()
    argTypes:
    - gf_sys_is_cov_mode
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - on_decrypt_event
    linkageType: ''
    returnType: else
    signature: 'else if (gf_sys_is_cov_mode()) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_crypt_event
      Src: /src/gpac/src/media_tools/crypt_tools.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ()
    argTypes:
    - gf_sys_is_cov_mode
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/crypt_tools.c
    functionUses: []
    functionsReached:
    - on_crypt_event
    linkageType: ''
    returnType: else
    signature: 'else if (gf_sys_is_cov_mode()) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:446,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:448,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: print_parity
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void print_parity (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: gmult
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int gmult(int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - from
    - to
    argTypes:
    - unsigned char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: zero_fill_from
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void zero_fill_from (unsigned char buf[], int from, int to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - nbytes
    - dst
    argTypes:
    - unsigned char
    - int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: build_codeword
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void build_codeword (unsigned char msg[], int nbytes, unsigned char
      dst[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mult_polys
      Src: /src/gpac/src/media_tools/reedsolomon.c:194,1
    - Dst: zero_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: compute_modified_omega
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - mult_polys
    - zero_poly
    linkageType: ''
    returnType: void
    signature: 'void compute_modified_omega () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zero_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:231,1
    - Dst: scale_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:237,1
    - Dst: zero_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:232,1
    - Dst: copy_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:236,1
    - Dst: mul_z_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:238,1
    - Dst: add_polys
      Src: /src/gpac/src/media_tools/reedsolomon.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 241
    functionName: init_gamma
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - add_polys
    - mul_z_poly
    - zero_poly
    - scale_poly
    - copy_poly
    linkageType: ''
    returnType: void
    signature: 'void init_gamma (int gamma[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:320,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: Find_Roots
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - fprintf
    - gmult
    linkageType: ''
    returnType: void
    signature: 'void Find_Roots (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: check_syndrome
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int check_syndrome (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zero_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:534,1
    - Dst: zero_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:538,1
    - Dst: copy_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:543,1
    - Dst: mult_polys
      Src: /src/gpac/src/media_tools/reedsolomon.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - nbytes
    - genpoly
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: compute_genpoly
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - mult_polys
    - zero_poly
    - copy_poly
    linkageType: ''
    returnType: void
    signature: 'static void compute_genpoly (int nbytes, int genpoly[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - d
    - A
    - dst
    - src
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: compute_next_omega
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    linkageType: ''
    returnType: void
    signature: 'void compute_next_omega (int d, int A[], int dst[], int src[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_gamma
      Src: /src/gpac/src/media_tools/reedsolomon.c:143,1
    - Dst: compute_discrepancy
      Src: /src/gpac/src/media_tools/reedsolomon.c:155,1
    - Dst: mul_z_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:147,1
    - Dst: copy_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:146,1
    - Dst: copy_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:149,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:160,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:167,1
    - Dst: ginv
      Src: /src/gpac/src/media_tools/reedsolomon.c:167,1
    - Dst: mul_z_poly
      Src: /src/gpac/src/media_tools/reedsolomon.c:175,1
    - Dst: compute_modified_omega
      Src: /src/gpac/src/media_tools/reedsolomon.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 182
    functionName: Modified_Berlekamp_Massey
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - compute_modified_omega
    - mul_z_poly
    - ginv
    - init_gamma
    - copy_poly
    - gmult
    - compute_discrepancy
    linkageType: ''
    returnType: void
    signature: 'void Modified_Berlekamp_Massey (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - nbytes
    argTypes:
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: decode_data
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    linkageType: ''
    returnType: void
    signature: 'void decode_data(unsigned char data[], int nbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:515,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:516,1
    - Dst: ginv
      Src: /src/gpac/src/media_tools/reedsolomon.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 518
    functionName: debug_check_syndrome
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - fprintf
    - gmult
    - ginv
    linkageType: ''
    returnType: void
    signature: 'void debug_check_syndrome (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: add_polys
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void add_polys (int dst[], int src[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: copy_poly
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void copy_poly (int dst[], int src[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_exp_table
      Src: /src/gpac/src/media_tools/reedsolomon.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: init_galois_tables
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - init_exp_table
    linkageType: ''
    returnType: void
    signature: 'void init_galois_tables (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - k
    - poly
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: scale_poly
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    linkageType: ''
    returnType: void
    signature: 'void scale_poly (int k, int poly[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ginv
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ginv (int elt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - dst
    - p1
    - p2
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: mult_polys
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    linkageType: ''
    returnType: void
    signature: 'void mult_polys (int dst[], int p1[], int p2[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - lambda
    - S
    - L
    - n
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: compute_discrepancy
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    linkageType: ''
    returnType: int
    signature: 'int compute_discrepancy (int lambda[], int S[], int L, int n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Modified_Berlekamp_Massey
      Src: /src/gpac/src/media_tools/reedsolomon.c:358,1
    - Dst: Find_Roots
      Src: /src/gpac/src/media_tools/reedsolomon.c:359,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:380,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:368,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:385,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:388,1
    - Dst: ginv
      Src: /src/gpac/src/media_tools/reedsolomon.c:388,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:389,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - codeword
    - csize
    - nerasures
    - erasures
    argTypes:
    - unsigned char
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 399
    functionName: correct_errors_erasures
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - Find_Roots
    - ginv
    - fprintf
    - Modified_Berlekamp_Massey
    - gmult
    linkageType: ''
    returnType: int
    signature: 'int correct_errors_erasures (unsigned char codeword[], int csize,
      int nerasures, int erasures[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: init_exp_table
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_exp_table (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: mul_z_poly
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mul_z_poly (int src[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_galois_tables
      Src: /src/gpac/src/media_tools/reedsolomon.c:428,1
    - Dst: compute_genpoly
      Src: /src/gpac/src/media_tools/reedsolomon.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: initialize_ecc
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - compute_genpoly
    - init_galois_tables
    linkageType: ''
    returnType: void
    signature: 'void initialize_ecc () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:457,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:459,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/reedsolomon.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: print_syndrome
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void print_syndrome (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:565,1
    - Dst: build_codeword
      Src: /src/gpac/src/media_tools/reedsolomon.c:573,1
    - Dst: gmult
      Src: /src/gpac/src/media_tools/reedsolomon.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - msg
    - nbytes
    - dst
    argTypes:
    - unsigned char
    - int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: encode_data
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached:
    - gmult
    - build_codeword
    linkageType: ''
    returnType: void
    signature: 'void encode_data (unsigned char msg[], int nbytes, unsigned char dst[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - poly
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: zero_poly
    functionSourceFile: /src/gpac/src/media_tools/reedsolomon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void zero_poly (int poly[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: vobsub_lang_name
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 vobsub_lang_name(u16 id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gpac/src/media_tools/vobsub.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: strltrim
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char*
    signature: 'static char *strltrim(char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strltrim
      Src: /src/gpac/src/media_tools/vobsub.c:250,1
    - Dst: strrtrim
      Src: /src/gpac/src/media_tools/vobsub.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: strtrim
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - strrtrim
    - strltrim
    linkageType: ''
    returnType: char*
    signature: 'static char *strtrim(char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/vobsub.c:470,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:478,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:471,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/vobsub.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - vobsub
    argTypes:
    - vobsub_file*
    constantsTouched: []
    func_position:
      end: 479
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 479
    functionName: vobsub_free
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vobsub_free(vobsub_file *vobsub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: vobsub_lang_id
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: char*
    signature: 'char *vobsub_lang_id(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:236,1
    - Dst: isspace
      Src: /src/gpac/src/media_tools/vobsub.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: strrtrim
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: char*
    signature: 'static char *strrtrim(char *str) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:271,1
    - Dst: strtrim
      Src: /src/gpac/src/media_tools/vobsub.c:264,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:339,1
    - Dst: strlwr
      Src: /src/gpac/src/media_tools/vobsub.c:344,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:316,1
    - Dst: vobsub_lang_name
      Src: /src/gpac/src/media_tools/vobsub.c:361,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:374,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:410,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:420,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:425,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:301,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:304,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/vobsub.c:364,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:391,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:408,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/vobsub.c:436,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/vobsub.c:444,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:446,1
    - Dst: gf_fgets
      Src: /src/gpac/src/media_tools/vobsub.c:260,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/vobsub.c:270,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/vobsub.c:286,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/vobsub.c:347,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/vobsub.c:311,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:354,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:383,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/vobsub.c:436,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:271,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:277,1
    - Dst: strtrim
      Src: /src/gpac/src/media_tools/vobsub.c:295,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/vobsub.c:296,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/vobsub.c:354,1
    - Dst: gf_calloc
      Src: /src/gpac/src/media_tools/vobsub.c:399,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/vobsub.c:417,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/vobsub.c:427,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/vobsub.c:432,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 216
    argCount: 3
    argNames:
    - file
    - vobsub
    - version
    argTypes:
    - FILE*
    - vobsub_file*
    - s32*
    constantsTouched: []
    func_position:
      end: 454
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 454
    functionName: vobsub_read_idx
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - sscanf
    - gf_list_count
    - gf_fgets
    - gf_list_new
    - gf_calloc
    - strchr
    - strlwr
    - vobsub_lang_name
    - stricmp
    - strstr
    - gf_free
    - strtrim
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsub_read_idx(FILE *file, vobsub_file *vobsub, s32 *version) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 4
    argNames:
    - _data
    - psize
    - dsize
    - duration
    argTypes:
    - u8*
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 554
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 554
    functionName: vobsub_get_subpic_duration
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsub_get_subpic_duration(u8 *_data, u32 psize, u32 dsize,
      u32 *duration) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/vobsub.c:575,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/vobsub.c:636,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/vobsub.c:648,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/vobsub.c:652,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 96
    argCount: 4
    argNames:
    - fsub
    - pts
    - data
    - dataSize
    argTypes:
    - FILE*
    - u64
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 665
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 665
    functionName: vobsub_packetize_subpicture
    functionSourceFile: /src/gpac/src/media_tools/vobsub.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsub_packetize_subpicture(FILE *fsub, u64 pts, u8 *data,
      u32 dataSize) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:991,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:995,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1049,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/isom_tools.c:1059,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1070,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:961,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:990,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:994,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:1010,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1039,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:1046,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:1022,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1035,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:978,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:973,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1006,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1034,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1040,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1060,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1075,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/media_tools/isom_tools.c:1076,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1077,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:968,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:979,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:1023,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:1015,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/media_tools/isom_tools.c:1048,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1052,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1057,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1058,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1068,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/media_tools/isom_tools.c:1069,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 98
    argCount: 8
    argNames:
    - file
    - track
    - sampleDescriptionIndex
    - colour_type
    - colour_primaries
    - transfer_characteristics
    - matrix_coefficients
    - full_range_flag
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32*
    - u16*
    - u16*
    - u16*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1083
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1083
    functionName: gf_media_get_color_info
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_avc_config_get
    - gf_av1_init_state
    - GF_SAFEALLOC
    - gf_isom_get_media_subtype
    - gf_hevc_read_sps
    - gf_bs_del
    - gf_av1_reset_state
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_isom_av1_config_get
    - gf_av1_parse_obu
    - gf_list_get
    - gf_list_enum
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_avc_read_sps
    - gf_isom_hevc_config_get
    - gf_free
    - gf_odf_hevc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_get_color_info(GF_ISOFile *file, u32 track, u32 sampleDescriptionIndex,
      u32 *colour_type, u16 *colour_primaries, u16 *transfer_characteristics, u16
      *matrix_coefficients, Bool *full_range_flag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:3357,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:3378,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3376,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:3368,1
    - Dst: gf_isom_avc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:3382,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3384,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 5
    argNames:
    - file
    - track
    - profile
    - compat
    - level
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3386
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3386
    functionName: gf_media_change_pl
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_avc_config_update
    - gf_list_count
    - gf_isom_avc_config_get
    - gf_odf_avc_cfg_del
    - gf_isom_get_media_subtype
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_change_pl(GF_ISOFile *file, u32 track, u32
      profile, u32 compat, u32 level) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 5
    argNames:
    - hevc
    - tile_x
    - tile_y
    - tile_width
    - tile_height
    argTypes:
    - HEVCState*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 3453
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3453
    functionName: hevc_get_tile_id
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 hevc_get_tile_id(HEVCState *hevc, u32 *tile_x, u32 *tile_y, u32
      *tile_width, u32 *tile_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:4002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4008,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4007,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - szCodec
    - codec_id
    - dsi
    - dsi_size
    argTypes:
    - char*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 4010
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4010
    functionName: rfc_6381_get_codec_m4v
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - GF_LOG
    - gf_m4v_get_config
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_m4v(char *szCodec, u32 codec_id, u8 *dsi,
      u32 dsi_size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4027,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4030,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4048,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4069,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4073,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4075,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4025,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4025,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4028,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4046,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4068,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4072,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4031,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4043,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4061,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4047,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4057,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4065,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:4023,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4026,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4042,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4056,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4064,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4060,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4049,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4076,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 3
    argNames:
    - szCodec
    - subtype
    - hvcc
    argTypes:
    - char*
    - u32
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 4082
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4082
    functionName: rfc_6381_get_codec_hevc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcat
    - sprintf
    - gf_4cc_to_str
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_hevc(char *szCodec, u32 subtype, GF_HEVCConfig
      *hvcc) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_is_omadrm_media
      Src: /src/gpac/src/media_tools/isom_tools.c:4306,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/media_tools/isom_tools.c:4311,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4315,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:4329,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/media_tools/isom_tools.c:4324,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4351,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4354,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4355,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4379,1
    - Dst: rfc_6381_get_codec_avc
      Src: /src/gpac/src/media_tools/isom_tools.c:4382,1
    - Dst: rfc6381_codec_name_default
      Src: /src/gpac/src/media_tools/isom_tools.c:4529,1
    - Dst: gf_isom_get_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:4445,1
    - Dst: gf_isom_get_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:4426,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4469,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4476,1
    - Dst: rfc_6381_get_codec_mpegha
      Src: /src/gpac/src/media_tools/isom_tools.c:4497,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4501,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4449,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4430,1
    - Dst: gf_media_map_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:4493,1
    - Dst: gf_isom_is_ismacryp_media
      Src: /src/gpac/src/media_tools/isom_tools.c:4304,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/src/media_tools/isom_tools.c:4309,1
    - Dst: rfc_6381_get_codec_aac
      Src: /src/gpac/src/media_tools/isom_tools.c:4334,1
    - Dst: rfc_6381_get_codec_aac
      Src: /src/gpac/src/media_tools/isom_tools.c:4336,1
    - Dst: rfc_6381_get_codec_m4v
      Src: /src/gpac/src/media_tools/isom_tools.c:4343,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4347,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4374,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4403,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:4407,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:4425,1
    - Dst: rfc_6381_get_codec_dolby_vision
      Src: /src/gpac/src/media_tools/isom_tools.c:4468,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/src/media_tools/isom_tools.c:4507,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4512,1
    - Dst: gf_isom_dovi_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4462,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4416,1
    - Dst: gf_codec_id_from_isobmf
      Src: /src/gpac/src/media_tools/isom_tools.c:4529,1
    - Dst: rfc_6381_get_codec_stpp
      Src: /src/gpac/src/media_tools/isom_tools.c:4524,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4484,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:4300,1
    - Dst: gf_isom_get_omadrm_info
      Src: /src/gpac/src/media_tools/isom_tools.c:4307,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4311,1
    - Dst: rfc_6381_get_codec_m4v
      Src: /src/gpac/src/media_tools/isom_tools.c:4341,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4380,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4383,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4401,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4409,1
    - Dst: rfc_6381_get_codec_hevc
      Src: /src/gpac/src/media_tools/isom_tools.c:4412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4484,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4413,1
    - Dst: rfc_6381_get_codec_uncv
      Src: /src/gpac/src/media_tools/isom_tools.c:4509,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4452,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4433,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4464,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/media_tools/isom_tools.c:4305,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/media_tools/isom_tools.c:4308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4311,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:4322,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/media_tools/isom_tools.c:4312,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4362,1
    - Dst: rfc_6381_get_codec_avc
      Src: /src/gpac/src/media_tools/isom_tools.c:4370,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4386,1
    - Dst: gf_isom_vp_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4440,1
    - Dst: rfc_6381_get_codec_vpx
      Src: /src/gpac/src/media_tools/isom_tools.c:4448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4464,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4408,1
    - Dst: rfc_6381_get_codec_av1
      Src: /src/gpac/src/media_tools/isom_tools.c:4429,1
    - Dst: rfc_6381_get_codec_vvc
      Src: /src/gpac/src/media_tools/isom_tools.c:4480,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4511,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:4444,1
    - Dst: gf_isom_xml_subtitle_get_description
      Src: /src/gpac/src/media_tools/isom_tools.c:4521,1
    - Dst: rfc_6381_get_codec_mpegha
      Src: /src/gpac/src/media_tools/isom_tools.c:4499,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4421,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4481,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 175
    argCount: 6
    argNames:
    - movie
    - track
    - stsd_idx
    - szCodec
    - force_inband
    - force_sbr
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4533
      start: 4293
    functionDepth: 0
    functionLinenumber: 4293
    functionLinenumberEnd: 4533
    functionName: gf_media_get_rfc_6381_codec_name
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_odf_vp_cfg_del
    - memset
    - rfc_6381_get_codec_vvc
    - rfc_6381_get_codec_uncv
    - gf_media_map_esd
    - GF_LOG
    - gf_isom_avc_config_get
    - gf_isom_get_ismacryp_info
    - gf_isom_dovi_config_get
    - gf_isom_svc_config_get
    - gf_odf_desc_del
    - gf_4cc_to_str
    - rfc_6381_get_codec_av1
    - gf_isom_get_media_subtype
    - rfc_6381_get_codec_avc
    - gf_isom_is_media_encrypted
    - rfc_6381_get_codec_hevc
    - rfc_6381_get_codec_vpx
    - gf_odf_avc_cfg_del
    - rfc_6381_get_codec_mpegha
    - gf_codec_id_from_isobmf
    - gf_isom_get_generic_sample_description
    - gf_isom_get_esd
    - gf_isom_av1_config_get
    - gf_isom_vp_config_get
    - gf_isom_get_cenc_info
    - gf_isom_xml_subtitle_get_description
    - gf_isom_mvc_config_get
    - gf_isom_get_omadrm_info
    - gf_odf_av1_cfg_del
    - gf_isom_vvc_config_get
    - gf_isom_get_mpeg4_subtype
    - gf_isom_is_omadrm_media
    - rfc_6381_get_codec_stpp
    - rfc_6381_get_codec_dolby_vision
    - gf_isom_is_cenc_media
    - gf_isom_hevc_config_get
    - gf_free
    - gf_odf_dovi_cfg_del
    - rfc_6381_get_codec_aac
    - rfc6381_codec_name_default
    - gf_isom_get_reference
    - rfc_6381_get_codec_m4v
    - gf_isom_is_ismacryp_media
    - gf_isom_get_color_info
    - gf_isom_lhvc_config_get
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_del
    - gf_isom_get_original_format_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_get_rfc_6381_codec_name(GF_ISOFile *movie,
      u32 track, u32 stsd_idx, char *szCodec, Bool force_inband, Bool force_sbr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - GF_ISOM_SUBTYPE_AV01
    argTypes:
    - stype
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (stype == GF_ISOM_SUBTYPE_AV01) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:471,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:625,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/media_tools/isom_tools.c:607,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:653,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/isom_tools.c:703,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:574,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:453,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:524,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:651,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:710,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:633,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:546,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:565,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/isom_tools.c:698,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/isom_tools.c:656,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/media_tools/isom_tools.c:573,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:654,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/media_tools/isom_tools.c:602,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:410,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:458,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/isom_tools.c:517,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/media_tools/isom_tools.c:561,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:430,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:476,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/isom_tools.c:632,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/isom_tools.c:704,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:444,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:447,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/isom_tools.c:531,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/media_tools/isom_tools.c:604,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:711,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:443,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:467,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:529,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/isom_tools.c:603,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/media_tools/isom_tools.c:606,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/isom_tools.c:699,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:701,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/isom_tools.c:707,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:614,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:655,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:467,1
    - Dst: gf_isom_set_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:521,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/media_tools/isom_tools.c:528,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/media_tools/isom_tools.c:605,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:632,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:627,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:661,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/isom_tools.c:705,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:542,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:660,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:420,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:485,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:490,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/media_tools/isom_tools.c:495,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/isom_tools.c:613,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/media_tools/isom_tools.c:635,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:547,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:533,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/media_tools/isom_tools.c:616,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:693,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:695,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:596,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:645,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:595,1
    - Dst: gf_isom_set_root_od_id
      Src: /src/gpac/src/media_tools/isom_tools.c:499,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:658,1
    - Dst: gf_isom_remove_track_from_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:469,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/isom_tools.c:512,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:568,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:587,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:624,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:613,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:451,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:462,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:700,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:709,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:657,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:649,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:459,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:473,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/isom_tools.c:511,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/media_tools/isom_tools.c:629,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/media_tools/isom_tools.c:696,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/isom_tools.c:706,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:659,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:647,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:626,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:450,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:469,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/isom_tools.c:663,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 280
    argCount: 4
    argNames:
    - mp4file
    - keepESIDs
    - keepImage
    - no_ocr
    argTypes:
    - GF_ISOFile*
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 713
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 713
    functionName: gf_media_make_isma
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_m4v_get_config
    - gf_odf_codec_del
    - gf_isom_get_timescale
    - gf_isom_set_track_interleaving_group
    - GF_LOG
    - gf_odf_desc_del
    - gf_isom_remove_track_from_root_od
    - gf_isom_get_media_type
    - gf_m4a_get_config
    - gf_isom_get_track_by_id
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_odf_codec_get_au
    - gf_isom_add_sample
    - gf_isom_set_root_od_id
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_isom_change_mpeg4_description
    - gf_isom_new_track
    - gf_isom_get_track_count
    - gf_isom_get_mode
    - gf_isom_modify_alternate_brand
    - gf_bs_write_int
    - gf_isom_set_track_enabled
    - gf_isom_get_esd
    - gf_odf_codec_add_com
    - gf_isom_add_track_to_root_od
    - gf_isom_set_brand_info
    - gf_odf_desc_add_desc
    - gf_odf_codec_encode
    - gf_isom_get_track_layout_info
    - gf_isom_get_track_id
    - gf_bs_new
    - gf_odf_codec_new
    - gf_isom_set_pl_indication
    - gf_isom_get_root_od
    - gf_odf_com_new
    - gf_isom_sample_new
    - gf_isom_last_error
    - gf_isom_sample_del
    - gf_isom_set_visual_info
    - gf_isom_get_visual_info
    - gf_isom_remove_track
    - gf_bs_align
    - gf_isom_set_track_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_make_isma(GF_ISOFile *mp4file, Bool keepESIDs,
      Bool keepImage, Bool no_ocr) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1136,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:1152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1159,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:1190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1194,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/media_tools/isom_tools.c:1202,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:1215,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:1219,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:1221,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:1223,1
    - Dst: gf_media_get_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1231,1
    - Dst: gf_isom_set_interleave_time
      Src: /src/gpac/src/media_tools/isom_tools.c:1281,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1236,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:1129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1125,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/src/media_tools/isom_tools.c:1132,1
    - Dst: gf_isom_hint_max_chunk_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:1139,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1145,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1152,1
    - Dst: gf_isom_set_meta_qt
      Src: /src/gpac/src/media_tools/isom_tools.c:1156,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1168,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1227,1
    - Dst: gf_isom_hint_max_chunk_size
      Src: /src/gpac/src/media_tools/isom_tools.c:1282,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:1224,1
    - Dst: gf_isom_get_pixel_aspect_ratio
      Src: /src/gpac/src/media_tools/isom_tools.c:1198,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:1220,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:1243,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:1186,1
    - Dst: gf_isom_get_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1210,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:1104,1
    - Dst: gf_isom_set_audio_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1137,1
    - Dst: gf_isom_reset_alt_brands
      Src: /src/gpac/src/media_tools/isom_tools.c:1147,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:1182,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:1222,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:1225,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:1226,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1266,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1275,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1274,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1229,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1243,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1102,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:1112,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1139,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:1144,1
    - Dst: gf_isom_get_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1150,1
    - Dst: gf_isom_update_video_sample_entry_fields
      Src: /src/gpac/src/media_tools/isom_tools.c:1182,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1185,1
    - Dst: gf_isom_update_aperture_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1207,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1217,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:1218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1241,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 199
    argCount: 1
    argNames:
    - mp4
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1285
    functionName: gf_media_check_qt_prores
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_get_brand_info
    - gf_isom_set_media_timescale
    - GF_LOG
    - gf_isom_set_pixel_aspect_ratio
    - gf_4cc_to_str
    - gf_isom_update_aperture_info
    - gf_isom_get_media_subtype
    - gf_isom_set_interleave_time
    - gf_isom_get_media_type
    - gf_isom_set_visual_color_info
    - gf_media_get_color_info
    - gf_isom_update_bitrate
    - gf_isom_hint_max_chunk_duration
    - gf_bs_del
    - GF_4CC
    - gf_isom_get_audio_info
    - gf_isom_update_video_sample_entry_fields
    - gf_isom_get_track_count
    - gf_isom_get_mode
    - gf_isom_get_media_timescale
    - gf_isom_get_constant_sample_duration
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_new
    - gf_isom_hint_max_chunk_size
    - gf_isom_remove_root_od
    - gf_isom_reset_alt_brands
    - gf_isom_sample_del
    - gf_isom_get_pixel_aspect_ratio
    - gf_isom_get_visual_info
    - gf_isom_get_sample_duration
    - gf_isom_set_timescale
    - gf_isom_get_color_info
    - gf_isom_set_meta_qt
    - gf_isom_set_audio_info
    - gf_isom_get_sample
    - gf_isom_set_brand_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_check_qt_prores(GF_ISOFile *mp4) '
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:2994,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2996,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3171,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3195,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3294,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3323,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:3325,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2998,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:3108,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3031,1
    - Dst: gf_hevc_get_sps_info_with_state
      Src: /src/gpac/src/media_tools/isom_tools.c:3055,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:3114,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3153,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3166,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3249,1
    - Dst: gf_isom_set_sample_rap_group
      Src: /src/gpac/src/media_tools/isom_tools.c:3262,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:3328,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:3329,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3084,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2867,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3030,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:3169,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3321,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2980,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2965,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2865,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2856,1
    - Dst: gf_hevc_get_sps_info_with_state
      Src: /src/gpac/src/media_tools/isom_tools.c:2873,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/media_tools/isom_tools.c:3063,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3135,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3144,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:3220,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3225,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2810,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:2899,1
    - Dst: alloc_hevc_param_array
      Src: /src/gpac/src/media_tools/isom_tools.c:2906,1
    - Dst: gf_isom_lhvc_force_inband_config
      Src: /src/gpac/src/media_tools/isom_tools.c:3118,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2957,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2990,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:2947,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3124,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3295,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3337,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/media_tools/isom_tools.c:2881,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_tools.c:2908,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2978,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3167,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3200,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3205,1
    - Dst: gf_isom_remove_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3247,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:3333,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3341,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2820,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:2970,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/media_tools/isom_tools.c:2975,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:3073,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3128,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3238,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3241,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3260,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3292,1
    - Dst: gf_isom_add_sample_group_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3322,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3338,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3336,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3256,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:2807,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2897,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2907,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2951,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/media_tools/isom_tools.c:3131,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3172,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3191,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3313,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3317,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2825,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2829,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2836,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:2886,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2993,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3034,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/src/media_tools/isom_tools.c:3099,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3300,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3307,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3309,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:3334,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2814,1
    - Dst: alloc_hevc_param_array
      Src: /src/gpac/src/media_tools/isom_tools.c:2944,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2860,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2932,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2949,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3164,1
    - Dst: gf_isom_set_sample_roll_group
      Src: /src/gpac/src/media_tools/isom_tools.c:3265,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3320,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3028,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:3069,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3075,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:2842,1
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2835,1
    - Dst: gf_isom_set_cts_packing
      Src: /src/gpac/src/media_tools/isom_tools.c:2920,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:3072,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3157,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3176,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3306,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2819,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2928,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2936,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:2954,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3098,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:3120,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3032,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3001,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3171,1
    - Dst: gf_isom_append_sample_data
      Src: /src/gpac/src/media_tools/isom_tools.c:3206,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3235,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2813,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2811,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2821,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2934,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3033,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:3061,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3000,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3165,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3208,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3310,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3106,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/isom_tools.c:2997,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2839,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/src/media_tools/isom_tools.c:2991,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/media_tools/isom_tools.c:3134,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:3137,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3221,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3308,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3339,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2999,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:2879,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2967,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3150,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3168,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3270,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3275,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3177,1
    CyclomaticComplexity: 163
    EdgeCount: 163
    ICount: 486
    argCount: 5
    argNames:
    - file
    - track
    - for_temporal_sublayers
    - splitAll
    - extractor_mode
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    - Bool
    - GF_LHVCExtractoreMode
    constantsTouched: []
    func_position:
      end: 3347
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 3347
    functionName: gf_media_split_lhvc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_isom_remove_sample_group
    - gf_bs_get_content
    - gf_isom_get_nalu_extract_mode
    - memset
    - gf_bs_write_data
    - GF_LOG
    - gf_isom_set_cts_packing
    - alloc_hevc_param_array
    - GF_SAFEALLOC
    - gf_isom_set_nalu_extract_mode
    - gf_isom_append_sample_data
    - gf_isom_add_sample_group_info
    - gf_isom_remove_sample
    - gf_isom_lhvc_config_update
    - gf_bs_del
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_add_sample
    - gf_list_count
    - gf_hevc_read_pps
    - gf_isom_modify_alternate_brand
    - gf_isom_set_sample_rap_group
    - gf_isom_has_track_reference
    - gf_odf_hevc_cfg_new
    - gf_bs_read_data
    - gf_assert
    - gf_bs_write_int
    - gf_isom_set_track_reference
    - gf_isom_lhvc_force_inband_config
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_get_track_id
    - gf_hevc_read_vps
    - gf_isom_clone_track
    - memcpy
    - gf_bs_write_u8
    - gf_isom_hevc_config_get
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_set_visual_info
    - gf_realloc
    - gf_isom_lhvc_config_get
    - gf_odf_hevc_cfg_del
    - gf_hevc_get_sps_info_with_state
    - gf_bs_available
    - gf_isom_get_sample
    - gf_isom_update_sample
    - gf_list_rem
    - gf_isom_set_sample_roll_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_split_lhvc(GF_ISOFile *file, u32 track,
      Bool for_temporal_sublayers, Bool splitAll, GF_LHVCExtractoreMode extractor_mode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:3919,1
    - Dst: on_frag_event
      Src: /src/gpac/src/media_tools/isom_tools.c:3939,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:3938,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/isom_tools.c:3942,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:3909,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3911,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:3917,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3922,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/media_tools/isom_tools.c:3926,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/isom_tools.c:3901,1
    - Dst: gf_fs_set_ui_callback
      Src: /src/gpac/src/media_tools/isom_tools.c:3934,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/media_tools/isom_tools.c:3933,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/isom_tools.c:3944,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/isom_tools.c:3945,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3946,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/isom_tools.c:3910,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3904,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:3913,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/isom_tools.c:3914,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3915,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:3924,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/isom_tools.c:3921,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/media_tools/isom_tools.c:3928,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - input
    - output_file
    - max_duration_sec
    - use_mfra
    argTypes:
    - GF_ISOFile*
    - char*
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 3948
      start: 3894
    functionDepth: 0
    functionLinenumber: 3894
    functionLinenumberEnd: 3948
    functionName: gf_media_fragment_file
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_sys_is_cov_mode
    - gf_fs_load_destination
    - sprintf
    - GF_LOG
    - gf_fs_del
    - gf_log_get_tool_level
    - gf_fs_set_ui_callback
    - on_frag_event
    - gf_fs_new_defaults
    - gf_fs_get_last_connect_error
    - gf_fs_get_last_process_error
    - gf_sys_is_test_mode
    - strcpy
    - gf_sys_is_quiet
    - gf_fs_load_filter
    - gf_fs_run
    - gf_fs_enable_reporting
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_fragment_file(GF_ISOFile *input, const char
      *output_file, Double max_duration_sec, Bool use_mfra) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:4014,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4015,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - szCodec
    - subtype
    - avcc
    argTypes:
    - char*
    - u32
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 4017
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4017
    functionName: rfc_6381_get_codec_avc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_assert
    - snprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_avc(char *szCodec, u32 subtype, GF_AVCConfig
      *avcc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:4090,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:4092,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:4097,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4099,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/media_tools/isom_tools.c:4094,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:4100,1
    - Dst: av1_is_obu_header
      Src: /src/gpac/src/media_tools/isom_tools.c:4101,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4102,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4102,1
    - Dst: aom_av1_parse_temporal_unit_from_section5
      Src: /src/gpac/src/media_tools/isom_tools.c:4104,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4117,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4112,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4129,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/media_tools/isom_tools.c:4133,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4124,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4105,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4112,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - szCodec
    - subtype
    - av1c
    - colr
    argTypes:
    - char*
    - u32
    - GF_AV1Config*
    - COLR
    constantsTouched: []
    func_position:
      end: 4139
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4139
    functionName: rfc_6381_get_codec_av1
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_list_get
    - aom_av1_parse_temporal_unit_from_section5
    - gf_bs_del
    - strcat
    - gf_av1_reset_state
    - gf_list_count
    - GF_LOG
    - gf_bs_new
    - gf_av1_init_state
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_assert
    - gf_free
    - av1_is_obu_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_av1(char *szCodec, u32 subtype, GF_AV1Config
      *av1c, COLR colr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/isom_tools.c:4585,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:4576,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4578,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/media_tools/isom_tools.c:4594,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4595,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4609,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:4549,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4553,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/media_tools/isom_tools.c:4566,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4569,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:4574,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/media_tools/isom_tools.c:4577,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:4584,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4575,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4593,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:4556,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4557,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:4561,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4563,1
    - Dst: gf_isom_av1_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:4567,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4570,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:4583,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4588,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4590,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4607,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/media_tools/isom_tools.c:4608,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 5
    argNames:
    - file
    - trackNumber
    - sample_number
    - op_index
    - layer_size
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 4615
      start: 4536
    functionDepth: 0
    functionLinenumber: 4536
    functionLinenumberEnd: 4615
    functionName: gf_media_av1_layer_size_get
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_av1_config_get
    - gf_av1_parse_obu
    - gf_list_get
    - gf_bs_del
    - gf_av1_reset_state
    - gf_list_count
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_bs_available
    - gf_av1_init_state
    - gf_isom_get_sample
    - GF_SAFEALLOC
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_media_subtype
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_av1_layer_size_get(GF_ISOFile *file, u32 trackNumber,
      u32 sample_number, u8 op_index, u32 layer_size[3]) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:4627,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:4629,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/isom_tools.c:4644,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/isom_tools.c:4650,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/media_tools/isom_tools.c:4651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4653,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/isom_tools.c:4658,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4635,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/isom_tools.c:4658,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4682,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:4638,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4676,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4678,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4683,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4714,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:4742,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_tools.c:4634,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4630,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4673,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/isom_tools.c:4653,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4674,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4675,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/isom_tools.c:4705,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/isom_tools.c:4707,1
    - Dst: gf_isom_set_qt_key
      Src: /src/gpac/src/media_tools/isom_tools.c:4741,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/isom_tools.c:4745,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 159
    argCount: 3
    argNames:
    - movie
    - name
    - val
    argTypes:
    - GF_ISOFile*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4748
      start: 4619
    functionDepth: 0
    functionLinenumber: 4619
    functionLinenumberEnd: 4748
    functionName: gf_media_isom_apply_qt_key
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - gf_file_load_data
    - GF_4CC
    - sscanf
    - gf_error_to_string
    - GF_LOG
    - strcmp
    - strchr
    - gf_free
    - strstr
    - gf_isom_set_qt_key
    - gf_file_exists
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_isom_apply_qt_key(GF_ISOFile *movie, const
      char *name, const char *val) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:818,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:805,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/media_tools/isom_tools.c:790,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:807,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:846,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:852,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:850,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:874,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:880,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:879,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:883,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:888,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:865,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:897,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:890,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:870,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:731,1
    - Dst: gf_isom_remove_track_from_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:735,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:744,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/media_tools/isom_tools.c:749,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:767,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:779,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:769,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:824,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:846,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:872,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:891,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:886,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:898,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:738,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:779,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:785,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:824,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:844,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/media_tools/isom_tools.c:858,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:862,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:863,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:864,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:873,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:877,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:896,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:882,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:892,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:876,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:722,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:785,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:818,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:830,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:861,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:878,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:884,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:885,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:889,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 126
    argCount: 1
    argNames:
    - mp4file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 900
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 900
    functionName: gf_media_make_3gpp
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_set_brand_info
    - gf_isom_get_sample_count
    - GF_LOG
    - gf_isom_get_track_id
    - gf_isom_get_ismacryp_info
    - gf_isom_remove_track
    - gf_isom_remove_root_od
    - gf_isom_get_track_count
    - gf_isom_get_mode
    - gf_odf_desc_del
    - gf_isom_set_media_type
    - gf_isom_remove_track_from_root_od
    - gf_isom_get_media_subtype
    - gf_isom_modify_alternate_brand
    - gf_isom_get_media_type
    - gf_isom_get_esd
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_make_3gpp(GF_ISOFile *mp4file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1671,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1675,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1688
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1688
    functionName: gf_isom_has_svc_explicit
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_isom_svc_config_get
    - gf_odf_avc_cfg_del
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_isom_has_svc_explicit(GF_ISOFile *file, u32 track) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/isom_tools.c:4258,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4259,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/isom_tools.c:4264,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4259,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4265,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4265,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4270,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - szCodec
    - subtype
    - xmlnamespace
    - xml_schema_loc
    - mimes
    argTypes:
    - char*
    - u32
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4272
      start: 4248
    functionDepth: 0
    functionLinenumber: 4248
    functionLinenumberEnd: 4272
    functionName: rfc_6381_get_codec_stpp
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - strstr
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_stpp(char *szCodec, u32 subtype, const char
      *xmlnamespace, const char *xml_schema_loc, const char *mimes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:130,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:139,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:142,1
    - Dst: gf_m4v_rewrite_par
      Src: /src/gpac/src/media_tools/isom_tools.c:138,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:132,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - GF_ISOM_SUBTYPE_MPEG4
    argTypes:
    - stype
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - gf_m4v_rewrite_par
    - gf_isom_change_mpeg4_description
    - gf_odf_desc_del
    - gf_isom_get_esd
    linkageType: ''
    returnType: else
    signature: 'else if (stype==GF_ISOM_SUBTYPE_MPEG4) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:914,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:916,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/media_tools/isom_tools.c:934,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:926,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/isom_tools.c:935,1
    - Dst: gf_isom_append_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:937,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:937,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:938,1
    - Dst: gf_isom_remove_uuid
      Src: /src/gpac/src/media_tools/isom_tools.c:942,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:946,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:947,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/media_tools/isom_tools.c:953,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/media_tools/isom_tools.c:954,1
    - Dst: gf_isom_add_uuid
      Src: /src/gpac/src/media_tools/isom_tools.c:943,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:946,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - mp4
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 956
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 956
    functionName: gf_media_make_psp
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_set_brand_info
    - gf_isom_get_sample_info
    - gf_isom_add_uuid
    - GF_LOG
    - gf_isom_get_track_id
    - gf_isom_remove_uuid
    - gf_isom_append_edit
    - gf_isom_get_track_duration
    - gf_isom_remove_track
    - gf_isom_modify_alternate_brand
    - gf_isom_get_track_count
    - gf_isom_sample_del
    - gf_isom_get_edits_count
    - gf_isom_get_media_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_make_psp(GF_ISOFile *mp4) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1696,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:1699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - GF_ISOFile*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1705
    functionName: gf_isom_get_track_id_max
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_id
    - gf_isom_get_track_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_isom_get_track_id_max(GF_ISOFile *file) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3870,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/isom_tools.c:3872,1
    - Dst: gf_fs_get_filter_stats
      Src: /src/gpac/src/media_tools/isom_tools.c:3879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3887,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/isom_tools.c:3873,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:3889,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - _udta
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 3892
      start: 3858
    functionDepth: 0
    functionLinenumber: 3858
    functionLinenumberEnd: 3892
    functionName: on_frag_event
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - fprintf
    - GF_LOG
    - strcmp
    - gf_fs_get_filters_count
    - gf_fs_get_filter_stats
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_frag_event(void *_udta, GF_Event *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_type
      Src: /src/gpac/src/media_tools/isom_tools.c:4277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4285,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4281,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4279,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4283,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4285,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4286,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - szCodec
    - subtype
    - codec_id
    argTypes:
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4289
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4289
    functionName: rfc6381_codec_name_default
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_codecid_type
    - snprintf
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc6381_codec_name_default(char *szCodec, u32 subtype, u32
      codec_id) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1742,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1799,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:1911,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2046,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2202,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2238,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_tools.c:2247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1985,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1903,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:1835,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:1926,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:1964,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2043,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2053,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2075,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2197,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2249,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2297,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1960,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/media_tools/isom_tools.c:1757,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1848,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/isom_tools.c:1908,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:1915,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:1921,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1923,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2047,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2083,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2090,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2266,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:1991,1
    - Dst: gf_media_merge_svc
      Src: /src/gpac/src/media_tools/isom_tools.c:1774,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:1853,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2059,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/isom_tools.c:2096,1
    - Dst: gf_isom_svc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2270,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:2278,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1947,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1989,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2063,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2171,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2254,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:1920,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:1789,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1803,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:1805,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:1832,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1839,1
    - Dst: gf_isom_svc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2008,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:1990,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2077,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2088,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2301,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:1953,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1917,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2079,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2099,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:2219,1
    - Dst: gf_isom_svc_config_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2230,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2284,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2293,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/isom_tools.c:1914,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2035,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2055,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/isom_tools.c:2087,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2189,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:2220,1
    - Dst: gf_isom_has_svc_explicit
      Src: /src/gpac/src/media_tools/isom_tools.c:2228,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2248,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2282,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2283,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2294,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:1842,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1986,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:1952,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1976,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2204,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:2218,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2298,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1743,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:1836,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1900,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2073,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2285,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2295,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2299,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2001,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1997,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1820,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:1824,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1850,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1858,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/media_tools/isom_tools.c:1862,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/media_tools/isom_tools.c:2094,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2215,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:2239,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2290,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2003,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1951,1
    - Dst: gf_isom_has_svc_explicit
      Src: /src/gpac/src/media_tools/isom_tools.c:1761,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:1818,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:1845,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/isom_tools.c:1865,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2037,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:2085,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2200,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:2257,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1750,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1784,1
    - Dst: gf_isom_get_track_id_max
      Src: /src/gpac/src/media_tools/isom_tools.c:1786,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1868,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2019,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2027,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:2025,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2011,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2067,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2256,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1948,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1756,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1744,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:2002,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1856,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2057,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2066,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2191,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2194,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2216,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2291,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:2187,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1963,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1998,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1959,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2170,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/isom_tools.c:2176,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2300,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2236,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2015,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1938,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:1965,1
    - Dst: gf_isom_svc_config_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1930,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:1928,1
    - Dst: gf_isom_has_svc_explicit
      Src: /src/gpac/src/media_tools/isom_tools.c:1757,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1798,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1823,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/media_tools/isom_tools.c:1855,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2016,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2183,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2265,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2296,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_tools.c:2264,1
    CyclomaticComplexity: 143
    EdgeCount: 143
    ICount: 578
    argCount: 3
    argNames:
    - file
    - track
    - splitAll
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2307
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 2307
    functionName: gf_media_split_svc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - gf_isom_get_nalu_extract_mode
    - memset
    - gf_isom_get_timescale
    - gf_bs_write_data
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_seek
    - gf_isom_svc_config_get
    - GF_SAFEALLOC
    - gf_isom_set_nalu_extract_mode
    - gf_avc_read_pps
    - gf_isom_get_edit
    - gf_bs_del
    - gf_isom_set_edit
    - gf_isom_add_sample
    - gf_list_count
    - gf_isom_get_media_duration
    - gf_odf_avc_cfg_del
    - gf_isom_new_track
    - gf_isom_get_media_timescale
    - gf_isom_has_track_reference
    - gf_bs_read_data
    - gf_assert
    - gf_isom_has_svc_explicit
    - gf_isom_set_track_enabled
    - gf_isom_set_track_reference
    - gf_bs_write_int
    - gf_odf_avc_cfg_new
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_isom_get_track_id
    - gf_media_merge_svc
    - gf_bs_new
    - gf_avc_read_sps
    - gf_bs_write_u32
    - gf_isom_get_avc_svc_type
    - memcpy
    - gf_isom_last_error
    - gf_bs_write_u8
    - gf_isom_sample_new
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_edits_count
    - gf_isom_set_visual_info
    - gf_free
    - gf_isom_get_reference
    - gf_isom_svc_config_del
    - gf_realloc
    - gf_isom_get_track_id_max
    - gf_bs_available
    - gf_isom_svc_config_new
    - gf_isom_get_sample
    - gf_isom_update_sample
    - gf_avc_parse_nalu
    - gf_list_rem
    - gf_isom_remove_track
    - gf_isom_svc_config_update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_split_svc(GF_ISOFile *file, u32 track, Bool
      splitAll) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3958,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:3970,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:3979,1
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/media_tools/isom_tools.c:3979,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:3983,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3991,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - szCodec
    - codec_id
    - dsi
    - dsi_size
    - force_sbr
    argTypes:
    - char*
    - u32
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3995
      start: 3953
    functionDepth: 0
    functionLinenumber: 3953
    functionLinenumberEnd: 3995
    functionName: rfc_6381_get_codec_aac
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - GF_LOG
    - gf_m4a_get_config
    - gf_codecid_oti
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_aac(char *szCodec, u32 codec_id, u8 *dsi,
      u32 dsi_size, Bool force_sbr) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_vvc_change_par
      Src: /src/gpac/src/media_tools/isom_tools.c:110,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:89,1
    - Dst: gf_hevc_get_sps_info
      Src: /src/gpac/src/media_tools/isom_tools.c:91,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:130,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:156,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/media_tools/isom_tools.c:171,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:179,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/media_tools/isom_tools.c:182,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/media_tools/isom_tools.c:167,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:40,1
    - Dst: gf_avc_change_par
      Src: /src/gpac/src/media_tools/isom_tools.c:61,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:96,1
    - Dst: gf_isom_hevc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:82,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:118,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/isom_tools.c:139,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:146,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/isom_tools.c:151,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/media_tools/isom_tools.c:152,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:52,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:59,1
    - Dst: gf_isom_vvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:111,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:125,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:154,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:165,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:156,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:159,1
    - Dst: gf_isom_avc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:62,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:64,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/src/media_tools/isom_tools.c:66,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:71,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:79,1
    - Dst: gf_hevc_change_par
      Src: /src/gpac/src/media_tools/isom_tools.c:81,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:87,1
    - Dst: gf_vvc_get_sps_info
      Src: /src/gpac/src/media_tools/isom_tools.c:120,1
    - Dst: gf_m4v_rewrite_par
      Src: /src/gpac/src/media_tools/isom_tools.c:138,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/isom_tools.c:142,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 135
    argCount: 6
    argNames:
    - file
    - track
    - ar_num
    - ar_den
    - force_par
    - rewrite_bs
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    - s32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 183
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 183
    functionName: gf_media_change_par
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_hevc_get_sps_info
    - gf_isom_set_track_layout_info
    - gf_m4v_get_config
    - gf_vvc_change_par
    - gf_hevc_change_par
    - GF_LOG
    - gf_isom_avc_config_get
    - gf_isom_set_pixel_aspect_ratio
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_vvc_get_sps_info
    - gf_isom_avc_config_update
    - gf_odf_avc_cfg_del
    - gf_isom_change_mpeg4_description
    - gf_avc_change_par
    - gf_isom_get_esd
    - gf_list_get
    - gf_m4v_rewrite_par
    - gf_list_enum
    - gf_isom_vvc_config_get
    - gf_isom_hevc_config_get
    - gf_avc_get_sps_info
    - gf_isom_get_visual_info
    - gf_isom_hevc_config_update
    - gf_odf_hevc_cfg_del
    - gf_isom_vvc_config_update
    - gf_odf_vvc_cfg_del
    - gf_isom_is_video_handler_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_change_par(GF_ISOFile *file, u32 track,
      s32 ar_num, s32 ar_den, Bool force_par, Bool rewrite_bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/media_tools/isom_tools.c:295,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/media_tools/isom_tools.c:300,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/media_tools/isom_tools.c:297,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/isom_tools.c:335,1
    - Dst: ferror
      Src: /src/gpac/src/media_tools/isom_tools.c:337,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/isom_tools.c:293,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/isom_tools.c:306,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/isom_tools.c:307,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/isom_tools.c:349,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/media_tools/isom_tools.c:310,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:324,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:347,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/media_tools/isom_tools.c:345,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/src/media_tools/isom_tools.c:290,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/isom_tools.c:316,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/media_tools/isom_tools.c:341,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/media_tools/isom_tools.c:327,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:322,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - file
    - hash
    argTypes:
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 351
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 351
    functionName: gf_media_get_file_hash
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_bs_from_file
    - ferror
    - gf_bs_del
    - gf_sha1_update
    - gf_fsize
    - gf_bs_read_data
    - GF_LOG
    - gf_fread
    - gf_isom_probe_file
    - gf_sha1_finish
    - gf_bs_peek_bits
    - gf_sha1_starts
    - gf_fclose
    - gf_bs_skip_bytes
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_get_file_hash(const char *file, u8 hash[20]) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:1345,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:1353,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1357,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:1296,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1342,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:1329,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:1344,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:1354,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1358,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1371,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:1325,1
    - Dst: gf_isom_get_dims_description
      Src: /src/gpac/src/media_tools/isom_tools.c:1350,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1355,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1361,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1366,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1332,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1351,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1356,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1363,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_tools.c:1361,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_tools.c:1366,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1368,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:1370,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/isom_tools.c:1376,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 53
    argCount: 3
    argNames:
    - mp4
    - track
    - stsd_idx
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1379
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1379
    functionName: gf_media_map_esd
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_bs_write_data
    - gf_isom_get_track_id
    - gf_bs_new
    - gf_odf_desc_del
    - gf_bs_write_u8
    - gf_isom_get_media_timescale
    - gf_isom_get_dims_description
    - gf_isom_get_media_subtype
    - gf_bs_write_int
    - gf_isom_get_esd
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ESD *gf_media_map_esd(GF_ISOFile *mp4, u32 track, u32
      stsd_idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1621,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:1624,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:1630,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1622,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1623,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1636,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:1638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:1640,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:1642,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:1645,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1657,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1654,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1656,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:1658,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1655,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - file
    - track
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1660
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1660
    functionName: gf_get_DQId
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_malloc
    - gf_isom_get_nalu_extract_mode
    - gf_bs_del
    - gf_realloc
    - gf_bs_read_int
    - gf_bs_new
    - gf_odf_avc_cfg_del
    - gf_bs_available
    - gf_isom_get_sample
    - gf_isom_svc_config_get
    - gf_free
    - gf_bs_read_data
    - gf_isom_set_nalu_extract_mode
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_get_DQId(GF_ISOFile *file, u32 track) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4228,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4230,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - szCodec
    - subtype
    - dsi
    - dsi_size
    - pl
    argTypes:
    - char*
    - u32
    - u8*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 4232
      start: 4222
    functionDepth: 0
    functionLinenumber: 4222
    functionLinenumberEnd: 4232
    functionName: rfc_6381_get_codec_mpegha
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_mpegha(char *szCodec, u32 subtype, u8 *dsi,
      u32 dsi_size, s32 pl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:108,1
    - Dst: gf_vvc_change_par
      Src: /src/gpac/src/media_tools/isom_tools.c:110,1
    - Dst: gf_isom_vvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:111,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/isom_tools.c:116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:118,1
    - Dst: gf_vvc_get_sps_info
      Src: /src/gpac/src/media_tools/isom_tools.c:120,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - GF_ISOM_SUBTYPE_VVI1
    argTypes:
    - stype
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_vvc_get_sps_info
    - gf_list_get
    - gf_vvc_change_par
    - gf_list_enum
    - gf_isom_vvc_config_get
    - gf_isom_vvc_config_update
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: else
    signature: 'else if ((stype==GF_ISOM_SUBTYPE_VVC1) || (stype==GF_ISOM_SUBTYPE_VVI1)
      ) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:190,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:196,1
    - Dst: gf_isom_avc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:198,1
    - Dst: gf_avc_change_color
      Src: /src/gpac/src/media_tools/isom_tools.c:197,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:199,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:202,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:211,1
    - Dst: gf_hevc_change_color
      Src: /src/gpac/src/media_tools/isom_tools.c:212,1
    - Dst: gf_isom_hevc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:213,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:214,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:217,1
    - Dst: gf_isom_vvc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:222,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:220,1
    - Dst: gf_vvc_change_color
      Src: /src/gpac/src/media_tools/isom_tools.c:221,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/media_tools/isom_tools.c:226,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:223,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 7
    argNames:
    - file
    - track
    - fullrange
    - vidformat
    - colorprim
    - transfer
    - colmatrix
    argTypes:
    - GF_ISOFile*
    - u32
    - s32
    - s32
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 230
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 230
    functionName: gf_media_change_color
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_avc_change_color
    - gf_isom_hevc_config_update
    - gf_isom_avc_config_update
    - gf_hevc_change_color
    - gf_isom_vvc_config_get
    - gf_isom_avc_config_get
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_isom_hevc_config_get
    - gf_isom_get_media_subtype
    - gf_odf_vvc_cfg_del
    - gf_vvc_change_color
    - gf_isom_set_visual_color_info
    - gf_isom_vvc_config_update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_change_color(GF_ISOFile *file, u32 track,
      s32 fullrange, s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/src/media_tools/isom_tools.c:238,1
    - Dst: gf_isom_get_sample_info
      Src: /src/gpac/src/media_tools/isom_tools.c:249,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:242,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:246,1
    - Dst: gf_isom_set_cts_packing
      Src: /src/gpac/src/media_tools/isom_tools.c:244,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:250,1
    - Dst: gf_isom_get_sample_flags
      Src: /src/gpac/src/media_tools/isom_tools.c:255,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:263,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:266,1
    - Dst: gf_isom_remove_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:267,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:273,1
    - Dst: gf_isom_set_cts_packing
      Src: /src/gpac/src/media_tools/isom_tools.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - file
    - track
    - non_ref_only
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 275
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 275
    functionName: gf_media_remove_non_rap
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_isom_get_sample_info
    - gf_isom_get_media_duration
    - gf_isom_get_sample_flags
    - gf_isom_set_cts_packing
    - gf_isom_has_sync_points
    - gf_isom_last_error
    - gf_isom_get_sample_count
    - gf_isom_set_last_sample_duration
    - gf_isom_remove_sample
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_remove_non_rap(GF_ISOFile *file, u32 track,
      Bool non_ref_only) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2674,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2687,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2702,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2725,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2710,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2733,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2744,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2765,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2766,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2767,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2760,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2780,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2778,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2779,1
    - Dst: gf_isom_get_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2680,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2690,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_tools.c:2699,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/isom_tools.c:2722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2713,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2741,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2742,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:2743,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2745,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2747,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2684,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2681,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2693,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2703,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2716,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2739,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/isom_tools.c:2754,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2762,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2764,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2790,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:2777,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2789,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2673,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2691,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2714,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2746,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2748,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2773,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2788,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2787,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2772,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2768,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2769,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 133
    argCount: 4
    argNames:
    - file
    - track
    - max_temporal_id_plus_one
    - max_layer_id_plus_one
    argTypes:
    - GF_ISOFile*
    - u32
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 2792
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2792
    functionName: gf_media_filter_hevc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_isom_get_nalu_extract_mode
    - gf_bs_write_data
    - gf_bs_skip_bytes
    - gf_isom_set_nalu_extract_mode
    - gf_bs_del
    - gf_list_count
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_list_get
    - gf_bs_read_int
    - gf_bs_new
    - gf_isom_hevc_config_get
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_realloc
    - gf_isom_lhvc_config_get
    - gf_isom_update_sample
    - gf_bs_available
    - gf_odf_hevc_cfg_del
    - gf_isom_get_sample
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_filter_hevc(GF_ISOFile *file, u32 track,
      u8 max_temporal_id_plus_one, u8 max_layer_id_plus_one) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2368,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:2429,1
    - Dst: gf_isom_svc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2434,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2442,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2543,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2573,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2601,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2609,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2580,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2424,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2522,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:2528,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2542,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2533,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2455,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2472,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2591,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2422,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2496,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2502,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:2507,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2605,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2613,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:2529,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2401,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2428,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2474,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2505,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2602,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2612,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2581,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/media_tools/isom_tools.c:2456,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:2348,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:2356,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:2395,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/isom_tools.c:2387,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2425,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2531,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/isom_tools.c:2553,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2545,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2477,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2560,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:2564,1
    - Dst: gf_isom_svc_config_update
      Src: /src/gpac/src/media_tools/isom_tools.c:2437,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2438,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2443,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2515,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2611,1
    - Dst: gf_get_DQId
      Src: /src/gpac/src/media_tools/isom_tools.c:2362,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:2458,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:2347,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2389,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2420,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2453,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2500,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2571,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:2585,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2607,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2344,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2468,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:2517,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2604,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2526,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/isom_tools.c:2419,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/isom_tools.c:2583,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2357,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:2396,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/media_tools/isom_tools.c:2584,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/media_tools/isom_tools.c:2614,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/media_tools/isom_tools.c:2341,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:2358,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:2565,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:2487,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2569,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:2498,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2600,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2603,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2608,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2547,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2414,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2418,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2447,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2450,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:2610,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:2355,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2412,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2430,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/isom_tools.c:2536,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:2593,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/media_tools/isom_tools.c:2489,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:2606,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 303
    argCount: 3
    argNames:
    - file
    - track
    - mergeAll
    argTypes:
    - GF_ISOFile*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2616
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2616
    functionName: gf_media_merge_svc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_isom_get_timescale
    - gf_bs_write_data
    - gf_isom_svc_config_get
    - gf_get_DQId
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_edit
    - gf_bs_del
    - gf_isom_get_media_duration
    - gf_isom_set_edit
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_isom_get_track_count
    - gf_isom_has_track_reference
    - gf_isom_get_media_timescale
    - gf_bs_read_data
    - gf_isom_set_track_enabled
    - gf_bs_write_int
    - gf_odf_avc_cfg_new
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_isom_get_track_id
    - gf_bs_new
    - gf_bs_write_u32
    - gf_isom_get_avc_svc_type
    - memcpy
    - gf_bs_write_u8
    - gf_isom_last_error
    - gf_isom_sample_new
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_edits_count
    - gf_isom_set_visual_info
    - gf_isom_get_visual_info
    - gf_free
    - gf_isom_get_reference
    - gf_realloc
    - gf_isom_update_sample
    - gf_bs_available
    - gf_isom_get_sample
    - gf_isom_remove_track
    - gf_isom_svc_config_update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_merge_svc(GF_ISOFile *file, u32 track, Bool
      mergeAll) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:2624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:2626,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/isom_tools.c:2631,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/isom_tools.c:2634,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:2629,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/isom_tools.c:2636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - hevc_cfg
    - type
    argTypes:
    - GF_HEVCConfig*
    - u8
    constantsTouched: []
    func_position:
      end: 2638
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2638
    functionName: alloc_hevc_param_array
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_NALUFFParamArray*
    signature: 'static GF_NALUFFParamArray *alloc_hevc_param_array(GF_HEVCConfig *hevc_cfg,
      u8 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:4143,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4144,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - szCodec
    - subtype
    - vpcc
    - colr
    argTypes:
    - char*
    - u32
    - GF_VPConfig*
    - COLR
    constantsTouched: []
    func_position:
      end: 4154
      start: 4141
    functionDepth: 0
    functionLinenumber: 4141
    functionLinenumberEnd: 4154
    functionName: rfc_6381_get_codec_vpx
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_assert
    - snprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_vpx(char *szCodec, u32 subtype, GF_VPConfig
      *vpcc, COLR colr) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_meta_item_by_id
      Src: /src/gpac/src/media_tools/isom_tools.c:1395,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1404,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1422,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1424,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1438,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1490,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/isom_tools.c:1507,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1522,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:1563,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:1584,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1595,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1599,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1559,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1600,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1588,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/src/media_tools/isom_tools.c:1398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1412,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1425,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1432,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1444,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/isom_tools.c:1488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1553,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1562,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1564,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1569,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1575,1
    - Dst: gf_isom_box_array_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1586,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1534,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:1587,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1585,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1406,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1418,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1470,1
    - Dst: gf_odf_av1_cfg_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1474,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1476,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1503,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1515,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/isom_tools.c:1517,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1538,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1540,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1561,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1548,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/isom_tools.c:1581,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:1402,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1464,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/media_tools/isom_tools.c:1448,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1477,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1484,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:1528,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:1541,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:1551,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/isom_tools.c:1591,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/media_tools/isom_tools.c:1582,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 214
    argCount: 2
    argNames:
    - mp4
    - item_id
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 1602
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1602
    functionName: gf_media_map_item_esd
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_isom_box_write
    - GF_LOG
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_odf_desc_esd_new
    - gf_bs_del
    - GF_4CC
    - gf_list_del
    - gf_error_to_string
    - gf_isom_get_meta_image_props
    - gf_list_count
    - strcmp
    - gf_odf_hevc_cfg_write
    - gf_isom_box_array_write
    - gf_list_new
    - gf_odf_vvc_cfg_write
    - gf_odf_avc_cfg_write
    - gf_odf_av1_cfg_write
    - gf_bs_new
    - gf_free
    - gf_isom_get_meta_item_by_id
    - gf_isom_get_meta_item_info
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_ESD *gf_media_map_item_esd(GF_ISOFile *mp4, u32 item_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:3473,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3477,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3475,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3476,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3478,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3479,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3481,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3482,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3484,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3488,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3489,1
    - Dst: gf_isom_add_sample_group_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3492,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3490,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 11
    argNames:
    - file
    - track
    - id
    - full_picture
    - independent
    - filtering_disable
    - tx
    - ty
    - tw
    - th
    - is_default
    argTypes:
    - GF_ISOFile*
    - u32
    - u32
    - Bool
    - u32
    - Bool
    - u32
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3493
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3493
    functionName: hevc_add_trif
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_del
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_int
    - gf_isom_add_sample_group_info
    linkageType: ''
    returnType: void
    signature: 'static void hevc_add_trif(GF_ISOFile *file, u32 track, u32 id, Bool
      full_picture, u32 independent, Bool filtering_disable, u32 tx, u32 ty, u32 tw,
      u32 th, Bool is_default) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3533,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/media_tools/isom_tools.c:3547,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3642,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3823,1
    - Dst: hevc_add_trif
      Src: /src/gpac/src/media_tools/isom_tools.c:3826,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3758,1
    - Dst: hevc_add_trif
      Src: /src/gpac/src/media_tools/isom_tools.c:3598,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3621,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3633,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3654,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3833,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/media_tools/isom_tools.c:3580,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3770,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3727,1
    - Dst: gf_isom_remove_track
      Src: /src/gpac/src/media_tools/isom_tools.c:3816,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/media_tools/isom_tools.c:3527,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:3535,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/isom_tools.c:3537,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:3648,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3834,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/isom_tools.c:3530,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3598,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3600,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/isom_tools.c:3605,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3774,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3621,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3766,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3623,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3656,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3553,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/isom_tools.c:3610,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3628,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3761,1
    - Dst: gf_isom_copy_sample_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3779,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3787,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3617,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/media_tools/isom_tools.c:3672,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3720,1
    - Dst: gf_isom_add_sample_group_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3790,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3536,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3697,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3756,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3792,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:3541,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3803,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3657,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:3544,1
    - Dst: gf_isom_hevc_set_tile_config
      Src: /src/gpac/src/media_tools/isom_tools.c:3618,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:3658,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3821,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3799,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3738,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3599,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3607,1
    - Dst: hevc_add_trif
      Src: /src/gpac/src/media_tools/isom_tools.c:3820,1
    - Dst: gf_isom_hevc_set_tile_config
      Src: /src/gpac/src/media_tools/isom_tools.c:3552,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/media_tools/isom_tools.c:3570,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3590,1
    - Dst: gf_isom_clone_track
      Src: /src/gpac/src/media_tools/isom_tools.c:3615,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:3659,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:3734,1
    - Dst: hevc_get_tile_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3695,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3776,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/isom_tools.c:3836,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/isom_tools.c:3715,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/isom_tools.c:3511,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/media_tools/isom_tools.c:3574,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/isom_tools.c:3558,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3786,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/isom_tools.c:3814,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/isom_tools.c:3724,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/isom_tools.c:3754,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:3719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3836,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/isom_tools.c:3755,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/isom_tools.c:3510,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/isom_tools.c:3586,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/isom_tools.c:3635,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/media_tools/isom_tools.c:3726,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/media_tools/isom_tools.c:3742,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:3796,1
    - Dst: gf_isom_add_sample_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3794,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/media_tools/isom_tools.c:3577,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/media_tools/isom_tools.c:3824,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 278
    argCount: 2
    argNames:
    - file
    - signal_mode
    argTypes:
    - GF_ISOFile*
    - u32
    constantsTouched: []
    func_position:
      end: 3840
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3840
    functionName: gf_media_split_hevc_tiles
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_isom_set_track_layout_info
    - memset
    - gf_bs_write_data
    - GF_LOG
    - GF_SAFEALLOC
    - gf_isom_get_media_subtype
    - hevc_get_tile_id
    - gf_isom_add_sample_group_info
    - gf_hevc_read_sps
    - gf_isom_get_track_by_id
    - gf_bs_del
    - gf_isom_add_sample
    - gf_error_to_string
    - gf_list_count
    - gf_hevc_read_pps
    - gf_hevc_parse_nalu
    - hevc_add_trif
    - gf_isom_get_track_count
    - gf_isom_has_track_reference
    - gf_isom_set_track_reference
    - gf_bs_write_int
    - gf_list_get
    - gf_bs_write_u16
    - gf_isom_get_track_layout_info
    - gf_isom_get_track_id
    - gf_bs_new
    - gf_hevc_read_vps
    - gf_isom_clone_track
    - gf_isom_last_error
    - gf_isom_hevc_config_get
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_bs_write_u8
    - gf_isom_add_sample_info
    - gf_isom_set_visual_info
    - gf_isom_hevc_set_tile_config
    - gf_odf_hevc_cfg_del
    - gf_isom_update_sample
    - gf_isom_get_sample
    - gf_isom_remove_track
    - gf_isom_copy_sample_info
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_split_hevc_tiles(GF_ISOFile *file, u32 signal_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4158,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - szCodec
    - subtype
    - dovi
    argTypes:
    - char*
    - u32
    - GF_DOVIDecoderConfigurationRecord*
    constantsTouched: []
    func_position:
      end: 4160
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4160
    functionName: rfc_6381_get_codec_dolby_vision
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_dolby_vision(char *szCodec, u32 subtype,
      GF_DOVIDecoderConfigurationRecord *dovi) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4172,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:4177,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4192,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4214,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4170,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/isom_tools.c:4170,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/isom_tools.c:4172,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:4178,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/media_tools/isom_tools.c:4180,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/isom_tools.c:4189,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:4194,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/media_tools/isom_tools.c:4182,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/media_tools/isom_tools.c:4196,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/isom_tools.c:4166,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:4169,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/isom_tools.c:4176,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/isom_tools.c:4183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/isom_tools.c:4213,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/isom_tools.c:4169,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4184,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/isom_tools.c:4193,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/isom_tools.c:4196,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/media_tools/isom_tools.c:4199,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/isom_tools.c:4218,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - szCodec
    - subtype
    - vvcc
    argTypes:
    - char*
    - u32
    - GF_VVCConfig*
    constantsTouched: []
    func_position:
      end: 4221
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4221
    functionName: rfc_6381_get_codec_vvc
    functionSourceFile: /src/gpac/src/media_tools/isom_tools.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_bs_bits_available
    - strcat
    - gf_bs_del
    - GF_4CC
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - GF_LOG
    - gf_bs_available
    - gf_bs_align
    - gf_4cc_to_str
    - gf_assert
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_vvc(char *szCodec, u32 subtype, GF_VVCConfig
      *vvcc) '
  - BBCount: 188
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:696,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:893,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:876,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1473,1
    - Dst: dash_ssr_adjust_group_start
      Src: /src/gpac/src/media_tools/dash_client.c:1562,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:778,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1093,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1266,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1535,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:921,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:854,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/dash_client.c:1001,1
    - Dst: GF_SAFE_ALLOC_N
      Src: /src/gpac/src/media_tools/dash_client.c:912,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1179,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:924,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1038,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:1004,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:925,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:839,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1435,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1472,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:814,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:833,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:1008,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:1057,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:885,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/media_tools/dash_client.c:1163,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:775,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/dash_client.c:1119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1540,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1565,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:701,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:923,1
    - Dst: gf_dash_get_date
      Src: /src/gpac/src/media_tools/dash_client.c:1069,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:908,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:856,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:914,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:713,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:716,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:734,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:845,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:704,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:835,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:917,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:890,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:1111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1554,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:889,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:964,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/media_tools/dash_client.c:1165,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1528,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1167,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:899,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:717,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:877,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/dash_client.c:916,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1204,1
    - Dst: dash_ssr_adjust_group_start
      Src: /src/gpac/src/media_tools/dash_client.c:1410,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:1432,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:862,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/dash_client.c:1058,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:712,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1128,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:697,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:799,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:959,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1042,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:874,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1547,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:907,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:993,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:1065,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1126,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1199,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:698,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:813,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:850,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1113,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:1124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1545,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_client.c:920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:863,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:865,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:731,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:832,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1027,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1357,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1365,1
    CyclomaticComplexity: 289
    EdgeCount: 289
    ICount: 837
    argCount: 3
    argNames:
    - mpd
    - group
    - fetch_time
    argTypes:
    - GF_MPD*
    - GF_DASH_Group*
    - u64
    constantsTouched: []
    func_position:
      end: 1567
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 1567
    functionName: gf_dash_group_timeline_setup_single
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - gf_timestamp_rescale
    - strstr
    - gf_dash_download_resource
    - gf_list_count
    - strcmp
    - gf_gmtime
    - strcpy
    - gf_list_get
    - sprintf
    - ABS
    - gf_sys_clock
    - strchr
    - gf_free
    - strcat
    - GF_SAFE_ALLOC_N
    - sscanf
    - gf_dash_get_date
    - dash_ssr_adjust_group_start
    - gf_mpd_resolve_url
    - gf_net_parse_date
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_timeline_setup_single(GF_MPD *mpd, GF_DASH_Group
      *group, u64 fetch_time) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4865,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4877,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4960,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5046,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:4877,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4928,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5020,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:5032,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:4877,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4921,1
    - Dst: gf_dash_get_max_available_speed
      Src: /src/gpac/src/media_tools/dash_client.c:4925,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4957,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5037,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5038,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 140
    argCount: 2
    argNames:
    - dash
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 5053
      start: 4845
    functionDepth: 0
    functionLinenumber: 4845
    functionLinenumberEnd: 5053
    functionName: dash_do_rate_adaptation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - gf_dash_set_group_representation
    - gf_dash_get_max_available_speed
    linkageType: ''
    returnType: void
    signature: 'static void dash_do_rate_adaptation(GF_DashClient *dash, GF_DASH_Group
      *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5380,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:5382,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cached
    argTypes:
    - segment_cache_entry*
    constantsTouched: []
    func_position:
      end: 5383
      start: 5378
    functionDepth: 0
    functionLinenumber: 5378
    functionLinenumberEnd: 5383
    functionName: gf_dash_group_reset_cache_entry
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_reset_cache_entry(segment_cache_entry *cached) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:7130,1
    - Dst: gf_dash_get_segment_availability_start_time
      Src: /src/gpac/src/media_tools/dash_client.c:7135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - group
    argTypes:
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 7166
      start: 7121
    functionDepth: 0
    functionLinenumber: 7121
    functionLinenumberEnd: 7166
    functionName: gf_dash_group_check_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_net_get_utc
    - gf_dash_get_segment_availability_start_time
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_check_time(GF_DASH_Group *group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5454,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5456,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5457,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5460,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5459,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - dash
    - dependency_id
    - rep_group
    argTypes:
    - GF_DashClient*
    - char*
    - GF_DASH_Group**
    constantsTouched: []
    func_position:
      end: 5467
      start: 5445
    functionDepth: 0
    functionLinenumber: 5445
    functionLinenumberEnd: 5467
    functionName: gf_dash_find_rep
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_MPD_Representation*
    signature: 'static GF_MPD_Representation *gf_dash_find_rep(GF_DashClient *dash,
      const char *dependency_id, GF_DASH_Group **rep_group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 5493
      start: 5487
    functionDepth: 0
    functionLinenumber: 5487
    functionLinenumberEnd: 5493
    functionName: gf_dash_group_has_dependent_group
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_group_has_dependent_group(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - agressive_switch
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9435
      start: 9431
    functionDepth: 0
    functionLinenumber: 9431
    functionLinenumberEnd: 9435
    functionName: gf_dash_set_agressive_adaptation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_agressive_adaptation(GF_DashClient *dash,
      Bool agressive_switch) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11035,1
    - Dst: gf_dash_group_enum_descriptor_list
      Src: /src/gpac/src/media_tools/dash_client.c:11068,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 14
    argCount: 7
    argNames:
    - dash
    - group_idx
    - desc_type
    - desc_idx
    - desc_id
    - desc_scheme
    - desc_value
    argTypes:
    - GF_DashClient*
    - u32
    - GF_DashDescriptorType
    - u32
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 11069
      start: 11031
    functionDepth: 0
    functionLinenumber: 11031
    functionLinenumberEnd: 11069
    functionName: gf_dash_group_enum_descriptor
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_group_enum_descriptor_list
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_group_enum_descriptor(GF_DashClient *dash,
      u32 group_idx, GF_DashDescriptorType desc_type, u32 desc_idx, const char **desc_id,
      const char **desc_scheme, const char **desc_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:1576,1
    - Dst: gf_dash_group_timeline_setup_single
      Src: /src/gpac/src/media_tools/dash_client.c:1578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1582,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1581,1
    - Dst: gf_dash_group_timeline_setup_single
      Src: /src/gpac/src/media_tools/dash_client.c:1583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - mpd
    - group
    - fetch_time
    argTypes:
    - GF_MPD*
    - GF_DASH_Group*
    - u64
    constantsTouched: []
    func_position:
      end: 1586
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1586
    functionName: gf_dash_group_timeline_setup
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_net_get_utc
    - gf_list_get
    - gf_dash_group_timeline_setup_single
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_timeline_setup(GF_MPD *mpd, GF_DASH_Group
      *group, u64 fetch_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5061,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/media_tools/dash_client.c:5066,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/media_tools/dash_client.c:5064,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5068,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - base_url
    - res_url
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5070
      start: 5055
    functionDepth: 0
    functionLinenumber: 5055
    functionLinenumberEnd: 5070
    functionName: gf_dash_get_fileio_url
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_fileio_factory
    - gf_fileio_from_url
    - strncmp
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_dash_get_fileio_url(const char *base_url, char *res_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:5389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - dash
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 5394
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5394
    functionName: gf_dash_group_reset
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_group_reset_cache_entry
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_reset(GF_DashClient *dash, GF_DASH_Group
      *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5473,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:5479,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5476,1
    - Dst: gf_dash_find_rep
      Src: /src/gpac/src/media_tools/dash_client.c:5481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 5485
      start: 5469
    functionDepth: 0
    functionLinenumber: 5469
    functionLinenumberEnd: 5485
    functionName: gf_dash_group_get_dependency_group
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_find_rep
    - gf_list_get
    - strchr
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_dash_group_get_dependency_group(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5498,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 5501
      start: 5495
    functionDepth: 0
    functionLinenumber: 5495
    functionLinenumberEnd: 5501
    functionName: gf_dash_group_get_num_groups_depending_on
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_group_get_num_groups_depending_on(GF_DashClient
      *dash, u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dash
    - auto_switch_count
    - auto_switch_loop
    argTypes:
    - GF_DashClient*
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 9443
      start: 9437
    functionDepth: 0
    functionLinenumber: 9437
    functionLinenumberEnd: 9443
    functionName: gf_dash_set_auto_switch
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_auto_switch(GF_DashClient *dash, s32 auto_switch_count,
      Bool auto_switch_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11075
      start: 11071
    functionDepth: 0
    functionLinenumber: 11071
    functionLinenumberEnd: 11075
    functionName: gf_dash_get_automatic_switching
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_get_automatic_switching(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - ast_shift
    argTypes:
    - GF_DashClient*
    - s32
    constantsTouched: []
    func_position:
      end: 11289
      start: 11285
    functionDepth: 0
    functionLinenumber: 11285
    functionLinenumberEnd: 11289
    functionName: gf_dash_set_mcast_ast_shift
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_mcast_ast_shift(GF_DashClient *dash, s32
      ast_shift) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11471,1
    - Dst: dash_global_rate_adaptation
      Src: /src/gpac/src/media_tools/dash_client.c:11485,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11476,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11478,1
    - Dst: dash_store_stats
      Src: /src/gpac/src/media_tools/dash_client.c:11482,1
    - Dst: dash_store_stats
      Src: /src/gpac/src/media_tools/dash_client.c:11487,1
    - Dst: dash_global_rate_adaptation
      Src: /src/gpac/src/media_tools/dash_client.c:11489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 7
    argNames:
    - dash
    - idx
    - dep_rep_idx
    - bytes_per_sec
    - file_size
    - is_broadcast
    - us_since_start
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u32
    - u64
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 11491
      start: 11469
    functionDepth: 0
    functionLinenumber: 11469
    functionLinenumberEnd: 11491
    functionName: gf_dash_group_store_stats
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - dash_global_rate_adaptation
    - gf_list_count
    - dash_store_stats
    linkageType: ''
    returnType: void
    signature: 'void gf_dash_group_store_stats(GF_DashClient *dash, u32 idx, u32 dep_rep_idx,
      u32 bytes_per_sec, u64 file_size, Bool is_broadcast, u64 us_since_start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10366
      start: 10361
    functionDepth: 0
    functionLinenumber: 10361
    functionLinenumberEnd: 10366
    functionName: gf_dash_group_segment_switch_forced
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_group_segment_switch_forced(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2040,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/media_tools/dash_client.c:2045,1
    - Dst: gf_timestamp_equal
      Src: /src/gpac/src/media_tools/dash_client.c:2044,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2064,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - timeline
    - segment_start
    - start_timescale
    - timescale
    argTypes:
    - GF_MPD_SegmentTimeline*
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2066
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2066
    functionName: gf_dash_get_index_in_timeline
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_timestamp_equal
    - gf_timestamp_greater
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_get_index_in_timeline(GF_MPD_SegmentTimeline *timeline,
      u64 segment_start, u64 start_timescale, u64 timescale) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_delete_segment_list
      Src: /src/gpac/src/media_tools/dash_client.c:2259,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:2268,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:2268,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2302,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_client.c:2309,1
    - Dst: gf_xml_dom_get_root_nodes_count
      Src: /src/gpac/src/media_tools/dash_client.c:2320,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2329,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2258,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2303,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2290,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2310,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2314,1
    - Dst: gf_mpd_delete_segment_list
      Src: /src/gpac/src/media_tools/dash_client.c:2323,1
    - Dst: gf_xml_dom_get_root_idx
      Src: /src/gpac/src/media_tools/dash_client.c:2328,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2334,1
    - Dst: gf_mpd_delete_segment_list
      Src: /src/gpac/src/media_tools/dash_client.c:2342,1
    - Dst: gf_mpd_delete_segment_list
      Src: /src/gpac/src/media_tools/dash_client.c:2335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2255,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/dash_client.c:2266,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2290,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2291,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_client.c:2308,1
    - Dst: gf_sha1_file
      Src: /src/gpac/src/media_tools/dash_client.c:2301,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2314,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2322,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:2276,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:2306,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:2313,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2315,1
    - Dst: gf_mpd_solve_segment_list_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:2330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2346,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 3
    argNames:
    - dash
    - rep
    - last_sig
    argTypes:
    - GF_DashClient*
    - GF_MPD_Representation*
    - u8
    constantsTouched: []
    func_position:
      end: 2349
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2349
    functionName: gf_dash_solve_representation_xlink
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_dash_download_resource
    - gf_xml_dom_del
    - gf_mpd_solve_segment_list_xlink
    - gf_xml_dom_parse
    - gf_xml_dom_new
    - memcmp
    - gf_error_to_string
    - gf_sha1_file
    - GF_LOG
    - strcmp
    - memcpy
    - gf_mpd_delete_segment_list
    - gf_xml_dom_get_root_idx
    - strnicmp
    - gf_xml_dom_get_root_nodes_count
    - strstr
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_solve_representation_xlink(GF_DashClient *dash,
      GF_MPD_Representation *rep, u8 last_sig[GF_SHA1_DIGEST_SIZE]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4283,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4318,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4328,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 8
    argNames:
    - dash
    - group
    - bits_per_sec
    - total_bytes
    - bytes_done
    - us_since_start
    - buffer_dur_ms
    - current_seg_dur
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - u32
    - u64
    - u64
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4340
      start: 4272
    functionDepth: 0
    functionLinenumber: 4272
    functionLinenumberEnd: 4340
    functionName: dash_do_rate_monitor_default
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: s32
    signature: 'static s32 dash_do_rate_monitor_default(GF_DashClient *dash, GF_DASH_Group
      *group, u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start,
      u32 buffer_dur_ms, u32 current_seg_dur) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6612,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6611,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:6616,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:6619,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:6619,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:6619,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - period
    argTypes:
    - GF_MPD_Period*
    constantsTouched: []
    func_position:
      end: 6634
      start: 6602
    functionDepth: 0
    functionLinenumber: 6602
    functionLinenumberEnd: 6634
    functionName: dash_check_supported_mime
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - stricmp
    - gf_list_count
    - gf_list_get
    - strchr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dash_check_supported_mime(GF_MPD_Period *period) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9483
      start: 9475
    functionDepth: 0
    functionLinenumber: 9475
    functionLinenumberEnd: 9483
    functionName: gf_dash_is_group_selected
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_group_selected(GF_DashClient *dash, u32
      idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9499,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - dash
    - title
    - source
    argTypes:
    - GF_DashClient*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 9502
      start: 9496
    functionDepth: 0
    functionLinenumber: 9496
    functionLinenumberEnd: 9502
    functionName: gf_dash_get_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_get_info(GF_DashClient *dash, const char **title,
      const char **source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9666
      start: 9662
    functionDepth: 0
    functionLinenumber: 9662
    functionLinenumberEnd: 9666
    functionName: gf_dash_get_url
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_get_url(GF_DashClient *dash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10126,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10129,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10133
      start: 10122
    functionDepth: 0
    functionLinenumber: 10122
    functionLinenumberEnd: 10133
    functionName: gf_dash_group_get_representation_id
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_group_get_representation_id(GF_DashClient
      *dash, u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2073,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2075,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - timeline
    - segment_index
    argTypes:
    - GF_MPD_SegmentTimeline*
    - u32
    constantsTouched: []
    func_position:
      end: 2087
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2087
    functionName: gf_dash_get_timeline_entry
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_MPD_SegmentTimelineEntry*
    signature: 'static GF_MPD_SegmentTimelineEntry *gf_dash_get_timeline_entry(GF_MPD_SegmentTimeline
      *timeline, u32 segment_index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2353,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2358,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2355,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - new_mpd
    argTypes:
    - GF_MPD*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2361
    functionName: dash_purge_xlink
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dash_purge_xlink(GF_MPD *new_mpd) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4361,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4448,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 95
    argCount: 9
    argNames:
    - dash
    - group
    - base_group
    - dl_rate
    - speed
    - max_available_speed
    - force_lower_complexity
    - rep
    - go_up_bitrate
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - Double
    - Double
    - Bool
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 4467
      start: 4342
    functionDepth: 0
    functionLinenumber: 4342
    functionLinenumberEnd: 4467
    functionName: dash_do_rate_adaptation_legacy_rate
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: s32
    signature: "static s32 dash_do_rate_adaptation_legacy_rate(GF_DashClient *dash,
      GF_DASH_Group *group, GF_DASH_Group *base_group,\t\t\t\t\t\t\t\t\t\t\t\tu32
      dl_rate, Double speed, Double max_available_speed, Bool force_lower_complexity,\t\t\t\t\t\t\t\t\t\t\t\tGF_MPD_Representation
      *rep, Bool go_up_bitrate) "
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6649,1
    - Dst: gf_dash_setup_groups
      Src: /src/gpac/src/media_tools/dash_client.c:6668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6781,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6869,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6960,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:7035,1
    - Dst: gf_dash_set_tiles_quality
      Src: /src/gpac/src/media_tools/dash_client.c:7101,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:6747,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6785,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6954,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6898,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6921,1
    - Dst: gf_dash_solve_period_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:6646,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6798,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6900,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6894,1
    - Dst: gf_dash_get_srd_desc
      Src: /src/gpac/src/media_tools/dash_client.c:6753,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6896,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7025,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6817,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6830,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6892,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7018,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7058,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:6980,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:6749,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6765,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6767,1
    - Dst: gf_dash_setup_single_index_mode
      Src: /src/gpac/src/media_tools/dash_client.c:6823,1
    - Dst: gf_dash_get_mime_type
      Src: /src/gpac/src/media_tools/dash_client.c:6995,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6793,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:6975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7042,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7055,1
    - Dst: gf_dash_seek_group
      Src: /src/gpac/src/media_tools/dash_client.c:6992,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7008,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6665,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6797,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6837,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6838,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6857,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6656,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6679,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6773,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6784,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6651,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6671,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6740,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:6846,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:6887,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6894,1
    - Dst: dash_check_supported_mime
      Src: /src/gpac/src/media_tools/dash_client.c:6661,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6768,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6896,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6733,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7026,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:7036,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6866,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7006,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:6802,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6738,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6720,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6763,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:6887,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6998,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7027,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7043,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6684,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6718,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6769,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6906,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:6845,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6898,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6972,1
    - Dst: gf_dash_get_srd_desc
      Src: /src/gpac/src/media_tools/dash_client.c:6808,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6892,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/dash_client.c:7107,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6782,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:6885,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7020,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7112,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:6804,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:6890,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6737,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6744,1
    CyclomaticComplexity: 194
    EdgeCount: 194
    ICount: 467
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 7118
      start: 6635
    functionDepth: 0
    functionLinenumber: 6635
    functionLinenumberEnd: 7118
    functionName: gf_dash_setup_period
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - gf_dash_get_mime_type
    - gf_mpd_segment_base_free
    - gf_dash_reset_groups
    - gf_list_count
    - strcmp
    - gf_dash_set_group_representation
    - gf_dash_setup_single_index_mode
    - gf_dash_get_srd_desc
    - gf_list_insert
    - gf_list_get
    - gf_dash_setup_groups
    - dash_check_supported_mime
    - strchr
    - strnicmp
    - gf_dash_seek_group
    - sscanf
    - gf_dash_solve_period_xlink
    - gf_dash_set_tiles_quality
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_setup_period(GF_DashClient *dash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9494
      start: 9485
    functionDepth: 0
    functionLinenumber: 9485
    functionLinenumberEnd: 9494
    functionName: gf_dash_is_group_selectable
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_group_selectable(GF_DashClient *dash, u32
      idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9509,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9580,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:9610,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:9632,1
    - Dst: gf_dash_group_count_rep_needed
      Src: /src/gpac/src/media_tools/dash_client.c:9546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9592,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9526,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9525,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9513,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/dash_client.c:9630,1
    - Dst: gf_dash_set_tiles_quality
      Src: /src/gpac/src/media_tools/dash_client.c:9643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9596,1
    - Dst: gf_dash_group_count_rep_needed
      Src: /src/gpac/src/media_tools/dash_client.c:9640,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9565,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:9582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9608,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 132
    argCount: 2
    argNames:
    - dash
    - switch_up
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9646
      start: 9505
    functionDepth: 0
    functionLinenumber: 9505
    functionLinenumberEnd: 9646
    functionName: gf_dash_switch_quality
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_list_count
    - GF_LOG
    - gf_dash_set_tiles_quality
    - gf_dash_group_reset_cache_entry
    - memmove
    - gf_dash_group_count_rep_needed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_switch_quality(GF_DashClient *dash, Bool switch_up) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9671
      start: 9668
    functionDepth: 0
    functionLinenumber: 9668
    functionLinenumberEnd: 9671
    functionName: gf_dash_is_m3u8
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_m3u8(GF_DashClient *dash) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:10143,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:10150,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/dash_client.c:10152,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:10153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - dash
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 10165
      start: 10135
    functionDepth: 0
    functionLinenumber: 10135
    functionLinenumberEnd: 10165
    functionName: gf_dash_group_discard_segment_internal
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_dash_group_reset_cache_entry
    - memmove
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_group_discard_segment_internal(GF_DashClient *dash,
      GF_DASH_Group *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - shift_utc_sec
    argTypes:
    - GF_DashClient*
    - s32
    constantsTouched: []
    func_position:
      end: 10372
      start: 10368
    functionDepth: 0
    functionLinenumber: 10368
    functionLinenumberEnd: 10372
    functionName: gf_dash_set_utc_shift
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_utc_shift(GF_DashClient *dash, s32 shift_utc_sec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 6
    argNames:
    - dash
    - idx
    - descs
    - desc_id
    - desc_scheme
    - desc_value
    argTypes:
    - GF_DashClient*
    - u32
    - GF_List*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 11029
      start: 11020
    functionDepth: 0
    functionLinenumber: 11020
    functionLinenumberEnd: 11029
    functionName: gf_dash_group_enum_descriptor_list
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_dash_group_enum_descriptor_list(GF_DashClient *dash,
      u32 idx, GF_List *descs, const char **desc_id, const char **desc_scheme, const
      char **desc_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:500,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: gf_dash_get_active_group
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_DASH_Group*
    signature: 'static GF_DASH_Group *gf_dash_get_active_group(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1685,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:1735,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:1705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1756,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:1777,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/dash_client.c:1666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1769,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1777,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:1658,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:1699,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:1701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1767,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:1773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1658,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1676,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:1685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1741,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:1748,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:1748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:1773,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 99
    argCount: 7
    argNames:
    - dash
    - sess
    - url
    - start_range
    - end_range
    - persistent_mode
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASHFileIOSession*
    - char*
    - u64
    - u64
    - u32
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1781
    functionName: gf_dash_download_resource
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_dash_download_resource
    - assert
    - gf_error_to_string
    - gf_strdup
    - GF_LOG
    - gf_net_get_utc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dash_download_resource(GF_DashClient *dash, GF_DASHFileIOSession
      *sess, const char *url, u64 start_range, u64 end_range, u32 persistent_mode,
      GF_DASH_Group *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_m3u8_solve_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:2399,1
    - Dst: gf_m3u8_solve_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:2403,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/dash_client.c:2402,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2406,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/media_tools/dash_client.c:2410,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:2415,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2417,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - group
    - rep
    - is_static
    - duration
    - signature
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    - Bool*
    - u64*
    - u8
    constantsTouched: []
    func_position:
      end: 2419
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2419
    functionName: gf_dash_solve_m3u8_representation_xlink
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - dash_strip_base_url
    - gf_m3u8_solve_representation_xlink
    - gf_free
    - gf_url_is_local
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_solve_m3u8_representation_xlink(GF_DASH_Group
      *group, GF_MPD_Representation *rep, Bool *is_static, u64 *duration, u8 signature[GF_SHA1_DIGEST_SIZE]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3572,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3574,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - group
    - rep
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3600
    functionName: m3u8_setup_timeline
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void m3u8_setup_timeline(GF_DASH_Group *group, GF_MPD_Representation
      *rep) '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5548,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:5722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5802,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:5778,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5547,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5609,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5667,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/dash_client.c:5807,1
    - Dst: gf_mpd_get_descriptor
      Src: /src/gpac/src/media_tools/dash_client.c:5833,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5584,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5617,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5786,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:5856,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5777,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5673,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:5772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5537,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5540,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:5569,1
    - Dst: gf_dash_get_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:5589,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5602,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5637,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5657,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5704,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5781,1
    - Dst: gf_dash_group_get_dependency_group
      Src: /src/gpac/src/media_tools/dash_client.c:5789,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5735,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:5795,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:5817,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:5845,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5641,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5681,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5701,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5788,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5755,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5728,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5828,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5768,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5573,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:5857,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dash_client.c:5771,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/dash_client.c:5816,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5843,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5572,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5602,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5648,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5690,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5712,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5744,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:5653,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:5826,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5700,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5674,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5558,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5637,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5703,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5727,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5774,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5811,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:5533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5594,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:5730,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:5808,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:5855,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5791,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:5563,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5625,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5632,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5633,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5634,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5792,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5635,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:5797,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:5868,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/dash_client.c:5651,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5804,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5780,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5546,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5574,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5631,1
    - Dst: gf_mpd_get_descriptor
      Src: /src/gpac/src/media_tools/dash_client.c:5834,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:5838,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:5840,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5676,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 352
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 5871
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5871
    functionName: gf_dash_setup_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - strncmp
    - GF_LOG
    - gf_dash_group_get_dependency_group
    - GF_SAFEALLOC
    - strstr
    - gf_dash_get_segment_duration
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - strcmp
    - atoi
    - gf_list_new
    - gf_assert
    - gf_list_get
    - gf_sys_clock
    - strchr
    - strnicmp
    - gf_free
    - gf_realloc
    - gf_mpd_get_descriptor
    - strrchr
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dash_setup_groups(GF_DashClient *dash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_period_index_from_time
      Src: /src/gpac/src/media_tools/dash_client.c:8673,1
    - Dst: gf_dash_solve_period_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:8678,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8676,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8681,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8682,1
    - Dst: dash_check_supported_mime
      Src: /src/gpac/src/media_tools/dash_client.c:8685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 8686
      start: 8669
    functionDepth: 0
    functionLinenumber: 8669
    functionLinenumberEnd: 8686
    functionName: gf_dash_check_periods
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_period_index_from_time
    - gf_list_count
    - GF_LOG
    - gf_dash_solve_period_xlink
    - dash_check_supported_mime
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_check_periods(GF_DashClient *dash) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:9722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9725,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:9731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - dash
    - idx
    - crypt_type
    - key_IV
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - bin128*
    constantsTouched: []
    func_position:
      end: 9733
      start: 9718
    functionDepth: 0
    functionLinenumber: 9718
    functionLinenumberEnd: 9733
    functionName: gf_dash_group_get_segment_init_keys
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_group_get_segment_init_keys(GF_DashClient
      *dash, u32 idx, u32 *crypt_type, bin128 *key_IV) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dash
    - min_wait
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 7184
      start: 7178
    functionDepth: 0
    functionLinenumber: 7178
    functionLinenumberEnd: 7184
    functionName: dash_set_min_wait
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void dash_set_min_wait(GF_DashClient *dash, u32 min_wait) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 3
    argNames:
    - subrep
    - rep
    - set
    argTypes:
    - GF_MPD_SubRepresentation*
    - GF_MPD_Representation*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: gf_dash_get_mime_type
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_dash_get_mime_type(GF_MPD_SubRepresentation
      *subrep, GF_MPD_Representation *rep, GF_MPD_AdaptationSet *set) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1801,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1814,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - mpd
    - period
    - timeline
    - timescale
    - nb_segments
    - max_seg_duration
    argTypes:
    - GF_MPD*
    - GF_MPD_Period*
    - GF_MPD_SegmentTimeline*
    - u32
    - u32*
    - Double*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1828
    functionName: gf_dash_get_timeline_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_get_timeline_duration(GF_MPD *mpd, GF_MPD_Period
      *period, GF_MPD_SegmentTimeline *timeline, u32 timescale, u32 *nb_segments,
      Double *max_seg_duration) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2423,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2443,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:2436,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2435,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2431,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2449,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2458,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2466,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2470,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:2471,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - live_edge_idx
    - l
    argTypes:
    - s32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 2476
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2476
    functionName: ls_hls_purge_segments
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_url_free
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: u32
    signature: 'static u32 ls_hls_purge_segments(s32 live_edge_idx, GF_List *l) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/media_tools/dash_client.c:3613,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:3616,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:3660,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:3612,1
    - Dst: gf_dash_group_get_template
      Src: /src/gpac/src/media_tools/dash_client.c:3652,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:3665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3674,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/media_tools/dash_client.c:3670,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:3613,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:3620,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:3621,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3652,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:3653,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:3666,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:3644,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:3639,1
    - Dst: gf_mpd_resolve_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:3637,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:3658,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dash_client.c:3669,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3671,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 72
    argCount: 15
    argNames:
    - mpd
    - rep
    - group
    - mpd_url
    - resolve_type
    - item_index
    - out_url
    - out_range_start
    - out_range_end
    - segment_duration
    - is_in_base_url
    - out_key_url
    - out_key_iv
    - data_url_process
    - out_start_number
    argTypes:
    - GF_MPD*
    - GF_MPD_Representation*
    - GF_DASH_Group*
    - char*
    - GF_MPD_URLResolveType
    - u32
    - char**
    - u64*
    - u64*
    - u64*
    - Bool*
    - char**
    - bin128*
    - Bool*
    - u32*
    constantsTouched: []
    func_position:
      end: 3679
      start: 3603
    functionDepth: 0
    functionLinenumber: 3603
    functionLinenumberEnd: 3679
    functionName: gf_dash_resolve_url
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_resolve_segment_duration
    - strlen
    - gf_malloc
    - gf_fileio_translate_url
    - strncmp
    - gf_list_find
    - gf_base64_decode
    - strcmp
    - sprintf
    - GF_LOG
    - gf_file_basename
    - gf_mpd_resolve_url
    - GF_SAFEALLOC
    - gf_dash_group_timeline_setup
    - gf_dash_group_get_template
    - strstr
    - gf_dash_mark_group_done
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_resolve_url(GF_MPD *mpd, GF_MPD_Representation
      *rep, GF_DASH_Group *group, const char *mpd_url, GF_MPD_URLResolveType resolve_type,
      u32 item_index, char **out_url, u64 *out_range_start, u64 *out_range_end, u64
      *segment_duration, Bool *is_in_base_url, char **out_key_url, bin128 *out_key_iv,
      Bool *data_url_process, u32 *out_start_number) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dash_client.c:5884,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/dash_client.c:5886,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/dash_client.c:5887,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/dash_client.c:5885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5889,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/dash_client.c:5889,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dash_client.c:5889,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/dash_client.c:5893,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/media_tools/dash_client.c:5899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5902,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5918,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/dash_client.c:5928,1
    - Dst: gf_dash_load_sidx
      Src: /src/gpac/src/media_tools/dash_client.c:5908,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:5916,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/dash_client.c:5929,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:5925,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:5914,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - bs
    - rep
    - separate_index
    - sidx_offset
    argTypes:
    - GF_BitStream*
    - GF_MPD_Representation*
    - Bool
    - u64
    constantsTouched: []
    func_position:
      end: 5932
      start: 5873
    functionDepth: 0
    functionLinenumber: 5873
    functionLinenumberEnd: 5932
    functionName: gf_dash_load_sidx
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dash_load_sidx
    - gf_bs_read_u32
    - gf_bs_get_position
    - gf_isom_box_parse
    - gf_isom_box_del
    - GF_LOG
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_load_sidx(GF_BitStream *bs, GF_MPD_Representation
      *rep, Bool separate_index, u64 sidx_offset) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8704,1
    - Dst: gf_dash_solve_period_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:8709,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8705,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - dash
    - seek_time
    argTypes:
    - GF_DashClient*
    - Double
    constantsTouched: []
    func_position:
      end: 8744
      start: 8689
    functionDepth: 0
    functionLinenumber: 8689
    functionLinenumberEnd: 8744
    functionName: gf_dash_seek_periods
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_dash_solve_period_xlink
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_dash_seek_periods(GF_DashClient *dash, Double seek_time) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9745,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9751,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9754,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9755,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9746,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9747,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9763,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9787,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9789,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9791,1
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:9740,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9743,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9761,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:9764,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:9776,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9785,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9788,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9749,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9753,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:9767,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 3
    argNames:
    - dash
    - group_idx
    - default_kid
    argTypes:
    - GF_DashClient*
    - u32
    - bin128*
    constantsTouched: []
    func_position:
      end: 9799
      start: 9735
    functionDepth: 0
    functionLinenumber: 9735
    functionLinenumberEnd: 9799
    functionName: gf_dash_group_get_clearkey_uri
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - memset
    - sscanf
    - gf_list_count
    - strcmp
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_dash_group_get_clearkey_uri(GF_DashClient *dash, u32
      group_idx, bin128 *default_kid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - dash
    - enable_switching
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 11083
      start: 11077
    functionDepth: 0
    functionLinenumber: 11077
    functionLinenumberEnd: 11083
    functionName: gf_dash_set_automatic_switching
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_automatic_switching(GF_DashClient *dash,
      Bool enable_switching) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3696,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3757,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3758,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3806,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3839,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3843,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:3883,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3910,1
    - Dst: ls_hls_purge_segments
      Src: /src/gpac/src/media_tools/dash_client.c:3951,1
    - Dst: GET_REP_ATTR
      Src: /src/gpac/src/media_tools/dash_client.c:3966,1
    - Dst: ls_hls_purge_segments
      Src: /src/gpac/src/media_tools/dash_client.c:3940,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3978,1
    - Dst: gf_dash_group_count_rep_needed
      Src: /src/gpac/src/media_tools/dash_client.c:3695,1
    - Dst: gf_dash_solve_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:3779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3802,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:3808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3834,1
    - Dst: gf_dash_solve_m3u8_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:3777,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3836,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3837,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3850,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3852,1
    - Dst: GET_REP_ATTR
      Src: /src/gpac/src/media_tools/dash_client.c:3965,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3727,1
    - Dst: gf_dash_group_count_rep_needed
      Src: /src/gpac/src/media_tools/dash_client.c:3753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3808,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3887,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:3916,1
    - Dst: m3u8_setup_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:3945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3981,1
    - Dst: gf_dash_get_timeline_entry
      Src: /src/gpac/src/media_tools/dash_client.c:4010,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3693,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3747,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:3806,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3882,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:3898,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:3910,1
    - Dst: GET_REP_ATTR
      Src: /src/gpac/src/media_tools/dash_client.c:3963,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3975,1
    - Dst: gf_dash_get_timeline_entry
      Src: /src/gpac/src/media_tools/dash_client.c:4002,1
    - Dst: GET_REP_ATTR
      Src: /src/gpac/src/media_tools/dash_client.c:3964,1
    - Dst: gf_dash_get_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:3985,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:3908,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 249
    argCount: 2
    argNames:
    - group
    - rep
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 4019
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 4019
    functionName: gf_dash_set_group_representation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_resolve_url
    - GET_REP_ATTR
    - gf_dash_get_timeline_entry
    - gf_list_get
    - gf_dash_get_segment_duration
    - gf_list_find
    - ls_hls_purge_segments
    - gf_error_to_string
    - gf_list_count
    - dash_strip_base_url
    - GF_LOG
    - gf_dash_solve_representation_xlink
    - gf_dash_solve_m3u8_representation_xlink
    - m3u8_setup_timeline
    - gf_dash_group_timeline_setup
    - gf_assert
    - gf_dash_group_count_rep_needed
    - gf_dash_mark_group_done
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_set_group_representation(GF_DASH_Group *group,
      GF_MPD_Representation *rep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5507,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - dash
    - idx
    - group_depending_on_dep_idx
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5512
      start: 5503
    functionDepth: 0
    functionLinenumber: 5503
    functionLinenumberEnd: 5512
    functionName: gf_dash_get_dependent_group_index
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_get_dependent_group_index(GF_DashClient *dash,
      u32 idx, u32 group_depending_on_dep_idx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dash_get_group_for_quality
      Src: /src/gpac/src/media_tools/dash_client.c:10951,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10955,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:10958,1
    - Dst: gf_dash_group_get_audio_channels
      Src: /src/gpac/src/media_tools/dash_client.c:10969,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 4
    argNames:
    - dash
    - idx
    - quality_idx
    - quality
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - GF_DASHQualityInfo*
    constantsTouched: []
    func_position:
      end: 11017
      start: 10946
    functionDepth: 0
    functionLinenumber: 10946
    functionLinenumberEnd: 11017
    functionName: gf_dash_group_get_quality_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_group_get_audio_channels
    - gf_list_get
    - dash_get_group_for_quality
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_get_quality_info(GF_DashClient *dash,
      u32 idx, u32 quality_idx, GF_DASHQualityInfo *quality) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11146,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11148,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 11153
      start: 11138
    functionDepth: 0
    functionLinenumber: 11138
    functionLinenumberEnd: 11153
    functionName: gf_dash_group_get_active_quality
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_group_get_active_quality(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:11351,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 7
    argNames:
    - a_group
    - par_group
    - min_x
    - max_x
    - min_y
    - max_y
    - is_gaze
    argTypes:
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 11358
      start: 11311
    functionDepth: 0
    functionLinenumber: 11311
    functionLinenumberEnd: 11358
    functionName: dash_check_group_visible
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void dash_check_group_visible(GF_DASH_Group *a_group, GF_DASH_Group
      *par_group, u32 min_x, u32 max_x, u32 min_y, u32 max_y, Bool is_gaze) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4031,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4062,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4037,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4057,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4063,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4078,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:4083,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:4084,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:4086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4094,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:4096,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 2
    argNames:
    - mpd
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 4098
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4098
    functionName: gf_dash_switch_group_representation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - gf_dash_set_group_representation
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_switch_group_representation(GF_DashClient *mpd,
      GF_DASH_Group *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 5522
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5522
    functionName: gf_dash_get_base_group_index
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_get_base_group_index(GF_DashClient *dash, u32
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - ms_in_timeshift
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 11161
      start: 11155
    functionDepth: 0
    functionLinenumber: 11155
    functionLinenumberEnd: 11161
    functionName: gf_dash_set_timeshift
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_timeshift(GF_DashClient *dash, u32 ms_in_timeshift) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: dash_get_fetch_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_net_get_utc
    linkageType: ''
    returnType: u64
    signature: 'static u64 dash_get_fetch_time(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:2002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - group
    - segment_duration
    argTypes:
    - GF_DASH_Group*
    - Double*
    constantsTouched: []
    func_position:
      end: 2008
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2008
    functionName: gf_dash_get_segment_start_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_segment_start_time_with_timescale
    linkageType: ''
    returnType: Double
    signature: 'static Double gf_dash_get_segment_start_time(GF_DASH_Group *group,
      Double *segment_duration) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_get_descriptor
      Src: /src/gpac/src/media_tools/dash_client.c:2481,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2498,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2486,1
    - Dst: gf_mpd_get_descriptor
      Src: /src/gpac/src/media_tools/dash_client.c:2483,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2493,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:2499,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/dash_client.c:2501,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2503,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2507,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2508,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2509,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - dash
    - scheme_id
    - chain_ptr
    - stack_state
    argTypes:
    - GF_DashClient*
    - char*
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 2513
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2513
    functionName: dash_check_chaining
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_mpd_get_descriptor
    - gf_list_count
    - gf_strdup
    - strcmp
    - GF_LOG
    - strchr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dash_check_chaining(GF_DashClient *dash, char *scheme_id,
      char **chain_ptr, u32 stack_state) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dash_download_group_download
      Src: /src/gpac/src/media_tools/dash_client.c:7848,1
    - Dst: dash_download_group
      Src: /src/gpac/src/media_tools/dash_client.c:7864,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7855,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - dash
    - group
    - base_group
    - has_dep_following
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - Bool
    constantsTouched: []
    func_position:
      end: 7875
      start: 7843
    functionDepth: 0
    functionLinenumber: 7843
    functionLinenumberEnd: 7875
    functionName: dash_download_group
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - dash_download_group
    - gf_list_count
    - gf_list_get
    - dash_download_group_download
    linkageType: ''
    returnType: DownloadGroupStatus
    signature: 'static DownloadGroupStatus dash_download_group(GF_DashClient *dash,
      GF_DASH_Group *group, GF_DASH_Group *base_group, Bool has_dep_following) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9186,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:9066,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_client.c:9155,1
    - Dst: gf_m3u8_to_mpd
      Src: /src/gpac/src/media_tools/dash_client.c:9106,1
    - Dst: gf_m3u8_to_mpd
      Src: /src/gpac/src/media_tools/dash_client.c:9101,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:9099,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:9196,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:9114,1
    - Dst: gf_mpd_split_adaptation_sets
      Src: /src/gpac/src/media_tools/dash_client.c:9160,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:9081,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:9112,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_client.c:9139,1
    - Dst: gf_dash_check_periods
      Src: /src/gpac/src/media_tools/dash_client.c:9192,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:8988,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:9015,1
    - Dst: gf_mpd_init_smooth_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:9153,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:9146,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:9012,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/media_tools/dash_client.c:9071,1
    - Dst: dash_purge_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:9163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9116,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:9110,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:8987,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9031,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/dash_client.c:9062,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:8974,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:9009,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:9012,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:9090,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:9197,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/dash_client.c:8980,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:9050,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:9074,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9183,1
    - Dst: gf_mpd_split_adaptation_sets
      Src: /src/gpac/src/media_tools/dash_client.c:9121,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9177,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:9198,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9176,1
    - Dst: strlwr
      Src: /src/gpac/src/media_tools/dash_client.c:9025,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:9030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9037,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9074,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:9155,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:8990,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:9017,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:9055,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9111,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:9212,1
    - Dst: gf_mpd_write
      Src: /src/gpac/src/media_tools/dash_client.c:9115,1
    - Dst: gf_dash_check_mpd_root_type
      Src: /src/gpac/src/media_tools/dash_client.c:9124,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/media_tools/dash_client.c:9114,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:9006,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/dash_client.c:9083,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/dash_client.c:9097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9129,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:9183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9017,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:9047,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9145,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_client.c:9153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:9032,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:9168,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/dash_client.c:9096,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:9048,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:9052,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/dash_client.c:9086,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_client.c:9138,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:9157,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/media_tools/dash_client.c:9145,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/dash_client.c:9024,1
    - Dst: dash_get_fetch_time
      Src: /src/gpac/src/media_tools/dash_client.c:9064,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:9069,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:9199,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 223
    argCount: 2
    argNames:
    - dash
    - manifest_url
    argTypes:
    - GF_DashClient*
    - char*
    constantsTouched: []
    func_position:
      end: 9215
      start: 8961
    functionDepth: 0
    functionLinenumber: 8961
    functionLinenumberEnd: 9215
    functionName: gf_dash_open
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_new
    - memset
    - strncmp
    - GF_LOG
    - dash_get_fetch_time
    - gf_m3u8_to_mpd
    - strlwr
    - strstr
    - gf_file_ext_start
    - dash_purge_xlink
    - gf_dash_download_resource
    - gf_xml_dom_del
    - gf_dash_reset_groups
    - gf_mpd_del
    - gf_error_to_string
    - gf_strdup
    - gf_xml_dom_new
    - strcmp
    - gf_xml_dom_get_root
    - gf_mpd_split_adaptation_sets
    - gf_mpd_write
    - gf_file_basename
    - strcpy
    - gf_list_new
    - gf_fopen
    - gf_mpd_init_smooth_from_dom
    - gf_dash_check_mpd_root_type
    - gf_xml_dom_parse
    - gf_mpd_init_from_dom
    - gf_fread
    - strnicmp
    - gf_free
    - gf_xml_dom_create_attribute
    - gf_xml_dom_get_error
    - strcat
    - strrchr
    - gf_log_tool_level_on
    - gf_fclose
    - dash_check_chaining
    - gf_dash_check_periods
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_open(GF_DashClient *dash, const char *manifest_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_get_duration
      Src: /src/gpac/src/media_tools/dash_client.c:9651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9652
      start: 9648
    functionDepth: 0
    functionLinenumber: 9648
    functionLinenumberEnd: 9652
    functionName: gf_dash_get_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_get_duration
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_dash_get_duration(GF_DashClient *dash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9824
      start: 9817
    functionDepth: 0
    functionLinenumber: 9817
    functionLinenumberEnd: 9824
    functionName: gf_dash_get_period_id
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_get_period_id(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10752
      start: 10746
    functionDepth: 0
    functionLinenumber: 10746
    functionLinenumberEnd: 10752
    functionName: gf_dash_group_get_language
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_group_get_language(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:534,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:538,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - group
    argTypes:
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 551
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 551
    functionName: gf_dash_group_count_rep_needed
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_group_count_rep_needed(GF_DASH_Group *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_segment_start_time
      Src: /src/gpac/src/media_tools/dash_client.c:2013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - mpd
    - group
    - segment_index
    - seg_dur_ms
    argTypes:
    - GF_MPD*
    - GF_DASH_Group*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2021
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2021
    functionName: gf_dash_get_segment_availability_start_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_segment_start_time
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_dash_get_segment_availability_start_time(GF_MPD *mpd,
      GF_DASH_Group *group, u32 segment_index, u32 *seg_dur_ms) '
  - BBCount: 175
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_exists
      Src: /src/gpac/src/media_tools/dash_client.c:2555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2621,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/dash_client.c:2625,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2649,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2673,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2779,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:2782,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2936,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2966,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:3138,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3386,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:3451,1
    - Dst: ls_hls_purge_segments
      Src: /src/gpac/src/media_tools/dash_client.c:3298,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3462,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/media_tools/dash_client.c:3055,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3309,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3447,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2974,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2747,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/dash_client.c:2588,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2571,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2717,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2864,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:2897,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3146,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3242,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3124,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:3169,1
    - Dst: gf_mpd_representation_new
      Src: /src/gpac/src/media_tools/dash_client.c:2976,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3358,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2801,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2975,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3285,1
    - Dst: gf_dash_get_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:3505,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:3543,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/media_tools/dash_client.c:3406,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3437,1
    - Dst: gf_dash_purge_segment_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:3467,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:3410,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:3231,1
    - Dst: gf_dash_solve_m3u8_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:3001,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:3388,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3355,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3253,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3262,1
    - Dst: gf_mpd_split_adaptation_sets
      Src: /src/gpac/src/media_tools/dash_client.c:2724,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:2714,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:2705,1
    - Dst: gf_mpd_init_smooth_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:2711,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2582,1
    - Dst: gf_sha1_file
      Src: /src/gpac/src/media_tools/dash_client.c:2668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2775,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:2792,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2800,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2820,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:3452,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3369,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2636,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2842,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2858,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2879,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3040,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3219,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3260,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:3424,1
    - Dst: gf_list_swap
      Src: /src/gpac/src/media_tools/dash_client.c:3289,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3111,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2902,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3261,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:3476,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3333,1
    - Dst: gf_dash_merge_segment_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:3373,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:2683,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:2599,1
    - Dst: gf_dash_check_mpd_root_type
      Src: /src/gpac/src/media_tools/dash_client.c:2659,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2770,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2826,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2889,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2957,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2910,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:2978,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3442,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:3450,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3553,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:3246,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:3274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2561,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2601,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2613,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2732,1
    - Dst: gf_dash_solve_period_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:2756,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2778,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2888,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2912,1
    - Dst: gf_dash_solve_representation_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:3003,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:3064,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3302,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3521,1
    - Dst: gf_dash_merge_segment_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:2856,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:3252,1
    - Dst: gf_dash_merge_segment_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:3422,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:3453,1
    - Dst: dash_get_fetch_time
      Src: /src/gpac/src/media_tools/dash_client.c:2537,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:2569,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2613,1
    - Dst: gf_m3u8_to_mpd
      Src: /src/gpac/src/media_tools/dash_client.c:2634,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2636,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2814,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:2815,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2896,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2902,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2904,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:3205,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3109,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:3375,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2980,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3505,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3241,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3202,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3428,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:3542,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2590,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_client.c:2702,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/media_tools/dash_client.c:2709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2716,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2830,1
    - Dst: gf_dash_get_segment_start_time
      Src: /src/gpac/src/media_tools/dash_client.c:2845,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2867,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:2977,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3030,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3144,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3243,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3441,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:3545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2664,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2586,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/media_tools/dash_client.c:2578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2595,1
    - Dst: gf_dash_is_m3u8_mime
      Src: /src/gpac/src/media_tools/dash_client.c:2632,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2730,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2738,1
    - Dst: dash_purge_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:2721,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2676,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2780,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2789,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:3483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2829,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3492,1
    - Dst: dash_check_chaining
      Src: /src/gpac/src/media_tools/dash_client.c:3544,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:3526,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2570,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2610,1
    - Dst: strlwr
      Src: /src/gpac/src/media_tools/dash_client.c:2626,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2739,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2828,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3112,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3198,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3322,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3407,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3462,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2716,1
    - Dst: dash_get_fetch_time
      Src: /src/gpac/src/media_tools/dash_client.c:2655,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_client.c:2713,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:2825,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2934,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2937,1
    - Dst: fprintf
      Src: /src/gpac/src/media_tools/dash_client.c:3259,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3383,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3387,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2886,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3469,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3160,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:3537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2996,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3245,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:3359,1
    - Dst: dash_get_fetch_time
      Src: /src/gpac/src/media_tools/dash_client.c:2546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2538,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:2632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2706,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:2647,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/media_tools/dash_client.c:2711,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2769,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:2786,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2813,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2925,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3556,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:3211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3063,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3429,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/media_tools/dash_client.c:2633,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2637,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2554,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2610,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_client.c:2703,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:2821,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2828,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2834,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3145,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3448,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3092,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:3213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3043,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3446,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2736,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2566,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2587,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:2713,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2737,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2669,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2883,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2903,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2922,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:3216,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:3296,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3554,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:3269,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:3275,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3311,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:3382,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:3353,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:2696,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:2693,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:2706,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2774,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2776,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2843,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:3043,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3085,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/dash_client.c:3244,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3516,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:2982,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/media_tools/dash_client.c:3137,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:3524,1
    CyclomaticComplexity: 337
    EdgeCount: 337
    ICount: 914
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 3562
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 3562
    functionName: gf_dash_update_manifest
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_new
    - GF_LOG
    - gf_mpd_representation_new
    - gf_dash_solve_representation_xlink
    - dash_get_fetch_time
    - gf_m3u8_to_mpd
    - strlwr
    - GF_SAFEALLOC
    - gf_dash_group_timeline_setup
    - strstr
    - gf_dash_merge_segment_timeline
    - dash_purge_xlink
    - gf_list_pop_back
    - gf_dash_download_resource
    - gf_xml_dom_del
    - gf_dash_get_segment_duration
    - gf_list_find
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_sha1_file
    - gf_mpd_split_adaptation_sets
    - gf_list_pop_front
    - gf_mpd_segment_url_free
    - gf_file_delete
    - gf_dash_solve_m3u8_representation_xlink
    - gf_file_basename
    - gf_mpd_representation_free
    - strcpy
    - gf_list_new
    - gf_assert
    - gf_mpd_init_smooth_from_dom
    - gf_list_insert
    - gf_dash_check_mpd_root_type
    - gf_list_get
    - gf_dash_purge_segment_timeline
    - gf_xml_dom_parse
    - gf_mpd_init_from_dom
    - ls_hls_purge_segments
    - memcmp
    - gf_dash_get_segment_start_time
    - fprintf
    - gf_sys_clock
    - memcpy
    - gf_list_swap
    - gf_free
    - gf_url_concatenate
    - gf_dash_solve_period_xlink
    - gf_list_rem
    - gf_dash_is_m3u8_mime
    - gf_xml_dom_get_root
    - dash_check_chaining
    - gf_dash_mark_group_done
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_update_manifest(GF_DashClient *dash) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:9220,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:9234,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9238,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9242,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:9248,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/media_tools/dash_client.c:9252,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:9256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9262
      start: 9217
    functionDepth: 0
    functionLinenumber: 9217
    functionLinenumberEnd: 9262
    functionName: gf_dash_close
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_reset_groups
    - gf_mpd_del
    - gf_mpd_representation_free
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_close(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9660
      start: 9654
    functionDepth: 0
    functionLinenumber: 9654
    functionLinenumberEnd: 9660
    functionName: gf_dash_group_get_time_shift_buffer_depth
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_group_get_time_shift_buffer_depth(GF_DashClient
      *dash, u32 idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9846,1
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/media_tools/dash_client.c:9845,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - dash
    - idx
    - select
    argTypes:
    - GF_DashClient*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 9858
      start: 9826
    functionDepth: 0
    functionLinenumber: 9826
    functionLinenumberEnd: 9858
    functionName: gf_dash_group_select
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_get_group_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_group_select(GF_DashClient *dash, u32 idx,
      Bool select) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - dash
    - width
    - height
    - max_display_bpp
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 10659
      start: 10649
    functionDepth: 0
    functionLinenumber: 10649
    functionLinenumberEnd: 10659
    functionName: gf_dash_set_max_resolution
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_max_resolution(GF_DashClient *dash, u32
      width, u32 height, u8 max_display_bpp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10759,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:10768,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10762,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10763,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/dash_client.c:10767,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:10769,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:10771,1
    - Dst: gf_audio_fmt_get_num_channels_from_layout
      Src: /src/gpac/src/media_tools/dash_client.c:10772,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/media_tools/dash_client.c:10772,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:10772,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10776
      start: 10754
    functionDepth: 0
    functionLinenumber: 10754
    functionLinenumberEnd: 10776
    functionName: gf_dash_group_get_audio_channels
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - strcmp
    - atoi
    - gf_audio_fmt_get_num_channels_from_layout
    - gf_audio_fmt_get_layout_from_cicp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_group_get_audio_channels(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11363,1
    - Dst: dash_check_group_visible
      Src: /src/gpac/src/media_tools/dash_client.c:11376,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11375,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:11380,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11383,1
    - Dst: dash_check_group_visible
      Src: /src/gpac/src/media_tools/dash_client.c:11384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 7
    argNames:
    - dash
    - idx
    - min_x
    - max_x
    - min_y
    - max_y
    - is_gaze
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 11387
      start: 11359
    functionDepth: 0
    functionLinenumber: 11359
    functionLinenumberEnd: 11387
    functionName: gf_dash_group_set_visible_rect
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - dash_check_group_visible
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_set_visible_rect(GF_DashClient *dash,
      u32 idx, u32 min_x, u32 max_x, u32 min_y, u32 max_y, Bool is_gaze) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11507,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11515
      start: 11504
    functionDepth: 0
    functionLinenumber: 11504
    functionLinenumberEnd: 11515
    functionName: gf_dash_all_groups_done
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_all_groups_done(GF_DashClient *dash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:11496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11502
      start: 11493
    functionDepth: 0
    functionLinenumber: 11493
    functionLinenumberEnd: 11502
    functionName: gf_dash_get_min_wait_ms
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dash_get_min_wait_ms(GF_DashClient *dash) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_setup_period
      Src: /src/gpac/src/media_tools/dash_client.c:8170,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8189,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8191,1
    - Dst: gf_dash_download_init_segment
      Src: /src/gpac/src/media_tools/dash_client.c:8197,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8202,1
    - Dst: dash_setup_period_and_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8206,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8230,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8238,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8235,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8249,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 8260
      start: 8162
    functionDepth: 0
    functionLinenumber: 8162
    functionLinenumberEnd: 8260
    functionName: dash_setup_period_and_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_reset_groups
    - gf_dash_download_init_segment
    - dash_setup_period_and_groups
    - gf_list_count
    - gf_dash_setup_period
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dash_setup_period_and_groups(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - getter
    argTypes:
    - GF_FileDownload*
    constantsTouched: []
    func_position:
      end: 8952
      start: 8947
    functionDepth: 0
    functionLinenumber: 8947
    functionLinenumberEnd: 8952
    functionName: http_ifce_cache_name
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *http_ifce_cache_name(GF_FileDownload *getter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8264,1
    - Dst: gf_dash_group_reset
      Src: /src/gpac/src/media_tools/dash_client.c:8275,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8270,1
    - Dst: dash_download_group
      Src: /src/gpac/src/media_tools/dash_client.c:8287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 8293
      start: 8262
    functionDepth: 0
    functionLinenumber: 8262
    functionLinenumberEnd: 8293
    functionName: dash_do_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_dash_group_reset
    - dash_download_group
    linkageType: ''
    returnType: void
    signature: 'static void dash_do_groups(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - getter
    argTypes:
    - GF_FileDownload*
    constantsTouched: []
    func_position:
      end: 8959
      start: 8954
    functionDepth: 0
    functionLinenumber: 8954
    functionLinenumberEnd: 8959
    functionName: http_ifce_get_status
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err http_ifce_get_status(GF_FileDownload *getter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9987
      start: 9983
    functionDepth: 0
    functionLinenumber: 9983
    functionLinenumberEnd: 9987
    functionName: gf_dash_in_period_setup
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_in_period_setup(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10204
      start: 10198
    functionDepth: 0
    functionLinenumber: 10198
    functionLinenumberEnd: 10204
    functionName: gf_dash_get_group_done
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_get_group_done(GF_DashClient *dash, u32 idx) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10805,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:10862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10816,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10814,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10868,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:10875,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_client.c:10877,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10879,1
    - Dst: isdigit
      Src: /src/gpac/src/media_tools/dash_client.c:10882,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/dash_client.c:10897,1
    - Dst: snprintf
      Src: /src/gpac/src/media_tools/dash_client.c:10910,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_client.c:10911,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_client.c:10913,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/dash_client.c:10915,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10898,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:10896,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 130
    argCount: 5
    argNames:
    - dash
    - idx
    - segment_timeline_timescale
    - init_url
    - hls_variant
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 10922
      start: 10802
    functionDepth: 0
    functionLinenumber: 10802
    functionLinenumberEnd: 10922
    functionName: gf_dash_group_get_template
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - snprintf
    - isdigit
    - strrchr
    - gf_mpd_resolve_url
    - atoi
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_dash_group_get_template(GF_DashClient *dash, u32
      idx, u32 *segment_timeline_timescale, const char **init_url, const char **hls_variant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp_diff_ms
      Src: /src/gpac/src/media_tools/dash_client.c:11207,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/media_tools/dash_client.c:11209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:11209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dash
    - server_ntp
    argTypes:
    - GF_DashClient*
    - u64
    constantsTouched: []
    func_position:
      end: 11214
      start: 11203
    functionDepth: 0
    functionLinenumber: 11203
    functionLinenumberEnd: 11214
    functionName: gf_dash_override_ntp
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp_diff_ms
    - GF_LOG
    - gf_net_get_ntp_ts
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_override_ntp(GF_DashClient *dash, u64 server_ntp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11225
      start: 11221
    functionDepth: 0
    functionLinenumber: 11221
    functionLinenumberEnd: 11225
    functionName: gf_dash_get_tile_adaptation_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_DASHTileAdaptationMode gf_dash_get_tile_adaptation_mode(GF_DashClient
      *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - disable_tiles
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 11243
      start: 11239
    functionDepth: 0
    functionLinenumber: 11239
    functionLinenumberEnd: 11243
    functionName: gf_dash_disable_low_quality_tiles
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_disable_low_quality_tiles(GF_DashClient *dash,
      Bool disable_tiles) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - query_string
    argTypes:
    - GF_DashClient*
    - char*
    constantsTouched: []
    func_position:
      end: 11521
      start: 11517
    functionDepth: 0
    functionLinenumber: 11517
    functionLinenumberEnd: 11521
    functionName: gf_dash_set_period_xlink_query_string
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_period_xlink_query_string(GF_DashClient
      *dash, const char *query_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - group
    - seg_dur
    - ssr_parts
    argTypes:
    - GF_DASH_Group*
    - Double
    - u32
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: dash_ssr_adjust_group_start
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dash_ssr_adjust_group_start(GF_DASH_Group *group, Double
      seg_dur, u32 ssr_parts) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8480,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8488,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:8511,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:8514,1
    - Dst: gf_dash_check_periods
      Src: /src/gpac/src/media_tools/dash_client.c:8521,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8485,1
    - Dst: gf_dash_open
      Src: /src/gpac/src/media_tools/dash_client.c:8504,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:8508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8511,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:8574,1
    - Dst: gf_dash_seek_periods
      Src: /src/gpac/src/media_tools/dash_client.c:8581,1
    - Dst: dash_check_mpd_update_and_cache
      Src: /src/gpac/src/media_tools/dash_client.c:8585,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8478,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8486,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:8515,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8548,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8570,1
    - Dst: dash_do_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8598,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:8490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8508,1
    - Dst: gf_dash_open
      Src: /src/gpac/src/media_tools/dash_client.c:8509,1
    - Dst: gf_dash_update_manifest
      Src: /src/gpac/src/media_tools/dash_client.c:8529,1
    - Dst: dash_setup_period_and_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8537,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8572,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 91
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 8604
      start: 8469
    functionDepth: 0
    functionLinenumber: 8469
    functionLinenumberEnd: 8604
    functionName: gf_dash_process_internal
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_reset_groups
    - gf_dash_open
    - gf_error_to_string
    - gf_list_count
    - gf_dash_update_manifest
    - GF_LOG
    - dash_setup_period_and_groups
    - gf_dash_set_group_representation
    - dash_do_groups
    - gf_sys_clock
    - gf_dash_seek_periods
    - gf_free
    - dash_check_mpd_update_and_cache
    - gf_dash_check_periods
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_process_internal(GF_DashClient *dash) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9997,1
    - Dst: gf_dash_get_max_available_speed
      Src: /src/gpac/src/media_tools/dash_client.c:10006,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9998,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10002,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:10009,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10016,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10017,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:10018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10025,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10030,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:10032,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - dash
    - speed
    argTypes:
    - GF_DashClient*
    - Double
    constantsTouched: []
    func_position:
      end: 10035
      start: 9989
    functionDepth: 0
    functionLinenumber: 9989
    functionLinenumberEnd: 10035
    functionName: gf_dash_set_speed
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - ABS
    - gf_dash_get_max_available_speed
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_speed(GF_DashClient *dash, Double speed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10212,1
    - Dst: gf_mpd_resolve_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:10213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - dash
    - idx
    - presentation_time_offset
    - timescale
    argTypes:
    - GF_DashClient*
    - u32
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 10217
      start: 10206
    functionDepth: 0
    functionLinenumber: 10206
    functionLinenumberEnd: 10217
    functionName: gf_dash_group_get_presentation_time_offset
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_resolve_segment_duration
    - gf_dash_get_active_group
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_get_presentation_time_offset(GF_DashClient
      *dash, u32 idx, u64 *presentation_time_offset, u32 *timescale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10926,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10934,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10927,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10935,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10931,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - dash
    - idx
    - quality_idx
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 10944
      start: 10924
    functionDepth: 0
    functionLinenumber: 10924
    functionLinenumberEnd: 10944
    functionName: dash_get_group_for_quality
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_DASH_Group*
    signature: 'static GF_DASH_Group *dash_get_group_for_quality(GF_DashClient *dash,
      u32 idx, u32 *quality_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11219
      start: 11216
    functionDepth: 0
    functionLinenumber: 11216
    functionLinenumberEnd: 11219
    functionName: gf_dash_get_utc_drift_estimate
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_get_utc_drift_estimate(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11233,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11234,1
    - Dst: gf_dash_set_tiles_quality
      Src: /src/gpac/src/media_tools/dash_client.c:11235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - dash
    - mode
    - tile_rate_decrease
    argTypes:
    - GF_DashClient*
    - GF_DASHTileAdaptationMode
    - u32
    constantsTouched: []
    func_position:
      end: 11237
      start: 11227
    functionDepth: 0
    functionLinenumber: 11227
    functionLinenumberEnd: 11237
    functionName: gf_dash_set_tile_adaptation_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_set_tiles_quality
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_tile_adaptation_mode(GF_DashClient *dash,
      GF_DASHTileAdaptationMode mode, u32 tile_rate_decrease) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - chaining_mode
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 11249
      start: 11245
    functionDepth: 0
    functionLinenumber: 11245
    functionLinenumberEnd: 11249
    functionName: gf_dash_set_chaining_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_chaining_mode(GF_DashClient *dash, u32
      chaining_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - group_idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 11529
      start: 11523
    functionDepth: 0
    functionLinenumber: 11523
    functionLinenumberEnd: 11529
    functionName: gf_dash_group_get_as_id
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_group_get_as_id(GF_DashClient *dash, u32 group_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_root_type
      Src: /src/gpac/src/media_tools/dash_client.c:557,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:560,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:566,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:560,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - local_url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: gf_dash_check_mpd_root_type
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_xml_get_root_type
    - strcmp
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_check_mpd_root_type(const char *local_url) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/media_tools/dash_client.c:5102,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:5103,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:5109,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:5143,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5143,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5144,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5148,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5176,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5184,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5200,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:5261,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5316,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5220,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5284,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5257,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:5310,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:5240,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5101,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:5106,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5109,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:5123,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5144,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5152,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5179,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5181,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5185,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5191,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5268,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:5260,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5215,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5318,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5093,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/media_tools/dash_client.c:5103,1
    - Dst: gf_dash_get_fileio_url
      Src: /src/gpac/src/media_tools/dash_client.c:5136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5123,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:5121,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:5131,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5145,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5148,1
    - Dst: gf_file_exists_ex
      Src: /src/gpac/src/media_tools/dash_client.c:5149,1
    - Dst: gf_dash_download_init_segment
      Src: /src/gpac/src/media_tools/dash_client.c:5153,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5283,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:5207,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:5233,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5288,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:5291,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5209,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5280,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5189,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5090,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5091,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5143,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5132,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:5145,1
    - Dst: gf_mpd_get_base_url_count
      Src: /src/gpac/src/media_tools/dash_client.c:5150,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:5166,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5203,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:5215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:5244,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:5275,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5312,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:5318,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5159,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:5192,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:5274,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5295,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 237
    argCount: 2
    argNames:
    - dash
    - group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 5324
      start: 5072
    functionDepth: 0
    functionLinenumber: 5072
    functionLinenumberEnd: 5324
    functionName: gf_dash_download_init_segment
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_LOG
    - strstr
    - gf_file_exists_ex
    - gf_dash_download_resource
    - gf_fileio_from_url
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_file_basename
    - gf_assert
    - gf_mpd_get_base_url_count
    - gf_list_get
    - gf_sys_clock
    - memcpy
    - gf_free
    - strnicmp
    - gf_dash_get_fileio_url
    - gf_dash_download_init_segment
    - dash_strip_base_url
    - gf_fileio_resource_url
    - gf_dash_resolve_url
    - gf_dash_mark_group_done
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_download_init_segment(GF_DashClient *dash, GF_DASH_Group
      *group) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - dash
    - algo
    argTypes:
    - GF_DashClient*
    - GF_DASHAdaptationAlgorithm
    constantsTouched: []
    func_position:
      end: 9293
      start: 9264
    functionDepth: 0
    functionLinenumber: 9264
    functionLinenumberEnd: 9293
    functionName: gf_dash_set_algo
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_algo(GF_DashClient *dash, GF_DASHAdaptationAlgorithm
      algo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10441
      start: 10434
    functionDepth: 0
    functionLinenumber: 10434
    functionLinenumberEnd: 10441
    functionName: gf_dash_group_loop_detected
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_group_loop_detected(GF_DashClient *dash, u32
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10469
      start: 10464
    functionDepth: 0
    functionLinenumber: 10464
    functionLinenumberEnd: 10469
    functionName: gf_dash_is_low_latency
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dash_is_low_latency(GF_DashClient *dash, u32 idx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:584,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:626,1
    - Dst: gf_mpd_parse_date
      Src: /src/gpac/src/media_tools/dash_client.c:627,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:616,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/media_tools/dash_client.c:639,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:585,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/dash_client.c:619,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:632,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/dash_client.c:614,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:629,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/media_tools/dash_client.c:630,1
    - Dst: sscanf
      Src: /src/gpac/src/media_tools/dash_client.c:634,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/dash_client.c:646,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 4
    argNames:
    - dash
    - scheme_id
    - url
    - utc
    argTypes:
    - GF_DashClient*
    - char*
    - char*
    - u64*
    constantsTouched: []
    func_position:
      end: 651
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 651
    functionName: gf_dash_get_date
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_net_ntp_to_utc
    - sscanf
    - gf_mpd_parse_date
    - strcmp
    - gf_blob_get
    - gf_net_parse_date
    - gf_blob_release
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_get_date(GF_DashClient *dash, char *scheme_id,
      char *url, u64 *utc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:5332,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:5366,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5334,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5370,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:5373,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:5374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - group
    - rep
    - for_autoswitch
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 5375
      start: 5327
    functionDepth: 0
    functionLinenumber: 5327
    functionLinenumberEnd: 5375
    functionName: gf_dash_skip_disabled_representation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_dash_set_group_representation
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_skip_disabled_representation(GF_DASH_Group *group,
      GF_MPD_Representation *rep, Bool for_autoswitch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 9
    argNames:
    - dash
    - group
    - base_group
    - dl_rate
    - speed
    - max_available_speed
    - force_lower_complexity
    - rep
    - go_up_bitrate
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - Double
    - Double
    - Bool
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 9318
      start: 9295
    functionDepth: 0
    functionLinenumber: 9295
    functionLinenumberEnd: 9318
    functionName: dash_do_rate_adaptation_custom
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: "static s32 dash_do_rate_adaptation_custom(GF_DashClient *dash, GF_DASH_Group
      *group, GF_DASH_Group *base_group,\t\t \t \t \t \t \t \t \t \t u32 dl_rate,
      Double speed, Double max_available_speed, Bool force_lower_complexity,\t\t\t\t\t\t\t\t\t\t
      \t GF_MPD_Representation *rep, Bool go_up_bitrate) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10449
      start: 10443
    functionDepth: 0
    functionLinenumber: 10443
    functionLinenumberEnd: 10449
    functionName: gf_dash_group_get_start_range
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_dash_group_get_start_range(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10473
      start: 10470
    functionDepth: 0
    functionLinenumber: 10470
    functionLinenumberEnd: 10473
    functionName: gf_dash_get_max_segment_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dash_get_max_segment_duration(GF_DashClient *dash) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/media_tools/dash_client.c:7901,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7933,1
    - Dst: gf_dash_get_tiles_quality_rank
      Src: /src/gpac/src/media_tools/dash_client.c:7977,1
    - Dst: gf_dash_get_tiles_quality_rank
      Src: /src/gpac/src/media_tools/dash_client.c:8029,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7990,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8033,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8122,1
    - Dst: dash_do_rate_adaptation
      Src: /src/gpac/src/media_tools/dash_client.c:8137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7982,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8043,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8043,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8045,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8103,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:8130,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7888,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7899,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7929,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7935,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7999,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8025,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8036,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8083,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8105,1
    - Dst: gf_dash_get_tiles_quality_rank
      Src: /src/gpac/src/media_tools/dash_client.c:8128,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7900,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7907,1
    - Dst: gf_dash_set_tiles_quality
      Src: /src/gpac/src/media_tools/dash_client.c:7922,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:7929,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8038,1
    - Dst: dash_do_rate_adaptation
      Src: /src/gpac/src/media_tools/dash_client.c:8140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8147,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 261
    argCount: 2
    argNames:
    - dash
    - for_postponed_only
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 8157
      start: 7878
    functionDepth: 0
    functionLinenumber: 7878
    functionLinenumberEnd: 8157
    functionName: dash_global_rate_adaptation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - dash_do_rate_adaptation
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_dash_set_tiles_quality
    - gf_dash_get_tiles_quality_rank
    - gf_assert
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void dash_global_rate_adaptation(GF_DashClient *dash, Bool
      for_postponed_only) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:1597,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:1601,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:1597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1605
    functionName: gf_dash_is_m3u8_mime
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - stricmp
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_dash_is_m3u8_mime(const char *url, const char * mime) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5941,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:5950,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/dash_client.c:5948,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/dash_client.c:5947,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/dash_client.c:5944,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/media_tools/dash_client.c:5952,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/dash_client.c:5955,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/dash_client.c:5956,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/media_tools/dash_client.c:5957,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/media_tools/dash_client.c:5959,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dash_client.c:5964,1
    - Dst: gf_dash_load_sidx
      Src: /src/gpac/src/media_tools/dash_client.c:5969,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dash_client.c:5969,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:5962,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/media_tools/dash_client.c:5968,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/media_tools/dash_client.c:5968,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/dash_client.c:5974,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/dash_client.c:5975,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - group
    - rep
    - cache_name
    - separate_index
    - needs_mov_range
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 5977
      start: 5934
    functionDepth: 0
    functionLinenumber: 5934
    functionLinenumberEnd: 5977
    functionName: gf_dash_load_representation_sidx
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_load_sidx
    - gf_bs_read_u32
    - gf_bs_from_file
    - gf_bs_del
    - strncmp
    - gf_bs_get_position
    - gf_fclose
    - gf_bs_new
    - gf_bs_seek
    - gf_bs_available
    - gf_blob_get
    - GF_SAFEALLOC
    - gf_blob_release
    - gf_bs_skip_bytes
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_load_representation_sidx(GF_DASH_Group *group,
      GF_MPD_Representation *rep, const char *cache_name, Bool separate_index, Bool
      needs_mov_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9464
      start: 9458
    functionDepth: 0
    functionLinenumber: 9458
    functionLinenumberEnd: 9464
    functionName: gf_dash_get_group_udta
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_dash_get_group_udta(GF_DashClient *dash, u32 idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - min_timeout_between_404
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10424
      start: 10418
    functionDepth: 0
    functionLinenumber: 10418
    functionLinenumberEnd: 10424
    functionName: gf_dash_set_min_timeout_between_404
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_min_timeout_between_404(GF_DashClient
      *dash, u32 min_timeout_between_404) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:1611,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/dash_client.c:1621,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 6
    argNames:
    - dash
    - group_idx
    - bits_per_sec
    - total_bytes
    - bytes_done
    - us_since_start
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1640
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1640
    functionName: gf_dash_group_check_bandwidth
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_check_bandwidth(GF_DashClient *dash,
      u32 group_idx, u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:5982,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/dash_client.c:5993,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/dash_client.c:5989,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/dash_client.c:5994,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/dash_client.c:5986,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/dash_client.c:5995,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:5998,1
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/dash_client.c:6000,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/dash_client.c:6002,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/dash_client.c:6003,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/dash_client.c:6008,1
    - Dst: GF_4CC
      Src: /src/gpac/src/media_tools/dash_client.c:6005,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/dash_client.c:6004,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - cache_name
    - offset
    - box_type
    - box_size
    argTypes:
    - char*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 6011
      start: 5979
    functionDepth: 0
    functionLinenumber: 5979
    functionLinenumberEnd: 6011
    functionName: dash_load_box_type
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - GF_4CC
    - strncmp
    - gf_fread
    - gf_fclose
    - gf_blob_get
    - gf_blob_release
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dash_load_box_type(const char *cache_name, u32 offset,
      u32 *box_type, u32 *box_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - dash
    - idx
    - udta
    argTypes:
    - GF_DashClient*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 9473
      start: 9466
    functionDepth: 0
    functionLinenumber: 9466
    functionLinenumberEnd: 9473
    functionName: gf_dash_set_group_udta
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_group_udta(GF_DashClient *dash, u32 idx,
      void *udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - expire_after_ms
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10432
      start: 10426
    functionDepth: 0
    functionLinenumber: 10426
    functionLinenumberEnd: 10432
    functionName: gf_dash_set_segment_expiration_threshold
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_set_segment_expiration_threshold(GF_DashClient
      *dash, u32 expire_after_ms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9346,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/dash_client.c:9379,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:9350,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:9360,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9376,1
    - Dst: on_group_download_error
      Src: /src/gpac/src/media_tools/dash_client.c:9380,1
    - Dst: gf_dash_is_running
      Src: /src/gpac/src/media_tools/dash_client.c:9381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 7
    argNames:
    - dash_io
    - max_cache_duration
    - auto_switch_count
    - keep_files
    - disable_switching
    - first_select_mode
    - initial_time_shift_percent
    argTypes:
    - GF_DASHFileIO*
    - u32
    - s32
    - Bool
    - Bool
    - GF_DASHInitialSelectionMode
    - u32
    constantsTouched: []
    func_position:
      end: 9386
      start: 9341
    functionDepth: 0
    functionLinenumber: 9341
    functionLinenumberEnd: 9386
    functionName: gf_dash_new
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_strdup
    - GF_LOG
    - on_group_download_error
    - GF_SAFEALLOC
    - gf_dash_is_running
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DashClient *gf_dash_new(GF_DASHFileIO *dash_io, u32 max_cache_duration,
      s32 auto_switch_count, Bool keep_files, Bool disable_switching, GF_DASHInitialSelectionMode
      first_select_mode, u32 initial_time_shift_percent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - enable
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9423
      start: 9419
    functionDepth: 0
    functionLinenumber: 9419
    functionLinenumberEnd: 9423
    functionName: gf_dash_enable_single_range_llhls
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_enable_single_range_llhls(GF_DashClient *dash,
      Bool enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10171,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10174,1
    - Dst: gf_dash_group_discard_segment_internal
      Src: /src/gpac/src/media_tools/dash_client.c:10177,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10176,1
    - Dst: gf_dash_group_discard_segment_internal
      Src: /src/gpac/src/media_tools/dash_client.c:10172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10180
      start: 10166
    functionDepth: 0
    functionLinenumber: 10166
    functionLinenumberEnd: 10180
    functionName: gf_dash_group_discard_segment
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_group_discard_segment_internal
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_group_discard_segment(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10456
      start: 10452
    functionDepth: 0
    functionLinenumber: 10452
    functionLinenumberEnd: 10456
    functionName: gf_dash_is_dynamic_mpd
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_dynamic_mpd(GF_DashClient *dash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10781,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10785,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10787,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10788,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10792
      start: 10778
    functionDepth: 0
    functionLinenumber: 10778
    functionLinenumberEnd: 10792
    functionName: gf_dash_group_get_num_qualities
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_group_get_num_qualities(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_close
      Src: /src/gpac/src/media_tools/dash_client.c:9393,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:9399,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9397,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/dash_client.c:9396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9395,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9401,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9402,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:9404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9405
      start: 9388
    functionDepth: 0
    functionLinenumber: 9388
    functionLinenumberEnd: 9405
    functionName: gf_dash_del
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_dash_close
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_del(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - enable
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9429
      start: 9425
    functionDepth: 0
    functionLinenumber: 9425
    functionLinenumberEnd: 9429
    functionName: gf_dash_enable_group_selection
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_enable_group_selection(GF_DashClient *dash,
      Bool enable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10185,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10192,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - dash
    - idx
    - done
    argTypes:
    - GF_DashClient*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 10196
      start: 10182
    functionDepth: 0
    functionLinenumber: 10182
    functionLinenumberEnd: 10196
    functionName: gf_dash_set_group_done
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_group_done(GF_DashClient *dash, u32 idx,
      Bool done) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10462
      start: 10458
    functionDepth: 0
    functionLinenumber: 10458
    functionLinenumberEnd: 10462
    functionName: gf_dash_get_min_buffer_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_get_min_buffer_time(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10797,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10800
      start: 10794
    functionDepth: 0
    functionLinenumber: 10794
    functionLinenumberEnd: 10800
    functionName: gf_dash_group_get_num_components
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_group_get_num_components(GF_DashClient *dash,
      u32 idx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11543,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11566,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:11581,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:11585,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11563,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:11587,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 4
    argNames:
    - dash
    - group_idx
    - _tfrf
    - timescale
    argTypes:
    - GF_DashClient*
    - u32
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 11593
      start: 11532
    functionDepth: 0
    functionLinenumber: 11532
    functionLinenumberEnd: 11593
    functionName: gf_dash_group_push_tfrf
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dash_get_active_group
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dash_group_push_tfrf(GF_DashClient *dash, u32 group_idx,
      void *_tfrf, u32 timescale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2365,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2371,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 2375
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2375
    functionName: gf_dash_mark_group_done
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_mark_group_done(GF_DASH_Group *group) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4748,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4754,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4758,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4753,1
    - Dst: log
      Src: /src/gpac/src/media_tools/dash_client.c:4759,1
    - Dst: bola_find_max_utility_index
      Src: /src/gpac/src/media_tools/dash_client.c:4767,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/dash_client.c:4784,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/dash_client.c:4785,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/dash_client.c:4786,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/dash_client.c:4799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4839,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4816,1
    - Dst: get_max_rate_below
      Src: /src/gpac/src/media_tools/dash_client.c:4799,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:4815,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4835,1
    - Dst: bola_find_max_utility_index
      Src: /src/gpac/src/media_tools/dash_client.c:4789,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 117
    argCount: 9
    argNames:
    - dash
    - group
    - base_group
    - dl_rate
    - speed
    - max_available_speed
    - force_lower_complexity
    - rep
    - go_up_bitrate
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - Double
    - Double
    - Bool
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 4842
      start: 4732
    functionDepth: 0
    functionLinenumber: 4732
    functionLinenumberEnd: 4842
    functionName: dash_do_rate_adaptation_bola
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - MIN
    - gf_list_count
    - get_max_rate_below
    - GF_LOG
    - log
    - bola_find_max_utility_index
    - gf_assert
    - MAX
    linkageType: ''
    returnType: s32
    signature: "static s32 dash_do_rate_adaptation_bola(GF_DashClient *dash, GF_DASH_Group
      *group, GF_DASH_Group *base_group,\t\t \t \t \t \t \t \t \t \t u32 dl_rate,
      Double speed, Double max_available_speed, Bool force_lower_complexity,\t\t\t\t\t\t\t\t\t\t
      \t GF_MPD_Representation *rep, Bool go_up_bitrate) "
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8316,1
    - Dst: gf_dash_update_manifest
      Src: /src/gpac/src/media_tools/dash_client.c:8322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8332,1
    - Dst: gf_dash_reset_groups
      Src: /src/gpac/src/media_tools/dash_client.c:8412,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8318,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:8329,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8332,1
    - Dst: gf_dash_group_check_time
      Src: /src/gpac/src/media_tools/dash_client.c:8369,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8427,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8343,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:8434,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/media_tools/dash_client.c:8437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8318,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8329,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8430,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:8433,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:8434,1
    - Dst: dash_global_rate_adaptation
      Src: /src/gpac/src/media_tools/dash_client.c:8461,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8354,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:8439,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 144
    argCount: 2
    argNames:
    - dash
    - cache_is_full
    argTypes:
    - GF_DashClient*
    - Bool*
    constantsTouched: []
    func_position:
      end: 8464
      start: 8295
    functionDepth: 0
    functionLinenumber: 8295
    functionLinenumberEnd: 8464
    functionName: dash_check_mpd_update_and_cache
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - dash_global_rate_adaptation
    - gf_dash_update_manifest
    - gf_dash_reset_groups
    - gf_error_to_string
    - gf_list_count
    - gf_dash_group_check_time
    - GF_LOG
    - gf_strdup
    - gf_sys_clock
    - gf_list_new
    - gf_assert
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dash_check_mpd_update_and_cache(GF_DashClient *dash,
      Bool *cache_is_full) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6561,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:6581,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6563,1
    - Dst: gf_dash_get_tiles_quality_rank
      Src: /src/gpac/src/media_tools/dash_client.c:6573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - dash
    - srd
    - force_all
    argTypes:
    - GF_DashClient*
    - struct _dash_srd_desc*
    - Bool
    constantsTouched: []
    func_position:
      end: 6583
      start: 6556
    functionDepth: 0
    functionLinenumber: 6556
    functionLinenumberEnd: 6583
    functionName: gf_dash_set_tiles_quality
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_dash_get_tiles_quality_rank
    - gf_dash_set_group_representation
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_set_tiles_quality(GF_DashClient *dash, struct
      _dash_srd_desc *srd, Bool force_all) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8748,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:8757,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8750,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8753,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8755,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:8758,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:8764,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:8765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - group
    - select
    argTypes:
    - GF_DASH_Group*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 8768
      start: 8746
    functionDepth: 0
    functionLinenumber: 8746
    functionLinenumberEnd: 8768
    functionName: gather_ssr_rep
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void gather_ssr_rep(GF_DASH_Group *group, GF_List *select) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - cross_as_mode
    argTypes:
    - GF_DashClient*
    - GF_DASHCrossASMode
    constantsTouched: []
    func_position:
      end: 9449
      start: 9445
    functionDepth: 0
    functionLinenumber: 9445
    functionLinenumberEnd: 9449
    functionName: gf_dash_enable_cross_as_switch
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_enable_cross_as_switch(GF_DashClient *dash,
      GF_DASHCrossASMode cross_as_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9949
      start: 9942
    functionDepth: 0
    functionLinenumber: 9942
    functionLinenumberEnd: 9949
    functionName: gf_dash_is_in_setup
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_in_setup(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:9959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9961
      start: 9956
    functionDepth: 0
    functionLinenumber: 9956
    functionLinenumberEnd: 9961
    functionName: gf_dash_request_period_switch
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_request_period_switch(GF_DashClient *dash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_get_path
      Src: /src/gpac/src/media_tools/dash_client.c:2380,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:2382,1
    - Dst: gf_url_get_path
      Src: /src/gpac/src/media_tools/dash_client.c:2381,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:2386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - url
    - base_url
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2390
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2390
    functionName: dash_strip_base_url
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_url_get_path
    - strrchr
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *dash_strip_base_url(const char *url, const char
      *base_url) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6589,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:6599,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6591,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6595,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:6598,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - dash
    - srd_id
    - do_create
    argTypes:
    - GF_DashClient*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 6601
      start: 6585
    functionDepth: 0
    functionLinenumber: 6585
    functionLinenumberEnd: 6601
    functionName: gf_dash_get_srd_desc
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: struct _dash_srd_desc*
    signature: 'static struct _dash_srd_desc *gf_dash_get_srd_desc(GF_DashClient *dash,
      u32 srd_id, Bool do_create) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8776,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8787,1
    - Dst: gather_ssr_rep
      Src: /src/gpac/src/media_tools/dash_client.c:8784,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8790,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:8794,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:8816,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8851,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8853,1
    - Dst: gather_ssr_rep
      Src: /src/gpac/src/media_tools/dash_client.c:8788,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:8796,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:8847,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8816,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8792,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:8806,1
    - Dst: gf_mpd_seek_in_period
      Src: /src/gpac/src/media_tools/dash_client.c:8814,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:8782,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8785,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8791,1
    - Dst: dash_ssr_adjust_group_start
      Src: /src/gpac/src/media_tools/dash_client.c:8834,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:8856,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 4
    argNames:
    - dash
    - group
    - seek_to
    - is_dynamic
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 8861
      start: 8769
    functionDepth: 0
    functionLinenumber: 8769
    functionLinenumberEnd: 8861
    functionName: gf_dash_seek_group
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_mpd_seek_in_period
    - dash_ssr_adjust_group_start
    - gf_dash_group_reset_cache_entry
    - gather_ssr_rep
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_seek_group(GF_DashClient *dash, GF_DASH_Group
      *group, Double seek_to, Bool is_dynamic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9455
      start: 9451
    functionDepth: 0
    functionLinenumber: 9451
    functionLinenumberEnd: 9455
    functionName: gf_dash_get_group_count
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_get_group_count(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9955
      start: 9951
    functionDepth: 0
    functionLinenumber: 9951
    functionLinenumberEnd: 9955
    functionName: gf_dash_get_period_switch_status
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dash_get_period_switch_status(GF_DashClient *dash) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9973,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - dash
    - check_eos
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9982
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9982
    functionName: gf_dash_in_last_period
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_in_last_period(GF_DashClient *dash, Bool check_eos) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11089,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11106,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:11096,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11098,1
    - Dst: dash_get_group_for_quality
      Src: /src/gpac/src/media_tools/dash_client.c:11093,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11108,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:11109,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11120,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11121,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:11124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11123,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11126,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 4
    argNames:
    - dash
    - idx
    - ID
    - q_idx
    argTypes:
    - GF_DashClient*
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 11136
      start: 11085
    functionDepth: 0
    functionLinenumber: 11085
    functionLinenumberEnd: 11136
    functionName: gf_dash_group_select_quality
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - strcmp
    - dash_get_group_for_quality
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_select_quality(GF_DashClient *dash,
      u32 idx, const char *ID, u32 q_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4713,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - representations
    - V
    - gamma
    - p
    - Q
    argTypes:
    - GF_List*
    - Double
    - Double
    - Double
    - Double
    constantsTouched: []
    func_position:
      end: 4725
      start: 4710
    functionDepth: 0
    functionLinenumber: 4710
    functionLinenumberEnd: 4725
    functionName: bola_find_max_utility_index
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: s32
    signature: 'static s32 bola_find_max_utility_index(GF_List *representations, Double
      V, Double gamma, Double p, Double Q) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - dash
    - group
    - rep
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 4131
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4131
    functionName: gf_dash_get_max_available_speed
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: Double
    signature: 'static Double gf_dash_get_max_available_speed(GF_DashClient *dash,
      GF_DASH_Group *group, GF_MPD_Representation *rep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - dash
    - idx
    - max_buffer_playout_ms
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 11298
      start: 11291
    functionDepth: 0
    functionLinenumber: 11291
    functionLinenumberEnd: 11298
    functionName: gf_dash_group_set_max_buffer_playout
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_set_max_buffer_playout(GF_DashClient
      *dash, u32 idx, u32 max_buffer_playout_ms) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:4144,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:4162,1
    - Dst: strrchr
      Src: /src/gpac/src/media_tools/dash_client.c:4163,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:4182,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:4190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4194,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4204,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:4221,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:4222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4267,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4227,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:4240,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 7
    argNames:
    - dash
    - group
    - bytes_per_sec
    - file_size
    - is_broadcast
    - cur_dep_idx
    - us_since_start
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - u32
    - u32
    - Bool
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 4270
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4270
    functionName: dash_store_stats
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - gf_sys_clock
    - strrchr
    - gf_log_tool_level_on
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void dash_store_stats(GF_DashClient *dash, GF_DASH_Group *group,
      u32 bytes_per_sec, u32 file_size, Bool is_broadcast, u32 cur_dep_idx, u64 us_since_start) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - dash
    - idx
    - quality_degradation_hint
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 11309
      start: 11300
    functionDepth: 0
    functionLinenumber: 11300
    functionLinenumberEnd: 11309
    functionName: gf_dash_group_set_quality_degradation_hint
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_set_quality_degradation_hint(GF_DashClient
      *dash, u32 idx, u32 quality_degradation_hint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - group_idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 11601
      start: 11595
    functionDepth: 0
    functionLinenumber: 11595
    functionLinenumberEnd: 11601
    functionName: gf_dash_group_has_init_segment
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dash_group_has_init_segment(GF_DashClient *dash, u32 group_idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 7
    argCount: 2
    argNames:
    - group
    - rep
    argTypes:
    - GF_DASH_Group*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 5442
      start: 5431
    functionDepth: 0
    functionLinenumber: 5431
    functionLinenumberEnd: 5442
    functionName: gf_dash_get_start_number
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_get_start_number(GF_DASH_Group *group, GF_MPD_Representation
      *rep) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6324,1
    - Dst: gf_mpd_period_free
      Src: /src/gpac/src/media_tools/dash_client.c:6329,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6335,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6336,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6337,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/media_tools/dash_client.c:6341,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:6354,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:6358,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:6354,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:6359,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:6415,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:6469,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6488,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:6362,1
    - Dst: gf_xml_dom_get_root_idx
      Src: /src/gpac/src/media_tools/dash_client.c:6431,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6461,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:6492,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6319,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:6328,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/dash_client.c:6357,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dash_client.c:6355,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6378,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:6390,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6391,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/media_tools/dash_client.c:6407,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6364,1
    - Dst: gf_mpd_complete_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:6433,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6444,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:6462,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/dash_client.c:6473,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:6499,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6490,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/media_tools/dash_client.c:6435,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6334,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6343,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:6343,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:6367,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:6369,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6374,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6390,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6375,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6422,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/media_tools/dash_client.c:6408,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:6439,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/media_tools/dash_client.c:6420,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:6421,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:6326,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:6354,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:6358,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6366,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/dash_client.c:6370,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6397,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6421,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6424,1
    - Dst: gf_xml_dom_get_root_nodes_count
      Src: /src/gpac/src/media_tools/dash_client.c:6429,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6454,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6460,1
    - Dst: gf_mpd_period_free
      Src: /src/gpac/src/media_tools/dash_client.c:6466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6491,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:6497,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6441,1
    - Dst: gf_mpd_split_adaptation_sets
      Src: /src/gpac/src/media_tools/dash_client.c:6451,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:6448,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/media_tools/dash_client.c:6443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6465,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/media_tools/dash_client.c:6427,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 179
    argCount: 3
    argNames:
    - dash
    - period_list
    - period_idx
    argTypes:
    - GF_DashClient*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 6500
      start: 6305
    functionDepth: 0
    functionLinenumber: 6305
    functionLinenumberEnd: 6500
    functionName: gf_dash_solve_period_xlink
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_mpd_new
    - GF_LOG
    - gf_mpd_complete_from_dom
    - gf_mpd_period_free
    - strstr
    - gf_dash_download_resource
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_mpd_split_adaptation_sets
    - strcpy
    - gf_assert
    - gf_list_insert
    - gf_list_get
    - gf_xml_dom_parse
    - gf_mpd_init_from_dom
    - strchr
    - strnicmp
    - gf_free
    - gf_xml_dom_get_root_nodes_count
    - gf_url_concatenate
    - strcat
    - gf_list_rem
    - gf_xml_dom_get_root_idx
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_solve_period_xlink(GF_DashClient *dash, GF_List
      *period_list, u32 period_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8866,1
    - Dst: gf_dash_seek_group
      Src: /src/gpac/src/media_tools/dash_client.c:8868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - dash
    - group_idx
    - seek_to
    argTypes:
    - GF_DashClient*
    - u32
    - Double
    constantsTouched: []
    func_position:
      end: 8869
      start: 8863
    functionDepth: 0
    functionLinenumber: 8863
    functionLinenumberEnd: 8869
    functionName: gf_dash_group_seek
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_seek_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_group_seek(GF_DashClient *dash, u32 group_idx,
      Double seek_to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - estimate_utc_drift
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 9411
      start: 9407
    functionDepth: 0
    functionLinenumber: 9407
    functionLinenumberEnd: 9411
    functionName: gf_dash_enable_utc_drift_compensation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_enable_utc_drift_compensation(GF_DashClient
      *dash, Bool estimate_utc_drift) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10377,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10386,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 4
    argNames:
    - dash
    - idx
    - max_width
    - max_height
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 10394
      start: 10374
    functionDepth: 0
    functionLinenumber: 10374
    functionLinenumberEnd: 10394
    functionName: gf_dash_group_get_video_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_get_video_info(GF_DashClient *dash,
      u32 idx, u32 *max_width, u32 *max_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - low_lat_mode
    argTypes:
    - GF_DashClient*
    - GF_DASHLowLatencyMode
    constantsTouched: []
    func_position:
      end: 10679
      start: 10675
    functionDepth: 0
    functionLinenumber: 10675
    functionLinenumberEnd: 10679
    functionName: gf_dash_set_low_latency_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_low_latency_mode(GF_DashClient *dash, GF_DASHLowLatencyMode
      low_lat_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 11167
      start: 11163
    functionDepth: 0
    functionLinenumber: 11163
    functionLinenumberEnd: 11167
    functionName: gf_dash_get_timeshift_buffer_pos
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_dash_get_timeshift_buffer_pos(GF_DashClient *dash) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11396,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:11412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11409,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/dash_client.c:11415,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:11413,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11437,1
    - Dst: gf_dash_group_reset_cache_entry
      Src: /src/gpac/src/media_tools/dash_client.c:11450,1
    - Dst: on_group_download_error
      Src: /src/gpac/src/media_tools/dash_client.c:11458,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:11462,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11463,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 4
    argNames:
    - dash
    - idx
    - cur_dep_idx
    - err
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - GF_Err
    constantsTouched: []
    func_position:
      end: 11467
      start: 11389
    functionDepth: 0
    functionLinenumber: 11389
    functionLinenumberEnd: 11467
    functionName: gf_dash_set_group_download_state
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - gf_list_count
    - on_group_download_error
    - gf_dash_group_reset_cache_entry
    - gf_free
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void gf_dash_set_group_download_state(GF_DashClient *dash, u32 idx,
      u32 cur_dep_idx, GF_Err err) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gpac/src/media_tools/dash_client.c:6512,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6544,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6540,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6532,1
    - Dst: MAX
      Src: /src/gpac/src/media_tools/dash_client.c:6544,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6544,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6547,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:6549,1
    - Dst: MIN
      Src: /src/gpac/src/media_tools/dash_client.c:6550,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 2
    argNames:
    - dash
    - tile_group
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 6553
      start: 6502
    functionDepth: 0
    functionLinenumber: 6502
    functionLinenumberEnd: 6553
    functionName: gf_dash_get_tiles_quality_rank
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - ABS
    - MIN
    - MAX
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_get_tiles_quality_rank(GF_DashClient *dash, GF_DASH_Group
      *tile_group) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6066,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6071,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:6102,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:6108,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6102,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:6120,1
    - Dst: dash_load_box_type
      Src: /src/gpac/src/media_tools/dash_client.c:6153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6202,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6213,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6220,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/dash_client.c:6240,1
    - Dst: gf_fsize
      Src: /src/gpac/src/media_tools/dash_client.c:6243,1
    - Dst: gf_fread
      Src: /src/gpac/src/media_tools/dash_client.c:6246,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/media_tools/dash_client.c:6229,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/dash_client.c:6294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6056,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6061,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:6097,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6089,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6159,1
    - Dst: dash_load_box_type
      Src: /src/gpac/src/media_tools/dash_client.c:6170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6177,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:6234,1
    - Dst: gf_dash_load_representation_sidx
      Src: /src/gpac/src/media_tools/dash_client.c:6273,1
    - Dst: gf_mpd_segment_base_free
      Src: /src/gpac/src/media_tools/dash_client.c:6284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6276,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6248,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6301,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:6227,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dash_client.c:6245,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/media_tools/dash_client.c:6250,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:6021,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6046,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6052,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:6037,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:6094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6136,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6164,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6204,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:6209,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/media_tools/dash_client.c:6236,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6300,1
    - Dst: gf_mpd_segment_template_free
      Src: /src/gpac/src/media_tools/dash_client.c:6041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:6075,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/dash_client.c:6103,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:6083,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6141,1
    - Dst: dash_load_box_type
      Src: /src/gpac/src/media_tools/dash_client.c:6173,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6178,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/dash_client.c:6219,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/dash_client.c:6233,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:6290,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/media_tools/dash_client.c:6238,1
    - Dst: gf_dash_download_resource
      Src: /src/gpac/src/media_tools/dash_client.c:6263,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 246
    argCount: 1
    argNames:
    - group
    argTypes:
    - GF_DASH_Group*
    constantsTouched: []
    func_position:
      end: 6303
      start: 6014
    functionDepth: 0
    functionLinenumber: 6014
    functionLinenumberEnd: 6303
    functionName: gf_dash_setup_single_index_mode
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_segment_template_free
    - gf_malloc
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - gf_mpd_segment_base_free
    - gf_dash_download_resource
    - gf_list_count
    - gf_strdup
    - gf_fsize
    - gf_dash_load_representation_sidx
    - gf_blob_get
    - gf_blob_register
    - dash_load_box_type
    - gf_blob_release
    - gf_list_new
    - gf_fopen
    - gf_list_get
    - gf_fread
    - memcpy
    - strnicmp
    - gf_free
    - gf_dash_resolve_url
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_setup_single_index_mode(GF_DASH_Group *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8878,1
    - Dst: gf_dash_seek_group
      Src: /src/gpac/src/media_tools/dash_client.c:8887,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8884,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - dash
    - seek_time
    - is_dynamic
    argTypes:
    - GF_DashClient*
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 8889
      start: 8871
    functionDepth: 0
    functionLinenumber: 8871
    functionLinenumberEnd: 8889
    functionName: gf_dash_seek_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_dash_seek_group
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_seek_groups(GF_DashClient *dash, Double seek_time,
      Bool is_dynamic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - switch_probe_count
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9417
      start: 9413
    functionDepth: 0
    functionLinenumber: 9413
    functionLinenumberEnd: 9417
    functionName: gf_dash_set_switching_probe_count
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_switching_probe_count(GF_DashClient *dash,
      u32 switch_probe_count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10399,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 4
    argNames:
    - dash
    - idx
    - max_width
    - max_height
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 10416
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10416
    functionName: gf_dash_group_get_srd_max_size_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_group_get_srd_max_size_info(GF_DashClient *dash,
      u32 idx, u32 *max_width, u32 *max_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - buffer_time_ms
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 10686
      start: 10682
    functionDepth: 0
    functionLinenumber: 10682
    functionLinenumberEnd: 10686
    functionName: gf_dash_set_user_buffer
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_user_buffer(GF_DashClient *dash, u32 buffer_time_ms) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10708
      start: 10689
    functionDepth: 0
    functionLinenumber: 10689
    functionLinenumberEnd: 10708
    functionName: gf_dash_get_period_start
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_dash_get_period_start(GF_DashClient *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 8
    argNames:
    - dash
    - idx
    - avg_dec_time
    - max_dec_time
    - irap_avg_dec_time
    - irap_max_dec_time
    - codec_reset
    - decode_only_rap
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u32
    - u32
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 11180
      start: 11169
    functionDepth: 0
    functionLinenumber: 11169
    functionLinenumberEnd: 11180
    functionName: gf_dash_group_set_codec_stat
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_group_set_codec_stat(GF_DashClient *dash, u32
      idx, u32 avg_dec_time, u32 max_dec_time, u32 irap_avg_dec_time, u32 irap_max_dec_time,
      Bool codec_reset, Bool decode_only_rap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - representations
    - rate
    - index
    argTypes:
    - GF_List*
    - double
    - s32*
    constantsTouched: []
    func_position:
      end: 4567
      start: 4550
    functionDepth: 0
    functionLinenumber: 4550
    functionLinenumberEnd: 4567
    functionName: get_min_rate_above
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_min_rate_above(GF_List *representations, double rate,
      s32 *index) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4613,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4614,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4631,1
    - Dst: get_min_rate_above
      Src: /src/gpac/src/media_tools/dash_client.c:4638,1
    - Dst: get_max_rate_below
      Src: /src/gpac/src/media_tools/dash_client.c:4644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4688,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4702,1
    - Dst: get_min_rate_above
      Src: /src/gpac/src/media_tools/dash_client.c:4689,1
    - Dst: get_max_rate_below
      Src: /src/gpac/src/media_tools/dash_client.c:4684,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4698,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4675,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 9
    argNames:
    - dash
    - group
    - base_group
    - dl_rate
    - speed
    - max_available_speed
    - force_lower_complexity
    - rep
    - go_up_bitrate
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - Double
    - Double
    - Bool
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 4705
      start: 4594
    functionDepth: 0
    functionLinenumber: 4594
    functionLinenumberEnd: 4705
    functionName: dash_do_rate_adaptation_bba0
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - get_max_rate_below
    - GF_LOG
    - get_min_rate_above
    linkageType: ''
    returnType: s32
    signature: "static s32 dash_do_rate_adaptation_bba0(GF_DashClient *dash, GF_DASH_Group
      *group, GF_DASH_Group *base_group,\t\t\t\t\t\t\t\t\t\t\t\t u32 dl_rate, Double
      speed, Double max_available_speed, Bool force_lower_complexity,\t\t\t\t\t\t\t\t\t\t\t\t
      GF_MPD_Representation *rep, Bool go_up_bitrate) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9675
      start: 9672
    functionDepth: 0
    functionLinenumber: 9672
    functionLinenumberEnd: 9675
    functionName: gf_dash_is_smooth_streaming
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_smooth_streaming(GF_DashClient *dash) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10236,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10264,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:10285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10307,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10289,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 85
    argCount: 15
    argNames:
    - dash
    - idx
    - dependent_representation_index
    - url
    - start_range
    - end_range
    - switching_index
    - switching_url
    - switching_start_range
    - switching_end_range
    - original_url
    - has_next_segment
    - key_url
    - key_IV
    - utc
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - char**
    - u64*
    - u64*
    - s32*
    - char**
    - u64*
    - u64*
    - char**
    - Bool*
    - char**
    - bin128*
    - u64*
    constantsTouched: []
    func_position:
      end: 10318
      start: 10219
    functionDepth: 0
    functionLinenumber: 10219
    functionLinenumberEnd: 10318
    functionName: gf_dash_group_get_next_segment_location
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_get_next_segment_location(GF_DashClient
      *dash, u32 idx, u32 dependent_representation_index, const char **url, u64 *start_range,
      u64 *end_range, s32 *switching_index, const char **switching_url, u64 *switching_start_range,
      u64 *switching_end_range, const char **original_url, Bool *has_next_segment,
      const char **key_url, bin128 *key_IV, u64 *utc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:11185,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:11190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - dash
    - idx
    - buffer_min_ms
    - buffer_max_ms
    - buffer_occupancy_ms
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 11194
      start: 11182
    functionDepth: 0
    functionLinenumber: 11182
    functionLinenumberEnd: 11194
    functionName: gf_dash_group_set_buffer_levels
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_group_set_buffer_levels(GF_DashClient *dash,
      u32 idx, u32 buffer_min_ms, u32 buffer_max_ms, u32 buffer_occupancy_ms) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:9682,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9691,1
    - Dst: gf_dash_get_mime_type
      Src: /src/gpac/src/media_tools/dash_client.c:9693,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9705,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/dash_client.c:9689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9707,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 5
    argNames:
    - dash
    - idx
    - start_range
    - end_range
    - mime_type
    argTypes:
    - GF_DashClient*
    - u32
    - u64*
    - u64*
    - char**
    constantsTouched: []
    func_position:
      end: 9716
      start: 9678
    functionDepth: 0
    functionLinenumber: 9678
    functionLinenumberEnd: 9716
    functionName: gf_dash_group_get_segment_init_url
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    - gf_list_last
    - gf_list_count
    - gf_dash_get_mime_type
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dash_group_get_segment_init_url(GF_DashClient
      *dash, u32 idx, u64 *start_range, u64 *end_range, const char **mime_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10326,1
    - Dst: gf_dash_seek_periods
      Src: /src/gpac/src/media_tools/dash_client.c:10355,1
    - Dst: gf_dash_seek_groups
      Src: /src/gpac/src/media_tools/dash_client.c:10357,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:10339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - dash
    - start_range
    argTypes:
    - GF_DashClient*
    - Double
    constantsTouched: []
    func_position:
      end: 10359
      start: 10321
    functionDepth: 0
    functionLinenumber: 10321
    functionLinenumberEnd: 10359
    functionName: gf_dash_seek
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_dash_seek_groups
    - GF_LOG
    - gf_dash_seek_periods
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_seek(GF_DashClient *dash, Double start_range) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - disable
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 11201
      start: 11197
    functionDepth: 0
    functionLinenumber: 11197
    functionLinenumberEnd: 11201
    functionName: gf_dash_disable_speed_adaptation
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_disable_speed_adaptation(GF_DashClient *dash,
      Bool disable) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4526,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4536,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:4530,1
    - Dst: dash_do_rate_adaptation_legacy_rate
      Src: /src/gpac/src/media_tools/dash_client.c:4543,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 9
    argNames:
    - dash
    - group
    - base_group
    - dl_rate
    - speed
    - max_available_speed
    - force_lower_complexity
    - rep
    - go_up_bitrate
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - u32
    - Double
    - Double
    - Bool
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 4547
      start: 4469
    functionDepth: 0
    functionLinenumber: 4469
    functionLinenumberEnd: 4547
    functionName: dash_do_rate_adaptation_legacy_buffer
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - dash_do_rate_adaptation_legacy_rate
    - GF_LOG
    linkageType: ''
    returnType: s32
    signature: "static s32 dash_do_rate_adaptation_legacy_buffer(GF_DashClient *dash,
      GF_DASH_Group *group, GF_DASH_Group *base_group,\t\t\t\t\t\t\t\t\t\t\t\t u32
      dl_rate, Double speed, Double max_available_speed, Bool force_lower_complexity,\t\t\t\t\t\t\t\t\t\t\t\t
      GF_MPD_Representation *rep, Bool go_up_bitrate) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:4575,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:4577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - representations
    - rate
    - index
    argTypes:
    - GF_List*
    - double
    - s32*
    constantsTouched: []
    func_position:
      end: 4587
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4587
    functionName: get_max_rate_below
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_max_rate_below(GF_List *representations, double rate,
      s32 *index) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10740,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10735,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10728,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10744
      start: 10712
    functionDepth: 0
    functionLinenumber: 10712
    functionLinenumberEnd: 10744
    functionName: gf_dash_get_period_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_dash_get_period_duration(GF_DashClient *dash) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7210,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:7217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7237,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7259,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7289,1
    - Dst: dash_set_min_wait
      Src: /src/gpac/src/media_tools/dash_client.c:7329,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7334,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7307,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7199,1
    - Dst: dash_set_min_wait
      Src: /src/gpac/src/media_tools/dash_client.c:7215,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7222,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7227,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7251,1
    - Dst: gf_mpd_get_base_url_count
      Src: /src/gpac/src/media_tools/dash_client.c:7256,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:7275,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7279,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7280,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7240,1
    - Dst: dash_download_group_download
      Src: /src/gpac/src/media_tools/dash_client.c:7267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7277,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/dash_client.c:7296,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7308,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7328,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7335,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7361,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7313,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:7299,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7209,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:7207,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7208,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7231,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7237,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7241,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7233,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7258,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7278,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7360,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 8
    argNames:
    - dash
    - group
    - base_group
    - e
    - rep
    - new_base_seg_url
    - key_url
    - has_dep_following
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - GF_Err
    - GF_MPD_Representation*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 7363
      start: 7190
    functionDepth: 0
    functionLinenumber: 7190
    functionLinenumberEnd: 7363
    functionName: on_group_download_error
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_get_base_url_count
    - dash_set_min_wait
    - dash_download_group_download
    - gf_dash_group_timeline_setup
    - gf_error_to_string
    - gf_list_enum
    - strcmp
    - GF_LOG
    - gf_sys_clock
    - gf_free
    - gf_net_get_utc
    - gf_dash_mark_group_done
    linkageType: ''
    returnType: DownloadGroupStatus
    signature: 'static DownloadGroupStatus on_group_download_error(GF_DashClient *dash,
      GF_DASH_Group *group, GF_DASH_Group *base_group, GF_Err e, GF_MPD_Representation
      *rep, char *new_base_seg_url, char *key_url, Bool has_dep_following) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2108,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/dash_client.c:2128,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2149,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2139,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2159,1
    - Dst: gf_dash_get_index_in_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:2147,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2169,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2121,1
    - Dst: gf_dash_get_index_in_timeline
      Src: /src/gpac/src/media_tools/dash_client.c:2137,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2142,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2168,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2100,1
    - Dst: gf_dash_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:2118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2120,1
    - Dst: gf_dash_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:2122,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:2141,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2157,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:2155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:2167,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 7
    argNames:
    - group
    - dash
    - old_list
    - old_template
    - new_list
    - new_template
    - min_start_time
    argTypes:
    - GF_DASH_Group*
    - GF_DashClient*
    - GF_MPD_SegmentList*
    - GF_MPD_SegmentTemplate*
    - GF_MPD_SegmentList*
    - GF_MPD_SegmentTemplate*
    - Double
    constantsTouched: []
    func_position:
      end: 2178
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2178
    functionName: gf_dash_merge_segment_timeline
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dash_get_segment_start_time_with_timescale
    - gf_list_count
    - gf_list_enum
    - GF_LOG
    - gf_dash_get_index_in_timeline
    - gf_log_tool_level_on
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dash_merge_segment_timeline(GF_DASH_Group *group,
      GF_DashClient *dash, GF_MPD_SegmentList *old_list, GF_MPD_SegmentTemplate *old_template,
      GF_MPD_SegmentList *new_list, GF_MPD_SegmentTemplate *new_template, Double min_start_time) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:8624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8662,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8639,1
    - Dst: gf_dash_solve_period_xlink
      Src: /src/gpac/src/media_tools/dash_client.c:8644,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - dash
    - time
    argTypes:
    - GF_DashClient*
    - u64
    constantsTouched: []
    func_position:
      end: 8667
      start: 8612
    functionDepth: 0
    functionLinenumber: 8612
    functionLinenumberEnd: 8667
    functionName: gf_dash_period_index_from_time
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_list_count
    - gf_list_get
    - gf_dash_solve_period_xlink
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_period_index_from_time(GF_DashClient *dash, u64
      time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 8
    argNames:
    - dash
    - group
    - bits_per_sec
    - total_bytes
    - bytes_done
    - us_since_start
    - buffer_dur_ms
    - current_seg_dur
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - u32
    - u64
    - u64
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 9324
      start: 9320
    functionDepth: 0
    functionLinenumber: 9320
    functionLinenumberEnd: 9324
    functionName: dash_do_rate_monitor_custom
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 dash_do_rate_monitor_custom(GF_DashClient *dash, GF_DASH_Group
      *group, u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start,
      u32 buffer_dur_ms, u32 current_seg_dur) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/dash_client.c:9868,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9871,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:9878,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9893,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9891,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9903,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:9914,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:9921,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:9924,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:9877,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/dash_client.c:9882,1
    - Dst: gf_lang_get_3cc
      Src: /src/gpac/src/media_tools/dash_client.c:9889,1
    - Dst: gf_list_find
      Src: /src/gpac/src/media_tools/dash_client.c:9896,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:9918,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/media_tools/dash_client.c:9886,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/dash_client.c:9920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:9902,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/media_tools/dash_client.c:9923,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:9933,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9872,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:9879,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/media_tools/dash_client.c:9881,1
    - Dst: gf_lang_get_2cc
      Src: /src/gpac/src/media_tools/dash_client.c:9888,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/media_tools/dash_client.c:9926,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 2
    argNames:
    - dash
    - lang_code_rfc_5646
    argTypes:
    - GF_DashClient*
    - char*
    constantsTouched: []
    func_position:
      end: 9934
      start: 9860
    functionDepth: 0
    functionLinenumber: 9860
    functionLinenumberEnd: 9934
    functionName: gf_dash_groups_set_language
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_lang_get_3cc
    - gf_lang_find
    - gf_dash_group_select
    - strchr
    - strnicmp
    - gf_list_new
    - stricmp
    - gf_lang_get_2cc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_groups_set_language(GF_DashClient *dash, const
      char *lang_code_rfc_5646) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dash
    - dbg_groups_idx
    - nb_groups
    argTypes:
    - GF_DashClient*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 10667
      start: 10661
    functionDepth: 0
    functionLinenumber: 10661
    functionLinenumberEnd: 10667
    functionName: gf_dash_debug_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_debug_groups(GF_DashClient *dash, const u32
      *dbg_groups_idx, u32 nb_groups) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 13
    argCount: 9
    argNames:
    - dash
    - idx
    - srd_id
    - srd_x
    - srd_y
    - srd_w
    - srd_h
    - srd_width
    - srd_height
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 11271
      start: 11252
    functionDepth: 0
    functionLinenumber: 11252
    functionLinenumberEnd: 11271
    functionName: gf_dash_group_get_srd_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_group_get_srd_info(GF_DashClient *dash, u32
      idx, u32 *srd_id, u32 *srd_x, u32 *srd_y, u32 *srd_w, u32 *srd_h, u32 *srd_width,
      u32 *srd_height) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2185,1
    - Dst: gf_mpd_resolve_segment_duration
      Src: /src/gpac/src/media_tools/dash_client.c:2188,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2195,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2212,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:2213,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2219,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/dash_client.c:2221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:2232,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/dash_client.c:2233,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/media_tools/dash_client.c:2234,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 2
    argNames:
    - group
    - min_start_time
    argTypes:
    - GF_DASH_Group*
    - Double
    constantsTouched: []
    func_position:
      end: 2241
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2241
    functionName: gf_dash_purge_segment_timeline
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_resolve_segment_duration
    - gf_list_get
    - gf_mpd_segment_url_free
    - gf_fatal_assert
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dash_purge_segment_timeline(GF_DASH_Group *group, Double
      min_start_time) '
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7466,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7717,1
    - Dst: gf_dash_get_start_number
      Src: /src/gpac/src/media_tools/dash_client.c:7565,1
    - Dst: ABS
      Src: /src/gpac/src/media_tools/dash_client.c:7824,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:7496,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7541,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:7615,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7632,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:7644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7812,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7658,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7552,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:7696,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:7686,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7637,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7591,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7482,1
    - Dst: gf_dash_switch_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:7553,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:7688,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:7635,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7591,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/dash_client.c:7690,1
    - Dst: dash_strip_base_url
      Src: /src/gpac/src/media_tools/dash_client.c:7770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7690,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7603,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7652,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7686,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:7646,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7635,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7600,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:7697,1
    - Dst: gf_dash_group_timeline_setup
      Src: /src/gpac/src/media_tools/dash_client.c:7405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7475,1
    - Dst: dash_set_min_wait
      Src: /src/gpac/src/media_tools/dash_client.c:7571,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7716,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7813,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7656,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7509,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/dash_client.c:7761,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7540,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/media_tools/dash_client.c:7563,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7645,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7581,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7712,1
    - Dst: dash_download_group_download
      Src: /src/gpac/src/media_tools/dash_client.c:7714,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7467,1
    - Dst: gf_dash_get_segment_availability_start_time
      Src: /src/gpac/src/media_tools/dash_client.c:7562,1
    - Dst: dash_set_min_wait
      Src: /src/gpac/src/media_tools/dash_client.c:7596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7600,1
    - Dst: gf_dash_switch_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:7704,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7720,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:7697,1
    - Dst: gf_dash_set_group_representation
      Src: /src/gpac/src/media_tools/dash_client.c:7424,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/dash_client.c:7684,1
    - Dst: gf_file_exists_ex
      Src: /src/gpac/src/media_tools/dash_client.c:7708,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7688,1
    - Dst: gf_mpd_get_base_url_count
      Src: /src/gpac/src/media_tools/dash_client.c:7709,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7497,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7618,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:7432,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7456,1
    - Dst: on_group_download_error
      Src: /src/gpac/src/media_tools/dash_client.c:7728,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:7737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7782,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7535,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7669,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/dash_client.c:7425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7508,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/dash_client.c:7697,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7638,1
    - Dst: gf_dash_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:7766,1
    - Dst: gf_dash_mark_group_done
      Src: /src/gpac/src/media_tools/dash_client.c:7476,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/media_tools/dash_client.c:7576,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:7593,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:7711,1
    - Dst: gf_dash_skip_disabled_representation
      Src: /src/gpac/src/media_tools/dash_client.c:7826,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 407
    argCount: 4
    argNames:
    - dash
    - group
    - base_group
    - has_dep_following
    argTypes:
    - GF_DashClient*
    - GF_DASH_Group*
    - GF_DASH_Group*
    - Bool
    constantsTouched: []
    func_position:
      end: 7840
      start: 7365
    functionDepth: 0
    functionLinenumber: 7365
    functionLinenumberEnd: 7840
    functionName: dash_download_group_download
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - dash_set_min_wait
    - gf_dash_switch_group_representation
    - GF_LOG
    - on_group_download_error
    - gf_dash_group_timeline_setup
    - strstr
    - gf_file_exists_ex
    - gf_error_to_string
    - gf_dash_get_segment_start_time_with_timescale
    - strcmp
    - gf_dash_set_group_representation
    - gf_file_basename
    - gf_assert
    - gf_dash_get_start_number
    - gf_mpd_get_base_url_count
    - gf_list_get
    - gf_sys_clock
    - ABS
    - memcpy
    - strnicmp
    - gf_free
    - gf_net_get_utc
    - dash_download_group_download
    - gf_dash_skip_disabled_representation
    - dash_strip_base_url
    - gf_dash_get_segment_availability_start_time
    - gf_log_tool_level_on
    - gf_dash_resolve_url
    - gf_dash_mark_group_done
    linkageType: ''
    returnType: DownloadGroupStatus
    signature: 'static DownloadGroupStatus dash_download_group_download(GF_DashClient
      *dash, GF_DASH_Group *group, GF_DASH_Group *base_group, Bool has_dep_following) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - dash
    - udta
    - algo_custom
    - download_monitor_custom
    argTypes:
    - GF_DashClient*
    - void*
    - gf_dash_rate_adaptation
    - gf_dash_download_monitor
    constantsTouched: []
    func_position:
      end: 9339
      start: 9326
    functionDepth: 0
    functionLinenumber: 9326
    functionLinenumberEnd: 9339
    functionName: gf_dash_set_algo_custom
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT void gf_dash_set_algo_custom(GF_DashClient *dash, void *udta,\t\tgf_dash_rate_adaptation
      algo_custom,\t\tgf_dash_download_monitor download_monitor_custom) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 9940
      start: 9936
    functionDepth: 0
    functionLinenumber: 9936
    functionLinenumberEnd: 9940
    functionName: gf_dash_is_running
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dash_is_running(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 10673
      start: 10669
    functionDepth: 0
    functionLinenumber: 10669
    functionLinenumberEnd: 10673
    functionName: gf_dash_split_adaptation_sets
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_split_adaptation_sets(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - ignore_xlink
    argTypes:
    - GF_DashClient*
    - Bool
    constantsTouched: []
    func_position:
      end: 11277
      start: 11273
    functionDepth: 0
    functionLinenumber: 11273
    functionLinenumberEnd: 11277
    functionName: gf_dash_ignore_xlink
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_ignore_xlink(GF_DashClient *dash, Bool ignore_xlink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_process_internal
      Src: /src/gpac/src/media_tools/dash_client.c:8608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 8609
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8609
    functionName: gf_dash_process
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_process_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dash_process(GF_DashClient *dash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dash
    - spd
    argTypes:
    - GF_DashClient*
    - s32
    constantsTouched: []
    func_position:
      end: 11283
      start: 11279
    functionDepth: 0
    functionLinenumber: 11279
    functionLinenumberEnd: 11283
    functionName: gf_dash_set_suggested_presentation_delay
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dash_set_suggested_presentation_delay(GF_DashClient
      *dash, s32 spd) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_timeline_duration
      Src: /src/gpac/src/media_tools/dash_client.c:1864,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1927,1
    - Dst: gf_dash_get_timeline_duration
      Src: /src/gpac/src/media_tools/dash_client.c:1915,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1868,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:1924,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 89
    argCount: 6
    argNames:
    - rep
    - set
    - period
    - mpd
    - nb_segments
    - max_seg_duration
    argTypes:
    - GF_MPD_Representation*
    - GF_MPD_AdaptationSet*
    - GF_MPD_Period*
    - GF_MPD*
    - u32*
    - Double*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1944
    functionName: gf_dash_get_segment_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_timeline_duration
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_get_segment_duration(GF_MPD_Representation *rep,
      GF_MPD_AdaptationSet *set, GF_MPD_Period *period, GF_MPD *mpd, u32 *nb_segments,
      Double *max_seg_duration) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/dash_client.c:5402,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5401,1
    - Dst: gf_dash_group_reset
      Src: /src/gpac/src/media_tools/dash_client.c:5405,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/dash_client.c:5403,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:5407,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:5408,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5409,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5411,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5414,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/dash_client.c:5422,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/dash_client.c:5423,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5416,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:5424,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:5418,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:5421,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/dash_client.c:5426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - dash
    argTypes:
    - GF_DashClient*
    constantsTouched: []
    func_position:
      end: 5428
      start: 5396
    functionDepth: 0
    functionLinenumber: 5396
    functionLinenumberEnd: 5428
    functionName: gf_dash_reset_groups
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_dash_group_reset
    linkageType: ''
    returnType: void
    signature: 'static void gf_dash_reset_groups(GF_DashClient *dash) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:8913,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:8912,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:8921,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:8921,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - getter
    - url
    argTypes:
    - GF_FileDownload*
    - char*
    constantsTouched: []
    func_position:
      end: 8938
      start: 8892
    functionDepth: 0
    functionLinenumber: 8892
    functionLinenumberEnd: 8938
    functionName: http_ifce_get
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err http_ifce_get(GF_FileDownload *getter, char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:9804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9807
      start: 9802
    functionDepth: 0
    functionLinenumber: 9802
    functionLinenumberEnd: 9807
    functionName: gf_dash_group_init_segment_is_media
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dash_group_init_segment_is_media(GF_DashClient *dash, u32
      idx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10041,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10044,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 35
    argCount: 4
    argNames:
    - dash
    - idx
    - dur
    - timescale
    argTypes:
    - GF_DashClient*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 10074
      start: 10037
    functionDepth: 0
    functionLinenumber: 10037
    functionLinenumberEnd: 10074
    functionName: gf_dash_group_get_segment_duration
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_active_group
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_get_segment_duration(GF_DashClient
      *dash, u32 idx, u32 *dur, u32 *timescale) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10493,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10502,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10507,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10532,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:10516,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:10587,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10491,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10490,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/dash_client.c:10510,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10510,1
    - Dst: gf_dash_get_start_number
      Src: /src/gpac/src/media_tools/dash_client.c:10528,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10545,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:10550,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10560,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:10564,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10632,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10489,1
    - Dst: gf_dash_resolve_url
      Src: /src/gpac/src/media_tools/dash_client.c:10494,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/dash_client.c:10496,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:10523,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10524,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10577,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10611,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/dash_client.c:10631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10496,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/dash_client.c:10501,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/dash_client.c:10504,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10533,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/dash_client.c:10540,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/dash_client.c:10549,1
    - Dst: atoi
      Src: /src/gpac/src/media_tools/dash_client.c:10565,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/dash_client.c:10580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/dash_client.c:10630,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 137
    argCount: 3
    argNames:
    - dash
    - latest_segment_name
    - earliest_segment_name
    argTypes:
    - GF_DashClient*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 10645
      start: 10477
    functionDepth: 0
    functionLinenumber: 10477
    functionLinenumberEnd: 10645
    functionName: gf_dash_resync_to_segment
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - strncmp
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - strcmp
    - strstr
    - strchr
    - gf_free
    - atoi
    - gf_dash_resolve_url
    - gf_dash_get_start_number
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dash_resync_to_segment(GF_DashClient *dash, const char *latest_segment_name,
      const char *earliest_segment_name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:1949,1
    - Dst: gf_mpd_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:1955,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/dash_client.c:1991,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 4
    argNames:
    - group
    - segment_duration
    - scale
    - current_pto
    argTypes:
    - GF_DASH_Group*
    - u64*
    - u32*
    - u64*
    constantsTouched: []
    func_position:
      end: 1994
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1994
    functionName: gf_dash_get_segment_start_time_with_timescale
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_mpd_get_segment_start_time_with_timescale
    - gf_list_get
    - gf_timestamp_rescale
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_dash_get_segment_start_time_with_timescale(GF_DASH_Group
      *group, u64 *segment_duration, u32 *scale, u64 *current_pto) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - getter
    argTypes:
    - GF_FileDownload*
    constantsTouched: []
    func_position:
      end: 8945
      start: 8940
    functionDepth: 0
    functionLinenumber: 8940
    functionLinenumberEnd: 8945
    functionName: http_ifce_clean
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void http_ifce_clean(GF_FileDownload *getter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:9812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dash
    - idx
    argTypes:
    - GF_DashClient*
    - u32
    constantsTouched: []
    func_position:
      end: 9815
      start: 9809
    functionDepth: 0
    functionLinenumber: 9809
    functionLinenumberEnd: 9815
    functionName: gf_dash_group_get_id
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_dash_group_get_id(GF_DashClient *dash, u32 idx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_active_group
      Src: /src/gpac/src/media_tools/dash_client.c:10080,1
    - Dst: gf_dash_get_segment_start_time_with_timescale
      Src: /src/gpac/src/media_tools/dash_client.c:10097,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/media_tools/dash_client.c:10103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:10087,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    argCount: 8
    argNames:
    - dash
    - group_idx
    - dependent_representation_index
    - seg_name
    - seg_number
    - seg_time
    - seg_dur_ms
    - init_segment
    argTypes:
    - GF_DashClient*
    - u32
    - u32
    - char**
    - u32*
    - GF_Fraction64*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 10120
      start: 10076
    functionDepth: 0
    functionLinenumber: 10076
    functionLinenumberEnd: 10120
    functionName: gf_dash_group_next_seg_info
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_dash_get_segment_start_time_with_timescale
    - gf_dash_get_active_group
    - gf_list_get
    - gf_timestamp_rescale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dash_group_next_seg_info(GF_DashClient *dash,
      u32 group_idx, u32 dependent_representation_index, const char **seg_name, u32
      *seg_number, GF_Fraction64 *seg_time, u32 *seg_dur_ms, const char **init_segment) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/dash_client.c:11611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - dash
    - group_idx
    - sar
    argTypes:
    - GF_DashClient*
    - u32
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 11617
      start: 11603
    functionDepth: 0
    functionLinenumber: 11603
    functionLinenumberEnd: 11617
    functionName: gf_dash_group_get_sar
    functionSourceFile: /src/gpac/src/media_tools/dash_client.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void gf_dash_group_get_sar(GF_DashClient *dash, u32 group_idx, GF_Fraction
      *sar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_writecopy_helper
      Src: /src/gpac/src/media_tools/gpac_ogg.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - b
    - source
    - bits
    argTypes:
    - oggpack_buffer*
    - void*
    - s32
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: oggpack_writecopy
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_writecopy_helper
    linkageType: ''
    returnType: void
    signature: 'void oggpack_writecopy(oggpack_buffer *b,void *source,s32 bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 458
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 458
    functionName: oggpack_read1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_read1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: oggpack_bits
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_bits(oggpack_buffer *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:739,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - os
    - needed
    argTypes:
    - ogg_stream_state*
    - s32
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: _os_lacing_expand
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void _os_lacing_expand(ogg_stream_state *os,s32 needed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ogg_stream_flush
      Src: /src/gpac/src/media_tools/gpac_ogg.c:954,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - os
    - og
    argTypes:
    - ogg_stream_state*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 959
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 959
    functionName: ogg_stream_pageout
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_flush
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_pageout(ogg_stream_state *os, ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _packetout
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - os
    - op
    argTypes:
    - ogg_stream_state*
    - ogg_packet*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1394
    functionName: ogg_stream_packetout
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - _packetout
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: ogg_page_pageno
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_pageno(ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_writecopy_helper
      Src: /src/gpac/src/media_tools/gpac_ogg.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - b
    - source
    - bits
    argTypes:
    - oggpack_buffer*
    - void*
    - s32
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: oggpackB_writecopy
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_writecopy_helper
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_writecopy(oggpack_buffer *b,void *source,s32 bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 480
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: oggpackB_read1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_read1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_bytes
      Src: /src/gpac/src/media_tools/gpac_ogg.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: oggpackB_bytes
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_bytes
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_bytes(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ogg_stream_reset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - os
    - serialno
    argTypes:
    - ogg_stream_state*
    - s32
    constantsTouched: []
    func_position:
      end: 1335
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1335
    functionName: ogg_stream_reset_serialno
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_reset
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_reset_serialno(ogg_stream_state *os,s32 serialno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _packetout
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - os
    - op
    argTypes:
    - ogg_stream_state*
    - ogg_packet*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1398
    functionName: ogg_stream_packetpeek
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - _packetout
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 435
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 435
    functionName: oggpackB_read
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_read(oggpack_buffer *b,s32 bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:994,1
    - Dst: ogg_sync_init
      Src: /src/gpac/src/media_tools/gpac_ogg.c:995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - oy
    argTypes:
    - ogg_sync_state*
    constantsTouched: []
    func_position:
      end: 998
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 998
    functionName: ogg_sync_clear
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_sync_init
    - gf_free
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_clear(ogg_sync_state *oy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: oggpackB_writetrunc
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_writetrunc(oggpack_buffer *b,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_writeclear
      Src: /src/gpac/src/media_tools/gpac_ogg.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: oggpackB_writeclear
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_writeclear
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_writeclear(oggpack_buffer *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/gpac_ogg.c:365,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/gpac_ogg.c:375,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/media_tools/gpac_ogg.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 400
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 400
    functionName: oggpack_read
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_read(oggpack_buffer *b,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: oggpack_bytes
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_bytes(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_get_buffer
      Src: /src/gpac/src/media_tools/gpac_ogg.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: oggpackB_get_buffer
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_get_buffer
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *oggpackB_get_buffer(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: ogg_page_bos
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_bos(ogg_page *og) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 613
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: _ogg_crc_entry
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 _ogg_crc_entry(u32 index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/media_tools/gpac_ogg.c:718,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - os
    argTypes:
    - ogg_stream_state*
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 722
    functionName: ogg_stream_destroy
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_clear
    - gf_free
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_destroy(ogg_stream_state *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_writeinit
      Src: /src/gpac/src/media_tools/gpac_ogg.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: oggpackB_writeinit
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_writeinit
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_writeinit(oggpack_buffer *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: oggpackB_look1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_look1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_adv1
      Src: /src/gpac/src/media_tools/gpac_ogg.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: oggpackB_adv1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_adv1
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_adv1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_bits
      Src: /src/gpac/src/media_tools/gpac_ogg.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: oggpackB_bits
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_bits
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_bits(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: ogg_page_eos
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_eos(ogg_page *og) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1017,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1028,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1026,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - oy
    - size
    argTypes:
    - ogg_sync_state*
    - s32
    constantsTouched: []
    func_position:
      end: 1034
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1034
    functionName: ogg_sync_buffer
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - gf_malloc
    linkageType: ''
    returnType: u8*
    signature: 'u8 *ogg_sync_buffer(ogg_sync_state *oy, s32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: ogg_page_packets
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_packets(ogg_page *og) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:705,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:707,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:706,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - os
    argTypes:
    - ogg_stream_state*
    constantsTouched: []
    func_position:
      end: 712
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 712
    functionName: ogg_stream_clear
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_clear(ogg_stream_state *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1402,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - ogg_packet*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1404
    functionName: ogg_packet_clear
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ogg_packet_clear(ogg_packet *op) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1064,1
    - Dst: memcmp
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1095,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1085,1
    - Dst: ogg_page_checksum_set
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1092,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1084,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1099,1
    - Dst: memchr
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - oy
    - og
    argTypes:
    - ogg_sync_state*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1134
    functionName: ogg_sync_pageseek
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    - ogg_page_checksum_set
    - memcmp
    - memchr
    - memcpy
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 283
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 283
    functionName: oggpack_look
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_look(oggpack_buffer *b,s32 bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - b
    - value
    - bits
    argTypes:
    - oggpack_buffer*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 131
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 131
    functionName: oggpack_write
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'void oggpack_write(oggpack_buffer *b,u32 value,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: oggpack_writetrunc
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void oggpack_writetrunc(oggpack_buffer *b,s32 bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - b
    - value
    - bits
    argTypes:
    - oggpack_buffer*
    - u32
    - s32
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: oggpackB_write
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_write(oggpack_buffer *b,u32 value,s32 bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oggpackB_write
      Src: /src/gpac/src/media_tools/gpac_ogg.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: oggpackB_writealign
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpackB_write
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_writealign(oggpack_buffer *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 312
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 312
    functionName: oggpackB_look
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpackB_look(oggpack_buffer *b,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - b
    - buf
    - bytes
    argTypes:
    - oggpack_buffer*
    - unsigned char*
    - s32
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: oggpack_readinit
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,s32 bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: oggpack_adv
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void oggpack_adv(oggpack_buffer *b,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_adv
      Src: /src/gpac/src/media_tools/gpac_ogg.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - bits
    argTypes:
    - oggpack_buffer*
    - s32
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: oggpackB_adv
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_adv
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_adv(oggpack_buffer *b,s32 bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: oggpack_get_buffer
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *oggpack_get_buffer(oggpack_buffer *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_write
      Src: /src/gpac/src/media_tools/gpac_ogg.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: oggpack_writealign
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_write
    linkageType: ''
    returnType: void
    signature: 'void oggpack_writealign(oggpack_buffer *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: w
      Src: /src/gpac/src/media_tools/gpac_ogg.c:198,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:207,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:203,1
    - Dst: w
      Src: /src/gpac/src/media_tools/gpac_ogg.c:215,1
    - Dst: w
      Src: /src/gpac/src/media_tools/gpac_ogg.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - b
    - source
    - bits
    - (*w)
    - msb
    argTypes:
    - oggpack_buffer*
    - void*
    - s32
    - void
    - s32
    constantsTouched: []
    func_position:
      end: 219
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 219
    functionName: oggpack_writecopy_helper
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - w
    linkageType: ''
    returnType: void
    signature: 'static void oggpack_writecopy_helper(oggpack_buffer *b, void *source,
      s32 bits, void (*w)(oggpack_buffer *, u32, s32), s32 msb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: oggpack_look1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 oggpack_look1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/gpac/src/media_tools/gpac_ogg.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - b
    - buf
    - bytes
    argTypes:
    - oggpack_buffer*
    - unsigned char*
    - s32
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: oggpackB_readinit
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_readinit
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,s32 bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: oggpack_adv1
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void oggpack_adv1(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: oggpack_reset
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void oggpack_reset(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:245,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: oggpack_writeclear
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void oggpack_writeclear(oggpack_buffer *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - oy
    argTypes:
    - ogg_sync_state*
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: ogg_sync_init
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_init(ogg_sync_state *oy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - oy
    - bytes
    argTypes:
    - ogg_sync_state*
    - s32
    constantsTouched: []
    func_position:
      end: 1041
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1041
    functionName: ogg_sync_wrote
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_wrote(ogg_sync_state *oy, s32 bytes) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ogg_page_version
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1184,1
    - Dst: ogg_page_bos
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1186,1
    - Dst: ogg_page_granulepos
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1188,1
    - Dst: ogg_page_continued
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1185,1
    - Dst: ogg_page_eos
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1187,1
    - Dst: ogg_page_serialno
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1189,1
    - Dst: ogg_page_pageno
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1190,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1202,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1209,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1211,1
    - Dst: _os_lacing_expand
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1224,1
    - Dst: _os_body_expand
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1258,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1259,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - os
    - og
    argTypes:
    - ogg_stream_state*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1299
    functionName: ogg_stream_pagein
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_page_pageno
    - _os_body_expand
    - ogg_page_version
    - ogg_page_bos
    - ogg_page_eos
    - _os_lacing_expand
    - memcpy
    - ogg_page_granulepos
    - memmove
    - ogg_page_continued
    - ogg_page_serialno
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_pagein(ogg_stream_state *os, ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - os
    argTypes:
    - ogg_stream_state*
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: ogg_stream_eos
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_eos(ogg_stream_state *os) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - os
    - needed
    argTypes:
    - ogg_stream_state*
    - s32
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: _os_body_expand
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void _os_body_expand(ogg_stream_state *os,s32 needed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ogg_sync_clear
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1003,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - oy
    argTypes:
    - ogg_sync_state*
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    functionName: ogg_sync_destroy
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_sync_clear
    - gf_free
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_destroy(ogg_sync_state *oy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: ogg_page_version
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_version(ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: ogg_page_granulepos
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s64
    signature: 's64 ogg_page_granulepos(ogg_page *og) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/gpac_ogg.c:866,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:930,1
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:931,1
    - Dst: ogg_page_checksum_set
      Src: /src/gpac/src/media_tools/gpac_ogg.c:936,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 2
    argNames:
    - os
    - og
    argTypes:
    - ogg_stream_state*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 940
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 940
    functionName: ogg_stream_flush
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - ogg_page_checksum_set
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_flush(ogg_stream_state *os,ogg_page *og) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ogg_sync_pageseek
      Src: /src/gpac/src/media_tools/gpac_ogg.c:1154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - oy
    - og
    argTypes:
    - ogg_sync_state*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1173
    functionName: ogg_sync_pageout
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - ogg_sync_pageseek
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - oy
    argTypes:
    - ogg_sync_state*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1310
    functionName: ogg_sync_reset
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_sync_reset(ogg_sync_state *oy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - os
    - op
    - adv
    argTypes:
    - ogg_stream_state*
    - ogg_packet*
    - s32
    constantsTouched: []
    func_position:
      end: 1390
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1390
    functionName: _packetout
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 _packetout(ogg_stream_state *os,ogg_packet *op,s32 adv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_reset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: oggpackB_reset
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - oggpack_reset
    linkageType: ''
    returnType: void
    signature: 'void oggpackB_reset(oggpack_buffer *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: ogg_page_continued
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_continued(ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: ogg_page_serialno
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_page_serialno(ogg_page *og) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - os
    argTypes:
    - ogg_stream_state*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1329
    functionName: ogg_stream_reset
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_reset(ogg_stream_state *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:55,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - oggpack_buffer*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: oggpack_writeinit
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: 'void oggpack_writeinit(oggpack_buffer *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/media_tools/gpac_ogg.c:782,1
    - Dst: _os_lacing_expand
      Src: /src/gpac/src/media_tools/gpac_ogg.c:789,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/gpac_ogg.c:796,1
    - Dst: _os_body_expand
      Src: /src/gpac/src/media_tools/gpac_ogg.c:788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - os
    - op
    argTypes:
    - ogg_stream_state*
    - ogg_packet*
    constantsTouched: []
    func_position:
      end: 818
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 818
    functionName: ogg_stream_packetin
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - _os_body_expand
    - memmove
    - _os_lacing_expand
    - memcpy
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - og
    argTypes:
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 769
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 769
    functionName: ogg_page_checksum_set
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ogg_page_checksum_set(ogg_page *og) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/media_tools/gpac_ogg.c:687,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:693,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:689,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/gpac_ogg.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - os
    - serialno
    argTypes:
    - ogg_stream_state*
    - s32
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: ogg_stream_init
    functionSourceFile: /src/gpac/src/media_tools/gpac_ogg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    linkageType: ''
    returnType: s32
    signature: 's32 ogg_stream_init(ogg_stream_state *os,s32 serialno) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:86,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:99,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/media_export.c:100,1
    - Dst: gf_fputs
      Src: /src/gpac/src/media_tools/media_export.c:120,1
    - Dst: gf_fputc
      Src: /src/gpac/src/media_tools/media_export.c:131,1
    - Dst: CLIP
      Src: /src/gpac/src/media_tools/media_export.c:134,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/media_tools/media_export.c:147,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:149,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_export.c:160,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:172,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:194,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:193,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:177,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:180,1
    - Dst: gf_ftell
      Src: /src/gpac/src/media_tools/media_export.c:172,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/media_export.c:77,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:88,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:95,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:104,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:117,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/media_export.c:111,1
    - Dst: gf_fputs
      Src: /src/gpac/src/media_tools/media_export.c:114,1
    - Dst: gf_fputc
      Src: /src/gpac/src/media_tools/media_export.c:137,1
    - Dst: vobsub_packetize_subpicture
      Src: /src/gpac/src/media_tools/media_export.c:173,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:174,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:190,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/media_export.c:103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:134,1
    - Dst: CLIP
      Src: /src/gpac/src/media_tools/media_export.c:134,1
    - Dst: CLIP
      Src: /src/gpac/src/media_tools/media_export.c:134,1
    - Dst: gf_fputs
      Src: /src/gpac/src/media_tools/media_export.c:140,1
    - Dst: gf_fputs
      Src: /src/gpac/src/media_tools/media_export.c:144,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:148,1
    - Dst: vobsub_lang_id
      Src: /src/gpac/src/media_tools/media_export.c:148,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:152,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_export.c:77,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:82,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/media_export.c:89,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:90,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:92,1
    - Dst: stricmp
      Src: /src/gpac/src/media_tools/media_export.c:100,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:106,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:107,1
    - Dst: gf_fputs
      Src: /src/gpac/src/media_tools/media_export.c:141,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:181,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:176,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:175,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 139
    argCount: 5
    argNames:
    - dumper
    - szName
    - track
    - dsi
    - dsiSize
    argTypes:
    - GF_MediaExporter*
    - char*
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 200
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 200
    functionName: gf_dump_to_vobsub
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - vobsub_packetize_subpicture
    - gf_export_message
    - vobsub_lang_id
    - gf_file_ext_start
    - gf_file_basename
    - strcpy
    - stricmp
    - gf_fopen
    - gf_set_progress
    - gf_isom_get_track_layout_info
    - gf_ftell
    - gf_fputs
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_filename
    - strcat
    - CLIP
    - gf_isom_get_sample
    - gf_fputc
    - gf_fclose
    - gf_isom_get_media_language
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dump_to_vobsub(GF_MediaExporter *dumper, char *szName,
      u32 track, char *dsi, u32 dsiSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/media_export.c:349,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - GF_CODECID_MPEG4_PART2
    argTypes:
    - esd
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_isom_set_pl_indication
    - gf_m4v_get_config
    linkageType: ''
    returnType: else
    signature: "else if ((esd->decoderConfig->objectTypeIndication==GF_CODECID_MPEG4_PART2)\t\t\t&&
      esd->decoderConfig->decoderSpecificInfo ) "
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_export.c:226,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_export.c:229,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/media_tools/media_export.c:237,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/media_export.c:254,1
    - Dst: gf_isom_get_track_creation_time
      Src: /src/gpac/src/media_tools/media_export.c:241,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/media_tools/media_export.c:246,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/media_tools/media_export.c:285,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/media_tools/media_export.c:325,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:342,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:354,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:373,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:337,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:378,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_export.c:221,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/media_tools/media_export.c:236,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_export.c:236,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_export.c:236,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/media_export.c:239,1
    - Dst: gf_isom_clone_sample_description
      Src: /src/gpac/src/media_tools/media_export.c:248,1
    - Dst: gf_isom_set_track_creation_time
      Src: /src/gpac/src/media_tools/media_export.c:242,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_export.c:281,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:296,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/media_tools/media_export.c:318,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:336,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_export.c:216,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:216,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_export.c:220,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/media_tools/media_export.c:266,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:297,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:299,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/media_tools/media_export.c:313,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:335,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/media_export.c:367,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/media_export.c:349,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:333,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:379,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:350,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:372,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/media_tools/media_export.c:261,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/media_export.c:272,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/media_tools/media_export.c:273,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:282,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_export.c:284,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_export.c:302,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:308,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:317,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/media_export.c:321,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/media_tools/media_export.c:328,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:332,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:355,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/media_tools/media_export.c:381,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:368,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:360,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 155
    argCount: 6
    argNames:
    - dumper
    - infile
    - inTrackNum
    - outfile
    - ResetDependencies
    - AddToIOD
    argTypes:
    - GF_MediaExporter*
    - GF_ISOFile*
    - u32
    - GF_ISOFile*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 384
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 384
    functionName: gf_export_isom_copy_track
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_isom_set_track_layout_info
    - gf_m4v_get_config
    - gf_export_message
    - gf_odf_desc_del
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_m4a_get_config
    - gf_isom_get_track_by_id
    - gf_isom_get_track_creation_time
    - gf_isom_clone_sample_description
    - gf_isom_set_track_creation_time
    - gf_isom_add_sample
    - gf_isom_get_media_duration
    - gf_isom_new_mpeg4_description
    - gf_isom_change_mpeg4_description
    - gf_isom_new_track
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - gf_isom_set_track_enabled
    - gf_isom_get_esd
    - gf_isom_add_track_to_root_od
    - gf_set_progress
    - gf_isom_get_track_layout_info
    - gf_isom_get_track_id
    - gf_isom_set_pl_indication
    - gf_isom_remove_root_od
    - gf_isom_get_root_od
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_set_visual_info
    - gf_isom_get_visual_info
    - gf_isom_get_sample
    - gf_isom_has_keep_utc_times
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_export_isom_copy_track(GF_MediaExporter *dumper,
      GF_ISOFile *infile, u32 inTrackNum, GF_ISOFile *outfile, Bool ResetDependencies,
      Bool AddToIOD) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_export.c:718,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:729,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:742,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:787,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:805,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:812,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:813,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:814,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:732,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:741,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:760,1
    - Dst: gf_webvtt_dump_header_boxed
      Src: /src/gpac/src/media_tools/media_export.c:767,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/media_export.c:774,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:779,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/src/media_tools/media_export.c:781,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:800,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:801,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:803,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_export.c:717,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:730,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_export.c:759,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_export.c:754,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:759,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:784,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:790,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/media_export.c:796,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:802,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:808,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:718,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:721,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_export.c:727,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:733,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:736,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:739,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:758,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:743,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_export.c:792,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:809,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:804,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 817
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 817
    functionName: gf_media_export_six
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - GF_LOG
    - gf_export_message
    - gf_odf_desc_del
    - gf_fwrite
    - gf_isom_get_media_subtype
    - gf_isom_get_track_by_id
    - gf_isom_get_generic_sample_description
    - gf_isom_get_media_timescale
    - gf_fopen
    - gf_isom_get_esd
    - gf_set_progress
    - sprintf
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_get_filename
    - gf_webvtt_dump_header_boxed
    - gf_isom_get_sample
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_export_six(GF_MediaExporter *dumper) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_saf_mux_stream_add
      Src: /src/gpac/src/media_tools/media_export.c:861,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:867,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:921,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/media_export.c:934,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/media_export.c:946,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:949,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:958,1
    - Dst: memset
      Src: /src/gpac/src/media_tools/media_export.c:844,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_export.c:839,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:898,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/media_export.c:892,1
    - Dst: gf_saf_mux_stream_add
      Src: /src/gpac/src/media_tools/media_export.c:893,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/media_export.c:914,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:918,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_export.c:930,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:939,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:947,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/media_export.c:954,1
    - Dst: gf_saf_mux_new
      Src: /src/gpac/src/media_tools/media_export.c:838,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/media_export.c:842,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_export.c:849,1
    - Dst: gf_isom_find_od_id_for_track
      Src: /src/gpac/src/media_tools/media_export.c:856,1
    - Dst: gf_saf_mux_stream_add
      Src: /src/gpac/src/media_tools/media_export.c:863,1
    - Dst: gf_saf_mux_del
      Src: /src/gpac/src/media_tools/media_export.c:908,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:912,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_export.c:871,1
    - Dst: gf_saf_mux_del
      Src: /src/gpac/src/media_tools/media_export.c:920,1
    - Dst: gf_saf_mux_for_time
      Src: /src/gpac/src/media_tools/media_export.c:944,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:961,1
    - Dst: gf_saf_mux_del
      Src: /src/gpac/src/media_tools/media_export.c:960,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/media_export.c:853,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_export.c:854,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:907,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:909,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:916,1
    - Dst: strcat
      Src: /src/gpac/src/media_tools/media_export.c:917,1
    - Dst: gf_saf_mux_del
      Src: /src/gpac/src/media_tools/media_export.c:932,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:933,1
    - Dst: gf_saf_mux_add_au
      Src: /src/gpac/src/media_tools/media_export.c:937,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:955,1
    - Dst: gf_saf_mux_for_time
      Src: /src/gpac/src/media_tools/media_export.c:952,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 123
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 966
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 966
    functionName: gf_media_export_saf
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_saf_mux_for_time
    - gf_saf_mux_add_au
    - gf_saf_mux_del
    - gf_export_message
    - gf_odf_desc_del
    - gf_fwrite
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_saf_mux_stream_add
    - strcmp
    - gf_isom_find_od_id_for_track
    - gf_isom_get_track_count
    - strcpy
    - gf_isom_get_media_timescale
    - gf_fopen
    - gf_isom_get_esd
    - gf_set_progress
    - gf_isom_get_track_id
    - gf_isom_last_error
    - gf_free
    - gf_isom_get_sample_count
    - strcat
    - gf_saf_mux_new
    - gf_isom_get_sample
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_export_saf(GF_MediaExporter *dumper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/media_tools/media_export.c:55,1
    - Dst: vsnprintf
      Src: /src/gpac/src/media_tools/media_export.c:59,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:61,1
    - Dst: va_start
      Src: /src/gpac/src/media_tools/media_export.c:58,1
    - Dst: va_end
      Src: /src/gpac/src/media_tools/media_export.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dumper
    - e
    - format
    - '...'
    argTypes:
    - GF_MediaExporter*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: gf_export_message
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_export_message(GF_MediaExporter *dumper, GF_Err e,
      char *format, ...) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_export.c:399,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:400,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:396,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:430,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:420,1
    - Dst: gf_isom_keep_utc_times
      Src: /src/gpac/src/media_tools/media_export.c:452,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/media_tools/media_export.c:455,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:457,1
    - Dst: gf_isom_remove_track_from_root_od
      Src: /src/gpac/src/media_tools/media_export.c:447,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_export.c:396,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_export.c:411,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:413,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/media_export.c:416,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:431,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:432,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:433,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:434,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:435,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/media_tools/media_export.c:446,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:408,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:409,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:424,1
    - Dst: gf_isom_open
      Src: /src/gpac/src/media_tools/media_export.c:427,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:414,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/media_export.c:437,1
    - Dst: gf_export_isom_copy_track
      Src: /src/gpac/src/media_tools/media_export.c:443,1
    - Dst: gf_isom_has_keep_utc_times
      Src: /src/gpac/src/media_tools/media_export.c:451,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_export.c:395,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:412,1
    - Dst: gf_isom_get_creation_time
      Src: /src/gpac/src/media_tools/media_export.c:439,1
    - Dst: gf_isom_set_creation_time
      Src: /src/gpac/src/media_tools/media_export.c:440,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/media_tools/media_export.c:454,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 459
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 459
    functionName: gf_media_export_isom
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_isom_keep_utc_times
    - gf_export_message
    - gf_isom_remove_track_from_root_od
    - gf_isom_get_media_type
    - gf_file_ext_start
    - gf_isom_get_track_by_id
    - gf_isom_get_creation_time
    - strcmp
    - gf_isom_set_creation_time
    - gf_isom_close
    - gf_isom_get_track_count
    - gf_fopen
    - gf_dynstrcat
    - gf_isom_set_pl_indication
    - gf_export_isom_copy_track
    - gf_free
    - gf_isom_delete
    - gf_isom_get_filename
    - gf_isom_open
    - gf_isom_has_keep_utc_times
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_export_isom(GF_MediaExporter *dumper) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/media_tools/media_export.c:486,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:545,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:558,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:657,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/media_export.c:658,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:511,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/media_tools/media_export.c:523,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:540,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/media_tools/media_export.c:550,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:684,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:597,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/media_tools/media_export.c:494,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:564,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:624,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/media_export.c:648,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/media_export.c:655,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:661,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:696,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:623,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/src/media_tools/media_export.c:603,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:616,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:486,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:498,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/media_tools/media_export.c:528,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:535,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:610,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:633,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:510,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:563,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/media_export.c:654,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/media_export.c:681,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_export.c:514,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:523,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/media_tools/media_export.c:549,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:621,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/media_tools/media_export.c:540,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:614,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:662,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/media_tools/media_export.c:671,1
    - Dst: gf_webvtt_dump_header_boxed
      Src: /src/gpac/src/media_tools/media_export.c:584,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:552,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:622,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:609,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:615,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:695,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:525,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:530,1
    - Dst: gf_isom_get_handler_name
      Src: /src/gpac/src/media_tools/media_export.c:534,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/media_tools/media_export.c:537,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:637,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:551,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:613,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/media_export.c:629,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:604,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:608,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/media_export.c:656,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:659,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:667,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/media_export.c:593,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:506,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:618,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:664,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/media_export.c:691,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/media_tools/media_export.c:523,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:557,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/media_export.c:653,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:665,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:688,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/media_tools/media_export.c:692,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:605,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_export.c:520,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:507,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:634,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:677,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/media_tools/media_export.c:682,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:489,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/media_tools/media_export.c:556,1
    - Dst: gf_webvtt_dump_header_boxed
      Src: /src/gpac/src/media_tools/media_export.c:588,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:604,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:617,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:608,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:611,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:646,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:668,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/media_export.c:675,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:501,1
    - Dst: gf_export_message
      Src: /src/gpac/src/media_tools/media_export.c:502,1
    - Dst: gf_fclose
      Src: /src/gpac/src/media_tools/media_export.c:509,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:547,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:601,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:666,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_export.c:485,1
    - Dst: gf_fopen
      Src: /src/gpac/src/media_tools/media_export.c:499,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/media_tools/media_export.c:562,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:565,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:566,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:583,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:643,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:537,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:612,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:538,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:625,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:620,1
    - Dst: gf_isom_is_video_handler_type
      Src: /src/gpac/src/media_tools/media_export.c:607,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:640,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:685,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/media_export.c:641,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 224
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 698
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 698
    functionName: gf_media_export_webvtt_metadata
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fprintf
    - gf_isom_is_track_in_root_od
    - GF_LOG
    - gf_export_message
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_fwrite
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_gpac_version
    - gf_isom_get_track_by_id
    - gf_isom_get_audio_info
    - gf_file_basename
    - gf_isom_is_video_handler_type
    - gf_isom_get_generic_sample_description
    - gf_fopen
    - gf_isom_get_esd
    - gf_set_progress
    - gf_isom_get_track_layout_info
    - sprintf
    - gf_isom_get_handler_name
    - gf_sys_is_test_mode
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_filename
    - gf_isom_get_visual_info
    - gf_webvtt_timestamp_set
    - gf_isom_get_sample_duration
    - gf_realloc
    - gf_webvtt_timestamp_dump
    - gf_webvtt_dump_header_boxed
    - gf_isom_get_sample
    - gf_fclose
    - gf_base64_encode
    - gf_isom_get_media_language
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_media_export_webvtt_metadata(GF_MediaExporter *dumper) '
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1160,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1185,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1212,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1285,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1287,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1306,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1365,1
    - Dst: gf_fs_print_non_connected
      Src: /src/gpac/src/media_tools/media_export.c:1385,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/media_tools/media_export.c:1387,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1221,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1242,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/media_tools/media_export.c:1134,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:1209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1244,1
    - Dst: gf_media_import
      Src: /src/gpac/src/media_tools/media_export.c:1113,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/media_export.c:1139,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/media_export.c:1213,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1256,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1260,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1230,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1203,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:982,1
    - Dst: gf_codec_id_from_isobmf
      Src: /src/gpac/src/media_tools/media_export.c:1014,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:1039,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1222,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:1214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1261,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1302,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1286,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1149,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/media_tools/media_export.c:1031,1
    - Dst: strncpy
      Src: /src/gpac/src/media_tools/media_export.c:1048,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_export.c:1050,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:1099,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_export.c:1135,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1313,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/media_export.c:1381,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/media_tools/media_export.c:1376,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1023,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/media_tools/media_export.c:1036,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1205,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1210,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1226,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1361,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/media_export.c:1023,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:1101,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/media_export.c:1237,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1298,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1310,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1312,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1337,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1343,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/media_tools/media_export.c:1043,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1239,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1258,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1278,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1281,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1324,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1275,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/media_tools/media_export.c:1168,1
    - Dst: gf_media_map_esd
      Src: /src/gpac/src/media_tools/media_export.c:995,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/media_tools/media_export.c:1096,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1115,1
    - Dst: strchr
      Src: /src/gpac/src/media_tools/media_export.c:1141,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1262,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1319,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1031,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/media_tools/media_export.c:1016,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1170,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1190,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1194,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1217,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1270,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1276,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1280,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1351,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_export.c:1371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1229,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/media_export.c:1003,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/media_tools/media_export.c:1013,1
    - Dst: gf_audio_fmt_from_isobmf
      Src: /src/gpac/src/media_tools/media_export.c:1034,1
    - Dst: gf_pixel_fmt_from_qt_type
      Src: /src/gpac/src/media_tools/media_export.c:1018,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/media_export.c:1109,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1243,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1321,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1352,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1180,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1181,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1215,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1301,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/media_tools/media_export.c:1158,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/media_tools/media_export.c:990,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/media_export.c:996,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1080,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1207,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1255,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1291,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1295,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/media_tools/media_export.c:1386,1
    - Dst: gf_codecid_from_oti
      Src: /src/gpac/src/media_tools/media_export.c:999,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:1178,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1341,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/media_tools/media_export.c:1347,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_export.c:1369,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/media_tools/media_export.c:1374,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/media_tools/media_export.c:1377,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1334,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/media_tools/media_export.c:1368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:992,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1036,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1039,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/media_export.c:1044,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1184,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1231,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/media_tools/media_export.c:1283,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1328,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1359,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1388,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:989,1
    - Dst: gf_dump_to_vobsub
      Src: /src/gpac/src/media_tools/media_export.c:1092,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/media_tools/media_export.c:1200,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/media_export.c:1248,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1294,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1317,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1325,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/media_tools/media_export.c:1352,1
    - Dst: gf_fs_print_unused_args
      Src: /src/gpac/src/media_tools/media_export.c:1383,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/media_export.c:1171,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1188,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1191,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1219,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/media_export.c:1082,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1218,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1253,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/media_tools/media_export.c:1269,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/media_export.c:1315,1
    - Dst: sprintf
      Src: /src/gpac/src/media_tools/media_export.c:1336,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 401
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 1390
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1390
    functionName: gf_media_export_filters
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_pixel_fmt_sname
    - gf_media_import
    - gf_fs_load_source
    - gf_media_map_esd
    - gf_fs_print_non_connected
    - GF_LOG
    - gf_codecid_file_ext
    - gf_dump_to_vobsub
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_pixel_fmt_from_qt_type
    - gf_isom_get_media_subtype
    - gf_fs_print_unused_args
    - strstr
    - gf_isom_get_media_type
    - gf_m4a_get_config
    - gf_file_ext_start
    - gf_fs_run
    - gf_isom_get_track_by_id
    - gf_error_to_string
    - gf_fs_del
    - gf_codec_id_from_isobmf
    - gf_audio_fmt_name
    - strcpy
    - gf_fs_get_last_connect_error
    - gf_dynstrcat
    - gf_filter_set_source
    - gf_fs_load_destination
    - sprintf
    - gf_fs_new_defaults
    - strchr
    - gf_free
    - gf_fs_print_stats
    - gf_isom_get_sample_count
    - gf_fs_print_connections
    - gf_audio_fmt_from_isobmf
    - gf_fs_get_last_process_error
    - strncpy
    - gf_codecid_from_oti
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_media_export_filters(GF_MediaExporter *dumper) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_export_isom
      Src: /src/gpac/src/media_tools/media_export.c:1401,1
    - Dst: gf_media_export_filters
      Src: /src/gpac/src/media_tools/media_export.c:1412,1
    - Dst: gf_media_export_six
      Src: /src/gpac/src/media_tools/media_export.c:1406,1
    - Dst: gf_media_export_saf
      Src: /src/gpac/src/media_tools/media_export.c:1409,1
    - Dst: gf_media_export_webvtt_metadata
      Src: /src/gpac/src/media_tools/media_export.c:1404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - dumper
    argTypes:
    - GF_MediaExporter*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1413
    functionName: gf_media_export
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_media_export_isom
    - gf_media_export_six
    - gf_media_export_filters
    - gf_media_export_saf
    - gf_media_export_webvtt_metadata
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_media_export(GF_MediaExporter *dumper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/media_tools/media_export.c:367,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/media_tools/media_export.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - GF_CODECID_AAC_MPEG4
    argTypes:
    - esd
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/media_export.c
    functionUses: []
    functionsReached:
    - gf_isom_set_pl_indication
    - gf_m4a_get_config
    linkageType: ''
    returnType: else
    signature: "else if ((esd->decoderConfig->objectTypeIndication==GF_CODECID_AAC_MPEG4)\t\t\t&&
      esd->decoderConfig->decoderSpecificInfo ) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: vtcu_box_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vtcu_box_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:111,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: boxstring_box_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void boxstring_box_del(GF_Box *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/media_tools/webvtt.c:153,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/media_tools/webvtt.c:162,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/media_tools/webvtt.c:156,1
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/media_tools/webvtt.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: vtcu_on_child_box
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtcu_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: vtte_box_size
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtte_box_size(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/media_tools/webvtt.c:275,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/media_tools/webvtt.c:277,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/media_tools/webvtt.c:276,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/media_tools/webvtt.c:281,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:278,1
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/media_tools/webvtt.c:284,1
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/media_tools/webvtt.c:287,1
    - Dst: boxstring_new_with_data
      Src: /src/gpac/src/media_tools/webvtt.c:290,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/media_tools/webvtt.c:293,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/media_tools/webvtt.c:294,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - bs
    - cue
    argTypes:
    - GF_BitStream*
    - GF_WebVTTCue*
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: wvtt_write_cue
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - boxstring_new_with_data
    - gf_isom_box_new
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_isom_box_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wvtt_write_cue(GF_BitStream *bs, GF_WebVTTCue *cue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:471,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:480,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:478,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - cue
    - time
    argTypes:
    - GF_WebVTTCue*
    - GF_WebVTTTimestamp*
    constantsTouched: []
    func_position:
      end: 484
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 484
    functionName: gf_webvtt_cue_split_at
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_WebVTTCue*
    signature: 'static GF_WebVTTCue *gf_webvtt_cue_split_at(GF_WebVTTCue *cue, GF_WebVTTTimestamp
      *time) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:532,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:536,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:534,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:535,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:533,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - cue
    argTypes:
    - GF_WebVTTCue*
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: gf_webvtt_cue_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_webvtt_cue_del(GF_WebVTTCue * cue) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parse_timestamp
      Src: /src/gpac/src/media_tools/webvtt.c:889,1
    - Dst: gf_webvtt_parse_timestamp
      Src: /src/gpac/src/media_tools/webvtt.c:918,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:929,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:929,1
    - Dst: gf_webvtt_timestamp_greater
      Src: /src/gpac/src/media_tools/webvtt.c:932,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 4
    argNames:
    - parser
    - cue
    - line
    - len
    argTypes:
    - GF_WebVTTParser*
    - GF_WebVTTCue*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 941
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 941
    functionName: gf_webvtt_parser_parse_timings_settings
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_cue_add_property
    - gf_webvtt_timestamp_greater
    - strlen
    - gf_webvtt_parse_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_parse_timings_settings(GF_WebVTTParser *parser,
      GF_WebVTTCue *cue, char *line, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: vtte_box_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *vtte_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: vtcu_box_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vtcu_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/media_tools/webvtt.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: vtcu_box_read
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtcu_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/media_tools/webvtt.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: wvtt_box_size
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wvtt_box_size(GF_Box *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/webvtt.c:309,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:319,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:311,1
    - Dst: wvtt_write_cue
      Src: /src/gpac/src/media_tools/webvtt.c:315,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/media_tools/webvtt.c:314,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/media_tools/webvtt.c:323,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/media_tools/webvtt.c:324,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/media_tools/webvtt.c:325,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:326,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:328,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:334,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:338,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/media_tools/webvtt.c:337,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:332,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 341
    functionName: gf_isom_webvtt_to_sample
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_bs_get_content
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_list_enum
    - gf_list_count
    - wvtt_write_cue
    - gf_isom_box_del
    - gf_bs_new
    - gf_isom_sample_new
    linkageType: ''
    returnType: GF_ISOSample*
    signature: 'GF_ISOSample *gf_isom_webvtt_to_sample(void *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:543,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/webvtt.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: gf_webvtt_sample_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_WebVTTSample*
    signature: 'static GF_WebVTTSample *gf_webvtt_sample_new() '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/media_tools/webvtt.c:975,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:976,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:999,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1017,1
    - Dst: strcpy
      Src: /src/gpac/src/media_tools/webvtt.c:1001,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/webvtt.c:1036,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1003,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1098,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1130,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1114,1
    - Dst: strstr
      Src: /src/gpac/src/media_tools/webvtt.c:1007,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/webvtt.c:1000,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1043,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/webvtt.c:1068,1
    - Dst: gf_webvtt_cue_new
      Src: /src/gpac/src/media_tools/webvtt.c:1089,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1092,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1097,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:1103,1
    - Dst: gf_webvtt_add_cue_to_samples
      Src: /src/gpac/src/media_tools/webvtt.c:1177,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1189,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1097,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1146,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1183,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1169,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1180,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/webvtt.c:1055,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/media_tools/webvtt.c:967,1
    - Dst: gf_webvtt_add_cue_to_samples
      Src: /src/gpac/src/media_tools/webvtt.c:971,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/webvtt.c:977,1
    - Dst: strnicmp
      Src: /src/gpac/src/media_tools/webvtt.c:983,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:992,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1022,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/media_tools/webvtt.c:1052,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/webvtt.c:1055,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1092,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1190,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1093,1
    - Dst: assert
      Src: /src/gpac/src/media_tools/webvtt.c:1145,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1075,1
    - Dst: gf_webvtt_parser_parse_timings_settings
      Src: /src/gpac/src/media_tools/webvtt.c:1101,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/webvtt.c:1113,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/webvtt.c:1120,1
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/webvtt.c:1121,1
    - Dst: strncmp
      Src: /src/gpac/src/media_tools/webvtt.c:1125,1
    - Dst: gf_webvtt_add_cue_to_samples
      Src: /src/gpac/src/media_tools/webvtt.c:1152,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1181,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:1188,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1054,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/webvtt.c:1138,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1069,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 210
    argCount: 4
    argNames:
    - parser
    - cue
    - ext_file
    - is_eof
    argTypes:
    - GF_WebVTTParser*
    - GF_WebVTTCue*
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1192
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 1192
    functionName: gf_webvtt_parser_parse_internal
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_text_get_utf8_line
    - strstr
    - gf_list_last
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_webvtt_add_cue_to_samples
    - strcpy
    - gf_assert
    - gf_webvtt_cue_del
    - gf_dynstrcat
    - assert
    - gf_list_get
    - REM_TRAIL_MARKS
    - strnicmp
    - gf_free
    - gf_webvtt_parser_parse_timings_settings
    - gf_realloc
    - gf_webvtt_cue_add_property
    - gf_webvtt_cue_new
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_parse_internal(GF_WebVTTParser *parser, GF_WebVTTCue
      *cue, FILE *ext_file, Bool is_eof) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_parse_internal
      Src: /src/gpac/src/media_tools/webvtt.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - parser
    - ext_file
    - in_eos
    argTypes:
    - GF_WebVTTParser*
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1201
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1201
    functionName: gf_webvtt_parser_parse_ext
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_parse_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_parse_ext(GF_WebVTTParser *parser, FILE *ext_file,
      Bool in_eos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_WebVTTTimestamp*
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: gf_webvtt_timestamp_is_zero
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_webvtt_timestamp_is_zero(GF_WebVTTTimestamp *ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: gf_webvtt_parser_last_duration
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_webvtt_parser_last_duration(GF_WebVTTParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: vtte_box_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vtte_box_del(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_base_sample_entry_read
      Src: /src/gpac/src/media_tools/webvtt.c:193,1
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/media_tools/webvtt.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: wvtt_box_read
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    - gf_isom_base_sample_entry_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wvtt_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/media_tools/webvtt.c:205,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/webvtt.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: boxstring_box_write
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err boxstring_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:511,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/webvtt.c:513,1
    - Dst: gf_realloc
      Src: /src/gpac/src/media_tools/webvtt.c:512,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:516,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - cue
    - type
    - text_data
    - text_len
    argTypes:
    - GF_WebVTTCue*
    - GF_WebVTTCuePropertyType
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 519
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 519
    functionName: gf_webvtt_cue_add_property
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - strlen
    - gf_strdup
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_webvtt_cue_add_property(GF_WebVTTCue *cue, GF_WebVTTCuePropertyType
      type, char *text_data, u32 text_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:560,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/webvtt.c:565,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:562,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:563,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:561,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_WebVTTSample*
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: gf_webvtt_sample_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_cue_del
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_sample_del(GF_WebVTTSample * samp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: gf_webvtt_parser_not_done
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_not_done(GF_WebVTTParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_cue_new
      Src: /src/gpac/src/media_tools/webvtt.c:1222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1228,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1224,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1227,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1225,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1229,1
    - Dst: gf_webvtt_parser_parse_internal
      Src: /src/gpac/src/media_tools/webvtt.c:1231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - parser
    - start
    - end
    - vtt_pre
    - vtt_cueid
    - vtt_settings
    argTypes:
    - GF_WebVTTParser*
    - u64
    - u64
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1234
    functionName: gf_webvtt_parser_parse_payload
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_parse_internal
    - gf_webvtt_cue_new
    - gf_strdup
    - gf_webvtt_timestamp_set
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_parse_payload(GF_WebVTTParser *parser, u64
      start, u64 end, const char *vtt_pre, const char *vtt_cueid, const char *vtt_settings) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1264,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1272,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:1290,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/webvtt.c:1252,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1264,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1283,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1278,1
    - Dst: gf_strdup
      Src: /src/gpac/src/media_tools/webvtt.c:1285,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/media_tools/webvtt.c:1258,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:1268,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1269,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1275,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1270,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1283,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1278,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:1288,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/webvtt.c:1253,1
    - Dst: gf_webvtt_cue_new
      Src: /src/gpac/src/media_tools/webvtt.c:1262,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/webvtt.c:1254,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:1265,1
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:1272,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1275,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - data
    - dataLength
    - start
    - end
    argTypes:
    - u8*
    - u32
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1292
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1292
    functionName: gf_webvtt_parse_cues_from_data
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_webvtt_timestamp_set
    - gf_bs_del
    - gf_isom_box_parse
    - gf_strdup
    - gf_isom_box_del
    - gf_bs_new
    - gf_bs_available
    - gf_webvtt_cue_add_property
    - gf_webvtt_cue_new
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List *gf_webvtt_parse_cues_from_data(const u8 *data,
      u32 dataLength, u64 start, u64 end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:127,1
    - Dst: gf_isom_sample_entry_init
      Src: /src/gpac/src/media_tools/webvtt.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: wvtt_box_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_init
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *wvtt_box_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/media_tools/webvtt.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: vtcu_box_write
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtcu_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/media_tools/webvtt.c:399,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/media_tools/webvtt.c:401,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: vtte_box_dump
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtte_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: gf_webvtt_cue_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_WebVTTCue*
    signature: 'static GF_WebVTTCue *gf_webvtt_cue_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:572,1
    - Dst: gf_list_new
      Src: /src/gpac/src/media_tools/webvtt.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: gf_webvtt_parser_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_WebVTTParser*
    signature: 'GF_WebVTTParser *gf_webvtt_parser_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/media_tools/webvtt.c:589,1
    - Dst: gf_webvtt_parser_restart
      Src: /src/gpac/src/media_tools/webvtt.c:590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 8
    argNames:
    - parser
    - vtt_file
    - unicode_type
    - is_srt
    - user
    - (*report_message)
    - (*on_sample_parsed)
    - (*on_header_parsed)
    argTypes:
    - GF_WebVTTParser*
    - FILE*
    - s32
    - Bool
    - void*
    - GF_Err
    - void
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 606
    functionName: gf_webvtt_parser_init
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_webvtt_parser_restart
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_init(GF_WebVTTParser *parser, FILE *vtt_file,
      s32 unicode_type, Bool is_srt, void *user, GF_Err (*report_message)(void *,
      GF_Err, char *, const char *), void (*on_sample_parsed)(void *, GF_WebVTTSample
      *), void (*on_header_parsed)(void *, const char *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - pos
    constantsTouched: []
    func_position:
      end: 912
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 912
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SKIP_WHITESPACE
    signature: 'SKIP_WHITESPACE if (pos == len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1211,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1214,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: gf_webvtt_parser_flush
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_flush(GF_WebVTTParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/media_tools/webvtt.c:1239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - iso_sample
    - start
    - end
    argTypes:
    - GF_ISOSample*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1240
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1240
    functionName: gf_webvtt_parse_iso_cues
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parse_cues_from_data
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List *gf_webvtt_parse_iso_cues(GF_ISOSample *iso_sample,
      u64 start, u64 end) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/media_tools/webvtt.c:1305,1
    - Dst: gf_webvtt_timestamp_is_zero
      Src: /src/gpac/src/media_tools/webvtt.c:1337,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1338,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:1352,1
    - Dst: gf_webvtt_timestamp_is_zero
      Src: /src/gpac/src/media_tools/webvtt.c:1363,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/media_tools/webvtt.c:1379,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1384,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:1378,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1308,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/webvtt.c:1320,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:1372,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:1385,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:1387,1
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/webvtt.c:1300,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1317,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/webvtt.c:1319,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1360,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1361,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1364,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:1376,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1300,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1306,1
    - Dst: gf_webvtt_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:1302,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1307,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:1310,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1315,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1316,1
    - Dst: strcmp
      Src: /src/gpac/src/media_tools/webvtt.c:1321,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:1346,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1358,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 3
    argNames:
    - parser
    - start
    - cues
    argTypes:
    - GF_WebVTTParser*
    - u64
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1390
    functionName: gf_webvtt_merge_cues
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_webvtt_cue_del
    - gf_list_rem_last
    - gf_list_get
    - gf_list_last
    - gf_webvtt_timestamp_set
    - gf_webvtt_sample_del
    - gf_list_count
    - strcmp
    - gf_list_rem
    - gf_webvtt_timestamp_is_zero
    - gf_assert
    - gf_webvtt_sample_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_merge_cues(GF_WebVTTParser *parser, u64 start, GF_List
      *cues) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/webvtt.c:1452,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/media_tools/webvtt.c:1453,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1461,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:1456,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:1455,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:1462,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:1464,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:1465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - dump
    - data
    - dataLength
    - dumpedLength
    argTypes:
    - FILE*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1468
    functionName: gf_webvtt_dump_header_boxed
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_del
    - gf_fprintf
    - gf_isom_box_parse
    - gf_isom_box_del
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_dump_header_boxed(FILE *dump, const u8 *data, u32
      dataLength, u32 *dumpedLength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ts
    - value
    argTypes:
    - GF_WebVTTTimestamp*
    - u64
    constantsTouched: []
    func_position:
      end: 1426
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1426
    functionName: gf_webvtt_timestamp_set
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_timestamp_set(GF_WebVTTTimestamp *ts, u64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_sample_entry_predestroy
      Src: /src/gpac/src/media_tools/webvtt.c:134,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: wvtt_box_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_entry_predestroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void wvtt_box_del(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/media_tools/webvtt.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: vtte_box_write
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtte_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: boxstring_box_size
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err boxstring_box_size(GF_Box *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_WebVTTSample*
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: gf_webvtt_sample_get_start
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_webvtt_sample_get_start(GF_WebVTTSample * samp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:629,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:630,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:633,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:631,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: gf_webvtt_parser_reset
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_webvtt_sample_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_reset(GF_WebVTTParser *parser) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:802,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 103
    argCount: 3
    argNames:
    - parser
    - ts
    - line
    argTypes:
    - GF_WebVTTParser*
    - GF_WebVTTTimestamp*
    - char*
    constantsTouched: []
    func_position:
      end: 866
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 866
    functionName: gf_webvtt_parse_timestamp
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parse_timestamp(GF_WebVTTParser *parser, GF_WebVTTTimestamp
      *ts, const char *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - pos
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SKIP_WHITESPACE
    signature: 'SKIP_WHITESPACE if (pos == len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_isom_get_description
      Src: /src/gpac/src/media_tools/webvtt.c:1474,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1478,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - dump
    - file
    - track
    - box_mode
    - index
    argTypes:
    - FILE*
    - GF_ISOFile*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 1486
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1486
    functionName: gf_webvtt_dump_header
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_isom_get_description
    - gf_isom_box_dump
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_dump_header(FILE *dump, GF_ISOFile *file, u32 track,
      Bool box_mode, u32 index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISOM_DECL_BOX_ALLOC
      Src: /src/gpac/src/media_tools/webvtt.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: boxstring_box_new
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - ISOM_DECL_BOX_ALLOC
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *boxstring_box_new() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:71,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/media_tools/webvtt.c:80,1
    - Dst: gf_isom_box_new_parent
      Src: /src/gpac/src/media_tools/webvtt.c:78,1
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/webvtt.c:83,1
    - Dst: isspace
      Src: /src/gpac/src/media_tools/webvtt.c:72,1
    - Dst: memcpy
      Src: /src/gpac/src/media_tools/webvtt.c:84,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/webvtt.c:90,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/media_tools/webvtt.c:90,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 3
    argNames:
    - type
    - string
    - parent
    argTypes:
    - u32
    - char*
    - GF_List**
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: boxstring_new_with_data
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_isom_box_new
    - gf_isom_box_new_parent
    - isspace
    - GF_LOG
    - memcpy
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Box*
    signature: 'GF_Box *boxstring_new_with_data(u32 type, const char *string, GF_List
      **parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/media_tools/webvtt.c:141,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/media_tools/webvtt.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: boxstring_box_read
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err boxstring_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_write_header
      Src: /src/gpac/src/media_tools/webvtt.c:229,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/media_tools/webvtt.c:230,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/media_tools/webvtt.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: wvtt_box_write
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_isom_box_write_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wvtt_box_write(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/media_tools/webvtt.c:247,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/media_tools/webvtt.c:249,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/media_tools/webvtt.c:248,1
    - Dst: gf_isom_check_position
      Src: /src/gpac/src/media_tools/webvtt.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: vtcu_box_size
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_check_position
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtcu_box_size(GF_Box *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: gf_isom_webvtt_cues_count
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_isom_webvtt_cues_count(void *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - samp
    argTypes:
    - GF_WebVTTSample*
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: gf_webvtt_sample_get_end
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_webvtt_sample_get_end(GF_WebVTTSample * samp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_reset
      Src: /src/gpac/src/media_tools/webvtt.c:650,1
    - Dst: gf_free
      Src: /src/gpac/src/media_tools/webvtt.c:652,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/webvtt.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: gf_webvtt_parser_del
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_del(GF_WebVTTParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parse_iso_cues
      Src: /src/gpac/src/media_tools/webvtt.c:1400,1
    - Dst: gf_webvtt_merge_cues
      Src: /src/gpac/src/media_tools/webvtt.c:1401,1
    - Dst: gf_list_del
      Src: /src/gpac/src/media_tools/webvtt.c:1402,1
    - Dst: gf_webvtt_dump_iso_sample
      Src: /src/gpac/src/media_tools/webvtt.c:1406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 6
    argNames:
    - parser
    - timescale
    - iso_sample
    - duration
    - merge
    - box_mode
    argTypes:
    - GF_WebVTTParser*
    - u32
    - GF_ISOSample*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1410
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1410
    functionName: gf_webvtt_parse_iso_sample
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parse_iso_cues
    - gf_webvtt_dump_iso_sample
    - gf_list_del
    - gf_webvtt_merge_cues
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_webvtt_parse_iso_sample(GF_WebVTTParser *parser,
      u32 timescale, GF_ISOSample *iso_sample, u32 duration, Bool merge, Bool box_mode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1506,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1510,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1511,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1523,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/media_tools/webvtt.c:1527,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1494,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/media_tools/webvtt.c:1496,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/media_tools/webvtt.c:1497,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/media_tools/webvtt.c:1501,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1512,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1513,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1515,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1519,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/media_tools/webvtt.c:1525,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1517,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1514,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1521,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1520,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1516,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - dump
    - timescale
    - iso_sample
    - box_mode
    argTypes:
    - FILE*
    - u32
    - GF_ISOSample*
    - Bool
    constantsTouched: []
    func_position:
      end: 1532
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1532
    functionName: gf_webvtt_dump_iso_sample
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_timestamp_set
    - gf_fprintf
    - gf_bs_del
    - gf_isom_box_parse
    - gf_webvtt_timestamp_dump
    - gf_isom_box_del
    - gf_bs_new
    - gf_bs_available
    - gf_isom_box_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_dump_iso_sample(FILE *dump, u32 timescale, GF_ISOSample
      *iso_sample, Bool box_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1597,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1598,1
    - Dst: gf_webvtt_dump_cue
      Src: /src/gpac/src/media_tools/webvtt.c:1599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dump
    - cues
    argTypes:
    - FILE*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1602
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1602
    functionName: gf_webvtt_dump_cues
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_dump_cue
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_webvtt_dump_cues(FILE *dump, GF_List *cues) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/media_tools/webvtt.c:1539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1540,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1542,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:1539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:1543,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1544,1
    - Dst: gf_webvtt_timestamp_is_zero
      Src: /src/gpac/src/media_tools/webvtt.c:1545,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/media_tools/webvtt.c:1546,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:1549,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:1552,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:1551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - parser
    - duration
    argTypes:
    - GF_WebVTTParser*
    - u64
    constantsTouched: []
    func_position:
      end: 1555
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1555
    functionName: gf_webvtt_parser_finalize
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_cue_del
    - gf_list_get
    - gf_webvtt_sample_del
    - gf_webvtt_timestamp_set
    - gf_list_count
    - gf_webvtt_timestamp_is_zero
    - gf_list_rem
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_finalize(GF_WebVTTParser *parser, u64 duration) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_array_read
      Src: /src/gpac/src/media_tools/webvtt.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - bs
    argTypes:
    - GF_Box*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: vtte_box_read
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_array_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtte_box_read(GF_Box *s, GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/media_tools/webvtt.c:381,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:383,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:384,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/media_tools/webvtt.c:385,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 387
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 387
    functionName: boxstring_box_dump
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fprintf
    - gf_isom_box_dump_done
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err boxstring_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ts1
    - ts2
    argTypes:
    - GF_WebVTTTimestamp*
    - GF_WebVTTTimestamp*
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: gf_webvtt_timestamp_greater
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_webvtt_timestamp_greater(GF_WebVTTTimestamp *ts1, GF_WebVTTTimestamp
      *ts2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vttparser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: gf_webvtt_parser_suspend
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_suspend(GF_WebVTTParser *vttparser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ts
    argTypes:
    - GF_WebVTTTimestamp*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1432
    functionName: gf_webvtt_timestamp_get
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_webvtt_timestamp_get(GF_WebVTTTimestamp *ts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1563,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1564,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1565,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1567,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1569,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1570,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1571,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1573,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1574,1
    - Dst: gf_webvtt_timestamp_dump
      Src: /src/gpac/src/media_tools/webvtt.c:1575,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1582,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1583,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1585,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1578,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1580,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1586,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1587,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - user
    - cue
    argTypes:
    - void*
    - GF_WebVTTCue*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1589
    functionName: gf_webvtt_dump_cue
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_timestamp_dump
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_webvtt_dump_cue(void *user, GF_WebVTTCue *cue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOX_FIELD_ASSIGN
      Src: /src/gpac/src/media_tools/webvtt.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - is_rem
    argTypes:
    - GF_Box*
    - GF_Box*
    - Bool
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: wvtt_on_child_box
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - BOX_FIELD_ASSIGN
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wvtt_on_child_box(GF_Box *s, GF_Box *a, Bool is_rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/media_tools/webvtt.c:391,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:392,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/media_tools/webvtt.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: vtcu_box_dump
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtcu_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_dump_start
      Src: /src/gpac/src/media_tools/webvtt.c:407,1
    - Dst: gf_isom_box_dump_done
      Src: /src/gpac/src/media_tools/webvtt.c:409,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - trace
    argTypes:
    - GF_Box*
    - FILE*
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: wvtt_box_dump
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_box_dump_done
    - gf_fprintf
    - gf_isom_box_dump_start
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wvtt_box_dump(GF_Box *a, FILE * trace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fseek
      Src: /src/gpac/src/media_tools/webvtt.c:617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:620,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:620,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/media_tools/webvtt.c:621,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: gf_webvtt_parser_restart
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_webvtt_sample_del
    - gf_list_count
    - gf_list_rem
    - gf_fseek
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_restart(GF_WebVTTParser *parser) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_timestamp_get
      Src: /src/gpac/src/media_tools/webvtt.c:675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/media_tools/webvtt.c:692,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/webvtt.c:701,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:717,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/media_tools/webvtt.c:723,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:747,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:749,1
    - Dst: gf_webvtt_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:770,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:696,1
    - Dst: gf_webvtt_cue_split_at
      Src: /src/gpac/src/media_tools/webvtt.c:718,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:746,1
    - Dst: gf_webvtt_cue_split_at
      Src: /src/gpac/src/media_tools/webvtt.c:748,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:751,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:771,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:774,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:684,1
    - Dst: gf_webvtt_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:711,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/webvtt.c:714,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:733,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:719,1
    - Dst: gf_list_add
      Src: /src/gpac/src/media_tools/webvtt.c:735,1
    - Dst: gf_webvtt_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:742,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/media_tools/webvtt.c:745,1
    - Dst: gf_webvtt_timestamp_get
      Src: /src/gpac/src/media_tools/webvtt.c:674,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/media_tools/webvtt.c:691,1
    - Dst: gf_list_get
      Src: /src/gpac/src/media_tools/webvtt.c:686,1
    - Dst: gf_list_count
      Src: /src/gpac/src/media_tools/webvtt.c:716,1
    - Dst: gf_webvtt_cue_split_at
      Src: /src/gpac/src/media_tools/webvtt.c:734,1
    - Dst: gf_webvtt_sample_new
      Src: /src/gpac/src/media_tools/webvtt.c:762,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 3
    argNames:
    - parser
    - samples
    - cue
    argTypes:
    - GF_WebVTTParser*
    - GF_List*
    - GF_WebVTTCue*
    constantsTouched: []
    func_position:
      end: 777
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 777
    functionName: gf_webvtt_add_cue_to_samples
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_timestamp_get
    - gf_webvtt_cue_del
    - gf_list_add
    - gf_list_get
    - gf_list_insert
    - gf_list_count
    - GF_LOG
    - gf_list_del_item
    - gf_webvtt_sample_new
    - gf_webvtt_cue_split_at
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_webvtt_add_cue_to_samples(GF_WebVTTParser *parser,
      GF_List *samples, GF_WebVTTCue *cue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_cue_add_property
      Src: /src/gpac/src/media_tools/webvtt.c:929,1
    - Dst: strlen
      Src: /src/gpac/src/media_tools/webvtt.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - pos
    constantsTouched: []
    func_position:
      end: 930
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 930
    functionName: if
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_cue_add_property
    - strlen
    linkageType: ''
    returnType: SKIP_WHITESPACE
    signature: 'SKIP_WHITESPACE if (pos < len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_parse_internal
      Src: /src/gpac/src/media_tools/webvtt.c:1196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_WebVTTParser*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1197
    functionName: gf_webvtt_parser_parse
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_parse_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_parser_parse(GF_WebVTTParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1437,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ts
    - dump
    - dump_hour
    argTypes:
    - GF_WebVTTTimestamp*
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 1441
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1441
    functionName: gf_webvtt_timestamp_dump
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_timestamp_dump(GF_WebVTTTimestamp *ts, FILE *dump,
      Bool dump_hour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - parser
    - (*on_cue_read)
    - udta
    argTypes:
    - GF_WebVTTParser*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1616
    functionName: gf_webvtt_parser_cue_callback
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_webvtt_parser_cue_callback(GF_WebVTTParser *parser, void (*on_cue_read)(void
      *, GF_WebVTTCue *), void *udta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1606,1
    - Dst: gf_webvtt_dump_cues
      Src: /src/gpac/src/media_tools/webvtt.c:1607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dump
    - samp
    argTypes:
    - FILE*
    - GF_WebVTTSample*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1608
    functionName: gf_webvtt_dump_sample
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_dump_cues
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_webvtt_dump_sample(FILE *dump, GF_WebVTTSample *samp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_new
      Src: /src/gpac/src/media_tools/webvtt.c:1638,1
    - Dst: gf_webvtt_dump_header
      Src: /src/gpac/src/media_tools/webvtt.c:1645,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1643,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/media_tools/webvtt.c:1648,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/media_tools/webvtt.c:1643,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/media_tools/webvtt.c:1650,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/media_tools/webvtt.c:1653,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/media_tools/webvtt.c:1655,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/media_tools/webvtt.c:1658,1
    - Dst: gf_webvtt_parse_iso_sample
      Src: /src/gpac/src/media_tools/webvtt.c:1659,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/media_tools/webvtt.c:1669,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/media_tools/webvtt.c:1665,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/media_tools/webvtt.c:1663,1
    - Dst: gf_webvtt_parser_finalize
      Src: /src/gpac/src/media_tools/webvtt.c:1666,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/media_tools/webvtt.c:1672,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - dumper
    - track
    - merge
    - box_dump
    argTypes:
    - GF_MediaExporter*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1675
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1675
    functionName: gf_webvtt_dump_iso_track
    functionSourceFile: /src/gpac/src/media_tools/webvtt.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - gf_webvtt_parser_new
    - gf_fprintf
    - gf_isom_get_sample_duration
    - gf_isom_get_media_duration
    - gf_webvtt_parser_del
    - gf_webvtt_dump_header
    - gf_isom_get_track_id
    - gf_webvtt_parse_iso_sample
    - gf_isom_get_sample
    - gf_isom_last_error
    - gf_isom_get_media_timescale
    - gf_isom_get_sample_count
    - gf_webvtt_parser_finalize
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_webvtt_dump_iso_track(GF_MediaExporter *dumper,
      u32 track, Bool merge, Bool box_dump) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/gpac/src/utils/downloader_hmux.c:46,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader_hmux.c:47,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader_hmux.c:51,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_hmux.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_hmux.c:58,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_hmux.c:60,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:61,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader_hmux.c:57,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:56,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_hmux.c:38,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_hmux.c:39,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:66,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_hmux.c:81,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:77,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_hmux.c:82,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:35,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:36,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_hmux.c:45,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - hmux_sess
    - sess
    argTypes:
    - GF_HMUX_Session*
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: hmux_detach_session
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - gf_assert
    - SSL_free
    - gf_list_get
    - memset
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - SSL_shutdown
    - dm_sess_sk_del
    - gf_mx_v
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hmux_detach_session(GF_HMUX_Session *hmux_sess, GF_DownloadSession
      *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader_hmux.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sess
    - store_in_init
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: hmux_flush_internal_data
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - gf_dm_data_received
    linkageType: ''
    returnType: void
    signature: 'void hmux_flush_internal_data(GF_DownloadSession *sess, Bool store_in_init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: gf_dm_sess_close_hmux
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_close_hmux(GF_DownloadSession *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader_hmux.c:137,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:165,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_hmux.c:155,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_hmux.c:146,1
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader_hmux.c:158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - sess
    - obuffer
    - size
    - nb_bytes
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: hmux_fetch_data
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - gf_assert
    - memcpy
    - gf_dm_data_received
    linkageType: ''
    returnType: void
    signature: 'void hmux_fetch_data(GF_DownloadSession *sess, u8 *obuffer, u32 size,
      u32 *nb_bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_hmux.c:95,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader_hmux.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_hmux.c:111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_hmux.c:97,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_hmux.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - user_data
    - stream_id
    - can_reassign
    argTypes:
    - void*
    - s64
    - Bool
    constantsTouched: []
    func_position:
      end: 120
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 120
    functionName: hmux_get_session
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_dm_sess_clear_headers
    - gf_free
    linkageType: ''
    returnType: GF_DownloadSession*
    signature: 'GF_DownloadSession *hmux_get_session(void *user_data, s64 stream_id,
      Bool can_reassign) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_probe
      Src: /src/gpac/src/utils/downloader_hmux.c:172,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_hmux.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_hmux.c:182,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_hmux.c:184,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:190,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:197,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:213,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:217,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 3
    argNames:
    - sess
    - data
    - size
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 232
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 232
    functionName: hmux_send_payload
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - assert
    - GF_LOG
    - gf_mx_p
    - gf_sk_probe
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err hmux_send_payload(GF_DownloadSession *sess, u8 *data, u32 size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_hmux.c:251,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:254,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader_hmux.c:262,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_hmux.c:257,1
    - Dst: gf_dm_sess_new_internal
      Src: /src/gpac/src/utils/downloader_hmux.c:252,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_hmux.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - sess
    - stream_id
    - usr_cbk
    - e
    argTypes:
    - GF_DownloadSession*
    - s64
    - void*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: gf_dm_sess_new_subsession
    functionSourceFile: /src/gpac/src/utils/downloader_hmux.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dm_sess_new_internal
    - gf_mx_p
    - gf_mx_del
    - gf_mx_v
    linkageType: ''
    returnType: GF_DownloadSession*
    signature: 'GF_DownloadSession *gf_dm_sess_new_subsession(GF_DownloadSession *sess,
      s64 stream_id, void *usr_cbk, GF_Err *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: zlibVersion
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * ZEXPORT zlibVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/utils/zutil.c:152,1
    - Dst: exit
      Src: /src/gpac/src/utils/zutil.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - m
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: z_error
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void z_error (m) char *m; '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 140
    functionName: zlibCompileFlags
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT zlibCompileFlags() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames:
    - dest
    - source
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: zmemcpy
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void zmemcpy(dest, source, len) Bytef* dest; const Bytef* source;
      uInt len; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames:
    - s1
    - s2
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: zmemcmp
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int zmemcmp(s1, s2, len) const Bytef* s1; const Bytef* s2; uInt len; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames:
    - dest
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: zmemzero
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void zmemzero(dest, len) Bytef* dest; uInt len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/zutil.c:332,1
    - Dst: gf_calloc
      Src: /src/gpac/src/utils/zutil.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames:
    - opaque
    - items
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: zcalloc
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_calloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf zcalloc (opaque, items, size) voidpf opaque; unsigned items;
      unsigned size; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/zutil.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - opaque
    - ptr
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: zcgf_free
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void zcgf_free(opaque, ptr) voidpf opaque; voidpf ptr; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fargf_free
      Src: /src/gpac/src/utils/zutil.c:271,1
    - Dst: Assert
      Src: /src/gpac/src/utils/zutil.c:286,1
    - Dst: fargf_free
      Src: /src/gpac/src/utils/zutil.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 287
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 287
    functionName: zcgf_free
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - fargf_free
    - Assert
    linkageType: ''
    returnType: void
    signature: 'void zcgf_free(voidpf opaque, voidpf ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/gpac/src/utils/zutil.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: zcalloc
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf zcalloc (voidpf opaque, unsigned items, unsigned size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _hgf_free
      Src: /src/gpac/src/utils/zutil.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: zcgf_free
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - _hgf_free
    linkageType: ''
    returnType: void
    signature: 'void zcgf_free(voidpf opaque, voidpf ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/gpac/src/utils/zutil.c:252,1
    - Dst: farmalloc
      Src: /src/gpac/src/utils/zutil.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 265
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 265
    functionName: zcalloc
    functionSourceFile: /src/gpac/src/utils/zutil.c
    functionUses: []
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf zcalloc (voidpf opaque, unsigned items, unsigned size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_find
      Src: /src/gpac/src/utils/token.c:95,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/token.c:105,1
    - Dst: gf_token_find
      Src: /src/gpac/src/utils/token.c:98,1
    - Dst: gf_token_find
      Src: /src/gpac/src/utils/token.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - Buffer
    - Start
    - Size
    - LineBuffer
    - LineBufferSize
    argTypes:
    - char*
    - u32
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: gf_token_get_line
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - memcpy
    - gf_token_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_token_get_line(const char *Buffer, u32 Start, u32
      Size, char *LineBuffer, u32 LineBufferSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/token.c:44,1
    - Dst: gf_tok_is_char_in_set
      Src: /src/gpac/src/utils/token.c:52,1
    - Dst: gf_tok_is_char_in_set
      Src: /src/gpac/src/utils/token.c:46,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - Buffer
    - Start
    - Separator
    - Container
    - ContainerSize
    argTypes:
    - char*
    - s32
    - char*
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: gf_token_get
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - gf_tok_is_char_in_set
    - strlen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_token_get(const char *Buffer, s32 Start, const char
      *Separator, char *Container, s32 ContainerSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/token.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - TestChar
    - TestSet
    argTypes:
    - char
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: gf_tok_is_char_in_set
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 gf_tok_is_char_in_set(const char TestChar, const
      char *TestSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_get
      Src: /src/gpac/src/utils/token.c:68,1
    - Dst: strlen
      Src: /src/gpac/src/utils/token.c:71,1
    - Dst: strchr
      Src: /src/gpac/src/utils/token.c:73,1
    - Dst: strchr
      Src: /src/gpac/src/utils/token.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - Buffer
    - Start
    - Separator
    - strip_set
    - Container
    - ContainerSize
    argTypes:
    - char*
    - s32
    - char*
    - char*
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: gf_token_get_strip
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_token_get
    - strchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_token_get_strip(const char *Buffer, s32 Start, const
      char *Separator, const char *strip_set, char *Container, s32 ContainerSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/token.c:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - Buffer
    - Start
    - Size
    - Pattern
    argTypes:
    - char*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: gf_token_find
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_token_find(const char *Buffer, u32 Start, u32 Size,
      const char *Pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/token.c:141,1
    - Dst: strstr
      Src: /src/gpac/src/utils/token.c:143,1
    - Dst: strchr
      Src: /src/gpac/src/utils/token.c:147,1
    - Dst: strchr
      Src: /src/gpac/src/utils/token.c:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - in_str
    - word
    - charsep
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: gf_token_find_word
    functionSourceFile: /src/gpac/src/utils/token.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    - strchr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_token_find_word(const char *in_str, const
      char *word, char *charsep) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/src/utils/downloader_emscripten.c:791,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_emscripten.c:812,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_emscripten.c:796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 822
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 822
    functionName: gf_dm_sess_fetch_once
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - memset
    - gf_dm_sess_fetch_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_fetch_once(GF_DownloadSession *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_emscripten.c:829,1
    - Dst: gf_dm_sess_fetch_once
      Src: /src/gpac/src/utils/downloader_emscripten.c:835,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - fsess
    - callback
    - reschedule_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 849
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 849
    functionName: gf_dm_session_task
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_dm_sess_fetch_once
    - gf_dm_sess_del
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_session_task(GF_FilterSession *fsess, void *callback, u32
      *reschedule_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: gf_dm_sess_get_resource_size
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_sess_get_resource_size(GF_DownloadSession * sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_emscripten.c:42,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_emscripten.c:45,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader_emscripten.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_DownloadFilterSession*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: gf_dm_new
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_mx_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DownloadManager*
    signature: 'GF_DownloadManager *gf_dm_new(GF_DownloadFilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: gf_dm_sess_get_cache_name
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_dm_sess_get_cache_name(GF_DownloadSession *sess) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_emscripten.c:588,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_emscripten.c:601,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_emscripten.c:597,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_emscripten.c:599,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:606,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:607,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_emscripten.c:611,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader_emscripten.c:612,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:618,1
    - Dst: dm_fetch_init
      Src: /src/gpac/src/utils/downloader_emscripten.c:620,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_emscripten.c:658,1
    - Dst: gf_dm_sess_reset
      Src: /src/gpac/src/utils/downloader_emscripten.c:631,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader_emscripten.c:650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:683,1
    - Dst: dm_fetch_data
      Src: /src/gpac/src/utils/downloader_emscripten.c:642,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_emscripten.c:662,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 94
    argCount: 4
    argNames:
    - sess
    - buffer
    - buffer_size
    - read_size
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 688
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 688
    functionName: gf_dm_sess_fetch_data
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_strdup
    - sprintf
    - GF_LOG
    - gf_sys_clock
    - memcpy
    - dm_fetch_init
    - dm_fetch_data
    - gf_net_get_utc
    - gf_dm_sess_reset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_fetch_data(GF_DownloadSession *sess, char *buffer,
      u32 buffer_size, u32 *read_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_emscripten.c:725,1
    - Dst: cache_blob_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - sess
    - url
    - force
    argTypes:
    - GF_DownloadSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 729
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 729
    functionName: gf_dm_delete_cached_file_entry_session
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - cache_blob_del
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_delete_cached_file_entry_session(const GF_DownloadSession
      * sess, const char * url, Bool force) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_emscripten.c:743,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_emscripten.c:747,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:750,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:751,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_emscripten.c:744,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_emscripten.c:752,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:756,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - sess
    - hdr
    - value
    argTypes:
    - GF_DownloadSession*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 759
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 759
    functionName: gf_dm_sess_push_header
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - sscanf
    - stricmp
    - gf_strdup
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_push_header(GF_DownloadSession *sess, const
      char *hdr, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_fetch_once
      Src: /src/gpac/src/utils/downloader_emscripten.c:858,1
    - Dst: gf_fs_post_user_task
      Src: /src/gpac/src/utils/downloader_emscripten.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: gf_dm_sess_process
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_fetch_once
    - gf_fs_post_user_task
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_process(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:52,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:53,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: gf_dm_del
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_mx_del
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_del(GF_DownloadManager *dm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sess
    - force_keep
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: gf_dm_sess_force_memory_mode
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_force_memory_mode(GF_DownloadSession *sess, u32 force_keep) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 6
    argCount: 7
    argNames:
    - sess
    - server
    - path
    - total_size
    - bytes_done
    - bytes_per_sec
    - net_status
    argTypes:
    - GF_DownloadSession*
    - char**
    - char**
    - u64*
    - u64*
    - u32*
    - GF_NetIOStatus*
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: gf_dm_sess_get_stats
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_get_stats(GF_DownloadSession * sess, const char
      **server, const char **path, u64 *total_size, u64 *bytes_done, u32 *bytes_per_sec,
      GF_NetIOStatus *net_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: gf_dm_sess_process_headers
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_process_headers(GF_DownloadSession *sess) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:781,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:782,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - sess
    - rsp_code
    - final_url
    argTypes:
    - GF_DownloadSession*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 784
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 784
    functionName: gf_dm_sess_async_reply
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_async_reply(GF_DownloadSession *sess, int
      rsp_code, const char *final_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: gf_dm_sess_get_resource_name
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_dm_sess_get_resource_name(GF_DownloadSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: gf_dm_get_global_rate
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_get_global_rate(GF_DownloadManager *dm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: (e)
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: catch
    signature: 'catch (e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_reset
      Src: /src/gpac/src/utils/downloader_emscripten.c:418,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:419,1
    - Dst: gf_dm_setup_cache
      Src: /src/gpac/src/utils/downloader_emscripten.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - sess
    - url
    - allow_direct_reuse
    argTypes:
    - GF_DownloadSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: gf_dm_sess_setup_from_url
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_dm_setup_cache
    - gf_dm_sess_reset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_setup_from_url(GF_DownloadSession *sess, const char
      *url, Bool allow_direct_reuse) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_emscripten.c:879,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - sess
    - name
    argTypes:
    - GF_DownloadSession*
    - char*
    constantsTouched: []
    func_position:
      end: 882
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 882
    functionName: gf_dm_sess_get_header
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_dm_sess_get_header(GF_DownloadSession *sess, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sess
    - netcap_id
    argTypes:
    - GF_DownloadSession*
    - char*
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: gf_dm_sess_set_netcap_id
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_netcap_id(GF_DownloadSession *sess, const char
      *netcap_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: gf_dm_sess_get_max_rate
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_sess_get_max_rate(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:125,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - _hdrs
    - nb_hdrs
    argTypes:
    - char***
    - u32*
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: clear_headers
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void clear_headers(char ***_hdrs, u32 *nb_hdrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dm
    - rate_in_bits_per_sec
    argTypes:
    - GF_DownloadManager*
    - u32
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: gf_dm_set_data_rate
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_set_data_rate(GF_DownloadManager *dm, u32 rate_in_bits_per_sec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:452,1
    - Dst: gf_dm_setup_cache
      Src: /src/gpac/src/utils/downloader_emscripten.c:453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - sess
    - start_range
    - end_range
    - discontinue_cache
    argTypes:
    - GF_DownloadSession*
    - u64
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 460
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 460
    functionName: gf_dm_sess_set_range
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_dm_setup_cache
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_set_range(GF_DownloadSession *sess, u64 start_range,
      u64 end_range, Bool discontinue_cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: gf_dm_sess_get_utc_start
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_dm_sess_get_utc_start(GF_DownloadSession * sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - sess
    - max_rate
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: gf_dm_sess_set_max_rate
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_max_rate(GF_DownloadSession *sess, u32 max_rate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: gf_dm_sess_is_regulated
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_sess_is_regulated(GF_DownloadSession *sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:136,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:138,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:139,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/utils/downloader_emscripten.c:137,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:141,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - GF_CacheBlob*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: cache_blob_del
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_blob_unregister
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void cache_blob_del(GF_CacheBlob *b) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cache_blob_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:201,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_emscripten.c:209,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_emscripten.c:204,1
    - Dst: cache_blob_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:205,1
    - Dst: cache_blob_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:210,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_emscripten.c:216,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_emscripten.c:218,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_emscripten.c:219,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_emscripten.c:238,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_emscripten.c:240,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_emscripten.c:242,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:246,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:258,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_emscripten.c:243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 260
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 260
    functionName: gf_dm_setup_cache
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - cache_blob_del
    - gf_list_count
    - gf_strdup
    - strcmp
    - GF_LOG
    - gf_blob_register
    - GF_SAFEALLOC
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dm_setup_cache(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear_headers
      Src: /src/gpac/src/utils/downloader_emscripten.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 377
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 377
    functionName: gf_dm_sess_abort
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - clear_headers
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_abort(GF_DownloadSession * sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: gf_dm_sess_mime_type
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_dm_sess_mime_type(GF_DownloadSession * sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader_emscripten.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: gf_dm_get_data_rate
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_opts_get_int
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_get_data_rate(GF_DownloadManager *dm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_headers
      Src: /src/gpac/src/utils/downloader_emscripten.c:148,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:156,1
    - Dst: clear_headers
      Src: /src/gpac/src/utils/downloader_emscripten.c:149,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:150,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: gf_dm_sess_reset
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - clear_headers
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_dm_sess_reset(GF_DownloadSession *sess) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:290,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_emscripten.c:302,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_emscripten.c:306,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_emscripten.c:309,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_emscripten.c:329,1
    - Dst: gf_dm_sess_reset
      Src: /src/gpac/src/utils/downloader_emscripten.c:337,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:338,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_emscripten.c:343,1
    - Dst: gf_dm_setup_cache
      Src: /src/gpac/src/utils/downloader_emscripten.c:347,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:288,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_emscripten.c:297,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:321,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:324,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:340,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_emscripten.c:353,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_emscripten.c:354,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_emscripten.c:355,1
    - Dst: fs_fetch_setup
      Src: /src/gpac/src/utils/downloader_emscripten.c:271,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:273,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_emscripten.c:335,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_emscripten.c:325,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_emscripten.c:318,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:349,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_emscripten.c:282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_emscripten.c:277,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 6
    argNames:
    - dm
    - url
    - dl_flags
    - user_io
    - usr_cbk
    - e
    argTypes:
    - GF_DownloadManager*
    - char*
    - u32
    - gf_dm_user_io
    - void*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 362
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 362
    functionName: gf_dm_sess_new
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_dm_setup_cache
    - memset
    - gf_list_del
    - gf_realloc
    - strcpy
    - gf_strdup
    - gf_list_new
    - GF_LOG
    - gf_mx_p
    - gf_dm_sess_del
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - fs_fetch_setup
    - gf_mx_v
    - gf_dm_sess_reset
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DownloadSession *gf_dm_sess_new(GF_DownloadManager *dm,
      const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err
      *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_reset
      Src: /src/gpac/src/utils/downloader_emscripten.c:385,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/utils/downloader_emscripten.c:387,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_emscripten.c:386,1
    - Dst: cache_blob_del
      Src: /src/gpac/src/utils/downloader_emscripten.c:387,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_emscripten.c:391,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_emscripten.c:392,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_emscripten.c:393,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_emscripten.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: gf_dm_sess_del
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - cache_blob_del
    - gf_list_count
    - gf_mx_p
    - gf_free
    - gf_mx_v
    - gf_list_del_item
    - gf_list_pop_back
    - gf_dm_sess_reset
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_del(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - sess
    - idx
    - hdr_name
    - hdr_val
    argTypes:
    - GF_DownloadSession*
    - u32*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 717
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 717
    functionName: gf_dm_sess_enum_headers
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_enum_headers(GF_DownloadSession *sess, u32 *idx,
      const char **hdr_name, const char **hdr_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_force_memory_mode
      Src: /src/gpac/src/utils/downloader_emscripten.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 901
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 901
    functionName: gf_dm_sess_detach_async
    functionSourceFile: /src/gpac/src/utils/downloader_emscripten.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_force_memory_mode
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_detach_async(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 4
    argNames:
    - _in
    - inSize
    - _out
    - outSize
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: gf_base64_encode
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_base64_encode(const u8 *_in, u32 inSize, u8 *_out,
      u32 outSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - _in
    - inSize
    - _out
    - outSize
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: gf_base16_encode
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_base16_encode(u8 *_in, u32 inSize, u8 *_out, u32
      outSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: char16
      Src: /src/gpac/src/utils/base_encoding.c:170,1
    - Dst: char16
      Src: /src/gpac/src/utils/base_encoding.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - in
    - inSize
    - out
    - outSize
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: gf_base16_decode
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - char16
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_base16_decode(u8 *in, u32 inSize, u8 *out, u32 outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_block
      Src: /src/gpac/src/utils/base_encoding.c:114,1
    - Dst: char64
      Src: /src/gpac/src/utils/base_encoding.c:121,1
    - Dst: char64
      Src: /src/gpac/src/utils/base_encoding.c:115,1
    - Dst: char64
      Src: /src/gpac/src/utils/base_encoding.c:117,1
    - Dst: char64
      Src: /src/gpac/src/utils/base_encoding.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 4
    argNames:
    - in_buf
    - inSize
    - out
    - outSize
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: gf_base64_decode
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - char64
    - load_block
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_base64_decode(u8 *in_buf, u32 inSize, u8 *out, u32
      outSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/utils/base_encoding.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_len
    - max_size
    argTypes:
    - u8**
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: gf_gz_compress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_gz_compress_payload_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_compress_payload(u8 **data, u32 data_len, u32
      *max_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: gf_gz_decompress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_decompress_payload(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: gf_lz_decompress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_lz_decompress_payload(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/base_encoding.c:191,1
    - Dst: deflate
      Src: /src/gpac/src/utils/base_encoding.c:211,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:207,1
    - Dst: deflateInit
      Src: /src/gpac/src/utils/base_encoding.c:203,1
    - Dst: deflateInit2
      Src: /src/gpac/src/utils/base_encoding.c:201,1
    - Dst: deflateEnd
      Src: /src/gpac/src/utils/base_encoding.c:213,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:214,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:219,1
    - Dst: deflateEnd
      Src: /src/gpac/src/utils/base_encoding.c:220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/base_encoding.c:224,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/base_encoding.c:233,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/base_encoding.c:236,1
    - Dst: deflateEnd
      Src: /src/gpac/src/utils/base_encoding.c:240,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 7
    argNames:
    - data
    - data_len
    - max_size
    - data_offset
    - skip_if_larger
    - out_comp_data
    - use_gz
    argTypes:
    - u8**
    - u32
    - u32*
    - u8
    - Bool
    - u8**
    - Bool
    constantsTouched: []
    func_position:
      end: 242
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 242
    functionName: gf_gz_compress_payload_ex
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - deflateInit
    - gf_realloc
    - deflateInit2
    - GF_LOG
    - memcpy
    - gf_free
    - deflate
    - deflateEnd
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_compress_payload_ex(u8 **data, u32 data_len,
      u32 *max_size, u8 data_offset, Bool skip_if_larger, u8 **out_comp_data, Bool
      use_gz) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/base_encoding.c:260,1
    - Dst: inflate
      Src: /src/gpac/src/utils/base_encoding.c:283,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/base_encoding.c:294,1
    - Dst: inflateInit
      Src: /src/gpac/src/utils/base_encoding.c:278,1
    - Dst: inflateInit2
      Src: /src/gpac/src/utils/base_encoding.c:276,1
    - Dst: MIN
      Src: /src/gpac/src/utils/base_encoding.c:299,1
    - Dst: inflateEnd
      Src: /src/gpac/src/utils/base_encoding.c:300,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:306,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 5
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    - use_gz
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 311
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 311
    functionName: gf_gz_decompress_payload_ex
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - MIN
    - gf_realloc
    - inflate
    - gf_free
    - inflateInit
    - inflateInit2
    - inflateEnd
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_decompress_payload_ex(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size, Bool use_gz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/utils/base_encoding.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: gf_gz_decompress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_gz_decompress_payload_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_decompress_payload(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    - no_hdr
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: gf_gz_decompress_payload_ex
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_decompress_payload_ex(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size, Bool no_hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_len
    - max_size
    argTypes:
    - u8**
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: gf_gz_compress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_gz_compress_payload(u8 **data, u32 data_len, u32
      *max_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - data
    - data_len
    - max_size
    - data_offset
    - skip_if_larger
    - out_comp_data
    - no_header
    argTypes:
    - u8**
    - u32
    - u32*
    - u8
    - Bool
    - u8**
    - Bool
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: gf_gz_compress_payload_ex
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_gz_compress_payload_ex(u8 **data, u32 data_len, u32 *max_size,
      u8 data_offset, Bool skip_if_larger, u8 **out_comp_data, Bool no_header) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lzma_lzma_preset
      Src: /src/gpac/src/utils/base_encoding.c:358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/base_encoding.c:379,1
    - Dst: lzma_code
      Src: /src/gpac/src/utils/base_encoding.c:377,1
    - Dst: lzma_stream_encoder
      Src: /src/gpac/src/utils/base_encoding.c:364,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/base_encoding.c:369,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/base_encoding.c:385,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/base_encoding.c:390,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/base_encoding.c:393,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:395,1
    - Dst: lzma_end
      Src: /src/gpac/src/utils/base_encoding.c:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - data
    - data_len
    - max_size
    argTypes:
    - u8**
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 399
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 399
    functionName: gf_lz_compress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_realloc
    - lzma_code
    - GF_LOG
    - lzma_end
    - lzma_stream_encoder
    - memcpy
    - lzma_lzma_preset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_lz_compress_payload(u8 **data, u32 data_len, u32
      *max_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lzma_stream_decoder
      Src: /src/gpac/src/utils/base_encoding.c:405,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/base_encoding.c:412,1
    - Dst: lzma_code
      Src: /src/gpac/src/utils/base_encoding.c:430,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/base_encoding.c:437,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/base_encoding.c:440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/base_encoding.c:448,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:449,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:450,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/base_encoding.c:457,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - data
    - data_len
    - uncompressed_data
    - out_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 459
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 459
    functionName: gf_lz_decompress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_realloc
    - lzma_code
    - GF_LOG
    - lzma_stream_decoder
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_lz_decompress_payload(u8 *data, u32 data_len,
      u8 **uncompressed_data, u32 *out_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - in
    - size
    - pos
    - out
    argTypes:
    - char*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: load_block
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 load_block(char *in, u32 size, u32 pos, char *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_len
    - max_size
    argTypes:
    - u8**
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: gf_lz_compress_payload
    functionSourceFile: /src/gpac/src/utils/base_encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_lz_compress_payload(u8 **data, u32 data_len, u32
      *max_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:44,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:48,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:45,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:51,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:47,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:53,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:54,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:56,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:59,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:63,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: xml_scte35_parse_splice_time
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_enum
    - GF_LOG
    - strcmp
    - gf_bs_write_long_int
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_splice_time(GF_XMLNode *root, GF_BitStream
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:101,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:107,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:102,1
    - Dst: xml_scte35_parse_splice_time
      Src: /src/gpac/src/utils/xml_bin_custom.c:108,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: xml_scte35_parse_time_signal
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - xml_scte35_parse_splice_time
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_time_signal(GF_XMLNode *root, GF_BitStream
      *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:267,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:279,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:278,1
    - Dst: xml_scte35_parse_splice_time
      Src: /src/gpac/src/utils/xml_bin_custom.c:289,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:293,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:329,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:269,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:268,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:280,1
    - Dst: xml_scte35_parse_break_duration
      Src: /src/gpac/src/utils/xml_bin_custom.c:291,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/xml_bin_custom.c:299,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:303,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:318,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:327,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:328,1
    - Dst: scte35dec_parse_splice_time
      Src: /src/gpac/src/utils/xml_bin_custom.c:320,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:270,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:271,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:274,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:275,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:286,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:288,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:304,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:305,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:306,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:307,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:266,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:272,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:273,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:276,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:282,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:290,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:300,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:301,1
    - Dst: scte35dec_parse_splice_time
      Src: /src/gpac/src/utils/xml_bin_custom.c:310,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:316,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 90
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 341
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 341
    functionName: xml_scte35_parse_splice_insert
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - xml_scte35_parse_splice_time
    - gf_bs_read_u8
    - gf_list_enum
    - xml_scte35_parse_break_duration
    - GF_LOG
    - strcmp
    - scte35dec_parse_splice_time
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - atoi
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_splice_insert(GF_XMLNode *root, GF_BitStream
      *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/utils/xml_bin_custom.c:455,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/utils/xml_bin_custom.c:457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:458,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/utils/xml_bin_custom.c:456,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: xml_emeb_parse
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_isom_box_del
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void xml_emeb_parse(GF_XMLNode *root, GF_BitStream *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/utils/xml_bin_custom.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:472,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:473,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:474,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:481,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_bin_custom.c:493,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:500,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:501,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:502,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:503,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:525,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/utils/xml_bin_custom.c:510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:475,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:476,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_bin_custom.c:477,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:478,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:480,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_bin_custom.c:479,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:482,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:483,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:512,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:509,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:469,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:486,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:485,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:487,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:505,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:516,1
    - Dst: xml_scte35_parse
      Src: /src/gpac/src/utils/xml_bin_custom.c:517,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:518,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:520,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:471,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:470,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:488,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:489,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_bin_custom.c:492,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/utils/xml_bin_custom.c:511,1
    - Dst: gf_isom_full_box_write
      Src: /src/gpac/src/utils/xml_bin_custom.c:524,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:531,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/utils/xml_bin_custom.c:523,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 532
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 532
    functionName: xml_emib_parse
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - strlen
    - gf_malloc
    - gf_isom_full_box_write
    - gf_isom_box_size
    - sscanf
    - gf_list_enum
    - gf_strdup
    - gf_bs_get_position
    - GF_LOG
    - gf_isom_box_write
    - xml_scte35_parse
    - gf_bs_seek
    - gf_isom_box_del
    - strnicmp
    - stricmp
    linkageType: ''
    returnType: void
    signature: 'void xml_emib_parse(GF_XMLNode *root, GF_BitStream *bs) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:136,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:154,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:178,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:207,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:227,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/xml_bin_custom.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:184,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:137,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:144,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:168,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:189,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:226,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:147,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:150,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:181,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:208,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:212,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:217,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:177,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:140,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:161,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:252,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:253,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:117,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:143,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:167,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:196,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/xml_bin_custom.c:122,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:157,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:164,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:180,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:225,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:187,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:139,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:146,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:238,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:121,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:153,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:160,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/xml_bin_custom.c:118,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:142,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:163,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:228,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:210,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:166,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:149,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:156,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:198,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:221,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:138,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:159,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:186,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:216,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:223,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:152,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:194,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/xml_bin_custom.c:122,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:155,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:162,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:248,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:242,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:254,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:229,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:145,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:148,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:204,1
    - Dst: assert
      Src: /src/gpac/src/utils/xml_bin_custom.c:192,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:151,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:158,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:182,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:185,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:199,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:120,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:141,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:170,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:211,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:250,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 182
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 256
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 256
    functionName: xml_scte35_parse_segmentation_descriptor
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - assert
    - GF_4CC
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_list_enum
    - strcmp
    - GF_LOG
    - gf_bs_seek
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - atoi
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_segmentation_descriptor(GF_XMLNode *root,
      GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:75,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:79,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:76,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:78,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:81,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:82,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:83,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:85,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:89,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: xml_scte35_parse_break_duration
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_enum
    - GF_LOG
    - strcmp
    - gf_bs_write_long_int
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_break_duration(GF_XMLNode *root, GF_BitStream
      *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:357,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/xml_bin_custom.c:355,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:354,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:359,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:365,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:377,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:381,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:383,1
    - Dst: WRITE_CMD_LEN
      Src: /src/gpac/src/utils/xml_bin_custom.c:403,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:431,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/xml_bin_custom.c:430,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:405,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:356,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:358,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:360,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:370,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:373,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:363,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:378,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:379,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:393,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:395,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:419,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:432,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:409,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:362,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:369,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:380,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:382,1
    - Dst: WRITE_CMD_LEN
      Src: /src/gpac/src/utils/xml_bin_custom.c:398,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:417,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/utils/xml_bin_custom.c:427,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/utils/xml_bin_custom.c:428,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/xml_bin_custom.c:429,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/utils/xml_bin_custom.c:430,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/xml_bin_custom.c:418,1
    - Dst: xml_scte35_parse_splice_insert
      Src: /src/gpac/src/utils/xml_bin_custom.c:402,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:353,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:361,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:374,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:372,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:371,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:396,1
    - Dst: xml_scte35_parse_time_signal
      Src: /src/gpac/src/utils/xml_bin_custom.c:397,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:400,1
    - Dst: xml_scte35_parse_segmentation_descriptor
      Src: /src/gpac/src/utils/xml_bin_custom.c:406,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/utils/xml_bin_custom.c:429,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/utils/xml_bin_custom.c:426,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/xml_bin_custom.c:401,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/xml_bin_custom.c:415,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 87
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 436
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 436
    functionName: xml_scte35_parse_splice_info
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_bs_get_content
    - GF_LOG
    - gf_bs_seek
    - WRITE_CMD_LEN
    - gf_bs_write_long_int
    - xml_scte35_parse_segmentation_descriptor
    - XML_SCAN_INT
    - gf_bs_del
    - gf_crc_32
    - strcmp
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_list_enum
    - xml_scte35_parse_splice_insert
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_get_size
    - gf_free
    - gf_bs_transfer
    - xml_scte35_parse_time_signal
    linkageType: ''
    returnType: void
    signature: 'static void xml_scte35_parse_splice_info(GF_XMLNode *root, GF_BitStream
      *bs) '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:572,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/xml_bin_custom.c:611,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:704,1
    - Dst: atoi
      Src: /src/gpac/src/utils/xml_bin_custom.c:642,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:593,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:608,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:621,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:622,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/utils/xml_bin_custom.c:795,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:724,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/utils/xml_bin_custom.c:614,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/utils/xml_bin_custom.c:709,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:596,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:594,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:600,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_bin_custom.c:781,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:810,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:637,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:683,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:603,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:605,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:608,1
    - Dst: gf_bs_write_u64_le
      Src: /src/gpac/src/utils/xml_bin_custom.c:793,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/utils/xml_bin_custom.c:794,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:813,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:641,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/utils/xml_bin_custom.c:677,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/xml_bin_custom.c:735,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:723,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:605,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_bin_custom.c:670,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/utils/xml_bin_custom.c:713,1
    - Dst: assert
      Src: /src/gpac/src/utils/xml_bin_custom.c:773,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/utils/xml_bin_custom.c:774,1
    - Dst: gf_xml_parse_bit_sequence_bs
      Src: /src/gpac/src/utils/xml_bin_custom.c:582,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:592,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:589,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:705,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_bin_custom.c:689,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:739,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/xml_bin_custom.c:757,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:767,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:790,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:800,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/xml_bin_custom.c:699,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:599,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:597,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:667,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/xml_bin_custom.c:745,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:591,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:682,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_bin_custom.c:700,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/utils/xml_bin_custom.c:651,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:679,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_bin_custom.c:690,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/xml_bin_custom.c:755,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/utils/xml_bin_custom.c:715,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:588,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:599,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:627,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:680,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:802,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:703,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/utils/xml_bin_custom.c:731,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:626,1
    - Dst: xml_emib_parse
      Src: /src/gpac/src/utils/xml_bin_custom.c:579,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:581,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/xml_bin_custom.c:765,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/xml_bin_custom.c:732,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_bin_custom.c:669,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:645,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:627,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:775,1
    - Dst: xml_emeb_parse
      Src: /src/gpac/src/utils/xml_bin_custom.c:576,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:578,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:602,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:616,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:665,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:733,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/xml_bin_custom.c:751,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/xml_bin_custom.c:762,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:801,1
    - Dst: XML_SCAN_INT
      Src: /src/gpac/src/utils/xml_bin_custom.c:590,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/utils/xml_bin_custom.c:707,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:643,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_bin_custom.c:687,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:630,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:575,1
    - Dst: xml_scte35_parse
      Src: /src/gpac/src/utils/xml_bin_custom.c:573,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:610,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/utils/xml_bin_custom.c:786,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/xml_bin_custom.c:797,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:630,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_bin_custom.c:663,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_bin_custom.c:717,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:551,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:613,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:620,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:624,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 305
    argCount: 4
    argNames:
    - bsroot
    - parent_url
    - base_media_file
    - bs_orig
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 816
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 816
    functionName: gf_xml_parse_bit_sequence_bs
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_write_long_int
    - XML_SCAN_INT
    - gf_fseek
    - gf_bs_del
    - gf_bs_write_double
    - GF_4CC
    - gf_bs_write_u32_le
    - gf_fsize
    - strcmp
    - gf_bs_write_u16_le
    - atoi
    - gf_bs_write_u64_le
    - stricmp
    - gf_bs_write_int
    - xml_emeb_parse
    - gf_fopen
    - assert
    - gf_list_enum
    - xml_scte35_parse
    - sprintf
    - gf_bs_new
    - gf_fread
    - strnicmp
    - gf_free
    - gf_base64_decode
    - gf_bs_write_float
    - xml_emib_parse
    - gf_url_concatenate
    - sscanf
    - gf_xml_parse_bit_sequence_bs
    - gf_bin128_parse
    - gf_fclose
    - gf_base64_encode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_parse_bit_sequence_bs(GF_XMLNode *bsroot,
      const char *parent_url, const char *base_media_file, GF_BitStream *bs_orig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/utils/xml_bin_custom.c:822,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/xml_bin_custom.c:827,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/xml_bin_custom.c:829,1
    - Dst: gf_xml_parse_bit_sequence_bs
      Src: /src/gpac/src/utils/xml_bin_custom.c:825,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/utils/xml_bin_custom.c:828,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - bsroot
    - parent_url
    - data
    - data_size
    argTypes:
    - GF_XMLNode*
    - char*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: gf_xml_parse_bit_sequence
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_xml_parse_bit_sequence_bs
    - gf_bs_new
    - gf_bs_align
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_parse_bit_sequence(GF_XMLNode *bsroot, const
      char *parent_url, u8 **data, u32 *data_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_bin_custom.c:443,1
    - Dst: xml_scte35_parse_splice_info
      Src: /src/gpac/src/utils/xml_bin_custom.c:446,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_bin_custom.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - root
    - bs
    argTypes:
    - GF_XMLNode*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: xml_scte35_parse
    functionSourceFile: /src/gpac/src/utils/xml_bin_custom.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - xml_scte35_parse_splice_info
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void xml_scte35_parse(GF_XMLNode *root, GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/error.c:40,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/utils/error.c:49,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/utils/error.c:53,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/utils/error.c:59,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/error.c:64,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/error.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - type
    - szType
    argTypes:
    - u32
    - char
    constantsTouched: []
    func_position:
      end: 75
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 75
    functionName: gf_4cc_to_str_safe
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_utf8_is_legal
    - gf_sys_is_test_mode
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_4cc_to_str_safe(u32 type, char szType[GF_4CC_MSIZE]) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gpac/src/utils/error.c:267,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/error.c:287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:305,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:337,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:358,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:380,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:370,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:266,1
    - Dst: strchr
      Src: /src/gpac/src/utils/error.c:277,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:270,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/error.c:281,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:319,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:331,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:323,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:327,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:315,1
    - Dst: strstr
      Src: /src/gpac/src/utils/error.c:309,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:296,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:285,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/utils/error.c:292,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/error.c:354,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/error.c:360,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/error.c:364,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:369,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:279,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:291,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:311,1
    - Dst: strchr
      Src: /src/gpac/src/utils/error.c:351,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 154
    argCount: 1
    argNames:
    - val_
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 398
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 398
    functionName: gf_log_modify_tools_levels
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_log_set_callback
    - strcmp
    - GF_LOG
    - strchr
    - strncpy
    - gf_log_set_strict_error
    - stricmp
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_log_modify_tools_levels(const char *val_) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/utils/error.c:494,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/gpac/src/utils/error.c:508,1
    - Dst: GetStdHandle
      Src: /src/gpac/src/utils/error.c:506,1
    - Dst: getenv
      Src: /src/gpac/src/utils/error.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:551,1
    - Dst: WriteConsoleOutput
      Src: /src/gpac/src/utils/error.c:593,1
    - Dst: SetConsoleWindowInfo
      Src: /src/gpac/src/utils/error.c:585,1
    - Dst: SetConsoleCursorPosition
      Src: /src/gpac/src/utils/error.c:614,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:665,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:671,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:636,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:567,1
    - Dst: SetConsoleScreenBufferSize
      Src: /src/gpac/src/utils/error.c:584,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:638,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:641,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:647,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:653,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:657,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:664,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:675,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:677,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:510,1
    - Dst: GetConsoleCursorInfo
      Src: /src/gpac/src/utils/error.c:548,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/error.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:590,1
    - Dst: SetConsoleTextAttribute
      Src: /src/gpac/src/utils/error.c:587,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/error.c:565,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/error.c:595,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/gpac/src/utils/error.c:608,1
    - Dst: SetConsoleTextAttribute
      Src: /src/gpac/src/utils/error.c:626,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/gpac/src/utils/error.c:547,1
    - Dst: SetConsoleCursorPosition
      Src: /src/gpac/src/utils/error.c:586,1
    - Dst: ReadConsoleOutput
      Src: /src/gpac/src/utils/error.c:564,1
    - Dst: FillConsoleOutputCharacter
      Src: /src/gpac/src/utils/error.c:612,1
    - Dst: FillConsoleOutputAttribute
      Src: /src/gpac/src/utils/error.c:613,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:644,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:650,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:661,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:674,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:676,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 140
    argCount: 2
    argNames:
    - std
    - code
    argTypes:
    - FILE*
    - GF_ConsoleCodes
    constantsTouched: []
    func_position:
      end: 680
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 680
    functionName: gf_sys_set_console_code
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - SetConsoleCursorPosition
    - WriteConsoleOutput
    - GetConsoleScreenBufferInfo
    - SetConsoleScreenBufferSize
    - FillConsoleOutputCharacter
    - GF_LOG
    - fprintf
    - ReadConsoleOutput
    - FillConsoleOutputAttribute
    - gf_sys_is_test_mode
    - gf_free
    - GetConsoleCursorInfo
    - GetStdHandle
    - getenv
    - SetConsoleTextAttribute
    - SetConsoleWindowInfo
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_set_console_code(FILE *std, GF_ConsoleCodes
      code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/error.c:706,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/error.c:707,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - GF_LogExtra*
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: gf_log_pop_extra
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_pop_extra(const GF_LogExtra *log) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/error.c:798,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/error.c:799,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/utils/error.c:806,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/error.c:803,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/error.c:807,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:810,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - logs
    - fmt
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: do_log_time
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fprintf
    - gf_gmtime
    - gf_sys_clock_high_res
    - gf_net_get_utc
    linkageType: ''
    returnType: void
    signature: 'static void do_log_time(FILE *logs, const char *fmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: gf_log_use_color
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_use_color() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - log_tool
    argTypes:
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: gf_log_get_tool_level
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_log_get_tool_level(GF_LOG_Tool log_tool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gpac/src/utils/error.c:2332,1
    - Dst: isspace
      Src: /src/gpac/src/utils/error.c:2333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - str
    - ans
    argTypes:
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2334
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2334
    functionName: gf_strict_atoui
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - isspace
    - strtoul
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_strict_atoui(const char* str, u32* ans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_modify_tools_levels
      Src: /src/gpac/src/utils/error.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - val
    - reset_all
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 413
    functionName: gf_log_set_tools_levels
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_log_modify_tools_levels
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_log_set_tools_levels(const char *val, Bool reset_all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - log_tool
    - log_level
    argTypes:
    - GF_LOG_Tool
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    functionName: gf_log_tool_level_on
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_tool_level_on(GF_LOG_Tool log_tool, GF_LOG_Level
      log_level) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2340,1
    - Dst: memchr
      Src: /src/gpac/src/utils/error.c:2346,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/error.c:2350,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - data
    - data_size
    - pat
    argTypes:
    - char*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2356
    functionName: gf_strmemstr
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - memchr
    - strlen
    - memcmp
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_strmemstr(const char *data, u32 data_size, const char
      *pat) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/error.c:2364,1
    - Dst: getenv
      Src: /src/gpac/src/utils/error.c:2370,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/error.c:2372,1
    - Dst: gf_opts_get_filename
      Src: /src/gpac/src/utils/error.c:2365,1
    - Dst: getenv
      Src: /src/gpac/src/utils/error.c:2374,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/error.c:2379,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/error.c:2382,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/error.c:2383,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2386,1
    - Dst: strncat
      Src: /src/gpac/src/utils/error.c:2390,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2390,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - url
    - szPath
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 2394
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2394
    functionName: gf_sys_solve_path
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_opts_get_key
    - strncmp
    - strncat
    - strrchr
    - strncpy
    - getenv
    - gf_opts_get_filename
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_solve_path(const char *url, char szPath[GF_MAX_PATH]) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/error.c:422,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/error.c:427,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:431,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/error.c:444,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:430,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/error.c:445,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:446,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:447,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:448,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:449,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:452,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/error.c:467,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:458,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/error.c:470,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:457,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:453,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:456,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 471
    functionName: gf_log_get_tools_levels
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_strdup
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_log_get_tools_levels() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strict
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 982
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 982
    functionName: gf_log_set_strict_error
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_set_strict_error(Bool strict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - usr_cbk
    - cbk
    argTypes:
    - void*
    - gf_log_cbk
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: gf_log_set_callback
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT gf_log_cbk gf_log_set_callback(void *usr_cbk, gf_log_cbk
      cbk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1640
    functionName: gf_disabled_features
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_disabled_features() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2162,1
    - Dst: strchr
      Src: /src/gpac/src/utils/error.c:2163,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:2174,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:2171,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2166,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/error.c:2177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - lang_or_rfc_5646_code
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2182
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2182
    functionName: gf_lang_find
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - strchr
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_lang_find(const char *lang_or_rfc_5646_code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/utils/error.c:2314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - value
    - frac
    argTypes:
    - char*
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 2322
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2322
    functionName: gf_parse_frac
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_parse_lfrac
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_parse_frac(const char *value, GF_Fraction *frac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gpac/src/utils/error.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - loglev
    - logtool
    argTypes:
    - GF_LOG_Level
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: gf_log_check_error
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - exit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_check_error(GF_LOG_Level loglev, GF_LOG_Tool
      logtool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - tool
    - level
    argTypes:
    - GF_LOG_Tool
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: gf_log_set_tool_level
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_set_tool_level(GF_LOG_Tool tool, GF_LOG_Level
      level) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/error.c:1129,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1132
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1132
    functionName: gf_error_to_string
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_error_to_string(GF_Err e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1190
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1190
    functionName: gf_crc_32
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_crc_32(const u8 *data, u32 len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_disabled_features
      Src: /src/gpac/src/utils/error.c:1646,1
    - Dst: gf_enabled_features
      Src: /src/gpac/src/utils/error.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - disabled
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 1649
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1649
    functionName: gf_sys_features
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_enabled_features
    - gf_disabled_features
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sys_features(Bool disabled) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2189
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2189
    functionName: gf_lang_get_name
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_lang_get_name(u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/gpac/src/utils/error.c:2326,1
    - Dst: isspace
      Src: /src/gpac/src/utils/error.c:2327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - str
    - ans
    argTypes:
    - char*
    - s32*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2328
    functionName: gf_strict_atoi
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strtol
    - isspace
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_strict_atoi(const char* str, s32* ans) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prog_cbk
      Src: /src/gpac/src/utils/error.c:182,1
    - Dst: gf_on_progress_std
      Src: /src/gpac/src/utils/error.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - title
    - done
    - total
    argTypes:
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: gf_set_progress
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - prog_cbk
    - gf_on_progress_std
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_set_progress(const char *title, u64 done, u64 total) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_dec
      Src: /src/gpac/src/utils/error.c:82,1
    - Dst: gf_4cc_to_str_safe
      Src: /src/gpac/src/utils/error.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: gf_4cc_to_str
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_4cc_to_str_safe
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_4cc_to_str(u32 type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tool
    - level
    argTypes:
    - GF_LOG_Tool
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 946
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 946
    functionName: gf_log_set_tool_level
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_set_tool_level(GF_LOG_Tool tool, GF_LOG_Level
      level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: gf_log
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - log
    argTypes:
    - GF_LogExtra*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1016
    functionName: gf_log_push_extra
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_push_extra(const GF_LogExtra *log) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2149
    functionName: gf_lang_get_count
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_lang_get_count() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2212,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/error.c:2216,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2214,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2213,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/error.c:2215,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:2222,1
    - Dst: strcat
      Src: /src/gpac/src/utils/error.c:2223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - str
    - to_append
    - sep
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2225
    functionName: gf_dynstrcat
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - strlen
    - strcat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dynstrcat(char **str, const char *to_append, const
      char *sep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:93,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/error.c:93,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/error.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: gf_4cc_parse
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_4cc_parse(const char *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - _user_cbk
    - _prog_cbk
    argTypes:
    - void*
    - gf_on_progress_cbk
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: gf_set_progress_callback
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_set_progress_callback(void *_user_cbk, gf_on_progress_cbk
      _prog_cbk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/error.c:695,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/error.c:698,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/error.c:697,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:700,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/error.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - log
    argTypes:
    - GF_LogExtra*
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: gf_log_push_extra
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - gf_mx_p
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_push_extra(const GF_LogExtra *log) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM
      Src: /src/gpac/src/utils/error.c:894,1
    - Dst: va_start
      Src: /src/gpac/src/utils/error.c:900,1
    - Dst: log_cbk
      Src: /src/gpac/src/utils/error.c:902,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/error.c:901,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:903,1
    - Dst: va_end
      Src: /src/gpac/src/utils/error.c:904,1
    - Dst: EM_ASM
      Src: /src/gpac/src/utils/error.c:907,1
    - Dst: exit
      Src: /src/gpac/src/utils/error.c:913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 915
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 915
    functionName: gf_log
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - va_end
    - gf_mx_p
    - log_cbk
    - va_start
    - exit
    - gf_mx_v
    - EM_ASM
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ll
    - lt
    argTypes:
    - GF_LOG_Level
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: gf_log_lt
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_lt(GF_LOG_Level ll, GF_LOG_Tool lt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ll
    - lt
    argTypes:
    - GF_LOG_Level
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: gf_log_lt
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_lt(GF_LOG_Level ll, GF_LOG_Tool lt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - log
    argTypes:
    - GF_LogExtra*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1019
    functionName: gf_log_pop_extra
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_pop_extra(const GF_LogExtra *log) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1323
    functionName: gf_enabled_features
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_enabled_features() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/utils/error.c:140,1
    - Dst: fflush
      Src: /src/gpac/src/utils/error.c:152,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:151,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:156,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:158,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/error.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - _title
    - done
    - total
    argTypes:
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 165
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 165
    functionName: gf_on_progress_std
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - fflush
    - fprintf
    - MIN
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void gf_on_progress_std(const char *_title, u64 done, u64 total) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/error.c:714,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:717,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/error.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: gf_log_reset_extras
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_reset_extras() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/error.c:724,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/utils/error.c:740,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/error.c:725,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/error.c:727,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:738,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:744,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/error.c:749,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/utils/error.c:755,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - log_tool
    - log_level
    argTypes:
    - GF_LOG_Tool
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 759
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 759
    functionName: gf_log_tool_level_on
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_log_set_strict_error
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_tool_level_on(GF_LOG_Tool log_tool, GF_LOG_Level
      log_level) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - log_level
    argTypes:
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 776
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 776
    functionName: gf_log_level_name
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_log_level_name(GF_LOG_Level log_level) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_log_time
      Src: /src/gpac/src/utils/error.c:821,1
    - Dst: gf_fileio_printf
      Src: /src/gpac/src/utils/error.c:824,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/error.c:829,1
    - Dst: va_copy
      Src: /src/gpac/src/utils/error.c:828,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/error.c:823,1
    - Dst: va_end
      Src: /src/gpac/src/utils/error.c:830,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/error.c:832,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/error.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - cbck
    - level
    - tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 835
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 835
    functionName: default_log_callback
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - va_end
    - do_log_time
    - gf_fflush
    - gf_fileio_printf
    - gf_fileio_check
    - va_copy
    - vfprintf
    linkageType: ''
    returnType: void
    signature: 'void default_log_callback(void *cbck, GF_LOG_Level level, GF_LOG_Tool
      tool, const char *fmt, va_list vlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_cbk
      Src: /src/gpac/src/utils/error.c:920,1
    - Dst: exit
      Src: /src/gpac/src/utils/error.c:922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - level
    - tool
    - fmt
    - vl
    argTypes:
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 924
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 924
    functionName: gf_log_va_list
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - exit
    - log_cbk
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_va_list(GF_LOG_Level level, GF_LOG_Tool tool,
      const char *fmt, va_list vl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1022
    functionName: gf_log_reset_extras
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_reset_extras() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2196
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2196
    functionName: gf_lang_get_2cc
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_lang_get_2cc(u32 idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:248,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:253,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/error.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - logs
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: gf_log_parse_tool
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_log_parse_tool(const char *logs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - log_tool
    argTypes:
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: gf_log_tool_name
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_log_tool_name(GF_LOG_Tool log_tool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - log_tool
    argTypes:
    - GF_LOG_Tool
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: gf_log_get_tool_level
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_log_get_tool_level(GF_LOG_Tool log_tool) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: default_log_callback
      Src: /src/gpac/src/utils/error.c:841,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:851,1
    - Dst: va_end
      Src: /src/gpac/src/utils/error.c:847,1
    - Dst: default_log_callback
      Src: /src/gpac/src/utils/error.c:846,1
    - Dst: va_copy
      Src: /src/gpac/src/utils/error.c:845,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:854,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:857,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:860,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:863,1
    - Dst: do_log_time
      Src: /src/gpac/src/utils/error.c:867,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/error.c:870,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/error.c:869,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/error.c:871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - cbck
    - level
    - tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 872
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 872
    functionName: default_log_callback_color
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - gf_sys_set_console_code
    - va_end
    - do_log_time
    - gf_fflush
    - default_log_callback
    - va_copy
    - vfprintf
    linkageType: ''
    returnType: void
    signature: 'void default_log_callback_color(void *cbck, GF_LOG_Level level, GF_LOG_Tool
      tool, const char *fmt, va_list vlist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strict
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 932
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 932
    functionName: gf_log_set_strict_error
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_set_strict_error(Bool strict) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - usr_cbk
    - cbk
    argTypes:
    - void*
    - gf_log_cbk
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: gf_log_set_callback
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT gf_log_cbk gf_log_set_callback(void *usr_cbk, gf_log_cbk
      cbk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2203
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2203
    functionName: gf_lang_get_3cc
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_lang_get_3cc(u32 idx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/utils/error.c:2239,1
    - Dst: strchr
      Src: /src/gpac/src/utils/error.c:2251,1
    - Dst: strchr
      Src: /src/gpac/src/utils/error.c:2250,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/error.c:2242,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/error.c:2245,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2253,1
    - Dst: atol
      Src: /src/gpac/src/utils/error.c:2258,1
    - Dst: strlen
      Src: /src/gpac/src/utils/error.c:2263,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/error.c:2272,1
    - Dst: atoll
      Src: /src/gpac/src/utils/error.c:2294,1
    - Dst: atof
      Src: /src/gpac/src/utils/error.c:2304,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - value
    - frac
    argTypes:
    - char*
    - GF_Fraction64*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2306
    functionName: gf_parse_lfrac
    functionSourceFile: /src/gpac/src/utils/error.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - atoll
    - strchr
    - atol
    - atof
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_parse_lfrac(const char *value, GF_Fraction64 *frac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:1526,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:1542,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader.c:1527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1529,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:1529,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader.c:1543,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:1548,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:1549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1553,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:1553,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames:
    - e
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: if
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_error_to_string
    - GF_LOG
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_free
    linkageType: ''
    returnType: SET_LAST_ERR(GF_OK)
    signature: 'SET_LAST_ERR(GF_OK) /*failed*/ if (e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2242,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader.c:2241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2246,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2257
    functionName: dm_sess_update_download_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_log_tool_level_on
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void dm_sess_update_download_rate(GF_DownloadSession * sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_new
      Src: /src/gpac/src/utils/downloader.c:4532,1
    - Dst: gf_dm_del
      Src: /src/gpac/src/utils/downloader.c:4536,1
    - Dst: gf_dm_wget_with_cache
      Src: /src/gpac/src/utils/downloader.c:4535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - url
    - filename
    - start_range
    - end_range
    - redirected_url
    argTypes:
    - char*
    - char*
    - u64
    - u64
    - char**
    constantsTouched: []
    func_position:
      end: 4538
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4538
    functionName: gf_dm_wget
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_wget_with_cache
    - gf_dm_del
    - gf_dm_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_wget(const char *url, const char *filename,
      u64 start_range, u64 end_range, char **redirected_url) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_get_chunk_data
      Src: /src/gpac/src/utils/downloader.c:2274,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader.c:2278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2319,1
    - Dst: gf_cache_set_content_length
      Src: /src/gpac/src/utils/downloader.c:2348,1
    - Dst: gf_cache_get_cache_filename
      Src: /src/gpac/src/utils/downloader.c:2351,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader.c:2349,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader.c:2357,1
    - Dst: gf_cache_cleanup
      Src: /src/gpac/src/utils/downloader.c:2358,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:2369,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2279,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2308,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:2334,1
    - Dst: gf_cache_get_url
      Src: /src/gpac/src/utils/downloader.c:2351,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:2365,1
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader.c:2392,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2373,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader.c:2307,1
    - Dst: gf_icy_skip_data
      Src: /src/gpac/src/utils/downloader.c:2324,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/utils/downloader.c:2373,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader.c:2384,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2370,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2285,1
    - Dst: dm_sess_update_download_rate
      Src: /src/gpac/src/utils/downloader.c:2315,1
    - Dst: gf_cache_write_to_cache
      Src: /src/gpac/src/utils/downloader.c:2327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2350,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader.c:2356,1
    - Dst: gf_cache_get_url
      Src: /src/gpac/src/utils/downloader.c:2373,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 141
    argCount: 6
    argNames:
    - sess
    - payload
    - payload_size
    - store_in_init
    - rewrite_size
    - original_payload
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    - Bool
    - u32*
    - u8*
    constantsTouched: []
    func_position:
      end: 2394
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2394
    functionName: gf_dm_data_received
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_cache_set_content_length
    - gf_dm_disconnect
    - gf_dm_data_received
    - gf_dm_get_chunk_data
    - gf_cache_get_url
    - gf_file_basename
    - gf_cache_cleanup
    - gf_dm_sess_user_io
    - memmove
    - gf_assert
    - gf_cache_get_cache_filename
    - dm_sess_update_download_rate
    - gf_icy_skip_data
    - gf_sys_clock
    - memcpy
    - gf_cache_write_to_cache
    - gf_realloc
    - gf_cache_close_write_cache
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_data_received(GF_DownloadSession *sess, u8 *payload, u32
      payload_size, Bool store_in_init, u32 *rewrite_size, u8 *original_payload) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader.c:4548,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:4550,1
    - Dst: gf_dm_sess_new_simple
      Src: /src/gpac/src/utils/downloader.c:4553,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/downloader.c:4571,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/utils/downloader.c:4565,1
    - Dst: gf_cache_set_content_length
      Src: /src/gpac/src/utils/downloader.c:4574,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader.c:4575,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader.c:4576,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:4579,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader.c:4581,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 6
    argNames:
    - dm
    - url
    - filename
    - start_range
    - end_range
    - redirected_url
    argTypes:
    - GF_DownloadManager*
    - char*
    - char*
    - u64
    - u64
    - char**
    constantsTouched: []
    func_position:
      end: 4583
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4583
    functionName: gf_dm_wget_with_cache
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process
    - gf_strdup
    - gf_sleep
    - GF_LOG
    - gf_dm_sess_del
    - gf_cache_set_content_length
    - gf_dm_sess_new_simple
    - gf_cache_close_write_cache
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_wget_with_cache(GF_DownloadManager * dm, const
      char *url, const char *filename, u64 start_range, u64 end_range, char **redirected_url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_new_internal
      Src: /src/gpac/src/utils/downloader.c:1107,1
    - Dst: gf_dm_sess_server_setup_ssl
      Src: /src/gpac/src/utils/downloader.c:1113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - dm
    - server
    - ssl_sock_ctx
    - user_io
    - usr_cbk
    - async
    - e
    argTypes:
    - GF_DownloadManager*
    - GF_Socket*
    - void*
    - gf_dm_user_io
    - void*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1117
    functionName: gf_dm_sess_new_server
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new_internal
    - gf_dm_sess_server_setup_ssl
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_DownloadSession *gf_dm_sess_new_server(GF_DownloadManager
      *dm, GF_Socket *server,\t\tvoid *ssl_sock_ctx, gf_dm_user_io user_io, void *usr_cbk,
      Bool async, GF_Err *e) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader.c:1722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1732
    functionName: gf_dm_sess_flush_input
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_read_data
    linkageType: ''
    returnType: void
    signature: 'static void gf_dm_sess_flush_input(GF_DownloadSession *sess) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:1858,1
    - Dst: gf_cache_are_headers_processed
      Src: /src/gpac/src/utils/downloader.c:1864,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1879
    functionName: gf_dm_sess_process_headers
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_cache_are_headers_processed
    - gf_dm_connect
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_process_headers(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1127
    functionName: gf_dm_sess_subsession_count
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_sess_subsession_count(GF_DownloadSession *sess) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1895,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:1914,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader.c:1906,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/utils/downloader.c:1926,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader.c:1930,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:1933,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader.c:1940,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader.c:1941,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader.c:1942,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/downloader.c:1944,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader.c:1955,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1980,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1975,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader.c:1887,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1889,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1894,1
    - Dst: curl_global_init
      Src: /src/gpac/src/utils/downloader.c:1907,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader.c:1913,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:1915,1
    - Dst: curl_multi_setopt
      Src: /src/gpac/src/utils/downloader.c:1905,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1911,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader.c:1931,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:1948,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader.c:1956,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1971,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1982,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1893,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1900,1
    - Dst: curl_multi_init
      Src: /src/gpac/src/utils/downloader.c:1904,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1961,1
    - Dst: gf_cache_cleanup
      Src: /src/gpac/src/utils/downloader.c:1977,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1984,1
    - Dst: gf_cache_cleanup
      Src: /src/gpac/src/utils/downloader.c:1991,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1892,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1896,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader.c:1897,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1903,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:1916,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader.c:1922,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:1929,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:1930,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader.c:1945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1947,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1969,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1981,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 114
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1993
    functionName: gf_dm_new
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - GF_LOG
    - curl_global_init
    - GF_SAFEALLOC
    - gf_opts_get_int
    - gf_strdup
    - strcmp
    - curl_multi_init
    - gf_get_default_cache_directory
    - gf_file_delete
    - gf_cache_cleanup
    - strcpy
    - gf_list_new
    - gf_fopen
    - gf_mx_new
    - curl_multi_setopt
    - gf_mkdir
    - gf_mx_p
    - sprintf
    - gf_free
    - gf_mx_v
    - gf_opts_get_key
    - strcat
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DownloadManager *gf_dm_new(GF_FilterSession *fsess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dnload
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4589
      start: 4585
    functionDepth: 0
    functionLinenumber: 4585
    functionLinenumberEnd: 4589
    functionName: gf_dm_sess_get_resource_name
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dm_sess_get_resource_name(GF_DownloadSession
      *dnload) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:2401,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2422,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2403,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2402,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:2406,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:2436,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:2442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - dm
    - for_sess
    argTypes:
    - GF_DownloadManager*
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2451
    functionName: dm_exceeds_cap_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_sys_clock_high_res
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dm_exceeds_cap_rate(GF_DownloadManager * dm, GF_DownloadSession
      *for_sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:514,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:516,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:518,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:515,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:521,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:526,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:529,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - url
    - info
    argTypes:
    - char*
    - GF_URL_Info*
    constantsTouched: []
    func_position:
      end: 537
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: gf_dm_parse_protocol
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_strdup
    - strstr
    - strnicmp
    linkageType: ''
    returnType: s32
    signature: 'static s32 gf_dm_parse_protocol(const char * url, GF_URL_Info * info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader.c:1139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1147
    functionName: gf_dm_sess_server_reset
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_clear_headers
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_server_reset(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - dm
    - get_user_password
    - usr_cbk
    argTypes:
    - GF_DownloadManager*
    - gf_dm_get_usr_pass
    - void*
    constantsTouched: []
    func_position:
      end: 2002
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2002
    functionName: gf_dm_set_auth_callback
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_set_auth_callback(GF_DownloadManager *dm, gf_dm_get_usr_pass
      get_user_password, void *usr_cbk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader.c:4603,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/downloader.c:4605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dm
    - rate_in_bits_per_sec
    argTypes:
    - GF_DownloadManager*
    - u32
    constantsTouched: []
    func_position:
      end: 4607
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4607
    functionName: gf_dm_set_data_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_opts_set_key
    - sprintf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_set_data_rate(GF_DownloadManager *dm, u32 rate_in_bits_per_sec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_new_internal
      Src: /src/gpac/src/utils/downloader.c:1156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - dm
    - url
    - dl_flags
    - user_io
    - usr_cbk
    - e
    argTypes:
    - GF_DownloadManager*
    - char*
    - u32
    - gf_dm_user_io
    - void*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1157
    functionName: gf_dm_sess_new_simple
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DownloadSession *gf_dm_sess_new_simple(GF_DownloadManager
      * dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err
      *e) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1753,1
    - Dst: gf_fs_post_user_task
      Src: /src/gpac/src/utils/downloader.c:1749,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader.c:1746,1
    - Dst: gf_th_new
      Src: /src/gpac/src/utils/downloader.c:1756,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/utils/downloader.c:1756,1
    - Dst: gf_th_run
      Src: /src/gpac/src/utils/downloader.c:1758,1
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:1774,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1837,1
    - Dst: gf_dm_sess_flush_input
      Src: /src/gpac/src/utils/downloader.c:1817,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 64
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1843
    functionName: gf_dm_sess_process
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_connect
    - GF_LOG
    - gf_fs_post_user_task
    - gf_th_new
    - gf_file_basename
    - gf_th_run
    - GF_SAFEALLOC
    - gf_dm_sess_flush_input
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_process(GF_DownloadSession *sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:2014,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2039,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader.c:2042,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2043,1
    - Dst: gf_cache_entry_set_delete_files_when_deleted
      Src: /src/gpac/src/utils/downloader.c:2053,1
    - Dst: curl_multi_cleanup
      Src: /src/gpac/src/utils/downloader.c:2067,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader.c:2069,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2079,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2009,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:2011,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2013,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2010,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader.c:2015,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2016,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader.c:2034,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:2033,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2032,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader.c:2027,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/utils/downloader.c:2051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:2026,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2025,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:2037,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2040,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2047,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2062,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader.c:2054,1
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader.c:2073,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader.c:2077,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:2041,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:2050,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader.c:2017,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2018,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2021,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:2029,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2035,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:2045,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:2056,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:2059,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2031,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:2076,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 2080
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2080
    functionName: gf_dm_del
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_cache_entry_set_delete_files_when_deleted
    - SSL_CTX_free
    - gf_mx_del
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_cache_delete_entry
    - gf_mx_p
    - gf_dm_sess_del
    - gf_file_delete
    - gf_list_rem
    - curl_multi_cleanup
    - gf_free
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_del(GF_DownloadManager *dm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2455,1
    - Dst: dm_sess_update_download_rate
      Src: /src/gpac/src/utils/downloader.c:2474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - sess
    - nb_bytes
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 2478
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2478
    functionName: gf_dm_sess_estimate_chunk_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - dm_sess_update_download_rate
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void gf_dm_sess_estimate_chunk_rate(GF_DownloadSession *sess,
      u32 nb_bytes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:495,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:497,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:499,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:501,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:503,1
    - Dst: gf_dm_url_info_init
      Src: /src/gpac/src/utils/downloader.c:504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GF_URL_Info*
    constantsTouched: []
    func_position:
      end: 505
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 505
    functionName: gf_dm_url_info_del
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_url_info_init
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_url_info_del(GF_URL_Info * info) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:193,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader.c:207,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:214,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:216,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:220,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader.c:244,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:250,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:208,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:211,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:217,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:240,1
    - Dst: dm_sess_write
      Src: /src/gpac/src/utils/downloader.c:249,1
    - Dst: http2_check_upgrade
      Src: /src/gpac/src/utils/downloader.c:196,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:212,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:222,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:218,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:227,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:235,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:237,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:242,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:210,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:213,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:215,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:219,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:223,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:225,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:232,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:233,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:234,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:246,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 5
    argNames:
    - sess
    - reply_code
    - response_body
    - body_len
    - no_body
    argTypes:
    - GF_DownloadSession*
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 252
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 252
    functionName: gf_dm_sess_send_reply
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - gf_realloc
    - gf_list_count
    - sprintf
    - GF_LOG
    - memcpy
    - dm_sess_write
    - gf_free
    - http2_check_upgrade
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_send_reply(GF_DownloadSession *sess, u32 reply_code,
      const char *response_body, u32 body_len, Bool no_body) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2769
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2769
    functionName: gf_dm_sess_get_utc_start
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_dm_sess_get_utc_start(GF_DownloadSession * sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:4691,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 4
    argNames:
    - sess
    - idx
    - hdr_name
    - hdr_val
    argTypes:
    - GF_DownloadSession*
    - u32*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 4697
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 4697
    functionName: gf_dm_sess_enum_headers
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_enum_headers(GF_DownloadSession *sess,
      u32 *idx, const char **hdr_name, const char **hdr_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/utils/downloader.c:4832,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/downloader.c:4833,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/downloader.c:4835,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader.c:4842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4843
      start: 4828
    functionDepth: 0
    functionLinenumber: 4828
    functionLinenumberEnd: 4843
    functionName: gf_dm_sess_detach_async
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - gf_sleep
    - gf_dm_sess_flush_async
    - gf_sk_set_block_mode
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_detach_async(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:256,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:259,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/downloader.c:257,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/downloader.c:258,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:261,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: gf_dm_sess_clear_headers
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_count
    - gf_list_last
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_clear_headers(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_get_cache_filename
      Src: /src/gpac/src/utils/downloader.c:2777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2778
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2778
    functionName: gf_dm_sess_get_cache_name
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_cache_get_cache_filename
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dm_sess_get_cache_name(GF_DownloadSession
      * sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 6
    argNames:
    - sess
    - req_hdr_size
    - rsp_hdr_size
    - connect_time
    - reply_time
    - download_time
    argTypes:
    - GF_DownloadSession*
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4711
      start: 4699
    functionDepth: 0
    functionLinenumber: 4699
    functionLinenumberEnd: 4711
    functionName: gf_dm_sess_get_header_sizes_and_times
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_get_header_sizes_and_times(GF_DownloadSession
      *sess, u32 *req_hdr_size, u32 *rsp_hdr_size, u32 *connect_time, u32 *reply_time,
      u32 *download_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - sess
    - timeout
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 4848
      start: 4845
    functionDepth: 0
    functionLinenumber: 4845
    functionLinenumberEnd: 4848
    functionName: gf_dm_sess_set_timeout
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_timeout(GF_DownloadSession *sess, u32 timeout) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader.c:148,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader.c:151,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader.c:150,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:155,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader.c:158,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:163,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader.c:166,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:167,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader.c:172,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:174,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader.c:176,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:168,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:175,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - sess
    - name
    - value
    - allow_overwrite
    argTypes:
    - GF_DownloadSession*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 178
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 178
    functionName: gf_dm_sess_set_header_ex
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - stricmp
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_header_ex(GF_DownloadSession *sess, const char
      *name, const char *value, Bool allow_overwrite) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4670
      start: 4665
    functionDepth: 0
    functionLinenumber: 4665
    functionLinenumberEnd: 4670
    functionName: gf_dm_sess_get_resource_size
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_sess_get_resource_size(GF_DownloadSession * sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_set_header_ex
      Src: /src/gpac/src/utils/downloader.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - sess
    - name
    - value
    argTypes:
    - GF_DownloadSession*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: gf_dm_sess_set_header
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_set_header_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_header(GF_DownloadSession *sess, const char *name,
      const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:4677,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader.c:4680,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:4679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - sess
    - name
    argTypes:
    - GF_DownloadSession*
    - char*
    constantsTouched: []
    func_position:
      end: 4683
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4683
    functionName: gf_dm_sess_get_header
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - stricmp
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dm_sess_get_header(GF_DownloadSession *sess,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - netcap_id
    argTypes:
    - GF_DownloadSession*
    - char*
    constantsTouched: []
    func_position:
      end: 4853
      start: 4850
    functionDepth: 0
    functionLinenumber: 4850
    functionLinenumberEnd: 4853
    functionName: gf_dm_sess_set_netcap_id
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_netcap_id(GF_DownloadSession *sess, const char
      *netcap_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: sess_connection_closed
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sess_connection_closed(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: gf_dm_sess_last_error
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_last_error(GF_DownloadSession *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3373,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3377,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3374,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3375,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3376,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3378,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3379,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:3380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - comp
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3382
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3382
    functionName: http_parse_method
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 http_parse_method(const char *comp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_ssl_write
      Src: /src/gpac/src/utils/downloader.c:77,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:99,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader.c:96,1
    - Dst: gf_sk_send_ex
      Src: /src/gpac/src/utils/downloader.c:82,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader.c:106,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - session
    - buffer
    - size
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 113
    functionName: dm_sess_write
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_ssl_write
    - gf_realloc
    - memcpy
    - gf_sk_send_ex
    - memmove
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dm_sess_write(GF_DownloadSession *session, const u8 *buffer,
      u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/downloader.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GF_URL_Info*
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: gf_dm_url_info_init
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_url_info_init(GF_URL_Info * info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:2784,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:2792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2798
    functionName: gf_dm_sess_abort
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_disconnect
    - gf_mx_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_abort(GF_DownloadSession * sess) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_is_in_progress
      Src: /src/gpac/src/utils/downloader.c:4432,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader.c:4436,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/utils/downloader.c:4444,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:4434,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:4439,1
    - Dst: wait_for_header_and_parse
      Src: /src/gpac/src/utils/downloader.c:4451,1
    - Dst: http_send_headers
      Src: /src/gpac/src/utils/downloader.c:4453,1
    - Dst: http_send_headers
      Src: /src/gpac/src/utils/downloader.c:4458,1
    - Dst: wait_for_header_and_parse
      Src: /src/gpac/src/utils/downloader.c:4460,1
    - Dst: gf_icy_skip_data
      Src: /src/gpac/src/utils/downloader.c:4474,1
    - Dst: http_parse_remaining_body
      Src: /src/gpac/src/utils/downloader.c:4485,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:4481,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4490
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4490
    functionName: http_do_requests
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - wait_for_header_and_parse
    - http_send_headers
    - memset
    - gf_dm_sess_flush_async
    - gf_icy_skip_data
    - http_parse_remaining_body
    - gf_dm_disconnect
    - gf_cache_is_in_progress
    - gf_dm_sess_user_io
    linkageType: ''
    returnType: void
    signature: 'void http_do_requests(GF_DownloadSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4509
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4509
    functionName: gf_dm_sess_is_regulated
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dm_sess_is_regulated(GF_DownloadSession *sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2096,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2117,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2109,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:2118,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader.c:2108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2120,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:2142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 3
    argNames:
    - sess
    - data
    - nbBytes
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2147
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2147
    functionName: gf_icy_skip_data
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - memcpy
    - gf_dm_sess_user_io
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gf_icy_skip_data(GF_DownloadSession * sess, const char
      * data, u32 nbBytes) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2162,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:2186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2166,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:2200,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:2202,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader.c:2204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2216,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader.c:2216,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:2216,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2223,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 5
    argNames:
    - sess
    - first_chunk_in_payload
    - body_start
    - payload_size
    - header_size
    argTypes:
    - GF_DownloadSession*
    - Bool
    - char*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2225
    functionName: gf_dm_get_chunk_data
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - GF_LOG
    - strchr
    - gf_sys_clock_high_res
    - gf_net_get_utc
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_dm_get_chunk_data(GF_DownloadSession *sess, Bool first_chunk_in_payload,
      char *body_start, u32 *payload_size, u32 *header_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/src/utils/downloader.c:4521,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:4523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - cbk
    - param
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 4526
      start: 4515
    functionDepth: 0
    functionLinenumber: 4515
    functionLinenumberEnd: 4526
    functionName: wget_NetIO
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_fwrite
    linkageType: ''
    returnType: void
    signature: 'static void wget_NetIO(void *cbk, GF_NETIO_Parameter *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4652
      start: 4640
    functionDepth: 0
    functionLinenumber: 4640
    functionLinenumberEnd: 4652
    functionName: gf_dm_sess_is_hmux
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_HTTPSessionType
    signature: 'GF_HTTPSessionType gf_dm_sess_is_hmux(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - sess
    - force_keep
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 4724
      start: 4713
    functionDepth: 0
    functionLinenumber: 4713
    functionLinenumberEnd: 4724
    functionName: gf_dm_sess_force_memory_mode
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_force_memory_mode(GF_DownloadSession *sess,
      u32 force_keep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/downloader.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sess
    - dnload_status
    - error
    argTypes:
    - GF_DownloadSession*
    - GF_NetIOStatus
    - GF_Err
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: gf_dm_sess_notify_state
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_notify_state(GF_DownloadSession *sess, GF_NetIOStatus
      dnload_status, GF_Err error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1001,1
    - Dst: gf_dm_session_do_task
      Src: /src/gpac/src/utils/downloader.c:1004,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader.c:1010,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/downloader.c:1001,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/downloader.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1012
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1012
    functionName: gf_dm_session_thread
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_session_do_task
    - GF_LOG
    - gf_dm_sess_del
    - gf_th_id
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dm_session_thread(void *par) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_is_local
      Src: /src/gpac/src/utils/downloader.c:1166,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader.c:1179,1
    - Dst: gf_dm_sess_new_simple
      Src: /src/gpac/src/utils/downloader.c:1175,1
    - Dst: gf_dm_can_handle_url
      Src: /src/gpac/src/utils/downloader.c:1171,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1178,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 6
    argNames:
    - dm
    - url
    - dl_flags
    - user_io
    - usr_cbk
    - e
    argTypes:
    - GF_DownloadManager*
    - char*
    - u32
    - gf_dm_user_io
    - void*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1183
    functionName: gf_dm_sess_new
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_p
    - gf_dm_is_local
    - gf_dm_sess_new_simple
    - gf_dm_can_handle_url
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DownloadSession *gf_dm_sess_new(GF_DownloadManager *dm,
      const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err
      *e) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_select
      Src: /src/gpac/src/utils/downloader.c:4732,1
    - Dst: dm_sess_write
      Src: /src/gpac/src/utils/downloader.c:4747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - sess
    - no_select
    - for_close
    argTypes:
    - GF_DownloadSession*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4752
      start: 4727
    functionDepth: 0
    functionLinenumber: 4727
    functionLinenumberEnd: 4752
    functionName: gf_dm_sess_flush_async_close
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_sk_select
    - dm_sess_write
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dm_sess_flush_async_close(GF_DownloadSession *sess,
      Bool no_select, Bool for_close) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4663
      start: 4654
    functionDepth: 0
    functionLinenumber: 4654
    functionLinenumberEnd: 4663
    functionName: gf_dm_sess_use_tls
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_sess_use_tls(GF_DownloadSession * sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sess
    - par
    argTypes:
    - GF_DownloadSession*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: gf_dm_sess_user_io
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_dm_sess_user_io(GF_DownloadSession *sess, GF_NETIO_Parameter
      *par) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/utils/downloader.c:1191,1
    - Dst: gf_cache_get_content_length
      Src: /src/gpac/src/utils/downloader.c:1193,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader.c:1196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1197,1
    - Dst: gf_cache_is_done
      Src: /src/gpac/src/utils/downloader.c:1192,1
    - Dst: curl_read_data
      Src: /src/gpac/src/utils/downloader.c:1206,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1223,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1226,1
    - Dst: gf_ssl_read_data
      Src: /src/gpac/src/utils/downloader.c:1234,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1236,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:1255,1
    - Dst: gf_sk_receive
      Src: /src/gpac/src/utils/downloader.c:1241,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1247,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1257,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 4
    argNames:
    - sess
    - data
    - data_size
    - out_read
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1259
    functionName: gf_dm_read_data
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - SET_LAST_ERR
    - curl_read_data
    - gf_ssl_read_data
    - gf_sk_receive
    - GF_LOG
    - gf_fread
    - gf_cache_is_done
    - gf_mx_p
    - gf_sys_clock_high_res
    - gf_cache_get_content_length
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_read_data(GF_DownloadSession *sess, char *data, u32 data_size,
      u32 *out_read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:118,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dm
    - url
    argTypes:
    - GF_DownloadManager*
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: gf_dm_is_local
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - strstr
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_dm_is_local(GF_DownloadManager *dm, const char *url) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:272,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:276,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader.c:291,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader.c:281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:295,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:297,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader.c:314,1
    - Dst: hmux_detach_session
      Src: /src/gpac/src/utils/downloader.c:322,1
    - Dst: SSL_shutdown
      Src: /src/gpac/src/utils/downloader.c:328,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader.c:333,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader.c:337,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader.c:329,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:345,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 2
    argNames:
    - sess
    - close_type
    argTypes:
    - GF_DownloadSession*
    - HTTPCloseType
    constantsTouched: []
    func_position:
      end: 346
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 346
    functionName: gf_dm_disconnect
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - SSL_free
    - hmux_detach_session
    - GF_LOG
    - gf_mx_p
    - gf_cache_close_write_cache
    - dm_sess_sk_del
    - SSL_shutdown
    - gf_free
    - gf_fclose
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_disconnect(GF_DownloadSession *sess, HTTPCloseType close_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:944,1
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:949,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:960,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:955,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 967
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 967
    functionName: gf_dm_session_do_task
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_disconnect
    - gf_dm_connect
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_session_do_task(GF_DownloadSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 4613
      start: 4609
    functionDepth: 0
    functionLinenumber: 4609
    functionLinenumberEnd: 4613
    functionName: gf_dm_get_data_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dm_get_data_rate(GF_DownloadManager *dm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4772
      start: 4763
    functionDepth: 0
    functionLinenumber: 4763
    functionLinenumberEnd: 4772
    functionName: gf_dm_sess_async_pending
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_dm_sess_async_pending(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_destroy
      Src: /src/gpac/src/utils/downloader.c:35,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:43,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:42,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: dm_sess_sk_del
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - curl_destroy
    - GF_LOG
    - gf_sk_group_unregister
    - gf_sk_del
    linkageType: ''
    returnType: void
    signature: 'void dm_sess_sk_del(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:125,1
    - Dst: curl_can_handle_url
      Src: /src/gpac/src/utils/downloader.c:131,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: gf_dm_can_handle_url
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - curl_can_handle_url
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_can_handle_url(const char *url) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader.c:374,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:380,1
    - Dst: hmux_detach_session
      Src: /src/gpac/src/utils/downloader.c:397,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:398,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:418,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:429,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:438,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:443,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:434,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:386,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:383,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:413,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:426,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/src/utils/downloader.c:442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:354,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/downloader.c:366,1
    - Dst: gf_th_stop
      Src: /src/gpac/src/utils/downloader.c:367,1
    - Dst: gf_th_del
      Src: /src/gpac/src/utils/downloader.c:368,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:373,1
    - Dst: gf_cache_remove_entry_from_session
      Src: /src/gpac/src/utils/downloader.c:378,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:396,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:387,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader.c:436,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:446,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader.c:361,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:360,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:375,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:381,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:388,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:404,1
    - Dst: SSL_shutdown
      Src: /src/gpac/src/utils/downloader.c:419,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader.c:420,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader.c:424,1
    - Dst: curl_slist_free_all
      Src: /src/gpac/src/utils/downloader.c:430,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 447
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 447
    functionName: gf_dm_sess_del
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - SSL_free
    - GF_LOG
    - gf_dm_disconnect
    - dm_sess_sk_del
    - curl_slist_free_all
    - gf_list_del
    - gf_fs_is_last_task
    - SSL_shutdown
    - gf_th_stop
    - gf_assert
    - gf_list_del_item
    - gf_th_del
    - hmux_detach_session
    - gf_mx_p
    - gf_cache_remove_entry_from_session
    - gf_mx_del
    - gf_mx_v
    - gf_free
    - gf_dm_sess_clear_headers
    - gf_sleep
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_del(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:974,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:987,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader.c:990,1
    - Dst: gf_dm_session_do_task
      Src: /src/gpac/src/utils/downloader.c:977,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:986,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - fsess
    - callback
    - reschedule_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 993
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 993
    functionName: gf_dm_session_task
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_dm_session_do_task
    - gf_dm_sess_del
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_dm_session_task(GF_FilterSession *fsess, void *callback, u32
      *reschedule_ms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:4621,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:4636,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:4629,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:4622,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:4625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - dm
    argTypes:
    - GF_DownloadManager*
    constantsTouched: []
    func_position:
      end: 4638
      start: 4615
    functionDepth: 0
    functionLinenumber: 4615
    functionLinenumberEnd: 4638
    functionName: gf_dm_get_global_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_sys_clock_high_res
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dm_get_global_rate(GF_DownloadManager *dm) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hmux_send_payload
      Src: /src/gpac/src/utils/downloader.c:4781,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/utils/downloader.c:4805,1
    - Dst: sess_connection_closed
      Src: /src/gpac/src/utils/downloader.c:4797,1
    - Dst: dm_sess_write
      Src: /src/gpac/src/utils/downloader.c:4794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - sess
    - data
    - size
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 4808
      start: 4774
    functionDepth: 0
    functionLinenumber: 4774
    functionLinenumberEnd: 4808
    functionName: gf_dm_sess_send
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - dm_sess_write
    - gf_dm_sess_send
    - sess_connection_closed
    - hmux_send_payload
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_send(GF_DownloadSession *sess, u8 *data,
      u32 size) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:1325,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1357,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1362,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1392,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1394,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1397,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/downloader.c:1412,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader.c:1423,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:1437,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:1549,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:1553,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:1569,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1589,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:1529,1
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:1582,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:1526,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1563,1
    - Dst: hmux_detach_session
      Src: /src/gpac/src/utils/downloader.c:1287,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1297,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:1308,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader.c:1324,1
    - Dst: gf_mx_get_num_locks
      Src: /src/gpac/src/utils/downloader.c:1361,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/utils/downloader.c:1409,1
    - Dst: http3_connect
      Src: /src/gpac/src/utils/downloader.c:1481,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:1542,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1553,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/utils/downloader.c:1493,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1529,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/utils/downloader.c:1561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1568,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1272,1
    - Dst: curl_connect
      Src: /src/gpac/src/utils/downloader.c:1278,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:1344,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader.c:1377,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1381,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:1391,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:1419,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:1429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1462,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/utils/downloader.c:1488,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:1567,1
    - Dst: gf_ssl_try_connect
      Src: /src/gpac/src/utils/downloader.c:1579,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader.c:1527,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1286,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1310,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:1321,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:1322,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/downloader.c:1363,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:1383,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:1427,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader.c:1428,1
    - Dst: atoi
      Src: /src/gpac/src/utils/downloader.c:1431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader.c:1436,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:1475,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader.c:1543,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:1593,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:1438,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader.c:1548,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 255
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1595
    functionName: gf_dm_connect
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dm_connect
    - GF_LOG
    - http3_connect
    - gf_sk_group_unregister
    - gf_sk_del
    - strstr
    - gf_dm_sess_notify_state
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - atoi
    - strcpy
    - gf_sk_group_register
    - hmux_detach_session
    - gf_list_get
    - gf_mx_get_num_locks
    - gf_mx_p
    - strchr
    - gf_mx_del
    - gf_mx_v
    - gf_free
    - gf_opts_get_key
    - gf_ssl_try_connect
    - gf_sk_connect
    - gf_sk_set_block_mode
    - gf_dm_configure_cache
    - curl_connect
    - gf_sys_clock_high_res
    - gf_opts_get_bool
    - gf_sk_new_ex
    linkageType: ''
    returnType: void
    signature: 'static void gf_dm_connect(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_get_mime_type
      Src: /src/gpac/src/utils/downloader.c:1661,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:1668,1
    - Dst: gf_dm_refresh_cache_entry
      Src: /src/gpac/src/utils/downloader.c:1665,1
    - Dst: gf_cache_get_mime_type
      Src: /src/gpac/src/utils/downloader.c:1669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1670
    functionName: gf_dm_sess_mime_type
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_dm_refresh_cache_entry
    - gf_cache_get_mime_type
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_dm_sess_mime_type(GF_DownloadSession *sess) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:3291,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:3293,1
    - Dst: gf_cache_set_content_length
      Src: /src/gpac/src/utils/downloader.c:3318,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:3315,1
    - Dst: dm_exceeds_cap_rate
      Src: /src/gpac/src/utils/downloader.c:3273,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:3289,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:3285,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:3292,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:3294,1
    - Dst: gf_cache_get_content_length
      Src: /src/gpac/src/utils/downloader.c:3301,1
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader.c:3308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:3316,1
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader.c:3342,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:3316,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:3322,1
    - Dst: hmux_flush_internal_data
      Src: /src/gpac/src/utils/downloader.c:3305,1
    - Dst: hmux_flush_internal_data
      Src: /src/gpac/src/utils/downloader.c:3335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:3282,1
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader.c:3287,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:3293,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader.c:3314,1
    - Dst: gf_dm_sess_estimate_chunk_rate
      Src: /src/gpac/src/utils/downloader.c:3345,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 3354
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3354
    functionName: http_parse_remaining_body
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_read_data
    - gf_dm_sess_estimate_chunk_rate
    - gf_dm_sess_notify_state
    - gf_error_to_string
    - GF_LOG
    - gf_dm_disconnect
    - hmux_flush_internal_data
    - gf_cache_set_content_length
    - memcpy
    - dm_exceeds_cap_rate
    - gf_cache_get_content_length
    - gf_sys_clock_high_res
    - gf_dm_data_received
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err http_parse_remaining_body(GF_DownloadSession * sess) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:1610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1625,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader.c:1616,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader.c:1614,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader.c:1622,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/utils/downloader.c:1626,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1628,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1654
    functionName: gf_dm_refresh_cache_entry
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_setup_from_url
    - gf_dm_connect
    - GF_LOG
    - gf_dm_disconnect
    - gf_sys_clock
    linkageType: ''
    returnType: DownloadedCacheEntry
    signature: 'DownloadedCacheEntry gf_dm_refresh_cache_entry(GF_DownloadSession
      *sess) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_get_end_range
      Src: /src/gpac/src/utils/downloader.c:1679,1
    - Dst: gf_cache_set_end_range
      Src: /src/gpac/src/utils/downloader.c:1697,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - sess
    - start_range
    - end_range
    - discontinue_cache
    argTypes:
    - GF_DownloadSession*
    - u64
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 1715
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1715
    functionName: gf_dm_sess_set_range
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_cache_get_end_range
    - gf_cache_set_end_range
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_set_range(GF_DownloadSession *sess, u64
      start_range, u64 end_range, Bool discontinue_cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:3365,1
    - Dst: gf_dm_sess_user_io
      Src: /src/gpac/src/utils/downloader.c:3367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - sess
    - sHTTP
    - bytesRead
    - BodyStart
    argTypes:
    - GF_DownloadSession*
    - char*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 3369
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3369
    functionName: notify_error_body
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_user_io
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void notify_error_body(GF_DownloadSession *sess, char * sHTTP,
      s32 bytesRead, s32 BodyStart) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:545,1
    - Dst: gf_dm_parse_protocol
      Src: /src/gpac/src/utils/downloader.c:547,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:579,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:589,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:598,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:602,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:619,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:622,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:641,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:652,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/downloader.c:664,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:556,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:554,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:561,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:562,1
    - Dst: gf_dm_parse_protocol
      Src: /src/gpac/src/utils/downloader.c:566,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:597,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader.c:583,1
    - Dst: gf_url_percent_encode
      Src: /src/gpac/src/utils/downloader.c:608,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader.c:626,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:667,1
    - Dst: atoi
      Src: /src/gpac/src/utils/downloader.c:649,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:661,1
    - Dst: gf_dm_url_info_init
      Src: /src/gpac/src/utils/downloader.c:557,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:573,1
    - Dst: gf_url_percent_encode
      Src: /src/gpac/src/utils/downloader.c:574,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:587,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:606,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:632,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:636,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:638,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:640,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:654,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader.c:646,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:659,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:669,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/utils/downloader.c:559,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:580,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:575,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:603,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:607,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:611,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:612,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:613,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:629,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:630,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader.c:645,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:660,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:671,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:665,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 133
    argCount: 3
    argNames:
    - url
    - info
    - baseURL
    argTypes:
    - char*
    - GF_URL_Info*
    - char*
    constantsTouched: []
    func_position:
      end: 673
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 673
    functionName: gf_dm_get_url_info
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_url_info_init
    - gf_url_concatenate
    - strlen
    - gf_dynstrcat
    - snprintf
    - gf_dm_parse_protocol
    - gf_strdup
    - GF_LOG
    - gf_dm_url_info_del
    - strrchr
    - strchr
    - atoi
    - gf_url_percent_encode
    - gf_assert
    - strstr
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_get_url_info(const char * url, GF_URL_Info
      * info, const char * baseURL) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2537,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2556,1
    - Dst: gf_cache_is_done
      Src: /src/gpac/src/utils/downloader.c:2562,1
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader.c:2628,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2588,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader.c:2593,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:2702,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2708,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:2539,1
    - Dst: gf_cache_get_content
      Src: /src/gpac/src/utils/downloader.c:2560,1
    - Dst: dm_exceeds_cap_rate
      Src: /src/gpac/src/utils/downloader.c:2601,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:2619,1
    - Dst: gf_dm_data_received
      Src: /src/gpac/src/utils/downloader.c:2642,1
    - Dst: gf_dm_sess_estimate_chunk_rate
      Src: /src/gpac/src/utils/downloader.c:2678,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader.c:2548,1
    - Dst: gf_cache_release_content
      Src: /src/gpac/src/utils/downloader.c:2569,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2624,1
    - Dst: gf_cache_release_content
      Src: /src/gpac/src/utils/downloader.c:2597,1
    - Dst: hmux_fetch_data
      Src: /src/gpac/src/utils/downloader.c:2655,1
    - Dst: gf_sk_probe
      Src: /src/gpac/src/utils/downloader.c:2699,1
    - Dst: gf_dm_connect
      Src: /src/gpac/src/utils/downloader.c:2516,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader.c:2545,1
    - Dst: gf_cache_get_content_length
      Src: /src/gpac/src/utils/downloader.c:2558,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:2630,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 197
    argCount: 4
    argNames:
    - sess
    - buffer
    - buffer_size
    - read_size
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2731
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2731
    functionName: gf_dm_sess_fetch_data
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - SET_LAST_ERR
    - gf_dm_read_data
    - gf_dm_sess_estimate_chunk_rate
    - gf_dm_connect
    - GF_LOG
    - gf_cache_is_done
    - hmux_fetch_data
    - gf_cache_get_content
    - memcpy
    - gf_sk_probe
    - dm_exceeds_cap_rate
    - gf_cache_get_content_length
    - gf_free
    - gf_dm_data_received
    - memmove
    - gf_assert
    - gf_sys_clock_high_res
    - gf_cache_release_content
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_fetch_data(GF_DownloadSession *sess, char
      *buffer, u32 buffer_size, u32 *read_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - sess
    - max_rate
    argTypes:
    - GF_DownloadSession*
    - u32
    constantsTouched: []
    func_position:
      end: 4499
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4499
    functionName: gf_dm_sess_set_max_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_sess_set_max_rate(GF_DownloadSession *sess, u32
      max_rate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_flush_async_close
      Src: /src/gpac/src/utils/downloader.c:4756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - no_select
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 4757
      start: 4754
    functionDepth: 0
    functionLinenumber: 4754
    functionLinenumberEnd: 4757
    functionName: gf_dm_sess_flush_async
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_flush_async_close
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_flush_async(GF_DownloadSession *sess, Bool no_select) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4813
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4813
    functionName: gf_dm_sess_get_socket
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Socket*
    signature: 'GF_Socket *gf_dm_sess_get_socket(GF_DownloadSession *sess) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader.c:684,1
    - Dst: gf_dm_url_info_init
      Src: /src/gpac/src/utils/downloader.c:686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:696,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/downloader.c:701,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:723,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:724,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:725,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:728,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:751,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/utils/downloader.c:932,1
    - Dst: SSL_shutdown
      Src: /src/gpac/src/utils/downloader.c:882,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader.c:900,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:821,1
    - Dst: hmux_detach_session
      Src: /src/gpac/src/utils/downloader.c:868,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:898,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:726,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader.c:762,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:764,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader.c:765,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:767,1
    - Dst: curl_multi_init
      Src: /src/gpac/src/utils/downloader.c:784,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:799,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:801,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:816,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:826,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:831,1
    - Dst: gf_cache_get_downtime
      Src: /src/gpac/src/utils/downloader.c:922,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:802,1
    - Dst: gf_user_credentials_register
      Src: /src/gpac/src/utils/downloader.c:828,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:760,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:754,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader.c:883,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader.c:694,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/downloader.c:702,1
    - Dst: gf_dm_get_url_info
      Src: /src/gpac/src/utils/downloader.c:712,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:718,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader.c:743,1
    - Dst: gf_dm_url_info_init
      Src: /src/gpac/src/utils/downloader.c:721,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:754,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:790,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:793,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:794,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader.c:845,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader.c:902,1
    - Dst: gf_cache_is_done
      Src: /src/gpac/src/utils/downloader.c:908,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:798,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader.c:867,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader.c:873,1
    - Dst: gf_cache_is_deleted
      Src: /src/gpac/src/utils/downloader.c:904,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader.c:710,1
    - Dst: gf_cache_remove_entry_from_session
      Src: /src/gpac/src/utils/downloader.c:746,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader.c:720,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:755,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader.c:806,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:803,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:807,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader.c:809,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:813,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:815,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader.c:828,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader.c:869,1
    - Dst: gf_dm_sess_reload_cached_headers
      Src: /src/gpac/src/utils/downloader.c:927,1
    - Dst: gf_cache_get_content_length
      Src: /src/gpac/src/utils/downloader.c:912,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:899,1
    - Dst: curl_setup_session
      Src: /src/gpac/src/utils/downloader.c:849,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader.c:766,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 238
    argCount: 3
    argNames:
    - sess
    - url
    - allow_direct_reuse
    argTypes:
    - GF_DownloadSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 933
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 933
    functionName: gf_dm_sess_setup_from_url
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - SSL_free
    - curl_setup_session
    - GF_LOG
    - dm_sess_sk_del
    - strstr
    - gf_strdup
    - strcmp
    - curl_multi_init
    - SSL_shutdown
    - gf_assert
    - gf_dm_sess_reload_cached_headers
    - gf_dynstrcat
    - hmux_detach_session
    - gf_cache_get_downtime
    - sprintf
    - gf_mx_p
    - gf_cache_is_done
    - gf_dm_sess_set_range
    - gf_cache_is_deleted
    - gf_cache_remove_entry_from_session
    - strchr
    - gf_cache_get_content_length
    - strnicmp
    - gf_free
    - gf_mx_v
    - gf_opts_get_key
    - gf_dm_url_info_init
    - SET_LAST_ERR
    - gf_user_credentials_register
    - gf_dm_configure_cache
    - gf_dm_url_info_del
    - gf_fatal_assert
    - gf_dm_sess_clear_headers
    - gf_sys_clock_high_res
    - gf_fclose
    - gf_dm_get_url_info
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_setup_from_url(GF_DownloadSession *sess,
      const char *url, Bool allow_direct_reuse) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 21
    argCount: 7
    argNames:
    - sess
    - server
    - path
    - total_size
    - bytes_done
    - bytes_per_sec
    - net_status
    argTypes:
    - GF_DownloadSession*
    - char**
    - char**
    - u64*
    - u64*
    - u32*
    - GF_NetIOStatus*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2762
    functionName: gf_dm_sess_get_stats
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_sess_get_stats(GF_DownloadSession * sess, const
      char **server, const char **path, u64 *total_size, u64 *bytes_done, u32 *bytes_per_sec,
      GF_NetIOStatus *net_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4504
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4504
    functionName: gf_dm_sess_get_max_rate
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_dm_sess_get_max_rate(GF_DownloadSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_flush_async_close
      Src: /src/gpac/src/utils/downloader.c:4760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 4761
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4761
    functionName: gf_dm_sess_flush_close
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_flush_async_close
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_sess_flush_close(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/utils/downloader.c:4820,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/utils/downloader.c:4822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - sess
    - sg
    argTypes:
    - GF_DownloadSession*
    - GF_SockGroup*
    constantsTouched: []
    func_position:
      end: 4826
      start: 4815
    functionDepth: 0
    functionLinenumber: 4815
    functionLinenumberEnd: 4826
    functionName: gf_dm_sess_set_sock_group
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_sk_group_unregister
    - gf_sk_group_register
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_sock_group(GF_DownloadSession *sess, GF_SockGroup
      *sg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader.c:1024,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader.c:1038,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1042,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader.c:1040,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader.c:1031,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1045,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/downloader.c:1047,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/downloader.c:1061,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader.c:1075,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader.c:1077,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader.c:1089,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader.c:1090,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader.c:1089,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/utils/downloader.c:1087,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader.c:1093,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 8
    argNames:
    - dm
    - url
    - dl_flags
    - user_io
    - usr_cbk
    - server
    - force_server
    - e
    argTypes:
    - GF_DownloadManager*
    - char*
    - u32
    - gf_dm_user_io
    - void*
    - GF_Socket*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1097
    functionName: gf_dm_sess_new_internal
    functionSourceFile: /src/gpac/src/utils/downloader.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mx_new
    - gf_dm_sess_setup_from_url
    - gf_sk_set_block_mode
    - gf_error_to_string
    - gf_strdup
    - GF_LOG
    - gf_dm_sess_del
    - gf_opts_get_int
    - GF_SAFEALLOC
    - gf_list_new
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: GF_DownloadSession*
    signature: 'GF_DownloadSession *gf_dm_sess_new_internal(GF_DownloadManager * dm,
      const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Socket
      *server, Bool force_server, GF_Err *e) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gpac/src/utils/os_module.c:216,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_module.c:210,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:226,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:231,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/utils/os_module.c:234,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_module.c:267,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_module.c:281,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_module.c:210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:218,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:223,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:224,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:229,1
    - Dst: dlopen
      Src: /src/gpac/src/utils/os_module.c:244,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:251,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:253,1
    - Dst: dlclose
      Src: /src/gpac/src/utils/os_module.c:254,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_module.c:273,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:280,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:223,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:224,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:225,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:230,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:232,1
    - Dst: dlerror
      Src: /src/gpac/src/utils/os_module.c:246,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:258,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_module.c:274,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_module.c:210,1
    - Dst: gf_module_is_loaded
      Src: /src/gpac/src/utils/os_module.c:211,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:226,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:246,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:250,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:252,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_module.c:265,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_module.c:269,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_module.c:277,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_module.c:276,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 283
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 283
    functionName: enum_modules
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - dlsym
    - strncmp
    - dlerror
    - dlclose
    - gf_strdup
    - FreeLibrary
    - GF_LOG
    - LoadLibrary
    - _T
    - dlopen
    - gf_module_is_loaded
    - GetProcAddress
    - GF_SAFEALLOC
    - gf_free
    - strrchr
    - gf_list_new
    linkageType: ''
    returnType: Bool
    signature: 'static Bool enum_modules(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:71,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_module.c:110,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:127,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:125,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:128,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:131,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:133,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:150,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:154,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_module.c:108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:100,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:126,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:127,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:132,1
    - Dst: dlopen
      Src: /src/gpac/src/utils/os_module.c:143,1
    - Dst: dlerror
      Src: /src/gpac/src/utils/os_module.c:145,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:158,1
    - Dst: SetDllDirectory
      Src: /src/gpac/src/utils/os_module.c:103,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_module.c:116,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_module.c:126,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:145,1
    - Dst: dlerror
      Src: /src/gpac/src/utils/os_module.c:148,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:151,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:152,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/os_module.c:153,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_module.c:107,1
    - Dst: LoadLibrary
      Src: /src/gpac/src/utils/os_module.c:114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:120,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:128,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_module.c:125,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 1
    argNames:
    - inst
    argTypes:
    - ModuleInstance*
    constantsTouched: []
    func_position:
      end: 164
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 164
    functionName: gf_modules_load_library
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - dlsym
    - dlerror
    - CE_CharToWide
    - sprintf
    - GF_LOG
    - GetLastError
    - LoadLibrary
    - _T
    - dlopen
    - GetProcAddress
    - SetDllDirectory
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_modules_load_library(ModuleInstance *inst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_module.c:168,1
    - Dst: dlclose
      Src: /src/gpac/src/utils/os_module.c:181,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_module.c:178,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/utils/os_module.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - inst
    argTypes:
    - ModuleInstance*
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: gf_modules_unload_library
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - dlclose
    - gf_list_count
    - FreeLibrary
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void gf_modules_unload_library(ModuleInstance *inst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_module.c:289,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_module.c:296,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_module.c:291,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_module.c:294,1
    - Dst: gf_module_is_loaded
      Src: /src/gpac/src/utils/os_module.c:292,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_module.c:298,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:304,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_module.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pm
    argTypes:
    - GF_ModuleManager*
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: load_static_modules
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_module_is_loaded
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void load_static_modules(GF_ModuleManager *pm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_module.c:40,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_module.c:41,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/utils/os_module.c:47,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/os_module.c:42,1
    - Dst: dlclose
      Src: /src/gpac/src/utils/os_module.c:49,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_module.c:52,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_module.c:56,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_module.c:61,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_module.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - inst
    argTypes:
    - ModuleInstance*
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: gf_modules_free_module
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - dlclose
    - gf_list_count
    - FreeLibrary
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_modules_free_module(ModuleInstance *inst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_static_modules
      Src: /src/gpac/src/utils/os_module.c:317,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_module.c:332,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_module.c:322,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_module.c:327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_module.c:320,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_module.c:334,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_module.c:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pm
    argTypes:
    - GF_ModuleManager*
    constantsTouched: []
    func_position:
      end: 341
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 341
    functionName: gf_modules_refresh
    functionSourceFile: /src/gpac/src/utils/os_module.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_enum_directory
    - GF_LOG
    - load_static_modules
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_modules_refresh(GF_ModuleManager *pm) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:56,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:77,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:69,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:81,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - pathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: URL_GetProtocolType
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    - strnicmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 URL_GetProtocolType(const char *pathName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: URL_GetProtocolType
      Src: /src/gpac/src/utils/url.c:110,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:117,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:138,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:129,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:135,1
    - Dst: URL_GetProtocolType
      Src: /src/gpac/src/utils/url.c:143,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:147,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/utils/url.c:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - pathName
    - parentPath
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 157
    functionName: gf_url_get_absolute_path
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_url_concatenate
    - gf_strdup
    - strchr
    - URL_GetProtocolType
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_url_get_absolute_path(const char *pathName, const
      char *parentPath) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL_GetProtocolType
      Src: /src/gpac/src/utils/url.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: gf_url_is_local
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - URL_GetProtocolType
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_url_is_local(const char *pathName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate_ex
      Src: /src/gpac/src/utils/url.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - parentName
    - pathName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: gf_url_concatenate
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_url_concatenate(const char *parentName, const char
      *pathName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:515,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/url.c:525,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/url.c:536,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 546
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 546
    functionName: gf_url_percent_decode
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - sscanf
    - strlen
    - gf_strdup
    - gf_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *gf_url_percent_decode(const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/url.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sURL
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: gf_url_free
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_url_free(char *sURL) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/url.c:579,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:580,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sURL
    - res_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: gf_url_remove_last_delimiter
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_url_remove_last_delimiter(const char *sURL, char *res_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL_GetProtocolType
      Src: /src/gpac/src/utils/url.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: gf_url_is_relative
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - URL_GetProtocolType
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_url_is_relative(const char *pathName) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:312,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:338,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:173,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:207,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:234,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:262,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:251,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:325,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:380,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:241,1
    - Dst: strcat
      Src: /src/gpac/src/utils/url.c:210,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:221,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/url.c:279,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:326,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/url.c:396,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:412,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:315,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:256,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:251,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/utils/url.c:176,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:202,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/url.c:241,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/url.c:267,1
    - Dst: strcat
      Src: /src/gpac/src/utils/url.c:392,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:396,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:181,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/url.c:208,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/url.c:305,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:258,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:306,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:307,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:203,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:208,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/url.c:245,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/url.c:388,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:258,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/url.c:275,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:306,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:169,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:172,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:189,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:186,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:219,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:230,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:260,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:251,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/utils/url.c:240,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:262,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:186,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:226,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:236,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/url.c:244,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/url.c:342,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/url.c:397,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:413,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:415,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:169,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/url.c:242,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:256,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:323,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:179,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:236,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:310,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:251,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:363,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:374,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:252,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:168,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:330,1
    - Dst: strcat
      Src: /src/gpac/src/utils/url.c:352,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/url.c:175,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/utils/url.c:179,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:189,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/url.c:195,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:230,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:321,1
    - Dst: strcat
      Src: /src/gpac/src/utils/url.c:358,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/url.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/url.c:182,1
    - Dst: URL_GetProtocolType
      Src: /src/gpac/src/utils/url.c:199,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:213,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:220,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:224,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:232,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:250,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:375,1
    - Dst: strcat
      Src: /src/gpac/src/utils/url.c:390,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/utils/url.c:266,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:241,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:395,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:400,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:415,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:283,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:313,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:171,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:194,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:181,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/url.c:209,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:232,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:234,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 402
    argCount: 3
    argNames:
    - parentName
    - pathName
    - relative_to_parent
    argTypes:
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 420
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 420
    functionName: gf_url_concatenate_ex
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strncmp
    - GF_LOG
    - strstr
    - gf_fileio_open_url
    - gf_fileio_from_url
    - gf_strdup
    - strcmp
    - strcpy
    - memmove
    - gf_dynstrcat
    - sprintf
    - strchr
    - gf_free
    - strnicmp
    - gf_fileio_url
    - gf_url_concatenate
    - strcat
    - strrchr
    - URL_GetProtocolType
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_url_concatenate_ex(const char *parentName, const char
      *pathName, Bool relative_to_parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate_ex
      Src: /src/gpac/src/utils/url.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - parentName
    - pathName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: gf_url_concatenate_parent
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_url_concatenate_parent(const char *parentName,
      const char *pathName) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:462,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/url.c:475,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:468,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:468,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:466,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/url.c:476,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/url.c:477,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:484,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:487,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:487,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/url.c:496,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 507
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 507
    functionName: gf_url_percent_encode
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_strdup
    - sprintf
    - strchr
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'char *gf_url_percent_encode(const char *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:553,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - sURL
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: gf_url_get_resource_name
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_url_get_resource_name(const char *sURL) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/utils/url.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - sURL
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: gf_url_get_resource_extension
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_url_get_resource_extension(const char *sURL) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/url.c:435,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:438,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:440,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:438,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:437,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:440,1
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:445,1
    - Dst: memmove
      Src: /src/gpac/src/utils/url.c:448,1
    - Dst: strlen
      Src: /src/gpac/src/utils/url.c:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - sURL
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: gf_url_to_fs_path
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strlen
    - memmove
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_url_to_fs_path(char *sURL) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/utils/url.c:562,1
    - Dst: strchr
      Src: /src/gpac/src/utils/url.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - sURL
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: gf_url_get_path
    functionSourceFile: /src/gpac/src/utils/url.c
    functionUses: []
    functionsReached:
    - strstr
    - strchr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_url_get_path(const char *sURL) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1065,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/os_net.c:1076,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1094,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1118,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1123,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1212,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1217,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1240,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:1262,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:1190,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1230,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/os_net.c:1228,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/os_net.c:1072,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1082,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1096,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1126,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1137,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1149,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:1171,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:1189,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/utils/os_net.c:1203,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1218,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1227,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1224,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1210,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/os_net.c:1174,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1225,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1081,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1105,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1115,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1116,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1120,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1121,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1137,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1163,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1170,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:1172,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1219,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/os_net.c:1229,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1191,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1208,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:1209,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1068,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1081,1
    - Dst: pcapng_load_shb
      Src: /src/gpac/src/utils/os_net.c:1083,1
    - Dst: pcapng_load_idb
      Src: /src/gpac/src/utils/os_net.c:1090,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1101,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1105,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1117,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1122,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1148,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1169,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/os_net.c:1173,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1211,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1232,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/utils/os_net.c:1239,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 191
    argCount: 1
    argNames:
    - nf
    argTypes:
    - GF_NetcapFilter*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1268
    functionName: gf_netcap_load_pck_pcap
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - GF_4CC
    - gf_bs_get_position
    - pcapng_load_shb
    - gf_bs_read_data
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_read_u32_le
    - gf_bs_is_overflow
    - gf_sys_clock_high_res
    - gf_bs_skip_bytes
    - pcapng_load_idb
    linkageType: ''
    returnType: void
    signature: 'static void gf_netcap_load_pck_pcap(GF_NetcapFilter *nf) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3046,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3052,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3083,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3029,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3035,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3040,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3075,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3079,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3092,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:3028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3035,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3032,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3044,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3054,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3063,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3061,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:3074,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3033,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3054,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3086,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 7
    argNames:
    - sock
    - M_req
    - TTL
    - src_ip_inc
    - nb_src_ip_inc
    - src_ip_exc
    - nb_src_ip_exc
    argTypes:
    - GF_Socket*
    - struct ip_mreq*
    - u32
    - char**
    - u32
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 3095
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3095
    functionName: sk_join_ipv4
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - inet_addr
    - GF_LOG
    - gf_net_is_ipv6
    - strcmp
    - setsockopt
    - gf_errno_str
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sk_join_ipv4(GF_Socket *sock, struct ip_mreq *M_req,
      u32 TTL, const char **src_ip_inc, u32 nb_src_ip_inc, const char **src_ip_exc,
      u32 nb_src_ip_exc) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:3841,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_net.c:3843,1
    - Dst: gf_netcap_load_pck
      Src: /src/gpac/src/utils/os_net.c:3853,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_net.c:3885,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3885,1
    - Dst: poll
      Src: /src/gpac/src/utils/os_net.c:3888,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3895,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3895,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:3910,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:3911,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/os_net.c:3925,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/os_net.c:3927,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/os_net.c:3930,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3947,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3941,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3947,1
    - Dst: select
      Src: /src/gpac/src/utils/os_net.c:3936,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3952,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 76
    argCount: 3
    argNames:
    - sg
    - usec_wait
    - mode
    argTypes:
    - GF_SockGroup*
    - u32
    - GF_SockSelectMode
    constantsTouched: []
    func_position:
      end: 3956
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3956
    functionName: gf_sk_group_select
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_assert
    - select
    - FD_SET
    - gf_list_get
    - gf_errno_str
    - gf_list_enum
    - poll
    - GF_LOG
    - FD_ZERO
    - gf_sys_clock_high_res
    - gf_netcap_load_pck
    - SOCKET_INVALID
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sk_group_select(GF_SockGroup *sg, u32 usec_wait, GF_SockSelectMode
      mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:4517,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/os_net.c:4521,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_net.c:4525,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_net.c:4519,1
    - Dst: close
      Src: /src/gpac/src/utils/os_net.c:4523,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:4526,1
    - Dst: gf_netcap_record
      Src: /src/gpac/src/utils/os_net.c:4549,1
    - Dst: gf_netcap_playback
      Src: /src/gpac/src/utils/os_net.c:4552,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4558
      start: 4513
    functionDepth: 0
    functionLinenumber: 4513
    functionLinenumberEnd: 4558
    functionName: gf_net_reload_netcap
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_netcap_record
    - gf_list_count
    - gf_netcap_playback
    - gf_fclose
    - close
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_net_reload_netcap() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3116,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3145,1
    - Dst: htonl
      Src: /src/gpac/src/utils/os_net.c:3099,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:3101,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3102,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3121,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3125,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3161,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3112,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3113,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:3154,1
    - Dst: getifaddrs
      Src: /src/gpac/src/utils/os_net.c:3142,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3111,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3108,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_net.c:3122,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3137,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3124,1
    - Dst: htonl
      Src: /src/gpac/src/utils/os_net.c:3162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3157,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 57
    argCount: 1
    argNames:
    - local_interface
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3165
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3165
    functionName: inet_addr_from_name
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - freeifaddrs
    - gf_wcs_to_utf8
    - htonl
    - inet_addr
    - strcmp
    - GF_LOG
    - getifaddrs
    - malloc
    - strchr
    - free
    - gf_free
    - GetAdaptersAddresses
    linkageType: ''
    returnType: u32
    signature: 'static u32 inet_addr_from_name(const char *local_interface) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:3968,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/os_net.c:3996,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/os_net.c:3994,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 3
    argNames:
    - sg
    - sk
    - mode
    argTypes:
    - GF_SockGroup*
    - GF_Socket*
    - GF_SockSelectMode
    constantsTouched: []
    func_position:
      end: 4000
      start: 3958
    functionDepth: 0
    functionLinenumber: 3958
    functionLinenumberEnd: 4000
    functionName: gf_sk_group_sock_is_set
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - FD_ISSET
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sk_group_sock_is_set(GF_SockGroup *sg, GF_Socket *sk, GF_SockSelectMode
      mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sk
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 1953
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1953
    functionName: gf_sk_has_nrt_netcap
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sk_has_nrt_netcap(GF_Socket *sk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2057,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/os_net.c:2069,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/os_net.c:2063,1
    - Dst: ioctlsocket
      Src: /src/gpac/src/utils/os_net.c:2058,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - sock
    - NonBlockingOn
    argTypes:
    - GF_Socket*
    - Bool
    constantsTouched: []
    func_position:
      end: 2079
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2079
    functionName: gf_sk_set_block_mode
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - ioctlsocket
    - SOCKET_INVALID
    - fcntl
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_set_block_mode(GF_Socket *sock, Bool NonBlockingOn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_net.c:3742,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_net.c:3744,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/os_net.c:3750,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/os_net.c:3743,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:3749,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_net.c:3751,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/os_net.c:3761,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_net.c:3768,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3768,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - sg
    - sk
    argTypes:
    - GF_SockGroup*
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 3771
      start: 3739
    functionDepth: 0
    functionLinenumber: 3739
    functionLinenumberEnd: 3771
    functionName: gf_sk_group_register
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - SOCKET_INVALID
    - gf_list_find
    - gf_realloc
    - gf_list_count
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_sk_group_register(GF_SockGroup *sg, GF_Socket *sk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2976,1
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:2980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - mode
    argTypes:
    - GF_Socket*
    - GF_SockSelectMode
    constantsTouched: []
    func_position:
      end: 2981
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 2981
    functionName: gf_sk_select
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - SOCKET_INVALID
    - poll_select
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sk_select(GF_Socket *sock, GF_SockSelectMode mode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gpac/src/utils/os_net.c:1963,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:1989,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:1978,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:1987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1974,1
    - Dst: gf_net_filter_get
      Src: /src/gpac/src/utils/os_net.c:2000,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:2002,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2004,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_net.c:2008,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    argCount: 2
    argNames:
    - SocketType
    - netcap_id
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2013
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 2013
    functionName: gf_sk_new_ex
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - WSAStartup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - gf_net_filter_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Socket *gf_sk_new_ex(u32 SocketType, const char *netcap_id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:2992,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_net.c:2998,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:2994,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:2995,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_net.c:2996,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3000,1
    - Dst: IN_MULTICAST
      Src: /src/gpac/src/utils/os_net.c:3004,1
    - Dst: ntohl
      Src: /src/gpac/src/utils/os_net.c:3004,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/gpac/src/utils/os_net.c:3006,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3008,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3012,1
    - Dst: htonl
      Src: /src/gpac/src/utils/os_net.c:3012,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - multi_IPAdd
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3013
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 3013
    functionName: gf_sk_is_multicast_address
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MULTICAST
    - htonl
    - inet_addr
    - gf_sk_get_ipv6_addr
    - gf_net_is_ipv6
    - strchr
    - freeaddrinfo
    - IN_MULTICAST
    - ntohl
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sk_is_multicast_address(const char *multi_IPAdd) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_net.c:3776,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:3795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:3782,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:3785,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_net.c:3790,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:3796,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3800,1
    - Dst: memmove
      Src: /src/gpac/src/utils/os_net.c:3812,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_net.c:3816,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - sg
    - sk
    argTypes:
    - GF_SockGroup*
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 3823
      start: 3773
    functionDepth: 0
    functionLinenumber: 3773
    functionLinenumberEnd: 3823
    functionName: gf_sk_group_unregister
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_bs_skip_bytes
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_sk_group_unregister(GF_SockGroup *sg, GF_Socket *sk) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/gpac/src/utils/os_net.c:2814,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2821,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:2840,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2821,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:2841,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/os_net.c:2843,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/os_net.c:2845,1
    - Dst: select
      Src: /src/gpac/src/utils/os_net.c:2849,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2860,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2860,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/os_net.c:2866,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/os_net.c:2868,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 4
    argNames:
    - sock
    - mode
    - usec
    - force_select
    argTypes:
    - GF_Socket*
    - GF_SockSelectMode
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2873
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2873
    functionName: poll_select
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - select
    - FD_SET
    - FD_ISSET
    - poll
    - GF_LOG
    - FD_ZERO
    - gf_errno_str
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err poll_select(GF_Socket *sock, GF_SockSelectMode mode,
      u32 usec, Bool force_select) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/utils/os_net.c:230,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: inet_ntop4
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - snprintf
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static const char * inet_ntop4(const unsigned char *src, char *dst,
      size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop4
      Src: /src/gpac/src/utils/os_net.c:201,1
    - Dst: inet_ntop6
      Src: /src/gpac/src/utils/os_net.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - size
    argTypes:
    - int
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: inet_ntop_xp
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - inet_ntop6
    - inet_ntop4
    linkageType: ''
    returnType: char*
    signature: 'const char * inet_ntop_xp(int af, const void *src, char *dst, size_t
      size) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3171,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3175,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3179,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3176,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3174,1
    - Dst: my_inet_ntop
      Src: /src/gpac/src/utils/os_net.c:3198,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_net.c:3199,1
    - Dst: do_enum
      Src: /src/gpac/src/utils/os_net.c:3200,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3201,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3211,1
    - Dst: inet_ntop
      Src: /src/gpac/src/utils/os_net.c:3229,1
    - Dst: do_enum
      Src: /src/gpac/src/utils/os_net.c:3230,1
    - Dst: do_enum
      Src: /src/gpac/src/utils/os_net.c:3235,1
    - Dst: inet_ntop
      Src: /src/gpac/src/utils/os_net.c:3234,1
    - Dst: getifaddrs
      Src: /src/gpac/src/utils/os_net.c:3217,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:3241,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 62
    argCount: 2
    argNames:
    - do_enum
    - enum_cbk
    argTypes:
    - gf_net_ifce_enum
    - void*
    constantsTouched: []
    func_position:
      end: 3245
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3245
    functionName: gf_net_enum_interfaces
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - freeifaddrs
    - gf_wcs_to_utf8
    - inet_ntop
    - my_inet_ntop
    - do_enum
    - getifaddrs
    - malloc
    - free
    - gf_free
    - GetAdaptersAddresses
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_net_enum_interfaces(gf_net_ifce_enum do_enum, void
      *enum_cbk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3256,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3256,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:3258,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:3260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - cbk
    - name
    - IP
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3263
      start: 3253
    functionDepth: 0
    functionLinenumber: 3253
    functionLinenumberEnd: 3263
    functionName: get_ifce_enum
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool get_ifce_enum(void *cbk, const char *name, const char
      *IP, u32 flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/os_net.c:467,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - address
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 488
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 488
    functionName: gf_net_is_ipv6
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - strlen
    - strchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_net_is_ipv6(const char *address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_netcap_send_pcap
      Src: /src/gpac/src/utils/os_net.c:1940,1
    - Dst: gf_netcap_send_gpac
      Src: /src/gpac/src/utils/os_net.c:1944,1
    - Dst: gf_netcap_send_pcap
      Src: /src/gpac/src/utils/os_net.c:1942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - sock
    - buffer
    - length
    - written
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1946
    functionName: gf_netcap_send
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_netcap_send_pcap
    - gf_netcap_send_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_netcap_send(GF_Socket *sock, const u8 *buffer, u32
      length, u32 *written) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_enum_interfaces
      Src: /src/gpac/src/utils/os_net.c:3273,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3276,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 3
    argNames:
    - ip_or_name
    - ipv4
    - ipv6
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 3280
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3280
    functionName: gf_net_get_adapter_ip
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_net_enum_interfaces
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_net_get_adapter_ip(const char *ip_or_name, char **ipv4, char
      **ipv6) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/gpac/src/utils/os_net.c:4589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - errnoval
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4590
      start: 4586
    functionDepth: 0
    functionLinenumber: 4586
    functionLinenumberEnd: 4590
    functionName: gf_errno_str
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - strerror
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_errno_str(int errnoval) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1026,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/utils/os_net.c:1030,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:1030,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1029,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1029,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1031,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - nf
    argTypes:
    - GF_NetcapFilter*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1043
    functionName: pcapng_load_idb
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    - gf_bs_read_u32
    - gf_bs_read_u16
    - GF_LOG
    - gf_bs_read_u32_le
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void pcapng_load_idb(GF_NetcapFilter *nf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:4163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4180,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4174,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4180,1
    - Dst: accept
      Src: /src/gpac/src/utils/os_net.c:4171,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:4185,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:4190,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:4191,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:4193,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:4194,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4199,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - sock
    - newConnection
    argTypes:
    - GF_Socket*
    - GF_Socket**
    constantsTouched: []
    func_position:
      end: 4208
      start: 4154
    functionDepth: 0
    functionLinenumber: 4154
    functionLinenumberEnd: 4208
    functionName: gf_sk_accept
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - memcpy
    - setsockopt
    - GF_SAFEALLOC
    - gf_errno_str
    - SOCKET_INVALID
    - accept
    - poll_select
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_accept(GF_Socket *sock, GF_Socket **newConnection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4220,1
    - Dst: getsockname
      Src: /src/gpac/src/utils/os_net.c:4225,1
    - Dst: getsockname
      Src: /src/gpac/src/utils/os_net.c:4229,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:4226,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:4230,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - sock
    - Port
    - Familly
    argTypes:
    - GF_Socket*
    - u16*
    - u32*
    constantsTouched: []
    func_position:
      end: 4243
      start: 4210
    functionDepth: 0
    functionLinenumber: 4210
    functionLinenumberEnd: 4243
    functionName: gf_sk_get_local_info
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - SOCKET_INVALID
    - ntohs
    - getsockname
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_get_local_info(GF_Socket *sock, u16 *Port,
      u32 *Familly) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4354,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:4371,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:4369,1
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:4358,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:4367,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:4385,1
    - Dst: gf_gethostbyname
      Src: /src/gpac/src/utils/os_net.c:4387,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:4389,1
    - Dst: sendto
      Src: /src/gpac/src/utils/os_net.c:4397,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4404,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4404,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 44
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - remoteHost
    - remotePort
    argTypes:
    - GF_Socket*
    - char*
    - u32
    - char*
    - u16
    constantsTouched: []
    func_position:
      end: 4411
      start: 4342
    functionDepth: 0
    functionLinenumber: 4342
    functionLinenumberEnd: 4411
    functionName: gf_sk_send_to
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htons
    - GF_LOG
    - gf_sk_get_ipv6_addr
    - sendto
    - memcpy
    - freeaddrinfo
    - gf_errno_str
    - SOCKET_INVALID
    - gf_gethostbyname
    - poll_select
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sk_send_to(GF_Socket *sock, const char *buffer, u32 length,
      char *remoteHost, u16 remotePort) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:266,1
    - Dst: inet_ntop4
      Src: /src/gpac/src/utils/os_net.c:311,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/os_net.c:316,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_net.c:313,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:331,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 333
    functionName: inet_ntop6
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - memset
    - inet_ntop4
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static const char * inet_ntop6(const unsigned char *src, char *dst,
      size_t size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getnameinfo
      Src: /src/gpac/src/utils/os_net.c:656,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:668,1
    - Dst: inet_ntoa
      Src: /src/gpac/src/utils/os_net.c:672,1
    - Dst: getsockname
      Src: /src/gpac/src/utils/os_net.c:663,1
    - Dst: getnameinfo
      Src: /src/gpac/src/utils/os_net.c:665,1
    - Dst: getsockname
      Src: /src/gpac/src/utils/os_net.c:676,1
    - Dst: inet_ntoa
      Src: /src/gpac/src/utils/os_net.c:677,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:680,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 2
    argNames:
    - sock
    - buffer
    argTypes:
    - GF_Socket*
    - char*
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: gf_sk_get_local_ip
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - strcpy
    - getsockname
    - inet_ntoa
    - getnameinfo
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_get_local_ip(GF_Socket *sock, char *buffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_net.c:2131,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_net.c:2141,1
    - Dst: gf_sk_free
      Src: /src/gpac/src/utils/os_net.c:2132,1
    - Dst: WSACleanup
      Src: /src/gpac/src/utils/os_net.c:2135,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2142,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2146
    functionName: gf_sk_del
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_sk_free
    - WSACleanup
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sk_del(GF_Socket *sock) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: netcap_filter_pck
      Src: /src/gpac/src/utils/os_net.c:2883,1
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:2906,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2901,1
    - Dst: gf_netcap_send
      Src: /src/gpac/src/utils/os_net.c:2893,1
    - Dst: sendto
      Src: /src/gpac/src/utils/os_net.c:2918,1
    - Dst: sendto
      Src: /src/gpac/src/utils/os_net.c:2920,1
    - Dst: send
      Src: /src/gpac/src/utils/os_net.c:2922,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2933,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2942,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2951,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2942,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2945,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 53
    argCount: 6
    argNames:
    - sock
    - buffer
    - length
    - address
    - address_len
    - written
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2954
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2954
    functionName: gf_sk_send_internal
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_netcap_send
    - gf_errno_str
    - GF_LOG
    - sendto
    - netcap_filter_pck
    - SOCKET_INVALID
    - send
    - poll_select
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sk_send_internal(GF_Socket *sock, const u8 *buffer,
      u32 length, const u8 *address, u32 address_len, u32 *written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:4576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 4577
      start: 4573
    functionDepth: 0
    functionLinenumber: 4573
    functionLinenumberEnd: 4577
    functionName: gf_htons
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htons
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_htons(u16 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:4583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 4584
      start: 4580
    functionDepth: 0
    functionLinenumber: 4580
    functionLinenumberEnd: 4584
    functionName: gf_ntohs
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_ntohs(u16 val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gpac/src/utils/os_net.c:512,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:518,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_net.c:524,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_net.c:531,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_net.c:528,1
    - Dst: memmove
      Src: /src/gpac/src/utils/os_net.c:532,1
    - Dst: getaddrinfo
      Src: /src/gpac/src/utils/os_net.c:537,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - PeerName
    - PortNumber
    - family
    - flags
    - sock_type
    argTypes:
    - char*
    - u16
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 539
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 539
    functionName: gf_sk_get_ipv6_addr
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - WSAStartup
    - sprintf
    - getaddrinfo
    - strncpy
    - memmove
    linkageType: ''
    returnType: struct addrinfo*
    signature: 'static struct addrinfo *gf_sk_get_ipv6_addr(const char *PeerName,
      u16 PortNumber, int family, int flags, int sock_type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:561,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:570,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:574,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:604,1
    - Dst: inet_ntop
      Src: /src/gpac/src/utils/os_net.c:618,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:623,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:636,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:559,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:566,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:590,1
    - Dst: my_inet_ntop
      Src: /src/gpac/src/utils/os_net.c:588,1
    - Dst: my_inet_ntop
      Src: /src/gpac/src/utils/os_net.c:593,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:596,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:612,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:620,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:626,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:632,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:546,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:545,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_net.c:571,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:573,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:589,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:617,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:619,1
    - Dst: inet_ntop
      Src: /src/gpac/src/utils/os_net.c:624,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:545,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:551,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:562,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:563,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:595,1
    - Dst: getifaddrs
      Src: /src/gpac/src/utils/os_net.c:609,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:627,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 86
    argCount: 5
    argNames:
    - ifce_name_or_ip
    - PortNumber
    - family
    - flags
    - sock_type
    argTypes:
    - char*
    - u16
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 639
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 639
    functionName: gf_sk_get_ifce_ipv6_addr
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - freeifaddrs
    - memset
    - gf_wcs_to_utf8
    - inet_ntop
    - strcmp
    - gf_sk_get_ipv6_addr
    - gf_net_is_ipv6
    - my_inet_ntop
    - getifaddrs
    - malloc
    - strchr
    - free
    - gf_free
    - GetAdaptersAddresses
    linkageType: ''
    returnType: struct addrinfo*
    signature: 'static struct addrinfo *gf_sk_get_ifce_ipv6_addr(const char *ifce_name_or_ip,
      u16 PortNumber, int family, int flags, int sock_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2155
    functionName: gf_sk_reset
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sk_reset(GF_Socket *sock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_send_internal
      Src: /src/gpac/src/utils/os_net.c:2959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - length
    - written
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2960
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2960
    functionName: gf_sk_send_ex
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_send_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_send_ex(GF_Socket *sock, const u8 *buffer,
      u32 length, u32 *written) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_net.c:1293,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1327,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1328,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_net.c:1353,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1373,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1375,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1387,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1400,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1388,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1408,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1419,1
    - Dst: gf_netcap_record
      Src: /src/gpac/src/utils/os_net.c:1462,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_net.c:1285,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_net.c:1287,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:1286,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:1288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1312,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1318,1
    - Dst: gf_net_filter_get
      Src: /src/gpac/src/utils/os_net.c:1323,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1311,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1326,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1335,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_net.c:1352,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1405,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:1442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1427,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1411,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_net.c:1455,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1291,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1316,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:1332,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1346,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1347,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_net.c:1344,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1349,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1390,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1422,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1430,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1433,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:1459,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1415,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1279,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1283,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_net.c:1289,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:1290,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1319,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1317,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1325,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1334,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1348,1
    - Dst: gf_netcap_playback
      Src: /src/gpac/src/utils/os_net.c:1466,1
    - Dst: strtol
      Src: /src/gpac/src/utils/os_net.c:1423,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:1336,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:1395,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_net.c:1381,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:1386,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 196
    argCount: 1
    argNames:
    - rules
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1470
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1470
    functionName: gf_netcap_setup
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strncmp
    - gf_netcap_record
    - gf_strdup
    - gf_list_new
    - strcmp
    - GF_LOG
    - gf_list_count
    - strtol
    - gf_netcap_playback
    - atoi
    - strchr
    - gf_free
    - gf_net_filter_get
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_netcap_setup(char *rules) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/gpac/src/utils/os_net.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: gf_sk_get_host_name
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gethostname
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_get_host_name(char *buffer) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_net.c:1487,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_net.c:1572,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_net.c:1528,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_net.c:1568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1565,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1576,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 93
    argCount: 3
    argNames:
    - sock
    - pck_len
    - for_send
    argTypes:
    - GF_Socket*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1581
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1581
    functionName: netcap_filter_pck
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_list_get
    - gf_rand
    linkageType: ''
    returnType: Bool
    signature: 'static Bool netcap_filter_pck(GF_Socket *sock, u32 pck_len, Bool for_send) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_net.c:2099,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2100,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2115,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2109,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2111,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2120,1
    - Dst: sock_close
      Src: /src/gpac/src/utils/os_net.c:2124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 2125
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2125
    functionName: gf_sk_free
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_assert
    - sock_close
    - memcpy
    - setsockopt
    - SOCKET_INVALID
    linkageType: ''
    returnType: void
    signature: 'static void gf_sk_free(GF_Socket *sock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_get_remote_address_port
      Src: /src/gpac/src/utils/os_net.c:4328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - buf
    argTypes:
    - GF_Socket*
    - char*
    constantsTouched: []
    func_position:
      end: 4329
      start: 4325
    functionDepth: 0
    functionLinenumber: 4325
    functionLinenumberEnd: 4329
    functionName: gf_sk_get_remote_address
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_get_remote_address_port
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_get_remote_address(GF_Socket *sock, char *buf) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1816,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1821,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1825,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1840,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1845,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1846,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1847,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1875,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1876,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1881,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1837,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1858,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1865,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1866,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1873,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1877,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1864,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1884,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1841,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1814,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1820,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/utils/os_net.c:1821,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1822,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1823,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1830,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1833,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1834,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1835,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/utils/os_net.c:1832,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1883,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/os_net.c:1831,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1815,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_net.c:1819,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1836,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1844,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/utils/os_net.c:1859,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/utils/os_net.c:1860,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1868,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1874,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1878,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1872,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1842,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 114
    argCount: 6
    argNames:
    - nf
    - sock
    - buffer
    - length
    - written
    - is_ng
    argTypes:
    - GF_NetcapFilter*
    - GF_Socket*
    - u8*
    - u32
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 1888
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1888
    functionName: gf_netcap_send_pcap
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32_le
    - gf_net_get_ntp
    - gf_bs_write_u32
    - gf_timestamp_rescale
    - gf_bs_write_u8
    - gf_bs_skip_bytes
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_netcap_send_pcap(GF_NetcapFilter *nf, GF_Socket *sock,
      const u8 *buffer, u32 length, u32 *written, Bool is_ng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/utils/os_net.c:2018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - SocketType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2019
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2019
    functionName: gf_sk_new
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_new_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Socket *gf_sk_new(u32 SocketType) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:2517,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:2529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2534,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:2557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2559,1
    - Dst: gf_sk_get_ifce_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:2578,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2581,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:2591,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:2604,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2619,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2704,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:2725,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:2766,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2778,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2662,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2671,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2694,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:2652,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2525,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/utils/os_net.c:2532,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2573,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2597,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:2608,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2627,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:2648,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2655,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2760,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2760,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2783,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_net.c:2670,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:2755,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2675,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:2751,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2706,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:2768,1
    - Dst: gf_gethostbyname
      Src: /src/gpac/src/utils/os_net.c:2770,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2537,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2567,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2569,1
    - Dst: gf_net_has_ipv6
      Src: /src/gpac/src/utils/os_net.c:2554,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2599,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2609,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2632,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2635,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2626,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_net.c:2730,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2719,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2772,1
    - Dst: sock_close
      Src: /src/gpac/src/utils/os_net.c:2658,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2785,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2640,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_net.c:2777,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2523,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_net.c:2527,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2534,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:2546,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_net.c:2572,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2617,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:2717,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:2717,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2737,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2740,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:2709,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:2747,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2712,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2678,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2731,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2662,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 276
    argCount: 10
    argNames:
    - sock
    - ifce_ip_or_name
    - port
    - peer_name
    - peer_port
    - options
    - dst_sock_addr
    - dst_sock_addr_len
    - src_sock_addr
    - src_sock_addr_len
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - char*
    - u16
    - u32
    - u8**
    - u32*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 2789
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2789
    functionName: gf_sk_bind_ex
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htons
    - gf_malloc
    - memset
    - GF_LOG
    - gf_net_is_ipv6
    - socket
    - gf_errno_str
    - strcmp
    - ntohs
    - inet_addr_from_name
    - bind
    - gf_sk_get_ipv6_addr
    - gf_sk_get_ifce_ipv6_addr
    - memcpy
    - setsockopt
    - freeaddrinfo
    - gf_free
    - SOCKET_INVALID
    - sock_close
    - gf_sk_connect
    - gf_sk_set_block_mode
    - inet_addr
    - strncpy
    - gf_net_has_ipv6
    - gf_gethostbyname
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_sk_bind_ex(GF_Socket *sock, const char *ifce_ip_or_name,
      u16 port, const char *peer_name, u16 peer_port, u32 options,\tu8 **dst_sock_addr,
      u32 *dst_sock_addr_len, u8 **src_sock_addr, u32 *src_sock_addr_len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - addr_size
    argTypes:
    - GF_Socket*
    - u32*
    constantsTouched: []
    func_position:
      end: 4336
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4336
    functionName: gf_sk_get_address
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8*
    signature: 'const u8 *gf_sk_get_address(GF_Socket *sock, u32 *addr_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1004,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1005,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1006,1
    - Dst: ntohl
      Src: /src/gpac/src/utils/os_net.c:1009,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1007,1
    - Dst: gf_net_close_capture
      Src: /src/gpac/src/utils/os_net.c:1012,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1015,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - nf
    - is_init
    argTypes:
    - GF_NetcapFilter*
    - Bool
    constantsTouched: []
    func_position:
      end: 1021
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1021
    functionName: pcapng_load_shb
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - GF_4CC
    - GF_LOG
    - gf_net_close_capture
    - gf_bs_skip_bytes
    - ntohl
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pcapng_load_shb(GF_NetcapFilter *nf, Bool is_init) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:1893,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/utils/os_net.c:1918,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/os_net.c:1917,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1920,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1916,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1922,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1924,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:1926,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1928,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:1930,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/os_net.c:1931,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 5
    argNames:
    - nf
    - sock
    - buffer
    - length
    - written
    argTypes:
    - GF_NetcapFilter*
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1934
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1934
    functionName: gf_netcap_send_gpac
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_netcap_send_gpac(GF_NetcapFilter *nf, GF_Socket *sock,
      const u8 *buffer, u32 length, u32 *written) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2026,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2031,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2034,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2034,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2036,1
    - Dst: getsockopt
      Src: /src/gpac/src/utils/os_net.c:2040,1
    - Dst: getsockopt
      Src: /src/gpac/src/utils/os_net.c:2042,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2045,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - sock
    - SendBuffer
    - NewSize
    argTypes:
    - GF_Socket*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2049
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2049
    functionName: gf_sk_set_buffer_size
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - setsockopt
    - gf_errno_str
    - SOCKET_INVALID
    - getsockopt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_set_buffer_size(GF_Socket *sock, Bool SendBuffer,
      u32 NewSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_bind_ex
      Src: /src/gpac/src/utils/os_net.c:2794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - sock
    - ifce_ip_or_name
    - port
    - peer_name
    - peer_port
    - options
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - char*
    - u16
    - u32
    constantsTouched: []
    func_position:
      end: 2795
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2795
    functionName: gf_sk_bind
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_bind_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_bind(GF_Socket *sock, const char *ifce_ip_or_name,
      u16 port, const char *peer_name, u16 peer_port, u32 options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - PeerName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2175
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2175
    functionName: gf_gethostbyname
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: struct hostent*
    signature: 'struct hostent *gf_gethostbyname(const char *PeerName) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/os_net.c:1593,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/os_net.c:1610,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1601,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/os_net.c:1609,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/os_net.c:1598,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/os_net.c:1620,1
    - Dst: gf_netcap_load_pck_gpac
      Src: /src/gpac/src/utils/os_net.c:1629,1
    - Dst: gf_netcap_load_pck_pcap
      Src: /src/gpac/src/utils/os_net.c:1631,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1646,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/os_net.c:1657,1
    - Dst: netcap_filter_pck
      Src: /src/gpac/src/utils/os_net.c:1693,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/os_net.c:1664,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/os_net.c:1675,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1697,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 93
    argCount: 2
    argNames:
    - nf
    - now
    argTypes:
    - GF_NetcapFilter*
    - u64
    constantsTouched: []
    func_position:
      end: 1701
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1701
    functionName: gf_netcap_load_pck
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_list_enum
    - memcmp
    - gf_netcap_load_pck_pcap
    - gf_bs_seek
    - GF_LOG
    - gf_netcap_load_pck_gpac
    - gf_bs_available
    - netcap_filter_pck
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void gf_netcap_load_pck(GF_NetcapFilter *nf, u64 now) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_net.c:1706,1
    - Dst: gf_bs_from_fd
      Src: /src/gpac/src/utils/os_net.c:1708,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1716,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1721,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1727,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1736,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1729,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1733,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1741,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1748,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/utils/os_net.c:1707,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1746,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/os_net.c:1754,1
    - Dst: gf_net_close_capture
      Src: /src/gpac/src/utils/os_net.c:1776,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1774,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/utils/os_net.c:1712,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/os_net.c:1724,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1747,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/os_net.c:1741,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:1753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1764,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/utils/os_net.c:1774,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:1777,1
    - Dst: pcapng_load_idb
      Src: /src/gpac/src/utils/os_net.c:1780,1
    - Dst: pcapng_load_shb
      Src: /src/gpac/src/utils/os_net.c:1771,1
    - Dst: ntohl
      Src: /src/gpac/src/utils/os_net.c:1756,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/utils/os_net.c:1713,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_net.c:1719,1
    - Dst: gf_net_close_capture
      Src: /src/gpac/src/utils/os_net.c:1740,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:1745,1
    - Dst: gf_net_close_capture
      Src: /src/gpac/src/utils/os_net.c:1765,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/os_net.c:1755,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 1
    argNames:
    - nf
    argTypes:
    - GF_NetcapFilter*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1783
    functionName: gf_netcap_playback
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_fd_open
    - gf_bs_from_file
    - gf_bs_read_u32
    - gf_bs_skip_bytes
    - GF_4CC
    - pcapng_load_shb
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_read_u32_le
    - gf_net_close_capture
    - gf_bs_from_fd
    - gf_4cc_to_str
    - gf_list_new
    - gf_opts_get_bool
    - ntohl
    - pcapng_load_idb
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_netcap_playback(GF_NetcapFilter *nf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_net.c:3719,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:3721,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/os_net.c:3722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3728
    functionName: gf_sk_group_new
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - FD_ZERO
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_SockGroup*
    signature: 'GF_SockGroup *gf_sk_group_new() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gpac/src/utils/os_net.c:442,1
    - Dst: WSACleanup
      Src: /src/gpac/src/utils/os_net.c:455,1
    - Dst: closesocket
      Src: /src/gpac/src/utils/os_net.c:452,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 462
    functionName: gf_net_has_ipv6
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - WSAStartup
    - socket
    - WSACleanup
    - closesocket
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_net_has_ipv6() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_net.c:861,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:904,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:894,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/utils/os_net.c:874,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:877,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:884,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:878,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:888,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:889,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:890,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:891,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:892,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/utils/os_net.c:893,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:910,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:896,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:898,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:897,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:909,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_net.c:907,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_net.c:859,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/utils/os_net.c:868,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:871,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:905,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/utils/os_net.c:862,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/utils/os_net.c:867,1
    - Dst: gf_bs_from_fd
      Src: /src/gpac/src/utils/os_net.c:863,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:875,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:885,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:879,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:881,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:882,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:880,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:883,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:900,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:912,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/os_net.c:899,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/os_net.c:901,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 1
    argNames:
    - nf
    argTypes:
    - GF_NetcapFilter*
    constantsTouched: []
    func_position:
      end: 915
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 915
    functionName: gf_netcap_record
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_fopen_ex
    - gf_fd_open
    - gf_bs_from_file
    - gf_bs_write_u16
    - GF_LOG
    - strcmp
    - gf_net_get_ntp
    - gf_bs_write_u32
    - gf_bs_from_fd
    - gf_sys_clock_high_res
    - gf_opts_get_bool
    - gf_fopen
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_netcap_record(GF_NetcapFilter *nf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_net.c:4456,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_net.c:4462,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_net.c:4465,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:4476,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_net.c:4496,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4494,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4470,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_net.c:4490,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4482,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_net.c:4488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4501,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/utils/os_net.c:4455,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_net.c:4463,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_net.c:4461,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4474,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:4502,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_net.c:4480,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4485,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_net.c:4497,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - in_ip
    - increment
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 4506
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4506
    functionName: gf_net_bump_ip_address
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_strdup
    - sprintf
    - GF_LOG
    - strrchr
    - gf_sk_is_multicast_address
    - atoi
    - strnicmp
    - strstr
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_net_bump_ip_address(const char *in_ip, u32 increment) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/os_net.c:919,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/os_net.c:920,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:929,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:921,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:928,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:930,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:931,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/os_net.c:947,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/utils/os_net.c:948,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:951,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/utils/os_net.c:952,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/os_net.c:967,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:974,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:978,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/os_net.c:971,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/os_net.c:964,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:958,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/utils/os_net.c:980,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 1
    argNames:
    - nf
    argTypes:
    - GF_NetcapFilter*
    constantsTouched: []
    func_position:
      end: 993
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 993
    functionName: gf_netcap_load_pck_gpac
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_data
    - gf_bs_available
    - gf_bs_read_u64
    - gf_sys_clock_high_res
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void gf_netcap_load_pck_gpac(GF_NetcapFilter *nf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:3732,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3734,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SockGroup*
    constantsTouched: []
    func_position:
      end: 3737
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3737
    functionName: gf_sk_group_del
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_sk_group_del(GF_SockGroup *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_send_internal
      Src: /src/gpac/src/utils/os_net.c:2964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - buffer
    - length
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2965
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2965
    functionName: gf_sk_send
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_send_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_send(GF_Socket *sock, const u8 *buffer, u32
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_send_internal
      Src: /src/gpac/src/utils/os_net.c:2969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - sock
    - buffer
    - length
    - addr
    - addr_len
    - written
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 2970
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2970
    functionName: gf_sk_send_to
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_send_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_send_to(GF_Socket *sock, const u8 *buffer,
      u32 length, const u8 *addr, u32 addr_len, u32 *written) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_netcap_load_pck
      Src: /src/gpac/src/utils/os_net.c:4018,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:4018,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4051,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_net.c:4021,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/os_net.c:4029,1
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:4055,1
    - Dst: recvfrom
      Src: /src/gpac/src/utils/os_net.c:4061,1
    - Dst: recv
      Src: /src/gpac/src/utils/os_net.c:4063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4084,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4093,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4112,1
    - Dst: netcap_filter_pck
      Src: /src/gpac/src/utils/os_net.c:4103,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4093,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4097,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 76
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - BytesRead
    - do_select
    argTypes:
    - GF_Socket*
    - char*
    - u32
    - u32*
    - Bool
    constantsTouched: []
    func_position:
      end: 4117
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4117
    functionName: gf_sk_receive_internal
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - recvfrom
    - gf_netcap_load_pck
    - gf_errno_str
    - recv
    - GF_LOG
    - netcap_filter_pck
    - gf_sys_clock_high_res
    - gf_bs_read_data
    - SOCKET_INVALID
    - poll_select
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sk_receive_internal(GF_Socket *sock, char *buffer, u32 length,
      u32 *BytesRead, Bool do_select) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4251,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4270,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4265,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4264,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4271,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4271,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4278,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4278,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4293,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4285,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4295,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:4284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - sock
    - serverOn
    argTypes:
    - GF_Socket*
    - Bool
    constantsTouched: []
    func_position:
      end: 4298
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4298
    functionName: gf_sk_server_mode
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - SOCKET_INVALID
    - setsockopt
    - gf_errno_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_server_mode(GF_Socket *sock, Bool serverOn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:828,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/os_net.c:831,1
    - Dst: close
      Src: /src/gpac/src/utils/os_net.c:834,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/utils/os_net.c:829,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_net.c:836,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:837,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/utils/os_net.c:841,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:843,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:845,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:847,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:848,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:850,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_net.c:852,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:849,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 854
    functionName: gf_net_close_capture
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_fclose
    - close
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void gf_net_close_capture() '
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2197,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:2218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2220,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2247,1
    - Dst: gf_sk_probe
      Src: /src/gpac/src/utils/os_net.c:2289,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2331,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:2346,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2354,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2366,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2381,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2407,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2470,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2395,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2205,1
    - Dst: gf_sk_get_ifce_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:2224,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2256,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2262,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2269,1
    - Dst: connect
      Src: /src/gpac/src/utils/os_net.c:2301,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2310,1
    - Dst: gf_sk_select
      Src: /src/gpac/src/utils/os_net.c:2322,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2476,1
    - Dst: connect
      Src: /src/gpac/src/utils/os_net.c:2428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2406,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2355,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2337,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2470,1
    - Dst: connect
      Src: /src/gpac/src/utils/os_net.c:2204,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_net.c:2202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2217,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:2263,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2244,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2264,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2238,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:2276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2297,1
    - Dst: sock_close
      Src: /src/gpac/src/utils/os_net.c:2330,1
    - Dst: gf_sk_select
      Src: /src/gpac/src/utils/os_net.c:2418,1
    - Dst: gf_gethostbyname
      Src: /src/gpac/src/utils/os_net.c:2393,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:2383,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2351,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2424,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:2196,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2257,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2240,1
    - Dst: sock_close
      Src: /src/gpac/src/utils/os_net.c:2278,1
    - Dst: gf_sk_select
      Src: /src/gpac/src/utils/os_net.c:2288,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2311,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2325,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:2348,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:2350,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:2364,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/utils/os_net.c:2411,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:2388,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:2390,1
    - Dst: gf_sk_select
      Src: /src/gpac/src/utils/os_net.c:2447,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:2392,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:2331,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 208
    argCount: 5
    argNames:
    - sock
    - PeerName
    - PortNumber
    - ifce_ip_or_name
    - use_udp_connect
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2480
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2480
    functionName: gf_sk_connect_ex
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htons
    - gf_sk_select
    - GF_LOG
    - socket
    - gf_errno_str
    - inet_addr_from_name
    - bind
    - gf_sk_get_ipv6_addr
    - gf_sk_get_ifce_ipv6_addr
    - memcpy
    - gf_sk_probe
    - setsockopt
    - freeaddrinfo
    - gf_sk_bind
    - SOCKET_INVALID
    - sock_close
    - gf_sk_set_block_mode
    - inet_addr
    - connect
    - strncpy
    - gf_gethostbyname
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sk_connect_ex(GF_Socket *sock, const char *PeerName, u16
      PortNumber, const char *ifce_ip_or_name, Bool use_udp_connect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_internal
      Src: /src/gpac/src/utils/os_net.c:4122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - length
    - BytesRead
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 4123
      start: 4119
    functionDepth: 0
    functionLinenumber: 4119
    functionLinenumberEnd: 4123
    functionName: gf_sk_receive
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_receive_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_receive(GF_Socket *sock, u8 *buffer, u32 length,
      u32 *BytesRead) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4307,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:4311,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:4309,1
    - Dst: my_inet_ntop
      Src: /src/gpac/src/utils/os_net.c:4308,1
    - Dst: getnameinfo
      Src: /src/gpac/src/utils/os_net.c:4313,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:4314,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4317,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:4318,1
    - Dst: inet_ntoa
      Src: /src/gpac/src/utils/os_net.c:4318,1
    - Dst: ntohs
      Src: /src/gpac/src/utils/os_net.c:4320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - sock
    - buf
    - port
    argTypes:
    - GF_Socket*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 4324
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4324
    functionName: gf_sk_get_remote_address_port
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - my_inet_ntop
    - inet_ntoa
    - ntohs
    - strcpy
    - SOCKET_INVALID
    - getnameinfo
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_get_remote_address_port(GF_Socket *sock, char
      *buf, u32 *port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_connect_ex
      Src: /src/gpac/src/utils/os_net.c:2485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - PeerName
    - PortNumber
    - ifce_ip_or_name
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - char*
    constantsTouched: []
    func_position:
      end: 2487
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2487
    functionName: gf_sk_connect
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_connect_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_connect(GF_Socket *sock, const char *PeerName,
      u16 PortNumber, const char *ifce_ip_or_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_receive_internal
      Src: /src/gpac/src/utils/os_net.c:4128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - length
    - BytesRead
    argTypes:
    - GF_Socket*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 4129
      start: 4125
    functionDepth: 0
    functionLinenumber: 4125
    functionLinenumberEnd: 4129
    functionName: gf_sk_receive_no_select
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_receive_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_receive_no_select(GF_Socket *sock, u8 *buffer,
      u32 length, u32 *BytesRead) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:4135,1
    - Dst: listen
      Src: /src/gpac/src/utils/os_net.c:4147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - sock
    - MaxConnection
    argTypes:
    - GF_Socket*
    - u32
    constantsTouched: []
    func_position:
      end: 4152
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4152
    functionName: gf_sk_listen
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - SOCKET_INVALID
    - GF_LOG
    - listen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_listen(GF_Socket *sock, u32 MaxConnection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_net.c:811,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:814,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_net.c:813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 821
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 821
    functionName: gf_net_filter_get
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_NetcapFilter*
    signature: 'static GF_NetcapFilter *gf_net_filter_get(const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sock
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 2161
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2161
    functionName: gf_sk_get_handle
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_sk_get_handle(GF_Socket *sock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - usec_wait
    argTypes:
    - GF_Socket*
    - u32
    constantsTouched: []
    func_position:
      end: 2168
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2168
    functionName: gf_sk_set_usec_wait
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sk_set_usec_wait(GF_Socket *sock, u32 usec_wait) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: poll_select
      Src: /src/gpac/src/utils/os_net.c:4426,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:4440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:4440,1
    - Dst: recv
      Src: /src/gpac/src/utils/os_net.c:4430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 1
    argNames:
    - sock
    argTypes:
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 4448
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4448
    functionName: gf_sk_probe
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_errno_str
    - recv
    - GF_LOG
    - poll_select
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_probe(GF_Socket *sock) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: my_inet_ntop
      Src: /src/gpac/src/utils/os_net.c:3365,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3390,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3417,1
    - Dst: sk_join_ipv4
      Src: /src/gpac/src/utils/os_net.c:3503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3532,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:3629,1
    - Dst: htonl
      Src: /src/gpac/src/utils/os_net.c:3654,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3537,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3383,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3517,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3471,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3454,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_net.c:3344,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3357,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3564,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:3535,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3634,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:3437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3454,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:3459,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_net.c:3482,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3544,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3640,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:3684,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3335,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3352,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:3525,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3558,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3461,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:3309,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/utils/os_net.c:3304,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3328,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3376,1
    - Dst: freeifaddrs
      Src: /src/gpac/src/utils/os_net.c:3411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3461,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:3646,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:3652,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_net.c:3481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3566,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_net.c:3351,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3347,1
    - Dst: strpbrk
      Src: /src/gpac/src/utils/os_net.c:3382,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:3490,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3444,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3626,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3636,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3642,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3642,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3670,1
    - Dst: free
      Src: /src/gpac/src/utils/os_net.c:3331,1
    - Dst: if_nametoindex
      Src: /src/gpac/src/utils/os_net.c:3393,1
    - Dst: if_nametoindex
      Src: /src/gpac/src/utils/os_net.c:3404,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:3497,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3500,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3551,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:3513,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3592,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3610,1
    - Dst: sk_join_ipv4
      Src: /src/gpac/src/utils/os_net.c:3673,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3566,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3423,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3477,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3592,1
    - Dst: inet_addr_from_name
      Src: /src/gpac/src/utils/os_net.c:3613,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3636,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3664,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:3679,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/os_net.c:3475,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3299,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_net.c:3323,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3345,1
    - Dst: getifaddrs
      Src: /src/gpac/src/utils/os_net.c:3386,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3447,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3590,1
    - Dst: inet_addr
      Src: /src/gpac/src/utils/os_net.c:3615,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3551,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3578,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3582,1
    - Dst: bind
      Src: /src/gpac/src/utils/os_net.c:3657,1
    - Dst: malloc
      Src: /src/gpac/src/utils/os_net.c:3332,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:3430,1
    - Dst: gf_sk_get_ipv6_addr
      Src: /src/gpac/src/utils/os_net.c:3484,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3536,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3539,1
    - Dst: SOCKET_INVALID
      Src: /src/gpac/src/utils/os_net.c:3438,1
    - Dst: GetAdaptersAddresses
      Src: /src/gpac/src/utils/os_net.c:3330,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3350,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3366,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3584,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3492,1
    - Dst: htons
      Src: /src/gpac/src/utils/os_net.c:3655,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/utils/os_net.c:3308,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3597,1
    - Dst: socket
      Src: /src/gpac/src/utils/os_net.c:3625,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3659,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/utils/os_net.c:3539,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_net.c:3340,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_net.c:3354,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/os_net.c:3401,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/os_net.c:3452,1
    - Dst: freeaddrinfo
      Src: /src/gpac/src/utils/os_net.c:3469,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_net.c:3587,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_net.c:3659,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 343
    argCount: 10
    argNames:
    - sock
    - multi_IPAdd
    - MultiPortNumber
    - TTL
    - NoBind
    - ifce_ip_or_name
    - src_ip_inc
    - nb_src_ip_inc
    - src_ip_exc
    - nb_src_ip_exc
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - u32
    - Bool
    - char*
    - char**
    - u32
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 3689
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3689
    functionName: gf_sk_setup_multicast_ex
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htons
    - memset
    - htonl
    - GF_LOG
    - gf_net_is_ipv6
    - my_inet_ntop
    - getifaddrs
    - socket
    - malloc
    - free
    - gf_errno_str
    - sk_join_ipv4
    - freeifaddrs
    - strcmp
    - strcpy
    - inet_addr_from_name
    - memcmp
    - bind
    - gf_sk_get_ipv6_addr
    - strpbrk
    - if_nametoindex
    - memcpy
    - setsockopt
    - freeaddrinfo
    - gf_free
    - SOCKET_INVALID
    - strcat
    - gf_wcs_to_utf8
    - gf_sk_set_block_mode
    - inet_addr
    - gf_sk_is_multicast_address
    - GetAdaptersAddresses
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_sk_setup_multicast_ex(GF_Socket *sock, const char
      *multi_IPAdd, u16 MultiPortNumber, u32 TTL, Bool NoBind, const char *ifce_ip_or_name,\tconst
      char **src_ip_inc, u32 nb_src_ip_inc, const char **src_ip_exc, u32 nb_src_ip_exc) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/gpac/src/utils/os_net.c:4563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 4564
      start: 4560
    functionDepth: 0
    functionLinenumber: 4560
    functionLinenumberEnd: 4564
    functionName: gf_htonl
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - htonl
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_htonl(u32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/gpac/src/utils/os_net.c:4570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 4571
      start: 4567
    functionDepth: 0
    functionLinenumber: 4567
    functionLinenumberEnd: 4571
    functionName: gf_ntohl
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_ntohl(u32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_setup_multicast_ex
      Src: /src/gpac/src/utils/os_net.c:3694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - sock
    - multi_IPAdd
    - MultiPortNumber
    - TTL
    - NoBind
    - ifce_ip_or_name
    argTypes:
    - GF_Socket*
    - char*
    - u16
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 3696
      start: 3691
    functionDepth: 0
    functionLinenumber: 3691
    functionLinenumberEnd: 3696
    functionName: gf_sk_setup_multicast
    functionSourceFile: /src/gpac/src/utils/os_net.c
    functionUses: []
    functionsReached:
    - gf_sk_setup_multicast_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sk_setup_multicast(GF_Socket *sock, const char
      *multi_IPAdd, u16 MultiPortNumber, u32 TTL, Bool NoBind, const char *ifce_ip_or_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:290,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: gf_list_del
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_del(GF_List *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 323
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 323
    functionName: gf_list_add
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_add(GF_List *ptr, void* item) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:387,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:424,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:407,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 427
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 427
    functionName: gf_list_rem
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem(GF_List *ptr, u32 itemNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:507,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: gf_list_del
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_del(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: gf_list_new
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List * gf_list_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: gf_list_reset
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_reset(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: gf_list_count
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_list_count(GF_List *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: gf_list_rem_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem_last(GF_List *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/list.c:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: gf_list_add
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_add(GF_List *ptr, void* item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:850,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: gf_list_pop_front
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void * gf_list_pop_front(GF_List *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:577,1
    - Dst: memmove
      Src: /src/gpac/src/utils/list.c:580,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/list.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ptr
    - item
    - position
    argTypes:
    - GF_List*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: gf_list_insert
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_insert(GF_List *ptr, void *item, u32 position) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: gf_list_get
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_get(GF_List *ptr, u32 itemNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/list.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: gf_list_rem_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem_last(GF_List *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/list.c:623,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - nb_prealloc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: gf_list_new_prealloc
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_malloc
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List * gf_list_new_prealloc(u32 nb_prealloc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: gf_list_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_last(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/list.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nb_prealloc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: gf_list_new_prealloc
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List * gf_list_new_prealloc(u32 nb_prealloc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: gf_list_reset
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_reset(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: gf_list_new
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List * gf_list_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:635,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: gf_list_del
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_del(GF_List *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/list.c:776,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/list.c:780,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:781,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:782,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:784,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:788,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:789,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 796
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 796
    functionName: gf_list_swap
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_swap(GF_List *l1, GF_List *l2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/list.c:861,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/list.c:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 865
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 865
    functionName: gf_list_pop_back
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void * gf_list_pop_back(GF_List *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/utils/list.c:553,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/list.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: gf_list_rem
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem(GF_List *ptr, u32 itemNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:766,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/list.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - pos
    argTypes:
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: gf_list_rev_enum
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_rev_enum(GF_List *ptr, u32 *pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_clone
      Src: /src/gpac/src/utils/list.c:834,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/list.c:841,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/list.c:838,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/list.c:837,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/utils/list.c:835,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: gf_list_reverse
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_reset
    - gf_list_del
    - gf_list_enum
    - gf_list_clone
    linkageType: ''
    returnType: void
    signature: 'void gf_list_reverse(GF_List *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: gf_list_add
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_add(GF_List *ptr, void* item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:87,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: gf_list_del
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_del(GF_List *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:174,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/list.c:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 203
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 203
    functionName: gf_list_rem
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem(GF_List *ptr, u32 itemNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: gf_list_get
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_get(GF_List *ptr, u32 itemNumber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: gf_list_count
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_list_count(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: gf_list_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_last(GF_List *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LIST_REALLOC
      Src: /src/gpac/src/utils/list.c:641,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/list.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: realloc_chain
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LIST_REALLOC
    linkageType: ''
    returnType: void
    signature: 'static void realloc_chain(GF_List *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: gf_list_reset
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_reset(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: gf_list_count
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_list_count(const GF_List *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: gf_list_rem_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem_last(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: gf_list_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_last(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: gf_list_new
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List * gf_list_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: gf_list_get
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_get(GF_List *ptr, u32 itemNumber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc_chain
      Src: /src/gpac/src/utils/list.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 657
    functionName: gf_list_add
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - realloc_chain
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_add(GF_List *ptr, void* item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: gf_list_reset
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_list_reset(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/list.c:735,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 740
    functionName: gf_list_find
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_list_find(GF_List *ptr, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: gf_list_new
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List * gf_list_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: gf_list_count
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_list_count(const GF_List *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/utils/list.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: gf_list_rem
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem(GF_List *ptr, u32 itemNumber) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:713,1
    - Dst: memmove
      Src: /src/gpac/src/utils/list.c:717,1
    - Dst: realloc_chain
      Src: /src/gpac/src/utils/list.c:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ptr
    - item
    - position
    argTypes:
    - GF_List*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 721
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 721
    functionName: gf_list_insert
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memmove
    - realloc_chain
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_insert(GF_List *ptr, void *item, u32 position) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/list.c:745,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/list.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - item
    argTypes:
    - GF_List*
    - void*
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: gf_list_del_item
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_list_del_item(GF_List *ptr, void *item) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/list.c:805,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/utils/list.c:806,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 812
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 812
    functionName: gf_list_transfer
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - gf_list_add
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_transfer(GF_List *dst, GF_List *src) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:219,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ptr
    - item
    - position
    argTypes:
    - GF_List*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 245
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 245
    functionName: gf_list_insert
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_insert(GF_List *ptr, void *item, u32 position) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/list.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nb_prealloc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: gf_list_new_prealloc
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List * gf_list_new_prealloc(u32 nb_prealloc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:443,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/list.c:444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - ptr
    - item
    - position
    argTypes:
    - GF_List*
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 477
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 477
    functionName: gf_list_insert
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_insert(GF_List *ptr, void *item, u32 position) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - itemNumber
    argTypes:
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: gf_list_get
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_get(GF_List *ptr, u32 itemNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/list.c:755,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - pos
    argTypes:
    - GF_List*
    - u32*
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: gf_list_enum
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_enum(GF_List *ptr, u32 *pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/list.c:820,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/list.c:821,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/list.c:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: gf_list_clone
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List * gf_list_clone(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 679
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 679
    functionName: gf_list_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_list_last(GF_List *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: gf_list_rem_last
    functionSourceFile: /src/gpac/src/utils/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_list_rem_last(GF_List *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2393,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/Remotery.c:2403,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/Remotery.c:2402,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/Remotery.c:2408,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/utils/Remotery.c:2401,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/Remotery.c:2409,1
    - Dst: FD_SET
      Src: /src/gpac/src/utils/Remotery.c:2410,1
    - Dst: select
      Src: /src/gpac/src/utils/Remotery.c:2418,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/Remotery.c:2424,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/Remotery.c:2425,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/utils/Remotery.c:2426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - tcp_socket
    argTypes:
    - TCPSocket*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2428
    functionName: TCPSocket_PollStatus
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - select
    - FD_SET
    - assert
    - FD_ISSET
    - FD_ZERO
    linkageType: ''
    returnType: SocketStatus
    signature: 'static SocketStatus TCPSocket_PollStatus(TCPSocket* tcp_socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3332,1
    - Dst: WebSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:3336,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3333,1
    - Dst: WebSocket_WriteFrameHeader
      Src: /src/gpac/src/utils/Remotery.c:3346,1
    - Dst: WebSocket_FrameHeaderSize
      Src: /src/gpac/src/utils/Remotery.c:3342,1
    - Dst: TCPSocket_Send
      Src: /src/gpac/src/utils/Remotery.c:3349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - web_socket
    - data
    - length
    - timeout_ms
    argTypes:
    - WebSocket*
    - void*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3351
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3351
    functionName: WebSocket_Send
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - WebSocket_PollStatus
    - WebSocket_WriteFrameHeader
    - WebSocket_FrameHeaderSize
    - TCPSocket_Send
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocket_Send(WebSocket* web_socket, const void*
      data, rmtU32 length, rmtU32 timeout_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - payload_size
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3584
      start: 3573
    functionDepth: 0
    functionLinenumber: 3573
    functionLinenumberEnd: 3584
    functionName: rmtMessageQueue_SizeForPayload
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 rmtMessageQueue_SizeForPayload(rmtU32 payload_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlattenSampleTree
      Src: /src/gpac/src/utils/Remotery.c:4268,1
    - Dst: ObjectAllocator_Free
      Src: /src/gpac/src/utils/Remotery.c:4274,1
    - Dst: ObjectAllocator_FreeRange
      Src: /src/gpac/src/utils/Remotery.c:4272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sample
    - allocator
    argTypes:
    - Sample*
    - ObjectAllocator*
    constantsTouched: []
    func_position:
      end: 4275
      start: 4264
    functionDepth: 0
    functionLinenumber: 4264
    functionLinenumberEnd: 4275
    functionName: FreeSampleTree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ObjectAllocator_FreeRange
    - ObjectAllocator_Free
    - FlattenSampleTree
    linkageType: ''
    returnType: void
    signature: 'static void FreeSampleTree(Sample* sample, ObjectAllocator* allocator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/Remotery.c:5337,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5339,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/Remotery.c:5347,1
    - Dst: rmtMessageQueue_AllocMessage
      Src: /src/gpac/src/utils/Remotery.c:5342,1
    - Dst: rmtMessageQueue_CommitMessage
      Src: /src/gpac/src/utils/Remotery.c:5348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - text
    argTypes:
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 5349
      start: 5329
    functionDepth: 0
    functionLinenumber: 5329
    functionLinenumberEnd: 5349
    functionName: _rmt_SendText
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMessageQueue_CommitMessage
    - strlen
    - rmtMessageQueue_AllocMessage
    - Remotery_GetThreadSampler
    - memcpy
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_SendText(rmtPStr text) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rmtD3D11Finish
      Src: /src/gpac/src/utils/Remotery.c:6045,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6052,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6054,1
    - Dst: rmtD3D11Finish
      Src: /src/gpac/src/utils/Remotery.c:6053,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - device
    - context
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - ID3D11Device*
    - ID3D11DeviceContext*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 6080
      start: 6034
    functionDepth: 0
    functionLinenumber: 6034
    functionLinenumberEnd: 6080
    functionName: SyncD3D11CpuGpuTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - usTimer_Get
    - rmtD3D11Finish
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT SyncD3D11CpuGpuTimes(ID3D11Device* device, ID3D11DeviceContext*
      context, rmtU64* out_first_timestamp, rmtU64* out_last_resync) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6107,1
    - Dst: ObjectLink_Constructor
      Src: /src/gpac/src/utils/Remotery.c:6109,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6118,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6117,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6118,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6119,1
    - Dst: ID3D11Device_CreateQuery
      Src: /src/gpac/src/utils/Remotery.c:6126,1
    - Dst: ID3D11Device_CreateQuery
      Src: /src/gpac/src/utils/Remotery.c:6129,1
    - Dst: ID3D11Device_CreateQuery
      Src: /src/gpac/src/utils/Remotery.c:6136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - D3D11Timestamp*
    constantsTouched: []
    func_position:
      end: 6141
      start: 6099
    functionDepth: 0
    functionLinenumber: 6099
    functionLinenumberEnd: 6141
    functionName: D3D11Timestamp_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_GetThreadSampler
    - ID3D11Device_CreateQuery
    - assert
    - ObjectLink_Constructor
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError D3D11Timestamp_Constructor(D3D11Timestamp* stamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6905,1
    - Dst: rmtGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6915,1
    - Dst: rmtLoadLibrary
      Src: /src/gpac/src/utils/Remotery.c:6912,1
    - Dst: rmtLoadLibrary
      Src: /src/gpac/src/utils/Remotery.c:6910,1
    - Dst: rmtLoadLibrary
      Src: /src/gpac/src/utils/Remotery.c:6908,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6916,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6917,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6918,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6919,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6920,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6922,1
    - Dst: rmtGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6926,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6924,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6923,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6921,1
    - Dst: rmtglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6928
      start: 6900
    functionDepth: 0
    functionLinenumber: 6900
    functionLinenumberEnd: 6928
    functionName: _rmt_BindOpenGL
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtGetProcAddress
    - rmtglGetProcAddress
    - assert
    - rmtLoadLibrary
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BindOpenGL() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2438,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2461,1
    - Dst: TCPSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:2439,1
    - Dst: accept
      Src: /src/gpac/src/utils/Remotery.c:2444,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/Remotery.c:2457,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:2462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - tcp_socket
    - client_socket
    argTypes:
    - TCPSocket*
    - TCPSocket**
    constantsTouched: []
    func_position:
      end: 2468
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2468
    functionName: TCPSocket_AcceptConnection
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_0
    - assert
    - TCPSocket_PollStatus
    - setsockopt
    - accept
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError TCPSocket_AcceptConnection(TCPSocket* tcp_socket,
      TCPSocket** client_socket) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3363,1
    - Dst: TCPSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3392,1
    - Dst: TCPSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3406,1
    - Dst: TCPSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3366,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - web_socket
    argTypes:
    - WebSocket*
    constantsTouched: []
    func_position:
      end: 3415
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3415
    functionName: ReceiveFrameHeader
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - TCPSocket_Receive
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError ReceiveFrameHeader(WebSocket* web_socket) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rmtMessageQueue_SizeForPayload
      Src: /src/gpac/src/utils/Remotery.c:3591,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3593,1
    - Dst: AtomicCompareAndSwap
      Src: /src/gpac/src/utils/Remotery.c:3610,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:3602,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:3601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - queue
    - payload_size
    - thread_sampler
    argTypes:
    - rmtMessageQueue*
    - rmtU32
    - struct ThreadSampler*
    constantsTouched: []
    func_position:
      end: 3620
      start: 3587
    functionDepth: 0
    functionLinenumber: 3587
    functionLinenumberEnd: 3620
    functionName: rmtMessageQueue_AllocMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - AtomicCompareAndSwap
    - assert
    - LoadAcquire
    - rmtMessageQueue_SizeForPayload
    linkageType: ''
    returnType: Message*
    signature: 'static Message * rmtMessageQueue_AllocMessage(rmtMessageQueue* queue,
      rmtU32 payload_size, struct ThreadSampler* thread_sampler) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5361,1
    - Dst: QueueLine
      Src: /src/gpac/src/utils/Remotery.c:5405,1
    - Dst: QueueLine
      Src: /src/gpac/src/utils/Remotery.c:5386,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - text
    argTypes:
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 5407
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5407
    functionName: _rmt_LogText
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_GetThreadSampler
    - assert
    - QueueLine
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_LogText(rmtPStr text) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6146,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6150,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6154,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - D3D11Timestamp*
    constantsTouched: []
    func_position:
      end: 6155
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6155
    functionName: D3D11Timestamp_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ID3D11Query_Release
    linkageType: ''
    returnType: void
    signature: 'static void D3D11Timestamp_Destructor(D3D11Timestamp* stamp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gpac/src/utils/Remotery.c:671,1
    - Dst: close
      Src: /src/gpac/src/utils/Remotery.c:692,1
    - Dst: ioctl
      Src: /src/gpac/src/utils/Remotery.c:685,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/Remotery.c:678,1
    - Dst: ioctl
      Src: /src/gpac/src/utils/Remotery.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 694
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 694
    functionName: ashmem_create_region
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - close
    - ioctl
    - strncpy
    - open
    linkageType: ''
    returnType: int
    signature: 'int ashmem_create_region(const char *name, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1899,1
    - Dst: IsLittleEndian
      Src: /src/gpac/src/utils/Remotery.c:1921,1
    - Dst: Buffer_Grow
      Src: /src/gpac/src/utils/Remotery.c:1904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - Buffer*
    - rmtU64
    constantsTouched: []
    func_position:
      end: 1949
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1949
    functionName: Buffer_WriteU64
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - IsLittleEndian
    - Buffer_Grow
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_WriteU64(Buffer* buffer, rmtU64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - rmtU32
    - rmtS8
    constantsTouched: []
    func_position:
      end: 2911
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2911
    functionName: rotl32
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 rotl32(rmtU32 x, rmtS8 r) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:3104,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/Remotery.c:3128,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:3161,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:3163,1
    - Dst: Base64_Encode
      Src: /src/gpac/src/utils/Remotery.c:3166,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:3174,1
    - Dst: TCPSocket_Send
      Src: /src/gpac/src/utils/Remotery.c:3177,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:3177,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3089,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3112,1
    - Dst: GetField
      Src: /src/gpac/src/utils/Remotery.c:3139,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:3144,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:3170,1
    - Dst: TCPSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3097,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:3091,1
    - Dst: strstr_s
      Src: /src/gpac/src/utils/Remotery.c:3146,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:3172,1
    - Dst: GetField
      Src: /src/gpac/src/utils/Remotery.c:3132,1
    - Dst: GetField
      Src: /src/gpac/src/utils/Remotery.c:3151,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:3165,1
    - Dst: SHA1_Calculate
      Src: /src/gpac/src/utils/Remotery.c:3165,1
    - Dst: strstr_s
      Src: /src/gpac/src/utils/Remotery.c:3154,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 2
    argNames:
    - tcp_socket
    - limit_host
    argTypes:
    - TCPSocket*
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 3178
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3178
    functionName: WebSocketHandshake
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - GetField
    - msTimer_Get
    - assert
    - strncat_s
    - TCPSocket_Receive
    - memcmp
    - strnlen_s
    - SHA1_Calculate
    - TCPSocket_Send
    - Base64_Encode
    - strstr_s
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocketHandshake(TCPSocket* tcp_socket, rmtPStr
      limit_host) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4403,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:4409,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:4412,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:4406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ts
    argTypes:
    - ThreadSampler*
    constantsTouched: []
    func_position:
      end: 4413
      start: 4399
    functionDepth: 0
    functionLinenumber: 4399
    functionLinenumberEnd: 4413
    functionName: ThreadSampler_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void ThreadSampler_Destructor(ThreadSampler* ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6836,1
    - Dst: rmtglGetQueryObjectiv
      Src: /src/gpac/src/utils/Remotery.c:6843,1
    - Dst: rmtglGetQueryObjectiv
      Src: /src/gpac/src/utils/Remotery.c:6846,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6838,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6839,1
    - Dst: rmtglGetQueryObjectui64v
      Src: /src/gpac/src/utils/Remotery.c:6850,1
    - Dst: rmtglGetQueryObjectui64v
      Src: /src/gpac/src/utils/Remotery.c:6851,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6855,1
    - Dst: SyncOpenGLCpuGpuTimes
      Src: /src/gpac/src/utils/Remotery.c:6857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - stamp
    - out_start
    - out_end
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - OpenGLTimestamp*
    - rmtU64*
    - rmtU64*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 6864
      start: 6831
    functionDepth: 0
    functionLinenumber: 6831
    functionLinenumberEnd: 6864
    functionName: OpenGLTimestamp_GetData
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - SyncOpenGLCpuGpuTimes
    - assert
    - rmtglGetQueryObjectiv
    - rmtglGetQueryObjectui64v
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool OpenGLTimestamp_GetData(OpenGLTimestamp* stamp, rmtU64*
      out_start, rmtU64* out_end, rmtU64* out_first_timestamp, rmtU64* out_last_resync) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:1954,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:1961,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:1957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - string
    argTypes:
    - Buffer*
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 1962
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1962
    functionName: Buffer_WriteStringWithLength
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - strnlen_s
    - Buffer_Write
    - Buffer_WriteU32
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_WriteStringWithLength(Buffer* buffer, rmtPStr
      string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3185,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:3197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - web_socket
    - tcp_socket
    argTypes:
    - WebSocket*
    - TCPSocket*
    constantsTouched: []
    func_position:
      end: 3200
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3200
    functionName: WebSocket_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_0
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocket_Constructor(WebSocket* web_socket, TCPSocket*
      tcp_socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleTree_Push
      Src: /src/gpac/src/utils/Remotery.c:4418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - tree
    - name_hash
    - flags
    - sample
    argTypes:
    - SampleTree*
    - rmtU32
    - rmtU32
    - Sample**
    constantsTouched: []
    func_position:
      end: 4419
      start: 4416
    functionDepth: 0
    functionLinenumber: 4416
    functionLinenumberEnd: 4419
    functionName: ThreadSampler_Push
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - SampleTree_Push
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError ThreadSampler_Push(SampleTree* tree, rmtU32 name_hash,
      rmtU32 flags, Sample** sample) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:6480,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6482,1
    - Dst: D3D11Timestamp_End
      Src: /src/gpac/src/utils/Remotery.c:6501,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6488,1
    - Dst: ThreadSampler_Pop
      Src: /src/gpac/src/utils/Remotery.c:6504,1
    - Dst: UpdateD3D11Frame
      Src: /src/gpac/src/utils/Remotery.c:6506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6509
      start: 6475
    functionDepth: 0
    functionLinenumber: 6475
    functionLinenumberEnd: 6509
    functionName: _rmt_EndD3D11Sample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ThreadSampler_Pop
    - D3D11Timestamp_End
    - Remotery_GetThreadSampler
    - CHECK_REMOTERY
    - UpdateD3D11Frame
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EndD3D11Sample(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:7090,1
    - Dst: UpdateOpenGLFrame
      Src: /src/gpac/src/utils/Remotery.c:7109,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:7093,1
    - Dst: OpenGLTimestamp_End
      Src: /src/gpac/src/utils/Remotery.c:7104,1
    - Dst: ThreadSampler_Pop
      Src: /src/gpac/src/utils/Remotery.c:7107,1
    - Dst: rmtglGetError
      Src: /src/gpac/src/utils/Remotery.c:7113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 7116
      start: 7086
    functionDepth: 0
    functionLinenumber: 7086
    functionLinenumberEnd: 7116
    functionName: _rmt_EndOpenGLSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Pop
    - OpenGLTimestamp_End
    - Remotery_GetThreadSampler
    - rmtglGetError
    - CHECK_REMOTERY
    - UpdateOpenGLFrame
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EndOpenGLSample(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5046,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5058,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5062,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5065,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5049,1
    - Dst: Remotery_DestroyThreadSamplers
      Src: /src/gpac/src/utils/Remotery.c:5067,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5069,1
    - Dst: tlsFree
      Src: /src/gpac/src/utils/Remotery.c:5073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 5076
      start: 5044
    functionDepth: 0
    functionLinenumber: 5044
    functionLinenumberEnd: 5076
    functionName: Remotery_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_DestroyThreadSamplers
    - assert
    - tlsFree
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void Remotery_Destructor(Remotery* rmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5644,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5646,1
    - Dst: CUDAGetContext
      Src: /src/gpac/src/utils/Remotery.c:5644,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5648,1
    - Dst: CUDASetContext
      Src: /src/gpac/src/utils/Remotery.c:5648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5651
      start: 5641
    functionDepth: 0
    functionLinenumber: 5641
    functionLinenumberEnd: 5651
    functionName: CUDAEnsureContext
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDASetContext
    - assert
    - CUDAGetContext
    - CUDA_GUARD
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEnsureContext() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5657,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5658,1
    - Dst: CUDAEnsureContext
      Src: /src/gpac/src/utils/Remotery.c:5658,1
    - Dst: EventCreate
      Src: /src/gpac/src/utils/Remotery.c:5659,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - phEvent
    - Flags
    argTypes:
    - CUevent*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5660
      start: 5655
    functionDepth: 0
    functionLinenumber: 5655
    functionLinenumberEnd: 5660
    functionName: CUDAEventCreate
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDA_MAKE_FUNCTION
    - MapCUDAResult
    - EventCreate
    - CUDA_GUARD
    - CUDAEnsureContext
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEventCreate(CUevent* phEvent, unsigned int Flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5663,1
    - Dst: EventDestroy
      Src: /src/gpac/src/utils/Remotery.c:5665,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5664,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5665,1
    - Dst: CUDAEnsureContext
      Src: /src/gpac/src/utils/Remotery.c:5664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hEvent
    argTypes:
    - CUevent
    constantsTouched: []
    func_position:
      end: 5666
      start: 5661
    functionDepth: 0
    functionLinenumber: 5661
    functionLinenumberEnd: 5666
    functionName: CUDAEventDestroy
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDA_MAKE_FUNCTION
    - MapCUDAResult
    - CUDA_GUARD
    - EventDestroy
    - CUDAEnsureContext
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEventDestroy(CUevent hEvent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7217,1
    - Dst: rmtMetal_MeasureCommandBuffer
      Src: /src/gpac/src/utils/Remotery.c:7222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - MetalTimestamp*
    constantsTouched: []
    func_position:
      end: 7223
      start: 7215
    functionDepth: 0
    functionLinenumber: 7215
    functionLinenumberEnd: 7223
    functionName: MetalTimestamp_Begin
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtMetal_MeasureCommandBuffer
    linkageType: ''
    returnType: void
    signature: 'static void MetalTimestamp_Begin(MetalTimestamp* stamp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5084,1
    - Dst: AtomicCompareAndSwapPointer
      Src: /src/gpac/src/utils/Remotery.c:5105,1
    - Dst: tlsSet
      Src: /src/gpac/src/utils/Remotery.c:5109,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:5090,1
    - Dst: tlsGet
      Src: /src/gpac/src/utils/Remotery.c:5085,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - rmt
    - thread_sampler
    argTypes:
    - Remotery*
    - ThreadSampler**
    constantsTouched: []
    func_position:
      end: 5115
      start: 5079
    functionDepth: 0
    functionLinenumber: 5079
    functionLinenumberEnd: 5115
    functionName: Remotery_GetThreadSampler
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_0
    - tlsGet
    - assert
    - AtomicCompareAndSwapPointer
    - tlsSet
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_GetThreadSampler(Remotery* rmt, ThreadSampler**
      thread_sampler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5669,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5670,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5671,1
    - Dst: EventRecord
      Src: /src/gpac/src/utils/Remotery.c:5671,1
    - Dst: CUDAEnsureContext
      Src: /src/gpac/src/utils/Remotery.c:5670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hEvent
    - hStream
    argTypes:
    - CUevent
    - void*
    constantsTouched: []
    func_position:
      end: 5672
      start: 5667
    functionDepth: 0
    functionLinenumber: 5667
    functionLinenumberEnd: 5672
    functionName: CUDAEventRecord
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDA_MAKE_FUNCTION
    - MapCUDAResult
    - CUDA_GUARD
    - EventRecord
    - CUDAEnsureContext
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEventRecord(CUevent hEvent, void* hStream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7151,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:7159,1
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:7153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - metal
    argTypes:
    - Metal**
    constantsTouched: []
    func_position:
      end: 7161
      start: 7147
    functionDepth: 0
    functionLinenumber: 7147
    functionLinenumberEnd: 7161
    functionName: Metal_Create
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMalloc
    - assert
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Metal_Create(Metal** metal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - MetalTimestamp*
    constantsTouched: []
    func_position:
      end: 7232
      start: 7226
    functionDepth: 0
    functionLinenumber: 7226
    functionLinenumberEnd: 7232
    functionName: MetalTimestamp_End
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void MetalTimestamp_End(MetalTimestamp* stamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2827,1
    - Dst: calc
      Src: /src/gpac/src/utils/Remotery.c:2828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - src
    - length
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2830
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2830
    functionName: SHA1_Calculate
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - calc
    linkageType: ''
    returnType: SHA1
    signature: 'static SHA1 SHA1_Calculate(const void* src, unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6881,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:6887,1
    - Dst: Sample_Constructor
      Src: /src/gpac/src/utils/Remotery.c:6884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sample
    argTypes:
    - OpenGLSample*
    constantsTouched: []
    func_position:
      end: 6890
      start: 6877
    functionDepth: 0
    functionLinenumber: 6877
    functionLinenumberEnd: 6890
    functionName: OpenGLSample_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Constructor
    - New_0
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError OpenGLSample_Constructor(OpenGLSample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1892
    functionName: IsLittleEndian
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool IsLittleEndian() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1243,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1251,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1247,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - dest
    - dmax
    argTypes:
    - char*
    - r_size_t
    constantsTouched: []
    func_position:
      end: 1262
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1262
    functionName: strnlen_s
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - RCNEGATE
    linkageType: ''
    returnType: r_size_t
    signature: 'static r_size_t strnlen_s (const char *dest, r_size_t dmax) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - alloc_granularity
    argTypes:
    - Buffer*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1789
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1789
    functionName: Buffer_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_Constructor(Buffer* buffer, rmtU32 alloc_granularity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gpac/src/utils/Remotery.c:2255,1
    - Dst: LOBYTE
      Src: /src/gpac/src/utils/Remotery.c:2257,1
    - Dst: HIBYTE
      Src: /src/gpac/src/utils/Remotery.c:2257,1
    - Dst: MAKEWORD
      Src: /src/gpac/src/utils/Remotery.c:2255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2267
    functionName: InitialiseNetwork
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WSAStartup
    - HIBYTE
    - MAKEWORD
    - LOBYTE
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError InitialiseNetwork() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3787,1
    - Dst: WebSocket_Send
      Src: /src/gpac/src/utils/Remotery.c:3790,1
    - Dst: Server_DisconnectClient
      Src: /src/gpac/src/utils/Remotery.c:3792,1
    - Dst: Server_IsClientConnected
      Src: /src/gpac/src/utils/Remotery.c:3788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - server
    - data
    - length
    - timeout
    argTypes:
    - Server*
    - void*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3798
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3798
    functionName: Server_Send
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Server_DisconnectClient
    - Server_IsClientConnected
    - assert
    - WebSocket_Send
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Server_Send(Server* server, const void* data, rmtU32
      length, rmtU32 timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4608,1
    - Dst: Server_Send
      Src: /src/gpac/src/utils/Remotery.c:4615,1
    - Dst: WebSocket_PrepareBuffer
      Src: /src/gpac/src/utils/Remotery.c:4612,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4609,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:4613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rmt
    - message
    argTypes:
    - Remotery*
    - Message*
    constantsTouched: []
    func_position:
      end: 4616
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4616
    functionName: Remotery_SendLogTextMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Buffer_Write
    - assert
    - Server_Send
    - WebSocket_PrepareBuffer
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_SendLogTextMessage(Remotery* rmt, Message*
      message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5631,1
    - Dst: CtxSetCurrent
      Src: /src/gpac/src/utils/Remotery.c:5633,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5632,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5634
      start: 5629
    functionDepth: 0
    functionLinenumber: 5629
    functionLinenumberEnd: 5634
    functionName: CUDASetContext
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - CUDA_MAKE_FUNCTION
    - CtxSetCurrent
    - MapCUDAResult
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDASetContext(void* context) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1271,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1284,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1276,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1280,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1288,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1292,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1296,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1305,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1330,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1341,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 5
    argNames:
    - dest
    - dmax
    - src
    - slen
    - substring
    argTypes:
    - char*
    - r_size_t
    - char*
    - r_size_t
    - char**
    constantsTouched: []
    func_position:
      end: 1342
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1342
    functionName: strstr_s
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - RCNEGATE
    linkageType: ''
    returnType: errno_t
    signature: 'static errno_t strstr_s (char *dest, r_size_t dmax, const char *src,
      r_size_t slen, char **substring) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1794,1
    - Dst: rmtFree
      Src: /src/gpac/src/utils/Remotery.c:1798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 1801
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1801
    functionName: Buffer_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtFree
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void Buffer_Destructor(Buffer* buffer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2492,1
    - Dst: send
      Src: /src/gpac/src/utils/Remotery.c:2522,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:2494,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:2504,1
    - Dst: TCPSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:2500,1
    - Dst: TCPSocketWouldBlock
      Src: /src/gpac/src/utils/Remotery.c:2527,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:2531,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - tcp_socket
    - data
    - length
    - timeout_ms
    argTypes:
    - TCPSocket*
    - void*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2562
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2562
    functionName: TCPSocket_Send
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - msTimer_Get
    - assert
    - TCPSocket_PollStatus
    - TCPSocketWouldBlock
    - send
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError TCPSocket_Send(TCPSocket* tcp_socket, const void*
      data, rmtU32 length, rmtU32 timeout_ms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rmt_LogText
      Src: /src/gpac/src/utils/Remotery.c:3809,1
    - Dst: WebSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - server
    - message_first_byte
    - message_length
    argTypes:
    - Server*
    - char
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3829
      start: 3801
    functionDepth: 0
    functionLinenumber: 3801
    functionLinenumberEnd: 3829
    functionName: Server_ReceiveMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmt_LogText
    - WebSocket_Receive
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Server_ReceiveMessage(Server* server, char message_first_byte,
      rmtU32 message_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4637,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4639,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4641,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4643,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4657,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4653,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4654,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4627,1
    - Dst: GetSampleDigest
      Src: /src/gpac/src/utils/Remotery.c:4646,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4653,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4649,1
    - Dst: U32ToByteArray
      Src: /src/gpac/src/utils/Remotery.c:4660,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4631,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4654,1
    - Dst: Buffer_WriteStringWithLength
      Src: /src/gpac/src/utils/Remotery.c:4652,1
    - Dst: bin_Sample
      Src: /src/gpac/src/utils/Remotery.c:4657,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4626,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4635,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:4635,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4652,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:4649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - msg
    argTypes:
    - Buffer*
    - Msg_SampleTree*
    constantsTouched: []
    func_position:
      end: 4663
      start: 4619
    functionDepth: 0
    functionLinenumber: 4619
    functionLinenumberEnd: 4663
    functionName: bin_SampleTree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - strncat_s
    - assert
    - BIN_ERROR_CHECK
    - U32ToByteArray
    - strnlen_s
    - Buffer_WriteStringWithLength
    - GetSampleDigest
    - Buffer_Write
    - bin_Sample
    - Buffer_WriteU32
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError bin_SampleTree(Buffer* buffer, Msg_SampleTree* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5637,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5638,1
    - Dst: CtxGetCurrent
      Src: /src/gpac/src/utils/Remotery.c:5639,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5640
      start: 5635
    functionDepth: 0
    functionLinenumber: 5635
    functionLinenumberEnd: 5640
    functionName: CUDAGetContext
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - CUDA_MAKE_FUNCTION
    - CtxGetCurrent
    - MapCUDAResult
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAGetContext(void** context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6656,1
    - Dst: rmtGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6658,1
    - Dst: wglGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6660,1
    - Dst: glXGetProcAddressARB
      Src: /src/gpac/src/utils/Remotery.c:6670,1
    - Dst: rmtGetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:6666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - opengl
    - symbol
    argTypes:
    - OpenGL*
    - char*
    constantsTouched: []
    func_position:
      end: 6675
      start: 6650
    functionDepth: 0
    functionLinenumber: 6650
    functionLinenumberEnd: 6675
    functionName: rmtglGetProcAddress
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtGetProcAddress
    - wglGetProcAddress
    - assert
    - glXGetProcAddressARB
    linkageType: ''
    returnType: ProcReturnType
    signature: 'static ProcReturnType rmtglGetProcAddress(OpenGL* opengl, const char*
      symbol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - rmtHashTable*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2132
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2132
    functionName: rmtHashTable_Find
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 rmtHashTable_Find(rmtHashTable* table, rmtU32 key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:6895,1
    - Dst: Sample_Destructor
      Src: /src/gpac/src/utils/Remotery.c:6896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - OpenGLSample*
    constantsTouched: []
    func_position:
      end: 6897
      start: 6893
    functionDepth: 0
    functionLinenumber: 6893
    functionLinenumberEnd: 6897
    functionName: OpenGLSample_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Destructor
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void OpenGLSample_Destructor(OpenGLSample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount
      Src: /src/gpac/src/utils/Remotery.c:242,1
    - Dst: clock
      Src: /src/gpac/src/utils/Remotery.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: msTimer_Get
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - clock
    - GetTickCount
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 msTimer_Get() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1841,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:1842,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:1842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - string
    argTypes:
    - Buffer*
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: Buffer_WriteStringZ
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - strnlen_s
    - assert
    - Buffer_Write
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_WriteStringZ(Buffer* buffer, rmtPStr string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmtHashTable_Find
      Src: /src/gpac/src/utils/Remotery.c:2190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - table
    - name_hash
    argTypes:
    - StringTable*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2194
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2194
    functionName: StringTable_Find
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtHashTable_Find
    linkageType: ''
    returnType: rmtPStr
    signature: 'static rmtPStr StringTable_Find(StringTable* table, rmtU32 name_hash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3238,1
    - Dst: WebSocketHandshake
      Src: /src/gpac/src/utils/Remotery.c:3245,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:3251,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3250,1
    - Dst: TCPSocket_AcceptConnection
      Src: /src/gpac/src/utils/Remotery.c:3239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - web_socket
    - client_socket
    argTypes:
    - WebSocket*
    - WebSocket**
    constantsTouched: []
    func_position:
      end: 3258
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3258
    functionName: WebSocket_AcceptConnection
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - TCPSocket_AcceptConnection
    - assert
    - New_1
    - WebSocketHandshake
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocket_AcceptConnection(WebSocket* web_socket,
      WebSocket** client_socket) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3427,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:3437,1
    - Dst: WebSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:3430,1
    - Dst: TCPSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3454,1
    - Dst: ReceiveFrameHeader
      Src: /src/gpac/src/utils/Remotery.c:3443,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:3461,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 5
    argNames:
    - web_socket
    - data
    - msg_len
    - length
    - timeout_ms
    argTypes:
    - WebSocket*
    - void*
    - rmtU32*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3483
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3483
    functionName: WebSocket_Receive
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ReceiveFrameHeader
    - msTimer_Get
    - assert
    - TCPSocket_Receive
    - WebSocket_PollStatus
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocket_Receive(WebSocket* web_socket, void* data,
      rmtU32* msg_len, rmtU32 length, rmtU32 timeout_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3543,1
    - Dst: New_2
      Src: /src/gpac/src/utils/Remotery.c:3551,1
    - Dst: memset
      Src: /src/gpac/src/utils/Remotery.c:3560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - queue
    - size
    argTypes:
    - rmtMessageQueue*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3563
      start: 3539
    functionDepth: 0
    functionLinenumber: 3539
    functionLinenumberEnd: 3563
    functionName: rmtMessageQueue_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_2
    - assert
    - memset
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError rmtMessageQueue_Constructor(rmtMessageQueue* queue,
      rmtU32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4823,1
    - Dst: msSleep
      Src: /src/gpac/src/utils/Remotery.c:4827,1
    - Dst: LoadAcquirePointer
      Src: /src/gpac/src/utils/Remotery.c:4826,1
    - Dst: rmtMessageQueue_SizeForPayload
      Src: /src/gpac/src/utils/Remotery.c:4840,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:4832,1
    - Dst: StoreReleasePointer
      Src: /src/gpac/src/utils/Remotery.c:4845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 4846
      start: 4818
    functionDepth: 0
    functionLinenumber: 4818
    functionLinenumberEnd: 4846
    functionName: Remotery_MapMessageQueue
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - LoadAcquire
    - StoreReleasePointer
    - LoadAcquirePointer
    - msSleep
    - rmtMessageQueue_SizeForPayload
    linkageType: ''
    returnType: void
    signature: 'static void Remotery_MapMessageQueue(Remotery* rmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5729,1
    - Dst: AreCUDASamplesReady
      Src: /src/gpac/src/utils/Remotery.c:5742,1
    - Dst: CUDAEventQuery
      Src: /src/gpac/src/utils/Remotery.c:5735,1
    - Dst: CUDAEventQuery
      Src: /src/gpac/src/utils/Remotery.c:5732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample*
    constantsTouched: []
    func_position:
      end: 5747
      start: 5723
    functionDepth: 0
    functionLinenumber: 5723
    functionLinenumberEnd: 5747
    functionName: AreCUDASamplesReady
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDAEventQuery
    - AreCUDASamplesReady
    - assert
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool AreCUDASamplesReady(Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dest
    - value
    argTypes:
    - rmtU8*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1853
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1853
    functionName: U32ToByteArray
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void U32ToByteArray(rmtU8* dest, rmtU32 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmtHashTable_Find
      Src: /src/gpac/src/utils/Remotery.c:2200,1
    - Dst: Buffer_WriteStringZ
      Src: /src/gpac/src/utils/Remotery.c:2205,1
    - Dst: rmtHashTable_Insert
      Src: /src/gpac/src/utils/Remotery.c:2206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - table
    - name_hash
    - name
    argTypes:
    - StringTable*
    - rmtU32
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 2208
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2208
    functionName: StringTable_Insert
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Buffer_WriteStringZ
    - rmtHashTable_Insert
    - rmtHashTable_Find
    linkageType: ''
    returnType: void
    signature: 'static void StringTable_Insert(StringTable* table, rmtU32 name_hash,
      rmtPStr name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - size
    - dest
    - dest_size
    - dest_offset
    argTypes:
    - rmtU32
    - rmtU8*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3270
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3270
    functionName: WriteSize
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void WriteSize(rmtU32 size, rmtU8* dest, rmtU32 dest_size,
      rmtU32 dest_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3568,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - rmtMessageQueue*
    constantsTouched: []
    func_position:
      end: 3570
      start: 3566
    functionDepth: 0
    functionLinenumber: 3566
    functionLinenumberEnd: 3570
    functionName: rmtMessageQueue_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void rmtMessageQueue_Destructor(rmtMessageQueue* queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4054,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4055,1
    - Dst: Buffer_WriteU64
      Src: /src/gpac/src/utils/Remotery.c:4057,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4059,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4061,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4053,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:4055,1
    - Dst: Buffer_WriteU64
      Src: /src/gpac/src/utils/Remotery.c:4056,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4058,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4060,1
    - Dst: Buffer_WriteU64
      Src: /src/gpac/src/utils/Remotery.c:4058,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4051,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4054,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4057,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4059,1
    - Dst: maxS64
      Src: /src/gpac/src/utils/Remotery.c:4058,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4053,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4056,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4060,1
    - Dst: bin_SampleArray
      Src: /src/gpac/src/utils/Remotery.c:4061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - sample
    argTypes:
    - Buffer*
    - Sample*
    constantsTouched: []
    func_position:
      end: 4064
      start: 4047
    functionDepth: 0
    functionLinenumber: 4047
    functionLinenumberEnd: 4064
    functionName: bin_Sample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Buffer_WriteU64
    - bin_SampleArray
    - assert
    - BIN_ERROR_CHECK
    - maxS64
    - Buffer_Write
    - Buffer_WriteU32
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError bin_Sample(Buffer* buffer, Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4560,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4561,1
    - Dst: HashCombine
      Src: /src/gpac/src/utils/Remotery.c:4566,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4562,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4582,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4583,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4584,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4585,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4586,1
    - Dst: minU8
      Src: /src/gpac/src/utils/Remotery.c:4587,1
    - Dst: GetSampleDigest
      Src: /src/gpac/src/utils/Remotery.c:4600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 3
    argNames:
    - sample
    - digest_hash
    - nb_samples
    argTypes:
    - Sample*
    - rmtU32*
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 4601
      start: 4556
    functionDepth: 0
    functionLinenumber: 4556
    functionLinenumberEnd: 4601
    functionName: GetSampleDigest
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - GetSampleDigest
    - assert
    - minU8
    - HashCombine
    linkageType: ''
    returnType: void
    signature: 'static void GetSampleDigest(Sample* sample, rmtU32* digest_hash, rmtU32*
      nb_samples) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4852,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4858,1
    - Dst: Server_Update
      Src: /src/gpac/src/utils/Remotery.c:4861,1
    - Dst: rmt_SetCurrentThreadName
      Src: /src/gpac/src/utils/Remotery.c:4854,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4860,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4862,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4864,1
    - Dst: Remotery_ConsumeMessageQueue
      Src: /src/gpac/src/utils/Remotery.c:4865,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4866,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4868,1
    - Dst: StoreReleasePointer
      Src: /src/gpac/src/utils/Remotery.c:4874,1
    - Dst: Remotery_MapMessageQueue
      Src: /src/gpac/src/utils/Remotery.c:4873,1
    - Dst: LoadAcquirePointer
      Src: /src/gpac/src/utils/Remotery.c:4871,1
    - Dst: msSleep
      Src: /src/gpac/src/utils/Remotery.c:4888,1
    - Dst: Remotery_FlushMessageQueue
      Src: /src/gpac/src/utils/Remotery.c:4892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - thread
    argTypes:
    - rmtThread*
    constantsTouched: []
    func_position:
      end: 4895
      start: 4849
    functionDepth: 0
    functionLinenumber: 4849
    functionLinenumberEnd: 4895
    functionName: Remotery_ThreadMain
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmt_SetCurrentThreadName
    - Remotery_ConsumeMessageQueue
    - StoreReleasePointer
    - Remotery_FlushMessageQueue
    - Remotery_MapMessageQueue
    - LoadAcquirePointer
    - rmt_EndCPUSample
    - rmt_BeginCPUSample
    - Server_Update
    - msSleep
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_ThreadMain(rmtThread* thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapMessageQueueAndWait
      Src: /src/gpac/src/utils/Remotery.c:5554,1
    - Dst: rmtMessageQueue_SizeForPayload
      Src: /src/gpac/src/utils/Remotery.c:5562,1
    - Dst: FreeSampleTree
      Src: /src/gpac/src/utils/Remotery.c:5564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - rmt
    - sample_type
    - flush_samples
    argTypes:
    - Remotery*
    - SampleType
    - Buffer*
    constantsTouched: []
    func_position:
      end: 5567
      start: 5545
    functionDepth: 0
    functionLinenumber: 5545
    functionLinenumberEnd: 5567
    functionName: FreePendingSampleTrees
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - MapMessageQueueAndWait
    - FreeSampleTree
    - rmtMessageQueue_SizeForPayload
    linkageType: ''
    returnType: void
    signature: 'static void FreePendingSampleTrees(Remotery* rmt, SampleType sample_type,
      Buffer* flush_samples) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5759,1
    - Dst: CUDAEventElapsedTime
      Src: /src/gpac/src/utils/Remotery.c:5763,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5760,1
    - Dst: CUDAEventElapsedTime
      Src: /src/gpac/src/utils/Remotery.c:5765,1
    - Dst: GetCUDASampleTimes
      Src: /src/gpac/src/utils/Remotery.c:5776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - root_sample
    - sample
    argTypes:
    - Sample*
    - Sample*
    constantsTouched: []
    func_position:
      end: 5781
      start: 5750
    functionDepth: 0
    functionLinenumber: 5750
    functionLinenumberEnd: 5781
    functionName: GetCUDASampleTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CUDAEventElapsedTime
    - assert
    - GetCUDASampleTimes
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool GetCUDASampleTimes(Sample* root_sample, Sample* sample) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:5837,1
    - Dst: ThreadSampler_Pop
      Src: /src/gpac/src/utils/Remotery.c:5849,1
    - Dst: CUDAEventRecord
      Src: /src/gpac/src/utils/Remotery.c:5848,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5852
      start: 5833
    functionDepth: 0
    functionLinenumber: 5833
    functionLinenumberEnd: 5852
    functionName: _rmt_EndCUDASample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CHECK_REMOTERY
    - Remotery_GetThreadSampler
    - ThreadSampler_Pop
    - CUDAEventRecord
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EndCUDASample(void* stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1752,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:1755,1
    - Dst: AtomicSub
      Src: /src/gpac/src/utils/Remotery.c:1754,1
    - Dst: ObjectAllocator_Push
      Src: /src/gpac/src/utils/Remotery.c:1753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - allocator
    - start
    - end
    - count
    argTypes:
    - ObjectAllocator*
    - void*
    - void*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1756
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1756
    functionName: ObjectAllocator_FreeRange
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectAllocator_Push
    - AtomicSub
    - AtomicAdd
    linkageType: ''
    returnType: void
    signature: 'static void ObjectAllocator_FreeRange(ObjectAllocator* allocator,
      void* start, void* end, rmtU32 count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket_Close
      Src: /src/gpac/src/utils/Remotery.c:3205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - web_socket
    argTypes:
    - WebSocket*
    constantsTouched: []
    func_position:
      end: 3206
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3206
    functionName: WebSocket_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WebSocket_Close
    linkageType: ''
    returnType: void
    signature: 'static void WebSocket_Destructor(WebSocket* web_socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sample
    - name_hash
    - parent
    argTypes:
    - Sample*
    - rmtU32
    - Sample*
    constantsTouched: []
    func_position:
      end: 4038
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4038
    functionName: Sample_Prepare
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Sample_Prepare(Sample* sample, rmtU32 name_hash, Sample*
      parent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6192,1
    - Dst: ID3D11DeviceContext_GetData
      Src: /src/gpac/src/utils/Remotery.c:6202,1
    - Dst: ID3D11DeviceContext_GetData
      Src: /src/gpac/src/utils/Remotery.c:6205,1
    - Dst: ID3D11DeviceContext_GetData
      Src: /src/gpac/src/utils/Remotery.c:6199,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6215,1
    - Dst: SyncD3D11CpuGpuTimes
      Src: /src/gpac/src/utils/Remotery.c:6218,1
    - Dst: SyncD3D11CpuGpuTimes
      Src: /src/gpac/src/utils/Remotery.c:6230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 7
    argNames:
    - stamp
    - device
    - context
    - out_start
    - out_end
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - D3D11Timestamp*
    - ID3D11Device*
    - ID3D11DeviceContext*
    - rmtU64*
    - rmtU64*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 6237
      start: 6179
    functionDepth: 0
    functionLinenumber: 6179
    functionLinenumberEnd: 6237
    functionName: D3D11Timestamp_GetData
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ID3D11DeviceContext_GetData
    - assert
    - SyncD3D11CpuGpuTimes
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT D3D11Timestamp_GetData(D3D11Timestamp* stamp, ID3D11Device*
      device, ID3D11DeviceContext* context, rmtU64* out_start, rmtU64* out_end, rmtU64*
      out_first_timestamp, rmtU64* out_last_resync) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6299,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6302,1
    - Dst: rmtMessageQueue_IsEmpty
      Src: /src/gpac/src/utils/Remotery.c:6305,1
    - Dst: FreePendingSampleTrees
      Src: /src/gpac/src/utils/Remotery.c:6309,1
    - Dst: UpdateD3D11Frame
      Src: /src/gpac/src/utils/Remotery.c:6306,1
    - Dst: Remotery_DeleteSampleTree
      Src: /src/gpac/src/utils/Remotery.c:6317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6320
      start: 6294
    functionDepth: 0
    functionLinenumber: 6294
    functionLinenumberEnd: 6320
    functionName: _rmt_UnbindD3D11
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_DeleteSampleTree
    - assert
    - rmtMessageQueue_IsEmpty
    - Remotery_GetThreadSampler
    - FreePendingSampleTrees
    - UpdateD3D11Frame
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_UnbindD3D11(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6682,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:6711,1
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:6684,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:6708,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:6715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - opengl
    argTypes:
    - OpenGL**
    constantsTouched: []
    func_position:
      end: 6718
      start: 6678
    functionDepth: 0
    functionLinenumber: 6678
    functionLinenumberEnd: 6718
    functionName: OpenGL_Create
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMalloc
    - assert
    - Delete
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError OpenGL_Create(OpenGL** opengl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7166,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:7167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - metal
    argTypes:
    - Metal*
    constantsTouched: []
    func_position:
      end: 7168
      start: 7164
    functionDepth: 0
    functionLinenumber: 7164
    functionLinenumberEnd: 7168
    functionName: Metal_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void Metal_Destructor(Metal* metal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6372,1
    - Dst: SyncD3D11CpuGpuTimes
      Src: /src/gpac/src/utils/Remotery.c:6389,1
    - Dst: D3D11Timestamp_GetData
      Src: /src/gpac/src/utils/Remotery.c:6399,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6378,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6380,1
    - Dst: GetD3D11SampleTimes
      Src: /src/gpac/src/utils/Remotery.c:6426,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - sample
    - ts
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - Sample*
    - ThreadSampler*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 6431
      start: 6365
    functionDepth: 0
    functionLinenumber: 6365
    functionLinenumberEnd: 6431
    functionName: GetD3D11SampleTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - D3D11Timestamp_GetData
    - assert
    - SyncD3D11CpuGpuTimes
    - GetD3D11SampleTimes
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool GetD3D11SampleTimes(Sample* sample, ThreadSampler*
      ts, rmtU64* out_first_timestamp, rmtU64* out_last_resync) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2003,1
    - Dst: memset
      Src: /src/gpac/src/utils/Remotery.c:2011,1
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:2008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - max_nb_slots
    argTypes:
    - rmtHashTable*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2014
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2014
    functionName: rmtHashTable_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMalloc
    - assert
    - memset
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError rmtHashTable_Constructor(rmtHashTable* table, rmtU32
      max_nb_slots) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3212,1
    - Dst: TCPSocket_RunServer
      Src: /src/gpac/src/utils/Remotery.c:3214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - web_socket
    - port
    - reuse_open_port
    - limit_connections_to_localhost
    - mode
    argTypes:
    - WebSocket*
    - rmtU16
    - rmtBool
    - rmtBool
    - enum WebSocketMode
    constantsTouched: []
    func_position:
      end: 3215
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3215
    functionName: WebSocket_RunServer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - TCPSocket_RunServer
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError WebSocket_RunServer(WebSocket* web_socket, rmtU16
      port, rmtBool reuse_open_port, rmtBool limit_connections_to_localhost, enum
      WebSocketMode mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:6328,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6338,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6330,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:6350,1
    - Dst: ThreadSampler_GetNameHash
      Src: /src/gpac/src/utils/Remotery.c:6342,1
    - Dst: ThreadSampler_Push
      Src: /src/gpac/src/utils/Remotery.c:6356,1
    - Dst: D3D11Timestamp_Begin
      Src: /src/gpac/src/utils/Remotery.c:6359,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - name
    - hash_cache
    argTypes:
    - rmtPStr
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 6362
      start: 6323
    functionDepth: 0
    functionLinenumber: 6323
    functionLinenumberEnd: 6362
    functionName: _rmt_BeginD3D11Sample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ThreadSampler_Push
    - New_3
    - Remotery_GetThreadSampler
    - CHECK_REMOTERY
    - D3D11Timestamp_Begin
    - ThreadSampler_GetNameHash
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BeginD3D11Sample(rmtPStr name, rmtU32* hash_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6723,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:6725,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:6724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - opengl
    argTypes:
    - OpenGL*
    constantsTouched: []
    func_position:
      end: 6726
      start: 6721
    functionDepth: 0
    functionLinenumber: 6721
    functionLinenumberEnd: 6726
    functionName: OpenGL_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void OpenGL_Destructor(OpenGL* opengl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4072,1
    - Dst: bin_Sample
      Src: /src/gpac/src/utils/Remotery.c:4074,1
    - Dst: BIN_ERROR_CHECK
      Src: /src/gpac/src/utils/Remotery.c:4074,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - parent_sample
    argTypes:
    - Buffer*
    - Sample*
    constantsTouched: []
    func_position:
      end: 4077
      start: 4067
    functionDepth: 0
    functionLinenumber: 4067
    functionLinenumberEnd: 4077
    functionName: bin_SampleArray
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - BIN_ERROR_CHECK
    - bin_Sample
    - Buffer_WriteU32
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError bin_SampleArray(Buffer* buffer, Sample* parent_sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2280,1
    - Dst: InitialiseNetwork
      Src: /src/gpac/src/utils/Remotery.c:2282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tcp_socket
    argTypes:
    - TCPSocket*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2283
    functionName: TCPSocket_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - InitialiseNetwork
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError TCPSocket_Constructor(TCPSocket* tcp_socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: rmtRealloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * rmtRealloc( void* ptr, rmtU32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - link
    argTypes:
    - ObjectLink*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1595
    functionName: ObjectLink_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void ObjectLink_Constructor(ObjectLink* link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - allocator
    - object_size
    - constructor
    - destructor
    argTypes:
    - ObjectAllocator*
    - rmtU32
    - ObjConstructor
    - ObjDestructor
    constantsTouched: []
    func_position:
      end: 1632
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1632
    functionName: ObjectAllocator_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError ObjectAllocator_Constructor(ObjectAllocator* allocator,
      rmtU32 object_size, ObjConstructor constructor, ObjDestructor destructor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1658,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1660,1
    - Dst: AtomicCompareAndSwapPointer
      Src: /src/gpac/src/utils/Remotery.c:1667,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - allocator
    - start
    - end
    argTypes:
    - ObjectAllocator*
    - ObjectLink*
    - ObjectLink*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1670
    functionName: ObjectAllocator_Push
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - AtomicCompareAndSwapPointer
    linkageType: ''
    returnType: void
    signature: 'static void ObjectAllocator_Push(ObjectAllocator* allocator, ObjectLink*
      start, ObjectLink* end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmtRealloc
      Src: /src/gpac/src/utils/Remotery.c:1812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - Buffer*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1817
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1817
    functionName: Buffer_Grow
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtRealloc
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_Grow(Buffer* buffer, rmtU32 length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1858,1
    - Dst: Buffer_Grow
      Src: /src/gpac/src/utils/Remotery.c:1863,1
    - Dst: U32ToByteArray
      Src: /src/gpac/src/utils/Remotery.c:1872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - Buffer*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1878
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1878
    functionName: Buffer_WriteU32
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - U32ToByteArray
    - Buffer_Grow
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_WriteU32(Buffer* buffer, rmtU32 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2019,1
    - Dst: rmtFree
      Src: /src/gpac/src/utils/Remotery.c:2023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - rmtHashTable*
    constantsTouched: []
    func_position:
      end: 2026
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2026
    functionName: rmtHashTable_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtFree
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void rmtHashTable_Destructor(rmtHashTable* table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: rmtFree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void rmtFree( void* ptr ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1638,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1648,1
    - Dst: rmtFree
      Src: /src/gpac/src/utils/Remotery.c:1650,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - ObjectAllocator*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1653
    functionName: ObjectAllocator_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtFree
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void ObjectAllocator_Destructor(ObjectAllocator* allocator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1677,1
    - Dst: AtomicCompareAndSwapPointer
      Src: /src/gpac/src/utils/Remotery.c:1685,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1678,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - ObjectAllocator*
    constantsTouched: []
    func_position:
      end: 1695
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1695
    functionName: ObjectAllocator_Pop
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - AtomicCompareAndSwapPointer
    linkageType: ''
    returnType: ObjectLink*
    signature: 'static ObjectLink * ObjectAllocator_Pop(ObjectAllocator* allocator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1822,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/Remotery.c:1833,1
    - Dst: Buffer_Grow
      Src: /src/gpac/src/utils/Remotery.c:1827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - data
    - length
    argTypes:
    - Buffer*
    - void*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 1837
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1837
    functionName: Buffer_Write
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Buffer_Grow
    - assert
    - memcpy
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Buffer_Write(Buffer* buffer, const void* data, rmtU32
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2288,1
    - Dst: TCPSocket_Close
      Src: /src/gpac/src/utils/Remotery.c:2289,1
    - Dst: ShutdownNetwork
      Src: /src/gpac/src/utils/Remotery.c:2290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tcp_socket
    argTypes:
    - TCPSocket*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2291
    functionName: TCPSocket_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - TCPSocket_Close
    - assert
    - ShutdownNetwork
    linkageType: ''
    returnType: void
    signature: 'static void TCPSocket_Destructor(TCPSocket* tcp_socket) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4164,1
    - Dst: Sample_Prepare
      Src: /src/gpac/src/utils/Remotery.c:4198,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4165,1
    - Dst: ObjectAllocator_Alloc
      Src: /src/gpac/src/utils/Remotery.c:4195,1
    - Dst: maxU16
      Src: /src/gpac/src/utils/Remotery.c:4188,1
    - Dst: HashCombine
      Src: /src/gpac/src/utils/Remotery.c:4202,1
    - Dst: HashCombine
      Src: /src/gpac/src/utils/Remotery.c:4203,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - tree
    - name_hash
    - flags
    - sample
    argTypes:
    - SampleTree*
    - rmtU32
    - rmtU32
    - Sample**
    constantsTouched: []
    func_position:
      end: 4224
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4224
    functionName: SampleTree_Push
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - HashCombine
    - maxU16
    - Sample_Prepare
    - ObjectAllocator_Alloc
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError SampleTree_Push(SampleTree* tree, rmtU32 name_hash,
      rmtU32 flags, Sample** sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - rmtMessageQueue*
    constantsTouched: []
    func_position:
      end: 5499
      start: 5495
    functionDepth: 0
    functionLinenumber: 5495
    functionLinenumberEnd: 5499
    functionName: rmtMessageQueue_IsEmpty
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool rmtMessageQueue_IsEmpty(rmtMessageQueue* queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bind
    argTypes:
    - rmtCUDABind*
    constantsTouched: []
    func_position:
      end: 5789
      start: 5784
    functionDepth: 0
    functionLinenumber: 5784
    functionLinenumberEnd: 5789
    functionName: _rmt_BindCUDA
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BindCUDA(const rmtCUDABind* bind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/Remotery.c:2919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - rmtU32*
    - int
    constantsTouched: []
    func_position:
      end: 2921
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2921
    functionName: getblock32
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 getblock32(const rmtU32* p, int i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:5796,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5798,1
    - Dst: CUDAEventRecord
      Src: /src/gpac/src/utils/Remotery.c:5818,1
    - Dst: ThreadSampler_GetNameHash
      Src: /src/gpac/src/utils/Remotery.c:5802,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:5811,1
    - Dst: ThreadSampler_Push
      Src: /src/gpac/src/utils/Remotery.c:5824,1
    - Dst: CUDAEventRecord
      Src: /src/gpac/src/utils/Remotery.c:5827,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - name
    - hash_cache
    - stream
    argTypes:
    - rmtPStr
    - rmtU32*
    - void*
    constantsTouched: []
    func_position:
      end: 5830
      start: 5792
    functionDepth: 0
    functionLinenumber: 5792
    functionLinenumberEnd: 5830
    functionName: _rmt_BeginCUDASample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Push
    - New_3
    - Remotery_GetThreadSampler
    - CUDAEventRecord
    - CHECK_REMOTERY
    - ThreadSampler_GetNameHash
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BeginCUDASample(rmtPStr name, rmtU32* hash_cache,
      void* stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:6438,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6441,1
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:6451,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6456,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:6443,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6459,1
    - Dst: GetD3D11SampleTimes
      Src: /src/gpac/src/utils/Remotery.c:6463,1
    - Dst: AddSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:6467,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:6468,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:6471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ts
    argTypes:
    - ThreadSampler*
    constantsTouched: []
    func_position:
      end: 6472
      start: 6434
    functionDepth: 0
    functionLinenumber: 6434
    functionLinenumberEnd: 6472
    functionName: UpdateD3D11Frame
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtMessageQueue_ConsumeNextMessage
    - rmt_EndCPUSample
    - rmt_BeginCPUSample
    - rmtMessageQueue_PeekNextMessage
    - CHECK_REMOTERY
    - AddSampleTreeMessage
    - GetD3D11SampleTimes
    linkageType: ''
    returnType: void
    signature: 'static void UpdateD3D11Frame(ThreadSampler* ts) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/Remotery.c:2302,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2303,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/Remotery.c:2319,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/Remotery.c:2323,1
    - Dst: socket
      Src: /src/gpac/src/utils/Remotery.c:2306,1
    - Dst: setsockopt
      Src: /src/gpac/src/utils/Remotery.c:2325,1
    - Dst: htonl
      Src: /src/gpac/src/utils/Remotery.c:2331,1
    - Dst: htons
      Src: /src/gpac/src/utils/Remotery.c:2332,1
    - Dst: bind
      Src: /src/gpac/src/utils/Remotery.c:2333,1
    - Dst: listen
      Src: /src/gpac/src/utils/Remotery.c:2340,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/Remotery.c:2348,1
    - Dst: ioctlsocket
      Src: /src/gpac/src/utils/Remotery.c:2345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - tcp_socket
    - port
    - reuse_open_port
    - limit_connections_to_localhost
    argTypes:
    - TCPSocket*
    - rmtU16
    - rmtBool
    - rmtBool
    constantsTouched: []
    func_position:
      end: 2353
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2353
    functionName: TCPSocket_RunServer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - htons
    - ioctlsocket
    - assert
    - memset
    - listen
    - htonl
    - bind
    - fcntl
    - socket
    - setsockopt
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError TCPSocket_RunServer(TCPSocket* tcp_socket, rmtU16
      port, rmtBool reuse_open_port, rmtBool limit_connections_to_localhost) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1076,1
    - Dst: pthread_equal
      Src: /src/gpac/src/utils/Remotery.c:1081,1
    - Dst: pthread_self
      Src: /src/gpac/src/utils/Remotery.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - thread
    argTypes:
    - rmtThread*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: rmtThread_Valid
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - pthread_equal
    - assert
    - pthread_self
    linkageType: ''
    returnType: int
    signature: 'static int rmtThread_Valid(rmtThread* thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1149,1
    - Dst: rmtThread_Join
      Src: /src/gpac/src/utils/Remotery.c:1155,1
    - Dst: rmtThread_RequestExit
      Src: /src/gpac/src/utils/Remotery.c:1154,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/Remotery.c:1160,1
    - Dst: rmtThread_Valid
      Src: /src/gpac/src/utils/Remotery.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - rmtThread*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1164
    functionName: rmtThread_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtThread_RequestExit
    - rmtThread_Join
    - assert
    - CloseHandle
    - rmtThread_Valid
    linkageType: ''
    returnType: void
    signature: 'static void rmtThread_Destructor(rmtThread* thread) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2041,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2059,1
    - Dst: rmtHashTable_Resize
      Src: /src/gpac/src/utils/Remotery.c:2069,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - rmtHashTable*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2072
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2072
    functionName: rmtHashTable_Insert
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtHashTable_Resize
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError rmtHashTable_Insert(rmtHashTable* table, rmtU32 key,
      rmtU32 value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2573,1
    - Dst: TCPSocketWouldBlock
      Src: /src/gpac/src/utils/Remotery.c:2594,1
    - Dst: recv
      Src: /src/gpac/src/utils/Remotery.c:2589,1
    - Dst: TCPSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:2576,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:2586,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:2598,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - tcp_socket
    - data
    - length
    - timeout_ms
    argTypes:
    - TCPSocket*
    - void*
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2628
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2628
    functionName: TCPSocket_Receive
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - msTimer_Get
    - assert
    - TCPSocket_PollStatus
    - recv
    - TCPSocketWouldBlock
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError TCPSocket_Receive(TCPSocket* tcp_socket, void* data,
      rmtU32 length, rmtU32 timeout_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - server
    argTypes:
    - Server*
    constantsTouched: []
    func_position:
      end: 3768
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3768
    functionName: Server_IsClientConnected
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool Server_IsClientConnected(Server* server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SampleTree_Pop
      Src: /src/gpac/src/utils/Remotery.c:4425,1
    - Dst: AddSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:4437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ts
    - queue
    - sample
    argTypes:
    - ThreadSampler*
    - rmtMessageQueue*
    - Sample*
    constantsTouched: []
    func_position:
      end: 4443
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4443
    functionName: ThreadSampler_Pop
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - SampleTree_Pop
    - AddSampleTreeMessage
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool ThreadSampler_Pop(ThreadSampler* ts, rmtMessageQueue*
      queue, Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:5160,1
    - Dst: free
      Src: /src/gpac/src/utils/Remotery.c:5161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mm_context
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5162
      start: 5158
    functionDepth: 0
    functionLinenumber: 5158
    functionLinenumberEnd: 5162
    functionName: CRTFree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - free
    - RMT_UNREFERENCED_PARAMETER
    linkageType: ''
    returnType: void
    signature: 'static void CRTFree(void* mm_context, void* ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2358,1
    - Dst: shutdown
      Src: /src/gpac/src/utils/Remotery.c:2363,1
    - Dst: closesocket
      Src: /src/gpac/src/utils/Remotery.c:2377,1
    - Dst: recv
      Src: /src/gpac/src/utils/Remotery.c:2371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - tcp_socket
    argTypes:
    - TCPSocket*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2380
    functionName: TCPSocket_Close
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - recv
    - assert
    - closesocket
    - shutdown
    linkageType: ''
    returnType: void
    signature: 'static void TCPSocket_Close(TCPSocket* tcp_socket) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:2090,1
    - Dst: rmtHashTable_Insert
      Src: /src/gpac/src/utils/Remotery.c:2105,1
    - Dst: rmtFree
      Src: /src/gpac/src/utils/Remotery.c:2108,1
    - Dst: memset
      Src: /src/gpac/src/utils/Remotery.c:2093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - table
    argTypes:
    - rmtHashTable*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2111
    functionName: rmtHashTable_Resize
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtFree
    - rmtMalloc
    - rmtHashTable_Insert
    - memset
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError rmtHashTable_Resize(rmtHashTable* table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:364,1
    - Dst: TlsAlloc
      Src: /src/gpac/src/utils/Remotery.c:368,1
    - Dst: pthread_key_create
      Src: /src/gpac/src/utils/Remotery.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rmtTLS*
    constantsTouched: []
    func_position:
      end: 386
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 386
    functionName: tlsAlloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - TlsAlloc
    - assert
    - pthread_key_create
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError tlsAlloc(rmtTLS* handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1088,1
    - Dst: pthread_self
      Src: /src/gpac/src/utils/Remotery.c:1117,1
    - Dst: pthread_create
      Src: /src/gpac/src/utils/Remotery.c:1112,1
    - Dst: CreateThread
      Src: /src/gpac/src/utils/Remotery.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - thread
    - callback
    - param
    argTypes:
    - rmtThread*
    - ThreadProc
    - void*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1124
    functionName: rmtThread_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CreateThread
    - pthread_self
    - assert
    - pthread_create
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError rmtThread_Constructor(rmtThread* thread, ThreadProc
      callback, void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3281,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:3287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 3288
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3288
    functionName: WebSocket_PrepareBuffer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Buffer_Write
    linkageType: ''
    returnType: void
    signature: 'static void WebSocket_PrepareBuffer(Buffer* buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3775,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3781,1
    - Dst: CompilerWriteFence
      Src: /src/gpac/src/utils/Remotery.c:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - server
    argTypes:
    - Server*
    constantsTouched: []
    func_position:
      end: 3782
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3782
    functionName: Server_DisconnectClient
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    - CompilerWriteFence
    linkageType: ''
    returnType: void
    signature: 'static void Server_DisconnectClient(Server* server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4456,1
    - Dst: MurmurHash3_x86_32
      Src: /src/gpac/src/utils/Remotery.c:4457,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:4457,1
    - Dst: StringTable_Insert
      Src: /src/gpac/src/utils/Remotery.c:4460,1
    - Dst: MurmurHash3_x86_32
      Src: /src/gpac/src/utils/Remotery.c:4467,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:4467,1
    - Dst: StringTable_Insert
      Src: /src/gpac/src/utils/Remotery.c:4468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ts
    - name
    - hash_cache
    argTypes:
    - ThreadSampler*
    - rmtPStr
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 4470
      start: 4446
    functionDepth: 0
    functionLinenumber: 4446
    functionLinenumberEnd: 4470
    functionName: ThreadSampler_GetNameHash
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - MurmurHash3_x86_32
    - assert
    - strnlen_s
    - StringTable_Insert
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 ThreadSampler_GetNameHash(ThreadSampler* ts, rmtPStr
      name, rmtU32* hash_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:5166,1
    - Dst: realloc
      Src: /src/gpac/src/utils/Remotery.c:5167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - mm_context
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 5168
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5168
    functionName: CRTRealloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - realloc
    - RMT_UNREFERENCED_PARAMETER
    linkageType: ''
    returnType: void*
    signature: 'static void * CRTRealloc(void* mm_context, void* ptr, rmtU32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6171,1
    - Dst: ID3D11DeviceContext_End
      Src: /src/gpac/src/utils/Remotery.c:6175,1
    - Dst: ID3D11DeviceContext_End
      Src: /src/gpac/src/utils/Remotery.c:6174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - stamp
    - context
    argTypes:
    - D3D11Timestamp*
    - ID3D11DeviceContext*
    constantsTouched: []
    func_position:
      end: 6176
      start: 6169
    functionDepth: 0
    functionLinenumber: 6169
    functionLinenumberEnd: 6176
    functionName: D3D11Timestamp_End
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ID3D11DeviceContext_End
    linkageType: ''
    returnType: void
    signature: 'static void D3D11Timestamp_End(D3D11Timestamp* stamp, ID3D11DeviceContext*
      context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6803,1
    - Dst: rmtglDeleteQueries
      Src: /src/gpac/src/utils/Remotery.c:6807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - OpenGLTimestamp*
    constantsTouched: []
    func_position:
      end: 6808
      start: 6801
    functionDepth: 0
    functionLinenumber: 6801
    functionLinenumberEnd: 6808
    functionName: OpenGLTimestamp_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtglDeleteQueries
    linkageType: ''
    returnType: void
    signature: 'static void OpenGLTimestamp_Destructor(OpenGLTimestamp* stamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7185,1
    - Dst: ObjectLink_Constructor
      Src: /src/gpac/src/utils/Remotery.c:7187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - MetalTimestamp*
    constantsTouched: []
    func_position:
      end: 7195
      start: 7183
    functionDepth: 0
    functionLinenumber: 7183
    functionLinenumberEnd: 7195
    functionName: MetalTimestamp_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectLink_Constructor
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError MetalTimestamp_Constructor(MetalTimestamp* stamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5193
      start: 5171
    functionDepth: 0
    functionLinenumber: 5171
    functionLinenumberEnd: 5193
    functionName: _rmt_Settings
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RMT_API*
    signature: 'RMT_API rmtSettings * _rmt_Settings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6278,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6284,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6282,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - device
    - context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 6288
      start: 6273
    functionDepth: 0
    functionLinenumber: 6273
    functionLinenumberEnd: 6288
    functionName: _rmt_BindD3D11
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_GetThreadSampler
    - assert
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BindD3D11(void* device, void* context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompilerReadFence
      Src: /src/gpac/src/utils/Remotery.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: LoadAcquire
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CompilerReadFence
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 LoadAcquire(rmtU32* volatile address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5201,1
    - Dst: rmt_Settings
      Src: /src/gpac/src/utils/Remotery.c:5204,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:5208,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - remotery
    argTypes:
    - Remotery**
    constantsTouched: []
    func_position:
      end: 5210
      start: 5196
    functionDepth: 0
    functionLinenumber: 5196
    functionLinenumberEnd: 5210
    functionName: _rmt_CreateGlobalInstance
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_0
    - assert
    - rmt_Settings
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API rmtError _rmt_CreateGlobalInstance(Remotery** remotery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6638
      start: 6628
    functionDepth: 0
    functionLinenumber: 6628
    functionLinenumberEnd: 6638
    functionName: rmtglGetError
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: GLenum
    signature: 'static GLenum rmtglGetError(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash_a
    - hash_b
    argTypes:
    - rmtU32
    - rmtU32
    constantsTouched: []
    func_position:
      end: 4154
      start: 4145
    functionDepth: 0
    functionLinenumber: 4145
    functionLinenumberEnd: 4154
    functionName: HashCombine
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 HashCombine(rmtU32 hash_a, rmtU32 hash_b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7014,1
    - Dst: SyncOpenGLCpuGpuTimes
      Src: /src/gpac/src/utils/Remotery.c:7024,1
    - Dst: GetOpenGLSampleTimes
      Src: /src/gpac/src/utils/Remotery.c:7037,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7017,1
    - Dst: OpenGLTimestamp_GetData
      Src: /src/gpac/src/utils/Remotery.c:7028,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - sample
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - Sample*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 7042
      start: 7008
    functionDepth: 0
    functionLinenumber: 7008
    functionLinenumberEnd: 7042
    functionName: GetOpenGLSampleTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - SyncOpenGLCpuGpuTimes
    - GetOpenGLSampleTimes
    - assert
    - OpenGLTimestamp_GetData
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool GetOpenGLSampleTimes(Sample* sample, rmtU64* out_first_timestamp,
      rmtU64* out_last_resync) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryA
      Src: /src/gpac/src/utils/Remotery.c:189,1
    - Dst: dlopen
      Src: /src/gpac/src/utils/Remotery.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: rmtLoadLibrary
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - LoadLibraryA
    - dlopen
    linkageType: ''
    returnType: void*
    signature: 'static void * rmtLoadLibrary(const char* path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _WriteBarrier
      Src: /src/gpac/src/utils/Remotery.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: CompilerWriteFence
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - _WriteBarrier
    linkageType: ''
    returnType: void
    signature: 'static void CompilerWriteFence() '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gpac/src/utils/Remotery.c:745,1
    - Dst: VirtualAlloc2FromApp
      Src: /src/gpac/src/utils/Remotery.c:821,1
    - Dst: FreeTitlePhysicalPages
      Src: /src/gpac/src/utils/Remotery.c:769,1
    - Dst: VirtualAlloc
      Src: /src/gpac/src/utils/Remotery.c:796,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/Remotery.c:834,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/Remotery.c:883,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/Remotery.c:906,1
    - Dst: ashmem_create_region
      Src: /src/gpac/src/utils/Remotery.c:933,1
    - Dst: mmap
      Src: /src/gpac/src/utils/Remotery.c:962,1
    - Dst: mmap
      Src: /src/gpac/src/utils/Remotery.c:963,1
    - Dst: GetCurrentProcess
      Src: /src/gpac/src/utils/Remotery.c:743,1
    - Dst: VirtualFree
      Src: /src/gpac/src/utils/Remotery.c:824,1
    - Dst: MapViewOfFile3FromApp
      Src: /src/gpac/src/utils/Remotery.c:828,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/Remotery.c:885,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:885,1
    - Dst: vm_remap
      Src: /src/gpac/src/utils/Remotery.c:890,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:896,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/Remotery.c:920,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:920,1
    - Dst: mkstemp
      Src: /src/gpac/src/utils/Remotery.c:939,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:906,1
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:700,1
    - Dst: malloc
      Src: /src/gpac/src/utils/Remotery.c:736,1
    - Dst: free
      Src: /src/gpac/src/utils/Remotery.c:734,1
    - Dst: VirtualFree
      Src: /src/gpac/src/utils/Remotery.c:758,1
    - Dst: MapTitlePhysicalPages
      Src: /src/gpac/src/utils/Remotery.c:762,1
    - Dst: GetCurrentProcess
      Src: /src/gpac/src/utils/Remotery.c:769,1
    - Dst: MapViewOfFileEx
      Src: /src/gpac/src/utils/Remotery.c:806,1
    - Dst: vm_allocate
      Src: /src/gpac/src/utils/Remotery.c:878,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:878,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:883,1
    - Dst: AllocateTitlePhysicalPages
      Src: /src/gpac/src/utils/Remotery.c:743,1
    - Dst: VirtualAlloc
      Src: /src/gpac/src/utils/Remotery.c:751,1
    - Dst: MapTitlePhysicalPages
      Src: /src/gpac/src/utils/Remotery.c:761,1
    - Dst: CreateFileMapping
      Src: /src/gpac/src/utils/Remotery.c:782,1
    - Dst: MapViewOfFileEx
      Src: /src/gpac/src/utils/Remotery.c:807,1
    - Dst: VirtualFree
      Src: /src/gpac/src/utils/Remotery.c:803,1
    - Dst: MapViewOfFile3FromApp
      Src: /src/gpac/src/utils/Remotery.c:827,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:891,1
    - Dst: unlink
      Src: /src/gpac/src/utils/Remotery.c:944,1
    - Dst: mmap
      Src: /src/gpac/src/utils/Remotery.c:954,1
    - Dst: ftruncate
      Src: /src/gpac/src/utils/Remotery.c:949,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 142
    argCount: 3
    argNames:
    - buffer
    - size
    - nb_attempts
    argTypes:
    - VirtualMirrorBuffer*
    - rmtU32
    - int
    constantsTouched: []
    func_position:
      end: 973
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 973
    functionName: VirtualMirrorBuffer_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - mach_task_self
    - malloc
    - free
    - AllocateTitlePhysicalPages
    - VirtualFree
    - ashmem_create_region
    - vm_deallocate
    - VirtualAlloc2FromApp
    - RMT_UNREFERENCED_PARAMETER
    - MapViewOfFileEx
    - unlink
    - vm_remap
    - GetCurrentProcess
    - VirtualAlloc
    - mkstemp
    - MapTitlePhysicalPages
    - ftruncate
    - vm_allocate
    - mmap
    - MapViewOfFile3FromApp
    - CloseHandle
    - FreeTitlePhysicalPages
    - CreateFileMapping
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError VirtualMirrorBuffer_Constructor(VirtualMirrorBuffer*
      buffer, rmtU32 size, int nb_attempts) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1351,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1359,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1363,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1355,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1367,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1379,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1385,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1391,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1399,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1404,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1440,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1426,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1432,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1458,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1445,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 4
    argNames:
    - dest
    - dmax
    - src
    - slen
    argTypes:
    - char*
    - r_size_t
    - char*
    - r_size_t
    constantsTouched: []
    func_position:
      end: 1459
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1459
    functionName: strncat_s
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - RCNEGATE
    linkageType: ''
    returnType: errno_t
    signature: 'static errno_t strncat_s (char *dest, r_size_t dmax, const char *src,
      r_size_t slen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/gpac/src/utils/Remotery.c:2273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2275
    functionName: ShutdownNetwork
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: 'static void ShutdownNetwork() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2854
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2854
    functionName: Base64_CalculateEncodedLength
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 Base64_CalculateEncodedLength(rmtU32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3988,1
    - Dst: ObjectLink_Constructor
      Src: /src/gpac/src/utils/Remotery.c:3990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample*
    constantsTouched: []
    func_position:
      end: 4013
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 4013
    functionName: Sample_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectLink_Constructor
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Sample_Constructor(Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5216,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5217,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5218,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - remotery
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 5220
      start: 5213
    functionDepth: 0
    functionLinenumber: 5213
    functionLinenumberEnd: 5220
    functionName: _rmt_DestroyGlobalInstance
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_DestroyGlobalInstance(Remotery* remotery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/gpac/src/utils/Remotery.c:200,1
    - Dst: dlclose
      Src: /src/gpac/src/utils/Remotery.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: rmtFreeLibrary
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - dlclose
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: 'static void rmtFreeLibrary(void* handle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:978,1
    - Dst: free
      Src: /src/gpac/src/utils/Remotery.c:986,1
    - Dst: GetCurrentProcess
      Src: /src/gpac/src/utils/Remotery.c:985,1
    - Dst: FreeTitlePhysicalPages
      Src: /src/gpac/src/utils/Remotery.c:985,1
    - Dst: VirtualFree
      Src: /src/gpac/src/utils/Remotery.c:984,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/Remotery.c:995,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/Remotery.c:1003,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/Remotery.c:1003,1
    - Dst: munmap
      Src: /src/gpac/src/utils/Remotery.c:1008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - VirtualMirrorBuffer*
    constantsTouched: []
    func_position:
      end: 1012
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1012
    functionName: VirtualMirrorBuffer_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - VirtualFree
    - assert
    - munmap
    - vm_deallocate
    - CloseHandle
    - mach_task_self
    - FreeTitlePhysicalPages
    - free
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: 'static void VirtualMirrorBuffer_Destructor(VirtualMirrorBuffer* buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1070
    functionName: StartFunc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void*
    signature: 'static void * StartFunc( void* pArgs ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1468,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1485,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1472,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1476,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1481,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1493,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1498,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1512,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1517,1
    - Dst: RCNEGATE
      Src: /src/gpac/src/utils/Remotery.c:1530,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - dest
    - dmax
    - src
    argTypes:
    - char*
    - r_size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1531
    functionName: strcpy_s
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - RCNEGATE
    linkageType: ''
    returnType: errno_t
    signature: 'errno_t strcpy_s(char *dest, r_size_t dmax, const char *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base64_CalculateEncodedLength
      Src: /src/gpac/src/utils/Remotery.c:2881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - in_bytes
    - length
    - out_bytes
    argTypes:
    - rmtU8*
    - rmtU32
    - rmtU8*
    constantsTouched: []
    func_position:
      end: 2888
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2888
    functionName: Base64_Encode
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Base64_CalculateEncodedLength
    linkageType: ''
    returnType: void
    signature: 'static void Base64_Encode(const rmtU8* in_bytes, rmtU32 length, rmtU8*
      out_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:3722,1
    - Dst: WebSocket_RunServer
      Src: /src/gpac/src/utils/Remotery.c:3724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - server
    - port
    - reuse_open_port
    - limit_connections_to_localhost
    argTypes:
    - Server*
    - rmtU16
    - rmtBool
    - rmtBool
    constantsTouched: []
    func_position:
      end: 3727
      start: 3718
    functionDepth: 0
    functionLinenumber: 3718
    functionLinenumberEnd: 3727
    functionName: Server_CreateListenSocket
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WebSocket_RunServer
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Server_CreateListenSocket(Server* server, rmtU16 port,
      rmtBool reuse_open_port, rmtBool limit_connections_to_localhost) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:4018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample*
    constantsTouched: []
    func_position:
      end: 4019
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4019
    functionName: Sample_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - RMT_UNREFERENCED_PARAMETER
    linkageType: ''
    returnType: void
    signature: 'static void Sample_Destructor(Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rmt_Settings
      Src: /src/gpac/src/utils/Remotery.c:5226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - remotery
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 5229
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5229
    functionName: _rmt_SetGlobalInstance
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmt_Settings
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_SetGlobalInstance(Remotery* remotery) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3836,1
    - Dst: Server_CreateListenSocket
      Src: /src/gpac/src/utils/Remotery.c:3840,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3855,1
    - Dst: WebSocket_AcceptConnection
      Src: /src/gpac/src/utils/Remotery.c:3846,1
    - Dst: WebSocket_Receive
      Src: /src/gpac/src/utils/Remotery.c:3867,1
    - Dst: Server_ReceiveMessage
      Src: /src/gpac/src/utils/Remotery.c:3871,1
    - Dst: Server_DisconnectClient
      Src: /src/gpac/src/utils/Remotery.c:3874,1
    - Dst: Server_DisconnectClient
      Src: /src/gpac/src/utils/Remotery.c:3896,1
    - Dst: msTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:3902,1
    - Dst: WebSocket_PrepareBuffer
      Src: /src/gpac/src/utils/Remotery.c:3906,1
    - Dst: Buffer_WriteStringZ
      Src: /src/gpac/src/utils/Remotery.c:3907,1
    - Dst: Server_Send
      Src: /src/gpac/src/utils/Remotery.c:3908,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - server
    argTypes:
    - Server*
    constantsTouched: []
    func_position:
      end: 3911
      start: 3832
    functionDepth: 0
    functionLinenumber: 3832
    functionLinenumberEnd: 3911
    functionName: Server_Update
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - msTimer_Get
    - assert
    - WebSocket_PrepareBuffer
    - Server_Send
    - Server_DisconnectClient
    - WebSocket_AcceptConnection
    - Delete
    - Buffer_WriteStringZ
    - Server_CreateListenSocket
    - Server_ReceiveMessage
    - WebSocket_Receive
    linkageType: ''
    returnType: void
    signature: 'static void Server_Update(Server* server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rmtMessageQueue_SizeForPayload
      Src: /src/gpac/src/utils/Remotery.c:5535,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:5536,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - rmt
    - message
    argTypes:
    - Remotery*
    - Message*
    constantsTouched: []
    func_position:
      end: 5542
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5542
    functionName: GatherQueuedSamples
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Buffer_Write
    - rmtMessageQueue_SizeForPayload
    linkageType: ''
    returnType: void
    signature: 'static void GatherQueuedSamples(Remotery* rmt, Message* message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5675,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5677,1
    - Dst: EventQuery
      Src: /src/gpac/src/utils/Remotery.c:5677,1
    - Dst: CUDAEnsureContext
      Src: /src/gpac/src/utils/Remotery.c:5676,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hEvent
    argTypes:
    - CUevent
    constantsTouched: []
    func_position:
      end: 5678
      start: 5673
    functionDepth: 0
    functionLinenumber: 5673
    functionLinenumberEnd: 5678
    functionName: CUDAEventQuery
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - EventQuery
    - CUDA_MAKE_FUNCTION
    - MapCUDAResult
    - CUDA_GUARD
    - CUDAEnsureContext
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEventQuery(CUevent hEvent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2161,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:2171,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:2167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - table
    argTypes:
    - StringTable*
    constantsTouched: []
    func_position:
      end: 2176
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2176
    functionName: StringTable_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError StringTable_Constructor(StringTable* table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:391,1
    - Dst: pthread_key_delete
      Src: /src/gpac/src/utils/Remotery.c:399,1
    - Dst: TlsFree
      Src: /src/gpac/src/utils/Remotery.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rmtTLS
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: tlsFree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - pthread_key_delete
    - assert
    - TlsFree
    linkageType: ''
    returnType: void
    signature: 'static void tlsFree(rmtTLS handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - steps
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2689
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2689
    functionName: rol
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int rol(const unsigned int value, const unsigned int
      steps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2933
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2933
    functionName: fmix32
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 fmix32(rmtU32 h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3298
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3298
    functionName: WebSocket_FrameHeaderSize
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 WebSocket_FrameHeaderSize(rmtU32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6254,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:6260,1
    - Dst: Sample_Constructor
      Src: /src/gpac/src/utils/Remotery.c:6257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sample
    argTypes:
    - D3D11Sample*
    constantsTouched: []
    func_position:
      end: 6263
      start: 6250
    functionDepth: 0
    functionLinenumber: 6250
    functionLinenumberEnd: 6263
    functionName: D3D11Sample_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Constructor
    - New_0
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError D3D11Sample_Constructor(D3D11Sample* sample) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6939,1
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:6948,1
    - Dst: rmtMessageQueue_IsEmpty
      Src: /src/gpac/src/utils/Remotery.c:6942,1
    - Dst: UpdateOpenGLFrame
      Src: /src/gpac/src/utils/Remotery.c:6944,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:6952,1
    - Dst: FreePendingSampleTrees
      Src: /src/gpac/src/utils/Remotery.c:6956,1
    - Dst: Remotery_DeleteSampleTree
      Src: /src/gpac/src/utils/Remotery.c:6960,1
    - Dst: rmtFreeLibrary
      Src: /src/gpac/src/utils/Remotery.c:6965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6969
      start: 6934
    functionDepth: 0
    functionLinenumber: 6934
    functionLinenumberEnd: 6969
    functionName: _rmt_UnbindOpenGL
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_DeleteSampleTree
    - assert
    - rmtMessageQueue_ConsumeNextMessage
    - rmtMessageQueue_IsEmpty
    - rmtMessageQueue_PeekNextMessage
    - FreePendingSampleTrees
    - UpdateOpenGLFrame
    - rmtFreeLibrary
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_UnbindOpenGL(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - enable
    argTypes:
    - rmtBool
    constantsTouched: []
    func_position:
      end: 7440
      start: 7436
    functionDepth: 0
    functionLinenumber: 7436
    functionLinenumberEnd: 7440
    functionName: _rmt_EnableSampling
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EnableSampling(rmtBool enable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:407,1
    - Dst: TlsSetValue
      Src: /src/gpac/src/utils/Remotery.c:411,1
    - Dst: pthread_setspecific
      Src: /src/gpac/src/utils/Remotery.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - rmtTLS
    - void*
    constantsTouched: []
    func_position:
      end: 418
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 418
    functionName: tlsSet
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - pthread_setspecific
    - assert
    - TlsSetValue
    linkageType: ''
    returnType: void
    signature: 'static void tlsSet(rmtTLS handle, void* value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:2181,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:2183,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - StringTable*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2185
    functionName: StringTable_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void StringTable_Destructor(StringTable* table) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getblock32
      Src: /src/gpac/src/utils/Remotery.c:2958,1
    - Dst: rotl32
      Src: /src/gpac/src/utils/Remotery.c:2965,1
    - Dst: rotl32
      Src: /src/gpac/src/utils/Remotery.c:2978,1
    - Dst: fmix32
      Src: /src/gpac/src/utils/Remotery.c:2988,1
    - Dst: rotl32
      Src: /src/gpac/src/utils/Remotery.c:2961,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - int
    - rmtU32
    constantsTouched: []
    func_position:
      end: 2991
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2991
    functionName: MurmurHash3_x86_32
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - fmix32
    - getblock32
    - rotl32
    linkageType: ''
    returnType: rmtU32
    signature: 'static rmtU32 MurmurHash3_x86_32(const void* key, int len, rmtU32
      seed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteSize
      Src: /src/gpac/src/utils/Remotery.c:3316,1
    - Dst: WriteSize
      Src: /src/gpac/src/utils/Remotery.c:3321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - web_socket
    - dest
    - length
    argTypes:
    - WebSocket*
    - rmtU8*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 3323
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3323
    functionName: WebSocket_WriteFrameHeader
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WriteSize
    linkageType: ''
    returnType: void
    signature: 'static void WebSocket_WriteFrameHeader(WebSocket* web_socket, rmtU8*
      dest, rmtU32 length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4355,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:4374,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:4373,1
    - Dst: prctl
      Src: /src/gpac/src/utils/Remotery.c:4369,1
    - Dst: itoahex_s
      Src: /src/gpac/src/utils/Remotery.c:4374,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:4380,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:4385,1
    - Dst: D3D11_Create
      Src: /src/gpac/src/utils/Remotery.c:4390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - thread_sampler
    argTypes:
    - ThreadSampler*
    constantsTouched: []
    func_position:
      end: 4396
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4396
    functionName: ThreadSampler_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_0
    - strncat_s
    - assert
    - prctl
    - New_3
    - itoahex_s
    - D3D11_Create
    - AtomicAdd
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError ThreadSampler_Constructor(ThreadSampler* thread_sampler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:6268,1
    - Dst: Sample_Destructor
      Src: /src/gpac/src/utils/Remotery.c:6269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - D3D11Sample*
    constantsTouched: []
    func_position:
      end: 6270
      start: 6266
    functionDepth: 0
    functionLinenumber: 6266
    functionLinenumberEnd: 6270
    functionName: D3D11Sample_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Destructor
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void D3D11Sample_Destructor(D3D11Sample* sample) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:6976,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:6990,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:6979,1
    - Dst: ThreadSampler_GetNameHash
      Src: /src/gpac/src/utils/Remotery.c:6982,1
    - Dst: ThreadSampler_Push
      Src: /src/gpac/src/utils/Remotery.c:6996,1
    - Dst: OpenGLTimestamp_Begin
      Src: /src/gpac/src/utils/Remotery.c:6999,1
    - Dst: rmtglGetError
      Src: /src/gpac/src/utils/Remotery.c:7002,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - name
    - hash_cache
    argTypes:
    - rmtPStr
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 7005
      start: 6972
    functionDepth: 0
    functionLinenumber: 6972
    functionLinenumberEnd: 7005
    functionName: _rmt_BeginOpenGLSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Push
    - New_3
    - Remotery_GetThreadSampler
    - OpenGLTimestamp_Begin
    - rmtglGetError
    - CHECK_REMOTERY
    - ThreadSampler_GetNameHash
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BeginOpenGLSample(rmtPStr name, rmtU32* hash_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rmtU8
    - rmtU8
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: minU8
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU8
    signature: 'static rmtU8 minU8(rmtU8 a, rmtU8 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:279,1
    - Dst: mach_timebase_info
      Src: /src/gpac/src/utils/Remotery.c:291,1
    - Dst: QueryPerformanceFrequency
      Src: /src/gpac/src/utils/Remotery.c:282,1
    - Dst: mach_absolute_time
      Src: /src/gpac/src/utils/Remotery.c:295,1
    - Dst: QueryPerformanceCounter
      Src: /src/gpac/src/utils/Remotery.c:286,1
    - Dst: clock_gettime
      Src: /src/gpac/src/utils/Remotery.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - timer
    argTypes:
    - usTimer*
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: usTimer_Init
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - mach_timebase_info
    - mach_absolute_time
    - QueryPerformanceFrequency
    - clock_gettime
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: 'static void usTimer_Init(usTimer* timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ReadBarrier
      Src: /src/gpac/src/utils/Remotery.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 514
    functionName: CompilerReadFence
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - _ReadBarrier
    linkageType: ''
    returnType: void
    signature: 'static void CompilerReadFence() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompilerReadFence
      Src: /src/gpac/src/utils/Remotery.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - long**
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: LoadAcquirePointer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CompilerReadFence
    linkageType: ''
    returnType: long*
    signature: 'static long * LoadAcquirePointer(long* volatile* ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - rmtThread*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: rmtThread_RequestExit
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void rmtThread_RequestExit(rmtThread* thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1macro
      Src: /src/gpac/src/utils/Remotery.c:2725,1
    - Dst: rol
      Src: /src/gpac/src/utils/Remotery.c:2730,1
    - Dst: sha1macro
      Src: /src/gpac/src/utils/Remotery.c:2737,1
    - Dst: rol
      Src: /src/gpac/src/utils/Remotery.c:2736,1
    - Dst: sha1macro
      Src: /src/gpac/src/utils/Remotery.c:2731,1
    - Dst: rol
      Src: /src/gpac/src/utils/Remotery.c:2742,1
    - Dst: sha1macro
      Src: /src/gpac/src/utils/Remotery.c:2743,1
    - Dst: rol
      Src: /src/gpac/src/utils/Remotery.c:2748,1
    - Dst: sha1macro
      Src: /src/gpac/src/utils/Remotery.c:2749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 2
    argNames:
    - result
    - w
    argTypes:
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2760
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2760
    functionName: innerHash
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - sha1macro
    - rol
    linkageType: ''
    returnType: void
    signature: 'static void innerHash(unsigned int* result, unsigned int* w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3625,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3628,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:3628,1
    - Dst: StoreRelease
      Src: /src/gpac/src/utils/Remotery.c:3629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - message
    - id
    argTypes:
    - Message*
    - MessageID
    constantsTouched: []
    func_position:
      end: 3630
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3630
    functionName: rmtMessageQueue_CommitMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - StoreRelease
    - assert
    - LoadAcquire
    linkageType: ''
    returnType: void
    signature: 'static void rmtMessageQueue_CommitMessage(Message* message, MessageID
      id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3664,1
    - Dst: StoreRelease
      Src: /src/gpac/src/utils/Remotery.c:3681,1
    - Dst: rmtMessageQueue_SizeForPayload
      Src: /src/gpac/src/utils/Remotery.c:3676,1
    - Dst: memset
      Src: /src/gpac/src/utils/Remotery.c:3677,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - queue
    - message
    argTypes:
    - rmtMessageQueue*
    - Message*
    constantsTouched: []
    func_position:
      end: 3682
      start: 3660
    functionDepth: 0
    functionLinenumber: 3660
    functionLinenumberEnd: 3682
    functionName: rmtMessageQueue_ConsumeNextMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - StoreRelease
    - assert
    - memset
    - rmtMessageQueue_SizeForPayload
    linkageType: ''
    returnType: void
    signature: 'static void rmtMessageQueue_ConsumeNextMessage(rmtMessageQueue* queue,
      Message* message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rmtU16
    - rmtU16
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: maxU16
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtU16
    signature: 'static rmtU16 maxU16(rmtU16 a, rmtU16 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:312,1
    - Dst: mach_absolute_time
      Src: /src/gpac/src/utils/Remotery.c:320,1
    - Dst: QueryPerformanceCounter
      Src: /src/gpac/src/utils/Remotery.c:315,1
    - Dst: clock_gettime
      Src: /src/gpac/src/utils/Remotery.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - timer
    argTypes:
    - usTimer*
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: usTimer_Get
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    - assert
    - mach_absolute_time
    - clock_gettime
    linkageType: ''
    returnType: rmtU64
    signature: 'static rmtU64 usTimer_Get(usTimer* timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompilerWriteFence
      Src: /src/gpac/src/utils/Remotery.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - address
    - value
    argTypes:
    - rmtU32*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: StoreRelease
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CompilerWriteFence
    linkageType: ''
    returnType: void
    signature: 'static void StoreRelease(rmtU32* volatile address, rmtU32 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1137,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/Remotery.c:1140,1
    - Dst: pthread_join
      Src: /src/gpac/src/utils/Remotery.c:1142,1
    - Dst: rmtThread_Valid
      Src: /src/gpac/src/utils/Remotery.c:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - rmtThread*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1144
    functionName: rmtThread_Join
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - pthread_join
    - assert
    - rmtThread_Valid
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: 'static void rmtThread_Join(rmtThread* thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: innerHash
      Src: /src/gpac/src/utils/Remotery.c:2796,1
    - Dst: clearWBuffert
      Src: /src/gpac/src/utils/Remotery.c:2811,1
    - Dst: clearWBuffert
      Src: /src/gpac/src/utils/Remotery.c:2801,1
    - Dst: innerHash
      Src: /src/gpac/src/utils/Remotery.c:2810,1
    - Dst: innerHash
      Src: /src/gpac/src/utils/Remotery.c:2814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 3
    argNames:
    - src
    - bytelength
    - hash
    argTypes:
    - void*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2821
    functionName: calc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - innerHash
    - clearWBuffert
    linkageType: ''
    returnType: void
    signature: 'static void calc(const void* src, const int bytelength, unsigned char*
      hash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3639,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:3642,1
    - Dst: LoadAcquire
      Src: /src/gpac/src/utils/Remotery.c:3652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - queue
    argTypes:
    - rmtMessageQueue*
    constantsTouched: []
    func_position:
      end: 3657
      start: 3633
    functionDepth: 0
    functionLinenumber: 3633
    functionLinenumberEnd: 3657
    functionName: rmtMessageQueue_PeekNextMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - LoadAcquire
    linkageType: ''
    returnType: Message*
    signature: 'Message * rmtMessageQueue_PeekNextMessage(rmtMessageQueue* queue) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4967,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:5005,1
    - Dst: usTimer_Init
      Src: /src/gpac/src/utils/Remotery.c:4997,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:5014,1
    - Dst: tlsAlloc
      Src: /src/gpac/src/utils/Remotery.c:5000,1
    - Dst: OpenGL_Create
      Src: /src/gpac/src/utils/Remotery.c:5019,1
    - Dst: Metal_Create
      Src: /src/gpac/src/utils/Remotery.c:5025,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5031,1
    - Dst: CompilerWriteFence
      Src: /src/gpac/src/utils/Remotery.c:5036,1
    - Dst: New_2
      Src: /src/gpac/src/utils/Remotery.c:5039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 5041
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 5041
    functionName: Remotery_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_2
    - assert
    - tlsAlloc
    - New_1
    - Metal_Create
    - New_3
    - OpenGL_Create
    - usTimer_Init
    - CompilerWriteFence
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_Constructor(Remotery* rmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RaiseException
      Src: /src/gpac/src/utils/Remotery.c:5262,1
    - Dst: pthread_set_name_np
      Src: /src/gpac/src/utils/Remotery.c:5278,1
    - Dst: pthread_self
      Src: /src/gpac/src/utils/Remotery.c:5278,1
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:5269,1
    - Dst: strncat_s
      Src: /src/gpac/src/utils/Remotery.c:5276,1
    - Dst: prctl
      Src: /src/gpac/src/utils/Remotery.c:5280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5283
      start: 5250
    functionDepth: 0
    functionLinenumber: 5250
    functionLinenumberEnd: 5283
    functionName: SetDebuggerThreadName
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - strncat_s
    - RaiseException
    - pthread_self
    - prctl
    - RMT_UNREFERENCED_PARAMETER
    - pthread_set_name_np
    linkageType: ''
    returnType: void
    signature: 'static void SetDebuggerThreadName(const char* name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicCompareAndSwapPointer
      Src: /src/gpac/src/utils/Remotery.c:5511,1
    - Dst: LoadAcquirePointer
      Src: /src/gpac/src/utils/Remotery.c:5517,1
    - Dst: msSleep
      Src: /src/gpac/src/utils/Remotery.c:5518,1
    - Dst: StoreReleasePointer
      Src: /src/gpac/src/utils/Remotery.c:5514,1
    - Dst: msSleep
      Src: /src/gpac/src/utils/Remotery.c:5512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - rmt
    - (*map_message_queue_fn)
    - data
    argTypes:
    - Remotery*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 5519
      start: 5508
    functionDepth: 0
    functionLinenumber: 5508
    functionLinenumberEnd: 5519
    functionName: MapMessageQueueAndWait
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - LoadAcquirePointer
    - StoreReleasePointer
    - msSleep
    - AtomicCompareAndSwapPointer
    linkageType: ''
    returnType: void
    signature: 'static void MapMessageQueueAndWait(Remotery* rmt, void (*map_message_queue_fn)(Remotery*rmt,
      Message*), void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUDA_MAKE_FUNCTION
      Src: /src/gpac/src/utils/Remotery.c:5681,1
    - Dst: EventElapsedTime
      Src: /src/gpac/src/utils/Remotery.c:5683,1
    - Dst: MapCUDAResult
      Src: /src/gpac/src/utils/Remotery.c:5683,1
    - Dst: CUDA_GUARD
      Src: /src/gpac/src/utils/Remotery.c:5682,1
    - Dst: CUDAEnsureContext
      Src: /src/gpac/src/utils/Remotery.c:5682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pMilliseconds
    - hStart
    - hEnd
    argTypes:
    - float*
    - CUevent
    - CUevent
    constantsTouched: []
    func_position:
      end: 5684
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5684
    functionName: CUDAEventElapsedTime
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - EventElapsedTime
    - CUDA_MAKE_FUNCTION
    - MapCUDAResult
    - CUDA_GUARD
    - CUDAEnsureContext
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDAEventElapsedTime(float* pMilliseconds, CUevent
      hStart, CUevent hEnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7237,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - stamp
    - out_start
    - out_end
    argTypes:
    - MetalTimestamp*
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 7248
      start: 7235
    functionDepth: 0
    functionLinenumber: 7235
    functionLinenumberEnd: 7248
    functionName: MetalTimestamp_GetData
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool MetalTimestamp_GetData(MetalTimestamp* stamp, rmtU64*
      out_start, rmtU64* out_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - buffert
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2701
    functionName: clearWBuffert
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clearWBuffert(unsigned int* buffert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6778,1
    - Dst: ObjectLink_Constructor
      Src: /src/gpac/src/utils/Remotery.c:6780,1
    - Dst: rmtglGenQueries
      Src: /src/gpac/src/utils/Remotery.c:6792,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6791,1
    - Dst: rmtglGetError
      Src: /src/gpac/src/utils/Remotery.c:6787,1
    - Dst: rmtglGetError
      Src: /src/gpac/src/utils/Remotery.c:6793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - OpenGLTimestamp*
    constantsTouched: []
    func_position:
      end: 6798
      start: 6774
    functionDepth: 0
    functionLinenumber: 6774
    functionLinenumberEnd: 6798
    functionName: OpenGLTimestamp_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectLink_Constructor
    - rmtglGetError
    - rmtglGenQueries
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError OpenGLTimestamp_Constructor(OpenGLTimestamp* stamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/gpac/src/utils/Remotery.c:336,1
    - Dst: usleep
      Src: /src/gpac/src/utils/Remotery.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - time_ms
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: msSleep
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sleep
    - usleep
    linkageType: ''
    returnType: void
    signature: 'static void msSleep(rmtU32 time_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:423,1
    - Dst: TlsGetValue
      Src: /src/gpac/src/utils/Remotery.c:427,1
    - Dst: pthread_getspecific
      Src: /src/gpac/src/utils/Remotery.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rmtTLS
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: tlsGet
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    - assert
    - TlsGetValue
    linkageType: ''
    returnType: void*
    signature: 'static void * tlsGet(rmtTLS handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - sub
    argTypes:
    - rmtS32*
    - rmtS32
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: AtomicSub
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - AtomicAdd
    linkageType: ''
    returnType: void
    signature: 'static void AtomicSub(rmtS32 volatile* value, rmtS32 sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3220,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - web_socket
    argTypes:
    - WebSocket*
    constantsTouched: []
    func_position:
      end: 3222
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3222
    functionName: WebSocket_Close
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void WebSocket_Close(WebSocket* web_socket) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4737,1
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:4747,1
    - Dst: Remotery_SendLogTextMessage
      Src: /src/gpac/src/utils/Remotery.c:4761,1
    - Dst: Server_IsClientConnected
      Src: /src/gpac/src/utils/Remotery.c:4740,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4755,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4764,1
    - Dst: Remotery_SendSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:4765,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4766,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:4774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 4780
      start: 4732
    functionDepth: 0
    functionLinenumber: 4732
    functionLinenumberEnd: 4780
    functionName: Remotery_ConsumeMessageQueue
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Server_IsClientConnected
    - assert
    - rmtMessageQueue_ConsumeNextMessage
    - Remotery_SendLogTextMessage
    - rmt_EndCPUSample
    - rmt_BeginCPUSample
    - rmtMessageQueue_PeekNextMessage
    - Remotery_SendSampleTreeMessage
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_ConsumeMessageQueue(Remotery* rmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7343,1
    - Dst: GetMetalSampleTimes
      Src: /src/gpac/src/utils/Remotery.c:7355,1
    - Dst: MetalTimestamp_GetData
      Src: /src/gpac/src/utils/Remotery.c:7346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample*
    constantsTouched: []
    func_position:
      end: 7360
      start: 7337
    functionDepth: 0
    functionLinenumber: 7337
    functionLinenumberEnd: 7360
    functionName: GetMetalSampleTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - MetalTimestamp_GetData
    - assert
    - GetMetalSampleTimes
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool GetMetalSampleTimes(Sample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/gpac/src/utils/Remotery.c:2474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2481
    functionName: TCPSocketWouldBlock
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: 'static int TCPSocketWouldBlock() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3227,1
    - Dst: TCPSocket_PollStatus
      Src: /src/gpac/src/utils/Remotery.c:3228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - web_socket
    argTypes:
    - WebSocket*
    constantsTouched: []
    func_position:
      end: 3229
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3229
    functionName: WebSocket_PollStatus
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - TCPSocket_PollStatus
    linkageType: ''
    returnType: SocketStatus
    signature: 'static SocketStatus WebSocket_PollStatus(WebSocket* web_socket) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4785,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:4813,1
    - Dst: FreeSampleTree
      Src: /src/gpac/src/utils/Remotery.c:4805,1
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:4790,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 4815
      start: 4783
    functionDepth: 0
    functionLinenumber: 4783
    functionLinenumberEnd: 4815
    functionName: Remotery_FlushMessageQueue
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - FreeSampleTree
    - assert
    - rmtMessageQueue_PeekNextMessage
    - rmtMessageQueue_ConsumeNextMessage
    linkageType: ''
    returnType: void
    signature: 'static void Remotery_FlushMessageQueue(Remotery* rmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5482,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5483,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - rmt
    - sample_type
    argTypes:
    - Remotery*
    - enum SampleType
    constantsTouched: []
    func_position:
      end: 5492
      start: 5477
    functionDepth: 0
    functionLinenumber: 5477
    functionLinenumberEnd: 5492
    functionName: Remotery_DeleteSampleTree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Remotery_GetThreadSampler
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void Remotery_DeleteSampleTree(Remotery* rmt, enum SampleType
      sample_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:7380,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7370,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7385,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:7372,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7388,1
    - Dst: GetMetalSampleTimes
      Src: /src/gpac/src/utils/Remotery.c:7392,1
    - Dst: AddSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:7396,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:7397,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:7400,1
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:7367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 7401
      start: 7363
    functionDepth: 0
    functionLinenumber: 7363
    functionLinenumberEnd: 7401
    functionName: UpdateMetalFrame
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtMessageQueue_ConsumeNextMessage
    - rmt_EndCPUSample
    - GetMetalSampleTimes
    - rmt_BeginCPUSample
    - rmtMessageQueue_PeekNextMessage
    - CHECK_REMOTERY
    - AddSampleTreeMessage
    linkageType: ''
    returnType: void
    signature: 'static void UpdateMetalFrame(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:7309,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:7322,1
    - Dst: ThreadSampler_GetNameHash
      Src: /src/gpac/src/utils/Remotery.c:7314,1
    - Dst: ThreadSampler_Push
      Src: /src/gpac/src/utils/Remotery.c:7328,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:7311,1
    - Dst: MetalTimestamp_Begin
      Src: /src/gpac/src/utils/Remotery.c:7331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - name
    - hash_cache
    argTypes:
    - rmtPStr
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 7334
      start: 7305
    functionDepth: 0
    functionLinenumber: 7305
    functionLinenumberEnd: 7334
    functionName: _rmt_BeginMetalSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Push
    - New_3
    - Remotery_GetThreadSampler
    - MetalTimestamp_Begin
    - CHECK_REMOTERY
    - ThreadSampler_GetNameHash
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BeginMetalSample(rmtPStr name, rmtU32* hash_cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:7408,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:7410,1
    - Dst: UpdateMetalFrame
      Src: /src/gpac/src/utils/Remotery.c:7426,1
    - Dst: MetalTimestamp_End
      Src: /src/gpac/src/utils/Remotery.c:7421,1
    - Dst: ThreadSampler_Pop
      Src: /src/gpac/src/utils/Remotery.c:7424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 7429
      start: 7404
    functionDepth: 0
    functionLinenumber: 7404
    functionLinenumberEnd: 7429
    functionName: _rmt_EndMetalSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Pop
    - Remotery_GetThreadSampler
    - CHECK_REMOTERY
    - UpdateMetalFrame
    - MetalTimestamp_End
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EndMetalSample(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompilerWriteFence
      Src: /src/gpac/src/utils/Remotery.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - long**
    - long*
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: StoreReleasePointer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CompilerWriteFence
    linkageType: ''
    returnType: void
    signature: 'static void StoreReleasePointer(long* volatile* ptr, long* value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1061
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1061
    functionName: ThreadProcWindows
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI ThreadProcWindows(LPVOID lpParameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - rmtU32
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: rmtMalloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * rmtMalloc( rmtU32 size ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4109,1
    - Dst: Sample_Prepare
      Src: /src/gpac/src/utils/Remotery.c:4124,1
    - Dst: New_3
      Src: /src/gpac/src/utils/Remotery.c:4116,1
    - Dst: ObjectAllocator_Alloc
      Src: /src/gpac/src/utils/Remotery.c:4121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - tree
    - sample_size
    - constructor
    - destructor
    argTypes:
    - SampleTree*
    - rmtU32
    - ObjConstructor
    - ObjDestructor
    constantsTouched: []
    func_position:
      end: 4128
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4128
    functionName: SampleTree_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - New_3
    - assert
    - ObjectAllocator_Alloc
    - Sample_Prepare
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError SampleTree_Constructor(SampleTree* tree, rmtU32 sample_size,
      ObjConstructor constructor, ObjDestructor destructor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4229,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4231,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tree
    - sample
    argTypes:
    - SampleTree*
    - Sample*
    constantsTouched: []
    func_position:
      end: 4233
      start: 4227
    functionDepth: 0
    functionLinenumber: 4227
    functionLinenumberEnd: 4233
    functionName: SampleTree_Pop
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void SampleTree_Pop(SampleTree* tree, Sample* sample) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5120,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5123,1
    - Dst: AtomicCompareAndSwapPointer
      Src: /src/gpac/src/utils/Remotery.c:5139,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - rmt
    argTypes:
    - Remotery*
    constantsTouched: []
    func_position:
      end: 5148
      start: 5117
    functionDepth: 0
    functionLinenumber: 5117
    functionLinenumberEnd: 5148
    functionName: Remotery_DestroyThreadSamplers
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - AtomicCompareAndSwapPointer
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void Remotery_DestroyThreadSamplers(Remotery* rmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5235
      start: 5232
    functionDepth: 0
    functionLinenumber: 5232
    functionLinenumberEnd: 5235
    functionName: _rmt_GetGlobalInstance
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RMT_API*
    signature: 'RMT_API Remotery * _rmt_GetGlobalInstance(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:5294,1
    - Dst: SetDebuggerThreadName
      Src: /src/gpac/src/utils/Remotery.c:5302,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5297,1
    - Dst: strcpy_s
      Src: /src/gpac/src/utils/Remotery.c:5301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - thread_name
    argTypes:
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 5303
      start: 5290
    functionDepth: 0
    functionLinenumber: 5290
    functionLinenumberEnd: 5303
    functionName: _rmt_SetCurrentThreadName
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CHECK_REMOTERY
    - Remotery_GetThreadSampler
    - SetDebuggerThreadName
    - strcpy_s
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_SetCurrentThreadName(rmtPStr thread_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5691,1
    - Dst: Sample_Constructor
      Src: /src/gpac/src/utils/Remotery.c:5694,1
    - Dst: CUDAEventCreate
      Src: /src/gpac/src/utils/Remotery.c:5702,1
    - Dst: CUDAEventCreate
      Src: /src/gpac/src/utils/Remotery.c:5704,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sample
    argTypes:
    - CUDASample*
    constantsTouched: []
    func_position:
      end: 5706
      start: 5687
    functionDepth: 0
    functionLinenumber: 5687
    functionLinenumberEnd: 5706
    functionName: CUDASample_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Constructor
    - CUDAEventCreate
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError CUDASample_Constructor(CUDASample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5958,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5959,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d3d11
    argTypes:
    - D3D11*
    constantsTouched: []
    func_position:
      end: 5961
      start: 5956
    functionDepth: 0
    functionLinenumber: 5956
    functionLinenumberEnd: 5961
    functionName: D3D11_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void D3D11_Destructor(D3D11* d3d11) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:3039,1
    - Dst: strstr_s
      Src: /src/gpac/src/utils/Remotery.c:3044,1
    - Dst: strlen
      Src: /src/gpac/src/utils/Remotery.c:3048,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - buffer_length
    - field_name
    argTypes:
    - char*
    - r_size_t
    - rmtPStr
    constantsTouched: []
    func_position:
      end: 3059
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3059
    functionName: GetField
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - strlen
    - strnlen_s
    - strstr_s
    linkageType: ''
    returnType: char*
    signature: 'static char * GetField(char* buffer, r_size_t buffer_length, rmtPStr
      field_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4133,1
    - Dst: ObjectAllocator_Free
      Src: /src/gpac/src/utils/Remotery.c:4137,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:4141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - SampleTree*
    constantsTouched: []
    func_position:
      end: 4142
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4142
    functionName: SampleTree_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectAllocator_Free
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void SampleTree_Destructor(SampleTree* tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4241,1
    - Dst: FlattenSampleTree
      Src: /src/gpac/src/utils/Remotery.c:4250,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - sample
    - nb_samples
    argTypes:
    - Sample*
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 4261
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4261
    functionName: FlattenSampleTree
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - FlattenSampleTree
    linkageType: ''
    returnType: ObjectLink*
    signature: 'static ObjectLink * FlattenSampleTree(Sample* sample, rmtU32* nb_samples) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMT_UNREFERENCED_PARAMETER
      Src: /src/gpac/src/utils/Remotery.c:5153,1
    - Dst: malloc
      Src: /src/gpac/src/utils/Remotery.c:5154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mm_context
    - size
    argTypes:
    - void*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 5155
      start: 5151
    functionDepth: 0
    functionLinenumber: 5151
    functionLinenumberEnd: 5155
    functionName: CRTMalloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - malloc
    - RMT_UNREFERENCED_PARAMETER
    linkageType: ''
    returnType: void*
    signature: 'static void * CRTMalloc(void* mm_context, rmtU32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5311,1
    - Dst: rmtMessageQueue_CommitMessage
      Src: /src/gpac/src/utils/Remotery.c:5324,1
    - Dst: U32ToByteArray
      Src: /src/gpac/src/utils/Remotery.c:5315,1
    - Dst: rmtMessageQueue_AllocMessage
      Src: /src/gpac/src/utils/Remotery.c:5318,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/Remotery.c:5323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - queue
    - text
    - size
    - thread_sampler
    argTypes:
    - rmtMessageQueue*
    - unsigned char*
    - rmtU32
    - struct ThreadSampler*
    constantsTouched: []
    func_position:
      end: 5327
      start: 5306
    functionDepth: 0
    functionLinenumber: 5306
    functionLinenumberEnd: 5327
    functionName: QueueLine
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMessageQueue_CommitMessage
    - rmtMessageQueue_AllocMessage
    - assert
    - U32ToByteArray
    - memcpy
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool QueueLine(rmtMessageQueue* queue, unsigned char* text,
      rmtU32 size, struct ThreadSampler* thread_sampler) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5711,1
    - Dst: Sample_Destructor
      Src: /src/gpac/src/utils/Remotery.c:5719,1
    - Dst: CUDAEventDestroy
      Src: /src/gpac/src/utils/Remotery.c:5715,1
    - Dst: CUDAEventDestroy
      Src: /src/gpac/src/utils/Remotery.c:5717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sample
    argTypes:
    - CUDASample*
    constantsTouched: []
    func_position:
      end: 5720
      start: 5709
    functionDepth: 0
    functionLinenumber: 5709
    functionLinenumberEnd: 5720
    functionName: CUDASample_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Destructor
    - assert
    - CUDAEventDestroy
    linkageType: ''
    returnType: void
    signature: 'static void CUDASample_Destructor(CUDASample* sample) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11Device_CreateQuery
      Src: /src/gpac/src/utils/Remotery.c:5976,1
    - Dst: ID3D11Device_CreateQuery
      Src: /src/gpac/src/utils/Remotery.c:5982,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:5985,1
    - Dst: ID3D11DeviceContext_End
      Src: /src/gpac/src/utils/Remotery.c:5990,1
    - Dst: ID3D11DeviceContext_Begin
      Src: /src/gpac/src/utils/Remotery.c:5989,1
    - Dst: ID3D11DeviceContext_End
      Src: /src/gpac/src/utils/Remotery.c:5991,1
    - Dst: ID3D11DeviceContext_GetData
      Src: /src/gpac/src/utils/Remotery.c:5997,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6000,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6001,1
    - Dst: ID3D11DeviceContext_GetData
      Src: /src/gpac/src/utils/Remotery.c:6006,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6010,1
    - Dst: YieldProcessor
      Src: /src/gpac/src/utils/Remotery.c:6015,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6029,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6009,1
    - Dst: ID3D11Query_Release
      Src: /src/gpac/src/utils/Remotery.c:6030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - device
    - context
    - out_timestamp
    - out_frequency
    argTypes:
    - ID3D11Device*
    - ID3D11DeviceContext*
    - rmtU64*
    - double*
    constantsTouched: []
    func_position:
      end: 6032
      start: 5963
    functionDepth: 0
    functionLinenumber: 5963
    functionLinenumberEnd: 6032
    functionName: rmtD3D11Finish
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - YieldProcessor
    - ID3D11DeviceContext_GetData
    - ID3D11Query_Release
    - ID3D11DeviceContext_End
    - ID3D11Device_CreateQuery
    - ID3D11DeviceContext_Begin
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT rmtD3D11Finish(ID3D11Device* device, ID3D11DeviceContext*
      context, rmtU64 *out_timestamp, double *out_frequency) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rmtS64
    - rmtS64
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: maxS64
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtS64
    signature: 'static rmtS64 maxS64(rmtS64 a, rmtS64 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedCompareExchange
      Src: /src/gpac/src/utils/Remotery.c:450,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/gpac/src/utils/Remotery.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - val
    - old_val
    - new_val
    argTypes:
    - rmtU32*
    - long
    - long
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: AtomicCompareAndSwap
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - __sync_bool_compare_and_swap
    - _InterlockedCompareExchange
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool AtomicCompareAndSwap(rmtU32 volatile* val, long old_val,
      long new_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/gpac/src/utils/Remotery.c:479,1
    - Dst: __sync_fetch_and_add
      Src: /src/gpac/src/utils/Remotery.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - value
    - add
    argTypes:
    - rmtS32*
    - rmtS32
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: AtomicAdd
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - __sync_fetch_and_add
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: rmtS32
    signature: 'static rmtS32 AtomicAdd(rmtS32 volatile* value, rmtS32 add) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmtMessageQueue_AllocMessage
      Src: /src/gpac/src/utils/Remotery.c:4293,1
    - Dst: rmtMessageQueue_CommitMessage
      Src: /src/gpac/src/utils/Remotery.c:4306,1
    - Dst: FreeSampleTree
      Src: /src/gpac/src/utils/Remotery.c:4297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - queue
    - sample
    - allocator
    - thread_name
    - thread_sampler
    argTypes:
    - rmtMessageQueue*
    - Sample*
    - ObjectAllocator*
    - rmtPStr
    - struct ThreadSampler*
    constantsTouched: []
    func_position:
      end: 4307
      start: 4288
    functionDepth: 0
    functionLinenumber: 4288
    functionLinenumberEnd: 4307
    functionName: AddSampleTreeMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMessageQueue_CommitMessage
    - rmtMessageQueue_AllocMessage
    - FreeSampleTree
    linkageType: ''
    returnType: void
    signature: 'static void AddSampleTreeMessage(rmtMessageQueue* queue, Sample* sample,
      ObjectAllocator* allocator, rmtPStr thread_name, struct ThreadSampler* thread_sampler) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmtglFinish
      Src: /src/gpac/src/utils/Remotery.c:6736,1
    - Dst: rmtglGetInteger64v
      Src: /src/gpac/src/utils/Remotery.c:6744,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6745,1
    - Dst: rmtglFinish
      Src: /src/gpac/src/utils/Remotery.c:6742,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - out_first_timestamp
    - out_last_resync
    argTypes:
    - rmtU64*
    - rmtU64*
    constantsTouched: []
    func_position:
      end: 6760
      start: 6728
    functionDepth: 0
    functionLinenumber: 6728
    functionLinenumberEnd: 6760
    functionName: SyncOpenGLCpuGpuTimes
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtglFinish
    - usTimer_Get
    - rmtglGetInteger64v
    linkageType: ''
    returnType: void
    signature: 'static void SyncOpenGLCpuGpuTimes(rmtU64* out_first_timestamp, rmtU64*
      out_last_resync) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7207,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:7208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7209
      start: 7204
    functionDepth: 0
    functionLinenumber: 7204
    functionLinenumberEnd: 7209
    functionName: rmtMetal_usGetTime
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - usTimer_Get
    linkageType: ''
    returnType: rmtU64
    signature: 'rmtU64 rmtMetal_usGetTime() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7265,1
    - Dst: Sample_Constructor
      Src: /src/gpac/src/utils/Remotery.c:7268,1
    - Dst: New_0
      Src: /src/gpac/src/utils/Remotery.c:7271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sample
    argTypes:
    - MetalSample*
    constantsTouched: []
    func_position:
      end: 7274
      start: 7261
    functionDepth: 0
    functionLinenumber: 7261
    functionLinenumberEnd: 7274
    functionName: MetalSample_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Constructor
    - New_0
    - assert
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError MetalSample_Constructor(MetalSample* sample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7445
      start: 7441
    functionDepth: 0
    functionLinenumber: 7441
    functionLinenumberEnd: 7445
    functionName: _rmt_SamplingEnabled
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API rmtBool _rmt_SamplingEnabled() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/Remotery.c:215,1
    - Dst: dlsym
      Src: /src/gpac/src/utils/Remotery.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - symbol
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: rmtGetProcAddress
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - dlsym
    - GetProcAddress
    linkageType: ''
    returnType: ProcReturnType
    signature: 'static ProcReturnType rmtGetProcAddress(void* handle, const char*
      symbol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - dest
    - dmax
    - value
    argTypes:
    - char*
    - r_size_t
    - rmtS32
    constantsTouched: []
    func_position:
      end: 1568
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1568
    functionName: itoahex_s
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void itoahex_s( char *dest, r_size_t dmax, rmtS32 value ) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - CUresult
    constantsTouched: []
    func_position:
      end: 5612
      start: 5598
    functionDepth: 0
    functionLinenumber: 5598
    functionLinenumberEnd: 5612
    functionName: MapCUDAResult
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError MapCUDAResult(CUresult result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:7279,1
    - Dst: Sample_Destructor
      Src: /src/gpac/src/utils/Remotery.c:7280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - MetalSample*
    constantsTouched: []
    func_position:
      end: 7281
      start: 7277
    functionDepth: 0
    functionLinenumber: 7277
    functionLinenumberEnd: 7281
    functionName: MetalSample_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - Sample_Destructor
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void MetalSample_Destructor(MetalSample* sample) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6160,1
    - Dst: ID3D11DeviceContext_End
      Src: /src/gpac/src/utils/Remotery.c:6165,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6163,1
    - Dst: ID3D11DeviceContext_Begin
      Src: /src/gpac/src/utils/Remotery.c:6164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stamp
    - context
    argTypes:
    - D3D11Timestamp*
    - ID3D11DeviceContext*
    constantsTouched: []
    func_position:
      end: 6166
      start: 6158
    functionDepth: 0
    functionLinenumber: 6158
    functionLinenumberEnd: 6166
    functionName: D3D11Timestamp_Begin
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - usTimer_Get
    - ID3D11DeviceContext_End
    - ID3D11DeviceContext_Begin
    linkageType: ''
    returnType: void
    signature: 'static void D3D11Timestamp_Begin(D3D11Timestamp* stamp, ID3D11DeviceContext*
      context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7067,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:7054,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7052,1
    - Dst: rmtMessageQueue_PeekNextMessage
      Src: /src/gpac/src/utils/Remotery.c:7062,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7070,1
    - Dst: GetOpenGLSampleTimes
      Src: /src/gpac/src/utils/Remotery.c:7074,1
    - Dst: AddSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:7078,1
    - Dst: rmtMessageQueue_ConsumeNextMessage
      Src: /src/gpac/src/utils/Remotery.c:7079,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:7082,1
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:7049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 7083
      start: 7045
    functionDepth: 0
    functionLinenumber: 7045
    functionLinenumberEnd: 7083
    functionName: UpdateOpenGLFrame
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtMessageQueue_ConsumeNextMessage
    - rmt_EndCPUSample
    - rmt_BeginCPUSample
    - rmtMessageQueue_PeekNextMessage
    - CHECK_REMOTERY
    - AddSampleTreeMessage
    - GetOpenGLSampleTimes
    linkageType: ''
    returnType: void
    signature: 'static void UpdateOpenGLFrame(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:7200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - MetalTimestamp*
    constantsTouched: []
    func_position:
      end: 7201
      start: 7198
    functionDepth: 0
    functionLinenumber: 7198
    functionLinenumberEnd: 7201
    functionName: MetalTimestamp_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void MetalTimestamp_Destructor(MetalTimestamp* stamp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOURCC
      Src: /src/gpac/src/utils/Remotery.c:4908,1
    - Dst: rmt_LogText
      Src: /src/gpac/src/utils/Remotery.c:4911,1
    - Dst: rmt_LogText
      Src: /src/gpac/src/utils/Remotery.c:4910,1
    - Dst: FOURCC
      Src: /src/gpac/src/utils/Remotery.c:4920,1
    - Dst: StringTable_Find
      Src: /src/gpac/src/utils/Remotery.c:4934,1
    - Dst: WebSocket_PrepareBuffer
      Src: /src/gpac/src/utils/Remotery.c:4941,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:4942,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4943,1
    - Dst: strnlen_s
      Src: /src/gpac/src/utils/Remotery.c:4944,1
    - Dst: Server_Send
      Src: /src/gpac/src/utils/Remotery.c:4949,1
    - Dst: Buffer_WriteU32
      Src: /src/gpac/src/utils/Remotery.c:4945,1
    - Dst: Buffer_Write
      Src: /src/gpac/src/utils/Remotery.c:4946,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - context
    - message_data
    - message_length
    argTypes:
    - void*
    - char*
    - rmtU32
    constantsTouched: []
    func_position:
      end: 4960
      start: 4898
    functionDepth: 0
    functionLinenumber: 4898
    functionLinenumberEnd: 4960
    functionName: Remotery_ReceiveMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - FOURCC
    - WebSocket_PrepareBuffer
    - strnlen_s
    - rmt_LogText
    - Server_Send
    - StringTable_Find
    - Buffer_Write
    - Buffer_WriteU32
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_ReceiveMessage(void* context, char* message_data,
      rmtU32 message_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1702,1
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:1711,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1703,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1714,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1719,1
    - Dst: rmtFree
      Src: /src/gpac/src/utils/Remotery.c:1721,1
    - Dst: ObjectAllocator_Push
      Src: /src/gpac/src/utils/Remotery.c:1726,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:1727,1
    - Dst: AtomicSub
      Src: /src/gpac/src/utils/Remotery.c:1733,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:1734,1
    - Dst: ObjectAllocator_Pop
      Src: /src/gpac/src/utils/Remotery.c:1732,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:1728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - allocator
    - object
    argTypes:
    - ObjectAllocator*
    - void**
    constantsTouched: []
    func_position:
      end: 1737
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1737
    functionName: ObjectAllocator_Alloc
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtFree
    - assert
    - ObjectAllocator_Push
    - AtomicSub
    - rmtMalloc
    - AtomicAdd
    - ObjectAllocator_Pop
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError ObjectAllocator_Alloc(ObjectAllocator* allocator,
      void** object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedCompareExchange64
      Src: /src/gpac/src/utils/Remotery.c:461,1
    - Dst: _InterlockedCompareExchange
      Src: /src/gpac/src/utils/Remotery.c:463,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/gpac/src/utils/Remotery.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - old_ptr
    - new_ptr
    argTypes:
    - long**
    - long*
    - long*
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: AtomicCompareAndSwapPointer
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - __sync_bool_compare_and_swap
    - _InterlockedCompareExchange
    - _InterlockedCompareExchange64
    linkageType: ''
    returnType: rmtBool
    signature: 'static rmtBool AtomicCompareAndSwapPointer(long* volatile* ptr, long*
      old_ptr, long* new_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3734,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:3746,1
    - Dst: Server_CreateListenSocket
      Src: /src/gpac/src/utils/Remotery.c:3751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - server
    - port
    - reuse_open_port
    - limit_connections_to_localhost
    argTypes:
    - Server*
    - rmtU16
    - rmtBool
    - rmtBool
    constantsTouched: []
    func_position:
      end: 3752
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3752
    functionName: Server_Constructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Server_CreateListenSocket
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Server_Constructor(Server* server, rmtU16 port, rmtBool
      reuse_open_port, rmtBool limit_connections_to_localhost) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:5420,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5424,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:5432,1
    - Dst: ThreadSampler_GetNameHash
      Src: /src/gpac/src/utils/Remotery.c:5427,1
    - Dst: ThreadSampler_Push
      Src: /src/gpac/src/utils/Remotery.c:5428,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:5434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - name
    - flags
    - hash_cache
    argTypes:
    - rmtPStr
    - rmtU32
    - rmtU32*
    constantsTouched: []
    func_position:
      end: 5437
      start: 5410
    functionDepth: 0
    functionLinenumber: 5410
    functionLinenumberEnd: 5437
    functionName: _rmt_BeginCPUSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - ThreadSampler_Push
    - Remotery_GetThreadSampler
    - CHECK_REMOTERY
    - ThreadSampler_GetNameHash
    - usTimer_Get
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_BeginCPUSample(rmtPStr name, rmtU32 flags, rmtU32*
      hash_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6813,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6816,1
    - Dst: rmtglQueryCounter
      Src: /src/gpac/src/utils/Remotery.c:6818,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:6817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - OpenGLTimestamp*
    constantsTouched: []
    func_position:
      end: 6819
      start: 6811
    functionDepth: 0
    functionLinenumber: 6811
    functionLinenumberEnd: 6819
    functionName: OpenGLTimestamp_Begin
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - usTimer_Get
    - rmtglQueryCounter
    linkageType: ''
    returnType: void
    signature: 'static void OpenGLTimestamp_Begin(OpenGLTimestamp* stamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:1743,1
    - Dst: AtomicSub
      Src: /src/gpac/src/utils/Remotery.c:1745,1
    - Dst: ObjectAllocator_Push
      Src: /src/gpac/src/utils/Remotery.c:1744,1
    - Dst: AtomicAdd
      Src: /src/gpac/src/utils/Remotery.c:1746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - allocator
    - object
    argTypes:
    - ObjectAllocator*
    - void*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1747
    functionName: ObjectAllocator_Free
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - ObjectAllocator_Push
    - AtomicSub
    - AtomicAdd
    linkageType: ''
    returnType: void
    signature: 'static void ObjectAllocator_Free(ObjectAllocator* allocator, void*
      object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:3757,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3759,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3760,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:3758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - server
    argTypes:
    - Server*
    constantsTouched: []
    func_position:
      end: 3761
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3761
    functionName: Server_Destructor
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - Delete
    linkageType: ''
    returnType: void
    signature: 'static void Server_Destructor(Server* server) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4680,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4681,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:4686,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4693,1
    - Dst: AreCUDASamplesReady
      Src: /src/gpac/src/utils/Remotery.c:4694,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4695,1
    - Dst: AddSampleTreeMessage
      Src: /src/gpac/src/utils/Remotery.c:4698,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4703,1
    - Dst: GetCUDASampleTimes
      Src: /src/gpac/src/utils/Remotery.c:4704,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4705,1
    - Dst: bin_SampleTree
      Src: /src/gpac/src/utils/Remotery.c:4716,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4722,1
    - Dst: FreeSampleTree
      Src: /src/gpac/src/utils/Remotery.c:4726,1
    - Dst: WebSocket_PrepareBuffer
      Src: /src/gpac/src/utils/Remotery.c:4711,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4720,1
    - Dst: rmt_BeginCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4715,1
    - Dst: rmt_EndCPUSample
      Src: /src/gpac/src/utils/Remotery.c:4717,1
    - Dst: Server_Send
      Src: /src/gpac/src/utils/Remotery.c:4721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - rmt
    - message
    argTypes:
    - Remotery*
    - Message*
    constantsTouched: []
    func_position:
      end: 4729
      start: 4673
    functionDepth: 0
    functionLinenumber: 4673
    functionLinenumberEnd: 4729
    functionName: Remotery_SendSampleTreeMessage
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - bin_SampleTree
    - WebSocket_PrepareBuffer
    - Server_Send
    - AreCUDASamplesReady
    - rmt_EndCPUSample
    - rmt_BeginCPUSample
    - AddSampleTreeMessage
    - FreeSampleTree
    - GetCUDASampleTimes
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError Remotery_SendSampleTreeMessage(Remotery* rmt, Message*
      message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMOTERY
      Src: /src/gpac/src/utils/Remotery.c:5444,1
    - Dst: Remotery_GetThreadSampler
      Src: /src/gpac/src/utils/Remotery.c:5446,1
    - Dst: usTimer_Get
      Src: /src/gpac/src/utils/Remotery.c:5456,1
    - Dst: ThreadSampler_Pop
      Src: /src/gpac/src/utils/Remotery.c:5471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5474
      start: 5440
    functionDepth: 0
    functionLinenumber: 5440
    functionLinenumberEnd: 5474
    functionName: _rmt_EndCPUSample
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - CHECK_REMOTERY
    - Remotery_GetThreadSampler
    - usTimer_Get
    - ThreadSampler_Pop
    linkageType: ''
    returnType: RMT_API
    signature: 'RMT_API void _rmt_EndCPUSample(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:5922,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:5945,1
    - Dst: rmtMalloc
      Src: /src/gpac/src/utils/Remotery.c:5925,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5941,1
    - Dst: New_1
      Src: /src/gpac/src/utils/Remotery.c:5938,1
    - Dst: Delete
      Src: /src/gpac/src/utils/Remotery.c:5948,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - d3d11
    argTypes:
    - D3D11**
    constantsTouched: []
    func_position:
      end: 5953
      start: 5918
    functionDepth: 0
    functionLinenumber: 5918
    functionLinenumberEnd: 5953
    functionName: D3D11_Create
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - rmtMalloc
    - assert
    - Delete
    - New_1
    linkageType: ''
    returnType: rmtError
    signature: 'static rmtError D3D11_Create(D3D11** d3d11) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6824,1
    - Dst: assert
      Src: /src/gpac/src/utils/Remotery.c:6827,1
    - Dst: rmtglQueryCounter
      Src: /src/gpac/src/utils/Remotery.c:6828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - OpenGLTimestamp*
    constantsTouched: []
    func_position:
      end: 6829
      start: 6822
    functionDepth: 0
    functionLinenumber: 6822
    functionLinenumberEnd: 6829
    functionName: OpenGLTimestamp_End
    functionSourceFile: /src/gpac/src/utils/Remotery.c
    functionUses: []
    functionsReached:
    - assert
    - rmtglQueryCounter
    linkageType: ''
    returnType: void
    signature: 'static void OpenGLTimestamp_End(OpenGLTimestamp* stamp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 865
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 865
    functionName: gf_gzeof
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzeof(void *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_flush
      Src: /src/gpac/src/utils/gzio.c:925,1
    - Dst: putLong
      Src: /src/gpac/src/utils/gzio.c:928,1
    - Dst: putLong
      Src: /src/gpac/src/utils/gzio.c:929,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:926,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: gf_gzclose
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - do_flush
    - putLong
    - destroy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzclose(void *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:345,1
    - Dst: deflateEnd
      Src: /src/gpac/src/utils/gzio.c:352,1
    - Dst: inflateEnd
      Src: /src/gpac/src/utils/gzio.c:355,1
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:366,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/gzio.c:358,1
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:367,1
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:368,1
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - gz_stream*
    constantsTouched: []
    func_position:
      end: 371
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 371
    functionName: destroy
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - TRYFREE
    - deflateEnd
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: 'local int destroy (gz_stream *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - c
    - file
    argTypes:
    - int
    - gzFile
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: gzungetc
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int gzungetc(int c, gzFile file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gzwrite
      Src: /src/gpac/src/utils/gzio.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - gzFile
    - int
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: gf_gzputc
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_gzwrite
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzputc(gzFile file, int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gzseek
      Src: /src/gpac/src/utils/gzio.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: gf_gztell
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_gzseek
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_gztell(void *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/gpac/src/utils/gzio.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - file
    - x
    argTypes:
    - FILE*
    - uLong
    constantsTouched: []
    func_position:
      end: 890
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 890
    functionName: putLong
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - fputc
    linkageType: ''
    returnType: local
    signature: 'local void putLong (FILE *file, uLong x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:899,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:904,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:902,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - gz_stream*
    constantsTouched: []
    func_position:
      end: 908
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 908
    functionName: getLong
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - get_byte
    linkageType: ''
    returnType: local
    signature: 'local uLong getLong (gz_stream *s) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/gzio.c:409,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/gzio.c:418,1
    - Dst: inflate
      Src: /src/gpac/src/utils/gzio.c:441,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/gzio.c:429,1
    - Dst: gf_ferror
      Src: /src/gpac/src/utils/gzio.c:432,1
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:447,1
    - Dst: getLong
      Src: /src/gpac/src/utils/gzio.c:450,1
    - Dst: getLong
      Src: /src/gpac/src/utils/gzio.c:453,1
    - Dst: check_header
      Src: /src/gpac/src/utils/gzio.c:458,1
    - Dst: inflateReset
      Src: /src/gpac/src/utils/gzio.c:460,1
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:461,1
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:467,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - void*
    - voidp
    - unsigned
    constantsTouched: []
    func_position:
      end: 473
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 473
    functionName: gf_gzread
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - crc32
    - check_header
    - gf_fread
    - gf_ferror
    - inflateReset
    - memcpy
    - inflate
    - getLong
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzread(void *file, voidp buf, unsigned len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/gzio.c:584,1
    - Dst: vsprintf
      Src: /src/gpac/src/utils/gzio.c:587,1
    - Dst: vsprintf
      Src: /src/gpac/src/utils/gzio.c:592,1
    - Dst: va_end
      Src: /src/gpac/src/utils/gzio.c:588,1
    - Dst: va_end
      Src: /src/gpac/src/utils/gzio.c:593,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/gzio.c:597,1
    - Dst: va_end
      Src: /src/gpac/src/utils/gzio.c:598,1
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:599,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/gzio.c:601,1
    - Dst: va_end
      Src: /src/gpac/src/utils/gzio.c:602,1
    - Dst: gf_gzwrite
      Src: /src/gpac/src/utils/gzio.c:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - file
    - format
    - /* args */
    - '...'
    argTypes:
    - gzFile
    - char*
    constantsTouched: []
    func_position:
      end: 608
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 608
    functionName: gf_gzprintf
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - strlen
    - va_end
    - va_start
    - gf_gzwrite
    - vsprintf
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: 'int gf_gzprintf (gzFile file, const char *format, /* args */ ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_MSG
      Src: /src/gpac/src/utils/gzio.c:956,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:966,1
    - Dst: ERR_MSG
      Src: /src/gpac/src/utils/gzio.c:963,1
    - Dst: TRYFREE
      Src: /src/gpac/src/utils/gzio.c:965,1
    - Dst: zstrerror
      Src: /src/gpac/src/utils/gzio.c:961,1
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:966,1
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:966,1
    - Dst: ERR_MSG
      Src: /src/gpac/src/utils/gzio.c:967,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/gzio.c:968,1
    - Dst: strcat
      Src: /src/gpac/src/utils/gzio.c:969,1
    - Dst: strcat
      Src: /src/gpac/src/utils/gzio.c:970,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - file
    - errnum
    argTypes:
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 972
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 972
    functionName: gf_gzerror
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - ERR_MSG
    - ALLOC
    - TRYFREE
    - strcpy
    - zstrerror
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_gzerror (void *file, int *errnum) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:143,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:143,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:189,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/gzio.c:210,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:213,1
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:139,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:145,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:193,1
    - Dst: check_header
      Src: /src/gpac/src/utils/gzio.c:234,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/gzio.c:223,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/gzio.c:235,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:203,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:174,1
    - Dst: inflateInit2
      Src: /src/gpac/src/utils/gzio.c:195,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:124,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/gzio.c:148,1
    - Dst: deflateInit2
      Src: /src/gpac/src/utils/gzio.c:182,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:186,1
    - Dst: destroy
      Src: /src/gpac/src/utils/gzio.c:218,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 105
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 239
    functionName: gf_gzopen
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - strlen
    - crc32
    - check_header
    - gf_fprintf
    - deflateInit2
    - ALLOC
    - gf_ftell
    - strcpy
    - inflateInit2
    - gf_fopen
    - destroy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_gzopen(const char *path, const char *mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_gzread
      Src: /src/gpac/src/utils/gzio.c:525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 528
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 528
    functionName: gf_gzgets
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_gzread
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * gf_gzgets(void *file, char *buf, int len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gpac/src/utils/gzio.c:686,1
    - Dst: deflate
      Src: /src/gpac/src/utils/gzio.c:695,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - file
    - flush
    argTypes:
    - gzFile
    - int
    constantsTouched: []
    func_position:
      end: 709
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 709
    functionName: do_flush
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - deflate
    - fwrite
    linkageType: ''
    returnType: local
    signature: 'local int do_flush (gzFile file, int flush) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:774,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/gzio.c:803,1
    - Dst: gf_gzwrite
      Src: /src/gpac/src/utils/gzio.c:782,1
    - Dst: zmemzero
      Src: /src/gpac/src/utils/gzio.c:776,1
    - Dst: gf_gzrewind
      Src: /src/gpac/src/utils/gzio.c:812,1
    - Dst: ALLOC
      Src: /src/gpac/src/utils/gzio.c:818,1
    - Dst: gf_gzread
      Src: /src/gpac/src/utils/gzio.c:831,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 3
    argNames:
    - file
    - _offset
    - whence
    argTypes:
    - void*
    - u64
    - int
    constantsTouched: []
    func_position:
      end: 836
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 836
    functionName: gf_gzseek
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - zmemzero
    - gf_gzread
    - ALLOC
    - gf_gzwrite
    - gf_fseek
    - gf_gzrewind
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_gzseek(void *file, u64 _offset, int whence) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_flush
      Src: /src/gpac/src/utils/gzio.c:714,1
    - Dst: fflush
      Src: /src/gpac/src/utils/gzio.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - file
    - flush
    argTypes:
    - gzFile
    - int
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: gf_gzflush
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - do_flush
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int gf_gzflush (gzFile file, int flush) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/utils/gzio.c:287,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:315,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:307,1
    - Dst: gf_ferror
      Src: /src/gpac/src/utils/gzio.c:288,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:308,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:318,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:319,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:321,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:324,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:327,1
    - Dst: get_byte
      Src: /src/gpac/src/utils/gzio.c:330,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 1
    argNames:
    - s
    argTypes:
    - gz_stream*
    constantsTouched: []
    func_position:
      end: 333
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 333
    functionName: check_header
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_ferror
    - get_byte
    - gf_fread
    linkageType: ''
    returnType: local
    signature: 'local void check_header(gz_stream *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/gzio.c:620,1
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:632,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/gzio.c:630,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/gzio.c:634,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gzio.c:625,1
    - Dst: gf_gzwrite
      Src: /src/gpac/src/utils/gzio.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 22
    argNames:
    - file
    - format
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - a9
    - a10
    - a11
    - a12
    - a13
    - a14
    - a15
    - a16
    - a17
    - a18
    - a19
    - a20
    argTypes:
    - gzFile
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 641
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 641
    functionName: gf_gzprintf
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_gzwrite
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int gf_gzprintf (gzFile file, const char *format, int a1, int a2,
      int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int
      a12, int a13, int a14, int a15, int a16, int a17, int a18, int a19, int a20) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gzwrite
      Src: /src/gpac/src/utils/gzio.c:664,1
    - Dst: strlen
      Src: /src/gpac/src/utils/gzio.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - file
    - s
    argTypes:
    - gzFile
    - char*
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: gf_gzputs
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_gzwrite
    linkageType: ''
    returnType: int
    signature: 'int gf_gzputs(gzFile file, const char *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:737,1
    - Dst: inflateReset
      Src: /src/gpac/src/utils/gzio.c:738,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/gzio.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: gf_gzrewind
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - inflateReset
    - crc32
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s64 gf_gzrewind(void *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/utils/gzio.c:252,1
    - Dst: gf_ferror
      Src: /src/gpac/src/utils/gzio.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - gz_stream*
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: get_byte
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_ferror
    - gf_fread
    linkageType: ''
    returnType: local
    signature: 'local int get_byte(gz_stream *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_gzread
      Src: /src/gpac/src/utils/gzio.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: gf_gzgetc
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - gf_gzread
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzgetc(void *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 877
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 877
    functionName: gf_gzdirect
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_gzdirect (void * file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gpac/src/utils/gzio.c:550,1
    - Dst: deflate
      Src: /src/gpac/src/utils/gzio.c:558,1
    - Dst: crc32
      Src: /src/gpac/src/utils/gzio.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - gzFile
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 566
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 566
    functionName: gf_gzwrite
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - crc32
    - deflate
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'int gf_gzwrite (gzFile file, void *const buf, unsigned len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/gpac/src/utils/gzio.c:985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 986
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 986
    functionName: gf_gzclearerr
    functionSourceFile: /src/gpac/src/utils/gzio.c
    functionUses: []
    functionsReached:
    - clearerr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_gzclearerr(void *file) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1373,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/bitstream.c:1403,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1378,1
    - Dst: lseek_64
      Src: /src/gpac/src/utils/bitstream.c:1399,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/bitstream.c:1412,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1426,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - bs
    - nbBytes
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1429
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1429
    functionName: gf_bs_skip_bytes
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - lseek_64
    - bs_flush_write_cache
    - gf_bs_align
    - gf_fseek
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_skip_bytes(GF_BitStream *bs, u64 nbBytes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:1515,1
    - Dst: BS_SeekIntern
      Src: /src/gpac/src/utils/bitstream.c:1522,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1527,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1521,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1532,1
    - Dst: BS_SeekIntern
      Src: /src/gpac/src/utils/bitstream.c:1533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - bs
    - offset
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1534
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1534
    functionName: gf_bs_seek
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - bs_flush_write_cache
    - GF_LOG
    - BS_SeekIntern
    - gf_bs_align
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bs_seek(GF_BitStream *bs, u64 offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1763
    functionName: gf_bs_get_bit_offset
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_get_bit_offset(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1769
    functionName: gf_bs_get_bit_position
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_get_bit_position(GF_BitStream *bs) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:1462,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/bitstream.c:1469,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1484,1
    - Dst: lseek_64
      Src: /src/gpac/src/utils/bitstream.c:1493,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/bitstream.c:1498,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 2
    argNames:
    - bs
    - offset
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1505
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1505
    functionName: BS_SeekIntern
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LOG
    - lseek_64
    - bs_flush_write_cache
    - gf_fseek
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err BS_SeekIntern(GF_BitStream *bs, u64 offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1662
    functionName: gf_bs_bits_available
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_bs_bits_available(GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1833,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/bitstream.c:1835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1836
    functionName: gf_bs_flush
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - bs_flush_write_cache
    - gf_fflush
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_flush(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - bs
    - (*EndOfStream)
    - par
    argTypes:
    - GF_BitStream*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1669
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1669
    functionName: gf_bs_set_eos_callback
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_set_eos_callback(GF_BitStream *bs, void (*EndOfStream)(void
      *par), void *par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:925,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/utils/bitstream.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - bs
    - nBits
    - max_shift
    argTypes:
    - GF_BitStream*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 933
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 933
    functionName: bs_handle_nbits_overflow
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - GF_LOG
    linkageType: ''
    returnType: s32
    signature: 'static s32 bs_handle_nbits_overflow(GF_BitStream* bs, s32 nBits, s32
      max_shift) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - bs
    - prevent_dispatch
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: gf_bs_prevent_dispatch
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_prevent_dispatch(GF_BitStream *bs, Bool prevent_dispatch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/bitstream.c:722,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:728,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:732,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/utils/bitstream.c:739,1
    - Dst: gf_bs_read_bit
      Src: /src/gpac/src/utils/bitstream.c:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - bs
    - nBits
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 747
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 747
    functionName: gf_bs_read_long_int
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_bit
    - gf_bs_read_long_int
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_available
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_read_long_int(GF_BitStream *bs, u32 nBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_bit
      Src: /src/gpac/src/utils/bitstream.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: gf_bs_read_double
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_bit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Double gf_bs_read_double(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:1018,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1026,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1027,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1028,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1031
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1031
    functionName: gf_bs_write_u32
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - BS_WriteByte
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u32(GF_BitStream *bs, u32 value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1303
    functionName: BS_CutBuffer
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_align
    linkageType: ''
    returnType: s32
    signature: 'static s32 BS_CutBuffer(GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gpac/src/utils/bitstream.c:344,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/utils/bitstream.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 359
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 359
    functionName: bs_flush_write_cache
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - write
    - gf_fwrite
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bs_flush_write_cache(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_bit
      Src: /src/gpac/src/utils/bitstream.c:757,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:761,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:759,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:760,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 765
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 765
    functionName: gf_bs_read_float
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_bit
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Float gf_bs_read_float(GF_BitStream *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:785,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:796,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/utils/bitstream.c:790,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:808,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:802,1
    - Dst: read
      Src: /src/gpac/src/utils/bitstream.c:816,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/bitstream.c:820,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:832,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - bs
    - data
    - nbBytes
    argTypes:
    - GF_BitStream*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 836
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 836
    functionName: gf_bs_read_data
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_is_align
    - GF_LOG
    - gf_fread
    - gf_bs_read_int
    - bs_flush_write_cache
    - memcpy
    - read
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_data(GF_BitStream *bs, u8 *data, u32 nbBytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bs_handle_nbits_overflow
      Src: /src/gpac/src/utils/bitstream.c:941,1
    - Dst: BS_WriteBit
      Src: /src/gpac/src/utils/bitstream.c:951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - _value
    - nBits
    argTypes:
    - GF_BitStream*
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 954
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 954
    functionName: gf_bs_write_int
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_WriteBit
    - bs_handle_nbits_overflow
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_int(GF_BitStream *bs, s32 _value, s32 nBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:1036,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/bitstream.c:1038,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/bitstream.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1039
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1039
    functionName: gf_bs_write_u64
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u64(GF_BitStream *bs, u64 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:1939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 7
    argNames:
    - bs
    - nBits
    - fname
    - val
    - idx1
    - idx2
    - idx3
    argTypes:
    - GF_BitStream*
    - u32
    - char*
    - s64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 1941
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1941
    functionName: gf_bs_log_idx
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_log_idx(GF_BitStream *bs, u32 nBits, const char *fname,
      s64 val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/bitstream.c:591,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/bitstream.c:595,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/bitstream.c:596,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:603,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - bs
    - delimiter
    - out
    - max_length
    argTypes:
    - GF_BitStream*
    - u8
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 608
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 608
    functionName: gf_bs_read_u8_until_delimiter
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_read_data
    - gf_bs_available
    - gf_bs_seek
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u8_until_delimiter(GF_BitStream *bs, u8 delimiter,
      u8* out, u32 max_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:988,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:994,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 997
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 997
    functionName: gf_bs_write_u16
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - BS_WriteByte
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u16(GF_BitStream *bs, u32 value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1586,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1596,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1593,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1590,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 3
    argNames:
    - bs
    - numBits
    - byte_offset
    argTypes:
    - GF_BitStream*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 1603
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1603
    functionName: gf_bs_peek_bits
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - gf_bs_seek
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_peek_bits(GF_BitStream *bs, u32 numBits, u64 byte_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:1002,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1009,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1010,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1013
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1013
    functionName: gf_bs_write_u24
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - BS_WriteByte
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u24(GF_BitStream *bs, u32 value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1616,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/bitstream.c:1627,1
    - Dst: gf_fd_fsize
      Src: /src/gpac/src/utils/bitstream.c:1620,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/bitstream.c:1628,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/bitstream.c:1626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1632
    functionName: gf_bs_get_refreshed_size
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_fsize
    - gf_ftell
    - bs_flush_write_cache
    - gf_fd_fsize
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_get_refreshed_size(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:1319,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1328,1
    - Dst: BS_CutBuffer
      Src: /src/gpac/src/utils/bitstream.c:1333,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - bs
    - output
    - outSize
    - alloc_size
    argTypes:
    - GF_BitStream*
    - u8**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1344
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1344
    functionName: gf_bs_get_content_no_truncate
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_CutBuffer
    - gf_bs_align
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_get_content_no_truncate(GF_BitStream *bs, u8
      **output, u32 *outSize, u32 *alloc_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:188,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/bitstream.c:204,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/bitstream.c:206,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/bitstream.c:205,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:190,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/bitstream.c:210,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:213,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:215,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/bitstream.c:221,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:223,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - FILE*
    - u32
    constantsTouched: []
    func_position:
      end: 233
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 233
    functionName: gf_bs_from_file
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_fsize
    - gf_ftell
    - gf_free
    - gf_fseek
    - gf_opts_get_int
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BitStream *gf_bs_from_file(FILE *f, u32 mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/utils/bitstream.c:1976,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/bitstream.c:1982,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/bitstream.c:1981,1
    - Dst: strlen
      Src: /src/gpac/src/utils/bitstream.c:1979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - bs
    - str
    argTypes:
    - GF_BitStream*
    - char*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1984
    functionName: gf_bs_write_utf8
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_is_align
    - gf_bs_write_u8
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bs_write_utf8(GF_BitStream *bs, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:615,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:627,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: gf_bs_read_u16
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_ReadByte
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u16(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:636,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:651,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:649,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: gf_bs_read_u24
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_ReadByte
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u24(GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:243,1
    - Dst: lseek_64
      Src: /src/gpac/src/utils/bitstream.c:256,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/bitstream.c:260,1
    - Dst: gf_fd_fsize
      Src: /src/gpac/src/utils/bitstream.c:257,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:245,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:263,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:265,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/bitstream.c:271,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:273,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - u32
    constantsTouched: []
    func_position:
      end: 282
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 282
    functionName: gf_bs_from_fd
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - lseek_64
    - gf_free
    - gf_fd_fsize
    - gf_opts_get_int
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BitStream *gf_bs_from_fd(int fd, u32 mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/utils/bitstream.c:1441,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1444,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - bs
    - nbBits
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1446
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1446
    functionName: gf_bs_rewind_bits
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_bs_read_int
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_rewind_bits(GF_BitStream *bs, u64 nbBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1745,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1748,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1746,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - val
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1749
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1749
    functionName: gf_bs_write_u32_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u32_le(GF_BitStream *bs, u32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1754,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - val
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1756
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1756
    functionName: gf_bs_write_u16_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u16_le(GF_BitStream *bs, u32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/utils/bitstream.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - output
    - outSize
    argTypes:
    - GF_BitStream*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: gf_bs_get_content
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_get_content(GF_BitStream *bs, u8 **output, u32
      *outSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/bitstream.c:1358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - addSize
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 1361
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1361
    functionName: gf_bs_grow
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bs_grow(GF_BitStream *bs, u32 addSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1230,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1239
    functionName: gf_bs_align
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_bs_align(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1952
    functionName: gf_bs_is_overflow
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bs_is_overflow(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:661,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:681,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:679,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:677,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 683
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 683
    functionName: gf_bs_read_u32
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_ReadByte
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u32(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_handle_nbits_overflow
      Src: /src/gpac/src/utils/bitstream.c:961,1
    - Dst: BS_WriteBit
      Src: /src/gpac/src/utils/bitstream.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - _value
    - nBits
    argTypes:
    - GF_BitStream*
    - s64
    - s32
    constantsTouched: []
    func_position:
      end: 970
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: gf_bs_write_long_int
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_WriteBit
    - bs_handle_nbits_overflow
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_long_int(GF_BitStream *bs, s64 _value,
      s32 nBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BS_WriteBit
      Src: /src/gpac/src/utils/bitstream.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - Double
    constantsTouched: []
    func_position:
      end: 1127
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1127
    functionName: gf_bs_write_double
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_WriteBit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_double (GF_BitStream *bs, Double value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1676,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1680,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1683,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1686,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1677,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1689,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1692,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1699
    functionName: gf_bs_read_u64_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_read_u64_le(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1775,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1778
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1778
    functionName: gf_bs_read_vluimsbf5
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_vluimsbf5(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1790
    functionName: gf_bs_untruncate
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_untruncate(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/bitstream.c:710,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/utils/bitstream.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 714
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 714
    functionName: gf_bs_read_u64
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_read_u64(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:975,1
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 983
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 983
    functionName: gf_bs_write_u8
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - BS_WriteByte
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u8(GF_BitStream *bs, u32 value) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:1144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:1141,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:1191,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:1183,1
    - Dst: write
      Src: /src/gpac/src/utils/bitstream.c:1201,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/utils/bitstream.c:1205,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/bitstream.c:1178,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/bitstream.c:1153,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:1150,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1216,1
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/utils/bitstream.c:1137,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:1164,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1196,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 3
    argNames:
    - bs
    - data
    - nbBytes
    argTypes:
    - GF_BitStream*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1221
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1221
    functionName: gf_bs_write_data
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_is_align
    - gf_realloc
    - GF_LOG
    - write
    - bs_flush_write_cache
    - memcpy
    - gf_fwrite
    - gf_assert
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_write_data(GF_BitStream *bs, const u8 *data, u32
      nbBytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1705,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1706,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1712,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1716
    functionName: gf_bs_read_u32_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u32_le(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1785
    functionName: gf_bs_truncate
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_truncate(GF_BitStream *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/utils/bitstream.c:1801,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/bitstream.c:1815,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:1809,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:1820,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - src
    - keep_src
    argTypes:
    - GF_BitStream*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1824
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1824
    functionName: gf_bs_transfer
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_write_data
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bs_transfer(GF_BitStream *dst, GF_BitStream *src,
      Bool keep_src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - reset
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1948
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1948
    functionName: gf_bs_mark_overflow
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_mark_overflow(GF_BitStream *bs, Bool reset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/utils/bitstream.c:1960,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/utils/bitstream.c:1964,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/bitstream.c:1968,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/utils/bitstream.c:1965,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1971
    functionName: gf_bs_read_utf8
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_available
    - gf_dynstrcat
    - gf_bs_is_align
    - gf_bs_read_u8
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_bs_read_utf8(GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:1267,1
    - Dst: lseek_64
      Src: /src/gpac/src/utils/bitstream.c:1271,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/bitstream.c:1277,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/bitstream.c:1278,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/bitstream.c:1276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1281
    functionName: gf_bs_available
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_fsize
    - lseek_64
    - gf_ftell
    - bs_flush_write_cache
    - gf_fseek
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_available(GF_BitStream *bs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/bitstream.c:1853,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - bs
    - stream
    argTypes:
    - GF_BitStream*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1857
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1857
    functionName: gf_bs_reassign
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_ftell
    - gf_bs_seek
    linkageType: ''
    returnType: void
    signature: 'void gf_bs_reassign(GF_BitStream *bs, FILE *stream) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:852,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:859,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:867,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/bitstream.c:877,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:887,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:892,1
    - Dst: write
      Src: /src/gpac/src/utils/bitstream.c:899,1
    - Dst: gf_fputc
      Src: /src/gpac/src/utils/bitstream.c:904,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:900,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - bs
    - val
    argTypes:
    - GF_BitStream*
    - u8
    constantsTouched: []
    func_position:
      end: 909
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 909
    functionName: BS_WriteByte
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LOG
    - write
    - bs_flush_write_cache
    - gf_fputc
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void BS_WriteByte(GF_BitStream *bs, u8 val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:291,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:300,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:293,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - (*on_block_out)
    - usr_data
    - buffer
    - buffer_size
    argTypes:
    - GF_Err
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 311
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 311
    functionName: gf_bs_new_cbk_buffer
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_BitStream*
    signature: 'GF_BitStream *gf_bs_new_cbk_buffer(GF_Err (*on_block_out)(void *cbk,
      u8 *data, u32 block_size), void *usr_data, u8 *buffer, u32 buffer_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:371,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:374,1
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:373,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:377,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 379
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: gf_bs_del
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - bs_flush_write_cache
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_del(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: gf_bs_get_emulation_byte_removed
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_get_emulation_byte_removed(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: gf_bs_read_bit
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_ReadByte
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_bs_read_bit(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/bitstream.c:575,1
    - Dst: BS_ReadByte
      Src: /src/gpac/src/utils/bitstream.c:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: gf_bs_read_u8
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_ReadByte
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_u8(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - bs
    - cookie
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1868
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1868
    functionName: gf_bs_set_cookie
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_bs_set_cookie(GF_BitStream *bs, u64 cookie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1874
    functionName: gf_bs_get_cookie
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_bs_get_cookie(GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new_cbk_buffer
      Src: /src/gpac/src/utils/bitstream.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - (*on_block_out)
    - usr_data
    - block_size
    argTypes:
    - GF_Err
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: gf_bs_new_cbk
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_new_cbk_buffer
    linkageType: ''
    returnType: GF_BitStream*
    signature: 'GF_BitStream *gf_bs_new_cbk(GF_Err (*on_block_out)(void *cbk, u8 *data,
      u32 block_size), void *usr_data, u32 block_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - do_remove
    argTypes:
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: gf_bs_enable_emulation_byte_removal
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_enable_emulation_byte_removal(GF_BitStream *bs,
      Bool do_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_bit
      Src: /src/gpac/src/utils/bitstream.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - bs
    - nBits
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 570
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 570
    functionName: gf_bs_read_int
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_bit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_read_int(GF_BitStream *bs, u32 nBits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BS_WriteByte
      Src: /src/gpac/src/utils/bitstream.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - bit
    argTypes:
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: BS_WriteBit
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_WriteByte
    linkageType: ''
    returnType: void
    signature: 'static void BS_WriteBit(GF_BitStream *bs, u32 bit) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1646
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1646
    functionName: gf_bs_get_size
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_get_size(GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1654
    functionName: gf_bs_get_position
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_bs_get_position(GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: gf_bs_is_align
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bs_is_align(GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - bs
    - buffer
    - BufferSize
    argTypes:
    - GF_BitStream*
    - u8*
    - u64
    constantsTouched: []
    func_position:
      end: 130
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 130
    functionName: gf_bs_reassign_buffer
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    linkageType: ''
    returnType: GF_NOT_EXPORTED
    signature: 'GF_NOT_EXPORTED GF_Err gf_bs_reassign_buffer(GF_BitStream *bs, const
      u8 *buffer, u64 BufferSize) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bs_flush_write_cache
      Src: /src/gpac/src/utils/bitstream.c:469,1
    - Dst: gf_feof
      Src: /src/gpac/src/utils/bitstream.c:476,1
    - Dst: gf_bs_load_byte
      Src: /src/gpac/src/utils/bitstream.c:489,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:486,1
    - Dst: gf_bs_load_byte
      Src: /src/gpac/src/utils/bitstream.c:494,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:517,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/bitstream.c:520,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 522
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 522
    functionName: BS_ReadByte
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_seek
    - gf_bs_load_byte
    - bs_flush_write_cache
    - gf_assert
    - gf_feof
    linkageType: ''
    returnType: u8
    signature: 'static u8 BS_ReadByte(GF_BitStream *bs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_is_align
      Src: /src/gpac/src/utils/bitstream.c:1044,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1047,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:1057,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/bitstream.c:1070,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:1075,1
    - Dst: write
      Src: /src/gpac/src/utils/bitstream.c:1082,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/utils/bitstream.c:1087,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 3
    argNames:
    - bs
    - byte
    - repeat_count
    argTypes:
    - GF_BitStream*
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 1096
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1096
    functionName: gf_bs_write_byte
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_is_align
    - memset
    - gf_realloc
    - write
    - gf_fwrite
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bs_write_byte(GF_BitStream *bs, u8 byte, u32 repeat_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1722,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/utils/bitstream.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1727
    functionName: gf_bs_read_u16_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_bs_read_u16_le(GF_BitStream *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:135,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:163,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:165,1
    - Dst: memset
      Src: /src/gpac/src/utils/bitstream.c:137,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - BufferSize
    - mode
    argTypes:
    - u8*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 180
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 180
    functionName: gf_bs_new
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BitStream *gf_bs_new(const u8 *buffer, u64 BufferSize,
      u32 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BS_WriteBit
      Src: /src/gpac/src/utils/bitstream.c:1111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bs
    - value
    argTypes:
    - GF_BitStream*
    - Float
    constantsTouched: []
    func_position:
      end: 1113
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1113
    functionName: gf_bs_write_float
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - BS_WriteBit
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_float(GF_BitStream *bs, Float value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1732,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1734,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1736,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1735,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1733,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1737,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1738,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/bitstream.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - bs
    - val
    argTypes:
    - GF_BitStream*
    - u64
    constantsTouched: []
    func_position:
      end: 1740
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1740
    functionName: gf_bs_write_u64_le
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bs_write_u64_le(GF_BitStream *bs, u64 val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gpac/src/utils/bitstream.c:417,1
    - Dst: read
      Src: /src/gpac/src/utils/bitstream.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/bitstream.c:435,1
    - Dst: gf_fgetc
      Src: /src/gpac/src/utils/bitstream.c:439,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/bitstream.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - bs
    - is_eos
    argTypes:
    - GF_BitStream*
    - Bool*
    constantsTouched: []
    func_position:
      end: 442
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 442
    functionName: gf_bs_load_byte
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - read
    - gf_fread
    - gf_fgetc
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u8 gf_bs_load_byte(GF_BitStream *bs, Bool *is_eos) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/bitstream.c:1887,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/bitstream.c:1891,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1903,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1895,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/utils/bitstream.c:1904,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1906,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/bitstream.c:1907,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1913,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/utils/bitstream.c:1914,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1917,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:1918,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/bitstream.c:1922,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/bitstream.c:1923,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - bs
    - data
    - size
    - offset
    argTypes:
    - GF_BitStream*
    - u8*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 1925
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1925
    functionName: gf_bs_insert_data
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_write_data
    - gf_bs_seek
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bs_insert_data(GF_BitStream *bs, u8 *data, u32
      size, u64 offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - bs
    - (*on_bs_log)
    - udta
    argTypes:
    - GF_BitStream*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1934
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1934
    functionName: gf_bs_set_logger
    functionSourceFile: /src/gpac/src/utils/bitstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bs_set_logger(GF_BitStream *bs, void (*on_bs_log)(void *udta,
      const char *field_name, u32 nb_bits, u64 field_val, s32 idx1, s32 idx2, s32
      idx3), void *udta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:272,1
    - Dst: memset
      Src: /src/gpac/src/utils/configfile.c:273,1
    - Dst: gf_cfg_parse_config_file
      Src: /src/gpac/src/utils/configfile.c:279,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/configfile.c:275,1
    - Dst: gf_cfg_clear
      Src: /src/gpac/src/utils/configfile.c:280,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - filePath
    - file_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: gf_cfg_new
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_cfg_parse_config_file
    - gf_cfg_clear
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Config *gf_cfg_new(const char *filePath, const char*
      file_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/configfile.c:307,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/configfile.c:315,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:317,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/configfile.c:313,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:311,1
    - Dst: strchr
      Src: /src/gpac/src/utils/configfile.c:318,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/configfile.c:319,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/configfile.c:321,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/configfile.c:325,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 327
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 327
    functionName: gf_cfg_save
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_list_enum
    - strchr
    - strnicmp
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_cfg_save(GF_Config *iniFile) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:363,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:370,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:364,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 4
    argNames:
    - iniFile
    - secName
    - keyName
    - restricted_only
    argTypes:
    - GF_Config*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 378
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 378
    functionName: gf_cfg_get_key_internal
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_cfg_get_key_internal(GF_Config *iniFile, const char
      *secName, const char *keyName, Bool restricted_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/configfile.c:506,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - iniFile
    - secName
    - keyIndex
    argTypes:
    - GF_Config*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: gf_cfg_get_key_name
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cfg_get_key_name(GF_Config *iniFile, const
      char *secName, u32 keyIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: gf_cfg_get_filename
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_cfg_get_filename(GF_Config *iniFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: gf_cfg_discard_changes
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_cfg_discard_changes(GF_Config *iniFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key_internal
      Src: /src/gpac/src/utils/configfile.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - iniFile
    - secName
    - keyName
    argTypes:
    - GF_Config*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: gf_cfg_get_key
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_key_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cfg_get_key(GF_Config *iniFile, const char
      *secName, const char *keyName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:521,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:522,1
    - Dst: DelSection
      Src: /src/gpac/src/utils/configfile.c:523,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/configfile.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - iniFile
    - secName
    argTypes:
    - GF_Config*
    - char*
    constantsTouched: []
    func_position:
      end: 529
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 529
    functionName: gf_cfg_del_section
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - DelSection
    - gf_list_enum
    - strcmp
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cfg_del_section(GF_Config *iniFile, const char *secName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/configfile.c:350,1
    - Dst: gf_cfg_clear
      Src: /src/gpac/src/utils/configfile.c:351,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: gf_cfg_remove
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_file_delete
    - gf_cfg_clear
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_cfg_remove(GF_Config *iniFile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:393,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/configfile.c:394,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/configfile.c:401,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:400,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - iniFile
    - secName
    - keyName
    argTypes:
    - GF_Config*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 404
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 404
    functionName: gf_cfg_get_ikey
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_cfg_get_ikey(GF_Config *iniFile, const char *secName,
      const char *keyName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:541,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:547,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:548,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:551,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:542,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:552,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:553,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/configfile.c:554,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - iniFile
    - secName
    - keyName
    - keyValue
    - index
    argTypes:
    - GF_Config*
    - char*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 557
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 557
    functionName: gf_cfg_insert_key
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_malloc
    - gf_list_enum
    - gf_strdup
    - strcmp
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cfg_insert_key(GF_Config *iniFile, const char *secName,
      const char *keyName, const char *keyValue, u32 index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:568,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:578,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/configfile.c:568,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:577,1
    - Dst: strtok
      Src: /src/gpac/src/utils/configfile.c:574,1
    - Dst: strtok
      Src: /src/gpac/src/utils/configfile.c:582,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - iniFile
    - secName
    - keyName
    - sub_index
    argTypes:
    - GF_Config*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 586
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 586
    functionName: gf_cfg_get_sub_key
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - strtok
    - gf_strdup
    - gf_cfg_get_key
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_cfg_get_sub_key(GF_Config *iniFile, const char *secName,
      const char *keyName, u32 sub_index) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/configfile.c:416,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:420,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/configfile.c:425,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:439,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:451,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:460,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:458,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:432,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:437,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/configfile.c:448,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:450,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:461,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:419,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:449,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:423,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:424,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/configfile.c:428,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:433,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:438,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/configfile.c:442,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 5
    argNames:
    - iniFile
    - secName
    - keyName
    - keyValue
    - is_restrict
    argTypes:
    - GF_Config*
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 465
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 465
    functionName: gf_cfg_set_key_internal
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_enum
    - gf_strdup
    - strcmp
    - strnicmp
    - gf_list_new
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cfg_set_key_internal(GF_Config *iniFile, const char *secName,
      const char *keyName, const char *keyValue, Bool is_restrict) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/configfile.c:76,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/configfile.c:81,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/configfile.c:78,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:84,1
    - Dst: DelSection
      Src: /src/gpac/src/utils/configfile.c:79,1
    - Dst: memset
      Src: /src/gpac/src/utils/configfile.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: gf_cfg_clear
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_list_del
    - gf_list_count
    - DelSection
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_cfg_clear(GF_Config * iniFile) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/configfile.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:60,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:59,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/configfile.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:58,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/configfile.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:64,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - IniSection*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: DelSection
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void DelSection(IniSection *ptr) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_clear
      Src: /src/gpac/src/utils/configfile.c:103,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:112,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:121,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/configfile.c:123,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/configfile.c:147,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:128,1
    - Dst: strchr
      Src: /src/gpac/src/utils/configfile.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:188,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:190,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:190,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:221,1
    - Dst: strcat
      Src: /src/gpac/src/utils/configfile.c:244,1
    - Dst: strchr
      Src: /src/gpac/src/utils/configfile.c:193,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:202,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:208,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:237,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:112,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:115,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/configfile.c:122,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/configfile.c:118,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:155,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:164,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/configfile.c:187,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:190,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:196,1
    - Dst: memset
      Src: /src/gpac/src/utils/configfile.c:203,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:209,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:193,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:219,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:218,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/configfile.c:256,1
    - Dst: strstr
      Src: /src/gpac/src/utils/configfile.c:105,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:112,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/configfile.c:113,1
    - Dst: strcat
      Src: /src/gpac/src/utils/configfile.c:114,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/configfile.c:116,1
    - Dst: memset
      Src: /src/gpac/src/utils/configfile.c:129,1
    - Dst: gf_feof
      Src: /src/gpac/src/utils/configfile.c:143,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:148,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:170,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:189,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/configfile.c:191,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:219,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:106,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/configfile.c:153,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/configfile.c:154,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:186,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/configfile.c:195,1
    - Dst: strchr
      Src: /src/gpac/src/utils/configfile.c:204,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:207,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:230,1
    - Dst: strlen
      Src: /src/gpac/src/utils/configfile.c:236,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:255,1
    - Dst: gf_cfg_clear
      Src: /src/gpac/src/utils/configfile.c:197,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:230,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/configfile.c:238,1
    - Dst: strcat
      Src: /src/gpac/src/utils/configfile.c:241,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/configfile.c:225,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 188
    argCount: 3
    argNames:
    - tmp
    - filePath
    - file_name
    argTypes:
    - GF_Config*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 258
    functionName: gf_cfg_parse_config_file
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - gf_fgets
    - gf_feof
    - strstr
    - gf_strdup
    - gf_cfg_clear
    - strcmp
    - strcpy
    - gf_list_new
    - gf_fopen
    - sprintf
    - strchr
    - gf_free
    - strcat
    - gf_realloc
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cfg_parse_config_file(GF_Config * tmp, const char * filePath,
      const char * file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/configfile.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - iniFile
    - secIndex
    argTypes:
    - GF_Config*
    - u32
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: gf_cfg_get_section_name
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cfg_get_section_name(GF_Config *iniFile,
      u32 secIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/configfile.c:262,1
    - Dst: memset
      Src: /src/gpac/src/utils/configfile.c:263,1
    - Dst: gf_cfg_parse_config_file
      Src: /src/gpac/src/utils/configfile.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - filePath
    - file_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: gf_cfg_force_new
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_cfg_parse_config_file
    - memset
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Config *gf_cfg_force_new(const char *filePath, const
      char* file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/configfile.c:493,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/configfile.c:494,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/configfile.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - iniFile
    - secName
    argTypes:
    - GF_Config*
    - char*
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: gf_cfg_get_key_count
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_cfg_get_key_count(GF_Config *iniFile, const char
      *secName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_save
      Src: /src/gpac/src/utils/configfile.c:341,1
    - Dst: gf_cfg_clear
      Src: /src/gpac/src/utils/configfile.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: gf_cfg_del
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_cfg_clear
    - gf_free
    - gf_cfg_save
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cfg_del(GF_Config *iniFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_set_key_internal
      Src: /src/gpac/src/utils/configfile.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - iniFile
    - secName
    - keyName
    - keyValue
    argTypes:
    - GF_Config*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: gf_cfg_set_key
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_cfg_set_key(GF_Config *iniFile, const char *secName,
      const char *keyName, const char *keyValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/configfile.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iniFile
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: gf_cfg_get_section_count
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_cfg_get_section_count(GF_Config *iniFile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/configfile.c:592,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/configfile.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - iniFile
    - fileName
    argTypes:
    - GF_Config*
    - char*
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: gf_cfg_set_filename
    functionSourceFile: /src/gpac/src/utils/configfile.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cfg_set_filename(GF_Config *iniFile, const char * fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gp
    - pt
    argTypes:
    - GF_Path*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: gf_path_add_line_to_vec
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_line_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_line_to_vec(GF_Path *gp, GF_Point2D *pt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - gp
    - c_x
    - c_y
    - x
    - y
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: gf_path_add_quadratic_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_quadratic_to(GF_Path *gp, Fixed c_x,
      Fixed c_y, Fixed x, Fixed y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/path2d.c:360,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:365,1
    - Dst: NBezier
      Src: /src/gpac/src/utils/path2d.c:364,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - gp
    - newpts
    - nbPoints
    argTypes:
    - GF_Path*
    - GF_Point2D*
    - u32
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: gf_add_n_bezier
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - FIX2INT
    - gf_path_add_line_to
    - NBezier
    linkageType: ''
    returnType: void
    signature: 'static void gf_add_n_bezier(GF_Path *gp, GF_Point2D *newpts, u32 nbPoints) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/utils/path2d.c:1077,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1096,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1100,1
    - Dst: gf_subdivide_cubic_hit_test
      Src: /src/gpac/src/utils/path2d.c:1120,1
    - Dst: gf_subdivide_cubic_hit_test
      Src: /src/gpac/src/utils/path2d.c:1114,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1133,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1137,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 99
    argCount: 3
    argNames:
    - gp
    - x
    - y
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1148
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1148
    functionName: gf_path_point_over
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - isLeft
    - gf_subdivide_cubic_hit_test
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_path_point_over(GF_Path *gp, Fixed x, Fixed y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:176,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:176,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: gf_path_close
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - ABS
    - gf_path_add_line_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_close(GF_Path *gp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/utils/path2d.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gp
    - c
    - pt
    argTypes:
    - GF_Path*
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: gf_path_add_quadratic_to_vec
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_quadratic_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_quadratic_to_vec(GF_Path *gp, GF_Point2D
      *c, GF_Point2D *pt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:279,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d.c:283,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d.c:284,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:283,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:284,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:285,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - gp
    - cx
    - cy
    - a_axis
    - b_axis
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 289
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 289
    functionName: gf_path_add_ellipse
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_path_close
    - gf_path_add_line_to
    - gf_sin
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_ellipse(GF_Path *gp, Fixed cx, Fixed
      cy, Fixed a_axis, Fixed b_axis) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d.c:376,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:382,1
    - Dst: gf_add_n_bezier
      Src: /src/gpac/src/utils/path2d.c:380,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - gp
    - pts
    - nbPoints
    argTypes:
    - GF_Path*
    - GF_Point2D*
    - u32
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: gf_path_add_bezier
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - gf_add_n_bezier
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_bezier(GF_Path *gp, GF_Point2D *pts,
      u32 nbPoints) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1155
    functionName: gf_path_is_empty
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_path_is_empty(GF_Path *gp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/path2d.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: gf_path_new
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Path *gf_path_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gp
    - pt
    argTypes:
    - GF_Path*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: gf_path_add_move_to_vec
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_move_to_vec(GF_Path *gp, GF_Point2D *pt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:244,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:248,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:250,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:252,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - gp
    - cx
    - cy
    - w
    - h
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: gf_path_add_rect_center
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_close
    - gf_path_add_line_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_rect_center(GF_Path *gp, Fixed cx, Fixed
      cy, Fixed w, Fixed h) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:46,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:48,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:47,1
    - Dst: memset
      Src: /src/gpac/src/utils/path2d.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: gf_path_reset
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - memset
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_path_reset(GF_Path *gp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - gp
    - x
    - y
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: gf_path_add_line_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_line_to(GF_Path *gp, Fixed x, Fixed y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:258,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:262,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:260,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:264,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - gp
    - ox
    - oy
    - w
    - h
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: gf_path_add_rect
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_close
    - gf_path_add_line_to
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_rect(GF_Path *gp, Fixed ox, Fixed oy,
      Fixed w, Fixed h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/gpac/src/utils/path2d.c:330,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:351,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/path2d.c:350,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/path2d.c:351,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - pts
    - n
    - mu
    - pt_out
    argTypes:
    - GF_Point2D*
    - s32
    - Double
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 353
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 353
    functionName: NBezier
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - pow
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void NBezier(GF_Point2D *pts, s32 n, Double mu, GF_Point2D
      *pt_out) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d.c:295,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:310,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d.c:302,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:307,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d.c:304,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:313,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/utils/path2d.c:316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - gp
    - src
    - mx
    argTypes:
    - GF_Path*
    - GF_Path*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 320
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 320
    functionName: gf_path_add_subpath
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    - gf_rect_union
    - gf_mx2d_apply_coords
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_path_add_subpath(GF_Path *gp, GF_Path *src, GF_Matrix2D
      *mx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:594,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d.c:605,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:605,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d.c:604,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:604,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d.c:607,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:610,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - gp
    - radius
    - start_angle
    - end_angle
    - close_type
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - GF_Path2DArcCloseType
    constantsTouched: []
    func_position:
      end: 617
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 617
    functionName: gf_path_add_arc
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_path_close
    - gf_path_add_line_to
    - gf_sin
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_arc(GF_Path *gp, Fixed radius, Fixed
      start_angle, Fixed end_angle, GF_Path2DArcCloseType close_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_clone
      Src: /src/gpac/src/utils/path2d.c:946,1
    - Dst: MAX
      Src: /src/gpac/src/utils/path2d.c:949,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/utils/path2d.c:961,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/utils/path2d.c:953,1
    - Dst: gf_path_new
      Src: /src/gpac/src/utils/path2d.c:951,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/utils/path2d.c:964,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:966,1
    - Dst: gf_subdivide_cubic
      Src: /src/gpac/src/utils/path2d.c:979,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:981,1
    - Dst: gf_subdivide_cubic
      Src: /src/gpac/src/utils/path2d.c:986,1
    - Dst: gf_path_close
      Src: /src/gpac/src/utils/path2d.c:988,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 996
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 996
    functionName: gf_path_get_flatten
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_clone
    - gf_subdivide_cubic
    - gf_path_add_line_to_vec
    - gf_path_close
    - gf_path_new
    - gf_path_add_move_to_vec
    - MAX
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Path *gf_path_get_flatten(GF_Path *gp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/path2d.c:1180,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d.c:1187,1
    - Dst: gf_path_get_flatten
      Src: /src/gpac/src/utils/path2d.c:1182,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:1201,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1184,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1201,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1201,1
    - Dst: gf_path_del
      Src: /src/gpac/src/utils/path2d.c:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1210
    functionName: gf_path_iterator_new
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_flatten
    - gf_malloc
    - gf_mulfix
    - gf_path_del
    - gf_sqrt
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_PathIterator *gf_path_iterator_new(GF_Path *gp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - gp
    - rc
    argTypes:
    - GF_Path*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 662
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 662
    functionName: gf_path_get_control_bounds
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_get_control_bounds(GF_Path *gp, GF_Rect *rc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_flatten
      Src: /src/gpac/src/utils/path2d.c:1005,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1008,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1007,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1006,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:1009,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1011,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1012
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1012
    functionName: gf_path_flatten
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_get_flatten
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_path_flatten(GF_Path *gp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - GF_PathIterator*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: gf_path_iterator_get_length
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_path_iterator_get_length(GF_PathIterator *it) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/path2d.c:60,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d.c:67,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:64,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:69,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:70,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d.c:73,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:75,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:76,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:77,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:82,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:83,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: gf_path_clone
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Path *gf_path_clone(GF_Path *gp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - gp
    - c1_x
    - c1_y
    - c2_x
    - c2_y
    - x
    - y
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: gf_path_add_cubic_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_cubic_to(GF_Path *gp, Fixed c1_x, Fixed
      c1_y, Fixed c2_x, Fixed c2_y, Fixed x, Fixed y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/path2d.c:406,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:418,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:418,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d.c:432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:433,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/path2d.c:402,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/utils/path2d.c:404,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:408,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:410,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:411,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:421,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d.c:433,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d.c:401,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:421,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d.c:414,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:436,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/utils/path2d.c:403,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/utils/path2d.c:407,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:409,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:416,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d.c:415,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:421,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:432,1
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/path2d.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 82
    argCount: 8
    argNames:
    - gp
    - end_x
    - end_y
    - fa_x
    - fa_y
    - fb_x
    - fb_y
    - cw
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 439
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 439
    functionName: gf_path_add_arc_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_inverse
    - gf_mx2d_add_translation
    - gf_mx2d_apply_coords
    - gf_mulfix
    - gf_mx2d_init
    - gf_cos
    - gf_sqrt
    - gf_path_add_line_to
    - gf_mx2d_copy
    - gf_mx2d_add_rotation
    - gf_sin
    - gf_atan2
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_arc_to(GF_Path *gp, Fixed end_x, Fixed
      end_y, Fixed fa_x, Fixed fa_y, Fixed fb_x, Fixed fb_y, Bool cw) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:718,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:719,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:720,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:721,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 6
    argNames:
    - p1
    - p2
    - p3
    - p4
    - min
    - max
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 759
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 759
    functionName: gf_cubic_check
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - ABS
    linkageType: ''
    returnType: void
    signature: 'static void gf_cubic_check(Fixed p1, Fixed p2, Fixed p3, Fixed p4,
      Fixed *min, Fixed *max) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:889,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:893,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:897,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:929,1
    - Dst: gf_subdivide_cubic
      Src: /src/gpac/src/utils/path2d.c:932,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:887,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:890,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:894,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:927,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:901,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:913,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:902,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/utils/path2d.c:877,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:901,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:905,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:927,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:889,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/utils/path2d.c:881,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:893,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:897,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:898,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:908,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:928,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:929,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:930,1
    - Dst: gf_subdivide_cubic
      Src: /src/gpac/src/utils/path2d.c:934,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 122
    argCount: 10
    argNames:
    - gp
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - fineness
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 935
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 935
    functionName: gf_subdivide_cubic
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_subdivide_cubic
    - gf_mulfix
    - gf_path_add_line_to
    - gf_v2d_len
    - ABS
    - gf_divfix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_subdivide_cubic(GF_Path *gp, Fixed x0, Fixed y0,
      Fixed x1, Fixed y1, Fixed x2, Fixed y2, Fixed x3, Fixed y3, Fixed fineness) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1243,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:1248,1
    - Dst: gf_acos
      Src: /src/gpac/src/utils/path2d.c:1259,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/utils/path2d.c:1285,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1264,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/path2d.c:1237,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:1239,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/utils/path2d.c:1243,1
    - Dst: gf_acos
      Src: /src/gpac/src/utils/path2d.c:1277,1
    - Dst: gf_acos
      Src: /src/gpac/src/utils/path2d.c:1248,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:1259,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/path2d.c:1284,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1264,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/path2d.c:1287,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1243,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:1254,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1266,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:1266,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/path2d.c:1286,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:1277,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 6
    argNames:
    - path
    - offset
    - follow_tangent
    - mat
    - smooth_edges
    - length_after_point
    argTypes:
    - GF_PathIterator*
    - Fixed
    - Bool
    - GF_Matrix2D*
    - Bool
    - Fixed
    constantsTouched: []
    func_position:
      end: 1289
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1289
    functionName: gf_path_iterator_get_transform
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mulfix
    - gf_acos
    - gf_mx2d_init
    - gf_mx2d_add_matrix
    - gf_divfix
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_path_iterator_get_transform(GF_PathIterator *path,
      Fixed offset, Bool follow_tangent, GF_Matrix2D *mat, Bool smooth_edges, Fixed
      length_after_point) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - gp
    - x
    - y
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: gf_path_add_move_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_move_to(GF_Path *gp, Fixed x, Fixed y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:95,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:96,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:98,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: gf_path_del
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_path_del(GF_Path *gp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/utils/path2d.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - gp
    - c1
    - c2
    - pt
    argTypes:
    - GF_Path*
    - GF_Point2D*
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: gf_path_add_cubic_to_vec
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_path_add_cubic_to
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_cubic_to_vec(GF_Path *gp, GF_Point2D
      *c1, GF_Point2D *c2, GF_Point2D *pt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:465,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:481,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:485,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:491,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:488,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:498,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:499,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:510,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:510,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:530,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:533,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:542,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:555,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:556,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:519,1
    - Dst: MAX
      Src: /src/gpac/src/utils/path2d.c:558,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:486,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:494,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:506,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:510,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:521,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:524,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:524,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d.c:530,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:533,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:537,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:575,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:573,1
    - Dst: gf_acos
      Src: /src/gpac/src/utils/path2d.c:545,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:553,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:532,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:553,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:556,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:572,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:532,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d.c:477,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d.c:476,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:475,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:485,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:487,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/path2d.c:492,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:496,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:490,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:497,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:496,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:574,1
    - Dst: MIN
      Src: /src/gpac/src/utils/path2d.c:558,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:538,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d.c:573,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:551,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:542,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:553,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:555,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d.c:572,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:486,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:494,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:506,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:509,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:526,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:532,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:537,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:538,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:540,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:541,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:542,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:556,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:556,1
    - Dst: gf_acos
      Src: /src/gpac/src/utils/path2d.c:559,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:533,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/path2d.c:497,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:545,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d.c:552,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:575,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d.c:576,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d.c:574,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 231
    argCount: 8
    argNames:
    - gp
    - end_x
    - end_y
    - r_x
    - r_y
    - x_axis_rotation
    - large_arc_flag
    - sweep_flag
    argTypes:
    - GF_Path*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 579
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 579
    functionName: gf_path_add_svg_arc_to
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - MAX
    - MIN
    - gf_mulfix
    - gf_acos
    - gf_cos
    - gf_path_add_line_to
    - gf_sqrt
    - ABS
    - gf_divfix
    - gf_assert
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_add_svg_arc_to(GF_Path *gp, Fixed end_x,
      Fixed end_y, Fixed r_x, Fixed r_y, Fixed x_axis_rotation, Bool large_arc_flag,
      Bool sweep_flag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/utils/path2d.c:1026,1
    - Dst: MIN
      Src: /src/gpac/src/utils/path2d.c:1026,1
    - Dst: MIN
      Src: /src/gpac/src/utils/path2d.c:1026,1
    - Dst: MAX
      Src: /src/gpac/src/utils/path2d.c:1027,1
    - Dst: MAX
      Src: /src/gpac/src/utils/path2d.c:1027,1
    - Dst: MAX
      Src: /src/gpac/src/utils/path2d.c:1027,1
    - Dst: gf_subdivide_cubic_hit_test
      Src: /src/gpac/src/utils/path2d.c:1043,1
    - Dst: gf_subdivide_cubic_hit_test
      Src: /src/gpac/src/utils/path2d.c:1044,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1057,1
    - Dst: isLeft
      Src: /src/gpac/src/utils/path2d.c:1062,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 11
    argNames:
    - h_x
    - h_y
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - wn
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - s32*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1065
    functionName: gf_subdivide_cubic_hit_test
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - isLeft
    - MAX
    - MIN
    - gf_subdivide_cubic_hit_test
    linkageType: ''
    returnType: void
    signature: 'static void gf_subdivide_cubic_hit_test(Fixed h_x, Fixed h_y, Fixed
      x0, Fixed y0, Fixed x1, Fixed y1, Fixed x2, Fixed y2, Fixed x3, Fixed y3, s32
      *wn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1294,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d.c:1295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - GF_PathIterator*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1296
    functionName: gf_path_iterator_del
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_path_iterator_del(GF_PathIterator *it) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ConvexGetPointDelta
      Src: /src/gpac/src/utils/path2d.c:1346,1
    - Dst: ConvexCompare
      Src: /src/gpac/src/utils/path2d.c:1349,1
    - Dst: ConvexCompare
      Src: /src/gpac/src/utils/path2d.c:1363,1
    - Dst: ConvexGetPointDelta
      Src: /src/gpac/src/utils/path2d.c:1352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pts
    - len
    argTypes:
    - GF_Point2D*
    - u32
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: gf_polygone2d_get_convexity
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - ConvexGetPointDelta
    - ConvexCompare
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_polygone2d_get_convexity(GF_Point2D *pts, u32 len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/path2d.c:687,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - y1
    - y2
    - y3
    - min
    - max
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: gf_conic_check
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    linkageType: ''
    returnType: void
    signature: 'static void gf_conic_check(Fixed y1, Fixed y2, Fixed y3, Fixed *min,
      Fixed *max) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_control_bounds
      Src: /src/gpac/src/utils/path2d.c:778,1
    - Dst: gf_cubic_check
      Src: /src/gpac/src/utils/path2d.c:844,1
    - Dst: gf_conic_check
      Src: /src/gpac/src/utils/path2d.c:829,1
    - Dst: gf_cubic_check
      Src: /src/gpac/src/utils/path2d.c:847,1
    - Dst: gf_conic_check
      Src: /src/gpac/src/utils/path2d.c:832,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 113
    argCount: 2
    argNames:
    - gp
    - rc
    argTypes:
    - GF_Path*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 862
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 862
    functionName: gf_path_get_bounds
    functionSourceFile: /src/gpac/src/utils/path2d.c
    functionUses: []
    functionsReached:
    - gf_conic_check
    - gf_path_get_control_bounds
    - gf_cubic_check
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_path_get_bounds(GF_Path *gp, GF_Rect *rc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_module
      Src: /src/gpac/src/utils/module.c:116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/module.c:122,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - (*register_module)
    argTypes:
    - GF_InterfaceRegister*
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: gf_module_load_static
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - register_module
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_module_load_static(GF_InterfaceRegister *(*register_module)()) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:171,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/module.c:162,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:167,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:160,1
    - Dst: strtok
      Src: /src/gpac/src/utils/module.c:178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:182,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/module.c:185,1
    - Dst: strtok
      Src: /src/gpac/src/utils/module.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 189
    functionName: gf_modules_refresh_module_directories
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - strtok
    - gf_strdup
    - GF_LOG
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void gf_modules_refresh_module_directories() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_all_modules
      Src: /src/gpac/src/utils/module.c:137,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:140,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/utils/module.c:140,1
    - Dst: gf_modules_refresh
      Src: /src/gpac/src/utils/module.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: gf_modules_check_load
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_modules_count
    - load_all_modules
    - GF_LOG
    - gf_modules_refresh
    linkageType: ''
    returnType: void
    signature: 'static void gf_modules_check_load() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/module.c:567,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 2
    argNames:
    - ifce
    - ifce_type
    argTypes:
    - GF_BaseInterface*
    - u32
    constantsTouched: []
    func_position:
      end: 577
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 577
    functionName: module_check_ifce
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool module_check_ifce(GF_BaseInterface *ifce, u32 ifce_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/module.c:522,1
    - Dst: gf_modules_unload_library
      Src: /src/gpac/src/utils/module.c:529,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/module.c:527,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/module.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 532
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 532
    functionName: gf_modules_close_interface
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_modules_unload_library
    - gf_list_rem
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_modules_close_interface(GF_BaseInterface *ifce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/module.c:291,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pm
    - filename
    argTypes:
    - GF_ModuleManager*
    - char*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: gf_module_is_loaded
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_module_is_loaded(GF_ModuleManager *pm, char *filename) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:324,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:334,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:348,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:346,1
    - Dst: gf_modules_load_library
      Src: /src/gpac/src/utils/module.c:353,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:354,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/module.c:339,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:375,1
    - Dst: strcat
      Src: /src/gpac/src/utils/module.c:391,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:316,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:333,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/module.c:337,1
    - Dst: strstr
      Src: /src/gpac/src/utils/module.c:344,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/module.c:340,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/module.c:386,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/module.c:386,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/module.c:406,1
    - Dst: gf_modules_check_load
      Src: /src/gpac/src/utils/module.c:322,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:330,1
    - Dst: strstr
      Src: /src/gpac/src/utils/module.c:341,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:355,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:356,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:361,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:376,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:416,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/module.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:326,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/module.c:345,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/module.c:382,1
    - Dst: strcat
      Src: /src/gpac/src/utils/module.c:387,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:409,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:414,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/module.c:417,1
    - Dst: gf_modules_unload_library
      Src: /src/gpac/src/utils/module.c:415,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 88
    argCount: 2
    argNames:
    - whichplug
    - InterfaceFamily
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 419
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 419
    functionName: gf_modules_load
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_malloc
    - snprintf
    - gf_list_get
    - gf_modules_load_library
    - gf_cfg_set_key
    - strcat
    - strncmp
    - gf_list_add
    - gf_modules_unload_library
    - gf_mx_p
    - GF_LOG
    - gf_modules_check_load
    - gf_cfg_get_key
    - gf_mx_v
    - strstr
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BaseInterface *gf_modules_load(u32 whichplug, u32 InterfaceFamily) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: gf_modules_get_file_name
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_modules_get_file_name(u32 i) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/src/utils/module.c:584,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:595,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:598,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/utils/module.c:586,1
    - Dst: module_check_ifce
      Src: /src/gpac/src/utils/module.c:585,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:601,1
    - Dst: gf_modules_load_by_name
      Src: /src/gpac/src/utils/module.c:607,1
    - Dst: module_check_ifce
      Src: /src/gpac/src/utils/module.c:608,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/utils/module.c:609,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/utils/module.c:615,1
    - Dst: module_check_ifce
      Src: /src/gpac/src/utils/module.c:620,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/utils/module.c:621,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/utils/module.c:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - ifce_type
    - name
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 629
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 629
    functionName: gf_module_load
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_modules_count
    - gf_modules_close_interface
    - gf_modules_load
    - module_check_ifce
    - gf_modules_load_by_name
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_BaseInterface*
    signature: 'GF_BaseInterface *gf_module_load(u32 ifce_type, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_refresh_module_directories
      Src: /src/gpac/src/utils/module.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: gf_module_reload_dirs
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_modules_refresh_module_directories
    linkageType: ''
    returnType: void
    signature: 'void gf_module_reload_dirs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:49,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:56,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:60,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:64,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:53,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:68,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:72,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:76,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:80,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:85,1
    - Dst: LOAD_PLUGIN
      Src: /src/gpac/src/utils/module.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - GF_ModuleManager*
    constantsTouched: []
    func_position:
      end: 103
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 103
    functionName: load_all_modules
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - LOAD_PLUGIN
    linkageType: ''
    returnType: void
    signature: 'static void load_all_modules(GF_ModuleManager *mgr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/module.c:206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:215,1
    - Dst: gf_modules_refresh_module_directories
      Src: /src/gpac/src/utils/module.c:210,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/module.c:213,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/module.c:209,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:216,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/module.c:220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:222,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/module.c:223,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:224,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:232,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/utils/module.c:232,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/utils/module.c:234,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/module.c:234,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/module.c:229,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:231,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/src/utils/module.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - config
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 238
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 238
    functionName: gf_modules_new
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - gf_cfg_del_section
    - gf_list_del
    - gf_list_new
    - GF_LOG
    - strcmp
    - gf_opts_set_key
    - GF_SAFEALLOC
    - gf_free
    - gf_modules_refresh_module_directories
    - gf_opts_get_bool
    - gf_gpac_version
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'void gf_modules_new(GF_Config *config) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ifce
    argTypes:
    - GF_BaseInterface*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: gf_module_get_file_name
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_module_get_file_name(GF_BaseInterface *ifce) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_check_load
      Src: /src/gpac/src/utils/module.c:428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:432,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/module.c:437,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:430,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/module.c:435,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:439,1
    - Dst: strstr
      Src: /src/gpac/src/utils/module.c:440,1
    - Dst: gf_modules_load_library
      Src: /src/gpac/src/utils/module.c:442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:443,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:444,1
    - Dst: gf_modules_unload_library
      Src: /src/gpac/src/utils/module.c:452,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - whichplug
    - fsess
    argTypes:
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 455
    functionName: gf_modules_load_filter
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_modules_load_library
    - gf_cfg_set_key
    - strncmp
    - gf_modules_unload_library
    - GF_LOG
    - strcmp
    - gf_modules_check_load
    - gf_cfg_get_key
    - strstr
    linkageType: ''
    returnType: void*
    signature: 'void *gf_modules_load_filter(u32 whichplug, void *fsess) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:465,1
    - Dst: gf_modules_check_load
      Src: /src/gpac/src/utils/module.c:469,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/module.c:471,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/module.c:473,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:478,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:479,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/utils/module.c:480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:486,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:490,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:491,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/module.c:497,1
    - Dst: gf_module_get_file_name
      Src: /src/gpac/src/utils/module.c:502,1
    - Dst: strstr
      Src: /src/gpac/src/utils/module.c:503,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/utils/module.c:506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/module.c:508,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:495,1
    - Dst: gf_modules_load
      Src: /src/gpac/src/utils/module.c:493,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 3
    argNames:
    - plug_name
    - InterfaceFamily
    - rebrowse_all
    argTypes:
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 510
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 510
    functionName: gf_modules_load_by_name
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_cfg_set_key
    - gf_list_count
    - GF_LOG
    - strcmp
    - gf_module_get_file_name
    - gf_modules_close_interface
    - gf_modules_check_load
    - gf_cfg_get_key
    - gf_modules_load
    - strstr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_BaseInterface *gf_modules_load_by_name(const char *plug_name,
      u32 InterfaceFamily, Bool rebrowse_all) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/src/utils/module.c:683,1
    - Dst: atoi
      Src: /src/gpac/src/utils/module.c:685,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:685,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/module.c:685,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/module.c:685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - dr
    - key_name
    argTypes:
    - GF_BaseInterface*
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: gf_module_get_int
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_module_get_key
    - stricmp
    - strcmp
    - atoi
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_module_get_int(GF_BaseInterface *dr, char *key_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/module.c:263,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/module.c:268,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:264,1
    - Dst: gf_modules_free_module
      Src: /src/gpac/src/utils/module.c:265,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/module.c:266,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:272,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/module.c:276,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/module.c:277,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:278,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/module.c:279,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/module.c:283,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/module.c:282,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/module.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 285
    functionName: gf_modules_del
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_del
    - gf_list_del
    - gf_modules_free_module
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_modules_del() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_check_load
      Src: /src/gpac/src/utils/module.c:301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/module.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: gf_modules_count
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_modules_check_load
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_modules_count() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/module.c:636,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/utils/module.c:637,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:641,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/module.c:642,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/utils/module.c:651,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/module.c:652,1
    - Dst: strchr
      Src: /src/gpac/src/utils/module.c:654,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/module.c:657,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/module.c:660,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/src/utils/module.c:662,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/src/utils/module.c:666,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - dr
    - key_name
    argTypes:
    - GF_BaseInterface*
    - char*
    constantsTouched: []
    func_position:
      end: 671
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 671
    functionName: gf_module_get_key
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - strcmp
    - gf_sys_mark_arg_used
    - strchr
    - gf_sys_get_arg
    - gf_sys_get_argc
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_module_get_key(GF_BaseInterface *dr, char
      *key_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_module_get_key
      Src: /src/gpac/src/utils/module.c:675,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/module.c:677,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/module.c:677,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/module.c:677,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - dr
    - key_name
    argTypes:
    - GF_BaseInterface*
    - char*
    constantsTouched: []
    func_position:
      end: 679
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 679
    functionName: gf_module_get_bool
    functionSourceFile: /src/gpac/src/utils/module.c
    functionUses: []
    functionsReached:
    - gf_module_get_key
    - stricmp
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_module_get_bool(GF_BaseInterface *dr, char *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:702,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:750,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:756,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:749,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:748,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:757,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:758,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:764,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:765,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:766,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:772,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:774,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:773,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 96
    argCount: 10
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - a_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 782
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 782
    functionName: yuva_load_lines
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv2rgb_init
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuva_load_lines(unsigned char *dst, s32 dststride, unsigned
      char *y_src, unsigned char *u_src, unsigned char *v_src, unsigned char *a_src,
      s32 y_stride, s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_555
      Src: /src/gpac/src/utils/color.c:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 9
    argNames:
    - src
    - src_w
    - _dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 812
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 812
    functionName: copy_row_rgb_555
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_555
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_rgb_555(u8 *src, u32 src_w, u8 *_dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 910
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 910
    functionName: copy_row_bgrx
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_bgrx(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1562
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1562
    functionName: load_line_argb
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_argb(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv_10_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1619
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1619
    functionName: load_line_yv12_10
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_10_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yv12_10(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv444_10_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1656,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1657
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1657
    functionName: load_line_yuv444_10
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv444_10_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuv444_10(char *src_bits, u32 x_offset, u32
      y_offset, u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV,
      Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_load_lines_packed
      Src: /src/gpac/src/utils/color.c:1697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: load_line_yvyu
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_load_lines_packed
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yvyu(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2451,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2452,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2454,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2453,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2455,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2455,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2456,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2457,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2460,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2467,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2455,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2461,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2455,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2456,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2456,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2458,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2462,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2464,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2465,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2456,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2457,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2459,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 5
    argNames:
    - _this
    - a_
    - r_
    - g_
    - b_
    argTypes:
    - GF_ColorMatrix*
    - u8*
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 2468
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2468
    functionName: gf_cmx_apply_argb
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - CLIP_COMP
    - gf_mulfix
    - FIX2INT
    - INT2FIX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_apply_argb(GF_ColorMatrix *_this, u8 *a_, u8
      *r_, u8 *g_, u8 *b_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: mul255
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 mul255(s32 a, s32 b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_565
      Src: /src/gpac/src/utils/color.c:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 9
    argNames:
    - src
    - src_w
    - _dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 834
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 834
    functionName: copy_row_rgb_565
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_565
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_rgb_565(u8 *src, u32 src_w, u8 *_dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 936
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 936
    functionName: copy_row_argb
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_argb(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1576
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1576
    functionName: load_line_yv12
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yv12(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv422_10_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1637,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1638
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1638
    functionName: load_line_yuv422_10
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv422_10_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuv422_10(char *src_bits, u32 x_offset, u32
      y_offset, u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV,
      Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuva_load_lines
      Src: /src/gpac/src/utils/color.c:1672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 11
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - pA
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1673
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1673
    functionName: load_line_yuva
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuva_load_lines
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuva(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV, u8 *pA, Bool
      dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_load_lines_packed
      Src: /src/gpac/src/utils/color.c:1705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1706
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1706
    functionName: load_line_vyuy
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_load_lines_packed
    linkageType: ''
    returnType: void
    signature: 'static void load_line_vyuy(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2477,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2485,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2481,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2486,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2487,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2489,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2493,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2493,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2483,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2485,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2487,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2488,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2486,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2488,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2490,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2479,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2488,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2491,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2493,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2485,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2485,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2486,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2486,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2487,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2487,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2488,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2492,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/utils/color.c:2493,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/color.c:2493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    argCount: 2
    argNames:
    - _this
    - col
    argTypes:
    - GF_ColorMatrix*
    - GF_Color
    constantsTouched: []
    func_position:
      end: 2494
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2494
    functionName: gf_cmx_apply
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - CLIP_COMP
    - GF_COL_ARGB
    - gf_mulfix
    - INT2FIX
    - FIX2INT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Color gf_cmx_apply(GF_ColorMatrix *_this, GF_Color col) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3016,1
    - Dst: color_write_yv12_10_to_yuv_intrin
      Src: /src/gpac/src/utils/color.c:3021,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3017,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3019,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3018,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 124
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3075
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3075
    functionName: color_write_yv12_10_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GFINTCAST
    - color_write_yv12_10_to_yuv_intrin
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yv12_10_to_yuv(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/utils/color.c:4377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - idx
    - col
    - color_name
    argTypes:
    - u32*
    - GF_Color*
    - char**
    constantsTouched: []
    func_position:
      end: 4381
      start: 4372
    functionDepth: 0
    functionLinenumber: 4372
    functionLinenumberEnd: 4381
    functionName: gf_color_enum
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_color_enum(u32 *idx, GF_Color *col, const char **color_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1355,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1364,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1363,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1363,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1365,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1382
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1382
    functionName: merge_row_rgba
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_rgba(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1424,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1426,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1430
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1430
    functionName: load_line_rgb_555
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - colmask
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgb_555(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1457
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1457
    functionName: load_line_rgb_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgb_24(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1483
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1483
    functionName: load_line_rgb_32
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgb_32(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1754,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1755,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1762,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1761,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1756,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1763,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1768,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1769,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1770,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1775,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1777,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:1776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 98
    argCount: 8
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - y_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 1784
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1784
    functionName: gf_yuv_load_lines_nv12_nv21
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void gf_yuv_load_lines_nv12_nv21(unsigned char *dst, s32 dststride,
      unsigned char *y_src, unsigned char *u_src, unsigned char *v_src, s32 y_stride,
      s32 width, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1394
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1394
    functionName: load_line_grey
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_grey(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1438,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1439,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1444
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1444
    functionName: load_line_rgb_565
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - colmask
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgb_565(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1470
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1470
    functionName: load_line_bgr_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_bgr_24(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1496
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1496
    functionName: load_line_xrgb
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_xrgb(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_yuv_load_lines_nv12_nv21
      Src: /src/gpac/src/utils/color.c:1795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1796
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1796
    functionName: load_line_nv12
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_yuv_load_lines_nv12_nv21
    linkageType: ''
    returnType: void
    signature: 'static void load_line_nv12(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:407,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:408,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:415,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:414,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:409,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:416,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:421,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:422,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:423,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:428,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:429,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 106
    argCount: 9
    argNames:
    - dst
    - dststride
    - _y_src
    - _u_src
    - _v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 437
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 437
    functionName: yuv_10_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv_10_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *_y_src, unsigned char *_u_src, unsigned char *_v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:489,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:490,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:499,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:491,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:500,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:501,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:512,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:513,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:514,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:519,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:521,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:520,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 118
    argCount: 9
    argNames:
    - dst
    - dststride
    - _y_src
    - _u_src
    - _v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 530
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 530
    functionName: yuv422_10_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv422_10_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *_y_src, unsigned char *_u_src, unsigned char *_v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1271,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1279,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1281,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1279,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1280,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1298
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1298
    functionName: merge_row_bgra
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_bgra(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3102,1
    - Dst: gf_color_write_yv12_10_to_yuv_intrin
      Src: /src/gpac/src/utils/color.c:3107,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3103,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3104,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3105,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 113
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3160
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3160
    functionName: color_write_nv12_10_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GFINTCAST
    - gf_color_write_yv12_10_to_yuv_intrin
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_nv12_10_to_yuv(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - in_pf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1831
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1831
    functionName: format_is_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool format_is_yuv(u32 in_pf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_planar_yuv
      Src: /src/gpac/src/utils/color.c:3562,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/color.c:3565,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3569,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3567,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/color.c:3566,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3570,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3573,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3574,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3588,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3592,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3595,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 236
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3706
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3706
    functionName: color_write_yuv420_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - is_planar_yuv
    - gf_assert
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv420_to_yuv(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_planar_yuv
      Src: /src/gpac/src/utils/color.c:3796,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3807,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3831
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3831
    functionName: color_write_yuv444_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - is_planar_yuv
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv444_to_yuv(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1314,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1322,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1322,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1323,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1324,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1341
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1341
    functionName: merge_row_argb
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_argb(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3187,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3189,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3190,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3188,1
    - Dst: color_write_yuv422_10_to_yuv422_intrin
      Src: /src/gpac/src/utils/color.c:3192,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 113
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3242
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3242
    functionName: color_write_yuv422_10_to_yuv422
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GFINTCAST
    - color_write_yuv422_10_to_yuv422_intrin
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv422_10_to_yuv422(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_planar_yuv
      Src: /src/gpac/src/utils/color.c:3738,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3756,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3757,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3750,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3765
      start: 3708
    functionDepth: 0
    functionLinenumber: 3708
    functionLinenumberEnd: 3765
    functionName: color_write_yuv422_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - is_planar_yuv
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv422_to_yuv(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: is_planar_yuv
      Src: /src/gpac/src/utils/color.c:3876,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:3915,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 197
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3979
      start: 3833
    functionDepth: 0
    functionLinenumber: 3833
    functionLinenumberEnd: 3979
    functionName: color_write_yvyu_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - is_planar_yuv
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yvyu_to_yuv(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_bpp
      Src: /src/gpac/src/utils/color.c:4042,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:4062,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 130
    argCount: 3
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 4157
      start: 4036
    functionDepth: 0
    functionLinenumber: 4036
    functionLinenumberEnd: 4157
    functionName: color_write_rgb_to_32
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - memcpy
    - get_bpp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_rgb_to_32(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_yuv_load_lines_nv12_nv21
      Src: /src/gpac/src/utils/color.c:1806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1807
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1807
    functionName: load_line_nv21
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_yuv_load_lines_nv12_nv21
    linkageType: ''
    returnType: void
    signature: 'static void load_line_nv21(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:590,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:604,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:591,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:603,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:592,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:605,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:616,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:617,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:618,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:630,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:632,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:631,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 138
    argCount: 9
    argNames:
    - dst
    - dststride
    - _y_src
    - _u_src
    - _v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 641
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 641
    functionName: yuv444_10_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv444_10_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *_y_src, unsigned char *_u_src, unsigned char *_v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1068,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1077,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1075,1
    - Dst: GF_COL_565
      Src: /src/gpac/src/utils/color.c:1078,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1076,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 9
    argNames:
    - src
    - src_w
    - _dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1084
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1084
    functionName: merge_row_rgb_565
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_565
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_rgb_565(u8 *src, u32 src_w, u8 *_dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:675,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:682,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:676,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:677,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:681,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 7
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 691
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 691
    functionName: yuv_load_lines_packed
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv_load_lines_packed(unsigned char *dst, s32 dststride,
      unsigned char *y_src, unsigned char *u_src, unsigned char * v_src, s32 width,
      Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1100,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1106,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1108,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1114
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1114
    functionName: merge_row_rgb_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_rgb_24(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2910,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2911,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2913,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2914,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2927,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2963,1
    - Dst: _mm_packs_epi32
      Src: /src/gpac/src/utils/color.c:2964,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2969,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2970,1
    - Dst: _mm_packs_epi32
      Src: /src/gpac/src/utils/color.c:2973,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2977,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2909,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2930,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2939,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2941,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2932,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2934,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2944,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2912,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2960,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2961,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2965,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2967,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2972,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2974,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2928,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2929,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2937,1
    - Dst: _mm_packs_epi32
      Src: /src/gpac/src/utils/color.c:2940,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2943,1
    - Dst: _mm_packs_epi32
      Src: /src/gpac/src/utils/color.c:2931,1
    - Dst: _mm_srli_epi32
      Src: /src/gpac/src/utils/color.c:2936,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2958,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2976,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 179
    argCount: 9
    argNames:
    - vs_dst
    - pY
    - pU
    - pV
    - src_stride
    - src_width
    - src_height
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - u32
    - u32
    - u32
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 2983
      start: 2874
    functionDepth: 0
    functionLinenumber: 2874
    functionLinenumberEnd: 2983
    functionName: color_write_yuv444_10_to_yuv_intrin
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - _mm_store_si128
    - _mm_load_si128
    - _mm_srli_epi32
    - _mm_packs_epi32
    - _mm_srli_epi16
    - _mm_packus_epi16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv444_10_to_yuv_intrin(GF_VideoSurface
      *vs_dst, unsigned char *pY, unsigned char *pU, unsigned char*pV, u32 src_stride,
      u32 src_width, u32 src_height, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 860
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 860
    functionName: copy_row_rgb_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_rgb_24(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2753,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2755,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2754,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2757,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2756,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2758,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2769,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2770,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2771,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2772,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2773,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2790,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2774,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2785,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2786,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2788,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2787,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2789,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 126
    argCount: 9
    argNames:
    - vs_dst
    - pY
    - pU
    - pV
    - src_stride
    - src_width
    - src_height
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - u32
    - u32
    - u32
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 2795
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2795
    functionName: color_write_yuv444_10_to_yuv444_intrin
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - _mm_store_si128
    - _mm_load_si128
    - _mm_packus_epi16
    - _mm_srli_epi16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv444_10_to_yuv444_intrin(GF_VideoSurface
      *vs_dst, unsigned char *pY, unsigned char *pU, unsigned char*pV, u32 src_stride,
      u32 src_width, u32 src_height, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 885
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 885
    functionName: copy_row_bgr_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_bgr_24(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1175,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1176,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1177,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1184
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1184
    functionName: merge_row_bgr_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_bgr_24(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2831,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2835,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2834,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2833,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2832,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2836,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2847,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2848,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2849,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2850,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2865,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2851,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2866,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2867,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2868,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2852,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2863,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 136
    argCount: 9
    argNames:
    - vs_dst
    - pY
    - pU
    - pV
    - src_stride
    - src_width
    - src_height
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - u32
    - u32
    - u32
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 2873
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2873
    functionName: color_write_yuv422_10_to_yuv_intrin
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - _mm_store_si128
    - _mm_load_si128
    - _mm_packus_epi16
    - _mm_srli_epi16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv422_10_to_yuv_intrin(GF_VideoSurface
      *vs_dst, unsigned char *pY, unsigned char *pU, unsigned char*pV, u32 src_stride,
      u32 src_width, u32 src_height, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_identity
      Src: /src/gpac/src/utils/color.c:2394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 21
    argNames:
    - _this
    - c1
    - c2
    - c3
    - c4
    - c5
    - c6
    - c7
    - c8
    - c9
    - c10
    - c11
    - c12
    - c13
    - c14
    - c15
    - c16
    - c17
    - c18
    - c19
    - c20
    argTypes:
    - GF_ColorMatrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 2395
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2395
    functionName: gf_cmx_set
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_cmx_identity
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_set(GF_ColorMatrix *_this, Fixed c1, Fixed c2,
      Fixed c3, Fixed c4, Fixed c5, Fixed c6, Fixed c7, Fixed c8, Fixed c9, Fixed
      c10, Fixed c11, Fixed c12, Fixed c13, Fixed c14, Fixed c15, Fixed c16, Fixed
      c17, Fixed c18, Fixed c19, Fixed c20) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_load_lines_packed
      Src: /src/gpac/src/utils/color.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1682
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1682
    functionName: load_line_yuyv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_load_lines_packed
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuyv(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/color.c:2353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - _this
    argTypes:
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2356
    functionName: gf_cmx_init
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_init(GF_ColorMatrix *_this) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/color.c:4326,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/color.c:4334,1
    - Dst: strlen
      Src: /src/gpac/src/utils/color.c:4330,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/color.c:4329,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/color.c:4333,1
    - Dst: strlen
      Src: /src/gpac/src/utils/color.c:4335,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/color.c:4341,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/utils/color.c:4342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/color.c:4346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4349
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4349
    functionName: gf_color_parse
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_COL_ARGB
    - sscanf
    - strcmp
    - GF_LOG
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Color gf_color_parse(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_load_lines_packed
      Src: /src/gpac/src/utils/color.c:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1690
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1690
    functionName: load_line_uyvy
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv_load_lines_packed
    linkageType: ''
    returnType: void
    signature: 'static void load_line_uyvy(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:2401,1
    - Dst: gf_cmx_identity
      Src: /src/gpac/src/utils/color.c:2402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - _this
    - from
    argTypes:
    - GF_ColorMatrix*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2403
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2403
    functionName: gf_cmx_copy
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_cmx_identity
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_copy(GF_ColorMatrix *_this, GF_ColorMatrix *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_init
      Src: /src/gpac/src/utils/color.c:2362,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/color.c:2363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - _this
    argTypes:
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2364
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2364
    functionName: gf_cmx_identity
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - memcmp
    - gf_cmx_init
    linkageType: ''
    returnType: void
    signature: 'static void gf_cmx_identity(GF_ColorMatrix *_this) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_R
      Src: /src/gpac/src/utils/color.c:4357,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/utils/color.c:4358,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/utils/color.c:4359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - col
    argTypes:
    - GF_Color
    constantsTouched: []
    func_position:
      end: 4369
      start: 4351
    functionDepth: 0
    functionLinenumber: 4351
    functionLinenumberEnd: 4369
    functionName: gf_color_get_name
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_G
    - GF_COL_B
    - GF_COL_R
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_color_get_name(GF_Color col) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2420,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2428,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2418,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2429,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2426,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2437,1
    - Dst: gf_cmx_identity
      Src: /src/gpac/src/utils/color.c:2440,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2428,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2431,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2422,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2423,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2430,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2420,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2430,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2425,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2425,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2420,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2423,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2431,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2429,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2418,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2418,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2426,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2430,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2429,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2416,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2424,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2425,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2422,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2422,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2430,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2426,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2428,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2429,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2417,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2418,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2432,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2428,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2423,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2431,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2435,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/utils/color.c:2412,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2422,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2426,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2425,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2431,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2420,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2423,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:2439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 174
    argCount: 2
    argNames:
    - _this
    - w
    argTypes:
    - GF_ColorMatrix*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2441
    functionName: gf_cmx_multiply
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cmx_identity
    - gf_cmx_copy
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_multiply(GF_ColorMatrix *_this, GF_ColorMatrix
      *w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv422_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1590
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1590
    functionName: load_line_yuv422
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv422_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuv422(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV, Bool dst_yuv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2597,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2599,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2600,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2598,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2601,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2602,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2613,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2614,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2615,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2616,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2617,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2618,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2634,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2629,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2630,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2632,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2631,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2633,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 141
    argCount: 9
    argNames:
    - vs_dst
    - pY
    - pU
    - pV
    - src_stride
    - src_width
    - src_height
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - u32
    - u32
    - u32
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 2639
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2639
    functionName: color_write_yv12_10_to_yuv_intrin
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - _mm_store_si128
    - _mm_load_si128
    - _mm_packus_epi16
    - _mm_srli_epi16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yv12_10_to_yuv_intrin(GF_VideoSurface *vs_dst,
      unsigned char *pY, unsigned char *pU, unsigned char*pV, u32 src_stride, u32
      src_width, u32 src_height, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv444_load_lines_planar
      Src: /src/gpac/src/utils/color.c:1604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 10
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - pU
    - pV
    - dst_yuv
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u8*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1605
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1605
    functionName: load_line_yuv444
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - yuv444_load_lines_planar
    linkageType: ''
    returnType: void
    signature: 'static void load_line_yuv444(char *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, u8 *pU, u8 *pV, Bool dst_yuv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2675,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2679,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2676,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2677,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2678,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2680,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2691,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2692,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2693,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2694,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2708,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2709,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2711,1
    - Dst: _mm_packus_epi16
      Src: /src/gpac/src/utils/color.c:2695,1
    - Dst: _mm_srli_epi16
      Src: /src/gpac/src/utils/color.c:2710,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2712,1
    - Dst: _mm_store_si128
      Src: /src/gpac/src/utils/color.c:2696,1
    - Dst: _mm_load_si128
      Src: /src/gpac/src/utils/color.c:2707,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 136
    argCount: 9
    argNames:
    - vs_dst
    - pY
    - pU
    - pV
    - src_stride
    - src_width
    - src_height
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - u32
    - u32
    - u32
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 2717
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2717
    functionName: color_write_yuv422_10_to_yuv422_intrin
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - _mm_store_si128
    - _mm_load_si128
    - _mm_packus_epi16
    - _mm_srli_epi16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv422_10_to_yuv422_intrin(GF_VideoSurface
      *vs_dst, unsigned char *pY, unsigned char *pU, unsigned char*pV, u32 src_stride,
      u32 src_width, u32 src_height, const GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1136,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1142,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1143,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1153
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1153
    functionName: merge_row_yuv444
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_yuv444(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1405
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1405
    functionName: load_line_alpha_grey
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_alpha_grey(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2509,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2511,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2514,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2512,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2513,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2513,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2514,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2516,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2507,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2514,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2517,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2511,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2511,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2512,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2514,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2512,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2513,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2518,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2503,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2505,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2511,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2512,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/color.c:2513,1
    - Dst: CLIP_COMP
      Src: /src/gpac/src/utils/color.c:2515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 80
    argCount: 2
    argNames:
    - _this
    - col
    argTypes:
    - GF_ColorMatrix*
    - u64
    constantsTouched: []
    func_position:
      end: 2527
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2527
    functionName: gf_cmx_apply_wide
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - CLIP_COMP
    - gf_mulfix
    - INT2FIX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_cmx_apply_wide(GF_ColorMatrix *_this, u64 col) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1416
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1416
    functionName: load_line_grey_alpha
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_grey_alpha(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_ARGB_FIXED
      Src: /src/gpac/src/utils/color.c:2532,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/utils/color.c:2533,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/utils/color.c:2534,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2535,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2534,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/utils/color.c:2535,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2536,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/utils/color.c:2536,1
    - Dst: INT2FIX
      Src: /src/gpac/src/utils/color.c:2537,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/utils/color.c:2537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - _this
    - a
    - r
    - g
    - b
    argTypes:
    - GF_ColorMatrix*
    - Fixed*
    - Fixed*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 2538
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2538
    functionName: gf_cmx_apply_fixed
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - INT2FIX
    - GF_COL_ARGB_FIXED
    - GF_COL_R
    - gf_cmx_apply
    - GF_COL_G
    - GF_COL_B
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_cmx_apply_fixed(GF_ColorMatrix *_this, Fixed *a,
      Fixed *r, Fixed *g, Fixed *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1199,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1208,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1209,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1221
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1221
    functionName: merge_row_bgrx
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_bgrx(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1536
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1536
    functionName: load_line_rgbds
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgbds(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3269,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3270,1
    - Dst: color_write_yuv444_10_to_yuv444_intrin
      Src: /src/gpac/src/utils/color.c:3274,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3272,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3271,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3323
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3323
    functionName: color_write_yuv444_10_to_yuv444
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GFINTCAST
    - color_write_yuv444_10_to_yuv444_intrin
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv444_10_to_yuv444(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1235,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1245,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1244,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1255
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1255
    functionName: merge_row_rgbx
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_rgbx(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: load_line_bgra
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_bgra(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: format_is_yuv
      Src: /src/gpac/src/utils/color.c:1858,1
    - Dst: color_write_yv12_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1879,1
    - Dst: color_write_yuv444_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1893,1
    - Dst: color_write_yuv420_to_yuv
      Src: /src/gpac/src/utils/color.c:1901,1
    - Dst: color_write_rgb_to_32
      Src: /src/gpac/src/utils/color.c:1930,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2028,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2037,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/color.c:2051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/color.c:2106,1
    - Dst: load_line_yv12
      Src: /src/gpac/src/utils/color.c:2169,1
    - Dst: load_line_yuv422_10
      Src: /src/gpac/src/utils/color.c:2240,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2301,1
    - Dst: load_line_yv12
      Src: /src/gpac/src/utils/color.c:2228,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:2321,1
    - Dst: load_line_nv21
      Src: /src/gpac/src/utils/color.c:2187,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2272,1
    - Dst: gf_cmx_apply_argb
      Src: /src/gpac/src/utils/color.c:2291,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2299,1
    - Dst: load_line_yuv444
      Src: /src/gpac/src/utils/color.c:2234,1
    - Dst: color_write_yuv422_10_to_yuv422
      Src: /src/gpac/src/utils/color.c:1883,1
    - Dst: color_write_nv12_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1873,1
    - Dst: color_write_yuv444_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1895,1
    - Dst: color_write_yuv422_to_yuv
      Src: /src/gpac/src/utils/color.c:1904,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2000,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2009,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2017,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/color.c:2106,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/color.c:2123,1
    - Dst: load_line_yuva
      Src: /src/gpac/src/utils/color.c:2193,1
    - Dst: load_line_yuv444_10
      Src: /src/gpac/src/utils/color.c:2243,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2303,1
    - Dst: copy_row
      Src: /src/gpac/src/utils/color.c:2319,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2270,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/color.c:2331,1
    - Dst: load_line_nv21
      Src: /src/gpac/src/utils/color.c:2246,1
    - Dst: load_line_yuv444
      Src: /src/gpac/src/utils/color.c:2175,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2207,1
    - Dst: gf_cmx_apply_argb
      Src: /src/gpac/src/utils/color.c:2199,1
    - Dst: color_write_yuv422_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1885,1
    - Dst: color_write_yvyu_to_yuv
      Src: /src/gpac/src/utils/color.c:1913,1
    - Dst: color_write_yuv444_to_yuv
      Src: /src/gpac/src/utils/color.c:1907,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2032,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2042,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2047,1
    - Dst: load_line_yuv422_10
      Src: /src/gpac/src/utils/color.c:2181,1
    - Dst: load_line_yuv444_10
      Src: /src/gpac/src/utils/color.c:2184,1
    - Dst: load_line_nv12
      Src: /src/gpac/src/utils/color.c:2190,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2209,1
    - Dst: gf_cmx_apply_argb
      Src: /src/gpac/src/utils/color.c:2260,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2268,1
    - Dst: ABS
      Src: /src/gpac/src/utils/color.c:2211,1
    - Dst: load_line_nv12
      Src: /src/gpac/src/utils/color.c:2249,1
    - Dst: load_line
      Src: /src/gpac/src/utils/color.c:2286,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/color.c:2051,1
    - Dst: load_line_yv12_10
      Src: /src/gpac/src/utils/color.c:2178,1
    - Dst: copy_row
      Src: /src/gpac/src/utils/color.c:2315,1
    - Dst: load_line_yuv422
      Src: /src/gpac/src/utils/color.c:2231,1
    - Dst: color_write_nv12_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1876,1
    - Dst: color_write_yuv422_10_to_yuv
      Src: /src/gpac/src/utils/color.c:1887,1
    - Dst: color_write_yuv444_10_to_yuv444
      Src: /src/gpac/src/utils/color.c:1891,1
    - Dst: color_write_yuv420_to_yuv
      Src: /src/gpac/src/utils/color.c:1898,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:1996,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:1992,1
    - Dst: color_write_rgb_to_24
      Src: /src/gpac/src/utils/color.c:1922,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2005,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2013,1
    - Dst: yuv2rgb_init
      Src: /src/gpac/src/utils/color.c:2021,1
    - Dst: load_line_yv12_10
      Src: /src/gpac/src/utils/color.c:2237,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/color.c:2332,1
    - Dst: load_line_yuv422
      Src: /src/gpac/src/utils/color.c:2172,1
    - Dst: load_line_yuva
      Src: /src/gpac/src/utils/color.c:2252,1
    CyclomaticComplexity: 176
    EdgeCount: 176
    ICount: 458
    argCount: 8
    argNames:
    - dst
    - src
    - dst_wnd
    - src_wnd
    - alpha
    - flip
    - key
    - cmat
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u8
    - Bool
    - GF_ColorKey*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2334
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 2334
    functionName: gf_stretch_bits
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - load_line_yuv444
    - load_line_yuva
    - load_line_yuv422
    - GF_LOG
    - load_line_yuv444_10
    - load_line
    - load_line_nv12
    - color_write_yuv422_to_yuv
    - color_write_yuv444_10_to_yuv444
    - yuv2rgb_init
    - copy_row
    - color_write_rgb_to_24
    - color_write_yuv422_10_to_yuv422
    - color_write_yvyu_to_yuv
    - color_write_nv12_10_to_yuv
    - color_write_yuv420_to_yuv
    - color_write_yuv444_to_yuv
    - load_line_yv12_10
    - gf_cmx_apply_argb
    - load_line_nv21
    - color_write_yuv444_10_to_yuv
    - color_write_yv12_10_to_yuv
    - ABS
    - load_line_yuv422_10
    - color_write_yuv422_10_to_yuv
    - memcpy
    - gf_free
    - gf_pixel_fmt_name
    - color_write_rgb_to_32
    - format_is_yuv
    - load_line_yv12
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_stretch_bits(GF_VideoSurface *dst, GF_VideoSurface
      *src, GF_Window *dst_wnd, GF_Window *src_wnd, u8 alpha, Bool flip, GF_ColorKey
      *key, GF_ColorMatrix *cmat) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3350,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3353,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3352,1
    - Dst: color_write_yuv422_10_to_yuv_intrin
      Src: /src/gpac/src/utils/color.c:3355,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3351,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 120
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3415
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3415
    functionName: color_write_yuv422_10_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - color_write_yuv422_10_to_yuv_intrin
    - GFINTCAST
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv422_10_to_yuv(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: colmask
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u8 colmask(s32 a, s32 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:206,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:208,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:207,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:214,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:213,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:215,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:225,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:226,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:227,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:232,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:234,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 98
    argCount: 9
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 243
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 243
    functionName: yuv422_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv422_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *y_src, unsigned char *u_src, unsigned char * v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1509
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1509
    functionName: load_line_bgrx
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_bgrx(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:306,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:319,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:307,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:320,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:308,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:321,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:332,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:333,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:334,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:346,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:348,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 106
    argCount: 9
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 357
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 357
    functionName: yuv444_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv444_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *y_src, unsigned char *u_src, unsigned char * v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - src_bits
    - x_offset
    - y_offset
    - y_pitch
    - width
    - height
    - dst_bits
    - dst_yuv
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 1523
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1523
    functionName: load_line_rgbd
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void load_line_rgbd(u8 *src_bits, u32 x_offset, u32 y_offset,
      u32 y_pitch, u32 width, u32 height, u8 *dst_bits, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 8
    argNames:
    - dst
    - src
    - dst_wnd
    - src_wnd
    - alpha
    - flip
    - key
    - cmat
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - GF_Window*
    - u8
    - Bool
    - GF_ColorKey*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 2341
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2341
    functionName: gf_stretch_bits
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_stretch_bits(GF_VideoSurface *dst, GF_VideoSurface
      *src, GF_Window *dst_wnd, GF_Window *src_wnd, u8 alpha, Bool flip, GF_ColorKey
      *key, GF_ColorMatrix *cmat) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - pf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 4001
      start: 3982
    functionDepth: 0
    functionLinenumber: 3982
    functionLinenumberEnd: 4001
    functionName: get_bpp
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 get_bpp(u32 pf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_bpp
      Src: /src/gpac/src/utils/color.c:4011,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/color.c:4029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    constantsTouched: []
    func_position:
      end: 4033
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4033
    functionName: color_write_rgb_to_24
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - memcpy
    - get_bpp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_rgb_to_24(GF_VideoSurface *vs_dst, GF_VideoSurface
      *vs_src, GF_Window *_src_wnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1018
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1018
    functionName: copy_row_yuv444
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_yuv444(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX_OUT
      Src: /src/gpac/src/utils/color.c:74,1
    - Dst: FIX_OUT
      Src: /src/gpac/src/utils/color.c:78,1
    - Dst: FIX_OUT
      Src: /src/gpac/src/utils/color.c:77,1
    - Dst: FIX_OUT
      Src: /src/gpac/src/utils/color.c:76,1
    - Dst: FIX_OUT
      Src: /src/gpac/src/utils/color.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: yuv2rgb_init
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - FIX_OUT
    linkageType: ''
    returnType: void
    signature: 'static void yuv2rgb_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 961
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 961
    functionName: copy_row_rgbx
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_rgbx(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3442,1
    - Dst: color_write_yuv444_10_to_yuv_intrin
      Src: /src/gpac/src/utils/color.c:3447,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3444,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3443,1
    - Dst: GFINTCAST
      Src: /src/gpac/src/utils/color.c:3445,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 132
    argCount: 4
    argNames:
    - vs_dst
    - vs_src
    - _src_wnd
    - swap_uv
    argTypes:
    - GF_VideoSurface*
    - GF_VideoSurface*
    - GF_Window*
    - Bool
    constantsTouched: []
    func_position:
      end: 3513
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3513
    functionName: color_write_yuv444_10_to_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - GFINTCAST
    - color_write_yuv444_10_to_yuv_intrin
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err color_write_yuv444_10_to_yuv(GF_VideoSurface *vs_dst,
      GF_VideoSurface *vs_src, GF_Window *_src_wnd, Bool swap_uv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:127,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:128,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:135,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:134,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:129,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:136,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:141,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:142,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:143,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:148,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:150,1
    - Dst: col_clip
      Src: /src/gpac/src/utils/color.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 94
    argCount: 9
    argNames:
    - dst
    - dststride
    - y_src
    - u_src
    - v_src
    - y_stride
    - uv_stride
    - width
    - dst_yuv
    argTypes:
    - unsigned char*
    - s32
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - s32
    - s32
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 157
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 157
    functionName: yuv_load_lines_planar
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - col_clip
    linkageType: ''
    returnType: void
    signature: 'static void yuv_load_lines_planar(unsigned char *dst, s32 dststride,
      unsigned char *y_src, unsigned char *u_src, unsigned char * v_src, s32 y_stride,
      s32 uv_stride, s32 width, Bool dst_yuv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 9
    argNames:
    - src
    - src_w
    - dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 985
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 985
    functionName: copy_row_rgbd
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_row_rgbd(u8 *src, u32 src_w, u8 *dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1035,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1039,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1041,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1043,1
    - Dst: colmask
      Src: /src/gpac/src/utils/color.c:1040,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1044,1
    - Dst: mul255
      Src: /src/gpac/src/utils/color.c:1045,1
    - Dst: GF_COL_555
      Src: /src/gpac/src/utils/color.c:1046,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 9
    argNames:
    - src
    - src_w
    - _dst
    - dst_w
    - h_inc
    - x_pitch
    - alpha
    - dst_pitch
    - dst_height
    argTypes:
    - u8*
    - u32
    - u8*
    - u32
    - s32
    - s32
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1052
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1052
    functionName: merge_row_rgb_555
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached:
    - mul255
    - GF_COL_555
    - colmask
    linkageType: ''
    returnType: void
    signature: 'static void merge_row_rgb_555(u8 *src, u32 src_w, u8 *_dst, u32 dst_w,
      s32 h_inc, s32 x_pitch, u8 alpha, u32 dst_pitch, u32 dst_height) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - pf
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3528
      start: 3515
    functionDepth: 0
    functionLinenumber: 3515
    functionLinenumberEnd: 3528
    functionName: is_planar_yuv
    functionSourceFile: /src/gpac/src/utils/color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool is_planar_yuv(u32 pf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlmalloc
      Src: /src/gpac/src/utils/dlmalloc.c:4856,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4857,1
    - Dst: memset
      Src: /src/gpac/src/utils/dlmalloc.c:4858,1
    - Dst: calloc_must_clear
      Src: /src/gpac/src/utils/dlmalloc.c:4857,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - n_elements
    - elem_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4860
      start: 4847
    functionDepth: 0
    functionLinenumber: 4847
    functionLinenumberEnd: 4860
    functionName: dlcalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - calloc_must_clear
    - dlmalloc
    - memset
    - mem2chunk
    linkageType: ''
    returnType: void*
    signature: 'void * dlcalloc(size_t n_elements, size_t elem_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlmalloc
      Src: /src/gpac/src/utils/dlmalloc.c:4864,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4875,1
    - Dst: get_mstate_for
      Src: /src/gpac/src/utils/dlmalloc.c:4875,1
    - Dst: dlfree
      Src: /src/gpac/src/utils/dlmalloc.c:4867,1
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:4876,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4877,1
    - Dst: internal_realloc
      Src: /src/gpac/src/utils/dlmalloc.c:4881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - oldmem
    - bytes
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 4883
      start: 4862
    functionDepth: 0
    functionLinenumber: 4862
    functionLinenumberEnd: 4883
    functionName: dlrealloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - mem2chunk
    - dlfree
    - internal_realloc
    - get_mstate_for
    - USAGE_ERROR_ACTION
    - dlmalloc
    - ok_magic
    linkageType: ''
    returnType: void*
    signature: 'void * dlrealloc(void* oldmem, size_t bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3095,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3097,1
    - Dst: use_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:3098,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3098,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:3097,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3099,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3099,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3099,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3100,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:3100,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3103,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3103,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3102,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3104,1
    - Dst: is_small
      Src: /src/gpac/src/utils/dlmalloc.c:3101,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3104,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3105
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3105
    functionName: do_check_mmapped_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ok_address
    - assert
    - chunk2mem
    - is_small
    - is_aligned
    - chunksize
    - chunk_plus_offset
    - use_mmap
    - is_mmapped
    linkageType: ''
    returnType: void
    signature: 'static void do_check_mmapped_chunk(mstate m, mchunkptr p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_mparam
      Src: /src/gpac/src/utils/dlmalloc.c:4943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - param_number
    - value
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4944
      start: 4942
    functionDepth: 0
    functionLinenumber: 4942
    functionLinenumberEnd: 4944
    functionName: dlmallopt
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - change_mparam
    linkageType: ''
    returnType: int
    signature: 'int dlmallopt(int param_number, int value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_mparam
      Src: /src/gpac/src/utils/dlmalloc.c:5419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - param_number
    - value
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 5420
      start: 5418
    functionDepth: 0
    functionLinenumber: 5418
    functionLinenumberEnd: 5420
    functionName: mspace_mallopt
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - change_mparam
    linkageType: ''
    returnType: int
    signature: 'int mspace_mallopt(int param_number, int value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: small_index
      Src: /src/gpac/src/utils/dlmalloc.c:4637,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4645,1
    - Dst: left_bits
      Src: /src/gpac/src/utils/dlmalloc.c:4658,1
    - Dst: compute_bit2idx
      Src: /src/gpac/src/utils/dlmalloc.c:4660,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4648,1
    - Dst: unlink_first_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4664,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4668,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:4668,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4676,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4681,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4723,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4711,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4712,1
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4627,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4647,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:4647,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4663,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4649,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:4663,1
    - Dst: replace_dv
      Src: /src/gpac/src/utils/dlmalloc.c:4673,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:4689,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4724,1
    - Dst: sys_alloc
      Src: /src/gpac/src/utils/dlmalloc.c:4728,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4703,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4719,1
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:4643,1
    - Dst: unlink_first_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4646,1
    - Dst: idx2bit
      Src: /src/gpac/src/utils/dlmalloc.c:4658,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4663,1
    - Dst: tmalloc_small
      Src: /src/gpac/src/utils/dlmalloc.c:4680,1
    - Dst: tmalloc_large
      Src: /src/gpac/src/utils/dlmalloc.c:4690,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4700,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4702,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4709,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4722,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4731,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4721,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:4636,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4630,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4645,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:4645,1
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:4661,1
    - Dst: least_bit
      Src: /src/gpac/src/utils/dlmalloc.c:4659,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:4665,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4670,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4671,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4672,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4675,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4691,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 119
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 4736
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4736
    functionName: dlmalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - chunk2mem
    - PREACTION
    - check_malloced_chunk
    - check_top_chunk
    - ensure_initialization
    - sys_alloc
    - tmalloc_small
    - pad_request
    - set_inuse_and_pinuse
    - compute_bit2idx
    - assert
    - small_index2size
    - unlink_first_small_chunk
    - replace_dv
    - least_bit
    - set_size_and_pinuse_of_inuse_chunk
    - chunk_plus_offset
    - idx2bit
    - small_index
    - left_bits
    - POSTACTION
    - chunksize
    - smallbin_at
    - set_size_and_pinuse_of_free_chunk
    - tmalloc_large
    linkageType: ''
    returnType: void*
    signature: 'void * dlmalloc(size_t bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5376,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - msp
    argTypes:
    - mspace
    constantsTouched: []
    func_position:
      end: 5383
      start: 5373
    functionDepth: 0
    functionLinenumber: 5373
    functionLinenumberEnd: 5383
    functionName: mspace_footprint
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: size_t
    signature: 'size_t mspace_footprint(mspace msp) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4757,1
    - Dst: CALL_MUNMAP
      Src: /src/gpac/src/utils/dlmalloc.c:4765,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4773,1
    - Dst: should_trim
      Src: /src/gpac/src/utils/dlmalloc.c:4798,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4809,1
    - Dst: check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4824,1
    - Dst: release_unused_segments
      Src: /src/gpac/src/utils/dlmalloc.c:4831,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4837,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4759,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:4763,1
    - Dst: chunk_minus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4770,1
    - Dst: unlink_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4775,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4805,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4812,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4820,1
    - Dst: is_small
      Src: /src/gpac/src/utils/dlmalloc.c:4822,1
    - Dst: check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4829,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4756,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4758,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:4773,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4760,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4788,1
    - Dst: cinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4789,1
    - Dst: sys_trim
      Src: /src/gpac/src/utils/dlmalloc.c:4799,1
    - Dst: unlink_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4811,1
    - Dst: insert_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4823,1
    - Dst: insert_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4828,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4746,1
    - Dst: get_mstate_for
      Src: /src/gpac/src/utils/dlmalloc.c:4748,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4750,1
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:4749,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:4758,1
    - Dst: ok_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4758,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4761,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4779,1
    - Dst: ok_next
      Src: /src/gpac/src/utils/dlmalloc.c:4788,1
    - Dst: ok_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4788,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4839,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4845
      start: 4738
    functionDepth: 0
    functionLinenumber: 4738
    functionLinenumberEnd: 4845
    functionName: dlfree
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - insert_large_chunk
    - CALL_MUNMAP
    - RTCHECK
    - release_unused_segments
    - should_trim
    - sys_trim
    - ok_magic
    - mem2chunk
    - ok_pinuse
    - check_free_chunk
    - ok_inuse
    - chunk_minus_offset
    - check_inuse_chunk
    - chunk_plus_offset
    - ok_next
    - get_mstate_for
    - set_size_and_pinuse_of_free_chunk
    - insert_small_chunk
    - cinuse
    - ok_address
    - set_free_with_pinuse
    - unlink_chunk
    - pinuse
    - POSTACTION
    - is_small
    - chunksize
    - USAGE_ERROR_ACTION
    - is_mmapped
    - PREACTION
    linkageType: ''
    returnType: void
    signature: 'void dlfree(void* mem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5389,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - msp
    argTypes:
    - mspace
    constantsTouched: []
    func_position:
      end: 5396
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5396
    functionName: mspace_max_footprint
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: size_t
    signature: 'size_t mspace_max_footprint(mspace msp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: minsize_for_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:3165,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3170,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3172,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3171,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3175,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3177,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3188,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3198,1
    - Dst: minsize_for_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:3166,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3172,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3174,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3181,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3184,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3198,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3160,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3163,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3166,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3173,1
    - Dst: next_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3173,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3183,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3194,1
    - Dst: do_check_tree
      Src: /src/gpac/src/utils/dlmalloc.c:3195,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3203,1
    - Dst: compute_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:3162,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3165,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3164,1
    - Dst: do_check_any_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3169,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3171,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3178,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3189,1
    - Dst: do_check_tree
      Src: /src/gpac/src/utils/dlmalloc.c:3190,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3193,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 78
    argCount: 2
    argNames:
    - m
    - t
    argTypes:
    - mstate
    - tchunkptr
    constantsTouched: []
    func_position:
      end: 3204
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3204
    functionName: do_check_tree
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - do_check_tree
    - compute_tree_index
    - assert
    - next_pinuse
    - do_check_any_chunk
    - chunksize
    - is_inuse
    - minsize_for_tree_index
    linkageType: ''
    returnType: void
    signature: 'static void do_check_tree(mstate m, tchunkptr t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_malloc_stats
      Src: /src/gpac/src/utils/dlmalloc.c:4939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4938
    functionDepth: 0
    functionLinenumber: 4938
    functionLinenumberEnd: 4940
    functionName: dlmalloc_stats
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - internal_malloc_stats
    linkageType: ''
    returnType: void
    signature: 'void dlmalloc_stats() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3144,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3149,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3148,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3147,1
    - Dst: do_check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3146,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3151,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:3151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - m
    - mem
    - s
    argTypes:
    - mstate
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3153
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3153
    functionName: do_check_malloced_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - do_check_inuse_chunk
    - mem2chunk
    - assert
    - is_mmapped
    linkageType: ''
    returnType: void
    signature: 'static void do_check_malloced_chunk(mstate m, void* mem, size_t s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutexattr_init
      Src: /src/gpac/src/utils/dlmalloc.c:1855,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gpac/src/utils/dlmalloc.c:1858,1
    - Dst: pthread_mutex_init
      Src: /src/gpac/src/utils/dlmalloc.c:1857,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gpac/src/utils/dlmalloc.c:1856,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1860
    functionName: pthread_init_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - pthread_mutexattr_destroy
    - pthread_mutexattr_init
    linkageType: ''
    returnType: int
    signature: 'static int pthread_init_lock (MLOCK_T *sl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3120,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3123,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3123,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3124,1
    - Dst: next_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3124,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3125,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:3125,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3130,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3133,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3129,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3121,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3131,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3129,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3137,1
    - Dst: do_check_any_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3122,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3128,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3131,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3132,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3129,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3132,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3139
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3139
    functionName: do_check_free_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    - chunk2mem
    - pinuse
    - next_pinuse
    - do_check_any_chunk
    - chunksize
    - chunk_plus_offset
    - is_inuse
    - is_aligned
    - is_mmapped
    linkageType: ''
    returnType: void
    signature: 'static void do_check_free_chunk(mstate m, mchunkptr p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_check_any_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3109,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3110,1
    - Dst: next_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3111,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3111,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3110,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3113,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:3113,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3113,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3113,1
    - Dst: prev_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3113,1
    - Dst: do_check_mmapped_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3115,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:3114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3116
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3116
    functionName: do_check_inuse_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    - pinuse
    - next_pinuse
    - do_check_any_chunk
    - prev_chunk
    - is_inuse
    - do_check_mmapped_chunk
    - is_mmapped
    - next_chunk
    linkageType: ''
    returnType: void
    signature: 'static void do_check_inuse_chunk(mstate m, mchunkptr p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3761
      start: 3754
    functionDepth: 0
    functionLinenumber: 3754
    functionLinenumberEnd: 3761
    functionName: init_bins
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - smallbin_at
    linkageType: ''
    returnType: void
    signature: 'static void init_bins(mstate m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3777,1
    - Dst: init_bins
      Src: /src/gpac/src/utils/dlmalloc.c:3778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3779
      start: 3766
    functionDepth: 0
    functionLinenumber: 3766
    functionLinenumberEnd: 3779
    functionName: reset_on_error
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - init_bins
    - treebin_at
    linkageType: ''
    returnType: void
    signature: 'static void reset_on_error(mstate m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5331,1
    - Dst: ialloc
      Src: /src/gpac/src/utils/dlmalloc.c:5335,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - msp
    - n_elements
    - elem_size
    - chunks
    argTypes:
    - mspace
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 5336
      start: 5327
    functionDepth: 0
    functionLinenumber: 5327
    functionLinenumberEnd: 5336
    functionName: mspace_independent_calloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ialloc
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: void**
    signature: 'void ** mspace_independent_calloc(mspace msp, size_t n_elements, size_t
      elem_size, void* chunks[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_mmapped_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4093,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4095,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4097,1
    - Dst: is_extern_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4093,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4094,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4099,1
    - Dst: segment_holds
      Src: /src/gpac/src/utils/dlmalloc.c:4099,1
    - Dst: unlink_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4105,1
    - Dst: CALL_MUNMAP
      Src: /src/gpac/src/utils/dlmalloc.c:4107,1
    - Dst: insert_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 4128
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4128
    functionName: release_unused_segments
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - insert_large_chunk
    - assert
    - align_as_chunk
    - segment_holds
    - is_extern_segment
    - chunksize
    - is_inuse
    - CALL_MUNMAP
    - is_mmapped_segment
    - unlink_large_chunk
    linkageType: ''
    returnType: size_t
    signature: 'static size_t release_unused_segments(mstate m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5341,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5342,1
    - Dst: ialloc
      Src: /src/gpac/src/utils/dlmalloc.c:5345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - msp
    - n_elements
    - sizes
    - chunks
    argTypes:
    - mspace
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 5346
      start: 5338
    functionDepth: 0
    functionLinenumber: 5338
    functionLinenumberEnd: 5346
    functionName: mspace_independent_comalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ialloc
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: void**
    signature: 'void ** mspace_independent_comalloc(mspace msp, size_t n_elements,
      size_t sizes[], void* chunks[]) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: use_noncontiguous
      Src: /src/gpac/src/utils/dlmalloc.c:3916,1
    - Dst: segment_holding
      Src: /src/gpac/src/utils/dlmalloc.c:3918,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:3925,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:3952,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3958,1
    - Dst: disable_contiguous
      Src: /src/gpac/src/utils/dlmalloc.c:3969,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:3939,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3954,1
    - Dst: RELEASE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3972,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:4028,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4072,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4071,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4067,1
    - Dst: use_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:3888,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3931,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3994,1
    - Dst: is_initialized
      Src: /src/gpac/src/utils/dlmalloc.c:4011,1
    - Dst: init_bins
      Src: /src/gpac/src/utils/dlmalloc.c:4019,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:4022,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4027,1
    - Dst: is_extern_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4039,1
    - Dst: prepend_alloc
      Src: /src/gpac/src/utils/dlmalloc.c:4057,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4071,1
    - Dst: add_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4060,1
    - Dst: segment_holds
      Src: /src/gpac/src/utils/dlmalloc.c:4041,1
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:3885,1
    - Dst: mmap_alloc
      Src: /src/gpac/src/utils/dlmalloc.c:3889,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3923,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3942,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:3993,1
    - Dst: RELEASE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3995,1
    - Dst: is_global
      Src: /src/gpac/src/utils/dlmalloc.c:4021,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4069,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4070,1
    - Dst: ACQUIRE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3920,1
    - Dst: is_page_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3927,1
    - Dst: page_align
      Src: /src/gpac/src/utils/dlmalloc.c:3928,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:3976,1
    - Dst: CALL_MMAP
      Src: /src/gpac/src/utils/dlmalloc.c:3978,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:3988,1
    - Dst: ACQUIRE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3992,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4027,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:4043,1
    - Dst: is_extern_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4052,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 198
    argCount: 2
    argNames:
    - m
    - nb
    argTypes:
    - mstate
    - size_t
    constantsTouched: []
    func_position:
      end: 4078
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 4078
    functionName: sys_alloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - chunk2mem
    - check_malloced_chunk
    - check_top_chunk
    - segment_holding
    - ensure_initialization
    - CALL_MMAP
    - mem2chunk
    - CALL_MORECORE
    - page_align
    - segment_holds
    - prepend_alloc
    - use_noncontiguous
    - is_extern_segment
    - is_global
    - is_initialized
    - set_size_and_pinuse_of_inuse_chunk
    - chunk_plus_offset
    - use_mmap
    - disable_contiguous
    - add_segment
    - next_chunk
    - mmap_alloc
    - ACQUIRE_MALLOC_GLOBAL_LOCK
    - init_bins
    - granularity_align
    - init_top
    - is_page_aligned
    - RELEASE_MALLOC_GLOBAL_LOCK
    linkageType: ''
    returnType: void*
    signature: 'static void * sys_alloc(mstate m, size_t nb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5351,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5358,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5354,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5352,1
    - Dst: sys_trim
      Src: /src/gpac/src/utils/dlmalloc.c:5353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - msp
    - pad
    argTypes:
    - mspace
    - size_t
    constantsTouched: []
    func_position:
      end: 5361
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5361
    functionName: mspace_trim
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - POSTACTION
    - USAGE_ERROR_ACTION
    - sys_trim
    - PREACTION
    - ok_magic
    linkageType: ''
    returnType: int
    signature: 'int mspace_trim(mspace msp, size_t pad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:5006,1
    - Dst: set_lock
      Src: /src/gpac/src/utils/dlmalloc.c:5012,1
    - Dst: init_user_mstate
      Src: /src/gpac/src/utils/dlmalloc.c:5010,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:5007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - base
    - capacity
    - locked
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 5015
      start: 5003
    functionDepth: 0
    functionLinenumber: 5003
    functionLinenumberEnd: 5015
    functionName: create_mspace_with_base
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - init_user_mstate
    - pad_request
    - set_lock
    - ensure_initialization
    linkageType: ''
    returnType: mspace
    signature: 'mspace create_mspace_with_base(void* base, size_t capacity, int locked) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5020,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5027,1
    - Dst: use_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:5021,1
    - Dst: disable_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:5026,1
    - Dst: enable_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:5024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - msp
    - enable
    argTypes:
    - mspace
    - int
    constantsTouched: []
    func_position:
      end: 5030
      start: 5017
    functionDepth: 0
    functionLinenumber: 5017
    functionLinenumberEnd: 5030
    functionName: mspace_track_large_chunks
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - disable_mmap
    - POSTACTION
    - enable_mmap
    - use_mmap
    - PREACTION
    linkageType: ''
    returnType: int
    signature: 'int mspace_track_large_chunks(mspace msp, int enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5365,1
    - Dst: internal_malloc_stats
      Src: /src/gpac/src/utils/dlmalloc.c:5366,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - msp
    argTypes:
    - mspace
    constantsTouched: []
    func_position:
      end: 5371
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5371
    functionName: mspace_malloc_stats
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - USAGE_ERROR_ACTION
    - internal_malloc_stats
    - ok_magic
    linkageType: ''
    returnType: void
    signature: 'void mspace_malloc_stats(mspace msp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:3049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - param_number
    - value
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3068
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3068
    functionName: change_mparam
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ensure_initialization
    linkageType: ''
    returnType: int
    signature: 'static int change_mparam(int param_number, int value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_check_smallbin
      Src: /src/gpac/src/utils/dlmalloc.c:3314,1
    - Dst: do_check_treebin
      Src: /src/gpac/src/utils/dlmalloc.c:3316,1
    - Dst: do_check_any_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3319,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3320,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3320,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3321,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3322,1
    - Dst: bin_find
      Src: /src/gpac/src/utils/dlmalloc.c:3322,1
    - Dst: do_check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3326,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3328,1
    - Dst: traverse_and_check
      Src: /src/gpac/src/utils/dlmalloc.c:3332,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3333,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3329,1
    - Dst: bin_find
      Src: /src/gpac/src/utils/dlmalloc.c:3329,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3335
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3335
    functionName: do_check_malloc_state
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    - do_check_smallbin
    - do_check_treebin
    - do_check_any_chunk
    - chunksize
    - bin_find
    - do_check_top_chunk
    - traverse_and_check
    linkageType: ''
    returnType: void
    signature: 'static void do_check_malloc_state(mstate m) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:4204,1
    - Dst: leftshift_for_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:4206,1
    - Dst: compute_bit2idx
      Src: /src/gpac/src/utils/dlmalloc.c:4232,1
    - Dst: leftmost_child
      Src: /src/gpac/src/utils/dlmalloc.c:4243,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4250,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:4248,1
    - Dst: ok_next
      Src: /src/gpac/src/utils/dlmalloc.c:4251,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4256,1
    - Dst: insert_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4258,1
    - Dst: compute_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:4203,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4210,1
    - Dst: idx2bit
      Src: /src/gpac/src/utils/dlmalloc.c:4228,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4250,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4254,1
    - Dst: CORRUPTION_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4263,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4251,1
    - Dst: unlink_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4252,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4248,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4257,1
    - Dst: left_bits
      Src: /src/gpac/src/utils/dlmalloc.c:4228,1
    - Dst: least_bit
      Src: /src/gpac/src/utils/dlmalloc.c:4231,1
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:4233,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4238,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4249,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4260,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - m
    - nb
    argTypes:
    - mstate
    - size_t
    constantsTouched: []
    func_position:
      end: 4266
      start: 4198
    functionDepth: 0
    functionLinenumber: 4198
    functionLinenumberEnd: 4266
    functionName: tmalloc_large
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - chunk2mem
    - RTCHECK
    - set_inuse_and_pinuse
    - insert_chunk
    - CORRUPTION_ERROR_ACTION
    - compute_bit2idx
    - leftshift_for_tree_index
    - compute_tree_index
    - assert
    - least_bit
    - set_size_and_pinuse_of_inuse_chunk
    - chunk_plus_offset
    - ok_next
    - unlink_large_chunk
    - idx2bit
    - ok_address
    - treebin_at
    - left_bits
    - leftmost_child
    - chunksize
    - set_size_and_pinuse_of_free_chunk
    linkageType: ''
    returnType: void*
    signature: 'static void * tmalloc_large(mstate m, size_t nb) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4132,1
    - Dst: is_initialized
      Src: /src/gpac/src/utils/dlmalloc.c:4133,1
    - Dst: is_extern_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4143,1
    - Dst: is_mmapped_segment
      Src: /src/gpac/src/utils/dlmalloc.c:4144,1
    - Dst: segment_holding
      Src: /src/gpac/src/utils/dlmalloc.c:4141,1
    - Dst: has_segment_link
      Src: /src/gpac/src/utils/dlmalloc.c:4147,1
    - Dst: CALL_MREMAP
      Src: /src/gpac/src/utils/dlmalloc.c:4150,1
    - Dst: CALL_MUNMAP
      Src: /src/gpac/src/utils/dlmalloc.c:4151,1
    - Dst: ACQUIRE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:4159,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:4162,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:4177,1
    - Dst: release_unused_segments
      Src: /src/gpac/src/utils/dlmalloc.c:4184,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4178,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:4165,1
    - Dst: RELEASE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:4170,1
    - Dst: CALL_MORECORE
      Src: /src/gpac/src/utils/dlmalloc.c:4164,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - m
    - pad
    argTypes:
    - mstate
    - size_t
    constantsTouched: []
    func_position:
      end: 4192
      start: 4130
    functionDepth: 0
    functionLinenumber: 4130
    functionLinenumberEnd: 4192
    functionName: sys_trim
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_initialized
    - ACQUIRE_MALLOC_GLOBAL_LOCK
    - CALL_MORECORE
    - check_top_chunk
    - is_extern_segment
    - init_top
    - has_segment_link
    - is_mmapped_segment
    - segment_holding
    - CALL_MREMAP
    - CALL_MUNMAP
    - ensure_initialization
    - RELEASE_MALLOC_GLOBAL_LOCK
    - release_unused_segments
    linkageType: ''
    returnType: int
    signature: 'static int sys_trim(mstate m, size_t pad) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1698,1
    - Dst: thr_yield
      Src: /src/gpac/src/utils/dlmalloc.c:1706,1
    - Dst: sched_yield
      Src: /src/gpac/src/utils/dlmalloc.c:1709,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1716
    functionName: pthread_acquire_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    - sched_yield
    - thr_yield
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE int pthread_acquire_lock (MLOCK_T *sl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3243,1
    - Dst: smallmap_is_marked
      Src: /src/gpac/src/utils/dlmalloc.c:3247,1
    - Dst: small_index
      Src: /src/gpac/src/utils/dlmalloc.c:3245,1
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3246,1
    - Dst: is_small
      Src: /src/gpac/src/utils/dlmalloc.c:3244,1
    - Dst: compute_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:3257,1
    - Dst: treemap_is_marked
      Src: /src/gpac/src/utils/dlmalloc.c:3258,1
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3259,1
    - Dst: leftshift_for_tree_index
      Src: /src/gpac/src/utils/dlmalloc.c:3260,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - m
    - x
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3275
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3275
    functionName: bin_find
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - smallmap_is_marked
    - small_index
    - compute_tree_index
    - treebin_at
    - is_small
    - chunksize
    - leftshift_for_tree_index
    - smallbin_at
    - treemap_is_marked
    linkageType: ''
    returnType: int
    signature: 'static int bin_find(mstate m, mchunkptr x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:4286,1
    - Dst: ok_next
      Src: /src/gpac/src/utils/dlmalloc.c:4289,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4295,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4288,1
    - Dst: CORRUPTION_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4302,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4276,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4288,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4298,1
    - Dst: least_bit
      Src: /src/gpac/src/utils/dlmalloc.c:4273,1
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:4275,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4279,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4286,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4289,1
    - Dst: replace_dv
      Src: /src/gpac/src/utils/dlmalloc.c:4296,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4294,1
    - Dst: unlink_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4290,1
    - Dst: compute_bit2idx
      Src: /src/gpac/src/utils/dlmalloc.c:4274,1
    - Dst: leftmost_child
      Src: /src/gpac/src/utils/dlmalloc.c:4278,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4287,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - m
    - nb
    argTypes:
    - mstate
    - size_t
    constantsTouched: []
    func_position:
      end: 4304
      start: 4269
    functionDepth: 0
    functionLinenumber: 4269
    functionLinenumberEnd: 4304
    functionName: tmalloc_small
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ok_address
    - assert
    - replace_dv
    - chunk2mem
    - treebin_at
    - leftmost_child
    - least_bit
    - set_inuse_and_pinuse
    - set_size_and_pinuse_of_inuse_chunk
    - chunksize
    - chunk_plus_offset
    - ok_next
    - CORRUPTION_ERROR_ACTION
    - RTCHECK
    - compute_bit2idx
    - unlink_large_chunk
    - set_size_and_pinuse_of_free_chunk
    linkageType: ''
    returnType: void*
    signature: 'static void * tmalloc_small(mstate m, size_t nb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mspace_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:5296,1
    - Dst: get_mstate_for
      Src: /src/gpac/src/utils/dlmalloc.c:5306,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5305,1
    - Dst: mspace_free
      Src: /src/gpac/src/utils/dlmalloc.c:5299,1
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5310,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5311,1
    - Dst: internal_realloc
      Src: /src/gpac/src/utils/dlmalloc.c:5314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - msp
    - oldmem
    - bytes
    argTypes:
    - mspace
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5316
      start: 5294
    functionDepth: 0
    functionLinenumber: 5294
    functionLinenumberEnd: 5316
    functionName: mspace_realloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - mem2chunk
    - internal_realloc
    - mspace_free
    - get_mstate_for
    - USAGE_ERROR_ACTION
    - mspace_malloc
    - ok_magic
    linkageType: ''
    returnType: void*
    signature: 'void * mspace_realloc(mspace msp, void* oldmem, size_t bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1720,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: pthread_release_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE void pthread_release_lock (MLOCK_T *sl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1757
    functionName: pthread_try_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE int pthread_try_lock (MLOCK_T *sl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5320,1
    - Dst: internal_memalign
      Src: /src/gpac/src/utils/dlmalloc.c:5324,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - msp
    - alignment
    - bytes
    argTypes:
    - mspace
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 5325
      start: 5318
    functionDepth: 0
    functionLinenumber: 5318
    functionLinenumberEnd: 5325
    functionName: mspace_memalign
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - internal_memalign
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: void*
    signature: 'void * mspace_memalign(mspace msp, size_t alignment, size_t bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - m
    - ss
    argTypes:
    - mstate
    - msegmentptr
    constantsTouched: []
    func_position:
      end: 2584
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2584
    functionName: has_segment_link
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int has_segment_link(mstate m, msegmentptr ss) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_malloc_global_mutex
      Src: /src/gpac/src/utils/dlmalloc.c:2965,1
    - Dst: INITIAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3015,1
    - Dst: open
      Src: /src/gpac/src/utils/dlmalloc.c:3024,1
    - Dst: ACQUIRE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:2968,1
    - Dst: GetSystemInfo
      Src: /src/gpac/src/utils/dlmalloc.c:2979,1
    - Dst: read
      Src: /src/gpac/src/utils/dlmalloc.c:3025,1
    - Dst: close
      Src: /src/gpac/src/utils/dlmalloc.c:3027,1
    - Dst: GetTickCount
      Src: /src/gpac/src/utils/dlmalloc.c:3032,1
    - Dst: time
      Src: /src/gpac/src/utils/dlmalloc.c:3034,1
    - Dst: RELEASE_MALLOC_GLOBAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:3042,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3044
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 3044
    functionName: init_mparams
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ACQUIRE_MALLOC_GLOBAL_LOCK
    - GetTickCount
    - init_malloc_global_mutex
    - INITIAL_LOCK
    - RELEASE_MALLOC_GLOBAL_LOCK
    - open
    - GetSystemInfo
    - close
    - time
    - read
    linkageType: ''
    returnType: int
    signature: 'static int init_mparams(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: segment_holding
      Src: /src/gpac/src/utils/dlmalloc.c:3828,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:3830,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3832,1
    - Dst: align_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3832,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3836,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3837,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:3842,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3845,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3845,1
    - Dst: insert_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3871,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3846,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3863,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3869,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3874,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3870,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3855,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - m
    - tbase
    - tsize
    - mmapped
    argTypes:
    - mstate
    - char*
    - size_t
    - flag_t
    constantsTouched: []
    func_position:
      end: 3875
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3875
    functionName: add_segment
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - set_free_with_pinuse
    - pad_request
    - assert
    - align_offset
    - chunk2mem
    - check_top_chunk
    - insert_chunk
    - init_top
    - is_aligned
    - chunk_plus_offset
    - set_size_and_pinuse_of_inuse_chunk
    - segment_holding
    linkageType: ''
    returnType: void
    signature: 'static void add_segment(mstate m, char* tbase, size_t tsize, flag_t
      mmapped) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3785,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3790,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3788,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3793,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3794,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3812,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3793,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3801,1
    - Dst: check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3817,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3809,1
    - Dst: insert_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3816,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3815,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3810,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3821,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3786,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3792,1
    - Dst: unlink_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3811,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3820,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3806,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - m
    - newbase
    - oldbase
    - nb
    argTypes:
    - mstate
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3822
      start: 3783
    functionDepth: 0
    functionLinenumber: 3783
    functionLinenumberEnd: 3822
    functionName: prepend_alloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - set_free_with_pinuse
    - assert
    - chunk2mem
    - align_as_chunk
    - pinuse
    - unlink_chunk
    - check_malloced_chunk
    - check_top_chunk
    - insert_chunk
    - set_size_and_pinuse_of_inuse_chunk
    - chunksize
    - chunk_plus_offset
    - is_inuse
    - check_free_chunk
    - set_size_and_pinuse_of_free_chunk
    linkageType: ''
    returnType: void*
    signature: 'static void * prepend_alloc(mstate m, char* newbase, char* oldbase,
      size_t nb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4950,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4952,1
    - Dst: overhead_for
      Src: /src/gpac/src/utils/dlmalloc.c:4952,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4955
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 4955
    functionName: dlmalloc_usable_size
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_inuse
    - mem2chunk
    - overhead_for
    - chunksize
    linkageType: ''
    returnType: size_t
    signature: 'size_t dlmalloc_usable_size(void* mem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:3343,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:3344,1
    - Dst: check_malloc_state
      Src: /src/gpac/src/utils/dlmalloc.c:3345,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3352,1
    - Dst: is_initialized
      Src: /src/gpac/src/utils/dlmalloc.c:3346,1
    - Dst: segment_holds
      Src: /src/gpac/src/utils/dlmalloc.c:3353,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3355,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3357,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3361,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:3375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3378
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3378
    functionName: internal_mallinfo
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_initialized
    - check_malloc_state
    - align_as_chunk
    - segment_holds
    - POSTACTION
    - chunksize
    - is_inuse
    - next_chunk
    - ensure_initialization
    - PREACTION
    linkageType: ''
    returnType: struct mallinfo
    signature: 'static struct mallinfo internal_mallinfo(mstate m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_mallinfo
      Src: /src/gpac/src/utils/dlmalloc.c:4934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4935
      start: 4933
    functionDepth: 0
    functionLinenumber: 4933
    functionLinenumberEnd: 4935
    functionName: dlmallinfo
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - internal_mallinfo
    linkageType: ''
    returnType: struct mallinfo
    signature: 'struct mallinfo dlmallinfo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segment_holding
      Src: /src/gpac/src/utils/dlmalloc.c:3081,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3084,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3083,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3084,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3084,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3085,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:3085,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3086,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3087,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3088,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3089,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3090,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3090,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3090,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3089,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3091
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3091
    functionName: do_check_top_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ok_address
    - assert
    - chunk2mem
    - pinuse
    - is_aligned
    - chunk_plus_offset
    - segment_holding
    linkageType: ''
    returnType: void
    signature: 'static void do_check_top_chunk(mstate m, mchunkptr p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4909,1
    - Dst: dlmemalign
      Src: /src/gpac/src/utils/dlmalloc.c:4911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 4912
      start: 4907
    functionDepth: 0
    functionLinenumber: 4907
    functionLinenumberEnd: 4912
    functionName: dlpvalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - dlmemalign
    - ensure_initialization
    linkageType: ''
    returnType: void*
    signature: 'void * dlpvalloc(size_t bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:4962,1
    - Dst: memset
      Src: /src/gpac/src/utils/dlmalloc.c:4966,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4965,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4964,1
    - Dst: INITIAL_LOCK
      Src: /src/gpac/src/utils/dlmalloc.c:4967,1
    - Dst: disable_contiguous
      Src: /src/gpac/src/utils/dlmalloc.c:4976,1
    - Dst: init_bins
      Src: /src/gpac/src/utils/dlmalloc.c:4977,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4978,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4978,1
    - Dst: init_top
      Src: /src/gpac/src/utils/dlmalloc.c:4979,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - tbase
    - tsize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4982
      start: 4961
    functionDepth: 0
    functionLinenumber: 4961
    functionLinenumberEnd: 4982
    functionName: init_user_mstate
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - mem2chunk
    - pad_request
    - memset
    - chunk2mem
    - align_as_chunk
    - init_bins
    - check_top_chunk
    - init_top
    - INITIAL_LOCK
    - disable_contiguous
    - next_chunk
    linkageType: ''
    returnType: mstate
    signature: 'static mstate init_user_mstate(char* tbase, size_t tsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5411,1
    - Dst: overhead_for
      Src: /src/gpac/src/utils/dlmalloc.c:5413,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:5413,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:5412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5416
      start: 5409
    functionDepth: 0
    functionLinenumber: 5409
    functionLinenumberEnd: 5416
    functionName: mspace_usable_size
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_inuse
    - mem2chunk
    - overhead_for
    - chunksize
    linkageType: ''
    returnType: size_t
    signature: 'size_t mspace_usable_size(void* mem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3741,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3741,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - m
    - p
    - psize
    argTypes:
    - mstate
    - mchunkptr
    - size_t
    constantsTouched: []
    func_position:
      end: 3751
      start: 3739
    functionDepth: 0
    functionLinenumber: 3739
    functionLinenumberEnd: 3751
    functionName: init_top
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - align_offset
    - chunk2mem
    - chunk_plus_offset
    linkageType: ''
    returnType: void
    signature: 'static void init_top(mstate m, mchunkptr p, size_t psize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4916,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4919,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4917,1
    - Dst: sys_trim
      Src: /src/gpac/src/utils/dlmalloc.c:4918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 4922
      start: 4914
    functionDepth: 0
    functionLinenumber: 4914
    functionLinenumberEnd: 4922
    functionName: dlmalloc_trim
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - POSTACTION
    - sys_trim
    - PREACTION
    - ensure_initialization
    linkageType: ''
    returnType: int
    signature: 'int dlmalloc_trim(size_t pad) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4987,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:4988,1
    - Dst: granularity_align
      Src: /src/gpac/src/utils/dlmalloc.c:4992,1
    - Dst: CALL_MMAP
      Src: /src/gpac/src/utils/dlmalloc.c:4993,1
    - Dst: init_user_mstate
      Src: /src/gpac/src/utils/dlmalloc.c:4995,1
    - Dst: set_lock
      Src: /src/gpac/src/utils/dlmalloc.c:4997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - capacity
    - locked
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 5001
      start: 4984
    functionDepth: 0
    functionLinenumber: 4984
    functionLinenumberEnd: 5001
    functionName: create_mspace
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - CALL_MMAP
    - pad_request
    - granularity_align
    - set_lock
    - init_user_mstate
    - ensure_initialization
    linkageType: ''
    returnType: mspace
    signature: 'mspace create_mspace(size_t capacity, int locked) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3075,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:3076,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3075,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3076,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - mstate
    - mchunkptr
    constantsTouched: []
    func_position:
      end: 3077
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3077
    functionName: do_check_any_chunk
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ok_address
    - assert
    - chunk2mem
    - is_aligned
    linkageType: ''
    returnType: void
    signature: 'static void do_check_any_chunk(mstate m, mchunkptr p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3704,1
    - Dst: mmap_align
      Src: /src/gpac/src/utils/dlmalloc.c:3714,1
    - Dst: CALL_MREMAP
      Src: /src/gpac/src/utils/dlmalloc.c:3715,1
    - Dst: is_small
      Src: /src/gpac/src/utils/dlmalloc.c:3705,1
    - Dst: mark_inuse_foot
      Src: /src/gpac/src/utils/dlmalloc.c:3721,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3722,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3723,1
    - Dst: check_mmapped_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3729,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - m
    - oldp
    - nb
    argTypes:
    - mstate
    - mchunkptr
    - size_t
    constantsTouched: []
    func_position:
      end: 3734
      start: 3703
    functionDepth: 0
    functionLinenumber: 3703
    functionLinenumberEnd: 3734
    functionName: mmap_resize
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - check_mmapped_chunk
    - is_small
    - chunksize
    - chunk_plus_offset
    - CALL_MREMAP
    - mmap_align
    - mark_inuse_foot
    linkageType: ''
    returnType: mchunkptr
    signature: 'static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5182,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:5188,1
    - Dst: ok_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:5188,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5191,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:5203,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:5218,1
    - Dst: cinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5219,1
    - Dst: sys_trim
      Src: /src/gpac/src/utils/dlmalloc.c:5229,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:5239,1
    - Dst: insert_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5253,1
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5187,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5209,1
    - Dst: unlink_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5205,1
    - Dst: ok_next
      Src: /src/gpac/src/utils/dlmalloc.c:5218,1
    - Dst: ok_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5218,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5235,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5242,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5183,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:5189,1
    - Dst: CALL_MUNMAP
      Src: /src/gpac/src/utils/dlmalloc.c:5195,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:5203,1
    - Dst: should_trim
      Src: /src/gpac/src/utils/dlmalloc.c:5228,1
    - Dst: unlink_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5241,1
    - Dst: check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5254,1
    - Dst: insert_large_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5258,1
    - Dst: release_unused_segments
      Src: /src/gpac/src/utils/dlmalloc.c:5261,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5267,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5269,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5175,1
    - Dst: get_mstate_for
      Src: /src/gpac/src/utils/dlmalloc.c:5177,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5186,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:5188,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:5190,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:5193,1
    - Dst: chunk_minus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:5200,1
    - Dst: set_free_with_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5250,1
    - Dst: is_small
      Src: /src/gpac/src/utils/dlmalloc.c:5252,1
    - Dst: check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5259,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 2
    argNames:
    - msp
    - mem
    argTypes:
    - mspace
    - void*
    constantsTouched: []
    func_position:
      end: 5272
      start: 5173
    functionDepth: 0
    functionLinenumber: 5173
    functionLinenumberEnd: 5272
    functionName: mspace_free
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - insert_large_chunk
    - CALL_MUNMAP
    - RTCHECK
    - release_unused_segments
    - should_trim
    - sys_trim
    - ok_magic
    - mem2chunk
    - ok_pinuse
    - check_free_chunk
    - ok_inuse
    - chunk_minus_offset
    - check_inuse_chunk
    - chunk_plus_offset
    - ok_next
    - get_mstate_for
    - set_size_and_pinuse_of_free_chunk
    - insert_small_chunk
    - cinuse
    - ok_address
    - set_free_with_pinuse
    - unlink_chunk
    - pinuse
    - POSTACTION
    - is_small
    - chunksize
    - USAGE_ERROR_ACTION
    - is_mmapped
    - PREACTION
    linkageType: ''
    returnType: void
    signature: 'void mspace_free(mspace msp, void* mem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: interlockedexchange
      Src: /src/gpac/src/utils/dlmalloc.c:1788,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1789,1
    - Dst: SleepEx
      Src: /src/gpac/src/utils/dlmalloc.c:1796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1798
    functionName: win32_acquire_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - interlockedexchange
    - SleepEx
    - assert
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE int win32_acquire_lock (MLOCK_T *sl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3219,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3231,1
    - Dst: do_check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3229,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3223,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3226,1
    - Dst: small_index
      Src: /src/gpac/src/utils/dlmalloc.c:3231,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3232,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3232,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3232,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3234,1
    - Dst: do_check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - m
    - i
    argTypes:
    - mstate
    - bindex_t
    constantsTouched: []
    func_position:
      end: 3239
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3239
    functionName: do_check_smallbin
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - small_index
    - assert
    - do_check_free_chunk
    - chunksize
    - do_check_inuse_chunk
    - smallbin_at
    - next_chunk
    linkageType: ''
    returnType: void
    signature: 'static void do_check_smallbin(mstate m, bindex_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1801,1
    - Dst: interlockedexchange
      Src: /src/gpac/src/utils/dlmalloc.c:1805,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1807
    functionName: win32_release_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - interlockedexchange
    - assert
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE void win32_release_lock (MLOCK_T *sl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: interlockedexchange
      Src: /src/gpac/src/utils/dlmalloc.c:1817,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sl
    argTypes:
    - MLOCK_T*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1825
    functionName: win32_try_lock
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - interlockedexchange
    - assert
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE int win32_try_lock (MLOCK_T *sl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5278,1
    - Dst: calloc_must_clear
      Src: /src/gpac/src/utils/dlmalloc.c:5289,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5279,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:5288,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5289,1
    - Dst: memset
      Src: /src/gpac/src/utils/dlmalloc.c:5290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - msp
    - n_elements
    - elem_size
    argTypes:
    - mspace
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 5292
      start: 5274
    functionDepth: 0
    functionLinenumber: 5274
    functionLinenumberEnd: 5292
    functionName: mspace_calloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - mem2chunk
    - internal_malloc
    - memset
    - calloc_must_clear
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: void*
    signature: 'void * mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: treebin_at
      Src: /src/gpac/src/utils/dlmalloc.c:3208,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3212,1
    - Dst: do_check_tree
      Src: /src/gpac/src/utils/dlmalloc.c:3214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - m
    - i
    argTypes:
    - mstate
    - bindex_t
    constantsTouched: []
    func_position:
      end: 3215
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3215
    functionName: do_check_treebin
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - do_check_tree
    - assert
    - treebin_at
    linkageType: ''
    returnType: void
    signature: 'static void do_check_treebin(mstate m, bindex_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ialloc
      Src: /src/gpac/src/utils/dlmalloc.c:4897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n_elements
    - sizes
    - chunks
    argTypes:
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 4898
      start: 4895
    functionDepth: 0
    functionLinenumber: 4895
    functionLinenumberEnd: 4898
    functionName: dlindependent_comalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ialloc
    linkageType: ''
    returnType: void**
    signature: 'void ** dlindependent_comalloc(size_t n_elements, size_t sizes[],
      void* chunks[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4902,1
    - Dst: dlmemalign
      Src: /src/gpac/src/utils/dlmalloc.c:4904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 4905
      start: 4900
    functionDepth: 0
    functionLinenumber: 4900
    functionLinenumberEnd: 4905
    functionName: dlvalloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - dlmemalign
    - ensure_initialization
    linkageType: ''
    returnType: void*
    signature: 'void * dlvalloc(size_t bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VirtualAlloc
      Src: /src/gpac/src/utils/dlmalloc.c:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: win32direct_mmap
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - VirtualAlloc
    linkageType: ''
    returnType: FORCEINLINE*
    signature: 'static FORCEINLINE void * win32direct_mmap(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VirtualAlloc
      Src: /src/gpac/src/utils/dlmalloc.c:1518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: win32mmap
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - VirtualAlloc
    linkageType: ''
    returnType: FORCEINLINE*
    signature: 'static FORCEINLINE void * win32mmap(size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VirtualQuery
      Src: /src/gpac/src/utils/dlmalloc.c:1534,1
    - Dst: VirtualFree
      Src: /src/gpac/src/utils/dlmalloc.c:1539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1545
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1545
    functionName: win32munmap
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - VirtualQuery
    - VirtualFree
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE int win32munmap(void* ptr, size_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mmap_align
      Src: /src/gpac/src/utils/dlmalloc.c:3677,1
    - Dst: align_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3681,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3681,1
    - Dst: CALL_DIRECT_MMAP
      Src: /src/gpac/src/utils/dlmalloc.c:3679,1
    - Dst: mark_inuse_foot
      Src: /src/gpac/src/utils/dlmalloc.c:3686,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3687,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:3688,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3694,1
    - Dst: is_aligned
      Src: /src/gpac/src/utils/dlmalloc.c:3694,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3694,1
    - Dst: check_mmapped_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3695,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:3696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - m
    - nb
    argTypes:
    - mstate
    - size_t
    constantsTouched: []
    func_position:
      end: 3700
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3700
    functionName: mmap_alloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - assert
    - align_offset
    - chunk2mem
    - check_mmapped_chunk
    - is_aligned
    - chunk_plus_offset
    - mmap_align
    - mark_inuse_foot
    - CALL_DIRECT_MMAP
    linkageType: ''
    returnType: void*
    signature: 'static void * mmap_alloc(mstate m, size_t nb) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: disable_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:4531,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4554,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4561,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4584,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4586,1
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:4495,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4513,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4508,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:4532,1
    - Dst: enable_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:4534,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4566,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4572,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4581,1
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4586,1
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4589,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:4506,1
    - Dst: use_mmap
      Src: /src/gpac/src/utils/dlmalloc.c:4530,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4538,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4540,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4539,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4568,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4589,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4520,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4555,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4552,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:4542,1
    - Dst: memset
      Src: /src/gpac/src/utils/dlmalloc.c:4545,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4542,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4569,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4584,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4593,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 5
    argNames:
    - m
    - n_elements
    - sizes
    - opts
    - chunks
    argTypes:
    - mstate
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 4595
      start: 4470
    functionDepth: 0
    functionLinenumber: 4470
    functionLinenumberEnd: 4595
    functionName: ialloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - request2size
    - mem2chunk
    - internal_malloc
    - assert
    - memset
    - disable_mmap
    - chunk2mem
    - check_inuse_chunk
    - POSTACTION
    - set_size_and_pinuse_of_inuse_chunk
    - chunksize
    - chunk_plus_offset
    - enable_mmap
    - use_mmap
    - is_mmapped
    - ensure_initialization
    - PREACTION
    linkageType: ''
    returnType: void**
    signature: 'static void ** ialloc(mstate m, size_t n_elements, size_t* sizes,
      int opts, void* chunks[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5402,1
    - Dst: internal_mallinfo
      Src: /src/gpac/src/utils/dlmalloc.c:5405,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - msp
    argTypes:
    - mspace
    constantsTouched: []
    func_position:
      end: 5406
      start: 5400
    functionDepth: 0
    functionLinenumber: 5400
    functionLinenumberEnd: 5406
    functionName: mspace_mallinfo
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - USAGE_ERROR_ACTION
    - internal_mallinfo
    - ok_magic
    linkageType: ''
    returnType: struct mallinfo
    signature: 'struct mallinfo mspace_mallinfo(mspace msp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5061,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:5071,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:5080,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:5080,1
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:5096,1
    - Dst: least_bit
      Src: /src/gpac/src/utils/dlmalloc.c:5094,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:5100,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5105,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:5106,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5107,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5166,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5156,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5144,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:5135,1
    - Dst: small_index
      Src: /src/gpac/src/utils/dlmalloc.c:5072,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:5080,1
    - Dst: compute_bit2idx
      Src: /src/gpac/src/utils/dlmalloc.c:5095,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:5083,1
    - Dst: idx2bit
      Src: /src/gpac/src/utils/dlmalloc.c:5093,1
    - Dst: unlink_first_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5099,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5103,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:5103,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5116,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5126,1
    - Dst: sys_alloc
      Src: /src/gpac/src/utils/dlmalloc.c:5163,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5147,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5065,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5084,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:5082,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:5082,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:5098,1
    - Dst: small_index2size
      Src: /src/gpac/src/utils/dlmalloc.c:5098,1
    - Dst: replace_dv
      Src: /src/gpac/src/utils/dlmalloc.c:5108,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:5110,1
    - Dst: pad_request
      Src: /src/gpac/src/utils/dlmalloc.c:5124,1
    - Dst: check_top_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5158,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:5154,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:5146,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5062,1
    - Dst: smallbin_at
      Src: /src/gpac/src/utils/dlmalloc.c:5078,1
    - Dst: unlink_first_small_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5081,1
    - Dst: left_bits
      Src: /src/gpac/src/utils/dlmalloc.c:5093,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:5098,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5111,1
    - Dst: tmalloc_small
      Src: /src/gpac/src/utils/dlmalloc.c:5115,1
    - Dst: tmalloc_large
      Src: /src/gpac/src/utils/dlmalloc.c:5125,1
    - Dst: set_size_and_pinuse_of_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5137,1
    - Dst: set_size_and_pinuse_of_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5138,1
    - Dst: check_malloced_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:5159,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:5157,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 122
    argCount: 2
    argNames:
    - msp
    - bytes
    argTypes:
    - mspace
    - size_t
    constantsTouched: []
    func_position:
      end: 5171
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5171
    functionName: mspace_malloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - chunk2mem
    - check_malloced_chunk
    - check_top_chunk
    - sys_alloc
    - tmalloc_small
    - ok_magic
    - pad_request
    - set_inuse_and_pinuse
    - compute_bit2idx
    - assert
    - small_index2size
    - unlink_first_small_chunk
    - replace_dv
    - least_bit
    - set_size_and_pinuse_of_inuse_chunk
    - chunk_plus_offset
    - idx2bit
    - set_size_and_pinuse_of_free_chunk
    - small_index
    - left_bits
    - POSTACTION
    - chunksize
    - USAGE_ERROR_ACTION
    - smallbin_at
    - PREACTION
    - tmalloc_large
    linkageType: ''
    returnType: void*
    signature: 'void * mspace_malloc(mspace msp, size_t bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interlockedcompareexchange
      Src: /src/gpac/src/utils/dlmalloc.c:1883,1
    - Dst: interlockedexchange
      Src: /src/gpac/src/utils/dlmalloc.c:1885,1
    - Dst: SleepEx
      Src: /src/gpac/src/utils/dlmalloc.c:1888,1
    - Dst: InitializeCriticalSection
      Src: /src/gpac/src/utils/dlmalloc.c:1884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1890
    functionName: init_malloc_global_mutex
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - InitializeCriticalSection
    - interlockedcompareexchange
    - SleepEx
    - interlockedexchange
    linkageType: ''
    returnType: void
    signature: 'static void init_malloc_global_mutex() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - m
    - addr
    argTypes:
    - mstate
    - char*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2573
    functionName: segment_holding
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: msegmentptr
    signature: 'static msegmentptr segment_holding(mstate m, char* addr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4418,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4434,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4442,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4452,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4445,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4455,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4462,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:4385,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:4402,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:4428,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4433,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4452,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4448,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:4453,1
    - Dst: internal_free
      Src: /src/gpac/src/utils/dlmalloc.c:4460,1
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4406,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4426,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4447,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4446,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4453,1
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4454,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4400,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4408,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4435,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:4441,1
    - Dst: internal_free
      Src: /src/gpac/src/utils/dlmalloc.c:4457,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 3
    argNames:
    - m
    - alignment
    - bytes
    argTypes:
    - mstate
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4466
      start: 4383
    functionDepth: 0
    functionLinenumber: 4383
    functionLinenumberEnd: 4466
    functionName: internal_memalign
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - set_inuse
    - request2size
    - mem2chunk
    - internal_malloc
    - assert
    - chunk2mem
    - check_inuse_chunk
    - POSTACTION
    - chunksize
    - chunk_plus_offset
    - internal_free
    - is_mmapped
    - PREACTION
    linkageType: ''
    returnType: void*
    signature: 'static void * internal_memalign(mstate m, size_t alignment, size_t
      bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_initialization
      Src: /src/gpac/src/utils/dlmalloc.c:3382,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3395,1
    - Dst: is_initialized
      Src: /src/gpac/src/utils/dlmalloc.c:3388,1
    - Dst: check_malloc_state
      Src: /src/gpac/src/utils/dlmalloc.c:3387,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:3383,1
    - Dst: segment_holds
      Src: /src/gpac/src/utils/dlmalloc.c:3396,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3398,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3399,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3400,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/dlmalloc.c:3406,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/dlmalloc.c:3407,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/dlmalloc.c:3408,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:3410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3412
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3412
    functionName: internal_malloc_stats
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_initialized
    - check_malloc_state
    - align_as_chunk
    - segment_holds
    - fprintf
    - POSTACTION
    - chunksize
    - is_inuse
    - next_chunk
    - ensure_initialization
    - PREACTION
    linkageType: ''
    returnType: void
    signature: 'static void internal_malloc_stats(mstate m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok_magic
      Src: /src/gpac/src/utils/dlmalloc.c:5035,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:5048,1
    - Dst: CALL_MUNMAP
      Src: /src/gpac/src/utils/dlmalloc.c:5043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - msp
    argTypes:
    - mspace
    constantsTouched: []
    func_position:
      end: 5051
      start: 5032
    functionDepth: 0
    functionLinenumber: 5032
    functionLinenumberEnd: 5051
    functionName: destroy_mspace
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - CALL_MUNMAP
    - USAGE_ERROR_ACTION
    - ok_magic
    linkageType: ''
    returnType: size_t
    signature: 'size_t destroy_mspace(mspace msp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_memalign
      Src: /src/gpac/src/utils/dlmalloc.c:4886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - alignment
    - bytes
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4887
      start: 4885
    functionDepth: 0
    functionLinenumber: 4885
    functionLinenumberEnd: 4887
    functionName: dlmemalign
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - internal_memalign
    linkageType: ''
    returnType: void*
    signature: 'void * dlmemalign(size_t alignment, size_t bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4926
      start: 4924
    functionDepth: 0
    functionLinenumber: 4924
    functionLinenumberEnd: 4926
    functionName: dlmalloc_footprint
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t dlmalloc_footprint(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ialloc
      Src: /src/gpac/src/utils/dlmalloc.c:4892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n_elements
    - elem_size
    - chunks
    argTypes:
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 4893
      start: 4889
    functionDepth: 0
    functionLinenumber: 4889
    functionLinenumberEnd: 4893
    functionName: dlindependent_calloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - ialloc
    linkageType: ''
    returnType: void**
    signature: 'void ** dlindependent_calloc(size_t n_elements, size_t elem_size,
      void* chunks[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4930
      start: 4928
    functionDepth: 0
    functionLinenumber: 4928
    functionLinenumberEnd: 4930
    functionName: dlmalloc_max_footprint
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t dlmalloc_max_footprint(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_initialized
      Src: /src/gpac/src/utils/dlmalloc.c:3280,1
    - Dst: segment_holds
      Src: /src/gpac/src/utils/dlmalloc.c:3287,1
    - Dst: align_as_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3284,1
    - Dst: pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:3286,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3286,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:3289,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3290,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3291,1
    - Dst: bin_find
      Src: /src/gpac/src/utils/dlmalloc.c:3291,1
    - Dst: do_check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3292,1
    - Dst: bin_find
      Src: /src/gpac/src/utils/dlmalloc.c:3295,1
    - Dst: next_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3300,1
    - Dst: is_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:3296,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3296,1
    - Dst: do_check_free_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:3297,1
    - Dst: assert
      Src: /src/gpac/src/utils/dlmalloc.c:3295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - m
    argTypes:
    - mstate
    constantsTouched: []
    func_position:
      end: 3306
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3306
    functionName: traverse_and_check
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - is_initialized
    - assert
    - segment_holds
    - align_as_chunk
    - pinuse
    - do_check_free_chunk
    - chunksize
    - is_inuse
    - bin_find
    - do_check_inuse_chunk
    - next_chunk
    linkageType: ''
    returnType: size_t
    signature: 'static size_t traverse_and_check(mstate m) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mem2chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4314,1
    - Dst: ok_next
      Src: /src/gpac/src/utils/dlmalloc.c:4323,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4332,1
    - Dst: set_inuse_and_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4333,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4351,1
    - Dst: POSTACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4360,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4366,1
    - Dst: internal_free
      Src: /src/gpac/src/utils/dlmalloc.c:4373,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4316,1
    - Dst: ok_address
      Src: /src/gpac/src/utils/dlmalloc.c:4322,1
    - Dst: ok_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4322,1
    - Dst: ok_pinuse
      Src: /src/gpac/src/utils/dlmalloc.c:4323,1
    - Dst: request2size
      Src: /src/gpac/src/utils/dlmalloc.c:4324,1
    - Dst: is_mmapped
      Src: /src/gpac/src/utils/dlmalloc.c:4325,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4341,1
    - Dst: internal_free
      Src: /src/gpac/src/utils/dlmalloc.c:4364,1
    - Dst: overhead_for
      Src: /src/gpac/src/utils/dlmalloc.c:4371,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/dlmalloc.c:4372,1
    - Dst: RTCHECK
      Src: /src/gpac/src/utils/dlmalloc.c:4322,1
    - Dst: mmap_resize
      Src: /src/gpac/src/utils/dlmalloc.c:4326,1
    - Dst: check_inuse_chunk
      Src: /src/gpac/src/utils/dlmalloc.c:4356,1
    - Dst: internal_malloc
      Src: /src/gpac/src/utils/dlmalloc.c:4369,1
    - Dst: PREACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4313,1
    - Dst: chunksize
      Src: /src/gpac/src/utils/dlmalloc.c:4315,1
    - Dst: chunk2mem
      Src: /src/gpac/src/utils/dlmalloc.c:4334,1
    - Dst: chunk_plus_offset
      Src: /src/gpac/src/utils/dlmalloc.c:4331,1
    - Dst: set_inuse
      Src: /src/gpac/src/utils/dlmalloc.c:4342,1
    - Dst: USAGE_ERROR_ACTION
      Src: /src/gpac/src/utils/dlmalloc.c:4350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - m
    - oldmem
    - bytes
    argTypes:
    - mstate
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 4379
      start: 4308
    functionDepth: 0
    functionLinenumber: 4308
    functionLinenumberEnd: 4379
    functionName: internal_realloc
    functionSourceFile: /src/gpac/src/utils/dlmalloc.c
    functionUses: []
    functionsReached:
    - request2size
    - internal_malloc
    - chunk2mem
    - PREACTION
    - overhead_for
    - RTCHECK
    - mem2chunk
    - set_inuse_and_pinuse
    - ok_pinuse
    - ok_inuse
    - check_inuse_chunk
    - chunk_plus_offset
    - ok_next
    - memcpy
    - ok_address
    - set_inuse
    - POSTACTION
    - chunksize
    - internal_free
    - USAGE_ERROR_ACTION
    - is_mmapped
    - mmap_resize
    linkageType: ''
    returnType: void*
    signature: 'static void * internal_realloc(mstate m, void* oldmem, size_t bytes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 108
    argCount: 3
    argNames:
    - ucs4_buf
    - utf8_len
    - utf8_buf
    argTypes:
    - u32*
    - u32
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 101
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 101
    functionName: utf8_to_ucs4
    functionSourceFile: /src/gpac/src/utils/unicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 utf8_to_ucs4(u32 * ucs4_buf, u32 utf8_len, unsigned
      char *utf8_buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:175,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:186,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_nghttp2.c:184,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_nghttp2.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - data
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: h2_data_chunk_recv_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LOG
    - memcpy
    - hmux_get_session
    linkageType: ''
    returnType: int
    signature: 'static int h2_data_chunk_recv_callback(nghttp2_session *session, uint8_t
      flags, int32_t stream_id, const uint8_t *data, size_t len, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_write_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - session
    - data
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: h2_send_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - h2_write_data
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t h2_send_callback(nghttp2_session *session, const uint8_t
      *data, size_t length, int flags, void *user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:434,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_nghttp2.c:450,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:457,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:468,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:475,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_nghttp2.c:426,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_nghttp2.c:427,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:476,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader_nghttp2.c:439,1
    - Dst: nghttp2_submit_request
      Src: /src/gpac/src/utils/downloader_nghttp2.c:462,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:456,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:440,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_nghttp2.c:467,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:429,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:430,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_nghttp2.c:433,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:435,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:438,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:442,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:446,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:470,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:477,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 5
    argNames:
    - sess
    - req_name
    - url
    - param_string
    - has_body
    argTypes:
    - GF_DownloadSession*
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 484
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 484
    functionName: h2_submit_request
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_dynstrcat
    - gf_list_get
    - gf_list_count
    - NV_HDR
    - sprintf
    - GF_LOG
    - strchr
    - gf_log_tool_level_on
    - gf_free
    - gf_assert
    - nghttp2_submit_request
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err h2_submit_request(GF_DownloadSession *sess, char *req_name,
      const char *url, const char *param_string, Bool has_body) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:804,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/downloader_nghttp2.c:808,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/utils/downloader_nghttp2.c:809,1
    - Dst: PUSH_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:805,1
    - Dst: nghttp2_pack_settings_payload
      Src: /src/gpac/src/utils/downloader_nghttp2.c:808,1
    - Dst: PUSH_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 814
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 814
    functionName: http2_set_upgrade_headers
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_base64_encode
    - nghttp2_pack_settings_payload
    - PUSH_HDR
    linkageType: ''
    returnType: void
    signature: 'void http2_set_upgrade_headers(GF_DownloadSession *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:193,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:219,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_nghttp2.c:197,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_nghttp2.c:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 233
    functionName: h2_stream_close_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_mx_p
    - hmux_get_session
    - gf_mx_v
    linkageType: ''
    returnType: int
    signature: 'static int h2_stream_close_callback(nghttp2_session *session, int32_t
      stream_id, uint32_t error_code, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - session
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: h2_before_frame_send_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - hmux_get_session
    linkageType: ''
    returnType: int
    signature: 'static int h2_before_frame_send_callback(nghttp2_session *session,
      const nghttp2_frame *frame, void *user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_nghttp2.c:494,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:521,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:520,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_nghttp2.c:517,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_nghttp2.c:519,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_nghttp2.c:523,1
    - Dst: NV_HDR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:525,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_nghttp2.c:529,1
    - Dst: nghttp2_submit_response
      Src: /src/gpac/src/utils/downloader_nghttp2.c:531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:537,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_nghttp2.c:544,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:540,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:533,1
    - Dst: nghttp2_strerror
      Src: /src/gpac/src/utils/downloader_nghttp2.c:537,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_nghttp2.c:536,1
    - Dst: h2_flush_send_ex
      Src: /src/gpac/src/utils/downloader_nghttp2.c:542,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - sess
    - reply_code
    - response_body
    - body_len
    - no_body
    argTypes:
    - GF_DownloadSession*
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 547
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 547
    functionName: h2_send_reply
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - nghttp2_strerror
    - gf_list_get
    - nghttp2_submit_response
    - h2_flush_send_ex
    - gf_list_count
    - NV_HDR
    - sprintf
    - GF_LOG
    - gf_mx_p
    - h2_session_write
    - gf_free
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err h2_send_reply(GF_DownloadSession *sess, u32 reply_code, const
      char *response_body, u32 body_len, Bool no_body) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_pack_settings_payload
      Src: /src/gpac/src/utils/downloader_nghttp2.c:826,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/downloader_nghttp2.c:826,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:832,1
    - Dst: h2_initialize_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:828,1
    - Dst: nghttp2_session_upgrade2
      Src: /src/gpac/src/utils/downloader_nghttp2.c:830,1
    - Dst: nghttp2_strerror
      Src: /src/gpac/src/utils/downloader_nghttp2.c:832,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/gpac/src/utils/downloader_nghttp2.c:837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:839,1
    - Dst: nghttp2_strerror
      Src: /src/gpac/src/utils/downloader_nghttp2.c:839,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:845,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - sess
    - body
    - body_len
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 851
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 851
    functionName: http2_do_upgrade
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - nghttp2_strerror
    - nghttp2_pack_settings_payload
    - GF_LOG
    - nghttp2_session_upgrade2
    - nghttp2_session_mem_recv
    - h2_initialize_session
    - h2_session_write
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err http2_do_upgrade(GF_DownloadSession *sess, const char *body,
      u32 body_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:359,1
    - Dst: nghttp2_strerror
      Src: /src/gpac/src/utils/downloader_nghttp2.c:363,1
    - Dst: nghttp2_session_send
      Src: /src/gpac/src/utils/downloader_nghttp2.c:360,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: h2_session_write
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - SET_LAST_ERR
    - nghttp2_strerror
    - GF_LOG
    - gf_assert
    - nghttp2_session_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_session_write(GF_DownloadSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_rst_stream
      Src: /src/gpac/src/utils/downloader_nghttp2.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - is_abort
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: h2_stream_reset
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - nghttp2_submit_rst_stream
    linkageType: ''
    returnType: void
    signature: 'static void h2_stream_reset(GF_DownloadSession *sess, Bool is_abort) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - session
    - msg
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: h2_error_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int h2_error_callback(nghttp2_session *session, const char
      *msg, size_t len, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_resume_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: h2_resume_stream
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - nghttp2_session_resume_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_resume_stream(GF_DownloadSession *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:552,1
    - Dst: h2_flush_send_ex
      Src: /src/gpac/src/utils/downloader_nghttp2.c:566,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:557,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_nghttp2.c:558,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_nghttp2.c:567,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader_nghttp2.c:573,1
    - Dst: gf_sk_probe
      Src: /src/gpac/src/utils/downloader_nghttp2.c:577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - sess
    - for_close
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 594
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 594
    functionName: h2_async_flush
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - h2_flush_send_ex
    - gf_mx_p
    - gf_sk_probe
    - gf_mx_v
    - memmove
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_async_flush(GF_DownloadSession *sess, Bool for_close) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dm_sess_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - sess
    - data
    - length
    argTypes:
    - GF_DownloadSession*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: h2_write_data
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - dm_sess_write
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t h2_write_data(GF_DownloadSession *sess, const uint8_t
      *data, size_t length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/gpac/src/utils/downloader_nghttp2.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - hmux_sess
    argTypes:
    - struct _http_mux_session*
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: h2_destroy
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - nghttp2_session_del
    linkageType: ''
    returnType: void
    signature: 'static void h2_destroy(struct _http_mux_session *hmux_sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:600,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_nghttp2.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - sess
    - is_destroy
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 613
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 613
    functionName: h2_setup_session
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_setup_session(GF_DownloadSession *sess, Bool is_destroy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:75,1
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:94,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_nghttp2.c:85,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:107,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - session
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 112
    functionName: h2_begin_headers_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - hmux_get_session
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int h2_begin_headers_callback(nghttp2_session *session, const
      nghttp2_frame *frame, void *user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:288,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_nghttp2.c:299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: h2_data_source_read_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: ssize_t
    signature: 'ssize_t h2_data_source_read_callback(nghttp2_session *session, int32_t
      stream_id, uint8_t *buf, size_t length, uint32_t *data_flags, nghttp2_data_source
      *source, void *user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_mem_recv
      Src: /src/gpac/src/utils/downloader_nghttp2.c:396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:398,1
    - Dst: nghttp2_strerror
      Src: /src/gpac/src/utils/downloader_nghttp2.c:398,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - sess
    - data
    - nb_bytes
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: h2_data_received
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - nghttp2_strerror
    - h2_session_write
    - GF_LOG
    - nghttp2_session_mem_recv
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_data_received(GF_DownloadSession *sess, const u8
      *data, u32 nb_bytes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:626,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:629,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:633,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:653,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_nghttp2.c:650,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_nghttp2.c:658,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - sess
    - flush_local_buf
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 664
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 664
    functionName: h2_flush_send_ex
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - SET_LAST_ERR
    - gf_dm_read_data
    - gf_realloc
    - h2_session_write
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void h2_flush_send_ex(GF_DownloadSession *sess, Bool flush_local_buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_shutdown_notice
      Src: /src/gpac/src/utils/downloader_nghttp2.c:674,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:675,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_nghttp2.c:684,1
    - Dst: nghttp2_session_want_read
      Src: /src/gpac/src/utils/downloader_nghttp2.c:680,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_nghttp2.c:679,1
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:688,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 700
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 700
    functionName: h2_close_session
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_dm_read_data
    - nghttp2_submit_shutdown_notice
    - h2_session_write
    - gf_sys_clock_high_res
    - nghttp2_session_want_read
    linkageType: ''
    returnType: void
    signature: 'static void h2_close_session(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:51,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_nghttp2.c:63,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_nghttp2.c:60,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:62,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_nghttp2.c:64,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_nghttp2.c:65,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: h2_header_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - hmux_get_session
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: int
    signature: "static int h2_header_callback(nghttp2_session *session,\t\t\t\t\t\t\t\tconst
      nghttp2_frame *frame, const uint8_t *name,\t\t\t\t\t\t\t\tsize_t namelen, const
      uint8_t *value,\t\t\t\t\t\t\t\tsize_t valuelen, uint8_t flags ,\t\t\t\t\t\t\t\tvoid
      *user_data) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:135,1
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:147,1
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_nghttp2.c:157,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_nghttp2.c:158,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_nghttp2.c:160,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_nghttp2.c:165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 3
    argNames:
    - session
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 171
    functionName: h2_frame_recv_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - hmux_get_session
    - memset
    - GF_LOG
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: int
    signature: 'static int h2_frame_recv_callback(nghttp2_session *session, const
      nghttp2_frame *frame, void *user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:321,1
    - Dst: h2_write_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:324,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:322,1
    - Dst: h2_write_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:340,1
    - Dst: h2_write_data
      Src: /src/gpac/src/utils/downloader_nghttp2.c:332,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:353,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 6
    argNames:
    - session
    - frame
    - framehd
    - length
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - nghttp2_data_source*
    - void*
    constantsTouched: []
    func_position:
      end: 355
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 355
    functionName: h2_send_data_callback
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - h2_write_data
    - gf_assert
    - SET_LAST_ERR
    linkageType: ''
    returnType: int
    signature: 'static int h2_send_data_callback(nghttp2_session *session, nghttp2_frame
      *frame, const uint8_t *framehd, size_t length, nghttp2_data_source *source,
      void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:667,1
    - Dst: h2_flush_send_ex
      Src: /src/gpac/src/utils/downloader_nghttp2.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: h2_data_pending
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - h2_session_write
    - h2_flush_send_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h2_data_pending(GF_DownloadSession *sess) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:717,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:714,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:718,1
    - Dst: nghttp2_session_callbacks_set_error_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:721,1
    - Dst: nghttp2_session_callbacks_set_send_data_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:727,1
    - Dst: nghttp2_session_client_new
      Src: /src/gpac/src/utils/downloader_nghttp2.c:732,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/gpac/src/utils/downloader_nghttp2.c:734,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_nghttp2.c:724,1
    - Dst: nghttp2_session_upgrade2
      Src: /src/gpac/src/utils/downloader_nghttp2.c:767,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:783,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/gpac/src/utils/downloader_nghttp2.c:712,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_nghttp2.c:723,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:768,1
    - Dst: h2_session_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:786,1
    - Dst: nghttp2_session_callbacks_set_before_frame_send_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:715,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:713,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:719,1
    - Dst: nghttp2_session_callbacks_set_on_begin_headers_callback
      Src: /src/gpac/src/utils/downloader_nghttp2.c:720,1
    - Dst: nghttp2_session_server_new
      Src: /src/gpac/src/utils/downloader_nghttp2.c:730,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_nghttp2.c:754,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_nghttp2.c:751,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader_nghttp2.c:755,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_nghttp2.c:773,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_nghttp2.c:725,1
    - Dst: h2_setup_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:762,1
    - Dst: nghttp2_submit_settings
      Src: /src/gpac/src/utils/downloader_nghttp2.c:780,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/downloader_nghttp2.c:780,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 787
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 787
    functionName: h2_initialize_session
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - h2_setup_session
    - nghttp2_session_callbacks_set_on_begin_headers_callback
    - nghttp2_session_server_new
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - GF_SAFEALLOC
    - nghttp2_session_callbacks_set_error_callback
    - nghttp2_session_callbacks_set_before_frame_send_callback
    - nghttp2_session_callbacks_set_send_callback
    - nghttp2_session_callbacks_set_send_data_callback
    - nghttp2_session_upgrade2
    - GF_ARRAY_LENGTH
    - gf_list_new
    - gf_mx_new
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_del
    - sprintf
    - nghttp2_session_client_new
    - h2_session_write
    - gf_free
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - SET_LAST_ERR
    - nghttp2_submit_settings
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'void h2_initialize_session(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_nghttp2.c:861,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_nghttp2.c:869,1
    - Dst: dm_sess_write
      Src: /src/gpac/src/utils/downloader_nghttp2.c:867,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_nghttp2.c:866,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_nghttp2.c:862,1
    - Dst: h2_initialize_session
      Src: /src/gpac/src/utils/downloader_nghttp2.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 872
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 872
    functionName: http2_check_upgrade
    functionSourceFile: /src/gpac/src/utils/downloader_nghttp2.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - h2_initialize_session
    - dm_sess_write
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err http2_check_upgrade(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/path2d_stroker.c:211,1
    - Dst: ft_stroke_border_grow
      Src: /src/gpac/src/utils/path2d_stroker.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - border
    - to
    - movable
    argTypes:
    - FT_StrokeBorder
    - GF_Point2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 231
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 231
    functionName: ft_stroke_border_lineto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_assert
    - ft_stroke_border_grow
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_lineto( FT_StrokeBorder border, GF_Point2D*
      to, Bool movable ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:295,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:327,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d_stroker.c:327,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:322,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/path2d_stroker.c:327,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:329,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:333,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/gpac/src/utils/path2d_stroker.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 5
    argNames:
    - border
    - center
    - radius
    - angle_start
    - angle_diff
    argTypes:
    - FT_StrokeBorder
    - GF_Point2D*
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 346
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 346
    functionName: ft_stroke_border_arcto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_v2d_from_polar
    - ft_stroke_border_cubicto
    - gf_muldiv
    - gf_cos
    - gf_sin
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_arcto( FT_StrokeBorder border, GF_Point2D*
      center, Fixed radius, Fixed angle_start, Fixed angle_diff ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:484,1
    - Dst: ft_stroke_border_arcto
      Src: /src/gpac/src/utils/path2d_stroker.c:487,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - stroker
    - side
    argTypes:
    - FT_Stroker*
    - s32
    constantsTouched: []
    func_position:
      end: 494
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 494
    functionName: ft_stroker_arcto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_stroke_border_arcto
    - FT_SIDE_TO_ROTATE
    - gf_angle_diff
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_arcto( FT_Stroker *stroker, s32 side ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:578,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:590,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:581,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:593,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:589,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:598,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:599,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - stroker
    - side
    argTypes:
    - FT_Stroker*
    - s32
    constantsTouched: []
    func_position:
      end: 605
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 605
    functionName: ft_stroker_inside
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_angle_diff
    - gf_v2d_from_polar
    - gf_mulfix
    - ft_stroke_border_lineto
    - gf_cos
    - gf_divfix
    - FT_SIDE_TO_ROTATE
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_inside(FT_Stroker *stroker, s32 side) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:123,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:131,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:144,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:148,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:141,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:121,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:135,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:143,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:147,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:121,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:122,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:130,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:136,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:140,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:148,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:145,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:122,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:123,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 4
    argNames:
    - base
    - angle_in
    - angle_mid
    - angle_out
    argTypes:
    - GF_Point2D*
    - Fixed*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: ft_cubic_is_small_enough
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ABS
    - FT_IS_SMALL
    - gf_atan2
    - gf_angle_diff
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ft_cubic_is_small_enough(GF_Point2D *base, Fixed *angle_in,
      Fixed *angle_mid, Fixed *angle_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_close
      Src: /src/gpac/src/utils/path2d_stroker.c:353,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - border
    - to
    argTypes:
    - FT_StrokeBorder
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: ft_stroke_border_moveto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_stroke_border_lineto
    - ft_stroke_border_close
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_moveto(FT_StrokeBorder border, GF_Point2D*
      to ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - base
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: ft_conic_split
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ft_conic_split(GF_Point2D* base ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:736,1
    - Dst: ft_stroker_inside
      Src: /src/gpac/src/utils/path2d_stroker.c:749,1
    - Dst: ft_stroker_outside
      Src: /src/gpac/src/utils/path2d_stroker.c:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - FT_Stroker*
    constantsTouched: []
    func_position:
      end: 757
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 757
    functionName: ft_stroker_process_corner
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_stroker_outside
    - ft_stroker_inside
    - gf_angle_diff
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_process_corner(FT_Stroker *stroker ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stroker
    - to
    argTypes:
    - FT_Stroker*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1043
    functionName: FT_Stroker_BeginSubPath
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_BeginSubPath(FT_Stroker *stroker, GF_Point2D*
      to) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stroker_BeginSubPath
      Src: /src/gpac/src/utils/path2d_stroker.c:1246,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1296,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1308,1
    - Dst: FT_Stroker_LineTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1270,1
    - Dst: FT_Stroker_LineTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1252,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1315,1
    - Dst: FT_Stroker_CubicTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1336,1
    - Dst: FT_Stroker_CubicTo
      Src: /src/gpac/src/utils/path2d_stroker.c:1341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/path2d_stroker.c:1347,1
    - Dst: FT_Stroker_EndSubPath
      Src: /src/gpac/src/utils/path2d_stroker.c:1356,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 94
    argCount: 2
    argNames:
    - stroker
    - outline
    argTypes:
    - FT_Stroker*
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1369
    functionName: FT_Stroker_ParseOutline
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - FT_Stroker_LineTo
    - FT_Stroker_ConicTo
    - GF_LOG
    - FT_Stroker_EndSubPath
    - FT_Stroker_CubicTo
    - FT_Stroker_BeginSubPath
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_ParseOutline(FT_Stroker *stroker, GF_Path* outline) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:65,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:66,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:66,1
    - Dst: FT_IS_SMALL
      Src: /src/gpac/src/utils/path2d_stroker.c:65,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:72,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:75,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:77,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:78,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:80,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - base
    - angle_in
    - angle_out
    argTypes:
    - GF_Point2D*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: ft_conic_is_small_enough
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ABS
    - FT_IS_SMALL
    - gf_atan2
    - gf_angle_diff
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ft_conic_is_small_enough( GF_Point2D* base, Fixed *angle_in,
      Fixed *angle_out) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/path2d_stroker.c:1054,1
    - Dst: ft_stroke_border_grow
      Src: /src/gpac/src/utils/path2d_stroker.c:1057,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - stroker
    - open
    argTypes:
    - FT_Stroker*
    - Bool
    constantsTouched: []
    func_position:
      end: 1095
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1095
    functionName: ft_stroker_add_reverse_left
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_assert
    - ft_stroke_border_grow
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_add_reverse_left( FT_Stroker *stroker, Bool
      open ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:506,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:515,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:511,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:519,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/gpac/src/utils/path2d_stroker.c:526,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:530,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:535,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:536,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:541,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:545,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:546,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:558,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:551,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 3
    argNames:
    - stroker
    - angle
    - side
    argTypes:
    - FT_Stroker*
    - Fixed
    - s32
    constantsTouched: []
    func_position:
      end: 566
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 566
    functionName: ft_stroker_cap
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_v2d_from_polar
    - ft_stroke_border_cubicto
    - ft_stroke_border_lineto
    - FT_SIDE_TO_ROTATE
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_cap(FT_Stroker *stroker, Fixed angle, s32 side) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:632,1
    - Dst: ft_stroker_arcto
      Src: /src/gpac/src/utils/path2d_stroker.c:629,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:647,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:649,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:678,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:718,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:671,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:671,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:676,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:710,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/path2d_stroker.c:621,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:633,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:639,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:658,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:676,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:696,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:700,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:714,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:722,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d_stroker.c:619,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:619,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:659,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:676,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/path2d_stroker.c:676,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:682,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:687,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:691,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:708,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 104
    argCount: 2
    argNames:
    - stroker
    - side
    argTypes:
    - FT_Stroker*
    - s32
    constantsTouched: []
    func_position:
      end: 727
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 727
    functionName: ft_stroker_outside
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_angle_diff
    - gf_v2d_from_polar
    - ft_stroke_border_lineto
    - gf_mulfix
    - gf_invfix
    - ft_stroker_arcto
    - gf_sin
    - gf_cos
    - ABS
    - gf_divfix
    - FT_SIDE_TO_ROTATE
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_outside( FT_Stroker *stroker, s32 side ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/path2d_stroker.c:236,1
    - Dst: ft_stroke_border_grow
      Src: /src/gpac/src/utils/path2d_stroker.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - border
    - control
    - to
    argTypes:
    - FT_StrokeBorder
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: ft_stroke_border_conicto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_assert
    - ft_stroke_border_grow
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_conicto( FT_StrokeBorder border, GF_Point2D*
      control, GF_Point2D* to ) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - border
    - anum_points
    - anum_contours
    argTypes:
    - FT_StrokeBorder
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 404
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 404
    functionName: ft_stroke_border_get_counts
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_get_counts(FT_StrokeBorder border, u32
      *anum_points, u32 *anum_contours ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/path2d_stroker.c:806,1
    - Dst: ft_stroker_process_corner
      Src: /src/gpac/src/utils/path2d_stroker.c:820,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:807,1
    - Dst: ft_stroke_border_lineto
      Src: /src/gpac/src/utils/path2d_stroker.c:831,1
    - Dst: ft_stroker_subpath_start
      Src: /src/gpac/src/utils/path2d_stroker.c:814,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - stroker
    - to
    - is_last
    argTypes:
    - FT_Stroker*
    - GF_Point2D*
    - Bool
    constantsTouched: []
    func_position:
      end: 843
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 843
    functionName: FT_Stroker_LineTo
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_v2d_from_polar
    - ft_stroke_border_lineto
    - ft_stroker_subpath_start
    - ft_stroker_process_corner
    - gf_atan2
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_LineTo( FT_Stroker *stroker, GF_Point2D* to,
      Bool is_last) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:1108,1
    - Dst: ft_stroke_border_close
      Src: /src/gpac/src/utils/path2d_stroker.c:1132,1
    - Dst: ft_stroke_border_close
      Src: /src/gpac/src/utils/path2d_stroker.c:1133,1
    - Dst: ft_stroker_add_reverse_left
      Src: /src/gpac/src/utils/path2d_stroker.c:1130,1
    - Dst: ft_stroker_outside
      Src: /src/gpac/src/utils/path2d_stroker.c:1125,1
    - Dst: ft_stroker_cap
      Src: /src/gpac/src/utils/path2d_stroker.c:1138,1
    - Dst: ft_stroker_add_reverse_left
      Src: /src/gpac/src/utils/path2d_stroker.c:1142,1
    - Dst: ft_stroker_cap
      Src: /src/gpac/src/utils/path2d_stroker.c:1147,1
    - Dst: ft_stroke_border_close
      Src: /src/gpac/src/utils/path2d_stroker.c:1154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - stroker
    - do_close
    argTypes:
    - FT_Stroker*
    - Bool
    constantsTouched: []
    func_position:
      end: 1159
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1159
    functionName: FT_Stroker_EndSubPath
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_stroker_add_reverse_left
    - ft_stroker_outside
    - ft_stroke_border_close
    - gf_angle_diff
    - ft_stroker_cap
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_EndSubPath( FT_Stroker *stroker, Bool do_close) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1499,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1519,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1536,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1556,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1581,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/utils/path2d_stroker.c:1591,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1605,1
    - Dst: gf_path_mergedashes
      Src: /src/gpac/src/utils/path2d_stroker.c:1639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1500,1
    - Dst: gf_path_get_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1535,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d_stroker.c:1561,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/utils/path2d_stroker.c:1609,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1649,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d_stroker.c:1491,1
    - Dst: gf_path_get_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1523,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/utils/path2d_stroker.c:1547,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1559,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/utils/path2d_stroker.c:1578,1
    - Dst: gf_path_add_move_to_vec
      Src: /src/gpac/src/utils/path2d_stroker.c:1576,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/utils/path2d_stroker.c:1613,1
    - Dst: gf_path_get_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1622,1
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/utils/path2d_stroker.c:1632,1
    - Dst: gf_path_get_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1518,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1524,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1560,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1601,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1604,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1623,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 191
    argCount: 5
    argNames:
    - dashed
    - pts
    - nb_pts
    - pen
    - length_scale
    argTypes:
    - GF_Path*
    - GF_Point2D*
    - u32
    - GF_PenSettings*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1651
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1651
    functionName: evg_dash_subpath
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mulfix
    - gf_path_add_line_to_vec
    - gf_path_add_line_to
    - gf_v2d_len
    - gf_path_add_move_to_vec
    - gf_path_mergedashes
    - gf_divfix
    - gf_free
    - gf_path_get_dash
    - gf_path_add_move_to
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evg_dash_subpath(GF_Path *dashed, GF_Point2D *pts, u32
      nb_pts, GF_PenSettings *pen, Fixed length_scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/path2d_stroker.c:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - border
    - outline
    argTypes:
    - FT_StrokeBorder
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 445
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 445
    functionName: ft_stroke_border_export
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void ft_stroke_border_export( FT_StrokeBorder border, GF_Path*
      outline ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_get_counts
      Src: /src/gpac/src/utils/path2d_stroker.c:1168,1
    - Dst: ft_stroke_border_get_counts
      Src: /src/gpac/src/utils/path2d_stroker.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - stroker
    - anum_points
    - anum_contours
    argTypes:
    - FT_Stroker*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1179
    functionName: FT_Stroker_GetCounts
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_stroke_border_get_counts
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_GetCounts( FT_Stroker *stroker, u32 *anum_points,
      u32 *anum_contours ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_new
      Src: /src/gpac/src/utils/path2d_stroker.c:1659,1
    - Dst: evg_dash_subpath
      Src: /src/gpac/src/utils/path2d_stroker.c:1686,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1679,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/utils/path2d_stroker.c:1674,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - path
    - pen
    argTypes:
    - GF_Path*
    - GF_PenSettings*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1693
    functionName: gf_path_dash
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - evg_dash_subpath
    - gf_v2d_len
    - gf_path_new
    - gf_divfix
    linkageType: ''
    returnType: GF_Path*
    signature: 'static GF_Path *gf_path_dash(GF_Path *path, GF_PenSettings *pen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:769,1
    - Dst: ft_stroke_border_moveto
      Src: /src/gpac/src/utils/path2d_stroker.c:775,1
    - Dst: ft_stroke_border_moveto
      Src: /src/gpac/src/utils/path2d_stroker.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - stroker
    - start_angle
    argTypes:
    - FT_Stroker*
    - Fixed
    constantsTouched: []
    func_position:
      end: 791
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 791
    functionName: ft_stroker_subpath_start
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_v2d_from_polar
    - ft_stroke_border_moveto
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroker_subpath_start( FT_Stroker *stroker, Fixed start_angle
      ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d_stroker.c:189,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d_stroker.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - border
    - new_points
    argTypes:
    - FT_StrokeBorder
    - u32
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: ft_stroke_border_grow
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_grow(FT_StrokeBorder border, u32 new_points) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/path2d_stroker.c:261,1
    - Dst: ft_stroke_border_grow
      Src: /src/gpac/src/utils/path2d_stroker.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - border
    - control1
    - control2
    - to
    argTypes:
    - FT_StrokeBorder
    - GF_Point2D*
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: ft_stroke_border_cubicto
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_assert
    - ft_stroke_border_grow
    linkageType: ''
    returnType: s32
    signature: 'static s32 ft_stroke_border_cubicto( FT_StrokeBorder border, GF_Point2D*
      control1, GF_Point2D* control2, GF_Point2D* to ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_conic_is_small_enough
      Src: /src/gpac/src/utils/path2d_stroker.c:866,1
    - Dst: ft_stroker_subpath_start
      Src: /src/gpac/src/utils/path2d_stroker.c:880,1
    - Dst: ft_conic_split
      Src: /src/gpac/src/utils/path2d_stroker.c:868,1
    - Dst: ft_stroker_process_corner
      Src: /src/gpac/src/utils/path2d_stroker.c:883,1
    - Dst: gf_angle_diff
      Src: /src/gpac/src/utils/path2d_stroker.c:895,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:897,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:897,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:900,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:903,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:908,1
    - Dst: ft_stroke_border_conicto
      Src: /src/gpac/src/utils/path2d_stroker.c:912,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - stroker
    - control
    - to
    argTypes:
    - FT_Stroker*
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 927
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 927
    functionName: FT_Stroker_ConicTo
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - ft_conic_is_small_enough
    - ft_stroke_border_conicto
    - gf_angle_diff
    - FT_SIDE_TO_ROTATE
    - gf_v2d_from_polar
    - ft_conic_split
    - gf_cos
    - ft_stroker_subpath_start
    - gf_divfix
    - ft_stroker_process_corner
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_ConicTo(FT_Stroker *stroker, GF_Point2D* control,
      GF_Point2D * to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - base
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: ft_cubic_split
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ft_cubic_split( GF_Point2D* base ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - border
    argTypes:
    - FT_StrokeBorder
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: ft_stroke_border_close
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ft_stroke_border_close( FT_StrokeBorder border ) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ft_cubic_is_small_enough
      Src: /src/gpac/src/utils/path2d_stroker.c:954,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:986,1
    - Dst: ft_cubic_split
      Src: /src/gpac/src/utils/path2d_stroker.c:956,1
    - Dst: ft_stroker_process_corner
      Src: /src/gpac/src/utils/path2d_stroker.c:971,1
    - Dst: ft_stroker_subpath_start
      Src: /src/gpac/src/utils/path2d_stroker.c:968,1
    - Dst: ABS
      Src: /src/gpac/src/utils/path2d_stroker.c:987,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:990,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:990,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:991,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/path2d_stroker.c:991,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:1001,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:1006,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/gpac/src/utils/path2d_stroker.c:1010,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/gpac/src/utils/path2d_stroker.c:994,1
    - Dst: gf_v2d_from_polar
      Src: /src/gpac/src/utils/path2d_stroker.c:997,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 4
    argNames:
    - stroker
    - control1
    - control2
    - to
    argTypes:
    - FT_Stroker*
    - GF_Point2D*
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 1026
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 1026
    functionName: FT_Stroker_CubicTo
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - FT_SIDE_TO_ROTATE
    - gf_v2d_from_polar
    - ft_stroke_border_cubicto
    - ft_cubic_is_small_enough
    - gf_cos
    - ft_stroker_subpath_start
    - ft_cubic_split
    - ABS
    - gf_divfix
    - ft_stroker_process_corner
    linkageType: ''
    returnType: s32
    signature: 'static s32 FT_Stroker_CubicTo(FT_Stroker *stroker, GF_Point2D* control1,
      GF_Point2D* control2, GF_Point2D* to ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_line_to_vec
      Src: /src/gpac/src/utils/path2d_stroker.c:1452,1
    - Dst: memmove
      Src: /src/gpac/src/utils/path2d_stroker.c:1458,1
    - Dst: memmove
      Src: /src/gpac/src/utils/path2d_stroker.c:1457,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/path2d_stroker.c:1464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - gp
    - start_contour_index
    argTypes:
    - GF_Path*
    - u32
    constantsTouched: []
    func_position:
      end: 1472
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1472
    functionName: gf_path_mergedashes
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - gf_path_add_line_to_vec
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_path_mergedashes(GF_Path *gp, u32 start_contour_index) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1733,1
    - Dst: FT_Stroker_GetCounts
      Src: /src/gpac/src/utils/path2d_stroker.c:1758,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d_stroker.c:1763,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1788,1
    - Dst: gf_path_del
      Src: /src/gpac/src/utils/path2d_stroker.c:1793,1
    - Dst: memset
      Src: /src/gpac/src/utils/path2d_stroker.c:1705,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1723,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/utils/path2d_stroker.c:1720,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1726,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1727,1
    - Dst: gf_path_new
      Src: /src/gpac/src/utils/path2d_stroker.c:1760,1
    - Dst: gf_path_get_flatten
      Src: /src/gpac/src/utils/path2d_stroker.c:1746,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d_stroker.c:1764,1
    - Dst: ft_stroke_border_export
      Src: /src/gpac/src/utils/path2d_stroker.c:1768,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1791,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/utils/path2d_stroker.c:1713,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/path2d_stroker.c:1765,1
    - Dst: gf_path_dash
      Src: /src/gpac/src/utils/path2d_stroker.c:1748,1
    - Dst: ft_stroke_border_export
      Src: /src/gpac/src/utils/path2d_stroker.c:1773,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1790,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1722,1
    - Dst: gf_path_clone
      Src: /src/gpac/src/utils/path2d_stroker.c:1731,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1734,1
    - Dst: gf_path_del
      Src: /src/gpac/src/utils/path2d_stroker.c:1749,1
    - Dst: FT_Stroker_ParseOutline
      Src: /src/gpac/src/utils/path2d_stroker.c:1755,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/path2d_stroker.c:1789,1
    - Dst: gf_path_del
      Src: /src/gpac/src/utils/path2d_stroker.c:1794,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 101
    argCount: 2
    argNames:
    - path
    - pen
    argTypes:
    - GF_Path*
    - GF_PenSettings
    constantsTouched: []
    func_position:
      end: 1797
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1797
    functionName: gf_path_get_outline
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_path_dash
    - gf_path_get_bounds
    - gf_path_get_flatten
    - gf_malloc
    - FT_Stroker_GetCounts
    - gf_path_clone
    - memset
    - FT_Stroker_ParseOutline
    - gf_mulfix
    - gf_path_del
    - gf_path_new
    - gf_divfix
    - gf_free
    - gf_path_flatten
    - ft_stroke_border_export
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Path *gf_path_get_outline(GF_Path *path, GF_PenSettings
      pen) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/path2d_stroker.c:1427,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 74
    argCount: 3
    argNames:
    - pen
    - dash_slot
    - next_slot
    argTypes:
    - GF_PenSettings*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1434
    functionName: gf_path_get_dash
    functionSourceFile: /src/gpac/src/utils/path2d_stroker.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed gf_path_get_dash(GF_PenSettings *pen, u32 dash_slot,
      u32 *next_slot) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: gf_cache_entry_set_persistent
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_entry_set_persistent(const DownloadedCacheEntry entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: gf_cache_get_start_range
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_cache_get_start_range( const DownloadedCacheEntry entry ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: gf_cache_get_url
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_cache_get_url ( const DownloadedCacheEntry entry ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:365,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - newLastModified
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: gf_cache_set_last_modified_on_server
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_last_modified_on_server ( const DownloadedCacheEntry
      entry, const char * newLastModified ) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:916,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:926,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:940,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:934,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:943,1
    - Dst: cache_cleanup_processes
      Src: /src/gpac/src/utils/downloader_cache.c:924,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:949,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:905,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/utils/downloader_cache.c:908,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:944,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:950,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:953,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:957,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:960,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:915,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_cache.c:906,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:921,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/src/utils/downloader_cache.c:921,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:922,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:930,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:945,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:951,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:957,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_cache.c:958,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/utils/downloader_cache.c:910,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:918,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:929,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:936,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:939,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:946,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:948,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 961
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 961
    functionName: gf_cache_delete_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - gf_list_del
    - cache_entry_lock
    - gf_list_count
    - sprintf
    - GF_LOG
    - gf_cfg_del
    - gf_sys_get_process_id
    - gf_cfg_new
    - cache_cleanup_processes
    - gf_file_delete
    - gf_cfg_get_key
    - gf_free
    - gf_fclose
    - gf_assert
    - gf_blob_unregister
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_delete_entry( const DownloadedCacheEntry entry ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - entry
    - size
    - start_range
    - end_range
    argTypes:
    - DownloadedCacheEntry
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: gf_cache_set_range
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_set_range(const DownloadedCacheEntry entry, u64 size,
      u64 start_range, u64 end_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1095
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1095
    functionName: gf_cache_get_downtime
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_cache_get_downtime(const DownloadedCacheEntry entry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_cache.c:1242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - entry
    - skip_revalidate
    argTypes:
    - DownloadedCacheEntry
    - Bool
    constantsTouched: []
    func_position:
      end: 1250
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1250
    functionName: gf_cache_entry_can_reuse
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_net_get_utc
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_cache_entry_can_reuse(const DownloadedCacheEntry entry,
      Bool skip_revalidate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: gf_cache_get_end_range
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_cache_get_end_range( const DownloadedCacheEntry entry ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: gf_cache_get_last_modified_on_server
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_cache_get_last_modified_on_server ( const DownloadedCacheEntry
      entry ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:375,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - newLastModified
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: gf_cache_set_last_modified_on_disk
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_last_modified_on_disk ( const DownloadedCacheEntry
      entry, const char * newLastModified ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:969,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_cache.c:983,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader_cache.c:973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:971,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:984,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - entry
    - sess
    argTypes:
    - DownloadedCacheEntry
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 991
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 991
    functionName: gf_cache_remove_session_from_cache_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - gf_fclose
    linkageType: ''
    returnType: s32
    signature: 's32 gf_cache_remove_session_from_cache_entry(DownloadedCacheEntry
      entry, GF_DownloadSession * sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1077,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - headers
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1080
    functionName: gf_cache_set_headers
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_set_headers(const DownloadedCacheEntry entry, const
      char *headers) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1101,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:1111,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:1113,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1105,1
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:1112,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:1114,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:1118,1
    - Dst: atoi
      Src: /src/gpac/src/utils/downloader_cache.c:1119,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:1121,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:1122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1125
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1125
    functionName: gf_cache_is_done
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - cache_entry_lock
    - sprintf
    - gf_mx_p
    - gf_cfg_del
    - gf_cfg_new
    - gf_file_delete
    - gf_cfg_get_key
    - atoi
    - gf_mx_v
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_cache_is_done(const DownloadedCacheEntry entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: gf_cache_entry_is_shared
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_entry_is_shared(const DownloadedCacheEntry entry) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader_cache.c:1351,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1404,1
    - Dst: gf_cache_create_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1392,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1408,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1415,1
    - Dst: gf_cache_entry_set_persistent
      Src: /src/gpac/src/utils/downloader_cache.c:1433,1
    - Dst: gf_cache_entry_is_shared
      Src: /src/gpac/src/utils/downloader_cache.c:1445,1
    - Dst: gf_cache_get_mime_type
      Src: /src/gpac/src/utils/downloader_cache.c:1459,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:1465,1
    - Dst: gf_dm_sess_set_header_ex
      Src: /src/gpac/src/utils/downloader_cache.c:1466,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader_cache.c:1470,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1407,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1397,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1399,1
    - Dst: gf_cache_add_session_to_cache_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1421,1
    - Dst: gf_cache_set_range
      Src: /src/gpac/src/utils/downloader_cache.c:1423,1
    - Dst: gf_cache_remove_entry_from_session
      Src: /src/gpac/src/utils/downloader_cache.c:1446,1
    - Dst: gf_cache_open_read
      Src: /src/gpac/src/utils/downloader_cache.c:1454,1
    - Dst: gf_dm_sess_set_header_ex
      Src: /src/gpac/src/utils/downloader_cache.c:1461,1
    - Dst: gf_cache_get_content_length
      Src: /src/gpac/src/utils/downloader_cache.c:1462,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1469,1
    - Dst: gf_cache_remove_entry_from_session
      Src: /src/gpac/src/utils/downloader_cache.c:1345,1
    - Dst: gf_cache_entry_persistent
      Src: /src/gpac/src/utils/downloader_cache.c:1373,1
    - Dst: gf_cache_entry_set_delete_files_when_deleted
      Src: /src/gpac/src/utils/downloader_cache.c:1378,1
    - Dst: gf_cache_entry_persistent
      Src: /src/gpac/src/utils/downloader_cache.c:1380,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1383,1
    - Dst: gf_cache_is_in_progress
      Src: /src/gpac/src/utils/downloader_cache.c:1403,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_cache.c:1398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1424,1
    - Dst: gf_cache_entry_can_reuse
      Src: /src/gpac/src/utils/downloader_cache.c:1440,1
    - Dst: gf_cache_find_entry_by_url
      Src: /src/gpac/src/utils/downloader_cache.c:1359,1
    - Dst: gf_cache_get_sessions_count_for_cache_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1381,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_cache.c:1385,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1386,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1387,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1405,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader_cache.c:1419,1
    - Dst: gf_cache_get_cache_filename
      Src: /src/gpac/src/utils/downloader_cache.c:1424,1
    - Dst: gf_cache_entry_set_persistent
      Src: /src/gpac/src/utils/downloader_cache.c:1437,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 101
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1472
    functionName: gf_dm_configure_cache
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_cache_entry_set_delete_files_when_deleted
    - gf_cache_find_entry_by_url
    - gf_cache_entry_can_reuse
    - GF_LOG
    - gf_cache_get_sessions_count_for_cache_entry
    - gf_dm_sess_set_header_ex
    - gf_dm_sess_notify_state
    - gf_cache_create_entry
    - gf_list_count
    - gf_cache_entry_persistent
    - gf_cache_is_in_progress
    - gf_assert
    - gf_list_del_item
    - gf_cache_get_cache_filename
    - gf_list_get
    - gf_cache_open_read
    - gf_mx_p
    - gf_cache_set_range
    - sprintf
    - gf_cache_remove_entry_from_session
    - gf_cache_get_content_length
    - gf_mx_v
    - gf_cache_entry_set_persistent
    - gf_cache_add_session_to_cache_entry
    - gf_cache_entry_is_shared
    - gf_cache_get_mime_type
    - gf_cache_close_write_cache
    - gf_cache_delete_entry
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_configure_cache(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1482,1
    - Dst: gf_dm_get_url_info
      Src: /src/gpac/src/utils/downloader_cache.c:1484,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader_cache.c:1487,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1486,1
    - Dst: gf_dm_url_info_del
      Src: /src/gpac/src/utils/downloader_cache.c:1491,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1493,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1509,1
    - Dst: gf_cache_get_url
      Src: /src/gpac/src/utils/downloader_cache.c:1498,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1517,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1506,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1516,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:1490,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1492,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1497,1
    - Dst: gf_cache_entry_set_delete_files_when_deleted
      Src: /src/gpac/src/utils/downloader_cache.c:1502,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_cache.c:1500,1
    - Dst: gf_cache_get_sessions_count_for_cache_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1503,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader_cache.c:1505,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1515,1
    - Dst: gf_dm_url_info_init
      Src: /src/gpac/src/utils/downloader_cache.c:1483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1496,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - dm
    - url
    argTypes:
    - GF_DownloadManager*
    - char*
    constantsTouched: []
    func_position:
      end: 1518
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1518
    functionName: gf_dm_delete_cached_file_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_dm_url_info_init
    - gf_list_get
    - gf_cache_entry_set_delete_files_when_deleted
    - gf_strdup
    - gf_list_count
    - gf_mx_p
    - strcmp
    - gf_cache_get_sessions_count_for_cache_entry
    - gf_cache_delete_entry
    - GF_LOG
    - gf_dm_url_info_del
    - gf_list_rem
    - gf_mx_v
    - gf_dm_get_url_info
    - gf_assert
    - gf_cache_get_url
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_delete_cached_file_entry(const GF_DownloadManager * dm,
      const char * url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - dm
    - (*local_cache_url_provider_cbk)
    - lc_udta
    argTypes:
    - GF_DownloadManager*
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1540
    functionName: gf_dm_set_localcache_provider
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_set_localcache_provider(GF_DownloadManager
      *dm, Bool (*local_cache_url_provider_cbk)(void *udta, char *url, Bool is_cache_destroy),
      void *lc_udta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: gf_cache_is_mem
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_is_mem(const DownloadedCacheEntry entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:248,1
    - Dst: gf_sys_create_lockfile
      Src: /src/gpac/src/utils/downloader_cache.c:249,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:257,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/downloader_cache.c:254,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_cache.c:253,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/utils/downloader_cache.c:258,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:262,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader_cache.c:263,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:265,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:268,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_cache.c:271,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:269,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - directory
    - max_size
    argTypes:
    - char*
    - u64
    constantsTouched: []
    func_position:
      end: 274
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: gf_cache_cleanup
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_sys_create_lockfile
    - gf_list_del
    - gf_list_count
    - sprintf
    - gf_file_delete
    - gf_enum_directory
    - gf_free
    - gf_list_new
    - strstr
    - gf_list_pop_back
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_cache_cleanup(const char * directory, u64 max_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: gf_cache_get_etag_on_server
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_cache_get_etag_on_server ( const DownloadedCacheEntry
      entry ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: gf_cache_get_mime_type
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_cache_get_mime_type ( const DownloadedCacheEntry entry
      ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader_cache.c:383,1
    - Dst: gf_sys_create_lockfile
      Src: /src/gpac/src/utils/downloader_cache.c:385,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/downloader_cache.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - lockfile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: cache_entry_lock
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_sys_create_lockfile
    linkageType: ''
    returnType: GF_LockStatus
    signature: 'static GF_LockStatus cache_entry_lock(const char *lockfile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: gf_cache_get_cache_filesize
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_cache_get_cache_filesize(const DownloadedCacheEntry entry ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - entry
    - etag
    - last_modif
    argTypes:
    - DownloadedCacheEntry
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 460
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 460
    functionName: gf_cache_get_http_headers
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_get_http_headers(const DownloadedCacheEntry entry,
      const char **etag, const char **last_modif) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:562,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_cache.c:580,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_cache.c:597,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_cache.c:680,1
    - Dst: cache_cleanup_processes
      Src: /src/gpac/src/utils/downloader_cache.c:695,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/src/utils/downloader_cache.c:697,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:665,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_cache.c:557,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader_cache.c:620,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_cache.c:626,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_cache.c:629,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_cache.c:630,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:664,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:654,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:636,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:647,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:621,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:671,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:625,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:610,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader_cache.c:614,1
    - Dst: gf_cache_set_mime_type
      Src: /src/gpac/src/utils/downloader_cache.c:673,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:702,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:646,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:675,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:679,1
    - Dst: gf_cache_set_etag_on_server
      Src: /src/gpac/src/utils/downloader_cache.c:672,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:687,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:697,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:698,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:583,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_cache.c:583,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:534,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_cache.c:609,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:683,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:656,1
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:634,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:677,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/utils/downloader_cache.c:545,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_cache.c:559,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:580,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:599,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:607,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:532,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:543,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:557,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:583,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader_cache.c:617,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_cache.c:683,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/src/utils/downloader_cache.c:658,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:691,1
    - Dst: gf_cache_set_etag_on_disk
      Src: /src/gpac/src/utils/downloader_cache.c:671,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:674,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:583,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:589,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_cache.c:608,1
    - Dst: gf_cfg_force_new
      Src: /src/gpac/src/utils/downloader_cache.c:643,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:684,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/downloader_cache.c:641,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:545,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_cache.c:580,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:563,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/downloader_cache.c:624,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:673,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:690,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:703,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_cache.c:554,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/downloader_cache.c:653,1
    - Dst: atoi
      Src: /src/gpac/src/utils/downloader_cache.c:688,1
    - Dst: gf_cache_check_if_cache_file_is_corrupted
      Src: /src/gpac/src/utils/downloader_cache.c:652,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:637,1
    - Dst: gf_cache_set_last_modified_on_server
      Src: /src/gpac/src/utils/downloader_cache.c:675,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:678,1
    - Dst: gf_cache_set_last_modified_on_disk
      Src: /src/gpac/src/utils/downloader_cache.c:674,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:588,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:600,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:657,1
    - Dst: gf_cfg_del_section
      Src: /src/gpac/src/utils/downloader_cache.c:659,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:667,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:672,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:666,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:541,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_cache.c:577,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/downloader_cache.c:622,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_cache.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:645,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 183
    argCount: 6
    argNames:
    - cache_directory
    - url
    - start_range
    - end_range
    - mem_storage
    - mx
    argTypes:
    - char*
    - char*
    - u64
    - u64
    - Bool
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 706
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 706
    functionName: gf_cache_create_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_cache_set_mime_type
    - GF_LOG
    - gf_cache_set_etag_on_server
    - GF_SAFEALLOC
    - gf_cfg_force_new
    - gf_cache_set_etag_on_disk
    - cache_entry_lock
    - gf_strdup
    - strcmp
    - gf_blob_register
    - gf_file_delete
    - gf_sha1_csum
    - atoi
    - strcpy
    - gf_list_new
    - gf_cache_set_last_modified_on_disk
    - gf_dynstrcat
    - assert
    - gf_cfg_set_key
    - sprintf
    - gf_cfg_get_key_count
    - gf_sys_get_process_id
    - gf_cfg_get_key
    - gf_free
    - gf_net_get_utc
    - gf_cfg_del_section
    - strcat
    - gf_cache_set_last_modified_on_server
    - sscanf
    - gf_cfg_del
    - gf_cache_check_if_cache_file_is_corrupted
    - strrchr
    - cache_cleanup_processes
    - strncpy
    - gf_cache_delete_entry
    - gf_file_exists
    linkageType: ''
    returnType: DownloadedCacheEntry
    signature: 'DownloadedCacheEntry gf_cache_create_entry(const char * cache_directory,
      const char * url , u64 start_range, u64 end_range, Bool mem_storage, GF_Mutex
      *mx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_cache.c:802,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_cache.c:798,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:792,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:805,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:807,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:816,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_cache.c:833,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:831,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:829,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:819,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:836,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:810,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:833,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/downloader_cache.c:826,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:785,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:804,1
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:830,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:834,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader_cache.c:817,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:835,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:837,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - entry
    - sess
    argTypes:
    - DownloadedCacheEntry
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 840
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 840
    functionName: gf_cache_open_write_cache
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - gf_realloc
    - cache_entry_lock
    - gf_mx_v
    - GF_LOG
    - gf_mx_p
    - sprintf
    - gf_cfg_del
    - gf_blob_register
    - gf_cfg_new
    - gf_file_delete
    - strcpy
    - gf_fseek
    - gf_assert
    - gf_fopen
    - gf_net_get_utc
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_open_write_cache( const DownloadedCacheEntry entry,
      const GF_DownloadSession * sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: gf_cache_entry_persistent
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_entry_persistent(const DownloadedCacheEntry entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: gf_cache_entry_set_delete_files_when_deleted
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_entry_set_delete_files_when_deleted(const DownloadedCacheEntry
      entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: gf_cache_set_headers_processed
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_headers_processed(const DownloadedCacheEntry entry) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:401,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:403,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:408,1
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:402,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:407,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:410,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:412,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:415,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:416,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:420,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/downloader_cache.c:426,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:429,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:422,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:430,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:427,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - entry
    - success
    argTypes:
    - DownloadedCacheEntry
    - Bool
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: gf_cache_flush_disk_cache
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_cfg_set_key
    - cache_entry_lock
    - sprintf
    - gf_cfg_del
    - gf_cfg_new
    - gf_file_delete
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_flush_disk_cache ( const DownloadedCacheEntry entry,
      Bool success ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: gf_cache_get_cache_filename
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_cache_get_cache_filename( const DownloadedCacheEntry
      entry ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:464,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:470,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_cache.c:465,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:473,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:481,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/downloader_cache.c:487,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader_cache.c:488,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:492,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_cache.c:496,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:499,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/downloader_cache.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:511,1
    - Dst: strtoul
      Src: /src/gpac/src/utils/downloader_cache.c:504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:507,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_cache.c:502,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 3
    argNames:
    - entry
    - url
    - cfg
    argTypes:
    - DownloadedCacheEntry
    - char*
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 516
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 516
    functionName: gf_cache_check_if_cache_file_is_corrupted
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - strncmp
    - sscanf
    - gf_fsize
    - GF_LOG
    - gf_cfg_get_key
    - strtoul
    - gf_fclose
    - stricmp
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'static void gf_cache_check_if_cache_file_is_corrupted(const DownloadedCacheEntry
      entry, const char *url, GF_Config *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - entry
    - length
    argTypes:
    - DownloadedCacheEntry
    - u32
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: gf_cache_set_content_length
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_content_length( const DownloadedCacheEntry entry,
      u32 length ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:854,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader_cache.c:892,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/downloader_cache.c:889,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/utils/downloader_cache.c:879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:895,1
    - Dst: MAX
      Src: /src/gpac/src/utils/downloader_cache.c:857,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:865,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:867,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:873,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:884,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_cache.c:858,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:864,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_cache.c:869,1
    - Dst: gf_cache_close_write_cache
      Src: /src/gpac/src/utils/downloader_cache.c:886,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_cache.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:847,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:855,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_cache.c:862,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:890,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 5
    argNames:
    - entry
    - sess
    - data
    - size
    - mx
    argTypes:
    - DownloadedCacheEntry
    - GF_DownloadSession*
    - char*
    - u32
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 897
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 897
    functionName: gf_cache_write_to_cache
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - memset
    - gf_fflush
    - gf_realloc
    - gf_mx_v
    - gf_mx_p
    - GF_LOG
    - gf_fwrite
    - gf_blob_register
    - gf_cache_close_write_cache
    - memcpy
    - strcpy
    - gf_assert
    - MAX
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_write_to_cache( const DownloadedCacheEntry entry,
      const GF_DownloadSession * sess, const char * data, const u32 size, GF_Mutex
      *mx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1277,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1283,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1278,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1279,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1282,1
    - Dst: gf_cache_get_url
      Src: /src/gpac/src/utils/downloader_cache.c:1284,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1285,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/downloader_cache.c:1287,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader_cache.c:1288,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader_cache.c:1289,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_cache.c:1290,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_cache.c:1292,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1299,1
    - Dst: gf_cache_get_start_range
      Src: /src/gpac/src/utils/downloader_cache.c:1295,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1302,1
    - Dst: gf_cache_get_end_range
      Src: /src/gpac/src/utils/downloader_cache.c:1296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1304
    functionName: gf_cache_find_entry_by_url
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strncmp
    - gf_list_count
    - gf_mx_p
    - strcmp
    - gf_cache_get_end_range
    - gf_cache_get_start_range
    - strchr
    - gf_mx_v
    - gf_assert
    - gf_cache_get_url
    linkageType: ''
    returnType: DownloadedCacheEntry
    signature: 'static DownloadedCacheEntry gf_cache_find_entry_by_url(GF_DownloadSession
      * sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/downloader_cache.c:167,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:172,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/downloader_cache.c:169,1
    - Dst: gf_sys_check_process_id
      Src: /src/gpac/src/utils/downloader_cache.c:173,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: cache_cleanup_processes
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - sscanf
    - gf_cfg_get_key_count
    - gf_sys_check_process_id
    - gf_cfg_get_key_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cache_cleanup_processes(GF_Config *cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: gf_cache_are_headers_processed
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_are_headers_processed(const DownloadedCacheEntry entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:326,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - eTag
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: gf_cache_set_etag_on_disk
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_etag_on_disk(const DownloadedCacheEntry entry,
      const char * eTag ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: gf_cache_get_content_length
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_cache_get_content_length( const DownloadedCacheEntry entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1027,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1029,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_cache.c:1034,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - entry
    - sess
    argTypes:
    - DownloadedCacheEntry
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1036
    functionName: gf_cache_add_session_to_cache_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: s32
    signature: 's32 gf_cache_add_session_to_cache_entry(DownloadedCacheEntry entry,
      GF_DownloadSession * sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1054
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1054
    functionName: gf_cache_is_in_progress
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_is_in_progress(const DownloadedCacheEntry entry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_get_ex
      Src: /src/gpac/src/utils/downloader_cache.c:1132,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1136,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - entry
    - size
    - max_valid_size
    - was_modified
    argTypes:
    - DownloadedCacheEntry
    - u32*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1148
    functionName: gf_cache_get_content
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    - gf_blob_get_ex
    linkageType: ''
    returnType: u8*
    signature: 'const u8 *gf_cache_get_content(const DownloadedCacheEntry entry, u32
      *size, u32 *max_valid_size, Bool *was_modified) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1160
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1160
    functionName: gf_cache_is_deleted
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_is_deleted(const DownloadedCacheEntry entry) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:184,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:187,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:206,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:214,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:209,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:210,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/downloader_cache.c:217,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/downloader_cache.c:237,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:191,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:199,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:205,1
    - Dst: cache_cleanup_processes
      Src: /src/gpac/src/utils/downloader_cache.c:190,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:186,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_cache.c:196,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:204,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/downloader_cache.c:208,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:212,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/downloader_cache.c:223,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:197,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:200,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_cache.c:207,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/downloader_cache.c:230,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_cache.c:241,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 243
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 243
    functionName: gather_cache_files
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - sscanf
    - gf_strdup
    - gf_list_count
    - gf_cfg_del
    - gf_cfg_new
    - cache_cleanup_processes
    - gf_cfg_get_key
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gather_cache_files(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:317,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - eTag
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: gf_cache_set_etag_on_server
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_etag_on_server(const DownloadedCacheEntry entry,
      const char * eTag ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:335,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - mime_type
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: gf_cache_set_mime_type
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_set_mime_type(const DownloadedCacheEntry entry, const
      char * mime_type ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:734,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:740,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:736,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_cache.c:739,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/downloader_cache.c:739,1
    - Dst: gf_cache_set_last_modified_on_disk
      Src: /src/gpac/src/utils/downloader_cache.c:744,1
    - Dst: gf_cache_get_last_modified_on_server
      Src: /src/gpac/src/utils/downloader_cache.c:744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:746,1
    - Dst: gf_cache_set_etag_on_disk
      Src: /src/gpac/src/utils/downloader_cache.c:749,1
    - Dst: gf_cache_get_etag_on_server
      Src: /src/gpac/src/utils/downloader_cache.c:749,1
    - Dst: gf_cache_flush_disk_cache
      Src: /src/gpac/src/utils/downloader_cache.c:756,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:758,1
    - Dst: sync
      Src: /src/gpac/src/utils/downloader_cache.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:751,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - entry
    - sess
    - success
    argTypes:
    - DownloadedCacheEntry
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 776
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 776
    functionName: gf_cache_close_write_cache
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_cache_get_etag_on_server
    - gf_cache_flush_disk_cache
    - gf_fflush
    - GF_LOG
    - gf_cache_get_last_modified_on_server
    - gf_cache_set_etag_on_disk
    - sync
    - gf_fclose
    - gf_assert
    - gf_cache_set_last_modified_on_disk
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cache_close_write_cache( const DownloadedCacheEntry entry,
      const GF_DownloadSession * sess, Bool success ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - range_end
    argTypes:
    - DownloadedCacheEntry
    - u64
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: gf_cache_set_end_range
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_set_end_range(DownloadedCacheEntry entry, u64 range_end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1059,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:1060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - mime
    argTypes:
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1062
    functionName: gf_cache_set_mime
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_set_mime(const DownloadedCacheEntry entry, const char
      *mime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_release_ex
      Src: /src/gpac/src/utils/downloader_cache.c:1153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1154
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1154
    functionName: gf_cache_release_content
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_blob_release_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_release_content(const DownloadedCacheEntry entry) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/utils/downloader_cache.c:1169,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1178,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:1183,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1175,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_cache.c:1181,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1193,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1197,1
    - Dst: MAX
      Src: /src/gpac/src/utils/downloader_cache.c:1201,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_cache.c:1202,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_cache.c:1209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1218,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/utils/downloader_cache.c:1207,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1213,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1230,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_cache.c:1215,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_cache.c:1210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - entry
    - blob
    - copy
    - mx
    argTypes:
    - DownloadedCacheEntry
    - GF_Blob*
    - Bool
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1233
    functionName: gf_cache_set_content
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - MAX
    - gf_realloc
    - gf_mx_v
    - gf_mx_p
    - GF_LOG
    - gf_blob_register
    - memcpy
    - strcpy
    - gf_blob_unregister
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_cache_set_content(const DownloadedCacheEntry entry, GF_Blob
      *blob, Bool copy, GF_Mutex *mx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader_cache.c:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1266
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1266
    functionName: gf_cache_open_read
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_fopen
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *gf_cache_open_read(const DownloadedCacheEntry entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:999,1
    - Dst: cache_entry_lock
      Src: /src/gpac/src/utils/downloader_cache.c:1000,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/downloader_cache.c:1001,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_cache.c:1006,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_cache.c:1005,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:1007,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/downloader_cache.c:1008,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/downloader_cache.c:1009,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/downloader_cache.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - entry
    - max_age
    - must_revalidate
    argTypes:
    - DownloadedCacheEntry
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1012
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1012
    functionName: gf_cache_set_max_age
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    - cache_entry_lock
    - sprintf
    - gf_cfg_del
    - gf_cfg_new
    - gf_file_delete
    - gf_net_get_utc
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_set_max_age(const DownloadedCacheEntry entry, u32 max_age,
      Bool must_revalidate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: gf_cache_get_forced_headers
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *gf_cache_get_forced_headers(const DownloadedCacheEntry entry) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1548,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1551,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1550,1
    - Dst: gf_cache_get_url
      Src: /src/gpac/src/utils/downloader_cache.c:1556,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_cache.c:1557,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_cache.c:1558,1
    - Dst: gf_cache_get_start_range
      Src: /src/gpac/src/utils/downloader_cache.c:1561,1
    - Dst: gf_cache_get_end_range
      Src: /src/gpac/src/utils/downloader_cache.c:1562,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1571,1
    - Dst: gf_cache_set_content
      Src: /src/gpac/src/utils/downloader_cache.c:1581,1
    - Dst: gf_cache_set_downtime
      Src: /src/gpac/src/utils/downloader_cache.c:1582,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_cache.c:1574,1
    - Dst: gf_cache_set_mime
      Src: /src/gpac/src/utils/downloader_cache.c:1577,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1583,1
    - Dst: gf_cache_set_range
      Src: /src/gpac/src/utils/downloader_cache.c:1579,1
    - Dst: gf_cache_create_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1569,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 8
    argNames:
    - dm
    - szURL
    - blob
    - start_range
    - end_range
    - mime
    - clone_memory
    - download_time_ms
    argTypes:
    - GF_DownloadManager*
    - char*
    - GF_Blob*
    - u64
    - u64
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 1585
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1585
    functionName: gf_dm_add_cache_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_cache_set_mime
    - gf_list_get
    - gf_list_count
    - gf_cache_create_entry
    - GF_LOG
    - gf_mx_p
    - strcmp
    - gf_cache_set_range
    - gf_cache_get_end_range
    - gf_cache_set_downtime
    - gf_cache_get_start_range
    - gf_cache_set_content
    - gf_mx_v
    - gf_assert
    - gf_cache_get_url
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT DownloadedCacheEntry gf_dm_add_cache_entry(GF_DownloadManager
      *dm, const char *szURL, GF_Blob *blob, u64 start_range, u64 end_range, const
      char *mime, Bool clone_memory, u32 download_time_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DownloadedCacheEntry
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: gf_cache_get_sessions_count_for_cache_entry
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_cache_get_sessions_count_for_cache_entry(const DownloadedCacheEntry
      entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - download_time_ms
    argTypes:
    - DownloadedCacheEntry
    - u32
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: gf_cache_set_downtime
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_set_downtime(const DownloadedCacheEntry entry, u32 download_time_ms) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_get_forced_headers
      Src: /src/gpac/src/utils/downloader_cache.c:1593,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader_cache.c:1595,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_cache.c:1602,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader_cache.c:1599,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader_cache.c:1597,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:1605,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_cache.c:1609,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_cache.c:1610,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1616
    functionName: gf_dm_sess_reload_cached_headers
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - gf_dm_sess_clear_headers
    - GF_SAFEALLOC
    - strchr
    - gf_cache_get_forced_headers
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_reload_cached_headers(GF_DownloadSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1624,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1626,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1628,1
    - Dst: gf_dm_sess_reload_cached_headers
      Src: /src/gpac/src/utils/downloader_cache.c:1630,1
    - Dst: gf_cache_set_headers
      Src: /src/gpac/src/utils/downloader_cache.c:1625,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - dm
    - entry
    - headers
    argTypes:
    - GF_DownloadManager*
    - DownloadedCacheEntry
    - char*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1636
    functionName: gf_dm_force_headers
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_cache_set_headers
    - gf_mx_v
    - gf_dm_sess_reload_cached_headers
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dm_force_headers(GF_DownloadManager *dm, const
      DownloadedCacheEntry entry, const char *headers) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_cache_remove_session_from_cache_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1316,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_cache.c:1325,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_cache.c:1326,1
    - Dst: gf_cache_get_sessions_count_for_cache_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_cache.c:1328,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/downloader_cache.c:1330,1
    - Dst: gf_cache_delete_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1331,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_cache.c:1336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1339
    functionName: gf_cache_remove_entry_from_session
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_cache_get_sessions_count_for_cache_entry
    - gf_list_rem
    - gf_mx_v
    - gf_cache_remove_session_from_cache_entry
    - gf_cache_delete_entry
    linkageType: ''
    returnType: void
    signature: 'void gf_cache_remove_entry_from_session(GF_DownloadSession * sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_cache.c:1524,1
    - Dst: gf_dm_delete_cached_file_entry
      Src: /src/gpac/src/utils/downloader_cache.c:1525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - sess
    - url
    - force
    argTypes:
    - GF_DownloadSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1529
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1529
    functionName: gf_dm_delete_cached_file_entry_session
    functionSourceFile: /src/gpac/src/utils/downloader_cache.c
    functionUses: []
    functionsReached:
    - gf_dm_delete_cached_file_entry
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_dm_delete_cached_file_entry_session(const GF_DownloadSession
      * sess, const char * url, Bool force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmt_LogText
      Src: /src/gpac/src/utils/os_divers.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1281
    functionName: gf_sys_profiler_log
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_LogText
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sys_profiler_log(const char *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmt_SendText
      Src: /src/gpac/src/utils/os_divers.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1295
    functionName: gf_sys_profiler_send
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_SendText
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sys_profiler_send(const char *msg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_divers.c:2650,1
    - Dst: close
      Src: /src/gpac/src/utils/os_divers.c:2651,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:2654,1
    - Dst: unlink
      Src: /src/gpac/src/utils/os_divers.c:2652,1
    - Dst: perror
      Src: /src/gpac/src/utils/os_divers.c:2653,1
    - Dst: ReleaseMutex
      Src: /src/gpac/src/utils/os_divers.c:2660,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_divers.c:2662,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2663,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:2665,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_divers.c:2667,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:2673,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:2675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2668,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GF_GlobalLock*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2677
    functionName: gf_global_resource_unlock
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - perror
    - GF_LOG
    - CloseHandle
    - GetLastError
    - gf_free
    - close
    - gf_assert
    - unlink
    - ReleaseMutex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_global_resource_unlock(GF_GlobalLock * lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/utils/os_divers.c:180,1
    - Dst: select
      Src: /src/gpac/src/utils/os_divers.c:214,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:196,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:203,1
    - Dst: Sleep
      Src: /src/gpac/src/utils/os_divers.c:183,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/utils/os_divers.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - ms
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 220
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 220
    functionName: gf_sleep
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - select
    - Sleep
    - gf_rmt_begin
    - gf_sys_clock
    - gf_rmt_end
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sleep(u32 ms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/os_divers.c:1347,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/os_divers.c:1349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - GF_Blob*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1351
    functionName: gf_blob_release_ex
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_list_find
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_blob_release_ex(GF_Blob *blob) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/os_divers.c:3165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:3167,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_divers.c:3178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:3173,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/os_divers.c:3182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:3185,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:3186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - file
    - out_data
    - out_size
    argTypes:
    - FILE*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 3193
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3193
    functionName: gf_file_load_data_filep
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fsize
    - GF_LOG
    - gf_fread
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_file_load_data_filep(FILE *file, u8 **out_data,
      u32 *out_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/gpac/src/utils/os_divers.c:638,1
    - Dst: ioctl
      Src: /src/gpac/src/utils/os_divers.c:645,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 655
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 655
    functionName: gf_prompt_get_size
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_prompt_get_size(u32 *width, u32 *height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmt_usr_cbk
      Src: /src/gpac/src/utils/os_divers.c:1204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - text
    - context
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1205
    functionName: gpac_rmt_input_handler
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_usr_cbk
    linkageType: ''
    returnType: void
    signature: 'static void gpac_rmt_input_handler(const char* text, void* context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:1357,1
    - Dst: gf_blob_release_ex
      Src: /src/gpac/src/utils/os_divers.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - blob_url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1359
    functionName: gf_blob_release
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_blob_release_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_blob_release(const char *blob_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/gpac/src/utils/os_divers.c:2915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2916
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2916
    functionName: gf_mktime_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - timegm
    linkageType: ''
    returnType: time_t
    signature: 'static time_t gf_mktime_utc(struct tm *tm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:3199,1
    - Dst: gf_file_load_data_filep
      Src: /src/gpac/src/utils/os_divers.c:3205,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:3206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:3202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - file_name
    - out_data
    - out_size
    argTypes:
    - char*
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 3208
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3208
    functionName: gf_file_load_data
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_file_load_data_filep
    - gf_fopen
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_file_load_data(const char *file_name, u8 **out_data,
      u32 *out_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:916,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:919,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 928
    functionName: gf_log_reset_file
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_fopen
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_log_reset_file() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:365,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_divers.c:366,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_divers.c:368,1
    - Dst: MessageBox
      Src: /src/gpac/src/utils/os_divers.c:367,1
    - Dst: _T
      Src: /src/gpac/src/utils/os_divers.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - valid
    - file
    - line
    argTypes:
    - u32
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: CE_Assert
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - MessageBox
    - CE_CharToWide
    - sprintf
    - _T
    - exit
    linkageType: ''
    returnType: void
    signature: 'void CE_Assert(u32 valid, char *file, u32 line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/gpac/src/utils/os_divers.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 763
    functionName: OS_GetSysClockHIGHRES_FULL
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    linkageType: ''
    returnType: u64
    signature: 'static u64 OS_GetSysClockHIGHRES_FULL() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: gf_sys_is_test_mode
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_is_test_mode() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:1151,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:1156,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:1153,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:1155,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_divers.c:1158,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1164
    functionName: gf_sys_find_global_arg
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - strchr
    - strncmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sys_find_global_arg(const char *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:1366,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_divers.c:1374,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_divers.c:1372,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_divers.c:1370,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_divers.c:1368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - blob
    argTypes:
    - GF_Blob*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1375
    functionName: gf_blob_register
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - sprintf
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_blob_register(GF_Blob *blob) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_section_count
      Src: /src/gpac/src/utils/os_divers.c:1455,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:1464,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_divers.c:1462,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:1465,1
    - Dst: gf_opts_get_section_name
      Src: /src/gpac/src/utils/os_divers.c:1461,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_divers.c:1467,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/utils/os_divers.c:1468,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_divers.c:1475,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:1478,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_divers.c:1479,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/utils/os_divers.c:1485,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_divers.c:1483,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1491
    functionName: gf_sys_refresh_cache
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_opts_del_section
    - strncmp
    - sscanf
    - gf_net_get_ntp
    - gf_file_delete
    - gf_file_exists
    - gf_opts_get_section_name
    - gf_opts_get_section_count
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void gf_sys_refresh_cache() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/gpac/src/utils/os_divers.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - w_str
    - str
    argTypes:
    - unsigned short*
    - char*
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: CE_WideToChar
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    linkageType: ''
    returnType: void
    signature: 'void CE_WideToChar(unsigned short *w_str, char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FileTimeToSystemTime
      Src: /src/gpac/src/utils/os_divers.c:833,1
    - Dst: gmtime
      Src: /src/gpac/src/utils/os_divers.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - time
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 843
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 843
    functionName: gf_gmtime
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gmtime
    - FileTimeToSystemTime
    linkageType: ''
    returnType: tm*
    signature: 'tm *gf_gmtime(const time_t *time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_divers.c:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - blob
    argTypes:
    - GF_Blob*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1382
    functionName: gf_blob_unregister
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_blob_unregister(GF_Blob *blob) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mach_host_self
      Src: /src/gpac/src/utils/os_divers.c:2012,1
    - Dst: sysctl
      Src: /src/gpac/src/utils/os_divers.c:2008,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2000,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2031,1
    - Dst: task_info
      Src: /src/gpac/src/utils/os_divers.c:2035,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2066,1
    - Dst: task_info
      Src: /src/gpac/src/utils/os_divers.c:2048,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2037,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2078,1
    - Dst: sysctl
      Src: /src/gpac/src/utils/os_divers.c:2023,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2035,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2048,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2058,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2077,1
    - Dst: task_for_pid
      Src: /src/gpac/src/utils/os_divers.c:2029,1
    - Dst: mach_port_deallocate
      Src: /src/gpac/src/utils/os_divers.c:2078,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2108,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:1999,1
    - Dst: host_statistics
      Src: /src/gpac/src/utils/os_divers.c:2012,1
    - Dst: thread_info
      Src: /src/gpac/src/utils/os_divers.c:2064,1
    - Dst: task_threads
      Src: /src/gpac/src/utils/os_divers.c:2056,1
    - Dst: mach_error_string
      Src: /src/gpac/src/utils/os_divers.c:2066,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/os_divers.c:2077,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 132
    argCount: 3
    argNames:
    - refresh_time_ms
    - rti
    - flags
    argTypes:
    - u32
    - GF_SystemRTInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 2110
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2110
    functionName: gf_sys_get_rti_os
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - thread_info
    - mach_error_string
    - host_statistics
    - task_info
    - vm_deallocate
    - GF_LOG
    - mach_task_self
    - gf_sys_clock
    - mach_host_self
    - memcpy
    - task_threads
    - mach_port_deallocate
    - task_for_pid
    - sysctl
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_get_rti_os(u32 refresh_time_ms, GF_SystemRTInfo *rti,
      u32 flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: gf_sys_is_cov_mode
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_is_cov_mode() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmt_EnableSampling
      Src: /src/gpac/src/utils/os_divers.c:1302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enable
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 1305
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: gf_sys_profiler_enable_sampling
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_EnableSampling
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_profiler_enable_sampling(Bool enable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kbhit
      Src: /src/gpac/src/utils/os_divers.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: gf_prompt_has_input
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - kbhit
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_prompt_has_input() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:571,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_divers.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - new_line
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: close_keyboard
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - fprintf
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: 'static void close_keyboard(Bool new_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: gf_sys_get_argv
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT**
    signature: 'GF_EXPORT const char **gf_sys_get_argv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ntp
    - usec
    argTypes:
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 2793
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2793
    functionName: gf_net_ntp_add_usec
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_ntp_add_usec(u64 ntp, s32 usec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_divers.c:3110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3117
    functionName: gf_net_get_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_get_utc() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:3372,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_divers.c:3377,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_divers.c:3378,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_divers.c:3374,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3376,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3379,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3379,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:3380,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:3386,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:3390,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_divers.c:3406,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:3409,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:3405,1
    - Dst: gf_sha256_csum
      Src: /src/gpac/src/utils/os_divers.c:3398,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:3394,1
    - Dst: gf_cfg_save
      Src: /src/gpac/src/utils/os_divers.c:3407,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:3396,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/os_divers.c:3405,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - user
    - password
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3413
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3413
    functionName: gf_creds_check_password
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sha256_csum
    - gf_cfg_set_key
    - sscanf
    - gf_cfg_del
    - sprintf
    - gf_cfg_new
    - memcpy
    - gf_cfg_get_key
    - gf_net_get_utc
    - gf_cfg_save
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_creds_check_password(const char *user, char *password) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:579,1
    - Dst: close_keyboard
      Src: /src/gpac/src/utils/os_divers.c:585,1
    - Dst: init_keyboard
      Src: /src/gpac/src/utils/os_divers.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - echo_off
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: gf_prompt_set_echo_off
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - init_keyboard
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_prompt_set_echo_off(Bool echo_off) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - (arg, arg_val, &consumed, &e)
    argTypes:
    - gf_opts_load_option
    constantsTouched: []
    func_position:
      end: 1056
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1056
    functionName: if
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (gf_opts_load_option(arg, arg_val, &consumed, &e)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1138
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1138
    functionName: gf_sys_get_arg
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sys_get_arg(u32 arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gpac/src/utils/os_divers.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: gf_sys_clock
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_clock() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/utils/os_divers.c:414,1
    - Dst: gettimeofday
      Src: /src/gpac/src/utils/os_divers.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - sec
    - msec
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: gf_utc_time_since_1970
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gettimeofday
    - _ftime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_utc_time_since_1970(u32 *sec, u32 *msec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount
      Src: /src/gpac/src/utils/os_divers.c:768,1
    - Dst: timeGetTime
      Src: /src/gpac/src/utils/os_divers.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: OS_GetSysClockNORMAL
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - timeGetTime
    - GetTickCount
    linkageType: ''
    returnType: u32
    signature: 'static u32 OS_GetSysClockNORMAL() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: gf_sys_has_filter_global_args
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_has_filter_global_args() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:3305,1
    - Dst: getchar
      Src: /src/gpac/src/utils/os_divers.c:3318,1
    - Dst: tcgetattr
      Src: /src/gpac/src/utils/os_divers.c:3308,1
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:3319,1
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:3315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3297
    functionDepth: 0
    functionLinenumber: 3297
    functionLinenumberEnd: 3321
    functionName: gf_getch
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getchar
    - tcsetattr
    - gf_sys_is_cov_mode
    - tcgetattr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_getch() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: gf_gpac_copyright
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_gpac_copyright() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/utils/os_divers.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - tp
    - tz
    argTypes:
    - struct timeval*
    - void*
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: gettimeofday
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - _ftime
    linkageType: ''
    returnType: s32
    signature: 'static s32 gettimeofday(struct timeval *tp, void *tz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:428,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:438,1
    - Dst: GetUserName
      Src: /src/gpac/src/utils/os_divers.c:435,1
    - Dst: getenv
      Src: /src/gpac/src/utils/os_divers.c:437,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:433,1
    - Dst: getpwuid
      Src: /src/gpac/src/utils/os_divers.c:443,1
    - Dst: getuid
      Src: /src/gpac/src/utils/os_divers.c:443,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:444,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_divers.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 450
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 450
    functionName: gf_get_user_name
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getpwuid
    - GetUserName
    - strncpy
    - strcpy
    - getuid
    - getenv
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_get_user_name(char buf[1024]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/gpac/src/utils/os_divers.c:3234,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:3237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3241
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3241
    functionName: gf_sys_check_process_id
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - OpenProcess
    - CloseHandle
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_check_process_id(u32 pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: gf_gpac_abi_major
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_gpac_abi_major() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emscripten_get_now
      Src: /src/gpac/src/utils/os_divers.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: gf_sys_clock
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - emscripten_get_now
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_clock() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sh4_get_fpscr
      Src: /src/gpac/src/utils/os_divers.c:811,1
    - Dst: sh4_put_fpscr
      Src: /src/gpac/src/utils/os_divers.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - 'off'
    - 'on'
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 822
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 822
    functionName: sh4_change_fpscr
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - sh4_put_fpscr
    - sh4_get_fpscr
    linkageType: ''
    returnType: void
    signature: 'void sh4_change_fpscr(int off, int on) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:1184,1
    - Dst: gf_log_level_name
      Src: /src/gpac/src/utils/os_divers.c:1184,1
    - Dst: gf_log_tool_name
      Src: /src/gpac/src/utils/os_divers.c:1184,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:1186,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/os_divers.c:1187,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:1188,1
    - Dst: rmt_LogText
      Src: /src/gpac/src/utils/os_divers.c:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - cbck
    - level
    - tool
    - fmt
    - vlist
    argTypes:
    - void*
    - GF_LOG_Level
    - GF_LOG_Tool
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 1196
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1196
    functionName: gpac_rmt_log_callback
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - sprintf
    - rmt_LogText
    - gf_log_tool_name
    - vsnprintf
    - gf_log_level_name
    linkageType: ''
    returnType: void
    signature: 'void gpac_rmt_log_callback(void *cbck, GF_LOG_Level level, GF_LOG_Tool
      tool, const char *fmt, va_list vlist) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:2132,1
    - Dst: task_info
      Src: /src/gpac/src/utils/os_divers.c:2139,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2139,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2134,1
    - Dst: task_threads
      Src: /src/gpac/src/utils/os_divers.c:2148,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2148,1
    - Dst: thread_info
      Src: /src/gpac/src/utils/os_divers.c:2157,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/os_divers.c:2160,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2160,1
    - Dst: vm_deallocate
      Src: /src/gpac/src/utils/os_divers.c:2179,1
    - Dst: mach_task_self
      Src: /src/gpac/src/utils/os_divers.c:2179,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_divers.c:2180,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 3
    argNames:
    - refresh_time_ms
    - rti
    - flags
    argTypes:
    - u32
    - GF_SystemRTInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 2205
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2205
    functionName: gf_sys_get_rti_os
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - thread_info
    - task_info
    - vm_deallocate
    - mach_task_self
    - gf_sys_clock
    - memcpy
    - task_threads
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_get_rti_os(u32 refresh_time_ms, GF_SystemRTInfo *rti,
      u32 flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmt_SamplingEnabled
      Src: /src/gpac/src/utils/os_divers.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1316
    functionName: gf_sys_profiler_sampling_enabled
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_SamplingEnabled
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_profiler_sampling_enabled() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 874
    functionName: gf_log_use_file
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_log_use_file() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:1417,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1421,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:1422,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/utils/os_divers.c:1429,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:1430,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:1431,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:1432,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_divers.c:1433,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_divers.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1438
    functionName: gf_sys_get_lang_file
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_cfg_del
    - strcmp
    - gf_cfg_new
    - gf_file_exists
    - gf_opts_default_shared_directory
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Config*
    signature: 'GF_Config *gf_sys_get_lang_file() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - ntp_a
    - ntp_b
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2742
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2742
    functionName: gf_net_ntp_diff_ms
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_net_ntp_diff_ms(u64 ntp_a, u64 ntp_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_divers.c:2803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2812
    functionName: gf_net_get_ntp_ms
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_get_ntp_ms() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:3327,1
    - Dst: getchar
      Src: /src/gpac/src/utils/os_divers.c:3329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3330
    functionName: gf_getch
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getchar
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_getch() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/gpac/src/utils/os_divers.c:536,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:541,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/gpac/src/utils/os_divers.c:537,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_divers.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: gf_prompt_get_size
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - GetStdHandle
    - GetConsoleScreenBufferInfo
    - GetLastError
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_prompt_get_size(u32 *width, u32 *height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_lang_file
      Src: /src/gpac/src/utils/os_divers.c:1444,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_divers.c:1447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - sec_name
    - key_name
    - def_val
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    functionName: gf_sys_localized
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_key
    - gf_sys_get_lang_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_sys_localized(const char *sec_name, const
      char *key_name, const char *def_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - s32
    constantsTouched: []
    func_position:
      end: 2688
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2688
    functionName: gf_net_set_ntp_shift
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_net_set_ntp_shift(s32 shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_divers.c:2752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ntp
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 2763
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2763
    functionName: gf_net_get_ntp_diff_ms
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_net_get_ntp_diff_ms(u64 ntp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:3249,1
    - Dst: open
      Src: /src/gpac/src/utils/os_divers.c:3255,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3250,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/src/utils/os_divers.c:3249,1
    - Dst: write
      Src: /src/gpac/src/utils/os_divers.c:3257,1
    - Dst: close
      Src: /src/gpac/src/utils/os_divers.c:3258,1
    - Dst: fopen
      Src: /src/gpac/src/utils/os_divers.c:3264,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_divers.c:3266,1
    - Dst: fopen
      Src: /src/gpac/src/utils/os_divers.c:3266,1
    - Dst: fwrite
      Src: /src/gpac/src/utils/os_divers.c:3269,1
    - Dst: fclose
      Src: /src/gpac/src/utils/os_divers.c:3270,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/utils/os_divers.c:3279,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:3283,1
    - Dst: gf_sys_check_process_id
      Src: /src/gpac/src/utils/os_divers.c:3287,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_divers.c:3290,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:3282,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/src/utils/os_divers.c:3285,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - lockname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3293
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3293
    functionName: gf_sys_create_lockfile
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - fopen
    - strlen
    - gf_file_load_data
    - sscanf
    - sprintf
    - write
    - gf_sys_get_process_id
    - gf_file_delete
    - gf_sys_check_process_id
    - fwrite
    - open
    - fclose
    - close
    - gf_free
    - gf_file_exists
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_LockStatus gf_sys_create_lockfile(const char *lockname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 790
    functionName: sh4_get_fpscr
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sh4_get_fpscr() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:508,1
    - Dst: getchar
      Src: /src/gpac/src/utils/os_divers.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: gf_prompt_get_char
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getchar
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: char
    signature: 'char gf_prompt_get_char() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/gpac/src/utils/os_divers.c:560,1
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: init_keyboard
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - tcsetattr
    - tcgetattr
    linkageType: ''
    returnType: void
    signature: 'static void init_keyboard() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_rti_os
      Src: /src/gpac/src/utils/os_divers.c:2414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - refresh_time_ms
    - rti
    - flags
    argTypes:
    - u32
    - GF_SystemRTInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 2422
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2422
    functionName: gf_sys_get_rti
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_sys_get_rti_os
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_get_rti(u32 refresh_time_ms, GF_SystemRTInfo
      *rti, u32 flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/gpac/src/utils/os_divers.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - str
    - w_str
    argTypes:
    - char*
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: CE_CharToWide
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - MultiByteToWideChar
    linkageType: ''
    returnType: void
    signature: 'void CE_CharToWide(char *str, unsigned short *w_str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:524,1
    - Dst: GetConsoleMode
      Src: /src/gpac/src/utils/os_divers.c:521,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_divers.c:523,1
    - Dst: GetStdHandle
      Src: /src/gpac/src/utils/os_divers.c:520,1
    - Dst: SetConsoleMode
      Src: /src/gpac/src/utils/os_divers.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - echo_off
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 530
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 530
    functionName: gf_prompt_set_echo_off
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - SetConsoleMode
    - GF_LOG
    - GetLastError
    - GetConsoleMode
    - GetStdHandle
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_prompt_set_echo_off(Bool echo_off) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_token_find_word
      Src: /src/gpac/src/utils/os_divers.c:3422,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_divers.c:3430,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/os_divers.c:3434,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_divers.c:3432,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:3428,1
    - Dst: gf_token_find_word
      Src: /src/gpac/src/utils/os_divers.c:3435,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_divers.c:3437,1
    - Dst: gf_token_find_word
      Src: /src/gpac/src/utils/os_divers.c:3438,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:3439,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:3443,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 3
    argNames:
    - username
    - users
    - groups
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3445
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3445
    functionName: gf_creds_check_membership
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_token_find_word
    - gf_cfg_del
    - gf_cfg_get_key_count
    - gf_cfg_new
    - gf_cfg_get_key
    - gf_cfg_get_key_name
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_creds_check_membership(const char *username, const
      char *users, const char *groups) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_divers.c:1722,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:1735,1
    - Dst: CloseToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1790,1
    - Dst: Thread32Next
      Src: /src/gpac/src/utils/os_divers.c:1769,1
    - Dst: Heap32Next
      Src: /src/gpac/src/utils/os_divers.c:1786,1
    - Dst: Process32First
      Src: /src/gpac/src/utils/os_divers.c:1823,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:1835,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:1848,1
    - Dst: OpenProcess
      Src: /src/gpac/src/utils/os_divers.c:1856,1
    - Dst: Heap32First
      Src: /src/gpac/src/utils/os_divers.c:1871,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:1878,1
    - Dst: GlobalMemoryStatus
      Src: /src/gpac/src/utils/os_divers.c:1737,1
    - Dst: SetProcPermissions
      Src: /src/gpac/src/utils/os_divers.c:1752,1
    - Dst: Heap32First
      Src: /src/gpac/src/utils/os_divers.c:1783,1
    - Dst: CreateToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1779,1
    - Dst: Heap32ListNext
      Src: /src/gpac/src/utils/os_divers.c:1788,1
    - Dst: MyQuerySystemInfo
      Src: /src/gpac/src/utils/os_divers.c:1810,1
    - Dst: CreateToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1820,1
    - Dst: OpenProcess
      Src: /src/gpac/src/utils/os_divers.c:1826,1
    - Dst: Process32Next
      Src: /src/gpac/src/utils/os_divers.c:1836,1
    - Dst: OpenProcess
      Src: /src/gpac/src/utils/os_divers.c:1844,1
    - Dst: MyGetProcessMemoryInfo
      Src: /src/gpac/src/utils/os_divers.c:1857,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:1728,1
    - Dst: GetCurrentPermissions
      Src: /src/gpac/src/utils/os_divers.c:1751,1
    - Dst: CreateToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1753,1
    - Dst: GetThreadTimes
      Src: /src/gpac/src/utils/os_divers.c:1762,1
    - Dst: SetProcPermissions
      Src: /src/gpac/src/utils/os_divers.c:1792,1
    - Dst: Heap32ListFirst
      Src: /src/gpac/src/utils/os_divers.c:1780,1
    - Dst: CloseToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1771,1
    - Dst: GetProcessTimes
      Src: /src/gpac/src/utils/os_divers.c:1827,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:1838,1
    - Dst: GetProcessTimes
      Src: /src/gpac/src/utils/os_divers.c:1845,1
    - Dst: Heap32Next
      Src: /src/gpac/src/utils/os_divers.c:1874,1
    - Dst: Heap32ListNext
      Src: /src/gpac/src/utils/os_divers.c:1876,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:1730,1
    - Dst: Thread32First
      Src: /src/gpac/src/utils/os_divers.c:1759,1
    - Dst: MyGetSystemTimes
      Src: /src/gpac/src/utils/os_divers.c:1801,1
    - Dst: CreateToolhelp32Snapshot
      Src: /src/gpac/src/utils/os_divers.c:1867,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:1951,1
    - Dst: Heap32ListFirst
      Src: /src/gpac/src/utils/os_divers.c:1868,1
    - Dst: GlobalMemoryStatus
      Src: /src/gpac/src/utils/os_divers.c:1935,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_divers.c:1859,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 222
    argCount: 3
    argNames:
    - refresh_time_ms
    - rti
    - flags
    argTypes:
    - u32
    - GF_SystemRTInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 1953
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1953
    functionName: gf_sys_get_rti_os
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - memset
    - Process32First
    - GetCurrentPermissions
    - Thread32First
    - GetProcessTimes
    - Process32Next
    - MyGetProcessMemoryInfo
    - MyQuerySystemInfo
    - Thread32Next
    - OpenProcess
    - Heap32First
    - gf_assert
    - CreateToolhelp32Snapshot
    - gf_sys_clock
    - MyGetSystemTimes
    - memcpy
    - GetThreadTimes
    - Heap32ListNext
    - Heap32Next
    - GlobalMemoryStatus
    - Heap32ListFirst
    - CloseHandle
    - SetProcPermissions
    - CloseToolhelp32Snapshot
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_get_rti_os(u32 refresh_time_ms, GF_SystemRTInfo *rti,
      u32 flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mkgmtime
      Src: /src/gpac/src/utils/os_divers.c:2889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2890
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2890
    functionName: gf_mktime_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - _mkgmtime
    linkageType: ''
    returnType: time_t
    signature: 'static time_t gf_mktime_utc(struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: gf_prompt_get_char
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char gf_prompt_get_char() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS_GetSysClockHR
      Src: /src/gpac/src/utils/os_divers.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: gf_sys_clock_high_res
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - OS_GetSysClockHR
    linkageType: ''
    returnType: u64
    signature: 'u64 gf_sys_clock_high_res() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS_GetSysClockNORMAL
      Src: /src/gpac/src/utils/os_divers.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: OS_GetSysClockNORMAL_FULL
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - OS_GetSysClockNORMAL
    linkageType: ''
    returnType: u64
    signature: 'static u64 OS_GetSysClockNORMAL_FULL() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/os_divers.c:1326,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/os_divers.c:1328,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - blob
    - out_data
    - out_size
    - out_flags
    argTypes:
    - GF_Blob*
    - u8**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1333
    functionName: gf_blob_get_ex
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_blob_get_ex(GF_Blob *blob, u8 **out_data, u32
      *out_size, u32 *out_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gpac/src/utils/os_divers.c:2698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - sec
    - frac
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2708
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2708
    functionName: gf_net_get_ntp
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_net_get_ntp(u32 *sec, u32 *frac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:1338,1
    - Dst: gf_blob_get_ex
      Src: /src/gpac/src/utils/os_divers.c:1339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - blob_url
    - out_data
    - out_size
    - out_flags
    argTypes:
    - char*
    - u8**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1340
    functionName: gf_blob_get
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_blob_get_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_blob_get(const char *blob_url, u8 **out_data,
      u32 *out_size, u32 *out_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_enable_tracker
      Src: /src/gpac/src/utils/os_divers.c:1507,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/utils/os_divers.c:1513,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1534,1
    - Dst: GetModuleHandle
      Src: /src/gpac/src/utils/os_divers.c:1552,1
    - Dst: GetModuleHandle
      Src: /src/gpac/src/utils/os_divers.c:1554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1559,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_divers.c:1562,1
    - Dst: GetCurrentProcessId
      Src: /src/gpac/src/utils/os_divers.c:1569,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1574,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/utils/os_divers.c:1600,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1613,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_divers.c:1587,1
    - Dst: getpid
      Src: /src/gpac/src/utils/os_divers.c:1582,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/utils/os_divers.c:1514,1
    - Dst: sh4_change_fpscr
      Src: /src/gpac/src/utils/os_divers.c:1520,1
    - Dst: QueryPerformanceCounter
      Src: /src/gpac/src/utils/os_divers.c:1527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1556,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_divers.c:1552,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/utils/os_divers.c:1554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1564,1
    - Dst: sysconf
      Src: /src/gpac/src/utils/os_divers.c:1583,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/os_divers.c:1598,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/utils/os_divers.c:1616,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:1586,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/utils/os_divers.c:1512,1
    - Dst: timeBeginPeriod
      Src: /src/gpac/src/utils/os_divers.c:1538,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:1545,1
    - Dst: GetSystemInfo
      Src: /src/gpac/src/utils/os_divers.c:1571,1
    - Dst: QueryPerformanceFrequency
      Src: /src/gpac/src/utils/os_divers.c:1526,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1530,1
    - Dst: GetCurrentProcessId
      Src: /src/gpac/src/utils/os_divers.c:1546,1
    - Dst: GlobalMemoryStatus
      Src: /src/gpac/src/utils/os_divers.c:1548,1
    - Dst: LoadLibrary
      Src: /src/gpac/src/utils/os_divers.c:1561,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:1568,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:1581,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1589,1
    - Dst: setlocale
      Src: /src/gpac/src/utils/os_divers.c:1592,1
    - Dst: gf_init_global_config
      Src: /src/gpac/src/utils/os_divers.c:1602,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1618,1
    - Dst: gf_sys_refresh_cache
      Src: /src/gpac/src/utils/os_divers.c:1604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 2
    argNames:
    - mem_tracker_type
    - profile
    argTypes:
    - GF_MemTrackerType
    - char*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1625
    functionName: gf_sys_init
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - memset
    - sh4_change_fpscr
    - GF_LOG
    - GetProcAddress
    - GetSystemInfo
    - GetModuleHandle
    - QueryPerformanceCounter
    - gf_mem_enable_tracker
    - strcmp
    - QueryPerformanceFrequency
    - gf_init_global_config
    - setlocale
    - gf_rand_init
    - gf_sys_refresh_cache
    - gf_log_set_tool_level
    - sysconf
    - gf_mx_new
    - getpid
    - LoadLibrary
    - gf_sys_clock
    - GetCurrentProcessId
    - timeBeginPeriod
    - gf_sys_get_rti
    - gf_sys_clock_high_res
    - GlobalMemoryStatus
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sys_init(GF_MemTrackerType mem_tracker_type, const
      char *profile) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:2942,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2949,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2965,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2977,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2985,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3010,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3011,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3012,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3013,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3015,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3013,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3015,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2951,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2956,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2959,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2962,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2978,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2986,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:2990,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3010,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3016,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2975,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2979,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2968,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2983,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3009,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3014,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3016,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3014,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:2935,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2947,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2944,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2953,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2976,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2980,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:2984,1
    - Dst: SystemTimeToFileTime
      Src: /src/gpac/src/utils/os_divers.c:2997,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3011,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:3012,1
    - Dst: gf_mktime_utc
      Src: /src/gpac/src/utils/os_divers.c:3019,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 187
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3040
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 3040
    functionName: gf_net_parse_date
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - SystemTimeToFileTime
    - sscanf
    - gf_mktime_utc
    - GF_LOG
    - strcmp
    - strchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_parse_date(const char *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1119
    functionName: gf_sys_is_quiet
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_is_quiet() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: gf_prompt_has_input
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_prompt_has_input() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:619,1
    - Dst: close_keyboard
      Src: /src/gpac/src/utils/os_divers.c:624,1
    - Dst: read
      Src: /src/gpac/src/utils/os_divers.c:627,1
    - Dst: close_keyboard
      Src: /src/gpac/src/utils/os_divers.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 631
    functionName: gf_prompt_get_char
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - read
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT char gf_prompt_get_char() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/gpac/src/utils/os_divers.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: OS_GetSysClockHIGHRES
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    linkageType: ''
    returnType: u32
    signature: 'static u32 OS_GetSysClockHIGHRES() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_set_progress_callback
      Src: /src/gpac/src/utils/os_divers.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: gpac_disable_progress
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_set_progress_callback
    linkageType: ''
    returnType: void
    signature: 'void gpac_disable_progress() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: gf_sys_has_filter_global_meta_args
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_has_filter_global_meta_args() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/utils/os_divers.c:1048,1
    - Dst: gf_net_set_ntp_shift
      Src: /src/gpac/src/utils/os_divers.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - '!'
    - (arg, "-ntp-shift")
    argTypes:
    - stricmp
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: if
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_net_set_ntp_shift
    - atoi
    linkageType: ''
    returnType: else
    signature: 'else if (!stricmp(arg, "-ntp-shift")) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:3339,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_divers.c:3351,1
    - Dst: fflush
      Src: /src/gpac/src/utils/os_divers.c:3342,1
    - Dst: gf_getch
      Src: /src/gpac/src/utils/os_divers.c:3348,1
    - Dst: perror
      Src: /src/gpac/src/utils/os_divers.c:3343,1
    - Dst: fputc
      Src: /src/gpac/src/utils/os_divers.c:3355,1
    - Dst: fflush
      Src: /src/gpac/src/utils/os_divers.c:3358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - line
    - maxSize
    - showContent
    argTypes:
    - char*
    - int
    - Bool
    constantsTouched: []
    func_position:
      end: 3363
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3363
    functionName: gf_read_line_input
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - perror
    - fprintf
    - fputc
    - fflush
    - gf_getch
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_read_line_input(char * line, int maxSize, Bool showContent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - cbck
    - title
    - done
    - total
    argTypes:
    - void*
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: progress_quiet
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void progress_quiet(const void *cbck, const char *title, u64
      done, u64 total) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - arg_idx
    - used
    argTypes:
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 1105
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1105
    functionName: gf_sys_mark_arg_used
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_mark_arg_used(s32 arg_idx, Bool used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/gpac/src/utils/os_divers.c:3217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3218
    functionName: gf_sys_get_process_id
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getpid
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_get_process_id() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg_idx
    argTypes:
    - s32
    constantsTouched: []
    func_position:
      end: 1113
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1113
    functionName: gf_sys_is_arg_used
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_is_arg_used(s32 arg_idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_divers.c:2236,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2248,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:2261,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2311,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2331,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2403,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/os_divers.c:2247,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:2262,1
    - Dst: gf_fflush
      Src: /src/gpac/src/utils/os_divers.c:2264,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/os_divers.c:2265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2296,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/os_divers.c:2309,1
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/utils/os_divers.c:2321,1
    - Dst: sbrk
      Src: /src/gpac/src/utils/os_divers.c:2323,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:2326,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_divers.c:2330,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_divers.c:2333,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:2339,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_divers.c:2234,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:2243,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:2252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2292,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:2275,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:2306,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_divers.c:2310,1
    - Dst: mallinfo
      Src: /src/gpac/src/utils/os_divers.c:2322,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2334,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_divers.c:2238,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:2278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2289,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:2294,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:2272,1
    - Dst: getrusage
      Src: /src/gpac/src/utils/os_divers.c:2302,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_divers.c:2307,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:2315,1
    - Dst: gf_fgets
      Src: /src/gpac/src/utils/os_divers.c:2329,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2341,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 170
    argCount: 3
    argNames:
    - refresh_time_ms
    - rti
    - flags
    argTypes:
    - u32
    - GF_SystemRTInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 2405
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2405
    functionName: gf_sys_get_rti_os
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getrusage
    - EM_ASM_INT
    - gf_fflush
    - sscanf
    - gf_fgets
    - sprintf
    - GF_LOG
    - mallinfo
    - gf_sys_clock
    - memcpy
    - sbrk
    - strchr
    - strnicmp
    - gf_fclose
    - gf_assert
    - gf_fopen
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_get_rti_os(u32 refresh_time_ms, GF_SystemRTInfo *rti,
      u32 flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_divers.c:2605,1
    - Dst: CreateMutex
      Src: /src/gpac/src/utils/os_divers.c:2611,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_divers.c:2606,1
    - Dst: CreateMutex
      Src: /src/gpac/src/utils/os_divers.c:2613,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_divers.c:2610,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_divers.c:2615,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2620,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_divers.c:2625,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_divers.c:2628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:2629,1
    - Dst: gf_global_resource_unlock
      Src: /src/gpac/src/utils/os_divers.c:2630,1
    - Dst: gf_create_PID_file
      Src: /src/gpac/src/utils/os_divers.c:2636,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - resourceName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2638
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2638
    functionName: gf_global_resource_lock
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - CreateMutex
    - gf_strdup
    - CE_CharToWide
    - GF_LOG
    - WaitForSingleObject
    - GetLastError
    - gf_global_resource_unlock
    - gf_create_PID_file
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_GlobalLock * gf_global_resource_lock(const char * resourceName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1126
    functionName: gf_sys_get_argc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_get_argc() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: gf_gpac_copyright_cite
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_gpac_copyright_cite() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcgetpgrp
      Src: /src/gpac/src/utils/os_divers.c:593,1
    - Dst: read
      Src: /src/gpac/src/utils/os_divers.c:603,1
    - Dst: getpgrp
      Src: /src/gpac/src/utils/os_divers.c:596,1
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:602,1
    - Dst: init_keyboard
      Src: /src/gpac/src/utils/os_divers.c:599,1
    - Dst: tcsetattr
      Src: /src/gpac/src/utils/os_divers.c:605,1
    - Dst: close_keyboard
      Src: /src/gpac/src/utils/os_divers.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 612
    functionName: gf_prompt_has_input
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - close_keyboard
    - init_keyboard
    - getpgrp
    - tcsetattr
    - read
    - tcgetpgrp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_prompt_has_input() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:3051,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_divers.c:3055,1
    - Dst: gf_mktime_utc
      Src: /src/gpac/src/utils/os_divers.c:3072,1
    - Dst: SystemTimeToFileTime
      Src: /src/gpac/src/utils/os_divers.c:3062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - min
    - sec
    argTypes:
    - u32
    - u32
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3085
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3085
    functionName: gf_net_get_utc_ts
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_mktime_utc
    - memset
    - SystemTimeToFileTime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_get_utc_ts(u32 year, u32 month, u32 day, u32
      hour, u32 min, u32 sec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/gpac/src/utils/os_divers.c:3229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3230
    functionName: gf_sys_get_process_id
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_get_process_id() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: gf_gpac_version
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_gpac_version() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/gpac/src/utils/os_divers.c:282,1
    - Dst: GetTimeZoneInformation
      Src: /src/gpac/src/utils/os_divers.c:295,1
    - Dst: SystemTimeToFileTime
      Src: /src/gpac/src/utils/os_divers.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - tp
    - tzp
    argTypes:
    - struct timeval*
    - struct timezone*
    constantsTouched: []
    func_position:
      end: 314
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 314
    functionName: gettimeofday
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - SystemTimeToFileTime
    - GetTimeZoneInformation
    - GetSystemTime
    linkageType: ''
    returnType: int
    signature: 'int gettimeofday(struct timeval *tp, struct timezone *tzp) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_divers.c:974,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:989,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:997,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1002,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/src/utils/os_divers.c:1007,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1039,1
    - Dst: gf_netcap_setup
      Src: /src/gpac/src/utils/os_divers.c:1042,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_divers.c:1048,1
    - Dst: gf_net_set_ntp_shift
      Src: /src/gpac/src/utils/os_divers.c:1049,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:989,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_divers.c:978,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1002,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1015,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1019,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1011,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1021,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_divers.c:1025,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_divers.c:1029,1
    - Dst: gf_log_set_tools_levels
      Src: /src/gpac/src/utils/os_divers.c:1062,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_divers.c:1092,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1011,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1015,1
    - Dst: gf_log_reset_file
      Src: /src/gpac/src/utils/os_divers.c:1068,1
    - Dst: gf_set_progress_callback
      Src: /src/gpac/src/utils/os_divers.c:1075,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1094,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1093,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/os_divers.c:1089,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_divers.c:1070,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:989,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:997,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_divers.c:1023,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_divers.c:1027,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_divers.c:1031,1
    - Dst: getenv
      Src: /src/gpac/src/utils/os_divers.c:1061,1
    - Dst: gf_sys_enable_remotery
      Src: /src/gpac/src/utils/os_divers.c:1071,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/utils/os_divers.c:1074,1
    - Dst: gf_cfg_load_restrict
      Src: /src/gpac/src/utils/os_divers.c:1079,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - s32
    - char**
    constantsTouched: []
    func_position:
      end: 1098
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1098
    functionName: gf_sys_set_args
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_log_reset_file
    - gf_set_progress_callback
    - gf_cfg_load_restrict
    - gf_realloc
    - strncmp
    - strcmp
    - GF_LOG
    - gf_log_set_tools_levels
    - gf_log_set_tool_level
    - strchr
    - strncpy
    - atoi
    - gf_net_set_ntp_shift
    - stricmp
    - gf_opts_get_bool
    - getenv
    - gf_sys_enable_remotery
    - gf_netcap_setup
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sys_set_args(s32 argc, const char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ntp
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 3101
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3101
    functionName: gf_net_ntp_to_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_ntp_to_utc(u64 ntp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpgid
      Src: /src/gpac/src/utils/os_divers.c:3222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pid
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3223
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3223
    functionName: gf_sys_check_process_id
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - getpgid
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_check_process_id(u32 pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1039,1
    - Dst: gf_netcap_setup
      Src: /src/gpac/src/utils/os_divers.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - '!'
    - (arg, "-netcap")
    argTypes:
    - stricmp
    constantsTouched: []
    func_position:
      end: 1045
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1045
    functionName: if
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_netcap_setup
    linkageType: ''
    returnType: else
    signature: 'else if (!stricmp(arg, "-netcap")) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emscripten_get_now
      Src: /src/gpac/src/utils/os_divers.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gf_sys_clock_high_res
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - emscripten_get_now
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_sys_clock_high_res() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - year
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2859
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2859
    functionName: leap_year
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool leap_year(u32 year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: gf_prompt_get_size
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_prompt_get_size(u32 *width, u32 *height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leap_year
      Src: /src/gpac/src/utils/os_divers.c:2870,1
    - Dst: leap_year
      Src: /src/gpac/src/utils/os_divers.c:2874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2884
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2884
    functionName: gf_mktime_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - leap_year
    linkageType: ''
    returnType: time_t
    signature: 'static time_t gf_mktime_utc(struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/gpac/src/utils/os_divers.c:2896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2897
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2897
    functionName: gf_mktime_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - timegm
    linkageType: ''
    returnType: time_t
    signature: 'static time_t gf_mktime_utc(struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: gf_sys_old_arch_compat
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_old_arch_compat() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gpac/src/utils/os_divers.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: gf_rand
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_rand() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:458,1
    - Dst: toupper
      Src: /src/gpac/src/utils/os_divers.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: my_str_upr
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - toupper
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * my_str_upr(char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS_GetSysClock
      Src: /src/gpac/src/utils/os_divers.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: gf_sys_clock
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - OS_GetSysClock
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_sys_clock() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: timeEndPeriod
      Src: /src/gpac/src/utils/os_divers.c:1644,1
    - Dst: gf_sys_enable_remotery
      Src: /src/gpac/src/utils/os_divers.c:1653,1
    - Dst: gf_uninit_global_config
      Src: /src/gpac/src/utils/os_divers.c:1660,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/utils/os_divers.c:1649,1
    - Dst: gf_js_delete_runtime
      Src: /src/gpac/src/utils/os_divers.c:1657,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_divers.c:1664,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_divers.c:1668,1
    - Dst: gf_sys_cleanup_help
      Src: /src/gpac/src/utils/os_divers.c:1671,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/os_divers.c:1676,1
    - Dst: gf_log_reset_extras
      Src: /src/gpac/src/utils/os_divers.c:1678,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:1680,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_divers.c:1696,1
    - Dst: gf_net_close_capture
      Src: /src/gpac/src/utils/os_divers.c:1692,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_divers.c:1688,1
    - Dst: fflush
      Src: /src/gpac/src/utils/os_divers.c:1697,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1700
    functionName: gf_sys_close
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_js_delete_runtime
    - gf_list_del
    - gf_uninit_global_config
    - FreeLibrary
    - gf_cfg_del
    - gf_log_reset_extras
    - gf_sys_cleanup_help
    - fprintf
    - timeEndPeriod
    - gf_net_close_capture
    - gf_mx_del
    - gf_fclose
    - gf_sys_enable_remotery
    - fflush
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_close() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemPowerStatusEx
      Src: /src/gpac/src/utils/os_divers.c:2474,1
    - Dst: GetSystemPowerStatus
      Src: /src/gpac/src/utils/os_divers.c:2482,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 15
    argCount: 5
    argNames:
    - onBattery
    - onCharge
    - level
    - batteryLifeTime
    - batteryFullLifeTime
    argTypes:
    - Bool*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2490
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2490
    functionName: gf_sys_get_battery_state
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - GetSystemPowerStatusEx
    - GetSystemPowerStatus
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_get_battery_state(Bool *onBattery, u32 *onCharge,
      u32*level, u32 *batteryLifeTime, u32 *batteryFullLifeTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gpac/src/utils/os_divers.c:389,1
    - Dst: GetTickCount
      Src: /src/gpac/src/utils/os_divers.c:392,1
    - Dst: srand
      Src: /src/gpac/src/utils/os_divers.c:392,1
    - Dst: time
      Src: /src/gpac/src/utils/os_divers.c:394,1
    - Dst: srand
      Src: /src/gpac/src/utils/os_divers.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - Reset
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: gf_rand_init
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - time
    - srand
    - GetTickCount
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rand_init(Bool Reset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:468,1
    - Dst: tolower
      Src: /src/gpac/src/utils/os_divers.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: my_str_lwr
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * my_str_lwr(char *str) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/utils/os_divers.c:2516,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:2520,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:2520,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_divers.c:2574,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_divers.c:2571,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:2520,1
    - Dst: open
      Src: /src/gpac/src/utils/os_divers.c:2536,1
    - Dst: ftruncate
      Src: /src/gpac/src/utils/os_divers.c:2565,1
    - Dst: getpid
      Src: /src/gpac/src/utils/os_divers.c:2572,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_divers.c:2581,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_divers.c:2520,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2521,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/os_divers.c:2540,1
    - Dst: sync
      Src: /src/gpac/src/utils/os_divers.c:2578,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/os_divers.c:2572,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:2522,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:2526,1
    - Dst: write
      Src: /src/gpac/src/utils/os_divers.c:2573,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/os_divers.c:2558,1
    - Dst: fcntl
      Src: /src/gpac/src/utils/os_divers.c:2548,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_divers.c:2580,1
    - Dst: close
      Src: /src/gpac/src/utils/os_divers.c:2588,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 1
    argNames:
    - resourceName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2590
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2590
    functionName: gf_create_PID_file
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - snprintf
    - strcat
    - ftruncate
    - getpid
    - gf_strdup
    - write
    - gf_get_default_cache_directory
    - fcntl
    - sync
    - open
    - strcpy
    - close
    - gf_free
    linkageType: ''
    returnType: GF_GlobalLock*
    signature: 'GF_GlobalLock * gf_create_PID_file( const char * resourceName ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timegm64
      Src: /src/gpac/src/utils/os_divers.c:2904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2908
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2908
    functionName: gf_mktime_utc
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - timegm64
    linkageType: ''
    returnType: time_t
    signature: 'static time_t gf_mktime_utc(struct tm *tm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_divers.c:3126,1
    - Dst: isalnum
      Src: /src/gpac/src/utils/os_divers.c:3134,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:3139,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_divers.c:3138,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:3127,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:3151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - string
    - value
    argTypes:
    - char*
    - bin128
    constantsTouched: []
    func_position:
      end: 3155
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3155
    functionName: gf_bin128_parse
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - isalnum
    - sscanf
    - sprintf
    - GF_LOG
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_bin128_parse(const char *string, bin128 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gf_gpac_abi_micro
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_gpac_abi_micro() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gpac/src/utils/os_divers.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: gf_sys_clock_high_res
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_sys_clock_high_res() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gpac/src/utils/os_divers.c:2831,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/utils/os_divers.c:2832,1
    - Dst: localtime
      Src: /src/gpac/src/utils/os_divers.c:2833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2838
    functionName: gf_net_get_timezone
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - time
    - gf_gmtime
    - localtime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_net_get_timezone() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gpac/src/utils/os_divers.c:2848,1
    - Dst: localtime
      Src: /src/gpac/src/utils/os_divers.c:2849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2852
    functionName: gf_net_time_is_dst
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - time
    - localtime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_net_time_is_dst() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - nv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: sh4_put_fpscr
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sh4_put_fpscr(int nv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rmt_Settings
      Src: /src/gpac/src/utils/os_divers.c:1212,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_divers.c:1216,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_divers.c:1215,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/os_divers.c:1214,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/os_divers.c:1217,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/os_divers.c:1218,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/os_divers.c:1219,1
    - Dst: rmt_CreateGlobalInstance
      Src: /src/gpac/src/utils/os_divers.c:1222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_divers.c:1224,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_divers.c:1229,1
    - Dst: gpac_rmt_input_handler
      Src: /src/gpac/src/utils/os_divers.c:1234,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/os_divers.c:1246,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_divers.c:1239,1
    - Dst: rmt_UnbindOpenGL
      Src: /src/gpac/src/utils/os_divers.c:1240,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/os_divers.c:1233,1
    - Dst: gf_log_set_callback
      Src: /src/gpac/src/utils/os_divers.c:1230,1
    - Dst: rmt_DestroyGlobalInstance
      Src: /src/gpac/src/utils/os_divers.c:1242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - start
    - is_shutdown
    argTypes:
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1252
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1252
    functionName: gf_sys_enable_remotery
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - rmt_CreateGlobalInstance
    - gf_sys_is_cov_mode
    - rmt_UnbindOpenGL
    - rmt_DestroyGlobalInstance
    - rmt_Settings
    - GF_LOG
    - gf_log_set_callback
    - gpac_rmt_input_handler
    - gf_opts_get_int
    - gf_opts_get_bool
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_sys_enable_remotery(Bool start, Bool is_shutdown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: gf_gpac_abi_minor
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_gpac_abi_minor() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/gpac/src/utils/os_divers.c:329,1
    - Dst: SystemTimeToFileTime
      Src: /src/gpac/src/utils/os_divers.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tp
    - tz
    argTypes:
    - struct timeval*
    - void*
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: __gettimeofday
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - SystemTimeToFileTime
    - GetSystemTime
    linkageType: ''
    returnType: s32
    signature: 's32 __gettimeofday(struct timeval *tp, void *tz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_divers.c:2432,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2440,1
    - Dst: GetTempPath
      Src: /src/gpac/src/utils/os_divers.c:2438,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2436,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2442,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2445,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_divers.c:2447,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_divers.c:2453,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_divers.c:2455,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_divers.c:2455,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_divers.c:2456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - do_create
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 2460
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2460
    functionName: gf_get_default_cache_directory_ex
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - strlen
    - GetTempPath
    - strcat
    - gf_mkdir
    - gf_dir_exists
    - strcpy
    - gf_opts_get_key
    linkageType: ''
    returnType: char*
    signature: 'const char * gf_get_default_cache_directory_ex(Bool do_create) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/utils/os_divers.c:2715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2720
    functionName: gf_net_get_ntp_ts
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_net_get_ntp_ts() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - udta
    - usr_cbk
    argTypes:
    - void*
    - gf_rmt_user_callback
    constantsTouched: []
    func_position:
      end: 1267
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1267
    functionName: gf_sys_profiler_set_callback
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sys_profiler_set_callback(void *udta, gf_rmt_user_callback
      usr_cbk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - echo_off
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: gf_prompt_set_echo_off
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_prompt_set_echo_off(Bool echo_off) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - blob
    - start_offset
    - size
    argTypes:
    - GF_Blob*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1407
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1407
    functionName: gf_blob_query_range
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_BlobRangeStatus gf_blob_query_range(GF_Blob *blob, u64
      start_offset, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_get_default_cache_directory_ex
      Src: /src/gpac/src/utils/os_divers.c:2465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: gf_get_default_cache_directory
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - gf_get_default_cache_directory_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_get_default_cache_directory() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_divers.c:1389,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/os_divers.c:1392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - blob_url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1395
    functionName: gf_blob_from_url
    functionSourceFile: /src/gpac/src/utils/os_divers.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_find
    linkageType: ''
    returnType: GF_Blob*
    signature: 'GF_Blob *gf_blob_from_url(const char *blob_url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - vec
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: gf_trig_prenorm
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 gf_trig_prenorm(GF_Point2D *vec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_Rect*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1076
    functionName: gf_rect_union
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rect_union(GF_Rect *rc1, GF_Rect *rc2) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2332,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2333,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2356,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2355,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2379,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2380,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2396,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2397,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 4
    argNames:
    - ray
    - box_min
    - box_max
    - outPoint
    argTypes:
    - GF_Ray*
    - GF_Vec
    - GF_Vec
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2400
    functionName: gf_ray_hit_box
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_scale
    - gf_divfix
    - gf_vec_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_ray_hit_box(GF_Ray *ray, GF_Vec box_min, GF_Vec
      box_max, GF_Vec *outPoint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_acos
      Src: /src/gpac/src/utils/math.c:2614,1
    - Dst: gf_quat_from_rotation
      Src: /src/gpac/src/utils/math.c:2615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - axis
    - cos_a
    argTypes:
    - GF_Vec
    - Fixed
    constantsTouched: []
    func_position:
      end: 2616
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2616
    functionName: gf_quat_from_axis_cos
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_acos
    - gf_quat_from_rotation
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_from_axis_cos(GF_Vec axis, Fixed cos_a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:332,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:333,1
    - Dst: gppSquare_16_32s
      Src: /src/gpac/src/utils/math.c:334,1
    - Dst: gppSquare_16_32s
      Src: /src/gpac/src/utils/math.c:335,1
    - Dst: gppSqrtHP_16_32s
      Src: /src/gpac/src/utils/math.c:337,1
    - Dst: gppSqrtLP_16_32s
      Src: /src/gpac/src/utils/math.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - vec
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: gf_v2d_len
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppSquare_16_32s
    - ABS
    - gppSqrtHP_16_32s
    - gppSqrtLP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_v2d_len(GF_Point2D *vec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - angle1
    - angle2
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 728
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 728
    functionName: gf_angle_diff
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_angle_diff(Fixed angle1, Fixed angle2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2409,1
    - Dst: gf_vec_rev
      Src: /src/gpac/src/utils/math.c:2412,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2416,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2415,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:2414,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2418,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2419,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2419,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:2423,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2424,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - ray
    - center
    - radius
    - outPoint
    argTypes:
    - GF_Ray*
    - GF_Vec*
    - Fixed
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2428
    functionName: gf_ray_hit_sphere
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_len
    - gf_vec_diff
    - gf_mulfix
    - gf_vec_scale
    - gf_sqrt
    - gf_vec_add
    - ABS
    - gf_vec_rev
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_ray_hit_sphere(GF_Ray *ray, GF_Vec *center, Fixed
      radius, GF_Vec *outPoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - quat
    argTypes:
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 2623
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2623
    functionName: gf_quat_conjugate
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_quat_conjugate(GF_Vec4 *quat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1352
    functionName: gf_vec_dot_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_dot_p(GF_Vec *v1, GF_Vec *v2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_prenorm
      Src: /src/gpac/src/utils/math.c:522,1
    - Dst: gf_trig_downscale
      Src: /src/gpac/src/utils/math.c:524,1
    - Dst: gf_trig_pseudo_rotate
      Src: /src/gpac/src/utils/math.c:523,1
    - Dst: GF_SIGN_LONG
      Src: /src/gpac/src/utils/math.c:530,1
    - Dst: gf_trig_downscale
      Src: /src/gpac/src/utils/math.c:525,1
    - Dst: GF_SIGN_LONG
      Src: /src/gpac/src/utils/math.c:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - vec
    - angle
    argTypes:
    - GF_Point2D*
    - Fixed
    constantsTouched: []
    func_position:
      end: 538
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 538
    functionName: gf_v2d_rotate
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - GF_SIGN_LONG
    - gf_trig_prenorm
    - gf_trig_pseudo_rotate
    - gf_trig_downscale
    linkageType: ''
    returnType: void
    signature: 'static void gf_v2d_rotate(GF_Point2D *vec, Fixed angle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_acos
      Src: /src/gpac/src/utils/math.c:2694,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2705,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2705,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2696,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2697,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2706,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2706,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2703,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2703,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2678,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:2695,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2696,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:2696,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2697,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2704,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2704,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:2697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 3
    argNames:
    - q1
    - q2
    - frac
    argTypes:
    - GF_Vec4
    - GF_Vec4
    - Fixed
    constantsTouched: []
    func_position:
      end: 2708
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2708
    functionName: gf_quat_slerp
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_acos
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_slerp(GF_Vec4 q1, GF_Vec4 q2, Fixed frac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2716,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:2719,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2717,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 2721
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2721
    functionName: gf_bbox_refresh
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_len
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bbox_refresh(GF_BBox *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_prenorm
      Src: /src/gpac/src/utils/math.c:555,1
    - Dst: gf_trig_downscale
      Src: /src/gpac/src/utils/math.c:557,1
    - Dst: gf_trig_pseudo_polarize
      Src: /src/gpac/src/utils/math.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - vec
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: gf_v2d_len
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_trig_prenorm
    - gf_trig_pseudo_polarize
    - gf_trig_downscale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_v2d_len(GF_Point2D *vec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot_p
      Src: /src/gpac/src/utils/math.c:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1356
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1356
    functionName: gf_vec_dot
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_dot(GF_Vec v1, GF_Vec v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/utils/math.c:2732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - box
    - rc
    argTypes:
    - GF_BBox*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 2733
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2733
    functionName: gf_bbox_from_rect
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_bbox_refresh
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bbox_from_rect(GF_BBox *box, GF_Rect *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_quat_get_inv
      Src: /src/gpac/src/utils/math.c:2655,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/utils/math.c:2656,1
    - Dst: gf_quat_multiply
      Src: /src/gpac/src/utils/math.c:2657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - quat
    - vec
    argTypes:
    - GF_Vec4*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2662
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2662
    functionName: gf_quat_rotate
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_quat_multiply
    - gf_quat_get_inv
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_quat_rotate(GF_Vec4 *quat, GF_Vec *vec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gppMul_16_32s
      Src: /src/gpac/src/utils/math.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: gf_mulfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppMul_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_mulfix(Fixed a, Fixed b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1459,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1462,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1463,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1463,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1462,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1457,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1455,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1454,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1455,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1454,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1458,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1459,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1452,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1461,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1465,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1461,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1465,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:1466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - mat
    - mat2D
    argTypes:
    - GF_Matrix*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1467
    functionName: gf_mx_add_matrix_2d
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_mulfix
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_matrix_2d(GF_Matrix *mat, GF_Matrix2D *mat2D) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_PAD_ROUND
      Src: /src/gpac/src/utils/math.c:202,1
    - Dst: ANGLE_DEG_TO_RAD
      Src: /src/gpac/src/utils/math.c:207,1
    - Dst: GF_PAD_ROUND
      Src: /src/gpac/src/utils/math.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 1
    argNames:
    - vec
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 208
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 208
    functionName: gf_trig_pseudo_polarize
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - GF_PAD_ROUND
    - ANGLE_DEG_TO_RAD
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_trig_pseudo_polarize(GF_Point2D *vec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gppSqrtHP_16_32s
      Src: /src/gpac/src/utils/math.c:268,1
    - Dst: gppSqrtLP_16_32s
      Src: /src/gpac/src/utils/math.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: gf_sqrt
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppSqrtHP_16_32s
    - gppSqrtLP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_sqrt(Fixed x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1480,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1480,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - mat
    - tx
    - ty
    - tz
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1484
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1484
    functionName: gf_mx_add_translation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_translation(GF_Matrix *mat, Fixed tx, Fixed
      ty, Fixed tz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_Plane*
    constantsTouched: []
    func_position:
      end: 2829
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2829
    functionName: gf_plane_get_p_vertex_idx
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_plane_get_p_vertex_idx(GF_Plane *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:741,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:744,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:745,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:743,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:742,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:746,1
    - Dst: exit
      Src: /src/gpac/src/utils/math.c:748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - _this
    argTypes:
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 750
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 750
    functionName: do_check_mx
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - ABS
    - exit
    linkageType: ''
    returnType: void
    signature: 'void do_check_mx(GF_Matrix2D *_this) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_acos
      Src: /src/gpac/src/utils/math.c:2561,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2571,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2569,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:2568,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2570,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - quat
    argTypes:
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 2579
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2579
    functionName: gf_quat_to_rotation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_acos
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_to_rotation(GF_Vec4 *quat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bbox_grow_point
      Src: /src/gpac/src/utils/math.c:2762,1
    - Dst: gf_bbox_grow_point
      Src: /src/gpac/src/utils/math.c:2763,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/utils/math.c:2764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - GF_BBox*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 2767
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2767
    functionName: gf_bbox_union
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_bbox_grow_point
    - gf_bbox_refresh
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bbox_union(GF_BBox *b1, GF_BBox *b2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:2586,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:2595,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2586,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2586,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2586,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:2596,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:2597,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:2598,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:2599,1
    - Dst: gf_quat_norm
      Src: /src/gpac/src/utils/math.c:2600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - rot
    argTypes:
    - GF_Vec4
    constantsTouched: []
    func_position:
      end: 2603
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2603
    functionName: gf_quat_from_rotation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_quat_norm
    - gf_muldiv
    - gf_mulfix
    - gf_cos
    - gf_sqrt
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_from_rotation(GF_Vec4 rot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_equal
      Src: /src/gpac/src/utils/math.c:2772,1
    - Dst: gf_vec_equal
      Src: /src/gpac/src/utils/math.c:2772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - GF_BBox*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 2773
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2773
    functionName: gf_bbox_equal
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_equal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_bbox_equal(GF_BBox *b1, GF_BBox *b2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:821,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:825,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/utils/math.c:823,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:829,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:827,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/utils/math.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - _this
    - cx
    - cy
    - angle
    argTypes:
    - GF_Matrix2D*
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 833
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 833
    functionName: gf_mx2d_add_rotation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_cos
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_rotation(GF_Matrix2D *_this, Fixed cx,
      Fixed cy, Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - mat
    - sx
    - sy
    - sz
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1501
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1501
    functionName: gf_mx_add_scale
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_scale(GF_Matrix *mat, Fixed sx, Fixed sy,
      Fixed sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:840,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - _this
    - scale_x
    - scale_y
    argTypes:
    - GF_Matrix2D*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 846
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 846
    functionName: gf_mx2d_add_scale
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_scale(GF_Matrix2D *_this, Fixed scale_x,
      Fixed scale_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/utils/math.c:1025,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1029,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/utils/math.c:1027,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/utils/math.c:1026,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/utils/math.c:1028,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1029,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1029,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1030,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1030,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1030,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1031,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1032,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1031,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1032,1
    - Dst: MAX
      Src: /src/gpac/src/utils/math.c:1032,1
    - Dst: MIN
      Src: /src/gpac/src/utils/math.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - _this
    - rc
    argTypes:
    - GF_Matrix2D*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1036
    functionName: gf_mx2d_apply_rect
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - MAX
    - MIN
    - gf_mx2d_apply_point
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_apply_rect(GF_Matrix2D *_this, GF_Rect *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_cross_p
      Src: /src/gpac/src/utils/math.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: gf_vec_cross
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_cross(GF_Vec v1, GF_Vec v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_cross_p
      Src: /src/gpac/src/utils/math.c:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1403
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1403
    functionName: gf_vec_cross
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_cross(GF_Vec v1, GF_Vec v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:1508,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:1509,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1508,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:1510,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1514,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1518,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1520,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1522,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1531,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1533,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1534,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1508,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1515,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1524,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1525,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1526,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1527,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1529,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1508,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1519,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1521,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1523,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1531,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1533,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1534,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1535,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/utils/math.c:1537,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1516,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1526,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1527,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1529,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 5
    argNames:
    - mat
    - angle
    - x
    - y
    - z
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1538
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1538
    functionName: gf_mx_add_rotation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - gf_sqrt
    - gf_mx_add_matrix
    - gf_mx_init
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_rotation(GF_Matrix *mat, Fixed angle, Fixed
      x, Fixed y, Fixed z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_Rect*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: gf_rect_equal
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_rect_equal(GF_Rect *rc1, GF_Rect *rc2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:1907,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/utils/math.c:1915,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - mx
    - box
    argTypes:
    - GF_Matrix*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 1916
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1916
    functionName: gf_mx_apply_bbox
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_bbox_refresh
    - gf_mx_apply_vec
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_bbox(GF_Matrix *mx, GF_BBox *box) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2261,1
    - Dst: gf_vec_lensq
      Src: /src/gpac/src/utils/math.c:2262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - plane
    - with
    argTypes:
    - GF_Plane*
    - GF_Plane*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2263
    functionName: gf_plane_exists_intersection
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_lensq
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_plane_exists_intersection(GF_Plane *plane, GF_Plane *with) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rect_overlaps
      Src: /src/gpac/src/utils/math.c:1114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_Rect*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1132
    functionName: gf_rect_intersect
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_rect_overlaps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rect_intersect(GF_Rect *rc1, GF_Rect *rc2) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/utils/math.c:1947,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1950,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1951,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1952,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1949,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/utils/math.c:1961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 2
    argNames:
    - mx
    - box
    argTypes:
    - GF_Matrix*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1962
    functionName: gf_mx_apply_bbox_4x4
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_bbox_refresh
    - gf_divfix
    - gf_mx_apply_vec_4x4
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_bbox_4x4(GF_Matrix *mx, GF_BBox *box) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:2267,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:2269,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2268,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2270,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2270,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2271,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2274,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2274,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2274,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2275,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2278,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2277,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2276,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2275,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2275,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - plane
    - with
    - linepoint
    - linevec
    argTypes:
    - GF_Plane*
    - GF_Plane*
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2283
    functionName: gf_plane_intersect_plane
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_len
    - gf_mulfix
    - gf_vec_dot
    - gf_vec_scale
    - gf_vec_add
    - ABS
    - gf_divfix
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_plane_intersect_plane(GF_Plane *plane, GF_Plane *with, GF_Vec
      *linepoint, GF_Vec *linevec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:388,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 403
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 403
    functionName: gf_mulfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - ABS
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_mulfix(Fixed a, Fixed b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:853,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/utils/math.c:860,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:859,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/utils/math.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - _this
    - scale_x
    - scale_y
    - cx
    - cy
    - angle
    argTypes:
    - GF_Matrix2D*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 863
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 863
    functionName: gf_mx2d_add_scale_at
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    - gf_mx2d_add_rotation
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_scale_at(GF_Matrix2D *_this, Fixed scale_x,
      Fixed scale_y, Fixed cx, Fixed cy, Fixed angle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:883,1
    - Dst: gf_tan
      Src: /src/gpac/src/utils/math.c:884,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - _this
    - angle
    argTypes:
    - GF_Matrix2D*
    - Fixed
    constantsTouched: []
    func_position:
      end: 889
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 889
    functionName: gf_mx2d_add_skew_x
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_tan
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_skew_x(GF_Matrix2D *_this, Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - rc
    - box
    argTypes:
    - GF_Rect*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2742
    functionName: gf_rect_from_bbox
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_rect_from_bbox(GF_Rect *rc, GF_BBox *box) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - x
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 430
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 430
    functionName: gf_sqrt
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_sqrt(Fixed x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:870,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - _this
    - skew_x
    - skew_y
    argTypes:
    - GF_Matrix2D*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: gf_mx2d_add_skew
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_skew(GF_Matrix2D *_this, Fixed skew_x,
      Fixed skew_y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:896,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:899,1
    - Dst: gf_tan
      Src: /src/gpac/src/utils/math.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - _this
    - angle
    argTypes:
    - GF_Matrix2D*
    - Fixed
    constantsTouched: []
    func_position:
      end: 902
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 902
    functionName: gf_mx2d_add_skew_y
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_tan
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_skew_y(GF_Matrix2D *_this, Fixed angle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:919,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:921,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:927,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:933,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:933,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:941,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:946,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:946,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:919,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:919,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:942,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:946,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:919,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:942,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:944,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:942,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/utils/math.c:915,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:931,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:935,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:942,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:945,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:940,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:946,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/math.c:959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 1
    argNames:
    - _this
    argTypes:
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 962
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 962
    functionName: gf_mx2d_inverse
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - gf_mulfix
    - gf_mx2d_init
    - FLT2FIX
    - gf_divfix
    - gf_mx2d_copy
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_inverse(GF_Matrix2D *_this) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:1410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mat2D
    - mat
    argTypes:
    - GF_Matrix2D*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1417
    functionName: gf_mx2d_from_mx
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_from_mx(GF_Matrix2D *mat2D, GF_Matrix *mat) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - box
    - pt
    argTypes:
    - GF_BBox*
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 2753
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2753
    functionName: gf_bbox_grow_point
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bbox_grow_point(GF_BBox *box, GF_Vec pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2864
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2864
    functionName: gf_get_next_pow2
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_get_next_pow2(u32 s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - bmin
    - bmax
    - vecs
    argTypes:
    - GF_Vec
    - GF_Vec
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2794
    functionName: gf_bbox_get_vertices
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_bbox_get_vertices(GF_Vec bmin, GF_Vec bmax, GF_Vec
      *vecs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gppVec3DLengthSq_16_32s
      Src: /src/gpac/src/utils/math.c:1185,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1188,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1192,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1197,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1197,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1197,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1199,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1199,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1202
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1202
    functionName: gf_vec_lensq_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppVec3DLengthSq_16_32s
    - gf_mulfix
    - FLT2FIX
    - VEC_HIGH_MAG
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_lensq_p(GF_Vec *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:1335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1336
    functionName: gf_vec_len_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_sqrt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_len_p(GF_Vec *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1798,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:1817,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1818,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1819,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:1830,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1831,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1832,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1824,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1833,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1838,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/math.c:1790,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:1815,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:1823,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:1835,1
    - Dst: gf_quat_from_matrix
      Src: /src/gpac/src/utils/math.c:1851,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1820,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1828,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1829,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1827,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:1826,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1837,1
    - Dst: gf_quat_to_rotation
      Src: /src/gpac/src/utils/math.c:1852,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:1816,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:1792,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:1822,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:1836,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:1850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 88
    argCount: 5
    argNames:
    - mx
    - translate
    - scale
    - rotate
    - shear
    argTypes:
    - GF_Matrix*
    - GF_Vec*
    - GF_Vec*
    - GF_Vec4*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1853
    functionName: gf_mx_decompose
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_quat_to_rotation
    - gf_vec_len
    - gf_vec_dot
    - gf_mulfix
    - gf_quat_from_matrix
    - gf_vec_norm
    - memcpy
    - gf_divfix
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_decompose(GF_Matrix *mx, GF_Vec *translate, GF_Vec
      *scale, GF_Vec4 *rotate, GF_Vec *shear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - box
    - p
    argTypes:
    - GF_BBox*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2781
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2781
    functionName: gf_bbox_point_inside
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_bbox_point_inside(GF_BBox *box, GF_Vec *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_lensq_p
      Src: /src/gpac/src/utils/math.c:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1209
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1209
    functionName: gf_vec_lensq
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_lensq_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_lensq(GF_Vec v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len_p
      Src: /src/gpac/src/utils/math.c:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1340
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1340
    functionName: gf_vec_len
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_len_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_len(GF_Vec v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:1859,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:1860,1
    - Dst: gf_bbox_refresh
      Src: /src/gpac/src/utils/math.c:1880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - mx
    - box
    argTypes:
    - GF_Matrix*
    - GF_BBox*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1881
    functionName: gf_mx_apply_bbox_sphere
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_bbox_refresh
    - gf_mx_apply_vec
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_bbox_sphere(GF_Matrix *mx, GF_BBox *box) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: gf_rect_center
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Rect gf_rect_center(Fixed w, Fixed h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:659,1
    - Dst: acos
      Src: /src/gpac/src/utils/math.c:659,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: gf_acos
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - FLT2FIX
    - acos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_acos(Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/gpac/src/utils/math.c:677,1
    - Dst: sin
      Src: /src/gpac/src/utils/math.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - length
    - angle
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: gf_v2d_from_polar
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - sin
    - cos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Point2D gf_v2d_from_polar(Fixed length, Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1276,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1278,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - GF_Vec
    - Fixed
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: gf_vec_scale
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_scale(GF_Vec v, Fixed f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - GF_Vec
    - Fixed
    constantsTouched: []
    func_position:
      end: 1387
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1387
    functionName: gf_vec_scale
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_scale(GF_Vec v, Fixed f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/math.c:1582,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1592,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1591,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1591,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1607,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1611,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1612,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1621,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1623,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1629,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1648,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1627,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1629,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1647,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1646,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1628,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1580,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1587,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1587,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1590,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1590,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1591,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:1595,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1611,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1612,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1621,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1648,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1624,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1626,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1627,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1626,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1647,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1587,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1589,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1590,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1589,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1605,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1608,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1609,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1610,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1622,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1623,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1646,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1647,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1622,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/utils/math.c:1649,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1588,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1589,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1592,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1592,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1601,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1607,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1608,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1609,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1610,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1624,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1625,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1648,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1646,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1614,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1628,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 158
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1650
    functionName: gf_mx_inverse
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - gf_mulfix
    - gf_mx2d_init
    - FLT2FIX
    - gf_mx_init
    - gf_mx_copy
    - gf_assert
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_inverse(GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1676,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1676,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1677,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1676,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1677,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1677,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1678,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - mx
    - pt
    argTypes:
    - GF_Matrix*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1680
    functionName: gf_mx_apply_vec
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_vec(GF_Matrix *mx, GF_Vec *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:2009,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2010,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2013,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2016,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2019,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2022,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2018,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2023,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2025,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2025,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2021,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2022,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2015,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2024,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2016,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2022,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:2026,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2019,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2010,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2011,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2011,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2012,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2013,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2014,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2014,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2012,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2014,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2015,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2017,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2017,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2020,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2024,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2025,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2024,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2011,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2012,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2014,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2015,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2017,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2018,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2020,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2021,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2021,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2023,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2019,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2020,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2023,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2010,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2010,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2011,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2012,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2013,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2013,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2015,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2016,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2016,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2018,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2025,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2019,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2021,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2023,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2022,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2020,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2017,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2018,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 132
    argCount: 2
    argNames:
    - mat
    - mul
    argTypes:
    - GF_Matrix*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2027
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2027
    functionName: gf_mx_add_matrix_4x4
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_mulfix
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_matrix_4x4(GF_Matrix *mat, GF_Matrix *mul) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:685,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:686,1
    - Dst: sqrt
      Src: /src/gpac/src/utils/math.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vec
    argTypes:
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: gf_v2d_len
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - ABS
    - sqrt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_v2d_len(GF_Point2D *vec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1292,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1293,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1309,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1309,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1310,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1310,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1292,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1292,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1294,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1300,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1300,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1318,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1318,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1292,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1293,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1294,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1294,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1294,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1311,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1311,1
    - Dst: gppVec3DCross_16_32s
      Src: /src/gpac/src/utils/math.c:1289,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1292,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1293,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1293,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1294,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1293,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1317,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1317,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1319,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1323
    functionName: gf_vec_cross_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gppVec3DCross_16_32s
    - FLT2FIX
    - VEC_HIGH_MAG
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_cross_p(GF_Vec *v1, GF_Vec *v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1397
    functionName: gf_vec_cross_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_cross_p(GF_Vec *v1, GF_Vec *v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1658,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/utils/math.c:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1667
    functionName: gf_mx_transpose
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_mx_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_transpose(GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1685,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1686,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1689,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1687,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1688,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1690,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 7
    argNames:
    - mx
    - left
    - right
    - bottom
    - top
    - z_near
    - z_far
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1693
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1693
    functionName: gf_mx_ortho
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_ortho(GF_Matrix *mx, Fixed left, Fixed right,
      Fixed bottom, Fixed top, Fixed z_near, Fixed z_far) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2035,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2034,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2035,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2035,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2035,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2036,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2036,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2036,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2036,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2037,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - mx
    - vec
    argTypes:
    - GF_Matrix*
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 2039
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2039
    functionName: gf_mx_apply_vec_4x4
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_vec_4x4(GF_Matrix *mx, GF_Vec4 *vec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_IRect*
    - GF_IRect*
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: gf_irect_union
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_irect_union(GF_IRect *rc1, GF_IRect *rc2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: gf_floor
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_floor(Fixed a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:666,1
    - Dst: asin
      Src: /src/gpac/src/utils/math.c:666,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: gf_asin
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - asin
    - FIX2FLT
    - FLT2FIX
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_asin(Fixed angle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - MaxVal
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: gf_get_bit_size
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_get_bit_size(u32 MaxVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gppSinCosHP_16_32s
      Src: /src/gpac/src/utils/math.c:305,1
    - Dst: gppSinCosLP_16_32s
      Src: /src/gpac/src/utils/math.c:307,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: gf_tan
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - gppSinCosLP_16_32s
    - gppSinCosHP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_tan(Fixed angle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_prenorm
      Src: /src/gpac/src/utils/math.c:574,1
    - Dst: gf_trig_downscale
      Src: /src/gpac/src/utils/math.c:576,1
    - Dst: gf_trig_pseudo_polarize
      Src: /src/gpac/src/utils/math.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - vec
    - length
    - angle
    argTypes:
    - GF_Point2D*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 579
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 579
    functionName: gf_v2d_polarize
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_trig_prenorm
    - gf_trig_pseudo_polarize
    - gf_trig_downscale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_v2d_polarize(GF_Point2D *vec, Fixed *length, Fixed
      *angle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 639
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 639
    functionName: gf_muldiv
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_muldiv(Fixed a, Fixed b, Fixed c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1367
    functionName: gf_vec_norm
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_len
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_vec_norm(GF_Vec *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1725,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:1725,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1726,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:1725,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1727,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1731,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 5
    argNames:
    - mx
    - fieldOfView
    - aspectRatio
    - z_near
    - z_far
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1741
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1741
    functionName: gf_mx_perspective_reverse_z
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - gf_cos
    - gf_mx_init
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_perspective_reverse_z(GF_Matrix *mx, Fixed fieldOfView,
      Fixed aspectRatio, Fixed z_near, Fixed z_far) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2309,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2312,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:2310,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:2313,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:2311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - mx
    - r
    argTypes:
    - GF_Matrix*
    - GF_Ray*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2314
    functionName: gf_mx_apply_ray
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_vec_norm
    - gf_vec_diff
    - gf_vec_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_ray(GF_Matrix *mx, GF_Ray *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2802,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2806,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2803,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:2805,1
    - Dst: gf_mx_apply_vec
      Src: /src/gpac/src/utils/math.c:2804,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:2807,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mx
    - plane
    argTypes:
    - GF_Matrix*
    - GF_Plane*
    constantsTouched: []
    func_position:
      end: 2809
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2809
    functionName: gf_mx_apply_plane
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_apply_vec
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    - gf_vec_norm
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_plane(GF_Matrix *mx, GF_Plane *plane) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gppSinCosHP_16_32s
      Src: /src/gpac/src/utils/math.c:319,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:324,1
    - Dst: gppSinCosLP_16_32s
      Src: /src/gpac/src/utils/math.c:321,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - length
    - angle
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: gf_v2d_from_polar
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gppSinCosLP_16_32s
    - gppSinCosHP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Point2D gf_v2d_from_polar(Fixed length, Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_v2d_rotate
      Src: /src/gpac/src/utils/math.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - length
    - angle
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 589
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 589
    functionName: gf_v2d_from_polar
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_v2d_rotate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Point2D gf_v2d_from_polar(Fixed length, Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: gf_ceil
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_ceil(Fixed a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_v2d_len
      Src: /src/gpac/src/utils/math.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GF_Point2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: gf_v2d_distance
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_v2d_len
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_v2d_distance(GF_Point2D *a, GF_Point2D *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:973,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:978,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:979,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:978,1
    - Dst: gf_atan2
      Src: /src/gpac/src/utils/math.c:984,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:989,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:990,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:991,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - mx
    - scale
    - rotate
    - translate
    argTypes:
    - GF_Matrix2D*
    - GF_Point2D*
    - Fixed*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: gf_mx2d_decompose
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_cos
    - ABS
    - memcpy
    - gf_divfix
    - gf_atan2
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mx2d_decompose(GF_Matrix2D *mx, GF_Point2D *scale,
      Fixed *rotate, GF_Point2D *translate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - GF_Vec*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1377
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1377
    functionName: gf_vec_scale_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_scale_p(GF_Vec *v, Fixed f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:1747,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:1749,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:1748,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:1752,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:1751,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1753,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/utils/math.c:1765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - mx
    - eye
    - center
    - upVector
    argTypes:
    - GF_Matrix*
    - GF_Vec
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1766
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1766
    functionName: gf_mx_lookat
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_diff
    - gf_mx_init
    - gf_vec_norm
    - gf_mx_add_translation
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_lookat(GF_Matrix *mx, GF_Vec eye, GF_Vec center,
      GF_Vec upVector) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_plane_intersect_plane
      Src: /src/gpac/src/utils/math.c:2288,1
    - Dst: gf_plane_intersect_line
      Src: /src/gpac/src/utils/math.c:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - plane
    - p1
    - p2
    - outPoint
    argTypes:
    - GF_Plane*
    - GF_Plane*
    - GF_Plane*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2291
    functionName: gf_plane_intersect_planes
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_plane_intersect_line
    - gf_plane_intersect_plane
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_plane_intersect_planes(GF_Plane *plane, GF_Plane *p1, GF_Plane
      *p2, GF_Vec *outPoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - plane
    - p
    argTypes:
    - GF_Plane*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2815
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2815
    functionName: gf_plane_get_distance
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_plane_get_distance(GF_Plane *plane, GF_Vec *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2850,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - box
    - p
    argTypes:
    - GF_BBox*
    - GF_Plane*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2853
    functionName: gf_bbox_plane_relation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_bbox_plane_relation(GF_BBox *box, GF_Plane *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_prenorm
      Src: /src/gpac/src/utils/math.c:217,1
    - Dst: gf_trig_pseudo_polarize
      Src: /src/gpac/src/utils/math.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dy
    - dx
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: gf_atan2
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_trig_prenorm
    - gf_trig_pseudo_polarize
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_atan2(Fixed dy, Fixed dx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1971,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1971,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1972,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1971,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1972,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1972,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1973,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1973,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1973,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1974,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1977,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1978,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1974,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1974,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - mx
    - pt
    argTypes:
    - GF_Matrix*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1980
    functionName: gf_mx_rotate_vector
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_rotate_vector(GF_Matrix *mx, GF_Vec *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_quat_conjugate
      Src: /src/gpac/src/utils/math.c:2629,1
    - Dst: gf_quat_norm
      Src: /src/gpac/src/utils/math.c:2630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - quat
    argTypes:
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2632
    functionName: gf_quat_get_inv
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_quat_norm
    - gf_quat_conjugate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_get_inv(GF_Vec4 *quat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - mx
    - x
    - y
    - z
    argTypes:
    - GF_Matrix*
    - GF_Vec
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 2001
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 2001
    functionName: gf_mx_rotation_matrix_from_vectors
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_rotation_matrix_from_vectors(GF_Matrix *mx, GF_Vec
      x, GF_Vec y, GF_Vec z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2639,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2640,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2641,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2641,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2642,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2641,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2642,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2642,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2642,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - q1
    - q2
    argTypes:
    - GF_Vec4*
    - GF_Vec4*
    constantsTouched: []
    func_position:
      end: 2644
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2644
    functionName: gf_quat_multiply
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_multiply(GF_Vec4 *q1, GF_Vec4 *q2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/utils/math.c:785,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/math.c:787,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/utils/math.c:786,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:791,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/math.c:790,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:791,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:792,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:792,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:793,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:793,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:794,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:795,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:796,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:794,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:796,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - _this
    - with
    argTypes:
    - GF_Matrix2D*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 799
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 799
    functionName: gf_mx2d_pre_multiply
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - gf_mulfix
    - gf_mx2d_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_pre_multiply(GF_Matrix2D *_this, GF_Matrix2D
      *with) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gppVec3DNormalize_16_32s
      Src: /src/gpac/src/utils/math.c:1253,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1256,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1258,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1257,1
    - Dst: gf_vec_len
      Src: /src/gpac/src/utils/math.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1260
    functionName: gf_vec_norm
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_len
    - gf_divfix
    - gppVec3DNormalize_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_vec_norm(GF_Vec *v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2478,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2486,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2481,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2483,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2479,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2488,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2491,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2493,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2496,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - ray
    - v0
    - v1
    - v2
    - dist
    argTypes:
    - GF_Ray*
    - GF_Vec*
    - GF_Vec*
    - GF_Vec*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2498
    functionName: gf_ray_hit_triangle_backcull
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_cross
    - gf_divfix
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_ray_hit_triangle_backcull(GF_Ray *ray, GF_Vec *v0, GF_Vec
      *v1, GF_Vec *v2, Fixed *dist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_pseudo_rotate
      Src: /src/gpac/src/utils/math.c:611,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: gf_tan
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_divfix
    - gf_trig_pseudo_rotate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_tan(Fixed angle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/utils/math.c:762,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/math.c:767,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/utils/math.c:764,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/utils/math.c:763,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:768,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:768,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:769,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:769,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:770,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:770,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:773,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:772,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:771,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:772,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:773,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - _this
    - from
    argTypes:
    - GF_Matrix2D*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 776
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 776
    functionName: gf_mx2d_add_matrix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - gf_mulfix
    - gf_mx2d_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_matrix(GF_Matrix2D *_this, GF_Matrix2D
      *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/utils/math.c:807,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/utils/math.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - _this
    - cx
    - cy
    argTypes:
    - GF_Matrix2D*
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 813
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 813
    functionName: gf_mx2d_add_translation
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_matrix
    - gf_mx2d_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_add_translation(GF_Matrix2D *_this, Fixed cx,
      Fixed cy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1266,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1268,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - GF_Vec*
    - Fixed
    constantsTouched: []
    func_position:
      end: 1270
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1270
    functionName: gf_vec_scale_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_vec_scale_p(GF_Vec *v, Fixed f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gppCosHP_16_32s
      Src: /src/gpac/src/utils/math.c:280,1
    - Dst: gppCosLP_16_32s
      Src: /src/gpac/src/utils/math.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: gf_cos
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppCosHP_16_32s
    - gppCosLP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_cos(Fixed angle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: gf_invfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_invfix(Fixed a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gppVec3DLength_16_32s
      Src: /src/gpac/src/utils/math.c:1153,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: sqrt
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1156,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1160,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:1165,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1165,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:1168,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1168,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1165,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1168,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1168,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1170
    functionName: gf_vec_len_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - FLT2FIX
    - sqrt
    - gf_sqrt
    - gppVec3DLength_16_32s
    - VEC_HIGH_MAG
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_len_p(GF_Vec *v) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2085,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2087,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2097,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2151,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2187,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2189,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2206,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2215,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2173,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2150,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2186,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2193,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2210,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2218,1
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2086,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2087,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2105,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2132,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2180,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2137,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2197,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2204,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2205,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2165,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2178,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2170,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2101,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2142,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2203,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2091,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2096,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2189,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2181,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2198,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2206,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2214,1
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2179,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2191,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2186,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2085,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2086,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2116,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2122,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2128,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2171,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2174,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2216,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2156,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2104,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2217,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2140,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2155,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2086,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2100,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2093,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2203,1
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2165,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2196,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/utils/math.c:2236,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2211,1
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2087,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2115,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2121,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2127,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2141,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2205,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2103,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2169,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2161,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2217,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2138,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2188,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2085,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2099,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2110,1
    - Dst: SWAP_ROWS
      Src: /src/gpac/src/utils/math.c:2132,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2185,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2160,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2194,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2202,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2108,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2114,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2132,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2187,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2146,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2215,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2165,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2092,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2139,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2145,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2218,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2182,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2095,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2120,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2126,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2133,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2199,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2204,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2208,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2172,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2109,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2188,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2192,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2209,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2216,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 290
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2240
    functionName: gf_mx_inverse_4x4
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_invfix
    - ABS
    - gf_divfix
    - SWAP_ROWS
    - gf_mx_copy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mx_inverse_4x4(GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2506,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2507,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2509,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - line_pt
    - line_vec
    - pt
    argTypes:
    - GF_Vec
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 2511
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2511
    functionName: gf_closest_point_to_line
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_diff
    - gf_vec_add
    - gf_vec_scale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec gf_closest_point_to_line(GF_Vec line_pt, GF_Vec line_vec,
      GF_Vec pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gppSinHP_16_32s
      Src: /src/gpac/src/utils/math.c:292,1
    - Dst: gppSinLP_16_32s
      Src: /src/gpac/src/utils/math.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: gf_sin
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppSinHP_16_32s
    - gppSinLP_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_sin(Fixed angle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: gf_divfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_divfix(Fixed a, Fixed b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - rc1
    - rc2
    argTypes:
    - GF_Rect
    - GF_Rect
    constantsTouched: []
    func_position:
      end: 1101
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1101
    functionName: gf_rect_overlaps
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_rect_overlaps(GF_Rect rc1, GF_Rect rc2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_len_p
      Src: /src/gpac/src/utils/math.c:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1177
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1177
    functionName: gf_vec_len
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_len_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_len(GF_Vec v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2248,1
    - Dst: gf_vec_add
      Src: /src/gpac/src/utils/math.c:2253,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2250,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2250,1
    - Dst: gf_vec_scale
      Src: /src/gpac/src/utils/math.c:2252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - plane
    - linepoint
    - linevec
    - outPoint
    argTypes:
    - GF_Plane*
    - GF_Vec*
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 2255
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2255
    functionName: gf_plane_intersect_line
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot
    - gf_vec_scale
    - gf_divfix
    - gf_vec_add
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_plane_intersect_line(GF_Plane *plane, GF_Vec *linepoint,
      GF_Vec *linevec, GF_Vec *outPoint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:2522,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2524,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2526,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2525,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2527,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:2541,1
    - Dst: gf_invfix
      Src: /src/gpac/src/utils/math.c:2544,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2546,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2547,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:2548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 78
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 2555
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2555
    functionName: gf_quat_from_matrix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - gf_invfix
    - gf_sqrt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Vec4 gf_quat_from_matrix(GF_Matrix *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - val
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: gf_trig_downscale
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed gf_trig_downscale(Fixed val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_trig_pseudo_rotate
      Src: /src/gpac/src/utils/math.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: gf_cos
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_trig_pseudo_rotate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_cos(Fixed angle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2442,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2447,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2443,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2445,1
    - Dst: ABS
      Src: /src/gpac/src/utils/math.c:2448,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2450,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2452,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2452,1
    - Dst: gf_vec_cross
      Src: /src/gpac/src/utils/math.c:2455,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2457,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2457,1
    - Dst: gf_vec_dot
      Src: /src/gpac/src/utils/math.c:2468,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:2468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - ray
    - v0
    - v1
    - v2
    - dist
    argTypes:
    - GF_Ray*
    - GF_Vec*
    - GF_Vec*
    - GF_Vec*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 2470
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2470
    functionName: gf_ray_hit_triangle
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_cross
    - gf_vec_dot
    - gf_vec_diff
    - ABS
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_ray_hit_triangle(GF_Ray *ray, GF_Vec *v0, GF_Vec
      *v1, GF_Vec *v2, Fixed *dist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANGLE_RAD_TO_DEG
      Src: /src/gpac/src/utils/math.c:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 2
    argNames:
    - vec
    - theta
    argTypes:
    - GF_Point2D*
    - Fixed
    constantsTouched: []
    func_position:
      end: 505
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 505
    functionName: gf_trig_pseudo_rotate
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - ANGLE_RAD_TO_DEG
    linkageType: ''
    returnType: void
    signature: 'static void gf_trig_pseudo_rotate(GF_Point2D* vec, Fixed theta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: gf_sin
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_cos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_sin(Fixed angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/math.c:1774,1
    - Dst: gf_sqrt
      Src: /src/gpac/src/utils/math.c:1777,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:1775,1
    - Dst: atan
      Src: /src/gpac/src/utils/math.c:1776,1
    - Dst: atan
      Src: /src/gpac/src/utils/math.c:1777,1
    - Dst: pow
      Src: /src/gpac/src/utils/math.c:1777,1
    - Dst: pow
      Src: /src/gpac/src/utils/math.c:1777,1
    - Dst: atan
      Src: /src/gpac/src/utils/math.c:1778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - mx
    - yaw
    - pitch
    - roll
    argTypes:
    - GF_Matrix*
    - Fixed*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1779
    functionName: gf_mx_get_yaw_pitch_roll
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - pow
    - gf_sqrt
    - memcpy
    - gf_assert
    - atan
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_get_yaw_pitch_roll(GF_Matrix *mx, Fixed *yaw,
      Fixed *pitch, Fixed *roll) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/math.c:1048,1
    - Dst: gf_ceil
      Src: /src/gpac/src/utils/math.c:1049,1
    - Dst: gf_floor
      Src: /src/gpac/src/utils/math.c:1048,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/math.c:1050,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/math.c:1049,1
    - Dst: gf_ceil
      Src: /src/gpac/src/utils/math.c:1050,1
    - Dst: FIX2INT
      Src: /src/gpac/src/utils/math.c:1051,1
    - Dst: gf_floor
      Src: /src/gpac/src/utils/math.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: gf_rect_pixelize
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_floor
    - gf_ceil
    - FIX2INT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_IRect gf_rect_pixelize(GF_Rect *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1344
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1344
    functionName: gf_vec_lensq_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_lensq_p(GF_Vec *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mat
    - mat2D
    argTypes:
    - GF_Matrix*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1550
    functionName: gf_mx_from_mx2d
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_from_mx2d(GF_Matrix *mat, GF_Matrix2D *mat2D) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1698,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1702,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1700,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1699,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1701,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1703,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 7
    argNames:
    - mx
    - left
    - right
    - bottom
    - top
    - z_near
    - z_far
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1706
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1706
    functionName: gf_mx_ortho_reverse_z
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_divfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_ortho_reverse_z(GF_Matrix *mx, Fixed left, Fixed
      right, Fixed bottom, Fixed top, Fixed z_near, Fixed z_far) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_lensq_p
      Src: /src/gpac/src/utils/math.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: gf_vec_lensq
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_lensq_p
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_lensq(GF_Vec v) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 2
    argNames:
    - mx1
    - mx2
    argTypes:
    - GF_Matrix*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1568
    functionName: gf_mx_equal
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mx_equal(GF_Matrix *mx1, GF_Matrix *mx2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1710,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1711,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1712,1
    - Dst: gf_cos
      Src: /src/gpac/src/utils/math.c:1710,1
    - Dst: gf_sin
      Src: /src/gpac/src/utils/math.c:1710,1
    - Dst: gf_divfix
      Src: /src/gpac/src/utils/math.c:1714,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/utils/math.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - mx
    - fieldOfView
    - aspectRatio
    - z_near
    - z_far
    argTypes:
    - GF_Matrix*
    - Fixed
    - Fixed
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 1720
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1720
    functionName: gf_mx_perspective
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - gf_cos
    - gf_mx_init
    - gf_divfix
    - gf_sin
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_perspective(GF_Matrix *mx, Fixed fieldOfView,
      Fixed aspectRatio, Fixed z_near, Fixed z_far) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_diff
      Src: /src/gpac/src/utils/math.c:2301,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/utils/math.c:2302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 2304
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2304
    functionName: gf_ray
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_norm
    - gf_vec_diff
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Ray gf_ray(GF_Vec start, GF_Vec end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gppInv_16_32s
      Src: /src/gpac/src/utils/math.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Fixed
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: gf_invfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppInv_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_invfix(Fixed a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1004,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1005,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1004,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1005,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - _this
    - x
    - y
    argTypes:
    - GF_Matrix2D*
    - Fixed*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 1008
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1008
    functionName: gf_mx2d_apply_coords
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_apply_coords(GF_Matrix2D *_this, Fixed *x,
      Fixed *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gppVec3DDot_16_32s
      Src: /src/gpac/src/utils/math.c:1218,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/utils/math.c:1221,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/math.c:1222,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1226,1
    - Dst: VEC_HIGH_MAG
      Src: /src/gpac/src/utils/math.c:1226,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1235,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1237,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1237,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1235,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1237,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec*
    - GF_Vec*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1240
    functionName: gf_vec_dot_p
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mulfix
    - FLT2FIX
    - VEC_HIGH_MAG
    - FIX2FLT
    - gppVec3DDot_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_vec_dot_p(GF_Vec *v1, GF_Vec *v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_from_mx
      Src: /src/gpac/src/utils/math.c:1423,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/utils/math.c:1424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mat
    - rc
    argTypes:
    - GF_Matrix*
    - GF_Rect*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1425
    functionName: gf_mx_apply_rect
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_rect
    - gf_mx2d_from_mx
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_apply_rect(GF_Matrix *mat, GF_Rect *rc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gppInv_16_32s
      Src: /src/gpac/src/utils/math.c:248,1
    - Dst: gppDiv_16_32s
      Src: /src/gpac/src/utils/math.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Fixed
    - Fixed
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: gf_divfix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gppDiv_16_32s
    - gppInv_16_32s
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Fixed gf_divfix(Fixed a, Fixed b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_apply_coords
      Src: /src/gpac/src/utils/math.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - _this
    - pt
    argTypes:
    - GF_Matrix2D*
    - GF_Point2D*
    constantsTouched: []
    func_position:
      end: 1014
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1014
    functionName: gf_mx2d_apply_point
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx2d_apply_coords
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx2d_apply_point(GF_Matrix2D *_this, GF_Point2D
      *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_dot_p
      Src: /src/gpac/src/utils/math.c:1243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - GF_Vec
    - GF_Vec
    constantsTouched: []
    func_position:
      end: 1245
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1245
    functionName: gf_vec_dot
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_vec_dot_p
    linkageType: ''
    returnType: Fixed
    signature: 'Fixed gf_vec_dot(GF_Vec v1, GF_Vec v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1439,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1439,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1441,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1443,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1444,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1444,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1444,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1433,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1433,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1437,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1438,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1439,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1440,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1440,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/math.c:1431,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1433,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1435,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1440,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1442,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1442,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1434,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1436,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1441,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1441,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1442,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1443,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/utils/math.c:1443,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/math.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 79
    argCount: 2
    argNames:
    - mat
    - mul
    argTypes:
    - GF_Matrix*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1446
    functionName: gf_mx_add_matrix
    functionSourceFile: /src/gpac/src/utils/math.c
    functionUses: []
    functionsReached:
    - gf_mx_init
    - gf_mulfix
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_add_matrix(GF_Matrix *mat, GF_Matrix *mul) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bidi_get_class
      Src: /src/gpac/src/utils/uni_bidi.c:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 1
    argNames:
    - utf_string
    argTypes:
    - u16*
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: gf_utf8_is_right_to_left
    functionSourceFile: /src/gpac/src/utils/uni_bidi.c
    functionUses: []
    functionsReached:
    - bidi_get_class
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_utf8_is_right_to_left(u16 *utf_string) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_is_right_to_left
      Src: /src/gpac/src/utils/uni_bidi.c:124,1
    - Dst: bidi_get_class
      Src: /src/gpac/src/utils/uni_bidi.c:141,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 2
    argNames:
    - utf_string
    - len
    argTypes:
    - u16*
    - u32
    constantsTouched: []
    func_position:
      end: 194
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 194
    functionName: gf_utf8_reorder_bidi
    functionSourceFile: /src/gpac/src/utils/uni_bidi.c
    functionUses: []
    functionsReached:
    - bidi_get_class
    - gf_utf8_is_right_to_left
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_utf8_reorder_bidi(u16 *utf_string, u32 len) '
  - BBCount: 1292
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2069
    EdgeCount: 2069
    ICount: 2846
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1491
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 1491
    functionName: bidi_get_class
    functionSourceFile: /src/gpac/src/utils/uni_bidi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bidi_get_class(u32 val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_select_next_protocol
      Src: /src/gpac/src/utils/downloader_ssl.c:63,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: ssl_select_next_proto_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - nghttp2_select_next_protocol
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int ssl_select_next_proto_cb(SSL *ssl , unsigned char **out,
      unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: tls_rt_get_name
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *tls_rt_get_name(int type) '
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 7
    argCount: 2
    argNames:
    - version
    - msg
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 178
    functionName: ssl_msg_get_name
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ssl_msg_get_name(int version, int msg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ssl.c:246,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ssl.c:249,1
    - Dst: gf_ssl_init_lib
      Src: /src/gpac/src/utils/downloader_ssl.c:253,1
    - Dst: TLS_client_method
      Src: /src/gpac/src/utils/downloader_ssl.c:261,1
    - Dst: X509_get_default_cert_file
      Src: /src/gpac/src/utils/downloader_ssl.c:287,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_ssl.c:324,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/gpac/src/utils/downloader_ssl.c:280,1
    - Dst: getenv
      Src: /src/gpac/src/utils/downloader_ssl.c:285,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/downloader_ssl.c:279,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_ssl.c:293,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/gpac/src/utils/downloader_ssl.c:296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:297,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_ssl.c:304,1
    - Dst: SSL_CTX_set_msg_callback
      Src: /src/gpac/src/utils/downloader_ssl.c:305,1
    - Dst: strcat
      Src: /src/gpac/src/utils/downloader_ssl.c:313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:321,1
    - Dst: ngtcp2_crypto_quictls_configure_client_context
      Src: /src/gpac/src/utils/downloader_ssl.c:320,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/gpac/src/utils/downloader_ssl.c:330,1
    - Dst: SSLv23_client_method
      Src: /src/gpac/src/utils/downloader_ssl.c:259,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/gpac/src/utils/downloader_ssl.c:267,1
    - Dst: X509_get_default_cert_file_env
      Src: /src/gpac/src/utils/downloader_ssl.c:284,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ssl.c:339,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ssl.c:344,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/gpac/src/utils/downloader_ssl.c:332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:254,1
    - Dst: SSL_CTX_new
      Src: /src/gpac/src/utils/downloader_ssl.c:264,1
    - Dst: SSL_CTX_set_options
      Src: /src/gpac/src/utils/downloader_ssl.c:266,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/gpac/src/utils/downloader_ssl.c:268,1
    - Dst: SSL_CTX_set_verify
      Src: /src/gpac/src/utils/downloader_ssl.c:273,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_ssl.c:275,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_ssl.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:289,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/downloader_ssl.c:291,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:332,1
    - Dst: SSL_CTX_set_mode
      Src: /src/gpac/src/utils/downloader_ssl.c:338,1
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader_ssl.c:342,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 2
    argNames:
    - dm
    - no_quic
    argTypes:
    - GF_DownloadManager*
    - Bool
    constantsTouched: []
    func_position:
      end: 346
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 346
    functionName: gf_dm_ssl_init
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - strlen
    - SSL_CTX_set_mode
    - GF_LOG
    - SSL_CTX_new
    - SSL_CTX_set_next_proto_select_cb
    - TLS_client_method
    - SSL_CTX_set_verify
    - SSL_CTX_set_default_verify_paths
    - gf_ssl_init_lib
    - getenv
    - ngtcp2_crypto_quictls_configure_client_context
    - gf_mx_p
    - SSL_CTX_load_verify_locations
    - gf_mx_v
    - SSL_CTX_set_msg_callback
    - gf_opts_get_key
    - strcat
    - SSL_CTX_free
    - X509_get_default_cert_file
    - SSLv23_client_method
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_set_options
    - gf_log_tool_level_on
    - X509_get_default_cert_file_env
    - gf_opts_get_bool
    - gf_file_exists
    linkageType: ''
    returnType: void*
    signature: 'void *gf_dm_ssl_init(GF_DownloadManager *dm, Bool no_quic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/gpac/src/utils/downloader_ssl.c:639,1
    - Dst: SSL_get_error
      Src: /src/gpac/src/utils/downloader_ssl.c:645,1
    - Dst: ERR_get_error
      Src: /src/gpac/src/utils/downloader_ssl.c:652,1
    - Dst: ERR_error_string_n
      Src: /src/gpac/src/utils/downloader_ssl.c:652,1
    - Dst: SSL_load_error_strings
      Src: /src/gpac/src/utils/downloader_ssl.c:651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - sess
    - buffer
    - size
    - written
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 662
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 662
    functionName: gf_ssl_write
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - ERR_get_error
    - SSL_write
    - GF_LOG
    - SSL_get_error
    - SSL_load_error_strings
    - ERR_error_string_n
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_ssl_write(GF_DownloadSession *sess, const u8 *buffer, u32
      size, u32 *written) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_status
      Src: /src/gpac/src/utils/downloader_ssl.c:43,1
    - Dst: RAND_status
      Src: /src/gpac/src/utils/downloader_ssl.c:51,1
    - Dst: RAND_file_name
      Src: /src/gpac/src/utils/downloader_ssl.c:46,1
    - Dst: RAND_load_file
      Src: /src/gpac/src/utils/downloader_ssl.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: init_prng
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - RAND_status
    - RAND_file_name
    - RAND_load_file
    linkageType: ''
    returnType: void
    signature: 'static void init_prng (void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/utils/downloader_ssl.c:211,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/gpac/src/utils/downloader_ssl.c:226,1
    - Dst: ssl_msg_get_name
      Src: /src/gpac/src/utils/downloader_ssl.c:229,1
    - Dst: tls_rt_get_name
      Src: /src/gpac/src/utils/downloader_ssl.c:217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:231,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - udat
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 232
    functionName: ssl_on_log
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - snprintf
    - GF_LOG
    - tls_rt_get_name
    - ssl_msg_get_name
    - SSL_alert_desc_string_long
    linkageType: ''
    returnType: void
    signature: 'static void ssl_on_log(int write_p, int version, int content_type,
      const void *buf, size_t len, SSL *ssl, void *udat) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_ssl_init
      Src: /src/gpac/src/utils/downloader_ssl.c:731,1
    - Dst: SSL_new
      Src: /src/gpac/src/utils/downloader_ssl.c:740,1
    - Dst: SSL_set_quic_method
      Src: /src/gpac/src/utils/downloader_ssl.c:762,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader_ssl.c:778,1
    - Dst: dm_sess_sk_del
      Src: /src/gpac/src/utils/downloader_ssl.c:780,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:806,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/gpac/src/utils/downloader_ssl.c:816,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader_ssl.c:832,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ssl.c:838,1
    - Dst: gf_sk_get_handle
      Src: /src/gpac/src/utils/downloader_ssl.c:741,1
    - Dst: SSL_set_fd
      Src: /src/gpac/src/utils/downloader_ssl.c:741,1
    - Dst: SSL_ctrl
      Src: /src/gpac/src/utils/downloader_ssl.c:742,1
    - Dst: SSL_set_connect_state
      Src: /src/gpac/src/utils/downloader_ssl.c:743,1
    - Dst: SSL_set_mode
      Src: /src/gpac/src/utils/downloader_ssl.c:746,1
    - Dst: SSL_load_error_strings
      Src: /src/gpac/src/utils/downloader_ssl.c:788,1
    - Dst: ERR_get_error
      Src: /src/gpac/src/utils/downloader_ssl.c:789,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/downloader_ssl.c:819,1
    - Dst: gf_ssl_check_cert
      Src: /src/gpac/src/utils/downloader_ssl.c:830,1
    - Dst: SSL_set_alpn_protos
      Src: /src/gpac/src/utils/downloader_ssl.c:750,1
    - Dst: SSL_set_alpn_protos
      Src: /src/gpac/src/utils/downloader_ssl.c:755,1
    - Dst: SSL_get_error
      Src: /src/gpac/src/utils/downloader_ssl.c:772,1
    - Dst: SSL_connect
      Src: /src/gpac/src/utils/downloader_ssl.c:770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:802,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/gpac/src/utils/downloader_ssl.c:813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:820,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ssl.c:729,1
    - Dst: ERR_error_string_n
      Src: /src/gpac/src/utils/downloader_ssl.c:789,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:791,1
    - Dst: h2_initialize_session
      Src: /src/gpac/src/utils/downloader_ssl.c:824,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 2
    argNames:
    - sess
    - proxy
    argTypes:
    - GF_DownloadSession*
    - char*
    constantsTouched: []
    func_position:
      end: 840
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 840
    functionName: gf_ssl_try_connect
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_free
    - GF_LOG
    - SSL_new
    - gf_dm_disconnect
    - SSL_get_error
    - dm_sess_sk_del
    - SSL_get0_alpn_selected
    - gf_dm_ssl_init
    - SSL_get0_next_proto_negotiated
    - gf_sk_get_handle
    - ERR_get_error
    - SSL_load_error_strings
    - memcmp
    - SSL_set_quic_method
    - SSL_set_mode
    - gf_ssl_check_cert
    - SSL_set_fd
    - h2_initialize_session
    - gf_sys_clock_high_res
    - SSL_set_connect_state
    - ERR_error_string_n
    - SSL_set_alpn_protos
    - SSL_connect
    - SSL_ctrl
    linkageType: ''
    returnType: SSLConnectStatus
    signature: 'SSLConnectStatus gf_ssl_try_connect(GF_DownloadSession *sess, const
      char *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:81,1
    - Dst: init_prng
      Src: /src/gpac/src/utils/downloader_ssl.c:82,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:84,1
    - Dst: SSL_library_init
      Src: /src/gpac/src/utils/downloader_ssl.c:93,1
    - Dst: RAND_status
      Src: /src/gpac/src/utils/downloader_ssl.c:83,1
    - Dst: SSL_load_error_strings
      Src: /src/gpac/src/utils/downloader_ssl.c:94,1
    - Dst: SSLeay_add_all_algorithms
      Src: /src/gpac/src/utils/downloader_ssl.c:95,1
    - Dst: SSLeay_add_ssl_algorithms
      Src: /src/gpac/src/utils/downloader_ssl.c:96,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: gf_ssl_init_lib
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSLeay_add_all_algorithms
    - GF_LOG
    - SSL_load_error_strings
    - SSLeay_add_ssl_algorithms
    - init_prng
    - SSL_library_init
    - RAND_status
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_ssl_init_lib() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/gpac/src/utils/downloader_ssl.c:421,1
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/gpac/src/utils/downloader_ssl.c:424,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/gpac/src/utils/downloader_ssl.c:423,1
    - Dst: htonl
      Src: /src/gpac/src/utils/downloader_ssl.c:423,1
    - Dst: SSL_get0_session
      Src: /src/gpac/src/utils/downloader_ssl.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: ngq_gen_ticket_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_get_app_data
    - htonl
    - ngtcp2_conn_get_negotiated_version
    - SSL_SESSION_set1_ticket_appdata
    - SSL_get0_session
    linkageType: ''
    returnType: int
    signature: 'int ngq_gen_ticket_cb(SSL *ssl, void *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_ssl.c:498,1
    - Dst: SSL_CTX_set_msg_callback
      Src: /src/gpac/src/utils/downloader_ssl.c:499,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:518,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/gpac/src/utils/downloader_ssl.c:550,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/gpac/src/utils/downloader_ssl.c:555,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:560,1
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader_ssl.c:566,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:570,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:493,1
    - Dst: SSL_CTX_new
      Src: /src/gpac/src/utils/downloader_ssl.c:490,1
    - Dst: TLS_server_method
      Src: /src/gpac/src/utils/downloader_ssl.c:484,1
    - Dst: SSL_CTX_set_mode
      Src: /src/gpac/src/utils/downloader_ssl.c:532,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/gpac/src/utils/downloader_ssl.c:559,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/gpac/src/utils/downloader_ssl.c:569,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/gpac/src/utils/downloader_ssl.c:564,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:565,1
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader_ssl.c:571,1
    - Dst: SSLv23_server_method
      Src: /src/gpac/src/utils/downloader_ssl.c:480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:492,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_ssl.c:505,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:507,1
    - Dst: ngtcp2_crypto_quictls_configure_server_context
      Src: /src/gpac/src/utils/downloader_ssl.c:515,1
    - Dst: SSL_CTX_set_options
      Src: /src/gpac/src/utils/downloader_ssl.c:530,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/gpac/src/utils/downloader_ssl.c:539,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/gpac/src/utils/downloader_ssl.c:521,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/gpac/src/utils/downloader_ssl.c:556,1
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader_ssl.c:561,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/gpac/src/utils/downloader_ssl.c:538,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/gpac/src/utils/downloader_ssl.c:548,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/gpac/src/utils/downloader_ssl.c:535,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 3
    argNames:
    - cert
    - key
    - for_quic
    argTypes:
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 576
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 576
    functionName: gf_ssl_server_context_new
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_mode
    - GF_LOG
    - SSL_CTX_new
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_set_default_verify_paths
    - TLS_server_method
    - SSLv23_server_method
    - SSL_CTX_use_PrivateKey_file
    - memcpy
    - SSL_CTX_set_msg_callback
    - ERR_print_errors_fp
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_free
    - SSL_CTX_set1_groups_list
    - SSL_CTX_set_max_early_data
    - SSL_CTX_check_private_key
    - SSL_CTX_set_options
    - SSL_CTX_set_session_ticket_cb
    - ngtcp2_crypto_quictls_configure_server_context
    - SSL_CTX_set_ecdh_auto
    - gf_log_tool_level_on
    - gf_opts_get_bool
    linkageType: ''
    returnType: void*
    signature: 'void *gf_ssl_server_context_new(const char *cert, const char *key,
      Bool for_quic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/gpac/src/utils/downloader_ssl.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: gf_ssl_server_context_del
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void gf_ssl_server_context_del(void *ssl_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader_ssl.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: gf_ssl_del
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: 'void gf_ssl_del(void *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_ssl.c:993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - dm
    - creds
    - secure
    argTypes:
    - GF_DownloadManager*
    - GF_UserCredentials*
    - Bool
    constantsTouched: []
    func_position:
      end: 1001
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1001
    functionName: gf_user_credentials_ask_password
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_user_credentials_ask_password( GF_DownloadManager
      * dm, GF_UserCredentials * creds, Bool secure) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/gpac/src/utils/downloader_ssl.c:442,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:451,1
    - Dst: SSL_get_app_data
      Src: /src/gpac/src/utils/downloader_ssl.c:452,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/gpac/src/utils/downloader_ssl.c:455,1
    - Dst: ntohl
      Src: /src/gpac/src/utils/downloader_ssl.c:455,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 18
    argCount: 6
    argNames:
    - ssl
    - session
    - keyname
    - keynamelen
    - status
    - arg
    argTypes:
    - SSL*
    - SSL_SESSION*
    - unsigned char*
    - size_t
    - SSL_TICKET_STATUS
    - void*
    constantsTouched: []
    func_position:
      end: 471
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 471
    functionName: ngq_decrypt_ticket_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_get_app_data
    - memcpy
    - SSL_SESSION_get0_ticket_appdata
    - ntohl
    - ngtcp2_conn_get_client_chosen_version
    linkageType: ''
    returnType: SSL_TICKET_RETURN
    signature: 'SSL_TICKET_RETURN ngq_decrypt_ticket_cb(SSL *ssl, SSL_SESSION *session,
      const unsigned char *keyname, size_t keynamelen, SSL_TICKET_STATUS status, void
      *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/gpac/src/utils/downloader_ssl.c:585,1
    - Dst: gf_sk_get_handle
      Src: /src/gpac/src/utils/downloader_ssl.c:590,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_ssl.c:592,1
    - Dst: SSL_accept
      Src: /src/gpac/src/utils/downloader_ssl.c:591,1
    - Dst: SSL_set_fd
      Src: /src/gpac/src/utils/downloader_ssl.c:590,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:594,1
    - Dst: ERR_print_errors_fp
      Src: /src/gpac/src/utils/downloader_ssl.c:596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:597,1
    - Dst: SSL_shutdown
      Src: /src/gpac/src/utils/downloader_ssl.c:599,1
    - Dst: SSL_free
      Src: /src/gpac/src/utils/downloader_ssl.c:600,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ssl_ctx
    - client_sock
    - e
    argTypes:
    - void*
    - GF_Socket*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: gf_ssl_new
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_accept
    - SSL_set_fd
    - GF_LOG
    - SSL_new
    - SSL_shutdown
    - gf_log_tool_level_on
    - ERR_print_errors_fp
    - gf_sk_get_handle
    linkageType: ''
    returnType: void*
    signature: 'void *gf_ssl_new(void *ssl_ctx, GF_Socket *client_sock, GF_Err *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/gpac/src/utils/downloader_ssl.c:614,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:623,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_ssl.c:619,1
    - Dst: ERR_error_string
      Src: /src/gpac/src/utils/downloader_ssl.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ssl
    - server_name
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 627
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 627
    functionName: gf_ssl_check_cert
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - ERR_error_string
    - gf_opts_get_bool
    - GF_LOG
    - SSL_get_verify_result
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_ssl_check_cert(SSL *ssl, const char *server_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ssl.c:1008,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/downloader_ssl.c:1019,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ssl.c:1012,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/utils/downloader_ssl.c:1015,1
    - Dst: gf_user_credentials_find_for_site
      Src: /src/gpac/src/utils/downloader_ssl.c:1009,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/downloader_ssl.c:1024,1
    - Dst: gf_user_credentials_save_digest
      Src: /src/gpac/src/utils/downloader_ssl.c:1027,1
    - Dst: gf_user_credentials_ask_password
      Src: /src/gpac/src/utils/downloader_ssl.c:1029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:1030,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_ssl.c:1032,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ssl.c:1033,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 6
    argNames:
    - dm
    - secure
    - server_name
    - username
    - password
    - valid
    argTypes:
    - GF_DownloadManager*
    - Bool
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1038
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1038
    functionName: gf_user_credentials_register
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_user_credentials_save_digest
    - gf_user_credentials_find_for_site
    - GF_LOG
    - gf_list_del_item
    - strncpy
    - GF_SAFEALLOC
    - gf_user_credentials_ask_password
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: GF_UserCredentials*
    signature: 'GF_UserCredentials * gf_user_credentials_register(GF_DownloadManager
      * dm, Bool secure, const char * server_name, const char * username, const char
      * password, Bool valid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: next_proto_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int next_proto_cb(SSL *ssl, const unsigned char **data, unsigned
      int *len, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/gpac/src/utils/downloader_ssl.c:373,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/gpac/src/utils/downloader_ssl.c:379,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/downloader_ssl.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:399,1
    - Dst: nghttp2_select_next_protocol
      Src: /src/gpac/src/utils/downloader_ssl.c:406,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 411
    functionName: alpn_select_proto_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_get_app_data
    - strncmp
    - GF_LOG
    - nghttp2_select_next_protocol
    - ngtcp2_conn_get_client_chosen_version
    linkageType: ''
    returnType: int
    signature: 'static int alpn_select_proto_cb(SSL *ssl, const unsigned char **out,
      unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ssl.c:706,1
    - Dst: SSL_set_mode
      Src: /src/gpac/src/utils/downloader_ssl.c:708,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/gpac/src/utils/downloader_ssl.c:716,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/downloader_ssl.c:720,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/gpac/src/utils/downloader_ssl.c:713,1
    - Dst: h2_initialize_session
      Src: /src/gpac/src/utils/downloader_ssl.c:721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 725
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 725
    functionName: gf_dm_sess_server_setup_ssl
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - SSL_set_mode
    - memcmp
    - h2_initialize_session
    - SSL_get0_alpn_selected
    - gf_assert
    - SSL_get0_next_proto_negotiated
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_server_setup_ssl(GF_DownloadSession *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_ssl.c:916,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_ssl.c:927,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/downloader_ssl.c:937,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/utils/downloader_ssl.c:950,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_ssl.c:913,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_ssl.c:919,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_ssl.c:932,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:944,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:950,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:911,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_ssl.c:915,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/downloader_ssl.c:931,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ssl.c:940,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:945,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/utils/downloader_ssl.c:951,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/utils/downloader_ssl.c:949,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/utils/downloader_ssl.c:948,1
    - Dst: gf_user_credentials_save_digest
      Src: /src/gpac/src/utils/downloader_ssl.c:952,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_ssl.c:924,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader_ssl.c:929,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 3
    argNames:
    - dm
    - server_name
    - user_name
    argTypes:
    - GF_DownloadManager*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 958
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 958
    functionName: gf_user_credentials_find_for_site
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_user_credentials_save_digest
    - gf_list_get
    - gf_list_count
    - gf_crypt_close
    - strcmp
    - gf_fread
    - gf_crypt_open
    - gf_crypt_init
    - strrchr
    - GF_SAFEALLOC
    - strcpy
    - gf_fclose
    - gf_fopen
    - gf_crypt_decrypt
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_UserCredentials*
    signature: 'GF_UserCredentials * gf_user_credentials_find_for_site(GF_DownloadManager
      *dm, const char *server_name, const char *user_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ssl.c:857,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:859,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/utils/downloader_ssl.c:889,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/utils/downloader_ssl.c:890,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:879,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/downloader_ssl.c:897,1
    - Dst: gf_opts_save
      Src: /src/gpac/src/utils/downloader_ssl.c:899,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:862,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_ssl.c:870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:872,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/utils/downloader_ssl.c:893,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/downloader_ssl.c:891,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ssl.c:895,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/utils/downloader_ssl.c:859,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:867,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/downloader_ssl.c:876,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ssl.c:885,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/downloader_ssl.c:882,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ssl.c:896,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ssl.c:898,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ssl.c:856,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ssl.c:860,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/downloader_ssl.c:883,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/utils/downloader_ssl.c:892,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - dm
    - creds
    - password
    - store_info
    argTypes:
    - GF_DownloadManager*
    - GF_UserCredentials*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 903
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 903
    functionName: gf_user_credentials_save_digest
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_crypt_close
    - GF_LOG
    - gf_fread
    - gf_crypt_open
    - gf_crypt_init
    - gf_crypt_encrypt
    - gf_opts_set_key
    - gf_opts_save
    - strcpy
    - gf_fclose
    - gf_base64_encode
    - gf_fopen
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_user_credentials_save_digest( GF_DownloadManager
      * dm, GF_UserCredentials * creds, const char * password, Bool store_info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_ssl.c:965,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/downloader_ssl.c:968,1
    - Dst: gf_user_credentials_save_digest
      Src: /src/gpac/src/utils/downloader_ssl.c:972,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - udta
    - user
    - pass
    - store_info
    argTypes:
    - void*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 980
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 980
    functionName: on_user_pass
    functionSourceFile: /src/gpac/src/utils/downloader_ssl.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_user_credentials_save_digest
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'static void on_user_pass(void *udta, const char *user, const char
      *pass, Bool store_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/sha1.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: gf_sha1_starts
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_SHA1Context*
    signature: 'GF_SHA1Context *gf_sha1_starts() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/utils/sha1.c:261,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/sha1.c:278,1
    - Dst: sha1_process
      Src: /src/gpac/src/utils/sha1.c:271,1
    - Dst: sha1_process
      Src: /src/gpac/src/utils/sha1.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - GF_SHA1Context*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 281
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 281
    functionName: gf_sha1_update
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - sha1_process
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void gf_sha1_update(GF_SHA1Context *ctx, u8 *input, u32 ilen ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:448,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:475,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:464,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:471,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:459,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:482,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:487,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:494,1
    - Dst: SHA1CircularShift
      Src: /src/gpac/src/utils/sha1.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 128
    argCount: 1
    argNames:
    - context
    argTypes:
    - GF_SHA1Context*
    constantsTouched: []
    func_position:
      end: 515
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 515
    functionName: SHA1ProcessMessageBlock
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - SHA1CircularShift
    linkageType: ''
    returnType: void
    signature: 'void SHA1ProcessMessageBlock(GF_SHA1Context *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:304,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/utils/sha1.c:311,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:313,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:305,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/utils/sha1.c:310,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:314,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:315,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:316,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:317,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/sha1.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - GF_SHA1Context*
    - u8
    constantsTouched: []
    func_position:
      end: 320
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 320
    functionName: gf_sha1_finish
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - gf_sha1_update
    - PUT_UINT32_BE
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sha1_finish(GF_SHA1Context *ctx, u8 output[GF_SHA1_DIGEST_SIZE]
      ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/sha1.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 621
    functionName: gf_sha1_starts
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_SHA1Context*
    signature: 'GF_SHA1Context *gf_sha1_starts() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/sha1.c:693,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/utils/sha1.c:702,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/sha1.c:701,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/utils/sha1.c:698,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/sha1.c:699,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/utils/sha1.c:704,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/sha1.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - f
    - output
    argTypes:
    - FILE*
    - u8
    constantsTouched: []
    func_position:
      end: 708
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 708
    functionName: gf_sha1_file_ptr
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - gf_sha1_update
    - gf_fread
    - gf_sha1_finish
    - gf_ftell
    - gf_sha1_starts
    - gf_fseek
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sha1_file_ptr(FILE *f, u8 output[GF_SHA1_DIGEST_SIZE]
      ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/sha1.c:716,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/utils/sha1.c:719,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/sha1.c:727,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/utils/sha1.c:722,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/utils/sha1.c:723,1
    - Dst: gf_sha1_file_ptr
      Src: /src/gpac/src/utils/sha1.c:730,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/sha1.c:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - path
    - output
    argTypes:
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: gf_sha1_file
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - gf_sha1_file_ptr
    - strncmp
    - gf_fclose
    - gf_blob_get
    - gf_sha1_csum
    - gf_blob_release
    - gf_fopen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sha1_file( const char *path, u8 output[GF_SHA1_DIGEST_SIZE]
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:87,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:95,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:98,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:145,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:143,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:181,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:183,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:192,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:194,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:196,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:165,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:141,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:155,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:169,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:167,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:214,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:216,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:218,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:224,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:90,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:101,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:128,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:186,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:188,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:190,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:198,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:200,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:226,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:161,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:159,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:163,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:157,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:172,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:208,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:210,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:212,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:220,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:222,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:226,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:93,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:134,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:140,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:146,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:144,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:182,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:184,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:192,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:194,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:196,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:131,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:137,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:155,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:166,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:164,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:170,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:168,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:214,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:216,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:218,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:224,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:88,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:96,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:99,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:186,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:188,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:190,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:199,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:222,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:227,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:158,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:172,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:162,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:160,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:208,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:210,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:212,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:221,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:223,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:225,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:198,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:91,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:102,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:130,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:146,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:136,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:144,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:182,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:184,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:193,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:195,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:197,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:220,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:225,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:170,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:154,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:156,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:164,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:168,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:166,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:213,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:215,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:217,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:219,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:142,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:94,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:97,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:185,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:187,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:189,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:191,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:199,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:227,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:162,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:171,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:127,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:133,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:139,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:158,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:160,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:173,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:209,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:211,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:223,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:89,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:100,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:145,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:143,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:181,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:183,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:193,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:195,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:197,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:165,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:154,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:156,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:169,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:167,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:213,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:215,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:217,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:219,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:138,1
    - Dst: GET_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:92,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:132,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:185,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:187,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:189,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:191,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:200,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:171,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:161,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:159,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:129,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:135,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:157,1
    - Dst: R
      Src: /src/gpac/src/utils/sha1.c:163,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:173,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:209,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:211,1
    - Dst: P
      Src: /src/gpac/src/utils/sha1.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 171
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - GF_SHA1Context*
    - u8
    constantsTouched: []
    func_position:
      end: 237
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 237
    functionName: sha1_process
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - R
    - P
    - GET_UINT32_BE
    linkageType: ''
    returnType: void
    signature: 'static void sha1_process(GF_SHA1Context *ctx, u8 data[64] ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1ProcessMessageBlock
      Src: /src/gpac/src/utils/sha1.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - context
    - message_array
    - length
    argTypes:
    - GF_SHA1Context*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 663
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 663
    functionName: gf_sha1_update
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - SHA1ProcessMessageBlock
    linkageType: ''
    returnType: void
    signature: 'void gf_sha1_update(GF_SHA1Context *context, u8 *message_array, u32
      length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHA1PadMessage
      Src: /src/gpac/src/utils/sha1.c:673,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:677,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:678,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:676,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:679,1
    - Dst: PUT_UINT32_BE
      Src: /src/gpac/src/utils/sha1.c:680,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/sha1.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - context
    - output
    argTypes:
    - GF_SHA1Context*
    - u8
    constantsTouched: []
    func_position:
      end: 683
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 683
    functionName: gf_sha1_finish
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - SHA1PadMessage
    - PUT_UINT32_BE
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sha1_finish(GF_SHA1Context *context, u8 output[GF_SHA1_DIGEST_SIZE]
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/utils/sha1.c:755,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/sha1.c:763,1
    - Dst: strcat
      Src: /src/gpac/src/utils/sha1.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buflen
    - digest
    argTypes:
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 767
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 767
    functionName: gf_sha1_csum_hexa
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_sha1_csum
    - strcat
    linkageType: ''
    returnType: void
    signature: 'void gf_sha1_csum_hexa(u8 *buf, u32 buflen, u8 digest[GF_SHA1_DIGEST_SIZE_HEXA]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA1ProcessMessageBlock
      Src: /src/gpac/src/utils/sha1.c:556,1
    - Dst: SHA1ProcessMessageBlock
      Src: /src/gpac/src/utils/sha1.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - context
    argTypes:
    - GF_SHA1Context*
    constantsTouched: []
    func_position:
      end: 585
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 585
    functionName: SHA1PadMessage
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - SHA1ProcessMessageBlock
    linkageType: ''
    returnType: void
    signature: 'static void SHA1PadMessage(GF_SHA1Context *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/sha1.c:743,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/utils/sha1.c:747,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/utils/sha1.c:744,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/utils/sha1.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: gf_sha1_csum
    functionSourceFile: /src/gpac/src/utils/sha1.c
    functionUses: []
    functionsReached:
    - gf_sha1_update
    - gf_sha1_starts
    - memset
    - gf_sha1_finish
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sha1_csum( u8 *input, u32 ilen, u8 output[GF_SHA1_DIGEST_SIZE]
      ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:242,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:264,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:286,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:308,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:318,1
    - Dst: rmt_BindOpenGL
      Src: /src/gpac/src/utils/gltools.c:201,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:207,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:219,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:239,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:261,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:283,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:299,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:305,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:270,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:248,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:254,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:292,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:324,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:289,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:224,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:245,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:267,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:312,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:321,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:209,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:220,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:230,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:238,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:260,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:276,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:282,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:298,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:304,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:314,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:257,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:235,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:251,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:273,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:279,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:295,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:288,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:244,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:266,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:320,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:263,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:208,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:213,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:241,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:285,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:301,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:307,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:313,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:317,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:222,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:250,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:272,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:278,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:256,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:294,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:326,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:269,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:247,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:291,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:253,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:323,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:232,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:240,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:262,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:284,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:300,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:306,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:315,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:259,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:275,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:281,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:214,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:237,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:297,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:303,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:225,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:246,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:290,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:268,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:322,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:287,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/gltools.c:200,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:233,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:243,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:265,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:311,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:319,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:274,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:280,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:218,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:236,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:252,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:258,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:296,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:302,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:255,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:271,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:277,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:293,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:221,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:234,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:249,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/utils/gltools.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 334
    functionName: gf_opengl_init
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - rmt_BindOpenGL
    - gf_opts_get_bool
    - GET_GLFUN
    linkageType: ''
    returnType: void
    signature: 'void gf_opengl_init() '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1356,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1644,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1598,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1372,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1368,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1506,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1510,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1611,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1658,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1517,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1389,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1674,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1560,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1471,1
    - Dst: glEnable
      Src: /src/gpac/src/utils/gltools.c:1347,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1364,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1447,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1452,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1634,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1647,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1651,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1661,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1487,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1636,1
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1362,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1448,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1520,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1383,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1508,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1455,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1512,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1637,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1566,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1606,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1608,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1366,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1399,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1402,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1482,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1656,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1660,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1621,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1462,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1643,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1632,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1343,1
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1354,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1358,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1613,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1600,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1604,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1563,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1435,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1427,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1436,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1467,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1496,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1593,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1641,1
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1672,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1676,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1585,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1454,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1386,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1441,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1649,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1493,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1432,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1501,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1623,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1639,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1470,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1348,1
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1363,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1380,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1615,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1582,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1602,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1515,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1619,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1445,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1652,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1443,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1511,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1529,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1516,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1507,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1376,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1439,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1492,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1588,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1373,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1401,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1627,1
    - Dst: glPixelTransferi
      Src: /src/gpac/src/utils/gltools.c:1673,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1665,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 325
    argCount: 3
    argNames:
    - tx
    - data
    - frame_ifce
    argTypes:
    - GF_GLTextureWrapper*
    - u8*
    - GF_FilterFrameInterface*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1680
    functionName: gf_gl_txw_upload
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - glMapBuffer
    - glPixelTransferi
    - glPixelStorei
    - glBindTexture
    - GL_CHECK_ERR
    - glEnable
    - glTexImage2D
    - glBindBuffer
    - memcpy
    - glTexSubImage2D
    - glUnmapBuffer
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_upload(GF_GLTextureWrapper *tx, const u8 *data, GF_FilterFrameInterface
      *frame_ifce) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:968,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:974,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/utils/gltools.c:971,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:975,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:969,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:978,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:979,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:980,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:982,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:985,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:988,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/gltools.c:987,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 70
    argCount: 4
    argNames:
    - pix_fmt
    - tx_name
    - f_source
    - y_flip
    argTypes:
    - u32
    - char*
    - char**
    - Bool
    constantsTouched: []
    func_position:
      end: 991
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 991
    functionName: gf_gl_txw_insert_fragment_shader
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_pixel_fmt_is_yuv
    - sprintf
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_insert_fragment_shader(u32 pix_fmt, const char *tx_name,
      char **f_source, Bool y_flip) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1598,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1600,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1606,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1602,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1604,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1608,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1611,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1613,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1615,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1619,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1621,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1627,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - first_tx_load
    argTypes:
    - tx
    constantsTouched: []
    func_position:
      end: 1630
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1630
    functionName: if
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - glTexImage2D
    - glPixelStorei
    linkageType: ''
    returnType: else
    signature: 'else if (tx->first_tx_load) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1717,1
    - Dst: gf_mx_transpose
      Src: /src/gpac/src/utils/gltools.c:1749,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/utils/gltools.c:1755,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1755,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1752,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1755,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/utils/gltools.c:1752,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/gltools.c:1702,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/gltools.c:1705,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1754,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1755,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1758,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1727,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1754,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1754,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/utils/gltools.c:1754,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/utils/gltools.c:1752,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 2
    argNames:
    - tx
    - mx
    argTypes:
    - GF_GLTextureWrapper*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1769
    functionName: get_yuv_color_matrix
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - gf_mx_transpose
    - gf_mx_add_scale
    - GF_LOG
    - FLT2FIX
    - gf_mx_init
    - GF_ARRAY_LENGTH
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'static void get_yuv_color_matrix(GF_GLTextureWrapper *tx, GF_Matrix
      *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1952
    functionName: gf_opengl_init
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_opengl_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - tx
    - data
    - frame_ifce
    argTypes:
    - GF_GLTextureWrapper*
    - u8*
    - GF_FilterFrameInterface*
    constantsTouched: []
    func_position:
      end: 1966
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1966
    functionName: gf_gl_txw_upload
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_upload(GF_GLTextureWrapper *tx, const u8 *data, GF_FilterFrameInterface
      *frame_ifce) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/utils/gltools.c:1016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1213,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1222,1
    - Dst: glEnable
      Src: /src/gpac/src/utils/gltools.c:1225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1170,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/gltools.c:1213,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1226,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1232,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1234,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1241,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1240,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/utils/gltools.c:1256,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1257,1
    - Dst: glBufferData
      Src: /src/gpac/src/utils/gltools.c:1260,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/gltools.c:1170,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1220,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1235,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1243,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1237,1
    - Dst: glBufferData
      Src: /src/gpac/src/utils/gltools.c:1254,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/utils/gltools.c:1266,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1267,1
    - Dst: glDisable
      Src: /src/gpac/src/utils/gltools.c:1279,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1274,1
    - Dst: glGenTextures
      Src: /src/gpac/src/utils/gltools.c:1221,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1238,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1231,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/utils/gltools.c:1250,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1251,1
    - Dst: glBufferData
      Src: /src/gpac/src/utils/gltools.c:1264,1
    - Dst: glBufferData
      Src: /src/gpac/src/utils/gltools.c:1268,1
    - Dst: glBufferData
      Src: /src/gpac/src/utils/gltools.c:1272,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1280,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 208
    argCount: 10
    argNames:
    - tx
    - pix_fmt
    - width
    - height
    - stride
    - uv_stride
    - linear_interp
    - frame_ifce
    - full_range
    - matrix_coef_or_neg
    argTypes:
    - GF_GLTextureWrapper*
    - u32
    - u32
    - u32
    - u32
    - u32
    - Bool
    - GF_FilterFrameInterface*
    - Bool
    - s32
    constantsTouched: []
    func_position:
      end: 1284
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1284
    functionName: gf_gl_txw_setup
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    - glBindTexture
    - glTexParameteri
    - glGenBuffers
    - GL_CHECK_ERR
    - GF_LOG
    - glEnable
    - glDisable
    - glBindBuffer
    - glBufferData
    - gf_4cc_to_str
    - glGenTextures
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_setup(GF_GLTextureWrapper *tx, u32 pix_fmt, u32 width,
      u32 height, u32 stride, u32 uv_stride, Bool linear_interp, GF_FilterFrameInterface
      *frame_ifce, Bool full_range, s32 matrix_coef_or_neg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1529,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1563,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1560,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1582,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1566,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1585,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/utils/gltools.c:1588,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1593,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 1
    argNames:
    - nb_textures
    - ==2
    argTypes:
    - tx
    constantsTouched: []
    func_position:
      end: 1596
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1596
    functionName: if
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - glTexImage2D
    - glPixelStorei
    - glTexSubImage2D
    linkageType: ''
    returnType: else
    signature: 'else if ((tx->nb_textures==1) || ((tx->nb_textures==2) && tx->has_alpha
      )) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1795,1
    - Dst: get_yuv_color_matrix
      Src: /src/gpac/src/utils/gltools.c:1811,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:1831,1
    - Dst: glTexEnvf
      Src: /src/gpac/src/utils/gltools.c:1892,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1908,1
    - Dst: glTexEnvf
      Src: /src/gpac/src/utils/gltools.c:1915,1
    - Dst: glClientActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1916,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1924,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/utils/gltools.c:1793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1797,1
    - Dst: glUniform1i
      Src: /src/gpac/src/utils/gltools.c:1800,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1803,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/utils/gltools.c:1818,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/utils/gltools.c:1832,1
    - Dst: glUniform1f
      Src: /src/gpac/src/utils/gltools.c:1846,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1856,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/utils/gltools.c:1862,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1912,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1903,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1904,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/utils/gltools.c:1801,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1834,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/utils/gltools.c:1841,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/utils/gltools.c:1813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1843,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1866,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/gltools.c:1869,1
    - Dst: glEnable
      Src: /src/gpac/src/utils/gltools.c:1876,1
    - Dst: glClientActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1893,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1899,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1900,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1911,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:1790,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/utils/gltools.c:1791,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:1812,1
    - Dst: glUniform1f
      Src: /src/gpac/src/utils/gltools.c:1837,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/gltools.c:1840,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1881,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1882,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1883,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1884,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/utils/gltools.c:1885,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/utils/gltools.c:1907,1
    - Dst: glEnable
      Src: /src/gpac/src/utils/gltools.c:1921,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 120
    argCount: 4
    argNames:
    - tx
    - tx_name
    - gl_program
    - texture_unit
    argTypes:
    - GF_GLTextureWrapper*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1926
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1926
    functionName: gf_gl_txw_bind
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - get_yuv_color_matrix
    - glUniformMatrix4fv
    - glBindTexture
    - glTexParameteri
    - glClientActiveTexture
    - GL_CHECK_ERR
    - GF_LOG
    - sprintf
    - glUniform1f
    - glEnable
    - glGetUniformLocation
    - gf_mx_init
    - glUniform1i
    - glActiveTexture
    - glTexEnvf
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_bind(GF_GLTextureWrapper *tx, const char *tx_name,
      u32 gl_program, u32 texture_unit) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glDeleteTextures
      Src: /src/gpac/src/utils/gltools.c:1932,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/utils/gltools.c:1934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - tx
    argTypes:
    - GF_GLTextureWrapper*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1946
    functionName: gf_gl_txw_reset
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - glDeleteTextures
    - glDeleteBuffers
    linkageType: ''
    returnType: void
    signature: 'void gf_gl_txw_reset(GF_GLTextureWrapper *tx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pix_fmt
    - tx_name
    - f_source
    - y_flip
    argTypes:
    - u32
    - char*
    - char**
    - Bool
    constantsTouched: []
    func_position:
      end: 1957
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1957
    functionName: gf_gl_txw_insert_fragment_shader
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_insert_fragment_shader(u32 pix_fmt, const char *tx_name,
      char **f_source, Bool y_flip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 10
    argNames:
    - tx
    - pix_fmt
    - width
    - height
    - stride
    - uv_stride
    - linear_interp
    - frame_ifce
    - full_range
    - matrix_coef_or_neg
    argTypes:
    - GF_GLTextureWrapper*
    - u32
    - u32
    - u32
    - u32
    - u32
    - Bool
    - GF_FilterFrameInterface*
    - Bool
    - s32
    constantsTouched: []
    func_position:
      end: 1961
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1961
    functionName: gf_gl_txw_setup
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_setup(GF_GLTextureWrapper *tx, u32 pix_fmt, u32 width,
      u32 height, u32 stride, u32 uv_stride, Bool linear_interp, GF_FilterFrameInterface
      *frame_ifce, Bool full_range, s32 matrix_coef_or_neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - tx
    - tx_name
    - gl_program
    - texture_unit
    argTypes:
    - GF_GLTextureWrapper*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: gf_gl_txw_bind
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_gl_txw_bind(GF_GLTextureWrapper *tx, const char *tx_name,
      u32 gl_program, u32 texture_unit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tx
    argTypes:
    - GF_GLTextureWrapper*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1974
    functionName: gf_gl_txw_reset
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_gl_txw_reset(GF_GLTextureWrapper *tx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1435,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1448,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1470,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1445,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1487,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1515,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1520,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1427,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1436,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1443,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1455,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1467,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1496,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1506,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1508,1
    - Dst: glBindTexture
      Src: /src/gpac/src/utils/gltools.c:1510,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1511,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1399,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1402,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1439,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1441,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1454,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1482,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1507,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1517,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1512,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1432,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1401,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/gltools.c:1462,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/utils/gltools.c:1447,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/utils/gltools.c:1452,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1471,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1492,1
    - Dst: glMapBuffer
      Src: /src/gpac/src/utils/gltools.c:1493,1
    - Dst: glUnmapBuffer
      Src: /src/gpac/src/utils/gltools.c:1501,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/utils/gltools.c:1516,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 1
    argNames:
    - PBOs
    argTypes:
    - tx
    constantsTouched: []
    func_position:
      end: 1523
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1523
    functionName: if
    functionSourceFile: /src/gpac/src/utils/gltools.c
    functionUses: []
    functionsReached:
    - glMapBuffer
    - glPixelStorei
    - glBindTexture
    - glTexImage2D
    - glBindBuffer
    - memcpy
    - glUnmapBuffer
    linkageType: ''
    returnType: else
    signature: 'else if (tx->pbo_state && tx->PBOs[0]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dir_cleanup
      Src: /src/gpac/src/utils/os_file.c:176,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_file.c:179,1
    - Dst: gf_rmdir
      Src: /src/gpac/src/utils/os_file.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: delete_dir
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_file_delete
    - gf_dir_cleanup
    - gf_rmdir
    linkageType: ''
    returnType: Bool
    signature: 'static Bool delete_dir(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_file.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: gf_file_handles_count
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_file_handles_count() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/os_file.c:532,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_file.c:533,1
    - Dst: fclose
      Src: /src/gpac/src/utils/os_file.c:540,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_file.c:541,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_file.c:535,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:543,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/os_file.c:543,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:547,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:548,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/os_file.c:549,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_file.c:550,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/os_file.c:556,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_file.c:551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 558
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 558
    functionName: gf_unregister_file_handle
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_file_delete
    - gf_list_rem
    - gf_free
    - fclose
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_unregister_file_handle(FILE *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: gfio_blob_eof
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gfio_blob_eof(GF_FileIO *fileio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1199
    functionName: gf_fileio_resource_url
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_fileio_resource_url(GF_FileIO *gfio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - gfio
    - buffer
    - nb_bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1237
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1237
    functionName: gf_fileio_read
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_fileio_read(GF_FileIO *gfio, u8 *buffer, u32 nb_bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_file.c:1470,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1476,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/utils/os_file.c:1481,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/utils/os_file.c:1474,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:1481,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_file.c:1482,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/utils/os_file.c:1482,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - URL
    - data
    - size
    argTypes:
    - char*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1484
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1484
    functionName: gf_fileio_from_mem
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_crc_32
    - gf_fileio_new
    - GF_SAFEALLOC
    - gf_free
    - gf_fopen
    - gf_fileio_url
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FileIO *gf_fileio_from_mem(const char *URL, const u8
      *data, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/utils/os_file.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - file_name
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1659
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1659
    functionName: gf_fopen
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT FILE *gf_fopen(const char *file_name, const char *mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:61,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:69,1
    - Dst: RemoveDirectory
      Src: /src/gpac/src/utils/os_file.c:62,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:65,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:64,1
    - Dst: _wrmdir
      Src: /src/gpac/src/utils/os_file.c:72,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:73,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:75,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:76,1
    - Dst: rmdir
      Src: /src/gpac/src/utils/os_file.c:80,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - DirPathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: gf_rmdir
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - rmdir
    - CE_CharToWide
    - GF_LOG
    - GetLastError
    - gf_free
    - gf_utf8_to_wcs
    - _wrmdir
    - RemoveDirectory
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_rmdir(const char *DirPathName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_file.c:190,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_file.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - DirPathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: gf_dir_cleanup
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_enum_directory
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_dir_cleanup(const char* DirPathName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/gpac/src/utils/os_file.c:572,1
    - Dst: TEXT
      Src: /src/gpac/src/utils/os_file.c:571,1
    - Dst: tmpfile
      Src: /src/gpac/src/utils/os_file.c:574,1
    - Dst: GetEnvironmentVariableW
      Src: /src/gpac/src/utils/os_file.c:582,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/utils/os_file.c:585,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:597,1
    - Dst: _getpid
      Src: /src/gpac/src/utils/os_file.c:586,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:600,1
    - Dst: GetTempPath
      Src: /src/gpac/src/utils/os_file.c:567,1
    - Dst: _wfopen
      Src: /src/gpac/src/utils/os_file.c:572,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:579,1
    - Dst: _wtempnam
      Src: /src/gpac/src/utils/os_file.c:587,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_file.c:595,1
    - Dst: gf_wcs_to_utf8
      Src: /src/gpac/src/utils/os_file.c:588,1
    - Dst: free
      Src: /src/gpac/src/utils/os_file.c:601,1
    - Dst: tmpfile
      Src: /src/gpac/src/utils/os_file.c:605,1
    - Dst: gf_register_file_handle
      Src: /src/gpac/src/utils/os_file.c:609,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:579,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_file.c:586,1
    - Dst: swprintf
      Src: /src/gpac/src/utils/os_file.c:586,1
    - Dst: GetTempFileName
      Src: /src/gpac/src/utils/os_file.c:571,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_file.c:591,1
    - Dst: gf_unregister_file_handle
      Src: /src/gpac/src/utils/os_file.c:593,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 612
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 612
    functionName: gf_file_temp_os
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - GetTempPath
    - gf_register_file_handle
    - GetTempFileName
    - GF_LOG
    - _getpid
    - GetLastError
    - _wfopen
    - GetEnvironmentVariableW
    - free
    - gf_rand
    - TEXT
    - gf_strdup
    - gf_rand_init
    - swprintf
    - tmpfile
    - gf_fopen
    - gf_unregister_file_handle
    - _wtempnam
    - gf_free
    - gf_wcs_to_utf8
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *gf_file_temp_os(char ** const fileName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1136,1
    - Dst: memchr
      Src: /src/gpac/src/utils/os_file.c:1141,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_file.c:1147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - fileio
    - ptr
    - size
    argTypes:
    - GF_FileIO*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1150
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1150
    functionName: gfio_blob_gets
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - memchr
    - gf_fileio_get_udta
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *gfio_blob_gets(GF_FileIO *fileio, char *ptr, u32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1205,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1208,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1206,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1209
    functionName: gf_fileio_del
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fileio_del(GF_FileIO *gfio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - gfio
    - buffer
    - nb_bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1244
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1244
    functionName: gf_fileio_write
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_fileio_write(GF_FileIO *gfio, u8 *buffer, u32 nb_bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_unregister_file_handle
      Src: /src/gpac/src/utils/os_file.c:1667,1
    - Dst: fclose
      Src: /src/gpac/src/utils/os_file.c:1675,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/utils/os_file.c:1671,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1676
    functionName: gf_fclose
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - fclose
    - gf_fileio_open_url
    - gf_fileio_check
    - gf_unregister_file_handle
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_fclose(FILE *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1687,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1695,1
    - Dst: fwrite
      Src: /src/gpac/src/utils/os_file.c:1692,1
    - Dst: gf_fileio_write
      Src: /src/gpac/src/utils/os_file.c:1688,1
    - Dst: _get_errno
      Src: /src/gpac/src/utils/os_file.c:1699,1
    - Dst: strerror_r
      Src: /src/gpac/src/utils/os_file.c:1706,1
    - Dst: strerror_r
      Src: /src/gpac/src/utils/os_file.c:1708,1
    - Dst: strerror
      Src: /src/gpac/src/utils/os_file.c:1711,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - nb_bytes
    - stream
    argTypes:
    - void*
    - size_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1718
    functionName: gf_fwrite
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _get_errno
    - GF_LOG
    - strerror
    - gf_fileio_check
    - fwrite
    - strerror_r
    - gf_fileio_write
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT size_t gf_fwrite(const void *ptr, size_t nb_bytes, FILE
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1847,1
    - Dst: ferror
      Src: /src/gpac/src/utils/os_file.c:1850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: gf_ferror
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_check
    - ferror
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_ferror(FILE *stream) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1528,1
    - Dst: gf_fileio_write_mode
      Src: /src/gpac/src/utils/os_file.c:1540,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1537,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/utils/os_file.c:1544,1
    - Dst: strpbrk
      Src: /src/gpac/src/utils/os_file.c:1540,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1556,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_file.c:1568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1571,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/os_file.c:1571,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1578,1
    - Dst: strpbrk
      Src: /src/gpac/src/utils/os_file.c:1621,1
    - Dst: gf_register_file_handle
      Src: /src/gpac/src/utils/os_file.c:1617,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:1623,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1605,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1503,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1521,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1536,1
    - Dst: gf_fileio_read_mode
      Src: /src/gpac/src/utils/os_file.c:1536,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1560,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1579,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1582,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1587,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:1596,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1601,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1606,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1600,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1588,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_file.c:1569,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1616,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1508,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1519,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:1531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1547,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_file.c:1558,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1562,1
    - Dst: fopen64
      Src: /src/gpac/src/utils/os_file.c:1608,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1619,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_file.c:1587,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1624,1
    - Dst: fopen
      Src: /src/gpac/src/utils/os_file.c:1612,1
    - Dst: gf_fileio_from_blob
      Src: /src/gpac/src/utils/os_file.c:1512,1
    - Dst: gf_register_file_handle
      Src: /src/gpac/src/utils/os_file.c:1514,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_file.c:1510,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:1533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1541,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/os_file.c:1547,1
    - Dst: gf_register_file_handle
      Src: /src/gpac/src/utils/os_file.c:1552,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1557,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1559,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1561,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:1597,1
    - Dst: _wfsopen
      Src: /src/gpac/src/utils/os_file.c:1604,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1626,1
    - Dst: fopen
      Src: /src/gpac/src/utils/os_file.c:1610,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 132
    argCount: 4
    argNames:
    - file_name
    - parent_name
    - mode
    - no_warn
    argTypes:
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1631
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1631
    functionName: gf_fopen_ex
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - fopen
    - gf_fileio_read_mode
    - gf_fileio_write_mode
    - gf_register_file_handle
    - strncmp
    - gf_fileio_from_blob
    - GF_LOG
    - GetLastError
    - strstr
    - gf_fileio_open_url
    - gf_fileio_from_url
    - gf_error_to_string
    - gf_strdup
    - strcmp
    - _wfsopen
    - fopen64
    - gf_th_id
    - gf_mkdir
    - strpbrk
    - strchr
    - gf_utf8_to_wcs
    - gf_free
    - gf_dir_exists
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT FILE *gf_fopen_ex(const char *file_name, const char *parent_name,
      const char *mode, Bool no_warn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:201,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:206,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:212,1
    - Dst: DeleteFile
      Src: /src/gpac/src/utils/os_file.c:207,1
    - Dst: DeleteFileW
      Src: /src/gpac/src/utils/os_file.c:215,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:216,1
    - Dst: remove
      Src: /src/gpac/src/utils/os_file.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: gf_file_delete
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - DeleteFile
    - CE_CharToWide
    - GF_LOG
    - remove
    - gf_utf8_to_wcs
    - DeleteFileW
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_file_delete(const char *fileName) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:262,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/utils/os_file.c:277,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:264,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:274,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:272,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/utils/os_file.c:277,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:285,1
    - Dst: _waccess
      Src: /src/gpac/src/utils/os_file.c:287,1
    - Dst: GetFileAttributesW
      Src: /src/gpac/src/utils/os_file.c:290,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:294,1
    - Dst: access
      Src: /src/gpac/src/utils/os_file.c:297,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_file.c:312,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_file.c:308,1
    - Dst: access
      Src: /src/gpac/src/utils/os_file.c:307,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_file.c:314,1
    - Dst: access
      Src: /src/gpac/src/utils/os_file.c:302,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_file.c:298,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_file.c:303,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 2
    argNames:
    - fileName
    - par_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: gf_file_exists_ex
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - access
    - gf_fileio_from_url
    - strncmp
    - gf_fileio_resource_url
    - _waccess
    - gf_dir_exists
    - gf_utf8_to_wcs
    - GetFileAttributesW
    - gf_fclose
    - gf_fopen
    - gf_fileio_open_url
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_file_exists_ex(const char *fileName, const char
      *par_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1113,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_file.c:1117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: gfio_blob_read
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - memcpy
    linkageType: ''
    returnType: u32
    signature: 'static u32 gfio_blob_read(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    functionName: gf_fileio_get_udta
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_fileio_get_udta(GF_FileIO *gfio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/gpac/src/utils/os_file.c:1254,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/os_file.c:1255,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/os_file.c:1260,1
    - Dst: va_end
      Src: /src/gpac/src/utils/os_file.c:1256,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/os_file.c:1262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - gfio
    - format
    - args
    argTypes:
    - GF_FileIO*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 1265
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1265
    functionName: gf_fileio_printf
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - va_end
    - gf_realloc
    - vsnprintf
    - va_copy
    linkageType: ''
    returnType: int
    signature: 'int gf_fileio_printf(GF_FileIO *gfio, const char *format, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1277
    functionName: gf_fileio_read_mode
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fileio_read_mode(GF_FileIO *gfio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - gfio
    - bytes_done
    - file_size
    - cache_state
    - bytes_per_sec
    argTypes:
    - GF_FileIO*
    - u64
    - u64
    - GF_FileIOCacheState
    - u32
    constantsTouched: []
    func_position:
      end: 1336
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1336
    functionName: gf_fileio_set_stats
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fileio_set_stats(GF_FileIO *gfio, u64 bytes_done,
      u64 file_size, GF_FileIOCacheState cache_state, u32 bytes_per_sec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1410,1
    - Dst: fseek
      Src: /src/gpac/src/utils/os_file.c:1426,1
    - Dst: fseek
      Src: /src/gpac/src/utils/os_file.c:1421,1
    - Dst: fseeko64
      Src: /src/gpac/src/utils/os_file.c:1424,1
    - Dst: _fseeki64
      Src: /src/gpac/src/utils/os_file.c:1429,1
    - Dst: fseeko64
      Src: /src/gpac/src/utils/os_file.c:1431,1
    - Dst: fseeko
      Src: /src/gpac/src/utils/os_file.c:1433,1
    - Dst: fseek
      Src: /src/gpac/src/utils/os_file.c:1435,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - fp
    - offset
    - whence
    argTypes:
    - FILE*
    - s64
    - s32
    constantsTouched: []
    func_position:
      end: 1437
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1437
    functionName: gf_fseek
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - fseek
    - fseeko
    - _fseeki64
    - fseeko64
    - gf_fileio_check
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_fseek(FILE *fp, s64 offset, s32 whence) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_exists_ex
      Src: /src/gpac/src/utils/os_file.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: gf_file_exists
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_file_exists_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_file_exists(const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1126
    functionName: gfio_blob_tell
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: s64
    signature: 'static s64 gfio_blob_tell(GF_FileIO *fileio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - gfio_ref
    - url
    - mode
    - out_err
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1229
    functionName: gf_fileio_open_url
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FileIO *gf_fileio_open_url(GF_FileIO *gfio_ref, const
      char *url, const char *mode, GF_Err *out_err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1271
    functionName: gf_fileio_write_mode
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fileio_write_mode(GF_FileIO *gfio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1285,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1292,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_file.c:1288,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/os_file.c:1287,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1296
    functionName: gf_fileio_from_url
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - sscanf
    - sprintf
    - strcmp
    - strncmp
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FileIO *gf_fileio_from_url(const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - gfio
    - write_state
    argTypes:
    - GF_FileIO*
    - GF_FileIOWriteState
    constantsTouched: []
    func_position:
      end: 1343
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1343
    functionName: gf_fileio_set_write_state
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fileio_set_write_state(GF_FileIO *gfio, GF_FileIOWriteState
      write_state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_get
      Src: /src/gpac/src/utils/os_file.c:1445,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_file.c:1454,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/utils/os_file.c:1447,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/utils/os_file.c:1458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:1450,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/utils/os_file.c:1462,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:1462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1464
    functionName: gf_fileio_from_blob
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_crc_32
    - GF_LOG
    - gf_fileio_new
    - gf_blob_get
    - GF_SAFEALLOC
    - gf_blob_release
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *gf_fileio_from_blob(const char *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    functionName: gf_set_mainloop_thread
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_set_mainloop_thread(u32 thread_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:1640,1
    - Dst: open
      Src: /src/gpac/src/utils/os_file.c:1646,1
    - Dst: _wopen
      Src: /src/gpac/src/utils/os_file.c:1642,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1643,1
    - Dst: open
      Src: /src/gpac/src/utils/os_file.c:1648,1
    - Dst: open
      Src: /src/gpac/src/utils/os_file.c:1650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - file_name
    - oflags
    - uflags
    argTypes:
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1653
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1653
    functionName: gf_fd_open
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _wopen
    - open
    - gf_utf8_to_wcs
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_fd_open(const char *file_name, u32 oflags, u32 uflags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fstat64
      Src: /src/gpac/src/utils/os_file.c:1883,1
    - Dst: fstat
      Src: /src/gpac/src/utils/os_file.c:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1893
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1893
    functionName: gf_fd_fsize
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _fstat64
    - fstat
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_fd_fsize(int fd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1858,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/os_file.c:1868,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/os_file.c:1861,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/os_file.c:1867,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/os_file.c:1866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1870
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1870
    functionName: gf_fsize
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_ftell
    - gf_fileio_check
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_fsize(FILE *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_file.c:1905,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_file.c:1912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1922
    functionName: gf_file_basename
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * gf_file_basename(const char* filename) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:95,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:98,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:99,1
    - Dst: CreateDirectory
      Src: /src/gpac/src/utils/os_file.c:96,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:105,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:106,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:107,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:109,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:113,1
    - Dst: _wmkdir
      Src: /src/gpac/src/utils/os_file.c:116,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:122,1
    - Dst: mkdir
      Src: /src/gpac/src/utils/os_file.c:126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:129,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:132,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - DirPathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 138
    functionName: gf_mkdir
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _wmkdir
    - strncmp
    - CreateDirectory
    - CE_CharToWide
    - strcmp
    - GF_LOG
    - GetLastError
    - mkdir
    - strchr
    - gf_utf8_to_wcs
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_mkdir(const char* DirPathName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1021
    functionName: gf_fileio_check
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fileio_check(FILE *fp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1062,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1063,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1063,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/utils/os_file.c:1070,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:1069,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1073,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1078,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1082,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/utils/os_file.c:1083,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:1083,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - fileio_ref
    - url
    - mode
    - out_error
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1098
    functionName: gfio_blob_open
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_crc_32
    - gf_fileio_get_udta
    - strcmp
    - gf_fileio_del
    - gf_free
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *gfio_blob_open(GF_FileIO *fileio_ref, const char
      *url, const char *mode, GF_Err *out_error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1303
    functionName: gf_fileio_translate_url
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_from_url
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_fileio_translate_url(const char *url) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 5
    argNames:
    - gfio
    - bytes_done
    - file_size
    - cache_state
    - bytes_per_sec
    argTypes:
    - GF_FileIO*
    - u64*
    - u64*
    - GF_FileIOCacheState*
    - u32*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1356
    functionName: gf_fileio_get_stats
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_check
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fileio_get_stats(GF_FileIO *gfio, u64 *bytes_done,
      u64 *file_size, GF_FileIOCacheState *cache_state, u32 *bytes_per_sec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1786,1
    - Dst: fputs
      Src: /src/gpac/src/utils/os_file.c:1793,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:1788,1
    - Dst: gf_fileio_write
      Src: /src/gpac/src/utils/os_file.c:1789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - stream
    argTypes:
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1794
    functionName: gf_fputs
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fileio_write
    - gf_fileio_check
    - fputs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_fputs(const char *buf, FILE *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1815,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/os_file.c:1818,1
    - Dst: gf_fileio_printf
      Src: /src/gpac/src/utils/os_file.c:1816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - format
    - args
    argTypes:
    - FILE*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 1821
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1821
    functionName: gf_vfprintf
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - vfprintf
    - gf_fileio_check
    - gf_fileio_printf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_vfprintf(FILE *stream, const char *format, va_list
      args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:147,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:152,1
    - Dst: GetFileAttributesW
      Src: /src/gpac/src/utils/os_file.c:155,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:156,1
    - Dst: GetFileAttributes
      Src: /src/gpac/src/utils/os_file.c:148,1
    - Dst: stat
      Src: /src/gpac/src/utils/os_file.c:160,1
    - Dst: S_ISDIR
      Src: /src/gpac/src/utils/os_file.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - DirPathName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 170
    functionName: gf_dir_exists
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - stat
    - CE_CharToWide
    - GetFileAttributes
    - S_ISDIR
    - gf_utf8_to_wcs
    - gf_free
    - GetFileAttributesW
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_dir_exists(const char* DirPathName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/os_file.c:504,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_file.c:515,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_file.c:513,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_file.c:506,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_file.c:505,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/os_file.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - filename
    - ptr
    - is_temp_file
    argTypes:
    - char*
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 520
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 520
    functionName: gf_register_file_handle
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - gf_mx_p
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void gf_register_file_handle(char *filename, FILE *ptr, Bool
      is_temp_file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_file.c:626,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:622,1
    - Dst: gf_sys_get_process_id
      Src: /src/gpac/src/utils/os_file.c:629,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_file.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:641,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:638,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_file.c:629,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_file.c:629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:637,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:644,1
    - Dst: gf_file_temp_os
      Src: /src/gpac/src/utils/os_file.c:650,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_file.c:624,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/os_file.c:630,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_file.c:636,1
    - Dst: gf_register_file_handle
      Src: /src/gpac/src/utils/os_file.c:647,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_file.c:632,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_file.c:617,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:625,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_file.c:629,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/utils/os_file.c:642,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 651
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 651
    functionName: gf_file_temp
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_fopen_ex
    - gf_register_file_handle
    - gf_file_temp_os
    - sprintf
    - GF_LOG
    - gf_sys_get_process_id
    - gf_file_exists
    - strchr
    - gf_sys_clock_high_res
    - gf_rand
    - gf_free
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT FILE *gf_file_temp(char ** const fileName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1036
    functionName: gf_fileio_write_ready
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_FileIOWriteState gf_fileio_write_ready(FILE *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/utils/os_file.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fileio
    - offset
    - whence
    argTypes:
    - GF_FileIO*
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 1110
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1110
    functionName: gfio_blob_seek
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gfio_blob_seek(GF_FileIO *fileio, u64 offset, s32 whence) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1309
    functionName: gf_fileio_eof
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_fileio_eof(GF_FileIO *fileio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1364
    functionName: gf_fileio_tag_main_thread
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fileio_tag_main_thread(GF_FileIO *fileio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/os_file.c:1801,1
    - Dst: va_end
      Src: /src/gpac/src/utils/os_file.c:1807,1
    - Dst: gf_fileio_printf
      Src: /src/gpac/src/utils/os_file.c:1803,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1802,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/os_file.c:1805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - format
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1809
    functionName: gf_fprintf
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - va_end
    - gf_fileio_printf
    - va_start
    - gf_fileio_check
    - vfprintf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_fprintf(FILE *stream, const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1826,1
    - Dst: fflush
      Src: /src/gpac/src/utils/os_file.c:1829,1
    - Dst: gf_fileio_flush
      Src: /src/gpac/src/utils/os_file.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1830
    functionName: gf_fflush
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_flush
    - gf_fileio_check
    - fflush
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_fflush(FILE *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_file.c:232,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: gf_sanetize_single_quoted_string
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char * gf_sanetize_single_quoted_string(const char *src) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1932,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/utils/os_file.c:1934,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/utils/os_file.c:1936,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_file.c:1939,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:1933,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_file.c:1941,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_file.c:1943,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: gf_file_ext_start
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_from_url
    - strncmp
    - gf_fileio_resource_url
    - strcmp
    - strrchr
    - gf_file_basename
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * gf_file_ext_start(const char* filename) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:334,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:345,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:346,1
    - Dst: MoveFileW
      Src: /src/gpac/src/utils/os_file.c:349,1
    - Dst: gf_sanetize_single_quoted_string
      Src: /src/gpac/src/utils/os_file.c:366,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/os_file.c:390,1
    - Dst: MoveFile
      Src: /src/gpac/src/utils/os_file.c:336,1
    - Dst: waitpid
      Src: /src/gpac/src/utils/os_file.c:377,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:343,1
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:335,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:350,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/os_file.c:367,1
    - Dst: rename
      Src: /src/gpac/src/utils/os_file.c:362,1
    - Dst: posix_spawn
      Src: /src/gpac/src/utils/os_file.c:376,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:384,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:351,1
    - Dst: system
      Src: /src/gpac/src/utils/os_file.c:380,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:385,1
    - Dst: gf_sanetize_single_quoted_string
      Src: /src/gpac/src/utils/os_file.c:365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:390,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - fileName
    - newFileName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 393
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 393
    functionName: gf_file_move
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - system
    - snprintf
    - rename
    - gf_error_to_string
    - CE_CharToWide
    - MoveFileW
    - posix_spawn
    - waitpid
    - MoveFile
    - GF_LOG
    - gf_utf8_to_wcs
    - gf_free
    - gf_sanetize_single_quoted_string
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_file_move(const char *fileName, const char *newFileName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/os_file.c:483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_file.c:489,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_file.c:484,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/os_file.c:486,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/os_file.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u32*
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: enum_open_handles
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: char*
    signature: 'const char *enum_open_handles(u32 *idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1049
    functionName: gf_fileio_get_write_rate
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_fileio_get_write_rate(FILE *fp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/os_file.c:1168,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_file.c:1183,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_file.c:1181,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_file.c:1184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 9
    argNames:
    - url
    - udta
    - open
    - seek
    - read
    - write
    - tell
    - eof
    - printf
    argTypes:
    - char*
    - void*
    - gfio_open_proc
    - gfio_seek_proc
    - gfio_read_proc
    - gfio_write_proc
    - gfio_tell_proc
    - gfio_eof_proc
    - gfio_printf_proc
    constantsTouched: []
    func_position:
      end: 1187
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1187
    functionName: gf_fileio_new
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - sprintf
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: "GF_EXPORT GF_FileIO *gf_fileio_new(char *url, void *udta,\tgfio_open_proc
      open,\tgfio_seek_proc seek,\tgfio_read_proc read,\tgfio_write_proc write,\tgfio_tell_proc
      tell,\tgfio_eof_proc eof,\tgfio_printf_proc printf) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1316
    functionName: gf_fileio_flush
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int gf_fileio_flush(GF_FileIO *fileio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/utils/os_file.c:1369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1372
    functionName: gf_fileio_is_main_thread
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_from_url
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fileio_is_main_thread(const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1724,1
    - Dst: fread
      Src: /src/gpac/src/utils/os_file.c:1727,1
    - Dst: gf_fileio_read
      Src: /src/gpac/src/utils/os_file.c:1725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - nbytes
    - stream
    argTypes:
    - void*
    - size_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1729
    functionName: gf_fread
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - fread
    - gf_fileio_check
    - gf_fileio_read
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT size_t gf_fread(void *ptr, size_t nbytes, FILE *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1758,1
    - Dst: gf_fileio_read
      Src: /src/gpac/src/utils/os_file.c:1761,1
    - Dst: fgetc
      Src: /src/gpac/src/utils/os_file.c:1765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1766
    functionName: gf_fgetc
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_check
    - fgetc
    - gf_fileio_read
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_fgetc(FILE *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CE_CharToWide
      Src: /src/gpac/src/utils/os_file.c:405,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_file.c:413,1
    - Dst: FindFirstFile
      Src: /src/gpac/src/utils/os_file.c:406,1
    - Dst: FindClose
      Src: /src/gpac/src/utils/os_file.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_file.c:414,1
    - Dst: gf_utf8_to_wcs
      Src: /src/gpac/src/utils/os_file.c:421,1
    - Dst: _wstat64
      Src: /src/gpac/src/utils/os_file.c:424,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_file.c:425,1
    - Dst: stat
      Src: /src/gpac/src/utils/os_file.c:434,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 448
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 448
    functionName: gf_file_modification_time
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _wstat64
    - stat
    - CE_CharToWide
    - GF_LOG
    - GetLastError
    - FindClose
    - gf_utf8_to_wcs
    - gf_free
    - FindFirstFile
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_file_modification_time(const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - gfio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 1193
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1193
    functionName: gf_fileio_url
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_fileio_url(GF_FileIO *gfio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_url
      Src: /src/gpac/src/utils/os_file.c:1325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - gfio
    - new_res_url
    argTypes:
    - GF_FileIO*
    - char*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1326
    functionName: gf_fileio_factory
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_url
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_fileio_factory(GF_FileIO *gfio, const char
      *new_res_url) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1381,1
    - Dst: ftell
      Src: /src/gpac/src/utils/os_file.c:1388,1
    - Dst: ftell
      Src: /src/gpac/src/utils/os_file.c:1393,1
    - Dst: ftello64
      Src: /src/gpac/src/utils/os_file.c:1391,1
    - Dst: _ftelli64
      Src: /src/gpac/src/utils/os_file.c:1396,1
    - Dst: ftello64
      Src: /src/gpac/src/utils/os_file.c:1398,1
    - Dst: ftello
      Src: /src/gpac/src/utils/os_file.c:1400,1
    - Dst: ftell
      Src: /src/gpac/src/utils/os_file.c:1402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1404
    functionName: gf_ftell
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - _ftelli64
    - ftello
    - gf_fileio_check
    - ftell
    - ftello64
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_ftell(FILE *fp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1734,1
    - Dst: fgets
      Src: /src/gpac/src/utils/os_file.c:1752,1
    - Dst: gf_fileio_read
      Src: /src/gpac/src/utils/os_file.c:1742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - ptr
    - size
    - stream
    argTypes:
    - char*
    - size_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1753
    functionName: gf_fgets
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - fgets
    - gf_fileio_check
    - gf_fileio_read
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_fgets(char *ptr, size_t size, FILE *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1771,1
    - Dst: fputc
      Src: /src/gpac/src/utils/os_file.c:1780,1
    - Dst: gf_fileio_write
      Src: /src/gpac/src/utils/os_file.c:1776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - val
    - stream
    argTypes:
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1781
    functionName: gf_fputc
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_write
    - gf_fileio_check
    - fputc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_fputc(int val, FILE *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_check
      Src: /src/gpac/src/utils/os_file.c:1837,1
    - Dst: gf_fileio_eof
      Src: /src/gpac/src/utils/os_file.c:1838,1
    - Dst: feof
      Src: /src/gpac/src/utils/os_file.c:1840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1841
    functionName: gf_feof
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_eof
    - gf_fileio_check
    - feof
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_feof(FILE *stream) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1970,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2003,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2024,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_file.c:1967,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1969,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_file.c:1969,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1976,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2000,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_file.c:2009,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1999,1
    - Dst: isalnum
      Src: /src/gpac/src/utils/os_file.c:2016,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:2037,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_file.c:2045,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1962,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1975,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:1998,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2030,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_file.c:2011,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2035,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_file.c:2039,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2043,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_file.c:1978,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_file.c:1995,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_file.c:2010,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2031,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_file.c:2042,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 130
    argCount: 2
    argNames:
    - path
    - assign_sep
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 2050
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 2050
    functionName: gf_url_colon_suffix
    functionSourceFile: /src/gpac/src/utils/os_file.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - strlen
    - strncmp
    - isalnum
    - strrchr
    - atoi
    - strchr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * gf_url_colon_suffix(const char *path, char assign_sep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: rotateLeft
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 rotateLeft(u32 x, u32 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md5Step
      Src: /src/gpac/src/utils/md5.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - input_buffer
    - input_len
    argTypes:
    - MD5Context*
    - u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 126
    functionName: md5Update
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached:
    - md5Step
    linkageType: ''
    returnType: void
    signature: 'void md5Update(MD5Context *ctx, u8 *input_buffer, size_t input_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5Init
      Src: /src/gpac/src/utils/md5.c:219,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/md5.c:222,1
    - Dst: md5Finalize
      Src: /src/gpac/src/utils/md5.c:221,1
    - Dst: md5Update
      Src: /src/gpac/src/utils/md5.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - len
    - output
    argTypes:
    - void*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: gf_md5_csum
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached:
    - md5Finalize
    - md5Init
    - memcpy
    - md5Update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_md5_csum(const void *data, u32 len, u8 output[GF_MD5_DIGEST_SIZE]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/gpac/src/utils/md5.c:179,1
    - Dst: G
      Src: /src/gpac/src/utils/md5.c:183,1
    - Dst: rotateLeft
      Src: /src/gpac/src/utils/md5.c:199,1
    - Dst: H
      Src: /src/gpac/src/utils/md5.c:187,1
    - Dst: I
      Src: /src/gpac/src/utils/md5.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - buffer
    - input
    argTypes:
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 207
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 207
    functionName: md5Step
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached:
    - I
    - G
    - rotateLeft
    - H
    - F
    linkageType: ''
    returnType: void
    signature: 'static void md5Step(u32 *buffer, u32 *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5Update
      Src: /src/gpac/src/utils/md5.c:138,1
    - Dst: md5Step
      Src: /src/gpac/src/utils/md5.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD5Context*
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: md5Finalize
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached:
    - md5Step
    - md5Update
    linkageType: ''
    returnType: void
    signature: 'void md5Finalize(MD5Context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD5Context*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: md5Init
    functionSourceFile: /src/gpac/src/utils/md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void md5Init(MD5Context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1330,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1331,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - secName
    - keyName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1335
    functionName: gf_opts_get_key
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcmp
    - gf_cfg_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_opts_get_key(const char *secName, const char
      *keyName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_section_name
      Src: /src/gpac/src/utils/os_config_init.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - secIndex
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1359
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1359
    functionName: gf_opts_get_section_name
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_section_name
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_opts_get_section_name(u32 secIndex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1697,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1699,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1703,1
    - Dst: gpac_opt_default
      Src: /src/gpac/src/utils/os_config_init.c:1700,1
    - Dst: atoi
      Src: /src/gpac/src/utils/os_config_init.c:1715,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - secName
    - keyName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1717
    functionName: gf_opts_get_int
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_opts_get_key
    - strcmp
    - atoi
    - gpac_opt_default
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_opts_get_int(const char *secName, const char *keyName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_options
      Src: /src/gpac/src/utils/os_config_init.c:2072,1
    - Dst: gf_sys_print_arg
      Src: /src/gpac/src/utils/os_config_init.c:2087,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - helpout
    - flags
    - mode
    - subsystem_flags
    argTypes:
    - FILE*
    - GF_SysPrintArgFlags
    - GF_SysArgMode
    - u32
    constantsTouched: []
    func_position:
      end: 2089
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2089
    functionName: gf_sys_print_core_help
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_sys_print_arg
    - gf_sys_get_options
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_print_core_help(FILE *helpout, GF_SysPrintArgFlags
      flags, GF_SysArgMode mode, u32 subsystem_flags) '
  - BBCount: 129
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2351,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2420,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2547,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2439,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2549,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2608,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2622,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2257,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2258,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2340,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2343,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2354,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2368,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2394,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2607,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2619,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2629,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2669,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2435,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2445,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/os_config_init.c:2204,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2262,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2387,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2453,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2611,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2657,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2686,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2698,1
    - Dst: vsprintf
      Src: /src/gpac/src/utils/os_config_init.c:2211,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2463,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2580,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2607,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2609,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2673,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2642,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2694,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2637,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2641,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_config_init.c:2594,1
    - Dst: va_end
      Src: /src/gpac/src/utils/os_config_init.c:2205,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2327,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2542,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2496,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2610,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2610,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2612,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2622,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2660,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2424,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2499,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2593,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2365,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2370,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2398,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2614,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2644,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2511,1
    - Dst: check_char_balanced
      Src: /src/gpac/src/utils/os_config_init.c:2216,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2390,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2478,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2502,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2613,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2639,1
    - Dst: va_start
      Src: /src/gpac/src/utils/os_config_init.c:2203,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2241,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2361,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2431,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2510,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2602,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2623,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2633,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2648,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2520,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2586,1
    - Dst: va_end
      Src: /src/gpac/src/utils/os_config_init.c:2212,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2393,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2538,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2532,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2613,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2615,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2638,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2639,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2678,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2690,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2454,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2476,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2259,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2373,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2617,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2623,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2696,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2603,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2525,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2357,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2616,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2636,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2639,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2666,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2246,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2266,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2353,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2391,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2605,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:2623,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2624,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2598,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2604,1
    - Dst: va_start
      Src: /src/gpac/src/utils/os_config_init.c:2210,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2258,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2337,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2382,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2575,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2584,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2616,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2618,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2661,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/os_config_init.c:2208,1
    - Dst: check_char_balanced
      Src: /src/gpac/src/utils/os_config_init.c:2217,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2325,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2596,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2620,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2621,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2625,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2645,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2679,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2521,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2577,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/utils/os_config_init.c:2380,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2468,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2505,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2604,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2606,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2619,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2628,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2635,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 611
    argCount: 3
    argNames:
    - helpout
    - flags
    - fmt
    - '...'
    argTypes:
    - FILE*
    - GF_SysPrintArgFlags
    - char*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2701
    functionName: gf_sys_format_help
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_sys_set_console_code
    - strlen
    - va_end
    - check_char_balanced
    - strncmp
    - gf_realloc
    - fprintf
    - strcmp
    - va_start
    - strchr
    - vsprintf
    - gf_assert
    - vsnprintf
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_format_help(FILE *helpout, GF_SysPrintArgFlags
      flags, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - secName
    - keyName
    - keyValue
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1341
    functionName: gf_opts_set_key
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_set_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_opts_set_key(const char *secName, const char *keyName,
      const char *keyValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - secName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1365
    functionName: gf_opts_get_key_count
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_key_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_opts_get_key_count(const char *secName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: gf_sys_get_options
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_GPACArg *gf_sys_get_options() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1726,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_config_init.c:1743,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1766,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1774,1
    - Dst: gpac_disable_progress
      Src: /src/gpac/src/utils/os_config_init.c:1783,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1767,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1780,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1780,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_config_init.c:1730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1736,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1747,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_config_init.c:1756,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1777,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/os_config_init.c:1762,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1779,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1759,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1780,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1724,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1727,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/utils/os_config_init.c:1732,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1749,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1765,1
    - Dst: gf_opts_del_section
      Src: /src/gpac/src/utils/os_config_init.c:1770,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1779,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1780,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 1
    argNames:
    - opt_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1787
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1787
    functionName: gf_sys_set_cfg_option
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_opts_del_section
    - GF_LOG
    - strcmp
    - gpac_disable_progress
    - gf_opts_set_key
    - memcpy
    - strchr
    - strncpy
    - stricmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_set_cfg_option(const char *opt_string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gpac/src/utils/os_config_init.c:2710,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/os_config_init.c:2711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - text
    - subtext
    - subtext_len
    argTypes:
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2718
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2718
    functionName: gf_strnistr
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strnicmp
    - tolower
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_strnistr(const char *text, const char *subtext,
      u32 subtext_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2140,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:2151,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2148,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2150,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2168,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:2169,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 2173
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2173
    functionName: check_char_balanced
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void check_char_balanced(char *buf, char c) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:282,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:290,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:287,1
    - Dst: getenv
      Src: /src/gpac/src/utils/os_config_init.c:285,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:288,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:294,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:295,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:298,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:300,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:303,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - file_path
    - path_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: get_default_install_path
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcat
    - get_default_install_path
    - gf_dir_exists
    - strcpy
    - getenv
    linkageType: ''
    returnType: Bool
    signature: 'static Bool get_default_install_path(char *file_path, u32 path_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:268,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:271,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:272,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - app_data
    - ext_storage
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: gf_sys_set_android_paths
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_set_android_paths(const char *app_data, const
      char *ext_storage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1258,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:1263,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - path_buffer
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1264
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1264
    functionName: gf_opts_default_shared_directory
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcpy
    - get_default_install_path
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_opts_default_shared_directory(char *path_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_section_count
      Src: /src/gpac/src/utils/os_config_init.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1353
    functionName: gf_opts_get_section_count
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_section_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_opts_get_section_count() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/src/utils/os_config_init.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1392
    functionName: gf_opts_discard_changes
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_discard_changes
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_opts_discard_changes() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_config_init.c:2100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2104
    functionName: gf_sys_cleanup_help
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sys_cleanup_help() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:326,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:329,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:328,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - file_path
    - path_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: get_default_install_path
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool get_default_install_path(char *file_path, u32 path_type) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1801,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1814,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1826,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1843,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:1830,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:1830,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1848,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1861,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1867,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1869,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1810,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1839,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1831,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1853,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1865,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1878,1
    - Dst: gf_sys_set_cfg_option
      Src: /src/gpac/src/utils/os_config_init.c:1811,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1808,1
    - Dst: gf_opts_get_section_name
      Src: /src/gpac/src/utils/os_config_init.c:1825,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:1831,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/src/utils/os_config_init.c:1836,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1845,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1859,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1861,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1865,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1879,1
    - Dst: gf_module_reload_dirs
      Src: /src/gpac/src/utils/os_config_init.c:1880,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1802,1
    - Dst: gf_opts_get_section_count
      Src: /src/gpac/src/utils/os_config_init.c:1815,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1820,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1837,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/utils/os_config_init.c:1854,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1861,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1863,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1865,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1876,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 114
    argCount: 4
    argNames:
    - arg_name
    - val
    - consumed_next
    - e
    argTypes:
    - char*
    - char*
    - Bool*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1885
    functionName: gf_opts_load_option
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - fprintf
    - strcmp
    - gf_opts_get_key_count
    - gf_opts_set_key
    - gf_module_reload_dirs
    - strchr
    - gf_opts_get_section_name
    - gf_log_set_strict_error
    - gf_opts_get_key_name
    - gf_opts_get_section_count
    - gf_sys_set_cfg_option
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_opts_load_option(const char *arg_name, const char *val, Bool
      *consumed_next, GF_Err *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_config_init.c:1023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: delete_tmp_files
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_file_delete
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool delete_tmp_files(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:74,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: mod_enum
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mod_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_init
      Src: /src/gpac/src/utils/os_config_init.c:1274,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1276,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1279,1
    - Dst: gf_modules_new
      Src: /src/gpac/src/utils/os_config_init.c:1280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - profile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1282
    functionName: gf_init_global_config
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_cfg_init
    - exit
    - stricmp
    - gf_modules_new
    linkageType: ''
    returnType: void
    signature: 'void gf_init_global_config(const char *profile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_del_section
      Src: /src/gpac/src/utils/os_config_init.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - secName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1347
    functionName: gf_opts_del_section
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_del_section
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_opts_del_section(const char *secName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/os_config_init.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - secName
    - keyIndex
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1371
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1371
    functionName: gf_opts_get_key_name
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_key_name
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_opts_get_key_name(const char *secName, u32
      keyIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_filename
      Src: /src/gpac/src/utils/os_config_init.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1387
    functionName: gf_opts_get_filename
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_filename
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_opts_get_filename() '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/gpac/src/utils/os_config_init.c:461,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:603,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:648,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:568,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/utils/os_config_init.c:401,1
    - Dst: _NSGetExecutablePath
      Src: /src/gpac/src/utils/os_config_init.c:414,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:474,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:517,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:502,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:578,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:616,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:547,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_config_init.c:369,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:399,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:444,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:549,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:525,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:659,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:561,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:558,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:389,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:395,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:405,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:493,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:597,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:604,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:629,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:658,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:670,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:503,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:556,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:531,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:589,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:592,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:383,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:393,1
    - Dst: GetModuleFileNameA
      Src: /src/gpac/src/utils/os_config_init.c:431,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:584,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:677,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:538,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:543,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:367,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:585,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:617,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:639,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:646,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:371,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:368,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:395,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:532,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:593,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:621,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:641,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:647,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:652,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:390,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:400,1
    - Dst: readlink
      Src: /src/gpac/src/utils/os_config_init.c:422,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:433,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:464,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:501,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:526,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:577,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:550,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:552,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:669,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:453,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:494,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:559,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:562,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:572,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:487,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:637,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:666,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:432,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:446,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:465,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:500,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:596,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:640,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:601,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_config_init.c:512,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:492,1
    - Dst: getenv
      Src: /src/gpac/src/utils/os_config_init.c:376,1
    - Dst: realpath
      Src: /src/gpac/src/utils/os_config_init.c:387,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_config_init.c:406,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:398,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:529,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:586,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:602,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:539,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:581,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:404,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:544,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:569,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:546,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:579,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:671,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:598,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:557,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:560,1
    - Dst: realpath
      Src: /src/gpac/src/utils/os_config_init.c:415,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:625,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:628,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:672,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:537,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:518,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:553,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:540,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:587,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:620,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:624,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:638,1
    - Dst: check_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:573,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:510,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:436,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:623,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:676,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 247
    argCount: 2
    argNames:
    - file_path
    - path_type
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 681
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 681
    functionName: get_default_install_path
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - check_file_exists
    - strstr
    - _NSGetExecutablePath
    - gf_file_delete
    - strcpy
    - getenv
    - gf_mkdir
    - dladdr
    - realpath
    - strcat
    - readlink
    - GetModuleFileNameA
    - get_default_install_path
    - strrchr
    - gf_dir_exists
    - strncpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool get_default_install_path(char *file_path, u32 path_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:723,1
    - Dst: GetWindowsDirectory
      Src: /src/gpac/src/utils/os_config_init.c:726,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:728,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:727,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:727,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:731,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:733,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:736,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - szPath
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 741
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 741
    functionName: gf_get_default_font_dir
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - GetWindowsDirectory
    - strcat
    - strlen
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_get_default_font_dir(char szPath[GF_MAX_PATH]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1035,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:1038,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:1041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1043,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1040,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_config_init.c:1045,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_config_init.c:1045,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_config_init.c:1046,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_config_init.c:1046,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/os_config_init.c:1047,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1059,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_config_init.c:1057,1
    - Dst: fwrite
      Src: /src/gpac/src/utils/os_config_init.c:1062,1
    - Dst: fclose
      Src: /src/gpac/src/utils/os_config_init.c:1063,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1064,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - cfg
    - szPath
    argTypes:
    - GF_Config*
    - char
    constantsTouched: []
    func_position:
      end: 1066
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1066
    functionName: check_default_cred_file
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_cfg_set_key
    - GF_LOG
    - gf_dir_exists
    - gf_cfg_get_key
    - fwrite
    - gf_sys_clock_high_res
    - fclose
    - gf_fopen
    - gf_rand
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void check_default_cred_file(GF_Config *cfg, char szPath[GF_MAX_PATH]) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1089,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1093,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1107,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1128,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:1116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1125,1
    - Dst: check_modules_dir
      Src: /src/gpac/src/utils/os_config_init.c:1119,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1133,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1138,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1139,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1202,1
    - Dst: gf_get_default_cache_directory_ex
      Src: /src/gpac/src/utils/os_config_init.c:1223,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1231,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:1191,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1199,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:1188,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1243,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_config_init.c:1232,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1092,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1098,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:1110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1112,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1132,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1149,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1156,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:1157,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1161,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1177,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1212,1
    - Dst: check_modules_dir
      Src: /src/gpac/src/utils/os_config_init.c:1217,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:1228,1
    - Dst: gf_cfg_get_filename
      Src: /src/gpac/src/utils/os_config_init.c:1227,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:1223,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1244,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1224,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/utils/os_config_init.c:1090,1
    - Dst: strpbrk
      Src: /src/gpac/src/utils/os_config_init.c:1105,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1117,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:1142,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1148,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1152,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1165,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:1168,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1182,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1185,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1207,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1150,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:1178,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:1232,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:1229,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1222,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1192,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1218,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_config_init.c:1246,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:1096,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:1106,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:1123,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1124,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1146,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1147,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1151,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:1166,1
    - Dst: create_default_config
      Src: /src/gpac/src/utils/os_config_init.c:1169,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/os_config_init.c:1173,1
    - Dst: check_default_cred_file
      Src: /src/gpac/src/utils/os_config_init.c:1219,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:1227,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1221,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1234,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 165
    argCount: 1
    argNames:
    - profile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1252
    functionName: gf_cfg_init
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - gf_enum_directory
    - strstr
    - gf_url_colon_suffix
    - strcmp
    - strcpy
    - stricmp
    - check_modules_dir
    - create_default_config
    - gf_cfg_set_key
    - gf_mkdir
    - sprintf
    - gf_cfg_get_key_count
    - strpbrk
    - gf_cfg_new
    - gf_cfg_get_key
    - strcat
    - gf_get_default_cache_directory_ex
    - gf_cfg_del
    - get_default_install_path
    - gf_cfg_get_filename
    - gf_opts_set_key
    - check_default_cred_file
    - strrchr
    - gf_dir_exists
    - gf_cfg_get_key_name
    - gf_file_exists
    linkageType: ''
    returnType: GF_Config*
    signature: 'static GF_Config *gf_cfg_init(const char *profile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/src/utils/os_config_init.c:1287,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:1288,1
    - Dst: gf_modules_del
      Src: /src/gpac/src/utils/os_config_init.c:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - discard_config
    argTypes:
    - Bool
    constantsTouched: []
    func_position:
      end: 1292
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1292
    functionName: gf_uninit_global_config
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_modules_del
    - gf_cfg_del
    - gf_cfg_discard_changes
    linkageType: ''
    returnType: void
    signature: 'void gf_uninit_global_config(Bool discard_config) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_get_key_internal
      Src: /src/gpac/src/utils/os_config_init.c:1379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 2
    argNames:
    - secName
    - keyName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1381
    functionName: gf_opts_get_key_restricted
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_key_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_opts_get_key_restricted(const char *secName,
      const char *keyName) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:2730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:2734,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2741,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2738,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:2739,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:2743,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2747,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2748,1
    - Dst: gf_strnistr
      Src: /src/gpac/src/utils/os_config_init.c:2752,1
    - Dst: MIN
      Src: /src/gpac/src/utils/os_config_init.c:2752,1
    - Dst: gf_strnistr
      Src: /src/gpac/src/utils/os_config_init.c:2759,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_config_init.c:2763,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_config_init.c:2810,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_config_init.c:2762,1
    - Dst: gf_strnistr
      Src: /src/gpac/src/utils/os_config_init.c:2757,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2771,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_config_init.c:2788,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 91
    argCount: 2
    argNames:
    - orig
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2818
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2818
    functionName: gf_sys_word_match
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - MIN
    - memset
    - strncmp
    - GF_LOG
    - strchr
    - gf_free
    - gf_strnistr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sys_word_match(const char *orig, const char *dst) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:953,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:996,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1006,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1008,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1010,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:1011,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1003,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:943,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:950,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:952,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:974,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:966,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:971,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:978,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1007,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1008,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:1005,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:939,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:945,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/os_config_init.c:947,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:942,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:951,1
    - Dst: gf_cfg_get_filename
      Src: /src/gpac/src/utils/os_config_init.c:955,1
    - Dst: gf_ios_refresh_cache_directory
      Src: /src/gpac/src/utils/os_config_init.c:956,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:993,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:965,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:962,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1008,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:961,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - GF_Config*
    constantsTouched: []
    func_position:
      end: 1017
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1017
    functionName: check_modules_dir
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_cfg_set_key
    - sprintf
    - get_default_install_path
    - strcmp
    - gf_cfg_get_filename
    - strrchr
    - gf_cfg_get_key
    - strstr
    - gf_ios_refresh_cache_directory
    linkageType: ''
    returnType: void
    signature: 'static void check_modules_dir(GF_Config *cfg) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:784,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_config_init.c:831,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:863,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:926,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:754,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:756,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:813,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_config_init.c:822,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:856,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:868,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:888,1
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/src/utils/os_config_init.c:922,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_config_init.c:832,1
    - Dst: gf_cfg_get_filename
      Src: /src/gpac/src/utils/os_config_init.c:926,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:928,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:842,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:848,1
    - Dst: gf_cfg_get_section_name
      Src: /src/gpac/src/utils/os_config_init.c:904,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_config_init.c:773,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_config_init.c:816,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_config_init.c:823,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:830,1
    - Dst: gf_cfg_get_section_count
      Src: /src/gpac/src/utils/os_config_init.c:901,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:788,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:821,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:854,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:882,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:887,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:910,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:775,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/os_config_init.c:817,1
    - Dst: getenv
      Src: /src/gpac/src/utils/os_config_init.c:873,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:826,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:862,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:884,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/os_config_init.c:754,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:765,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:769,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:815,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:828,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:841,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:852,1
    - Dst: gf_get_default_font_dir
      Src: /src/gpac/src/utils/os_config_init.c:845,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:876,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:914,1
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/src/utils/os_config_init.c:757,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/os_config_init.c:771,1
    - Dst: gf_get_default_cache_directory_ex
      Src: /src/gpac/src/utils/os_config_init.c:837,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:892,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:891,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/os_config_init.c:908,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:794,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:812,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:846,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:906,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:880,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:927,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:875,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:750,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:803,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:819,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:898,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:859,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:782,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:909,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:792,1
    - Dst: gf_ios_refresh_cache_directory
      Src: /src/gpac/src/utils/os_config_init.c:808,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:837,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:897,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:894,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:918,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:899,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:849,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:800,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:858,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:869,1
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:810,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:829,1
    - Dst: gf_cfg_set_filename
      Src: /src/gpac/src/utils/os_config_init.c:921,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_config_init.c:893,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:755,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:790,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:811,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:820,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:827,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:883,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 142
    argCount: 2
    argNames:
    - file_path
    - profile
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 929
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 929
    functionName: create_default_config
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_get_section_count
    - GF_LOG
    - gf_cfg_discard_changes
    - strcmp
    - gf_cfg_set_filename
    - strcpy
    - stricmp
    - getenv
    - gf_fopen
    - gf_cfg_set_key
    - gf_get_default_font_dir
    - sprintf
    - gf_cfg_get_key_count
    - gf_cfg_new
    - gf_cfg_get_key
    - gf_ios_refresh_cache_directory
    - strcat
    - gf_get_default_cache_directory_ex
    - get_default_install_path
    - gf_cfg_del
    - gf_cfg_get_filename
    - gf_cfg_get_section_name
    - gf_fclose
    - gf_cfg_get_key_name
    - gf_file_exists
    linkageType: ''
    returnType: GF_Config*
    signature: 'static GF_Config *create_default_config(char *file_path, const char
      *profile) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_default_install_path
      Src: /src/gpac/src/utils/os_config_init.c:1300,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/utils/os_config_init.c:1304,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1301,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/os_config_init.c:1303,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:1302,1
    - Dst: gf_cfg_get_section_count
      Src: /src/gpac/src/utils/os_config_init.c:1306,1
    - Dst: gf_cfg_get_section_name
      Src: /src/gpac/src/utils/os_config_init.c:1309,1
    - Dst: gf_cfg_get_key_count
      Src: /src/gpac/src/utils/os_config_init.c:1311,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/utils/os_config_init.c:1313,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1314,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/utils/os_config_init.c:1318,1
    - Dst: gf_cfg_set_key_internal
      Src: /src/gpac/src/utils/os_config_init.c:1315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1322
    functionName: gf_cfg_load_restrict
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_cfg_get_section_count
    - get_default_install_path
    - gf_cfg_get_key_count
    - gf_cfg_del
    - gf_cfg_new
    - gf_cfg_get_section_name
    - gf_cfg_get_key
    - gf_cfg_set_key_internal
    - gf_cfg_get_key_name
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'void gf_cfg_load_restrict() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cfg_save
      Src: /src/gpac/src/utils/os_config_init.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1398
    functionName: gf_opts_save
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gf_cfg_save
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_opts_save() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - argname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1676
    functionName: gpac_opt_default
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *gpac_opt_default(const char *argname) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1900,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1907,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1902,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/os_config_init.c:1907,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1909,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1911,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 1
    argNames:
    - arg_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1921
    functionName: gf_sys_is_gpac_arg
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    - strchr
    - strncmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_sys_is_gpac_arg(const char *arg_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:88,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/utils/os_config_init.c:95,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:98,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:90,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/os_config_init.c:102,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:104,1
    - Dst: fopen
      Src: /src/gpac/src/utils/os_config_init.c:108,1
    - Dst: fclose
      Src: /src/gpac/src/utils/os_config_init.c:110,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/os_config_init.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - name
    - path
    - outPath
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: check_file_exists
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - fopen
    - snprintf
    - strcmp
    - GF_LOG
    - gf_dir_exists
    - gf_enum_directory
    - strcpy
    - fclose
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_file_exists(char *name, char *path, char *outPath) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_config_init.c:1681,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1688,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1689,1
    - Dst: gpac_opt_default
      Src: /src/gpac/src/utils/os_config_init.c:1684,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1683,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - secName
    - keyName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1692
    functionName: gf_opts_get_bool
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - gpac_opt_default
    - strcmp
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_opts_get_bool(const char *secName, const char *keyName) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1936,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1970,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1962,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1975,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_config_init.c:1987,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2001,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2003,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2005,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2017,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2020,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2041,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2055,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2045,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1946,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1951,1
    - Dst: strlen
      Src: /src/gpac/src/utils/os_config_init.c:1954,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1956,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1966,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:1965,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1984,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1996,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:1998,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_config_init.c:2021,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2026,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2040,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2033,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2048,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1937,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1949,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1959,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1961,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:1964,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1974,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:1988,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2009,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2016,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2038,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2047,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2035,1
    - Dst: strchr
      Src: /src/gpac/src/utils/os_config_init.c:2027,1
    - Dst: gf_sys_localized
      Src: /src/gpac/src/utils/os_config_init.c:2052,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2030,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:2059,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1945,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1950,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1957,1
    - Dst: exit
      Src: /src/gpac/src/utils/os_config_init.c:1967,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/os_config_init.c:1993,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2006,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2028,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2031,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2036,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2037,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2052,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2057,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2064,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/utils/os_config_init.c:2039,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:2063,1
    - Dst: gf_sys_localized
      Src: /src/gpac/src/utils/os_config_init.c:2055,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 147
    argCount: 4
    argNames:
    - helpout
    - flags
    - arg
    - arg_subsystem
    argTypes:
    - FILE*
    - GF_SysPrintArgFlags
    - GF_GPACArg*
    - char*
    constantsTouched: []
    func_position:
      end: 2065
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 2065
    functionName: gf_sys_print_arg
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sys_format_help
    - fprintf
    - gf_strdup
    - strcmp
    - exit
    - strchr
    - gf_free
    - gf_sys_localized
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sys_print_arg(FILE *helpout, GF_SysPrintArgFlags
      flags, const GF_GPACArg *arg, const char *arg_subsystem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/gpac/src/utils/os_config_init.c:692,1
    - Dst: strstr
      Src: /src/gpac/src/utils/os_config_init.c:695,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_config_init.c:696,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/utils/os_config_init.c:699,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:698,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:700,1
    - Dst: strcat
      Src: /src/gpac/src/utils/os_config_init.c:702,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/os_config_init.c:704,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/utils/os_config_init.c:706,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/os_config_init.c:707,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/utils/os_config_init.c:712,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/utils/os_config_init.c:710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_config_init.c:708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - cfg
    - file_path
    argTypes:
    - GF_Config*
    - char*
    constantsTouched: []
    func_position:
      end: 713
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 713
    functionName: gf_ios_refresh_cache_directory
    functionSourceFile: /src/gpac/src/utils/os_config_init.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_cfg_set_key
    - gf_mkdir
    - strcmp
    - GF_LOG
    - realpath
    - gf_dir_exists
    - gf_cfg_get_key
    - gf_assert
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void gf_ios_refresh_cache_directory( GF_Config *cfg, const
      char *file_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: ngtcp2_timestamp
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: u64
    signature: 'static u64 ngtcp2_timestamp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - conn
    - max_streams
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ngq_extend_max_local_streams_bidi
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ngq_extend_max_local_streams_bidi(ngtcp2_conn *conn, uint64_t
      max_streams, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:245,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ngq_debug_trace
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: 'static void ngq_debug_trace(const char *format, va_list args) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:320,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:328,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:333,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - conn
    - stream_id
    - data
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: ngh3_recv_data
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_extend_max_offset
    - ngtcp2_conn_extend_max_stream_offset
    - gf_realloc
    - GF_LOG
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_recv_data(nghttp3_conn *conn, int64_t stream_id, const
      uint8_t *data, size_t datalen, void *conn_user_data, void *stream_user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - conn
    - stream_id
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 514
    functionName: ngh3_end_stream
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_end_stream(nghttp3_conn *conn, int64_t stream_id,
      void *conn_user_data, void *stream_user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_conn_info
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:580,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:589,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:588,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:585,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:582,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:593,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:609,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:614,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 617
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 617
    functionName: ngh3_acked_stream_data
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - assert
    - gf_mx_p
    - nghttp3_conn_resume_stream
    - ngtcp2_conn_get_conn_info
    - memmove
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: int
    signature: "static int ngh3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,
      uint64_t datalen,\tvoid *conn_user_data, void *stream_user_data) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:805,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:815,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:830,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:826,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:824,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:834,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:838,1
    - Dst: h3_session_write_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:841,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 842
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 842
    functionName: h3_data_pending
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_mx_p
    - h3_session_write_ex
    - nghttp3_conn_resume_stream
    - memcpy
    - gf_mx_v
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_data_pending(GF_DownloadSession *sess) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_send_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:927,1
    - Dst: ngtcp2_conn_get_path_max_tx_udp_payload_size
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:939,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:958,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:957,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:994,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:997,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1001,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1011,1
    - Dst: gf_sk_send_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1027,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:924,1
    - Dst: ngtcp2_conn_get_max_tx_udp_payload_size
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:938,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:945,1
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:954,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:993,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1002,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1011,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1012,1
    - Dst: ngtcp2_conn_update_pkt_tx_time
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1019,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1024,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:940,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:955,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:955,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:958,1
    - Dst: ngtcp2_conn_writev_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:972,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:990,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:993,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:994,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1002,1
    - Dst: ngtcp2_ccerr_set_liberr
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1003,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:957,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:960,1
    - Dst: nghttp3_conn_shutdown_stream_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:987,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:983,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:986,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:982,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:991,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1009,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1012,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1014,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 106
    argCount: 2
    argNames:
    - sess
    - qc
    argTypes:
    - GF_DownloadSession*
    - GF_QuicConnection*
    constantsTouched: []
    func_position:
      end: 1042
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 1042
    functionName: h3_session_write_ex
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_add_write_offset
    - GF_LOG
    - ngtcp2_conn_writev_stream
    - ngtcp2_ccerr_set_application_error
    - ngtcp2_conn_get_path_max_tx_udp_payload_size
    - ngtcp2_conn_get_max_data_left
    - ngtcp2_strerror
    - ngtcp2_path_storage_zero
    - quic_handle_error
    - nghttp3_err_infer_quic_app_error_code
    - ngtcp2_conn_update_pkt_tx_time
    - GF_ARRAY_LENGTH
    - nghttp3_strerror
    - nghttp3_conn_block_stream
    - ngtcp2_conn_get_max_tx_udp_payload_size
    - nghttp3_conn_writev_stream
    - assert
    - ngtcp2_ccerr_set_liberr
    - quic_send_packet
    - gf_sk_send_ex
    - ngtcp2_timestamp
    - nghttp3_conn_shutdown_stream_write
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_session_write_ex(GF_DownloadSession *sess, GF_QuicConnection
      *qc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - destlen
    - rand_ctx
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_rand_ctx*
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: ngq_rand_cb
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_rand
    linkageType: ''
    returnType: void
    signature: 'static void ngq_rand_cb(uint8_t *dest, size_t destlen, const ngtcp2_rand_ctx
      *rand_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:237,1
    - Dst: fprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:241,1
    - Dst: va_end
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:239,1
    - Dst: vfprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - user_data
    - format
    - '...'
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: ngq_printf
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - va_end
    - fprintf
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void ngq_printf(void *user_data, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: ngq_debug_trace_noop
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ngq_debug_trace_noop(const char *format, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:342,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: ngh3_deferred_consume
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_extend_max_offset
    - ngtcp2_conn_extend_max_stream_offset
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_deferred_consume(nghttp3_conn *conn, int64_t stream_id,
      size_t datalen, void *conn_user_data, void *stream_user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_is_bidi_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:526,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:528,1
    - Dst: ngtcp2_conn_is_local_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:528,1
    - Dst: ngtcp2_conn_extend_max_streams_uni
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:529,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:532,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:552,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:557,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:568,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 570
    functionName: ngh3_stream_close
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - assert
    - ngtcp2_conn_extend_max_streams_uni
    - gf_mx_p
    - ngtcp2_is_bidi_stream
    - GF_LOG
    - ngtcp2_conn_is_local_stream
    - gf_mx_v
    linkageType: ''
    returnType: int
    signature: "static int ngh3_stream_close(nghttp3_conn *conn, int64_t stream_id,
      uint64_t app_error_code,\tvoid *conn_user_data, void *stream_user_data) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_settings_default
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:646,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:656,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:665,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:673,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:683,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:677,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:688,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:695,1
    - Dst: ngtcp2_conn_get_streams_uni_left
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:624,1
    - Dst: nghttp3_conn_server_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:654,1
    - Dst: nghttp3_conn_set_max_client_streams_bidi
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:660,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:679,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:671,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:690,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:695,1
    - Dst: ngtcp2_conn_get_local_transport_params
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:659,1
    - Dst: nghttp3_conn_client_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:663,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:679,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:685,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:690,1
    - Dst: nghttp3_mem_default
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:656,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:673,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:693,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - hmux_sess
    argTypes:
    - GF_HMUX_Session*
    constantsTouched: []
    func_position:
      end: 699
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 699
    functionName: h3_setup_http3
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_bind_qpack_streams
    - nghttp3_settings_default
    - ngtcp2_conn_get_streams_uni_left
    - ngtcp2_conn_open_uni_stream
    - ngtcp2_strerror
    - nghttp3_conn_client_new
    - nghttp3_conn_bind_control_stream
    - ngtcp2_conn_get_local_transport_params
    - GF_LOG
    - nghttp3_conn_set_max_client_streams_bidi
    - nghttp3_mem_default
    - nghttp3_conn_server_new
    - nghttp3_strerror
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_setup_http3(GF_HMUX_Session *hmux_sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:851,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:875,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:871,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:874,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:873,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:877,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:878,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:879,1
    - Dst: h3_setup_session
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:885,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:887,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:896,1
    - Dst: h3_data_pending
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:902,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:904,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:896,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:895,1
    - Dst: nghttp3_conn_submit_response
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:892,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:890,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:893,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 5
    argNames:
    - sess
    - reply_code
    - response_body
    - body_len
    - no_body
    argTypes:
    - GF_DownloadSession*
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 907
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 907
    functionName: h3_send_reply
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - nghttp3_strerror
    - h3_data_pending
    - h3_setup_session
    - gf_list_count
    - sprintf
    - GF_LOG
    - gf_mx_p
    - nghttp3_conn_submit_response
    - gf_free
    - gf_assert
    - NGH3_HDR
    - gf_mx_v
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_send_reply(GF_DownloadSession *sess, u32 reply_code,
      const char *response_body, u32 body_len, Bool no_body) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h3_session_write_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: h3_session_write
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - h3_session_write_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_session_write(GF_DownloadSession *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h3_initialize
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1614,1
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1623,1
    - Dst: h3_setup_http3
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1631,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - sess
    - server
    - server_port
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1632
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1632
    functionName: http3_connect
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - h3_initialize
    - gf_dm_read_data
    - h3_setup_http3
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err http3_connect(GF_DownloadSession *sess, char *server, u32 server_port) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1699,1
    - Dst: ngtcp2_crypto_verify_regular_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - qs
    - hd
    - sa
    - salen
    argTypes:
    - GF_QuicServer*
    - ngtcp2_pkt_hd*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1707
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1707
    functionName: quic_verify_token
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_crypto_verify_regular_token
    - ngtcp2_timestamp
    linkageType: ''
    returnType: int
    signature: 'static int quic_verify_token(GF_QuicServer *qs, const ngtcp2_pkt_hd
      *hd, const u8 *sa, u32 salen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1263,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1266,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1265,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1265,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1270
    functionName: ngq_stream_stop_sending
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - nghttp3_err_infer_quic_app_error_code
    - nghttp3_conn_shutdown_stream_read
    - nghttp3_strerror
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: int
    signature: 'static int ngq_stream_stop_sending(ngtcp2_conn *conn, int64_t stream_id,
      uint64_t app_error_code, void *user_data, void *stream_user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:274,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 289
    functionName: ngh3_data_source_read_callback
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: nghttp3_ssize
    signature: 'static nghttp3_ssize ngh3_data_source_read_callback( nghttp3_conn
      *conn, int64_t stream_id, nghttp3_vec *vec, size_t veccnt, uint32_t *pflags,
      void *conn_user_data, void *stream_user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_submit_shutdown_notice
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1336,1
    - Dst: h3_session_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1337,1
    - Dst: h3_session_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1339,1
    - Dst: nghttp3_conn_shutdown
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: h3_close_session
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - h3_session_write
    - nghttp3_conn_shutdown
    - nghttp3_conn_submit_shutdown_notice
    linkageType: ''
    returnType: void
    signature: 'static void h3_close_session(GF_DownloadSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1687,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1690,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1689,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - qs
    argTypes:
    - GF_QuicServer*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1691
    functionName: gf_dm_quic_server_del
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_sk_del
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_quic_server_del(GF_QuicServer *qs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_init
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1775,1
    - Dst: ngtcp2_pkt_write_stateless_reset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1797,1
    - Dst: ngtcp2_crypto_generate_stateless_reset_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1778,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1792,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1801,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - qs
    - pktlen
    - dcid
    - dcid_len
    - sa
    - salen
    argTypes:
    - GF_QuicServer*
    - u32
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1804
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1804
    functionName: quic_send_stateless_reset
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_crypto_generate_stateless_reset_token
    - quic_send_packet
    - RAND_bytes
    - ngtcp2_cid_init
    - ngtcp2_pkt_write_stateless_reset
    linkageType: ''
    returnType: int
    signature: 'static int quic_send_stateless_reset(GF_QuicServer *qs, u32 pktlen,
      const u8 *dcid, u32 dcid_len, const u8 *sa, u32 salen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1818,1
    - Dst: ngtcp2_conn_get_pto
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - qc
    argTypes:
    - GF_QuicConnection*
    constantsTouched: []
    func_position:
      end: 1821
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1821
    functionName: quic_start_draining_period
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_get_pto
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'void quic_start_draining_period(GF_QuicConnection *qc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - GF_QuicServerConnection*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1879
    functionName: detach_connection
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void detach_connection(GF_QuicServerConnection *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_in_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1920,1
    - Dst: h3_session_write_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1923,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - GF_QuicServerConnection*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1924
    functionName: quic_on_write
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_in_closing_period
    - ngtcp2_conn_in_draining_period
    - h3_session_write_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err quic_on_write(GF_QuicServerConnection *c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:296,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:307,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:306,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:297,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - sess
    - is_destroy
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: h3_setup_session
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_setup_session(GF_DownloadSession *sess, Bool is_destroy) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1357,1
    - Dst: SSL_set_app_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1372,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1383,1
    - Dst: gf_sk_connect_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1405,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1533,1
    - Dst: ngtcp2_conn_server_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1540,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1550,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1586,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1591,1
    - Dst: h3_setup_session
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1584,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1359,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1378,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1379,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1408,1
    - Dst: gf_sk_bind_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1396,1
    - Dst: ngtcp2_settings_default
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1479,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1409,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1543,1
    - Dst: ngtcp2_conn_client_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1557,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1481,1
    - Dst: nghttp3_set_debug_vprintf_callback
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1483,1
    - Dst: nghttp3_set_debug_vprintf_callback
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1485,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1488,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1543,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1551,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1560,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1566,1
    - Dst: h3_session_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1600,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1606,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1605,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1603,1
    - Dst: gf_ssl_try_connect
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1351,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1370,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1361,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1395,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1473,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1474,1
    - Dst: ngtcp2_crypto_generate_stateless_reset_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1531,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1538,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1560,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1590,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1607,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1569,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 184
    argCount: 8
    argNames:
    - sess
    - server
    - server_port
    - srv_hd
    - srv_ocid
    - token_type
    - srv_path
    - qsc
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    - ngtcp2_pkt_hd*
    - ngtcp2_cid*
    - u32
    - ngtcp2_path*
    - GF_QuicServerConnection*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1609
    functionName: h3_initialize
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - ngtcp2_crypto_generate_stateless_reset_token
    - GF_LOG
    - ngtcp2_conn_set_tls_native_handle
    - GF_SAFEALLOC
    - ngtcp2_strerror
    - h3_setup_session
    - gf_sk_connect_ex
    - SSL_set_app_data
    - gf_list_new
    - gf_mx_new
    - ngtcp2_transport_params_default
    - ngtcp2_settings_default
    - sprintf
    - RAND_bytes
    - memcpy
    - gf_free
    - nghttp3_set_debug_vprintf_callback
    - h3_session_write
    - gf_ssl_try_connect
    - gf_sk_bind_ex
    - ngtcp2_conn_server_new
    - ngtcp2_conn_client_new
    - gf_opts_get_bool
    - ngtcp2_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: "static GF_Err h3_initialize(GF_DownloadSession *sess, char *server,
      u32 server_port,\tconst ngtcp2_pkt_hd *srv_hd, const ngtcp2_cid *srv_ocid, u32
      token_type, ngtcp2_path *srv_path, GF_QuicServerConnection *qsc) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - qs
    argTypes:
    - GF_QuicServer*
    constantsTouched: []
    func_position:
      end: 1695
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1695
    functionName: gf_dm_quic_get_socket
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Socket*
    signature: 'GF_Socket *gf_dm_quic_get_socket(GF_QuicServer *qs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_send_to
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - qs
    - buf
    - len
    - to_a
    - to_alen
    argTypes:
    - GF_QuicServer*
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1738
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1738
    functionName: quic_send_packet
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_sk_send_to
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err quic_send_packet(GF_QuicServer *qs, const u8 *buf, u32
      len, const u8 *to_a, u32 to_alen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_write_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1809,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - qs
    - chd
    - sa
    - salen
    argTypes:
    - GF_QuicServer*
    - ngtcp2_pkt_hd*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1814
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1814
    functionName: quic_send_stateless_connection_close
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - quic_send_packet
    - ngtcp2_crypto_write_connection_close
    linkageType: ''
    returnType: int
    signature: 'static int quic_send_stateless_connection_close(GF_QuicServer *qs,
      const ngtcp2_pkt_hd *chd, const u8 *sa, u32 salen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_in_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1826,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1826,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1833,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1833,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1831,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1835,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1835,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1841,1
    - Dst: ngtcp2_conn_get_pto
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - qc
    argTypes:
    - GF_QuicConnection*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1844
    functionName: quic_start_closing_period
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_strerror
    - ngtcp2_path_storage_zero
    - ngtcp2_conn_write_connection_close
    - ngtcp2_conn_in_closing_period
    - GF_LOG
    - ngtcp2_conn_get_pto
    - ngtcp2_conn_in_draining_period
    - gf_sys_clock_high_res
    - ngtcp2_timestamp
    linkageType: ''
    returnType: Bool
    signature: 'Bool quic_start_closing_period(GF_QuicConnection *qc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_read_pkt
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1888,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1888,1
    - Dst: ngtcp2_conn_get_tls_alert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1901,1
    - Dst: ngtcp2_ccerr_set_tls_alert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1901,1
    - Dst: quic_start_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1892,1
    - Dst: ngtcp2_ccerr_set_liberr
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1903,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1906,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1909,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1909,1
    - Dst: quic_handle_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1911,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - c
    - data
    - nb_bytes
    argTypes:
    - GF_QuicServerConnection*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1915
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1915
    functionName: gf_quic_on_data
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_get_tls_alert
    - ngtcp2_strerror
    - quic_handle_error
    - ngtcp2_conn_read_pkt
    - GF_LOG
    - ngtcp2_ccerr_set_tls_alert
    - quic_start_draining_period
    - ngtcp2_ccerr_set_liberr
    - ngtcp2_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_quic_on_data(GF_QuicServerConnection *c, const u8
      *data, u32 nb_bytes) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_accept
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1934,1
    - Dst: quic_send_retry
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1975,1
    - Dst: quic_send_retry
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1986,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2002,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2032,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1945,1
    - Dst: gf_sk_get_remote_address_port
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1997,1
    - Dst: gf_dm_sess_new_internal
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2000,1
    - Dst: SSL_set_quic_early_data_enabled
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2021,1
    - Dst: h3_initialize
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2042,1
    - Dst: quic_on_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2061,1
    - Dst: quic_send_retry
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1949,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2015,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2008,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2024,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2029,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2045,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2047,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2049,1
    - Dst: gf_quic_on_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2054,1
    - Dst: quic_send_stateless_reset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1937,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1953,1
    - Dst: quic_verify_retry_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1958,1
    - Dst: quic_send_stateless_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1964,1
    - Dst: quic_verify_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1973,1
    - Dst: SSL_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2013,1
    - Dst: SSL_set_accept_state
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2019,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2007,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2026,1
    - Dst: quic_send_retry
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2057,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 98
    argCount: 7
    argNames:
    - qs
    - oc
    - vc
    - data
    - data_len
    - s_add
    - s_add_len
    argTypes:
    - GF_QuicServer*
    - GF_QuicServerConnection**
    - ngtcp2_version_cid*
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2065
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 2065
    functionName: gf_quic_create_connection
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - quic_send_retry
    - SSL_new
    - GF_SAFEALLOC
    - ngtcp2_accept
    - quic_send_stateless_connection_close
    - gf_list_del_item
    - quic_on_write
    - assert
    - quic_verify_retry_token
    - h3_initialize
    - memcpy
    - gf_free
    - SSL_set_quic_early_data_enabled
    - quic_send_stateless_reset
    - gf_dm_sess_new_internal
    - gf_dm_sess_del
    - quic_verify_token
    - gf_sk_get_remote_address_port
    - gf_quic_on_data
    - SSL_set_accept_state
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_quic_create_connection(GF_QuicServer *qs, GF_QuicServerConnection
      **oc, ngtcp2_version_cid *vc, const u8 *data, u32 data_len, const u8 *s_add,
      u32 s_add_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2099,1
    - Dst: ngtcp2_conn_in_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2123,1
    - Dst: detach_connection
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2133,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2145,1
    - Dst: ngtcp2_pkt_decode_version_cid
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2091,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2099,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2106,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2138,1
    - Dst: gf_quic_create_connection
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2124,1
    - Dst: gf_sk_receive
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2077,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2081,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2087,1
    - Dst: gf_sk_get_address
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2085,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2104,1
    - Dst: memcmp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2113,1
    - Dst: detach_connection
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2146,1
    - Dst: gf_quic_on_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2145,1
    - Dst: quic_send_conn_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2132,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 1
    argNames:
    - qs
    argTypes:
    - GF_QuicServer*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2155
    functionName: gf_dm_quic_process
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_quic_create_connection
    - gf_sk_receive
    - ngtcp2_strerror
    - memcmp
    - gf_error_to_string
    - gf_list_count
    - ngtcp2_conn_in_closing_period
    - GF_LOG
    - quic_send_conn_close
    - detach_connection
    - ngtcp2_conn_in_draining_period
    - gf_sk_get_address
    - ngtcp2_pkt_decode_version_cid
    - gf_quic_on_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_quic_process(GF_QuicServer *qs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1710,1
    - Dst: ngtcp2_crypto_verify_retry_token2
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 5
    argNames:
    - qs
    - ocid
    - hd
    - sa
    - salen
    argTypes:
    - GF_QuicServer*
    - ngtcp2_cid*
    - ngtcp2_pkt_hd*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1726
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1726
    functionName: quic_verify_retry_token
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_crypto_verify_retry_token2
    - ngtcp2_timestamp
    linkageType: ''
    returnType: int
    signature: 'static int quic_verify_retry_token(GF_QuicServer *qs, ngtcp2_cid *ocid,
      const ngtcp2_pkt_hd *hd, const u8 *sa, u32 salen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - sess
    - user_io
    - usr_cbk
    argTypes:
    - GF_DownloadSession*
    - gf_dm_user_io
    - void*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: gf_dm_sess_set_callback
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_dm_sess_set_callback(GF_DownloadSession *sess, gf_dm_user_io
      user_io, void *usr_cbk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2198
    functionName: h3_check_sess
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err h3_check_sess(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:439,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - conn
    - stream_id
    - fin
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: ngh3_end_headers
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: "static int ngh3_end_headers(nghttp3_conn *conn, int64_t stream_id,
      int fin,\tvoid *conn_user_data, void *stream_user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 8
    argNames:
    - conn
    - stream_id
    - token
    - name
    - value
    - flags
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: ngh3_recv_trailer
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int ngh3_recv_trailer(nghttp3_conn *conn, int64_t stream_id,
      int32_t token,\tnghttp3_rcbuf *name, nghttp3_rcbuf *value, uint8_t flags,\tvoid
      *conn_user_data, void *stream_user_data) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_close_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1288,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1294,1
    - Dst: ngtcp2_conn_extend_max_streams_uni
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1295,1
    - Dst: ngtcp2_is_bidi_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1293,1
    - Dst: ngtcp2_conn_is_local_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1299,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1299,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1300,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 6
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1304
    functionName: ngq_stream_close
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - assert
    - ngtcp2_conn_extend_max_streams_uni
    - ngtcp2_is_bidi_stream
    - GF_LOG
    - nghttp3_err_infer_quic_app_error_code
    - ngtcp2_conn_is_local_stream
    - nghttp3_conn_close_stream
    - nghttp3_strerror
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: int
    signature: 'static int ngq_stream_close(ngtcp2_conn *conn, uint32_t flags, int64_t
      stream_id, uint64_t app_error_code, void *user_data, void *stream_user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1315,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 6
    argNames:
    - conn
    - stream_id
    - final_size
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1319
    functionName: ngq_stream_reset
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_strerror
    - GF_LOG
    - nghttp3_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: 'int ngq_stream_reset(ngtcp2_conn *conn, int64_t stream_id, uint64_t
      final_size, uint64_t app_error_code, void *user_data, void *stream_user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1848,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1850,1
    - Dst: assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1849,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1850,1
    - Dst: ngtcp2_conn_get_path
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1851,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - GF_QuicConnection*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1853
    functionName: quic_send_conn_close
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_get_path
    - assert
    - quic_send_packet
    - ngtcp2_conn_in_draining_period
    linkageType: ''
    returnType: int
    signature: 'static int quic_send_conn_close(GF_QuicConnection *qc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - conn
    - stream_id
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: ngh3_begin_trailers
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_begin_trailers(nghttp3_conn *conn, int64_t stream_id,
      void *conn_user_data, void *stream_user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - conn
    - stream_id
    - fin
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ngh3_end_trailers
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_end_trailers(nghttp3_conn *conn, int64_t stream_id,
      int fin, void *conn_user_data, void *stream_user_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:729,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:732,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:752,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:731,1
    - Dst: strchr
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:736,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:773,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:782,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:789,1
    - Dst: h3_session_write_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:797,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:727,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:726,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:730,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:735,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:741,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:743,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:739,1
    - Dst: ngtcp2_conn_open_bidi_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:764,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:780,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:722,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:723,1
    - Dst: NGH3_HDR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:748,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:758,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:747,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:754,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:770,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:788,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 5
    argNames:
    - sess
    - req_name
    - url
    - param_string
    - has_body
    argTypes:
    - GF_DownloadSession*
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 798
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 798
    functionName: h3_submit_request
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_dynstrcat
    - gf_list_get
    - nghttp3_strerror
    - gf_list_count
    - sprintf
    - GF_LOG
    - h3_session_write_ex
    - nghttp3_conn_submit_request
    - strchr
    - ngtcp2_conn_open_bidi_stream
    - gf_log_tool_level_on
    - gf_assert
    - NGH3_HDR
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_submit_request(GF_DownloadSession *sess, char *req_name,
      const char *url, const char *param_string, Bool has_body) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_is_bidi_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - stream_id
    - user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1328
    functionName: ngq_stream_open
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_is_bidi_stream
    linkageType: ''
    returnType: int
    signature: 'static int ngq_stream_open(ngtcp2_conn *conn, int64_t stream_id, void
      *user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quic_start_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1860,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1864,1
    - Dst: quic_send_conn_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - GF_QuicConnection*
    constantsTouched: []
    func_position:
      end: 1870
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1870
    functionName: quic_handle_error
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_in_draining_period
    - quic_send_conn_close
    - quic_start_closing_period
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err quic_handle_error(GF_QuicConnection *qc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1744,1
    - Dst: ngtcp2_crypto_generate_retry_token2
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1750,1
    - Dst: ngtcp2_crypto_write_retry
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1760,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1748,1
    - Dst: MIN
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1757,1
    - Dst: quic_send_packet
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - qs
    - chd
    - sa
    - salen
    - max_pktlen
    argTypes:
    - GF_QuicServer*
    - ngtcp2_pkt_hd*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1767
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1767
    functionName: quic_send_retry
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_crypto_generate_retry_token2
    - MIN
    - quic_send_packet
    - RAND_bytes
    - ngtcp2_crypto_write_retry
    - ngtcp2_timestamp
    linkageType: ''
    returnType: int
    signature: 'static int quic_send_retry(GF_QuicServer *qs, const ngtcp2_pkt_hd
      *chd, const u8 *sa, u32 salen, u32 max_pktlen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2162,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2165,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2164,1
    - Dst: detach_connection
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2171,1
    - Dst: ngtcp2_conn_in_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2167,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2174,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2176,1
    - Dst: detach_connection
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2180,1
    - Dst: quic_on_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:2185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - qs
    argTypes:
    - GF_QuicServer*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2190
    functionName: gf_dm_quic_verify
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - ngtcp2_conn_in_closing_period
    - detach_connection
    - ngtcp2_conn_in_draining_period
    - gf_sys_clock_high_res
    - quic_on_write
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_dm_quic_verify(GF_QuicServer *qs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_quictls_init
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1652,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1661,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1658,1
    - Dst: gf_sk_bind_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1662,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1660,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1664,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1665,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1668,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1669,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1670,1
    - Dst: gf_sha256_csum
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1674,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1673,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 8
    argNames:
    - dm
    - ssl_ctx
    - oq
    - ip
    - port
    - netcap_id
    - (*accept_conn)
    - udta
    argTypes:
    - GF_DownloadManager*
    - void*
    - GF_QuicServer**
    - char*
    - u32
    - char*
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1684
    functionName: gf_dm_quic_server_new
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_sha256_csum
    - gf_sk_bind_ex
    - gf_sk_set_block_mode
    - ngtcp2_crypto_quictls_init
    - gf_sk_del
    - RAND_bytes
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_sk_new_ex
    - gf_sk_server_mode
    linkageType: ''
    returnType: GF_Err
    signature: "GF_Err gf_dm_quic_server_new(GF_DownloadManager *dm, void *ssl_ctx,
      GF_QuicServer **oq, const char *ip, u32 port, const char *netcap_id,\tBool (*accept_conn)(void
      *udta, GF_DownloadSession *sess, const char *address, u32 port),\tvoid *udta) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:180,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:193,1
    - Dst: RAND_bytes
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:184,1
    - Dst: ngtcp2_crypto_generate_stateless_reset_token
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - conn
    - cid
    - token
    - cidlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: ngq_get_new_connection_id
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - RAND_bytes
    - memcpy
    - ngtcp2_crypto_generate_stateless_reset_token
    linkageType: ''
    returnType: int
    signature: 'static int ngq_get_new_connection_id(ngtcp2_conn *conn, ngtcp2_cid
      *cid, uint8_t *token, size_t cidlen, void *user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:356,1
    - Dst: hmux_get_session
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:376,1
    - Dst: memset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:367,1
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:383,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - conn
    - stream_id
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 392
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 392
    functionName: ngh3_begin_headers
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_set_stream_user_data
    - gf_dm_sess_clear_headers
    - hmux_get_session
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_begin_headers(nghttp3_conn *conn, int64_t stream_id,
      void *conn_user_data, void *stream_user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:475,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:477,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: ngh3_stop_sending
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_strerror
    - GF_LOG
    - nghttp3_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "static int ngh3_stop_sending(nghttp3_conn *conn, int64_t stream_id,
      uint64_t app_error_code,\tvoid *conn_user_data, void *stream_user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_close_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - sess
    - is_abort
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 1054
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1054
    functionName: h3_stream_reset
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_close_stream
    linkageType: ''
    returnType: void
    signature: 'static void h3_stream_reset(GF_DownloadSession *sess, Bool is_abort) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_in_closing_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1075,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1085,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1081,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1076,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1085,1
    - Dst: gf_sk_send_ex
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1089,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - hmux
    argTypes:
    - struct _http_mux_session*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1091
    functionName: h3_close
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_path_storage_zero
    - ngtcp2_conn_write_connection_close
    - ngtcp2_conn_in_closing_period
    - ngtcp2_conn_in_draining_period
    - gf_sk_send_ex
    - ngtcp2_timestamp
    linkageType: ''
    returnType: void
    signature: 'static void h3_close(struct _http_mux_session *hmux) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1116,1
    - Dst: gf_dm_read_data
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1121,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1124,1
    - Dst: h3_data_pending
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1128,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1129,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - sess
    - for_close
    argTypes:
    - GF_DownloadSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 1153
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1153
    functionName: h3_async_flush
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - SET_LAST_ERR
    - gf_dm_read_data
    - h3_data_pending
    - gf_mx_p
    - gf_mx_v
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_async_flush(GF_DownloadSession *sess, Bool for_close) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - conn_ref
    argTypes:
    - ngtcp2_crypto_conn_ref*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: ngq_get_conn
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_conn*
    signature: 'static ngtcp2_conn *ngq_get_conn(ngtcp2_crypto_conn_ref *conn_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_read_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1207,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1210,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1209,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1209,1
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1213,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 8
    argNames:
    - conn
    - flags
    - stream_id
    - offset
    - data
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: ngq_recv_stream_data
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_extend_max_stream_offset
    - ngtcp2_conn_extend_max_offset
    - GF_LOG
    - nghttp3_err_infer_quic_app_error_code
    - nghttp3_conn_read_stream
    - nghttp3_strerror
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: int
    signature: 'int ngq_recv_stream_data(ngtcp2_conn *conn, uint32_t flags, int64_t
      stream_id, uint64_t offset, const uint8_t *data, size_t datalen, void *user_data,
      void *stream_user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - cid
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: ngq_remove_connection_id
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int ngq_remove_connection_id(ngtcp2_conn *conn, const ngtcp2_cid
      *cid, void *user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:401,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:410,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:407,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:403,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:405,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:413,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:414,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:416,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:417,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:420,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:424,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:426,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:426,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:423,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 8
    argNames:
    - conn
    - stream_id
    - token
    - name
    - value
    - flags
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 431
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 431
    functionName: ngh3_recv_header
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - nghttp3_rcbuf_get_buf
    - GF_LOG
    - strcmp
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - stricmp
    linkageType: ''
    returnType: int
    signature: 'static int ngh3_recv_header(nghttp3_conn *conn, int64_t stream_id,
      int32_t token, nghttp3_rcbuf *name, nghttp3_rcbuf *value, uint8_t flags, void
      *conn_user_data, void *stream_user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_shutdown_stream_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:489,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: ngh3_reset_stream
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - ngtcp2_conn_shutdown_stream_write
    - GF_LOG
    - ngtcp2_strerror
    linkageType: ''
    returnType: int
    signature: "static int ngh3_reset_stream(nghttp3_conn *conn, int64_t stream_id,
      uint64_t app_error_code,\tvoid *conn_user_data, void *stream_user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_resume_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1066,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1069
    functionName: h3_resume_stream
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_resume_stream
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_resume_stream(GF_DownloadSession *sess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1097,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1102,1
    - Dst: ngtcp2_conn_del
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1098,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1100,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1099,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1103,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - hmux
    argTypes:
    - struct _http_mux_session*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1106
    functionName: h3_destroy
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_del
    - gf_list_del_item
    - gf_free
    - ngtcp2_conn_del
    linkageType: ''
    returnType: void
    signature: 'static void h3_destroy(struct _http_mux_session *hmux) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_read_pkt
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1164,1
    - Dst: ngtcp2_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1166,1
    - Dst: ngtcp2_ccerr_set_tls_alert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1166,1
    - Dst: ngtcp2_timestamp
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1164,1
    - Dst: ngtcp2_conn_get_tls_alert
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1169,1
    - Dst: ngtcp2_ccerr_set_liberr
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1171,1
    - Dst: h3_session_write
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - sess
    - data
    - nb_bytes
    argTypes:
    - GF_DownloadSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1184
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1184
    functionName: h3_data_received
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - h3_session_write
    - ngtcp2_conn_get_tls_alert
    - ngtcp2_strerror
    - ngtcp2_conn_read_pkt
    - GF_LOG
    - ngtcp2_ccerr_set_tls_alert
    - ngtcp2_ccerr_set_liberr
    - ngtcp2_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err h3_data_received(GF_DownloadSession *sess, const u8
      *data, u32 nb_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    functionName: ngq_handshake_completed
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int ngq_handshake_completed(ngtcp2_conn *conn, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1223,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1226,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1225,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 6
    argNames:
    - conn
    - stream_id
    - offset
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1230
    functionName: ngq_acked_stream_data_offset
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - nghttp3_conn_add_ack_offset
    - GF_LOG
    - nghttp3_err_infer_quic_app_error_code
    - nghttp3_strerror
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: int
    signature: 'static int ngq_acked_stream_data_offset(ngtcp2_conn *conn, int64_t
      stream_id, uint64_t offset, uint64_t datalen, void *user_data, void *stream_user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1237,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1240,1
    - Dst: nghttp3_strerror
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1239,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1239,1
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - stream_id
    - max_data
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1244
    functionName: ngq_extend_max_stream_data
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - nghttp3_conn_unblock_stream
    - nghttp3_err_infer_quic_app_error_code
    - nghttp3_strerror
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: int
    signature: 'int ngq_extend_max_stream_data(ngtcp2_conn *conn, int64_t stream_id,
      uint64_t max_data, void *user_data, void *stream_user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h3_setup_http3
      Src: /src/gpac/src/utils/downloader_ngtcp2.c:1252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - conn
    - level
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - void*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1255
    functionName: ngq_recv_rx_key
    functionSourceFile: /src/gpac/src/utils/downloader_ngtcp2.c
    functionUses: []
    functionsReached:
    - h3_setup_http3
    linkageType: ''
    returnType: int
    signature: 'static int ngq_recv_rx_key(ngtcp2_conn *conn, ngtcp2_encryption_level
      level, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/gpac/src/utils/os_thread.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: currentThreadInfoKey_alloc
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: 'static void currentThreadInfoKey_alloc() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Thread_Stop
      Src: /src/gpac/src/utils/os_thread.c:405,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:419,1
    - Dst: pthread_detach
      Src: /src/gpac/src/utils/os_thread.c:411,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:416,1
    - Dst: log_del_thread
      Src: /src/gpac/src/utils/os_thread.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: gf_th_del
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - Thread_Stop
    - log_del_thread
    - gf_free
    - pthread_detach
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_th_del(GF_Thread *t) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SetThreadPriority
      Src: /src/gpac/src/utils/os_thread.c:456,1
    - Dst: GetCurrentThread
      Src: /src/gpac/src/utils/os_thread.c:456,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:459,1
    - Dst: pthread_setschedparam
      Src: /src/gpac/src/utils/os_thread.c:471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:472,1
    - Dst: pthread_setschedparam
      Src: /src/gpac/src/utils/os_thread.c:475,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:476,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - t
    - priority
    argTypes:
    - GF_Thread*
    - s32
    constantsTouched: []
    func_position:
      end: 480
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 480
    functionName: gf_th_set_priority
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - SetThreadPriority
    - pthread_setschedparam
    - GF_LOG
    - GetLastError
    - GetCurrentThread
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_th_set_priority(GF_Thread *t, s32 priority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/os_thread.c:94,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/os_thread.c:96,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_thread.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: log_del_thread
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_del_item
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void log_del_thread(GF_Thread *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: gf_th_status
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_th_status(GF_Thread *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/os_thread.c:87,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/os_thread.c:90,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: log_add_thread
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_th_id
    linkageType: ''
    returnType: void
    signature: 'static void log_add_thread(GF_Thread *t) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/os_thread.c:109,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_thread.c:112,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/os_thread.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - id
    - szName
    argTypes:
    - u32
    - char
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: log_th_name
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - gf_list_count
    - gf_list_get
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static const char *log_th_name(u32 id, char szName[100]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/gpac/src/utils/os_thread.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: gf_th_current
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: GF_Thread*
    signature: 'GF_Thread * gf_th_current() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_thread.c:126,1
    - Dst: memset
      Src: /src/gpac/src/utils/os_thread.c:129,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_thread.c:142,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_thread.c:128,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_thread.c:139,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_thread.c:143,1
    - Dst: log_add_thread
      Src: /src/gpac/src/utils/os_thread.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: gf_th_new
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_strdup
    - sprintf
    - log_add_thread
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Thread *gf_th_new(const char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:673,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:683,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:683,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:682,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:683,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_thread.c:688,1
    - Dst: pthread_mutex_lock
      Src: /src/gpac/src/utils/os_thread.c:696,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/os_thread.c:701,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_thread.c:703,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:703,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_thread.c:710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:708,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:706,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:719,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:719,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 723
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 723
    functionName: gf_mx_p
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - GF_LOG
    - sprintf
    - gf_sys_clock
    - log_th_name
    - strncpy
    - pthread_mutex_lock
    - gf_th_id
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_mx_p(GF_Mutex *mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:343,1
    - Dst: emscripten_dispatch_to_thread_async_
      Src: /src/gpac/src/utils/os_thread.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - t
    - (*Run)
    - param
    argTypes:
    - GF_Thread*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: gf_th_async_call
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - emscripten_dispatch_to_thread_async_
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_th_async_call(GF_Thread *t, u32 (*Run)(void *param), void
      *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 736
    functionName: gf_mx_get_num_locks
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_th_id
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_mx_get_num_locks(GF_Mutex *mx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_thread.c:939,1
    - Dst: sem_trywait
      Src: /src/gpac/src/utils/os_thread.c:947,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:953,1
    - Dst: sem_trywait
      Src: /src/gpac/src/utils/os_thread.c:955,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/os_thread.c:959,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:960,1
    - Dst: clock_gettime
      Src: /src/gpac/src/utils/os_thread.c:965,1
    - Dst: sem_timedwait
      Src: /src/gpac/src/utils/os_thread.c:973,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - sm
    - TimeOut
    argTypes:
    - GF_Semaphore*
    - u32
    constantsTouched: []
    func_position:
      end: 979
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 979
    functionName: gf_sema_wait_for
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - sem_trywait
    - gf_sys_clock
    - clock_gettime
    - gf_sleep
    - sem_timedwait
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sema_wait_for(GF_Semaphore *sm, u32 TimeOut) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - t
    - (*toRunBeforePthreadExit)
    argTypes:
    - GF_Thread*
    - u32
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: gf_register_before_exit_function
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_register_before_exit_function(GF_Thread *t, u32 (*toRunBeforePthreadExit)(void
      *param) ) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_status
      Src: /src/gpac/src/utils/os_thread.c:353,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:360,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_thread.c:364,1
    - Dst: TerminateThread
      Src: /src/gpac/src/utils/os_thread.c:357,1
    - Dst: pthread_kill
      Src: /src/gpac/src/utils/os_thread.c:369,1
    - Dst: pthread_cancel
      Src: /src/gpac/src/utils/os_thread.c:371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:373,1
    - Dst: emscripten_is_main_runtime_thread
      Src: /src/gpac/src/utils/os_thread.c:379,1
    - Dst: pthread_tryjoin_np
      Src: /src/gpac/src/utils/os_thread.c:382,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:387,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:383,1
    - Dst: pthread_join
      Src: /src/gpac/src/utils/os_thread.c:386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - t
    - Destroy
    argTypes:
    - GF_Thread*
    - Bool
    constantsTouched: []
    func_position:
      end: 394
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 394
    functionName: Thread_Stop
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - pthread_cancel
    - WaitForSingleObject
    - GF_LOG
    - GetLastError
    - pthread_tryjoin_np
    - TerminateThread
    - emscripten_is_main_runtime_thread
    - pthread_join
    - pthread_kill
    - gf_th_status
    linkageType: ''
    returnType: void
    signature: 'void Thread_Stop(GF_Thread *t, Bool Destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/gpac/src/utils/os_thread.c:494,1
    - Dst: PTR_TO_U_CAST
      Src: /src/gpac/src/utils/os_thread.c:496,1
    - Dst: pthread_self
      Src: /src/gpac/src/utils/os_thread.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: gf_th_id
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - GetCurrentThreadId
    - PTR_TO_U_CAST
    - pthread_self
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_th_id() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:569,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:571,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:571,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:571,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_thread.c:576,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:579,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:580,1
    - Dst: pthread_mutex_destroy
      Src: /src/gpac/src/utils/os_thread.c:587,1
    - Dst: gf_sleep
      Src: /src/gpac/src/utils/os_thread.c:589,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:608,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:604,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:596,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 609
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 609
    functionName: gf_mx_del
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - CloseHandle
    - GF_LOG
    - GetLastError
    - pthread_mutex_destroy
    - log_th_name
    - gf_free
    - gf_th_id
    - gf_sleep
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_del(GF_Mutex *mx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:759,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_thread.c:751,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:759,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:759,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:766,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:766,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/os_thread.c:771,1
    - Dst: pthread_mutex_trylock
      Src: /src/gpac/src/utils/os_thread.c:775,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:779,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:779,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:790,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:790,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:779,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 794
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 794
    functionName: gf_mx_try_lock
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - pthread_mutex_trylock
    - WaitForSingleObject
    - GF_LOG
    - gf_sys_clock
    - log_th_name
    - gf_th_id
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_mx_try_lock(GF_Mutex *mx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gpac/src/utils/os_thread.c:825,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:829,1
    - Dst: gf_rand
      Src: /src/gpac/src/utils/os_thread.c:841,1
    - Dst: sem_init
      Src: /src/gpac/src/utils/os_thread.c:853,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:848,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:855,1
    - Dst: sem_unlink
      Src: /src/gpac/src/utils/os_thread.c:845,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/os_thread.c:816,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:820,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:849,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/os_thread.c:818,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/os_thread.c:842,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/os_thread.c:843,1
    - Dst: CreateSemaphore
      Src: /src/gpac/src/utils/os_thread.c:826,1
    - Dst: MIN
      Src: /src/gpac/src/utils/os_thread.c:826,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:828,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/os_thread.c:841,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:854,1
    - Dst: sem_open
      Src: /src/gpac/src/utils/os_thread.c:846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - MaxCount
    - InitCount
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 861
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 861
    functionName: gf_sema_new
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - sem_unlink
    - MIN
    - gf_strdup
    - GF_LOG
    - sprintf
    - sem_open
    - sem_init
    - gf_free
    - CreateSemaphore
    - gf_opts_get_bool
    - gf_rand
    - gf_net_get_utc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Semaphore *gf_sema_new(u32 MaxCount, u32 InitCount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSemaphore
      Src: /src/gpac/src/utils/os_thread.c:894,1
    - Dst: sem_post
      Src: /src/gpac/src/utils/os_thread.c:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - NbRelease
    argTypes:
    - GF_Semaphore*
    - u32
    constantsTouched: []
    func_position:
      end: 905
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 905
    functionName: gf_sema_notify
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - ReleaseSemaphore
    - sem_post
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sema_notify(GF_Semaphore *sm, u32 NbRelease) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: gf_th_log_name
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_th_log_name(GF_Thread *t) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/gpac/src/utils/os_thread.c:216,1
    - Dst: pthread_setname_np
      Src: /src/gpac/src/utils/os_thread.c:207,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:226,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/utils/os_thread.c:222,1
    - Dst: emscripten_unwind_to_js_event_loop
      Src: /src/gpac/src/utils/os_thread.c:240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:249,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:264,1
    - Dst: pthread_setname_np
      Src: /src/gpac/src/utils/os_thread.c:205,1
    - Dst: pthread_setspecific
      Src: /src/gpac/src/utils/os_thread.c:216,1
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:225,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/utils/os_thread.c:230,1
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_thread.c:254,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:256,1
    - Dst: pthread_exit
      Src: /src/gpac/src/utils/os_thread.c:269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:226,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:255,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:249,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 272
    functionName: RunThread
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - pthread_setname_np
    - emscripten_unwind_to_js_event_loop
    - GF_LOG
    - pthread_once
    - CloseHandle
    - pthread_setspecific
    - GetLastError
    - gf_sys_clock
    - gf_rand_init
    - gf_sema_notify
    - gf_th_id
    - pthread_exit
    linkageType: ''
    returnType: void*
    signature: 'void * RunThread(void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Thread_Stop
      Src: /src/gpac/src/utils/os_thread.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - GF_Thread*
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: gf_th_stop
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - Thread_Stop
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_th_stop(GF_Thread *t) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/utils/os_thread.c:616,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/os_thread.c:623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:630,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/utils/os_thread.c:630,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/os_thread.c:620,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:630,1
    - Dst: ReleaseMutex
      Src: /src/gpac/src/utils/os_thread.c:636,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:642,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:642,1
    - Dst: pthread_mutex_unlock
      Src: /src/gpac/src/utils/os_thread.c:649,1
    - Dst: log_th_name
      Src: /src/gpac/src/utils/os_thread.c:653,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 659
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 659
    functionName: gf_mx_v
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - GF_LOG
    - GetLastError
    - gf_sys_clock
    - gf_fatal_assert
    - log_th_name
    - gf_th_id
    - ReleaseMutex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_mx_v(GF_Mutex *mx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/gpac/src/utils/os_thread.c:868,1
    - Dst: sem_close
      Src: /src/gpac/src/utils/os_thread.c:873,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:869,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:870,1
    - Dst: sem_unlink
      Src: /src/gpac/src/utils/os_thread.c:874,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:875,1
    - Dst: sem_destroy
      Src: /src/gpac/src/utils/os_thread.c:877,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/os_thread.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - GF_Semaphore*
    constantsTouched: []
    func_position:
      end: 880
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 880
    functionName: gf_sema_del
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - sem_unlink
    - sem_destroy
    - GF_LOG
    - CloseHandle
    - GetLastError
    - sem_close
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sema_del(GF_Semaphore *sm) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/utils/os_thread.c:912,1
    - Dst: GetLastError
      Src: /src/gpac/src/utils/os_thread.c:914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:917,1
    - Dst: sem_wait
      Src: /src/gpac/src/utils/os_thread.c:925,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/os_thread.c:927,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - GF_Semaphore*
    constantsTouched: []
    func_position:
      end: 932
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 932
    functionName: gf_sema_wait
    functionSourceFile: /src/gpac/src/utils/os_thread.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - GF_LOG
    - sem_wait
    - GetLastError
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_sema_wait(GF_Semaphore *sm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:555,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:568,1
    - Dst: xml_translate_xml_string
      Src: /src/gpac/src/utils/xml_parser.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 576
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 576
    functionName: xml_sax_flush_text
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_translate_xml_string
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_flush_text(GF_SAXParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: xml_sax_skip_xml_proc
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_sax_swap
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_skip_xml_proc(GF_SAXParser *parser) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1688,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1690,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1689,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1692,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1691,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1693,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1698,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1699,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1700,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:1701,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - node
    - reset_attribs
    - reset_children
    argTypes:
    - GF_XMLNode*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1704
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1704
    functionName: gf_xml_dom_node_reset
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_count
    - gf_xml_dom_node_del
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_xml_dom_node_reset(GF_XMLNode *node, Bool reset_attribs,
      Bool reset_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/xml_parser.c:2087,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:2090,1
    - Dst: gf_xml_dom_node_serialize
      Src: /src/gpac/src/utils/xml_parser.c:2092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - node
    - content_only
    - no_escape
    argTypes:
    - GF_XMLNode*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2094
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2094
    functionName: gf_xml_dom_serialize_root
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_xml_dom_node_serialize
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_xml_dom_serialize_root(GF_XMLNode *node, Bool content_only,
      Bool no_escape) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:2174,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:2187,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2177,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2185,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:2179,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:2188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ns
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2196
    functionName: gf_xml_dom_node_new
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'GF_XMLNode *gf_xml_dom_node_new(const char* ns, const char* name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1932,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_DOMParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1937
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1937
    functionName: gf_xml_dom_create_root
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'GF_XMLNode *gf_xml_dom_create_root(GF_DOMParser *parser, const char*
      name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:587,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:603,1
    - Dst: xml_sax_flush_text
      Src: /src/gpac/src/utils/xml_parser.c:598,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - parser
    - txt_len
    argTypes:
    - GF_SAXParser*
    - u32
    constantsTouched: []
    func_position:
      end: 604
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 604
    functionName: xml_sax_store_text
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_assert
    - xml_sax_flush_text
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_store_text(GF_SAXParser *parser, u32 txt_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:668,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/xml_parser.c:678,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:682,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/utils/xml_parser.c:704,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:651,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:686,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:688,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:692,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:698,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:710,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:660,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:672,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:695,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:713,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:691,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:675,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:685,1
    - Dst: xml_get_current_text
      Src: /src/gpac/src/utils/xml_parser.c:694,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:699,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 714
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 714
    functionName: xml_sax_parse_entity
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_dynstrcat
    - gf_list_last
    - xml_sax_store_text
    - gf_strdup
    - xml_sax_swap
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    - xml_get_current_text
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_parse_entity(GF_SAXParser *parser) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_node_reset
      Src: /src/gpac/src/utils/xml_parser.c:1710,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1713,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/xml_parser.c:1712,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/xml_parser.c:1711,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1714,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1716
    functionName: gf_xml_dom_node_del
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_node_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_xml_dom_node_del(GF_XMLNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:2280,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:2291,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_parser.c:2293,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2287,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2289,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:2295,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:2297,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2300,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2301,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:2302,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_parser.c:2306,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:2309,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:2304,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:2312,1
    - Dst: gf_xml_dom_node_clone
      Src: /src/gpac/src/utils/xml_parser.c:2307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - node
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 2315
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2315
    functionName: gf_xml_dom_node_clone
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_strdup
    - gf_xml_dom_node_del
    - GF_SAFEALLOC
    - gf_list_new
    - gf_xml_dom_node_clone
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'GF_XMLNode *gf_xml_dom_node_clone(GF_XMLNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gpac/src/utils/xml_parser.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: xml_sax_swap
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_swap(GF_SAXParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: xml_get_current_text
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *xml_get_current_text(GF_SAXParser *parser) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:808,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:880,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:889,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:891,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:892,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:932,1
    - Dst: xml_sax_parse_entity
      Src: /src/gpac/src/utils/xml_parser.c:942,1
    - Dst: xml_sax_cdata
      Src: /src/gpac/src/utils/xml_parser.c:951,1
    - Dst: xml_sax_node_end
      Src: /src/gpac/src/utils/xml_parser.c:862,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:883,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:891,1
    - Dst: gf_xml_sax_parse_intern
      Src: /src/gpac/src/utils/xml_parser.c:919,1
    - Dst: xml_sax_skip_xml_proc
      Src: /src/gpac/src/utils/xml_parser.c:948,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:801,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:796,1
    - Dst: xml_sax_node_end
      Src: /src/gpac/src/utils/xml_parser.c:865,1
    - Dst: xml_sax_flush_text
      Src: /src/gpac/src/utils/xml_parser.c:884,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:888,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:905,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:890,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:909,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:922,1
    - Dst: xml_sax_parse_attribute
      Src: /src/gpac/src/utils/xml_parser.c:938,1
    - Dst: xml_sax_skip_doctype
      Src: /src/gpac/src/utils/xml_parser.c:945,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:787,1
    - Dst: xml_sax_flush_text
      Src: /src/gpac/src/utils/xml_parser.c:857,1
    - Dst: xml_sax_node_start
      Src: /src/gpac/src/utils/xml_parser.c:861,1
    - Dst: xml_sax_flush_text
      Src: /src/gpac/src/utils/xml_parser.c:900,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:916,1
    - Dst: xml_sax_parse_comments
      Src: /src/gpac/src/utils/xml_parser.c:931,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:968,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 206
    argCount: 2
    argNames:
    - parser
    - force_parse
    argTypes:
    - GF_SAXParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 974
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 974
    functionName: xml_sax_parse
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_LOG
    - xml_sax_node_end
    - xml_sax_node_start
    - xml_sax_parse_comments
    - xml_sax_skip_doctype
    - xml_sax_parse_entity
    - gf_list_count
    - gf_strdup
    - strcmp
    - xml_sax_skip_xml_proc
    - gf_assert
    - xml_sax_cdata
    - xml_sax_flush_text
    - xml_sax_parse_attribute
    - xml_sax_store_text
    - gf_xml_sax_parse_intern
    - gf_free
    - xml_sax_swap
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xml_sax_parse(GF_SAXParser *parser, Bool force_parse) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1347
    functionName: gf_xml_sax_binary_file
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_xml_sax_binary_file(GF_SAXParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1826,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1832
    functionName: gf_xml_dom_new
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DOMParser *gf_xml_dom_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_reset
      Src: /src/gpac/src/utils/xml_parser.c:1870,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1872,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/xml_parser.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1873
    functionName: gf_xml_dom_del
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_reset
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_xml_dom_del(GF_DOMParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cbck
    - done
    - tot
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1891
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1891
    functionName: dom_on_progress
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dom_on_progress(void *cbck, u64 done, u64 tot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_reset
      Src: /src/gpac/src/utils/xml_parser.c:1911,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/utils/xml_parser.c:1913,1
    - Dst: gf_xml_dom_reset
      Src: /src/gpac/src/utils/xml_parser.c:1915,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1912,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/utils/xml_parser.c:1914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dom
    - string
    argTypes:
    - GF_DOMParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1917
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1917
    functionName: gf_xml_dom_parse_string
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_init
    - gf_xml_dom_reset
    - gf_list_new
    - gf_xml_sax_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_dom_parse_string(GF_DOMParser *dom, char *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/xml_parser.c:227,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/xml_parser.c:228,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/xml_parser.c:228,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:231,1
    - Dst: va_end
      Src: /src/gpac/src/utils/xml_parser.c:229,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/xml_parser.c:231,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/xml_parser.c:233,1
    - Dst: strcat
      Src: /src/gpac/src/utils/xml_parser.c:234,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:235,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/xml_parser.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - linepos
    - fmt
    - '...'
    argTypes:
    - GF_SAXParser*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: format_sax_error
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - strcat
    - va_end
    - va_start
    - strncpy
    - GF_ARRAY_LENGTH
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void format_sax_error(GF_SAXParser *parser, u32 linepos, const
      char* fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: xml_sax_skip_doctype
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_sax_swap
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_skip_doctype(GF_SAXParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:979,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/xml_parser.c:992,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/xml_parser.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - parser
    - string
    argTypes:
    - GF_SAXParser*
    - char*
    constantsTouched: []
    func_position:
      end: 996
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 996
    functionName: xml_sax_append_string
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xml_sax_append_string(GF_SAXParser *parser, char *string) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1183,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1187,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1185,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1186,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1188,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1190,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1193,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1198
    functionName: xml_sax_reset
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_reset(GF_SAXParser *parser) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:1270,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/utils/xml_parser.c:1273,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/utils/xml_parser.c:1285,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/xml_parser.c:1278,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1287,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/utils/xml_parser.c:1290,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/xml_parser.c:1305,1
    - Dst: gf_fsize
      Src: /src/gpac/src/utils/xml_parser.c:1308,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/xml_parser.c:1309,1
    - Dst: gf_gzopen
      Src: /src/gpac/src/utils/xml_parser.c:1323,1
    - Dst: xml_sax_read_file
      Src: /src/gpac/src/utils/xml_parser.c:1334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:1320,1
    - Dst: gf_fopen
      Src: /src/gpac/src/utils/xml_parser.c:1318,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/xml_parser.c:1311,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/utils/xml_parser.c:1331,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/xml_parser.c:1319,1
    - Dst: gf_gzread
      Src: /src/gpac/src/utils/xml_parser.c:1327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 3
    argNames:
    - parser
    - fileName
    - OnProgress
    argTypes:
    - GF_SAXParser*
    - char*
    - gf_xml_sax_progress
    constantsTouched: []
    func_position:
      end: 1335
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1335
    functionName: gf_xml_sax_parse_file
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_init
    - xml_sax_read_file
    - strncmp
    - gf_fsize
    - gf_fclose
    - gf_fread
    - GF_LOG
    - gf_gzread
    - gf_blob_get
    - gf_fatal_assert
    - memcpy
    - gf_gzopen
    - gf_fopen
    - gf_blob_release
    - gf_xml_sax_parse
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_sax_parse_file(GF_SAXParser *parser, const
      char *fileName, gf_xml_sax_progress OnProgress) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1356,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1358,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/utils/xml_parser.c:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - on_node_start
    - on_node_end
    - on_text_content
    - cbck
    argTypes:
    - gf_xml_sax_node_start
    - gf_xml_sax_node_end
    - gf_xml_sax_text_content
    - void*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1368
    functionName: gf_xml_sax_new
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_opts_get_int
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SAXParser *gf_xml_sax_new(gf_xml_sax_node_start on_node_start,
      gf_xml_sax_node_end on_node_end, gf_xml_sax_text_content on_text_content, void
      *cbck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/utils/xml_parser.c:1837,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1842,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/xml_parser.c:1846,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1844,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1843,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:1849,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/xml_parser.c:1851,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1854,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1855,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1856,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1857,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:1858,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - dom
    - full_reset
    argTypes:
    - GF_DOMParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 1862
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1862
    functionName: gf_xml_dom_reset
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_xml_dom_node_del
    - gf_xml_sax_del
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void gf_xml_dom_reset(GF_DOMParser *dom, Bool full_reset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/utils/xml_parser.c:1882,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:1883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1885
    functionName: gf_xml_dom_detach_root
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_XMLNode *gf_xml_dom_detach_root(GF_DOMParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_reset
      Src: /src/gpac/src/utils/xml_parser.c:1897,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1898,1
    - Dst: gf_xml_dom_reset
      Src: /src/gpac/src/utils/xml_parser.c:1903,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/utils/xml_parser.c:1902,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/utils/xml_parser.c:1899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dom
    - file
    - OnProgress
    - cbk
    argTypes:
    - GF_DOMParser*
    - char*
    - gf_xml_sax_progress
    - void*
    constantsTouched: []
    func_position:
      end: 1905
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1905
    functionName: gf_xml_dom_parse
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_reset
    - gf_list_new
    - gf_xml_sax_new
    - gf_xml_sax_parse_file
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_dom_parse(GF_DOMParser *dom, const char *file,
      gf_xml_sax_progress OnProgress, void *cbk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dom
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1925
    functionName: gf_xml_dom_enable_passthrough
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_dom_enable_passthrough(GF_DOMParser *dom) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:2203,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:2222,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_parser.c:2217,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:2219,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:2211,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:2223,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:2227,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:2232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - n
    - expected_node_name
    - expected_ns_prefix
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2234
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2234
    functionName: gf_xml_dom_node_check_namespace
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_list_enum
    - GF_LOG
    - strcmp
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_xml_dom_node_check_namespace(const GF_XMLNode *n, const
      char *expected_node_name, const char *expected_ns_prefix) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:2143,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:2146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - child
    argTypes:
    - GF_XMLNode*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2147
    functionName: gf_xml_dom_append_child
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_dom_append_child(GF_XMLNode *node, GF_XMLNode
      *child) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:2130,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2134,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:2133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2136
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2136
    functionName: gf_xml_dom_create_attribute
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_XMLAttribute *gf_xml_dom_create_attribute(const char*
      name, const char* value) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: xml_sax_node_end
      Src: /src/gpac/src/utils/xml_parser.c:358,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:438,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:446,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:368,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:387,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:409,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:423,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:447,1
    - Dst: xml_get_sax_attribute
      Src: /src/gpac/src/utils/xml_parser.c:443,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:510,1
    - Dst: xml_sax_node_start
      Src: /src/gpac/src/utils/xml_parser.c:395,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:401,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:461,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:514,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:518,1
    - Dst: xml_sax_node_start
      Src: /src/gpac/src/utils/xml_parser.c:355,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:376,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:507,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:528,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 175
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 539
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 539
    functionName: xml_sax_parse_attribute
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strncmp
    - format_sax_error
    - xml_sax_node_start
    - xml_get_sax_attribute
    - xml_sax_node_end
    - strchr
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xml_sax_parse_attribute(GF_SAXParser *parser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/utils/xml_parser.c:1121,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/utils/xml_parser.c:1123,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1126,1
    - Dst: gf_xml_sax_parse_intern
      Src: /src/gpac/src/utils/xml_parser.c:1135,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:1122,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - parser
    - string
    argTypes:
    - GF_SAXParser*
    - void*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1138
    functionName: gf_xml_sax_parse
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_utf8_wcslen
    - gf_utf8_wcstombs
    - gf_xml_sax_parse_intern
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_sax_parse(GF_SAXParser *parser, const void
      *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_sax_reset
      Src: /src/gpac/src/utils/xml_parser.c:1373,1
    - Dst: gf_gzclose
      Src: /src/gpac/src/utils/xml_parser.c:1378,1
    - Dst: gf_fclose
      Src: /src/gpac/src/utils/xml_parser.c:1376,1
    - Dst: gf_list_del
      Src: /src/gpac/src/utils/xml_parser.c:1374,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1381
    functionName: gf_xml_sax_del
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_gzclose
    - gf_list_del
    - gf_free
    - gf_fclose
    - xml_sax_reset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_xml_sax_del(GF_SAXParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1412
    functionName: gf_xml_sax_get_file_size
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_xml_sax_get_file_size(GF_SAXParser *parser) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:1460,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:1477,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1485,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1530,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/utils/xml_parser.c:1496,1
    - Dst: gf_fread
      Src: /src/gpac/src/utils/xml_parser.c:1511,1
    - Dst: gf_feof
      Src: /src/gpac/src/utils/xml_parser.c:1494,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1565,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1591,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1592,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1595,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1602,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:1458,1
    - Dst: gf_gztell
      Src: /src/gpac/src/utils/xml_parser.c:1471,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1474,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1480,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/xml_parser.c:1533,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/xml_parser.c:1546,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1551,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1556,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1563,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:1569,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1608,1
    - Dst: gf_fseek
      Src: /src/gpac/src/utils/xml_parser.c:1612,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1462,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/xml_parser.c:1483,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1517,1
    - Dst: gf_gzread
      Src: /src/gpac/src/utils/xml_parser.c:1513,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1521,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1535,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1550,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:1578,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1586,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1588,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1607,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/utils/xml_parser.c:1615,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1572,1
    - Dst: gf_ftell
      Src: /src/gpac/src/utils/xml_parser.c:1469,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1479,1
    - Dst: CPYCAT_ALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1537,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1553,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:1574,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1580,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1597,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1606,1
    - Dst: gf_gzrewind
      Src: /src/gpac/src/utils/xml_parser.c:1614,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 169
    argCount: 7
    argNames:
    - parser
    - att_name
    - att_value
    - substitute
    - get_attr
    - end_pattern
    - is_substitute
    argTypes:
    - GF_SAXParser*
    - char*
    - char*
    - char*
    - char*
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1619
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1619
    functionName: gf_xml_sax_peek_node
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - strncmp
    - gf_fseek
    - gf_feof
    - strstr
    - CPYCAT_ALLOC
    - gf_gzeof
    - gf_strdup
    - strcmp
    - strcpy
    - gf_gzseek
    - gf_fread
    - gf_ftell
    - strchr
    - gf_free
    - gf_gzread
    - gf_gztell
    - strrchr
    - gf_gzrewind
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_xml_sax_peek_node(GF_SAXParser *parser, char *att_name,
      char *att_value, char *substitute, char *get_attr, char *end_pattern, Bool *is_substitute) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1777,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1780,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:1780,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/utils/xml_parser.c:1778,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1780,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:1780,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:1782,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/utils/xml_parser.c:1784,1
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/xml_parser.c:1787,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/xml_parser.c:1789,1
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1793,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:1797,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1795,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 3
    argNames:
    - cbk
    - name
    - ns
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1800
    functionName: on_dom_node_end
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_rem_last
    - strlen
    - gf_list_last
    - gf_list_find
    - strcmp
    - format_sax_error
    - gf_xml_dom_node_del
    - gf_list_rem
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void on_dom_node_end(void *cbk, const char *name, const char
      *ns) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/utils/xml_parser.c:1948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1949
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1949
    functionName: gf_xml_dom_get_error
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_get_error
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_xml_dom_get_error(GF_DOMParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1960
    functionName: gf_xml_dom_get_root_nodes_count
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_dom_get_root_nodes_count(GF_DOMParser *parser) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:51,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:52,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/xml_parser.c:58,1
    - Dst: strncpy
      Src: /src/gpac/src/utils/xml_parser.c:66,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:68,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:71,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_parser.c:74,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/xml_parser.c:76,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/utils/xml_parser.c:79,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_parser.c:83,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_parser.c:88,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_parser.c:98,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_parser.c:93,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/xml_parser.c:103,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 120
    functionName: xml_translate_xml_string
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_realloc
    - sscanf
    - strchr
    - strncpy
    - gf_utf8_wcstombs
    - strnicmp
    linkageType: ''
    returnType: GF_STATIC*
    signature: 'GF_STATIC char *xml_translate_xml_string(char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/xml_parser.c:201,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/xml_parser.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: xml_get_sax_attribute
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: GF_XMLSaxAttribute*
    signature: 'static GF_XMLSaxAttribute *xml_get_sax_attribute(GF_SAXParser *parser) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1151,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/utils/xml_parser.c:1171,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1177,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:1172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - parser
    - BOM
    argTypes:
    - GF_SAXParser*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1178
    functionName: gf_xml_sax_init
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_parse
    - gf_sys_is_cov_mode
    - format_sax_error
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_sax_init(GF_SAXParser *parser, unsigned char
      *BOM) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_sax_read_file
      Src: /src/gpac/src/utils/xml_parser.c:1389,1
    - Dst: xml_sax_read_file
      Src: /src/gpac/src/utils/xml_parser.c:1391,1
    - Dst: xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - do_suspend
    argTypes:
    - GF_SAXParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 1396
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1396
    functionName: gf_xml_sax_suspend
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_sax_read_file
    - xml_sax_parse
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_sax_suspend(GF_SAXParser *parser, Bool do_suspend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1421
    functionName: gf_xml_sax_get_file_pos
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_xml_sax_get_file_pos(GF_SAXParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1625
    functionName: gf_xml_sax_get_error
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_xml_sax_get_error(GF_SAXParser *parser) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1726,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1738,1
    - Dst: gf_list_new_prealloc
      Src: /src/gpac/src/utils/xml_parser.c:1736,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1739,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1731,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:1740,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:1743,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:1752,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:1754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:1756,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:1764,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1768,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:1770,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1769,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1762,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 5
    argNames:
    - cbk
    - name
    - ns
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1772
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1772
    functionName: on_dom_node_start
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - gf_list_new_prealloc
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void on_dom_node_start(void *cbk, const char *name, const char
      *ns, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/utils/xml_parser.c:1806,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/xml_parser.c:1811,1
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:1809,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:1813,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:1819,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - cbk
    - content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1820
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1820
    functionName: on_dom_text_content
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_last
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void on_dom_text_content(void *cbk, const char *content, Bool
      is_cdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1944
    functionName: gf_xml_dom_get_root
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_XMLNode *gf_xml_dom_get_root(GF_DOMParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:1965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - parser
    - idx
    argTypes:
    - GF_DOMParser*
    - u32
    constantsTouched: []
    func_position:
      end: 1966
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1966
    functionName: gf_xml_dom_get_root_idx
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_XMLNode *gf_xml_dom_get_root_idx(GF_DOMParser *parser,
      u32 idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:2239,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2254,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2251,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2248,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2242,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2257,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2260,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/utils/xml_parser.c:2270,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 4
    argNames:
    - file
    - before
    - str
    - after
    argTypes:
    - FILE*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2272
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2272
    functionName: gf_xml_dump_string
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'void gf_xml_dump_string(FILE* file, const char *before, const char
      *str, const char *after) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:246,1
    - Dst: format_sax_error
      Src: /src/gpac/src/utils/xml_parser.c:249,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:257,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:247,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - parser
    - had_children
    argTypes:
    - GF_SAXParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 271
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 271
    functionName: xml_sax_node_end
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_assert
    - xml_sax_swap
    - strchr
    - format_sax_error
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_node_end(GF_SAXParser *parser, Bool had_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:718,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:720,1
    - Dst: xml_sax_flush_text
      Src: /src/gpac/src/utils/xml_parser.c:724,1
    - Dst: xml_sax_store_text
      Src: /src/gpac/src/utils/xml_parser.c:723,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: xml_sax_cdata
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_sax_store_text
    - xml_sax_flush_text
    - strstr
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_cdata(GF_SAXParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1001,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:1009,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1004,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:1007,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/xml_parser.c:1015,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - parser
    - ent_start
    - needs_text
    argTypes:
    - GF_SAXParser*
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1020
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1020
    functionName: gf_xml_locate_entity
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_count
    - gf_list_get
    - strncmp
    linkageType: ''
    returnType: XML_Entity*
    signature: 'static XML_Entity *gf_xml_locate_entity(GF_SAXParser *parser, char
      *ent_start, Bool *needs_text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1402
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1402
    functionName: gf_xml_sax_get_line
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_sax_get_line(GF_SAXParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/utils/xml_parser.c:1648,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/utils/xml_parser.c:1649,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/utils/xml_parser.c:1651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file
    - ret
    argTypes:
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1653
    functionName: gf_xml_get_root_type
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_new
    - gf_xml_sax_del
    - gf_xml_sax_parse_file
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_xml_get_root_type(const char *file, GF_Err *ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1666
    functionName: gf_xml_sax_get_node_end_pos
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_sax_get_node_end_pos(GF_SAXParser *parser) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:1988,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2017,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2022,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2036,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2039,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:2037,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2044,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2045,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:2049,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2053,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:1986,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:1996,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2005,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2014,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2034,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2043,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2046,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2011,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:2042,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2033,1
    - Dst: gf_list_get
      Src: /src/gpac/src/utils/xml_parser.c:2058,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2067,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2068,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:1987,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:2001,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2008,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2031,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2050,1
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:2056,1
    - Dst: gf_xml_dom_node_serialize
      Src: /src/gpac/src/utils/xml_parser.c:2059,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2062,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2065,1
    - Dst: SET_STRING
      Src: /src/gpac/src/utils/xml_parser.c:2064,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 6
    argNames:
    - node
    - content_only
    - no_escape
    - str
    - alloc_size
    - size
    argTypes:
    - GF_XMLNode*
    - Bool
    - Bool
    - char**
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2070
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 2070
    functionName: gf_xml_dom_node_serialize
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - SET_STRING
    - gf_xml_dom_node_serialize
    - gf_list_count
    linkageType: ''
    returnType: void
    signature: 'static void gf_xml_dom_node_serialize(GF_XMLNode *node, Bool content_only,
      Bool no_escape, char **str, u32 *alloc_size, u32 *size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/utils/xml_parser.c:2101,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/xml_parser.c:2107,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/utils/xml_parser.c:2105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - node
    - name
    - value
    argTypes:
    - GF_XMLNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2109
    functionName: gf_xml_dom_set_attribute
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_new
    - gf_xml_dom_create_attribute
    linkageType: ''
    returnType: GF_XMLAttribute*
    signature: 'GF_XMLAttribute *gf_xml_dom_set_attribute(GF_XMLNode *node, const
      char* name, const char* value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:279,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:300,1
    - Dst: xml_translate_xml_string
      Src: /src/gpac/src/utils/xml_parser.c:293,1
    - Dst: strchr
      Src: /src/gpac/src/utils/xml_parser.c:290,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:316,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 323
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 323
    functionName: xml_sax_node_start
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - xml_translate_xml_string
    - xml_sax_swap
    - strchr
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void xml_sax_node_start(GF_SAXParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:733,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:737,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/xml_parser.c:742,1
    - Dst: xml_sax_swap
      Src: /src/gpac/src/utils/xml_parser.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 747
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 747
    functionName: xml_sax_parse_comments
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_assert
    - xml_sax_swap
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xml_sax_parse_comments(GF_SAXParser *parser) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/utils/xml_parser.c:1027,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1051,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1080,1
    - Dst: xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1101,1
    - Dst: strrchr
      Src: /src/gpac/src/utils/xml_parser.c:1042,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1046,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1067,1
    - Dst: xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1081,1
    - Dst: gf_xml_locate_entity
      Src: /src/gpac/src/utils/xml_parser.c:1050,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1086,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1039,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1043,1
    - Dst: strlen
      Src: /src/gpac/src/utils/xml_parser.c:1046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/xml_parser.c:1063,1
    - Dst: gf_xml_locate_entity
      Src: /src/gpac/src/utils/xml_parser.c:1076,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1100,1
    - Dst: xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1107,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1040,1
    - Dst: strstr
      Src: /src/gpac/src/utils/xml_parser.c:1031,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/xml_parser.c:1047,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/xml_parser.c:1048,1
    - Dst: xml_sax_parse
      Src: /src/gpac/src/utils/xml_parser.c:1056,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1055,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1094,1
    - Dst: xml_sax_append_string
      Src: /src/gpac/src/utils/xml_parser.c:1106,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - parser
    - current
    argTypes:
    - GF_SAXParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1108
    functionName: gf_xml_sax_parse_intern
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_xml_locate_entity
    - xml_sax_parse
    - gf_list_count
    - sprintf
    - GF_LOG
    - strrchr
    - xml_sax_append_string
    - gf_free
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_xml_sax_parse_intern(GF_SAXParser *parser, char *current) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/utils/xml_parser.c:1637,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/xml_parser.c:1638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 5
    argNames:
    - cbk
    - name
    - ns
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1640
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1640
    functionName: on_peek_node_start
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void on_peek_node_start(void *cbk, const char *name, const
      char *ns, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SAXParser*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: gf_xml_sax_get_node_start_pos
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_sax_get_node_start_pos(GF_SAXParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/utils/xml_parser.c:1953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_DOMParser*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1954
    functionName: gf_xml_dom_get_line
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_get_line
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_xml_dom_get_line(GF_DOMParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_node_serialize
      Src: /src/gpac/src/utils/xml_parser.c:2078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - node
    - content_only
    - no_escape
    argTypes:
    - GF_XMLNode*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2080
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2080
    functionName: gf_xml_dom_serialize
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_node_serialize
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_xml_dom_serialize(GF_XMLNode *node, Bool content_only,
      Bool no_escape) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/utils/xml_parser.c:2116,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/xml_parser.c:2117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2123
    functionName: gf_xml_dom_get_attribute
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_XMLAttribute*
    signature: 'GF_XMLAttribute *gf_xml_dom_get_attribute(GF_XMLNode *node, const
      char* name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/utils/xml_parser.c:2164,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/utils/xml_parser.c:2166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - node
    - child
    argTypes:
    - GF_XMLNode*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 2167
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2167
    functionName: gf_xml_dom_rem_child
    functionSourceFile: /src/gpac/src/utils/xml_parser.c
    functionUses: []
    functionsReached:
    - gf_list_rem
    - gf_list_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_xml_dom_rem_child(GF_XMLNode *node, GF_XMLNode
      *child) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - idx
    - name
    - desc
    argTypes:
    - u32*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: gf_stream_types_enum
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_stream_types_enum(u32 *idx, const char **name, const
      char **desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/utils/constants.c:716,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:727,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:725,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:721,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:719,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/constants.c:729,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 737
    functionName: gf_audio_fmt_all_shortnames
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - memset
    - GF_LOG
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_all_shortnames() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2123,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2125,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2130
    functionName: gf_cicp_color_primaries_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - strcat
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_primaries_all_names() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2253,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2256,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2260
    functionName: gf_cicp_color_matrix_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - strcat
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_matrix_all_names() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:185,1
    - Dst: strchr
      Src: /src/gpac/src/utils/constants.c:193,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:188,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:198,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/constants.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - cname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: gf_codecid_parse
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - strchr
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_CodecID gf_codecid_parse(const char *cname) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - afx_code
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 606
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 606
    functionName: gf_stream_type_afx_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_stream_type_afx_name(u8 afx_code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 4
    argNames:
    - idx
    - name
    - fileext
    - desc
    argTypes:
    - u32*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 755
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 755
    functionName: gf_audio_fmt_enum
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_AudioFormat gf_audio_fmt_enum(u32 *idx, const char **name,
      const char **fileext, const char **desc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - value
    - timescale
    - new_timescale
    argTypes:
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2297
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2297
    functionName: gf_timestamp_rescale
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_timestamp_rescale(u64 value, u64 timescale, u64 new_timescale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - chan_layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: gf_audio_fmt_get_cicp_from_layout
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_get_cicp_from_layout(u64 chan_layout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/utils/constants.c:991,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:998,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1000
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1000
    functionName: gf_audio_fmt_get_cicp_from_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - atoi
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_audio_fmt_get_cicp_from_name(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - streamType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: gf_stream_type_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_stream_type_name(u32 streamType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - streamType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: gf_stream_type_short_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_stream_type_short_name(u32 streamType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:1301,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/constants.c:1311,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1303,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1318
    functionName: gf_pixel_fmt_all_shortnames
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_pixel_fmt_all_shortnames() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - qt_code
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1836
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1836
    functionName: gf_pixel_fmt_from_qt_type
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_PixelFormat gf_pixel_fmt_from_qt_type(u32 qt_code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - short_name
    - ch_mask
    argTypes:
    - u32
    - char**
    - u64*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1046
    functionName: gf_audio_fmt_cicp_enum
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_cicp_enum(u32 idx, const char **short_name,
      u64 *ch_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - msubtype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 835
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 835
    functionName: gf_audio_fmt_from_isobmf
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_AudioFormat gf_audio_fmt_from_isobmf(u32 msubtype) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1082
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1082
    functionName: gf_audio_fmt_get_dolby_chanmap_from_layout
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_audio_fmt_get_dolby_chanmap_from_layout(u64 layout) '
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1557,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/constants.c:1557,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 309
    argCount: 8
    argNames:
    - pixfmt
    - width
    - height
    - out_size
    - out_stride
    - out_stride_uv
    - out_planes
    - out_plane_uv_height
    argTypes:
    - GF_PixelFormat
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1566
    functionName: gf_pixel_get_size_info
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_name
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_pixel_get_size_info(GF_PixelFormat pixfmt, u32 width,
      u32 height, u32 *out_size, u32 *out_stride, u32 *out_stride_uv, u32 *out_planes,
      u32 *out_plane_uv_height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pix_fmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1848
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1848
    functionName: gf_pixel_fmt_to_qt_type
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_pixel_fmt_to_qt_type(GF_PixelFormat pix_fmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2223,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:2231,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:2226,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:2230,1
    - Dst: cicp_parse_int
      Src: /src/gpac/src/utils/constants.c:2224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2234
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2234
    functionName: gf_cicp_parse_color_matrix
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - GF_ARRAY_LENGTH
    - stricmp
    - cicp_parse_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_cicp_parse_color_matrix(const char *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cicp_code
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1010
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionName: gf_audio_fmt_get_cicp_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_audio_fmt_get_cicp_name(u32 cicp_code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1249
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1249
    functionName: gf_pixel_fmt_is_yuv
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_pixel_fmt_is_yuv(GF_PixelFormat pfmt) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1680,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/constants.c:1680,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 4
    argCount: 1
    argNames:
    - pixfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1684
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1684
    functionName: gf_pixel_get_bytes_per_pixel
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_name
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_pixel_get_bytes_per_pixel(GF_PixelFormat pixfmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2162,1
    - Dst: cicp_parse_int
      Src: /src/gpac/src/utils/constants.c:2163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:2170,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:2165,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:2169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2173
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2173
    functionName: gf_cicp_parse_color_transfer
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - GF_ARRAY_LENGTH
    - stricmp
    - cicp_parse_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_cicp_parse_color_transfer(const char *val) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 8
    argCount: 3
    argNames:
    - pixfmt
    - downsample_w
    - downsample_h
    argTypes:
    - GF_PixelFormat
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1804
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1804
    functionName: gf_pixel_get_downsampling
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_pixel_get_downsampling(GF_PixelFormat pixfmt, u32
      *downsample_w, u32 *downsample_h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - chan_layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1022
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1022
    functionName: gf_audio_fmt_get_num_channels_from_layout
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_get_num_channels_from_layout(u64 chan_layout) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1764,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/constants.c:1764,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 4
    argCount: 1
    argNames:
    - pixfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1768
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1768
    functionName: gf_pixel_get_nb_comp
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_name
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_pixel_get_nb_comp(GF_PixelFormat pixfmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2044
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2044
    functionName: gf_id3_get_genre
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_id3_get_genre(u32 tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cicp_mx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2185
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2185
    functionName: gf_cicp_color_transfer_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_transfer_name(u32 cicp_mx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/constants.c:691,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:700,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:695,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:698,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 706
    functionName: gf_audio_fmt_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_all_names() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/utils/constants.c:2791,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/constants.c:2801,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/constants.c:2806,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/constants.c:2814,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - dur
    - timescale
    - szDur
    argTypes:
    - u64
    - u32
    - char
    constantsTouched: []
    func_position:
      end: 2818
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2818
    functionName: gf_format_duration
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_timestamp_rescale
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_format_duration(u64 dur, u32 timescale, char
      szDur[100]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/utils/constants.c:2824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - tc
    - szTimecode
    argTypes:
    - GF_TimeCode*
    - char
    constantsTouched: []
    func_position:
      end: 2826
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2826
    functionName: gf_format_timecode
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_format_timecode(GF_TimeCode *tc, char szTimecode[100]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_get_layout_name
      Src: /src/gpac/src/utils/constants.c:953,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ch_layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 957
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 957
    functionName: gf_audio_fmt_get_layout_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_get_layout_name
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_get_layout_name(u64 ch_layout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/utils/constants.c:1087,1
    - Dst: gf_audio_fmt_get_dolby_chanmap_from_layout
      Src: /src/gpac/src/utils/constants.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cicp
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: gf_audio_fmt_get_dolby_chanmap
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_get_dolby_chanmap_from_layout
    - gf_audio_fmt_get_layout_from_cicp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u16 gf_audio_fmt_get_dolby_chanmap(u32 cicp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/utils/constants.c:964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:971,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 973
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 973
    functionName: gf_audio_fmt_get_layout_from_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - atoi
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_audio_fmt_get_layout_from_name(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1028,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1031,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1035
    functionName: gf_audio_fmt_cicp_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - strcat
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_audio_fmt_cicp_all_names() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - itag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1947
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1947
    functionName: gf_itags_find_by_itag
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_itags_find_by_itag(u32 itag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - pixfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1587
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1587
    functionName: gf_pixel_fmt_is_transparent
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_pixel_fmt_is_transparent(GF_PixelFormat pixfmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 444
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 444
    functionName: gf_codecid_4cc_type
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_codecid_4cc_type(GF_CodecID codecid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - sfmt
    argTypes:
    - GF_AudioFormat
    constantsTouched: []
    func_position:
      end: 681
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 681
    functionName: gf_audio_fmt_sname
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_sname(GF_AudioFormat sfmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1176,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1184,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1176,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - pf_4cc
    - pf_name
    argTypes:
    - GF_PixelFormat
    - char*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1192
    functionName: gf_pixel_fmt_probe
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_pixel_fmt_probe(GF_PixelFormat pf_4cc, const char
      *pf_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1952,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:1954,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/constants.c:1956,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:1956,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:1954,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - tag_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1961
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1961
    functionName: gf_itags_find_by_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - stricmp
    - strlen
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_itags_find_by_name(const char *tag_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: gf_codecid_has_unframer
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_codecid_has_unframer(GF_CodecID codecid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1202,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/constants.c:1202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1204
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1204
    functionName: gf_pixel_fmt_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_pixel_fmt_name(GF_PixelFormat pfmt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - pixfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1608
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1608
    functionName: gf_pixel_is_wide_depth
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_pixel_is_wide_depth(GF_PixelFormat pixfmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - value1
    - value2
    argTypes:
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 2872
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2872
    functionName: gf_timecode_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timecode_equal(GF_TimeCode *value1, GF_TimeCode
      *value2) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - audio_fmt
    argTypes:
    - GF_AudioFormat
    constantsTouched: []
    func_position:
      end: 794
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 794
    functionName: gf_audio_fmt_bit_depth
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_bit_depth(GF_AudioFormat audio_fmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - audio_fmt
    argTypes:
    - GF_AudioFormat
    constantsTouched: []
    func_position:
      end: 811
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 811
    functionName: gf_audio_fmt_is_planar
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_audio_fmt_is_planar(GF_AudioFormat audio_fmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tag_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1985
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1985
    functionName: gf_itags_get_alt_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_itags_get_alt_name(u32 tag_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tag_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2001
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2001
    functionName: gf_itags_get_id3tag
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_itags_get_id3tag(u32 tag_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - value1
    - timescale1
    - value2
    - timescale2
    argTypes:
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2375
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2375
    functionName: gf_timestamp_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timestamp_equal(u64 value1, u64 timescale1, u64
      value2, u64 timescale2) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/constants.c:324,1
    - Dst: strncmp
      Src: /src/gpac/src/utils/constants.c:327,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 10
    argCount: 1
    argNames:
    - isobmftype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 331
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 331
    functionName: gf_codec_id_from_isobmf
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_CodecID gf_codec_id_from_isobmf(u32 isobmftype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tag_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1993
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1993
    functionName: gf_itags_get_itag
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_itags_get_itag(u32 tag_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2006,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - idx
    - itag
    - id3tag
    - type
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2014
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2014
    functionName: gf_itags_enum_tags
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_itags_enum_tags(u32 *idx, u32 *itag, u32
      *id3tag, u32 *type) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2587,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2700,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/utils/constants.c:2722,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2647,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2746,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/constants.c:2751,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2756,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2760,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2767,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2771,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/constants.c:2774,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2769,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/utils/constants.c:2778,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/utils/constants.c:2779,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2764,1
    - Dst: memset
      Src: /src/gpac/src/utils/constants.c:2383,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2532,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2513,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2599,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2635,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2714,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2688,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2659,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2734,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2735,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2754,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2759,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/constants.c:2775,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2749,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2763,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2488,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2611,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2623,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/utils/constants.c:2725,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2673,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2735,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/utils/constants.c:2738,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2744,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2755,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/utils/constants.c:2758,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2766,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2770,1
    - Dst: GF_4CC
      Src: /src/gpac/src/utils/constants.c:2472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:2722,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2736,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2743,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2744,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2745,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2761,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2762,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/utils/constants.c:2765,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2768,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/utils/constants.c:2742,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/utils/constants.c:2776,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/utils/constants.c:2777,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 325
    argCount: 4
    argNames:
    - pixfmt
    - profile_mode
    - dsi
    - dsi_size
    argTypes:
    - GF_PixelFormat
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 2781
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2781
    functionName: gf_pixel_fmt_get_uncc
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - memset
    - gf_bs_del
    - GF_4CC
    - gf_bs_get_position
    - gf_bs_write_u16
    - GF_LOG
    - gf_bs_new
    - gf_bs_seek
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_pixel_fmt_name
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_pixel_fmt_get_uncc(GF_PixelFormat pixfmt, u32 profile_mode,
      u8 **dsi, u32 *dsi_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: gf_codecid_mime
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_codecid_mime(GF_CodecID codecid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - afmt
    argTypes:
    - GF_AudioFormat
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: gf_audio_fmt_to_isobmf
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_to_isobmf(GF_AudioFormat afmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/constants.c:1259,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1276,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:1274,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:1269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1282
    functionName: gf_pixel_fmt_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcat
    - strcpy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_pixel_fmt_all_names() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:2051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2054
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2054
    functionName: gf_id3_get_genre_tag
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_id3_get_genre_tag(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - value1
    - timescale1
    - value2
    - timescale2
    argTypes:
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2351
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2351
    functionName: gf_timestamp_less
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timestamp_less(u64 value1, u64 timescale1, u64 value2,
      u64 timescale2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - value1
    - timescale1
    - value2
    - timescale2
    argTypes:
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2363
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2363
    functionName: gf_timestamp_greater
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timestamp_greater(u64 value1, u64 timescale1, u64
      value2, u64 timescale2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/utils/constants.c:2834,1
    - Dst: gf_ceil
      Src: /src/gpac/src/utils/constants.c:2834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - tc
    - timescale
    argTypes:
    - GF_TimeCode*
    - u32
    constantsTouched: []
    func_position:
      end: 2836
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2836
    functionName: gf_timecode_to_timestamp
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_ceil
    - gf_timestamp_rescale
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_timecode_to_timestamp(GF_TimeCode *tc, u32 timescale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - short_name
    - long_name
    argTypes:
    - u32
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: gf_codecid_enum
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_CodecID gf_codecid_enum(u32 idx, const char **short_name,
      const char **long_name) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:884,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 121
    argCount: 3
    argNames:
    - nb_chan
    - nb_surr
    - nb_lfe
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 886
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 886
    functionName: gf_audio_fmt_get_cicp_layout
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_audio_fmt_get_cicp_layout(u32 nb_chan, u32 nb_surr,
      u32 nb_lfe) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - id3tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1937
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1937
    functionName: gf_itags_find_by_id3tag
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_itags_find_by_id3tag(u32 id3tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - value1
    - timescale1
    - value2
    - timescale2
    argTypes:
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2357
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2357
    functionName: gf_timestamp_less_or_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timestamp_less_or_equal(u64 value1, u64 timescale1,
      u64 value2, u64 timescale2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - value1
    - timescale1
    - value2
    - timescale2
    argTypes:
    - u64
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2369
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2369
    functionName: gf_timestamp_greater_or_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timestamp_greater_or_equal(u64 value1, u64 timescale1,
      u64 value2, u64 timescale2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/utils/constants.c:537,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:541,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:548,1
    - Dst: strlen
      Src: /src/gpac/src/utils/constants.c:539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 553
    functionName: gf_stream_type_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strcat
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_stream_type_all_names() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tag_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1969
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1969
    functionName: gf_itags_get_type
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s32 gf_itags_get_type(u32 tag_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cicp_mx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2115
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2115
    functionName: gf_cicp_color_primaries_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_primaries_name(u32 cicp_mx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: gf_codecid_reg_find
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CodecIDReg*
    signature: 'static CodecIDReg *gf_codecid_reg_find(u32 codecid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1217,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/utils/constants.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pfmt
    argTypes:
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 1220
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1220
    functionName: gf_pixel_fmt_sname
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_pixel_fmt_sname(GF_PixelFormat pfmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - stream_type
    - oti
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: gf_codecid_reg_find_oti
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CodecIDReg*
    signature: 'static CodecIDReg *gf_codecid_reg_find_oti(u32 stream_type, u32 oti) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 4
    argNames:
    - idx
    - name
    - fileext
    - description
    argTypes:
    - u32*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: gf_pixel_fmt_enum
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_PixelFormat gf_pixel_fmt_enum(u32 *idx, const char **name,
      const char **fileext, const char **description) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tag_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1977
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1977
    functionName: gf_itags_get_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_itags_get_name(u32 tag_idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find_oti
      Src: /src/gpac/src/utils/constants.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream_type
    - oti
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: gf_codecid_from_oti
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find_oti
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_CodecID gf_codecid_from_oti(u32 stream_type, u32 oti) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:513,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:517,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:515,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/constants.c:520,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/constants.c:520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 524
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 524
    functionName: gf_stream_type_by_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - stricmp
    - GF_LOG
    - strnicmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_stream_type_by_name(const char *val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - value
    - timescale
    - new_timescale
    argTypes:
    - s64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2327
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2327
    functionName: gf_timestamp_rescale_signed
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s64 gf_timestamp_rescale_signed(s64 value, u64 timescale,
      u64 new_timescale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: gf_codecid_oti
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_codecid_oti(GF_CodecID codecid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: gf_codecid_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_codecid_name(GF_CodecID codecid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - value1
    - value2
    argTypes:
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 2848
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2848
    functionName: gf_timecode_less
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timecode_less(GF_TimeCode *value1, GF_TimeCode *value2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:365,1
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/src/utils/constants.c:366,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/constants.c:368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: gf_codecid_file_ext
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    - gf_opts_get_key_count
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_codecid_file_ext(GF_CodecID codecid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1159,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1163,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:1167,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:1159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pf_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1169
    functionName: gf_pixel_fmt_parse
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_PixelFormat gf_pixel_fmt_parse(const char *pf_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - value1
    - value2
    argTypes:
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 2854
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2854
    functionName: gf_timecode_less_or_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timecode_less_or_equal(GF_TimeCode *value1, GF_TimeCode
      *value2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cicp_layout
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 928
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 928
    functionName: gf_audio_fmt_get_layout_from_cicp
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_audio_fmt_get_layout_from_cicp(u32 cicp_layout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cicp_layout
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 939
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 939
    functionName: gf_audio_fmt_get_layout_name_from_cicp
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_get_layout_name_from_cicp(u32 cicp_layout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2193,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2196,1
    - Dst: strcat
      Src: /src/gpac/src/utils/constants.c:2195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2200
    functionName: gf_cicp_color_transfer_all_names
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - strcat
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_transfer_all_names() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/utils/constants.c:2079,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/constants.c:2083,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:2084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - val
    - ival
    argTypes:
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 2087
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2087
    functionName: cicp_parse_int
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - sscanf
    - stricmp
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void cicp_parse_int(const char *val, u32 *ival) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: gf_codecid_type
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_codecid_type(GF_CodecID codecid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:652,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:648,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - af_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 654
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 654
    functionName: gf_audio_fmt_parse
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_AudioFormat gf_audio_fmt_parse(const char *af_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cicp_mx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2246
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2246
    functionName: gf_cicp_color_matrix_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_cicp_color_matrix_name(u32 cicp_mx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - value1
    - value2
    argTypes:
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 2860
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2860
    functionName: gf_timecode_greater
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timecode_greater(GF_TimeCode *value1, GF_TimeCode
      *value2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/utils/constants.c:2092,1
    - Dst: strcmp
      Src: /src/gpac/src/utils/constants.c:2099,1
    - Dst: cicp_parse_int
      Src: /src/gpac/src/utils/constants.c:2093,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:2100,1
    - Dst: stricmp
      Src: /src/gpac/src/utils/constants.c:2095,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2103
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2103
    functionName: gf_cicp_parse_color_primaries
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - GF_ARRAY_LENGTH
    - stricmp
    - cicp_parse_int
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_cicp_parse_color_primaries(const char *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_reg_find
      Src: /src/gpac/src/utils/constants.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - codecid
    argTypes:
    - GF_CodecID
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: gf_codecid_alt
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - gf_codecid_reg_find
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_CodecID gf_codecid_alt(GF_CodecID codecid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/constants.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - sfmt
    argTypes:
    - GF_AudioFormat
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: gf_audio_fmt_name
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_audio_fmt_name(GF_AudioFormat sfmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - value1
    - value2
    argTypes:
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 2866
      start: 2862
    functionDepth: 0
    functionLinenumber: 2862
    functionLinenumberEnd: 2866
    functionName: gf_timecode_greater_or_equal
    functionSourceFile: /src/gpac/src/utils/constants.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_timecode_greater_or_equal(GF_TimeCode *value1, GF_TimeCode
      *value2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - filename
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: gf_mem_free_basic
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: 'static void gf_mem_free_basic(void *ptr, const char *filename, int
      line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:338,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:345,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:340,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:341,1
    - Dst: register_address
      Src: /src/gpac/src/utils/alloc.c:343,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - size
    - filename
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: gf_mem_malloc_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_log
    - gf_assert
    - register_address
    - MALLOC
    linkageType: ''
    returnType: void*
    signature: 'void *gf_mem_malloc_tracker(size_t size, const char *filename, int
      line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - mem_track_type
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 485
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 485
    functionName: gf_mem_enable_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_mem_enable_tracker(unsigned int mem_track_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: gf_memory_size
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_memory_size() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:860,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:869,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/src/utils/alloc.c:866,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:861,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:864,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/alloc.c:872,1
    - Dst: sprintf
      Src: /src/gpac/src/utils/alloc.c:884,1
    - Dst: strchr
      Src: /src/gpac/src/utils/alloc.c:887,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:890,1
    - Dst: log_backtrace
      Src: /src/gpac/src/utils/alloc.c:891,1
    - Dst: print_memory_size
      Src: /src/gpac/src/utils/alloc.c:897,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:893,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:905,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/alloc.c:899,1
    - Dst: enum_open_handles
      Src: /src/gpac/src/utils/alloc.c:903,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:892,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 908
    functionName: gf_memory_print
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - enum_open_handles
    - gf_file_handles_count
    - sprintf
    - gf_mx_p
    - log_backtrace
    - gf_memory_log
    - strchr
    - print_memory_size
    - gf_mx_v
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_memory_print() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: gf_malloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - MALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRDUP
      Src: /src/gpac/src/utils/alloc.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: gf_strdup
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - STRDUP
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_strdup(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLOC
      Src: /src/gpac/src/utils/alloc.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size_of
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: gf_calloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - CALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_calloc(size_t num, size_t size_of) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRDUP
      Src: /src/gpac/src/utils/alloc.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - str
    - filename
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: gf_mem_strdup_basic
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - STRDUP
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_mem_strdup_basic(const char *str, const char *filename,
      int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALLOC
      Src: /src/gpac/src/utils/alloc.c:354,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:357,1
    - Dst: register_address
      Src: /src/gpac/src/utils/alloc.c:359,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:361,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:356,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - num
    - size_of
    - filename
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: gf_mem_calloc_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_log
    - gf_assert
    - register_address
    - CALLOC
    linkageType: ''
    returnType: void*
    signature: 'void *gf_mem_calloc_tracker(size_t num, size_t size_of, const char
      *filename, int line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - nb_allocs
    - nb_callocs
    - nb_reallocs
    - nb_free
    argTypes:
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: gf_mem_get_stats
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t gf_mem_get_stats(unsigned int *nb_allocs, unsigned int *nb_callocs,
      unsigned int *nb_reallocs, unsigned int *nb_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_calloc_proto
      Src: /src/gpac/src/utils/alloc.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - num
    - size_of
    - filename
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: gf_mem_calloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mem_calloc_proto
    linkageType: ''
    returnType: MY_GF_EXPORT*
    signature: 'MY_GF_EXPORT void *gf_mem_calloc(size_t num, size_t size_of, const
      char *filename, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_free_proto
      Src: /src/gpac/src/utils/alloc.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - filename
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: gf_mem_free
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mem_free_proto
    linkageType: ''
    returnType: MY_GF_EXPORT
    signature: 'MY_GF_EXPORT void gf_mem_free(void *ptr, const char *filename, int
      line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALLOC
      Src: /src/gpac/src/utils/alloc.c:605,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/alloc.c:606,1
    - Dst: gf_memory_hash
      Src: /src/gpac/src/utils/alloc.c:608,1
    - Dst: gf_memory_add_stack
      Src: /src/gpac/src/utils/alloc.c:609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - p
    - ptr
    - size
    - filename
    - line
    argTypes:
    - memory_list*
    - void*
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: gf_memory_add
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    - gf_memory_add_stack
    - CALLOC
    - gf_memory_hash
    linkageType: ''
    returnType: void
    signature: 'static void gf_memory_add(memory_list *p, void *ptr, unsigned int
      size, const char *filename, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/alloc.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: print_memory_size
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void print_memory_size() '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - dsize
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1007
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1007
    functionName: gf_strlcpy
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT size_t gf_strlcpy(char * dst, const char * src, size_t dsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_realloc_proto
      Src: /src/gpac/src/utils/alloc.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - filename
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: gf_mem_realloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mem_realloc_proto
    linkageType: ''
    returnType: MY_GF_EXPORT*
    signature: 'MY_GF_EXPORT void *gf_mem_realloc(void *ptr, size_t size, const char
      *filename, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_strdup_proto
      Src: /src/gpac/src/utils/alloc.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - str
    - filename
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: gf_mem_strdup
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mem_strdup_proto
    linkageType: ''
    returnType: MY_GF_EXPORT*
    signature: 'MY_GF_EXPORT char *gf_mem_strdup(const char *str, const char *filename,
      int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:616,1
    - Dst: gf_memory_find_stack
      Src: /src/gpac/src/utils/alloc.c:619,1
    - Dst: gf_memory_hash
      Src: /src/gpac/src/utils/alloc.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - memory_list
    - void*
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: gf_memory_find
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_find_stack
    - gf_assert
    - gf_memory_hash
    linkageType: ''
    returnType: int
    signature: 'static int gf_memory_find(memory_list p, void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/gpac/src/utils/alloc.c:230,1
    - Dst: CaptureStackBackTrace
      Src: /src/gpac/src/utils/alloc.c:237,1
    - Dst: SymFromAddr
      Src: /src/gpac/src/utils/alloc.c:243,1
    - Dst: _alloca
      Src: /src/gpac/src/utils/alloc.c:233,1
    - Dst: SymInitialize
      Src: /src/gpac/src/utils/alloc.c:231,1
    - Dst: strlen
      Src: /src/gpac/src/utils/alloc.c:246,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:248,1
    - Dst: _snprintf
      Src: /src/gpac/src/utils/alloc.c:252,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - s_backtrace
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 259
    functionName: store_backtrace
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - strlen
    - SymInitialize
    - _alloca
    - CaptureStackBackTrace
    - gf_memory_log
    - GetCurrentProcess
    - _snprintf
    - gf_assert
    - SymFromAddr
    linkageType: ''
    returnType: void
    signature: 'static void store_backtrace(char *s_backtrace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/gpac/src/utils/alloc.c:277,1
    - Dst: backtrace_symbols
      Src: /src/gpac/src/utils/alloc.c:278,1
    - Dst: strlen
      Src: /src/gpac/src/utils/alloc.c:281,1
    - Dst: snprintf
      Src: /src/gpac/src/utils/alloc.c:289,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:285,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:295,1
    - Dst: free
      Src: /src/gpac/src/utils/alloc.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - s_backtrace
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: store_backtrace
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - backtrace
    - gf_memory_log
    - backtrace_symbols
    - free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void store_backtrace(char *s_backtrace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLOC
      Src: /src/gpac/src/utils/alloc.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - num
    - size_of
    - filename
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: gf_mem_calloc_basic
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - CALLOC
    linkageType: ''
    returnType: void*
    signature: 'static void *gf_mem_calloc_basic(size_t num, size_t size_of, const
      char *filename, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unregister_address
      Src: /src/gpac/src/utils/alloc.c:370,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:372,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:371,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - filename
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: gf_mem_free_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_log
    - unregister_address
    - FREE
    linkageType: ''
    returnType: void
    signature: 'void gf_mem_free_tracker(void *ptr, const char *filename, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_malloc_tracker
      Src: /src/gpac/src/utils/alloc.c:413,1
    - Dst: strlen
      Src: /src/gpac/src/utils/alloc.c:413,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/alloc.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - str
    - filename
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: gf_mem_strdup_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - gf_mem_malloc_tracker
    linkageType: ''
    returnType: char*
    signature: 'char *gf_mem_strdup_tracker(const char *str, const char *filename,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: gf_memory_hash
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int gf_memory_hash(void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:589,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - memory_element**
    - void*
    constantsTouched: []
    func_position:
      end: 599
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 599
    functionName: gf_memory_del_item_stack
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - FREE
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int gf_memory_del_item_stack(memory_element **p, void
      *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:701,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - log_level
    - element
    argTypes:
    - unsigned int
    - memory_element*
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: log_backtrace
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_log
    linkageType: ''
    returnType: void
    signature: 'void log_backtrace(unsigned int log_level, memory_element *element) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - size
    - filename
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: gf_mem_malloc_basic
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - MALLOC
    linkageType: ''
    returnType: void*
    signature: 'static void *gf_mem_malloc_basic(size_t size, const char *filename,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC
      Src: /src/gpac/src/utils/alloc.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - filename
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: gf_mem_realloc_basic
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - REALLOC
    linkageType: ''
    returnType: void*
    signature: 'static void *gf_mem_realloc_basic(void *ptr, size_t size, const char
      *filename, int line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:383,1
    - Dst: unregister_address
      Src: /src/gpac/src/utils/alloc.c:392,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:388,1
    - Dst: gf_mem_malloc_tracker
      Src: /src/gpac/src/utils/alloc.c:384,1
    - Dst: gf_mem_free_tracker
      Src: /src/gpac/src/utils/alloc.c:389,1
    - Dst: REALLOC
      Src: /src/gpac/src/utils/alloc.c:393,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:396,1
    - Dst: register_address
      Src: /src/gpac/src/utils/alloc.c:397,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:398,1
    - Dst: register_address
      Src: /src/gpac/src/utils/alloc.c:400,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:402,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ptr
    - size
    - filename
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 407
    functionName: gf_mem_realloc_tracker
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_assert
    - register_address
    - gf_mem_free_tracker
    - unregister_address
    - gf_memory_log
    - REALLOC
    - gf_mem_malloc_tracker
    linkageType: ''
    returnType: void*
    signature: 'void *gf_mem_realloc_tracker(void *ptr, size_t size, const char *filename,
      int line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CALLOC
      Src: /src/gpac/src/utils/alloc.c:627,1
    - Dst: gf_memory_del_item_stack
      Src: /src/gpac/src/utils/alloc.c:633,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/alloc.c:628,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:643,1
    - Dst: gf_memory_hash
      Src: /src/gpac/src/utils/alloc.c:629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - memory_list*
    - void*
    constantsTouched: []
    func_position:
      end: 648
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 648
    functionName: gf_memory_del_item
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_memory_del_item_stack
    - CALLOC
    - FREE
    - gf_fatal_assert
    - gf_memory_hash
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int gf_memory_del_item(memory_list *p, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:671,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/utils/alloc.c:674,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:672,1
    - Dst: gf_memory_add
      Src: /src/gpac/src/utils/alloc.c:684,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/alloc.c:682,1
    - Dst: gf_memory_del_item
      Src: /src/gpac/src/utils/alloc.c:685,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/alloc.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ptr
    - size
    - filename
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 695
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 695
    functionName: register_address
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mx_new
    - gf_mx_p
    - gf_memory_del_item
    - gf_mx_v
    - gf_memory_add
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void register_address(void *ptr, size_t size, const char *filename,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/alloc.c:957,1
    - Dst: va_end
      Src: /src/gpac/src/utils/alloc.c:963,1
    - Dst: gf_vasprintf
      Src: /src/gpac/src/utils/alloc.c:959,1
    - Dst: asprintf
      Src: /src/gpac/src/utils/alloc.c:961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - strp
    - fmt
    - '...'
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 965
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 965
    functionName: gf_asprintf
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - va_end
    - asprintf
    - gf_vasprintf
    - va_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT int gf_asprintf(char **strp, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - memory_element*
    - void*
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: gf_memory_find_stack
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int gf_memory_find_stack(memory_element *p, void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/alloc.c:921,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/alloc.c:942,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/alloc.c:922,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/alloc.c:940,1
    - Dst: _vsnprintf
      Src: /src/gpac/src/utils/alloc.c:930,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - strp
    - fmt
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 949
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 949
    functionName: gf_vasprintf
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_realloc
    - _vsnprintf
    - gf_free
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE int gf_vasprintf (char **strp, const char *fmt, va_list
      ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC
      Src: /src/gpac/src/utils/alloc.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: gf_realloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - REALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_realloc(void *ptr, size_t size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:766,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:794,1
    - Dst: log_backtrace
      Src: /src/gpac/src/utils/alloc.c:773,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:816,1
    - Dst: gf_memory_add
      Src: /src/gpac/src/utils/alloc.c:820,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/alloc.c:745,1
    - Dst: gf_memory_hash
      Src: /src/gpac/src/utils/alloc.c:763,1
    - Dst: gf_memory_find
      Src: /src/gpac/src/utils/alloc.c:756,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/utils/alloc.c:791,1
    - Dst: gf_memory_del_item
      Src: /src/gpac/src/utils/alloc.c:777,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:807,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/alloc.c:826,1
    - Dst: gf_memory_find
      Src: /src/gpac/src/utils/alloc.c:758,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:769,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:771,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:759,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:770,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:772,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:788,1
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:810,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:787,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/utils/alloc.c:774,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 3
    argNames:
    - ptr
    - filename
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 829
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 829
    functionName: unregister_address
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_memory_find
    - log_backtrace
    - gf_memory_log
    - gf_fatal_assert
    - FREE
    - gf_memory_del_item
    - gf_mx_del
    - gf_memory_add
    - gf_assert
    - gf_mx_v
    - gf_memory_hash
    linkageType: ''
    returnType: int
    signature: 'static int unregister_address(void *ptr, const char *filename, int
      line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/alloc.c:719,1
    - Dst: gf_memory_find
      Src: /src/gpac/src/utils/alloc.c:721,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:725,1
    - Dst: gf_memory_hash
      Src: /src/gpac/src/utils/alloc.c:723,1
    - Dst: gf_assert
      Src: /src/gpac/src/utils/alloc.c:728,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:729,1
    - Dst: log_backtrace
      Src: /src/gpac/src/utils/alloc.c:731,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/alloc.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 736
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 736
    functionName: gf_mem_check_address
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_memory_find
    - log_backtrace
    - gf_memory_log
    - gf_mx_v
    - gf_assert
    - gf_memory_hash
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_mem_check_address(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/gpac/src/utils/alloc.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: gf_free
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - FREE
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_malloc_proto
      Src: /src/gpac/src/utils/alloc.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - size
    - filename
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: gf_mem_malloc
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - gf_mem_malloc_proto
    linkageType: ''
    returnType: MY_GF_EXPORT*
    signature: 'MY_GF_EXPORT void *gf_mem_malloc(size_t size, const char *filename,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/utils/alloc.c:835,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/alloc.c:838,1
    - Dst: va_end
      Src: /src/gpac/src/utils/alloc.c:839,1
    - Dst: vsnprintf
      Src: /src/gpac/src/utils/alloc.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - fmt
    - '...'
    argTypes:
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 840
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 840
    functionName: gf_memory_log
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - GF_LOG
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void gf_memory_log(unsigned int level, const char *fmt, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:531,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:533,1
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:542,1
    - Dst: gf_memory_log
      Src: /src/gpac/src/utils/alloc.c:544,1
    - Dst: store_backtrace
      Src: /src/gpac/src/utils/alloc.c:547,1
    - Dst: MALLOC
      Src: /src/gpac/src/utils/alloc.c:554,1
    - Dst: strlen
      Src: /src/gpac/src/utils/alloc.c:554,1
    - Dst: strcpy
      Src: /src/gpac/src/utils/alloc.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - p
    - ptr
    - size
    - filename
    - line
    argTypes:
    - memory_element**
    - void*
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: gf_memory_add_stack
    functionSourceFile: /src/gpac/src/utils/alloc.c
    functionUses: []
    functionsReached:
    - store_backtrace
    - strlen
    - MALLOC
    - gf_memory_log
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void gf_memory_add_stack(memory_element **p, void *ptr, unsigned
      int size, const char *filename, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - u64
    - u8*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: sha256_endian_reverse64
    functionSourceFile: /src/gpac/src/utils/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha256_endian_reverse64(u64 input, u8 *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: sha256_endian_reverse32
    functionSourceFile: /src/gpac/src/utils/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha256_endian_reverse32(u32 input, u8 *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: sha256_endian_read32
    functionSourceFile: /src/gpac/src/utils/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 sha256_endian_read32(u8 *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - input
    - by
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: sha256_ror
    functionSourceFile: /src/gpac/src/utils/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 sha256_ror(u32 input, u32 by) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha256_endian_reverse64
      Src: /src/gpac/src/utils/sha256.c:72,1
    - Dst: sha256_endian_read32
      Src: /src/gpac/src/utils/sha256.c:86,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/sha256.c:93,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/sha256.c:94,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/sha256.c:98,1
    - Dst: sha256_endian_read32
      Src: /src/gpac/src/utils/sha256.c:102,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:107,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:107,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:109,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:118,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:119,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:117,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:109,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:119,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:120,1
    - Dst: sha256_ror
      Src: /src/gpac/src/utils/sha256.c:117,1
    - Dst: sha256_endian_reverse32
      Src: /src/gpac/src/utils/sha256.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 125
    argCount: 3
    argNames:
    - data
    - len
    - output
    argTypes:
    - void*
    - u64
    - u8
    constantsTouched: []
    func_position:
      end: 141
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 141
    functionName: gf_sha256_csum
    functionSourceFile: /src/gpac/src/utils/sha256.c
    functionUses: []
    functionsReached:
    - sha256_endian_read32
    - sha256_endian_reverse32
    - sha256_endian_reverse64
    - memcpy
    - sha256_ror
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sha256_csum(const void *data, u64 len, u8 output[GF_SHA256_DIGEST_SIZE]) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 5
    argNames:
    - sourceStart
    - sourceEnd
    - targetStart
    - targetEnd
    - flags
    argTypes:
    - UTF16**
    - UTF16*
    - UTF8**
    - UTF8*
    - ConversionFlags
    constantsTouched: []
    func_position:
      end: 236
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 236
    functionName: ConvertUTF16toUTF8
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ConversionResult
    signature: 'ConversionResult ConvertUTF16toUTF8 ( const UTF16** sourceStart, const
      UTF16* sourceEnd, UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 443
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 443
    functionName: gf_utf8_wcslen
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_wcslen (const unsigned short *s) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isLegalUTF8
      Src: /src/gpac/src/utils/utf.c:304,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 5
    argNames:
    - sourceStart
    - sourceEnd
    - targetStart
    - targetEnd
    - flags
    argTypes:
    - UTF8**
    - UTF8*
    - UTF16**
    - UTF16*
    - ConversionFlags
    constantsTouched: []
    func_position:
      end: 373
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 373
    functionName: ConvertUTF8toUTF16
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - isLegalUTF8
    linkageType: ''
    returnType: ConversionResult
    signature: 'ConversionResult ConvertUTF8toUTF16 ( const UTF8** sourceStart, const
      UTF8* sourceEnd, UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: gf_utf8_wcslen
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_wcslen (const unsigned short *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/utf.c:740,1
    - Dst: gf_calloc
      Src: /src/gpac/src/utils/utf.c:741,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/utils/utf.c:744,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/utf.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 749
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 749
    functionName: gf_utf8_to_wcs
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - gf_utf8_mbstowcs
    - strlen
    - gf_free
    - gf_calloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT wchar_t * gf_utf8_to_wcs(const char* str) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isLegalUTF8
      Src: /src/gpac/src/utils/utf.c:393,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 433
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 433
    functionName: gf_utf8_is_legal
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - isLegalUTF8
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_utf8_is_legal(const u8 *data, u32 length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/utils/utf.c:452,1
    - Dst: strlen
      Src: /src/gpac/src/utils/utf.c:461,1
    - Dst: ConvertUTF16toUTF8
      Src: /src/gpac/src/utils/utf.c:457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - dest
    - len
    - srcp
    argTypes:
    - char*
    - size_t
    - unsigned short**
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: gf_utf8_wcstombs
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_utf8_wcslen
    - ConvertUTF16toUTF8
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_wcstombs(char* dest, size_t len, const unsigned
      short** srcp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/utils/utf.c:472,1
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/utils/utf.c:480,1
    - Dst: ConvertUTF8toUTF16
      Src: /src/gpac/src/utils/utf.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - dest
    - len
    - srcp
    argTypes:
    - unsigned short*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 482
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 482
    functionName: gf_utf8_mbstowcs
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_utf8_wcslen
    - ConvertUTF8toUTF16
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_mbstowcs(unsigned short* dest, size_t len, const
      char** srcp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - dest
    - len
    - srcp
    argTypes:
    - char*
    - size_t
    - unsigned short**
    constantsTouched: []
    func_position:
      end: 562
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 562
    functionName: gf_utf8_wcstombs
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_wcstombs(char* dest, size_t len, const unsigned
      short** srcp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 3
    argNames:
    - dest
    - len
    - srcp
    argTypes:
    - unsigned short*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 643
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 643
    functionName: gf_utf8_mbstowcs
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_utf8_mbstowcs(unsigned short* dest, size_t len, const
      char** srcp) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/utf.c:685,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/utf.c:720,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/utf.c:688,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/utf.c:690,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/utils/utf.c:719,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/utf.c:722,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 5
    argNames:
    - data
    - size
    - out_ptr
    - result
    - res_size
    argTypes:
    - u8*
    - u32
    - char**
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 729
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 729
    functionName: gf_utf_get_string_from_bom
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_utf8_wcstombs
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_utf_get_string_from_bom(const u8 *data, u32 size,
      char **out_ptr, char **result, u32 *res_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/gpac/src/utils/utf.c:757,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/utf.c:762,1
    - Dst: gf_calloc
      Src: /src/gpac/src/utils/utf.c:758,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/utils/utf.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 766
    functionName: gf_wcs_to_utf8
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached:
    - wcslen
    - gf_utf8_wcstombs
    - gf_free
    - gf_calloc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char * gf_wcs_to_utf8(const wchar_t* str) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 23
    argCount: 2
    argNames:
    - source
    - length
    argTypes:
    - UTF8*
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 286
    functionName: isLegalUTF8
    functionSourceFile: /src/gpac/src/utils/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: 'Boolean isLegalUTF8(const UTF8 *source, int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - clientp
    - item
    argTypes:
    - void*
    - curl_socket_t
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: curl_on_socket_close
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int curl_on_socket_close(void *clientp, curl_socket_t item) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_curl.c:158,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:161,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:177,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:186,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_curl.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:193,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:250,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:276,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:242,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:154,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:159,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:160,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:166,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:182,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:185,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:226,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/downloader_curl.c:252,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_curl.c:263,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:272,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:279,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_curl.c:255,1
    - Dst: curl_easy_option_next
      Src: /src/gpac/src/utils/downloader_curl.c:288,1
    - Dst: curl_easy_strerror
      Src: /src/gpac/src/utils/downloader_curl.c:292,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_curl.c:275,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:155,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_curl.c:158,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:178,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:173,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_curl.c:184,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:202,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/downloader_curl.c:204,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_curl.c:206,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:209,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:237,1
    - Dst: curl_version_info
      Src: /src/gpac/src/utils/downloader_curl.c:220,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/utils/downloader_curl.c:239,1
    - Dst: curl_easy_init
      Src: /src/gpac/src/utils/downloader_curl.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:181,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:183,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/utils/downloader_curl.c:192,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:195,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:229,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/gpac/src/utils/downloader_curl.c:197,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:233,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:249,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:210,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/utils/downloader_curl.c:232,1
    - Dst: curl_easy_option_next
      Src: /src/gpac/src/utils/downloader_curl.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:292,1
    - Dst: curl_easy_option_next
      Src: /src/gpac/src/utils/downloader_curl.c:265,1
    - Dst: sscanf
      Src: /src/gpac/src/utils/downloader_curl.c:271,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 164
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 304
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 304
    functionName: curl_setup_session
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - curl_easy_getinfo
    - curl_easy_option_next
    - sscanf
    - gf_strdup
    - GF_LOG
    - CURL_AT_LEAST_VERSION
    - gf_free
    - gf_opts_get_bool
    - gf_file_exists
    - curl_easy_strerror
    - gf_log_tool_level_on
    - curl_easy_setopt
    - curl_easy_init
    - curl_version_info
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err curl_setup_session(GF_DownloadSession* sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:377,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_curl.c:381,1
    - Dst: curl_easy_cleanup
      Src: /src/gpac/src/utils/downloader_curl.c:383,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_curl.c:379,1
    - Dst: curl_multi_remove_handle
      Src: /src/gpac/src/utils/downloader_curl.c:380,1
    - Dst: curl_slist_free_all
      Src: /src/gpac/src/utils/downloader_curl.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: curl_destroy
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_multi_remove_handle
    linkageType: ''
    returnType: void
    signature: 'void curl_destroy(GF_DownloadSession *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_flush
      Src: /src/gpac/src/utils/downloader_curl.c:410,1
    - Dst: MIN
      Src: /src/gpac/src/utils/downloader_curl.c:434,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_curl.c:435,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:430,1
    - Dst: SET_LAST_ERR
      Src: /src/gpac/src/utils/downloader_curl.c:423,1
    - Dst: memmove
      Src: /src/gpac/src/utils/downloader_curl.c:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - sess
    - data
    - data_size
    - out_read
    argTypes:
    - GF_DownloadSession*
    - char*
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 440
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 440
    functionName: curl_read_data
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - curl_flush
    - curl_easy_getinfo
    - SET_LAST_ERR
    - MIN
    - memcpy
    - memmove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err curl_read_data(GF_DownloadSession *sess, char *data, u32 data_size,
      u32 *out_read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:82,1
    - Dst: gf_dm_sess_notify_state
      Src: /src/gpac/src/utils/downloader_curl.c:83,1
    - Dst: curl_multi_remove_handle
      Src: /src/gpac/src/utils/downloader_curl.c:86,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_curl.c:85,1
    - Dst: gf_dm_configure_cache
      Src: /src/gpac/src/utils/downloader_curl.c:84,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_curl.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - clientp
    - conn_primary_ip
    - conn_local_ip
    - conn_primary_port
    - conn_local_port
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: curl_on_connect
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_notify_state
    - gf_mx_p
    - GF_LOG
    - gf_dm_configure_cache
    - gf_mx_v
    - curl_multi_remove_handle
    linkageType: ''
    returnType: int
    signature: 'static int curl_on_connect(void *clientp, char *conn_primary_ip, char
      *conn_local_ip, int conn_primary_port, int conn_local_port) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_curl.c:139,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_curl.c:137,1
    - Dst: curl_easy_setopt
      Src: /src/gpac/src/utils/downloader_curl.c:143,1
    - Dst: gf_realloc
      Src: /src/gpac/src/utils/downloader_curl.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: curl_on_data
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - curl_easy_setopt
    - memcpy
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: size_t
    signature: 'static size_t curl_on_data(char *ptr, size_t size, size_t nmemb, void
      *clientp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/utils/downloader_curl.c:108,1
    - Dst: strlen
      Src: /src/gpac/src/utils/downloader_curl.c:114,1
    - Dst: gf_malloc
      Src: /src/gpac/src/utils/downloader_curl.c:116,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/utils/downloader_curl.c:112,1
    - Dst: gf_strdup
      Src: /src/gpac/src/utils/downloader_curl.c:115,1
    - Dst: memcpy
      Src: /src/gpac/src/utils/downloader_curl.c:117,1
    - Dst: gf_list_add
      Src: /src/gpac/src/utils/downloader_curl.c:119,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_curl.c:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: curl_on_header
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_strdup
    - memchr
    - memcpy
    - GF_SAFEALLOC
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: size_t
    signature: 'static size_t curl_on_header(char *buffer, size_t size, size_t nitems,
      void *clientp) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/utils/downloader_curl.c:309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:318,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/utils/downloader_curl.c:316,1
    - Dst: curl_multi_perform
      Src: /src/gpac/src/utils/downloader_curl.c:315,1
    - Dst: curl_multi_add_handle
      Src: /src/gpac/src/utils/downloader_curl.c:311,1
    - Dst: curl_multi_strerror
      Src: /src/gpac/src/utils/downloader_curl.c:318,1
    - Dst: curl_multi_info_read
      Src: /src/gpac/src/utils/downloader_curl.c:329,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:333,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:335,1
    - Dst: curl_multi_strerror
      Src: /src/gpac/src/utils/downloader_curl.c:335,1
    - Dst: curl_multi_remove_handle
      Src: /src/gpac/src/utils/downloader_curl.c:339,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 373
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 373
    functionName: curl_flush
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - curl_multi_perform
    - curl_easy_getinfo
    - GF_LOG
    - gf_mx_p
    - gf_mx_v
    - curl_multi_info_read
    - curl_multi_add_handle
    - curl_multi_strerror
    - curl_multi_remove_handle
    linkageType: ''
    returnType: void
    signature: 'void curl_flush(GF_DownloadSession *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/gpac/src/utils/downloader_curl.c:393,1
    - Dst: strnicmp
      Src: /src/gpac/src/utils/downloader_curl.c:398,1
    - Dst: strstr
      Src: /src/gpac/src/utils/downloader_curl.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: curl_can_handle_url
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - strstr
    - curl_version_info
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool curl_can_handle_url(const char *url) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_flush
      Src: /src/gpac/src/utils/downloader_curl.c:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_DownloadSession*
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: curl_connect
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - curl_flush
    linkageType: ''
    returnType: void
    signature: 'void curl_connect(GF_DownloadSession*sess) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_flush
      Src: /src/gpac/src/utils/downloader_curl.c:457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:464,1
    - Dst: gf_dm_disconnect
      Src: /src/gpac/src/utils/downloader_curl.c:461,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:482,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:487,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/utils/downloader_curl.c:489,1
    - Dst: curl_easy_getinfo
      Src: /src/gpac/src/utils/downloader_curl.c:492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:499,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/utils/downloader_curl.c:502,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/utils/downloader_curl.c:503,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - sess
    - ContentLength
    argTypes:
    - GF_DownloadSession*
    - u32*
    constantsTouched: []
    func_position:
      end: 505
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 505
    functionName: curl_process_reply
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - curl_flush
    - curl_easy_getinfo
    - GF_LOG
    - gf_dm_disconnect
    - gf_log_tool_level_on
    - gf_sys_clock_high_res
    - gf_net_get_utc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err curl_process_reply(GF_DownloadSession *sess, u32 *ContentLength) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:50,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:59,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:62,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:53,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:56,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:65,1
    - Dst: GF_LOG
      Src: /src/gpac/src/utils/downloader_curl.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - clientp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: curl_trace
    functionSourceFile: /src/gpac/src/utils/downloader_curl.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int curl_trace(CURL *handle, curl_infotype type, char *data,
      size_t size, void *clientp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:6,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:12,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:18,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:30,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:24,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:34,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:34,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:35,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:38,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:39,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:51,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:52,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:9,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:15,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:21,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:33,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:40,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:44,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:45,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:46,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:46,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:51,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:12,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:6,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:18,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:30,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:33,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:24,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:35,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:38,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:39,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:44,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:9,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:15,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:27,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:27,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:21,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:40,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:45,1
    - Dst: assert_false
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:50,1
    - Dst: gf_sys_word_match
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:50,1
    - Dst: assert_true
      Src: /src/gpac/src/utils/unittests/ut_os_config_init.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 57
    functionName: (gf_sys_word_match)
    functionSourceFile: /src/gpac/src/utils/unittests/ut_os_config_init.c
    functionUses: []
    functionsReached:
    - assert_false
    - assert_true
    - gf_sys_word_match
    linkageType: ''
    returnType: unittest
    signature: 'unittest (gf_sys_word_match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_translate_xml_string
      Src: /src/gpac/src/utils/unittests/ut_xml_parser.c:5,1
    - Dst: gf_free
      Src: /src/gpac/src/utils/unittests/ut_xml_parser.c:7,1
    - Dst: assert_equal_str
      Src: /src/gpac/src/utils/unittests/ut_xml_parser.c:6,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: (xml_translate_xml_string)
    functionSourceFile: /src/gpac/src/utils/unittests/ut_xml_parser.c
    functionUses: []
    functionsReached:
    - xml_translate_xml_string
    - assert_equal_str
    - gf_free
    linkageType: ''
    returnType: unittest
    signature: 'unittest (xml_translate_xml_string) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:121,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_isom.c:101,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/src/scene_manager/loader_isom.c:124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_isom.c:122,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:135,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_isom.c:137,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_isom.c:138,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/loader_isom.c:76,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/scene_manager/loader_isom.c:78,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_isom.c:92,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_isom.c:136,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:88,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_isom.c:89,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/loader_isom.c:123,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/scene_manager/loader_isom.c:125,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_isom.c:139,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/scene_manager/loader_isom.c:42,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_isom.c:50,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_isom.c:75,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:74,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_isom.c:47,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/src/scene_manager/loader_isom.c:77,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_isom.c:91,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_isom.c:90,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 75
    argCount: 2
    argNames:
    - mp4
    - com
    argTypes:
    - GF_ISOFile*
    - GF_ODCom*
    constantsTouched: []
    func_position:
      end: 144
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 144
    functionName: UpdateODCommand
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_track_by_id
    - gf_isom_get_timescale
    - gf_list_enum
    - gf_strdup
    - sprintf
    - gf_odf_desc_new
    - gf_isom_get_track_duration
    - gf_isom_get_filename
    linkageType: ''
    returnType: void
    signature: 'static void UpdateODCommand(GF_ISOFile *mp4, GF_ODCom *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: gf_sm_load_done_isom
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_load_done_isom(GF_SceneLoader *load) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - loader
    - suspend
    argTypes:
    - GF_SceneLoader*
    - Bool
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: gf_sm_isom_suspend
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_isom_suspend(GF_SceneLoader *loader, Bool suspend) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:190,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/scene_manager/loader_isom.c:191,1
    - Dst: gf_isom_text_set_streaming_mode
      Src: /src/gpac/src/scene_manager/loader_isom.c:206,1
    - Dst: mp4_report
      Src: /src/gpac/src/scene_manager/loader_isom.c:248,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/scene_manager/loader_isom.c:210,1
    - Dst: gf_laser_decoder_configure_stream
      Src: /src/gpac/src/scene_manager/loader_isom.c:269,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/src/scene_manager/loader_isom.c:290,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/scene_manager/loader_isom.c:313,1
    - Dst: UpdateODCommand
      Src: /src/gpac/src/scene_manager/loader_isom.c:316,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_isom.c:317,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/loader_isom.c:323,1
    - Dst: mp4_report
      Src: /src/gpac/src/scene_manager/loader_isom.c:323,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_isom.c:344,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/loader_isom.c:328,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:196,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/scene_manager/loader_isom.c:209,1
    - Dst: mp4_report
      Src: /src/gpac/src/scene_manager/loader_isom.c:283,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/loader_isom.c:283,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/loader_isom.c:283,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:287,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/scene_manager/loader_isom.c:292,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:297,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/scene_manager/loader_isom.c:309,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/loader_isom.c:323,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:330,1
    - Dst: gf_laser_decoder_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:185,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:231,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:232,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:223,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/scene_manager/loader_isom.c:240,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:279,1
    - Dst: gf_bifs_decode_command_list
      Src: /src/gpac/src/scene_manager/loader_isom.c:302,1
    - Dst: gf_laser_decode_command_list
      Src: /src/gpac/src/scene_manager/loader_isom.c:306,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:321,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:339,1
    - Dst: gf_isom_text_set_streaming_mode
      Src: /src/gpac/src/scene_manager/loader_isom.c:333,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/scene_manager/loader_isom.c:281,1
    - Dst: gf_bifs_decoder_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:180,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:182,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/scene_manager/loader_isom.c:192,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:200,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:208,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/scene_manager/loader_isom.c:220,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_isom.c:236,1
    - Dst: gf_bifs_decoder_configure_stream
      Src: /src/gpac/src/scene_manager/loader_isom.c:251,1
    - Dst: gf_bifs_decoder_configure_stream
      Src: /src/gpac/src/scene_manager/loader_isom.c:253,1
    - Dst: mp4_report
      Src: /src/gpac/src/scene_manager/loader_isom.c:264,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:343,1
    - Dst: gf_laser_decoder_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:341,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/scene_manager/loader_isom.c:310,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 170
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 346
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 346
    functionName: gf_sm_load_run_isom
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_get_timescale
    - gf_odf_codec_del
    - gf_laser_decoder_del
    - gf_bifs_decoder_new
    - gf_odf_desc_del
    - gf_isom_get_media_type
    - gf_laser_decode_command_list
    - gf_isom_get_edit
    - gf_bifs_decode_command_list
    - gf_odf_codec_get_com
    - UpdateODCommand
    - gf_laser_decoder_configure_stream
    - gf_laser_decoder_new
    - gf_isom_get_track_count
    - gf_isom_get_media_timescale
    - gf_isom_get_esd
    - gf_set_progress
    - gf_isom_text_set_streaming_mode
    - gf_isom_get_track_id
    - gf_isom_get_mpeg4_subtype
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_isom_last_error
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_edits_count
    - mp4_report
    - gf_sm_stream_new
    - gf_odf_codec_decode
    - gf_sm_stream_au_new
    - gf_isom_get_sample
    - gf_fclose
    - gf_bifs_decoder_configure_stream
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_load_run_isom(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/loader_isom.c:149,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/loader_isom.c:153,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/loader_isom.c:152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_isom.c:155,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/loader_isom.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - load
    - e
    - format
    - '...'
    argTypes:
    - GF_SceneLoader*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: mp4_report
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void mp4_report(GF_SceneLoader *load, GF_Err e, char *format,
      ...) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/scene_manager/loader_isom.c:368,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/scene_manager/loader_isom.c:390,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/loader_isom.c:370,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/scene_manager/loader_isom.c:391,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/scene_manager/loader_isom.c:393,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:397,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/loader_isom.c:404,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/scene_manager/loader_isom.c:405,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:406,1
    - Dst: gf_odf_get_bifs_config
      Src: /src/gpac/src/scene_manager/loader_isom.c:421,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:427,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:381,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/scene_manager/loader_isom.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_isom.c:416,1
    - Dst: mp4_report
      Src: /src/gpac/src/scene_manager/loader_isom.c:440,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/loader_isom.c:439,1
    - Dst: gf_sm_isom_suspend
      Src: /src/gpac/src/scene_manager/loader_isom.c:441,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_isom.c:435,1
    - Dst: gf_sm_isom_suspend
      Src: /src/gpac/src/scene_manager/loader_isom.c:442,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 450
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 450
    functionName: gf_sm_load_init_isom
    functionSourceFile: /src/gpac/src/scene_manager/loader_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_odf_get_bifs_config
    - gf_sys_is_cov_mode
    - gf_isom_is_track_in_root_od
    - gf_sm_isom_suspend
    - GF_LOG
    - gf_odf_desc_del
    - gf_isom_get_root_od
    - gf_isom_last_error
    - gf_isom_get_track_count
    - gf_isom_get_media_type
    - mp4_report
    - gf_isom_get_esd
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_isom(GF_SceneLoader *load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:48,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:49,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:50,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:53,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:52,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:54,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:55,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:61,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:63,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - read
    - n
    argTypes:
    - SWFReader*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: s2b_insert_symbol
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_list_add_child
    - gf_sg_command_new
    - gf_sg_command_field_new
    - gf_sg_find_node_by_name
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err s2b_insert_symbol(SWFReader *read, GF_Node *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - SFColor
    - SFColor
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: s2b_same_color
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool s2b_same_color(SFColor c1, SFColor c2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - shape
    - srec
    argTypes:
    - SWFShape*
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: s2b_get_center_bounds
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Rect
    signature: 'static GF_Rect s2b_get_center_bounds(SWFShape *shape, SWFShapeRec
      *srec) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:438,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:548,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/swf_bifs.c:438,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:441,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:447,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:449,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:452,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:458,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:488,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:502,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:524,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:560,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:431,1
    - Dst: s2b_set_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:433,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:456,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:460,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:463,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:468,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:496,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:516,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:518,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:444,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_bifs.c:472,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:485,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:481,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:499,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:512,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:521,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:531,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:545,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:551,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 122
    argCount: 5
    argNames:
    - read
    - shape
    - srec
    - is_fill
    - c
    argTypes:
    - SWFReader*
    - SWFShape*
    - SWFShapeRec*
    - Bool
    - M_Coordinate2D*
    constantsTouched: []
    func_position:
      end: 563
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 563
    functionName: s2b_shape_to_curve2d
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_sg_proto_create_instance
    - gf_node_get_field_by_name
    - s2b_new_node
    - gf_sg_vrml_mf_append
    - s2b_set_appearance
    - gf_node_register
    - gf_assert
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_shape_to_curve2d(SWFReader *read, SWFShape *shape,
      SWFShapeRec *srec, Bool is_fill, M_Coordinate2D *c) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:816,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:827,1
    - Dst: swf_find_font
      Src: /src/gpac/src/scene_manager/swf_bifs.c:833,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:841,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:846,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:871,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:864,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:863,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:868,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:875,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:938,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:893,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:925,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:926,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:921,1
    - Dst: s2b_get_glyph
      Src: /src/gpac/src/scene_manager/swf_bifs.c:908,1
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:897,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_bifs.c:836,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:881,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:887,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:899,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:907,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/swf_bifs.c:912,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:918,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:924,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:927,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:935,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:939,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/swf_bifs.c:916,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:854,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:860,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:872,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:873,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:874,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:888,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:901,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_bifs.c:916,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:894,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/scene_manager/swf_bifs.c:883,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/swf_bifs.c:916,1
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:919,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:921,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:900,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:911,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_bifs.c:826,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:847,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:855,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:857,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:865,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:867,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:869,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:878,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:889,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_bifs.c:890,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:896,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 143
    argCount: 2
    argNames:
    - read
    - text
    argTypes:
    - SWFReader*
    - SWFText*
    constantsTouched: []
    func_position:
      end: 942
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 942
    functionName: swf_bifs_define_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_node_get_tag
    - gf_node_set_id
    - s2b_new_node
    - gf_divfix
    - gf_node_unregister
    - s2b_get_appearance
    - s2b_get_glyph
    - gf_strdup
    - FLT2FIX
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    - gf_utf8_wcstombs
    - gf_assert
    - swf_report
    - gf_list_enum
    - sprintf
    - memcpy
    - gf_node_insert_child
    - gf_free
    - gf_node_register
    - swf_find_font
    - s2b_insert_symbol
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_define_text(SWFReader *read, SWFText *text) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_es_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1247,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1267,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1282,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1283,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1298,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1299,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1304,1
    - Dst: swf_bifs_end_of_clip
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1321,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1305,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1257,1
    - Dst: swf_insert_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1260,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1268,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1276,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1269,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1285,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1294,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1302,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1311,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1262,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1271,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1277,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1286,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1301,1
    - Dst: swf_parse_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1318,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1316,1
    - Dst: swf_init_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1237,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1245,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1241,1
    - Dst: swf_get_od_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1244,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1255,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1280,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1272,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1293,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1300,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 2
    argNames:
    - read
    - nb_frames
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1328
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1328
    functionName: swf_bifs_define_sprite
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_field_by_name
    - gf_node_set_id
    - s2b_new_node
    - gf_odf_desc_del
    - swf_bifs_end_of_clip
    - gf_odf_desc_esd_new
    - gf_odf_desc_new
    - gf_assert
    - swf_parse_sprite
    - gf_node_list_add_child
    - sprintf
    - gf_node_insert_child
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - swf_get_od_id
    - gf_sm_stream_new
    - swf_insert_od
    - swf_init_od
    - swf_get_es_id
    - gf_sm_stream_au_new
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_define_sprite(SWFReader *read, u32 nb_frames) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swf_init_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1452,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1463,1
    - Dst: swf_insert_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1475,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1492,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1459,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1456,1
    - Dst: swf_get_od_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1458,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1471,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1488,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1490,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1485,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1477,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1483,1
    - Dst: swf_get_es_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1461,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1468,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1482,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1498,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1466,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1495,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1481,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1499,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - read
    - ID
    - fileName
    argTypes:
    - SWFReader*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1503
    functionName: swf_bifs_setup_image
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - swf_insert_od
    - gf_node_register
    - gf_node_get_field_by_name
    - swf_init_od
    - swf_get_es_id
    - gf_strdup
    - sprintf
    - gf_node_set_id
    - gf_odf_desc_new
    - s2b_new_node
    - gf_odf_desc_del
    - gf_sg_vrml_mf_alloc
    - swf_get_od_id
    - s2b_insert_symbol
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_setup_image(SWFReader *read, u32 ID, char *fileName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:74,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:75,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:80,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:78,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:77,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - read
    - ID
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: s2b_get_node
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node_by_name
    - sprintf
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_node(SWFReader *read, u32 ID) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: s2b_same_color
      Src: /src/gpac/src/scene_manager/swf_bifs.c:192,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:195,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:217,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:219,1
    - Dst: s2b_get_color
      Src: /src/gpac/src/scene_manager/swf_bifs.c:174,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:231,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:235,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:237,1
    - Dst: s2b_get_color
      Src: /src/gpac/src/scene_manager/swf_bifs.c:171,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_bifs.c:179,1
    - Dst: s2b_get_alpha
      Src: /src/gpac/src/scene_manager/swf_bifs.c:175,1
    - Dst: s2b_same_color
      Src: /src/gpac/src/scene_manager/swf_bifs.c:185,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:223,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:211,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:227,1
    - Dst: s2b_get_alpha
      Src: /src/gpac/src/scene_manager/swf_bifs.c:172,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:199,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:200,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:201,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:231,1
    - Dst: s2b_insert_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:236,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 5
    argNames:
    - read
    - parent
    - fill_col
    - line_width
    - l_col
    argTypes:
    - SWFReader*
    - GF_Node*
    - u32
    - Fixed
    - u32
    constantsTouched: []
    func_position:
      end: 240
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 240
    functionName: s2b_get_appearance
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - s2b_insert_appearance
    - gf_list_enum
    - s2b_get_alpha
    - gf_list_count
    - sprintf
    - gf_node_set_id
    - s2b_new_node
    - s2b_same_color
    - s2b_get_color
    - gf_node_register
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_appearance(SWFReader *read, GF_Node *parent,
      u32 fill_col, Fixed line_width, u32 l_col) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:280,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:274,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:288,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:303,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:317,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:350,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:352,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:335,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:281,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:284,1
    - Dst: s2b_get_alpha
      Src: /src/gpac/src/scene_manager/swf_bifs.c:298,1
    - Dst: s2b_get_alpha
      Src: /src/gpac/src/scene_manager/swf_bifs.c:306,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:310,1
    - Dst: s2b_get_center_bounds
      Src: /src/gpac/src/scene_manager/swf_bifs.c:315,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:293,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:318,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:320,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:321,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:338,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:331,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:273,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:275,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:276,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:302,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:312,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:327,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:337,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:343,1
    - Dst: s2b_get_matrix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:351,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/scene_manager/swf_bifs.c:323,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/scene_manager/swf_bifs.c:348,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:344,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:285,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:292,1
    - Dst: s2b_get_color
      Src: /src/gpac/src/scene_manager/swf_bifs.c:297,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:319,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:334,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:342,1
    - Dst: gf_invfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:345,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:346,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:332,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 91
    argCount: 4
    argNames:
    - read
    - parent
    - shape
    - srec
    argTypes:
    - SWFReader*
    - GF_Node*
    - SWFShape*
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 354
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 354
    functionName: s2b_get_gradient
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_get_center_bounds
    - s2b_get_matrix
    - gf_node_get_field_by_name
    - gf_mx2d_pre_multiply
    - s2b_get_alpha
    - gf_mx2d_init
    - INT2FIX
    - gf_invfix
    - FLT2FIX
    - s2b_get_color
    - s2b_new_node
    - gf_divfix
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_gradient(SWFReader *read, GF_Node *parent,
      SWFShape *shape, SWFShapeRec *srec) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:581,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:583,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:597,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:605,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:599,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:607,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:612,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:615,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:621,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:624,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - s
    - tomerge
    argTypes:
    - M_Curve2D*
    - M_Curve2D*
    constantsTouched: []
    func_position:
      end: 631
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 631
    functionName: s2b_merge_curve2d
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_append
    linkageType: ''
    returnType: void
    signature: 'static void s2b_merge_curve2d(M_Curve2D *s, M_Curve2D *tomerge) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: swf_insert_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1384,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1391,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1375,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1392,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1394,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1396,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1350,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1344,1
    - Dst: swf_init_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1354,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1386,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1398,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1409,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1347,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1358,1
    - Dst: swf_get_od_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1360,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1361,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1380,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1374,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1399,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1423,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1426,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1343,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1349,1
    - Dst: swf_get_es_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1363,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1371,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1390,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1406,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1422,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1427,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 3
    argNames:
    - read
    - snd
    - soundstream_first_block
    argTypes:
    - SWFReader*
    - SWFSound*
    - Bool
    constantsTouched: []
    func_position:
      end: 1439
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1439
    functionName: swf_bifs_setup_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - swf_insert_od
    - gf_node_get_field_by_name
    - swf_init_od
    - swf_get_es_id
    - gf_strdup
    - sprintf
    - gf_node_set_id
    - gf_odf_desc_new
    - s2b_new_node
    - swf_get_od_id
    - gf_odf_desc_del
    - gf_node_insert_child
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_setup_sound(SWFReader *read, SWFSound *snd,
      Bool soundstream_first_block) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1509,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1523,1
    - Dst: s2b_get_color_matrix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1519,1
    - Dst: s2b_get_matrix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1517,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1522,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1525,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1526,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1527,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1528,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1531,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1532,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - read
    - node
    - mat
    - cmat
    argTypes:
    - SWFReader*
    - GF_Node*
    - GF_Matrix2D*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1536
    functionName: s2b_wrap_node
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_get_matrix
    - gf_mx2d_is_identity
    - gf_node_insert_child
    - gf_node_register
    - s2b_get_color_matrix
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_wrap_node(SWFReader *read, GF_Node *node, GF_Matrix2D
      *mat, GF_ColorMatrix *cmat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ARGB
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: s2b_get_alpha
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed s2b_get_alpha(u32 ARGB) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 953
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 953
    functionName: swf_nstart
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swf_nstart(void *sax_cbck, const char *node_name, const
      char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: swf_get_od_id
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: 'static u16 swf_get_od_id(SWFReader *read) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1678,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1669,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1689,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1693,1
    - Dst: s2b_wrap_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1675,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1682,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1688,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1697,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1703,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1699,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1693,1
    - Dst: s2b_get_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1665,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1668,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1679,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1680,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1681,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1695,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1709,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1711,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 9
    argNames:
    - read
    - depth
    - ID
    - prev_id
    - type
    - mat
    - cmat
    - prev_mat
    - prev_cmat
    argTypes:
    - SWFReader*
    - u32
    - u32
    - u32
    - u32
    - GF_Matrix2D*
    - GF_ColorMatrix*
    - GF_Matrix2D*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1715
    functionName: swf_bifs_place_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_wrap_node
    - gf_list_add
    - gf_node_get_name
    - gf_list_get
    - gf_sg_command_new
    - gf_list_count
    - sprintf
    - s2b_control_sprite
    - gf_sg_find_node_by_name
    - gf_sg_command_field_new
    - strcpy
    - gf_node_register
    - s2b_get_node
    - strnicmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_place_obj(SWFReader *read, u32 depth, u32 ID,
      u32 prev_id, u32 type, GF_Matrix2D *mat, GF_ColorMatrix *cmat, GF_Matrix2D *prev_mat,
      GF_ColorMatrix *prev_cmat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:149,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:153,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - read
    - app
    argTypes:
    - SWFReader*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: s2b_insert_appearance
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - s2b_insert_symbol
    - s2b_new_node
    linkageType: ''
    returnType: void
    signature: 'static void s2b_insert_appearance(SWFReader *read, GF_Node *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - sax_cbck
    - node_name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    functionName: swf_nend
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swf_nend(void *sax_cbck, const char *node_name, const
      char *name_space) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1221
    functionName: swf_get_es_id
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: 'static u16 swf_get_es_id(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1723,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1726,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1727,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1725,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1724,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1732,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1733,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1734,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - read
    - depth
    - ID
    argTypes:
    - SWFReader*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1739
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1739
    functionName: swf_bifs_remove_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - sprintf
    - s2b_control_sprite
    - gf_sg_find_node_by_name
    - gf_sg_command_field_new
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_remove_obj(SWFReader *read, u32 depth, u32
      ID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - read
    - cmat
    argTypes:
    - SWFReader*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 130
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 130
    functionName: s2b_get_color_matrix
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_new_node
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_color_matrix(SWFReader *read, GF_ColorMatrix
      *cmat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:364,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:367,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:368,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:365,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:369,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:370,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:374,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:376,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scene_manager/swf_bifs.c:377,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:381,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:383,1
    - Dst: s2b_get_matrix
      Src: /src/gpac/src/scene_manager/swf_bifs.c:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - read
    - parent
    - shape
    - srec
    argTypes:
    - SWFReader*
    - GF_Node*
    - SWFShape*
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 385
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 385
    functionName: s2b_get_bitmap
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_get_matrix
    - gf_node_get_field_by_name
    - gf_mx2d_init
    - sprintf
    - gf_mx2d_add_scale
    - gf_sg_find_node_by_name
    - s2b_new_node
    - gf_node_register
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_bitmap(SWFReader *read, GF_Node *parent, SWFShape
      *shape, SWFShapeRec *srec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s2b_merge_curve2d
      Src: /src/gpac/src/scene_manager/swf_bifs.c:640,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:649,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:648,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/swf_bifs.c:642,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - og
    - n
    - is_proto
    argTypes:
    - M_OrderedGroup*
    - M_Shape*
    - Bool
    constantsTouched: []
    func_position:
      end: 650
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 650
    functionName: s2b_insert_shape
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - s2b_merge_curve2d
    - gf_node_unregister
    - gf_node_insert_child
    linkageType: ''
    returnType: void
    signature: 'static void s2b_insert_shape(M_OrderedGroup *og, M_Shape *n, Bool
      is_proto) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:715,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:731,1
    - Dst: s2b_shape_to_curve2d
      Src: /src/gpac/src/scene_manager/swf_bifs.c:742,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:722,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_bifs.c:738,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:734,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_bifs.c:746,1
    - Dst: s2b_shape_to_curve2d
      Src: /src/gpac/src/scene_manager/swf_bifs.c:750,1
    - Dst: s2b_shape_to_curve2d
      Src: /src/gpac/src/scene_manager/swf_bifs.c:704,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:714,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:720,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:717,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:730,1
    - Dst: s2b_insert_shape
      Src: /src/gpac/src/scene_manager/swf_bifs.c:751,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:694,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:698,1
    - Dst: s2b_insert_rec_in_coord
      Src: /src/gpac/src/scene_manager/swf_bifs.c:740,1
    - Dst: s2b_insert_rec_in_coord
      Src: /src/gpac/src/scene_manager/swf_bifs.c:748,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:691,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:694,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:696,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:702,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:707,1
    - Dst: s2b_insert_shape
      Src: /src/gpac/src/scene_manager/swf_bifs.c:743,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 4
    argNames:
    - read
    - shape
    - parent_font
    - last_sub_shape
    argTypes:
    - SWFReader*
    - SWFShape*
    - SWFFont*
    - Bool
    constantsTouched: []
    func_position:
      end: 757
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 757
    functionName: swf_bifs_define_shape
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - s2b_insert_rec_in_coord
    - gf_list_enum
    - gf_list_count
    - sprintf
    - s2b_insert_shape
    - gf_node_set_id
    - gf_node_new
    - s2b_new_node
    - gf_node_register
    - s2b_insert_symbol
    - s2b_shape_to_curve2d
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_define_shape(SWFReader *read, SWFShape *shape,
      SWFFont *parent_font, Bool last_sub_shape) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/swf_bifs.c:963,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:965,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/swf_bifs.c:968,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/swf_bifs.c:967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - sax_cbck
    - content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 969
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 969
    functionName: swf_ntext
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: 'static void swf_ntext(void *sax_cbck, const char *content, Bool is_cdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1110,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1112,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1115,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1117,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1116,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1119,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1120,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1126,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1132
    functionName: swf_bifs_end_of_clip
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_sg_command_new
    - sprintf
    - gf_sg_find_node_by_name
    - gf_sg_command_field_new
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void swf_bifs_end_of_clip(SWFReader *read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1749,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1754,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1752,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1753,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1755,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1756,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1761,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1780,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1794
    functionName: swf_bifs_show_frame
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sg_command_new
    - gf_list_count
    - gf_sg_vrml_field_pointer_new
    - gf_sm_stream_au_new
    - gf_sg_command_field_new
    - gf_sg_find_node_by_name
    - gf_node_register
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_show_frame(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:136,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:137,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ARGB
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: s2b_get_color
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - INT2FIX
    linkageType: ''
    returnType: SFColor
    signature: 'static SFColor s2b_get_color(u32 ARGB) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:394,1
    - Dst: s2b_get_bitmap
      Src: /src/gpac/src/scene_manager/swf_bifs.c:410,1
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:401,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_bifs.c:413,1
    - Dst: s2b_get_gradient
      Src: /src/gpac/src/scene_manager/swf_bifs.c:403,1
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:417,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 5
    argNames:
    - read
    - shape
    - n
    - srec
    - is_fill
    argTypes:
    - SWFReader*
    - SWFShape*
    - M_Shape*
    - SWFShapeRec*
    - Bool
    constantsTouched: []
    func_position:
      end: 419
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 419
    functionName: s2b_set_appearance
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_get_gradient
    - s2b_get_appearance
    - swf_report
    - s2b_get_bitmap
    linkageType: ''
    returnType: void
    signature: 'static void s2b_set_appearance(SWFReader *read, SWFShape *shape, M_Shape
      *n, SWFShapeRec *srec, Bool is_fill) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:655,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - c
    - srec
    argTypes:
    - M_Coordinate2D*
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 670
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 670
    functionName: s2b_insert_rec_in_coord
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_malloc
    linkageType: ''
    returnType: void
    signature: 'static void s2b_insert_rec_in_coord(M_Coordinate2D *c, SWFShapeRec
      *srec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:767,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:768,1
    - Dst: swf_find_font
      Src: /src/gpac/src/scene_manager/swf_bifs.c:775,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_bifs.c:777,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:770,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_bifs.c:781,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:784,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/swf_bifs.c:785,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_bifs.c:786,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:786,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:795,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:796,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:799,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - read
    - fontID
    - gl_index
    - par
    argTypes:
    - SWFReader*
    - u32
    - u32
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 802
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 802
    functionName: s2b_get_glyph
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - swf_find_font
    - gf_list_get
    - gf_node_get_tag
    - swf_report
    - sprintf
    - gf_node_set_id
    - gf_sg_find_node_by_name
    - gf_node_get_class_name
    - gf_node_register
    - s2b_insert_symbol
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_glyph(SWFReader *read, u32 fontID, u32 gl_index,
      GF_Node *par) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1005,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1006,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1012,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1030,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1024,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1039,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1044,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1045,1
    - Dst: s2b_get_appearance
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1054,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1059,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1083,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1022,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1026,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1027,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1018,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1053,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1066,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1069,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1077,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1081,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1089,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:983,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:991,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:999,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:997,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1009,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1040,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1041,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1063,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1080,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1084,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1092,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1078,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:996,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1015,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1023,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1031,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1038,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1048,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1056,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1060,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1072,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1093,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 2
    argNames:
    - read
    - text
    argTypes:
    - SWFReader*
    - SWFEditText*
    constantsTouched: []
    func_position:
      end: 1096
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1096
    functionName: swf_bifs_define_edit_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_init
    - strcat
    - s2b_get_appearance
    - gf_strdup
    - sprintf
    - gf_node_set_id
    - gf_sg_vrml_mf_reset
    - s2b_new_node
    - gf_sg_vrml_mf_append
    - gf_xml_sax_del
    - strcpy
    - gf_node_insert_child
    - gf_node_register
    - s2b_insert_symbol
    - gf_xml_sax_parse
    - gf_xml_sax_new
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_define_edit_text(SWFReader *read, SWFEditText
      *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1140,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1141,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1145,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1146,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - read
    - depth
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1150
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1150
    functionName: swf_bifs_allocate_depth
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node_by_name
    - sprintf
    - gf_node_register
    - gf_node_insert_child
    linkageType: ''
    returnType: Bool
    signature: 'static Bool swf_bifs_allocate_depth(SWFReader *read, u32 depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1799,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1809,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1805,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1808,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - read
    - button
    - tag
    - def_name
    - pos
    argTypes:
    - SWFReader*
    - GF_Node*
    - u32
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 1811
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1811
    functionName: s2b_button_add_child
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_register
    - s2b_new_node
    - gf_node_set_id
    - gf_node_insert_child
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_button_add_child(SWFReader *read, GF_Node *button,
      u32 tag, char *def_name, s32 pos) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2103,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2142,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2179,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2210,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2228,1
    - Dst: swf_nend
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2080,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2105,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2111,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2147,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2231,1
    - Dst: gf_bifs_proto_field_set_aq_info
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2190,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2093,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2119,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2182,1
    - Dst: swf_init_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2197,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2235,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2145,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2099,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2253,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2109,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2116,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2131,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2250,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2217,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2239,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2136,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2246,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2207,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2172,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2114,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2140,1
    - Dst: swf_nstart
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2079,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2100,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2106,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2124,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2129,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2134,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2086,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2114,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2222,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2254,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2146,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2107,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2110,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2104,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2148,1
    - Dst: swf_init_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2157,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2234,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2114,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2219,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2236,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2174,1
    - Dst: swf_ntext
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2081,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2089,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2078,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2130,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2135,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2178,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2238,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2176,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2141,1
    - Dst: swf_insert_od
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2220,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2092,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2096,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2112,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2123,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2128,1
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2139,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2173,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2251,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2137,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2249,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2091,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2125,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2187,1
    - Dst: gf_sg_proto_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2170,1
    - Dst: gf_bifs_proto_field_set_aq_info
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2185,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 176
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2260
    functionName: swf_to_bifs_init
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - swf_nstart
    - gf_list_add
    - gf_node_get_field_by_name
    - gf_bifs_proto_field_set_aq_info
    - gf_node_set_id
    - s2b_new_node
    - gf_odf_desc_del
    - swf_nend
    - gf_gpac_version
    - gf_odf_desc_esd_new
    - gf_strdup
    - gf_sg_proto_field_new
    - gf_sg_vrml_mf_reset
    - gf_odf_desc_new
    - gf_sg_vrml_mf_append
    - swf_ntext
    - gf_sg_proto_new
    - gf_node_list_add_child
    - gf_sg_command_new
    - gf_sg_proto_field_get_field
    - sprintf
    - gf_sys_is_test_mode
    - gf_node_insert_child
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_gpac_copyright
    - gf_sm_stream_new
    - swf_insert_od
    - gf_sys_is_cov_mode
    - swf_init_od
    - gf_sm_stream_au_new
    - FIX2INT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_to_bifs_init(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:88,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/swf_bifs.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - read
    - tag
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: s2b_new_node
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_node_new
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_new_node(SWFReader *read, u32 tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1158,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1160,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1169,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1168,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1166,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1179,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1182,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1189,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - read
    - root_only
    argTypes:
    - SWFReader*
    - Bool
    constantsTouched: []
    func_position:
      end: 1192
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1192
    functionName: swf_init_od
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sm_stream_new
    - gf_odf_desc_esd_new
    - gf_odf_desc_new
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_init_od(SWFReader *read, Bool root_only) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1547,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1549,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1553,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1551,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1562,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1564,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1566,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1567,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1571,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1573,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1577,1
    - Dst: gf_sg_vrml_field_copy
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1579,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1575,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1574,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1586,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1588,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 8
    argNames:
    - read
    - dst
    - n
    - fieldName
    - pos
    - type
    - val
    - insert
    argTypes:
    - SWFReader*
    - GF_List*
    - GF_Node*
    - char*
    - s32
    - u32
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1589
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1589
    functionName: s2b_set_field
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_insert
    - gf_list_get
    - gf_sg_command_new
    - gf_node_get_field_by_name
    - gf_list_count
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - gf_list_rem
    - gf_sg_command_field_new
    - gf_free
    - gf_node_register
    - gf_sg_vrml_field_copy
    linkageType: ''
    returnType: void
    signature: 'static void s2b_set_field(SWFReader *read, GF_List *dst, GF_Node *n,
      char *fieldName, s32 pos, u32 type, void *val, Bool insert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1609,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1610,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - read
    - snd
    - stop
    argTypes:
    - SWFReader*
    - SWFSound*
    - Bool
    constantsTouched: []
    func_position:
      end: 1616
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1616
    functionName: swf_bifs_start_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node_by_name
    - sprintf
    - s2b_set_field
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_start_sound(SWFReader *read, SWFSound *snd,
      Bool stop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1815,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1824,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1816,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1818,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - read
    - fromNode
    - fromField
    - toNode
    - toField
    argTypes:
    - SWFReader*
    - GF_Node*
    - u32
    - GF_Node*
    - u32
    constantsTouched: []
    func_position:
      end: 1825
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1825
    functionName: s2b_button_add_route
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_id
    - gf_sg_command_new
    linkageType: ''
    returnType: void
    signature: 'static void s2b_button_add_route(SWFReader *read, GF_Node *fromNode,
      u32 fromField, GF_Node *toNode, u32 toField) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_bifs_end_of_clip
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1974,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1978,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1976,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1979,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1977,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1981,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1984,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1986,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1987,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1988,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1990,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1989,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - read
    - is_destroy
    argTypes:
    - SWFReader*
    - Bool
    constantsTouched: []
    func_position:
      end: 1993
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1993
    functionName: swf_bifs_finalize
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - swf_bifs_end_of_clip
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void swf_bifs_finalize(SWFReader *read, Bool is_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - read
    - mat
    argTypes:
    - SWFReader*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: s2b_get_matrix
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_new_node
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *s2b_get_matrix(SWFReader *read, GF_Matrix2D *mat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1198,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1209,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1202,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1204,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1208,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - read
    - at_time
    - od
    argTypes:
    - SWFReader*
    - u32
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1211
    functionName: swf_insert_od
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_sm_stream_au_new
    - gf_odf_com_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_insert_od(SWFReader *read, u32 at_time, GF_ObjectDescriptor
      *od) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1594,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1599,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1597,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1596,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - read
    - xrgb
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1601
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1601
    functionName: swf_bifs_set_backcol
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_set_field
    - gf_sg_find_node_by_name
    - INT2FIX
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_set_backcol(SWFReader *read, u32 xrgb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1624,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1633,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1631,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1630,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1625,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1641,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1643,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1645,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1646,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1651,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1654,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 7
    argNames:
    - read
    - dst
    - ID
    - stop
    - set_time
    - mediaStartTime
    - rev_order
    argTypes:
    - SWFReader*
    - GF_List*
    - u32
    - Bool
    - Bool
    - SFTime
    - Bool
    constantsTouched: []
    func_position:
      end: 1655
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1655
    functionName: s2b_control_sprite
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - sprintf
    - gf_sg_find_node_by_name
    - s2b_set_field
    linkageType: ''
    returnType: void
    signature: 'static void s2b_control_sprite(SWFReader *read, GF_List *dst, u32
      ID, Bool stop, Bool set_time, SFTime mediaStartTime, Bool rev_order) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: s2b_new_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1844,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1850,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1864,1
    - Dst: s2b_button_add_route
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1878,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1882,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1870,1
    - Dst: s2b_button_add_route
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1890,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1894,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1921,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1924,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1951,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1958,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1848,1
    - Dst: s2b_get_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1858,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1861,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1865,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1869,1
    - Dst: s2b_button_add_route
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1884,1
    - Dst: s2b_button_add_route
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1896,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1909,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1913,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1947,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1925,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1953,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1875,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1887,1
    - Dst: s2b_wrap_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1918,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1920,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1932,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1936,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1944,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1962,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1960,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1845,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1860,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1881,1
    - Dst: s2b_insert_symbol
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1872,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1876,1
    - Dst: s2b_button_add_child
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1888,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1893,1
    - Dst: s2b_get_node
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1906,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1910,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1912,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1957,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_bifs.c:1933,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 2
    argNames:
    - read
    - btn
    argTypes:
    - SWFReader*
    - SWF_Button*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1968
    functionName: swf_bifs_define_button
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - s2b_wrap_node
    - gf_node_list_add_child
    - s2b_button_add_route
    - gf_malloc
    - gf_list_add
    - gf_list_new
    - sprintf
    - s2b_control_sprite
    - gf_node_set_id
    - s2b_button_add_child
    - s2b_new_node
    - gf_sg_find_node_by_name
    - gf_node_register
    - s2b_insert_symbol
    - s2b_get_node
    - s2b_set_field
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_bifs_define_button(SWFReader *read, SWF_Button *btn) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2023,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2031,1
    - Dst: s2b_set_field
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2033,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2036,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2026,1
    - Dst: s2b_control_sprite
      Src: /src/gpac/src/scene_manager/swf_bifs.c:2039,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - read
    - act
    argTypes:
    - SWFReader*
    - SWFAction*
    constantsTouched: []
    func_position:
      end: 2046
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2046
    functionName: swf_bifs_action
    functionSourceFile: /src/gpac/src/scene_manager/swf_bifs.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node_by_name
    - s2b_control_sprite
    - s2b_set_field
    linkageType: ''
    returnType: Bool
    signature: 'Bool swf_bifs_action(SWFReader *read, SWFAction *act) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_manager.c:177,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:186,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_manager.c:185,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_manager.c:183,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/scene_manager.c:191,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_manager.c:196,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:198,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_manager.c:204,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 4
    argNames:
    - stream
    - timing
    - time_sec
    - isRap
    argTypes:
    - GF_StreamContext*
    - u64
    - Double
    - Bool
    constantsTouched: []
    func_position:
      end: 207
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 207
    functionName: gf_sm_stream_au_new
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_malloc
    - gf_list_add
    - memset
    - gf_list_enum
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_AUContext *gf_sm_stream_au_new(GF_StreamContext *stream,
      u64 timing, Double time_sec, Bool isRap) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:214,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:218,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scene_manager/scene_manager.c:222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:216,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:227,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scene_manager/scene_manager.c:231,1
    - Dst: gf_node_parent_of
      Src: /src/gpac/src/scene_manager/scene_manager.c:239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 2
    argNames:
    - node
    - commands
    argTypes:
    - GF_Node*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 249
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 249
    functionName: node_in_commands_subtree
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_node_parent_of
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: Bool
    signature: 'static Bool node_in_commands_subtree(GF_Node *node, GF_List *commands) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_manager.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: gf_sm_get_mux_info
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_MuxInfo *gf_sm_get_mux_info(GF_ESD *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_manager.c:54,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_manager.c:73,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_manager.c:66,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - ES_ID
    - streamType
    - codec_id
    argTypes:
    - GF_SceneManager*
    - u16
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: gf_sm_stream_new
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_StreamContext *gf_sm_stream_new(GF_SceneManager *ctx,
      u16 ES_ID, u8 streamType, u32 codec_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:122,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/scene_manager.c:123,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/scene_manager.c:124,1
    - Dst: gf_sm_au_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - GF_StreamContext*
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: gf_sm_reset_stream
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_count
    - gf_list_last
    - gf_sm_au_del
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_reset_stream(GF_StreamContext *sc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_manager.c:158,1
    - Dst: gf_sm_reset_stream
      Src: /src/gpac/src/scene_manager/scene_manager.c:159,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_SceneManager*
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: gf_sm_reset
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_sm_reset_stream
    - gf_list_enum
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'void gf_sm_reset(GF_SceneManager *ctx) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:384,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:405,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:408,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:438,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:530,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_manager.c:551,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:389,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:429,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:411,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_manager.c:493,1
    - Dst: gf_sm_au_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:520,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:525,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:558,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:559,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:378,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:382,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:392,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:397,1
    - Dst: gf_sm_get_stream
      Src: /src/gpac/src/scene_manager/scene_manager.c:403,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_manager.c:411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:407,1
    - Dst: gf_sm_au_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:434,1
    - Dst: store_or_aggregate
      Src: /src/gpac/src/scene_manager/scene_manager.c:491,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/scene_manager.c:509,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:380,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:427,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:430,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:442,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:502,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:505,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:510,1
    - Dst: gf_sg_command_apply
      Src: /src/gpac/src/scene_manager/scene_manager.c:516,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:545,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:533,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 119
    argCount: 2
    argNames:
    - ctx
    - ESID
    argTypes:
    - GF_SceneManager*
    - u16
    constantsTouched: []
    func_position:
      end: 569
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 569
    functionName: gf_sm_aggregate
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_sg_command_del
    - gf_list_get
    - gf_sm_au_del
    - gf_sg_command_new
    - gf_list_del
    - store_or_aggregate
    - gf_list_count
    - gf_sm_get_stream
    - GF_LOG
    - gf_sm_stream_au_new
    - gf_sg_command_apply
    - gf_list_rem
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_aggregate(GF_SceneManager *ctx, u16 ESID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: gf_sm_load_run
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_load_run(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - load
    - suspend
    argTypes:
    - GF_SceneLoader*
    - Bool
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: gf_sm_load_suspend
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_suspend(GF_SceneLoader *load, Bool suspend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_manager.c:40,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_manager.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - graph
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: gf_sm_new
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneManager *gf_sm_new(GF_SceneGraph *graph) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:104,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/scene_manager.c:106,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/scene_manager.c:105,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:109,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:112,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - au
    argTypes:
    - GF_StreamContext*
    - GF_AUContext*
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: gf_sm_au_del
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_sg_command_del
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_odf_com_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_au_del(GF_StreamContext *sc, GF_AUContext *au) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:81,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ES_ID
    argTypes:
    - GF_SceneManager*
    - u16
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: gf_sm_stream_find
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_StreamContext*
    signature: 'GF_StreamContext *gf_sm_stream_find(GF_SceneManager *ctx, u16 ES_ID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_reset_stream
      Src: /src/gpac/src/scene_manager/scene_manager.c:132,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:133,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:136,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:135,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - GF_StreamContext*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: gf_sm_delete_stream
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_sm_reset_stream
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_delete_stream(GF_StreamContext *sc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:143,1
    - Dst: gf_sm_delete_stream
      Src: /src/gpac/src/scene_manager/scene_manager.c:146,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:145,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:148,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:144,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:149,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_SceneManager*
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: gf_sm_del
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_odf_desc_del
    - gf_free
    - gf_sm_delete_stream
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_del(GF_SceneManager *ctx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: node_in_commands_subtree
      Src: /src/gpac/src/scene_manager/scene_manager.c:258,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:263,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:288,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:261,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:292,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:293,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:304,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:305,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_manager.c:316,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:321,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:335,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_manager.c:316,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:341,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:329,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_manager.c:320,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:330,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_manager.c:336,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 69
    argCount: 4
    argNames:
    - sc
    - com
    - commands
    - has_modif
    argTypes:
    - GF_StreamContext*
    - GF_Command*
    - GF_List*
    - Bool*
    constantsTouched: []
    func_position:
      end: 350
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 350
    functionName: store_or_aggregate
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_sg_command_del
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - gf_node_get_id
    - node_in_commands_subtree
    linkageType: ''
    returnType: u32
    signature: 'static u32 store_or_aggregate(GF_StreamContext *sc, GF_Command *com,
      GF_List *commands, Bool *has_modif) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_manager.c:638,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_manager.c:649,1
    - Dst: gf_sm_load_init_bt
      Src: /src/gpac/src/scene_manager/scene_manager.c:675,1
    - Dst: gf_sm_load_init_qt
      Src: /src/gpac/src/scene_manager/scene_manager.c:704,1
    - Dst: strlwr
      Src: /src/gpac/src/scene_manager/scene_manager.c:643,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:658,1
    - Dst: gf_xml_get_root_type
      Src: /src/gpac/src/scene_manager/scene_manager.c:656,1
    - Dst: gf_sm_load_init_xmt
      Src: /src/gpac/src/scene_manager/scene_manager.c:681,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:660,1
    - Dst: gf_sm_load_init_isom
      Src: /src/gpac/src/scene_manager/scene_manager.c:699,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_manager.c:638,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:661,1
    - Dst: gf_sm_load_init_swf
      Src: /src/gpac/src/scene_manager/scene_manager.c:694,1
    - Dst: gf_sm_load_init_svg
      Src: /src/gpac/src/scene_manager/scene_manager.c:688,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scene_manager/scene_manager.c:636,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_manager.c:642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:639,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_manager.c:644,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_manager.c:645,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_manager.c:646,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:659,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 61
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 710
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 710
    functionName: gf_sm_load_init
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_sm_load_init_qt
    - strlen
    - gf_sm_load_init_swf
    - gf_sm_load_init_xmt
    - GF_LOG
    - gf_xml_get_root_type
    - strcmp
    - gf_free
    - strlwr
    - strcpy
    - gf_sm_load_init_bt
    - gf_sm_load_init_svg
    - gf_sm_load_init_isom
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_load_init(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_manager.c:355,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_manager.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - ESID
    argTypes:
    - GF_SceneManager*
    - u16
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: gf_sm_get_stream
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_StreamContext*
    signature: 'static GF_StreamContext *gf_sm_get_stream(GF_SceneManager *ctx, u16
      ESID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - load
    - str
    - do_clean
    argTypes:
    - GF_SceneLoader*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    functionName: gf_sm_load_string
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_load_string(GF_SceneLoader *load, const char
      *str, Bool do_clean) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_get_root_type
      Src: /src/gpac/src/scene_manager/scene_manager.c:656,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:660,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:661,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:659,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - (szExt, "xml")
    argTypes:
    - strstr
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: if
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_xml_get_root_type
    - strcmp
    - gf_free
    linkageType: ''
    returnType: else
    signature: 'else if (strstr(szExt, "xml")) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: gf_sm_load_done
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_load_done(GF_SceneLoader *load) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:744,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_manager.c:752,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/scene_manager/scene_manager.c:751,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/scene_manager/scene_manager.c:749,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:754,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:758,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/scene_manager.c:759,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_manager.c:760,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_manager.c:765,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/scene_manager/scene_manager.c:768,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_manager.c:768,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/scene_manager.c:771,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_manager.c:772,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_manager.c:773,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_manager.c:786,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_manager.c:766,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/scene_manager.c:780,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - node
    - fileName
    argTypes:
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 794
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 794
    functionName: gf_sm_update_bitwrapper_buffer
    functionSourceFile: /src/gpac/src/scene_manager/scene_manager.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - strlen
    - gf_malloc
    - gf_file_load_data
    - sscanf
    - GF_LOG
    - strchr
    - gf_free
    - gf_base64_decode
    - strstr
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'void gf_sm_update_bitwrapper_buffer(GF_Node *node, const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/scene_manager/swf_parse.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: swf_get_file_pos
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_get_file_pos(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swf_align
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_align
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_align(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/scene_manager/swf_parse.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: swf_get_16
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    linkageType: ''
    returnType: u16
    signature: 'static u16 swf_get_16(SWFReader *read) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:297,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:297,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:305,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:305,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:290,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:295,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:293,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:298,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:298,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:300,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:304,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:306,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:306,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:294,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:299,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:299,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:303,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 2
    argNames:
    - read
    - cmat
    argTypes:
    - SWFReader*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: swf_get_colormatrix
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_read_int
    - swf_read_sint
    - memset
    - FLT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void swf_get_colormatrix(SWFReader *read, GF_ColorMatrix *cmat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:497,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:509,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - sr
    - pt
    - ctr
    - type
    argTypes:
    - SWFShapeRec*
    - SFVec2f
    - SFVec2f
    - u32
    constantsTouched: []
    func_position:
      end: 515
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 515
    functionName: swf_path_add_com
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - swf_path_realloc_pts
    linkageType: ''
    returnType: void
    signature: 'static void swf_path_add_com(SWFShapeRec *sr, SFVec2f pt, SFVec2f
      ctr, u32 type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:578,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:583,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:579,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:582,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:584,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 587
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 587
    functionName: swf_free_shape_rec
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void swf_free_shape_rec(SWFShapeRec *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_color
      Src: /src/gpac/src/scene_manager/swf_parse.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1096
    functionName: swf_set_backcol
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_color
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_set_backcol(SWFReader *read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1552,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1559,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1555,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1560,1
    - Dst: swf_find_font
      Src: /src/gpac/src/scene_manager/swf_parse.c:1553,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1561,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1563,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1564,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1565,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1566,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1574,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1577,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1573,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1567,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1572,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1569,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1568,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1578,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1581
    functionName: swf_def_font_info
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_find_font
    - gf_malloc
    - swf_report
    - swf_read_int
    - gf_free
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_font_info(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - read
    - data
    - data_size
    argTypes:
    - SWFReader*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: swf_read_data
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_read_data
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_read_data(SWFReader *read, char *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - read
    - size
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: swf_skip_data
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_read_int
    linkageType: ''
    returnType: void
    signature: 'static void swf_skip_data(SWFReader *read, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/scene_manager/swf_parse.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: swf_get_s16
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16_le
    linkageType: ''
    returnType: s16
    signature: 'static s16 swf_get_s16(SWFReader *read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:327,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:342,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:337,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/swf_parse.c:342,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: swf_get_string
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_realloc
    - gf_strdup
    - swf_read_int
    linkageType: ''
    returnType: char*
    signature: 'static char *swf_get_string(SWFReader *read) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:525,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_parse.c:551,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:526,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_parse.c:541,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_parse.c:560,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:570,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - path
    argTypes:
    - SWFPath*
    constantsTouched: []
    func_position:
      end: 574
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 574
    functionName: swf_referse_path
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void swf_referse_path(SWFPath *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:591,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:592,1
    - Dst: swf_free_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - recs
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: swf_reset_rec_list
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - swf_free_shape_rec
    linkageType: ''
    returnType: void
    signature: 'static void swf_reset_rec_list(GF_List *recs) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1130,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1131,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1164,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1183,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1125,1
    - Dst: swf_skip_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:1113,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1133,1
    - Dst: DO_ACT
      Src: /src/gpac/src/scene_manager/swf_parse.c:1147,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1157,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1166,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1171,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1101,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1117,1
    - Dst: DO_ACT
      Src: /src/gpac/src/scene_manager/swf_parse.c:1144,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1158,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1173,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/scene_manager/swf_parse.c:1181,1
    - Dst: DO_ACT
      Src: /src/gpac/src/scene_manager/swf_parse.c:1150,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1109,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1134,1
    - Dst: swf_skip_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:1177,1
    - Dst: DO_ACT
      Src: /src/gpac/src/scene_manager/swf_parse.c:1153,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 3
    argNames:
    - read
    - mask
    - key
    argTypes:
    - SWFReader*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1188
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1188
    functionName: swf_actions
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - memset
    - swf_get_string
    - swf_read_int
    - swf_skip_data
    - gf_bs_is_overflow
    - DO_ACT
    - gf_free
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_actions(SWFReader *read, u32 mask, u32 key) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1633,1
    - Dst: swf_get_argb
      Src: /src/gpac/src/scene_manager/swf_parse.c:1653,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1657,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1657,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:1669,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1674,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:1676,1
    - Dst: swf_get_color
      Src: /src/gpac/src/scene_manager/swf_parse.c:1652,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1646,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1607,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1616,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:1623,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1631,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1634,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1634,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1643,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:1670,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1597,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1599,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:1620,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1650,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1656,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1656,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1658,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:1671,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1672,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1592,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1594,1
    - Dst: swf_get_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:1593,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:1595,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1598,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1611,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1630,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1636,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1642,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1644,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1673,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 2
    argNames:
    - read
    - revision
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1679
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1679
    functionName: swf_def_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - swf_get_argb
    - GF_SAFEALLOC
    - swf_get_16
    - swf_get_matrix
    - gf_list_del
    - gf_list_count
    - FLT2FIX
    - gf_list_new
    - swf_get_rec
    - swf_align
    - swf_get_s16
    - gf_list_get
    - swf_report
    - swf_read_int
    - gf_free
    - swf_get_color
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_text(SWFReader *read, u32 revision) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1805,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1808,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1859,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1870,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:1802,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1804,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:1809,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/swf_parse.c:1834,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:1830,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1861,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1807,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1814,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1820,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:1838,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:1836,1
    - Dst: swf_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:1850,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1862,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1806,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1815,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1819,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1832,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:1833,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1842,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1841,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:1853,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:1865,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1869,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1874
    functionName: swf_def_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strcat
    - swf_read_data
    - swf_report
    - strcpy
    - gf_strdup
    - swf_read_int
    - swf_get_32
    - sprintf
    - gf_fwrite
    - GF_SAFEALLOC
    - gf_free
    - swf_get_16
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_sound(SWFReader *read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1887,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1891,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1890,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1889,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1888,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1893,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:1895,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:1896,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1897,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1901,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1905,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1904,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1903,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1909
    functionName: swf_skip_soundinfo
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_16
    - swf_read_int
    - memset
    - swf_get_32
    linkageType: ''
    returnType: SoundInfo
    signature: 'static SoundInfo swf_skip_soundinfo(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2349,1
    - Dst: swf_get_tag_name
      Src: /src/gpac/src/scene_manager/swf_parse.c:2349,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:2350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2351
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2351
    functionName: swf_unknown_tag
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_tag_name
    - swf_func_skip
    - swf_report
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_unknown_tag(SWFReader *read) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/scene_manager/swf_parse.c:100,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:110,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:102,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:111,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/scene_manager/swf_parse.c:101,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:112,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:113,1
    - Dst: uncompress
      Src: /src/gpac/src/scene_manager/swf_parse.c:116,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:119,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:121,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:128,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:126,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/scene_manager/swf_parse.c:123,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:122,1
    - Dst: zError
      Src: /src/gpac/src/scene_manager/swf_parse.c:126,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:127,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: swf_init_decompress
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - uncompress
    - gf_bs_del
    - memset
    - gf_bs_skip_bytes
    - GF_LOG
    - gf_bs_new
    - zError
    - gf_bs_get_size
    - gf_bs_read_data
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void swf_init_decompress(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - read
    - nbBits
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: swf_read_int
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_read_int(SWFReader *read, u32 nbBits) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:383,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:402,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:422,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:429,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:415,1
    - Dst: swf_get_argb
      Src: /src/gpac/src/scene_manager/swf_parse.c:405,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:431,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:448,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:454,1
    - Dst: swf_get_argb
      Src: /src/gpac/src/scene_manager/swf_parse.c:458,1
    - Dst: swf_clone_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:475,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:393,1
    - Dst: swf_new_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:390,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:386,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:399,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:401,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:430,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:437,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:461,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:469,1
    - Dst: swf_new_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:473,1
    - Dst: swf_get_argb
      Src: /src/gpac/src/scene_manager/swf_parse.c:476,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:397,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:414,1
    - Dst: swf_get_color
      Src: /src/gpac/src/scene_manager/swf_parse.c:406,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:424,1
    - Dst: swf_get_color
      Src: /src/gpac/src/scene_manager/swf_parse.c:459,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:481,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:483,1
    - Dst: swf_get_color
      Src: /src/gpac/src/scene_manager/swf_parse.c:477,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:475,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:387,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:398,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:404,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:435,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:463,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:467,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:470,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:474,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:482,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 134
    argCount: 5
    argNames:
    - read
    - revision
    - shape
    - bits_fill
    - bits_line
    argTypes:
    - SWFReader*
    - u32
    - SWFShape*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 484
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 484
    functionName: swf_parse_styles
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - swf_align
    - swf_get_color
    - swf_read_int
    - swf_clone_shape_rec
    - FLT2FIX
    - swf_get_argb
    - memcpy
    - gf_free
    - swf_new_shape_rec
    - swf_get_16
    - swf_get_matrix
    linkageType: ''
    returnType: void
    signature: 'static void swf_parse_styles(SWFReader *read, u32 revision, SWFShape
      *shape, u32 *bits_fill, u32 *bits_line) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:905,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:902,1
    - Dst: swf_get_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:910,1
    - Dst: swf_parse_styles
      Src: /src/gpac/src/scene_manager/swf_parse.c:911,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:936,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:941,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:939,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:921,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:951,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:953,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:955,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:1006,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1033,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:990,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:994,1
    - Dst: swf_flush_shape
      Src: /src/gpac/src/scene_manager/swf_parse.c:1036,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:1042,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1029,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:1021,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:1043,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:900,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:903,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:909,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:949,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:967,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:976,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1003,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:1011,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1018,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1028,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:1044,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1030,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:989,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1004,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:1007,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:915,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:923,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:940,1
    - Dst: swf_new_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:920,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:942,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:950,1
    - Dst: swf_flush_shape
      Src: /src/gpac/src/scene_manager/swf_parse.c:960,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:971,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:973,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:978,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1040,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1039,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:901,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:916,1
    - Dst: swf_new_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:922,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:938,1
    - Dst: swf_parse_styles
      Src: /src/gpac/src/scene_manager/swf_parse.c:961,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:954,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:968,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:977,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:980,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:981,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:982,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:1022,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:1041,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:986,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:972,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:991,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:993,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:992,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:995,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:996,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:997,1
    - Dst: swf_path_add_com
      Src: /src/gpac/src/scene_manager/swf_parse.c:1023,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1009,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:1013,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1019,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 176
    argCount: 3
    argNames:
    - read
    - font
    - revision
    argTypes:
    - SWFReader*
    - SWFFont*
    - u32
    constantsTouched: []
    func_position:
      end: 1047
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 1047
    functionName: swf_parse_shape_def
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - swf_align
    - gf_list_get
    - memset
    - gf_list_del
    - swf_flush_shape
    - swf_parse_styles
    - swf_read_int
    - FLT2FIX
    - swf_reset_rec_list
    - swf_read_sint
    - swf_path_add_com
    - swf_new_shape_rec
    - gf_list_new
    - swf_get_rec
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_parse_shape_def(SWFReader *read, SWFFont *font,
      u32 revision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_parse.c:1065,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1075,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:1069,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:1073,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - read
    - Depth
    - create
    argTypes:
    - SWFReader*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1082
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1082
    functionName: swf_get_depth_entry
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - memset
    - GF_SAFEALLOC
    linkageType: ''
    returnType: DispShape*
    signature: 'static DispShape *swf_get_depth_entry(SWFReader *read, u32 Depth,
      Bool create) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1201,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/scene_manager/swf_parse.c:1219,1
    - Dst: swf_actions
      Src: /src/gpac/src/scene_manager/swf_parse.c:1226,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1213,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1195,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1198,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1206,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1207,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1208,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1214,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1233,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1236,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1216,1
    - Dst: swf_get_colormatrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1217,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1230,1
    - Dst: swf_actions
      Src: /src/gpac/src/scene_manager/swf_parse.c:1240,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1200,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1202,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1209,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1210,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1220,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1212,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1237,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - read
    - revision
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1245
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1245
    functionName: swf_def_button
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_colormatrix
    - swf_align
    - memset
    - gf_cmx_init
    - swf_read_int
    - gf_bs_read_int
    - gf_bs_align
    - swf_get_16
    - swf_get_matrix
    - swf_actions
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_button(SWFReader *read, u32 revision) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:1689,1
    - Dst: swf_get_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:1693,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1700,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1708,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1709,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1702,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1714,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1721,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1727,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1699,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1707,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1715,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1715,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1722,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1722,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1724,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1725,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1725,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1734,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1694,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1698,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1701,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1704,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1706,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1703,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1711,1
    - Dst: swf_get_argb
      Src: /src/gpac/src/scene_manager/swf_parse.c:1717,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1718,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1718,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1692,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1696,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1697,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1705,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1710,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1723,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1723,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:1724,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1735,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1728,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1738
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1738
    functionName: swf_def_edit_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_align
    - memset
    - swf_get_string
    - swf_read_int
    - FLT2FIX
    - swf_get_argb
    - gf_free
    - swf_get_16
    - swf_get_rec
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_edit_text(SWFReader *read) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:1952,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1955,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1963,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1970,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:1986,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1948,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1959,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1975,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1990,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1971,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:1984,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1976,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1991,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:1949,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1957,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1961,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1965,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:1982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1995
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1995
    functionName: swf_soundstream_hdr
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_report
    - gf_strdup
    - swf_read_int
    - sprintf
    - GF_SAFEALLOC
    - swf_func_skip
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_soundstream_hdr(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/scene_manager/swf_parse.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - read
    - size
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: swf_seek_file_to
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_seek
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_seek_file_to(SWFReader *read, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:161,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - read
    - nbBits
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: swf_read_sint
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_read_int
    linkageType: ''
    returnType: s32
    signature: 'static s32 swf_read_sint(SWFReader *read, u32 nbBits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - path
    - nbPts
    argTypes:
    - SWFPath*
    - u32
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: swf_path_realloc_pts
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void swf_path_realloc_pts(SWFPath *path, u32 nbPts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:1052,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - read
    - ID
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1058
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1058
    functionName: swf_find_font
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: SWFFont*
    signature: 'SWFFont *swf_find_font(SWFReader *read, u32 ID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_skip_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: swf_func_skip
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_skip_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_func_skip(SWFReader *read) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - mat
    argTypes:
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1256
    functionName: swf_mat_is_identity
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool swf_mat_is_identity(GF_Matrix2D *mat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:1743,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1744,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1747
    functionName: swf_delete_sound_stream
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void swf_delete_sound_stream(SWFReader *read) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2011,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:2036,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:2037,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:2038,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2057,1
    - Dst: GF_4CC
      Src: /src/gpac/src/scene_manager/swf_parse.c:2039,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2010,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:2035,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:2000,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:2017,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:2019,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2031,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2046,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/scene_manager/swf_parse.c:2040,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:2008,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2056,1
    - Dst: swf_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:2053,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2065,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2068
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2068
    functionName: swf_soundstream_block
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - swf_read_data
    - GF_4CC
    - gf_realloc
    - swf_read_int
    - gf_mp3_frame_size
    - swf_func_skip
    - gf_fwrite
    - swf_get_16
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_soundstream_block(SWFReader *read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:848,1
    - Dst: swf_resort_path
      Src: /src/gpac/src/scene_manager/swf_parse.c:855,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:859,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:861,1
    - Dst: swf_resort_path
      Src: /src/gpac/src/scene_manager/swf_parse.c:874,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:867,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:845,1
    - Dst: swf_referse_path
      Src: /src/gpac/src/scene_manager/swf_parse.c:851,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:858,1
    - Dst: swf_free_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:862,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:870,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:868,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:883,1
    - Dst: swf_free_shape_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:871,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:884,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:849,1
    - Dst: swf_append_path
      Src: /src/gpac/src/scene_manager/swf_parse.c:853,1
    - Dst: swf_reset_rec_list
      Src: /src/gpac/src/scene_manager/swf_parse.c:882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - read
    - shape
    - font
    - last_shape
    argTypes:
    - SWFReader*
    - SWFShape*
    - SWFFont*
    - Bool
    constantsTouched: []
    func_position:
      end: 886
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 886
    functionName: swf_flush_shape
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - swf_free_shape_rec
    - gf_list_count
    - swf_reset_rec_list
    - swf_referse_path
    - gf_list_rem
    - swf_resort_path
    - swf_append_path
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_flush_shape(SWFReader *read, SWFShape *shape, SWFFont
      *font, Bool last_shape) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2547,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2559,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:2561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:2572,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2567,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2570,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2577,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2582,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:2554,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2569,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2565,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:2573,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2576,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2579,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2587,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:2555,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2548,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2566,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2564,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:2574,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:2575,1
    - Dst: swf_delete_sound_stream
      Src: /src/gpac/src/scene_manager/swf_parse.c:2580,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2583,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:2556,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2557,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:2560,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:2562,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2563,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:2585,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2586,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2588
    functionName: gf_swf_reader_del
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_delete_sound_stream
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void gf_swf_reader_del(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1759,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1760,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:1773,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:1777,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:1778,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:1779,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1780,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:1782,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1797
    functionName: swf_def_sprite
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_new
    - gf_list_rem
    - gf_free
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_sprite(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - read
    - frame_rate
    - frame_count
    argTypes:
    - SWFReader*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2686
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2686
    functionName: gf_swf_get_duration
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_swf_get_duration(SWFReader *read, u32 *frame_rate, u32 *frame_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_parse.c:1916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - read
    - ID
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1920
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1920
    functionName: sndswf_get_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: SWFSound*
    signature: 'static SWFSound *sndswf_get_sound(SWFReader *read, u32 ID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:239,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:242,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:254,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:252,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:259,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:262,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:270,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:275,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:278,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:278,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:247,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:249,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:244,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:250,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:279,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:279,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:268,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:265,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 2
    argNames:
    - read
    - mat
    argTypes:
    - SWFReader*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 282
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 282
    functionName: swf_get_matrix
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_align
    - memset
    - swf_read_int
    - FLT2FIX
    - swf_read_sint
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_get_matrix(SWFReader *read, GF_Matrix2D *mat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:351,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: swf_new_shape_rec
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: SWFShapeRec*
    signature: 'static SWFShapeRec *swf_new_shape_rec() '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:654,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:672,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:688,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:692,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:720,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:724,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:745,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:759,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scene_manager/swf_parse.c:777,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scene_manager/swf_parse.c:777,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_parse.c:731,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:823,1
    - Dst: gf_acos
      Src: /src/gpac/src/scene_manager/swf_parse.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:746,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:749,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:626,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:627,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:635,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:629,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:643,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:647,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:651,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:658,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:674,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:821,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:705,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:738,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:747,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/scene_manager/swf_parse.c:779,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:636,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:660,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:684,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_parse.c:671,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:716,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_parse.c:784,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/scene_manager/swf_parse.c:790,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:808,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:818,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:819,1
    - Dst: gf_v2d_len
      Src: /src/gpac/src/scene_manager/swf_parse.c:780,1
    - Dst: gf_mulfix
      Src: /src/gpac/src/scene_manager/swf_parse.c:784,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:664,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:663,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:695,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/swf_parse.c:699,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:703,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:704,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_parse.c:706,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:727,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:735,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:736,1
    - Dst: swf_path_realloc_pts
      Src: /src/gpac/src/scene_manager/swf_parse.c:800,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:820,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:675,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:803,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:763,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:737,1
    - Dst: swf_path_add_type
      Src: /src/gpac/src/scene_manager/swf_parse.c:811,1
    - Dst: swf_append_path
      Src: /src/gpac/src/scene_manager/swf_parse.c:752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_parse.c:750,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 200
    argCount: 2
    argNames:
    - a
    - read
    argTypes:
    - SWFPath*
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 824
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 824
    functionName: swf_resort_path
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - GF_LOG
    - gf_divfix
    - GF_SAFEALLOC
    - swf_path_add_type
    - gf_list_del
    - gf_list_count
    - ABSDIFF
    - gf_list_new
    - gf_assert
    - gf_list_get
    - gf_free
    - swf_append_path
    - gf_mulfix
    - gf_acos
    - gf_v2d_len
    - gf_list_rem
    - swf_path_realloc_pts
    linkageType: ''
    returnType: void
    signature: 'static void swf_resort_path(SWFPath *a, SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1427
    functionName: swf_show_frame
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_show_frame(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2512
    functionName: swf_io_error
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swf_io_error(void *par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:363,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:365,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:366,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:364,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:369,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:370,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:371,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - old_sr
    argTypes:
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: swf_clone_shape_rec
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - memset
    linkageType: ''
    returnType: SWFShapeRec*
    signature: 'static SWFShapeRec *swf_clone_shape_rec(SWFShapeRec *old_sr) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:1437,1
    - Dst: swf_get_file_pos
      Src: /src/gpac/src/scene_manager/swf_parse.c:1446,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1455,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1470,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1467,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1473,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1474,1
    - Dst: swf_seek_file_to
      Src: /src/gpac/src/scene_manager/swf_parse.c:1500,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1505,1
    - Dst: swf_get_file_pos
      Src: /src/gpac/src/scene_manager/swf_parse.c:1508,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1537,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1526,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1539,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1521,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:1440,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1450,1
    - Dst: swf_seek_file_to
      Src: /src/gpac/src/scene_manager/swf_parse.c:1456,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1472,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1466,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1480,1
    - Dst: swf_get_file_pos
      Src: /src/gpac/src/scene_manager/swf_parse.c:1481,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1484,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:1486,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1514,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1522,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1534,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1441,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_parse.c:1443,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1460,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1471,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1469,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1487,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:1492,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1494,1
    - Dst: swf_parse_shape_def
      Src: /src/gpac/src/scene_manager/swf_parse.c:1503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:1510,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1530,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1525,1
    - Dst: swf_get_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:1527,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1536,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1448,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1452,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1468,1
    - Dst: swf_parse_shape_def
      Src: /src/gpac/src/scene_manager/swf_parse.c:1458,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1475,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:1476,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1478,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1499,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1516,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1517,1
    - Dst: swf_get_s16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1523,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1533,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 141
    argCount: 2
    argNames:
    - read
    - revision
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1544
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1544
    functionName: swf_def_font
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - swf_align
    - swf_get_s16
    - swf_parse_shape_def
    - swf_read_int
    - swf_get_32
    - GF_LOG
    - swf_seek_file_to
    - swf_get_file_pos
    - GF_SAFEALLOC
    - gf_free
    - swf_get_rec
    - gf_list_new
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_font(SWFReader *read, u32 revision) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: swf_parse_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2522,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2536,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/swf_parse.c:2525,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2534,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2538,1
    - Dst: swf_get_tag_name
      Src: /src/gpac/src/scene_manager/swf_parse.c:2538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2542
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2542
    functionName: gf_sm_load_run_swf
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_parse_tag
    - swf_get_tag_name
    - gf_set_progress
    - swf_report
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_run_swf(GF_SceneLoader *load) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:2606,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:2611,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/scene_manager/swf_parse.c:2614,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/swf_parse.c:2609,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/scene_manager/swf_parse.c:2613,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2615,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2616,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2617,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2618,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:2621,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/swf_parse.c:2624,1
    - Dst: strrchr
      Src: /src/gpac/src/scene_manager/swf_parse.c:2625,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - localPath
    - inputName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2634
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2634
    functionName: gf_swf_reader_new
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_from_file
    - gf_bs_set_eos_callback
    - gf_strdup
    - strrchr
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_fopen
    linkageType: ''
    returnType: SWFReader*
    signature: 'SWFReader *gf_swf_reader_new(const char *localPath, const char *inputName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/scene_manager/swf_parse.c:2653,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/scene_manager/swf_parse.c:2660,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/scene_manager/swf_parse.c:2655,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/scene_manager/swf_parse.c:2654,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:2661,1
    - Dst: swf_init_decompress
      Src: /src/gpac/src/scene_manager/swf_parse.c:2665,1
    - Dst: swf_get_rec
      Src: /src/gpac/src/scene_manager/swf_parse.c:2669,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:2673,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2674,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:2676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2679
    functionName: gf_swf_read_header
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_align
    - gf_bs_read_u8
    - swf_get_32
    - GF_LOG
    - swf_get_16
    - swf_get_rec
    - swf_init_decompress
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_swf_read_header(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:185,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:187,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:186,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:187,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:188,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:190,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:190,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:191,1
    - Dst: swf_read_sint
      Src: /src/gpac/src/scene_manager/swf_parse.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - read
    - rc
    argTypes:
    - SWFReader*
    - SWFRec*
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: swf_get_rec
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - swf_align
    - swf_read_sint
    - swf_read_int
    linkageType: ''
    returnType: void
    signature: 'static void swf_get_rec(SWFReader *read, SWFRec *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:214,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:216,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: swf_get_color
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_get_color(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:602,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:606,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:607,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SWFPath*
    - SWFPath*
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: swf_append_path
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void swf_append_path(SWFPath *a, SWFPath *b) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_cmx_init
      Src: /src/gpac/src/scene_manager/swf_parse.c:1279,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1287,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1291,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1296,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1302,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1314,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1318,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1323,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:1327,1
    - Dst: swf_get_depth_entry
      Src: /src/gpac/src/scene_manager/swf_parse.c:1390,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:1375,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:1398,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1286,1
    - Dst: swf_get_matrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1289,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1303,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1311,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1309,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1307,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1305,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1315,1
    - Dst: swf_get_colormatrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1319,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1322,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1402,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:1399,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/scene_manager/swf_parse.c:1280,1
    - Dst: swf_get_colormatrix
      Src: /src/gpac/src/scene_manager/swf_parse.c:1294,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1312,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:1326,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1349,1
    - Dst: swf_get_depth_entry
      Src: /src/gpac/src/scene_manager/swf_parse.c:1356,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1367,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_parse.c:1379,1
    - Dst: swf_mat_is_identity
      Src: /src/gpac/src/scene_manager/swf_parse.c:1387,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1331,1
    - Dst: swf_get_depth_entry
      Src: /src/gpac/src/scene_manager/swf_parse.c:1372,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1308,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1304,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:1306,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:1320,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1330,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1342,1
    - Dst: swf_mat_is_identity
      Src: /src/gpac/src/scene_manager/swf_parse.c:1394,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 123
    argCount: 2
    argNames:
    - read
    - revision
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1404
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1404
    functionName: swf_place_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_colormatrix
    - swf_align
    - swf_get_string
    - swf_report
    - gf_cmx_init
    - swf_mat_is_identity
    - swf_read_int
    - gf_mx2d_init
    - memcpy
    - gf_free
    - swf_get_16
    - swf_get_depth_entry
    - swf_get_matrix
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_place_obj(SWFReader *read, u32 revision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1925,1
    - Dst: sndswf_get_sound
      Src: /src/gpac/src/scene_manager/swf_parse.c:1929,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:1931,1
    - Dst: swf_skip_soundinfo
      Src: /src/gpac/src/scene_manager/swf_parse.c:1927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1940
    functionName: swf_start_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_16
    - sndswf_get_sound
    - swf_skip_soundinfo
    - swf_report
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_start_sound(SWFReader *read) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2074,1
    - Dst: swf_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:2080,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2083
    functionName: swf_def_hdr_jpeg
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - swf_read_data
    - swf_report
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_hdr_jpeg(SWFReader *read) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: swf_parse_shape_def
      Src: /src/gpac/src/scene_manager/swf_parse.c:2365,1
    - Dst: swf_remove_obj
      Src: /src/gpac/src/scene_manager/swf_parse.c:2373,1
    - Dst: swf_show_frame
      Src: /src/gpac/src/scene_manager/swf_parse.c:2377,1
    - Dst: swf_def_edit_text
      Src: /src/gpac/src/scene_manager/swf_parse.c:2389,1
    - Dst: swf_soundstream_hdr
      Src: /src/gpac/src/scene_manager/swf_parse.c:2395,1
    - Dst: swf_def_bits_jpeg
      Src: /src/gpac/src/scene_manager/swf_parse.c:2420,1
    - Dst: swf_unknown_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2427,1
    - Dst: swf_parse_shape_def
      Src: /src/gpac/src/scene_manager/swf_parse.c:2367,1
    - Dst: swf_remove_obj
      Src: /src/gpac/src/scene_manager/swf_parse.c:2375,1
    - Dst: swf_def_font
      Src: /src/gpac/src/scene_manager/swf_parse.c:2379,1
    - Dst: swf_def_font_info
      Src: /src/gpac/src/scene_manager/swf_parse.c:2383,1
    - Dst: swf_soundstream_block
      Src: /src/gpac/src/scene_manager/swf_parse.c:2401,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2413,1
    - Dst: swf_def_bits_jpeg
      Src: /src/gpac/src/scene_manager/swf_parse.c:2422,1
    - Dst: swf_set_backcol
      Src: /src/gpac/src/scene_manager/swf_parse.c:2361,1
    - Dst: swf_place_obj
      Src: /src/gpac/src/scene_manager/swf_parse.c:2369,1
    - Dst: swf_def_font
      Src: /src/gpac/src/scene_manager/swf_parse.c:2381,1
    - Dst: swf_start_sound
      Src: /src/gpac/src/scene_manager/swf_parse.c:2399,1
    - Dst: swf_def_text
      Src: /src/gpac/src/scene_manager/swf_parse.c:2385,1
    - Dst: swf_def_button
      Src: /src/gpac/src/scene_manager/swf_parse.c:2404,1
    - Dst: swf_get_string
      Src: /src/gpac/src/scene_manager/swf_parse.c:2412,1
    - Dst: swf_def_hdr_jpeg
      Src: /src/gpac/src/scene_manager/swf_parse.c:2418,1
    - Dst: swf_def_bits_jpeg
      Src: /src/gpac/src/scene_manager/swf_parse.c:2424,1
    - Dst: swf_parse_shape_def
      Src: /src/gpac/src/scene_manager/swf_parse.c:2363,1
    - Dst: swf_place_obj
      Src: /src/gpac/src/scene_manager/swf_parse.c:2371,1
    - Dst: swf_def_sprite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2391,1
    - Dst: swf_def_sound
      Src: /src/gpac/src/scene_manager/swf_parse.c:2397,1
    - Dst: swf_def_text
      Src: /src/gpac/src/scene_manager/swf_parse.c:2387,1
    - Dst: swf_def_button
      Src: /src/gpac/src/scene_manager/swf_parse.c:2406,1
    - Dst: swf_actions
      Src: /src/gpac/src/scene_manager/swf_parse.c:2409,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 33
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2429
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2429
    functionName: swf_process_tag
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_place_obj
    - swf_def_sound
    - swf_def_bits_jpeg
    - swf_soundstream_hdr
    - swf_def_edit_text
    - swf_get_string
    - swf_unknown_tag
    - swf_soundstream_block
    - swf_def_font
    - swf_remove_obj
    - swf_start_sound
    - swf_def_sprite
    - swf_def_font_info
    - gf_free
    - swf_def_button
    - swf_def_text
    - swf_actions
    - swf_show_frame
    - swf_set_backcol
    - swf_parse_shape_def
    - swf_def_hdr_jpeg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_process_tag(SWFReader *read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swf_parse_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2481,1
    - Dst: swf_get_tag_name
      Src: /src/gpac/src/scene_manager/swf_parse.c:2483,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2490
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2490
    functionName: swf_parse_sprite
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_parse_tag
    - swf_get_tag_name
    - swf_report
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_parse_sprite(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/scene_manager/swf_parse.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: swf_get_32
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32_le
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_get_32(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:225,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:227,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:229,1
    - Dst: swf_read_int
      Src: /src/gpac/src/scene_manager/swf_parse.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: swf_get_argb
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 swf_get_argb(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - path
    - val
    argTypes:
    - SWFPath*
    - u32
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: swf_path_add_type
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void swf_path_add_type(SWFPath *path, u32 val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1411,1
    - Dst: swf_get_depth_entry
      Src: /src/gpac/src/scene_manager/swf_parse.c:1413,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:1412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - read
    - revision
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 1419
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1419
    functionName: swf_remove_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_get_16
    - swf_get_depth_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_remove_obj(SWFReader *read, u32 revision) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:2102,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:2118,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2112,1
    - Dst: swf_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:2134,1
    - Dst: gf_img_parse
      Src: /src/gpac/src/scene_manager/swf_parse.c:2178,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/scene_manager/swf_parse.c:2188,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2194,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2220,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2227,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2099,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2114,1
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2128,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2131,1
    - Dst: memmove
      Src: /src/gpac/src/scene_manager/swf_parse.c:2147,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2156,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/swf_parse.c:2187,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2190,1
    - Dst: uncompress
      Src: /src/gpac/src/scene_manager/swf_parse.c:2201,1
    - Dst: gf_img_png_enc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2217,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2125,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_parse.c:2138,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2179,1
    - Dst: swf_read_data
      Src: /src/gpac/src/scene_manager/swf_parse.c:2196,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2199,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2206,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2210,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:2161,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2177,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2184,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2182,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2164,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2212,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_parse.c:2216,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:2219,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:2221,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_parse.c:2224,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 160
    argCount: 2
    argNames:
    - read
    - version
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 2231
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2231
    functionName: swf_def_bits_jpeg
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_img_jpeg_dec
    - gf_fwrite
    - swf_get_16
    - gf_bs_del
    - gf_img_parse
    - memmove
    - gf_fopen
    - uncompress
    - swf_report
    - sprintf
    - gf_bs_new
    - gf_free
    - swf_read_data
    - gf_realloc
    - swf_get_32
    - gf_img_png_enc
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_def_bits_jpeg(SWFReader *read, u32 version) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swf_get_16
      Src: /src/gpac/src/scene_manager/swf_parse.c:2439,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:2443,1
    - Dst: swf_get_32
      Src: /src/gpac/src/scene_manager/swf_parse.c:2444,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/swf_parse.c:2448,1
    - Dst: swf_get_file_pos
      Src: /src/gpac/src/scene_manager/swf_parse.c:2446,1
    - Dst: swf_process_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2451,1
    - Dst: swf_align
      Src: /src/gpac/src/scene_manager/swf_parse.c:2452,1
    - Dst: swf_get_file_pos
      Src: /src/gpac/src/scene_manager/swf_parse.c:2455,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2457,1
    - Dst: swf_get_tag_name
      Src: /src/gpac/src/scene_manager/swf_parse.c:2457,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/scene_manager/swf_parse.c:2460,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 2473
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2473
    functionName: swf_parse_tag
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_align
    - swf_get_tag_name
    - gf_set_progress
    - swf_report
    - gf_bs_skip_bytes
    - swf_get_32
    - swf_get_file_pos
    - swf_process_tag
    - swf_get_16
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_parse_tag(SWFReader *read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/swf_parse.c:2496,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/swf_parse.c:2499,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:2502,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2500,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/swf_parse.c:2501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - read
    - e
    - format
    - '...'
    argTypes:
    - SWFReader*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 2505
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2505
    functionName: swf_report
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void swf_report(SWFReader *read, GF_Err e, char *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/swf_parse.c:2595,1
    - Dst: gf_swf_reader_del
      Src: /src/gpac/src/scene_manager/swf_parse.c:2598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2600
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2600
    functionName: gf_sm_load_done_swf
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_swf_reader_del
    linkageType: ''
    returnType: void
    signature: 'void gf_sm_load_done_swf(GF_SceneLoader *load) '
  - BBCount: 54
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 2344
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2344
    functionName: swf_get_tag_name
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *swf_get_tag_name(u32 tag) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: swf_io_error
      Src: /src/gpac/src/scene_manager/swf_parse.c:2701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/swf_parse.c:2707,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/swf_parse.c:2743,1
    - Dst: gf_sm_load_done_swf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2768,1
    - Dst: swf_def_hdr_jpeg
      Src: /src/gpac/src/scene_manager/swf_parse.c:2698,1
    - Dst: swf_unknown_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2700,1
    - Dst: gf_swf_read_header
      Src: /src/gpac/src/scene_manager/swf_parse.c:2716,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_parse.c:2719,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2739,1
    - Dst: swf_to_svg_init
      Src: /src/gpac/src/scene_manager/swf_parse.c:2750,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_parse.c:2723,1
    - Dst: swf_parse_tag
      Src: /src/gpac/src/scene_manager/swf_parse.c:2759,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/swf_parse.c:2696,1
    - Dst: swf_func_skip
      Src: /src/gpac/src/scene_manager/swf_parse.c:2697,1
    - Dst: swf_get_tag_name
      Src: /src/gpac/src/scene_manager/swf_parse.c:2699,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_parse.c:2718,1
    - Dst: gf_swf_reader_new
      Src: /src/gpac/src/scene_manager/swf_parse.c:2705,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_parse.c:2713,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_parse.c:2741,1
    - Dst: swf_to_bifs_init
      Src: /src/gpac/src/scene_manager/swf_parse.c:2729,1
    - Dst: gf_swf_reader_set_user_mode
      Src: /src/gpac/src/scene_manager/swf_parse.c:2749,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2770
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2770
    functionName: gf_sm_load_init_swf
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached:
    - swf_parse_tag
    - GF_LOG
    - swf_get_tag_name
    - FLT2FIX
    - swf_unknown_tag
    - gf_swf_read_header
    - gf_swf_reader_new
    - gf_fopen
    - swf_to_svg_init
    - swf_report
    - sprintf
    - swf_func_skip
    - gf_sys_is_cov_mode
    - gf_swf_reader_set_user_mode
    - gf_sm_load_done_swf
    - swf_io_error
    - FIX2INT
    - swf_to_bifs_init
    - swf_def_hdr_jpeg
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_swf(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 4
    argNames:
    - read
    - user
    - (*add_sample)
    - (*add_header)
    argTypes:
    - SWFReader*
    - void*
    - GF_Err
    - GF_Err
    constantsTouched: []
    func_position:
      end: 2645
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2645
    functionName: gf_swf_reader_set_user_mode
    functionSourceFile: /src/gpac/src/scene_manager/swf_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_swf_reader_set_user_mode(SWFReader *read, void *user, GF_Err
      (*add_sample)(void *user, const u8 *data, u32 length, u64 timestamp, Bool isRap),
      GF_Err (*add_header)(void *user, const u8 *data, u32 length, Bool isHeader)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:197,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SVG_Parser*
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: svg_lsr_set_v2
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void svg_lsr_set_v2(GF_SVG_Parser *parser) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:363,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:368,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scene_manager/loader_svg.c:372,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:404,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scene_manager/loader_svg.c:415,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:451,1
    - Dst: svg_parse_animation
      Src: /src/gpac/src/scene_manager/loader_svg.c:439,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:460,1
    - Dst: svg_post_process_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:472,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:476,1
    - Dst: svg_post_process_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:486,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:378,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:400,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:412,1
    - Dst: svg_post_process_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:455,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:453,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:462,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:478,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:485,1
    - Dst: gf_svg_resolve_smil_times
      Src: /src/gpac/src/scene_manager/loader_svg.c:505,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:418,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:470,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:496,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:504,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_svg.c:511,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:375,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:417,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:428,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:441,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:441,1
    - Dst: svg_post_process_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:464,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:468,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:483,1
    - Dst: gf_svg_resolve_smil_times
      Src: /src/gpac/src/scene_manager/loader_svg.c:497,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:510,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 123
    argCount: 5
    argNames:
    - parser
    - sg
    - anim
    - nodeID
    - force_type
    argTypes:
    - GF_SVG_Parser*
    - GF_SceneGraph*
    - SVG_DeferredAnimation*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 517
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 517
    functionName: svg_parse_animation
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - gf_node_register_iri
    - gf_node_get_tag
    - svg_report
    - gf_list_get
    - gf_node_init
    - gf_strdup
    - gf_svg_parse_attribute
    - gf_node_get_attribute_by_name
    - gf_list_count
    - gf_node_get_attribute_by_tag
    - gf_svg_resolve_smil_times
    - svg_parse_animation
    - gf_sg_find_node_by_name
    - strchr
    - gf_free
    - svg_post_process_href
    - gf_sg_get_namespace_code
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svg_parse_animation(GF_SVG_Parser *parser, GF_SceneGraph
      *sg, SVG_DeferredAnimation *anim, const char *nodeID, u32 force_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:212,1
    - Dst: svg_saf_get_stream
      Src: /src/gpac/src/scene_manager/loader_svg.c:217,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_svg.c:263,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:267,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_svg.c:273,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/scene_manager/loader_svg.c:264,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:270,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:269,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:237,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:270,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:275,1
    - Dst: svg_saf_get_stream
      Src: /src/gpac/src/scene_manager/loader_svg.c:215,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:272,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:276,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:216,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:219,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/scene_manager/loader_svg.c:230,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:240,1
    - Dst: gf_svg_delete_attribute_value
      Src: /src/gpac/src/scene_manager/loader_svg.c:252,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:255,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:274,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 3
    argNames:
    - parser
    - elt
    - iri
    argTypes:
    - GF_SVG_Parser*
    - GF_Node*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 279
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 279
    functionName: svg_process_media_href
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_dom_add_text_node
    - gf_malloc
    - gf_svg_delete_attribute_value
    - svg_saf_get_stream
    - gf_file_load_data
    - gf_node_get_tag
    - sprintf
    - strchr
    - gf_free
    - stricmp
    - gf_base64_encode
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'static void svg_process_media_href(GF_SVG_Parser *parser, GF_Node
      *elt, XMLRI *iri) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:524,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:582,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_svg.c:536,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:550,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:560,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:570,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_svg.c:574,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:529,1
    - Dst: gf_node_register_iri
      Src: /src/gpac/src/scene_manager/loader_svg.c:533,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:527,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:534,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:547,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_svg.c:572,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:580,1
    - Dst: svg_delete_deferred_anim
      Src: /src/gpac/src/scene_manager/loader_svg.c:585,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:543,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:553,1
    - Dst: svg_parse_animation
      Src: /src/gpac/src/scene_manager/loader_svg.c:584,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 3
    argNames:
    - parser
    - sg
    - nodeID
    argTypes:
    - GF_SVG_Parser*
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 590
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 590
    functionName: svg_resolved_refs
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_node_register_iri
    - gf_list_count
    - strcmp
    - svg_delete_deferred_anim
    - gf_node_get_attribute_by_tag
    - gf_node_dom_listener_add
    - gf_sg_find_node_by_name
    - gf_list_rem
    - svg_parse_animation
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void svg_resolved_refs(GF_SVG_Parser *parser, GF_SceneGraph
      *sg, const char *nodeID) '
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:1401,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1414,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:1457,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/loader_svg.c:1584,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1502,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/loader_svg.c:1579,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1464,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1512,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1565,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1495,1
    - Dst: GF_4CC
      Src: /src/gpac/src/scene_manager/loader_svg.c:1515,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1537,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1485,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1519,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1540,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1645,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1767,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:1778,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:1402,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1509,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1585,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:1593,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1600,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1609,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/loader_svg.c:1620,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1623,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1708,1
    - Dst: svg_parse_element
      Src: /src/gpac/src/scene_manager/loader_svg.c:1733,1
    - Dst: lsr_parse_header
      Src: /src/gpac/src/scene_manager/loader_svg.c:1425,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1472,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1610,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1614,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1675,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:1756,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_svg.c:1628,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1416,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1427,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1440,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1510,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1614,1
    - Dst: lsr_parse_command
      Src: /src/gpac/src/scene_manager/loader_svg.c:1688,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/scene_manager/loader_svg.c:1722,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_svg.c:1739,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:1385,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1517,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1546,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1622,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1638,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1677,1
    - Dst: svg_init_root_element
      Src: /src/gpac/src/scene_manager/loader_svg.c:1753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:1693,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1541,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1395,1
    - Dst: svg_check_namespace
      Src: /src/gpac/src/scene_manager/loader_svg.c:1411,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1472,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1513,1
    - Dst: svg_saf_get_stream
      Src: /src/gpac/src/scene_manager/loader_svg.c:1640,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1660,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1775,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_svg.c:1776,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1491,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1514,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1509,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1444,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1466,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1590,1
    - Dst: svg_saf_get_stream
      Src: /src/gpac/src/scene_manager/loader_svg.c:1616,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1657,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:1691,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1769,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:1372,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1386,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1438,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1418,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1543,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1511,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1572,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1522,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1529,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1662,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1422,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1600,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1609,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1612,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1621,1
    - Dst: gf_node_set_callback_function
      Src: /src/gpac/src/scene_manager/loader_svg.c:1703,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1765,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:1777,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_svg.c:1591,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1454,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1627,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1650,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:1786,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1526,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1397,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1432,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1460,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1518,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/loader_svg.c:1587,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1612,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1613,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1624,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1625,1
    - Dst: svg_saf_get_next_available_stream
      Src: /src/gpac/src/scene_manager/loader_svg.c:1525,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1497,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1460,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1611,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1613,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1706,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1434,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1474,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1489,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1511,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1513,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_svg.c:1582,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1568,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1555,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1553,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:1626,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:1787,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1563,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1558,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1517,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1666,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:1682,1
    - Dst: gf_dom_add_updates_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1700,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1747,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:1760,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1749,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_svg.c:1785,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1535,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1531,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1518,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1388,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1448,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1474,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_svg.c:1578,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1631,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_svg.c:1646,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/loader_svg.c:1644,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/loader_svg.c:1580,1
    - Dst: lsr_get_command_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:1671,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 443
    argCount: 5
    argNames:
    - sax_cbck
    - name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1792
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1792
    functionName: svg_node_start
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    - gf_fprintf
    - GF_LOG
    - GF_SAFEALLOC
    - svg_saf_get_next_available_stream
    - gf_node_unregister
    - gf_sg_command_del
    - gf_list_last
    - gf_odf_desc_esd_new
    - GF_4CC
    - gf_node_set_callback_function
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_odf_desc_new
    - gf_dom_add_updates_node
    - atoi
    - lsr_get_command_by_name
    - strcpy
    - gf_list_del_item
    - gf_fopen
    - gf_sg_reset
    - gf_node_list_add_child
    - gf_list_get
    - gf_sg_command_new
    - svg_parse_element
    - svg_check_namespace
    - lsr_parse_command
    - gf_odf_com_new
    - gf_free
    - gf_sm_stream_new
    - strcat
    - svg_saf_get_stream
    - svg_report
    - gf_sm_stream_au_new
    - lsr_parse_header
    - gf_fclose
    - svg_init_root_element
    linkageType: ''
    returnType: void
    signature: 'static void svg_node_start(void *sax_cbck, const char *name, const
      char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scene_manager/loader_svg.c:2231,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:2241,1
    - Dst: gf_sm_load_initialize_svg
      Src: /src/gpac/src/scene_manager/loader_svg.c:2235,1
    - Dst: load_svg_done
      Src: /src/gpac/src/scene_manager/loader_svg.c:2244,1
    - Dst: load_svg_done
      Src: /src/gpac/src/scene_manager/loader_svg.c:2251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - in_scene
    - node_str
    argTypes:
    - GF_SceneGraph*
    - char*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2253
    functionName: gf_sm_load_svg_from_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_sm_load_initialize_svg
    - memset
    - gf_node_unregister
    - load_svg_done
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_sm_load_svg_from_string(GF_SceneGraph *in_scene, char
      *node_str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - parser
    - id
    - name
    argTypes:
    - GF_SVG_Parser*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: svg_saf_get_stream
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SVG_SAFExternalStream*
    signature: 'static SVG_SAFExternalStream *svg_saf_get_stream(GF_SVG_Parser *parser,
      u32 id, const char *name) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: svg_new_parser
      Src: /src/gpac/src/scene_manager/loader_svg.c:2081,1
    - Dst: svg_new_parser
      Src: /src/gpac/src/scene_manager/loader_svg.c:2093,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/scene_manager/loader_svg.c:2085,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/scene_manager/loader_svg.c:2087,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:2087,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_svg.c:2107,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:2118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:2120,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/scene_manager/loader_svg.c:2124,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 3
    argNames:
    - load
    - str_data
    - is_fragment
    argTypes:
    - GF_SceneLoader*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2127
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2127
    functionName: gf_sm_load_initialize_svg
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_init
    - svg_report
    - svg_new_parser
    - gf_list_enum
    - gf_xml_sax_get_error
    - GF_LOG
    - gf_xml_sax_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_load_initialize_svg(GF_SceneLoader *load, const
      char *str_data, Bool is_fragment) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_svg_flush_state
      Src: /src/gpac/src/scene_manager/loader_svg.c:2161,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2164,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2166,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2163,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2165,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2168,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:2170,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:2175,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:2176,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:2179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2181
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2181
    functionName: load_svg_done
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_sm_svg_flush_state
    - gf_xml_sax_del
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void load_svg_done(GF_SceneLoader *load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_svg.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SVG_Parser*
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: svg_saf_get_next_available_stream
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: SVG_SAFExternalStream*
    signature: 'static SVG_SAFExternalStream *svg_saf_get_next_available_stream(GF_SVG_Parser
      *parser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_load_initialize_svg
      Src: /src/gpac/src/scene_manager/loader_svg.c:2137,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/scene_manager/loader_svg.c:2142,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/scene_manager/loader_svg.c:2143,1
    - Dst: svg_flush_animations
      Src: /src/gpac/src/scene_manager/loader_svg.c:2144,1
    - Dst: gf_sm_svg_flush_state
      Src: /src/gpac/src/scene_manager/loader_svg.c:2145,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:2148,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/scene_manager/loader_svg.c:2148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:2149,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/scene_manager/loader_svg.c:2149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2153
    functionName: load_svg_run
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - svg_report
    - gf_xml_sax_get_error
    - GF_LOG
    - gf_xml_sax_parse_file
    - gf_sm_load_initialize_svg
    - gf_sys_clock
    - svg_flush_animations
    - gf_sm_svg_flush_state
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_svg_run(GF_SceneLoader *load) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_load_initialize_svg
      Src: /src/gpac/src/scene_manager/loader_svg.c:2189,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:2194,1
    - Dst: svg_flush_animations
      Src: /src/gpac/src/scene_manager/loader_svg.c:2198,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/scene_manager/loader_svg.c:2194,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/scene_manager/loader_svg.c:2192,1
    - Dst: load_svg_done
      Src: /src/gpac/src/scene_manager/loader_svg.c:2201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - load
    - str
    argTypes:
    - GF_SceneLoader*
    - char*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2204
    functionName: load_svg_parse_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - load_svg_done
    - svg_report
    - gf_xml_sax_get_error
    - gf_sm_load_initialize_svg
    - svg_flush_animations
    - gf_xml_sax_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_svg_parse_string(GF_SceneLoader *load, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/loader_svg.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - par
    - is_destroy
    argTypes:
    - GF_Node*
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: xsr_exec_command_list
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_sg_command_apply_list
    linkageType: ''
    returnType: void
    signature: 'static void xsr_exec_command_list(GF_Node *node, void *par, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: svg_process_media_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:320,1
    - Dst: gf_node_store_embedded_data
      Src: /src/gpac/src/scene_manager/loader_svg.c:330,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:327,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - parser
    - elt
    - iri
    argTypes:
    - GF_SVG_Parser*
    - GF_Node*
    - XMLRI*
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: svg_post_process_href
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_store_embedded_data
    - svg_process_media_href
    - svg_report
    linkageType: ''
    returnType: void
    signature: 'static void svg_post_process_href(GF_SVG_Parser *parser, GF_Node *elt,
      XMLRI *iri) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: svg_check_namespace
      Src: /src/gpac/src/scene_manager/loader_svg.c:669,1
    - Dst: svg_init_root_element
      Src: /src/gpac/src/scene_manager/loader_svg.c:794,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:806,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:808,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:824,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:943,1
    - Dst: svg_lsr_set_v2
      Src: /src/gpac/src/scene_manager/loader_svg.c:969,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1003,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1097,1
    - Dst: svg_parse_point
      Src: /src/gpac/src/scene_manager/loader_svg.c:916,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:695,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:731,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_svg.c:747,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:930,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:901,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:852,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:665,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:1004,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1013,1
    - Dst: gf_svg_parse_element_id
      Src: /src/gpac/src/scene_manager/loader_svg.c:1025,1
    - Dst: svg_delete_deferred_anim
      Src: /src/gpac/src/scene_manager/loader_svg.c:1037,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:862,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:839,1
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/scene_manager/loader_svg.c:695,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scene_manager/loader_svg.c:813,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:957,1
    - Dst: svg_parse_animation
      Src: /src/gpac/src/scene_manager/loader_svg.c:1036,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:675,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:739,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scene_manager/loader_svg.c:809,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/scene_manager/loader_svg.c:917,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:990,1
    - Dst: gf_svg_is_animation_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:746,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:854,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:912,1
    - Dst: svg_parse_point
      Src: /src/gpac/src/scene_manager/loader_svg.c:906,1
    - Dst: gf_dom_listener_build
      Src: /src/gpac/src/scene_manager/loader_svg.c:929,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:994,1
    - Dst: gf_sg_get_namespace_code
      Src: /src/gpac/src/scene_manager/loader_svg.c:684,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:741,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:842,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1039,1
    - Dst: isdigit
      Src: /src/gpac/src/scene_manager/loader_svg.c:956,1
    - Dst: gf_xml_get_element_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:692,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:772,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:866,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1068,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1084,1
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/scene_manager/loader_svg.c:686,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:876,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/scene_manager/loader_svg.c:907,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:930,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:978,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_svg.c:1049,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:902,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:926,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:847,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:945,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:993,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:996,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1015,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1076,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:844,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:875,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:892,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:675,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:708,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:709,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:940,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_svg.c:765,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:832,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_svg.c:711,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:710,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:868,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1007,1
    - Dst: gf_node_dom_listener_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:1100,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:723,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:754,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:849,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:888,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_svg.c:931,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:934,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:911,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/scene_manager/loader_svg.c:1055,1
    - Dst: gf_svg_parse_style
      Src: /src/gpac/src/scene_manager/loader_svg.c:825,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:860,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:686,1
    - Dst: gf_svg_parse_element_id
      Src: /src/gpac/src/scene_manager/loader_svg.c:734,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_svg.c:801,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:927,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:986,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scene_manager/loader_svg.c:989,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1091,1
    - Dst: svg_post_process_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:880,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_svg.c:673,1
    - Dst: gf_svg_is_timing_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:762,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:834,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:837,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:998,1
    - Dst: svg_resolved_refs
      Src: /src/gpac/src/scene_manager/loader_svg.c:1027,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 349
    argCount: 7
    argNames:
    - parser
    - name
    - name_space
    - attributes
    - nb_attributes
    - parent
    - has_ns
    argTypes:
    - GF_SVG_Parser*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    - SVG_NodeStack*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1104
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 1104
    functionName: svg_parse_element
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_node_init
    - svg_lsr_set_v2
    - strncmp
    - gf_node_get_attribute_by_name
    - GF_LOG
    - gf_mx2d_add_scale
    - svg_parse_point
    - gf_node_new
    - gf_node_dom_listener_add
    - GF_SAFEALLOC
    - gf_xml_sax_get_line
    - gf_dom_add_text_node
    - svg_resolved_refs
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_svg_parse_element_id
    - gf_svg_parse_attribute
    - gf_node_set_private
    - gf_dom_event_type_by_name
    - svg_post_process_href
    - stricmp
    - gf_list_get
    - gf_node_get_name
    - gf_mx2d_add_translation
    - gf_svg_is_timing_tag
    - svg_delete_deferred_anim
    - gf_dom_listener_build
    - gf_node_get_attribute_by_tag
    - svg_check_namespace
    - isdigit
    - gf_svg_is_animation_tag
    - strchr
    - gf_node_register
    - gf_xml_get_element_tag
    - gf_sg_get_namespace_code
    - gf_node_list_add_child_last
    - svg_report
    - gf_svg_parse_style
    - gf_list_rem
    - gf_sg_find_node_by_name
    - svg_parse_animation
    - gf_node_dirty_set
    - svg_init_root_element
    linkageType: ''
    returnType: SVG_Element*
    signature: 'static SVG_Element *svg_parse_element(GF_SVG_Parser *parser, const
      char *name, const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes,
      SVG_NodeStack *parent, Bool *has_ns) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1314,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1316,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1317,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1315,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1318,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1319,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1320,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1321,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1322,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1323,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1324,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1325,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1327
    functionName: lsr_get_command_by_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 lsr_get_command_by_name(const char *name) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:1920,1
    - Dst: gf_dom_new_text_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1947,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1929,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1942,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:1936,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1948,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1949,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1953,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1955,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_svg.c:1957,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1992,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1992,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_svg.c:1980,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:1982,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scene_manager/loader_svg.c:1994,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 58
    argCount: 3
    argNames:
    - sax_cbck
    - text_content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1997
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1997
    functionName: svg_text_content
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - strlen
    - gf_list_get
    - gf_list_last
    - gf_node_get_tag
    - svg_report
    - gf_dom_add_text_node
    - gf_strdup
    - gf_dom_new_text_node
    - strchr
    - gf_node_register
    - gf_node_changed
    linkageType: ''
    returnType: void
    signature: 'static void svg_text_content(void *sax_cbck, const char *text_content,
      Bool is_cdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:2044,1
    - Dst: svg_parse_animation
      Src: /src/gpac/src/scene_manager/loader_svg.c:2046,1
    - Dst: svg_delete_deferred_anim
      Src: /src/gpac/src/scene_manager/loader_svg.c:2047,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:2045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SVG_Parser*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2049
    functionName: svg_flush_animations
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - svg_delete_deferred_anim
    - svg_parse_animation
    linkageType: ''
    returnType: void
    signature: 'static void svg_flush_animations(GF_SVG_Parser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/scene_manager/loader_svg.c:2209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - load
    - suspend
    argTypes:
    - GF_SceneLoader*
    - Bool
    constantsTouched: []
    func_position:
      end: 2211
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2211
    functionName: load_svg_suspend
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_suspend
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err load_svg_suspend(GF_SceneLoader *load, Bool suspend) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:292,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:298,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:295,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:298,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_svg.c:297,1
    - Dst: gf_xml_sax_peek_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:300,1
    - Dst: gf_xml_get_element_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:303,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:304,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:306,1
    - Dst: gf_svg_parse_element_id
      Src: /src/gpac/src/scene_manager/loader_svg.c:309,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_svg.c:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - parser
    - ID
    argTypes:
    - GF_SVG_Parser*
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 313
    functionName: svg_find_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_peek_node
    - gf_list_add
    - gf_node_get_name
    - gf_list_get
    - gf_list_count
    - strcmp
    - gf_svg_parse_element_id
    - gf_node_new
    - gf_sg_find_node_by_name
    - gf_free
    - gf_xml_get_element_tag
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *svg_find_node(GF_SVG_Parser *parser, char *ID) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_svg.c:337,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:340,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:341,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:339,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:343,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:344,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:345,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - anim
    - deferred_animations
    argTypes:
    - SVG_DeferredAnimation*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: svg_delete_deferred_anim
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_node_unregister
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void svg_delete_deferred_anim(SVG_DeferredAnimation *anim,
      GF_List *deferred_animations) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1131,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1139,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:1147,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1155,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1172,1
    - Dst: svg_find_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1175,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1179,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1185,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1187,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1198,1
    - Dst: svg_process_media_href
      Src: /src/gpac/src/scene_manager/loader_svg.c:1242,1
    - Dst: svg_find_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1282,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/loader_svg.c:1302,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1278,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:1286,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/loader_svg.c:1303,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1228,1
    - Dst: gf_dom_get_key_type
      Src: /src/gpac/src/scene_manager/loader_svg.c:1290,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1199,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1257,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1292,1
    - Dst: svg_find_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1260,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1275,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1134,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1132,1
    - Dst: svg_find_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:1138,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1166,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1168,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1148,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1172,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scene_manager/loader_svg.c:1193,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1203,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:1227,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/scene_manager/loader_svg.c:1240,1
    - Dst: gf_xml_get_attribute_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1247,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1261,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1283,1
    - Dst: svg_parse_point
      Src: /src/gpac/src/scene_manager/loader_svg.c:1301,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1274,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1231,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1272,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1132,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1141,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1158,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1167,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1169,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1174,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1178,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1182,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_svg.c:1194,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1198,1
    - Dst: gf_xml_get_attribute_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:1213,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1262,1
    - Dst: svg_lsr_set_v2
      Src: /src/gpac/src/scene_manager/loader_svg.c:1265,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1249,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1279,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1130,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1142,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1170,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1176,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1186,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1191,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1198,1
    - Dst: gf_xml_get_attribute_type
      Src: /src/gpac/src/scene_manager/loader_svg.c:1214,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:1230,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_svg.c:1245,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1271,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:1284,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:1213,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1297,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1255,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1273,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/scene_manager/loader_svg.c:1238,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 228
    argCount: 3
    argNames:
    - parser
    - attributes
    - nb_attributes
    argTypes:
    - GF_SVG_Parser*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1309
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1309
    functionName: lsr_parse_command
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - svg_lsr_set_v2
    - gf_node_get_attribute_by_name
    - svg_parse_point
    - gf_sg_command_field_new
    - svg_process_media_href
    - gf_svg_create_attribute_value
    - gf_strdup
    - gf_xml_get_attribute_type
    - strcmp
    - gf_svg_parse_attribute
    - atoi
    - gf_node_get_id
    - gf_dom_event_type_by_name
    - gf_dom_get_key_type
    - strchr
    - gf_node_register
    - svg_report
    - gf_sg_find_node_by_name
    - gf_xml_get_attribute_tag
    - FIX2INT
    - svg_find_node
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsr_parse_command(GF_SVG_Parser *parser, const GF_XMLAttribute
      *attributes, u32 nb_attributes) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1332,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1342,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1342,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1345,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1337,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1339,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1339,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1343,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1343,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1344,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1350,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1338,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:1334,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1337,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1338,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1340,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1340,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1344,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1345,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1346,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1346,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1341,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1344,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1341,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1345,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:1347,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_svg.c:1347,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_svg.c:1351,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 5
    argNames:
    - parser
    - name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - GF_SVG_Parser*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1359
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1359
    functionName: lsr_parse_header
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_esd_new
    - strcmp
    - gf_odf_desc_new
    - gf_odf_desc_del
    - atoi
    linkageType: ''
    returnType: GF_ESD*
    signature: 'static GF_ESD *lsr_parse_header(GF_SVG_Parser *parser, const char
      *name, const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_svg.c:2013,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2020,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2017,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2019,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2018,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2021,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/scene_manager/loader_svg.c:2023,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scene_manager/loader_svg.c:2029,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/loader_svg.c:2033,1
    - Dst: svg_report
      Src: /src/gpac/src/scene_manager/loader_svg.c:2034,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2039
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2039
    functionName: svg_new_parser
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - svg_report
    - gf_sg_add_namespace
    - GF_SAFEALLOC
    - gf_list_new
    - gf_xml_sax_new
    linkageType: ''
    returnType: GF_SVG_Parser*
    signature: 'static GF_SVG_Parser *svg_new_parser(GF_SceneLoader *load) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:2053,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:2055,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_svg.c:2060,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:2054,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_svg.c:2056,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:2061,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_svg.c:2062,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_svg.c:2064,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_svg.c:2065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_SVG_Parser*
    constantsTouched: []
    func_position:
      end: 2067
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2067
    functionName: gf_sm_svg_flush_state
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_list_count
    - gf_free
    - gf_node_register
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_svg_flush_state(GF_SVG_Parser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 2223
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2223
    functionName: gf_sm_load_init_svg
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_svg(GF_SceneLoader *load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/loader_svg.c:130,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/loader_svg.c:134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_svg.c:136,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/loader_svg.c:133,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/loader_svg.c:135,1
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/scene_manager/loader_svg.c:136,1
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/scene_manager/loader_svg.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - parser
    - e
    - format
    - '...'
    argTypes:
    - GF_SVG_Parser*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 144
    functionName: svg_report
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_xml_sax_suspend
    - gf_log_tool_level_on
    - gf_xml_sax_get_line
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svg_report(GF_SVG_Parser *parser, GF_Err e, char *format,
      ...) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:597,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/scene_manager/loader_svg.c:603,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/loader_svg.c:602,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/loader_svg.c:598,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/loader_svg.c:601,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_svg.c:611,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/scene_manager/loader_svg.c:615,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - parser
    - root_svg
    argTypes:
    - GF_SVG_Parser*
    - SVG_Element*
    constantsTouched: []
    func_position:
      end: 617
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 617
    functionName: svg_init_root_element
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_sg_set_root_node
    - gf_node_get_attribute_by_tag
    - FIX2INT
    - gf_assert
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: void
    signature: 'static void svg_init_root_element(GF_SVG_Parser *parser, SVG_Element
      *root_svg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/loader_svg.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - cbk
    - done
    - total
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: svg_progress
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - gf_set_progress
    linkageType: ''
    returnType: void
    signature: 'static void svg_progress(void *cbk, u64 done, u64 total) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_svg.c:627,1
    - Dst: gf_sg_get_namespace_code_from_name
      Src: /src/gpac/src/scene_manager/loader_svg.c:639,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_svg.c:628,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/scene_manager/loader_svg.c:635,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_svg.c:630,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - parser
    - attributes
    - nb_attributes
    - has_ns
    argTypes:
    - GF_SVG_Parser*
    - GF_XMLAttribute*
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 645
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 645
    functionName: svg_check_namespace
    functionSourceFile: /src/gpac/src/scene_manager/loader_svg.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_sg_add_namespace
    - strchr
    - gf_sg_get_namespace_code_from_name
    linkageType: ''
    returnType: void
    signature: 'static void svg_check_namespace(GF_SVG_Parser *parser, const GF_XMLAttribute
      *attributes, u32 nb_attributes, Bool *has_ns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/loader_qt.c:39,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/loader_qt.c:44,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/loader_qt.c:43,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_qt.c:45,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/loader_qt.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - load
    - e
    - format
    - '...'
    argTypes:
    - GF_SceneLoader*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: gf_qtvr_report
    functionSourceFile: /src/gpac/src/scene_manager/loader_qt.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_qtvr_report(GF_SceneLoader *load, GF_Err e, char
      *format, ...) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_open
      Src: /src/gpac/src/scene_manager/loader_qt.c:70,1
    - Dst: gf_qtvr_report
      Src: /src/gpac/src/scene_manager/loader_qt.c:100,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/loader_qt.c:103,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:117,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/loader_qt.c:107,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_qt.c:127,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:131,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_qt.c:143,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:151,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:152,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:142,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:160,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_qt.c:174,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:167,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_qt.c:153,1
    - Dst: gf_qtvr_report
      Src: /src/gpac/src/scene_manager/loader_qt.c:104,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_qt.c:118,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:120,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_qt.c:111,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:119,1
    - Dst: gf_qtvr_report
      Src: /src/gpac/src/scene_manager/loader_qt.c:108,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:121,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_qt.c:126,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:133,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:137,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/scene_manager/loader_qt.c:176,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_qt.c:173,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/loader_qt.c:183,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_qt.c:180,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/loader_qt.c:181,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/scene_manager/loader_qt.c:78,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/scene_manager/loader_qt.c:77,1
    - Dst: gf_qtvr_report
      Src: /src/gpac/src/scene_manager/loader_qt.c:113,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_qt.c:122,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:125,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:135,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:139,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:146,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_qt.c:147,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_qt.c:168,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/loader_qt.c:177,1
    - Dst: gf_qtvr_report
      Src: /src/gpac/src/scene_manager/loader_qt.c:71,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/scene_manager/loader_qt.c:82,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/scene_manager/loader_qt.c:84,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/loader_qt.c:89,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/loader_qt.c:99,1
    - Dst: gf_sg_vrml_mf_alloc
      Src: /src/gpac/src/scene_manager/loader_qt.c:129,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_qt.c:144,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/loader_qt.c:145,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:150,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/loader_qt.c:162,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_qt.c:171,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/loader_qt.c:178,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_qt.c:170,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 126
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 185
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 185
    functionName: gf_sm_load_init_qt
    functionSourceFile: /src/gpac/src/scene_manager/loader_qt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_node_new
    - gf_fwrite
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_odf_desc_esd_new
    - gf_strdup
    - gf_sg_vrml_mf_reset
    - gf_odf_desc_new
    - gf_isom_get_track_count
    - gf_fopen
    - gf_node_list_add_child
    - gf_sg_command_new
    - sprintf
    - gf_odf_com_new
    - gf_sg_vrml_mf_alloc
    - gf_node_register
    - gf_isom_delete
    - gf_isom_get_sample_count
    - gf_isom_sample_del
    - gf_isom_get_visual_info
    - gf_sm_stream_new
    - gf_qtvr_report
    - gf_sm_stream_au_new
    - gf_isom_open
    - gf_isom_get_sample
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_qt(GF_SceneLoader *load) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:246,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:247,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:249,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:247,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:246,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:252,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:262,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:270,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:271,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:282,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:285,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:279,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:283,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scene_manager/loader_xmt.c:275,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:275,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:286,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - parser
    - name
    - url
    argTypes:
    - GF_XMTParser*
    - char*
    - MFURL*
    constantsTouched: []
    func_position:
      end: 287
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 287
    functionName: xmt_new_od_link_from_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - sscanf
    - gf_list_enum
    - gf_strdup
    - sprintf
    - strcmp
    - atoi
    - GF_SAFEALLOC
    - strnicmp
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void xmt_new_od_link_from_node(GF_XMTParser *parser, char *name,
      MFURL *url) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:618,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_xmt.c:633,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:624,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:634,1
    - Dst: xmt_remove_link_for_descriptor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:619,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:635,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:636,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:642,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_xmt.c:651,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:652,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:653,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 37
    argCount: 2
    argNames:
    - parser
    - desc
    argTypes:
    - GF_XMTParser*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 656
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 656
    functionName: xmt_remove_link_for_descriptor
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_enum
    - xmt_remove_link_for_descriptor
    - gf_free
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void xmt_remove_link_for_descriptor(GF_XMTParser* parser, GF_Descriptor*
      desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/gpac/src/scene_manager/loader_xmt.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - parser
    - name
    - val
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFTime*
    - char*
    constantsTouched: []
    func_position:
      end: 800
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 800
    functionName: xmt_parse_time
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - atof
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_time(GF_XMTParser *parser, const char *name,
      SFTime *val, char *a_value) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:838,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:824,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:839,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:865,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:858,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:858,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:851,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:865,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:838,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:839,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:841,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:844,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:847,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:871,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:873,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:874,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:845,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:873,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:823,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:826,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:840,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:853,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:855,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:855,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:869,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 5
    argNames:
    - parser
    - name
    - val
    - is_mf
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFString*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 876
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 876
    functionName: xmt_parse_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_strdup
    - strcpy
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_string(GF_XMTParser *parser, const char *name,
      SFString *val, Bool is_mf, char *a_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1114,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1117,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1118,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - parser
    - name
    - del_com
    argTypes:
    - GF_XMTParser*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1124
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1124
    functionName: xmt_get_route
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    - gf_list_rem
    - gf_sg_route_find_by_name
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_route(GF_XMTParser *parser, char *name, Bool del_com) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1186,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1188,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1237,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1255,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1257,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1261,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1189,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1194,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1196,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1202,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1212,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1229,1
    - Dst: xmt_get_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1235,1
    - Dst: xmt_route_id_used
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1240,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1190,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1223,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1224,1
    - Dst: xmt_get_next_route_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1243,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1249,1
    - Dst: gf_sg_set_max_defined_route_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1251,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1187,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1191,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1200,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1216,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1218,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1222,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1234,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1205,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1263,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1264,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 104
    argCount: 5
    argNames:
    - parser
    - attributes
    - nb_attributes
    - is_insert
    - com
    argTypes:
    - GF_XMTParser*
    - GF_XMLAttribute*
    - u32
    - Bool
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1266
    functionName: xmt_parse_route
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - xmt_get_route
    - gf_node_get_field_by_name
    - gf_sg_route_set_id
    - gf_strdup
    - xmt_report
    - strcmp
    - gf_sg_route_set_name
    - xmt_route_id_used
    - xmt_get_next_route_id
    - gf_sg_route_new
    - xmt_find_node
    - atoi
    - gf_node_get_id
    - strnicmp
    - gf_sg_set_max_defined_route_id
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void xmt_parse_route(GF_XMTParser *parser, const GF_XMLAttribute
      *attributes, u32 nb_attributes, Bool is_insert, GF_Command *com) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2617,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2619,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2621,1
    - Dst: xmt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2630,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2631,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2635,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2601,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2606,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2647,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2645,1
    - Dst: xmt_parse_command
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2668,1
    - Dst: xmt_parse_element
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2680,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2656,1
    - Dst: xmt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2665,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2666,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2653,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2682,1
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2593,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2602,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2604,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2629,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2664,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2677,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2686,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2691,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 119
    argCount: 5
    argNames:
    - sax_cbck
    - name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 2693
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2693
    functionName: xmt_node_start
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_last
    - gf_node_register
    - strcmp
    - xmt_parse_descriptor
    - xmt_parse_element
    - gf_xml_sax_suspend
    - GF_SAFEALLOC
    - gf_list_new
    - gf_sg_set_scene_size_info
    - xmt_parse_command
    linkageType: ''
    returnType: void
    signature: 'static void xmt_node_start(void *sax_cbck, const char *name, const
      char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_xmt_initialize
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3201,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3207,1
    - Dst: xmt_resolve_od_links
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3211,1
    - Dst: xmt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3210,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3214,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3217
    functionName: load_xmt_run
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_resolve_od_links
    - gf_xml_sax_get_error
    - xmt_resolve_routes
    - xmt_report
    - gf_xml_sax_parse_file
    - load_xmt_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err load_xmt_run(GF_SceneLoader *load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/loader_xmt.c:142,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/loader_xmt.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:148,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/loader_xmt.c:145,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:146,1
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/scene_manager/loader_xmt.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - parser
    - e
    - format
    - '...'
    argTypes:
    - GF_XMTParser*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: xmt_report
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - gf_xml_sax_get_line
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xmt_report(GF_XMTParser *parser, GF_Err e, char *format,
      ...) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:294,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:315,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:297,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:305,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:316,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:316,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:320,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:326,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:326,1
    - Dst: xmt_esid_available
      Src: /src/gpac/src/scene_manager/loader_xmt.c:331,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:335,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:327,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 4
    argNames:
    - parser
    - esd
    - desc_name
    - binID
    argTypes:
    - GF_XMTParser*
    - GF_ESD*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 336
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 336
    functionName: xmt_new_esd_link
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_esid_available
    - gf_list_add
    - gf_list_enum
    - gf_strdup
    - strcmp
    - atoi
    - GF_SAFEALLOC
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'static void xmt_new_esd_link(GF_XMTParser *parser, GF_ESD *esd, char
      *desc_name, u32 binID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_xmt.c:663,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_XMTParser*
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: xmt_get_next_node_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_node_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_next_node_id(GF_XMTParser *parser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 1
    argCount: 4
    argNames:
    - parser
    - name
    - val
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFBool*
    - char*
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: xmt_parse_bool
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_bool(GF_XMTParser *parser, const char *name,
      SFBool *val, char *a_value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmt_parse_string
      Src: /src/gpac/src/scene_manager/loader_xmt.c:886,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:894,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:890,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:901,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:902,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:906,1
    - Dst: xmt_new_od_link_from_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:907,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:908,1
    - Dst: xmt_new_od_link_from_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:909,1
    - Dst: xmt_new_od_link_from_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:911,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 6
    argNames:
    - parser
    - name
    - val
    - owner
    - is_mf
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - MFURL*
    - GF_Node*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 913
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 913
    functionName: xmt_parse_url
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strnicmp
    - xmt_parse_string
    - xmt_new_od_link_from_node
    - strcpy
    - gf_assert
    - strstr
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_url(GF_XMTParser *parser, const char *name, MFURL
      *val, GF_Node *owner, Bool is_mf, char *a_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1130,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - ID
    argTypes:
    - GF_XMTParser*
    - u32
    constantsTouched: []
    func_position:
      end: 1137
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1137
    functionName: xmt_route_id_used
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_route_find
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xmt_route_id_used(GF_XMTParser *parser, u32 ID) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1273,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1275,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1276,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1279,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1280,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1283,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1284,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1287,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1288,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1291,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1302,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1304,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1296,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1295,1
    - Dst: xmt_check_time_offset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1306,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1292,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - parser
    - node
    argTypes:
    - GF_XMTParser*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1311
    functionName: xmt_update_timenode
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - xmt_check_time_offset
    - gf_node_get_field
    - xmt_offset_time
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: void
    signature: 'static void xmt_update_timenode(GF_XMTParser *parser, GF_Node *node) '
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2726,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2739,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2753,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2759,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2819,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2880,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2895,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2993,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2734,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2767,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2775,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2794,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2908,1
    - Dst: xmt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2851,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2967,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2982,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3011,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3027,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3034,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2891,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2834,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2749,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2755,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2929,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3009,1
    - Dst: gf_sg_proto_add_node_code
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2923,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2771,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2813,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3010,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2771,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2788,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2820,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2887,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2976,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3042,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2891,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2761,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2786,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2796,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2825,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2866,1
    - Dst: gf_odf_get_tag_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2709,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2708,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2756,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2771,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2779,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2820,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2898,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2942,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2991,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3041,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2719,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2714,1
    - Dst: xmt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2752,1
    - Dst: xmt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2781,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2944,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3049,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2770,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2804,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2924,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2821,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3007,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3047,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2846,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2704,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2779,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2839,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2866,1
    - Dst: gf_sg_proto_add_node_code
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2990,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2996,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3046,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2838,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2927,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2799,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2821,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2950,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2889,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2880,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2904,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2754,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2836,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3049,1
    - Dst: xmt_remove_link_for_descriptor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2728,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2729,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2854,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2888,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2917,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2960,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2965,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2980,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2995,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3032,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2896,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2792,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2819,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2799,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2905,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2799,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2957,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3028,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2832,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2747,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2866,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2841,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2930,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2720,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2931,1
    - Dst: gf_sg_proto_add_node_code
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2975,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2997,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 393
    argCount: 3
    argNames:
    - sax_cbck
    - name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3051
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 3051
    functionName: xmt_node_end
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_init
    - gf_sg_proto_add_node_code
    - GF_LOG
    - gf_node_new
    - gf_sg_command_field_new
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - xmt_remove_link_for_descriptor
    - gf_node_unregister
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_node_get_class_name
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_sg_set_root_node
    - gf_list_rem_last
    - gf_node_list_add_child
    - gf_odf_get_tag_by_name
    - gf_free
    - gf_node_register
    - gf_sm_stream_new
    - xmt_resolve_routes
    - gf_sg_get_root_node
    - xmt_report
    - gf_sg_script_load
    - xmt_get_node_tag
    linkageType: ''
    returnType: void
    signature: 'static void xmt_node_end(void *sax_cbck, const char *name, const char
      *name_space) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_xmt_initialize
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3224,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3226,1
    - Dst: xmt_resolve_od_links
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3230,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3233,1
    - Dst: xmt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3229,1
    - Dst: gf_xml_sax_get_error
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - load
    - str
    argTypes:
    - GF_SceneLoader*
    - char*
    constantsTouched: []
    func_position:
      end: 3235
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3235
    functionName: load_xmt_parse_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_resolve_od_links
    - gf_xml_sax_get_error
    - xmt_resolve_routes
    - xmt_report
    - gf_xml_sax_parse
    - load_xmt_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err load_xmt_parse_string(GF_SceneLoader *load, const char
      *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_xmt_initialize
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3287
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3287
    functionName: gf_sm_load_init_xmt
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - load_xmt_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_xmt(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - ESID
    argTypes:
    - GF_XMTParser*
    - u16
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: xmt_get_es_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: char*
    signature: 'static char *xmt_get_es_name(GF_XMTParser *parser, u16 ESID) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1066,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1070,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1068,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1078,1
    - Dst: xmt_parse_string
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1083,1
    - Dst: xmt_parse_url
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1085,1
    - Dst: xmt_parse_script
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1087,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1089,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - parser
    - info
    - n
    - value
    argTypes:
    - GF_XMTParser*
    - GF_FieldInfo*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1097
    functionName: xmt_parse_mf_field
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - xmt_parse_sf_field
    - xmt_parse_url
    - xmt_parse_string
    - xmt_parse_script
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void xmt_parse_mf_field(GF_XMTParser *parser, GF_FieldInfo
      *info, GF_Node *n, char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1434,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1437,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1435,1
    - Dst: xmt_get_next_proto_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1441,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1438,1
    - Dst: gf_sg_proto_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1442,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1443,1
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1449,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1455,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - parser
    - attributes
    - nb_attributes
    - proto_list
    argTypes:
    - GF_XMTParser*
    - GF_XMLAttribute*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1457
    functionName: xmt_parse_proto
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - xmt_get_next_proto_id
    - gf_sg_proto_get_graph
    - strcmp
    - xmt_parse_mf_field
    - gf_sg_proto_new
    linkageType: ''
    returnType: void
    signature: 'static void xmt_parse_proto(GF_XMTParser *parser, const GF_XMLAttribute
      *attributes, u32 nb_attributes, GF_List *proto_list) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:186,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:186,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:189,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:200,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:205,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:216,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:202,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:221,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:232,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:235,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:236,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:192,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:220,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:229,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:208,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:212,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:187,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:187,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:191,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:222,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 4
    argNames:
    - parser
    - od
    - name
    - ID
    argTypes:
    - GF_XMTParser*
    - GF_ObjectDescriptor*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 237
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 237
    functionName: xmt_new_od_link
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - sscanf
    - gf_list_count
    - gf_strdup
    - sprintf
    - strcmp
    - xmt_report
    - gf_list_rem
    - atoi
    - GF_SAFEALLOC
    - strnicmp
    - gf_list_new
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xmt_new_od_link(GF_XMTParser *parser, GF_ObjectDescriptor
      *od, char *name, u32 ID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1102,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1104,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - parser
    - node_name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: xmt_has_been_def
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    - gf_node_get_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xmt_has_been_def(GF_XMTParser *parser, char *node_name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1464,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1463,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1465,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1462,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1466,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1467,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1468,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1469,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1470,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1472,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1473,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1474,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1471,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - QP_Type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1477
    functionName: xmt_get_protofield_qp_type
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_protofield_qp_type(const char *QP_Type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3059,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3065,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3078,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3077,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3069,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3079,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 17
    argCount: 3
    argNames:
    - sax_cbck
    - text_content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3085
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3085
    functionName: xmt_text_content
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_last
    - gf_node_get_tag
    - gf_strdup
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    linkageType: ''
    returnType: void
    signature: 'static void xmt_text_content(void *sax_cbck, const char *text_content,
      Bool is_cdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:344,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:349,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - parser
    - desc
    - es_name
    - is_ocr_dep
    argTypes:
    - GF_XMTParser*
    - GF_ESD*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: xmt_set_depend_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_strdup
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xmt_set_depend_id(GF_XMTParser *parser, GF_ESD *desc,
      char *es_name, Bool is_ocr_dep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - parser
    - ODID
    argTypes:
    - GF_XMTParser*
    - u16
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: xmt_odid_available
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xmt_odid_available(GF_XMTParser *parser, u16 ODID) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:673,1
    - Dst: xmt_get_next_node_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:693,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:684,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:677,1
    - Dst: gf_xml_sax_get_line
      Src: /src/gpac/src/scene_manager/loader_xmt.c:693,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:693,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 696
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 696
    functionName: xmt_get_node_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - sscanf
    - gf_sg_find_node
    - GF_LOG
    - xmt_get_next_node_id
    - strchr
    - gf_xml_sax_get_line
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_node_id(GF_XMTParser *parser, char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:725,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:730,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:731,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:728,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:731,1
    - Dst: gf_xml_sax_peek_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:733,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:741,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:747,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:748,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/loader_xmt.c:751,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_xmt.c:760,1
    - Dst: xmt_get_node_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:758,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:761,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:759,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:754,1
    - Dst: xmt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:753,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:756,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 2
    argNames:
    - parser
    - ID
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 764
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 764
    functionName: xmt_find_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_peek_node
    - gf_list_add
    - gf_node_get_name
    - gf_list_get
    - gf_sg_proto_create_instance
    - gf_node_init
    - gf_list_count
    - xmt_report
    - strcmp
    - xmt_get_node_tag
    - gf_node_set_id
    - gf_node_new
    - gf_sg_find_node_by_name
    - gf_free
    - xmt_get_node_id
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *xmt_find_node(GF_XMTParser *parser, char *ID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmt_parse_string
      Src: /src/gpac/src/scene_manager/loader_xmt.c:923,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - parser
    - name
    - val
    - is_mf
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFScript*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: xmt_parse_script
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_parse_string
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_script(GF_XMTParser *parser, const char *name,
      SFScript *val, Bool is_mf, char *a_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1142,1
    - Dst: gf_sg_get_next_available_route_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_XMTParser*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1148
    functionName: xmt_get_next_route_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_route_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_next_route_id(GF_XMTParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmt_strip_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1361,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1364,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1363,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1363,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1364,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1365,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1367
    functionName: xmt_get_script_et_by_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_strip_name
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_script_et_by_name(const char *_name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1391,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1392,1
    - Dst: xmt_get_ft_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1393,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1394,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1393,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1394,1
    - Dst: xmt_get_script_et_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1394,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1395,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1395,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1397,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1408,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1400,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1404,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1406,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1405,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - parser
    - node
    - attributes
    - nb_attributes
    argTypes:
    - GF_XMTParser*
    - GF_Node*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 1411
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1411
    functionName: xmt_parse_script_field
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - xmt_parse_sf_field
    - gf_node_get_field_by_name
    - xmt_report
    - strcmp
    - xmt_get_ft_by_name
    - gf_sg_vrml_is_sf_field
    - xmt_get_script_et_by_name
    - xmt_parse_mf_field
    - gf_sg_script_field_new
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void xmt_parse_script_field(GF_XMTParser *parser, GF_Node *node,
      const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:360,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:365,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - parser
    - od_name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: xmt_get_od_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_od_id(GF_XMTParser *parser, char *od_name) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:438,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:444,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:457,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:490,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:472,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:482,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:505,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:515,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:521,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:524,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:589,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:566,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:442,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:467,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:500,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:504,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:471,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:522,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:525,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:561,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:574,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:585,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:601,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:552,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:558,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:537,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:591,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:440,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:484,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:517,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:523,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:543,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:554,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:555,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:572,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:580,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:588,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:599,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:587,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:600,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:559,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:602,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:443,1
    - Dst: xmt_esid_available
      Src: /src/gpac/src/scene_manager/loader_xmt.c:450,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:466,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:468,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:501,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:499,1
    - Dst: xmt_odid_available
      Src: /src/gpac/src/scene_manager/loader_xmt.c:532,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:553,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:560,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:567,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:529,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 158
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_XMTParser*
    constantsTouched: []
    func_position:
      end: 604
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 604
    functionName: xmt_resolve_od_links
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_esid_available
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_enum
    - gf_list_count
    - xmt_report
    - sprintf
    - strcmp
    - gf_strdup
    - xmt_odid_available
    - gf_list_rem
    - atoi
    - gf_free
    - stricmp
    - gf_assert
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void xmt_resolve_od_links(GF_XMTParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:704,1
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:712,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:707,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - node_name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: xmt_get_node_tag
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_node_mpeg4_type_by_class_name
    - gf_node_x3d_type_by_class_name
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_node_tag(GF_XMTParser *parser, const char *node_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - time
    argTypes:
    - GF_XMTParser*
    - Double*
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: xmt_offset_time
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void xmt_offset_time(GF_XMTParser *parser, Double *time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1154,1
    - Dst: xmt_get_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1160,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1162,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1156,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1166,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1171,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_XMTParser*
    constantsTouched: []
    func_position:
      end: 1172
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1172
    functionName: xmt_resolve_routes
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - xmt_get_route
    - gf_list_count
    - xmt_report
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xmt_resolve_routes(GF_XMTParser *parser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmt_strip_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1371,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1374,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1373,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1374,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1373,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1375,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1375,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1376,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1378
    functionName: xmt_get_et_by_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_strip_name
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_et_by_name(const char *_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1417,1
    - Dst: gf_sg_get_next_available_proto_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_XMTParser*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: xmt_get_next_proto_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_proto_id
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_next_proto_id(GF_XMTParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3092,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3096,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3097,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3095,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3098,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3099,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3100,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3101,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3102,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3110
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3110
    functionName: xmt_new_parser
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - gf_xml_sax_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_XMTParser*
    signature: 'static GF_XMTParser *xmt_new_parser(GF_SceneLoader *load) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3246,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3251,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3253,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3265,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3254,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3255,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3245,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3250,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3261,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3262,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3266,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3263,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3264,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3259,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3243,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3248,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3258,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3257,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3269
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3269
    functionName: load_xmt_done
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_get
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_odf_desc_del
    - gf_xml_sax_del
    - gf_free
    - gf_node_register
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void load_xmt_done(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - load
    - suspend
    argTypes:
    - GF_SceneLoader*
    - Bool
    constantsTouched: []
    func_position:
      end: 3276
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3276
    functionName: load_xmt_suspend
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_suspend
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err load_xmt_suspend(GF_SceneLoader *load, Bool suspend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/loader_xmt.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cbk
    - done
    - total
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: xmt_progress
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_set_progress
    linkageType: ''
    returnType: void
    signature: 'static void xmt_progress(void *cbk, u64 done, u64 total) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:374,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:377,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - parser
    - esd_name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 382
    functionName: xmt_get_esd_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_esd_id(GF_XMTParser *parser, char *esd_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - parser
    - name
    - val
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFInt32*
    - char*
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: xmt_parse_int
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - atoi
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_int(GF_XMTParser *parser, const char *name, SFInt32
      *val, char *a_value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:939,1
    - Dst: gf_sg_proto_field_is_sftime_offset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:942,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:941,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:940,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:940,1
    - Dst: xmt_offset_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - n
    - info
    argTypes:
    - GF_XMTParser*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 945
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 945
    functionName: xmt_check_time_offset
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_field_is_sftime_offset
    - stricmp
    - gf_node_get_tag
    - xmt_offset_time
    linkageType: ''
    returnType: void
    signature: 'static void xmt_check_time_offset(GF_XMTParser *parser, GF_Node *n,
      GF_FieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1316,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1317,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: xmt_strip_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void xmt_strip_name(const char *in, char *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1482,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1485,1
    - Dst: gf_node_in_table
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - par
    - n
    - info
    argTypes:
    - GF_Node*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1491
    functionName: x3d_get_default_container
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_node_in_table
    - gf_node_get_field
    - gf_node_get_field_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err x3d_get_default_container(GF_Node *par, GF_Node *n,
      GF_FieldInfo *info) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1968,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1974,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1978,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1986,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2009,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2012,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2016,1
    - Dst: xmt_new_od_link
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2027,1
    - Dst: xmt_set_depend_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2032,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2049,1
    - Dst: gf_odf_get_tag_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1959,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1967,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1969,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1973,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2009,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1991,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2008,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2013,1
    - Dst: gf_odf_set_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2015,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2018,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2075,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1966,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1982,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1990,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2010,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2002,1
    - Dst: xmt_new_esd_link
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2029,1
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2047,1
    - Dst: xmt_remove_link_for_descriptor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2050,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2051,1
    - Dst: xmt_get_es_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2074,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2011,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2018,1
    - Dst: xmt_set_depend_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2033,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2068,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2021,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 142
    argCount: 5
    argNames:
    - parser
    - name
    - attributes
    - nb_attributes
    - parent
    argTypes:
    - GF_XMTParser*
    - char*
    - GF_XMLAttribute*
    - u32
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 2083
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 2083
    functionName: xmt_parse_descriptor
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sm_stream_new
    - gf_odf_desc_add_desc
    - xmt_get_es_name
    - gf_strdup
    - xmt_report
    - strcmp
    - xmt_new_esd_link
    - gf_odf_get_tag_by_name
    - gf_odf_desc_new
    - xmt_new_od_link
    - atoi
    - gf_odf_desc_del
    - stricmp
    - xmt_remove_link_for_descriptor
    - xmt_set_depend_id
    - gf_odf_set_field
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *xmt_parse_descriptor(GF_XMTParser *parser, char *name,
      const GF_XMLAttribute *attributes, u32 nb_attributes, GF_Descriptor *parent) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3121,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3149
    functionName: xmt_restore_context
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sm_stream_new
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xmt_restore_context(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - ESID
    argTypes:
    - GF_XMTParser*
    - u16
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: xmt_esid_available
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool xmt_esid_available(GF_XMTParser *parser, u16 ESID) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:390,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:393,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:391,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:395,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:394,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:396,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_xmt.c:402,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:403,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:404,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:405,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:410,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:409,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:412,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:412,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:414,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:413,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - parser
    - stream_name
    argTypes:
    - GF_XMTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 416
    functionName: xmt_locate_stream
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memset
    - gf_list_enum
    - gf_strdup
    - sprintf
    - strcmp
    - atoi
    - strnicmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_locate_stream(GF_XMTParser *parser, char *stream_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/loader_xmt.c:792,1
    - Dst: atof
      Src: /src/gpac/src/scene_manager/loader_xmt.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - parser
    - name
    - val
    - a_value
    argTypes:
    - GF_XMTParser*
    - char*
    - SFFloat*
    - char*
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: xmt_parse_float
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - atof
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_float(GF_XMTParser *parser, const char *name,
      SFFloat *val, char *a_value) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: xmt_parse_int
      Src: /src/gpac/src/scene_manager/loader_xmt.c:952,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:965,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:970,1
    - Dst: xmt_parse_int
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1013,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:958,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:966,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:971,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:976,1
    - Dst: xmt_parse_string
      Src: /src/gpac/src/scene_manager/loader_xmt.c:985,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1017,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1024,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:979,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:974,1
    - Dst: xmt_parse_script
      Src: /src/gpac/src/scene_manager/loader_xmt.c:991,1
    - Dst: xmt_parse_int
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1011,1
    - Dst: xmt_check_time_offset
      Src: /src/gpac/src/scene_manager/loader_xmt.c:962,1
    - Dst: xmt_parse_time
      Src: /src/gpac/src/scene_manager/loader_xmt.c:961,1
    - Dst: xmt_parse_bool
      Src: /src/gpac/src/scene_manager/loader_xmt.c:955,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:967,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:975,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:980,1
    - Dst: gf_sm_update_bitwrapper_buffer
      Src: /src/gpac/src/scene_manager/loader_xmt.c:987,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:981,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:982,1
    - Dst: xmt_parse_int
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1009,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1018,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 4
    argNames:
    - parser
    - info
    - n
    - a_value
    argTypes:
    - GF_XMTParser*
    - GF_FieldInfo*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 1060
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1060
    functionName: xmt_parse_sf_field
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - xmt_parse_int
    - xmt_check_time_offset
    - gf_sm_update_bitwrapper_buffer
    - sscanf
    - xmt_parse_string
    - xmt_parse_script
    - gf_free
    - xmt_parse_bool
    - xmt_parse_time
    - xmt_parse_float
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_parse_sf_field(GF_XMTParser *parser, GF_FieldInfo *info,
      GF_Node *n, char *a_value) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1325,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1328,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1329,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1332,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1334,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1335,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1338,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1339,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1342,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1343,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1345,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1350,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1349,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1354,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1345,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1327,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1328,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1333,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1332,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1331,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1334,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1337,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1338,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1339,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1340,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1341,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1346,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1346,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1353,1
    - Dst: xmt_strip_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1323,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1326,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1327,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1333,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1331,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1330,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1336,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1337,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1340,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1341,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1342,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1343,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1348,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1351,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1355,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1325,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1326,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1329,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1330,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1335,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1336,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1339,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1343,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1344,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1344,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1352,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 134
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1357
    functionName: xmt_get_ft_by_name
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - xmt_strip_name
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 xmt_get_ft_by_name(const char *_name) '
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1513,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1533,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1556,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1649,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1574,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1825,1
    - Dst: xmt_get_node_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1841,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1881,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1899,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1924,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1829,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1601,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1632,1
    - Dst: xmt_parse_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1515,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1540,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1551,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1585,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1665,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1681,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1774,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1885,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1901,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1635,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1661,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1534,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1597,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1687,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1802,1
    - Dst: xmt_has_been_def
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1831,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1847,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1855,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1861,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1904,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1874,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1600,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1642,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1508,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1684,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1705,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1856,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1887,1
    - Dst: xmt_update_timenode
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1895,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1905,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1881,1
    - Dst: xmt_parse_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1512,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1553,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1566,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1621,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1662,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1595,1
    - Dst: xmt_get_protofield_qp_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1596,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1775,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1781,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1796,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1875,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1872,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1555,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1558,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1597,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1600,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1665,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1719,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1723,1
    - Dst: x3d_get_default_container
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1911,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1931,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1598,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1511,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1529,1
    - Dst: xmt_get_ft_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1554,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1605,1
    - Dst: gf_sg_proto_field_set_ised
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1664,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1705,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1749,1
    - Dst: xmt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1752,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1767,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1898,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1608,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1555,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1572,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1599,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1681,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1699,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1728,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1795,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1930,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1915,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1543,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1556,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1559,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1561,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1604,1
    - Dst: xmt_parse_float
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1604,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1689,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1720,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1776,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1805,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1630,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1507,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1529,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1554,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1599,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1659,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1679,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1783,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1826,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1856,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1936,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1941,1
    - Dst: gf_sg_proto_field_find_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1654,1
    - Dst: gf_bifs_proto_field_set_aq_info
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1613,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1617,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1696,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1757,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1786,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1833,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1854,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1860,1
    - Dst: xmt_parse_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1535,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1564,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1575,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1582,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1601,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1740,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1746,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1850,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1856,1
    - Dst: gf_sg_proto_load_code
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1945,1
    - Dst: xmt_parse_script_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1526,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1631,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1649,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1639,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1680,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1694,1
    - Dst: gf_sg_proto_mark_field_loaded
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1698,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1713,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1807,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1890,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1926,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1598,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1533,1
    - Dst: xmt_get_et_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1555,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1562,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1624,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1778,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1783,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1823,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1835,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1836,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1886,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1888,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1560,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1582,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1585,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1656,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1670,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1773,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1782,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1934,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1643,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1601,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1596,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1510,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1525,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1588,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1673,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1693,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1731,1
    - Dst: xmt_get_node_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:1832,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 524
    argCount: 6
    argNames:
    - parser
    - name
    - name_space
    - attributes
    - nb_attributes
    - parent
    argTypes:
    - GF_XMTParser*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    - XMTNodeStack*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1948
    functionName: xmt_parse_element
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - xmt_get_et_by_name
    - gf_node_init
    - xmt_get_protofield_qp_type
    - gf_node_get_tag
    - gf_sg_proto_create_instance
    - strncmp
    - gf_node_get_field_by_name
    - gf_sg_proto_load_code
    - gf_bifs_proto_field_set_aq_info
    - xmt_parse_proto
    - xmt_get_ft_by_name
    - gf_node_set_id
    - gf_node_new
    - gf_sg_command_field_new
    - GF_SAFEALLOC
    - gf_sg_script_field_new
    - xmt_get_node_id
    - strstr
    - gf_node_unregister
    - gf_sg_find_proto
    - gf_sg_proto_mark_field_loaded
    - gf_list_last
    - gf_error_to_string
    - xmt_has_been_def
    - strcmp
    - gf_sg_proto_field_new
    - xmt_parse_mf_field
    - atoi
    - xmt_parse_route
    - gf_sg_vrml_mf_append
    - gf_node_get_class_name
    - gf_list_new
    - gf_list_del_item
    - gf_node_changed
    - xmt_parse_float
    - gf_assert
    - gf_sg_proto_field_find_by_name
    - gf_sg_command_new
    - gf_sg_proto_field_get_field
    - xmt_parse_script_field
    - gf_node_get_field
    - xmt_update_timenode
    - gf_sg_vrml_is_sf_field
    - xmt_find_node
    - gf_node_register
    - x3d_get_default_container
    - gf_node_list_add_child_last
    - xmt_parse_sf_field
    - xmt_report
    - xmt_get_node_tag
    - gf_sg_find_node_by_name
    - gf_node_get_field_count
    - gf_sg_proto_field_set_ised
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *xmt_parse_element(GF_XMTParser *parser, char *name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes,
      XMTNodeStack *parent) '
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2104,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2107,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2120,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2132,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2205,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2194,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2296,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2390,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2401,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2415,1
    - Dst: xmt_locate_stream
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2106,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2113,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2195,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2288,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2243,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2235,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2249,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2321,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2359,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2365,1
    - Dst: gf_node_get_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2403,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2463,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2526,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2266,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2091,1
    - Dst: xmt_parse_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2119,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2148,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2264,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2330,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2332,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2346,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2371,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2378,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2479,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2527,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2104,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2105,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2176,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2303,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2313,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2339,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2498,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2535,1
    - Dst: xmt_get_od_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2547,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2569,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2541,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2102,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2160,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2162,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2163,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2178,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2302,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2553,1
    - Dst: xmt_get_od_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2571,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2498,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2125,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2170,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2192,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2239,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2277,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2309,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2407,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2418,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2499,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2515,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2516,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2476,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2244,1
    - Dst: xmt_parse_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2122,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2115,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2177,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2184,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2336,1
    - Dst: gf_sm_stream_find
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2355,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2399,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2427,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2429,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2514,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2250,1
    - Dst: atof
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2103,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2138,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2325,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2379,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2454,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2499,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2515,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2542,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2550,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2574,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2360,1
    - Dst: gf_sg_proto_get_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2403,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2430,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2465,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2469,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2479,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2531,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2539,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2572,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2478,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2205,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2229,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2151,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2230,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2251,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2281,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2331,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2438,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2513,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2514,1
    - Dst: xmt_get_esd_id
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2552,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2555,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2240,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2252,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2231,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2246,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2139,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2232,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2231,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2419,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2497,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2517,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2245,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2268,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2205,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2265,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2126,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2310,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2329,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2358,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2424,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2432,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2146,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2157,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2230,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2242,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2248,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2186,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2198,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2294,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2331,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2352,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2098,1
    - Dst: xmt_parse_mf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2165,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2285,1
    - Dst: xmt_locate_stream
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2233,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2317,1
    - Dst: xmt_find_node
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2375,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2435,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2483,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2497,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2525,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2524,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2148,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2179,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2290,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2305,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2308,1
    - Dst: floor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2390,1
    - Dst: xmt_parse_sf_field
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2440,1
    - Dst: gf_sm_stream_find
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2537,1
    - Dst: floor
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2393,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2103,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2140,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2180,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2182,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2241,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2247,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2350,1
    - Dst: xmt_get_route
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2461,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2481,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_xmt.c:2540,1
    CyclomaticComplexity: 221
    EdgeCount: 221
    ICount: 615
    argCount: 4
    argNames:
    - parser
    - name
    - attributes
    - nb_attributes
    argTypes:
    - GF_XMTParser*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 2584
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2584
    functionName: xmt_parse_command
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_node_get_proto
    - gf_node_get_tag
    - xmt_get_route
    - gf_node_get_field_by_name
    - gf_sg_command_field_new
    - FIX2FLT
    - gf_node_unregister
    - gf_list_pop_back
    - gf_sg_find_proto
    - gf_list_find
    - xmt_locate_stream
    - gf_list_count
    - gf_sg_vrml_field_pointer_new
    - strcmp
    - gf_strdup
    - xmt_parse_mf_field
    - atoi
    - xmt_parse_route
    - gf_node_get_id
    - gf_node_get_class_name
    - gf_node_list_get_child
    - stricmp
    - gf_sg_proto_get_id
    - gf_sg_command_new
    - floor
    - xmt_get_esd_id
    - gf_node_get_field
    - gf_sg_vrml_is_sf_field
    - xmt_find_node
    - strchr
    - gf_odf_com_new
    - gf_node_register
    - atof
    - xmt_get_od_id
    - gf_sm_stream_new
    - xmt_parse_sf_field
    - gf_realloc
    - gf_sm_stream_find
    - xmt_report
    - gf_sm_stream_au_new
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void xmt_parse_command(GF_XMTParser *parser, const char *name,
      const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3159,1
    - Dst: xmt_report
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3168,1
    - Dst: xmt_new_parser
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3165,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3166,1
    - Dst: xmt_new_parser
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3180,1
    - Dst: xmt_restore_context
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3186,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/scene_manager/loader_xmt.c:3190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - load
    - str_data
    argTypes:
    - GF_SceneLoader*
    - char*
    constantsTouched: []
    func_position:
      end: 3193
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3193
    functionName: load_xmt_initialize
    functionSourceFile: /src/gpac/src/scene_manager/loader_xmt.c
    functionUses: []
    functionsReached:
    - gf_xml_sax_init
    - strlen
    - xmt_restore_context
    - xmt_report
    - GF_LOG
    - xmt_new_parser
    - gf_xml_sax_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err load_xmt_initialize(GF_SceneLoader *load, const char
      *str_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:97,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/scene_manager/encode_isom.c:113,1
    - Dst: gf_odf_encode_ui_config
      Src: /src/gpac/src/scene_manager/encode_isom.c:103,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:104,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/encode_isom.c:114,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/scene_manager/encode_isom.c:115,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:116,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:117,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - mp4
    - src
    - rewrite_esd_only
    argTypes:
    - GF_ISOFile*
    - GF_ESD*
    - Bool
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: gf_sm_import_ui_stream
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_odf_encode_ui_config
    - gf_isom_get_track_id
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_isom_new_track
    - gf_odf_desc_del
    - gf_isom_last_error
    - gf_isom_set_track_enabled
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_import_ui_stream(GF_ISOFile *mp4, GF_ESD *src,
      Bool rewrite_esd_only) '
  - BBCount: 126
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_encoder_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:529,1
    - Dst: gf_sm_import_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:632,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/encode_isom.c:747,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:730,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:879,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:948,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:484,1
    - Dst: gf_laser_encoder_get_config
      Src: /src/gpac/src/scene_manager/encode_isom.c:774,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:897,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1008,1
    - Dst: gf_laser_encoder_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:547,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:876,1
    - Dst: gf_bifs_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:796,1
    - Dst: gf_sm_finalize_mux
      Src: /src/gpac/src/scene_manager/encode_isom.c:988,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:690,1
    - Dst: gf_laser_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:801,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:821,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/scene_manager/encode_isom.c:512,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:638,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:709,1
    - Dst: gf_laser_encode_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:845,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:989,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:1004,1
    - Dst: gf_sm_locate_esd
      Src: /src/gpac/src/scene_manager/encode_isom.c:598,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:604,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:613,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:602,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:650,1
    - Dst: gf_bifs_encode_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:841,1
    - Dst: gf_bifs_encoder_new_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:726,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/encode_isom.c:750,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:711,1
    - Dst: gf_bifs_encoder_get_config
      Src: /src/gpac/src/scene_manager/encode_isom.c:735,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:823,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1017,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:831,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:882,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:502,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:934,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:966,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:756,1
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/encode_isom.c:854,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:490,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:563,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:614,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:618,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:645,1
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/encode_isom.c:890,1
    - Dst: gf_bifs_encoder_set_source_url
      Src: /src/gpac/src/scene_manager/encode_isom.c:539,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/scene_manager/encode_isom.c:677,1
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/encode_isom.c:931,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:959,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:994,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1007,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:784,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:729,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:927,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:996,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:638,1
    - Dst: gf_laser_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:868,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:982,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:786,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:712,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:603,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:714,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/scene_manager/encode_isom.c:672,1
    - Dst: gf_bifs_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:903,1
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/encode_isom.c:967,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:972,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:607,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:616,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:708,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:755,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:782,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:803,1
    - Dst: gf_sm_get_mux_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:991,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1000,1
    - Dst: gf_laser_encoder_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1015,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/encode_isom.c:515,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/encode_isom.c:517,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:605,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:656,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/encode_isom.c:674,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:679,1
    - Dst: gf_odf_get_bifs_config
      Src: /src/gpac/src/scene_manager/encode_isom.c:699,1
    - Dst: gf_laser_encoder_new_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:772,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:804,1
    - Dst: gf_isom_add_sample_shadow
      Src: /src/gpac/src/scene_manager/encode_isom.c:981,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:963,1
    - Dst: gf_odf_get_laser_config
      Src: /src/gpac/src/scene_manager/encode_isom.c:752,1
    - Dst: gf_bifs_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:863,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:581,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/encode_isom.c:617,1
    - Dst: gf_sm_finalize_mux
      Src: /src/gpac/src/scene_manager/encode_isom.c:637,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:715,1
    - Dst: gf_bifs_encoder_get_version
      Src: /src/gpac/src/scene_manager/encode_isom.c:738,1
    - Dst: gf_laser_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:910,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:918,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:923,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:727,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:859,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:791,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:590,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:664,1
    - Dst: gf_bifs_encoder_get_rap
      Src: /src/gpac/src/scene_manager/encode_isom.c:978,1
    - Dst: gf_bifs_encoder_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1012,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 495
    argCount: 4
    argNames:
    - ctx
    - mp4
    - opts
    - scene_type
    argTypes:
    - GF_SceneManager*
    - GF_ISOFile*
    - GF_SMEncodeOptions*
    - u32
    constantsTouched: []
    func_position:
      end: 1019
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 1019
    functionName: gf_sm_encode_scene
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_add_sample_shadow
    - gf_sg_command_apply_list
    - gf_node_get_tag
    - gf_sm_finalize_mux
    - memset
    - GF_LOG
    - gf_laser_encoder_new_stream
    - gf_laser_encoder_new
    - gf_bifs_encoder_get_config
    - gf_odf_desc_del
    - gf_bifs_encoder_get_version
    - gf_sm_locate_esd
    - gf_odf_get_laser_config
    - gf_sg_command_del
    - gf_isom_get_track_by_id
    - gf_laser_encode_au
    - gf_odf_desc_esd_new
    - gf_laser_encoder_del
    - gf_isom_add_sample
    - gf_isom_get_media_duration
    - gf_list_count
    - gf_isom_update_duration
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_bifs_encoder_get_rap
    - gf_isom_new_track
    - gf_isom_change_mpeg4_description
    - gf_isom_set_track_enabled
    - gf_isom_add_track_to_root_od
    - gf_list_get
    - gf_list_enum
    - gf_bifs_encode_au
    - gf_isom_get_track_id
    - gf_bifs_encoder_new_stream
    - gf_sm_import_stream
    - memcpy
    - gf_isom_set_pl_indication
    - gf_isom_last_error
    - gf_bifs_encoder_new
    - gf_isom_sample_new
    - gf_isom_sample_del
    - gf_free
    - gf_get_bit_size
    - gf_isom_set_visual_info
    - gf_isom_set_last_sample_duration
    - gf_odf_get_bifs_config
    - gf_bifs_encoder_set_source_url
    - gf_sg_get_root_node
    - gf_laser_encoder_get_config
    - gf_laser_encoder_get_rap
    - gf_sm_get_mux_info
    - gf_list_rem
    - gf_bifs_encoder_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_encode_scene(GF_SceneManager *ctx, GF_ISOFile
      *mp4, GF_SMEncodeOptions *opts, u32 scene_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_get_mux_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:61,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:72,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/scene_manager/encode_isom.c:67,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/scene_manager/encode_isom.c:66,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:63,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/scene_manager/encode_isom.c:74,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/scene_manager/encode_isom.c:75,1
    - Dst: gf_isom_set_track_interleaving_group
      Src: /src/gpac/src/scene_manager/encode_isom.c:79,1
    - Dst: gf_isom_use_compact_size
      Src: /src/gpac/src/scene_manager/encode_isom.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - mp4
    - src
    - offset_ts
    argTypes:
    - GF_ISOFile*
    - GF_ESD*
    - u32
    constantsTouched: []
    func_position:
      end: 86
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 86
    functionName: gf_sm_finalize_mux
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_by_id
    - gf_isom_use_compact_size
    - gf_isom_get_timescale
    - gf_isom_set_track_interleaving_group
    - gf_isom_get_media_duration
    - gf_isom_set_edit
    - gf_sm_get_mux_info
    - gf_isom_get_media_timescale
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_finalize_mux(GF_ISOFile *mp4, GF_ESD *src, u32 offset_ts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_get_mux_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:326,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/scene_manager/encode_isom.c:336,1
    - Dst: gf_sm_remove_mux_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:343,1
    - Dst: gf_sm_import_bifs_subtitle
      Src: /src/gpac/src/scene_manager/encode_isom.c:342,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:338,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - esd
    argTypes:
    - GF_SceneManager*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: gf_sm_import_stream_special
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_sm_import_bifs_subtitle
    - gf_sm_get_mux_info
    - gf_free
    - gf_sm_remove_mux_info
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_import_stream_special(GF_SceneManager *ctx, GF_ESD
      *esd) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:148,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:179,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/scene_manager/encode_isom.c:202,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/scene_manager/encode_isom.c:203,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:205,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/scene_manager/encode_isom.c:210,1
    - Dst: gf_sm_import_ui_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:195,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:216,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/encode_isom.c:227,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:297,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/scene_manager/encode_isom.c:319,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:135,1
    - Dst: gf_sm_import_ui_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:138,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/scene_manager/encode_isom.c:182,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/scene_manager/encode_isom.c:210,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:207,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/encode_isom.c:220,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/encode_isom.c:245,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scene_manager/encode_isom.c:247,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/encode_isom.c:264,1
    - Dst: gf_media_import
      Src: /src/gpac/src/scene_manager/encode_isom.c:288,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:301,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/encode_isom.c:313,1
    - Dst: gf_isom_add_desc_to_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:308,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/encode_isom.c:271,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:290,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:183,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/scene_manager/encode_isom.c:201,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:204,1
    - Dst: gf_isom_open
      Src: /src/gpac/src/scene_manager/encode_isom.c:224,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/scene_manager/encode_isom.c:241,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/encode_isom.c:250,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/encode_isom.c:252,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:298,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:315,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:294,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:184,1
    - Dst: gf_sm_get_mux_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:188,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/encode_isom.c:242,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:243,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/encode_isom.c:253,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/encode_isom.c:237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:259,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/encode_isom.c:269,1
    - Dst: gf_isom_add_user_data
      Src: /src/gpac/src/scene_manager/encode_isom.c:304,1
    - Dst: gf_media_import
      Src: /src/gpac/src/scene_manager/encode_isom.c:226,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/scene_manager/encode_isom.c:294,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 170
    argCount: 6
    argNames:
    - ctx
    - mp4
    - src
    - imp_time
    - mediaSource
    - od_sample_rap
    argTypes:
    - GF_SceneManager*
    - GF_ISOFile*
    - GF_ESD*
    - Double
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 321
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 321
    functionName: gf_sm_import_stream
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_get_timescale
    - gf_media_import
    - GF_LOG
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_file_ext_start
    - gf_isom_get_track_by_id
    - gf_isom_set_edit
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_file_delete
    - gf_isom_new_track
    - atoi
    - gf_isom_add_user_data
    - strcpy
    - stricmp
    - gf_isom_set_track_enabled
    - gf_isom_set_track_reference
    - gf_sm_import_ui_stream
    - gf_isom_add_desc_to_description
    - gf_list_enum
    - gf_isom_get_track_id
    - strchr
    - gf_isom_last_error
    - gf_free
    - strnicmp
    - gf_isom_delete
    - gf_url_concatenate
    - gf_isom_open
    - gf_sm_get_mux_info
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_import_stream(GF_SceneManager *ctx, GF_ISOFile
      *mp4, GF_ESD *src, Double imp_time, char *mediaSource, Bool od_sample_rap) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:356,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:372,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:359,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:362,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:369,1
    - Dst: gf_sm_import_stream_special
      Src: /src/gpac/src/scene_manager/encode_isom.c:373,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:384,1
    - Dst: gf_sm_import_stream_special
      Src: /src/gpac/src/scene_manager/encode_isom.c:385,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_SceneManager*
    constantsTouched: []
    func_position:
      end: 395
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 395
    functionName: gf_sm_import_specials
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_sm_import_stream_special
    - gf_list_enum
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_import_specials(GF_SceneManager *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:409,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:422,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:415,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:412,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:425,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:436,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - ES_ID
    argTypes:
    - GF_SceneManager*
    - u16
    constantsTouched: []
    func_position:
      end: 446
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 446
    functionName: gf_sm_locate_esd
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_ESD*
    signature: 'static GF_ESD *gf_sm_locate_esd(GF_SceneManager *ctx, u16 ES_ID) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_locate_esd
      Src: /src/gpac/src/scene_manager/encode_isom.c:1085,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1041,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1089,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1104,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/scene_manager/encode_isom.c:1115,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1152,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1125,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1164,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1246,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1302,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:1330,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:1369,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/scene_manager/encode_isom.c:1368,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/scene_manager/encode_isom.c:1250,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1385,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:1283,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1036,1
    - Dst: gf_sm_import_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:1183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:1188,1
    - Dst: gf_sm_finalize_mux
      Src: /src/gpac/src/scene_manager/encode_isom.c:1191,1
    - Dst: gf_sm_finalize_mux
      Src: /src/gpac/src/scene_manager/encode_isom.c:1224,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/scene_manager/encode_isom.c:1241,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:1258,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:1290,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/encode_isom.c:1327,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1294,1
    - Dst: gf_odf_codec_apply_com
      Src: /src/gpac/src/scene_manager/encode_isom.c:1303,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1386,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/scene_manager/encode_isom.c:1325,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1384,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/scene_manager/encode_isom.c:1281,1
    - Dst: gf_isom_add_sample_shadow
      Src: /src/gpac/src/scene_manager/encode_isom.c:1370,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1375,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1063,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/scene_manager/encode_isom.c:1112,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1144,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1161,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1120,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/encode_isom.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:1197,1
    - Dst: gf_sm_import_stream
      Src: /src/gpac/src/scene_manager/encode_isom.c:1215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:1220,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1221,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:1352,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1341,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:1360,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/scene_manager/encode_isom.c:1309,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:1361,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1381,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/scene_manager/encode_isom.c:1279,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1072,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:1113,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1122,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/scene_manager/encode_isom.c:1118,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1211,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/encode_isom.c:1220,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1265,1
    - Dst: gf_odf_codec_apply_com
      Src: /src/gpac/src/scene_manager/encode_isom.c:1273,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:1254,1
    - Dst: gf_isom_add_sample_shadow
      Src: /src/gpac/src/scene_manager/encode_isom.c:1333,1
    - Dst: gf_isom_update_duration
      Src: /src/gpac/src/scene_manager/encode_isom.c:1379,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/scene_manager/encode_isom.c:1365,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/encode_isom.c:1230,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:1356,1
    - Dst: gf_sm_finalize_mux
      Src: /src/gpac/src/scene_manager/encode_isom.c:1354,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:1272,1
    CyclomaticComplexity: 138
    EdgeCount: 138
    ICount: 306
    argCount: 4
    argNames:
    - ctx
    - mp4
    - mediaSource
    - opts
    argTypes:
    - GF_SceneManager*
    - GF_ISOFile*
    - char*
    - GF_SMEncodeOptions*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1388
    functionName: gf_sm_encode_od
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_add_sample_shadow
    - gf_sm_finalize_mux
    - gf_odf_codec_del
    - GF_LOG
    - gf_odf_com_del
    - gf_odf_desc_del
    - gf_sm_locate_esd
    - gf_odf_desc_esd_new
    - gf_odf_codec_get_au
    - gf_error_to_string
    - gf_isom_add_sample
    - gf_isom_update_duration
    - gf_odf_codec_apply_com
    - gf_odf_desc_new
    - gf_isom_new_mpeg4_description
    - gf_isom_change_mpeg4_description
    - gf_isom_new_track
    - gf_isom_set_track_enabled
    - gf_odf_codec_add_com
    - gf_isom_add_track_to_root_od
    - gf_list_enum
    - gf_odf_codec_encode
    - gf_isom_get_track_id
    - gf_sm_import_stream
    - gf_odf_codec_new
    - gf_isom_set_pl_indication
    - gf_isom_sample_new
    - gf_free
    - gf_isom_sample_del
    - gf_isom_get_sample_count
    - gf_isom_set_last_sample_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_encode_od(GF_SceneManager *ctx, GF_ISOFile *mp4,
      char *mediaSource, GF_SMEncodeOptions *opts) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_import_specials
      Src: /src/gpac/src/scene_manager/encode_isom.c:1405,1
    - Dst: gf_sm_encode_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1419,1
    - Dst: gf_isom_set_root_od_id
      Src: /src/gpac/src/scene_manager/encode_isom.c:1425,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1453,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1456,1
    - Dst: gf_sm_encode_scene
      Src: /src/gpac/src/scene_manager/encode_isom.c:1416,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:1427,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:1429,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1430,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/scene_manager/encode_isom.c:1400,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1444,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1455,1
    - Dst: gf_sm_encode_scene
      Src: /src/gpac/src/scene_manager/encode_isom.c:1413,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/scene_manager/encode_isom.c:1401,1
    - Dst: gf_isom_set_root_od_url
      Src: /src/gpac/src/scene_manager/encode_isom.c:1426,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:1437,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:1439,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/encode_isom.c:1434,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1440,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/scene_manager/encode_isom.c:1452,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/encode_isom.c:1432,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/scene_manager/encode_isom.c:1435,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - ctx
    - mp4
    - opts
    argTypes:
    - GF_SceneManager*
    - GF_ISOFile*
    - GF_SMEncodeOptions*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1459
    functionName: gf_sm_encode_to_file
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_add_desc_to_root_od
    - gf_sm_import_specials
    - gf_list_count
    - gf_sm_encode_od
    - gf_isom_set_root_od_id
    - gf_isom_modify_alternate_brand
    - gf_isom_set_pl_indication
    - gf_isom_set_brand_info
    - gf_sm_encode_scene
    - gf_isom_set_root_od_url
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_encode_to_file(GF_SceneManager *ctx, GF_ISOFile
      *mp4, GF_SMEncodeOptions *opts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/encode_isom.c:46,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/encode_isom.c:48,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/encode_isom.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: gf_sm_remove_mux_info
    functionSourceFile: /src/gpac/src/scene_manager/encode_isom.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_rem
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_remove_mux_info(GF_ESD *src) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:55,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:61,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:64,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:59,1
    - Dst: gf_fgets
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:58,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:65,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:66,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:67,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:69,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:70,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:72,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:78,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:80,1
    - Dst: gf_fgets
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:75,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:71,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - filename
    - fmt
    argTypes:
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: gf_text_guess_format
    functionSourceFile: /src/gpac/src/scene_manager/text_to_bifs.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - gf_fgets
    - sprintf
    - strcmp
    - REM_TRAIL_MARKS
    - strnicmp
    - gf_fclose
    - gf_fopen
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_guess_format(char *filename, u32 *fmt) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:123,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:127,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:133,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:135,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:172,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:191,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:195,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:203,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:245,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:254,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:258,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:259,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:213,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:190,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:199,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:303,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:121,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:114,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:108,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:150,1
    - Dst: gf_fgets
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:168,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:153,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:183,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:186,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:187,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:202,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:293,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:329,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:299,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:300,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:252,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:295,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:192,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:288,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:138,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:146,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:139,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:179,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:198,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:209,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:212,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:238,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:251,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:288,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:104,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:155,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:144,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:177,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:180,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:185,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:188,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:189,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:206,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:230,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:272,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:276,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:280,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:288,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:239,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:289,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:262,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:335,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:307,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:309,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:255,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 270
    argCount: 3
    argNames:
    - ctx
    - src
    - mux
    argTypes:
    - GF_SceneManager*
    - GF_ESD*
    - GF_MuxInfo*
    constantsTouched: []
    func_position:
      end: 337
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 337
    functionName: gf_text_import_srt_bifs
    functionSourceFile: /src/gpac/src/scene_manager/text_to_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_node_get_field_by_name
    - gf_fgets
    - GF_LOG
    - gf_sg_command_field_new
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - gf_odf_desc_new
    - gf_sg_vrml_mf_append
    - gf_assert
    - gf_fopen
    - gf_sg_command_new
    - gf_list_enum
    - REM_TRAIL_MARKS
    - strnicmp
    - gf_node_register
    - gf_sm_stream_new
    - sscanf
    - gf_sm_stream_au_new
    - gf_sg_find_node_by_name
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_import_srt_bifs(GF_SceneManager *ctx, GF_ESD
      *src, GF_MuxInfo *mux) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:402,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:464,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:476,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:477,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:508,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:513,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:360,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:400,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:451,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:473,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:519,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:512,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:379,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:382,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:383,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:391,1
    - Dst: gf_fgets
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:424,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:470,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:472,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:506,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:515,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:469,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:377,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:370,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:426,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:406,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:409,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:429,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:445,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:460,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:509,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 169
    argCount: 3
    argNames:
    - ctx
    - src
    - mux
    argTypes:
    - GF_SceneManager*
    - GF_ESD*
    - GF_MuxInfo*
    constantsTouched: []
    func_position:
      end: 521
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 521
    functionName: gf_text_import_sub_bifs
    functionSourceFile: /src/gpac/src/scene_manager/text_to_bifs.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_node_get_field_by_name
    - gf_fgets
    - GF_LOG
    - gf_sg_command_field_new
    - gf_strdup
    - gf_sg_vrml_field_pointer_new
    - gf_odf_desc_new
    - atoi
    - gf_sg_vrml_mf_append
    - gf_fopen
    - gf_sg_command_new
    - gf_list_enum
    - REM_TRAIL_MARKS
    - gf_node_register
    - gf_sm_stream_new
    - gf_sm_stream_au_new
    - gf_sg_find_node_by_name
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_import_sub_bifs(GF_SceneManager *ctx, GF_ESD
      *src, GF_MuxInfo *mux) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_text_guess_format
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:531,1
    - Dst: gf_text_import_sub_bifs
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:536,1
    - Dst: gf_text_import_srt_bifs
      Src: /src/gpac/src/scene_manager/text_to_bifs.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - src
    - mux
    argTypes:
    - GF_SceneManager*
    - GF_ESD*
    - GF_MuxInfo*
    constantsTouched: []
    func_position:
      end: 540
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 540
    functionName: gf_sm_import_bifs_subtitle
    functionSourceFile: /src/gpac/src/scene_manager/text_to_bifs.c
    functionUses: []
    functionsReached:
    - gf_text_guess_format
    - gf_text_import_sub_bifs
    - gf_text_import_srt_bifs
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_import_bifs_subtitle(GF_SceneManager *ctx,
      GF_ESD *src, GF_MuxInfo *mux) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/scene_manager/loader_bt.c:121,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/loader_bt.c:125,1
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/loader_bt.c:124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_bt.c:127,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/loader_bt.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - parser
    - e
    - format
    - '...'
    argTypes:
    - GF_BTParser*
    - GF_Err
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: gf_bt_report
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - va_end
    - GF_LOG
    - va_start
    - gf_log_tool_level_on
    - vsnprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_bt_report(GF_BTParser *parser, GF_Err e, char *format,
      ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:599,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:599,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:599,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:599,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - parser
    - str
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: gf_bt_check_externproto_field
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_check_externproto_field(GF_BTParser *parser, char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:653,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:655,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:658,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:661,1
    - Dst: check_keyword
      Src: /src/gpac/src/scene_manager/loader_bt.c:657,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:662,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - name
    - val
    argTypes:
    - GF_BTParser*
    - char*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 666
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 666
    functionName: gf_bt_parse_float
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - check_keyword
    - sscanf
    - INT2FIX
    - FLT2FIX
    - gf_bt_get_next
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_float(GF_BTParser *parser, const char *name, Fixed
      *val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:712,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:716,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:719,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:717,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:714,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:720,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:721,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:722,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/scene_manager/loader_bt.c:725,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:727,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:730,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:731,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - parser
    - name
    - col
    argTypes:
    - GF_BTParser*
    - char*
    - SFColor*
    constantsTouched: []
    func_position:
      end: 733
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 733
    functionName: gf_bt_parse_color
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_bt_parse_float
    - sscanf
    - INT2FIX
    - FLT2FIX
    - gf_bt_get_next
    - gf_color_parse
    - gf_bt_check_code
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_color(GF_BTParser *parser, const char *name, SFColor
      *col) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1091,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1100,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/loader_bt.c:1098,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:1096,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/loader_bt.c:1101,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:1102,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - info
    - n
    argTypes:
    - GF_BTParser*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1108
    functionName: gf_bt_mffield
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_reset
    - gf_sg_vrml_mf_append
    - gf_bt_check_code
    - gf_sg_vrml_get_sf_type
    - gf_bt_sffield
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_mffield(GF_BTParser *parser, GF_FieldInfo *info, GF_Node
      *n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_bt.c:1131,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: gf_bt_get_next_node_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_node_id
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_next_node_id(GF_BTParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1702,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_bt.c:1705,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1709
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1709
    functionName: gf_bt_get_route
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    - gf_sg_route_find_by_name
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_route(GF_BTParser *parser, char *name) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3133,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3137,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3139,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3177,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3179,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3190,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3196,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3200,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3202,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3220,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3170,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3242,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3249,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3208,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3197,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3243,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3124,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3129,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3130,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3125,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3134,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3138,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3143,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3153,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3150,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:3158,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3169,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3221,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3216,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3253,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3201,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3258,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:3261,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:3229,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3178,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3154,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3157,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3163,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3164,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3165,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3180,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3161,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3218,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3224,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:3231,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:3246,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3193,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3241,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3215,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:3259,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3228,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3212,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3127,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3140,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3145,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3152,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3139,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3166,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3183,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3185,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3190,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3206,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3225,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3267,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3192,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3255,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3203,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3250,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3238,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 145
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3270
    functionName: gf_bt_parse_od_command
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_list_add
    - gf_realloc
    - strcmp
    - gf_bt_get_next
    - gf_bt_parse_descriptor
    - gf_bt_parse_int
    - gf_odf_com_new
    - gf_bt_check_code
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_parse_od_command(GF_BTParser *parser, char *name) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: gf_gztell
      Src: /src/gpac/src/scene_manager/loader_bt.c:207,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:223,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:241,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:235,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/scene_manager/loader_bt.c:233,1
    - Dst: gf_gztell
      Src: /src/gpac/src/scene_manager/loader_bt.c:264,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:272,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:275,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/scene_manager/loader_bt.c:288,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:332,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:405,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:307,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:367,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:208,1
    - Dst: gf_gztell
      Src: /src/gpac/src/scene_manager/loader_bt.c:222,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:259,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:265,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:298,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:299,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:303,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:315,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:336,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:347,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:355,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:398,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:376,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:400,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:415,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_bt.c:322,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:404,1
    - Dst: gf_gztell
      Src: /src/gpac/src/scene_manager/loader_bt.c:171,1
    - Dst: gf_gzgetc
      Src: /src/gpac/src/scene_manager/loader_bt.c:183,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/scene_manager/loader_bt.c:182,1
    - Dst: gf_gzgetc
      Src: /src/gpac/src/scene_manager/loader_bt.c:184,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:246,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:301,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:319,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:333,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:341,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:353,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:403,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/scene_manager/loader_bt.c:423,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:409,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:361,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:380,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:382,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/scene_manager/loader_bt.c:241,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/scene_manager/loader_bt.c:235,1
    - Dst: gf_gzgets
      Src: /src/gpac/src/scene_manager/loader_bt.c:240,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:251,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:280,1
    - Dst: gf_gztell
      Src: /src/gpac/src/scene_manager/loader_bt.c:285,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:310,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_bt.c:324,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:328,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:331,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:356,1
    - Dst: memmove
      Src: /src/gpac/src/scene_manager/loader_bt.c:413,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:370,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:308,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:414,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:393,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 282
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 432
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 432
    functionName: gf_bt_check_line
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - gf_gzeof
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_utf8_wcstombs
    - memmove
    - gf_bt_report
    - gf_list_get
    - gf_gzseek
    - gf_set_progress
    - gf_gzgets
    - memcpy
    - strchr
    - strnicmp
    - sscanf
    - gf_gzgetc
    - gf_gztell
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_check_line(GF_BTParser *parser) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:614,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:620,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:630,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:628,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:624,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:634,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:638,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:615,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:617,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:621,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:625,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:629,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:631,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:635,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:616,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:618,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:626,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:622,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:632,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:641,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:610,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:613,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:619,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:627,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:623,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:633,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:636,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:644,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 3
    argNames:
    - parser
    - str
    - val
    argTypes:
    - GF_BTParser*
    - char*
    - s32*
    constantsTouched: []
    func_position:
      end: 647
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 647
    functionName: check_keyword
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - strlen
    - sscanf
    - strcmp
    - strchr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_keyword(GF_BTParser *parser, char *str, s32 *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:669,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:671,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:673,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - parser
    - name
    - val
    argTypes:
    - GF_BTParser*
    - char*
    - SFDouble*
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: gf_bt_parse_double
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - sscanf
    - gf_bt_get_next
    - gf_bt_report
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_double(GF_BTParser *parser, const char *name, SFDouble
      *val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:738,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:746,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:740,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:747,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:745,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:748,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:749,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:752,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:753,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/loader_bt.c:755,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:756,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:758,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:757,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:760,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:759,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - parser
    - name
    - col
    argTypes:
    - GF_BTParser*
    - char*
    - SFColorRGBA*
    constantsTouched: []
    func_position:
      end: 763
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 763
    functionName: gf_bt_parse_colorRGBA
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_bt_parse_float
    - sscanf
    - INT2FIX
    - FLT2FIX
    - gf_bt_get_next
    - gf_bt_check_code
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_colorRGBA(GF_BTParser *parser, const char *name,
      SFColorRGBA *col) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_in_table
      Src: /src/gpac/src/scene_manager/loader_bt.c:1120,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1122,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1122,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - parser
    - info
    - node
    - parent
    argTypes:
    - GF_BTParser*
    - GF_FieldInfo*
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1125
    functionName: gf_bt_check_ndt
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_in_table
    - gf_node_get_class_name
    - gf_bt_report
    - gf_node_unregister
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_check_ndt(GF_BTParser *parser, GF_FieldInfo *info, GF_Node
      *node, GF_Node *parent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_bt.c:1141,1
    - Dst: gf_sg_get_next_available_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1147
    functionName: gf_bt_get_next_route_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_route_id
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_next_route_id(GF_BTParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scene_manager/loader_bt.c:1715,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_bt.c:1718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - ID
    argTypes:
    - GF_BTParser*
    - u32
    constantsTouched: []
    func_position:
      end: 1722
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1722
    functionName: gf_bt_route_id_used
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_route_find
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_route_id_used(GF_BTParser *parser, u32 ID) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3298,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3342,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3389,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:3414,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:3496,1
    - Dst: gf_sg_script_load
      Src: /src/gpac/src/scene_manager/loader_bt.c:3530,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:3352,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3379,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3385,1
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:3461,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3478,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:3486,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3440,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3373,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:3393,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3427,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:3495,1
    - Dst: gf_bt_check_unresolved_nodes
      Src: /src/gpac/src/scene_manager/loader_bt.c:3455,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3479,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3480,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:3527,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3325,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3336,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3372,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3396,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3385,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3477,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3517,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:3304,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3315,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3327,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3401,1
    - Dst: gf_bt_parse_od_command
      Src: /src/gpac/src/scene_manager/loader_bt.c:3436,1
    - Dst: gf_bt_parse_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:3405,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: gf_bt_parse_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:3386,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3400,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:3411,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3402,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3300,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3326,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3338,1
    - Dst: gf_bt_check_unresolved_nodes
      Src: /src/gpac/src/scene_manager/loader_bt.c:3361,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3391,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3421,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3440,1
    - Dst: gf_bt_get_next_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:3408,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3323,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3340,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:3415,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:3375,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:3529,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3435,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3324,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3490,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3516,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:3306,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3318,1
    - Dst: gf_bt_force_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:3325,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3348,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3442,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3421,1
    - Dst: gf_sg_set_max_defined_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:3412,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3471,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3332,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3333,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3498,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_bt.c:3302,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_bt.c:3303,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3326,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_bt.c:3350,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3353,1
    - Dst: gf_bt_get_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:3407,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3434,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3443,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3440,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3374,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3497,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3378,1
    - Dst: gf_bt_parse_bifs_command
      Src: /src/gpac/src/scene_manager/loader_bt.c:3473,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3518,1
    - Dst: gf_bt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_bt.c:3523,1
    - Dst: gf_bt_check_unresolved_nodes
      Src: /src/gpac/src/scene_manager/loader_bt.c:3524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:3528,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3440,1
    - Dst: gf_bt_force_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:3323,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3332,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3494,1
    - Dst: gf_node_insert_child
      Src: /src/gpac/src/scene_manager/loader_bt.c:3502,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3452,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3392,1
    - Dst: gf_bt_force_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:3324,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3336,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3341,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 298
    argCount: 3
    argNames:
    - parser
    - init_com
    - initial_run
    argTypes:
    - GF_BTParser*
    - GF_Command*
    - Bool
    constantsTouched: []
    func_position:
      end: 3533
      start: 3274
    functionDepth: 0
    functionLinenumber: 3274
    functionLinenumberEnd: 3533
    functionName: gf_bt_loader_run_intern
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_node_init
    - gf_sg_route_set_id
    - gf_node_new
    - gf_bt_force_line
    - gf_bt_check_code
    - gf_list_last
    - gf_bt_get_next_route_id
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_bt_get_next
    - gf_bt_parse_bifs_command
    - gf_bt_parse_od_command
    - atoi
    - strcpy
    - gf_bt_check_unresolved_nodes
    - gf_assert
    - gf_sg_set_root_node
    - gf_bt_report
    - gf_list_get
    - gf_sg_command_new
    - gf_bt_parse_int
    - gf_node_insert_child
    - gf_node_register
    - gf_bt_get_route
    - gf_bt_parse_route
    - gf_sg_set_max_defined_route_id
    - gf_bt_sf_node
    - gf_sm_stream_new
    - sscanf
    - gf_sg_get_root_node
    - gf_sg_route_set_name
    - gf_sg_script_load
    - gf_sm_stream_au_new
    - gf_bt_parse_descriptor
    - gf_list_rem
    - gf_bt_parse_proto
    - gf_bt_resolve_routes
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_loader_run_intern(GF_BTParser *parser, GF_Command *init_com,
      Bool initial_run) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_bt.c:3776,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3782,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3781,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3783,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3780,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3784,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3785,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3786,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/loader_bt.c:3794,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3795,1
    - Dst: gf_sm_load_bt_initialize
      Src: /src/gpac/src/scene_manager/loader_bt.c:3799,1
    - Dst: load_bt_done
      Src: /src/gpac/src/scene_manager/loader_bt.c:3801,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3805
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3805
    functionName: gf_sm_load_init_bt
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_sys_is_cov_mode
    - gf_sm_load_bt_initialize
    - load_bt_done
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sm_load_init_bt(GF_SceneLoader *load) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:454,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/scene_manager/loader_bt.c:459,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/scene_manager/loader_bt.c:493,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/scene_manager/loader_bt.c:487,1
    - Dst: MIN
      Src: /src/gpac/src/scene_manager/loader_bt.c:493,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 2
    argNames:
    - parser
    - point_break
    argTypes:
    - GF_BTParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 496
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 496
    functionName: gf_bt_get_next
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_bt_check_line
    - MIN
    linkageType: ''
    returnType: char*
    signature: 'char *gf_bt_get_next(GF_BTParser *parser, Bool point_break) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_bt.c:1152,1
    - Dst: gf_sg_get_next_available_proto_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1157
    functionName: gf_bt_get_next_proto_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_get_graph
    - gf_sg_get_next_available_proto_id
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_next_proto_id(GF_BTParser *parser) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1614,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:1611,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1629,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1633,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1640,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1644,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1645,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1664,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/loader_bt.c:1668,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_bt.c:1676,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1625,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1626,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1633,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1630,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1647,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1665,1
    - Dst: gf_bt_get_def_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1672,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1677,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:1691,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:1689,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1679,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1608,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1627,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1643,1
    - Dst: gf_list_find
      Src: /src/gpac/src/scene_manager/loader_bt.c:1635,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1631,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1646,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1648,1
    - Dst: gf_bt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:1652,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:1657,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1674,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:1613,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:1621,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1628,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1670,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1675,1
    - Dst: gf_gzrewind
      Src: /src/gpac/src/scene_manager/loader_bt.c:1688,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 2
    argNames:
    - parser
    - defID
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1696
    functionName: gf_bt_peek_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_init
    - gf_sg_proto_create_instance
    - gf_node_set_id
    - gf_bt_check_line
    - gf_node_new
    - gf_bt_check_code
    - gf_sg_find_proto
    - gf_list_find
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_bt_get_next
    - strcpy
    - gf_bt_report
    - gf_bt_get_def_id
    - gf_node_get_name
    - gf_list_get
    - gf_gzseek
    - gf_free
    - gf_bt_get_node_tag
    - gf_sg_find_node_by_name
    - gf_gzrewind
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_bt_peek_node(GF_BTParser *parser, char *defID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_bt.c:2082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - com
    - node
    argTypes:
    - GF_Command*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: bd_set_com_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_register
    linkageType: ''
    returnType: void
    signature: 'static void bd_set_com_node(GF_Command *com, GF_Node *node) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2813,1
    - Dst: gf_ipmpx_get_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:2811,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2823,1
    - Dst: gf_ipmpx_get_field_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2826,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:2843,1
    - Dst: gf_ipmpx_set_byte_array
      Src: /src/gpac/src/scene_manager/loader_bt.c:2864,1
    - Dst: gf_ipmpx_set_byte_array
      Src: /src/gpac/src/scene_manager/loader_bt.c:2886,1
    - Dst: gf_ipmpx_set_sub_data
      Src: /src/gpac/src/scene_manager/loader_bt.c:2903,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2905,1
    - Dst: gf_bt_parse_ipmpx
      Src: /src/gpac/src/scene_manager/loader_bt.c:2913,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2915,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2916,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2895,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2921,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2920,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2929,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2930,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2809,1
    - Dst: gf_ipmpx_data_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2816,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2824,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2825,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2834,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2845,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2848,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2861,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2862,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2874,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2896,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2889,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2899,1
    - Dst: gf_ipmpx_set_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2926,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2904,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:2846,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2831,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2835,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:2852,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2853,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2865,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2878,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2888,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2882,1
    - Dst: gf_bt_parse_ipmpx
      Src: /src/gpac/src/scene_manager/loader_bt.c:2897,1
    - Dst: gf_ipmpx_set_sub_data
      Src: /src/gpac/src/scene_manager/loader_bt.c:2919,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2925,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2876,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2819,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:2830,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:2832,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/loader_bt.c:2838,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2844,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2860,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2867,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2875,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2877,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2881,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2884,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2912,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2937
    functionName: gf_bt_parse_ipmpx
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_list_add
    - gf_ipmpx_set_byte_array
    - strcpy
    - gf_ipmpx_data_del
    - gf_ipmpx_set_field
    - gf_ipmpx_set_sub_data
    - gf_bt_get_next
    - gf_bt_parse_descriptor
    - gf_bt_parse_ipmpx
    - gf_ipmpx_get_tag
    - gf_ipmpx_get_field_type
    - stricmp
    - gf_assert
    - gf_bt_check_code
    - gf_ipmpx_data_new
    linkageType: ''
    returnType: GF_IPMPX_Data*
    signature: 'GF_IPMPX_Data *gf_bt_parse_ipmpx(GF_BTParser *parser, char *name) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/scene_manager/loader_bt.c:3549,1
    - Dst: gf_gzopen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3552,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3565,1
    - Dst: strncpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:3570,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:3593,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:3580,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scene_manager/loader_bt.c:3599,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/loader_bt.c:3615,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_bt.c:3659,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3664,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3546,1
    - Dst: gf_gzgets
      Src: /src/gpac/src/scene_manager/loader_bt.c:3560,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:3561,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3576,1
    - Dst: gf_gzseek
      Src: /src/gpac/src/scene_manager/loader_bt.c:3588,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:3645,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/loader_bt.c:3556,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_bt.c:3637,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3654,1
    - Dst: gf_bt_loader_run_intern
      Src: /src/gpac/src/scene_manager/loader_bt.c:3669,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/loader_bt.c:3550,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:3555,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3629,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:3600,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3655,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3665,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 118
    argCount: 3
    argNames:
    - load
    - str
    - input_only
    argTypes:
    - GF_SceneLoader*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3673
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3673
    functionName: gf_sm_load_bt_initialize
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - memset
    - GF_LOG
    - gf_bt_check_line
    - gf_file_ext_start
    - gf_fsize
    - gf_gzopen
    - gf_fopen
    - gf_bt_report
    - gf_gzseek
    - gf_sg_command_new
    - gf_list_enum
    - gf_gzgets
    - strnicmp
    - gf_sm_stream_new
    - gf_sm_stream_au_new
    - gf_bt_loader_run_intern
    - strncpy
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_load_bt_initialize(GF_SceneLoader *load, const
      char *str, Bool input_only) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:509,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:515,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:528,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/scene_manager/loader_bt.c:514,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:529,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:584,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 2
    argNames:
    - parser
    - string_delim
    argTypes:
    - GF_BTParser*
    - u8
    constantsTouched: []
    func_position:
      end: 594
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 594
    functionName: gf_bt_get_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bt_check_line
    - gf_gzeof
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'char *gf_bt_get_string(GF_BTParser *parser, u8 string_delim) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/loader_bt.c:1184,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:1166,1
    - Dst: gf_bt_get_next_node_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1182,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1174,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - parser
    - defName
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1187
    functionName: gf_bt_get_def_id
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - sscanf
    - gf_bt_get_next_node_id
    - gf_sg_find_node
    - GF_LOG
    - strchr
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_def_id(GF_BTParser *parser, char *defName) '
  - BBCount: 152
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2345,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2553,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2379,1
    - Dst: gf_bt_parse_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:2756,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2273,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2459,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2471,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2592,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2692,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2490,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2394,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2772,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2095,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2689,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2703,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2235,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2337,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2494,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2516,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2707,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2714,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2128,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2167,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2294,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2700,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:2781,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2687,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2710,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2131,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2198,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2718,1
    - Dst: gf_sg_route_find_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2106,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2147,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2189,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2303,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2312,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2633,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2548,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2767,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2376,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2461,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2270,1
    - Dst: floor
      Src: /src/gpac/src/scene_manager/loader_bt.c:2328,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2566,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2637,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:2712,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2238,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2398,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2463,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2627,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2219,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2500,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2598,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2671,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2685,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2136,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2160,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2246,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2257,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2622,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2569,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2697,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2228,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2184,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2170,1
    - Dst: gf_bt_mffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2222,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2407,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:2551,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2680,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2143,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:2353,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2546,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2483,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2575,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2171,1
    - Dst: gf_bt_mffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2444,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2522,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2738,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2182,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2104,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2108,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2151,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2480,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2581,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2695,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2630,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2635,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2507,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2578,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2746,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2233,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:2289,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2471,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2564,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2775,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2525,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2573,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2669,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2174,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:2162,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2262,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2655,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2366,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2135,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2475,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2539,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2197,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2334,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2362,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2486,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2528,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2743,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2157,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2178,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2253,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2279,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2299,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2589,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2788,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2370,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2593,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2102,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2242,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2466,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2559,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2752,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2755,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2275,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2358,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2421,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2110,1
    - Dst: gf_bt_parse_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:2120,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2287,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/loader_bt.c:2325,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2766,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2730,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2741,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:2132,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2156,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2283,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2452,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2472,1
    - Dst: floor
      Src: /src/gpac/src/scene_manager/loader_bt.c:2325,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2368,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2164,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2520,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2691,1
    - Dst: gf_bt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_bt.c:2130,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2412,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2770,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2544,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2750,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2442,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2208,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2127,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2245,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2297,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2764,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2785,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2154,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2168,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2180,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2281,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2296,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2715,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2634,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2604,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2533,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2702,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2344,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2377,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2661,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2612,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2686,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2217,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scene_manager/loader_bt.c:2332,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2410,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2535,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2773,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2620,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2694,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2699,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2292,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2436,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2459,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:2489,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2708,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2762,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2125,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2191,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2724,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2420,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2491,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2587,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2495,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2505,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:2556,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2606,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2272,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2713,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2462,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2647,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2367,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2567,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2631,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2499,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2547,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2640,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2663,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2105,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2309,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2346,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2484,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2625,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2514,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2207,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2220,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2460,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2739,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:2116,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2161,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:2212,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2336,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:2350,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2660,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2623,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2670,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2252,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2356,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2121,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2582,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2706,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2521,1
    - Dst: gf_bt_get_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:2549,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2571,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2628,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2234,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2136,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2239,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2478,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2103,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2107,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:2441,1
    - Dst: gf_sg_vrml_field_pointer_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2729,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2109,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2517,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2778,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2726,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2280,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2603,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2735,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2759,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2791,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2298,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:2431,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2765,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2188,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2211,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2159,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2302,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2360,1
    - Dst: gf_bt_parse_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:2464,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2576,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2684,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2751,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2476,1
    - Dst: gf_bt_parse_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:2137,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:2387,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2428,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2565,1
    - Dst: gf_sg_command_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2594,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2610,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:2776,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:2132,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2481,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2545,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2501,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2560,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2580,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2754,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:2574,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2163,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2285,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2306,1
    - Dst: gf_bt_mffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:2673,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2562,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:2607,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2570,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2152,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2426,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2571,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2621,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2487,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2747,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2169,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2340,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2363,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:2664,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2616,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2557,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2745,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2205,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2649,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2304,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2126,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2155,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2274,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2291,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:2467,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2740,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2763,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2276,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2474,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:2504,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2656,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2383,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2418,1
    - Dst: bd_set_com_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2506,1
    - Dst: gf_sg_command_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2112,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2179,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2338,1
    CyclomaticComplexity: 229
    EdgeCount: 229
    ICount: 744
    argCount: 3
    argNames:
    - parser
    - name
    - cmdList
    argTypes:
    - GF_BTParser*
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 2793
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2793
    functionName: gf_bt_parse_bifs_command
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_get_tag
    - gf_node_get_field_by_name
    - gf_bt_mffield
    - gf_sg_command_field_new
    - gf_sg_route_find_by_name
    - gf_bt_check_code
    - FIX2FLT
    - gf_node_unregister
    - gf_sg_find_proto
    - gf_sg_command_del
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_sg_vrml_field_pointer_new
    - gf_bt_get_next
    - gf_node_get_id
    - strcpy
    - gf_node_list_get_child
    - gf_node_get_class_name
    - gf_bt_peek_node
    - gf_bt_report
    - gf_sg_command_new
    - floor
    - gf_bt_parse_int
    - gf_sg_vrml_is_sf_field
    - gf_bt_check_ndt
    - strchr
    - gf_bt_sf_node
    - gf_bt_get_route
    - gf_bt_parse_route
    - gf_node_list_add_child_last
    - gf_bt_sffield
    - bd_set_com_node
    - sscanf
    - gf_realloc
    - gf_list_rem
    - gf_bt_parse_proto
    - gf_bt_resolve_routes
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_bifs_command(GF_BTParser *parser, char *name, GF_List
      *cmdList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3679,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3680,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3682,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3681,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3683,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:3684,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:3685,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:3686,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3687,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3688,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3696,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3691,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3689,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3692,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3695,1
    - Dst: gf_gzclose
      Src: /src/gpac/src/scene_manager/loader_bt.c:3694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3698
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3698
    functionName: load_bt_done
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_gzclose
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void load_bt_done(GF_SceneLoader *load) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_bt.c:3813,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/loader_bt.c:3816,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3822,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3824,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3840,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3844,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3825,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3832,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3837,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:3833,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3843,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3819,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3826,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:3834,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3818,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3814,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3827,1
    - Dst: gf_bt_loader_run_intern
      Src: /src/gpac/src/scene_manager/loader_bt.c:3829,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3836,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:3835,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3831,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3830,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3838,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - in_scene
    - node_str
    - force_wrl
    argTypes:
    - GF_SceneGraph*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 3847
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3847
    functionName: gf_sm_load_bt_from_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_bt_loader_run_intern
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_List *gf_sm_load_bt_from_string(GF_SceneGraph *in_scene,
      char *node_str, Bool force_wrl) '
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_def_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1323,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1371,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1459,1
    - Dst: gf_sg_field_type_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1483,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1475,1
    - Dst: gf_bt_parse_bool
      Src: /src/gpac/src/scene_manager/loader_bt.c:1446,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1578,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1317,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_bt.c:1325,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:1404,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1476,1
    - Dst: gf_bt_mffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:1553,1
    - Dst: gf_node_init
      Src: /src/gpac/src/scene_manager/loader_bt.c:1566,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_bt.c:1572,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1536,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:1566,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1431,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1311,1
    - Dst: gf_bt_get_node_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:1332,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1391,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1402,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1513,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1538,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1440,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1438,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1444,1
    - Dst: gf_bt_get_string
      Src: /src/gpac/src/scene_manager/loader_bt.c:1430,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1293,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:1543,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1287,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1381,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1429,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1477,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1498,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1457,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1455,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1476,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1539,1
    - Dst: gf_bt_parse_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:1411,1
    - Dst: gf_bt_parse_bool
      Src: /src/gpac/src/scene_manager/loader_bt.c:1465,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1326,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_bt.c:1328,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:1551,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1479,1
    - Dst: gf_bt_get_def_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1314,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1416,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1491,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:1550,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1295,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:1336,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1343,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1383,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1436,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1525,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1581,1
    - Dst: gf_sg_proto_load_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1586,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1284,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1319,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/loader_bt.c:1353,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/loader_bt.c:1373,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1482,1
    - Dst: gf_bt_parse_bool
      Src: /src/gpac/src/scene_manager/loader_bt.c:1424,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:1509,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/scene_manager/loader_bt.c:1532,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:1542,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1297,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1318,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1324,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1410,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1453,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1463,1
    - Dst: gf_sg_proto_mark_field_loaded
      Src: /src/gpac/src/scene_manager/loader_bt.c:1502,1
    - Dst: gf_node_replace
      Src: /src/gpac/src/scene_manager/loader_bt.c:1570,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1592,1
    - Dst: gf_bt_set_field_is
      Src: /src/gpac/src/scene_manager/loader_bt.c:1493,1
    - Dst: gf_sg_script_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1490,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1299,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1322,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1489,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1422,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1559,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:1591,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1306,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1355,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:1405,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1396,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1485,1
    - Dst: gf_bt_check_ndt
      Src: /src/gpac/src/scene_manager/loader_bt.c:1516,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1563,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1577,1
    - Dst: gf_bt_get_def_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1310,1
    - Dst: gf_bt_update_timenode
      Src: /src/gpac/src/scene_manager/loader_bt.c:1386,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:1571,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_bt.c:1305,1
    - Dst: gf_bt_has_been_def
      Src: /src/gpac/src/scene_manager/loader_bt.c:1308,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1477,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1475,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:1406,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1442,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1394,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1296,1
    - Dst: gf_sg_find_node_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1303,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1388,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1402,1
    - Dst: gf_bt_set_field_is
      Src: /src/gpac/src/scene_manager/loader_bt.c:1503,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 305
    argCount: 4
    argNames:
    - parser
    - node_name
    - parent
    - szDEFName
    argTypes:
    - GF_BTParser*
    - char*
    - GF_Node*
    - char*
    constantsTouched: []
    func_position:
      end: 1594
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1594
    functionName: gf_bt_sf_node
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_init
    - gf_sg_proto_create_instance
    - gf_bt_parse_float
    - gf_node_get_tag
    - gf_sg_proto_load_code
    - gf_node_get_field_by_name
    - gf_bt_update_timenode
    - gf_node_set_id
    - gf_bt_mffield
    - gf_bt_parse_bool
    - gf_node_new
    - gf_sg_script_field_new
    - gf_bt_check_code
    - gf_node_unregister
    - gf_sg_find_proto
    - gf_sg_proto_mark_field_loaded
    - gf_node_replace
    - gf_strdup
    - strcmp
    - gf_bt_get_next
    - gf_node_get_id
    - gf_list_new
    - gf_bt_has_been_def
    - gf_list_del_item
    - gf_bt_set_field_is
    - gf_node_unregister_children
    - gf_bt_get_def_id
    - gf_bt_report
    - gf_sg_field_type_by_name
    - gf_sg_vrml_is_sf_field
    - gf_bt_check_ndt
    - gf_bt_get_string
    - gf_free
    - gf_node_register
    - gf_bt_sf_node
    - gf_bt_parse_route
    - gf_node_list_add_child_last
    - gf_bt_sffield
    - gf_bt_get_node_tag
    - gf_sg_find_node_by_name
    linkageType: ''
    returnType: GF_Node*
    signature: 'GF_Node *gf_bt_sf_node(GF_BTParser *parser, char *node_name, GF_Node
      *parent, char *szDEFName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - time
    argTypes:
    - GF_BTParser*
    - Double*
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 773
    functionName: gf_bt_offset_time
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_bt_offset_time(GF_BTParser *parser, Double *time) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:789,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:795,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:792,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:796,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:791,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:799,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:800,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:803,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:804,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:807,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:812,1
    - Dst: gf_node_get_num_fields_in_mode
      Src: /src/gpac/src/scene_manager/loader_bt.c:818,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:820,1
    - Dst: gf_bt_check_time_offset
      Src: /src/gpac/src/scene_manager/loader_bt.c:822,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:811,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:808,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - parser
    - node
    argTypes:
    - GF_BTParser*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 827
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 827
    functionName: gf_bt_update_timenode
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_bt_check_time_offset
    - gf_node_get_field
    - gf_bt_offset_time
    - gf_node_get_num_fields_in_mode
    linkageType: ''
    returnType: void
    signature: 'static void gf_bt_update_timenode(GF_BTParser *parser, GF_Node *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:1232,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:1234,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1235,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - parser
    - node_name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: gf_bt_has_been_def
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    - gf_node_get_name
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_has_been_def(GF_BTParser *parser, char *node_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1726,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1728,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1726,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1727,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1727,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1728,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1729,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1729,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - eventName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1731
    functionName: get_evt_type
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_evt_type(char *eventName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_add_desc
      Src: /src/gpac/src/scene_manager/loader_bt.c:2942,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2944,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - parser
    - par
    - child
    - fieldName
    argTypes:
    - GF_BTParser*
    - GF_Descriptor*
    - GF_Descriptor*
    - char*
    constantsTouched: []
    func_position:
      end: 2947
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2947
    functionName: gf_bt_add_desc
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_add_desc
    - gf_bt_report
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'static void gf_bt_add_desc(GF_BTParser *parser, GF_Descriptor *par,
      GF_Descriptor *child, char *fieldName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:528,1
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - line_buffer
    - '!='':'''
    argTypes:
    - parser
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: if
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_check_line
    - strchr
    linkageType: ''
    returnType: BT_STR_CHECK_ALLOC
    signature: 'BT_STR_CHECK_ALLOC if ((parser->line_buffer[parser->line_pos]==''/'')
      && (parser->line_buffer[parser->line_pos+1]==''/'') && (parser->line_buffer[parser->line_pos-1]!='':'')
      ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/loader_bt.c:778,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:779,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:780,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:779,1
    - Dst: gf_sg_proto_field_is_sftime_offset
      Src: /src/gpac/src/scene_manager/loader_bt.c:781,1
    - Dst: gf_bt_offset_time
      Src: /src/gpac/src/scene_manager/loader_bt.c:782,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - parser
    - n
    - info
    argTypes:
    - GF_BTParser*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 784
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 784
    functionName: gf_bt_check_time_offset
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_sg_proto_field_is_sftime_offset
    - stricmp
    - gf_bt_offset_time
    - gf_node_get_tag
    linkageType: ''
    returnType: void
    signature: 'static void gf_bt_check_time_offset(GF_BTParser *parser, GF_Node *n,
      GF_FieldInfo *info) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_parse_colorRGBA
      Src: /src/gpac/src/scene_manager/loader_bt.c:858,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1015,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1018,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1051,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:872,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:885,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:889,1
    - Dst: gf_bt_get_string
      Src: /src/gpac/src/scene_manager/loader_bt.c:1053,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_bt.c:972,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:861,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:908,1
    - Dst: gf_bt_parse_bifs_command
      Src: /src/gpac/src/scene_manager/loader_bt.c:997,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:929,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:892,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:905,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1050,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1080,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:919,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:873,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:877,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:880,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:912,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:977,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1060,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1067,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:896,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:909,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1064,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1020,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:893,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:984,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1066,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:959,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:996,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1065,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:865,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:869,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:842,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:897,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:904,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:935,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/loader_bt.c:1016,1
    - Dst: gf_bt_parse_bool
      Src: /src/gpac/src/scene_manager/loader_bt.c:838,1
    - Dst: gf_bt_check_time_offset
      Src: /src/gpac/src/scene_manager/loader_bt.c:852,1
    - Dst: gf_bt_get_string
      Src: /src/gpac/src/scene_manager/loader_bt.c:932,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:967,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:993,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1067,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:954,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/loader_bt.c:962,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1059,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:1019,1
    - Dst: gf_bt_parse_color
      Src: /src/gpac/src/scene_manager/loader_bt.c:855,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:864,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1061,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:1009,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:940,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:923,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:930,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:1007,1
    - Dst: gf_sm_update_bitwrapper_buffer
      Src: /src/gpac/src/scene_manager/loader_bt.c:943,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:970,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1083,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:1011,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:850,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:884,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:901,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:921,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:937,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:968,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:953,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:973,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1019,1
    - Dst: gf_bt_get_string
      Src: /src/gpac/src/scene_manager/loader_bt.c:957,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:834,1
    - Dst: gf_bt_parse_double
      Src: /src/gpac/src/scene_manager/loader_bt.c:846,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:881,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:913,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:917,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 180
    argCount: 3
    argNames:
    - parser
    - info
    - n
    argTypes:
    - GF_BTParser*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1084
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 1084
    functionName: gf_bt_sffield
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_bt_parse_float
    - gf_sm_update_bitwrapper_buffer
    - gf_node_get_field_by_name
    - gf_bt_parse_bool
    - gf_bt_check_code
    - gf_bt_parse_colorRGBA
    - strstr
    - gf_bt_parse_color
    - strcmp
    - gf_bt_parse_bifs_command
    - gf_bt_get_next
    - gf_node_get_class_name
    - gf_bt_peek_node
    - gf_bt_report
    - sprintf
    - gf_bt_parse_int
    - gf_bt_get_string
    - strchr
    - strnicmp
    - gf_free
    - gf_bt_parse_double
    - sscanf
    - gf_bt_check_time_offset
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_sffield(GF_BTParser *parser, GF_FieldInfo *info, GF_Node
      *n) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1246,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1249,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1252,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1253,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1256,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1258,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1259,1
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - parser
    - node_name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1266
    functionName: gf_bt_get_node_tag
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_mpeg4_type_by_class_name
    - gf_node_x3d_type_by_class_name
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_bt_get_node_tag(GF_BTParser *parser, char *node_name) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1753,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:1760,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1776,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1908,1
    - Dst: gf_bt_parse_proto
      Src: /src/gpac/src/scene_manager/loader_bt.c:1910,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1888,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1755,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:1764,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1783,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1802,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1877,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1909,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1911,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1920,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1750,1
    - Dst: gf_sg_proto_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1763,1
    - Dst: gf_bt_sffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:1811,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:1827,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:1843,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1871,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:1793,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:1797,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1822,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1840,1
    - Dst: gf_node_list_add_child_last
      Src: /src/gpac/src/scene_manager/loader_bt.c:1807,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/scene_manager/loader_bt.c:1943,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:1944,1
    - Dst: gf_bt_mffield
      Src: /src/gpac/src/scene_manager/loader_bt.c:1818,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1821,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1824,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1883,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1915,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1925,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1823,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:1752,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1786,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/scene_manager/loader_bt.c:1869,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1913,1
    - Dst: gf_bt_get_def_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1929,1
    - Dst: gf_bt_parse_int
      Src: /src/gpac/src/scene_manager/loader_bt.c:1832,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1798,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1805,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1837,1
    - Dst: gf_bt_get_next_proto_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1757,1
    - Dst: gf_sg_proto_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:1761,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1770,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1796,1
    - Dst: get_evt_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:1797,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1831,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1907,1
    - Dst: gf_bt_parse_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:1916,1
    - Dst: gf_bt_check_unresolved_nodes
      Src: /src/gpac/src/scene_manager/loader_bt.c:1937,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1839,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:1754,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1780,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1772,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1830,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1896,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1856,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1748,1
    - Dst: gf_sg_field_type_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1784,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:1810,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1921,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1867,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1881,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1845,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/scene_manager/loader_bt.c:1872,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1773,1
    - Dst: gf_bt_get_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:1918,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1873,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1889,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1931,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1897,1
    - Dst: get_evt_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:1778,1
    - Dst: gf_bt_sf_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1806,1
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/loader_bt.c:1904,1
    - Dst: gf_bifs_proto_field_set_aq_info
      Src: /src/gpac/src/scene_manager/loader_bt.c:1855,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1857,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1880,1
    - Dst: gf_bt_parse_float
      Src: /src/gpac/src/scene_manager/loader_bt.c:1844,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1751,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1795,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:1849,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:1914,1
    - Dst: gf_bt_get_next_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1919,1
    - Dst: gf_sg_proto_add_node_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1933,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1876,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1846,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1833,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:1874,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1789,1
    - Dst: gf_sg_proto_field_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:1790,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1909,1
    - Dst: gf_bt_resolve_routes
      Src: /src/gpac/src/scene_manager/loader_bt.c:1936,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 224
    argCount: 3
    argNames:
    - parser
    - proto_code
    - proto_list
    argTypes:
    - GF_BTParser*
    - char*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1946
    functionName: gf_bt_parse_proto
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_bt_parse_float
    - gf_sg_route_set_id
    - gf_sg_proto_add_node_code
    - gf_bifs_proto_field_set_aq_info
    - gf_node_set_id
    - gf_bt_mffield
    - gf_bt_check_code
    - gf_sg_find_proto
    - gf_sg_proto_get_graph
    - gf_bt_get_next_route_id
    - gf_strdup
    - strcmp
    - gf_sg_proto_field_new
    - gf_sg_vrml_mf_reset
    - gf_bt_get_next
    - gf_sg_vrml_mf_append
    - strcpy
    - gf_bt_check_unresolved_nodes
    - gf_sg_proto_new
    - gf_list_del_item
    - gf_bt_get_next_proto_id
    - gf_bt_report
    - gf_bt_get_def_id
    - gf_sg_proto_field_get_field
    - gf_sg_field_type_by_name
    - sprintf
    - gf_bt_parse_int
    - gf_sg_vrml_is_sf_field
    - gf_free
    - strnicmp
    - gf_bt_sf_node
    - gf_bt_get_route
    - gf_bt_parse_route
    - gf_node_list_add_child_last
    - gf_bt_sffield
    - gf_sg_proto_del
    - get_evt_type
    - sscanf
    - gf_sg_route_set_name
    - gf_bt_parse_proto
    - gf_bt_resolve_routes
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_proto(GF_BTParser *parser, char *proto_code, GF_List
      *proto_list) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2973,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2978,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2994,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2990,1
    - Dst: gf_odf_get_field_type
      Src: /src/gpac/src/scene_manager/loader_bt.c:2984,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2998,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3014,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3017,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3027,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3037,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3063,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3068,1
    - Dst: gf_sm_stream_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:3096,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2968,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2974,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2975,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2977,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:2991,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/loader_bt.c:3002,1
    - Dst: gf_bt_parse_ipmpx
      Src: /src/gpac/src/scene_manager/loader_bt.c:3015,1
    - Dst: gf_ipmpx_data_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3023,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3026,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3038,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:3113,1
    - Dst: gf_sm_get_mux_info
      Src: /src/gpac/src/scene_manager/loader_bt.c:3103,1
    - Dst: gf_odf_set_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:3064,1
    - Dst: gf_odf_get_tag_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2960,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2962,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2995,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2981,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2979,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2980,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3009,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3013,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3036,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3040,1
    - Dst: gf_bt_add_desc
      Src: /src/gpac/src/scene_manager/loader_bt.c:3059,1
    - Dst: gf_bt_parse_descriptor
      Src: /src/gpac/src/scene_manager/loader_bt.c:3053,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3055,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2958,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2965,1
    - Dst: gf_bt_parse_ipmpx
      Src: /src/gpac/src/scene_manager/loader_bt.c:2996,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3010,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:3048,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/loader_bt.c:3056,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:3067,1
    - Dst: gf_bt_add_desc
      Src: /src/gpac/src/scene_manager/loader_bt.c:3044,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:3052,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 147
    argCount: 2
    argNames:
    - parser
    - name
    argTypes:
    - GF_BTParser*
    - char*
    constantsTouched: []
    func_position:
      end: 3117
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 3117
    functionName: gf_bt_parse_descriptor
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_list_add
    - gf_sm_stream_new
    - gf_strdup
    - strcmp
    - gf_odf_get_field_type
    - gf_odf_get_tag_by_name
    - gf_bt_get_next
    - gf_odf_desc_new
    - gf_bt_parse_descriptor
    - gf_bt_parse_ipmpx
    - gf_odf_desc_del
    - gf_sm_get_mux_info
    - strcpy
    - gf_bt_check_code
    - gf_bt_add_desc
    - gf_ipmpx_data_del
    - gf_odf_set_field
    linkageType: ''
    returnType: GF_Descriptor*
    signature: 'GF_Descriptor *gf_bt_parse_descriptor(GF_BTParser *parser, char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - load
    - suspend
    argTypes:
    - GF_SceneLoader*
    - Bool
    constantsTouched: []
    func_position:
      end: 3766
      start: 3763
    functionDepth: 0
    functionLinenumber: 3763
    functionLinenumberEnd: 3766
    functionName: load_bt_suspend
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_bt_suspend(GF_SceneLoader *load, Bool suspend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: gf_bt_force_line
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_force_line(GF_BTParser *parser) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:679,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:685,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:681,1
    - Dst: check_keyword
      Src: /src/gpac/src/scene_manager/loader_bt.c:683,1
    - Dst: sscanf
      Src: /src/gpac/src/scene_manager/loader_bt.c:686,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - parser
    - name
    - val
    argTypes:
    - GF_BTParser*
    - char*
    - SFInt32*
    constantsTouched: []
    func_position:
      end: 690
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 690
    functionName: gf_bt_parse_int
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - check_keyword
    - sscanf
    - gf_bt_get_next
    - strnicmp
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_int(GF_BTParser *parser, const char *name, SFInt32
      *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:1196,1
    - Dst: gf_sg_proto_field_find_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1205,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1202,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1199,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1201,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1207,1
    - Dst: gf_sg_proto_field_get_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:1210,1
    - Dst: gf_sg_proto_field_set_ised
      Src: /src/gpac/src/scene_manager/loader_bt.c:1211,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - info
    - n
    argTypes:
    - GF_BTParser*
    - GF_FieldInfo*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1214
    functionName: gf_bt_set_field_is
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_sg_proto_field_find_by_name
    - gf_sg_proto_field_set_ised
    - gf_sg_proto_field_get_field
    - gf_bt_get_next
    - gf_bt_check_line
    - strnicmp
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_set_field_is(GF_BTParser *parser, GF_FieldInfo *info, GF_Node
      *n) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:1962,1
    - Dst: gf_bt_route_id_used
      Src: /src/gpac/src/scene_manager/loader_bt.c:1968,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1972,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:1990,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1999,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2001,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2015,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2018,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:2021,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2028,1
    - Dst: gf_sg_route_set_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2051,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2019,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:1959,1
    - Dst: atoi
      Src: /src/gpac/src/scene_manager/loader_bt.c:1965,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1987,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1983,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1996,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1996,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:2005,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:2011,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2012,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2024,1
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:2038,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2034,1
    - Dst: gf_sg_set_max_defined_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2041,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2028,1
    - Dst: gf_sg_route_set_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2050,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1960,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1959,1
    - Dst: gf_bt_check_code
      Src: /src/gpac/src/scene_manager/loader_bt.c:1979,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1984,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1980,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1992,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:2005,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:2006,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2008,1
    - Dst: gf_node_get_field_by_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2016,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:2028,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:2022,1
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:1961,1
    - Dst: gf_bt_get_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:1963,1
    - Dst: gf_bt_get_next_route_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:1971,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/loader_bt.c:1972,1
    - Dst: gf_bt_peek_node
      Src: /src/gpac/src/scene_manager/loader_bt.c:1974,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1976,1
    - Dst: strnicmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:1986,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/loader_bt.c:1989,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1996,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:2000,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/scene_manager/loader_bt.c:2048,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/loader_bt.c:2032,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 125
    argCount: 4
    argNames:
    - parser
    - skip_def
    - is_insert
    - com
    argTypes:
    - GF_BTParser*
    - Bool
    - Bool
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2054
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 2054
    functionName: gf_bt_parse_route
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_node_get_field_by_name
    - gf_sg_route_set_id
    - gf_sg_route_new
    - gf_bt_check_code
    - strstr
    - gf_bt_get_next_route_id
    - gf_strdup
    - strcmp
    - gf_bt_get_next
    - atoi
    - gf_node_get_id
    - strcpy
    - gf_node_get_class_name
    - gf_bt_peek_node
    - gf_bt_report
    - gf_node_get_name
    - gf_bt_route_id_used
    - strnicmp
    - gf_sg_set_max_defined_route_id
    - gf_bt_get_route
    - gf_sg_route_set_name
    linkageType: ''
    returnType: GF_Route*
    signature: 'GF_Route *gf_bt_parse_route(GF_BTParser *parser, Bool skip_def, Bool
      is_insert, GF_Command *com) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_load_bt_initialize
      Src: /src/gpac/src/scene_manager/loader_bt.c:3707,1
    - Dst: gf_gzclose
      Src: /src/gpac/src/scene_manager/loader_bt.c:3717,1
    - Dst: gf_bt_loader_run_intern
      Src: /src/gpac/src/scene_manager/loader_bt.c:3711,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3722,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - load
    argTypes:
    - GF_SceneLoader*
    constantsTouched: []
    func_position:
      end: 3730
      start: 3700
    functionDepth: 0
    functionLinenumber: 3700
    functionLinenumberEnd: 3730
    functionName: load_bt_run
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_loader_run_intern
    - gf_gzclose
    - gf_free
    - gf_sm_load_bt_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_bt_run(GF_SceneLoader *load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_check_line
      Src: /src/gpac/src/scene_manager/loader_bt.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - code
    argTypes:
    - GF_BTParser*
    - char
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: gf_bt_check_code
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_check_line
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_bt_check_code(GF_BTParser *parser, char code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bt_get_next
      Src: /src/gpac/src/scene_manager/loader_bt.c:693,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:700,1
    - Dst: gf_bt_check_externproto_field
      Src: /src/gpac/src/scene_manager/loader_bt.c:695,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:697,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:697,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/loader_bt.c:700,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:703,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - parser
    - name
    - val
    argTypes:
    - GF_BTParser*
    - char*
    - SFBool*
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: gf_bt_parse_bool
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - strcmp
    - gf_bt_get_next
    - stricmp
    - gf_bt_check_externproto_field
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_bt_parse_bool(GF_BTParser *parser, const char *name, SFBool
      *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:1219,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/loader_bt.c:1223,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:1222,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/loader_bt.c:1224,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:1223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GF_BTParser*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1227
    functionName: gf_bt_check_unresolved_nodes
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_list_get
    - gf_node_get_name
    - gf_list_count
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_check_unresolved_nodes(GF_BTParser *parser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:2059,1
    - Dst: gf_bt_report
      Src: /src/gpac/src/scene_manager/loader_bt.c:2066,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/loader_bt.c:2060,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:2061,1
    - Dst: gf_bt_get_route
      Src: /src/gpac/src/scene_manager/loader_bt.c:2065,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:2067,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/loader_bt.c:2075,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/loader_bt.c:2075,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - parser
    - clean
    argTypes:
    - GF_BTParser*
    - Bool
    constantsTouched: []
    func_position:
      end: 2076
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2076
    functionName: gf_bt_resolve_routes
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - gf_bt_report
    - gf_list_get
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_bt_get_route
    linkageType: ''
    returnType: void
    signature: 'void gf_bt_resolve_routes(GF_BTParser *parser, Bool clean) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/scene_manager/loader_bt.c:3746,1
    - Dst: gf_sm_load_bt_initialize
      Src: /src/gpac/src/scene_manager/loader_bt.c:3750,1
    - Dst: gf_bt_loader_run_intern
      Src: /src/gpac/src/scene_manager/loader_bt.c:3756,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3752,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/loader_bt.c:3747,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/loader_bt.c:3759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - load
    - str
    argTypes:
    - GF_SceneLoader*
    - char*
    constantsTouched: []
    func_position:
      end: 3761
      start: 3733
    functionDepth: 0
    functionLinenumber: 3733
    functionLinenumberEnd: 3761
    functionName: load_bt_parse_string
    functionSourceFile: /src/gpac/src/scene_manager/loader_bt.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_sm_load_bt_initialize
    - gf_strdup
    - gf_bt_loader_run_intern
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err load_bt_parse_string(GF_SceneLoader *load, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetStatisitics
      Src: /src/gpac/src/scene_manager/scene_stats.c:87,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_stats.c:88,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_stats.c:90,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_stats.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stat
    argTypes:
    - GF_SceneStatistics*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: DeleteStatisitics
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - ResetStatisitics
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void DeleteStatisitics(GF_SceneStatistics *stat) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/scene_manager/scene_stats.c:393,1
    - Dst: StatNode
      Src: /src/gpac/src/scene_manager/scene_stats.c:394,1
    - Dst: StatIsUSE
      Src: /src/gpac/src/scene_manager/scene_stats.c:394,1
    - Dst: gf_sg_proto_create_node
      Src: /src/gpac/src/scene_manager/scene_stats.c:402,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/scene_stats.c:399,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/scene_stats.c:408,1
    - Dst: StatSVGAttribute
      Src: /src/gpac/src/scene_manager/scene_stats.c:419,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:424,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:439,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:442,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:449,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/scene_stats.c:469,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:459,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/scene_manager/scene_stats.c:460,1
    - Dst: gf_node_set_cyclic_traverse_flag
      Src: /src/gpac/src/scene_manager/scene_stats.c:470,1
    - Dst: StatField
      Src: /src/gpac/src/scene_manager/scene_stats.c:461,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:454,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 2
    argNames:
    - st
    - n
    argTypes:
    - GF_StatManager*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 472
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 472
    functionName: StatNodeGraph
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatIsUSE
    - gf_sg_vrml_field_equal
    - StatField
    - StatNodeGraph
    - gf_node_get_field
    - StatNode
    - gf_sg_proto_create_node
    - gf_node_new
    - StatSVGAttribute
    - gf_node_get_field_count
    - gf_node_set_cyclic_traverse_flag
    - gf_node_register
    - gf_node_unregister
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err StatNodeGraph(GF_StatManager *st, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_stats.c:678,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_stats.c:680,1
    - Dst: DeleteStatisitics
      Src: /src/gpac/src/scene_manager/scene_stats.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stat
    argTypes:
    - GF_StatManager*
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: gf_sm_stats_del
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - DeleteStatisitics
    - gf_free
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_stats_del(GF_StatManager *stat) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_stats.c:103,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_stats.c:115,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_stats.c:108,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_stats.c:120,1
    - Dst: gf_sg_proto_get_class_name
      Src: /src/gpac/src/scene_manager/scene_stats.c:113,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_stats.c:125,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_stats.c:128,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_stats.c:129,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 5
    argNames:
    - stat
    - n
    - isUsed
    - isDelete
    - prev
    argTypes:
    - GF_SceneStatistics*
    - GF_Node*
    - Bool
    - Bool
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 136
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 136
    functionName: StatNode
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_sg_proto_get_class_name
    - GF_SAFEALLOC
    - gf_node_get_class_name
    linkageType: ''
    returnType: void
    signature: 'static void StatNode(GF_SceneStatistics *stat, GF_Node *n, Bool isUsed,
      Bool isDelete, GF_Node *prev) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:498,1
    - Dst: StatNode
      Src: /src/gpac/src/scene_manager/scene_stats.c:538,1
    - Dst: gf_node_list_get_child
      Src: /src/gpac/src/scene_manager/scene_stats.c:547,1
    - Dst: StatRemField
      Src: /src/gpac/src/scene_manager/scene_stats.c:550,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:554,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:567,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:591,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:593,1
    - Dst: StatSingleField
      Src: /src/gpac/src/scene_manager/scene_stats.c:600,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:485,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:486,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:509,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:542,1
    - Dst: StatSingleField
      Src: /src/gpac/src/scene_manager/scene_stats.c:532,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_stats.c:546,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:558,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_stats.c:598,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:602,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:491,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_stats.c:530,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_stats.c:563,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:576,1
    - Dst: StatSingleField
      Src: /src/gpac/src/scene_manager/scene_stats.c:583,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:494,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:503,1
    - Dst: StatField
      Src: /src/gpac/src/scene_manager/scene_stats.c:517,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:524,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:528,1
    - Dst: StatNode
      Src: /src/gpac/src/scene_manager/scene_stats.c:548,1
    - Dst: StatSingleField
      Src: /src/gpac/src/scene_manager/scene_stats.c:565,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_stats.c:581,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:592,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 86
    argCount: 2
    argNames:
    - stat
    - com
    argTypes:
    - GF_StatManager*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 616
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 616
    functionName: gf_sm_stats_for_command
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - StatField
    - StatRemField
    - StatNodeGraph
    - gf_list_count
    - gf_node_get_field
    - StatSingleField
    - StatNode
    - gf_node_list_get_child
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_stats_for_command(GF_StatManager *stat, GF_Command
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - stat
    argTypes:
    - GF_StatManager*
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: gf_sm_stats_get
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_SceneStatistics *gf_sm_stats_get(GF_StatManager
      *stat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetStatisitics
      Src: /src/gpac/src/scene_manager/scene_stats.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stat
    argTypes:
    - GF_StatManager*
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: gf_sm_stats_reset
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - ResetStatisitics
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_stats_reset(GF_StatManager *stat) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - stat
    - fieldType
    - field
    argTypes:
    - GF_SceneStatistics*
    - u32
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: StatRemField
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void StatRemField(GF_SceneStatistics *stat, u32 fieldType,
      GF_FieldInfo *field) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:439,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:449,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:459,1
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:454,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_stats.c:442,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/scene_manager/scene_stats.c:460,1
    - Dst: StatField
      Src: /src/gpac/src/scene_manager/scene_stats.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - GF_NODE_RANGE_LAST_X3D
    argTypes:
    - n
    constantsTouched: []
    func_position:
      end: 466
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 466
    functionName: if
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatField
    - gf_sg_vrml_field_equal
    - StatNodeGraph
    - gf_node_get_field
    - gf_node_get_field_count
    linkageType: ''
    returnType: else
    signature: 'else if (n->sgprivate->tag<= GF_NODE_RANGE_LAST_X3D) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_stats.c:40,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_stats.c:44,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_stats.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: NewSceneStats
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_SceneStatistics*
    signature: 'static GF_SceneStatistics *NewSceneStats() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:61,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_stats.c:63,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:62,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_stats.c:64,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:66,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:67,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_stats.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_stats.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - stat
    argTypes:
    - GF_SceneStatistics*
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: ResetStatisitics
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ResetStatisitics(GF_SceneStatistics *stat) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - stat
    - val
    argTypes:
    - GF_SceneStatistics*
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: StatSFVec2f
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void StatSFVec2f(GF_SceneStatistics *stat, SFVec2f *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_stats.c:377,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_stats.c:382,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_stats.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - st
    - n
    argTypes:
    - GF_StatManager*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: StatIsUSE
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_node_get_id
    linkageType: ''
    returnType: Bool
    signature: 'Bool StatIsUSE(GF_StatManager *st, GF_Node *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_stats.c:668,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_stats.c:669,1
    - Dst: NewSceneStats
      Src: /src/gpac/src/scene_manager/scene_stats.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: gf_sm_stats_new
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_new
    - NewSceneStats
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_StatManager *gf_sm_stats_new() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/scene_stats.c:148,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - stat
    - v
    - scale
    argTypes:
    - GF_SceneStatistics*
    - Fixed
    - Bool
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: StatFixed
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - FIX2INT
    linkageType: ''
    returnType: void
    signature: 'static void StatFixed(GF_SceneStatistics *stat, Fixed v, Bool scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StatNodeGraph
      Src: /src/gpac/src/scene_manager/scene_stats.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - stat
    - sg
    argTypes:
    - GF_StatManager*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: gf_sm_stats_for_graph
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatNodeGraph
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_stats_for_graph(GF_StatManager *stat, GF_SceneGraph
      *sg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:183,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - stat
    - val
    argTypes:
    - GF_SceneStatistics*
    - SFVec2f*
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: StatSVGPoint
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatFixed
    linkageType: ''
    returnType: void
    signature: 'static void StatSVGPoint(GF_SceneStatistics *stat, SFVec2f *val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - stat
    - val
    argTypes:
    - GF_SceneStatistics*
    - SFVec3f*
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: StatSFVec3f
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void StatSFVec3f(GF_SceneStatistics *stat, SFVec3f *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StatSFVec2f
      Src: /src/gpac/src/scene_manager/scene_stats.c:264,1
    - Dst: StatSFVec3f
      Src: /src/gpac/src/scene_manager/scene_stats.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - stat
    - field
    argTypes:
    - GF_SceneStatistics*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: StatSingleField
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatSFVec2f
    - StatSFVec3f
    linkageType: ''
    returnType: void
    signature: 'static void StatSingleField(GF_SceneStatistics *stat, GF_FieldInfo
      *field) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:290,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:303,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/scene_manager/scene_stats.c:321,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:336,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:291,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:311,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:312,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/scene_manager/scene_stats.c:334,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:322,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:327,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:325,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:339,1
    - Dst: StatSVGPoint
      Src: /src/gpac/src/scene_manager/scene_stats.c:285,1
    - Dst: StatSVGPoint
      Src: /src/gpac/src/scene_manager/scene_stats.c:292,1
    - Dst: StatSVGPoint
      Src: /src/gpac/src/scene_manager/scene_stats.c:313,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:326,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:324,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:335,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:338,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:340,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:302,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:323,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:337,1
    - Dst: StatFixed
      Src: /src/gpac/src/scene_manager/scene_stats.c:346,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 64
    argCount: 2
    argNames:
    - stat
    - field
    argTypes:
    - GF_SceneStatistics*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 349
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 349
    functionName: StatSVGAttribute
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx2d_is_identity
    - gf_list_count
    - StatSVGPoint
    - StatFixed
    linkageType: ''
    returnType: void
    signature: 'static void StatSVGAttribute(GF_SceneStatistics *stat, GF_FieldInfo
      *field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:621,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_stats.c:623,1
    - Dst: gf_sm_stats_for_command
      Src: /src/gpac/src/scene_manager/scene_stats.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - commandList
    - st
    argTypes:
    - GF_List*
    - GF_StatManager*
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: gf_sm_stat_au
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_sm_stats_for_command
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_stat_au(GF_List *commandList, GF_StatManager *st) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: StatSFVec2f
      Src: /src/gpac/src/scene_manager/scene_stats.c:225,1
    - Dst: StatSFVec2f
      Src: /src/gpac/src/scene_manager/scene_stats.c:242,1
    - Dst: StatSFVec3f
      Src: /src/gpac/src/scene_manager/scene_stats.c:251,1
    - Dst: StatSFVec3f
      Src: /src/gpac/src/scene_manager/scene_stats.c:229,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - stat
    - field
    argTypes:
    - GF_SceneStatistics*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 257
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 257
    functionName: StatField
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - StatSFVec2f
    - StatSFVec3f
    linkageType: ''
    returnType: void
    signature: 'static void StatField(GF_SceneStatistics *stat, GF_FieldInfo *field) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_stats.c:636,1
    - Dst: gf_sm_stat_au
      Src: /src/gpac/src/scene_manager/scene_stats.c:647,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_stats.c:638,1
    - Dst: gf_sm_stats_for_graph
      Src: /src/gpac/src/scene_manager/scene_stats.c:652,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_stats.c:646,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - stat
    - sm
    argTypes:
    - GF_StatManager*
    - GF_SceneManager*
    constantsTouched: []
    func_position:
      end: 655
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 655
    functionName: gf_sm_stats_for_scene
    functionSourceFile: /src/gpac/src/scene_manager/scene_stats.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_count
    - gf_sm_stats_for_graph
    - gf_sm_stat_au
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_stats_for_scene(GF_StatManager *stat, GF_SceneManager
      *sm) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_dump.c:85,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:100,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:100,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:101,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:100,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/scene_dump.c:102,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/scene_dump.c:103,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:105,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:154,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:154,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:159,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:154,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:183,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:181,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:182,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:155,1
    - Dst: gf_fopen
      Src: /src/gpac/src/scene_manager/scene_dump.c:157,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/scene_dump.c:156,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 5
    argNames:
    - graph
    - _rad_name
    - is_final_name
    - indent_char
    - dump_mode
    argTypes:
    - GF_SceneGraph*
    - char*
    - Bool
    - char
    - GF_SceneDumpFormat
    constantsTouched: []
    func_position:
      end: 186
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 186
    functionName: gf_sm_dumper_new
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - GF_SAFEALLOC
    - strcpy
    - gf_list_new
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneDumper *gf_sm_dumper_new(GF_SceneGraph *graph, char
      *_rad_name, Bool is_final_name, char indent_char, GF_SceneDumpFormat dump_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:197,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_dump.c:200,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:198,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:199,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/scene_dump.c:201,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:203,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:204,1
    - Dst: gf_fclose
      Src: /src/gpac/src/scene_manager/scene_dump.c:205,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:207,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - sdump
    argTypes:
    - GF_SceneDumper*
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: gf_sm_dumper_del
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - gf_fclose
    - gf_node_unregister
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_dumper_del(GF_SceneDumper *sdump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/scene_manager/scene_dump.c:317,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_dump.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - sdump
    - node
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: gf_dump_vrml_is_def_node
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_dump_vrml_is_def_node(GF_SceneDumper *sdump, GF_Node
      *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:399,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:402,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:404,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sdump
    - name
    argTypes:
    - GF_SceneDumper*
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: StartList
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartList(GF_SceneDumper *sdump, const char *name) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1375,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1544,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1541,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1590,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1562,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1617,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1681,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1545,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1403,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1406,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1560,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1581,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1376,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1404,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1409,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1557,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1582,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:1419,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:1449,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1465,1
    - Dst: gf_dump_vrml_get_IS
      Src: /src/gpac/src/scene_manager/scene_dump.c:1468,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1529,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1599,1
    - Dst: gf_dump_vrml_IS_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1618,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1575,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:1634,1
    - Dst: gf_dump_vrml_dyn_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1609,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:1628,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1397,1
    - Dst: gf_dump_vrml_is_def_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1400,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1639,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1651,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1556,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:1566,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1588,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1367,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/scene_dump.c:1453,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1571,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1671,1
    - Dst: gf_dump_vrml_IS_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1672,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1405,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1412,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:1430,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1580,1
    - Dst: scene_dump_vrml_can_dump
      Src: /src/gpac/src/scene_manager/scene_dump.c:1374,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1381,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1546,1
    - Dst: gf_dump_vrml_IS_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1640,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1625,1
    - Dst: gf_dump_vrml_proto_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1654,1
    - Dst: gf_dump_vrml_dyn_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1666,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1414,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1417,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1418,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/scene_dump.c:1447,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1508,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1577,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1611,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1689,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1573,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1601,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1426,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:1427,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_dump.c:1375,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1548,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1633,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/scene_dump.c:1538,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:1396,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1574,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1583,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1656,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1645,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:1691,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1552,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1410,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1411,1
    - Dst: gf_sg_vrml_field_equal
      Src: /src/gpac/src/scene_manager/scene_dump.c:1530,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1680,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1686,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1662,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1589,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1585,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:1416,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1687,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 247
    argCount: 4
    argNames:
    - sdump
    - node
    - in_list
    - fieldContainer
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1692
    functionName: gf_dump_vrml_node
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - scene_dump_vrml_can_dump
    - gf_malloc
    - gf_dump_vrml_IS_field
    - gf_sg_proto_create_instance
    - gf_node_get_tag
    - gf_fprintf
    - GF_LOG
    - EndElementHeader
    - EndAttribute
    - gf_node_new
    - StartElement
    - gf_dump_vrml_proto_field
    - EndElement
    - gf_node_unregister
    - gf_sg_vrml_field_equal
    - gf_list_count
    - gf_node_get_id
    - gf_node_get_class_name
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_node_get_field
    - StartAttribute
    - gf_free
    - gf_node_register
    - gf_dump_vrml_is_def_node
    - gf_dump_vrml_field
    - gf_dump_vrml_get_IS
    - gf_dump_vrml_dyn_field
    - gf_node_get_field_count
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_node(GF_SceneDumper *sdump, GF_Node *node,
      Bool in_list, char *fieldContainer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scene_dump_vrml_find_route_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:2303,1
    - Dst: gf_dump_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2308,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_dump.c:2305,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2311,1
    - Dst: gf_dump_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2306,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2313,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2314,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2315,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2317,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2318,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:2321,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2322,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2324
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2324
    functionName: DumpRouteReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_route
    - memset
    - gf_fprintf
    - scene_dump_vrml_route_id
    - DUMP_IND
    - gf_dump_find_node
    - scene_dump_vrml_find_route_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpRouteReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2747
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2747
    functionName: DumpLSRInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRInsert(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2758
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2758
    functionName: DumpLSRClean
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRClean(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sdump
    - extra
    argTypes:
    - GF_SceneDumper*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: gf_sm_dumper_set_extra_graph
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_sm_dumper_set_extra_graph(GF_SceneDumper *sdump,
      GF_SceneGraph *extra) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - bd
    argTypes:
    - GF_SceneDumper*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: gf_sm_dump_get_name
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *gf_sm_dump_get_name(GF_SceneDumper *bd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - sdump
    - ID
    argTypes:
    - GF_SceneDumper*
    - u32
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: gf_dump_find_node
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_sg_find_node
    linkageType: ''
    returnType: GF_Node*
    signature: 'static GF_Node *gf_dump_find_node(GF_SceneDumper *sdump, u32 ID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:413,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:417,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sdump
    - name
    argTypes:
    - GF_SceneDumper*
    - char*
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: EndList
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndList(GF_SceneDumper *sdump, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1702,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1707,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1711,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1730,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1712,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1734,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1722,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:1701,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1724,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1736,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1726,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1738,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1700,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1705,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1708,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1713,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1728,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1720,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:1717,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1741
    functionName: DumpMultipleIndexedReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_list_enum
    - gf_list_count
    - gf_node_get_field
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - scene_dump_vrml_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpMultipleIndexedReplace(GF_SceneDumper *sdump, GF_Command
      *com) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2332,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2351,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2354,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2355,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2369,1
    - Dst: gf_node_get_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:2346,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2350,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2358,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2368,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2370,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2364,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:2362,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2338,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2355,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:2360,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2366,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2342,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2333,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2361,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2373,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2375,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2376,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - sdump
    - r
    - dump_type
    argTypes:
    - GF_SceneDumper*
    - GF_Route*
    - u32
    constantsTouched: []
    func_position:
      end: 2380
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2380
    functionName: gf_dump_vrml_route
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_node_get_name
    - gf_fprintf
    - gf_node_get_field
    - gf_node_get_name_and_id
    - sprintf
    - scene_dump_vrml_route_id
    - StartAttribute
    - EndAttribute
    - gf_node_get_id
    - DUMP_IND
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_dump_vrml_route(GF_SceneDumper *sdump, GF_Route *r,
      u32 dump_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sdump
    - sg
    argTypes:
    - GF_SceneDumper*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2753
    functionName: SD_SetSceneGraph
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SD_SetSceneGraph(GF_SceneDumper *sdump, GF_SceneGraph
      *sg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2763
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2763
    functionName: DumpLSRRestore
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRRestore(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sd_get_lsr_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2773,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2776,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2775,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2774,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:2777,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2783,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2783,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2783,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2792,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:2792,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2803,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2799,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2797,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2805
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2805
    functionName: DumpLSRSendEvent
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - gf_fprintf
    - lsr_format_node_id
    - gf_dom_get_key_name
    - DUMP_IND
    - FIX2FLT
    - sd_get_lsr_namespace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRSendEvent(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3360,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:3361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - GF_NODE_RANGE_LAST_SVG
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 3363
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3363
    functionName: if
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_svg_element
    - gf_dump_setup
    linkageType: ''
    returnType: else
    signature: 'else if ((tag>=GF_NODE_RANGE_FIRST_SVG) && (tag<=GF_NODE_RANGE_LAST_SVG)
      ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:378,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:381,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sdump
    - name
    argTypes:
    - GF_SceneDumper*
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: StartAttribute
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartAttribute(GF_SceneDumper *sdump, const char *name) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:539,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:539,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:551,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:560,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:563,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:566,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:576,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:615,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:651,1
    - Dst: strchr
      Src: /src/gpac/src/scene_manager/scene_dump.c:667,1
    - Dst: gf_fputc
      Src: /src/gpac/src/scene_manager/scene_dump.c:672,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/scene_manager/scene_dump.c:696,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:626,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:597,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:670,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:548,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:548,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:551,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:551,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:554,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:554,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:551,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:566,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:574,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:575,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:605,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:644,1
    - Dst: fwprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:699,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:704,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:736,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:705,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:677,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:698,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/scene_manager/scene_dump.c:655,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:709,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:591,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:533,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:536,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:545,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:548,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:551,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:554,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:560,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:560,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:566,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:566,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:623,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:642,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:657,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:684,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:700,1
    - Dst: gf_fputc
      Src: /src/gpac/src/scene_manager/scene_dump.c:673,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:703,1
    - Dst: scene_dump_utf_string
      Src: /src/gpac/src/scene_manager/scene_dump.c:666,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:668,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:711,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:649,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:678,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:682,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:724,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:632,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:542,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:548,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:557,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:560,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:566,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:594,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/scene_manager/scene_dump.c:598,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:611,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:634,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:654,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:587,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:608,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:719,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:732,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:728,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 167
    argCount: 5
    argNames:
    - sdump
    - type
    - ptr
    - is_mf
    - node
    argTypes:
    - GF_SceneDumper*
    - u32
    - void*
    - Bool
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 744
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 744
    functionName: gf_dump_vrml_sffield
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_node_get_tag
    - gf_fprintf
    - gf_base64_encode
    - strcpy
    - gf_node_get_field
    - scene_dump_utf_string
    - gf_utf8_mbstowcs
    - scene_dump_vrml_id
    - strchr
    - gf_free
    - gf_fputc
    - DUMP_IND
    - FIX2FLT
    - fwprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_sffield(GF_SceneDumper *sdump, u32 type,
      void *ptr, Bool is_mf, GF_Node *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 1
    argNames:
    - fieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1061
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1061
    functionName: GetXMTFieldTypeValueName
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *GetXMTFieldTypeValueName(u32 fieldType) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1817,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1828,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1825,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1822,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:1818,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1832,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1834,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1835,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1836,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1839,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1841,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1842,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1843,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1844,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1845,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1848,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1849,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1850,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1852
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1852
    functionName: DumpNodeInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - sprintf
    - strcpy
    - DUMP_IND
    - scene_dump_vrml_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpNodeInsert(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:2397,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2455,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2457,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2494,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2502,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2506,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2521,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2522,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2539,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2541,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2526,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:2499,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:2528,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2400,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2407,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:2408,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2475,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2485,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2500,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2510,1
    - Dst: DumpProtos
      Src: /src/gpac/src/scene_manager/scene_dump.c:2512,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2519,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2524,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2403,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2409,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2419,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2460,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2468,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2473,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2475,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2475,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2481,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2491,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2493,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2498,1
    - Dst: gf_sg_proto_get_graph
      Src: /src/gpac/src/scene_manager/scene_dump.c:2517,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2531,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2402,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2405,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2411,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2414,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2434,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2466,1
    - Dst: gf_dump_vrml_dyn_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2428,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2417,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2473,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/scene_dump.c:2473,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2537,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 122
    argCount: 2
    argNames:
    - sdump
    - protoList
    argTypes:
    - GF_SceneDumper*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 2547
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2547
    functionName: DumpProtos
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_route
    - gf_dump_vrml_sffield
    - gf_list_get
    - gf_dump_vrml_dyn_field
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_sg_proto_get_graph
    - gf_list_enum
    - gf_list_count
    - DumpProtos
    - DUMP_IND
    - FIX2FLT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpProtos(GF_SceneDumper *sdump, GF_List *protoList) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2656,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2656,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2658,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2672,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:2683,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2703,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2693,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2709,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2727,1
    - Dst: sd_get_lsr_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2650,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2691,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2694,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:2686,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2685,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:2718,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2657,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:2669,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2697,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2707,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2725,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2654,1
    - Dst: gf_svg_dump_attribute_indexed
      Src: /src/gpac/src/scene_manager/scene_dump.c:2681,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2692,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2692,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:2714,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2729
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2729
    functionName: DumpLSRAddReplaceInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_svg_dump_attribute
    - gf_list_get
    - gf_fprintf
    - lsr_format_node_id
    - gf_sg_find_node
    - gf_node_get_field
    - gf_svg_dump_attribute_indexed
    - gf_dump_svg_element
    - gf_svg_get_attribute_name
    - gf_free
    - DUMP_IND
    - sd_get_lsr_namespace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRAddReplaceInsert(GF_SceneDumper *sdump, GF_Command
      *com) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_dump.c:3396,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/scene_dump.c:3413,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_dump.c:3420,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:3403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - sample_list
    - au
    - lsr_dump
    argTypes:
    - GF_List*
    - GF_AUContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 3421
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3421
    functionName: ReorderAUContext
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_enum
    - gf_assert
    - gf_list_add
    linkageType: ''
    returnType: void
    signature: 'static void ReorderAUContext(GF_List *sample_list, GF_AUContext *au,
      Bool lsr_dump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:340,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:342,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sdump
    - name
    argTypes:
    - GF_SceneDumper*
    - char*
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: StartElement
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void StartElement(GF_SceneDumper *sdump, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:389,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sdump
    argTypes:
    - GF_SceneDumper*
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: EndAttribute
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndAttribute(GF_SceneDumper *sdump) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:755,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:770,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:762,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_dump.c:759,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:771,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:773,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:774,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:778,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:780,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:782,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:784,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:793,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:795,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:790,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:797,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scene_manager/scene_dump.c:788,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:787,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 3
    argNames:
    - sdump
    - field
    - parent
    argTypes:
    - GF_SceneDumper*
    - GF_FieldInfo
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 800
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 800
    functionName: gf_dump_vrml_simple_field
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_sffield
    - gf_dump_vrml_node
    - gf_fprintf
    - gf_sg_vrml_mf_get_item
    - StartAttribute
    - EndAttribute
    - gf_sg_vrml_is_sf_field
    - gf_assert
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_simple_field(GF_SceneDumper *sdump, GF_FieldInfo
      field, GF_Node *parent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_dump.c:1858,1
    - Dst: gf_dump_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1861,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_dump.c:1866,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:1869,1
    - Dst: gf_dump_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1863,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1871,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1873,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1875,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:1877,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - sdump
    - com
    - is_scene_replace
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    - Bool
    constantsTouched: []
    func_position:
      end: 1881
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1881
    functionName: DumpRouteInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_dump_vrml_route
    - memset
    - gf_fprintf
    - DUMP_IND
    - gf_dump_find_node
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpRouteInsert(GF_SceneDumper *sdump, GF_Command *com,
      Bool is_scene_replace) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:2553,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2561,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:2554,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:2560,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:2558,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:2562,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:2564,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2568,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2569,1
    - Dst: DumpProtos
      Src: /src/gpac/src/scene_manager/scene_dump.c:2572,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2574,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:2582,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2580,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2578,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2587
    functionName: DumpSceneReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_route
    - gf_list_get
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - EndElementHeader
    - StartAttribute
    - EndAttribute
    - DumpProtos
    - StartElement
    - DUMP_IND
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpSceneReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sd_get_lsr_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2735,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2737,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2736,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2738,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2737,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2739,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2740,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2742
    functionName: DumpLSRDelete
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - lsr_format_node_id
    - DUMP_IND
    - sd_get_lsr_namespace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRDelete(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3201,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3202,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dumper
    - unit_name
    - au_time
    - is_rap
    argTypes:
    - GF_SceneDumper*
    - char*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 3203
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3203
    functionName: gf_sm_dump_saf_hdr
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_sm_dump_saf_hdr(GF_SceneDumper *dumper, char *unit_name,
      u64 au_time, Bool is_rap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3366,1
    - Dst: SD_DumpDOMElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - TAG_DOMFullNode
    argTypes:
    - tag
    constantsTouched: []
    func_position:
      end: 3368
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3368
    functionName: if
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_setup
    - SD_DumpDOMElement
    linkageType: ''
    returnType: else
    signature: 'else if (tag==TAG_DOMFullNode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scene_manager/scene_dump.c:3254,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3256,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3257,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3265,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3268,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3274,1
    - Dst: SD_DumpDOMElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3276,1
    - Dst: scene_dump_utf_string
      Src: /src/gpac/src/scene_manager/scene_dump.c:3282,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3285,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3286,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3295,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3299,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3284,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - sdump
    - node
    argTypes:
    - GF_SceneDumper*
    - GF_DOMFullNode*
    constantsTouched: []
    func_position:
      end: 3302
      start: 3247
    functionDepth: 0
    functionLinenumber: 3247
    functionLinenumberEnd: 3302
    functionName: SD_DumpDOMElement
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - gf_sg_get_namespace_qname
    - DUMP_IND
    - scene_dump_utf_string
    - SD_DumpDOMElement
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err SD_DumpDOMElement(GF_SceneDumper *sdump, GF_DOMFullNode
      *node) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:232,1
    - Dst: gf_odf_get_laser_config
      Src: /src/gpac/src/scene_manager/scene_dump.c:246,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:263,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:283,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:284,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/src/scene_manager/scene_dump.c:284,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:285,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:286,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:241,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/scene_manager/scene_dump.c:247,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:266,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:281,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/scene_manager/scene_dump.c:261,1
    - Dst: gf_odf_dump_desc
      Src: /src/gpac/src/scene_manager/scene_dump.c:274,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:222,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:224,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:259,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:270,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:282,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/scene_manager/scene_dump.c:284,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:288,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:238,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:237,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:277,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - sdump
    - root_od
    argTypes:
    - GF_SceneDumper*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 291
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 291
    functionName: gf_dump_setup
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_odf_dump_desc
    - gf_odf_get_laser_config
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - gf_gpac_copyright
    - gf_gpac_version
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_setup(GF_SceneDumper *sdump, GF_Descriptor *root_od) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:353,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sdump
    - has_sub_el
    argTypes:
    - GF_SceneDumper*
    - Bool
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: EndElementHeader
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndElementHeader(GF_SceneDumper *sdump, Bool has_sub_el) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:427,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:437,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/scene_manager/scene_dump.c:430,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:436,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_dump.c:429,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:440,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:441,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:444,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:447,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:450,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:466,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:458,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:460,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 3
    argNames:
    - sdump
    - escape_xml
    - str
    argTypes:
    - GF_SceneDumper*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 467
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 467
    functionName: scene_dump_utf_string
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_fprintf
    - gf_utf8_mbstowcs
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void scene_dump_utf_string(GF_SceneDumper *sdump, Bool escape_xml,
      char *str) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1217,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1218,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1219,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1233,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:1236,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:1241,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1246,1
    - Dst: GetXMTFieldTypeValueName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1233,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1250,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1253,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:1267,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1223,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1224,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1237,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1270,1
    - Dst: GetXMTFieldTypeValueName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1221,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1225,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1227,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1228,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1231,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1248,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1255,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1256,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1259,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scene_manager/scene_dump.c:1266,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 3
    argNames:
    - sdump
    - node
    - field
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_FieldInfo
    constantsTouched: []
    func_position:
      end: 1274
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1274
    functionName: gf_dump_vrml_proto_field
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_sffield
    - gf_dump_vrml_node
    - gf_fprintf
    - GetXMTFieldTypeValueName
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - DUMP_IND
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_proto_field(GF_SceneDumper *sdump, GF_Node
      *node, GF_FieldInfo field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1753,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1764,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1770,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1776,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1765,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1766,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1775,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1768,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1769,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1780,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1754,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:1763,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1778,1
    - Dst: gf_dump_vrml_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1786,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1789,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1790,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1784,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1750,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1779,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:1783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1748,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1752,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:1758,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1759,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1762,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1793
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1793
    functionName: DumpMultipleReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_field
    - gf_fprintf
    - gf_list_enum
    - gf_list_count
    - gf_node_get_field
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpMultipleReplace(GF_SceneDumper *sdump, GF_Command
      *com) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1889,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1900,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1906,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1917,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1930,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1931,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1934,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1908,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:1925,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1921,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1929,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1894,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1897,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1904,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1910,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1919,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1928,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:1890,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1911,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1912,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1918,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1915,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1924,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1920,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1935,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1936,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1939
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1939
    functionName: DumpIndexInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - gf_node_get_field
    - sprintf
    - gf_sg_vrml_is_sf_field
    - memcpy
    - strcpy
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpIndexInsert(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scene_manager/scene_dump.c:2628,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sg
    argTypes:
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 2634
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2634
    functionName: sd_get_lsr_namespace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_sg_get_namespace_qname
    linkageType: ''
    returnType: char*
    signature: 'static char *sd_get_lsr_namespace(GF_SceneGraph *sg) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:3059,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3078,1
    - Dst: gf_xml_push_namespaces
      Src: /src/gpac/src/scene_manager/scene_dump.c:3093,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3095,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:3095,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3139,1
    - Dst: gf_svg_dump_attribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:3145,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/scene_dump.c:3147,1
    - Dst: gf_dom_event_dump_listeners
      Src: /src/gpac/src/scene_manager/scene_dump.c:3154,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3167,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3189,1
    - Dst: gf_xml_pop_namespaces
      Src: /src/gpac/src/scene_manager/scene_dump.c:3193,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:3052,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3076,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3089,1
    - Dst: gf_xml_get_element_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:3096,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3100,1
    - Dst: strncmp
      Src: /src/gpac/src/scene_manager/scene_dump.c:3114,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:3100,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_dump.c:3149,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3156,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3170,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:3184,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:3058,1
    - Dst: scene_dump_utf_string
      Src: /src/gpac/src/scene_manager/scene_dump.c:3080,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scene_manager/scene_dump.c:3115,1
    - Dst: gf_sg_get_namespace_qname
      Src: /src/gpac/src/scene_manager/scene_dump.c:3115,1
    - Dst: gf_svg_get_attribute_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:3119,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3115,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3158,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3166,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:3168,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3174,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3183,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3077,1
    - Dst: gf_node_get_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:3125,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3135,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3148,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3175,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:3175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3190,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:3190,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3187,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 136
    argCount: 4
    argNames:
    - sdump
    - n
    - parent
    - is_root
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_Node*
    - Bool
    constantsTouched: []
    func_position:
      end: 3194
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3194
    functionName: gf_dump_svg_element
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_svg_dump_attribute
    - gf_fprintf
    - strncmp
    - gf_dump_svg_element
    - gf_sm_dump_command_list
    - gf_xml_push_namespaces
    - gf_sg_get_namespace_qname
    - gf_list_count
    - gf_svg_get_attribute_name
    - gf_node_get_id
    - gf_node_get_class_name
    - DUMP_IND
    - sprintf
    - gf_node_get_attribute_by_tag
    - gf_xml_pop_namespaces
    - gf_free
    - scene_dump_utf_string
    - gf_xml_get_element_namespace
    - lsr_format_node_id
    - gf_node_get_graph
    - gf_dom_event_dump_listeners
    linkageType: ''
    returnType: void
    signature: 'void gf_dump_svg_element(GF_SceneDumper *sdump, GF_Node *n, GF_Node
      *parent, Bool is_root) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:298,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:307,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:305,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:310,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - sdump
    - root_od
    argTypes:
    - GF_SceneDumper*
    - GF_Descriptor*
    constantsTouched: []
    func_position:
      end: 313
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: gf_dump_finalize
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_finalize(GF_SceneDumper *sdump, GF_Descriptor
      *root_od) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:364,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:365,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:368,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - sdump
    - name
    - had_sub_el
    argTypes:
    - GF_SceneDumper*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: EndElement
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void EndElement(GF_SceneDumper *sdump, const char *name, Bool
      had_sub_el) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:1281,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:1287,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - sdump
    - node
    - field
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_FieldInfo*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1292
    functionName: gf_dump_vrml_get_IS
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_Route*
    signature: 'static GF_Route *gf_dump_vrml_get_IS(GF_SceneDumper *sdump, GF_Node
      *node, GF_FieldInfo *field) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1798,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:1799,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1803,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1801,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1805,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1807,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1808,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1811
    functionName: DumpGlobalQP
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_dump_vrml_node
    - gf_fprintf
    - gf_list_count
    - DUMP_IND
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpGlobalQP(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:1946,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1954,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1957,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:1951,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:1947,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1961,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1963,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1965,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1966,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1967,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1969,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1972,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1974,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1971,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1970,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1973,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1977
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1977
    functionName: DumpIndexDelete
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_list_count
    - gf_node_get_field
    - sprintf
    - strcpy
    - DUMP_IND
    - scene_dump_vrml_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpIndexDelete(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_get_lsr_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2638,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2639,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2641,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:2640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2643
    functionName: DumpLSRNewScene
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_svg_element
    - gf_fprintf
    - sd_get_lsr_namespace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRNewScene(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2767
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2767
    functionName: DumpLSRSave
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRSave(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3469,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:3485,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3493,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3505,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3525,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3544,1
    - Dst: gf_odf_dump_com_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:3562,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3576,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3604,1
    - Dst: gf_sm_dumper_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:3609,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:3592,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:3437,1
    - Dst: ReorderAUContext
      Src: /src/gpac/src/scene_manager/scene_dump.c:3460,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3475,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:3477,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:3481,1
    - Dst: gf_dump_finalize
      Src: /src/gpac/src/scene_manager/scene_dump.c:3483,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3500,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:3520,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3546,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3554,1
    - Dst: DumpProtos
      Src: /src/gpac/src/scene_manager/scene_dump.c:3588,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:3571,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:3459,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:3445,1
    - Dst: gf_sm_dumper_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:3441,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3503,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_dump.c:3495,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3494,1
    - Dst: dump_od_to_saf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3512,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3567,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:3589,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3591,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:3610,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:3594,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3473,1
    - Dst: gf_sm_dumper_del
      Src: /src/gpac/src/scene_manager/scene_dump.c:3484,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3501,1
    - Dst: gf_odf_dump_com_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:3515,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3529,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3552,1
    - Dst: dump_od_to_saf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3559,1
    - Dst: gf_sm_dump_saf_hdr
      Src: /src/gpac/src/scene_manager/scene_dump.c:3569,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3602,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_dump.c:3605,1
    - Dst: gf_dump_finalize
      Src: /src/gpac/src/scene_manager/scene_dump.c:3608,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 159
    argCount: 4
    argNames:
    - ctx
    - rad_name
    - is_final_name
    - dump_mode
    argTypes:
    - GF_SceneManager*
    - char*
    - Bool
    - GF_SceneDumpFormat
    constantsTouched: []
    func_position:
      end: 3612
      start: 3424
    functionDepth: 0
    functionLinenumber: 3424
    functionLinenumberEnd: 3612
    functionName: gf_sm_dump
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_route
    - gf_fprintf
    - ReorderAUContext
    - GF_LOG
    - gf_dump_svg_element
    - gf_dump_setup
    - gf_sm_dump_command_list
    - gf_list_del
    - gf_odf_dump_com_list
    - gf_dump_finalize
    - gf_list_count
    - gf_list_new
    - gf_list_get
    - gf_dump_vrml_node
    - gf_list_enum
    - dump_od_to_saf
    - gf_sm_dumper_del
    - gf_sm_dump_saf_hdr
    - DumpProtos
    - gf_sm_dumper_new
    - gf_list_rem
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_dump(GF_SceneManager *ctx, char *rad_name,
      Bool is_final_name, GF_SceneDumpFormat dump_mode) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GetXMTFieldTypeName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1077,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1086,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1115,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1118,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1118,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1135,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1135,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1151,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1160,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1204,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1180,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1201,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1182,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1187,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:1154,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1137,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1074,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1073,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1085,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1087,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1097,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1105,1
    - Dst: GetXMTFieldTypeValueName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1105,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:1108,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1122,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1124,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1141,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1177,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1184,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1199,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1173,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1144,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1069,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1074,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1083,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:1094,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1095,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1100,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1103,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1110,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1112,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:1131,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1163,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1166,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scene_manager/scene_dump.c:1153,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1158,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1164,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1167,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1164,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1192,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1070,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1076,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1077,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1090,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1093,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1118,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1120,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1127,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1133,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1135,1
    - Dst: GetXMTFieldTypeValueName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1189,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:1195,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1189,1
    - Dst: GetXMTFieldTypeName
      Src: /src/gpac/src/scene_manager/scene_dump.c:1167,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1148,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scene_manager/scene_dump.c:1194,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 141
    argCount: 4
    argNames:
    - sdump
    - node
    - field
    - has_sublist
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_FieldInfo
    - Bool
    constantsTouched: []
    func_position:
      end: 1208
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1208
    functionName: gf_dump_vrml_dyn_field
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_sffield
    - gf_fprintf
    - GetXMTFieldTypeName
    - gf_dump_vrml_node
    - GetXMTFieldTypeValueName
    - gf_sg_vrml_mf_get_item
    - gf_sg_vrml_is_sf_field
    - gf_sg_vrml_get_event_type_name
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - gf_sg_vrml_get_field_type_name
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_dyn_field(GF_SceneDumper *sdump, GF_Node
      *node, GF_FieldInfo field, Bool has_sublist) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3217,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:3215,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3222,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3223,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3224,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:3228,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3232,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3234,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3238,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3236,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3243,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3237,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 3
    argNames:
    - dumper
    - au
    - indent
    argTypes:
    - GF_SceneDumper*
    - GF_AUContext*
    - u32
    constantsTouched: []
    func_position:
      end: 3244
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3244
    functionName: dump_od_to_saf
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void dump_od_to_saf(GF_SceneDumper *dumper, GF_AUContext *au,
      u32 indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:477,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:481,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - sdump
    - node
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: scene_dump_vrml_id
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_node_get_name_and_id
    - gf_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void scene_dump_vrml_id(GF_SceneDumper *sdump, GF_Node *node) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:827,1
    - Dst: strcmp
      Src: /src/gpac/src/scene_manager/scene_dump.c:838,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:916,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:919,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:922,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:929,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:936,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:939,1
    - Dst: gf_sg_vrml_mf_get_item
      Src: /src/gpac/src/scene_manager/scene_dump.c:942,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:955,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:915,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:820,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:822,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:816,1
    - Dst: gf_node_get_field_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:842,1
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_dump.c:854,1
    - Dst: EndList
      Src: /src/gpac/src/scene_manager/scene_dump.c:866,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:878,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:871,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:882,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:885,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:903,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:918,1
    - Dst: assert
      Src: /src/gpac/src/scene_manager/scene_dump.c:811,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:844,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_dump.c:858,1
    - Dst: StartList
      Src: /src/gpac/src/scene_manager/scene_dump.c:859,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:879,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:899,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:902,1
    - Dst: StartAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:932,1
    - Dst: gf_dump_vrml_sffield
      Src: /src/gpac/src/scene_manager/scene_dump.c:943,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:945,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:892,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:815,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:830,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:862,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:874,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:872,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:893,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:900,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:901,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:908,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:941,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:952,1
    - Dst: EndAttribute
      Src: /src/gpac/src/scene_manager/scene_dump.c:959,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 115
    argCount: 3
    argNames:
    - sdump
    - node
    - field
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_FieldInfo
    constantsTouched: []
    func_position:
      end: 962
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 962
    functionName: gf_dump_vrml_field
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_node_get_tag
    - gf_fprintf
    - EndElementHeader
    - gf_sg_vrml_mf_get_item
    - EndAttribute
    - StartElement
    - gf_sm_dump_command_list
    - EndElement
    - gf_dump_vrml_sffield
    - gf_list_count
    - strcmp
    - gf_assert
    - DUMP_IND
    - scene_dump_vrml_id
    - StartList
    - assert
    - gf_dump_vrml_node
    - gf_node_get_field
    - StartAttribute
    - gf_sg_vrml_is_sf_field
    - EndList
    - gf_node_get_field_count
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_field(GF_SceneDumper *sdump, GF_Node *node,
      GF_FieldInfo field) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_vrml_get_IS
      Src: /src/gpac/src/scene_manager/scene_dump.c:1298,1
    - Dst: gf_sg_proto_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1304,1
    - Dst: gf_sg_proto_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:1301,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1309,1
    - Dst: gf_sg_vrml_get_event_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1309,1
    - Dst: gf_sg_vrml_get_field_type_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1309,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1310,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1313,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:1314,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1318,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1317,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:1321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - sdump
    - node
    - field
    - isScript
    - skip_is
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    - GF_FieldInfo
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1324
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1324
    functionName: gf_dump_vrml_IS_field
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_get_IS
    - gf_fprintf
    - EndElementHeader
    - gf_sg_proto_get_field
    - StartElement
    - EndElement
    - DUMP_IND
    - gf_sg_vrml_get_event_type_name
    - gf_sg_vrml_get_field_type_name
    linkageType: ''
    returnType: void
    signature: 'static void gf_dump_vrml_IS_field(GF_SceneDumper *sdump, GF_Node *node,
      GF_FieldInfo field, Bool isScript, Bool skip_is) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:1982,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1989,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1987,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1990,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1985,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1992,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1993,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:1994,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:1995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1998
    functionName: DumpNodeDelete
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpNodeDelete(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2020,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2024,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2022,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2021,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2025,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2026,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2027,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2028,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2030,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2031,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2033,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2034,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2037
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2037
    functionName: DumpNodeReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - DUMP_IND
    - scene_dump_vrml_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpNodeReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2120,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:2132,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2135,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2139,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2147,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2149,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2150,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2123,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2141,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2146,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2156,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2142,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2154,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2143,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2145,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2161,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:2129,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2121,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2125,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2155,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2148,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:2158,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2160,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2164
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2164
    functionName: DumpIndexReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - gf_node_get_field
    - sprintf
    - gf_sg_vrml_is_sf_field
    - strcpy
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_sg_vrml_get_sf_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpIndexReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2615,1
    - Dst: gf_node_get_name_and_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2617,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2618,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - n
    - NodeID
    - str
    argTypes:
    - GF_Node*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 2622
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2622
    functionName: lsr_format_node_id
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_node_get_name_and_id
    linkageType: ''
    returnType: char*
    signature: 'static char *lsr_format_node_id(GF_Node *n, u32 NodeID, char *str) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3314,1
    - Dst: DumpProtos
      Src: /src/gpac/src/scene_manager/scene_dump.c:3325,1
    - Dst: StartElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3317,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:3332,1
    - Dst: EndElementHeader
      Src: /src/gpac/src/scene_manager/scene_dump.c:3318,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:3336,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3338,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:3342,1
    - Dst: gf_dump_vrml_route
      Src: /src/gpac/src/scene_manager/scene_dump.c:3344,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3350,1
    - Dst: gf_dump_finalize
      Src: /src/gpac/src/scene_manager/scene_dump.c:3354,1
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3366,1
    - Dst: gf_dump_svg_element
      Src: /src/gpac/src/scene_manager/scene_dump.c:3361,1
    - Dst: SD_DumpDOMElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3367,1
    - Dst: gf_dump_setup
      Src: /src/gpac/src/scene_manager/scene_dump.c:3360,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 3
    argNames:
    - sdump
    - skip_proto
    - skip_routes
    argTypes:
    - GF_SceneDumper*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3372
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3372
    functionName: gf_sm_dump_graph
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_dump_vrml_route
    - gf_dump_vrml_node
    - gf_fprintf
    - gf_list_enum
    - gf_dump_finalize
    - EndElementHeader
    - DumpProtos
    - gf_dump_svg_element
    - StartElement
    - gf_dump_setup
    - EndElement
    - SD_DumpDOMElement
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_dump_graph(GF_SceneDumper *sdump, Bool skip_proto,
      Bool skip_routes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_route_find
      Src: /src/gpac/src/scene_manager/scene_dump.c:489,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:506,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_dump.c:496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - sdump
    - ID
    - outName
    argTypes:
    - GF_SceneDumper*
    - u32
    - char**
    constantsTouched: []
    func_position:
      end: 515
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 515
    functionName: scene_dump_vrml_find_route_name
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_route_find
    linkageType: ''
    returnType: Bool
    signature: 'static Bool scene_dump_vrml_find_route_name(GF_SceneDumper *sdump,
      u32 ID, const char **outName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scene_dump_vrml_find_route_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:520,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:525,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - sdump
    - routeID
    - rName
    argTypes:
    - GF_SceneDumper*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: scene_dump_vrml_route_id
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - scene_dump_vrml_find_route_name
    linkageType: ''
    returnType: void
    signature: 'static void scene_dump_vrml_route_id(GF_SceneDumper *sdump, u32 routeID,
      char *rName) '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 2
    argCount: 1
    argNames:
    - fieldType
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1014
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1014
    functionName: GetXMTFieldTypeName
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *GetXMTFieldTypeName(u32 fieldType) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_x3d_type_by_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1338,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1338,1
    - Dst: gf_node_get_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1349,1
    - Dst: gf_node_mpeg4_type_by_class_name
      Src: /src/gpac/src/scene_manager/scene_dump.c:1349,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - sdump
    - node
    argTypes:
    - GF_SceneDumper*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1355
    functionName: scene_dump_vrml_can_dump
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_node_get_class_name
    - gf_node_x3d_type_by_class_name
    - gf_node_mpeg4_type_by_class_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool scene_dump_vrml_can_dump(GF_SceneDumper *sdump, GF_Node
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2002,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2006,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2005,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2004,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2008,1
    - Dst: scene_dump_vrml_route_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2009,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2013
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2013
    functionName: DumpRouteDelete
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DUMP_IND
    - gf_fprintf
    - scene_dump_vrml_route_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpRouteDelete(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2044,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2052,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2057,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2062,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2063,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2064,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:2093,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2107,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2047,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2078,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2083,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2092,1
    - Dst: gf_sm_dump_command_list
      Src: /src/gpac/src/scene_manager/scene_dump.c:2099,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2108,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2049,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2053,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2055,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2071,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2073,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2065,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2094,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2095,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2098,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2106,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2045,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2056,1
    - Dst: EndList
      Src: /src/gpac/src/scene_manager/scene_dump.c:2085,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2100,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2101,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2111
    functionName: DumpFieldReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - EndList
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - gf_node_get_field
    - gf_sm_dump_command_list
    - gf_dump_vrml_simple_field
    - DUMP_IND
    - scene_dump_vrml_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpFieldReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2174,1
    - Dst: gf_sg_vrml_is_sf_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2191,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:2219,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2215,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/scene_dump.c:2228,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/scene_dump.c:2230,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2235,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/scene_dump.c:2236,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2248,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2252,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:2270,1
    - Dst: gf_dump_vrml_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2288,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2255,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/scene_manager/scene_dump.c:2280,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2262,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2289,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2183,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:2194,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:2203,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2217,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2212,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/scene_dump.c:2233,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2244,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2249,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2256,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2261,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2278,1
    - Dst: gf_dump_vrml_simple_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2291,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2292,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2257,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_dump.c:2197,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2200,1
    - Dst: gf_node_new
      Src: /src/gpac/src/scene_manager/scene_dump.c:2226,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2208,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2216,1
    - Dst: scene_dump_vrml_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2211,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2234,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2265,1
    - Dst: gf_node_register
      Src: /src/gpac/src/scene_manager/scene_dump.c:2277,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2279,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2283,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2287,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2185,1
    - Dst: gf_node_get_field
      Src: /src/gpac/src/scene_manager/scene_dump.c:2177,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2175,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2210,1
    - Dst: gf_sg_find_node
      Src: /src/gpac/src/scene_manager/scene_dump.c:2242,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2247,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2258,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2260,1
    - Dst: gf_sg_vrml_get_sf_type
      Src: /src/gpac/src/scene_manager/scene_dump.c:2263,1
    - Dst: gf_sg_find_proto
      Src: /src/gpac/src/scene_manager/scene_dump.c:2272,1
    - Dst: gf_sg_proto_create_instance
      Src: /src/gpac/src/scene_manager/scene_dump.c:2274,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 106
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2295
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2295
    functionName: DumpXReplace
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_sg_proto_create_instance
    - gf_fprintf
    - gf_dump_vrml_node
    - gf_list_count
    - gf_sg_find_node
    - gf_node_get_field
    - sprintf
    - gf_node_unregister
    - gf_dump_vrml_simple_field
    - gf_sg_vrml_is_sf_field
    - gf_node_new
    - strcpy
    - gf_node_register
    - DUMP_IND
    - scene_dump_vrml_id
    - gf_sg_vrml_get_sf_type
    - gf_sg_find_proto
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpXReplace(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2591,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2600,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2593,1
    - Dst: DumpProtos
      Src: /src/gpac/src/scene_manager/scene_dump.c:2598,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2595,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2602,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2607
    functionName: DumpProtoInsert
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - DumpProtos
    - DUMP_IND
    - gf_fprintf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpProtoInsert(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sd_get_lsr_namespace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2809,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2812,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2814,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2812,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2810,1
    - Dst: lsr_format_node_id
      Src: /src/gpac/src/scene_manager/scene_dump.c:2814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - sdump
    - com
    argTypes:
    - GF_SceneDumper*
    - GF_Command*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2817
    functionName: DumpLSRActivate
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - lsr_format_node_id
    - DUMP_IND
    - gf_fprintf
    - sd_get_lsr_namespace
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err DumpLSRActivate(GF_SceneDumper *sdump, GF_Command *com) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2862,1
    - Dst: DumpNodeReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2893,1
    - Dst: DumpFieldReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2896,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2934,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2943,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2945,1
    - Dst: DumpMultipleIndexedReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2957,1
    - Dst: DumpLSRDelete
      Src: /src/gpac/src/scene_manager/scene_dump.c:2981,1
    - Dst: DumpLSRSendEvent
      Src: /src/gpac/src/scene_manager/scene_dump.c:2993,1
    - Dst: DumpLSRActivate
      Src: /src/gpac/src/scene_manager/scene_dump.c:2997,1
    - Dst: DumpGlobalQP
      Src: /src/gpac/src/scene_manager/scene_dump.c:2951,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_dump.c:2849,1
    - Dst: DumpRouteDelete
      Src: /src/gpac/src/scene_manager/scene_dump.c:2889,1
    - Dst: DumpXReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2905,1
    - Dst: gf_assert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2909,1
    - Dst: DumpSceneReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2911,1
    - Dst: DumpProtoInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2918,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2936,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2939,1
    - Dst: DumpMultipleReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2954,1
    - Dst: DumpLSRAddReplaceInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2978,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3012,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2940,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_dump.c:2840,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:2859,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:2857,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_dump.c:2842,1
    - Dst: DumpNodeInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2872,1
    - Dst: DumpIndexInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2875,1
    - Dst: DumpRouteInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2878,1
    - Dst: DumpRouteReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2902,1
    - Dst: DumpNodeDelete
      Src: /src/gpac/src/scene_manager/scene_dump.c:2883,1
    - Dst: DumpIndexDelete
      Src: /src/gpac/src/scene_manager/scene_dump.c:2886,1
    - Dst: DumpLSRAddReplaceInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2972,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3028,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2861,1
    - Dst: DumpIndexReplace
      Src: /src/gpac/src/scene_manager/scene_dump.c:2899,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2921,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2923,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:2925,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:2932,1
    - Dst: DumpNodeDelete
      Src: /src/gpac/src/scene_manager/scene_dump.c:2960,1
    - Dst: DumpLSRAddReplaceInsert
      Src: /src/gpac/src/scene_manager/scene_dump.c:2984,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3011,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/scene_manager/scene_dump.c:3022,1
    - Dst: DumpLSRNewScene
      Src: /src/gpac/src/scene_manager/scene_dump.c:2969,1
    - Dst: DUMP_IND
      Src: /src/gpac/src/scene_manager/scene_dump.c:3021,1
    - Dst: EndElement
      Src: /src/gpac/src/scene_manager/scene_dump.c:3030,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 139
    argCount: 4
    argNames:
    - sdump
    - comList
    - indent
    - skip_first_replace
    argTypes:
    - GF_SceneDumper*
    - GF_List*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3038
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 3038
    functionName: gf_sm_dump_command_list
    functionSourceFile: /src/gpac/src/scene_manager/scene_dump.c
    functionUses: []
    functionsReached:
    - gf_fprintf
    - DumpLSRActivate
    - GF_LOG
    - DumpRouteReplace
    - EndElement
    - DumpIndexReplace
    - DumpNodeInsert
    - DumpProtoInsert
    - DumpLSRSendEvent
    - DumpGlobalQP
    - DumpMultipleIndexedReplace
    - gf_list_count
    - DumpIndexInsert
    - DumpNodeReplace
    - DumpRouteDelete
    - DumpFieldReplace
    - DumpLSRNewScene
    - gf_assert
    - DUMP_IND
    - gf_list_get
    - DumpNodeDelete
    - DumpLSRDelete
    - DumpRouteInsert
    - DumpIndexDelete
    - DumpLSRAddReplaceInsert
    - DumpMultipleReplace
    - DumpSceneReplace
    - DumpXReplace
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_sm_dump_command_list(GF_SceneDumper *sdump, GF_List
      *comList, u32 indent, Bool skip_first_replace) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:783,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:788,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:784,1
    - Dst: gf_seng_create_new_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:791,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/src/scene_manager/scene_engine.c:800,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:803,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:803,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:808,1
    - Dst: gf_sm_live_encode_scene_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - seng
    - ESID
    - disable_aggregation
    - auFile
    - callback
    argTypes:
    - GF_SceneEngine*
    - u16
    - Bool
    - char*
    - gf_seng_callback
    constantsTouched: []
    func_position:
      end: 816
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 816
    functionName: gf_seng_encode_from_file
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_seng_create_new_au
    - gf_list_enum
    - gf_list_count
    - gf_error_to_string
    - GF_LOG
    - gf_sm_live_encode_scene_au
    - gf_sm_load_run
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_encode_from_file(GF_SceneEngine *seng, u16
      ESID, Bool disable_aggregation, char *auFile, gf_seng_callback callback) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:1105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - seng
    - ESID
    - carousel_period
    - aggregate_on_es_id
    argTypes:
    - GF_SceneEngine*
    - u16
    - u32*
    - u16*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1113
    functionName: gf_seng_get_stream_carousel_info
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_get_stream_carousel_info(GF_SceneEngine *seng,
      u16 ESID, u32 *carousel_period, u16 *aggregate_on_es_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:822,1
    - Dst: gf_sm_live_encode_scene_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - seng
    - callback
    argTypes:
    - GF_SceneEngine*
    - gf_seng_callback
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: gf_seng_encode_context
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_sm_live_encode_scene_au
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_encode_context(GF_SceneEngine *seng, gf_seng_callback
      callback) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:1125,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_engine.c:1134,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/scene_manager/scene_engine.c:1135,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_engine.c:1137,1
    - Dst: gf_odf_desc_write
      Src: /src/gpac/src/scene_manager/scene_engine.c:1132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - seng
    argTypes:
    - GF_SceneEngine*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1139
    functionName: gf_seng_get_base64_iod
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_odf_desc_write
    - gf_list_enum
    - gf_free
    - gf_base64_encode
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_seng_get_base64_iod(GF_SceneEngine *seng) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_engine.c:1039,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_engine.c:1057,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:1045,1
    - Dst: gf_sm_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:1046,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_engine.c:1048,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_engine.c:1058,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_engine.c:1059,1
    - Dst: strstr
      Src: /src/gpac/src/scene_manager/scene_engine.c:1059,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:1064,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:1067,1
    - Dst: gf_sm_live_setup
      Src: /src/gpac/src/scene_manager/scene_engine.c:1076,1
    - Dst: gf_seng_terminate
      Src: /src/gpac/src/scene_manager/scene_engine.c:1084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:1078,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:1078,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:1067,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 7
    argNames:
    - calling_object
    - inputContext
    - load_type
    - width
    - height
    - usePixelMetrics
    - dump_path
    argTypes:
    - void*
    - char*
    - u32
    - u32
    - u32
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1086
    functionName: gf_seng_init_from_string
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - memset
    - gf_error_to_string
    - GF_LOG
    - gf_sg_new
    - gf_sm_load_string
    - gf_seng_terminate
    - gf_sm_new
    - GF_SAFEALLOC
    - strstr
    - gf_sm_live_setup
    linkageType: ''
    returnType: GF_SceneEngine*
    signature: 'GF_SceneEngine *gf_seng_init_from_string(void *calling_object, char
      * inputContext, u32 load_type, u32 width, u32 height, Bool usePixelMetrics,
      char *dump_path) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:198,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:207,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:208,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_engine.c:213,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:202,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:221,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:224,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:231,1
    - Dst: gf_sm_setup_bifsenc
      Src: /src/gpac/src/scene_manager/scene_engine.c:241,1
    - Dst: gf_sm_setup_lsrenc
      Src: /src/gpac/src/scene_manager/scene_engine.c:247,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 1
    argNames:
    - seng
    argTypes:
    - GF_SceneEngine*
    constantsTouched: []
    func_position:
      end: 261
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 261
    functionName: gf_sm_live_setup
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sm_setup_bifsenc
    - gf_sm_setup_lsrenc
    - gf_odf_desc_esd_new
    - gf_list_enum
    - gf_odf_desc_new
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_live_setup(GF_SceneEngine *seng) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:479,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:489,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/scene_manager/scene_engine.c:486,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:484,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:493,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/scene_manager/scene_engine.c:495,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:504,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/scene_manager/scene_engine.c:506,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/scene_manager/scene_engine.c:518,1
    - Dst: gf_node_dirty_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:519,1
    - Dst: gf_node_dirty_reset
      Src: /src/gpac/src/scene_manager/scene_engine.c:521,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 2
    argNames:
    - seng
    - au
    argTypes:
    - GF_SceneEngine*
    - GF_AUContext*
    constantsTouched: []
    func_position:
      end: 528
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 528
    functionName: gf_sm_check_for_modif
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_sg_get_root_node
    - gf_node_dirty_reset
    - gf_node_dirty_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_sm_check_for_modif(GF_SceneEngine *seng, GF_AUContext
      *au) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_aggregate
      Src: /src/gpac/src/scene_manager/scene_engine.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - seng
    - ESID
    argTypes:
    - GF_SceneEngine*
    - u16
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: gf_seng_aggregate_context
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_sm_aggregate
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_aggregate_context(GF_SceneEngine *seng, u16
      ESID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:271,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - seng
    - ESID
    - onESID
    argTypes:
    - GF_SceneEngine*
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: gf_seng_enable_aggregation
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_enable_aggregation(GF_SceneEngine *seng,
      u16 ESID, u16 onESID) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:541,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:546,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:543,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:549,1
    - Dst: gf_sm_check_for_modif
      Src: /src/gpac/src/scene_manager/scene_engine.c:555,1
    - Dst: gf_bifs_encode_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:561,1
    - Dst: gf_laser_encode_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:567,1
    - Dst: gf_seng_encode_dims_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:575,1
    - Dst: callback
      Src: /src/gpac/src/scene_manager/scene_engine.c:578,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_engine.c:579,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - seng
    - callback
    - from_start
    argTypes:
    - GF_SceneEngine*
    - gf_seng_callback
    - Bool
    constantsTouched: []
    func_position:
      end: 585
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 585
    functionName: gf_sm_live_encode_scene_au
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_laser_encode_au
    - gf_list_get
    - gf_list_count
    - gf_bifs_encode_au
    - gf_seng_encode_dims_au
    - GF_LOG
    - gf_free
    - callback
    - gf_sm_check_for_modif
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_live_encode_scene_au(GF_SceneEngine *seng, gf_seng_callback
      callback, Bool from_start) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:1149,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/scene_manager/scene_engine.c:1154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - seng
    argTypes:
    - GF_SceneEngine*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1156
    functionName: gf_seng_get_iod
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_odf_desc_copy
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Descriptor *gf_seng_get_iod(GF_SceneEngine *seng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - seng
    - dump_rap
    argTypes:
    - GF_SceneEngine*
    - Bool
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: gf_seng_dump_rap_on
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_seng_dump_rap_on(GF_SceneEngine *seng, Bool dump_rap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:664,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:672,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:665,1
    - Dst: gf_seng_create_new_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:674,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/scene_engine.c:681,1
    - Dst: gf_sm_live_encode_scene_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - seng
    - ESID
    - disable_aggregation
    - auString
    - callback
    argTypes:
    - GF_SceneEngine*
    - u16
    - Bool
    - char*
    - gf_seng_callback
    constantsTouched: []
    func_position:
      end: 687
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 687
    functionName: gf_seng_encode_from_string
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_seng_create_new_au
    - gf_list_enum
    - gf_list_count
    - gf_sm_live_encode_scene_au
    - gf_sm_load_string
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_encode_from_string(GF_SceneEngine *seng,
      u16 ESID, Bool disable_aggregation, char *auString, gf_seng_callback callback) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:701,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:709,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:725,1
    - Dst: gf_seng_create_new_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:717,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:726,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_engine.c:727,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/scene_engine.c:738,1
    - Dst: gf_bifs_encode_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:748,1
    - Dst: gf_laser_encode_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:754,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_engine.c:765,1
    - Dst: callback
      Src: /src/gpac/src/scene_manager/scene_engine.c:764,1
    - Dst: gf_seng_encode_dims_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:758,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:761,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 42
    argCount: 6
    argNames:
    - seng
    - ESID
    - disable_aggregation
    - time
    - commands
    - callback
    argTypes:
    - GF_SceneEngine*
    - u16
    - Bool
    - u32
    - GF_List*
    - gf_seng_callback
    constantsTouched: []
    func_position:
      end: 767
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 767
    functionName: gf_seng_encode_from_commands
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_laser_encode_au
    - gf_seng_create_new_au
    - gf_list_count
    - gf_bifs_encode_au
    - gf_seng_encode_dims_au
    - GF_LOG
    - gf_list_rem
    - gf_free
    - callback
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_seng_encode_from_commands(GF_SceneEngine *seng, u16 ESID,
      Bool disable_aggregation, u32 time, GF_List *commands, gf_seng_callback callback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/scene_manager/scene_engine.c:870,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/scene_manager/scene_engine.c:870,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:873,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:874,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:875,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/scene_engine.c:876,1
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:878,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - c
    - scene
    argTypes:
    - M_Conditional*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 882
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 882
    functionName: seng_exec_conditional
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_sg_command_del
    - gf_sg_command_apply_list
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_node_get_graph
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void seng_exec_conditional(M_Conditional *c, GF_SceneGraph
      *scene) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scene_manager/scene_engine.c:887,1
    - Dst: seng_exec_conditional
      Src: /src/gpac/src/scene_manager/scene_engine.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: seng_conditional_activate
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - seng_exec_conditional
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void seng_conditional_activate(GF_Node *node, GF_Route *route) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/scene_manager/scene_engine.c:896,1
    - Dst: seng_exec_conditional
      Src: /src/gpac/src/scene_manager/scene_engine.c:898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 900
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 900
    functionName: seng_conditional_reverse_activate
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - seng_exec_conditional
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void seng_conditional_reverse_activate(GF_Node *node, GF_Route
      *route) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_engine.c:996,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:1008,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:1008,1
    - Dst: gf_sm_live_setup
      Src: /src/gpac/src/scene_manager/scene_engine.c:1006,1
    - Dst: gf_seng_terminate
      Src: /src/gpac/src/scene_manager/scene_engine.c:1014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - calling_object
    - ctx
    - dump_path
    argTypes:
    - void*
    - GF_SceneManager*
    - char*
    constantsTouched: []
    func_position:
      end: 1016
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1016
    functionName: gf_seng_init_from_context
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - GF_LOG
    - gf_seng_terminate
    - GF_SAFEALLOC
    - gf_sm_live_setup
    linkageType: ''
    returnType: GF_SceneEngine*
    signature: 'GF_SceneEngine *gf_seng_init_from_context(void *calling_object, GF_SceneManager
      *ctx, char *dump_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/scene_manager/scene_engine.c:909,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/scene_manager/scene_engine.c:913,1
    - Dst: gf_node_dirty_parents
      Src: /src/gpac/src/scene_manager/scene_engine.c:918,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - _seng
    - type
    - node
    - ctxdata
    argTypes:
    - void*
    - GF_SGNodeCbkType
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 923
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 923
    functionName: gf_seng_on_node_modified
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - gf_node_get_tag
    - gf_node_dirty_parents
    linkageType: ''
    returnType: void
    signature: 'static void gf_seng_on_node_modified(void *_seng, GF_SGNodeCbkType
      type, GF_Node *node, void *ctxdata) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_encoder_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:81,1
    - Dst: gf_odf_get_bifs_config
      Src: /src/gpac/src/scene_manager/scene_engine.c:98,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/scene_engine.c:104,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:107,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:86,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/scene_engine.c:109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:112,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/scene_manager/scene_engine.c:114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:117,1
    - Dst: gf_bifs_encoder_new_stream
      Src: /src/gpac/src/scene_manager/scene_engine.c:124,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:125,1
    - Dst: gf_bifs_encoder_get_config
      Src: /src/gpac/src/scene_manager/scene_engine.c:127,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_engine.c:134,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/scene_engine.c:135,1
    - Dst: gf_bifs_encoder_get_version
      Src: /src/gpac/src/scene_manager/scene_engine.c:138,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:130,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:129,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - seng
    - sc
    - esd
    argTypes:
    - GF_SceneEngine*
    - GF_StreamContext*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 141
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 141
    functionName: gf_sm_setup_bifsenc
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_odf_get_bifs_config
    - gf_bifs_encoder_get_version
    - GF_LOG
    - gf_bifs_encoder_new_stream
    - gf_odf_desc_new
    - memcpy
    - gf_bifs_encoder_get_config
    - gf_odf_desc_del
    - gf_bifs_encoder_new
    - gf_get_bit_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_setup_bifsenc(GF_SceneEngine *seng, GF_StreamContext
      *sc, GF_ESD *esd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_laser_encoder_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:153,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/scene_engine.c:161,1
    - Dst: gf_laser_encoder_new_stream
      Src: /src/gpac/src/scene_manager/scene_engine.c:168,1
    - Dst: gf_odf_get_laser_config
      Src: /src/gpac/src/scene_manager/scene_engine.c:165,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_engine.c:157,1
    - Dst: gf_laser_encoder_get_config
      Src: /src/gpac/src/scene_manager/scene_engine.c:170,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:172,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:173,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/scene_engine.c:177,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/scene_engine.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - seng
    - sc
    - esd
    argTypes:
    - GF_SceneEngine*
    - GF_StreamContext*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: gf_sm_setup_lsrenc
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_odf_get_laser_config
    - gf_malloc
    - memset
    - gf_laser_encoder_get_config
    - gf_laser_encoder_new_stream
    - gf_laser_encoder_new
    - gf_odf_desc_new
    - memcpy
    - gf_odf_desc_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sm_setup_lsrenc(GF_SceneEngine *seng, GF_StreamContext
      *sc, GF_ESD *esd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/scene_engine.c:614,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/scene_engine.c:620,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/scene_engine.c:620,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/scene_manager/scene_engine.c:615,1
    - Dst: stricmp
      Src: /src/gpac/src/scene_manager/scene_engine.c:621,1
    - Dst: strcat
      Src: /src/gpac/src/scene_manager/scene_engine.c:628,1
    - Dst: gf_isom_open
      Src: /src/gpac/src/scene_manager/scene_engine.c:629,1
    - Dst: gf_sm_encode_to_file
      Src: /src/gpac/src/scene_manager/scene_engine.c:630,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/scene_manager/scene_engine.c:631,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/scene_manager/scene_engine.c:632,1
    - Dst: gf_sm_dump
      Src: /src/gpac/src/scene_manager/scene_engine.c:637,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - seng
    - ctxFileName
    argTypes:
    - GF_SceneEngine*
    - char*
    constantsTouched: []
    func_position:
      end: 641
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 641
    functionName: gf_seng_save_context
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_sm_encode_to_file
    - gf_isom_close
    - gf_isom_open
    - gf_sm_dump
    - strcpy
    - stricmp
    - gf_isom_delete
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_save_context(GF_SceneEngine *seng, char *ctxFileName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_encoder_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:832,1
    - Dst: gf_laser_encoder_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:836,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/scene_manager/scene_engine.c:839,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:843,1
    - Dst: gf_sm_del
      Src: /src/gpac/src/scene_manager/scene_engine.c:842,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/scene_engine.c:845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - seng
    argTypes:
    - GF_SceneEngine*
    constantsTouched: []
    func_position:
      end: 846
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 846
    functionName: gf_seng_terminate
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_laser_encoder_del
    - gf_sg_del
    - gf_sm_del
    - gf_bifs_encoder_del
    - gf_free
    - gf_sm_load_done
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_seng_terminate(GF_SceneEngine *seng) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/scene_manager/scene_engine.c:933,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:939,1
    - Dst: gf_sm_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:943,1
    - Dst: gf_sg_set_private
      Src: /src/gpac/src/scene_manager/scene_engine.c:941,1
    - Dst: gf_sg_set_node_callback
      Src: /src/gpac/src/scene_manager/scene_engine.c:940,1
    - Dst: memset
      Src: /src/gpac/src/scene_manager/scene_engine.c:945,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/scene_manager/scene_engine.c:953,1
    - Dst: seng_conditional_activate
      Src: /src/gpac/src/scene_manager/scene_engine.c:954,1
    - Dst: seng_conditional_reverse_activate
      Src: /src/gpac/src/scene_manager/scene_engine.c:955,1
    - Dst: gf_seng_create_new_au
      Src: /src/gpac/src/scene_manager/scene_engine.c:956,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/scene_manager/scene_engine.c:962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:971,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:966,1
    - Dst: gf_seng_terminate
      Src: /src/gpac/src/scene_manager/scene_engine.c:977,1
    - Dst: gf_sm_live_setup
      Src: /src/gpac/src/scene_manager/scene_engine.c:969,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/src/scene_manager/scene_engine.c:963,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:971,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/scene_manager/scene_engine.c:966,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - calling_object
    - inputContext
    - load_type
    - dump_path
    - embed_resources
    argTypes:
    - void*
    - char*
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 979
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 979
    functionName: gf_seng_init
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - gf_sg_set_node_callback
    - memset
    - seng_conditional_activate
    - seng_conditional_reverse_activate
    - gf_seng_create_new_au
    - gf_error_to_string
    - GF_LOG
    - gf_sg_new
    - gf_sg_set_private
    - gf_seng_terminate
    - gf_sm_new
    - GF_SAFEALLOC
    - gf_sm_load_run
    - gf_sm_load_init
    - gf_sm_live_setup
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_SceneEngine *gf_seng_init(void *calling_object, char
      * inputContext, u32 load_type, char *dump_path, Bool embed_resources) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/scene_manager/scene_engine.c:647,1
    - Dst: gf_sm_stream_au_new
      Src: /src/gpac/src/scene_manager/scene_engine.c:652,1
    - Dst: GF_LOG
      Src: /src/gpac/src/scene_manager/scene_engine.c:649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - time
    argTypes:
    - GF_StreamContext*
    - u32
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: gf_seng_create_new_au
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_sm_stream_au_new
    - GF_LOG
    - gf_list_last
    linkageType: ''
    returnType: GF_AUContext*
    signature: 'static GF_AUContext *gf_seng_create_new_au(GF_StreamContext *sc, u32
      time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/scene_engine.c:851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 15
    argCount: 8
    argNames:
    - seng
    - idx
    - ESID
    - config
    - config_len
    - streamType
    - codec_id
    - timeScale
    argTypes:
    - GF_SceneEngine*
    - u32
    - u16*
    - u8**
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 860
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 860
    functionName: gf_seng_get_stream_config
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_seng_get_stream_config(GF_SceneEngine *seng, u32
      idx, u16 *ESID, const u8 **config, u32 *config_len, u32 *streamType, u32 *codec_id,
      u32 *timeScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/scene_engine.c:1093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - seng
    argTypes:
    - GF_SceneEngine*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1094
    functionName: gf_seng_get_stream_count
    functionSourceFile: /src/gpac/src/scene_manager/scene_engine.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_seng_get_stream_count(GF_SceneEngine *seng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - read
    - snd
    - soundstream_first_block
    argTypes:
    - SWFReader*
    - SWFSound*
    - Bool
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: swf_svg_setup_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_setup_sound(SWFReader *read, SWFSound *snd,
      Bool soundstream_first_block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:516,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:521,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:522,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:519,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:520,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:523,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:524,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_svg.c:524,1
    - Dst: FIX2INT
      Src: /src/gpac/src/scene_manager/swf_svg.c:524,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:525,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:526,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_svg.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - read
    - swf_flags
    - swf_flatten_angle
    argTypes:
    - SWFReader*
    - u32
    - Float
    constantsTouched: []
    func_position:
      end: 536
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: swf_to_svg_init
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - swf_svg_print
    - FIX2INT
    - FLT2FIX
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_to_svg_init(SWFReader *read, u32 swf_flags, Float swf_flatten_angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:366,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:367,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - read
    - ID
    - fileName
    argTypes:
    - SWFReader*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: swf_svg_setup_image
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - swf_svg_print
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_setup_image(SWFReader *read, u32 ID, char *fileName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_svg.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - user
    - data
    - length
    - timestamp
    - isRap
    argTypes:
    - void*
    - u8*
    - u32
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: swf_svg_write_text_sample
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_svg_write_text_sample(void *user, const u8 *data, u32 length,
      u64 timestamp, Bool isRap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/scene_manager/swf_svg.c:52,1
    - Dst: gf_realloc
      Src: /src/gpac/src/scene_manager/swf_svg.c:58,1
    - Dst: vsnprintf
      Src: /src/gpac/src/scene_manager/swf_svg.c:53,1
    - Dst: va_end
      Src: /src/gpac/src/scene_manager/swf_svg.c:54,1
    - Dst: strlen
      Src: /src/gpac/src/scene_manager/swf_svg.c:56,1
    - Dst: memmove
      Src: /src/gpac/src/scene_manager/swf_svg.c:61,1
    - Dst: memcpy
      Src: /src/gpac/src/scene_manager/swf_svg.c:62,1
    - Dst: strcpy
      Src: /src/gpac/src/scene_manager/swf_svg.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - read
    - format
    - '...'
    argTypes:
    - SWFReader*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: swf_svg_print
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - strlen
    - va_end
    - gf_realloc
    - va_start
    - memcpy
    - strcpy
    - memmove
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_print(SWFReader *read, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:82,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:83,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - read
    - ARGB
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: swf_svg_print_alpha
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - swf_svg_print
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_print_alpha(SWFReader *read, u32 ARGB) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - read
    - depth
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: swf_svg_allocate_depth
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool swf_svg_allocate_depth(SWFReader *read, u32 depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - read
    - btn
    argTypes:
    - SWFReader*
    - SWF_Button*
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: swf_svg_define_button
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_define_button(SWFReader *read, SWF_Button *btn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:93,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:95,1
    - Dst: swf_svg_print_alpha
      Src: /src/gpac/src/scene_manager/swf_svg.c:97,1
    - Dst: swf_svg_print_color
      Src: /src/gpac/src/scene_manager/swf_svg.c:94,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:96,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:98,1
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_svg.c:117,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:121,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:122,1
    - Dst: swf_svg_print_color
      Src: /src/gpac/src/scene_manager/swf_svg.c:123,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:128,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:128,1
    - Dst: swf_svg_print_alpha
      Src: /src/gpac/src/scene_manager/swf_svg.c:126,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:124,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:125,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:127,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - read
    - srec
    - is_fill
    argTypes:
    - SWFReader*
    - SWFShapeRec*
    - Bool
    constantsTouched: []
    func_position:
      end: 130
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 130
    functionName: swg_svg_print_shape_record_to_fill_stroke
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - swf_svg_print_alpha
    - swf_svg_print
    - swf_report
    - swf_svg_print_color
    - FIX2FLT
    linkageType: ''
    returnType: void
    signature: 'static void swg_svg_print_shape_record_to_fill_stroke(SWFReader *read,
      SWFShapeRec *srec, Bool is_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:73,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:76,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:76,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:75,1
    - Dst: INT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:74,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:76,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - read
    - ARGB
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: swf_svg_print_color
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - swf_svg_print
    - INT2FIX
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_print_color(SWFReader *read, u32 ARGB) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - read
    - nb_frames
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: swf_svg_define_sprite
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_define_sprite(SWFReader *read, u32 nb_frames) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - read
    - act
    argTypes:
    - SWFReader*
    - SWFAction*
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: swf_svg_action
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool swf_svg_action(SWFReader *read, SWFAction *act) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/src/scene_manager/swf_svg.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - user
    - data
    - length
    - isHeader
    argTypes:
    - void*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: swf_svg_write_text_header
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err swf_svg_write_text_header(void *user, const u8 *data, u32 length,
      Bool isHeader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:142,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:142,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:142,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:147,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:147,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:147,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:152,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:152,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:152,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:154,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:154,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - read
    - srec
    argTypes:
    - SWFReader*
    - SWFShapeRec*
    constantsTouched: []
    func_position:
      end: 159
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 159
    functionName: swf_svg_print_shape_record_to_path_d
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - FIX2FLT
    - swf_svg_print
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_print_shape_record_to_path_d(SWFReader *read,
      SWFShapeRec *srec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: swf_svg_end_of_clip
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_end_of_clip(SWFReader *read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - read
    - xrgb
    argTypes:
    - SWFReader*
    - u32
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: swf_svg_set_backcol
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_set_backcol(SWFReader *read, u32 xrgb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 9
    argNames:
    - read
    - depth
    - ID
    - prev_id
    - type
    - mat
    - cmat
    - prev_mat
    - prev_cmat
    argTypes:
    - SWFReader*
    - u32
    - u32
    - u32
    - u32
    - GF_Matrix2D*
    - GF_ColorMatrix*
    - GF_Matrix2D*
    - GF_ColorMatrix*
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: swf_svg_place_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_place_obj(SWFReader *read, u32 depth, u32 ID,
      u32 prev_id, u32 type, GF_Matrix2D *mat, GF_ColorMatrix *cmat, GF_Matrix2D *prev_mat,
      GF_ColorMatrix *prev_cmat) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:177,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:177,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:181,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:183,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:173,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:181,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:181,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/scene_manager/swf_svg.c:163,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:173,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:170,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/scene_manager/swf_svg.c:168,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:173,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - read
    - mat
    argTypes:
    - SWFReader*
    - GF_Matrix2D*
    constantsTouched: []
    func_position:
      end: 190
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 190
    functionName: swf_svg_print_matrix
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - gf_mx2d_decompose
    - FIX2FLT
    - swf_svg_print
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_print_matrix(SWFReader *read, GF_Matrix2D *mat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - read
    - snd
    - stop
    argTypes:
    - SWFReader*
    - SWFSound*
    - Bool
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: swf_svg_start_sound
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_start_sound(SWFReader *read, SWFSound *snd,
      Bool stop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - read
    - depth
    - ID
    argTypes:
    - SWFReader*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: swf_svg_remove_obj
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_remove_obj(SWFReader *read, u32 depth, u32 ID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:223,1
    - Dst: swf_svg_print_shape_record_to_path_d
      Src: /src/gpac/src/scene_manager/swf_svg.c:224,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:227,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_svg.c:230,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:242,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:208,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:214,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:231,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:205,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:233,1
    - Dst: swg_svg_print_shape_record_to_fill_stroke
      Src: /src/gpac/src/scene_manager/swf_svg.c:234,1
    - Dst: sprintf
      Src: /src/gpac/src/scene_manager/swf_svg.c:213,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_svg.c:213,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_svg.c:215,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_svg.c:222,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:225,1
    - Dst: swg_svg_print_shape_record_to_fill_stroke
      Src: /src/gpac/src/scene_manager/swf_svg.c:226,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:241,1
    - Dst: swf_svg_print_shape_record_to_path_d
      Src: /src/gpac/src/scene_manager/swf_svg.c:232,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - read
    - shape
    - parent_font
    - last_sub_shape
    argTypes:
    - SWFReader*
    - SWFShape*
    - SWFFont*
    - Bool
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: swf_svg_define_shape
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - swf_svg_print
    - swg_svg_print_shape_record_to_fill_stroke
    - gf_list_enum
    - gf_list_count
    - sprintf
    - swf_svg_print_shape_record_to_path_d
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_define_shape(SWFReader *read, SWFShape *shape,
      SWFFont *parent_font, Bool last_sub_shape) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - read
    - text
    argTypes:
    - SWFReader*
    - SWFEditText*
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: swf_svg_define_edit_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_define_edit_text(SWFReader *read, SWFEditText
      *text) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/scene_manager/swf_svg.c:428,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:446,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:452,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_svg.c:464,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_svg.c:405,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/scene_manager/swf_svg.c:411,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_svg.c:410,1
    - Dst: swf_svg_print_matrix
      Src: /src/gpac/src/scene_manager/swf_svg.c:439,1
    - Dst: gf_list_new
      Src: /src/gpac/src/scene_manager/swf_svg.c:402,1
    - Dst: gf_list_add
      Src: /src/gpac/src/scene_manager/swf_svg.c:425,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_svg.c:432,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:448,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:450,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_svg.c:436,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:447,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:454,1
    - Dst: gf_list_count
      Src: /src/gpac/src/scene_manager/swf_svg.c:413,1
    - Dst: gf_list_get
      Src: /src/gpac/src/scene_manager/swf_svg.c:415,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/scene_manager/swf_svg.c:418,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:437,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:440,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:457,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - read
    argTypes:
    - SWFReader*
    constantsTouched: []
    func_position:
      end: 471
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 471
    functionName: swf_svg_show_frame
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - swf_svg_print
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    - swf_svg_print_matrix
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_show_frame(SWFReader *read) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: swf_report
      Src: /src/gpac/src/scene_manager/swf_svg.c:270,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:277,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:281,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:289,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:277,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:320,1
    - Dst: gf_divfix
      Src: /src/gpac/src/scene_manager/swf_svg.c:325,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/scene_manager/swf_svg.c:263,1
    - Dst: swf_svg_print_matrix
      Src: /src/gpac/src/scene_manager/swf_svg.c:259,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:258,1
    - Dst: swf_find_font
      Src: /src/gpac/src/scene_manager/swf_svg.c:267,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:275,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:276,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:276,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:278,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_svg.c:299,1
    - Dst: gf_malloc
      Src: /src/gpac/src/scene_manager/swf_svg.c:305,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:332,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:260,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:291,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:285,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:310,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:320,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:325,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:325,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:328,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:333,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:257,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:313,1
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:319,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/scene_manager/swf_svg.c:320,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/scene_manager/swf_svg.c:325,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/scene_manager/swf_svg.c:307,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 2
    argNames:
    - read
    - text
    argTypes:
    - SWFReader*
    - SWFText*
    constantsTouched: []
    func_position:
      end: 335
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 335
    functionName: swf_svg_define_text
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - swf_find_font
    - gf_malloc
    - swf_svg_print
    - swf_report
    - gf_list_enum
    - FLT2FIX
    - gf_divfix
    - gf_utf8_wcstombs
    - swf_svg_print_matrix
    - FIX2FLT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_define_text(SWFReader *read, SWFText *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swf_svg_print
      Src: /src/gpac/src/scene_manager/swf_svg.c:476,1
    - Dst: gf_free
      Src: /src/gpac/src/scene_manager/swf_svg.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - read
    - is_destroy
    argTypes:
    - SWFReader*
    - Bool
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: swf_svg_finalize
    functionSourceFile: /src/gpac/src/scene_manager/swf_svg.c
    functionUses: []
    functionsReached:
    - swf_svg_print
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void swf_svg_finalize(SWFReader *read, Bool is_destroy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:45,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/webgl.c:47,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/webgl.c:48,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/webgl.c:49,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:51,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:53,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:55,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/webgl.c:56,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/webgl.c:58,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:59,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:71,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:61,1
    - Dst: glDeleteRenderbuffers
      Src: /src/gpac/src/jsmods/webgl.c:67,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:70,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/webgl.c:64,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:66,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: webgl_finalize
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - glDeleteRenderbuffers
    - gf_list_count
    - glDeleteTextures
    - JS_IsUndefined
    - glDeleteFramebuffers
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void webgl_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/webgl.c:193,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:193,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/webgl.c:195,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:198,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:194,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:199,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:205,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:211,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:212,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:213,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - val
    - values
    - v_size
    - dim
    argTypes:
    - JSContext*
    - JSValue
    - s32**
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 218
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 218
    functionName: WGL_LOAD_INT32_VEC
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - gf_malloc
    - JS_IsArray
    - JS_IsException
    - JS_IsObject
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: Bool
    signature: 'Bool WGL_LOAD_INT32_VEC(JSContext *ctx, JSValue val, s32 **values,
      u32 *v_size, u32 dim) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 702
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 702
    functionName: wgl_getProgramParameter
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getProgramParameter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 700
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(program, argv[0], WebGLProgram_class_id);\tWGL_GET_U32(pname, argv[1]);
      glGetProgramiv(program, pname, &params); switch (pname) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 731
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(shader, argv[0], WebGLShader_class_id);\tWGL_GET_U32(pname, argv[1]);
      glGetShaderiv(shader, pname, &params); switch (pname) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - GL_RGBA
    argTypes:
    - format
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (format==GL_RGBA) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webgl_pck_tex_depth_del
      Src: /src/gpac/src/jsmods/webgl.c:1821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1822
    functionName: webgl_pck_depth_del
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - webgl_pck_tex_depth_del
    linkageType: ''
    returnType: void
    signature: 'void webgl_pck_depth_del(GF_Filter *filter, GF_FilterPid *PID, GF_FilterPacket
      *pck) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2061,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:2067,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:2104,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2109,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2122,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:2126,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:2158,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:2161,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/webgl.c:2168,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/webgl.c:2167,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2100,1
    - Dst: webgl_setup_fbo
      Src: /src/gpac/src/jsmods/webgl.c:2135,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:2162,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:2164,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2162,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2161,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/webgl.c:2160,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:2131,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:2060,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:2071,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:2087,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2082,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:2113,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:2121,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:2127,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2128,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:2136,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/webgl.c:2141,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2142,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2164,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/webgl.c:2115,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2165,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:2165,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2065,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:2062,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2098,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2080,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2095,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2103,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:2106,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2107,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2096,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2097,1
    - Dst: GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2099,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2129,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:2118,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:2063,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:2066,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:2072,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2076,1
    - Dst: jsf_request_opengl
      Src: /src/gpac/src/jsmods/webgl.c:2079,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/webgl.c:2081,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/webgl.c:2105,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2107,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2109,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:2111,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:2125,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 129
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2171
    functionName: webgl_constructor
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - WGL_GET_S32
    - jsf_request_opengl
    - GF_SAFEALLOC
    - JS_ToInt32
    - JS_ToCString
    - JS_NewInt32
    - strcmp
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - JS_IsObject
    - gf_list_new
    - JS_FreeCString
    - JS_IsUndefined
    - JS_IsString
    - gf_free
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_ToBool
    - GET_BOOL
    - webgl_setup_fbo
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue webgl_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/webgl.c:226,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:231,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/webgl.c:228,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:227,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:226,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:233,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:240,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:250,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/webgl.c:251,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:252,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - val
    - values
    - v_size
    - dim
    - is_matrix
    argTypes:
    - JSContext*
    - JSValue
    - Float**
    - u32*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 257
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 257
    functionName: WGL_LOAD_FLOAT_VEC
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - gf_malloc
    - JS_IsArray
    - JS_IsException
    - JS_IsObject
    - JS_ToFloat64
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: Bool
    signature: 'Bool WGL_LOAD_FLOAT_VEC(JSContext *ctx, JSValue val, Float **values,
      u32 *v_size, u32 dim, Bool is_matrix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:77,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:81,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:79,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/webgl.c:82,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/webgl.c:80,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:83,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/webgl.c:84,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:85,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:87,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:88,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/webgl.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: webgl_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - JS_MarkValue
    - gf_list_count
    - JS_IsUndefined
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'static void webgl_gc_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:732,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/jsmods/webgl.c:769,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/jsmods/webgl.c:775,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/jsmods/webgl.c:773,1
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:768,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:778,1
    - Dst: glGetProgramInfoLog
      Src: /src/gpac/src/jsmods/webgl.c:780,1
    - Dst: glGetShaderInfoLog
      Src: /src/gpac/src/jsmods/webgl.c:782,1
    - Dst: glGetShaderSource
      Src: /src/gpac/src/jsmods/webgl.c:784,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:788,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 790
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 790
    functionName: wgl_getRenderbufferParameter
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - WGL_GET_GLID
    - glGetShaderiv
    - JS_NewInt32
    - JS_NewString
    - glGetShaderInfoLog
    - glGetShaderSource
    - glGetProgramInfoLog
    - glGetProgramiv
    - gf_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getRenderbufferParameter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:958,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:959,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:961,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:962,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:960,1
    - Dst: glGetVertexAttribiv
      Src: /src/gpac/src/jsmods/webgl.c:965,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:967,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:969,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:971,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:974,1
    - Dst: glGetVertexAttribfv
      Src: /src/gpac/src/jsmods/webgl.c:976,1
    - Dst: glGetVertexAttribiv
      Src: /src/gpac/src/jsmods/webgl.c:988,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/webgl.c:979,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:979,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:991,1
    - Dst: glGetVertexAttribiv
      Src: /src/gpac/src/jsmods/webgl.c:983,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:989,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:977,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 992
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 992
    functionName: wgl_getVertexAttrib
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - gf_list_get
    - JS_NewArray
    - glGetVertexAttribiv
    - gf_list_count
    - JS_NewInt32
    - js_throw_err
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewFloat64
    - glGetVertexAttribfv
    - WGL_GET_U32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getVertexAttrib(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1828,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/webgl.c:1829,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1831,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1829,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1832,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/webgl.c:1834,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1836,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/jsmods/webgl.c:1846,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1854,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:1857,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1858,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:1860,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:1863,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/webgl.c:1862,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 6
    argNames:
    - ctx
    - argc
    - argv
    - for_pid
    - pck_del
    - f_ifce
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    - GF_FilterPid*
    - gf_fsess_packet_destructor*
    - GF_FilterFrameInterface**
    constantsTouched: []
    func_position:
      end: 1866
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1866
    functionName: webgl_get_frame_interface
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_IsFunction
    - gf_filter_pid_get_property
    - js_throw_err
    - JS_IsUndefined
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue webgl_get_frame_interface(JSContext *ctx, int argc, JSValueConst
      *argv, GF_FilterPid *for_pid, gf_fsess_packet_destructor *pck_del, GF_FilterFrameInterface
      **f_ifce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2175,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2178,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2182,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2180,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2176,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:2184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2185
    functionName: wgl_texture_name
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewString
    - js_throw_err
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_texture_name(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2345,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2346,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/webgl.c:2350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2354
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2354
    functionName: wgl_named_tx_setProperty
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_named_tx_setProperty(JSContext *ctx, JSValueConst
      obj, JSValueConst value, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1733,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1732,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/jsmods/webgl.c:1738,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:1740,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1759,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1757,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1763,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/webgl.c:1762,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:1764,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:1743,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:1744,1
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:1734,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1756,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/webgl.c:1754,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/webgl.c:1766,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1731,1
    - Dst: WGL_GET_STRING
      Src: /src/gpac/src/jsmods/webgl.c:1735,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1750,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1767,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1769
    functionName: wgl_getUniformLocation
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - JS_FreeCString
    - WGL_GET_GLID
    - gf_list_count
    - js_throw_err
    - strcmp
    - glGetUniformLocation
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_SetOpaque
    - JS_DupValue
    - GF_SAFEALLOC
    - WGL_GET_STRING
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getUniformLocation(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1897,1
    - Dst: jsf_set_gl_active
      Src: /src/gpac/src/jsmods/webgl.c:1901,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:1904,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:1906,1
    - Dst: glCheckFramebufferStatus
      Src: /src/gpac/src/jsmods/webgl.c:1908,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1913,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:1922,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1924,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:1929,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1931,1
    - Dst: glReadPixels
      Src: /src/gpac/src/jsmods/webgl.c:1937,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/webgl.c:1947,1
    - Dst: jsf_set_gl_active
      Src: /src/gpac/src/jsmods/webgl.c:1949,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1955,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/webgl.c:1945,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/webgl.c:1946,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - ifce
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1957
    functionName: webgl_get_plane
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - glBindFramebuffer
    - gf_js_lock
    - glReadPixels
    - jsf_set_gl_active
    - glCheckFramebufferStatus
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err webgl_get_plane(GF_FilterFrameInterface *ifce, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - (c, pck_obj)
    argTypes:
    - js_evg_is_texture
    constantsTouched: []
    func_position:
      end: 1253
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1253
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (js_evg_is_texture(c, pck_obj)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/jsmods/webgl.c:1793,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/webgl.c:1806,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:1805,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:1807,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1798,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:1809,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/webgl.c:1812,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - filter
    - PID
    - pck
    - is_depth
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1813
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1813
    functionName: webgl_pck_tex_depth_del
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_filter_pck_get_frame_interface
    - gf_js_lock
    - JS_IsUndefined
    - JS_Call
    linkageType: ''
    returnType: void
    signature: 'void webgl_pck_tex_depth_del(GF_Filter *filter, GF_FilterPid *PID,
      GF_FilterPacket *pck, Bool is_depth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glGetActiveAttrib
      Src: /src/gpac/src/jsmods/webgl.c:319,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:326,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/webgl.c:325,1
    - Dst: glGetActiveUniform
      Src: /src/gpac/src/jsmods/webgl.c:321,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:323,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:326,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:327,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:327,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:328,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - program
    - index
    - is_attr
    argTypes:
    - JSContext*
    - GLuint
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: webgl_getActiveAttribOrUniform
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_NewInt32
    - js_throw_err
    - glGetActiveAttrib
    - JS_NewString
    - JS_SetPropertyStr
    - glGetActiveUniform
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue webgl_getActiveAttribOrUniform(JSContext *ctx, GLuint
      program, u32 index, Bool is_attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webgl_getActiveAttribOrUniform
      Src: /src/gpac/src/jsmods/webgl.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - program
    - index
    argTypes:
    - JSContext*
    - GLuint
    - u32
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: webgl_getActiveUniform
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - webgl_getActiveAttribOrUniform
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue webgl_getActiveUniform(JSContext *ctx, GLuint program, u32
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:768,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/jsmods/webgl.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - WGL_GET_GLID
    - glGetProgramiv
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: 'WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      if (type==0) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:822,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:825,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:827,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:823,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:826,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/jsmods/webgl.c:835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 837
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glPixelStorei
    - js_throw_err
    - WGL_GET_S32
    - JS_GetOpaque
    - WGL_GET_U32
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]);\tWGL_GET_U32(pname, argv[1]); glGetTexParameteriv(target,
      pname, &params); return JS_NewInt32(ctx, params); }JSValue wgl_pixelStorei(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1623,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/webgl.c:1641,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/webgl.c:1652,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1668,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/webgl.c:1674,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/webgl.c:1629,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/webgl.c:1625,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/webgl.c:1634,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1642,1
    - Dst: gf_cicp_parse_color_matrix
      Src: /src/gpac/src/jsmods/webgl.c:1660,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1661,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/webgl.c:1658,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/webgl.c:1638,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:1651,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/webgl.c:1639,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:1650,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/webgl.c:1652,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:1657,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1667,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/webgl.c:1670,1
    - Dst: glGenTextures
      Src: /src/gpac/src/jsmods/webgl.c:1669,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1671,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1622,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/webgl.c:1625,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:1630,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1631,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1635,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/webgl.c:1648,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/webgl.c:1646,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1647,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:1655,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/webgl.c:1656,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:1659,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/webgl.c:1666,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:1672,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1677
    functionName: wgl_createTexture
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_IsNull
    - js_throw_err
    - GF_SAFEALLOC
    - glGenTextures
    - JS_ToInt32
    - JS_ToCString
    - gf_strdup
    - gf_cicp_parse_color_matrix
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - JS_IsObject
    - JS_IsInteger
    - JS_FreeCString
    - sprintf
    - JS_IsString
    - JS_GetPropertyStr
    - JS_ToBool
    - JS_IsBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_createTexture(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/jsmods/webgl.c:1876,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - ifce
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1878
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1878
    functionName: webgl_get_texture
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_mx_add_scale
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err webgl_get_texture(GF_FilterFrameInterface *ifce, u32
      plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_Matrix *texcoordmatrix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glGenBuffers
      Src: /src/gpac/src/jsmods/webgl.c:2370,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/jsmods/webgl.c:2377,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2380,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2373,1
    - Dst: glBufferData
      Src: /src/gpac/src/jsmods/webgl.c:2374,1
    - Dst: glBufferData
      Src: /src/gpac/src/jsmods/webgl.c:2381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - GF_Mesh*
    constantsTouched: []
    func_position:
      end: 2384
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2384
    functionName: mesh_gl_update_buffers
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glBindBuffer
    - glGenBuffers
    - glBufferData
    linkageType: ''
    returnType: Bool
    signature: 'Bool mesh_gl_update_buffers(GF_Mesh *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2533
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2533
    functionName: qjs_module_init_webgl
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_webgl(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webgl_getActiveAttribOrUniform
      Src: /src/gpac/src/jsmods/webgl.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - program
    - index
    argTypes:
    - JSContext*
    - GLuint
    - u32
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: webgl_getActiveAttrib
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - webgl_getActiveAttribOrUniform
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue webgl_getActiveAttrib(JSContext *ctx, GLuint program, u32
      index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:344,1
    - Dst: glGetAttachedShaders
      Src: /src/gpac/src/jsmods/webgl.c:346,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:352,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:348,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:350,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:355,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - glc
    - program
    argTypes:
    - JSContext*
    - GF_WebGLContext*
    - GLuint
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: webgl_getAttachedShaders
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_list_get
    - gf_list_count
    - js_throw_err
    - JS_DupValue
    - glGetAttachedShaders
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue webgl_getAttachedShaders(JSContext *ctx, GF_WebGLContext *glc,
      GLuint program) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:423,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:425,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:426,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:424,1
    - Dst: glGetString
      Src: /src/gpac/src/jsmods/webgl.c:428,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/webgl.c:431,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 439
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 439
    functionName: wgl_getExtension
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - glGetString
    - js_throw_err
    - GF_LOG
    - JS_GetOpaque
    - strstr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getExtension(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1686,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1687,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1692,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1693,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1695,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:1697,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:1703,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/jsmods/webgl.c:1708,1
    - Dst: gf_gl_txw_bind
      Src: /src/gpac/src/jsmods/webgl.c:1719,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1720,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1723
    functionName: wgl_bindTexture
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glBindTexture
    - gf_gl_txw_bind
    - GL_CHECK_ERR
    - js_throw_err
    - JS_GetOpaque
    - WGL_GET_U32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_bindTexture(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2403,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2407,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2408,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2412,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2440,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/jsmods/webgl.c:2445,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/jsmods/webgl.c:2450,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2396,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2398,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2410,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2420,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2422,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/jsmods/webgl.c:2424,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2428,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/jsmods/webgl.c:2432,1
    - Dst: glEnable
      Src: /src/gpac/src/jsmods/webgl.c:2439,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/jsmods/webgl.c:2451,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2400,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2397,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2405,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2442,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/jsmods/webgl.c:2444,1
    - Dst: glDrawElements
      Src: /src/gpac/src/jsmods/webgl.c:2471,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2475,1
    - Dst: glDrawElements
      Src: /src/gpac/src/jsmods/webgl.c:2469,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2401,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2417,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/webgl.c:2415,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2411,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/jsmods/webgl.c:2418,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2430,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/jsmods/webgl.c:2433,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/jsmods/webgl.c:2449,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2466,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - mesh
    - argc
    - argv
    argTypes:
    - JSContext*
    - GF_Mesh*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2480
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2480
    functionName: mesh_gl_draw
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - GL_CHECK_ERR
    - glEnable
    - glDrawElements
    - JS_GetOpaque
    - glBindBuffer
    - glEnableVertexAttribArray
    - WGL_GET_U32
    - glVertexAttribPointer
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue mesh_gl_draw(JSContext *ctx, GF_Mesh *mesh, int argc, JSValueConst
      *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:1985,1
    - Dst: glFramebufferTexture2D
      Src: /src/gpac/src/jsmods/webgl.c:2008,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:2013,1
    - Dst: glRenderbufferStorage
      Src: /src/gpac/src/jsmods/webgl.c:2021,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:2035,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:2036,1
    - Dst: glBindRenderbuffer
      Src: /src/gpac/src/jsmods/webgl.c:2019,1
    - Dst: glRenderbufferStorage
      Src: /src/gpac/src/jsmods/webgl.c:2023,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1971,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1977,1
    - Dst: glGenFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:1979,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:1981,1
    - Dst: glGenTextures
      Src: /src/gpac/src/jsmods/webgl.c:1990,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1994,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1995,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:1995,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/jsmods/webgl.c:1998,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/jsmods/webgl.c:1999,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:2014,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:2040,1
    - Dst: defined
      Src: /src/gpac/src/jsmods/webgl.c:2001,1
    - Dst: glGenTextures
      Src: /src/gpac/src/jsmods/webgl.c:1969,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:1972,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1972,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/jsmods/webgl.c:1975,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/jsmods/webgl.c:1976,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1982,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1983,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:1992,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:1983,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/jsmods/webgl.c:2000,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2037,1
    - Dst: defined
      Src: /src/gpac/src/jsmods/webgl.c:2001,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:2044,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:1974,1
    - Dst: glFramebufferTexture2D
      Src: /src/gpac/src/jsmods/webgl.c:1986,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:1993,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:1997,1
    - Dst: glGenRenderbuffers
      Src: /src/gpac/src/jsmods/webgl.c:2011,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:2015,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2016,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:2016,1
    - Dst: glFramebufferRenderbuffer
      Src: /src/gpac/src/jsmods/webgl.c:2025,1
    - Dst: glCheckFramebufferStatus
      Src: /src/gpac/src/jsmods/webgl.c:2028,1
    - Dst: glDeleteRenderbuffers
      Src: /src/gpac/src/jsmods/webgl.c:2034,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:2033,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - glc
    - width
    - height
    argTypes:
    - JSContext*
    - GF_WebGLContext*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2048
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 2048
    functionName: webgl_setup_fbo
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glGenFramebuffers
    - glBindTexture
    - glTexParameteri
    - glCheckFramebufferStatus
    - glGenRenderbuffers
    - glGenTextures
    - glGetError
    - glTexImage2D
    - glDeleteTextures
    - js_throw_err_msg
    - glFramebufferTexture2D
    - glRenderbufferStorage
    - glDeleteRenderbuffers
    - glFramebufferRenderbuffer
    - gf_free
    - glBindFramebuffer
    - defined
    - glDeleteFramebuffers
    - glBindRenderbuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue webgl_setup_fbo(JSContext *ctx, GF_WebGLContext *glc,
      u32 width, u32 height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webgl_pck_tex_depth_del
      Src: /src/gpac/src/jsmods/webgl.c:1816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: webgl_pck_tex_del
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - webgl_pck_tex_depth_del
    linkageType: ''
    returnType: void
    signature: 'void webgl_pck_tex_del(GF_Filter *filter, GF_FilterPid *PID, GF_FilterPacket
      *pck) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:168,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:177,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:176,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/webgl.c:171,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: NamedTexture_finalize
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - glDeleteTextures
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void NamedTexture_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:265,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:275,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:276,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:277,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:266,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:278,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:281,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:282,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/webgl.c:284,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:285,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:288,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/webgl.c:287,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - size
    - obj
    argTypes:
    - JSContext*
    - u32*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 294
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 294
    functionName: wgl_GetArrayBuffer
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToInt64
    - JS_IsArrayBuffer
    - JS_IsUndefined
    - JS_GetArrayBuffer
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *wgl_GetArrayBuffer(JSContext *ctx, u32 *size, JSValueConst
      obj) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:466,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:467,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:490,1
    - Dst: glGetFloatv
      Src: /src/gpac/src/jsmods/webgl.c:495,1
    - Dst: glGetBooleanv
      Src: /src/gpac/src/jsmods/webgl.c:500,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:537,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:564,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:645,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:639,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:562,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:468,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:481,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:485,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:509,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:507,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:555,1
    - Dst: glGetString
      Src: /src/gpac/src/jsmods/webgl.c:618,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:624,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:629,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:566,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:619,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/webgl.c:601,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/webgl.c:631,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:631,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/webgl.c:508,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:522,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:526,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:533,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:535,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:539,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:546,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:550,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:560,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:647,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:604,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:647,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:610,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:465,1
    - Dst: glGetFloatv
      Src: /src/gpac/src/jsmods/webgl.c:475,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:487,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:510,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:512,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:514,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:512,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:529,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:542,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:570,1
    - Dst: glGetIntegerv
      Src: /src/gpac/src/jsmods/webgl.c:623,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:637,1
    - Dst: glGetBooleanv
      Src: /src/gpac/src/jsmods/webgl.c:587,1
    - Dst: glGetFloatv
      Src: /src/gpac/src/jsmods/webgl.c:600,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:639,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 130
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 652
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_SetPropertyUint32
    - gf_list_get
    - JS_NewArray
    - glGetFloatv
    - glGetString
    - gf_list_count
    - JS_NewInt32
    - js_throw_err
    - glGetBooleanv
    - JS_NewString
    - JS_GetOpaque
    - JS_DupValue
    - glGetIntegerv
    - JS_NewFloat64
    - gf_free
    - WGL_GET_U32
    - JS_NewBool
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]);\tWGL_GET_U32(pname, argv[1]); glGetBufferParameteriv(target,
      pname, &params); return JS_NewInt32(ctx, params); }static JSValue wgl_getParameter(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:732,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 733
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]);\tWGL_GET_U32(pname, argv[1]); glGetRenderbufferParameteriv(target,
      pname, &params); return JS_NewInt32(ctx, params); }static JSValue wgl_getShaderParameter(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:768,1
    - Dst: glGetProgramiv
      Src: /src/gpac/src/jsmods/webgl.c:769,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/jsmods/webgl.c:773,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/jsmods/webgl.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - type
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 777
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 777
    functionName: wgl_getInfoLog
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - WGL_GET_GLID
    - glGetShaderiv
    - glGetProgramiv
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getInfoLog(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, u32 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wgl_getInfoLog
      Src: /src/gpac/src/jsmods/webgl.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: wgl_getProgramInfoLog
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - wgl_getInfoLog
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getProgramInfoLog(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glGetActiveUniform
      Src: /src/gpac/src/jsmods/webgl.c:866,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/webgl.c:876,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:867,1
    - Dst: strcat
      Src: /src/gpac/src/jsmods/webgl.c:877,1
    - Dst: strcpy
      Src: /src/gpac/src/jsmods/webgl.c:873,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/jsmods/webgl.c:879,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 886
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - strcat
    - sprintf
    - strcmp
    - glGetUniformLocation
    - strcpy
    - glGetActiveUniform
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(program_shader, argv[0], WebGLProgram_class_id);\tWGL_GET_GLID(location,
      argv[1], WebGLUniformLocation_class_id); //OpenGL doesn't provide a way to get
      a uniform type from its location //we need to browse all active uniforms by
      name in the program //then look for the location of each uniform and check against
      the desired location glGetProgramiv(program_shader, GL_ACTIVE_UNIFORMS, &activeUniforms);
      for (i=0; i<activeUniforms; i++) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:1028,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1037,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1045,1
    - Dst: glReadPixels
      Src: /src/gpac/src/jsmods/webgl.c:1050,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1048,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1053
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glReadPixels
    - js_throw_err
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(index, argv[0]);\tWGL_GET_U32(pname, argv[1]); glGetVertexAttribPointerv(index,
      pname, &ptr);#ifdef GPAC_64_BITS\treturn JS_NewInt64(ctx, (u64) ptr); #else\treturn
      JS_NewInt64(ctx, (u32) ptr); #endif}static JSValue wgl_readPixels(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:298,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:303,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:305,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:299,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: WebGLRenderingContextBase_getProperty
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewInt32
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue WebGLRenderingContextBase_getProperty(JSContext *ctx,
      JSValueConst obj, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 758
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 758
    functionName: wgl_getShaderPrecisionFormat
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getShaderPrecisionFormat(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wgl_getInfoLog
      Src: /src/gpac/src/jsmods/webgl.c:798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: wgl_getShaderInfoLog
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - wgl_getInfoLog
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getShaderInfoLog(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wgl_getInfoLog
      Src: /src/gpac/src/jsmods/webgl.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: wgl_getShaderSource
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - wgl_getInfoLog
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getShaderSource(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: glGetActiveUniform
      Src: /src/gpac/src/jsmods/webgl.c:866,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/webgl.c:876,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:867,1
    - Dst: strcat
      Src: /src/gpac/src/jsmods/webgl.c:877,1
    - Dst: strcpy
      Src: /src/gpac/src/jsmods/webgl.c:873,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/jsmods/webgl.c:879,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:888,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:912,1
    - Dst: glGetUniformfv
      Src: /src/gpac/src/jsmods/webgl.c:925,1
    - Dst: RETURN_SINGLE_OR_ARRAY
      Src: /src/gpac/src/jsmods/webgl.c:926,1
    - Dst: RETURN_SINGLE_OR_ARRAY
      Src: /src/gpac/src/jsmods/webgl.c:935,1
    - Dst: RETURN_SINGLE_OR_ARRAY
      Src: /src/gpac/src/jsmods/webgl.c:930,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:947,1
    - Dst: RETURN_SINGLE_OR_ARRAY
      Src: /src/gpac/src/jsmods/webgl.c:939,1
    - Dst: glGetUniformiv
      Src: /src/gpac/src/jsmods/webgl.c:929,1
    - Dst: glGetUniformiv
      Src: /src/gpac/src/jsmods/webgl.c:938,1
    - Dst: glGetUniformiv
      Src: /src/gpac/src/jsmods/webgl.c:934,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 73
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 948
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 948
    functionName: wgl_getUniform
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - strcat
    - sprintf
    - strcmp
    - js_throw_err_msg
    - glGetUniformLocation
    - RETURN_SINGLE_OR_ARRAY
    - strcpy
    - glGetUniformfv
    - glGetUniformiv
    - glGetActiveUniform
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getUniform(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:1076,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1092,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:1119,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1111,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1149,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1160,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1162,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/webgl.c:1166,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1170,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1190,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/webgl.c:1225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/webgl.c:1223,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1218,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1073,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/webgl.c:1077,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1088,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1113,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/webgl.c:1120,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1137,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1138,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1139,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1193,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1194,1
    - Dst: glShaderSource
      Src: /src/gpac/src/jsmods/webgl.c:1226,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1211,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1215,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1229,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1230,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1075,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1074,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/webgl.c:1121,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1123,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1125,1
    - Dst: gf_gl_txw_insert_fragment_shader
      Src: /src/gpac/src/jsmods/webgl.c:1143,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1167,1
    - Dst: wgl_locate_named_tx
      Src: /src/gpac/src/jsmods/webgl.c:1175,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1181,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1195,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1211,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1228,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1208,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1078,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:1080,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:1083,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/webgl.c:1085,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:1091,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/webgl.c:1116,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1127,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1183,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1200,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1213,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/webgl.c:1219,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/webgl.c:1207,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/webgl.c:1211,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 138
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1232
    functionName: wgl_shaderSource
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - gf_list_get
    - gf_dynstrcat
    - JS_FreeCString
    - strncmp
    - WGL_GET_GLID
    - gf_gl_txw_insert_fragment_shader
    - gf_list_count
    - glShaderSource
    - js_throw_err
    - GF_LOG
    - js_throw_err_msg
    - JS_GetOpaque
    - strchr
    - wgl_locate_named_tx
    - gf_free
    - strstr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_shaderSource(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: jsf_is_packet
      Src: /src/gpac/src/jsmods/webgl.c:1244,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1275,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/webgl.c:1275,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1291,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/jsmods/webgl.c:1283,1
    - Dst: gf_gl_txw_setup
      Src: /src/gpac/src/jsmods/webgl.c:1299,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1246,1
    - Dst: jsf_get_filter_packet_planes
      Src: /src/gpac/src/jsmods/webgl.c:1263,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1300,1
    - Dst: js_evg_get_texture_info
      Src: /src/gpac/src/jsmods/webgl.c:1289,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1294,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/webgl.c:1300,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1304,1
    - Dst: gf_gl_txw_upload
      Src: /src/gpac/src/jsmods/webgl.c:1309,1
    - Dst: jsf_get_packet
      Src: /src/gpac/src/jsmods/webgl.c:1245,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/jsmods/webgl.c:1248,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/jsmods/webgl.c:1298,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1256,1
    - Dst: js_evg_get_texture_info
      Src: /src/gpac/src/jsmods/webgl.c:1266,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1268,1
    - Dst: gf_gl_txw_setup
      Src: /src/gpac/src/jsmods/webgl.c:1274,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1285,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 4
    argNames:
    - c
    - pck_obj
    - _named_tx
    - force_resetup
    argTypes:
    - JSContext*
    - JSValueConst
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 1312
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1312
    functionName: wgl_named_texture_upload
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_frame_interface
    - js_evg_get_texture_info
    - gf_gl_txw_upload
    - js_throw_err
    - jsf_is_packet
    - gf_gl_txw_reset
    - js_throw_err_msg
    - gf_gl_txw_setup
    - jsf_get_packet
    - gf_4cc_to_str
    - gf_filter_pck_get_data
    - jsf_get_filter_packet_planes
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue wgl_named_texture_upload(JSContext *c, JSValueConst pck_obj,
      void *_named_tx, Bool force_resetup) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1531,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1538,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:1541,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1543,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:1548,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1554,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1552,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1557,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1585,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/jsmods/webgl.c:1585,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1532,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1534,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1539,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1555,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:1556,1
    - Dst: js_evg_get_texture_info
      Src: /src/gpac/src/jsmods/webgl.c:1565,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1591,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1536,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1544,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1537,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1553,1
    - Dst: wgl_tex_sub_image_2d
      Src: /src/gpac/src/jsmods/webgl.c:1559,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1549,1
    - Dst: wgl_tex_sub_image_2d
      Src: /src/gpac/src/jsmods/webgl.c:1587,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1592
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1592
    functionName: wgl_texSubImage2D
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - js_evg_get_texture_info
    - js_throw_err
    - WGL_GET_S32
    - wgl_GetArrayBuffer
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_pixel_fmt_name
    - JS_IsObject
    - WGL_GET_U32
    - wgl_tex_sub_image_2d
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_texSubImage2D(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1610,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1612,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1613,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1611,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/jsmods/webgl.c:1614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1617
    functionName: wgl_activeTexture
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - WGL_GET_U32
    - glActiveTexture
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_activeTexture(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1776,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1779,1
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:1781,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1777,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1780,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:1783,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:1785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1787
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1787
    functionName: wgl_bindFramebuffer
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glBindFramebuffer
    - WGL_GET_GLID
    - js_throw_err
    - JS_GetOpaque
    - WGL_GET_U32
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue wgl_bindFramebuffer(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/jsmods/webgl.c:1887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - ifce
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1889
    functionName: webgl_get_depth
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_mx_add_scale
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err webgl_get_depth(GF_FilterFrameInterface *ifce, u32 plane_idx,
      u32 *gl_tex_format, u32 *gl_tex_id, GF_Matrix *texcoordmatrix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:1057,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/webgl.c:1060,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:1059,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - glc
    - name
    argTypes:
    - GF_WebGLContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1063
    functionName: wgl_locate_named_tx
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_WebGLNamedTexture*
    signature: 'GF_WebGLNamedTexture *wgl_locate_named_tx(GF_WebGLContext *glc, char
      *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1598,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1599,1
    - Dst: glUseProgram
      Src: /src/gpac/src/jsmods/webgl.c:1602,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1600,1
    - Dst: WGL_GET_GLID
      Src: /src/gpac/src/jsmods/webgl.c:1601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1605
    functionName: wgl_useProgram
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - WGL_GET_GLID
    - JS_GetOpaque
    - js_throw_err
    - glUseProgram
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_useProgram(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2327,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:2332,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:2336,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2341
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2341
    functionName: wgl_named_tx_getProperty
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewString
    - JS_NewInt32
    - js_throw_err
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_named_tx_getProperty(JSContext *ctx, JSValueConst
      obj, int magic) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1486,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1510,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 10
    argNames:
    - glc
    - target
    - level
    - xoffset
    - yoffset
    - width
    - height
    - format
    - type
    - pixels
    argTypes:
    - GF_WebGLContext*
    - GLenum
    - GLint
    - GLint
    - GLint
    - GLsizei
    - GLsizei
    - GLenum
    - GLenum
    - u8*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1512
    functionName: wgl_tex_sub_image_2d
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glTexSubImage2D
    linkageType: ''
    returnType: void
    signature: 'void wgl_tex_sub_image_2d(GF_WebGLContext *glc, GLenum target, GLint
      level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format,
      GLenum type, u8 *pixels) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: wgl_isContextLost
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_isContextLost(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glTexImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1326,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1349,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/jsmods/webgl.c:1345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 10
    argNames:
    - glc
    - target
    - level
    - internalformat
    - width
    - height
    - border
    - format
    - type
    - pixels
    argTypes:
    - GF_WebGLContext*
    - GLenum
    - GLint
    - GLint
    - GLsizei
    - GLsizei
    - GLint
    - GLenum
    - GLenum
    - u8*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1351
    functionName: wgl_tex_image_2d
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glTexImage2D
    - glTexSubImage2D
    linkageType: ''
    returnType: void
    signature: 'static void wgl_tex_image_2d(GF_WebGLContext *glc, GLenum target,
      GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border,
      GLenum format, GLenum type, const u8 *pixels) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - txval
    - tx_id
    argTypes:
    - JSContext*
    - JSValueConst
    - u32*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2193
    functionName: wgl_texture_get_id
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool wgl_texture_get_id(JSContext *ctx, JSValueConst txval, u32 *tx_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2260,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2261,1
    - Dst: wgl_activate_gl
      Src: /src/gpac/src/jsmods/webgl.c:2263,1
    - Dst: WGL_GET_BOOL
      Src: /src/gpac/src/jsmods/webgl.c:2262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2264
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2264
    functionName: wgl_activate
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - WGL_GET_BOOL
    - JS_GetOpaque
    - js_throw_err
    - wgl_activate_gl
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_activate(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2294,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2295,1
    - Dst: wgl_named_texture_upload
      Src: /src/gpac/src/jsmods/webgl.c:2296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2297
    functionName: wgl_named_tx_upload
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - js_throw_err
    - wgl_named_texture_upload
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_named_tx_upload(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:376,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:376,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:383,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:383,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:370,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:378,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:378,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:380,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:380,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:384,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:384,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:371,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:381,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:381,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:385,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:385,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:374,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/webgl.c:373,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:374,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:382,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/webgl.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: wgl_getContextAttributes
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_NewString
    - js_throw_err
    - JS_GetOpaque
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getContextAttributes(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:396,1
    - Dst: glGetString
      Src: /src/gpac/src/jsmods/webgl.c:401,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/webgl.c:398,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:402,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:397,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/webgl.c:404,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/webgl.c:406,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/webgl.c:406,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/webgl.c:412,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:412,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/webgl.c:415,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: wgl_getSupportedExtensions
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_ToBool
    - JS_NewArray
    - glGetString
    - JS_NewString
    - js_throw_err
    - JS_NewInt32
    - JS_GetOpaque
    - strchr
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getSupportedExtensions(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:660,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:661,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:663,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:664,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:662,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:665,1
    - Dst: glGetFramebufferAttachmentParameteriv
      Src: /src/gpac/src/jsmods/webgl.c:666,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:670,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:672,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:674,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/webgl.c:681,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:679,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/webgl.c:676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 682
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 682
    functionName: wgl_getFramebufferAttachmentParameter
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - JS_NewInt32
    - js_throw_err
    - JS_GetOpaque
    - JS_DupValue
    - glGetFramebufferAttachmentParameteriv
    - WGL_GET_U32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_getFramebufferAttachmentParameter(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1373,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1375,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1384,1
    - Dst: js_evg_is_texture
      Src: /src/gpac/src/jsmods/webgl.c:1406,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/webgl.c:1414,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1421,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/webgl.c:1425,1
    - Dst: js_evg_get_texture_info
      Src: /src/gpac/src/jsmods/webgl.c:1443,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:1469,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/jsmods/webgl.c:1469,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1377,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:1390,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/webgl.c:1390,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1394,1
    - Dst: wgl_tex_image_2d
      Src: /src/gpac/src/jsmods/webgl.c:1401,1
    - Dst: js_evg_get_texture_named
      Src: /src/gpac/src/jsmods/webgl.c:1407,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1478,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1378,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/webgl.c:1381,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1383,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1395,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1397,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1391,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:1412,1
    - Dst: js_evg_set_named_texture_gl
      Src: /src/gpac/src/jsmods/webgl.c:1418,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/webgl.c:1422,1
    - Dst: wgl_named_texture_upload
      Src: /src/gpac/src/jsmods/webgl.c:1438,1
    - Dst: wgl_tex_image_2d
      Src: /src/gpac/src/jsmods/webgl.c:1473,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:1372,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1379,1
    - Dst: WGL_GET_S32
      Src: /src/gpac/src/jsmods/webgl.c:1396,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:1398,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:1399,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/webgl.c:1411,1
    - Dst: JS_SwitchClassID
      Src: /src/gpac/src/jsmods/webgl.c:1420,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/webgl.c:1423,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:1426,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/webgl.c:1428,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1479
    functionName: wgl_texImage2D
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_IsNull
    - js_throw_err
    - WGL_GET_S32
    - wgl_named_texture_upload
    - GF_SAFEALLOC
    - js_evg_is_texture
    - gf_strdup
    - glDeleteTextures
    - wgl_GetArrayBuffer
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_SwitchClassID
    - JS_IsObject
    - gf_list_del_item
    - js_evg_get_texture_info
    - js_evg_get_texture_named
    - gf_free
    - wgl_tex_image_2d
    - WGL_GET_U32
    - gf_pixel_fmt_name
    - JS_FreeValue
    - js_evg_set_named_texture_gl
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_texImage2D(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glCheckFramebufferStatus
      Src: /src/gpac/src/jsmods/webgl.c:2208,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/jsmods/webgl.c:2226,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:2251,1
    - Dst: jsf_set_gl_active
      Src: /src/gpac/src/jsmods/webgl.c:2201,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:2204,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/webgl.c:2217,1
    - Dst: glUseProgram
      Src: /src/gpac/src/jsmods/webgl.c:2224,1
    - Dst: gf_gl_txw_bind
      Src: /src/gpac/src/jsmods/webgl.c:2229,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/jsmods/webgl.c:2245,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:2234,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:2243,1
    - Dst: glDisable
      Src: /src/gpac/src/jsmods/webgl.c:2248,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/webgl.c:2213,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/webgl.c:2219,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2242,1
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/webgl.c:2200,1
    - Dst: glBindFramebuffer
      Src: /src/gpac/src/jsmods/webgl.c:2206,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2230,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2239,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/jsmods/webgl.c:2241,1
    - Dst: glBindTexture
      Src: /src/gpac/src/jsmods/webgl.c:2246,1
    - Dst: jsf_set_gl_active
      Src: /src/gpac/src/jsmods/webgl.c:2253,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - glc
    - activate
    argTypes:
    - JSContext*
    - GF_WebGLContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 2256
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2256
    functionName: wgl_activate_gl
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - glBindFramebuffer
    - gf_list_get
    - glUseProgram
    - gf_gl_txw_bind
    - glBindTexture
    - gf_list_count
    - glDisable
    - js_throw_err
    - jsf_set_gl_active
    - js_throw_err_msg
    - glCheckFramebufferStatus
    - glBindBuffer
    - glActiveTexture
    - glGetError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_activate_gl(JSContext *ctx, GF_WebGLContext *glc,
      Bool activate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2270,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2272,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/webgl.c:2273,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2274,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2271,1
    - Dst: wgl_activate_gl
      Src: /src/gpac/src/jsmods/webgl.c:2276,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:2277,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/jsmods/webgl.c:2279,1
    - Dst: glDeleteRenderbuffers
      Src: /src/gpac/src/jsmods/webgl.c:2281,1
    - Dst: glDeleteFramebuffers
      Src: /src/gpac/src/jsmods/webgl.c:2283,1
    - Dst: webgl_setup_fbo
      Src: /src/gpac/src/jsmods/webgl.c:2286,1
    - Dst: wgl_activate_gl
      Src: /src/gpac/src/jsmods/webgl.c:2289,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/webgl.c:2287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2290
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2290
    functionName: wgl_resize
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - wgl_activate_gl
    - glDeleteRenderbuffers
    - js_throw_err
    - glDeleteTextures
    - JS_IsUndefined
    - glDeleteFramebuffers
    - JS_GetOpaque
    - WGL_GET_U32
    - webgl_setup_fbo
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_resize(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/webgl.c:2300,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/jsmods/webgl.c:2303,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/webgl.c:2301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2307
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2307
    functionName: wgl_named_tx_reconfigure
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - js_throw_err
    - gf_gl_txw_reset
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_named_tx_reconfigure(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/webgl.c:1028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames:
    - argc
    - <7
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1034
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<7) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_S32(x, argv[0]);\tWGL_GET_S32(y, argv[1]); WGL_GET_U32(width, argv[2]);\tWGL_GET_U32(height,
      argv[3]); WGL_GET_U32(format, argv[4]);\tWGL_GET_U32(type, argv[5]); ab = wgl_GetArrayBuffer(ctx,
      &ab_size, argv[6]); if (!ab) return js_throw_err(ctx, WGL_INVALID_VALUE); req_size
      = width * height; if (format==GL_RGB) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/webgl.c:2523,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/webgl.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2527
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2527
    functionName: qjs_module_init_webgl
    functionSourceFile: /src/gpac/src/jsmods/webgl.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExport
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_webgl(JSContext *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:533,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:534,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:537,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:538,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:536,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:539,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:540,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:541,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:542,1
    - Dst: gf_evg_surface_get_raster_level
      Src: /src/gpac/src/jsmods/evg.c:542,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:547,1
    - Dst: gf_evg_surface_get_mask_mode
      Src: /src/gpac/src/jsmods/evg.c:549,1
    - Dst: gf_evg_surface_use_clipper
      Src: /src/gpac/src/jsmods/evg.c:551,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/jsmods/evg.c:547,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:549,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/jsmods/evg.c:544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 554
    functionName: canvas_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_pixel_is_wide_depth
    - gf_evg_surface_get_raster_level
    - gf_evg_surface_use_clipper
    - JS_NewInt32
    - gf_pixel_fmt_is_yuv
    - JS_GetOpaque
    - JS_DupValue
    - gf_evg_surface_get_mask_mode
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evg_shader_ops
      Src: /src/gpac/src/jsmods/evg.c:2419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - frag
    argTypes:
    - void*
    - GF_EVGFragmentParam*
    constantsTouched: []
    func_position:
      end: 2420
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2420
    functionName: evg_frag_shader_ops
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - evg_shader_ops
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_frag_shader_ops(void *udta, GF_EVGFragmentParam *frag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evg_shader_ops
      Src: /src/gpac/src/jsmods/evg.c:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - udta
    - vert
    argTypes:
    - void*
    - GF_EVGVertexParam*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2463
    functionName: evg_vert_shader_ops
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - evg_shader_ops
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_vert_shader_ops(void *udta, GF_EVGVertexParam *vert) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2535,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2539,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2542,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2545,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2548,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2551,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:2554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2557
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2557
    functionName: shader_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void shader_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3781,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:3783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 3784
      start: 3776
    functionDepth: 0
    functionLinenumber: 3776
    functionLinenumberEnd: 3784
    functionName: va_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void va_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5239,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5240,1
    - Dst: gf_evg_stencil_get_brush_color
      Src: /src/gpac/src/jsmods/evg.c:5244,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5242,1
    - Dst: gf_evg_stencil_type
      Src: /src/gpac/src/jsmods/evg.c:5241,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/evg.c:5245,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5245,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5245,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5245,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5245,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/evg.c:5246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5247
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5247
    functionName: stencil_get_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_evg_stencil_type
    - JS_NewString
    - sprintf
    - GF_COL_R
    - JS_GetOpaque
    - gf_evg_stencil_get_brush_color
    - GF_COL_G
    - GF_COL_B
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_get_color(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_alpha_ex
      Src: /src/gpac/src/jsmods/evg.c:5275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5276
      start: 5273
    functionDepth: 0
    functionLinenumber: 5273
    functionLinenumberEnd: 5276
    functionName: stencil_set_alpha
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_alpha_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_alpha(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5866,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5870,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:5872,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5880,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5877,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5878,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5889,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:5899,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5904,1
    - Dst: gf_evg_stencil_get_pixel
      Src: /src/gpac/src/jsmods/evg.c:5936,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5938,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5968,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:5869,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:5884,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5885,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:5883,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5888,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5906,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5940,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5973,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/jsmods/evg.c:5970,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5867,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5874,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5882,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:5887,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5891,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5892,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5901,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:5913,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5939,1
    - Dst: SET_CLAMP
      Src: /src/gpac/src/jsmods/evg.c:5962,1
    - Dst: SET_CLAMP
      Src: /src/gpac/src/jsmods/evg.c:5963,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5863,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5864,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5871,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5873,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:5875,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:5876,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:5895,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5900,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5908,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:5914,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:5971,1
    - Dst: SET_CLAMP
      Src: /src/gpac/src/jsmods/evg.c:5961,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5972,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 150
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5975
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5975
    functionName: texture_convolution
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - gf_malloc
    - gf_evg_stencil_get_pixel
    - js_throw_err
    - GF_COL_R
    - GF_SAFEALLOC
    - GF_COL_B
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_evg_stencil_set_texture
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsObject
    - gf_pixel_get_size_info
    - gf_evg_stencil_new
    - JS_IsUndefined
    - gf_free
    - JS_GetPropertyStr
    - JS_FreeValue
    - GF_COL_G
    - SET_CLAMP
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_convolution(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:562,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/evg.c:582,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/evg.c:581,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/evg.c:579,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/evg.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - c
    - obj
    - rc
    - reset
    argTypes:
    - JSContext*
    - JSValueConst
    - GF_IRect*
    - Bool
    constantsTouched: []
    func_position:
      end: 586
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 586
    functionName: canvas_get_irect
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - GET_PROP
    - memset
    linkageType: ''
    returnType: Bool
    signature: 'Bool canvas_get_irect(JSContext *c, JSValueConst obj, GF_IRect *rc,
      Bool reset) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vai_call_lerp_init
      Src: /src/gpac/src/jsmods/evg.c:2431,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:2448,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/evg.c:2446,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/evg.c:2450,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/evg.c:2442,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - udta
    - frag
    - th_id
    - is_cleanup
    argTypes:
    - void*
    - GF_EVGFragmentParam*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2456
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2456
    functionName: evg_frag_shader_ops_init
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - memcpy
    - vai_call_lerp_init
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_frag_shader_ops_init(void *udta, GF_EVGFragmentParam
      *frag, u32 th_id, Bool is_cleanup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2470,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2482,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2473,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2476,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2479,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2486,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:2490,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2503,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - rt
    - shader
    argTypes:
    - JSRuntime*
    - EVGShader*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2511
    functionName: shader_reset
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void shader_reset(JSRuntime *rt, EVGShader *shader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4438,1
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:4440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 4441
      start: 4436
    functionDepth: 0
    functionLinenumber: 4436
    functionLinenumberEnd: 4441
    functionName: path_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_path_del
    linkageType: ''
    returnType: void
    signature: 'static void path_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5253,1
    - Dst: gf_evg_stencil_set_alpha
      Src: /src/gpac/src/jsmods/evg.c:5269,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5257,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5262,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - use_int
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 5271
      start: 5250
    functionDepth: 0
    functionLinenumber: 5250
    functionLinenumberEnd: 5271
    functionName: stencil_set_alpha_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_evg_stencil_set_alpha
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_alpha_ex(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv, Bool use_int) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_alpha_ex
      Src: /src/gpac/src/jsmods/evg.c:5279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5280
      start: 5277
    functionDepth: 0
    functionLinenumber: 5277
    functionLinenumberEnd: 5280
    functionName: stencil_set_alphaf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_alpha_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_alphaf(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:5989,1
    - Dst: jsf_is_packet
      Src: /src/gpac/src/jsmods/evg.c:6005,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6007,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5986,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5987,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:6002,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6018,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/jsmods/evg.c:6036,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6041,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:6040,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5994,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5992,1
    - Dst: jsf_get_filter_packet_planes
      Src: /src/gpac/src/jsmods/evg.c:6006,1
    - Dst: wgl_named_texture_upload
      Src: /src/gpac/src/jsmods/evg.c:6016,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/evg.c:6039,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6025,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:6046,1
    - Dst: gf_pixel_get_nb_comp
      Src: /src/gpac/src/jsmods/evg.c:6045,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6037,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6022,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6049
      start: 5977
    functionDepth: 0
    functionLinenumber: 5977
    functionLinenumberEnd: 6049
    functionName: texture_update
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_pixel_get_size_info
    - JS_IsException
    - gf_evg_stencil_set_texture
    - jsf_is_packet
    - js_throw_err
    - jsf_get_filter_packet_planes
    - JS_GetOpaque
    - JS_DupValue
    - wgl_named_texture_upload
    - gf_evg_stencil_set_texture_planes
    - JS_IsObject
    - gf_assert
    - GF_JS_EXCEPTION
    - gf_pixel_get_nb_comp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_update(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max_f
      Src: /src/gpac/src/jsmods/evg.c:5594,1
    - Dst: min_f
      Src: /src/gpac/src/jsmods/evg.c:5595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 6
    argNames:
    - src_r
    - src_g
    - src_b
    - dst_h
    - dst_s
    - dst_v
    argTypes:
    - u8
    - u8
    - u8
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 5620
      start: 5587
    functionDepth: 0
    functionLinenumber: 5587
    functionLinenumberEnd: 5620
    functionName: rgb2hsv
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - min_f
    - max_f
    linkageType: ''
    returnType: void
    signature: 'void rgb2hsv(const u8 src_r, const u8 src_g, const u8 src_b, u8 *dst_h,
      u8 *dst_s, u8 *dst_v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 8099
      start: 8096
    functionDepth: 0
    functionLinenumber: 8096
    functionLinenumberEnd: 8099
    functionName: qjs_module_init_evg
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_evg(void *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7415,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7416,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:7417,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7418,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7419,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7420,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7422,1
    - Dst: WGL_GET_VEC3
      Src: /src/gpac/src/jsmods/evg.c:7427,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/jsmods/evg.c:7429,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7429,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7430,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7429,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7431
      start: 7412
    functionDepth: 0
    functionLinenumber: 7412
    functionLinenumberEnd: 7431
    functionName: mx_translate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_DupValue
    - WGL_GET_VEC3
    - JS_IsObject
    - GF_JS_EXCEPTION
    - gf_mx_add_translation
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_translate(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5446,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:5449,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:5448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5450
      start: 5444
    functionDepth: 0
    functionLinenumber: 5444
    functionLinenumberEnd: 5450
    functionName: texture_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void texture_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:6831,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6844,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6842,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6838,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6840,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6845,1
    - Dst: gf_divfix
      Src: /src/gpac/src/jsmods/evg.c:6848,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6848,1
    - Dst: INT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6848,1
    - Dst: gf_path_new
      Src: /src/gpac/src/jsmods/evg.c:6862,1
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:6905,1
    - Dst: gf_path_add_subpath
      Src: /src/gpac/src/jsmods/evg.c:6904,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/evg.c:6869,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/jsmods/evg.c:6892,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/evg.c:6863,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/jsmods/evg.c:6888,1
    - Dst: gf_font_span_create_path
      Src: /src/gpac/src/jsmods/evg.c:6903,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/jsmods/evg.c:6890,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    argCount: 2
    argNames:
    - txt
    - for_centered
    argTypes:
    - GF_JSText*
    - Bool
    constantsTouched: []
    func_position:
      end: 6917
      start: 6823
    functionDepth: 0
    functionLinenumber: 6823
    functionLinenumberEnd: 6917
    functionName: text_update_path
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx2d_add_translation
    - gf_list_count
    - gf_mx2d_init
    - INT2FIX
    - gf_path_del
    - FLT2FIX
    - gf_path_new
    - gf_mx2d_add_scale
    - gf_divfix
    - gf_path_add_subpath
    - gf_font_span_create_path
    linkageType: ''
    returnType: void
    signature: 'static void text_update_path(GF_JSText *txt, Bool for_centered) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:344,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:346,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:347,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:348,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:351,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:352,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: canvas_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void canvas_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_set_matrix_3d
      Src: /src/gpac/src/jsmods/evg.c:1326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1327
    functionName: canvas_projection
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_set_matrix_3d
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_projection(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5285,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5289,1
    - Dst: gf_evg_stencil_get_alpha
      Src: /src/gpac/src/jsmods/evg.c:5292,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5287,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:5293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5294
      start: 5283
    functionDepth: 0
    functionLinenumber: 5283
    functionLinenumberEnd: 5294
    functionName: stencil_get_alphaf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    - gf_evg_stencil_get_alpha
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_get_alphaf(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_constructor
      Src: /src/gpac/src/jsmods/evg.c:5403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5404
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5404
    functionName: linear_gradient_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue linear_gradient_constructor(JSContext *c, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_convert
      Src: /src/gpac/src/jsmods/evg.c:5775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5776
      start: 5773
    functionDepth: 0
    functionLinenumber: 5773
    functionLinenumberEnd: 5776
    functionName: texture_hsv2rgb
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_convert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_hsv2rgb(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7719,1
    - Dst: mesh_gl_draw
      Src: /src/gpac/src/jsmods/evg.c:7721,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7722
      start: 7717
    functionDepth: 0
    functionLinenumber: 7717
    functionLinenumberEnd: 7722
    functionName: mesh_draw
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - mesh_gl_draw
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mesh_draw(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_set_matrix_3d
      Src: /src/gpac/src/jsmods/evg.c:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: canvas_modelview
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_set_matrix_3d
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_modelview(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - COMP_X
    argTypes:
    - op
    constantsTouched: []
    func_position:
      end: 1957
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1957
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GET_FIRST_COMP
    signature: 'GET_FIRST_COMP if (op->left_value_type & COMP_X) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5299,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5300,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5309,1
    - Dst: gf_evg_stencil_type
      Src: /src/gpac/src/jsmods/evg.c:5303,1
    - Dst: gf_evg_stencil_get_matrix
      Src: /src/gpac/src/jsmods/evg.c:5308,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5310,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/jsmods/evg.c:5311,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5312,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5313,1
    - Dst: gf_evg_stencil_get_auto_matrix
      Src: /src/gpac/src/jsmods/evg.c:5318,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5327,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5323,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5324,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5326,1
    - Dst: gf_evg_stencil_get_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 5333
      start: 5297
    functionDepth: 0
    functionLinenumber: 5297
    functionLinenumberEnd: 5333
    functionName: stencil_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_type
    - gf_evg_stencil_get_auto_matrix
    - js_throw_err
    - gf_evg_stencil_get_matrix
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_mx2d_copy
    - gf_evg_stencil_get_color_matrix
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_constructor
      Src: /src/gpac/src/jsmods/evg.c:5407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5408
      start: 5405
    functionDepth: 0
    functionLinenumber: 5405
    functionLinenumberEnd: 5408
    functionName: radial_gradient_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue radial_gradient_constructor(JSContext *c, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_convert
      Src: /src/gpac/src/jsmods/evg.c:5779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5780
      start: 5777
    functionDepth: 0
    functionLinenumber: 5777
    functionLinenumberEnd: 5780
    functionName: texture_rgb2yuv
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_convert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_rgb2yuv(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:7666,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:7668,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:7670,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7671,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/jsmods/evg.c:7669,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7673,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7674,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/jsmods/evg.c:7676,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/jsmods/evg.c:7678,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7681,1
    - Dst: gf_mx_rotation_matrix_from_vectors
      Src: /src/gpac/src/jsmods/evg.c:7684,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7683,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7688
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7688
    functionName: mx_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - js_throw_err
    - gf_mx_rotation_matrix_from_vectors
    - gf_mx_init
    - JS_NewObjectClass
    - JS_SetOpaque
    - JS_GetOpaque
    - WGL_GET_VEC3F
    - GF_SAFEALLOC
    - gf_mx_copy
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_update_path
      Src: /src/gpac/src/jsmods/evg.c:6921,1
    - Dst: gf_evg_surface_force_aa
      Src: /src/gpac/src/jsmods/evg.c:6923,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/jsmods/evg.c:6922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - canvas
    - txt
    argTypes:
    - GF_JSCanvas*
    - GF_JSText*
    constantsTouched: []
    func_position:
      end: 6924
      start: 6919
    functionDepth: 0
    functionLinenumber: 6919
    functionLinenumberEnd: 6924
    functionName: text_set_path
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - text_update_path
    - gf_evg_surface_set_path
    - gf_evg_surface_force_aa
    linkageType: ''
    returnType: void
    signature: 'static void text_set_path(GF_JSCanvas *canvas, GF_JSText *txt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:920,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:930,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:930,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:921,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:924,1
    - Dst: canvas_constructor_internal
      Src: /src/gpac/src/jsmods/evg.c:932,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:935,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/jsmods/evg.c:940,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:942,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 944
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 944
    functionName: canvas_reassign
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_constructor_internal
    - gf_evg_surface_attach_to_buffer
    - JS_GetArrayBuffer
    - JS_GetOpaque
    - gf_free
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_reassign(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3693,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:3697,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/evg.c:3695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - obj
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 3699
      start: 3691
    functionDepth: 0
    functionLinenumber: 3691
    functionLinenumberEnd: 3699
    functionName: vai_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void vai_gc_mark(JSRuntime *rt, JSValueConst obj, JS_MarkFunc
      *mark_func) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:4551,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4556,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4556,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4560,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4562,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4565,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4562,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4567,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4540,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4564,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4565,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4565,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4567,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4542,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4563,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4563,1
    - Dst: gf_path_add_rect
      Src: /src/gpac/src/jsmods/evg.c:4567,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4567,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4567,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4569,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4539,1
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:4550,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4557,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4557,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/jsmods/evg.c:4565,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4565,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4570,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4571
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4571
    functionName: path_rect
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_path_add_rect_center
    - FLT2FIX
    - JS_GetOpaque
    - gf_path_add_rect
    - JS_DupValue
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - GETD
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_rect(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - tx
    argTypes:
    - GF_JSTexture*
    constantsTouched: []
    func_position:
      end: 5418
      start: 5410
    functionDepth: 0
    functionLinenumber: 5410
    functionLinenumberEnd: 5418
    functionName: texture_reset
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void texture_reset(GF_JSTexture *tx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:6725,1
    - Dst: gf_font_manager_delete_span
      Src: /src/gpac/src/jsmods/evg.c:6729,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/evg.c:6727,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/evg.c:6728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - txt
    argTypes:
    - GF_JSText*
    constantsTouched: []
    func_position:
      end: 6732
      start: 6723
    functionDepth: 0
    functionLinenumber: 6723
    functionLinenumberEnd: 6732
    functionName: text_reset
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_font_manager_delete_span
    - gf_path_del
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void text_reset(GF_JSText *txt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7606,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7608,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7607,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7609,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7610,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7611,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7612,1
    - Dst: gf_mx_perspective_reverse_z
      Src: /src/gpac/src/jsmods/evg.c:7613,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7613,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7613,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7615,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7613,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7617,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7615,1
    - Dst: gf_mx_perspective
      Src: /src/gpac/src/jsmods/evg.c:7615,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7615,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7613,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7618
      start: 7603
    functionDepth: 0
    functionLinenumber: 7603
    functionLinenumberEnd: 7618
    functionName: mx_perspective
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - FLT2FIX
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_DupValue
    - gf_mx_perspective
    - GF_JS_EXCEPTION
    - gf_mx_perspective_reverse_z
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_perspective(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_rgb_yuv
      Src: /src/gpac/src/jsmods/evg.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: canvas_toYUV
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_rgb_yuv
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_toYUV(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4579,1
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:4589,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4596,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4596,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4606,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4595,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4580,1
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:4590,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4595,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4599,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4604,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4605,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4604,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4605,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4601,1
    - Dst: gf_path_add_ellipse
      Src: /src/gpac/src/jsmods/evg.c:4605,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4603,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4605,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4605,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4603,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4607,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4608
      start: 4573
    functionDepth: 0
    functionLinenumber: 4573
    functionLinenumberEnd: 4608
    functionName: path_ellipse
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_add_ellipse
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - GETD
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_ellipse(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5422,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:5427,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:5428,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:5426,1
    - Dst: texture_reset
      Src: /src/gpac/src/jsmods/evg.c:5424,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5432,1
    - Dst: sws_freeContext
      Src: /src/gpac/src/jsmods/evg.c:5438,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5442
      start: 5420
    functionDepth: 0
    functionLinenumber: 5420
    functionLinenumberEnd: 5442
    functionName: texture_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_delete
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    - sws_freeContext
    - texture_reset
    linkageType: ''
    returnType: void
    signature: 'static void texture_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6739,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - txt
    argTypes:
    - GF_JSText*
    constantsTouched: []
    func_position:
      end: 6745
      start: 6734
    functionDepth: 0
    functionLinenumber: 6734
    functionLinenumberEnd: 6745
    functionName: text_reset_fonts
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void text_reset_fonts(GF_JSText *txt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7508,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7509,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7511,1
    - Dst: gf_mx_transpose
      Src: /src/gpac/src/jsmods/evg.c:7510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7512
      start: 7506
    functionDepth: 0
    functionLinenumber: 7506
    functionLinenumberEnd: 7512
    functionName: mx_transpose
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_GetOpaque
    - gf_mx_transpose
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_transpose(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7622,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7627,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7626,1
    - Dst: WGL_GET_VEC3F
      Src: /src/gpac/src/jsmods/evg.c:7625,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7623,1
    - Dst: gf_mx_lookat
      Src: /src/gpac/src/jsmods/evg.c:7629,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7631
      start: 7619
    functionDepth: 0
    functionLinenumber: 7619
    functionLinenumberEnd: 7631
    functionName: mx_lookat
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - WGL_GET_VEC3F
    - JS_GetOpaque
    - JS_DupValue
    - gf_mx_lookat
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_lookat(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1223,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1226,1
    - Dst: gf_evg_enable_threading
      Src: /src/gpac/src/jsmods/evg.c:1229,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1224,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1227,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1232
    functionName: canvas_enable_threading
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - gf_evg_enable_threading
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_enable_threading(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floorf
      Src: /src/gpac/src/jsmods/evg.c:1544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - Float
    constantsTouched: []
    func_position:
      end: 1545
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1545
    functionName: fractf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - floorf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Float fractf(Float v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/jsmods/evg.c:5390,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5391,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:5393,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5394,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - c
    - new_target
    - argc
    - argv
    - type
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - GF_StencilType
    constantsTouched: []
    func_position:
      end: 5396
      start: 5387
    functionDepth: 0
    functionLinenumber: 5387
    functionLinenumberEnd: 5396
    functionName: stencil_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_new
    - JS_IsException
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv, GF_StencilType type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5666,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5699,1
    - Dst: gf_evg_stencil_get_pixel
      Src: /src/gpac/src/jsmods/evg.c:5714,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5717,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5730,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5731,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5732,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5733,1
    - Dst: gf_evg_ayuv_to_argb
      Src: /src/gpac/src/jsmods/evg.c:5735,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:5706,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5724,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5725,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5726,1
    - Dst: hsv2rgb
      Src: /src/gpac/src/jsmods/evg.c:5727,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5760,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5669,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:5672,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5667,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5701,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:5707,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5723,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:5759,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5765,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5766,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:5761,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:5756,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:5762,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5719,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5720,1
    - Dst: rgb2hsv
      Src: /src/gpac/src/jsmods/evg.c:5721,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5718,1
    - Dst: gf_evg_argb_to_ayuv
      Src: /src/gpac/src/jsmods/evg.c:5729,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5736,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5737,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5738,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5739,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/jsmods/evg.c:5752,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:5762,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - conv_type
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 5768
      start: 5659
    functionDepth: 0
    functionLinenumber: 5659
    functionLinenumberEnd: 5768
    functionName: texture_convert
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_evg_stencil_get_pixel
    - js_throw_err
    - GF_COL_R
    - GF_SAFEALLOC
    - GF_COL_B
    - GF_JS_EXCEPTION
    - gf_error_to_string
    - gf_evg_stencil_set_texture
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - gf_evg_ayuv_to_argb
    - hsv2rgb
    - gf_pixel_get_size_info
    - gf_evg_stencil_new
    - rgb2hsv
    - gf_evg_argb_to_ayuv
    - gf_free
    - GF_COL_A
    - gf_evg_stencil_delete
    - GF_COL_G
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_convert(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, u32 conv_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7708,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7709,1
    - Dst: mesh_gl_update_buffers
      Src: /src/gpac/src/jsmods/evg.c:7710,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7713
      start: 7706
    functionDepth: 0
    functionLinenumber: 7706
    functionLinenumberEnd: 7713
    functionName: mesh_update_gl
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - mesh_gl_update_buffers
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mesh_update_gl(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1237,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1243,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1240,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1238,1
    - Dst: gf_evg_surface_enable_3d
      Src: /src/gpac/src/jsmods/evg.c:1239,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:1244,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1245,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1247,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:1248,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1253
    functionName: canvas_enable_3d
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_evg_surface_enable_3d
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_enable_3d(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1295,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:1300,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:1302,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/jsmods/evg.c:1298,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1296,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1303,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1304,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1305,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:1308,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:1309,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:1312,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:1315,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1322,1
    - Dst: gf_evg_surface_set_modelview
      Src: /src/gpac/src/jsmods/evg.c:1321,1
    - Dst: gf_evg_surface_set_projection
      Src: /src/gpac/src/jsmods/evg.c:1319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1310,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1311,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - is_proj
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1323
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1323
    functionName: canvas_set_matrix_3d
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_IsArray
    - gf_evg_surface_set_modelview
    - gf_evg_surface_set_projection
    - FLT2FIX
    - js_throw_err_msg
    - gf_mx_init
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_set_matrix_3d(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv, Bool is_proj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floorf
      Src: /src/gpac/src/jsmods/evg.c:1549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1550
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1550
    functionName: _modf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - floorf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Float _modf(Float x, Float y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3614,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3615,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:3618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3622
      start: 3612
    functionDepth: 0
    functionLinenumber: 3612
    functionLinenumberEnd: 3622
    functionName: vai_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vai_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_constructor
      Src: /src/gpac/src/jsmods/evg.c:5399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5400
      start: 5397
    functionDepth: 0
    functionLinenumber: 5397
    functionLinenumberEnd: 5400
    functionName: solid_brush_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue solid_brush_constructor(JSContext *c, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_convert
      Src: /src/gpac/src/jsmods/evg.c:5771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5772
      start: 5769
    functionDepth: 0
    functionLinenumber: 5769
    functionLinenumberEnd: 5772
    functionName: texture_rgb2hsv
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_convert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_rgb2hsv(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 171
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/evg.c:1635,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/jsmods/evg.c:1768,1
    - Dst: gf_evg_stencil_get_pixel_f
      Src: /src/gpac/src/jsmods/evg.c:2160,1
    - Dst: gf_evg_stencil_get_pixel_yuv_f
      Src: /src/gpac/src/jsmods/evg.c:2189,1
    - Dst: evg_float_clamp
      Src: /src/gpac/src/jsmods/evg.c:2361,1
    - Dst: evg_float_clamp
      Src: /src/gpac/src/jsmods/evg.c:2364,1
    - Dst: gf_gf_evg_rgb_to_yuv_f
      Src: /src/gpac/src/jsmods/evg.c:2382,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2397,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2402,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/evg.c:1617,1
    - Dst: vai_call_lerp
      Src: /src/gpac/src/jsmods/evg.c:1722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/evg.c:1848,1
    - Dst: gf_evg_stencil_get_pixel_f
      Src: /src/gpac/src/jsmods/evg.c:2162,1
    - Dst: gf_evg_stencil_get_pixel_yuv_wide
      Src: /src/gpac/src/jsmods/evg.c:2179,1
    - Dst: gf_evg_stencil_get_pixel_yuv
      Src: /src/gpac/src/jsmods/evg.c:2181,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/jsmods/evg.c:2204,1
    - Dst: gf_vec_diff
      Src: /src/gpac/src/jsmods/evg.c:2218,1
    - Dst: gf_vec_dot_p
      Src: /src/gpac/src/jsmods/evg.c:2228,1
    - Dst: evg_float_clamp
      Src: /src/gpac/src/jsmods/evg.c:2367,1
    - Dst: evg_float_clamp
      Src: /src/gpac/src/jsmods/evg.c:2370,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/evg.c:1753,1
    - Dst: ABS
      Src: /src/gpac/src/jsmods/evg.c:1760,1
    - Dst: ABS
      Src: /src/gpac/src/jsmods/evg.c:1761,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/evg.c:1781,1
    - Dst: gf_evg_stencil_get_pixel
      Src: /src/gpac/src/jsmods/evg.c:2154,1
    - Dst: gf_vec_norm
      Src: /src/gpac/src/jsmods/evg.c:1964,1
    - Dst: gf_evg_stencil_get_pixel_wide
      Src: /src/gpac/src/jsmods/evg.c:2152,1
    - Dst: gf_vec_len_p
      Src: /src/gpac/src/jsmods/evg.c:2210,1
    - Dst: gf_vec_len_p
      Src: /src/gpac/src/jsmods/evg.c:2219,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2394,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2399,1
    - Dst: sqrtf
      Src: /src/gpac/src/jsmods/evg.c:1762,1
    - Dst: gf_mx_apply_vec_4x4
      Src: /src/gpac/src/jsmods/evg.c:1778,1
    - Dst: gf_evg_stencil_get_pixel_yuv_f
      Src: /src/gpac/src/jsmods/evg.c:2187,1
    - Dst: gf_vec_cross_p
      Src: /src/gpac/src/jsmods/evg.c:2236,1
    - Dst: evg_float_clamp
      Src: /src/gpac/src/jsmods/evg.c:2373,1
    - Dst: gf_evg_yuv_to_rgb_f
      Src: /src/gpac/src/jsmods/evg.c:2389,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2401,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2403,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/evg.c:2404,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 437
    argCount: 5
    argNames:
    - canvas
    - shader
    - frag
    - vert
    - vars
    argTypes:
    - GF_JSCanvas*
    - EVGShader*
    - GF_EVGFragmentParam*
    - GF_EVGVertexParam*
    - ShaderVar*
    constantsTouched: []
    func_position:
      end: 2412
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 2412
    functionName: evg_shader_ops
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - vai_call_lerp
    - gf_evg_stencil_get_pixel
    - GF_LOG
    - evg_float_clamp
    - gf_vec_norm
    - gf_evg_stencil_get_pixel_yuv
    - gf_evg_stencil_get_pixel_yuv_wide
    - gf_vec_dot_p
    - gf_vec_diff
    - gf_evg_stencil_get_pixel_wide
    - gf_vec_cross_p
    - gf_evg_stencil_get_pixel_f
    - gf_assert
    - gf_evg_stencil_get_pixel_yuv_f
    - gf_mx_apply_vec_4x4
    - fprintf
    - gf_vec_len_p
    - gf_evg_yuv_to_rgb_f
    - ABS
    - sqrtf
    - gf_gf_evg_rgb_to_yuv_f
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_shader_ops(GF_JSCanvas *canvas, EVGShader *shader,
      GF_EVGFragmentParam *frag, GF_EVGVertexParam *vert, ShaderVar *vars) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:2613,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2614,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:2613,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:2620,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2617,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2620,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:2623,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:2626,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2626,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2630,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2631,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - shader
    - argc
    - argv
    argTypes:
    - JSContext*
    - EVGShader*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2637
    functionName: shader_push_builtin
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - strcmp
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_IsString
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue shader_push_builtin(JSContext *ctx, EVGShader *shader,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_stencil_get_pixel_yuv
      Src: /src/gpac/src/jsmods/evg.c:3166,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:3171,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:3172,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:3170,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:3173,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:3174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - udta
    - frag
    argTypes:
    - void*
    - GF_EVGFragmentParam*
    constantsTouched: []
    func_position:
      end: 3180
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3180
    functionName: rvideo_shader
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - GF_COL_ARGB
    - GF_COL_R
    - GF_COL_B
    - GF_COL_G
    - gf_evg_stencil_get_pixel_yuv
    linkageType: ''
    returnType: Bool
    signature: 'Bool rvideo_shader(void *udta, GF_EVGFragmentParam *frag) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3350,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3351,1
    - Dst: CLAMPCOLF
      Src: /src/gpac/src/jsmods/evg.c:3360,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3359,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3366,1
    - Dst: CLAMPCOLF
      Src: /src/gpac/src/jsmods/evg.c:3367,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3373,1
    - Dst: CLAMPCOLF
      Src: /src/gpac/src/jsmods/evg.c:3374,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3378,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3386,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3397,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3415,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3408,1
    - Dst: get_color_from_args
      Src: /src/gpac/src/jsmods/evg.c:3396,1
    - Dst: CLAMPCOLF
      Src: /src/gpac/src/jsmods/evg.c:3379,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3420
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3420
    functionName: fragment_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - get_color_from_args
    - CLAMPCOLF
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue fragment_setProperty(JSContext *ctx, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3952,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3937,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3940,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3940,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3946,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3947,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3948,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3946,1
    - Dst: gf_mx2d_add_scale_at
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3947,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3948,1
    - Dst: gf_mx2d_add_scale
      Src: /src/gpac/src/jsmods/evg.c:3942,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3942,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3943,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3950,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3939,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3938,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3939,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3942,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3949,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3953
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3953
    functionName: mx2d_scale
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_scale_at
    - gf_mx2d_add_scale
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_scale(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3968,1
    - Dst: gf_mx2d_add_skew_x
      Src: /src/gpac/src/jsmods/evg.c:3971,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3970,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3969,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3970,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3971,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3973
      start: 3965
    functionDepth: 0
    functionLinenumber: 3965
    functionLinenumberEnd: 3973
    functionName: mx2d_skew_x
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_skew_x
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_skew_x(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mx2d_decompose_ex
      Src: /src/gpac/src/jsmods/evg.c:4118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4119
      start: 4116
    functionDepth: 0
    functionLinenumber: 4116
    functionLinenumberEnd: 4119
    functionName: mx2d_get_rotate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - mx2d_decompose_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_get_rotate(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4773,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4812,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:4819,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4822,1
    - Dst: gf_path_get_outline
      Src: /src/gpac/src/jsmods/evg.c:4830,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:4811,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:4811,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4828,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4834,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4835,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:4831,1
    - Dst: GETIT_I
      Src: /src/gpac/src/jsmods/evg.c:4802,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4774,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:4775,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4814,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4820,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4833,1
    - Dst: GETIT_F
      Src: /src/gpac/src/jsmods/evg.c:4795,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4774,1
    - Dst: GETIT_F
      Src: /src/gpac/src/jsmods/evg.c:4796,1
    - Dst: GETIT_F
      Src: /src/gpac/src/jsmods/evg.c:4797,1
    - Dst: GETIT_F
      Src: /src/gpac/src/jsmods/evg.c:4798,1
    - Dst: GETIT_I
      Src: /src/gpac/src/jsmods/evg.c:4799,1
    - Dst: GETIT_I
      Src: /src/gpac/src/jsmods/evg.c:4800,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:4813,1
    - Dst: GETIT_I
      Src: /src/gpac/src/jsmods/evg.c:4801,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4810,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:4817,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4837
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4837
    functionName: path_outline
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - gf_malloc
    - memset
    - JS_IsNull
    - GETIT_I
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - FLT2FIX
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsObject
    - GETIT_F
    - gf_free
    - JS_ToFloat64
    - JS_GetPropertyStr
    - gf_path_get_outline
    - JS_FreeValue
    - JS_IsArray
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_outline(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - udta
    - frag
    - th_id
    - is_cleanup
    argTypes:
    - void*
    - GF_EVGFragmentParam*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 3192
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3192
    functionName: builtin_shader_check
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool builtin_shader_check(void *udta, GF_EVGFragmentParam *frag, u32
      th_id, Bool is_cleanup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3958,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3960,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3961,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3960,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3959,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3961,1
    - Dst: gf_mx2d_add_skew
      Src: /src/gpac/src/jsmods/evg.c:3962,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3962,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3962,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3963,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3964
      start: 3955
    functionDepth: 0
    functionLinenumber: 3955
    functionLinenumberEnd: 3964
    functionName: mx2d_skew
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_skew
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_skew(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3977,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3978,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3979,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3979,1
    - Dst: gf_mx2d_add_skew_y
      Src: /src/gpac/src/jsmods/evg.c:3980,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3980,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3982
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 3982
    functionName: mx2d_skew_y
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_mx2d_add_skew_y
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_skew_y(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4846,1
    - Dst: gf_path_new
      Src: /src/gpac/src/jsmods/evg.c:4850,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4851,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4848,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4847,1
    - Dst: gf_path_add_subpath
      Src: /src/gpac/src/jsmods/evg.c:4852,1
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:4854,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4855,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4857,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4860
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4860
    functionName: path_transform
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_del
    - gf_path_new
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_SetOpaque
    - gf_path_add_subpath
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_transform(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_stop_ex
      Src: /src/gpac/src/jsmods/evg.c:5188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5189
      start: 5186
    functionDepth: 0
    functionLinenumber: 5186
    functionLinenumberEnd: 5189
    functionName: stencil_set_stop
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_stop_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_stop(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3078,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:3079,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3087,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:3097,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3087,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:3104,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3130,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3138,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3143,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:3147,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3113,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3070,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/evg.c:3080,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:3082,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:3084,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3096,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:3101,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:3093,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3096,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3095,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3102,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3139,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3071,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3079,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3090,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3132,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3135,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3141,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3131,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3072,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/evg.c:3085,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:3107,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:3111,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3134,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3136,1
    - Dst: GET_COMP
      Src: /src/gpac/src/jsmods/evg.c:3142,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3151
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3151
    functionName: shader_update
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - evg_get_array
    - JS_ToBool
    - JS_IsArray
    - GET_COMP
    - JS_IsInteger
    - JS_IsUndefined
    - js_throw_err_msg
    - JS_IsNumber
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_IsBool
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue shader_update(JSContext *ctx, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3633,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3640,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3647,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3647,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:3676,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3677,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3637,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3638,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3638,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3642,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3644,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:3668,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:3653,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:3666,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:3636,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3650,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3660,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3668,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3667,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:3655,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3650,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3679
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3679
    functionName: vai_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewInt32
    - js_throw_err
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - evg_get_array
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vai_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4261,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4265,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4267,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4266,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4262,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/jsmods/evg.c:4272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4276
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4276
    functionName: colmx_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_cmx_init
    - JS_GetOpaque
    - FIX2FLT
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4615,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4622,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:4617,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:4618,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4616,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4624,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4625,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4626,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4627,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4628,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4631,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:4634,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4636,1
    - Dst: gf_path_add_bezier
      Src: /src/gpac/src/jsmods/evg.c:4633,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4635,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4629,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4637
      start: 4610
    functionDepth: 0
    functionLinenumber: 4610
    functionLinenumberEnd: 4637
    functionName: path_bezier
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_FreeValue
    - memset
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - gf_path_add_bezier
    - gf_free
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_bezier(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6264,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6265,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/evg.c:6269,1
    - Dst: gf_evg_stencil_get_pad_color
      Src: /src/gpac/src/jsmods/evg.c:6267,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/evg.c:6268,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:6269,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:6269,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:6269,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:6269,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/evg.c:6270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6271
      start: 6260
    functionDepth: 0
    functionLinenumber: 6260
    functionLinenumberEnd: 6271
    functionName: texture_get_pad_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - GF_COL_A
    - gf_evg_stencil_get_pad_color
    - JS_NewString
    - sprintf
    - GF_COL_R
    - JS_GetOpaque
    - GF_COL_G
    - GF_COL_B
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_get_pad_color(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7435,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7439,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7436,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:7437,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7438,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7440,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7441,1
    - Dst: WGL_GET_VEC3
      Src: /src/gpac/src/jsmods/evg.c:7443,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/jsmods/evg.c:7445,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7445,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7445,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7446,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7447
      start: 7432
    functionDepth: 0
    functionLinenumber: 7432
    functionLinenumberEnd: 7447
    functionName: mx_scale
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx_add_scale
    - FLT2FIX
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_DupValue
    - WGL_GET_VEC3
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_scale(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3682,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3688,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:3684,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:3686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3689
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3689
    functionName: vai_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void vai_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3853,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:3859,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:3856,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3854,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3856,1
    - Dst: gf_mx2d_is_identity
      Src: /src/gpac/src/jsmods/evg.c:3859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3863
      start: 3851
    functionDepth: 0
    functionLinenumber: 3851
    functionLinenumberEnd: 3863
    functionName: mx2d_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_is_identity
    - JS_GetOpaque
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:4186,1
    - Dst: gf_cmx_init
      Src: /src/gpac/src/jsmods/evg.c:4189,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4193,1
    - Dst: gf_cmx_copy
      Src: /src/gpac/src/jsmods/evg.c:4194,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4215,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4215,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4190,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4192,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4201,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4206,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4202,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4205,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4203,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4216,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4191,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:4188,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:4195,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:4199,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4200,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:4200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4221
      start: 4182
    functionDepth: 0
    functionLinenumber: 4182
    functionLinenumberEnd: 4221
    functionName: colmx_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_IsArray
    - gf_cmx_init
    - JS_IsException
    - js_throw_err
    - FLT2FIX
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_GetOpaque
    - gf_cmx_copy
    - GF_SAFEALLOC
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4280,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4283,1
    - Dst: gf_cmx_multiply
      Src: /src/gpac/src/jsmods/evg.c:4284,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4282,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4281,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4286
      start: 4278
    functionDepth: 0
    functionLinenumber: 4278
    functionLinenumberEnd: 4286
    functionName: colmx_multiply
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_cmx_multiply
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_multiply(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_add_svg_arc_to
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4655,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4646,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4647,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4646,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4645,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4647,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4648,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4648,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4649,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4649,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4650,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4651,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4656,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4651,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4644,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4652,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4654,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4657
      start: 4639
    functionDepth: 0
    functionLinenumber: 4639
    functionLinenumberEnd: 4657
    functionName: path_arc_bifs
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_path_add_svg_arc_to
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_arc_bifs(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7451,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7454,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7455,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7452,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:7453,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7456,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7457,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7458,1
    - Dst: WGL_GET_VEC4
      Src: /src/gpac/src/jsmods/evg.c:7460,1
    - Dst: gf_mx_add_rotation
      Src: /src/gpac/src/jsmods/evg.c:7462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7462,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7462,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7464
      start: 7448
    functionDepth: 0
    functionLinenumber: 7448
    functionLinenumberEnd: 7464
    functionName: mx_rotate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_mx_add_rotation
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_DupValue
    - WGL_GET_VEC4
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_rotate(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_rgb_yuv
      Src: /src/gpac/src/jsmods/evg.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: canvas_toRGB
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_rgb_yuv
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_toRGB(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1266,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:1270,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:1269,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/evg.c:1267,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:1270,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - udta
    - frag
    argTypes:
    - void*
    - GF_EVGFragmentParam*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1273
    functionName: evg_frag_shader_fun
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_IsException
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_Call
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_frag_shader_fun(void *udta, GF_EVGFragmentParam *frag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1417,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1423,1
    - Dst: gf_evg_surface_clear_depth
      Src: /src/gpac/src/jsmods/evg.c:1422,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:1420,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1425
    functionName: canvas_clear_depth
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - GF_JS_EXCEPTION
    - gf_evg_surface_clear_depth
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_clear_depth(JSContext *ctx, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4064,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/jsmods/evg.c:4069,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4065,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4068,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4067,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:4072,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:4074,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/jsmods/evg.c:4075,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4076,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4077,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4079
      start: 4060
    functionDepth: 0
    functionLinenumber: 4060
    functionLinenumberEnd: 4079
    functionName: mx2d_copy
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_mx2d_copy
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_copy(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mx2d_decompose_ex
      Src: /src/gpac/src/jsmods/evg.c:4110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4111
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4111
    functionName: mx2d_get_scale
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - mx2d_decompose_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_get_scale(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_close_reset
      Src: /src/gpac/src/jsmods/evg.c:4477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4478
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4478
    functionName: path_clone
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_close_reset
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_clone(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_line_move
      Src: /src/gpac/src/jsmods/evg.c:4496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4497
      start: 4494
    functionDepth: 0
    functionLinenumber: 4494
    functionLinenumberEnd: 4497
    functionName: path_line_to
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_line_move
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_line_to(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4725,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:4730,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4729,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4726,1
    - Dst: gf_path_get_flatten
      Src: /src/gpac/src/jsmods/evg.c:4727,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4733
      start: 4721
    functionDepth: 0
    functionLinenumber: 4721
    functionLinenumberEnd: 4733
    functionName: path_get_flat
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_get_flatten
    - JS_IsException
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_get_flat(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:959,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - c
    - v
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 964
    functionName: get_stencil
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_EVGStencil*
    signature: 'static GF_EVGStencil *get_stencil(JSContext *c, JSValue v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1282,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:1285,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/evg.c:1283,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:1285,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:1284,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - udta
    - vertex
    argTypes:
    - void*
    - GF_EVGVertexParam*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1288
    functionName: evg_vert_shader_fun
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_IsException
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_Call
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evg_vert_shader_fun(void *udta, GF_EVGVertexParam *vertex) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1430,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1431,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1434,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1434,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1433,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1435,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1435,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1436,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1436,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1437,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1437,1
    - Dst: gf_evg_surface_viewport
      Src: /src/gpac/src/jsmods/evg.c:1443,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1446
    functionName: canvas_viewport
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_viewport
    - js_throw_err
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_viewport(JSContext *ctx, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3723,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3727,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3727,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3726,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:3725,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3729,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3731,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3733,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3736,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3736,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:3739,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:3752,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3745,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3753,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:3741,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3755
      start: 3714
    functionDepth: 0
    functionLinenumber: 3714
    functionLinenumberEnd: 3755
    functionName: va_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - evg_get_array
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue va_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4103,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4086,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4092,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4092,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4097,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4098,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4098,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4087,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4092,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4093,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4093,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4099,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4099,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4098,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4091,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/jsmods/evg.c:4088,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4093,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4099,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4103,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - opt
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 4106
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4106
    functionName: mx2d_decompose_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_GetOpaque
    - JS_NewFloat64
    - gf_mx2d_decompose
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_decompose_ex(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mx2d_decompose_ex
      Src: /src/gpac/src/jsmods/evg.c:4114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4115
      start: 4112
    functionDepth: 0
    functionLinenumber: 4112
    functionLinenumberEnd: 4115
    functionName: mx2d_get_translate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - mx2d_decompose_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_get_translate(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4483,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4485,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4486,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4484,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4485,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4486,1
    - Dst: gf_path_add_line_to
      Src: /src/gpac/src/jsmods/evg.c:4488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4488,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4488,1
    - Dst: gf_path_add_move_to
      Src: /src/gpac/src/jsmods/evg.c:4490,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4490,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4492,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4490,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - is_line
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 4493
      start: 4479
    functionDepth: 0
    functionLinenumber: 4479
    functionLinenumberEnd: 4493
    functionName: path_line_move
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_path_add_line_to
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_path_add_move_to
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_line_move(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, Bool is_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_line_move
      Src: /src/gpac/src/jsmods/evg.c:4500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4501
      start: 4498
    functionDepth: 0
    functionLinenumber: 4498
    functionLinenumberEnd: 4501
    functionName: path_move_to
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_line_move
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_move_to(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4738,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4744,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:4752,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4739,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4744,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:4753,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4756,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4756,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4757,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4757,1
    - Dst: gf_path_point_over
      Src: /src/gpac/src/jsmods/evg.c:4761,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4759,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4761,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4761,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4735
    functionDepth: 0
    functionLinenumber: 4735
    functionLinenumberEnd: 4762
    functionName: path_point_over
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - gf_path_point_over
    - GETIT
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_point_over(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4905,1
    - Dst: gf_path_is_empty
      Src: /src/gpac/src/jsmods/evg.c:4908,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:4908,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4906,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:4909,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:4910,1
    - Dst: path_bounds_ex
      Src: /src/gpac/src/jsmods/evg.c:4911,1
    - Dst: path_bounds_ex
      Src: /src/gpac/src/jsmods/evg.c:4912,1
    - Dst: path_check_rect
      Src: /src/gpac/src/jsmods/evg.c:4913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4916
      start: 4903
    functionDepth: 0
    functionLinenumber: 4903
    functionLinenumberEnd: 4916
    functionName: path_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_check_rect
    - gf_path_is_empty
    - JS_GetOpaque
    - path_bounds_ex
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5337,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5338,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5345,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:5342,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5343,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5346,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5350,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5350,1
    - Dst: gf_evg_stencil_set_gradient_mode
      Src: /src/gpac/src/jsmods/evg.c:5351,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:5354,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5357,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:5358,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5362,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/jsmods/evg.c:5362,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:5355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 5366
      start: 5334
    functionDepth: 0
    functionLinenumber: 5334
    functionLinenumberEnd: 5366
    functionName: stencil_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_color_matrix
    - JS_ToBool
    - JS_IsNull
    - gf_evg_stencil_set_auto_matrix
    - gf_evg_stencil_set_gradient_mode
    - gf_evg_stencil_set_matrix
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3899,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:3902,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3900,1
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:3910,1
    - Dst: GETD
      Src: /src/gpac/src/jsmods/evg.c:3911,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3915,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3915,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3916,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3916,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3918,1
    - Dst: gf_mx2d_add_translation
      Src: /src/gpac/src/jsmods/evg.c:3920,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3920,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3921,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3920,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3922
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3922
    functionName: mx2d_translate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx2d_add_translation
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - GETD
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_translate(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:4150,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4156,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4155,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:4152,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4154,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4157,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/jsmods/evg.c:4158,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4164,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4164,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4169
      start: 4146
    functionDepth: 0
    functionLinenumber: 4146
    functionLinenumberEnd: 4169
    functionName: mx2d_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - FLT2FIX
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_GetOpaque
    - GF_SAFEALLOC
    - JS_IsObject
    - gf_mx2d_copy
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_color_ex
      Src: /src/gpac/src/jsmods/evg.c:5226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5227
      start: 5224
    functionDepth: 0
    functionLinenumber: 5224
    functionLinenumberEnd: 5227
    functionName: stencil_set_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_color_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_color(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6953,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:6955,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:6959,1
    - Dst: text_update_path
      Src: /src/gpac/src/jsmods/evg.c:6957,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6954,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6960,1
    - Dst: gf_path_clone
      Src: /src/gpac/src/jsmods/evg.c:6960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6962
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 6962
    functionName: text_get_path
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_path_clone
    - JS_SetOpaque
    - JS_GetOpaque
    - text_update_path
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_get_path(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3336,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3339,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3341,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3337,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3344
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3344
    functionName: fragment_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue fragment_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_evg_surface_set_composite_mode
      Src: /src/gpac/src/jsmods/evg.c:659,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:714,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:688,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:766,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:782,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:597,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/jsmods/evg.c:607,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:618,1
    - Dst: gf_evg_surface_set_alpha_callback
      Src: /src/gpac/src/jsmods/evg.c:668,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:674,1
    - Dst: gf_evg_surface_set_vertex_shader
      Src: /src/gpac/src/jsmods/evg.c:722,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:742,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:702,1
    - Dst: gf_evg_surface_set_point_smooth
      Src: /src/gpac/src/jsmods/evg.c:779,1
    - Dst: gf_evg_set_depth_test
      Src: /src/gpac/src/jsmods/evg.c:790,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:598,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:635,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:689,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:718,1
    - Dst: gf_evg_surface_set_max_depth
      Src: /src/gpac/src/jsmods/evg.c:767,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:762,1
    - Dst: gf_evg_surface_set_line_size
      Src: /src/gpac/src/jsmods/evg.c:783,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:682,1
    - Dst: gf_evg_surface_set_matrix_3d
      Src: /src/gpac/src/jsmods/evg.c:639,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:648,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:630,1
    - Dst: gf_evg_surface_set_raster_level
      Src: /src/gpac/src/jsmods/evg.c:644,1
    - Dst: gf_evg_surface_set_antialias
      Src: /src/gpac/src/jsmods/evg.c:735,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:754,1
    - Dst: gf_evg_surface_set_min_depth
      Src: /src/gpac/src/jsmods/evg.c:763,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:697,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:797,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/evg.c:663,1
    - Dst: gf_evg_surface_set_depth_buffer
      Src: /src/gpac/src/jsmods/evg.c:752,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:721,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:789,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:732,1
    - Dst: gf_evg_surface_set_depth_buffer
      Src: /src/gpac/src/jsmods/evg.c:755,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:706,1
    - Dst: gf_evg_surface_set_ccw
      Src: /src/gpac/src/jsmods/evg.c:729,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:796,1
    - Dst: gf_evg_surface_set_vertex_shader
      Src: /src/gpac/src/jsmods/evg.c:711,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:663,1
    - Dst: gf_evg_surface_set_vertex_shader
      Src: /src/gpac/src/jsmods/evg.c:715,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:693,1
    - Dst: gf_evg_surface_set_center_coords
      Src: /src/gpac/src/jsmods/evg.c:602,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/jsmods/evg.c:611,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:613,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:638,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:744,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:771,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:629,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:667,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/evg.c:681,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:686,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:720,1
    - Dst: gf_evg_surface_set_depth_buffer
      Src: /src/gpac/src/jsmods/evg.c:747,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:606,1
    - Dst: text_set_path
      Src: /src/gpac/src/jsmods/evg.c:616,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:658,1
    - Dst: gf_evg_surface_set_alpha_callback
      Src: /src/gpac/src/jsmods/evg.c:665,1
    - Dst: gf_evg_surface_disable_early_depth
      Src: /src/gpac/src/jsmods/evg.c:699,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:770,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:789,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:636,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:779,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/evg.c:713,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/jsmods/evg.c:653,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:725,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:677,1
    - Dst: gf_evg_surface_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:627,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:626,1
    - Dst: gf_evg_surface_set_clipper
      Src: /src/gpac/src/jsmods/evg.c:649,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:658,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:775,1
    - Dst: gf_evg_surface_set_clip_zero
      Src: /src/gpac/src/jsmods/evg.c:786,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:643,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:662,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:679,1
    - Dst: gf_evg_surface_write_depth
      Src: /src/gpac/src/jsmods/evg.c:793,1
    - Dst: gf_evg_surface_set_mask_mode
      Src: /src/gpac/src/jsmods/evg.c:798,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:802,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:735,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:685,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:709,1
    - Dst: gf_evg_surface_set_backcull
      Src: /src/gpac/src/jsmods/evg.c:732,1
    - Dst: gf_evg_surface_set_point_size
      Src: /src/gpac/src/jsmods/evg.c:776,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:601,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:609,1
    - Dst: gf_evg_surface_set_fragment_shader
      Src: /src/gpac/src/jsmods/evg.c:683,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:717,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:793,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:729,1
    - Dst: canvas_get_irect
      Src: /src/gpac/src/jsmods/evg.c:652,1
    - Dst: gf_evg_set_depth_test
      Src: /src/gpac/src/jsmods/evg.c:772,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:786,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 186
    argCount: 4
    argNames:
    - ctx
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 805
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 805
    functionName: canvas_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - gf_evg_surface_set_matrix
    - gf_evg_surface_set_matrix_3d
    - canvas_get_irect
    - js_throw_err
    - gf_evg_surface_set_vertex_shader
    - gf_evg_surface_set_raster_level
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_evg_surface_set_composite_mode
    - gf_evg_surface_set_min_depth
    - gf_evg_surface_write_depth
    - js_throw_err_msg
    - gf_evg_surface_set_clip_zero
    - JS_GetOpaque
    - JS_DupValue
    - JS_IsObject
    - evg_get_array
    - gf_evg_surface_disable_early_depth
    - gf_evg_surface_set_line_size
    - gf_evg_surface_set_ccw
    - gf_evg_surface_set_center_coords
    - gf_evg_surface_set_antialias
    - JS_IsFunction
    - gf_evg_surface_set_alpha_callback
    - text_set_path
    - gf_evg_set_depth_test
    - gf_evg_surface_set_max_depth
    - gf_evg_surface_set_depth_buffer
    - JS_FreeValue
    - gf_evg_surface_set_path
    - JS_ToBool
    - gf_evg_surface_set_mask_mode
    - gf_evg_surface_set_point_smooth
    - gf_evg_surface_set_fragment_shader
    - gf_evg_surface_set_backcull
    - EVG_GET_FLOAT
    - gf_evg_surface_set_clipper
    - gf_evg_surface_set_point_size
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_setProperty(JSContext *ctx, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1390,1
    - Dst: gf_evg_surface_draw_path
      Src: /src/gpac/src/jsmods/evg.c:1398,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:1393,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1396,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1391,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1400,1
    - Dst: text_update_path
      Src: /src/gpac/src/jsmods/evg.c:1403,1
    - Dst: gf_evg_surface_draw_path
      Src: /src/gpac/src/jsmods/evg.c:1404,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1412
    functionName: canvas_draw_path
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_draw_path
    - js_throw_err
    - text_update_path
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_draw_path(JSContext *ctx, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:3197,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:3198,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:3202,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - sname
    - e
    argTypes:
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3213
      start: 3194
    functionDepth: 0
    functionLinenumber: 3194
    functionLinenumberEnd: 3213
    functionName: load_builtin_shader
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strcmp
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: EVGShader*
    signature: 'EVGShader *load_builtin_shader(const char *sname, GF_Err *e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3926,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3927,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3928,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3928,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3929,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3929,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3930,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3930,1
    - Dst: gf_mx2d_add_rotation
      Src: /src/gpac/src/jsmods/evg.c:3931,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3931,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3931,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3932,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3933
      start: 3923
    functionDepth: 0
    functionLinenumber: 3923
    functionLinenumberEnd: 3933
    functionName: mx2d_rotate
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - gf_mx2d_add_rotation
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_rotate(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4173,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:4175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 4176
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4176
    functionName: colmx_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void colmx_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_color_ex
      Src: /src/gpac/src/jsmods/evg.c:5230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5231
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5231
    functionName: stencil_set_colorf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_color_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_colorf(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6749,1
    - Dst: text_reset
      Src: /src/gpac/src/jsmods/evg.c:6751,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/evg.c:6753,1
    - Dst: text_reset_fonts
      Src: /src/gpac/src/jsmods/evg.c:6752,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 6755
      start: 6747
    functionDepth: 0
    functionLinenumber: 6747
    functionLinenumberEnd: 6755
    functionName: text_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - text_reset
    - gf_list_del
    - text_reset_fonts
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void text_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:6799,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6800,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6800,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6802,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/evg.c:6802,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6793,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6794,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6806,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6807,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6811,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6809,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6808,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6812,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6817,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6813,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6816,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6815,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6810,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:6814,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 6820
      start: 6791
    functionDepth: 0
    functionLinenumber: 6791
    functionLinenumberEnd: 6820
    functionName: text_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - JS_NewInt32
    - JS_NewString
    - JS_GetOpaque
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6967,1
    - Dst: gf_font_manager_set_font
      Src: /src/gpac/src/jsmods/evg.c:6972,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6974,1
    - Dst: text_reset
      Src: /src/gpac/src/jsmods/evg.c:6969,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6968,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:6978,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6979,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6980,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:6981,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6984,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/evg.c:6993,1
    - Dst: gf_font_manager_refresh_span_bounds
      Src: /src/gpac/src/jsmods/evg.c:6996,1
    - Dst: text_set_text_from_value
      Src: /src/gpac/src/jsmods/evg.c:6985,1
    - Dst: text_set_text_from_value
      Src: /src/gpac/src/jsmods/evg.c:6989,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/evg.c:6995,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6997,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:6986,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7023
      start: 6964
    functionDepth: 0
    functionLinenumber: 6964
    functionLinenumberEnd: 7023
    functionName: text_set_text
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_GetPropertyStr
    - JS_FreeValue
    - gf_list_get
    - text_reset
    - JS_IsArray
    - gf_list_count
    - FLT2FIX
    - js_throw_err_msg
    - text_set_text_from_value
    - JS_GetOpaque
    - gf_font_manager_refresh_span_bounds
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_font_manager_set_font
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_set_text(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3453,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3458,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:3457,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3458,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3454,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3459,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3459,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3460,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3460,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3461,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3465
      start: 3450
    functionDepth: 0
    functionLinenumber: 3450
    functionLinenumberEnd: 3465
    functionName: vertex_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_GetOpaque
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vertex_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4672,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    - Dst: gf_path_add_svg_arc_to
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4672,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4665,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4668,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4668,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4669,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4669,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4670,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4670,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4674,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4673,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4678,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4679,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4667,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4666,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4667,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4676,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4680
      start: 4660
    functionDepth: 0
    functionLinenumber: 4660
    functionLinenumberEnd: 4680
    functionName: path_arc_svg
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_path_add_svg_arc_to
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_arc_svg(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - src_h
    - src_s
    - src_v
    - dst_r
    - dst_g
    - dst_b
    argTypes:
    - u8
    - u8
    - u8
    - u8*
    - u8*
    - u8*
    constantsTouched: []
    func_position:
      end: 5649
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5649
    functionName: hsv2rgb
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void hsv2rgb(u8 src_h, u8 src_s, u8 src_v, u8 *dst_r, u8 *dst_g, u8
      *dst_b) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/jsmods/evg.c:6312,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:6346,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6404,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6413,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6296,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/jsmods/evg.c:6320,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:6327,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:6335,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6449,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6442,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6412,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6448,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6431,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6436,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6430,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6289,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6451,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6424,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:6354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6404,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6413,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6286,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6300,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/evg.c:6298,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6441,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6438,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6432,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/jsmods/evg.c:6324,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6405,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6427,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6431,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:6418,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6451,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6287,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/jsmods/evg.c:6308,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6406,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6414,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6435,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:6347,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6430,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6419,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6412,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6450,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6443,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:6302,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:6326,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6438,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6432,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6445,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6437,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6284,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/jsmods/evg.c:6321,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6452,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6425,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6429,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6291,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:6295,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6406,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6426,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/evg.c:6297,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:6336,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:6355,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:6403,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6443,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6433,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6419,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6450,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6439,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/jsmods/evg.c:6323,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6449,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6442,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6285,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6437,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6436,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6290,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6422,1
    - Dst: FCLAMP
      Src: /src/gpac/src/jsmods/evg.c:6423,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 218
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6455
      start: 6275
    functionDepth: 0
    functionLinenumber: 6275
    functionLinenumberEnd: 6455
    functionName: texture_diff_score
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_IsException
    - GF_COL_R
    - GF_COL_B
    - strstr
    - GF_JS_EXCEPTION
    - JS_ToCString
    - gf_evg_stencil_get_pixel_fast
    - JS_NewArray
    - JS_SetPropertyUint32
    - JS_GetOpaque
    - JS_FreeCString
    - gf_pixel_fmt_is_yuv
    - JS_IsString
    - JS_NewFloat64
    - JS_SetPropertyStr
    - GF_COL_A
    - JS_ToBool
    - FCLAMP
    - gf_pixel_fmt_is_transparent
    - GF_COL_G
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_diff_score(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7694,1
    - Dst: mesh_free
      Src: /src/gpac/src/jsmods/evg.c:7695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 7696
      start: 7692
    functionDepth: 0
    functionLinenumber: 7692
    functionLinenumberEnd: 7696
    functionName: mesh_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - mesh_free
    linkageType: ''
    returnType: void
    signature: 'static void mesh_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3470,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3471,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3475,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3476,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3474,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3477,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3478,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3479,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3480,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3481,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:3484,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3485,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3482,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3492
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3492
    functionName: vertex_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - GF_JS_EXCEPTION
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vertex_setProperty(JSContext *ctx, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4687,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4689,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4689,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4690,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4688,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4690,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4691,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4691,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:4693,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4693,1
    - Dst: gf_path_add_arc
      Src: /src/gpac/src/jsmods/evg.c:4694,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4695,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4694,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4696,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4694,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4694,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4697
      start: 4682
    functionDepth: 0
    functionLinenumber: 4682
    functionLinenumberEnd: 4697
    functionName: path_arc
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_add_arc
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToInt32
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_arc(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:7172,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:7179,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:7178,1
    - Dst: jsf_get_font_manager
      Src: /src/gpac/src/jsmods/evg.c:7175,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:7174,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/evg.c:7181,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:7183,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7184,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:7192,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:7193,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7196
      start: 7168
    functionDepth: 0
    functionLinenumber: 7168
    functionLinenumberEnd: 7196
    functionName: text_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_throw_err
    - js_throw_err_msg
    - jsf_get_font_manager
    - JS_NewObjectClass
    - JS_SetOpaque
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:1338,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:1344,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:1345,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:1346,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - obj
    - size
    argTypes:
    - JSContext*
    - JSValueConst
    - u32*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1350
    functionName: evg_get_array
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsUndefined
    - JS_GetPropertyStr
    - JS_GetArrayBuffer
    - JS_FreeValue
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *evg_get_array(JSContext *ctx, JSValueConst obj, u32 *size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5103,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5104,1
    - Dst: stencil_set_linear
      Src: /src/gpac/src/jsmods/evg.c:5108,1
    - Dst: gf_evg_stencil_type
      Src: /src/gpac/src/jsmods/evg.c:5106,1
    - Dst: stencil_set_radial
      Src: /src/gpac/src/jsmods/evg.c:5110,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5112
      start: 5100
    functionDepth: 0
    functionLinenumber: 5100
    functionLinenumberEnd: 5112
    functionName: stencil_set_points
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_type
    - stencil_set_linear
    - JS_GetOpaque
    - stencil_set_radial
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_points(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stencil_set_stop_ex
      Src: /src/gpac/src/jsmods/evg.c:5192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5193
      start: 5190
    functionDepth: 0
    functionLinenumber: 5190
    functionLinenumberEnd: 5193
    functionName: stencil_set_stopf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - stencil_set_stop_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_stopf(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5544,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5545,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5549,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5564,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:5569,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:5570,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5577,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5537,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5537,1
    - Dst: gf_evg_stencil_set_filter
      Src: /src/gpac/src/jsmods/evg.c:5538,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5533,1
    - Dst: gf_evg_stencil_set_mapping
      Src: /src/gpac/src/jsmods/evg.c:5566,1
    - Dst: gf_evg_stencil_set_mapping
      Src: /src/gpac/src/jsmods/evg.c:5551,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5572,1
    - Dst: gf_evg_stencil_set_matrix
      Src: /src/gpac/src/jsmods/evg.c:5573,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5559,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:5554,1
    - Dst: gf_evg_stencil_set_auto_matrix
      Src: /src/gpac/src/jsmods/evg.c:5577,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5532,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:5541,1
    - Dst: gf_evg_stencil_set_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5542,1
    - Dst: gf_evg_stencil_set_mapping
      Src: /src/gpac/src/jsmods/evg.c:5561,1
    - Dst: gf_evg_stencil_set_mapping
      Src: /src/gpac/src/jsmods/evg.c:5556,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 5581
      start: 5529
    functionDepth: 0
    functionLinenumber: 5529
    functionLinenumberEnd: 5581
    functionName: texture_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_stencil_set_color_matrix
    - JS_ToBool
    - JS_IsNull
    - gf_evg_stencil_set_auto_matrix
    - gf_evg_stencil_set_mapping
    - gf_evg_stencil_set_filter
    - gf_evg_stencil_set_matrix
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_convert
      Src: /src/gpac/src/jsmods/evg.c:5783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5784
      start: 5781
    functionDepth: 0
    functionLinenumber: 5781
    functionLinenumberEnd: 5784
    functionName: texture_yuv2rgb
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_convert
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_yuv2rgb(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1358,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:1362,1
    - Dst: evg_get_array
      Src: /src/gpac/src/jsmods/evg.c:1361,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1359,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1363,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1365,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1366,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:1368,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1369,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1373,1
    - Dst: gf_evg_surface_draw_array
      Src: /src/gpac/src/jsmods/evg.c:1376,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1377,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1380
    functionName: canvas_draw_array
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_draw_array
    - JS_GetOpaque
    - evg_get_array
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_draw_array(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 110
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:2680,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:2686,1
    - Dst: get_value_type
      Src: /src/gpac/src/jsmods/evg.c:2790,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2845,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2888,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:2935,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:3064,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2941,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:2962,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2871,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2740,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:2743,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2747,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2757,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2859,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2921,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3018,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3030,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2799,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2827,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2833,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2681,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2878,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2894,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2900,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2943,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3031,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2837,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2705,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2759,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2853,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2913,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2917,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2966,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:2965,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/evg.c:2988,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:3015,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2796,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2805,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2813,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2821,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2884,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:2955,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:2976,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3046,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2702,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2867,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2907,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:2954,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2985,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:3019,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3021,1
    - Dst: shader_reset
      Src: /src/gpac/src/jsmods/evg.c:2662,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2737,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2829,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2890,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:3008,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:2959,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3055,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:2785,1
    - Dst: shader_push_builtin
      Src: /src/gpac/src/jsmods/evg.c:2657,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2723,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2763,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2873,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2919,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/evg.c:2931,1
    - Dst: get_builtin_var_name
      Src: /src/gpac/src/jsmods/evg.c:2933,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/evg.c:2993,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:2994,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3036,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/evg.c:2662,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2690,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2835,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2862,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2880,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2896,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2902,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2940,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:2960,1
    - Dst: get_builtin_var_name
      Src: /src/gpac/src/jsmods/evg.c:3010,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2849,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2652,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2693,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2744,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2838,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/evg.c:2782,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2765,1
    - Dst: get_value_type
      Src: /src/gpac/src/jsmods/evg.c:2947,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:2953,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:2954,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:2653,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2699,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2726,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2856,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2886,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:2924,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2968,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2839,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2869,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2875,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2949,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:2951,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:2972,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:2989,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/evg.c:3051,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2892,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2711,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2714,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2701,1
    - Dst: shader_reset_vars_stack
      Src: /src/gpac/src/jsmods/evg.c:2783,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2801,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2809,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2817,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2825,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2831,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2843,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:2998,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2769,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2793,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/evg.c:2668,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2684,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2851,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2928,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:2980,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2837,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2751,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:2676,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:2720,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:2736,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:2745,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2754,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2882,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2898,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2904,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2910,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:2925,1
    - Dst: get_builtin_var_name
      Src: /src/gpac/src/jsmods/evg.c:2778,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2865,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2717,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2731,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2734,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:2771,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/evg.c:2776,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2984,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:2992,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3037,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 535
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3065
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 3065
    functionName: shader_push
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - memset
    - get_value_type
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - gf_strdup
    - get_builtin_var_name
    - strcmp
    - JS_NewInt32
    - js_throw_err_msg
    - JS_IsNumber
    - JS_GetOpaque
    - JS_DupValue
    - JS_IsObject
    - JS_GetRuntime
    - JS_IsInteger
    - JS_FreeCString
    - shader_reset_vars_stack
    - JS_IsString
    - strchr
    - gf_free
    - JS_ToFloat64
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_ToBool
    - JS_IsArray
    - gf_realloc
    - shader_push_builtin
    - EVG_GET_FLOAT
    - JS_IsBool
    - shader_reset
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue shader_push(JSContext *ctx, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:5117,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:5119,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/evg.c:5120,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:5122,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:5121,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:5123,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:5124,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:5125,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:5126,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5128,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5136,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5133,1
    - Dst: get_color
      Src: /src/gpac/src/jsmods/evg.c:5129,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5142,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5139,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 8
    argNames:
    - c
    - argc
    - argv
    - idx
    - a
    - r
    - g
    - b
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    - u32
    - Double*
    - Double*
    - Double*
    - Double*
    constantsTouched: []
    func_position:
      end: 5149
      start: 5114
    functionDepth: 0
    functionLinenumber: 5114
    functionLinenumberEnd: 5149
    functionName: get_color_from_args
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_A
    - JS_FreeCString
    - JS_IsNull
    - get_color
    - GF_COL_R
    - gf_color_parse
    - JS_IsString
    - GF_COL_G
    - GF_COL_B
    - JS_ToFloat64
    - JS_IsObject
    linkageType: ''
    returnType: Bool
    signature: 'Bool get_color_from_args(JSContext *c, int argc, JSValueConst *argv,
      u32 idx, Double *a, Double *r, Double *g, Double *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5199,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5202,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:5204,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5200,1
    - Dst: gf_evg_stencil_type
      Src: /src/gpac/src/jsmods/evg.c:5201,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:5206,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/evg.c:5207,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:5208,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/jsmods/evg.c:5209,1
    - Dst: get_color_from_args
      Src: /src/gpac/src/jsmods/evg.c:5211,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:5220,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5212,1
    - Dst: gf_evg_stencil_set_brush_color
      Src: /src/gpac/src/jsmods/evg.c:5220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - use_int
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 5222
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5222
    functionName: stencil_set_color_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_ARGB
    - JS_FreeCString
    - get_color_from_args
    - gf_evg_stencil_type
    - gf_evg_stencil_set_brush_color
    - JS_GetOpaque
    - gf_color_parse
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_color_ex(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv, Bool use_int) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5792,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5793,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:5795,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5795,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5804,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5814,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5816,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/jsmods/evg.c:5850,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5852,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5853,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5822,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5804,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5813,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5815,1
    - Dst: gf_evg_stencil_get_pixel
      Src: /src/gpac/src/jsmods/evg.c:5846,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5796,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5820,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:5851,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:5829,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5855
      start: 5786
    functionDepth: 0
    functionLinenumber: 5786
    functionLinenumberEnd: 5855
    functionName: texture_split
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_evg_stencil_new
    - gf_evg_stencil_get_pixel
    - js_throw_err
    - gf_evg_stencil_set_texture
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GETIT
    - GF_SAFEALLOC
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_split(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7590,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7595,1
    - Dst: gf_mx_ortho_reverse_z
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7593,1
    - Dst: gf_mx_ortho
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7601,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7588,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7589,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7594,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7596,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7592,1
    - Dst: EVG_GET_FLOAT
      Src: /src/gpac/src/jsmods/evg.c:7591,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7599,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7602
      start: 7585
    functionDepth: 0
    functionLinenumber: 7585
    functionLinenumberEnd: 7602
    functionName: mx_ortho
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_mx_ortho_reverse_z
    - gf_mx_ortho
    - FLT2FIX
    - JS_GetOpaque
    - EVG_GET_FLOAT
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_ortho(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_store_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    - Dst: _mm_max_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    - Dst: _mm_min_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    - Dst: _mm_set_ss
      Src: /src/gpac/src/jsmods/evg.c:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - val
    - minval
    - maxval
    argTypes:
    - Float
    - Float
    - Float
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: evg_float_clamp
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - _mm_max_ss
    - _mm_store_ss
    - _mm_min_ss
    - _mm_set_ss
    linkageType: ''
    returnType: Float
    signature: 'static Float evg_float_clamp(Float val, Float minval, Float maxval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7333,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7339,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7335,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/jsmods/evg.c:7340,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7337,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7341,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:7343,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7344,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:7345,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7346,1
    - Dst: gf_mx_copy
      Src: /src/gpac/src/jsmods/evg.c:7347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7349
      start: 7330
    functionDepth: 0
    functionLinenumber: 7330
    functionLinenumberEnd: 7349
    functionName: mx_copy
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_mx_copy
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_copy(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3601,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3604,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3603,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3602,1
    - Dst: vai_call_lerp
      Src: /src/gpac/src/jsmods/evg.c:3606,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3607,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3609
      start: 3599
    functionDepth: 0
    functionLinenumber: 3599
    functionLinenumberEnd: 3609
    functionName: vai_lerp
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    - vai_call_lerp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vai_lerp(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7028,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7037,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:7038,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:7039,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7040,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:7055,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:7062,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7062,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:7101,1
    - Dst: text_reset_fonts
      Src: /src/gpac/src/jsmods/evg.c:7034,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:7042,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7074,1
    - Dst: TOG_FLAG
      Src: /src/gpac/src/jsmods/evg.c:7084,1
    - Dst: TOG_FLAG
      Src: /src/gpac/src/jsmods/evg.c:7090,1
    - Dst: TOG_FLAG
      Src: /src/gpac/src/jsmods/evg.c:7096,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:7035,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:7054,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:7048,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:7049,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:7046,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:7065,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7065,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:7068,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7068,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:7104,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:7044,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:7047,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:7050,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:7056,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:7057,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7071,1
    - Dst: TOG_FLAG
      Src: /src/gpac/src/jsmods/evg.c:7087,1
    - Dst: TOG_FLAG
      Src: /src/gpac/src/jsmods/evg.c:7093,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 7108
      start: 7025
    functionDepth: 0
    functionLinenumber: 7025
    functionLinenumberEnd: 7108
    functionName: text_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - gf_malloc
    - JS_ToCString
    - JS_FreeCString
    - JS_IsArray
    - JS_ToBool
    - gf_strdup
    - JS_GetOpaque
    - TOG_FLAG
    - text_reset_fonts
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7792,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7819,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7863,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7911,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7914,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7930,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8011,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8034,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7932,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8048,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7915,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7933,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8013,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7860,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7916,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7934,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8014,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8033,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8017,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7918,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7935,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8018,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8015,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7919,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7936,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8019,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7937,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8046,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7789,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7816,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7850,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7868,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7920,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8020,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7923,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7939,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7942,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7892,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7922,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7924,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7938,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8021,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8022,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7887,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7925,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7926,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7884,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7873,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7927,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8050,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7943,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7786,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7812,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7838,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7847,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7928,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7944,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7895,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7931,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7929,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8036,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8049,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7932,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7945,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7844,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7851,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7930,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7906,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7933,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7946,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8035,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8064,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7874,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7934,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7947,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7950,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7951,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7949,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7935,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7956,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7808,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7835,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7843,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7988,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8007,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7986,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8005,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7801,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7905,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7990,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8008,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7987,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8006,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7859,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7991,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8009,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7992,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8010,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7910,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7912,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7994,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8011,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7837,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7863,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7886,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7856,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7911,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7914,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/evg.c:7909,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7915,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7995,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8013,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8045,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8032,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7998,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8017,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7798,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7916,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7996,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8014,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8043,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7846,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7918,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7999,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8018,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8031,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7997,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8015,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8061,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7919,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8000,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8019,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8020,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7834,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7883,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7920,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7923,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8001,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7922,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7924,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8002,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8021,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8004,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8022,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7925,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7867,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7887,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7795,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7822,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7880,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8007,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8005,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/jsmods/evg.c:7826,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7843,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7901,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7926,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8008,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8006,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/evg.c:7783,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7831,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7905,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7927,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8009,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7847,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7928,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:8010,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7891,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7910,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7912,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7929,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7931,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7797,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7900,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7963,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7982,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7869,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7964,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7983,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8039,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8053,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7893,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7965,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7984,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7813,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7966,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7985,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7855,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7970,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7988,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7968,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7986,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7971,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7990,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7969,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7987,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7794,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7809,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7859,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7882,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:8024,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7972,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7991,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7973,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7992,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7904,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7974,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7994,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7852,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7842,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7975,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7995,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8042,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7980,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7998,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8030,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7791,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7875,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7977,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7996,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8060,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7978,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7997,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7879,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7981,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7999,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7900,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7982,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8000,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8041,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7983,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8001,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7862,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7883,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7805,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8029,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7984,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8002,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7897,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7985,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:8004,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7788,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8057,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7864,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7952,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7936,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7957,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7868,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7823,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7937,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7953,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7958,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7892,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7896,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7938,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7942,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7959,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7961,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7854,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7939,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7960,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7962,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7963,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8052,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7878,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7964,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7943,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7804,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7820,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7832,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8038,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7965,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8051,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7888,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7944,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7966,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8037,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7851,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7855,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7945,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7968,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7970,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8066,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7971,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7969,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7899,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7946,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7947,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7972,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/evg.c:7848,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7949,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7956,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7973,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7800,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/evg.c:7817,1
    - Dst: va_gc_mark
      Src: /src/gpac/src/jsmods/evg.c:7827,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7951,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7952,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7950,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7957,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7974,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/evg.c:7785,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7874,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7958,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7975,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7953,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8028,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7980,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/evg.c:7896,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7959,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7961,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7977,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7962,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7978,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8040,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7960,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7858,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/evg.c:7879,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7981,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/evg.c:8056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 352
    argCount: 2
    argNames:
    - c
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 8069
      start: 7776
    functionDepth: 0
    functionLinenumber: 7776
    functionLinenumberEnd: 8069
    functionName: js_evg_load_module
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewClassID
    - gf_sys_is_cov_mode
    - JS_NewObject
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - JS_NewCFunction2
    - JS_NewInt32
    - countof
    - JS_NewClass
    - JS_GetGlobalObject
    - va_gc_mark
    - JS_SetModuleExport
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: int
    signature: 'static int js_evg_load_module(JSContext *c, JSModuleDef *m) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - gp
    argTypes:
    - GF_Path*
    constantsTouched: []
    func_position:
      end: 4901
      start: 4890
    functionDepth: 0
    functionLinenumber: 4890
    functionLinenumberEnd: 4901
    functionName: path_check_rect
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool path_check_rect(GF_Path *gp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6929,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/evg.c:6939,1
    - Dst: gf_font_manager_create_span
      Src: /src/gpac/src/jsmods/evg.c:6935,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:6935,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/evg.c:6933,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - txt
    - font
    - c
    - value
    argTypes:
    - GF_JSText*
    - GF_Font*
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6947
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6947
    functionName: text_set_text_from_value
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_font_manager_create_span
    - JS_ToCString
    - gf_list_add
    - JS_FreeCString
    - FLT2FIX
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void text_set_text_from_value(GF_JSText *txt, GF_Font *font,
      JSContext *c, JSValueConst value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7114,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7118,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7118,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7119,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7119,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7135,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7135,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7141,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7141,1
    - Dst: text_update_path
      Src: /src/gpac/src/jsmods/evg.c:7124,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7132,1
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:7126,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:7132,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7138,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7138,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7140,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7140,1
    - Dst: gf_path_del
      Src: /src/gpac/src/jsmods/evg.c:7122,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7134,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7134,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7137,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7137,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7139,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7139,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7113,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:7115,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/jsmods/evg.c:7125,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7128,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7129,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7129,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7128,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7136,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7144
      start: 7110
    functionDepth: 0
    functionLinenumber: 7110
    functionLinenumberEnd: 7144
    functionName: text_measure
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - JS_NewObject
    - JS_NewInt32
    - gf_path_del
    - JS_GetOpaque
    - text_update_path
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue text_measure(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/evg.c:8074,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8077,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8078,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8079,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8080,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8081,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8082,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8083,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8084,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8085,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8088,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8087,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8091,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8086,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8090,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/evg.c:8089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 8093
      start: 8071
    functionDepth: 0
    functionLinenumber: 8071
    functionLinenumberEnd: 8093
    functionName: qjs_module_init_evg
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExport
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_evg(JSContext *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5156,1
    - Dst: gf_evg_stencil_type
      Src: /src/gpac/src/jsmods/evg.c:5158,1
    - Dst: gf_evg_stencil_set_gradient_interpolation
      Src: /src/gpac/src/jsmods/evg.c:5161,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5159,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5157,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5164,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5164,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:5166,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:5167,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/evg.c:5168,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:5169,1
    - Dst: get_color_from_args
      Src: /src/gpac/src/jsmods/evg.c:5172,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5173,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5183,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:5181,1
    - Dst: gf_evg_stencil_push_gradient_interpolation
      Src: /src/gpac/src/jsmods/evg.c:5183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - use_int
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 5185
      start: 5151
    functionDepth: 0
    functionLinenumber: 5151
    functionLinenumberEnd: 5185
    functionName: stencil_set_stop_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_ARGB
    - JS_FreeCString
    - get_color_from_args
    - gf_evg_stencil_push_gradient_interpolation
    - gf_evg_stencil_type
    - FLT2FIX
    - JS_GetOpaque
    - gf_color_parse
    - JS_IsString
    - gf_evg_stencil_set_gradient_interpolation
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_stop_ex(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv, Bool use_int) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7352,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7353,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7355,1
    - Dst: gf_mx_equal
      Src: /src/gpac/src/jsmods/evg.c:7356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7358
      start: 7350
    functionDepth: 0
    functionLinenumber: 7350
    functionLinenumberEnd: 7358
    functionName: mx_equal
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_mx_equal
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_equal(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1006,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1018,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:975,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:979,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:986,1
    - Dst: get_stencil
      Src: /src/gpac/src/jsmods/evg.c:987,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/jsmods/evg.c:989,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:995,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:1005,1
    - Dst: get_stencil
      Src: /src/gpac/src/jsmods/evg.c:1017,1
    - Dst: get_stencil
      Src: /src/gpac/src/jsmods/evg.c:1022,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:983,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:976,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:990,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:994,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:998,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:993,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:1004,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1000,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:1011,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:1013,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/jsmods/evg.c:980,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:988,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:999,1
    - Dst: get_stencil
      Src: /src/gpac/src/jsmods/evg.c:1020,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1024,1
    - Dst: gf_evg_surface_multi_fill
      Src: /src/gpac/src/jsmods/evg.c:1023,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1025
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1025
    functionName: canvas_fill
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - gf_evg_surface_fill
    - JS_IsArray
    - JS_IsUndefined
    - JS_IsNumber
    - JS_GetOpaque
    - JS_ToInt32
    - gf_evg_surface_multi_fill
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - get_stencil
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_fill(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrtf
      Src: /src/gpac/src/jsmods/evg.c:1532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - Float
    constantsTouched: []
    func_position:
      end: 1535
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1535
    functionName: isqrtf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - sqrtf
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Float isqrtf(Float v) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - vai
    - frag
    argTypes:
    - EVG_VAI*
    - GF_EVGFragmentParam*
    constantsTouched: []
    func_position:
      end: 3553
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3553
    functionName: vai_call_lerp_init
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vai_call_lerp_init(EVG_VAI *vai, GF_EVGFragmentParam *frag) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4325,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4317,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:4295,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4296,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4302,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:4301,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4294,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4304,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4312,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4318,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4320,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:4292,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4313,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4314,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4316,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4322,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4324,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4326,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4321,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 6
    argNames:
    - c
    - obj
    - a
    - r
    - g
    - b
    argTypes:
    - JSContext*
    - JSValueConst
    - Double*
    - Double*
    - Double*
    - Double*
    constantsTouched: []
    func_position:
      end: 4334
      start: 4288
    functionDepth: 0
    functionLinenumber: 4288
    functionLinenumberEnd: 4334
    functionName: get_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_IsArray
    - JS_ToFloat64
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool get_color(JSContext *c, JSValueConst obj, Double *a, Double
      *r, Double *g, Double *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colmx_apply_color
      Src: /src/gpac/src/jsmods/evg.c:4398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4399
      start: 4396
    functionDepth: 0
    functionLinenumber: 4396
    functionLinenumberEnd: 4399
    functionName: colmx_apply
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - colmx_apply_color
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_apply(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/jsmods/evg.c:6168,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/evg.c:6172,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/jsmods/evg.c:6173,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/evg.c:6169,1
    - Dst: strcat
      Src: /src/gpac/src/jsmods/evg.c:6174,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/jsmods/evg.c:6177,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/jsmods/evg.c:6177,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6178,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6181,1
    - Dst: texture_load_data
      Src: /src/gpac/src/jsmods/evg.c:6182,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - c
    - tx
    - fileName
    - rel_to_script
    argTypes:
    - JSContext*
    - GF_JSTexture*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 6185
      start: 6159
    functionDepth: 0
    functionLinenumber: 6159
    functionLinenumberEnd: 6185
    functionName: texture_load_file
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - strcat
    - gf_file_load_data
    - strncmp
    - gf_free
    - texture_load_data
    - gf_opts_default_shared_directory
    - jsf_get_script_filename
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err texture_load_file(JSContext *c, GF_JSTexture *tx, const
      char *fileName, Bool rel_to_script) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6224,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6229,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6225,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/evg.c:6230,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6228,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6234
      start: 6222
    functionDepth: 0
    functionLinenumber: 6222
    functionLinenumberEnd: 6234
    functionName: texture_set_named
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_set_named(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:1046,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1050,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1055,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:1066,1
    - Dst: canvas_get_irect
      Src: /src/gpac/src/jsmods/evg.c:1066,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:1080,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:1081,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1083,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1085,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1089,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1104,1
    - Dst: sws_scale
      Src: /src/gpac/src/jsmods/evg.c:1208,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1210,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/jsmods/evg.c:1132,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:1182,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1112,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:1129,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1049,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/jsmods/evg.c:1053,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:1077,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1084,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1086,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1092,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:1094,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1096,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:1098,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:1099,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1214,1
    - Dst: gf_evg_stencil_get_texture_planes
      Src: /src/gpac/src/jsmods/evg.c:1169,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:1043,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1047,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/jsmods/evg.c:1052,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1087,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1091,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:1102,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:1103,1
    - Dst: sws_getCachedContext
      Src: /src/gpac/src/jsmods/evg.c:1122,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:1127,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/jsmods/evg.c:1179,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/jsmods/evg.c:1176,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:1044,1
    - Dst: canvas_get_irect
      Src: /src/gpac/src/jsmods/evg.c:1068,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1082,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:1079,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/evg.c:1068,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1088,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:1090,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1118,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:1128,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/evg.c:1130,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/jsmods/evg.c:1136,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:1139,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:1100,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:1125,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 286
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1216
    functionName: canvas_blit
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - memset
    - canvas_get_irect
    - js_throw_err
    - GF_JS_EXCEPTION
    - gf_evg_stencil_get_texture_planes
    - JS_ToCString
    - sws_scale
    - strcmp
    - JS_GetOpaque
    - sws_getCachedContext
    - JS_IsObject
    - JS_FreeCString
    - gf_pixel_get_size_info
    - gf_pixel_fmt_is_yuv
    - JS_IsString
    - JS_ToFloat64
    - JS_GetPropertyStr
    - JS_FreeValue
    - ffmpeg_pixfmt_from_gpac
    - gf_pixel_get_bytes_per_pixel
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_blit(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - Float
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: signf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Float signf(Float v) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_vec_norm
      Src: /src/gpac/src/jsmods/evg.c:3592,1
    - Dst: ABS
      Src: /src/gpac/src/jsmods/evg.c:3585,1
    - Dst: sqrtf
      Src: /src/gpac/src/jsmods/evg.c:3586,1
    - Dst: ABS
      Src: /src/gpac/src/jsmods/evg.c:3584,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - vai
    - frag
    - values
    argTypes:
    - EVG_VAI*
    - GF_EVGFragmentParam*
    - Float*
    constantsTouched: []
    func_position:
      end: 3596
      start: 3555
    functionDepth: 0
    functionLinenumber: 3555
    functionLinenumberEnd: 3596
    functionName: vai_call_lerp
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - ABS
    - sqrtf
    - gf_vec_norm
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vai_call_lerp(EVG_VAI *vai, GF_EVGFragmentParam *frag,
      Float *values) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4250,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:4256,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4253,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4251,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4258
      start: 4248
    functionDepth: 0
    functionLinenumber: 4248
    functionLinenumberEnd: 4258
    functionName: colmx_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_getProperty(JSContext *c, JSValueConst obj, int
      magic) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4340,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:4343,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/evg.c:4344,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:4345,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:4348,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4377,1
    - Dst: gf_cmx_apply
      Src: /src/gpac/src/jsmods/evg.c:4376,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:4379,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:4380,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4381,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:4381,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/evg.c:4381,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4390,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4341,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:4358,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4378,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:4378,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4360,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4384,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4388,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4388,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4389,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4394,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4388,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:4342,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:4378,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4384,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4389,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4387,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4390,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4390,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4391,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4391,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4391,1
    - Dst: gf_cmx_apply_fixed
      Src: /src/gpac/src/jsmods/evg.c:4386,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/evg.c:4349,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/evg.c:4350,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/evg.c:4351,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4373,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:4370,1
    - Dst: get_color
      Src: /src/gpac/src/jsmods/evg.c:4359,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4379,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:4379,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4380,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:4380,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4384,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4384,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4389,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 85
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - use_int
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 4395
      start: 4335
    functionDepth: 0
    functionLinenumber: 4335
    functionLinenumberEnd: 4395
    functionName: colmx_apply_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - GF_COL_R
    - gf_cmx_apply
    - GF_COL_B
    - gf_cmx_apply_fixed
    - GF_JS_EXCEPTION
    - FIX2FLT
    - JS_ToCString
    - JS_NewInt32
    - FLT2FIX
    - JS_GetOpaque
    - JS_IsObject
    - JS_FreeCString
    - JS_IsString
    - JS_NewFloat64
    - JS_SetPropertyStr
    - GF_COL_A
    - GF_COL_ARGB
    - get_color
    - gf_color_parse
    - GF_COL_G
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_apply_color(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, Bool use_int) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colmx_apply_color
      Src: /src/gpac/src/jsmods/evg.c:4402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4403
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4403
    functionName: colmx_applyf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - colmx_apply_color
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue colmx_applyf(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_get_control_bounds
      Src: /src/gpac/src/jsmods/evg.c:4879,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4884,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4882,1
    - Dst: gf_path_get_bounds
      Src: /src/gpac/src/jsmods/evg.c:4881,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4883,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4884,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4885,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4885,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4886,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4886,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4887,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - c
    - gp
    - is_ctrl
    argTypes:
    - JSContext*
    - GF_Path*
    - Bool
    constantsTouched: []
    func_position:
      end: 4889
      start: 4873
    functionDepth: 0
    functionLinenumber: 4873
    functionLinenumberEnd: 4889
    functionName: path_bounds_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_get_bounds
    - JS_NewObject
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    - gf_path_get_control_bounds
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_bounds_ex(JSContext *c, GF_Path *gp, Bool is_ctrl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4981,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:4983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 4984
      start: 4979
    functionDepth: 0
    functionLinenumber: 4979
    functionLinenumberEnd: 4984
    functionName: stencil_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_evg_stencil_delete
    linkageType: ''
    returnType: void
    signature: 'static void stencil_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6190,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:6197,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:6193,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6196,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6191,1
    - Dst: texture_load_file
      Src: /src/gpac/src/jsmods/evg.c:6198,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6200,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:6200,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6202,1
    - Dst: JS_IsArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:6205,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:6207,1
    - Dst: texture_load_data
      Src: /src/gpac/src/jsmods/evg.c:6211,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:6214,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6219,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6220
      start: 6187
    functionDepth: 0
    functionLinenumber: 6187
    functionLinenumberEnd: 6220
    functionName: texture_load
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - JS_IsArrayBuffer
    - gf_error_to_string
    - JS_GetArrayBuffer
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_IsString
    - texture_load_data
    - GF_JS_EXCEPTION
    - texture_load_file
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_load(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6240,1
    - Dst: get_color_from_args
      Src: /src/gpac/src/jsmods/evg.c:6244,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6245,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:6251,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6241,1
    - Dst: gf_evg_stencil_set_pad_color
      Src: /src/gpac/src/jsmods/evg.c:6253,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6255,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:6255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6258
      start: 6236
    functionDepth: 0
    functionLinenumber: 6236
    functionLinenumberEnd: 6258
    functionName: texture_set_pad_color
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - get_color_from_args
    - gf_error_to_string
    - gf_evg_stencil_set_pad_color
    - js_throw_err_msg
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_set_pad_color(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3800,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3801,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:3803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3806
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3806
    functionName: vaires_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue vaires_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3829,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3832
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3832
    functionName: mx2d_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mx2d_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - this_obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 6711
      start: 6706
    functionDepth: 0
    functionLinenumber: 6706
    functionLinenumberEnd: 6711
    functionName: js_evg_get_texture_named
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: char*
    signature: 'const char *js_evg_get_texture_named(JSContext *ctx, JSValue this_obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - this_obj
    - gl_named_tx
    argTypes:
    - JSContext*
    - JSValue
    - void*
    constantsTouched: []
    func_position:
      end: 6719
      start: 6713
    functionDepth: 0
    functionLinenumber: 6713
    functionLinenumberEnd: 6719
    functionName: js_evg_set_named_texture_gl
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'void js_evg_set_named_texture_gl(JSContext *ctx, JSValue this_obj,
      void *gl_named_tx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7217,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:7218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 7219
      start: 7215
    functionDepth: 0
    functionLinenumber: 7215
    functionLinenumberEnd: 7219
    functionName: mx_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mx_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7737,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:7745,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7738,1
    - Dst: new_mesh
      Src: /src/gpac/src/jsmods/evg.c:7741,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:7743,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7746,1
    - Dst: mesh_from_path
      Src: /src/gpac/src/jsmods/evg.c:7749,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7752
      start: 7730
    functionDepth: 0
    functionLinenumber: 7730
    functionLinenumberEnd: 7752
    functionName: mesh_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - mesh_from_path
    - new_mesh
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mesh_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:419,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:428,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:438,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:445,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:429,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:454,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:462,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/jsmods/evg.c:512,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:514,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:425,1
    - Dst: gf_pixel_fmt_parse
      Src: /src/gpac/src/jsmods/evg.c:426,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:427,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:436,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:441,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:432,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:460,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:423,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:421,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:422,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:420,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:437,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:447,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:448,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:468,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/jsmods/evg.c:505,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:510,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:513,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:520,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:424,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/evg.c:440,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:457,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:463,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:467,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:492,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/jsmods/evg.c:498,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:511,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:519,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:522,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 105
    argCount: 5
    argNames:
    - c
    - new_target
    - argc
    - argv
    - canvas_reconfig
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - GF_JSCanvas*
    constantsTouched: []
    func_position:
      end: 524
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 524
    functionName: canvas_constructor_internal
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - JS_IsException
    - GF_SAFEALLOC
    - gf_evg_surface_new
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - gf_pixel_fmt_parse
    - gf_evg_surface_delete
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_IsObject
    - JS_IsInteger
    - JS_FreeCString
    - gf_pixel_get_size_info
    - JS_IsString
    - gf_free
    - gf_evg_surface_attach_to_buffer
    - JS_GetArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_constructor_internal(JSContext *c, JSValueConst
      new_target, int argc, JSValueConst *argv, GF_JSCanvas *canvas_reconfig) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:816,1
    - Dst: canvas_get_irect
      Src: /src/gpac/src/jsmods/evg.c:824,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:825,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:818,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:821,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:827,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:828,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/evg.c:829,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:830,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:837,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:840,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:841,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:856,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/evg.c:852,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:838,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/jsmods/evg.c:854,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - use_float
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 858
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 858
    functionName: canvas_clear_ex
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_ARGB
    - JS_FreeCString
    - canvas_get_irect
    - JS_GetOpaque
    - gf_color_parse
    - JS_IsString
    - gf_evg_surface_clear
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_clear_ex(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, Bool use_float) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/evg.c:2515,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2517,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/evg.c:2516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - shader
    argTypes:
    - EVGShader*
    constantsTouched: []
    func_position:
      end: 2519
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2519
    functionName: shader_reset_vars_stack
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void shader_reset_vars_stack(EVGShader *shader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4919,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4920,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4929,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:4923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4936
      start: 4917
    functionDepth: 0
    functionLinenumber: 4917
    functionLinenumberEnd: 4936
    functionName: path_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_try_lock
      Src: /src/gpac/src/jsmods/evg.c:6499,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6505,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/evg.c:6500,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6504,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/evg.c:6506,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:6507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:6508,1
    - Dst: GETCOMP
      Src: /src/gpac/src/jsmods/evg.c:6522,1
    - Dst: GETCOMP
      Src: /src/gpac/src/jsmods/evg.c:6523,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:6526,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/evg.c:6528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 7
    argNames:
    - cbk
    - x
    - y
    - r
    - g
    - b
    - a
    argTypes:
    - void*
    - u32
    - u32
    - Float*
    - Float*
    - Float*
    - Float*
    constantsTouched: []
    func_position:
      end: 6529
      start: 6493
    functionDepth: 0
    functionLinenumber: 6493
    functionLinenumberEnd: 6529
    functionName: evg_param_tex_callback
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_try_lock
    - gf_js_lock
    - JS_NewInt32
    - GF_LOG
    - JS_Call
    - GETCOMP
    linkageType: ''
    returnType: void
    signature: 'static void evg_param_tex_callback(void *cbk, u32 x, u32 y, Float
      *r, Float *g, Float *b, Float *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7468,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7470,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7471,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7474,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7476,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:7478,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7480,1
    - Dst: gf_mx_from_mx2d
      Src: /src/gpac/src/jsmods/evg.c:7481,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7484,1
    - Dst: gf_mx_add_matrix_4x4
      Src: /src/gpac/src/jsmods/evg.c:7485,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:7489,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7491,1
    - Dst: gf_mx_add_matrix
      Src: /src/gpac/src/jsmods/evg.c:7487,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7492
      start: 7465
    functionDepth: 0
    functionLinenumber: 7465
    functionLinenumberEnd: 7492
    functionName: mx_add
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_mx_from_mx2d
    - JS_ToBool
    - gf_mx_add_matrix
    - JS_GetOpaque
    - JS_DupValue
    - GF_SAFEALLOC
    - gf_mx_add_matrix_4x4
    - GF_JS_EXCEPTION
    - gf_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_add(JSContext *ctx, JSValueConst this_val, int argc,
      JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:7761,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:7766,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:7763,1
    - Dst: gf_pixel_fmt_parse
      Src: /src/gpac/src/jsmods/evg.c:7765,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:7762,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:7768,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:7769,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:7771,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:7772,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/jsmods/evg.c:7772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7773
      start: 7758
    functionDepth: 0
    functionLinenumber: 7758
    functionLinenumberEnd: 7773
    functionName: evg_pixel_size
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_pixel_fmt_parse
    - JS_FreeCString
    - gf_pixel_get_bytes_per_pixel
    - JS_NewInt32
    - js_throw_err_msg
    - JS_IsNumber
    - JS_IsString
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue evg_pixel_size(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:322,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:324,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:330,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:325,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:326,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:331,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:333,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:336,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/jsmods/evg.c:338,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: canvas_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_delete
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void canvas_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_constructor_internal
      Src: /src/gpac/src/jsmods/evg.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: canvas_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_constructor_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_clear_ex
      Src: /src/gpac/src/jsmods/evg.c:861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: canvas_clear
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_clear_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_clear(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:2522,1
    - Dst: shader_reset_vars_stack
      Src: /src/gpac/src/jsmods/evg.c:2527,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2525,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2526,1
    - Dst: shader_reset
      Src: /src/gpac/src/jsmods/evg.c:2524,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/evg.c:2528,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:2529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2530
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2530
    functionName: shader_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - shader_reset_vars_stack
    - JS_GetOpaque
    - gf_free
    - shader_reset
    linkageType: ''
    returnType: void
    signature: 'static void shader_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_path_new
      Src: /src/gpac/src/jsmods/evg.c:4940,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4942,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:4943,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4944,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4946
      start: 4937
    functionDepth: 0
    functionLinenumber: 4937
    functionLinenumberEnd: 4946
    functionName: path_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - gf_path_new
    - JS_NewObjectClass
    - JS_SetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:6545,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/jsmods/evg.c:6546,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:6589,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6610,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6611,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/evg.c:6619,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:6623,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:6653,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:6676,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6677,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:6556,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6559,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:6560,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6565,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6566,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:6566,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:6570,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6573,1
    - Dst: texture_load_data
      Src: /src/gpac/src/jsmods/evg.c:6594,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6597,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6678,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:6669,1
    - Dst: gf_pixel_get_nb_comp
      Src: /src/gpac/src/jsmods/evg.c:6665,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:6543,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6549,1
    - Dst: texture_load_file
      Src: /src/gpac/src/jsmods/evg.c:6561,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6562,1
    - Dst: jsf_is_packet
      Src: /src/gpac/src/jsmods/evg.c:6584,1
    - Dst: jsf_get_filter_packet_planes
      Src: /src/gpac/src/jsmods/evg.c:6585,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6616,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/jsmods/evg.c:6650,1
    - Dst: gf_evg_stencil_set_texture_parametric
      Src: /src/gpac/src/jsmods/evg.c:6657,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/jsmods/evg.c:6666,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:6670,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:6612,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6548,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:6581,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:6564,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:6592,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/jsmods/evg.c:6596,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:6600,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:6613,1
    - Dst: gf_pixel_fmt_parse
      Src: /src/gpac/src/jsmods/evg.c:6614,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:6615,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:6622,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6633,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:6659,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6671,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:6638,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:6598,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6630,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:6626,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:6598,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:6667,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 132
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6679
      start: 6531
    functionDepth: 0
    functionLinenumber: 6531
    functionLinenumberEnd: 6679
    functionName: texture_constructor
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_throw_err
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - gf_pixel_fmt_parse
    - gf_error_to_string
    - gf_evg_stencil_set_texture
    - gf_evg_stencil_set_texture_parametric
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewObjectClass
    - JS_IsObject
    - jsf_get_filter_packet_planes
    - JS_FreeCString
    - gf_pixel_get_size_info
    - gf_evg_stencil_new
    - JS_IsFunction
    - jsf_is_packet
    - JS_IsUndefined
    - JS_IsString
    - gf_free
    - gf_evg_stencil_set_texture_planes
    - texture_load_file
    - gf_pixel_get_nb_comp
    - gf_evg_stencil_delete
    - JS_ToBool
    - gf_pixel_is_wide_depth
    - JS_GetArrayBuffer
    - texture_load_data
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7496,1
    - Dst: gf_mx_inverse_4x4
      Src: /src/gpac/src/jsmods/evg.c:7499,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7497,1
    - Dst: gf_mx_inverse
      Src: /src/gpac/src/jsmods/evg.c:7501,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:7498,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:7503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 7504
      start: 7494
    functionDepth: 0
    functionLinenumber: 7494
    functionLinenumberEnd: 7504
    functionName: mx_inverse
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_mx_inverse
    - gf_mx_inverse_4x4
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_inverse(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:3992,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:4006,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4003,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4005,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4011,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4015,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/evg.c:4016,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4033,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4034,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4034,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4044,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4045,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4046,1
    - Dst: gf_mx2d_apply_point
      Src: /src/gpac/src/jsmods/evg.c:4043,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3991,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3994,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:3995,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4000,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4002,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4008,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4018,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4023,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:4032,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4034,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4036,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4045,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4036,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4046,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3993,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:3997,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:3999,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4007,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:4006,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/evg.c:4016,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4017,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4021,1
    - Dst: gf_mx2d_apply_rect
      Src: /src/gpac/src/jsmods/evg.c:4031,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4035,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4035,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4035,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3992,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3996,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4001,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4009,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:4013,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4019,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4033,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4033,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:4036,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:4045,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4049,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:4046,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4050
      start: 3984
    functionDepth: 0
    functionLinenumber: 3984
    functionLinenumberEnd: 4050
    functionName: mx2d_apply
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_FreeValue
    - JS_NewObject
    - gf_mx2d_apply_rect
    - FLT2FIX
    - JS_IsUndefined
    - JS_IsNumber
    - JS_GetOpaque
    - JS_NewFloat64
    - gf_mx2d_apply_point
    - JS_IsObject
    - FIX2FLT
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_apply(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_close_reset
      Src: /src/gpac/src/jsmods/evg.c:4469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4470
      start: 4467
    functionDepth: 0
    functionLinenumber: 4467
    functionLinenumberEnd: 4470
    functionName: path_reset
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_close_reset
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_reset(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4506,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4516,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4512,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4512,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4509,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4508,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4508,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4507,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4509,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4510,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4510,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4511,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4511,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4513,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4513,1
    - Dst: gf_path_add_cubic_to
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4514,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4517
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4517
    functionName: path_cubic_to
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_path_add_cubic_to
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_cubic_to(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5006,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5020,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5017,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5020,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5021,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5022,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5022,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5038,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5035,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5037,1
    - Dst: gf_evg_stencil_set_linear_gradient
      Src: /src/gpac/src/jsmods/evg.c:5041,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5015,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5037,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5023,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5031,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5033,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5016,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5035,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5036,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5032,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - c
    - stencil
    - argc
    - argv
    argTypes:
    - JSContext*
    - GF_EVGStencil*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5043
      start: 4999
    functionDepth: 0
    functionLinenumber: 4999
    functionLinenumberEnd: 5043
    functionName: stencil_set_linear
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - gf_evg_stencil_set_linear_gradient
    - GETIT
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_linear(JSContext *c, GF_EVGStencil *stencil,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_get_pixel_internal
      Src: /src/gpac/src/jsmods/evg.c:6099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6100
      start: 6097
    functionDepth: 0
    functionLinenumber: 6097
    functionLinenumberEnd: 6100
    functionName: texture_get_pixelf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_get_pixel_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_get_pixelf(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - COMP_X
    argTypes:
    - left_val_type
    constantsTouched: []
    func_position:
      end: 1924
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1924
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GET_FIRST_COMP
    signature: 'GET_FIRST_COMP if (left_val_type & COMP_X) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3223,1
    - Dst: load_builtin_shader
      Src: /src/gpac/src/jsmods/evg.c:3229,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/evg.c:3231,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/evg.c:3231,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:3251,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3221,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/evg.c:3226,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:3256,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3257,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3222,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:3235,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:3249,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/evg.c:3228,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/evg.c:3232,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:3238,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:3244,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3248,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3239,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/evg.c:3254,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3245,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3259
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3259
    functionName: canvas_new_shader
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_error_to_string
    - js_throw_err
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsString
    - GF_SAFEALLOC
    - gf_list_new
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - load_builtin_shader
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_new_shader(JSContext *ctx, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4054,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4057,1
    - Dst: gf_mx2d_inverse
      Src: /src/gpac/src/jsmods/evg.c:4056,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4058
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4058
    functionName: mx2d_inverse
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_GetOpaque
    - gf_mx2d_inverse
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_inverse(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4449,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4450,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/jsmods/evg.c:4456,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4453,1
    - Dst: gf_path_close
      Src: /src/gpac/src/jsmods/evg.c:4452,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4457,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:4460,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/evg.c:4461,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4462,1
    - Dst: gf_path_clone
      Src: /src/gpac/src/jsmods/evg.c:4462,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - opt
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 4466
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4466
    functionName: path_close_reset
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_clone
    - JS_IsException
    - gf_path_close
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewObjectClass
    - gf_path_reset
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_close_reset(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, u32 opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_close_reset
      Src: /src/gpac/src/jsmods/evg.c:4473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4474
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4474
    functionName: path_close
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - path_close_reset
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_close(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4522,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4525,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4523,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4524,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4524,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4525,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4526,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4526,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:4527,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4527,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4528,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4528,1
    - Dst: gf_path_add_quadratic_to
      Src: /src/gpac/src/jsmods/evg.c:4528,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4529,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4530,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4528,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:4528,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4518
    functionDepth: 0
    functionLinenumber: 4518
    functionLinenumberEnd: 4531
    functionName: path_quadratic_to
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_add_quadratic_to
    - FLT2FIX
    - JS_GetOpaque
    - JS_DupValue
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_quadratic_to(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5062,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5075,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5087,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5091,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5092,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5052,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5066,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5066,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5067,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5068,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5068,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5073,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5089,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5089,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5091,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5061,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5074,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5078,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5081,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:5080,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5078,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5080,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/evg.c:5085,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5090,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5069,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:5079,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5086,1
    - Dst: gf_evg_stencil_set_radial_gradient
      Src: /src/gpac/src/jsmods/evg.c:5095,1
    - Dst: GETIT
      Src: /src/gpac/src/jsmods/evg.c:5063,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - c
    - stencil
    - argc
    - argv
    argTypes:
    - JSContext*
    - GF_EVGStencil*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5097
      start: 5045
    functionDepth: 0
    functionLinenumber: 5045
    functionLinenumberEnd: 5097
    functionName: stencil_set_radial
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - FLT2FIX
    - GETIT
    - JS_IsObject
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_evg_stencil_set_radial_gradient
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue stencil_set_radial(JSContext *c, GF_EVGStencil *stencil,
      int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/jsmods/evg.c:6110,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:6120,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/jsmods/evg.c:6112,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/jsmods/evg.c:6116,1
    - Dst: gf_img_parse
      Src: /src/gpac/src/jsmods/evg.c:6111,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/jsmods/evg.c:6121,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/jsmods/evg.c:6130,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/evg.c:6134,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/jsmods/evg.c:6135,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:6143,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/evg.c:6149,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/jsmods/evg.c:6150,1
    - Dst: gf_pixel_get_nb_comp
      Src: /src/gpac/src/jsmods/evg.c:6148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - c
    - tx
    - data
    - size
    argTypes:
    - JSContext*
    - GF_JSTexture*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 6158
      start: 6102
    functionDepth: 0
    functionLinenumber: 6102
    functionLinenumberEnd: 6158
    functionName: texture_load_data
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_del
    - gf_img_png_dec
    - gf_pixel_get_size_info
    - gf_img_jpeg_dec
    - gf_evg_stencil_set_texture
    - gf_bs_new
    - gf_img_parse
    - gf_free
    - gf_pixel_get_nb_comp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err texture_load_data(JSContext *c, GF_JSTexture *tx, u8
      *data, u32 size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3866,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:3870,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:3872,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3871,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3867,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:3876,1
    - Dst: gf_mx2d_init
      Src: /src/gpac/src/jsmods/evg.c:3877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3881
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3881
    functionName: mx2d_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_mx2d_init
    - JS_GetOpaque
    - FIX2FLT
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canvas_clear_ex
      Src: /src/gpac/src/jsmods/evg.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: canvas_clearf
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - canvas_clear_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_clearf(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2569,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2571,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2569,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2571,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2570,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2572,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2573,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2574,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2575,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2576,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2577,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2581,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2580,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2587,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - shader
    - val_name
    argTypes:
    - EVGShader*
    - char*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2592
    functionName: get_builtin_var_name
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_builtin_var_name(EVGShader *shader, const char *val_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3759,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3760,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:3763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3767
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3767
    functionName: va_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue va_setProperty(JSContext *c, JSValueConst obj, JSValueConst
      value, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4703,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4708,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4705,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4704,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4706,1
    - Dst: gf_path_add_subpath
      Src: /src/gpac/src/jsmods/evg.c:4709,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4710,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4712
      start: 4699
    functionDepth: 0
    functionLinenumber: 4699
    functionLinenumberEnd: 4712
    functionName: path_add_path
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - gf_path_add_subpath
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_add_path(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6066,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6066,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:6067,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6067,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6080,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6080,1
    - Dst: gf_evg_stencil_get_pixel_f
      Src: /src/gpac/src/jsmods/evg.c:6074,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6085,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6085,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6086,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6086,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:6077,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6081,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6081,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6088,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6088,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6059,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:6063,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6063,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:6078,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6078,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6082,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6082,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:6084,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:6087,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6087,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6058,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:6062,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:6062,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:6079,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:6079,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:6071,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - is_float
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 6091
      start: 6051
    functionDepth: 0
    functionLinenumber: 6051
    functionLinenumberEnd: 6091
    functionName: texture_get_pixel_internal
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_SetPropertyUint32
    - JS_ToBool
    - JS_NewArray
    - JS_NewObject
    - JS_NewInt32
    - JS_GetOpaque
    - JS_ToInt32
    - gf_evg_stencil_get_pixel_f
    - JS_NewFloat64
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_get_pixel_internal(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv, Bool is_float) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - this_obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 6686
      start: 6681
    functionDepth: 0
    functionLinenumber: 6681
    functionLinenumberEnd: 6686
    functionName: js_evg_is_texture
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool js_evg_is_texture(JSContext *ctx, JSValue this_obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7256,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:7265,1
    - Dst: gf_mx_decompose
      Src: /src/gpac/src/jsmods/evg.c:7274,1
    - Dst: gf_mx_get_yaw_pitch_roll
      Src: /src/gpac/src/jsmods/evg.c:7264,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:7260,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7257,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7268,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7271,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:7290,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:7292,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7292,1
    - Dst: gf_mx_is_identity
      Src: /src/gpac/src/jsmods/evg.c:7260,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:7268,1
    - Dst: gf_mx_decompose
      Src: /src/gpac/src/jsmods/evg.c:7278,1
    - Dst: gf_mx_decompose
      Src: /src/gpac/src/jsmods/evg.c:7282,1
    - Dst: gf_mx_decompose
      Src: /src/gpac/src/jsmods/evg.c:7286,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/evg.c:7271,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:7265,1
    - Dst: gf_mx_get_yaw_pitch_roll
      Src: /src/gpac/src/jsmods/evg.c:7267,1
    - Dst: gf_mx_get_yaw_pitch_roll
      Src: /src/gpac/src/jsmods/evg.c:7270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 7296
      start: 7249
    functionDepth: 0
    functionLinenumber: 7249
    functionLinenumberEnd: 7296
    functionName: mx_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_mx_get_yaw_pitch_roll
    - gf_mx_decompose
    - JS_GetOpaque
    - JS_NewFloat64
    - gf_mx_is_identity
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_getProperty(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3885,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3887,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3886,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:3888,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:3889,1
    - Dst: gf_mx2d_pre_multiply
      Src: /src/gpac/src/jsmods/evg.c:3890,1
    - Dst: gf_mx2d_add_matrix
      Src: /src/gpac/src/jsmods/evg.c:3892,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:3893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3894
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3894
    functionName: mx2d_multiply
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_mx2d_pre_multiply
    - gf_mx2d_add_matrix
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx2d_multiply(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:3770,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/evg.c:3773,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/evg.c:3772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3774
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3774
    functionName: va_finalize
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void va_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:398,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:402,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:399,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/evg.c:401,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cbk
    - src_alpha
    - x
    - y
    argTypes:
    - void*
    - u8
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: evg_get_alpha
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: u8
    signature: 'u8 evg_get_alpha(void *cbk, u8 src_alpha, s32 x, s32 y) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:877,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:910,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:910,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:903,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:879,1
    - Dst: get_color_from_args
      Src: /src/gpac/src/jsmods/evg.c:885,1
    - Dst: gf_gf_evg_rgb_to_yuv_f
      Src: /src/gpac/src/jsmods/evg.c:894,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:897,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/evg.c:899,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/evg.c:882,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/evg.c:881,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:900,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:901,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:904,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:902,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:900,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:903,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:901,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:902,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:904,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:908,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:886,1
    - Dst: gf_evg_yuv_to_rgb_f
      Src: /src/gpac/src/jsmods/evg.c:892,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:907,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:907,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:909,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:909,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/evg.c:908,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/evg.c:906,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 5
    argNames:
    - c
    - obj
    - argc
    - argv
    - to_rgb
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 913
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 913
    functionName: canvas_rgb_yuv
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_ToBool
    - get_color_from_args
    - JS_NewArray
    - JS_NewObject
    - gf_gf_evg_rgb_to_yuv_f
    - gf_evg_yuv_to_rgb_f
    - JS_NewInt32
    - JS_GetOpaque
    - JS_IsBool
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue canvas_rgb_yuv(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv, Bool to_rgb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2595,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2596,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2597,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2598,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2601,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2602,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2600,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2597,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2601,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2595,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2596,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2599,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2600,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2595,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2596,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2598,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2599,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2602,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/evg.c:2600,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 1
    argNames:
    - comp
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2604
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2604
    functionName: get_value_type
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u8
    signature: 'static u8 get_value_type(const char *comp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:4716,1
    - Dst: gf_path_flatten
      Src: /src/gpac/src/jsmods/evg.c:4718,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:4717,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/evg.c:4719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4720
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4720
    functionName: path_flatten
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_DupValue
    - gf_path_flatten
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue path_flatten(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5478,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:5484,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:5482,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:5490,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:5494,1
    - Dst: gf_evg_stencil_get_matrix
      Src: /src/gpac/src/jsmods/evg.c:5505,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5506,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5520,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:5479,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:5486,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5509,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/evg.c:5488,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:5492,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/evg.c:5496,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/evg.c:5499,1
    - Dst: gf_mx2d_copy
      Src: /src/gpac/src/jsmods/evg.c:5508,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5510,1
    - Dst: gf_evg_stencil_get_auto_matrix
      Src: /src/gpac/src/jsmods/evg.c:5514,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/evg.c:5507,1
    - Dst: gf_evg_stencil_get_color_matrix
      Src: /src/gpac/src/jsmods/evg.c:5521,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/evg.c:5519,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/evg.c:5522,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/evg.c:5523,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 5528
      start: 5476
    functionDepth: 0
    functionLinenumber: 5476
    functionLinenumberEnd: 5528
    functionName: texture_getProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - gf_evg_stencil_get_auto_matrix
    - JS_NewInt32
    - js_throw_err
    - gf_evg_stencil_get_matrix
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_mx2d_copy
    - gf_evg_stencil_get_color_matrix
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: texture_get_pixel_internal
      Src: /src/gpac/src/jsmods/evg.c:6094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 6095
      start: 6092
    functionDepth: 0
    functionLinenumber: 6092
    functionLinenumberEnd: 6095
    functionName: texture_get_pixel
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - texture_get_pixel_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue texture_get_pixel(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:6690,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 13
    argCount: 11
    argNames:
    - ctx
    - this_obj
    - width
    - height
    - pixfmt
    - p_data
    - stride
    - p_u
    - p_v
    - stride_uv
    - p_a
    argTypes:
    - JSContext*
    - JSValue
    - u32*
    - u32*
    - u32*
    - u8**
    - u32*
    - u8**
    - u8**
    - u32*
    - u8**
    constantsTouched: []
    func_position:
      end: 6703
      start: 6688
    functionDepth: 0
    functionLinenumber: 6688
    functionLinenumberEnd: 6703
    functionName: js_evg_get_texture_info
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool js_evg_get_texture_info(JSContext *ctx, JSValue this_obj, u32
      *width, u32 *height, u32 *pixfmt, u8 **p_data, u32 *stride, u8 **p_u, u8 **p_v,
      u32 *stride_uv, u8 **p_a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/evg.c:7302,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7311,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/jsmods/evg.c:7308,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/jsmods/evg.c:7311,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7303,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/evg.c:7312,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/evg.c:7314,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:7315,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/evg.c:7316,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/evg.c:7319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/evg.c:7321,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/jsmods/evg.c:7322,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/evg.c:7320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 7327
      start: 7298
    functionDepth: 0
    functionLinenumber: 7298
    functionLinenumberEnd: 7327
    functionName: mx_setProperty
    functionSourceFile: /src/gpac/src/jsmods/evg.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_IsArray
    - FLT2FIX
    - gf_mx_init
    - JS_GetOpaque
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue mx_setProperty(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:499,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:504,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:501,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/scene_js.c:503,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:500,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:505,1
    - Dst: gf_scene_switch_quality
      Src: /src/gpac/src/jsmods/scene_js.c:506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: scenejs_switch_quality
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - scenejs_get_compositor
    - gf_scene_switch_quality
    - JS_IsBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_switch_quality(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1497,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:1508,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1509,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1515,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/jsmods/scene_js.c:1497,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1505,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1507,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:1513,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1520,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/scene_js.c:1532,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1490,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1503,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1508,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/scene_js.c:1513,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1517,1
    - Dst: gf_dom_event_get_name
      Src: /src/gpac/src/jsmods/scene_js.c:1520,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1528,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1491,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1510,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1526,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/scene_js.c:1536,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1536,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1544
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1544
    functionName: gpacevt_getProperty
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_dom_event_get_name
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_list_count
    - JS_NewInt32
    - JS_NewString
    - FIX2FLT
    - JS_GetOpaque
    - JS_NewFloat64
    - gf_dom_get_key_name
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gpacevt_getProperty(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1552,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/scene_js.c:1553,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/scene_js.c:1558,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1554,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:1559,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/scene_js.c:1560,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1561,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/scene_js.c:1563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - sjs
    - evt
    argTypes:
    - GF_SCENEJSExt*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 1565
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1565
    functionName: gjs_event_filter_process
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_SetOpaque
    - JS_IsNumber
    - JS_IsBool
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gjs_event_filter_process(GF_SCENEJSExt *sjs, GF_Event
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:1717,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1718,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/src/jsmods/scene_js.c:1723,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:1721,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:1722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1725
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1725
    functionName: scenejs_show_keyboard
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - memset
    - scenejs_get_compositor
    - gf_sc_user_event
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_show_keyboard(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/scene_js.c:2007,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/scene_js.c:2010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2012
    functionName: qjs_module_init_scenejs
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExport
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_scenejs(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: scenejs_get_compositor
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_Compositor*
    signature: 'static GF_Compositor *scenejs_get_compositor(JSContext *c, JSValue
      obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:439,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:442,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:440,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:441,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:442,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:443,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:443,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:445,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:446,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:448,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/jsmods/scene_js.c:452,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:457,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:459,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/jsmods/scene_js.c:454,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:449,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:456,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:451,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 462
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 462
    functionName: scenejs_set_option
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - scenejs_get_compositor
    - strcmp
    - gf_filter_send_update
    - gf_opts_set_key
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_option(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:515,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/jsmods/scene_js.c:520,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:516,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: scenejs_reload
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_filter_ui_event
    - GF_JS_EXCEPTION
    - memset
    - scenejs_get_compositor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_reload(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:614,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:619,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:620,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:615,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:621,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:622,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: scenejs_move_window
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - scenejs_get_compositor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_move_window(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:636,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:637,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/scene_js.c:639,1
    - Dst: gf_sg_js_get_node
      Src: /src/gpac/src/jsmods/scene_js.c:642,1
    - Dst: JSVAL_TO_OBJECT
      Src: /src/gpac/src/jsmods/scene_js.c:642,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:645,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: scenejs_get_scene_time
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - scenejs_get_compositor
    - JS_NewFloat64
    - JS_IsObject
    - GF_JS_EXCEPTION
    - gf_sg_js_get_node
    - JSVAL_TO_OBJECT
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_get_scene_time(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1338,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1341,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1339,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1340,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1341,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1342,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1342,1
    - Dst: gf_scene_set_addon_layout_info
      Src: /src/gpac/src/jsmods/scene_js.c:1344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1346
    functionName: gjs_odm_addon_layout
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_scene_set_addon_layout_info
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_addon_layout(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1403,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/jsmods/scene_js.c:1410,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/jsmods/scene_js.c:1409,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1404,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:1406,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/scene_js.c:1414,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/scene_js.c:1418,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1419,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1419,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1422,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/scene_js.c:1423,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1422,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1426
    functionName: gjs_odm_get_chapters
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_list_get
    - JS_NewObject
    - gf_filter_pid_get_property
    - JS_NewInt32
    - JS_NewString
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_get_chapters(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/jsmods/scene_js.c:1577,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/scene_js.c:1588,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/jsmods/scene_js.c:1586,1
    - Dst: gf_js_try_lock
      Src: /src/gpac/src/jsmods/scene_js.c:1581,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/scene_js.c:1587,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/scene_js.c:1589,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/scene_js.c:1590,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/scene_js.c:1591,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/scene_js.c:1594,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/jsmods/scene_js.c:1599,1
    - Dst: gjs_event_filter_process
      Src: /src/gpac/src/jsmods/scene_js.c:1607,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/scene_js.c:1609,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:1600,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/scene_js.c:1605,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:1603,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/jsmods/scene_js.c:1601,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/scene_js.c:1610,1
    - Dst: gjs_event_filter_process
      Src: /src/gpac/src/jsmods/scene_js.c:1602,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - udta
    - evt
    - consumed_by_compositor
    argTypes:
    - void*
    - GF_Event*
    - Bool
    constantsTouched: []
    func_position:
      end: 1612
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1612
    functionName: gjs_event_filter
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gjs_event_filter_process
    - gf_js_try_lock
    - gf_mx_try_lock
    - gf_list_pop_front
    - gf_js_lock
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - memcpy
    - gf_mx_v
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gjs_event_filter(void *udta, GF_Event *evt, Bool consumed_by_compositor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:177,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/scene_js.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: scenejs_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void scenejs_gc_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/scene_js.c:221,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/jsmods/scene_js.c:227,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:254,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:246,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:236,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/jsmods/scene_js.c:233,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:259,1
    - Dst: gf_sc_get_fps
      Src: /src/gpac/src/jsmods/scene_js.c:262,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:274,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:280,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/scene_js.c:220,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:223,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:230,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:249,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:239,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:271,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:304,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:294,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:210,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:222,1
    - Dst: gf_sc_get_option
      Src: /src/gpac/src/jsmods/scene_js.c:230,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:265,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:268,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:277,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:285,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/jsmods/scene_js.c:288,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:292,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:300,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:217,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:212,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:227,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:233,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:253,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:258,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:262,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/scene_js.c:292,1
    - Dst: gf_sc_get_selected_text
      Src: /src/gpac/src/jsmods/scene_js.c:298,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 65
    argCount: 3
    argNames:
    - ctx
    - this_val
    - prop_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 307
    functionName: scenejs_getProperty
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_sys_is_cov_mode
    - memset
    - gf_sc_get_selected_text
    - gf_sc_get_fps
    - gf_strdup
    - JS_NewString
    - JS_NewInt32
    - JS_GetOpaque
    - gf_sc_get_option
    - JS_NewFloat64
    - gf_free
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_getProperty(JSContext *ctx, JSValueConst this_val,
      int prop_id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:468,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:476,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:469,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:478,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:470,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/jsmods/scene_js.c:491,1
    - Dst: gf_sc_invalidate
      Src: /src/gpac/src/jsmods/scene_js.c:492,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 494
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 494
    functionName: scenejs_set_back_color
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - GF_COL_ARGB
    - scenejs_get_compositor
    - gf_sc_invalidate
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_back_color(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:1352,1
    - Dst: gf_scene_register_associated_media
      Src: /src/gpac/src/jsmods/scene_js.c:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - odm
    - addon_url
    - enable_if_defined
    - disable_if_defined
    argTypes:
    - GF_ObjectManager*
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1359
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1359
    functionName: do_enable_addon
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_scene_register_associated_media
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void do_enable_addon(GF_ObjectManager *odm, char *addon_url,
      Bool enable_if_defined, Bool disable_if_defined ) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1437,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1447,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1448,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/scene_js.c:1449,1
    - Dst: gf_url_percent_encode
      Src: /src/gpac/src/jsmods/scene_js.c:1464,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:1476,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1480,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/scene_js.c:1481,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1483,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:1439,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:1443,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1465,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/scene_js.c:1451,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1460,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:1466,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:1455,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:1469,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1434,1
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:1435,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/scene_js.c:1450,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:1453,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/scene_js.c:1463,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1459,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1458,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1485
    functionName: scenejs_get_object_manager
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - gf_list_get
    - JS_FreeCString
    - scenejs_get_compositor
    - strncmp
    - JS_IsException
    - gf_list_count
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_IsString
    - strchr
    - strstr
    - gf_url_percent_encode
    - GF_JS_EXCEPTION
    - gf_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_get_object_manager(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1616,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/scene_js.c:1620,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1618,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/scene_js.c:1620,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/scene_js.c:1620,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1621,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/scene_js.c:1623,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/scene_js.c:1624,1
    - Dst: gf_filter_add_event_listener
      Src: /src/gpac/src/jsmods/scene_js.c:1630,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1632
    functionName: scenejs_set_event_filter
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_filter_add_event_listener
    - JS_IsNull
    - JS_IsFunction
    - JS_IsUndefined
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_event_filter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1674,1
    - Dst: gf_sg_js_get_node
      Src: /src/gpac/src/jsmods/scene_js.c:1677,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1701,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/jsmods/scene_js.c:1707,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1675,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/jsmods/scene_js.c:1688,1
    - Dst: gf_sc_animation_get_scenegraph
      Src: /src/gpac/src/jsmods/scene_js.c:1694,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/scene_js.c:1705,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1706,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1708,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1704,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1708,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/scene_js.c:1675,1
    - Dst: gf_node_get_private
      Src: /src/gpac/src/jsmods/scene_js.c:1682,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1709,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1709,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1678,1
    - Dst: gf_sg_get_private
      Src: /src/gpac/src/jsmods/scene_js.c:1695,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1699,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1710,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1710,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1712
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1712
    functionName: scenejs_get_scene
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - gf_node_get_private
    - JS_IsException
    - JS_NewInt32
    - JS_SetOpaque
    - JS_GetOpaque
    - gf_sc_animation_get_scenegraph
    - gf_sg_get_private
    - JS_NewObjectClass
    - JS_IsObject
    - gf_sg_get_scene_size_info
    - GF_JS_EXCEPTION
    - gf_sg_js_get_node
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_get_scene(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:528,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/scene_js.c:532,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:529,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:530,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:533,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:535,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:536,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:537,1
    - Dst: gf_sc_navigation_supported
      Src: /src/gpac/src/jsmods/scene_js.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 538
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 538
    functionName: scenejs_navigation_supported
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - scenejs_get_compositor
    - gf_sc_navigation_supported
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_navigation_supported(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 656
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 656
    functionName: scenejs_trigger_gc
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - scenejs_get_compositor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_trigger_gc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1217,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1221,1
    - Dst: jsff_get_filter
      Src: /src/gpac/src/jsmods/scene_js.c:1220,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1218,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1224,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/jsmods/scene_js.c:1225,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/jsmods/scene_js.c:1229,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/jsmods/scene_js.c:1231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: gjs_odm_in_parent_chain
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_in_parent_chain
    - jsff_get_filter
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_in_parent_chain(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1365,1
    - Dst: do_enable_addon
      Src: /src/gpac/src/jsmods/scene_js.c:1371,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:1368,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/jsmods/scene_js.c:1370,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1366,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:1377,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:1378,1
    - Dst: do_enable_addon
      Src: /src/gpac/src/jsmods/scene_js.c:1380,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:1382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1384
    functionName: gjs_odm_enable_addon
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - gf_sys_is_cov_mode
    - JS_FreeCString
    - JS_GetOpaque
    - do_enable_addon
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_enable_addon(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1857,1
    - Dst: gf_cfg_discard_changes
      Src: /src/gpac/src/jsmods/scene_js.c:1864,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:1862,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/scene_js.c:1863,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1860,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/jsmods/scene_js.c:1865,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/scene_js.c:1867,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:1869,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/scene_js.c:1870,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:1871,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/scene_js.c:1887,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/scene_js.c:1873,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/jsmods/scene_js.c:1874,1
    - Dst: gf_filter_remove_event_listener
      Src: /src/gpac/src/jsmods/scene_js.c:1883,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/scene_js.c:1880,1
    - Dst: gf_fs_unload_script
      Src: /src/gpac/src/jsmods/scene_js.c:1877,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1888
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1888
    functionName: scenejs_finalize
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - gf_cfg_del
    - gf_fs_unload_script
    - gf_filter_remove_event_listener
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    - gf_cfg_discard_changes
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void scenejs_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:544,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:549,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:550,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:545,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:546,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:551,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:552,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:555,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:570,1
    - Dst: gf_sc_set_size
      Src: /src/gpac/src/jsmods/scene_js.c:572,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 580
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 580
    functionName: scenejs_set_size
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_sc_set_size
    - JS_ToBool
    - gf_sc_send_event
    - scenejs_get_compositor
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_size(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - idx
    argTypes:
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: gjs_enum_pids
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_FilterPid*
    signature: 'static GF_FilterPid *gjs_enum_pids(void *udta, u32 *idx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1242,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1244,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:1246,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:1248,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:1247,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1251,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:1253,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1256,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1257,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/scene_js.c:1260,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1261,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1262,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:1275,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/jsmods/scene_js.c:1267,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1277
    functionName: gjs_odm_select_quality
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - strcmp
    - JS_GetOpaque
    - JS_IsString
    - atoi
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_select_quality(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1389,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:1393,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1391,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:1391,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1390,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:1394,1
    - Dst: do_enable_addon
      Src: /src/gpac/src/jsmods/scene_js.c:1395,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:1397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1399
    functionName: gjs_odm_declare_addon
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - strcmp
    - JS_GetOpaque
    - do_enable_addon
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_declare_addon(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/scene_js.c:1894,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/scene_js.c:1899,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/scene_js.c:1917,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/scene_js.c:1925,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/scene_js.c:1925,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/scene_js.c:1930,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1961,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1965,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1967,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1971,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1990,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1977,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1979,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1955,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1991,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1978,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1906,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/scene_js.c:1900,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/scene_js.c:1921,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/scene_js.c:1922,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1920,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/scene_js.c:1921,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/scene_js.c:1927,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1934,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1954,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1960,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1974,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1987,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1994,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1989,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1976,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1988,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1995,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1975,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1909,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/scene_js.c:1914,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/scene_js.c:1924,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/scene_js.c:1918,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/scene_js.c:1928,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/scene_js.c:1928,1
    - Dst: gf_fs_load_js_api
      Src: /src/gpac/src/jsmods/scene_js.c:1947,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1952,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/scene_js.c:1953,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/scene_js.c:1953,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1966,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1972,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1984,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/scene_js.c:1997,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1985,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1986,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1993,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1973,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/scene_js.c:1999,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/jsmods/scene_js.c:1901,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/scene_js.c:1915,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/scene_js.c:1915,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/scene_js.c:1918,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1932,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/scene_js.c:1933,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/scene_js.c:1933,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1962,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1963,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1969,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1980,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1968,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1983,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1964,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1970,1
    - Dst: DECLARE_CONST
      Src: /src/gpac/src/jsmods/scene_js.c:1981,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 2
    argNames:
    - c
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 2001
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 2001
    functionName: js_scene_init
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - JS_FreeValue
    - gf_mx_new
    - JS_NewClassID
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - DECLARE_CONST
    - JS_SetOpaque
    - JS_NewObjectClass
    - countof
    - JS_SetModuleExport
    - JS_NewClass
    - GF_SAFEALLOC
    - gf_list_new
    - JS_GetRuntime
    - gf_fs_load_js_api
    - JS_GetContextOpaque
    - JS_SetPropertyStr
    linkageType: ''
    returnType: int
    signature: 'static int js_scene_init(JSContext *c, JSModuleDef *m) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:318,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:327,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:356,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:356,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:370,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:374,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:326,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:320,1
    - Dst: strnicmp
      Src: /src/gpac/src/jsmods/scene_js.c:329,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:341,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/jsmods/scene_js.c:343,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/jsmods/scene_js.c:357,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:350,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/jsmods/scene_js.c:360,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:348,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:383,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:335,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:363,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:380,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:380,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:326,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/src/jsmods/scene_js.c:334,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/jsmods/scene_js.c:349,1
    - Dst: gf_sc_set_option
      Src: /src/gpac/src/jsmods/scene_js.c:351,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:368,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 391
    functionName: scenejs_setProperty
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_ToBool
    - memset
    - gf_sc_send_event
    - gf_sc_user_event
    - JS_GetOpaque
    - JS_IsString
    - strnicmp
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_sc_set_option
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_setProperty(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:586,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:590,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:587,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: scenejs_exit
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_sc_send_event
    - JS_ToInt32
    - memset
    - scenejs_get_compositor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_exit(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:728,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:753,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:781,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/scene_js.c:760,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:765,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:786,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:978,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:949,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:902,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:805,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:739,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:691,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:701,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:744,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/scene_js.c:732,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:746,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:857,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:876,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:909,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1000,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:961,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:772,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:822,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:832,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:931,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:942,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:944,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:951,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:808,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:813,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:682,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:711,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/scene_js.c:739,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:820,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:835,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/jsmods/scene_js.c:881,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:890,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:912,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/jsmods/scene_js.c:981,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:679,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/jsmods/scene_js.c:723,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/scene_js.c:743,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:750,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:757,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:774,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:762,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:841,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:846,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:894,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:807,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:824,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:688,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:693,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:705,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:724,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:730,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:769,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:801,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:726,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1009,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:783,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/scene_js.c:948,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:923,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:963,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1012,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:775,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:810,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:790,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/scene_js.c:817,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:668,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:677,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:708,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:731,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:831,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:859,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:732,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:754,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:759,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:766,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:799,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/jsmods/scene_js.c:882,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1016,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:924,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1003,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:690,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:702,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:771,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:804,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:851,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:993,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:869,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/scene_js.c:888,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:905,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:930,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:997,1
    - Dst: gf_filter_count_source_by_protocol
      Src: /src/gpac/src/jsmods/scene_js.c:839,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/jsmods/scene_js.c:830,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:819,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:679,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:710,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:790,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:814,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/jsmods/scene_js.c:874,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/jsmods/scene_js.c:921,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:973,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:988,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/jsmods/scene_js.c:959,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:984,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:751,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:763,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:756,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:768,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:839,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:844,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:915,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:936,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/jsmods/scene_js.c:1013,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:687,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:699,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:704,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:996,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1005,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1008,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:685,1
    - Dst: gf_net_ntp_diff_ms
      Src: /src/gpac/src/jsmods/scene_js.c:935,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/scene_js.c:967,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1014,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:735,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:811,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:816,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:733,1
    - Dst: gf_odm_get_object_info
      Src: /src/gpac/src/jsmods/scene_js.c:707,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/jsmods/scene_js.c:896,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/scene_js.c:946,1
    - Dst: gf_sc_is_over
      Src: /src/gpac/src/jsmods/scene_js.c:912,1
    CyclomaticComplexity: 158
    EdgeCount: 158
    ICount: 282
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1019
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 1019
    functionName: odm_getProperty
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_sc_is_over
    - memset
    - gf_filter_release_property
    - gf_4cc_to_str
    - strstr
    - JS_NewBool
    - gf_odm_get_object_info
    - gf_filter_count_source_by_protocol
    - gf_list_count
    - JS_NewInt32
    - JS_NewInt64
    - JS_GetOpaque
    - gf_filter_get_info
    - gf_filter_pid_get_info
    - gf_list_get
    - JS_NewString
    - sprintf
    - gf_filter_pid_get_info_str
    - gf_sys_clock
    - JS_NewFloat64
    - gf_clock_time_absolute
    - gf_stream_type_name
    - gf_sc_send_event
    - gf_net_ntp_diff_ms
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue odm_getProperty(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/jsmods/scene_js.c:1187,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/scene_js.c:1198,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/scene_js.c:1199,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1203,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1177,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:1189,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1163,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1166,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1184,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1201,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1201,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1203,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1175,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1174,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1179,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:1183,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1202,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1202,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1204,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1204,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1208
    functionName: gjs_odm_get_srd
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewObject
    - sscanf
    - JS_IsException
    - JS_NewInt32
    - gf_filter_release_property
    - gf_filter_pid_get_info_str
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_get_srd(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1281,1
    - Dst: gf_scene_resume_live
      Src: /src/gpac/src/jsmods/scene_js.c:1285,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: gjs_odm_disable_main_addon
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_scene_resume_live
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_disable_main_addon(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1305,1
    - Dst: gf_scene_select_object
      Src: /src/gpac/src/jsmods/scene_js.c:1309,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1312
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1312
    functionName: gjs_odm_select
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_scene_select_object
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_select(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:402,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:403,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:408,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:416,1
    - Dst: gf_filter_get_arg_str
      Src: /src/gpac/src/jsmods/scene_js.c:417,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:401,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:403,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/scene_js.c:403,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:410,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:409,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/src/jsmods/scene_js.c:422,1
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:399,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:402,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/jsmods/scene_js.c:414,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/jsmods/scene_js.c:419,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:427,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:400,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:405,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/scene_js.c:407,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:413,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/scene_js.c:413,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:428,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:431,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 434
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 434
    functionName: scenejs_get_option
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_opts_get_key_name
    - JS_FreeCString
    - scenejs_get_compositor
    - JS_NewString
    - strcmp
    - JS_IsNumber
    - JS_IsString
    - gf_filter_get_arg_str
    - stricmp
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_gpac_version
    - gf_opts_get_key
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_get_option(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:599,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/scene_js.c:601,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:600,1
    - Dst: gf_sc_reset_graphics
      Src: /src/gpac/src/jsmods/scene_js.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 609
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 609
    functionName: scenejs_set_3d
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_sc_reset_graphics
    - JS_ToBool
    - GF_JS_EXCEPTION
    - scenejs_get_compositor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_3d(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1102,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1141,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/scene_js.c:1047,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1078,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1142,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:1089,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1111,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1134,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1154,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1143,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1099,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:1062,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1076,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1081,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1138,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1040,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1117,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1140,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/scene_js.c:1144,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1075,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1083,1
    - Dst: sscanf
      Src: /src/gpac/src/jsmods/scene_js.c:1093,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1136,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1151,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:1053,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/scene_js.c:1065,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1078,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1084,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1086,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1134,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1152,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1050,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1085,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1087,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/jsmods/scene_js.c:1131,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1038,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1073,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1140,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1075,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/scene_js.c:1070,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:1088,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1145,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/scene_js.c:1136,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1151,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1035,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1146,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1148,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1152,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1155,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/scene_js.c:1090,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1147,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1149,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1091,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1036,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1037,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/scene_js.c:1066,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1150,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1041,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1048,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1083,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1145,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1141,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1146,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1084,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1086,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1142,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1154,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1155,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1143,1
    - Dst: sscanf
      Src: /src/gpac/src/jsmods/scene_js.c:1103,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1023,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1081,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1085,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/scene_js.c:1087,1
    - Dst: sscanf
      Src: /src/gpac/src/jsmods/scene_js.c:1095,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1147,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1149,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1144,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1120,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/scene_js.c:1138,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1148,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/scene_js.c:1150,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/scene_js.c:1079,1
    - Dst: sscanf
      Src: /src/gpac/src/jsmods/scene_js.c:1100,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/jsmods/scene_js.c:1114,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 181
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1159
    functionName: gjs_odm_get_quality
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewObject
    - strncmp
    - sscanf
    - JS_IsException
    - JS_NewString
    - sprintf
    - gf_filter_release_property
    - gf_filter_pid_get_info_str
    - strcmp
    - JS_NewInt32
    - JS_GetOpaque
    - strstr
    - atoi
    - JS_NewFloat64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_get_quality(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1292,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1294,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1297,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1296,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1293,1
    - Dst: gf_scene_set_service_id
      Src: /src/gpac/src/jsmods/scene_js.c:1299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1301
    functionName: gjs_odm_select_service
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_scene_set_service_id
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_select_service(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1318,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1322,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/scene_js.c:1322,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1320,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1321,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/scene_js.c:1325,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/scene_js.c:1328,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/scene_js.c:1329,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1333
    functionName: gjs_odm_get_resource
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue gjs_odm_get_resource(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/scene_js.c:1639,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/jsmods/scene_js.c:1643,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/scene_js.c:1642,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1640,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/scene_js.c:1647,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/scene_js.c:1648,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/scene_js.c:1649,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/jsmods/scene_js.c:1650,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/scene_js.c:1652,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/jsmods/scene_js.c:1653,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/scene_js.c:1655,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/scene_js.c:1656,1
    - Dst: gf_sg_js_get_node
      Src: /src/gpac/src/jsmods/scene_js.c:1657,1
    - Dst: gf_sc_focus_switch_ring
      Src: /src/gpac/src/jsmods/scene_js.c:1659,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/scene_js.c:1658,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1662
    functionName: scenejs_set_focus
    functionSourceFile: /src/gpac/src/jsmods/scene_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_sc_focus_switch_ring
    - JS_IsNull
    - scenejs_get_compositor
    - JS_IsString
    - JS_IsObject
    - stricmp
    - GF_JS_EXCEPTION
    - gf_sg_js_get_node
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue scenejs_set_focus(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/storage.c:43,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/storage.c:47,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/storage.c:46,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/jsmods/storage.c:52,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/storage.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: storage_finalize
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_cfg_del
    - JS_GetOpaque
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void storage_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:70,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:71,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/storage.c:74,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:82,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:83,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:68,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:71,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/storage.c:71,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:94,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/storage.c:76,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/storage.c:66,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:70,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:75,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/jsmods/storage.c:80,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/jsmods/storage.c:87,1
    - Dst: gf_cfg_get_key_name
      Src: /src/gpac/src/jsmods/storage.c:89,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:95,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/storage.c:98,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:67,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:73,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/storage.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 101
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 101
    functionName: js_storage_get_option
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewString
    - strcmp
    - gf_cfg_get_key_name
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_IsString
    - gf_cfg_get_key
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_storage_get_option(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/storage.c:133,1
    - Dst: gf_cfg_save
      Src: /src/gpac/src/jsmods/storage.c:135,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: js_storage_save
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_cfg_save
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_storage_save(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/jsmods/storage.c:162,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/jsmods/storage.c:185,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/storage.c:192,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/storage.c:193,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/storage.c:194,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:155,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/storage.c:162,1
    - Dst: strcat
      Src: /src/gpac/src/jsmods/storage.c:165,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:190,1
    - Dst: gf_cfg_force_new
      Src: /src/gpac/src/jsmods/storage.c:183,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:158,1
    - Dst: strcat
      Src: /src/gpac/src/jsmods/storage.c:167,1
    - Dst: gf_cfg_get_filename
      Src: /src/gpac/src/jsmods/storage.c:172,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/storage.c:174,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/storage.c:186,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:156,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/storage.c:164,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/storage.c:169,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/storage.c:171,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/jsmods/storage.c:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 196
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 196
    functionName: storage_constructor
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - JS_IsException
    - gf_cfg_force_new
    - strstr
    - GF_JS_EXCEPTION
    - JS_ToCString
    - gf_list_count
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_sha1_csum
    - gf_list_get
    - JS_FreeCString
    - gf_cfg_set_key
    - sprintf
    - JS_IsString
    - gf_opts_get_key
    - strcat
    - gf_cfg_get_filename
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue storage_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/storage.c:106,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:108,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:110,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:110,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:107,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:111,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/storage.c:111,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:113,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/storage.c:114,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:115,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/storage.c:120,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:126,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:121,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:127,1
    - Dst: gf_cfg_set_key
      Src: /src/gpac/src/jsmods/storage.c:123,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/storage.c:118,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/storage.c:125,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/storage.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: js_storage_set_option
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_cfg_set_key
    - strcmp
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_storage_set_option(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/storage.c:201,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/storage.c:202,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/storage.c:204,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/storage.c:202,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/storage.c:205,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/storage.c:208,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/storage.c:209,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/storage.c:209,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/storage.c:210,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/storage.c:212,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/storage.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - c
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: js_storage_init
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - JS_NewCFunction2
    - JS_NewObjectClass
    - countof
    - JS_NewClass
    - gf_list_new
    - gf_assert
    - JS_SetModuleExport
    - JS_GetRuntime
    linkageType: ''
    returnType: int
    signature: 'static int js_storage_init(JSContext *c, JSModuleDef *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/storage.c:221,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/storage.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: qjs_module_init_storage
    functionSourceFile: /src/gpac/src/jsmods/storage.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExport
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_storage(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:455,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:456,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:458,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/jsmods/core.c:458,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:456,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:459,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/jsmods/core.c:459,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 460
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - JS_NewInt32
    - gf_bs_read_int
    - JS_NewInt64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); return JS_NewFloat64(ctx,
      gf_bs_read_double(bs) ); }static JSValue js_bs_get_bits(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: js_bs_put_u32
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u32(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: js_bs_put_s32
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_s32(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2370,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/jsmods/core.c:2371,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2373,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/jsmods/core.c:2373,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2374
    functionName: js_pcmfmt_depth
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - jsf_ToProp_ex
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_pcmfmt_depth(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2750,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:2753,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2757,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2758,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2760,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2760,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2762,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2763,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2761,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2761,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:2754,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2771,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:2803,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2762,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2751,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:2755,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/core.c:2769,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2772,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2800,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2748,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:2756,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:2765,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:2798,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:2799,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2805
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2805
    functionName: amix_constructor
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_malloc
    - JS_FreeCString
    - JS_IsException
    - js_throw_err
    - strcmp
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_free
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue amix_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: js_bs_put_u32_le
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u32_le(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: js_bs_put_u64
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u64(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:656,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:658,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:657,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:658,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:657,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/jsmods/core.c:660,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/jsmods/core.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: js_bs_put_bits
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - gf_bs_write_long_int
    - gf_bs_write_int
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_bits(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:712,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:714,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:715,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:713,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:713,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/jsmods/core.c:716,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 719
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 719
    functionName: js_bs_put_string
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_bs_write_utf8
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_string(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1178,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1180,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1180,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1181,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1182,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1182,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1183,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1183,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1184,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1184,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1181,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1165,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1174,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1176,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1185,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1185,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1163,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1187,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1159,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1160,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - cbck
    - file_name
    - file_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1190
    functionName: js_enum_dir_fct
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_SetPropertyUint32
    - JS_NewObject
    - JS_NewString
    - JS_NewInt64
    - strchr
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: Bool
    signature: 'static Bool js_enum_dir_fct(void *cbck, char *file_name, char *file_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_RunGC
      Src: /src/gpac/src/jsmods/core.c:1380,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1382
    functionName: js_sys_gc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetRuntime
    - JS_RunGC
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_gc(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/jsmods/core.c:1413,1
    - Dst: gf_rand
      Src: /src/gpac/src/jsmods/core.c:1415,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1417
    functionName: js_sys_rand64
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_rand
    - JS_NewInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rand64(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3153,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3154,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3156,1
    - Dst: gf_fputs
      Src: /src/gpac/src/jsmods/core.c:3158,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3157,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3161
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3161
    functionName: js_file_puts
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_fputs
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_puts(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:669,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:670,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/jsmods/core.c:671,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: js_bs_put_float
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_bs_write_float
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_float(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 734
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 734
    functionName: js_bs_get_content
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_get_content(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:1221,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1232,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1238,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:1244,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:1252,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1254,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:1204,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:1208,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:1219,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:1233,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1269,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1265,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1260,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1202,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1206,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1211,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1212,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/core.c:1216,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:1218,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1227,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/jsmods/core.c:1259,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/jsmods/core.c:1264,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1268,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1207,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1203,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1217,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1227,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/jsmods/core.c:1235,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:1223,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1236,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1237,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1243,1
    - Dst: scenejs_get_compositor
      Src: /src/gpac/src/jsmods/core.c:1249,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1270,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 97
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1272
    functionName: js_sys_enum_directory
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - JS_FreeCString
    - JS_ToBool
    - gf_url_concatenate
    - JS_NewArray
    - scenejs_get_compositor
    - JS_IsException
    - strcmp
    - JS_IsString
    - JS_IsBool
    - gf_enum_directory
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_enum_directory(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1386,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/jsmods/core.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1387
    functionName: js_sys_clock
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_clock(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1422,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1426,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1424,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1423,1
    - Dst: getenv
      Src: /src/gpac/src/jsmods/core.c:1425,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1428
    functionName: js_sys_getenv
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewString
    - getenv
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_getenv(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3008,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3009,1
    - Dst: gf_ftell
      Src: /src/gpac/src/jsmods/core.c:3013,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:3015,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3013,1
    - Dst: gf_feof
      Src: /src/gpac/src/jsmods/core.c:3015,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:3017,1
    - Dst: gf_ferror
      Src: /src/gpac/src/jsmods/core.c:3017,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3019,1
    - Dst: gf_fsize
      Src: /src/gpac/src/jsmods/core.c:3019,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/jsmods/core.c:3021,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:3021,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3024
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3024
    functionName: js_file_prop_get
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - gf_fsize
    - JS_NewInt64
    - gf_ferror
    - gf_ftell
    - JS_GetOpaque
    - gf_fileio_check
    - gf_feof
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3166,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:3169,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3171,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3167,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3170,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3173,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3175,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3175,1
    - Dst: gf_fputc
      Src: /src/gpac/src/jsmods/core.c:3177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3179
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3179
    functionName: js_file_putc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - JS_IsString
    - gf_fputc
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_putc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/jsmods/core.c:95,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/core.c:100,1
    - Dst: JS_FreeContext
      Src: /src/gpac/src/jsmods/core.c:99,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/jsmods/core.c:97,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/core.c:98,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/jsmods/core.c:101,1
    - Dst: JS_RunGC
      Src: /src/gpac/src/jsmods/core.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: gf_js_delete_context
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_js_call_gc
    - gf_mx_p
    - gf_mx_v
    - gf_list_del_item
    - JS_FreeContext
    - JS_RunGC
    linkageType: ''
    returnType: void
    signature: 'void gf_js_delete_context(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: gf_js_get_rt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSRuntime*
    signature: 'JSRuntime *gf_js_get_rt() '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:576,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:576,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/jsmods/core.c:578,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/jsmods/core.c:590,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:594,1
    - Dst: gf_bs_write_u64_le
      Src: /src/gpac/src/jsmods/core.c:598,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:617,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:621,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:625,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:645,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:657,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:658,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:658,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:670,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:670,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:705,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:714,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:649,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:574,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:574,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:585,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/jsmods/core.c:589,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/jsmods/core.c:593,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:586,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/jsmods/core.c:597,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/jsmods/core.c:599,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/jsmods/core.c:662,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:678,1
    - Dst: js_bs_data_io
      Src: /src/gpac/src/jsmods/core.c:685,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:699,1
    - Dst: GF_4CC
      Src: /src/gpac/src/jsmods/core.c:703,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/jsmods/core.c:680,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:669,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:704,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/jsmods/core.c:716,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:641,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:657,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:697,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:715,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:656,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:563,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/jsmods/core.c:564,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/jsmods/core.c:592,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:596,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:605,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:609,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:613,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:629,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:633,1
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:637,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:700,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:701,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:717,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:698,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:713,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/jsmods/core.c:660,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/jsmods/core.c:671,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:731,1
    - Dst: js_bs_data_io
      Src: /src/gpac/src/jsmods/core.c:689,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:573,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:564,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:578,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/jsmods/core.c:588,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:586,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/jsmods/core.c:591,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/jsmods/core.c:595,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:679,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:679,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:696,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:697,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:713,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:712,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 134
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 736
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - strlen
    - JS_NewArrayBuffer
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_write_long_int
    - gf_bs_peek_bits
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - gf_bs_write_double
    - GF_4CC
    - gf_bs_write_u32_le
    - JS_NewInt32
    - gf_bs_write_u16_le
    - gf_bs_write_utf8
    - gf_bs_write_u64_le
    - js_bs_data_io
    - gf_bs_write_int
    - gf_bs_write_u64
    - JS_FreeCString
    - gf_bs_write_u16
    - gf_bs_write_u32
    - JS_IsString
    - gf_bs_write_u8
    - gf_bs_write_float
    - JS_ToFloat64
    - JS_ToBool
    - JS_ToInt64
    - js_bs_put_val
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); gf_bs_truncate(bs);
      return JS_UNDEFINED; }static JSValue js_bs_flush(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: js_bs_put_u16
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u16(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: js_bs_put_s16
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_s16(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1403,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/jsmods/core.c:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1406
    functionName: js_sys_rand_init
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_rand_init
    - JS_ToBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rand_init(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2328,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/jsmods/core.c:2329,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2331,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2331,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2330,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2332,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2332,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/jsmods/core.c:2334,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2335,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2337
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2337
    functionName: js_pixfmt_size
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    - JS_NewInt32
    - jsf_ToProp_ex
    - js_throw_err_msg
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_pixfmt_size(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2350,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/jsmods/core.c:2351,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:2354,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/jsmods/core.c:2354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2355
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2355
    functionName: js_pixfmt_transparent
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_is_transparent
    - GF_JS_EXCEPTION
    - jsf_ToProp_ex
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_pixfmt_transparent(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:207,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:222,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/jsmods/core.c:225,1
    - Dst: gf_sys_format_help
      Src: /src/gpac/src/jsmods/core.c:227,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:209,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:249,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/core.c:192,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:194,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:196,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:216,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:221,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:232,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:241,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:244,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/core.c:185,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:195,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:203,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:229,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:214,1
    - Dst: js_dump_error_exc
      Src: /src/gpac/src/jsmods/core.c:237,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:254,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:193,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:194,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:199,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:234,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:251,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - ltool
    - error_type
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 256
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 256
    functionName: js_print_ex
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - strlen
    - gf_sys_format_help
    - JS_IsNull
    - JS_FreeCString
    - JS_IsException
    - fprintf
    - GF_LOG
    - JS_IsUndefined
    - JS_IsNumber
    - js_dump_error_exc
    - JS_GetGlobalObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_print_ex(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, u32 ltool, u32 error_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: js_bs_put_u16_le
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u16_le(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: js_bs_put_u24
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u24(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1409,1
    - Dst: gf_rand
      Src: /src/gpac/src/jsmods/core.c:1409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1410
    functionName: js_sys_rand
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - gf_rand
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rand(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2342,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2345,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/jsmods/core.c:2345,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2344,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/jsmods/core.c:2343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2346
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2346
    functionName: js_pixfmt_depth
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_pixel_is_wide_depth
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - jsf_ToProp_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_pixfmt_depth(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2360,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/jsmods/core.c:2361,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:2364,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/jsmods/core.c:2364,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2365
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2365
    functionName: js_pixfmt_yuv
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_is_yuv
    - GF_JS_EXCEPTION
    - jsf_ToProp_ex
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_pixfmt_yuv(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 2714
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2714
    functionName: amix_get_dbl
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Double
    signature: 'static Double amix_get_dbl(u8 *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3284,1
    - Dst: gf_fclose
      Src: /src/gpac/src/jsmods/core.c:3286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3287
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3287
    functionName: js_fileio_finalize
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'static void js_fileio_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3664,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3666,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3668,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3671,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3671,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3678,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3690,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3693,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3698,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3700,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3703,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/jsmods/core.c:3722,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3716,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3728,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:3691,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3711,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3708,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3663,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3668,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3674,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3671,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3674,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3682,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3682,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3694,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/core.c:3696,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:3704,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3709,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3715,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3730,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3727,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3705,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3714,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3710,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3733,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:3664,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3668,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3675,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3675,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3680,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3680,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3682,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3684,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3684,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3687,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3713,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3725,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3726,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3699,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:3689,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3717,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3666,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3666,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3670,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3675,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3670,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/core.c:3678,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:3678,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3680,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3684,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3686,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3712,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:3723,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3732,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 118
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3735
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3735
    functionName: fileio_constructor
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_url_concatenate
    - JS_FreeCString
    - JS_IsNull
    - JS_IsFunction
    - JS_IsException
    - js_throw_err
    - gf_fileio_new
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - JS_IsString
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - GF_JS_EXCEPTION
    - jsf_get_script_filename
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue fileio_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:678,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/jsmods/core.c:680,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:679,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 682
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 682
    functionName: js_bs_put_double
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    - gf_bs_write_double
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_double(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: js_sys_file_del
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_del(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2231,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2235,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/core.c:2238,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2236,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:2237,1
    - Dst: gf_base16_decode
      Src: /src/gpac/src/jsmods/core.c:2242,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/jsmods/core.c:2245,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2248,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:2252,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2253,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/core.c:2255,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:2269,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/jsmods/core.c:2262,1
    - Dst: gf_base16_encode
      Src: /src/gpac/src/jsmods/core.c:2259,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2272,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2273,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2267,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_dec
    - is_16
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2276
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2276
    functionName: js_sys_basecode_ex
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_malloc
    - gf_base16_decode
    - strlen
    - JS_FreeCString
    - gf_base64_encode
    - JS_NewArrayBuffer
    - JS_NewString
    - js_throw_err
    - JS_GetArrayBuffer
    - gf_free
    - gf_base16_encode
    - gf_base64_decode
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_basecode_ex(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, Bool is_dec, Bool is_16) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_data_io
      Src: /src/gpac/src/jsmods/core.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: js_bs_put_data
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_data_io
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_data(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1365,1
    - Dst: gf_dom_event_type_by_name
      Src: /src/gpac/src/jsmods/core.c:1368,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1367,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1368,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1366,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1369,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1375
    functionName: js_sys_evt_by_name
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewInt32
    - js_throw_err
    - gf_dom_event_type_by_name
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_evt_by_name(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2170
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2170
    functionName: js_sys_file_modtime
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_modtime(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_basecode_ex
      Src: /src/gpac/src/jsmods/core.c:2279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2280
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2280
    functionName: js_sys_base64enc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_basecode_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_base64enc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AddIntrinsicBigFloat
      Src: /src/gpac/src/jsmods/core.c:3861,1
    - Dst: JS_AddIntrinsicOperators
      Src: /src/gpac/src/jsmods/core.c:3863,1
    - Dst: JS_AddIntrinsicBigDecimal
      Src: /src/gpac/src/jsmods/core.c:3862,1
    - Dst: JS_EnableBignumExt
      Src: /src/gpac/src/jsmods/core.c:3864,1
    - Dst: js_init_module_std
      Src: /src/gpac/src/jsmods/core.c:3868,1
    - Dst: js_init_module_os
      Src: /src/gpac/src/jsmods/core.c:3869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 3870
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3870
    functionName: qjs_module_init_qjs_libc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_EnableBignumExt
    - JS_AddIntrinsicBigFloat
    - JS_AddIntrinsicOperators
    - js_init_module_os
    - js_init_module_std
    - JS_AddIntrinsicBigDecimal
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_qjs_libc(JSContext *ctx) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3513,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3534,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3621,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/jsmods/core.c:3637,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:3578,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3559,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3634,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/jsmods/core.c:3615,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3580,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3600,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3487,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3516,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3633,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/jsmods/core.c:3613,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3645,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3622,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3609,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3491,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/core.c:3497,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3471,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3482,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3485,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3508,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3537,1
    - Dst: strnicmp
      Src: /src/gpac/src/jsmods/core.c:3612,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/jsmods/core.c:3480,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3541,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:3615,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3625,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3631,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3499,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3489,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:3576,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/jsmods/core.c:3579,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:3478,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/jsmods/core.c:3555,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/core.c:3571,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:3601,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3475,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3535,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3602,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3593,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3630,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/jsmods/core.c:3558,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3649,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3620,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3468,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:3480,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3506,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3509,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3623,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3635,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3548,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3562,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3644,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3651,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:3590,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3604,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3606,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/jsmods/core.c:3483,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3569,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3639,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3519,1
    - Dst: js_fileio_factory_delete
      Src: /src/gpac/src/jsmods/core.c:3553,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3629,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3538,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3642,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:3484,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3505,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3503,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3556,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3492,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:3507,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/jsmods/core.c:3648,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:3637,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/jsmods/core.c:3582,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3504,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3524,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3547,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 171
    argCount: 4
    argNames:
    - fileio_ref
    - url
    - mode
    - out_err
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3653
    functionName: jsfio_open
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fileio_translate_url
    - gf_js_lock
    - JS_IsException
    - gf_fileio_get_udta
    - GF_SAFEALLOC
    - JS_ToInt32
    - gf_list_count
    - strcmp
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_fileio_del
    - JS_Call
    - gf_list_del_item
    - gf_list_get
    - JS_NewString
    - gf_fileio_new
    - JS_IsUndefined
    - gf_free
    - strnicmp
    - gf_url_concatenate
    - JS_FreeValue
    - JS_ToBool
    - js_fileio_factory_delete
    - gf_fileio_resource_url
    - JS_IsBool
    - gf_list_rem
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *jsfio_open(GF_FileIO *fileio_ref, const char *url,
      const char *mode, GF_Err *out_err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: js_bs_put_u8
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u8(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/jsmods/core.c:969,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:978,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:974,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:982,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:986,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:994,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:996,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1009,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1000,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/jsmods/core.c:1008,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1024,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/jsmods/core.c:1090,1
    - Dst: getenv
      Src: /src/gpac/src/jsmods/core.c:1045,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1102,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/jsmods/core.c:1061,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1033,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1038,1
    - Dst: getenv
      Src: /src/gpac/src/jsmods/core.c:1048,1
    - Dst: getenv
      Src: /src/gpac/src/jsmods/core.c:1053,1
    - Dst: gf_log_use_color
      Src: /src/gpac/src/jsmods/core.c:1066,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1069,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1077,1
    - Dst: gf_sys_is_quiet
      Src: /src/gpac/src/jsmods/core.c:1069,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1080,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1084,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1104,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/jsmods/core.c:1051,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1097,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:990,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/jsmods/core.c:1083,1
    - Dst: gf_net_get_timezone
      Src: /src/gpac/src/jsmods/core.c:1077,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:976,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:980,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:984,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:988,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:998,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:992,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1014,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/jsmods/core.c:1018,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1019,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/jsmods/core.c:1023,1
    - Dst: gf_sk_get_host_name
      Src: /src/gpac/src/jsmods/core.c:1037,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1066,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/src/jsmods/core.c:1099,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1099,1
    - Dst: gf_file_handles_count
      Src: /src/gpac/src/jsmods/core.c:1080,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:972,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/jsmods/core.c:1013,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1056,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1059,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1061,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1064,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1074,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1091,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/jsmods/core.c:1097,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1029,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1106,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1095,1
    - Dst: gf_sys_get_battery_state
      Src: /src/gpac/src/jsmods/core.c:1028,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/jsmods/core.c:1059,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/jsmods/core.c:1043,1
    - Dst: gf_get_user_name
      Src: /src/gpac/src/jsmods/core.c:1073,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 93
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1110
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1110
    functionName: js_sys_prop_get
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_gpac_version
    - JS_NewBool
    - JS_NewInt32
    - JS_NewInt64
    - gf_sk_get_host_name
    - gf_get_default_cache_directory
    - getenv
    - JS_NewString
    - gf_get_user_name
    - gf_sys_get_battery_state
    - gf_sys_is_test_mode
    - gf_net_get_timezone
    - gf_sys_old_arch_compat
    - gf_gpac_copyright
    - gf_opts_get_key
    - gf_file_handles_count
    - gf_sys_get_rti
    - gf_log_use_color
    - gf_sys_is_quiet
    - gf_opts_default_shared_directory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1278,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1280,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1279,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1281,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/core.c:1281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: js_sys_error_string
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - JS_NewString
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_error_string(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1390,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/jsmods/core.c:1390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    functionName: js_sys_clock_high_res
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt64
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_clock_high_res(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_rect_union_ex
      Src: /src/gpac/src/jsmods/core.c:1747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1748
    functionName: js_sys_rect_union
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_rect_union_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rect_union(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2174
    functionName: js_sys_file_move
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_move(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2199,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2202,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2201,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2200,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2204,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2205,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2209,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/jsmods/core.c:2211,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2213,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2214,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2218
    functionName: js_sys_set_opt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_opts_set_key
    - JS_FreeCString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_set_opt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2937,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2941,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2945,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:2943,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/jsmods/core.c:2939,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:2946,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/jsmods/core.c:2947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2950
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2950
    functionName: js_sha1_push
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sha1_update
    - js_throw_err
    - JS_GetArrayBuffer
    - JS_SetOpaque
    - JS_GetOpaque
    - gf_sha1_starts
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sha1_push(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:585,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/jsmods/core.c:589,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/jsmods/core.c:588,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:586,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:586,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/jsmods/core.c:590,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/jsmods/core.c:591,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/jsmods/core.c:592,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/jsmods/core.c:593,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:594,1
    - Dst: gf_bs_write_u64_le
      Src: /src/gpac/src/jsmods/core.c:598,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:596,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/jsmods/core.c:597,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/jsmods/core.c:599,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/jsmods/core.c:595,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - mode
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: js_bs_put_val
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_bs_write_u64
    - JS_ToInt64
    - gf_bs_write_u16
    - gf_bs_write_u32_le
    - gf_bs_write_u16_le
    - gf_bs_write_u32
    - gf_bs_write_u64_le
    - gf_bs_write_u8
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_val(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, u32 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: js_bs_put_s8
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_s8(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1117,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1118,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1120,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1117,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/jsmods/core.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1124
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1124
    functionName: js_sys_prop_set
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_opts_set_key
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_prompt_has_input
      Src: /src/gpac/src/jsmods/core.c:1288,1
    - Dst: gf_prompt_get_char
      Src: /src/gpac/src/jsmods/core.c:1290,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1293
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1293
    functionName: js_sys_prompt_input
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_prompt_has_input
    - JS_NewString
    - gf_prompt_get_char
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prompt_input(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1395,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1396,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/core.c:1397,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1397,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:1396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1398
    functionName: js_sys_4cc_to_str
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - GF_JS_EXCEPTION
    - JS_ToInt64
    - gf_4cc_to_str
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_4cc_to_str(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_rect_union_ex
      Src: /src/gpac/src/jsmods/core.c:1751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1752
    functionName: js_sys_rect_intersect
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_rect_union_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rect_intersect(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2181,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2186,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2184,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2183,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2182,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2187,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/jsmods/core.c:2189,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2190,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2191,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2194
    functionName: js_sys_get_opt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewString
    - GF_JS_EXCEPTION
    - gf_opts_get_key
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_get_opt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_discard_changes
      Src: /src/gpac/src/jsmods/core.c:2221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2223
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2223
    functionName: js_sys_discard_opts
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_opts_discard_changes
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_discard_opts(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2954,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/jsmods/core.c:2958,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2955,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:2957,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/jsmods/core.c:2956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2959
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2959
    functionName: js_sha1_get
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBufferCopy
    - gf_sha1_finish
    - JS_SetOpaque
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sha1_get(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3042,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3043,1
    - Dst: gf_fflush
      Src: /src/gpac/src/jsmods/core.c:3044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3046
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3046
    functionName: js_file_flush
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_fflush
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_flush(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1522,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1523,1
    - Dst: exit
      Src: /src/gpac/src/jsmods/core.c:1525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1527
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1527
    functionName: js_sys_exit
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - exit
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_exit(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2150
    functionName: js_sys_dir_clean
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_dir_clean(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2158
    functionName: js_sys_file_ext
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_ext(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2923,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2926
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2926
    functionName: js_sha1_finalize
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void js_sha1_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qjs_module_init_gpaccore
      Src: /src/gpac/src/jsmods/core.c:3877,1
    - Dst: qjs_module_init_evg
      Src: /src/gpac/src/jsmods/core.c:3891,1
    - Dst: qjs_module_init_qjs_libc
      Src: /src/gpac/src/jsmods/core.c:3880,1
    - Dst: qjs_module_init_scenejs
      Src: /src/gpac/src/jsmods/core.c:3886,1
    - Dst: qjs_module_init_xhr
      Src: /src/gpac/src/jsmods/core.c:3889,1
    - Dst: qjs_module_init_storage
      Src: /src/gpac/src/jsmods/core.c:3892,1
    - Dst: qjs_module_init_webgl
      Src: /src/gpac/src/jsmods/core.c:3895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - no_webgl
    - for_vrml
    argTypes:
    - JSContext*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 3896
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3896
    functionName: qjs_init_all_modules
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - qjs_module_init_gpaccore
    - qjs_module_init_evg
    - qjs_module_init_scenejs
    - qjs_module_init_storage
    - qjs_module_init_qjs_libc
    - qjs_module_init_xhr
    - qjs_module_init_webgl
    linkageType: ''
    returnType: void
    signature: 'void qjs_init_all_modules(JSContext *ctx, Bool no_webgl, Bool for_vrml) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1353,1
    - Dst: gf_dom_get_friendly_name
      Src: /src/gpac/src/jsmods/core.c:1354,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1353,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:1356,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1358
    functionName: js_sys_keyname
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - js_throw_err
    - gf_dom_get_friendly_name
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_keyname(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1533,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1538,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/jsmods/core.c:1538,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1534,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1536,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1539,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1541,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1543,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1544,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1545,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/jsmods/core.c:1545,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1548
    functionName: js_sys_crc32
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - JS_FreeCString
    - gf_crc_32
    - JS_NewInt32
    - JS_GetArrayBuffer
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_crc32(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2154
    functionName: js_sys_basename
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_basename(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2162
    functionName: js_sys_file_exists
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_exists(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3121,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3122,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3126,1
    - Dst: gf_fgetc
      Src: /src/gpac/src/jsmods/core.c:3124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3127
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3127
    functionName: js_file_getc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewString
    - GF_JS_EXCEPTION
    - gf_fgetc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_getc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1691,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1692,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1693,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1696,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:1694,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1697,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1699,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1701,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1704
    functionName: js_sys_url_cat
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_url_concatenate
    - JS_FreeCString
    - JS_NewString
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_url_cat(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2987,1
    - Dst: gf_fclose
      Src: /src/gpac/src/jsmods/core.c:2989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2990
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2990
    functionName: js_file_finalize
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'static void js_file_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3438,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3444,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3442,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:3443,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3441,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 3447
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3447
    functionName: jsfio_tell
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToInt64
    - gf_js_lock
    - gf_fileio_get_udta
    - JS_Call
    linkageType: ''
    returnType: s64
    signature: 'static s64 jsfio_tell(GF_FileIO *fileio) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qjs_module_loader_dyn_lib
      Src: /src/gpac/src/jsmods/core.c:3977,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/jsmods/core.c:3988,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/jsmods/core.c:3999,1
    - Dst: JS_Eval
      Src: /src/gpac/src/jsmods/core.c:4003,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/core.c:3999,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:4005,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:4011,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3975,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/jsmods/core.c:3979,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/jsmods/core.c:4010,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3996,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/jsmods/core.c:3973,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3975,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/jsmods/core.c:3991,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/jsmods/core.c:3992,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:4004,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/core.c:3975,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:3989,1
    - Dst: js_module_set_import_meta
      Src: /src/gpac/src/jsmods/core.c:4008,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - module_name
    - opaque
    argTypes:
    - JSContext*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4014
      start: 3970
    functionDepth: 0
    functionLinenumber: 3970
    functionLinenumberEnd: 4014
    functionName: qjs_module_loader
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - JS_FreeValue
    - gf_file_load_data
    - gf_error_to_string
    - qjs_module_loader_dyn_lib
    - gf_file_ext_start
    - strcmp
    - JS_Eval
    - JS_IsException
    - js_module_set_import_meta
    - JS_VALUE_GET_PTR
    - gf_free
    - JS_ThrowReferenceError
    - jsf_get_script_filename
    - gf_file_exists
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *qjs_module_loader(JSContext *ctx, const char *module_name,
      void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/jsmods/core.c:3333,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3335,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3342,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3344,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3352,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3346,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3348,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/jsmods/core.c:3334,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/core.c:3337,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3339,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3340,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3341,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3343,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3345,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3353,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3347,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:3332,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3355,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/jsmods/core.c:3354,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - iofac
    - ioctx_deleted
    argTypes:
    - JSContext*
    - JSFileIOFactoryCtx*
    - JSFileIOCtx*
    constantsTouched: []
    func_position:
      end: 3358
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3358
    functionName: js_fileio_factory_delete
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_list_del
    - gf_list_count
    - JS_SetOpaque
    - gf_fileio_del
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void js_fileio_factory_delete(JSContext *ctx, JSFileIOFactoryCtx
      *iofac, JSFileIOCtx *ioctx_deleted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1725,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1722,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1723,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1724,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1726,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1727,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1728,1
    - Dst: gf_rect_union
      Src: /src/gpac/src/jsmods/core.c:1736,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:1739,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1739,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1740,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/core.c:1739,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:1740,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/core.c:1742,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1713,1
    - Dst: GET_PROP
      Src: /src/gpac/src/jsmods/core.c:1729,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1738,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1741,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/core.c:1740,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:1741,1
    - Dst: gf_rect_intersect
      Src: /src/gpac/src/jsmods/core.c:1734,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/jsmods/core.c:1741,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1742,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:1742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_inter
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1744
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1744
    functionName: js_sys_rect_union_ex
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - gf_rect_union
    - GET_PROP
    - gf_rect_intersect
    - JS_NewFloat64
    - FIX2FLT
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rect_union_ex(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, Bool is_inter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3453,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3457,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3458,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3456,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3459,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3462
    functionName: jsfio_eof
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - gf_fileio_get_udta
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsfio_eof(GF_FileIO *fileio) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3135,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:3139,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3136,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3140,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3137,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3142,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3142,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/jsmods/core.c:3147,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3149
    functionName: js_file_write
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt64
    - JS_GetArrayBuffer
    - JS_GetOpaque
    - gf_fwrite
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_write(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2082,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2084,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:2097,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/jsmods/core.c:2107,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/jsmods/core.c:2115,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/jsmods/core.c:2118,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2121,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2122,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2131,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:2082,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/jsmods/core.c:2097,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2104,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2108,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2112,1
    - Dst: gf_file_move
      Src: /src/gpac/src/jsmods/core.c:2124,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2125,1
    - Dst: gf_rmdir
      Src: /src/gpac/src/jsmods/core.c:2089,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2090,1
    - Dst: gf_mkdir
      Src: /src/gpac/src/jsmods/core.c:2093,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2094,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/jsmods/core.c:2104,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2126,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2083,1
    - Dst: gf_dir_cleanup
      Src: /src/gpac/src/jsmods/core.c:2100,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/jsmods/core.c:2111,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:2115,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:2101,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:2118,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - file_opt
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 2133
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2133
    functionName: js_sys_file_opt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_dir_cleanup
    - JS_FreeCString
    - gf_file_move
    - gf_mkdir
    - JS_NewString
    - JS_NewInt64
    - js_throw_err_msg
    - gf_file_modification_time
    - gf_file_delete
    - gf_rmdir
    - JS_IsString
    - gf_dir_exists
    - gf_file_basename
    - gf_file_exists
    - GF_JS_EXCEPTION
    - gf_file_ext_start
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_opt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, u32 file_opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2142
    functionName: js_sys_mkdir
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_mkdir(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_basecode_ex
      Src: /src/gpac/src/jsmods/core.c:2291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2292
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2292
    functionName: js_sys_base16dec
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_basecode_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_base16dec(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2317,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2318,1
    - Dst: gf_htons
      Src: /src/gpac/src/jsmods/core.c:2319,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2319,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2320
    functionName: js_sys_htons
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_htons
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - JS_ToInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_htons(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3081,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3082,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3083,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:3084,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3084,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3085,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3085,1
    - Dst: gf_fseek
      Src: /src/gpac/src/jsmods/core.c:3087,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:3088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3089
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3089
    functionName: js_file_seek
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - JS_NewInt32
    - JS_GetOpaque
    - gf_fseek
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_seek(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3305,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/jsmods/core.c:3310,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3310,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3312,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3306,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/jsmods/core.c:3312,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:3314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3317
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3317
    functionName: js_fileio_prop_get
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - gf_fileio_resource_url
    - JS_GetOpaque
    - JS_DupValue
    - GF_JS_EXCEPTION
    - gf_fileio_url
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_fileio_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3404,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3409,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:3408,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3407,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3410,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3411,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3412,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3415
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3415
    functionName: jsfio_read
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - JS_FreeValue
    - gf_js_lock
    - gf_fileio_get_udta
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: u32
    signature: 'static u32 jsfio_read(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:744,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:749,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/jsmods/core.c:751,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:746,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:747,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 754
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 754
    functionName: js_bs_transfer
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_transfer
    - JS_ToBool
    - js_throw_err
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_transfer(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2138
    functionName: js_sys_rmdir
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_rmdir(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_file_opt
      Src: /src/gpac/src/jsmods/core.c:2145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: js_sys_dir_exists
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_file_opt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_dir_exists(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2296,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2298,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2297,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2297,1
    - Dst: gf_ntohl
      Src: /src/gpac/src/jsmods/core.c:2298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2299
    functionName: js_sys_ntohl
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_ntohl
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - JS_ToInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_ntohl(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3096,1
    - Dst: gf_fgets
      Src: /src/gpac/src/jsmods/core.c:3103,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3097,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3106,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/core.c:3105,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:3107,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3113,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3116
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3116
    functionName: js_file_gets
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_fgets
    - js_throw_err
    - JS_NewString
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_gets(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3328
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3328
    functionName: js_fileio_protect
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_fileio_protect(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3362,1
    - Dst: js_fileio_factory_delete
      Src: /src/gpac/src/jsmods/core.c:3369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3372
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3372
    functionName: js_fileio_destroy
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_fileio_factory_delete
    - JS_GetOpaque
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_fileio_destroy(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3386,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3390,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3393,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3394,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3392,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3395,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3396,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - fileio
    - offset
    - whence
    argTypes:
    - GF_FileIO*
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 3399
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3399
    functionName: jsfio_seek
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - gf_fileio_get_udta
    - JS_NewInt64
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfio_seek(GF_FileIO *fileio, u64 offset, s32 whence) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/jsmods/core.c:3420,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/core.c:3426,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:3425,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3424,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3427,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3428,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:3429,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:3430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3432
      start: 3416
    functionDepth: 0
    functionLinenumber: 3416
    functionLinenumberEnd: 3432
    functionName: jsfio_write
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - JS_FreeValue
    - gf_js_lock
    - gf_fileio_get_udta
    - JS_Call
    - JS_ToInt32
    linkageType: ''
    returnType: u32
    signature: 'static u32 jsfio_write(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/jsmods/core.c:114,1
    - Dst: JS_FreeRuntime
      Src: /src/gpac/src/jsmods/core.c:119,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/core.c:120,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/jsmods/core.c:121,1
    - Dst: qjs_uninit_runtime_libc
      Src: /src/gpac/src/jsmods/core.c:118,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: gf_js_delete_runtime
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeRuntime
    - gf_list_del
    - gf_opts_get_bool
    - gf_mx_del
    - qjs_uninit_runtime_libc
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_js_delete_runtime() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:485,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:489,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:487,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:489,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:487,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:494,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/jsmods/core.c:500,1
    - Dst: gf_bs_insert_data
      Src: /src/gpac/src/jsmods/core.c:502,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:503,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/jsmods/core.c:506,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:508,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 509
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - gf_bs_insert_data
    - gf_bs_write_data
    - JS_NewInt32
    - js_throw_err
    - JS_GetArrayBuffer
    - gf_bs_read_data
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); res = gf_bs_read_utf8(bs);
      if (!res) return JS_NULL; ret = JS_NewString(ctx, res); gf_free(res); return
      ret; }static JSValue js_bs_data_io(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv, u32 mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1301,1
    - Dst: fgets
      Src: /src/gpac/src/jsmods/core.c:1305,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:1308,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1315
    functionName: js_sys_prompt_string
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewString
    - fgets
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prompt_string(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_compress_ex
      Src: /src/gpac/src/jsmods/core.c:1678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1679
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1679
    functionName: js_sys_compress
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_compress_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_compress(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/core.c:2406,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/core.c:2412,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/core.c:2408,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/core.c:2410,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/core.c:2422,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2396,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/core.c:2402,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2403,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2423,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/core.c:2411,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2387,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2395,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:2388,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2389,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/core.c:2397,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2398,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2401,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/core.c:2405,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/core.c:2407,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/core.c:2409,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2400,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 83
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2424
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2424
    functionName: js_color_lerp
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_A
    - JS_FreeCString
    - JS_NewString
    - sprintf
    - GF_COL_R
    - gf_color_parse
    - GF_COL_G
    - GF_COL_B
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_color_lerp(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewRuntime
      Src: /src/gpac/src/jsmods/core.c:62,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/core.c:73,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:64,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:69,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:67,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/jsmods/core.c:74,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:75,1
    - Dst: qjs_init_runtime_libc
      Src: /src/gpac/src/jsmods/core.c:77,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/jsmods/core.c:81,1
    - Dst: JS_NewContext
      Src: /src/gpac/src/jsmods/core.c:83,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/core.c:85,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/core.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: gf_js_create_context
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_new
    - GF_LOG
    - gf_mx_p
    - JS_NewContext
    - qjs_init_runtime_libc
    - GF_SAFEALLOC
    - gf_mx_v
    - JS_NewRuntime
    - gf_list_new
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *gf_js_create_context() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/jsmods/core.c:874,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:887,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/jsmods/core.c:890,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/core.c:898,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:896,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:901,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:903,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/jsmods/core.c:879,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/jsmods/core.c:892,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:878,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:876,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/core.c:875,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:889,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:906,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/jsmods/core.c:905,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/core.c:912,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/jsmods/core.c:881,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:888,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/jsmods/core.c:900,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:904,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:914,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 916
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 916
    functionName: bitstream_constructor
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_bs_from_file
    - gf_bs_del
    - JS_IsException
    - js_throw_err
    - gf_bs_new
    - JS_GetArrayBuffer
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - gf_free
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue bitstream_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1320,1
    - Dst: gf_prompt_set_echo_off
      Src: /src/gpac/src/jsmods/core.c:1323,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1325
    functionName: js_sys_prompt_echo_off
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_prompt_set_echo_off
    - JS_ToBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prompt_echo_off(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_compress_ex
      Src: /src/gpac/src/jsmods/core.c:1682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: js_sys_decompress
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_compress_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_decompress(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2432,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/jsmods/core.c:2436,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:2434,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:2437,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2435,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2439,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2440,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/jsmods/core.c:2443,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/jsmods/core.c:2444,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/jsmods/core.c:2445,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:2450,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/jsmods/core.c:2446,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2451
    functionName: js_color_get_component
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - GF_COL_A
    - JS_FreeCString
    - GF_COL_R
    - gf_color_parse
    - JS_NewFloat64
    - GF_COL_G
    - GF_COL_B
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_color_get_component(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ExecutePendingJob
      Src: /src/gpac/src/jsmods/core.c:298,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/core.c:301,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: js_std_loop
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ExecutePendingJob
    - JS_GetRuntime
    - js_dump_error
    linkageType: ''
    returnType: void
    signature: 'void js_std_loop(JSContext *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:485,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:489,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:487,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:489,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetArrayBuffer
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); if (argc<1) return
      GF_JS_EXCEPTION(ctx); if (JS_IsObject(argv[0])) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:774,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:776,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/jsmods/core.c:776,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/jsmods/core.c:774,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:778,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/jsmods/core.c:778,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:780,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/jsmods/core.c:780,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:782,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/jsmods/core.c:782,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/jsmods/core.c:784,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:784,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/jsmods/core.c:788,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/jsmods/core.c:786,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:788,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:786,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 789
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_bits_available
    - gf_bs_get_position
    - gf_bs_get_refreshed_size
    - JS_NewInt32
    - JS_NewInt64
    - gf_bs_available
    - gf_bs_get_bit_offset
    - gf_bs_is_overflow
    - gf_bs_get_size
    - gf_bs_get_bit_position
    - JS_NewBool
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); switch (magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewContext
      Src: /src/gpac/src/jsmods/core.c:4020,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/jsmods/core.c:4029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:4026,1
    - Dst: js_load_constants
      Src: /src/gpac/src/jsmods/core.c:4025,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/core.c:4024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4031
      start: 4018
    functionDepth: 0
    functionLinenumber: 4018
    functionLinenumberEnd: 4031
    functionName: JS_NewWorkerContext
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_load_constants
    - JS_NewContext
    - qjs_init_all_modules
    - JS_GetGlobalObject
    linkageType: ''
    returnType: JSContext*
    signature: 'static JSContext *JS_NewWorkerContext(JSRuntime *rt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - val
    argTypes:
    - u8*
    - Double
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: amix_set_flt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void amix_set_flt(u8 *data, Double val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:527,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:528,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/jsmods/core.c:529,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: js_bs_skip_bytes
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_skip_bytes
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_skip_bytes(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:4036,1
    - Dst: js_dump_error_exc
      Src: /src/gpac/src/jsmods/core.c:4037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - promise
    - reason
    - is_handled
    - opaque
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JS_BOOL
    - void*
    constantsTouched: []
    func_position:
      end: 4039
      start: 4033
    functionDepth: 0
    functionLinenumber: 4033
    functionLinenumberEnd: 4039
    functionName: js_promise_rejection_tracker
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - js_dump_error_exc
    linkageType: ''
    returnType: void
    signature: 'void js_promise_rejection_tracker(JSContext *ctx, JSValueConst promise,
      JSValueConst reason, JS_BOOL is_handled, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1130,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1133,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1132,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/src/jsmods/core.c:1136,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1138
    functionName: js_sys_set_arg_used
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sys_mark_arg_used
    - JS_ToBool
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_set_arg_used(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetException
      Src: /src/gpac/src/jsmods/core.c:288,1
    - Dst: js_dump_error_exc
      Src: /src/gpac/src/jsmods/core.c:289,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: js_dump_error
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetException
    - js_dump_error_exc
    linkageType: ''
    returnType: void
    signature: 'void js_dump_error(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_data_io
      Src: /src/gpac/src/jsmods/core.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: js_bs_insert_data
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_data_io
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_insert_data(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1616,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1620,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1618,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1617,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1616,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/jsmods/core.c:1621,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/core.c:1622,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1623,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/jsmods/core.c:1627,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:1629,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1642,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1644,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:1632,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1639,1
    - Dst: JS_Eval
      Src: /src/gpac/src/jsmods/core.c:1634,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/jsmods/core.c:1631,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1646
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1646
    functionName: js_sys_load_script
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_url_concatenate
    - JS_ToBool
    - JS_FreeCString
    - gf_file_load_data
    - gf_utf8_is_legal
    - JS_Eval
    - js_throw_err_msg
    - JS_IsString
    - gf_free
    - GF_JS_EXCEPTION
    - jsf_get_script_filename
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_load_script(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - val
    argTypes:
    - u8*
    - Double
    constantsTouched: []
    func_position:
      end: 2718
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2718
    functionName: amix_set_dbl
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void amix_set_dbl(u8 *data, Double val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/core.c:3743,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:3743,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/core.c:3749,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:3749,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/core.c:3755,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:3758,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:3755,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3759,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3759,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:3762,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3787,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/core.c:3798,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3827,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3803,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3796,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3803,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/core.c:3745,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/core.c:3751,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/jsmods/core.c:3763,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:3767,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3802,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/core.c:3805,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3810,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3810,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/core.c:3811,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/core.c:3812,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/core.c:3804,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3816,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3820,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3817,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3817,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/core.c:3746,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:3746,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/core.c:3752,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3760,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/core.c:3752,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3789,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3796,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/core.c:3797,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3806,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3813,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/core.c:3818,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/core.c:3819,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/core.c:3826,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/core.c:3824,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3795,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3781,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3809,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/core.c:3824,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/core.c:3742,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/core.c:3748,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/core.c:3754,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:3765,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:3765,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3774,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3777,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3779,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3775,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/jsmods/core.c:3765,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3776,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3778,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3780,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3782,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3784,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3785,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3786,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3788,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/core.c:3799,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/core.c:3825,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/jsmods/core.c:3783,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 86
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 3830
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3830
    functionName: js_gpaccore_init
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewClassID
    - JS_NewArray
    - JS_SetClassProto
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - DEF_CONST
    - JS_NewCFunction2
    - JS_NewString
    - JS_NewObjectClass
    - countof
    - JS_NewClass
    - gf_sys_get_arg
    - JS_SetModuleExport
    - JS_GetRuntime
    - JS_SetPropertyStr
    - gf_sys_get_argc
    linkageType: ''
    returnType: int
    signature: 'static int js_gpaccore_init(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:573,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:576,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:574,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:576,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:574,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:578,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/jsmods/core.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: js_bs_peek
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - JS_NewInt32
    - gf_bs_peek_bits
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_peek(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:696,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:698,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:699,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:697,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:697,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:700,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:701,1
    - Dst: GF_4CC
      Src: /src/gpac/src/jsmods/core.c:703,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:704,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/jsmods/core.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 707
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 707
    functionName: js_bs_put_4cc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - JS_FreeCString
    - GF_4CC
    - gf_bs_write_u32
    - JS_IsString
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_4cc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/core.c:1658,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1659,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1663,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1660,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1658,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/jsmods/core.c:1667,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/jsmods/core.c:1669,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:1672,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1673,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_decomp
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1675
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1675
    functionName: js_sys_compress_ex
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - gf_gz_compress_payload_ex
    - JS_ToBool
    - gf_gz_decompress_payload_ex
    - js_throw_err
    - JS_GetArrayBuffer
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_compress_ex(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, Bool is_decomp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2723,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2726,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2728,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2727,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2730
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2730
    functionName: js_amix_finalize
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void js_amix_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/core.c:3836,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3839,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3840,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3841,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3842,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3843,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/core.c:3844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 3846
      start: 3833
    functionDepth: 0
    functionLinenumber: 3833
    functionLinenumberEnd: 3846
    functionName: qjs_module_init_gpaccore
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExport
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_gpaccore(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3265,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3270,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3271,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3269,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3272,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3273,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3274,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3275,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3276,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3277,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/core.c:3279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - rt
    - this_val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 3280
      start: 3263
    functionDepth: 0
    functionLinenumber: 3263
    functionLinenumberEnd: 3280
    functionName: js_fileio_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_fileio_gc_mark(JSRuntime *rt, JSValueConst this_val,
      JS_MarkFunc *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:129,1
    - Dst: JS_RunGC
      Src: /src/gpac/src/jsmods/core.c:130,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/core.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: gf_js_call_gc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_RunGC
    - gf_js_lock
    linkageType: ''
    returnType: void
    signature: 'void gf_js_call_gc(JSContext *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/jsmods/core.c:4044,1
    - Dst: JS_SetModuleLoaderFunc
      Src: /src/gpac/src/jsmods/core.c:4048,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/jsmods/core.c:4056,1
    - Dst: js_std_init_handlers
      Src: /src/gpac/src/jsmods/core.c:4053,1
    - Dst: js_std_set_worker_new_context_func
      Src: /src/gpac/src/jsmods/core.c:4052,1
    - Dst: JS_SetHostPromiseRejectionTracker
      Src: /src/gpac/src/jsmods/core.c:4057,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/jsmods/core.c:4060,1
    - Dst: js_promise_rejection_tracker
      Src: /src/gpac/src/jsmods/core.c:4061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4067
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4067
    functionName: qjs_init_runtime_libc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - js_promise_rejection_tracker
    - js_std_init_handlers
    - JS_SetModuleLoaderFunc
    - js_std_set_worker_new_context_func
    - gf_opts_get_bool
    - JS_SetHostPromiseRejectionTracker
    linkageType: ''
    returnType: void
    signature: 'static void qjs_init_runtime_libc(JSRuntime *rt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3029,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3030,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3034,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:3034,1
    - Dst: gf_fseek
      Src: /src/gpac/src/jsmods/core.c:3035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3039
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3039
    functionName: js_file_prop_set
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/jsmods/core.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: gf_js_context_is_valid
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_list_find
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_js_context_is_valid(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - opaque
    - ptr
    argTypes:
    - JSRuntime*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: js_gpac_free
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void js_gpac_free(JSRuntime *rt, void *opaque, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/jsmods/core.c:4071,1
    - Dst: js_std_free_handlers
      Src: /src/gpac/src/jsmods/core.c:4075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4078
      start: 4069
    functionDepth: 0
    functionLinenumber: 4069
    functionLinenumberEnd: 4078
    functionName: qjs_uninit_runtime_libc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - js_std_free_handlers
    linkageType: ''
    returnType: void
    signature: 'static void qjs_uninit_runtime_libc(JSRuntime *rt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1471,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:1476,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:1481,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/core.c:1470,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:1475,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1478,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:1479,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1479,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1497,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1497,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1498,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:1483,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1498,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/core.c:1474,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1474,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1473,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:1480,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:1496,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1500
    functionName: js_sys_ntp_shift
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToInt64
    - JS_IsNull
    - JS_NewObject
    - JS_IsException
    - JS_NewInt64
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_ntp_shift(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1329,1
    - Dst: gf_sys_set_console_code
      Src: /src/gpac/src/jsmods/core.c:1332,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1330,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1334
    functionName: js_sys_prompt_code
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sys_set_console_code
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prompt_code(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/jsmods/core.c:1433,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1440,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1443,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1445,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1445,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1446,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1446,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1451,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/jsmods/core.c:1438,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1439,1
    - Dst: gf_net_get_utc_ts
      Src: /src/gpac/src/jsmods/core.c:1451,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1437,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1436,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1448,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1449,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1447,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1447,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1448,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1449,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: js_sys_get_utc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_net_get_utc_ts
    - JS_ToCString
    - JS_FreeCString
    - JS_NewInt64
    - gf_net_parse_date
    - gf_net_get_utc
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_get_utc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - val
    argTypes:
    - u8*
    - Double
    constantsTouched: []
    func_position:
      end: 2681
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2681
    functionName: amix_set_s16
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void amix_set_s16(u8 *data, Double val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - val
    argTypes:
    - u8*
    - Double
    constantsTouched: []
    func_position:
      end: 2702
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2702
    functionName: amix_set_s32
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void amix_set_s32(u8 *data, Double val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3049,1
    - Dst: gf_fclose
      Src: /src/gpac/src/jsmods/core.c:3051,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3050,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3054
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3054
    functionName: js_file_close
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - JS_GetOpaque
    - JS_SetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_close(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:1507,1
    - Dst: gf_sleep
      Src: /src/gpac/src/jsmods/core.c:1510,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1512
    functionName: js_sys_sleep
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_sleep
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_sleep(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_prompt_get_size
      Src: /src/gpac/src/jsmods/core.c:1339,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1342,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1343,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1341,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1342,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1345
    functionName: js_sys_prompt_size
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewInt32
    - JS_NewObject
    - gf_prompt_get_size
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_prompt_size(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/jsmods/core.c:1457,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1460,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1458,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:1459,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1460,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1461,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1463
    functionName: js_sys_get_ntp
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_IsException
    - JS_NewInt64
    - gf_net_get_ntp
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_get_ntp(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 2693
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2693
    functionName: amix_get_s32
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Double
    signature: 'static Double amix_get_s32(u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2706
    functionName: amix_get_flt
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Double
    signature: 'static Double amix_get_flt(u8 *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_print_ex
      Src: /src/gpac/src/jsmods/core.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: js_print
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_print_ex
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue js_print(JSContext *ctx, JSValueConst this_val, int argc,
      JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_data_io
      Src: /src/gpac/src/jsmods/core.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: js_bs_get_data
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_data_io
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_get_data(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2303,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2304,1
    - Dst: gf_ntohs
      Src: /src/gpac/src/jsmods/core.c:2305,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2305,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2306
    functionName: js_sys_ntohs
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_ntohs
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - JS_ToInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_ntohs(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsError
      Src: /src/gpac/src/jsmods/core.c:266,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:272,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:274,1
    - Dst: js_print_ex
      Src: /src/gpac/src/jsmods/core.c:269,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/core.c:273,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:276,1
    - Dst: fprintf
      Src: /src/gpac/src/jsmods/core.c:278,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:280,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - exception_val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: js_dump_error_exc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - JS_IsError
    - fprintf
    - GF_LOG
    - JS_IsUndefined
    - js_print_ex
    - JS_GetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void js_dump_error_exc(JSContext *ctx, const JSValue exception_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/jsmods/core.c:519,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:520,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/jsmods/core.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: js_bs_get_4cc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - JS_NewString
    - gf_4cc_to_str
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_get_4cc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2310,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2311,1
    - Dst: gf_htonl
      Src: /src/gpac/src/jsmods/core.c:2312,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2311,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2313
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2313
    functionName: js_sys_htonl
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - JS_ToInt64
    - gf_htonl
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_htonl(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_temp
      Src: /src/gpac/src/jsmods/core.c:3205,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3214,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3207,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3216,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:3212,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/jsmods/core.c:3223,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3226,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3227,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:3228,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:3231,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:3235,1
    - Dst: gf_fclose
      Src: /src/gpac/src/jsmods/core.c:3237,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:3240,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:3236,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3242
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3242
    functionName: file_constructor
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_fopen_ex
    - JS_FreeCString
    - JS_IsException
    - js_throw_err
    - gf_file_temp
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_fclose
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue file_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:3920,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/core.c:3922,1
    - Dst: strcpy
      Src: /src/gpac/src/jsmods/core.c:3924,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:3920,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/core.c:3922,1
    - Dst: strcpy
      Src: /src/gpac/src/jsmods/core.c:3925,1
    - Dst: LoadLibrary
      Src: /src/gpac/src/jsmods/core.c:3932,1
    - Dst: dlopen
      Src: /src/gpac/src/jsmods/core.c:3934,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:3938,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/jsmods/core.c:3941,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/jsmods/core.c:3952,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/jsmods/core.c:3956,1
    - Dst: dlsym
      Src: /src/gpac/src/jsmods/core.c:3948,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/jsmods/core.c:3960,1
    - Dst: dlclose
      Src: /src/gpac/src/jsmods/core.c:3962,1
    - Dst: init
      Src: /src/gpac/src/jsmods/core.c:3954,1
    - Dst: GetProcAddress
      Src: /src/gpac/src/jsmods/core.c:3946,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - module_name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 3966
      start: 3912
    functionDepth: 0
    functionLinenumber: 3912
    functionLinenumberEnd: 3966
    functionName: qjs_module_loader_dyn_lib
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - dlsym
    - dlclose
    - FreeLibrary
    - init
    - LoadLibrary
    - dlopen
    - GetProcAddress
    - strchr
    - strcpy
    - JS_ThrowReferenceError
    - gf_free
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *qjs_module_loader_dyn_lib(JSContext *ctx, const
      char *module_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:3061,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:3065,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3062,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3066,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3063,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:3068,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:3068,1
    - Dst: gf_fread
      Src: /src/gpac/src/jsmods/core.c:3073,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:3074,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3075
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3075
    functionName: js_file_read
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_fread
    - JS_NewInt64
    - JS_GetArrayBuffer
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_file_read(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); gf_bs_get_content(bs,
      &data, &size); if (data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/jsmods/core.c:151,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/jsmods/core.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cx
    - LockIt
    argTypes:
    - struct JSContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: gf_js_lock
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_js_lock(struct JSContext *cx, Bool LockIt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:563,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/jsmods/core.c:564,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_bs_enable_emulation_byte_removal
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); gf_bs_flush(bs); return
      JS_UNDEFINED; }static JSValue js_bs_epb_mode(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: js_bs_put_u64_le
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_u64_le(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:801,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:801,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/jsmods/core.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames:
    - '!'
    - bs
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - GF_JS_EXCEPTION
    - JS_ToInt64
    - gf_bs_seek
    linkageType: ''
    returnType: GET_JSBS
    signature: 'GET_JSBS if (!bs) return GF_JS_EXCEPTION(ctx); switch (magic) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/core.c:2488,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2498,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:2499,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2499,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2509,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2529,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2533,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2550,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2557,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2561,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2546,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/jsmods/core.c:2562,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:2545,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2489,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/core.c:2508,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2531,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2541,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2563,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/core.c:2572,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2593,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:2593,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2623,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2623,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2555,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2573,1
    - Dst: MIN
      Src: /src/gpac/src/jsmods/core.c:2577,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2495,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2502,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2503,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2501,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2525,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2526,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2527,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2537,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2538,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2539,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2544,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2556,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/core.c:2582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/core.c:2604,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2660,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2548,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2660,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2493,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:2491,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2493,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:2494,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2505,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2519,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:2517,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:2520,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2521,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2532,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/core.c:2549,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/core.c:2603,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/core.c:2662,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 188
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2665
    functionName: js_audio_mix
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - memset
    - JS_IsException
    - js_throw_err
    - GF_LOG
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - MIN
    - JS_NewInt32
    - JS_NewInt64
    - JS_GetOpaque
    - gf_assert
    - JS_ToFloat64
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_ToInt64
    - gf_realloc
    - JS_GetArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_audio_mix(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/core.c:160,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/jsmods/core.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cx
    argTypes:
    - struct JSContext*
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: gf_js_try_lock
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_mx_try_lock
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_js_try_lock(struct JSContext *cx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bs_put_val
      Src: /src/gpac/src/jsmods/core.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: js_bs_put_s64
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_bs_put_val
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_put_s64(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8*
    constantsTouched: []
    func_position:
      end: 2674
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2674
    functionName: amix_get_s16
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Double
    signature: 'static Double amix_get_s16(u8 *data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:774,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:776,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/jsmods/core.c:776,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/jsmods/core.c:774,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:778,1
    - Dst: gf_bs_get_refreshed_size
      Src: /src/gpac/src/jsmods/core.c:778,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:780,1
    - Dst: gf_bs_get_bit_offset
      Src: /src/gpac/src/jsmods/core.c:780,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:782,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/jsmods/core.c:782,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/jsmods/core.c:784,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:784,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/jsmods/core.c:788,1
    - Dst: gf_bs_bits_available
      Src: /src/gpac/src/jsmods/core.c:786,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:788,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:786,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 792
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 792
    functionName: js_bs_prop_get
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_bs_bits_available
    - gf_bs_get_position
    - gf_bs_get_refreshed_size
    - JS_NewInt32
    - JS_NewInt64
    - gf_bs_available
    - gf_bs_get_bit_offset
    - gf_bs_is_overflow
    - gf_bs_get_size
    - gf_bs_get_bit_position
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1556,1
    - Dst: gf_sha1_file
      Src: /src/gpac/src/jsmods/core.c:1560,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1559,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1558,1
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1557,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1561,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/jsmods/core.c:1562,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/core.c:1563,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1564,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1565,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/jsmods/core.c:1567,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1570,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/jsmods/core.c:1568,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1571
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1571
    functionName: js_sys_sha1
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_sha1_file
    - JS_NewArrayBufferCopy
    - JS_GetArrayBuffer
    - JS_IsString
    - gf_sha1_csum
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_sha1(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/core.c:1764,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1881,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1886,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1888,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2015,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1926,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1760,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1811,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1817,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1844,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1882,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1900,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/jsmods/core.c:1909,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/jsmods/core.c:1921,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1930,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1949,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:2039,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2050,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/core.c:1765,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1779,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1793,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/jsmods/core.c:1826,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1873,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1935,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2045,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/jsmods/core.c:2057,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1994,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:2007,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:2042,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:1940,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1880,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1787,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1884,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1885,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1887,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1898,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:1925,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/jsmods/core.c:1932,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1996,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1997,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1788,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1818,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/core.c:1842,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1881,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1886,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1888,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1889,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1995,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2015,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:2016,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/src/jsmods/core.c:2043,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2010,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1820,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1780,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1876,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1882,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1905,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1929,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1956,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1998,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1953,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2016,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2021,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1927,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1785,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1793,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1814,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1816,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1826,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1821,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/jsmods/core.c:1916,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1933,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:1967,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:1970,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1815,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1879,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1822,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1869,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1772,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1782,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1787,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1807,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1838,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1928,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2034,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1991,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1954,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1996,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1788,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1789,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1791,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1810,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1818,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1819,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1863,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/jsmods/core.c:1880,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1883,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1889,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2017,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:2033,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1820,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1775,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1794,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1825,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/jsmods/core.c:1919,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1929,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1952,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:1982,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1990,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/core.c:2008,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1953,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2046,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/jsmods/core.c:1912,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:2031,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/jsmods/core.c:1761,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1769,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1777,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1814,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1816,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1846,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1821,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1903,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1933,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1955,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1995,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1860,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1815,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1879,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1822,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1783,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1813,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/core.c:1823,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1901,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/jsmods/core.c:1917,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1927,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1928,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:2048,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:2017,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1758,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1841,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1883,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/jsmods/core.c:1910,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/jsmods/core.c:1917,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1934,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1994,1
    - Dst: gf_mpd_resolve_url
      Src: /src/gpac/src/jsmods/core.c:2019,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1948,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:2038,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1825,1
    - Dst: atof
      Src: /src/gpac/src/jsmods/core.c:1848,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1775,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/core.c:1784,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/core.c:1804,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1817,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1900,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/core.c:1930,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1952,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1954,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2022,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2031,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:2046,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:1877,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1779,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1777,1
    - Dst: atoi
      Src: /src/gpac/src/jsmods/core.c:1865,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1833,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1906,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1913,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1918,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/core.c:1978,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/jsmods/core.c:2010,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2021,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:2045,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1823,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/jsmods/core.c:1814,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1768,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/core.c:1773,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1813,1
    - Dst: atof
      Src: /src/gpac/src/jsmods/core.c:1839,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1880,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/jsmods/core.c:1884,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/core.c:1887,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1901,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/core.c:1999,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 305
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2059
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 2059
    functionName: js_sys_mpd_parse
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_mpd_new
    - gf_utf8_is_legal
    - JS_NewObject
    - strstr
    - GF_JS_EXCEPTION
    - JS_NewBool
    - JS_SetPropertyUint32
    - gf_xml_dom_del
    - JS_NewArray
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_list_count
    - JS_NewInt32
    - JS_NewInt64
    - gf_file_basename
    - atoi
    - gf_list_get
    - gf_mpd_init_from_dom
    - JS_NewString
    - gf_xml_dom_parse_string
    - memcpy
    - strchr
    - JS_NewFloat64
    - gf_free
    - gf_net_get_utc
    - JS_SetPropertyStr
    - atof
    - JS_GetArrayBuffer
    - gf_mpd_resolve_url
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_mpd_parse(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_basecode_ex
      Src: /src/gpac/src/jsmods/core.c:2283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: js_sys_base64dec
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_basecode_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_base64dec(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64
      Src: /src/gpac/src/jsmods/core.c:801,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:801,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/jsmods/core.c:802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 806
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 806
    functionName: js_bs_prop_set
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - GF_JS_EXCEPTION
    - JS_ToInt64
    - gf_bs_seek
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bs_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/jsmods/core.c:1582,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1584,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/core.c:1583,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/core.c:1582,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/core.c:1585,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/jsmods/core.c:1588,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:1590,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/jsmods/core.c:1592,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/core.c:1593,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/core.c:1595,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/core.c:1600,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/core.c:1602,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:1598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1604
    functionName: js_sys_file_data
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_NewArrayBuffer
    - JS_ToBool
    - JS_FreeCString
    - gf_file_load_data
    - gf_utf8_is_legal
    - JS_NewString
    - js_throw_err_msg
    - JS_IsString
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_file_data(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sys_basecode_ex
      Src: /src/gpac/src/jsmods/core.c:2287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2288
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2288
    functionName: js_sys_base16enc
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - js_sys_basecode_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sys_base16enc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/jsmods/core.c:2971,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/core.c:2973,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/core.c:2977,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/core.c:2975,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/core.c:2976,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/core.c:2980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2982
    functionName: sha1_constructor
    functionSourceFile: /src/gpac/src/jsmods/core.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_sha1_starts
    - gf_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue sha1_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/jsmods/xhr.c:1477,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/jsmods/xhr.c:1483,1
    - Dst: xhr_get_event_target
      Src: /src/gpac/src/jsmods/xhr.c:1486,1
    - Dst: qjs_module_init_xhr_global
      Src: /src/gpac/src/jsmods/xhr.c:1484,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/jsmods/xhr.c:1480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1491
    functionName: qjs_module_init_xhr
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - gf_sys_is_cov_mode
    - JS_AddModuleExport
    - xhr_get_event_target
    - qjs_module_init_xhr_global
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_xhr(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: xml_http_get_scenegraph
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_SceneGraph*
    signature: 'GF_SceneGraph *xml_http_get_scenegraph(XMLHTTPContext *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:282,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/jsmods/xhr.c:296,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:286,1
    - Dst: xml_http_reset_partial
      Src: /src/gpac/src/jsmods/xhr.c:290,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/jsmods/xhr.c:295,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:300,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/jsmods/xhr.c:304,1
    - Dst: gf_list_del
      Src: /src/gpac/src/jsmods/xhr.c:308,1
    - Dst: dom_js_unload
      Src: /src/gpac/src/jsmods/xhr.c:314,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/jsmods/xhr.c:317,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/jsmods/xhr.c:323,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/xhr.c:322,1
    - Dst: gf_sg_js_dom_pre_destroy
      Src: /src/gpac/src/jsmods/xhr.c:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - delete_conn
    argTypes:
    - XMLHTTPContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 333
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 333
    functionName: xml_http_reset
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - dom_js_unload
    - xml_http_reset_partial
    - gf_list_del
    - gf_sg_js_dom_pre_destroy
    - gf_sg_del
    - gf_dm_sess_del
    - gf_dm_sess_abort
    - gf_xml_sax_del
    - gf_free
    - JS_GetRuntime
    - gf_node_unregister
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_reset(XMLHTTPContext *ctx, Bool delete_conn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/xhr.c:401,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:404,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:403,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/xhr.c:406,1
    - Dst: xml_get_scenegraph
      Src: /src/gpac/src/jsmods/xhr.c:411,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/jsmods/xhr.c:414,1
    - Dst: dom_js_load
      Src: /src/gpac/src/jsmods/xhr.c:415,1
    - Dst: gf_dom_event_target_new
      Src: /src/gpac/src/jsmods/xhr.c:419,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - c
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 433
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 433
    functionName: xml_http_constructor
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_dom_event_target_new
    - GF_LOG
    - gf_sg_new
    - xml_get_scenegraph
    - JS_SetOpaque
    - JS_NewObjectClass
    - dom_js_load
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_constructor(JSContext *c, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/xhr.c:453,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:456,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/xhr.c:454,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:455,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:458,1
    - Dst: js_std_loop
      Src: /src/gpac/src/jsmods/xhr.c:461,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/xhr.c:462,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/jsmods/xhr.c:471,1
    - Dst: JS_GetContextOpaque
      Src: /src/gpac/src/jsmods/xhr.c:474,1
    - Dst: gf_js_vrml_flush_event_out
      Src: /src/gpac/src/jsmods/xhr.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 477
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 477
    functionName: xml_http_state_change
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - js_std_loop
    - gf_js_vrml_flush_event_out
    - JS_Call
    - JS_GetContextOpaque
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_state_change(XMLHTTPContext *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/jsmods/xhr.c:590,1
    - Dst: gf_sg_get_max_node_id
      Src: /src/gpac/src/jsmods/xhr.c:597,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:592,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:596,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/jsmods/xhr.c:598,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/xhr.c:601,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:603,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:607,1
    - Dst: gf_svg_create_attribute_value
      Src: /src/gpac/src/jsmods/xhr.c:609,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:610,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/xhr.c:624,1
    - Dst: gf_list_last
      Src: /src/gpac/src/jsmods/xhr.c:616,1
    - Dst: gf_node_register
      Src: /src/gpac/src/jsmods/xhr.c:617,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/xhr.c:621,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/jsmods/xhr.c:619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 625
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 625
    functionName: xml_http_sax_start
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_node_list_add_child
    - gf_list_last
    - gf_node_register
    - gf_svg_create_attribute_value
    - gf_strdup
    - GF_LOG
    - gf_node_set_id
    - gf_node_new
    - GF_SAFEALLOC
    - stricmp
    - gf_assert
    - gf_sg_get_max_node_id
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_sax_start(void *sax_cbck, const char *node_name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/jsmods/xhr.c:884,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:889,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:892,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/jsmods/xhr.c:917,1
    - Dst: gf_fsize
      Src: /src/gpac/src/jsmods/xhr.c:902,1
    - Dst: xml_http_terminate
      Src: /src/gpac/src/jsmods/xhr.c:940,1
    - Dst: gf_fopen
      Src: /src/gpac/src/jsmods/xhr.c:882,1
    - Dst: strnicmp
      Src: /src/gpac/src/jsmods/xhr.c:882,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:888,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:890,1
    - Dst: xml_http_on_data
      Src: /src/gpac/src/jsmods/xhr.c:900,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/xhr.c:906,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/xhr.c:916,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/xhr.c:918,1
    - Dst: xml_http_on_data
      Src: /src/gpac/src/jsmods/xhr.c:931,1
    - Dst: xml_http_on_data
      Src: /src/gpac/src/jsmods/xhr.c:937,1
    - Dst: gf_fclose
      Src: /src/gpac/src/jsmods/xhr.c:908,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/jsmods/xhr.c:919,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/xhr.c:926,1
    - Dst: strnicmp
      Src: /src/gpac/src/jsmods/xhr.c:880,1
    - Dst: gf_fopen
      Src: /src/gpac/src/jsmods/xhr.c:880,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:891,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:892,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:893,1
    - Dst: gf_fread
      Src: /src/gpac/src/jsmods/xhr.c:907,1
    - Dst: memset
      Src: /src/gpac/src/jsmods/xhr.c:935,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 943
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 943
    functionName: xml_http_process_local
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - JS_IsException
    - GF_LOG
    - gf_xml_sax_new
    - gf_fsize
    - js_dump_error
    - JS_Call
    - gf_list_new
    - gf_assert
    - gf_fopen
    - JS_IsFunction
    - gf_fread
    - gf_sg_new
    - xml_http_fire_event
    - strnicmp
    - JS_FreeValue
    - xml_http_terminate
    - gf_fclose
    - xml_http_on_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xml_http_process_local(XMLHTTPContext *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_http_state_change
      Src: /src/gpac/src/jsmods/xhr.c:667,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:671,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:672,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:673,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:676,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:682,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:681,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:677,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:683,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/jsmods/xhr.c:661,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:669,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:672,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:677,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:680,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:682,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:668,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:670,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:675,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:678,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - XMLHTTPContext*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 685
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 685
    functionName: xml_http_terminate
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsFunction
    - JS_IsException
    - js_dump_error
    - gf_dm_sess_del
    - xml_http_state_change
    - JS_Call
    - xml_http_fire_event
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_terminate(XMLHTTPContext *ctx, GF_Err error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:985,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/xhr.c:987,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:993,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:996,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/xhr.c:998,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1002,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/xhr.c:1037,1
    - Dst: xml_http_process_local
      Src: /src/gpac/src/jsmods/xhr.c:1043,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:1045,1
    - Dst: xml_http_terminate
      Src: /src/gpac/src/jsmods/xhr.c:1040,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:959,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/jsmods/xhr.c:976,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/xhr.c:998,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/jsmods/xhr.c:1035,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:1037,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1031,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:956,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:960,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:957,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/jsmods/xhr.c:981,1
    - Dst: xml_http_del_data
      Src: /src/gpac/src/jsmods/xhr.c:992,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:986,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:983,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:985,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/jsmods/xhr.c:1018,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/jsmods/xhr.c:1024,1
    - Dst: xml_get_scenegraph
      Src: /src/gpac/src/jsmods/xhr.c:963,1
    - Dst: jsf_get_download_manager
      Src: /src/gpac/src/jsmods/xhr.c:969,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:972,1
    - Dst: JS_IsArrayBuffer
      Src: /src/gpac/src/jsmods/xhr.c:977,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/jsmods/xhr.c:979,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/jsmods/xhr.c:1020,1
    - Dst: assert
      Src: /src/gpac/src/jsmods/xhr.c:1025,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/jsmods/xhr.c:1030,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/xhr.c:1045,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1050
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 1050
    functionName: xml_http_send
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_IsNull
    - strncmp
    - GF_LOG
    - jsf_get_download_manager
    - GF_JS_EXCEPTION
    - gf_dm_sess_new
    - JS_ToCString
    - gf_dm_sess_setup_from_url
    - xml_http_del_data
    - gf_strdup
    - gf_error_to_string
    - xml_http_process_local
    - JS_GetOpaque
    - gf_dm_sess_get_stats
    - JS_IsObject
    - gf_dm_sess_process
    - JS_FreeCString
    - assert
    - JS_IsArrayBuffer
    - xml_get_scenegraph
    - xml_http_terminate
    - JS_GetArrayBuffer
    - gf_dm_sess_del
    - JS_CHECK_STRING
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_send(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:337,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:342,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:340,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:341,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:339,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:343,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:344,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:345,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/jsmods/xhr.c:346,1
    - Dst: xml_http_reset
      Src: /src/gpac/src/jsmods/xhr.c:347,1
    - Dst: gf_list_count
      Src: /src/gpac/src/jsmods/xhr.c:352,1
    - Dst: gf_dom_event_target_del
      Src: /src/gpac/src/jsmods/xhr.c:357,1
    - Dst: dom_js_unload
      Src: /src/gpac/src/jsmods/xhr.c:361,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/jsmods/xhr.c:362,1
    - Dst: gf_list_get
      Src: /src/gpac/src/jsmods/xhr.c:353,1
    - Dst: gf_dom_listener_del
      Src: /src/gpac/src/jsmods/xhr.c:354,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 368
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 368
    functionName: xml_http_finalize
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - dom_js_unload
    - gf_list_get
    - gf_list_count
    - xml_http_reset
    - gf_sg_del
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_dom_listener_del
    - gf_dom_event_target_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_finalize(JSRuntime *rt, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/jsmods/xhr.c:442,1
    - Dst: gf_sg_fire_dom_event
      Src: /src/gpac/src/jsmods/xhr.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - evtType
    argTypes:
    - XMLHTTPContext*
    - GF_EventType
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: xml_http_fire_event
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_sg_fire_dom_event
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_fire_event(XMLHTTPContext *ctx, GF_EventType
      evtType) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:487,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:488,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:495,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:497,1
    - Dst: xml_http_reset
      Src: /src/gpac/src/jsmods/xhr.c:499,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:507,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:508,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:541,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:544,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:556,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:557,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:493,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:500,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:502,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:501,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:502,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:501,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:502,1
    - Dst: xml_get_scenegraph
      Src: /src/gpac/src/jsmods/xhr.c:511,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:517,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/xhr.c:539,1
    - Dst: xml_http_state_change
      Src: /src/gpac/src/jsmods/xhr.c:555,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:558,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:495,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:497,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:501,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:504,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:503,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/xhr.c:521,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/jsmods/xhr.c:529,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:533,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:544,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:545,1
    - Dst: xml_http_reset
      Src: /src/gpac/src/jsmods/xhr.c:491,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:522,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/jsmods/xhr.c:528,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:531,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:541,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:548,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:551,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 561
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 561
    functionName: xml_http_open
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_url_concatenate
    - JS_FreeCString
    - JS_ToBool
    - strncmp
    - JS_IsFunction
    - gf_strdup
    - xml_http_reset
    - strcmp
    - xml_get_scenegraph
    - JS_CHECK_STRING
    - JS_GetOpaque
    - xml_http_state_change
    - JS_Call
    - xml_http_fire_event
    - GF_JS_EXCEPTION
    - jsf_get_script_filename
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_open(JSContext *c, JSValueConst obj, int argc,
      JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/jsmods/xhr.c:630,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/jsmods/xhr.c:634,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - sax_cbck
    - node_name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: xml_http_sax_end
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_sax_end(void *sax_cbck, const char *node_name,
      const char *name_space) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_try_lock
      Src: /src/gpac/src/jsmods/xhr.c:694,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:725,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/jsmods/xhr.c:741,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/xhr.c:744,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:735,1
    - Dst: xml_http_state_change
      Src: /src/gpac/src/jsmods/xhr.c:758,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:762,1
    - Dst: gf_realloc
      Src: /src/gpac/src/jsmods/xhr.c:807,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:819,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/jsmods/xhr.c:819,1
    - Dst: gf_list_new
      Src: /src/gpac/src/jsmods/xhr.c:749,1
    - Dst: JS_DetachArrayBuffer
      Src: /src/gpac/src/jsmods/xhr.c:839,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/xhr.c:822,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:837,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:828,1
    - Dst: gf_sleep
      Src: /src/gpac/src/jsmods/xhr.c:698,1
    - Dst: xml_http_reset_partial
      Src: /src/gpac/src/jsmods/xhr.c:721,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/jsmods/xhr.c:748,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:760,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:802,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:813,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/jsmods/xhr.c:814,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:821,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/xhr.c:821,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:825,1
    - Dst: gf_dm_sess_set_max_rate
      Src: /src/gpac/src/jsmods/xhr.c:835,1
    - Dst: xml_http_state_change
      Src: /src/gpac/src/jsmods/xhr.c:786,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/jsmods/xhr.c:818,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:759,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/xhr.c:833,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:830,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/jsmods/xhr.c:794,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/xhr.c:709,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/xhr.c:708,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:724,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:726,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:727,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/xhr.c:742,1
    - Dst: strncmp
      Src: /src/gpac/src/jsmods/xhr.c:743,1
    - Dst: strstr
      Src: /src/gpac/src/jsmods/xhr.c:745,1
    - Dst: gf_assert
      Src: /src/gpac/src/jsmods/xhr.c:747,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:728,1
    - Dst: gf_xml_sax_parse
      Src: /src/gpac/src/jsmods/xhr.c:792,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/jsmods/xhr.c:820,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/xhr.c:824,1
    - Dst: xml_http_terminate
      Src: /src/gpac/src/jsmods/xhr.c:863,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:820,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/xhr.c:703,1
    - Dst: js_dump_error
      Src: /src/gpac/src/jsmods/xhr.c:727,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/jsmods/xhr.c:750,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:761,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:762,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:763,1
    - Dst: gf_xml_sax_init
      Src: /src/gpac/src/jsmods/xhr.c:791,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/xhr.c:801,1
    - Dst: memcpy
      Src: /src/gpac/src/jsmods/xhr.c:808,1
    - Dst: JS_IsException
      Src: /src/gpac/src/jsmods/xhr.c:829,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/jsmods/xhr.c:831,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:822,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:841,1
    - Dst: GF_LOG
      Src: /src/gpac/src/jsmods/xhr.c:855,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/jsmods/xhr.c:868,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/jsmods/xhr.c:855,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 145
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 870
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 870
    functionName: xml_http_on_data
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - gf_js_try_lock
    - JS_NewObject
    - gf_js_lock
    - strncmp
    - JS_IsException
    - GF_LOG
    - gf_xml_sax_parse
    - gf_xml_sax_del
    - gf_xml_sax_new
    - strstr
    - JS_ToInt32
    - JS_NewBool
    - gf_error_to_string
    - gf_strdup
    - js_dump_error
    - JS_NewInt64
    - xml_http_state_change
    - JS_IsNumber
    - gf_dm_sess_get_stats
    - JS_Call
    - gf_dm_sess_set_max_rate
    - gf_list_new
    - gf_assert
    - gf_xml_sax_init
    - gf_dm_sess_get_header
    - JS_IsFunction
    - gf_sg_new
    - JS_IsUndefined
    - JS_DetachArrayBuffer
    - memcpy
    - xml_http_fire_event
    - JS_SetPropertyStr
    - JS_FreeValue
    - xml_http_reset_partial
    - xml_http_terminate
    - gf_realloc
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_on_data(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1055,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1056,1
    - Dst: xml_http_fire_event
      Src: /src/gpac/src/jsmods/xhr.c:1065,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/jsmods/xhr.c:1062,1
    - Dst: xml_http_reset
      Src: /src/gpac/src/jsmods/xhr.c:1066,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/jsmods/xhr.c:1067,1
    - Dst: JS_Call
      Src: /src/gpac/src/jsmods/xhr.c:1068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1071
    functionName: xml_http_abort
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_IsFunction
    - xml_http_reset
    - JS_GetOpaque
    - gf_dm_sess_abort
    - JS_Call
    - xml_http_fire_event
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_abort(JSContext *c, JSValueConst obj, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/xhr.c:1468,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:1470,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/jsmods/xhr.c:1471,1
    - Dst: xhr_load_class
      Src: /src/gpac/src/jsmods/xhr.c:1469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1473
    functionName: js_xhr_load_module
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - JS_SetModuleExport
    - JS_FreeValue
    - xhr_load_class
    linkageType: ''
    returnType: int
    signature: 'static int js_xhr_load_module(JSContext *c, JSModuleDef *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1497
    functionName: qjs_module_init_xhr
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_xhr(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xhr_load_class
      Src: /src/gpac/src/jsmods/xhr.c:1461,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - c
    - global
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1464
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1464
    functionName: qjs_module_init_xhr_global
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - xhr_load_class
    linkageType: ''
    returnType: void
    signature: 'void qjs_module_init_xhr_global(JSContext *c, JSValue global) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:384,1
    - Dst: xml_get_scenegraph
      Src: /src/gpac/src/jsmods/xhr.c:390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - c
    - obj
    - sg
    - target
    argTypes:
    - JSContext*
    - JSValue
    - GF_SceneGraph**
    - GF_DOMEventTarget**
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: xhr_get_event_target
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - xml_get_scenegraph
    linkageType: ''
    returnType: void
    signature: 'void xhr_get_event_target(JSContext *c, JSValue obj, GF_SceneGraph
      **sg, GF_DOMEventTarget **target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/jsmods/xhr.c:373,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:375,1
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/jsmods/xhr.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: xml_get_scenegraph
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_GetGlobalObject
    - JS_GetOpaque_Nocheck
    - JS_FreeValue
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_SceneGraph *xml_get_scenegraph(JSContext *c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1079,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/xhr.c:1088,1
    - Dst: gf_dm_sess_enum_headers
      Src: /src/gpac/src/jsmods/xhr.c:1086,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1083,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1080,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/xhr.c:1089,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/jsmods/xhr.c:1090,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1096,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:1097,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1099
    functionName: xml_http_get_all_headers
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_dm_sess_enum_headers
    - JS_NewString
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_get_all_headers(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1335,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/jsmods/xhr.c:1335,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1348,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1356,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:1366,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1370,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1344,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1346,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1368,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1354,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:1375,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/jsmods/xhr.c:1339,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:1343,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1352,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1298,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1299,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1350,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:1361,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1367,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1358,1
    - Dst: strcmp
      Src: /src/gpac/src/jsmods/xhr.c:1372,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 4
    argNames:
    - c
    - obj
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1383
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1383
    functionName: xml_http_setProperty
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - strcmp
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_setProperty(JSContext *c, JSValueConst obj,
      JSValueConst value, int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:190,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:188,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:192,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:194,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:196,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:198,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:226,1
    - Dst: sprintf
      Src: /src/gpac/src/jsmods/xhr.c:232,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:233,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:182,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:209,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:206,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:208,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:211,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:213,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:215,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:217,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:219,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:221,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:225,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:223,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:189,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:191,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:193,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:195,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:204,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:197,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/xhr.c:231,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/xhr.c:231,1
    - Dst: gf_malloc
      Src: /src/gpac/src/jsmods/xhr.c:231,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:224,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:187,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:205,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:207,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:210,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:212,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:214,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:216,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:218,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:220,1
    - Dst: stricmp
      Src: /src/gpac/src/jsmods/xhr.c:222,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 126
    argCount: 3
    argNames:
    - ctx
    - hdr
    - val
    argTypes:
    - XMLHTTPContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 239
    functionName: xml_http_append_send_header
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - gf_strdup
    - sprintf
    - gf_free
    - stricmp
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_append_send_header(XMLHTTPContext *ctx, char
      *hdr, char *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/jsmods/xhr.c:640,1
    - Dst: strlen
      Src: /src/gpac/src/jsmods/xhr.c:645,1
    - Dst: gf_dom_add_text_node
      Src: /src/gpac/src/jsmods/xhr.c:651,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:651,1
    - Dst: strchr
      Src: /src/gpac/src/jsmods/xhr.c:647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - sax_cbck
    - content
    - is_cdata
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 654
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 654
    functionName: xml_http_sax_text
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dom_add_text_node
    - gf_list_last
    - gf_strdup
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_sax_text(void *sax_cbck, const char *content,
      Bool is_cdata) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1104,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:1107,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1105,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1107,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1109,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:1110,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/jsmods/xhr.c:1111,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:1112,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1117
    functionName: xml_http_get_header
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_dm_sess_get_header
    - JS_FreeCString
    - JS_NewString
    - JS_CHECK_STRING
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_get_header(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/xhr.c:243,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/xhr.c:244,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: xml_http_del_data
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsUndefined
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_del_data(XMLHTTPContext *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:566,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:571,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:569,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:567,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:570,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:571,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:572,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:572,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:574,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:575,1
    - Dst: xml_http_append_send_header
      Src: /src/gpac/src/jsmods/xhr.c:576,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:577,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:578,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: xml_http_set_header
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - xml_http_append_send_header
    - JS_CHECK_STRING
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_set_header(JSContext *c, JSValueConst obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/jsmods/xhr.c:1123,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/jsmods/xhr.c:1128,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/jsmods/xhr.c:1124,1
    - Dst: gf_sg_init_from_xml_node
      Src: /src/gpac/src/jsmods/xhr.c:1126,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/jsmods/xhr.c:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1130
    functionName: xml_http_load_dom
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_xml_dom_parse_string
    - gf_xml_dom_get_root
    - gf_sg_init_from_xml_node
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xml_http_load_dom(XMLHTTPContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - opaque
    - ptr
    argTypes:
    - JSRuntime*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1153
    functionName: xml_http_array_buffer_free
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_array_buffer_free(JSRuntime *rt, void *opaque,
      void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1421,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1424,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1425,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1426,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1427,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1428,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1429,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1430,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1431,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/xhr.c:1433,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/jsmods/xhr.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1435
    functionName: xml_http_gc_mark
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_gc_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_http_del_data
      Src: /src/gpac/src/jsmods/xhr.c:257,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:259,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:269,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:272,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - XMLHTTPContext*
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: xml_http_reset_partial
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - xml_http_del_data
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_http_reset_partial(XMLHTTPContext *ctx) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1163,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1165,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1168,1
    - Dst: dom_document_construct_external
      Src: /src/gpac/src/jsmods/xhr.c:1192,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1173,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1214,1
    - Dst: dom_document_construct_external
      Src: /src/gpac/src/jsmods/xhr.c:1229,1
    - Dst: JS_ParseJSON
      Src: /src/gpac/src/jsmods/xhr.c:1236,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1263,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1270,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1278,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1280,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1282,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1266,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1274,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1157,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1158,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1161,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/jsmods/xhr.c:1183,1
    - Dst: xml_http_load_dom
      Src: /src/gpac/src/jsmods/xhr.c:1186,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/jsmods/xhr.c:1212,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/jsmods/xhr.c:1220,1
    - Dst: xml_http_load_dom
      Src: /src/gpac/src/jsmods/xhr.c:1223,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/xhr.c:1233,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1264,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1260,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1162,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1164,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1166,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/xhr.c:1167,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1169,1
    - Dst: dom_js_load
      Src: /src/gpac/src/jsmods/xhr.c:1189,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/jsmods/xhr.c:1211,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1208,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/jsmods/xhr.c:1197,1
    - Dst: dom_js_load
      Src: /src/gpac/src/jsmods/xhr.c:1226,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1285,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1286,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1268,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1238,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1247,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1251,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1255,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1265,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1267,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1269,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1276,1
    - Dst: JS_NewString
      Src: /src/gpac/src/jsmods/xhr.c:1287,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 80
    argCount: 3
    argNames:
    - c
    - obj
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1294
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1294
    functionName: xml_http_getProperty
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - JS_NewInt32
    - JS_NewString
    - gf_sg_new
    - JS_IsUndefined
    - dom_document_construct_external
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_DupValue
    - dom_js_load
    - JS_ParseJSON
    - GF_JS_EXCEPTION
    - xml_http_load_dom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_getProperty(JSContext *c, JSValueConst obj,
      int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClassID
      Src: /src/gpac/src/jsmods/xhr.c:1440,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/xhr.c:1446,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/jsmods/xhr.c:1447,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/jsmods/xhr.c:1444,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/jsmods/xhr.c:1444,1
    - Dst: countof
      Src: /src/gpac/src/jsmods/xhr.c:1447,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/jsmods/xhr.c:1448,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1449,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1449,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1450,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1450,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1451,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1452,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/xhr.c:1453,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1453,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1452,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/jsmods/xhr.c:1455,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/jsmods/xhr.c:1451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1456
    functionName: xhr_load_class
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - JS_NewCFunction2
    - JS_NewInt32
    - JS_NewObjectClass
    - countof
    - JS_NewClass
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xhr_load_class(JSContext *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/xhr.c:1137,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1138,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/jsmods/xhr.c:1141,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/jsmods/xhr.c:1140,1
    - Dst: JS_CHECK_STRING
      Src: /src/gpac/src/jsmods/xhr.c:1140,1
    - Dst: gf_free
      Src: /src/gpac/src/jsmods/xhr.c:1142,1
    - Dst: gf_strdup
      Src: /src/gpac/src/jsmods/xhr.c:1143,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/jsmods/xhr.c:1144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - c
    - obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1146
    functionName: xml_http_overrideMimeType
    functionSourceFile: /src/gpac/src/jsmods/xhr.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - JS_CHECK_STRING
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue xml_http_overrideMimeType(JSContext *c, JSValueConst
      obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - argc
    - <3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - WGL_GET_U32
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: 'WGL_CHECK_CONTEXT if (argc<3) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]); if(!JS_IsObject(argv[1])) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - argc
    - <3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - WGL_GET_U32
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<3) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]);\tWGL_GET_U64(offset, argv[1]); if(!JS_IsObject(argv[2])) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:387,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:389,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:388,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:390,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:391,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:392,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:393,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames:
    - argc
    - <8
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 397
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - glGenBuffers
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<8) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(target, argv[0]);\tWGL_GET_S32(level, argv[1]); WGL_GET_S32(xoffset,
      argv[2]);\tWGL_GET_S32(yoffset, argv[3]); WGL_GET_S32(x, argv[4]);\tWGL_GET_S32(y,
      argv[5]); WGL_GET_U32(width, argv[6]);\tWGL_GET_U32(height, argv[7]); glCopyTexSubImage2D(target,
      level, xoffset, yoffset, x, y, width, height); return ret_val_js; }static JSValue
      wgl_createBuffer(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst
      *argv) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:512,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:517,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(framebuffer, argv[0], WebGLFramebuffer_class_id);\tglDeleteFramebuffers(1,
      &framebuffer); "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:460,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:464,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:492,1
    - Dst: glCreateShader
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:461,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:495,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:497,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:477,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 12
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 501
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_throw_err
    - JS_GetOpaque
    - JS_DupValue
    - glCreateShader
    - gf_list_del_item
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(type, argv[0]); GF_WebGLObject *wglo; GF_SAFEALLOC(wglo, GF_WebGLObject);
      if (!wglo) return js_throw_err(ctx, WGL_OUT_OF_MEMORY); wglo->par_ctx = JS_GetOpaque(this_val,
      WebGLRenderingContextBase_class_id); wglo->gl_id = glCreateShader(type); ret_val_js
      = JS_NewObjectClass(ctx, WebGLShader_class_id); JS_SetOpaque(ret_val_js, wglo);\twglo->obj
      = JS_DupValue(ctx, ret_val_js); wglo->class_id = WebGLShader_class_id; gf_list_add(wglo->par_ctx->all_objects,
      wglo); return ret_val_js; } static JSValue wgl_createTexture(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv); static JSValue wgl_cullFace(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv){\tJSValue ret_val_js
      = JS_UNDEFINED; u32 mode = 0; WGL_CHECK_CONTEXT\tif (argc<1) return js_throw_err(ctx,
      WGL_INVALID_VALUE);\tWGL_GET_U32(mode, argv[0]); glCullFace(mode); return ret_val_js;
      }static JSValue wgl_deleteBuffer(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:157,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:178,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:159,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:161,1
    - Dst: glBufferData
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:162,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:180,1
    - Dst: glBufferSubData
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:182,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 13
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 184
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - glBufferSubData
    - WGL_GET_U32
    - glBufferData
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(modeRGB, argv[0]);\tWGL_GET_U32(modeAlpha, argv[1]); glBlendEquationSeparate(modeRGB,
      modeAlpha); return ret_val_js; }static JSValue wgl_blendFunc(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:157,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:159,1
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:161,1
    - Dst: glBufferData
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:162,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 164
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - WGL_GET_U32
    - glBufferData
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(sfactor, argv[0]);\tWGL_GET_U32(dfactor, argv[1]); glBlendFunc(sfactor,
      dfactor); return ret_val_js; }static JSValue wgl_blendFuncSeparate(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:157,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 0
    argNames:
    - argc
    - <4
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - WGL_GET_U32
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<4) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(srcRGB, argv[0]);\tWGL_GET_U32(dstRGB, argv[1]); WGL_GET_U32(srcAlpha,
      argv[2]);\tWGL_GET_U32(dstAlpha, argv[3]); glBlendFuncSeparate(srcRGB, dstRGB,
      srcAlpha, dstAlpha); return ret_val_js; }static JSValue wgl_bufferData(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:592,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:597,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 601
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 601
    functionName: wgl_deleteTexture
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_deleteTexture(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 750
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 750
    functionName: wgl_flush
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_flush(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:592,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:597,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 599
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(texture, argv[0], WebGLTexture_class_id);\tglDeleteTextures(1,
      &texture); "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 742
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_U32(index, argv[0]);\tglEnableVertexAttribArray(index); return ret_val_js;
      }static JSValue wgl_finish(JSContext *ctx, JSValueConst this_val, int argc,
      JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glGetError
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:864,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:865,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 5
    argCount: 0
    argNames:
    - argc
    - <2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 867
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - glGetError
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<2) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(program, argv[0], WebGLProgram_class_id);\tWGL_GET_STRING(name,
      argv[1]); s32 ret_val = 0; ret_val = glGetAttribLocation(program, name); JS_FreeCString(ctx,
      name); return JS_NewInt32(ctx, ret_val); } static JSValue wgl_getBufferParameter(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv); static JSValue wgl_getParameter(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv); static JSValue wgl_getError(JSContext
      *ctx, JSValueConst this_val, int argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WGL_GET_U32
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:178,1
    - Dst: wgl_GetArrayBuffer
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: wgl_bufferSubData
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - WGL_GET_U32
    - wgl_GetArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_bufferSubData(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:404,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:406,1
    - Dst: glGenFramebuffers
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:407,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:408,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:405,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:409,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:410,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: wgl_createFramebuffer
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - glGenFramebuffers
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_createFramebuffer(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:492,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:497,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 499
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(buffer, argv[0], WebGLBuffer_class_id);\tglDeleteBuffers(1, &buffer); "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:552,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:555,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(renderbuffer, argv[0], WebGLRenderbuffer_class_id);\tglDeleteRenderbuffers(1,
      &renderbuffer); "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:512,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:517,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: wgl_deleteFramebuffer
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_deleteFramebuffer(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:532,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:535,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 539
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(program, argv[0], WebGLProgram_class_id);\tglDeleteProgram(program); "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:552,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:555,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 561
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 561
    functionName: wgl_deleteRenderbuffer
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_deleteRenderbuffer(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:572,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:575,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - argc
    - <1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 579
    functionName: if
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: WGL_CHECK_CONTEXT
    signature: "WGL_CHECK_CONTEXT if (argc<1) return js_throw_err(ctx, WGL_INVALID_VALUE);
      WGL_GET_GLID(shader, argv[0], WebGLShader_class_id);\tglDeleteShader(shader); "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:421,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:425,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:422,1
    - Dst: glCreateProgram
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:424,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:423,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:426,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:427,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: wgl_createProgram
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - glCreateProgram
    - JS_DupValue
    - GF_SAFEALLOC
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_createProgram(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:438,1
    - Dst: glGenRenderbuffers
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:441,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:442,1
    - Dst: js_throw_err
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:439,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:440,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:443,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:444,1
    - Dst: gf_list_add
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: wgl_createRenderbuffer
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - js_throw_err
    - glGenRenderbuffers
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_SetOpaque
    - JS_DupValue
    - GF_SAFEALLOC
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_createRenderbuffer(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:532,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:535,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: wgl_deleteProgram
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_deleteProgram(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:572,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:575,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/jsmods/WebGLRenderingContextBase.c:577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 581
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 581
    functionName: wgl_deleteShader
    functionSourceFile: /src/gpac/src/jsmods/WebGLRenderingContextBase.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_list_del_item
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue wgl_deleteShader(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:32,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/in_rtp.c:35,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp.c:33,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp.c:34,1
    - Dst: rtpin_stream_del
      Src: /src/gpac/src/filters/in_rtp.c:36,1
    - Dst: rtpin_rtsp_del
      Src: /src/gpac/src/filters/in_rtp.c:39,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/in_rtp.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - is_finalized
    argTypes:
    - GF_RTPIn*
    - Bool
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: rtpin_reset
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - rtpin_rtsp_del
    - gf_list_rem
    - gf_odf_desc_del
    - rtpin_stream_del
    - gf_filter_pid_remove
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_reset(GF_RTPIn *ctx, Bool is_finalized) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_rtp.c:134,1
    - Dst: rtpin_reset
      Src: /src/gpac/src/filters/in_rtp.c:144,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/in_rtp.c:148,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/in_rtp.c:152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:137,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/in_rtp.c:154,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp.c:154,1
    - Dst: rtpin_reset
      Src: /src/gpac/src/filters/in_rtp.c:165,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/in_rtp.c:167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 171
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 171
    functionName: rtpin_configure_pid
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strlen
    - gf_crc_32
    - gf_filter_pid_get_property
    - GF_LOG
    - rtpin_reset
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:243,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_rtp.c:251,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:247,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/in_rtp.c:249,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp.c:249,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_rtp.c:253,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/in_rtp.c:254,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_rtp.c:255,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 260
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 260
    functionName: rtpin_send_data_base64
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - gf_filter_pck_set_sap
    - memcpy
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_base64_decode
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_send_data_base64(GF_RTPInStream *stream) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp.c:397,1
    - Dst: rtpin_stream_on_rtp_pck
      Src: /src/gpac/src/filters/in_rtp.c:370,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:376,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:406,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_rtp.c:285,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp.c:299,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_rtp.c:324,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp.c:392,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:395,1
    - Dst: gf_rtp_switch_quality
      Src: /src/gpac/src/filters/in_rtp.c:290,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_rtp.c:322,1
    - Dst: rtpin_check_setup
      Src: /src/gpac/src/filters/in_rtp.c:329,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp.c:355,1
    - Dst: gf_rtp_set_info_rtp
      Src: /src/gpac/src/filters/in_rtp.c:356,1
    - Dst: gf_rtp_depacketizer_reset
      Src: /src/gpac/src/filters/in_rtp.c:361,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/in_rtp.c:396,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp.c:390,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:314,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:333,1
    - Dst: gf_rtp_read_flush
      Src: /src/gpac/src/filters/in_rtp.c:368,1
    - Dst: rtpin_rtsp_process_commands
      Src: /src/gpac/src/filters/in_rtp.c:419,1
    - Dst: rtpin_stream_reset_queue
      Src: /src/gpac/src/filters/in_rtp.c:422,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 91
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 426
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 426
    functionName: rtpin_process_event
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_rtp_switch_quality
    - rtpin_find_stream
    - rtpin_stream_init
    - gf_rtp_set_info_rtp
    - gf_rtp_depacketizer_reset
    - rtpin_stream_reset_queue
    - gf_list_pop_front
    - gf_list_count
    - GF_LOG
    - gf_sk_group_unregister
    - rtpin_rtsp_process_commands
    - rtpin_stream_on_rtp_pck
    - rtpin_check_setup
    - gf_rtp_read_flush
    - gf_filter_pck_send
    - rtpin_rtsp_usercom_send
    - gf_sk_group_register
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rtpin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_load_sdp
      Src: /src/gpac/src/filters/in_rtp.c:467,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/in_rtp.c:468,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:482,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/in_rtp.c:507,1
    - Dst: gf_rtsp_set_ssl_ctx
      Src: /src/gpac/src/filters/in_rtp.c:496,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_rtp.c:538,1
    - Dst: rtpin_check_setup
      Src: /src/gpac/src/filters/in_rtp.c:547,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:589,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:623,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:631,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:655,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp.c:665,1
    - Dst: rtpin_rtsp_process_commands
      Src: /src/gpac/src/filters/in_rtp.c:743,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:673,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp.c:746,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:706,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/in_rtp.c:460,1
    - Dst: gf_rtsp_check_connection
      Src: /src/gpac/src/filters/in_rtp.c:486,1
    - Dst: gf_dm_ssl_init
      Src: /src/gpac/src/filters/in_rtp.c:496,1
    - Dst: gf_rtsp_use_tls
      Src: /src/gpac/src/filters/in_rtp.c:520,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_rtp.c:572,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp.c:580,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp.c:582,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:586,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/filters/in_rtp.c:606,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp.c:610,1
    - Dst: rtpin_check_setup
      Src: /src/gpac/src/filters/in_rtp.c:622,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_rtp.c:758,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp.c:710,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_rtp.c:753,1
    - Dst: gf_sk_group_select
      Src: /src/gpac/src/filters/in_rtp.c:649,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:657,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:717,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_rtp.c:725,1
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp.c:732,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_rtp.c:765,1
    - Dst: gf_rtp_reset_ssrc
      Src: /src/gpac/src/filters/in_rtp.c:619,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_rtp.c:713,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/in_rtp.c:466,1
    - Dst: gf_filter_get_num_events_queued
      Src: /src/gpac/src/filters/in_rtp.c:477,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp.c:506,1
    - Dst: gf_rtsp_session_needs_ssl
      Src: /src/gpac/src/filters/in_rtp.c:495,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/filters/in_rtp.c:493,1
    - Dst: gf_user_credentials_register
      Src: /src/gpac/src/filters/in_rtp.c:521,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp.c:523,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_rtp.c:539,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:556,1
    - Dst: gf_rtsp_check_connection
      Src: /src/gpac/src/filters/in_rtp.c:594,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:628,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_rtp.c:638,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:653,1
    - Dst: rtpin_stream_read
      Src: /src/gpac/src/filters/in_rtp.c:668,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:733,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp.c:686,1
    - Dst: rtpin_stream_on_rtp_pck
      Src: /src/gpac/src/filters/in_rtp.c:703,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:708,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/in_rtp.c:709,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_rtp.c:450,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_rtp.c:472,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_rtp.c:488,1
    - Dst: gf_rtsp_get_user
      Src: /src/gpac/src/filters/in_rtp.c:515,1
    - Dst: gf_rtsp_get_server_name
      Src: /src/gpac/src/filters/in_rtp.c:518,1
    - Dst: gf_rtsp_get_password
      Src: /src/gpac/src/filters/in_rtp.c:519,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp.c:535,1
    - Dst: rtpin_rtsp_describe_send
      Src: /src/gpac/src/filters/in_rtp.c:559,1
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp.c:588,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/filters/in_rtp.c:591,1
    - Dst: rtpin_rtsp_usercom_send
      Src: /src/gpac/src/filters/in_rtp.c:635,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp.c:689,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:609,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_rtp.c:760,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_rtp.c:596,1
    - Dst: gf_rtp_flush_rtp
      Src: /src/gpac/src/filters/in_rtp.c:701,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp.c:723,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 251
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 768
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 768
    functionName: rtpin_process
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_num_events_queued
    - gf_rtsp_session_needs_ssl
    - gf_rtsp_set_ssl_ctx
    - rtpin_stream_read
    - gf_rtsp_session_del
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - rtpin_check_setup
    - rtpin_rtsp_describe_send
    - gf_dm_ssl_init
    - gf_filter_pck_get_data
    - rtpin_rtsp_flush
    - rtpin_rtsp_teardown
    - gf_filter_get_udta
    - gf_rtsp_get_user
    - gf_rtsp_set_buffer_size
    - gf_list_del
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - gf_rtsp_use_tls
    - gf_list_new
    - rtpin_rtsp_usercom_send
    - gf_dynstrcat
    - gf_list_get
    - gf_sk_group_select
    - gf_list_enum
    - gf_rtsp_session_reset
    - gf_rtsp_get_password
    - rtpin_rtsp_process_commands
    - rtpin_load_sdp
    - gf_rtsp_get_server_name
    - gf_sys_clock
    - gf_filter_post_process_task
    - rtpin_stream_on_rtp_pck
    - gf_filter_pck_send
    - gf_user_credentials_register
    - gf_rtsp_check_connection
    - gf_rtp_reset_ssrc
    - gf_filter_setup_failure
    - gf_rtp_flush_rtp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_process(GF_Filter *filter) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_rtp.c:778,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:787,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp.c:805,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp.c:815,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_rtp.c:817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:836,1
    - Dst: rtpin_add_stream
      Src: /src/gpac/src/filters/in_rtp.c:830,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:846,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:854,1
    - Dst: gf_rtsp_get_session_port
      Src: /src/gpac/src/filters/in_rtp.c:855,1
    - Dst: rtpin_rtsp_new
      Src: /src/gpac/src/filters/in_rtp.c:842,1
    - Dst: gf_rtsp_get_session_port
      Src: /src/gpac/src/filters/in_rtp.c:855,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_rtp.c:861,1
    - Dst: rtpin_rtsp_describe_send
      Src: /src/gpac/src/filters/in_rtp.c:878,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_rtp.c:781,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp.c:804,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:810,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp.c:819,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp.c:825,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp.c:833,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp.c:822,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp.c:848,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/in_rtp.c:852,1
    - Dst: gf_dm_ssl_init
      Src: /src/gpac/src/filters/in_rtp.c:865,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/in_rtp.c:795,1
    - Dst: gf_sk_group_new
      Src: /src/gpac/src/filters/in_rtp.c:793,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/in_rtp.c:802,1
    - Dst: gf_filter_disable_inputs
      Src: /src/gpac/src/filters/in_rtp.c:808,1
    - Dst: rtpin_stream_new_standalone
      Src: /src/gpac/src/filters/in_rtp.c:824,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_rtp.c:836,1
    - Dst: rtpin_satip_get_server_ip
      Src: /src/gpac/src/filters/in_rtp.c:849,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:853,1
    - Dst: gf_rtsp_session_needs_ssl
      Src: /src/gpac/src/filters/in_rtp.c:862,1
    - Dst: gf_rtsp_set_ssl_ctx
      Src: /src/gpac/src/filters/in_rtp.c:865,1
    - Dst: gf_rtsp_get_user
      Src: /src/gpac/src/filters/in_rtp.c:872,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 880
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 880
    functionName: rtpin_initialize
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_rtsp_session_needs_ssl
    - gf_filter_get_download_manager
    - gf_rtsp_set_ssl_ctx
    - rtpin_add_stream
    - GF_LOG
    - gf_filter_disable_inputs
    - gf_rtsp_get_session_port
    - rtpin_rtsp_describe_send
    - gf_dm_ssl_init
    - rtpin_rtsp_new
    - gf_filter_get_udta
    - gf_rtsp_get_user
    - gf_error_to_string
    - gf_strdup
    - gf_filter_prevent_blocking
    - gf_sk_group_new
    - atoi
    - gf_list_new
    - stricmp
    - rtpin_stream_new_standalone
    - rtpin_stream_init
    - strchr
    - strnicmp
    - gf_free
    - gf_sys_is_cov_mode
    - strrchr
    - rtpin_satip_get_server_ip
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_initialize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:910,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:913,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:912,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:911,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 920
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 920
    functionName: rtpin_probe_data
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'static const char *rtpin_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:179,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp.c:194,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp.c:197,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp.c:183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp.c:210,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp.c:214,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp.c:216,1
    - Dst: gf_rtp_stop
      Src: /src/gpac/src/filters/in_rtp.c:218,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_rtp.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:228,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - rtp
    - switch_up
    argTypes:
    - GF_RTPIn*
    - Bool
    constantsTouched: []
    func_position:
      end: 230
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 230
    functionName: gf_rtp_switch_quality
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - rtpin_stream_init
    - gf_list_get
    - gf_list_count
    - gf_sk_group_unregister
    - GF_LOG
    - gf_rtp_stop
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: void
    signature: 'static void gf_rtp_switch_quality(GF_RTPIn *rtp, Bool switch_up) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:49,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:51,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:58,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:57,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:50,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:59,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:60,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:61,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp.c:62,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: rtpin_probe_url
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore rtpin_probe_url(const char *url, const
      char *mime) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_stream_ack_connect
      Src: /src/gpac/src/filters/in_rtp.c:269,1
    - Dst: rtpin_stream_setup
      Src: /src/gpac/src/filters/in_rtp.c:279,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_rtp.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: rtpin_check_setup
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - rtpin_stream_ack_connect
    - memset
    - rtpin_stream_setup
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_check_setup(GF_RTPInStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp.c:432,1
    - Dst: rtpin_rtsp_process_commands
      Src: /src/gpac/src/filters/in_rtp.c:441,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp.c:438,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_rtp.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - session
    - reset_only
    argTypes:
    - GF_RTPInRTSP*
    - Bool
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: rtpin_rtsp_flush
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_rtsp_command_del
    - rtpin_rtsp_process_commands
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_rtsp_flush(GF_RTPInRTSP *session, Bool reset_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_RTPIn*
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: rtpin_do_authenticate
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void rtpin_do_authenticate(GF_RTPIn *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_rtp.c:885,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:893,1
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp.c:892,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:888,1
    - Dst: rtpin_rtsp_flush
      Src: /src/gpac/src/filters/in_rtp.c:889,1
    - Dst: rtpin_reset
      Src: /src/gpac/src/filters/in_rtp.c:897,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_rtp.c:898,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp.c:899,1
    - Dst: gf_sk_group_del
      Src: /src/gpac/src/filters/in_rtp.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 902
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 902
    functionName: rtpin_finalize
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sk_group_del
    - gf_list_del
    - GF_LOG
    - rtpin_reset
    - gf_free
    - rtpin_rtsp_flush
    - rtpin_rtsp_teardown
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_rtp.c:1016,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_rtp.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: rtpin_register
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rtpin_register(GF_FilterSession *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp.c:92,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:96,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp.c:116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp.c:93,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp.c:102,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp.c:107,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/in_rtp.c:112,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/in_rtp.c:91,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp.c:104,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_rtp.c:112,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/in_rtp.c:118,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_rtp.c:125,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_rtp.c:78,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp.c:82,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_rtp.c:91,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/in_rtp.c:100,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/in_rtp.c:125,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/in_rtp.c:107,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_rtp.c:126,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - sURL
    - Server
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 127
    functionName: rtpin_satip_get_server_ip
    functionSourceFile: /src/gpac/src/filters/in_rtp.c
    functionUses: []
    functionsReached:
    - strlen
    - MIN
    - GF_LOG
    - strrchr
    - strchr
    - strcpy
    - GF_ARRAY_LENGTH
    - stricmp
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void rtpin_satip_get_server_ip(const char *sURL, char *Server) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/tileagg.c:81,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:128,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:129,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/tileagg.c:139,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/tileagg.c:172,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/tileagg.c:175,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/tileagg.c:207,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tileagg.c:78,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/tileagg.c:84,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:95,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tileagg.c:158,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/tileagg.c:166,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/tileagg.c:170,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:180,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:181,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:192,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tileagg.c:85,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:112,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tileagg.c:123,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/tileagg.c:141,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/tileagg.c:142,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:144,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/tileagg.c:156,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:161,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/tileagg.c:169,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/tileagg.c:174,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:188,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:187,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/tileagg.c:89,1
    - Dst: TILEAGG_CFG_ERR
      Src: /src/gpac/src/filters/tileagg.c:96,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:103,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tileagg.c:150,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tileagg.c:157,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/tileagg.c:168,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tileagg.c:191,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/tileagg.c:212,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 119
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 216
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 216
    functionName: tileagg_configure_pid
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - gf_filter_pid_set_udta
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_odf_hevc_cfg_read
    - gf_filter_pid_copy_properties
    - gf_filter_pid_get_property_str
    - gf_list_del_item
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    - TILEAGG_CFG_ERR
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tileagg_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tileagg.c:259,1
    - Dst: tileagg_set_eos
      Src: /src/gpac/src/filters/tileagg.c:263,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tileagg.c:287,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:320,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:361,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:367,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:367,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tileagg.c:377,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/tileagg.c:336,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/tileagg.c:459,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tileagg.c:411,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:388,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:446,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:270,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tileagg.c:299,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/tileagg.c:298,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tileagg.c:307,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/tileagg.c:312,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/tileagg.c:324,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:327,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/tileagg.c:327,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:327,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/tileagg.c:334,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tileagg.c:352,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tileagg.c:449,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tileagg.c:456,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/tileagg.c:389,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/tileagg.c:438,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:386,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tileagg.c:461,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tileagg.c:423,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:444,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tileagg.c:416,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tileagg.c:233,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/tileagg.c:251,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/tileagg.c:262,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:267,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/tileagg.c:273,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tileagg.c:279,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tileagg.c:282,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tileagg.c:285,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tileagg.c:302,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tileagg.c:310,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/tileagg.c:420,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tileagg.c:427,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/tileagg.c:380,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:445,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/tileagg.c:293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:293,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/tileagg.c:293,1
    - Dst: tileagg_set_eos
      Src: /src/gpac/src/filters/tileagg.c:313,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tileagg.c:337,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tileagg.c:371,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/tileagg.c:376,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:387,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tileagg.c:393,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tileagg.c:437,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tileagg.c:424,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tileagg.c:356,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:384,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/tileagg.c:447,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/tileagg.c:442,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 206
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 467
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 467
    functionName: tileagg_process
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_truncate
    - gf_filter_ask_rt_reschedule
    - gf_filter_pid_get_name
    - gf_filter_connections_pending
    - gf_list_get
    - gf_bs_read_int
    - gf_sys_clock
    - memcpy
    - tileagg_set_eos
    - gf_filter_pck_send
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tileagg_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tileagg.c:479,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tileagg.c:481,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tileagg.c:483,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/tileagg.c:482,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/tileagg.c:480,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/tileagg.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: tileagg_finalize
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void tileagg_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tileagg.c:471,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/tileagg.c:473,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/tileagg.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: tileagg_initialize
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tileagg_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/tileagg.c:220,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/tileagg.c:223,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/tileagg.c:222,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/tileagg.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TileAggCtx*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: tileagg_set_eos
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_filter_pid_set_eos
    - gf_filter_get_ipid
    - gf_filter_get_ipid_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tileagg_set_eos(GF_Filter *filter, GF_TileAggCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tileagg.c:490,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/tileagg.c:506,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/tileagg.c:503,1
    - Dst: gf_filter_pid_get_buffer_occupancy
      Src: /src/gpac/src/filters/tileagg.c:515,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/tileagg.c:505,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tileagg.c:523,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 532
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 532
    functionName: tileagg_process_event
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_set_discard
    - gf_filter_pid_get_buffer_occupancy
    - GF_LOG
    - gf_filter_get_ipid_count
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool tileagg_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: tileagg_register
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tileagg_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: tileagg_register
    functionSourceFile: /src/gpac/src/filters/tileagg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tileagg_register(GF_FilterSession *session) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/filters/reframe_amr.c:151,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_amr.c:133,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_amr.c:209,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:175,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_amr.c:220,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_amr.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:229,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_amr.c:231,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_amr.c:238,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_amr.c:132,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_amr.c:142,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:154,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:163,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/reframe_amr.c:182,1
    - Dst: gf_fgetc
      Src: /src/gpac/src/filters/reframe_amr.c:186,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_amr.c:213,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_amr.c:222,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:240,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_amr.c:140,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_amr.c:155,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:158,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_amr.c:172,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_amr.c:164,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:167,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_amr.c:229,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_amr.c:159,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:174,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_amr.c:240,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 134
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AMRDmxCtx*
    constantsTouched: []
    func_position:
      end: 241
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 241
    functionName: amrdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - strncmp
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_fileio_is_main_thread
    - gf_fread
    - gf_fclose
    - gf_filter_pid_set_property
    - PROP_BOOL
    - gf_ftell
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - strnicmp
    - gf_fseek
    - gf_feof
    - gf_fgetc
    linkageType: ''
    returnType: void
    signature: 'static void amrdmx_check_dur(GF_Filter *filter, GF_AMRDmxCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_amr.c:278,1
    - Dst: amrdmx_check_dur
      Src: /src/gpac/src/filters/reframe_amr.c:290,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_amr.c:313,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_amr.c:317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 336
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 336
    functionName: amrdmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - amrdmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool amrdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_amr.c:352,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_amr.c:369,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_amr.c:376,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_amr.c:392,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_amr.c:397,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_amr.c:400,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:426,1
    - Dst: amrdmx_check_pid
      Src: /src/gpac/src/filters/reframe_amr.c:496,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_amr.c:550,1
    - Dst: amrdmx_update_cts
      Src: /src/gpac/src/filters/reframe_amr.c:541,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_amr.c:394,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_amr.c:406,1
    - Dst: amrdmx_update_cts
      Src: /src/gpac/src/filters/reframe_amr.c:409,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:422,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_amr.c:396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_amr.c:457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_amr.c:490,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_amr.c:523,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_amr.c:545,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_amr.c:370,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_amr.c:398,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_amr.c:416,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_amr.c:402,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:434,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_amr.c:513,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_amr.c:519,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_amr.c:521,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_amr.c:521,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_amr.c:531,1
    - Dst: amrdmx_check_dur
      Src: /src/gpac/src/filters/reframe_amr.c:360,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_amr.c:365,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_amr.c:367,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_amr.c:377,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:430,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_amr.c:516,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_amr.c:518,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_amr.c:526,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_amr.c:534,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 154
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 553
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 553
    functionName: amrdmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - amrdmx_check_dur
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - amrdmx_update_cts
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - amrdmx_check_pid
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_filter_pck_set_framing
    - memcpy
    - strnicmp
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err amrdmx_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_amr.c:564,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_amr.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: amrdmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void amrdmx_finalize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_amr.c:77,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_amr.c:82,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_amr.c:98,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_amr.c:91,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_amr.c:87,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_amr.c:110,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_amr.c:111,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:112,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 116
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 116
    functionName: amrdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err amrdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_AMRDmxCtx*
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: amrdmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void amrdmx_update_cts(GF_AMRDmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:248,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:254,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:258,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:261,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:263,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:270,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_amr.c:253,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:266,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:260,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:262,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:254,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:248,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:261,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:263,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:270,1
    - Dst: amrdmx_check_dur
      Src: /src/gpac/src/filters/reframe_amr.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_amr.c:262,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:260,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_amr.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - filter
    - ctx
    - amr_mode_set
    argTypes:
    - GF_Filter*
    - GF_AMRDmxCtx*
    - u16
    constantsTouched: []
    func_position:
      end: 272
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 272
    functionName: amrdmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - amrdmx_check_dur
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void amrdmx_check_pid(GF_Filter *filter, GF_AMRDmxCtx *ctx,
      u16 amr_mode_set) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_amr.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: amrdmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err amrdmx_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:570,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:582,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:574,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_amr.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: amrdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: char*
    signature: 'static const char * amrdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: rfamr_register
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfamr_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: rfamr_register
    functionSourceFile: /src/gpac/src/filters/reframe_amr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfamr_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_rtp.c:283,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtp.c:287,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtp.c:286,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_rtp.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - string
    - pattern
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: check_mime_ext
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - strlen
    - strlwr
    - strstr
    - strncpy
    linkageType: ''
    returnType: Bool
    signature: 'static Bool check_mime_ext(const char *string, const char *pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpout_create_sdp
      Src: /src/gpac/src/filters/out_rtp.c:634,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/out_rtp.c:641,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_rtp.c:640,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/out_rtp.c:638,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_rtp.c:637,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:643,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/out_rtp.c:644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:649,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/out_rtp.c:651,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/out_rtp.c:652,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_rtp.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_RTPOutCtx*
    constantsTouched: []
    func_position:
      end: 660
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 660
    functionName: rtpout_setup_sdp
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_fread
    - GF_LOG
    - gf_filter_pck_set_framing
    - gf_fclose
    - gf_ftell
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_fseek
    - rtpout_create_sdp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpout_setup_sdp(GF_RTPOutCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_streamer_del
      Src: /src/gpac/src/filters/out_rtp.c:676,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:681,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_rtp.c:677,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:679,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:683,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtp.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_RTPOutStream*
    constantsTouched: []
    func_position:
      end: 685
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 685
    functionName: rtpout_del_stream
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_del
    - gf_filter_pid_drop_packet
    - gf_free
    - gf_rtp_streamer_del
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'void rtpout_del_stream(GF_RTPOutStream *st) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:784,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_rtp.c:796,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtp.c:798,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtp.c:794,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtp.c:790,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtp.c:799,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_rtp.c:807,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_rtp.c:812,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_rtp.c:815,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_rtp.c:817,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_rtp.c:823,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/out_rtp.c:827,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_rtp.c:826,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_rtp.c:819,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 830
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 830
    functionName: rtpout_initialize
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_strdup
    - PROP_NAME
    - gf_filter_set_max_extra_input_pids
    - strchr
    - atoi
    - gf_free
    - PROP_UINT
    - gf_list_new
    - strncpy
    - strlwr
    - gf_filter_override_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpout_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:847,1
    - Dst: gf_rtp_streamer_send_data
      Src: /src/gpac/src/filters/out_rtp.c:850,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - stream
    - pslist
    - au_start
    - pck_size
    - cts
    - dts
    - duration
    argTypes:
    - GF_RTPOutStream*
    - GF_List*
    - Bool*
    - u32
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 855
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 855
    functionName: rtpout_send_xps
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_rtp_streamer_send_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpout_send_xps(GF_RTPOutStream *stream, GF_List *pslist,
      Bool *au_start, u32 pck_size, u32 cts, u32 dts, u32 duration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:915,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/out_rtp.c:916,1
    - Dst: gf_filter_pid_set_rt_stats
      Src: /src/gpac/src/filters/out_rtp.c:918,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - cbk
    - ssrc
    - rtt_ms
    - jitter_rtp_ts
    - loss_rate
    argTypes:
    - void*
    - u32
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 923
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 923
    functionName: rtpout_process_rtcp
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_pid_get_name
    - gf_timestamp_rescale
    - gf_filter_pid_set_rt_stats
    linkageType: ''
    returnType: void
    signature: 'static void rtpout_process_rtcp(void *cbk, u32 ssrc, u32 rtt_ms, u64
      jitter_rtp_ts, u32 loss_rate) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:1206,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:1218,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtp.c:1214,1
    - Dst: rtpout_init_clock
      Src: /src/gpac/src/filters/out_rtp.c:1210,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:1220,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_rtp.c:1221,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/out_rtp.c:1224,1
    - Dst: rtpout_process_rtp
      Src: /src/gpac/src/filters/out_rtp.c:1229,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_rtp.c:1233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1236
    functionName: rtpout_process
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_set_discard
    - gf_list_get
    - gf_list_count
    - rtpout_process_rtp
    - rtpout_init_clock
    - gf_filter_ask_rt_reschedule
    - gf_filter_pid_set_eos
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpout_process(GF_Filter *filter) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/out_rtp.c:95,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:102,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:108,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:117,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:124,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:129,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:135,1
    - Dst: gf_gpac_copyright
      Src: /src/gpac/src/filters/out_rtp.c:135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:143,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:159,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:220,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:269,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:218,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtp.c:238,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:92,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:94,1
    - Dst: gf_filter_pid_get_source_filter_name
      Src: /src/gpac/src/filters/out_rtp.c:110,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:122,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:115,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/out_rtp.c:132,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:133,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:146,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:171,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:186,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:214,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:237,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_rtp.c:259,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:245,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:230,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/filters/out_rtp.c:102,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:103,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_rtp.c:112,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filters/out_rtp.c:109,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/out_rtp.c:117,1
    - Dst: gf_net_is_ipv6
      Src: /src/gpac/src/filters/out_rtp.c:124,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:126,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/filters/out_rtp.c:135,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:189,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:222,1
    - Dst: gf_rtp_streamer_append_sdp_extended
      Src: /src/gpac/src/filters/out_rtp.c:234,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:253,1
    - Dst: gf_rtp_streamer_get_payload_type
      Src: /src/gpac/src/filters/out_rtp.c:261,1
    - Dst: gf_rtp_streamer_get_payload_type
      Src: /src/gpac/src/filters/out_rtp.c:248,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:248,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/out_rtp.c:87,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/out_rtp.c:99,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/out_rtp.c:100,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:106,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:153,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:164,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:166,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:205,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:208,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:211,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:168,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:195,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:272,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/out_rtp.c:261,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:227,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 176
    argCount: 10
    argNames:
    - streams
    - is_rtsp
    - ip
    - info
    - sess_name
    - url
    - email
    - base_pid_id
    - sdp_tmp
    - session_id
    argTypes:
    - GF_List*
    - Bool
    - char*
    - char*
    - char*
    - char*
    - char*
    - u32
    - FILE**
    - u64*
    constantsTouched: []
    func_position:
      end: 274
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 274
    functionName: rtpout_create_sdp
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_rtp_streamer_append_sdp_extended
    - gf_fprintf
    - gf_list_find
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_rtp_streamer_get_payload_type
    - gf_file_temp
    - gf_net_is_ipv6
    - gf_filter_pid_orig_src_args
    - gf_net_get_ntp_ts
    - gf_file_basename
    - gf_sys_is_test_mode
    - gf_free
    - gf_filter_pid_get_source_filter_name
    - gf_gpac_copyright
    - gf_gpac_version
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpout_create_sdp(GF_List *streams, Bool is_rtsp, const char
      *ip, const char *info, const char *sess_name, const char *url, const char *email,
      u32 base_pid_id, FILE **sdp_tmp, u64 *session_id) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:309,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:342,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:372,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:359,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:410,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:429,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/out_rtp.c:483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:507,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:530,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:542,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/out_rtp.c:485,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:489,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtp.c:618,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtp.c:616,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:546,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/out_rtp.c:451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:325,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:323,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:319,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/out_rtp.c:325,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:333,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/out_rtp.c:348,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:383,1
    - Dst: check_mime_ext
      Src: /src/gpac/src/filters/out_rtp.c:384,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:398,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:400,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:490,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:540,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/out_rtp.c:591,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_rtp.c:556,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_rtp.c:478,1
    - Dst: gf_rtp_streamer_get_timescale
      Src: /src/gpac/src/filters/out_rtp.c:598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:312,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:339,1
    - Dst: check_mime_ext
      Src: /src/gpac/src/filters/out_rtp.c:380,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:402,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:412,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/out_rtp.c:414,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_rtp.c:473,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/out_rtp.c:487,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:527,1
    - Dst: gf_rtp_streamer_new_ex
      Src: /src/gpac/src/filters/out_rtp.c:585,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:610,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:591,1
    - Dst: gf_rtp_streamer_disable_auto_rtcp
      Src: /src/gpac/src/filters/out_rtp.c:613,1
    - Dst: gf_rtp_streamer_get_codecid
      Src: /src/gpac/src/filters/out_rtp.c:587,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:595,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:330,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/out_rtp.c:395,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:370,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:379,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:404,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:406,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/out_rtp.c:423,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/out_rtp.c:444,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:460,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:465,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_rtp.c:468,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:536,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 283
    argCount: 12
    argNames:
    - stream
    - ipdest
    - inject_xps
    - use_mpeg4_signaling
    - use_latm
    - payt
    - mtu
    - ttl
    - ifce
    - is_rtsp
    - base_pid_id
    - netcap_id
    argTypes:
    - GF_RTPOutStream*
    - char*
    - Bool
    - Bool
    - Bool
    - u32
    - u32
    - u32
    - char*
    - Bool
    - u32*
    - char*
    constantsTouched: []
    func_position:
      end: 620
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 620
    functionName: rtpout_init_streamer
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - memset
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_odf_avc_cfg_read
    - gf_timestamp_rescale
    - gf_4cc_to_str
    - gf_crc_32
    - gf_rtp_streamer_get_timescale
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_avc_cfg_del
    - gf_rtp_streamer_disable_auto_rtcp
    - gf_filter_pid_get_name
    - gf_list_insert
    - gf_list_get
    - gf_rtp_streamer_new_ex
    - check_mime_ext
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_list_rem
    - gf_rtp_streamer_get_codecid
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpout_init_streamer(GF_RTPOutStream *stream, const char *ipdest,
      Bool inject_xps, Bool use_mpeg4_signaling, Bool use_latm, u32 payt, u32 mtu,
      u32 ttl, const char *ifce, Bool is_rtsp, u32 *base_pid_id, const char *netcap_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:664,1
    - Dst: rtpout_check_next_port
      Src: /src/gpac/src/filters/out_rtp.c:668,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - first_port
    argTypes:
    - GF_RTPOutCtx*
    - u16
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: rtpout_check_next_port
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - rtpout_check_next_port
    linkageType: ''
    returnType: u16
    signature: 'static u16 rtpout_check_next_port(GF_RTPOutCtx *ctx, u16 first_port) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: rtpout_del_stream
      Src: /src/gpac/src/filters/out_rtp.c:700,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:702,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/out_rtp.c:703,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:710,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtp.c:721,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtp.c:741,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtp.c:733,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:724,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/out_rtp.c:751,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/out_rtp.c:753,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/out_rtp.c:755,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/out_rtp.c:776,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:689,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/out_rtp.c:737,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_rtp.c:740,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/out_rtp.c:754,1
    - Dst: rtpout_init_streamer
      Src: /src/gpac/src/filters/out_rtp.c:765,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_rtp.c:765,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:776,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtp.c:699,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:696,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:708,1
    - Dst: rtpout_del_stream
      Src: /src/gpac/src/filters/out_rtp.c:722,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtp.c:731,1
    - Dst: rtpout_check_next_port
      Src: /src/gpac/src/filters/out_rtp.c:744,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/out_rtp.c:748,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/out_rtp.c:750,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_rtp.c:751,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/out_rtp.c:752,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/out_rtp.c:754,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_rtp.c:762,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:773,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 780
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 780
    functionName: rtpout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - GF_LOG
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - rtpout_check_next_port
    - gf_filter_get_udta
    - gf_list_find
    - rtpout_del_stream
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - PROP_UINT
    - gf_filter_pid_get_name
    - gf_list_del_item
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_filter_pid_init_play_event
    - gf_filter_pid_send_event
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_filter_get_netcap_id
    - rtpout_init_streamer
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtp.c:834,1
    - Dst: rtpout_del_stream
      Src: /src/gpac/src/filters/out_rtp.c:838,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:836,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtp.c:840,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_rtp.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 842
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 842
    functionName: rtpout_finalize
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - rtpout_del_stream
    - gf_list_count
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void rtpout_finalize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:861,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_rtp.c:871,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/out_rtp.c:869,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_rtp.c:866,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:865,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:875,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:880,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtp.c:884,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:886,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/out_rtp.c:888,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_rtp.c:904,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_rtp.c:891,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:890,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:903,1
    - Dst: rtpout_setup_sdp
      Src: /src/gpac/src/filters/out_rtp.c:898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:894,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_RTPOutCtx*
    constantsTouched: []
    func_position:
      end: 909
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 909
    functionName: rtpout_init_clock
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - gf_list_get
    - gf_filter_pid_get_packet
    - gf_list_count
    - GF_LOG
    - gf_rand_init
    - gf_timestamp_rescale
    - rtpout_setup_sdp
    - gf_sys_clock_high_res
    - gf_rand
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rtpout_init_clock(GF_RTPOutCtx *ctx) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_rtp.c:956,1
    - Dst: gf_rtp_streamer_read_rtcp
      Src: /src/gpac/src/filters/out_rtp.c:951,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtp.c:1041,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtp.c:1049,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtp.c:1052,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtp.c:1053,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_rtp.c:1082,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/out_rtp.c:1113,1
    - Dst: gf_rtp_streamer_send_rtcp
      Src: /src/gpac/src/filters/out_rtp.c:1134,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_rtp.c:1191,1
    - Dst: gf_rtp_streamer_send_data
      Src: /src/gpac/src/filters/out_rtp.c:1189,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/out_rtp.c:972,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_rtp.c:974,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/out_rtp.c:978,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/out_rtp.c:979,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:1040,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_rtp.c:1085,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1116,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:1127,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:1161,1
    - Dst: gf_rtp_streamer_send_data
      Src: /src/gpac/src/filters/out_rtp.c:1184,1
    - Dst: rtpout_send_xps
      Src: /src/gpac/src/filters/out_rtp.c:1152,1
    - Dst: rtpout_send_xps
      Src: /src/gpac/src/filters/out_rtp.c:1155,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_rtp.c:1195,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:1159,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_rtp.c:959,1
    - Dst: gf_rtp_streamer_send_bye
      Src: /src/gpac/src/filters/out_rtp.c:965,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:1023,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:1043,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:1045,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtp.c:1061,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1078,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_rtp.c:1083,1
    - Dst: rtpout_send_xps
      Src: /src/gpac/src/filters/out_rtp.c:1163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1178,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtp.c:940,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:944,1
    - Dst: gf_rtp_streamer_send_au
      Src: /src/gpac/src/filters/out_rtp.c:964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1035,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:994,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtp.c:1026,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtp.c:1050,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1072,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtp.c:1075,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtp.c:1130,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/filters/out_rtp.c:1126,1
    - Dst: rtpout_send_xps
      Src: /src/gpac/src/filters/out_rtp.c:1150,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 246
    argCount: 12
    argNames:
    - streams
    - active_stream
    - loop
    - delay
    - active_stream_idx
    - sys_clock_at_init
    - active_min_ts_microsec
    - microsec_ts_init
    - wait_for_loop
    - repost_delay_us
    - first_RTCP_sent
    - base_pid_id
    argTypes:
    - GF_List*
    - GF_RTPOutStream**
    - Bool
    - s32
    - u32*
    - u64
    - u64*
    - u64
    - Bool*
    - u32*
    - Bool*
    - u32
    constantsTouched: []
    func_position:
      end: 1200
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 1200
    functionName: rtpout_process_rtp
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_rtp_streamer_send_data
    - gf_filter_pck_get_duration
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_rtp_streamer_send_rtcp
    - gf_filter_pck_get_sap
    - gf_rtp_streamer_send_au
    - gf_filter_pck_get_data
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_net_get_ntp
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_filter_pid_send_event
    - rtpout_send_xps
    - gf_filter_pid_get_property
    - gf_rtp_streamer_send_bye
    - gf_rtp_streamer_read_rtcp
    - gf_log_tool_level_on
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpout_process_rtp(GF_List *streams, GF_RTPOutStream **active_stream,
      Bool loop, s32 delay, u32 *active_stream_idx, u64 sys_clock_at_init, u64 *active_min_ts_microsec,
      u64 microsec_ts_init, Bool *wait_for_loop, u32 *repost_delay_us, Bool *first_RTCP_sent,
      u32 base_pid_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_rtp.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: rtpout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore rtpout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_rtp.c:1337,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_rtp.c:1338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: rtpout_register
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rtpout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: rtpout_register
    functionSourceFile: /src/gpac/src/filters/out_rtp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rtpout_register(GF_FilterSession *session) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:450,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/mux_isom.c:448,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:437,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - tkw
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 457
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 457
    functionName: mp4mx_setup_dash_vod
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - GF_LOG
    - gf_file_temp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4mx_setup_dash_vod(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:705,1
    - Dst: gf_isom_set_track_group
      Src: /src/gpac/src/filters/mux_isom.c:719,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_isom.c:710,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - tkw
    - name
    - p
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 720
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 720
    functionName: mp4mx_set_track_group
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_set_track_group
    - atoi
    - GF_4CC
    linkageType: ''
    returnType: void
    signature: 'static void mp4mx_set_track_group(GF_MP4MuxCtx *ctx, TrackWriter *tkw,
      char *name, const GF_PropertyValue *p) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_isom.c:4309,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/mux_isom.c:4325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4337,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/mux_isom.c:4330,1
    - Dst: gf_cenc_set_pssh
      Src: /src/gpac/src/filters/mux_isom.c:4346,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:4281,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4303,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/mux_isom.c:4336,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/mux_isom.c:4333,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:4321,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_isom.c:4340,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:4358,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:4311,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/mux_isom.c:4347,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/mux_isom.c:4348,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4351,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4355,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_isom.c:4356,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4299,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4283,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:4297,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:4308,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/mux_isom.c:4319,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:4320,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:4335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4326,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 4
    argNames:
    - ctx
    - tkw
    - pssh
    - dyn_pssh_mode
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 4362
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4362
    functionName: mp4_mux_cenc_insert_pssh
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_skip_bytes
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_filter_pid_get_packet
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_new
    - gf_bs_available
    - gf_bs_is_overflow
    - memcpy
    - gf_cenc_set_pssh
    - gf_bs_read_data
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_cenc_insert_pssh(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, const GF_PropertyValue *pssh, u32 dyn_pssh_mode) '
  - BBCount: 121
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6796,1
    - Dst: gf_isom_flush_fragments
      Src: /src/gpac/src/filters/mux_isom.c:7078,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:7083,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7118,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:6906,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6884,1
    - Dst: mp4_process_id3
      Src: /src/gpac/src/filters/mux_isom.c:6768,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:6827,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6891,1
    - Dst: mp4mx_frag_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:7018,1
    - Dst: gf_isom_flush_sidx
      Src: /src/gpac/src/filters/mux_isom.c:7141,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/mux_isom.c:7148,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/filters/mux_isom.c:7171,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_isom.c:7119,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:6683,1
    - Dst: mp4_mux_start_fragment
      Src: /src/gpac/src/filters/mux_isom.c:6748,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:6765,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7009,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7145,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/mux_isom.c:7120,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6820,1
    - Dst: mp4_mux_initialize_movie
      Src: /src/gpac/src/filters/mux_isom.c:6604,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:6691,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:6813,1
    - Dst: gf_isom_flush_sidx
      Src: /src/gpac/src/filters/mux_isom.c:7136,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:6637,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:6610,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6618,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:6936,1
    - Dst: gf_isom_set_fragment_original_duration
      Src: /src/gpac/src/filters/mux_isom.c:6954,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6696,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:6754,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6808,1
    - Dst: gf_isom_close_segment
      Src: /src/gpac/src/filters/mux_isom.c:7040,1
    - Dst: mp4mx_reload_output
      Src: /src/gpac/src/filters/mux_isom.c:7127,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_isom.c:7178,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:6795,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6897,1
    - Dst: gf_isom_set_traf_base_media_decode_time
      Src: /src/gpac/src/filters/mux_isom.c:6921,1
    - Dst: mp4_mux_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:6930,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:7161,1
    - Dst: mp4_mux_flush_fragmented
      Src: /src/gpac/src/filters/mux_isom.c:6596,1
    - Dst: gf_isom_start_segment
      Src: /src/gpac/src/filters/mux_isom.c:6680,1
    - Dst: gf_isom_start_segment
      Src: /src/gpac/src/filters/mux_isom.c:6709,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6731,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:6958,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7057,1
    - Dst: mp4mux_check_mpd_start_time
      Src: /src/gpac/src/filters/mux_isom.c:6777,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/mux_isom.c:6823,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6952,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7059,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7104,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/mux_isom.c:6654,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_isom.c:6851,1
    - Dst: gf_isom_set_traf_base_media_decode_time
      Src: /src/gpac/src/filters/mux_isom.c:6923,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7048,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7091,1
    - Dst: mp4mux_send_output
      Src: /src/gpac/src/filters/mux_isom.c:7176,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_isom.c:6651,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6730,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6723,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/mux_isom.c:6808,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_isom.c:6848,1
    - Dst: gf_isom_set_fragment_reference_time
      Src: /src/gpac/src/filters/mux_isom.c:6807,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:7036,1
    - Dst: mp4_mux_on_data
      Src: /src/gpac/src/filters/mux_isom.c:7089,1
    - Dst: mp4_mux_flush_frag_llhas
      Src: /src/gpac/src/filters/mux_isom.c:7100,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/mux_isom.c:7147,1
    - Dst: mp4_mux_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:6853,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6960,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7010,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6823,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:6847,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6798,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:6800,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6801,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6859,1
    - Dst: mp4_mux_process_sample
      Src: /src/gpac/src/filters/mux_isom.c:6950,1
    - Dst: gf_isom_set_emsg
      Src: /src/gpac/src/filters/mux_isom.c:6756,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/mux_isom.c:6823,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:6904,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:6937,1
    - Dst: gf_isom_set_next_moof_number
      Src: /src/gpac/src/filters/mux_isom.c:6979,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6944,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6976,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6982,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:6661,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:6697,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6739,1
    - Dst: gf_isom_start_fragment
      Src: /src/gpac/src/filters/mux_isom.c:6974,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:6839,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6976,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:7066,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7072,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/mux_isom.c:7150,1
    - Dst: mp4_mux_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:6874,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_isom.c:6644,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6701,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6805,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/mux_isom.c:6808,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_isom.c:6872,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/mux_isom.c:7064,1
    - Dst: gf_isom_set_fragment_reference_time
      Src: /src/gpac/src/filters/mux_isom.c:6822,1
    - Dst: mp4mux_send_output
      Src: /src/gpac/src/filters/mux_isom.c:7143,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7156,1
    CyclomaticComplexity: 189
    EdgeCount: 189
    ICount: 519
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 7186
      start: 6589
    functionDepth: 0
    functionLinenumber: 6589
    functionLinenumberEnd: 7186
    functionName: mp4_mux_process_fragmented
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - mp4_mux_flush_fragmented
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_isom_set_fragment_original_duration
    - gf_filter_pck_get_property_str
    - gf_filter_pid_drop_packet
    - gf_isom_close_segment
    - gf_timestamp_rescale
    - mp4_mux_on_data
    - mp4_mux_flush_frag_llhas
    - gf_filter_pid_set_eos
    - gf_fseek
    - gf_list_pop_back
    - gf_isom_flush_sidx
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_strdup
    - gf_isom_set_traf_base_media_decode_time
    - gf_isom_close
    - mp4mx_frag_box_patch
    - mp4_process_id3
    - gf_assert
    - gf_filter_pck_get_dts
    - mp4mx_reload_output
    - gf_list_get
    - mp4mux_send_output
    - mp4_mux_start_fragment
    - gf_isom_start_segment
    - gf_filter_pck_discard
    - gf_ftell
    - mp4_mux_get_sap
    - gf_free
    - gf_isom_set_fragment_option
    - gf_isom_set_next_moof_number
    - gf_net_get_utc
    - gf_filter_pck_unref
    - gf_filter_pid_is_flush_eos
    - mp4mux_check_mpd_start_time
    - gf_fflush
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_isom_set_fragment_reference_time
    - mp4_mux_initialize_movie
    - gf_isom_box_del
    - mp4_mux_process_sample
    - gf_timestamp_greater_or_equal
    - gf_isom_start_fragment
    - mp4_mux_flush_seg
    - gf_sys_clock_high_res
    - gf_isom_set_emsg
    - gf_isom_flush_fragments
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_process_fragmented(GF_MP4MuxCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - cbk
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7781
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7781
    functionName: mp4_mux_on_last_block_start
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_on_last_block_start(void *cbk) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 4
    argCount: 2
    argNames:
    - stream_type
    - codecid
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 491
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 491
    functionName: gf_isom_stream_type_to_media_type
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_isom_stream_type_to_media_type(u32 stream_type, u32
      codecid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:4172,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_isom.c:4178,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:4175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:4179,1
    - Dst: mp4_mux_done_track
      Src: /src/gpac/src/filters/mux_isom.c:4177,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4180,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:4184,1
    - Dst: mp4_mux_done
      Src: /src/gpac/src/filters/mux_isom.c:4188,1
    - Dst: mp4_mux_flush_fragmented
      Src: /src/gpac/src/filters/mux_isom.c:4193,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/mux_isom.c:4199,1
    - Dst: mp4_mux_setup_pid
      Src: /src/gpac/src/filters/mux_isom.c:4204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 4205
      start: 4170
    functionDepth: 0
    functionLinenumber: 4170
    functionLinenumberEnd: 4205
    functionName: mp4_mux_configure_pid
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - mp4_mux_flush_fragmented
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_list_count
    - mp4_mux_done
    - mp4_mux_done_track
    - mp4_mux_setup_pid
    - gf_free
    - gf_list_del_item
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4409,1
    - Dst: gf_isom_clone_sample_description
      Src: /src/gpac/src/filters/mux_isom.c:4415,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4417,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4480,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/mux_isom.c:4490,1
    - Dst: gf_isom_set_sample_cenc_group
      Src: /src/gpac/src/filters/mux_isom.c:4541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4548,1
    - Dst: gf_isom_set_sample_group_description
      Src: /src/gpac/src/filters/mux_isom.c:4557,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_isom.c:4594,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_isom.c:4595,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_isom.c:4599,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:4612,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_isom.c:4582,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:4664,1
    - Dst: gf_isom_fragment_set_cenc_sai
      Src: /src/gpac/src/filters/mux_isom.c:4709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4650,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4401,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4404,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4398,1
    - Dst: gf_isom_set_cenc_protection
      Src: /src/gpac/src/filters/mux_isom.c:4441,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4448,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/mux_isom.c:4454,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4501,1
    - Dst: gf_isom_fragment_set_cenc_sai
      Src: /src/gpac/src/filters/mux_isom.c:4513,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4632,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_isom.c:4662,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:4677,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:4691,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4548,1
    - Dst: gf_isom_fragment_set_cenc_sai
      Src: /src/gpac/src/filters/mux_isom.c:4711,1
    - Dst: gf_isom_track_cenc_add_sample_info
      Src: /src/gpac/src/filters/mux_isom.c:4718,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:4675,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:4600,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/mux_isom.c:4646,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4381,1
    - Dst: mp4_mux_cenc_insert_pssh
      Src: /src/gpac/src/filters/mux_isom.c:4468,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4448,1
    - Dst: gf_isom_track_cenc_add_sample_info
      Src: /src/gpac/src/filters/mux_isom.c:4518,1
    - Dst: gf_isom_set_sample_cenc_group
      Src: /src/gpac/src/filters/mux_isom.c:4523,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4552,1
    - Dst: mp4_mux_cenc_insert_pssh
      Src: /src/gpac/src/filters/mux_isom.c:4555,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:4557,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:4568,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/mux_isom.c:4572,1
    - Dst: gf_isom_set_sample_cenc_default_group
      Src: /src/gpac/src/filters/mux_isom.c:4544,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4417,1
    - Dst: gf_isom_is_same_sample_description
      Src: /src/gpac/src/filters/mux_isom.c:4459,1
    - Dst: gf_isom_piff_allocate_storage
      Src: /src/gpac/src/filters/mux_isom.c:4475,1
    - Dst: gf_isom_remove_stream_description
      Src: /src/gpac/src/filters/mux_isom.c:4460,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4471,1
    - Dst: gf_isom_cenc_allocate_storage
      Src: /src/gpac/src/filters/mux_isom.c:4477,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:4522,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_isom.c:4570,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:4596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4704,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/mux_isom.c:4629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4638,1
    - Dst: gf_isom_track_cenc_add_sample_info
      Src: /src/gpac/src/filters/mux_isom.c:4720,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4723,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_isom.c:4672,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 323
    argCount: 6
    argNames:
    - ctx
    - tkw
    - pck
    - act_type
    - pck_size
    - injected_hdr_size
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - GF_FilterPacket*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 4725
      start: 4364
    functionDepth: 0
    functionLinenumber: 4364
    functionLinenumberEnd: 4725
    functionName: mp4_mux_cenc_update
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_isom_track_cenc_add_sample_info
    - GF_LOG
    - gf_bs_write_long_int
    - gf_filter_pck_get_crypt_flags
    - gf_isom_is_same_sample_description
    - gf_isom_clone_sample_description
    - gf_bs_del
    - GF_4CC
    - gf_error_to_string
    - gf_isom_get_sample_description_count
    - gf_isom_modify_alternate_brand
    - gf_assert
    - gf_bs_write_u16
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_isom_piff_allocate_storage
    - gf_free
    - gf_isom_fragment_set_cenc_sai
    - gf_isom_cenc_allocate_storage
    - gf_isom_set_sample_cenc_group
    - gf_filter_pck_get_property
    - gf_isom_set_sample_cenc_default_group
    - gf_filter_pid_get_property
    - gf_isom_set_cenc_protection
    - mp4_mux_cenc_insert_pssh
    - gf_isom_remove_stream_description
    - gf_isom_set_sample_group_description
    - key_info_get_iv_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_cenc_update(GF_MP4MuxCtx *ctx, TrackWriter *tkw,
      GF_FilterPacket *pck, u32 act_type, u32 pck_size, u32 injected_hdr_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:7799,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/mux_isom.c:7805,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:7820,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:7823,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:7817,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/mux_isom.c:7821,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:7831,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/mux_isom.c:7856,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:7871,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:7873,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_isom.c:7884,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/mux_isom.c:7881,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_isom.c:7878,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:7803,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/mux_isom.c:7804,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:7802,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7813,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:7830,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/mux_isom.c:7838,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/mux_isom.c:7847,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_isom.c:7858,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7859,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/mux_isom.c:7860,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:7884,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:7906,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/mux_isom.c:7827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7848,1
    - Dst: gf_filter_pck_new_ref_destructor
      Src: /src/gpac/src/filters/mux_isom.c:7854,1
    - Dst: gf_filter_pck_new_alloc_destructor
      Src: /src/gpac/src/filters/mux_isom.c:7864,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:7866,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:7878,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/mux_isom.c:7892,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/mux_isom.c:7896,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/mux_isom.c:7898,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_isom.c:7904,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:7859,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:7881,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:7879,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:7906,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/mux_isom.c:7889,1
    - Dst: mp4mux_send_output
      Src: /src/gpac/src/filters/mux_isom.c:7792,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/mux_isom.c:7806,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:7807,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:7810,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_isom.c:7829,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:7826,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/mux_isom.c:7822,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:7825,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7833,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7840,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/mux_isom.c:7859,1
    - Dst: mp4mux_send_output
      Src: /src/gpac/src/filters/mux_isom.c:7915,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:7879,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 120
    argCount: 5
    argNames:
    - cbk
    - data
    - block_size
    - cbk_data
    - cbk_magic
    argTypes:
    - void*
    - u8*
    - u32
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 7918
      start: 7783
    functionDepth: 0
    functionLinenumber: 7783
    functionLinenumberEnd: 7918
    functionName: mp4_mux_on_data
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - GF_LOG
    - PROP_FRAC64
    - gf_filter_pck_set_interlaced
    - gf_timestamp_rescale
    - gf_fwrite
    - gf_filter_pck_get_timescale
    - gf_bs_skip_bytes
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_list_find
    - PROP_STRING
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_assert
    - gf_list_del_item
    - gf_filter_pck_set_duration
    - gf_filter_pck_set_property
    - mp4mux_send_output
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_bs_write_u32
    - memcpy
    - gf_sys_is_test_mode
    - gf_filter_pck_send
    - gf_filter_pck_new_ref_destructor
    - gf_filter_pck_unref
    - gf_filter_pck_new_ref
    - mp4_mux_flush_seg
    - gf_filter_pck_new_alloc_destructor
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_on_data(void *cbk, u8 *data, u32 block_size,
      void *cbk_data, u32 cbk_magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 8757
      start: 8754
    functionDepth: 0
    functionLinenumber: 8754
    functionLinenumberEnd: 8757
    functionName: mp4mx_register
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mp4mx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:495,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_isom.c:499,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:497,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_isom.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - bs
    - list
    - nalu_size_length
    argTypes:
    - GF_BitStream*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: mp4_mux_write_ps_list
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_write_ps_list(GF_BitStream *bs, GF_List *list,
      u32 nalu_size_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:627,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:630,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:631,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:628,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:629,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:632,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:633,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:634,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_isom.c:635,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 1
    argNames:
    - tkw
    argTypes:
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 637
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 637
    functionName: mp4_mux_track_writer_del
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_del
    - gf_filter_pck_discard
    - gf_free
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_track_writer_del(TrackWriter *tkw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:944,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:949,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:952,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:946,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 955
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 955
    functionName: update_chap_refs
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_set_track_reference
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void update_chap_refs(GF_MP4MuxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:6483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6497,1
    - Dst: mp4_mux_initialize
      Src: /src/gpac/src/filters/mux_isom.c:6492,1
    - Dst: mp4_mux_configure_pid
      Src: /src/gpac/src/filters/mux_isom.c:6503,1
    - Dst: mp4_mux_done
      Src: /src/gpac/src/filters/mux_isom.c:6487,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:6514,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:6518,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 6524
      start: 6480
    functionDepth: 0
    functionLinenumber: 6480
    functionLinenumberEnd: 6524
    functionName: mp4mx_reload_output
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - mp4_mux_initialize
    - gf_list_get
    - mp4_mux_configure_pid
    - gf_list_count
    - mp4_mux_done
    - gf_strdup
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4mx_reload_output(GF_MP4MuxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:7198,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:7209,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7199,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7203,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_isom.c:7206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - services
    - tkw
    argTypes:
    - GF_List*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 7211
      start: 7195
    functionDepth: 0
    functionLinenumber: 7195
    functionLinenumberEnd: 7211
    functionName: get_service_info
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_SAFEALLOC
    linkageType: ''
    returnType: struct _service_info*
    signature: 'static struct _service_info *get_service_info(GF_List *services, TrackWriter
      *tkw) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:7562,1
    - Dst: mp4_mux_config_timing
      Src: /src/gpac/src/filters/mux_isom.c:7568,1
    - Dst: mp4_mux_flush_seg_events
      Src: /src/gpac/src/filters/mux_isom.c:7584,1
    - Dst: mp4_mux_format_report
      Src: /src/gpac/src/filters/mux_isom.c:7588,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/mux_isom.c:7611,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:7651,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:7662,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:7643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7712,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_isom.c:7611,1
    - Dst: mp4_mux_cenc_update
      Src: /src/gpac/src/filters/mux_isom.c:7679,1
    - Dst: mp4_mux_done
      Src: /src/gpac/src/filters/mux_isom.c:7701,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7563,1
    - Dst: mp4_mux_format_report
      Src: /src/gpac/src/filters/mux_isom.c:7570,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7599,1
    - Dst: mp4mux_check_mpd_start_time
      Src: /src/gpac/src/filters/mux_isom.c:7638,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/mux_isom.c:7672,1
    - Dst: mp4_mux_process_item
      Src: /src/gpac/src/filters/mux_isom.c:7682,1
    - Dst: mp4_mux_process_sample
      Src: /src/gpac/src/filters/mux_isom.c:7684,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:7687,1
    - Dst: mp4_mux_format_report
      Src: /src/gpac/src/filters/mux_isom.c:7693,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/mux_isom.c:7716,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/mux_isom.c:7579,1
    - Dst: mp4_mux_process_fragmented
      Src: /src/gpac/src/filters/mux_isom.c:7586,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:7600,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:7629,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:7642,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:7636,1
    - Dst: mp4mx_reload_output
      Src: /src/gpac/src/filters/mux_isom.c:7696,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 120
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 7720
      start: 7560
    functionDepth: 0
    functionLinenumber: 7560
    functionLinenumberEnd: 7720
    functionName: mp4_mux_process
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - mp4_mux_done
    - mp4_mux_config_timing
    - gf_filter_pid_drop_packet
    - mp4_mux_process_fragmented
    - gf_filter_get_udta
    - mp4_mux_format_report
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_filter_connections_pending
    - mp4mx_reload_output
    - gf_list_get
    - gf_set_progress
    - gf_filter_pid_is_flush_eos
    - mp4mux_check_mpd_start_time
    - gf_filter_pck_get_property
    - mp4_mux_process_item
    - mp4_mux_process_sample
    - mp4_mux_flush_seg_events
    - gf_timestamp_greater
    - mp4_mux_cenc_update
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp4_mux_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:7923,1
    - Dst: mp4_mux_format_report
      Src: /src/gpac/src/filters/mux_isom.c:7925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - udta
    - done
    - total
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 7926
      start: 7920
    functionDepth: 0
    functionLinenumber: 7920
    functionLinenumberEnd: 7926
    functionName: mp4_mux_progress_cbk
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - mp4_mux_format_report
    linkageType: ''
    returnType: void
    signature: 'void mp4_mux_progress_cbk(void *udta, u64 done, u64 total) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:505,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - list
    - type
    argTypes:
    - GF_List*
    - u8
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: mp4_mux_get_nalus_ps
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *mp4_mux_get_nalus_ps(GF_List *list, u8 type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:642,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:647,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - tkw
    - rname
    - rtype
    - remove_from_pres
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: mp4_mux_write_track_refs
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_set_track_reference
    - gf_isom_set_track_flags
    - gf_filter_pid_get_property_str
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_write_track_refs(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, const char *rname, u32 rtype, Bool remove_from_pres) '
  - BBCount: 799
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_new_track_from_template
      Src: /src/gpac/src/filters/mux_isom.c:1506,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1648,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:1912,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1849,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/filters/mux_isom.c:2755,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2870,1
    - Dst: gf_odf_vp_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2888,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3404,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:3468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:3515,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:4030,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:3462,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:1112,1
    - Dst: gf_isom_reset_alt_brands
      Src: /src/gpac/src/filters/mux_isom.c:1294,1
    - Dst: gf_isom_set_alternate_group_id
      Src: /src/gpac/src/filters/mux_isom.c:1628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2137,1
    - Dst: gf_isom_ia_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2868,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4136,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/src/filters/mux_isom.c:3324,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3562,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1308,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/mux_isom.c:1124,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1535,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3453,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:3843,1
    - Dst: gf_isom_new_text_description
      Src: /src/gpac/src/filters/mux_isom.c:3857,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:3301,1
    - Dst: gf_isom_add_chapter
      Src: /src/gpac/src/filters/mux_isom.c:3879,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:4080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3028,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/filters/mux_isom.c:1401,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1176,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1626,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1699,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2436,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:2680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2357,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2675,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1799,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2758,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3247,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3762,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3736,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3978,1
    - Dst: gf_isom_vvc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2792,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2843,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:2885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3044,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3483,1
    - Dst: gf_isom_set_audio_info
      Src: /src/gpac/src/filters/mux_isom.c:3557,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1847,1
    - Dst: mp4_mux_get_video_size
      Src: /src/gpac/src/filters/mux_isom.c:2159,1
    - Dst: gf_isom_remove_root_od
      Src: /src/gpac/src/filters/mux_isom.c:1292,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1390,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1304,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/src/filters/mux_isom.c:2463,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2890,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3525,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/filters/mux_isom.c:3585,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1264,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1279,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2545,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2511,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/mux_isom.c:2617,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2875,1
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2879,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/mux_isom.c:3043,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/mux_isom.c:3276,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:3486,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3133,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1716,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1065,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/filters/mux_isom.c:1449,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1553,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1666,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:2157,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:2355,1
    - Dst: mp4_mux_get_video_size
      Src: /src/gpac/src/filters/mux_isom.c:2451,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2939,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2546,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:3011,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2564,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/mux_isom.c:1034,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:1094,1
    - Dst: gf_isom_stream_type_to_media_type
      Src: /src/gpac/src/filters/mux_isom.c:1445,1
    - Dst: gf_isom_keep_utc_times
      Src: /src/gpac/src/filters/mux_isom.c:1498,1
    - Dst: gf_isom_set_track_stsd_templates
      Src: /src/gpac/src/filters/mux_isom.c:1527,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/filters/mux_isom.c:1550,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:1741,1
    - Dst: gf_isom_set_oma_protection
      Src: /src/gpac/src/filters/mux_isom.c:3435,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3936,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3769,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3689,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:3703,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3752,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1851,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1067,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/mux_isom.c:1098,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2896,1
    - Dst: gf_isom_new_mpha_description
      Src: /src/gpac/src/filters/mux_isom.c:3131,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3426,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3667,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3749,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_isom.c:3757,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3500,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4098,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/mux_isom.c:4090,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1590,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:1661,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:2890,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3316,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3525,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:3863,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:4045,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:3713,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:4101,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4134,1
    - Dst: gf_isom_new_mpeg4_description
      Src: /src/gpac/src/filters/mux_isom.c:2595,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:1744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3162,1
    - Dst: gf_isom_set_image_sequence_alpha
      Src: /src/gpac/src/filters/mux_isom.c:3530,1
    - Dst: gf_isom_set_audio_layout
      Src: /src/gpac/src/filters/mux_isom.c:3569,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3761,1
    - Dst: mp4_mux_set_udta
      Src: /src/gpac/src/filters/mux_isom.c:4158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:3339,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:3929,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4137,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2520,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/mux_isom.c:1055,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:1514,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2739,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:3909,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3976,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3725,1
    - Dst: gf_isom_update_sample_description_from_template
      Src: /src/gpac/src/filters/mux_isom.c:3819,1
    - Dst: gf_isom_text_to_sample
      Src: /src/gpac/src/filters/mux_isom.c:3886,1
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/filters/mux_isom.c:3916,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/mux_isom.c:4006,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_isom.c:1578,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2690,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2634,1
    - Dst: mp4mux_reorder_tracks
      Src: /src/gpac/src/filters/mux_isom.c:1693,1
    - Dst: gf_isom_hevc_set_tile_config
      Src: /src/gpac/src/filters/mux_isom.c:2694,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1059,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1072,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1202,1
    - Dst: mp4mx_setup_dash_vod
      Src: /src/gpac/src/filters/mux_isom.c:1312,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/mux_isom.c:2712,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3784,1
    - Dst: gf_isom_is_same_sample_description
      Src: /src/gpac/src/filters/mux_isom.c:3369,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2516,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/filters/mux_isom.c:2393,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/mux_isom.c:1136,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_isom.c:1038,1
    - Dst: gf_isom_make_interleave_ex
      Src: /src/gpac/src/filters/mux_isom.c:1412,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:1615,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2795,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3133,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:3456,1
    - Dst: gf_isom_set_generic_protection
      Src: /src/gpac/src/filters/mux_isom.c:3471,1
    - Dst: gf_isom_new_generic_sample_description
      Src: /src/gpac/src/filters/mux_isom.c:3300,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1612,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/filters/mux_isom.c:2753,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:2785,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2806,1
    - Dst: gf_isom_set_mpegh_compatible_profiles
      Src: /src/gpac/src/filters/mux_isom.c:3138,1
    - Dst: gf_isom_evte_config_new
      Src: /src/gpac/src/filters/mux_isom.c:3160,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3304,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/filters/mux_isom.c:3580,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3915,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3760,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:3735,1
    - Dst: gf_filter_get_dst_name
      Src: /src/gpac/src/filters/mux_isom.c:1036,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:1516,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2733,1
    - Dst: gf_isom_opus_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2975,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:3465,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:3728,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:4028,1
    - Dst: gf_isom_set_track_index
      Src: /src/gpac/src/filters/mux_isom.c:3845,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1331,1
    - Dst: gf_isom_set_creation_time
      Src: /src/gpac/src/filters/mux_isom.c:1496,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:1569,1
    - Dst: gf_isom_reset_alt_brands_ex
      Src: /src/gpac/src/filters/mux_isom.c:1793,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1877,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2432,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2970,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3082,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:3272,1
    - Dst: gf_isom_remove_samp_group_box
      Src: /src/gpac/src/filters/mux_isom.c:3476,1
    - Dst: gf_isom_get_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3634,1
    - Dst: gf_isom_set_track_magic
      Src: /src/gpac/src/filters/mux_isom.c:1689,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:1778,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1870,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2758,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2814,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2955,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/filters/mux_isom.c:3812,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_isom.c:3999,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3649,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:1578,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/filters/mux_isom.c:1587,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2531,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:2787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2832,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2877,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3033,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:3296,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3495,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:3683,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3984,1
    - Dst: gf_isom_remove_chapter
      Src: /src/gpac/src/filters/mux_isom.c:3834,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:2445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2477,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1081,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/mux_isom.c:1556,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:1911,1
    - Dst: gf_isom_av1_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2841,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3021,1
    - Dst: gf_odf_tx3g_read
      Src: /src/gpac/src/filters/mux_isom.c:3031,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3274,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:3432,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3599,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3951,1
    - Dst: gf_isom_add_user_data
      Src: /src/gpac/src/filters/mux_isom.c:3766,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/src/filters/mux_isom.c:3327,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/mux_isom.c:2355,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/filters/mux_isom.c:1727,1
    - Dst: gf_isom_avc_set_inband_config
      Src: /src/gpac/src/filters/mux_isom.c:2660,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/mux_isom.c:2691,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2767,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2900,1
    - Dst: gf_isom_ac3_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2953,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3091,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3591,1
    - Dst: gf_isom_set_dolby_vision_profile
      Src: /src/gpac/src/filters/mux_isom.c:3720,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4011,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4133,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3940,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1676,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_isom.c:1039,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:1513,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1867,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2647,1
    - Dst: gf_isom_set_alternate_group_id
      Src: /src/gpac/src/filters/mux_isom.c:1632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2864,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3068,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3156,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3221,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3991,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3624,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3955,1
    - Dst: gf_isom_get_edit
      Src: /src/gpac/src/filters/mux_isom.c:4052,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3695,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1843,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1058,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:2622,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2885,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2962,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3004,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3246,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3701,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2851,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3114,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:3885,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1621,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2633,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1579,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:1749,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_isom.c:1140,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2896,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3021,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3077,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3344,1
    - Dst: gf_media_get_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3636,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2434,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2701,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/mux_isom.c:1053,1
    - Dst: gf_filter_pid_get_min_pck_duration
      Src: /src/gpac/src/filters/mux_isom.c:1129,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1744,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1774,1
    - Dst: gf_isom_lhvc_config_update
      Src: /src/gpac/src/filters/mux_isom.c:2742,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3506,1
    - Dst: gf_isom_set_image_sequence_coding_constraints
      Src: /src/gpac/src/filters/mux_isom.c:3523,1
    - Dst: gf_isom_get_min_negative_cts_offset
      Src: /src/gpac/src/filters/mux_isom.c:4124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3982,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/mux_isom.c:1824,1
    - Dst: gf_isom_mvc_config_update
      Src: /src/gpac/src/filters/mux_isom.c:2650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1354,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2809,1
    - Dst: gf_odf_ac3_config_parse
      Src: /src/gpac/src/filters/mux_isom.c:2949,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3068,1
    - Dst: gf_isom_set_visual_info
      Src: /src/gpac/src/filters/mux_isom.c:3577,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/filters/mux_isom.c:3593,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3692,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:3898,1
    - Dst: gf_isom_remove_samp_enc_box
      Src: /src/gpac/src/filters/mux_isom.c:3475,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1781,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1144,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:3384,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3663,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:3727,1
    - Dst: gf_isom_set_track_matrix
      Src: /src/gpac/src/filters/mux_isom.c:3774,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4154,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2541,1
    - Dst: gf_isom_avc_set_inband_config
      Src: /src/gpac/src/filters/mux_isom.c:2672,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:1566,1
    - Dst: gf_isom_set_handler_name
      Src: /src/gpac/src/filters/mux_isom.c:1623,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1845,1
    - Dst: gf_filter_pid_get_args
      Src: /src/gpac/src/filters/mux_isom.c:1908,1
    - Dst: gf_isom_mvc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2640,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2721,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2978,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3075,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3510,1
    - Dst: gf_isom_get_min_negative_cts_offset
      Src: /src/gpac/src/filters/mux_isom.c:4146,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3663,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:2896,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2383,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3453,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3632,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3883,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:4024,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2512,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3275,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/mux_isom.c:3568,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1664,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:2585,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1741,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/mux_isom.c:1180,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1376,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_isom.c:1552,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3058,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:3513,1
    - Dst: gf_isom_hint_max_chunk_size
      Src: /src/gpac/src/filters/mux_isom.c:3540,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4060,1
    - Dst: gf_isom_3gp_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2923,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:3488,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2854,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_isom.c:3284,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/filters/mux_isom.c:1730,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:1759,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1960,1
    - Dst: gf_isom_set_alternate_group_id
      Src: /src/gpac/src/filters/mux_isom.c:1635,1
    - Dst: gf_isom_svc_config_update
      Src: /src/gpac/src/filters/mux_isom.c:2652,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:1204,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:1061,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1437,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/mux_isom.c:1443,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2850,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:1490,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/mux_isom.c:1535,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/filters/mux_isom.c:1565,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2264,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1672,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2993,1
    - Dst: gf_isom_truehd_config_new
      Src: /src/gpac/src/filters/mux_isom.c:3154,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_isom.c:3286,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:3764,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_isom.c:3758,1
    - Dst: gf_isom_get_pixel_aspect_ratio
      Src: /src/gpac/src/filters/mux_isom.c:3609,1
    - Dst: gf_isom_set_y3d_info
      Src: /src/gpac/src/filters/mux_isom.c:3963,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1785,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_isom.c:1138,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:1090,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:1118,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1215,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:2179,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/filters/mux_isom.c:1546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3068,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3156,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3646,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3790,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:3686,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:1054,1
    - Dst: gf_isom_set_handler_name
      Src: /src/gpac/src/filters/mux_isom.c:1559,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2603,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2508,1
    - Dst: gf_isom_hevc_set_inband_config
      Src: /src/gpac/src/filters/mux_isom.c:2749,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2796,1
    - Dst: gf_odf_opus_cfg_parse
      Src: /src/gpac/src/filters/mux_isom.c:2973,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2986,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3177,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3430,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4063,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:3902,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3693,1
    - Dst: gf_isom_3gp_config_get
      Src: /src/gpac/src/filters/mux_isom.c:3380,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3934,1
    - Dst: mp4_mux_set_tags
      Src: /src/gpac/src/filters/mux_isom.c:4157,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_isom.c:1629,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3217,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3415,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3440,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/mux_isom.c:1185,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:1705,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1858,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/filters/mux_isom.c:2581,1
    - Dst: gf_isom_remove_stream_description
      Src: /src/gpac/src/filters/mux_isom.c:2571,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3091,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3136,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3532,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:3756,1
    - Dst: gf_isom_set_high_dynamic_range_info
      Src: /src/gpac/src/filters/mux_isom.c:3698,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:3745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3532,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1093,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:1528,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1552,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1585,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1795,1
    - Dst: gf_isom_set_media_timescale
      Src: /src/gpac/src/filters/mux_isom.c:2467,1
    - Dst: gf_isom_add_track_to_root_od
      Src: /src/gpac/src/filters/mux_isom.c:2611,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3058,1
    - Dst: gf_isom_tmcd_config_new
      Src: /src/gpac/src/filters/mux_isom.c:3089,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3763,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:4020,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4078,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:1603,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:1773,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1086,1
    - Dst: gf_isom_set_sample_group_in_traf
      Src: /src/gpac/src/filters/mux_isom.c:1724,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1755,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2646,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2710,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2808,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2938,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3994,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:3705,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3817,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3428,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1819,1
    - Dst: gf_isom_new_xml_subtitle_description
      Src: /src/gpac/src/filters/mux_isom.c:3002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3021,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:4001,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3673,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3408,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3674,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3413,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:1027,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_isom.c:1047,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1873,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2679,1
    - Dst: gf_isom_new_stxt_description
      Src: /src/gpac/src/filters/mux_isom.c:3019,1
    - Dst: gf_isom_new_text_description
      Src: /src/gpac/src/filters/mux_isom.c:3041,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3417,1
    - Dst: gf_isom_set_ismacryp_protection
      Src: /src/gpac/src/filters/mux_isom.c:3423,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3652,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:3696,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1823,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2585,1
    - Dst: mux_assign_mime_file_ext
      Src: /src/gpac/src/filters/mux_isom.c:1063,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:2156,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2539,1
    - Dst: gf_odf_ia_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2862,1
    - Dst: gf_isom_new_mj2k_description
      Src: /src/gpac/src/filters/mux_isom.c:3066,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3276,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4114,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1681,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2530,1
    - Dst: gf_isom_get_filename
      Src: /src/gpac/src/filters/mux_isom.c:1045,1
    - Dst: gf_isom_set_track_index
      Src: /src/gpac/src/filters/mux_isom.c:1692,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1863,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3058,1
    - Dst: gf_isom_remove_stream_description
      Src: /src/gpac/src/filters/mux_isom.c:3370,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3482,1
    - Dst: gf_audio_fmt_get_cicp_from_layout
      Src: /src/gpac/src/filters/mux_isom.c:3566,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3682,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4008,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/src/filters/mux_isom.c:4130,1
    - Dst: gf_isom_subtitle_set_mime
      Src: /src/gpac/src/filters/mux_isom.c:3012,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3597,1
    - Dst: gf_pixel_fmt_to_qt_type
      Src: /src/gpac/src/filters/mux_isom.c:2391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2535,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1321,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:3011,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3251,1
    - Dst: gf_isom_set_adobe_protection
      Src: /src/gpac/src/filters/mux_isom.c:3441,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:3680,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:4017,1
    - Dst: gf_isom_hevc_set_inband_config
      Src: /src/gpac/src/filters/mux_isom.c:2765,1
    - Dst: gf_isom_vp_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2894,1
    - Dst: gf_isom_set_clean_aperture
      Src: /src/gpac/src/filters/mux_isom.c:3804,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/src/filters/mux_isom.c:4151,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3345,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1501,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3254,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3480,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3690,1
    - Dst: gf_isom_set_media_language
      Src: /src/gpac/src/filters/mux_isom.c:3815,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:4102,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/mux_isom.c:3365,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/filters/mux_isom.c:3842,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4046,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3044,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/mux_isom.c:3310,1
    - Dst: gf_isom_subtitle_get_mime
      Src: /src/gpac/src/filters/mux_isom.c:3010,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1860,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1600,1
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/filters/mux_isom.c:2576,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1061,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2814,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:2946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2955,1
    - Dst: gf_isom_flac_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2960,1
    - Dst: gf_isom_new_webvtt_description
      Src: /src/gpac/src/filters/mux_isom.c:3056,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3277,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3732,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2665,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1170,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/mux_isom.c:1362,1
    - Dst: gf_isom_new_track
      Src: /src/gpac/src/filters/mux_isom.c:1544,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/mux_isom.c:3051,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:3175,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3293,1
    - Dst: gf_odf_dovi_cfg_read_bs
      Src: /src/gpac/src/filters/mux_isom.c:3704,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3828,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:4135,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3481,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/src/filters/mux_isom.c:1697,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2430,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2696,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1566,1
    - Dst: gf_isom_vvc_set_inband_config
      Src: /src/gpac/src/filters/mux_isom.c:2821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2978,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:3292,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:3296,1
    - Dst: gf_isom_hint_max_chunk_duration
      Src: /src/gpac/src/filters/mux_isom.c:3543,1
    - Dst: gf_isom_set_visual_color_info
      Src: /src/gpac/src/filters/mux_isom.c:3669,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:1096,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/filters/mux_isom.c:1408,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/filters/mux_isom.c:1606,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:2444,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2703,1
    - Dst: gf_isom_new_stxt_description
      Src: /src/gpac/src/filters/mux_isom.c:2991,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3112,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3278,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3320,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:3622,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:3333,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3694,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1425,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:1492,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:1659,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2870,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:3584,1
    - Dst: gf_isom_set_track_layout_info
      Src: /src/gpac/src/filters/mux_isom.c:3589,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:3909,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2506,1
    - Dst: gf_isom_new_xml_metadata_description
      Src: /src/gpac/src/filters/mux_isom.c:2984,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3119,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:3290,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:3049,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:1535,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:1710,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2655,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2522,1
    - Dst: gf_codecid_4cc_type
      Src: /src/gpac/src/filters/mux_isom.c:2421,1
    - Dst: gf_isom_hevc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2692,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2993,1
    - Dst: gf_isom_new_dims_description
      Src: /src/gpac/src/filters/mux_isom.c:3117,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filters/mux_isom.c:3242,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3528,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:3894,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_isom.c:1046,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/mux_isom.c:1558,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2734,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:3172,1
    - Dst: gf_isom_dovi_config_get
      Src: /src/gpac/src/filters/mux_isom.c:3707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:4003,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3751,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:1042,1
    - Dst: gf_isom_load_extra_boxes
      Src: /src/gpac/src/filters/mux_isom.c:1718,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2438,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2554,1
    - Dst: gf_isom_hevc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2717,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2740,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3044,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3268,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3433,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_isom.c:3681,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3918,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3199,1
    - Dst: gf_isom_set_track_matrix
      Src: /src/gpac/src/filters/mux_isom.c:1678,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1854,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2527,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2609,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2683,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:1092,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1438,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/mux_isom.c:1480,1
    - Dst: gf_isom_new_track_from_template
      Src: /src/gpac/src/filters/mux_isom.c:1508,1
    - Dst: gf_isom_set_track_enabled
      Src: /src/gpac/src/filters/mux_isom.c:1592,1
    - Dst: gf_isom_3gp_config_update
      Src: /src/gpac/src/filters/mux_isom.c:3383,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3846,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/filters/mux_isom.c:3824,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:1748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2559,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_isom.c:1047,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1152,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1418,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:1534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2550,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2779,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2823,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:2903,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2925,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3788,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3318,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/filters/mux_isom.c:1558,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_isom.c:1115,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/mux_isom.c:1128,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:1192,1
    - Dst: gf_isom_set_track_flags
      Src: /src/gpac/src/filters/mux_isom.c:1574,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/mux_isom.c:1715,1
    - Dst: mp4_mux_make_inband_header
      Src: /src/gpac/src/filters/mux_isom.c:2556,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2720,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3104,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:3162,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3342,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3603,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3410,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4087,1
    - Dst: mp4_mux_get_video_size
      Src: /src/gpac/src/filters/mux_isom.c:2168,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1057,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:1072,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:1109,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:1293,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1403,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1583,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2665,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2731,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2773,1
    - Dst: gf_isom_avc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2642,1
    - Dst: gf_isom_svc_config_new
      Src: /src/gpac/src/filters/mux_isom.c:2638,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1097,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/mux_isom.c:1142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1429,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:1515,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/mux_isom.c:2600,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:2876,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3102,1
    - Dst: gf_pixel_fmt_get_uncc
      Src: /src/gpac/src/filters/mux_isom.c:3258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_isom.c:1060,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:1067,1
    - Dst: gf_filter_pid_allow_direct_dispatch
      Src: /src/gpac/src/filters/mux_isom.c:1076,1
    - Dst: gf_isom_update_bitrate
      Src: /src/gpac/src/filters/mux_isom.c:1520,1
    - Dst: update_chap_refs
      Src: /src/gpac/src/filters/mux_isom.c:1619,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1766,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:2166,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:2494,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:2526,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:2849,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3004,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3989,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:4148,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/mux_isom.c:2361,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:2493,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1190,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:2835,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2859,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:2925,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3096,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3108,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:3169,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3239,1
    - Dst: gf_isom_hint_max_chunk_size
      Src: /src/gpac/src/filters/mux_isom.c:3659,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:4112,1
    - Dst: mp4_mux_write_track_refs
      Src: /src/gpac/src/filters/mux_isom.c:3490,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:4071,1
    - Dst: gf_isom_set_pixel_aspect_ratio
      Src: /src/gpac/src/filters/mux_isom.c:3628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2986,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:2603,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1525,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:1808,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:1910,1
    - Dst: mp4_mux_setup_pid
      Src: /src/gpac/src/filters/mux_isom.c:1104,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_isom.c:1039,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1452,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1476,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/mux_isom.c:1488,1
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/filters/mux_isom.c:2583,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:3900,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1971,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:1913,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:1790,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:3106,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3292,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:3296,1
    - Dst: gf_isom_set_media_type
      Src: /src/gpac/src/filters/mux_isom.c:3459,1
    - Dst: mp4_mux_setup_pid
      Src: /src/gpac/src/filters/mux_isom.c:3516,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:3736,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3827,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:3759,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filters/mux_isom.c:3710,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/mux_isom.c:3895,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1856,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:2440,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:1162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:1260,1
    - Dst: gf_isom_set_timescale
      Src: /src/gpac/src/filters/mux_isom.c:1405,1
    - Dst: gf_isom_remove_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:1512,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:2997,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:3601,1
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/src/filters/mux_isom.c:4044,1
    CyclomaticComplexity: 1117
    EdgeCount: 1117
    ICount: 2922
    argCount: 3
    argNames:
    - filter
    - pid
    - is_true_pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 4162
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 4162
    functionName: mp4_mux_setup_pid
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_dst_name
    - gf_isom_remove_sample_group
    - gf_isom_set_track_layout_info
    - gf_isom_evte_config_new
    - mux_assign_mime_file_ext
    - strlen
    - gf_isom_new_xml_metadata_description
    - gf_isom_new_stxt_description
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_get_min_pck_duration
    - gf_odf_desc_del
    - gf_odf_ac3_config_parse
    - gf_isom_avc_config_new
    - gf_isom_add_sample
    - gf_strdup
    - gf_odf_avc_cfg_del
    - gf_isom_get_edit_list_type
    - gf_file_basename
    - gf_isom_tmcd_config_new
    - gf_isom_new_dims_description
    - gf_isom_update_sample_description_from_template
    - gf_audio_fmt_get_cicp_from_layout
    - gf_odf_opus_cfg_parse
    - gf_isom_mvc_config_update
    - gf_isom_add_track_to_root_od
    - gf_isom_set_mpegh_compatible_profiles
    - gf_list_get
    - gf_isom_load_extra_boxes
    - gf_isom_set_y3d_info
    - gf_isom_set_track_matrix
    - gf_isom_set_track_index
    - gf_isom_set_pl_indication
    - gf_isom_remove_root_od
    - gf_isom_sample_del
    - gf_isom_set_visual_info
    - gf_isom_set_generic_protection
    - gf_filter_pid_send_event
    - gf_4cc_parse
    - gf_sys_is_cov_mode
    - gf_stream_type_name
    - gf_isom_set_timescale
    - gf_isom_vvc_set_inband_config
    - gf_odf_av1_cfg_read
    - mp4mux_reorder_tracks
    - gf_odf_tx3g_read
    - gf_odf_hevc_cfg_del
    - gf_isom_get_color_info
    - mp4_mux_set_udta
    - gf_fatal_assert
    - gf_odf_vvc_cfg_read
    - gf_isom_set_image_sequence_coding_constraints
    - gf_audio_fmt_bit_depth
    - gf_isom_remove_samp_group_box
    - snprintf
    - gf_isom_subtitle_set_mime
    - gf_isom_new_mj2k_description
    - gf_bs_get_content
    - gf_isom_3gp_config_update
    - gf_isom_new_generic_sample_description
    - gf_isom_set_pixel_aspect_ratio
    - gf_isom_remove_samp_enc_box
    - mp4mx_setup_dash_vod
    - gf_isom_set_media_type
    - GF_SAFEALLOC
    - gf_isom_is_same_sample_description
    - gf_isom_truehd_config_new
    - gf_isom_set_visual_color_info
    - gf_file_ext_start
    - gf_m4a_get_config
    - gf_isom_set_composition_offset_mode
    - gf_isom_get_edit
    - gf_isom_update_bitrate
    - gf_bs_del
    - gf_isom_3gp_config_get
    - gf_crc_32
    - gf_isom_hint_max_chunk_duration
    - gf_error_to_string
    - gf_isom_set_media_language
    - gf_filter_pid_copy_properties
    - gf_isom_set_creation_time
    - gf_odf_vp_cfg_read
    - gf_bs_write_utf8
    - gf_filter_pid_allow_direct_dispatch
    - gf_isom_set_image_sequence_alpha
    - gf_isom_new_track
    - gf_isom_get_track_count
    - gf_isom_set_track_enabled
    - gf_filter_pid_negotiate_property
    - gf_isom_set_adobe_protection
    - gf_codecid_4cc_type
    - mp4_mux_write_track_refs
    - gf_isom_get_track_id
    - mp4_mux_make_inband_header
    - gf_isom_make_interleave_ex
    - gf_sys_is_test_mode
    - gf_sys_old_arch_compat
    - gf_isom_get_pixel_aspect_ratio
    - gf_isom_set_last_sample_duration
    - gf_isom_new_webvtt_description
    - gf_isom_3gp_config_new
    - gf_isom_hevc_set_tile_config
    - gf_isom_new_track_from_template
    - gf_codecid_type
    - gf_isom_set_brand_info
    - gf_isom_stream_type_to_media_type
    - gf_isom_set_audio_layout
    - gf_isom_mvc_config_new
    - gf_list_add
    - gf_isom_vp_config_new
    - gf_odf_vp_cfg_del
    - gf_isom_ac3_config_new
    - gf_filter_pid_set_udta
    - gf_isom_set_media_timescale
    - gf_timestamp_rescale
    - gf_odf_avc_cfg_read
    - gf_isom_get_min_negative_cts_offset
    - gf_isom_ia_config_new
    - strstr
    - gf_filter_pid_get_args
    - gf_isom_lhvc_config_update
    - gf_isom_new_xml_subtitle_description
    - gf_odf_desc_esd_new
    - gf_isom_set_edit
    - mp4_mux_set_tags
    - gf_isom_get_pl_indication
    - gf_isom_get_sample_description_count
    - strcmp
    - gf_isom_remove_edits
    - gf_isom_remove_track_reference
    - gf_isom_add_chapter
    - gf_props_equal
    - gf_filter_pid_get_property_str
    - gf_isom_modify_alternate_brand
    - gf_odf_hevc_cfg_new
    - gf_bs_write_int
    - gf_isom_set_track_magic
    - gf_pixel_fmt_to_qt_type
    - gf_isom_vvc_config_new
    - gf_isom_hevc_config_new
    - gf_isom_text_to_sample
    - gf_odf_av1_cfg_del
    - gf_isom_hint_max_chunk_size
    - gf_bs_read_int
    - gf_filter_pid_init_play_event
    - gf_bs_write_u32
    - gf_codecid_name
    - update_chap_refs
    - gf_isom_set_high_dynamic_range_info
    - gf_isom_last_error
    - gf_free
    - gf_isom_av1_config_new
    - gf_isom_set_ismacryp_protection
    - gf_isom_hevc_set_inband_config
    - gf_isom_new_text_description
    - mp4_mux_setup_pid
    - gf_isom_set_audio_info
    - gf_isom_remove_stream_description
    - gf_isom_svc_config_update
    - gf_codecid_oti
    - memset
    - gf_odf_ia_cfg_del
    - GF_FEVT_INIT
    - gf_bs_write_data
    - gf_isom_set_track_flags
    - GF_LOG
    - gf_isom_remove_chapter
    - gf_isom_keep_utc_times
    - gf_isom_dovi_config_get
    - gf_isom_avc_set_inband_config
    - gf_4cc_to_str
    - gf_isom_set_alternate_group_id
    - gf_audio_fmt_get_cicp_layout
    - gf_isom_set_clean_aperture
    - gf_gpac_version
    - gf_timestamp_rescale_signed
    - gf_media_get_color_info
    - gf_filter_get_udta
    - GF_4CC
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_isom_new_mpeg4_description
    - gf_isom_add_user_data
    - PROP_UINT
    - stricmp
    - gf_isom_set_track_reference
    - gf_isom_new_mpha_description
    - gf_pixel_fmt_get_uncc
    - gf_filter_pid_get_udta
    - gf_isom_subtitle_get_mime
    - gf_pixel_fmt_is_yuv
    - gf_isom_set_sample_group_in_traf
    - gf_filter_pid_set_property
    - gf_bs_new
    - gf_avc_read_sps
    - gf_isom_flac_config_new
    - memcpy
    - gf_isom_set_dolby_vision_profile
    - gf_isom_reset_alt_brands
    - gf_odf_dovi_cfg_del
    - gf_isom_reset_alt_brands_ex
    - gf_isom_get_filename
    - gf_cenc_validate_key_info
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_isom_set_oma_protection
    - gf_isom_opus_config_new
    - gf_isom_svc_config_new
    - gf_isom_set_track_stsd_templates
    - gf_odf_dovi_cfg_read_bs
    - gf_isom_set_handler_name
    - gf_odf_ia_cfg_read
    - gf_odf_vvc_cfg_del
    - mp4_mux_get_video_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_setup_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_true_pid) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/mux_isom.c:5827,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:5836,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/mux_isom.c:5836,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/mux_isom.c:5831,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:5828,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/mux_isom.c:5839,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/mux_isom.c:5840,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/mux_isom.c:5847,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:5848,1
    - Dst: mp4_mux_on_data
      Src: /src/gpac/src/filters/mux_isom.c:5854,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/mux_isom.c:5858,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:5865,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_isom.c:5878,1
    - Dst: mp4mux_send_output
      Src: /src/gpac/src/filters/mux_isom.c:5856,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_isom.c:5866,1
    - Dst: mp4_mux_flush_frag_llhas
      Src: /src/gpac/src/filters/mux_isom.c:5861,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 5
    argNames:
    - ctx
    - is_init
    - idx_start_range
    - idx_end_range
    - signal_flush
    argTypes:
    - GF_MP4MuxCtx*
    - Bool
    - u64
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 5891
      start: 5819
    functionDepth: 0
    functionLinenumber: 5819
    functionLinenumberEnd: 5891
    functionName: mp4_mux_flush_seg
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_set_carousel_version
    - memset
    - mp4mux_send_output
    - gf_filter_pid_send_flush
    - GF_FEVT_INIT
    - PROP_BOOL
    - gf_filter_pid_send_event
    - gf_filter_pck_set_framing
    - gf_filter_pck_expand
    - mp4_mux_on_data
    - mp4_mux_flush_frag_llhas
    - gf_filter_pck_get_framing
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_flush_seg(GF_MP4MuxCtx *ctx, Bool is_init, u64
      idx_start_range, u64 idx_end_range, Bool signal_flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7214,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_isom.c:7215,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:7216,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_isom.c:7218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - services
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 7219
      start: 7212
    functionDepth: 0
    functionLinenumber: 7212
    functionLinenumberEnd: 7219
    functionName: del_service_info
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void del_service_info(GF_List *services) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:7727,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:7730,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/mux_isom.c:7732,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/mux_isom.c:7734,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:7731,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/mux_isom.c:7735,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:7736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - cbk
    - data
    - block_size
    - file_offset
    - is_insert
    argTypes:
    - void*
    - u8*
    - u32
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 7738
      start: 7722
    functionDepth: 0
    functionLinenumber: 7722
    functionLinenumberEnd: 7738
    functionName: mp4_mux_on_data_patch
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - memcpy
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_on_data_patch(void *cbk, u8 *data, u32 block_size,
      u64 file_offset, Bool is_insert) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7937,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/mux_isom.c:7931,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7944,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7967,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:7930,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/filters/mux_isom.c:7942,1
    - Dst: gf_isom_set_progress_callback
      Src: /src/gpac/src/filters/mux_isom.c:7964,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_isom.c:8005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7971,1
    - Dst: gf_isom_enable_compression
      Src: /src/gpac/src/filters/mux_isom.c:8026,1
    - Dst: gf_isom_open
      Src: /src/gpac/src/filters/mux_isom.c:7959,1
    - Dst: gf_isom_set_write_callback
      Src: /src/gpac/src/filters/mux_isom.c:7962,1
    - Dst: gf_isom_enable_mfra
      Src: /src/gpac/src/filters/mux_isom.c:7999,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:8016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8019,1
    - Dst: time
      Src: /src/gpac/src/filters/mux_isom.c:7933,1
    - Dst: gf_filter_act_as_sink
      Src: /src/gpac/src/filters/mux_isom.c:7948,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_isom.c:8008,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:8017,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/filters/mux_isom.c:7976,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 100
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 8058
      start: 7928
    functionDepth: 0
    functionLinenumber: 7928
    functionLinenumberEnd: 8058
    functionName: mp4_mux_initialize
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_act_as_sink
    - gf_isom_enable_mfra
    - gf_isom_set_progress_callback
    - strlen
    - GF_4CC
    - gf_isom_set_write_callback
    - gf_isom_set_storage_mode
    - gf_isom_enable_compression
    - GF_LOG
    - gf_isom_open
    - gf_filter_set_max_extra_input_pids
    - gf_isom_get_mode
    - gf_list_new
    - time
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_initialize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:6534,1
    - Dst: gf_id3_from_bitstream
      Src: /src/gpac/src/filters/mux_isom.c:6537,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:6541,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:6545,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_isom.c:6576,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:6579,1
    - Dst: gf_id3_tag_free
      Src: /src/gpac/src/filters/mux_isom.c:6582,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:6531,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6552,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_isom.c:6556,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:6565,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:6577,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6539,1
    - Dst: gf_id3_tag_free
      Src: /src/gpac/src/filters/mux_isom.c:6540,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:6560,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_isom.c:6555,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:6536,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6539,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:6553,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6562,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:6565,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/mux_isom.c:6567,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:6585,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - moof
    - emsg_prop
    - id_sequence
    argTypes:
    - GF_MovieFragmentBox*
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 6586
      start: 6527
    functionDepth: 0
    functionLinenumber: 6527
    functionLinenumberEnd: 6586
    functionName: mp4_process_id3
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_isom_box_new
    - gf_malloc
    - memset
    - GF_LOG
    - gf_id3_tag_free
    - gf_bs_del
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_list_new
    - gf_bs_read_u32
    - gf_list_get
    - memcmp
    - gf_bs_new
    - memcpy
    - gf_id3_from_bitstream
    - gf_isom_box_del
    linkageType: ''
    returnType: void
    signature: 'static void mp4_process_id3(GF_MovieFragmentBox *moof, const GF_PropertyValue
      *emsg_prop, u32 id_sequence) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:758,1
    - Dst: gf_itags_get_itag
      Src: /src/gpac/src/filters/mux_isom.c:765,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:800,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_isom.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:816,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:820,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:867,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:847,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_isom.c:728,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/mux_isom.c:746,1
    - Dst: gf_isom_apple_set_tag
      Src: /src/gpac/src/filters/mux_isom.c:750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:752,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:781,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:811,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:812,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:813,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_isom.c:815,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:860,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:857,1
    - Dst: gf_isom_apple_set_tag
      Src: /src/gpac/src/filters/mux_isom.c:731,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:752,1
    - Dst: gf_media_isom_apply_qt_key
      Src: /src/gpac/src/filters/mux_isom.c:795,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_isom.c:766,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:808,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_isom.c:818,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:839,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:843,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:850,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/mux_isom.c:860,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:728,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:730,1
    - Dst: mp4mx_set_track_group
      Src: /src/gpac/src/filters/mux_isom.c:759,1
    - Dst: gf_isom_set_qt_key
      Src: /src/gpac/src/filters/mux_isom.c:785,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filters/mux_isom.c:794,1
    - Dst: gf_itags_find_by_name
      Src: /src/gpac/src/filters/mux_isom.c:763,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_isom.c:778,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:800,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:810,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:840,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:867,1
    - Dst: gf_isom_apple_set_tag_ex
      Src: /src/gpac/src/filters/mux_isom.c:853,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_isom.c:822,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 120
    argCount: 2
    argNames:
    - ctx
    - tkw
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 870
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 870
    functionName: mp4_mux_set_tags
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_itags_find_by_name
    - strncmp
    - gf_filter_pid_enum_properties
    - GF_LOG
    - gf_media_isom_apply_qt_key
    - gf_isom_apple_set_tag_ex
    - GF_4CC
    - gf_props_dump_val
    - gf_error_to_string
    - gf_crc_32
    - gf_itags_get_name
    - strchr
    - gf_sys_is_test_mode
    - gf_itags_get_itag
    - strnicmp
    - gf_sys_old_arch_compat
    - gf_isom_apple_set_tag
    - mp4mx_set_track_group
    - gf_isom_set_qt_key
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_set_tags(GF_MP4MuxCtx *ctx, TrackWriter *tkw) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:4209,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_isom.c:4219,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/mux_isom.c:4222,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:4212,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_isom.c:4216,1
    - Dst: mp4_mux_done
      Src: /src/gpac/src/filters/mux_isom.c:4229,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:4242,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:4244,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/mux_isom.c:4248,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_isom.c:4252,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 4257
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4257
    functionName: mp4_mux_process_event
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_info
    - gf_list_get
    - gf_filter_pid_get_udta
    - mp4_mux_done
    - gf_filter_release_property
    - gf_list_count
    - gf_filter_pid_init_play_event
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mp4_mux_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 144
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4777,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:4844,1
    - Dst: mp4_mux_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:4862,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/mux_isom.c:4938,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5129,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5137,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/mux_isom.c:5222,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/mux_isom.c:5283,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:5293,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_isom.c:5377,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/mux_isom.c:5054,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/mux_isom.c:4755,1
    - Dst: gf_isom_patch_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:4893,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/mux_isom.c:4966,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:5129,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/mux_isom.c:5077,1
    - Dst: gf_isom_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5209,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/mux_isom.c:5316,1
    - Dst: gf_isom_fragment_set_sample_rap_group
      Src: /src/gpac/src/filters/mux_isom.c:5160,1
    - Dst: gf_filter_pck_dangling_copy
      Src: /src/gpac/src/filters/mux_isom.c:4761,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5108,1
    - Dst: gf_isom_fragment_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5240,1
    - Dst: gf_isom_set_sample_group_description
      Src: /src/gpac/src/filters/mux_isom.c:5333,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:5356,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:5108,1
    - Dst: gf_isom_append_sample_data
      Src: /src/gpac/src/filters/mux_isom.c:5070,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:4960,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:5058,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5200,1
    - Dst: gf_isom_fragment_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5254,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/mux_isom.c:5259,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:5348,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:5300,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_isom.c:4765,1
    - Dst: gf_isom_append_sample_data
      Src: /src/gpac/src/filters/mux_isom.c:5072,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:5168,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_isom.c:5320,1
    - Dst: gf_isom_set_sample_description_restricted
      Src: /src/gpac/src/filters/mux_isom.c:5328,1
    - Dst: gf_isom_fragment_append_data_ex
      Src: /src/gpac/src/filters/mux_isom.c:5056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4987,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:4773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4810,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:4841,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:4959,1
    - Dst: gf_isom_set_sample_rap_group
      Src: /src/gpac/src/filters/mux_isom.c:5165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4973,1
    - Dst: gf_isom_fragment_append_data
      Src: /src/gpac/src/filters/mux_isom.c:5048,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:5221,1
    - Dst: mp4_mux_cenc_update
      Src: /src/gpac/src/filters/mux_isom.c:5106,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_isom.c:4763,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:5084,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:5219,1
    - Dst: gf_isom_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5230,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/mux_isom.c:5353,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/mux_isom.c:5397,1
    - Dst: gf_isom_fragment_set_sample_aux_info
      Src: /src/gpac/src/filters/mux_isom.c:5338,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:5373,1
    - Dst: gf_isom_fragment_append_data
      Src: /src/gpac/src/filters/mux_isom.c:5052,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5168,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:4854,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/mux_isom.c:5176,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:5215,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:5291,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_isom.c:5387,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:4947,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4970,1
    - Dst: gf_isom_fragment_add_sample_ex
      Src: /src/gpac/src/filters/mux_isom.c:5082,1
    - Dst: gf_isom_append_sample_data
      Src: /src/gpac/src/filters/mux_isom.c:4983,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:5095,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5193,1
    - Dst: gf_isom_fragment_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5227,1
    - Dst: gf_isom_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5243,1
    - Dst: gf_isom_fragment_set_sample_flags
      Src: /src/gpac/src/filters/mux_isom.c:5269,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5328,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/mux_isom.c:5080,1
    - Dst: mp4_mux_update_init_edit
      Src: /src/gpac/src/filters/mux_isom.c:4801,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5102,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/mux_isom.c:5060,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:5193,1
    - Dst: gf_isom_set_sample_flags
      Src: /src/gpac/src/filters/mux_isom.c:5272,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_isom.c:5314,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/mux_isom.c:4760,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/mux_isom.c:4825,1
    - Dst: gf_isom_add_sample_reference
      Src: /src/gpac/src/filters/mux_isom.c:4968,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:4987,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4992,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5121,1
    - Dst: gf_isom_fragment_set_sample_roll_group
      Src: /src/gpac/src/filters/mux_isom.c:5185,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:5093,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:4785,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4818,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/mux_isom.c:4896,1
    - Dst: gf_isom_fragment_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:4954,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4970,1
    - Dst: gf_isom_fragment_append_data
      Src: /src/gpac/src/filters/mux_isom.c:4978,1
    - Dst: gf_isom_fragment_add_sample_ex
      Src: /src/gpac/src/filters/mux_isom.c:5046,1
    - Dst: gf_isom_set_sample_roll_group
      Src: /src/gpac/src/filters/mux_isom.c:5190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:4896,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/mux_isom.c:4970,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/mux_isom.c:5100,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/mux_isom.c:5086,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5119,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_isom.c:5216,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5305,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_isom.c:5312,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:4772,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:4827,1
    - Dst: gf_isom_fragment_add_sample_references
      Src: /src/gpac/src/filters/mux_isom.c:5125,1
    - Dst: gf_isom_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:5068,1
    - Dst: gf_filter_pid_get_min_pck_duration
      Src: /src/gpac/src/filters/mux_isom.c:4780,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5100,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/mux_isom.c:5218,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_isom.c:5220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5236,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5302,1
    - Dst: gf_isom_add_sample_aux_info
      Src: /src/gpac/src/filters/mux_isom.c:5341,1
    - Dst: gf_isom_fragment_add_subsample
      Src: /src/gpac/src/filters/mux_isom.c:5206,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_isom.c:5388,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/mux_isom.c:5051,1
    - Dst: gf_isom_fragment_add_sample
      Src: /src/gpac/src/filters/mux_isom.c:5078,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:5100,1
    - Dst: gf_isom_set_sample_references
      Src: /src/gpac/src/filters/mux_isom.c:5127,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/mux_isom.c:5223,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:5289,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/mux_isom.c:5374,1
    CyclomaticComplexity: 214
    EdgeCount: 214
    ICount: 628
    argCount: 4
    argNames:
    - ctx
    - tkw
    - pck
    - for_fragment
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 5417
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 5417
    functionName: mp4_mux_process_sample
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - strlen
    - gf_isom_fragment_set_sample_rap_group
    - gf_isom_fragment_append_data
    - memset
    - gf_isom_add_sample_reference
    - strncmp
    - gf_filter_pck_get_duration
    - gf_filter_pck_ref
    - gf_isom_set_sample_flags
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pck_dangling_copy
    - gf_filter_pid_get_min_pck_duration
    - gf_filter_pck_get_crypt_flags
    - gf_timestamp_rescale
    - gf_filter_pck_get_byte_offset
    - gf_isom_fragment_append_data_ex
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_isom_append_sample_data
    - strstr
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_isom_fragment_add_sample
    - gf_isom_add_sample
    - gf_error_to_string
    - gf_filter_pck_enum_properties
    - strcmp
    - gf_isom_fragment_set_sample_aux_info
    - gf_isom_get_media_duration
    - gf_isom_set_sample_references
    - atoi
    - gf_isom_set_sample_rap_group
    - gf_filter_pid_get_name
    - gf_filter_pck_get_dts
    - gf_isom_fragment_set_sample_roll_group
    - gf_bs_read_u32
    - gf_filter_pck_get_frame_interface
    - gf_bs_read_u8
    - gf_bs_new
    - gf_isom_fragment_add_sample_ex
    - gf_isom_add_sample_aux_info
    - mp4_mux_get_sap
    - gf_isom_patch_last_sample_duration
    - gf_filter_pck_is_blocking_ref
    - gf_isom_fragment_add_subsample
    - gf_filter_pck_unref
    - gf_isom_add_subsample
    - gf_filter_pck_get_dependency_flags
    - gf_sys_old_arch_compat
    - gf_isom_set_last_sample_duration
    - gf_filter_pid_send_event
    - gf_filter_pck_get_property
    - sscanf
    - gf_isom_set_sample_description_restricted
    - gf_isom_fragment_add_sample_references
    - gf_filter_pck_get_roll_info
    - mp4_mux_update_init_edit
    - gf_filter_pck_get_seek_flag
    - gf_bs_available
    - gf_timestamp_greater
    - gf_timestamp_greater_or_equal
    - gf_isom_set_sample_roll_group
    - gf_isom_set_sample_group_description
    - mp4_mux_cenc_update
    - gf_isom_fragment_set_sample_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_process_sample(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, GF_FilterPacket *pck, Bool for_fragment) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:5779,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:5780,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_isom.c:5780,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:5782,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/mux_isom.c:5782,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_isom.c:5787,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/mux_isom.c:5787,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:5789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 5792
      start: 5775
    functionDepth: 0
    functionLinenumber: 5775
    functionLinenumberEnd: 5792
    functionName: mp4mux_send_output
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_property
    - gf_filter_pck_set_framing
    - PROP_STRING_NO_COPY
    - PROP_FRAC64
    - PROP_UINT
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void mp4mux_send_output(GF_MP4MuxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_MP4MuxCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 5902
      start: 5893
    functionDepth: 0
    functionLinenumber: 5893
    functionLinenumberEnd: 5902
    functionName: mp4mux_check_mpd_start_time
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_property
    linkageType: ''
    returnType: void
    signature: 'static void mp4mux_check_mpd_start_time(GF_MP4MuxCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:8383,1
    - Dst: mp4_mux_done_track
      Src: /src/gpac/src/filters/mux_isom.c:8386,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/filters/mux_isom.c:8412,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:8422,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:8427,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/filters/mux_isom.c:8418,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/filters/mux_isom.c:8423,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:8385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8392,1
    - Dst: gf_isom_set_inplace_padding
      Src: /src/gpac/src/filters/mux_isom.c:8400,1
    - Dst: gf_isom_make_interleave_ex
      Src: /src/gpac/src/filters/mux_isom.c:8408,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:8392,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/filters/mux_isom.c:8415,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:8390,1
    - Dst: gf_isom_set_storage_mode
      Src: /src/gpac/src/filters/mux_isom.c:8405,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/filters/mux_isom.c:8425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8427,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_isom.c:8432,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8422,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - is_final
    argTypes:
    - GF_MP4MuxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 8437
      start: 8378
    functionDepth: 0
    functionLinenumber: 8378
    functionLinenumberEnd: 8437
    functionName: mp4_mux_done
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_isom_set_storage_mode
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - mp4_mux_done_track
    - gf_isom_set_inplace_padding
    - gf_isom_close
    - gf_isom_make_interleave_ex
    - gf_filter_pid_set_eos
    - gf_isom_apply_box_patch
    - gf_isom_delete
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_done(GF_MP4MuxCtx *ctx, Bool is_final) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/mux_isom.c:879,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:889,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:883,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:883,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:896,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:897,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:904,1
    - Dst: gf_isom_add_user_data
      Src: /src/gpac/src/filters/mux_isom.c:909,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:912,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:912,1
    - Dst: gf_isom_add_user_data_boxes
      Src: /src/gpac/src/filters/mux_isom.c:915,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:924,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:924,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:928,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/mux_isom.c:933,1
    - Dst: gf_isom_add_track_kind
      Src: /src/gpac/src/filters/mux_isom.c:937,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_isom.c:913,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - tkw
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 940
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 940
    functionName: mp4_mux_set_udta
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_4CC
    - strncmp
    - gf_error_to_string
    - gf_filter_pid_get_property
    - gf_filter_pid_enum_properties
    - strcmp
    - GF_LOG
    - gf_isom_add_track_kind
    - strrchr
    - gf_isom_add_user_data
    - gf_isom_add_user_data_boxes
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_set_udta(GF_MP4MuxCtx *ctx, TrackWriter *tkw) '
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:5469,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5541,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:5579,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5663,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:5761,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/filters/mux_isom.c:5769,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5694,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5436,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5517,1
    - Dst: gf_isom_get_meta_primary_item_id
      Src: /src/gpac/src/filters/mux_isom.c:5746,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5475,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:5472,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5540,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/filters/mux_isom.c:5578,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:5704,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/src/filters/mux_isom.c:5747,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5701,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5683,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5465,1
    - Dst: gf_odf_ia_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5563,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:5752,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5655,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5575,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5627,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:5696,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:5731,1
    - Dst: gf_isom_reset_alt_brands
      Src: /src/gpac/src/filters/mux_isom.c:5753,1
    - Dst: gf_isom_set_meta_type
      Src: /src/gpac/src/filters/mux_isom.c:5443,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_isom.c:5452,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/mux_isom.c:5671,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5522,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5631,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5646,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5653,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5675,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:5658,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5629,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5633,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_isom.c:5672,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5514,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5590,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5609,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5485,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5685,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:5676,1
    - Dst: gf_isom_set_meta_primary_item
      Src: /src/gpac/src/filters/mux_isom.c:5742,1
    - Dst: gf_isom_meta_add_item_ref
      Src: /src/gpac/src/filters/mux_isom.c:5763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5431,1
    - Dst: gf_isom_get_meta_type
      Src: /src/gpac/src/filters/mux_isom.c:5441,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/mux_isom.c:5454,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/src/filters/mux_isom.c:5737,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5740,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5594,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:5695,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:5677,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:5730,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5692,1
    - Dst: mp4_mux_cenc_insert_pssh
      Src: /src/gpac/src/filters/mux_isom.c:5721,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5644,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5492,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:5577,1
    - Dst: gf_pixel_fmt_get_uncc
      Src: /src/gpac/src/filters/mux_isom.c:5616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5445,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/mux_isom.c:5497,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:5705,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/filters/mux_isom.c:5726,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:5445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5455,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5474,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5562,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5713,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5618,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:5686,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:5613,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:5623,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5673,1
    - Dst: gf_cenc_validate_key_info
      Src: /src/gpac/src/filters/mux_isom.c:5702,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:5687,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/mux_isom.c:5488,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_isom.c:5623,1
    - Dst: gf_isom_add_meta_item_memory
      Src: /src/gpac/src/filters/mux_isom.c:5728,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:5757,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 332
    argCount: 3
    argNames:
    - ctx
    - tkw
    - pck
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 5773
      start: 5419
    functionDepth: 0
    functionLinenumber: 5419
    functionLinenumberEnd: 5773
    functionName: mp4_mux_process_item
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - memset
    - GF_LOG
    - gf_filter_pck_get_property_str
    - gf_filter_pck_get_crypt_flags
    - gf_odf_avc_cfg_read
    - gf_4cc_to_str
    - gf_filter_pck_get_data
    - gf_bs_del
    - GF_4CC
    - gf_odf_hevc_cfg_read
    - gf_isom_get_meta_type
    - gf_isom_modify_alternate_brand
    - gf_filter_pid_get_property_str
    - gf_pixel_fmt_get_uncc
    - gf_isom_add_meta_item_memory
    - gf_filter_pck_get_frame_interface
    - gf_isom_box_parse
    - gf_bs_new
    - gf_isom_set_meta_type
    - gf_codecid_name
    - gf_isom_set_meta_primary_item
    - gf_free
    - gf_isom_get_meta_primary_item_id
    - gf_isom_reset_alt_brands
    - gf_cenc_validate_key_info
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_odf_av1_cfg_read
    - gf_isom_box_del
    - gf_isom_get_meta_item_info
    - gf_isom_meta_add_item_ref
    - gf_isom_get_meta_item_count
    - gf_odf_vvc_cfg_read
    - mp4_mux_cenc_insert_pssh
    - gf_odf_ia_cfg_read
    - gf_isom_set_brand_info
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_process_item(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:5800,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_isom.c:5801,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_isom.c:5809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 5815
      start: 5794
    functionDepth: 0
    functionLinenumber: 5794
    functionLinenumberEnd: 5815
    functionName: mp4_mux_flush_frag_llhas
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_get
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_flush_frag_llhas(GF_MP4MuxCtx *ctx) '
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6194,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6202,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6206,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6225,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5958,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:6010,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_isom.c:6112,1
    - Dst: gf_isom_purge_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:6142,1
    - Dst: gf_isom_get_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:6173,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:6210,1
    - Dst: gf_isom_set_movie_duration
      Src: /src/gpac/src/filters/mux_isom.c:6151,1
    - Dst: gf_isom_set_movie_duration
      Src: /src/gpac/src/filters/mux_isom.c:6157,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_isom.c:6244,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:6303,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_isom.c:5959,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:6020,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:5970,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/mux_isom.c:5978,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_isom.c:6162,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6196,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:6296,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:6301,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:6238,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:5999,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6097,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6137,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:6305,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:6108,1
    - Dst: gf_isom_enable_traf_inherit
      Src: /src/gpac/src/filters/mux_isom.c:6122,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:6126,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6190,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6212,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_isom.c:6243,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_isom.c:6246,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:5936,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5975,1
    - Dst: mp4_mux_set_hevc_groups
      Src: /src/gpac/src/filters/mux_isom.c:6085,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_isom.c:6174,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6171,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6192,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:5940,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:5972,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/mux_isom.c:6023,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_isom.c:6029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6101,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/mux_isom.c:6163,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:6308,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:6186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6212,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6036,1
    - Dst: gf_isom_setup_track_fragment_template
      Src: /src/gpac/src/filters/mux_isom.c:6099,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:6181,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_isom.c:6016,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6053,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6131,1
    - Dst: gf_isom_get_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6179,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_isom.c:6307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6219,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/mux_isom.c:6021,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6193,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6165,1
    - Dst: gf_isom_set_brand_info
      Src: /src/gpac/src/filters/mux_isom.c:6248,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6253,1
    - Dst: mp4_mux_track_writer_del
      Src: /src/gpac/src/filters/mux_isom.c:6114,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_isom.c:5943,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_isom.c:6240,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:6174,1
    - Dst: mp4mx_setup_dash_vod
      Src: /src/gpac/src/filters/mux_isom.c:6255,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_isom.c:6302,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_isom.c:6233,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6195,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6130,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:6299,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:6309,1
    - Dst: mp4_mux_cenc_update
      Src: /src/gpac/src/filters/mux_isom.c:5966,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6091,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:6128,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_isom.c:6175,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_isom.c:6180,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_isom.c:6247,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6189,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5969,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:6018,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6091,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_isom.c:6180,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6219,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:5954,1
    - Dst: gf_isom_setup_track_fragment
      Src: /src/gpac/src/filters/mux_isom.c:6089,1
    - Dst: gf_isom_finalize_for_fragment
      Src: /src/gpac/src/filters/mux_isom.c:6217,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:6191,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:5908,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_isom.c:5945,1
    - Dst: gf_isom_allocate_sidx
      Src: /src/gpac/src/filters/mux_isom.c:6318,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 345
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 6324
      start: 5904
    functionDepth: 0
    functionLinenumber: 5904
    functionLinenumberEnd: 6324
    functionName: mp4_mux_initialize_movie
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pck_get_cts
    - gf_isom_get_brand_info
    - gf_filter_pid_is_eos
    - strncmp
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - GF_LOG
    - mp4_mux_track_writer_del
    - mp4mx_setup_dash_vod
    - gf_timestamp_rescale
    - gf_isom_purge_track_reference
    - gf_filter_pck_get_timescale
    - gf_4cc_to_str
    - gf_filter_pck_get_data
    - gf_isom_set_movie_duration
    - gf_filter_pck_new_alloc
    - mp4_mux_set_hevc_groups
    - gf_bs_del
    - GF_4CC
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_strdup
    - gf_isom_enable_traf_inherit
    - gf_isom_allocate_sidx
    - gf_timestamp_less
    - gf_isom_modify_alternate_brand
    - gf_filter_pid_get_property_str
    - atoi
    - strcpy
    - gf_isom_get_alternate_brand
    - gf_list_del_item
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_list_insert
    - gf_list_get
    - gf_isom_setup_track_fragment
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_filter_pck_discard
    - gf_bs_write_u32
    - gf_isom_apply_box_patch
    - strchr
    - gf_isom_set_fragment_option
    - gf_isom_setup_track_fragment_template
    - gf_filter_pck_send
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_timestamp_greater
    - mp4_mux_flush_seg
    - gf_isom_finalize_for_fragment
    - gf_isom_set_brand_info
    - mp4_mux_cenc_update
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_initialize_movie(GF_MP4MuxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:6449,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:6457,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:6459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6461,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6452,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6462,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:6468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6470,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 6474
      start: 6446
    functionDepth: 0
    functionLinenumber: 6446
    functionLinenumberEnd: 6474
    functionName: mp4mx_frag_box_patch
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_get_property_str
    - gf_isom_apply_box_patch
    linkageType: ''
    returnType: void
    signature: 'static void mp4mx_frag_box_patch(GF_MP4MuxCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:8441,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8446,1
    - Dst: gf_isom_delete
      Src: /src/gpac/src/filters/mux_isom.c:8448,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_isom.c:8452,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:8451,1
    - Dst: mp4_mux_track_writer_del
      Src: /src/gpac/src/filters/mux_isom.c:8453,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_isom.c:8455,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:8457,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_isom.c:8458,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/mux_isom.c:8459,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_isom.c:8461,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:8463,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:8464,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/mux_isom.c:8465,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:8466,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:8468,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:8462,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 8469
      start: 8439
    functionDepth: 0
    functionLinenumber: 8439
    functionLinenumberEnd: 8469
    functionName: mp4_mux_finalize
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - mp4_mux_track_writer_del
    - gf_free
    - gf_fclose
    - gf_isom_delete
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 8752
      start: 8749
    functionDepth: 0
    functionLinenumber: 8749
    functionLinenumberEnd: 8752
    functionName: mp4mx_register
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mp4mx_register(GF_FilterSession *session) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_isom.c:525,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:543,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:579,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:579,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:582,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:582,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:586,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:586,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_isom.c:594,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:520,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:529,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:540,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:546,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:565,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:567,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:567,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:565,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:569,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:569,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:581,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:549,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:559,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:559,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:574,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:574,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:580,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:580,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_isom.c:592,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:517,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:535,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:554,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:563,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:554,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:563,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:587,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:587,1
    - Dst: mp4_mux_get_nalus_ps
      Src: /src/gpac/src/filters/mux_isom.c:576,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_isom.c:596,1
    - Dst: mp4_mux_write_ps_list
      Src: /src/gpac/src/filters/mux_isom.c:576,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 3
    argNames:
    - ctx
    - tkw
    - for_non_rap
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - Bool
    constantsTouched: []
    func_position:
      end: 599
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 599
    functionName: mp4_mux_make_inband_header
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - mp4_mux_write_ps_list
    - gf_bs_new
    - gf_free
    - mp4_mux_get_nalus_ps
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_make_inband_header(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, Bool for_non_rap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:661,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - udta
    - old_track_num
    - new_track_num
    argTypes:
    - void*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 672
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 672
    functionName: mp4mux_track_reorder
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void mp4mux_track_reorder(void *udta, u32 old_track_num, u32
      new_track_num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:4729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_MP4MuxCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 4733
      start: 4727
    functionDepth: 0
    functionLinenumber: 4727
    functionLinenumberEnd: 4733
    functionName: mp4_mux_get_sap
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_sap
    linkageType: ''
    returnType: GF_FilterSAPType
    signature: 'GF_FilterSAPType mp4_mux_get_sap(GF_MP4MuxCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6347,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6395,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6375,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6385,1
    - Dst: mp4_mux_cenc_insert_pssh
      Src: /src/gpac/src/filters/mux_isom.c:6404,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:6347,1
    - Dst: gf_isom_start_fragment
      Src: /src/gpac/src/filters/mux_isom.c:6345,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_isom.c:6351,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6368,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6398,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6382,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/mux_isom.c:6356,1
    - Dst: mp4_mux_cenc_insert_pssh
      Src: /src/gpac/src/filters/mux_isom.c:6401,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6392,1
    - Dst: gf_isom_set_fragment_option
      Src: /src/gpac/src/filters/mux_isom.c:6372,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:6331,1
    - Dst: gf_isom_set_next_moof_number
      Src: /src/gpac/src/filters/mux_isom.c:6336,1
    - Dst: gf_isom_set_fragment_template
      Src: /src/gpac/src/filters/mux_isom.c:6354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:6365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6375,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_MP4MuxCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 6410
      start: 6328
    functionDepth: 0
    functionLinenumber: 6328
    functionLinenumberEnd: 6410
    functionName: mp4_mux_start_fragment
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_set_fragment_template
    - gf_list_get
    - gf_filter_pck_get_property
    - gf_error_to_string
    - gf_list_count
    - gf_isom_box_del
    - GF_LOG
    - gf_isom_set_fragment_option
    - gf_isom_start_fragment
    - mp4_mux_cenc_insert_pssh
    - gf_isom_set_next_moof_number
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_start_fragment(GF_MP4MuxCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7224,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7234,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:7236,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:7231,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:7238,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:7239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - tkw
    - min_ts_service
    - skip_adjust
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 7242
      start: 7221
    functionDepth: 0
    functionLinenumber: 7221
    functionLinenumberEnd: 7242
    functionName: mp4_mux_update_init_edit
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_remove_edits
    - gf_sys_old_arch_compat
    - gf_timestamp_rescale
    - gf_isom_set_edit
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_update_init_edit(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw, u64 min_ts_service, Bool skip_adjust) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7497,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7543,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7488,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7495,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/mux_isom.c:7510,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7502,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7540,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_isom.c:7555,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7475,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7468,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7486,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7544,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7547,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/mux_isom.c:7548,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/mux_isom.c:7460,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7505,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7500,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_isom.c:7539,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/mux_isom.c:7553,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 3
    argNames:
    - ctx
    - done
    - total
    argTypes:
    - GF_MP4MuxCtx*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 7556
      start: 7455
    functionDepth: 0
    functionLinenumber: 7455
    functionLinenumberEnd: 7556
    functionName: mp4_mux_format_report
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_get
    - gf_isom_get_media_duration
    - gf_list_count
    - sprintf
    - gf_filter_update_status
    - gf_filter_reporting_enabled
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void mp4_mux_format_report(GF_MP4MuxCtx *ctx, u64 done, u64 total) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp4_mux_flush_frag_llhas
      Src: /src/gpac/src/filters/mux_isom.c:7743,1
    - Dst: mp4_mux_flush_seg
      Src: /src/gpac/src/filters/mux_isom.c:7747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 7763
      start: 7740
    functionDepth: 0
    functionLinenumber: 7740
    functionLinenumberEnd: 7763
    functionName: mp4_mux_flush_seg_events
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - mp4_mux_flush_seg
    - mp4_mux_flush_frag_llhas
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_flush_seg_events(GF_MP4MuxCtx *ctx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_add_sample_group_info
      Src: /src/gpac/src/filters/mux_isom.c:8122,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/mux_isom.c:8126,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/mux_isom.c:8129,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:8167,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8155,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/filters/mux_isom.c:8172,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/filters/mux_isom.c:8115,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8158,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:8170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8145,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:8166,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/mux_isom.c:8112,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/mux_isom.c:8118,1
    - Dst: gf_isom_remove_sample_group
      Src: /src/gpac/src/filters/mux_isom.c:8121,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:8123,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/mux_isom.c:8135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8164,1
    - Dst: gf_isom_set_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:8171,1
    - Dst: gf_isom_add_sample_group_info
      Src: /src/gpac/src/filters/mux_isom.c:8116,1
    - Dst: gf_isom_set_track_group
      Src: /src/gpac/src/filters/mux_isom.c:8123,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/mux_isom.c:8136,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - ctx
    - tkw
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 8175
      start: 8105
    functionDepth: 0
    functionLinenumber: 8105
    functionLinenumberEnd: 8175
    functionName: mp4_mux_set_hevc_groups
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_remove_sample_group
    - gf_filter_release_property
    - gf_isom_get_track_id
    - gf_filter_pid_get_info_str
    - GF_LOG
    - gf_isom_set_track_reference
    - gf_isom_set_track_group
    - gf_isom_get_track_count
    - gf_isom_get_media_subtype
    - gf_isom_add_sample_group_info
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_set_hevc_groups(GF_MP4MuxCtx *ctx, TrackWriter
      *tkw) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/mux_isom.c:606,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/filters/mux_isom.c:615,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/filters/mux_isom.c:610,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/mux_isom.c:607,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - width
    - height
    argTypes:
    - GF_MP4MuxCtx*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: mp4_mux_get_video_size
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_get_track_layout_info
    - gf_isom_get_media_type
    - gf_isom_get_track_count
    - gf_isom_get_visual_info
    linkageType: ''
    returnType: void
    signature: 'void mp4_mux_get_video_size(GF_MP4MuxCtx *ctx, u32 *width, u32 *height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_isom.c:677,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/mux_isom.c:686,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:681,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/mux_isom.c:683,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_isom.c:688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:690,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:693,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_isom.c:694,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_isom.c:697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 699
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 699
    functionName: mp4mux_reorder_tracks
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_get_track_id
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void mp4mux_reorder_tracks(GF_MP4MuxCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/filters/mux_isom.c:6424,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_isom.c:6421,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/mux_isom.c:6429,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/mux_isom.c:6428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:6430,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/mux_isom.c:6430,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:6434,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:6435,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_isom.c:6436,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_isom.c:6440,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_isom.c:6439,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/mux_isom.c:6442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 6444
      start: 6412
    functionDepth: 0
    functionLinenumber: 6412
    functionLinenumberEnd: 6444
    functionName: mp4_mux_flush_fragmented
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - GF_LOG
    - gf_fread
    - gf_filter_pck_set_framing
    - gf_filter_ask_rt_reschedule
    - gf_ftell
    - gf_filter_pid_set_eos
    - gf_filter_pck_send
    - gf_feof
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp4_mux_flush_fragmented(GF_MP4MuxCtx *ctx) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7270,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7255,1
    - Dst: get_service_info
      Src: /src/gpac/src/filters/mux_isom.c:7273,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/mux_isom.c:7302,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:7319,1
    - Dst: mp4_mux_cenc_update
      Src: /src/gpac/src/filters/mux_isom.c:7343,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:7347,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_isom.c:7354,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:7379,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:7399,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7433,1
    - Dst: del_service_info
      Src: /src/gpac/src/filters/mux_isom.c:7452,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_isom.c:7250,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7261,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7277,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_isom.c:7288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7289,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:7310,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:7324,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/mux_isom.c:7298,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_isom.c:7304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7407,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/mux_isom.c:7423,1
    - Dst: del_service_info
      Src: /src/gpac/src/filters/mux_isom.c:7427,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/mux_isom.c:7323,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_isom.c:7317,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_isom.c:7377,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:7383,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:7424,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/mux_isom.c:7426,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_isom.c:7440,1
    - Dst: mp4_mux_update_init_edit
      Src: /src/gpac/src/filters/mux_isom.c:7448,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_isom.c:7285,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_isom.c:7301,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_isom.c:7341,1
    - Dst: gf_isom_setup_track_fragment_template
      Src: /src/gpac/src/filters/mux_isom.c:7349,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/mux_isom.c:7373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7432,1
    - Dst: get_service_info
      Src: /src/gpac/src/filters/mux_isom.c:7441,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_isom.c:7406,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 159
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP4MuxCtx*
    constantsTouched: []
    func_position:
      end: 7453
      start: 7244
    functionDepth: 0
    functionLinenumber: 7244
    functionLinenumberEnd: 7453
    functionName: mp4_mux_config_timing
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - get_service_info
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_list_find
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_timestamp_less
    - gf_list_new
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_filter_pck_discard
    - gf_sys_clock
    - gf_filter_pck_is_blocking_ref
    - gf_isom_setup_track_fragment_template
    - gf_filter_pid_get_property
    - gf_filter_pck_get_seek_flag
    - mp4_mux_update_init_edit
    - del_service_info
    - mp4_mux_cenc_update
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_config_timing(GF_MP4MuxCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_isom.c:7767,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/mux_isom.c:7770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 7771
      start: 7765
    functionDepth: 0
    functionLinenumber: 7765
    functionLinenumberEnd: 7771
    functionName: mp4_mux_on_packet_destruct
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_on_packet_destruct(GF_Filter *filter, GF_FilterPid
      *PID, GF_FilterPacket *pck) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/mux_isom.c:8215,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8232,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8258,1
    - Dst: gf_m4v_get_profile_name
      Src: /src/gpac/src/filters/mux_isom.c:8270,1
    - Dst: gf_isom_refresh_size_info
      Src: /src/gpac/src/filters/mux_isom.c:8297,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:8323,1
    - Dst: gf_isom_set_forced_text
      Src: /src/gpac/src/filters/mux_isom.c:8327,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/mux_isom.c:8333,1
    - Dst: gf_get_bit_size
      Src: /src/gpac/src/filters/mux_isom.c:8335,1
    - Dst: gf_media_update_bitrate
      Src: /src/gpac/src/filters/mux_isom.c:8360,1
    - Dst: gf_media_nal_rewrite_samples
      Src: /src/gpac/src/filters/mux_isom.c:8349,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8348,1
    - Dst: gf_isom_apply_box_patch
      Src: /src/gpac/src/filters/mux_isom.c:8365,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_isom.c:8368,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_isom.c:8187,1
    - Dst: gf_isom_shift_cts_offset
      Src: /src/gpac/src/filters/mux_isom.c:8198,1
    - Dst: gf_isom_set_cts_packing
      Src: /src/gpac/src/filters/mux_isom.c:8199,1
    - Dst: gf_isom_update_edit_list_duration
      Src: /src/gpac/src/filters/mux_isom.c:8210,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:8239,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8256,1
    - Dst: gf_isom_change_mpeg4_description
      Src: /src/gpac/src/filters/mux_isom.c:8284,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/mux_isom.c:8285,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8306,1
    - Dst: mp4_mux_set_hevc_groups
      Src: /src/gpac/src/filters/mux_isom.c:8311,1
    - Dst: gf_isom_get_nalu_length_field
      Src: /src/gpac/src/filters/mux_isom.c:8342,1
    - Dst: gf_isom_get_mode
      Src: /src/gpac/src/filters/mux_isom.c:8330,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_isom.c:8334,1
    - Dst: gf_isom_set_cts_packing
      Src: /src/gpac/src/filters/mux_isom.c:8197,1
    - Dst: gf_isom_set_ctts_v1
      Src: /src/gpac/src/filters/mux_isom.c:8193,1
    - Dst: mp4_mux_update_edit_list_for_bframes
      Src: /src/gpac/src/filters/mux_isom.c:8206,1
    - Dst: gf_isom_purge_track_reference
      Src: /src/gpac/src/filters/mux_isom.c:8250,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:8242,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/mux_isom.c:8253,1
    - Dst: gf_isom_force_ctts
      Src: /src/gpac/src/filters/mux_isom.c:8247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8275,1
    - Dst: gf_isom_get_esd
      Src: /src/gpac/src/filters/mux_isom.c:8281,1
    - Dst: gf_m4v_rewrite_pl
      Src: /src/gpac/src/filters/mux_isom.c:8283,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/mux_isom.c:8313,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_isom.c:8363,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_isom.c:8325,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/mux_isom.c:8374,1
    - Dst: gf_isom_set_composition_offset_mode
      Src: /src/gpac/src/filters/mux_isom.c:8200,1
    - Dst: mp4_mux_update_edit_list_for_bframes
      Src: /src/gpac/src/filters/mux_isom.c:8202,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8237,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:8241,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/src/filters/mux_isom.c:8254,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8270,1
    - Dst: gf_m4v_get_profile_name
      Src: /src/gpac/src/filters/mux_isom.c:8275,1
    - Dst: gf_isom_set_pl_indication
      Src: /src/gpac/src/filters/mux_isom.c:8291,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8300,1
    - Dst: gf_isom_set_last_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:8301,1
    - Dst: gf_isom_modify_alternate_brand
      Src: /src/gpac/src/filters/mux_isom.c:8308,1
    - Dst: gf_isom_remove_sample
      Src: /src/gpac/src/filters/mux_isom.c:8315,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8321,1
    - Dst: gf_isom_set_nalu_length_field
      Src: /src/gpac/src/filters/mux_isom.c:8352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_isom.c:8367,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/mux_isom.c:8317,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 182
    argCount: 2
    argNames:
    - ctx
    - tkw
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    constantsTouched: []
    func_position:
      end: 8375
      start: 8177
    functionDepth: 0
    functionLinenumber: 8177
    functionLinenumberEnd: 8375
    functionName: mp4_mux_done_track
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_set_nalu_length_field
    - GF_LOG
    - gf_filter_release_property
    - gf_isom_set_cts_packing
    - gf_timestamp_rescale
    - gf_isom_purge_track_reference
    - gf_odf_desc_del
    - gf_m4v_rewrite_pl
    - gf_isom_remove_sample
    - gf_isom_set_composition_offset_mode
    - mp4_mux_set_hevc_groups
    - gf_m4v_get_profile_name
    - gf_isom_get_media_duration
    - gf_isom_set_edit
    - gf_isom_remove_edits
    - gf_isom_force_ctts
    - gf_isom_get_sample_description_count
    - gf_error_to_string
    - gf_isom_get_nalu_length_field
    - gf_isom_change_mpeg4_description
    - gf_isom_modify_alternate_brand
    - gf_filter_pid_get_property_str
    - gf_isom_get_mode
    - gf_isom_get_esd
    - gf_filter_pid_get_info
    - gf_media_update_bitrate
    - gf_isom_set_ctts_v1
    - gf_isom_set_forced_text
    - gf_filter_pid_get_info_str
    - gf_isom_get_track_duration
    - gf_isom_set_pl_indication
    - gf_isom_apply_box_patch
    - gf_get_bit_size
    - gf_isom_set_last_sample_duration
    - gf_isom_shift_cts_offset
    - mp4_mux_update_edit_list_for_bframes
    - gf_filter_pid_get_property
    - gf_isom_update_edit_list_duration
    - gf_isom_refresh_size_info
    - gf_media_nal_rewrite_samples
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_done_track(GF_MP4MuxCtx *ctx, TrackWriter *tkw) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/src/filters/mux_isom.c:8069,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/mux_isom.c:8078,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8081,1
    - Dst: gf_isom_remove_edits
      Src: /src/gpac/src/filters/mux_isom.c:8071,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/filters/mux_isom.c:8079,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:8084,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/mux_isom.c:8088,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8090,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_isom.c:8091,1
    - Dst: ABS
      Src: /src/gpac/src/filters/mux_isom.c:8093,1
    - Dst: gf_isom_set_edit
      Src: /src/gpac/src/filters/mux_isom.c:8097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - tkw
    - ctts_mode
    argTypes:
    - GF_MP4MuxCtx*
    - TrackWriter*
    - u32
    constantsTouched: []
    func_position:
      end: 8099
      start: 8061
    functionDepth: 0
    functionLinenumber: 8061
    functionLinenumberEnd: 8099
    functionName: mp4_mux_update_edit_list_for_bframes
    functionSourceFile: /src/gpac/src/filters/mux_isom.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_duration
    - gf_isom_set_edit
    - gf_isom_remove_edits
    - ABS
    - gf_isom_get_edit_list_type
    - gf_timestamp_rescale
    - gf_isom_get_sample_count
    - gf_sys_old_arch_compat
    linkageType: ''
    returnType: void
    signature: 'static void mp4_mux_update_edit_list_for_bframes(GF_MP4MuxCtx *ctx,
      TrackWriter *tkw, u32 ctts_mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:218,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:225,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/reframer.c:219,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/reframer.c:223,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:220,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:227,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframer.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - st
    - do_free
    argTypes:
    - GF_ReframerCtx*
    - RTStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: reframer_reset_stream
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_free
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'static void reframer_reset_stream(GF_ReframerCtx *ctx, RTStream *st,
      Bool do_free) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: reframer_parse_date
      Src: /src/gpac/src/filters/reframer.c:597,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:656,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:676,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/reframer.c:680,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframer.c:718,1
    - Dst: reframer_push_props
      Src: /src/gpac/src/filters/reframer.c:733,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframer.c:715,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:706,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframer.c:735,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframer.c:749,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:669,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:681,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:704,1
    - Dst: gf_filter_pid_push_properties
      Src: /src/gpac/src/filters/reframer.c:734,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:729,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframer.c:751,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframer.c:750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:598,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/reframer.c:735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:744,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:747,1
    - Dst: reframer_parse_date
      Src: /src/gpac/src/filters/reframer.c:668,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframer.c:713,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframer.c:714,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:731,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/reframer.c:748,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 191
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ReframerCtx*
    constantsTouched: []
    func_position:
      end: 754
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 754
    functionName: reframer_load_range
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - reframer_parse_date
    - gf_filter_pid_push_properties
    - gf_list_get
    - gf_filter_pid_set_discard
    - GF_FEVT_INIT
    - gf_list_count
    - GF_LOG
    - PROP_STRING
    - gf_timestamp_greater_or_equal
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - reframer_push_props
    - gf_filter_pid_set_property_str
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void reframer_load_range(GF_ReframerCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/src/filters/reframer.c:235,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframer.c:236,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:242,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:242,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:246,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:246,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/reframer.c:249,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/reframer.c:250,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - st
    argTypes:
    - GF_ReframerCtx*
    - RTStream*
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: reframer_push_props
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_reset_properties
    - gf_filter_pid_set_property_str
    - gf_sys_old_arch_compat
    linkageType: ''
    returnType: void
    signature: 'static void reframer_push_props(GF_ReframerCtx *ctx, RTStream *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframer.c:759,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:760,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframer.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - st
    - pck
    - pck_is_ref
    argTypes:
    - GF_ReframerCtx*
    - RTStream*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 764
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 764
    functionName: reframer_drop_packet
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    - gf_filter_pck_unref
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void reframer_drop_packet(GF_ReframerCtx *ctx, RTStream *st, GF_FilterPacket
      *pck, Bool pck_is_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframer.c:773,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframer.c:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - st
    - src
    - src_size
    - offset
    - dst
    - nb_samp
    argTypes:
    - RTStream*
    - u8*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 778
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 778
    functionName: reframer_copy_raw_audio
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void reframer_copy_raw_audio(RTStream *st, const u8 *src, u32 src_size,
      u32 offset, u8 *dst, u32 nb_samp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1363,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframer.c:1368,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1367,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:1370,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/reframer.c:1374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - GF_ReframerCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1375
    functionName: reframer_dump_mem
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - fprintf
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: void
    signature: 'static void reframer_dump_mem(GF_ReframerCtx *ctx, char *status) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:2785,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:2790,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframer.c:2787,1
    - Dst: reframer_load_range
      Src: /src/gpac/src/filters/reframer.c:2796,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/reframer.c:2805,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframer.c:2805,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/reframer.c:2808,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframer.c:2808,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/reframer.c:2811,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframer.c:2811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2817
    functionName: reframer_initialize
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - reframer_load_range
    - gf_filter_override_caps
    - GF_ARRAY_LENGTH
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err reframer_initialize(GF_Filter *filter) '
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframer.c:948,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframer.c:963,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1070,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:1049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1064,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1010,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframer.c:859,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframer.c:892,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframer.c:932,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframer.c:944,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:991,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframer.c:918,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:1070,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframer.c:889,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:959,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframer.c:1053,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframer.c:1085,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1140,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/reframer.c:1010,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1051,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1044,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframer.c:908,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframer.c:983,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:1091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1102,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/src/filters/reframer.c:1131,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframer.c:955,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:1020,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1013,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1039,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframer.c:1131,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:894,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:788,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:809,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframer.c:860,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframer.c:952,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframer.c:981,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:1034,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:948,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframer.c:1013,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframer.c:888,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframer.c:1104,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:790,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframer.c:904,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:989,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/reframer.c:998,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1050,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:1125,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:1127,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframer.c:1052,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframer.c:855,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframer.c:887,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1024,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1084,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframer.c:1095,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:1111,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframer.c:1122,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframer.c:1129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:820,1
    - Dst: strlen
      Src: /src/gpac/src/filters/reframer.c:1000,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1047,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1061,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:799,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframer.c:891,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:981,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframer.c:1024,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframer.c:1075,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframer.c:1133,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:912,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframer.c:926,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:1029,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframer.c:1046,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframer.c:1117,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframer.c:914,1
    - Dst: reframer_copy_raw_audio
      Src: /src/gpac/src/filters/reframer.c:935,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/src/filters/reframer.c:884,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframer.c:861,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/reframer.c:996,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:993,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:1022,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframer.c:1142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframer.c:1029,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframer.c:890,1
    - Dst: reframer_copy_raw_audio
      Src: /src/gpac/src/filters/reframer.c:910,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1069,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframer.c:1073,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1079,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1127,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:1138,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:1140,1
    - Dst: reframer_drop_packet
      Src: /src/gpac/src/filters/reframer.c:1147,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:1027,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframer.c:993,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframer.c:893,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:929,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:947,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframer.c:1052,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframer.c:1135,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 387
    argCount: 5
    argNames:
    - filter
    - ctx
    - st
    - pck
    - pck_is_ref
    argTypes:
    - GF_Filter*
    - GF_ReframerCtx*
    - RTStream*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1157
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 1157
    functionName: reframer_send_packet
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - GF_FEVT_INIT
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_bs_seek
    - PROP_BOOL
    - PROP_STRING_NO_COPY
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_list_count
    - PROP_STRING
    - gf_filter_pck_set_seek_flag
    - gf_timestamp_less
    - gf_filter_pck_set_cts
    - PROP_UINT
    - reframer_copy_raw_audio
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_bs_read_u32
    - gf_dynstrcat
    - gf_filter_pck_set_property
    - gf_filter_pck_new_copy
    - gf_bs_new
    - sprintf
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - strchr
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pid_send_event
    - gf_filter_pck_set_dts
    - reframer_drop_packet
    - gf_filter_pid_get_property
    - gf_filter_pck_merge_properties
    - gf_timestamp_greater
    linkageType: ''
    returnType: Bool
    signature: 'Bool reframer_send_packet(GF_Filter *filter, GF_ReframerCtx *ctx,
      RTStream *st, GF_FilterPacket *pck, Bool pck_is_ref) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:2821,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2825,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframer.c:2865,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2867
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2867
    functionName: reframer_process_event
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool reframer_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 196
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:1720,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/reframer.c:1863,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframer.c:1903,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:1914,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1970,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/reframer.c:2016,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2101,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:2332,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2518,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:2523,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/reframer.c:2613,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:1770,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:2287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:2313,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2329,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2397,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2483,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:2602,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2546,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1974,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2084,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframer.c:2232,1
    - Dst: gf_timecode_to_timestamp
      Src: /src/gpac/src/filters/reframer.c:1833,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframer.c:1915,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/reframer.c:2211,1
    - Dst: gf_format_timecode
      Src: /src/gpac/src/filters/reframer.c:2311,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2353,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:2600,1
    - Dst: reframer_load_range
      Src: /src/gpac/src/filters/reframer.c:2701,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/reframer.c:2643,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/reframer.c:2028,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframer.c:2266,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:2228,1
    - Dst: gf_timecode_less_or_equal
      Src: /src/gpac/src/filters/reframer.c:1838,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/reframer.c:2017,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2225,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:2276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:2311,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:2333,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/reframer.c:1782,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:2081,1
    - Dst: check_gop_split
      Src: /src/gpac/src/filters/reframer.c:2246,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:2089,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:2527,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/reframer.c:2532,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:2563,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframer.c:2608,1
    - Dst: reframer_send_packet
      Src: /src/gpac/src/filters/reframer.c:2659,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/reframer.c:2703,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:1877,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:2233,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/reframer.c:2224,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2375,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:2457,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframer.c:2503,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2519,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:2561,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2676,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:1774,1
    - Dst: gf_net_get_utc_ts
      Src: /src/gpac/src/filters/reframer.c:1807,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2371,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframer.c:2444,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframer.c:2529,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframer.c:2585,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframer.c:2221,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2183,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1785,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1957,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2328,1
    - Dst: reframer_dump_mem
      Src: /src/gpac/src/filters/reframer.c:2475,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2486,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/reframer.c:1803,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:2081,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2218,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:2409,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2433,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframer.c:2505,1
    - Dst: reframer_dump_mem
      Src: /src/gpac/src/filters/reframer.c:2540,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1828,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2029,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:2032,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframer.c:2445,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframer.c:2587,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:2621,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/reframer.c:2725,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:1985,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/reframer.c:2022,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/reframer.c:1721,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframer.c:1780,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/filters/reframer.c:1804,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1954,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2263,1
    - Dst: reframer_check_pck_range
      Src: /src/gpac/src/filters/reframer.c:2051,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:2089,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframer.c:2219,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/reframer.c:2043,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/reframer.c:1728,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:1876,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1952,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:2268,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2432,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/reframer.c:2512,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:2671,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2679,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframer.c:2588,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/reframer.c:2646,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/reframer.c:1769,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1808,1
    - Dst: gf_timecode_to_timestamp
      Src: /src/gpac/src/filters/reframer.c:1834,1
    - Dst: gf_filter_pid_get_source_filter_name
      Src: /src/gpac/src/filters/reframer.c:2017,1
    - Dst: reframer_purge_queues
      Src: /src/gpac/src/filters/reframer.c:2061,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:2000,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:2177,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2547,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2672,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:2017,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframer.c:2023,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:2038,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframer.c:2214,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2391,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:2416,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:2458,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:2556,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframer.c:2692,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframer.c:2571,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:1790,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframer.c:1906,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:2341,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2355,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:2343,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:2357,1
    - Dst: reframer_drop_packet
      Src: /src/gpac/src/filters/reframer.c:2654,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:2689,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/reframer.c:2721,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:2264,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframer.c:2024,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/reframer.c:1786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1862,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1912,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1962,1
    - Dst: reframer_reset_stream
      Src: /src/gpac/src/filters/reframer.c:2167,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:2282,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:2339,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframer.c:2415,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/reframer.c:2605,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/reframer.c:2409,1
    CyclomaticComplexity: 330
    EdgeCount: 330
    ICount: 882
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 2731
    functionName: reframer_process
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - reframer_reset_stream
    - gf_malloc
    - gf_timecode_less_or_equal
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - gf_filter_pck_get_duration
    - reframer_check_pck_range
    - check_gop_split
    - GF_LOG
    - gf_filter_pid_drop_packet
    - reframer_load_range
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - gf_filter_abort
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_strdup
    - gf_filter_ask_rt_reschedule
    - gf_timestamp_less
    - gf_gmtime
    - gf_filter_pid_get_name
    - gf_assert
    - gf_filter_pid_get_source_filter_name
    - gf_filter_pck_get_dts
    - gf_net_get_utc_ts
    - gf_format_timecode
    - gf_props_reset_single
    - gf_list_get
    - gf_timecode_to_timestamp
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - ABS
    - gf_filter_post_process_task
    - gf_free
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pck_get_dependency_flags
    - gf_net_get_utc
    - gf_filter_pck_unref
    - gf_filter_get_ipid
    - reframer_send_packet
    - reframer_drop_packet
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_filter_get_ipid_count
    - PROP_LONGSINT
    - gf_timestamp_greater_or_equal
    - reframer_dump_mem
    - gf_timestamp_greater
    - gf_list_rem
    - gf_sys_clock_high_res
    - reframer_purge_queues
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reframer_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:2871,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframer.c:2874,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/reframer.c:2877,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:2873,1
    - Dst: reframer_reset_stream
      Src: /src/gpac/src/filters/reframer.c:2875,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframer.c:2879,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframer.c:2881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2882
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2882
    functionName: reframer_finalize
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - reframer_reset_stream
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void reframer_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframer.c:2887,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframer.c:2887,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:2889,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:2888,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:2891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2897
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2897
    functionName: reframer_update_arg
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err reframer_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3088
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3088
    functionName: reframer_register
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *reframer_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3093
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3093
    functionName: reframer_register
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *reframer_register(GF_FilterSession *session) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframer.c:258,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/reframer.c:269,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframer.c:274,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/reframer.c:316,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:347,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/reframer.c:363,1
    - Dst: reframer_push_props
      Src: /src/gpac/src/filters/reframer.c:404,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframer.c:264,1
    - Dst: reframer_reset_stream
      Src: /src/gpac/src/filters/reframer.c:270,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframer.c:278,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:315,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:299,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/reframer.c:284,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:308,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:317,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:319,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:335,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:373,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/reframer.c:259,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:290,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:322,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:363,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/reframer.c:384,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframer.c:361,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/reframer.c:265,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/reframer.c:267,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframer.c:281,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframer.c:286,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframer.c:282,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/reframer.c:283,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:373,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframer.c:377,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframer.c:377,1
    - Dst: gf_filter_pid_push_properties
      Src: /src/gpac/src/filters/reframer.c:407,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 135
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 411
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 411
    functionName: reframer_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - reframer_reset_stream
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_list_new
    - gf_list_del_item
    - gf_filter_pid_negotiate_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_filter_pid_push_properties
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - gf_audio_fmt_bit_depth
    - reframer_push_props
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err reframer_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/reframer.c:1210,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/reframer.c:1244,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/reframer.c:1252,1
    - Dst: gf_timestamp_less_or_equal
      Src: /src/gpac/src/filters/reframer.c:1273,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1276,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1285,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1294,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1296,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1300,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/filters/reframer.c:1184,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/reframer.c:1224,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/reframer.c:1245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1247,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1282,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/reframer.c:1182,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/reframer.c:1200,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/reframer.c:1208,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:1242,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframer.c:1240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1255,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1284,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1287,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframer.c:1298,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/reframer.c:1207,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/reframer.c:1190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1214,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/reframer.c:1253,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 158
    argCount: 8
    argNames:
    - filter
    - ctx
    - st
    - pck
    - ts
    - dur
    - frame_idx
    - nb_audio_samples_to_keep
    argTypes:
    - GF_Filter*
    - GF_ReframerCtx*
    - RTStream*
    - GF_FilterPacket*
    - u64
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1318
    functionName: reframer_check_pck_range
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_net_ntp_to_utc
    - gf_filter_reporting_enabled
    - gf_filter_pck_get_property
    - GF_LOG
    - sprintf
    - gf_timestamp_less_or_equal
    - gf_sys_clock
    - gf_timestamp_less
    - gf_timestamp_greater
    - gf_timestamp_rescale
    - gf_filter_update_status
    - gf_net_get_utc
    - gf_timestamp_rescale_signed
    linkageType: ''
    returnType: u32
    signature: 'static u32 reframer_check_pck_range(GF_Filter *filter, GF_ReframerCtx
      *ctx, RTStream *st, GF_FilterPacket *pck, u64 ts, u32 dur, u32 frame_idx, u32
      *nb_audio_samples_to_keep) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:468,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:506,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/reframer.c:516,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/filters/reframer.c:528,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframer.c:425,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframer.c:445,1
    - Dst: strlen
      Src: /src/gpac/src/filters/reframer.c:427,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:429,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:455,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:457,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:466,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframer.c:500,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframer.c:454,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:459,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframer.c:484,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframer.c:497,1
    - Dst: atof
      Src: /src/gpac/src/filters/reframer.c:501,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframer.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:533,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframer.c:484,1
    - Dst: atoi
      Src: /src/gpac/src/filters/reframer.c:481,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/filters/reframer.c:523,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 128
    argCount: 7
    argNames:
    - ctx
    - date
    - value
    - frame_idx_plus_one
    - extract_mode
    - is_dur
    - as_timecode
    argTypes:
    - GF_ReframerCtx*
    - char*
    - GF_Fraction64*
    - u64*
    - u32*
    - Bool*
    - GF_TimeCode**
    constantsTouched: []
    func_position:
      end: 537
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 537
    functionName: reframer_parse_date
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - gf_props_parse_value
    - strcmp
    - GF_LOG
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - atoi
    - gf_net_parse_date
    - gf_parse_lfrac
    - atof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool reframer_parse_date(GF_ReframerCtx *ctx, char *date, GF_Fraction64
      *value, u64 *frame_idx_plus_one, u32 *extract_mode, Bool *is_dur, GF_TimeCode
      **as_timecode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1322,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1324,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1336,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1338,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1334,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:1340,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframer.c:1342,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframer.c:1343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - ts
    - timescale
    argTypes:
    - GF_ReframerCtx*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 1347
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1347
    functionName: reframer_purge_queues
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pck_get_duration
    - gf_list_count
    - gf_list_rem
    - gf_filter_pck_unref
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'void reframer_purge_queues(GF_ReframerCtx *ctx, u64 ts, u32 timescale) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1415,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1399,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1532,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1498,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/reframer.c:1494,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:1662,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1688,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1700,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1619,1
    - Dst: ABS
      Src: /src/gpac/src/filters/reframer.c:1662,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1417,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1490,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1500,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/reframer.c:1503,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/reframer.c:1535,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1559,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/reframer.c:1573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1611,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframer.c:1677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1400,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1424,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframer.c:1496,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1537,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1565,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframer.c:1579,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1612,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1702,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframer.c:1708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframer.c:1687,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1381,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/reframer.c:1419,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1422,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1461,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1473,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/reframer.c:1542,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframer.c:1560,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframer.c:1567,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframer.c:1569,1
    - Dst: reframer_dump_mem
      Src: /src/gpac/src/filters/reframer.c:1604,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 282
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ReframerCtx*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1714
    functionName: check_gop_split
    functionSourceFile: /src/gpac/src/filters/reframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_list_last
    - gf_filter_pck_get_duration
    - gf_list_count
    - GF_LOG
    - gf_timestamp_greater_or_equal
    - reframer_dump_mem
    - gf_timestamp_less
    - gf_timestamp_greater
    - ABS
    - gf_filter_pck_get_sap
    - gf_assert
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void check_gop_split(GF_ReframerCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:202,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:205,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:211,1
    - Dst: gf_m2ts_get_sdt_info
      Src: /src/gpac/src/filters/dmx_m2ts.c:206,1
    - Dst: isalnum
      Src: /src/gpac/src/filters/dmx_m2ts.c:216,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_m2ts.c:216,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_m2ts.c:217,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_m2ts.c:217,1
    - Dst: isalnum
      Src: /src/gpac/src/filters/dmx_m2ts.c:219,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_m2ts.c:220,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_m2ts.c:220,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_m2ts.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - ts
    - for_pid
    argTypes:
    - GF_M2TS_Demuxer*
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionName: m2tsdmx_update_sdt
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_set_info
    - isalnum
    - gf_list_count
    - PROP_STRING
    - gf_m2ts_get_sdt_info
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_update_sdt(GF_M2TS_Demuxer *ts, void *for_pid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_m2ts.c:762,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_m2ts.c:804,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_m2ts.c:811,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:814,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:766,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dmx_m2ts.c:757,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:776,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:800,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_m2ts.c:790,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_m2ts.c:797,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_m2ts.c:810,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dmx_m2ts.c:815,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:818,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:824,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:756,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_m2ts.c:771,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_m2ts.c:780,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:785,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/dmx_m2ts.c:811,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:784,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/dmx_m2ts.c:790,1
    - Dst: gf_id3_list_to_bitstream
      Src: /src/gpac/src/filters/dmx_m2ts.c:802,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:804,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:793,1
    - Dst: gf_id3_tag_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:817,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dmx_m2ts.c:819,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:821,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 3
    argNames:
    - pid
    - stream
    - pck
    argTypes:
    - GF_FilterPid*
    - GF_M2TS_ES*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 827
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 827
    functionName: m2tdmx_merge_props
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - snprintf
    - gf_bs_get_content
    - gf_id3_list_to_bitstream
    - gf_bs_del
    - gf_id3_tag_free
    - gf_list_del
    - gf_list_pop_front
    - gf_error_to_string
    - gf_list_count
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pck_set_property_dyn
    - gf_bs_new
    - gf_free
    - gf_list_new
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void m2tdmx_merge_props(GF_FilterPid *pid, GF_M2TS_ES *stream,
      GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_m2ts.c:1068,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1070,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1071,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1070,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1069,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1071,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1072,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1072,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1073,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1073,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1074,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_M2TSDmxCtx*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1075
    functionName: m2tsdmx_declare_epg_pid
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_assert
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_declare_epg_pid(GF_M2TSDmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1551,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1552,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1559,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1563,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1561,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1564,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - prog
    - ts
    - switch_up
    argTypes:
    - GF_M2TS_Program*
    - GF_M2TS_Demuxer*
    - Bool
    constantsTouched: []
    func_position:
      end: 1572
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1572
    functionName: m2tsdmx_switch_quality
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_set_pes_framing
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_switch_quality(GF_M2TS_Program *prog, GF_M2TS_Demuxer
      *ts, Bool switch_up) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_probe_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1826
    functionName: m2tsdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_probe_data
    linkageType: ''
    returnType: char*
    signature: 'static const char *m2tsdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/dmx_m2ts.c:242,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_m2ts.c:467,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:516,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:520,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/dmx_m2ts.c:664,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_m2ts.c:550,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:379,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:424,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:526,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:514,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:527,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:552,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:575,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:581,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:505,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:513,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:516,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:542,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_m2ts.c:602,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_m2ts.c:660,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:639,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:508,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:552,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:612,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:616,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:617,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:626,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:464,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:484,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:529,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_m2ts.c:593,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:651,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:670,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:672,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:679,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:461,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/dmx_m2ts.c:500,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:514,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:554,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:548,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:527,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:576,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:618,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_m2ts.c:638,1
    - Dst: m2tsdmx_update_sdt
      Src: /src/gpac/src/filters/dmx_m2ts.c:677,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:520,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:537,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:531,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:570,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:578,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:670,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_m2ts.c:553,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:548,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:565,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:505,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:526,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:530,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:541,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:618,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_m2ts.c:501,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:515,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:551,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:534,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:530,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:547,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:557,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:561,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:535,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:571,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:529,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_m2ts.c:246,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:475,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:504,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_m2ts.c:501,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:546,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_m2ts.c:559,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:573,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:634,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:535,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_m2ts.c:561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:381,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:538,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:534,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:571,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:581,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:593,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:555,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:477,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:504,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:531,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:576,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_m2ts.c:624,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_m2ts.c:634,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:638,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:639,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:666,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:645,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:513,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:518,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:542,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_m2ts.c:549,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:574,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_m2ts.c:605,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:640,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:645,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_m2ts.c:502,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:522,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:556,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:569,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_m2ts.c:618,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_m2ts.c:626,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:650,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:656,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_m2ts.c:662,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:583,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/dmx_m2ts.c:554,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_m2ts.c:476,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:515,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_m2ts.c:518,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_m2ts.c:562,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:568,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:574,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:583,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_m2ts.c:609,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:640,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:556,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:522,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:569,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:617,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:647,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_m2ts.c:656,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:664,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 398
    argCount: 3
    argNames:
    - ctx
    - stream
    - esd
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_PES*
    - GF_ESD*
    constantsTouched: []
    func_position:
      end: 680
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 680
    functionName: m2tsdmx_declare_pid
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - gf_m2ts_set_pes_framing
    - PROP_DATA
    - GF_LOG
    - PROP_BOOL
    - PROP_STRING_NO_COPY
    - PROP_FRAC64
    - m2tsdmx_update_sdt
    - gf_4cc_to_str
    - gf_bs_skip_bytes
    - gf_bs_del
    - gf_list_find
    - GF_4CC
    - gf_list_count
    - gf_strdup
    - PROP_STRING
    - PROP_UINT
    - PROP_4CC
    - gf_bs_read_u32
    - gf_list_get
    - gf_bs_read_u8
    - gf_bs_get_position
    - sprintf
    - gf_bs_new
    - gf_filter_pid_set_property
    - memcpy
    - gf_filter_get_opid_count
    - gf_free
    - gf_filter_get_opid
    - gf_bs_read_utf8
    - gf_stream_type_name
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_codecid_type
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_declare_pid(GF_M2TSDmxCtx *ctx, GF_M2TS_PES *stream,
      GF_ESD *esd) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dmx_m2ts.c:862,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dmx_m2ts.c:864,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_m2ts.c:880,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_m2ts.c:892,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_m2ts.c:900,1
    - Dst: m2tdmx_merge_props
      Src: /src/gpac/src/filters/dmx_m2ts.c:924,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dmx_m2ts.c:911,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:928,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:894,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_m2ts.c:902,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:912,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:919,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:941,1
    - Dst: gf_media_vc1_seq_header_to_dsi
      Src: /src/gpac/src/filters/dmx_m2ts.c:878,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:880,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_m2ts.c:890,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_m2ts.c:904,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:928,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_m2ts.c:943,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dmx_m2ts.c:866,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/dmx_m2ts.c:919,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:912,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dmx_m2ts.c:941,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_PES_PCK*
    constantsTouched: []
    func_position:
      end: 945
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 945
    functionName: m2tsdmx_send_packet
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - m2tdmx_merge_props
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_property
    - gf_filter_pck_set_sap
    - PROP_LONGUINT
    - gf_media_vc1_seq_header_to_dsi
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_media_nalu_next_start_code
    - gf_filter_pck_set_framing
    - PROP_DOUBLE
    - memcpy
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - PROP_FRAC64_INT
    - PROP_DATA_NO_COPY
    - gf_timestamp_rescale_signed
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_send_packet(GF_M2TSDmxCtx *ctx, GF_M2TS_PES_PCK
      *pck) '
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:1171,1
    - Dst: gf_net_get_utc_ts
      Src: /src/gpac/src/filters/dmx_m2ts.c:1190,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1250,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1258,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_m2ts.c:1437,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1223,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:1347,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1377,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1440,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1222,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_m2ts.c:1255,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1298,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1270,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:1294,1
    - Dst: m2tsdmx_setup_program
      Src: /src/gpac/src/filters/dmx_m2ts.c:1099,1
    - Dst: m2tsdmx_setup_program
      Src: /src/gpac/src/filters/dmx_m2ts.c:1111,1
    - Dst: m2tsdmx_update_sdt
      Src: /src/gpac/src/filters/dmx_m2ts.c:1117,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_m2ts.c:1123,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1320,1
    - Dst: m2tsdmx_send_sl_packet
      Src: /src/gpac/src/filters/dmx_m2ts.c:1136,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:1223,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1260,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1441,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1083,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/src/filters/dmx_m2ts.c:1168,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1285,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1261,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1398,1
    - Dst: m2tsdmx_prop_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:1413,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_m2ts.c:1173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1299,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_m2ts.c:1333,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1300,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1357,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/dmx_m2ts.c:1439,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1306,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_m2ts.c:1101,1
    - Dst: m2tsdmx_send_packet
      Src: /src/gpac/src/filters/dmx_m2ts.c:1132,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1171,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1267,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1375,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1293,1
    - Dst: gf_id3_tag_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1344,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_m2ts.c:1126,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1242,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dmx_m2ts.c:1257,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1411,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/dmx_m2ts.c:1440,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1322,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1093,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_m2ts.c:1272,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_m2ts.c:1311,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_m2ts.c:1266,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_m2ts.c:1305,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_m2ts.c:1388,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1395,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1432,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1439,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1301,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:1264,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1383,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1393,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:1414,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1220,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1328,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1158,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:1348,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_m2ts.c:1442,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_m2ts.c:1431,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1297,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_m2ts.c:1245,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dmx_m2ts.c:1259,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1373,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_m2ts.c:1125,1
    - Dst: m2tsdmx_estimate_duration
      Src: /src/gpac/src/filters/dmx_m2ts.c:1148,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1222,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dmx_m2ts.c:1295,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_m2ts.c:1359,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1391,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_m2ts.c:1394,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1416,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/dmx_m2ts.c:1441,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_m2ts.c:1429,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1161,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/dmx_m2ts.c:1164,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1216,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dmx_m2ts.c:1303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1203,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_m2ts.c:1288,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dmx_m2ts.c:1146,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_m2ts.c:1167,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dmx_m2ts.c:1296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1346,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1191,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1214,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:1340,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_m2ts.c:1412,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1309,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_m2ts.c:1338,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_m2ts.c:1400,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_m2ts.c:1263,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1194,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_m2ts.c:1438,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 255
    argCount: 3
    argNames:
    - ts
    - evt_type
    - param
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1446
    functionName: m2tsdmx_on_event
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_bs_get_content
    - m2tsdmx_estimate_duration
    - gf_bs_write_data
    - m2tsdmx_setup_program
    - PROP_BOOL
    - m2tsdmx_send_sl_packet
    - GF_LOG
    - m2tsdmx_update_sdt
    - GF_SAFEALLOC
    - PROP_FRAC64_INT
    - gf_list_pop_back
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_list_new
    - gf_assert
    - gf_bs_write_int
    - gf_id3_tag_new
    - gf_net_get_utc_ts
    - gf_bs_write_u64
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - m2tsdmx_prop_free
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - gf_free
    - gf_filter_pck_set_clock_type
    - gf_filter_pck_send
    - gf_filter_pck_new_shared
    - m2tsdmx_send_packet
    - gf_filter_pid_get_property
    - gf_fatal_assert
    - gf_filter_pck_set_property_str
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_on_event(GF_M2TS_Demuxer *ts, u32 evt_type, void
      *param) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1580,1
    - Dst: m2tsdmx_switch_quality
      Src: /src/gpac/src/filters/dmx_m2ts.c:1588,1
    - Dst: m2tsdmx_get_stream
      Src: /src/gpac/src/filters/dmx_m2ts.c:1602,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1587,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1613,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:1614,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1666,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_m2ts.c:1671,1
    - Dst: m2tsdmx_get_stream
      Src: /src/gpac/src/filters/dmx_m2ts.c:1675,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1682,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 73
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1701
    functionName: m2tsdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - m2tsdmx_switch_quality
    - gf_m2ts_set_pes_framing
    - gf_list_count
    - GF_FEVT_INIT
    - GF_LOG
    - m2tsdmx_get_stream
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool m2tsdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1896
    functionName: m2tsdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *m2tsdmx_register(GF_FilterSession *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:135,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_m2ts.c:181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:176,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:179,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:182,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_m2ts.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:183,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_ES*
    constantsTouched: []
    func_position:
      end: 186
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 186
    functionName: m2tsdmx_estimate_duration
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - gf_filter_get_opid_count
    - gf_filter_get_opid
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_estimate_duration(GF_M2TSDmxCtx *ctx, GF_M2TS_ES
      *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:684,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:686,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:693,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:698,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:695,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_m2ts.c:698,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - prog
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_Program*
    constantsTouched: []
    func_position:
      end: 704
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 704
    functionName: m2tsdmx_setup_scte35
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_filter_pid_set_property
    - PROP_UINT
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_setup_scte35(GF_M2TSDmxCtx *ctx, GF_M2TS_Program
      *prog) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:950,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:952,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:955,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:953,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - m4sys_es_id
    argTypes:
    - GF_M2TSDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 960
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 960
    functionName: m2tsdmx_get_m4sys_stream
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_M2TS_ES*
    signature: 'static GF_M2TS_ES *m2tsdmx_get_m4sys_stream(GF_M2TSDmxCtx *ctx, u32
      m4sys_es_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1707,1
    - Dst: gf_m2ts_demux_dmscc_init
      Src: /src/gpac/src/filters/dmx_m2ts.c:1717,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1721
    functionName: m2tsdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_m2ts_demux_dmscc_init
    - gf_m2ts_demux_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err m2tsdmx_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_id3_tag_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:122,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_m2ts.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - prop
    argTypes:
    - GF_M2TS_Prop*
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: m2tsdmx_prop_free
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_id3_tag_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_prop_free(GF_M2TS_Prop *prop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:191,1
    - Dst: m2tsdmx_estimate_duration
      Src: /src/gpac/src/filters/dmx_m2ts.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - ts
    - evt_type
    - param
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: m2tsdmx_on_event_duration_probe
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - m2tsdmx_estimate_duration
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_on_event_duration_probe(GF_M2TS_Demuxer *ts, u32
      evt_type, void *param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:712,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:733,1
    - Dst: gf_m2ts_set_pes_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:726,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:725,1
    - Dst: m2tsdmx_declare_pid
      Src: /src/gpac/src/filters/dmx_m2ts.c:737,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:739,1
    - Dst: m2tsdmx_setup_scte35
      Src: /src/gpac/src/filters/dmx_m2ts.c:746,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - prog
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_Program*
    constantsTouched: []
    func_position:
      end: 747
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 747
    functionName: m2tsdmx_setup_program
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - m2tsdmx_declare_pid
    - gf_m2ts_set_pes_framing
    - gf_list_count
    - m2tsdmx_setup_scte35
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_setup_program(GF_M2TSDmxCtx *ctx, GF_M2TS_Program
      *prog) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_m2ts.c:993,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_m2ts.c:996,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dmx_m2ts.c:1001,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1025,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/filters/dmx_m2ts.c:1027,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_m2ts.c:1012,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1029,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1032,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1036,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1038,1
    - Dst: gf_sl_depacketize
      Src: /src/gpac/src/filters/dmx_m2ts.c:976,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_m2ts.c:986,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_m2ts.c:979,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_m2ts.c:999,1
    - Dst: m2tdmx_merge_props
      Src: /src/gpac/src/filters/dmx_m2ts.c:1003,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_m2ts.c:1006,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1010,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_m2ts.c:1052,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/filters/dmx_m2ts.c:1028,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_m2ts.c:1040,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:990,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_m2ts.c:983,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1006,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1010,1
    - Dst: m2tsdmx_get_m4sys_stream
      Src: /src/gpac/src/filters/dmx_m2ts.c:1041,1
    - Dst: m2tsdmx_declare_pid
      Src: /src/gpac/src/filters/dmx_m2ts.c:1044,1
    - Dst: m2tsdmx_get_m4sys_stream
      Src: /src/gpac/src/filters/dmx_m2ts.c:1053,1
    - Dst: m2tsdmx_declare_pid
      Src: /src/gpac/src/filters/dmx_m2ts.c:1055,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1061,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_M2TS_SL_PCK*
    constantsTouched: []
    func_position:
      end: 1063
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1063
    functionName: m2tsdmx_send_sl_packet
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_odf_codec_del
    - GF_LOG
    - PROP_BOOL
    - PROP_FRAC64_INT
    - gf_filter_pck_new_alloc
    - m2tsdmx_declare_pid
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pck_set_cts
    - gf_list_get
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_set_property
    - gf_list_enum
    - gf_filter_pck_set_framing
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - memcpy
    - gf_filter_pck_send
    - m2tdmx_merge_props
    - gf_filter_pck_set_dts
    - gf_odf_codec_decode
    - gf_sl_depacketize
    - m2tsdmx_get_m4sys_stream
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void m2tsdmx_send_sl_packet(GF_M2TSDmxCtx *ctx, GF_M2TS_SL_PCK
      *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1726,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1729
    functionName: m2tsdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_demux_del
    - gf_filter_get_udta
    linkageType: ''
    returnType: void
    signature: 'static void m2tsdmx_finalize(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_m2ts.c:1745,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1746,1
    - Dst: gf_m2ts_mark_seg_start
      Src: /src/gpac/src/filters/dmx_m2ts.c:1761,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_m2ts.c:1743,1
    - Dst: gf_m2ts_reset_parsers
      Src: /src/gpac/src/filters/dmx_m2ts.c:1767,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1771,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_m2ts.c:1783,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_m2ts.c:1802,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_m2ts.c:1789,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1806,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_m2ts.c:1807,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1735,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_m2ts.c:1750,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_m2ts.c:1751,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1798,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1774,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1800,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_m2ts.c:1776,1
    - Dst: gf_m2ts_flush_all
      Src: /src/gpac/src/filters/dmx_m2ts.c:1748,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_m2ts.c:1759,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_m2ts.c:1773,1
    - Dst: gf_m2ts_reset_parsers
      Src: /src/gpac/src/filters/dmx_m2ts.c:1809,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1817
    functionName: m2tsdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_m2ts_mark_seg_start
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_pid_is_playing
    - gf_filter_pck_get_data
    - gf_m2ts_process_data
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - gf_filter_get_opid_count
    - gf_filter_pid_would_block
    - gf_filter_get_opid
    - gf_filter_pid_send_event
    - gf_m2ts_flush_all
    - gf_m2ts_reset_parsers
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err m2tsdmx_process(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1456,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_m2ts.c:1458,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_m2ts.c:1459,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_m2ts.c:1478,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_m2ts.c:1512,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/src/filters/dmx_m2ts.c:1501,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_m2ts.c:1452,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_m2ts.c:1463,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_m2ts.c:1499,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1469,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_m2ts.c:1477,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_m2ts.c:1495,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/src/filters/dmx_m2ts.c:1496,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_m2ts.c:1511,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_m2ts.c:1470,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_m2ts.c:1485,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/dmx_m2ts.c:1493,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dmx_m2ts.c:1516,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/src/filters/dmx_m2ts.c:1500,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1521
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1521
    functionName: m2tsdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - gf_filter_get_udta
    - strncmp
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_m2ts_demux_del
    - gf_fread
    - gf_fclose
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_property_str
    - gf_filter_get_opid_count
    - gf_filter_pid_remove
    - gf_feof
    - gf_filter_get_opid
    - gf_fopen
    - gf_m2ts_demux_new
    - gf_filter_pid_send_event
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err m2tsdmx_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1527,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1532,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_m2ts.c:1530,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_m2ts.c:1529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - pid
    argTypes:
    - GF_M2TSDmxCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1537
    functionName: m2tsdmx_get_stream
    functionSourceFile: /src/gpac/src/filters/dmx_m2ts.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_M2TS_PES*
    signature: 'static GF_M2TS_PES *m2tsdmx_get_stream(GF_M2TSDmxCtx *ctx, GF_FilterPid
      *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: ttml2vtt_register
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttml2vtt_register(GF_FilterSession *session) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ttml_conv.c:171,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/ttml_conv.c:222,1
    - Dst: ttml_parse_root
      Src: /src/gpac/src/filters/ttml_conv.c:224,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/filters/ttml_conv.c:217,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ttml_conv.c:248,1
    - Dst: ttmlconv_dump_node
      Src: /src/gpac/src/filters/ttml_conv.c:265,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/ttml_conv.c:266,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ttml_conv.c:269,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ttml_conv.c:278,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ttml_conv.c:281,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ttml_conv.c:283,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ttml_conv.c:173,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ttml_conv.c:178,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ttml_conv.c:187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ttml_conv.c:219,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ttml_conv.c:211,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ttml_conv.c:189,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ttml_conv.c:207,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ttml_conv.c:228,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:239,1
    - Dst: ttml_get_timestamp_ex
      Src: /src/gpac/src/filters/ttml_conv.c:245,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ttml_conv.c:282,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/ttml_conv.c:289,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/ttml_conv.c:274,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ttml_conv.c:162,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ttml_conv.c:164,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ttml_conv.c:179,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/ttml_conv.c:215,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/ttml_conv.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ttml_conv.c:230,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/ttml_conv.c:237,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/ttml_conv.c:241,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ttml_conv.c:247,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ttml_conv.c:279,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ttml_conv.c:288,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/ttml_conv.c:260,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ttml_conv.c:148,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ttml_conv.c:165,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ttml_conv.c:186,1
    - Dst: ttml_get_body
      Src: /src/gpac/src/filters/ttml_conv.c:227,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:232,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/ttml_conv.c:242,1
    - Dst: ttml_get_timestamp_ex
      Src: /src/gpac/src/filters/ttml_conv.c:246,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/ttml_conv.c:267,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ttml_conv.c:275,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/ttml_conv.c:280,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ttml_conv.c:290,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 131
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 292
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 292
    functionName: ttmlconv_process
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_fseek
    - gf_filter_pck_get_data
    - ttml_get_attr
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_list_count
    - strcmp
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_list_enum
    - gf_fread
    - gf_file_temp
    - gf_fclose
    - gf_xml_dom_parse_string
    - gf_ftell
    - ttml_get_timestamp_ex
    - memcpy
    - gf_filter_pck_send
    - gf_xml_dom_get_error
    - ttmlconv_dump_node
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_filter_pck_merge_properties
    - ttml_get_body
    - gf_xml_dom_get_root
    - ttml_parse_root
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ttmlconv_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: ttml2vtt_register
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttml2vtt_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ttml_conv.c:54,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/ttml_conv.c:64,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ttml_conv.c:69,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ttml_conv.c:59,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ttml_conv.c:72,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ttml_conv.c:74,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ttml_conv.c:74,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ttml_conv.c:75,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ttml_conv.c:75,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ttml_conv.c:76,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ttml_conv.c:81,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ttml_conv.c:83,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ttml_conv.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: ttmlconv_configure_pid
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ttmlconv_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ttml_conv.c:296,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ttml_conv.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: ttmlconv_finalize
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ttmlconv_finalize(GF_Filter *filter) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:134,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:142,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:110,1
    - Dst: strchr
      Src: /src/gpac/src/filters/ttml_conv.c:107,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:110,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:112,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:114,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:116,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/ttml_conv.c:127,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:133,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/ttml_conv.c:106,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:129,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:143,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:110,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:112,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ttml_conv.c:114,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:121,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:122,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:124,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:123,1
    - Dst: ttmlconv_dump_node
      Src: /src/gpac/src/filters/ttml_conv.c:137,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:140,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ttml_conv.c:141,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 55
    argCount: 3
    argNames:
    - ctx
    - p
    - dump
    argTypes:
    - TTMLConvCtx*
    - GF_XMLNode*
    - FILE*
    constantsTouched: []
    func_position:
      end: 144
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 144
    functionName: ttmlconv_dump_node
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached:
    - ttmlconv_dump_node
    - gf_list_enum
    - fprintf
    - strcmp
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void ttmlconv_dump_node(TTMLConvCtx *ctx, GF_XMLNode *p, FILE
      *dump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ttml_conv.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: ttmlconv2_initialize
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmlconv2_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: ttml2srt_register
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttml2srt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: ttml2srt_register
    functionSourceFile: /src/gpac/src/filters/ttml_conv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttml2srt_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_img.c:41,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_img.c:61,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_img.c:55,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_img.c:46,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_img.c:52,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_img.c:64,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:65,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:65,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:67,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:67,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_img.c:71,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_img.c:73,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 76
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 76
    functionName: imgdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_img.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_set_name
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err imgdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_img.c:85,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_img.c:95,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_img.c:111,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:126,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:129,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:129,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:128,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_img.c:141,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_img.c:90,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:127,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_img.c:143,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_img.c:144,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_img.c:145,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_img.c:147,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_img.c:89,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_img.c:87,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/filters/dec_img.c:105,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:126,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_img.c:128,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_img.c:131,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/filters/dec_img.c:107,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_img.c:127,1
    - Dst: gf_img_jpeg_dec
      Src: /src/gpac/src/filters/dec_img.c:135,1
    - Dst: gf_img_png_dec
      Src: /src/gpac/src/filters/dec_img.c:137,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 153
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 153
    functionName: imgdec_process
    functionSourceFile: /src/gpac/src/filters/dec_img.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_img_png_dec
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pid_get_packet
    - gf_img_jpeg_dec
    - gf_filter_pck_merge_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_drop_packet
    - gf_filter_pck_discard
    - gf_filter_pid_set_eos
    - PROP_UINT
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err imgdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: imgdec_register
    functionSourceFile: /src/gpac/src/filters/dec_img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *imgdec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: imgdec_register
    functionSourceFile: /src/gpac/src/filters/dec_img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *imgdec_register(GF_FilterSession *session) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:41,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/isoffin_load.c:55,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:64,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:101,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:118,1
    - Dst: gf_isom_get_chapter_count
      Src: /src/gpac/src/filters/isoffin_load.c:39,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:59,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:60,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:70,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_load.c:79,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:108,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/isoffin_load.c:109,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:113,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:114,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:43,1
    - Dst: gf_isom_get_chapter
      Src: /src/gpac/src/filters/isoffin_load.c:53,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:86,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/filters/isoffin_load.c:95,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/filters/isoffin_load.c:102,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/isoffin_load.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:45,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:84,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_load.c:74,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:88,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:72,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/isoffin_load.c:98,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/isoffin_load.c:106,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 2
    argNames:
    - file
    - opid
    argTypes:
    - GF_ISOFile*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 120
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 120
    functionName: isor_get_chapters
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_malloc
    - gf_isom_get_reference
    - gf_isom_sample_del
    - gf_isom_get_chapter_count
    - gf_bs_del
    - gf_strdup
    - gf_isom_parse_text_sample
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_isom_get_chapter
    - gf_isom_get_sample
    - gf_isom_get_track_count
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_delete_text_sample
    linkageType: ''
    returnType: void
    signature: 'static void isor_get_chapters(GF_ISOFile *file, GF_FilterPid *opid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_udta_count
      Src: /src/gpac/src/filters/isoffin_load.c:146,1
    - Dst: gf_isom_get_udta_count
      Src: /src/gpac/src/filters/isoffin_load.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - read
    - ch
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: isor_get_udta_count
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_udta_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 isor_get_udta_count(ISOMReader *read, ISOMChannel *ch) '
  - BBCount: 140
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:321,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:356,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:396,1
    - Dst: gf_isom_get_sidx_duration
      Src: /src/gpac/src/filters/isoffin_load.c:381,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:424,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/isoffin_load.c:522,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:534,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/isoffin_load.c:537,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:623,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:636,1
    - Dst: gf_isom_enum_track_group
      Src: /src/gpac/src/filters/isoffin_load.c:783,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:507,1
    - Dst: gf_itags_get_type
      Src: /src/gpac/src/filters/isoffin_load.c:619,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:634,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:703,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:399,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:296,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/filters/isoffin_load.c:322,1
    - Dst: gf_isom_get_brand_info
      Src: /src/gpac/src/filters/isoffin_load.c:464,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:466,1
    - Dst: gf_isom_get_avg_sample_size
      Src: /src/gpac/src/filters/isoffin_load.c:475,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:485,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:495,1
    - Dst: gf_isom_get_raw_user_data
      Src: /src/gpac/src/filters/isoffin_load.c:510,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:674,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:752,1
    - Dst: memset
      Src: /src/gpac/src/filters/isoffin_load.c:709,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:697,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:755,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/isoffin_load.c:212,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:225,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/isoffin_load.c:304,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_load.c:396,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:321,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:424,1
    - Dst: gf_isom_get_max_sample_delta
      Src: /src/gpac/src/filters/isoffin_load.c:478,1
    - Dst: gf_isom_get_trex_template
      Src: /src/gpac/src/filters/isoffin_load.c:505,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/isoffin_load.c:536,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:558,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:671,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:690,1
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/src/filters/isoffin_load.c:729,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:636,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_load.c:579,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:789,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:533,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:664,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_load.c:788,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:676,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:662,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:272,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:271,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:296,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_load.c:399,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:438,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:450,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/src/filters/isoffin_load.c:493,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:500,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/filters/isoffin_load.c:529,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/isoffin_load.c:567,1
    - Dst: gf_isom_apple_enum_tag
      Src: /src/gpac/src/filters/isoffin_load.c:597,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:669,1
    - Dst: gf_isom_get_track_matrix
      Src: /src/gpac/src/filters/isoffin_load.c:715,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:295,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:325,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_load.c:434,1
    - Dst: gf_isom_get_brands
      Src: /src/gpac/src/filters/isoffin_load.c:465,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:534,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:536,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:558,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:644,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:671,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:655,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:353,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:249,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:316,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:352,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:438,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:450,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:473,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:476,1
    - Dst: gf_isom_get_max_sample_cts_offset
      Src: /src/gpac/src/filters/isoffin_load.c:481,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:500,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:688,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:772,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:502,1
    - Dst: gf_isom_text_get_encoded_tx3g
      Src: /src/gpac/src/filters/isoffin_load.c:564,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:751,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:340,1
    - Dst: isor_export_ref
      Src: /src/gpac/src/filters/isoffin_load.c:364,1
    - Dst: isor_export_ref
      Src: /src/gpac/src/filters/isoffin_load.c:363,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/filters/isoffin_load.c:395,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:238,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:295,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:325,1
    - Dst: gf_isom_get_track_duration_orig
      Src: /src/gpac/src/filters/isoffin_load.c:368,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/isoffin_load.c:398,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:404,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/isoffin_load.c:572,1
    - Dst: gf_isom_get_udta_type
      Src: /src/gpac/src/filters/isoffin_load.c:727,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:697,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:699,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_load.c:740,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:748,1
    - Dst: gf_isom_get_track_flags
      Src: /src/gpac/src/filters/isoffin_load.c:699,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_load.c:375,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_load.c:208,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:316,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:353,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:435,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:456,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:473,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/filters/isoffin_load.c:521,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:533,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:580,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:644,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:664,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:676,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:685,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:769,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:650,1
    - Dst: gf_isom_get_reference_ID
      Src: /src/gpac/src/filters/isoffin_load.c:274,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:310,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:340,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_load.c:404,1
    - Dst: gf_isom_get_avg_sample_delta
      Src: /src/gpac/src/filters/isoffin_load.c:413,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:443,1
    - Dst: gf_isom_get_constant_sample_duration
      Src: /src/gpac/src/filters/isoffin_load.c:484,1
    - Dst: gf_isom_get_track_template
      Src: /src/gpac/src/filters/isoffin_load.c:498,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:513,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_load.c:571,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:669,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:537,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/isoffin_load.c:682,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:657,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:513,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:568,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:770,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:535,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:557,1
    - Dst: strcat
      Src: /src/gpac/src/filters/isoffin_load.c:574,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:648,1
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/src/filters/isoffin_load.c:762,1
    - Dst: isor_export_ref
      Src: /src/gpac/src/filters/isoffin_load.c:361,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/src/filters/isoffin_load.c:258,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:300,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:322,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:435,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:456,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:479,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_load.c:502,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_load.c:515,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:580,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:655,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:746,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:695,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/isoffin_load.c:629,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:774,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:310,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/src/filters/isoffin_load.c:373,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:250,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:286,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/isoffin_load.c:293,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:298,1
    - Dst: gf_isom_is_track_in_root_od
      Src: /src/gpac/src/filters/isoffin_load.c:312,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:443,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_load.c:454,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:476,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:800,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:515,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:642,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/isoffin_load.c:667,1
    - Dst: gf_isom_get_track_kind
      Src: /src/gpac/src/filters/isoffin_load.c:768,1
    - Dst: gf_isom_get_media_duration
      Src: /src/gpac/src/filters/isoffin_load.c:410,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/isoffin_load.c:303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:322,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:333,1
    - Dst: gf_isom_get_media_data_size
      Src: /src/gpac/src/filters/isoffin_load.c:438,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:467,1
    - Dst: gf_isom_get_max_sample_size
      Src: /src/gpac/src/filters/isoffin_load.c:472,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:479,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:543,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_load.c:544,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_load.c:742,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:755,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:688,1
    - Dst: isor_export_ref
      Src: /src/gpac/src/filters/isoffin_load.c:362,1
    - Dst: gf_isom_get_constant_sample_size
      Src: /src/gpac/src/filters/isoffin_load.c:448,1
    - Dst: gf_isom_get_udta_count
      Src: /src/gpac/src/filters/isoffin_load.c:722,1
    - Dst: memset
      Src: /src/gpac/src/filters/isoffin_load.c:765,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:703,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:298,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:350,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:458,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:482,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:507,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/isoffin_load.c:535,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:557,1
    - Dst: gf_itags_find_by_itag
      Src: /src/gpac/src/filters/isoffin_load.c:617,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:634,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:650,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:685,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/isoffin_load.c:789,1
    - Dst: memset
      Src: /src/gpac/src/filters/isoffin_load.c:710,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/src/filters/isoffin_load.c:737,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:662,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/isoffin_load.c:560,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:626,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:674,1
    - Dst: gf_isom_apple_enum_tag_ex
      Src: /src/gpac/src/filters/isoffin_load.c:606,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_load.c:800,1
    - Dst: gf_isom_get_track_duration
      Src: /src/gpac/src/filters/isoffin_load.c:370,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:406,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/src/filters/isoffin_load.c:241,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/isoffin_load.c:305,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:333,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:467,1
    - Dst: gf_isom_get_pl_indication
      Src: /src/gpac/src/filters/isoffin_load.c:491,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/filters/isoffin_load.c:549,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:625,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:648,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:657,1
    - Dst: gf_isom_get_track_layout_info
      Src: /src/gpac/src/filters/isoffin_load.c:531,1
    - Dst: gf_isom_get_handler_name
      Src: /src/gpac/src/filters/isoffin_load.c:693,1
    - Dst: gf_isom_get_root_sidx_offsets
      Src: /src/gpac/src/filters/isoffin_load.c:798,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:699,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:355,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/filters/isoffin_load.c:334,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:350,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:270,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/isoffin_load.c:291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:356,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:442,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:458,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:482,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:522,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:718,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:624,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_load.c:749,1
    - Dst: gf_isom_has_time_offset_table
      Src: /src/gpac/src/filters/isoffin_load.c:684,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_load.c:788,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:746,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/filters/isoffin_load.c:337,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:341,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:406,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:213,1
    - Dst: isor_create_channel
      Src: /src/gpac/src/filters/isoffin_load.c:328,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/isoffin_load.c:412,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:485,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:495,1
    - Dst: gf_isom_get_duration
      Src: /src/gpac/src/filters/isoffin_load.c:520,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:612,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:804,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:751,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:771,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_load.c:642,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/isoffin_load.c:744,1
    - Dst: strcat
      Src: /src/gpac/src/filters/isoffin_load.c:575,1
    - Dst: gf_isom_get_track_flags
      Src: /src/gpac/src/filters/isoffin_load.c:697,1
    - Dst: gf_isom_get_track_switch_group_count
      Src: /src/gpac/src/filters/isoffin_load.c:701,1
    - Dst: gf_isom_get_track_matrix
      Src: /src/gpac/src/filters/isoffin_load.c:717,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/isoffin_load.c:742,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:695,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/isoffin_load.c:740,1
    CyclomaticComplexity: 196
    EdgeCount: 196
    ICount: 535
    argCount: 8
    argNames:
    - read
    - track
    - streamtype
    - use_iod
    - esid
    - depends_on_id
    - ocr_es_id
    - set_lang
    argTypes:
    - ISOMReader*
    - u32
    - u32
    - Bool
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 808
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 808
    functionName: isor_setup_channel
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - gf_isom_get_brand_info
    - gf_isom_get_track_template
    - gf_isom_get_root_sidx_offsets
    - PROP_FRAC64
    - gf_isom_get_media_subtype
    - gf_isom_get_hevc_lhvc_type
    - gf_isom_get_media_type
    - gf_filter_pid_set_property_dyn
    - gf_isom_get_track_duration_orig
    - PROP_4CC
    - gf_itags_find_by_itag
    - gf_isom_get_sidx_duration
    - gf_isom_get_handler_name
    - gf_isom_get_track_duration
    - gf_stream_type_name
    - gf_isom_get_avg_sample_delta
    - gf_isom_get_max_sample_delta
    - gf_isom_apple_enum_tag_ex
    - gf_base64_encode
    - gf_isom_get_udta_count
    - gf_isom_apple_enum_tag
    - gf_malloc
    - snprintf
    - gf_isom_get_user_data
    - gf_utf8_is_legal
    - gf_isom_get_max_sample_cts_offset
    - gf_isom_get_trex_template
    - gf_error_to_string
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - gf_isom_get_max_sample_size
    - gf_isom_text_get_encoded_tx3g
    - gf_isom_get_track_count
    - gf_isom_get_constant_sample_duration
    - gf_isom_has_time_offset_table
    - gf_isom_get_track_flags
    - PROP_LONGUINT
    - gf_isom_get_track_id
    - isor_create_channel
    - gf_sys_is_test_mode
    - gf_sys_old_arch_compat
    - gf_isom_get_reference
    - strcat
    - gf_realloc
    - gf_isom_get_user_data_count
    - PROP_DATA_NO_COPY
    - gf_isom_get_media_language
    - isor_export_ref
    - gf_isom_get_raw_user_data
    - PROP_DATA
    - PROP_BOOL
    - gf_isom_get_track_matrix
    - PROP_STRING_NO_COPY
    - gf_isom_get_sample_description_count
    - gf_isom_get_pl_indication
    - gf_isom_get_track_kind
    - gf_free
    - gf_isom_get_sample_count
    - gf_isom_get_brands
    - gf_isom_get_duration
    - gf_itags_get_type
    - gf_isom_enum_track_group
    - gf_isom_get_timescale
    - memset
    - gf_isom_is_track_in_root_od
    - GF_LOG
    - PROP_FRAC_INT
    - gf_filter_pid_set_property_str
    - PROP_FRAC64_INT
    - gf_4cc_to_str
    - gf_isom_get_media_data_size
    - gf_isom_get_reference_count
    - gf_isom_get_media_duration
    - PROP_UINT
    - gf_isom_get_reference_ID
    - gf_isom_get_media_timescale
    - gf_isom_get_avg_sample_size
    - gf_itags_get_name
    - gf_dynstrcat
    - gf_isom_get_track_layout_info
    - sprintf
    - gf_filter_pid_set_property
    - memcpy
    - gf_isom_get_edits_count
    - gf_filter_pid_set_name
    - gf_isom_get_constant_sample_size
    - gf_filter_pid_get_property
    - gf_isom_get_track_switch_group_count
    - gf_isom_get_udta_type
    - PROP_SINT
    linkageType: ''
    returnType: ISOMChannel*
    signature: 'static ISOMChannel *isor_setup_channel(ISOMReader *read, u32 track,
      u32 streamtype, Bool use_iod, u32 esid, u32 depends_on_id, u32 ocr_es_id, Bool
      set_lang) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isor_declare_track
      Src: /src/gpac/src/filters/isoffin_load.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1769
    functionName: isor_update_channel_config
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - isor_declare_track
    linkageType: ''
    returnType: void
    signature: 'void isor_update_channel_config(ISOMChannel *ch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_udta_count
      Src: /src/gpac/src/filters/isoffin_load.c:157,1
    - Dst: gf_isom_get_udta_type
      Src: /src/gpac/src/filters/isoffin_load.c:163,1
    - Dst: gf_isom_get_udta_type
      Src: /src/gpac/src/filters/isoffin_load.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - read
    - ch
    - udta_idx
    - UserDataType
    - UUID
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    - u32*
    - bin128*
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: isor_get_udta_type
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_udta_count
    - gf_isom_get_udta_type
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isor_get_udta_type(ISOMReader *read, ISOMChannel *ch,
      u32 udta_idx, u32 *UserDataType, bin128 *UUID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/src/filters/isoffin_load.c:170,1
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/src/filters/isoffin_load.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - read
    - ch
    - UserDataType
    - UUID
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    - bin128
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: isor_get_user_data_count
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_user_data_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 isor_get_user_data_count(ISOMReader *read, ISOMChannel
      *ch, u32 UserDataType, bin128 UUID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:124,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:136,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:134,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:130,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_load.c:133,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - read
    - ch
    - rtype
    - rname
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: isor_export_ref
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_malloc
    - gf_isom_get_reference
    - gf_isom_get_track_id
    - gf_filter_pid_set_property_str
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void isor_export_ref(ISOMReader *read, ISOMChannel *ch, u32
      rtype, char *rname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_user_data_count
      Src: /src/gpac/src/filters/isoffin_load.c:180,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/src/filters/isoffin_load.c:187,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/src/filters/isoffin_load.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 7
    argNames:
    - read
    - ch
    - UserDataType
    - UUID
    - UserDataIndex
    - userData
    - userDataSize
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    - bin128
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: isor_get_user_data
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_isom_get_user_data_count
    - gf_isom_get_user_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isor_get_user_data(ISOMReader *read, ISOMChannel *ch,
      u32 UserDataType, bin128 UUID, u32 UserDataIndex, u8 **userData, u32 *userDataSize) '
  - BBCount: 233
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1420,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1665,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1761,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1091,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1231,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1499,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/isoffin_load.c:1508,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1552,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1233,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1262,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1276,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1316,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1426,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1538,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1712,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1178,1
    - Dst: gf_media_map_esd
      Src: /src/gpac/src/filters/isoffin_load.c:851,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1238,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:1280,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1468,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1404,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1660,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1676,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1725,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1476,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/isoffin_load.c:896,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1248,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1479,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/filters/isoffin_load.c:837,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:1073,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1322,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/isoffin_load.c:1594,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1407,1
    - Dst: gf_isom_get_clean_aperture
      Src: /src/gpac/src/filters/isoffin_load.c:1719,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1729,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1666,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/isoffin_load.c:881,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:1088,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1111,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/filters/isoffin_load.c:1246,1
    - Dst: gf_isom_get_color_info
      Src: /src/gpac/src/filters/isoffin_load.c:1446,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1462,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1679,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1722,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1590,1
    - Dst: gf_isom_get_dims_description
      Src: /src/gpac/src/filters/isoffin_load.c:1614,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1260,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1311,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:1451,1
    - Dst: gf_isom_get_text_description
      Src: /src/gpac/src/filters/isoffin_load.c:943,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:1058,1
    - Dst: gf_codec_id_from_isobmf
      Src: /src/gpac/src/filters/isoffin_load.c:1136,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/isoffin_load.c:1181,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_load.c:1400,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1424,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1561,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_load.c:932,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1414,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1722,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1564,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1562,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1601,1
    - Dst: gf_isom_opus_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:963,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1125,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1228,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1330,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/filters/isoffin_load.c:1493,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1555,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1274,1
    - Dst: PROP_VEC3I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1482,1
    - Dst: gf_isom_get_mpegh_compatible_profiles
      Src: /src/gpac/src/filters/isoffin_load.c:1528,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1563,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1699,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1522,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:1388,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:952,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1102,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1723,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1484,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/isoffin_load.c:1580,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1177,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/isoffin_load.c:1184,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:1403,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1450,1
    - Dst: gf_isom_get_stsd_template
      Src: /src/gpac/src/filters/isoffin_load.c:1588,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/isoffin_load.c:1230,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1359,1
    - Dst: PROP_VEC4I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1474,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/filters/isoffin_load.c:1642,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1556,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1266,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/isoffin_load.c:1652,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1352,1
    - Dst: gf_isom_get_y3d_info
      Src: /src/gpac/src/filters/isoffin_load.c:1459,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1557,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:854,1
    - Dst: gf_isom_stxt_get_description
      Src: /src/gpac/src/filters/isoffin_load.c:910,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1724,1
    - Dst: gf_isom_get_mastering_display_colour_info
      Src: /src/gpac/src/filters/isoffin_load.c:1733,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/isoffin_load.c:1759,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:898,1
    - Dst: gf_isom_get_tile_info
      Src: /src/gpac/src/filters/isoffin_load.c:1078,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1272,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1504,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1238,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1264,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1380,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:1620,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1660,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1745,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/filters/isoffin_load.c:836,1
    - Dst: gf_isom_get_pcm_config
      Src: /src/gpac/src/filters/isoffin_load.c:973,1
    - Dst: isor_get_chapters
      Src: /src/gpac/src/filters/isoffin_load.c:1362,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1470,1
    - Dst: gf_isom_get_audio_info
      Src: /src/gpac/src/filters/isoffin_load.c:1490,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1740,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1108,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1050,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:1202,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1449,1
    - Dst: gf_isom_get_udts_config
      Src: /src/gpac/src/filters/isoffin_load.c:1658,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1748,1
    - Dst: gf_isom_get_content_light_level_info
      Src: /src/gpac/src/filters/isoffin_load.c:1752,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:1368,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:1573,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1057,1
    - Dst: gf_ac3_get_channel_layout
      Src: /src/gpac/src/filters/isoffin_load.c:1089,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1179,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1130,1
    - Dst: gf_isom_get_user_data
      Src: /src/gpac/src/filters/isoffin_load.c:1254,1
    - Dst: gf_isom_lhvc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1288,1
    - Dst: gf_isom_mvc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1325,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1462,1
    - Dst: gf_isom_get_pcm_config
      Src: /src/gpac/src/filters/isoffin_load.c:1005,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1576,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1451,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1590,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1758,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1358,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1381,1
    - Dst: gf_isom_get_tile_info
      Src: /src/gpac/src/filters/isoffin_load.c:936,1
    - Dst: gf_odf_dovi_cfg_write_bs
      Src: /src/gpac/src/filters/isoffin_load.c:1229,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1394,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1498,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1560,1
    - Dst: gf_isom_truehd_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1101,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1411,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1581,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1650,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:894,1
    - Dst: gf_isom_get_track_group
      Src: /src/gpac/src/filters/isoffin_load.c:1057,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1624,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1760,1
    - Dst: gf_isom_get_webvtt_config
      Src: /src/gpac/src/filters/isoffin_load.c:923,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1072,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1373,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:1618,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1388,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/filters/isoffin_load.c:1518,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:1572,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/isoffin_load.c:1105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1074,1
    - Dst: isor_setup_channel
      Src: /src/gpac/src/filters/isoffin_load.c:1212,1
    - Dst: gf_isom_get_reference_ID
      Src: /src/gpac/src/filters/isoffin_load.c:1237,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1377,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1403,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1474,1
    - Dst: gf_isom_xml_subtitle_get_description
      Src: /src/gpac/src/filters/isoffin_load.c:918,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1359,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1434,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1450,1
    - Dst: gf_isom_get_visual_info
      Src: /src/gpac/src/filters/isoffin_load.c:1429,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1688,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1744,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1599,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/isoffin_load.c:1021,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1263,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1299,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:1619,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1622,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1647,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1743,1
    - Dst: gf_codecid_from_oti
      Src: /src/gpac/src/filters/isoffin_load.c:859,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1761,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1499,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1182,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1261,1
    - Dst: gf_mpegh_get_mhas_pl
      Src: /src/gpac/src/filters/isoffin_load.c:1645,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1728,1
    - Dst: gf_isom_get_reference_ID
      Src: /src/gpac/src/filters/isoffin_load.c:1062,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1103,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1219,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1339,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_load.c:1606,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1569,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1537,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1685,1
    - Dst: gf_pixel_fmt_probe
      Src: /src/gpac/src/filters/isoffin_load.c:1141,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1218,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1393,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1433,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1449,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1438,1
    - Dst: gf_isom_get_media_data_size
      Src: /src/gpac/src/filters/isoffin_load.c:1550,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1616,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1668,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1688,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1259,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1368,1
    - Dst: gf_isom_get_stsd_template
      Src: /src/gpac/src/filters/isoffin_load.c:1597,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1691,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1737,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/isoffin_load.c:1592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1093,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/filters/isoffin_load.c:845,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1302,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1626,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1287,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1358,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1498,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1617,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_load.c:1387,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1512,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1650,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1448,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1482,1
    - Dst: gf_isom_get_audio_layout
      Src: /src/gpac/src/filters/isoffin_load.c:1506,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_load.c:1166,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1317,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1220,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1256,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_load.c:1509,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1601,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1087,1
    - Dst: gf_isom_get_generic_sample_description
      Src: /src/gpac/src/filters/isoffin_load.c:1170,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1203,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1377,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1679,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1434,1
    - Dst: gf_isom_get_mpeg4_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:843,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1630,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1666,1
    - Dst: gf_isom_ac3_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1084,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:934,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1201,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/isoffin_load.c:1351,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/isoffin_load.c:1502,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1599,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1673,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1677,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1619,1
    - Dst: gf_isom_has_cenc_sample_group
      Src: /src/gpac/src/filters/isoffin_load.c:1366,1
    - Dst: gf_isom_get_icc_profile
      Src: /src/gpac/src/filters/isoffin_load.c:1453,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1235,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1263,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1384,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1622,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1668,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1730,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_load.c:1455,1
    - Dst: gf_isom_get_pcm_config
      Src: /src/gpac/src/filters/isoffin_load.c:997,1
    - Dst: gf_isom_subtitle_get_mime
      Src: /src/gpac/src/filters/isoffin_load.c:1207,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1346,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1682,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_load.c:1756,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:1364,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1615,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1380,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/isoffin_load.c:1107,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_load.c:1174,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1244,1
    - Dst: gf_isom_get_creation_time
      Src: /src/gpac/src/filters/isoffin_load.c:1357,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1620,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1667,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/isoffin_load.c:1747,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:839,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1200,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1258,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:1355,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1504,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1628,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1749,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1264,1
    - Dst: gf_odf_tx3g_write
      Src: /src/gpac/src/filters/isoffin_load.c:951,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1180,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1670,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1556,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:945,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1606,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1626,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1724,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1343,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1420,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1665,1
    - Dst: gf_isom_avc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1706,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1337,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1512,1
    - Dst: gf_isom_sample_has_subsamples
      Src: /src/gpac/src/filters/isoffin_load.c:1567,1
    - Dst: gf_isom_vvc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1047,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1231,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1617,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1424,1
    - Dst: gf_isom_get_bitrate
      Src: /src/gpac/src/filters/isoffin_load.c:1544,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1746,1
    - Dst: gf_isom_xml_subtitle_get_description
      Src: /src/gpac/src/filters/isoffin_load.c:914,1
    - Dst: gf_isom_get_pixel_aspect_ratio
      Src: /src/gpac/src/filters/isoffin_load.c:1436,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/filters/isoffin_load.c:1517,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1448,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1552,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1426,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1694,1
    - Dst: gf_isom_svc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1323,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_load.c:1581,1
    - Dst: gf_isom_flac_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:959,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:1065,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_load.c:1106,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1220,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1468,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1509,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1676,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1725,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:1173,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1248,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1624,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1727,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1757,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1166,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/isoffin_load.c:1183,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_load.c:1232,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1407,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1373,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1618,1
    - Dst: gf_pixel_fmt_from_qt_type
      Src: /src/gpac/src/filters/isoffin_load.c:1140,1
    - Dst: gf_isom_get_tmcd_config
      Src: /src/gpac/src/filters/isoffin_load.c:1217,1
    - Dst: gf_isom_enable_raw_pack
      Src: /src/gpac/src/filters/isoffin_load.c:1416,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1464,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1673,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1677,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1411,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:1581,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1384,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1560,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1414,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1561,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1455,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1682,1
    - Dst: gf_isom_hevc_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1709,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1562,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1615,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/isoffin_load.c:1019,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:1059,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:876,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1244,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1564,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1667,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1701,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1555,1
    - Dst: strstr
      Src: /src/gpac/src/filters/isoffin_load.c:1565,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:1563,1
    - Dst: gf_isom_get_jp2_config
      Src: /src/gpac/src/filters/isoffin_load.c:928,1
    - Dst: gf_isom_get_lpcm_config
      Src: /src/gpac/src/filters/isoffin_load.c:1013,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/isoffin_load.c:1257,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1628,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1699,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1749,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1470,1
    - Dst: gf_isom_dovi_config_get
      Src: /src/gpac/src/filters/isoffin_load.c:1224,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:1522,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1670,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:1723,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1569,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/isoffin_load.c:1104,1
    - Dst: gf_isom_get_media_language
      Src: /src/gpac/src/filters/isoffin_load.c:897,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1219,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1237,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1685,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/isoffin_load.c:1741,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/isoffin_load.c:1307,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1438,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:1433,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1616,1
    - Dst: memset
      Src: /src/gpac/src/filters/isoffin_load.c:1612,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1176,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/isoffin_load.c:900,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1218,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_load.c:1235,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_load.c:1534,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1576,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:1630,1
    CyclomaticComplexity: 319
    EdgeCount: 319
    ICount: 931
    argCount: 6
    argNames:
    - read
    - ch
    - track
    - stsd_idx
    - streamtype
    - use_iod
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1764
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 1764
    functionName: isor_declare_track
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - strlen
    - isor_setup_channel
    - gf_isom_avc_config_get
    - gf_odf_desc_del
    - gf_isom_get_media_subtype
    - gf_isom_get_audio_info
    - gf_strdup
    - gf_odf_avc_cfg_del
    - gf_isom_get_audio_layout
    - PROP_4CC
    - gf_odf_vvc_cfg_write
    - gf_isom_get_mpeg4_subtype
    - isor_get_chapters
    - gf_isom_sample_del
    - gf_bs_read_utf8
    - gf_isom_get_color_info
    - gf_odf_hevc_cfg_del
    - gf_isom_get_tile_info
    - gf_codecid_from_oti
    - gf_isom_truehd_config_get
    - gf_malloc
    - gf_bs_get_content
    - gf_isom_get_user_data
    - gf_isom_get_jp2_config
    - gf_isom_svc_config_get
    - gf_pixel_fmt_from_qt_type
    - gf_m4a_get_config
    - gf_bs_del
    - gf_crc_32
    - gf_error_to_string
    - gf_isom_get_lpcm_config
    - PROP_STRING
    - gf_isom_get_track_count
    - gf_isom_get_generic_sample_description
    - gf_odf_tx3g_write
    - gf_isom_xml_subtitle_get_description
    - PROP_LONGUINT
    - gf_isom_vvc_config_get
    - gf_isom_get_track_id
    - gf_isom_get_y3d_info
    - PROP_VEC2I_INT
    - gf_ceil
    - gf_sys_is_test_mode
    - gf_isom_get_content_light_level_info
    - gf_sys_old_arch_compat
    - gf_isom_get_pixel_aspect_ratio
    - gf_isom_enable_raw_pack
    - gf_isom_get_reference
    - gf_bs_available
    - gf_codecid_type
    - gf_isom_get_tmcd_config
    - PROP_VEC3I_INT
    - gf_isom_get_udts_config
    - PROP_DATA_NO_COPY
    - gf_isom_get_media_language
    - gf_isom_get_icc_profile
    - PROP_VEC4I_INT
    - gf_isom_get_clean_aperture
    - PROP_DATA
    - PROP_BOOL
    - gf_bs_skip_bytes
    - gf_isom_has_cenc_sample_group
    - strstr
    - gf_isom_get_bitrate
    - gf_isom_is_media_encrypted
    - gf_isom_get_sample_description_count
    - gf_isom_get_text_description
    - gf_pixel_fmt_probe
    - gf_bs_write_int
    - gf_isom_ac3_config_get
    - gf_odf_ac3_cfg_write
    - gf_odf_avc_cfg_write
    - gf_bs_write_u32
    - gf_free
    - gf_isom_sample_has_subsamples
    - gf_isom_get_stsd_template
    - gf_isom_get_dims_description
    - gf_isom_get_visual_info
    - gf_isom_lhvc_config_get
    - gf_isom_get_sample
    - gf_isom_flac_config_get
    - gf_isom_get_original_format_type
    - gf_isom_get_webvtt_config
    - memset
    - gf_media_map_esd
    - GF_LOG
    - gf_isom_dovi_config_get
    - PROP_FRAC_INT
    - gf_audio_fmt_get_layout_from_cicp
    - gf_4cc_to_str
    - gf_filter_pid_set_property_str
    - gf_isom_get_mpegh_compatible_profiles
    - gf_isom_get_media_data_size
    - gf_isom_get_reference_count
    - GF_4CC
    - gf_isom_get_creation_time
    - gf_codec_id_from_isobmf
    - gf_odf_desc_new
    - gf_odf_hevc_cfg_write
    - PROP_UINT
    - gf_isom_get_reference_ID
    - gf_isom_get_media_timescale
    - gf_mpegh_get_mhas_pl
    - gf_bs_read_u32
    - gf_isom_mvc_config_get
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_isom_subtitle_get_mime
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_isom_opus_config_get
    - gf_ac3_get_channel_layout
    - memcpy
    - gf_isom_hevc_config_get
    - gf_isom_stxt_get_description
    - gf_odf_dovi_cfg_write_bs
    - gf_odf_dovi_cfg_del
    - gf_isom_get_sample_duration
    - gf_isom_get_pcm_config
    - gf_isom_get_track_group
    - gf_isom_get_mastering_display_colour_info
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'static void isor_declare_track(ISOMReader *read, ISOMChannel *ch,
      u32 track, u32 stsd_idx, u32 streamtype, Bool use_iod) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_load.c:1783,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:1813,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_load.c:1836,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_load.c:1891,1
    - Dst: gf_isom_is_track_enabled
      Src: /src/gpac/src/filters/isoffin_load.c:1898,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1908,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:1932,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:1958,1
    - Dst: isor_declare_track
      Src: /src/gpac/src/filters/isoffin_load.c:1981,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:2005,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2027,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/isoffin_load.c:2031,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/filters/isoffin_load.c:1968,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/isoffin_load.c:2035,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:1786,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_load.c:1799,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/isoffin_load.c:1827,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/isoffin_load.c:1830,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1840,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1891,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:1837,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:1828,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_load.c:1931,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_load.c:1931,1
    - Dst: gf_isom_apple_get_tag
      Src: /src/gpac/src/filters/isoffin_load.c:2012,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/filters/isoffin_load.c:1972,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2027,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/filters/isoffin_load.c:1989,1
    - Dst: isor_declare_item_properties
      Src: /src/gpac/src/filters/isoffin_load.c:1992,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/isoffin_load.c:2008,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/isoffin_load.c:2020,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/isoffin_load.c:2028,1
    - Dst: gf_isom_get_root_od
      Src: /src/gpac/src/filters/isoffin_load.c:1782,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_load.c:1791,1
    - Dst: gf_isom_merge_external_edit
      Src: /src/gpac/src/filters/isoffin_load.c:1821,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/isoffin_load.c:1832,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_load.c:1900,1
    - Dst: gf_isom_is_track_referenced
      Src: /src/gpac/src/filters/isoffin_load.c:1906,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1911,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_load.c:1922,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:1926,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/isoffin_load.c:1928,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_load.c:2003,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_load.c:2032,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:1999,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/src/filters/isoffin_load.c:1798,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/filters/isoffin_load.c:1804,1
    - Dst: gf_isom_is_external_track
      Src: /src/gpac/src/filters/isoffin_load.c:1810,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/isoffin_load.c:1834,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/isoffin_load.c:1927,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_load.c:1929,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/isoffin_load.c:1930,1
    - Dst: gf_filter_add_source
      Src: /src/gpac/src/filters/isoffin_load.c:1934,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_load.c:1937,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/isoffin_load.c:1945,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_load.c:1978,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_load.c:2022,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/isoffin_load.c:2029,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_load.c:2022,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/isoffin_load.c:2033,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 221
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 2040
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 2040
    functionName: isor_declare_objects
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - isor_declare_item_properties
    - gf_filter_pid_set_eos
    - gf_odf_desc_del
    - gf_4cc_to_str
    - gf_filter_abort
    - gf_isom_get_media_subtype
    - gf_isom_get_media_type
    - gf_isom_is_external_track
    - gf_filter_pck_new_alloc
    - gf_isom_get_track_by_id
    - GF_4CC
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - gf_filter_add_source
    - isor_declare_track
    - gf_isom_is_track_referenced
    - gf_isom_get_track_count
    - PROP_UINT
    - gf_isom_has_track_reference
    - gf_isom_is_track_enabled
    - gf_dynstrcat
    - gf_filter_get_sep
    - sprintf
    - gf_isom_get_track_id
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_isom_get_root_od
    - gf_free
    - gf_filter_pck_send
    - gf_isom_merge_external_edit
    - gf_filter_pid_raw_new
    - gf_filter_pid_set_name
    - sscanf
    - gf_filter_pid_get_property
    - gf_isom_get_meta_item_count
    - gf_isom_apple_get_tag
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err isor_declare_objects(ISOMReader *read) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2155,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2186,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:2150,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2187,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2178,1
    - Dst: isor_create_channel
      Src: /src/gpac/src/filters/isoffin_load.c:2195,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:2168,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2122,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2174,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2142,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:2169,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2143,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/isoffin_load.c:2178,1
    - Dst: gf_media_map_item_esd
      Src: /src/gpac/src/filters/isoffin_load.c:2080,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/isoffin_load.c:2097,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:2186,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_load.c:2174,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:2167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2126,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2128,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2152,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2172,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2173,1
    - Dst: gf_isom_get_meta_image_props
      Src: /src/gpac/src/filters/isoffin_load.c:2064,1
    - Dst: gf_isom_meta_item_has_ref
      Src: /src/gpac/src/filters/isoffin_load.c:2114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2191,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2173,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2126,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_load.c:2128,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2138,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2141,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:2168,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2172,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/isoffin_load.c:2133,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2142,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2154,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2115,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2138,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2144,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2147,1
    - Dst: gf_isom_meta_get_item_ref_id
      Src: /src/gpac/src/filters/isoffin_load.c:2180,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/isoffin_load.c:2167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2190,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2137,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2181,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2115,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2124,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:2147,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2161,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2190,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/isoffin_load.c:2107,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2137,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2141,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2188,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2108,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2124,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2148,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2161,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_load.c:2164,1
    - Dst: isor_declare_pssh
      Src: /src/gpac/src/filters/isoffin_load.c:2200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2149,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_load.c:2169,1
    - Dst: gf_isom_get_meta_primary_item_id
      Src: /src/gpac/src/filters/isoffin_load.c:2158,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2112,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2123,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2143,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2144,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2159,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2165,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2188,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2187,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:2148,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2153,1
    - Dst: gf_isom_get_meta_item_count
      Src: /src/gpac/src/filters/isoffin_load.c:2054,1
    - Dst: gf_isom_get_meta_item_info
      Src: /src/gpac/src/filters/isoffin_load.c:2058,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2108,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2150,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2165,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2181,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_load.c:2112,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_load.c:2122,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_load.c:2149,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_load.c:2159,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 141
    argCount: 3
    argNames:
    - read
    - ch
    - item_idx
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - u32
    constantsTouched: []
    func_position:
      end: 2205
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2205
    functionName: isor_declare_item_properties
    functionSourceFile: /src/gpac/src/filters/isoffin_load.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_isom_meta_item_has_ref
    - PROP_BOOL
    - PROP_FRAC_INT
    - gf_odf_desc_del
    - gf_filter_pid_set_property_str
    - gf_isom_get_meta_image_props
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - PROP_UINT
    - PROP_4CC
    - gf_media_map_item_esd
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    - isor_create_channel
    - gf_sys_is_test_mode
    - gf_isom_get_meta_primary_item_id
    - gf_isom_get_meta_item_info
    - gf_isom_get_meta_item_count
    - gf_isom_meta_get_item_ref_id
    - isor_declare_pssh
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: Bool
    signature: 'Bool isor_declare_item_properties(ISOMReader *read, ISOMChannel *ch,
      u32 item_idx) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_enc.c:255,1
    - Dst: avcodec_get_name
      Src: /src/gpac/src/filters/ff_enc.c:262,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:310,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:318,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:326,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:332,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:260,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:264,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:267,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:279,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:280,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:316,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/ff_enc.c:321,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:323,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:330,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:270,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_enc.c:310,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_enc.c:326,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_enc.c:329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:258,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:260,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_enc.c:264,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:267,1
    - Dst: ffmpeg_extradata_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:308,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_enc.c:280,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_enc.c:279,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:316,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:321,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:330,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FFEncodeCtx*
    constantsTouched: []
    func_position:
      end: 335
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 335
    functionName: ffenc_copy_pid_props
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - ffmpeg_extradata_to_gpac
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_timestamp_rescale
    - PROP_UINT
    - avcodec_get_name
    - PROP_DATA_NO_COPY
    - PROP_LONGSINT
    linkageType: ''
    returnType: void
    signature: 'static void ffenc_copy_pid_props(GF_FFEncodeCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:185,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_enc.c:187,1
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_enc.c:192,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_enc.c:189,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_enc.c:186,1
    - Dst: avcodec_find_encoder_by_name
      Src: /src/gpac/src/filters/ff_enc.c:198,1
    - Dst: ffenc_override_caps
      Src: /src/gpac/src/filters/ff_enc.c:200,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/ff_enc.c:204,1
    - Dst: avcodec_find_encoder
      Src: /src/gpac/src/filters/ff_enc.c:206,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:206,1
    - Dst: ffenc_override_caps
      Src: /src/gpac/src/filters/ff_enc.c:209,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/ff_enc.c:212,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_enc.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 218
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 218
    functionName: ffenc_initialize
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmpeg_setup_logs
    - avcodec_find_encoder
    - gf_filter_meta_set_instances
    - avcodec_find_encoder_by_name
    - gf_bs_new
    - ffmpeg_codecid_from_gpac
    - ffenc_override_caps
    - gf_filter_is_temporary
    - av_packet_alloc
    - gf_list_new
    - gf_codecid_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_initialize(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: av_packet_get_side_data
      Src: /src/gpac/src/filters/ff_enc.c:371,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/ff_enc.c:375,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/ff_enc.c:373,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/ff_enc.c:376,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_enc.c:374,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_enc.c:377,1
    - Dst: gf_bs_read_u64_le
      Src: /src/gpac/src/filters/ff_enc.c:380,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_enc.c:399,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_enc.c:402,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_enc.c:406,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_enc.c:410,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/ff_enc.c:416,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:415,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 4
    argNames:
    - filter
    - ctx
    - pkt
    - do_reporting
    argTypes:
    - GF_Filter*
    - struct _gf_ffenc_ctx*
    - AVPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 418
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 418
    functionName: ffenc_log_video
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - fprintf
    - sprintf
    - gf_bs_read_u32_le
    - gf_bs_read_u64_le
    - gf_filter_update_status
    - av_packet_get_side_data
    linkageType: ''
    returnType: void
    signature: 'static void ffenc_log_video(GF_Filter *filter, struct _gf_ffenc_ctx
      *ctx, AVPacket *pkt, Bool do_reporting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:719,1
    - Dst: avcodec_close
      Src: /src/gpac/src/filters/ff_enc.c:720,1
    - Dst: ffenc_configure_pid_ex
      Src: /src/gpac/src/filters/ff_enc.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - reconfig_pending
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 726
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 726
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - avcodec_close
    - GF_LOG
    - ffenc_configure_pid_ex
    linkageType: ''
    returnType: FF_RELEASE_PCK(pkt)
    signature: 'FF_RELEASE_PCK(pkt) //done flushing encoder while reconfiguring if
      (ctx->reconfig_pending) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_enc.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - '!'
    - pck
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 922
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_post_process_task
    linkageType: ''
    returnType: FF_RELEASE_PCK(pkt)
    signature: 'FF_RELEASE_PCK(pkt) //we''re in final flush, request a process task
      until all frames flushe //we could recursiveley call ourselves, same result
      if (!pck) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_enc.c:940,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_enc.c:951,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_enc.c:949,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_enc.c:950,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_enc.c:942,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_enc.c:956,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_enc.c:963,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_enc.c:973,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_enc.c:979,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_enc.c:982,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 5
    argNames:
    - ctx
    - data
    - size
    - sample_offset
    - nb_samples
    argTypes:
    - struct _gf_ffenc_ctx*
    - u8*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 990
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 990
    functionName: ffenc_audio_append_samples
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_assert
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ffenc_audio_append_samples(struct _gf_ffenc_ctx *ctx,
      const u8 *data, u32 size, u32 sample_offset, u32 nb_samples) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:1365,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/ff_enc.c:1366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1369
    functionName: ffenc_process
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_would_block
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffenc_configure_pid_ex
      Src: /src/gpac/src/filters/ff_enc.c:2124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2126
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2126
    functionName: ffenc_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - ffenc_configure_pid_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/ff_enc.c:176,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/ff_enc.c:176,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/ff_enc.c:178,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/ff_enc.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - media_type
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: ffenc_override_caps
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_filter_override_caps
    linkageType: ''
    returnType: void
    signature: 'static void ffenc_override_caps(GF_Filter *filter, u32 media_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:222,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:225,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_enc.c:223,1
    - Dst: av_frame_free
      Src: /src/gpac/src/filters/ff_enc.c:224,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:226,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_enc.c:228,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_enc.c:229,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_enc.c:230,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_enc.c:232,1
    - Dst: av_packet_free
      Src: /src/gpac/src/filters/ff_enc.c:235,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_enc.c:246,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_enc.c:239,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ff_enc.c:240,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:245,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_enc.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 250
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 250
    functionName: ffenc_finalize
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - av_frame_free
    - gf_bs_del
    - gf_list_del
    - avcodec_free_context
    - gf_list_count
    - fprintf
    - gf_fclose
    - gf_free
    - av_dict_free
    - av_packet_free
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffenc_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_FFEncodeCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: ffenc_get_cts
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - GF_LOG
    linkageType: ''
    returnType: u64
    signature: 'static u64 ffenc_get_cts(GF_FFEncodeCtx *ctx, GF_FilterPacket *pck) '
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:469,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_enc.c:609,1
    - Dst: avcodec_send_frame
      Src: /src/gpac/src/filters/ff_enc.c:643,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:645,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/ff_enc.c:680,1
    - Dst: UNSCALE_DUR
      Src: /src/gpac/src/filters/ff_enc.c:697,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:768,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:692,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_enc.c:831,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_enc.c:834,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:642,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/ff_enc.c:452,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_enc.c:459,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/ff_enc.c:766,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_enc.c:828,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:829,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_enc.c:833,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_enc.c:838,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_enc.c:845,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ff_enc.c:875,1
    - Dst: avcodec_send_frame
      Src: /src/gpac/src/filters/ff_enc.c:705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:448,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/ff_enc.c:595,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:608,1
    - Dst: avcodec_receive_packet
      Src: /src/gpac/src/filters/ff_enc.c:662,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_enc.c:674,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_enc.c:827,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:796,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_enc.c:906,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_enc.c:650,1
    - Dst: avcodec_encode_video2
      Src: /src/gpac/src/filters/ff_enc.c:702,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:733,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_enc.c:438,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_enc.c:466,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_enc.c:557,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_enc.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:528,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:595,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:657,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:674,1
    - Dst: ffenc_configure_pid_ex
      Src: /src/gpac/src/filters/ff_enc.c:723,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_enc.c:830,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_enc.c:862,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:839,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/ff_enc.c:453,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:512,1
    - Dst: SCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:618,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/ff_enc.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:674,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:741,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_enc.c:657,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:695,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:791,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:795,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:766,1
    - Dst: avcodec_encode_video2
      Src: /src/gpac/src/filters/ff_enc.c:634,1
    - Dst: avcodec_encode_video2
      Src: /src/gpac/src/filters/ff_enc.c:638,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_enc.c:835,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_enc.c:836,1
    - Dst: SCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:778,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:657,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:719,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/ff_enc.c:816,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_enc.c:921,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:790,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/ff_enc.c:451,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_enc.c:558,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:596,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:696,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:693,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/ff_enc.c:833,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/ff_enc.c:871,1
    - Dst: ffenc_log_video
      Src: /src/gpac/src/filters/ff_enc.c:885,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:776,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_enc.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:519,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/ff_enc.c:584,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_enc.c:799,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_enc.c:449,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_enc.c:839,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_enc.c:872,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ff_enc.c:877,1
    - Dst: UNSCALE_DUR
      Src: /src/gpac/src/filters/ff_enc.c:734,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/ff_enc.c:563,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:779,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:816,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_enc.c:896,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_enc.c:913,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_enc.c:556,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_enc.c:728,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:689,1
    - Dst: UNSCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:732,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_enc.c:832,1
    - Dst: ffmpeg_generate_gpac_dsi
      Src: /src/gpac/src/filters/ff_enc.c:881,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/ff_enc.c:885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:468,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_enc.c:495,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_enc.c:773,1
    - Dst: SCALE_TS
      Src: /src/gpac/src/filters/ff_enc.c:620,1
    - Dst: ffenc_copy_pid_props
      Src: /src/gpac/src/filters/ff_enc.c:867,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_enc.c:895,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:903,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:915,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_enc.c:902,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_enc.c:682,1
    - Dst: avcodec_receive_packet
      Src: /src/gpac/src/filters/ff_enc.c:707,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/ff_enc.c:467,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/ff_enc.c:601,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_enc.c:870,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/ff_enc.c:910,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_enc.c:775,1
    - Dst: avcodec_close
      Src: /src/gpac/src/filters/ff_enc.c:720,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:748,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:637,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_enc.c:664,1
    - Dst: avcodec_send_frame
      Src: /src/gpac/src/filters/ff_enc.c:647,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/ff_enc.c:813,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_enc.c:829,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/ff_enc.c:837,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 436
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - struct _gf_ffenc_ctx*
    constantsTouched: []
    func_position:
      end: 924
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 924
    functionName: ffenc_process_video
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_filter_pid_set_discard
    - AVERROR
    - gf_bs_get_content
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - GF_FEVT_INIT
    - gf_filter_pck_get_duration
    - avcodec_close
    - PROP_DATA
    - GF_LOG
    - avcodec_encode_video2
    - gf_filter_pid_drop_packet
    - av_packet_free_side_data
    - gf_filter_pid_set_eos
    - ffenc_configure_pid_ex
    - ffmpeg_generate_gpac_dsi
    - gf_filter_pck_get_interlaced
    - avcodec_send_frame
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - ffenc_copy_pid_props
    - gf_bs_del
    - FF_INIT_PCK
    - GF_4CC
    - gf_crc_32
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_set_sap
    - ffenc_log_video
    - gf_filter_pck_set_cts
    - SCALE_TS
    - gf_filter_pid_get_name
    - gf_list_del_item
    - gf_filter_reporting_enabled
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - UNSCALE_DUR
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - memcpy
    - gf_filter_post_process_task
    - gf_bs_write_u8
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    - gf_filter_pck_set_dts
    - gf_filter_pck_get_property
    - av_err2str
    - gf_filter_pck_ref_props
    - gf_pixel_get_bytes_per_pixel
    - gf_filter_pck_merge_properties
    - UNSCALE_TS
    - gf_sys_clock_high_res
    - avcodec_receive_packet
    - ffenc_get_cts
    - PROP_DATA_NO_COPY
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_process_video(GF_Filter *filter, struct _gf_ffenc_ctx
      *ctx) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:1047,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:1101,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1162,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1276,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_enc.c:1346,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ff_enc.c:1348,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:1290,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_enc.c:1019,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1047,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:1077,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:1095,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_enc.c:1100,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:1118,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_enc.c:1284,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:1265,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_enc.c:1341,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_enc.c:1176,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_enc.c:1244,1
    - Dst: avcodec_encode_audio2
      Src: /src/gpac/src/filters/ff_enc.c:1149,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:1162,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/ff_enc.c:1295,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_enc.c:1188,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/ff_enc.c:1332,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/ff_enc.c:1318,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:1270,1
    - Dst: avcodec_fill_audio_frame
      Src: /src/gpac/src/filters/ff_enc.c:1086,1
    - Dst: ffenc_audio_append_samples
      Src: /src/gpac/src/filters/ff_enc.c:1110,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_enc.c:1256,1
    - Dst: ffenc_audio_append_samples
      Src: /src/gpac/src/filters/ff_enc.c:1263,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_enc.c:1162,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_enc.c:1220,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/ff_enc.c:1022,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_enc.c:1029,1
    - Dst: avcodec_send_frame
      Src: /src/gpac/src/filters/ff_enc.c:1153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:1295,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_enc.c:1168,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_enc.c:1350,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_enc.c:1331,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1271,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1151,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:1310,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_enc.c:1008,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_enc.c:1055,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:1275,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_enc.c:1344,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/ff_enc.c:1023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1057,1
    - Dst: ffenc_audio_append_samples
      Src: /src/gpac/src/filters/ff_enc.c:1099,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_enc.c:1309,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_enc.c:1279,1
    - Dst: avcodec_receive_packet
      Src: /src/gpac/src/filters/ff_enc.c:1200,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_enc.c:1319,1
    - Dst: ffenc_copy_pid_props
      Src: /src/gpac/src/filters/ff_enc.c:1328,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_enc.c:1340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1018,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_enc.c:1211,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_enc.c:1305,1
    - Dst: avcodec_fill_audio_frame
      Src: /src/gpac/src/filters/ff_enc.c:1044,1
    - Dst: ffenc_audio_append_samples
      Src: /src/gpac/src/filters/ff_enc.c:1076,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:1103,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1269,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_enc.c:1155,1
    - Dst: ffenc_get_cts
      Src: /src/gpac/src/filters/ff_enc.c:1063,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1204,1
    - Dst: ffmpeg_generate_gpac_dsi
      Src: /src/gpac/src/filters/ff_enc.c:1336,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_enc.c:1352,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_enc.c:1068,1
    - Dst: avcodec_fill_audio_frame
      Src: /src/gpac/src/filters/ff_enc.c:1090,1
    - Dst: avcodec_send_frame
      Src: /src/gpac/src/filters/ff_enc.c:1198,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_enc.c:1333,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_enc.c:1358,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1353,1
    - Dst: ffenc_audio_append_samples
      Src: /src/gpac/src/filters/ff_enc.c:1083,1
    - Dst: avcodec_fill_audio_frame
      Src: /src/gpac/src/filters/ff_enc.c:1114,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:1269,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_enc.c:1281,1
    - Dst: avcodec_encode_audio2
      Src: /src/gpac/src/filters/ff_enc.c:1195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_enc.c:1289,1
    - Dst: ffenc_configure_pid_ex
      Src: /src/gpac/src/filters/ff_enc.c:1215,1
    - Dst: avcodec_receive_packet
      Src: /src/gpac/src/filters/ff_enc.c:1166,1
    - Dst: av_channel_layout_copy
      Src: /src/gpac/src/filters/ff_enc.c:1142,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/ff_enc.c:1067,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1095,1
    - Dst: avcodec_fill_audio_frame
      Src: /src/gpac/src/filters/ff_enc.c:1111,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1214,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_enc.c:1311,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/ff_enc.c:1021,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_enc.c:1058,1
    - Dst: memmove
      Src: /src/gpac/src/filters/ff_enc.c:1246,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 320
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - struct _gf_ffenc_ctx*
    constantsTouched: []
    func_position:
      end: 1361
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1361
    functionName: ffenc_process_audio
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - AVERROR
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - av_packet_free_side_data
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - ffenc_configure_pid_ex
    - ffmpeg_generate_gpac_dsi
    - avcodec_send_frame
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - ffenc_copy_pid_props
    - av_channel_layout_copy
    - FF_INIT_PCK
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - avcodec_encode_audio2
    - gf_list_count
    - gf_filter_pck_set_cts
    - gf_filter_pid_get_name
    - memmove
    - gf_list_del_item
    - gf_filter_pck_set_duration
    - gf_list_get
    - ffenc_audio_append_samples
    - avcodec_free_context
    - FF_RELEASE_PCK
    - gf_filter_pid_set_property
    - gf_filter_post_process_task
    - memcpy
    - avcodec_fill_audio_frame
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    - gf_filter_pck_set_dts
    - av_err2str
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    - gf_list_rem
    - avcodec_receive_packet
    - ffenc_get_cts
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_process_audio(GF_Filter *filter, struct _gf_ffenc_ctx
      *ctx) '
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:1383,1
    - Dst: avcodec_find_encoder
      Src: /src/gpac/src/filters/ff_enc.c:1451,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/ff_enc.c:1457,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1590,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/ff_enc.c:1758,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1812,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1880,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/ff_enc.c:2060,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/ff_enc.c:1597,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1660,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/ff_enc.c:1535,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1537,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1783,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1882,1
    - Dst: ffmpeg_set_enc_dec_flags
      Src: /src/gpac/src/filters/ff_enc.c:2031,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:2052,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1730,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1395,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1511,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/ff_enc.c:1728,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1896,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1947,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_enc.c:1992,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:2065,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2049,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1673,1
    - Dst: gf_audio_fmt_get_num_channels_from_layout
      Src: /src/gpac/src/filters/ff_enc.c:1782,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1783,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1548,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1614,1
    - Dst: ffmpeg_audio_fmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1457,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_enc.c:1521,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1667,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/ff_enc.c:1998,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_enc.c:2016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:2086,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1481,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1689,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1820,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1959,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_enc.c:2002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:2073,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/ff_enc.c:2106,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1539,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1525,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1881,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1900,1
    - Dst: gf_m4a_get_profile
      Src: /src/gpac/src/filters/ff_enc.c:2021,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/ff_enc.c:2065,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:2066,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_enc.c:2085,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2103,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_enc.c:2081,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_enc.c:2086,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1695,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1689,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1777,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_enc.c:1922,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:2047,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_enc.c:2087,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_enc.c:2024,1
    - Dst: av_opt_find
      Src: /src/gpac/src/filters/ff_enc.c:1884,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/ff_enc.c:2107,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_enc.c:2115,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1581,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_enc.c:1514,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_enc.c:1784,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/ff_enc.c:1837,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1903,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1907,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1957,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1987,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/ff_enc.c:2003,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/ff_enc.c:2071,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_enc.c:2098,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1466,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/ff_enc.c:1485,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1487,1
    - Dst: ffenc_copy_pid_props
      Src: /src/gpac/src/filters/ff_enc.c:1493,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1695,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/ff_enc.c:1728,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1769,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1674,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/src/filters/ff_enc.c:1802,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1967,1
    - Dst: ffmpeg_audio_fmt_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1703,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/ff_enc.c:1415,1
    - Dst: ffmpeg_stream_type_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1464,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1538,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1541,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1671,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1784,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1824,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_enc.c:1931,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1940,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_enc.c:1933,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/ff_enc.c:2042,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/ff_enc.c:1758,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1423,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1446,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_enc.c:1473,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1510,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1674,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1680,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1779,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1769,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_enc.c:1865,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1462,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/ff_enc.c:1466,1
    - Dst: av_codec_next
      Src: /src/gpac/src/filters/ff_enc.c:1630,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1865,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1887,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1910,1
    - Dst: avcodec_open2
      Src: /src/gpac/src/filters/ff_enc.c:2083,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_enc.c:2086,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2105,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2055,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_enc.c:1411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1640,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1799,1
    - Dst: ffmpeg_check_threads
      Src: /src/gpac/src/filters/ff_enc.c:2082,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_enc.c:2097,1
    - Dst: ffenc_copy_pid_props
      Src: /src/gpac/src/filters/ff_enc.c:2118,1
    - Dst: GET_PROP
      Src: /src/gpac/src/filters/ff_enc.c:1512,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_enc.c:2024,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_enc.c:1772,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1406,1
    - Dst: avcodec_find_encoder_by_name
      Src: /src/gpac/src/filters/ff_enc.c:1417,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1419,1
    - Dst: gf_pixel_get_downsampling
      Src: /src/gpac/src/filters/ff_enc.c:1680,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/ff_enc.c:1870,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1913,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1945,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:2056,1
    - Dst: av_channel_layout_uninit
      Src: /src/gpac/src/filters/ff_enc.c:1954,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_enc.c:1492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1597,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_enc.c:1995,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/filters/ff_enc.c:2023,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/ff_enc.c:2061,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_enc.c:1568,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_enc.c:1602,1
    - Dst: av_codec_iterate
      Src: /src/gpac/src/filters/ff_enc.c:1628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1573,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_enc.c:1772,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_enc.c:1389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_enc.c:1428,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/ff_enc.c:1466,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_enc.c:1517,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:1885,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 664
    argCount: 4
    argNames:
    - filter
    - pid
    - is_remove
    - is_force_reconf
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2120
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 2120
    functionName: ffenc_configure_pid_ex
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_m4a_get_profile
    - snprintf
    - ffmpeg_check_threads
    - memset
    - gf_file_load_data
    - av_opt_find
    - gf_utf8_is_legal
    - av_dict_set
    - GF_LOG
    - gf_m4a_write_config
    - gf_filter_pid_caps_query
    - av_frame_alloc
    - GET_PROP
    - gf_filter_pid_set_framing_mode
    - avcodec_open2
    - ffmpeg_report_options
    - gf_audio_fmt_get_num_channels_from_layout
    - gf_audio_fmt_get_layout_from_cicp
    - gf_filter_pid_remove
    - gf_codecid_parse
    - gf_audio_fmt_get_cicp_layout
    - gf_filter_get_udta
    - ffenc_copy_pid_props
    - ffmpeg_channel_layout_from_gpac
    - gf_error_to_string
    - gf_list_count
    - ffmpeg_pixfmt_to_gpac
    - strcmp
    - gf_strdup
    - ffmpeg_codecid_from_gpac
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - ffmpeg_audio_fmt_to_gpac
    - av_dict_free
    - gf_filter_pid_get_name
    - gf_filter_pid_negotiate_property
    - gf_fopen
    - ffmpeg_codecid_to_gpac
    - ffmpeg_channel_layout_to_gpac
    - gf_pixel_get_size_info
    - gf_filter_set_name
    - avcodec_free_context
    - PROP_LONGUINT
    - sprintf
    - gf_filter_pid_set_property
    - av_dict_copy
    - gf_audio_fmt_is_planar
    - gf_codecid_name
    - ffmpeg_stream_type_to_gpac
    - gf_free
    - gf_pixel_fmt_name
    - av_channel_layout_uninit
    - ffmpeg_pixfmt_from_gpac
    - gf_pixel_get_downsampling
    - ffmpeg_set_enc_dec_flags
    - gf_stream_type_name
    - av_codec_next
    - avcodec_find_encoder
    - gf_filter_pid_get_property
    - avcodec_alloc_context3
    - gf_media_get_reduced_frame_rate
    - avcodec_find_encoder_by_name
    - gf_realloc
    - av_err2str
    - av_codec_iterate
    - gf_audio_fmt_bit_depth
    - PROP_DATA_NO_COPY
    - ffmpeg_audio_fmt_from_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_configure_pid_ex(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove, Bool is_force_reconf) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2137,1
    - Dst: gf_filter_report_meta_option
      Src: /src/gpac/src/filters/ff_enc.c:2148,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2151,1
    - Dst: atoi
      Src: /src/gpac/src/filters/ff_enc.c:2164,1
    - Dst: strpbrk
      Src: /src/gpac/src/filters/ff_enc.c:2165,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_enc.c:2178,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2201,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_enc.c:2207,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2146,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2155,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2160,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2157,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2198,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2203,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_enc.c:2218,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:2133,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2140,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2160,1
    - Dst: strpbrk
      Src: /src/gpac/src/filters/ff_enc.c:2167,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_enc.c:2170,1
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_enc.c:2199,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2138,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2135,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_enc.c:2141,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2151,1
    - Dst: atoi
      Src: /src/gpac/src/filters/ff_enc.c:2161,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2158,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2163,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2154,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_enc.c:2156,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/ff_enc.c:2185,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2219
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2219
    functionName: ffenc_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - av_dict_get
    - gf_props_parse_value
    - gf_filter_report_meta_option
    - av_dict_set
    - strcmp
    - sprintf
    - ffmpeg_update_arg
    - strpbrk
    - atoi
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffenc_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_enc.c:2223,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_enc.c:2231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2239
    functionName: ffenc_process_event
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_count
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ffenc_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_enc.c:2328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2329
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2329
    functionName: ffenc_register
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffenc_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: ffenc_register
    functionSourceFile: /src/gpac/src/filters/ff_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffenc_register(GF_FilterSession *session) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_opensvc.c:80,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_opensvc.c:84,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:110,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:114,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:117,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_opensvc.c:153,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_opensvc.c:178,1
    - Dst: SVCDecoder_init
      Src: /src/gpac/src/filters/dec_opensvc.c:189,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_opensvc.c:202,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/src/filters/dec_opensvc.c:205,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:280,1
    - Dst: SetCommandLayer
      Src: /src/gpac/src/filters/dec_opensvc.c:257,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_opensvc.c:86,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:113,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:141,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_opensvc.c:119,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_opensvc.c:162,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_opensvc.c:185,1
    - Dst: decodeNAL
      Src: /src/gpac/src/filters/dec_opensvc.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:236,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:277,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:277,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_opensvc.c:279,1
    - Dst: SVCDecoder_close
      Src: /src/gpac/src/filters/dec_opensvc.c:90,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_opensvc.c:107,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:141,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:141,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_opensvc.c:168,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_opensvc.c:194,1
    - Dst: decodeNAL
      Src: /src/gpac/src/filters/dec_opensvc.c:220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:224,1
    - Dst: gf_avc_get_pps_info
      Src: /src/gpac/src/filters/dec_opensvc.c:232,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:272,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_opensvc.c:227,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:280,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:276,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_opensvc.c:98,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:156,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_opensvc.c:147,1
    - Dst: SetCommandLayer
      Src: /src/gpac/src/filters/dec_opensvc.c:195,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_opensvc.c:229,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:239,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_opensvc.c:243,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_opensvc.c:246,1
    - Dst: SVCDecoder_init
      Src: /src/gpac/src/filters/dec_opensvc.c:256,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_opensvc.c:267,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:276,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:279,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_opensvc.c:271,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:272,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 211
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 283
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 283
    functionName: osvcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - memset
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - SetCommandLayer
    - gf_odf_avc_cfg_read
    - decodeNAL
    - gf_filter_pid_remove
    - SVCDecoder_close
    - gf_filter_get_udta
    - gf_crc_32
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_odf_avc_cfg_del
    - PROP_UINT
    - gf_filter_pid_get_name
    - memmove
    - gf_list_get
    - gf_avc_get_pps_info
    - gf_filter_pid_set_property
    - gf_avc_get_sps_info
    - gf_filter_pid_get_property
    - SVCDecoder_init
    - gf_filter_pid_check_caps
    - PROP_FRAC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err osvcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_opensvc.c:416,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:422,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_opensvc.c:442,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dec_opensvc.c:463,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:481,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:484,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:519,1
    - Dst: gf_avc_get_sps_info
      Src: /src/gpac/src/filters/dec_opensvc.c:476,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:525,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:529,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_opensvc.c:528,1
    - Dst: SetCommandLayer
      Src: /src/gpac/src/filters/dec_opensvc.c:430,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_opensvc.c:553,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_opensvc.c:545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:499,1
    - Dst: decodeNAL
      Src: /src/gpac/src/filters/dec_opensvc.c:493,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:531,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_opensvc.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:335,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_opensvc.c:374,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_opensvc.c:386,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:402,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_opensvc.c:406,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_opensvc.c:407,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dec_opensvc.c:439,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/dec_opensvc.c:472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:487,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:527,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_opensvc.c:534,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:531,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_opensvc.c:549,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_opensvc.c:544,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:481,1
    - Dst: decodeNAL
      Src: /src/gpac/src/filters/dec_opensvc.c:496,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_opensvc.c:550,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_opensvc.c:332,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:335,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_opensvc.c:384,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:398,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_opensvc.c:366,1
    - Dst: GetDqIdMax
      Src: /src/gpac/src/filters/dec_opensvc.c:418,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:477,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_opensvc.c:477,1
    - Dst: gf_avc_get_pps_info
      Src: /src/gpac/src/filters/dec_opensvc.c:480,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_opensvc.c:546,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_opensvc.c:537,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_opensvc.c:541,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_opensvc.c:556,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:555,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_opensvc.c:553,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:526,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_opensvc.c:555,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:330,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_opensvc.c:340,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_opensvc.c:341,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_opensvc.c:343,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:346,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_opensvc.c:360,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_opensvc.c:378,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_opensvc.c:367,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_opensvc.c:372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_opensvc.c:371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_opensvc.c:484,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_opensvc.c:512,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_opensvc.c:526,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_opensvc.c:551,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_opensvc.c:536,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_opensvc.c:525,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_opensvc.c:529,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 233
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 558
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 558
    functionName: osvcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - SetCommandLayer
    - decodeNAL
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_media_nalu_next_start_code
    - GetDqIdMax
    - PROP_UINT
    - gf_filter_pid_get_name
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_list_insert
    - gf_list_get
    - gf_avc_get_pps_info
    - gf_filter_pid_set_property
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_avc_get_sps_info
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_filter_pid_get_property
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - PROP_FRAC
    - gf_log_tool_level_on
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err osvcdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: osvcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err osvcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_opensvc.c:288,1
    - Dst: UpdateLayer
      Src: /src/gpac/src/filters/dec_opensvc.c:300,1
    - Dst: UpdateLayer
      Src: /src/gpac/src/filters/dec_opensvc.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - fevt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: osvcdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - UpdateLayer
    linkageType: ''
    returnType: Bool
    signature: 'static Bool osvcdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *fevt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_opensvc.c:562,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_opensvc.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: osvcdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err osvcdec_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_opensvc.c:569,1
    - Dst: SVCDecoder_close
      Src: /src/gpac/src/filters/dec_opensvc.c:570,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_opensvc.c:573,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_opensvc.c:571,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_opensvc.c:572,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_opensvc.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 576
    functionName: osvcdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_unref
    - SVCDecoder_close
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void osvcdec_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: osvcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err osvcdec_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_opensvc.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: osvcdec_register
    functionSourceFile: /src/gpac/src/filters/dec_opensvc.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *osvcdec_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_extract_meta_item_get_cenc_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:216,1
    - Dst: gf_isom_get_sample_cenc_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:227,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:248,1
    - Dst: memset
      Src: /src/gpac/src/filters/isoffin_read_ch.c:234,1
    - Dst: gf_isom_cenc_get_sample_aux_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:241,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read_ch.c:248,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:265,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_read_ch.c:265,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_read_ch.c:270,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:273,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_read_ch.c:273,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:279,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - ch
    - for_item
    argTypes:
    - ISOMChannel*
    - Bool
    constantsTouched: []
    func_position:
      end: 281
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 281
    functionName: isor_update_cenc_info
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_isom_extract_meta_item_get_cenc_info
    - memset
    - gf_isom_get_sample_cenc_info
    - gf_crc_32
    - gf_error_to_string
    - PROP_DATA
    - gf_isom_cenc_get_sample_aux_info
    - GF_LOG
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    - PROP_FRAC_INT
    linkageType: ''
    returnType: void
    signature: 'static void isor_update_cenc_info(ISOMChannel *ch, Bool for_item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_read_ch.c:64,1
    - Dst: gf_isom_get_last_producer_time_box
      Src: /src/gpac/src/filters/isoffin_read_ch.c:69,1
    - Dst: gf_net_get_ntp_diff_ms
      Src: /src/gpac/src/filters/isoffin_read_ch.c:76,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/isoffin_read_ch.c:72,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/filters/isoffin_read_ch.c:79,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:81,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/isoffin_read_ch.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: isor_check_producer_ref_time
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_net_get_ntp_diff_ms
    - GF_LOG
    - gf_net_get_ntp_ts
    - gf_gmtime
    - gf_log_tool_level_on
    - gf_isom_get_last_producer_time_box
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: void
    signature: 'void isor_check_producer_ref_time(ISOMReader *read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/isoffin_read_ch.c:316,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/isoffin_read_ch.c:318,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/isoffin_read_ch.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - size
    - udta
    argTypes:
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: isor_sample_alloc
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_expand
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: u8*
    signature: 'u8 *isor_sample_alloc(u32 size, void *udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 677
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 677
    functionName: isor_reader_release_sample
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void isor_reader_release_sample(ISOMChannel *ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:748,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read_ch.c:750,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read_ch.c:751,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/isoffin_read_ch.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: isor_reset_seq_list
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void isor_reset_seq_list(GF_List *list) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read_ch.c:832,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:842,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/isoffin_read_ch.c:844,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_read_ch.c:887,1
    - Dst: isor_ps_get_id
      Src: /src/gpac/src/filters/isoffin_read_ch.c:869,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/isoffin_read_ch.c:909,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:809,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/isoffin_read_ch.c:813,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read_ch.c:801,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read_ch.c:867,1
    - Dst: isor_reset_all_ps
      Src: /src/gpac/src/filters/isoffin_read_ch.c:895,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:903,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/isoffin_read_ch.c:905,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:840,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/isoffin_read_ch.c:880,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:811,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:830,1
    - Dst: isor_reset_all_ps
      Src: /src/gpac/src/filters/isoffin_read_ch.c:874,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/isoffin_read_ch.c:886,1
    - Dst: isor_ps_get_id
      Src: /src/gpac/src/filters/isoffin_read_ch.c:863,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:865,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_read_ch.c:906,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 116
    argCount: 5
    argNames:
    - ch
    - data
    - size
    - nal_type
    - needs_reset
    argTypes:
    - ISOMChannel*
    - u8*
    - u32
    - u8
    - Bool*
    constantsTouched: []
    func_position:
      end: 911
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 911
    functionName: isor_replace_nal
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - isor_ps_get_id
    - memcmp
    - gf_realloc
    - gf_list_count
    - isor_reset_all_ps
    - memcpy
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void isor_replace_nal(ISOMChannel *ch, u8 *data, u32 size,
      u8 nal_type, Bool *needs_reset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/isoffin_read_ch.c:943,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:946,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/isoffin_read_ch.c:956,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:965,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:974,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 3
    argNames:
    - ch
    - pos
    - removed
    argTypes:
    - ISOMChannel*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 985
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 985
    functionName: isor_sai_bytes_removed
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - key_info_get_iv_size
    - GF_LOG
    - GF_4CC
    linkageType: ''
    returnType: void
    signature: 'void isor_sai_bytes_removed(ISOMChannel *ch, u32 pos, u32 removed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isor_reader_release_sample
      Src: /src/gpac/src/filters/isoffin_read_ch.c:38,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read_ch.c:51,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/isoffin_read_ch.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: isor_reset_reader
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_isom_sample_del
    - isor_reader_release_sample
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void isor_reset_reader(ISOMChannel *ch) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/isoffin_read_ch.c:98,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:110,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:105,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:100,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/isoffin_read_ch.c:104,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:119,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:121,1
    - Dst: gf_isom_get_sample_info_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:125,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:127,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:146,1
    - Dst: gf_isom_get_missing_bytes
      Src: /src/gpac/src/filters/isoffin_read_ch.c:154,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 193
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 193
    functionName: init_reader
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_isom_get_sample_for_movie_time
    - gf_isom_get_sample_ex
    - gf_isom_get_missing_bytes
    - gf_isom_sample_new
    - gf_assert
    - gf_isom_get_sample_info_ex
    linkageType: ''
    returnType: void
    signature: 'static void init_reader(ISOMChannel *ch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isor_declare_item_properties
      Src: /src/gpac/src/filters/isoffin_read_ch.c:286,1
    - Dst: gf_isom_extract_meta_item_mem
      Src: /src/gpac/src/filters/isoffin_read_ch.c:301,1
    - Dst: gf_isom_sample_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:294,1
    - Dst: isor_update_cenc_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: isor_reader_get_sample_from_item
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_isom_extract_meta_item_mem
    - isor_declare_item_properties
    - isor_update_cenc_info
    - gf_isom_sample_new
    linkageType: ''
    returnType: void
    signature: 'void isor_reader_get_sample_from_item(ISOMChannel *ch) '
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: init_reader
      Src: /src/gpac/src/filters/isoffin_read_ch.c:344,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:400,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:452,1
    - Dst: gf_isom_get_sample_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:501,1
    - Dst: isor_reader_get_sample
      Src: /src/gpac/src/filters/isoffin_read_ch.c:512,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:617,1
    - Dst: isor_update_cenc_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:659,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/filters/isoffin_read_ch.c:658,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:388,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:412,1
    - Dst: gf_isom_get_sample_sync
      Src: /src/gpac/src/filters/isoffin_read_ch.c:484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:549,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/isoffin_read_ch.c:555,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:556,1
    - Dst: gf_isom_last_error
      Src: /src/gpac/src/filters/isoffin_read_ch.c:581,1
    - Dst: gf_isom_get_sample_flags
      Src: /src/gpac/src/filters/isoffin_read_ch.c:654,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/filters/isoffin_read_ch.c:661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:634,1
    - Dst: gf_isom_set_sample_alloc
      Src: /src/gpac/src/filters/isoffin_read_ch.c:343,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:417,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:425,1
    - Dst: gf_isom_get_sample_rap_roll_info
      Src: /src/gpac/src/filters/isoffin_read_ch.c:487,1
    - Dst: isor_reader_get_sample
      Src: /src/gpac/src/filters/isoffin_read_ch.c:529,1
    - Dst: gf_isom_get_missing_bytes
      Src: /src/gpac/src/filters/isoffin_read_ch.c:537,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/isoffin_read_ch.c:548,1
    - Dst: gf_isom_get_current_tfdt
      Src: /src/gpac/src/filters/isoffin_read_ch.c:565,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:574,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:582,1
    - Dst: gf_isom_set_sample_alloc
      Src: /src/gpac/src/filters/isoffin_read_ch.c:337,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:363,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read_ch.c:356,1
    - Dst: gf_isom_get_sample_duration
      Src: /src/gpac/src/filters/isoffin_read_ch.c:420,1
    - Dst: gf_isom_get_sample_info_ex
      Src: /src/gpac/src/filters/isoffin_read_ch.c:499,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/isoffin_read_ch.c:508,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/isoffin_read_ch.c:432,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/isoffin_read_ch.c:526,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read_ch.c:582,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read_ch.c:582,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 324
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 669
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 669
    functionName: isor_reader_get_sample
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_isom_get_missing_bytes
    - gf_filter_end_of_session
    - isor_update_cenc_info
    - gf_isom_get_sample_rap_roll_info
    - gf_isom_is_media_encrypted
    - gf_error_to_string
    - gf_isom_set_sample_alloc
    - gf_isom_get_sample_sync
    - gf_isom_get_sample_flags
    - gf_isom_get_sample_ex
    - init_reader
    - gf_filter_pck_discard
    - gf_isom_last_error
    - gf_isom_is_cenc_media
    - gf_isom_get_sample_count
    - gf_isom_get_sample_for_movie_time
    - gf_isom_get_sample_duration
    - gf_isom_get_current_tfdt
    - isor_reader_get_sample
    - gf_isom_get_sample_info_ex
    linkageType: ''
    returnType: void
    signature: 'void isor_reader_get_sample(ISOMChannel *ch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isor_reset_seq_list
      Src: /src/gpac/src/filters/isoffin_read_ch.c:759,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:764,1
    - Dst: isor_reset_seq_list
      Src: /src/gpac/src/filters/isoffin_read_ch.c:761,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read_ch.c:766,1
    - Dst: isor_reset_seq_list
      Src: /src/gpac/src/filters/isoffin_read_ch.c:760,1
    - Dst: isor_reset_seq_list
      Src: /src/gpac/src/filters/isoffin_read_ch.c:767,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read_ch.c:771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read_ch.c:773,1
    - Dst: isor_reset_seq_list
      Src: /src/gpac/src/filters/isoffin_read_ch.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 777
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 777
    functionName: isor_reset_all_ps
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - isor_reset_seq_list
    linkageType: ''
    returnType: void
    signature: 'static void isor_reset_all_ps(ISOMChannel *ch) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpegh_get_mhas_pl
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1005,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1010,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1007,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1007,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1010,1
    - Dst: isor_replace_nal
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1087,1
    - Dst: memmove
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1089,1
    - Dst: isor_sai_bytes_removed
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1095,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1107,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1110,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1121,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1118,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1113,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1116,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1121,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 111
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 1125
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1125
    functionName: isor_reader_check_config
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - memmove
    - gf_odf_vvc_cfg_write
    - isor_sai_bytes_removed
    - PROP_LONGUINT
    - gf_crc_32
    - isor_replace_nal
    - gf_odf_avc_cfg_write
    - gf_filter_pid_set_property
    - gf_odf_hevc_cfg_write
    - PROP_UINT
    - gf_free
    - gf_mpegh_get_mhas_pl
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'void isor_reader_check_config(ISOMChannel *ch) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1140,1
    - Dst: gf_isom_enum_sample_aux_data
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1162,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1171,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1169,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1169,1
    - Dst: gf_isom_pop_emsg
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1179,1
    - Dst: strcat
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1145,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1150,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1168,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1153,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1182,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1141,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1141,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1144,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1149,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1168,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1171,1
    - Dst: gf_isom_enum_sample_group
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1135,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1140,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1150,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1153,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read_ch.c:1182,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 39
    argCount: 3
    argNames:
    - read
    - ch
    - pck
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1185
    functionName: isor_set_sample_groups_and_aux_data
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_isom_pop_emsg
    - strcat
    - gf_filter_pck_set_property
    - gf_isom_enum_sample_aux_data
    - GF_4CC
    - sprintf
    - gf_filter_pck_set_property_dyn
    - gf_isom_enum_sample_group
    - gf_4cc_to_str
    - gf_filter_pck_set_property_str
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'void isor_set_sample_groups_and_aux_data(ISOMReader *read, ISOMChannel
      *ch, GF_FilterPacket *pck) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/isoffin_read_ch.c:698,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/isoffin_read_ch.c:702,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/isoffin_read_ch.c:695,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/isoffin_read_ch.c:706,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/isoffin_read_ch.c:718,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/isoffin_read_ch.c:726,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/isoffin_read_ch.c:699,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/isoffin_read_ch.c:703,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/isoffin_read_ch.c:725,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/isoffin_read_ch.c:735,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_read_ch.c:742,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/isoffin_read_ch.c:711,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/isoffin_read_ch.c:730,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/isoffin_read_ch.c:736,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/isoffin_read_ch.c:722,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_read_ch.c:694,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/isoffin_read_ch.c:707,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/isoffin_read_ch.c:717,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/isoffin_read_ch.c:721,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/isoffin_read_ch.c:729,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - nal_type
    - data
    - size
    - is_avc
    argTypes:
    - u8
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 744
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 744
    functionName: isor_ps_get_id
    functionSourceFile: /src/gpac/src/filters/isoffin_read_ch.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_sps
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_bs_read_ue
    linkageType: ''
    returnType: s32
    signature: 'static s32 isor_ps_get_id(u8 nal_type, u8 *data, u32 size, Bool is_avc) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhml.c:116,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:147,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:146,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:127,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhml.c:133,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:147,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:158,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:174,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhml.c:174,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:175,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:191,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/write_nhml.c:195,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/write_nhml.c:104,1
    - Dst: strcat
      Src: /src/gpac/src/filters/write_nhml.c:151,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:163,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/write_nhml.c:166,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/write_nhml.c:167,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhml.c:177,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/write_nhml.c:181,1
    - Dst: nhmldump_get_resolved_basename
      Src: /src/gpac/src/filters/write_nhml.c:181,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:189,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/write_nhml.c:190,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:186,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/write_nhml.c:202,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhml.c:99,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhml.c:106,1
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filters/write_nhml.c:102,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/write_nhml.c:106,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:111,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhml.c:137,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:124,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhml.c:146,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhml.c:122,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/write_nhml.c:153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:158,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/write_nhml.c:200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:175,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:191,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/write_nhml.c:105,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhml.c:108,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_nhml.c:113,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:140,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhml.c:149,1
    - Dst: nhmldump_get_resolved_basename
      Src: /src/gpac/src/filters/write_nhml.c:153,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:161,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/write_nhml.c:162,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:163,1
    - Dst: strcat
      Src: /src/gpac/src/filters/write_nhml.c:179,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/write_nhml.c:194,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NHMLDumpCtx*
    constantsTouched: []
    func_position:
      end: 206
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 206
    functionName: nhmldump_config_side_stream
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_fileio_factory
    - gf_fileio_translate_url
    - strncmp
    - gf_filter_pid_remove
    - gf_file_ext_start
    - gf_fileio_from_url
    - gf_strdup
    - PROP_STRING
    - PROP_UINT
    - strcpy
    - nhmldump_get_resolved_basename
    - gf_filter_set_source
    - gf_filter_pid_set_property
    - gf_filter_pid_get_destination
    - gf_filter_connect_destination
    - gf_free
    - strcat
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldump_config_side_stream(GF_Filter *filter, GF_NHMLDumpCtx
      *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:559,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:573,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:577,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:580,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:585,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:587,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:588,1
    - Dst: inflate
      Src: /src/gpac/src/filters/write_nhml.c:606,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:609,1
    - Dst: inflateEnd
      Src: /src/gpac/src/filters/write_nhml.c:616,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:648,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhml.c:643,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/write_nhml.c:633,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:647,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/write_nhml.c:543,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_nhml.c:533,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/write_nhml.c:544,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:568,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:577,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:581,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:585,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:619,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:626,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:629,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_nhml.c:540,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/write_nhml.c:545,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/write_nhml.c:546,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:565,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:569,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:560,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:572,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:581,1
    - Dst: inflateInit
      Src: /src/gpac/src/filters/write_nhml.c:603,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_nhml.c:636,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:628,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_nhml.c:620,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_nhml.c:532,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhml.c:541,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:560,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:569,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:565,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:564,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:573,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:576,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:584,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:609,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_nhml.c:646,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:629,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/write_nhml.c:639,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 129
    argCount: 4
    argNames:
    - ctx
    - data
    - data_size
    - pck
    argTypes:
    - GF_NHMLDumpCtx*
    - char*
    - u32
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 649
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 649
    functionName: nhmldump_send_dims
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - gf_bs_write_data
    - GF_LOG
    - gf_fwrite
    - gf_bs_skip_bytes
    - inflateEnd
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_bs_del
    - inflateInit
    - gf_filter_pck_get_dts
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_get_position
    - sprintf
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_bs_available
    - inflate
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldump_send_dims(GF_NHMLDumpCtx *ctx, char *data,
      u32 data_size, GF_FilterPacket *pck) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:750,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:794,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:769,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/write_nhml.c:786,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:800,1
    - Dst: nhmldump_pck_property
      Src: /src/gpac/src/filters/write_nhml.c:818,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:849,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:870,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:877,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_nhml.c:885,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/write_nhml.c:891,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/write_nhml.c:736,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:794,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:800,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_nhml.c:829,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:914,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:951,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:717,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:721,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_nhml.c:742,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:780,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:804,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:854,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:864,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/write_nhml.c:917,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:936,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_nhml.c:947,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:750,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/write_nhml.c:747,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:780,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/write_nhml.c:693,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_nhml.c:695,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:721,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/write_nhml.c:777,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/write_nhml.c:836,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:849,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:925,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:924,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:703,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:725,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:739,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:805,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:820,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/write_nhml.c:837,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:937,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/write_nhml.c:757,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:707,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:720,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:734,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:739,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:744,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:760,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:797,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:805,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:867,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:877,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/filters/write_nhml.c:902,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/write_nhml.c:752,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:755,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/write_nhml.c:834,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:864,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:899,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:876,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:755,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:774,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:725,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/write_nhml.c:772,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:810,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:865,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_nhml.c:927,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhml.c:933,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:718,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:711,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/write_nhml.c:762,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhml.c:830,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:853,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:863,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/write_nhml.c:910,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/write_nhml.c:913,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:925,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/write_nhml.c:929,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:871,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/write_nhml.c:767,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:711,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:754,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:770,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:811,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/write_nhml.c:838,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:851,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:866,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:871,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:878,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_nhml.c:944,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_nhml.c:893,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:760,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:765,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:779,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:797,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:787,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:707,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:715,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/write_nhml.c:723,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:734,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:749,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:848,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:879,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:765,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_nhml.c:694,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:718,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:715,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_nhml.c:825,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/write_nhml.c:861,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/write_nhml.c:904,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_nhml.c:907,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/write_nhml.c:911,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:952,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/write_nhml.c:886,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:706,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:733,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:745,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:759,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:796,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:788,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:775,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:799,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/write_nhml.c:859,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:880,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_nhml.c:935,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:775,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:714,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:724,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:745,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:764,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:788,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:880,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/filters/write_nhml.c:897,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:854,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/write_nhml.c:895,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:867,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:770,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:704,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:793,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/write_nhml.c:808,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:811,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/write_nhml.c:815,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:821,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/write_nhml.c:833,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/write_nhml.c:835,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:842,1
    - Dst: gf_sha1_csum
      Src: /src/gpac/src/filters/write_nhml.c:792,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:738,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:704,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:710,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:821,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 264
    argCount: 4
    argNames:
    - ctx
    - data
    - data_size
    - pck
    argTypes:
    - GF_NHMLDumpCtx*
    - char*
    - u32
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 955
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 955
    functionName: nhmldump_send_frame
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - GF_LOG
    - nhmldump_pck_property
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_interlaced
    - gf_fwrite
    - gf_fseek
    - gf_filter_pck_get_corrupted
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_carousel_version
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_crc_32
    - gf_filter_pck_enum_properties
    - gf_sha1_csum
    - gf_filter_pck_get_dts
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_isom_box_parse
    - fprintf
    - sprintf
    - gf_bs_new
    - gf_file_temp
    - gf_fread
    - gf_filter_pck_set_framing
    - gf_ftell
    - memcpy
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_isom_box_del
    - gf_filter_pck_get_roll_info
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - gf_bs_available
    - gf_isom_box_dump
    - gf_fclose
    - gf_bs_get_content_no_truncate
    - gf_base64_encode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldump_send_frame(GF_NHMLDumpCtx *ctx, char *data,
      u32 data_size, GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: nhmldump_initialize
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldump_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/write_nhml.c:85,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/write_nhml.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ipid
    - fileName
    - szFinalName
    argTypes:
    - GF_FilterPid*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: nhmldump_get_resolved_basename
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_file_basename
    - gf_filter_pid_resolve_file_template
    linkageType: ''
    returnType: char*
    signature: 'static const char *nhmldump_get_resolved_basename(GF_FilterPid *ipid,
      const char *fileName, char szFinalName[GF_MAX_PATH]) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:406,1
    - Dst: nhmldump_get_resolved_basename
      Src: /src/gpac/src/filters/write_nhml.c:483,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhml.c:518,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:391,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:396,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:400,1
    - Dst: NHML_PRINT_4CC
      Src: /src/gpac/src/filters/write_nhml.c:408,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:466,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:431,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:440,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:443,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:476,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:471,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:455,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:437,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:466,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:470,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:396,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:427,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:450,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:506,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:420,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:484,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:438,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:393,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:401,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:406,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:451,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:484,1
    - Dst: NHML_PRINT_4CC
      Src: /src/gpac/src/filters/write_nhml.c:410,1
    - Dst: nhmldump_get_resolved_basename
      Src: /src/gpac/src/filters/write_nhml.c:505,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:494,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:382,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:386,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:390,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:488,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:461,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:447,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:476,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:471,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:475,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:382,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:401,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:403,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:420,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_nhml.c:473,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:405,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_nhml.c:454,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:456,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:459,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_nhml.c:463,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:381,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/write_nhml.c:405,1
    - Dst: NHML_PRINT_4CC
      Src: /src/gpac/src/filters/write_nhml.c:436,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:429,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:500,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:509,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_nhml.c:511,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:428,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:490,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_nhml.c:521,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:522,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:456,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:441,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:444,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:428,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:509,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/write_nhml.c:514,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:387,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:460,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/write_nhml.c:486,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:395,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_nhml.c:431,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:446,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:465,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:419,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_nhml.c:468,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_nhml.c:498,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:505,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:506,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:508,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:432,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:523,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:478,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/src/filters/write_nhml.c:489,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:495,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:483,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:387,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:432,1
    - Dst: NHML_PRINT_STRING
      Src: /src/gpac/src/filters/write_nhml.c:439,1
    - Dst: NHML_PRINT_UINT
      Src: /src/gpac/src/filters/write_nhml.c:442,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 140
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NHMLDumpCtx*
    constantsTouched: []
    func_position:
      end: 524
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 524
    functionName: nhmldump_send_header
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pck_set_readonly
    - gf_bs_write_data
    - GF_LOG
    - NHML_PRINT_STRING
    - gf_fwrite
    - gf_4cc_to_str
    - gf_filter_pck_new_alloc
    - strcmp
    - gf_filter_pid_get_property_str
    - nhmldump_get_resolved_basename
    - NHML_PRINT_UINT
    - sprintf
    - NHML_PRINT_4CC
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_new_shared
    - gf_filter_pid_get_property
    - gf_audio_fmt_bit_depth
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldump_send_header(GF_NHMLDumpCtx *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhml.c:222,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:249,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhml.c:262,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/write_nhml.c:273,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhml.c:307,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhml.c:309,1
    - Dst: strcat
      Src: /src/gpac/src/filters/write_nhml.c:314,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:319,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:321,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_nhml.c:231,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:234,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhml.c:253,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:278,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/write_nhml.c:272,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:312,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:315,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:280,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:286,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_nhml.c:289,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:296,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhml.c:319,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:320,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhml.c:321,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:329,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/write_nhml.c:333,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhml.c:213,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhml.c:226,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhml.c:218,1
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/filters/write_nhml.c:246,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_nhml.c:283,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:282,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhml.c:284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhml.c:292,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:312,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhml.c:315,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_nhml.c:335,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 338
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 338
    functionName: nhmldump_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_codecid_oti
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_file_ext_start
    - gf_filter_get_udta
    - PROP_STRING
    - PROP_UINT
    - gf_filter_pid_set_property
    - gf_codecid_name
    - gf_filter_pid_send_event
    - strcat
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - gf_audio_fmt_bit_depth
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldump_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:667,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:678,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/write_nhml.c:682,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:682,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:683,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/write_nhml.c:657,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:660,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:667,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:669,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:678,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:683,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/write_nhml.c:659,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:660,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:666,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filters/write_nhml.c:675,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:670,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:675,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:680,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:659,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - p4cc
    - pname
    - att
    argTypes:
    - GF_NHMLDumpCtx*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 684
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 684
    functionName: nhmldump_pck_property
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_props_dump_val
    - gf_bs_write_data
    - sprintf
    - gf_props_get_type_name
    - gf_4cc_to_str
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void nhmldump_pck_property(GF_NHMLDumpCtx *ctx, u32 p4cc, const
      char *pname, const GF_PropertyValue *att) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhml.c:960,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhml.c:977,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhml.c:993,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhml.c:1002,1
    - Dst: nhmldump_send_header
      Src: /src/gpac/src/filters/write_nhml.c:1012,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_nhml.c:1018,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_nhml.c:1031,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_nhml.c:1033,1
    - Dst: nhmldump_config_side_stream
      Src: /src/gpac/src/filters/write_nhml.c:967,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_nhml.c:979,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhml.c:1001,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhml.c:1009,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhml.c:992,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_nhml.c:1036,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_nhml.c:970,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_nhml.c:972,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhml.c:979,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_nhml.c:981,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/write_nhml.c:984,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_nhml.c:991,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhml.c:1000,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_nhml.c:1008,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhml.c:1014,1
    - Dst: nhmldump_send_dims
      Src: /src/gpac/src/filters/write_nhml.c:1022,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_nhml.c:978,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhml.c:989,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_nhml.c:1032,1
    - Dst: nhmldump_send_frame
      Src: /src/gpac/src/filters/write_nhml.c:1024,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1039
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1039
    functionName: nhmldump_process
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - nhmldump_send_frame
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - nhmldump_config_side_stream
    - gf_fwrite
    - nhmldump_send_header
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_set_progress
    - sprintf
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - nhmldump_send_dims
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldump_process(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhml.c:1048,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:1052,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_nhml.c:1049,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_nhml.c:1050,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:1051,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:1053,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhml.c:1054,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: nhmldump_finalize
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void nhmldump_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionName: nhmlw_register
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhmlw_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: nhmlw_register
    functionSourceFile: /src/gpac/src/filters/write_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhmlw_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ch_layout
    argTypes:
    - frame
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (frame->channel_layout!=opid->ch_layout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:976,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:982,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:979,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_avf.c:980,1
    - Dst: ffavf_reset_graph
      Src: /src/gpac/src/filters/ff_avf.c:978,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_avf.c:984,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:985,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_avf.c:986,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:988,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_avf.c:990,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:991,1
    - Dst: av_frame_free
      Src: /src/gpac/src/filters/ff_avf.c:992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 993
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 993
    functionName: ffavf_finalize
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffavf_reset_graph
    - av_frame_free
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffavf_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - nb_ch
    argTypes:
    - frame
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (frame->channels != opid->nb_ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pfmt
    argTypes:
    - frame
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (frame->format != opid->pfmt) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:1000,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:1007,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_avf.c:1008,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_avf.c:1002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:1004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_avf.c:1017,1
    - Dst: ffavf_dump_graph
      Src: /src/gpac/src/filters/ff_avf.c:1018,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_avf.c:1018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:1024,1
    - Dst: strchr
      Src: /src/gpac/src/filters/ff_avf.c:1032,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:1044,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/ff_avf.c:1032,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:1044,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_avf.c:1036,1
    - Dst: avfilter_graph_send_command
      Src: /src/gpac/src/filters/ff_avf.c:1042,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/ff_avf.c:1040,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1051
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1051
    functionName: ffavf_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strlen
    - ffavf_dump_graph
    - gf_filter_get_sep
    - av_err2str
    - avfilter_graph_send_command
    - strcpy
    - gf_strdup
    - GF_LOG
    - strcmp
    - strchr
    - strncpy
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ffavf_reset_graph
      Src: /src/gpac/src/filters/ff_avf.c:264,1
    - Dst: ffavf_setup_input
      Src: /src/gpac/src/filters/ff_avf.c:270,1
    - Dst: avfilter_graph_alloc
      Src: /src/gpac/src/filters/ff_avf.c:265,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:267,1
    - Dst: ffavf_setup_outputs
      Src: /src/gpac/src/filters/ff_avf.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FFAVFilterCtx*
    constantsTouched: []
    func_position:
      end: 279
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 279
    functionName: ffavf_reconfigure_graph
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - ffavf_reset_graph
    - gf_list_get
    - gf_list_count
    - ffavf_setup_input
    - ffavf_setup_outputs
    - avfilter_graph_alloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_reconfigure_graph(GF_Filter *filter, GF_FFAVFilterCtx
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avfilter_graph_dump
      Src: /src/gpac/src/filters/ff_avf.c:406,1
    - Dst: av_free
      Src: /src/gpac/src/filters/ff_avf.c:416,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/ff_avf.c:414,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/ff_avf.c:410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - GF_FFAVFilterCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: ffavf_dump_graph
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - av_free
    - fprintf
    - GF_LOG
    - avfilter_graph_dump
    - gf_log_tool_level_on
    linkageType: ''
    returnType: void
    signature: 'static void ffavf_dump_graph(GF_FFAVFilterCtx *ctx, const char *opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ch_layout
    argTypes:
    - frame
    constantsTouched: []
    func_position:
      end: 740
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 740
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (frame->ch_layout.u.mask!=opid->ch_layout) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_avf.c:297,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:305,1
    - Dst: avfilter_pad_get_type
      Src: /src/gpac/src/filters/ff_avf.c:345,1
    - Dst: avfilter_graph_free
      Src: /src/gpac/src/filters/ff_avf.c:356,1
    - Dst: avfilter_graph_alloc
      Src: /src/gpac/src/filters/ff_avf.c:357,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_avf.c:398,1
    - Dst: ffavf_setup_outputs
      Src: /src/gpac/src/filters/ff_avf.c:399,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_avf.c:296,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:322,1
    - Dst: avfilter_pad_get_type
      Src: /src/gpac/src/filters/ff_avf.c:330,1
    - Dst: ffmpeg_stream_type_to_gpac
      Src: /src/gpac/src/filters/ff_avf.c:346,1
    - Dst: ffmpeg_stream_type_to_gpac
      Src: /src/gpac/src/filters/ff_avf.c:331,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_avf.c:319,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_avf.c:313,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_avf.c:315,1
    - Dst: avfilter_inout_free
      Src: /src/gpac/src/filters/ff_avf.c:354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:292,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_avf.c:300,1
    - Dst: avfilter_inout_free
      Src: /src/gpac/src/filters/ff_avf.c:355,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_avf.c:365,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:368,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:379,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:385,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:391,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:290,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_avf.c:298,1
    - Dst: avfilter_graph_alloc
      Src: /src/gpac/src/filters/ff_avf.c:302,1
    - Dst: avfilter_graph_parse2
      Src: /src/gpac/src/filters/ff_avf.c:303,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:305,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_avf.c:321,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/ff_avf.c:360,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/ff_avf.c:362,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:373,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/ff_avf.c:394,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 402
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 402
    functionName: ffavf_initialize
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - GF_LOG
    - av_frame_alloc
    - avfilter_graph_free
    - gf_filter_override_caps
    - strstr
    - gf_filter_get_udta
    - avfilter_inout_free
    - PROP_UINT
    - avfilter_graph_parse2
    - gf_list_new
    - gf_dynstrcat
    - ffmpeg_setup_logs
    - ffavf_setup_outputs
    - gf_filter_post_process_task
    - gf_filter_set_max_extra_input_pids
    - ffmpeg_stream_type_to_gpac
    - gf_free
    - av_err2str
    - gf_filter_meta_set_instances
    - avfilter_pad_get_type
    - avfilter_graph_alloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_initialize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:426,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_avf.c:453,1
    - Dst: avfilter_inout_alloc
      Src: /src/gpac/src/filters/ff_avf.c:461,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:471,1
    - Dst: avfilter_graph_parse_ptr
      Src: /src/gpac/src/filters/ff_avf.c:468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:476,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_avf.c:451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:471,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:476,1
    - Dst: ffavf_dump_graph
      Src: /src/gpac/src/filters/ff_avf.c:481,1
    - Dst: avfilter_inout_alloc
      Src: /src/gpac/src/filters/ff_avf.c:437,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:441,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/ff_avf.c:446,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_avf.c:448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:455,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_avf.c:431,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:430,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_avf.c:444,1
    - Dst: avfilter_inout_free
      Src: /src/gpac/src/filters/ff_avf.c:469,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_avf.c:454,1
    - Dst: avfilter_graph_config
      Src: /src/gpac/src/filters/ff_avf.c:474,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FFAVFilterCtx*
    constantsTouched: []
    func_position:
      end: 483
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 483
    functionName: ffavf_setup_filter
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - av_strdup
    - gf_list_get
    - avfilter_inout_free
    - ffavf_dump_graph
    - av_err2str
    - avfilter_graph_parse_ptr
    - gf_filter_pid_get_packet
    - gf_list_count
    - sprintf
    - GF_LOG
    - avfilter_graph_config
    - gf_filter_pid_get_property_str
    - avfilter_inout_alloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_setup_filter(GF_Filter *filter, GF_FFAVFilterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - nb_ch
    argTypes:
    - frame
    constantsTouched: []
    func_position:
      end: 741
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 741
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (frame->ch_layout.nb_channels != opid->nb_ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_avf.c:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: ffavf_register
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffavf_register(GF_FilterSession *session) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_avf.c:832,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:870,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:923,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/ff_avf.c:927,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/ff_avf.c:947,1
    - Dst: ffavf_setup_outputs
      Src: /src/gpac/src/filters/ff_avf.c:969,1
    - Dst: ffavf_reset_graph
      Src: /src/gpac/src/filters/ff_avf.c:830,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:831,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:875,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:879,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:881,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:904,1
    - Dst: av_get_default_channel_layout
      Src: /src/gpac/src/filters/ff_avf.c:912,1
    - Dst: av_channel_layout_default
      Src: /src/gpac/src/filters/ff_avf.c:915,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/ff_avf.c:926,1
    - Dst: ffavf_setup_input
      Src: /src/gpac/src/filters/ff_avf.c:963,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:816,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:819,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:823,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/ff_avf.c:818,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_avf.c:834,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/ff_avf.c:846,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_avf.c:847,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:862,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:853,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_avf.c:883,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/ff_avf.c:827,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_avf.c:835,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_avf.c:873,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/ff_avf.c:842,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:866,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:907,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_avf.c:919,1
    - Dst: ffmpeg_audio_fmt_from_gpac
      Src: /src/gpac/src/filters/ff_avf.c:925,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_avf.c:905,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 146
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 971
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 971
    functionName: ffavf_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_set_udta
    - ffavf_setup_input
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - av_get_default_channel_layout
    - gf_list_pop_back
    - gf_filter_get_udta
    - ffmpeg_channel_layout_from_gpac
    - ffavf_reset_graph
    - gf_list_count
    - gf_pixel_get_size_info
    - gf_filter_pid_get_udta
    - ffavf_setup_outputs
    - gf_audio_fmt_is_planar
    - gf_free
    - ffmpeg_pixfmt_from_gpac
    - gf_filter_pid_get_property
    - av_channel_layout_default
    - gf_filter_pid_check_caps
    - gf_audio_fmt_bit_depth
    - ffmpeg_audio_fmt_from_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/ff_avf.c:561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:626,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_avf.c:709,1
    - Dst: av_frame_free
      Src: /src/gpac/src/filters/ff_avf.c:791,1
    - Dst: av_buffersink_get_frame
      Src: /src/gpac/src/filters/ff_avf.c:633,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:664,1
    - Dst: ffmpeg_pixfmt_is_fullrange
      Src: /src/gpac/src/filters/ff_avf.c:666,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_avf.c:688,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_avf.c:704,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_avf.c:700,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_avf.c:755,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:667,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:758,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_avf.c:757,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_avf.c:520,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/ff_avf.c:697,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:518,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/ff_avf.c:725,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:674,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:760,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_avf.c:644,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_avf.c:665,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/ff_avf.c:768,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_avf.c:789,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:535,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_avf.c:542,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/ff_avf.c:770,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:757,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_avf.c:532,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:624,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_avf.c:639,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:756,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:674,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_avf.c:721,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_avf.c:729,1
    - Dst: av_buffersrc_add_frame_flags
      Src: /src/gpac/src/filters/ff_avf.c:533,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_avf.c:614,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:664,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_avf.c:770,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:490,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:510,1
    - Dst: av_buffersrc_add_frame_flags
      Src: /src/gpac/src/filters/ff_avf.c:524,1
    - Dst: av_buffersrc_add_frame_flags
      Src: /src/gpac/src/filters/ff_avf.c:603,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_avf.c:631,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:671,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_avf.c:641,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:669,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:760,1
    - Dst: ffavf_setup_filter
      Src: /src/gpac/src/filters/ff_avf.c:503,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:672,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:678,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_avf.c:728,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:756,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:535,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_avf.c:779,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:672,1
    - Dst: ffmpeg_audio_fmt_to_gpac
      Src: /src/gpac/src/filters/ff_avf.c:759,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/ff_avf.c:679,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_avf.c:575,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/ff_avf.c:627,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:645,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:678,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:761,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_avf.c:784,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:526,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_avf.c:727,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_avf.c:667,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:526,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:663,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_avf.c:715,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/ff_avf.c:687,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_avf.c:787,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/ff_avf.c:499,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:610,1
    - Dst: av_frame_free
      Src: /src/gpac/src/filters/ff_avf.c:648,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:758,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:671,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_avf.c:788,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:679,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:676,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:605,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:663,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_avf.c:697,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:761,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 312
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 792
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 792
    functionName: ffavf_process
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - AVERROR
    - gf_filter_pid_is_eos
    - GF_LOG
    - av_buffersrc_add_frame_flags
    - PROP_BOOL
    - av_frame_alloc
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - ffavf_setup_filter
    - PROP_FRAC_INT
    - gf_filter_pck_set_interlaced
    - gf_filter_pid_set_property_str
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - av_frame_free
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pid_get_packet
    - ffmpeg_pixfmt_to_gpac
    - PROP_STRING
    - gf_filter_pck_set_cts
    - PROP_UINT
    - ffmpeg_audio_fmt_to_gpac
    - gf_filter_connections_pending
    - gf_list_get
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - ffmpeg_channel_layout_to_gpac
    - PROP_LONGUINT
    - ffmpeg_pixfmt_is_fullrange
    - gf_filter_pid_set_property
    - memcpy
    - av_buffersink_get_frame
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - av_err2str
    - gf_pixel_get_bytes_per_pixel
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_avf.c:108,1
    - Dst: avfilter_get_by_name
      Src: /src/gpac/src/filters/ff_avf.c:116,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/ff_avf.c:112,1
    - Dst: avfilter_get_by_name
      Src: /src/gpac/src/filters/ff_avf.c:111,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/ff_avf.c:117,1
    - Dst: av_get_sample_fmt_name
      Src: /src/gpac/src/filters/ff_avf.c:119,1
    - Dst: avfilter_free
      Src: /src/gpac/src/filters/ff_avf.c:122,1
    - Dst: avfilter_graph_create_filter
      Src: /src/gpac/src/filters/ff_avf.c:124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:126,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - avpid
    argTypes:
    - GF_FFAVFilterCtx*
    - GF_FFAVPid*
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: ffavf_setup_input
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - snprintf
    - avfilter_graph_create_filter
    - av_err2str
    - avfilter_get_by_name
    - GF_LOG
    - av_get_sample_fmt_name
    - gf_filter_pid_get_name
    - avfilter_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_setup_input(GF_FFAVFilterCtx *ctx, GF_FFAVPid
      *avpid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_avf.c:1055,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: ffavf_process_event
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ffavf_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avfilter_inout_free
      Src: /src/gpac/src/filters/ff_avf.c:93,1
    - Dst: avfilter_graph_free
      Src: /src/gpac/src/filters/ff_avf.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FFAVFilterCtx*
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: ffavf_reset_graph
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - avfilter_graph_free
    - avfilter_inout_free
    linkageType: ''
    returnType: void
    signature: 'static void ffavf_reset_graph(GF_FFAVFilterCtx *ctx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:168,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:170,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:175,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:178,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_avf.c:205,1
    - Dst: av_opt_set_bin
      Src: /src/gpac/src/filters/ff_avf.c:220,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:222,1
    - Dst: av_opt_set_bin
      Src: /src/gpac/src/filters/ff_avf.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:236,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:242,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_avf.c:247,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:196,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_avf.c:219,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:242,1
    - Dst: avfilter_graph_create_filter
      Src: /src/gpac/src/filters/ff_avf.c:212,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_avf.c:152,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_avf.c:162,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_avf.c:163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:180,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:187,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:195,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_avf.c:210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:222,1
    - Dst: avfilter_get_by_name
      Src: /src/gpac/src/filters/ff_avf.c:206,1
    - Dst: avfilter_get_by_name
      Src: /src/gpac/src/filters/ff_avf.c:203,1
    - Dst: avfilter_inout_alloc
      Src: /src/gpac/src/filters/ff_avf.c:142,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_avf.c:153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:169,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:171,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:178,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:172,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:193,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_avf.c:202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:214,1
    - Dst: ffmpeg_audio_fmt_from_gpac
      Src: /src/gpac/src/filters/ff_avf.c:227,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:195,1
    - Dst: av_opt_set_bin
      Src: /src/gpac/src/filters/ff_avf.c:228,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:214,1
    - Dst: avfilter_inout_alloc
      Src: /src/gpac/src/filters/ff_avf.c:252,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/ff_avf.c:159,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_avf.c:167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:176,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:179,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:181,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:183,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:185,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:188,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_avf.c:192,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:236,1
    - Dst: av_opt_set_bin
      Src: /src/gpac/src/filters/ff_avf.c:240,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_avf.c:230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_avf.c:230,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FFAVFilterCtx*
    constantsTouched: []
    func_position:
      end: 256
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 256
    functionName: ffavf_setup_outputs
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - ffmpeg_pixfmt_from_gpac
    - gf_list_get
    - av_strdup
    - avfilter_graph_create_filter
    - av_err2str
    - gf_list_count
    - avfilter_get_by_name
    - sprintf
    - GF_LOG
    - gf_filter_pid_set_property
    - av_opt_set_bin
    - PROP_UINT
    - GF_SAFEALLOC
    - avfilter_inout_alloc
    - ffmpeg_audio_fmt_from_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavf_setup_outputs(GF_Filter *filter, GF_FFAVFilterCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1168
    functionName: ffavf_register
    functionSourceFile: /src/gpac/src/filters/ff_avf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffavf_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:660,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:666,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_generic.c:676,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:679,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_generic.c:680,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_generic.c:694,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:683,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_generic.c:689,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:696,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_generic.c:677,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:681,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_generic.c:692,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_generic.c:691,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_generic.c:700,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_generic.c:670,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_generic.c:684,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_generic.c:697,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:699,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/write_generic.c:701,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:702,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:673,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:663,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_generic.c:690,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_generic.c:693,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_generic.c:687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_GenDumpCtx*
    constantsTouched: []
    func_position:
      end: 703
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 703
    functionName: writegen_write_wav_header
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_property
    - gf_bs_write_data
    - gf_bs_write_u32_le
    - gf_bs_write_u16_le
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_audio_fmt_bit_depth
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void writegen_write_wav_header(GF_GenDumpCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:720,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/write_generic.c:728,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:722,1
    - Dst: ttml_locate_div
      Src: /src/gpac/src/filters/write_generic.c:734,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:729,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 3
    argNames:
    - body
    - region_name
    - div_idx
    argTypes:
    - GF_XMLNode*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 737
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 737
    functionName: ttml_locate_div
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - ttml_locate_div
    - gf_list_enum
    - strcmp
    - ttml_get_attr
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *ttml_locate_div(GF_XMLNode *body, const char *region_name,
      u32 div_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:710,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: ttml_get_attr
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_XMLAttribute*
    signature: 'GF_XMLAttribute *ttml_get_attr(GF_XMLNode *node, char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:743,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 748
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 748
    functionName: ttml_get_head
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *ttml_get_head(GF_XMLNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2154
    functionName: ttmlmerge_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttmlmerge_register(GF_FilterSession *session) '
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_generic.c:117,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:123,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:132,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:148,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:158,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:308,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:351,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/write_generic.c:511,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:219,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:249,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:281,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:321,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:358,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:368,1
    - Dst: gf_audio_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:405,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:410,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:458,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:512,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:262,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:348,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/write_generic.c:145,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:164,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:296,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:351,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/write_generic.c:442,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:461,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/write_generic.c:401,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:344,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:190,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_generic.c:202,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:243,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:249,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:321,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:459,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:474,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:512,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:112,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:162,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:296,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:262,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:320,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:308,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:348,1
    - Dst: gf_audio_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:429,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:442,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_generic.c:488,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:295,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/write_generic.c:210,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:243,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:344,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:307,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_generic.c:361,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:377,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:429,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:470,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:474,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/write_generic.c:406,1
    - Dst: gf_audio_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:152,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:174,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:183,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/write_generic.c:280,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:350,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:377,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/filters/write_generic.c:391,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:457,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/filters/write_generic.c:488,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:513,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:391,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_generic.c:408,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/write_generic.c:447,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:470,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_generic.c:491,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:502,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:511,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:347,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:314,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:350,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:358,1
    - Dst: gf_pixel_fmt_parse
      Src: /src/gpac/src/filters/write_generic.c:372,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:397,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:405,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:457,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:459,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:516,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:468,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:231,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/write_generic.c:382,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:493,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:507,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:517,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/src/filters/write_generic.c:221,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:314,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:154,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:289,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:347,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:302,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:276,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:462,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:313,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:146,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/write_generic.c:202,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:231,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:382,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/write_generic.c:390,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:469,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:513,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_generic.c:520,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:454,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:199,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:289,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:276,1
    - Dst: strchr
      Src: /src/gpac/src/filters/write_generic.c:204,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:374,1
    - Dst: gf_audio_fmt_parse
      Src: /src/gpac/src/filters/write_generic.c:428,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:462,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/write_generic.c:468,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:485,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:496,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:288,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:345,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_generic.c:138,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:173,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:255,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:275,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:301,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/write_generic.c:359,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:390,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_generic.c:122,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:156,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:229,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/write_generic.c:434,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:443,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:467,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:469,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:472,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_generic.c:481,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/write_generic.c:484,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_generic.c:341,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:345,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_generic.c:219,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_generic.c:255,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:363,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:434,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/write_generic.c:452,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_generic.c:455,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:488,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 397
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 522
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 522
    functionName: writegen_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - gf_pixel_fmt_sname
    - gf_audio_fmt_parse
    - GF_LOG
    - PROP_BOOL
    - gf_codecid_file_ext
    - gf_filter_pid_caps_query
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_4cc_to_str
    - gf_filter_get_udta
    - gf_pixel_fmt_parse
    - gf_filter_pid_copy_properties
    - strcmp
    - PROP_STRING
    - gf_audio_fmt_name
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - strcpy
    - stricmp
    - gf_filter_pid_negotiate_property
    - gf_codecid_mime
    - gf_pixel_get_size_info
    - gf_filter_pid_set_property
    - gf_audio_fmt_is_planar
    - gf_codecid_name
    - strchr
    - gf_pixel_fmt_name
    - gf_filter_pid_get_property
    - gf_audio_fmt_sname
    - gf_filter_pid_check_caps
    - strncpy
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err writegen_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/filters/write_generic.c:1175,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_generic.c:1176,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1197,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_generic.c:1175,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1184,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1185,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1187,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1198,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1185,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1191,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1188,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1195,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1198,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1194,1
    - Dst: gf_webvtt_timestamp_set
      Src: /src/gpac/src/filters/write_generic.c:1176,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/write_generic.c:1179,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1188,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1190,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1191,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - bs
    - start_ts
    - end_ts
    - timescale
    - write_srt
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1200
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1200
    functionName: webvtt_timestamps_dump
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_webvtt_timestamp_set
    - gf_bs_write_data
    - sprintf
    - gf_timestamp_rescale
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void webvtt_timestamps_dump(GF_BitStream *bs, u64 start_ts,
      u64 end_ts, u32 timescale, Bool write_srt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:609,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_generic.c:617,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:619,1
    - Dst: memset
      Src: /src/gpac/src/filters/write_generic.c:612,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_generic.c:616,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:620,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:621,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:622,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:623,1
    - Dst: memset
      Src: /src/gpac/src/filters/write_generic.c:625,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:634,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - data
    - data_size
    argTypes:
    - GF_GenDumpCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 643
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 643
    functionName: writegen_write_bmp
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - memset
    - gf_bs_write_data
    - gf_bs_new
    - memcpy
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *writegen_write_bmp(GF_GenDumpCtx *ctx, char
      *data, u32 data_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/filters/write_generic.c:536,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:542,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_generic.c:546,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_generic.c:547,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_generic.c:537,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:549,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:550,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:551,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:552,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:553,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:554,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:555,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:556,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:560,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:564,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_generic.c:561,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - data
    - data_size
    - in_pck
    argTypes:
    - GF_GenDumpCtx*
    - char*
    - u32
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 567
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 567
    functionName: writegen_write_j2k
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - memcmp
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gf_filter_pck_new_ref
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *writegen_write_j2k(GF_GenDumpCtx *ctx, char
      *data, u32 data_size, GF_FilterPacket *in_pck) '
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_generic.c:1212,1
    - Dst: writegen_flush_ttxt
      Src: /src/gpac/src/filters/write_generic.c:1218,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1319,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_generic.c:1330,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1342,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/write_generic.c:1429,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_generic.c:1436,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1451,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_generic.c:1479,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1526,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1543,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:1204,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_generic.c:1220,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1268,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_generic.c:1238,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:1482,1
    - Dst: writegen_flush_ttxt
      Src: /src/gpac/src/filters/write_generic.c:1577,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_generic.c:1588,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1396,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/write_generic.c:1245,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:1287,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1297,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_generic.c:1485,1
    - Dst: webvtt_timestamps_dump
      Src: /src/gpac/src/filters/write_generic.c:1521,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_generic.c:1546,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1572,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_generic.c:1589,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1573,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1570,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/write_generic.c:1409,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1407,1
    - Dst: writegen_flush_ttml
      Src: /src/gpac/src/filters/write_generic.c:1216,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/write_generic.c:1282,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1343,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1365,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1519,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1533,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1544,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1550,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1361,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/write_generic.c:1356,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:1441,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1510,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1519,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/write_generic.c:1523,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1529,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1557,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1303,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1363,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1353,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1371,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:1351,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_generic.c:1486,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_generic.c:1587,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1512,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1348,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1379,1
    - Dst: writegen_push_ttml
      Src: /src/gpac/src/filters/write_generic.c:1403,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/write_generic.c:1273,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_generic.c:1266,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_generic.c:1259,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/write_generic.c:1367,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1494,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1497,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/write_generic.c:1507,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_generic.c:1583,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1381,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1391,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1422,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/write_generic.c:1281,1
    - Dst: writegen_write_j2k
      Src: /src/gpac/src/filters/write_generic.c:1333,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:1387,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1394,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1526,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/write_generic.c:1556,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1311,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_generic.c:1415,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1411,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_generic.c:1428,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1477,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1492,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1502,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_generic.c:1582,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1561,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/write_generic.c:1305,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/write_generic.c:1314,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1344,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1495,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1525,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/write_generic.c:1565,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1566,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1382,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:1234,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/src/filters/write_generic.c:1307,1
    - Dst: writegen_write_bmp
      Src: /src/gpac/src/filters/write_generic.c:1335,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1357,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1449,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/write_generic.c:1499,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1504,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1531,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1535,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1399,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1354,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1375,1
    - Dst: writegen_write_wav_header
      Src: /src/gpac/src/filters/write_generic.c:1215,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_generic.c:1252,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/write_generic.c:1250,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:1314,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1509,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/write_generic.c:1540,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_generic.c:1552,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:1230,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1309,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1341,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1345,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1349,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1378,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_generic.c:1395,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_generic.c:1420,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1364,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1358,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1369,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_generic.c:1214,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_generic.c:1273,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/write_generic.c:1294,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/write_generic.c:1397,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_generic.c:1427,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_generic.c:1478,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_generic.c:1505,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/write_generic.c:1518,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/write_generic.c:1362,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_generic.c:1280,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:1346,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/write_generic.c:1446,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:1464,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_generic.c:1593,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_generic.c:1556,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1585,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/write_generic.c:1465,1
    - Dst: writegen_flush_ttml
      Src: /src/gpac/src/filters/write_generic.c:1236,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_generic.c:1437,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_generic.c:1456,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1501,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 392
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1596
    functionName: writegen_process
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_filter_pck_set_readonly
    - gf_filter_pck_get_duration
    - writegen_flush_ttxt
    - gf_bs_write_data
    - gf_filter_pck_get_property_str
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_get_data
    - writegen_write_j2k
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_corrupted
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - writegen_write_wav_header
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_bs_get_content_no_truncate
    - gf_dynstrcat
    - writegen_push_ttml
    - gf_filter_pck_set_property
    - gf_set_progress
    - sprintf
    - gf_bs_new
    - gf_filter_pck_set_framing
    - writegen_flush_ttml
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_new_shared
    - gf_filter_pid_send_event
    - gf_filter_pck_new_ref
    - gf_filter_pck_get_property
    - gf_filter_pck_ref_props
    - gf_filter_pid_get_property
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - writegen_write_bmp
    - gf_timestamp_greater
    - gf_audio_fmt_bit_depth
    - webvtt_timestamps_dump
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err writegen_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2169
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2169
    functionName: ttmlmerge_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttmlmerge_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:754,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 759
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 759
    functionName: ttml_get_body
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'GF_XMLNode *ttml_get_body(GF_XMLNode *root) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:2020,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_generic.c:2021,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/write_generic.c:2024,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:2022,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_generic.c:2027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2030
    functionName: writegen_finalize
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_xml_dom_node_del
    - gf_free
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'void writegen_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2116
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2116
    functionName: writeuf_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writeuf_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:765,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:769,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:770,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:770,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - GF_XMLNode*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 778
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 778
    functionName: ttml_same_attr
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ttml_same_attr(GF_XMLNode *n1, GF_XMLNode *n2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:2122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2127
    functionName: ttmlmerge_initialize
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmlmerge_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:784,1
    - Dst: ttml_merge_head
      Src: /src/gpac/src/filters/write_generic.c:795,1
    - Dst: ttml_same_attr
      Src: /src/gpac/src/filters/write_generic.c:789,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:789,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:788,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/write_generic.c:799,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:800,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:801,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - node_src
    - node_dst
    argTypes:
    - GF_XMLNode*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 804
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 804
    functionName: ttml_merge_head
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - ttml_same_attr
    - strcmp
    - ttml_merge_head
    - gf_list_rem
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void ttml_merge_head(GF_XMLNode *node_src, GF_XMLNode *node_dst) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_generic.c:936,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/write_generic.c:961,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:972,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:984,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/write_generic.c:998,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:1010,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:1011,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_generic.c:1020,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:1046,1
    - Dst: ttml_same_attr
      Src: /src/gpac/src/filters/write_generic.c:1051,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:1061,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:1083,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/write_generic.c:985,1
    - Dst: gf_xml_dom_detach_root
      Src: /src/gpac/src/filters/write_generic.c:989,1
    - Dst: ttml_get_body
      Src: /src/gpac/src/filters/write_generic.c:1006,1
    - Dst: ttml_get_body
      Src: /src/gpac/src/filters/write_generic.c:1007,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/write_generic.c:1009,1
    - Dst: ttml_locate_div
      Src: /src/gpac/src/filters/write_generic.c:1028,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:1032,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:1040,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:1047,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_generic.c:1070,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/write_generic.c:1084,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/filters/write_generic.c:970,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/write_generic.c:972,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/write_generic.c:1025,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/write_generic.c:1031,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/write_generic.c:1033,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:1049,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:1063,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/write_generic.c:1067,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:1068,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/write_generic.c:1073,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/write_generic.c:1078,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/write_generic.c:1059,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/write_generic.c:968,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/write_generic.c:975,1
    - Dst: ttml_embed_data
      Src: /src/gpac/src/filters/write_generic.c:979,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:999,1
    - Dst: ttml_get_head
      Src: /src/gpac/src/filters/write_generic.c:995,1
    - Dst: ttml_merge_head
      Src: /src/gpac/src/filters/write_generic.c:1002,1
    - Dst: ttml_get_head
      Src: /src/gpac/src/filters/write_generic.c:994,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:1000,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:1016,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:1022,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/write_generic.c:1074,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 136
    argCount: 4
    argNames:
    - ctx
    - data
    - data_size
    - in_pck
    argTypes:
    - GF_GenDumpCtx*
    - char*
    - u32
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1086
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 1086
    functionName: writegen_push_ttml
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - ttml_get_head
    - ttml_same_attr
    - GF_LOG
    - gf_xml_dom_node_del
    - ttml_get_attr
    - gf_xml_dom_del
    - gf_list_last
    - gf_xml_dom_new
    - gf_list_count
    - strcmp
    - gf_list_new
    - gf_list_del_item
    - gf_list_insert
    - gf_list_get
    - gf_list_enum
    - ttml_embed_data
    - ttml_merge_head
    - gf_xml_dom_parse_string
    - memcpy
    - gf_free
    - gf_xml_dom_detach_root
    - ttml_locate_div
    - gf_xml_dom_get_error
    - gf_filter_pck_get_property
    - ttml_get_body
    - gf_list_rem
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err writegen_push_ttml(GF_GenDumpCtx *ctx, char *data, u32
      data_size, GF_FilterPacket *in_pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1157,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_generic.c:1162,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1160,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1161,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1159,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_GenDumpCtx*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1165
    functionName: writegen_flush_ttxt
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_byte_offset
    - memcpy
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err writegen_flush_ttxt(GF_GenDumpCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:2071,1
    - Dst: gf_pixel_fmt_all_shortnames
      Src: /src/gpac/src/filters/write_generic.c:2072,1
    - Dst: gf_pixel_fmt_all_names
      Src: /src/gpac/src/filters/write_generic.c:2074,1
    - Dst: gf_audio_fmt_all_shortnames
      Src: /src/gpac/src/filters/write_generic.c:2073,1
    - Dst: gf_audio_fmt_all_names
      Src: /src/gpac/src/filters/write_generic.c:2075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2079
    functionName: writegen_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_all_shortnames
    - gf_pixel_fmt_all_names
    - strcmp
    - gf_audio_fmt_all_names
    - gf_audio_fmt_all_shortnames
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writegen_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2161
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2161
    functionName: writegen_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writegen_register(GF_FilterSession *session) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/write_generic.c:824,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:822,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_generic.c:828,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/write_generic.c:869,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:871,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/write_generic.c:899,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/write_generic.c:906,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:921,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:820,1
    - Dst: atoi
      Src: /src/gpac/src/filters/write_generic.c:830,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:870,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/write_generic.c:881,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:872,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/write_generic.c:888,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:900,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:901,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/write_generic.c:904,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:863,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:883,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:882,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:879,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/write_generic.c:877,1
    - Dst: ttml_get_attr
      Src: /src/gpac/src/filters/write_generic.c:886,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_generic.c:889,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:898,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:916,1
    - Dst: ttml_embed_data
      Src: /src/gpac/src/filters/write_generic.c:929,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:816,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/write_generic.c:825,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_generic.c:861,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:880,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/write_generic.c:895,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/write_generic.c:897,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/write_generic.c:910,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/write_generic.c:914,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/write_generic.c:919,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/write_generic.c:927,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 130
    argCount: 5
    argNames:
    - node
    - aux_data
    - aux_data_size
    - subs_data
    - subs_data_size
    argTypes:
    - GF_XMLNode*
    - u8*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 932
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 932
    functionName: ttml_embed_data
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_base64_encode
    - strncmp
    - gf_list_enum
    - gf_strdup
    - strcmp
    - GF_LOG
    - ttml_embed_data
    - strrchr
    - atoi
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_list_del_item
    - ttml_get_attr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_embed_data(GF_XMLNode *node, u8 *aux_data, u32
      aux_data_size, u8 *subs_data, u32 subs_data_size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:1099,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_generic.c:1105,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_generic.c:1102,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/write_generic.c:1110,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_generic.c:1120,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_generic.c:1130,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_generic.c:1123,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_generic.c:1142,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_generic.c:1150,1
    - Dst: ttml_get_body
      Src: /src/gpac/src/filters/write_generic.c:1098,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/write_generic.c:1104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_generic.c:1107,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_generic.c:1128,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/write_generic.c:1138,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/write_generic.c:1140,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_generic.c:1145,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_generic.c:1149,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/write_generic.c:1113,1
    - Dst: gf_xml_dom_serialize_root
      Src: /src/gpac/src/filters/write_generic.c:1117,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1127,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/write_generic.c:1133,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_generic.c:1124,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/write_generic.c:1129,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_generic.c:1141,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/write_generic.c:1143,1
    - Dst: strlen
      Src: /src/gpac/src/filters/write_generic.c:1119,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_generic.c:1137,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/write_generic.c:1139,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_GenDumpCtx*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1151
    functionName: writegen_flush_ttml
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pck_get_cts
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_get_duration
    - gf_xml_dom_node_del
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_sap
    - gf_list_count
    - strcmp
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_filter_pck_set_framing
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    - ttml_get_body
    - gf_list_rem
    - gf_xml_dom_serialize_root
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err writegen_flush_ttml(GF_GenDumpCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:2059,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/write_generic.c:2061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2064
    functionName: writegen_initialize
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_override_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err writegen_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_generic.c:2084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2087
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2087
    functionName: writeuf_initialize
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err writeuf_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2165
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2165
    functionName: writeuf_register
    functionSourceFile: /src/gpac/src/filters/write_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writeuf_register(GF_FilterSession *session) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:129,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:140,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:133,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:135,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:142,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/dec_ttxt.c:147,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:160,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:162,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/filters/dec_ttxt.c:164,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:169,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:187,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_ttxt.c:197,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:226,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/filters/dec_ttxt.c:188,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:228,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:219,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTXTDec*
    constantsTouched: []
    func_position:
      end: 229
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 229
    functionName: ttd_update_size_info
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_node_changed
    - gf_filter_pid_get_property
    - gf_list_enum
    - INT2FIX
    - gf_sg_get_scene_size_info
    - gf_scene_force_size
    - gf_sg_set_scene_size_info
    - gf_filter_is_dynamic
    linkageType: ''
    returnType: void
    signature: 'static void ttd_update_size_info(GF_TTXTDec *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:233,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - n1
    - par
    argTypes:
    - GF_Node*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: ttd_add_child
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_node_register
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void ttd_add_child(GF_Node *n1, GF_Node *par) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:640,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:642,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:654,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:651,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_ttxt.c:667,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:668,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:670,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:673,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:677,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:679,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:682,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:771,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttxt.c:757,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/dec_ttxt.c:762,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:753,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:713,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:769,1
    - Dst: ttd_find_font
      Src: /src/gpac/src/filters/dec_ttxt.c:631,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:639,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:638,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:648,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:663,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_ttxt.c:668,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:669,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:696,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:697,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:702,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:711,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:714,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:751,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:710,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:681,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:707,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:664,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:659,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:650,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:661,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_ttxt.c:669,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:672,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:690,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/filters/dec_ttxt.c:703,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:712,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:716,1
    - Dst: gf_node_clone
      Src: /src/gpac/src/filters/dec_ttxt.c:737,1
    - Dst: ttd_add_item
      Src: /src/gpac/src/filters/dec_ttxt.c:749,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttxt.c:756,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_ttxt.c:687,1
    - Dst: gf_sg_vrml_mf_reset
      Src: /src/gpac/src/filters/dec_ttxt.c:746,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:768,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:772,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:759,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:699,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:688,1
    - Dst: ttd_find_font
      Src: /src/gpac/src/filters/dec_ttxt.c:613,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:643,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:645,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:649,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:656,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:667,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:674,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:676,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttxt.c:678,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dec_ttxt.c:679,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:708,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:747,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:748,1
    - Dst: ttd_add_line
      Src: /src/gpac/src/filters/dec_ttxt.c:776,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:781,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 212
    argCount: 6
    argNames:
    - ctx
    - tsd
    - form
    - utf16_txt
    - utf_alloc_size
    - tc
    argTypes:
    - GF_TTXTDec*
    - GF_TextSampleDescriptor*
    - M_Form*
    - u16*
    - u32
    - TTDTextChunk*
    constantsTouched: []
    func_position:
      end: 783
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 783
    functionName: ttd_new_text_chunk
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - INT2FIX
    - gf_node_unregister
    - gf_strdup
    - gf_sg_vrml_mf_reset
    - ttd_add_line
    - gf_sg_vrml_mf_append
    - strcpy
    - gf_utf8_wcstombs
    - stricmp
    - gf_node_list_add_child
    - sprintf
    - memcpy
    - gf_free
    - gf_node_register
    - ttd_find_font
    - ttd_add_item
    - strcat
    - ttd_create_node
    - gf_node_clone
    linkageType: ''
    returnType: void
    signature: 'static void ttd_new_text_chunk(GF_TTXTDec *ctx, GF_TextSampleDescriptor
      *tsd, M_Form *form, u16 *utf16_txt, u32 utf_alloc_size, TTDTextChunk *tc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_new
      Src: /src/gpac/src/filters/dec_ttxt.c:240,1
    - Dst: gf_node_init
      Src: /src/gpac/src/filters/dec_ttxt.c:243,1
    - Dst: gf_sg_get_next_available_node_id
      Src: /src/gpac/src/filters/dec_ttxt.c:242,1
    - Dst: gf_node_set_id
      Src: /src/gpac/src/filters/dec_ttxt.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - ttd
    - tag
    - def_name
    argTypes:
    - GF_TTXTDec*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: ttd_create_node
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_node_init
    - gf_sg_get_next_available_node_id
    - gf_node_new
    - gf_node_set_id
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_Node *ttd_create_node(GF_TTXTDec *ttd, u32 tag,
      const char *def_name) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/filters/dec_ttxt.c:499,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/filters/dec_ttxt.c:538,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/filters/dec_ttxt.c:513,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/filters/dec_ttxt.c:521,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/filters/dec_ttxt.c:519,1
    - Dst: gf_muldiv
      Src: /src/gpac/src/filters/dec_ttxt.c:543,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:550,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 551
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 551
    functionName: ttd_set_scroll_fraction
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_muldiv
    - gf_node_changed
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void ttd_set_scroll_fraction(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - tsd
    - ID
    argTypes:
    - GF_TextSampleDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: ttd_find_font
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *ttd_find_font(GF_TextSampleDescriptor *tsd, u32 ID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttxt.c:1482,1
    - Dst: ttd_reset_scene
      Src: /src/gpac/src/filters/dec_ttxt.c:1484,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:1489,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_ttxt.c:1486,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_ttxt.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1490
    functionName: ttd_finalize
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - ttd_reset_scene
    - gf_odf_desc_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ttd_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dec_ttxt.c:555,1
    - Dst: gf_node_unregister_children
      Src: /src/gpac/src/filters/dec_ttxt.c:556,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTXTDec*
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: ttd_reset_display
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_node_changed
    - gf_node_unregister_children
    linkageType: ''
    returnType: void
    signature: 'static void ttd_reset_display(GF_TTXTDec *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:574,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:576,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/filters/dec_ttxt.c:580,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:579,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/filters/dec_ttxt.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - form
    argTypes:
    - M_Form*
    constantsTouched: []
    func_position:
      end: 581
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 581
    functionName: ttd_add_item
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_node_list_get_count
    - gf_sg_vrml_mf_append
    linkageType: ''
    returnType: void
    signature: 'static void ttd_add_item(M_Form *form) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_ttxt.c:467,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:469,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:471,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:472,1
    - Dst: gf_node_unregister
      Src: /src/gpac/src/filters/dec_ttxt.c:470,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/filters/dec_ttxt.c:474,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_ttxt.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTXTDec*
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: ttd_reset_scene
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_scene_register_extra_graph
    - gf_sg_del
    - gf_node_unregister
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void ttd_reset_scene(GF_TTXTDec *ctx) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:940,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_ttxt.c:1090,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:1084,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:1002,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1130,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:874,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:1006,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:1013,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1196,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/filters/dec_ttxt.c:1200,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1202,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:1254,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:875,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/filters/dec_ttxt.c:980,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_ttxt.c:1038,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1161,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1167,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:1022,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_ttxt.c:1078,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_ttxt.c:1100,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttxt.c:1043,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:1072,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_ttxt.c:887,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:1005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttxt.c:1058,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1158,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:872,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:871,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_ttxt.c:884,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:932,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:1003,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:1004,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:1013,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttxt.c:1026,1
    - Dst: gf_node_list_get_count
      Src: /src/gpac/src/filters/dec_ttxt.c:1149,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1205,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1234,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1236,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1243,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1244,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:908,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_ttxt.c:1096,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1121,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1180,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1189,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1230,1
    - Dst: gf_node_dirty_set
      Src: /src/gpac/src/filters/dec_ttxt.c:1242,1
    - Dst: ttd_split_chunks
      Src: /src/gpac/src/filters/dec_ttxt.c:1091,1
    - Dst: gf_sg_activate_routes
      Src: /src/gpac/src/filters/dec_ttxt.c:877,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:933,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:951,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1155,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1128,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1208,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1227,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:944,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:1021,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_ttxt.c:1041,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_ttxt.c:1094,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_ttxt.c:1056,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1215,1
    - Dst: ttd_new_text_chunk
      Src: /src/gpac/src/filters/dec_ttxt.c:1097,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_ttxt.c:1065,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:985,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:1046,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1139,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1173,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:1248,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1249,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttxt.c:1080,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:911,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:972,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:1062,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1183,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1188,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1127,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1151,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:978,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1190,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1218,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1224,1
    - Dst: ttd_reset_display
      Src: /src/gpac/src/filters/dec_ttxt.c:879,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:909,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:910,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:960,1
    - Dst: gf_divfix
      Src: /src/gpac/src/filters/dec_ttxt.c:1013,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:1028,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1123,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1212,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:955,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/filters/dec_ttxt.c:1034,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:1146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttxt.c:1067,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:1098,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1193,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1238,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_ttxt.c:1246,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttxt.c:1101,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1133,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_ttxt.c:1095,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:959,1
    - Dst: ttd_add_line
      Src: /src/gpac/src/filters/dec_ttxt.c:1104,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_ttxt.c:1170,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1177,1
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:1136,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_ttxt.c:870,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:907,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:958,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:984,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/dec_ttxt.c:1007,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 431
    argCount: 5
    argNames:
    - ctx
    - txt
    - sample_desc_index
    - is_utf_16
    - sample_duration
    argTypes:
    - GF_TTXTDec*
    - GF_TextSample*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 1260
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 1260
    functionName: ttd_apply_sample
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - GF_LOG
    - INT2FIX
    - gf_divfix
    - GF_SAFEALLOC
    - gf_node_list_get_count
    - gf_list_del
    - gf_list_count
    - gf_strdup
    - ttd_add_line
    - gf_sg_vrml_mf_append
    - gf_list_new
    - gf_node_changed
    - gf_node_get_scene_time
    - gf_node_list_add_child
    - gf_list_get
    - gf_list_enum
    - ttd_split_chunks
    - memcpy
    - ttd_new_text_chunk
    - gf_free
    - gf_sg_activate_routes
    - gf_node_register
    - gf_utf8_mbstowcs
    - gf_list_rem
    - ttd_create_node
    - ttd_reset_display
    - gf_node_dirty_set
    linkageType: ''
    returnType: void
    signature: 'static void ttd_apply_sample(GF_TTXTDec *ctx, GF_TextSample *txt,
      u32 sample_desc_index, Bool is_utf_16, u32 sample_duration) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_ttxt.c:1363,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_ttxt.c:1361,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1367,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:1369,1
    - Dst: ttd_render_simple_text
      Src: /src/gpac/src/filters/dec_ttxt.c:1413,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_ttxt.c:1418,1
    - Dst: ttd_render_simple_text
      Src: /src/gpac/src/filters/dec_ttxt.c:1422,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_ttxt.c:1435,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_ttxt.c:1365,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_ttxt.c:1404,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_ttxt.c:1421,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_ttxt.c:1409,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_ttxt.c:1427,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_ttxt.c:1429,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_ttxt.c:1437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttxt.c:1455,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/dec_ttxt.c:1458,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_ttxt.c:1465,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_ttxt.c:1355,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_ttxt.c:1385,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_ttxt.c:1407,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_ttxt.c:1407,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ttxt.c:1423,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_ttxt.c:1438,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_ttxt.c:1444,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_ttxt.c:1465,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ttxt.c:1469,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttxt.c:1351,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:1366,1
    - Dst: gf_node_get_scene_time
      Src: /src/gpac/src/filters/dec_ttxt.c:1368,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_ttxt.c:1389,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_ttxt.c:1436,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dec_ttxt.c:1446,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_ttxt.c:1450,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/filters/dec_ttxt.c:1453,1
    - Dst: ttd_apply_sample
      Src: /src/gpac/src/filters/dec_ttxt.c:1457,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 102
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1471
    functionName: ttd_process
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_check_sys_frame
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_bs_read_u24
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_isom_delete_text_sample
    - gf_timestamp_rescale_signed
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_assert
    - gf_node_changed
    - gf_node_get_scene_time
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_timestamp_to_clocktime
    - gf_isom_parse_text_sample
    - gf_bs_read_int
    - ttd_render_simple_text
    - gf_bs_available
    - ttd_apply_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttd_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/filters/dec_ttxt.c:483,1
    - Dst: gf_node_changed
      Src: /src/gpac/src/filters/dec_ttxt.c:491,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_ttxt.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: ttd_set_blink_fraction
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_node_changed
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void ttd_set_blink_fraction(GF_Node *node, GF_Route *route) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttd_reset_display
      Src: /src/gpac/src/filters/dec_ttxt.c:1268,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_ttxt.c:1270,1
    - Dst: ttd_update_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:1269,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_ttxt.c:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTXTDec*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1279
    functionName: ttd_toggle_display
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_scene_register_extra_graph
    - ttd_reset_display
    - ttd_update_size_info
    linkageType: ''
    returnType: void
    signature: 'static void ttd_toggle_display(GF_TTXTDec *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttxt.c:1475,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_ttxt.c:1476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1478
    functionName: ttd_initialize
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttd_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1548
    functionName: ttxtdec_register
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttxtdec_register(GF_FilterSession *session) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttxt.c:250,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:270,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_ttxt.c:291,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:295,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/dec_ttxt.c:326,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_ttxt.c:336,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_ttxt.c:345,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ttxt.c:361,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:369,1
    - Dst: ttd_toggle_display
      Src: /src/gpac/src/filters/dec_ttxt.c:365,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_ttxt.c:257,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:268,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ttxt.c:292,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:303,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_ttxt.c:302,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ttxt.c:293,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:315,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_ttxt.c:300,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_ttxt.c:324,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_ttxt.c:330,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_ttxt.c:265,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_ttxt.c:287,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/dec_ttxt.c:299,1
    - Dst: gf_odf_tx3g_read
      Src: /src/gpac/src/filters/dec_ttxt.c:343,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_ttxt.c:357,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ttxt.c:361,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_ttxt.c:264,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/dec_ttxt.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ttxt.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ttxt.c:292,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_ttxt.c:318,1
    - Dst: gf_odf_get_text_config
      Src: /src/gpac/src/filters/dec_ttxt.c:328,1
    - Dst: ttd_setup_scene
      Src: /src/gpac/src/filters/dec_ttxt.c:364,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttxt.c:372,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 115
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 375
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 375
    functionName: ttd_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - ttd_setup_scene
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_filter_pid_get_timescale
    - gf_crc_32
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_odf_desc_new
    - gf_odf_get_text_config
    - PROP_UINT
    - gf_assert
    - gf_list_get
    - gf_filter_pid_set_property
    - ttd_toggle_display
    - gf_filter_pid_get_property
    - gf_odf_tx3g_read
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttd_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_vrml_mf_append
      Src: /src/gpac/src/filters/dec_ttxt.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - form
    argTypes:
    - M_Form*
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: ttd_add_line
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_sg_vrml_mf_append
    linkageType: ''
    returnType: void
    signature: 'static void ttd_add_line(M_Form *form) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttxt.c:1283,1
    - Dst: ttd_toggle_display
      Src: /src/gpac/src/filters/dec_ttxt.c:1298,1
    - Dst: ttd_toggle_display
      Src: /src/gpac/src/filters/dec_ttxt.c:1292,1
    - Dst: ttd_reset_scene
      Src: /src/gpac/src/filters/dec_ttxt.c:1293,1
    - Dst: ttd_toggle_display
      Src: /src/gpac/src/filters/dec_ttxt.c:1302,1
    - Dst: ttd_setup_scene
      Src: /src/gpac/src/filters/dec_ttxt.c:1322,1
    - Dst: ttd_toggle_display
      Src: /src/gpac/src/filters/dec_ttxt.c:1323,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1327
    functionName: ttd_process_event
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ttd_setup_scene
    - ttd_toggle_display
    - ttd_reset_scene
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ttd_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:386,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/filters/dec_ttxt.c:385,1
    - Dst: ttd_update_size_info
      Src: /src/gpac/src/filters/dec_ttxt.c:391,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:398,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:407,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:415,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:422,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:449,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:458,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/filters/dec_ttxt.c:382,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:384,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:394,1
    - Dst: ttd_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:395,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:396,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:402,1
    - Dst: ttd_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:412,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:416,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:434,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/filters/dec_ttxt.c:441,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:456,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/filters/dec_ttxt.c:454,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:388,1
    - Dst: ttd_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:389,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:413,1
    - Dst: ttd_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:414,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:397,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:403,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:421,1
    - Dst: ttd_add_child
      Src: /src/gpac/src/filters/dec_ttxt.c:431,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_ttxt.c:433,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:438,1
    - Dst: gf_sg_route_new
      Src: /src/gpac/src/filters/dec_ttxt.c:443,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:411,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:417,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:426,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:428,1
    - Dst: ttd_create_node
      Src: /src/gpac/src/filters/dec_ttxt.c:445,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/filters/dec_ttxt.c:452,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:459,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttxt.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 82
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTXTDec*
    constantsTouched: []
    func_position:
      end: 461
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 461
    functionName: ttd_setup_scene
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_sg_new_subscene
    - gf_list_new
    - gf_sg_route_new
    - gf_node_set_private
    - ttd_add_child
    - ttd_create_node
    - gf_node_register
    - gf_sg_set_root_node
    - ttd_update_size_info
    linkageType: ''
    returnType: void
    signature: 'static void ttd_setup_scene(GF_TTXTDec *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/dec_ttxt.c:1332,1
    - Dst: ttd_apply_sample
      Src: /src/gpac/src/filters/dec_ttxt.c:1342,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:1338,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dec_ttxt.c:1334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - pck_data
    - pck_size
    - sample_duration
    argTypes:
    - GF_TTXTDec*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1344
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1344
    functionName: ttd_render_simple_text
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - ttd_apply_sample
    - memcpy
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttd_render_simple_text(GF_TTXTDec *ctx, const char *pck_data,
      u32 pck_size, u32 sample_duration) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_ttxt.c:808,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_ttxt.c:818,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttxt.c:813,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:814,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttxt.c:825,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttxt.c:826,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_ttxt.c:830,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 4
    argNames:
    - txt
    - nb_chars
    - chunks
    - mod
    argTypes:
    - GF_TextSample*
    - u32
    - GF_List*
    - GF_Box*
    constantsTouched: []
    func_position:
      end: 850
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 850
    functionName: ttd_split_chunks
    functionSourceFile: /src/gpac/src/filters/dec_ttxt.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_enum
    - gf_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void ttd_split_chunks(GF_TextSample *txt, u32 nb_chars, GF_List
      *chunks, GF_Box *mod) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/sei_load.c:70,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:99,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:100,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/sei_load.c:100,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:69,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/sei_load.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:70,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:75,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:82,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:90,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/filters/sei_load.c:94,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:97,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/sei_load.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:91,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/sei_load.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:76,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:77,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/sei_load.c:78,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/sei_load.c:85,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:89,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/sei_load.c:92,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:83,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:98,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 2
    argNames:
    - sei
    - type
    argTypes:
    - GF_SEILoader*
    - u32
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: seiloader_set_type
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_av1_reset_state
    - gf_av1_init_state
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err seiloader_set_type(GF_SEILoader *sei, u32 type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_sei_info
      Src: /src/gpac/src/filters/sei_load.c:218,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/sei_load.c:225,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/sei_load.c:225,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/sei_load.c:220,1
    - Dst: gf_av1_format_mdcv_to_mpeg
      Src: /src/gpac/src/filters/sei_load.c:232,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/sei_load.c:233,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/sei_load.c:233,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/sei_load.c:235,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/sei_load.c:235,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/sei_load.c:251,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/sei_load.c:251,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/sei_load.c:258,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/sei_load.c:258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - pck
    - skip_check
    argTypes:
    - GF_SEILoader*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 261
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 261
    functionName: gf_sei_load_from_state_internal
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_property
    - gf_filter_pck_get_property
    - get_sei_info
    - PROP_DATA
    - PROP_BOOL
    - gf_av1_format_mdcv_to_mpeg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sei_load_from_state_internal(GF_SEILoader *ctx, GF_FilterPacket
      *pck, Bool skip_check) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/sei_load.c:108,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/sei_load.c:113,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/sei_load.c:116,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/sei_load.c:111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/sei_load.c:110,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/sei_load.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - sei
    - params
    argTypes:
    - GF_SEILoader*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: parse_param_list
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_bs_reassign_buffer
    - gf_list_count
    - gf_avc_parse_nalu
    - gf_vvc_parse_nalu_bs
    - gf_hevc_parse_nalu_bs
    linkageType: ''
    returnType: void
    signature: 'static void parse_param_list(GF_SEILoader *sei, GF_List *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sei_load_from_state_internal
      Src: /src/gpac/src/filters/sei_load.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_SEILoader*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: gf_sei_load_from_state
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_sei_load_from_state_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_load_from_state(GF_SEILoader *ctx, GF_FilterPacket *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/sei_load.c:484,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/sei_load.c:486,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/sei_load.c:489,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/sei_load.c:485,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/sei_load.c:490,1
    - Dst: gf_sei_loader_del
      Src: /src/gpac/src/filters/sei_load.c:491,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/sei_load.c:493,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/sei_load.c:497,1
    - Dst: gf_sei_loader_new
      Src: /src/gpac/src/filters/sei_load.c:498,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/sei_load.c:499,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/sei_load.c:504,1
    - Dst: gf_sei_init_from_pid
      Src: /src/gpac/src/filters/sei_load.c:505,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/sei_load.c:500,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/sei_load.c:501,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/sei_load.c:503,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/sei_load.c:504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 506
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 506
    functionName: seiload_configure_pid
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_list_add
    - gf_sei_loader_new
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_remove
    - gf_sei_loader_del
    - gf_list_del_item
    - gf_sei_init_from_pid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err seiload_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/sei_load.c:270,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/sei_load.c:298,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:345,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:340,1
    - Dst: gf_avc_reformat_sei
      Src: /src/gpac/src/filters/sei_load.c:294,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/sei_load.c:286,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/sei_load.c:322,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/sei_load.c:356,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:290,1
    - Dst: gf_vvc_parse_sei
      Src: /src/gpac/src/filters/sei_load.c:321,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/sei_load.c:334,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/sei_load.c:349,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/sei_load.c:344,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:359,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:303,1
    - Dst: gf_hevc_parse_sei
      Src: /src/gpac/src/filters/sei_load.c:308,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/sei_load.c:310,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/sei_load.c:316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/sei_load.c:342,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/sei_load.c:347,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/sei_load.c:336,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/sei_load.c:350,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/sei_load.c:354,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/sei_load.c:355,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 87
    argCount: 3
    argNames:
    - sei
    - pck
    - needs_load
    argTypes:
    - GF_SEILoader*
    - GF_FilterPacket*
    - Bool*
    constantsTouched: []
    func_position:
      end: 368
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 368
    functionName: gf_sei_load_from_packet_nalu
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_peek_bits
    - gf_avc_parse_nalu
    - gf_hevc_parse_nalu_bs
    - gf_avc_reformat_sei
    - gf_hevc_parse_sei
    - gf_filter_pck_get_data
    - gf_vvc_parse_nalu_bs
    - gf_vvc_parse_sei
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sei_load_from_packet_nalu(GF_SEILoader *sei, GF_FilterPacket
      *pck, Bool *needs_load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sei
    - hevc
    argTypes:
    - GF_SEILoader*
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: gf_sei_init_from_hevc
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_init_from_hevc(GF_SEILoader *sei, HEVCState *hevc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/sei_load.c:550,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/sei_load.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: seiload_initialize
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err seiload_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/sei_load.c:373,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/sei_load.c:379,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/filters/sei_load.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - sei
    - pck
    - needs_load
    argTypes:
    - GF_SEILoader*
    - GF_FilterPacket*
    - Bool*
    constantsTouched: []
    func_position:
      end: 395
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 395
    functionName: gf_sei_load_from_packet_av1
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_av1_parse_obu
    - gf_filter_pck_get_data
    - gf_bs_reassign_buffer
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_sei_load_from_packet_av1(GF_SEILoader *sei, GF_FilterPacket
      *pck, Bool *needs_load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sei
    - vvc
    argTypes:
    - GF_SEILoader*
    - VVCState*
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: gf_sei_init_from_vvc
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_init_from_vvc(GF_SEILoader *sei, VVCState *vvc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:466,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:468,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sei
    argTypes:
    - GF_SEILoader*
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: gf_sei_loader_del
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_sei_loader_del(GF_SEILoader *sei) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/sei_load.c:556,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/sei_load.c:561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/sei_load.c:557,1
    - Dst: gf_sei_loader_del
      Src: /src/gpac/src/filters/sei_load.c:559,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/sei_load.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: seiload_finalize
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_sei_loader_del
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void seiload_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: seiload_register
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *seiload_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:147,1
    - Dst: parse_param_list
      Src: /src/gpac/src/filters/sei_load.c:149,1
    - Dst: parse_param_list
      Src: /src/gpac/src/filters/sei_load.c:151,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/sei_load.c:152,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/sei_load.c:159,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/sei_load.c:163,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/sei_load.c:168,1
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:177,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/sei_load.c:179,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/sei_load.c:184,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/sei_load.c:165,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/sei_load.c:181,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/sei_load.c:191,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/sei_load.c:135,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/sei_load.c:145,1
    - Dst: parse_param_list
      Src: /src/gpac/src/filters/sei_load.c:150,1
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:161,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/sei_load.c:175,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/sei_load.c:197,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/sei_load.c:129,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/sei_load.c:133,1
    - Dst: parse_param_list
      Src: /src/gpac/src/filters/sei_load.c:166,1
    - Dst: parse_param_list
      Src: /src/gpac/src/filters/sei_load.c:182,1
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:193,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 2
    argNames:
    - sei
    - pid
    argTypes:
    - GF_SEILoader*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 205
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 205
    functionName: gf_sei_init_from_pid
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_odf_av1_cfg_read
    - gf_odf_av1_cfg_del
    - parse_param_list
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_read
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_init_from_pid(GF_SEILoader *sei, GF_FilterPid *pid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sei_load_from_packet_nalu
      Src: /src/gpac/src/filters/sei_load.c:405,1
    - Dst: gf_sei_load_from_state_internal
      Src: /src/gpac/src/filters/sei_load.c:411,1
    - Dst: gf_sei_load_from_packet_av1
      Src: /src/gpac/src/filters/sei_load.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - sei
    - pck
    argTypes:
    - GF_SEILoader*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 413
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 413
    functionName: gf_sei_load_from_packet
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_sei_load_from_packet_nalu
    - gf_sei_load_from_packet_av1
    - gf_sei_load_from_state_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_load_from_packet(GF_SEILoader *sei, GF_FilterPacket
      *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sei
    - av1
    argTypes:
    - GF_SEILoader*
    - AV1State*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: gf_sei_init_from_av1
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_init_from_av1(GF_SEILoader *sei, AV1State *av1) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/sei_load.c:509,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/sei_load.c:511,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/sei_load.c:515,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/sei_load.c:512,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/sei_load.c:513,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/sei_load.c:517,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/sei_load.c:518,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/sei_load.c:524,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/sei_load.c:526,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/sei_load.c:528,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/sei_load.c:529,1
    - Dst: gf_sei_load_from_packet
      Src: /src/gpac/src/filters/sei_load.c:530,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/sei_load.c:531,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/sei_load.c:533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: seiload_process
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_sei_load_from_packet
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_property
    - gf_filter_pid_get_packet
    - gf_filter_pid_get_udta
    - gf_filter_pck_forward
    - gf_filter_get_ipid_count
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_send
    - gf_filter_get_ipid
    - gf_filter_pck_new_ref
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err seiload_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 1
    argNames:
    - sei
    argTypes:
    - GF_SEILoader*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: get_sei_info
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_SEIInfo *get_sei_info(GF_SEILoader *sei) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seiloader_set_type
      Src: /src/gpac/src/filters/sei_load.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sei
    - avc
    argTypes:
    - GF_SEILoader*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: gf_sei_init_from_avc
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - seiloader_set_type
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_sei_init_from_avc(GF_SEILoader *sei, AVCState *avc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/sei_load.c:453,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/sei_load.c:457,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/sei_load.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: gf_sei_loader_new
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_SEILoader*
    signature: 'GF_SEILoader *gf_sei_loader_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/sei_load.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - opid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: seiload_reconfigure_output
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_caps_query
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err seiload_reconfigure_output(GF_Filter *filter, GF_FilterPid
      *opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: seiload_register
    functionSourceFile: /src/gpac/src/filters/sei_load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *seiload_register(GF_FilterSession *session) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_ac3.c:83,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:102,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_ac3.c:88,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_ac3.c:93,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:105,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_ac3.c:106,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:108,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_ac3.c:109,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_ac3.c:109,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:122,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:124,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:124,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_ac3.c:117,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_ac3.c:118,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 129
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 129
    functionName: ac3dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ac3dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_AC3DmxCtx*
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: ac3dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void ac3dmx_update_cts(GF_AC3DmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:224,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:226,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:228,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:229,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_ac3.c:232,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:234,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:248,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/reframe_ac3.c:251,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/filters/reframe_ac3.c:256,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:264,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:257,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_ac3.c:223,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_ac3.c:241,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:247,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:253,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:253,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:260,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_ac3.c:257,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:226,1
    - Dst: ac3dmx_check_dur
      Src: /src/gpac/src/filters/reframe_ac3.c:217,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:228,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_ac3.c:229,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:232,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_ac3.c:233,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_ac3.c:234,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:246,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:248,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:251,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:264,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_ac3.c:216,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:247,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_ac3.c:249,1
    - Dst: gf_ac3_get_channel_layout
      Src: /src/gpac/src/filters/reframe_ac3.c:250,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_ac3.c:260,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AC3DmxCtx*
    constantsTouched: []
    func_position:
      end: 266
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 266
    functionName: ac3dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - PROP_LONGUINT
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_odf_ac3_cfg_write
    - gf_filter_pid_set_property
    - gf_ac3_get_channel_layout
    - PROP_FRAC64
    - gf_timestamp_rescale
    - PROP_UINT
    - ac3dmx_check_dur
    - gf_sys_is_test_mode
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void ac3dmx_check_pid(GF_Filter *filter, GF_AC3DmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_ac3.c:557,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_ac3.c:560,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_ac3.c:561,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_ac3.c:559,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_ac3.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: ac3dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ac3dmx_finalize(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:146,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_ac3.c:156,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_ac3.c:163,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_ac3.c:154,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_ac3.c:147,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_ac3.c:180,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_ac3.c:181,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_ac3.c:188,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_ac3.c:190,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_ac3.c:191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_ac3.c:198,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_ac3.c:200,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_ac3.c:198,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_ac3.c:207,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_ac3.c:192,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AC3DmxCtx*
    constantsTouched: []
    func_position:
      end: 209
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 209
    functionName: ac3dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - gf_bs_del
    - strncmp
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - gf_fclose
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void ac3dmx_check_dur(GF_Filter *filter, GF_AC3DmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_ac3.c:272,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_ac3.c:304,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_ac3.c:306,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 325
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 325
    functionName: ac3dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ac3dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_ac3.c:341,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_ac3.c:360,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_ac3.c:358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_ac3.c:383,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_ac3.c:430,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_ac3.c:441,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_ac3.c:401,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_ac3.c:490,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_ac3.c:491,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_ac3.c:498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_ac3.c:511,1
    - Dst: ac3dmx_check_dur
      Src: /src/gpac/src/filters/reframe_ac3.c:353,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_ac3.c:364,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_ac3.c:388,1
    - Dst: ac3dmx_check_pid
      Src: /src/gpac/src/filters/reframe_ac3.c:453,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_ac3.c:489,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_ac3.c:497,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/reframe_ac3.c:510,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_ac3.c:527,1
    - Dst: ac3dmx_update_cts
      Src: /src/gpac/src/filters/reframe_ac3.c:506,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_ac3.c:375,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_ac3.c:377,1
    - Dst: ac3dmx_check_pid
      Src: /src/gpac/src/filters/reframe_ac3.c:457,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_ac3.c:409,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_ac3.c:432,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_ac3.c:403,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_ac3.c:486,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_ac3.c:492,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_ac3.c:501,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_ac3.c:504,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_ac3.c:363,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_ac3.c:465,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_ac3.c:494,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_ac3.c:494,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_ac3.c:496,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_ac3.c:521,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_ac3.c:530,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_ac3.c:550,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_ac3.c:543,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_ac3.c:547,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 195
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 553
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 553
    functionName: ac3dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - ac3dmx_update_cts
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - ac3dmx_check_pid
    - ac3dmx_check_dur
    - memmove
    - gf_filter_pck_set_duration
    - gf_bs_get_position
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ac3dmx_process(GF_Filter *filter) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_ac3_parser
      Src: /src/gpac/src/filters/reframe_ac3.c:577,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_ac3.c:607,1
    - Dst: gf_eac3_parser_bs
      Src: /src/gpac/src/filters/reframe_ac3.c:609,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_ac3.c:606,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_ac3.c:614,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_ac3.c:619,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_ac3.c:620,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_ac3.c:624,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 3
    argNames:
    - _data
    - _size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 640
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 640
    functionName: ac3dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached:
    - gf_ac3_parser
    - gf_bs_del
    - gf_bs_get_position
    - gf_eac3_parser_bs
    - gf_bs_new
    - gf_bs_available
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: char*
    signature: 'static const char *ac3dmx_probe_data(const u8 *_data, u32 _size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: rfac3_register
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfac3_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: rfac3_register
    functionSourceFile: /src/gpac/src/filters/reframe_ac3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfac3_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_pipe.c:260,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/in_pipe.c:269,1
    - Dst: close
      Src: /src/gpac/src/filters/in_pipe.c:266,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/in_pipe.c:264,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_pipe.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: pipein_finalize
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - CloseHandle
    - gf_file_delete
    - gf_free
    - close
    linkageType: ''
    returnType: void
    signature: 'static void pipein_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_pipe.c:324,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/in_pipe.c:326,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_pipe.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: pipein_pck_destructor
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: void
    signature: 'static void pipein_pck_destructor(GF_Filter *filter, GF_FilterPid
      *pid, GF_FilterPacket *pck) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_pipe.c:289,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:307,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/in_pipe.c:305,1
    - Dst: pipein_initialize
      Src: /src/gpac/src/filters/in_pipe.c:309,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_pipe.c:310,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 316
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 316
    functionName: pipein_process_event
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - pipein_initialize
    - gf_fatal_assert
    - gf_filter_pid_set_eos
    - gf_filter_post_process_task
    linkageType: ''
    returnType: Bool
    signature: 'static Bool pipein_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_pipe.c:277,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_pipe.c:278,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_pipe.c:279,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_pipe.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: pipein_probe_url
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - strcmp
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore pipein_probe_url(const char *url, const
      char *mime_type) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:372,1
    - Dst: WaitForMultipleObjects
      Src: /src/gpac/src/filters/in_pipe.c:405,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_pipe.c:624,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_pipe.c:618,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:588,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_pipe.c:339,1
    - Dst: fread
      Src: /src/gpac/src/filters/in_pipe.c:392,1
    - Dst: ResetEvent
      Src: /src/gpac/src/filters/in_pipe.c:406,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:502,1
    - Dst: memchr
      Src: /src/gpac/src/filters/in_pipe.c:550,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:523,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_pipe.c:620,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:395,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:412,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/in_pipe.c:448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:579,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:462,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:419,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:522,1
    - Dst: GetOverlappedResult
      Src: /src/gpac/src/filters/in_pipe.c:411,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/in_pipe.c:582,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/in_pipe.c:556,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:603,1
    - Dst: pipein_initialize
      Src: /src/gpac/src/filters/in_pipe.c:469,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/in_pipe.c:574,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_pipe.c:618,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:601,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:446,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:476,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:633,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/in_pipe.c:348,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_pipe.c:367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:423,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_pipe.c:555,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:598,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_pipe.c:349,1
    - Dst: memmove
      Src: /src/gpac/src/filters/in_pipe.c:356,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/filters/in_pipe.c:494,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:507,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_pipe.c:612,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:442,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:447,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:494,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_pipe.c:614,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/in_pipe.c:566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:610,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:408,1
    - Dst: pipein_initialize
      Src: /src/gpac/src/filters/in_pipe.c:428,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/in_pipe.c:463,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:614,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_pipe.c:625,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:636,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:388,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/in_pipe.c:416,1
    - Dst: ReadFile
      Src: /src/gpac/src/filters/in_pipe.c:432,1
    - Dst: close
      Src: /src/gpac/src/filters/in_pipe.c:509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:571,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_pipe.c:617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:371,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:458,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_pipe.c:617,1
    - Dst: feof
      Src: /src/gpac/src/filters/in_pipe.c:383,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:471,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_pipe.c:478,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_pipe.c:517,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_pipe.c:420,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:436,1
    - Dst: read
      Src: /src/gpac/src/filters/in_pipe.c:483,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_pipe.c:629,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 291
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 640
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 640
    functionName: pipein_process
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PROP_BOOL
    - GetLastError
    - gf_filter_pid_set_eos
    - gf_errno_str
    - read
    - gf_filter_get_udta
    - MIN
    - gf_filter_pck_set_sap
    - gf_error_to_string
    - ReadFile
    - gf_filter_ask_rt_reschedule
    - PROP_UINT
    - memmove
    - gf_assert
    - GetOverlappedResult
    - ResetEvent
    - feof
    - gf_filter_pid_send_flush
    - memcmp
    - gf_filter_pid_set_property
    - WaitForMultipleObjects
    - gf_filter_pck_set_framing
    - gf_sys_clock
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - close
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - CloseHandle
    - pipein_initialize
    - fread
    - memchr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipein_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_pipe.c:728,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_pipe.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: pin_register
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *pin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: pin_register
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *pin_register(GF_FilterSession *session) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/gpac/src/filters/in_pipe.c:112,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_pipe.c:115,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_pipe.c:116,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_pipe.c:150,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_pipe.c:144,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_pipe.c:130,1
    - Dst: WaitNamedPipeA
      Src: /src/gpac/src/filters/in_pipe.c:158,1
    - Dst: CreateNamedPipe
      Src: /src/gpac/src/filters/in_pipe.c:177,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:185,1
    - Dst: open
      Src: /src/gpac/src/filters/in_pipe.c:218,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/filters/in_pipe.c:221,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:200,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_pipe.c:108,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_pipe.c:127,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/in_pipe.c:138,1
    - Dst: strcat
      Src: /src/gpac/src/filters/in_pipe.c:148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:180,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/in_pipe.c:190,1
    - Dst: CreateFile
      Src: /src/gpac/src/filters/in_pipe.c:198,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:221,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_pipe.c:245,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_pipe.c:247,1
    - Dst: mkfifo
      Src: /src/gpac/src/filters/in_pipe.c:213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:236,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_pipe.c:95,1
    - Dst: _fileno
      Src: /src/gpac/src/filters/in_pipe.c:112,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_pipe.c:123,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_pipe.c:128,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_pipe.c:143,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_pipe.c:151,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:160,1
    - Dst: CreateEvent
      Src: /src/gpac/src/filters/in_pipe.c:170,1
    - Dst: ConnectNamedPipe
      Src: /src/gpac/src/filters/in_pipe.c:187,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:188,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_pipe.c:250,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_pipe.c:232,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_pipe.c:108,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_pipe.c:115,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_pipe.c:121,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_pipe.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:160,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:187,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/in_pipe.c:187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_pipe.c:188,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/in_pipe.c:208,1
    - Dst: mknod
      Src: /src/gpac/src/filters/in_pipe.c:211,1
    - Dst: pipein_process_event
      Src: /src/gpac/src/filters/in_pipe.c:251,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 141
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 255
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 255
    functionName: pipein_initialize
    functionSourceFile: /src/gpac/src/filters/in_pipe.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strncmp
    - CreateEvent
    - GF_LOG
    - _setmode
    - GetLastError
    - gf_filter_set_blocking
    - open
    - gf_errno_str
    - _fileno
    - strstr
    - ConnectNamedPipe
    - gf_filter_get_udta
    - MIN
    - mkfifo
    - strcmp
    - strcpy
    - CreateNamedPipe
    - WaitNamedPipeA
    - mknod
    - gf_filter_post_process_task
    - strchr
    - strnicmp
    - pipein_process_event
    - strcat
    - gf_sys_is_cov_mode
    - CreateFile
    - CloseHandle
    - gf_filter_setup_failure
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipein_initialize(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/ff_common.c:104,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/ff_common.c:109,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:106,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/ff_common.c:111,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_common.c:118,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/ff_common.c:124,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:127,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_common.c:128,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_common.c:129,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/ff_common.c:136,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filters/ff_common.c:140,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_common.c:141,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_common.c:139,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 37
    argCount: 2
    argNames:
    - pid
    - metadata
    argTypes:
    - GF_FilterPid*
    - AVDictionary**
    constantsTouched: []
    func_position:
      end: 143
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 143
    functionName: ffmpeg_tags_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_info
    - strncmp
    - gf_props_dump_val
    - gf_filter_pid_get_property
    - av_dict_set
    - gf_filter_release_property
    - gf_filter_pid_enum_properties
    - gf_filter_pid_get_property_str
    - gf_itags_get_name
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_tags_from_gpac(GF_FilterPid *pid, AVDictionary **metadata) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 652
    functionName: ffmpeg_to_gpac_log_level
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_LOG_Level
    signature: 'static GF_LOG_Level ffmpeg_to_gpac_log_level(int level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - reg
    argTypes:
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: ffmpeg_register_set_dyn_help
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_register_set_dyn_help(GF_FilterRegister *reg) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:809,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:837,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:852,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:857,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:861,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:864,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:888,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:906,1
    - Dst: av_get_pix_fmt_name
      Src: /src/gpac/src/filters/ff_common.c:920,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:945,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:942,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:839,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:842,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:847,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:867,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:865,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:870,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:876,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:895,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:902,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:949,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:861,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:818,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:848,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:850,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:869,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:877,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:881,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:916,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:920,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:923,1
    - Dst: strcat
      Src: /src/gpac/src/filters/ff_common.c:935,1
    - Dst: strcat
      Src: /src/gpac/src/filters/ff_common.c:936,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:942,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:836,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:841,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:853,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:882,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:887,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:915,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_common.c:930,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_common.c:933,1
    - Dst: av_get_pix_fmt_name
      Src: /src/gpac/src/filters/ff_common.c:927,1
    - Dst: AV_VERSION_INT
      Src: /src/gpac/src/filters/ff_common.c:818,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 119
    argCount: 1
    argNames:
    - opt
    argTypes:
    - struct AVOption*
    constantsTouched: []
    func_position:
      end: 953
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 953
    functionName: ffmpeg_arg_translate
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - strcat
    - memset
    - gf_realloc
    - gf_strdup
    - sprintf
    - GF_LOG
    - AV_VERSION_INT
    - av_get_pix_fmt_name
    linkageType: ''
    returnType: GF_FilterArgs
    signature: 'GF_FilterArgs ffmpeg_arg_translate(const struct AVOption *opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - FF_REG_TYPE_MUX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_MUX) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: av_codec_next
      Src: /src/gpac/src/filters/ff_common.c:1148,1
    - Dst: av_codec_is_encoder
      Src: /src/gpac/src/filters/ff_common.c:1153,1
    - Dst: av_codec_iterate
      Src: /src/gpac/src/filters/ff_common.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - FF_REG_TYPE_ENCODE
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1160
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1160
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_codec_iterate
    - av_codec_is_encoder
    - av_codec_next
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_ENCODE) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:1772,1
    - Dst: gf_filter_report_meta_option
      Src: /src/gpac/src/filters/ff_common.c:1778,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_common.c:1781,1
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:1775,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - filter
    - options
    - all_options
    argTypes:
    - GF_Filter*
    - AVDictionary*
    - AVDictionary*
    constantsTouched: []
    func_position:
      end: 1782
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1782
    functionName: ffmpeg_report_options
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_dict_free
    - gf_filter_report_meta_option
    - av_dict_get
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_report_options(GF_Filter *filter, AVDictionary *options,
      AVDictionary *all_options) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_common.c:1800,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1827,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_common.c:1844,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1853,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1863,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1864,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1869,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_common.c:1872,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1874,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1799,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_common.c:1812,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1818,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:1833,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_common.c:1843,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1858,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_common.c:1861,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/ff_common.c:1848,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1797,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/ff_common.c:1801,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1798,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/ff_common.c:1803,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/ff_common.c:1812,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1825,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1819,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/ff_common.c:1842,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_common.c:1845,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_common.c:1867,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_common.c:1802,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_common.c:1809,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1817,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/ff_common.c:1823,1
    - Dst: gf_bs_transfer
      Src: /src/gpac/src/filters/ff_common.c:1822,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1826,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_common.c:1829,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1831,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1832,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1841,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/ff_common.c:1851,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_common.c:1856,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 5
    argNames:
    - gpac_codec_id
    - dsi_in
    - dsi_in_size
    - dsi_out
    - dsi_out_size
    argTypes:
    - u32
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1877
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1877
    functionName: ffmpeg_extradata_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_bs_transfer
    - gf_bs_read_u16
    - gf_bs_get_content
    - gf_bs_read_u8
    - gf_bs_del
    - memset
    - gf_bs_get_position
    - gf_bs_skip_bytes
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_available
    - memcpy
    - gf_bs_write_u8
    - gf_free
    - av_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffmpeg_extradata_from_gpac(u32 gpac_codec_id, const u8 *dsi_in,
      u32 dsi_in_size, u8 **dsi_out, u32 *dsi_out_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_common.c:151,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:157,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:187,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:175,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:182,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/ff_common.c:192,1
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:149,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/ff_common.c:161,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:167,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/ff_common.c:173,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/ff_common.c:178,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/ff_common.c:180,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/ff_common.c:157,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_common.c:156,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:182,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:175,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:192,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_common.c:160,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:161,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:180,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_common.c:173,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_common.c:189,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_common.c:190,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - metadata
    - pid
    argTypes:
    - AVDictionary*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 197
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 197
    functionName: ffmpeg_tags_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - av_dict_get
    - gf_filter_pid_set_info
    - strncmp
    - gf_filter_pid_set_property_dyn
    - PROP_STRING
    - strcmp
    - gf_filter_pid_set_property
    - gf_itags_get_name
    - gf_filter_pid_set_property_str
    - stricmp
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_tags_to_gpac(AVDictionary *metadata, GF_FilterPid *pid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/ff_common.c:561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:568,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/src/filters/ff_common.c:564,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_common.c:562,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/ff_common.c:564,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/ff_common.c:568,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - codec_id
    - ff_codectag
    argTypes:
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 570
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 570
    functionName: ffmpeg_codecid_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - avcodec_find_decoder_by_name
    - avcodec_find_decoder
    - gf_codecid_name
    - gf_4cc_to_str
    - gf_codecid_type
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_codecid_from_gpac(u32 codec_id, u32 *ff_codectag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - GF_LOG_Level
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: gpac_to_ffmpeg_log_level
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int gpac_to_ffmpeg_log_level(GF_LOG_Level level) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:765,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_common.c:773,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_common.c:771,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:775,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:767,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:781,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:782,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:783,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:785,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:786,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:788,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_common.c:790,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:799,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:801,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:797,1
    - Dst: gf_fs_remove_filter_register
      Src: /src/gpac/src/filters/ff_common.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:802,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:798,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 35
    argCount: 2
    argNames:
    - session
    - reg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 803
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 803
    functionName: ffmpeg_register_free
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_fs_remove_filter_register
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffmpeg_register_free(GF_FilterSession *session, GF_FilterRegister
      *reg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 964
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 964
    functionName: ff_streamtype
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ff_streamtype(u32 st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - FF_REG_TYPE_ENCODE
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1013
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1013
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_ENCODE) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - FF_REG_TYPE_AVF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_AVF) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avio_enum_protocols
      Src: /src/gpac/src/filters/ff_common.c:1163,1
    - Dst: avio_protocol_get_class
      Src: /src/gpac/src/filters/ff_common.c:1165,1
    - Dst: av_oformat_next
      Src: /src/gpac/src/filters/ff_common.c:1176,1
    - Dst: av_muxer_iterate
      Src: /src/gpac/src/filters/ff_common.c:1174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - FF_REG_TYPE_MUX
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1185
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1185
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avio_protocol_get_class
    - av_muxer_iterate
    - avio_enum_protocols
    - av_oformat_next
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_MUX) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1377,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1378,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1395,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1396,1
    - Dst: ff_streamtype
      Src: /src/gpac/src/filters/ff_common.c:1408,1
    - Dst: avcodec_get_type
      Src: /src/gpac/src/filters/ff_common.c:1408,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:1413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 1
    argNames:
    - FF_REG_TYPE_BSF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1420
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1420
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - ff_streamtype
    - gf_malloc
    - ffmpeg_codecid_to_gpac
    - memset
    - avcodec_get_type
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_BSF) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av_bsf_get_class
      Src: /src/gpac/src/filters/ff_common.c:1574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - FF_REG_TYPE_BSF
    argTypes:
    - reg_type
    constantsTouched: []
    func_position:
      end: 1575
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1575
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_bsf_get_class
    linkageType: ''
    returnType: else
    signature: 'else if (reg_type==FF_REG_TYPE_BSF) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: av_pix_fmt_desc_get
      Src: /src/gpac/src/filters/ff_common.c:276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:279,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pfmt
    - no_warn
    argTypes:
    - enum AVPixelFormat
    - Bool
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: ffmpeg_pixfmt_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_pix_fmt_desc_get
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_pixfmt_to_gpac(enum AVPixelFormat pfmt, Bool no_warn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ff_ch_layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: ffmpeg_channel_layout_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 ffmpeg_channel_layout_to_gpac(u64 ff_ch_layout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:620,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/ff_common.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - streamtype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: ffmpeg_stream_type_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_stream_type_name
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_stream_type_from_gpac(u32 streamtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - FF_REG_TYPE_BSF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1023
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1023
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_BSF) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: av_filter_iterate
      Src: /src/gpac/src/filters/ff_common.c:1188,1
    - Dst: avfilter_next
      Src: /src/gpac/src/filters/ff_common.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - FF_REG_TYPE_AVF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1203
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1203
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avfilter_next
    - av_filter_iterate
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_AVF) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_initialize
      Src: /src/gpac/src/filters/ff_common.c:1540,1
    - Dst: avcodec_configuration
      Src: /src/gpac/src/filters/ff_common.c:1543,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1554,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/ff_common.c:1553,1
    - Dst: avcodec_configuration
      Src: /src/gpac/src/filters/ff_common.c:1563,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/src/filters/ff_common.c:1565,1
    - Dst: avfilter_get_class
      Src: /src/gpac/src/filters/ff_common.c:1569,1
    - Dst: av_bsf_get_class
      Src: /src/gpac/src/filters/ff_common.c:1574,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_common.c:1578,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 5
    argNames:
    - session
    - orig_reg
    - default_args
    - nb_def_args
    - reg_type
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    - GF_FilterArgs*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1580
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1580
    functionName: ffmpeg_build_register
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avcodec_alloc_context3
    - ffmpeg_initialize
    - avfilter_get_class
    - av_bsf_get_class
    - avformat_alloc_context
    - memcpy
    - GF_SAFEALLOC
    - avcodec_configuration
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'GF_FilterRegister *ffmpeg_build_register(GF_FilterSession *session,
      GF_FilterRegister *orig_reg, const GF_FilterArgs *default_args, u32 nb_def_args,
      u32 reg_type) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/ff_common.c:1967,1
    - Dst: gf_vp9_parse_superframe
      Src: /src/gpac/src/filters/ff_common.c:1982,1
    - Dst: gf_vp9_parse_sample
      Src: /src/gpac/src/filters/ff_common.c:1987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:1988,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:2013,1
    - Dst: gf_ac3_parser_bs
      Src: /src/gpac/src/filters/ff_common.c:2009,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_common.c:2026,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_common.c:2028,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:2042,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:2061,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/ff_common.c:1984,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/ff_common.c:1993,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1996,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/ff_common.c:2021,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/filters/ff_common.c:2006,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:2002,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/ff_common.c:2023,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:2033,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_common.c:2038,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_common.c:2039,1
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/filters/ff_common.c:2058,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:2018,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_common.c:2027,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_common.c:2029,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:2036,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_common.c:2040,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/ff_common.c:2041,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/ff_common.c:2064,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_common.c:2075,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/ff_common.c:2071,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/filters/ff_common.c:2059,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1981,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/ff_common.c:1986,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/ff_common.c:1989,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/filters/ff_common.c:2010,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/ff_common.c:2020,1
    - Dst: gf_eac3_parser_bs
      Src: /src/gpac/src/filters/ff_common.c:2004,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_common.c:2024,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_common.c:2037,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:2062,1
    - Dst: gf_odf_vp_cfg_write
      Src: /src/gpac/src/filters/ff_common.c:2070,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2075,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/ff_common.c:2060,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 7
    argNames:
    - out_pid
    - gpac_codec_id
    - color_primaries
    - transfer_characteristics
    - colorspace
    - data
    - size
    argTypes:
    - GF_FilterPid*
    - u32
    - u32
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2077
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 2077
    functionName: ffmpeg_generate_gpac_dsi
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_vp9_parse_superframe
    - gf_odf_vp_cfg_del
    - gf_bs_get_content
    - gf_malloc
    - gf_eac3_parser_bs
    - GF_LOG
    - gf_bs_seek
    - gf_odf_vp_cfg_new
    - gf_bs_del
    - gf_m4v_get_object_start
    - gf_bs_write_int
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_get_position
    - gf_m4v_parser_new
    - gf_odf_ac3_cfg_write
    - gf_bs_read_int
    - gf_bs_new
    - gf_m4v_parser_del
    - gf_odf_vp_cfg_write
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - memcpy
    - gf_ac3_parser_bs
    - gf_m4v_parse_config
    - gf_vp9_parse_sample
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_generate_gpac_dsi(GF_FilterPid *out_pid, u32 gpac_codec_id,
      u32 color_primaries, u32 transfer_characteristics, u32 colorspace, const u8
      *data, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pfmt
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: ffmpeg_pixfmt_is_fullrange
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool ffmpeg_pixfmt_is_fullrange(u32 pfmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:353,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/ff_common.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sfmt
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: ffmpeg_audio_fmt_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_audio_fmt_from_gpac(u32 sfmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - streamtype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 635
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 635
    functionName: ffmpeg_stream_type_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_stream_type_to_gpac(u32 streamtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_to_gpac_log_level
      Src: /src/gpac/src/filters/ff_common.c:702,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/ff_common.c:705,1
    - Dst: gpac_to_ffmpeg_log_tool
      Src: /src/gpac/src/filters/ff_common.c:703,1
    - Dst: gf_log_lt
      Src: /src/gpac/src/filters/ff_common.c:707,1
    - Dst: vsnprintf
      Src: /src/gpac/src/filters/ff_common.c:712,1
    - Dst: gf_log
      Src: /src/gpac/src/filters/ff_common.c:714,1
    - Dst: gf_log_va_list
      Src: /src/gpac/src/filters/ff_common.c:716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - avcl
    - level
    - fmt
    - vl
    argTypes:
    - void*
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 718
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 718
    functionName: ff_log_callback
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_log_lt
    - gpac_to_ffmpeg_log_tool
    - ffmpeg_to_gpac_log_level
    - gf_log
    - gf_log_tool_level_on
    - gf_log_va_list
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void ff_log_callback(void *avcl, int level, const char *fmt,
      va_list vl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/filters/ff_common.c:722,1
    - Dst: gpac_to_ffmpeg_log_level
      Src: /src/gpac/src/filters/ff_common.c:723,1
    - Dst: av_log_set_level
      Src: /src/gpac/src/filters/ff_common.c:726,1
    - Dst: av_log_get_level
      Src: /src/gpac/src/filters/ff_common.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - log_class
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: ffmpeg_setup_logs
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_log_get_level
    - gpac_to_ffmpeg_log_level
    - gf_log_get_tool_level
    - av_log_set_level
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_setup_logs(u32 log_class) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:1141,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:1502,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1296,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_common.c:1500,1
    - Dst: ff_streamtype
      Src: /src/gpac/src/filters/ff_common.c:1252,1
    - Dst: av_codec_next
      Src: /src/gpac/src/filters/ff_common.c:1148,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_common.c:1228,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1457,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_common.c:1235,1
    - Dst: av_demuxer_iterate
      Src: /src/gpac/src/filters/ff_common.c:1115,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1484,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1441,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1338,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1217,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_common.c:1497,1
    - Dst: avio_protocol_get_class
      Src: /src/gpac/src/filters/ff_common.c:1052,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1126,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1127,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1131,1
    - Dst: av_oformat_next
      Src: /src/gpac/src/filters/ff_common.c:1176,1
    - Dst: av_bsf_iterate
      Src: /src/gpac/src/filters/ff_common.c:1206,1
    - Dst: avcodec_get_type
      Src: /src/gpac/src/filters/ff_common.c:1408,1
    - Dst: av_input_audio_device_next
      Src: /src/gpac/src/filters/ff_common.c:1093,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1132,1
    - Dst: av_muxer_iterate
      Src: /src/gpac/src/filters/ff_common.c:1174,1
    - Dst: av_codec_is_decoder
      Src: /src/gpac/src/filters/ff_common.c:1080,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1133,1
    - Dst: avfilter_next
      Src: /src/gpac/src/filters/ff_common.c:1190,1
    - Dst: av_codec_next
      Src: /src/gpac/src/filters/ff_common.c:1075,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1134,1
    - Dst: av_filter_iterate
      Src: /src/gpac/src/filters/ff_common.c:1188,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1249,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1476,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1128,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1135,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:1245,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1378,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_common.c:1297,1
    - Dst: avio_enum_protocols
      Src: /src/gpac/src/filters/ff_common.c:1050,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1136,1
    - Dst: av_codec_is_encoder
      Src: /src/gpac/src/filters/ff_common.c:1153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:1229,1
    - Dst: avio_protocol_get_class
      Src: /src/gpac/src/filters/ff_common.c:1165,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/ff_common.c:1215,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filters/ff_common.c:1515,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1395,1
    - Dst: ff_streamtype
      Src: /src/gpac/src/filters/ff_common.c:1408,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1436,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1137,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1337,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_common.c:1493,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_common.c:1226,1
    - Dst: ffmpeg_arg_translate
      Src: /src/gpac/src/filters/ff_common.c:1509,1
    - Dst: av_codec_iterate
      Src: /src/gpac/src/filters/ff_common.c:1077,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1138,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_common.c:1496,1
    - Dst: av_iformat_next
      Src: /src/gpac/src/filters/ff_common.c:1113,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1130,1
    - Dst: av_codec_iterate
      Src: /src/gpac/src/filters/ff_common.c:1150,1
    - Dst: ffmpeg_arg_translate
      Src: /src/gpac/src/filters/ff_common.c:1491,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_common.c:978,1
    - Dst: av_iformat_next
      Src: /src/gpac/src/filters/ff_common.c:1061,1
    - Dst: av_input_video_device_next
      Src: /src/gpac/src/filters/ff_common.c:1095,1
    - Dst: avio_enum_protocols
      Src: /src/gpac/src/filters/ff_common.c:1163,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1248,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:1413,1
    - Dst: avdevice_register_all
      Src: /src/gpac/src/filters/ff_common.c:1006,1
    - Dst: av_demuxer_iterate
      Src: /src/gpac/src/filters/ff_common.c:1063,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1139,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/ff_common.c:1237,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1377,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/ff_common.c:1239,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1456,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1125,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1124,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1140,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 477
    argCount: 3
    argNames:
    - session
    - orig_reg
    - type
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    - u32
    constantsTouched: []
    func_position:
      end: 1526
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1526
    functionName: ffmpeg_expand_register
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - ff_streamtype
    - memset
    - av_input_audio_device_next
    - av_codec_is_encoder
    - av_muxer_iterate
    - gf_fs_add_filter_register
    - avcodec_get_type
    - avio_protocol_get_class
    - ffmpeg_arg_translate
    - av_codec_is_decoder
    - GF_SAFEALLOC
    - av_filter_iterate
    - avio_enum_protocols
    - av_bsf_iterate
    - gf_strdup
    - strcmp
    - gf_list_new
    - stricmp
    - ffmpeg_codecid_to_gpac
    - gf_dynstrcat
    - av_input_video_device_next
    - sprintf
    - memcpy
    - gf_free
    - avfilter_next
    - av_iformat_next
    - av_codec_next
    - av_oformat_next
    - av_demuxer_iterate
    - av_codec_iterate
    - gf_opts_set_key
    - gf_opts_get_bool
    - avdevice_register_all
    linkageType: ''
    returnType: void
    signature: 'static void ffmpeg_expand_register(GF_FilterSession *session, GF_FilterRegister
      *orig_reg, u32 type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avcodec_pix_fmt_to_codec_tag
      Src: /src/gpac/src/filters/ff_common.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - codec_tag
    - is_full_range
    argTypes:
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: ffmpeg_pixfmt_from_codec_tag
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avcodec_pix_fmt_to_codec_tag
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_pixfmt_from_codec_tag(u32 codec_tag, Bool *is_full_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sfmt
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: ffmpeg_audio_fmt_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_audio_fmt_to_gpac(u32 sfmt) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 3
    argCount: 1
    argNames:
    - avc
    argTypes:
    - AVClass*
    constantsTouched: []
    func_position:
      end: 695
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionName: gpac_to_ffmpeg_log_tool
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_LOG_Tool
    signature: 'static GF_LOG_Tool gpac_to_ffmpeg_log_tool(AVClass* avc) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: av_iformat_next
      Src: /src/gpac/src/filters/ff_common.c:1113,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1127,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1128,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1131,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1130,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1135,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:1141,1
    - Dst: av_input_audio_device_next
      Src: /src/gpac/src/filters/ff_common.c:1093,1
    - Dst: av_input_video_device_next
      Src: /src/gpac/src/filters/ff_common.c:1095,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1132,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1136,1
    - Dst: av_demuxer_iterate
      Src: /src/gpac/src/filters/ff_common.c:1115,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1133,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1137,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1139,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1124,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1125,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1126,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1134,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1138,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1140,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 1
    argNames:
    - FF_REG_TYPE_DEV_IN
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1144
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1144
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_iformat_next
    - av_input_video_device_next
    - av_input_audio_device_next
    - strcmp
    - av_demuxer_iterate
    - stricmp
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_DEV_IN) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2100,1
    - Dst: avcodec_pix_fmt_to_codec_tag
      Src: /src/gpac/src/filters/ff_common.c:2103,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2107,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2131,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2149,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2089,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_common.c:2102,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2124,1
    - Dst: ffmpeg_audio_fmt_from_gpac
      Src: /src/gpac/src/filters/ff_common.c:2150,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2121,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2118,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_common.c:2162,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2086,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2094,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2154,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2164,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2096,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2112,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2115,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2133,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2144,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_common.c:2146,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_common.c:2160,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 3
    argNames:
    - pid
    - codecpar
    - ffmpeg_timescale
    argTypes:
    - GF_FilterPid*
    - AVCodecParameters*
    - u32
    constantsTouched: []
    func_position:
      end: 2179
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2179
    functionName: ffmpeg_codec_par_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avcodec_pix_fmt_to_codec_tag
    - ffmpeg_channel_layout_from_gpac
    - ffmpeg_pixfmt_from_gpac
    - gf_filter_pid_get_property
    - ffmpeg_audio_fmt_from_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffmpeg_codec_par_from_gpac(GF_FilterPid *pid, AVCodecParameters
      *codecpar, u32 ffmpeg_timescale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - log_class
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ffmpeg_setup_logs
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_setup_logs(u32 log_class) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_common.c:1901,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1916,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1909,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1928,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/ff_common.c:1897,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/ff_common.c:1924,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_common.c:1893,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_common.c:1894,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/ff_common.c:1895,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_common.c:1898,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/ff_common.c:1899,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/ff_common.c:1900,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1926,1
    - Dst: gf_media_vc1_seq_header_to_dsi
      Src: /src/gpac/src/filters/ff_common.c:1935,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_common.c:1896,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_common.c:1907,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_common.c:1944,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_common.c:1946,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_common.c:1907,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 5
    argNames:
    - gpac_codec_id
    - data
    - size
    - dsi_out
    - dsi_out_size
    argTypes:
    - u32
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1948
    functionName: ffmpeg_extradata_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - gf_bs_del
    - GF_4CC
    - memcmp
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_media_vc1_seq_header_to_dsi
    - gf_bs_new
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffmpeg_extradata_to_gpac(u32 gpac_codec_id, const u8 *data,
      u32 size, u8 **dsi_out, u32 *dsi_out_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2188,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2203,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2209,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2209,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2214,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:2214,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2221,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2233,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_common.c:2235,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2239,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2190,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2197,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2200,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2206,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2216,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2188,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/ff_common.c:2193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2203,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2214,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2233,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2235,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:2235,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2186,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/ff_common.c:2190,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_common.c:2195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2206,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_common.c:2197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_common.c:2216,1
    - Dst: ffmpeg_audio_fmt_to_gpac
      Src: /src/gpac/src/filters/ff_common.c:2216,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_common.c:2242,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 3
    argNames:
    - codecpar
    - opid
    - ffmpeg_timescale
    argTypes:
    - AVCodecParameters*
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 2245
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2245
    functionName: ffmpeg_codec_par_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - ffmpeg_channel_layout_to_gpac
    - PROP_LONGUINT
    - ffmpeg_pixfmt_to_gpac
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_FRAC_INT
    - PROP_UINT
    - gf_sys_is_test_mode
    - ffmpeg_audio_fmt_to_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffmpeg_codec_par_to_gpac(AVCodecParameters *codecpar, GF_FilterPid
      *opid, u32 ffmpeg_timescale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avdevice_register_all
      Src: /src/gpac/src/filters/ff_common.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - FF_REG_TYPE_DEV_IN
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avdevice_register_all
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_DEV_IN) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:580,1
    - Dst: avcodec_get_name
      Src: /src/gpac/src/filters/ff_common.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - codec_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: ffmpeg_codecid_to_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avcodec_get_name
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_codecid_to_gpac(u32 codec_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: av_register_all
      Src: /src/gpac/src/filters/ff_common.c:739,1
    - Dst: avformat_network_init
      Src: /src/gpac/src/filters/ff_common.c:741,1
    - Dst: av_log_set_callback
      Src: /src/gpac/src/filters/ff_common.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: ffmpeg_initialize
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - avformat_network_init
    - av_log_set_callback
    - av_register_all
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_initialize() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:1721,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:1727,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:1727,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1727,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_common.c:1727,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1729,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1729,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1731,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1733,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - options
    - ctx
    argTypes:
    - AVDictionary*
    - AVCodecContext*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1740
    functionName: ffmpeg_set_enc_dec_flags
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - stricmp
    - strcmp
    - av_dict_get
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_set_enc_dec_flags(const AVDictionary *options, AVCodecContext
      *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filters/ff_common.c:2252,1
    - Dst: av_opt_set
      Src: /src/gpac/src/filters/ff_common.c:2258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:2265,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_common.c:2265,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_common.c:2260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - log_name
    - ctx
    - options
    - arg_name
    - arg_val
    argTypes:
    - char*
    - void*
    - AVDictionary**
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2269
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2269
    functionName: ffmpeg_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_err2str
    - gf_props_dump_val
    - av_dict_set
    - GF_LOG
    - av_opt_set
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffmpeg_update_arg(const char *log_name, void *ctx, AVDictionary
      **options, const char *arg_name, const GF_PropertyValue *arg_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:269,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/ff_common.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pfmt
    - no_warn
    argTypes:
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: ffmpeg_pixfmt_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_4cc_to_str
    linkageType: ''
    returnType: enum AVPixelFormat
    signature: 'enum AVPixelFormat ffmpeg_pixfmt_from_gpac(u32 pfmt, Bool no_warn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gpac_ch_layout
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: ffmpeg_channel_layout_from_gpac
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'u64 ffmpeg_channel_layout_from_gpac(u64 gpac_ch_layout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - codec_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: ffmpeg_codecid_to_gpac_audio_fmt
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 ffmpeg_codecid_to_gpac_audio_fmt(u32 codec_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:1748,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1755,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1754,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:1757,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 2
    argNames:
    - options
    - ctx
    argTypes:
    - AVDictionary*
    - AVFormatContext*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1764
    functionName: ffmpeg_set_mx_dmx_flags
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - strcmp
    - av_dict_get
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_set_mx_dmx_flags(const AVDictionary *options, AVFormatContext
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_common.c:2283,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_common.c:2285,1
    - Dst: atoi
      Src: /src/gpac/src/filters/ff_common.c:2286,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:2302,1
    - Dst: gf_filter_on_main_thread
      Src: /src/gpac/src/filters/ff_common.c:2298,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_common.c:2305,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - options
    - codecctx
    argTypes:
    - GF_Filter*
    - AVDictionary*
    - AVCodecContext*
    constantsTouched: []
    func_position:
      end: 2312
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2312
    functionName: ffmpeg_check_threads
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_dict_get
    - GF_LOG
    - strcmp
    - gf_filter_on_main_thread
    - atoi
    linkageType: ''
    returnType: void
    signature: 'void ffmpeg_check_threads(GF_Filter *filter, AVDictionary *options,
      AVCodecContext *codecctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: av_bsf_iterate
      Src: /src/gpac/src/filters/ff_common.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - FF_REG_TYPE_BSF
    argTypes:
    - type
    constantsTouched: []
    func_position:
      end: 1210
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_common.c
    functionUses: []
    functionsReached:
    - av_bsf_iterate
    linkageType: ''
    returnType: else
    signature: 'else if (type==FF_REG_TYPE_BSF) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/dec_mediacodec.c:492,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:509,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:511,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/filters/dec_mediacodec.c:502,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/dec_mediacodec.c:497,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dec_mediacodec.c:514,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:515,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:516,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_mediacodec.c:517,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_mediacodec.c:527,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_mediacodec.c:529,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_mediacodec.c:534,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:531,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_mediacodec.c:537,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - data
    - size
    - xps
    argTypes:
    - GF_MCDecCtx*
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 544
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 544
    functionName: mcdec_register_hevc_param_set
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_hevc_read_sps
    - gf_malloc
    - gf_list_add
    - gf_list_get
    - memcmp
    - gf_list_count
    - gf_hevc_read_vps
    - gf_hevc_read_pps
    - memcpy
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mcdec_register_hevc_param_set(GF_MCDecCtx *ctx, u8 *data,
      u32 size, u8 xps) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_mediacodec.c:1132,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/dec_mediacodec.c:1157,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_mediacodec.c:1134,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_mediacodec.c:1137,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_mediacodec.c:1161,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_mediacodec.c:1164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - frame_buffer
    - cts
    argTypes:
    - GF_MCDecCtx*
    - u8*
    - u64
    constantsTouched: []
    func_position:
      end: 1168
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1168
    functionName: mcdec_send_frame
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - memset
    - gf_list_pop_front
    - gf_filter_pck_new_frame_interface
    - gf_filter_pck_set_cts
    - GF_SAFEALLOC
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_send_frame(GF_MCDecCtx *ctx, u8 *frame_buffer,
      u64 cts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AMediaCodec_getOutputFormat
      Src: /src/gpac/src/filters/dec_mediacodec.c:1079,1
    - Dst: AMediaFormat_getInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:1081,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1100
    functionName: mcdec_hw_get_plane
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - AMediaFormat_getInt32
    - AMediaCodec_getOutputFormat
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_hw_get_plane(GF_FilterFrameInterface *frame, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mediacodec.c:554,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_mediacodec.c:561,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:590,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:585,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dec_mediacodec.c:600,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:610,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/dec_mediacodec.c:619,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:622,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:631,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:646,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:725,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_mediacodec.c:664,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:572,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:586,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_mediacodec.c:623,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:628,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:629,1
    - Dst: AMediaCodec_delete
      Src: /src/gpac/src/filters/dec_mediacodec.c:642,1
    - Dst: AMediaFormat_delete
      Src: /src/gpac/src/filters/dec_mediacodec.c:648,1
    - Dst: mcdec_register_avc_param_set
      Src: /src/gpac/src/filters/dec_mediacodec.c:668,1
    - Dst: mcdec_register_avc_param_set
      Src: /src/gpac/src/filters/dec_mediacodec.c:674,1
    - Dst: mcdec_register_hevc_param_set
      Src: /src/gpac/src/filters/dec_mediacodec.c:712,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:665,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:680,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:706,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dec_mediacodec.c:688,1
    - Dst: mcdec_init_decoder
      Src: /src/gpac/src/filters/dec_mediacodec.c:731,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:671,1
    - Dst: AMediaCodec_stop
      Src: /src/gpac/src/filters/dec_mediacodec.c:559,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dec_mediacodec.c:557,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:570,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_mediacodec.c:601,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:605,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_mediacodec.c:627,1
    - Dst: glGenTextures
      Src: /src/gpac/src/filters/dec_mediacodec.c:653,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dec_mediacodec.c:700,1
    - Dst: mcdec_register_hevc_param_set
      Src: /src/gpac/src/filters/dec_mediacodec.c:710,1
    - Dst: mcdec_register_hevc_param_set
      Src: /src/gpac/src/filters/dec_mediacodec.c:714,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:722,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:728,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:558,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_mediacodec.c:567,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:577,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:604,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_mediacodec.c:611,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dec_mediacodec.c:614,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_mediacodec.c:615,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:628,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:644,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:645,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:704,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:684,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:672,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 176
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 732
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 732
    functionName: mcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_m4v_get_config
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_odf_avc_cfg_read
    - mcdec_register_hevc_param_set
    - gf_filter_pid_remove
    - mcdec_reset_ps_list
    - AMediaFormat_delete
    - glGenTextures
    - mcdec_init_decoder
    - gf_filter_get_udta
    - gf_list_find
    - gf_crc_32
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_odf_avc_cfg_del
    - PROP_UINT
    - gf_list_del_item
    - gf_list_insert
    - gf_list_get
    - AMediaCodec_delete
    - gf_filter_pid_set_property
    - gf_filter_set_max_extra_input_pids
    - mcdec_register_avc_param_set
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - gf_filter_pid_check_caps
    - AMediaCodec_stop
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AMediaCodec_releaseOutputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:1113,1
    - Dst: mcdec_update_surface
      Src: /src/gpac/src/filters/dec_mediacodec.c:1117,1
    - Dst: mcdec_get_transform_matrix
      Src: /src/gpac/src/filters/dec_mediacodec.c:1118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - frame
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_Matrix*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1123
    functionName: mcdec_hw_get_gl_texture
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - mcdec_update_surface
    - AMediaCodec_releaseOutputBuffer
    - mcdec_get_transform_matrix
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_hw_get_gl_texture(GF_FilterFrameInterface *frame, u32
      plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_Matrix * texcoordmatrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mediacodec.c:1172,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:1179,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:1175,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:1176,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:1178,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1187
    functionName: mcdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_initialize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/dec_mediacodec.c:1210,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:1221,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_mediacodec.c:1220,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mediacodec.c:1191,1
    - Dst: AMediaCodec_delete
      Src: /src/gpac/src/filters/dec_mediacodec.c:1197,1
    - Dst: AMediaFormat_delete
      Src: /src/gpac/src/filters/dec_mediacodec.c:1193,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:1215,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:1216,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:1224,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:1219,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:1217,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:1214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1198,1
    - Dst: ANativeWindow_release
      Src: /src/gpac/src/filters/dec_mediacodec.c:1202,1
    - Dst: mcdec_delete_surface
      Src: /src/gpac/src/filters/dec_mediacodec.c:1207,1
    - Dst: mcdec_reset_ps_list
      Src: /src/gpac/src/filters/dec_mediacodec.c:1212,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:1213,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:1223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1225
    functionName: mcdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - AMediaCodec_delete
    - gf_list_del
    - gf_list_count
    - ANativeWindow_release
    - GF_LOG
    - glDeleteTextures
    - gf_free
    - mcdec_delete_surface
    - mcdec_reset_ps_list
    - AMediaFormat_delete
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void mcdec_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:738,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_mediacodec.c:743,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:740,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_mediacodec.c:742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - bs
    - ps
    - active_ps
    - all
    argTypes:
    - GF_BitStream*
    - GF_List*
    - s32
    - Bool
    constantsTouched: []
    func_position:
      end: 747
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 747
    functionName: mcdec_write_ps
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_bs_write_u32
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void mcdec_write_ps(GF_BitStream *bs, GF_List *ps, s32 active_ps,
      Bool all) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:807,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_mediacodec.c:810,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_mediacodec.c:816,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/dec_mediacodec.c:814,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_mediacodec.c:815,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/dec_mediacodec.c:820,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_mediacodec.c:821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:827,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:835,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/dec_mediacodec.c:843,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:866,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:850,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_mediacodec.c:844,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - inBuffer
    - inBufferLength
    argTypes:
    - GF_MCDecCtx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 868
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 868
    functionName: mcdec_check_ps_state
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_bs_seek
    - gf_bs_available
    - GF_LOG
    - gf_avc_parse_nalu
    - gf_hevc_parse_nalu_bs
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_check_ps_state(GF_MCDecCtx *ctx, u8 *inBuffer,
      u32 inBufferLength) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AMediaFormat_setString
      Src: /src/gpac/src/filters/dec_mediacodec.c:115,1
    - Dst: AMediaFormat_setInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:119,1
    - Dst: AMediaFormat_setInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:118,1
    - Dst: AMediaFormat_setInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:117,1
    - Dst: AMediaFormat_setInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - GF_MCDecCtx*
    - AMediaFormat*
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: mcdec_init_media_format
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - AMediaFormat_setInt32
    - AMediaFormat_setString
    linkageType: ''
    returnType: void
    signature: 'void mcdec_init_media_format(GF_MCDecCtx *ctx, AMediaFormat *format) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:762,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_mediacodec.c:788,1
    - Dst: mcdec_write_ps
      Src: /src/gpac/src/filters/dec_mediacodec.c:767,1
    - Dst: mcdec_write_ps
      Src: /src/gpac/src/filters/dec_mediacodec.c:768,1
    - Dst: mcdec_write_ps
      Src: /src/gpac/src/filters/dec_mediacodec.c:769,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_mediacodec.c:789,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_mediacodec.c:798,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:799,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - inBuffer
    - inBufferLength
    - out_buffer
    - out_size
    argTypes:
    - GF_MCDecCtx*
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 801
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 801
    functionName: mcdec_rewrite_annex_b
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - mcdec_write_ps
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_rewrite_annex_b(GF_MCDecCtx *ctx, u8 *inBuffer,
      u32 inBufferLength, u8 **out_buffer, u32 *out_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_mediacodec.c:1287,1
    - Dst: mcdec_process
      Src: /src/gpac/src/filters/dec_mediacodec.c:1297,1
    - Dst: mcdec_configure_pid
      Src: /src/gpac/src/filters/dec_mediacodec.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1308
    functionName: mcdec_register
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - mcdec_process
    - mcdec_configure_pid
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mcdec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/filters/dec_mediacodec.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: sdkInt
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - atoi
    linkageType: ''
    returnType: u8
    signature: 'u8 sdkInt() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:213,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:227,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dec_mediacodec.c:219,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:214,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:223,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_mediacodec.c:228,1
    - Dst: gf_odf_desc_write_bs
      Src: /src/gpac/src/filters/dec_mediacodec.c:229,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_mediacodec.c:230,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:231,1
    - Dst: AMediaFormat_setBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:234,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:236,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_mediacodec.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MCDecCtx*
    constantsTouched: []
    func_position:
      end: 239
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 239
    functionName: mcdec_init_m4vp2_dec
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_odf_desc_esd_new
    - gf_m4v_get_config
    - gf_bs_del
    - gf_filter_pid_get_property
    - AMediaFormat_setBuffer
    - gf_bs_new
    - gf_bs_write_u32
    - gf_odf_desc_del
    - gf_free
    - gf_odf_desc_write_bs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_init_m4vp2_dec(GF_MCDecCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:125,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:127,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_mediacodec.c:129,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:128,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: mcdec_reset_ps_list
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mcdec_reset_ps_list(GF_List *list) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mcdec_init_hevc_dec
      Src: /src/gpac/src/filters/dec_mediacodec.c:350,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:335,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:369,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:386,1
    - Dst: AMediaCodec_start
      Src: /src/gpac/src/filters/dec_mediacodec.c:390,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:401,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:407,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:408,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:410,1
    - Dst: mcdec_init_avc_dec
      Src: /src/gpac/src/filters/dec_mediacodec.c:344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:373,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:400,1
    - Dst: mcdec_create_surface
      Src: /src/gpac/src/filters/dec_mediacodec.c:380,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:402,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:404,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:411,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_mediacodec.c:425,1
    - Dst: AMediaFormat_new
      Src: /src/gpac/src/filters/dec_mediacodec.c:332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:397,1
    - Dst: AMediaCodec_configure
      Src: /src/gpac/src/filters/dec_mediacodec.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:391,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mediacodec.c:407,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:408,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:410,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_mediacodec.c:419,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_mediacodec.c:422,1
    - Dst: mcdec_init_m4vp2_dec
      Src: /src/gpac/src/filters/dec_mediacodec.c:347,1
    - Dst: mcdec_init_media_format
      Src: /src/gpac/src/filters/dec_mediacodec.c:362,1
    - Dst: mcdec_find_decoder
      Src: /src/gpac/src/filters/dec_mediacodec.c:365,1
    - Dst: AMediaCodec_createCodecByName
      Src: /src/gpac/src/filters/dec_mediacodec.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:400,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mediacodec.c:402,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_mediacodec.c:404,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_mediacodec.c:416,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MCDecCtx*
    constantsTouched: []
    func_position:
      end: 429
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 429
    functionName: mcdec_init_decoder
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - mcdec_create_surface
    - gf_filter_set_name
    - mcdec_init_avc_dec
    - GF_LOG
    - gf_filter_pid_set_property
    - mcdec_init_hevc_dec
    - mcdec_init_media_format
    - AMediaCodec_configure
    - mcdec_find_decoder
    - AMediaCodec_start
    - gf_free
    - mcdec_init_m4vp2_dec
    - PROP_UINT
    - PROP_FRAC
    - AMediaCodec_createCodecByName
    - AMediaFormat_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_init_decoder(GF_MCDecCtx *ctx) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_register_before_exit_function
      Src: /src/gpac/src/filters/dec_mediacodec.c:890,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mediacodec.c:914,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_mediacodec.c:926,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_mediacodec.c:981,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:990,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:994,1
    - Dst: AMediaFormat_getInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:1009,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1032,1
    - Dst: AMediaCodec_getInputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:960,1
    - Dst: AMediaFormat_getInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:1010,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mediacodec.c:879,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_mediacodec.c:927,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_mediacodec.c:931,1
    - Dst: AMediaCodec_dequeueInputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:952,1
    - Dst: mcdec_rewrite_annex_b
      Src: /src/gpac/src/filters/dec_mediacodec.c:964,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_mediacodec.c:980,1
    - Dst: AMediaCodec_dequeueOutputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:1002,1
    - Dst: AMediaCodec_getOutputFormat
      Src: /src/gpac/src/filters/dec_mediacodec.c:1007,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:891,1
    - Dst: gf_th_current
      Src: /src/gpac/src/filters/dec_mediacodec.c:890,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:898,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_mediacodec.c:905,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_mediacodec.c:907,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_mediacodec.c:914,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_mediacodec.c:928,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_mediacodec.c:914,1
    - Dst: AMediaCodec_flush
      Src: /src/gpac/src/filters/dec_mediacodec.c:940,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_mediacodec.c:930,1
    - Dst: mcdec_init_decoder
      Src: /src/gpac/src/filters/dec_mediacodec.c:943,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:982,1
    - Dst: AMediaFormat_getInt32
      Src: /src/gpac/src/filters/dec_mediacodec.c:1008,1
    - Dst: AMediaCodec_queueInputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:989,1
    - Dst: gf_th_current
      Src: /src/gpac/src/filters/dec_mediacodec.c:891,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:903,1
    - Dst: mcdec_check_ps_state
      Src: /src/gpac/src/filters/dec_mediacodec.c:935,1
    - Dst: AMediaCodec_stop
      Src: /src/gpac/src/filters/dec_mediacodec.c:941,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:945,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:975,1
    - Dst: AMediaCodec_getOutputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:1038,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1042,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1046,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_mediacodec.c:1054,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:984,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dec_mediacodec.c:945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1006,1
    - Dst: mcdec_send_frame
      Src: /src/gpac/src/filters/dec_mediacodec.c:1048,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 136
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1056
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 1056
    functionName: mcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - mcdec_init_decoder
    - gf_filter_get_udta
    - gf_error_to_string
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_register_before_exit_function
    - mcdec_rewrite_annex_b
    - mcdec_send_frame
    - gf_assert
    - AMediaCodec_getOutputBuffer
    - mcdec_check_ps_state
    - gf_filter_pck_get_dts
    - AMediaCodec_dequeueInputBuffer
    - gf_list_get
    - gf_th_current
    - memcpy
    - gf_free
    - AMediaCodec_flush
    - AMediaCodec_getInputBuffer
    - AMediaCodec_queueInputBuffer
    - AMediaCodec_dequeueOutputBuffer
    - AMediaCodec_getOutputFormat
    - AMediaFormat_getInt32
    - AMediaCodec_stop
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: mcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:149,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:142,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:150,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MCDecCtx*
    constantsTouched: []
    func_position:
      end: 203
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 203
    functionName: mcdec_init_avc_dec
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_init_avc_dec(GF_MCDecCtx *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:252,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:261,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:267,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:253,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:268,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MCDecCtx*
    constantsTouched: []
    func_position:
      end: 325
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 325
    functionName: mcdec_init_hevc_dec
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_init_hevc_dec(GF_MCDecCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/dec_mediacodec.c:439,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mediacodec.c:448,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dec_mediacodec.c:451,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mediacodec.c:446,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/filters/dec_mediacodec.c:443,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:452,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:453,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_mediacodec.c:454,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_mediacodec.c:464,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_mediacodec.c:466,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec.c:468,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_mediacodec.c:471,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_mediacodec.c:474,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - data
    - size
    - xps
    argTypes:
    - GF_MCDecCtx*
    - u8*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 480
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 480
    functionName: mcdec_register_avc_param_set
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - memcmp
    - gf_list_count
    - gf_avc_read_sps
    - memcpy
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_avc_read_pps
    linkageType: ''
    returnType: void
    signature: 'static void mcdec_register_avc_param_set(GF_MCDecCtx *ctx, u8 *data,
      u32 size, u8 xps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/dec_mediacodec.c:1060,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec.c:1066,1
    - Dst: AMediaCodec_releaseOutputBuffer
      Src: /src/gpac/src/filters/dec_mediacodec.c:1065,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_mediacodec.c:1070,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1071
    functionName: mcdec_hw_del
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_filter_pck_get_frame_interface
    - AMediaCodec_releaseOutputBuffer
    linkageType: ''
    returnType: void
    signature: 'static void mcdec_hw_del(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1235
    functionName: mcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mcdec_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - state
    - msg
    argTypes:
    - GF_WCEncCtx*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: wcenc_on_error
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcenc_on_error(GF_WCEncCtx *ctx, int state, char *msg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_webcodec.c:446,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/enc_webcodec.c:455,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/enc_webcodec.c:472,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/enc_webcodec.c:463,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/enc_webcodec.c:457,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/enc_webcodec.c:474,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/enc_webcodec.c:477,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/enc_webcodec.c:478,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/enc_webcodec.c:478,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/enc_webcodec.c:480,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:493,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:497,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_webcodec.c:533,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/enc_webcodec.c:481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_webcodec.c:519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_webcodec.c:510,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 538
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 538
    functionName: wcenc_process
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref_props
    - gf_filter_pck_get_property
    - gf_list_count
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_filter_ask_rt_reschedule
    - gf_filter_pid_drop_packet
    - gf_filter_post_process_task
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcenc_process(GF_Filter *filter) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_webcodec.c:155,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:167,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:172,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/enc_webcodec.c:179,1
    - Dst: strchr
      Src: /src/gpac/src/filters/enc_webcodec.c:181,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:213,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/enc_webcodec.c:214,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:218,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:244,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:275,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:338,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/enc_webcodec.c:315,1
    - Dst: gf_codecid_4cc_type
      Src: /src/gpac/src/filters/enc_webcodec.c:323,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/enc_webcodec.c:322,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/enc_webcodec.c:351,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/enc_webcodec.c:199,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:201,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:203,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_webcodec.c:200,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:222,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_webcodec.c:268,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:281,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/enc_webcodec.c:312,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:325,1
    - Dst: strncat
      Src: /src/gpac/src/filters/enc_webcodec.c:328,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:332,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/enc_webcodec.c:159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_webcodec.c:169,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/enc_webcodec.c:195,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/enc_webcodec.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:214,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:236,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:238,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/filters/enc_webcodec.c:260,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:287,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_webcodec.c:312,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/enc_webcodec.c:325,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:335,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/enc_webcodec.c:164,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/enc_webcodec.c:184,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/enc_webcodec.c:194,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:202,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_webcodec.c:228,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/enc_webcodec.c:261,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/enc_webcodec.c:263,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/enc_webcodec.c:268,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/enc_webcodec.c:272,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:341,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/enc_webcodec.c:347,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 165
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 367
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 367
    functionName: wcenc_configure_pid
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - strlwr
    - gf_filter_pid_remove
    - gf_4cc_to_str
    - gf_codecid_parse
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - strcpy
    - gf_filter_pid_negotiate_property
    - gf_codecid_4cc_type
    - gf_pixel_get_size_info
    - gf_pixel_fmt_is_yuv
    - gf_filter_pid_set_property
    - strchr
    - gf_filter_pid_get_property
    - strncat
    - gf_filter_pid_check_caps
    - gf_pixel_fmt_is_transparent
    - gf_audio_fmt_bit_depth
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcenc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_webcodec.c:627,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/enc_webcodec.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: wcenc_initialize
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wcenc_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_webcodec.c:647,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/enc_webcodec.c:650,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/enc_webcodec.c:652,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/enc_webcodec.c:654,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/enc_webcodec.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 655
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 655
    functionName: wcenc_finalize
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void wcenc_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: wcenc_configure_pid
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcenc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/enc_webcodec.c:554,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/enc_webcodec.c:557,1
    - Dst: memset
      Src: /src/gpac/src/filters/enc_webcodec.c:555,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/enc_webcodec.c:559,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_webcodec.c:559,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/enc_webcodec.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - GF_WCEncCtx*
    - int
    constantsTouched: []
    func_position:
      end: 564
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 564
    functionName: wcenc_on_config
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_crc_32
    - gf_filter_pid_set_property
    - gf_free
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcenc_on_config(GF_WCEncCtx *ctx, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/enc_webcodec.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_WCEncCtx*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: wcenc_on_flush
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcenc_on_flush(GF_WCEncCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/enc_webcodec.c:584,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/enc_webcodec.c:594,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/enc_webcodec.c:589,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/enc_webcodec.c:593,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/enc_webcodec.c:591,1
    - Dst: ABS
      Src: /src/gpac/src/filters/enc_webcodec.c:595,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/enc_webcodec.c:596,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/enc_webcodec.c:600,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/enc_webcodec.c:606,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/enc_webcodec.c:608,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/enc_webcodec.c:610,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/enc_webcodec.c:613,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/enc_webcodec.c:609,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/enc_webcodec.c:618,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/enc_webcodec.c:612,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/enc_webcodec.c:617,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/enc_webcodec.c:616,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - timestamp
    - duration
    - size
    - is_key
    argTypes:
    - GF_WCEncCtx*
    - u64
    - u32
    - u32
    - int
    constantsTouched: []
    func_position:
      end: 621
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 621
    functionName: wcenc_on_frame
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pck_merge_properties
    - ABS
    - gf_filter_pck_set_byte_offset
    - gf_timestamp_rescale
    - gf_list_rem
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcenc_on_frame(GF_WCEncCtx *ctx, u64 timestamp, u32
      duration, u32 size, int is_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: wcenc_process
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcenc_process(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/filters/enc_webcodec.c:735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_webcodec.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_webcodec.c:755,1
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/filters/enc_webcodec.c:739,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/enc_webcodec.c:757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 765
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 765
    functionName: wcenc_register
    functionSourceFile: /src/gpac/src/filters/enc_webcodec.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - EM_ASM_INT
    - GF_LOG
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *wcenc_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:2139,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2140,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2140,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2141,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2142,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2142,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2143,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2144,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2144,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2145,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2146,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2147,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:2148,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2148,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - URN
    - res
    argTypes:
    - bin128
    - char*
    constantsTouched: []
    func_position:
      end: 2149
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2149
    functionName: get_canon_urn
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - sprintf
    - strcat
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void get_canon_urn(bin128 URN, char *res) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4798,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/filters/dasher.c:4813,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/filters/dasher.c:4823,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:4801,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dasher.c:4847,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:4847,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4850,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4787,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4799,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4805,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4849,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:4789,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:4791,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4802,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:4809,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:4819,1
    - Dst: dasher_purge_segment_timeline
      Src: /src/gpac/src/filters/dasher.c:4835,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4848,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4852,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4738,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4740,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4757,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:4760,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4797,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:4797,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4829,1
    - Dst: dasher_purge_segment_timeline
      Src: /src/gpac/src/filters/dasher.c:4841,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4851,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:4853,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 121
    argCount: 2
    argNames:
    - ctx
    - period_dur
    argTypes:
    - GF_DasherCtx*
    - u64*
    constantsTouched: []
    func_position:
      end: 4871
      start: 4718
    functionDepth: 0
    functionLinenumber: 4718
    functionLinenumberEnd: 4871
    functionName: dasher_purge_segments
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_get
    - gf_list_find
    - GF_FEVT_INIT
    - gf_list_pop_front
    - gf_list_count
    - gf_strdup
    - GF_LOG
    - sprintf
    - gf_mpd_segment_url_free
    - gf_fatal_assert
    - gf_list_rem
    - gf_sys_is_test_mode
    - gf_free
    - dasher_purge_segment_timeline
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void dasher_purge_segments(GF_DasherCtx *ctx, u64 *period_dur) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2165,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2172,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dasher.c:2153,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2155,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2156,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dasher.c:2154,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2157,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2158,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2173,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2174,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2175,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2163,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2159,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2160,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2161,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2162,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2168,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2169,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2167,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2170,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2166,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2171,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2164,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 1
    argNames:
    - canURN
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2177
    functionName: get_drm_kms_name
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - stricmp
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_drm_kms_name(const char *canURN) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4881,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4883,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dasher.c:4921,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4922,1
    - Dst: dasher_purge_segments
      Src: /src/gpac/src/filters/dasher.c:4928,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4937,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4940,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:4959,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4981,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4983,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4985,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 122
    argCount: 2
    argNames:
    - ctx
    - is_period_switch
    argTypes:
    - GF_DasherCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 4997
      start: 4873
    functionDepth: 0
    functionLinenumber: 4873
    functionLinenumberEnd: 4997
    functionName: dasher_update_period_duration
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - dasher_purge_segments
    - ABS
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void dasher_update_period_duration(GF_DasherCtx *ctx, Bool
      is_period_switch) '
  - BBCount: 207
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/dasher.c:1020,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/dasher.c:1036,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dasher.c:1037,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1103,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1119,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:1043,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:1139,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:1162,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:1174,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1262,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1848,1
    - Dst: gf_ac3_get_surround_channels
      Src: /src/gpac/src/filters/dasher.c:1609,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1687,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:1777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1718,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1778,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/dasher.c:996,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/dasher.c:1026,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:1038,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:1064,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1099,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dasher.c:1117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1449,1
    - Dst: dasher_update_bitrate
      Src: /src/gpac/src/filters/dasher.c:1458,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:1462,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:1463,1
    - Dst: gf_ac3_get_total_channels
      Src: /src/gpac/src/filters/dasher.c:1611,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1643,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1502,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1647,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1686,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1715,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1528,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1106,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:1028,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1060,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1107,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dasher.c:1180,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1266,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dasher.c:1364,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dasher.c:1384,1
    - Dst: CHECK_PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:1438,1
    - Dst: gf_eac3_get_chan_loc_count
      Src: /src/gpac/src/filters/dasher.c:1613,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:1820,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1765,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1340,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:1356,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1532,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1596,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1104,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1021,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1050,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1064,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1120,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dasher.c:1187,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:1511,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:1518,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1269,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:1562,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1741,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:1843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1724,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:971,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1087,1
    - Dst: gf_filter_pid_disable_clone
      Src: /src/gpac/src/filters/dasher.c:1095,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:1062,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1275,1
    - Dst: CHECK_PROPL
      Src: /src/gpac/src/filters/dasher.c:1317,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dasher.c:1356,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1444,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/dasher.c:1564,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1705,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:1866,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dasher.c:1556,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1518,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1059,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1115,1
    - Dst: dasher_update_bitrate
      Src: /src/gpac/src/filters/dasher.c:969,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1022,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1110,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:1077,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:1142,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1181,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/dasher.c:1428,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1437,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1316,1
    - Dst: gf_mpd_load_cues
      Src: /src/gpac/src/filters/dasher.c:1676,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1804,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:1818,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1100,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1062,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dasher.c:964,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:999,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1087,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:1155,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1315,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1463,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1652,1
    - Dst: dasher_update_rep
      Src: /src/gpac/src/filters/dasher.c:1860,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/dasher.c:1508,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:1768,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1656,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1809,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:1777,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/dasher.c:1830,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1439,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1660,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:995,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dasher.c:1006,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dasher.c:1041,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1142,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dasher.c:1158,1
    - Dst: CHECK_PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:1277,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1297,1
    - Dst: CHECK_PROP_FRAC64
      Src: /src/gpac/src/filters/dasher.c:1333,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1383,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1516,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1634,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1436,1
    - Dst: dasher_get_dash_dur
      Src: /src/gpac/src/filters/dasher.c:1482,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1767,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1570,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/dasher.c:999,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1029,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:1037,1
    - Dst: dasher_ensure_outpath
      Src: /src/gpac/src/filters/dasher.c:1066,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1070,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1338,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filters/dasher.c:1354,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1362,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:1558,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1675,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1695,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:1723,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1811,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1334,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1519,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1524,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dasher.c:1040,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1047,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:1172,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1441,1
    - Dst: dasher_setup_profile
      Src: /src/gpac/src/filters/dasher.c:1452,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dasher.c:1545,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dasher.c:1552,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1748,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1342,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/dasher.c:1624,1
    - Dst: gf_filter_pid_merge_properties
      Src: /src/gpac/src/filters/dasher.c:1857,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1707,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1663,1
    - Dst: dasher_reset_stream
      Src: /src/gpac/src/filters/dasher.c:974,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dasher.c:1004,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:1003,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:1016,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dasher.c:1057,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:1075,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1099,1
    - Dst: dasher_send_encode_hints
      Src: /src/gpac/src/filters/dasher.c:1170,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1244,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1339,1
    - Dst: dasher_get_audio_info_with_m4a_sbr_ps
      Src: /src/gpac/src/filters/dasher.c:1599,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1061,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1100,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:970,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:1011,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1047,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1110,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1181,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:1269,1
    - Dst: CHECK_PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:1279,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1332,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1699,1
    - Dst: CHECK_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:1740,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:1784,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1787,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1745,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/dasher.c:1828,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1477,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1793,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dasher.c:967,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:975,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dasher.c:988,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1106,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1044,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1058,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dasher.c:1136,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dasher.c:1179,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1238,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1243,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1515,1
    - Dst: gf_ac3_get_channel_layout
      Src: /src/gpac/src/filters/dasher.c:1616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1708,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:1596,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1440,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:1757,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1798,1
    - Dst: dasher_stream_period_changed
      Src: /src/gpac/src/filters/dasher.c:1871,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1289,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1796,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/dasher.c:1822,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:973,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dasher.c:987,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1032,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/dasher.c:1068,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:1108,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1104,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dasher.c:1132,1
    - Dst: CHECK_PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:1445,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1479,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1536,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1672,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1274,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:1684,1
    - Dst: gf_odf_ac3_config_parse
      Src: /src/gpac/src/filters/dasher.c:1606,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:1008,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1044,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:1046,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1125,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:1152,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:1156,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1282,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1378,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dasher.c:1380,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:1467,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dasher.c:1573,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1669,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1716,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:1696,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1642,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1119,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:1108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1127,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1130,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dasher.c:1150,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1255,1
    - Dst: CHECK_PROP
      Src: /src/gpac/src/filters/dasher.c:1265,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:1339,1
    - Dst: CHECK_PROP_PROP
      Src: /src/gpac/src/filters/dasher.c:1443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:1467,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dasher.c:1823,1
    - Dst: dasher_hls_setup_crypto
      Src: /src/gpac/src/filters/dasher.c:1850,1
    - Dst: dasher_get_audio_info_with_m4a_sbr_ps
      Src: /src/gpac/src/filters/dasher.c:1593,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:1731,1
    CyclomaticComplexity: 293
    EdgeCount: 293
    ICount: 788
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1872
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1872
    functionName: dasher_configure_pid
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - gf_filter_pid_merge_properties
    - gf_filter_pid_set_framing_mode
    - gf_odf_ac3_config_parse
    - CHECK_PROP_PROP
    - dasher_update_bitrate
    - gf_strdup
    - gf_odf_avc_cfg_del
    - gf_file_basename
    - gf_list_get
    - gf_filter_get_sep
    - dasher_send_encode_hints
    - dasher_setup_profile
    - dasher_stream_period_changed
    - gf_filter_pid_send_event
    - dasher_hls_setup_crypto
    - gf_filter_pid_disable_clone
    - dasher_template_use_source_url
    - gf_odf_hevc_cfg_del
    - gf_malloc
    - snprintf
    - gf_filter_pid_set_discard
    - CHECK_PROPL
    - strncmp
    - CHECK_PROP_FRAC64
    - GF_SAFEALLOC
    - gf_file_ext_start
    - gf_crc_32
    - gf_error_to_string
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - gf_filter_set_source
    - gf_sys_clock
    - gf_sys_is_test_mode
    - gf_filter_pid_discard_block
    - strcat
    - gf_list_add
    - gf_eac3_get_chan_loc_count
    - gf_filter_pid_set_udta
    - CHECK_PROP_STR
    - gf_filter_pid_caps_query
    - CHECK_PROP_BOOL
    - gf_odf_avc_cfg_read
    - gf_filter_pid_remove
    - dasher_ensure_outpath
    - strstr
    - strcmp
    - gf_filter_pid_get_property_str
    - dasher_get_dash_dur
    - CHECK_PROP_FRAC
    - gf_free
    - gf_filter_connect_destination
    - CHECK_PROP
    - gf_ac3_get_surround_channels
    - dasher_reset_stream
    - gf_fileio_factory
    - GF_FEVT_INIT
    - GF_LOG
    - gf_ac3_get_total_channels
    - gf_audio_fmt_get_layout_from_cicp
    - dasher_get_audio_info_with_m4a_sbr_ps
    - gf_filter_get_udta
    - gf_fileio_from_url
    - gf_list_find
    - gf_odf_hevc_cfg_read
    - gf_mpd_load_cues
    - gf_list_count
    - gf_filter_pid_orig_src_args
    - PROP_UINT
    - gf_filter_pid_resolve_file_template
    - gf_list_new
    - gf_list_del_item
    - gf_filter_pid_get_name
    - gf_assert
    - dasher_update_rep
    - gf_filter_reset_source
    - gf_filter_pid_get_udta
    - sprintf
    - gf_filter_pid_set_property
    - gf_ac3_get_channel_layout
    - gf_avc_read_sps
    - memcpy
    - gf_media_mpd_format_segment_name
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_fileio_resource_url
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_get_descriptor
      Src: /src/gpac/src/filters/dasher.c:1876,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1884,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:1879,1
    - Dst: gf_mpd_descriptor_free
      Src: /src/gpac/src/filters/dasher.c:1880,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1885,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:1888,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:1890,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:1892,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - scheme_id
    - url
    argTypes:
    - GF_DasherCtx*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1893
    functionName: dasher_check_chaining
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_get_descriptor
    - gf_strdup
    - gf_free
    - gf_list_new
    - gf_list_del_item
    - gf_mpd_descriptor_new
    - gf_mpd_descriptor_free
    linkageType: ''
    returnType: void
    signature: 'static void dasher_check_chaining(GF_DasherCtx *ctx, char *scheme_id,
      char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 11591
      start: 11588
    functionDepth: 0
    functionLinenumber: 11588
    functionLinenumberEnd: 11591
    functionName: dasher_register
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *dasher_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dasher.c:5005,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dasher.c:5015,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dasher.c:5010,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5012,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:5007,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dasher.c:5016,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5018,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:5018,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5021,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dasher.c:5021,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5024,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:5025,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:5024,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - f
    - opid
    - name
    - ds
    - is_rel_url
    argTypes:
    - FILE*
    - GF_FilterPid*
    - char*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 5026
      start: 4999
    functionDepth: 0
    functionLinenumber: 4999
    functionLinenumberEnd: 5026
    functionName: dasher_transfer_file
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - gf_fsize
    - GF_LOG
    - gf_fread
    - gf_filter_pck_set_framing
    - PROP_STRING
    - PROP_BOOL
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void dasher_transfer_file(FILE *f, GF_FilterPid *opid, const
      char *name, GF_DashStream *ds, Bool is_rel_url) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:622,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:630,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:637,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/dasher.c:635,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/dasher.c:641,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:652,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 674
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 674
    functionName: dasher_hls_setup_crypto
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_crypt_info_del
    - gf_crypt_info_load
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_hls_setup_crypto(GF_DasherCtx *ctx, GF_DashStream
      *ds) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3589,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:3659,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3655,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3652,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dasher.c:3669,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/dasher.c:3684,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3527,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3595,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:3615,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3545,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:3548,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3574,1
    - Dst: gf_filter_pid_require_source_id
      Src: /src/gpac/src/filters/dasher.c:3599,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:3668,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/dasher.c:3677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3683,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3684,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3717,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:3623,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3662,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dasher.c:3584,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3595,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3606,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3615,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3713,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3552,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3558,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3585,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3617,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3618,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3674,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3704,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3580,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3610,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3633,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:3626,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3706,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dasher.c:3715,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/dasher.c:3716,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:3551,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3589,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3618,1
    - Dst: dasher_update_dep_list
      Src: /src/gpac/src/filters/dasher.c:3639,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3673,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dasher.c:3681,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3694,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3704,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3626,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3661,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:3535,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3549,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3610,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3675,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:3530,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3644,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3692,1
    - Dst: dasher_inject_scte35_processor
      Src: /src/gpac/src/filters/dasher.c:3722,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3526,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3573,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3612,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3649,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3651,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3619,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3635,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3698,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3617,1
    - Dst: dasher_update_dep_list
      Src: /src/gpac/src/filters/dasher.c:3638,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3543,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3585,1
    - Dst: dasher_gather_deps
      Src: /src/gpac/src/filters/dasher.c:3682,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:3686,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3647,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/dasher.c:3661,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3612,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3651,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:3633,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3573,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3580,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3698,1
    - Dst: gf_filter_load_filter
      Src: /src/gpac/src/filters/dasher.c:3712,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dasher.c:3571,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dasher.c:3559,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3574,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:3592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3667,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3677,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:3538,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3584,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:3586,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3662,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:3680,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3715,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3644,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3532,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3692,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:3635,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:3649,1
    - Dst: gf_filter_pid_force_single_link
      Src: /src/gpac/src/filters/dasher.c:3562,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3586,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:3602,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:3619,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dasher.c:3660,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 206
    argCount: 5
    argNames:
    - filter
    - ctx
    - ds
    - multi_pids
    - init_trashed
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 3723
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3723
    functionName: dasher_open_pid
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - PROP_BOOL
    - dasher_gather_deps
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - PROP_POINTER
    - gf_filter_load_filter
    - PROP_UINT
    - gf_list_new
    - gf_list_del_item
    - gf_assert
    - gf_list_reset
    - gf_list_get
    - gf_filter_set_source
    - gf_filter_get_sep
    - PROP_LONGUINT
    - gf_filter_reset_source
    - gf_filter_pid_force_single_link
    - dasher_update_dep_list
    - sprintf
    - gf_filter_pid_set_property
    - gf_sys_is_test_mode
    - dasher_inject_scte35_processor
    - gf_fatal_assert
    - gf_list_rem
    - PROP_FRAC
    - gf_filter_pid_require_source_id
    linkageType: ''
    returnType: void
    signature: 'static void dasher_open_pid(GF_Filter *filter, GF_DasherCtx *ctx,
      GF_DashStream *ds, GF_List *multi_pids, Bool init_trashed) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6416,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6420,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6418,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6422,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6429,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:6436,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6440,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6444,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:6446,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:6450,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6448,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - streams_in
    - /*GF_DashStream*/
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 6453
      start: 6412
    functionDepth: 0
    functionLinenumber: 6412
    functionLinenumberEnd: 6453
    functionName: dasher_period_count
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - strcmp
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_list_pop_back
    linkageType: ''
    returnType: u32
    signature: 'static u32 dasher_period_count(GF_List *streams_in /*GF_DashStream*/) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/dasher.c:8894,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8905,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:8904,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:8907,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8914,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:8917,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:8918,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:8925,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:8932,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8968,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:8974,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/dasher.c:8977,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:8947,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8975,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8978,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 8979
      start: 8886
    functionDepth: 0
    functionLinenumber: 8886
    functionLinenumberEnd: 8979
    functionName: dasher_format_report
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_get
    - snprintf
    - gf_list_find
    - gf_list_count
    - sprintf
    - gf_filter_update_status
    - gf_filter_reporting_enabled
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dasher_format_report(GF_Filter *filter, GF_DasherCtx *ctx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dasher.c:10937,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:10941,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/dasher.c:10946,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/dasher.c:10938,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:10940,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:10947,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:10948,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:10949,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10955,1
    - Dst: dasher_setup_profile
      Src: /src/gpac/src/filters/dasher.c:10967,1
    - Dst: dasher_new_period
      Src: /src/gpac/src/filters/dasher.c:10973,1
    - Dst: dasher_new_period
      Src: /src/gpac/src/filters/dasher.c:10974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10981,1
    - Dst: dash_state_check_timing
      Src: /src/gpac/src/filters/dasher.c:11009,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:11012,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/dasher.c:11023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10993,1
    - Dst: dasher_init_utc
      Src: /src/gpac/src/filters/dasher.c:11018,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 81
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 11026
      start: 10934
    functionDepth: 0
    functionLinenumber: 10934
    functionLinenumberEnd: 11026
    functionName: dasher_initialize
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - dasher_new_period
    - gf_filter_force_main_thread
    - strcmp
    - GF_LOG
    - dash_state_check_timing
    - gf_filter_set_max_extra_input_pids
    - dasher_setup_profile
    - gf_free
    - gf_list_new
    - dasher_init_utc
    - gf_filter_is_dynamic
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:680,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:685,1
    - Dst: dasher_get_dep_bitrate
      Src: /src/gpac/src/filters/dasher.c:686,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 691
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 691
    functionName: dasher_get_dep_bitrate
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - dasher_get_dep_bitrate
    - gf_list_find
    linkageType: ''
    returnType: u32
    signature: 'static u32 dasher_get_dep_bitrate(GF_DasherCtx *ctx, GF_DashStream
      *ds) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:3730,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:3734,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3740,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3746,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3743,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3751,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:3755,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3756,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3758,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 1
    argNames:
    - ds
    argTypes:
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 3759
      start: 3725
    functionDepth: 0
    functionLinenumber: 3725
    functionLinenumberEnd: 3759
    functionName: dasher_set_content_components
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_enum
    - gf_strdup
    - strcmp
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void dasher_set_content_components(GF_DashStream *ds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/dasher.c:5031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 5032
      start: 5029
    functionDepth: 0
    functionLinenumber: 5029
    functionLinenumberEnd: 5032
    functionName: dasher_get_utc
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_net_get_utc
    linkageType: ''
    returnType: u64
    signature: 'static u64 dasher_get_utc(GF_DasherCtx *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:6474,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/dasher.c:6490,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6479,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:6497,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/dasher.c:6508,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/filters/dasher.c:6528,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/dasher.c:6553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6567,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6497,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/filters/dasher.c:6556,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/dasher.c:6565,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/dasher.c:6573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6492,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/dasher.c:6500,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:6532,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/filters/dasher.c:6533,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/filters/dasher.c:6543,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/dasher.c:6523,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:6522,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dasher.c:6538,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/filters/dasher.c:6549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6570,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/dasher.c:6495,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6522,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/dasher.c:6527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6563,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dasher.c:6566,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 101
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 6575
      start: 6455
    functionDepth: 0
    functionLinenumber: 6455
    functionLinenumberEnd: 6575
    functionName: dasher_init_utc
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_get_download_manager
    - strncmp
    - GF_LOG
    - gf_dm_sess_new
    - gf_net_ntp_to_utc
    - gf_error_to_string
    - strcmp
    - gf_blob_get
    - gf_dm_sess_get_stats
    - gf_blob_release
    - gf_dm_sess_process
    - gf_dm_sess_get_header
    - gf_dm_sess_get_cache_name
    - ABS
    - strchr
    - gf_net_get_utc
    - sscanf
    - gf_dm_sess_del
    - gf_net_parse_date
    linkageType: ''
    returnType: void
    signature: 'static void dasher_init_utc(GF_Filter *filter, GF_DasherCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:8984,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:8985,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:8994,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dasher.c:8990,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dasher.c:8986,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:8997,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - ds
    - discard_all
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 8999
      start: 8981
    functionDepth: 0
    functionLinenumber: 8981
    functionLinenumberEnd: 8999
    functionName: dasher_drop_input
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_sap
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'static void dasher_drop_input(GF_DasherCtx *ctx, GF_DashStream *ds,
      Bool discard_all) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:11034,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11036,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:11042,1
    - Dst: gf_mpd_period_free
      Src: /src/gpac/src/filters/dasher.c:11048,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11044,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dasher.c:11031,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dasher.c:11039,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:11051,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:11046,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11052,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/dasher.c:11057,1
    - Dst: dasher_reset_stream
      Src: /src/gpac/src/filters/dasher.c:11035,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11043,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:11049,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11050,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11054,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:11033,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:11038,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:11041,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:11053,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:11055,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 11059
      start: 11029
    functionDepth: 0
    functionLinenumber: 11029
    functionLinenumberEnd: 11059
    functionName: dasher_finalize
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - dasher_reset_stream
    - gf_list_del
    - gf_mpd_del
    - gf_list_count
    - gf_crypt_info_del
    - gf_free
    - gf_mpd_period_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void dasher_finalize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:2734,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - ds1
    - ds2
    argTypes:
    - GF_DashStream*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2745
    functionName: dasher_same_roles
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_props_equal
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_same_roles(GF_DashStream *ds1, GF_DashStream *ds2) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:10589,1
    - Dst: dasher_process_hls_ll
      Src: /src/gpac/src/filters/dasher.c:10618,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dasher.c:10643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10629,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:10666,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:10666,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:10669,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10696,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10742,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10753,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:10574,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:10607,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10626,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:10638,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:10636,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:10654,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:10667,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10702,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/filters/dasher.c:10710,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10746,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dasher.c:10558,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10592,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:10719,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:10733,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:10750,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:10767,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:10768,1
    - Dst: gf_mpd_url_free
      Src: /src/gpac/src/filters/dasher.c:10747,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:10572,1
    - Dst: dasher_resume_subdur
      Src: /src/gpac/src/filters/dasher.c:10567,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dasher.c:10579,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10638,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10656,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:10730,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10780,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:10760,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:10753,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dasher.c:10789,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 198
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 10792
      start: 10554
    functionDepth: 0
    functionLinenumber: 10554
    functionLinenumberEnd: 10792
    functionName: dasher_process_event
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_filter_get_udta
    - gf_list_find
    - GF_4CC
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_get_name
    - gf_assert
    - gf_list_get
    - sprintf
    - gf_filter_post_process_task
    - gf_sys_is_test_mode
    - dasher_resume_subdur
    - gf_sys_old_arch_compat
    - gf_filter_pid_send_event
    - dasher_process_hls_ll
    - gf_mpd_url_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:2750,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 2760
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2760
    functionName: dasher_get_next_as_id
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 dasher_get_next_as_id(GF_DasherCtx *ctx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10801,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10849,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:10865,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10873,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10864,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10891,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10898,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:10908,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10909,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:10919,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:10924,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:10925,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:10923,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:10926,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 10932
      start: 10794
    functionDepth: 0
    functionLinenumber: 10794
    functionLinenumberEnd: 10932
    functionName: dasher_setup_profile
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_strdup
    - GF_LOG
    - gf_free
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_setup_profile(GF_DasherCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3079,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3087,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3081,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - base_ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 3090
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3090
    functionName: rewrite_dep_ids
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void rewrite_dep_ids(GF_DasherCtx *ctx, GF_DashStream *base_ds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3781,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:3789,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3783,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:3790,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:3784,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3791,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - ds
    - tpl
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    constantsTouched: []
    func_position:
      end: 3793
      start: 3778
    functionDepth: 0
    functionLinenumber: 3778
    functionLinenumberEnd: 3793
    functionName: dasher_check_template_reuse
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - strcmp
    - GF_SAFEALLOC
    - dasher_cat_mpd_url
    linkageType: ''
    returnType: u32
    signature: 'static u32 dasher_check_template_reuse(GF_DasherCtx *ctx, GF_DashStream
      *ds, const char *tpl) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3097,1
    - Dst: get_base_ds
      Src: /src/gpac/src/filters/dasher.c:3137,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3127,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3156,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:3161,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:3164,1
    - Dst: rewrite_dep_ids
      Src: /src/gpac/src/filters/dasher.c:3167,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3174,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 66
    argCount: 2
    argNames:
    - ctx
    - set
    argTypes:
    - GF_DasherCtx*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 3181
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3181
    functionName: dasher_check_bitstream_switching
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - rewrite_dep_ids
    - gf_list_rem
    - gf_mpd_representation_free
    - get_base_ds
    linkageType: ''
    returnType: void
    signature: 'static void dasher_check_bitstream_switching(GF_DasherCtx *ctx, GF_MPD_AdaptationSet
      *set) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:3797,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:3801,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3800,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3802,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3799,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3803,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - ds
    - a_ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 3808
      start: 3795
    functionDepth: 0
    functionLinenumber: 3795
    functionLinenumberEnd: 3808
    functionName: dasher_check_hls_variant_path
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - strcmp
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_check_hls_variant_path(GF_DasherCtx *ctx, GF_DashStream
      *ds, GF_DashStream *a_ds) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:1903,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1926,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1952,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1951,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:1975,1
    - Dst: dasher_check_chaining
      Src: /src/gpac/src/filters/dasher.c:1998,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:2012,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:1931,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1933,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1941,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:1945,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1937,1
    - Dst: strncat
      Src: /src/gpac/src/filters/dasher.c:1946,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1953,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1958,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:1971,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:1974,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:1966,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:1905,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1928,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1961,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:1967,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:1970,1
    - Dst: dasher_check_chaining
      Src: /src/gpac/src/filters/dasher.c:1997,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:2004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1908,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1907,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:1906,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1920,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:1922,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1939,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:1935,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:1956,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:1957,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:1962,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:2007,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 141
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 2021
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 2021
    functionName: dasher_update_mpd
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_strdup
    - sprintf
    - strcmp
    - strncat
    - dasher_check_chaining
    - strcpy
    - gf_xml_dom_create_attribute
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_update_mpd(GF_DasherCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:3483,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3489,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - ds
    - ref_type
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    constantsTouched: []
    func_position:
      end: 3496
      start: 3480
    functionDepth: 0
    functionLinenumber: 3480
    functionLinenumberEnd: 3496
    functionName: dasher_update_dep_list
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_filter_pid_get_property_str
    linkageType: ''
    returnType: void
    signature: 'static void dasher_update_dep_list(GF_DasherCtx *ctx, GF_DashStream
      *ds, const char *ref_type) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5255,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5276,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dasher.c:5288,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/dasher.c:5321,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5398,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5452,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5450,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5471,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/dasher.c:5387,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5254,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5275,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5390,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5397,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5461,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5421,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5415,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5347,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5259,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5313,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dasher.c:5416,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5448,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5383,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/dasher.c:5386,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:5404,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5437,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5253,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5279,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5282,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/dasher.c:5311,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:5495,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dasher.c:5251,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5271,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5281,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:5287,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5350,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/filters/dasher.c:5376,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5457,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5470,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5496,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5280,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dasher.c:5365,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5433,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5453,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5392,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5274,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5395,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5474,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5487,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5492,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5391,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5260,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5285,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5465,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dasher.c:5500,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dasher.c:5249,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5368,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5362,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5459,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5483,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5485,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:5490,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5257,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5272,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:5501,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5314,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5252,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5351,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5408,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5467,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5478,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5439,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5278,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5284,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5464,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5493,1
    - Dst: gf_filter_pck_check_realloc
      Src: /src/gpac/src/filters/dasher.c:5499,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5369,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/dasher.c:5424,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5454,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5349,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5475,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5440,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5247,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/dasher.c:5376,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5382,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5462,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5486,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:5491,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dasher.c:5498,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dasher.c:5502,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5431,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/dasher.c:5379,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5256,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5277,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5267,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5285,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dasher.c:5310,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dasher.c:5406,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/dasher.c:5373,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5405,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5358,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5251,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5283,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:5479,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 195
    argCount: 2
    argNames:
    - ctx
    - opid
    argTypes:
    - GF_DasherCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5505
      start: 5244
    functionDepth: 0
    functionLinenumber: 5244
    functionLinenumberEnd: 5505
    functionName: dasher_write_index
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_write_data
    - gf_filter_pid_enum_properties
    - gf_bs_seek
    - FIX2FLT
    - gf_filter_pck_new_alloc
    - gf_list_last
    - gf_bs_del
    - gf_bs_write_double
    - GF_4CC
    - gf_list_count
    - gf_bs_write_utf8
    - gf_bs_write_u64
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_free
    - gf_filter_pck_send
    - gf_bs_write_float
    - gf_filter_pck_check_realloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_write_index(GF_DasherCtx *ctx, GF_FilterPid *opid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:6020,1
    - Dst: dasher_get_stream
      Src: /src/gpac/src/filters/dasher.c:6024,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dasher.c:6023,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:6037,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:6027,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6038,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6041,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - base_ds
    - base_rep_ctx
    - check_only
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_MPD_Representation*
    - Bool
    constantsTouched: []
    func_position:
      end: 6052
      start: 6013
    functionDepth: 0
    functionLinenumber: 6013
    functionLinenumberEnd: 6052
    functionName: dasher_reload_muxed_comp
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - dasher_get_stream
    - strchr
    - gf_mpd_representation_free
    - atoi
    - gf_list_del_item
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_reload_muxed_comp(GF_DasherCtx *ctx, GF_DashStream
      *base_ds, GF_MPD_Representation *base_rep_ctx, Bool check_only) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_new
      Src: /src/gpac/src/filters/dasher.c:2026,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2030,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2032,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2036,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2070,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:2064,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2072,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:2074,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2077,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2089,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:2028,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2049,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2053,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:2068,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:2063,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2073,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2092,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2031,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2033,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/dasher.c:2060,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2074,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2083,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2091,1
    - Dst: dasher_update_mpd
      Src: /src/gpac/src/filters/dasher.c:2095,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2041,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2051,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:2059,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2075,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2076,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2083,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2096
    functionName: dasher_setup_mpd
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - snprintf
    - gf_list_get
    - gf_mpd_new
    - gf_fileio_translate_url
    - strncmp
    - dasher_update_mpd
    - gf_strdup
    - strrchr
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_sys_is_test_mode
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_setup_mpd(GF_DasherCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_load_filter
      Src: /src/gpac/src/filters/dasher.c:3500,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3503,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/dasher.c:3504,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dasher.c:3503,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3501,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - ds
    - szSRC
    argTypes:
    - GF_Filter*
    - GF_DashStream*
    - char*
    constantsTouched: []
    func_position:
      end: 3506
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3506
    functionName: dasher_inject_scte35_processor
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_set_source
    - gf_filter_get_sep
    - gf_filter_reset_source
    - sprintf
    - gf_filter_load_filter
    linkageType: ''
    returnType: void
    signature: 'static void dasher_inject_scte35_processor(GF_Filter *filter, GF_DashStream
      *ds, char *szSRC) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dasher_write_index
      Src: /src/gpac/src/filters/dasher.c:5517,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:5543,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/dasher.c:5522,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:5542,1
    - Dst: gf_mpd_write_m3u8_master_playlist
      Src: /src/gpac/src/filters/dasher.c:5543,1
    - Dst: gf_mpd_write
      Src: /src/gpac/src/filters/dasher.c:5545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5550,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:5550,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dasher.c:5551,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/dasher.c:5558,1
    - Dst: gf_sha1_file_ptr
      Src: /src/gpac/src/filters/dasher.c:5562,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5559,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dasher.c:5569,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dasher.c:5570,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/dasher.c:5559,1
    - Dst: dasher_transfer_file
      Src: /src/gpac/src/filters/dasher.c:5573,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dasher.c:5575,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 6
    argNames:
    - ctx
    - last_period_dur
    - do_m3u8
    - m3u8_second_pass
    - opid
    - alt_name
    argTypes:
    - GF_DasherCtx*
    - u64
    - Bool
    - Bool
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 5577
      start: 5508
    functionDepth: 0
    functionLinenumber: 5508
    functionLinenumberEnd: 5577
    functionName: dasher_write_and_send_manifest
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_mpd_write_m3u8_master_playlist
    - gf_list_last
    - gf_sha1_file_ptr
    - memcmp
    - gf_error_to_string
    - GF_LOG
    - gf_file_temp
    - dasher_write_index
    - gf_ftell
    - gf_mpd_write
    - gf_file_basename
    - memcpy
    - gf_fclose
    - dasher_transfer_file
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_write_and_send_manifest(GF_DasherCtx *ctx, u64
      last_period_dur, Bool do_m3u8, Bool m3u8_second_pass, GF_FilterPid *opid, char
      *alt_name) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dasher.c:6071,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6247,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:6372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6222,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6091,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6113,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6243,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6295,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6378,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6363,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6246,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6108,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6129,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6191,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6236,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6124,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6140,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dasher.c:6203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6217,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6292,1
    - Dst: dasher_get_stream
      Src: /src/gpac/src/filters/dasher.c:6229,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6360,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6338,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:6083,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dasher.c:6077,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dasher.c:6101,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:6302,1
    - Dst: dasher_open_pid
      Src: /src/gpac/src/filters/dasher.c:6381,1
    - Dst: dasher_open_pid
      Src: /src/gpac/src/filters/dasher.c:6375,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/dasher.c:6067,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/filters/dasher.c:6076,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6082,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:6324,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6351,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dasher.c:6074,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6084,1
    - Dst: dasher_get_stream
      Src: /src/gpac/src/filters/dasher.c:6127,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dasher.c:6066,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/filters/dasher.c:6075,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6112,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6190,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6355,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6313,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6226,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:6090,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:6100,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6117,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:6204,1
    - Dst: dasher_reload_muxed_comp
      Src: /src/gpac/src/filters/dasher.c:6342,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/filters/dasher.c:6205,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6312,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dasher.c:6336,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dasher.c:6063,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/dasher.c:6070,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6080,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:6087,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6070,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:6086,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6116,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:6332,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6240,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6153,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:6182,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dasher.c:6076,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6121,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6239,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6365,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:6128,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6357,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6100,1
    - Dst: dasher_reload_muxed_comp
      Src: /src/gpac/src/filters/dasher.c:6172,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:6373,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6242,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:6079,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6114,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6223,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:6309,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 296
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 6387
      start: 6054
    functionDepth: 0
    functionLinenumber: 6054
    functionLinenumberEnd: 6387
    functionName: dasher_reload_context
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_new
    - GF_LOG
    - dasher_reload_muxed_comp
    - strstr
    - gf_xml_dom_del
    - gf_list_find
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_list_del
    - dasher_open_pid
    - gf_mpd_representation_free
    - gf_list_new
    - gf_list_del_item
    - gf_list_clone
    - gf_assert
    - gf_list_insert
    - gf_list_reset
    - gf_list_get
    - gf_xml_dom_parse
    - gf_mpd_init_from_dom
    - sprintf
    - dasher_open_destination
    - gf_sys_is_test_mode
    - gf_free
    - gf_xml_dom_get_error
    - gf_filter_pid_get_property
    - dasher_get_stream
    - strrchr
    - gf_xml_dom_get_root
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_reload_context(GF_Filter *filter, GF_DasherCtx
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:857,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 871
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 871
    functionName: dasher_get_dash_dur
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: void
    signature: 'static void dasher_get_dash_dur(GF_DasherCtx *ctx, GF_DashStream *ds) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dasher.c:2188,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2239,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2247,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2250,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2251,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2255,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2266,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dasher.c:2287,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/filters/dasher.c:2291,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:2309,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2329,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2332,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dasher.c:2310,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dasher.c:2298,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2352,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2315,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2319,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2351,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2243,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2246,1
    - Dst: gf_xml_dom_node_new
      Src: /src/gpac/src/filters/dasher.c:2248,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2256,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2257,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dasher.c:2280,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dasher.c:2286,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dasher.c:2289,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dasher.c:2301,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:2302,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dasher.c:2304,1
    - Dst: get_canon_urn
      Src: /src/gpac/src/filters/dasher.c:2313,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2316,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2350,1
    - Dst: get_drm_kms_name
      Src: /src/gpac/src/filters/dasher.c:2318,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dasher.c:2355,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2326,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dasher.c:2307,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2327,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:2187,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2192,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2225,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dasher.c:2225,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2226,1
    - Dst: get_canon_urn
      Src: /src/gpac/src/filters/dasher.c:2236,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dasher.c:2270,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:2283,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dasher.c:2292,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:2294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2348,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2314,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2317,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2321,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2219,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2203,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2224,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2231,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2237,1
    - Dst: gf_xml_dom_node_new
      Src: /src/gpac/src/filters/dasher.c:2253,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dasher.c:2269,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:2284,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dasher.c:2290,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dasher.c:2304,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dasher.c:2311,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dasher.c:2348,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dasher.c:2335,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2318,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dasher.c:2351,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dasher.c:2306,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2325,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dasher.c:2297,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/dasher.c:2337,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2342,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dasher.c:2308,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 177
    argCount: 3
    argNames:
    - ctx
    - ds
    - for_set
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2357
    functionName: dasher_get_content_protection_desc
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_write_u24
    - gf_bs_get_content
    - gf_malloc
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_list_count
    - gf_strdup
    - gf_bs_read_data
    - gf_list_new
    - gf_mpd_descriptor_new
    - gf_bs_read_u32
    - gf_list_get
    - gf_bs_read_u8
    - get_canon_urn
    - gf_bs_get_position
    - get_drm_kms_name
    - sprintf
    - gf_bs_new
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_free
    - gf_xml_dom_create_attribute
    - gf_filter_pid_get_property
    - gf_xml_dom_node_new
    - gf_base64_encode
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *dasher_get_content_protection_desc(GF_DasherCtx *ctx,
      GF_DashStream *ds, GF_MPD_AdaptationSet *for_set) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3766,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - ds
    - url
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    constantsTouched: []
    func_position:
      end: 3770
      start: 3761
    functionDepth: 0
    functionLinenumber: 3761
    functionLinenumberEnd: 3770
    functionName: dasher_cat_mpd_url
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char * dasher_cat_mpd_url(GF_DasherCtx *ctx, GF_DashStream
      *ds, const char *url) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:878,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:896,1
    - Dst: dasher_get_dash_dur
      Src: /src/gpac/src/filters/dasher.c:880,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 898
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 898
    functionName: dasher_send_encode_hints
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - dasher_get_dash_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void dasher_send_encode_hints(GF_DasherCtx *ctx, GF_DashStream
      *ds) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2387,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:2375,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2410,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2393,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2387,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/src/filters/dasher.c:2373,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/dasher.c:2380,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2393,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2400,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2396,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 91
    argCount: 4
    argNames:
    - ctx
    - ds
    - out_subtype
    - out_ext
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 2413
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2413
    functionName: dasher_get_mime_and_ext
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_codecid_mime
    - strcmp
    - strchr
    - gf_codecid_file_ext
    linkageType: ''
    returnType: void
    signature: 'static void dasher_get_mime_and_ext(GF_DasherCtx *ctx, GF_DashStream
      *ds, const char **out_subtype, const char **out_ext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:903,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:906,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:907,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:904,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:905,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - template
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 909
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 909
    functionName: dasher_template_use_source_url
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_template_use_source_url(const char *template) '
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 3
    argCount: 4
    argNames:
    - cbk
    - prop_4cc
    - prop_name
    - src_prop
    argTypes:
    - void*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 949
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 949
    functionName: dasher_merge_prop
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_merge_prop(void *cbk, u32 prop_4cc, const char
      *prop_name, const GF_PropertyValue *src_prop) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:5108,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dasher.c:5116,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dasher.c:5113,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dasher.c:5115,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:5110,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:5119,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5120,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/dasher.c:5120,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5122,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:5122,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:5125,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dasher.c:5125,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:5127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - ds
    - manifest
    - manifest_name
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5128
      start: 5102
    functionDepth: 0
    functionLinenumber: 5102
    functionLinenumberEnd: 5128
    functionName: dasher_forward_manifest_raw
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - gf_url_concatenate
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - PROP_STRING
    - gf_filter_pck_set_framing
    - PROP_STRING_NO_COPY
    - gf_filter_pck_set_seek_flag
    - memcpy
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void dasher_forward_manifest_raw(GF_DasherCtx *ctx, GF_DashStream
      *ds, const char *manifest, const char *manifest_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ds
    - cts
    argTypes:
    - GF_DashStream*
    - u64
    constantsTouched: []
    func_position:
      end: 8233
      start: 8211
    functionDepth: 0
    functionLinenumber: 8211
    functionLinenumberEnd: 8233
    functionName: dasher_translate_cts
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u64 dasher_translate_cts(GF_DashStream *ds, u64 cts) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filters/dasher.c:583,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:595,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:593,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:587,1
    - Dst: gf_filter_pid_enum_destinations
      Src: /src/gpac/src/filters/dasher.c:586,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:597,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:605,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:605,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dasher.c:607,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:607,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 608
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 608
    functionName: dasher_ensure_outpath
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_strdup
    - PROP_STRING
    - gf_filter_pid_set_property
    - gf_filter_pid_get_destination
    - gf_filter_pid_enum_destinations
    - gf_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void dasher_ensure_outpath(GF_DasherCtx *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dasher.c:5140,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5181,1
    - Dst: dasher_get_content_protection_desc
      Src: /src/gpac/src/filters/dasher.c:5183,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5197,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:5206,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:5210,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:5215,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:5226,1
    - Dst: dasher_check_chaining
      Src: /src/gpac/src/filters/dasher.c:5220,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dasher.c:5236,1
    - Dst: dasher_transfer_file
      Src: /src/gpac/src/filters/dasher.c:5233,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/filters/dasher.c:5144,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dasher.c:5144,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5153,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5156,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5177,1
    - Dst: dasher_get_set_and_rep
      Src: /src/gpac/src/filters/dasher.c:5165,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5182,1
    - Dst: dasher_merge_rep
      Src: /src/gpac/src/filters/dasher.c:5185,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:5188,1
    - Dst: dasher_check_chaining
      Src: /src/gpac/src/filters/dasher.c:5219,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5239,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/dasher.c:5224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5229,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/filters/dasher.c:5138,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5147,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:5158,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/filters/dasher.c:5175,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/filters/dasher.c:5172,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:5159,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5161,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5199,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:5207,1
    - Dst: gf_mpd_write
      Src: /src/gpac/src/filters/dasher.c:5227,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dasher.c:5237,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dasher.c:5238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:5211,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/filters/dasher.c:5141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5167,1
    - Dst: dasher_get_content_protection_desc
      Src: /src/gpac/src/filters/dasher.c:5179,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:5189,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:5190,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5200,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5201,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5202,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:5214,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:5229,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 108
    argCount: 2
    argNames:
    - ctx
    - manifest
    argTypes:
    - GF_DasherCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 5242
      start: 5131
    functionDepth: 0
    functionLinenumber: 5131
    functionLinenumberEnd: 5242
    functionName: dasher_forward_mpd
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mpd_new
    - dasher_get_set_and_rep
    - GF_LOG
    - dasher_check_chaining
    - dasher_transfer_file
    - gf_xml_dom_del
    - gf_list_find
    - gf_xml_dom_new
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_mpd_del
    - strcmp
    - gf_mpd_write
    - gf_list_new
    - dasher_get_content_protection_desc
    - gf_list_get
    - gf_mpd_init_from_dom
    - gf_fclose
    - gf_file_temp
    - gf_xml_dom_parse_string
    - gf_mpd_del_list
    - gf_xml_dom_create_attribute
    - dasher_get_utc
    - gf_filter_pid_get_property
    - dasher_merge_rep
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: void
    signature: 'static void dasher_forward_mpd(GF_DasherCtx *ctx, const char *manifest) '
  - BBCount: 121
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8452,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8487,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:8524,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8454,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8451,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8752,1
    - Dst: dasher_strip_base
      Src: /src/gpac/src/filters/dasher.c:8591,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8252,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8284,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8526,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8531,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8547,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:8604,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:8658,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:8665,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8677,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8710,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dasher.c:8316,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8541,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8579,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8683,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8735,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8466,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:8349,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8391,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8474,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8582,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:8584,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:8603,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/dasher.c:8305,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8527,1
    - Dst: dasher_translate_cts
      Src: /src/gpac/src/filters/dasher.c:8641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8645,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:8351,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8558,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8566,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:8662,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:8698,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8708,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8715,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:8719,1
    - Dst: gf_cryptfout_push_key
      Src: /src/gpac/src/filters/dasher.c:8420,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8263,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8293,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8308,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8312,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:8436,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8588,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8619,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:8725,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8507,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8473,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8248,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8360,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:8531,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8678,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:8693,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:8733,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8613,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8295,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8280,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:8324,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8366,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8485,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8475,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8522,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8512,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:8691,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8587,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:8520,1
    - Dst: dasher_forward_manifest_raw
      Src: /src/gpac/src/filters/dasher.c:8275,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dasher.c:8318,1
    - Dst: dasher_strip_base
      Src: /src/gpac/src/filters/dasher.c:8478,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8602,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:8643,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:8655,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8694,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8702,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8750,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8324,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:8334,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8443,1
    - Dst: dasher_forward_mpd
      Src: /src/gpac/src/filters/dasher.c:8267,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8285,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8311,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8471,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8497,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8555,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:8575,1
    - Dst: gf_mpd_base_url_free
      Src: /src/gpac/src/filters/dasher.c:8605,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8407,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:8447,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8255,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8318,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8357,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:8701,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8717,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:8746,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8246,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8258,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:8261,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dasher.c:8306,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8316,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:8446,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8539,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8594,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8627,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:8675,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:8752,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:8321,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:8461,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8463,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:8600,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dasher.c:8638,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:8641,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8707,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:8506,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8450,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8464,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8271,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8306,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8462,1
    - Dst: dasher_insert_timeline_entry
      Src: /src/gpac/src/filters/dasher.c:8344,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:8449,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8456,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:8398,1
    - Dst: dasher_forward_manifest_raw
      Src: /src/gpac/src/filters/dasher.c:8289,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8313,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:8321,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8508,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:8589,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:8595,1
    - Dst: dasher_strip_base
      Src: /src/gpac/src/filters/dasher.c:8598,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:8721,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dasher.c:8750,1
    CyclomaticComplexity: 191
    EdgeCount: 191
    ICount: 472
    argCount: 4
    argNames:
    - ctx
    - ds
    - pck
    - in_pck
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_FilterPacket*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 8754
      start: 8235
    functionDepth: 0
    functionLinenumber: 8235
    functionLinenumberEnd: 8754
    functionName: dasher_mark_segment_start
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - dasher_translate_cts
    - gf_filter_pck_get_duration
    - GF_LOG
    - PROP_BOOL
    - dasher_strip_base
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - PROP_FRAC64_INT
    - strstr
    - dasher_cat_mpd_url
    - gf_strdup
    - gf_list_count
    - PROP_STRING
    - dasher_forward_mpd
    - strcmp
    - gf_mpd_base_url_free
    - gf_net_get_ntp_ts
    - dasher_forward_manifest_raw
    - PROP_UINT
    - gf_filter_pid_get_property_str
    - strcpy
    - gf_list_new
    - gf_assert
    - gf_cryptfout_push_key
    - gf_list_del_item
    - gf_filter_pck_get_dts
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - sprintf
    - ABS
    - dasher_insert_timeline_entry
    - gf_free
    - gf_media_mpd_format_segment_name
    - gf_url_concatenate
    - strcat
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void dasher_mark_segment_start(GF_DasherCtx *ctx, GF_DashStream
      *ds, GF_FilterPacket *pck, GF_FilterPacket *in_pck) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6886,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6902,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:6946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6922,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:6926,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:6928,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:6920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6942,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6934,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6912,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:6909,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6930,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6944,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:6943,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:6869,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dasher.c:6878,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6874,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6872,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:6876,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6885,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6893,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:6925,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:6915,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:6910,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6935,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 78
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 6948
      start: 6860
    functionDepth: 0
    functionLinenumber: 6860
    functionLinenumberEnd: 6948
    functionName: dasher_setup_ssr
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_list_del
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - sprintf
    - gf_free
    - gf_list_new
    - gf_list_pop_back
    - gf_mpd_descriptor_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_setup_ssr(GF_DasherCtx *ctx) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: dasher_udpate_periods_and_manifest
      Src: /src/gpac/src/filters/dasher.c:6598,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6627,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6676,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:6677,1
    - Dst: dasher_udpate_periods_and_manifest
      Src: /src/gpac/src/filters/dasher.c:6673,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6647,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:6739,1
    - Dst: gf_mpd_period_new
      Src: /src/gpac/src/filters/dasher.c:6762,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6784,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6797,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6822,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6823,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6606,1
    - Dst: dasher_update_dyn_bitrates
      Src: /src/gpac/src/filters/dasher.c:6596,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6674,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6684,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:6730,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:6731,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:6737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6750,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:6754,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6821,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6835,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6786,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dasher.c:6631,1
    - Dst: dasher_reload_context
      Src: /src/gpac/src/filters/dasher.c:6665,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:6656,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6688,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6695,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:6710,1
    - Dst: dasher_send_encode_hints
      Src: /src/gpac/src/filters/dasher.c:6735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6745,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6769,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:6829,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6830,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6764,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:6773,1
    - Dst: dasher_setup_period
      Src: /src/gpac/src/filters/dasher.c:6856,1
    - Dst: dasher_ensure_outpath
      Src: /src/gpac/src/filters/dasher.c:6592,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6612,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:6615,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6629,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6642,1
    - Dst: dasher_reset_stream
      Src: /src/gpac/src/filters/dasher.c:6634,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:6714,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:6733,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6747,1
    - Dst: dasher_setup_mpd
      Src: /src/gpac/src/filters/dasher.c:6763,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:6828,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6794,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:6777,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 266
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 6857
      start: 6578
    functionDepth: 0
    functionLinenumber: 6578
    functionLinenumberEnd: 6857
    functionName: dasher_switch_period
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - dasher_reset_stream
    - gf_filter_pid_set_discard
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_remove
    - dasher_ensure_outpath
    - dasher_update_dyn_bitrates
    - gf_list_count
    - gf_filter_pid_get_packet
    - strcmp
    - gf_strdup
    - gf_mpd_period_new
    - gf_assert
    - gf_list_get
    - sprintf
    - dasher_setup_mpd
    - dasher_send_encode_hints
    - gf_free
    - gf_filter_pid_send_event
    - dasher_udpate_periods_and_manifest
    - dasher_setup_period
    - dasher_reload_context
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_switch_period(GF_Filter *filter, GF_DasherCtx
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2926,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2928,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2929,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2927,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2931,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2932,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2934,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2936,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ds
    argTypes:
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 2939
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2939
    functionName: dasher_add_inband_event
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void dasher_add_inband_event(GF_DashStream *ds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5581,1
    - Dst: dasher_update_bitrate
      Src: /src/gpac/src/filters/dasher.c:5584,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 5586
      start: 5579
    functionDepth: 0
    functionLinenumber: 5579
    functionLinenumberEnd: 5586
    functionName: dasher_update_dyn_bitrates
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - dasher_update_bitrate
    linkageType: ''
    returnType: void
    signature: 'static void dasher_update_dyn_bitrates(GF_DasherCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5937,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5949,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5950,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:5944,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5939,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5951,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5952,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5953,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5954,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5956,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5965,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5971,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5975,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:5982,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5966,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:5984,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:5980,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 5987
      start: 5932
    functionDepth: 0
    functionLinenumber: 5932
    functionLinenumberEnd: 5987
    functionName: dasher_context_update_period_start
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - strcmp
    - sprintf
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void dasher_context_update_period_start(GF_DasherCtx *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2968,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2954,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2985,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2986,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2990,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:2992,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3051,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3005,1
    - Dst: dasher_add_inband_event
      Src: /src/gpac/src/filters/dasher.c:3067,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2969,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2989,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3020,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3022,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3026,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3030,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3031,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3035,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3045,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3003,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3060,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3010,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:2952,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2984,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2984,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2985,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2986,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2998,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3049,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3073,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3055,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2995,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3017,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3024,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3009,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3034,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3044,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3046,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3050,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3054,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3056,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3072,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:3062,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:3061,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 156
    argCount: 2
    argNames:
    - ctx
    - set
    argTypes:
    - GF_DasherCtx*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 3075
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 3075
    functionName: dasher_setup_set_defaults
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - sprintf
    - strcmp
    - GF_LOG
    - dasher_add_inband_event
    - strrchr
    - gf_mpd_descriptor_new
    linkageType: ''
    returnType: void
    signature: 'static void dasher_setup_set_defaults(GF_DasherCtx *ctx, GF_MPD_AdaptationSet
      *set) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5617,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:5615,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/filters/dasher.c:5630,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dasher.c:5635,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5636,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:5736,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:5746,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:5749,1
    - Dst: dasher_write_and_send_manifest
      Src: /src/gpac/src/filters/dasher.c:5775,1
    - Dst: dasher_update_dyn_bitrates
      Src: /src/gpac/src/filters/dasher.c:5605,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:5610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5612,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5624,1
    - Dst: dasher_write_and_send_manifest
      Src: /src/gpac/src/filters/dasher.c:5692,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5719,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:5742,1
    - Dst: dasher_update_mpd
      Src: /src/gpac/src/filters/dasher.c:5640,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5751,1
    - Dst: gf_mpd_write
      Src: /src/gpac/src/filters/dasher.c:5792,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dasher.c:5786,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:5715,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:5744,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dasher.c:5757,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5759,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:5767,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:5772,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5788,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:5796,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:5770,1
    - Dst: dasher_transfer_file
      Src: /src/gpac/src/filters/dasher.c:5756,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:5725,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:5727,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:5747,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:5768,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dasher.c:5771,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dasher.c:5793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5796,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 168
    argCount: 3
    argNames:
    - filter
    - ctx
    - for_mpd_only
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 5803
      start: 5588
    functionDepth: 0
    functionLinenumber: 5588
    functionLinenumberEnd: 5803
    functionName: dasher_send_manifest
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - snprintf
    - GF_LOG
    - dasher_transfer_file
    - gf_file_ext_start
    - dasher_update_dyn_bitrates
    - gf_list_last
    - dasher_update_mpd
    - gf_error_to_string
    - gf_strdup
    - gf_mpd_write
    - gf_gmtime
    - strcpy
    - gf_assert
    - gf_fopen
    - gf_dynstrcat
    - gf_list_get
    - gf_list_enum
    - gf_free
    - gf_sys_old_arch_compat
    - dasher_get_utc
    - gf_url_concatenate
    - strcat
    - gf_fclose
    - dasher_write_and_send_manifest
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dasher_send_manifest(GF_Filter *filter, GF_DasherCtx *ctx,
      Bool for_mpd_only) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5992,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6001,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5994,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5997,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:6003,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:6008,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - src_url
    - original_pid
    - original_period_id
    - original_rep_id
    argTypes:
    - GF_DasherCtx*
    - char*
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6011
      start: 5989
    functionDepth: 0
    functionLinenumber: 5989
    functionLinenumberEnd: 6011
    functionName: dasher_get_stream
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_DashStream*
    signature: 'static GF_DashStream *dasher_get_stream(GF_DasherCtx *ctx, const char
      *src_url, u32 original_pid, const char *original_period_id, const char *original_rep_id) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2430,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2426,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2449,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/dasher.c:2454,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2498,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2508,1
    - Dst: dasher_get_rfc_6381_codec_name
      Src: /src/gpac/src/filters/dasher.c:2532,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2432,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/dasher.c:2488,1
    - Dst: gf_audio_fmt_get_dolby_chanmap
      Src: /src/gpac/src/filters/dasher.c:2489,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2492,1
    - Dst: gf_audio_fmt_get_cicp_from_layout
      Src: /src/gpac/src/filters/dasher.c:2503,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2511,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2516,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2519,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2521,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2534,1
    - Dst: dasher_get_mime_and_ext
      Src: /src/gpac/src/filters/dasher.c:2423,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2441,1
    - Dst: gf_audio_fmt_get_dolby_chanmap_from_layout
      Src: /src/gpac/src/filters/dasher.c:2486,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2494,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/dasher.c:2504,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/filters/dasher.c:2514,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2518,1
    - Dst: dasher_get_content_protection_desc
      Src: /src/gpac/src/filters/dasher.c:2549,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2428,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2491,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2497,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2495,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2500,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2510,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:2522,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2523,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2527,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2533,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/filters/dasher.c:2548,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 129
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2551
    functionName: dasher_update_rep
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - dasher_get_rfc_6381_codec_name
    - gf_dynstrcat
    - dasher_get_content_protection_desc
    - gf_filter_pid_get_property
    - gf_strdup
    - gf_media_get_reduced_frame_rate
    - sprintf
    - GF_LOG
    - dasher_get_mime_and_ext
    - gf_audio_fmt_get_dolby_chanmap_from_layout
    - GF_SAFEALLOC
    - gf_free
    - gf_audio_fmt_get_cicp_from_layout
    - gf_audio_fmt_get_cicp_layout
    - gf_mpd_del_list
    - gf_audio_fmt_get_dolby_chanmap
    - gf_mpd_descriptor_new
    linkageType: ''
    returnType: void
    signature: 'static void dasher_update_rep(GF_DasherCtx *ctx, GF_DashStream *ds) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:2776,1
    - Dst: dasher_get_next_as_id
      Src: /src/gpac/src/filters/dasher.c:2795,1
    - Dst: dasher_get_next_as_id
      Src: /src/gpac/src/filters/dasher.c:2799,1
    - Dst: dasher_same_roles
      Src: /src/gpac/src/filters/dasher.c:2784,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:2811,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:2825,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:2826,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:2827,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2832,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2837,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2856,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:2887,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:2880,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 122
    argCount: 3
    argNames:
    - ctx
    - ds
    - ds_test
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 2893
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2893
    functionName: dasher_same_adaptation_set
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - dasher_get_next_as_id
    - gf_list_find
    - gf_filter_pid_get_property
    - strcmp
    - dasher_same_roles
    - gf_props_equal
    - gf_filter_pid_get_property_str
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_same_adaptation_set(GF_DasherCtx *ctx, GF_DashStream
      *ds, GF_DashStream *ds_test) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10428,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:10442,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/dasher.c:10435,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:10445,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10430,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:10446,1
    - Dst: dasher_send_encode_hints
      Src: /src/gpac/src/filters/dasher.c:10448,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:10449,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:10457,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dasher.c:10476,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 10477
      start: 10421
    functionDepth: 0
    functionLinenumber: 10421
    functionLinenumberEnd: 10477
    functionName: dasher_resume_subdur
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - GF_FEVT_INIT
    - gf_list_count
    - gf_filter_post_process_task
    - dasher_send_encode_hints
    - gf_filter_pid_send_event
    - gf_filter_pid_discard_block
    linkageType: ''
    returnType: void
    signature: 'static void dasher_resume_subdur(GF_Filter *filter, GF_DasherCtx *ctx) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:2557,1
    - Dst: gf_mpd_representation_new
      Src: /src/gpac/src/filters/dasher.c:2558,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2598,1
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filters/dasher.c:2611,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2588,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:2614,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2616,1
    - Dst: gf_url_concatenate_parent
      Src: /src/gpac/src/filters/dasher.c:2621,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2677,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2678,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dasher.c:2695,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/dasher.c:2720,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2705,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2683,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2682,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2715,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2568,1
    - Dst: dasher_update_rep
      Src: /src/gpac/src/filters/dasher.c:2565,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dasher.c:2583,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2603,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:2617,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2618,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2619,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2633,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2672,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/dasher.c:2677,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2721,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2716,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/dasher.c:2682,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2681,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2700,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2578,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2580,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2584,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:2593,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2609,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:2615,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2623,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2625,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2628,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2673,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/dasher.c:2713,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:2707,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dasher.c:2710,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2717,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2572,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:2583,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2596,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:2593,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2594,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2622,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2627,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/dasher.c:2640,1
    - Dst: gf_xml_dom_node_new
      Src: /src/gpac/src/filters/dasher.c:2671,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2680,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2701,1
    - Dst: gf_xml_dom_create_attribute
      Src: /src/gpac/src/filters/dasher.c:2720,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/dasher.c:2698,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:2725,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 158
    argCount: 3
    argNames:
    - ctx
    - ds
    - srd_rep_idx
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 2728
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2728
    functionName: dasher_setup_rep
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_props_dump
    - gf_filter_pid_enum_properties
    - gf_mpd_representation_new
    - gf_list_find
    - gf_url_concatenate_parent
    - gf_strdup
    - gf_list_new
    - gf_assert
    - gf_dynstrcat
    - dasher_update_rep
    - sprintf
    - gf_filter_pid_get_destination
    - gf_props_get_type_name
    - gf_free
    - gf_xml_dom_create_attribute
    - gf_url_is_relative
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_xml_dom_node_new
    - gf_base64_encode
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void dasher_setup_rep(GF_DasherCtx *ctx, GF_DashStream *ds,
      u32 *srd_rep_idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:2903,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:2912,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:2909,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:2913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:2916,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - p_dst_list
    - desc_val
    argTypes:
    - GF_List**
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2919
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2919
    functionName: dasher_add_descriptors
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void dasher_add_descriptors(GF_List **p_dst_list, const GF_PropertyValue
      *desc_val) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10498,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10493,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10489,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10506,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dasher.c:10509,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:10511,1
    - Dst: dasher_set_timeline_parts
      Src: /src/gpac/src/filters/dasher.c:10533,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:10539,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dasher.c:10541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10539,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - evt
    argTypes:
    - GF_DasherCtx*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 10552
      start: 10479
    functionDepth: 0
    functionLinenumber: 10479
    functionLinenumberEnd: 10552
    functionName: dasher_process_hls_ll
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - dasher_set_timeline_parts
    - gf_realloc
    - gf_list_count
    - GF_LOG
    - gf_free
    - gf_filter_pid_get_name
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void dasher_process_hls_ll(GF_DasherCtx *ctx, const GF_FilterEvent
      *evt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:702,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:733,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:731,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:702,1
    - Dst: dasher_get_dep_bitrate
      Src: /src/gpac/src/filters/dasher.c:729,1
    - Dst: dasher_update_bitrate
      Src: /src/gpac/src/filters/dasher.c:737,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 747
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 747
    functionName: dasher_update_bitrate
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - dasher_get_dep_bitrate
    - dasher_update_bitrate
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_get_name
    linkageType: ''
    returnType: void
    signature: 'static void dasher_update_bitrate(GF_DasherCtx *ctx, GF_DashStream
      *ds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5036,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5042,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:5043,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5040,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5039,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - period
    - repid
    - out_set
    - out_rep
    argTypes:
    - GF_MPD_Period*
    - char*
    - GF_MPD_AdaptationSet**
    - GF_MPD_Representation**
    constantsTouched: []
    func_position:
      end: 5050
      start: 5034
    functionDepth: 0
    functionLinenumber: 5034
    functionLinenumberEnd: 5050
    functionName: dasher_get_set_and_rep
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void dasher_get_set_and_rep(GF_MPD_Period *period, const char
      *repid, GF_MPD_AdaptationSet **out_set, GF_MPD_Representation **out_rep) '
  - BBCount: 122
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:7099,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7201,1
    - Dst: dasher_add_descriptors
      Src: /src/gpac/src/filters/dasher.c:7317,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7220,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:7292,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7203,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7394,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:7422,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7454,1
    - Dst: dasher_add_descriptors
      Src: /src/gpac/src/filters/dasher.c:7047,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:7056,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:7101,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7221,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7130,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7186,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:7380,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7246,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7314,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7025,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7163,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7225,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7325,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7351,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7366,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7425,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7000,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7083,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7180,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7283,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7309,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7348,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7373,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7033,1
    - Dst: dasher_add_descriptors
      Src: /src/gpac/src/filters/dasher.c:7045,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7081,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7260,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7339,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7349,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7379,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/filters/dasher.c:7415,1
    - Dst: dasher_setup_ssr
      Src: /src/gpac/src/filters/dasher.c:7489,1
    - Dst: gf_mpd_descriptor_new
      Src: /src/gpac/src/filters/dasher.c:7273,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:7064,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:7117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7127,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7143,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7328,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7407,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7431,1
    - Dst: dasher_setup_sources
      Src: /src/gpac/src/filters/dasher.c:7507,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:7278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6988,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:6972,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:7097,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7374,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:7378,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7435,1
    - Dst: gf_net_get_ntp_ms
      Src: /src/gpac/src/filters/dasher.c:7463,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:7464,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:7269,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7319,1
    - Dst: gf_mpd_adaptation_set_new
      Src: /src/gpac/src/filters/dasher.c:7252,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:7268,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:7453,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7113,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:7183,1
    - Dst: dasher_get_dep_bitrate
      Src: /src/gpac/src/filters/dasher.c:7218,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7297,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7486,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7517,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7215,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/dasher.c:7319,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7124,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:7032,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7086,1
    - Dst: dasher_add_descriptors
      Src: /src/gpac/src/filters/dasher.c:7303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7237,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7428,1
    - Dst: dasher_context_update_period_start
      Src: /src/gpac/src/filters/dasher.c:7564,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:7239,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:7184,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:6969,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7138,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:7172,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/dasher.c:7319,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7350,1
    - Dst: dasher_period_count
      Src: /src/gpac/src/filters/dasher.c:7392,1
    - Dst: dasher_check_bitstream_switching
      Src: /src/gpac/src/filters/dasher.c:7503,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7510,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:7179,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:7182,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7185,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7270,1
    - Dst: dasher_same_adaptation_set
      Src: /src/gpac/src/filters/dasher.c:7311,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7402,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:7439,1
    - Dst: dasher_setup_set_defaults
      Src: /src/gpac/src/filters/dasher.c:7505,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7498,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7169,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:7173,1
    - Dst: dasher_add_descriptors
      Src: /src/gpac/src/filters/dasher.c:7301,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7295,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7424,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7491,1
    - Dst: dasher_setup_rep
      Src: /src/gpac/src/filters/dasher.c:6980,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7121,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:7294,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:7357,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:7376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7449,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7511,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7274,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:7116,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:7370,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7418,1
    - Dst: dasher_open_pid
      Src: /src/gpac/src/filters/dasher.c:7512,1
    CyclomaticComplexity: 226
    EdgeCount: 226
    ICount: 595
    argCount: 3
    argNames:
    - filter
    - ctx
    - inject_ds
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 7567
      start: 6950
    functionDepth: 0
    functionLinenumber: 6950
    functionLinenumberEnd: 7567
    functionName: dasher_setup_period
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - dasher_setup_set_defaults
    - strncmp
    - GF_LOG
    - gf_codecid_file_ext
    - GF_SAFEALLOC
    - strstr
    - gf_net_get_ntp_ms
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_filter_pid_get_packet
    - gf_props_equal
    - gf_filter_pid_get_property_str
    - dasher_setup_sources
    - dasher_open_pid
    - gf_list_new
    - gf_assert
    - dasher_same_adaptation_set
    - dasher_setup_ssr
    - gf_mpd_descriptor_new
    - gf_dynstrcat
    - gf_list_get
    - gf_mpd_adaptation_set_new
    - dasher_get_dep_bitrate
    - dasher_setup_rep
    - sprintf
    - gf_free
    - dasher_get_utc
    - dasher_check_bitstream_switching
    - dasher_period_count
    - dasher_context_update_period_start
    - gf_filter_pid_get_property
    - dasher_template_use_source_url
    - dasher_add_descriptors
    - gf_list_rem
    - gf_net_parse_date
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_setup_period(GF_Filter *filter, GF_DasherCtx
      *ctx, GF_DashStream *inject_ds) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:759,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:761,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:773,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:814,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:761,1
    - Dst: dasher_update_period_duration
      Src: /src/gpac/src/filters/dasher.c:783,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:833,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:802,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:824,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:840,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:765,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dasher.c:778,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:789,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:842,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:795,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:816,1
    - Dst: dasher_setup_period
      Src: /src/gpac/src/filters/dasher.c:826,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 4
    argNames:
    - filter
    - ctx
    - ds
    - is_new_period_request
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 852
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 852
    functionName: dasher_stream_period_changed
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - strcmp
    - dasher_update_period_duration
    - dasher_setup_period
    - dasher_flush_segment
    - gf_timestamp_less
    - gf_filter_pid_set_eos
    - gf_list_rem
    - gf_filter_pid_get_property_str
    - gf_filter_pid_get_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_stream_period_changed(GF_Filter *filter, GF_DasherCtx
      *ctx, GF_DashStream *ds, Bool is_new_period_request) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_STR
      Src: /src/gpac/src/filters/dasher.c:5082,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5085,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5087,1
    - Dst: CHECK_FRAC
      Src: /src/gpac/src/filters/dasher.c:5089,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5094,1
    - Dst: CHECK_STR
      Src: /src/gpac/src/filters/dasher.c:5083,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5086,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5084,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5088,1
    - Dst: CHECK_FRAC
      Src: /src/gpac/src/filters/dasher.c:5090,1
    - Dst: if
      Src: /src/gpac/src/filters/dasher.c:5092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ds
    - rep
    argTypes:
    - GF_DashStream*
    - GF_MPD_Representation*
    constantsTouched: []
    func_position:
      end: 5101
      start: 5052
    functionDepth: 0
    functionLinenumber: 5052
    functionLinenumberEnd: 5101
    functionName: dasher_merge_rep
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - CHECK_VAL
    - CHECK_STR
    - GF_LOG
    - CHECK_FRAC
    - if
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_merge_rep(GF_DashStream *ds, GF_MPD_Representation
      *rep) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:7589,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7616,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:7713,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7661,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7714,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:7749,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7762,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7766,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:7582,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7606,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7597,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7654,1
    - Dst: gf_mpd_segmentimeline_new
      Src: /src/gpac/src/filters/dasher.c:7687,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7731,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:7742,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7614,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:7624,1
    - Dst: gf_mpd_segmentimeline_new
      Src: /src/gpac/src/filters/dasher.c:7646,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7691,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7707,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7657,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7702,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7674,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7738,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7693,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:7719,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7722,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dasher.c:7741,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 188
    argCount: 3
    argNames:
    - ctx
    - ds
    - is_ll_anouncement
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 7771
      start: 7569
    functionDepth: 0
    functionLinenumber: 7569
    functionLinenumberEnd: 7771
    functionName: dasher_insert_timeline_entry
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_last
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    - gf_mpd_segmentimeline_new
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void dasher_insert_timeline_entry(GF_DasherCtx *ctx, GF_DashStream
      *ds, Bool is_ll_anouncement) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:3264,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3401,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3431,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3235,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3260,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3310,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3297,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3299,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3398,1
    - Dst: gf_filter_pid_get_destination_ex
      Src: /src/gpac/src/filters/dasher.c:3437,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3326,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:3449,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3267,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3290,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3439,1
    - Dst: gf_filter_skip_seg_size_events
      Src: /src/gpac/src/filters/dasher.c:3455,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3316,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3402,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dasher.c:3205,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3248,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3273,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3283,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3386,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3405,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3369,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3411,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3330,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3363,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3272,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3261,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3415,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3365,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3446,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3392,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3321,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3345,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dasher.c:3305,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3243,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3286,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:3241,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3262,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3275,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3276,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3441,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/dasher.c:3453,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3322,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3355,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3419,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3393,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3244,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3359,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3379,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:3384,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3303,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/dasher.c:3421,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3348,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3300,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3302,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3343,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dasher.c:3206,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3254,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3291,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3293,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3423,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/dasher.c:3430,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3266,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3294,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3296,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3414,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3410,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3329,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3349,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3429,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dasher.c:3454,1
    - Dst: gf_cryptfout_push_key
      Src: /src/gpac/src/filters/dasher.c:3460,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3462,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3312,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:3228,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3277,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3284,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3313,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3385,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/dasher.c:3445,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:3449,1
    - Dst: gf_filter_get_dst_args
      Src: /src/gpac/src/filters/dasher.c:3269,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3280,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3317,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3325,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:3424,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3448,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3373,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3397,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:3375,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3406,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:3387,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:3424,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 209
    argCount: 5
    argNames:
    - filter
    - ctx
    - rep
    - szInitURL
    - trash_init
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - GF_MPD_Representation*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 3463
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3463
    functionName: dasher_open_destination
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strstr
    - gf_filter_pid_get_destination_ex
    - gf_error_to_string
    - gf_filter_pid_get_property_str
    - gf_filter_get_dst_args
    - gf_cryptfout_push_key
    - gf_dynstrcat
    - gf_filter_set_source
    - gf_filter_get_sep
    - gf_filter_reset_source
    - sprintf
    - gf_sys_is_test_mode
    - gf_free
    - gf_filter_connect_destination
    - gf_sys_old_arch_compat
    - gf_filter_skip_seg_size_events
    - gf_url_concatenate
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: void
    signature: 'static void dasher_open_destination(GF_Filter *filter, GF_DasherCtx
      *ctx, GF_MPD_Representation *rep, const char *szInitURL, u32 trash_init) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dasher_update_period_duration
      Src: /src/gpac/src/filters/dasher.c:6396,1
    - Dst: dasher_send_manifest
      Src: /src/gpac/src/filters/dasher.c:6403,1
    - Dst: dasher_context_update_period_end
      Src: /src/gpac/src/filters/dasher.c:6399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 6404
      start: 6389
    functionDepth: 0
    functionLinenumber: 6389
    functionLinenumberEnd: 6404
    functionName: dasher_udpate_periods_and_manifest
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - dasher_send_manifest
    - dasher_context_update_period_end
    - dasher_update_period_duration
    linkageType: ''
    returnType: void
    signature: 'static void dasher_udpate_periods_and_manifest(GF_Filter *filter,
      GF_DasherCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3467,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3469,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3473,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dasher.c:3474,1
    - Dst: dasher_gather_deps
      Src: /src/gpac/src/filters/dasher.c:3475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - dependency_id
    - multi_tracks
    argTypes:
    - GF_DasherCtx*
    - u32
    - GF_List*
    constantsTouched: []
    func_position:
      end: 3478
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3478
    functionName: dasher_gather_deps
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_get
    - gf_list_count
    - gf_assert
    - dasher_gather_deps
    linkageType: ''
    returnType: void
    signature: 'static void dasher_gather_deps(GF_DasherCtx *ctx, u32 dependency_id,
      GF_List *multi_tracks) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8179,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8182,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:8186,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:8181,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:8190,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:8192,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:8192,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8194,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8195,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8196,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8201,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:8207,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:8197,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:8202,1
    - Dst: gf_url_concatenate_parent
      Src: /src/gpac/src/filters/dasher.c:8199,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:8204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - ds
    - seg_url
    - seg_name
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 8209
      start: 8177
    functionDepth: 0
    functionLinenumber: 8177
    functionLinenumberEnd: 8209
    functionName: dasher_strip_base
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_dynstrcat
    - strncmp
    - gf_url_concatenate_parent
    - gf_strdup
    - gf_file_basename
    - gf_filter_pid_get_property_str
    - gf_free
    - gf_url_is_relative
    linkageType: ''
    returnType: char*
    signature: 'static char *dasher_strip_base(GF_DasherCtx *ctx, GF_DashStream *ds,
      char *seg_url, char *seg_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2107,1
    - Dst: gf_filter_pid_get_rfc_6381_codec_string
      Src: /src/gpac/src/filters/dasher.c:2118,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:2105,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:2109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - ds
    - szCodec
    - force_inband
    - force_sbr
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2119
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2119
    functionName: dasher_get_rfc_6381_codec_name
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_list_get
    - gf_filter_pid_get_rfc_6381_codec_string
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_get_rfc_6381_codec_name(GF_DasherCtx *ctx, GF_DashStream
      *ds, char *szCodec, Bool force_inband, Bool force_sbr) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7922,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7964,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8006,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:8037,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:8108,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7977,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/dasher.c:7982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7981,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8000,1
    - Dst: dasher_insert_timeline_entry
      Src: /src/gpac/src/filters/dasher.c:7969,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:8113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8118,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8147,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8164,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:8170,1
    - Dst: dasher_copy_segment_timelines
      Src: /src/gpac/src/filters/dasher.c:8009,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8043,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:8105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8140,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dasher.c:7922,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7966,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dasher.c:7976,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/dasher.c:7983,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dasher.c:7998,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:7978,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8065,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8116,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dasher.c:8118,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 274
    argCount: 3
    argNames:
    - ctx
    - ds
    - is_last_in_period
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 8174
      start: 7900
    functionDepth: 0
    functionLinenumber: 7900
    functionLinenumberEnd: 8174
    functionName: dasher_flush_segment
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - dasher_copy_segment_timelines
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - ABS
    - gf_timestamp_less
    - gf_ceil
    - gf_timestamp_rescale
    - dasher_insert_timeline_entry
    - dasher_get_utc
    linkageType: ''
    returnType: void
    signature: 'static void dasher_flush_segment(GF_DasherCtx *ctx, GF_DashStream
      *ds, Bool is_last_in_period) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:9010,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:9012,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:9013,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:9012,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - ds
    - forced
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 9016
      start: 9001
    functionDepth: 0
    functionLinenumber: 9001
    functionLinenumberEnd: 9016
    functionName: dasher_inject_eods
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - PROP_BOOL
    - gf_filter_pck_set_property
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void dasher_inject_eods(GF_DasherCtx *ctx, GF_DashStream *ds,
      Bool forced) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9027,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9030,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:9040,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:9050,1
    - Dst: dasher_inject_eods
      Src: /src/gpac/src/filters/dasher.c:9036,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:9051,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dasher.c:9052,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:9056,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:9061,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:9064,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dasher.c:9068,1
    - Dst: dasher_mark_segment_start
      Src: /src/gpac/src/filters/dasher.c:9075,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:9078,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:9083,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dasher.c:9067,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dasher.c:9069,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9072,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9087,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 9089
      start: 9020
    functionDepth: 0
    functionLinenumber: 9020
    functionLinenumberEnd: 9089
    functionName: dasher_send_empty_segment
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - gf_filter_pck_set_dts
    - gf_list_last
    - gf_filter_pck_set_sap
    - dasher_mark_segment_start
    - GF_LOG
    - dasher_inject_eods
    - dasher_flush_segment
    - memcpy
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void dasher_send_empty_segment(GF_DasherCtx *ctx, GF_DashStream
      *ds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:2125,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:2127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - for_ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 2132
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2132
    functionName: get_base_ds
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_DashStream*
    signature: 'static GF_DashStream *get_base_ds(GF_DasherCtx *ctx, GF_DashStream
      *for_ds) '
  - BBCount: 278
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:9257,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9275,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10009,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dasher.c:10142,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:10157,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:10213,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dasher.c:10234,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dasher.c:10359,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:10404,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dasher.c:9973,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:10327,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:10233,1
    - Dst: dasher_mark_segment_start
      Src: /src/gpac/src/filters/dasher.c:10152,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:10183,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dasher.c:9096,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dasher.c:9118,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/dasher.c:9127,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dasher.c:9273,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dasher.c:9266,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:9629,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dasher.c:9638,1
    - Dst: dasher_inject_eods
      Src: /src/gpac/src/filters/dasher.c:9660,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dasher.c:9706,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10012,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:10219,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:10241,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:10236,1
    - Dst: dasher_check_period_ready
      Src: /src/gpac/src/filters/dasher.c:9131,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:9198,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:9221,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9299,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/dasher.c:9308,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/dasher.c:9630,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dasher.c:9778,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:9890,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dasher.c:9971,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:10118,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dasher.c:10128,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dasher.c:10371,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10022,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dasher.c:10129,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/dasher.c:9404,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/dasher.c:9138,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:9157,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/dasher.c:9250,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9295,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:9722,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:9828,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:10022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10048,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:10213,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10353,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9187,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:9216,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:9397,1
    - Dst: dasher_get_utc
      Src: /src/gpac/src/filters/dasher.c:9485,1
    - Dst: dasher_send_manifest
      Src: /src/gpac/src/filters/dasher.c:9573,1
    - Dst: dasher_translate_cts
      Src: /src/gpac/src/filters/dasher.c:9577,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:9713,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9859,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:9865,1
    - Dst: dasher_translate_cts
      Src: /src/gpac/src/filters/dasher.c:9869,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:10089,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10398,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dasher.c:9171,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:9399,1
    - Dst: dasher_stream_period_changed
      Src: /src/gpac/src/filters/dasher.c:9293,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9619,1
    - Dst: dasher_stream_period_changed
      Src: /src/gpac/src/filters/dasher.c:9662,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dasher.c:9695,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/dasher.c:9835,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:9857,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9880,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10032,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:10129,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9283,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9148,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9153,1
    - Dst: dasher_setup_period
      Src: /src/gpac/src/filters/dasher.c:9134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9220,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9221,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:9444,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:9478,1
    - Dst: dasher_inject_eods
      Src: /src/gpac/src/filters/dasher.c:10026,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:10359,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dasher.c:10372,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dasher.c:10193,1
    - Dst: dasher_send_manifest
      Src: /src/gpac/src/filters/dasher.c:10340,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:10182,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:10360,1
    - Dst: dasher_send_empty_segment
      Src: /src/gpac/src/filters/dasher.c:9708,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:9428,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:9398,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9300,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dasher.c:9607,1
    - Dst: dasher_stream_period_changed
      Src: /src/gpac/src/filters/dasher.c:9671,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9785,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9841,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10004,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dasher.c:10185,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dasher.c:10189,1
    - Dst: dasher_format_report
      Src: /src/gpac/src/filters/dasher.c:10308,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dasher.c:10375,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:10086,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dasher.c:10113,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:10280,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dasher.c:10271,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:10270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10380,1
    - Dst: gf_net_get_ntp_ms
      Src: /src/gpac/src/filters/dasher.c:9115,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:9251,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:9316,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:9785,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:9787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9825,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10006,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:10039,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:10090,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dasher.c:10208,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:10168,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:10293,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:10102,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dasher.c:10195,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10157,1
    - Dst: dasher_send_manifest
      Src: /src/gpac/src/filters/dasher.c:10336,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9117,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:9159,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dasher.c:9165,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9251,1
    - Dst: dasher_send_empty_segment
      Src: /src/gpac/src/filters/dasher.c:9349,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:9416,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:9367,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dasher.c:9633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9956,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dasher.c:10244,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dasher.c:10226,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:10255,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9850,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:9265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9477,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9320,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9188,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:9264,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dasher.c:9860,1
    - Dst: dasher_stream_period_changed
      Src: /src/gpac/src/filters/dasher.c:10007,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:10013,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:10057,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:10155,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:10362,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dasher.c:10377,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dasher.c:10355,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dasher.c:10239,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:9436,1
    - Dst: dasher_check_loop
      Src: /src/gpac/src/filters/dasher.c:9354,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/dasher.c:9103,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9180,1
    - Dst: dasher_inject_eods
      Src: /src/gpac/src/filters/dasher.c:9317,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dasher.c:9580,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:9585,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dasher.c:9651,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/dasher.c:9670,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:9692,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:10098,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:10132,1
    - Dst: dasher_update_period_duration
      Src: /src/gpac/src/filters/dasher.c:10333,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:10104,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/dasher.c:10250,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9959,1
    - Dst: dasher_init_utc
      Src: /src/gpac/src/filters/dasher.c:9107,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/dasher.c:9130,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9380,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dasher.c:9441,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dasher.c:9641,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:9707,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9808,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:9843,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dasher.c:10299,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:10231,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:10243,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dasher.c:10387,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dasher.c:9240,1
    - Dst: dasher_send_empty_segment
      Src: /src/gpac/src/filters/dasher.c:9244,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9531,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dasher.c:9307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:9515,1
    - Dst: gf_filter_pck_get_seq_num
      Src: /src/gpac/src/filters/dasher.c:9425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9335,1
    - Dst: dasher_drop_input
      Src: /src/gpac/src/filters/dasher.c:9709,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:9788,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:9825,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:10128,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:10187,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dasher.c:10261,1
    - Dst: dasher_send_manifest
      Src: /src/gpac/src/filters/dasher.c:10399,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:10012,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:9389,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:9222,1
    - Dst: dasher_flush_segment
      Src: /src/gpac/src/filters/dasher.c:9377,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:9299,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dasher.c:9445,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dasher.c:9792,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dasher.c:9827,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9884,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/dasher.c:9918,1
    - Dst: gf_timestamp_equal
      Src: /src/gpac/src/filters/dasher.c:9932,1
    - Dst: dasher_mark_segment_start
      Src: /src/gpac/src/filters/dasher.c:10078,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:10238,1
    - Dst: dasher_switch_period
      Src: /src/gpac/src/filters/dasher.c:10390,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dasher.c:10117,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:9419,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/dasher.c:9263,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9528,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:9639,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dasher.c:9682,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/dasher.c:9878,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dasher.c:10020,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dasher.c:10125,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/dasher.c:10167,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dasher.c:10183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:10413,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:10174,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dasher.c:9863,1
    CyclomaticComplexity: 439
    EdgeCount: 439
    ICount: 1163
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 10418
      start: 9093
    functionDepth: 0
    functionLinenumber: 9093
    functionLinenumberEnd: 10418
    functionName: dasher_process
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - dasher_translate_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_ref
    - gf_filter_pck_get_duration
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pck_get_seq_num
    - gf_filter_end_of_session
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_sap
    - dasher_init_utc
    - gf_filter_abort
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_last
    - gf_net_get_ntp_ms
    - gf_list_find
    - dasher_format_report
    - gf_list_count
    - gf_filter_pid_get_packet
    - strcmp
    - gf_filter_ask_rt_reschedule
    - gf_filter_prevent_blocking
    - dasher_update_period_duration
    - gf_timestamp_less
    - gf_filter_pck_set_cts
    - gf_mpd_representation_free
    - dasher_send_empty_segment
    - gf_filter_pid_get_name
    - gf_assert
    - memmove
    - gf_list_del_item
    - gf_filter_connections_pending
    - MAX
    - gf_filter_pck_get_dts
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_filter_pck_set_property
    - dasher_mark_segment_start
    - dasher_send_manifest
    - dasher_drop_input
    - dasher_inject_eods
    - dasher_switch_period
    - gf_timestamp_equal
    - dasher_check_loop
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pid_would_block
    - dasher_check_period_ready
    - dasher_get_utc
    - gf_sys_old_arch_compat
    - dasher_stream_period_changed
    - gf_filter_pck_new_ref
    - gf_filter_pid_discard_block
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_send
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_set_dts
    - gf_filter_pck_get_property
    - gf_filter_pck_merge_properties
    - dasher_setup_period
    - gf_timestamp_greater_or_equal
    - gf_filter_pck_get_seek_flag
    - dasher_flush_segment
    - gf_timestamp_greater
    - PROP_FRAC
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_process(GF_Filter *filter) '
  - BBCount: 184
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:3906,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4066,1
    - Dst: gf_mpd_del_list
      Src: /src/gpac/src/filters/dasher.c:4074,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4105,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4107,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:4101,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:4161,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4171,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:4203,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4280,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:4427,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4437,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4510,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4550,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4570,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4614,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4500,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4657,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4520,1
    - Dst: gf_media_reduce_aspect_ratio
      Src: /src/gpac/src/filters/dasher.c:3875,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3915,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:3985,1
    - Dst: gf_mpd_representation_free
      Src: /src/gpac/src/filters/dasher.c:4115,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4135,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:4122,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4052,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4118,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:4225,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:4381,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:4458,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4514,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4423,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3842,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:3850,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3902,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3987,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:4103,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:4203,1
    - Dst: dasher_check_template_reuse
      Src: /src/gpac/src/filters/dasher.c:4332,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4355,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4361,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4441,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4610,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4413,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:4635,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4004,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3961,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4210,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4330,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4387,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4388,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4393,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4401,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4607,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:4613,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:4447,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4612,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4346,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4558,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4407,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/dasher.c:3866,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4032,1
    - Dst: gf_floor
      Src: /src/gpac/src/filters/dasher.c:4173,1
    - Dst: gf_floor
      Src: /src/gpac/src/filters/dasher.c:4183,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:4211,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dasher.c:4272,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:4274,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4349,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:4383,1
    - Dst: gf_url_concatenate_parent
      Src: /src/gpac/src/filters/dasher.c:4390,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4602,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:4336,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4385,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3839,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3881,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:4224,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:4441,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4589,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4652,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4654,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4344,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4560,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4639,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4684,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:3964,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3832,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:3870,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/dasher.c:4265,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dasher.c:4292,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4335,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4386,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4402,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:4431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4489,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:4442,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4525,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4659,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4354,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4411,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4647,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4110,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:4160,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4128,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:3834,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:3907,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:3929,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:4165,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:4220,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/src/filters/dasher.c:4281,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4345,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4671,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:4557,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4553,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4502,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4661,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4496,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3901,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dasher.c:3926,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:3931,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3984,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:4002,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:4069,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dasher.c:4162,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dasher.c:4204,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/dasher.c:4208,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4219,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4455,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4634,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4641,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dasher.c:4298,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4676,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4108,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3983,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4113,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4106,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4111,1
    - Dst: dasher_get_content_protection_desc
      Src: /src/gpac/src/filters/dasher.c:4075,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:4166,1
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/dasher.c:4245,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4286,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:4370,1
    - Dst: dasher_open_pid
      Src: /src/gpac/src/filters/dasher.c:4688,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4434,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4605,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4370,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4678,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4283,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:4573,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:4507,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4567,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4667,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4629,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:4267,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dasher.c:3989,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4064,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3911,1
    - Dst: dasher_check_hls_variant_path
      Src: /src/gpac/src/filters/dasher.c:3923,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:3933,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4224,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:4416,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4418,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4419,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4369,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4674,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4511,1
    - Dst: dasher_open_destination
      Src: /src/gpac/src/filters/dasher.c:4644,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4130,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/dasher.c:4104,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:4098,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:3881,1
    - Dst: dasher_check_hls_variant_path
      Src: /src/gpac/src/filters/dasher.c:3980,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4012,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4192,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dasher.c:4219,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4249,1
    - Dst: gf_url_is_relative
      Src: /src/gpac/src/filters/dasher.c:4383,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4417,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4429,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4422,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:4428,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4448,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:3854,1
    - Dst: dasher_set_content_components
      Src: /src/gpac/src/filters/dasher.c:4121,1
    - Dst: dasher_set_content_components
      Src: /src/gpac/src/filters/dasher.c:4119,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:4167,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dasher.c:4203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:4338,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4395,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dasher.c:4398,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4433,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4524,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4392,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:4682,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4364,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4599,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4092,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:3900,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dasher.c:3928,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:3988,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4150,1
    - Dst: dasher_open_pid
      Src: /src/gpac/src/filters/dasher.c:4124,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dasher.c:4194,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4198,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/filters/dasher.c:4250,1
    - Dst: gf_audio_fmt_sname
      Src: /src/gpac/src/filters/dasher.c:4254,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4436,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4253,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dasher.c:4375,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4649,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4046,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dasher.c:4149,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3943,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:4158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3947,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dasher.c:4257,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dasher.c:4259,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dasher.c:4269,1
    - Dst: gf_media_mpd_format_segment_name
      Src: /src/gpac/src/filters/dasher.c:4357,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dasher.c:4457,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4628,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:4631,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3847,1
    - Dst: dasher_template_use_source_url
      Src: /src/gpac/src/filters/dasher.c:3896,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:3973,1
    - Dst: gf_floor
      Src: /src/gpac/src/filters/dasher.c:4178,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dasher.c:4405,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4516,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dasher.c:4442,1
    - Dst: dasher_cat_mpd_url
      Src: /src/gpac/src/filters/dasher.c:4572,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dasher.c:4574,1
    - Dst: get_base_ds
      Src: /src/gpac/src/filters/dasher.c:4467,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:4486,1
    CyclomaticComplexity: 314
    EdgeCount: 314
    ICount: 849
    argCount: 3
    argNames:
    - filter
    - ctx
    - set
    argTypes:
    - GF_Filter*
    - GF_DasherCtx*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 4690
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 4690
    functionName: dasher_setup_sources
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - gf_pixel_fmt_sname
    - strncmp
    - GF_LOG
    - gf_codecid_file_ext
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - dasher_check_hls_variant_path
    - strstr
    - dasher_set_content_components
    - dasher_cat_mpd_url
    - gf_list_find
    - gf_url_concatenate_parent
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_filter_pid_get_packet
    - dasher_check_template_reuse
    - gf_props_equal
    - dasher_open_pid
    - gf_filter_pid_get_property_str
    - gf_mpd_representation_free
    - strcpy
    - gf_filter_pid_resolve_file_template
    - gf_list_new
    - gf_assert
    - stricmp
    - gf_file_basename
    - dasher_get_content_protection_desc
    - gf_codecid_mime
    - gf_list_get
    - gf_dynstrcat
    - gf_floor
    - sprintf
    - dasher_open_destination
    - strchr
    - gf_free
    - gf_mpd_del_list
    - gf_media_mpd_format_segment_name
    - get_base_ds
    - gf_url_is_relative
    - gf_url_concatenate
    - gf_media_reduce_aspect_ratio
    - strcat
    - gf_list_transfer
    - dasher_template_use_source_url
    - gf_filter_pid_get_property
    - gf_media_get_reduced_frame_rate
    - gf_audio_fmt_sname
    - strrchr
    - gf_list_rem
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'static void dasher_setup_sources(GF_Filter *filter, GF_DasherCtx *ctx,
      GF_MPD_AdaptationSet *set) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5816,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5814,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5821,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5835,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5836,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5838,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5833,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5837,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5834,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dasher.c:5866,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5813,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dasher.c:5845,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5847,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/dasher.c:5850,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dasher.c:5879,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5812,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5819,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5843,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5811,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5825,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dasher.c:5826,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:5827,1
    - Dst: RESET_PROP_STR
      Src: /src/gpac/src/filters/dasher.c:5832,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:5844,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5877,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dasher.c:5878,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - filter
    - ds
    - is_destroy
    argTypes:
    - GF_Filter*
    - GF_DashStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 5884
      start: 5805
    functionDepth: 0
    functionLinenumber: 5805
    functionLinenumberEnd: 5884
    functionName: dasher_reset_stream
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_crypt_info_del
    - gf_free
    - RESET_PROP_STR
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'static void dasher_reset_stream(GF_Filter *filter, GF_DashStream *ds,
      Bool is_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4694,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dasher.c:4702,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dasher.c:4703,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:4705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4707,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:4713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - ds
    - stl
    - sctx
    argTypes:
    - GF_DashStream*
    - GF_MPD_SegmentTimeline*
    - GF_DASH_SegmentContext*
    constantsTouched: []
    func_position:
      end: 4716
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4716
    functionName: dasher_purge_segment_timeline
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_list_get
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dasher_purge_segment_timeline(GF_DashStream *ds, GF_MPD_SegmentTimeline
      *stl, GF_DASH_SegmentContext *sctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:5892,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:5894,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5928,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5927,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:5926,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DasherCtx*
    constantsTouched: []
    func_position:
      end: 5930
      start: 5886
    functionDepth: 0
    functionLinenumber: 5886
    functionLinenumberEnd: 5930
    functionName: dasher_context_update_period_end
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'void dasher_context_update_period_end(GF_DasherCtx *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7789,1
    - Dst: gf_mpd_segmentimeline_new
      Src: /src/gpac/src/filters/dasher.c:7805,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7791,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7794,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7797,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7810,1
    - Dst: gf_mpd_segmentimeline_new
      Src: /src/gpac/src/filters/dasher.c:7819,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7823,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7826,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7827,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7834,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - set
    argTypes:
    - GF_DasherCtx*
    - GF_MPD_AdaptationSet*
    constantsTouched: []
    func_position:
      end: 7837
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7837
    functionName: dasher_copy_segment_timelines
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_assert
    - gf_mpd_segmentimeline_new
    linkageType: ''
    returnType: void
    signature: 'static void dasher_copy_segment_timelines(GF_DasherCtx *ctx, GF_MPD_AdaptationSet
      *set) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:562,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dasher.c:568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:568,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/dasher.c:566,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - ds
    - dsi
    - SampleRate
    - Channels
    argTypes:
    - GF_DashStream*
    - GF_PropertyValue*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 576
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 576
    functionName: dasher_get_audio_info_with_m4a_sbr_ps
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - GF_LOG
    - gf_m4a_get_config
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dasher_get_audio_info_with_m4a_sbr_ps(GF_DashStream
      *ds, const GF_PropertyValue *dsi, u32 *SampleRate, u32 *Channels) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_STR
      Src: /src/gpac/src/filters/dasher.c:5082,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5085,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5087,1
    - Dst: CHECK_FRAC
      Src: /src/gpac/src/filters/dasher.c:5089,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:5094,1
    - Dst: CHECK_STR
      Src: /src/gpac/src/filters/dasher.c:5083,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5086,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5084,1
    - Dst: CHECK_VAL
      Src: /src/gpac/src/filters/dasher.c:5088,1
    - Dst: CHECK_FRAC
      Src: /src/gpac/src/filters/dasher.c:5090,1
    - Dst: if
      Src: /src/gpac/src/filters/dasher.c:5092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - profiles
    argTypes:
    - profiles
    constantsTouched: []
    func_position:
      end: 5095
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5095
    functionName: CHECK_STR
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - CHECK_VAL
    - CHECK_STR
    - GF_LOG
    - CHECK_FRAC
    - if
    linkageType: ''
    returnType: CHECK_STR(codecs)
    signature: "CHECK_STR(codecs) CHECK_STR(profiles)\tCHECK_STR(mime_type)\tCHECK_STR(segmentProfiles)\tCHECK_VAL(width,
      1)\tCHECK_VAL(height, 1)\tCHECK_VAL(bandwidth, 0)\tCHECK_VAL(samplerate, 0)\tCHECK_VAL(scan_type,
      0)\tCHECK_FRAC(sar)\tCHECK_FRAC(framerate)\tif (transcode_detected && !ds->transcode_detected) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dasher.c:8860,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:8863,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dasher.c:8869,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8873,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/dasher.c:8871,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:8873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - is_session_end
    argTypes:
    - GF_DasherCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 8884
      start: 8855
    functionDepth: 0
    functionLinenumber: 8855
    functionLinenumberEnd: 8884
    functionName: dasher_check_period_ready
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_enum
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_sys_clock
    - gf_filter_pid_get_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_check_period_ready(GF_DasherCtx *ctx, Bool is_session_end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:546,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dasher.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: dasher_new_period
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_list_new
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_DasherPeriod*
    signature: 'static GF_DasherPeriod *dasher_new_period() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7848,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dasher.c:7877,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7850,1
    - Dst: dasher_copy_segment_timelines
      Src: /src/gpac/src/filters/dasher.c:7875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:7872,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:7879,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:7881,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dasher.c:7892,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dasher.c:7897,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - ds
    - sctx
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    - GF_DASH_SegmentContext*
    constantsTouched: []
    func_position:
      end: 7898
      start: 7839
    functionDepth: 0
    functionLinenumber: 7839
    functionLinenumberEnd: 7898
    functionName: dasher_set_timeline_parts
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - dasher_copy_segment_timelines
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - GF_SAFEALLOC
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void dasher_set_timeline_parts(GF_DasherCtx *ctx, GF_DashStream
      *ds, GF_DASH_SegmentContext *sctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 11596
      start: 11593
    functionDepth: 0
    functionLinenumber: 11593
    functionLinenumberEnd: 11596
    functionName: dasher_register
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *dasher_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dasher.c:8767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8775,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8787,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dasher.c:8772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8770,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dasher.c:8806,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dasher.c:8814,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dasher.c:8819,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dasher.c:8823,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dasher.c:8823,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:8838,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:8839,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dasher.c:8847,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dasher.c:8841,1
    - Dst: dasher_send_encode_hints
      Src: /src/gpac/src/filters/dasher.c:8843,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dasher.c:8845,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 2
    argNames:
    - ctx
    - ds
    argTypes:
    - GF_DasherCtx*
    - GF_DashStream*
    constantsTouched: []
    func_position:
      end: 8852
      start: 8756
    functionDepth: 0
    functionLinenumber: 8756
    functionLinenumberEnd: 8852
    functionName: dasher_check_loop
    functionSourceFile: /src/gpac/src/filters/dasher.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_timestamp_less
    - gf_timestamp_rescale
    - dasher_send_encode_hints
    - gf_filter_pid_get_name
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dasher_check_loop(GF_DasherCtx *ctx, GF_DashStream *ds) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dec.c:152,1
    - Dst: sws_freeContext
      Src: /src/gpac/src/filters/ff_dec.c:150,1
    - Dst: av_frame_free
      Src: /src/gpac/src/filters/ff_dec.c:149,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dec.c:148,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_dec.c:153,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:154,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_dec.c:156,1
    - Dst: av_packet_free
      Src: /src/gpac/src/filters/ff_dec.c:159,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_dec.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: ffdec_finalize
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - av_frame_free
    - gf_list_del
    - avcodec_free_context
    - gf_list_count
    - av_dict_free
    - av_packet_free
    - gf_filter_pck_unref
    - sws_freeContext
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffdec_finalize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/ff_dec.c:879,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:882,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dec.c:883,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_dec.c:881,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dec.c:882,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames:
    - pck
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 887
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    - gf_filter_pck_new_frame_interface
    - gf_filter_pid_drop_packet
    - gf_filter_pck_send
    linkageType: ''
    returnType: FF_RELEASE_PCK(pkt)
    signature: 'FF_RELEASE_PCK(pkt) if (pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:1432,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_dec.c:1438,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dec.c:1434,1
    - Dst: gf_filter_report_meta_option
      Src: /src/gpac/src/filters/ff_dec.c:1435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1439
    functionName: ffdec_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strcmp
    - gf_filter_report_meta_option
    - ffmpeg_update_arg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:119,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_dec.c:127,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_dec.c:120,1
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_dec.c:124,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/ff_dec.c:129,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/src/filters/ff_dec.c:130,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/ff_dec.c:132,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_dec.c:134,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_dec.c:134,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_dec.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: ffdec_initialize
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmpeg_setup_logs
    - gf_filter_meta_set_instances
    - avcodec_find_decoder_by_name
    - ffmpeg_codecid_from_gpac
    - avcodec_find_decoder
    - gf_filter_is_temporary
    - av_packet_alloc
    - gf_list_new
    - gf_codecid_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_initialize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:171,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:171,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dec.c:182,1
    - Dst: ffmpeg_pixfmt_is_fullrange
      Src: /src/gpac/src/filters/ff_dec.c:176,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:187,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:187,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:199,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:194,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - pix_fmt
    argTypes:
    - struct _gf_ffdec_ctx*
    - u32
    constantsTouched: []
    func_position:
      end: 201
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 201
    functionName: ffdec_check_pix_fmt_change
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - ffmpeg_pixfmt_is_fullrange
    - PROP_BOOL
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void ffdec_check_pix_fmt_change(struct _gf_ffdec_ctx *ctx,
      u32 pix_fmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: ffsub_packet_destructor
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ffsub_packet_destructor(GF_Filter *filter, GF_FilterPid
      *PID, GF_FilterPacket *pck) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_dec.c:392,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/ff_dec.c:435,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dec.c:277,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_dec.c:323,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:336,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_dec.c:348,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dec.c:407,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:424,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dec.c:462,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:403,1
    - Dst: avcodec_flush_buffers
      Src: /src/gpac/src/filters/ff_dec.c:281,1
    - Dst: av_get_pix_fmt_name
      Src: /src/gpac/src/filters/ff_dec.c:520,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:361,1
    - Dst: avcodec_decode_video2
      Src: /src/gpac/src/filters/ff_dec.c:300,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_dec.c:455,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/ff_dec.c:239,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/ff_dec.c:267,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_dec.c:268,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:520,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_dec.c:235,1
    - Dst: sws_getCachedContext
      Src: /src/gpac/src/filters/ff_dec.c:527,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_dec.c:376,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:363,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:393,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/ff_dec.c:446,1
    - Dst: sws_scale
      Src: /src/gpac/src/filters/ff_dec.c:531,1
    - Dst: FF_CHECK_PROP
      Src: /src/gpac/src/filters/ff_dec.c:389,1
    - Dst: ffdec_check_pix_fmt_change
      Src: /src/gpac/src/filters/ff_dec.c:385,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:436,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_dec.c:304,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/ff_dec.c:306,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:261,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/ff_dec.c:286,1
    - Dst: avcodec_send_packet
      Src: /src/gpac/src/filters/ff_dec.c:302,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_dec.c:373,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_dec.c:221,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dec.c:245,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_dec.c:309,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dec.c:343,1
    - Dst: FF_CHECK_PROP
      Src: /src/gpac/src/filters/ff_dec.c:388,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dec.c:441,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_dec.c:410,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dec.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:363,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:393,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dec.c:317,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dec.c:359,1
    - Dst: FF_CHECK_PROP_VAL
      Src: /src/gpac/src/filters/ff_dec.c:398,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dec.c:466,1
    - Dst: FF_CHECK_PROP_VAL
      Src: /src/gpac/src/filters/ff_dec.c:397,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_dec.c:380,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dec.c:467,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/ff_dec.c:403,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:462,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:240,1
    - Dst: avcodec_open2
      Src: /src/gpac/src/filters/ff_dec.c:278,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_dec.c:288,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/ff_dec.c:289,1
    - Dst: avcodec_receive_frame
      Src: /src/gpac/src/filters/ff_dec.c:321,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_dec.c:253,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_dec.c:258,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_dec.c:360,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dec.c:454,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/ff_dec.c:447,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:448,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/ff_dec.c:224,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:287,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:317,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:228,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_dec.c:275,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/ff_dec.c:423,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/ff_dec.c:535,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dec.c:540,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/ff_dec.c:538,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:307,1
    - Dst: ffdec_configure_pid
      Src: /src/gpac/src/filters/ff_dec.c:364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:317,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dec.c:372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:372,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_dec.c:450,1
    - Dst: FF_RELEASE_PCK
      Src: /src/gpac/src/filters/ff_dec.c:340,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:411,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dec.c:279,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_dec.c:445,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 262
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - struct _gf_ffdec_ctx*
    constantsTouched: []
    func_position:
      end: 545
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 545
    functionName: ffdec_process_video
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - AVERROR
    - memset
    - gf_filter_pid_is_eos
    - avcodec_decode_video2
    - gf_filter_pck_get_duration
    - gf_filter_pck_set_dependency_flags
    - GF_LOG
    - PROP_BOOL
    - FF_CHECK_PROP_VAL
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - avcodec_open2
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - ffdec_check_pix_fmt_change
    - gf_list_pop_back
    - gf_filter_pck_new_alloc
    - sws_scale
    - FF_INIT_PCK
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_list_count
    - ffmpeg_pixfmt_to_gpac
    - gf_filter_pck_set_seek_flag
    - ffdec_configure_pid
    - av_get_pix_fmt_name
    - gf_filter_pck_set_cts
    - sws_getCachedContext
    - av_dict_free
    - gf_filter_pid_get_name
    - gf_list_del_item
    - avcodec_receive_frame
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_pixel_get_size_info
    - avcodec_flush_buffers
    - avcodec_free_context
    - FF_CHECK_PROP
    - FF_RELEASE_PCK
    - av_dict_copy
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - avcodec_send_packet
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - av_err2str
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - PROP_FRAC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_process_video(GF_Filter *filter, struct _gf_ffdec_ctx
      *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_dec.c:854,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_dec.c:859,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_dec.c:857,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_dec.c:881,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dec.c:889,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:929,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:930,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/ff_dec.c:931,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/ff_dec.c:932,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:933,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dec.c:963,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/filters/ff_dec.c:953,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_dec.c:864,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:882,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:889,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dec.c:926,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:962,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_dec.c:961,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dec.c:962,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/filters/ff_dec.c:952,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:933,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_dec.c:851,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dec.c:870,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/ff_dec.c:879,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dec.c:882,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dec.c:883,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:889,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dec.c:894,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:929,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:930,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:931,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:970,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/filters/ff_dec.c:951,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_dec.c:862,1
    - Dst: avcodec_decode_subtitle2
      Src: /src/gpac/src/filters/ff_dec.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:908,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dec.c:886,1
    - Dst: gf_irect_union
      Src: /src/gpac/src/filters/ff_dec.c:919,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:932,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dec.c:935,1
    - Dst: avsubtitle_free
      Src: /src/gpac/src/filters/ff_dec.c:968,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/filters/ff_dec.c:954,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - struct _gf_ffdec_ctx*
    constantsTouched: []
    func_position:
      end: 974
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 974
    functionName: ffdec_process_subtitle
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - avcodec_decode_subtitle2
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_LOG
    - GF_COL_R
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - GF_COL_B
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - FF_INIT_PCK
    - gf_filter_pid_get_packet
    - gf_filter_pck_new_frame_interface
    - PROP_UINT
    - gf_filter_pid_get_name
    - avsubtitle_free
    - gf_irect_union
    - gf_filter_pid_set_property
    - gf_filter_pck_send
    - GF_COL_A
    - gf_filter_pck_set_dts
    - av_err2str
    - gf_filter_pck_merge_properties
    - GF_COL_G
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_process_subtitle(GF_Filter *filter, struct _gf_ffdec_ctx
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:979,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_dec.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 985
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 985
    functionName: ffdec_process
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_process(GF_Filter *filter) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:1006,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1031,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_dec.c:1063,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_dec.c:1092,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/src/filters/ff_dec.c:1191,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/ff_dec.c:1289,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/ff_dec.c:1240,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:1275,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/ff_dec.c:1163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1275,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1417,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1375,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dec.c:1163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1268,1
    - Dst: avcodec_free_context
      Src: /src/gpac/src/filters/ff_dec.c:1270,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1327,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/ff_dec.c:1360,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1381,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1413,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1418,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1062,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_dec.c:1065,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dec.c:1275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1297,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1306,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1359,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1375,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1414,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1420,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dec.c:1280,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/ff_dec.c:1186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1305,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1313,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1413,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1417,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_dec.c:1281,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1054,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/ff_dec.c:1073,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/ff_dec.c:1072,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/src/filters/ff_dec.c:1105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1343,1
    - Dst: FF_CHECK_PROP
      Src: /src/gpac/src/filters/ff_dec.c:1387,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1415,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/ff_dec.c:1037,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/ff_dec.c:1113,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dec.c:1264,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_dec.c:1390,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1304,1
    - Dst: FF_CHECK_PROP
      Src: /src/gpac/src/filters/ff_dec.c:1325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1097,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1218,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1147,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/src/filters/ff_dec.c:1176,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1052,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1070,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:1097,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/src/filters/ff_dec.c:1183,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1296,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1332,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1398,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1393,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dec.c:1288,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1346,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_dec.c:1381,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_dec.c:1012,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1058,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dec.c:1073,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_dec.c:1065,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1143,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_dec.c:1156,1
    - Dst: ffmpeg_set_enc_dec_flags
      Src: /src/gpac/src/filters/ff_dec.c:1200,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/ff_dec.c:1131,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/ff_dec.c:1337,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1393,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1421,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1248,1
    - Dst: avcodec_open2
      Src: /src/gpac/src/filters/ff_dec.c:1262,1
    - Dst: ffdec_check_pix_fmt_change
      Src: /src/gpac/src/filters/ff_dec.c:1322,1
    - Dst: av_frame_alloc
      Src: /src/gpac/src/filters/ff_dec.c:1340,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1402,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_dec.c:1162,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dec.c:1168,1
    - Dst: ffmpeg_check_threads
      Src: /src/gpac/src/filters/ff_dec.c:1260,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/ff_dec.c:1187,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1019,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1056,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_dec.c:1087,1
    - Dst: avcodec_alloc_context3
      Src: /src/gpac/src/filters/ff_dec.c:1090,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_dec.c:1254,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:1143,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_dec.c:1267,1
    - Dst: ffmpeg_audio_fmt_to_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1358,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1337,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1418,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1421,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1084,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1101,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1125,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1359,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1414,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/ff_dec.c:1419,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_dec.c:1164,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dec.c:1315,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1327,1
    - Dst: FF_CHECK_PROP
      Src: /src/gpac/src/filters/ff_dec.c:1330,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/ff_dec.c:1420,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dec.c:1415,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1129,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/ff_dec.c:1255,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dec.c:1080,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/ff_dec.c:1072,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/ff_dec.c:1084,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/ff_dec.c:1183,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dec.c:1286,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_dec.c:1295,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1419,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dec.c:1343,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dec.c:1396,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_dec.c:1279,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dec.c:1161,1
    - Dst: avcodec_find_decoder_by_name
      Src: /src/gpac/src/filters/ff_dec.c:1103,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dec.c:1169,1
    - Dst: ffmpeg_extradata_from_gpac
      Src: /src/gpac/src/filters/ff_dec.c:1236,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dec.c:1259,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 389
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1427
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1427
    functionName: ffdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - ffmpeg_check_threads
    - strncmp
    - PROP_BOOL
    - GF_LOG
    - avcodec_find_decoder_by_name
    - ffmpeg_report_options
    - av_frame_alloc
    - avcodec_find_decoder
    - gf_filter_pid_set_framing_mode
    - avcodec_open2
    - gf_filter_override_caps
    - gf_filter_pid_remove
    - gf_4cc_to_str
    - strstr
    - ffdec_check_pix_fmt_change
    - gf_filter_get_udta
    - gf_crc_32
    - gf_strdup
    - gf_filter_pid_copy_properties
    - ffmpeg_pixfmt_to_gpac
    - ffmpeg_codecid_from_gpac
    - PROP_UINT
    - ffmpeg_audio_fmt_to_gpac
    - GF_ARRAY_LENGTH
    - gf_filter_pid_get_name
    - av_dict_free
    - gf_filter_pid_negotiate_property
    - ffmpeg_channel_layout_to_gpac
    - gf_filter_set_name
    - avcodec_free_context
    - PROP_LONGUINT
    - FF_CHECK_PROP
    - sprintf
    - av_dict_copy
    - gf_filter_pid_set_property
    - gf_codecid_name
    - gf_sys_is_test_mode
    - gf_free
    - ffmpeg_set_enc_dec_flags
    - av_err2str
    - gf_filter_pid_get_property
    - avcodec_alloc_context3
    - ffmpeg_extradata_from_gpac
    - PROP_FRAC
    - gf_audio_fmt_bit_depth
    - gf_opts_get_bool
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dec.c:1443,1
    - Dst: avcodec_flush_buffers
      Src: /src/gpac/src/filters/ff_dec.c:1458,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dec.c:1450,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_dec.c:1451,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/ff_dec.c:1452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1462
    functionName: ffdec_process_event
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - avcodec_flush_buffers
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ffdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_dec.c:1552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: ffdec_register
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1560
    functionName: ffdec_register
    functionSourceFile: /src/gpac/src/filters/ff_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdec_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pInstance
    - lib_path
    argTypes:
    - CUVIDDRIVER*
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: LOAD_LIBRARY_CUVID
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - LoadLibrary
    - GF_LOG
    linkageType: ''
    returnType: CUresult
    signature: 'static CUresult LOAD_LIBRARY_CUVID(CUVIDDRIVER *pInstance, const char
      *lib_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pInstance
    - lib_path
    argTypes:
    - CUVIDDRIVER*
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: LOAD_LIBRARY_CUVID
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - dlopen
    - GF_LOG
    linkageType: ''
    returnType: CUresult
    signature: 'static CUresult LOAD_LIBRARY_CUVID(CUVIDDRIVER *pInstance, const char
      *lib_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:339,1
    - Dst: FreeLibrary
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:340,1
    - Dst: dlclose
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:342,1
    - Dst: dlclose
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: cuUninit
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - dlclose
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: 'void CUDAAPI cuUninit() '
  - BBCount: 46
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - CUresult
    constantsTouched: []
    func_position:
      end: 721
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 721
    functionName: cudaGetErrorEnum
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cudaGetErrorEnum(CUresult error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pInstance
    - lib_path
    argTypes:
    - CUDADRIVER*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: LOAD_LIBRARY_CUDA
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - LoadLibrary
    - GF_LOG
    linkageType: ''
    returnType: CUresult
    signature: 'static CUresult LOAD_LIBRARY_CUDA(CUDADRIVER *pInstance, const char
      *lib_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - Flags
    - cudaVersion
    - curr_lib
    argTypes:
    - unsigned int
    - int
    - CUDADRIVER
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: cuInitGL
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CUresult
    signature: 'CUresult CUDAAPI cuInitGL(unsigned int Flags, int cudaVersion, CUDADRIVER
      curr_lib) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pInstance
    - lib_path
    argTypes:
    - CUDADRIVER*
    - char*
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: LOAD_LIBRARY_CUDA
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - dlopen
    - GF_LOG
    linkageType: ''
    returnType: CUresult
    signature: 'static CUresult LOAD_LIBRARY_CUDA(CUDADRIVER *pInstance, const char
      *lib_path) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CHECKED_CALL
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:373,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:379,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:445,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:401,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:447,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:437,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:423,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:459,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:481,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:506,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:660,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:576,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:610,1
    - Dst: cuUninit
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:362,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:398,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:414,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:420,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:435,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:456,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:478,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:497,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:503,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:519,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:656,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:632,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:446,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:449,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:429,1
    - Dst: CHECKED_CALL
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:356,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:385,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:407,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:465,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:512,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:590,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:639,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:663,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:598,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:523,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:612,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:426,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:382,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:404,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:462,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:509,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:560,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:604,1
    - Dst: LOAD_LIBRARY_CUVID
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:618,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:628,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:647,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:518,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:602,1
    - Dst: _cuInit
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:366,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:383,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:427,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:405,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:463,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:510,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:544,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:547,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:561,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:577,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:562,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:655,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:522,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:611,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:380,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:402,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:424,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:460,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:482,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:507,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:538,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:546,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:582,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:645,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:637,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:589,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:502,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:417,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:439,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:389,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:395,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:411,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:453,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:469,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:475,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:487,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:494,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:567,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:408,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:450,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:430,1
    - Dst: GET_PROC_EX
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:360,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:386,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:392,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:466,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:472,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:491,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:513,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:524,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:613,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:609,1
    - Dst: LOAD_LIBRARY_CUDA
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:356,1
    - Dst: cuDriverGetVersion
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:373,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:387,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:393,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:409,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:451,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:467,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:473,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:492,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:514,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:532,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:448,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:428,1
    - Dst: CHECKED_CALL
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:366,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:377,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:384,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:406,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:464,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:490,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:500,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:511,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:578,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:588,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:631,1
    - Dst: cuUninit
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:641,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:552,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:633,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:399,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:415,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:421,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:444,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:457,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:479,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:498,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:504,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:520,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:526,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:651,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:630,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:646,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:412,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:418,1
    - Dst: GET_PROC_OPTIONAL
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:369,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:390,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:396,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:454,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:470,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:476,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:495,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:501,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:608,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:391,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:397,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:413,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:419,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:455,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:471,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:477,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:488,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:489,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:496,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:570,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:410,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:416,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:388,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:394,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:452,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:468,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:474,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:493,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:499,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:515,1
    - Dst: cuUninit
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:620,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:650,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:662,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:638,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:381,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:403,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:425,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:461,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:483,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:508,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:533,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:543,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:559,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:568,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:556,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:597,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:634,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:579,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:516,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:571,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:569,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:606,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:661,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:517,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:438,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:378,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:400,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:422,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:436,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:458,1
    - Dst: GET_PROC_V2
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:480,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:505,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:521,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:580,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:581,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:592,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:525,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:614,1
    - Dst: GET_PROC
      Src: /src/gpac/src/filters/dec_nvdec_sdk.c:629,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 264
    argCount: 4
    argNames:
    - Flags
    - cudaVersion
    - cuda_path
    - cuvid_path
    argTypes:
    - unsigned int
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 667
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 667
    functionName: cuInit
    functionSourceFile: /src/gpac/src/filters/dec_nvdec_sdk.c
    functionUses: []
    functionsReached:
    - GET_PROC
    - GET_PROC_EX
    - GET_PROC_OPTIONAL
    - GET_PROC_V2
    - _cuInit
    - LOAD_LIBRARY_CUDA
    - cuDriverGetVersion
    - LOAD_LIBRARY_CUVID
    - cuUninit
    - CHECKED_CALL
    linkageType: ''
    returnType: CUresult
    signature: 'CUresult CUDAAPI cuInit(unsigned int Flags, int cudaVersion, const
      char *cuda_path, const char *cuvid_path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_first_frag
      Src: /src/gpac/src/filters/in_route_repair.c:80,1
    - Dst: gf_route_dmx_patch_frag_info
      Src: /src/gpac/src/filters/in_route_repair.c:94,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - service_id
    - finfo
    - repair_start_only
    argTypes:
    - ROUTEInCtx*
    - u32
    - GF_ROUTEEventFileInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 96
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 96
    functionName: routein_repair_segment_ts_local
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_patch_frag_info
    - update_first_frag
    linkageType: ''
    returnType: Bool
    signature: 'static Bool routein_repair_segment_ts_local(ROUTEInCtx *ctx, u32 service_id,
      GF_ROUTEEventFileInfo *finfo, Bool repair_start_only) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: update_first_frag
      Src: /src/gpac/src/filters/in_route_repair.c:210,1
    - Dst: gf_route_dmx_patch_blob_size
      Src: /src/gpac/src/filters/in_route_repair.c:227,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:236,1
    - Dst: gf_route_dmx_patch_blob_size
      Src: /src/gpac/src/filters/in_route_repair.c:238,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:351,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:411,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:362,1
    - Dst: gf_route_dmx_patch_frag_info
      Src: /src/gpac/src/filters/in_route_repair.c:222,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/in_route_repair.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:378,1
    - Dst: gf_route_dmx_patch_blob_size
      Src: /src/gpac/src/filters/in_route_repair.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:432,1
    - Dst: gf_route_dmx_patch_frag_info
      Src: /src/gpac/src/filters/in_route_repair.c:440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:243,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:254,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:263,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:265,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:312,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:319,1
    - Dst: MAX
      Src: /src/gpac/src/filters/in_route_repair.c:360,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/in_route_repair.c:378,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:382,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:230,1
    - Dst: next_top_level_box
      Src: /src/gpac/src/filters/in_route_repair.c:214,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:232,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/in_route_repair.c:277,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:309,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:305,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:393,1
    - Dst: MIN
      Src: /src/gpac/src/filters/in_route_repair.c:382,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:408,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 299
    argCount: 4
    argNames:
    - ctx
    - service_id
    - finfo
    - repair_start_only
    argTypes:
    - ROUTEInCtx*
    - u32
    - GF_ROUTEEventFileInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 442
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 442
    functionName: routein_repair_segment_isobmf_local
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - memset
    - MIN
    - GF_4CC
    - next_top_level_box
    - GF_LOG
    - update_first_frag
    - gf_route_dmx_patch_frag_info
    - gf_route_dmx_patch_blob_size
    - gf_4cc_to_str
    - gf_assert
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void routein_repair_segment_isobmf_local(ROUTEInCtx *ctx, u32
      service_id, GF_ROUTEEventFileInfo *finfo, Bool repair_start_only) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:147,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:159,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - finfo
    - data
    - size
    - cur_pos
    - box_size
    argTypes:
    - GF_ROUTEEventFileInfo*
    - u8*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 169
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 169
    functionName: next_top_level_box
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - GF_4CC
    linkageType: ''
    returnType: u32
    signature: 'static u32 next_top_level_box(GF_ROUTEEventFileInfo *finfo, u8 *data,
      u32 size, u32 *cur_pos, u32 *box_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:559,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:574,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_route_repair.c:577,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:568,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_route_repair.c:577,1
    - Dst: routein_repair_segment_ts_local
      Src: /src/gpac/src/filters/in_route_repair.c:578,1
    - Dst: routein_repair_segment_isobmf_local
      Src: /src/gpac/src/filters/in_route_repair.c:580,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:587,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - evt
    - evt_param
    - finfo
    - start_only
    argTypes:
    - ROUTEInCtx*
    - GF_ROUTEEventType
    - u32
    - GF_ROUTEEventFileInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 590
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 590
    functionName: routein_repair_local
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - routein_repair_segment_isobmf_local
    - GF_LOG
    - gf_mx_p
    - gf_mx_v
    - routein_repair_segment_ts_local
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool routein_repair_local(ROUTEInCtx *ctx, GF_ROUTEEventType
      evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo, Bool start_only) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:838,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/in_route_repair.c:843,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:839,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:849,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/in_route_repair.c:838,1
    - Dst: routein_repair_local
      Src: /src/gpac/src/filters/in_route_repair.c:852,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:858,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:860,1
    - Dst: gf_route_dmx_force_keep_object
      Src: /src/gpac/src/filters/in_route_repair.c:865,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/in_route_repair.c:866,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:867,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:873,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route_repair.c:872,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:875,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:880,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - rsess
    - rsi
    argTypes:
    - ROUTEInCtx*
    - RouteRepairSession*
    - RepairSegmentInfo*
    constantsTouched: []
    func_position:
      end: 883
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 883
    functionName: repair_session_dequeue
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_add
    - gf_list_get
    - memset
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - routein_repair_local
    - gf_free
    - gf_route_dmx_force_keep_object
    - routein_on_event_file
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void repair_session_dequeue(ROUTEInCtx *ctx, RouteRepairSession
      *rsess, RepairSegmentInfo *rsi) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:984,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:981,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:1000,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/in_route_repair.c:1015,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:1017,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/in_route_repair.c:1035,1
    - Dst: gf_dm_sess_set_netcap_id
      Src: /src/gpac/src/filters/in_route_repair.c:1038,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1051,1
    - Dst: gf_dm_sess_get_resource_size
      Src: /src/gpac/src/filters/in_route_repair.c:1074,1
    - Dst: gf_dm_sess_get_resource_size
      Src: /src/gpac/src/filters/in_route_repair.c:1129,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_route_repair.c:1141,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route_repair.c:978,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:988,1
    - Dst: repair_session_done
      Src: /src/gpac/src/filters/in_route_repair.c:994,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:1016,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_route_repair.c:1043,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/in_route_repair.c:1050,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/in_route_repair.c:1053,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route_repair.c:1056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1099,1
    - Dst: gf_route_dmx_patch_blob_size
      Src: /src/gpac/src/filters/in_route_repair.c:1133,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:1140,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/in_route_repair.c:1022,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/in_route_repair.c:1036,1
    - Dst: repair_session_done
      Src: /src/gpac/src/filters/in_route_repair.c:1030,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:1020,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1043,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_route_repair.c:1065,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/src/filters/in_route_repair.c:1067,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route_repair.c:1070,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_route_repair.c:1101,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/in_route_repair.c:1102,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route_repair.c:1119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:1003,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/in_route_repair.c:1040,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:1019,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route_repair.c:1044,1
    - Dst: repair_session_done
      Src: /src/gpac/src/filters/in_route_repair.c:1045,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1054,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:1107,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1109,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:1115,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:1142,1
    - Dst: repair_session_done
      Src: /src/gpac/src/filters/in_route_repair.c:1151,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 172
    argCount: 2
    argNames:
    - ctx
    - rsess
    argTypes:
    - ROUTEInCtx*
    - RouteRepairSession*
    constantsTouched: []
    func_position:
      end: 1156
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1156
    functionName: repair_session_run
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_download_manager
    - GF_LOG
    - gf_dm_sess_get_resource_size
    - gf_dm_sess_new
    - gf_dm_sess_setup_from_url
    - gf_error_to_string
    - gf_list_count
    - gf_assert
    - gf_list_del_item
    - gf_list_get
    - gf_mx_p
    - gf_dm_sess_set_range
    - gf_sys_clock
    - gf_dm_sess_set_netcap_id
    - memcpy
    - gf_free
    - gf_mx_v
    - gf_url_concatenate
    - repair_session_done
    - gf_dm_sess_fetch_data
    - gf_dm_sess_del
    - gf_route_dmx_patch_blob_size
    - gf_dm_sess_abort
    linkageType: ''
    returnType: void
    signature: 'static void repair_session_run(ROUTEInCtx *ctx, RouteRepairSession
      *rsess) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filters/in_route_repair.c:455,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:508,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route_repair.c:521,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:543,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route_repair.c:519,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route_repair.c:494,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:531,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:458,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filters/in_route_repair.c:456,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route_repair.c:496,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route_repair.c:540,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route_repair.c:541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:546,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route_repair.c:502,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:535,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:539,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 3
    argNames:
    - ctx
    - rsi
    - finfo
    argTypes:
    - ROUTEInCtx*
    - RepairSegmentInfo*
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 551
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 551
    functionName: route_repair_build_ranges_full
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - memset
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_get_statistics
    - GF_SAFEALLOC
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void route_repair_build_ranges_full(ROUTEInCtx *ctx, RepairSegmentInfo
      *rsi, GF_ROUTEEventFileInfo *finfo) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:720,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:734,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:713,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:762,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:798,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:800,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:784,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/in_route_repair.c:802,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/in_route_repair.c:819,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:823,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:786,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:789,1
    - Dst: routein_get_tsio
      Src: /src/gpac/src/filters/in_route_repair.c:615,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_route_repair.c:662,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_route_repair.c:662,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:674,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/in_route_repair.c:682,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:725,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route_repair.c:747,1
    - Dst: routein_repair_local
      Src: /src/gpac/src/filters/in_route_repair.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:766,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:779,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:780,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:815,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:607,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:650,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:627,1
    - Dst: next_top_level_box
      Src: /src/gpac/src/filters/in_route_repair.c:669,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:707,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:691,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:736,1
    - Dst: routein_repair_local
      Src: /src/gpac/src/filters/in_route_repair.c:712,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:702,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route_repair.c:745,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route_repair.c:771,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:599,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route_repair.c:748,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:752,1
    - Dst: route_repair_build_ranges_full
      Src: /src/gpac/src/filters/in_route_repair.c:776,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:790,1
    - Dst: gf_route_dmx_force_keep_object
      Src: /src/gpac/src/filters/in_route_repair.c:795,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:808,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route_repair.c:812,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:817,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 208
    argCount: 4
    argNames:
    - ctx
    - evt
    - evt_param
    - finfo
    argTypes:
    - ROUTEInCtx*
    - GF_ROUTEEventType
    - u32
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 824
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 824
    functionName: routein_queue_repair
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - next_top_level_box
    - GF_LOG
    - GF_SAFEALLOC
    - routein_get_tsio
    - strstr
    - gf_list_pop_back
    - GF_4CC
    - gf_list_count
    - gf_strdup
    - gf_route_dmx_force_keep_object
    - gf_list_new
    - gf_assert
    - gf_list_insert
    - gf_list_get
    - gf_mx_p
    - routein_repair_local
    - gf_mx_v
    - route_repair_build_ranges_full
    - routein_on_event_file
    linkageType: ''
    returnType: void
    signature: 'void routein_queue_repair(ROUTEInCtx *ctx, GF_ROUTEEventType evt,
      u32 evt_param, GF_ROUTEEventFileInfo *finfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_patch_frag_info
      Src: /src/gpac/src/filters/in_route_repair.c:897,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:922,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/in_route_repair.c:919,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route_repair.c:903,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route_repair.c:914,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:927,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route_repair.c:933,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:937,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:941,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:949,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/in_route_repair.c:953,1
    - Dst: repair_session_dequeue
      Src: /src/gpac/src/filters/in_route_repair.c:961,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - rsess
    - res_code
    argTypes:
    - ROUTEInCtx*
    - RouteRepairSession*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 962
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 962
    functionName: repair_session_done
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_find
    - gf_list_transfer
    - repair_session_dequeue
    - gf_list_count
    - gf_mx_p
    - gf_route_dmx_patch_frag_info
    - gf_mx_v
    - routein_on_event_file
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void repair_session_done(ROUTEInCtx *ctx, RouteRepairSession
      *rsess, GF_Err res_code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: repair_session_run
      Src: /src/gpac/src/filters/in_route_repair.c:1164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ROUTEInCtx*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: routein_do_repair
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - repair_session_run
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err routein_do_repair(ROUTEInCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route_repair.c:1175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route_repair.c:1177,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_route_repair.c:1178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route_repair.c:1182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - service_id
    - filename
    - is_delete
    argTypes:
    - ROUTEInCtx*
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1190
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1190
    functionName: routein_repair_mark_file
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void routein_repair_mark_file(ROUTEInCtx *ctx, u32 service_id, const
      char *filename, Bool is_delete) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route_repair.c:33,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route_repair.c:39,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/in_route_repair.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - finfo
    argTypes:
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: update_first_frag
    functionSourceFile: /src/gpac/src/filters/in_route_repair.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void update_first_frag(GF_ROUTEEventFileInfo *finfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_vobsub.c:81,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_vobsub.c:83,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_vobsub.c:96,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/dmx_vobsub.c:115,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/dmx_vobsub.c:114,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/dmx_vobsub.c:112,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_vobsub.c:118,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/dmx_vobsub.c:107,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_vobsub.c:125,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/dmx_vobsub.c:126,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:69,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dmx_vobsub.c:102,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_vobsub.c:102,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_vobsub.c:112,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/dmx_vobsub.c:132,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_vobsub.c:134,1
    - Dst: gf_filter_disable_probe
      Src: /src/gpac/src/filters/dmx_vobsub.c:136,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:73,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:71,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_vobsub.c:110,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_vobsub.c:122,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dmx_vobsub.c:120,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/dmx_vobsub.c:124,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_vobsub.c:128,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_vobsub.c:83,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_vobsub.c:87,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 142
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 142
    functionName: vobsubdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_fileio_factory
    - gf_fileio_translate_url
    - strncmp
    - gf_filter_force_main_thread
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_filter_remove_src
    - gf_file_ext_start
    - gf_filter_get_udta
    - gf_fileio_from_url
    - gf_crc_32
    - gf_file_basename
    - strcpy
    - gf_fileio_is_main_thread
    - gf_filter_disable_probe
    - gf_filter_get_opid_count
    - gf_filter_get_opid
    - gf_filter_connect_source
    - strcat
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - gf_filter_setup_failure
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsubdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:192,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_vobsub.c:204,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:235,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_vobsub.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:237,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:239,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:243,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:244,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_vobsub.c:245,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:189,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:205,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:212,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_vobsub.c:230,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:236,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:238,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:242,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:246,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_vobsub.c:196,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:191,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_vobsub.c:202,1
    - Dst: vobsub_read_idx
      Src: /src/gpac/src/filters/dmx_vobsub.c:209,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:235,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:237,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_vobsub.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:243,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_vobsub.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:245,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:198,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_vobsub.c:210,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dmx_vobsub.c:220,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_vobsub.c:228,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_vobsub.c:233,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:236,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:238,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_vobsub.c:246,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:248,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_VOBSubDmxCtx*
    constantsTouched: []
    func_position:
      end: 252
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 252
    functionName: vobsubdmx_parse_idx
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_last
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - vobsub_read_idx
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_DATA
    - PROP_STRING
    - PROP_FRAC64
    - gf_filter_setup_failure
    - GF_SAFEALLOC
    - gf_filter_get_opid_count
    - gf_fclose
    - PROP_UINT
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsubdmx_parse_idx(GF_Filter *filter, GF_VOBSubDmxCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_vobsub.c:370,1
    - Dst: vobsubdmx_parse_idx
      Src: /src/gpac/src/filters/dmx_vobsub.c:376,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_vobsub.c:372,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_vobsub.c:396,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_vobsub.c:401,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_vobsub.c:399,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_vobsub.c:406,1
    - Dst: vobsubdmx_send_stream
      Src: /src/gpac/src/filters/dmx_vobsub.c:414,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_vobsub.c:417,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:363,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_vobsub.c:374,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_vobsub.c:378,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:380,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_vobsub.c:390,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_vobsub.c:411,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_vobsub.c:413,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_vobsub.c:408,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_vobsub.c:423,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_vobsub.c:392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:393,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_vobsub.c:405,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 427
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 427
    functionName: vobsubdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_property
    - gf_filter_pid_get_packet
    - gf_filter_get_opid
    - GF_LOG
    - vobsubdmx_parse_idx
    - gf_filter_pid_drop_packet
    - vobsubdmx_send_stream
    - gf_filter_pid_set_eos
    - gf_filter_setup_failure
    - gf_filter_pck_get_framing
    - gf_filter_get_opid_count
    - gf_assert
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vobsubdmx_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_vobsub.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: vobsubdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char * vobsubdmx_probe_data(const u8 *data, u32 size,
      GF_FilterProbeScore *score) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 178
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 178
    functionName: vobsubdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vobsubdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_vobsub.c:267,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/dmx_vobsub.c:284,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_vobsub.c:289,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_vobsub.c:313,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_vobsub.c:315,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dmx_vobsub.c:323,1
    - Dst: vobsub_get_subpic_duration
      Src: /src/gpac/src/filters/dmx_vobsub.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:285,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_vobsub.c:312,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_vobsub.c:314,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_vobsub.c:324,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_vobsub.c:345,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_vobsub.c:347,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:264,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_vobsub.c:274,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_vobsub.c:283,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:300,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_vobsub.c:308,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_vobsub.c:318,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_vobsub.c:327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:341,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_vobsub.c:311,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_vobsub.c:350,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_vobsub.c:352,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_vobsub.c:356,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_vobsub.c:346,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 2
    argNames:
    - ctx
    - pid
    argTypes:
    - GF_VOBSubDmxCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 359
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 359
    functionName: vobsubdmx_send_stream
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_list_get
    - MIN
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pid_get_udta
    - GF_LOG
    - gf_fread
    - gf_ftell
    - memcpy
    - gf_filter_pck_set_cts
    - vobsub_get_subpic_duration
    - gf_filter_pck_send
    - gf_fseek
    - gf_filter_pid_would_block
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vobsubdmx_send_stream(GF_VOBSubDmxCtx *ctx, GF_FilterPid
      *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_vobsub.c:431,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_vobsub.c:433,1
    - Dst: vobsub_free
      Src: /src/gpac/src/filters/dmx_vobsub.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: vobsubdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_filter_get_udta
    - vobsub_free
    linkageType: ''
    returnType: void
    signature: 'static void vobsubdmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: vobsubdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_vobsub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vobsubdmx_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:680,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dmx_gsf.c:681,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_gsf.c:683,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_gsf.c:693,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:698,1
    - Dst: gsfdmx_pck_reset
      Src: /src/gpac/src/filters/dmx_gsf.c:705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_gsf.c:714,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:677,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_gsf.c:695,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:707,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_gsf.c:672,1
    - Dst: gsfdmx_pck_reset
      Src: /src/gpac/src/filters/dmx_gsf.c:682,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:684,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_gsf.c:706,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dmx_gsf.c:720,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_gsf.c:703,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:712,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:723,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:710,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 6
    argNames:
    - ctx
    - gst
    - pck_frag
    - frame_sn
    - pkt_type
    - frame_size
    argTypes:
    - GSF_DemuxCtx*
    - GSF_Stream*
    - Bool
    - s32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 726
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 726
    functionName: gsfdmx_get_packet
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_filter_pck_new_alloc
    - gsfdmx_pck_reset
    - gf_list_get
    - memset
    - gf_list_find
    - gf_list_insert
    - gf_list_enum
    - gf_list_count
    - GF_LOG
    - gf_filter_pck_discard
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_list_pop_back
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GSF_Packet *gsfdmx_get_packet(GSF_DemuxCtx *ctx, GSF_Stream
      *gst, Bool pck_frag, s32 frame_sn, u8 pkt_type, u32 frame_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1011,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/dmx_gsf.c:1016,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dmx_gsf.c:1012,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1019,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_gsf.c:1017,1
    - Dst: gsfdmx_pck_reset
      Src: /src/gpac/src/filters/dmx_gsf.c:1022,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_gsf.c:1023,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:1024,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_gsf.c:1028,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1030,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:1032,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dmx_gsf.c:1031,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - gst
    - is_flush
    argTypes:
    - GSF_DemuxCtx*
    - GSF_Stream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1033
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1033
    functionName: gsfdmx_stream_del
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gsfdmx_pck_reset
    - gf_list_find
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pck_set_corrupted
    - gf_filter_pck_discard
    - gf_filter_pid_remove
    - gf_filter_pck_send
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gsfdmx_stream_del(GSF_DemuxCtx *ctx, GSF_Stream *gst,
      Bool is_flush) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_gsf.c:1398,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/filters/dmx_gsf.c:1402,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_gsf.c:1399,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dmx_gsf.c:1405,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_gsf.c:1401,1
    - Dst: gsfdmx_not_enough_bytes
      Src: /src/gpac/src/filters/dmx_gsf.c:1406,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_gsf.c:1409,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_gsf.c:1410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1412
    functionName: gsfdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sys_is_cov_mode
    - gf_bs_set_eos_callback
    - gf_bs_new
    - gf_list_new
    - gsfdmx_not_enough_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_initialize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_gsf.c:735,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dmx_gsf.c:748,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_gsf.c:746,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_gsf.c:768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - pck
    - size
    - offset
    argTypes:
    - GSF_Packet*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 779
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 779
    functionName: gsfdmx_packet_append_frag
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - memmove
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void gsfdmx_packet_append_frag(GSF_Packet *pck, u32 size, u32
      offset) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_gsf.c:1044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1069,1
    - Dst: gsfdmx_stream_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1094,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1052,1
    - Dst: gsfdmx_parse_pid_info
      Src: /src/gpac/src/filters/dmx_gsf.c:1081,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/dmx_gsf.c:1106,1
    - Dst: gsfdmx_pck_reset
      Src: /src/gpac/src/filters/dmx_gsf.c:1121,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:1123,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1050,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_gsf.c:1058,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1085,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1112,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1115,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_gsf.c:1107,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1099,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1067,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1091,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_gsf.c:1122,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_gsf.c:1102,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dmx_gsf.c:1120,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 71
    argCount: 3
    argNames:
    - filter
    - ctx
    - gst
    argTypes:
    - GF_Filter*
    - GSF_DemuxCtx*
    - GSF_Stream*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1128
    functionName: gsfdmx_process_packets
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gsfdmx_pck_reset
    - gsfdmx_parse_pid_info
    - gf_list_find
    - gsfdmx_stream_del
    - gf_list_count
    - gf_filter_pck_set_corrupted
    - GF_LOG
    - gf_filter_pck_discard
    - gf_filter_pid_set_eos
    - gf_list_rem
    - gf_filter_pck_send
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_process_packets(GF_Filter *filter, GSF_DemuxCtx
      *ctx, GSF_Stream *gst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_gsf.c:1416,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1421,1
    - Dst: gsfdmx_stream_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1419,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_gsf.c:1418,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1417,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1423,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_gsf.c:1424,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dmx_gsf.c:1425,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:1426,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:1427,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/dmx_gsf.c:1432,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:1434,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1435,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1436,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_gsf.c:1429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1437
    functionName: gsfdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gsfdmx_stream_del
    - gf_list_count
    - gf_crypt_close
    - gf_free
    - gf_list_del_item
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void gsfdmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: gsfdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *gsfdmx_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:263,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:267,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:266,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:265,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:264,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:269,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:270,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dmx_gsf.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: gsfdmx_read_vlen
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - gf_bs_read_int
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 gsfdmx_read_vlen(GF_BitStream *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:442,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_gsf.c:451,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:453,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_gsf.c:444,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_gsf.c:449,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_gsf.c:454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - filter
    - ctx
    - idx
    - pkt_type
    argTypes:
    - GF_Filter*
    - GSF_DemuxCtx*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 461
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 461
    functionName: gsfdmx_get_stream
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GSF_Stream*
    signature: 'static GSF_Stream *gsfdmx_get_stream(GF_Filter *filter, GSF_DemuxCtx
      *ctx, u32 idx, u32 pkt_type) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:813,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:906,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:897,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/dmx_gsf.c:980,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:821,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:834,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:910,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:930,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dmx_gsf.c:866,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/src/filters/dmx_gsf.c:984,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_gsf.c:897,1
    - Dst: gsfdmx_read_prop
      Src: /src/gpac/src/filters/dmx_gsf.c:904,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:956,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:840,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_gsf.c:977,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:972,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:820,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:833,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:855,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:872,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:914,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:937,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:818,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:832,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_gsf.c:985,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:935,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/dmx_gsf.c:981,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/dmx_gsf.c:967,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:898,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:953,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:889,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_gsf.c:894,1
    - Dst: gsfdmx_packet_append_frag
      Src: /src/gpac/src/filters/dmx_gsf.c:973,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:817,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:831,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:923,1
    - Dst: gsfdmx_read_prop
      Src: /src/gpac/src/filters/dmx_gsf.c:945,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:961,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:815,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:816,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dmx_gsf.c:854,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/dmx_gsf.c:986,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dmx_gsf.c:982,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/dmx_gsf.c:895,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_gsf.c:978,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/dmx_gsf.c:989,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:893,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:938,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:839,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:814,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:824,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:830,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:882,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:920,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/dmx_gsf.c:952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:929,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:939,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_gsf.c:987,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:823,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:838,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:859,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dmx_gsf.c:983,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/dmx_gsf.c:979,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_gsf.c:876,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:948,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_gsf.c:885,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:867,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:879,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_gsf.c:975,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:919,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:794,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:822,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:835,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:837,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:925,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_gsf.c:976,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 184
    argCount: 6
    argNames:
    - ctx
    - gst
    - gpck
    - pck_len
    - full_pck
    - bs
    argTypes:
    - GSF_DemuxCtx*
    - GSF_Stream*
    - GSF_Packet*
    - u32
    - Bool
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 991
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 991
    functionName: gsfdmx_read_data_pck
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_filter_pck_set_dependency_flags
    - GF_LOG
    - gf_props_4cc_get_type
    - gf_filter_pck_set_interlaced
    - gf_4cc_to_str
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_corrupted
    - gf_filter_pck_truncate
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_bs_read_data
    - gsfdmx_packet_append_frag
    - gf_filter_pck_set_duration
    - gf_bs_read_u16
    - gsfdmx_read_vlen
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_filter_pck_set_property
    - gf_filter_pck_set_carousel_version
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_filter_pck_set_property_dyn
    - gf_filter_pck_set_framing
    - gsfdmx_read_prop
    - gf_filter_pck_discard
    - gf_filter_pck_set_roll_info
    - gf_free
    - gf_filter_pck_set_clock_type
    - gf_bs_read_long_int
    - gf_filter_pck_set_dts
    - gf_bs_read_u64
    - gf_filter_pck_set_crypt_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gsfdmx_read_data_pck(GSF_DemuxCtx *ctx, GSF_Stream *gst, GSF_Packet
      *gpck, u32 pck_len, Bool full_pck, GF_BitStream *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - pck_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1005
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: gsfdmx_pck_name
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *gsfdmx_pck_name(u32 pck_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_gsf.c:147,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_gsf.c:153,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:152,1
    - Dst: gsfdmx_stream_del
      Src: /src/gpac/src/filters/dmx_gsf.c:156,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_gsf.c:155,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_gsf.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: gsfdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gsfdmx_stream_del
    - gf_list_count
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gsfdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:292,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:317,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_gsf.c:306,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_gsf.c:313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:350,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:354,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:365,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:370,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:379,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:395,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:420,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filters/dmx_gsf.c:427,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_gsf.c:289,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/dmx_gsf.c:303,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:310,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:319,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:323,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:325,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:337,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:338,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:346,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:358,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:431,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:390,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:399,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:282,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_gsf.c:286,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:296,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_gsf.c:300,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:309,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:334,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:353,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:374,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:378,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:393,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:417,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:387,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:402,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:295,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_gsf.c:299,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/filters/dmx_gsf.c:303,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:318,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_gsf.c:314,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:324,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:375,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_gsf.c:407,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:424,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:367,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:414,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 153
    argCount: 2
    argNames:
    - bs
    - p
    argTypes:
    - GF_BitStream*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 435
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 435
    functionName: gsfdmx_read_prop
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gsfdmx_read_vlen
    - gf_bs_read_float
    - gf_bs_read_u8
    - gf_bs_read_double
    - GF_LOG
    - FLT2FIX
    - gf_props_type_is_enum
    - gf_bs_read_u64
    - gf_free
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_read_prop(GF_BitStream *bs, GF_PropertyValue
      *p) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/dmx_gsf.c:492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:494,1
    - Dst: gsfdmx_read_prop
      Src: /src/gpac/src/filters/dmx_gsf.c:498,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_gsf.c:521,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_gsf.c:522,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:525,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:527,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_gsf.c:533,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_gsf.c:534,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:542,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_gsf.c:475,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:491,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_gsf.c:494,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/dmx_gsf.c:502,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_gsf.c:519,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:509,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:551,1
    - Dst: gsfdmx_read_prop
      Src: /src/gpac/src/filters/dmx_gsf.c:553,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:555,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/dmx_gsf.c:559,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:560,1
    - Dst: gsfdmx_decrypt
      Src: /src/gpac/src/filters/dmx_gsf.c:473,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:504,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:524,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_gsf.c:526,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:550,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:546,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:484,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:485,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_gsf.c:489,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/dmx_gsf.c:504,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_gsf.c:508,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/dmx_gsf.c:504,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:547,1
    - Dst: gf_filter_pid_set_info_dyn
      Src: /src/gpac/src/filters/dmx_gsf.c:558,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/dmx_gsf.c:568,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 5
    argNames:
    - filter
    - ctx
    - gst
    - pck
    - is_info_update
    argTypes:
    - GF_Filter*
    - GSF_DemuxCtx*
    - GSF_Stream*
    - GSF_Packet*
    - Bool
    constantsTouched: []
    func_position:
      end: 573
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 573
    functionName: gsfdmx_parse_pid_info
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_info_dyn
    - gf_malloc
    - memset
    - gf_props_dump
    - GF_FEVT_INIT
    - GF_LOG
    - gf_props_4cc_get_type
    - gf_4cc_to_str
    - gf_bs_reassign_buffer
    - gf_filter_pid_set_info
    - gf_filter_pid_set_property_dyn
    - gf_file_basename
    - gf_bs_read_data
    - gf_props_reset_single
    - gf_bs_read_u32
    - gsfdmx_read_vlen
    - gf_bs_read_u8
    - gf_filter_pid_set_property
    - gsfdmx_read_prop
    - gf_free
    - gsfdmx_decrypt
    - gf_filter_pid_send_event
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_log_tool_level_on
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_parse_pid_info(GF_Filter *filter, GSF_DemuxCtx
      *ctx, GSF_Stream *gst, GSF_Packet *pck, Bool is_info_update) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_gsf.c:579,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_gsf.c:585,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/dmx_gsf.c:613,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:615,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:632,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dmx_gsf.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:641,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_gsf.c:583,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_gsf.c:589,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:609,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:625,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/dmx_gsf.c:619,1
    - Dst: gsfdmx_decrypt
      Src: /src/gpac/src/filters/dmx_gsf.c:621,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:624,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_gsf.c:636,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:600,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_gsf.c:606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:646,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_gsf.c:647,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_gsf.c:584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:585,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:604,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_gsf.c:605,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_gsf.c:637,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 5
    argNames:
    - filter
    - ctx
    - pck_data
    - pck_size
    - is_crypted
    argTypes:
    - GF_Filter*
    - GSF_DemuxCtx*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 654
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 654
    functionName: gsfdmx_tune
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gsfdmx_read_vlen
    - GF_4CC
    - memcmp
    - GF_LOG
    - gf_bs_read_int
    - gf_crypt_open
    - gf_crypt_init
    - gf_free
    - gf_4cc_to_str
    - gf_bs_read_data
    - gsfdmx_decrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_tune(GF_Filter *filter, GSF_DemuxCtx *ctx, char
      *pck_data, u32 pck_size, Bool is_crypted) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:1153,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:1157,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:1181,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_gsf.c:1197,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:1226,1
    - Dst: gsfdmx_read_data_pck
      Src: /src/gpac/src/filters/dmx_gsf.c:1252,1
    - Dst: gsfdmx_packet_append_frag
      Src: /src/gpac/src/filters/dmx_gsf.c:1268,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dmx_gsf.c:1274,1
    - Dst: gsfdmx_pck_reset
      Src: /src/gpac/src/filters/dmx_gsf.c:1276,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_gsf.c:1278,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dmx_gsf.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1285,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_gsf.c:1266,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_gsf.c:1140,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_gsf.c:1149,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_gsf.c:1148,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_gsf.c:1144,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_gsf.c:1175,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:1206,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:1180,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_gsf.c:1185,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1202,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:1220,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dmx_gsf.c:1294,1
    - Dst: gsfdmx_process_packets
      Src: /src/gpac/src/filters/dmx_gsf.c:1272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1241,1
    - Dst: gsfdmx_pck_name
      Src: /src/gpac/src/filters/dmx_gsf.c:1205,1
    - Dst: gsfdmx_tune
      Src: /src/gpac/src/filters/dmx_gsf.c:1221,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_gsf.c:1251,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1262,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_gsf.c:1277,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_gsf.c:1285,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_gsf.c:1289,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_gsf.c:1301,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_gsf.c:1302,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:1155,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:1156,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_gsf.c:1158,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:1173,1
    - Dst: gsfdmx_read_vlen
      Src: /src/gpac/src/filters/dmx_gsf.c:1184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1217,1
    - Dst: gsfdmx_get_stream
      Src: /src/gpac/src/filters/dmx_gsf.c:1228,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1231,1
    - Dst: gsfdmx_get_packet
      Src: /src/gpac/src/filters/dmx_gsf.c:1233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_gsf.c:1238,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_gsf.c:1290,1
    - Dst: gsfdmx_decrypt
      Src: /src/gpac/src/filters/dmx_gsf.c:1248,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1275,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 163
    argCount: 4
    argNames:
    - filter
    - ctx
    - data
    - data_size
    argTypes:
    - GF_Filter*
    - GSF_DemuxCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 1305
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1305
    functionName: gsfdmx_demux
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gsfdmx_get_packet
    - GF_FEVT_INIT
    - GF_LOG
    - gsfdmx_pck_name
    - gf_bs_skip_bytes
    - gf_bs_reassign_buffer
    - gsfdmx_pck_reset
    - gf_list_find
    - gf_error_to_string
    - gf_list_count
    - gsfdmx_get_stream
    - gsfdmx_read_data_pck
    - memmove
    - gf_list_del_item
    - gsfdmx_packet_append_frag
    - gf_bs_read_u16
    - gsfdmx_read_vlen
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_filter_pck_discard
    - memcpy
    - gsfdmx_decrypt
    - gf_filter_pid_send_event
    - gsfdmx_tune
    - gf_realloc
    - gsfdmx_process_packets
    - gf_bs_available
    - gf_fatal_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfdmx_demux(GF_Filter *filter, GSF_DemuxCtx *ctx, char
      *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_gsf.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GSF_Packet*
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: gsfdmx_pck_reset
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gsfdmx_pck_reset(GSF_Packet *pck) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_gsf.c:1310,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_gsf.c:1327,1
    - Dst: gsfdmx_demux
      Src: /src/gpac/src/filters/dmx_gsf.c:1324,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_gsf.c:1321,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_gsf.c:1336,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_gsf.c:1339,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_gsf.c:1340,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_gsf.c:1349,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_gsf.c:1350,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_gsf.c:1358,1
    - Dst: gsfdmx_demux
      Src: /src/gpac/src/filters/dmx_gsf.c:1359,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_gsf.c:1360,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_gsf.c:1362,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1365
    functionName: gsfdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gsfdmx_demux
    - gf_filter_get_udta
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_list_enum
    - gf_filter_pid_get_packet
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pid_would_block
    - gf_filter_pck_get_data
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gsfdmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: gsfdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *gsfdmx_register(GF_FilterSession *session) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_gsf.c:170,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_gsf.c:204,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_gsf.c:217,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_gsf.c:206,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 231
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 231
    functionName: gsfdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gsfdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/filters/dmx_gsf.c:1373,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_gsf.c:1379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - data
    - data_size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1387
    functionName: gsfdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - memchr
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *gsfdmx_probe_data(const u8 *data, u32 data_size,
      GF_FilterProbeScore *score) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/dmx_gsf.c:242,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/dmx_gsf.c:247,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/dmx_gsf.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - GSF_DemuxCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 259
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 259
    functionName: gsfdmx_decrypt
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached:
    - gf_crypt_set_IV
    - gf_crypt_decrypt
    linkageType: ''
    returnType: void
    signature: 'static void gsfdmx_decrypt(GSF_DemuxCtx *ctx, char *data, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - par
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: gsfdmx_not_enough_bytes
    functionSourceFile: /src/gpac/src/filters/dmx_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gsfdmx_not_enough_bytes(void *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:254,1
    - Dst: filein_initialize_ex
      Src: /src/gpac/src/filters/in_file.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: filein_initialize
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - filein_initialize_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filein_initialize(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:280,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:285,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:282,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:283,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:280,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:286,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:287,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_file.c:288,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_file.c:289,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/in_file.c:290,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_file.c:295,1
    - Dst: gf_fileio_read_mode
      Src: /src/gpac/src/filters/in_file.c:291,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/in_file.c:300,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_file.c:301,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/in_file.c:306,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_file.c:303,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 312
    functionName: filein_probe_url
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_read_mode
    - gf_fileio_from_url
    - strncmp
    - strcmp
    - strchr
    - strnicmp
    - strstr
    - gf_file_ext_start
    - gf_file_exists
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore filein_probe_url(const char *url, const
      char *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:415,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_file.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: filein_pck_destructor
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    linkageType: ''
    returnType: void
    signature: 'static void filein_pck_destructor(GF_Filter *filter, GF_FilterPid
      *pid, GF_FilterPacket *pck) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_file.c:84,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/in_file.c:101,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_file.c:102,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_file.c:121,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_file.c:128,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_file.c:135,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:148,1
    - Dst: close
      Src: /src/gpac/src/filters/in_file.c:160,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_file.c:167,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/in_file.c:174,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_file.c:178,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:149,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/in_file.c:219,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_file.c:218,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_file.c:167,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/in_file.c:211,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/in_file.c:232,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:86,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:88,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/in_file.c:91,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_file.c:94,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_file.c:95,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:100,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:107,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:110,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:113,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:114,1
    - Dst: gf_fd_fsize
      Src: /src/gpac/src/filters/in_file.c:208,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/in_file.c:235,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_file.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:204,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_file.c:133,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_file.c:103,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:102,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:115,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:127,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_file.c:131,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/in_file.c:141,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/filters/in_file.c:155,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/in_file.c:156,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/filters/in_file.c:170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:186,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_file.c:247,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:199,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:72,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_file.c:86,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_file.c:88,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_file.c:89,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/in_file.c:92,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_file.c:96,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:107,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/in_file.c:108,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_file.c:127,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_file.c:127,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_file.c:168,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/in_file.c:192,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/filters/in_file.c:216,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_file.c:219,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_file.c:144,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_file.c:199,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_file.c:197,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 179
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 250
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 250
    functionName: filein_initialize_ex
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - gf_fd_open
    - gf_fopen_ex
    - strncmp
    - GF_LOG
    - lseek_64
    - gf_filter_pid_set_eos
    - gf_fileio_check
    - gf_fseek
    - strstr
    - gf_file_ext_start
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_strdup
    - gf_fsize
    - PROP_STRING
    - strcmp
    - gf_rand_init
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_fd_fsize
    - gf_filter_pid_set_property
    - strchr
    - gf_filter_notification_failure
    - strnicmp
    - gf_filter_pck_send
    - close
    - gf_free
    - gf_filter_pck_new_shared
    - gf_fileio_url
    - gf_filter_pid_raw_new
    - gf_filter_pck_set_dts
    - gf_sys_is_cov_mode
    - gf_filter_setup_failure
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filein_initialize_ex(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:263,1
    - Dst: close
      Src: /src/gpac/src/filters/in_file.c:267,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_file.c:265,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_file.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: filein_finalize
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_filter_get_udta
    - close
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void filein_finalize(GF_Filter *filter) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:317,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/in_file.c:354,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_file.c:388,1
    - Dst: close
      Src: /src/gpac/src/filters/in_file.c:394,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_file.c:380,1
    - Dst: filein_initialize_ex
      Src: /src/gpac/src/filters/in_file.c:387,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:336,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:379,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/filters/in_file.c:343,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:340,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_file.c:330,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_file.c:399,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/in_file.c:375,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/in_file.c:402,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/in_file.c:350,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:357,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/in_file.c:368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:374,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_file.c:391,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_file.c:381,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 410
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 410
    functionName: filein_process_event
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_realloc
    - gf_strdup
    - GF_LOG
    - strcmp
    - lseek_64
    - gf_fclose
    - gf_file_delete
    - gf_fatal_assert
    - gf_filter_pid_set_eos
    - gf_fileio_check
    - gf_filter_post_process_task
    - gf_free
    - gf_fseek
    - close
    - filein_initialize_ex
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filein_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_file.c:446,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/in_file.c:449,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_file.c:453,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/in_file.c:543,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/in_file.c:604,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:616,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:670,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:662,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_file.c:675,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_file.c:697,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/in_file.c:598,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_file.c:609,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/in_file.c:622,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_file.c:637,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_file.c:688,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_file.c:648,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:662,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_file.c:427,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_file.c:444,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/in_file.c:435,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_file.c:440,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_file.c:451,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_file.c:506,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/in_file.c:500,1
    - Dst: GPAC_HAS_FD
      Src: /src/gpac/src/filters/in_file.c:562,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_file.c:565,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/in_file.c:582,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/filters/in_file.c:612,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:616,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:635,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:678,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/in_file.c:686,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/in_file.c:695,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:636,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_file.c:683,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_file.c:513,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/in_file.c:552,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_file.c:567,1
    - Dst: read
      Src: /src/gpac/src/filters/in_file.c:601,1
    - Dst: gf_fileio_get_stats
      Src: /src/gpac/src/filters/in_file.c:630,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_file.c:632,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:666,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:673,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:635,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:678,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_file.c:687,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_file.c:692,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/in_file.c:700,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:614,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:637,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:622,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_file.c:673,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_file.c:636,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_file.c:443,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_file.c:447,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/in_file.c:454,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/in_file.c:462,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_file.c:517,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_file.c:509,1
    - Dst: read
      Src: /src/gpac/src/filters/in_file.c:539,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_file.c:512,1
    - Dst: read
      Src: /src/gpac/src/filters/in_file.c:548,1
    - Dst: gf_fileio_get_stats
      Src: /src/gpac/src/filters/in_file.c:572,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_file.c:614,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_file.c:704,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_file.c:659,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_file.c:632,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/in_file.c:699,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 293
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 708
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 708
    functionName: filein_process
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - GPAC_HAS_FD
    - snprintf
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_set_eos
    - gf_fileio_check
    - PROP_FRAC64
    - gf_filter_update_status
    - gf_feof
    - read
    - gf_rand
    - gf_filter_get_udta
    - gf_filter_pid_set_info
    - gf_filter_pck_set_sap
    - gf_fileio_get_stats
    - gf_filter_pck_set_byte_offset
    - gf_file_basename
    - PROP_UINT
    - gf_filter_reporting_enabled
    - PROP_LONGUINT
    - sprintf
    - gf_fread
    - gf_filter_pck_set_framing
    - gf_filter_pid_set_property
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - gf_realloc
    - gf_filter_setup_failure
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filein_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_file.c:765,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_file.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: fin_register
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *fin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: fin_register
    functionSourceFile: /src/gpac/src/filters/in_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *fin_register(GF_FilterSession *session) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_sc_disconnect
      Src: /src/gpac/src/filters/compose.c:57,1
    - Dst: gf_sc_reload_config
      Src: /src/gpac/src/filters/compose.c:74,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/compose.c:119,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/compose.c:150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/compose.c:151,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/compose.c:163,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/compose.c:173,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/compose.c:176,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/compose.c:178,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/compose.c:195,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:45,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:77,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:81,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/compose.c:82,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/compose.c:96,1
    - Dst: gf_sc_draw_frame
      Src: /src/gpac/src/filters/compose.c:110,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/compose.c:126,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/filters/compose.c:103,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/compose.c:140,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/compose.c:144,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/compose.c:177,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/compose.c:196,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/compose.c:167,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/compose.c:65,1
    - Dst: assert
      Src: /src/gpac/src/filters/compose.c:84,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/compose.c:87,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/compose.c:88,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/compose.c:175,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/compose.c:206,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/src/filters/compose.c:64,1
    - Dst: gf_odm_on_eos
      Src: /src/gpac/src/filters/compose.c:99,1
    - Dst: gf_sc_set_scene_size
      Src: /src/gpac/src/filters/compose.c:105,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/compose.c:92,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/compose.c:138,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/compose.c:143,1
    - Dst: gf_sc_check_end_of_scene
      Src: /src/gpac/src/filters/compose.c:160,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/compose.c:165,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/compose.c:172,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/compose.c:180,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/compose.c:154,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/compose.c:188,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 162
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 209
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 209
    functionName: compose_process
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_sc_set_scene_size
    - GF_LOG
    - gf_sc_disconnect
    - gf_filter_pid_drop_packet
    - gf_filter_end_of_session
    - gf_filter_pid_set_eos
    - gf_filter_abort
    - gf_odm_on_eos
    - gf_filter_get_udta
    - gf_sc_reload_config
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - gf_sc_connect_from_time
    - gf_filter_connections_pending
    - gf_list_get
    - assert
    - gf_filter_pid_get_udta
    - gf_sys_clock
    - gf_filter_post_process_task
    - gf_free
    - gf_sc_draw_frame
    - gf_sg_get_scene_size_info
    - gf_filter_get_ipid
    - gf_filter_pid_send_event
    - gf_filter_get_ipid_count
    - gf_sc_check_end_of_scene
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compose_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:251,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/compose.c:234,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:240,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:242,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:246,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:247,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:248,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/compose.c:250,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:239,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/compose.c:233,1
    - Dst: gf_filter_pid_set_loose_connect
      Src: /src/gpac/src/filters/compose.c:237,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:240,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:250,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:247,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: compositor_setup_vout
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_set_name
    - gf_filter_pid_set_loose_connect
    - gf_filter_pid_set_property
    - PROP_FRAC
    - PROP_UINT
    linkageType: ''
    returnType: void
    signature: 'static void compositor_setup_vout(GF_Compositor *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:695,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/filters/compose.c:715,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/compose.c:725,1
    - Dst: gf_sc_play_from_time
      Src: /src/gpac/src/filters/compose.c:754,1
    - Dst: gf_sc_user_event
      Src: /src/gpac/src/filters/compose.c:743,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/filters/compose.c:767,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:712,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/compose.c:708,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/compose.c:723,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/compose.c:728,1
    - Dst: gf_odm_service_media_event_with_download
      Src: /src/gpac/src/filters/compose.c:735,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/compose.c:738,1
    - Dst: gf_odm_stop
      Src: /src/gpac/src/filters/compose.c:770,1
    - Dst: gf_sc_send_event
      Src: /src/gpac/src/filters/compose.c:718,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/compose.c:732,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:743,1
    - Dst: gf_sc_get_time_in_ms
      Src: /src/gpac/src/filters/compose.c:750,1
    - Dst: abs
      Src: /src/gpac/src/filters/compose.c:752,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:761,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:764,1
    - Dst: memset
      Src: /src/gpac/src/filters/compose.c:711,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:748,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:766,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 77
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 781
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 781
    functionName: compose_process_event
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_info
    - gf_odm_service_media_event_with_download
    - gf_sc_get_time_in_ms
    - memset
    - gf_sc_send_event
    - gf_sc_user_event
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_sc_play_from_time
    - gf_filter_release_property
    - gf_list_count
    - abs
    - gf_odm_stop
    linkageType: ''
    returnType: Bool
    signature: 'static Bool compose_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:792,1
    - Dst: gf_sc_unload
      Src: /src/gpac/src/filters/compose.c:799,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/filters/compose.c:795,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/filters/compose.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 801
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 801
    functionName: compose_finalize
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_sc_unload
    - gf_filter_get_udta
    - gf_sc_set_scene
    - gf_odm_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void compose_finalize(GF_Filter *filter) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/compose.c:884,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/compose.c:896,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/src/filters/compose.c:911,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/compose.c:909,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/compose.c:913,1
    - Dst: gf_sc_connect_from_time
      Src: /src/gpac/src/filters/compose.c:918,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/filters/compose.c:831,1
    - Dst: gf_sc_load
      Src: /src/gpac/src/filters/compose.c:863,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/compose.c:872,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/compose.c:884,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/compose.c:902,1
    - Dst: gf_filter_set_event_target
      Src: /src/gpac/src/filters/compose.c:907,1
    - Dst: compose_update_arg
      Src: /src/gpac/src/filters/compose.c:903,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:824,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/compose.c:860,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/compose.c:828,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/compose.c:866,1
    - Dst: gf_filter_load_filter
      Src: /src/gpac/src/filters/compose.c:881,1
    - Dst: compositor_setup_vout
      Src: /src/gpac/src/filters/compose.c:893,1
    - Dst: gf_filter_make_sticky
      Src: /src/gpac/src/filters/compose.c:875,1
    - Dst: compositor_setup_aout
      Src: /src/gpac/src/filters/compose.c:890,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/compose.c:921,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 923
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 923
    functionName: compose_initialize
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_sc_load
    - gf_filter_get_session_caps
    - GF_LOG
    - gf_filter_set_event_target
    - gf_filter_set_session_caps
    - compose_update_arg
    - gf_filter_get_udta
    - gf_error_to_string
    - gf_filter_prevent_blocking
    - gf_filter_load_filter
    - gf_sc_connect_from_time
    - gf_filter_make_sticky
    - compositor_setup_aout
    - gf_filter_post_process_task
    - gf_filter_is_dynamic
    - gf_opts_get_key
    - GF_COL_A
    - compositor_setup_vout
    - gf_sys_is_cov_mode
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compose_initialize(GF_Filter *filter) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:611,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:631,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:631,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:615,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/compose.c:632,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:633,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:633,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:643,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:645,1
    - Dst: gf_mixer_get_config
      Src: /src/gpac/src/filters/compose.c:659,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:665,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/filters/compose.c:679,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/filters/compose.c:680,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:660,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/compose.c:679,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/compose.c:670,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 685
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 685
    functionName: compose_reconfig_output
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_mixer_get_config
    - gf_pixel_get_size_info
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_caps_query
    - gf_audio_fmt_name
    - PROP_UINT
    - gf_mixer_set_config
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compose_reconfig_output(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:428,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/filters/compose.c:539,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:293,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/filters/compose.c:386,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:403,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/compose.c:477,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:530,1
    - Dst: merge_properties
      Src: /src/gpac/src/filters/compose.c:599,1
    - Dst: gf_scene_ns_new
      Src: /src/gpac/src/filters/compose.c:388,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/compose.c:480,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/filters/compose.c:538,1
    - Dst: gf_scene_ns_new
      Src: /src/gpac/src/filters/compose.c:527,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/compose.c:479,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/compose.c:322,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/filters/compose.c:324,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/compose.c:594,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:284,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/compose.c:437,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/compose.c:573,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:581,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:525,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:552,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/compose.c:269,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:332,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:577,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/filters/compose.c:485,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:442,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/compose.c:529,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/compose.c:565,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/compose.c:495,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:594,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:290,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:315,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/filters/compose.c:319,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/filters/compose.c:323,1
    - Dst: gf_sg_reset
      Src: /src/gpac/src/filters/compose.c:589,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:591,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/compose.c:332,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/compose.c:405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/compose.c:495,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/filters/compose.c:277,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:419,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/compose.c:438,1
    - Dst: gf_sc_set_scene
      Src: /src/gpac/src/filters/compose.c:540,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/compose.c:409,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:510,1
    - Dst: merge_properties
      Src: /src/gpac/src/filters/compose.c:368,1
    - Dst: memset
      Src: /src/gpac/src/filters/compose.c:372,1
    - Dst: gf_filter_pid_exec_event
      Src: /src/gpac/src/filters/compose.c:566,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/filters/compose.c:318,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:307,1
    - Dst: gf_filter_pid_is_sparse
      Src: /src/gpac/src/filters/compose.c:341,1
    - Dst: gf_scene_force_size_to_video
      Src: /src/gpac/src/filters/compose.c:360,1
    - Dst: gf_scene_insert_pid
      Src: /src/gpac/src/filters/compose.c:549,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:597,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/compose.c:564,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/compose.c:573,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:281,1
    - Dst: compositor_setup_vout
      Src: /src/gpac/src/filters/compose.c:300,1
    - Dst: gf_mo_update_caps_ex
      Src: /src/gpac/src/filters/compose.c:358,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:383,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/compose.c:311,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:355,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/compose.c:484,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/compose.c:597,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/filters/compose.c:449,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:263,1
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/filters/compose.c:374,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:430,1
    - Dst: gf_odm_check_clock_mediatime
      Src: /src/gpac/src/filters/compose.c:365,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/filters/compose.c:317,1
    - Dst: gf_odm_update_duration
      Src: /src/gpac/src/filters/compose.c:363,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/compose.c:478,1
    - Dst: gf_scene_regenerate
      Src: /src/gpac/src/filters/compose.c:287,1
    - Dst: gf_odm_new
      Src: /src/gpac/src/filters/compose.c:387,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/compose.c:573,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/compose.c:553,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 310
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 601
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 601
    functionName: compose_configure_pid
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - memset
    - GF_FEVT_INIT
    - GF_LOG
    - gf_evg_surface_new
    - gf_filter_pid_set_property_str
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_evg_surface_delete
    - gf_scene_ns_new
    - gf_strdup
    - gf_filter_pid_is_sparse
    - gf_list_count
    - gf_filter_pid_exec_event
    - gf_scene_force_size_to_video
    - PROP_UINT
    - gf_filter_pid_negotiate_property
    - gf_sg_reset
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_mo_update_caps_ex
    - gf_pixel_fmt_is_yuv
    - gf_scene_new
    - gf_filter_post_process_task
    - strnicmp
    - gf_odm_new
    - gf_odm_update_duration
    - gf_filter_forward_gf_event
    - gf_filter_pid_send_event
    - gf_pixel_is_wide_depth
    - gf_odm_check_clock_mediatime
    - compositor_setup_vout
    - gf_scene_regenerate
    - gf_stream_type_name
    - merge_properties
    - gf_filter_pid_get_property
    - gf_evg_surface_attach_to_buffer
    - gf_fatal_assert
    - gf_pixel_fmt_is_transparent
    - gf_sc_set_scene
    - gf_odm_disconnect
    - gf_scene_insert_pid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compose_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/compose.c:216,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - pid
    - mtype
    - parent_scene
    argTypes:
    - GF_Compositor*
    - GF_FilterPid*
    - u32
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: merge_properties
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void merge_properties(GF_Compositor *ctx, GF_FilterPid *pid,
      u32 mtype, GF_Scene *parent_scene) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/compose.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: compose_update_arg
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compose_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/compose.c:805,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:808,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/compose.c:806,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/compose.c:807,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:808,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:809,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:809,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:810,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:810,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:811,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:813,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:811,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/src/filters/compose.c:814,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:812,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:813,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/compose.c:815,1
    - Dst: gf_filter_pid_set_loose_connect
      Src: /src/gpac/src/filters/compose.c:816,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/compose.c:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_Compositor*
    constantsTouched: []
    func_position:
      end: 818
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 818
    functionName: compositor_setup_aout
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_set_max_buffer
    - gf_filter_pid_set_udta
    - gf_filter_pid_set_name
    - gf_filter_pid_set_loose_connect
    - gf_filter_pid_set_property
    - PROP_UINT
    linkageType: ''
    returnType: void
    signature: 'void compositor_setup_aout(GF_Compositor *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/compose.c:928,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/compose.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 935
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 935
    functionName: compose_probe_url
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'GF_FilterProbeScore compose_probe_url(const char *url, const char
      *mime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/compose.c:1235,1
    - Dst: gf_audio_fmt_all_names
      Src: /src/gpac/src/filters/compose.c:1236,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/compose.c:1238,1
    - Dst: gf_pixel_fmt_all_names
      Src: /src/gpac/src/filters/compose.c:1239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1243
    functionName: compositor_register
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_all_names
    - strcmp
    - gf_audio_fmt_all_names
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *compositor_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    functionName: compositor_register
    functionSourceFile: /src/gpac/src/filters/compose.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *compositor_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_route.c:33,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_route.c:34,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_route.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: routein_probe_url
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore routein_probe_url(const char *url, const
      char *mime) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:142,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_route.c:150,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route.c:153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route.c:158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_route.c:144,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:159,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route.c:162,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - service_id
    - finfo
    argTypes:
    - ROUTEInCtx*
    - u32
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: routein_get_tsio
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - strcmp
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: TSI_Output*
    signature: 'TSI_Output *routein_get_tsio(ROUTEInCtx *ctx, u32 service_id, GF_ROUTEEventFileInfo
      *finfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route.c:112,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/in_route.c:120,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route.c:116,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route.c:115,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:118,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/in_route.c:121,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/in_route.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:124,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - pid
    - finfo
    argTypes:
    - ROUTEInCtx*
    - GF_FilterPid*
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: push_seg_info
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_pop_front
    - GF_FEVT_INIT
    - gf_strdup
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void push_seg_info(ROUTEInCtx *ctx, GF_FilterPid *pid, GF_ROUTEEventFileInfo
      *finfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: routein_cleanup_objects
      Src: /src/gpac/src/filters/in_route.c:298,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:302,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_route.c:304,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:306,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/in_route.c:308,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_route.c:309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:311,1
    - Dst: routein_cleanup_objects
      Src: /src/gpac/src/filters/in_route.c:315,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route.c:318,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route.c:318,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:324,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/in_route.c:321,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/in_route.c:323,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - service_id
    - finfo
    - evt_type
    argTypes:
    - ROUTEInCtx*
    - u32
    - GF_ROUTEEventFileInfo*
    - u32
    constantsTouched: []
    func_position:
      end: 328
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 328
    functionName: routein_write_to_disk
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_pop_front
    - gf_strdup
    - gf_list_count
    - GF_LOG
    - sprintf
    - routein_cleanup_objects
    - gf_file_delete
    - gf_fwrite
    - gf_fclose
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void routein_write_to_disk(ROUTEInCtx *ctx, u32 service_id,
      GF_ROUTEEventFileInfo *finfo, u32 evt_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:539,1
    - Dst: routein_send_file
      Src: /src/gpac/src/filters/in_route.c:542,1
    - Dst: gf_route_atsc3_tune_in
      Src: /src/gpac/src/filters/in_route.c:552,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:549,1
    - Dst: gf_route_dmx_find_atsc3_service
      Src: /src/gpac/src/filters/in_route.c:547,1
    - Dst: routein_repair_mark_file
      Src: /src/gpac/src/filters/in_route.c:560,1
    - Dst: routein_queue_repair
      Src: /src/gpac/src/filters/in_route.c:567,1
    - Dst: routein_on_event_file
      Src: /src/gpac/src/filters/in_route.c:569,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - udta
    - evt
    - evt_param
    - finfo
    argTypes:
    - void*
    - GF_ROUTEEventType
    - u32
    - GF_ROUTEEventFileInfo*
    constantsTouched: []
    func_position:
      end: 571
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 571
    functionName: routein_on_event
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_find_atsc3_service
    - GF_LOG
    - routein_send_file
    - routein_queue_repair
    - gf_sys_clock
    - gf_route_atsc3_tune_in
    - routein_repair_mark_file
    - routein_on_event_file
    linkageType: ''
    returnType: void
    signature: 'void routein_on_event(void *udta, GF_ROUTEEventType evt, u32 evt_param,
      GF_ROUTEEventFileInfo *finfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/in_route.c:615,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/in_route.c:617,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_route.c:618,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_route.c:621,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:621,1
    - Dst: gf_route_dmx_reset_all
      Src: /src/gpac/src/filters/in_route.c:624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - filter
    - ctx
    - no_reset
    argTypes:
    - GF_Filter*
    - ROUTEInCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 625
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 625
    functionName: routein_set_eos
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_reset_all
    - PROP_STRING
    - gf_filter_pid_set_eos
    - gf_filter_pid_set_info_str
    - gf_filter_get_opid_count
    - gf_filter_get_opid
    linkageType: ''
    returnType: void
    signature: 'static void routein_set_eos(GF_Filter *filter, ROUTEInCtx *ctx, Bool
      no_reset) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_route.c:734,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_route.c:744,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_route.c:749,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_route.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:783,1
    - Dst: gf_dvb_mabr_dmx_new
      Src: /src/gpac/src/filters/in_route.c:787,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/in_route.c:782,1
    - Dst: gf_route_atsc3_tune_in
      Src: /src/gpac/src/filters/in_route.c:820,1
    - Dst: gf_route_atsc3_tune_in
      Src: /src/gpac/src/filters/in_route.c:822,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_route.c:845,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/in_route.c:757,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_route.c:767,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/in_route.c:771,1
    - Dst: gf_route_set_dispatch_mode
      Src: /src/gpac/src/filters/in_route.c:805,1
    - Dst: gf_route_dmx_new_ex
      Src: /src/gpac/src/filters/in_route.c:789,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_route.c:777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:818,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:825,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_route.c:840,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_route.c:854,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_route.c:740,1
    - Dst: gf_dm_set_localcache_provider
      Src: /src/gpac/src/filters/in_route.c:759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:773,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_route.c:787,1
    - Dst: gf_route_dmx_set_reorder
      Src: /src/gpac/src/filters/in_route.c:809,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:858,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:857,1
    - Dst: gf_route_atsc_dmx_new_ex
      Src: /src/gpac/src/filters/in_route.c:767,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_route.c:789,1
    - Dst: gf_route_set_dispatch_mode
      Src: /src/gpac/src/filters/in_route.c:807,1
    - Dst: gf_route_dmx_debug_tsi
      Src: /src/gpac/src/filters/in_route.c:812,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:828,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:830,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:837,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:859,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_route.c:855,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 135
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 869
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 869
    functionName: routein_initialize
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_set_reorder
    - gf_list_add
    - gf_malloc
    - gf_filter_get_download_manager
    - memset
    - strncmp
    - gf_route_atsc_dmx_new_ex
    - GF_LOG
    - gf_route_atsc3_tune_in
    - GF_SAFEALLOC
    - gf_filter_get_udta
    - strcmp
    - gf_dm_set_localcache_provider
    - atoi
    - gf_list_new
    - gf_route_dmx_debug_tsi
    - gf_sys_clock
    - strchr
    - gf_route_dmx_new_ex
    - gf_filter_get_netcap_id
    - strrchr
    - gf_sk_is_multicast_address
    - gf_dvb_mabr_dmx_new
    - gf_route_set_dispatch_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routein_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_route_dmx_get_object_count
      Src: /src/gpac/src/filters/in_route.c:131,1
    - Dst: gf_route_dmx_remove_first_object
      Src: /src/gpac/src/filters/in_route.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - service_id
    argTypes:
    - ROUTEInCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: routein_cleanup_objects
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_route_dmx_get_object_count
    - gf_route_dmx_remove_first_object
    linkageType: ''
    returnType: void
    signature: 'static void routein_cleanup_objects(ROUTEInCtx *ctx, u32 service_id) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:54,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:70,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:81,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:84,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:91,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:95,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:96,1
    - Dst: gf_route_dmx_del
      Src: /src/gpac/src/filters/in_route.c:51,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:55,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:57,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:58,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:73,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:63,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:65,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:80,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:83,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_route.c:85,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_route.c:43,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:50,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:66,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:69,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:76,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_route.c:87,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/in_route.c:88,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:99,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:105,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:93,1
    - Dst: gf_route_dmx_purge_objects
      Src: /src/gpac/src/filters/in_route.c:47,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_route.c:46,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:56,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:60,1
    - Dst: gf_list_transfer
      Src: /src/gpac/src/filters/in_route.c:77,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:78,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_route.c:79,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_route.c:89,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:97,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/in_route.c:103,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:90,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: routein_finalize
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sys_is_cov_mode
    - gf_route_dmx_del
    - gf_list_del
    - gf_list_transfer
    - gf_list_count
    - gf_dm_sess_del
    - gf_route_dmx_purge_objects
    - gf_free
    - gf_list_new
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void routein_finalize(GF_Filter *filter) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:197,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:204,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/in_route.c:198,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:206,1
    - Dst: routein_cleanup_objects
      Src: /src/gpac/src/filters/in_route.c:211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:238,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_route.c:250,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/in_route.c:252,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_route.c:259,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_route.c:263,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:188,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:199,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:205,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_route.c:254,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/in_route.c:261,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_route.c:275,1
    - Dst: routein_get_tsio
      Src: /src/gpac/src/filters/in_route.c:176,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/in_route.c:186,1
    - Dst: assert
      Src: /src/gpac/src/filters/in_route.c:196,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:204,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route.c:225,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route.c:240,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/in_route.c:272,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_route.c:276,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_route.c:268,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:188,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:192,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:193,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:205,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:199,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route.c:228,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_route.c:248,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/in_route.c:254,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:261,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/in_route.c:270,1
    - Dst: routein_cleanup_objects
      Src: /src/gpac/src/filters/in_route.c:287,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_route.c:272,1
    - Dst: push_seg_info
      Src: /src/gpac/src/filters/in_route.c:285,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 121
    argCount: 4
    argNames:
    - ctx
    - service_id
    - finfo
    - evt_type
    argTypes:
    - ROUTEInCtx*
    - u32
    - GF_ROUTEEventFileInfo*
    - GF_ROUTEEventType
    constantsTouched: []
    func_position:
      end: 288
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 288
    functionName: routein_send_file
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pck_new_alloc
    - assert
    - gf_filter_pck_set_property
    - push_seg_info
    - gf_filter_pck_set_corrupted
    - PROP_STRING
    - routein_cleanup_objects
    - gf_filter_pid_set_property
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pck_set_framing
    - memcpy
    - PROP_UINT
    - gf_filter_pck_send
    - routein_get_tsio
    - gf_assert
    - gf_file_ext_start
    linkageType: ''
    returnType: void
    signature: 'static void routein_send_file(ROUTEInCtx *ctx, u32 service_id, GF_ROUTEEventFileInfo
      *finfo, GF_ROUTEEventType evt_type) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/in_route.c:341,1
    - Dst: routein_send_file
      Src: /src/gpac/src/filters/in_route.c:366,1
    - Dst: gf_dm_add_cache_entry
      Src: /src/gpac/src/filters/in_route.c:373,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/in_route.c:388,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:389,1
    - Dst: gf_route_dmx_purge_objects
      Src: /src/gpac/src/filters/in_route.c:466,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route.c:440,1
    - Dst: gf_dm_add_cache_entry
      Src: /src/gpac/src/filters/in_route.c:499,1
    - Dst: gf_route_dmx_get_object_count
      Src: /src/gpac/src/filters/in_route.c:523,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/in_route.c:525,1
    - Dst: gf_route_dmx_get_object_count
      Src: /src/gpac/src/filters/in_route.c:519,1
    - Dst: gf_dm_force_headers
      Src: /src/gpac/src/filters/in_route.c:447,1
    - Dst: gf_dm_force_headers
      Src: /src/gpac/src/filters/in_route.c:472,1
    - Dst: push_seg_info
      Src: /src/gpac/src/filters/in_route.c:513,1
    - Dst: routein_write_to_disk
      Src: /src/gpac/src/filters/in_route.c:362,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/in_route.c:352,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:369,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:376,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:392,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:391,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:393,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:394,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:395,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:396,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/in_route.c:518,1
    - Dst: gf_route_dmx_remove_first_object
      Src: /src/gpac/src/filters/in_route.c:521,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:359,1
    - Dst: gf_dm_force_headers
      Src: /src/gpac/src/filters/in_route.c:377,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:389,1
    - Dst: gf_route_dmx_set_service_udta
      Src: /src/gpac/src/filters/in_route.c:398,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:416,1
    - Dst: routein_send_file
      Src: /src/gpac/src/filters/in_route.c:429,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:469,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:471,1
    - Dst: gf_dm_force_headers
      Src: /src/gpac/src/filters/in_route.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:511,1
    - Dst: routein_write_to_disk
      Src: /src/gpac/src/filters/in_route.c:483,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_route.c:435,1
    - Dst: routein_send_file
      Src: /src/gpac/src/filters/in_route.c:487,1
    - Dst: gf_route_dmx_get_service_udta
      Src: /src/gpac/src/filters/in_route.c:442,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:464,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_route.c:340,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:391,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/in_route.c:383,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_route.c:392,1
    - Dst: gf_dm_force_headers
      Src: /src/gpac/src/filters/in_route.c:379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:393,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:394,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_route.c:395,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_route.c:396,1
    - Dst: routein_send_file
      Src: /src/gpac/src/filters/in_route.c:411,1
    - Dst: routein_write_to_disk
      Src: /src/gpac/src/filters/in_route.c:407,1
    - Dst: strcat
      Src: /src/gpac/src/filters/in_route.c:446,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_route.c:470,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:497,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 158
    argCount: 6
    argNames:
    - ctx
    - evt
    - evt_param
    - finfo
    - is_defer_repair
    - drop_if_first
    argTypes:
    - ROUTEInCtx*
    - GF_ROUTEEventType
    - u32
    - GF_ROUTEEventFileInfo*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 530
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 530
    functionName: routein_on_event_file
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - push_seg_info
    - gf_route_dmx_get_object_count
    - routein_send_file
    - GF_LOG
    - gf_file_ext_start
    - gf_dm_force_headers
    - gf_route_dmx_get_service_udta
    - gf_strdup
    - strcmp
    - PROP_STRING
    - routein_write_to_disk
    - PROP_UINT
    - gf_assert
    - gf_filter_lock
    - gf_mx_p
    - sprintf
    - gf_filter_pid_set_property
    - gf_sys_clock
    - gf_dm_add_cache_entry
    - gf_route_dmx_set_service_udta
    - gf_free
    - gf_mx_v
    - strcat
    - gf_route_dmx_purge_objects
    - gf_route_dmx_remove_first_object
    linkageType: ''
    returnType: void
    signature: 'void routein_on_event_file(ROUTEInCtx *ctx, GF_ROUTEEventType evt,
      u32 evt_param, GF_ROUTEEventFileInfo *finfo, Bool is_defer_repair, Bool drop_if_first) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_route.c:578,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_route.c:580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:587,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/in_route.c:585,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_route.c:582,1
    - Dst: gf_route_dmx_remove_object_by_name
      Src: /src/gpac/src/filters/in_route.c:588,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_route.c:590,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:596,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_route.c:600,1
    - Dst: routein_repair_mark_file
      Src: /src/gpac/src/filters/in_route.c:605,1
    - Dst: gf_route_atsc3_tune_in
      Src: /src/gpac/src/filters/in_route.c:602,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/in_route.c:609,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:604,1
    - Dst: gf_route_dmx_force_keep_object_by_name
      Src: /src/gpac/src/filters/in_route.c:607,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - par
    - url
    - is_destroy
    argTypes:
    - void*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 611
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 611
    functionName: routein_local_cache_probe
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_LOG
    - gf_route_atsc3_tune_in
    - gf_filter_post_process_task
    - routein_repair_mark_file
    - atoi
    - strchr
    - gf_free
    - gf_route_dmx_remove_object_by_name
    - gf_filter_lock
    - gf_route_dmx_force_keep_object_by_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool routein_local_cache_probe(void *par, char *url, Bool is_destroy) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_route.c:631,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_route.c:636,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:651,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_route.c:689,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:686,1
    - Dst: routein_do_repair
      Src: /src/gpac/src/filters/in_route.c:675,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_route.c:699,1
    - Dst: gf_route_dmx_get_first_packet_time
      Src: /src/gpac/src/filters/in_route.c:709,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_route.c:719,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/in_route.c:720,1
    - Dst: gf_route_dmx_process
      Src: /src/gpac/src/filters/in_route.c:646,1
    - Dst: routein_set_eos
      Src: /src/gpac/src/filters/in_route.c:654,1
    - Dst: gf_route_dmx_has_active_multicast
      Src: /src/gpac/src/filters/in_route.c:663,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_route.c:697,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:668,1
    - Dst: routein_do_repair
      Src: /src/gpac/src/filters/in_route.c:695,1
    - Dst: gf_route_dmx_get_last_packet_time
      Src: /src/gpac/src/filters/in_route.c:710,1
    - Dst: routein_do_repair
      Src: /src/gpac/src/filters/in_route.c:634,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:653,1
    - Dst: routein_set_eos
      Src: /src/gpac/src/filters/in_route.c:690,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_route.c:688,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/in_route.c:705,1
    - Dst: gf_route_dmx_get_nb_packets
      Src: /src/gpac/src/filters/in_route.c:711,1
    - Dst: gf_route_dmx_check_timeouts
      Src: /src/gpac/src/filters/in_route.c:660,1
    - Dst: routein_set_eos
      Src: /src/gpac/src/filters/in_route.c:678,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_route.c:702,1
    - Dst: gf_route_dmx_get_recv_bytes
      Src: /src/gpac/src/filters/in_route.c:712,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 726
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 726
    functionName: routein_process
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_route_dmx_process
    - gf_route_dmx_get_nb_packets
    - gf_route_dmx_check_timeouts
    - GF_LOG
    - gf_filter_ask_rt_reschedule
    - gf_route_dmx_get_last_packet_time
    - sprintf
    - gf_sys_clock
    - gf_route_dmx_has_active_multicast
    - gf_route_dmx_get_recv_bytes
    - routein_do_repair
    - routein_set_eos
    - gf_filter_setup_failure
    - gf_route_dmx_get_first_packet_time
    - gf_filter_update_status
    - gf_filter_reporting_enabled
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routein_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_route.c:873,1
    - Dst: gf_route_dmx_mark_active_quality
      Src: /src/gpac/src/filters/in_route.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: routein_process_event
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_route_dmx_mark_active_quality
    linkageType: ''
    returnType: Bool
    signature: 'static Bool routein_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_route.c:891,1
    - Dst: gf_route_dmx_has_object_by_name
      Src: /src/gpac/src/filters/in_route.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - service_id
    - url
    argTypes:
    - GF_Filter*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: routein_is_valid_url
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_route_dmx_has_object_by_name
    linkageType: ''
    returnType: Bool
    signature: 'Bool routein_is_valid_url(GF_Filter *filter, u32 service_id, const
      char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_route.c:1021,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_route.c:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1025
    functionName: routein_register
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *routein_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: routein_register
    functionSourceFile: /src/gpac/src/filters/in_route.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *routein_register(GF_FilterSession *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/write_vtt.c:129,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_vtt.c:136,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_vtt.c:145,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/write_vtt.c:147,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/write_vtt.c:148,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_vtt.c:163,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_vtt.c:174,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:152,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_vtt.c:157,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:160,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_vtt.c:144,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:163,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/write_vtt.c:167,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_vtt.c:133,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_vtt.c:131,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/write_vtt.c:149,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:151,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:153,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_vtt.c:160,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:157,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_vtt.c:168,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_vtt.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - cue
    - write_srt
    argTypes:
    - GF_WebVTTMxCtx*
    - GF_WebVTTCue*
    - Bool
    constantsTouched: []
    func_position:
      end: 177
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 177
    functionName: webvtt_write_cue
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_sap
    - PROP_STRING
    - gf_filter_pck_merge_properties
    - gf_filter_pck_set_byte_offset
    - memcpy
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_property_str
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'void webvtt_write_cue(GF_WebVTTMxCtx *ctx, GF_WebVTTCue *cue, Bool
      write_srt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_finalize
      Src: /src/gpac/src/filters/write_vtt.c:193,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/write_vtt.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_WebVTTMxCtx*
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: vttmx_parser_flush
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_finalize
    - gf_webvtt_parser_del
    linkageType: ''
    returnType: void
    signature: 'void vttmx_parser_flush(GF_WebVTTMxCtx *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_vtt.c:239,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_vtt.c:257,1
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/filters/write_vtt.c:287,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/write_vtt.c:298,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_vtt.c:301,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_vtt.c:302,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_vtt.c:312,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_vtt.c:226,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/write_vtt.c:240,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_vtt.c:241,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_vtt.c:250,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_vtt.c:268,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_vtt.c:272,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_vtt.c:259,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_vtt.c:288,1
    - Dst: gf_webvtt_merge_cues
      Src: /src/gpac/src/filters/write_vtt.c:290,1
    - Dst: vttmx_write_cue
      Src: /src/gpac/src/filters/write_vtt.c:294,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_vtt.c:234,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_vtt.c:236,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_vtt.c:242,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/write_vtt.c:284,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_vtt.c:260,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_vtt.c:282,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_vtt.c:245,1
    - Dst: vttmx_parser_flush
      Src: /src/gpac/src/filters/write_vtt.c:247,1
    - Dst: vttmx_flush_segment
      Src: /src/gpac/src/filters/write_vtt.c:273,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_vtt.c:267,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/write_vtt.c:292,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_vtt.c:293,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/filters/write_vtt.c:295,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/write_vtt.c:305,1
    - Dst: vttmx_flush_segment
      Src: /src/gpac/src/filters/write_vtt.c:307,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/write_vtt.c:308,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 315
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 315
    functionName: vttmx_process
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_list_del
    - gf_filter_pid_get_packet
    - gf_list_count
    - vttmx_write_cue
    - gf_filter_pck_set_byte_offset
    - gf_webvtt_parse_cues_from_data
    - gf_webvtt_cue_del
    - gf_list_get
    - gf_set_progress
    - gf_webvtt_merge_cues
    - vttmx_parser_flush
    - vttmx_flush_segment
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_get_property
    - gf_filter_pck_ref_props
    - gf_filter_pck_forward
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vttmx_process(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:78,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_vtt.c:75,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_vtt.c:86,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_vtt.c:107,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_vtt.c:88,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/write_vtt.c:91,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/write_vtt.c:92,1
    - Dst: gf_webvtt_parser_new
      Src: /src/gpac/src/filters/write_vtt.c:104,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_vtt.c:65,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_vtt.c:70,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_vtt.c:88,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:95,1
    - Dst: gf_webvtt_parser_cue_callback
      Src: /src/gpac/src/filters/write_vtt.c:105,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:98,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:112,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_vtt.c:92,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/write_vtt.c:101,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:109,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_vtt.c:115,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_vtt.c:117,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 120
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 120
    functionName: vttmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_webvtt_parser_cue_callback
    - gf_webvtt_parser_new
    - gf_webvtt_parser_del
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_codecid_name
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vttmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_webvtt_parser_finalize
      Src: /src/gpac/src/filters/write_vtt.c:200,1
    - Dst: gf_webvtt_parser_new
      Src: /src/gpac/src/filters/write_vtt.c:202,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/write_vtt.c:201,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_vtt.c:207,1
    - Dst: gf_webvtt_parser_cue_callback
      Src: /src/gpac/src/filters/write_vtt.c:203,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_vtt.c:209,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:211,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:212,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/write_vtt.c:213,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/write_vtt.c:216,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_vtt.c:218,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_vtt.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_WebVTTMxCtx*
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: vttmx_flush_segment
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_webvtt_parser_cue_callback
    - gf_webvtt_parser_new
    - gf_webvtt_parser_del
    - gf_filter_pck_set_sap
    - gf_filter_pck_merge_properties
    - gf_filter_pck_set_property_str
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_send
    - gf_webvtt_parser_finalize
    linkageType: ''
    returnType: void
    signature: 'static void vttmx_flush_segment(GF_WebVTTMxCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_write_cue
      Src: /src/gpac/src/filters/write_vtt.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - cue
    argTypes:
    - void*
    - GF_WebVTTCue*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: vttmx_write_cue
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - webvtt_write_cue
    linkageType: ''
    returnType: void
    signature: 'static void vttmx_write_cue(void *udta, GF_WebVTTCue *cue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_vtt.c:319,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/write_vtt.c:322,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_vtt.c:320,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/write_vtt.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: vttmx_finalize
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_webvtt_parser_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void vttmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: ufvtt_register
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufvtt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ufvtt_register
    functionSourceFile: /src/gpac/src/filters/write_vtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufvtt_register(GF_FilterSession *session) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhnt.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_nhnt.c:76,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhnt.c:101,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhnt.c:94,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:103,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/write_nhnt.c:117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:122,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:123,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:135,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/write_nhnt.c:137,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/write_nhnt.c:70,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:102,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:114,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/write_nhnt.c:116,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:124,1
    - Dst: strcat
      Src: /src/gpac/src/filters/write_nhnt.c:129,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/write_nhnt.c:131,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:135,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/write_nhnt.c:138,1
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filters/write_nhnt.c:67,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/write_nhnt.c:71,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhnt.c:81,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:103,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:101,1
    - Dst: strcat
      Src: /src/gpac/src/filters/write_nhnt.c:108,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/write_nhnt.c:110,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhnt.c:122,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:123,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhnt.c:127,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/write_nhnt.c:69,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/write_nhnt.c:73,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_nhnt.c:78,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhnt.c:86,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:102,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhnt.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:88,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/write_nhnt.c:106,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/write_nhnt.c:110,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:114,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:124,1
    - Dst: gf_fileio_factory
      Src: /src/gpac/src/filters/write_nhnt.c:131,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NHNTDumpCtx*
    constantsTouched: []
    func_position:
      end: 144
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 144
    functionName: nhntdump_config_side_streams
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_fileio_factory
    - gf_fileio_translate_url
    - strncmp
    - gf_filter_pid_remove
    - gf_file_ext_start
    - gf_fileio_from_url
    - PROP_STRING
    - gf_file_basename
    - PROP_UINT
    - strcpy
    - gf_filter_set_source
    - gf_filter_pid_set_property
    - gf_filter_pid_get_destination
    - gf_filter_connect_destination
    - gf_free
    - strcat
    - gf_filter_pid_get_property
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdump_config_side_streams(GF_Filter *filter, GF_NHNTDumpCtx
      *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_nhnt.c:251,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_nhnt.c:249,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhnt.c:253,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhnt.c:264,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_nhnt.c:274,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_nhnt.c:278,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:289,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhnt.c:295,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/src/filters/write_nhnt.c:301,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_nhnt.c:308,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_nhnt.c:329,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhnt.c:351,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_nhnt.c:358,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/write_nhnt.c:322,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:335,1
    - Dst: nhntdump_config_side_streams
      Src: /src/gpac/src/filters/write_nhnt.c:246,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:285,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_nhnt.c:272,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:291,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhnt.c:300,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhnt.c:302,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/filters/write_nhnt.c:319,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/write_nhnt.c:320,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/write_nhnt.c:326,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/write_nhnt.c:333,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_nhnt.c:359,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhnt.c:352,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:337,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/write_nhnt.c:326,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/write_nhnt.c:323,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:336,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_nhnt.c:362,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhnt.c:254,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhnt.c:268,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_nhnt.c:276,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:286,1
    - Dst: gf_bs_write_u24
      Src: /src/gpac/src/filters/write_nhnt.c:283,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/write_nhnt.c:292,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhnt.c:294,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/write_nhnt.c:298,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_nhnt.c:316,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/write_nhnt.c:320,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_nhnt.c:347,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhnt.c:239,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_nhnt.c:252,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_nhnt.c:267,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/write_nhnt.c:280,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_nhnt.c:312,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/write_nhnt.c:325,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/write_nhnt.c:331,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/write_nhnt.c:328,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/write_nhnt.c:332,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_nhnt.c:341,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_nhnt.c:344,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_nhnt.c:357,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_nhnt.c:340,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 97
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 365
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 365
    functionName: nhntdump_process
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u24
    - gf_filter_pck_get_cts
    - nhntdump_config_side_streams
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_readonly
    - gf_bs_write_data
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_bs_write_int
    - gf_filter_pck_get_dts
    - gf_bs_write_u64
    - gf_set_progress
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_filter_pck_send
    - gf_filter_pck_new_shared
    - gf_filter_pck_new_ref
    - gf_filter_pid_get_property
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdump_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: nhntw_register
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhntw_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhnt.c:369,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_nhnt.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: nhntdump_finalize
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    linkageType: ''
    returnType: void
    signature: 'static void nhntdump_finalize(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhnt.c:164,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:191,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_nhnt.c:195,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:206,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_nhnt.c:205,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:223,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:225,1
    - Dst: gf_codecid_oti
      Src: /src/gpac/src/filters/write_nhnt.c:184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhnt.c:217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhnt.c:219,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:224,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:230,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_nhnt.c:151,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhnt.c:156,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_nhnt.c:169,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhnt.c:187,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:208,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_nhnt.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_nhnt.c:225,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_nhnt.c:160,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/write_nhnt.c:187,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:204,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_nhnt.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_nhnt.c:215,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:200,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_nhnt.c:202,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_nhnt.c:224,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_nhnt.c:233,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 235
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 235
    functionName: nhntdump_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - gf_filter_get_udta
    - gf_codecid_oti
    - gf_filter_pid_new
    - gf_filter_pid_get_property
    - GF_LOG
    - PROP_STRING
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_codecid_name
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdump_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: nhntw_register
    functionSourceFile: /src/gpac/src/filters/write_nhnt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhntw_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - cbck
    - par
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: cenc_dec_kms_netio
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cenc_dec_kms_netio(void *cbck, GF_NETIO_Parameter *par) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:395,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:404,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:417,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:435,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:440,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:445,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:489,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:398,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:438,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:490,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:492,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:399,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:400,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:406,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:409,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:410,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:437,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:396,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:436,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:452,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:439,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:455,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:457,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 108
    argCount: 3
    argNames:
    - ctx
    - cstr
    - in_pck
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 494
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 494
    functionName: cenc_dec_process_isma
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - gf_crypt_set_IV
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_bs_read_long_int
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_read_int
    - gf_filter_pck_merge_properties
    - gf_bs_new
    - gf_filter_pck_get_crypt_flags
    - memcpy
    - gf_bs_write_u8
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - gf_crypt_decrypt
    - gf_filter_pck_set_crypt_flags
    - gf_filter_pck_new_ref
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_process_isma(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, GF_FilterPacket *in_pck) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2391,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2403,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2392,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2401,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2400,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2405,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2411,1
    - Dst: cenc_dec_process_hls_saes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2416,1
    - Dst: cenc_dec_process_cenc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2418,1
    - Dst: cenc_dec_process_adobe
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2422,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2426,1
    - Dst: cenc_dec_process_isma
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2424,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2431
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2431
    functionName: cenc_dec_process
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - cenc_dec_process_cenc
    - gf_list_get
    - gf_filter_pid_is_eos
    - cenc_dec_process_adobe
    - gf_filter_pid_get_packet
    - gf_list_count
    - cenc_dec_process_hls_saes
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - cenc_dec_process_isma
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:162,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:160,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:166,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:165,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - stream_id
    - drm_file
    - key
    - salt
    argTypes:
    - u32
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: gf_ismacryp_gpac_get_info
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_crypt_info_del
    - memcpy
    - gf_crypt_info_load
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_ismacryp_gpac_get_info(u32 stream_id, char *drm_file,
      char *key, char *salt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2435,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2440,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2449,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2451,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2457
    functionName: cenc_dec_initialize
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - gf_bs_new
    - gf_crypt_info_load
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_initialize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:509,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - cstr
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: cenc_dec_setup_oma
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_setup_oma(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char
      *kms_uri) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1186,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1189,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1225,1
    - Dst: cenc_dec_load_pssh
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1264,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1312,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1313,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1314,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1314,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1328,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1337,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1341,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1367,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1321,1
    - Dst: cenc_dec_set_hls_key
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1357,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1186,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1191,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1211,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1228,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1260,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1228,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1273,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1287,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1303,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1346,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1322,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1194,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1200,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1202,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1241,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1275,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1284,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1285,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1302,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1305,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1322,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1367,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1362,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1361,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1320,1
    - Dst: cenc_dec_load_keys
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1215,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1236,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1236,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1261,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1306,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1307,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1336,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1353,1
    - Dst: cenc_dec_set_clearkey
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1365,1
    - Dst: cenc_dec_load_keys
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1343,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1375,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 232
    argCount: 6
    argNames:
    - ctx
    - cstr
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1377
    functionName: cenc_dec_setup_cenc
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - cenc_dec_set_hls_key
    - gf_list_get
    - memset
    - gf_crc_32
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_error_to_string
    - cenc_dec_load_keys
    - GF_LOG
    - cenc_dec_load_pssh
    - strcmp
    - gf_crypt_info_del
    - memcpy
    - gf_4cc_to_str
    - gf_crypt_info_load
    - cenc_dec_set_clearkey
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_setup_cenc(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char
      *kms_uri) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2193,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2197,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2202,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2217,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2227,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2256,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2262,1
    - Dst: cenc_dec_hls_saes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2301,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2308,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2322,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2330,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2336,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2315,1
    - Dst: cenc_dec_setup_adobe
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2298,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2332,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2313,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2190,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2200,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2212,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2214,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2249,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2264,1
    - Dst: cenc_dec_setup_isma
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2281,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2304,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2317,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2321,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2328,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2326,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2329,1
    - Dst: cenc_dec_stream_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2203,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2210,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2221,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2235,1
    - Dst: cenc_dec_setup_cenc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2304,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2318,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2323,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2325,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2327,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2308,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2207,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2218,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2219,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2234,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2229,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2225,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2236,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2240,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2257,1
    - Dst: cenc_dec_setup_oma
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2285,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2317,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 132
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2352
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2352
    functionName: cenc_dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - memset
    - gf_filter_pid_set_udta
    - GF_LOG
    - gf_crypt_open
    - gf_filter_pid_set_framing_mode
    - cenc_dec_setup_adobe
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - cenc_dec_setup_isma
    - cenc_dec_hls_saes
    - gf_4cc_to_str
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - PROP_4CC
    - gf_list_del_item
    - cenc_dec_stream_del
    - gf_list_get
    - cenc_dec_setup_oma
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - cenc_dec_setup_cenc
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1388,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1395,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1400,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1399,1
    - Dst: cenc_dec_set_hls_key
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1403,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1407,1
    - Dst: cenc_dec_setup_cenc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1409,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1413,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1414,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1423,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 6
    argNames:
    - ctx
    - cstr
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1425
    functionName: cenc_dec_hls_saes
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - cenc_dec_setup_cenc
    - cenc_dec_set_hls_key
    - gf_filter_pid_get_property
    - GF_LOG
    - memcpy
    - cenc_dec_push_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_hls_saes(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char
      *kms_uri) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:184,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:190,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:188,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:189,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:185,1
    - Dst: strstr
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:193,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:193,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:195,1
    - Dst: gf_ismacryp_gpac_get_info
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:200,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:215,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:213,1
    - Dst: gf_ismacryp_gpac_get_info
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:213,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:207,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:202,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - cstr
    - kms_url
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: cenc_dec_get_gpac_kms
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_dm_sess_process
    - gf_dm_sess_get_cache_name
    - gf_filter_pid_get_property
    - GF_LOG
    - gf_dm_sess_del
    - gf_dm_sess_get_stats
    - gf_ismacryp_gpac_get_info
    - strnicmp
    - gf_fclose
    - gf_fopen
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_get_gpac_kms(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, const char *kms_url) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:225,1
    - Dst: strcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:226,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:229,1
    - Dst: getenv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:225,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:228,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:230,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:231,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:232,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:233,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:240,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:250,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:249,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:246,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - kms_uri
    - key
    - salt
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 254
    functionName: gf_ismacryp_mpeg4ip_get_info
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - getenv
    - sscanf
    - gf_fgets
    - memcpy
    - gf_fopen
    - strcpy
    - gf_fclose
    - stricmp
    - gf_feof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_ismacryp_mpeg4ip_get_info(char *kms_uri, char *key,
      char *salt) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:890,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:892,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:902,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:918,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:943,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:971,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:906,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:914,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:930,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:941,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:953,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:968,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:888,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:896,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:919,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:946,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:936,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:957,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:961,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:912,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:921,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:938,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:955,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:957,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:969,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 4
    argNames:
    - ctx
    - cstr
    - key_url
    - key_IV
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - char*
    - u8*
    constantsTouched: []
    func_position:
      end: 975
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 975
    functionName: cenc_dec_set_hls_key
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_filter_get_download_manager
    - memset
    - strncmp
    - GF_LOG
    - gf_url_is_local
    - gf_dm_sess_new
    - gf_error_to_string
    - gf_strdup
    - strcmp
    - gf_fopen
    - gf_crypt_set_IV
    - gf_dm_sess_process
    - gf_fread
    - memcpy
    - gf_free
    - gf_realloc
    - sscanf
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_set_hls_key(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, char *key_url, u8 *key_IV) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2360,1
    - Dst: cenc_dec_access_adobe
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2374,1
    - Dst: cenc_dec_access_cenc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2372,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2376,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2364,1
    - Dst: cenc_dec_access_isma
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2388
    functionName: cenc_dec_process_event
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_udta
    - GF_LOG
    - cenc_dec_access_cenc
    - cenc_dec_access_isma
    - cenc_dec_access_adobe
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cenc_dec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:693,1
    - Dst: strstr
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:718,1
    - Dst: strchr
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:731,1
    - Dst: strchr
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:732,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:748,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:758,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:749,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:698,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:706,1
    - Dst: rfmt_dec_b64
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:743,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:768,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:766,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:775,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:778,1
    - Dst: strstr
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:717,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:759,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:747,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:746,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:701,1
    - Dst: rfmt_dec_b64
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:741,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:761,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 2
    argNames:
    - usr_cbk
    - par
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 785
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 785
    functionName: ck_http_io
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - rfmt_dec_b64
    - gf_malloc
    - memset
    - gf_realloc
    - gf_dm_sess_del
    - memcpy
    - strchr
    - gf_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void ck_http_io(void *usr_cbk, GF_NETIO_Parameter *par) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1447,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1452,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1448,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1463,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1454,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1464,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1466,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1478,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1479,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1481,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1489,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1491,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1485,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1482,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 6
    argNames:
    - ctx
    - cstr
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1493
    functionName: cenc_dec_setup_adobe
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_crypt_info_del
    - memcpy
    - gf_crypt_info_load
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_setup_adobe(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char
      *kms_uri) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1640,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1641,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1645,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1646,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1683,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1676,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1694,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1695,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1697,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1748,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1817,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1825,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1907,1
    - Dst: cenc_decrypt_block
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1883,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1804,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1909,1
    - Dst: cenc_dec_load_pssh
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1636,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1644,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1687,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1708,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1742,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1759,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1762,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1768,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1796,1
    - Dst: cenc_decrypt_block
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1861,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1906,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1801,1
    - Dst: cenc_decrypt_block
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1809,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1630,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1638,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1643,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1655,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1659,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1689,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1707,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1763,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1793,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1827,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1830,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1783,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1832,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1634,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1672,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1680,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1670,1
    - Dst: key_info_get_iv_size
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1705,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1732,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1733,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1739,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1788,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1816,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1835,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1728,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1800,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1865,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 229
    argCount: 3
    argNames:
    - ctx
    - cstr
    - in_pck
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1916
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1916
    functionName: cenc_dec_process_cenc
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_data
    - gf_filter_pck_new_clone
    - gf_bs_reassign_buffer
    - cenc_dec_load_pssh
    - cenc_decrypt_block
    - gf_bs_read_data
    - gf_assert
    - gf_crypt_set_IV
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_filter_pck_set_property
    - gf_filter_pck_discard
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - cenc_dec_push_iv
    - gf_filter_pck_get_property
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - key_info_get_iv_size
    - gf_filter_pck_set_crypt_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_process_cenc(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, GF_FilterPacket *in_pck) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2111,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2127,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2124,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2112,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2115,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2131,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2131,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2138,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2156,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2154,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2153,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2145,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2138,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - cstr
    - in_pck
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2158
    functionName: cenc_dec_process_adobe
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_crypt_set_IV
    - gf_error_to_string
    - GF_LOG
    - gf_filter_pck_truncate
    - gf_filter_pck_merge_properties
    - gf_crypt_init
    - memcpy
    - gf_filter_pck_send
    - memmove
    - gf_filter_pck_get_data
    - gf_crypt_decrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_process_adobe(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, GF_FilterPacket *in_pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2461,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2463,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2464,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2467,1
    - Dst: cenc_dec_stream_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2465,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2469,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2471
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2471
    functionName: cenc_dec_finalize
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - cenc_dec_stream_del
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_crypt_info_del
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cenc_dec_finalize(GF_Filter *filter) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1028,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1041,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1047,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1049,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1053,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1063,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1068,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1097,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1121,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1128,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1132,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1135,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1136,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1155,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1003,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1009,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1013,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1046,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1038,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1050,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1075,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1078,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1100,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1131,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1145,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1151,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1114,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1002,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:985,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1007,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1031,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1033,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1061,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1124,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1141,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1154,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1130,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1153,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:984,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1022,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1032,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1037,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1045,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1060,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1064,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1081,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1096,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1110,1
    - Dst: cenc_dec_load_keys
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1158,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1127,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 179
    argCount: 5
    argNames:
    - ctx
    - cstr
    - pssh_prop
    - is_pck_pssh
    - cinfo_prop
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - GF_PropertyValue*
    - Bool
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1162
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1162
    functionName: cenc_dec_load_pssh
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - strncmp
    - gf_crypt_close
    - GF_LOG
    - gf_crypt_open
    - gf_bs_skip_bytes
    - gf_bs_reassign_buffer
    - strcmp
    - memmove
    - gf_bs_read_data
    - gf_crypt_decrypt
    - gf_bs_read_u32
    - gf_bs_get_position
    - memcmp
    - sprintf
    - gf_crypt_init
    - memcpy
    - gf_free
    - gf_realloc
    - cenc_dec_load_keys
    - gf_bs_available
    - gf_bin128_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_load_pssh(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, const GF_PropertyValue *pssh_prop, Bool is_pck_pssh, const GF_PropertyValue
      *cinfo_prop) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1507,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1509,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1511,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1520,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - cstr
    - is_play
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1527
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1527
    functionName: cenc_dec_access_cenc
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_crypt_close
    - gf_crypt_open
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_access_cenc(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, Bool is_play) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1598,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1604,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1601,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - crypt
    - valid_key
    - data
    - size
    argTypes:
    - GF_CENCDecCtx*
    - GF_Crypt*
    - Bool
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1612
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1612
    functionName: cenc_decrypt_block
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_crypt_decrypt
    - memset
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void cenc_decrypt_block(GF_CENCDecCtx *ctx, GF_Crypt
      *crypt, Bool valid_key, u8 *data, u32 size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1932,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1928,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1933,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1954,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1957,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1959,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2076,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2093,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1925,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1931,1
    - Dst: cenc_dec_push_iv
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1967,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2047,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2031,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2059,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2070,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1930,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1938,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1964,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2023,1
    - Dst: gf_media_nalu_emulation_bytes_remove_count
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2012,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2086,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2087,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2089,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1949,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2014,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 140
    argCount: 3
    argNames:
    - ctx
    - cstr
    - in_pck
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2096
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 2096
    functionName: cenc_dec_process_hls_saes
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_crypt_set_IV
    - gf_filter_pck_new_clone
    - memmove
    - gf_filter_pck_set_property
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_filter_pck_truncate
    - gf_media_nalu_remove_emulation_bytes
    - gf_filter_pck_discard
    - memcpy
    - gf_filter_pck_send
    - gf_media_nalu_emulation_bytes_remove_count
    - gf_filter_pck_get_data
    - gf_crypt_decrypt
    - gf_filter_pck_set_crypt_flags
    - gf_filter_pck_new_ref
    - cenc_dec_push_iv
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_process_hls_saes(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, GF_FilterPacket *in_pck) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2165,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2169,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2167,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2170,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2171,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2173,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2175,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:2177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - cstr
    argTypes:
    - GF_CENCDecStream*
    constantsTouched: []
    func_position:
      end: 2178
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2178
    functionName: cenc_dec_stream_del
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_crypt_close
    - gf_dm_sess_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void cenc_dec_stream_del(GF_CENCDecStream *cstr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:835,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:842,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:847,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:857,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:853,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:858,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:860,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:863,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:866,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:868,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:876,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:873,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - usr_cbk
    - par
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 880
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 880
    functionName: hls_kms_io
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - GF_LOG
    - gf_dm_sess_del
    - memcpy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void hls_kms_io(void *usr_cbk, GF_NETIO_Parameter *par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2548
    functionName: cdcrypt_register
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cdcrypt_register(GF_FilterSession *session) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:278,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:338,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:276,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:276,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:277,1
    - Dst: gf_ismacryp_mpeg4ip_get_info
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:307,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:300,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:340,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:281,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:286,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:331,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:332,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:305,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:268,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:274,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:268,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:292,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:315,1
    - Dst: cenc_dec_get_gpac_kms
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:317,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:336,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:305,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 6
    argNames:
    - ctx
    - cstr
    - scheme_type
    - scheme_version
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - u32
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 346
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 346
    functionName: cenc_dec_setup_isma
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_crc_32
    - sscanf
    - gf_filter_pid_get_property
    - cenc_dec_get_gpac_kms
    - gf_ismacryp_mpeg4ip_get_info
    - memcpy
    - strnicmp
    - stricmp
    - gf_base64_decode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_setup_isma(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char
      *kms_uri) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:535,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:573,1
    - Dst: strcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:569,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:575,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:568,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:586,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:587,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:598,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:601,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:614,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:614,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:646,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:643,1
    - Dst: strcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:640,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:618,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 111
    argCount: 2
    argNames:
    - ctx
    - cstr
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    constantsTouched: []
    func_position:
      end: 654
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 654
    functionName: cenc_dec_load_keys
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - memset
    - strncmp
    - sscanf
    - memcmp
    - sprintf
    - GF_LOG
    - memcpy
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_load_keys(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1534,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1536,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - cstr
    - is_play
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 1550
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1550
    functionName: cenc_dec_access_adobe
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_crypt_close
    - gf_crypt_open
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_access_adobe(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, Bool is_play) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:356,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:366,1
    - Dst: memset
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:365,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:362,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:367,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - cstr
    - is_play
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 381
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 381
    functionName: cenc_dec_access_isma
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - memset
    - gf_crypt_close
    - gf_crypt_init
    - gf_crypt_open
    - memcpy
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_access_isma(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, Bool is_play) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:664,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:671,1
    - Dst: strcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:667,1
    - Dst: strcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:668,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - data
    - output
    - osize
    argTypes:
    - u8*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 674
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 674
    functionName: rfmt_dec_b64
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_base64_decode
    - strcat
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rfmt_dec_b64(u8 *data, u8 *output, u32 osize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:793,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:806,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:808,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:804,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:807,1
    - Dst: strlen
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:810,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:811,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:815,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:817,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:820,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - cstr
    - ck_url
    - ck_kid
    argTypes:
    - GF_CENCDecCtx*
    - GF_CENCDecStream*
    - char*
    - u8*
    constantsTouched: []
    func_position:
      end: 824
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 824
    functionName: cenc_dec_set_clearkey
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - strlen
    - gf_dynstrcat
    - gf_filter_get_download_manager
    - gf_dm_sess_process
    - gf_crc_32
    - gf_free
    - gf_base64_encode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_set_clearkey(GF_CENCDecCtx *ctx, GF_CENCDecStream
      *cstr, char *ck_url, u8 *ck_kid) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1558,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1560,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1562,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1562,1
    - Dst: memmove
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1571,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1573,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1577,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1579,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1585,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/decrypt_cenc_isma.c:1585,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - cstr
    - key_idx
    - IV
    - iv_size
    - const_iv_size
    - const_iv
    argTypes:
    - GF_CENCDecStream*
    - u32
    - u8*
    - u32
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1590
    functionName: cenc_dec_push_iv
    functionSourceFile: /src/gpac/src/filters/decrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - GF_LOG
    - gf_crypt_init
    - memcpy
    - memmove
    - gf_crypt_set_IV
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_dec_push_iv(GF_CENCDecStream *cstr, u32 key_idx,
      u8 *IV, u32 iv_size, u32 const_iv_size, const u8 *const_iv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:31,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:35,1
    - Dst: rtpin_rtsp_setup_process
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:34,1
    - Dst: rtpin_rtsp_describe_process
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:32,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:33,1
    - Dst: rtpin_rtsp_teardown_process
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:36,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:37,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:37,1
    - Dst: rtpin_rtsp_usercom_process
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - sess
    - com
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: rtpin_rtsp_process_response
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - rtpin_rtsp_setup_process
    - rtpin_rtsp_describe_process
    - strcmp
    - rtpin_rtsp_teardown_process
    - rtpin_rtsp_usercom_process
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_rtsp_process_response(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com, GF_Err e) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:241,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:251,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:247,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:249,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:246,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:251,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:251,1
    - Dst: gf_rtsp_session_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:255,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:256,1
    - Dst: gf_rtsp_session_set_netcap_id
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:259,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:261,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:269,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:259,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:267,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:271,1
    - Dst: gf_rtsp_response_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:272,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - rtp
    - session_control
    argTypes:
    - GF_RTPIn*
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 276
    functionName: rtpin_rtsp_new
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_session_new
    - gf_rtsp_set_buffer_size
    - gf_strdup
    - GF_LOG
    - gf_filter_get_netcap_id
    - gf_free
    - gf_rtsp_response_new
    - gf_rtsp_session_set_netcap_id
    - strchr
    - GF_SAFEALLOC
    - strnicmp
    - gf_list_new
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_RTPInRTSP*
    signature: 'GF_RTPInRTSP *rtpin_rtsp_new(GF_RTPIn *rtp, char *session_control) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:207,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:212,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:218,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:211,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 16
    argCount: 5
    argNames:
    - rtp
    - opid
    - ES_ID
    - es_control
    - remove_stream
    argTypes:
    - GF_RTPIn*
    - GF_FilterPid*
    - u32
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: rtpin_find_stream
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_rem
    - strstr
    - strcmp
    linkageType: ''
    returnType: GF_RTPInStream*
    signature: 'GF_RTPInStream *rtpin_find_stream(GF_RTPIn *rtp, GF_FilterPid *opid,
      u32 ES_ID, char *es_control, Bool remove_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:360,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - rtp
    - stream
    argTypes:
    - GF_RTPIn*
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: rtpin_remove_stream
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'void rtpin_remove_stream(GF_RTPIn *rtp, GF_RTPInStream *stream) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:66,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:90,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:80,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:101,1
    - Dst: gf_rtsp_set_ssl_ctx
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:111,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:130,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:157,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:180,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:128,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:65,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:71,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:76,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:97,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:86,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:93,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:105,1
    - Dst: rtpin_rtsp_describe_preprocess
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:149,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:156,1
    - Dst: rtpin_rtsp_usercom_preprocess
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:160,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:193,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:147,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:176,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:48,1
    - Dst: rtpin_rtsp_process_response
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:62,1
    - Dst: gf_rtsp_session_needs_ssl
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:128,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:176,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:194,1
    - Dst: gf_rtsp_send_command
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:170,1
    - Dst: gf_rtsp_get_response
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:60,1
    - Dst: gf_rtsp_session_read
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:53,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:67,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:72,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:98,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:82,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:91,1
    - Dst: rtpin_rtsp_process_response
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:96,1
    - Dst: gf_dm_ssl_init
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:111,1
    - Dst: gf_rtsp_get_session_state
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:123,1
    - Dst: rtpin_rtsp_process_response
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:177,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 142
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTPInRTSP*
    constantsTouched: []
    func_position:
      end: 198
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 198
    functionName: rtpin_rtsp_process_commands
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_session_needs_ssl
    - rtpin_rtsp_process_response
    - gf_rtsp_set_ssl_ctx
    - gf_rtsp_send_command
    - GF_LOG
    - gf_opts_get_int
    - gf_dm_ssl_init
    - gf_error_to_string
    - rtpin_rtsp_usercom_preprocess
    - strcmp
    - rtpin_rtsp_describe_preprocess
    - gf_rtsp_session_read
    - gf_list_get
    - gf_rtsp_session_reset
    - gf_rtsp_get_session_state
    - gf_sys_clock
    - gf_rtsp_get_response
    - gf_rtsp_reset_aggregation
    - gf_list_rem
    - gf_filter_setup_failure
    - gf_rtsp_command_del
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_process_commands(GF_RTPInRTSP *sess) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:330,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:332,1
    - Dst: rtpin_rtsp_check
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:319,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:321,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:351,1
    - Dst: rtpin_rtsp_check
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:282,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:303,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:304,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:305,1
    - Dst: rtpin_rtsp_check
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:318,1
    - Dst: rtpin_rtsp_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:322,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:301,1
    - Dst: rtpin_rtsp_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:311,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:330,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:294,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:302,1
    - Dst: rtpin_rtsp_check
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:309,1
    - Dst: rtpin_rtsp_new
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:324,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:331,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:329,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:333,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:347,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 3
    argNames:
    - rtp
    - stream
    - session_control
    argTypes:
    - GF_RTPIn*
    - GF_RTPInStream*
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 353
    functionName: rtpin_add_stream
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - rtpin_rtsp_check
    - gf_strdup
    - gf_free
    - strnicmp
    - strstr
    - rtpin_rtsp_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpin_add_stream(GF_RTPIn *rtp, GF_RTPInStream *stream, char
      *session_control) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:373,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:387,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:382,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:374,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - sess
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 389
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 389
    functionName: rtpin_rtsp_reset
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_rtsp_session_reset
    - gf_list_rem
    - gf_rtsp_command_del
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_rtsp_reset(GF_RTPInRTSP *sess, GF_Err e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_rtsp_reset
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:395,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:396,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:399,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:398,1
    - Dst: gf_rtsp_response_del
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:397,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:400,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:401,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTPInRTSP*
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: rtpin_rtsp_del
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_response_del
    - gf_list_del
    - gf_rtsp_session_del
    - gf_free
    - rtpin_rtsp_reset
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_del(GF_RTPInRTSP *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:227,1
    - Dst: gf_rtsp_is_my_session
      Src: /src/gpac/src/filters/in_rtp_rtsp.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - rtp
    - control
    argTypes:
    - GF_RTPIn*
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: rtpin_rtsp_check
    functionSourceFile: /src/gpac/src/filters/in_rtp_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_is_my_session
    - strcmp
    linkageType: ''
    returnType: GF_RTPInRTSP*
    signature: 'GF_RTPInRTSP *rtpin_rtsp_check(GF_RTPIn *rtp, char *control) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_alias
      Src: /src/gpac/src/filters/out_route.c:908,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:913,1
    - Dst: routeout_delete_service
      Src: /src/gpac/src/filters/out_route.c:914,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_route.c:911,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_route.c:914,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_route.c:916,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_route.c:918,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_route.c:920,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:922,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:923,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:924,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:925,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/out_route.c:928,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:927,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:926,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 929
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 929
    functionName: routeout_finalize
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_sk_del
    - gf_filter_is_alias
    - gf_free
    - gf_list_pop_back
    - routeout_delete_service
    linkageType: ''
    returnType: void
    signature: 'static void routeout_finalize(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2803,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2807,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2829,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2840,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2841,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2835,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2809,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2812,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2834,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2838,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2844,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2846,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2826,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2828,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2837,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2833,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2843,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2804,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2827,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2836,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2842,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - serv
    - inject_names
    - out_tot_rate
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - Bool
    - u32*
    constantsTouched: []
    func_position:
      end: 2848
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2848
    functionName: mabr_get_carousel_info
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - gf_list_count
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *mabr_get_carousel_info(GF_ROUTEOutCtx *ctx, ROUTEService
      *serv, Bool inject_names, u32 *out_tot_rate) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:936,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_route.c:939,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:938,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:941,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:944,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_route.c:945,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:946,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:950,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - serv
    - url
    argTypes:
    - ROUTEService*
    - char*
    constantsTouched: []
    func_position:
      end: 951
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 951
    functionName: routeout_strip_base
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_strdup
    - strchr
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'char *routeout_strip_base(ROUTEService *serv, char *url) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2883,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2889,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2891,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2905,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2960,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2943,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3042,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3067,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3068,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3069,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2899,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2945,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:3001,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2988,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2996,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3046,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3077,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3078,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3091,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:3093,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3128,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2952,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2920,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:3018,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3052,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3080,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:3135,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2944,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2963,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2962,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2892,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3035,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3063,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3104,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3116,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3130,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3053,1
    - Dst: mabr_get_carousel_info
      Src: /src/gpac/src/filters/out_route.c:3119,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2873,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2989,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2965,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3045,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:3081,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3132,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2948,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2955,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2956,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2959,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:3020,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3025,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3030,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3066,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3086,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:3105,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2941,1
    - Dst: mabr_get_carousel_info
      Src: /src/gpac/src/filters/out_route.c:2896,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2940,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3009,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3023,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3033,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3110,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3114,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3115,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3075,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3103,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3064,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2862,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2858,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2868,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2900,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2904,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2928,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3090,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3099,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:3141,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3050,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2877,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2953,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2994,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3003,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2999,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2934,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3024,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3026,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3037,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3054,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2879,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2881,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2926,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2985,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3006,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2964,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3011,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3013,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3031,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3032,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2927,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2857,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2859,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2890,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2893,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2907,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:3015,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3058,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:3122,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3125,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:2950,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2991,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2925,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2954,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2992,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2876,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2887,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3047,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3055,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3048,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2865,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2880,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2921,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2922,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2923,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2937,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3007,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3010,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3012,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3039,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2872,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3041,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3043,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3070,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3121,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2995,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2874,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2886,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3004,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3059,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3076,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3095,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2958,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2938,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2914,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3005,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2875,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2888,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:3014,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3049,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:3051,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:3065,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 235
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ROUTEOutCtx*
    constantsTouched: []
    func_position:
      end: 3146
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 3146
    functionName: routeout_update_mabr_manifest
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - snprintf
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_strdup
    - sprintf
    - GF_LOG
    - gf_filter_pid_get_property_str
    - gf_free
    - mabr_get_carousel_info
    linkageType: ''
    returnType: void
    signature: 'static void routeout_update_mabr_manifest(GF_ROUTEOutCtx *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_route.c:300,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:303,1
    - Dst: routemx_setup_socket
      Src: /src/gpac/src/filters/out_route.c:315,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_route.c:313,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_route.c:313,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_route.c:317,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:326,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 5
    argNames:
    - filter
    - ctx
    - ip
    - port
    - e
    argTypes:
    - GF_Filter*
    - GF_ROUTEOutCtx*
    - char*
    - u32
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 329
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 329
    functionName: route_create_lct_channel
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_filter_get_netcap_id
    - gf_sk_del
    - GF_SAFEALLOC
    - gf_free
    - gf_sk_new_ex
    - routemx_setup_socket
    linkageType: ''
    returnType: ROUTELCT*
    signature: 'ROUTELCT *route_create_lct_channel(GF_Filter *filter, GF_ROUTEOutCtx
      *ctx, const char *ip, u32 port, GF_Err *e) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2313,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2336,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2334,1
    - Dst: inject_mani_init_hls_variant_fdt
      Src: /src/gpac/src/filters/out_route.c:2317,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2314,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2341,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2345,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2346,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2346,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2347,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - serv
    - rpid
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - ROUTEPid*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2350
    functionName: routeout_send_fdt
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - inject_fdt_file_desc
    - inject_mani_init_hls_variant_fdt
    - GF_LOG
    - sprintf
    - routeout_send_file
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void routeout_send_fdt(GF_ROUTEOutCtx *ctx, ROUTEService *serv, ROUTEPid
      *rpid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:3281,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:3283,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:3282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3285
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3285
    functionName: routeout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore routeout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_route.c:336,1
    - Dst: route_create_lct_channel
      Src: /src/gpac/src/filters/out_route.c:339,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_route.c:349,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_route.c:351,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_route.c:388,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_route.c:389,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:375,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_route.c:366,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:341,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_route.c:354,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:362,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:363,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:380,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:379,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:387,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:359,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:390,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:369,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:386,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 7
    argNames:
    - filter
    - ctx
    - service_id
    - service_name
    - ip
    - port
    - e
    argTypes:
    - GF_Filter*
    - GF_ROUTEOutCtx*
    - u32
    - char*
    - char*
    - u32
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 392
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 392
    functionName: routeout_create_service
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del
    - gf_strdup
    - route_create_lct_channel
    - sprintf
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: ROUTEService*
    signature: 'ROUTEService *routeout_create_service(GF_Filter *filter, GF_ROUTEOutCtx
      *ctx, u32 service_id, const char *service_name, const char *ip, u32 port, GF_Err
      *e) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1278,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1323,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1398,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_route.c:1384,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1320,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1463,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1514,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1313,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/out_route.c:1317,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_route.c:1448,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1509,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1518,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1491,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1448,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1566,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1396,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1291,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:1326,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1328,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1434,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1506,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1465,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1569,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1522,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1333,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1325,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1329,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1370,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1408,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1399,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1264,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1274,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1415,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1423,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1564,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1252,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1235,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1279,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1337,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1363,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1288,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1298,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1417,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1431,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1502,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1510,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1349,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1430,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_route.c:1446,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1487,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:1507,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1541,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1556,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1359,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1390,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1266,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1300,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1360,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1331,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1421,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1454,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1461,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1464,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1550,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1546,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1456,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1530,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1538,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1545,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1271,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:1376,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1412,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1351,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1366,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1526,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1373,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1357,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1262,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1285,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1295,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1330,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:1497,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1267,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1455,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1529,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1531,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1532,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1554,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/filters/out_route.c:1576,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1571,1
    - Dst: gf_sk_get_local_ip
      Src: /src/gpac/src/filters/out_route.c:1383,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1346,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1269,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1272,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1283,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1308,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1314,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1371,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1482,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1488,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1255,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1250,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1259,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1286,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1287,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1358,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1297,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1426,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1492,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1362,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:1230,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1276,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1400,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1397,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1361,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1353,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1516,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1535,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_route.c:1429,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1344,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1284,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_route.c:1302,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1312,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1410,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1433,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1447,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1458,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1483,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1377,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1260,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1293,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1395,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1496,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1573,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 271
    argCount: 3
    argNames:
    - ctx
    - serv
    - manifest_updated
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - Bool
    constantsTouched: []
    func_position:
      end: 1593
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1593
    functionName: routeout_update_stsid_bundle
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_filter_release_property
    - GF_LOG
    - gf_sk_get_local_ip
    - strstr
    - gf_gz_compress_payload_ex
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_file_basename
    - strcpy
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_pid_get_info
    - strchr
    - gf_free
    - strcat
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_update_stsid_bundle(GF_ROUTEOutCtx *ctx, ROUTEService
      *serv, Bool manifest_updated) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: routeout_service_send_stsid_bundle
      Src: /src/gpac/src/filters/out_route.c:2362,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_route.c:2419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2452,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2489,1
    - Dst: assert
      Src: /src/gpac/src/filters/out_route.c:2552,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2571,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2597,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2601,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2605,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2586,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_route.c:2400,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2449,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2482,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_route.c:2476,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2453,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:2492,1
    - Dst: routeout_send_fdt
      Src: /src/gpac/src/filters/out_route.c:2504,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_route.c:2513,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2566,1
    - Dst: routeout_fetch_packet
      Src: /src/gpac/src/filters/out_route.c:2396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2372,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_route.c:2400,1
    - Dst: routeout_send_fdt
      Src: /src/gpac/src/filters/out_route.c:2435,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2557,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/filters/out_route.c:2561,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2588,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_route.c:2628,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_route.c:2617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2608,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2447,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2453,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2449,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2483,1
    - Dst: routeout_send_fdt
      Src: /src/gpac/src/filters/out_route.c:2536,1
    - Dst: routeout_lct_send
      Src: /src/gpac/src/filters/out_route.c:2542,1
    - Dst: routeout_lct_send
      Src: /src/gpac/src/filters/out_route.c:2544,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 218
    argCount: 2
    argNames:
    - ctx
    - serv
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    constantsTouched: []
    func_position:
      end: 2636
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2636
    functionName: routeout_process_service
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_timestamp_rescale
    - routeout_service_send_stsid_bundle
    - gf_list_count
    - gf_filter_pid_get_packet
    - routeout_lct_send
    - gf_list_get
    - assert
    - sprintf
    - routeout_send_file
    - gf_filter_pck_unref
    - gf_filter_pid_is_flush_eos
    - routeout_fetch_packet
    - gf_log_get_tool_level
    - routeout_send_fdt
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_process_service(GF_ROUTEOutCtx *ctx, ROUTEService
      *serv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/filters/out_route.c:2669,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2677,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:2680,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2711,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2716,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2719,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2731,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2736,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:2776,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2663,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/filters/out_route.c:2682,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2678,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2703,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2704,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_route.c:2725,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2740,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_route.c:2741,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2743,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2746,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2763,1
    - Dst: gf_sk_get_local_ip
      Src: /src/gpac/src/filters/out_route.c:2758,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_route.c:2749,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2772,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2768,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2661,1
    - Dst: gf_net_get_timezone
      Src: /src/gpac/src/filters/out_route.c:2665,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2662,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2671,1
    - Dst: ABS
      Src: /src/gpac/src/filters/out_route.c:2671,1
    - Dst: gf_net_time_is_dst
      Src: /src/gpac/src/filters/out_route.c:2674,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2674,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/filters/out_route.c:2698,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2723,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/out_route.c:2727,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2774,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2779,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/filters/out_route.c:2794,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2793,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2664,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:2669,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2672,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2673,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2697,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_route.c:2721,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_route.c:2732,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_route.c:2737,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:2752,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2754,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_route.c:2759,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:2770,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/filters/out_route.c:2778,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 155
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ROUTEOutCtx*
    constantsTouched: []
    func_position:
      end: 2796
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2796
    functionName: routeout_send_lls
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - snprintf
    - GF_LOG
    - gf_filter_release_property
    - gf_sk_get_local_ip
    - gf_gz_compress_payload_ex
    - gf_list_count
    - gf_filter_pid_get_property_str
    - atoi
    - strcpy
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_pid_get_info
    - sprintf
    - ABS
    - gf_free
    - gf_net_get_timezone
    - gf_net_time_is_dst
    - strncpy
    - gf_sk_send
    linkageType: ''
    returnType: void
    signature: 'static void routeout_send_lls(GF_ROUTEOutCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_route.c:3290,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_route.c:3294,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:3306,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:3301,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:3304,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_route.c:3310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - filter
    - url
    - mime
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3312
      start: 3286
    functionDepth: 0
    functionLinenumber: 3286
    functionLinenumberEnd: 3312
    functionName: routeout_use_alias
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strncmp
    - strcmp
    - strchr
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool routeout_use_alias(GF_Filter *filter, const char *url,
      const char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_route.c:3492,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_route.c:3493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3496
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3496
    functionName: routeout_register
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *routeout_register(GF_FilterSession *session) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:981,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_route.c:985,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_route.c:1025,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1033,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_route.c:1005,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:1044,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_route.c:1073,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/out_route.c:1101,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1134,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1145,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1153,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1139,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:1159,1
    - Dst: routeout_update_stsid_bundle
      Src: /src/gpac/src/filters/out_route.c:1219,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1213,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:989,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:990,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1002,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:1029,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1001,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1062,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1076,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_route.c:1078,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1127,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1148,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1137,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1151,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:963,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/out_route.c:986,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:1035,1
    - Dst: routeout_strip_base
      Src: /src/gpac/src/filters/out_route.c:1003,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/out_route.c:1074,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:1091,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1092,1
    - Dst: routeout_strip_base
      Src: /src/gpac/src/filters/out_route.c:1093,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_route.c:1100,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:1128,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:1154,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_route.c:1179,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1175,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1174,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_route.c:1206,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1186,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:967,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_route.c:978,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_route.c:991,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:1000,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:1039,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1053,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:1057,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:1077,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_route.c:1129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:1133,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1149,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1172,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:1157,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1167,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_route.c:1161,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1144,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_route.c:1184,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 238
    argCount: 2
    argNames:
    - ctx
    - serv
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    constantsTouched: []
    func_position:
      end: 1220
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 1220
    functionName: routeout_check_service_updates
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - snprintf
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_data
    - strstr
    - routeout_update_stsid_bundle
    - gf_crc_32
    - gf_filter_pid_get_packet
    - gf_list_count
    - strcmp
    - gf_strdup
    - gf_file_basename
    - atoi
    - gf_assert
    - gf_list_get
    - gf_sys_clock
    - memcpy
    - strchr
    - gf_free
    - routeout_strip_base
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_check_service_updates(GF_ROUTEOutCtx *ctx,
      ROUTEService *serv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: routeout_lct_send
      Src: /src/gpac/src/filters/out_route.c:1896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 10
    argNames:
    - ctx
    - serv
    - sock
    - tsi
    - toi
    - payload
    - size
    - codepoint
    - fdt_instance_id
    - is_flute
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - GF_Socket*
    - u32
    - u32
    - u8*
    - u32
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1898
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1898
    functionName: routeout_send_file
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - routeout_lct_send
    linkageType: ''
    returnType: void
    signature: 'static void routeout_send_file(GF_ROUTEOutCtx *ctx, ROUTEService *serv,
      GF_Socket *sock, u32 tsi, u32 toi, u8 *payload, u32 size, u32 codepoint, u32
      fdt_instance_id, Bool is_flute) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/out_route.c:282,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/filters/out_route.c:283,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_route.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - sock
    - dst_ip
    - dst_port
    argTypes:
    - GF_ROUTEOutCtx*
    - GF_Socket*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: routemx_setup_socket
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_sk_setup_multicast
    - gf_sk_is_multicast_address
    - GF_LOG
    - gf_sk_bind
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routemx_setup_socket(GF_ROUTEOutCtx *ctx, GF_Socket
      *sock, const char *dst_ip, u32 dst_port) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1654,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:1685,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1707,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:1716,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1642,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:1652,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1707,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1700,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1643,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1650,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1663,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1667,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1672,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:1677,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1713,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:1691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1715,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:1679,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1658,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:1686,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:1718,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 71
    argCount: 3
    argNames:
    - ctx
    - serv
    - manifest_updated
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - Bool
    constantsTouched: []
    func_position:
      end: 1722
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1722
    functionName: routeout_update_dvb_mabr_fdt
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - inject_fdt_file_desc
    - gf_filter_pid_get_property
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_update_dvb_mabr_fdt(GF_ROUTEOutCtx *ctx, ROUTEService
      *serv, Bool manifest_updated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1902,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:1908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - serv
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    constantsTouched: []
    func_position:
      end: 1910
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1910
    functionName: routeout_service_send_stsid_bundle
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - routeout_send_file
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_service_send_stsid_bundle(GF_ROUTEOutCtx *ctx,
      ROUTEService *serv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_route.c:397,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_route.c:403,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:402,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:404,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_route.c:401,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:407,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:408,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:409,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:410,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:411,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:416,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_route.c:415,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - rpid
    - is_rem
    argTypes:
    - ROUTEPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: routeout_remove_pid
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_list_del_item
    - gf_sk_del
    - gf_filter_pck_unref
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void routeout_remove_pid(ROUTEPid *rpid, Bool is_rem) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_route.c:465,1
    - Dst: routeout_remove_pid
      Src: /src/gpac/src/filters/out_route.c:467,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:484,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:493,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:513,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:537,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:559,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:570,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_route.c:598,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:695,1
    - Dst: route_create_lct_channel
      Src: /src/gpac/src/filters/out_route.c:710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:675,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/out_route.c:735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:700,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:621,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:697,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:706,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_route.c:607,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_route.c:462,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:498,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:507,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:525,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:539,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:547,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:562,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/out_route.c:608,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:632,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:638,1
    - Dst: gf_net_bump_ip_address
      Src: /src/gpac/src/filters/out_route.c:700,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_route.c:731,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:732,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:671,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:736,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/out_route.c:642,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/out_route.c:751,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/out_route.c:753,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_route.c:667,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:664,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:744,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:481,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:486,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:491,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:492,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:509,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:529,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:558,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:567,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:641,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/out_route.c:578,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:704,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:712,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_route.c:576,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:661,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:741,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:586,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_route.c:471,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:495,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:520,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:516,1
    - Dst: routeout_create_service
      Src: /src/gpac/src/filters/out_route.c:577,1
    - Dst: gf_filter_pid_ignore_blocking
      Src: /src/gpac/src/filters/out_route.c:599,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:601,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:636,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_route.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:647,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_route.c:720,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:726,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:645,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_route.c:590,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_route.c:734,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 282
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 756
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 756
    functionName: routeout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - route_create_lct_channel
    - GF_LOG
    - gf_filter_release_property
    - gf_filter_pid_set_framing_mode
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_filter_abort
    - strstr
    - gf_filter_get_udta
    - gf_list_find
    - GF_4CC
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_filter_pid_ignore_blocking
    - routeout_create_service
    - gf_filter_pid_get_info
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_net_bump_ip_address
    - gf_filter_pid_init_play_event
    - routeout_remove_pid
    - gf_sys_clock
    - strchr
    - gf_free
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_route.c:1726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ROUTEOutCtx*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1731
    functionName: update_error_simulation_state
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_rand
    linkageType: ''
    returnType: void
    signature: 'static void update_error_simulation_state(GF_ROUTEOutCtx *ctx) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:1929,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_route.c:1925,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:1929,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_route.c:1930,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_route.c:1936,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:1944,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_route.c:1985,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_route.c:1994,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2001,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2016,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:2064,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2224,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/out_route.c:2138,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2071,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2081,1
    - Dst: routeout_strip_base
      Src: /src/gpac/src/filters/out_route.c:2086,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2112,1
    - Dst: gf_net_ntp_diff_ms
      Src: /src/gpac/src/filters/out_route.c:2141,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2215,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/out_route.c:2168,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2080,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_route.c:1923,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_route.c:1967,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_route.c:1961,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/out_route.c:1966,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2006,1
    - Dst: routeout_strip_base
      Src: /src/gpac/src/filters/out_route.c:2008,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_route.c:2020,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:2028,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:2047,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:2051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2113,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2122,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:2084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2104,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:2088,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2093,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_route.c:2114,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_route.c:2172,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/out_route.c:1969,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_route.c:1976,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_route.c:1982,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:1991,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:2002,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_route.c:2003,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2007,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2037,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_route.c:2043,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:2054,1
    - Dst: gf_net_ntp_diff_ms
      Src: /src/gpac/src/filters/out_route.c:2139,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2140,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2232,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:2136,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:2116,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:2035,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2236,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_route.c:1925,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_route.c:1927,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:1950,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_route.c:1960,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/out_route.c:1973,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/out_route.c:1995,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_route.c:2010,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:2045,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:2052,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:2058,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_route.c:2060,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:2084,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/out_route.c:2163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2095,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:2234,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_route.c:2110,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 303
    argCount: 2
    argNames:
    - ctx
    - rpid
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEPid*
    constantsTouched: []
    func_position:
      end: 2241
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 2241
    functionName: routeout_fetch_packet
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - snprintf
    - gf_filter_pid_set_discard
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_filter_pck_ref
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_pck_get_framing
    - gf_filter_update_status
    - gf_filter_pck_get_data
    - gf_filter_pck_get_carousel_version
    - gf_crc_32
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_list_count
    - gf_net_get_ntp_ts
    - gf_file_basename
    - gf_assert
    - gf_filter_reporting_enabled
    - gf_list_get
    - memcpy
    - gf_free
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    - routeout_strip_base
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_get_property
    - gf_net_ntp_diff_ms
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_fetch_packet(GF_ROUTEOutCtx *ctx, ROUTEPid
      *rpid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: routeout_update_mabr_manifest
      Src: /src/gpac/src/filters/out_route.c:3151,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:3174,1
    - Dst: routeout_send_file
      Src: /src/gpac/src/filters/out_route.c:3172,1
    - Dst: routeout_update_dvb_mabr_fdt
      Src: /src/gpac/src/filters/out_route.c:3153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ROUTEOutCtx*
    constantsTouched: []
    func_position:
      end: 3175
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3175
    functionName: routeout_send_mabr_manifest
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - routeout_update_mabr_manifest
    - routeout_update_dvb_mabr_fdt
    - GF_LOG
    - routeout_send_file
    linkageType: ''
    returnType: void
    signature: 'static void routeout_send_mabr_manifest(GF_ROUTEOutCtx *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_route.c:422,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_route.c:425,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:430,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:431,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:442,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:437,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:447,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:427,1
    - Dst: routeout_remove_pid
      Src: /src/gpac/src/filters/out_route.c:423,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_route.c:433,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:441,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:436,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:445,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_route.c:428,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_route.c:429,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:439,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:435,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:444,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:449,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:421,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:438,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:443,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:448,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:450,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 1
    argNames:
    - serv
    argTypes:
    - ROUTEService*
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: routeout_delete_service
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_sk_del
    - routeout_remove_pid
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void routeout_delete_service(ROUTEService *serv) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:777,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:772,1
    - Dst: gf_net_get_adapter_ip
      Src: /src/gpac/src/filters/out_route.c:788,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:791,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:807,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_route.c:827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:839,1
    - Dst: gf_filter_is_alias
      Src: /src/gpac/src/filters/out_route.c:865,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/out_route.c:865,1
    - Dst: routemx_setup_socket
      Src: /src/gpac/src/filters/out_route.c:873,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_route.c:885,1
    - Dst: routemx_setup_socket
      Src: /src/gpac/src/filters/out_route.c:878,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:897,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_route.c:769,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:796,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_route.c:810,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:816,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_route.c:845,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_route.c:872,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_route.c:886,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_route.c:764,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:805,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_route.c:808,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_route.c:825,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/out_route.c:838,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_route.c:855,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_route.c:860,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_route.c:869,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_route.c:872,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_route.c:877,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_route.c:830,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_route.c:832,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_route.c:829,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_route.c:850,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_route.c:853,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_route.c:857,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_route.c:877,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/out_route.c:888,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 136
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 902
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 902
    functionName: routeout_initialize
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - gf_filter_is_temporary
    - strlwr
    - gf_filter_override_caps
    - gf_file_ext_start
    - routemx_setup_socket
    - gf_filter_get_udta
    - gf_strdup
    - gf_file_basename
    - atoi
    - PROP_UINT
    - gf_list_new
    - gf_net_get_adapter_ip
    - gf_bs_new
    - PROP_NAME
    - strchr
    - gf_free
    - strnicmp
    - gf_filter_get_netcap_id
    - strrchr
    - gf_sk_is_multicast_address
    - gf_filter_is_alias
    - strncpy
    - gf_sys_clock_high_res
    - gf_sk_new_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_initialize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:1601,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1604,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1605,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1607,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1611,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1615,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:1616,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1614,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/out_route.c:1626,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1608,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1618,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1621,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1617,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1629,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1609,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_route.c:1619,1
    - Dst: gf_md5_csum
      Src: /src/gpac/src/filters/out_route.c:1625,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1600,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1603,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1602,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1613,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1620,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1630,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_route.c:1632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 9
    argNames:
    - ctx
    - payload
    - serv
    - url
    - mime
    - data
    - size
    - TOI
    - use_full_url
    argTypes:
    - GF_ROUTEOutCtx*
    - char**
    - ROUTEService*
    - char*
    - char*
    - u8*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1633
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1633
    functionName: inject_fdt_file_desc
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_base64_encode
    - gf_dynstrcat
    - sprintf
    - gf_md5_csum
    linkageType: ''
    returnType: void
    signature: 'static void inject_fdt_file_desc(GF_ROUTEOutCtx *ctx, char **payload,
      ROUTEService *serv, char *url, char *mime, const u8 *data, u32 size, u32 TOI,
      Bool use_full_url) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/out_route.c:1815,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/out_route.c:1819,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/out_route.c:1824,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/out_route.c:1837,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/out_route.c:1826,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/out_route.c:1841,1
    - Dst: PUT_U32
      Src: /src/gpac/src/filters/out_route.c:1803,1
    - Dst: PUT_U32
      Src: /src/gpac/src/filters/out_route.c:1808,1
    - Dst: PUT_U16
      Src: /src/gpac/src/filters/out_route.c:1806,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/out_route.c:1817,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/out_route.c:1818,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/out_route.c:1828,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/out_route.c:1832,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/out_route.c:1838,1
    - Dst: PUT_U16
      Src: /src/gpac/src/filters/out_route.c:1845,1
    - Dst: PUT_U32
      Src: /src/gpac/src/filters/out_route.c:1863,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1872,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/filters/out_route.c:1877,1
    - Dst: gf_net_get_ntp
      Src: /src/gpac/src/filters/out_route.c:1840,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/out_route.c:1842,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1879,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_route.c:1870,1
    - Dst: PUT_U32
      Src: /src/gpac/src/filters/out_route.c:1867,1
    - Dst: PUT_U32
      Src: /src/gpac/src/filters/out_route.c:1809,1
    - Dst: PUT_U16
      Src: /src/gpac/src/filters/out_route.c:1805,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/out_route.c:1823,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/out_route.c:1830,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/out_route.c:1836,1
    - Dst: update_error_simulation_state
      Src: /src/gpac/src/filters/out_route.c:1874,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_route.c:1876,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:1882,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_route.c:1879,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 128
    argCount: 14
    argNames:
    - ctx
    - sock
    - tsi
    - toi
    - codepoint
    - payload
    - len
    - offset
    - serv
    - total_size
    - offset_in_frame
    - fdt_instance_id
    - is_flute
    - can_set_close
    argTypes:
    - GF_ROUTEOutCtx*
    - GF_Socket*
    - u32
    - u32
    - u32
    - u8*
    - u32
    - u32
    - ROUTEService*
    - u32
    - u32
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1890
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1890
    functionName: routeout_lct_send
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - gf_assert
    - PUT_U32
    - gf_bs_reassign_buffer
    - gf_bs_write_u16
    - gf_error_to_string
    - GF_LOG
    - gf_net_get_ntp
    - gf_bs_write_long_int
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - update_error_simulation_state
    - gf_bs_write_int
    - gf_sk_send
    - PUT_U16
    linkageType: ''
    returnType: u32
    signature: 'u32 routeout_lct_send(GF_ROUTEOutCtx *ctx, GF_Socket *sock, u32 tsi,
      u32 toi, u32 codepoint, u8 *payload, u32 len, u32 offset, ROUTEService *serv,
      u32 total_size, u32 offset_in_frame, u32 fdt_instance_id, Bool is_flute, Bool
      can_set_close) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:2270,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2253,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2263,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2258,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:2272,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_route.c:2280,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_route.c:2281,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2286,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2295,1
    - Dst: inject_fdt_file_desc
      Src: /src/gpac/src/filters/out_route.c:2302,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_route.c:2302,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - serv
    - rpid
    - payload
    argTypes:
    - GF_ROUTEOutCtx*
    - ROUTEService*
    - ROUTEPid*
    - char**
    constantsTouched: []
    func_position:
      end: 2305
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2305
    functionName: inject_mani_init_hls_variant_fdt
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - inject_fdt_file_desc
    - gf_filter_pid_get_property
    - gf_list_count
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void inject_mani_init_hls_variant_fdt(GF_ROUTEOutCtx *ctx, ROUTEService
      *serv, ROUTEPid *rpid, char **payload) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_route.c:3182,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_route.c:3204,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/out_route.c:3212,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_route.c:3214,1
    - Dst: routeout_check_service_updates
      Src: /src/gpac/src/filters/out_route.c:3232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3257,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:3265,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_route.c:3267,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_route.c:3275,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_route.c:3203,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_route.c:3213,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:3230,1
    - Dst: routeout_send_mabr_manifest
      Src: /src/gpac/src/filters/out_route.c:3239,1
    - Dst: routeout_process_service
      Src: /src/gpac/src/filters/out_route.c:3245,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/out_route.c:3198,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_route.c:3184,1
    - Dst: MIN
      Src: /src/gpac/src/filters/out_route.c:3185,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_route.c:3202,1
    - Dst: routeout_send_lls
      Src: /src/gpac/src/filters/out_route.c:3225,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_route.c:3243,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_route.c:3186,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/out_route.c:3201,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_route.c:3228,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_route.c:3234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_route.c:3215,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_route.c:3269,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3277
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3277
    functionName: routeout_process
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached:
    - routeout_process_service
    - gf_filter_pid_set_discard
    - snprintf
    - GF_FEVT_INIT
    - GF_LOG
    - routeout_check_service_updates
    - gf_filter_update_status
    - routeout_send_lls
    - gf_filter_get_udta
    - MIN
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - gf_filter_reporting_enabled
    - gf_filter_connections_pending
    - gf_list_get
    - gf_sys_clock
    - gf_filter_get_ipid
    - gf_filter_pid_send_event
    - gf_filter_get_ipid_count
    - routeout_send_mabr_manifest
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err routeout_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3501
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3501
    functionName: routeout_register
    functionSourceFile: /src/gpac/src/filters/out_route.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *routeout_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:729,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:734,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:735,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:732,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:730,1
    - Dst: dump_time_code
      Src: /src/gpac/src/filters/inspect.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: dump_time_code_hevc
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_int
    - dump_time_code
    linkageType: ''
    returnType: void
    signature: 'static void dump_time_code_hevc(FILE *dump, GF_BitStream *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_inspect_dump_nalu_internal
      Src: /src/gpac/src/filters/inspect.c:1584,1
    - Dst: inspect_get_analyze_mode
      Src: /src/gpac/src/filters/inspect.c:1584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 10
    argNames:
    - dump
    - ptr
    - ptr_size
    - is_svc
    - hevc
    - avc
    - vvc
    - nalh_size
    - dump_crc
    - is_encrypted
    argTypes:
    - FILE*
    - u8*
    - u32
    - Bool
    - HEVCState*
    - AVCState*
    - VVCState*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1585
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1585
    functionName: gf_inspect_dump_nalu
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_inspect_dump_nalu_internal
    - inspect_get_analyze_mode
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_inspect_dump_nalu(FILE *dump, u8 *ptr, u32 ptr_size,
      Bool is_svc, HEVCState *hevc, AVCState *avc, VVCState *vvc, u32 nalh_size, Bool
      dump_crc, Bool is_encrypted) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:2076,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/inspect.c:2092,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/inspect.c:2091,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:2079,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/inspect.c:2093,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2096,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/inspect.c:2098,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2099,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/inspect.c:2099,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/inspect.c:2105,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - streamtype
    - concat
    - for_service_id
    argTypes:
    - GF_InspectCtx*
    - u32
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2110
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2110
    functionName: finalize_dump
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - gf_fread
    - GF_LOG
    - gf_fclose
    - gf_fwrite
    - gf_fseek
    - gf_feof
    linkageType: ''
    returnType: void
    signature: 'static void finalize_dump(GF_InspectCtx *ctx, u32 streamtype, Bool
      concat, u32 for_service_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:2116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:2118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_InspectCtx*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2123
    functionName: next_service_to_dump
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 next_service_to_dump(GF_InspectCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2298,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2303,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/inspect.c:2302,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2301,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2299,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2305,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - dump
    - bs
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2308
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2308
    functionName: scte35_parse_splice_time
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - DUMP_ATT_LLU
    - inspect_printf
    - gf_bs_read_long_int
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void scte35_parse_splice_time(GF_InspectCtx *ctx, FILE *dump,
      GF_BitStream *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scte35_dump
      Src: /src/gpac/src/filters/inspect.c:2593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2594
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2594
    functionName: scte35_dump_xml
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - scte35_dump
    linkageType: ''
    returnType: void
    signature: 'void scte35_dump_xml(FILE *dump, GF_BitStream *bs) '
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/inspect.c:3568,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3591,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3600,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3853,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3919,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/inspect.c:3697,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3649,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3668,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3585,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3588,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3596,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3612,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/inspect.c:3617,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3757,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3774,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3914,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3855,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/inspect.c:3572,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3597,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:3623,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3636,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3677,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:3647,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:3824,1
    - Dst: scte35_dump
      Src: /src/gpac/src/filters/inspect.c:3826,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:3851,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:3614,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3616,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:3702,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3711,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:3724,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3736,1
    - Dst: inspect_get_nal_size
      Src: /src/gpac/src/filters/inspect.c:3750,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3846,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3857,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3910,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3576,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3621,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/inspect.c:3638,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3656,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/inspect.c:3624,1
    - Dst: inspect_dump_property
      Src: /src/gpac/src/filters/inspect.c:3726,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3765,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3856,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3858,1
    - Dst: gf_inspect_dump_mha_frame
      Src: /src/gpac/src/filters/inspect.c:3876,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/inspect.c:3627,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3598,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/filters/inspect.c:3663,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3754,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3825,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3681,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3827,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3841,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/inspect.c:3852,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/inspect.c:3632,1
    - Dst: DUMP_ATT_X
      Src: /src/gpac/src/filters/inspect.c:3684,1
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/filters/inspect.c:3850,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/inspect.c:3854,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/inspect.c:3862,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3912,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3586,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:3610,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3632,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3715,1
    - Dst: gf_mp3_bit_rate
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_fputc
      Src: /src/gpac/src/filters/inspect.c:3843,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/filters/inspect.c:3860,1
    - Dst: inspect_dump_vpx
      Src: /src/gpac/src/filters/inspect.c:3885,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3633,1
    - Dst: gf_inspect_dump_truehd_frame
      Src: /src/gpac/src/filters/inspect.c:3894,1
    - Dst: inspect_dump_boxes
      Src: /src/gpac/src/filters/inspect.c:3820,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:3609,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:3629,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3631,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3602,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/inspect.c:3623,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3641,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/inspect.c:3625,1
    - Dst: gf_inspect_dump_obu_internal
      Src: /src/gpac/src/filters/inspect.c:3771,1
    - Dst: inspect_dump_tmcd
      Src: /src/gpac/src/filters/inspect.c:3817,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3901,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3606,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/inspect.c:3633,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/inspect.c:3722,1
    - Dst: gf_inspect_dump_nalu_internal
      Src: /src/gpac/src/filters/inspect.c:3758,1
    - Dst: gf_mp3_version
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: inspect_dump_ac3_eac3
      Src: /src/gpac/src/filters/inspect.c:3890,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3893,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3908,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3915,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3929,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3639,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:3628,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3667,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3578,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:3616,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:3619,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3690,1
    - Dst: inspect_dump_property
      Src: /src/gpac/src/filters/inspect.c:3704,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3778,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3806,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/filters/inspect.c:3809,1
    - Dst: inspect_dump_packet_as_info
      Src: /src/gpac/src/filters/inspect.c:3563,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3599,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:3608,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3640,1
    - Dst: inspect_dump_mpeg124
      Src: /src/gpac/src/filters/inspect.c:3797,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:3828,1
    - Dst: gf_inspect_dump_opus_internal
      Src: /src/gpac/src/filters/inspect.c:3897,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/inspect.c:3631,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3603,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:3613,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3737,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3747,1
    - Dst: gf_mp3_get_next_header_mem
      Src: /src/gpac/src/filters/inspect.c:3804,1
    - Dst: gf_inspect_dump_prores_internal
      Src: /src/gpac/src/filters/inspect.c:3871,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3875,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3911,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/inspect.c:3567,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3580,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:3624,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:3625,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3699,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/inspect.c:3684,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/filters/inspect.c:3810,1
    - Dst: gf_inspect_dump_mhas
      Src: /src/gpac/src/filters/inspect.c:3880,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:3917,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:3642,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3658,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3651,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/inspect.c:3570,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3583,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3587,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3590,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3604,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3605,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/inspect.c:3621,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 294
    argCount: 6
    argNames:
    - ctx
    - dump
    - pck
    - pid_idx
    - pck_num
    - pctx
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_FilterPacket*
    - u32
    - u64
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 3930
      start: 3549
    functionDepth: 0
    functionLinenumber: 3549
    functionLinenumberEnd: 3930
    functionName: inspect_dump_packet
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - inspect_dump_vpx
    - gf_fprintf
    - strncmp
    - gf_filter_pck_get_duration
    - gf_inspect_dump_opus_internal
    - gf_mx_init
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - gf_mp3_get_next_header_mem
    - gf_inspect_dump_prores_internal
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_get_data
    - gf_filter_pck_get_corrupted
    - inspect_printf
    - gf_filter_pck_get_carousel_version
    - gf_bs_reassign_buffer
    - inspect_get_nal_size
    - scte35_dump
    - gf_crc_32
    - gf_bs_del
    - gf_mp3_num_channels
    - gf_filter_pck_enum_properties
    - gf_mp3_frame_size
    - gf_list_count
    - gf_list_pop_front
    - gf_list_del
    - gf_filter_pck_get_clock_type
    - gf_mp3_layer
    - inspect_dump_packet_as_info
    - gf_inspect_dump_nalu_internal
    - gf_filter_pck_get_dts
    - gf_mp3_version
    - gf_inspect_dump_obu_internal
    - gf_webvtt_parse_cues_from_data
    - gf_webvtt_cue_del
    - gf_filter_pck_get_frame_interface
    - gf_bs_new
    - gf_mp3_bit_rate
    - inspect_dump_property
    - gf_filter_pck_get_dependency_flags
    - inspect_dump_ac3_eac3
    - gf_inspect_dump_mhas
    - DUMP_ATT_D
    - inspect_dump_mpeg124
    - inspect_dump_tmcd
    - DUMP_ATT_U
    - gf_filter_pck_get_roll_info
    - gf_mp3_sampling_rate
    - inspect_dump_boxes
    - gf_filter_pck_get_seek_flag
    - gf_inspect_dump_truehd_frame
    - gf_fputc
    - DUMP_ATT_X
    - gf_mp3_window_size
    - get_and_print
    - gf_inspect_dump_mha_frame
    - DUMP_ATT_STR
    - DUMP_ATT_LLU
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_packet(GF_InspectCtx *ctx, FILE *dump, GF_FilterPacket
      *pck, u32 pid_idx, u64 pck_num, PidCtx *pctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:3948,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/inspect.c:3960,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:3956,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:3961,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:3952,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/inspect.c:3965,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/inspect.c:3968,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - pctx
    - keep_parser_address
    argTypes:
    - PidCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 3969
      start: 3945
    functionDepth: 0
    functionLinenumber: 3945
    functionLinenumberEnd: 3969
    functionName: inspect_reset_parsers
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - gf_m4v_parser_del
    - gf_odf_av1_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void inspect_reset_parsers(PidCtx *pctx, void *keep_parser_address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:743,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - bs
    - dump
    - name
    - idx
    - nbits
    argTypes:
    - GF_BitStream*
    - FILE*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: gf_bs_inspect_int
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_int
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_bs_inspect_int(GF_BitStream *bs, FILE *dump, char *name,
      int idx, int nbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - dump
    - idx
    - tile
    argTypes:
    - FILE*
    - u32
    - AV1Tile*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: av1_dump_tile
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    linkageType: ''
    returnType: void
    signature: 'static void av1_dump_tile(FILE *dump, u32 idx, AV1Tile *tile) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2133,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/inspect.c:2142,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2159,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2157,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2171,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/inspect.c:2175,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2176,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/inspect.c:2190,1
    - Dst: gf_ferror
      Src: /src/gpac/src/filters/inspect.c:2192,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:2128,1
    - Dst: inspect_dump_stats
      Src: /src/gpac/src/filters/inspect.c:2151,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2160,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2172,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/inspect.c:2183,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2134,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2135,1
    - Dst: next_service_to_dump
      Src: /src/gpac/src/filters/inspect.c:2154,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/inspect.c:2167,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2170,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2155,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/inspect.c:2174,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/inspect.c:2179,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2181,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2186,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/inspect.c:2137,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2141,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:2141,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2158,1
    - Dst: finalize_dump
      Src: /src/gpac/src/filters/inspect.c:2156,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:2166,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:2180,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/inspect.c:2191,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/inspect.c:2195,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2198
    functionName: inspect_finalize
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - finalize_dump
    - gf_filter_get_udta
    - inspect_printf
    - gf_bs_del
    - gf_list_del
    - gf_list_pop_front
    - gf_av1_reset_state
    - gf_list_count
    - strcmp
    - gf_ferror
    - next_service_to_dump
    - gf_fopen
    - gf_odf_av1_cfg_del
    - gf_free
    - gf_sys_is_cov_mode
    - gf_fflush
    - inspect_dump_stats
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void inspect_finalize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2317,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2320,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2329,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2329,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2332,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2336,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2340,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2340,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2354,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2360,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2396,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2373,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2371,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2312,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2316,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2318,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2328,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2323,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2324,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2328,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2335,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2339,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2351,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2356,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2364,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2356,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2361,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:2393,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2360,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2345,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/inspect.c:2345,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2348,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2349,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:2350,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2361,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:2368,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:2369,1
    - Dst: Id
      Src: /src/gpac/src/filters/inspect.c:2388,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2355,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2374,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2398,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2353,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2355,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2314,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2315,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2314,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2321,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2325,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2327,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2322,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2327,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2330,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2330,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2373,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2338,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/inspect.c:2341,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2338,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2341,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 108
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2400
    functionName: scte35_parse_segmentation_descriptor
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u32
    - gf_bs_read_long_int
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_seek
    - Id
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void scte35_parse_segmentation_descriptor(FILE *dump, GF_BitStream
      *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2599,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2601,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:2605,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:2607,1
    - Dst: scte35_dump
      Src: /src/gpac/src/filters/inspect.c:2609,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2612,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - pctx
    - dump
    - pname
    - att
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - FILE*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2616
    functionName: dump_scte35_info_m2ts_section
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_reassign_buffer
    - gf_bs_new
    - scte35_dump
    linkageType: ''
    returnType: void
    signature: 'static void dump_scte35_info_m2ts_section(GF_InspectCtx *ctx, PidCtx
      *pctx, FILE *dump, const char *pname, const GF_PropertyValue *att) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:3469,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:3475,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3470,1
    - Dst: memset
      Src: /src/gpac/src/filters/inspect.c:3478,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3477,1
    - Dst: gf_ac3_parser_bs
      Src: /src/gpac/src/filters/inspect.c:3479,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3481,1
    - Dst: gf_ac3_get_bitrate
      Src: /src/gpac/src/filters/inspect.c:3481,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3483,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3487,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:3488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 7
    argNames:
    - ctx
    - dump
    - ptr
    - frame_size
    - dump_crc
    - pctx
    - is_ec3
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - u8*
    - u64
    - Bool
    - PidCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 3489
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3489
    functionName: inspect_dump_ac3_eac3
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_ac3_parser_bs
    - gf_bs_reassign_buffer
    - memset
    - gf_bs_new
    - gf_bs_set_logger
    - gf_ac3_get_bitrate
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_ac3_eac3(GF_InspectCtx *ctx, FILE *dump,
      u8 *ptr, u64 frame_size, Bool dump_crc, PidCtx *pctx, Bool is_ec3) '
  - BBCount: 160
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/inspect.c:4419,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/inspect.c:4420,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4605,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4629,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:4724,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4747,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4750,1
    - Dst: inspect_dump_mpeg124
      Src: /src/gpac/src/filters/inspect.c:4753,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4805,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4968,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4840,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5000,1
    - Dst: gf_fputc
      Src: /src/gpac/src/filters/inspect.c:4813,1
    - Dst: gf_m4a_parse_config
      Src: /src/gpac/src/filters/inspect.c:4913,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4453,1
    - Dst: gf_filter_pid_get_rfc_6381_codec_string
      Src: /src/gpac/src/filters/inspect.c:4480,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4649,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4751,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4755,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4779,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:4843,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4853,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4860,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4903,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4917,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4970,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5018,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5040,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5001,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5010,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4643,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4630,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4661,1
    - Dst: gf_filter_pid_enum_info
      Src: /src/gpac/src/filters/inspect.c:4491,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4579,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4638,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4532,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4582,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4709,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4715,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5005,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5021,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4554,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4667,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4672,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4731,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/inspect.c:4757,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4809,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4825,1
    - Dst: gf_odf_opus_cfg_parse
      Src: /src/gpac/src/filters/inspect.c:4961,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:4986,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5003,1
    - Dst: gf_fputc
      Src: /src/gpac/src/filters/inspect.c:4777,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4808,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4926,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:4999,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4842,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4938,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:4892,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:5036,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4878,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4563,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4671,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4599,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4636,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4678,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4624,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4691,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4788,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4816,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4836,1
    - Dst: gf_odf_vp_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4868,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4632,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4476,1
    - Dst: inspect_dump_property
      Src: /src/gpac/src/filters/inspect.c:4493,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4568,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4652,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4791,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4817,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4847,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4872,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4919,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4959,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:5039,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:5037,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4657,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4634,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4443,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/inspect.c:4461,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4562,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4612,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4676,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/filters/inspect.c:4700,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4710,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4774,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4966,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:5019,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4785,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4684,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/inspect.c:4450,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4711,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4789,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4793,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/inspect.c:4892,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4985,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:4993,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:4842,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4869,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4881,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:4998,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5013,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5031,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4949,1
    - Dst: inspect_dump_pid_as_info
      Src: /src/gpac/src/filters/inspect.c:4427,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4440,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:4477,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4541,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4567,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4620,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4682,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4704,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4771,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4865,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4922,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4984,1
    - Dst: gf_filter_pid_get_rfc_6381_codec_string
      Src: /src/gpac/src/filters/inspect.c:4418,1
    - Dst: inspect_dump_property
      Src: /src/gpac/src/filters/inspect.c:4463,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4506,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4512,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4719,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4915,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4924,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:4947,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:4995,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5006,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:4997,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4879,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4932,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4795,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4618,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4448,1
    - Dst: inspect_dump_property
      Src: /src/gpac/src/filters/inspect.c:4484,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4548,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4680,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4686,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4744,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4844,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4900,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4939,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:4944,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4963,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/inspect.c:5029,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4615,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4446,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4450,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4529,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4537,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4540,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4674,1
    - Dst: inspect_reset_parsers
      Src: /src/gpac/src/filters/inspect.c:4696,1
    - Dst: gf_inspect_dump_obu_internal
      Src: /src/gpac/src/filters/inspect.c:4726,1
    - Dst: gf_odf_tx3g_read
      Src: /src/gpac/src/filters/inspect.c:4783,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/inspect.c:4796,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:4946,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:5009,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:5038,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5012,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4942,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/inspect.c:4440,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4616,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4766,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4811,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4841,1
    - Dst: dump_mha_config
      Src: /src/gpac/src/filters/inspect.c:4849,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:4905,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5029,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4790,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:4844,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4452,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:4838,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4851,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4876,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4951,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4960,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4974,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4775,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4983,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5004,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4843,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4899,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5007,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:5035,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4595,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4611,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4572,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:4468,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:4466,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/inspect.c:4448,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:4470,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4499,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4622,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4588,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:4845,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4976,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5008,1
    - Dst: DUMP_ARRAY
      Src: /src/gpac/src/filters/inspect.c:4564,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/inspect.c:4446,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4511,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4544,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4698,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4708,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4722,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4830,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:4910,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:4994,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5002,1
    - Dst: get_and_print
      Src: /src/gpac/src/filters/inspect.c:5011,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 479
    argCount: 9
    argNames:
    - ctx
    - dump
    - pid
    - pid_idx
    - is_connect
    - is_remove
    - pck_for_config
    - is_info
    - pctx
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_FilterPid*
    - u32
    - Bool
    - Bool
    - u64
    - Bool
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 5041
      start: 4398
    functionDepth: 0
    functionLinenumber: 4398
    functionLinenumberEnd: 5041
    functionName: inspect_dump_pid
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_enum_properties
    - GF_LOG
    - inspect_dump_pid_as_info
    - gf_av1_init_state
    - gf_odf_avc_cfg_read
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - strstr
    - gf_m4a_parse_config
    - inspect_printf
    - gf_bs_reassign_buffer
    - gf_bs_del
    - GF_4CC
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - strcmp
    - gf_filter_pid_enum_info
    - inspect_reset_parsers
    - gf_odf_vp_cfg_read
    - gf_bs_set_logger
    - gf_odf_avc_cfg_del
    - dump_mha_config
    - gf_filter_pid_get_name
    - gf_odf_opus_cfg_parse
    - gf_inspect_dump_obu_internal
    - gf_dynstrcat
    - gf_list_get
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_read_u32
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_m4v_parser_del
    - gf_bs_read_int
    - gf_codecid_name
    - inspect_dump_property
    - gf_sys_is_test_mode
    - DUMP_ARRAY
    - inspect_dump_mpeg124
    - gf_filter_pid_get_property
    - gf_odf_av1_cfg_read
    - gf_odf_tx3g_read
    - gf_odf_hevc_cfg_del
    - gf_bs_available
    - gf_odf_vvc_cfg_read
    - gf_fputc
    - get_and_print
    - gf_odf_vvc_cfg_del
    - gf_filter_pid_get_rfc_6381_codec_string
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_pid(GF_InspectCtx *ctx, FILE *dump, GF_FilterPid
      *pid, u32 pid_idx, Bool is_connect, Bool is_remove, u64 pck_for_config, Bool
      is_info, PidCtx *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5875
      start: 5872
    functionDepth: 0
    functionLinenumber: 5872
    functionLinenumberEnd: 5875
    functionName: inspect_register
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *inspect_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2624,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2628,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2625,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2626,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:2627,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2629,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2631,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2634,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:2635,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:2636,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:2637,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2641,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2639,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2645,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2640,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2646
    functionName: gf_inspect_dump_truehd_frame
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void gf_inspect_dump_truehd_frame(FILE *dump, GF_BitStream
      *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5890
      start: 5887
    functionDepth: 0
    functionLinenumber: 5887
    functionLinenumberEnd: 5890
    functionName: probe_register
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *probe_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5880
      start: 5877
    functionDepth: 0
    functionLinenumber: 5877
    functionLinenumberEnd: 5880
    functionName: probe_register
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *probe_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inspect_log_bs
      Src: /src/gpac/src/filters/inspect.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 7
    argNames:
    - udta
    - field_name
    - nb_bits
    - field_val
    - idx1
    - idx2
    - idx3
    argTypes:
    - void*
    - char*
    - u32
    - u64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: shifted_bs_log
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_log_bs
    linkageType: ''
    returnType: void
    signature: 'static void shifted_bs_log(void *udta, const char *field_name, u32
      nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:535,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:539,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:543,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:556,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:556,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:558,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:561,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:573,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:533,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:551,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:553,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:551,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:553,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:554,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:560,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:564,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:574,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:575,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:532,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:538,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:555,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:562,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:563,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:568,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:570,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:576,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:536,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:542,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:544,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:544,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:552,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:547,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:552,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:547,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:545,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - dump
    - bs
    - sei_size
    argTypes:
    - FILE*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 580
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 580
    functionName: dump_t35
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_4cc_to_str
    linkageType: ''
    returnType: void
    signature: 'static void dump_t35(FILE *dump, GF_BitStream *bs, u32 sei_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:638,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:641,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:643,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:641,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:645,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:649,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:654,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:655,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:656,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:658,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:659,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:669,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:662,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:673,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:677,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:671,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - dump
    - data
    - sei_size
    argTypes:
    - FILE*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 680
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 680
    functionName: dump_udta_m2v
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_4cc_to_str
    - inspect_printf
    - GF_4CC
    linkageType: ''
    returnType: u32
    signature: 'static u32 dump_udta_m2v(FILE *dump, u8 *data, u32 sei_size) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2916,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/inspect.c:2989,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3042,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3074,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2995,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3000,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3011,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3018,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3057,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3068,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3131,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3134,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3142,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:3150,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3144,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/inspect.c:3007,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2937,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:2952,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2993,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3014,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3053,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3069,1
    - Dst: strlen
      Src: /src/gpac/src/filters/inspect.c:3121,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3135,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/inspect.c:3012,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:2957,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2967,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3016,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3027,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3031,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3040,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3101,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3108,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/inspect.c:2906,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2956,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2970,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2982,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2987,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/inspect.c:3004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3011,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3015,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/inspect.c:3149,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/inspect.c:3155,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/inspect.c:3094,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3077,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2928,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2936,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2983,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2991,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/inspect.c:3011,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/inspect.c:3049,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3077,1
    - Dst: gf_format_timecode
      Src: /src/gpac/src/filters/inspect.c:3142,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/inspect.c:3158,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3100,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3014,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2946,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2958,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2998,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3016,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3051,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/inspect.c:3135,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/inspect.c:3153,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3053,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2974,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2992,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3013,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:2979,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3004,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3006,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2936,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2951,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/inspect.c:3037,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3053,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3068,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3137,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:3097,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/inspect.c:2903,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2978,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3003,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3005,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:2980,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3017,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3023,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3036,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3054,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:3058,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:3121,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2937,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2986,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3076,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/src/filters/inspect.c:3081,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3110,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3160,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/inspect.c:3126,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3013,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2945,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/inspect.c:3016,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3017,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3055,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3106,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:3116,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/inspect.c:3138,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/inspect.c:3120,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/inspect.c:3013,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2990,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2922,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2938,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2945,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3019,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/inspect.c:3021,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3034,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3046,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3129,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/inspect.c:3129,1
    - Dst: strchr
      Src: /src/gpac/src/filters/inspect.c:2926,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2949,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2953,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/inspect.c:3005,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3008,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3012,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2986,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/inspect.c:3003,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2995,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3018,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:2947,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2938,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2954,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2969,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3009,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:2986,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3015,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3017,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/inspect.c:3060,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3071,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2936,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2963,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:2968,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/inspect.c:2996,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/inspect.c:3032,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3048,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3053,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3077,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/inspect.c:3095,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:3124,1
    - Dst: strlen
      Src: /src/gpac/src/filters/inspect.c:3150,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/inspect.c:3083,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3113,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3005,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3003,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3012,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2939,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2948,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2959,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/inspect.c:3043,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/inspect.c:3075,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/inspect.c:3084,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:3096,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3158,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 385
    argCount: 6
    argNames:
    - filter
    - ctx
    - dump
    - pck
    - pctx
    - pck_num
    argTypes:
    - GF_Filter*
    - GF_InspectCtx*
    - FILE*
    - GF_FilterPacket*
    - PidCtx*
    - u64
    constantsTouched: []
    func_position:
      end: 3167
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 3167
    functionName: inspect_dump_packet_fmt
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - gf_utf8_is_legal
    - strncmp
    - gf_filter_pck_get_duration
    - gf_props_dump
    - gf_filter_pck_get_property_str
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - gf_timestamp_rescale
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_interlaced
    - gf_filter_pid_get_clock_info
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_get_corrupted
    - inspect_printf
    - gf_filter_pck_get_carousel_version
    - gf_filter_pid_get_timescale
    - gf_filter_get_name
    - gf_crc_32
    - GF_4CC
    - gf_props_get_id
    - strcmp
    - gf_filter_pck_get_clock_type
    - gf_filter_pid_get_property_str
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_format_timecode
    - strchr
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_filter_pck_get_roll_info
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_packet_fmt(GF_Filter *filter, GF_InspectCtx
      *ctx, FILE *dump, GF_FilterPacket *pck, PidCtx *pctx, u64 pck_num) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 3181
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3181
    functionName: get_frame_type_name
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_frame_type_name(u32 ftype) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:3285,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3288,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:3292,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:3291,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3301,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:3304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:3305,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:3306,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:3307,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:3308,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/inspect.c:3368,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:3370,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3366,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 10
    argNames:
    - data
    - size
    - tmcd_flags
    - tc_num
    - tc_den
    - tmcd_fpt
    - szFmt
    - bs
    - force_ff
    - dump
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - char
    - GF_BitStream*
    - Bool
    - FILE*
    constantsTouched: []
    func_position:
      end: 3371
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3371
    functionName: inspect_format_tmcd_internal
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_seek
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void inspect_format_tmcd_internal(const u8 *data, u32 size,
      u32 tmcd_flags, u32 tc_num, u32 tc_den, u32 tmcd_fpt, char szFmt[100], GF_BitStream
      *bs, Bool force_ff, FILE *dump) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:5595,1
    - Dst: strstr
      Src: /src/gpac/src/filters/inspect.c:5603,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/inspect.c:5609,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/inspect.c:5612,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/inspect.c:5638,1
    - Dst: gf_log_parse_tool
      Src: /src/gpac/src/filters/inspect.c:5562,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:5555,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:5621,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5627,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/inspect.c:5618,1
    - Dst: inspect_update_arg
      Src: /src/gpac/src/filters/inspect.c:5639,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:5558,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5633,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5634,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/inspect.c:5615,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:5622,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/inspect.c:5625,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/inspect.c:5554,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:5570,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5577,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:5623,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 81
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5644
      start: 5552
    functionDepth: 0
    functionLinenumber: 5552
    functionLinenumberEnd: 5644
    functionName: inspect_initialize
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - inspect_printf
    - gf_sys_is_cov_mode
    - gf_filter_get_name
    - GF_LOG
    - strcmp
    - gf_log_parse_tool
    - gf_filter_is_temporary
    - gf_sys_is_test_mode
    - gf_filter_override_caps
    - inspect_update_arg
    - gf_fopen
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err inspect_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - nal_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: get_hevc_nal_name
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_hevc_nal_name(u32 nal_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - nal_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: get_avc_nal_name
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_avc_nal_name(u32 nal_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:464,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:466,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:472,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:470,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:468,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:476,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:478,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 8
    argNames:
    - is_nalu
    - udta
    - field_name
    - nb_bits
    - field_val
    - idx1
    - idx2
    - idx3
    argTypes:
    - Bool
    - void*
    - char*
    - u32
    - u64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 482
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 482
    functionName: inspect_log_bs
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    linkageType: ''
    returnType: void
    signature: 'static void inspect_log_bs(Bool is_nalu, void *udta, const char *field_name,
      u32 nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inspect_log_bs
      Src: /src/gpac/src/filters/inspect.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 7
    argNames:
    - udta
    - field_name
    - nb_bits
    - field_val
    - idx1
    - idx2
    - idx3
    argTypes:
    - void*
    - char*
    - u32
    - u64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: regular_bs_log
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_log_bs
    linkageType: ''
    returnType: void
    signature: 'static void regular_bs_log(void *udta, const char *field_name, u32
      nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:593,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:595,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:598,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/inspect.c:602,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:596,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:604,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:605,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:606,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:607,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:610,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/inspect.c:617,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:622,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:623,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:613,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:619,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:624,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - dump
    - bs
    - sei_size
    argTypes:
    - FILE*
    - GF_BitStream*
    - u32
    constantsTouched: []
    func_position:
      end: 629
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 629
    functionName: dump_unregistered_sei
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_malloc
    - gf_bs_read_u8
    - memcmp
    - GF_LOG
    - gf_bs_available
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void dump_unregistered_sei(FILE *dump, GF_BitStream *bs, u32
      sei_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:696,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:697,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:700,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:718,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:719,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:694,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:695,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:704,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:717,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:702,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:724,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:693,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:692,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:707,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:712,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:710,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:709,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:706,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:690,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:691,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:698,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:701,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - dump
    - bs
    - i
    argTypes:
    - FILE*
    - GF_BitStream*
    - int
    constantsTouched: []
    func_position:
      end: 725
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 725
    functionName: dump_time_code
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void dump_time_code(FILE *dump, GF_BitStream *bs, int i) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2659,1
    - Dst: dump_clli
      Src: /src/gpac/src/filters/inspect.c:2692,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:2693,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:2697,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2753,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2803,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2806,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2814,1
    - Dst: strpbrk
      Src: /src/gpac/src/filters/inspect.c:2816,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2826,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2878,1
    - Dst: format_duration
      Src: /src/gpac/src/filters/inspect.c:2891,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2835,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/inspect.c:2855,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2827,1
    - Dst: dump_temi_loc
      Src: /src/gpac/src/filters/inspect.c:2861,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2885,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:2691,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/inspect.c:2712,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:2700,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2718,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2712,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2744,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2755,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2763,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2828,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2828,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2841,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2844,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2893,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/inspect.c:2888,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2884,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2875,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2868,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2757,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/inspect.c:2814,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2888,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2855,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2657,1
    - Dst: dump_mdcv
      Src: /src/gpac/src/filters/inspect.c:2699,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2735,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2742,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/filters/inspect.c:2839,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:2843,1
    - Dst: dump_scte35_info_m2ts_section
      Src: /src/gpac/src/filters/inspect.c:2845,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2851,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/inspect.c:2851,1
    - Dst: dump_scte35_info_m2ts_section
      Src: /src/gpac/src/filters/inspect.c:2858,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2876,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2868,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2876,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2874,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2857,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2855,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/inspect.c:2818,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/inspect.c:2841,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2746,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2860,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/inspect.c:2654,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:2659,1
    - Dst: strstr
      Src: /src/gpac/src/filters/inspect.c:2666,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2683,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2713,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2716,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/inspect.c:2716,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2728,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/inspect.c:2734,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2737,1
    - Dst: dump_temi_time
      Src: /src/gpac/src/filters/inspect.c:2864,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:2890,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2851,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2830,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:2863,1
    - Dst: gf_xml_dump_string
      Src: /src/gpac/src/filters/inspect.c:2836,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 220
    argCount: 6
    argNames:
    - ctx
    - dump
    - p4cc
    - pname
    - att
    - pctx
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - u32
    - char*
    - GF_PropertyValue*
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 2895
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2895
    functionName: inspect_dump_property
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_props_dump
    - gf_4cc_to_str
    - strstr
    - inspect_printf
    - gf_bs_del
    - gf_strdup
    - strcmp
    - dump_temi_time
    - gf_xml_dump_string
    - gf_bs_new
    - dump_temi_loc
    - strpbrk
    - gf_props_get_type_name
    - memcpy
    - gf_sys_is_test_mode
    - dump_mdcv
    - gf_free
    - dump_scte35_info_m2ts_section
    - dump_clli
    - format_duration
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_property(GF_InspectCtx *ctx, FILE *dump,
      u32 p4cc, const char *pname, const GF_PropertyValue *att, PidCtx *pctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/filters/inspect.c:3189,1
    - Dst: gf_m4v_parser_get_obj_type
      Src: /src/gpac/src/filters/inspect.c:3199,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3210,1
    - Dst: get_frame_type_name
      Src: /src/gpac/src/filters/inspect.c:3219,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3250,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3253,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3263,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/inspect.c:3195,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3214,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3238,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3247,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3201,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3226,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3240,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3222,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3219,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/inspect.c:3256,1
    - Dst: dump_udta_m2v
      Src: /src/gpac/src/filters/inspect.c:3258,1
    - Dst: gf_m4v_parser_set_inspect
      Src: /src/gpac/src/filters/inspect.c:3191,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3205,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3208,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3212,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3230,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3243,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3233,1
    - Dst: get_frame_type_name
      Src: /src/gpac/src/filters/inspect.c:3250,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/inspect.c:3266,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 4
    argNames:
    - pctx
    - data
    - size
    - dump
    argTypes:
    - PidCtx*
    - char*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 3267
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3267
    functionName: inspect_dump_mpeg124
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_m4v_parser_new
    - get_frame_type_name
    - gf_m4v_parser_del
    - dump_udta_m2v
    - gf_m4v_parser_get_obj_type
    - gf_m4v_parse_frame
    - gf_m4v_get_object_start
    - gf_m4v_parser_set_inspect
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_mpeg124(PidCtx *pctx, char *data, u32 size,
      FILE *dump) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inspect_format_tmcd_internal
      Src: /src/gpac/src/filters/inspect.c:3377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 7
    argNames:
    - data
    - size
    - tmcd_flags
    - tc_num
    - tc_den
    - tmcd_fpt
    - szFmt
    argTypes:
    - u8*
    - u32
    - u32
    - u32
    - u32
    - u32
    - char
    constantsTouched: []
    func_position:
      end: 3378
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3378
    functionName: gf_inspect_format_timecode
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_format_tmcd_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_inspect_format_timecode(const u8 *data, u32 size,
      u32 tmcd_flags, u32 tc_num, u32 tc_den, u32 tmcd_fpt, char szFmt[100]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:5649,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/inspect.c:5652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 5655
      start: 5646
    functionDepth: 0
    functionLinenumber: 5646
    functionLinenumberEnd: 5655
    functionName: inspect_process_event
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool inspect_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 113
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4016,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4050,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4118,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4146,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4096,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4137,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4203,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4205,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4210,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4290,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4046,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4156,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/inspect.c:4168,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4181,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4213,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4235,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4239,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4240,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4241,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/inspect.c:4255,1
    - Dst: gf_m4a_object_type_name
      Src: /src/gpac/src/filters/inspect.c:4314,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4343,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4318,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4346,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4288,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4367,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4275,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4378,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4110,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4127,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4245,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4270,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/filters/inspect.c:4273,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4294,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4330,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4379,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4094,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4073,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4157,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4123,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4015,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/inspect.c:4049,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4063,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4124,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/inspect.c:4113,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/filters/inspect.c:4244,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/filters/inspect.c:4352,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4022,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4026,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4030,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4043,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4085,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4121,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4237,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4256,1
    - Dst: gf_vvc_get_profile_name
      Src: /src/gpac/src/filters/inspect.c:4273,1
    - Dst: gf_m4a_object_type_name
      Src: /src/gpac/src/filters/inspect.c:4319,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:4230,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4331,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4319,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4354,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/inspect.c:4101,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4106,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/inspect.c:4151,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:4019,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4196,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4208,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4322,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4325,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4329,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:4371,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4358,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4369,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4048,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4059,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4112,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4222,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4227,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4283,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/inspect.c:4328,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/filters/inspect.c:4330,1
    - Dst: gf_odf_dovi_cfg_read_bs
      Src: /src/gpac/src/filters/inspect.c:4372,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4377,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4244,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4351,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4108,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:4219,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4248,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4249,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4254,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4284,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/inspect.c:4346,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4348,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4380,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4395,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4020,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4060,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4119,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4138,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4078,1
    - Dst: gf_audio_fmt_get_layout_name
      Src: /src/gpac/src/filters/inspect.c:4121,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4166,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:4189,1
    - Dst: strstr
      Src: /src/gpac/src/filters/inspect.c:4315,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/inspect.c:4301,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4339,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4039,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4054,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4066,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4135,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4142,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4134,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4183,1
    - Dst: gf_hevc_get_profile_name
      Src: /src/gpac/src/filters/inspect.c:4203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4216,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4268,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:4143,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/inspect.c:4047,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4144,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4185,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4187,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4201,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4266,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4273,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4277,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:4373,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4352,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4389,1
    - Dst: gf_m4v_get_profile_name
      Src: /src/gpac/src/filters/inspect.c:4329,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4362,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4320,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4149,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4095,1
    - Dst: gf_filter_pid_get_rfc_6381_codec_string
      Src: /src/gpac/src/filters/inspect.c:4013,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4017,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4036,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4069,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4132,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:4165,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/inspect.c:4194,1
    - Dst: gf_odf_ac3_config_parse
      Src: /src/gpac/src/filters/inspect.c:4387,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4337,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4375,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4055,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4103,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4102,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4092,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4197,1
    - Dst: gf_avc_hevc_get_chroma_format_name
      Src: /src/gpac/src/filters/inspect.c:4203,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:4252,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4289,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4292,1
    - Dst: gf_stream_type_short_name
      Src: /src/gpac/src/filters/inspect.c:4039,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/inspect.c:4051,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4074,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4153,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4159,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4164,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4169,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4184,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4186,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4355,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4381,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4364,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4393,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4057,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4068,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4076,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4214,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:4217,1
    - Dst: gf_avc_get_profile_name
      Src: /src/gpac/src/filters/inspect.c:4244,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:4253,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/inspect.c:4258,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4286,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4291,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4341,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4349,1
    - Dst: format_duration
      Src: /src/gpac/src/filters/inspect.c:4070,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4143,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/filters/inspect.c:4128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4097,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4081,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4113,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4032,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/inspect.c:4064,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4064,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:4079,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/inspect.c:4259,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:4360,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 436
    argCount: 9
    argNames:
    - ctx
    - dump
    - pid
    - pid_idx
    - is_connect
    - is_remove
    - pck_for_config
    - is_info
    - pctx
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_FilterPid*
    - u32
    - Bool
    - Bool
    - u64
    - Bool
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 4396
      start: 4001
    functionDepth: 0
    functionLinenumber: 4001
    functionLinenumberEnd: 4396
    functionName: inspect_dump_pid_as_info
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - gf_avc_get_profile_name
    - gf_filter_release_property
    - gf_vvc_get_profile_name
    - gf_odf_avc_cfg_read
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_odf_ac3_config_parse
    - strstr
    - gf_m4a_get_config
    - inspect_printf
    - gf_bs_del
    - gf_m4v_get_profile_name
    - GF_4CC
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_avc_hevc_get_chroma_format_name
    - strcmp
    - gf_odf_avc_cfg_del
    - gf_audio_fmt_name
    - gf_hevc_parse_nalu
    - stricmp
    - gf_m4a_object_type_name
    - gf_audio_fmt_get_layout_name
    - gf_filter_pid_get_info
    - gf_list_get
    - gf_hevc_get_profile_name
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - gf_avc_read_sps
    - gf_codecid_name
    - gf_sys_is_test_mode
    - gf_free
    - gf_odf_dovi_cfg_del
    - gf_pixel_fmt_name
    - gf_filter_pid_get_property
    - gf_media_get_reduced_frame_rate
    - gf_odf_av1_cfg_read
    - gf_odf_hevc_cfg_del
    - gf_odf_dovi_cfg_read_bs
    - format_duration
    - strrchr
    - gf_odf_vvc_cfg_read
    - gf_stream_type_short_name
    - gf_odf_vvc_cfg_del
    - gf_filter_pid_get_rfc_6381_codec_string
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_pid_as_info(GF_InspectCtx *ctx, FILE *dump,
      GF_FilterPid *pid, u32 pid_idx, Bool is_connect, Bool is_remove, u64 pck_for_config,
      Bool is_info, PidCtx *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:495,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:496,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: dump_clli
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void dump_clli(FILE *dump, GF_BitStream *bs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/inspect.c:756,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:778,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:779,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:782,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:789,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:794,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:807,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:762,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:770,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:774,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:780,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:793,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:783,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:788,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:784,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:796,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:781,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:790,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:795,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:761,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:768,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:776,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:792,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:797,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:802,1
    - Dst: gf_bs_inspect_int
      Src: /src/gpac/src/filters/inspect.c:803,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - dump
    - bs
    - avc
    argTypes:
    - FILE*
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 811
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 811
    functionName: dump_avc_pic_timing
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - GF_LOG
    - gf_bs_read_int
    - gf_bs_inspect_int
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void dump_avc_pic_timing(FILE *dump, GF_BitStream *bs, AVCState
      *avc) '
  - BBCount: 133
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:934,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:959,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:977,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1042,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1078,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:1147,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1326,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:1339,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1353,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1424,1
    - Dst: dump_sei
      Src: /src/gpac/src/filters/inspect.c:1551,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1452,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1550,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:1385,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1503,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1486,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1510,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:963,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:884,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/inspect.c:897,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:913,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:923,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:964,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1072,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1101,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1116,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1166,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1193,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1301,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:1334,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1136,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1288,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:1355,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:1394,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1417,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1440,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1475,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1437,1
    - Dst: gf_avc_read_sps_bs
      Src: /src/gpac/src/filters/inspect.c:1484,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:1480,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1504,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1275,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1329,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:908,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/inspect.c:917,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:922,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:985,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:995,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1005,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1015,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1025,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/inspect.c:1035,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1037,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1090,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1217,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1256,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1258,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1290,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1442,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1189,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:972,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:982,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:990,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1000,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1010,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1020,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1030,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1049,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1081,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1163,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1429,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1435,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1069,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1126,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:1387,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:915,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:948,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:955,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:965,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1055,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1073,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1082,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1165,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1195,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1239,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1242,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:1411,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1546,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1171,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1469,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1449,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:1494,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1425,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:1559,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:910,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:992,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1002,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1012,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1022,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1046,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1051,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1092,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1068,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1157,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1303,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1322,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1341,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1423,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:991,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1001,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1011,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:983,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/inspect.c:946,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:973,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1021,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1050,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1060,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1152,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1471,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1059,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1428,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1474,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1168,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1151,1
    - Dst: dump_sei
      Src: /src/gpac/src/filters/inspect.c:1191,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1472,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:986,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:996,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1006,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:960,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:968,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:978,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1016,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1026,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1045,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1062,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1071,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:1186,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1426,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1317,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1538,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1490,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1378,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1465,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:1534,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1541,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1298,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1336,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1473,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1497,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:1175,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1433,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1443,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1401,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1463,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1432,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:993,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1003,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1013,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1023,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1052,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1093,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:1109,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:1214,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/inspect.c:1220,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1245,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1150,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1310,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1320,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:1361,1
    - Dst: inspect_get_nal_size
      Src: /src/gpac/src/filters/inspect.c:1527,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:988,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:998,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1008,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:901,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/filters/inspect.c:940,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:941,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:970,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1018,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1028,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1047,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1445,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1522,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1089,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1468,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1529,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:969,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:927,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:929,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:942,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:953,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:961,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1007,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:997,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:987,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1017,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1561,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1427,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1044,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1279,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1380,1
    - Dst: gf_avc_read_sps_bs
      Src: /src/gpac/src/filters/inspect.c:1415,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1438,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1439,1
    - Dst: gf_vvc_parse_nalu
      Src: /src/gpac/src/filters/inspect.c:1235,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1447,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1262,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1467,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:893,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:956,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:966,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:974,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1075,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1083,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:1154,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1184,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1088,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1219,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1358,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1397,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1362,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1470,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1265,1
    - Dst: inspect_get_nal_size
      Src: /src/gpac/src/filters/inspect.c:1528,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1446,1
    - Dst: gf_fputs
      Src: /src/gpac/src/filters/inspect.c:932,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:971,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:980,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:981,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:989,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:999,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1009,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1019,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1029,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1048,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1204,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1441,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1552,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1450,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1464,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1236,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1282,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1422,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:897,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:958,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:976,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1077,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1121,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1156,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1229,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:1161,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1247,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1277,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1346,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1285,1
    - Dst: gf_avc_read_pps_bs
      Src: /src/gpac/src/filters/inspect.c:1457,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1459,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1466,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1430,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1087,1
    - Dst: get_avc_nal_name
      Src: /src/gpac/src/filters/inspect.c:1382,1
    - Dst: get_vvc_nal_name
      Src: /src/gpac/src/filters/inspect.c:1243,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1212,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1371,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:957,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:975,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1063,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1076,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1085,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1098,1
    - Dst: inspect_get_nal_size
      Src: /src/gpac/src/filters/inspect.c:1134,1
    - Dst: inspect_get_nal_size
      Src: /src/gpac/src/filters/inspect.c:1135,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1155,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1177,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1181,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1324,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:1392,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1343,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1350,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1421,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1364,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1431,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1444,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1480,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1549,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1516,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1451,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1158,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:994,1
    - Dst: get_hevc_nal_name
      Src: /src/gpac/src/filters/inspect.c:930,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1004,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1014,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1024,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1053,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1058,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1065,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1070,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1129,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1080,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1344,1
    - Dst: dump_sei
      Src: /src/gpac/src/filters/inspect.c:1360,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1434,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1554,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1027,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:1192,1
    CyclomaticComplexity: 176
    EdgeCount: 176
    ICount: 604
    argCount: 12
    argNames:
    - dump
    - ptr
    - ptr_size
    - is_svc
    - hevc
    - avc
    - vvc
    - nalh_size
    - dump_crc
    - is_encrypted
    - full_bs_dump
    - pctx
    argTypes:
    - FILE*
    - u8*
    - u32
    - Bool
    - HEVCState*
    - AVCState*
    - VVCState*
    - u32
    - Bool
    - Bool
    - GF_InspectSampleAnalyzeMode
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 1563
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 1563
    functionName: gf_inspect_dump_nalu_internal
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - dump_sei
    - gf_avc_read_pps_bs
    - gf_vvc_parse_nalu
    - gf_hevc_read_sps
    - inspect_printf
    - gf_bs_reassign_buffer
    - inspect_get_nal_size
    - gf_bs_del
    - gf_crc_32
    - gf_bs_set_logger
    - gf_hevc_read_pps
    - gf_hevc_parse_nalu
    - gf_vvc_parse_nalu_bs
    - gf_hevc_parse_nalu_bs
    - get_avc_nal_name
    - gf_bs_read_u8
    - get_hevc_nal_name
    - gf_bs_new
    - gf_hevc_read_vps
    - get_vvc_nal_name
    - gf_fputs
    - gf_sys_is_test_mode
    - gf_avc_read_sps_bs
    - gf_avc_parse_nalu
    linkageType: ''
    returnType: void
    signature: 'static void gf_inspect_dump_nalu_internal(FILE *dump, u8 *ptr, u32
      ptr_size, Bool is_svc, HEVCState *hevc, AVCState *avc, VVCState *vvc, u32 nalh_size,
      Bool dump_crc, Bool is_encrypted, GF_InspectSampleAnalyzeMode full_bs_dump,
      PidCtx *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inspect_format_tmcd_internal
      Src: /src/gpac/src/filters/inspect.c:3383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - pctx
    - data
    - size
    - dump
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - u8*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 3384
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3384
    functionName: inspect_dump_tmcd
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_format_tmcd_internal
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_tmcd(GF_InspectCtx *ctx, PidCtx *pctx, const
      u8 *data, u32 size, FILE *dump) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/inspect.c:3502,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3513,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3518,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3519,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:3524,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/inspect.c:3533,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3522,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3540,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/inspect.c:3541,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/inspect.c:3535,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3534,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3542,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3546,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/inspect.c:3505,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3517,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3536,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/inspect.c:3537,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3544,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3508,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:3511,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/inspect.c:3503,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:3521,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3531,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/inspect.c:3527,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3529,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3525,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3538,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/inspect.c:3539,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 6
    argNames:
    - ctx
    - dump
    - pck
    - pid_idx
    - pck_num
    - pctx
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_FilterPacket*
    - u32
    - u64
    - PidCtx*
    constantsTouched: []
    func_position:
      end: 3547
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3547
    functionName: inspect_dump_packet_as_info
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - inspect_printf
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_get_frame_interface
    - gf_filter_pck_get_duration
    - gf_filter_pck_get_seek_flag
    - gf_filter_pck_get_clock_type
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_get_data
    - gf_filter_pck_get_corrupted
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_packet_as_info(GF_InspectCtx *ctx, FILE *dump,
      GF_FilterPacket *pck, u32 pid_idx, u64 pck_num, PidCtx *pctx) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:5187,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/inspect.c:5228,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/inspect.c:5302,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/inspect.c:5315,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/inspect.c:5310,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/inspect.c:5324,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/inspect.c:5202,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/inspect.c:5199,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5222,1
    - Dst: gf_filter_pid_eos_received
      Src: /src/gpac/src/filters/inspect.c:5238,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5257,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5306,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/inspect.c:5307,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/inspect.c:5304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5321,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/inspect.c:5323,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5194,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:5189,1
    - Dst: gf_filter_pid_set_clock_mode
      Src: /src/gpac/src/filters/inspect.c:5205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5255,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/inspect.c:5254,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5248,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5255,1
    - Dst: inspect_dump_pid
      Src: /src/gpac/src/filters/inspect.c:5264,1
    - Dst: inspect_stats_packet
      Src: /src/gpac/src/filters/inspect.c:5282,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/inspect.c:5296,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/inspect.c:5306,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:5299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5215,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/inspect.c:5217,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5247,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/inspect.c:5239,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:5242,1
    - Dst: inspect_dump_packet_fmt
      Src: /src/gpac/src/filters/inspect.c:5273,1
    - Dst: inspect_dump_packet_fmt
      Src: /src/gpac/src/filters/inspect.c:5288,1
    - Dst: inspect_dump_packet
      Src: /src/gpac/src/filters/inspect.c:5290,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:5297,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/inspect.c:5309,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/inspect.c:5318,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:5298,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 175
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5331
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5331
    functionName: inspect_process
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - inspect_stats_packet
    - inspect_dump_pid
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_clock_mode
    - gf_filter_pck_get_timescale
    - inspect_dump_packet
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_get_packet
    - inspect_dump_packet_fmt
    - gf_filter_pid_eos_received
    - gf_filter_connections_pending
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_sys_clock
    - gf_codecid_name
    - gf_filter_pid_send_event
    - gf_timestamp_greater_or_equal
    - gf_filter_pid_query_buffer_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err inspect_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5885
      start: 5882
    functionDepth: 0
    functionLinenumber: 5882
    functionLinenumberEnd: 5885
    functionName: inspect_register
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *inspect_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/inspect.c:165,1
    - Dst: gf_log_lt
      Src: /src/gpac/src/filters/inspect.c:166,1
    - Dst: va_end
      Src: /src/gpac/src/filters/inspect.c:169,1
    - Dst: va_start
      Src: /src/gpac/src/filters/inspect.c:167,1
    - Dst: gf_log_va_list
      Src: /src/gpac/src/filters/inspect.c:168,1
    - Dst: va_start
      Src: /src/gpac/src/filters/inspect.c:173,1
    - Dst: gf_vfprintf
      Src: /src/gpac/src/filters/inspect.c:174,1
    - Dst: va_end
      Src: /src/gpac/src/filters/inspect.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - dump
    - fmt
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: inspect_printf
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_log_lt
    - va_end
    - gf_vfprintf
    - va_start
    - gf_log_tool_level_on
    - gf_log_va_list
    linkageType: ''
    returnType: void
    signature: 'static void inspect_printf(FILE *dump, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - nal_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: get_vvc_nal_name
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_vvc_nal_name(u32 nal_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sei_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: get_sei_name
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_sei_name(u32 sei_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:513,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:514,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:515,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:511,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:516,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - dump
    - bs
    - isMPEG
    argTypes:
    - FILE*
    - GF_BitStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 528
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 528
    functionName: dump_mdcv
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void dump_mdcv(FILE *dump, GF_BitStream *bs, Bool isMPEG) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:831,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:834,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:851,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/inspect.c:824,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:818,1
    - Dst: dump_unregistered_sei
      Src: /src/gpac/src/filters/inspect.c:848,1
    - Dst: get_sei_name
      Src: /src/gpac/src/filters/inspect.c:836,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/inspect.c:850,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:836,1
    - Dst: dump_avc_pic_timing
      Src: /src/gpac/src/filters/inspect.c:842,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/inspect.c:862,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/inspect.c:815,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:826,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/inspect.c:829,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:833,1
    - Dst: dump_mdcv
      Src: /src/gpac/src/filters/inspect.c:840,1
    - Dst: dump_t35
      Src: /src/gpac/src/filters/inspect.c:846,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:853,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:857,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:858,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:820,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:828,1
    - Dst: dump_time_code_hevc
      Src: /src/gpac/src/filters/inspect.c:844,1
    - Dst: dump_clli
      Src: /src/gpac/src/filters/inspect.c:838,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:856,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 5
    argNames:
    - dump
    - bs
    - avc
    - hevc
    - vvc
    argTypes:
    - FILE*
    - GF_BitStream*
    - AVCState*
    - HEVCState*
    - VVCState*
    constantsTouched: []
    func_position:
      end: 866
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 866
    functionName: dump_sei
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - dump_clli
    - inspect_printf
    - gf_bs_read_u8
    - gf_bs_get_position
    - get_sei_name
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_read_ue
    - dump_avc_pic_timing
    - gf_bs_peek_bits
    - dump_mdcv
    - dump_t35
    - dump_unregistered_sei
    - dump_time_code_hevc
    linkageType: ''
    returnType: void
    signature: 'static void dump_sei(FILE *dump, GF_BitStream *bs, AVCState *avc,
      HEVCState *hevc, VVCState *vvc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:3389,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/filters/inspect.c:3393,1
    - Dst: gf_isom_box_dump
      Src: /src/gpac/src/filters/inspect.c:3398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:3395,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:3391,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/inspect.c:3400,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/inspect.c:3403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - pctx
    - data
    - size
    - dump
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - u8*
    - u32
    - FILE*
    constantsTouched: []
    func_position:
      end: 3405
      start: 3386
    functionDepth: 0
    functionLinenumber: 3386
    functionLinenumberEnd: 3405
    functionName: inspect_dump_boxes
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_isom_box_parse
    - gf_isom_box_del
    - GF_LOG
    - gf_bs_new
    - gf_bs_available
    - gf_isom_box_dump
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_boxes(GF_InspectCtx *ctx, PidCtx *pctx, const
      u8 *data, u32 size, FILE *dump) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3451,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3428,1
    - Dst: gf_vp9_parse_superframe
      Src: /src/gpac/src/filters/inspect.c:3424,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:3438,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3445,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:3449,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3455,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3441,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:3461,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:3414,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:3420,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3426,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:3429,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3433,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/inspect.c:3435,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3460,1
    - Dst: gf_vp9_parse_sample
      Src: /src/gpac/src/filters/inspect.c:3444,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3443,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/inspect.c:3451,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3448,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 7
    argNames:
    - ctx
    - dump
    - ptr
    - frame_size
    - dump_crc
    - pctx
    - vpversion
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - u8*
    - u64
    - Bool
    - PidCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 3462
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3462
    functionName: inspect_dump_vpx
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_vp9_parse_superframe
    - inspect_printf
    - gf_bs_reassign_buffer
    - gf_bs_get_position
    - gf_error_to_string
    - gf_bs_seek
    - gf_bs_set_logger
    - gf_vp9_parse_sample
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_vpx(GF_InspectCtx *ctx, FILE *dump, u8 *ptr,
      u64 frame_size, Bool dump_crc, PidCtx *pctx, u32 vpversion) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:5356,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/inspect.c:5360,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/inspect.c:5375,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/inspect.c:5406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5415,1
    - Dst: gf_filter_pid_set_clock_mode
      Src: /src/gpac/src/filters/inspect.c:5506,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5480,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:5463,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:5339,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5342,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/inspect.c:5344,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/inspect.c:5346,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/inspect.c:5353,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5363,1
    - Dst: gf_filter_pid_has_decoder
      Src: /src/gpac/src/filters/inspect.c:5385,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5367,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5417,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5441,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5445,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/inspect.c:5480,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5365,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:5369,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/inspect.c:5394,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/inspect.c:5406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:5424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5464,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/inspect.c:5468,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/inspect.c:5472,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/inspect.c:5489,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/inspect.c:5497,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/inspect.c:5498,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5508,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/inspect.c:5341,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/inspect.c:5387,1
    - Dst: strstr
      Src: /src/gpac/src/filters/inspect.c:5393,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5404,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/inspect.c:5386,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5413,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5426,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/inspect.c:5462,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/inspect.c:5475,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/inspect.c:5478,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/inspect.c:5512,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5447,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/inspect.c:5486,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/inspect.c:5443,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 183
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 5514
      start: 5333
    functionDepth: 0
    functionLinenumber: 5333
    functionLinenumberEnd: 5514
    functionName: inspect_configure_pid
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_set_clock_mode
    - GF_SAFEALLOC
    - strstr
    - gf_filter_get_udta
    - inspect_printf
    - gf_list_find
    - gf_list_count
    - gf_list_new
    - gf_assert
    - gf_filter_pid_negotiate_property
    - gf_filter_pid_get_name
    - gf_list_insert
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_bs_new
    - gf_file_temp
    - gf_filter_pid_init_play_event
    - gf_sys_clock
    - gf_filter_post_process_task
    - gf_sys_is_test_mode
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_filter_pid_has_decoder
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err inspect_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/inspect.c:5547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 5550
      start: 5545
    functionDepth: 0
    functionLinenumber: 5545
    functionLinenumberEnd: 5550
    functionName: inspect_update_arg
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err inspect_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - nalh_size
    argTypes:
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: inspect_get_nal_size
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 inspect_get_nal_size(char *ptr, u32 nalh_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/filters/inspect.c:1567,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/filters/inspect.c:1569,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/inspect.c:1570,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:1571,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:1572,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/inspect.c:1573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1578
    functionName: inspect_get_analyze_mode
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_sys_get_arg
    - strcmp
    - gf_sys_get_argc
    - strncmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 inspect_get_analyze_mode() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1604,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1606,1
    - Dst: gf_av1_get_obu_name
      Src: /src/gpac/src/filters/inspect.c:1625,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1628,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1643,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1663,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1666,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1668,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1644,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1677,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/filters/inspect.c:1608,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1618,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1625,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1638,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1641,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1645,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1651,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1665,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1639,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1642,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1646,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1652,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1649,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1667,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1672,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1674,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1678,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1640,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1650,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/inspect.c:1611,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1632,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/inspect.c:1632,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1647,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:1669,1
    - Dst: DUMP_OBU_INT2
      Src: /src/gpac/src/filters/inspect.c:1675,1
    - Dst: DUMP_OBU_INT
      Src: /src/gpac/src/filters/inspect.c:1648,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 10
    argNames:
    - dump
    - av1
    - obu_ptr
    - obu_ptr_length
    - obu_type
    - obu_size
    - hdr_size
    - dump_crc
    - pctx
    - full_dump
    argTypes:
    - FILE*
    - AV1State*
    - u8*
    - u64
    - ObuType
    - u64
    - u32
    - Bool
    - PidCtx*
    - GF_InspectSampleAnalyzeMode
    constantsTouched: []
    func_position:
      end: 1680
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1680
    functionName: gf_inspect_dump_obu_internal
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_av1_parse_obu
    - gf_crc_32
    - gf_av1_get_obu_name
    - gf_bs_set_logger
    - DUMP_OBU_INT
    - DUMP_OBU_INT2
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_inspect_dump_obu_internal(FILE *dump, AV1State *av1,
      u8 *obu_ptr, u64 obu_ptr_length, ObuType obu_type, u64 obu_size, u32 hdr_size,
      Bool dump_crc, PidCtx *pctx, GF_InspectSampleAnalyzeMode full_dump) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2206,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:2211,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2222,1
    - Dst: DUMP_ATT_FRAC
      Src: /src/gpac/src/filters/inspect.c:2240,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2246,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:2213,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2229,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2208,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2225,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2231,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2228,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2238,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2237,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2234,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2216,1
    - Dst: atoi
      Src: /src/gpac/src/filters/inspect.c:2220,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2223,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2224,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2232,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2244,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - pctx
    - dump
    - pname
    - att
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - FILE*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2248
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2248
    functionName: dump_temi_loc
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - DUMP_ATT_FRAC
    - DUMP_ATT_STR
    - atoi
    - DUMP_ATT_D
    linkageType: ''
    returnType: void
    signature: 'static void dump_temi_loc(GF_InspectCtx *ctx, PidCtx *pctx, FILE *dump,
      const char *pname, const GF_PropertyValue *att) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:2404,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2410,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2408,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2407,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/inspect.c:2413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2414,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2420,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/inspect.c:2420,1
    - Dst: scte35_parse_segmentation_descriptor
      Src: /src/gpac/src/filters/inspect.c:2428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - dump
    - bs
    argTypes:
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2435
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2435
    functionName: scte35_parse_splice_descriptor
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - scte35_parse_segmentation_descriptor
    - gf_bs_read_u8
    - GF_LOG
    - gf_bs_available
    - gf_4cc_to_str
    linkageType: ''
    returnType: Bool
    signature: 'static Bool scte35_parse_splice_descriptor(FILE *dump, GF_BitStream
      *bs) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/inspect.c:5045,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/inspect.c:5048,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/inspect.c:5051,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/inspect.c:5055,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/inspect.c:5047,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/inspect.c:5065,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/inspect.c:5081,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/inspect.c:5083,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/inspect.c:5085,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 5121
      start: 5043
    functionDepth: 0
    functionLinenumber: 5043
    functionLinenumberEnd: 5121
    functionName: inspect_stats_packet
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_get_duration
    - gf_filter_pck_get_clock_type
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_get_corrupted
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void inspect_stats_packet(GF_InspectCtx *ctx, PidCtx *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2265,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/inspect.c:2270,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2271,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2273,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2280,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2292,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2269,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2257,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2266,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2274,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2276,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2283,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/inspect.c:2286,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2287,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/inspect.c:2263,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2267,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/inspect.c:2268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2279,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2255,1
    - Dst: atoi
      Src: /src/gpac/src/filters/inspect.c:2259,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/inspect.c:2261,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2282,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2277,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2290,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - pctx
    - dump
    - pname
    - att
    argTypes:
    - GF_InspectCtx*
    - PidCtx*
    - FILE*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2294
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2294
    functionName: dump_temi_time
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_bs_read_u32
    - gf_bs_reassign_buffer
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_u64
    - atoi
    - DUMP_ATT_D
    - DUMP_ATT_LLU
    linkageType: ''
    returnType: void
    signature: 'static void dump_temi_time(GF_InspectCtx *ctx, PidCtx *pctx, FILE
      *dump, const char *pname, const GF_PropertyValue *att) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2448,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2561,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2545,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2452,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2456,1
    - Dst: DUMP_ATT_D
      Src: /src/gpac/src/filters/inspect.c:2479,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2521,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2539,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2572,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2516,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2462,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2484,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2552,1
    - Dst: scte35_parse_splice_time
      Src: /src/gpac/src/filters/inspect.c:2546,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/inspect.c:2491,1
    - Dst: DUMP_ATT_BOOL
      Src: /src/gpac/src/filters/inspect.c:2498,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2501,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2445,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2528,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2526,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2531,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2556,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:2577,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2567,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2551,1
    - Dst: DUMP_ATT_BOOL
      Src: /src/gpac/src/filters/inspect.c:2494,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2517,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2580,1
    - Dst: scte35_parse_splice_descriptor
      Src: /src/gpac/src/filters/inspect.c:2581,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/inspect.c:2450,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2481,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/inspect.c:2541,1
    - Dst: DUMP_ATT_BOOL
      Src: /src/gpac/src/filters/inspect.c:2504,1
    - Dst: DUMP_ATT_LLU
      Src: /src/gpac/src/filters/inspect.c:2530,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2451,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2499,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2573,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2441,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2442,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2471,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2505,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2513,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:2457,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2478,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2534,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2563,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2443,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/inspect.c:2461,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2483,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:2485,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/inspect.c:2581,1
    - Dst: DUMP_ATT_BOOL
      Src: /src/gpac/src/filters/inspect.c:2502,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2562,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2469,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:2492,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/inspect.c:2533,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2568,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2571,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:2446,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2506,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2566,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2527,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2586,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2439,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2458,1
    - Dst: DUMP_ATT_STR
      Src: /src/gpac/src/filters/inspect.c:2467,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2477,1
    - Dst: DUMP_ATT_U
      Src: /src/gpac/src/filters/inspect.c:2514,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2547,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/inspect.c:2558,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2495,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:2550,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2497,1
    - Dst: scte35_parse_splice_time
      Src: /src/gpac/src/filters/inspect.c:2519,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/inspect.c:2557,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/inspect.c:2529,1
    - Dst: scte35_parse_splice_time
      Src: /src/gpac/src/filters/inspect.c:2509,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/inspect.c:2535,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2460,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/inspect.c:2493,1
    - Dst: DUMP_ATT_BOOL
      Src: /src/gpac/src/filters/inspect.c:2500,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/inspect.c:2577,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 128
    argCount: 3
    argNames:
    - ctx
    - dump
    - bs
    argTypes:
    - GF_InspectCtx*
    - FILE*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2587
    functionName: scte35_dump
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_seek
    - gf_bs_skip_bytes
    - inspect_printf
    - scte35_parse_splice_time
    - gf_assert
    - gf_bs_read_u32
    - gf_bs_read_u16
    - scte35_parse_splice_descriptor
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_get_size
    - DUMP_ATT_D
    - gf_bs_read_long_int
    - DUMP_ATT_BOOL
    - DUMP_ATT_U
    - DUMP_ATT_STR
    - DUMP_ATT_LLU
    linkageType: ''
    returnType: void
    signature: 'static void scte35_dump(GF_InspectCtx *ctx, FILE *dump, GF_BitStream
      *bs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3976,1
    - Dst: gf_format_duration
      Src: /src/gpac/src/filters/inspect.c:3988,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3992,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3994,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3990,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:3997,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - dur
    - timescale
    - dump
    - skip_name
    argTypes:
    - s64
    - u64
    - FILE*
    - Bool
    constantsTouched: []
    func_position:
      end: 3998
      start: 3972
    functionDepth: 0
    functionLinenumber: 3972
    functionLinenumberEnd: 3998
    functionName: format_duration
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_format_duration
    linkageType: ''
    returnType: void
    signature: 'static void format_duration(s64 dur, u64 timescale, FILE *dump, Bool
      skip_name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5134,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5137,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5138,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5140,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5153,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5151,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5177,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5179,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5136,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5150,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5157,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5165,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5169,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5142,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5154,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5146,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5152,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5155,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5144,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5156,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5162,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5163,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/inspect.c:5125,1
    - Dst: inspect_dump_pid
      Src: /src/gpac/src/filters/inspect.c:5130,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/inspect.c:5128,1
    - Dst: format_duration
      Src: /src/gpac/src/filters/inspect.c:5139,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5160,1
    - Dst: inspect_printf
      Src: /src/gpac/src/filters/inspect.c:5175,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_InspectCtx*
    constantsTouched: []
    func_position:
      end: 5182
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5182
    functionName: inspect_dump_stats
    functionSourceFile: /src/gpac/src/filters/inspect.c
    functionUses: []
    functionsReached:
    - inspect_printf
    - gf_list_get
    - inspect_dump_pid
    - gf_list_count
    - format_duration
    linkageType: ''
    returnType: void
    signature: 'static void inspect_dump_stats(GF_InspectCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:375,1
    - Dst: av_bsf_free
      Src: /src/gpac/src/filters/ff_bsf.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: ffbsf_finalize
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - av_bsf_free
    - gf_filter_get_udta
    linkageType: ''
    returnType: void
    signature: 'static void ffbsf_finalize(GF_Filter *filter) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:150,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:167,1
    - Dst: ffmpeg_codec_par_from_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:221,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_bsf.c:238,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_bsf.c:156,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_bsf.c:186,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_bsf.c:198,1
    - Dst: ffmpeg_extradata_from_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:200,1
    - Dst: av_bsf_init
      Src: /src/gpac/src/filters/ff_bsf.c:209,1
    - Dst: ffmpeg_codec_par_to_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:260,1
    - Dst: ffmpeg_extradata_to_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:268,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:269,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_bsf.c:162,1
    - Dst: av_bsf_free
      Src: /src/gpac/src/filters/ff_bsf.c:173,1
    - Dst: ffbsf_init_bsf
      Src: /src/gpac/src/filters/ff_bsf.c:181,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:238,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_bsf.c:202,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_bsf.c:221,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_bsf.c:189,1
    - Dst: av_bsf_free
      Src: /src/gpac/src/filters/ff_bsf.c:211,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_bsf.c:220,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_bsf.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_bsf.c:240,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_bsf.c:269,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 69
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 274
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 274
    functionName: ffbsf_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - ffmpeg_codecid_to_gpac
    - gf_filter_pid_get_property
    - ffmpeg_codec_par_from_gpac
    - gf_filter_pid_copy_properties
    - ffmpeg_codec_par_to_gpac
    - ffbsf_init_bsf
    - ffmpeg_codecid_from_gpac
    - av_bsf_init
    - av_bsf_free
    - ffmpeg_extradata_from_gpac
    - gf_filter_pid_set_property
    - PROP_BOOL
    - PROP_UINT
    - gf_filter_pid_remove
    - ffmpeg_extradata_to_gpac
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffbsf_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_bsf.c:63,1
    - Dst: av_bsf_list_alloc
      Src: /src/gpac/src/filters/ff_bsf.c:67,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_bsf.c:102,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_bsf.c:123,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_bsf.c:135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_bsf.c:135,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_bsf.c:98,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_bsf.c:116,1
    - Dst: gf_filter_report_meta_option
      Src: /src/gpac/src/filters/ff_bsf.c:110,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_bsf.c:117,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_bsf.c:124,1
    - Dst: av_bsf_list_finalize
      Src: /src/gpac/src/filters/ff_bsf.c:132,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:60,1
    - Dst: gf_filter_report_meta_option
      Src: /src/gpac/src/filters/ff_bsf.c:84,1
    - Dst: av_bsf_list_free
      Src: /src/gpac/src/filters/ff_bsf.c:103,1
    - Dst: av_bsf_list_free
      Src: /src/gpac/src/filters/ff_bsf.c:126,1
    - Dst: av_bsf_get_by_name
      Src: /src/gpac/src/filters/ff_bsf.c:76,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_bsf.c:69,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_bsf.c:78,1
    - Dst: av_bsf_list_free
      Src: /src/gpac/src/filters/ff_bsf.c:79,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_bsf.c:85,1
    - Dst: av_bsf_list_append2
      Src: /src/gpac/src/filters/ff_bsf.c:99,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_bsf.c:102,1
    - Dst: av_bsf_list_free
      Src: /src/gpac/src/filters/ff_bsf.c:114,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_bsf.c:101,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_bsf.c:106,1
    - Dst: av_bsf_list_free
      Src: /src/gpac/src/filters/ff_bsf.c:133,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 2
    argNames:
    - filter
    - ff_codecid
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 139
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 139
    functionName: ffbsf_init_bsf
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_dynstrcat
    - av_bsf_list_append2
    - av_err2str
    - gf_filter_report_meta_option
    - av_bsf_list_free
    - GF_LOG
    - av_bsf_get_by_name
    - av_dict_copy
    - ffmpeg_report_options
    - gf_filter_meta_set_instances
    - av_bsf_list_alloc
    - gf_free
    - av_dict_free
    - av_bsf_list_finalize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffbsf_init_bsf(GF_Filter *filter, u32 ff_codecid) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_bsf.c:283,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/ff_bsf.c:295,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_bsf.c:306,1
    - Dst: av_bsf_send_packet
      Src: /src/gpac/src/filters/ff_bsf.c:314,1
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_bsf.c:318,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_bsf.c:310,1
    - Dst: ffmpeg_generate_gpac_dsi
      Src: /src/gpac/src/filters/ff_bsf.c:337,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_bsf.c:342,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_bsf.c:346,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_bsf.c:357,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_bsf.c:287,1
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_bsf.c:301,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_bsf.c:309,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/ff_bsf.c:311,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_bsf.c:334,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_bsf.c:344,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_bsf.c:350,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:279,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_bsf.c:304,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_bsf.c:307,1
    - Dst: av_bsf_receive_packet
      Src: /src/gpac/src/filters/ff_bsf.c:319,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/ff_bsf.c:308,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_bsf.c:328,1
    - Dst: av_packet_unref
      Src: /src/gpac/src/filters/ff_bsf.c:321,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_bsf.c:347,1
    - Dst: av_packet_unref
      Src: /src/gpac/src/filters/ff_bsf.c:352,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_bsf.c:355,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_bsf.c:285,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_bsf.c:296,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_bsf.c:330,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ff_bsf.c:348,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 369
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 369
    functionName: ffbsf_process
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - AVERROR
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - ffmpeg_generate_gpac_dsi
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - av_malloc
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - av_bsf_receive_packet
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - av_bsf_send_packet
    - memcpy
    - gf_filter_pck_send
    - av_packet_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - av_packet_alloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffbsf_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffbsf_init_bsf
      Src: /src/gpac/src/filters/ff_bsf.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ffbsf_initialize
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - ffbsf_init_bsf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffbsf_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:383,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_bsf.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: ffbsf_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmpeg_update_arg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffbsf_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_bsf.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: ffbsf_register
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffbsf_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: ffbsf_register
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffbsf_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_bsf.c:389,1
    - Dst: av_bsf_flush
      Src: /src/gpac/src/filters/ff_bsf.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: ffbsf_process_event
    functionSourceFile: /src/gpac/src/filters/ff_bsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - av_bsf_flush
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ffbsf_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:127,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dmx.c:132,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_dmx.c:133,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dmx.c:133,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_dmx.c:135,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:137,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:142,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:144,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:145,1
    - Dst: av_freep
      Src: /src/gpac/src/filters/ff_dmx.c:148,1
    - Dst: av_freep
      Src: /src/gpac/src/filters/ff_dmx.c:149,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ff_dmx.c:151,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: ffdmx_finalize
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - avformat_free_context
    - gf_list_del
    - avformat_close_input
    - gf_list_count
    - gf_fclose
    - gf_filter_pck_discard
    - gf_free
    - av_dict_free
    - av_freep
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffdmx_finalize(GF_Filter *filter) '
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dmx.c:498,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/ff_dmx.c:520,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:499,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:673,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:840,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:857,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/ff_dmx.c:861,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/ff_dmx.c:512,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:575,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:587,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dmx.c:596,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:642,1
    - Dst: ffmpeg_channel_layout_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:700,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:613,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/ff_dmx.c:569,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_dmx.c:690,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_dmx.c:840,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/ff_dmx.c:861,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:859,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:647,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_dmx.c:712,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:499,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dmx.c:529,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_dmx.c:584,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:709,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_dmx.c:768,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/ff_dmx.c:828,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/ff_dmx.c:836,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/ff_dmx.c:488,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dmx.c:492,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:748,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:638,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:701,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/ff_dmx.c:852,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/ff_dmx.c:461,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dmx.c:480,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_dmx.c:717,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:709,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dmx.c:799,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/ff_dmx.c:854,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:876,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_dmx.c:885,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:715,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dmx.c:494,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:628,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/ff_dmx.c:852,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:609,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_dmx.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:487,1
    - Dst: av_read_frame
      Src: /src/gpac/src/filters/ff_dmx.c:582,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_dmx.c:695,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:807,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/ff_dmx.c:813,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dmx.c:814,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/ff_dmx.c:854,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_dmx.c:868,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/ff_dmx.c:515,1
    - Dst: ffdmx_flush_input
      Src: /src/gpac/src/filters/ff_dmx.c:537,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/ff_dmx.c:563,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/ff_dmx.c:573,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/ff_dmx.c:701,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:715,1
    - Dst: ffdmx_parse_side_data
      Src: /src/gpac/src/filters/ff_dmx.c:726,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:696,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/ff_dmx.c:789,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/ff_dmx.c:833,1
    - Dst: avio_read_partial
      Src: /src/gpac/src/filters/ff_dmx.c:474,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/ff_dmx.c:527,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dmx.c:594,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/ff_dmx.c:807,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_dmx.c:869,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:696,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dmx.c:524,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dmx.c:548,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dmx.c:684,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:779,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/ff_dmx.c:839,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_dmx.c:601,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/ff_dmx.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:608,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/ff_dmx.c:751,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dmx.c:469,1
    - Dst: ffdmx_set_decoder_config
      Src: /src/gpac/src/filters/ff_dmx.c:686,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/ff_dmx.c:595,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:714,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_dmx.c:713,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/ff_dmx.c:779,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_dmx.c:812,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_dmx.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:637,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:620,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/ff_dmx.c:565,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dmx.c:738,1
    - Dst: gf_bs_read_u64_le
      Src: /src/gpac/src/filters/ff_dmx.c:699,1
    - Dst: FF_FREE_PCK
      Src: /src/gpac/src/filters/ff_dmx.c:614,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:849,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/ff_dmx.c:521,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_dmx.c:692,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/ff_dmx.c:708,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:714,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:758,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:784,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_dmx.c:816,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/ff_dmx.c:822,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:847,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_dmx.c:598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:671,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_dmx.c:514,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:526,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_dmx.c:756,1
    CyclomaticComplexity: 154
    EdgeCount: 154
    ICount: 410
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 892
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 892
    functionName: ffdmx_process
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - AVERROR
    - gf_malloc
    - ffdmx_parse_side_data
    - GF_LOG
    - PROP_STRING_NO_COPY
    - gf_bs_read_u32_le
    - gf_filter_pid_set_eos
    - ffdmx_flush_input
    - gf_filter_pid_is_playing
    - avio_read_partial
    - ffdmx_set_decoder_config
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_del
    - FF_INIT_PCK
    - gf_list_del
    - gf_list_pop_front
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pck_set_corrupted
    - gf_filter_pck_truncate
    - gf_filter_ask_rt_reschedule
    - gf_net_get_ntp_ts
    - av_read_frame
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_list_new
    - gf_filter_pck_set_duration
    - ffmpeg_channel_layout_to_gpac
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - gf_filter_post_process_task
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - FF_FREE_PCK
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - gf_filter_pck_set_dts
    - av_err2str
    - gf_filter_pid_get_property
    - gf_bs_read_u64_le
    - gf_filter_setup_failure
    - gf_sys_clock_high_res
    - gf_filter_pck_set_property_str
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_process(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:1778,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/ff_dmx.c:1783,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:1781,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:1780,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:1779,1
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:1785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1790
    functionName: ffdmx_probe_url
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - av_find_input_format
    - gf_file_ext_start
    - strncmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore ffdmx_probe_url(const char *url, const
      char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_dmx.c:1908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1909
    functionName: ffdmx_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdmx_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:158,1
    - Dst: av_free_packet
      Src: /src/gpac/src/filters/ff_dmx.c:161,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/ff_dmx.c:166,1
    - Dst: av_packet_unref
      Src: /src/gpac/src/filters/ff_dmx.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: ffdmx_shared_pck_release
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - av_free_packet
    - gf_filter_get_udta
    - av_packet_unref
    - gf_filter_post_process_task
    linkageType: ''
    returnType: void
    signature: 'void ffdmx_shared_pck_release(GF_Filter *filter, GF_FilterPid *pid,
      GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:897,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_dmx.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: ffdmx_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmpeg_update_arg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_dmx.c:1974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1976
    functionName: ffdmxpid_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdmxpid_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2472
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2472
    functionName: ffdmx_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdmx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2461
    functionName: ffavin_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffavin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av_rescale
      Src: /src/gpac/src/filters/ff_dmx.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - q
    - b
    argTypes:
    - AVRational
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: rescale_mdcv
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - av_rescale
    linkageType: ''
    returnType: u32
    signature: 'static inline u32 rescale_mdcv(AVRational q, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/filters/ff_dmx.c:1402,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/ff_dmx.c:1403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - buf
    - buf_size
    argTypes:
    - void*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 1407
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1407
    functionName: ffavio_read_packet
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_feof
    - gf_fread
    linkageType: ''
    returnType: int
    signature: 'static int ffavio_read_packet(void *opaque, uint8_t *buf, int buf_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1640,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_dmx.c:1645,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_dmx.c:1656,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_dmx.c:1654,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dmx.c:1653,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1659,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1663,1
    - Dst: avio_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:1666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1669,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:1672,1
    - Dst: ffmpeg_set_mx_dmx_flags
      Src: /src/gpac/src/filters/ff_dmx.c:1673,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1675
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1675
    functionName: ffdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_malloc
    - avio_alloc_context
    - ffmpeg_set_mx_dmx_flags
    - av_malloc
    - gf_filter_pid_get_property
    - gf_strdup
    - GF_LOG
    - avformat_alloc_context
    - gf_filter_pid_remove
    - stricmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: av_register_all
      Src: /src/gpac/src/filters/ff_dmx.c:1800,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:1810,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:1803,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:1809,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1808,1
    - Dst: av_probe_input_format3
      Src: /src/gpac/src/filters/ff_dmx.c:1812,1
    - Dst: av_probe_input_format3
      Src: /src/gpac/src/filters/ff_dmx.c:1814,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:1816,1
    - Dst: av_probe_input_format3
      Src: /src/gpac/src/filters/ff_dmx.c:1820,1
    - Dst: av_probe_input_format3
      Src: /src/gpac/src/filters/ff_dmx.c:1822,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1835
    functionName: ffdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - av_register_all
    - memset
    - memcpy
    - gf_free
    - av_probe_input_format3
    linkageType: ''
    returnType: char*
    signature: 'static const char *ffdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1989,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_dmx.c:1995,1
    - Dst: av_input_video_device_next
      Src: /src/gpac/src/filters/ff_dmx.c:2033,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2052,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/ff_dmx.c:2055,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2066,1
    - Dst: strcat
      Src: /src/gpac/src/filters/ff_dmx.c:2090,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:2101,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_dmx.c:2117,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2121,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:2125,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_dmx.c:2174,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:2168,1
    - Dst: atoi
      Src: /src/gpac/src/filters/ff_dmx.c:2150,1
    - Dst: avformat_find_stream_info
      Src: /src/gpac/src/filters/ff_dmx.c:2172,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_dmx.c:2168,1
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:2017,1
    - Dst: avdevice_register_all
      Src: /src/gpac/src/filters/ff_dmx.c:1997,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_dmx.c:2104,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:2108,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2120,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2123,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_dmx.c:2126,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2135,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2159,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2177,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:2097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2217,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2235,1
    - Dst: av_dump_format
      Src: /src/gpac/src/filters/ff_dmx.c:2163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2019,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2045,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2051,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2072,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:2057,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/ff_dmx.c:2067,1
    - Dst: strcat
      Src: /src/gpac/src/filters/ff_dmx.c:2068,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2056,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2053,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2074,1
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_dmx.c:2142,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:2177,1
    - Dst: atoi
      Src: /src/gpac/src/filters/ff_dmx.c:2147,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:2212,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/ff_dmx.c:2089,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2000,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2023,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2082,1
    - Dst: ffmpeg_set_mx_dmx_flags
      Src: /src/gpac/src/filters/ff_dmx.c:2098,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2103,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2105,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2106,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_dmx.c:2109,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2110,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:2116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2127,1
    - Dst: ffdmx_init_common
      Src: /src/gpac/src/filters/ff_dmx.c:2238,1
    - Dst: strchr
      Src: /src/gpac/src/filters/ff_dmx.c:2146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2206,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:2211,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2076,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:2144,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_dmx.c:2168,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 237
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2239
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2239
    functionName: ffavin_initialize
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - avformat_open_input
    - ffmpeg_set_mx_dmx_flags
    - memset
    - strncmp
    - av_dict_set
    - GF_LOG
    - avformat_find_stream_info
    - ffmpeg_report_options
    - strstr
    - gf_filter_get_udta
    - av_dict_get
    - strcmp
    - avformat_alloc_context
    - atoi
    - strcpy
    - av_dict_free
    - stricmp
    - av_find_input_format
    - av_input_video_device_next
    - ffmpeg_setup_logs
    - sprintf
    - av_dict_copy
    - av_dump_format
    - strchr
    - strcat
    - av_err2str
    - sscanf
    - ffdmx_init_common
    - avdevice_register_all
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffavin_initialize(GF_Filter *filter) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_dmx.c:333,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:360,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:420,1
    - Dst: memmove
      Src: /src/gpac/src/filters/ff_dmx.c:349,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dmx.c:345,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_dmx.c:354,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:409,1
    - Dst: avformat_find_stream_info
      Src: /src/gpac/src/filters/ff_dmx.c:413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:425,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_dmx.c:436,1
    - Dst: ffdmx_init_common
      Src: /src/gpac/src/filters/ff_dmx.c:437,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_dmx.c:343,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_dmx.c:335,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_dmx.c:362,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:373,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:394,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:425,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:434,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:370,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:418,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:395,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:406,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:396,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:394,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:427,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:428,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 99
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FFDemuxCtx*
    constantsTouched: []
    func_position:
      end: 444
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 444
    functionName: ffdmx_flush_input
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - avformat_open_input
    - gf_filter_pid_is_eos
    - GF_LOG
    - avformat_find_stream_info
    - ffmpeg_report_options
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_data
    - avformat_free_context
    - gf_filter_pid_get_packet
    - av_dict_free
    - memmove
    - avformat_close_input
    - av_dict_copy
    - memcpy
    - gf_free
    - av_err2str
    - gf_realloc
    - ffdmx_init_common
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_flush_input(GF_Filter *filter, GF_FFDemuxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/ff_dmx.c:1413,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/ff_dmx.c:1418,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/ff_dmx.c:1414,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/ff_dmx.c:1415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - offset
    - whence
    argTypes:
    - void*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 1419
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1419
    functionName: ffavio_seek
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_ftell
    - gf_fsize
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t ffavio_seek(void *opaque, int64_t offset, int whence) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1681,1
    - Dst: av_seek_frame
      Src: /src/gpac/src/filters/ff_dmx.c:1720,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:1722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1732,1
    - Dst: av_seek_frame
      Src: /src/gpac/src/filters/ff_dmx.c:1734,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/ff_dmx.c:1736,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/ff_dmx.c:1738,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1774
    functionName: ffdmx_process_event
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - av_seek_frame
    - av_err2str
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ffdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:2023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT
    argTypes:
    - dev_fmt
    constantsTouched: []
    func_position:
      end: 2025
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2025
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (dev_fmt->priv_class->category != AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT
      && dev_fmt->priv_class->category != AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2243,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2244,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2247
    functionName: ffavin_probe_url
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore ffavin_probe_url(const char *url, const
      char *mime) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_dmx.c:2400,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_dmx.c:2405,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/ff_dmx.c:2403,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_dmx.c:2405,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/ff_dmx.c:2402,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/filters/ff_dmx.c:2410,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/filters/ff_dmx.c:2412,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:2413,1
    - Dst: av_log_set_callback
      Src: /src/gpac/src/filters/ff_dmx.c:2423,1
    - Dst: av_input_audio_device_next
      Src: /src/gpac/src/filters/ff_dmx.c:2427,1
    - Dst: av_input_video_device_next
      Src: /src/gpac/src/filters/ff_dmx.c:2429,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2447,1
    - Dst: ffmpeg_register_set_dyn_help
      Src: /src/gpac/src/filters/ff_dmx.c:2450,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_dmx.c:2443,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:2448,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2446,1
    - Dst: av_log_set_callback
      Src: /src/gpac/src/filters/ff_dmx.c:2441,1
    - Dst: ffavin_enum_devices
      Src: /src/gpac/src/filters/ff_dmx.c:2439,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2454
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2454
    functionName: ffavin_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_sys_get_arg
    - av_log_set_callback
    - av_input_video_device_next
    - strncmp
    - av_input_audio_device_next
    - gf_strdup
    - gf_opts_set_key
    - ffmpeg_register_set_dyn_help
    - ffavin_enum_devices
    - gf_free
    - ffmpeg_build_register
    - gf_opts_get_bool
    - gf_sys_get_argc
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffavin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2481
    functionName: ffavin_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffavin_register(GF_FilterSession *session) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:231,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:253,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:256,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:259,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:260,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:257,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:262,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:271,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:274,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/ff_dmx.c:277,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/ff_dmx.c:304,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:292,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:253,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:254,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:258,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:259,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:257,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/ff_dmx.c:264,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:275,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_dmx.c:276,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:277,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_dmx.c:289,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:301,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:293,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:304,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:299,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:254,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:255,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:258,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:261,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_dmx.c:263,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:264,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_dmx.c:273,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:281,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/ff_dmx.c:281,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/ff_dmx.c:290,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:295,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:298,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:291,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:227,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:250,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_dmx.c:252,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/ff_dmx.c:255,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:256,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:260,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:261,1
    - Dst: rescale_mdcv
      Src: /src/gpac/src/filters/ff_dmx.c:262,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:287,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_dmx.c:288,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:294,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:300,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_dmx.c:303,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/ff_dmx.c:302,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/ff_dmx.c:296,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 2
    argNames:
    - sd
    - pid
    argTypes:
    - AVPacketSideData*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 313
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 313
    functionName: ffdmx_parse_side_data
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_del
    - gf_bs_write_u16
    - PROP_DATA
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - gf_bs_write_u8
    - rescale_mdcv
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void ffdmx_parse_side_data(const AVPacketSideData *sd, GF_FilterPid
      *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1944,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:1946,1
    - Dst: ffdmx_finalize
      Src: /src/gpac/src/filters/ff_dmx.c:1949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1951
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1951
    functionName: ffdmxpid_finalize
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffdmx_finalize
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ffdmxpid_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_extradata_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:174,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:183,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/ff_dmx.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pctx
    - exdata
    - exdata_size
    - gpac_codec_id
    argTypes:
    - PidCtx*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: ffdmx_set_decoder_config
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - ffmpeg_extradata_to_gpac
    - PROP_DATA_NO_COPY
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_set_decoder_config(PidCtx *pctx, const u8 *exdata,
      u32 exdata_size, u32 gpac_codec_id) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_ac3_config_parse
      Src: /src/gpac/src/filters/ff_dmx.c:924,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/ff_dmx.c:940,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/ff_dmx.c:942,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/ff_dmx.c:932,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/ff_dmx.c:947,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/ff_dmx.c:949,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/ff_dmx.c:954,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/ff_dmx.c:956,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/ff_dmx.c:961,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/ff_dmx.c:963,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/ff_dmx.c:971,1
    - Dst: gf_odf_vp_cfg_read
      Src: /src/gpac/src/filters/ff_dmx.c:969,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 32
    argCount: 3
    argNames:
    - gpac_codec_id
    - dsi
    - dsi_size
    argTypes:
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1001
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 1001
    functionName: ffdmx_valid_should_reframe
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - gf_odf_hevc_cfg_read
    - gf_odf_av1_cfg_read
    - gf_odf_av1_cfg_del
    - gf_odf_vp_cfg_read
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_read
    - gf_odf_vvc_cfg_read
    - gf_odf_ac3_config_parse
    - gf_odf_vvc_cfg_del
    - gf_m4a_get_config
    linkageType: ''
    returnType: u32
    signature: 'static u32 ffdmx_valid_should_reframe(u32 gpac_codec_id, u8 *dsi,
      u32 dsi_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1595,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_dmx.c:1599,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_dmx.c:1603,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - opaque
    - buf
    - buf_size
    argTypes:
    - void*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 1609
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1609
    functionName: ffdmx_read_packet
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - AVERROR
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: int
    signature: 'static int ffdmx_read_packet(void *opaque, uint8_t *buf, int buf_size) '
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/ff_dmx.c:1010,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1144,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/ff_dmx.c:1155,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1241,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1165,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1240,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1197,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:1212,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1251,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1348,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1296,1
    - Dst: ffmpeg_codecid_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:1163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1126,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1140,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1172,1
    - Dst: ffmpeg_pixfmt_from_codec_tag
      Src: /src/gpac/src/filters/ff_dmx.c:1292,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_dmx.c:1309,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1350,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:1375,1
    - Dst: ffdmx_set_decoder_config
      Src: /src/gpac/src/filters/ff_dmx.c:1220,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:1119,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1144,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1165,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/ff_dmx.c:1195,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/ff_dmx.c:1271,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1332,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:1384,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_dmx.c:1124,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1126,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/ff_dmx.c:1347,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1350,1
    - Dst: ffdmx_parse_side_data
      Src: /src/gpac/src/filters/ff_dmx.c:1353,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_dmx.c:1376,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1326,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/ff_dmx.c:1340,1
    - Dst: ffmpeg_tags_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:1161,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1205,1
    - Dst: ffdmx_valid_should_reframe
      Src: /src/gpac/src/filters/ff_dmx.c:1189,1
    - Dst: ffmpeg_codec_par_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:1262,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1341,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:1109,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1265,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1305,1
    - Dst: ffmpeg_pixfmt_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:1289,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_dmx.c:1205,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1107,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:1131,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1149,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1272,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1338,1
    - Dst: AVFMT_URL
      Src: /src/gpac/src/filters/ff_dmx.c:1338,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1341,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1363,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_dmx.c:1011,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1146,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1159,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1253,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/ff_dmx.c:1227,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1258,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1305,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1362,1
    - Dst: av_dict_get
      Src: /src/gpac/src/filters/ff_dmx.c:1373,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_dmx.c:1105,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1107,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/ff_dmx.c:1141,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1149,1
    - Dst: PROP_CONST_DATA
      Src: /src/gpac/src/filters/ff_dmx.c:1200,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/ff_dmx.c:1272,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1300,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_dmx.c:1338,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1345,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_dmx.c:1115,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1117,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1146,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/ff_dmx.c:1159,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1249,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1253,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:1211,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1264,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1225,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1300,1
    - Dst: ffmpeg_codecid_to_gpac_audio_fmt
      Src: /src/gpac/src/filters/ff_dmx.c:1329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1336,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1345,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:1364,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/ff_dmx.c:1379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1383,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1153,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1249,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/ff_dmx.c:1275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1280,1
    - Dst: ffmpeg_pixfmt_is_fullrange
      Src: /src/gpac/src/filters/ff_dmx.c:1290,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_dmx.c:1369,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_dmx.c:1020,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:1128,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/filters/ff_dmx.c:1187,1
    - Dst: avcodec_get_name
      Src: /src/gpac/src/filters/ff_dmx.c:1193,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1225,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1168,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filters/ff_dmx.c:1190,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1182,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1336,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_dmx.c:1210,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1019,1
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_dmx.c:1016,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/ff_dmx.c:1153,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/ff_dmx.c:1280,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1298,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/ff_dmx.c:1305,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1348,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1241,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1251,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1182,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1195,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1138,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1155,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1168,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1240,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1140,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_dmx.c:1172,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filters/ff_dmx.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1274,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_dmx.c:1298,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 315
    argCount: 3
    argNames:
    - filter
    - ctx
    - grab_type
    argTypes:
    - GF_Filter*
    - GF_FFDemuxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 1397
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1397
    functionName: ffdmx_init_common
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - AVFMT_URL
    - memset
    - gf_filter_pid_set_udta
    - ffdmx_parse_side_data
    - PROP_BOOL
    - GF_LOG
    - gf_filter_is_temporary
    - PROP_FRAC_INT
    - gf_timestamp_rescale
    - PROP_FRAC64_INT
    - avcodec_get_name
    - strstr
    - ffdmx_set_decoder_config
    - av_dict_get
    - GF_4CC
    - PROP_POINTER
    - ffmpeg_pixfmt_to_gpac
    - PROP_STRING
    - strcmp
    - gf_strdup
    - ffmpeg_codecid_to_gpac_audio_fmt
    - ffdmx_valid_should_reframe
    - PROP_UINT
    - ffmpeg_pixfmt_from_codec_tag
    - gf_log_set_tool_level
    - PROP_CONST_DATA
    - ffmpeg_codecid_to_gpac
    - ffmpeg_codec_par_to_gpac
    - ffmpeg_pixfmt_is_fullrange
    - sprintf
    - gf_filter_pid_set_property
    - ffmpeg_tags_to_gpac
    - gf_sys_is_test_mode
    - gf_free
    - gf_filter_pid_set_name
    - gf_filter_meta_set_instances
    - gf_media_get_reduced_frame_rate
    - gf_log_get_tool_level
    - av_packet_alloc
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ffdmx_init_common(GF_Filter *filter, GF_FFDemuxCtx *ctx, u32
      grab_type) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_dmx.c:1424,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/ff_dmx.c:1438,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/ff_dmx.c:1437,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/ff_dmx.c:1450,1
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:1452,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:1496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1542,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:1546,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:1565,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:1574,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:1577,1
    - Dst: ffmpeg_pixfmt_from_codec_tag
      Src: /src/gpac/src/filters/ff_dmx.c:1439,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:1461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1463,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1480,1
    - Dst: av_match_name
      Src: /src/gpac/src/filters/ff_dmx.c:1528,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_dmx.c:1536,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_dmx.c:1557,1
    - Dst: avformat_find_stream_info
      Src: /src/gpac/src/filters/ff_dmx.c:1561,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_dmx.c:1567,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:1572,1
    - Dst: av_demuxer_iterate
      Src: /src/gpac/src/filters/ff_dmx.c:1527,1
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:1521,1
    - Dst: ffdmx_update_arg
      Src: /src/gpac/src/filters/ff_dmx.c:1438,1
    - Dst: ffmpeg_codec_par_to_gpac
      Src: /src/gpac/src/filters/ff_dmx.c:1441,1
    - Dst: ffmpeg_set_mx_dmx_flags
      Src: /src/gpac/src/filters/ff_dmx.c:1471,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:1470,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_dmx.c:1474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1572,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1580,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_dmx.c:1582,1
    - Dst: ffdmx_init_common
      Src: /src/gpac/src/filters/ff_dmx.c:1583,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:1575,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:1544,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_dmx.c:1542,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_dmx.c:1434,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/ff_dmx.c:1452,1
    - Dst: avio_open2
      Src: /src/gpac/src/filters/ff_dmx.c:1460,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1477,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/ff_dmx.c:1475,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_dmx.c:1455,1
    - Dst: avio_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:1484,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/ff_dmx.c:1492,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:1498,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/ff_dmx.c:1519,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:1543,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/ff_dmx.c:1520,1
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:1522,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/ff_dmx.c:1553,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 128
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1584
    functionName: ffdmx_initialize
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - avformat_open_input
    - ffmpeg_set_mx_dmx_flags
    - gf_fileio_translate_url
    - strncmp
    - GF_LOG
    - avformat_find_stream_info
    - ffmpeg_report_options
    - PROP_STRING_NO_COPY
    - gf_filter_is_temporary
    - av_malloc
    - gf_filter_get_udta
    - avformat_free_context
    - avformat_alloc_context
    - ffmpeg_pixfmt_from_codec_tag
    - av_dict_free
    - stricmp
    - gf_fopen
    - avio_open2
    - avio_alloc_context
    - ffmpeg_setup_logs
    - ffmpeg_codec_par_to_gpac
    - avformat_close_input
    - av_dict_copy
    - gf_free
    - gf_sys_is_cov_mode
    - av_err2str
    - gf_filter_meta_set_instances
    - av_demuxer_iterate
    - strrchr
    - ffdmx_update_arg
    - av_match_name
    - ffdmx_init_common
    - av_find_input_format
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffdmx_initialize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_dmx.c:1615,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/ff_dmx.c:1620,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/ff_dmx.c:1618,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - opaque
    - offset
    - whence
    argTypes:
    - void*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 1636
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1636
    functionName: ffdmx_seek
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_get_info
    - gf_filter_release_property
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t ffdmx_seek(void *opaque, int64_t offset, int whence) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: av_find_input_format
      Src: /src/gpac/src/filters/ff_dmx.c:2330,1
    - Dst: avdevice_list_input_sources
      Src: /src/gpac/src/filters/ff_dmx.c:2341,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2374,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2375,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2369,1
    - Dst: avdevice_free_list_devices
      Src: /src/gpac/src/filters/ff_dmx.c:2380,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_dmx.c:2346,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_dmx.c:2353,1
    - Dst: avformat_close_input
      Src: /src/gpac/src/filters/ff_dmx.c:2360,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2368,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2366,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_dmx.c:2361,1
    - Dst: AV_IS_INPUT_DEVICE
      Src: /src/gpac/src/filters/ff_dmx.c:2333,1
    - Dst: avdevice_list_input_sources
      Src: /src/gpac/src/filters/ff_dmx.c:2339,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_dmx.c:2350,1
    - Dst: avformat_open_input
      Src: /src/gpac/src/filters/ff_dmx.c:2351,1
    - Dst: avdevice_list_devices
      Src: /src/gpac/src/filters/ff_dmx.c:2357,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2373,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2376,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2370,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 2
    argNames:
    - dev_name
    - is_audio
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 2381
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2381
    functionName: ffavin_enum_devices
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - avformat_open_input
    - avformat_free_context
    - avformat_close_input
    - av_dict_set
    - AV_IS_INPUT_DEVICE
    - avdevice_list_devices
    - sprintf
    - avformat_alloc_context
    - avdevice_list_input_sources
    - avdevice_free_list_devices
    - av_dict_free
    - av_find_input_format
    linkageType: ''
    returnType: void
    signature: 'static void ffavin_enum_devices(const char *dev_name, Bool is_audio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/gpac/src/filters/ff_dmx.c:2387,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2393,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/ff_dmx.c:2391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - avcl
    - level
    - fmt
    - vl
    argTypes:
    - void*
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2395
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2395
    functionName: ffavin_log_none
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void ffavin_log_none(void *avcl, int level, const char *fmt,
      va_list vl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2476
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2476
    functionName: ffdmxpid_register
    functionSourceFile: /src/gpac/src/filters/ff_dmx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffdmxpid_register(GF_FilterSession *session) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/filelist.c:392,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/filelist.c:439,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/filelist.c:455,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/filelist.c:497,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/filelist.c:522,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:517,1
    - Dst: filelist_push_period_id
      Src: /src/gpac/src/filters/filelist.c:620,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:625,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:550,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:471,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:484,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:490,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:510,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:520,1
    - Dst: gf_filter_pid_push_properties
      Src: /src/gpac/src/filters/filelist.c:568,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/filelist.c:585,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:419,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:502,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:421,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/filelist.c:450,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:558,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:549,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:610,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/filelist.c:430,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:516,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:532,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:564,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:574,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:597,1
    - Dst: filelist_start_ipid
      Src: /src/gpac/src/filters/filelist.c:638,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/filelist.c:517,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:549,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:585,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:466,1
    - Dst: gf_filter_pid_push_properties
      Src: /src/gpac/src/filters/filelist.c:487,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:512,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:525,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:550,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/filelist.c:400,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/filelist.c:479,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:560,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:556,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:511,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:624,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:583,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:386,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/filelist.c:516,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:593,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:627,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/filelist.c:458,1
    - Dst: gf_filter_pid_merge_properties
      Src: /src/gpac/src/filters/filelist.c:508,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:611,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:613,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:425,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/filelist.c:447,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:601,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:630,1
    - Dst: filelist_start_ipid
      Src: /src/gpac/src/filters/filelist.c:634,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/filelist.c:408,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/filelist.c:483,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:484,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/filelist.c:545,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:500,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:552,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/filelist.c:407,1
    - Dst: filelist_override_caps
      Src: /src/gpac/src/filters/filelist.c:414,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:459,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/filelist.c:463,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:470,1
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/src/filters/filelist.c:495,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:502,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/filelist.c:553,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:581,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:529,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/filelist.c:534,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/filelist.c:556,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:562,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:467,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:483,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:500,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:560,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:545,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:527,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:600,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:552,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:518,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:553,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 258
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 641
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 641
    functionName: filelist_configure_pid
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_force_main_thread
    - gf_filter_pid_set_udta
    - PROP_BOOL
    - filelist_start_ipid
    - gf_filter_pid_merge_properties
    - PROP_STRING_NO_COPY
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - gf_filter_get_udta
    - gf_filter_pid_get_timescale
    - gf_list_count
    - gf_strdup
    - PROP_STRING
    - gf_filter_pid_copy_properties
    - strcmp
    - PROP_UINT
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_property
    - filelist_push_period_id
    - PROP_NAME
    - gf_filter_pid_reset_properties
    - gf_free
    - gf_filter_pid_push_properties
    - gf_filter_pid_get_property
    - filelist_override_caps
    - gf_filter_pid_check_caps
    - gf_audio_fmt_bit_depth
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filelist_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/filelist.c:352,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/filelist.c:354,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/filelist.c:355,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/filelist.c:355,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/filelist.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - opid
    argTypes:
    - GF_FileListCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: filelist_push_period_id
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - PROP_STRING_NO_COPY
    - gf_dynstrcat
    - sprintf
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void filelist_push_period_id(GF_FileListCtx *ctx, GF_FilterPid
      *opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:807,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/filelist.c:809,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/filelist.c:810,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - chap_name
    argTypes:
    - GF_FileListCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 815
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 815
    functionName: push_chapter
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_strdup
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'static void push_chapter(GF_FileListCtx *ctx, char *chap_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/filelist.c:1738,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/filelist.c:1741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - iopid
    - src
    - src_size
    - offset
    - dst
    - nb_samp
    - ra
    argTypes:
    - FileListPid*
    - u8*
    - u32
    - u32
    - u8*
    - u32
    - RawAudioInfo*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1743
    functionName: filelist_copy_raw_audio
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void filelist_copy_raw_audio(FileListPid *iopid, const u8 *src, u32
      src_size, u32 offset, u8 *dst, u32 nb_samp, RawAudioInfo *ra) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1790,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/filelist.c:1791,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1798,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:1804,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/filelist.c:1795,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:1807,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1810,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/filelist.c:1811,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:1815,1
    - Dst: filelist_forward_splice_pck
      Src: /src/gpac/src/filters/filelist.c:1816,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:1826,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:1818,1
    - Dst: filelist_forward_splice_pck
      Src: /src/gpac/src/filters/filelist.c:1823,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:1822,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FileListCtx*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1827
    functionName: filelist_purge_slice
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_filter_pid_drop_packet
    - filelist_translate_splice_cts
    - gf_timestamp_greater
    - gf_assert
    - filelist_forward_splice_pck
    linkageType: ''
    returnType: void
    signature: 'static void filelist_purge_slice(GF_FileListCtx *ctx) '
  - BBCount: 150
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:2038,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:2246,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2337,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2526,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/filelist.c:2595,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2620,1
    - Dst: filelist_start_ipid
      Src: /src/gpac/src/filters/filelist.c:2740,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/filelist.c:2242,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2091,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/filelist.c:2271,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2491,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2559,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:2503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2427,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:1992,1
    - Dst: filelist_send_packet
      Src: /src/gpac/src/filters/filelist.c:2384,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/filelist.c:2284,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2500,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2504,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/filelist.c:2331,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/filelist.c:2223,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2417,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2093,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/filelist.c:2443,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:1972,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:1981,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/filelist.c:2046,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2076,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/filelist.c:2687,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:1989,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2020,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2072,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2205,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/filelist.c:2465,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/filelist.c:2519,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:2540,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2575,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2608,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:1962,1
    - Dst: filelist_load_next
      Src: /src/gpac/src/filters/filelist.c:2010,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2364,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2473,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2505,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2611,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2030,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/filelist.c:2444,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2351,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2540,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2565,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:2737,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/filelist.c:2242,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:2221,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/filelist.c:1994,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:2037,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:2042,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:2198,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/filelist.c:2532,1
    - Dst: gf_filter_pid_push_properties
      Src: /src/gpac/src/filters/filelist.c:2614,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2665,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/filelist.c:2703,1
    - Dst: filelist_purge_slice
      Src: /src/gpac/src/filters/filelist.c:2402,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:1985,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2014,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:2066,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/filelist.c:2114,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2186,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2467,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2290,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/filelist.c:2468,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2469,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/filelist.c:2492,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/filelist.c:2493,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:1975,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/filelist.c:2000,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2163,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2433,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:2390,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2585,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2606,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2731,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2315,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/filelist.c:2071,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:2462,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/filelist.c:2561,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:2645,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:2736,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2341,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:2391,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2439,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:1988,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/filelist.c:2075,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/filelist.c:2309,1
    - Dst: filelist_check_splice
      Src: /src/gpac/src/filters/filelist.c:2180,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/filelist.c:2392,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/filelist.c:2505,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/filelist.c:2611,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/filelist.c:2562,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/filelist.c:1974,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:2464,1
    - Dst: filelist_send_packet
      Src: /src/gpac/src/filters/filelist.c:2477,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:2495,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2537,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2610,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/filelist.c:2641,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/filelist.c:2674,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/filelist.c:2691,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/filelist.c:2699,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2021,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2200,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2503,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:2609,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2656,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1997,1
    - Dst: gf_filter_has_pid_connection_pending
      Src: /src/gpac/src/filters/filelist.c:2022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2123,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:2203,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/filelist.c:2248,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2260,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2261,1
    - Dst: filelist_configure_pid
      Src: /src/gpac/src/filters/filelist.c:2539,1
    - Dst: filelist_push_period_id
      Src: /src/gpac/src/filters/filelist.c:2617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2643,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/filelist.c:2734,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/filelist.c:2082,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:2368,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/filelist.c:2064,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:2169,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2502,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:2518,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/filelist.c:2609,1
    CyclomaticComplexity: 215
    EdgeCount: 215
    ICount: 684
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2760
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 2760
    functionName: filelist_process
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - gf_filter_pid_set_udta
    - gf_filter_pck_get_duration
    - GF_FEVT_INIT
    - GF_LOG
    - PROP_BOOL
    - filelist_start_ipid
    - gf_filter_has_pid_connection_pending
    - gf_filter_pid_drop_packet
    - gf_filter_end_of_session
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_sap
    - gf_filter_pid_set_property_str
    - gf_filter_remove_src
    - gf_filter_pid_remove
    - filelist_send_packet
    - gf_list_pop_back
    - gf_timestamp_rescale_signed
    - gf_filter_get_udta
    - gf_list_del
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_list_count
    - PROP_STRING
    - gf_timestamp_less
    - gf_assert
    - gf_fopen
    - gf_filter_pck_get_dts
    - gf_list_get
    - filelist_configure_pid
    - filelist_load_next
    - filelist_push_period_id
    - gf_sys_clock
    - filelist_check_splice
    - strchr
    - gf_free
    - gf_filter_pid_would_block
    - gf_filter_pid_send_event
    - gf_filter_pid_push_properties
    - gf_filter_pid_get_property
    - gf_filter_pck_get_seek_flag
    - gf_timestamp_greater_or_equal
    - gf_timestamp_greater
    - filelist_purge_slice
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filelist_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/filelist.c:2809,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:2812,1
    - Dst: filelist_add_entry
      Src: /src/gpac/src/filters/filelist.c:2815,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 2818
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2818
    functionName: filelist_enum
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - filelist_add_entry
    - GF_SAFEALLOC
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/filelist.c:362,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/filelist.c:365,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/filelist.c:368,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/filelist.c:362,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/filelist.c:365,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/filelist.c:368,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/filelist.c:371,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/filelist.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FileListCtx*
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: filelist_override_caps
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - gf_filter_override_caps
    linkageType: ''
    returnType: void
    signature: 'static void filelist_override_caps(GF_Filter *filter, GF_FileListCtx
      *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:648,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:654,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/filelist.c:663,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/filelist.c:651,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:677,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:684,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/filelist.c:692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 697
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 697
    functionName: filelist_process_event
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_list_count
    - gf_filter_pid_init_play_event
    - gf_filter_post_process_task
    - memcpy
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/filelist.c:924,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/filelist.c:925,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/filelist.c:1012,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1035,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:860,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/filelist.c:870,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:947,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:975,1
    - Dst: atof
      Src: /src/gpac/src/filters/filelist.c:990,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/filelist.c:1046,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/filelist.c:1102,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1029,1
    - Dst: atoi
      Src: /src/gpac/src/filters/filelist.c:1021,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/filelist.c:886,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/filelist.c:889,1
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:1061,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:985,1
    - Dst: filelist_check_implicit_cat
      Src: /src/gpac/src/filters/filelist.c:1177,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/filelist.c:913,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:988,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1031,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:995,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/filelist.c:1000,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1025,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/filelist.c:1133,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:1163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:872,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1001,1
    - Dst: push_chapter
      Src: /src/gpac/src/filters/filelist.c:1179,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/filelist.c:909,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:929,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/filelist.c:1014,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/filelist.c:1040,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/filelist.c:1061,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:850,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/filelist.c:891,1
    - Dst: atoi
      Src: /src/gpac/src/filters/filelist.c:984,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:993,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:998,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:1024,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/filelist.c:923,1
    - Dst: atof
      Src: /src/gpac/src/filters/filelist.c:987,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1020,1
    - Dst: filelist_override_caps
      Src: /src/gpac/src/filters/filelist.c:1018,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:856,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/filelist.c:997,1
    - Dst: filelist_parse_splice_time
      Src: /src/gpac/src/filters/filelist.c:1026,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1022,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:957,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:982,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:1036,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1157,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/filelist.c:888,1
    - Dst: filelist_check_implicit_cat
      Src: /src/gpac/src/filters/filelist.c:859,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/filelist.c:857,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/filelist.c:958,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:962,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:1023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1045,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:1044,1
    - Dst: filelist_parse_splice_time
      Src: /src/gpac/src/filters/filelist.c:1028,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1038,1
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:920,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/filelist.c:903,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:991,1
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:1162,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/filelist.c:1008,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1006,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1033,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:845,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:959,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/filelist.c:961,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1009,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:1037,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/filelist.c:867,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/filelist.c:914,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/filelist.c:1013,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:1027,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 391
    argCount: 4
    argNames:
    - filter
    - ctx
    - szURL
    - is_splice_update
    argTypes:
    - GF_Filter*
    - GF_FileListCtx*
    - char
    - Bool
    constantsTouched: []
    func_position:
      end: 1181
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 1181
    functionName: filelist_next_url
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_fgets
    - GF_LOG
    - gf_file_modification_time
    - gf_fseek
    - gf_feof
    - strstr
    - filelist_parse_splice_time
    - gf_crc_32
    - gf_list_count
    - gf_strdup
    - strcmp
    - atoi
    - push_chapter
    - stricmp
    - gf_fopen
    - gf_dynstrcat
    - gf_list_get
    - gf_sys_clock
    - strchr
    - gf_free
    - atof
    - sscanf
    - filelist_override_caps
    - strncpy
    - gf_fclose
    - filelist_check_implicit_cat
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_next_url(GF_Filter *filter, GF_FileListCtx *ctx,
      char szURL[GF_MAX_PATH], Bool is_splice_update) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:1755,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1774,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/filelist.c:1767,1
    - Dst: filelist_copy_raw_audio
      Src: /src/gpac/src/filters/filelist.c:1770,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/filelist.c:1757,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1775,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/filelist.c:1778,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/filelist.c:1779,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/filelist.c:1780,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/filelist.c:1782,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/filelist.c:1784,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - iopid
    - pck
    argTypes:
    - FileListPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1786
    functionName: filelist_forward_splice_pck
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_cts
    - gf_filter_pck_set_dts
    - gf_filter_pck_forward
    - filelist_copy_raw_audio
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void filelist_forward_splice_pck(FileListPid *iopid, GF_FilterPacket
      *pck) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/filelist.c:1861,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1869,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1907,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/filelist.c:1908,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/filelist.c:1937,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/filelist.c:1944,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/filelist.c:1950,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/filelist.c:1953,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/filelist.c:1842,1
    - Dst: filelist_copy_raw_audio
      Src: /src/gpac/src/filters/filelist.c:1854,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/filelist.c:1851,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/filelist.c:1859,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/filelist.c:1901,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/filelist.c:1911,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:1942,1
    - Dst: ABS
      Src: /src/gpac/src/filters/filelist.c:1850,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1893,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/filelist.c:1896,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/filelist.c:1902,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/filelist.c:1905,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1904,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1910,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/filelist.c:1937,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/filelist.c:1944,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:1946,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/filelist.c:1856,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:1864,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/filelist.c:1886,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/filelist.c:1900,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/filelist.c:1942,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 140
    argCount: 4
    argNames:
    - ctx
    - iopid
    - pck
    - is_splice_forced
    argTypes:
    - GF_FileListCtx*
    - FileListPid*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1955
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1955
    functionName: filelist_send_packet
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_get_duration
    - PROP_BOOL
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - filelist_copy_raw_audio
    - PROP_STRING
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_filter_pck_set_property
    - ABS
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: void
    signature: 'void filelist_send_packet(GF_FileListCtx *ctx, FileListPid *iopid,
      GF_FilterPacket *pck, Bool is_splice_forced) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2765,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:2773,1
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:2783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2770,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/filelist.c:2767,1
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:2784,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/filelist.c:2788,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/filelist.c:2793,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/filelist.c:2797,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - fentry
    argTypes:
    - GF_FileListCtx*
    - FileListEntry*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2798
    functionName: filelist_add_entry
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_insert
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void filelist_add_entry(GF_FileListCtx *ctx, FileListEntry
      *fentry) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:2824,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2833,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/filelist.c:2827,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/filters/filelist.c:2859,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:2871,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/filelist.c:2879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2905,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2912,1
    - Dst: filelist_override_caps
      Src: /src/gpac/src/filters/filelist.c:2915,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/filelist.c:2838,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/filelist.c:2842,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:2844,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/filelist.c:2867,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:2869,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/filelist.c:2876,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/filelist.c:2889,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:2899,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/filelist.c:2917,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/filelist.c:2832,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/filelist.c:2825,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/filelist.c:2845,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/filelist.c:2846,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:2864,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/filelist.c:2875,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/filelist.c:2873,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:2864,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/filelist.c:2878,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:2891,1
    - Dst: filelist_add_entry
      Src: /src/gpac/src/filters/filelist.c:2896,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2904,1
    - Dst: gf_filter_make_sticky
      Src: /src/gpac/src/filters/filelist.c:2919,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2921
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2921
    functionName: filelist_initialize
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_file_modification_time
    - gf_enum_directory
    - GF_SAFEALLOC
    - strstr
    - gf_file_ext_start
    - gf_filter_get_udta
    - gf_strdup
    - gf_fsize
    - gf_list_count
    - gf_list_new
    - gf_fopen
    - gf_filter_make_sticky
    - filelist_add_entry
    - gf_filter_post_process_task
    - strchr
    - gf_filter_is_dynamic
    - filelist_override_caps
    - strrchr
    - gf_dir_exists
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filelist_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3212
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3212
    functionName: flist_register
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *flist_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:1187,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/filelist.c:1189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1189,1
    - Dst: gf_filter_get_src_args
      Src: /src/gpac/src/filters/filelist.c:1189,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1191,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1193,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/filelist.c:1196,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/filelist.c:1200,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/filelist.c:1201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - failed_filter
    - udta
    - err
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1203
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1203
    functionName: filelist_on_filter_setup_error
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_filter_get_src_args
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - GF_LOG
    - gf_filter_post_process_task
    - gf_list_del_item
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_on_filter_setup_error(GF_Filter *failed_filter,
      void *udta, GF_Err err) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/filelist.c:2925,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2931,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2933,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:2938,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:2939,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2940,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2944,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2948,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2951,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/filelist.c:2955,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2928,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/filelist.c:2927,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:2936,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2941,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2945,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2949,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:2926,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2934,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2942,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2946,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/filelist.c:2932,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2943,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:2947,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2956
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2956
    functionName: filelist_finalize
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    - gf_props_reset_single
    linkageType: ''
    returnType: void
    signature: 'static void filelist_finalize(GF_Filter *filter) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: filelist_next_url
      Src: /src/gpac/src/filters/filelist.c:1224,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1266,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:1301,1
    - Dst: filelist_start_ipid
      Src: /src/gpac/src/filters/filelist.c:1311,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1345,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/filelist.c:1392,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1397,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/filelist.c:1406,1
    - Dst: SET_SOURCE
      Src: /src/gpac/src/filters/filelist.c:1390,1
    - Dst: gf_filter_require_source_id
      Src: /src/gpac/src/filters/filelist.c:1425,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/filelist.c:1442,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1431,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/filelist.c:1448,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/filelist.c:1451,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/filelist.c:1465,1
    - Dst: SET_SOURCE
      Src: /src/gpac/src/filters/filelist.c:1520,1
    - Dst: gf_filter_load_filter
      Src: /src/gpac/src/filters/filelist.c:1418,1
    - Dst: atoi
      Src: /src/gpac/src/filters/filelist.c:1482,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1531,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:1510,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1512,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/filelist.c:1232,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/filelist.c:1227,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1231,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/filelist.c:1275,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1308,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1327,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/filelist.c:1329,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:1338,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:1340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1402,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1403,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:1533,1
    - Dst: gf_filter_require_source_id
      Src: /src/gpac/src/filters/filelist.c:1419,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1437,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:1503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1511,1
    - Dst: assert
      Src: /src/gpac/src/filters/filelist.c:1256,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1274,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1291,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/filelist.c:1267,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/filelist.c:1276,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:1263,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1298,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/filelist.c:1299,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1307,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/filelist.c:1346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/filelist.c:1536,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/filelist.c:1430,1
    - Dst: SET_SOURCE
      Src: /src/gpac/src/filters/filelist.c:1445,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:1479,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/filelist.c:1492,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/filelist.c:1431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1229,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/filelist.c:1234,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/filelist.c:1258,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1265,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filters/filelist.c:1310,1
    - Dst: memset
      Src: /src/gpac/src/filters/filelist.c:1407,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/filelist.c:1412,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:1414,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/filelist.c:1421,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/filelist.c:1424,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1443,1
    - Dst: atoi
      Src: /src/gpac/src/filters/filelist.c:1486,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/filelist.c:1527,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:1342,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/filelist.c:1443,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/filelist.c:1468,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/filelist.c:1495,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 267
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FileListCtx*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1540
    functionName: filelist_load_next
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - GF_FEVT_INIT
    - GF_LOG
    - filelist_start_ipid
    - gf_filter_pid_set_eos
    - gf_filter_require_source_id
    - gf_filter_remove_src
    - strstr
    - gf_list_pop_back
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - gf_filter_load_filter
    - gf_filter_set_setup_failure_callback
    - atoi
    - gf_list_new
    - gf_filter_lock_all
    - gf_filter_pid_clear_eos
    - gf_list_insert
    - gf_list_reset
    - gf_list_get
    - assert
    - gf_filter_set_source
    - gf_filter_pid_send_flush
    - gf_filter_reset_source
    - gf_filter_send_event
    - strchr
    - gf_free
    - gf_filter_connect_source
    - gf_url_concatenate
    - filelist_next_url
    - SET_SOURCE
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err filelist_load_next(GF_Filter *filter, GF_FileListCtx
      *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/filelist.c:2961,1
    - Dst: isalnum
      Src: /src/gpac/src/filters/filelist.c:2988,1
    - Dst: memchr
      Src: /src/gpac/src/filters/filelist.c:2973,1
    - Dst: memchr
      Src: /src/gpac/src/filters/filelist.c:2971,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:2990,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 3011
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 3011
    functionName: filelist_probe_data
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - memchr
    - strchr
    - gf_utf8_is_legal
    - isalnum
    linkageType: ''
    returnType: char*
    signature: 'static const char *filelist_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:274,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:275,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:277,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/filelist.c:285,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:276,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:286,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/filelist.c:289,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/filelist.c:290,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:297,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:302,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:317,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:318,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 4
    argNames:
    - ctx
    - iopid
    - prev_timescale
    - is_reassign
    argTypes:
    - GF_FileListCtx*
    - FileListPid*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 334
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 334
    functionName: filelist_start_ipid
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_timestamp_rescale
    - gf_filter_pid_send_event
    - gf_filter_pid_init_play_event
    linkageType: ''
    returnType: void
    signature: 'static void filelist_start_ipid(GF_FileListCtx *ctx, FileListPid *iopid,
      u32 prev_timescale, Bool is_reassign) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/filelist.c:705,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/filters/filelist.c:709,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:739,1
    - Dst: gf_isom_probe_file
      Src: /src/gpac/src/filters/filelist.c:712,1
    - Dst: strstr
      Src: /src/gpac/src/filters/filelist.c:730,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:743,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:747,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:753,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:754,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/filters/filelist.c:755,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:758,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/filelist.c:764,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:769,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/filelist.c:763,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - szURL
    argTypes:
    - GF_FileListCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 770
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 770
    functionName: filelist_check_implicit_cat
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_url_colon_suffix
    - gf_strdup
    - gf_isom_probe_file
    - gf_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void filelist_check_implicit_cat(GF_FileListCtx *ctx, char
      *szURL) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - iopid
    - cts
    argTypes:
    - FileListPid*
    - u64
    constantsTouched: []
    func_position:
      end: 1548
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1548
    functionName: filelist_translate_splice_cts
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_timestamp_rescale
    linkageType: ''
    returnType: s64
    signature: 'static s64 filelist_translate_splice_cts(FileListPid *iopid, u64 cts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/filelist.c:341,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/filelist.c:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - cbk
    - prop_4cc
    - prop_name
    - src_prop
    argTypes:
    - void*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: filelist_merge_prop
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_get_property_str
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_merge_prop(void *cbk, u32 prop_4cc, const char
      *prop_name, const GF_PropertyValue *src_prop) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/filelist.c:775,1
    - Dst: strchr
      Src: /src/gpac/src/filters/filelist.c:788,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/filters/filelist.c:802,1
    - Dst: gf_net_parse_date
      Src: /src/gpac/src/filters/filelist.c:789,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/filelist.c:783,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - aval
    - frac
    - flags
    argTypes:
    - char*
    - GF_Fraction64*
    - u32*
    constantsTouched: []
    func_position:
      end: 803
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 803
    functionName: filelist_parse_splice_time
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - strlen
    - strchr
    - gf_net_parse_date
    - stricmp
    - gf_parse_lfrac
    linkageType: ''
    returnType: void
    signature: 'static void filelist_parse_splice_time(char *aval, GF_Fraction64 *frac,
      u32 *flags) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/filelist.c:1604,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/filelist.c:1700,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1715,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1577,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/filelist.c:1564,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1636,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1643,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/filelist.c:1624,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/filelist.c:1615,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/filelist.c:1645,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1632,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/filelist.c:1669,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/filelist.c:1690,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/filelist.c:1558,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/filelist.c:1566,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/filelist.c:1559,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1579,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/filelist.c:1586,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1600,1
    - Dst: filelist_next_url
      Src: /src/gpac/src/filters/filelist.c:1610,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/filelist.c:1653,1
    - Dst: filelist_next_url
      Src: /src/gpac/src/filters/filelist.c:1684,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1725,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/filelist.c:1598,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/filelist.c:1629,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1655,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/filelist.c:1705,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/filelist.c:1717,1
    - Dst: filelist_translate_splice_cts
      Src: /src/gpac/src/filters/filelist.c:1713,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 158
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FileListCtx*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1729
    functionName: filelist_check_splice
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_get_packet
    - gf_list_count
    - filelist_next_url
    - gf_timestamp_greater_or_equal
    - gf_fatal_assert
    - filelist_translate_splice_cts
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_net_get_utc
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filelist_check_splice(GF_FileListCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3217
    functionName: flist_register
    functionSourceFile: /src/gpac/src/filters/filelist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *flist_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_mad.c:77,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:79,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:78,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:79,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:78,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:82,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:82,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:85,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:85,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:86,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dec_mad.c:86,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MADCtx*
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: maddec_copy_props
    functionSourceFile: /src/gpac/src/filters/dec_mad.c
    functionUses: []
    functionsReached:
    - PROP_LONGUINT
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void maddec_copy_props(GF_MADCtx *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_mad.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mad.c:212,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_mad.c:216,1
    - Dst: mad_stream_buffer
      Src: /src/gpac/src/filters/dec_mad.c:222,1
    - Dst: mad_frame_decode
      Src: /src/gpac/src/filters/dec_mad.c:224,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_mad.c:227,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_mad.c:245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mad.c:239,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:258,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_mad.c:264,1
    - Dst: MAD_SCALE
      Src: /src/gpac/src/filters/dec_mad.c:325,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mad.c:192,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_mad.c:194,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_mad.c:236,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:257,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:259,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mad.c:274,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mad.c:291,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_mad.c:312,1
    - Dst: MAD_SCALE
      Src: /src/gpac/src/filters/dec_mad.c:334,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_mad.c:342,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_mad.c:318,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_mad.c:203,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_mad.c:209,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_mad.c:218,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_mad.c:234,1
    - Dst: mad_stream_errorstr
      Src: /src/gpac/src/filters/dec_mad.c:239,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_mad.c:235,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mad.c:282,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_mad.c:308,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_mad.c:315,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mad.c:314,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_mad.c:310,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_mad.c:197,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_mad.c:241,1
    - Dst: mad_synth_frame
      Src: /src/gpac/src/filters/dec_mad.c:250,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mad.c:257,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dec_mad.c:259,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_mad.c:301,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_mad.c:305,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_mad.c:306,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_mad.c:307,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 153
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 344
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 344
    functionName: maddec_process
    functionSourceFile: /src/gpac/src/filters/dec_mad.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - mad_frame_decode
    - gf_filter_pck_get_duration
    - gf_filter_pck_set_dependency_flags
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - mad_synth_frame
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_cts
    - PROP_UINT
    - memmove
    - gf_filter_pck_set_duration
    - mad_stream_errorstr
    - PROP_LONGUINT
    - mad_stream_buffer
    - gf_filter_pid_set_property
    - memcpy
    - gf_filter_pck_send
    - MAD_SCALE
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err maddec_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mad.c:165,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mad.c:167,1
    - Dst: mad_synth_finish
      Src: /src/gpac/src/filters/dec_mad.c:172,1
    - Dst: mad_stream_finish
      Src: /src/gpac/src/filters/dec_mad.c:170,1
    - Dst: mad_frame_finish
      Src: /src/gpac/src/filters/dec_mad.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: maddec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_mad.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - mad_frame_finish
    - mad_stream_finish
    - mad_synth_finish
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void maddec_finalize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_mad.c:106,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_mad.c:100,1
    - Dst: mad_stream_finish
      Src: /src/gpac/src/filters/dec_mad.c:124,1
    - Dst: mad_synth_finish
      Src: /src/gpac/src/filters/dec_mad.c:126,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:143,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:145,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_mad.c:156,1
    - Dst: maddec_copy_props
      Src: /src/gpac/src/filters/dec_mad.c:158,1
    - Dst: mad_frame_init
      Src: /src/gpac/src/filters/dec_mad.c:129,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mad.c:96,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:114,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:111,1
    - Dst: mad_frame_finish
      Src: /src/gpac/src/filters/dec_mad.c:125,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_mad.c:149,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_mad.c:152,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_mad.c:140,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:116,1
    - Dst: maddec_copy_props
      Src: /src/gpac/src/filters/dec_mad.c:119,1
    - Dst: mad_synth_init
      Src: /src/gpac/src/filters/dec_mad.c:130,1
    - Dst: mad_stream_init
      Src: /src/gpac/src/filters/dec_mad.c:128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mad.c:153,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 161
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 161
    functionName: maddec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_mad.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_malloc
    - mad_synth_init
    - gf_filter_set_name
    - mad_frame_finish
    - gf_filter_pid_get_property
    - maddec_copy_props
    - mad_stream_finish
    - mad_synth_finish
    - gf_filter_pid_check_caps
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - mad_stream_init
    - mad_frame_init
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err maddec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: maddec_register
    functionSourceFile: /src/gpac/src/filters/dec_mad.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *maddec_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhml.c:99,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_nhml.c:106,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_nhml.c:110,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_nhml.c:103,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:112,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:113,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:115,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:116,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:120,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/dmx_nhml.c:121,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/dmx_nhml.c:122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: nhmldmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_force_main_thread
    - gf_filter_pid_get_property
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_nhml.c:465,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:471,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:478,1
    - Dst: gf_xml_sax_new
      Src: /src/gpac/src/filters/dmx_nhml.c:485,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_nhml.c:491,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_nhml.c:498,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:513,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dmx_nhml.c:515,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:449,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_nhml.c:447,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_nhml.c:464,1
    - Dst: gf_xml_sax_parse_file
      Src: /src/gpac/src/filters/dmx_nhml.c:486,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:476,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_nhml.c:471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:494,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:504,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_nhml.c:519,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:521,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_nhml.c:445,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:458,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:469,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:480,1
    - Dst: gf_xml_sax_del
      Src: /src/gpac/src/filters/dmx_nhml.c:487,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhml.c:507,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_nhml.c:514,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/filters/dmx_nhml.c:516,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:520,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_nhml.c:456,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhml.c:454,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:467,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_nhml.c:480,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_nhml.c:506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:508,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 4
    argNames:
    - ctx
    - xml_file
    - xmlFrom
    - xmlTo
    argTypes:
    - GF_NHMLDmxCtx*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 523
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 523
    functionName: nhml_sample_from_xml
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - memset
    - GF_LOG
    - gf_xml_sax_del
    - gf_fseek
    - gf_xml_sax_new
    - strstr
    - gf_list_last
    - gf_list_del
    - gf_strdup
    - gf_fsize
    - gf_list_count
    - gf_list_new
    - gf_assert
    - stricmp
    - gf_fopen
    - gf_list_rem_last
    - gf_fread
    - gf_xml_sax_parse_file
    - strchr
    - gf_free
    - gf_realloc
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhml_sample_from_xml(GF_NHMLDmxCtx *ctx, char *xml_file,
      char *xmlFrom, char *xmlTo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1805
    functionName: nhmldmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldmx_initialize(GF_Filter *filter) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:165,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:165,1
    - Dst: atof
      Src: /src/gpac/src/filters/dmx_nhml.c:177,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:178,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:159,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:162,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:172,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:174,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:172,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhml.c:134,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:161,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:150,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:171,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:162,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:167,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:173,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:176,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:171,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:179,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 217
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 217
    functionName: nhmldmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - sscanf
    - gf_list_enum
    - strchr
    - atoi
    - stricmp
    - atof
    linkageType: ''
    returnType: Bool
    signature: 'static Bool nhmldmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 125
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_nhml.c:635,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:684,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:689,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:770,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:777,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:780,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:794,1
    - Dst: gf_codec_id_from_isobmf
      Src: /src/gpac/src/filters/dmx_nhml.c:881,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:925,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:948,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1010,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:984,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:986,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:941,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/filters/dmx_nhml.c:868,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:947,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:974,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:726,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:661,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:749,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:745,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:753,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:754,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:760,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:764,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:769,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:779,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:975,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:952,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:891,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:910,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:931,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:940,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:960,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:740,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhml.c:744,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:705,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:721,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:645,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:687,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:696,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:777,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:784,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:822,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:952,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:957,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_nhml.c:1003,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:986,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:929,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:975,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:988,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:942,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:686,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:703,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:667,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:759,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:763,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:767,1
    - Dst: gf_file_exists_ex
      Src: /src/gpac/src/filters/dmx_nhml.c:827,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:871,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:907,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:908,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:985,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:987,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:887,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:942,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1003,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:682,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:691,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:741,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:698,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:710,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:715,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:742,1
    - Dst: gf_file_exists_ex
      Src: /src/gpac/src/filters/dmx_nhml.c:817,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/dmx_nhml.c:818,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:866,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:953,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:967,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:939,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:951,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_nhml.c:850,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:944,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:972,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:966,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dmx_nhml.c:633,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:668,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:690,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:743,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:796,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:801,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/dmx_nhml.c:828,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_nhml.c:840,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:846,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:851,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:865,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:889,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:934,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:953,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:987,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1019,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1007,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:907,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:989,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:938,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:981,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:736,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:708,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:657,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filters/dmx_nhml.c:660,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:834,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhml.c:841,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:887,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:913,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:935,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:937,1
    - Dst: nhml_sample_from_xml
      Src: /src/gpac/src/filters/dmx_nhml.c:848,1
    - Dst: nhmldmx_set_props
      Src: /src/gpac/src/filters/dmx_nhml.c:1021,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:981,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:934,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:956,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:984,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:688,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:656,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:665,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:746,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:750,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:772,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:889,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:908,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:931,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:936,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_nhml.c:1002,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_nhml.c:878,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_nhml.c:891,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:983,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:666,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:693,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_nhml.c:695,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:888,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:922,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:943,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:940,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:961,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:971,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:980,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:788,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:935,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:957,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:970,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:959,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:999,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1006,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:747,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:683,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:692,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:706,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:751,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:756,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:762,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:765,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:790,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:798,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:937,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:983,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1015,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_nhml.c:1010,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:856,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:948,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:985,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:711,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:711,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_nhml.c:678,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:700,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:709,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:704,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:774,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:916,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:922,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:939,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:999,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:967,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:673,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_nhml.c:722,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:658,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:661,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhml.c:662,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhml.c:664,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhml.c:669,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_nhml.c:680,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:755,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:761,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:910,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:943,1
    - Dst: gf_file_load_data_filep
      Src: /src/gpac/src/filters/dmx_nhml.c:831,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_nhml.c:855,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:960,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:966,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:971,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:936,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_nhml.c:994,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:663,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/dmx_nhml.c:724,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:728,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:707,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_nhml.c:716,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:739,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filters/dmx_nhml.c:883,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:888,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:916,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:929,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_nhml.c:938,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:988,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:980,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1017,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:765,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:694,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:702,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:713,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:767,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:792,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:800,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:832,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:844,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:863,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:906,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:994,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1008,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:743,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:685,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_nhml.c:699,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:850,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:930,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:947,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:951,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:956,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:961,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:870,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dmx_nhml.c:896,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:919,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:944,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:972,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dmx_nhml.c:737,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:675,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:748,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_nhml.c:728,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_nhml.c:632,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:663,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/dmx_nhml.c:671,1
    - Dst: NHML_SCAN_INT
      Src: /src/gpac/src/filters/dmx_nhml.c:752,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:906,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:919,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:959,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:970,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:974,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_nhml.c:989,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhml.c:941,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:930,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 579
    argCount: 3
    argNames:
    - filter
    - ctx
    - root
    argTypes:
    - GF_Filter*
    - GF_NHMLDmxCtx*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 1026
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 1026
    functionName: nhmldmx_config_output
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - gf_fopen_ex
    - gf_malloc
    - gf_file_load_data
    - gf_m4v_get_config
    - gf_stream_type_by_name
    - GF_LOG
    - PROP_BOOL
    - gf_timestamp_rescale
    - PROP_FRAC_INT
    - gf_filter_pid_set_property_str
    - gf_codecid_parse
    - nhmldmx_set_props
    - gf_file_ext_start
    - gf_file_exists_ex
    - GF_4CC
    - gf_error_to_string
    - gf_strdup
    - gf_fsize
    - strcmp
    - PROP_STRING
    - gf_codec_id_from_isobmf
    - PROP_UINT
    - strcpy
    - stricmp
    - gf_file_load_data_filep
    - gf_dynstrcat
    - PROP_LONGUINT
    - gf_list_enum
    - gf_fread
    - gf_filter_pid_set_property
    - memcpy
    - gf_free
    - NHML_SCAN_INT
    - gf_codecid_type
    - gf_url_concatenate
    - nhml_sample_from_xml
    - gf_xml_parse_bit_sequence
    - strncpy
    - gf_fclose
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldmx_config_output(GF_Filter *filter, GF_NHMLDmxCtx
      *ctx, GF_XMLNode *root) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhml.c:1809,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1810,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1817,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1814,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1812,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1819,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1820,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1821,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1822,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1824
    functionName: nhmldmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_xml_dom_del
    - gf_bs_del
    - gf_free
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'void nhmldmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1865
    functionName: nhmlr_register
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhmlr_register(GF_FilterSession *session) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:275,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:298,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:302,1
    - Dst: nhmldmx_get_props
      Src: /src/gpac/src/filters/dmx_nhml.c:304,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:322,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/dmx_nhml.c:351,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/dmx_nhml.c:363,1
    - Dst: nhmldmx_get_props
      Src: /src/gpac/src/filters/dmx_nhml.c:277,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:301,1
    - Dst: gf_props_parse_type
      Src: /src/gpac/src/filters/dmx_nhml.c:338,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/dmx_nhml.c:333,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:348,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:358,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/dmx_nhml.c:368,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:300,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:319,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:321,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:324,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhml.c:344,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/dmx_nhml.c:365,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:285,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:276,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:292,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:299,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/dmx_nhml.c:331,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:323,1
    - Dst: gf_xml_parse_bit_sequence_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:346,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_nhml.c:347,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:360,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - props
    - pck
    argTypes:
    - GF_NHMLDmxCtx*
    - GF_XMLNode*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 370
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 370
    functionName: nhmldmx_set_props
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - nhmldmx_get_props
    - gf_bs_get_content
    - gf_bs_del
    - gf_filter_pck_set_property
    - gf_filter_pid_set_property_dyn
    - gf_props_parse_value
    - gf_list_enum
    - gf_props_get_id
    - gf_xml_parse_bit_sequence_bs
    - strcmp
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pck_set_property_dyn
    - gf_props_parse_type
    - gf_props_4cc_get_type
    - stricmp
    - gf_props_reset_single
    linkageType: ''
    returnType: void
    signature: 'static void nhmldmx_set_props(GF_NHMLDmxCtx *ctx, GF_XMLNode *props,
      GF_FilterPacket *pck) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1043,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_nhml.c:1048,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1075,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_nhml.c:1073,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/dmx_nhml.c:1076,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1078,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1089,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1119,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1129,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/dmx_nhml.c:1052,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_nhml.c:1065,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dmx_nhml.c:1071,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1084,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1088,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1106,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1120,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1125,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1129,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1131,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_nhml.c:1155,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhml.c:1156,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:1123,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1130,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_nhml.c:1047,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_nhml.c:1056,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1061,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_nhml.c:1068,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1064,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/src/filters/dmx_nhml.c:1078,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dmx_nhml.c:1082,1
    - Dst: nhmldmx_config_output
      Src: /src/gpac/src/filters/dmx_nhml.c:1093,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1112,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1156,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1155,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1050,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1049,1
    - Dst: gf_fileio_from_mem
      Src: /src/gpac/src/filters/dmx_nhml.c:1051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1057,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_nhml.c:1066,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/dmx_nhml.c:1065,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/dmx_nhml.c:1078,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1120,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1130,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1148,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 141
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NHMLDmxCtx*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1158
    functionName: nhmldmx_init_parsing
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_fileio_translate_url
    - strncmp
    - GF_LOG
    - PROP_FRAC64
    - gf_filter_pck_get_data
    - gf_file_ext_start
    - gf_xml_dom_new
    - gf_filter_pid_get_packet
    - nhmldmx_config_output
    - gf_file_basename
    - atoi
    - PROP_UINT
    - stricmp
    - gf_xml_dom_get_line
    - gf_dynstrcat
    - gf_xml_dom_parse
    - gf_list_enum
    - gf_fclose
    - gf_filter_pid_set_property
    - strchr
    - gf_free
    - gf_fileio_from_mem
    - gf_xml_dom_get_error
    - gf_fileio_url
    - sscanf
    - gf_filter_pid_get_property
    - gf_xml_dom_get_root
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldmx_init_parsing(GF_Filter *filter, GF_NHMLDmxCtx
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_nhml.c:1164,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - bs
    - data
    - size
    - mode
    argTypes:
    - GF_BitStream**
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: nhml_get_bs
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_bs_new
    linkageType: ''
    returnType: void
    signature: 'void nhml_get_bs(GF_BitStream **bs, char *data, u32 size, u32 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1870
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1870
    functionName: nhmlr_register
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhmlr_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:223,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:229,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:225,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:229,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - par
    - ID
    argTypes:
    - GF_NHMLDmxCtx*
    - GF_XMLNode*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: nhmldmx_get_prop_ref
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    - strcmp
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *nhmldmx_get_prop_ref(GF_NHMLDmxCtx *ctx, GF_XMLNode
      *par, char *ID) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:390,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_nhml.c:391,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_nhml.c:396,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_nhml.c:395,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:390,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_nhml.c:399,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:401,1
    - Dst: gf_xml_sax_get_node_start_pos
      Src: /src/gpac/src/filters/dmx_nhml.c:402,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:405,1
    - Dst: gf_xml_sax_get_node_start_pos
      Src: /src/gpac/src/filters/dmx_nhml.c:406,1
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/filters/dmx_nhml.c:410,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 5
    argNames:
    - sax_cbck
    - node_name
    - name_space
    - attributes
    - nb_attributes
    argTypes:
    - void*
    - char*
    - char*
    - GF_XMLAttribute*
    - u32
    constantsTouched: []
    func_position:
      end: 413
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 413
    functionName: nhml_node_start
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - strcmp
    - gf_xml_sax_suspend
    - stricmp
    - gf_xml_sax_get_node_start_pos
    linkageType: ''
    returnType: void
    signature: 'static void nhml_node_start(void *sax_cbck, const char *node_name,
      const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1183,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1186,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1208,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1202,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1209,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1228,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_nhml.c:1232,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_nhml.c:1233,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dmx_nhml.c:1234,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_nhml.c:1221,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1182,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1204,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1201,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1214,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1226,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dmx_nhml.c:1235,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dmx_nhml.c:1236,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1242,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_nhml.c:1243,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_nhml.c:1225,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1172,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1178,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1188,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1190,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1201,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1204,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1209,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1213,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1215,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1216,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_nhml.c:1223,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1183,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1200,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1204,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1203,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1209,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1213,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1215,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_nhml.c:1241,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_nhml.c:1243,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - node
    - pck
    argTypes:
    - GF_NHMLDmxCtx*
    - GF_XMLNode*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1246
    functionName: nhmldmx_set_subs
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - gf_bs_get_content
    - gf_bs_del
    - gf_filter_pck_set_property
    - sscanf
    - gf_list_enum
    - gf_fsize
    - strcmp
    - gf_bs_new
    - gf_bs_write_u32
    - atoi
    - gf_bs_write_u8
    - strnicmp
    - gf_fclose
    - stricmp
    - gf_fopen
    - PROP_DATA_NO_COPY
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void nhmldmx_set_subs(GF_NHMLDmxCtx *ctx, GF_XMLNode *node,
      GF_FilterPacket *pck) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1297,1
    - Dst: nhmldmx_find_sai
      Src: /src/gpac/src/filters/dmx_nhml.c:1299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1305,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1310,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1312,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_nhml.c:1327,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_nhml.c:1329,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_nhml.c:1329,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_nhml.c:1332,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1276,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1283,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filters/dmx_nhml.c:1296,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_nhml.c:1322,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_nhml.c:1327,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1312,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1317,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1296,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1311,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1312,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/dmx_nhml.c:1332,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1295,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1310,1
    - Dst: gf_xml_parse_bit_sequence_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:1318,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1323,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - node
    - pck
    argTypes:
    - GF_NHMLDmxCtx*
    - GF_XMLNode*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1334
    functionName: nhmldmx_set_sai
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_4cc_parse
    - gf_bs_get_content
    - gf_bs_del
    - gf_list_enum
    - gf_xml_parse_bit_sequence_bs
    - strcmp
    - GF_LOG
    - gf_bs_new
    - sprintf
    - gf_filter_pck_set_property_dyn
    - nhmldmx_find_sai
    - atoi
    - gf_4cc_to_str
    - stricmp
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void nhmldmx_set_sai(GF_NHMLDmxCtx *ctx, GF_XMLNode *node,
      GF_FilterPacket *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1722,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dmx_nhml.c:1726,1
    - Dst: gf_xml_dom_node_clone
      Src: /src/gpac/src/filters/dmx_nhml.c:1738,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1740,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1739,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dmx_nhml.c:1743,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dmx_nhml.c:1744,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_nhml.c:1710,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/dmx_nhml.c:1717,1
    - Dst: gf_fileio_from_mem
      Src: /src/gpac/src/filters/dmx_nhml.c:1716,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1732,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1733,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/dmx_nhml.c:1720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1728,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_nhml.c:1743,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1719,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_nhml.c:1715,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/src/filters/dmx_nhml.c:1722,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/dmx_nhml.c:1722,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/dmx_nhml.c:1738,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NHMLDmxCtx*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1747
    functionName: nhmldmx_update_document
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - MAX
    - gf_xml_dom_parse
    - gf_xml_dom_node_clone
    - gf_xml_dom_new
    - MIN
    - gf_filter_pid_get_packet
    - gf_list_count
    - GF_LOG
    - gf_fclose
    - gf_xml_dom_append_child
    - gf_xml_dom_get_root
    - stricmp
    - gf_fileio_from_mem
    - gf_filter_pck_get_data
    - gf_xml_dom_get_line
    - gf_xml_dom_get_error
    - gf_fileio_url
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldmx_update_document(GF_Filter *filter, GF_NHMLDmxCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:239,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:247,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:247,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:246,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:244,1
    - Dst: nhmldmx_get_prop_ref
      Src: /src/gpac/src/filters/dmx_nhml.c:249,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:253,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:255,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:258,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:259,1
    - Dst: nhmldmx_get_prop_ref
      Src: /src/gpac/src/filters/dmx_nhml.c:262,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:260,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:260,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - ID
    argTypes:
    - GF_NHMLDmxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: nhmldmx_get_props
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    - strcmp
    - nhmldmx_get_prop_ref
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *nhmldmx_get_props(GF_NHMLDmxCtx *ctx, char *ID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dmx_nhml.c:418,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:424,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:420,1
    - Dst: gf_xml_sax_get_node_end_pos
      Src: /src/gpac/src/filters/dmx_nhml.c:421,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/filters/dmx_nhml.c:419,1
    - Dst: gf_xml_sax_get_node_end_pos
      Src: /src/gpac/src/filters/dmx_nhml.c:425,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:428,1
    - Dst: gf_xml_sax_suspend
      Src: /src/gpac/src/filters/dmx_nhml.c:430,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - sax_cbck
    - node_name
    - name_space
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: nhml_node_end
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - gf_list_last
    - gf_xml_sax_get_node_end_pos
    - strcmp
    - gf_xml_sax_suspend
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void nhml_node_end(void *sax_cbck, const char *node_name, const
      char *name_space) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:544,1
    - Dst: deflateInit2
      Src: /src/gpac/src/filters/dmx_nhml.c:558,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:564,1
    - Dst: deflateInit
      Src: /src/gpac/src/filters/dmx_nhml.c:556,1
    - Dst: deflateSetDictionary
      Src: /src/gpac/src/filters/dmx_nhml.c:564,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:566,1
    - Dst: deflateEnd
      Src: /src/gpac/src/filters/dmx_nhml.c:567,1
    - Dst: deflate
      Src: /src/gpac/src/filters/dmx_nhml.c:571,1
    - Dst: deflateEnd
      Src: /src/gpac/src/filters/dmx_nhml.c:573,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:577,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:582,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:586,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:589,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_nhml.c:581,1
    - Dst: deflateEnd
      Src: /src/gpac/src/filters/dmx_nhml.c:592,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:580,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - ctx
    - compress_type
    - dict
    - offset
    argTypes:
    - GF_NHMLDmxCtx*
    - u32
    - char**
    - u32
    constantsTouched: []
    func_position:
      end: 594
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 594
    functionName: compress_sample_data
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - deflateInit
    - gf_realloc
    - deflateInit2
    - GF_LOG
    - deflateSetDictionary
    - memcpy
    - gf_free
    - deflate
    - deflateEnd
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err compress_sample_data(GF_NHMLDmxCtx *ctx, u32 compress_type,
      char **dict, u32 offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1252,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1262,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1258,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1256,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1263,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1264,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - GF_NHMLDmxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1270
    functionName: nhmldmx_find_sai
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    - strcmp
    linkageType: ''
    returnType: GF_XMLNode*
    signature: 'static GF_XMLNode *nhmldmx_find_sai(GF_NHMLDmxCtx *ctx, char *id) '
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1454,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1444,1
    - Dst: nhmldmx_set_subs
      Src: /src/gpac/src/filters/dmx_nhml.c:1675,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1438,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1498,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1496,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/dmx_nhml.c:1512,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1359,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1400,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1391,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1410,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1523,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_nhml.c:1656,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_nhml.c:1671,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1394,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1537,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1594,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhml.c:1610,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1614,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1617,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1646,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_nhml.c:1658,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhml.c:1603,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1343,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1412,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1415,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1487,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dmx_nhml.c:1514,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1566,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1362,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1405,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1409,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1437,1
    - Dst: nhml_get_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:1511,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1457,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1486,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1456,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1573,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1444,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1454,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:1521,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1534,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/dmx_nhml.c:1569,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/dmx_nhml.c:1637,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dmx_nhml.c:1659,1
    - Dst: gf_xml_dom_serialize
      Src: /src/gpac/src/filters/dmx_nhml.c:1504,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1485,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_nhml.c:1394,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1448,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1547,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhml.c:1571,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_nhml.c:1662,1
    - Dst: nhmldmx_set_sai
      Src: /src/gpac/src/filters/dmx_nhml.c:1678,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1401,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1450,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1475,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1515,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dmx_nhml.c:1605,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1650,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1400,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1407,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1479,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1526,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_nhml.c:1560,1
    - Dst: nhml_get_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:1568,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dmx_nhml.c:1570,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1584,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_nhml.c:1609,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1653,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_nhml.c:1694,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1358,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1403,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_nhml.c:1408,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1410,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1502,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1482,1
    - Dst: nhml_get_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:1636,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_nhml.c:1657,1
    - Dst: nhmldmx_set_props
      Src: /src/gpac/src/filters/dmx_nhml.c:1681,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_nhml.c:1683,1
    - Dst: nhml_sample_from_xml
      Src: /src/gpac/src/filters/dmx_nhml.c:1501,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/dmx_nhml.c:1513,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:1413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1425,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/dmx_nhml.c:1528,1
    - Dst: compress_sample_data
      Src: /src/gpac/src/filters/dmx_nhml.c:1632,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1367,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1391,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/dmx_nhml.c:1396,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1420,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_nhml.c:1554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1588,1
    - Dst: gf_xml_parse_bit_sequence_bs
      Src: /src/gpac/src/filters/dmx_nhml.c:1608,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1640,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_nhml.c:1654,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhml.c:1509,1
    - Dst: nhmldmx_config_output
      Src: /src/gpac/src/filters/dmx_nhml.c:1360,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1390,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_nhml.c:1423,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1427,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1442,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1496,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1491,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhml.c:1620,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1369,1
    - Dst: atof
      Src: /src/gpac/src/filters/dmx_nhml.c:1409,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1450,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_nhml.c:1535,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_nhml.c:1541,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dmx_nhml.c:1555,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhml.c:1586,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_nhml.c:1625,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1616,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_nhml.c:1506,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1434,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_nhml.c:1473,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1442,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhml.c:1368,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1407,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1408,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1411,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhml.c:1429,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_nhml.c:1452,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/dmx_nhml.c:1665,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 396
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NHMLDmxCtx*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1699
    functionName: nhmldmx_send_sample
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_filter_pck_set_dependency_flags
    - strncmp
    - gf_bs_write_data
    - GF_LOG
    - nhmldmx_set_sai
    - gf_fseek
    - strstr
    - nhmldmx_set_props
    - gf_filter_pck_new_alloc
    - nhml_get_bs
    - gf_bs_del
    - gf_filter_pck_set_sap
    - gf_fsize
    - strcmp
    - nhmldmx_config_output
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - atoi
    - strcpy
    - stricmp
    - gf_fopen
    - gf_filter_pck_set_duration
    - gf_list_enum
    - gf_bs_write_u16
    - gf_fread
    - gf_bs_new
    - gf_filter_pck_set_framing
    - compress_sample_data
    - memcpy
    - strchr
    - gf_bs_write_u8
    - gf_free
    - gf_xml_dom_serialize
    - strnicmp
    - gf_base64_decode
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - atof
    - gf_url_concatenate
    - nhml_sample_from_xml
    - gf_filter_pck_set_dts
    - sscanf
    - gf_realloc
    - gf_xml_parse_bit_sequence_bs
    - nhmldmx_set_subs
    - gf_fatal_assert
    - strncpy
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nhmldmx_send_sample(GF_Filter *filter, GF_NHMLDmxCtx
      *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhml.c:1751,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_nhml.c:1760,1
    - Dst: nhmldmx_init_parsing
      Src: /src/gpac/src/filters/dmx_nhml.c:1764,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_nhml.c:1758,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_nhml.c:1756,1
    - Dst: nhmldmx_update_document
      Src: /src/gpac/src/filters/dmx_nhml.c:1773,1
    - Dst: nhmldmx_send_sample
      Src: /src/gpac/src/filters/dmx_nhml.c:1778,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_nhml.c:1784,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhml.c:1786,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_nhml.c:1790,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_nhml.c:1797,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1799
    functionName: nhmldmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_nhml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - nhmldmx_send_sample
    - gf_filter_pid_drop_packet
    - nhmldmx_update_document
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_fclose
    - gf_assert
    - nhmldmx_init_parsing
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhmldmx_process(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:101,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dec_faad.c:101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FAADCtx*
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: faaddec_check_mc_config
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached:
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void faaddec_check_mc_config(GF_FAADCtx *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 14
    argCount: 2
    argNames:
    - ffd
    - ch_cfg
    argTypes:
    - GF_FAADCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 274
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 274
    functionName: faaddec_get_channel_pos
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s8
    signature: 'static s8 faaddec_get_channel_pos(GF_FAADCtx *ffd, u32 ch_cfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_faad.c:436,1
    - Dst: NeAACDecClose
      Src: /src/gpac/src/filters/dec_faad.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: faaddec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - NeAACDecClose
    linkageType: ''
    returnType: void
    signature: 'static void faaddec_finalize(GF_Filter *filter) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_faad.c:278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:291,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_faad.c:296,1
    - Dst: NeAACDecGetErrorMessage
      Src: /src/gpac/src/filters/dec_faad.c:301,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_faad.c:307,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:328,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:333,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:343,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:363,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_faad.c:404,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_faad.c:413,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_faad.c:287,1
    - Dst: NeAACDecDecode
      Src: /src/gpac/src/filters/dec_faad.c:293,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_faad.c:284,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:358,1
    - Dst: faaddec_check_mc_config
      Src: /src/gpac/src/filters/dec_faad.c:373,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_faad.c:388,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_faad.c:402,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_faad.c:403,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_faad.c:410,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_faad.c:392,1
    - Dst: NeAACDecDecode
      Src: /src/gpac/src/filters/dec_faad.c:297,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:306,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_faad.c:313,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_faad.c:310,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:317,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:353,1
    - Dst: gf_filter_pid_eos_received
      Src: /src/gpac/src/filters/dec_faad.c:376,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_faad.c:377,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_faad.c:379,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_faad.c:386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:301,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_faad.c:302,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:338,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:348,1
    - Dst: faaddec_get_channel_pos
      Src: /src/gpac/src/filters/dec_faad.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:399,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_faad.c:406,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_faad.c:429,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_faad.c:430,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_faad.c:418,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 160
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 432
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 432
    functionName: faaddec_process
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_get_duration
    - faaddec_check_mc_config
    - GF_LOG
    - NeAACDecGetErrorMessage
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pid_eos_received
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_filter_pid_set_property
    - memcpy
    - gf_filter_pck_send
    - NeAACDecDecode
    - faaddec_get_channel_pos
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err faaddec_process(GF_Filter *filter) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_faad.c:126,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:130,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_faad.c:130,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_faad.c:131,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:132,1
    - Dst: NeAACDecClose
      Src: /src/gpac/src/filters/dec_faad.c:148,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:177,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/filters/dec_faad.c:202,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_faad.c:219,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:221,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_faad.c:108,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_faad.c:136,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_faad.c:142,1
    - Dst: NeAACDecOpen
      Src: /src/gpac/src/filters/dec_faad.c:156,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:183,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:192,1
    - Dst: NeAACDecInit2
      Src: /src/gpac/src/filters/dec_faad.c:203,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:208,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_faad.c:220,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_faad.c:230,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_faad.c:226,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:131,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/dec_faad.c:166,1
    - Dst: NeAACDecInit2
      Src: /src/gpac/src/filters/dec_faad.c:169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:194,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_faad.c:204,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:219,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_faad.c:221,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dec_faad.c:224,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_faad.c:231,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_faad.c:233,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_faad.c:129,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_faad.c:116,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_faad.c:122,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:152,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_faad.c:144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_faad.c:158,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:180,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:186,1
    - Dst: gf_stringizer
      Src: /src/gpac/src/filters/dec_faad.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_faad.c:220,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_faad.c:225,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 94
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 237
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 237
    functionName: faaddec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_LOG
    - gf_m4a_write_config
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_m4a_get_config
    - gf_filter_get_udta
    - gf_crc_32
    - NeAACDecClose
    - gf_filter_pid_copy_properties
    - strcmp
    - NeAACDecInit2
    - PROP_UINT
    - gf_stringizer
    - gf_filter_set_name
    - gf_filter_pid_set_property
    - gf_free
    - NeAACDecOpen
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err faaddec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: faad_register
    functionSourceFile: /src/gpac/src/filters/dec_faad.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *faad_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:224,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bs_split.c:253,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:256,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:225,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:255,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:258,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:259,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:260,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:262,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:263,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bs_split.c:268,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/bs_split.c:267,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_split.c:269,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/bs_split.c:269,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - pctx
    - c_opid
    argTypes:
    - BSSplitIn*
    - BSSplitOut*
    constantsTouched: []
    func_position:
      end: 270
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 270
    functionName: bs_split_update_hevc_linf
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_list_count
    - gf_bs_new
    - gf_filter_pid_set_info_str
    - gf_bs_write_int
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_update_hevc_linf(BSSplitIn *pctx, BSSplitOut
      *c_opid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - c_opid
    - layer_id
    - temporal_id
    argTypes:
    - BSSplitOut*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: match_substream
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool match_substream(BSSplitOut *c_opid, u32 layer_id, u32
      temporal_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:288,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:293,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/bs_split.c:300,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:277,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:281,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:292,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:297,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/bs_split.c:301,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:285,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/bs_split.c:288,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:300,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/bs_split.c:310,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bs_split.c:274,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:276,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:278,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:283,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:292,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:297,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - c_opid
    - pid
    - svc_base_id
    argTypes:
    - BSSplitCtx*
    - BSSplitOut*
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 314
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 314
    functionName: bs_split_copy_props_base
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_UINT
    - gf_filter_pid_set_property_str
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_copy_props_base(BSSplitCtx *ctx, BSSplitOut *c_opid,
      GF_FilterPid *pid, u32 svc_base_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:110,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/bs_split.c:112,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ps_list
    - sl
    argTypes:
    - GF_List*
    - GF_NALUFFParam*
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: bs_split_svc_add_param
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_svc_add_param(GF_List *ps_list, GF_NALUFFParam
      *sl) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/bs_split.c:1021,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1180,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1181,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/bs_split.c:1200,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/bs_split.c:1201,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/bs_split.c:1202,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:1221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:1226,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1188,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/bs_split.c:1218,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/bs_split.c:1029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_split.c:1060,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/bs_split.c:1068,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/bs_split.c:1161,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1183,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1190,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1191,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1192,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1194,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bs_split.c:1197,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bs_split.c:1203,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bs_split.c:1025,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bs_split.c:1031,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/bs_split.c:1069,1
    - Dst: bs_split_get_out_stream
      Src: /src/gpac/src/filters/bs_split.c:1138,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bs_split.c:1166,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1184,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1185,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1186,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1187,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/bs_split.c:1216,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bs_split.c:1230,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/bs_split.c:1208,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:1023,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_split.c:1055,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1175,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1179,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1172,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1176,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1177,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_split.c:1195,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/bs_split.c:1213,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:1228,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/bs_split.c:1199,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 190
    argCount: 4
    argNames:
    - ctx
    - pctx
    - pck
    - codec_type
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1235
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1235
    functionName: nalu_split_packet
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - GF_LOG
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_filter_pck_set_sap
    - gf_list_count
    - gf_filter_pck_set_cts
    - bs_split_get_out_stream
    - gf_bs_write_int
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_filter_pck_expand
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_avc_parse_nalu
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nalu_split_packet(BSSplitCtx *ctx, BSSplitIn *pctx,
      GF_FilterPacket *pck, u32 codec_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:1254,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:1259,1
    - Dst: bs_split_svcc_del
      Src: /src/gpac/src/filters/bs_split.c:1258,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/bs_split.c:1257,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bs_split.c:1255,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:1262,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:1266,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:1270,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bs_split.c:1274,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/bs_split.c:1280,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:1282,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_split.c:1281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - filter
    - ctx
    - pctx
    - is_finalize
    - is_reconf
    argTypes:
    - GF_Filter*
    - BSSplitCtx*
    - BSSplitIn*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1284
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1284
    functionName: bs_split_reset_stream
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_odf_avc_cfg_del
    - bs_split_svcc_del
    - gf_free
    - gf_list_del_item
    - gf_filter_pid_remove
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_reset_stream(GF_Filter *filter, BSSplitCtx *ctx,
      BSSplitIn *pctx, Bool is_finalize, Bool is_reconf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1366,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/bs_split.c:1368,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/bs_split.c:1372,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/bs_split.c:1378,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1374,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/bs_split.c:1380,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:1381,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:1382,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/bs_split.c:1383,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/bs_split.c:1389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1393
    functionName: bs_split_process
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pid_get_udta
    - gf_list_count
    - gf_filter_get_ipid_count
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_get_ipid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_split_process(GF_Filter *filter) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:143,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:143,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:148,1
    - Dst: bs_split_svc_add_param
      Src: /src/gpac/src/filters/bs_split.c:182,1
    - Dst: bs_split_svc_add_param
      Src: /src/gpac/src/filters/bs_split.c:197,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:133,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:147,1
    - Dst: CHECK_PARAM
      Src: /src/gpac/src/filters/bs_split.c:171,1
    - Dst: CHECK_PARAM
      Src: /src/gpac/src/filters/bs_split.c:163,1
    - Dst: CHECK_PARAM
      Src: /src/gpac/src/filters/bs_split.c:168,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_split.c:206,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/bs_split.c:212,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:213,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:136,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:177,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:148,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/bs_split.c:181,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/bs_split.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_split.c:203,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:142,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:147,1
    - Dst: CHECK_PARAM
      Src: /src/gpac/src/filters/bs_split.c:158,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:178,1
    - Dst: CHECK_PARAM
      Src: /src/gpac/src/filters/bs_split.c:161,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:192,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:193,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_split.c:213,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 2
    argNames:
    - pctx
    - c_opid
    argTypes:
    - BSSplitIn*
    - BSSplitOut*
    constantsTouched: []
    func_position:
      end: 215
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 215
    functionName: bs_split_check_svc_config
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - bs_split_svc_add_param
    - gf_list_find
    - gf_list_count
    - GF_LOG
    - gf_odf_avc_cfg_write
    - gf_filter_pid_set_property
    - CHECK_PARAM
    - memcpy
    - PROP_UINT
    - GF_SAFEALLOC
    - gf_list_new
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_check_svc_config(BSSplitIn *pctx, BSSplitOut
      *c_opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_split_packet
      Src: /src/gpac/src/filters/bs_split.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1240
    functionName: avc_split_packet
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - nalu_split_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_split_packet(BSSplitCtx *ctx, BSSplitIn *pctx, GF_FilterPacket
      *pck) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1290,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:1307,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:1320,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/bs_split.c:1325,1
    - Dst: bs_split_reset_stream
      Src: /src/gpac/src/filters/bs_split.c:1295,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:1309,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:1313,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bs_split.c:1296,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/bs_split.c:1300,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:1314,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1289,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:1305,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/bs_split.c:1355,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:1324,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bs_split.c:1315,1
    - Dst: bs_split_reset_stream
      Src: /src/gpac/src/filters/bs_split.c:1351,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:1316,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/bs_split.c:1317,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1360
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1360
    functionName: bs_split_configure_pid
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - bs_split_reset_stream
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_fatal_assert
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_split_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1397,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1402
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1402
    functionName: bs_split_initialize
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_split_initialize(GF_Filter *filter) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:323,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/bs_split.c:365,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/bs_split.c:413,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:428,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:446,1
    - Dst: bs_split_copy_props_base
      Src: /src/gpac/src/filters/bs_split.c:461,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:471,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:483,1
    - Dst: memset
      Src: /src/gpac/src/filters/bs_split.c:489,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:498,1
    - Dst: bs_split_update_hevc_linf
      Src: /src/gpac/src/filters/bs_split.c:548,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_split.c:518,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:523,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:326,1
    - Dst: strchr
      Src: /src/gpac/src/filters/bs_split.c:364,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/bs_split.c:367,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/bs_split.c:418,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:476,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/bs_split.c:496,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:510,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/bs_split.c:517,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:518,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:525,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:546,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/bs_split.c:545,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:510,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:501,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/bs_split.c:360,1
    - Dst: match_substream
      Src: /src/gpac/src/filters/bs_split.c:332,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:420,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:417,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:415,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:498,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:501,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:505,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:515,1
    - Dst: bs_split_check_svc_config
      Src: /src/gpac/src/filters/bs_split.c:531,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:519,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:505,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:525,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:545,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:328,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/bs_split.c:361,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:430,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:438,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:422,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:452,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:473,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:486,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:487,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:496,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/bs_split.c:546,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 224
    argCount: 6
    argNames:
    - ctx
    - pctx
    - is_config
    - layer_id
    - temporal_id
    - force_dv
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - Bool
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 550
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 550
    functionName: bs_split_get_out_stream
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - bs_split_check_svc_config
    - memset
    - PROP_DATA
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - gf_list_last
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - strcmp
    - bs_split_update_hevc_linf
    - gf_odf_hevc_cfg_write
    - PROP_UINT
    - match_substream
    - gf_list_get
    - gf_filter_pid_set_property
    - memcpy
    - strchr
    - sscanf
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - bs_split_copy_props_base
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: BSSplitOut*
    signature: 'static BSSplitOut *bs_split_get_out_stream(BSSplitCtx *ctx, BSSplitIn
      *pctx, Bool is_config, u32 layer_id, u32 temporal_id, Bool force_dv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:570,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bs_split.c:579,1
    - Dst: memset
      Src: /src/gpac/src/filters/bs_split.c:577,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:593,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:614,1
    - Dst: bs_split_copy_props_base
      Src: /src/gpac/src/filters/bs_split.c:633,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:634,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:622,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:644,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:653,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:655,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:573,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/bs_split.c:576,1
    - Dst: bs_split_svcc_del
      Src: /src/gpac/src/filters/bs_split.c:588,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:615,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:618,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:643,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:648,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/bs_split.c:581,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:585,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:616,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:620,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_split.c:634,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:635,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:649,1
    - Dst: bs_split_copy_props_base
      Src: /src/gpac/src/filters/bs_split.c:651,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:653,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:657,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:586,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:627,1
    - Dst: AVC_READ_LIST
      Src: /src/gpac/src/filters/bs_split.c:642,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    constantsTouched: []
    func_position:
      end: 660
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 660
    functionName: avc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - memset
    - AVC_READ_LIST
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_bs_new
    - gf_odf_avc_cfg_write
    - gf_odf_avc_cfg_del
    - gf_filter_pid_set_property
    - bs_split_svcc_del
    - gf_odf_avc_cfg_read
    - PROP_UINT
    - bs_split_copy_props_base
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_rewrite_pid_config(BSSplitCtx *ctx, BSSplitIn *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:999,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bs_split.c:1002,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    constantsTouched: []
    func_position:
      end: 1005
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1005
    functionName: none_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_filter_pid_copy_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_rewrite_pid_config(BSSplitCtx *ctx, BSSplitIn *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_split_packet
      Src: /src/gpac/src/filters/bs_split.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1244
    functionName: hevc_split_packet
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - nalu_split_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevc_split_packet(BSSplitCtx *ctx, BSSplitIn *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_split.c:1405,1
    - Dst: bs_split_reset_stream
      Src: /src/gpac/src/filters/bs_split.c:1409,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bs_split.c:1407,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:1406,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_split.c:1411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1412
    functionName: bs_split_finalize
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - bs_split_reset_stream
    - gf_list_count
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/bs_split.c:556,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:558,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/bs_split.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - svcc
    argTypes:
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: bs_split_svcc_del
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_odf_avc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'static void bs_split_svcc_del(GF_AVCConfig *svcc) '
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:783,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:856,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:974,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:967,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:870,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:976,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:989,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:832,1
    - Dst: gf_vvc_parse_nalu
      Src: /src/gpac/src/filters/bs_split.c:910,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:926,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:692,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:972,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:986,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:831,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:959,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:840,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:751,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:739,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:722,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:761,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:766,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:769,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:786,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:925,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/bs_split.c:948,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:690,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:717,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:744,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:747,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:817,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:965,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:754,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_split.c:798,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:819,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/bs_split.c:946,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:811,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_split.c:958,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:698,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:788,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:807,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:936,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:928,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/bs_split.c:896,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:965,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:802,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:934,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:767,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:778,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_split.c:958,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:872,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:763,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:875,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:801,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:985,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:868,1
    - Dst: bs_split_update_hevc_linf
      Src: /src/gpac/src/filters/bs_split.c:969,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_split.c:750,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:741,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:777,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/bs_split.c:800,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:990,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/bs_split.c:745,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:753,1
    - Dst: bs_split_get_out_stream
      Src: /src/gpac/src/filters/bs_split.c:734,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:787,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:682,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_split.c:790,1
    - Dst: bs_split_copy_props_base
      Src: /src/gpac/src/filters/bs_split.c:956,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_split.c:975,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_split.c:795,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bs_split.c:696,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_split.c:683,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:713,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:715,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_split.c:770,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:784,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_split.c:845,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_split.c:967,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_split.c:978,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_split.c:836,1
    - Dst: match_substream
      Src: /src/gpac/src/filters/bs_split.c:888,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 287
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    constantsTouched: []
    func_position:
      end: 992
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 992
    functionName: vvc_hevc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_vvc_parse_nalu
    - GF_SAFEALLOC
    - gf_list_del
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - bs_split_update_hevc_linf
    - gf_odf_hevc_cfg_write
    - gf_hevc_parse_nalu
    - bs_split_get_out_stream
    - PROP_UINT
    - gf_list_new
    - match_substream
    - gf_list_get
    - gf_odf_vvc_cfg_write
    - gf_filter_pid_set_property
    - memcpy
    - gf_free
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - bs_split_copy_props_base
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_hevc_rewrite_pid_config(BSSplitCtx *ctx, BSSplitIn
      *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_split.c:1009,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bs_split.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1013
    functionName: none_split_packet
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pck_forward
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_split_packet(BSSplitCtx *ctx, BSSplitIn *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_split_packet
      Src: /src/gpac/src/filters/bs_split.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - BSSplitCtx*
    - BSSplitIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    functionName: vvc_split_packet
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached:
    - nalu_split_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_split_packet(BSSplitCtx *ctx, BSSplitIn *pctx, GF_FilterPacket
      *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1492
    functionName: bssplit_register
    functionSourceFile: /src/gpac/src/filters/bs_split.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bssplit_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_sock.c:77,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_sock.c:88,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:80,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_sock.c:86,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_sock.c:84,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_sock.c:89,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_sock.c:94,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:96,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_sock.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: sockout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_init_play_event
    - gf_sk_del
    - gf_filter_pid_check_caps
    - gf_filter_post_process_task
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_sock.c:242,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_sock.c:245,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:246,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_sock.c:247,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_sock.c:244,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_sock.c:249,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: sockout_finalize
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_sk_del
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void sockout_finalize(GF_Filter *filter) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_sock.c:344,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_sock.c:348,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_sock.c:366,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_sock.c:371,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_sock.c:370,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_sock.c:501,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_sock.c:509,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:510,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_sock.c:518,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_sock.c:521,1
    - Dst: sockout_send_packet
      Src: /src/gpac/src/filters/out_sock.c:523,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_sock.c:473,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_sock.c:489,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:471,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_sock.c:339,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_sock.c:362,1
    - Dst: gf_sk_get_remote_address
      Src: /src/gpac/src/filters/out_sock.c:363,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_sock.c:379,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_sock.c:383,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:395,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_sock.c:433,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/out_sock.c:440,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/out_sock.c:452,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_sock.c:458,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_sock.c:508,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_sock.c:358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:365,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_sock.c:389,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_sock.c:414,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:421,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_sock.c:422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:441,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_sock.c:451,1
    - Dst: gf_sk_select
      Src: /src/gpac/src/filters/out_sock.c:500,1
    - Dst: sockout_send_packet
      Src: /src/gpac/src/filters/out_sock.c:504,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_sock.c:444,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_sock.c:525,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_sock.c:331,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_sock.c:342,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_sock.c:337,1
    - Dst: MAX
      Src: /src/gpac/src/filters/out_sock.c:342,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_sock.c:346,1
    - Dst: gf_sk_accept
      Src: /src/gpac/src/filters/out_sock.c:355,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_sock.c:387,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_sock.c:389,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_sock.c:402,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_sock.c:443,1
    - Dst: sockout_send_packet
      Src: /src/gpac/src/filters/out_sock.c:469,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_sock.c:474,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_sock.c:492,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 184
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 532
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 532
    functionName: sockout_process
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_sk_select
    - snprintf
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - GF_FEVT_INIT
    - GF_LOG
    - gf_sk_del
    - gf_filter_pid_drop_packet
    - GF_SAFEALLOC
    - gf_filter_update_status
    - gf_rand
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - strcpy
    - gf_filter_reporting_enabled
    - MAX
    - gf_list_get
    - gf_sk_accept
    - gf_filter_pid_init_play_event
    - gf_filter_post_process_task
    - gf_free
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    - gf_filter_pid_is_flush_eos
    - sockout_send_packet
    - gf_sk_get_remote_address
    - gf_list_rem
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockout_process(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_sock.c:266,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_sock.c:272,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/out_sock.c:277,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/filters/out_sock.c:268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:280,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_sock.c:285,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_sock.c:287,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_sock.c:289,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/out_sock.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:302,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_sock.c:315,1
    - Dst: gf_sk_send
      Src: /src/gpac/src/filters/out_sock.c:313,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:315,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - pck
    - dst_sock
    argTypes:
    - GF_SockOutCtx*
    - GF_FilterPacket*
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 323
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 323
    functionName: sockout_send_packet
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - gf_error_to_string
    - gf_filter_pid_get_property
    - GF_LOG
    - gf_sk_send
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockout_send_packet(GF_SockOutCtx *ctx, GF_FilterPacket
      *pck, GF_Socket *dst_sock) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_sock.c:117,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/out_sock.c:122,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_sock.c:156,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_sock.c:148,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_sock.c:153,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_sock.c:160,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_sock.c:189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:191,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_sock.c:201,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_sock.c:220,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_sock.c:116,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_sock.c:132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_sock.c:137,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:167,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:170,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_sock.c:158,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_sock.c:197,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_sock.c:217,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/filters/out_sock.c:224,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_sock.c:115,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_sock.c:127,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_sock.c:130,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_sock.c:142,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:173,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:176,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/out_sock.c:182,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_sock.c:199,1
    - Dst: gf_sk_setup_multicast
      Src: /src/gpac/src/filters/out_sock.c:207,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/filters/out_sock.c:221,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/out_sock.c:235,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_sock.c:230,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_sock.c:111,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_sock.c:118,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_sock.c:163,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_sock.c:185,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_sock.c:189,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_sock.c:199,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/out_sock.c:205,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_sock.c:214,1
    - Dst: gf_sk_listen
      Src: /src/gpac/src/filters/out_sock.c:218,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 238
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 238
    functionName: sockout_initialize
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_LOG
    - gf_sk_del
    - gf_filter_is_temporary
    - strlwr
    - gf_filter_override_caps
    - gf_file_ext_start
    - gf_filter_get_udta
    - PROP_UINT
    - atoi
    - gf_list_new
    - PROP_NAME
    - gf_sk_setup_multicast
    - gf_sk_bind
    - strchr
    - gf_filter_post_process_task
    - strnicmp
    - gf_sk_connect
    - gf_sk_set_buffer_size
    - gf_filter_get_netcap_id
    - strrchr
    - gf_sk_is_multicast_address
    - gf_filter_setup_failure
    - strncpy
    - gf_sk_listen
    - gf_sk_new_ex
    - gf_sk_server_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockout_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:536,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:540,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:539,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_sock.c:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: sockout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore sockout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_sock.c:625,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_sock.c:627,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_sock.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 633
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 633
    functionName: sockout_register
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *sockout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: sockout_register
    functionSourceFile: /src/gpac/src/filters/out_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *sockout_register(GF_FilterSession *session) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_theora.c:142,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_theora.c:145,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_theora.c:180,1
    - Dst: theora_decode_packetin
      Src: /src/gpac/src/filters/dec_theora.c:188,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_theora.c:195,1
    - Dst: theora_decode_YUVout
      Src: /src/gpac/src/filters/dec_theora.c:199,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_theora.c:201,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_theora.c:204,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_theora.c:235,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_theora.c:242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_theora.c:215,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dec_theora.c:214,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_theora.c:137,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_theora.c:146,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_theora.c:150,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_theora.c:190,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_theora.c:166,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dec_theora.c:208,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_theora.c:211,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:212,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:214,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_theora.c:229,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_theora.c:234,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_theora.c:259,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_theora.c:261,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_theora.c:246,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_theora.c:141,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_theora.c:152,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_theora.c:176,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_theora.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:215,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_theora.c:218,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_theora.c:244,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_theora.c:245,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_theora.c:248,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_theora.c:253,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_theora.c:257,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_theora.c:247,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_theora.c:249,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_theora.c:213,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_theora.c:250,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_theora.c:158,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_theora.c:159,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_theora.c:163,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_theora.c:181,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_theora.c:189,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_theora.c:170,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_theora.c:164,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_theora.c:209,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:211,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_theora.c:212,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 130
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 263
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 263
    functionName: theoradec_process
    functionSourceFile: /src/gpac/src/filters/dec_theora.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_get_duration
    - theora_decode_YUVout
    - theora_decode_packetin
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - PROP_FRAC_INT
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_list_insert
    - gf_list_get
    - memcmp
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err theoradec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_theora.c:273,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_theora.c:279,1
    - Dst: theora_clear
      Src: /src/gpac/src/filters/dec_theora.c:275,1
    - Dst: theora_comment_clear
      Src: /src/gpac/src/filters/dec_theora.c:277,1
    - Dst: theora_info_clear
      Src: /src/gpac/src/filters/dec_theora.c:276,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_theora.c:280,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_theora.c:281,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_theora.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: theoradec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_theora.c
    functionUses: []
    functionsReached:
    - theora_info_clear
    - gf_filter_get_udta
    - theora_clear
    - gf_list_del
    - gf_list_count
    - theora_comment_clear
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void theoradec_finalize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_theora.c:60,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_theora.c:86,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_theora.c:90,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_theora.c:109,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_theora.c:98,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_theora.c:108,1
    - Dst: theora_info_init
      Src: /src/gpac/src/filters/dec_theora.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_theora.c:117,1
    - Dst: theora_decode_init
      Src: /src/gpac/src/filters/dec_theora.c:123,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_theora.c:124,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_theora.c:89,1
    - Dst: theora_comment_clear
      Src: /src/gpac/src/filters/dec_theora.c:95,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_theora.c:111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_theora.c:74,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_theora.c:71,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_theora.c:65,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_theora.c:82,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_theora.c:90,1
    - Dst: theora_clear
      Src: /src/gpac/src/filters/dec_theora.c:93,1
    - Dst: theora_comment_init
      Src: /src/gpac/src/filters/dec_theora.c:106,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dec_theora.c:113,1
    - Dst: theora_decode_header
      Src: /src/gpac/src/filters/dec_theora.c:114,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dec_theora.c:77,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_theora.c:78,1
    - Dst: theora_info_clear
      Src: /src/gpac/src/filters/dec_theora.c:94,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_theora.c:112,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_theora.c:119,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 127
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 127
    functionName: theoradec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_theora.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - theora_info_clear
    - gf_malloc
    - strncmp
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_bs_del
    - gf_crc_32
    - theora_decode_header
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_bs_read_data
    - gf_bs_read_u16
    - theora_clear
    - gf_bs_new
    - gf_filter_pid_set_property
    - theora_info_init
    - theora_decode_init
    - gf_free
    - gf_filter_pid_get_property
    - theora_comment_clear
    - theora_comment_init
    - gf_bs_available
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err theoradec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: theoradec_register
    functionSourceFile: /src/gpac/src/filters/dec_theora.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *theoradec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_theora.c:267,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_theora.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: theoradec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_theora.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err theoradec_initialize(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:119,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:114,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:122,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:134,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:133,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:170,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_adts.c:112,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:116,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:121,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:136,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_adts.c:141,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_adts.c:158,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_adts.c:163,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_adts.c:166,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_adts.c:181,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_adts.c:110,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:124,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:127,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:126,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:177,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:180,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:120,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:153,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_adts.c:171,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_adts.c:174,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_adts.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 2
    argNames:
    - bs
    - hdr
    argTypes:
    - GF_BitStream*
    - ADTSHeader*
    constantsTouched: []
    func_position:
      end: 188
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 188
    functionName: adts_dmx_sync_frame_bs
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: Bool
    signature: 'static Bool adts_dmx_sync_frame_bs(GF_BitStream *bs, ADTSHeader *hdr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_adts.c:196,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_adts.c:206,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_adts.c:210,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_adts.c:214,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_adts.c:201,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_adts.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:216,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_adts.c:217,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:219,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: adts_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adts_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:335,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:340,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:336,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:359,1
    - Dst: gf_m4a_get_profile
      Src: /src/gpac/src/filters/reframe_adts.c:420,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/reframe_adts.c:429,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:437,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:444,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/reframe_adts.c:446,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:452,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:453,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:459,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:463,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_adts.c:331,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:338,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:337,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:438,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:440,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/reframe_adts.c:449,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_adts.c:450,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:460,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:451,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:463,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_adts.c:317,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_adts.c:326,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_adts.c:329,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:335,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:336,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_adts.c:352,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:340,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_adts.c:359,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_adts.c:371,1
    - Dst: gf_m4a_write_config_bs
      Src: /src/gpac/src/filters/reframe_adts.c:428,1
    - Dst: adts_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_adts.c:318,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:331,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_adts.c:338,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:337,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:433,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:434,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_adts.c:443,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:460,1
    - Dst: id3dmx_flush
      Src: /src/gpac/src/filters/reframe_adts.c:467,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:452,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:459,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:453,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_adts.c:451,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 151
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_ADTSDmxCtx*
    constantsTouched: []
    func_position:
      end: 471
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 471
    functionName: adts_dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_m4a_get_profile
    - gf_bs_get_content
    - gf_m4a_write_config_bs
    - gf_bs_del
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_bs_new
    - gf_filter_pid_set_property
    - id3dmx_flush
    - adts_dmx_check_dur
    - PROP_FRAC64
    - gf_timestamp_rescale
    - PROP_UINT
    - gf_bs_align
    - gf_bs_write_int
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void adts_dmx_check_pid(GF_Filter *filter, GF_ADTSDmxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_adts.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ADTSDmxCtx*
    constantsTouched: []
    func_position:
      end: 553
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 553
    functionName: adts_dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void adts_dmx_update_cts(GF_ADTSDmxCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_adts.c:909,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_adts.c:912,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_adts.c:911,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_adts.c:910,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_adts.c:913,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_adts.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: adts_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void adts_dmx_finalize(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_adts.c:477,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_adts.c:520,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_adts.c:518,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 539
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 539
    functionName: adts_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool adts_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_adts.c:242,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_adts.c:252,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_adts.c:250,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_adts.c:243,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_adts.c:259,1
    - Dst: adts_dmx_sync_frame_bs
      Src: /src/gpac/src/filters/reframe_adts.c:262,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_adts.c:276,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:277,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:284,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:286,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_adts.c:288,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_adts.c:295,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_adts.c:297,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_adts.c:305,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_adts.c:287,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_adts.c:295,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_ADTSDmxCtx*
    constantsTouched: []
    func_position:
      end: 307
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 307
    functionName: adts_dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - adts_dmx_sync_frame_bs
    - gf_bs_from_file
    - gf_bs_del
    - strncmp
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - gf_fclose
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'static void adts_dmx_check_dur(GF_Filter *filter, GF_ADTSDmxCtx *ctx) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: adts_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_adts.c:569,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_adts.c:580,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_adts.c:681,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:705,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:716,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:717,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:754,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:760,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:796,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_adts.c:844,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_adts.c:847,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_adts.c:857,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_adts.c:895,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_adts.c:849,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_adts.c:847,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:724,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:719,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:739,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_adts.c:557,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_adts.c:574,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_adts.c:576,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_adts.c:591,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_adts.c:593,1
    - Dst: id3dmx_flush
      Src: /src/gpac/src/filters/reframe_adts.c:674,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:692,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_adts.c:699,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_adts.c:701,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:713,1
    - Dst: adts_dmx_check_pid
      Src: /src/gpac/src/filters/reframe_adts.c:802,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_adts.c:842,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_adts.c:879,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_adts.c:851,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_adts.c:882,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_adts.c:840,1
    - Dst: adts_dmx_update_cts
      Src: /src/gpac/src/filters/reframe_adts.c:859,1
    - Dst: gf_m4a_parse_program_config_element
      Src: /src/gpac/src/filters/reframe_adts.c:761,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_adts.c:579,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_adts.c:598,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_adts.c:654,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:718,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:721,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:722,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:780,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:834,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_adts.c:899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:864,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_adts.c:611,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_adts.c:670,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_adts.c:657,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_adts.c:613,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_adts.c:619,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:707,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:714,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_adts.c:723,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:744,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:765,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_adts.c:850,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_adts.c:845,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_adts.c:838,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_adts.c:854,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_adts.c:902,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 337
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 905
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 905
    functionName: adts_dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - adts_dmx_check_dur
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_byte_offset
    - gf_timestamp_rescale
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - memmove
    - adts_dmx_check_pid
    - gf_filter_pck_set_duration
    - gf_bs_get_position
    - gf_bs_read_int
    - id3dmx_flush
    - gf_bs_new
    - gf_filter_pck_set_framing
    - adts_dmx_update_cts
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    - memchr
    - gf_m4a_parse_program_config_element
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adts_dmx_process(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_adts.c:931,1
    - Dst: adts_dmx_sync_frame_bs
      Src: /src/gpac/src/filters/reframe_adts.c:947,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_adts.c:943,1
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_adts.c:942,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_adts.c:941,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:956,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_adts.c:970,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_adts.c:971,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_adts.c:973,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 983
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 983
    functionName: adts_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached:
    - adts_dmx_sync_frame_bs
    - memset
    - gf_bs_del
    - gf_bs_get_position
    - GF_LOG
    - gf_bs_new
    - gf_bs_available
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: char*
    signature: 'static const char *adts_dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: rfadts_register
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfadts_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: rfadts_register
    functionSourceFile: /src/gpac/src/filters/reframe_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfadts_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:47,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:63,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:51,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:55,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:60,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:68,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:74,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_laser.c:78,1
    - Dst: gf_laser_decoder_remove_stream
      Src: /src/gpac/src/filters/dec_laser.c:81,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:86,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/dec_laser.c:92,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_laser.c:97,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_laser.c:102,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_laser.c:103,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_laser.c:102,1
    - Dst: gf_laser_decoder_configure_stream
      Src: /src/gpac/src/filters/dec_laser.c:88,1
    - Dst: gf_laser_decoder_remove_stream
      Src: /src/gpac/src/filters/dec_laser.c:87,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_laser.c:101,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: lsrdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_laser_decoder_remove_stream
    - gf_filter_pid_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_laser_decoder_configure_stream
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsrdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_laser.c:176,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_laser.c:183,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_laser.c:196,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_laser.c:188,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_laser.c:205,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:158,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_laser.c:164,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:179,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_laser.c:200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_laser.c:209,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_laser.c:166,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_laser.c:174,1
    - Dst: gf_laser_decode_has_conditionnals
      Src: /src/gpac/src/filters/dec_laser.c:187,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_laser.c:194,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_laser.c:200,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dec_laser.c:188,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_laser.c:185,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_laser.c:202,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/dec_laser.c:215,1
    - Dst: gf_laser_decode_has_conditionnals
      Src: /src/gpac/src/filters/dec_laser.c:163,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dec_laser.c:164,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:177,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_laser.c:190,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_laser.c:199,1
    - Dst: gf_laser_decode_au
      Src: /src/gpac/src/filters/dec_laser.c:206,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_laser.c:207,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_laser.c:211,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 218
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 218
    functionName: lsrdec_process
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_check_sys_frame
    - gf_filter_pid_is_eos
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_filter_pid_set_info
    - gf_filter_pid_get_packet
    - gf_laser_decode_au
    - gf_scene_attach_to_compositor
    - gf_timestamp_to_clocktime
    - gf_filter_pid_get_udta
    - gf_filter_get_ipid
    - gf_filter_pid_get_property
    - gf_laser_decode_has_conditionnals
    - gf_filter_get_ipid_count
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsrdec_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:233,1
    - Dst: gf_laser_decoder_del
      Src: /src/gpac/src/filters/dec_laser.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: lsrdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached:
    - gf_laser_decoder_del
    - gf_filter_get_udta
    linkageType: ''
    returnType: void
    signature: 'static void lsrdec_finalize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:113,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_laser.c:128,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_laser.c:129,1
    - Dst: gf_laser_decoder_new
      Src: /src/gpac/src/filters/dec_laser.c:136,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_laser.c:126,1
    - Dst: gf_laser_decoder_set_clock
      Src: /src/gpac/src/filters/dec_laser.c:138,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_laser.c:139,1
    - Dst: lsrdec_configure_pid
      Src: /src/gpac/src/filters/dec_laser.c:140,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 147
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 147
    functionName: lsrdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_udta
    - lsrdec_configure_pid
    - gf_filter_get_ipid_count
    - gf_laser_decoder_new
    - gf_laser_decoder_set_clock
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool lsrdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dec_laser.c:223,1
    - Dst: gf_svg_get_system_paint_server_name
      Src: /src/gpac/src/filters/dec_laser.c:225,1
    - Dst: gf_svg_get_system_paint_server_type
      Src: /src/gpac/src/filters/dec_laser.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: lsrdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached:
    - gf_svg_get_system_paint_server_type
    - gf_svg_get_system_paint_server_name
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err lsrdec_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: lsrdec_register
    functionSourceFile: /src/gpac/src/filters/dec_laser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *lsrdec_register(GF_FilterSession *session) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:359,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_av1.c:363,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:375,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/reframe_av1.c:413,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/filters/reframe_av1.c:428,1
    - Dst: aom_av1_parse_temporal_unit_from_ivf
      Src: /src/gpac/src/filters/reframe_av1.c:462,1
    - Dst: gf_media_parse_ivf_frame_header
      Src: /src/gpac/src/filters/reframe_av1.c:465,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:535,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_av1.c:537,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_av1.c:372,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:362,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_av1.c:378,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:417,1
    - Dst: gf_odf_ia_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:424,1
    - Dst: gf_odf_av1_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:430,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:436,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:446,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:522,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:523,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_av1.c:537,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:535,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_av1.c:390,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_av1.c:404,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/reframe_av1.c:412,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_av1.c:410,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:419,1
    - Dst: aom_iamf_parse_temporal_unit
      Src: /src/gpac/src/filters/reframe_av1.c:472,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_av1.c:501,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:511,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_av1.c:512,1
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:516,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_av1.c:533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:377,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_av1.c:388,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_av1.c:398,1
    - Dst: gf_iamf_init_state
      Src: /src/gpac/src/filters/reframe_av1.c:423,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:439,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:449,1
    - Dst: aom_av1_parse_temporal_unit_from_section5
      Src: /src/gpac/src/filters/reframe_av1.c:455,1
    - Dst: aom_av1_parse_temporal_unit_from_annexb
      Src: /src/gpac/src/filters/reframe_av1.c:458,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_av1.c:466,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_av1.c:513,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:518,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:517,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:521,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:533,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 180
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 543
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 543
    functionName: av1dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_odf_av1_cfg_new
    - gf_bs_from_file
    - gf_odf_ia_cfg_del
    - strncmp
    - GF_LOG
    - gf_bs_seek
    - PROP_BOOL
    - gf_av1_init_state
    - PROP_FRAC64
    - GF_SAFEALLOC
    - gf_bs_skip_bytes
    - aom_iamf_parse_temporal_unit
    - gf_bs_del
    - gf_av1_reset_state
    - aom_av1_parse_temporal_unit_from_ivf
    - gf_bs_set_logger
    - gf_iamf_reset_state
    - gf_odf_ia_cfg_new
    - gf_bs_get_position
    - gf_media_parse_ivf_frame_header
    - gf_fileio_is_main_thread
    - gf_odf_av1_cfg_del
    - gf_filter_pid_set_property
    - gf_sys_is_test_mode
    - gf_free
    - aom_av1_parse_temporal_unit_from_annexb
    - gf_iamf_init_state
    - aom_av1_parse_temporal_unit_from_section5
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_log_tool_level_on
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void av1dmx_check_dur(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_av1.c:551,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_av1.c:594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:571,1
    - Dst: av1dmx_check_dur
      Src: /src/gpac/src/filters/reframe_av1.c:572,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_av1.c:596,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 616
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 616
    functionName: av1dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - GF_LOG
    - av1dmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool av1dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1569
    functionName: rfav1_register
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfav1_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:801,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:803,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:802,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:802,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:801,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:803,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:804,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vp_cfg
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: if
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - PROP_BOOL
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->vp_cfg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_av1.c:122,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_av1.c:132,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_av1.c:140,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:136,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_av1.c:127,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_av1.c:141,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:142,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:144,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:144,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 158
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 158
    functionName: av1dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1172,1
    - Dst: aom_iamf_parse_temporal_unit
      Src: /src/gpac/src/filters/reframe_av1.c:1176,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1178,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:1179,1
    - Dst: av1dmx_check_pid
      Src: /src/gpac/src/filters/reframe_av1.c:1184,1
    - Dst: av1dmx_parse_flush_sample
      Src: /src/gpac/src/filters/reframe_av1.c:1188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:1195,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1197,1
    - Dst: av1dmx_parse_flush_sample
      Src: /src/gpac/src/filters/reframe_av1.c:1201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1203
    functionName: av1dmx_parse_iamf
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - av1dmx_check_pid
    - gf_bs_get_position
    - av1dmx_parse_flush_sample
    - GF_LOG
    - gf_bs_seek
    - aom_iamf_parse_temporal_unit
    - gf_iamf_reset_state
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_parse_iamf(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1284,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_av1.c:1289,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_av1.c:1298,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_av1.c:1317,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_av1.c:1341,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_av1.c:1353,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_av1.c:1369,1
    - Dst: av1dmx_parse_flush_sample
      Src: /src/gpac/src/filters/reframe_av1.c:1285,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_av1.c:1290,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_av1.c:1302,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_av1.c:1325,1
    - Dst: av1dmx_process_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1322,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_av1.c:1315,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_av1.c:1349,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_av1.c:1356,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_av1.c:1372,1
    - Dst: av1dmx_check_dur
      Src: /src/gpac/src/filters/reframe_av1.c:1267,1
    - Dst: av1dmx_process_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1330,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_av1.c:1351,1
    - Dst: av1dmx_process_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1371,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_av1.c:1258,1
    - Dst: av1dmx_process_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1278,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_av1.c:1272,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_av1.c:1274,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/reframe_av1.c:1310,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_av1.c:1337,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_av1.c:1343,1
    - Dst: av1dmx_process_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1358,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_av1.c:1360,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_av1.c:1367,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1374
    functionName: av1dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_get_udta
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref_props
    - gf_bs_get_position
    - av1dmx_parse_flush_sample
    - gf_filter_pid_get_packet
    - gf_realloc
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - av1dmx_check_dur
    - memcpy
    - av1dmx_process_buffer
    - gf_filter_pck_get_framing
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_process(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_av1.c:1389,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:1391,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1393,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:1394,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_av1.c:1390,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_av1.c:1395,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:1396,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:1397,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:1399,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1401,1
    - Dst: gf_odf_ia_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:1402,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_av1.c:1403,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:1404,1
    - Dst: gf_sei_loader_del
      Src: /src/gpac/src/filters/reframe_av1.c:1406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1407
    functionName: av1dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_odf_vp_cfg_del
    - gf_bs_del
    - gf_odf_ia_cfg_del
    - gf_av1_reset_state
    - gf_odf_av1_cfg_del
    - gf_free
    - gf_sei_loader_del
    - gf_iamf_reset_state
    linkageType: ''
    returnType: void
    signature: 'static void av1dmx_finalize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:332,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 7
    argNames:
    - udta
    - field_name
    - nb_bits
    - field_val
    - idx1
    - idx2
    - idx3
    argTypes:
    - void*
    - char*
    - u32
    - u64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: av1dmx_bs_log
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void av1dmx_bs_log(void *udta, const char *field_name, u32
      nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_parse_ivf_file_header
      Src: /src/gpac/src/filters/reframe_av1.c:205,1
    - Dst: gf_sei_loader_new
      Src: /src/gpac/src/filters/reframe_av1.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:250,1
    - Dst: gf_media_aom_probe_annexb
      Src: /src/gpac/src/filters/reframe_av1.c:290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:291,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/reframe_av1.c:301,1
    - Dst: gf_av1_get_obu_name
      Src: /src/gpac/src/filters/reframe_av1.c:306,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/reframe_av1.c:308,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:316,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:315,1
    - Dst: gf_sei_loader_new
      Src: /src/gpac/src/filters/reframe_av1.c:321,1
    - Dst: gf_sei_init_from_av1
      Src: /src/gpac/src/filters/reframe_av1.c:322,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:296,1
    - Dst: gf_media_probe_iamf
      Src: /src/gpac/src/filters/reframe_av1.c:192,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:218,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:222,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:226,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/reframe_av1.c:231,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:255,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:268,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:282,1
    - Dst: aom_av1_parse_temporal_unit_from_section5
      Src: /src/gpac/src/filters/reframe_av1.c:295,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:183,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:196,1
    - Dst: gf_media_probe_ivf
      Src: /src/gpac/src/filters/reframe_av1.c:200,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_av1.c:209,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:227,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_av1.c:220,1
    - Dst: gf_sei_init_from_av1
      Src: /src/gpac/src/filters/reframe_av1.c:213,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_av1.c:224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:253,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:312,1
    - Dst: gf_odf_av1_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:170,1
    - Dst: gf_sei_loader_del
      Src: /src/gpac/src/filters/reframe_av1.c:179,1
    - Dst: gf_odf_ia_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:173,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_av1.c:215,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/reframe_av1.c:227,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:261,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:284,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:294,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:298,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:306,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 163
    argCount: 4
    argNames:
    - filter
    - ctx
    - bs
    - last_obu_end
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    - GF_BitStream*
    - u32*
    constantsTouched: []
    func_position:
      end: 324
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 324
    functionName: av1dmx_check_format
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_odf_av1_cfg_new
    - gf_odf_vp_cfg_del
    - GF_LOG
    - gf_bs_seek
    - gf_4cc_to_str
    - gf_odf_vp_cfg_new
    - gf_sei_loader_new
    - GF_4CC
    - gf_av1_reset_state
    - gf_list_count
    - gf_media_probe_ivf
    - gf_media_probe_iamf
    - gf_media_parse_ivf_file_header
    - gf_sei_init_from_av1
    - gf_odf_ia_cfg_new
    - gf_bs_get_position
    - gf_av1_get_obu_name
    - aom_av1_parse_temporal_unit_from_section5
    - gf_filter_pid_get_property
    - gf_media_aom_probe_annexb
    - gf_filter_setup_failure
    - gf_sei_loader_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_check_format(GF_Filter *filter, GF_AV1DmxCtx *ctx, GF_BitStream
      *bs, u32 *last_obu_end) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_av1.c:1210,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/reframe_av1.c:1214,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/reframe_av1.c:1215,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_av1.c:1211,1
    - Dst: av1dmx_check_format
      Src: /src/gpac/src/filters/reframe_av1.c:1219,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:1223,1
    - Dst: av1dmx_parse_iamf
      Src: /src/gpac/src/filters/reframe_av1.c:1226,1
    - Dst: av1dmx_parse_vp9
      Src: /src/gpac/src/filters/reframe_av1.c:1228,1
    - Dst: av1dmx_parse_av1
      Src: /src/gpac/src/filters/reframe_av1.c:1230,1
    - Dst: av1dmx_parse_ivf
      Src: /src/gpac/src/filters/reframe_av1.c:1232,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1236,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_av1.c:1247,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/reframe_av1.c:1246,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 5
    argNames:
    - filter
    - ctx
    - data
    - data_size
    - is_copy
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 1253
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1253
    functionName: av1dmx_process_buffer
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - av1dmx_check_format
    - gf_bs_reassign_buffer
    - gf_bs_get_position
    - gf_bs_new
    - gf_bs_set_logger
    - gf_bs_available
    - av1dmx_parse_vp9
    - gf_fatal_assert
    - av1dmx_parse_ivf
    - av1dmx_parse_iamf
    - gf_log_tool_level_on
    - memmove
    - av1dmx_parse_av1
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_process_buffer(GF_Filter *filter, GF_AV1DmxCtx *ctx,
      const char *data, u32 data_size, Bool is_copy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_av1.c:1378,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/filters/reframe_av1.c:1379,1
    - Dst: gf_iamf_init_state
      Src: /src/gpac/src/filters/reframe_av1.c:1382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1385
    functionName: av1dmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_av1_init_state
    - gf_iamf_init_state
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1dmx_initialize(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_aom_probe_annexb
      Src: /src/gpac/src/filters/reframe_av1.c:1426,1
    - Dst: gf_media_aom_probe_annexb
      Src: /src/gpac/src/filters/reframe_av1.c:1430,1
    - Dst: gf_odf_av1_cfg_new
      Src: /src/gpac/src/filters/reframe_av1.c:1442,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:1446,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_av1.c:1411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:1447,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/reframe_av1.c:1479,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:1464,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:1443,1
    - Dst: gf_media_probe_ivf
      Src: /src/gpac/src/filters/reframe_av1.c:1422,1
    - Dst: gf_media_probe_iamf
      Src: /src/gpac/src/filters/reframe_av1.c:1418,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_av1.c:1438,1
    - Dst: gf_av1_init_state
      Src: /src/gpac/src/filters/reframe_av1.c:1441,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1480,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1472,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:1481,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filters/reframe_av1.c:1485,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_av1.c:1487,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filters/reframe_av1.c:1416,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/filters/reframe_av1.c:1415,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:1446,1
    - Dst: aom_av1_parse_temporal_unit_from_section5
      Src: /src/gpac/src/filters/reframe_av1.c:1444,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1490
    functionName: av1dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_media_probe_iamf
    - gf_odf_av1_cfg_new
    - aom_av1_parse_temporal_unit_from_section5
    - gf_bs_del
    - gf_av1_reset_state
    - gf_list_count
    - gf_media_aom_probe_annexb
    - gf_odf_av1_cfg_del
    - gf_log_get_tool_level
    - gf_bs_new
    - gf_bs_available
    - gf_av1_init_state
    - gf_media_probe_ivf
    - GF_SAFEALLOC
    - gf_free
    - gf_log_set_tool_level
    linkageType: ''
    returnType: char*
    signature: 'static const char * av1dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1564
    functionName: rfav1_register
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfav1_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_av1.c:620,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_av1.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 631
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 631
    functionName: av1dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void av1dmx_update_cts(GF_AV1DmxCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:823,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:844,1
    - Dst: av1dmx_check_pid
      Src: /src/gpac/src/filters/reframe_av1.c:848,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:855,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_av1.c:860,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:873,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:833,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_av1.c:868,1
    - Dst: gf_media_parse_ivf_frame_header
      Src: /src/gpac/src/filters/reframe_av1.c:820,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:825,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_av1.c:876,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_av1.c:878,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:862,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_av1.c:880,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:819,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:824,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_av1.c:842,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_av1.c:865,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_av1.c:870,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_av1.c:875,1
    - Dst: av1dmx_update_cts
      Src: /src/gpac/src/filters/reframe_av1.c:882,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 884
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 884
    functionName: av1dmx_parse_ivf
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - av1dmx_check_pid
    - gf_filter_pck_get_cts
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_sap
    - gf_bs_get_position
    - gf_media_parse_ivf_frame_header
    - GF_LOG
    - gf_bs_seek
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_bs_read_data
    - av1dmx_update_cts
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_parse_ivf(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_av1.c:1048,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_av1.c:1051,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1083,1
    - Dst: av1dmx_update_cts
      Src: /src/gpac/src/filters/reframe_av1.c:1082,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:1036,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_av1.c:1047,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_av1.c:1058,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_av1.c:1061,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/reframe_av1.c:1053,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/reframe_av1.c:1029,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:1034,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_av1.c:1041,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_av1.c:1045,1
    - Dst: gf_sei_load_from_state
      Src: /src/gpac/src/filters/reframe_av1.c:1078,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/reframe_av1.c:1074,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/reframe_av1.c:1027,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/reframe_av1.c:1028,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_av1.c:1054,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_av1.c:1080,1
    - Dst: gf_iamf_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1084,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1088
    functionName: av1dmx_parse_flush_sample
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_set_sap
    - gf_av1_reset_state
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_sei_load_from_state
    - memcpy
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_roll_info
    - gf_bs_get_size
    - gf_filter_pck_send
    - gf_bs_get_content_no_truncate
    - av1dmx_update_cts
    - gf_iamf_reset_state
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1dmx_parse_flush_sample(GF_Filter *filter, GF_AV1DmxCtx
      *ctx) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_av1.c:649,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_av1.c:658,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:692,1
    - Dst: gf_odf_ia_cfg_write
      Src: /src/gpac/src/filters/reframe_av1.c:707,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:754,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:734,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:743,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:780,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:750,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:640,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframe_av1.c:704,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:714,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:771,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_av1.c:784,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:746,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:768,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_av1.c:754,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_av1.c:701,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_av1.c:720,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:734,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_av1.c:743,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:780,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:777,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:664,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:668,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_av1.c:673,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:746,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:728,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:736,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:768,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_av1.c:662,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:693,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:777,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:758,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_av1.c:792,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:802,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:661,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/reframe_av1.c:728,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:736,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:747,1
    - Dst: gf_av1_format_mdcv_to_mpeg
      Src: /src/gpac/src/filters/reframe_av1.c:790,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_av1.c:702,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:731,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:802,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:803,1
    - Dst: gf_odf_vp_cfg_write
      Src: /src/gpac/src/filters/reframe_av1.c:657,1
    - Dst: av1dmx_check_dur
      Src: /src/gpac/src/filters/reframe_av1.c:650,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_av1.c:669,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:747,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:778,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_av1.c:742,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:761,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:731,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:749,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_av1.c:691,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframe_av1.c:671,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:723,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:791,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:690,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:778,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:765,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:749,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_av1.c:670,1
    - Dst: gf_odf_av1_cfg_write
      Src: /src/gpac/src/filters/reframe_av1.c:676,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:761,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_av1.c:785,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:803,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:804,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:663,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_av1.c:710,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:738,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_av1.c:765,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:779,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_av1.c:791,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:801,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:726,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_av1.c:683,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:700,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_av1.c:804,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:779,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_av1.c:639,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:738,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:750,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:801,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:784,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_av1.c:726,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_av1.c:771,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 169
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 807
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 807
    functionName: av1dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - PROP_DATA
    - PROP_BOOL
    - gf_odf_ia_cfg_write
    - PROP_FRAC64
    - gf_av1_format_mdcv_to_mpeg
    - gf_list_pop_back
    - gf_crc_32
    - gf_list_count
    - gf_filter_pid_copy_properties
    - av1dmx_check_dur
    - PROP_UINT
    - gf_list_get
    - gf_odf_vp_cfg_write
    - gf_odf_av1_cfg_write
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pid_get_property
    - gf_list_rem
    - PROP_FRAC
    - PROP_DATA_NO_COPY
    - PROP_LONGSINT
    linkageType: ''
    returnType: void
    signature: 'static void av1dmx_check_pid(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:898,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:908,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:951,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:952,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:960,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_av1.c:993,1
    - Dst: av1dmx_update_cts
      Src: /src/gpac/src/filters/reframe_av1.c:1013,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:975,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:917,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_av1.c:926,1
    - Dst: gf_vp9_parse_sample
      Src: /src/gpac/src/filters/reframe_av1.c:940,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:954,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:956,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/reframe_av1.c:965,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_av1.c:979,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_av1.c:984,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_av1.c:989,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_av1.c:1010,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:981,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/reframe_av1.c:1006,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:906,1
    - Dst: gf_vp9_parse_superframe
      Src: /src/gpac/src/filters/reframe_av1.c:932,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:944,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:934,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:950,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:939,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:958,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:964,1
    - Dst: av1dmx_check_pid
      Src: /src/gpac/src/filters/reframe_av1.c:968,1
    - Dst: gf_media_parse_ivf_frame_header
      Src: /src/gpac/src/filters/reframe_av1.c:899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:902,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_av1.c:927,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:941,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_av1.c:987,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:1009,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_av1.c:1011,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 106
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 1015
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 1015
    functionName: av1dmx_parse_vp9
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - av1dmx_check_pid
    - gf_filter_pck_get_cts
    - gf_vp9_parse_superframe
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_set_sap
    - gf_bs_get_position
    - gf_media_parse_ivf_frame_header
    - GF_LOG
    - gf_bs_seek
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_vp9_parse_sample
    - gf_fatal_assert
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_bs_read_data
    - av1dmx_update_cts
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_parse_vp9(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1099,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1111,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1103,1
    - Dst: aom_av1_parse_temporal_unit_from_section5
      Src: /src/gpac/src/filters/reframe_av1.c:1106,1
    - Dst: aom_av1_parse_temporal_unit_from_annexb
      Src: /src/gpac/src/filters/reframe_av1.c:1114,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1116,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_av1.c:1117,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_av1.c:1123,1
    - Dst: aom_av1_parse_temporal_unit_from_ivf
      Src: /src/gpac/src/filters/reframe_av1.c:1126,1
    - Dst: av1dmx_check_pid
      Src: /src/gpac/src/filters/reframe_av1.c:1134,1
    - Dst: gf_av1_reset_state
      Src: /src/gpac/src/filters/reframe_av1.c:1152,1
    - Dst: av1dmx_parse_flush_sample
      Src: /src/gpac/src/filters/reframe_av1.c:1162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_av1.c:1150,1
    - Dst: av1dmx_parse_flush_sample
      Src: /src/gpac/src/filters/reframe_av1.c:1142,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AV1DmxCtx*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1165
    functionName: av1dmx_parse_av1
    functionSourceFile: /src/gpac/src/filters/reframe_av1.c
    functionUses: []
    functionsReached:
    - av1dmx_check_pid
    - aom_av1_parse_temporal_unit_from_section5
    - gf_bs_get_position
    - gf_av1_reset_state
    - av1dmx_parse_flush_sample
    - GF_LOG
    - gf_bs_seek
    - aom_av1_parse_temporal_unit_from_ivf
    - aom_av1_parse_temporal_unit_from_annexb
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err av1dmx_parse_av1(GF_Filter *filter, GF_AV1DmxCtx *ctx) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:239,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:248,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:255,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:267,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/write_tx3g.c:272,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_tx3g.c:278,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/filters/write_tx3g.c:283,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:307,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:309,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:315,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/write_tx3g.c:394,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:397,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:374,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:241,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:245,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/filters/write_tx3g.c:263,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:264,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:308,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:311,1
    - Dst: gf_color_get_name
      Src: /src/gpac/src/filters/write_tx3g.c:311,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:375,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/write_tx3g.c:406,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:403,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:386,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:371,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:230,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:235,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:251,1
    - Dst: tx3g_format_time
      Src: /src/gpac/src/filters/write_tx3g.c:261,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:262,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:306,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:366,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:372,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:377,1
    - Dst: gf_color_get_name
      Src: /src/gpac/src/filters/write_tx3g.c:377,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:410,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:237,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:257,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:259,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:373,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:379,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:405,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 189
    argCount: 6
    argNames:
    - ctx
    - dump
    - txt
    - txtd
    - start_ts
    - end_ts
    argTypes:
    - TX3GMxCtx*
    - FILE*
    - GF_TextSample*
    - GF_Tx3gSampleEntryBox*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 412
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 412
    functionName: dump_ttxt_sample_ttml
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fprintf
    - gf_filter_pid_get_property
    - tx3g_format_time
    - gf_utf8_mbstowcs
    - gf_color_get_name
    - memcpy
    - gf_utf8_wcstombs
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dump_ttxt_sample_ttml(TX3GMxCtx *ctx, FILE *dump, GF_TextSample
      *txt, GF_Tx3gSampleEntryBox *txtd, u64 start_ts, u64 end_ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:549,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_tx3g.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tx3gmx_initialize
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tx3gmx_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: ufttxt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufttxt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:614,1
    - Dst: tx3gmx_initialize
      Src: /src/gpac/src/filters/write_tx3g.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: tx3g2srt_initialize
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - tx3gmx_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tx3g2srt_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: tx3g2srt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2srt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:654,1
    - Dst: tx3gmx_initialize
      Src: /src/gpac/src/filters/write_tx3g.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: tx3g2vtt_initialize
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - tx3gmx_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tx3g2vtt_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: tx3g2vtt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2vtt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:693,1
    - Dst: tx3gmx_initialize
      Src: /src/gpac/src/filters/write_tx3g.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: tx3g2ttml_initialize
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - tx3gmx_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tx3g2ttml_initialize(GF_Filter *filter) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:66,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_tx3g.c:71,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_tx3g.c:93,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:107,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:116,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/write_tx3g.c:139,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_tx3g.c:144,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:147,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_tx3g.c:150,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/write_tx3g.c:95,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:103,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_tx3g.c:104,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:106,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_tx3g.c:110,1
    - Dst: gf_odf_get_text_config
      Src: /src/gpac/src/filters/write_tx3g.c:122,1
    - Dst: gf_odf_tx3g_read
      Src: /src/gpac/src/filters/write_tx3g.c:130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_tx3g.c:144,1
    - Dst: tx3gmx_write_config
      Src: /src/gpac/src/filters/write_tx3g.c:153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:158,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_tx3g.c:76,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:79,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/write_tx3g.c:86,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/write_tx3g.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:84,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_tx3g.c:103,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/write_tx3g.c:106,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:104,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/write_tx3g.c:110,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/write_tx3g.c:120,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/write_tx3g.c:124,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/write_tx3g.c:132,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:156,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 161
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 161
    functionName: tx3gmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_odf_desc_del
    - gf_filter_pid_set_property_str
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_crc_32
    - tx3gmx_write_config
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - gf_odf_desc_new
    - gf_odf_get_text_config
    - PROP_UINT
    - gf_filter_pid_set_property
    - gf_codecid_name
    - gf_filter_pid_get_property
    - gf_odf_tx3g_read
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3gmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_tx3g.c:431,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_tx3g.c:454,1
    - Dst: gf_isom_parse_text_sample
      Src: /src/gpac/src/filters/write_tx3g.c:483,1
    - Dst: tx3gmx_get_stsd
      Src: /src/gpac/src/filters/write_tx3g.c:497,1
    - Dst: dump_ttxt_sample_srt
      Src: /src/gpac/src/filters/write_tx3g.c:499,1
    - Dst: dump_ttxt_sample
      Src: /src/gpac/src/filters/write_tx3g.c:505,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_tx3g.c:505,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_tx3g.c:521,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/write_tx3g.c:523,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/write_tx3g.c:524,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_tx3g.c:542,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_tx3g.c:526,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/write_tx3g.c:530,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:416,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_tx3g.c:422,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_tx3g.c:433,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/write_tx3g.c:467,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/write_tx3g.c:455,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_tx3g.c:492,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/write_tx3g.c:508,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/write_tx3g.c:519,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/write_tx3g.c:528,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_tx3g.c:532,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_tx3g.c:424,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_tx3g.c:445,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/write_tx3g.c:465,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/write_tx3g.c:468,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/write_tx3g.c:474,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/write_tx3g.c:487,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_tx3g.c:527,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/write_tx3g.c:529,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_tx3g.c:537,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_tx3g.c:538,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_tx3g.c:539,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_tx3g.c:425,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_tx3g.c:438,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_tx3g.c:442,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/write_tx3g.c:446,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/write_tx3g.c:466,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/write_tx3g.c:457,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/write_tx3g.c:459,1
    - Dst: dump_ttxt_sample_ttml
      Src: /src/gpac/src/filters/write_tx3g.c:501,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/write_tx3g.c:520,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_tx3g.c:525,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/write_tx3g.c:534,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 105
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 545
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 545
    functionName: tx3gmx_process
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_timescale
    - gf_fseek
    - gf_filter_pck_get_data
    - gf_isom_delete_text_sample
    - dump_ttxt_sample
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - tx3gmx_get_stsd
    - gf_filter_pid_get_packet
    - dump_ttxt_sample_srt
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_bs_read_u16
    - gf_list_get
    - gf_bs_read_u8
    - gf_set_progress
    - gf_isom_parse_text_sample
    - gf_bs_read_int
    - gf_file_temp
    - gf_fread
    - gf_filter_pck_set_framing
    - gf_ftell
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_fclose
    - dump_ttxt_sample_ttml
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err tx3gmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/write_tx3g.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ent
    - samp_ent
    - font_ent
    argTypes:
    - GF_TextSampleDescriptor*
    - GF_Tx3gSampleEntryBox*
    - GF_FontTableBox*
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: tx3gmx_get_stsd
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void tx3gmx_get_stsd(GF_TextSampleDescriptor *ent, GF_Tx3gSampleEntryBox
      *samp_ent, GF_FontTableBox *font_ent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_tx3g.c:556,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/write_tx3g.c:557,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_tx3g.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: tx3gmx_finalize
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_odf_desc_del
    - gf_bs_del
    linkageType: ''
    returnType: void
    signature: 'static void tx3gmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: tx3g2ttml_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2ttml_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: ufttxt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufttxt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: tx3g2srt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2srt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: tx3g2vtt_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2vtt_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/write_tx3g.c:182,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/write_tx3g.c:186,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:198,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:200,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/write_tx3g.c:210,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/write_tx3g.c:212,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:190,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:197,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/write_tx3g.c:214,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_tx3g.c:192,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:196,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:207,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/write_tx3g.c:209,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/write_tx3g.c:217,1
    - Dst: tx3gmx_get_stsd
      Src: /src/gpac/src/filters/write_tx3g.c:188,1
    - Dst: gf_fprintf
      Src: /src/gpac/src/filters/write_tx3g.c:202,1
    - Dst: dump_ttxt_header
      Src: /src/gpac/src/filters/write_tx3g.c:205,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/write_tx3g.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_tx3g.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TX3GMxCtx*
    constantsTouched: []
    func_position:
      end: 218
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 218
    functionName: tx3gmx_write_config
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - gf_fprintf
    - tx3gmx_get_stsd
    - gf_filter_pid_get_property
    - gf_fread
    - gf_file_temp
    - gf_filter_pid_set_property
    - gf_fclose
    - gf_ftell
    - dump_ttxt_header
    - gf_fseek
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void tx3gmx_write_config(TX3GMxCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: tx3g2ttml_register
    functionSourceFile: /src/gpac/src/filters/write_tx3g.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tx3g2ttml_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: example_filter_finalize
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void example_filter_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/base_filter_example.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: example_filter_initialize
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err example_filter_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/base_filter_example.c:77,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/base_filter_example.c:97,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/base_filter_example.c:90,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/base_filter_example.c:89,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/base_filter_example.c:89,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/base_filter_example.c:98,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/base_filter_example.c:101,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/base_filter_example.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 107
    functionName: example_filter_config_input
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - GF_4CC
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - strcmp
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err example_filter_config_input(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/base_filter_example.c:50,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/base_filter_example.c:57,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/base_filter_example.c:59,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/base_filter_example.c:54,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/base_filter_example.c:52,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/base_filter_example.c:65,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/base_filter_example.c:66,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/base_filter_example.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: example_filter_process
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err example_filter_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: example_filter_update_arg
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err example_filter_update_arg(GF_Filter *filter, const char
      *arg_name, const GF_PropertyValue *arg_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - session
    - load_meta_filters
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: ex_filter_register
    functionSourceFile: /src/gpac/src/filters/base_filter_example.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ex_filter_register(GF_FilterSession *session,
      Bool load_meta_filters) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:100,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_avi.c:165,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:154,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:147,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_avi.c:163,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:294,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:311,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:315,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:295,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:95,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:145,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:297,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:306,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/filters/dmx_avi.c:331,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:318,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/dmx_avi.c:158,1
    - Dst: AVI_video_frames
      Src: /src/gpac/src/filters/dmx_avi.c:87,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:99,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:107,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:165,1
    - Dst: AVI_audio_format
      Src: /src/gpac/src/filters/dmx_avi.c:178,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_avi.c:265,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:151,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_avi.c:92,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:110,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:145,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:304,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:102,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:111,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:150,1
    - Dst: AVI_set_audio_track
      Src: /src/gpac/src/filters/dmx_avi.c:283,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:160,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:318,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:143,1
    - Dst: AVI_set_audio_track
      Src: /src/gpac/src/filters/dmx_avi.c:175,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_avi.c:257,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_avi.c:325,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:332,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:154,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:263,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_avi.c:147,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:160,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_avi.c:134,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_avi.c:163,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:101,1
    - Dst: AVI_set_audio_position
      Src: /src/gpac/src/filters/dmx_avi.c:290,1
    - Dst: AVI_audio_mp3rate
      Src: /src/gpac/src/filters/dmx_avi.c:300,1
    - Dst: AVI_video_frames
      Src: /src/gpac/src/filters/dmx_avi.c:136,1
    - Dst: AVI_audio_bits
      Src: /src/gpac/src/filters/dmx_avi.c:179,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:117,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:297,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_avi.c:306,1
    - Dst: gf_media_get_video_timing
      Src: /src/gpac/src/filters/dmx_avi.c:82,1
    - Dst: AVI_video_compressor
      Src: /src/gpac/src/filters/dmx_avi.c:90,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:96,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:104,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_avi.c:125,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_avi.c:152,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:159,1
    - Dst: AVI_video_width
      Src: /src/gpac/src/filters/dmx_avi.c:148,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_avi.c:162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_avi.c:198,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:315,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_avi.c:311,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:141,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:146,1
    - Dst: AVI_audio_tracks
      Src: /src/gpac/src/filters/dmx_avi.c:172,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:305,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:150,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:152,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:95,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:103,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filters/dmx_avi.c:126,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:162,1
    - Dst: AVI_audio_channels
      Src: /src/gpac/src/filters/dmx_avi.c:298,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:303,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_avi.c:286,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:141,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:143,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:305,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_avi.c:332,1
    - Dst: AVI_audio_bits
      Src: /src/gpac/src/filters/dmx_avi.c:317,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:98,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:106,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_avi.c:273,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:151,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:168,1
    - Dst: gf_mp3_object_type_indication
      Src: /src/gpac/src/filters/dmx_avi.c:287,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:299,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:312,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:340,1
    - Dst: AVI_video_height
      Src: /src/gpac/src/filters/dmx_avi.c:149,1
    - Dst: AVI_read_audio
      Src: /src/gpac/src/filters/dmx_avi.c:284,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_avi.c:272,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_avi.c:270,1
    - Dst: AVI_audio_rate
      Src: /src/gpac/src/filters/dmx_avi.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:304,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:308,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_avi.c:182,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:97,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dmx_avi.c:105,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:159,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:295,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:299,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:312,1
    - Dst: gf_m4a_get_profile
      Src: /src/gpac/src/filters/dmx_avi.c:330,1
    - Dst: AVI_frame_rate
      Src: /src/gpac/src/filters/dmx_avi.c:81,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_avi.c:146,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_avi.c:308,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 272
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_AVIDmxCtx*
    constantsTouched: []
    func_position:
      end: 343
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 343
    functionName: avidmx_setup
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - AVI_audio_tracks
    - gf_list_add
    - gf_m4a_get_profile
    - memset
    - PROP_DATA
    - AVI_video_height
    - GF_LOG
    - PROP_BOOL
    - AVI_audio_format
    - gf_m4a_write_config
    - AVI_audio_channels
    - AVI_set_audio_track
    - PROP_FRAC64
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - gf_mp3_object_type_indication
    - GF_4CC
    - gf_list_count
    - AVI_audio_bits
    - PROP_UINT
    - stricmp
    - gf_media_get_video_timing
    - AVI_read_audio
    - gf_list_get
    - gf_pixel_get_size_info
    - gf_filter_pid_set_property
    - AVI_set_audio_position
    - gf_4cc_parse
    - AVI_audio_mp3rate
    - AVI_frame_rate
    - AVI_video_compressor
    - AVI_video_width
    - PROP_FRAC
    - AVI_audio_rate
    - AVI_video_frames
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void avidmx_setup(GF_Filter *filter, GF_AVIDmxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_avi.c:402,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_avi.c:406,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dmx_avi.c:419,1
    - Dst: AVI_seek_start
      Src: /src/gpac/src/filters/dmx_avi.c:420,1
    - Dst: AVI_set_video_position
      Src: /src/gpac/src/filters/dmx_avi.c:423,1
    - Dst: AVI_seek_start
      Src: /src/gpac/src/filters/dmx_avi.c:425,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_avi.c:426,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:431,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_avi.c:432,1
    - Dst: AVI_set_audio_position
      Src: /src/gpac/src/filters/dmx_avi.c:441,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_avi.c:455,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:454,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 471
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 471
    functionName: avidmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_sys_is_cov_mode
    - gf_list_count
    - AVI_set_video_position
    - gf_filter_post_process_task
    - AVI_seek_start
    - AVI_set_audio_position
    linkageType: ''
    returnType: Bool
    signature: 'static Bool avidmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_avi.c:667,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_avi.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: avidmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avidmx_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_avi.c:693,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_avi.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: avidmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char * avidmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_avi.c:348,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_avi.c:359,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_avi.c:353,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:356,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_avi.c:357,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_avi.c:360,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_avi.c:364,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_avi.c:372,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_avi.c:376,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_avi.c:379,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:388,1
    - Dst: AVI_close
      Src: /src/gpac/src/filters/dmx_avi.c:386,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_avi.c:389,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_avi.c:382,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 398
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 398
    functionName: avidmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - gf_list_count
    - gf_filter_pid_get_property
    - strcmp
    - AVI_close
    - gf_filter_pid_check_caps
    - gf_free
    - gf_filter_pid_remove
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avidmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_avi.c:485,1
    - Dst: AVI_open_input_file
      Src: /src/gpac/src/filters/dmx_avi.c:491,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_avi.c:486,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_avi.c:498,1
    - Dst: avidmx_setup
      Src: /src/gpac/src/filters/dmx_avi.c:504,1
    - Dst: AVI_frame_size
      Src: /src/gpac/src/filters/dmx_avi.c:512,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:557,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/dmx_avi.c:601,1
    - Dst: AVI_read_audio
      Src: /src/gpac/src/filters/dmx_avi.c:602,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_avi.c:627,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_avi.c:649,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_avi.c:652,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_avi.c:614,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_avi.c:661,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_avi.c:494,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_avi.c:495,1
    - Dst: AVI_read_frame
      Src: /src/gpac/src/filters/dmx_avi.c:514,1
    - Dst: AVI_get_video_position
      Src: /src/gpac/src/filters/dmx_avi.c:519,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/dmx_avi.c:526,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_avi.c:550,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_avi.c:561,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_avi.c:569,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_avi.c:598,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/dmx_avi.c:620,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_avi.c:475,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_avi.c:481,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_avi.c:501,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_avi.c:523,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_avi.c:527,1
    - Dst: AVI_read_frame
      Src: /src/gpac/src/filters/dmx_avi.c:525,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_avi.c:531,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_avi.c:542,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_avi.c:545,1
    - Dst: AVI_set_audio_track
      Src: /src/gpac/src/filters/dmx_avi.c:571,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_avi.c:610,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_avi.c:642,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_avi.c:500,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_avi.c:508,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_avi.c:528,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_avi.c:529,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_avi.c:530,1
    - Dst: AVI_read_frame
      Src: /src/gpac/src/filters/dmx_avi.c:534,1
    - Dst: AVI_audio_size
      Src: /src/gpac/src/filters/dmx_avi.c:575,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_avi.c:611,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_avi.c:615,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/dmx_avi.c:633,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_avi.c:646,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_avi.c:622,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/dmx_avi.c:654,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 161
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 663
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 663
    functionName: avidmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    - AVI_set_audio_track
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_update_status
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_fsize
    - gf_list_count
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_reporting_enabled
    - gf_fopen
    - gf_filter_pck_set_duration
    - AVI_audio_size
    - AVI_read_audio
    - gf_list_get
    - avidmx_setup
    - AVI_read_frame
    - sprintf
    - AVI_frame_size
    - gf_filter_pck_set_framing
    - gf_ftell
    - gf_filter_post_process_task
    - AVI_get_video_position
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - AVI_open_input_file
    - gf_filter_setup_failure
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err avidmx_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_avi.c:675,1
    - Dst: AVI_close
      Src: /src/gpac/src/filters/dmx_avi.c:676,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_avi.c:677,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_avi.c:678,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_avi.c:679,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_avi.c:681,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_avi.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 687
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 687
    functionName: avidmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - AVI_close
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void avidmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 747
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 747
    functionName: avidmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_avi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *avidmx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: tilesplit_initialize
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tilesplit_initialize(GF_Filter *filter) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:130,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tilesplit.c:132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tilesplit.c:145,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/tilesplit.c:172,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/tilesplit.c:273,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tilesplit.c:290,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/tilesplit.c:298,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:304,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:305,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:306,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/tilesplit.c:310,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/tilesplit.c:340,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:307,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:302,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tilesplit.c:125,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/tilesplit.c:126,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/filters/tilesplit.c:155,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tilesplit.c:141,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tilesplit.c:168,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tilesplit.c:144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tilesplit.c:173,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:174,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tilesplit.c:261,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/tilesplit.c:295,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:300,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/tilesplit.c:311,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tilesplit.c:338,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:304,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tilesplit.c:107,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/tilesplit.c:128,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/tilesplit.c:113,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/tilesplit.c:130,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/tilesplit.c:135,1
    - Dst: memset
      Src: /src/gpac/src/filters/tilesplit.c:139,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tilesplit.c:143,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/tilesplit.c:152,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/tilesplit.c:149,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/tilesplit.c:184,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/tilesplit.c:272,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/tilesplit.c:190,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:341,1
    - Dst: tilesplit_update_pid_props
      Src: /src/gpac/src/filters/tilesplit.c:308,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:306,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/tilesplit.c:343,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tilesplit.c:265,1
    - Dst: memset
      Src: /src/gpac/src/filters/tilesplit.c:191,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/tilesplit.c:263,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:302,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:307,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tilesplit.c:313,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/tilesplit.c:324,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/tilesplit.c:329,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/tilesplit.c:337,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:340,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:298,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:341,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 245
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 345
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 345
    functionName: tilesplit_configure_pid
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - memset
    - PROP_DATA
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - tilesplit_update_pid_props
    - gf_filter_pid_set_property_str
    - gf_hevc_read_sps
    - gf_filter_get_udta
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_hevc_read_pps
    - gf_odf_hevc_cfg_write
    - gf_file_basename
    - PROP_UINT
    - gf_filter_pid_get_name
    - gf_list_get
    - sprintf
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    - gf_hevc_read_vps
    - memcpy
    - gf_free
    - gf_filter_pid_set_name
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tilesplit_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:72,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:73,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:73,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:80,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tilesplit.c:72,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:87,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tilesplit.c:90,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/tilesplit.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - tinfo
    argTypes:
    - GF_TileSplitCtx*
    - TileSplitPid*
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: tilesplit_update_pid_props
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached:
    - PROP_UINT
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    linkageType: ''
    returnType: void
    signature: 'static void tilesplit_update_pid_props(GF_TileSplitCtx *ctx, TileSplitPid
      *tinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/tilesplit.c:352,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/tilesplit.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TileSplitCtx*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: tilesplit_set_eos
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tilesplit_set_eos(GF_Filter *filter, GF_TileSplitCtx
      *ctx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tilesplit.c:384,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tilesplit.c:386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tilesplit.c:443,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/tilesplit.c:483,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tilesplit.c:484,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/tilesplit.c:493,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/tilesplit.c:497,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tilesplit.c:498,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tilesplit.c:363,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tilesplit.c:380,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/tilesplit.c:390,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/tilesplit.c:414,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/tilesplit.c:479,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tilesplit.c:480,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tilesplit.c:494,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/tilesplit.c:372,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/tilesplit.c:379,1
    - Dst: tilesplit_set_eos
      Src: /src/gpac/src/filters/tilesplit.c:373,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tilesplit.c:370,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/tilesplit.c:391,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/tilesplit.c:418,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/tilesplit.c:397,1
    - Dst: hevc_get_tile_id
      Src: /src/gpac/src/filters/tilesplit.c:441,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tilesplit.c:482,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tilesplit.c:496,1
    - Dst: tilesplit_update_pid_props
      Src: /src/gpac/src/filters/tilesplit.c:457,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/tilesplit.c:398,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/tilesplit.c:464,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/tilesplit.c:468,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tilesplit.c:504,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 106
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 506
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 506
    functionName: tilesplit_process
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - GF_LOG
    - gf_filter_pid_drop_packet
    - tilesplit_update_pid_props
    - gf_filter_pck_get_data
    - hevc_get_tile_id
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_hevc_parse_nalu
    - gf_bs_new
    - tilesplit_set_eos
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tilesplit_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tilesplit.c:518,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/tilesplit.c:523,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/tilesplit.c:528,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tilesplit.c:522,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tilesplit.c:526,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tilesplit.c:529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: tilesplit_finalize
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void tilesplit_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: tilesplit_register
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tilesplit_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: tilesplit_register
    functionSourceFile: /src/gpac/src/filters/tilesplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tilesplit_register(GF_FilterSession *session) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: latm_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_latm.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:340,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:344,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:347,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:373,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_latm.c:319,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_latm.c:332,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:339,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:341,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:342,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_latm.c:349,1
    - Dst: gf_m4a_write_config
      Src: /src/gpac/src/filters/reframe_latm.c:365,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:366,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:367,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:368,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:340,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_latm.c:359,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_latm.c:347,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:344,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:373,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:372,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:376,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:339,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_latm.c:323,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:341,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_latm.c:342,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:349,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_latm.c:366,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_latm.c:367,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:372,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_LATMDmxCtx*
    constantsTouched: []
    func_position:
      end: 378
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 378
    functionName: latm_dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - PROP_DATA_NO_COPY
    - gf_filter_pid_copy_properties
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_m4a_write_config
    - PROP_FRAC64
    - gf_timestamp_rescale
    - PROP_UINT
    - latm_dmx_check_dur
    linkageType: ''
    returnType: void
    signature: 'static void latm_dmx_check_pid(GF_Filter *filter, GF_LATMDmxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_latm.c:201,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_latm.c:219,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_latm.c:211,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_latm.c:215,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_latm.c:206,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_latm.c:220,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 226
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 226
    functionName: latm_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err latm_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_latm.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_LATMDmxCtx*
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: latm_dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void latm_dmx_update_cts(GF_LATMDmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_latm.c:622,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_latm.c:623,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_latm.c:626,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_latm.c:624,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_latm.c:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 627
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 627
    functionName: latm_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void latm_dmx_finalize(GF_Filter *filter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:99,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:114,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:126,1
    - Dst: gf_m4a_parse_config
      Src: /src/gpac/src/filters/reframe_latm.c:134,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_latm.c:165,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_latm.c:185,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_latm.c:92,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:97,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:104,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:111,1
    - Dst: gf_latm_get_value
      Src: /src/gpac/src/filters/reframe_latm.c:119,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:123,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:130,1
    - Dst: gf_latm_get_value
      Src: /src/gpac/src/filters/reframe_latm.c:133,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:160,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_latm.c:105,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:149,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:153,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_latm.c:164,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_latm.c:174,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:177,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_latm.c:183,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_latm.c:185,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_latm.c:91,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:103,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_latm.c:106,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:116,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:121,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:122,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_latm.c:137,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_latm.c:186,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 5
    argNames:
    - bs
    - acfg
    - nb_bytes
    - buffer
    - nb_skipped
    argTypes:
    - GF_BitStream*
    - GF_M4ADecSpecInfo*
    - u32*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 194
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 194
    functionName: latm_dmx_sync_frame_bs
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_seek
    - gf_latm_get_value
    - gf_bs_available
    - gf_bs_peek_bits
    - gf_bs_read_data
    - gf_m4a_parse_config
    linkageType: ''
    returnType: Bool
    signature: 'static Bool latm_dmx_sync_frame_bs(GF_BitStream *bs, GF_M4ADecSpecInfo
      *acfg, u32 *nb_bytes, u8 *buffer, u32 *nb_skipped) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_latm.c:384,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_latm.c:424,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_latm.c:422,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 443
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 443
    functionName: latm_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool latm_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_latm.c:244,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_latm.c:263,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:266,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:289,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_latm.c:281,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_latm.c:293,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_latm.c:300,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_latm.c:302,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_latm.c:309,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_latm.c:251,1
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_latm.c:260,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframe_latm.c:268,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframe_latm.c:278,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_latm.c:292,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_latm.c:243,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_latm.c:253,1
    - Dst: latm_dmx_sync_frame_bs
      Src: /src/gpac/src/filters/reframe_latm.c:267,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframe_latm.c:295,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:291,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_latm.c:300,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_LATMDmxCtx*
    constantsTouched: []
    func_position:
      end: 311
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 311
    functionName: latm_dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - memset
    - gf_bs_del
    - strncmp
    - gf_bs_get_position
    - gf_filter_pid_get_property
    - gf_realloc
    - gf_fileio_is_main_thread
    - gf_fclose
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - GF_ARRAY_LENGTH
    - latm_dmx_sync_frame_bs
    linkageType: ''
    returnType: void
    signature: 'static void latm_dmx_check_dur(GF_Filter *filter, GF_LATMDmxCtx *ctx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_latm.c:496,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_latm.c:501,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_latm.c:512,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_latm.c:556,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_latm.c:561,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_latm.c:563,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_latm.c:580,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_latm.c:582,1
    - Dst: latm_dmx_update_cts
      Src: /src/gpac/src/filters/reframe_latm.c:584,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_latm.c:611,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_latm.c:461,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_latm.c:487,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:531,1
    - Dst: latm_dmx_sync_frame_bs
      Src: /src/gpac/src/filters/reframe_latm.c:533,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_latm.c:522,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_latm.c:568,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:599,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_latm.c:601,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_latm.c:482,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_latm.c:484,1
    - Dst: latm_dmx_check_pid
      Src: /src/gpac/src/filters/reframe_latm.c:546,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_latm.c:559,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_latm.c:519,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_latm.c:565,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_latm.c:565,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_latm.c:587,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_latm.c:590,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_latm.c:593,1
    - Dst: latm_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_latm.c:477,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_latm.c:488,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_latm.c:514,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_latm.c:518,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_latm.c:567,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_latm.c:608,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_latm.c:610,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 132
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 618
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 618
    functionName: latm_dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_bs_seek
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - latm_dmx_check_pid
    - latm_dmx_sync_frame_bs
    - latm_dmx_check_dur
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_cts
    - memmove
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_bs_get_position
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_ref_props
    - gf_realloc
    - latm_dmx_update_cts
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err latm_dmx_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_latm.c:635,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_latm.c:653,1
    - Dst: latm_dmx_sync_frame_bs
      Src: /src/gpac/src/filters/reframe_latm.c:638,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/reframe_latm.c:639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 659
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 659
    functionName: latm_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - latm_dmx_sync_frame_bs
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: char*
    signature: 'static const char *latm_dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: rflatm_register
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rflatm_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: rflatm_register
    functionSourceFile: /src/gpac/src/filters/reframe_latm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rflatm_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_nalu.c:97,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/rewrite_nalu.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - cfg
    - type
    argTypes:
    - GF_HEVCConfig*
    - u8
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: nalumx_get_hevc_ps
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *nalumx_get_hevc_ps(GF_HEVCConfig *cfg, u8 type) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:126,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/rewrite_nalu.c:143,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:148,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:158,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:173,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:192,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:196,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/rewrite_nalu.c:216,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:220,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:221,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:137,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/rewrite_nalu.c:154,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:159,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:166,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:170,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:179,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:188,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:190,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:194,1
    - Dst: nalumx_get_vvc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:205,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:130,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_nalu.c:163,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:186,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:188,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:190,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:194,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/rewrite_nalu.c:203,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:205,1
    - Dst: nalumx_get_vvc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:207,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:215,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/rewrite_nalu.c:213,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:223,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:224,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:136,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/rewrite_nalu.c:147,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:182,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:186,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:176,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:192,1
    - Dst: nalumx_get_hevc_ps
      Src: /src/gpac/src/filters/rewrite_nalu.c:196,1
    - Dst: nalumx_write_ps_list
      Src: /src/gpac/src/filters/rewrite_nalu.c:207,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:212,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:222,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:225,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:218,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 105
    argCount: 6
    argNames:
    - ctx
    - dsi
    - dsi_len
    - dsi_enh
    - dsi_enh_len
    - for_non_rap
    argTypes:
    - GF_NALUMxCtx*
    - char*
    - u32
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 228
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 228
    functionName: nalumx_make_inband_header
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - nalumx_write_ps_list
    - gf_odf_hevc_cfg_read
    - nalumx_get_hevc_ps
    - gf_bs_new
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_odf_avc_cfg_read
    - GF_SAFEALLOC
    - gf_free
    - GF_ARRAY_LENGTH
    - nalumx_get_vvc_ps
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nalumx_make_inband_header(GF_NALUMxCtx *ctx, char *dsi,
      u32 dsi_len, char *dsi_enh, u32 dsi_enh_len, Bool for_non_rap) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/rewrite_nalu.c:335,1
    - Dst: gf_vvc_parse_nalu
      Src: /src/gpac/src/filters/rewrite_nalu.c:367,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 68
    argCount: 9
    argNames:
    - ctx
    - data
    - pos
    - nal_size
    - has_nal_delim
    - out_temporal_id
    - out_layer_id
    - avc_hdr
    - delim_flags
    argTypes:
    - GF_NALUMxCtx*
    - u8*
    - u32
    - u32
    - Bool*
    - u32*
    - u32*
    - u8*
    - u32*
    constantsTouched: []
    func_position:
      end: 404
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 404
    functionName: nalumx_is_nal_skip
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_vvc_parse_nalu
    - gf_hevc_parse_nalu
    linkageType: ''
    returnType: Bool
    signature: 'static Bool nalumx_is_nal_skip(GF_NALUMxCtx *ctx, u8 *data, u32 pos,
      u32 nal_size, Bool *has_nal_delim, u32 *out_temporal_id, u32 *out_layer_id,
      u8 *avc_hdr, u32 *delim_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_nalu.c:662,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/rewrite_nalu.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: nalumx_initialize
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sys_old_arch_compat
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nalumx_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_nalu.c:72,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/rewrite_nalu.c:85,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_nalu.c:76,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/rewrite_nalu.c:74,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_nalu.c:75,1
    - Dst: gf_vvc_parse_nalu
      Src: /src/gpac/src/filters/rewrite_nalu.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - bs
    - list
    - for_non_rap
    argTypes:
    - GF_NALUMxCtx*
    - GF_BitStream*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: nalumx_write_ps_list
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_bs_write_data
    - gf_vvc_parse_nalu
    - gf_bs_write_u32
    - gf_hevc_parse_nalu
    linkageType: ''
    returnType: void
    signature: 'static void nalumx_write_ps_list(GF_NALUMxCtx *ctx, GF_BitStream *bs,
      GF_List *list, Bool for_non_rap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_nalu.c:106,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/rewrite_nalu.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - cfg
    - type
    argTypes:
    - GF_VVCConfig*
    - u8
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: nalumx_get_vvc_ps
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_List*
    signature: 'static GF_List *nalumx_get_vvc_ps(GF_VVCConfig *cfg, u8 type) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewrite_nalu.c:245,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:248,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:253,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:259,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_nalu.c:266,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/rewrite_nalu.c:274,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:267,1
    - Dst: nalumx_make_inband_header
      Src: /src/gpac/src/filters/rewrite_nalu.c:304,1
    - Dst: nalumx_make_inband_header
      Src: /src/gpac/src/filters/rewrite_nalu.c:308,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_nalu.c:257,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_nalu.c:295,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_nalu.c:235,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewrite_nalu.c:240,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:266,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewrite_nalu.c:292,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_nalu.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:297,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/rewrite_nalu.c:300,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_nalu.c:261,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_nalu.c:265,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:288,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_nalu.c:286,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 309
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 309
    functionName: nalumx_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_crc_32
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - nalumx_make_inband_header
    - gf_filter_pid_get_property_str
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nalumx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_nalu.c:408,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_nalu.c:427,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_nalu.c:444,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_nalu.c:489,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_nalu.c:527,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_nalu.c:553,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:571,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:573,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:577,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:589,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:570,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_nalu.c:636,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:580,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_nalu.c:606,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/rewrite_nalu.c:619,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewrite_nalu.c:422,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_nalu.c:424,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:420,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/rewrite_nalu.c:428,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_nalu.c:429,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:439,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_nalu.c:453,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:455,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:476,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/rewrite_nalu.c:452,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:582,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:586,1
    - Dst: nalumx_is_nal_skip
      Src: /src/gpac/src/filters/rewrite_nalu.c:609,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_nalu.c:646,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/rewrite_nalu.c:508,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/rewrite_nalu.c:653,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:630,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_nalu.c:625,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/rewrite_nalu.c:645,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_nalu.c:597,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_nalu.c:438,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_nalu.c:458,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_nalu.c:477,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:478,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/rewrite_nalu.c:506,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:512,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_nalu.c:557,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:581,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:583,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:584,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:591,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/rewrite_nalu.c:639,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:603,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:601,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:588,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/rewrite_nalu.c:643,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_nalu.c:459,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_nalu.c:642,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/rewrite_nalu.c:650,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/rewrite_nalu.c:654,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewrite_nalu.c:432,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_nalu.c:472,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewrite_nalu.c:448,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_nalu.c:492,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_nalu.c:556,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_nalu.c:564,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:572,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:575,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:576,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:579,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_nalu.c:511,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_nalu.c:637,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/rewrite_nalu.c:532,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_nalu.c:592,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_nalu.c:648,1
    - Dst: nalumx_is_nal_skip
      Src: /src/gpac/src/filters/rewrite_nalu.c:494,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_nalu.c:602,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 205
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 658
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 658
    functionName: nalumx_process
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_update_status
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_bs_write_int
    - gf_filter_reporting_enabled
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_bs_write_u32
    - memcpy
    - nalumx_is_nal_skip
    - gf_filter_pck_send
    - gf_filter_pck_get_dependency_flags
    - gf_free
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nalumx_process(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_nalu.c:675,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:676,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:679,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:678,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_nalu.c:677,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:681,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_nalu.c:682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 684
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 684
    functionName: nalumx_finalize
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void nalumx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: ufnalu_register
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufnalu_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: ufnalu_register
    functionSourceFile: /src/gpac/src/filters/rewrite_nalu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufnalu_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_nvdec.c:210,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:211,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_nvdec.c:218,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_nvdec.c:213,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:221,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:227,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:237,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:241,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:243,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_nvdec.c:246,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NVDecCtx*
    constantsTouched: []
    func_position:
      end: 252
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 252
    functionName: load_inactive_dec
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'Bool load_inactive_dec(NVDecCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cuvidDestroyDecoder
      Src: /src/gpac/src/filters/dec_nvdec.c:266,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - inst
    argTypes:
    - NVDecInstance*
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: nvdec_destroy_decoder
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - cuvidDestroyDecoder
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_destroy_decoder(NVDecInstance *inst) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:307,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_nvdec.c:322,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:375,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:376,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:381,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:384,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:385,1
    - Dst: nvdec_flush_frame
      Src: /src/gpac/src/filters/dec_nvdec.c:323,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:361,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:377,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:378,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:351,1
    - Dst: update_pix_fmt
      Src: /src/gpac/src/filters/dec_nvdec.c:356,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:376,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:381,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:321,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:328,1
    - Dst: load_inactive_dec
      Src: /src/gpac/src/filters/dec_nvdec.c:350,1
    - Dst: update_pix_fmt
      Src: /src/gpac/src/filters/dec_nvdec.c:372,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:379,1
    - Dst: nvdec_copy_props
      Src: /src/gpac/src/filters/dec_nvdec.c:374,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:375,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:377,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:380,1
    - Dst: nvdec_init_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:389,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 2
    argNames:
    - pUserData
    - pFormat
    argTypes:
    - void*
    - CUVIDEOFORMAT*
    constantsTouched: []
    func_position:
      end: 397
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 397
    functionName: HandleVideoSequence
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - nvdec_destroy_decoder
    - gf_list_pop_front
    - load_inactive_dec
    - gf_list_count
    - nvdec_copy_props
    - GF_LOG
    - gf_filter_pid_set_property
    - nvdec_init_decoder
    - PROP_UINT
    - nvdec_flush_frame
    - gf_assert
    - update_pix_fmt
    linkageType: ''
    returnType: int
    signature: 'static int CUDAAPI HandleVideoSequence(void *pUserData, CUVIDEOFORMAT
      *pFormat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:419,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_nvdec.c:431,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:421,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_nvdec.c:423,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:429,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_nvdec.c:433,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pUserData
    - pPicParams
    argTypes:
    - void*
    - CUVIDPARSERDISPINFO*
    constantsTouched: []
    func_position:
      end: 439
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 439
    functionName: HandlePictureDisplay
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - GF_SAFEALLOC
    - gf_list_pop_back
    linkageType: ''
    returnType: int
    signature: 'static int CUDAAPI HandlePictureDisplay(void *pUserData, CUVIDPARSERDISPINFO
      *pPicParams) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/dec_nvdec.c:1125,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1129,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:1130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1131
    functionName: nvframe_release
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_frame_interface
    - memset
    linkageType: ''
    returnType: void
    signature: 'void nvframe_release(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_nvdec.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:257,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:258,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NVDecCtx*
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: nvdec_copy_props
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_copy_props(NVDecCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/dec_nvdec.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - use_10bits
    argTypes:
    - NVDecCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: update_pix_fmt
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_pixel_get_size_info
    linkageType: ''
    returnType: void
    signature: 'static void update_pix_fmt(NVDecCtx *ctx, Bool use_10bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cuvidDecodePicture
      Src: /src/gpac/src/filters/dec_nvdec.c:402,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pUserData
    - pPicParams
    argTypes:
    - void*
    - CUVIDPICPARAMS*
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: HandlePictureDecode
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - cuvidDecodePicture
    - cudaGetErrorEnum
    linkageType: ''
    returnType: int
    signature: 'static int CUDAAPI HandlePictureDecode(void *pUserData, CUVIDPICPARAMS
      *pPicParams) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:444,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_nvdec.c:446,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_nvdec.c:447,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_nvdec.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - bs
    - psl
    argTypes:
    - GF_BitStream*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: nvdec_store_paramlist
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_bs_write_u32
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_store_paramlist(GF_BitStream *bs, GF_List *psl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_nvdec.c:1515,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_nvdec.c:1519,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_nvdec.c:1518,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_nvdec.c:1517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1521
    functionName: nvdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1672
    functionName: nvdec_register
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nvdec_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_nvdec.c:455,1
    - Dst: nvdec_store_paramlist
      Src: /src/gpac/src/filters/dec_nvdec.c:460,1
    - Dst: nvdec_store_paramlist
      Src: /src/gpac/src/filters/dec_nvdec.c:459,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_nvdec.c:461,1
    - Dst: nvdec_store_paramlist
      Src: /src/gpac/src/filters/dec_nvdec.c:458,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:464,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_nvdec.c:466,1
    - Dst: nvdec_store_paramlist
      Src: /src/gpac/src/filters/dec_nvdec.c:467,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_nvdec.c:469,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:471,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_nvdec.c:474,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_nvdec.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - avc_cfg
    - hevc_cfg
    argTypes:
    - NVDecCtx*
    - GF_AVCConfig*
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 477
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 477
    functionName: nvdec_store_xps
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_list_count
    - gf_bs_new
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_free
    - nvdec_store_paramlist
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_store_xps(NVDecCtx *ctx, GF_AVCConfig *avc_cfg,
      GF_HEVCConfig *hevc_cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:847,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_nvdec.c:849,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NVDecCtx*
    constantsTouched: []
    func_position:
      end: 851
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 851
    functionName: nvdec_reset_pcks
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_reset_pcks(NVDecCtx *ctx) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: cuCtxPushCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:893,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:891,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_nvdec.c:898,1
    - Dst: nvdec_configure_stream
      Src: /src/gpac/src/filters/dec_nvdec.c:913,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:920,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_nvdec.c:937,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_nvdec.c:949,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_nvdec.c:978,1
    - Dst: cuCtxPushCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:989,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_nvdec.c:886,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:895,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dec_nvdec.c:910,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_nvdec.c:938,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_nvdec.c:936,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_nvdec.c:953,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_nvdec.c:971,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:989,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_nvdec.c:1004,1
    - Dst: nvdec_init_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:1024,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1026,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:895,1
    - Dst: nvdec_flush_frame
      Src: /src/gpac/src/filters/dec_nvdec.c:899,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:900,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_nvdec.c:932,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/dec_nvdec.c:977,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:1005,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:1010,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1036,1
    - Dst: nvdec_flush_frame
      Src: /src/gpac/src/filters/dec_nvdec.c:1045,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1018,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_nvdec.c:1031,1
    - Dst: nvdec_reset_pcks
      Src: /src/gpac/src/filters/dec_nvdec.c:1039,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_nvdec.c:1033,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_nvdec.c:1040,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:997,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1046,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_nvdec.c:888,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_nvdec.c:925,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_nvdec.c:946,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_nvdec.c:972,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_nvdec.c:984,1
    - Dst: cuvidParseVideoData
      Src: /src/gpac/src/filters/dec_nvdec.c:995,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:997,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_nvdec.c:1038,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 134
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1048
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 1048
    functionName: nvdec_process
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - nvdec_reset_pcks
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - nvdec_configure_stream
    - gf_filter_get_udta
    - cuCtxPushCurrent
    - gf_bs_del
    - cudaGetErrorEnum
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - gf_bs_get_content_no_truncate
    - nvdec_destroy_decoder
    - gf_bs_new
    - gf_bs_write_u32
    - cuCtxPopCurrent
    - gf_filter_pck_ref_props
    - nvdec_init_decoder
    - cuvidParseVideoData
    - nvdec_flush_frame
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_process(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:1555,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:1550,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1561,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_nvdec.c:1528,1
    - Dst: cuvidDestroyVideoParser
      Src: /src/gpac/src/filters/dec_nvdec.c:1534,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1535,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filters/dec_nvdec.c:1539,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:1549,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1551,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1556,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1560,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_nvdec.c:1525,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:1531,1
    - Dst: nvdec_reset_pcks
      Src: /src/gpac/src/filters/dec_nvdec.c:1527,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_nvdec.c:1537,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_nvdec.c:1553,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:1554,1
    - Dst: cuvidDestroyVideoParser
      Src: /src/gpac/src/filters/dec_nvdec.c:1544,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:1543,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:1532,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:1533,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1545,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_nvdec.c:1558,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:1562,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1563
    functionName: nvdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - nvdec_destroy_decoder
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - nvdec_reset_pcks
    - gf_free
    - cuvidDestroyVideoParser
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_finalize(GF_Filter *filter) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_nvdec.c:508,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:550,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:565,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:556,1
    - Dst: load_inactive_dec
      Src: /src/gpac/src/filters/dec_nvdec.c:528,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:550,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:556,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:571,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:577,1
    - Dst: nvdec_store_xps
      Src: /src/gpac/src/filters/dec_nvdec.c:526,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:561,1
    - Dst: cuvidCreateVideoParser
      Src: /src/gpac/src/filters/dec_nvdec.c:552,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:553,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_nvdec.c:487,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:520,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dec_nvdec.c:514,1
    - Dst: cuCtxPushCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:548,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:568,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:574,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_nvdec.c:580,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 58
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - NVDecCtx*
    constantsTouched: []
    func_position:
      end: 586
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 586
    functionName: nvdec_configure_stream
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - cuCtxPushCurrent
    - memset
    - gf_filter_set_name
    - cudaGetErrorEnum
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_read
    - load_inactive_dec
    - GF_LOG
    - gf_odf_avc_cfg_read
    - cuvidCreateVideoParser
    - cuCtxPopCurrent
    - nvdec_store_xps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_configure_stream(GF_Filter *filter, NVDecCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:857,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_nvdec.c:859,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_nvdec.c:862,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_nvdec.c:860,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_nvdec.c:861,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_nvdec.c:863,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_nvdec.c:864,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_nvdec.c:865,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_nvdec.c:870,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_nvdec.c:871,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/dec_nvdec.c:872,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/dec_nvdec.c:873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - f
    - dst_pck
    argTypes:
    - NVDecCtx*
    - NVDecFrame*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 875
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 875
    functionName: nvdec_merge_pck_props
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_dependency_flags
    - gf_list_count
    - gf_filter_pck_merge_properties
    - gf_list_rem
    - gf_filter_pck_set_cts
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_merge_pck_props(NVDecCtx *ctx, NVDecFrame *f, GF_FilterPacket
      *dst_pck) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1067,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_nvdec.c:1074,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_nvdec.c:1087,1
    - Dst: cuMemcpy2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1102,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1113,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_nvdec.c:1115,1
    - Dst: nvdec_send_hw_frame
      Src: /src/gpac/src/filters/dec_nvdec.c:1060,1
    - Dst: nvdec_merge_pck_props
      Src: /src/gpac/src/filters/dec_nvdec.c:1071,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_nvdec.c:1073,1
    - Dst: cuvidMapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1076,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1092,1
    - Dst: cuvidUnmapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1108,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1118,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_nvdec.c:1064,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:1063,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1104,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1092,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:1119,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1079,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_nvdec.c:1099,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_nvdec.c:1110,1
    - Dst: cuMemcpy2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1090,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1104,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - NVDecCtx*
    - NVDecFrame*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1121
    functionName: nvdec_flush_frame
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_list_add
    - cuvidUnmapVideoFrame
    - memset
    - MIN
    - cuvidMapVideoFrame
    - cuMemcpy2D
    - cudaGetErrorEnum
    - GF_LOG
    - nvdec_send_hw_frame
    - nvdec_merge_pck_props
    - gf_filter_pck_get_seek_flag
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_flush_frame(NVDecCtx *ctx, NVDecFrame *f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:164,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:192,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:192,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:166,1
    - Dst: cuvidCreateDecoder
      Src: /src/gpac/src/filters/dec_nvdec.c:190,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:197,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filters/dec_nvdec.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NVDecCtx*
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: nvdec_init_decoder
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - memset
    - cudaGetErrorEnum
    - GF_LOG
    - cuvidCreateDecoder
    - gf_th_id
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_init_decoder(NVDecCtx *ctx) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_nvdec.c:622,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_nvdec.c:673,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_nvdec.c:677,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:694,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:701,1
    - Dst: cuGLCtxCreate
      Src: /src/gpac/src/filters/dec_nvdec.c:705,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/filters/dec_nvdec.c:710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:722,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:725,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filters/dec_nvdec.c:750,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/filters/dec_nvdec.c:709,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:609,1
    - Dst: gf_filter_request_opengl
      Src: /src/gpac/src/filters/dec_nvdec.c:629,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dec_nvdec.c:631,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_nvdec.c:662,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:694,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:725,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:730,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_nvdec.c:751,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_nvdec.c:594,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_nvdec.c:601,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:612,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:631,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_nvdec.c:638,1
    - Dst: cuDeviceGet
      Src: /src/gpac/src/filters/dec_nvdec.c:692,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_nvdec.c:668,1
    - Dst: cuDeviceComputeCapability
      Src: /src/gpac/src/filters/dec_nvdec.c:698,1
    - Dst: cuDeviceGetName
      Src: /src/gpac/src/filters/dec_nvdec.c:699,1
    - Dst: GET_GLFUN
      Src: /src/gpac/src/filters/dec_nvdec.c:708,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_nvdec.c:752,1
    - Dst: cuCtxCreate
      Src: /src/gpac/src/filters/dec_nvdec.c:723,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_nvdec.c:610,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:614,1
    - Dst: nvdec_copy_props
      Src: /src/gpac/src/filters/dec_nvdec.c:663,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:665,1
    - Dst: cuCtxCreate
      Src: /src/gpac/src/filters/dec_nvdec.c:716,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:722,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:730,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 118
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 760
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 760
    functionName: nvdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - nvdec_copy_props
    - gf_filter_get_udta
    - gf_crc_32
    - cudaGetErrorEnum
    - gf_error_to_string
    - cuDeviceGet
    - PROP_UINT
    - cuCtxCreate
    - gf_list_new
    - gf_assert
    - gf_mx_new
    - cuGLCtxCreate
    - gf_mx_p
    - gf_filter_pid_set_property
    - gf_mx_v
    - cuDeviceComputeCapability
    - gf_filter_request_opengl
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - GET_GLFUN
    - cuDeviceGetName
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nvdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dec_nvdec.c:1350,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1356,1
    - Dst: cuCtxPushCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1354,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1356,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1360,1
    - Dst: cuvidMapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1364,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1367,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_nvdec.c:1375,1
    - Dst: cuMemcpy2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1378,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1392,1
    - Dst: cuvidUnmapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1399,1
    - Dst: cuMemcpy2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1390,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1399,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1392,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1380,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1402,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1423
    functionName: nvframe_get_frame
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - cuCtxPushCurrent
    - cuvidUnmapVideoFrame
    - memset
    - MIN
    - cudaGetErrorEnum
    - gf_realloc
    - cuvidMapVideoFrame
    - cuMemcpy2D
    - GF_LOG
    - cuCtxPopCurrent
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nvframe_get_frame(GF_FilterFrameInterface *frame, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1478,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1480,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1481,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1479,1
    - Dst: cuInit
      Src: /src/gpac/src/filters/dec_nvdec.c:1483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1485,1
    - Dst: cuInit
      Src: /src/gpac/src/filters/dec_nvdec.c:1486,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1490,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1492,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1492,1
    - Dst: cuDeviceGetCount
      Src: /src/gpac/src/filters/dec_nvdec.c:1494,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1499,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1510
    functionName: init_cuda_sdk
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - cudaGetErrorEnum
    - cuDeviceGetCount
    - GF_LOG
    - cuInit
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void init_cuda_sdk() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_nvdec.c:764,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:772,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:766,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:767,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:768,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_nvdec.c:773,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:774,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:778,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_nvdec.c:779,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:781,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_nvdec.c:787,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_nvdec.c:797,1
    - Dst: cuvidDestroyVideoParser
      Src: /src/gpac/src/filters/dec_nvdec.c:796,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:795,1
    - Dst: nvdec_destroy_decoder
      Src: /src/gpac/src/filters/dec_nvdec.c:782,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_nvdec.c:789,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:784,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 805
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 805
    functionName: nvdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - nvdec_destroy_decoder
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_free
    - gf_mx_v
    - cuvidDestroyVideoParser
    - gf_assert
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'static Bool nvdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:1440,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:1441,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:1442,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:1440,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:1441,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:1442,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_nvdec.c:1443,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_nvdec.c:1443,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_nvdec.c:1447,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/dec_nvdec.c:1450,1
    - Dst: nvdec_merge_pck_props
      Src: /src/gpac/src/filters/dec_nvdec.c:1453,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_nvdec.c:1454,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_nvdec.c:1455,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_nvdec.c:1458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - NVDecCtx*
    - NVDecFrame*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1462
    functionName: nvdec_send_hw_frame
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_filter_pid_set_property
    - gf_filter_pck_new_frame_interface
    - nvdec_merge_pck_props
    - gf_filter_pck_get_seek_flag
    - gf_filter_pck_discard
    - PROP_UINT
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nvdec_send_hw_frame(NVDecCtx *ctx, NVDecFrame *f) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_nvdec.c:1641,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1641,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1649,1
    - Dst: init_cuda_sdk
      Src: /src/gpac/src/filters/dec_nvdec.c:1653,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dec_nvdec.c:1650,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_nvdec.c:1657,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/dec_nvdec.c:1658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1665
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1665
    functionName: nvdec_register
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - gf_opts_set_key
    - init_cuda_sdk
    - gf_opts_get_bool
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nvdec_register(GF_FilterSession *session) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1155,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1165,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1166,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1174,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1192,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1181,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1197,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1203,1
    - Dst: glGenTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1219,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1221,1
    - Dst: cuvidMapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1254,1
    - Dst: glPixelTransferf
      Src: /src/gpac/src/filters/dec_nvdec.c:1311,1
    - Dst: glPixelTransferf
      Src: /src/gpac/src/filters/dec_nvdec.c:1315,1
    - Dst: cuvidUnmapVideoFrame
      Src: /src/gpac/src/filters/dec_nvdec.c:1286,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1320,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1155,1
    - Dst: glBufferData
      Src: /src/gpac/src/filters/dec_nvdec.c:1196,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1202,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1210,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1218,1
    - Dst: cuGLRegisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1225,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1227,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1257,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1282,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1293,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1294,1
    - Dst: glBufferData
      Src: /src/gpac/src/filters/dec_nvdec.c:1222,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1325,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1290,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_nvdec.c:1276,1
    - Dst: glPixelStorei
      Src: /src/gpac/src/filters/dec_nvdec.c:1303,1
    - Dst: cuCtxPushCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1153,1
    - Dst: cuGLUnregisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1160,1
    - Dst: cuGLUnregisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1161,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1162,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1163,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1179,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/dec_nvdec.c:1172,1
    - Dst: cuGLRegisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1199,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1201,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1245,1
    - Dst: cudaGetErrorEnum
      Src: /src/gpac/src/filters/dec_nvdec.c:1257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_nvdec.c:1282,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1322,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:1248,1
    - Dst: cuGLUnregisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1171,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1195,1
    - Dst: cuGLUnregisterBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1178,1
    - Dst: glGenTextures
      Src: /src/gpac/src/filters/dec_nvdec.c:1193,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/dec_nvdec.c:1223,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1229,1
    - Dst: cuGLMapBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1243,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_nvdec.c:1260,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1262,1
    - Dst: cuMemcpy2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1280,1
    - Dst: glPixelTransferf
      Src: /src/gpac/src/filters/dec_nvdec.c:1314,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/filters/dec_nvdec.c:1228,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_nvdec.c:1250,1
    - Dst: cuCtxPopCurrent
      Src: /src/gpac/src/filters/dec_nvdec.c:1235,1
    - Dst: cuGLUnmapBufferObject
      Src: /src/gpac/src/filters/dec_nvdec.c:1287,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/dec_nvdec.c:1326,1
    - Dst: glPixelTransferf
      Src: /src/gpac/src/filters/dec_nvdec.c:1310,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 165
    argCount: 5
    argNames:
    - frame
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_NVCodecMatrix*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1329
    functionName: nvframe_get_gl_texture
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - cuvidUnmapVideoFrame
    - memset
    - cuMemcpy2D
    - cuGLUnmapBufferObject
    - glBindTexture
    - GF_LOG
    - cuGLRegisterBufferObject
    - glBufferData
    - glDeleteBuffers
    - glTexSubImage2D
    - glGenTextures
    - cuCtxPushCurrent
    - glPixelTransferf
    - MIN
    - cudaGetErrorEnum
    - cuvidMapVideoFrame
    - glGenBuffers
    - glTexImage2D
    - glDeleteTextures
    - glBindBuffer
    - gf_assert
    - cuGLUnregisterBufferObject
    - cuCtxPopCurrent
    - glPixelStorei
    - cuGLMapBufferObject
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nvframe_get_gl_texture(GF_FilterFrameInterface *frame, u32
      plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_NVCodecMatrix * texcoordmatrix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cuCtxDestroy
      Src: /src/gpac/src/filters/dec_nvdec.c:1630,1
    - Dst: cuUninit
      Src: /src/gpac/src/filters/dec_nvdec.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - session
    - freg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1636
    functionName: nvdec_register_free
    functionSourceFile: /src/gpac/src/filters/dec_nvdec.c
    functionUses: []
    functionsReached:
    - cuCtxDestroy
    - cuUninit
    linkageType: ''
    returnType: void
    signature: 'static void nvdec_register_free(GF_FilterSession *session, GF_FilterRegister
      *freg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: HandleJNIError
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void HandleJNIError(JNIEnv *env) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 2
    argNames:
    - env
    - name
    argTypes:
    - JNIEnv*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: CacheAppClassLoader
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CacheAppClassLoader(JNIEnv* env, const char* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: JNI_OnLoad
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: jint
    signature: 'jint JNI_OnLoad(JavaVM* vm, void* reserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:131,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:132,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: mcdec_exit_callback
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'u32 mcdec_exit_callback(void * param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:227,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - env
    - mediaCodecList
    - findId
    - mediaFomat
    argTypes:
    - JNIEnv*
    - jobject
    - jmethodID
    - jobject
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: mcdec_get_decoder_name
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - HandleJNIError
    linkageType: ''
    returnType: char*
    signature: 'static char * mcdec_get_decoder_name(JNIEnv * env, jobject mediaCodecList,
      jmethodID findId, jobject mediaFomat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:334,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:334,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:336,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:336,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - surfaceTex
    argTypes:
    - GF_MCDecSurfaceTexture
    constantsTouched: []
    func_position:
      end: 346
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 346
    functionName: mcdec_update_surface
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - HandleJNIError
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_update_surface(GF_MCDecSurfaceTexture surfaceTex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - env
    - name
    argTypes:
    - JNIEnv*
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: FindAppClass
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: jclass
    signature: 'static jclass FindAppClass(JNIEnv* env, const char* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: GetEnv
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JNIEnv*
    signature: 'JNIEnv * GetEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: GetJavaVM
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JavaVM*
    signature: 'JavaVM * GetJavaVM() '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ANativeWindow_fromSurface
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:194,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:147,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:147,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:198,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:145,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:145,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 71
    argCount: 4
    argNames:
    - tex_id
    - window
    - surface_rendering
    - surfaceTex
    argTypes:
    - GLuint
    - ANativeWindow**
    - Bool*
    - GF_MCDecSurfaceTexture*
    constantsTouched: []
    func_position:
      end: 211
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 211
    functionName: mcdec_create_surface
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - HandleJNIError
    - ANativeWindow_fromSurface
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_create_surface(GLuint tex_id, ANativeWindow ** window,
      Bool * surface_rendering, GF_MCDecSurfaceTexture * surfaceTex) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:300,1
    - Dst: mcdec_get_decoder_name
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:303,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:250,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:250,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:252,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:252,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:291,1
    - Dst: mcdec_get_decoder_name
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:294,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:306,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 81
    argCount: 4
    argNames:
    - mime
    - width
    - height
    - is_adaptive
    argTypes:
    - char*
    - u32
    - u32
    - Bool*
    constantsTouched: []
    func_position:
      end: 327
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 327
    functionName: mcdec_find_decoder
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - HandleJNIError
    - gf_free
    - mcdec_get_decoder_name
    linkageType: ''
    returnType: char*
    signature: 'char * mcdec_find_decoder(const char * mime, u32 width, u32 height,
      Bool * is_adaptive) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:359,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:359,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:380,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:385,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:370,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:361,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:361,1
    - Dst: HandleJNIError
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:376,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - mx
    - surfaceTex
    argTypes:
    - GF_Matrix*
    - GF_MCDecSurfaceTexture
    constantsTouched: []
    func_position:
      end: 394
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 394
    functionName: mcdec_get_transform_matrix
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    - HandleJNIError
    - FLT2FIX
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_get_transform_matrix(GF_Matrix * mx, GF_MCDecSurfaceTexture
      surfaceTex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:401,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:401,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:403,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:403,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:419,1
    - Dst: GetJavaVM
      Src: /src/gpac/src/filters/dec_mediacodec_jni.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - surfaceTex
    argTypes:
    - GF_MCDecSurfaceTexture
    constantsTouched: []
    func_position:
      end: 423
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 423
    functionName: mcdec_delete_surface
    functionSourceFile: /src/gpac/src/filters/dec_mediacodec_jni.c
    functionUses: []
    functionsReached:
    - GetJavaVM
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mcdec_delete_surface(GF_MCDecSurfaceTexture surfaceTex) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1475,1
    - Dst: gf_avcc_use_extensions
      Src: /src/gpac/src/filters/reframe_nalu.c:1513,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1617,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1618,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1619,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1620,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1621,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1622,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1623,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1475,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1479,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1478,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1487,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:1564,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1610,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1624,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1614,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1484,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1593,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1601,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1587,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1595,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1584,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1585,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1603,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1613,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1582,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1591,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1599,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1612,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 191
    argCount: 10
    argNames:
    - ctx
    - dsi
    - dsi_size
    - dsi_enh
    - dsi_enh_size
    - max_width
    - max_height
    - max_enh_width
    - max_enh_height
    - sar
    argTypes:
    - GF_NALUDmxCtx*
    - u8**
    - u32*
    - u8**
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - GF_Fraction*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1630
    functionName: naludmx_create_avc_decoder_config
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_avcc_use_extensions
    - gf_list_get
    - gf_list_reset
    - gf_list_count
    - GF_LOG
    - gf_odf_avc_cfg_write
    - gf_odf_avc_cfg_del
    - gf_list_new
    - gf_odf_avc_cfg_new
    linkageType: ''
    returnType: Bool
    signature: 'Bool naludmx_create_avc_decoder_config(GF_NALUDmxCtx *ctx, u8 **dsi,
      u32 *dsi_size, u8 **dsi_enh, u32 *dsi_enh_size, u32 *max_width, u32 *max_height,
      u32 *max_enh_width, u32 *max_enh_height, GF_Fraction *sar) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/reframe_nalu.c:2316,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2323,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:2324,1
    - Dst: naludmx_update_clli_mdcv
      Src: /src/gpac/src/filters/reframe_nalu.c:2355,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:2365,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:2284,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:2286,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:2293,1
    - Dst: naludmx_update_clli_mdcv
      Src: /src/gpac/src/filters/reframe_nalu.c:2351,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_nalu.c:2330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2296,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/reframe_nalu.c:2306,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:2320,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:2305,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:2311,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:2330,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/reframe_nalu.c:2344,1
    - Dst: gf_sei_load_from_state
      Src: /src/gpac/src/filters/reframe_nalu.c:2359,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_nalu.c:2326,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2368
    functionName: naludmx_finalize_au_flags
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - naludmx_update_clli_mdcv
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_set_property
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_dependency_flags
    - PROP_DATA
    - naludmx_enqueue_or_dispatch
    - GF_LOG
    - gf_sei_load_from_state
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_roll_info
    - gf_assert
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_finalize_au_flags(GF_NALUDmxCtx *ctx) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:320,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:324,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:328,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:322,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:345,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:360,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:369,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:379,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:417,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:429,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:434,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_nalu.c:399,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_nalu.c:402,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:428,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_nalu.c:425,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:433,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_nalu.c:277,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:296,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:332,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:336,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:338,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:343,1
    - Dst: naludmx_reset_param_sets
      Src: /src/gpac/src/filters/reframe_nalu.c:354,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:359,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:380,1
    - Dst: gf_sei_init_from_avc
      Src: /src/gpac/src/filters/reframe_nalu.c:386,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:428,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:370,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:436,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:317,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:321,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:334,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:323,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:344,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:371,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:381,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:383,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_nalu.c:390,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:394,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:431,1
    - Dst: naludmx_finalize_au_flags
      Src: /src/gpac/src/filters/reframe_nalu.c:415,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:429,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_nalu.c:267,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:286,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:281,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_nalu.c:272,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:319,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:337,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:335,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_nalu.c:339,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:361,1
    - Dst: gf_sei_init_from_hevc
      Src: /src/gpac/src/filters/reframe_nalu.c:366,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:436,1
    - Dst: gf_sei_init_from_vvc
      Src: /src/gpac/src/filters/reframe_nalu.c:376,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:434,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 171
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 444
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 444
    functionName: naludmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_sei_init_from_avc
    - GF_FEVT_INIT
    - naludmx_enqueue_or_dispatch
    - GF_LOG
    - PROP_BOOL
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - strstr
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - naludmx_reset_param_sets
    - gf_filter_pid_set_property
    - gf_sei_init_from_hevc
    - gf_free
    - gf_filter_pid_send_event
    - gf_sei_init_from_vvc
    - gf_filter_pid_get_property
    - naludmx_finalize_au_flags
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err naludmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: naludmx_finalize_au_flags
      Src: /src/gpac/src/filters/reframe_nalu.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1644
    functionName: naludmx_end_access_unit
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - naludmx_finalize_au_flags
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_end_access_unit(GF_NALUDmxCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - GF_NALUDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 2378
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2378
    functionName: naludmx_update_nalu_maxsize
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_update_nalu_maxsize(GF_NALUDmxCtx *ctx, u32 size) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:658,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_nalu.c:710,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:717,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:720,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:730,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_nalu.c:734,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:741,1
    - Dst: naludmx_next_start_code
      Src: /src/gpac/src/filters/reframe_nalu.c:710,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_nalu.c:734,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_nalu.c:730,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:719,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:537,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_nalu.c:532,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:552,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:555,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:558,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:583,1
    - Dst: naludmx_next_start_code
      Src: /src/gpac/src/filters/reframe_nalu.c:581,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:584,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_nalu.c:586,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:732,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:535,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_nalu.c:523,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_nalu.c:562,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/reframe_nalu.c:578,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_nalu.c:577,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:565,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:564,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:585,1
    - Dst: naludmx_probe_recovery_sei
      Src: /src/gpac/src/filters/reframe_nalu.c:674,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/reframe_nalu.c:709,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:721,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/reframe_nalu.c:602,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_nalu.c:538,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_nalu.c:567,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:566,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_nalu.c:579,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/reframe_nalu.c:637,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:693,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_nalu.c:715,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_nalu.c:718,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:732,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 194
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 743
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 743
    functionName: naludmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - naludmx_next_start_code
    - strncmp
    - GF_LOG
    - gf_bs_enable_emulation_byte_removal
    - PROP_BOOL
    - PROP_FRAC64
    - GF_SAFEALLOC
    - gf_bs_del
    - gf_vvc_parse_nalu_bs
    - gf_hevc_parse_nalu_bs
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_property
    - gf_sys_is_test_mode
    - gf_free
    - gf_realloc
    - gf_filter_pid_get_property
    - naludmx_probe_recovery_sei
    - gf_bs_available
    - gf_avc_parse_nalu
    - gf_bs_align
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_check_dur(GF_Filter *filter, GF_NALUDmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_nalu.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - bs
    - offset
    - fsize
    - sc_size
    argTypes:
    - GF_BitStream*
    - u64
    - u64
    - u32*
    constantsTouched: []
    func_position:
      end: 471
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 471
    functionName: naludmx_next_start_code
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: u64
    signature: 'static u64 naludmx_next_start_code(GF_BitStream *bs, u64 offset, u64
      fsize, u32 *sc_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:857,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:864,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:859,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:870,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:869,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - param_list
    - sl
    - nal_type
    argTypes:
    - GF_List*
    - GF_NALUFFParam*
    - u8
    constantsTouched: []
    func_position:
      end: 873
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 873
    functionName: naludmx_add_param_nalu
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_add_param_nalu(GF_List *param_list, GF_NALUFFParam
      *sl, u8 nal_type) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:921,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:968,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:941,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:959,1
    - Dst: gf_isom_oinf_new_entry
      Src: /src/gpac/src/filters/reframe_nalu.c:929,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1015,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:1024,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:1043,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1047,1
    - Dst: gf_isom_oinf_write_entry
      Src: /src/gpac/src/filters/reframe_nalu.c:1048,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1050,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/reframe_nalu.c:1053,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_nalu.c:1053,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/reframe_nalu.c:1049,1
    - Dst: gf_isom_oinf_del_entry
      Src: /src/gpac/src/filters/reframe_nalu.c:1051,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 134
    argCount: 2
    argNames:
    - ctx
    - max_temporal_id
    argTypes:
    - GF_NALUDmxCtx*
    - u8*
    constantsTouched: []
    func_position:
      end: 1056
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 1056
    functionName: naludmx_set_hevc_oinf
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - gf_list_get
    - gf_bs_del
    - gf_bs_new
    - gf_filter_pid_set_info_str
    - GF_SAFEALLOC
    - gf_isom_oinf_del_entry
    - PROP_DATA_NO_COPY
    - gf_isom_oinf_write_entry
    - gf_isom_oinf_new_entry
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err naludmx_set_hevc_oinf(GF_NALUDmxCtx *ctx, u8 *max_temporal_id) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1141,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1225,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1235,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1221,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1231,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1243,1
    - Dst: naludmx_hevc_set_parall_type
      Src: /src/gpac/src/filters/reframe_nalu.c:1247,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1261,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1266,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1121,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1114,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1133,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1229,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1158,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1249,1
    - Dst: naludmx_hevc_set_parall_type
      Src: /src/gpac/src/filters/reframe_nalu.c:1250,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1258,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1139,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1155,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1215,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1251,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1265,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1268,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1111,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1152,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1219,1
    - Dst: naludmx_hevc_set_parall_type
      Src: /src/gpac/src/filters/reframe_nalu.c:1242,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1263,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 215
    argCount: 11
    argNames:
    - ctx
    - dsi
    - dsi_size
    - dsi_enh
    - dsi_enh_size
    - max_width
    - max_height
    - max_enh_width
    - max_enh_height
    - sar
    - has_hevc_base
    argTypes:
    - GF_NALUDmxCtx*
    - u8**
    - u32*
    - u8**
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - GF_Fraction*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1271
    functionName: naludmx_create_hevc_decoder_config
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_reset
    - gf_list_get
    - gf_list_count
    - naludmx_hevc_set_parall_type
    - gf_odf_hevc_cfg_del
    - gf_odf_hevc_cfg_write
    - gf_odf_hevc_cfg_new
    - naludmx_add_param_nalu
    linkageType: ''
    returnType: Bool
    signature: 'static Bool naludmx_create_hevc_decoder_config(GF_NALUDmxCtx *ctx,
      u8 **dsi, u32 *dsi_size, u8 **dsi_enh, u32 *dsi_enh_size, u32 *max_width, u32
      *max_height, u32 *max_enh_width, u32 *max_enh_height, GF_Fraction *sar, Bool
      *has_hevc_base) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:1877,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1907,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1965,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:1954,1
    - Dst: naludmx_set_hevc_linf
      Src: /src/gpac/src/filters/reframe_nalu.c:1956,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1918,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:1973,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1971,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1987,1
    - Dst: naludmx_create_hevc_decoder_config
      Src: /src/gpac/src/filters/reframe_nalu.c:1846,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_nalu.c:1856,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1927,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1997,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1971,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1828,1
    - Dst: naludmx_check_dur
      Src: /src/gpac/src/filters/reframe_nalu.c:1868,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1987,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1995,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1910,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1922,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:1934,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1975,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:1860,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:1889,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1986,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_nalu.c:1855,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:1910,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1919,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1922,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1975,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1988,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1939,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:1893,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_nalu.c:1901,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1921,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1986,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:1876,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1905,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1919,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1931,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1940,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1972,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1998,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1934,1
    - Dst: naludmx_create_vvc_decoder_config
      Src: /src/gpac/src/filters/reframe_nalu.c:1848,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1921,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1925,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1970,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1942,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1939,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_nalu.c:1931,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1972,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1905,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_nalu.c:1940,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1959,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1988,1
    - Dst: naludmx_update_clli_mdcv
      Src: /src/gpac/src/filters/reframe_nalu.c:2001,1
    - Dst: naludmx_set_dolby_vision
      Src: /src/gpac/src/filters/reframe_nalu.c:2003,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1944,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1942,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1962,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:1965,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1866,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_nalu.c:1925,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1970,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_nalu.c:1959,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1996,1
    - Dst: naludmx_set_hevc_oinf
      Src: /src/gpac/src/filters/reframe_nalu.c:1952,1
    - Dst: naludmx_create_avc_decoder_config
      Src: /src/gpac/src/filters/reframe_nalu.c:1850,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:1859,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1908,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1933,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1943,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1962,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1948,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_nalu.c:1944,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1989,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1951,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1828,1
    - Dst: naludmx_end_access_unit
      Src: /src/gpac/src/filters/reframe_nalu.c:1882,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:1897,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1906,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1930,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1973,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1896,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1908,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1918,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_nalu.c:1943,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1933,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:1948,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_nalu.c:1989,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 204
    argCount: 4
    argNames:
    - filter
    - ctx
    - force_au_flush
    - next_is_idr
    argTypes:
    - GF_Filter*
    - GF_NALUDmxCtx*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2005
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 2005
    functionName: naludmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - naludmx_end_access_unit
    - naludmx_set_hevc_linf
    - naludmx_set_dolby_vision
    - naludmx_enqueue_or_dispatch
    - GF_LOG
    - PROP_BOOL
    - PROP_FRAC64
    - naludmx_create_avc_decoder_config
    - gf_crc_32
    - gf_list_count
    - gf_filter_pid_copy_properties
    - naludmx_create_hevc_decoder_config
    - naludmx_check_dur
    - PROP_UINT
    - naludmx_create_vvc_decoder_config
    - naludmx_update_clli_mdcv
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pid_get_property
    - PROP_FRAC
    - naludmx_set_hevc_oinf
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_check_pid(GF_Filter *filter, GF_NALUDmxCtx *ctx,
      Bool force_au_flush, Bool next_is_idr) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:3055,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:3089,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:3088,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:3061,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/src/filters/reframe_nalu.c:3067,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_nalu.c:3089,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_nalu.c:3092,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:3093,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_nalu.c:3093,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/reframe_nalu.c:3100,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_nalu.c:3103,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_nalu.c:3101,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/reframe_nalu.c:3106,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_NALUDmxCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 3108
      start: 3050
    functionDepth: 0
    functionLinenumber: 3050
    functionLinenumberEnd: 3108
    functionName: naldmx_switch_timestamps
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_ref_props
    - gf_filter_pck_get_duration
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    - PROP_FRAC
    - gf_filter_pck_get_framing
    - gf_filter_pid_get_clock_info
    - gf_filter_pck_unref
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void naldmx_switch_timestamps(GF_NALUDmxCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3140,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3134,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 7
    argNames:
    - udta
    - field_name
    - nb_bits
    - field_val
    - idx1
    - idx2
    - idx3
    argTypes:
    - void*
    - char*
    - u32
    - u64
    - s32
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 3145
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3145
    functionName: naldmx_bs_log
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void naldmx_bs_log(void *udta, const char *field_name, u32
      nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_nalu.c:476,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_nalu.c:488,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_nalu.c:481,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/reframe_nalu.c:494,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_nalu.c:499,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_nalu.c:501,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - bs
    - avc
    argTypes:
    - GF_BitStream*
    - AVCState*
    constantsTouched: []
    func_position:
      end: 506
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 506
    functionName: naludmx_probe_recovery_sei
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_read_ue
    - gf_bs_peek_bits
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: void
    signature: 'void naludmx_probe_recovery_sei(GF_BitStream *bs, AVCState *avc) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:765,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/reframe_nalu.c:795,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_nalu.c:801,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_nalu.c:804,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:808,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframe_nalu.c:843,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:768,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:787,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:791,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:799,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:833,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:850,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:758,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:761,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframe_nalu.c:800,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:807,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:832,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_nalu.c:844,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:767,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:785,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:849,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - n_pck
    - flush_ref
    argTypes:
    - GF_NALUDmxCtx*
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 851
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 851
    functionName: naludmx_enqueue_or_dispatch
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_set_carousel_version
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_list_new
    - gf_assert
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_enqueue_or_dispatch(GF_NALUDmxCtx *ctx, GF_FilterPacket
      *n_pck, Bool flush_ref) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:880,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:909,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:892,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/reframe_nalu.c:893,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:882,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - hevc_cfg
    argTypes:
    - GF_NALUDmxCtx*
    - GF_HEVCConfig*
    constantsTouched: []
    func_position:
      end: 910
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 910
    functionName: naludmx_hevc_set_parall_type
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_hevc_read_pps
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_hevc_set_parall_type(GF_NALUDmxCtx *ctx, GF_HEVCConfig
      *hevc_cfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1073,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1075,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1079,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1076,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1080,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1081,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1082,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1083,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1084,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/reframe_nalu.c:1087,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_nalu.c:1089,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1088,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/reframe_nalu.c:1089,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1090
    functionName: naludmx_set_hevc_linf
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_filter_pid_set_info_str
    - gf_bs_write_int
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_set_hevc_linf(GF_NALUDmxCtx *ctx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1293,1
    - Dst: gf_odf_vvc_cfg_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1313,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1335,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:1363,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:1360,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1454,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1409,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1427,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_nalu.c:1455,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1290,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1301,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1320,1
    - Dst: gf_media_get_reduced_frame_rate
      Src: /src/gpac/src/filters/reframe_nalu.c:1387,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1407,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1404,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1418,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1422,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1436,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1440,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:1304,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1329,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1332,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1416,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_nalu.c:1361,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1413,1
    - Dst: naludmx_add_param_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:1431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1434,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/reframe_nalu.c:1446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:1452,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1457,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 196
    argCount: 11
    argNames:
    - ctx
    - dsi
    - dsi_size
    - dsi_enh
    - dsi_enh_size
    - max_width
    - max_height
    - max_enh_width
    - max_enh_height
    - sar
    - has_vvc_base
    argTypes:
    - GF_NALUDmxCtx*
    - u8**
    - u32*
    - u8**
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - GF_Fraction*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1459
    functionName: naludmx_create_vvc_decoder_config
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_odf_vvc_cfg_new
    - gf_list_get
    - gf_odf_vvc_cfg_write
    - gf_list_reset
    - gf_list_count
    - gf_media_get_reduced_frame_rate
    - memcpy
    - gf_free
    - gf_odf_vvc_cfg_del
    - naludmx_add_param_nalu
    linkageType: ''
    returnType: Bool
    signature: 'static Bool naludmx_create_vvc_decoder_config(GF_NALUDmxCtx *ctx,
      u8 **dsi, u32 *dsi_size, u8 **dsi_enh, u32 *dsi_enh_size, u32 *max_width, u32
      *max_height, u32 *max_enh_width, u32 *max_enh_height, GF_Fraction *sar, Bool
      *has_vvc_base) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_nalu.c:2012,1
    - Dst: naludmx_check_dur
      Src: /src/gpac/src/filters/reframe_nalu.c:2037,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_nalu.c:2060,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2036,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/reframe_nalu.c:2061,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_nalu.c:2072,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_nalu.c:2074,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:2086,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_nalu.c:2087,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_nalu.c:2090,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_nalu.c:2088,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2104
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2104
    functionName: naludmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - gf_list_count
    - GF_LOG
    - naludmx_check_dur
    - gf_filter_pck_discard
    - gf_filter_post_process_task
    - gf_filter_pck_unref
    - gf_list_pop_back
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool naludmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: naldmx_switch_timestamps
      Src: /src/gpac/src/filters/reframe_nalu.c:3118,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_nalu.c:3120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - nalu_store_before
    - bytes_drop
    - drop_packet
    - pck
    argTypes:
    - GF_NALUDmxCtx*
    - u32*
    - u32
    - Bool*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 3125
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3125
    functionName: naldmx_check_timestamp_switch
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    - naldmx_switch_timestamps
    linkageType: ''
    returnType: void
    signature: 'static void naldmx_check_timestamp_switch(GF_NALUDmxCtx *ctx, u32
      *nalu_store_before, u32 bytes_drop, Bool *drop_packet, GF_FilterPacket *pck) '
  - BBCount: 195
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/reframe_nalu.c:3198,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_nalu.c:3246,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3483,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3675,1
    - Dst: gf_hevc_slice_is_IDR
      Src: /src/gpac/src/filters/reframe_nalu.c:3559,1
    - Dst: naldmx_check_timestamp_switch
      Src: /src/gpac/src/filters/reframe_nalu.c:3486,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_nalu.c:4008,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_nalu.c:3498,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:3189,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_nalu.c:3190,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_nalu.c:3235,1
    - Dst: gf_avc_slice_is_intra
      Src: /src/gpac/src/filters/reframe_nalu.c:3711,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:4010,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframe_nalu.c:4040,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:3198,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/reframe_nalu.c:3443,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:3911,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3958,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3822,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:3776,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:3686,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:3878,1
    - Dst: naludmx_start_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:3966,1
    - Dst: naludmx_add_subsample
      Src: /src/gpac/src/filters/reframe_nalu.c:3978,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:4023,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:4047,1
    - Dst: naludmx_set_hevc_oinf
      Src: /src/gpac/src/filters/reframe_nalu.c:3196,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3238,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/reframe_nalu.c:3307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3517,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/reframe_nalu.c:3775,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3519,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:3800,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_nalu.c:3254,1
    - Dst: naldmx_switch_timestamps
      Src: /src/gpac/src/filters/reframe_nalu.c:3221,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_nalu.c:3226,1
    - Dst: naludmx_parse_nal_vvc
      Src: /src/gpac/src/filters/reframe_nalu.c:3459,1
    - Dst: naludmx_check_dur
      Src: /src/gpac/src/filters/reframe_nalu.c:3168,1
    - Dst: naludmx_set_hevc_linf
      Src: /src/gpac/src/filters/reframe_nalu.c:3197,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3271,1
    - Dst: naludmx_check_pid
      Src: /src/gpac/src/filters/reframe_nalu.c:3477,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3688,1
    - Dst: naludmx_start_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:3984,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_nalu.c:4024,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/reframe_nalu.c:3194,1
    - Dst: naludmx_parse_nal_hevc
      Src: /src/gpac/src/filters/reframe_nalu.c:3457,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/reframe_nalu.c:4037,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3801,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_nalu.c:3201,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3316,1
    - Dst: naludmx_parse_nal_avc
      Src: /src/gpac/src/filters/reframe_nalu.c:3461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4020,1
    - Dst: gf_hevc_slice_is_intra
      Src: /src/gpac/src/filters/reframe_nalu.c:3556,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:3194,1
    - Dst: gf_hevc_slice_is_IDR
      Src: /src/gpac/src/filters/reframe_nalu.c:3552,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:4011,1
    - Dst: naludmx_finalize_au_flags
      Src: /src/gpac/src/filters/reframe_nalu.c:4045,1
    - Dst: naludmx_add_subsample
      Src: /src/gpac/src/filters/reframe_nalu.c:3969,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:3797,1
    - Dst: naldmx_check_timestamp_switch
      Src: /src/gpac/src/filters/reframe_nalu.c:3525,1
    - Dst: naludmx_finalize_au_flags
      Src: /src/gpac/src/filters/reframe_nalu.c:3183,1
    - Dst: gf_bs_set_logger
      Src: /src/gpac/src/filters/reframe_nalu.c:3264,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3320,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3522,1
    - Dst: naldmx_check_timestamp_switch
      Src: /src/gpac/src/filters/reframe_nalu.c:4004,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_nalu.c:3172,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3249,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/reframe_nalu.c:3263,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:3804,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3967,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3495,1
    - Dst: naludmx_add_subsample
      Src: /src/gpac/src/filters/reframe_nalu.c:3989,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3994,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_nalu.c:3150,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:3260,1
    - Dst: naldmx_check_timestamp_switch
      Src: /src/gpac/src/filters/reframe_nalu.c:3324,1
    - Dst: naludmx_add_subsample
      Src: /src/gpac/src/filters/reframe_nalu.c:3961,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3690,1
    - Dst: naludmx_check_pid
      Src: /src/gpac/src/filters/reframe_nalu.c:3490,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/reframe_nalu.c:4041,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3759,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:3268,1
    - Dst: naludmx_end_access_unit
      Src: /src/gpac/src/filters/reframe_nalu.c:3472,1
    - Dst: gf_vvc_slice_is_ref
      Src: /src/gpac/src/filters/reframe_nalu.c:3592,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_nalu.c:4030,1
    - Dst: naludmx_start_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:3957,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:3809,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_nalu.c:3170,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:3229,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:3494,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:3802,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:3860,1
    - Dst: naludmx_start_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:3975,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:3976,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_nalu.c:4013,1
    CyclomaticComplexity: 266
    EdgeCount: 266
    ICount: 674
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4050
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 4050
    functionName: naludmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - naldmx_switch_timestamps
    - naludmx_set_hevc_linf
    - naludmx_end_access_unit
    - gf_hevc_slice_is_IDR
    - naludmx_enqueue_or_dispatch
    - GF_LOG
    - naludmx_start_nalu
    - gf_vvc_slice_is_ref
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - naludmx_check_pid
    - gf_filter_update_status
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - naludmx_parse_nal_avc
    - gf_bs_reassign_buffer
    - gf_filter_pid_set_info
    - gf_list_find
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_list_count
    - naludmx_parse_nal_vvc
    - gf_bs_set_logger
    - gf_media_nalu_next_start_code
    - naludmx_check_dur
    - gf_avc_slice_is_intra
    - gf_filter_pck_set_cts
    - PROP_UINT
    - memmove
    - gf_assert
    - gf_filter_reporting_enabled
    - gf_filter_pck_get_dts
    - gf_list_get
    - sprintf
    - gf_bs_new
    - memcpy
    - naldmx_check_timestamp_switch
    - gf_filter_pid_set_info_str
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - naludmx_add_subsample
    - gf_realloc
    - naludmx_parse_nal_hevc
    - naludmx_finalize_au_flags
    - gf_hevc_slice_is_intra
    - gf_log_tool_level_on
    - naludmx_set_hevc_oinf
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err naludmx_process(GF_Filter *filter) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/reframe_nalu.c:4221,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 85
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 4333
      start: 4201
    functionDepth: 0
    functionLinenumber: 4201
    functionLinenumberEnd: 4333
    functionName: naludmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_media_nalu_next_start_code
    linkageType: ''
    returnType: char*
    signature: 'static const char *naludmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4449
      start: 4446
    functionDepth: 0
    functionLinenumber: 4446
    functionLinenumberEnd: 4449
    functionName: rfnalu_register
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfnalu_register(GF_FilterSession *session) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:4179,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4186,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_nalu.c:4189,1
    - Dst: naludmx_log_stats
      Src: /src/gpac/src/filters/reframe_nalu.c:4172,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4177,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_nalu.c:4180,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_nalu.c:4181,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4196,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4185,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4187,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_nalu.c:4170,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4176,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:4174,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4195,1
    - Dst: gf_sei_loader_del
      Src: /src/gpac/src/filters/reframe_nalu.c:4197,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:4175,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/reframe_nalu.c:4183,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4194,1
    - Dst: naludmx_reset_param_sets
      Src: /src/gpac/src/filters/reframe_nalu.c:4192,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4198
      start: 4168
    functionDepth: 0
    functionLinenumber: 4168
    functionLinenumberEnd: 4198
    functionName: naludmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_sei_loader_del
    - gf_filter_get_udta
    - naludmx_log_stats
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_discard
    - gf_free
    - naludmx_reset_param_sets
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_finalize(GF_Filter *filter) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2386,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2387,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:2400,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/reframe_nalu.c:2442,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:2448,1
    - Dst: naludmx_update_time
      Src: /src/gpac/src/filters/reframe_nalu.c:2419,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_nalu.c:2415,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_nalu.c:2452,1
    - Dst: naludmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_nalu.c:2456,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_nalu.c:2393,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:2399,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:2442,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_nalu.c:2410,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_nalu.c:2382,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:2388,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_nalu.c:2395,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_nalu.c:2403,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_nalu.c:2405,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_nalu.c:2408,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframe_nalu.c:2412,1
    - Dst: naludmx_update_nalu_maxsize
      Src: /src/gpac/src/filters/reframe_nalu.c:2454,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 5
    argNames:
    - ctx
    - nal_size
    - skip_nal_field
    - au_start
    - pck_data
    argTypes:
    - GF_NALUDmxCtx*
    - u32
    - Bool
    - Bool*
    - u8**
    constantsTouched: []
    func_position:
      end: 2459
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2459
    functionName: naludmx_start_nalu
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_set_property
    - gf_filter_pck_set_sap
    - naludmx_update_nalu_maxsize
    - naludmx_enqueue_or_dispatch
    - gf_filter_pck_merge_properties
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_cts
    - naludmx_update_time
    - gf_bs_write_int
    - gf_filter_pck_set_duration
    - PROP_SINT
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'GF_FilterPacket *naludmx_start_nalu(GF_NALUDmxCtx *ctx, u32 nal_size,
      Bool skip_nal_field, Bool *au_start, u8 **pck_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:2482,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:2487,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2485,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2488,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2486,1
    - Dst: gf_avc_reformat_sei
      Src: /src/gpac/src/filters/reframe_nalu.c:2491,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_nalu.c:2493,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:2494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - data
    - size
    - avc_sei_rewrite
    argTypes:
    - GF_NALUDmxCtx*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2499
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2499
    functionName: naludmx_push_prefix
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_realloc
    - gf_bs_new
    - gf_bs_seek
    - memcpy
    - gf_avc_reformat_sei
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_push_prefix(GF_NALUDmxCtx *ctx, u8 *data, u32
      size, Bool avc_sei_rewrite) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_nalu.c:4054,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4083,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:4056,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:4055,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4073,1
    - Dst: gf_sei_loader_new
      Src: /src/gpac/src/filters/reframe_nalu.c:4086,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4088
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4088
    functionName: naludmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - GF_LOG
    - gf_sei_loader_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err naludmx_initialize(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4121,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4112,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:4129,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:4132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4143,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:4150,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 4153
      start: 4103
    functionDepth: 0
    functionLinenumber: 4103
    functionLinenumberEnd: 4153
    functionName: naludmx_log_stats
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_log_stats(GF_NALUDmxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:2465,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2468,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:2469,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2467,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:2470,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:2471,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/reframe_nalu.c:2472,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/reframe_nalu.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - subs_size
    - subs_priority
    - subs_reserved
    argTypes:
    - GF_NALUDmxCtx*
    - u32
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 2476
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2476
    functionName: naludmx_add_subsample
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gf_realloc
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void naludmx_add_subsample(GF_NALUDmxCtx *ctx, u32 subs_size, u8 subs_priority,
      u32 subs_reserved) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_read_vps_ex
      Src: /src/gpac/src/filters/reframe_nalu.c:2530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2544,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2666,1
    - Dst: gf_hevc_parse_sei
      Src: /src/gpac/src/filters/reframe_nalu.c:2560,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2535,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2537,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2634,1
    - Dst: naludmx_set_dolby_vision
      Src: /src/gpac/src/filters/reframe_nalu.c:2660,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:2565,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2553,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2555,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2562,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2516,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/reframe_nalu.c:2511,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_nalu.c:2565,1
    - Dst: naludmx_push_prefix
      Src: /src/gpac/src/filters/reframe_nalu.c:2569,1
    - Dst: naludmx_set_dolby_vision
      Src: /src/gpac/src/filters/reframe_nalu.c:2651,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 107
    argCount: 6
    argNames:
    - ctx
    - data
    - size
    - skip_nal
    - is_slice
    - is_islice
    argTypes:
    - GF_NALUDmxCtx*
    - char*
    - u32
    - Bool*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 2682
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2682
    functionName: naludmx_parse_nal_hevc
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - naludmx_set_dolby_vision
    - GF_LOG
    - naludmx_push_prefix
    - gf_filter_pid_set_property
    - gf_hevc_read_vps_ex
    - memcpy
    - PROP_UINT
    - gf_hevc_parse_nalu_bs
    - gf_hevc_parse_sei
    - naludmx_queue_param_set
    linkageType: ''
    returnType: s32
    signature: 'static s32 naludmx_parse_nal_hevc(GF_NALUDmxCtx *ctx, char *data,
      u32 size, Bool *skip_nal, u32 *is_slice, Bool *is_islice) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:4093,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_nalu.c:4094,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/reframe_nalu.c:4100,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4095,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:4096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ps
    - do_free
    argTypes:
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 4101
      start: 4090
    functionDepth: 0
    functionLinenumber: 4090
    functionLinenumberEnd: 4101
    functionName: naludmx_del_param_list
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_del_param_list(GF_List *ps, Bool do_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4157,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4159,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4160,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4161,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4158,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4162,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4163,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4164,1
    - Dst: naludmx_del_param_list
      Src: /src/gpac/src/filters/reframe_nalu.c:4165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - do_free
    argTypes:
    - GF_NALUDmxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 4166
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4166
    functionName: naludmx_reset_param_sets
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - naludmx_del_param_list
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_reset_param_sets(GF_NALUDmxCtx *ctx, Bool do_free) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1658,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_nalu.c:1658,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1665,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_nalu.c:1665,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_nalu.c:1659,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_nalu.c:1666,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - reset_crc
    argTypes:
    - GF_NALUDmxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 1668
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1668
    functionName: naludmx_update_clli_mdcv
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - PROP_DATA
    - gf_filter_pid_set_property
    - gf_crc_32
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_update_clli_mdcv(GF_NALUDmxCtx *ctx, Bool reset_crc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2108,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2120
    functionName: naludmx_update_time
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void naludmx_update_time(GF_NALUDmxCtx *ctx) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: naludmx_push_prefix
      Src: /src/gpac/src/filters/reframe_nalu.c:2765,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2719,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/reframe_nalu.c:2694,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2721,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2728,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2737,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2739,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2745,1
    - Dst: gf_vvc_parse_sei
      Src: /src/gpac/src/filters/reframe_nalu.c:2782,1
    - Dst: naludmx_push_prefix
      Src: /src/gpac/src/filters/reframe_nalu.c:2774,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2693,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2699,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2758,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2839,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2750,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2760,1
    - Dst: gf_vvc_parse_sei
      Src: /src/gpac/src/filters/reframe_nalu.c:2770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2851,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 101
    argCount: 6
    argNames:
    - ctx
    - data
    - size
    - skip_nal
    - is_slice
    - is_islice
    argTypes:
    - GF_NALUDmxCtx*
    - char*
    - u32
    - Bool*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 2867
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2867
    functionName: naludmx_parse_nal_vvc
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - naludmx_push_prefix
    - GF_LOG
    - memcpy
    - gf_vvc_parse_nalu_bs
    - naludmx_queue_param_set
    - gf_vvc_parse_sei
    linkageType: ''
    returnType: s32
    signature: 'static s32 naludmx_parse_nal_vvc(GF_NALUDmxCtx *ctx, char *data, u32
      size, Bool *skip_nal, u32 *is_slice, Bool *is_islice) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_dolby_vision_level
      Src: /src/gpac/src/filters/reframe_nalu.c:1686,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/reframe_nalu.c:1793,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1800,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1799,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:1803,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_nalu.c:1808,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/reframe_nalu.c:1794,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1796,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1797,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1798,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_nalu.c:1807,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:1806,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:1804,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_nalu.c:1792,1
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_nalu.c:1791,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:1690,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1795,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_nalu.c:1802,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_nalu.c:1808,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_nalu.c:1805,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 155
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NALUDmxCtx*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1809
    functionName: naludmx_set_dolby_vision
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - memset
    - gf_bs_del
    - PROP_DATA
    - gf_dolby_vision_level
    - GF_LOG
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_bs_write_int
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_set_dolby_vision(GF_NALUDmxCtx *ctx) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2135,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2178,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:2212,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/reframe_nalu.c:2256,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_nalu.c:2242,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_nalu.c:2258,1
    - Dst: naludmx_end_access_unit
      Src: /src/gpac/src/filters/reframe_nalu.c:2271,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:2273,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_nalu.c:2130,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2154,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2243,1
    - Dst: naludmx_end_access_unit
      Src: /src/gpac/src/filters/reframe_nalu.c:2250,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2174,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2182,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2186,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2203,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_nalu.c:2207,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:2225,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:2214,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2263,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2160,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2150,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:2227,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_nalu.c:2260,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 124
    argCount: 7
    argNames:
    - ctx
    - data
    - size
    - ps_type
    - ps_id
    - tid
    - lid
    argTypes:
    - GF_NALUDmxCtx*
    - char*
    - u32
    - u32
    - s32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2274
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2274
    functionName: naludmx_queue_param_set
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_list_get
    - gf_crc_32
    - gf_realloc
    - naludmx_end_access_unit
    - gf_list_count
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void naludmx_queue_param_set(GF_NALUDmxCtx *ctx, char *data,
      u32 size, u32 ps_type, s32 ps_id, u32 tid, u32 lid) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_nalu.c:2875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2892,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2880,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2895,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/reframe_nalu.c:2877,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2903,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2905,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_nalu.c:2913,1
    - Dst: naludmx_queue_param_set
      Src: /src/gpac/src/filters/reframe_nalu.c:2915,1
    - Dst: naludmx_push_prefix
      Src: /src/gpac/src/filters/reframe_nalu.c:2922,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_nalu.c:2989,1
    - Dst: naludmx_set_dolby_vision
      Src: /src/gpac/src/filters/reframe_nalu.c:3034,1
    - Dst: naludmx_set_dolby_vision
      Src: /src/gpac/src/filters/reframe_nalu.c:3043,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_nalu.c:2995,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_nalu.c:2994,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_nalu.c:2940,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_nalu.c:2988,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/reframe_nalu.c:2992,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 95
    argCount: 7
    argNames:
    - ctx
    - data
    - size
    - nal_type
    - skip_nal
    - is_slice
    - is_islice
    argTypes:
    - GF_NALUDmxCtx*
    - char*
    - u32
    - u32
    - Bool*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 3048
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 3048
    functionName: naludmx_parse_nal_avc
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_reassign_buffer
    - gf_list_get
    - naludmx_set_dolby_vision
    - gf_list_count
    - GF_LOG
    - naludmx_push_prefix
    - memcpy
    - gf_avc_parse_nalu
    - gf_list_rem
    - gf_list_new
    - naludmx_queue_param_set
    linkageType: ''
    returnType: s32
    signature: 'static s32 naludmx_parse_nal_avc(GF_NALUDmxCtx *ctx, char *data, u32
      size, u32 nal_type, Bool *skip_nal, u32 *is_slice, Bool *is_islice) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4444
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4444
    functionName: rfnalu_register
    functionSourceFile: /src/gpac/src/filters/reframe_nalu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfnalu_register(GF_FilterSession *session) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewind.c:72,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewind.c:84,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewind.c:89,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewind.c:80,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewind.c:75,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewind.c:93,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/rewind.c:97,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/rewind.c:98,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewind.c:102,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/src/filters/rewind.c:103,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewind.c:108,1
    - Dst: gf_filter_pid_get_max_buffer
      Src: /src/gpac/src/filters/rewind.c:103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 110
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 110
    functionName: rewind_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_set_max_buffer
    - gf_filter_pid_get_max_buffer
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_audio_fmt_is_planar
    - gf_filter_pid_check_caps
    - gf_audio_fmt_bit_depth
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewind_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewind.c:159,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewind.c:163,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewind.c:170,1
    - Dst: rewind_process_video
      Src: /src/gpac/src/filters/rewind.c:168,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewind.c:166,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewind.c:176,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewind.c:177,1
    - Dst: rewind_process_video
      Src: /src/gpac/src/filters/rewind.c:182,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewind.c:184,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewind.c:186,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewind.c:188,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewind.c:201,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewind.c:209,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewind.c:213,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewind.c:212,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 215
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 215
    functionName: rewind_process
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - rewind_process_video
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewind_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewind.c:56,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/rewind.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: rewind_initialize
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewind_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewind.c:63,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/rewind.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: rewind_finalize
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void rewind_finalize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/rewind.c:117,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewind.c:119,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewind.c:124,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewind.c:120,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewind.c:127,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewind.c:127,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/rewind.c:135,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewind.c:137,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/rewind.c:138,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewind.c:144,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/rewind.c:147,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/rewind.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_RewindCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 151
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 151
    functionName: rewind_process_video
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_ref
    - gf_list_count
    - gf_filter_pck_forward
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_sap
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewind_process_video(GF_RewindCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewind.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: rewind_process_event
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rewind_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: rewind_register
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rewind_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: rewind_register
    functionSourceFile: /src/gpac/src/filters/rewind.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rewind_register(GF_FilterSession *session) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_cc.c:105,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_cc.c:118,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_cc.c:120,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_cc.c:126,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_cc.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_cc.c:161,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_cc.c:109,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_cc.c:111,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_cc.c:114,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_cc.c:117,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_cc.c:148,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_cc.c:176,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/dec_cc.c:181,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:92,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_cc.c:101,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_cc.c:118,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_cc.c:146,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_cc.c:119,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_cc.c:120,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_cc.c:151,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dec_cc.c:163,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/dec_cc.c:178,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_cc.c:122,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_cc.c:166,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 194
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 194
    functionName: ccdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_odf_hevc_cfg_read
    - gf_filter_pid_set_property
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_del
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_odf_avc_cfg_read
    - PROP_UINT
    - gf_odf_vvc_cfg_read
    - gf_filter_pid_remove
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccdec_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/filters/dec_cc.c:220,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dec_cc.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: find_last_separator
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: int
    signature: 'static int find_last_separator(const char *input) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dec_cc.c:250,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_cc.c:251,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dec_cc.c:258,1
    - Dst: ccdec_post
      Src: /src/gpac/src/filters/dec_cc.c:256,1
    - Dst: same_crc
      Src: /src/gpac/src/filters/dec_cc.c:263,1
    - Dst: ccdec_post
      Src: /src/gpac/src/filters/dec_cc.c:268,1
    - Dst: find_last_separator
      Src: /src/gpac/src/filters/dec_cc.c:271,1
    - Dst: ccdec_post
      Src: /src/gpac/src/filters/dec_cc.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - size
    - ts
    argTypes:
    - CCDecCtx*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 284
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 284
    functionName: text_aggregate_and_post
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - strncmp
    - ccdec_post
    - find_last_separator
    - memmove
    - same_crc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err text_aggregate_and_post(CCDecCtx *ctx, u32 size, u64
      ts) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:340,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:354,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_cc.c:345,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_cc.c:343,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_cc.c:347,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_cc.c:363,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:365,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_cc.c:369,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_cc.c:371,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_cc.c:379,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_cc.c:393,1
    - Dst: ccdec_flush_queue
      Src: /src/gpac/src/filters/dec_cc.c:395,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_cc.c:383,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_cc.c:381,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_cc.c:390,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 6
    argNames:
    - ctx
    - ts
    - data
    - max_size
    - m2v
    - keep_data
    argTypes:
    - CCDecCtx*
    - u64
    - u8*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 398
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 398
    functionName: ccdec_queue_data
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_malloc
    - gf_list_add
    - gf_list_get
    - ccdec_flush_queue
    - GF_4CC
    - gf_list_count
    - memcpy
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ccdec_queue_data(CCDecCtx *ctx, u64 ts, u8 *data, u32
      max_size, Bool m2v, Bool keep_data) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ccdec_flush
      Src: /src/gpac/src/filters/dec_cc.c:422,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/dec_cc.c:488,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_cc.c:491,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_cc.c:493,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:499,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_cc.c:509,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_cc.c:545,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/dec_cc.c:556,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_cc.c:570,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:571,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:574,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_cc.c:505,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_cc.c:546,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_cc.c:416,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_cc.c:428,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_cc.c:430,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_cc.c:433,1
    - Dst: ccdec_queue_data
      Src: /src/gpac/src/filters/dec_cc.c:455,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/dec_cc.c:447,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_cc.c:485,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_cc.c:489,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:497,1
    - Dst: ccdec_queue_data
      Src: /src/gpac/src/filters/dec_cc.c:503,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/dec_cc.c:561,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_cc.c:604,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_cc.c:560,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_cc.c:419,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_cc.c:423,1
    - Dst: gf_m4v_parser_set_inspect
      Src: /src/gpac/src/filters/dec_cc.c:438,1
    - Dst: gf_m4v_parser_get_obj_type
      Src: /src/gpac/src/filters/dec_cc.c:451,1
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/filters/dec_cc.c:437,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/dec_cc.c:463,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/dec_cc.c:471,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_cc.c:474,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_cc.c:482,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/dec_cc.c:547,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_cc.c:552,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:591,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_cc.c:581,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_cc.c:563,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:413,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_cc.c:418,1
    - Dst: ccdec_flush_queue
      Src: /src/gpac/src/filters/dec_cc.c:420,1
    - Dst: ccdec_queue_data
      Src: /src/gpac/src/filters/dec_cc.c:464,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_cc.c:473,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/filters/dec_cc.c:484,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_cc.c:496,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_cc.c:501,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_cc.c:577,1
    - Dst: ccdec_queue_data
      Src: /src/gpac/src/filters/dec_cc.c:587,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_cc.c:550,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_cc.c:565,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_cc.c:558,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/dec_cc.c:594,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_cc.c:580,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_cc.c:584,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 184
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 606
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 606
    functionName: ccdec_process
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_malloc
    - gf_filter_pid_is_eos
    - gf_bs_seek
    - gf_bs_enable_emulation_byte_removal
    - gf_filter_pid_drop_packet
    - ccdec_queue_data
    - gf_filter_pid_set_eos
    - gf_bs_peek_bits
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - ccdec_flush
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_m4v_parser_get_obj_type
    - gf_m4v_get_object_start
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_m4v_parser_new
    - gf_m4v_parser_del
    - gf_bs_new
    - gf_bs_read_int
    - gf_av1_parse_obu_header
    - gf_m4v_parse_frame
    - ccdec_flush_queue
    - gf_bs_available
    - gf_av1_leb128_read
    - gf_m4v_parser_set_inspect
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ccdec_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:621,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:624,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:625,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_cc.c:623,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_cc.c:622,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_cc.c:627,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_cc.c:628,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: ccdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ccdec_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: ccdec_register
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ccdec_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dec_cc.c:204,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_cc.c:201,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dec_cc.c:205,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_cc.c:206,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_cc.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - size
    - ts
    argTypes:
    - CCDecCtx*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: ccdec_post
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ccdec_post(CCDecCtx *ctx, u32 size, u64 ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_cc.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - size
    - ts
    argTypes:
    - CCDecCtx*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: same_crc
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_crc_32
    linkageType: ''
    returnType: Bool
    signature: 'static Bool same_crc(CCDecCtx *ctx, u32 size, u64 ts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_cc.c:288,1
    - Dst: cea708_init
      Src: /src/gpac/src/filters/dec_cc.c:292,1
    - Dst: cea708_cc_count
      Src: /src/gpac/src/filters/dec_cc.c:299,1
    - Dst: cea708_parse_h264
      Src: /src/gpac/src/filters/dec_cc.c:296,1
    - Dst: cea708_parse_h262
      Src: /src/gpac/src/filters/dec_cc.c:294,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_cc.c:302,1
    - Dst: caption_frame_init
      Src: /src/gpac/src/filters/dec_cc.c:303,1
    - Dst: cea708_cc_data
      Src: /src/gpac/src/filters/dec_cc.c:314,1
    - Dst: libcaption_status_update
      Src: /src/gpac/src/filters/dec_cc.c:319,1
    - Dst: caption_frame_decode
      Src: /src/gpac/src/filters/dec_cc.c:319,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:325,1
    - Dst: caption_frame_to_text
      Src: /src/gpac/src/filters/dec_cc.c:330,1
    - Dst: text_aggregate_and_post
      Src: /src/gpac/src/filters/dec_cc.c:332,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_cc.c:326,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CCDecCtx*
    constantsTouched: []
    func_position:
      end: 333
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 333
    functionName: ccdec_flush_queue
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - cea708_parse_h262
    - cea708_cc_data
    - caption_frame_init
    - cea708_parse_h264
    - gf_list_pop_front
    - libcaption_status_update
    - cea708_init
    - text_aggregate_and_post
    - GF_SAFEALLOC
    - cea708_cc_count
    - caption_frame_to_text
    - caption_frame_decode
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ccdec_flush_queue(CCDecCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/dec_cc.c:405,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dec_cc.c:406,1
    - Dst: ccdec_post
      Src: /src/gpac/src/filters/dec_cc.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CCDecCtx*
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: ccdec_flush
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - strlen
    - ccdec_post
    linkageType: ''
    returnType: void
    signature: 'static void ccdec_flush(CCDecCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:610,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_cc.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: ccdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ccdec_initialize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_cc.c:634,1
    - Dst: caption_frame_init
      Src: /src/gpac/src/filters/dec_cc.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: ccdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - caption_frame_init
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ccdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: ccdec_register
    functionSourceFile: /src/gpac/src/filters/dec_cc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ccdec_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:157,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_truehd.c:157,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:154,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:160,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:161,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_truehd.c:164,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:169,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_truehd.c:172,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_truehd.c:175,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_truehd.c:143,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:149,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:152,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:159,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_truehd.c:167,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_truehd.c:168,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_truehd.c:173,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_truehd.c:176,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/reframe_truehd.c:139,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:147,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/reframe_truehd.c:142,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:153,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:161,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_truehd.c:154,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:160,1
    - Dst: gf_odf_ac3_cfg_write
      Src: /src/gpac/src/filters/reframe_truehd.c:163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:164,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_truehd.c:174,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_truehd.c:137,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:152,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:159,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_truehd.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - bs
    - hdr
    argTypes:
    - GF_TrueHDDmxCtx*
    - GF_BitStream*
    - GF_AC3Header*
    constantsTouched: []
    func_position:
      end: 177
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 177
    functionName: truehd_aux_ac3
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - PROP_BOOL
    - PROP_FRAC64
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_sap
    - gf_filter_pid_copy_properties
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_bs_read_data
    - memcmp
    - gf_odf_ac3_cfg_write
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_filter_pid_set_name
    - gf_filter_pck_merge_properties
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void truehd_aux_ac3(GF_TrueHDDmxCtx *ctx, GF_BitStream *bs,
      GF_AC3Header *hdr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - sample_rate
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 280
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 280
    functionName: truehd_frame_dur
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 truehd_frame_dur(u32 sample_rate) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:382,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:389,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:430,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:434,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_truehd.c:441,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_truehd.c:443,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/reframe_truehd.c:444,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:448,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:381,1
    - Dst: truehd_check_dur
      Src: /src/gpac/src/filters/reframe_truehd.c:372,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:383,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_truehd.c:384,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:431,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:387,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:439,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_truehd.c:442,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/reframe_truehd.c:446,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:451,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_truehd.c:371,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:382,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:430,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_truehd.c:389,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:432,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:432,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:434,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_truehd.c:448,1
    - Dst: truehd_frame_dur
      Src: /src/gpac/src/filters/reframe_truehd.c:377,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:383,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:384,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:431,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_truehd.c:387,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_truehd.c:424,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:439,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/reframe_truehd.c:445,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_truehd.c:447,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:451,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 123
    argCount: 3
    argNames:
    - filter
    - ctx
    - hdr
    argTypes:
    - GF_Filter*
    - GF_TrueHDDmxCtx*
    - TrueHDHdr*
    constantsTouched: []
    func_position:
      end: 453
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 453
    functionName: truehd_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_bs_get_content
    - gf_bs_del
    - truehd_frame_dur
    - truehd_check_dur
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - PROP_FRAC64
    - gf_timestamp_rescale
    - PROP_UINT
    - gf_bs_write_int
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void truehd_check_pid(GF_Filter *filter, GF_TrueHDDmxCtx *ctx,
      TrueHDHdr *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - GF_TrueHDDmxCtx*
    - TrueHDHdr*
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: truehd_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void truehd_update_cts(GF_TrueHDDmxCtx *ctx, TrueHDHdr
      *hdr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_truehd.c:757,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_truehd.c:758,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_truehd.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_truehd.c:760,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_truehd.c:759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 762
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionName: truehd_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void truehd_finalize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_truehd.c:102,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_truehd.c:107,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_truehd.c:121,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_truehd.c:112,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_truehd.c:117,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:122,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:124,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_truehd.c:124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 128
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 128
    functionName: truehd_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err truehd_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:199,1
    - Dst: truehd_aux_ac3
      Src: /src/gpac/src/filters/reframe_truehd.c:203,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_truehd.c:205,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:217,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:216,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:249,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_truehd.c:257,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:259,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:191,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_truehd.c:185,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_truehd.c:192,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:184,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_truehd.c:208,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:232,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:248,1
    - Dst: gf_ac3_parser_bs
      Src: /src/gpac/src/filters/reframe_truehd.c:196,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:207,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_truehd.c:218,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_truehd.c:231,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:247,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_truehd.c:252,1
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_truehd.c:182,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_truehd.c:219,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:244,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:245,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:246,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:250,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_truehd.c:258,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_truehd.c:260,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - ctx
    - bs
    - hdr
    - frame_start
    argTypes:
    - GF_TrueHDDmxCtx*
    - GF_BitStream*
    - TrueHDHdr*
    - u64*
    constantsTouched: []
    func_position:
      end: 263
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 263
    functionName: truehd_parse_frame
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - truehd_aux_ac3
    - gf_ac3_parser_bs
    - gf_bs_read_u16
    - gf_bs_read_u32
    - memset
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_peek_bits
    - gf_bs_skip_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err truehd_parse_frame(GF_TrueHDDmxCtx *ctx, GF_BitStream
      *bs, TrueHDHdr *hdr, u64 *frame_start) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_truehd.c:296,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_truehd.c:313,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_truehd.c:304,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_truehd.c:306,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_truehd.c:297,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:316,1
    - Dst: truehd_parse_frame
      Src: /src/gpac/src/filters/reframe_truehd.c:319,1
    - Dst: truehd_frame_dur
      Src: /src/gpac/src/filters/reframe_truehd.c:331,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_truehd.c:340,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_truehd.c:341,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_truehd.c:358,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_truehd.c:352,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_truehd.c:351,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_truehd.c:358,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_truehd.c:349,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_truehd.c:361,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TrueHDDmxCtx*
    constantsTouched: []
    func_position:
      end: 363
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 363
    functionName: truehd_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - gf_bs_del
    - truehd_frame_dur
    - strncmp
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_fclose
    - gf_bs_seek
    - gf_filter_pid_set_property
    - gf_bs_available
    - PROP_FRAC64
    - truehd_parse_frame
    linkageType: ''
    returnType: void
    signature: 'static void truehd_check_dur(GF_Filter *filter, GF_TrueHDDmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_truehd.c:459,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_truehd.c:493,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_truehd.c:495,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 514
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 514
    functionName: truehd_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool truehd_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_truehd.c:554,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_truehd.c:568,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_truehd.c:588,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_truehd.c:621,1
    - Dst: truehd_check_pid
      Src: /src/gpac/src/filters/reframe_truehd.c:653,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_truehd.c:591,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_truehd.c:597,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_truehd.c:694,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_truehd.c:695,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_truehd.c:747,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_truehd.c:551,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_truehd.c:549,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_truehd.c:557,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_truehd.c:575,1
    - Dst: truehd_parse_frame
      Src: /src/gpac/src/filters/reframe_truehd.c:628,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_truehd.c:690,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_truehd.c:697,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_truehd.c:698,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_truehd.c:712,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_truehd.c:721,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_truehd.c:730,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_truehd.c:530,1
    - Dst: truehd_check_dur
      Src: /src/gpac/src/filters/reframe_truehd.c:544,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_truehd.c:556,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_truehd.c:570,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_truehd.c:619,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_truehd.c:696,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_truehd.c:727,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_truehd.c:750,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_truehd.c:701,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_truehd.c:682,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_truehd.c:692,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_truehd.c:703,1
    - Dst: truehd_update_cts
      Src: /src/gpac/src/filters/reframe_truehd.c:708,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_truehd.c:743,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_truehd.c:706,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 190
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 753
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 753
    functionName: truehd_process
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - truehd_check_dur
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - memmove
    - truehd_check_pid
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - truehd_update_cts
    - truehd_parse_frame
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err truehd_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_truehd.c:767,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_truehd.c:777,1
    - Dst: truehd_parse_frame
      Src: /src/gpac/src/filters/reframe_truehd.c:771,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_truehd.c:768,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_truehd.c:779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 785
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 785
    functionName: truehd_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_new
    - gf_bs_seek
    - gf_bs_available
    - truehd_parse_frame
    linkageType: ''
    returnType: char*
    signature: 'static const char *truehd_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: rftruehd_register
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rftruehd_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 834
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 834
    functionName: rftruehd_register
    functionSourceFile: /src/gpac/src/filters/reframe_truehd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rftruehd_register(GF_FilterSession *session) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/out_pipe.c:88,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_pipe.c:103,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_pipe.c:109,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_pipe.c:129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:142,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:160,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:161,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/out_pipe.c:163,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:175,1
    - Dst: close
      Src: /src/gpac/src/filters/out_pipe.c:181,1
    - Dst: mknod
      Src: /src/gpac/src/filters/out_pipe.c:186,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_pipe.c:204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:196,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/out_pipe.c:111,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_pipe.c:113,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_pipe.c:132,1
    - Dst: WaitNamedPipeA
      Src: /src/gpac/src/filters/out_pipe.c:140,1
    - Dst: CloseHandle
      Src: /src/gpac/src/filters/out_pipe.c:122,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_pipe.c:126,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:155,1
    - Dst: ConnectNamedPipe
      Src: /src/gpac/src/filters/out_pipe.c:160,1
    - Dst: CreateFile
      Src: /src/gpac/src/filters/out_pipe.c:173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:175,1
    - Dst: open
      Src: /src/gpac/src/filters/out_pipe.c:193,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_pipe.c:98,1
    - Dst: close
      Src: /src/gpac/src/filters/out_pipe.c:91,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_pipe.c:130,1
    - Dst: CreateNamedPipe
      Src: /src/gpac/src/filters/out_pipe.c:146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:155,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_pipe.c:203,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_pipe.c:184,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_pipe.c:101,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_pipe.c:105,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_pipe.c:106,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_pipe.c:133,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_pipe.c:125,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:159,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:161,1
    - Dst: mkfifo
      Src: /src/gpac/src/filters/out_pipe.c:188,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/filters/out_pipe.c:196,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 113
    argCount: 5
    argNames:
    - ctx
    - filename
    - ext
    - file_idx
    - explicit_overwrite
    argTypes:
    - GF_PipeOutCtx*
    - char*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 206
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 206
    functionName: pipeout_open_close
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - GetLastError
    - open
    - gf_errno_str
    - ConnectNamedPipe
    - mkfifo
    - gf_strdup
    - strcmp
    - gf_filter_pid_resolve_file_template
    - strcpy
    - CreateNamedPipe
    - WaitNamedPipeA
    - mknod
    - strchr
    - gf_free
    - close
    - strcat
    - CreateFile
    - CloseHandle
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipeout_open_close(GF_PipeOutCtx *ctx, const char *filename,
      const char *ext, u32 file_idx, Bool explicit_overwrite) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_pipe.c:302,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_pipe.c:314,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:306,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_pipe.c:313,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: pipeout_finalize
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_file_delete
    - gf_free
    - pipeout_open_close
    linkageType: ''
    returnType: void
    signature: 'static void pipeout_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_pipe.c:227,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:230,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_pipe.c:238,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_pipe.c:237,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_pipe.c:233,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_pipe.c:242,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: pipeout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - pipeout_open_close
    - gf_filter_pid_get_property
    - GF_LOG
    - gf_filter_pid_init_play_event
    - gf_filter_pid_check_caps
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipeout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - pck_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: if
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (pck_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_pipe.c:509,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_pipe.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: pipeout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore pipeout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_pipe.c:579,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_pipe.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: pout_register
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *pout_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_pipe.c:211,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:213,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:217,1
    - Dst: pipeout_open_close
      Src: /src/gpac/src/filters/out_pipe.c:220,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_pipe.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - explicit_overwrite
    argTypes:
    - GF_PipeOutCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: pipeout_setup_file
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - pipeout_open_close
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipeout_setup_file(GF_PipeOutCtx *ctx, Bool explicit_overwrite) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_pipe.c:253,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_pipe.c:257,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/out_pipe.c:258,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_pipe.c:257,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_pipe.c:265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:276,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_pipe.c:281,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_pipe.c:286,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_pipe.c:289,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_pipe.c:291,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_pipe.c:296,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_pipe.c:293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 298
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 298
    functionName: pipeout_initialize
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - PROP_NAME
    - gf_filter_setup_failure
    - PROP_UINT
    - strnicmp
    - strncpy
    - strlwr
    - gf_filter_override_caps
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pipeout_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/gpac/src/filters/out_pipe.c:324,1
    - Dst: GetLastError
      Src: /src/gpac/src/filters/out_pipe.c:325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:331,1
    - Dst: write
      Src: /src/gpac/src/filters/out_pipe.c:329,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/filters/out_pipe.c:331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_pipe.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_PipeOutCtx*
    constantsTouched: []
    func_position:
      end: 339
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 339
    functionName: pout_write_marker
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached:
    - WriteFile
    - GF_LOG
    - write
    - GetLastError
    - gf_errno_str
    linkageType: ''
    returnType: void
    signature: 'static void pout_write_marker(GF_PipeOutCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: pout_register
    functionSourceFile: /src/gpac/src/filters/out_pipe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *pout_register(GF_FilterSession *session) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vout_reset_overlay
      Src: /src/gpac/src/filters/out_video.c:842,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:864,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:845,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:848,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:895,1
    - Dst: gf_filter_remove
      Src: /src/gpac/src/filters/out_video.c:900,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/filters/out_video.c:905,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/out_video.c:915,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/out_video.c:916,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:928,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 71
    argCount: 2
    argNames:
    - cbk
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 931
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 931
    functionName: vout_on_event
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_reset_overlay
    - GF_FEVT_INIT
    - FLT2FIX
    - gf_filter_remove
    - gf_filter_ui_event
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vout_on_event(void *cbk, GF_Event *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:2182,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:2187,1
    - Dst: vout_set_caption
      Src: /src/gpac/src/filters/out_video.c:2183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - fevt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2196
    functionName: vout_process_event
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - vout_set_caption
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vout_process_event(GF_Filter *filter, const GF_FilterEvent
      *fevt) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:2200,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_video.c:2218,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2202,1
    - Dst: vout_reset_overlay
      Src: /src/gpac/src/filters/out_video.c:2212,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2208,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2221,1
    - Dst: vout_reset_overlay
      Src: /src/gpac/src/filters/out_video.c:2222,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2226,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2242,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2251,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2242,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2256,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2250,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:2269,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:2247,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:2258,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 2275
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2275
    functionName: vout_update_arg
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - vout_reset_overlay
    - GF_FEVT_INIT
    - strcmp
    - GF_LOG
    - gf_filter_post_process_task
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vout_update_arg(GF_Filter *filter, const char *arg_name, const
      GF_PropertyValue *new_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2376
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2376
    functionName: vout_register
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vout_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:335,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/filters/out_video.c:349,1
    - Dst: gf_mx_add_scale
      Src: /src/gpac/src/filters/out_video.c:348,1
    - Dst: gf_mx_add_translation
      Src: /src/gpac/src/filters/out_video.c:347,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/filters/out_video.c:339,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/filters/out_video.c:351,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/filters/out_video.c:352,1
    - Dst: glUniform1i
      Src: /src/gpac/src/filters/out_video.c:354,1
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:355,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/filters/out_video.c:359,1
    - Dst: glUniform1i
      Src: /src/gpac/src/filters/out_video.c:360,1
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 364
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 364
    functionName: load_gl_tx_matrix
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - glUseProgram
    - glUniformMatrix4fv
    - gf_mx_add_scale
    - gf_mx_init
    - glGetUniformLocation
    - glUniform1i
    - gf_mx_add_translation
    linkageType: ''
    returnType: void
    signature: 'static void load_gl_tx_matrix(GF_VideoOutCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/out_video.c:1312,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/filters/out_video.c:1318,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/filters/out_video.c:1323,1
    - Dst: glLoadIdentity
      Src: /src/gpac/src/filters/out_video.c:1319,1
    - Dst: vout_draw_gl_quad
      Src: /src/gpac/src/filters/out_video.c:1322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - hwf
    argTypes:
    - GF_VideoOutCtx*
    - GF_FilterFrameInterface*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1324
    functionName: vout_draw_gl_hw_textures
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_draw_gl_quad
    - glMatrixMode
    - GL_CHECK_ERR
    - glDeleteTextures
    - glLoadIdentity
    linkageType: ''
    returnType: void
    signature: 'static void vout_draw_gl_hw_textures(GF_VideoOutCtx *ctx, GF_FilterFrameInterface
      *hwf) '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1964,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:1964,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_video.c:2063,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:2103,1
    - Dst: resize_video_output
      Src: /src/gpac/src/filters/out_video.c:1712,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1882,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:2021,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/filters/out_video.c:2048,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/src/filters/out_video.c:1940,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:1734,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:1908,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:2013,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:2087,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:2089,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:2095,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_video.c:2098,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1790,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1797,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_video.c:1811,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:2036,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/filters/out_video.c:2080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2103,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_video.c:2134,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1727,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/out_video.c:1756,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/out_video.c:1901,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/out_video.c:1859,1
    - Dst: ABS
      Src: /src/gpac/src/filters/out_video.c:1990,1
    - Dst: gf_filter_ui_event
      Src: /src/gpac/src/filters/out_video.c:2041,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_video.c:2102,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:2090,1
    - Dst: gf_filter_all_sinks_done
      Src: /src/gpac/src/filters/out_video.c:1796,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1876,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:1944,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/out_video.c:2062,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2095,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:1874,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:1904,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1726,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:1733,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:1737,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:1740,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1930,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:2029,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:2110,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:1950,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:1778,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_video.c:1862,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:1963,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/out_video.c:2059,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/out_video.c:2097,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_video.c:2135,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_video.c:1759,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_video.c:1767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1810,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/out_video.c:1849,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1869,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_video.c:1865,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:1919,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_video.c:2125,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:1705,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_video.c:1767,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:1771,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2027,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2087,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:2130,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_video.c:2123,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_video.c:1736,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1803,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/out_video.c:1912,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:2027,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:2143,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_video.c:1929,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:1926,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1969,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_video.c:1843,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/out_video.c:1881,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:2036,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:2055,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_video.c:2113,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_video.c:2136,1
    - Dst: vout_configure_pid
      Src: /src/gpac/src/filters/out_video.c:1718,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_video.c:1765,1
    - Dst: gf_filter_has_connect_errors
      Src: /src/gpac/src/filters/out_video.c:1756,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:1883,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_video.c:1894,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_video.c:1864,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:1909,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:2132,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/out_video.c:2135,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:1770,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_video.c:1840,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_video.c:1855,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1754,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1760,1
    - Dst: gf_filter_all_sinks_done
      Src: /src/gpac/src/filters/out_video.c:1756,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:1791,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1913,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:1895,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_video.c:1910,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:1837,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_video.c:2115,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_video.c:1973,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1973,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:1987,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1857,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_video.c:1860,1
    - Dst: ABS
      Src: /src/gpac/src/filters/out_video.c:2035,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:2059,1
    - Dst: ABS
      Src: /src/gpac/src/filters/out_video.c:2070,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 422
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2144
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 2144
    functionName: vout_process
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_set_discard
    - gf_filter_get_clock_hint
    - gf_filter_pid_is_eos
    - gf_filter_ui_event
    - GF_FEVT_INIT
    - gf_filter_pck_get_duration
    - gf_filter_pck_ref
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_update_status
    - gf_filter_all_sinks_done
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - vout_configure_pid
    - vout_draw_frame
    - gf_filter_reporting_enabled
    - gf_filter_connections_pending
    - gf_filter_pid_get_first_packet_cts
    - sprintf
    - gf_filter_pid_init_play_event
    - gf_sys_clock
    - gf_filter_post_process_task
    - ABS
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pck_unref
    - gf_pixel_fmt_name
    - gf_filter_pid_send_event
    - resize_video_output
    - gf_filter_has_connect_errors
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_get_property
    - gf_timestamp_greater
    - gf_sys_clock_high_res
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vout_process(GF_Filter *filter) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:435,1
    - Dst: vout_set_caption
      Src: /src/gpac/src/filters/out_video.c:494,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:570,1
    - Dst: vout_make_gl_current
      Src: /src/gpac/src/filters/out_video.c:716,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:770,1
    - Dst: gf_gl_txw_insert_fragment_shader
      Src: /src/gpac/src/filters/out_video.c:738,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/filters/out_video.c:710,1
    - Dst: glViewport
      Src: /src/gpac/src/filters/out_video.c:763,1
    - Dst: glAttachShader
      Src: /src/gpac/src/filters/out_video.c:749,1
    - Dst: glLinkProgram
      Src: /src/gpac/src/filters/out_video.c:751,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_video.c:390,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:766,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/filters/out_video.c:717,1
    - Dst: gf_gl_txw_setup
      Src: /src/gpac/src/filters/out_video.c:723,1
    - Dst: glCreateShader
      Src: /src/gpac/src/filters/out_video.c:719,1
    - Dst: vout_compile_shader
      Src: /src/gpac/src/filters/out_video.c:746,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:401,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:453,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_video.c:818,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:822,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:440,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:444,1
    - Dst: glClear
      Src: /src/gpac/src/filters/out_video.c:762,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:379,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:397,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:408,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:462,1
    - Dst: load_gl_tx_matrix
      Src: /src/gpac/src/filters/out_video.c:511,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/out_video.c:814,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_video.c:481,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_video.c:498,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:772,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:779,1
    - Dst: glCreateShader
      Src: /src/gpac/src/filters/out_video.c:722,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/filters/out_video.c:707,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:374,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:471,1
    - Dst: glClear
      Src: /src/gpac/src/filters/out_video.c:765,1
    - Dst: glBlendFunc
      Src: /src/gpac/src/filters/out_video.c:775,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:451,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/filters/out_video.c:725,1
    - Dst: glHint
      Src: /src/gpac/src/filters/out_video.c:769,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_video.c:728,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:777,1
    - Dst: load_gl_tx_matrix
      Src: /src/gpac/src/filters/out_video.c:782,1
    - Dst: gf_prop_matrix_decompose
      Src: /src/gpac/src/filters/out_video.c:464,1
    - Dst: resize_video_output
      Src: /src/gpac/src/filters/out_video.c:550,1
    - Dst: vout_compile_shader
      Src: /src/gpac/src/filters/out_video.c:720,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_video.c:747,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_video.c:389,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:404,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/out_video.c:700,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:771,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:437,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:412,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:479,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/out_video.c:588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:700,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:399,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:455,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:486,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_video.c:592,1
    - Dst: glCreateProgram
      Src: /src/gpac/src/filters/out_video.c:718,1
    - Dst: glAttachShader
      Src: /src/gpac/src/filters/out_video.c:750,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_video.c:739,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/filters/out_video.c:708,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:768,1
    - Dst: vout_draw_frame
      Src: /src/gpac/src/filters/out_video.c:378,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:449,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:744,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:756,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/out_video.c:818,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:774,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_video.c:385,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:394,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:406,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:419,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_video.c:735,1
    - Dst: vout_make_gl_current
      Src: /src/gpac/src/filters/out_video.c:706,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/filters/out_video.c:709,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:422,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_video.c:432,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 402
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 824
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 824
    functionName: vout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_compile_shader
    - memset
    - glAttachShader
    - GF_FEVT_INIT
    - vout_make_gl_current
    - GF_LOG
    - glEnable
    - gf_timestamp_rescale
    - glCreateShader
    - glHint
    - gf_filter_get_udta
    - vout_set_caption
    - gf_gl_txw_reset
    - glCreateProgram
    - PROP_UINT
    - vout_draw_frame
    - load_gl_tx_matrix
    - gf_assert
    - gf_filter_pid_negotiate_property
    - gf_dynstrcat
    - gf_pixel_get_size_info
    - DEL_PROGRAM
    - glViewport
    - GL_CHECK_ERR
    - glLinkProgram
    - gf_filter_pid_init_play_event
    - gf_gl_txw_setup
    - gf_free
    - gf_pixel_fmt_name
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    - resize_video_output
    - gf_prop_matrix_decompose
    - gf_gl_txw_insert_fragment_shader
    - glClear
    - gf_filter_pid_get_property
    - DEL_SHADER
    - glDisable
    - gf_filter_pid_check_caps
    - gf_pixel_fmt_is_transparent
    - glBlendFunc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vout_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/out_video.c:1329,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/out_video.c:1333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1336
    functionName: vbo_changed
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - glDeleteBuffers
    linkageType: ''
    returnType: void
    signature: 'static void vbo_changed(GF_VideoOutCtx *ctx) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1566,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1627,1
    - Dst: gf_pixel_fmt_sname
      Src: /src/gpac/src/filters/out_video.c:1664,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_video.c:1667,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_video.c:1672,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_video.c:1676,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1687,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1697,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:1533,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_video.c:1541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1554,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1616,1
    - Dst: gf_stretch_bits
      Src: /src/gpac/src/filters/out_video.c:1624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1627,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:1650,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_video.c:1663,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_video.c:1663,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1687,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/out_video.c:1545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1560,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:1579,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1586,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1616,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1586,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:1636,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_video.c:1670,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_video.c:1679,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1697,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_video.c:1668,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 182
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_VideoOutCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1700
    functionName: vout_draw_2d
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_filter_pck_get_frame_interface
    - memset
    - gf_pixel_fmt_sname
    - gf_error_to_string
    - GF_LOG
    - gf_stretch_bits
    - strcmp
    - gf_file_basename
    - strchr
    - gf_fopen
    - gf_fwrite
    - gf_fclose
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: void
    signature: 'void vout_draw_2d(GF_VideoOutCtx *ctx, GF_FilterPacket *pck) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rmt_begin_gl
      Src: /src/gpac/src/filters/out_video.c:2152,1
    - Dst: glGetError
      Src: /src/gpac/src/filters/out_video.c:2153,1
    - Dst: vout_draw_gl
      Src: /src/gpac/src/filters/out_video.c:2154,1
    - Dst: glGetError
      Src: /src/gpac/src/filters/out_video.c:2156,1
    - Dst: gf_rmt_end_gl
      Src: /src/gpac/src/filters/out_video.c:2155,1
    - Dst: vout_draw_2d
      Src: /src/gpac/src/filters/out_video.c:2160,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/out_video.c:2165,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:2169,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_video.c:2173,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2177
    functionName: vout_draw_frame
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_draw_gl
    - vout_draw_2d
    - gf_sys_clock_high_res
    - gf_rmt_begin_gl
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pck_unref
    - glGetError
    - gf_rmt_end_gl
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vout_draw_frame(GF_VideoOutCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: vout_make_gl_current
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void vout_make_gl_current(GF_VideoOutCtx *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:248,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_video.c:259,1
    - Dst: gf_filter_pid_get_source_filter_name
      Src: /src/gpac/src/filters/out_video.c:257,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/out_video.c:253,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filters/out_video.c:256,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_video.c:260,1
    - Dst: gf_filter_path_escape_colon
      Src: /src/gpac/src/filters/out_video.c:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: vout_set_caption
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_path_escape_colon
    - strncmp
    - gf_filter_pid_orig_src_args
    - gf_filter_pid_get_property_str
    - gf_filter_pid_get_source_filter_name
    linkageType: ''
    returnType: void
    signature: 'static void vout_set_caption(GF_VideoOutCtx *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filters/out_video.c:997,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:996,1
    - Dst: gf_filter_load_script
      Src: /src/gpac/src/filters/out_video.c:1043,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_video.c:975,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:978,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:1015,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_video.c:986,1
    - Dst: gf_filter_register_opengl_provider
      Src: /src/gpac/src/filters/out_video.c:1027,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_video.c:1039,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:944,1
    - Dst: gf_filter_claim_opengl_provider
      Src: /src/gpac/src/filters/out_video.c:950,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_video.c:974,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_video.c:984,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_video.c:988,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_video.c:987,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1007,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/filters/out_video.c:1025,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:971,1
    - Dst: gf_module_load
      Src: /src/gpac/src/filters/out_video.c:955,1
    - Dst: gpac_force_step_mode
      Src: /src/gpac/src/filters/out_video.c:960,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_video.c:985,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_video.c:989,1
    - Dst: gf_filter_set_event_target
      Src: /src/gpac/src/filters/out_video.c:1037,1
    - Dst: vout_set_caption
      Src: /src/gpac/src/filters/out_video.c:1047,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1049
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 1049
    functionName: vout_initialize
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_filter_claim_opengl_provider
    - gf_filter_get_udta
    - gf_filter_load_script
    - vout_set_caption
    - memset
    - sscanf
    - gpac_force_step_mode
    - GF_LOG
    - gf_module_load
    - gf_modules_close_interface
    - gf_opengl_init
    - gf_opts_set_key
    - gf_filter_register_opengl_provider
    - gf_filter_post_process_task
    - gf_filter_set_event_target
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vout_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glMatrixMode
      Src: /src/gpac/src/filters/out_video.c:1125,1
    - Dst: glLoadIdentity
      Src: /src/gpac/src/filters/out_video.c:1128,1
    - Dst: glLoadIdentity
      Src: /src/gpac/src/filters/out_video.c:1126,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/filters/out_video.c:1127,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:1130,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:1131,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/out_video.c:1132,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/filters/out_video.c:1134,1
    - Dst: glVertexPointer
      Src: /src/gpac/src/filters/out_video.c:1135,1
    - Dst: glClientActiveTexture
      Src: /src/gpac/src/filters/out_video.c:1136,1
    - Dst: glTexCoordPointer
      Src: /src/gpac/src/filters/out_video.c:1138,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/filters/out_video.c:1144,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/out_video.c:1145,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/filters/out_video.c:1141,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1146,1
    - Dst: glDrawElements
      Src: /src/gpac/src/filters/out_video.c:1140,1
    - Dst: glDisableClientState
      Src: /src/gpac/src/filters/out_video.c:1142,1
    - Dst: glEnableClientState
      Src: /src/gpac/src/filters/out_video.c:1137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1148
    functionName: vout_draw_overlay
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - glDisableClientState
    - glMatrixMode
    - glVertexPointer
    - glTexCoordPointer
    - glBindTexture
    - glClientActiveTexture
    - glEnableClientState
    - glDisable
    - glEnable
    - glDrawElements
    - glActiveTexture
    - glLoadIdentity
    linkageType: ''
    returnType: void
    signature: 'static void vout_draw_overlay(GF_VideoOutCtx *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:273,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/filters/out_video.c:301,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/filters/out_video.c:291,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_video.c:282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:304,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_video.c:313,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_video.c:322,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_video.c:325,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - dw
    - dh
    argTypes:
    - GF_VideoOutCtx*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 328
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 328
    functionName: resize_video_output
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - memset
    - GF_FEVT_INIT
    - GF_LOG
    - gf_opengl_init
    - gf_opts_get_bool
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err resize_video_output(GF_VideoOutCtx *ctx, u32 dw, u32
      dh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/out_video.c:206,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_video.c:212,1
    - Dst: glCompileShader
      Src: /src/gpac/src/filters/out_video.c:208,1
    - Dst: glShaderSource
      Src: /src/gpac/src/filters/out_video.c:207,1
    - Dst: glGetShaderiv
      Src: /src/gpac/src/filters/out_video.c:210,1
    - Dst: glGetShaderInfoLog
      Src: /src/gpac/src/filters/out_video.c:214,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/src/filters/out_video.c:216,1
    - Dst: glGetInfoLogARB
      Src: /src/gpac/src/filters/out_video.c:218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:220,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_video.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - shader_id
    - name
    - source
    argTypes:
    - GF_SHADERID
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: vout_compile_shader
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - glCompileShader
    - glShaderSource
    - glGetShaderiv
    - GF_LOG
    - glGetInfoLogARB
    - glGetShaderInfoLog
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vout_compile_shader(GF_SHADERID shader_id, const char
      *name, const char *source) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_video.c:1053,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/out_video.c:1062,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/filters/out_video.c:1066,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/out_video.c:1056,1
    - Dst: DEL_SHADER
      Src: /src/gpac/src/filters/out_video.c:1067,1
    - Dst: DEL_PROGRAM
      Src: /src/gpac/src/filters/out_video.c:1068,1
    - Dst: gf_gl_txw_reset
      Src: /src/gpac/src/filters/out_video.c:1069,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/out_video.c:1071,1
    - Dst: glDeleteBuffers
      Src: /src/gpac/src/filters/out_video.c:1072,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_video.c:1084,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filters/out_video.c:1080,1
    - Dst: gf_filter_unclaim_opengl_provider
      Src: /src/gpac/src/filters/out_video.c:1078,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1087
    functionName: vout_finalize
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_unclaim_opengl_provider
    - DEL_PROGRAM
    - DEL_SHADER
    - gf_gl_txw_reset
    - gf_modules_close_interface
    - glDeleteBuffers
    - gf_free
    - gf_filter_pck_unref
    - gf_sleep
    linkageType: ''
    returnType: void
    signature: 'static void vout_finalize(GF_Filter *filter) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1241,1
    - Dst: glBufferData
      Src: /src/gpac/src/filters/out_video.c:1245,1
    - Dst: glDrawArrays
      Src: /src/gpac/src/filters/out_video.c:1262,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/filters/out_video.c:1260,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1265,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1274,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1276,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_video.c:1285,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_video.c:1290,1
    - Dst: glReadPixels
      Src: /src/gpac/src/filters/out_video.c:1294,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_video.c:1284,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/filters/out_video.c:1238,1
    - Dst: glBufferData
      Src: /src/gpac/src/filters/out_video.c:1240,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1239,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/filters/out_video.c:1252,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/filters/out_video.c:1267,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/out_video.c:1273,1
    - Dst: glFlush
      Src: /src/gpac/src/filters/out_video.c:1292,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1304,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_video.c:1304,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_video.c:1301,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_video.c:1297,1
    - Dst: gf_gl_txw_bind
      Src: /src/gpac/src/filters/out_video.c:1157,1
    - Dst: glGenBuffers
      Src: /src/gpac/src/filters/out_video.c:1243,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1244,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/filters/out_video.c:1249,1
    - Dst: glGetAttribLocation
      Src: /src/gpac/src/filters/out_video.c:1256,1
    - Dst: glVertexAttribPointer
      Src: /src/gpac/src/filters/out_video.c:1259,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_video.c:1269,1
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:1279,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_video.c:1284,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1246,1
    - Dst: glEnableVertexAttribArray
      Src: /src/gpac/src/filters/out_video.c:1253,1
    - Dst: glBindBuffer
      Src: /src/gpac/src/filters/out_video.c:1251,1
    - Dst: glDisableVertexAttribArray
      Src: /src/gpac/src/filters/out_video.c:1263,1
    - Dst: glActiveTexture
      Src: /src/gpac/src/filters/out_video.c:1272,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_video.c:1287,1
    - Dst: GL_CHECK_ERR
      Src: /src/gpac/src/filters/out_video.c:1295,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_video.c:1300,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 113
    argCount: 2
    argNames:
    - ctx
    - flip_texture
    argTypes:
    - GF_VideoOutCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 1307
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1307
    functionName: vout_draw_gl_quad
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - snprintf
    - glUseProgram
    - glBindTexture
    - GF_LOG
    - glBufferData
    - glDisableVertexAttribArray
    - glFlush
    - gf_fwrite
    - glDrawArrays
    - glActiveTexture
    - glReadPixels
    - glGenBuffers
    - gf_error_to_string
    - glBindBuffer
    - glEnableVertexAttribArray
    - gf_file_basename
    - gf_fopen
    - glGetAttribLocation
    - gf_gl_txw_bind
    - GL_CHECK_ERR
    - strchr
    - glVertexAttribPointer
    - glDisable
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void vout_draw_gl_quad(GF_VideoOutCtx *ctx, Bool flip_texture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2381
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2381
    functionName: vout_register
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vout_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/out_video.c:233,1
    - Dst: vout_make_gl_current
      Src: /src/gpac/src/filters/out_video.c:234,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/out_video.c:239,1
    - Dst: glDeleteTextures
      Src: /src/gpac/src/filters/out_video.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_VideoOutCtx*
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: vout_reset_overlay
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_make_gl_current
    - gf_filter_lock
    - glDeleteTextures
    linkageType: ''
    returnType: void
    signature: 'static void vout_reset_overlay(GF_Filter *filter, GF_VideoOutCtx *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:1347,1
    - Dst: gf_mx_init
      Src: /src/gpac/src/filters/out_video.c:1397,1
    - Dst: glUniformMatrix4fv
      Src: /src/gpac/src/filters/out_video.c:1404,1
    - Dst: glViewport
      Src: /src/gpac/src/filters/out_video.c:1418,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/filters/out_video.c:1422,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/out_video.c:1435,1
    - Dst: gf_gl_txw_upload
      Src: /src/gpac/src/filters/out_video.c:1469,1
    - Dst: glTexImage2D
      Src: /src/gpac/src/filters/out_video.c:1502,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/out_video.c:1514,1
    - Dst: glGenTextures
      Src: /src/gpac/src/filters/out_video.c:1486,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:1506,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_video.c:1394,1
    - Dst: gf_mx_ortho
      Src: /src/gpac/src/filters/out_video.c:1400,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/filters/out_video.c:1410,1
    - Dst: glLoadMatrixf
      Src: /src/gpac/src/filters/out_video.c:1411,1
    - Dst: glClearColor
      Src: /src/gpac/src/filters/out_video.c:1426,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1444,1
    - Dst: glBlendFunc
      Src: /src/gpac/src/filters/out_video.c:1449,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/filters/out_video.c:1456,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/filters/out_video.c:1458,1
    - Dst: vout_draw_gl_hw_textures
      Src: /src/gpac/src/filters/out_video.c:1464,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1499,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1496,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1492,1
    - Dst: vout_make_gl_current
      Src: /src/gpac/src/filters/out_video.c:1346,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/filters/out_video.c:1421,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/filters/out_video.c:1423,1
    - Dst: glClear
      Src: /src/gpac/src/filters/out_video.c:1428,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1447,1
    - Dst: glClearColor
      Src: /src/gpac/src/filters/out_video.c:1459,1
    - Dst: glClear
      Src: /src/gpac/src/filters/out_video.c:1460,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_video.c:1466,1
    - Dst: vout_draw_gl_quad
      Src: /src/gpac/src/filters/out_video.c:1472,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1495,1
    - Dst: glTexSubImage2D
      Src: /src/gpac/src/filters/out_video.c:1509,1
    - Dst: vout_draw_overlay
      Src: /src/gpac/src/filters/out_video.c:1512,1
    - Dst: glUseProgram
      Src: /src/gpac/src/filters/out_video.c:1478,1
    - Dst: glGetUniformLocation
      Src: /src/gpac/src/filters/out_video.c:1402,1
    - Dst: vbo_changed
      Src: /src/gpac/src/filters/out_video.c:1415,1
    - Dst: glMatrixMode
      Src: /src/gpac/src/filters/out_video.c:1412,1
    - Dst: glClearColor
      Src: /src/gpac/src/filters/out_video.c:1424,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1446,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:1450,1
    - Dst: glDisable
      Src: /src/gpac/src/filters/out_video.c:1452,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/filters/out_video.c:1457,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/out_video.c:1483,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/out_video.c:1489,1
    - Dst: glEnable
      Src: /src/gpac/src/filters/out_video.c:1494,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1498,1
    - Dst: glBindTexture
      Src: /src/gpac/src/filters/out_video.c:1508,1
    - Dst: glTexParameteri
      Src: /src/gpac/src/filters/out_video.c:1491,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 155
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_VideoOutCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1519
    functionName: vout_draw_gl
    functionSourceFile: /src/gpac/src/filters/out_video.c
    functionUses: []
    functionsReached:
    - vout_draw_gl_quad
    - glUseProgram
    - glBindTexture
    - vout_make_gl_current
    - glTexParameteri
    - glEnable
    - GF_COL_R
    - gf_mx_init
    - glTexSubImage2D
    - glLoadMatrixf
    - GF_COL_B
    - gf_filter_pck_get_data
    - glGenTextures
    - glTexImage2D
    - glClearColor
    - gf_filter_lock
    - gf_filter_pck_get_frame_interface
    - glUniformMatrix4fv
    - glViewport
    - vbo_changed
    - gf_free
    - vout_draw_overlay
    - glMatrixMode
    - gf_mx_ortho
    - glClear
    - glDisable
    - vout_draw_gl_hw_textures
    - gf_gl_txw_upload
    - glGetUniformLocation
    - glBlendFunc
    - GF_COL_G
    linkageType: ''
    returnType: void
    signature: 'static void vout_draw_gl(GF_VideoOutCtx *ctx, GF_FilterPacket *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_file.c:105,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_file.c:111,1
    - Dst: gf_file_move
      Src: /src/gpac/src/filters/out_file.c:113,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:110,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_file.c:112,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - final_flush
    argTypes:
    - GF_FileOutCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: fileout_close_hls_chunk
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - strcat
    - gf_file_move
    - gf_file_delete
    - strcpy
    - gf_fclose
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void fileout_close_hls_chunk(GF_FileOutCtx *ctx, Bool final_flush) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:134,1
    - Dst: fileout_check_close
      Src: /src/gpac/src/filters/out_file.c:144,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_file.c:154,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_file.c:192,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_file.c:193,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:198,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_file.c:209,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:229,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:240,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_file.c:246,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_file.c:250,1
    - Dst: close
      Src: /src/gpac/src/filters/out_file.c:135,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/out_file.c:174,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_file.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:234,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:258,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:140,1
    - Dst: fileout_close_hls_chunk
      Src: /src/gpac/src/filters/out_file.c:136,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:181,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:187,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_file.c:179,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:194,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/out_file.c:195,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:199,1
    - Dst: gf_filter_pid_resolve_file_template_ex
      Src: /src/gpac/src/filters/out_file.c:200,1
    - Dst: scanf
      Src: /src/gpac/src/filters/out_file.c:218,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:260,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:268,1
    - Dst: gf_fd_open
      Src: /src/gpac/src/filters/out_file.c:252,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_file.c:242,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_file.c:141,1
    - Dst: fileout_close_hls_chunk
      Src: /src/gpac/src/filters/out_file.c:142,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_file.c:155,1
    - Dst: _setmode
      Src: /src/gpac/src/filters/out_file.c:162,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:173,1
    - Dst: _fileno
      Src: /src/gpac/src/filters/out_file.c:162,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_file.c:184,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_file.c:183,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_file.c:207,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/out_file.c:217,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_file.c:257,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/out_file.c:255,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 153
    argCount: 7
    argNames:
    - ctx
    - filename
    - ext
    - file_idx
    - explicit_overwrite
    - file_suffix
    - check_no_open
    argTypes:
    - GF_FileOutCtx*
    - char*
    - char*
    - u32
    - Bool
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 273
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 273
    functionName: fileout_open_close
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_fd_open
    - gf_fileio_translate_url
    - strncmp
    - scanf
    - GF_LOG
    - _setmode
    - fileout_close_hls_chunk
    - _fileno
    - gf_file_ext_start
    - strcmp
    - gf_filter_pid_resolve_file_template
    - strcpy
    - gf_filter_pid_resolve_file_template_ex
    - gf_assert
    - gf_fopen
    - fprintf
    - fileout_check_close
    - close
    - strcat
    - gf_fclose
    - gf_opts_get_bool
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err fileout_open_close(GF_FileOutCtx *ctx, const char *filename,
      const char *ext, u32 file_idx, Bool explicit_overwrite, char *file_suffix, Bool
      check_no_open) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_file.c:319,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_file.c:329,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_file.c:330,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_file.c:325,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:322,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:334,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:337,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:341,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:344,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_file.c:353,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:355,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:360,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 366
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 366
    functionName: fileout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - fileout_open_close
    - gf_filter_pid_get_property
    - gf_filter_pid_init_play_event
    - gf_filter_pid_check_caps
    - gf_list_new
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err fileout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_file.c:457,1
    - Dst: fileout_close_hls_chunk
      Src: /src/gpac/src/filters/out_file.c:459,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:461,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/filters/out_file.c:463,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_file.c:466,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_file.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:468,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_file.c:470,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:472,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 474
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 474
    functionName: fileout_finalize
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - fileout_open_close
    - gf_list_del
    - gf_list_count
    - fileout_close_hls_chunk
    - gf_free
    - gf_fileio_open_url
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void fileout_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_file.c:956,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/out_file.c:962,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_file.c:963,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:960,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:958,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:964,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_file.c:966,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 972
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 972
    functionName: fileout_process_event
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_url_concatenate
    - GF_LOG
    - gf_file_delete
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fileout_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:280,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_file.c:291,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:288,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:281,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:284,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_file.c:293,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:296,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:297,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:298,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:299,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:305,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:308,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:310,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:311,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:313,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - explicit_overwrite
    argTypes:
    - GF_FileOutCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 315
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 315
    functionName: fileout_setup_file
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - fileout_open_close
    - strncmp
    - gf_filter_pid_get_property
    - strchr
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void fileout_setup_file(GF_FileOutCtx *ctx, Bool explicit_overwrite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:122,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_file.c:124,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_file.c:123,1
    - Dst: gf_file_move
      Src: /src/gpac/src/filters/out_file.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_FileOutCtx*
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: fileout_check_close
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_file_delete
    - strcat
    - gf_file_move
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void fileout_check_close(GF_FileOutCtx *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_file.c:392,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_file.c:411,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/out_file.c:405,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_file.c:421,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_file.c:413,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_file.c:372,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/out_file.c:384,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_file.c:394,1
    - Dst: gf_fileio_open_url
      Src: /src/gpac/src/filters/out_file.c:400,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/out_file.c:402,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_file.c:436,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_file.c:439,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_file.c:443,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_file.c:383,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_file.c:383,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_file.c:441,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_file.c:446,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_file.c:383,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/out_file.c:387,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_file.c:398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:426,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_file.c:431,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/out_file.c:400,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 452
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 452
    functionName: fileout_initialize
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_fileio_from_url
    - gf_fileio_translate_url
    - strncmp
    - GF_LOG
    - PROP_NAME
    - gf_filter_setup_failure
    - PROP_UINT
    - strnicmp
    - gf_filter_override_caps
    - stricmp
    - strchr
    - strncpy
    - strstr
    - gf_fileio_open_url
    - gf_file_ext_start
    - strlwr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err fileout_initialize(GF_Filter *filter) '
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_file.c:525,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/out_file.c:542,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:559,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_file.c:687,1
    - Dst: fileout_setup_file
      Src: /src/gpac/src/filters/out_file.c:675,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_file.c:815,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:826,1
    - Dst: write
      Src: /src/gpac/src/filters/out_file.c:853,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:521,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:658,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_file.c:692,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/out_file.c:712,1
    - Dst: fileout_close_hls_chunk
      Src: /src/gpac/src/filters/out_file.c:706,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_file.c:782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:820,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:834,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_file.c:693,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_file.c:593,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:686,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/out_file.c:746,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:646,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_file.c:698,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_file.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:567,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:765,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/out_file.c:755,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_file.c:838,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:913,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:664,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_file.c:507,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:639,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:856,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_file.c:945,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_file.c:948,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_file.c:563,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_file.c:572,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:622,1
    - Dst: write
      Src: /src/gpac/src/filters/out_file.c:833,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:868,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:878,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:911,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_file.c:486,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:536,1
    - Dst: read
      Src: /src/gpac/src/filters/out_file.c:795,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:810,1
    - Dst: write
      Src: /src/gpac/src/filters/out_file.c:811,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:895,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:859,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:607,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:751,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:684,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_file.c:498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:570,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:702,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:766,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/out_file.c:662,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_file.c:495,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:589,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_file.c:611,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_file.c:709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:784,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/out_file.c:800,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:832,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:642,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_file.c:533,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_file.c:547,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_file.c:601,1
    - Dst: gf_fileio_write_ready
      Src: /src/gpac/src/filters/out_file.c:722,1
    - Dst: write
      Src: /src/gpac/src/filters/out_file.c:764,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:770,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_file.c:515,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:715,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_file.c:771,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:776,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/out_file.c:887,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_file.c:929,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_file.c:941,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_file.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:667,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_file.c:494,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_file.c:497,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:556,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:560,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_file.c:691,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_file.c:799,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:882,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_file.c:698,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_file.c:484,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_file.c:494,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_file.c:620,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:649,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:866,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:880,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/out_file.c:947,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_file.c:708,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_file.c:573,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/out_file.c:749,1
    - Dst: gf_fileio_check
      Src: /src/gpac/src/filters/out_file.c:680,1
    - Dst: gf_fileio_write_ready
      Src: /src/gpac/src/filters/out_file.c:720,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:753,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:641,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/filters/out_file.c:704,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_file.c:626,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/out_file.c:728,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/out_file.c:710,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:794,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:816,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_file.c:840,1
    - Dst: write
      Src: /src/gpac/src/filters/out_file.c:908,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:927,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_file.c:937,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_file.c:558,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_file.c:565,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/out_file.c:651,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_file.c:744,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/out_file.c:748,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_file.c:839,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:924,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_file.c:694,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/out_file.c:544,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_file.c:772,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_file.c:922,1
    - Dst: lseek_64
      Src: /src/gpac/src/filters/out_file.c:934,1
    - Dst: fileout_open_close
      Src: /src/gpac/src/filters/out_file.c:939,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 415
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 951
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 951
    functionName: fileout_process
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fopen_ex
    - snprintf
    - fileout_open_close
    - gf_malloc
    - gf_filter_pid_is_eos
    - gf_mpd_resolve_subnumber
    - GF_FEVT_INIT
    - GF_LOG
    - lseek_64
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_fileio_check
    - fileout_close_hls_chunk
    - gf_filter_pck_get_framing
    - gf_filter_update_status
    - gf_filter_abort
    - gf_filter_pck_get_interlaced
    - gf_fwrite
    - gf_filter_pck_get_data
    - gf_fseek
    - read
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_list_count
    - write
    - gf_file_delete
    - gf_file_basename
    - strcpy
    - gf_filter_reporting_enabled
    - gf_fileio_write_ready
    - gf_dynstrcat
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - sprintf
    - gf_fread
    - gf_ftell
    - gf_free
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pid_send_event
    - gf_url_concatenate
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_filter_pck_get_seek_flag
    - fileout_setup_file
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err fileout_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/out_file.c:975,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_file.c:977,1
    - Dst: gf_fileio_from_url
      Src: /src/gpac/src/filters/out_file.c:979,1
    - Dst: gf_fileio_write_mode
      Src: /src/gpac/src/filters/out_file.c:979,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_file.c:978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 986
    functionName: fileout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_fileio_write_mode
    - gf_fileio_from_url
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore fileout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_file.c:1068,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_file.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: fout_register
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *fout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: fout_register
    functionSourceFile: /src/gpac/src/filters/out_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *fout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:215,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dec_openhevc.c:218,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_openhevc.c:219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_openhevc.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - bs
    - list
    - nalu_size_length
    argTypes:
    - GF_BitStream*
    - GF_List*
    - u32
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: ohevcdec_write_ps_list
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_bs_write_int
    - gf_bs_write_data
    linkageType: ''
    returnType: void
    signature: 'static void ohevcdec_write_ps_list(GF_BitStream *bs, GF_List *list,
      u32 nalu_size_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_OHEVCDecCtx*
    constantsTouched: []
    func_position:
      end: 281
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 281
    functionName: ohevcdec_get_pixel_format
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ohevcdec_get_pixel_format(GF_OHEVCDecCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:716,1
    - Dst: oh_select_active_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:730,1
    - Dst: ohevcdec_configure_pid
      Src: /src/gpac/src/filters/dec_openhevc.c:748,1
    - Dst: oh_select_view_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:729,1
    - Dst: oh_close
      Src: /src/gpac/src/filters/dec_openhevc.c:744,1
    - Dst: oh_select_active_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:753,1
    - Dst: oh_select_view_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:754,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - filter
    - fevt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 762
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 762
    functionName: ohevcdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - oh_close
    - oh_select_view_layer
    - ohevcdec_configure_pid
    - oh_select_active_layer
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ohevcdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *fevt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 792
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 792
    functionName: ohevcframe_get_plane
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ohevcframe_get_plane(GF_FilterFrameInterface *frame, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:935,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:965,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_openhevc.c:1002,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_openhevc.c:1010,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_openhevc.c:1030,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_openhevc.c:1032,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:1052,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_openhevc.c:1063,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:1065,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_openhevc.c:1072,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_openhevc.c:1074,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:987,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:866,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:869,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_openhevc.c:873,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dec_openhevc.c:874,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:914,1
    - Dst: ohevc_set_out_props
      Src: /src/gpac/src/filters/dec_openhevc.c:911,1
    - Dst: oh_output_update
      Src: /src/gpac/src/filters/dec_openhevc.c:952,1
    - Dst: ohevcdec_send_output_frame
      Src: /src/gpac/src/filters/dec_openhevc.c:917,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:971,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:976,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dec_openhevc.c:1064,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:991,1
    - Dst: oh_frameinfo_update
      Src: /src/gpac/src/filters/dec_openhevc.c:846,1
    - Dst: oh_cropped_frameinfo_from_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:849,1
    - Dst: oh_output_update
      Src: /src/gpac/src/filters/dec_openhevc.c:851,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_openhevc.c:868,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:875,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_openhevc.c:930,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:968,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:982,1
    - Dst: oh_output_cropped_cpy_from_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:1025,1
    - Dst: oh_output_cropped_cpy_from_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:1026,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:1029,1
    - Dst: oh_cropped_frameinfo
      Src: /src/gpac/src/filters/dec_openhevc.c:848,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_openhevc.c:928,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dec_openhevc.c:934,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:931,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:979,1
    - Dst: oh_output_cropped_cpy
      Src: /src/gpac/src/filters/dec_openhevc.c:1055,1
    - Dst: oh_output_update
      Src: /src/gpac/src/filters/dec_openhevc.c:1050,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/dec_openhevc.c:1060,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dec_openhevc.c:1061,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:1070,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:994,1
    - Dst: ohevc_set_out_props
      Src: /src/gpac/src/filters/dec_openhevc.c:1068,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 353
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_OHEVCDecCtx*
    constantsTouched: []
    func_position:
      end: 1077
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 1077
    functionName: ohevcdec_flush_picture
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - GF_LOG
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_carousel_version
    - gf_list_count
    - ohevcdec_send_output_frame
    - gf_filter_pck_set_cts
    - oh_output_update
    - gf_list_del_item
    - gf_list_get
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_discard
    - memcpy
    - oh_output_cropped_cpy
    - ohevc_set_out_props
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - oh_output_cropped_cpy_from_layer
    - oh_cropped_frameinfo_from_layer
    - oh_cropped_frameinfo
    - oh_frameinfo_update
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ohevcdec_flush_picture(GF_OHEVCDecCtx *ctx) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: oh_flush
      Src: /src/gpac/src/filters/dec_openhevc.c:1121,1
    - Dst: oh_decode
      Src: /src/gpac/src/filters/dec_openhevc.c:1128,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1118,1
    - Dst: oh_decode_lhvc
      Src: /src/gpac/src/filters/dec_openhevc.c:1125,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1146,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_openhevc.c:1175,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dec_openhevc.c:1161,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_openhevc.c:1179,1
    - Dst: oh_decode
      Src: /src/gpac/src/filters/dec_openhevc.c:1234,1
    - Dst: ohevcdec_flush_picture
      Src: /src/gpac/src/filters/dec_openhevc.c:1237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:1330,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:1298,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:1272,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:1247,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1335,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_openhevc.c:1246,1
    - Dst: oh_close
      Src: /src/gpac/src/filters/dec_openhevc.c:1136,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1170,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_openhevc.c:1158,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_openhevc.c:1163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:1179,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1207,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_openhevc.c:1257,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_openhevc.c:1271,1
    - Dst: translate_ts_temi
      Src: /src/gpac/src/filters/dec_openhevc.c:1276,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_openhevc.c:1290,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dec_openhevc.c:1295,1
    - Dst: ohevcdec_flush_picture
      Src: /src/gpac/src/filters/dec_openhevc.c:1348,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_openhevc.c:1256,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dec_openhevc.c:1258,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dec_openhevc.c:1330,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_openhevc.c:1302,1
    - Dst: oh_decode
      Src: /src/gpac/src/filters/dec_openhevc.c:1327,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:1110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:1133,1
    - Dst: ohevcdec_configure_pid
      Src: /src/gpac/src/filters/dec_openhevc.c:1140,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dec_openhevc.c:1156,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/dec_openhevc.c:1152,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_openhevc.c:1159,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1185,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_openhevc.c:1189,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:1190,1
    - Dst: oh_start
      Src: /src/gpac/src/filters/dec_openhevc.c:1223,1
    - Dst: oh_decode_lhvc
      Src: /src/gpac/src/filters/dec_openhevc.c:1312,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:1306,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dec_openhevc.c:1322,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:1324,1
    - Dst: oh_decode
      Src: /src/gpac/src/filters/dec_openhevc.c:1339,1
    - Dst: ohevcdec_flush_picture
      Src: /src/gpac/src/filters/dec_openhevc.c:1131,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dec_openhevc.c:1160,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_openhevc.c:1184,1
    - Dst: translate_ts_temi
      Src: /src/gpac/src/filters/dec_openhevc.c:1194,1
    - Dst: translate_ts_temi
      Src: /src/gpac/src/filters/dec_openhevc.c:1195,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1198,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_openhevc.c:1204,1
    - Dst: oh_decode_lhvc
      Src: /src/gpac/src/filters/dec_openhevc.c:1231,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_openhevc.c:1268,1
    - Dst: translate_ts_temi
      Src: /src/gpac/src/filters/dec_openhevc.c:1277,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_openhevc.c:1297,1
    - Dst: oh_decode_lhvc
      Src: /src/gpac/src/filters/dec_openhevc.c:1314,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:1245,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_openhevc.c:1244,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 200
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1349
    functionName: ohevcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - oh_flush
    - gf_filter_pid_is_eos
    - strncmp
    - GF_LOG
    - oh_start
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - gf_list_pop_back
    - gf_filter_get_udta
    - gf_bs_del
    - gf_filter_pid_get_packet
    - gf_filter_pck_enum_properties
    - gf_list_count
    - oh_decode_lhvc
    - translate_ts_temi
    - oh_decode
    - gf_filter_pid_get_name
    - gf_filter_pck_get_dts
    - ohevcdec_flush_picture
    - gf_bs_read_u32
    - gf_filter_pck_set_carousel_version
    - oh_close
    - gf_bs_new
    - memcpy
    - gf_free
    - gf_filter_pck_unref
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_bs_read_u64
    - ohevcdec_configure_pid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ohevcdec_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:1370,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_openhevc.c:1375,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_openhevc.c:1376,1
    - Dst: oh_start
      Src: /src/gpac/src/filters/dec_openhevc.c:1372,1
    - Dst: oh_close
      Src: /src/gpac/src/filters/dec_openhevc.c:1373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:1378,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_openhevc.c:1379,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:1380,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_openhevc.c:1382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1383
    functionName: ohevcdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - oh_close
    - gf_list_count
    - oh_start
    - gf_free
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ohevcdec_finalize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: oh_select_active_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:147,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_openhevc.c:138,1
    - Dst: oh_select_view_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:162,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/dec_openhevc.c:166,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dec_openhevc.c:169,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_openhevc.c:187,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:188,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dec_openhevc.c:174,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_openhevc.c:191,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/dec_openhevc.c:192,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_openhevc.c:206,1
    - Dst: oh_select_view_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:148,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dec_openhevc.c:152,1
    - Dst: gf_filter_pid_get_max_buffer
      Src: /src/gpac/src/filters/dec_openhevc.c:170,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dec_openhevc.c:171,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dec_openhevc.c:173,1
    - Dst: oh_start
      Src: /src/gpac/src/filters/dec_openhevc.c:201,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_openhevc.c:135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_openhevc.c:189,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:190,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_openhevc.c:198,1
    - Dst: oh_decode
      Src: /src/gpac/src/filters/dec_openhevc.c:205,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_openhevc.c:208,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_openhevc.c:193,1
    - Dst: oh_select_active_layer
      Src: /src/gpac/src/filters/dec_openhevc.c:161,1
    - Dst: oh_extradata_cpy_lhvc
      Src: /src/gpac/src/filters/dec_openhevc.c:182,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_openhevc.c:197,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - pid
    - codecid
    - stream
    argTypes:
    - GF_OHEVCDecCtx*
    - GF_FilterPid*
    - u32
    - GF_HEVCStream*
    constantsTouched: []
    func_position:
      end: 210
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 210
    functionName: ohevcdec_configure_scalable_pid
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_filter_pid_get_max_buffer
    - GF_FEVT_INIT
    - gf_bs_write_data
    - oh_start
    - oh_select_active_layer
    - gf_filter_pid_is_playing
    - gf_bs_del
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - oh_extradata_cpy_lhvc
    - oh_decode
    - gf_bs_write_int
    - gf_list_get
    - gf_bs_new
    - gf_free
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - oh_select_view_layer
    - gf_odf_hevc_cfg_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ohevcdec_configure_scalable_pid(GF_OHEVCDecCtx *ctx,
      GF_FilterPid *pid, u32 codecid, GF_HEVCStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:252,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_openhevc.c:255,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_openhevc.c:256,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_openhevc.c:258,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_openhevc.c:259,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_openhevc.c:261,1
    - Dst: libOpenHevcVersion
      Src: /src/gpac/src/filters/dec_openhevc.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: ohevcdec_set_codec_name
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - libOpenHevcVersion
    - gf_filter_set_name
    linkageType: ''
    returnType: void
    signature: 'static void ohevcdec_set_codec_name(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_openhevc.c:225,1
    - Dst: ohevcdec_write_ps_list
      Src: /src/gpac/src/filters/dec_openhevc.c:226,1
    - Dst: ohevcdec_write_ps_list
      Src: /src/gpac/src/filters/dec_openhevc.c:228,1
    - Dst: ohevcdec_write_ps_list
      Src: /src/gpac/src/filters/dec_openhevc.c:227,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_openhevc.c:229,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_openhevc.c:230,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_openhevc.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 5
    argNames:
    - stream
    - nal_unit_size
    - sps
    - pps
    - vps
    argTypes:
    - GF_HEVCStream*
    - u32
    - GF_List*
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: ohevcdec_create_inband
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - ohevcdec_write_ps_list
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ohevcdec_create_inband(GF_HEVCStream *stream, u32 nal_unit_size,
      GF_List *sps, GF_List *pps, GF_List *vps) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_openhevc.c:287,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:288,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:290,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:295,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:301,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:298,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:307,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:310,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:294,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:300,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:304,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:311,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:288,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:289,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:295,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:298,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:301,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:303,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:307,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:310,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:293,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_openhevc.c:294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_openhevc.c:300,1
    - Dst: ohevcdec_get_pixel_format
      Src: /src/gpac/src/filters/dec_openhevc.c:309,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_openhevc.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_OHEVCDecCtx*
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 312
    functionName: ohevc_set_out_props
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_FRAC
    - PROP_UINT
    - ohevcdec_get_pixel_format
    linkageType: ''
    returnType: void
    signature: 'static void ohevc_set_out_props(GF_OHEVCDecCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:767,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dec_openhevc.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: ohevcframe_release
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    linkageType: ''
    returnType: void
    signature: 'void ohevcframe_release(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: oh_output_update
      Src: /src/gpac/src/filters/dec_openhevc.c:803,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/dec_openhevc.c:805,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_openhevc.c:811,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_openhevc.c:809,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:812,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/dec_openhevc.c:813,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dec_openhevc.c:814,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_openhevc.c:816,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_openhevc.c:817,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_openhevc.c:818,1
    - Dst: ohevc_set_out_props
      Src: /src/gpac/src/filters/dec_openhevc.c:821,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_openhevc.c:828,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_openhevc.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_OHEVCDecCtx*
    constantsTouched: []
    func_position:
      end: 833
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 833
    functionName: ohevcdec_send_output_frame
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_set_carousel_version
    - gf_list_count
    - gf_filter_pck_merge_properties
    - gf_filter_pck_new_frame_interface
    - gf_list_rem
    - ohevc_set_out_props
    - gf_filter_pck_set_cts
    - oh_output_update
    - gf_filter_pck_send
    - gf_filter_pck_unref
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ohevcdec_send_output_frame(GF_OHEVCDecCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_openhevc.c:1082,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_openhevc.c:1088,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_openhevc.c:1091,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - stream
    - ts
    argTypes:
    - GF_OHEVCDecCtx*
    - GF_HEVCStream*
    - s64
    constantsTouched: []
    func_position:
      end: 1098
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1098
    functionName: translate_ts_temi
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_timestamp_rescale_signed
    linkageType: ''
    returnType: u64
    signature: 'static u64 translate_ts_temi(GF_OHEVCDecCtx *ctx, GF_HEVCStream *stream,
      s64 ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_openhevc.c:1354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_openhevc.c:1359,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/filters/dec_openhevc.c:1357,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_openhevc.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1366
    functionName: ohevcdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sys_get_rti
    - gf_list_new
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ohevcdec_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1456
    functionName: ohevcdec_register
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ohevcdec_register(GF_FilterSession *session)
      #endif '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/dec_openhevc.c:244,1
    - Dst: gf_log_va_list
      Src: /src/gpac/src/filters/dec_openhevc.c:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - udta
    - l
    - fmt
    - vl
    argTypes:
    - void*
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: openhevc_log_callback
    functionSourceFile: /src/gpac/src/filters/dec_openhevc.c
    functionUses: []
    functionsReached:
    - gf_log_va_list
    - gf_log_tool_level_on
    linkageType: ''
    returnType: void
    signature: 'void openhevc_log_callback(void *udta, int l, const char*fmt, va_list
      vl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:255,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/dec_odf.c:260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - scene
    - odU
    argTypes:
    - GF_Scene*
    - GF_ODUpdate*
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: ODS_ODUpdate
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - ODS_SetupOD
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ODS_ODUpdate(GF_Scene *scene, GF_ODUpdate *odU) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_odf.c:97,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:100,1
    - Dst: gf_odf_desc_copy
      Src: /src/gpac/src/filters/dec_odf.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - odm
    - od
    argTypes:
    - GF_ObjectManager*
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: attach_desc_to_odm
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_odf_desc_copy
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'static void attach_desc_to_odm(GF_ObjectManager *odm, GF_ObjectDescriptor
      *od) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_find_odm
      Src: /src/gpac/src/filters/dec_odf.c:285,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:289,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_odf.c:301,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:293,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_odf.c:297,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_odf.c:304,1
    - Dst: gf_odm_setup_es
      Src: /src/gpac/src/filters/dec_odf.c:305,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_odf.c:309,1
    - Dst: gf_scene_setup_object
      Src: /src/gpac/src/filters/dec_odf.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - scene
    - ESDs
    argTypes:
    - GF_Scene*
    - GF_ESDUpdate*
    constantsTouched: []
    func_position:
      end: 319
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 319
    functionName: ODS_UpdateESD
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_enum
    - gf_list_count
    - gf_odm_setup_es
    - gf_scene_setup_object
    - gf_list_rem
    - gf_odf_desc_del
    - gf_scene_find_odm
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ODS_UpdateESD(GF_Scene *scene, GF_ESDUpdate *ESDs) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:357,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_odf.c:365,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_odf.c:370,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_odf.c:378,1
    - Dst: ODS_ODUpdate
      Src: /src/gpac/src/filters/dec_odf.c:400,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/filters/dec_odf.c:442,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/filters/dec_odf.c:445,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_odf.c:356,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_odf.c:353,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_odf.c:361,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_odf.c:363,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_odf.c:381,1
    - Dst: gf_odf_codec_get_com
      Src: /src/gpac/src/filters/dec_odf.c:394,1
    - Dst: ODS_UpdateESD
      Src: /src/gpac/src/filters/dec_odf.c:406,1
    - Dst: ODS_RemoveESD
      Src: /src/gpac/src/filters/dec_odf.c:409,1
    - Dst: IS_UpdateIPMP
      Src: /src/gpac/src/filters/dec_odf.c:418,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_odf.c:347,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:358,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_odf.c:368,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_odf.c:379,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/filters/dec_odf.c:387,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:415,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_odf.c:447,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_odf.c:448,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:343,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_odf.c:379,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_odf.c:384,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/filters/dec_odf.c:385,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_odf.c:375,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/filters/dec_odf.c:388,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_odf.c:390,1
    - Dst: ODS_RemoveOD
      Src: /src/gpac/src/filters/dec_odf.c:403,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:416,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_odf.c:417,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 452
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 452
    functionName: odf_dec_process
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_check_sys_frame
    - gf_filter_pid_is_eos
    - gf_odf_codec_del
    - GF_LOG
    - ODS_UpdateESD
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_odf_com_del
    - IS_UpdateIPMP
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_odf_codec_get_com
    - ODS_RemoveOD
    - ODS_RemoveESD
    - gf_list_count
    - ODS_ODUpdate
    - gf_list_get
    - gf_timestamp_to_clocktime
    - gf_filter_pid_get_udta
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_filter_get_ipid
    - gf_odf_codec_decode
    - gf_filter_pid_get_property
    - gf_filter_get_ipid_count
    - gf_list_rem
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odf_dec_process(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:42,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:64,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_odf.c:52,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_odf.c:57,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_odf.c:48,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_odf.c:68,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:73,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/dec_odf.c:78,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_odf.c:83,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_odf.c:86,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_odf.c:87,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_odf.c:87,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_odf.c:88,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 92
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 92
    functionName: odf_dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err odf_dec_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_odm_new
      Src: /src/gpac/src/filters/dec_odf.c:115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:147,1
    - Dst: attach_desc_to_odm
      Src: /src/gpac/src/filters/dec_odf.c:166,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_odf.c:205,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_odf.c:218,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/filters/dec_odf.c:232,1
    - Dst: attach_desc_to_odm
      Src: /src/gpac/src/filters/dec_odf.c:242,1
    - Dst: gf_odm_setup_object
      Src: /src/gpac/src/filters/dec_odf.c:245,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:127,1
    - Dst: gf_odm_setup_remote_object
      Src: /src/gpac/src/filters/dec_odf.c:139,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:144,1
    - Dst: gf_scene_setup_object
      Src: /src/gpac/src/filters/dec_odf.c:210,1
    - Dst: gf_input_sensor_setup_object
      Src: /src/gpac/src/filters/dec_odf.c:211,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dec_odf.c:178,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:161,1
    - Dst: gf_mo_new
      Src: /src/gpac/src/filters/dec_odf.c:214,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:157,1
    - Dst: gf_odm_new
      Src: /src/gpac/src/filters/dec_odf.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_odf.c:225,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_odf.c:123,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_odf.c:125,1
    - Dst: attach_desc_to_odm
      Src: /src/gpac/src/filters/dec_odf.c:121,1
    - Dst: gf_scene_new
      Src: /src/gpac/src/filters/dec_odf.c:130,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_odf.c:155,1
    - Dst: attach_desc_to_odm
      Src: /src/gpac/src/filters/dec_odf.c:207,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/filters/dec_odf.c:220,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 2
    argNames:
    - scene
    - od
    argTypes:
    - GF_Scene*
    - GF_ObjectDescriptor*
    constantsTouched: []
    func_position:
      end: 248
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 248
    functionName: ODS_SetupOD
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mo_new
    - gf_list_get
    - gf_odm_setup_object
    - gf_list_enum
    - gf_list_count
    - gf_input_sensor_setup_object
    - GF_LOG
    - gf_clock_set_time
    - gf_scene_new
    - gf_scene_setup_object
    - attach_desc_to_odm
    - gf_odm_new
    - gf_odm_setup_remote_object
    linkageType: ''
    returnType: void
    signature: 'void ODS_SetupOD(GF_Scene *scene, GF_ObjectDescriptor *od) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_find_odm
      Src: /src/gpac/src/filters/dec_odf.c:271,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/filters/dec_odf.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - scene
    - odR
    argTypes:
    - GF_Scene*
    - GF_ODRemove*
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: ODS_RemoveOD
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_scene_find_odm
    - gf_odm_disconnect
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ODS_RemoveOD(GF_Scene *scene, GF_ODRemove *odR) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_scene_find_odm
      Src: /src/gpac/src/filters/dec_odf.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - scene
    - ESDs
    argTypes:
    - GF_Scene*
    - GF_ESDRemove*
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: ODS_RemoveESD
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_scene_find_odm
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ODS_RemoveESD(GF_Scene *scene, GF_ESDRemove *ESDs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:459,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_odf.c:475,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_odf.c:483,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_odf.c:476,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_odf.c:472,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 489
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 489
    functionName: odf_dec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_udta
    - gf_filter_get_ipid_count
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool odf_dec_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: odfdec_register
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *odfdec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: odfdec_register
    functionSourceFile: /src/gpac/src/filters/dec_odf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *odfdec_register(GF_FilterSession *session) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:94,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_nhnt.c:101,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhnt.c:109,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:109,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:117,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:123,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_nhnt.c:131,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_nhnt.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:133,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhnt.c:168,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:144,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/dmx_nhnt.c:106,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_nhnt.c:95,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:109,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:109,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_nhnt.c:120,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhnt.c:114,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:118,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:134,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:135,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:137,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:176,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:109,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:122,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:124,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_nhnt.c:129,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:145,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_nhnt.c:159,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhnt.c:169,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:140,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhnt.c:113,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:119,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_nhnt.c:121,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:141,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:146,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_nhnt.c:176,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:178,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:178,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:142,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_NHNTDmxCtx*
    constantsTouched: []
    func_position:
      end: 181
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 181
    functionName: nhntdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached:
    - gf_bs_from_file
    - strncmp
    - gf_bs_read_u24
    - PROP_FRAC64
    - gf_bs_del
    - GF_4CC
    - PROP_UINT
    - gf_fopen
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_filter_pid_set_property
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_bs_read_u64
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void nhntdmx_check_dur(GF_NHNTDmxCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhnt.c:213,1
    - Dst: nhntdmx_check_dur
      Src: /src/gpac/src/filters/dmx_nhnt.c:220,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_nhnt.c:245,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_nhnt.c:243,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 263
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 263
    functionName: nhntdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - nhntdmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool nhntdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: nhntdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdmx_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhnt.c:186,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_nhnt.c:193,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:200,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_nhnt.c:190,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_nhnt.c:197,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/dmx_nhnt.c:201,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/dmx_nhnt.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: nhntdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_force_main_thread
    - gf_filter_pid_get_property
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_nhnt.c:278,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_nhnt.c:284,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_nhnt.c:326,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:332,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:351,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_nhnt.c:377,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_nhnt.c:399,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:454,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_nhnt.c:459,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_nhnt.c:278,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhnt.c:314,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:332,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/dmx_nhnt.c:347,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_nhnt.c:337,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_nhnt.c:281,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_nhnt.c:327,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/dmx_nhnt.c:379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:355,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:424,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_nhnt.c:321,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:360,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_nhnt.c:363,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:366,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/dmx_nhnt.c:447,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_nhnt.c:462,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_nhnt.c:463,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:359,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:399,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:391,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:436,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:393,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhnt.c:316,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_nhnt.c:422,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:432,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/dmx_nhnt.c:371,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_nhnt.c:332,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:364,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:332,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_nhnt.c:342,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:434,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_nhnt.c:452,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_nhnt.c:468,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_nhnt.c:345,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:348,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:365,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:357,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_nhnt.c:405,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_nhnt.c:431,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_nhnt.c:458,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:293,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/dmx_nhnt.c:319,1
    - Dst: nhntdmx_check_dur
      Src: /src/gpac/src/filters/dmx_nhnt.c:407,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:394,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhnt.c:401,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:423,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_nhnt.c:282,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/dmx_nhnt.c:314,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:391,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:365,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:348,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_nhnt.c:418,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/dmx_nhnt.c:461,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:425,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_nhnt.c:394,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:367,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:296,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_nhnt.c:353,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_nhnt.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:383,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_nhnt.c:411,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_nhnt.c:427,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_nhnt.c:276,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/dmx_nhnt.c:322,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_nhnt.c:338,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:392,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhnt.c:373,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_nhnt.c:465,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_nhnt.c:287,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_nhnt.c:295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:325,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:360,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_nhnt.c:371,1
    - Dst: gf_file_load_data_filep
      Src: /src/gpac/src/filters/dmx_nhnt.c:382,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_nhnt.c:460,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_nhnt.c:456,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dmx_nhnt.c:389,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:357,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:405,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_nhnt.c:345,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhnt.c:267,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dmx_nhnt.c:290,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_nhnt.c:312,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dmx_nhnt.c:336,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/dmx_nhnt.c:375,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_nhnt.c:392,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_nhnt.c:336,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_nhnt.c:435,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_nhnt.c:449,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 196
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 470
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 470
    functionName: nhntdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_fopen_ex
    - gf_filter_pid_set_discard
    - gf_m4v_get_config
    - gf_filter_pid_is_eos
    - strncmp
    - gf_fileio_translate_url
    - gf_bs_read_u24
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - PROP_FRAC_INT
    - gf_filter_pck_get_framing
    - gf_4cc_to_str
    - gf_fseek
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_file_ext_start
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_fsize
    - PROP_STRING
    - nhntdmx_check_dur
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - PROP_UINT
    - strcpy
    - gf_file_load_data_filep
    - gf_assert
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - PROP_LONGUINT
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_fread
    - gf_filter_pck_set_framing
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - strcat
    - gf_filter_pck_set_dts
    - gf_filter_pid_get_property
    - gf_bs_available
    - strrchr
    - gf_bs_read_u64
    - gf_fclose
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err nhntdmx_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_nhnt.c:480,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_nhnt.c:483,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_nhnt.c:481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_nhnt.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: nhntdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void nhntdmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: nhntr_register
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhntr_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: nhntr_register
    functionSourceFile: /src/gpac/src/filters/dmx_nhnt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *nhntr_register(GF_FilterSession *session) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mpeghdecoder_flushAndGet
      Src: /src/gpac/src/filters/dec_mpeghdec.c:183,1
    - Dst: mpeghdecoder_flush
      Src: /src/gpac/src/filters/dec_mpeghdec.c:196,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_mpeghdec.c:216,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_mpeghdec.c:212,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_mpeghdec.c:228,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_mpeghdec.c:231,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_mpeghdec.c:245,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:251,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_mpeghdec.c:280,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:185,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_mpeghdec.c:176,1
    - Dst: mpeghdecoder_process
      Src: /src/gpac/src/filters/dec_mpeghdec.c:199,1
    - Dst: mpeghdecoder_destroy
      Src: /src/gpac/src/filters/dec_mpeghdec.c:202,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:255,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_mpeghdec.c:264,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_mpeghdec.c:272,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_mpeghdec.c:279,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_mpeghdec.c:192,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mpeghdec.c:198,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_mpeghdec.c:223,1
    - Dst: mpeghdecoder_getSamples
      Src: /src/gpac/src/filters/dec_mpeghdec.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:208,1
    - Dst: mpegh_dec_configure_pid
      Src: /src/gpac/src/filters/dec_mpeghdec.c:205,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:251,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_mpeghdec.c:260,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_mpeghdec.c:262,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_mpeghdec.c:271,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mpeghdec.c:171,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_mpeghdec.c:179,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_mpeghdec.c:193,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_mpeghdec.c:194,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_mpeghdec.c:213,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:255,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/dec_mpeghdec.c:257,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_mpeghdec.c:265,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_mpeghdec.c:276,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_mpeghdec.c:278,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 283
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 283
    functionName: mpegh_dec_process
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - mpegh_dec_configure_pid
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_timestamp_rescale_signed
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - mpeghdecoder_process
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - mpeghdecoder_getSamples
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_list_get
    - mpeghdecoder_flush
    - mpeghdecoder_flushAndGet
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - mpeghdecoder_destroy
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpegh_dec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mpeghdec.c:301,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_mpeghdec.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: mpegh_dec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpegh_dec_initialize(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mpeghdec.c:81,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:107,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:105,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_mpeghdec.c:125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:152,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:162,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_mpeghdec.c:165,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:99,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:100,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:101,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:123,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:163,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_mpeghdec.c:85,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_mpeghdec.c:98,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_mpeghdec.c:91,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:111,1
    - Dst: mpeghdecoder_init
      Src: /src/gpac/src/filters/dec_mpeghdec.c:139,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:162,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_mpeghdec.c:95,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_mpeghdec.c:99,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:100,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:131,1
    - Dst: mpeghdecoder_setMhaConfig
      Src: /src/gpac/src/filters/dec_mpeghdec.c:150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_mpeghdec.c:156,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_mpeghdec.c:163,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 167
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 167
    functionName: mpegh_dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_crc_32
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - GF_LOG
    - mpeghdecoder_init
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - mpeghdecoder_setMhaConfig
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpegh_dec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mpeghdec.c:308,1
    - Dst: mpeghdecoder_destroy
      Src: /src/gpac/src/filters/dec_mpeghdec.c:309,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mpeghdec.c:310,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_mpeghdec.c:312,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_mpeghdec.c:311,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_mpeghdec.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: mpegh_dec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - mpeghdecoder_destroy
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void mpegh_dec_finalize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_mpeghdec.c:288,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_mpeghdec.c:292,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_mpeghdec.c:291,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_mpeghdec.c:293,1
    - Dst: mpeghdecoder_flush
      Src: /src/gpac/src/filters/dec_mpeghdec.c:289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: mpegh_dec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - mpeghdecoder_flush
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpegh_dec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: mpeghdec_register
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mpeghdec_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mpeghdec_register
    functionSourceFile: /src/gpac/src/filters/dec_mpeghdec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mpeghdec_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/hevcmerge.c:401,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:407,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:405,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:409,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:406,1
    - Dst: hevc_rewrite_sps
      Src: /src/gpac/src/filters/hevcmerge.c:414,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:415,1
    - Dst: hevcmerge_rewrite_pps
      Src: /src/gpac/src/filters/hevcmerge.c:424,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:425,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/hevcmerge.c:431,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/hevcmerge.c:434,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:434,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/hevcmerge.c:432,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - opid
    - data
    - size
    argTypes:
    - GF_HEVCMergeCtx*
    - GF_FilterPid*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 436
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 436
    functionName: hevcmerge_rewrite_config
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - hevc_rewrite_sps
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - hevcmerge_rewrite_pps
    - gf_filter_pid_set_property
    - gf_odf_hevc_cfg_del
    - gf_odf_hevc_cfg_write
    - gf_free
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcmerge_rewrite_config(GF_HEVCMergeCtx *ctx, GF_FilterPid
      *opid, char *data, u32 size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/hevcmerge.c:155,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:160,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:160,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:162,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:165,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcmerge.c:166,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:167,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:169,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcmerge.c:172,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:185,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcmerge.c:221,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/hevcmerge.c:227,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcmerge.c:157,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:161,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:163,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcmerge.c:166,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcmerge.c:172,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcmerge.c:173,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:179,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:204,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:222,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:215,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:189,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:207,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:184,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/hevcmerge.c:226,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcmerge.c:154,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcmerge.c:156,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:161,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:164,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:167,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:171,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcmerge.c:173,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:177,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:178,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:180,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:195,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/hevcmerge.c:232,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcmerge.c:235,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:227,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:162,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:164,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:165,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:163,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:168,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:171,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:174,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:179,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:187,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:217,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:218,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcmerge.c:230,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:226,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/hevcmerge.c:234,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:222,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/hevcmerge.c:236,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 91
    argCount: 5
    argNames:
    - ctx
    - in_PPS
    - in_PPS_length
    - out_PPS
    - out_PPS_length
    argTypes:
    - GF_HEVCMergeCtx*
    - char*
    - u32
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 237
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 237
    functionName: hevcmerge_rewrite_pps
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_write_ue
    - gf_bs_reassign_buffer
    - gf_list_count
    - gf_assert
    - gf_bs_write_int
    - gf_list_get
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_se
    - gf_bs_read_ue
    - gf_bs_get_size
    - gf_bs_get_bit_position
    - gf_media_nalu_emulation_bytes_add_count
    - gf_bs_write_se
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_align
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: void
    signature: 'static void hevcmerge_rewrite_pps(GF_HEVCMergeCtx *ctx, char *in_PPS,
      u32 in_PPS_length, char **out_PPS, u32 *out_PPS_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:461,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - tile_pid
    - use_y_coord
    argTypes:
    - GF_HEVCMergeCtx*
    - HEVCTilePidCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 476
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 476
    functionName: hevcmerge_compute_address
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 hevcmerge_compute_address(GF_HEVCMergeCtx *ctx, HEVCTilePidCtx
      *tile_pid, Bool use_y_coord) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1306,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1369,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1380,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/hevcmerge.c:1294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/hevcmerge.c:1299,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1198,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1302,1
    - Dst: hevcmerge_rebuild_grid
      Src: /src/gpac/src/filters/hevcmerge.c:1361,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/hevcmerge.c:1186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1340,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1299,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/hevcmerge.c:1232,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1371,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/hevcmerge.c:1298,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1319,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1155,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/hevcmerge.c:1224,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1135,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1139,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1143,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1147,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1152,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1136,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1140,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1144,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1148,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1156,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1219,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1370,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/hevcmerge.c:1195,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/hevcmerge.c:1216,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/hevcmerge.c:1380,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1384,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1309,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1213,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1257,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/hevcmerge.c:1297,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1151,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1301,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1308,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:1394,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1208,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1379,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1133,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1157,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1201,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/hevcmerge.c:1250,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/hevcmerge.c:1284,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1181,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/hevcmerge.c:1182,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/hevcmerge.c:1243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1267,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1307,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1393,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1205,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:1236,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1255,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1153,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1137,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1141,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1145,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1183,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1256,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1149,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/hevcmerge.c:1262,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1134,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1138,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1142,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1146,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1150,1
    - Dst: CHECK_PPS_VAL
      Src: /src/gpac/src/filters/hevcmerge.c:1154,1
    - Dst: hevcmerge_check_sps_pps
      Src: /src/gpac/src/filters/hevcmerge.c:1372,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:1304,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/hevcmerge.c:1222,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/filters/hevcmerge.c:1281,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1174,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1184,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/hevcmerge.c:1379,1
    - Dst: hevcmerge_rewrite_config
      Src: /src/gpac/src/filters/hevcmerge.c:1395,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 231
    argCount: 0
    argNames:
    - src_base
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1396
    functionName: CHECK_PPS_VAL
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - GF_LOG
    - hevcmerge_rebuild_grid
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_hevc_read_sps
    - gf_filter_get_udta
    - gf_crc_32
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_copy_properties
    - CHECK_PPS_VAL
    - gf_hevc_read_pps
    - PROP_UINT
    - gf_list_del_item
    - gf_assert
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_hevc_read_vps
    - hevcmerge_check_sps_pps
    - gf_free
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - gf_filter_pid_check_caps
    - hevcmerge_rewrite_config
    linkageType: ''
    returnType: CHECK_PPS_VAL(dependent_slice_segments_enabled_flag)
    signature: "CHECK_PPS_VAL(dependent_slice_segments_enabled_flag) CHECK_PPS_VAL(num_extra_slice_header_bits)\t\tCHECK_PPS_VAL(num_ref_idx_l0_default_active)\t\tCHECK_PPS_VAL(num_ref_idx_l1_default_active)\t\tCHECK_PPS_VAL(slice_segment_header_extension_present_flag)\t\tCHECK_PPS_VAL(output_flag_present_flag)\t\tCHECK_PPS_VAL(lists_modification_present_flag)\t\tCHECK_PPS_VAL(cabac_init_present_flag)\t\tCHECK_PPS_VAL(weighted_pred_flag)\t\tCHECK_PPS_VAL(weighted_bipred_flag)\t\tCHECK_PPS_VAL(slice_chroma_qp_offsets_present_flag)\t\tCHECK_PPS_VAL(deblocking_filter_override_enabled_flag)\t\tCHECK_PPS_VAL(loop_filter_across_slices_enabled_flag)\t\tCHECK_PPS_VAL(entropy_coding_sync_enabled_flag)\t\tCHECK_PPS_VAL(sign_data_hiding_flag)\t\tCHECK_PPS_VAL(constrained_intra_pred_flag)\t\tCHECK_PPS_VAL(transform_skip_enabled_flag)\t\tCHECK_PPS_VAL(cu_qp_delta_enabled_flag)\t\tCHECK_PPS_VAL(transquant_bypass_enable_flag)\t\tCHECK_PPS_VAL(diff_cu_qp_delta_depth)\t\tCHECK_PPS_VAL(pic_cb_qp_offset)\t\tCHECK_PPS_VAL(pic_cr_qp_offset)\t\tCHECK_PPS_VAL(deblocking_filter_control_present_flag)\t\tCHECK_PPS_VAL(pic_disable_deblocking_filter_flag)\t\tCHECK_PPS_VAL(pic_scaling_list_data_present_flag)\t\tCHECK_PPS_VAL(beta_offset_div2)\t\tCHECK_PPS_VAL(tc_offset_div2)\t\tCHECK_PPS_VAL(log2_parallel_merge_level_minus2)\t}\tif
      (src_base) gf_free(src_base); if (src_o) gf_free(src_o); if (all_ok || !ctx->strict)
      return GF_OK; return GF_BAD_PARAM; }static GF_Err hevcmerge_configure_pid(GF_Filter
      *filter, GF_FilterPid *pid, Bool is_remove) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1577
    functionName: hevcmerge_process_event
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool hevcmerge_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1591,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1594,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1595,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1593,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1592,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcmerge.c:1596,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcmerge.c:1597,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcmerge.c:1599,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1601,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1602,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1604,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/hevcmerge.c:1607,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/hevcmerge.c:1606,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/hevcmerge.c:1603,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:1609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1611
    functionName: hevcmerge_finalize
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void hevcmerge_finalize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:117,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:118,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:120,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:137,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:138,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:140,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:119,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:139,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:117,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:118,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:120,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:138,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:132,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:137,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcmerge.c:140,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:143,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:119,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:127,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:128,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:126,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - bs_nal_in
    - bs_nal_out
    - ProfilePresentFlag
    - MaxNumSubLayersMinus1
    argTypes:
    - GF_BitStream*
    - GF_BitStream*
    - Bool
    - u8
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: write_profile_tier_level
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - gf_bs_read_long_int
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void write_profile_tier_level(GF_BitStream *ctx->bs_nal_in,
      GF_BitStream *ctx->bs_nal_out, Bool ProfilePresentFlag, u8 MaxNumSubLayersMinus1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/hevcmerge.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - output_nal
    - rewritten_nal
    - out_nal_size
    argTypes:
    - GF_HEVCMergeCtx*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: hevcmerge_write_nal
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void hevcmerge_write_nal(GF_HEVCMergeCtx *ctx, char *output_nal,
      char *rewritten_nal, u32 out_nal_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:261,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/filters/hevcmerge.c:263,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:278,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:281,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:283,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:319,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:332,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:333,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:341,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:342,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:365,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:342,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:355,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/hevcmerge.c:266,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcmerge.c:268,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:271,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:304,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:314,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:325,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:327,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcmerge.c:337,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcmerge.c:338,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:390,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/hevcmerge.c:392,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcmerge.c:267,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:270,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:278,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:285,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:287,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:281,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:308,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcmerge.c:332,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:333,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcmerge.c:341,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:373,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/hevcmerge.c:372,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/hevcmerge.c:387,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:349,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcmerge.c:354,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/hevcmerge.c:384,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcmerge.c:264,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcmerge.c:280,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:304,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcmerge.c:307,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcmerge.c:345,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:360,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcmerge.c:362,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcmerge.c:366,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/hevcmerge.c:369,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:382,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:354,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 124
    argCount: 4
    argNames:
    - ctx
    - tile_pid
    - in_slice
    - in_slice_length
    argTypes:
    - GF_HEVCMergeCtx*
    - HEVCTilePidCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 394
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 394
    functionName: hevcmerge_rewrite_slice
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_write_ue
    - gf_bs_reassign_buffer
    - gf_assert
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_read_se
    - gf_media_nalu_remove_emulation_bytes
    - gf_bs_read_ue
    - memcpy
    - gf_bs_get_bit_position
    - gf_media_nalu_emulation_bytes_add_count
    - gf_realloc
    - gf_bs_write_se
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_available
    - gf_bs_align
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: u32
    signature: 'u32 hevcmerge_rewrite_slice(GF_HEVCMergeCtx *ctx, HEVCTilePidCtx *tile_pid,
      char *in_slice, u32 in_slice_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:487,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcmerge.c:498,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:508,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:510,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:558,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/hevcmerge.c:561,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:485,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:506,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:556,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:486,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:491,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcmerge.c:509,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:561,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:494,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcmerge.c:563,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:544,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:529,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 96
    argCount: 2
    argNames:
    - ctx
    - use_abs_pos
    argTypes:
    - GF_HEVCMergeCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 564
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 564
    functionName: hevcmerge_build_srdmap
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_list_get
    - memset
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void hevcmerge_build_srdmap(GF_HEVCMergeCtx *ctx, Bool use_abs_pos) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:575,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcmerge.c:608,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:668,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:700,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:712,1
    - Dst: memmove
      Src: /src/gpac/src/filters/hevcmerge.c:713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:726,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:740,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/hevcmerge.c:968,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:973,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:997,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:929,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/hevcmerge.c:978,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:605,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:621,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:654,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:699,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:667,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:687,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:714,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:798,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcmerge.c:807,1
    - Dst: hevcmerge_compute_address
      Src: /src/gpac/src/filters/hevcmerge.c:914,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:937,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:958,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:913,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/hevcmerge.c:984,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:601,1
    - Dst: memmove
      Src: /src/gpac/src/filters/hevcmerge.c:686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:647,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:685,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:732,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:781,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:819,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:911,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/hevcmerge.c:917,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:974,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:997,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/hevcmerge.c:953,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:962,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:997,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:597,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:616,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcmerge.c:653,1
    - Dst: memmove
      Src: /src/gpac/src/filters/hevcmerge.c:738,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:751,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:762,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:770,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:795,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcmerge.c:808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:886,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:916,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:963,1
    - Dst: hevcmerge_build_srdmap
      Src: /src/gpac/src/filters/hevcmerge.c:1000,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/hevcmerge.c:990,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:861,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 460
    argCount: 2
    argNames:
    - ctx
    - pid
    argTypes:
    - GF_HEVCMergeCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1003
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 1003
    functionName: hevcmerge_rebuild_grid
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_malloc
    - gf_list_reset
    - gf_list_get
    - gf_list_add
    - memset
    - gf_realloc
    - gf_list_count
    - hevcmerge_compute_address
    - GF_LOG
    - gf_filter_pid_get_name
    - gf_free
    - memmove
    - gf_assert
    - hevcmerge_build_srdmap
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcmerge_rebuild_grid(GF_HEVCMergeCtx *ctx, GF_FilterPid
      *pid) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcmerge.c:1414,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcmerge.c:1479,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcmerge.c:1473,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcmerge.c:1486,1
    - Dst: hevcmerge_write_nal
      Src: /src/gpac/src/filters/hevcmerge.c:1535,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/hevcmerge.c:1554,1
    - Dst: hevcmerge_write_nal
      Src: /src/gpac/src/filters/hevcmerge.c:1548,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1458,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcmerge.c:1459,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcmerge.c:1487,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/hevcmerge.c:1489,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/hevcmerge.c:1524,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/hevcmerge.c:1533,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcmerge.c:1537,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/hevcmerge.c:1547,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcmerge.c:1515,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1420,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/hevcmerge.c:1426,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/hevcmerge.c:1428,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/hevcmerge.c:1434,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/hevcmerge.c:1436,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/hevcmerge.c:1442,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcmerge.c:1450,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/hevcmerge.c:1464,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/hevcmerge.c:1454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1495,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1409,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcmerge.c:1451,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/hevcmerge.c:1470,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/hevcmerge.c:1468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1464,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/hevcmerge.c:1481,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/hevcmerge.c:1488,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/hevcmerge.c:1518,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/hevcmerge.c:1528,1
    - Dst: hevcmerge_rewrite_slice
      Src: /src/gpac/src/filters/hevcmerge.c:1498,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/hevcmerge.c:1503,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1557
    functionName: hevcmerge_process
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - hevcmerge_write_nal
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_list_count
    - hevcmerge_rewrite_slice
    - gf_timestamp_less
    - gf_hevc_parse_nalu
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_filter_pck_expand
    - memcpy
    - gf_filter_pck_send
    - gf_realloc
    - gf_filter_pck_merge_properties
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcmerge_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcmerge.c:1580,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcmerge.c:1583,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcmerge.c:1581,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcmerge.c:1582,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/hevcmerge.c:1584,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/hevcmerge.c:1585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1587
    functionName: hevcmerge_initialize
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - GF_LOG
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcmerge_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1696
    functionName: hevcmerge_register
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *hevcmerge_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1701
    functionName: hevcmerge_register
    functionSourceFile: /src/gpac/src/filters/hevcmerge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *hevcmerge_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_flac.c:133,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_flac.c:143,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_flac.c:134,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_flac.c:141,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_flac.c:148,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_flac.c:150,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_flac.c:151,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_flac.c:152,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_flac.c:158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FLACDmxCtx*
    constantsTouched: []
    func_position:
      end: 160
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 160
    functionName: flac_dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - strncmp
    - gf_filter_pid_get_property
    - gf_fileio_is_main_thread
    - gf_fclose
    - gf_ftell
    - gf_sys_is_test_mode
    - gf_fseek
    linkageType: ''
    returnType: void
    signature: 'static void flac_dmx_check_dur(GF_Filter *filter, GF_FLACDmxCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_flac.c:183,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:200,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/reframe_flac.c:202,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:208,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:210,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:215,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/reframe_flac.c:219,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_flac.c:191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:198,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:204,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:207,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:209,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:212,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:192,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_flac.c:200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:208,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:210,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:219,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/reframe_flac.c:181,1
    - Dst: flac_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_flac.c:184,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:195,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_flac.c:204,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:207,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_flac.c:198,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:209,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:212,1
    - Dst: flac_channel_layout
      Src: /src/gpac/src/filters/reframe_flac.c:218,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - filter
    - ctx
    - dsi
    - dsi_size
    argTypes:
    - GF_Filter*
    - GF_FLACDmxCtx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 222
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 222
    functionName: flac_dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_crc_32
    - gf_filter_pid_set_name
    - PROP_DATA
    - PROP_LONGUINT
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - flac_dmx_check_dur
    - PROP_UINT
    - flac_channel_layout
    linkageType: ''
    returnType: void
    signature: 'static void flac_dmx_check_pid(GF_Filter *filter, GF_FLACDmxCtx *ctx,
      u8 *dsi, u32 dsi_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - nb_samp
    argTypes:
    - GF_FLACDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: flac_dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void flac_dmx_update_cts(GF_FLACDmxCtx *ctx, u32 nb_samp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: flac_dmx_crc8
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'u8 flac_dmx_crc8(u8 *data, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: flac_dmx_crc16
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 flac_dmx_crc16(const u8 *data, u32 len) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_flac.c:522,1
    - Dst: flac_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_flac.c:533,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_flac.c:543,1
    - Dst: flac_dmx_crc16
      Src: /src/gpac/src/filters/reframe_flac.c:628,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:665,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_flac.c:668,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_flac.c:669,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/reframe_flac.c:670,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:674,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_flac.c:692,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_flac.c:749,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_flac.c:758,1
    - Dst: flac_channel_layout
      Src: /src/gpac/src/filters/reframe_flac.c:726,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_flac.c:751,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_flac.c:757,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:721,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_flac.c:540,1
    - Dst: flac_parse_header
      Src: /src/gpac/src/filters/reframe_flac.c:620,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_flac.c:652,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_flac.c:654,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_flac.c:662,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:664,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:672,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/reframe_flac.c:678,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_flac.c:681,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:727,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_flac.c:761,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_flac.c:763,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:721,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_flac.c:771,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_flac.c:768,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_flac.c:755,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_flac.c:789,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_flac.c:755,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_flac.c:514,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_flac.c:544,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_flac.c:556,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_flac.c:572,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_flac.c:574,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_flac.c:580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_flac.c:655,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_flac.c:659,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:673,1
    - Dst: flac_parse_header
      Src: /src/gpac/src/filters/reframe_flac.c:718,1
    - Dst: flac_dmx_update_cts
      Src: /src/gpac/src/filters/reframe_flac.c:765,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_flac.c:753,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_flac.c:767,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_flac.c:538,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_flac.c:559,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_flac.c:611,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/reframe_flac.c:638,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_flac.c:653,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:663,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/reframe_flac.c:671,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_flac.c:687,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/reframe_flac.c:727,1
    - Dst: flac_dmx_check_pid
      Src: /src/gpac/src/filters/reframe_flac.c:700,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_flac.c:747,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_flac.c:782,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_flac.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_flac.c:710,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_flac.c:696,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_flac.c:682,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 258
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 792
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 792
    functionName: flac_dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_bs_read_u24
    - GF_LOG
    - flac_parse_header
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - flac_dmx_check_dur
    - PROP_UINT
    - gf_filter_pck_set_cts
    - memmove
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_get_position
    - PROP_LONGUINT
    - gf_bs_read_int
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - flac_dmx_crc16
    - gf_bs_read_long_int
    - gf_filter_pck_ref_props
    - gf_realloc
    - flac_dmx_check_pid
    - gf_bs_available
    - memchr
    - gf_fatal_assert
    - flac_dmx_update_cts
    - flac_channel_layout
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flac_dmx_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_flac.c:802,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_flac.c:805,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_flac.c:804,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_flac.c:806,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_flac.c:803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 807
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 807
    functionName: flac_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void flac_dmx_finalize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_flac.c:90,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_flac.c:95,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_flac.c:104,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/reframe_flac.c:107,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_flac.c:100,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_flac.c:112,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_flac.c:113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_flac.c:115,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_flac.c:115,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 119
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 119
    functionName: flac_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err flac_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - in_lay
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: flac_channel_layout
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 flac_channel_layout(u32 in_lay) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_flac.c:228,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_flac.c:268,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_flac.c:270,1
    - Dst: flac_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_flac.c:245,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_flac.c:277,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: flac_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - flac_dmx_check_dur
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool flac_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_flac.c:413,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:436,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:423,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:440,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_flac.c:443,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:458,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_flac.c:448,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_flac.c:483,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/reframe_flac.c:502,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:419,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/filters/reframe_flac.c:414,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_flac.c:476,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:457,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_flac.c:475,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:493,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:415,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:420,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_flac.c:427,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_flac.c:474,1
    - Dst: flac_dmx_crc8
      Src: /src/gpac/src/filters/reframe_flac.c:484,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_flac.c:481,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 4
    argNames:
    - ctx
    - data
    - size
    - hdr
    argTypes:
    - GF_FLACDmxCtx*
    - char*
    - u32
    - FLACHeader*
    constantsTouched: []
    func_position:
      end: 510
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 510
    functionName: flac_parse_header
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - flac_dmx_crc8
    - gf_bs_is_overflow
    - gf_bs_mark_overflow
    linkageType: ''
    returnType: Bool
    signature: 'static Bool flac_parse_header(GF_FLACDmxCtx *ctx, char *data, u32
      size, FLACHeader *hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_flac.c:796,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_flac.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 799
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionName: flac_dmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err flac_dmx_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_flac.c:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: flac_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *flac_dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/reframe_flac.c:870,1
    - Dst: flac_channel_layout
      Src: /src/gpac/src/filters/reframe_flac.c:873,1
    - Dst: flac_dmx_crc16
      Src: /src/gpac/src/filters/reframe_flac.c:872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 879
    functionName: rfflac_register
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached:
    - flac_channel_layout
    - gf_sys_is_cov_mode
    - flac_dmx_crc16
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfflac_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: rfflac_register
    functionSourceFile: /src/gpac/src/filters/reframe_flac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfflac_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/unframer.c:34,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/unframer.c:48,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/unframer.c:39,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/unframer.c:44,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/unframer.c:40,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/unframer.c:50,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/unframer.c:54,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/unframer.c:55,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/unframer.c:62,1
    - Dst: gf_codecid_has_unframer
      Src: /src/gpac/src/filters/unframer.c:63,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unframer.c:76,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: unframer_configure_pid
    functionSourceFile: /src/gpac/src/filters/unframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_codecid_has_unframer
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err unframer_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: unframer_register
    functionSourceFile: /src/gpac/src/filters/unframer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *unframer_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/unframer.c:84,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/unframer.c:91,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/unframer.c:89,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/unframer.c:86,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/unframer.c:88,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/unframer.c:92,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/unframer.c:95,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/unframer.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: unframer_process
    functionSourceFile: /src/gpac/src/filters/unframer.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - gf_filter_get_ipid_count
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_get_ipid
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err unframer_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: unframer_register
    functionSourceFile: /src/gpac/src/filters/unframer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *unframer_register(GF_FilterSession *session) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:334,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:351,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:393,1
    - Dst: rtspout_del_stream
      Src: /src/gpac/src/filters/out_rtsp.c:386,1
    - Dst: rtspout_on_rtcp
      Src: /src/gpac/src/filters/out_rtsp.c:404,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtsp.c:375,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/out_rtsp.c:406,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_rtsp.c:413,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:421,1
    - Dst: rtspout_del_stream
      Src: /src/gpac/src/filters/out_rtsp.c:349,1
    - Dst: rtspout_locate_session_for_pid
      Src: /src/gpac/src/filters/out_rtsp.c:341,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/out_rtsp.c:403,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:345,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:356,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtsp.c:371,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:395,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:372,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtsp.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:432,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtsp.c:348,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:352,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtsp.c:362,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:376,1
    - Dst: rtpout_init_streamer
      Src: /src/gpac/src/filters/out_rtsp.c:415,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_rtsp.c:415,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtsp.c:420,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_rtsp.c:430,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/out_rtsp.c:432,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 85
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 438
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 438
    functionName: rtspout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_set_udta
    - rtspout_del_stream
    - GF_FEVT_INIT
    - GF_LOG
    - rtspout_locate_session_for_pid
    - GF_SAFEALLOC
    - rtspout_on_rtcp
    - gf_filter_get_udta
    - gf_list_find
    - gf_list_count
    - strcmp
    - gf_filter_pid_get_name
    - gf_list_del_item
    - gf_filter_pid_get_udta
    - gf_filter_pid_send_event
    - rtspout_del_session
    - gf_sys_is_cov_mode
    - gf_filter_pid_get_property
    - gf_filter_get_netcap_id
    - rtpout_init_streamer
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:453,1
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/out_rtsp.c:457,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/filters/out_rtsp.c:476,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:471,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:478,1
    - Dst: gf_rtsp_session_new_server
      Src: /src/gpac/src/filters/out_rtsp.c:446,1
    - Dst: gf_rtsp_session_set_netcap_id
      Src: /src/gpac/src/filters/out_rtsp.c:448,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtsp.c:460,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/out_rtsp.c:461,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_rtsp.c:472,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_rtsp.c:462,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:484,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_rtsp.c:448,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtsp.c:459,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:451,1
    - Dst: gf_rtsp_response_new
      Src: /src/gpac/src/filters/out_rtsp.c:458,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_rtsp.c:464,1
    - Dst: gf_rtsp_get_remote_address
      Src: /src/gpac/src/filters/out_rtsp.c:477,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - single_session
    argTypes:
    - GF_RTSPOutCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 487
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 487
    functionName: rtspout_check_new_session
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_rtsp_session_new_server
    - gf_rtsp_command_new
    - gf_rtsp_set_buffer_size
    - strcpy
    - sprintf
    - gf_filter_get_netcap_id
    - GF_LOG
    - gf_rtsp_get_remote_address
    - gf_rtsp_session_del
    - gf_rtsp_response_new
    - gf_sys_clock
    - gf_rtsp_session_set_netcap_id
    - GF_SAFEALLOC
    - gf_sys_is_test_mode
    - gf_list_new
    - gf_rand
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_check_new_session(GF_RTSPOutCtx *ctx, Bool single_session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_RTSPOutCtx*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: rtspout_check_last_sess
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_check_last_sess(GF_RTSPOutCtx *ctx) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_make_sticky
      Src: /src/gpac/src/filters/out_rtsp.c:513,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_rtsp.c:520,1
    - Dst: MIN
      Src: /src/gpac/src/filters/out_rtsp.c:521,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:530,1
    - Dst: rtspout_check_new_session
      Src: /src/gpac/src/filters/out_rtsp.c:529,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_rtsp.c:580,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:597,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:598,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:599,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/filters/out_rtsp.c:601,1
    - Dst: gf_cfg_get_section_count
      Src: /src/gpac/src/filters/out_rtsp.c:602,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:627,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_rtsp.c:630,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:631,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/filters/out_rtsp.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:635,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:639,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:616,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:620,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_rtsp.c:626,1
    - Dst: gf_cfg_get_section_name
      Src: /src/gpac/src/filters/out_rtsp.c:604,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:522,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:527,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_rtsp.c:549,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_rtsp.c:579,1
    - Dst: gf_sk_listen
      Src: /src/gpac/src/filters/out_rtsp.c:581,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:583,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:589,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtsp.c:592,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:605,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/out_rtsp.c:605,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:610,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_rtsp.c:617,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:496,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:510,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_rtsp.c:524,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:540,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:567,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_rtsp.c:579,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_rtsp.c:583,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/filters/out_rtsp.c:587,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/out_rtsp.c:595,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:610,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_rtsp.c:622,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:629,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:615,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_rtsp.c:609,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:619,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:638,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_rtsp.c:628,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_rtsp.c:600,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtsp.c:502,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:550,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:544,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_rtsp.c:553,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:554,1
    - Dst: gf_ssl_init_lib
      Src: /src/gpac/src/filters/out_rtsp.c:557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:558,1
    - Dst: gf_ssl_server_context_new
      Src: /src/gpac/src/filters/out_rtsp.c:561,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_rtsp.c:590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:606,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:614,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:611,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 171
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 643
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 643
    functionName: rtspout_initialize
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_cfg_get_section_count
    - GF_LOG
    - GF_SAFEALLOC
    - rtspout_check_new_session
    - gf_ssl_init_lib
    - strstr
    - gf_filter_get_udta
    - gf_ssl_server_context_new
    - MIN
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - atoi
    - gf_list_new
    - gf_filter_make_sticky
    - gf_sk_server_mode
    - gf_dynstrcat
    - gf_list_get
    - gf_cfg_new
    - gf_filter_post_process_task
    - gf_sk_bind
    - strchr
    - gf_cfg_get_key
    - gf_cfg_del
    - gf_filter_get_netcap_id
    - gf_dir_exists
    - gf_sk_listen
    - strncpy
    - gf_cfg_get_section_name
    - gf_sk_new_ex
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:917,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/out_rtsp.c:926,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:925,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:922,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:918,1
    - Dst: gf_filter_has_pid_connection_pending
      Src: /src/gpac/src/filters/out_rtsp.c:935,1
    - Dst: rtspout_send_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - sess
    argTypes:
    - GF_Filter*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 943
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 943
    functionName: rtspout_check_sdp
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_list_get
    - gf_list_count
    - gf_filter_has_pid_connection_pending
    - rtspout_send_sdp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_check_sdp(GF_Filter *filter, GF_RTSPOutSession
      *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:969,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:972,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:979,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:980,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:974,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:982,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - res_path
    argTypes:
    - GF_RTSPOutCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 986
    functionName: rtspout_locate_mcast
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - strcmp
    - strchr
    - strstr
    linkageType: ''
    returnType: GF_RTSPOutSession*
    signature: 'static GF_RTSPOutSession *rtspout_locate_mcast(GF_RTSPOutCtx *ctx,
      char *res_path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:208,1
    - Dst: rtspout_process_setup
      Src: /src/gpac/src/filters/out_rtsp.c:214,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:215,1
    - Dst: rtpout_create_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:226,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_rtsp.c:210,1
    - Dst: rtpout_create_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:228,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/out_rtsp.c:232,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_rtsp.c:233,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_rtsp.c:234,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/out_rtsp.c:235,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:240,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:246,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_rtsp.c:237,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 252
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 252
    functionName: rtspout_send_sdp
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_response_reset
    - gf_malloc
    - rtspout_send_response
    - gf_fread
    - gf_fclose
    - rtspout_process_setup
    - gf_ftell
    - strchr
    - strncpy
    - gf_free
    - gf_fseek
    - rtpout_create_sdp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_send_sdp(GF_RTSPOutSession *sess) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:647,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtsp.c:653,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:649,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:650,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:651,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_rtsp.c:655,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:656,1
    - Dst: gf_ssl_server_context_del
      Src: /src/gpac/src/filters/out_rtsp.c:660,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:664,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_rtsp.c:665,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:671,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:666,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:670,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:668,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:669,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtsp.c:673,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:667,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 674
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 674
    functionName: rtspout_finalize
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - rtspout_del_session
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_ssl_server_context_del
    - gf_sk_del
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_finalize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:947,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:955,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:951,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:959,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:957,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - sess
    - port
    argTypes:
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    - u32*
    constantsTouched: []
    func_position:
      end: 965
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 965
    functionName: rtspout_get_next_mcast_port
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_get_next_mcast_port(GF_RTSPOutCtx *ctx, GF_RTSPOutSession
      *sess, u32 *port) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_rtsp.c:1008,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1019,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1022,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1049,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:999,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1010,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:1020,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1066,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1082,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:993,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1002,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_rtsp.c:1006,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1025,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:1053,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1055,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/out_rtsp.c:1053,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1075,1
    - Dst: gf_creds_check_membership
      Src: /src/gpac/src/filters/out_rtsp.c:1088,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_rtsp.c:1007,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1052,1
    - Dst: gf_creds_check_password
      Src: /src/gpac/src/filters/out_rtsp.c:1064,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1058,1
    - Dst: gf_creds_check_membership
      Src: /src/gpac/src/filters/out_rtsp.c:1073,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 5
    argNames:
    - ctx
    - res_path
    - com
    - err_code
    - mcast_mode
    argTypes:
    - GF_RTSPOutCtx*
    - char*
    - GF_RTSPCommand*
    - u32*
    - GF_RTSPOutMulticastMode*
    constantsTouched: []
    func_position:
      end: 1094
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1094
    functionName: rtspout_get_local_res_path
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - gf_creds_check_password
    - strncmp
    - gf_list_count
    - strcmp
    - strchr
    - gf_free
    - gf_base64_decode
    - gf_creds_check_membership
    - gf_file_exists
    linkageType: ''
    returnType: char*
    signature: 'static char *rtspout_get_local_res_path(GF_RTSPOutCtx *ctx, char *res_path,
      GF_RTSPCommand *com, u32 *err_code, GF_RTSPOutMulticastMode *mcast_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1976
    functionName: rtspout_register
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rtspout_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_rtsp.c:258,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtsp.c:259,1
    - Dst: rtpout_del_stream
      Src: /src/gpac/src/filters/out_rtsp.c:263,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - GF_RTPOutStream*
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: rtspout_del_stream
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_set_discard
    - gf_filter_pid_send_event
    - rtpout_del_stream
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_del_stream(GF_RTPOutStream *st) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:303,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:313,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:317,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:306,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:315,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/out_rtsp.c:318,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - filter
    - ctx
    - pid
    argTypes:
    - GF_Filter*
    - GF_RTSPOutCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 324
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 324
    functionName: rtspout_locate_session_for_pid
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_RTSPOutSession*
    signature: 'GF_RTSPOutSession *rtspout_locate_session_for_pid(GF_Filter *filter,
      GF_RTSPOutCtx *ctx, GF_FilterPid *pid) '
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1459,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1497,1
    - Dst: rtspout_load_media_service
      Src: /src/gpac/src/filters/out_rtsp.c:1517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1314,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1318,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1343,1
    - Dst: rtspout_process_setup
      Src: /src/gpac/src/filters/out_rtsp.c:1562,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1385,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1548,1
    - Dst: rtspout_send_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:1448,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1665,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1556,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1365,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1374,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1669,1
    - Dst: rtspout_check_last_sess
      Src: /src/gpac/src/filters/out_rtsp.c:1678,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1677,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1336,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1391,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1427,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1522,1
    - Dst: rtspout_load_media_service
      Src: /src/gpac/src/filters/out_rtsp.c:1532,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1584,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_rtsp.c:1594,1
    - Dst: rtspout_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:1646,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1661,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1329,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1378,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1443,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1544,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtsp.c:1656,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1324,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:1340,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1373,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1391,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1418,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1587,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1607,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1398,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1408,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1446,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1550,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1409,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1540,1
    - Dst: rtspout_get_local_res_path
      Src: /src/gpac/src/filters/out_rtsp.c:1495,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1672,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1541,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1358,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1383,1
    - Dst: rtspout_get_local_res_path
      Src: /src/gpac/src/filters/out_rtsp.c:1528,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1513,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_rtsp.c:1422,1
    - Dst: rtspout_process_setup
      Src: /src/gpac/src/filters/out_rtsp.c:1599,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1639,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1417,1
    - Dst: gf_filter_url_is_filter
      Src: /src/gpac/src/filters/out_rtsp.c:1498,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtsp.c:1524,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1424,1
    - Dst: gf_rtsp_get_command
      Src: /src/gpac/src/filters/out_rtsp.c:1302,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1340,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/out_rtsp.c:1352,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1603,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtsp.c:1631,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:1504,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1330,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1382,1
    - Dst: rtspout_send_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:1564,1
    - Dst: rtspout_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:1667,1
    - Dst: rtspout_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:1674,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1653,1
    - Dst: rtspout_check_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:1297,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_rtsp.c:1357,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1392,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1399,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1487,1
    - Dst: gf_filter_is_supported_source
      Src: /src/gpac/src/filters/out_rtsp.c:1496,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_rtsp.c:1514,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1492,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1575,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1636,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:1307,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1321,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1368,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1388,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1413,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1493,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1458,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1620,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1658,1
    - Dst: rtspout_get_ctrl_id
      Src: /src/gpac/src/filters/out_rtsp.c:1606,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1486,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1499,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1337,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1395,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1402,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_rtsp.c:1480,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1533,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_rtsp.c:1494,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1578,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1473,1
    - Dst: rtspout_get_local_res_path
      Src: /src/gpac/src/filters/out_rtsp.c:1470,1
    - Dst: rtspout_locate_mcast
      Src: /src/gpac/src/filters/out_rtsp.c:1436,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1623,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1684,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:1687,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 371
    argCount: 3
    argNames:
    - filter
    - ctx
    - sess_ptr
    argTypes:
    - GF_Filter*
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession**
    constantsTouched: []
    func_position:
      end: 1692
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1692
    functionName: rtspout_process_session_signaling
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_rtsp_get_command
    - strncmp
    - GF_LOG
    - gf_rtsp_session_del
    - rtspout_process_setup
    - rtspout_get_local_res_path
    - strstr
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_strdup
    - strcmp
    - rtspout_check_sdp
    - gf_filter_is_supported_source
    - rtspout_send_sdp
    - rtspout_check_last_sess
    - gf_list_new
    - gf_list_get
    - rtspout_load_media_service
    - gf_sys_clock
    - memcpy
    - strchr
    - gf_free
    - rtspout_del_session
    - gf_filter_url_is_filter
    - rtspout_send_event
    - rtspout_send_response
    - rtspout_get_ctrl_id
    - strrchr
    - rtspout_locate_mcast
    - gf_sys_clock_high_res
    - gf_rtsp_response_reset
    - gf_rtsp_command_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_process_session_signaling(GF_Filter *filter,
      GF_RTSPOutCtx *ctx, GF_RTSPOutSession **sess_ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:176,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:179,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: rtspout_send_response
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_send_response
    - gf_sys_clock
    - gf_rtsp_session_del
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_send_response(GF_RTSPOutCtx *ctx, GF_RTSPOutSession
      *sess) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:270,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_rtsp.c:271,1
    - Dst: rtspout_del_stream
      Src: /src/gpac/src/filters/out_rtsp.c:272,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:277,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtsp.c:274,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:279,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:282,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_rtsp.c:283,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/out_rtsp.c:284,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_rtsp.c:287,1
    - Dst: gf_rtsp_response_del
      Src: /src/gpac/src/filters/out_rtsp.c:290,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtsp.c:291,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:292,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:297,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/out_rtsp.c:289,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:288,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:295,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - sess
    argTypes:
    - GF_Filter*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 298
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 298
    functionName: rtspout_del_session
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_response_del
    - gf_list_del
    - rtspout_del_stream
    - gf_list_count
    - gf_rtsp_session_del
    - gf_free
    - gf_filter_remove_src
    - gf_list_del_item
    - gf_rtsp_command_del
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_del_session(GF_Filter *filter, GF_RTSPOutSession
      *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: rtspout_on_rtcp
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_on_rtcp(void *udta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_get_session_cookie
      Src: /src/gpac/src/filters/out_rtsp.c:1698,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1701,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1706,1
    - Dst: gf_rtsp_get_session_ip
      Src: /src/gpac/src/filters/out_rtsp.c:1699,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1704,1
    - Dst: gf_rtsp_get_session_cookie
      Src: /src/gpac/src/filters/out_rtsp.c:1709,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1711,1
    - Dst: gf_rtsp_get_session_ip
      Src: /src/gpac/src/filters/out_rtsp.c:1712,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1713,1
    - Dst: gf_rtsp_merge_tunnel
      Src: /src/gpac/src/filters/out_rtsp.c:1715,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_rtsp.c:1717,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1725,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1718,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1726,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1717,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - filter
    - ctx
    - sess
    argTypes:
    - GF_Filter*
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1727
    functionName: rtspout_merge_http_tunnel
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - rtspout_del_session
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_rtsp_get_session_cookie
    - gf_rtsp_get_session_ip
    - gf_rtsp_merge_tunnel
    linkageType: ''
    returnType: void
    signature: 'void rtspout_merge_http_tunnel(GF_Filter *filter, GF_RTSPOutCtx *ctx,
      GF_RTSPOutSession *sess) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/out_rtsp.c:698,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/out_rtsp.c:718,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/out_rtsp.c:721,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:716,1
    - Dst: gf_rtp_streamer_get_timescale
      Src: /src/gpac/src/filters/out_rtsp.c:746,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/out_rtsp.c:753,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:759,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:764,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:680,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_rtsp.c:700,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtsp.c:704,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_rtsp.c:712,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:733,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtsp.c:714,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_rtsp.c:741,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtsp.c:748,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_rtsp.c:692,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_rtsp.c:709,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:720,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:729,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_rtsp.c:738,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:724,1
    - Dst: gf_rtp_streamer_get_next_rtp_sn
      Src: /src/gpac/src/filters/out_rtsp.c:743,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_rtsp.c:689,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/out_rtsp.c:691,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:685,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:741,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_rtsp.c:742,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:750,1
    - Dst: gf_rtp_streamer_get_ssrc
      Src: /src/gpac/src/filters/out_rtsp.c:754,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 767
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 767
    functionName: rtspout_init_clock
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_malloc
    - strlen
    - gf_rtp_streamer_get_ssrc
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_rand
    - gf_rtp_streamer_get_timescale
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_rand_init
    - gf_filter_pck_get_dts
    - gf_rtp_streamer_get_next_rtp_sn
    - gf_list_get
    - sprintf
    - gf_sys_is_cov_mode
    - rtspout_send_response
    - gf_filter_pck_get_seek_flag
    - gf_sys_clock_high_res
    - gf_rtsp_response_reset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rtspout_init_clock(GF_RTSPOutCtx *ctx, GF_RTSPOutSession
      *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtspout_init_clock
      Src: /src/gpac/src/filters/out_rtsp.c:815,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:835,1
    - Dst: rtspout_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:833,1
    - Dst: gf_rtsp_check_connection
      Src: /src/gpac/src/filters/out_rtsp.c:819,1
    - Dst: rtpout_process_rtp
      Src: /src/gpac/src/filters/out_rtsp.c:828,1
    - Dst: rtspout_check_last_sess
      Src: /src/gpac/src/filters/out_rtsp.c:836,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - ctx
    - sess
    argTypes:
    - GF_Filter*
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    constantsTouched: []
    func_position:
      end: 843
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 843
    functionName: rtspout_process_rtp
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - rtspout_del_session
    - rtspout_send_event
    - rtpout_process_rtp
    - gf_rtsp_check_connection
    - rtspout_init_clock
    - rtspout_check_last_sess
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_process_rtp(GF_Filter *filter, GF_RTSPOutCtx
      *ctx, GF_RTSPOutSession *sess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_rtsp.c:860,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:874,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:862,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:866,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:872,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - f
    - on_setup_error_udta
    - e
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 877
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 877
    functionName: rtspout_on_filter_setup_error
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - rtspout_del_session
    - gf_list_count
    - rtspout_send_response
    - gf_rtsp_response_reset
    - gf_list_del_item
    linkageType: ''
    returnType: Bool
    signature: 'Bool rtspout_on_filter_setup_error(GF_Filter *f, void *on_setup_error_udta,
      GF_Err e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/out_rtsp.c:1100,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_rtsp.c:1102,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_rtsp.c:1101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sess
    - ctrl
    argTypes:
    - GF_RTSPOutSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1108
    functionName: rtspout_get_ctrl_id
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - sscanf
    - strlen
    - strncmp
    linkageType: ''
    returnType: u32
    signature: 'static u32 rtspout_get_ctrl_id(GF_RTSPOutSession *sess, char *ctrl) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_rtsp.c:1815,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_rtsp.c:1733,1
    - Dst: rtspout_check_new_session
      Src: /src/gpac/src/filters/out_rtsp.c:1739,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1791,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1799,1
    - Dst: rtspout_process_session_signaling
      Src: /src/gpac/src/filters/out_rtsp.c:1770,1
    - Dst: rtspout_del_session
      Src: /src/gpac/src/filters/out_rtsp.c:1800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1748,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1745,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1754,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_rtsp.c:1757,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_rtsp.c:1761,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:1762,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_rtsp.c:1772,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_rtsp.c:1817,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_rtsp.c:1744,1
    - Dst: rtspout_merge_http_tunnel
      Src: /src/gpac/src/filters/out_rtsp.c:1773,1
    - Dst: rtspout_process_rtp
      Src: /src/gpac/src/filters/out_rtsp.c:1782,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_rtsp.c:1787,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1820
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1820
    functionName: rtspout_process
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - rtspout_process_rtp
    - gf_list_get
    - rtspout_del_session
    - GF_FEVT_INIT
    - gf_list_count
    - gf_filter_pid_get_packet
    - GF_LOG
    - rtspout_process_session_signaling
    - gf_filter_ask_rt_reschedule
    - gf_sys_clock
    - gf_filter_post_process_task
    - gf_list_rem
    - gf_sys_clock_high_res
    - rtspout_merge_http_tunnel
    - rtspout_check_new_session
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:777,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:782,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_rtsp.c:774,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:784,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_rtsp.c:792,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:793,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_rtsp.c:798,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_rtsp.c:801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - sess
    - send_stop
    - send_play
    - start_range
    argTypes:
    - GF_RTSPOutSession*
    - Bool
    - Bool
    - Double
    constantsTouched: []
    func_position:
      end: 806
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 806
    functionName: rtspout_send_event
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - memset
    - gf_list_count
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void rtspout_send_event(GF_RTSPOutSession *sess, Bool send_stop,
      Bool send_play, Double start_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_session_write_interleaved
      Src: /src/gpac/src/filters/out_rtsp.c:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - cbk1
    - cbk2
    - is_rtcp
    - pck
    - pck_size
    argTypes:
    - void*
    - void*
    - Bool
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: rtspout_interleave_packet
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_session_write_interleaved
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_interleave_packet(void *cbk1, void *cbk2, Bool
      is_rtcp, u8 *pck, u32 pck_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:883,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:885,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/out_rtsp.c:893,1
    - Dst: gf_filter_get_arg_str
      Src: /src/gpac/src/filters/out_rtsp.c:886,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:887,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:895,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:898,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:901,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/out_rtsp.c:902,1
    - Dst: rtspout_send_sdp
      Src: /src/gpac/src/filters/out_rtsp.c:907,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - filter
    - ctx
    - sess
    - src_url
    argTypes:
    - GF_Filter*
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    - char*
    constantsTouched: []
    func_position:
      end: 913
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 913
    functionName: rtspout_load_media_service
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_rtsp_response_reset
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - rtspout_send_response
    - strcmp
    - gf_filter_set_setup_failure_callback
    - rtspout_send_sdp
    - gf_filter_get_arg_str
    - gf_filter_connect_source
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_load_media_service(GF_Filter *filter, GF_RTSPOutCtx
      *ctx, GF_RTSPOutSession *sess, char *src_url) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:1146,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1152,1
    - Dst: rand
      Src: /src/gpac/src/filters/out_rtsp.c:1176,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1189,1
    - Dst: rtspout_get_local_res_path
      Src: /src/gpac/src/filters/out_rtsp.c:1203,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_rtsp.c:1231,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_rtsp.c:1241,1
    - Dst: gf_rtsp_generate_session_id
      Src: /src/gpac/src/filters/out_rtsp.c:1250,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1271,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1115,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_rtsp.c:1161,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1190,1
    - Dst: gf_rtp_streamer_init_rtsp
      Src: /src/gpac/src/filters/out_rtsp.c:1245,1
    - Dst: gf_rtsp_session_del
      Src: /src/gpac/src/filters/out_rtsp.c:1279,1
    - Dst: rtspout_check_last_sess
      Src: /src/gpac/src/filters/out_rtsp.c:1281,1
    - Dst: gf_rtsp_response_reset
      Src: /src/gpac/src/filters/out_rtsp.c:1141,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1144,1
    - Dst: rtspout_get_next_mcast_port
      Src: /src/gpac/src/filters/out_rtsp.c:1227,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_rtsp.c:1256,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_rtsp.c:1260,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_rtsp.c:1129,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_rtsp.c:1124,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_rtsp.c:1131,1
    - Dst: rtspout_get_ctrl_id
      Src: /src/gpac/src/filters/out_rtsp.c:1120,1
    - Dst: rtspout_check_last_sess
      Src: /src/gpac/src/filters/out_rtsp.c:1148,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/out_rtsp.c:1180,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_rtsp.c:1189,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/out_rtsp.c:1196,1
    - Dst: gf_rtsp_get_session_ip
      Src: /src/gpac/src/filters/out_rtsp.c:1255,1
    - Dst: gf_rtp_streamer_set_interleave_callbacks
      Src: /src/gpac/src/filters/out_rtsp.c:1266,1
    - Dst: rtspout_send_response
      Src: /src/gpac/src/filters/out_rtsp.c:1270,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 174
    argCount: 3
    argNames:
    - ctx
    - sess
    - ctrl
    argTypes:
    - GF_RTSPOutCtx*
    - GF_RTSPOutSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1284
    functionName: rtspout_process_setup
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - rtspout_get_next_mcast_port
    - gf_rtp_streamer_set_interleave_callbacks
    - GF_LOG
    - gf_rtsp_session_del
    - rtspout_get_local_res_path
    - strstr
    - gf_list_find
    - gf_list_count
    - gf_strdup
    - strcmp
    - rtspout_check_last_sess
    - gf_rtp_streamer_init_rtsp
    - gf_list_reset
    - gf_list_get
    - gf_free
    - rand
    - gf_rtsp_generate_session_id
    - rtspout_send_response
    - rtspout_get_ctrl_id
    - gf_sk_is_multicast_address
    - gf_rtsp_response_reset
    - gf_rtsp_get_session_ip
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtspout_process_setup(GF_RTSPOutCtx *ctx, GF_RTSPOutSession
      *sess, char *ctrl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_rtsp.c:1824,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_rtsp.c:1826,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_rtsp.c:1825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1828
    functionName: rtspout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore rtspout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_rtsp.c:1965,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_rtsp.c:1966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1969
    functionName: rtspout_register
    functionSourceFile: /src/gpac/src/filters/out_rtsp.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rtspout_register(GF_FilterSession *session) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_png.c:76,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_png.c:78,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_png.c:92,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_png.c:99,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/enc_png.c:123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_png.c:80,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/enc_png.c:82,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/enc_png.c:128,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/enc_png.c:61,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/enc_png.c:72,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_png.c:88,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/enc_png.c:102,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_png.c:84,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_png.c:55,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/enc_png.c:67,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_png.c:76,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_png.c:77,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_png.c:79,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_png.c:123,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/enc_png.c:75,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_png.c:96,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 131
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 131
    functionName: pngenc_configure_pid
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_pixel_get_size_info
    - gf_filter_set_name
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_filter_pid_negotiate_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pngenc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - png
    argTypes:
    - png_structp
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: pngenc_flush
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void pngenc_flush(png_structp png) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:182,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cbk
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: pngenc_warn
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void pngenc_warn(png_structp cbk, png_const_charp msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/enc_png.c:361,1
    - Dst: pngenc_error
      Src: /src/gpac/src/filters/enc_png.c:363,1
    - Dst: pngenc_warn
      Src: /src/gpac/src/filters/enc_png.c:364,1
    - Dst: pngenc_flush
      Src: /src/gpac/src/filters/enc_png.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: pngenc_initialize
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - pngenc_flush
    - pngenc_error
    - gf_sys_is_cov_mode
    - pngenc_warn
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pngenc_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/gpac/src/filters/enc_png.c:143,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/enc_png.c:146,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/enc_png.c:160,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/enc_png.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - png
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: pngenc_write
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - png_get_io_ptr
    - gf_filter_pck_expand
    - memcpy
    - gf_filter_pck_new_alloc
    linkageType: ''
    returnType: void
    signature: 'static void pngenc_write(png_structp png, png_bytep data, png_size_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_png.c:135,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/enc_png.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: pngenc_finalize
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void pngenc_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:174,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cbk
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: pngenc_error
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void pngenc_error(png_structp cbk, png_const_charp msg) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/enc_png.c:213,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/enc_png.c:206,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/enc_png.c:215,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_png.c:217,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_png.c:223,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_png.c:239,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/enc_png.c:254,1
    - Dst: png_create_write_struct
      Src: /src/gpac/src/filters/enc_png.c:228,1
    - Dst: setjmp
      Src: /src/gpac/src/filters/enc_png.c:246,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/enc_png.c:342,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/enc_png.c:201,1
    - Dst: png_set_IHDR
      Src: /src/gpac/src/filters/enc_png.c:263,1
    - Dst: memset
      Src: /src/gpac/src/filters/enc_png.c:265,1
    - Dst: png_set_sBIT
      Src: /src/gpac/src/filters/enc_png.c:284,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/filters/enc_png.c:316,1
    - Dst: png_set_text
      Src: /src/gpac/src/filters/enc_png.c:300,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/filters/enc_png.c:320,1
    - Dst: png_set_bgr
      Src: /src/gpac/src/filters/enc_png.c:326,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/enc_png.c:343,1
    - Dst: png_set_write_fn
      Src: /src/gpac/src/filters/enc_png.c:261,1
    - Dst: png_jmpbuf
      Src: /src/gpac/src/filters/enc_png.c:246,1
    - Dst: png_set_packing
      Src: /src/gpac/src/filters/enc_png.c:312,1
    - Dst: png_set_filler
      Src: /src/gpac/src/filters/enc_png.c:319,1
    - Dst: png_write_end
      Src: /src/gpac/src/filters/enc_png.c:334,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/enc_png.c:341,1
    - Dst: png_write_info
      Src: /src/gpac/src/filters/enc_png.c:304,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/enc_png.c:345,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_png.c:191,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/enc_png.c:207,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_png.c:222,1
    - Dst: png_create_info_struct
      Src: /src/gpac/src/filters/enc_png.c:236,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_png.c:231,1
    - Dst: png_destroy_write_struct
      Src: /src/gpac/src/filters/enc_png.c:238,1
    - Dst: png_set_shift
      Src: /src/gpac/src/filters/enc_png.c:309,1
    - Dst: png_set_filler
      Src: /src/gpac/src/filters/enc_png.c:323,1
    - Dst: png_write_image
      Src: /src/gpac/src/filters/enc_png.c:333,1
    - Dst: png_destroy_write_struct
      Src: /src/gpac/src/filters/enc_png.c:338,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_png.c:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 106
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 356
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 356
    functionName: pngenc_process
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_is_eos
    - png_create_write_struct
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - setjmp
    - png_write_image
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - png_create_info_struct
    - png_write_end
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - png_jmpbuf
    - png_set_write_fn
    - png_set_bgr
    - png_set_shift
    - gf_filter_pck_get_frame_interface
    - png_destroy_write_struct
    - png_set_sBIT
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - png_set_IHDR
    - png_set_filler
    - gf_filter_pck_merge_properties
    - png_write_info
    - png_set_text
    - png_set_packing
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pngenc_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: pngenc_register
    functionSourceFile: /src/gpac/src/filters/enc_png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *pngenc_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/enc_jpg.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: jpgenc_init_dest
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    linkageType: ''
    returnType: void
    signature: 'static void jpgenc_init_dest(j_compress_ptr cinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: jpgenc_output_message
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void jpgenc_output_message (j_common_ptr cinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/enc_jpg.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: jpgenc_term_dest
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_truncate
    linkageType: ''
    returnType: void
    signature: 'static void jpgenc_term_dest(j_compress_ptr cinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/enc_jpg.c:367,1
    - Dst: jpgenc_fatal_error
      Src: /src/gpac/src/filters/enc_jpg.c:370,1
    - Dst: jpgenc_output_message
      Src: /src/gpac/src/filters/enc_jpg.c:368,1
    - Dst: jpgenc_nonfatal_error2
      Src: /src/gpac/src/filters/enc_jpg.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: jpgenc_initialize
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - jpgenc_nonfatal_error2
    - jpgenc_fatal_error
    - gf_sys_is_cov_mode
    - jpgenc_output_message
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jpgenc_initialize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/enc_jpg.c:74,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_jpg.c:85,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_jpg.c:87,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_jpg.c:89,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/enc_jpg.c:97,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/enc_jpg.c:94,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/enc_jpg.c:92,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_jpg.c:123,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/enc_jpg.c:81,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_jpg.c:104,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/enc_jpg.c:118,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_jpg.c:63,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/enc_jpg.c:85,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_jpg.c:86,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/enc_jpg.c:88,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_jpg.c:108,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/enc_jpg.c:123,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/enc_jpg.c:68,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/enc_jpg.c:84,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_jpg.c:112,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_jpg.c:115,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/enc_jpg.c:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 129
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 129
    functionName: jpgenc_configure_pid
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_pixel_get_size_info
    - gf_filter_set_name
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - sprintf
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_filter_pid_negotiate_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jpgenc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cinfo
    - lev
    argTypes:
    - j_common_ptr
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: jpgenc_nonfatal_error2
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void jpgenc_nonfatal_error2(j_common_ptr cinfo, int lev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/enc_jpg.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: jpgenc_empty_output
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_expand
    linkageType: ''
    returnType: boolean
    signature: 'static boolean jpgenc_empty_output(j_compress_ptr cinfo) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/enc_jpg.c:235,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/enc_jpg.c:227,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/enc_jpg.c:237,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_jpg.c:239,1
    - Dst: jpeg_set_defaults
      Src: /src/gpac/src/filters/enc_jpg.c:283,1
    - Dst: jpeg_destroy_compress
      Src: /src/gpac/src/filters/enc_jpg.c:345,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/enc_jpg.c:351,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/enc_jpg.c:360,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/enc_jpg.c:228,1
    - Dst: jpeg_std_error
      Src: /src/gpac/src/filters/enc_jpg.c:248,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/enc_jpg.c:264,1
    - Dst: jpeg_start_compress
      Src: /src/gpac/src/filters/enc_jpg.c:300,1
    - Dst: jpeg_set_colorspace
      Src: /src/gpac/src/filters/enc_jpg.c:295,1
    - Dst: jpeg_set_quality
      Src: /src/gpac/src/filters/enc_jpg.c:296,1
    - Dst: jpeg_create_compress
      Src: /src/gpac/src/filters/enc_jpg.c:274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:324,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:318,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/enc_jpg.c:348,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/enc_jpg.c:209,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/enc_jpg.c:222,1
    - Dst: setjmp
      Src: /src/gpac/src/filters/enc_jpg.c:253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:254,1
    - Dst: MIN
      Src: /src/gpac/src/filters/enc_jpg.c:296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:312,1
    - Dst: jpeg_write_raw_data
      Src: /src/gpac/src/filters/enc_jpg.c:339,1
    - Dst: jpeg_finish_compress
      Src: /src/gpac/src/filters/enc_jpg.c:341,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/enc_jpg.c:349,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 144
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 362
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 362
    functionName: jpgenc_process
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - jpeg_set_defaults
    - jpeg_destroy_compress
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - setjmp
    - gf_filter_pck_get_data
    - jpeg_set_colorspace
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - MIN
    - gf_filter_pid_get_packet
    - gf_filter_pck_get_frame_interface
    - jpeg_std_error
    - jpeg_start_compress
    - gf_filter_pck_discard
    - jpeg_finish_compress
    - gf_filter_pck_send
    - jpeg_create_compress
    - jpeg_set_quality
    - gf_filter_pck_merge_properties
    - jpeg_write_raw_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jpgenc_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: jpgenc_register
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *jpgenc_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/enc_jpg.c:157,1
    - Dst: jpgenc_output_message
      Src: /src/gpac/src/filters/enc_jpg.c:160,1
    - Dst: longjmp
      Src: /src/gpac/src/filters/enc_jpg.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: jpgenc_fatal_error
    functionSourceFile: /src/gpac/src/filters/enc_jpg.c
    functionUses: []
    functionsReached:
    - longjmp
    - GF_LOG
    - jpgenc_output_message
    linkageType: ''
    returnType: void
    signature: 'static void jpgenc_fatal_error(j_common_ptr cinfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/tssplit.c:268,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/tssplit.c:269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:267,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tssplit.c:270,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/tssplit.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:295,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/tssplit.c:292,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tssplit.c:293,1
    - Dst: m2ts_split_estimate_duration
      Src: /src/gpac/src/filters/tssplit.c:279,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:296,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tssplit.c:291,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/tssplit.c:289,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/tssplit.c:287,1
    - Dst: m2tssplit_flush
      Src: /src/gpac/src/filters/tssplit.c:266,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tssplit.c:271,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/tssplit.c:284,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:293,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/tssplit.c:295,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:262,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tssplit.c:296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 301
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 301
    functionName: m2tssplit_configure_pid
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_malloc
    - gf_filter_pid_new
    - gf_list_count
    - gf_filter_pid_copy_properties
    - m2tssplit_flush
    - gf_free
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_FRAC64
    - m2ts_split_estimate_duration
    - PROP_UINT
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2tssplit_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:180,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:181,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:184,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/tssplit.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_M2TSSplitCtx*
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: m2tssplit_flush
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_filter_pid_set_eos
    - m2tssplit_send_packet
    linkageType: ''
    returnType: void
    signature: 'void m2tssplit_flush(GF_M2TSSplitCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ts
    - evt_type
    - param
    argTypes:
    - GF_M2TS_Demuxer*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: m2tssplit_on_event_duration_probe
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void m2tssplit_on_event_duration_probe(GF_M2TS_Demuxer *ts,
      u32 evt_type, void *param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:384,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/tssplit.c:388,1
    - Dst: m2tssplit_flush
      Src: /src/gpac/src/filters/tssplit.c:391,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/tssplit.c:390,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/tssplit.c:394,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/tssplit.c:397,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/src/filters/tssplit.c:399,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/tssplit.c:401,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/tssplit.c:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: m2tssplit_process
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - m2tssplit_flush
    - gf_filter_pid_drop_packet
    - gf_sys_clock_high_res
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2tssplit_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:674,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/tssplit.c:681,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/tssplit.c:675,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/src/filters/tssplit.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 688
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 688
    functionName: m2tssplit_initialize
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_filter_get_udta
    - gf_list_new
    - gf_m2ts_demux_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2tssplit_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: tssplit_register
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tssplit_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m2tssplit_initialize
      Src: /src/gpac/src/filters/tssplit.c:769,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: m2ts_gendts_initialize
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - m2tssplit_initialize
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2ts_gendts_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: tssplit_register
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tssplit_register(GF_FilterSession *session) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:97,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:134,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:167,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:173,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/tssplit.c:95,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/tssplit.c:105,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/tssplit.c:122,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:150,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/tssplit.c:123,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:124,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:146,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:163,1
    - Dst: assert
      Src: /src/gpac/src/filters/tssplit.c:132,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/tssplit.c:155,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/tssplit.c:170,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:100,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/tssplit.c:110,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:120,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:148,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:157,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/tssplit.c:154,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:165,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/tssplit.c:171,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 5
    argNames:
    - ctx
    - stream
    - data
    - size
    - pcr_plus_one
    argTypes:
    - GF_M2TSSplitCtx*
    - GF_M2TSSplit_SPTS*
    - u8*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 175
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 175
    functionName: m2tssplit_send_packet
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - assert
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_framing
    - gf_filter_pck_expand
    - memcpy
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_sys_clock_high_res
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'void m2tssplit_send_packet(GF_M2TSSplitCtx *ctx, GF_M2TSSplit_SPTS
      *stream, u8 *data, u32 size, u64 pcr_plus_one) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/tssplit.c:223,1
    - Dst: memset
      Src: /src/gpac/src/filters/tssplit.c:234,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/tssplit.c:228,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/tssplit.c:224,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/tssplit.c:239,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/tssplit.c:241,1
    - Dst: gf_m2ts_process_data
      Src: /src/gpac/src/filters/tssplit.c:242,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/tssplit.c:247,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/tssplit.c:248,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/tssplit.c:249,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/src/filters/tssplit.c:253,1
    - Dst: gf_m2ts_demux_new
      Src: /src/gpac/src/filters/tssplit.c:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - pid
    argTypes:
    - GF_M2TSSplitCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 258
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 258
    functionName: m2ts_split_estimate_duration
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_m2ts_process_data
    - memset
    - strncmp
    - gf_filter_pid_get_property
    - gf_m2ts_demux_del
    - gf_fsize
    - gf_fread
    - gf_timestamp_rescale
    - gf_fopen
    - gf_fclose
    - gf_feof
    - gf_m2ts_demux_new
    linkageType: ''
    returnType: void
    signature: 'void m2ts_split_estimate_duration(GF_M2TSSplitCtx *ctx, GF_FilterPid
      *pid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:308,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/tssplit.c:334,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/tssplit.c:336,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:313,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:340,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:344,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:345,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/tssplit.c:350,1
    - Dst: gf_m2ts_reset_parsers
      Src: /src/gpac/src/filters/tssplit.c:354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:367,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:366,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/tssplit.c:371,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:369,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 380
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 380
    functionName: m2tssplit_process_event
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - GF_FEVT_INIT
    - gf_realloc
    - gf_list_count
    - gf_m2ts_reset_parsers
    - m2tssplit_send_packet
    - gf_filter_pck_discard
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool m2tssplit_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:426,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/tssplit.c:424,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/tssplit.c:451,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:466,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/tssplit.c:486,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:487,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:507,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:521,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:529,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:530,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:596,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:598,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:594,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:657,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:588,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:488,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/tssplit.c:589,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:655,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:417,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:427,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/tssplit.c:433,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:456,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:458,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:457,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:460,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/tssplit.c:453,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:459,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:463,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:481,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:630,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:663,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:592,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:502,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tssplit.c:590,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:519,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:423,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/tssplit.c:439,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/tssplit.c:441,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/tssplit.c:461,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:454,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:462,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:464,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:478,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:482,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/tssplit.c:492,1
    - Dst: memset
      Src: /src/gpac/src/filters/tssplit.c:500,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:589,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:628,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/tssplit.c:511,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/tssplit.c:587,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/tssplit.c:586,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/tssplit.c:447,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:455,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:465,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:479,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/tssplit.c:490,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:509,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:510,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/tssplit.c:526,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/tssplit.c:528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/tssplit.c:540,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/tssplit.c:588,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:590,1
    - Dst: m2tssplit_send_packet
      Src: /src/gpac/src/filters/tssplit.c:665,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/tssplit.c:592,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/tssplit.c:597,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:539,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/tssplit.c:483,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/tssplit.c:587,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 183
    argCount: 3
    argNames:
    - ts
    - evt_type
    - par
    argTypes:
    - struct tag_m2ts_demux*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 670
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 670
    functionName: m2tssplit_on_event
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_filter_pid_new
    - memset
    - gf_bs_seek
    - PROP_FRAC64
    - GF_SAFEALLOC
    - m2tssplit_send_packet
    - gf_filter_pck_new_alloc
    - gf_crc_32
    - gf_list_count
    - PROP_STRING
    - PROP_UINT
    - gf_assert
    - gf_bs_write_int
    - gf_list_get
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_filter_pck_set_framing
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void m2tssplit_on_event(struct tag_m2ts_demux *ts, u32 evt_type,
      void *par) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/tssplit.c:692,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tssplit.c:696,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/tssplit.c:694,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/tssplit.c:695,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/tssplit.c:697,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/tssplit.c:699,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/tssplit.c:700,1
    - Dst: gf_m2ts_demux_del
      Src: /src/gpac/src/filters/tssplit.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: m2tssplit_finalize
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_m2ts_demux_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void m2tssplit_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: tsgendts_register
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tsgendts_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: tsgendts_register
    functionSourceFile: /src/gpac/src/filters/tssplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *tsgendts_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: id3dmx_flush
      Src: /src/gpac/src/filters/reframe_mp3.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_MP3DmxCtx*
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: mp3_dmx_flush_id3
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - id3dmx_flush
    linkageType: ''
    returnType: void
    signature: 'static void mp3_dmx_flush_id3(GF_Filter *filter, GF_MP3DmxCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf8_wcslen
      Src: /src/gpac/src/filters/reframe_mp3.c:205,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframe_mp3.c:211,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_mp3.c:206,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/reframe_mp3.c:211,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/reframe_mp3.c:207,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/reframe_mp3.c:213,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframe_mp3.c:213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:216,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mp3.c:218,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/reframe_mp3.c:221,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/reframe_mp3.c:223,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframe_mp3.c:223,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframe_mp3.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - apid
    - name
    - buf
    - is_dyn
    argTypes:
    - GF_FilterPid*
    - char*
    - u8*
    - Bool
    constantsTouched: []
    func_position:
      end: 226
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 226
    functionName: id3dmx_set_string
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_utf8_wcslen
    - gf_filter_pid_set_property_dyn
    - PROP_STRING
    - GF_LOG
    - gf_filter_pid_set_property_str
    - gf_utf8_wcstombs
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void id3dmx_set_string(GF_FilterPid *apid, char *name, u8 *buf,
      Bool is_dyn) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mp3.c:134,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_mp3.c:135,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_mp3.c:144,1
    - Dst: gf_mp3_get_next_header
      Src: /src/gpac/src/filters/reframe_mp3.c:156,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_mp3.c:142,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/filters/reframe_mp3.c:158,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/filters/reframe_mp3.c:168,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_mp3.c:171,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mp3.c:175,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_mp3.c:183,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_mp3.c:184,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mp3.c:195,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mp3.c:192,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_mp3.c:186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:192,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/filters/reframe_mp3.c:184,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_MP3DmxCtx*
    constantsTouched: []
    func_position:
      end: 197
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 197
    functionName: mp3_dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_fseek
    - gf_mp3_get_next_header
    - strncmp
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_fileio_is_main_thread
    - gf_mp3_frame_size
    - gf_fclose
    - gf_mp3_sampling_rate
    - gf_filter_pid_set_property
    - gf_ftell
    - PROP_FRAC64
    - gf_mp3_window_size
    linkageType: ''
    returnType: void
    signature: 'static void mp3_dmx_check_dur(GF_Filter *filter, GF_MP3DmxCtx *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mp3.c:430,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_mp3.c:470,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_mp3.c:472,1
    - Dst: mp3_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mp3.c:447,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mp3.c:479,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 493
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 493
    functionName: mp3_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - mp3_dmx_check_dur
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mp3_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_mp3.c:534,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_mp3.c:547,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mp3.c:563,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:565,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_mp3.c:571,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mp3.c:607,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:651,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/filters/reframe_mp3.c:670,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:693,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mp3.c:695,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_mp3.c:707,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_mp3.c:531,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_mp3.c:529,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:610,1
    - Dst: mp3_dmx_check_pid
      Src: /src/gpac/src/filters/reframe_mp3.c:662,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_mp3.c:697,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_mp3.c:697,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_mp3.c:699,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_mp3.c:737,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mp3.c:704,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mp3.c:510,1
    - Dst: mp3_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mp3.c:524,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mp3.c:535,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mp3.c:691,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_mp3.c:700,1
    - Dst: mp3_dmx_update_cts
      Src: /src/gpac/src/filters/reframe_mp3.c:709,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:718,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mp3.c:750,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_mp3.c:754,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_mp3.c:550,1
    - Dst: gf_mp3_get_next_header_mem
      Src: /src/gpac/src/filters/reframe_mp3.c:633,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/filters/reframe_mp3.c:641,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:623,1
    - Dst: mp3_dmx_flush_id3
      Src: /src/gpac/src/filters/reframe_mp3.c:627,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:688,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mp3.c:734,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_mp3.c:757,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mp3.c:701,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 233
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 760
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 760
    functionName: mp3_dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - mp3_dmx_check_dur
    - gf_filter_pid_set_eos
    - gf_mp3_get_next_header_mem
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_mp3_frame_size
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - memmove
    - gf_filter_pck_set_duration
    - mp3_dmx_check_pid
    - mp3_dmx_flush_id3
    - gf_filter_pck_set_framing
    - memcpy
    - mp3_dmx_update_cts
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_mp3_window_size
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp3_dmx_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mp3.c:772,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mp3.c:775,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mp3.c:776,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mp3.c:774,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mp3.c:773,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mp3.c:777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: mp3_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mp3_dmx_finalize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mp3.c:87,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/reframe_mp3.c:104,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_mp3.c:92,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_mp3.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mp3.c:101,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mp3.c:109,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mp3.c:110,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mp3.c:112,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:114,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:114,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: mp3_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mp3_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_mp3.c:230,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mp3.c:236,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mp3.c:238,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_mp3.c:254,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/reframe_mp3.c:263,1
    - Dst: id3dmx_set_string
      Src: /src/gpac/src/filters/reframe_mp3.c:285,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:287,1
    - Dst: id3dmx_set_string
      Src: /src/gpac/src/filters/reframe_mp3.c:289,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mp3.c:295,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/reframe_mp3.c:308,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/reframe_mp3.c:332,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/reframe_mp3.c:335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:328,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mp3.c:239,1
    - Dst: gf_id3_read_size
      Src: /src/gpac/src/filters/reframe_mp3.c:240,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mp3.c:297,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/reframe_mp3.c:306,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:308,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mp3.c:318,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:325,1
    - Dst: id3dmx_set_string
      Src: /src/gpac/src/filters/reframe_mp3.c:333,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/reframe_mp3.c:339,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/reframe_mp3.c:335,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mp3.c:344,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mp3.c:237,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mp3.c:235,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mp3.c:234,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mp3.c:247,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mp3.c:268,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_mp3.c:273,1
    - Dst: gf_itags_find_by_id3tag
      Src: /src/gpac/src/filters/reframe_mp3.c:279,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mp3.c:282,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_mp3.c:314,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mp3.c:315,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_mp3.c:322,1
    - Dst: id3dmx_set_string
      Src: /src/gpac/src/filters/reframe_mp3.c:337,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:314,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:263,1
    - Dst: gf_id3_read_size
      Src: /src/gpac/src/filters/reframe_mp3.c:255,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_mp3.c:256,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_mp3.c:284,1
    - Dst: strncat
      Src: /src/gpac/src/filters/reframe_mp3.c:288,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/reframe_mp3.c:313,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_mp3.c:319,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_mp3.c:325,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/reframe_mp3.c:339,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mp3.c:345,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mp3.c:317,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 124
    argCount: 5
    argNames:
    - filter
    - id3_buf
    - id3_buf_size
    - audio_pid
    - video_pid_p
    argTypes:
    - GF_Filter*
    - u8*
    - u32
    - GF_FilterPid*
    - GF_FilterPid**
    constantsTouched: []
    func_position:
      end: 346
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 346
    functionName: id3dmx_flush
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - PROP_DATA
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_eos
    - gf_4cc_to_str
    - gf_bs_skip_bytes
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - id3dmx_set_string
    - gf_filter_pid_set_property_dyn
    - gf_error_to_string
    - gf_id3_read_size
    - gf_itags_get_name
    - strcpy
    - gf_bs_read_data
    - stricmp
    - gf_itags_find_by_id3tag
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - sprintf
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pid_raw_new
    - gf_filter_pid_set_name
    - gf_realloc
    - strncat
    - gf_bs_available
    - memchr
    linkageType: ''
    returnType: void
    signature: 'void id3dmx_flush(GF_Filter *filter, u8 *id3_buf, u32 id3_buf_size,
      GF_FilterPid *audio_pid, GF_FilterPid **video_pid_p) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:385,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:387,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/reframe_mp3.c:396,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:394,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:411,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:412,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:414,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:415,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:418,1
    - Dst: gf_mp3_bit_rate
      Src: /src/gpac/src/filters/reframe_mp3.c:418,1
    - Dst: gf_mp3_object_type_indication
      Src: /src/gpac/src/filters/reframe_mp3.c:362,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:392,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:389,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:413,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mp3.c:417,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:414,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/filters/reframe_mp3.c:374,1
    - Dst: mp3_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mp3.c:359,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/filters/reframe_mp3.c:363,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mp3.c:383,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:385,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_mp3.c:394,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/filters/reframe_mp3.c:398,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_mp3.c:405,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:411,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:412,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:415,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mp3.c:358,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/filters/reframe_mp3.c:374,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mp3.c:382,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:389,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mp3.c:392,1
    - Dst: gf_mp3_sampling_rate
      Src: /src/gpac/src/filters/reframe_mp3.c:400,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mp3.c:413,1
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/filters/reframe_mp3.c:415,1
    - Dst: mp3_dmx_flush_id3
      Src: /src/gpac/src/filters/reframe_mp3.c:422,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mp3.c:418,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_MP3DmxCtx*
    constantsTouched: []
    func_position:
      end: 424
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 424
    functionName: mp3_dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - mp3_dmx_flush_id3
    - gf_filter_pid_set_name
    - gf_mp3_num_channels
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_mp3_sampling_rate
    - gf_filter_pid_set_property
    - gf_mp3_bit_rate
    - gf_mp3_layer
    - mp3_dmx_check_dur
    - PROP_UINT
    - PROP_FRAC64
    - gf_timestamp_rescale
    - gf_mp3_window_size
    - gf_sys_is_test_mode
    - gf_mp3_object_type_indication
    linkageType: ''
    returnType: void
    signature: 'static void mp3_dmx_check_pid(GF_Filter *filter, GF_MP3DmxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mp3_window_size
      Src: /src/gpac/src/filters/reframe_mp3.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MP3DmxCtx*
    constantsTouched: []
    func_position:
      end: 506
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 506
    functionName: mp3_dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_mp3_window_size
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void mp3_dmx_update_cts(GF_MP3DmxCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mp3.c:764,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mp3.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: mp3_dmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mp3_dmx_initialize(GF_Filter *filter) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mp3.c:798,1
    - Dst: gf_mp3_num_channels
      Src: /src/gpac/src/filters/reframe_mp3.c:834,1
    - Dst: gf_mp3_get_next_header_mem
      Src: /src/gpac/src/filters/reframe_mp3.c:809,1
    - Dst: gf_mp3_frame_size
      Src: /src/gpac/src/filters/reframe_mp3.c:820,1
    - Dst: gf_mp3_version
      Src: /src/gpac/src/filters/reframe_mp3.c:814,1
    - Dst: gf_mp3_layer
      Src: /src/gpac/src/filters/reframe_mp3.c:843,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 874
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 874
    functionName: mp3_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached:
    - gf_mp3_version
    - gf_mp3_num_channels
    - gf_mp3_frame_size
    - GF_LOG
    - gf_mp3_get_next_header_mem
    - gf_mp3_layer
    linkageType: ''
    returnType: char*
    signature: 'static const char *mp3_dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: rfmp3_register
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmp3_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: rfmp3_register
    functionSourceFile: /src/gpac/src/filters/reframe_mp3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmp3_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:384,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:392,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:395,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:387,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:395,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - cstr
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: adobe_enc_configure
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - strlen
    - PROP_DATA
    - gf_crypt_close
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_crypt_open
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err adobe_enc_configure(GF_CENCEncCtx *ctx, GF_CENCStream
      *cstr) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:417,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:423,1
    - Dst: atoi
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:490,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:506,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:529,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:569,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:587,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:591,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:431,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:436,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:455,1
    - Dst: atoi
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:468,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:483,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:551,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:520,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:546,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:594,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:609,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:476,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:577,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:505,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:543,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:411,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:419,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:427,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:464,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:595,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:473,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:518,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:534,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:566,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:570,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:583,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:448,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:465,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:558,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:572,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:585,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:499,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:576,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:463,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:449,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:489,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:568,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:607,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:424,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:578,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:582,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:507,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:501,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:447,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:560,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:606,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:482,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:521,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:528,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:608,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:613,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:510,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:555,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:559,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:414,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:485,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:596,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:601,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:610,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:478,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:545,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:590,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:412,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:451,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:469,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:611,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:509,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:512,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:520,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:597,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:611,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:563,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:495,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:516,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:547,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:526,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:428,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:429,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:471,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:475,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 215
    argCount: 3
    argNames:
    - ctx
    - cstr
    - cfile_name
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - char*
    constantsTouched: []
    func_position:
      end: 616
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 616
    functionName: cenc_parse_pssh
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_get_content
    - gf_crypt_close
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - gf_crypt_open
    - gf_xml_dom_node_del
    - gf_crypt_encrypt
    - gf_list_pop_back
    - gf_xml_dom_del
    - gf_bs_del
    - gf_xml_dom_new
    - gf_list_del
    - gf_list_count
    - strcmp
    - atoi
    - gf_list_new
    - gf_bs_read_data
    - gf_bs_read_u32
    - gf_xml_dom_parse
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_crypt_init
    - gf_bs_write_u32
    - gf_free
    - gf_bs_available
    - gf_bin128_parse
    - gf_list_rem
    - gf_xml_parse_bit_sequence
    - gf_xml_dom_get_root
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_parse_pssh(GF_CENCEncCtx *ctx, GF_CENCStream *cstr,
      const char *cfile_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2769,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2779
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2779
    functionName: cecrypt_register
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - cenc_gen_bin128
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cecrypt_register(GF_FilterSession *session) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1635,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1649,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1667,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1648,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1638,1
    - Dst: gf_vvc_parse_nalu_bs
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1677,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1685,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1686,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1690,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 5
    argNames:
    - cstr
    - plaintext_bs
    - samp_data
    - nal_size
    - bytes_in_nalhr
    argTypes:
    - GF_CENCStream*
    - GF_BitStream*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1692
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1692
    functionName: cenc_get_clear_bytes
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_seek
    - gf_avc_parse_nalu
    - gf_bs_align
    - gf_vvc_parse_nalu_bs
    - gf_hevc_parse_nalu_bs
    linkageType: ''
    returnType: u32
    signature: 'static u32 cenc_get_clear_bytes(GF_CENCStream *cstr, GF_BitStream
      *plaintext_bs, char *samp_data, u32 nal_size, u32 bytes_in_nalhr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1093,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1098,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1096,1
    - Dst: cenc_pid_reset_codec_states
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1099,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1095,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1101,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1102,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1103,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - cstr
    argTypes:
    - GF_CENCStream*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1108
    functionName: cenc_free_pid_context
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - cenc_pid_reset_codec_states
    - gf_list_del
    - gf_list_count
    - gf_crypt_close
    - gf_crypt_info_del
    - gf_xml_dom_node_del
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cenc_free_pid_context(GF_CENCStream *cstr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2703,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2704,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2705,1
    - Dst: cenc_free_pid_context
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2708,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2706,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2710,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2711,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2712,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2716
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2716
    functionName: cenc_enc_finalize
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - fprintf
    - cenc_free_pid_context
    - gf_crypt_info_del
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void cenc_enc_finalize(GF_Filter *filter) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:243,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:252,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:257,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:265,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:269,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:296,1
    - Dst: strcat
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:280,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:237,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:241,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:243,1
    - Dst: strcat
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:289,1
    - Dst: gf_isom_update_sample
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:364,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:370,1
    - Dst: gf_odf_codec_add_com
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:356,1
    - Dst: gf_ipmpx_data_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:335,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:361,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:365,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:289,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:247,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:290,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:354,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:179,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:235,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:247,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:282,1
    - Dst: gf_odf_com_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:322,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:165,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:190,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:249,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:290,1
    - Dst: gf_isom_get_sample
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:352,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:284,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:368,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:374,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:349,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:210,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:276,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:287,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:282,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:363,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:279,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:157,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:266,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:183,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:345,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:355,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:194,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:266,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:264,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:340,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:369,1
    - Dst: gf_isom_add_desc_to_root_od
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:373,1
    - Dst: gf_isom_add_desc_to_description
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:319,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:347,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:177,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:232,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:357,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:227,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:264,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:291,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:158,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:253,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:277,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:263,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:287,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:311,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:171,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:233,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:234,1
    - Dst: gf_base64_encode
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:254,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:265,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:278,1
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:353,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:360,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:291,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:167,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:214,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:263,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 225
    argCount: 5
    argNames:
    - ctx
    - cstr
    - is_isma
    - scheme_uri
    - kms_uri
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - Bool
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 380
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 380
    functionName: isma_enc_configure
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - gf_odf_codec_del
    - gf_isom_add_desc_to_root_od
    - gf_crypt_close
    - GF_LOG
    - PROP_BOOL
    - gf_crypt_open
    - PROP_STRING_NO_COPY
    - gf_odf_avc_cfg_read
    - gf_odf_desc_del
    - gf_isom_get_media_type
    - gf_odf_codec_get_au
    - gf_odf_hevc_cfg_read
    - gf_error_to_string
    - PROP_STRING
    - gf_odf_avc_cfg_del
    - gf_odf_desc_new
    - gf_rand_init
    - PROP_UINT
    - gf_isom_get_track_count
    - strcpy
    - gf_filter_pid_get_name
    - stricmp
    - gf_odf_codec_add_com
    - PROP_LONGUINT
    - gf_isom_add_desc_to_description
    - gf_odf_codec_encode
    - sprintf
    - gf_filter_pid_set_property
    - gf_crypt_init
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - memcpy
    - gf_odf_com_new
    - gf_free
    - gf_isom_sample_del
    - strcat
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_odf_codec_decode
    - gf_odf_hevc_cfg_del
    - gf_isom_update_sample
    - gf_isom_get_sample
    - gf_odf_vvc_cfg_read
    - gf_base64_encode
    - gf_odf_vvc_cfg_del
    - gf_ipmpx_data_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isma_enc_configure(GF_CENCEncCtx *ctx, GF_CENCStream
      *cstr, Bool is_isma, const char *scheme_uri, const char *kms_uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1115,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1122,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1117,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - bin128
    constantsTouched: []
    func_position:
      end: 1124
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1124
    functionName: cenc_gen_bin128
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_rand
    linkageType: ''
    returnType: void
    signature: 'void cenc_gen_bin128(bin128 data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2647,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2656,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2654,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2653,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2648,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2657,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2664,1
    - Dst: isma_process
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2667,1
    - Dst: adobe_process
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2669,1
    - Dst: cenc_process
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2671,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2673,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2681
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2681
    functionName: cenc_enc_process
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_forward
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - isma_process
    - adobe_process
    - cenc_process
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_enc_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2691,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2689,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2698
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2698
    functionName: cenc_enc_initialize
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_crypt_info_load
    - gf_filter_get_udta
    - gf_list_new
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_enc_initialize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:622,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:635,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:627,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:631,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:623,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:639,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:643,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - cstr
    argTypes:
    - GF_CENCStream*
    constantsTouched: []
    func_position:
      end: 651
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 651
    functionName: cenc_pid_reset_codec_states
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_odf_vp_cfg_del
    - gf_odf_av1_cfg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void cenc_pid_reset_codec_states(GF_CENCStream *cstr) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1136,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1164,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1186,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1213,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1220,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1226,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1245,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1288,1
    - Dst: cenc_enc_configure
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1283,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1272,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1280,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1212,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1164,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1257,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1280,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1293,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1299,1
    - Dst: isma_enc_configure
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1334,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1314,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1321,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1147,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1143,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1154,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1194,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1175,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1192,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1212,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1223,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1283,1
    - Dst: adobe_enc_configure
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1336,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1256,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1288,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1314,1
    - Dst: cenc_free_pid_context
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1149,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1145,1
    - Dst: gf_crypt_info_load
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1162,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1178,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1218,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1225,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1228,1
    - Dst: gf_crypt_info_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1231,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1244,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1258,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1323,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1265,1
    - Dst: cenc_enc_configure
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1343,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1269,1
    - Dst: isma_enc_configure
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1332,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1263,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 177
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1352
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1352
    functionName: cenc_enc_configure_pid
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - strlen
    - gf_malloc
    - memset
    - gf_filter_pid_set_udta
    - GF_LOG
    - cenc_enc_configure
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_filter_pid_remove
    - cenc_gen_bin128
    - gf_filter_get_udta
    - isma_enc_configure
    - adobe_enc_configure
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_crypt_info_del
    - gf_rand_init
    - PROP_UINT
    - PROP_4CC
    - gf_crypt_info_load
    - gf_filter_pid_get_name
    - stricmp
    - gf_list_del_item
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_stream_type_name
    - gf_realloc
    - gf_filter_pid_get_property
    - cenc_free_pid_context
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_enc_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - x
    - x_size
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1586
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1586
    functionName: increase_counter
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void increase_counter(char *x, int x_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_get_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1593,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1615,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1622,1
    - Dst: increase_counter
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1618,1
    - Dst: increase_counter
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1612,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1624,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - mc
    - IV
    - IV_size
    argTypes:
    - GF_Crypt*
    - char
    - u8
    constantsTouched: []
    func_position:
      end: 1626
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1626
    functionName: cenc_resync_IV
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - memset
    - increase_counter
    - memcpy
    - gf_crypt_get_IV
    - gf_crypt_set_IV
    linkageType: ''
    returnType: void
    signature: 'static void cenc_resync_IV(GF_Crypt *mc, char IV[16], u8 IV_size) '
  - BBCount: 125
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1739,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1869,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1872,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1902,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2140,1
    - Dst: cenc_resync_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2215,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2306,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2323,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2373,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2267,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2297,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2410,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2432,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2127,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2091,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1807,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1859,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2225,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2230,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2264,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2279,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2332,1
    - Dst: strcat
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2393,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2360,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2421,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2054,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2122,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1883,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2125,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1747,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1767,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1885,1
    - Dst: strstr
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1956,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2235,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2242,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2088,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2159,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1872,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2412,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2316,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2325,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2406,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2407,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2427,1
    - Dst: gf_crypt_get_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1729,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2209,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2224,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2328,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2382,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2222,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2335,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1753,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1765,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1834,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1882,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1955,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2027,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2378,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2387,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2426,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2409,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1906,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2046,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1801,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1879,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1881,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2171,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2195,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2032,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2039,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1930,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2400,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2277,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2167,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1757,1
    - Dst: gf_vp9_parse_superframe
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1860,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2275,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2428,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1876,1
    - Dst: strlen
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1958,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2035,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2255,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2263,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2351,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2381,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2392,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2402,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2199,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2092,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2294,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2257,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2302,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2347,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2352,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2413,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2423,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2126,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1883,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1793,1
    - Dst: gf_vp9_parse_sample
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1870,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2232,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2271,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2326,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2384,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2386,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2428,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2402,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1907,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2074,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2185,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1804,1
    - Dst: gf_av1_parse_obu
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1802,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1763,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1758,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1838,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2210,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2244,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2422,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2420,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2228,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2350,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1855,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1931,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2093,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2208,1
    - Dst: strcat
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2303,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2324,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2405,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1745,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1748,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1862,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1888,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2258,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2266,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2342,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1905,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2192,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1741,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1750,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1839,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2205,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2223,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2245,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2247,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2249,1
    - Dst: gf_bin128_parse
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2377,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2259,1
    - Dst: cenc_get_clear_bytes
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1797,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1931,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1966,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2230,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2292,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2320,1
    - Dst: atoi
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2336,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2349,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2354,1
    CyclomaticComplexity: 191
    EdgeCount: 191
    ICount: 594
    argCount: 3
    argNames:
    - ctx
    - cstr
    - pck
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2434
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 2434
    functionName: cenc_encrypt_packet
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_vp9_parse_superframe
    - strlen
    - gf_bs_get_content
    - gf_malloc
    - gf_bs_write_data
    - gf_crypt_close
    - GF_LOG
    - gf_bs_seek
    - gf_crypt_open
    - cenc_resync_IV
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - strstr
    - gf_rand
    - gf_filter_pck_new_clone
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_error_to_string
    - strcmp
    - atoi
    - stricmp
    - gf_bs_write_int
    - gf_assert
    - gf_crypt_set_IV
    - gf_filter_pck_get_dts
    - gf_av1_parse_obu
    - gf_filter_pck_set_property
    - gf_bs_get_position
    - gf_bs_write_u16
    - cenc_get_clear_bytes
    - gf_list_enum
    - gf_filter_pck_new_copy
    - gf_bs_new
    - gf_bs_read_int
    - sprintf
    - gf_crypt_init
    - gf_filter_pck_discard
    - gf_bs_write_u32
    - memcpy
    - gf_filter_pck_expand
    - gf_free
    - gf_filter_pck_send
    - gf_media_nalu_emulation_bytes_add_count
    - strcat
    - PROP_DATA_NO_COPY
    - gf_filter_pid_get_property
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_available
    - gf_vp9_parse_sample
    - gf_bin128_parse
    - gf_xml_parse_bit_sequence
    - gf_crypt_encrypt
    - gf_crypt_get_IV
    - gf_filter_pck_set_crypt_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_encrypt_packet(GF_CENCEncCtx *ctx, GF_CENCStream
      *cstr, GF_FilterPacket *pck) '
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:950,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:902,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:980,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:930,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1071,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1078,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:785,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:781,1
    - Dst: gf_hevc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:814,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:834,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:854,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:717,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:866,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1038,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:663,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:667,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:717,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:826,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1054,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:741,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:884,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:965,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1009,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1073,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:787,1
    - Dst: gf_hevc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:871,1
    - Dst: gf_vvc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:859,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1067,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:731,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:769,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:782,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:911,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:996,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1081,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1057,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:790,1
    - Dst: gf_hevc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:815,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1061,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:998,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1044,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:948,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1067,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:664,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:793,1
    - Dst: gf_vvc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:858,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1052,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1063,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1081,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1017,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1055,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:892,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1019,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1043,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:989,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1032,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:735,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:745,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:802,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1063,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:727,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:739,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:766,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:747,1
    - Dst: gf_odf_vp_cfg_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:844,1
    - Dst: gf_vvc_parse_ps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:860,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:905,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1032,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1031,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1053,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1039,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:809,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1036,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1021,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:892,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:957,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1004,1
    - Dst: cenc_parse_pssh
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1085,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1031,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:783,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:821,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1001,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1062,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1071,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1078,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1058,1
    - Dst: cenc_pid_reset_codec_states
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:722,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1047,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1046,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 325
    argCount: 3
    argNames:
    - ctx
    - cstr
    - cfile_name
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - char*
    constantsTouched: []
    func_position:
      end: 1086
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 1086
    functionName: cenc_enc_configure
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_crypt_close
    - gf_bs_write_data
    - GF_LOG
    - PROP_BOOL
    - gf_crypt_open
    - gf_odf_avc_cfg_read
    - PROP_FRAC_INT
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_odf_vp_cfg_new
    - gf_avc_read_pps
    - gf_bs_del
    - gf_crc_32
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - cenc_parse_pssh
    - PROP_STRING
    - gf_odf_avc_cfg_del
    - gf_rand_init
    - PROP_UINT
    - PROP_4CC
    - gf_list_get
    - cenc_pid_reset_codec_states
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_vvc_parse_ps
    - gf_avc_read_sps
    - gf_crypt_init
    - gf_codecid_name
    - memcpy
    - gf_bs_write_u8
    - gf_props_parse_value
    - gf_filter_pid_get_property
    - gf_odf_av1_cfg_read
    - gf_odf_hevc_cfg_del
    - gf_hevc_parse_ps
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_enc_configure(GF_CENCEncCtx *ctx, GF_CENCStream
      *cstr, const char *cfile_name) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1362,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1413,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1363,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1422,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1453,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1477,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1478,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1481,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1384,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1377,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1415,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1430,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1450,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1460,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1474,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1488,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1451,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1454,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1473,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1418,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1421,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1452,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1464,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1455,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 112
    argCount: 3
    argNames:
    - ctx
    - cstr
    - pck
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1490
    functionName: isma_process
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_write_long_int
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - gf_rand
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - gf_bs_del
    - GF_4CC
    - gf_bs_write_int
    - gf_crypt_set_IV
    - gf_crypt_decrypt
    - gf_bs_write_u64
    - gf_bs_new
    - memcpy
    - gf_bs_write_u8
    - gf_filter_pck_send
    - gf_filter_pck_merge_properties
    - gf_crypt_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isma_process(GF_CENCEncCtx *ctx, GF_CENCStream *cstr,
      GF_FilterPacket *pck) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2486,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2524,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2509,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2555,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2628,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2631,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2607,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2621,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2637,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2446,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2452,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2489,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2505,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2506,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2520,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2527,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2547,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2575,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2602,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2607,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2631,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2573,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2448,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2502,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2507,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2515,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2518,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2524,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2539,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2542,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2557,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2637,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2513,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2526,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2521,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2557,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2598,1
    - Dst: cenc_gen_bin128
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2599,1
    - Dst: gf_crypt_set_key
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2605,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2624,1
    - Dst: cenc_encrypt_packet
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2635,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2637,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:2583,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 176
    argCount: 3
    argNames:
    - ctx
    - cstr
    - pck
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2643
    functionName: cenc_process
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - memset
    - PROP_DATA
    - gf_bs_write_data
    - GF_LOG
    - gf_filter_pck_get_sap
    - cenc_gen_bin128
    - gf_filter_pck_get_data
    - gf_bs_del
    - gf_error_to_string
    - PROP_STRING
    - gf_filter_pid_get_name
    - gf_filter_pck_set_property
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_crypt_init
    - gf_crypt_set_key
    - cenc_encrypt_packet
    - gf_bs_write_u32
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_get_property
    - PROP_DATA_NO_COPY
    - gf_filter_pck_merge_properties
    - gf_filter_pck_set_crypt_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cenc_process(GF_CENCEncCtx *ctx, GF_CENCStream *cstr,
      GF_FilterPacket *pck) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1502,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1518,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1520,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1529,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1531,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1532,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1537,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1538,1
    - Dst: gf_crypt_get_IV
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1542,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1546,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1554,1
    - Dst: memset
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1551,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1560,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1566,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1547,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/encrypt_cenc_isma.c:1546,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - cstr
    - pck
    argTypes:
    - GF_CENCEncCtx*
    - GF_CENCStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1568
    functionName: adobe_process
    functionSourceFile: /src/gpac/src/filters/encrypt_cenc_isma.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - memset
    - gf_error_to_string
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_crypt_init
    - gf_filter_pck_discard
    - memcpy
    - gf_filter_pck_get_sap
    - gf_filter_pck_send
    - gf_crypt_encrypt
    - gf_crypt_get_IV
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err adobe_process(GF_CENCEncCtx *ctx, GF_CENCStream *cstr,
      GF_FilterPacket *pck) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:127,1
    - Dst: strchr
      Src: /src/gpac/src/filters/unit_test_filter.c:139,1
    - Dst: strchr
      Src: /src/gpac/src/filters/unit_test_filter.c:133,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/filters/unit_test_filter.c:146,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/unit_test_filter.c:131,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unit_test_filter.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - filter
    - nb_pck
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: ut_filter_send_update
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_strdup
    - gf_filter_send_update
    - strchr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ut_filter_send_update(GF_Filter *filter, u32 nb_pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:83,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:89,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/unit_test_filter.c:88,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pck
    - nb_pck
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: dump_properties
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - GF_4CC
    - gf_filter_pck_enum_properties
    - gf_filter_pck_get_property_str
    - gf_filter_pck_get_property
    linkageType: ''
    returnType: void
    signature: 'void dump_properties(GF_FilterPacket *pck, u32 nb_pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: ut_source_pck_del
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ut_source_pck_del(GF_Filter *filter, GF_FilterPid *pid,
      GF_FilterPacket *pck) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:323,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:348,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/unit_test_filter.c:362,1
    - Dst: ut_filter_send_update
      Src: /src/gpac/src/filters/unit_test_filter.c:383,1
    - Dst: PROP_FLOAT
      Src: /src/gpac/src/filters/unit_test_filter.c:327,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:274,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:317,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:323,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:340,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:329,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/unit_test_filter.c:369,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/unit_test_filter.c:374,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/unit_test_filter.c:405,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:331,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:335,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:344,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:341,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:359,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:396,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/unit_test_filter.c:329,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/unit_test_filter.c:323,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:326,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:331,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/unit_test_filter.c:372,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/unit_test_filter.c:378,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/unit_test_filter.c:313,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:324,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:330,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:334,1
    - Dst: PROP_CONST_DATA
      Src: /src/gpac/src/filters/unit_test_filter.c:338,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:337,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:335,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/unit_test_filter.c:371,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/unit_test_filter.c:337,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:324,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:340,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:350,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/unit_test_filter.c:354,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/unit_test_filter.c:328,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/unit_test_filter.c:400,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:338,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/unit_test_filter.c:277,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/unit_test_filter.c:304,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:327,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/unit_test_filter.c:334,1
    - Dst: memset
      Src: /src/gpac/src/filters/unit_test_filter.c:342,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/unit_test_filter.c:362,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/unit_test_filter.c:365,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:338,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:355,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:337,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:346,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:327,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:279,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:324,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/unit_test_filter.c:340,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/unit_test_filter.c:366,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:374,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:325,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:334,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:341,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:348,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/unit_test_filter.c:367,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/filters/unit_test_filter.c:388,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/unit_test_filter.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:293,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:317,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:325,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/unit_test_filter.c:370,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:328,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:359,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:344,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:396,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/filters/unit_test_filter.c:306,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/filters/unit_test_filter.c:309,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/unit_test_filter.c:325,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:328,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/unit_test_filter.c:377,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/unit_test_filter.c:284,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:311,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:326,1
    - Dst: PROP_CONST_DATA
      Src: /src/gpac/src/filters/unit_test_filter.c:335,1
    - Dst: gf_filter_pck_set_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:361,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/unit_test_filter.c:402,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/unit_test_filter.c:305,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/unit_test_filter.c:308,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:322,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/unit_test_filter.c:331,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:350,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/unit_test_filter.c:341,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:329,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/unit_test_filter.c:361,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/unit_test_filter.c:373,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/unit_test_filter.c:379,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/unit_test_filter.c:353,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:346,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:355,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:330,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/unit_test_filter.c:301,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/unit_test_filter.c:322,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/unit_test_filter.c:326,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 160
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 410
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 410
    functionName: ut_filter_process_source
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_ref
    - PROP_DATA
    - GF_LOG
    - PROP_BOOL
    - PROP_FRAC_INT
    - gf_filter_pck_set_interlaced
    - gf_filter_pid_remove
    - PROP_FRAC64_INT
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - GF_4CC
    - gf_filter_pck_set_sap
    - gf_list_count
    - PROP_POINTER
    - PROP_STRING
    - gf_strdup
    - ut_filter_send_update
    - gf_filter_pck_new_frame_interface
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - PROP_UINT
    - PROP_CONST_DATA
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_filter_pck_set_carousel_version
    - PROP_LONGUINT
    - gf_filter_pck_set_property_dyn
    - PROP_DOUBLE
    - gf_sha1_finish
    - gf_filter_pid_set_property
    - memcpy
    - gf_filter_pck_set_roll_info
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_new_shared
    - PROP_FLOAT
    - gf_filter_pck_set_dts
    - gf_sha1_update
    - gf_filter_pck_set_property_str
    - PROP_LONGSINT
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_process_source(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:466,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:476,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/unit_test_filter.c:504,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/unit_test_filter.c:510,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/unit_test_filter.c:513,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:519,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/unit_test_filter.c:522,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/unit_test_filter.c:530,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:538,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:539,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:541,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:497,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:499,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:520,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/unit_test_filter.c:524,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:546,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/filters/unit_test_filter.c:556,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:544,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/unit_test_filter.c:474,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:480,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:501,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:505,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:497,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/unit_test_filter.c:514,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/unit_test_filter.c:523,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:533,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:536,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/unit_test_filter.c:555,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:544,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/filters/unit_test_filter.c:550,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:547,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/unit_test_filter.c:480,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:469,1
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:487,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:488,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:495,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:501,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:504,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:520,1
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:521,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:525,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/unit_test_filter.c:557,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/unit_test_filter.c:558,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:540,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/unit_test_filter.c:549,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 562
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 562
    functionName: ut_filter_config_input
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_get_name
    - GF_4CC
    - gf_list_count
    - gf_filter_pid_copy_properties
    - strcmp
    - gf_filter_pid_get_packet
    - gf_filter_pid_get_property_str
    - gf_log_set_strict_error
    - gf_assert
    - gf_list_get
    - gf_filter_pid_set_property
    - gf_filter_pid_reset_properties
    - gf_filter_pck_new_shared
    - gf_filter_pck_new_ref
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_sha1_starts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_config_input(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: ut_filter_update_arg
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 982
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 982
    functionName: ut_source_register
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ut_source_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:70,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:73,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:73,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/unit_test_filter.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: test_pck_del
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_pid_get_udta
    - GF_LOG
    - gf_filter_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_pck_del(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:110,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:112,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:112,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:97,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:106,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:106,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:108,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/unit_test_filter.c:122,1
    - Dst: gf_sha1_finish
      Src: /src/gpac/src/filters/unit_test_filter.c:103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:101,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/unit_test_filter.c:108,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:113,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/unit_test_filter.c:99,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:114,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unit_test_filter.c:120,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:116,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: ut_filter_finalize
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_filter_get_name
    - GF_4CC
    - memcmp
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_list_del
    - GF_LOG
    - gf_sha1_finish
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ut_filter_finalize(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:168,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/unit_test_filter.c:160,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:180,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/unit_test_filter.c:226,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/unit_test_filter.c:210,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/unit_test_filter.c:238,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:246,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:162,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/unit_test_filter.c:233,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/unit_test_filter.c:208,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:158,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/unit_test_filter.c:182,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:182,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/unit_test_filter.c:203,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/unit_test_filter.c:218,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unit_test_filter.c:184,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:163,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:179,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/unit_test_filter.c:181,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/filters/unit_test_filter.c:185,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/unit_test_filter.c:216,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:237,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 252
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 252
    functionName: ut_filter_process_filter
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_get
    - gf_filter_pid_get_packet
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_get_udta
    - gf_sha1_update
    - gf_filter_pck_new_shared
    - gf_filter_pck_set_framing
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - memcpy
    - gf_filter_pck_get_framing
    - gf_filter_pck_send
    - gf_assert
    - gf_filter_pck_get_data
    - gf_filter_pck_new_ref
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_process_filter(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/unit_test_filter.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - struct _gf_filter_frame_interface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: ut_source_ifce_get_plane
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_source_ifce_get_plane(struct _gf_filter_frame_interface
      *frame, u32 plane_idx, const u8 **outPlane, u32 *outStride) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:417,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:425,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/unit_test_filter.c:423,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/unit_test_filter.c:427,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/unit_test_filter.c:419,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unit_test_filter.c:431,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:435,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/unit_test_filter.c:436,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:437,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:437,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:438,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/unit_test_filter.c:439,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:446,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:440,1
    - Dst: dump_properties
      Src: /src/gpac/src/filters/unit_test_filter.c:448,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/unit_test_filter.c:450,1
    - Dst: gf_sha1_update
      Src: /src/gpac/src/filters/unit_test_filter.c:443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 457
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 457
    functionName: ut_filter_process_sink
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_filter_pid_is_eos
    - GF_4CC
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_sha1_update
    - gf_filter_pck_merge_properties
    - gf_filter_pck_set_framing
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_log_set_strict_error
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - dump_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_process_sink(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:570,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/unit_test_filter.c:576,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/unit_test_filter.c:577,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:598,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:578,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:583,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:583,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:586,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:600,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/unit_test_filter.c:591,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:599,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/unit_test_filter.c:601,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:602,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:603,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/unit_test_filter.c:574,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/unit_test_filter.c:587,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:590,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:598,1
    - Dst: gf_sha1_starts
      Src: /src/gpac/src/filters/unit_test_filter.c:595,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:592,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:599,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:600,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:601,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:602,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:603,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/unit_test_filter.c:604,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/unit_test_filter.c:605,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/unit_test_filter.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 610
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 610
    functionName: ut_filter_config_source
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - GF_4CC
    - gf_filter_pid_set_property_dyn
    - gf_log_set_strict_error
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - PROP_FRAC_INT
    - gf_sha1_starts
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - PROP_UINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ut_filter_config_source(GF_Filter *filter) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:693,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:781,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/unit_test_filter.c:827,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:798,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:723,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:735,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:641,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:691,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:707,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:715,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:807,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:842,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:745,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:709,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:759,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/unit_test_filter.c:623,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:651,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:717,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:780,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:790,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:792,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:653,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:789,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:791,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/unit_test_filter.c:816,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/unit_test_filter.c:829,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:655,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:697,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:783,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:804,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/unit_test_filter.c:824,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:645,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:695,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:711,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:739,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:727,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/unit_test_filter.c:750,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:775,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:803,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/unit_test_filter.c:814,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filters/unit_test_filter.c:817,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:842,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:639,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:667,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:669,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:674,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/unit_test_filter.c:765,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:782,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:806,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:808,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/unit_test_filter.c:844,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:846,1
    - Dst: ut_filter_config_source
      Src: /src/gpac/src/filters/unit_test_filter.c:849,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:752,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:657,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:751,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:805,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/unit_test_filter.c:621,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:631,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:659,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unit_test_filter.c:719,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:771,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:725,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:737,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unit_test_filter.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:649,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:753,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:743,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:757,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:786,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:797,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/unit_test_filter.c:846,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:643,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/unit_test_filter.c:673,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:774,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:776,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:802,1
    - Dst: memset
      Src: /src/gpac/src/filters/unit_test_filter.c:810,1
    - Dst: gf_log_set_strict_error
      Src: /src/gpac/src/filters/unit_test_filter.c:839,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:731,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/unit_test_filter.c:716,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:676,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:799,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:801,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:635,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:663,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:678,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:689,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:713,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:733,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:779,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:794,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:784,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:800,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:637,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:687,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:747,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:768,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:788,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:793,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:701,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:721,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:741,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:647,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:729,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:773,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:778,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:785,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:796,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:777,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/unit_test_filter.c:836,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:755,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:665,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/unit_test_filter.c:668,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/unit_test_filter.c:680,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/unit_test_filter.c:682,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:699,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:787,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/unit_test_filter.c:795,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 287
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 852
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 852
    functionName: utfilter_initialize
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ut_filter_config_source
    - memset
    - gf_filter_get_name
    - GF_4CC
    - gf_props_parse_value
    - memcmp
    - gf_props_dump_val
    - GF_LOG
    - sprintf
    - strcmp
    - gf_log_set_strict_error
    - gf_props_get_type_name
    - gf_props_equal
    - gf_filter_set_max_extra_input_pids
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err utfilter_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: ut_filter_register
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ut_filter_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: ut_sink_register
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ut_sink_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: ut_sink2_register
    functionSourceFile: /src/gpac/src/filters/unit_test_filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ut_sink2_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_saf.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - saf
    - stream_id
    argTypes:
    - GF_SAFDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: saf_get_channel
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE GF_SAFStream *saf_get_channel(GF_SAFDmxCtx *saf, u32
      stream_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_saf.c:314,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_saf.c:322,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_saf.c:326,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_saf.c:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: safdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_check_caps
    - gf_list_enum
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err safdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_saf.c:391,1
    - Dst: safdmx_check_dur
      Src: /src/gpac/src/filters/dmx_saf.c:399,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_saf.c:403,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_saf.c:410,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_saf.c:404,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_saf.c:415,1
    - Dst: safdmx_demux
      Src: /src/gpac/src/filters/dmx_saf.c:416,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_saf.c:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: safdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - safdmx_demux
    - gf_list_enum
    - gf_filter_pid_get_packet
    - safdmx_check_dur
    - gf_filter_pid_drop_packet
    - gf_filter_pid_would_block
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err safdmx_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_saf.c:430,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/dmx_saf.c:433,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/filters/dmx_saf.c:434,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_saf.c:432,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_saf.c:435,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_saf.c:437,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_saf.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 439
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 439
    functionName: safdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_rem_last
    - gf_list_last
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void safdmx_finalize(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:269,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_saf.c:294,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_saf.c:304,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_saf.c:305,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_saf.c:264,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_saf.c:296,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_saf.c:278,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:305,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_saf.c:240,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_saf.c:244,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_saf.c:252,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/dmx_saf.c:258,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_saf.c:265,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:267,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:268,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:270,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_saf.c:279,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_saf.c:297,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/dmx_saf.c:257,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_saf.c:243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:266,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_saf.c:281,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_saf.c:298,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_SAFDmxCtx*
    constantsTouched: []
    func_position:
      end: 308
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 308
    functionName: safdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_from_file
    - gf_bs_del
    - strncmp
    - gf_bs_read_u24
    - gf_filter_pid_get_property
    - gf_realloc
    - gf_list_enum
    - gf_bs_read_int
    - gf_filter_pid_set_property
    - gf_bs_available
    - PROP_FRAC64
    - gf_bs_get_size
    - gf_fclose
    - gf_bs_skip_bytes
    - gf_fopen
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void safdmx_check_dur(GF_SAFDmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_saf.c:336,1
    - Dst: safdmx_check_dur
      Src: /src/gpac/src/filters/dmx_saf.c:346,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_saf.c:366,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_saf.c:369,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 387
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 387
    functionName: safdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    - safdmx_check_dur
    linkageType: ''
    returnType: Bool
    signature: 'static Bool safdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_saf.c:103,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_saf.c:96,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:118,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_saf.c:133,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_saf.c:143,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:146,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:148,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:150,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:152,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:169,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_saf.c:183,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_saf.c:184,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_saf.c:176,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:174,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_saf.c:166,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:111,1
    - Dst: saf_get_channel
      Src: /src/gpac/src/filters/dmx_saf.c:121,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_saf.c:127,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:139,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:140,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:141,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_saf.c:145,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:153,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_saf.c:164,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_saf.c:165,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_saf.c:172,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:150,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_saf.c:207,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_saf.c:186,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_saf.c:200,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_saf.c:160,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_saf.c:102,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_saf.c:90,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:108,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:109,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:117,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_saf.c:130,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_saf.c:131,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_saf.c:138,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:143,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:146,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_saf.c:159,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_saf.c:173,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_saf.c:197,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_saf.c:203,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_saf.c:208,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/dmx_saf.c:169,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_saf.c:195,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_saf.c:214,1
    - Dst: gf_bs_read_u24
      Src: /src/gpac/src/filters/dmx_saf.c:149,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dmx_saf.c:217,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_saf.c:86,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:107,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_saf.c:110,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_saf.c:115,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_saf.c:134,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:139,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_saf.c:140,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:141,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_saf.c:147,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:153,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_saf.c:174,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_saf.c:190,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_saf.c:192,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_saf.c:156,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_saf.c:152,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_saf.c:148,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 145
    argCount: 4
    argNames:
    - filter
    - ctx
    - data
    - data_size
    argTypes:
    - GF_Filter*
    - GF_SAFDmxCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 220
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 220
    functionName: safdmx_demux
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - gf_list_add
    - gf_bs_read_u24
    - GF_LOG
    - PROP_BOOL
    - PROP_FRAC64
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_bs_skip_bytes
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_filter_pck_set_sap
    - saf_get_channel
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_bs_read_data
    - gf_assert
    - memmove
    - gf_bs_read_u16
    - gf_list_get
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pid_set_property
    - PROP_NAME
    - memcpy
    - gf_filter_pck_send
    - gf_realloc
    - gf_bs_available
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void safdmx_demux(GF_Filter *filter, GF_SAFDmxCtx *ctx, char
      *data, u32 data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_saf.c:423,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_saf.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: safdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err safdmx_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: safdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *safdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: safdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *safdmx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: safdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_saf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *safdmx_register(GF_FilterSession *session) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:221,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_audio.c:242,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_audio.c:251,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_audio.c:270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:276,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_audio.c:279,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/out_audio.c:284,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_audio.c:299,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_audio.c:330,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_audio.c:337,1
    - Dst: gf_filter_hint_single_clock
      Src: /src/gpac/src/filters/out_audio.c:382,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_audio.c:354,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_audio.c:391,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/out_audio.c:393,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:223,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_audio.c:224,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:225,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_audio.c:259,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/out_audio.c:256,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_audio.c:275,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:286,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_audio.c:302,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_audio.c:366,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_audio.c:382,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/out_audio.c:397,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/out_audio.c:353,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_audio.c:401,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_audio.c:208,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_audio.c:220,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_audio.c:261,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:270,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/out_audio.c:256,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_audio.c:285,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_audio.c:301,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_audio.c:318,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:379,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/filters/out_audio.c:396,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/src/filters/out_audio.c:340,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:343,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_audio.c:413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:383,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:244,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_audio.c:248,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_audio.c:257,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_audio.c:265,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/out_audio.c:277,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:305,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:316,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:341,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/out_audio.c:395,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_audio.c:320,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/out_audio.c:322,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_audio.c:357,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_audio.c:383,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_audio.c:396,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 221
    argCount: 3
    argNames:
    - ptr
    - buffer
    - buffer_size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 416
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 416
    functionName: aout_fill_output
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_update_status
    - gf_filter_pid_get_clock_info
    - gf_filter_pck_get_data
    - gf_filter_pid_get_packet
    - gf_audio_fmt_name
    - gf_filter_reporting_enabled
    - sprintf
    - gf_filter_pid_init_play_event
    - gf_sys_clock
    - gf_filter_hint_single_clock
    - memcpy
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pid_send_event
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_get_property
    - gf_timestamp_greater
    - gf_log_tool_level_on
    - gf_sys_clock_high_res
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: u32
    signature: 'static u32 aout_fill_output(void *ptr, u8 *buffer, u32 buffer_size) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_audio.c:441,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/out_audio.c:453,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:467,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_audio.c:471,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:563,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:458,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:463,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:485,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/out_audio.c:488,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_audio.c:550,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_audio.c:438,1
    - Dst: gf_filter_hint_single_clock
      Src: /src/gpac/src/filters/out_audio.c:447,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_audio.c:450,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:461,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:465,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_audio.c:475,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:480,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/out_audio.c:478,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:551,1
    - Dst: aout_set_priority
      Src: /src/gpac/src/filters/out_audio.c:561,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_audio.c:572,1
    - Dst: aout_set_priority
      Src: /src/gpac/src/filters/out_audio.c:481,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:492,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_audio.c:515,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:536,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_audio.c:560,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 132
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 574
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 574
    functionName: aout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_info
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_filter_release_property
    - gf_filter_pid_init_play_event
    - gf_filter_pid_check_caps
    - gf_filter_hint_single_clock
    - gf_timestamp_rescale
    - gf_filter_post_process_task
    - aout_set_priority
    - gf_assert
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err aout_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_audio.c:700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 717
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 717
    functionName: aout_process_event
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool aout_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_audio.c:104,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/out_audio.c:132,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_audio.c:132,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_audio.c:135,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_audio.c:95,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_audio.c:138,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/out_audio.c:156,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/out_audio.c:140,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/out_audio.c:135,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/out_audio.c:161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:104,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/out_audio.c:140,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:166,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/out_audio.c:138,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 96
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_AudioOutCtx*
    constantsTouched: []
    func_position:
      end: 174
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 174
    functionName: aout_reconfig
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - GF_LOG
    - PROP_DOUBLE
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_filter_abort
    - gf_filter_pid_negotiate_property
    linkageType: ''
    returnType: void
    signature: 'void aout_reconfig(GF_AudioOutCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_set_priority
      Src: /src/gpac/src/filters/out_audio.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - prio
    argTypes:
    - GF_AudioOutCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: aout_set_priority
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_th_set_priority
    linkageType: ''
    returnType: void
    signature: 'void aout_set_priority(GF_AudioOutCtx *ctx, u32 prio) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_audio.c:581,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_audio.c:592,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_audio.c:593,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:589,1
    - Dst: gf_module_load
      Src: /src/gpac/src/filters/out_audio.c:586,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:599,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_audio.c:604,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_audio.c:605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:609,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filters/out_audio.c:610,1
    - Dst: gf_th_new
      Src: /src/gpac/src/filters/out_audio.c:624,1
    - Dst: gf_th_run
      Src: /src/gpac/src/filters/out_audio.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:627,1
    - Dst: aout_set_priority
      Src: /src/gpac/src/filters/out_audio.c:632,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 635
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 635
    functionName: aout_initialize
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - sscanf
    - GF_LOG
    - gf_module_load
    - gf_modules_close_interface
    - gf_th_new
    - gf_opts_set_key
    - gf_th_run
    - aout_set_priority
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err aout_initialize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_audio.c:639,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/out_audio.c:649,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:646,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:651,1
    - Dst: gf_th_del
      Src: /src/gpac/src/filters/out_audio.c:652,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filters/out_audio.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 662
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 662
    functionName: aout_finalize
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - gf_modules_close_interface
    - gf_sleep
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'static void aout_finalize(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_audio.c:721,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_audio.c:727,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_audio.c:737,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_audio.c:723,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_audio.c:739,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_audio.c:743,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_audio.c:747,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 752
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 752
    functionName: aout_update_arg
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - strcmp
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err aout_update_arg(GF_Filter *filter, const char *arg_name, const
      GF_PropertyValue *new_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: aout_register
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *aout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: aout_register
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *aout_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:183,1
    - Dst: aout_reconfig
      Src: /src/gpac/src/filters/out_audio.c:187,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/out_audio.c:191,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filters/out_audio.c:183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_audio.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: aout_th_proc
    functionSourceFile: /src/gpac/src/filters/out_audio.c
    functionUses: []
    functionsReached:
    - gf_th_id
    - aout_reconfig
    - GF_LOG
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'u32 aout_th_proc(void *p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:197,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:215,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:217,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_qcp.c:219,1
    - Dst: memset
      Src: /src/gpac/src/filters/write_qcp.c:223,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_qcp.c:220,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:230,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:247,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/write_qcp.c:252,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_qcp.c:261,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:188,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:214,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_qcp.c:209,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:227,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:244,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/write_qcp.c:255,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_qcp.c:256,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:228,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:222,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:226,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:231,1
    - Dst: memset
      Src: /src/gpac/src/filters/write_qcp.c:241,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:242,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:243,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/write_qcp.c:257,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_qcp.c:260,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_qcp.c:265,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:248,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/write_qcp.c:212,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:216,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:218,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:221,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/write_qcp.c:224,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/write_qcp.c:225,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/write_qcp.c:229,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_qcp.c:235,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/write_qcp.c:236,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/write_qcp.c:238,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_qcp.c:258,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:245,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/write_qcp.c:246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 99
    argCount: 3
    argNames:
    - ctx
    - data_size
    - frame_count
    argTypes:
    - GF_QCPMxCtx*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 266
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 266
    functionName: qcpmx_send_header
    functionSourceFile: /src/gpac/src/filters/write_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - memset
    - gf_bs_del
    - gf_filter_pid_get_property
    - gf_bs_write_data
    - gf_bs_write_u32_le
    - gf_bs_write_u16_le
    - gf_bs_new
    - gf_bs_write_u16
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_bs_write_u8
    - strcpy
    - gf_filter_pck_send
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void qcpmx_send_header(GF_QCPMxCtx *ctx, u32 data_size, u32
      frame_count) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_qcp.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_qcp.c:130,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/write_qcp.c:130,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:146,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:155,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/write_qcp.c:100,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_qcp.c:101,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:107,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:104,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_qcp.c:109,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_qcp.c:114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:118,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_qcp.c:120,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_qcp.c:123,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:134,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_qcp.c:70,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/write_qcp.c:75,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:83,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/write_qcp.c:80,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/write_qcp.c:96,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_qcp.c:141,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/write_qcp.c:155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_qcp.c:148,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:87,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:91,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:95,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:101,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_qcp.c:104,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_qcp.c:107,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/write_qcp.c:118,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/write_qcp.c:123,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/write_qcp.c:137,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/write_qcp.c:139,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 160
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 160
    functionName: qcpmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/write_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - PROP_STRING
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - memcpy
    - gf_codecid_name
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err qcpmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: writeqcp_register
    functionSourceFile: /src/gpac/src/filters/write_qcp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writeqcp_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: writeqcp_register
    functionSourceFile: /src/gpac/src/filters/write_qcp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *writeqcp_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/write_qcp.c:291,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/write_qcp.c:301,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/write_qcp.c:336,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_qcp.c:339,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_qcp.c:321,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/write_qcp.c:350,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/write_qcp.c:277,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/write_qcp.c:286,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_qcp.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/write_qcp.c:320,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/write_qcp.c:337,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_qcp.c:325,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/write_qcp.c:347,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/write_qcp.c:270,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/write_qcp.c:283,1
    - Dst: qcpmx_send_header
      Src: /src/gpac/src/filters/write_qcp.c:279,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/write_qcp.c:342,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/write_qcp.c:345,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/write_qcp.c:346,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/write_qcp.c:275,1
    - Dst: qcpmx_send_header
      Src: /src/gpac/src/filters/write_qcp.c:298,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/write_qcp.c:328,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/write_qcp.c:332,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 353
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 353
    functionName: qcpmx_process
    functionSourceFile: /src/gpac/src/filters/write_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_get_cts
    - gf_set_progress
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_filter_pck_set_framing
    - gf_filter_pid_drop_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pid_set_eos
    - memcpy
    - gf_filter_pck_get_timescale
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - gf_filter_pck_new_ref
    - qcpmx_send_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err qcpmx_process(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1680,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1681,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:1689,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1695,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1696,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_ts.c:1715,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_ts.c:1716,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_ts.c:1709,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1722,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1723,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ts.c:1739,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1725,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1726,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ts.c:1735,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/mux_ts.c:1679,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1682,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_ts.c:1695,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1712,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1713,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1721,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_ts.c:1730,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1728,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:1649,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_ts.c:1675,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:1662,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1654,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/mux_ts.c:1678,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1680,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:1681,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/mux_ts.c:1684,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/mux_ts.c:1683,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_ts.c:1694,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_ts.c:1701,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1705,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1707,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_ts.c:1710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1650,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_ts.c:1690,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1693,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:1682,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_ts.c:1686,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1694,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1697,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1700,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1701,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1703,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:1728,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_ts.c:1697,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:1724,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_ts.c:1702,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 110
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TSMuxCtx*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1742
    functionName: tsmux_send_seg_event
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_FEVT_INIT
    - gf_timestamp_rescale
    - gf_file_ext_start
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_list_count
    - PROP_STRING
    - PROP_UINT
    - gf_bs_write_int
    - gf_bs_write_u64
    - gf_filter_set_source
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_filter_connect_destination
    - gf_filter_pck_send
    - gf_filter_pid_send_event
    - gf_filter_pid_set_name
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_send_seg_event(GF_Filter *filter, GF_TSMuxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/mux_ts.c:1772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - final_flush
    argTypes:
    - GF_TSMuxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 1783
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1783
    functionName: tsmux_insert_sidx
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_realloc
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_insert_sidx(GF_TSMuxCtx *ctx, Bool final_flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2411
    functionName: m2tsmx_register
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *m2tsmx_register(GF_FilterSession *session) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:38,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:48,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:48,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:42,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_ts.c:40,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:50,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_ts.c:53,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:55,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:61,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:61,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 5
    argNames:
    - ipid
    - opid
    - file_exts
    - mime_types
    - def_ext
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: mux_assign_mime_file_ext
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pid_get_property
    - PROP_STRING
    - gf_filter_pid_set_property
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void mux_assign_mime_file_ext(GF_FilterPid *ipid, GF_FilterPid *opid,
      const char *file_exts, const char *mime_types, const char *def_ext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - GF_TSMuxCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: tsmux_check_mpd_start_time
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_property
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_check_mpd_start_time(GF_TSMuxCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:1225,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1228,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_ts.c:1230,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1227,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_ts.c:1226,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1232,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:1233,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1235,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1236,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1237,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - tspid
    argTypes:
    - M2Pid*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1239
    functionName: tsmux_del_stream
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_del_stream(M2Pid *tspid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_m2ts_mux_table_update
      Src: /src/gpac/src/filters/mux_ts.c:422,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - muxer
    - stream
    argTypes:
    - GF_M2TS_Mux*
    - GF_M2TS_Mux_Stream*
    constantsTouched: []
    func_position:
      end: 437
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 437
    functionName: tsmux_stream_process_scte35
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_table_update
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 tsmux_stream_process_scte35(GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream
      *stream) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1292,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1294,1
    - Dst: tsmux_setup_esi
      Src: /src/gpac/src/filters/mux_ts.c:1521,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1380,1
    - Dst: gf_m2ts_mux_program_add
      Src: /src/gpac/src/filters/mux_ts.c:1398,1
    - Dst: gf_m2ts_mux_program_get_pmt_pid
      Src: /src/gpac/src/filters/mux_ts.c:1479,1
    - Dst: gf_m2ts_program_stream_add
      Src: /src/gpac/src/filters/mux_ts.c:1490,1
    - Dst: gf_m2ts_program_stream_add
      Src: /src/gpac/src/filters/mux_ts.c:1441,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1497,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1294,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1296,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_ts.c:1330,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1298,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ts.c:1350,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/mux_ts.c:1408,1
    - Dst: gf_m2ts_mux_set_initial_pcr
      Src: /src/gpac/src/filters/mux_ts.c:1316,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_ts.c:1323,1
    - Dst: tsmux_del_stream
      Src: /src/gpac/src/filters/mux_ts.c:1259,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/mux_ts.c:1277,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1296,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1318,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/mux_ts.c:1278,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/mux_ts.c:1326,1
    - Dst: gf_m2ts_mux_program_find
      Src: /src/gpac/src/filters/mux_ts.c:1359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:1370,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1410,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_ts.c:1405,1
    - Dst: mux_assign_mime_file_ext
      Src: /src/gpac/src/filters/mux_ts.c:1299,1
    - Dst: gf_m2ts_program_stream_remove
      Src: /src/gpac/src/filters/mux_ts.c:1256,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:1253,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1293,1
    - Dst: gf_m2ts_mux_program_get_stream_count
      Src: /src/gpac/src/filters/mux_ts.c:1440,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/mux_ts.c:1337,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_ts.c:1444,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/mux_ts.c:1263,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1283,1
    - Dst: gf_m2ts_mux_use_single_au_pes_mode
      Src: /src/gpac/src/filters/mux_ts.c:1311,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/mux_ts.c:1332,1
    - Dst: gf_m2ts_mux_program_get_stream_count
      Src: /src/gpac/src/filters/mux_ts.c:1480,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1417,1
    - Dst: tsmux_setup_temi
      Src: /src/gpac/src/filters/mux_ts.c:1491,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1291,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ts.c:1344,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:1462,1
    - Dst: gf_m2ts_mux_program_get_pcr_pid
      Src: /src/gpac/src/filters/mux_ts.c:1481,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1280,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:1328,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_ts.c:1472,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:1250,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1295,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1297,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_ts.c:1301,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/mux_ts.c:1308,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ts.c:1437,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:1564,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_ts.c:1258,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ts.c:1336,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ts.c:1348,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_ts.c:1394,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/mux_ts.c:1403,1
    - Dst: tsmux_setup_esi
      Src: /src/gpac/src/filters/mux_ts.c:1489,1
    - Dst: gf_m2ts_mux_program_get_pmt_pid
      Src: /src/gpac/src/filters/mux_ts.c:1439,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1562,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1266,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1273,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/mux_ts.c:1297,1
    - Dst: gf_m2ts_mux_program_set_name
      Src: /src/gpac/src/filters/mux_ts.c:1407,1
    - Dst: gf_m2ts_mux_program_count
      Src: /src/gpac/src/filters/mux_ts.c:1367,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1527,1
    - Dst: tsmux_setup_esi
      Src: /src/gpac/src/filters/mux_ts.c:1513,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_ts.c:1420,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ts.c:1450,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/mux_ts.c:1544,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_ts.c:1447,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ts.c:1341,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_ts.c:1376,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 297
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1569
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1569
    functionName: tsmux_configure_pid
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - mux_assign_mime_file_ext
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - PROP_BOOL
    - gf_filter_release_property
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_m2ts_mux_program_get_pcr_pid
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_m2ts_mux_set_initial_pcr
    - tsmux_setup_temi
    - gf_filter_get_udta
    - gf_strdup
    - gf_m2ts_mux_program_find
    - gf_m2ts_mux_program_add
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - gf_m2ts_mux_program_get_pmt_pid
    - gf_list_del_item
    - gf_assert
    - tsmux_del_stream
    - gf_filter_pid_get_info
    - gf_m2ts_program_stream_remove
    - gf_filter_pid_get_udta
    - gf_m2ts_program_stream_add
    - gf_filter_pid_set_property
    - gf_m2ts_mux_use_single_au_pes_mode
    - tsmux_setup_esi
    - gf_m2ts_mux_program_set_name
    - gf_filter_pid_send_event
    - gf_filter_pid_set_name
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_m2ts_mux_program_get_stream_count
    - gf_filter_pid_check_caps
    - gf_timestamp_greater
    - gf_m2ts_mux_program_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tsmux_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/mux_ts.c:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - timescale
    - slc
    argTypes:
    - GF_TSMuxCtx*
    - u32
    - GF_SLConfig*
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: tsmux_get_sl_config
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_new
    linkageType: ''
    returnType: GF_SLConfig*
    signature: 'GF_SLConfig *tsmux_get_sl_config(GF_TSMuxCtx *ctx, u32 timescale,
      GF_SLConfig *slc) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/mux_ts.c:908,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:913,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:923,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:931,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:939,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_ts.c:944,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:959,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_ts.c:1035,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1045,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1053,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_ts.c:1076,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1037,1
    - Dst: gf_lang_get_3cc
      Src: /src/gpac/src/filters/mux_ts.c:943,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:988,1
    - Dst: update_m4sys_info
      Src: /src/gpac/src/filters/mux_ts.c:967,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:954,1
    - Dst: update_m4sys_info
      Src: /src/gpac/src/filters/mux_ts.c:965,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/mux_ts.c:1008,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1040,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ts.c:1046,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1048,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1058,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filters/mux_ts.c:1079,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1054,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_ts.c:1063,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1060,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1041,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:926,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:911,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:934,1
    - Dst: gf_lang_find
      Src: /src/gpac/src/filters/mux_ts.c:941,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:948,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/mux_ts.c:1011,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:1026,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1030,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1033,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_ts.c:1034,1
    - Dst: gf_bs_write_utf8
      Src: /src/gpac/src/filters/mux_ts.c:1038,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1052,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:981,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ts.c:983,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_ts.c:1025,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:1032,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1036,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:1055,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1057,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1059,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:1064,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_ts.c:1072,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/mux_ts.c:1065,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 201
    argCount: 4
    argNames:
    - ctx
    - prog
    - tspid
    - stream_type
    argTypes:
    - GF_TSMuxCtx*
    - GF_M2TS_Mux_Program*
    - M2Pid*
    - u32
    constantsTouched: []
    func_position:
      end: 1088
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 1088
    functionName: tsmux_setup_esi
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - memset
    - gf_bs_write_data
    - gf_lang_get_3cc
    - gf_lang_find
    - gf_bs_del
    - GF_4CC
    - gf_crc_32
    - gf_bs_write_utf8
    - gf_filter_pid_get_property_str
    - stricmp
    - memcmp
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_bs_write_u8
    - gf_free
    - gf_4cc_parse
    - gf_filter_pid_get_property
    - update_m4sys_info
    linkageType: ''
    returnType: Bool
    signature: 'static Bool tsmux_setup_esi(GF_TSMuxCtx *ctx, GF_M2TS_Mux_Program
      *prog, M2Pid *tspid, u32 stream_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TSMuxCtx*
    constantsTouched: []
    func_position:
      end: 1592
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1592
    functionName: tsmux_assign_pcr
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_assign_pcr(GF_TSMuxCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ts.c:1789,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ts.c:1797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - is_last
    argTypes:
    - GF_TSMuxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 1803
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1803
    functionName: tsmux_flush_frag_llhas
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_flush_frag_llhas(GF_TSMuxCtx *ctx, Bool is_last) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_codec_new
      Src: /src/gpac/src/filters/mux_ts.c:369,1
    - Dst: gf_odf_codec_decode
      Src: /src/gpac/src/filters/mux_ts.c:372,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:375,1
    - Dst: gf_odf_codec_set_au
      Src: /src/gpac/src/filters/mux_ts.c:371,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:373,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:379,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:381,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/mux_ts.c:383,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_ts.c:384,1
    - Dst: tsmux_get_sl_config
      Src: /src/gpac/src/filters/mux_ts.c:385,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/mux_ts.c:392,1
    - Dst: gf_odf_codec_del
      Src: /src/gpac/src/filters/mux_ts.c:403,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_ts.c:393,1
    - Dst: gf_odf_codec_get_au
      Src: /src/gpac/src/filters/mux_ts.c:402,1
    - Dst: gf_odf_codec_encode
      Src: /src/gpac/src/filters/mux_ts.c:399,1
    - Dst: tsmux_get_sl_config
      Src: /src/gpac/src/filters/mux_ts.c:394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - es_pck
    argTypes:
    - GF_TSMuxCtx*
    - GF_ESIPacket*
    constantsTouched: []
    func_position:
      end: 405
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 405
    functionName: tsmux_rewrite_odf
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - tsmux_get_sl_config
    - gf_list_get
    - gf_odf_codec_del
    - gf_odf_codec_decode
    - gf_list_enum
    - gf_list_count
    - gf_odf_codec_encode
    - gf_odf_codec_get_au
    - gf_odf_codec_new
    - gf_odf_codec_set_au
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_rewrite_odf(GF_TSMuxCtx *ctx, GF_ESIPacket *es_pck) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:266,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:267,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:278,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_ts.c:280,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:271,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:275,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ts.c:287,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_ts.c:291,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/mux_ts.c:293,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:294,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_ts.c:257,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:268,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:281,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:287,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/mux_ts.c:295,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:318,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:321,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:325,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:330,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_ts.c:337,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_ts.c:332,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:261,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:264,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:262,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:269,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:284,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_ts.c:286,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:286,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:320,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:322,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:328,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:326,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:324,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:317,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:265,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_ts.c:277,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:272,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_ts.c:289,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:323,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_ts.c:327,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_ts.c:334,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 15
    argNames:
    - bs
    - is_realtime
    - timeline_id
    - timecode
    - timescale
    - mode_64bits
    - ntp
    - temi_url
    - temi_delay
    - last_url_time
    - is_reload
    - is_splicing
    - announce
    - is_paused
    - is_discontinuity
    argTypes:
    - GF_BitStream*
    - Bool
    - u32
    - u64
    - u32
    - u32
    - u64
    - char*
    - u32
    - u32*
    - Bool
    - Bool
    - GF_Fraction*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 341
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 341
    functionName: tsmux_format_af_descriptor
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_bs_get_position
    - gf_bs_write_data
    - gf_bs_seek
    - gf_bs_write_u32
    - gf_bs_write_u8
    - strnicmp
    - gf_bs_write_int
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tsmux_format_af_descriptor(GF_BitStream *bs, Bool is_realtime,
      u32 timeline_id, u64 timecode, u32 timescale, u32 mode_64bits, u64 ntp, const
      char *temi_url, u32 temi_delay, u32 *last_url_time, Bool is_reload, Bool is_splicing,
      GF_Fraction *announce, Bool is_paused, Bool is_discontinuity) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_ts.c:1097,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_ts.c:1130,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:1138,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:1147,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:1126,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/mux_ts.c:1150,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/mux_ts.c:1153,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:1157,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:1170,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ts.c:1184,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_ts.c:1189,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:1202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:1185,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_ts.c:1204,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ts.c:1214,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_ts.c:1201,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_ts.c:1200,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 116
    argCount: 2
    argNames:
    - ctx
    - tspid
    argTypes:
    - GF_TSMuxCtx*
    - M2Pid*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1220
    functionName: tsmux_setup_temi
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - sscanf
    - gf_strdup
    - GF_LOG
    - gf_filter_pid_get_property_str
    - strchr
    - atoi
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_setup_temi(GF_TSMuxCtx *ctx, M2Pid *tspid) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:1598,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1603,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_ts.c:1610,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/mux_ts.c:1605,1
    - Dst: gf_filter_pid_get_buffer_occupancy
      Src: /src/gpac/src/filters/mux_ts.c:1604,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/mux_ts.c:1612,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_ts.c:1615,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_ts.c:1616,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:1620,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/mux_ts.c:1620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:1633,1
    - Dst: gf_m2ts_mux_update_config
      Src: /src/gpac/src/filters/mux_ts.c:1639,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/mux_ts.c:1626,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TSMuxCtx*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1641
    functionName: tsmux_init_buffering
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pid_get_buffer_occupancy
    - gf_filter_pid_get_timescale
    - gf_m2ts_mux_update_config
    - gf_filter_pid_get_packet
    - gf_list_count
    - GF_LOG
    - gf_sys_clock
    - gf_timestamp_rescale
    - gf_filter_pid_has_seen_eos
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: Bool
    signature: 'static Bool tsmux_init_buffering(GF_Filter *filter, GF_TSMuxCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:1807,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/mux_ts.c:1809,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/mux_ts.c:1813,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/mux_ts.c:1814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1816
    functionName: ts_mux_on_packet_del
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - gf_filter_lock
    linkageType: ''
    returnType: void
    signature: 'static void ts_mux_on_packet_del(GF_Filter *filter, GF_FilterPid *pid,
      GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2418
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2418
    functionName: m2tsmx_register
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *m2tsmx_register(GF_FilterSession *session) '
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:537,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_ts.c:599,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_ts.c:611,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:660,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:731,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:633,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/mux_ts.c:697,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_ts.c:714,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/mux_ts.c:702,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:816,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:861,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:732,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/mux_ts.c:467,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:517,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_ts.c:541,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_ts.c:583,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:706,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/filters/mux_ts.c:843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:855,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:743,1
    - Dst: tsmux_check_mpd_start_time
      Src: /src/gpac/src/filters/mux_ts.c:496,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:519,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:534,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:677,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:717,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:521,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:733,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/mux_ts.c:740,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_ts.c:763,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_ts.c:845,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_ts.c:549,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:548,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:708,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ts.c:764,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:834,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_ts.c:846,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/mux_ts.c:751,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_ts.c:699,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_ts.c:761,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_ts.c:727,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_ts.c:458,1
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/filters/mux_ts.c:839,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:734,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:709,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:725,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/mux_ts.c:716,1
    - Dst: memset
      Src: /src/gpac/src/filters/mux_ts.c:597,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_ts.c:600,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:836,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:840,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/mux_ts.c:759,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:480,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_ts.c:610,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_ts.c:762,1
    - Dst: tsmux_format_af_descriptor
      Src: /src/gpac/src/filters/mux_ts.c:688,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:711,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:649,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:700,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/mux_ts.c:738,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:776,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:510,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:523,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/mux_ts.c:562,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_ts.c:578,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:636,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/mux_ts.c:672,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/mux_ts.c:680,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:710,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/mux_ts.c:742,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/mux_ts.c:713,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:505,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:512,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_ts.c:592,1
    - Dst: atoi
      Src: /src/gpac/src/filters/mux_ts.c:724,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/mux_ts.c:729,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:791,1
    - Dst: webvtt_write_cue_bs
      Src: /src/gpac/src/filters/mux_ts.c:842,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_ts.c:858,1
    - Dst: tsmux_format_af_descriptor
      Src: /src/gpac/src/filters/mux_ts.c:747,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ts.c:629,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:841,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:847,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_ts.c:453,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:560,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_ts.c:573,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_ts.c:630,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_ts.c:837,1
    - Dst: gf_net_ntp_add_usec
      Src: /src/gpac/src/filters/mux_ts.c:686,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_ts.c:806,1
    - Dst: tsmux_rewrite_odf
      Src: /src/gpac/src/filters/mux_ts.c:811,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ts.c:730,1
    - Dst: tsmux_format_af_descriptor
      Src: /src/gpac/src/filters/mux_ts.c:721,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:532,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/mux_ts.c:723,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/mux_ts.c:728,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:793,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:507,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/mux_ts.c:601,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_ts.c:807,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 380
    argCount: 3
    argNames:
    - ifce
    - act_type
    - param
    argTypes:
    - GF_ESInterface*
    - u32
    - void*
    constantsTouched: []
    func_position:
      end: 872
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 872
    functionName: tsmux_esi_ctrl
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_malloc
    - gf_bs_get_content
    - memset
    - gf_filter_pid_is_eos
    - strncmp
    - gf_filter_pck_get_duration
    - tsmux_rewrite_odf
    - GF_LOG
    - tsmux_format_af_descriptor
    - gf_filter_pck_get_property_str
    - gf_filter_pid_drop_packet
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - gf_filter_pck_get_carousel_version
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_list_del
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_list_count
    - gf_filter_pck_enum_properties
    - gf_net_get_ntp_ts
    - atoi
    - strcpy
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_webvtt_parse_cues_from_data
    - gf_webvtt_cue_del
    - gf_bs_read_u32
    - gf_list_get
    - webvtt_write_cue_bs
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_is_overflow
    - memcpy
    - gf_free
    - gf_net_ntp_add_usec
    - gf_filter_pid_is_flush_eos
    - tsmux_check_mpd_start_time
    - gf_filter_pck_get_property
    - gf_timestamp_greater_or_equal
    - gf_bs_read_u64
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tsmux_esi_ctrl(GF_ESInterface *ifce, u32 act_type, void
      *param) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1854,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1972,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:2012,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:2070,1
    - Dst: tsmux_insert_sidx
      Src: /src/gpac/src/filters/mux_ts.c:2083,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1989,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/mux_ts.c:2049,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_ts.c:1963,1
    - Dst: gf_m2ts_get_ts_clock
      Src: /src/gpac/src/filters/mux_ts.c:2096,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/mux_ts.c:2012,1
    - Dst: tsmux_init_buffering
      Src: /src/gpac/src/filters/mux_ts.c:1831,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1972,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1989,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/mux_ts.c:2005,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/mux_ts.c:2091,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:2039,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/mux_ts.c:2106,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1840,1
    - Dst: gf_m2ts_mux_update_config
      Src: /src/gpac/src/filters/mux_ts.c:1864,1
    - Dst: tsmux_insert_sidx
      Src: /src/gpac/src/filters/mux_ts.c:1910,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/mux_ts.c:2045,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:1856,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:1971,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/mux_ts.c:2059,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:2041,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:2016,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1848,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_ts.c:2062,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/mux_ts.c:2063,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:1875,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1877,1
    - Dst: tsmux_flush_frag_llhas
      Src: /src/gpac/src/filters/mux_ts.c:1899,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_ts.c:1968,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1978,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_ts.c:2009,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1843,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_ts.c:2081,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:2068,1
    - Dst: tsmux_send_seg_event
      Src: /src/gpac/src/filters/mux_ts.c:2084,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/mux_ts.c:2016,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:1824,1
    - Dst: tsmux_assign_pcr
      Src: /src/gpac/src/filters/mux_ts.c:1828,1
    - Dst: gf_m2ts_mux_process
      Src: /src/gpac/src/filters/mux_ts.c:1936,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:1978,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/mux_ts.c:2006,1
    - Dst: gf_m2ts_get_ts_clock
      Src: /src/gpac/src/filters/mux_ts.c:2062,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:2096,1
    - Dst: tsmux_check_mpd_start_time
      Src: /src/gpac/src/filters/mux_ts.c:1846,1
    - Dst: gf_filter_pck_new_alloc_destructor
      Src: /src/gpac/src/filters/mux_ts.c:1960,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ts.c:1967,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1976,1
    - Dst: gf_m2ts_get_ts_clock_90k
      Src: /src/gpac/src/filters/mux_ts.c:2004,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_ts.c:2058,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/mux_ts.c:2115,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1999,1
    - Dst: gf_m2ts_get_ts_clock
      Src: /src/gpac/src/filters/mux_ts.c:2058,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:1850,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_ts.c:1997,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/mux_ts.c:2110,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:1883,1
    - Dst: tsmux_send_seg_event
      Src: /src/gpac/src/filters/mux_ts.c:1911,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ts.c:1947,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:1974,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:2067,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/mux_ts.c:1976,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ts.c:2010,1
    - Dst: gf_m2ts_get_sys_clock
      Src: /src/gpac/src/filters/mux_ts.c:2062,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ts.c:1851,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:1999,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ts.c:2010,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ts.c:1974,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_ts.c:1987,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:1837,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_ts.c:1841,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_ts.c:1853,1
    - Dst: tsmux_insert_sidx
      Src: /src/gpac/src/filters/mux_ts.c:1944,1
    - Dst: gf_m2ts_get_sys_clock
      Src: /src/gpac/src/filters/mux_ts.c:2096,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_ts.c:2019,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/mux_ts.c:1832,1
    - Dst: tsmux_flush_frag_llhas
      Src: /src/gpac/src/filters/mux_ts.c:1905,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 248
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2121
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 2121
    functionName: tsmux_process
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PROP_STRING_NO_COPY
    - PROP_FRAC64
    - gf_filter_pid_set_eos
    - gf_m2ts_mux_process
    - gf_filter_update_status
    - tsmux_send_seg_event
    - gf_m2ts_get_sys_clock
    - tsmux_flush_frag_llhas
    - gf_filter_get_udta
    - gf_filter_pck_new_alloc
    - gf_list_count
    - gf_filter_pid_get_packet
    - PROP_STRING
    - gf_filter_ask_rt_reschedule
    - gf_filter_pck_set_cts
    - PROP_UINT
    - strcpy
    - gf_m2ts_get_ts_clock
    - tsmux_insert_sidx
    - gf_filter_reporting_enabled
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_filter_pid_send_flush
    - sprintf
    - gf_filter_pck_set_framing
    - gf_sys_clock
    - memcpy
    - gf_sys_is_test_mode
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_m2ts_mux_update_config
    - gf_filter_pck_get_property
    - tsmux_check_mpd_start_time
    - tsmux_assign_pcr
    - gf_filter_pck_new_alloc_destructor
    - gf_m2ts_get_ts_clock_90k
    - tsmux_init_buffering
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tsmux_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:2163,1
    - Dst: gf_m2ts_get_ts_clock
      Src: /src/gpac/src/filters/mux_ts.c:2167,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ts.c:2169,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:2174,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_ts.c:2175,1
    - Dst: tsmux_del_stream
      Src: /src/gpac/src/filters/mux_ts.c:2176,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_ts.c:2178,1
    - Dst: gf_m2ts_mux_del
      Src: /src/gpac/src/filters/mux_ts.c:2179,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ts.c:2182,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:2183,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:2180,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ts.c:2181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2184
    functionName: tsmux_finalize
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_m2ts_mux_del
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - gf_free
    - gf_m2ts_get_ts_clock
    - gf_list_pop_back
    - tsmux_del_stream
    linkageType: ''
    returnType: void
    signature: 'static void tsmux_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/mux_ts.c:879,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/mux_ts.c:880,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/filters/mux_ts.c:885,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_ts.c:891,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ts.c:883,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ts.c:892,1
    - Dst: tsmux_get_sl_config
      Src: /src/gpac/src/filters/mux_ts.c:895,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ts.c:896,1
    - Dst: tsmux_get_sl_config
      Src: /src/gpac/src/filters/mux_ts.c:898,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - prog
    argTypes:
    - GF_TSMuxCtx*
    - GF_M2TS_Mux_Program*
    constantsTouched: []
    func_position:
      end: 901
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 901
    functionName: update_m4sys_info
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - tsmux_get_sl_config
    - gf_odf_desc_esd_new
    - gf_filter_pid_get_property
    - gf_odf_desc_new
    - memcpy
    - gf_odf_desc_del
    linkageType: ''
    returnType: void
    signature: 'void update_m4sys_info(GF_TSMuxCtx *ctx, GF_M2TS_Mux_Program *prog) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:2125,1
    - Dst: gf_m2ts_mux_use_single_au_pes_mode
      Src: /src/gpac/src/filters/mux_ts.c:2134,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_ts.c:2131,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/mux_ts.c:2126,1
    - Dst: gf_m2ts_mux_new
      Src: /src/gpac/src/filters/mux_ts.c:2128,1
    - Dst: gf_m2ts_mux_set_initial_pcr
      Src: /src/gpac/src/filters/mux_ts.c:2135,1
    - Dst: gf_m2ts_mux_set_pcr_max_interval
      Src: /src/gpac/src/filters/mux_ts.c:2136,1
    - Dst: gf_m2ts_mux_enable_pcr_only_packets
      Src: /src/gpac/src/filters/mux_ts.c:2137,1
    - Dst: gf_m2ts_mux_enable_sdt
      Src: /src/gpac/src/filters/mux_ts.c:2141,1
    - Dst: gf_filter_block_enabled
      Src: /src/gpac/src/filters/mux_ts.c:2144,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_ts.c:2149,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_ts.c:2150,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/mux_ts.c:2153,1
    - Dst: gf_m2ts_get_sys_clock
      Src: /src/gpac/src/filters/mux_ts.c:2154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2158
    functionName: tsmux_initialize
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_m2ts_mux_enable_sdt
    - gf_filter_get_udta
    - gf_malloc
    - gf_m2ts_mux_new
    - gf_sys_is_cov_mode
    - gf_m2ts_mux_set_pcr_max_interval
    - gf_filter_block_enabled
    - gf_m2ts_mux_use_single_au_pes_mode
    - gf_m2ts_mux_enable_pcr_only_packets
    - gf_filter_set_max_extra_input_pids
    - gf_sys_is_test_mode
    - gf_m2ts_get_sys_clock
    - gf_list_new
    - gf_m2ts_mux_set_initial_pcr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err tsmux_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ts.c:2190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ts.c:2192,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ts.c:2191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2206
    functionName: tsmux_process_event
    functionSourceFile: /src/gpac/src/filters/mux_ts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool tsmux_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:79,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/mux_ogg.c:83,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/mux_ogg.c:82,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/mux_ogg.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: oggmux_on_packet_del
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - gf_filter_lock
    linkageType: ''
    returnType: void
    signature: 'static void oggmux_on_packet_del(GF_Filter *filter, GF_FilterPid *pid,
      GF_FilterPacket *pck) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:125,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:133,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ogg.c:136,1
    - Dst: ogg_stream_packetin
      Src: /src/gpac/src/filters/mux_ogg.c:137,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_ogg.c:149,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_ogg.c:144,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:156,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/mux_ogg.c:165,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/mux_ogg.c:169,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/mux_ogg.c:175,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ogg.c:177,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ogg.c:132,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ogg.c:138,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_ogg.c:145,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/mux_ogg.c:146,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ogg.c:155,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ogg.c:178,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ogg.c:189,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/mux_ogg.c:176,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_ogg.c:135,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:134,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ogg.c:142,1
    - Dst: gf_gpac_version
      Src: /src/gpac/src/filters/mux_ogg.c:144,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ogg.c:150,1
    - Dst: ogg_stream_packetin
      Src: /src/gpac/src/filters/mux_ogg.c:151,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/mux_ogg.c:148,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:157,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/mux_ogg.c:158,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_ogg.c:159,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_ogg.c:167,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:143,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_ogg.c:147,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ogg.c:152,1
    - Dst: ogg_stream_packetin
      Src: /src/gpac/src/filters/mux_ogg.c:160,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ogg.c:161,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ogg.c:164,1
    - Dst: ogg_stream_packetin
      Src: /src/gpac/src/filters/mux_ogg.c:170,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_ogg.c:174,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ogg.c:192,1
    - Dst: ogg_stream_pageout
      Src: /src/gpac/src/filters/mux_ogg.c:199,1
    - Dst: oggmux_send_page
      Src: /src/gpac/src/filters/mux_ogg.c:200,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/mux_ogg.c:166,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 3
    argNames:
    - ctx
    - pctx
    - in_pck
    argTypes:
    - OGGMuxCtx*
    - OGGMuxStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 204
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 204
    functionName: oggmux_send_config
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_skip_bytes
    - gf_gpac_version
    - gf_bs_del
    - gf_bs_write_u32_le
    - ogg_stream_pageout
    - gf_bs_read_u16
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_sys_is_test_mode
    - ogg_stream_packetin
    - oggmux_send_page
    - gf_free
    - gf_filter_pid_get_property
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggmux_send_config(OGGMuxCtx *ctx, OGGMuxStream *pctx,
      GF_FilterPacket *in_pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ogg.c:317,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ogg.c:318,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ogg.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OGGMuxCtx*
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: oggmux_send_seg_info
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_list_get
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void oggmux_send_seg_info(OGGMuxCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: oggmux_process_event
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool oggmux_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:515,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_ogg.c:519,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ogg.c:517,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_ogg.c:518,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/mux_ogg.c:520,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ogg.c:521,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_ogg.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: oggmux_finalize
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_clear
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_discard
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void oggmux_finalize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc_destructor
      Src: /src/gpac/src/filters/mux_ogg.c:93,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:104,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ogg.c:101,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_ogg.c:96,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_ogg.c:100,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:106,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:108,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:110,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_ogg.c:116,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_ogg.c:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - pctx
    - in_pck
    argTypes:
    - OGGMuxCtx*
    - OGGMuxStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: oggmux_send_page
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_property
    - gf_filter_pck_get_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_new_alloc_destructor
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggmux_send_page(OGGMuxCtx *ctx, OGGMuxStream *pctx,
      GF_FilterPacket *in_pck) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/mux_ogg.c:216,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:212,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:261,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ogg.c:261,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/mux_ogg.c:269,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/mux_ogg.c:272,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_ogg.c:292,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:299,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_ogg.c:218,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:257,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_ogg.c:260,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:259,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/mux_ogg.c:254,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_ogg.c:262,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:263,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_ogg.c:268,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:282,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:287,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_ogg.c:277,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/mux_ogg.c:222,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:227,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/mux_ogg.c:253,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_ogg.c:279,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/mux_ogg.c:285,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:295,1
    - Dst: oggmux_send_config
      Src: /src/gpac/src/filters/mux_ogg.c:310,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:210,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/mux_ogg.c:217,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_ogg.c:215,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ogg.c:221,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/mux_ogg.c:243,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:260,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_ogg.c:262,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_ogg.c:266,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 85
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 311
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 311
    functionName: oggmux_configure_pid
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - ogg_stream_clear
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - ogg_stream_init
    - PROP_UINT
    - gf_list_del_item
    - gf_filter_pid_get_udta
    - oggmux_send_config
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - gf_free
    - gf_filter_pid_send_event
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggmux_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_ogg.c:343,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ogg.c:336,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/mux_ogg.c:347,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_ogg.c:358,1
    - Dst: oggmux_send_config
      Src: /src/gpac/src/filters/mux_ogg.c:392,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_ogg.c:417,1
    - Dst: ogg_stream_pageout
      Src: /src/gpac/src/filters/mux_ogg.c:429,1
    - Dst: oggmux_send_seg_info
      Src: /src/gpac/src/filters/mux_ogg.c:448,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ogg.c:461,1
    - Dst: oggmux_send_seg_info
      Src: /src/gpac/src/filters/mux_ogg.c:467,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:330,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_ogg.c:349,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/mux_ogg.c:377,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/mux_ogg.c:390,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/mux_ogg.c:389,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_ogg.c:424,1
    - Dst: ogg_stream_packetin
      Src: /src/gpac/src/filters/mux_ogg.c:427,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_ogg.c:433,1
    - Dst: ogg_stream_flush
      Src: /src/gpac/src/filters/mux_ogg.c:464,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_ogg.c:331,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_ogg.c:370,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ogg.c:440,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/mux_ogg.c:445,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_ogg.c:447,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_ogg.c:477,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_ogg.c:337,1
    - Dst: gf_filter_pck_dangling_copy
      Src: /src/gpac/src/filters/mux_ogg.c:348,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_ogg.c:351,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_ogg.c:385,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_ogg.c:368,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_ogg.c:421,1
    - Dst: oggmux_send_page
      Src: /src/gpac/src/filters/mux_ogg.c:430,1
    - Dst: ogg_stream_flush
      Src: /src/gpac/src/filters/mux_ogg.c:442,1
    - Dst: oggmux_send_page
      Src: /src/gpac/src/filters/mux_ogg.c:443,1
    - Dst: oggmux_send_page
      Src: /src/gpac/src/filters/mux_ogg.c:465,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/mux_ogg.c:474,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 136
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 485
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 485
    functionName: oggmux_process
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pck_dangling_copy
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - ogg_stream_flush
    - ogg_stream_clear
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_list_count
    - ogg_stream_init
    - gf_filter_pck_get_dts
    - ogg_stream_pageout
    - gf_list_get
    - gf_filter_pck_get_frame_interface
    - oggmux_send_config
    - ogg_stream_packetin
    - oggmux_send_page
    - gf_filter_pck_get_property
    - oggmux_send_seg_info
    - gf_timestamp_greater_or_equal
    - gf_timestamp_greater
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggmux_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_ogg.c:501,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_ogg.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: oggmux_initialize
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggmux_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: oggmx_register
    functionSourceFile: /src/gpac/src/filters/mux_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *oggmx_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - state
    - msg
    argTypes:
    - GF_WCDecCtx*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: wcdec_on_error
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcdec_on_error(GF_WCDecCtx *ctx, int state, char *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_webcodec.c:302,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webcodec.c:307,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_webcodec.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - pck
    - res_ok
    argTypes:
    - GF_WCDecCtx*
    - GF_FilterPacket*
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: wcdec_on_frame_copy
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_send
    - gf_filter_pck_discard
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcdec_on_frame_copy(GF_WCDecCtx *ctx, GF_FilterPacket
      *pck, int res_ok) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_webcodec.c:154,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_webcodec.c:170,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:184,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webcodec.c:145,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:157,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_webcodec.c:183,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:220,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:220,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:230,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_webcodec.c:233,1
    - Dst: gf_filter_pid_get_rfc_6381_codec_string
      Src: /src/gpac/src/filters/dec_webcodec.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:159,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_webcodec.c:179,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:185,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/dec_webcodec.c:237,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_webcodec.c:149,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:165,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:169,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_webcodec.c:178,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:200,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:205,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:214,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:211,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:222,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webcodec.c:225,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:230,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 79
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 250
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 250
    functionName: wcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_crc_32
    - gf_filter_pid_get_property
    - strcpy
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - strlwr
    - gf_filter_pid_remove
    - gf_filter_pid_get_rfc_6381_codec_string
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:341,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:342,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:343,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_webcodec.c:362,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_webcodec.c:350,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_webcodec.c:364,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webcodec.c:348,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dec_webcodec.c:355,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_webcodec.c:367,1
    - Dst: webcodec_pixfmt_to_gpac
      Src: /src/gpac/src/filters/dec_webcodec.c:331,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/dec_webcodec.c:340,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:333,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:342,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:343,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_webcodec.c:354,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_webcodec.c:356,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_webcodec.c:370,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_webcodec.c:346,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_webcodec.c:369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - ctx
    - timestamp
    - format
    - width
    - height
    argTypes:
    - GF_WCDecCtx*
    - u64
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 378
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 378
    functionName: wcdec_on_video
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_pixel_get_size_info
    - gf_list_count
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_filter_pid_set_property
    - ABS
    - webcodec_pixfmt_to_gpac
    - gf_timestamp_rescale
    - PROP_UINT
    - gf_list_rem
    - gf_filter_pck_set_cts
    - gf_filter_pck_unref
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcdec_on_video(GF_WCDecCtx *ctx, u64 timestamp, char
      *format, u32 width, u32 height) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:392,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:396,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:393,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:395,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:394,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:397,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:398,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:399,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: webcodec_audiofmt_to_gpac
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 webcodec_audiofmt_to_gpac(char *format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webcodec.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_WCDecCtx*
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: wcdec_on_flush
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcdec_on_flush(GF_WCDecCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webcodec.c:493,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_webcodec.c:501,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_webcodec.c:513,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dec_webcodec.c:507,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_webcodec.c:515,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dec_webcodec.c:521,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dec_webcodec.c:528,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webcodec.c:534,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dec_webcodec.c:536,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_webcodec.c:539,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_webcodec.c:540,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_webcodec.c:541,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_webcodec.c:550,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_webcodec.c:551,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_webcodec.c:549,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_webcodec.c:540,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 556
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 556
    functionName: wcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref_props
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - gf_filter_pid_drop_packet
    - gf_filter_post_process_task
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webcodec.c:576,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_webcodec.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 580
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 580
    functionName: wcdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err wcdec_initialize(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:312,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:315,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:316,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:314,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:313,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:317,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:318,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:319,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/dec_webcodec.c:320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: webcodec_pixfmt_to_gpac
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: u32
    signature: 'u32 webcodec_pixfmt_to_gpac(char *format) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: webcodec_audiofmt_to_gpac
      Src: /src/gpac/src/filters/dec_webcodec.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:413,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_webcodec.c:448,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_webcodec.c:431,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:418,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:420,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:422,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_webcodec.c:426,1
    - Dst: ABS
      Src: /src/gpac/src/filters/dec_webcodec.c:436,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_webcodec.c:443,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_webcodec.c:445,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_webcodec.c:451,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/dec_webcodec.c:456,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_webcodec.c:468,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_webcodec.c:435,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_webcodec.c:437,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_webcodec.c:450,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:418,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webcodec.c:420,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webcodec.c:422,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/dec_webcodec.c:423,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webcodec.c:429,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 6
    argNames:
    - ctx
    - timestamp
    - format
    - num_frames
    - num_channels
    - sample_rate
    argTypes:
    - GF_WCDecCtx*
    - u64
    - char*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 469
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 469
    functionName: wcdec_on_audio
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - webcodec_audiofmt_to_gpac
    - gf_filter_pid_set_property
    - gf_filter_pck_merge_properties
    - ABS
    - gf_audio_fmt_is_planar
    - gf_filter_pck_send
    - gf_timestamp_rescale
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_list_rem
    - gf_filter_pck_set_cts
    - gf_filter_pck_unref
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void wcdec_on_audio(GF_WCDecCtx *ctx, u64 timestamp, char
      *format, u32 num_frames, u32 num_channels, u32 sample_rate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webcodec.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: wcdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool wcdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: wcdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: wcdec_process
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err wcdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webcodec.c:596,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webcodec.c:599,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_webcodec.c:601,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_webcodec.c:600,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_webcodec.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: wcdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void wcdec_finalize(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/filters/dec_webcodec.c:678,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:688,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webcodec.c:698,1
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/filters/dec_webcodec.c:682,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_webcodec.c:700,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 708
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 708
    functionName: wcdec_register
    functionSourceFile: /src/gpac/src/filters/dec_webcodec.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - EM_ASM_INT
    - GF_LOG
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *wcdec_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/load_svg.c:67,1
    - Dst: inflate
      Src: /src/gpac/src/filters/load_svg.c:82,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/filters/load_svg.c:88,1
    - Dst: inflateInit2
      Src: /src/gpac/src/filters/load_svg.c:74,1
    - Dst: inflateInit
      Src: /src/gpac/src/filters/load_svg.c:76,1
    - Dst: inflateEnd
      Src: /src/gpac/src/filters/load_svg.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - svgin
    - buffer
    - buffer_len
    - is_dims
    argTypes:
    - SVGIn*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 98
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 98
    functionName: svgin_deflate
    functionSourceFile: /src/gpac/src/filters/load_svg.c
    functionUses: []
    functionsReached:
    - memset
    - gf_sm_load_string
    - inflate
    - inflateInit
    - inflateInit2
    - inflateEnd
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err svgin_deflate(SVGIn *svgin, const char *buffer, u32 buffer_len,
      Bool is_dims) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_svg.c:409,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_svg.c:419,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/load_svg.c:430,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/load_svg.c:427,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/load_svg.c:429,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_svg.c:437,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/filters/load_svg.c:440,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/filters/load_svg.c:447,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/filters/load_svg.c:450,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/filters/load_svg.c:453,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 460
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 460
    functionName: svgin_process_event
    functionSourceFile: /src/gpac/src/filters/load_svg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - memset
    - gf_filter_pid_get_udta
    - gf_odm_check_buffering
    - gf_filter_get_ipid_count
    - gf_clock_set_time
    - gf_get_default_cache_directory
    - gf_sm_load_done
    - gf_sm_load_init
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool svgin_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_svg.c:109,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_svg.c:114,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/load_svg.c:135,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_svg.c:159,1
    - Dst: svgin_deflate
      Src: /src/gpac/src/filters/load_svg.c:168,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_svg.c:169,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_svg.c:181,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/load_svg.c:183,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_svg.c:191,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/load_svg.c:198,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/load_svg.c:285,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_svg.c:306,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/load_svg.c:297,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/filters/load_svg.c:241,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_svg.c:126,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_svg.c:128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_svg.c:131,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/load_svg.c:133,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_svg.c:144,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_svg.c:162,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_svg.c:193,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/load_svg.c:200,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/load_svg.c:204,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_svg.c:232,1
    - Dst: gf_gzopen
      Src: /src/gpac/src/filters/load_svg.c:251,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/load_svg.c:257,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/filters/load_svg.c:276,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/filters/load_svg.c:215,1
    - Dst: gf_set_progress
      Src: /src/gpac/src/filters/load_svg.c:266,1
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/filters/load_svg.c:296,1
    - Dst: gf_gzeof
      Src: /src/gpac/src/filters/load_svg.c:265,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/load_svg.c:234,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/load_svg.c:129,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/load_svg.c:161,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_svg.c:147,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_svg.c:152,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_svg.c:189,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/load_svg.c:192,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_svg.c:196,1
    - Dst: svgin_deflate
      Src: /src/gpac/src/filters/load_svg.c:213,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/load_svg.c:218,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/load_svg.c:222,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_svg.c:235,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/filters/load_svg.c:254,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/load_svg.c:286,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_svg.c:303,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_svg.c:122,1
    - Dst: gf_fileio_from_mem
      Src: /src/gpac/src/filters/load_svg.c:132,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/load_svg.c:146,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/filters/load_svg.c:153,1
    - Dst: svgin_configure_pid
      Src: /src/gpac/src/filters/load_svg.c:136,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_svg.c:154,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_svg.c:167,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_svg.c:184,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/load_svg.c:208,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_svg.c:223,1
    - Dst: gf_gzread
      Src: /src/gpac/src/filters/load_svg.c:262,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_svg.c:269,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_svg.c:301,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/load_svg.c:308,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/load_svg.c:199,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/src/filters/load_svg.c:242,1
    - Dst: gf_gzclose
      Src: /src/gpac/src/filters/load_svg.c:267,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 186
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 314
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 314
    functionName: svgin_process
    functionSourceFile: /src/gpac/src/filters/load_svg.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - gf_sm_load_string
    - svgin_deflate
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_gzeof
    - gf_bs_del
    - gf_gzclose
    - gf_filter_pid_get_packet
    - gf_gzopen
    - gf_sm_load_done
    - gf_scene_attach_to_compositor
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - gf_set_progress
    - gf_bs_get_position
    - gf_bs_new
    - gf_sys_clock
    - memcpy
    - gf_sm_load_run
    - svgin_configure_pid
    - gf_free
    - gf_fileio_from_mem
    - gf_filter_pck_unref
    - gf_sm_load_init
    - gf_fileio_url
    - gf_filter_pid_get_property
    - gf_sg_get_root_node
    - gf_gzread
    - gf_bs_available
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svgin_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: svgplay_register
    functionSourceFile: /src/gpac/src/filters/load_svg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *svgplay_register(GF_FilterSession *session) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/load_svg.c:326,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_svg.c:332,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_svg.c:329,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/load_svg.c:341,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/load_svg.c:386,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_svg.c:387,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_svg.c:388,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_svg.c:394,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/load_svg.c:389,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_svg.c:398,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_svg.c:335,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/load_svg.c:373,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_svg.c:318,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/load_svg.c:369,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_svg.c:384,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_svg.c:389,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_svg.c:388,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/load_svg.c:390,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_svg.c:396,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_svg.c:387,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_svg.c:400,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 404
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 404
    functionName: svgin_configure_pid
    functionSourceFile: /src/gpac/src/filters/load_svg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_set_name
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err svgin_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_h263.c:79,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_h263.c:84,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_h263.c:93,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_h263.c:97,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_h263.c:89,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_h263.c:98,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: h263dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err h263dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_h263.c:114,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_h263.c:117,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_h263.c:127,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_h263.c:130,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_h263.c:126,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_h263.c:131,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_h263.c:137,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/reframe_h263.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 140
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: h263dmx_next_start_code_bs
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u16
    - gf_bs_get_position
    - gf_bs_seek
    - gf_bs_available
    - gf_bs_get_size
    - gf_bs_read_data
    linkageType: ''
    returnType: u32
    signature: 'static u32 h263dmx_next_start_code_bs(GF_BitStream *bs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:238,1
    - Dst: h263dmx_check_dur
      Src: /src/gpac/src/filters/reframe_h263.c:230,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:244,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:243,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:253,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_h263.c:229,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_h263.c:240,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:245,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:249,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:250,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:257,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_h263.c:238,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:241,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:242,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:243,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:244,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:253,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_h263.c:236,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:240,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_h263.c:245,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:250,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:249,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_h263.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - filter
    - ctx
    - width
    - height
    argTypes:
    - GF_Filter*
    - GF_H263DmxCtx*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 259
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 259
    functionName: h263dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_copy_properties
    - h263dmx_check_dur
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - PROP_FRAC
    - PROP_UINT
    linkageType: ''
    returnType: void
    signature: 'static void h263dmx_check_pid(GF_Filter *filter, GF_H263DmxCtx *ctx,
      u32 width, u32 height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_h263.c:322,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_h263.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_H263DmxCtx*
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: h263dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void h263dmx_update_cts(GF_H263DmxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - bs
    - fmt
    - w
    - h
    argTypes:
    - GF_BitStream*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 384
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 384
    functionName: h263_get_pic_size
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void h263_get_pic_size(GF_BitStream *bs, u32 fmt, u32 *w, u32
      *h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_h263.c:668,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_h263.c:669,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_h263.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: h263dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void h263dmx_finalize(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_h263.c:165,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_h263.c:172,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_h263.c:177,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_h263.c:180,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_h263.c:221,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_h263.c:214,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_h263.c:211,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_h263.c:205,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_h263.c:156,1
    - Dst: h263dmx_next_start_code_bs
      Src: /src/gpac/src/filters/reframe_h263.c:178,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_h263.c:204,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_h263.c:193,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_h263.c:155,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_h263.c:175,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_h263.c:179,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_h263.c:211,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_h263.c:201,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_h263.c:203,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_h263.c:163,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_H263DmxCtx*
    constantsTouched: []
    func_position:
      end: 223
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 223
    functionName: h263dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_read_u32
    - gf_bs_from_file
    - gf_bs_read_u8
    - gf_bs_del
    - strncmp
    - gf_bs_get_position
    - gf_filter_pid_get_property
    - h263dmx_next_start_code_bs
    - gf_fileio_is_main_thread
    - gf_realloc
    - gf_bs_seek
    - gf_filter_pid_set_property
    - gf_bs_available
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void h263dmx_check_dur(GF_Filter *filter, GF_H263DmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_h263.c:266,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_h263.c:299,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_h263.c:297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 318
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 318
    functionName: h263dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool h263dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 355
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 355
    functionName: h263dmx_next_start_code
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 h263dmx_next_start_code(u8 *data, u32 size) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_h263.c:388,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_h263.c:405,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_h263.c:413,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:423,1
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:477,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_h263.c:473,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:466,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_h263.c:481,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_h263.c:530,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_h263.c:536,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_h263.c:640,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:630,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:626,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_h263.c:495,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:636,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_h263.c:656,1
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:601,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_h263.c:641,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_h263.c:574,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_h263.c:403,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:414,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_h263.c:425,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_h263.c:444,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_h263.c:450,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_h263.c:533,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:542,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:556,1
    - Dst: h263dmx_update_cts
      Src: /src/gpac/src/filters/reframe_h263.c:566,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_h263.c:562,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:577,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:578,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:612,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:554,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_h263.c:642,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_h263.c:624,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_h263.c:564,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframe_h263.c:644,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_h263.c:406,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:429,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_h263.c:446,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:476,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_h263.c:440,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:486,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_h263.c:487,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_h263.c:488,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframe_h263.c:490,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:493,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:580,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_h263.c:645,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_h263.c:661,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:632,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_h263.c:634,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_h263.c:643,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_h263.c:570,1
    - Dst: h263_get_pic_size
      Src: /src/gpac/src/filters/reframe_h263.c:583,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_h263.c:401,1
    - Dst: h263dmx_check_dur
      Src: /src/gpac/src/filters/reframe_h263.c:399,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_h263.c:484,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_h263.c:489,1
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:502,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_h263.c:526,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_h263.c:560,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_h263.c:561,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframe_h263.c:563,1
    - Dst: h263dmx_check_pid
      Src: /src/gpac/src/filters/reframe_h263.c:585,1
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:498,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_h263.c:572,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_h263.c:540,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_h263.c:621,1
    - Dst: h263dmx_update_cts
      Src: /src/gpac/src/filters/reframe_h263.c:651,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:582,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 233
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 664
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 664
    functionName: h263dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - h263dmx_check_dur
    - h263dmx_next_start_code
    - h263dmx_update_cts
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - h263_get_pic_size
    - gf_filter_pck_ref_props
    - gf_filter_pck_merge_properties
    - h263dmx_check_pid
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err h263dmx_process(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:679,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:690,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_h263.c:685,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:688,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:689,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_h263.c:692,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_h263.c:693,1
    - Dst: h263dmx_next_start_code
      Src: /src/gpac/src/filters/reframe_h263.c:709,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 730
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 730
    functionName: h263dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached:
    - gf_bs_new
    - gf_bs_read_int
    - h263dmx_next_start_code
    - gf_bs_del
    linkageType: ''
    returnType: char*
    signature: 'static const char * h263dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: rfh263_register
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfh263_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: rfh263_register
    functionSourceFile: /src/gpac/src/filters/reframe_h263.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfh263_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:102,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:103,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:110,1
    - Dst: swap_2Ys_YUVpixel
      Src: /src/gpac/src/filters/vflip.c:122,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:104,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 141
    argCount: 5
    argNames:
    - ctx
    - line_src
    - line_dst
    - plane_idx
    - wiB
    argTypes:
    - GF_VFlipCtx*
    - u8*
    - u8*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 183
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 183
    functionName: horizontal_flip_per_line
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - swap_2Ys_YUVpixel
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void horizontal_flip_per_line(GF_VFlipCtx *ctx, u8 *line_src,
      u8 *line_dst, u32 plane_idx, u32 wiB) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:206,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:208,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vflip.c:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - src_plane
    - dst_plane
    - height
    - plane_idx
    - wiB
    argTypes:
    - GF_VFlipCtx*
    - u8*
    - u8*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: vertical_flip
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void vertical_flip(GF_VFlipCtx *ctx, u8 *src_plane, u8 *dst_plane,
      u32 height, u32 plane_idx, u32 wiB) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/vflip.c:355,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vflip.c:379,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vflip.c:423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vflip.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vflip.c:412,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vflip.c:452,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vflip.c:456,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/vflip.c:367,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vflip.c:373,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vflip.c:381,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/vflip.c:410,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vflip.c:451,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vflip.c:454,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vflip.c:458,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vflip.c:351,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/vflip.c:364,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vflip.c:375,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/vflip.c:436,1
    - Dst: memset
      Src: /src/gpac/src/filters/vflip.c:420,1
    - Dst: memset
      Src: /src/gpac/src/filters/vflip.c:407,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vflip.c:452,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vflip.c:456,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/vflip.c:461,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/vflip.c:360,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vflip.c:377,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/vflip.c:421,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/vflip.c:437,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vflip.c:451,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vflip.c:454,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/vflip.c:458,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 463
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 463
    functionName: vflip_configure_pid
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - memset
    - gf_pixel_get_size_info
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_FRAC
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vflip_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - line_src
    - line_dst
    - FourBytes_start_index
    argTypes:
    - GF_VFlipCtx*
    - u8*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: swap_2Ys_YUVpixel
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swap_2Ys_YUVpixel(GF_VFlipCtx *ctx, u8 *line_src, u8 *line_dst,
      u32 FourBytes_start_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horizontal_flip_per_line
      Src: /src/gpac/src/filters/vflip.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 7
    argNames:
    - ctx
    - src_plane
    - dst_plane
    - height
    - plane_idx
    - wiB
    - src_stride
    argTypes:
    - GF_VFlipCtx*
    - u8*
    - u8*
    - u32
    - u32
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: horizontal_flip
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - horizontal_flip_per_line
    linkageType: ''
    returnType: void
    signature: 'static void horizontal_flip(GF_VFlipCtx *ctx, u8 *src_plane, u8 *dst_plane,
      u32 height, u32 plane_idx, u32 wiB, u32 *src_stride) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/vflip.c:235,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/vflip.c:228,1
    - Dst: memset
      Src: /src/gpac/src/filters/vflip.c:243,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/vflip.c:278,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/vflip.c:227,1
    - Dst: memset
      Src: /src/gpac/src/filters/vflip.c:242,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/vflip.c:276,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/vflip.c:270,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/vflip.c:340,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vflip.c:223,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/vflip.c:239,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/vflip.c:240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vflip.c:265,1
    - Dst: horizontal_flip
      Src: /src/gpac/src/filters/vflip.c:333,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/vflip.c:224,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vflip.c:236,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/vflip.c:274,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vflip.c:266,1
    - Dst: vertical_flip
      Src: /src/gpac/src/filters/vflip.c:331,1
    - Dst: vertical_flip
      Src: /src/gpac/src/filters/vflip.c:335,1
    - Dst: horizontal_flip
      Src: /src/gpac/src/filters/vflip.c:336,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vflip.c:341,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 148
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 343
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 343
    functionName: vflip_process
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_new_clone
    - gf_filter_pck_get_frame_interface
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - GF_LOG
    - gf_pixel_get_bytes_per_pixel
    - gf_filter_pck_merge_properties
    - vertical_flip
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    - horizontal_flip
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vflip_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vflip.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/vflip.c:468,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/vflip.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: vflip_finalize
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vflip_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: vflip_register
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vflip_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: vflip_register
    functionSourceFile: /src/gpac/src/filters/vflip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vflip_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ogg.c:116,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ogg.c:118,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - oggpage
    argTypes:
    - GF_OGGDmxCtx*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: oggdmx_find_stream_for_page
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_pagein
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_OGGStream*
    signature: 'static GF_OGGStream *oggdmx_find_stream_for_page(GF_OGGDmxCtx *ctx,
      ogg_page *oggpage) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ogg.c:216,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:220,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:222,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:223,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:225,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:224,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_ogg.c:229,1
    - Dst: gf_odf_opus_cfg_write_bs
      Src: /src/gpac/src/filters/dmx_ogg.c:234,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/dmx_ogg.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:256,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_ogg.c:260,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:264,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:254,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_ogg.c:233,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_ogg.c:258,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_ogg.c:263,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:251,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:260,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:248,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:220,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dmx_ogg.c:219,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:221,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:222,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:223,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:224,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_ogg.c:228,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:225,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:244,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:248,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:264,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/dmx_ogg.c:227,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dmx_ogg.c:241,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ogg.c:242,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:254,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:258,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:263,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:251,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ogg.c:256,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - filter
    - ctx
    - st
    argTypes:
    - GF_Filter*
    - GF_OGGDmxCtx*
    - GF_OGGStream*
    constantsTouched: []
    func_position:
      end: 266
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 266
    functionName: oggdmx_declare_pid
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_bs_get_content
    - gf_bs_del
    - gf_stream_type_name
    - gf_list_find
    - gf_filter_pid_set_name
    - sprintf
    - gf_bs_new
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - PROP_FRAC
    - PROP_UINT
    - gf_odf_opus_cfg_write_bs
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_declare_pid(GF_Filter *filter, GF_OGGDmxCtx *ctx,
      GF_OGGStream *st) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:357,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_ogg.c:369,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:363,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_ogg.c:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: oggdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_check_caps
    - gf_list_enum
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oggdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:513,1
    - Dst: oggdmx_check_dur
      Src: /src/gpac/src/filters/dmx_ogg.c:526,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:546,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_ogg.c:555,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ogg.c:557,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:569,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 582
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 582
    functionName: oggdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - gf_list_enum
    - gf_filter_pid_send_event
    - oggdmx_check_dur
    linkageType: ''
    returnType: Bool
    signature: 'static Bool oggdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:666,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_ogg.c:676,1
    - Dst: gf_itags_find_by_name
      Src: /src/gpac/src/filters/dmx_ogg.c:680,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ogg.c:673,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ogg.c:673,1
    - Dst: gf_itags_get_name
      Src: /src/gpac/src/filters/dmx_ogg.c:682,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ogg.c:683,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ogg.c:683,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ogg.c:684,1
    - Dst: oggdmx_parse_picture
      Src: /src/gpac/src/filters/dmx_ogg.c:685,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ogg.c:687,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ogg.c:688,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/dmx_ogg.c:696,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:708,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ogg.c:696,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ogg.c:688,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - filter
    - st
    - data
    - size
    argTypes:
    - GF_Filter*
    - GF_OGGStream*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 717
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 717
    functionName: oggdmx_parse_tags
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_itags_find_by_name
    - GF_4CC
    - gf_filter_pid_set_property_dyn
    - PROP_STRING
    - strcmp
    - oggdmx_parse_picture
    - strchr
    - gf_itags_get_name
    - gf_filter_pid_set_property_str
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_parse_tags(GF_Filter *filter, GF_OGGStream *st,
      u8 *data, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:918,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_ogg.c:919,1
    - Dst: ogg_sync_init
      Src: /src/gpac/src/filters/dmx_ogg.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 922
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 922
    functionName: oggdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - ogg_sync_init
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggdmx_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: oggdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *oggdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:107,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_OGGDmxCtx*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: oggdmx_signal_eos
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: void
    signature: 'void oggdmx_signal_eos(GF_OGGDmxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:131,1
    - Dst: oggpack_readinit
      Src: /src/gpac/src/filters/dmx_ogg.c:145,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:182,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:189,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:198,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:187,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_ogg.c:128,1
    - Dst: oggpack_read
      Src: /src/gpac/src/filters/dmx_ogg.c:149,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:154,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_ogg.c:173,1
    - Dst: oggpack_adv
      Src: /src/gpac/src/filters/dmx_ogg.c:148,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:174,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ogg.c:184,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:183,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ogg.c:206,1
    - Dst: oggpack_read
      Src: /src/gpac/src/filters/dmx_ogg.c:135,1
    - Dst: oggpack_adv
      Src: /src/gpac/src/filters/dmx_ogg.c:134,1
    - Dst: oggpack_adv
      Src: /src/gpac/src/filters/dmx_ogg.c:137,1
    - Dst: oggpack_read
      Src: /src/gpac/src/filters/dmx_ogg.c:138,1
    - Dst: oggpack_adv
      Src: /src/gpac/src/filters/dmx_ogg.c:147,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:175,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:178,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:179,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ogg.c:185,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:186,1
    - Dst: oggpack_readinit
      Src: /src/gpac/src/filters/dmx_ogg.c:133,1
    - Dst: oggpack_read
      Src: /src/gpac/src/filters/dmx_ogg.c:136,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:143,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:160,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:167,1
    - Dst: oggpack_adv
      Src: /src/gpac/src/filters/dmx_ogg.c:146,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:176,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:177,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:180,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:181,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dmx_ogg.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 99
    argCount: 2
    argNames:
    - oggpacket
    - info
    argTypes:
    - ogg_packet*
    - OGGInfo*
    constantsTouched: []
    func_position:
      end: 208
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 208
    functionName: oggdmx_get_stream_info
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - memset
    - gf_bs_del
    - strncmp
    - gf_bs_read_int
    - oggpack_adv
    - gf_bs_new
    - oggpack_read
    - oggpack_readinit
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_get_stream_info(ogg_packet *oggpacket, OGGInfo
      *info) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:277,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:292,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ogg.c:298,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:319,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/dmx_ogg.c:342,1
    - Dst: ogg_page_serialno
      Src: /src/gpac/src/filters/dmx_ogg.c:275,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:302,1
    - Dst: ogg_stream_packetpeek
      Src: /src/gpac/src/filters/dmx_ogg.c:309,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ogg.c:320,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/dmx_ogg.c:306,1
    - Dst: oggdmx_declare_pid
      Src: /src/gpac/src/filters/dmx_ogg.c:332,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:282,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/dmx_ogg.c:281,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:280,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:290,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ogg.c:300,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:324,1
    - Dst: oggdmx_get_stream_info
      Src: /src/gpac/src/filters/dmx_ogg.c:313,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:310,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ogg.c:325,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:307,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_ogg.c:344,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 3
    argNames:
    - filter
    - ctx
    - oggpage
    argTypes:
    - GF_Filter*
    - GF_OGGDmxCtx*
    - ogg_page*
    constantsTouched: []
    func_position:
      end: 352
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 352
    functionName: oggdmx_new_stream
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_clear
    - gf_list_add
    - oggdmx_get_stream_info
    - gf_filter_pid_get_info
    - oggdmx_declare_pid
    - gf_list_enum
    - ogg_stream_pagein
    - ogg_stream_packetpeek
    - GF_LOG
    - gf_filter_release_property
    - ogg_stream_init
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_free
    - ogg_page_serialno
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err oggdmx_new_stream(GF_Filter *filter, GF_OGGDmxCtx *ctx,
      ogg_page *oggpage) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_feof
      Src: /src/gpac/src/filters/dmx_ogg.c:420,1
    - Dst: ogg_page_serialno
      Src: /src/gpac/src/filters/dmx_ogg.c:442,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:449,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:475,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_ogg.c:501,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:499,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/dmx_ogg.c:406,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_ogg.c:398,1
    - Dst: ogg_sync_pageout
      Src: /src/gpac/src/filters/dmx_ogg.c:416,1
    - Dst: ogg_sync_wrote
      Src: /src/gpac/src/filters/dmx_ogg.c:427,1
    - Dst: ogg_page_bos
      Src: /src/gpac/src/filters/dmx_ogg.c:432,1
    - Dst: ogg_sync_buffer
      Src: /src/gpac/src/filters/dmx_ogg.c:425,1
    - Dst: gf_vorbis_parse_header
      Src: /src/gpac/src/filters/dmx_ogg.c:454,1
    - Dst: gf_opus_check_frame
      Src: /src/gpac/src/filters/dmx_ogg.c:463,1
    - Dst: ogg_sync_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:472,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/dmx_ogg.c:473,1
    - Dst: ogg_sync_init
      Src: /src/gpac/src/filters/dmx_ogg.c:409,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_ogg.c:397,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_ogg.c:410,1
    - Dst: ogg_stream_packetpeek
      Src: /src/gpac/src/filters/dmx_ogg.c:435,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:434,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/dmx_ogg.c:433,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ogg.c:426,1
    - Dst: ogg_stream_pagein
      Src: /src/gpac/src/filters/dmx_ogg.c:436,1
    - Dst: ogg_stream_packetpeek
      Src: /src/gpac/src/filters/dmx_ogg.c:437,1
    - Dst: oggdmx_get_stream_info
      Src: /src/gpac/src/filters/dmx_ogg.c:438,1
    - Dst: ogg_stream_packetout
      Src: /src/gpac/src/filters/dmx_ogg.c:450,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:501,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_ogg.c:394,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_ogg.c:411,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/dmx_ogg.c:423,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/dmx_ogg.c:429,1
    - Dst: ogg_page_serialno
      Src: /src/gpac/src/filters/dmx_ogg.c:433,1
    - Dst: ogg_stream_init
      Src: /src/gpac/src/filters/dmx_ogg.c:442,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:447,1
    - Dst: gf_vorbis_check_frame
      Src: /src/gpac/src/filters/dmx_ogg.c:456,1
    - Dst: gf_opus_parse_header
      Src: /src/gpac/src/filters/dmx_ogg.c:461,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_ogg.c:505,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 126
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_OGGDmxCtx*
    constantsTouched: []
    func_position:
      end: 506
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 506
    functionName: oggdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - gf_opus_check_frame
    - memset
    - strncmp
    - gf_opus_parse_header
    - gf_vorbis_parse_header
    - PROP_FRAC64
    - gf_feof
    - ogg_stream_clear
    - oggdmx_get_stream_info
    - ogg_stream_pagein
    - ogg_stream_init
    - gf_fopen
    - ogg_page_serialno
    - gf_list_enum
    - gf_fread
    - gf_filter_pid_set_property
    - gf_ftell
    - memcpy
    - ogg_sync_buffer
    - ogg_stream_packetout
    - ogg_sync_wrote
    - ogg_sync_pageout
    - gf_filter_pid_get_property
    - ogg_sync_init
    - ogg_stream_packetpeek
    - ogg_sync_clear
    - ogg_page_bos
    - gf_vorbis_check_frame
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_check_dur(GF_Filter *filter, GF_OGGDmxCtx *ctx) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_ogg.c:589,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:597,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/dmx_ogg.c:612,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_ogg.c:623,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:628,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ogg.c:654,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:605,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ogg.c:624,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_ogg.c:620,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:631,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:658,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/dmx_ogg.c:589,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:592,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ogg.c:588,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_ogg.c:593,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:610,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_ogg.c:619,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ogg.c:621,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_ogg.c:614,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_ogg.c:654,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_ogg.c:587,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ogg.c:625,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:620,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:614,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_ogg.c:631,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 79
    argCount: 3
    argNames:
    - filter
    - st
    - data_b64
    argTypes:
    - GF_Filter*
    - GF_OGGStream*
    - u8*
    constantsTouched: []
    func_position:
      end: 659
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 659
    functionName: oggdmx_parse_picture
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - PROP_DATA
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_eos
    - gf_filter_pid_set_property_str
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - GF_4CC
    - gf_error_to_string
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - gf_base64_decode
    - gf_filter_pid_raw_new
    - gf_filter_pid_set_name
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_parse_picture(GF_Filter *filter, GF_OGGStream *st,
      u8 *data_b64) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: oggdmx_check_dur
      Src: /src/gpac/src/filters/dmx_ogg.c:729,1
    - Dst: ogg_sync_buffer
      Src: /src/gpac/src/filters/dmx_ogg.c:762,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_ogg.c:765,1
    - Dst: oggdmx_find_stream_for_page
      Src: /src/gpac/src/filters/dmx_ogg.c:776,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ogg.c:791,1
    - Dst: gf_opus_parse_header
      Src: /src/gpac/src/filters/dmx_ogg.c:804,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ogg.c:846,1
    - Dst: oggdmx_parse_tags
      Src: /src/gpac/src/filters/dmx_ogg.c:861,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_ogg.c:889,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_ogg.c:876,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ogg.c:893,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ogg.c:869,1
    - Dst: oggpackB_read
      Src: /src/gpac/src/filters/dmx_ogg.c:839,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:723,1
    - Dst: ogg_sync_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:733,1
    - Dst: ogg_sync_pageout
      Src: /src/gpac/src/filters/dmx_ogg.c:752,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_ogg.c:756,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:758,1
    - Dst: oggdmx_signal_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:758,1
    - Dst: ogg_sync_wrote
      Src: /src/gpac/src/filters/dmx_ogg.c:764,1
    - Dst: ogg_page_bos
      Src: /src/gpac/src/filters/dmx_ogg.c:770,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ogg.c:763,1
    - Dst: ogg_page_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:782,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:806,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ogg.c:882,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_ogg.c:888,1
    - Dst: oggpackB_read
      Src: /src/gpac/src/filters/dmx_ogg.c:846,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_ogg.c:868,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ogg.c:903,1
    - Dst: ogg_page_eos
      Src: /src/gpac/src/filters/dmx_ogg.c:874,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_ogg.c:896,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_ogg.c:886,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ogg.c:741,1
    - Dst: ogg_sync_init
      Src: /src/gpac/src/filters/dmx_ogg.c:734,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_ogg.c:761,1
    - Dst: gf_vorbis_parse_header
      Src: /src/gpac/src/filters/dmx_ogg.c:796,1
    - Dst: oggdmx_declare_pid
      Src: /src/gpac/src/filters/dmx_ogg.c:823,1
    - Dst: oggpackB_readinit
      Src: /src/gpac/src/filters/dmx_ogg.c:837,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ogg.c:844,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_ogg.c:845,1
    - Dst: gf_vorbis_check_frame
      Src: /src/gpac/src/filters/dmx_ogg.c:854,1
    - Dst: gf_opus_check_frame
      Src: /src/gpac/src/filters/dmx_ogg.c:858,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/dmx_ogg.c:860,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/dmx_ogg.c:897,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ogg.c:909,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ogg.c:898,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ogg.c:885,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_ogg.c:742,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:778,1
    - Dst: oggdmx_new_stream
      Src: /src/gpac/src/filters/dmx_ogg.c:771,1
    - Dst: ogg_stream_packetout
      Src: /src/gpac/src/filters/dmx_ogg.c:785,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:798,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_ogg.c:815,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/dmx_ogg.c:816,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dmx_ogg.c:817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ogg.c:830,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ogg.c:841,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ogg.c:900,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/dmx_ogg.c:869,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 167
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 914
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 914
    functionName: oggdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - oggdmx_parse_tags
    - gf_opus_check_frame
    - gf_filter_pid_is_eos
    - oggpackB_read
    - gf_bs_write_data
    - GF_LOG
    - gf_opus_parse_header
    - gf_filter_pid_drop_packet
    - gf_vorbis_parse_header
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - oggdmx_declare_pid
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - oggdmx_find_stream_for_page
    - gf_filter_pck_set_cts
    - oggdmx_check_dur
    - gf_filter_pck_set_duration
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_write_u16
    - oggdmx_signal_eos
    - oggpackB_readinit
    - gf_bs_new
    - gf_filter_pid_set_property
    - memcpy
    - ogg_sync_buffer
    - strnicmp
    - gf_filter_pck_set_roll_info
    - gf_filter_pid_would_block
    - gf_sys_old_arch_compat
    - gf_filter_pck_send
    - oggdmx_new_stream
    - ogg_stream_packetout
    - ogg_sync_wrote
    - ogg_sync_pageout
    - ogg_sync_init
    - ogg_sync_clear
    - ogg_page_eos
    - ogg_page_bos
    - gf_vorbis_check_frame
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err oggdmx_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ogg.c:926,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dmx_ogg.c:931,1
    - Dst: ogg_stream_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:932,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ogg.c:929,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ogg.c:930,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ogg.c:933,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:934,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:935,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ogg.c:936,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ogg.c:938,1
    - Dst: ogg_sync_clear
      Src: /src/gpac/src/filters/dmx_ogg.c:939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 940
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 940
    functionName: oggdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached:
    - ogg_stream_clear
    - gf_filter_get_udta
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - ogg_sync_clear
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void oggdmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: oggdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_ogg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *oggdmx_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: get_vlen_size
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 get_vlen_size(u32 len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:124,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:125,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:131,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:139,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:140,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:121,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:122,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:130,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:136,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/mux_gsf.c:143,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:128,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:129,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:135,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:137,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:142,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:126,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:133,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:134,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - GSFMxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: gsfmx_write_vlen
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gsfmx_write_vlen(GSFMxCtx *ctx, u32 len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: gsfmx_register
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *gsfmx_register(GF_FilterSession *session) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:366,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/mux_gsf.c:374,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:390,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:393,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/mux_gsf.c:384,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:396,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:431,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:446,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filters/mux_gsf.c:453,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:450,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:445,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_gsf.c:360,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_gsf.c:370,1
    - Dst: gf_bs_write_float
      Src: /src/gpac/src/filters/mux_gsf.c:374,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:388,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:381,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/mux_gsf.c:385,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:401,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:417,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:429,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:436,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:353,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:367,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_gsf.c:371,1
    - Dst: gf_bs_write_double
      Src: /src/gpac/src/filters/mux_gsf.c:377,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:394,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:402,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:403,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:411,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:421,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:443,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:356,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:363,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:380,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:389,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:395,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:410,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:420,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:457,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:438,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 64
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - GSFMxCtx*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 460
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 460
    functionName: gsfmx_write_prop
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_bs_write_u64
    - strlen
    - gf_bs_write_double
    - gf_bs_write_data
    - FIX2FLT
    - GF_LOG
    - gf_props_type_is_enum
    - gf_bs_write_u32
    - gf_bs_write_float
    - gf_bs_write_u8
    - gsfmx_write_vlen
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_write_prop(GSFMxCtx *ctx, const GF_PropertyValue
      *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsfmx_send_header
      Src: /src/gpac/src/filters/mux_gsf.c:712,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:721,1
    - Dst: gsfmx_write_pid_config
      Src: /src/gpac/src/filters/mux_gsf.c:719,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - filter
    - ctx
    - gst
    - is_info
    - is_carousel_update
    argTypes:
    - GF_Filter*
    - GSFMxCtx*
    - GSFStream*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 722
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 722
    functionName: gsfmx_send_pid_config
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gsfmx_send_packets
    - gsfmx_write_pid_config
    - gf_bs_reassign_buffer
    - gsfmx_send_header
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_send_pid_config(GF_Filter *filter, GSFMxCtx *ctx,
      GSFStream *gst, Bool is_info, Bool is_carousel_update) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_gsf.c:464,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_gsf.c:484,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/mux_gsf.c:467,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:485,1
    - Dst: gf_props_4cc_get_flags
      Src: /src/gpac/src/filters/mux_gsf.c:479,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_gsf.c:486,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/mux_gsf.c:490,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_gsf.c:491,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:492,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_gsf.c:493,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - prop_4cc
    - prop_name
    - sep_l
    argTypes:
    - GSFMxCtx*
    - u32
    - char*
    - u8
    constantsTouched: []
    func_position:
      end: 499
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 499
    functionName: gsfmx_is_prop_skip
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - gf_sys_is_test_mode
    - gf_4cc_to_str
    - gf_props_4cc_get_name
    - strstr
    - gf_props_4cc_get_flags
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool gsfmx_is_prop_skip(GSFMxCtx *ctx, u32 prop_4cc,
      const char *prop_name, u8 sep_l) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:867,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:868,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:915,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:899,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/mux_gsf.c:877,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:893,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:896,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:931,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:961,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/mux_gsf.c:914,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:892,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:912,1
    - Dst: gf_bs_write_u64
      Src: /src/gpac/src/filters/mux_gsf.c:934,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:970,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:967,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/mux_gsf.c:924,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_gsf.c:788,1
    - Dst: MAX
      Src: /src/gpac/src/filters/mux_gsf.c:843,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/mux_gsf.c:879,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:946,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:901,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:900,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:920,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:779,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:857,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:750,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/mux_gsf.c:871,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:937,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:1011,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:948,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:752,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:859,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:928,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:993,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/mux_gsf.c:883,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:767,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:895,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:991,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1004,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:944,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:908,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_gsf.c:850,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_gsf.c:862,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/mux_gsf.c:881,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:968,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:995,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/mux_gsf.c:907,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_gsf.c:763,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:856,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:865,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:886,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:748,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/mux_gsf.c:765,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:863,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:956,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:952,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:769,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/mux_gsf.c:787,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:855,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:858,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/mux_gsf.c:866,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:964,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:761,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/mux_gsf.c:864,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/mux_gsf.c:873,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:973,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:773,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/mux_gsf.c:875,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:963,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:950,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:891,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_gsf.c:976,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:902,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:771,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_gsf.c:813,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:1018,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:854,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_gsf.c:965,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/mux_gsf.c:997,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1013,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:966,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_gsf.c:925,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:971,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:775,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/mux_gsf.c:778,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:894,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 245
    argCount: 3
    argNames:
    - ctx
    - gst
    - pck
    argTypes:
    - GSFMxCtx*
    - GSFStream*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1020
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 1020
    functionName: gsfmx_write_data_packet
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - strlen
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - GF_LOG
    - gf_props_4cc_get_type
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - gf_bs_write_long_int
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_get_framing
    - gf_4cc_to_str
    - gf_filter_pck_get_data
    - gsfmx_can_serialize_prop
    - gsfmx_write_vlen
    - gf_filter_pck_get_corrupted
    - gf_bs_reassign_buffer
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_enum_properties
    - gf_filter_pck_get_clock_type
    - gf_bs_write_int
    - gf_assert
    - MAX
    - gf_filter_pck_get_dts
    - gf_bs_write_u64
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - gf_bs_get_position
    - gf_bs_write_u16
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pid_get_property
    - gf_pixel_get_bytes_per_pixel
    - gf_filter_pck_get_roll_info
    - gf_filter_pck_get_seek_flag
    - gsfmx_send_packets
    - gsfmx_write_prop
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_write_data_packet(GSFMxCtx *ctx, GSFStream *gst,
      GF_FilterPacket *pck) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_gsf.c:1034,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/mux_gsf.c:1045,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1049,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1053,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1051,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1055,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1066,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1029,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/mux_gsf.c:1036,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/mux_gsf.c:1046,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1054,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_gsf.c:1064,1
    - Dst: gsfmx_send_pid_config
      Src: /src/gpac/src/filters/mux_gsf.c:1078,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_gsf.c:1033,1
    - Dst: gsfmx_send_pid_rem
      Src: /src/gpac/src/filters/mux_gsf.c:1032,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_gsf.c:1035,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1050,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1052,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_gsf.c:1049,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/mux_gsf.c:1055,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:1058,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1060,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1026,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/mux_gsf.c:1041,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/mux_gsf.c:1048,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1054,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_gsf.c:1062,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:1072,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1080
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1080
    functionName: gsfmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - gsfmx_send_pid_config
    - gf_filter_pid_set_udta
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - PROP_UINT
    - gf_list_del_item
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gsfmx_send_pid_rem
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gsfmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1124,1
    - Dst: gsfmx_send_pid_config
      Src: /src/gpac/src/filters/mux_gsf.c:1128,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1132
    functionName: gsfmx_process_event
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_get_udta
    - gsfmx_send_pid_config
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gsfmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1085,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_gsf.c:1090,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_gsf.c:1086,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_gsf.c:1091,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_gsf.c:1093,1
    - Dst: gsfmx_send_pid_eos
      Src: /src/gpac/src/filters/mux_gsf.c:1096,1
    - Dst: gsfmx_write_data_packet
      Src: /src/gpac/src/filters/mux_gsf.c:1103,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_gsf.c:1104,1
    - Dst: gsfmx_send_header
      Src: /src/gpac/src/filters/mux_gsf.c:1108,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_gsf.c:1110,1
    - Dst: gsfmx_send_pid_config
      Src: /src/gpac/src/filters/mux_gsf.c:1111,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/mux_gsf.c:1116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1120
    functionName: gsfmx_process
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gsfmx_send_pid_eos
    - gf_list_get
    - gsfmx_send_header
    - gsfmx_send_pid_config
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_list_count
    - gsfmx_write_data_packet
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gsfmx_process(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/mux_gsf.c:1148,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_gsf.c:1150,1
    - Dst: gf_filter_is_alias
      Src: /src/gpac/src/filters/mux_gsf.c:1167,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/mux_gsf.c:1177,1
    - Dst: strcat
      Src: /src/gpac/src/filters/mux_gsf.c:1204,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_gsf.c:1224,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1154,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1154,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1158,1
    - Dst: gf_filter_act_as_sink
      Src: /src/gpac/src/filters/mux_gsf.c:1174,1
    - Dst: gf_rand_init
      Src: /src/gpac/src/filters/mux_gsf.c:1181,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_gsf.c:1169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1220,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_gsf.c:1144,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/mux_gsf.c:1162,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/mux_gsf.c:1197,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/mux_gsf.c:1198,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_gsf.c:1189,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/mux_gsf.c:1196,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/mux_gsf.c:1199,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/mux_gsf.c:1213,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/mux_gsf.c:1215,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1140,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/mux_gsf.c:1165,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/mux_gsf.c:1203,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1206,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/mux_gsf.c:1208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:1210,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1231
    functionName: gsfmx_initialize
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_act_as_sink
    - GF_LOG
    - gf_crypt_open
    - gf_filter_is_temporary
    - gf_filter_override_caps
    - gf_rand
    - gf_file_ext_start
    - gf_filter_get_udta
    - gf_error_to_string
    - PROP_STRING
    - gf_rand_init
    - PROP_UINT
    - gf_list_new
    - sprintf
    - gf_crypt_init
    - memcpy
    - gf_filter_is_dynamic
    - strcat
    - gf_filter_is_alias
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gsfmx_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1358
    functionName: gsfmx_register
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *gsfmx_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_vlen_size
      Src: /src/gpac/src/filters/mux_gsf.c:149,1
    - Dst: get_vlen_size
      Src: /src/gpac/src/filters/mux_gsf.c:150,1
    - Dst: get_vlen_size
      Src: /src/gpac/src/filters/mux_gsf.c:156,1
    - Dst: get_vlen_size
      Src: /src/gpac/src/filters/mux_gsf.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 8
    argNames:
    - ctx
    - gst
    - use_seq_num
    - first_frag
    - no_frag
    - pck_size
    - block_size
    - block_offset
    argTypes:
    - GSFMxCtx*
    - GSFStream*
    - Bool
    - Bool
    - Bool
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: gsfmx_get_header_size
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - get_vlen_size
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE u32 gsfmx_get_header_size(GSFMxCtx *ctx, GSFStream
      *gst, Bool use_seq_num, Bool first_frag, Bool no_frag, u32 pck_size, u32 block_size,
      u32 block_offset) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:239,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:245,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:248,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/mux_gsf.c:261,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:256,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:243,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/mux_gsf.c:281,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_gsf.c:291,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_gsf.c:297,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_gsf.c:299,1
    - Dst: gsfmx_get_header_size
      Src: /src/gpac/src/filters/mux_gsf.c:221,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/mux_gsf.c:229,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:255,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_gsf.c:250,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/mux_gsf.c:301,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/mux_gsf.c:199,1
    - Dst: gsfmx_encrypt
      Src: /src/gpac/src/filters/mux_gsf.c:211,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:233,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:237,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:259,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_gsf.c:263,1
    - Dst: gsfmx_encrypt
      Src: /src/gpac/src/filters/mux_gsf.c:286,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/mux_gsf.c:290,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_gsf.c:295,1
    - Dst: gsfmx_get_header_size
      Src: /src/gpac/src/filters/mux_gsf.c:224,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:240,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:241,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/mux_gsf.c:262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:278,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/mux_gsf.c:293,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 7
    argNames:
    - ctx
    - gst
    - pck_type
    - is_end
    - is_redundant
    - frame_size
    - frame_hdr_size
    argTypes:
    - GSFMxCtx*
    - GSFStream*
    - GF_GSFPacketType
    - Bool
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 305
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 305
    functionName: gsfmx_send_packets
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_assert
    - gf_bs_reassign_buffer
    - gsfmx_get_header_size
    - gf_filter_pck_set_dependency_flags
    - gf_bs_get_position
    - gsfmx_encrypt
    - gf_bs_write_u16
    - GF_LOG
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_bs_get_content_no_truncate
    - gf_bs_write_int
    - gsfmx_write_vlen
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_send_packets(GSFMxCtx *ctx, GSFStream *gst, GF_GSFPacketType
      pck_type, Bool is_end, Bool is_redundant, u32 frame_size, u32 frame_hdr_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:316,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - gst
    - is_eos
    argTypes:
    - GSFMxCtx*
    - GSFStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: gsfmx_send_pid_eos
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gsfmx_send_packets
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_send_pid_eos(GSFMxCtx *ctx, GSFStream *gst, Bool
      is_eos) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gsfmx_is_prop_skip
      Src: /src/gpac/src/filters/mux_gsf.c:518,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:515,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_gsf.c:539,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:567,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:565,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:588,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:585,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:597,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:614,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:644,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:566,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:575,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:609,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:626,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/mux_gsf.c:633,1
    - Dst: gsfmx_is_prop_skip
      Src: /src/gpac/src/filters/mux_gsf.c:647,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:657,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/mux_gsf.c:662,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:662,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/mux_gsf.c:662,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:653,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:656,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:654,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:517,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:559,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:578,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:581,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:591,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:594,1
    - Dst: gsfmx_is_prop_skip
      Src: /src/gpac/src/filters/mux_gsf.c:617,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:633,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/mux_gsf.c:642,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:645,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/mux_gsf.c:510,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:521,1
    - Dst: gf_filter_pid_get_alias_udta
      Src: /src/gpac/src/filters/mux_gsf.c:537,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:544,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_gsf.c:546,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:572,1
    - Dst: gsfmx_write_prop
      Src: /src/gpac/src/filters/mux_gsf.c:600,1
    - Dst: gsfmx_can_serialize_prop
      Src: /src/gpac/src/filters/mux_gsf.c:611,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/mux_gsf.c:631,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filters/mux_gsf.c:633,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/mux_gsf.c:660,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_gsf.c:650,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:652,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 108
    argCount: 3
    argNames:
    - filter
    - ctx
    - gst
    argTypes:
    - GF_Filter*
    - GSFMxCtx*
    - GSFStream*
    constantsTouched: []
    func_position:
      end: 666
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 666
    functionName: gsfmx_write_pid_config
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_props_dump
    - gf_bs_write_data
    - gf_filter_pid_enum_properties
    - GF_LOG
    - gf_props_4cc_get_type
    - gf_4cc_to_str
    - gsfmx_write_vlen
    - gsfmx_can_serialize_prop
    - gf_file_ext_start
    - gsfmx_is_prop_skip
    - gsfmx_write_prop
    - gf_filter_get_sep
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_filter_pid_get_property
    - gf_filter_pid_get_alias_udta
    - gf_log_tool_level_on
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_write_pid_config(GF_Filter *filter, GSFMxCtx *ctx,
      GSFStream *gst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1235,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_gsf.c:1236,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_gsf.c:1238,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_gsf.c:1237,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_gsf.c:1240,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/mux_gsf.c:1242,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_gsf.c:1243,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/mux_gsf.c:1245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1247
    functionName: gsfmx_finalize
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_crypt_close
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/mux_gsf.c:171,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/mux_gsf.c:176,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/mux_gsf.c:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - data
    - nb_crypt_bytes
    argTypes:
    - GSFMxCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 188
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 188
    functionName: gsfmx_encrypt
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_crypt_encrypt
    - gf_crypt_set_IV
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_encrypt(GSFMxCtx *ctx, char *data, u32 nb_crypt_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:309,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - gst
    argTypes:
    - GSFMxCtx*
    - GSFStream*
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: gsfmx_send_pid_rem
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    - gsfmx_send_packets
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_send_pid_rem(GSFMxCtx *ctx, GSFStream *gst) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/mux_gsf.c:324,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filters/mux_gsf.c:328,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:330,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filters/mux_gsf.c:328,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filters/mux_gsf.c:327,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/mux_gsf.c:330,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filters/mux_gsf.c:330,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/mux_gsf.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_gsf.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - p
    - prop_4cc
    argTypes:
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: gsfmx_can_serialize_prop
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_props_get_base_type
    - GF_LOG
    - gf_props_type_is_enum
    - gf_props_4cc_get_type
    - gf_props_get_type_name
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gsfmx_can_serialize_prop(const GF_PropertyValue *p, u32
      prop_4cc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/mux_gsf.c:675,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/mux_gsf.c:687,1
    - Dst: strlen
      Src: /src/gpac/src/filters/mux_gsf.c:683,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/mux_gsf.c:687,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/mux_gsf.c:678,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/mux_gsf.c:689,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:692,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_gsf.c:693,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filters/mux_gsf.c:694,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:696,1
    - Dst: gsfmx_write_vlen
      Src: /src/gpac/src/filters/mux_gsf.c:700,1
    - Dst: gsfmx_send_packets
      Src: /src/gpac/src/filters/mux_gsf.c:705,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/mux_gsf.c:697,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/mux_gsf.c:702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - filter
    - ctx
    - is_carousel_update
    argTypes:
    - GF_Filter*
    - GSFMxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 707
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 707
    functionName: gsfmx_send_header
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_bs_write_u16
    - gf_bs_write_data
    - gf_bs_new
    - gf_bs_write_u32
    - gsfmx_send_packets
    - gf_bs_write_u8
    - gf_bs_write_int
    - gsfmx_write_vlen
    linkageType: ''
    returnType: void
    signature: 'static void gsfmx_send_header(GF_Filter *filter, GSFMxCtx *ctx, Bool
      is_carousel_update) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_gsf.c:1251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - url
    - mime
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1253
    functionName: gsfmx_use_alias
    functionSourceFile: /src/gpac/src/filters/mux_gsf.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gsfmx_use_alias(GF_Filter *filter, const char *url, const
      char *mime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_sdp.c:50,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:53,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:57,1
    - Dst: gf_rtsp_range_parse
      Src: /src/gpac/src/filters/in_rtp_sdp.c:55,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:55,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:57,1
    - Dst: gf_rtsp_range_del
      Src: /src/gpac/src/filters/in_rtp_sdp.c:63,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_sdp.c:70,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_sdp.c:76,1
    - Dst: rtpin_stream_new
      Src: /src/gpac/src/filters/in_rtp_sdp.c:77,1
    - Dst: rtpin_add_stream
      Src: /src/gpac/src/filters/in_rtp_sdp.c:83,1
    - Dst: gf_rtsp_set_buffer_size
      Src: /src/gpac/src/filters/in_rtp_sdp.c:98,1
    - Dst: rtpin_stream_del
      Src: /src/gpac/src/filters/in_rtp_sdp.c:85,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 3
    argNames:
    - rtp
    - sdp
    - for_stream
    argTypes:
    - GF_RTPIn*
    - GF_SDPInfo*
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 105
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 105
    functionName: rtpin_setup_sdp
    functionSourceFile: /src/gpac/src/filters/in_rtp_sdp.c
    functionUses: []
    functionsReached:
    - rtpin_add_stream
    - strncmp
    - gf_rtsp_range_parse
    - gf_list_enum
    - gf_rtsp_range_del
    - gf_rtsp_set_buffer_size
    - strcmp
    - GF_LOG
    - rtpin_stream_new
    - rtpin_stream_del
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_setup_sdp(GF_RTPIn *rtp, GF_SDPInfo *sdp, GF_RTPInStream
      *for_stream) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_sdp.c:156,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:163,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:165,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:175,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/in_rtp_sdp.c:174,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:180,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:187,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_sdp.c:195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:220,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:281,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_rtp_sdp.c:241,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:253,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:275,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:280,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:167,1
    - Dst: gf_rtp_get_clockrate
      Src: /src/gpac/src/filters/in_rtp_sdp.c:167,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:177,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_sdp.c:193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:204,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/in_rtp_sdp.c:227,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:234,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:237,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:251,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_rtp_sdp.c:254,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/in_rtp_sdp.c:229,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/in_rtp_sdp.c:274,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:281,1
    - Dst: gf_filter_pid_recompute_dts
      Src: /src/gpac/src/filters/in_rtp_sdp.c:259,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:276,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/in_rtp_sdp.c:224,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:241,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:165,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:175,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_rtp_sdp.c:180,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:174,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:187,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:213,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:220,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:224,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:244,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:275,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:280,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_rtp_sdp.c:292,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:235,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:276,1
    - Dst: gf_filter_pid_recompute_dts
      Src: /src/gpac/src/filters/in_rtp_sdp.c:261,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:254,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/in_rtp_sdp.c:229,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_sdp.c:160,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/in_rtp_sdp.c:161,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:167,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:177,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_rtp_sdp.c:197,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_rtp_sdp.c:204,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:227,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:237,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:239,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:253,1
    - Dst: gf_rtp_get_clockrate
      Src: /src/gpac/src/filters/in_rtp_sdp.c:280,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_sdp.c:221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:244,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/in_rtp_sdp.c:251,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_sdp.c:292,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 123
    argCount: 4
    argNames:
    - stream
    - force_iod
    - ch_idx
    - ocr_es_id
    argTypes:
    - GF_RTPInStream*
    - Bool
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 295
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 295
    functionName: rtpin_declare_pid
    functionSourceFile: /src/gpac/src/filters/in_rtp_sdp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_get
    - PROP_4CC
    - PROP_DATA
    - gf_list_count
    - gf_filter_pid_recompute_dts
    - GF_LOG
    - gf_rtp_get_clockrate
    - gf_filter_pid_set_property
    - PROP_BOOL
    - PROP_STRING
    - PROP_FRAC64
    - PROP_UINT
    - gf_filter_pid_set_property_str
    - gf_assert
    - PROP_DATA_NO_COPY
    - gf_m4a_get_config
    linkageType: ''
    returnType: void
    signature: 'void rtpin_declare_pid(GF_RTPInStream *stream, Bool force_iod, u32
      ch_idx, u32 *ocr_es_id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:119,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/in_rtp_sdp.c:128,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_sdp.c:126,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_sdp.c:123,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_sdp.c:119,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:130,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_sdp.c:130,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_sdp.c:134,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_sdp.c:137,1
    - Dst: gf_base16_decode
      Src: /src/gpac/src/filters/in_rtp_sdp.c:139,1
    - Dst: gf_odf_desc_read
      Src: /src/gpac/src/filters/in_rtp_sdp.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - rtp
    - iod_str
    argTypes:
    - GF_RTPIn*
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 147
    functionName: rtpin_sdp_load_iod
    functionSourceFile: /src/gpac/src/filters/in_rtp_sdp.c
    functionUses: []
    functionsReached:
    - gf_odf_desc_read
    - strlen
    - gf_base16_decode
    - strnicmp
    - gf_base64_decode
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_sdp_load_iod(GF_RTPIn *rtp, char *iod_str) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_sdp_info_new
      Src: /src/gpac/src/filters/in_rtp_sdp.c:328,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_sdp.c:333,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp_sdp.c:338,1
    - Dst: rtpin_setup_sdp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:331,1
    - Dst: gf_sdp_info_parse
      Src: /src/gpac/src/filters/in_rtp_sdp.c:329,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_sdp.c:340,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp_sdp.c:341,1
    - Dst: gf_sdp_info_del
      Src: /src/gpac/src/filters/in_rtp_sdp.c:344,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_sdp.c:352,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:354,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:356,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp_sdp.c:387,1
    - Dst: rtpin_declare_media
      Src: /src/gpac/src/filters/in_rtp_sdp.c:388,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_sdp.c:372,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:357,1
    - Dst: rtpin_stream_setup
      Src: /src/gpac/src/filters/in_rtp_sdp.c:393,1
    - Dst: gf_sdp_info_del
      Src: /src/gpac/src/filters/in_rtp_sdp.c:395,1
    - Dst: rtpin_sdp_load_iod
      Src: /src/gpac/src/filters/in_rtp_sdp.c:366,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 4
    argNames:
    - rtp
    - sdp_text
    - sdp_len
    - stream
    argTypes:
    - GF_RTPIn*
    - char*
    - u32
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 396
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 396
    functionName: rtpin_load_sdp
    functionSourceFile: /src/gpac/src/filters/in_rtp_sdp.c
    functionUses: []
    functionsReached:
    - rtpin_setup_sdp
    - rtpin_declare_media
    - gf_list_enum
    - gf_list_count
    - GF_LOG
    - strcmp
    - gf_filter_setup_failure
    - gf_sdp_info_del
    - rtpin_sdp_load_iod
    - stricmp
    - gf_sdp_info_parse
    - rtpin_stream_setup
    - gf_sdp_info_new
    linkageType: ''
    returnType: void
    signature: 'void rtpin_load_sdp(GF_RTPIn *rtp, char *sdp_text, u32 sdp_len, GF_RTPInStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_sdp.c:305,1
    - Dst: rtpin_declare_pid
      Src: /src/gpac/src/filters/in_rtp_sdp.c:310,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_sdp.c:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - rtp
    - force_iod
    argTypes:
    - GF_RTPIn*
    - Bool
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: rtpin_declare_media
    functionSourceFile: /src/gpac/src/filters/in_rtp_sdp.c
    functionUses: []
    functionsReached:
    - rtpin_declare_pid
    - gf_list_enum
    - strnicmp
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_declare_media(GF_RTPIn *rtp, Bool force_iod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ai
    - for_reconf
    argTypes:
    - struct _audiointerface*
    - Bool
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: resample_get_config
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool resample_get_config(struct _audiointerface *ai, Bool for_reconf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: resample_get_speed
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Fixed
    signature: 'static Fixed resample_get_speed(void *callback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:135,1
    - Dst: gf_mixer_new
      Src: /src/gpac/src/filters/resample_audio.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: resample_initialize
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_mixer_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err resample_initialize(GF_Filter *filter) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/resample_audio.c:167,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/resample_audio.c:201,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/resample_audio.c:229,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/resample_audio.c:249,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:255,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:257,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:256,1
    - Dst: gf_filter_pid_get_max_buffer
      Src: /src/gpac/src/filters/resample_audio.c:179,1
    - Dst: gf_mixer_add_input
      Src: /src/gpac/src/filters/resample_audio.c:183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/resample_audio.c:219,1
    - Dst: gf_audio_fmt_get_cicp_layout
      Src: /src/gpac/src/filters/resample_audio.c:228,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/resample_audio.c:206,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/resample_audio.c:192,1
    - Dst: gf_audio_fmt_get_num_channels_from_layout
      Src: /src/gpac/src/filters/resample_audio.c:221,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/filters/resample_audio.c:232,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/resample_audio.c:238,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:254,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/resample_audio.c:258,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:163,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/resample_audio.c:174,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/src/filters/resample_audio.c:179,1
    - Dst: gf_audio_fmt_get_layout_from_name
      Src: /src/gpac/src/filters/resample_audio.c:217,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/resample_audio.c:244,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:255,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:257,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/resample_audio.c:170,1
    - Dst: gf_mixer_remove_input
      Src: /src/gpac/src/filters/resample_audio.c:166,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/resample_audio.c:178,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/resample_audio.c:187,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/resample_audio.c:197,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:254,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:256,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:258,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 260
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 260
    functionName: resample_configure_pid
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_mixer_remove_input
    - gf_filter_pid_get_max_buffer
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_audio_fmt_get_num_channels_from_layout
    - gf_audio_fmt_get_layout_from_cicp
    - gf_filter_pid_remove
    - gf_mixer_set_config
    - gf_audio_fmt_get_cicp_layout
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    - gf_audio_fmt_is_planar
    - gf_audio_fmt_get_layout_from_name
    - gf_mixer_add_input
    - gf_filter_pid_set_max_buffer
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err resample_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/resample_audio.c:379,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:416,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/resample_audio.c:420,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:418,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:419,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:417,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/resample_audio.c:391,1
    - Dst: gf_mixer_set_config
      Src: /src/gpac/src/filters/resample_audio.c:409,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/resample_audio.c:426,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:375,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/resample_audio.c:387,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/resample_audio.c:394,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:416,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:418,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/resample_audio.c:419,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:417,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/resample_audio.c:424,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/resample_audio.c:420,1
    - Dst: FIX2INT
      Src: /src/gpac/src/filters/resample_audio.c:425,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/resample_audio.c:383,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/resample_audio.c:396,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 430
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 430
    functionName: resample_reconfigure_output
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - PROP_LONGUINT
    - GF_FEVT_INIT
    - gf_filter_pid_set_property
    - FLT2FIX
    - gf_filter_pid_caps_query
    - FIX2INT
    - PROP_UINT
    - gf_mixer_set_config
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err resample_reconfigure_output(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/resample_audio.c:66,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/resample_audio.c:81,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/resample_audio.c:67,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/resample_audio.c:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - callback
    - size
    - planar_stride
    - audio_delay_ms
    argTypes:
    - void*
    - u32*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: resample_fetch_frame
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_packet
    - gf_assert
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: u8*
    signature: 'static u8 *resample_fetch_frame(void *callback, u32 *size, u32 *planar_stride,
      u32 audio_delay_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - callback
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: resample_is_muted
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool resample_is_muted(void *callback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/resample_audio.c:97,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/resample_audio.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - callback
    - nb_bytes
    argTypes:
    - void*
    - u32
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: resample_release_frame
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void resample_release_frame(void *callback, u32 nb_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - callback
    - vol
    argTypes:
    - void*
    - Fixed*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: resample_get_channel_volume
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool resample_get_channel_volume(void *callback, Fixed *vol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:152,1
    - Dst: gf_mixer_del
      Src: /src/gpac/src/filters/resample_audio.c:153,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/resample_audio.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: resample_finalize
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_mixer_del
    - gf_filter_pid_drop_packet
    linkageType: ''
    returnType: void
    signature: 'static void resample_finalize(GF_Filter *filter) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/resample_audio.c:272,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/resample_audio.c:312,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/resample_audio.c:345,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/resample_audio.c:320,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/resample_audio.c:341,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/resample_audio.c:347,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/resample_audio.c:348,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:268,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/resample_audio.c:313,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/resample_audio.c:337,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/resample_audio.c:333,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/resample_audio.c:349,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/resample_audio.c:350,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/resample_audio.c:283,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/resample_audio.c:292,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/resample_audio.c:293,1
    - Dst: FIX2INT
      Src: /src/gpac/src/filters/resample_audio.c:293,1
    - Dst: ABS
      Src: /src/gpac/src/filters/resample_audio.c:302,1
    - Dst: gf_mixer_get_output
      Src: /src/gpac/src/filters/resample_audio.c:339,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/resample_audio.c:363,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/resample_audio.c:280,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/resample_audio.c:277,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/resample_audio.c:293,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 367
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 367
    functionName: resample_process
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_mixer_get_output
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - ABS
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - FIX2INT
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err resample_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/resample_audio.c:437,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/resample_audio.c:438,1
    - Dst: FIX2INT
      Src: /src/gpac/src/filters/resample_audio.c:445,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/resample_audio.c:446,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/resample_audio.c:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: resample_process_event
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - FLT2FIX
    - FIX2INT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool resample_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_cicp_all_names
      Src: /src/gpac/src/filters/resample_audio.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: resample_register
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_cicp_all_names
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *resample_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: resample_register
    functionSourceFile: /src/gpac/src/filters/resample_audio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *resample_register(GF_FilterSession *session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_img.c:119,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_img.c:135,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_img.c:133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 145
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 145
    functionName: img_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'Bool img_process_event(GF_Filter *filter, const GF_FilterEvent *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_img.c:88,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_img.c:108,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/reframe_img.c:99,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_img.c:96,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_img.c:104,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_img.c:109,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: img_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err img_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: rfimg_register
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfimg_register(GF_FilterSession *session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_img.c:386,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:387,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:395,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:388,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:392,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:398,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:402,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 408
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 408
    functionName: img_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_new
    - gf_bs_del
    linkageType: ''
    returnType: char*
    signature: 'static const char * img_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_img.c:149,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:234,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:274,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_img.c:367,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_img.c:202,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_img.c:212,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:232,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_img.c:263,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_img.c:160,1
    - Dst: gf_img_parse
      Src: /src/gpac/src/filters/reframe_img.c:189,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_img.c:194,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_img.c:196,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:245,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_img.c:285,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:299,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:330,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:206,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_img.c:221,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:241,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:245,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_img.c:295,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_img.c:302,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:330,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:233,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_img.c:266,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:241,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:296,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_img.c:162,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:190,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:202,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:212,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:236,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:264,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_img.c:270,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_img.c:336,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_img.c:293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_img.c:313,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:289,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_img.c:200,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_img.c:204,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:233,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_img.c:249,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_img.c:333,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_img.c:338,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:236,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_img.c:238,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_img.c:297,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:246,1
    - Dst: gf_ntohl
      Src: /src/gpac/src/filters/reframe_img.c:300,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:331,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:257,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_img.c:282,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:200,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:204,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:249,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_img.c:325,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_img.c:286,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:272,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_img.c:340,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:246,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:235,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:238,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_img.c:262,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_img.c:267,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_img.c:284,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/reframe_img.c:298,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:331,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_img.c:164,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_img.c:170,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:217,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_img.c:265,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:368,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_img.c:188,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:235,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframe_img.c:279,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:329,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_img.c:288,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:209,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_img.c:223,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_img.c:240,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_img.c:329,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:200,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/reframe_img.c:204,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_img.c:303,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_img.c:231,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:234,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_img.c:232,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_img.c:339,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 282
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 370
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 370
    functionName: img_process
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_is_eos
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_del
    - GF_4CC
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pid_copy_properties
    - strcmp
    - gf_img_parse
    - PROP_UINT
    - gf_filter_pck_set_cts
    - stricmp
    - gf_bs_read_data
    - gf_filter_pck_set_duration
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_ntohl
    - gf_bs_get_position
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pid_get_property
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err img_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: rfimg_register
    functionSourceFile: /src/gpac/src/filters/reframe_img.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfimg_register(GF_FilterSession *session) '
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:123,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_dvb4linux.c:140,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/in_dvb4linux.c:142,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_dvb4linux.c:165,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:228,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:234,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:244,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:246,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:252,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:258,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:275,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_dvb4linux.c:137,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_dvb4linux.c:148,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:151,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:160,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_dvb4linux.c:162,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_dvb4linux.c:170,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:176,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:180,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:210,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_dvb4linux.c:215,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:219,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:242,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:372,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_dvb4linux.c:374,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:269,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:229,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:233,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/in_dvb4linux.c:153,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_dvb4linux.c:157,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:230,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:232,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:245,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:251,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:253,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_dvb4linux.c:273,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_dvb4linux.c:357,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:370,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:227,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:238,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:248,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:269,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:231,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:256,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:259,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_dvb4linux.c:113,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/in_dvb4linux.c:117,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_dvb4linux.c:121,1
    - Dst: gf_strict_atoui
      Src: /src/gpac/src/filters/in_dvb4linux.c:186,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:168,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:202,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:206,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_dvb4linux.c:206,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:218,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:226,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:239,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:249,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:257,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_dvb4linux.c:367,1
    - Dst: abs
      Src: /src/gpac/src/filters/in_dvb4linux.c:341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:360,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:240,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 268
    argCount: 3
    argNames:
    - ctx
    - chan_name
    - params
    argTypes:
    - GF_DVBLinuxCtx*
    - char*
    - GF_DVBParams*
    constantsTouched: []
    func_position:
      end: 377
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 377
    functionName: dvblin_get_channel_params
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_strict_atoui
    - memset
    - strncmp
    - sscanf
    - strcpy
    - gf_fgets
    - GF_LOG
    - strcmp
    - gf_fclose
    - atoi
    - strncpy
    - strchr
    - gf_feof
    - abs
    - gf_fopen
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dvblin_get_channel_params(GF_DVBLinuxCtx *ctx, char
      *chan_name, GF_DVBParams *params) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_dvb4linux.c:446,1
    - Dst: open
      Src: /src/gpac/src/filters/in_dvb4linux.c:449,1
    - Dst: dvblin_get_channel_params
      Src: /src/gpac/src/filters/in_dvb4linux.c:441,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:457,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:486,1
    - Dst: send_diseqc
      Src: /src/gpac/src/filters/in_dvb4linux.c:484,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:505,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:459,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/in_dvb4linux.c:519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:560,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:594,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:450,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:455,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:530,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:532,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:534,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:584,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_dvb4linux.c:588,1
    - Dst: open
      Src: /src/gpac/src/filters/in_dvb4linux.c:589,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:583,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:456,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:458,1
    - Dst: fprintf
      Src: /src/gpac/src/filters/in_dvb4linux.c:502,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:504,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:506,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:546,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:569,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_dvb4linux.c:576,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:590,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_dvb4linux.c:436,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:499,1
    - Dst: send_diseqc
      Src: /src/gpac/src/filters/in_dvb4linux.c:497,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:507,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:531,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:533,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:535,1
    - Dst: DVB_SET_PROP
      Src: /src/gpac/src/filters/in_dvb4linux.c:552,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:555,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:557,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_dvb4linux.c:595,1
    - Dst: open
      Src: /src/gpac/src/filters/in_dvb4linux.c:567,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_dvb4linux.c:566,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 130
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DVBLinuxCtx*
    constantsTouched: []
    func_position:
      end: 597
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 597
    functionName: dvblin_tune
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - memset
    - fprintf
    - sprintf
    - GF_LOG
    - dvblin_stop
    - dvblin_get_channel_params
    - gf_sys_clock
    - strchr
    - send_diseqc
    - open
    - ioctl
    - DVB_SET_PROP
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dvblin_tune(GF_DVBLinuxCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dvblin_get_freq_from_url
      Src: /src/gpac/src/filters/in_dvb4linux.c:641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:649,1
    - Dst: dvblin_tune
      Src: /src/gpac/src/filters/in_dvb4linux.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DVBLinuxCtx*
    constantsTouched: []
    func_position:
      end: 653
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 653
    functionName: dvblin_setup_demux
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_dvblin_get_freq_from_url
    - GF_LOG
    - dvblin_tune
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvblin_setup_demux(GF_DVBLinuxCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_dvb4linux.c:665,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_dvb4linux.c:675,1
    - Dst: dvblin_setup_demux
      Src: /src/gpac/src/filters/in_dvb4linux.c:673,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 685
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 685
    functionName: dvblin_process_event
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - dvblin_setup_demux
    - dvblin_stop
    - gf_filter_post_process_task
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dvblin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 743
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 743
    functionName: dvblin_probe_url
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'GF_FilterProbeScore dvblin_probe_url(const char *url, const char *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_dvb4linux.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - session
    - freg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: dvbin_cleanreg
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dvbin_cleanreg(GF_FilterSession *session, GF_FilterRegister *freg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gpac/src/filters/in_dvb4linux.c:96,1
    - Dst: close
      Src: /src/gpac/src/filters/in_dvb4linux.c:98,1
    - Dst: close
      Src: /src/gpac/src/filters/in_dvb4linux.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DVBLinuxCtx*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: dvblin_stop
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: 'static void dvblin_stop(GF_DVBLinuxCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:392,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/in_dvb4linux.c:401,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:397,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:393,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:404,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/in_dvb4linux.c:407,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:410,1
    - Dst: ioctl
      Src: /src/gpac/src/filters/in_dvb4linux.c:415,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/in_dvb4linux.c:413,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/in_dvb4linux.c:419,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - cmd
    - voltage
    - tone_mode
    - mini_c
    argTypes:
    - GF_DVBLinuxCtx*
    - struct dvb_diseqc_master_cmd*
    - fe_sec_voltage_t
    - fe_sec_tone_mode_t
    - fe_sec_mini_cmd_t
    constantsTouched: []
    func_position:
      end: 421
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 421
    functionName: send_diseqc
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_sleep
    - GF_LOG
    - ioctl
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err send_diseqc(GF_DVBLinuxCtx *ctx, struct dvb_diseqc_master_cmd
      *cmd, fe_sec_voltage_t voltage, fe_sec_tone_mode_t tone_mode, fe_sec_mini_cmd_t
      mini_c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_dvb4linux.c:658,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_dvb4linux.c:660,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: dvblin_finalize
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - dvblin_stop
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void dvblin_finalize(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_dvb4linux.c:693,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_dvb4linux.c:703,1
    - Dst: read
      Src: /src/gpac/src/filters/in_dvb4linux.c:700,1
    - Dst: dvblin_stop
      Src: /src/gpac/src/filters/in_dvb4linux.c:705,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_dvb4linux.c:704,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_dvb4linux.c:709,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_dvb4linux.c:716,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_dvb4linux.c:718,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/in_dvb4linux.c:723,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_dvb4linux.c:723,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_dvb4linux.c:731,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_dvb4linux.c:730,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_dvb4linux.c:727,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_dvb4linux.c:729,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 737
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 737
    functionName: dvblin_process
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_raw_new
    - dvblin_stop
    - gf_filter_ask_rt_reschedule
    - gf_filter_pck_set_framing
    - gf_sys_clock
    - memcpy
    - gf_filter_setup_failure
    - PROP_UINT
    - gf_filter_pid_set_property_str
    - gf_filter_pck_send
    - read
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dvblin_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_dvb4linux.c:749,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:752,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_dvb4linux.c:755,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:758,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/in_dvb4linux.c:754,1
    - Dst: dvbin_list_channels
      Src: /src/gpac/src/filters/in_dvb4linux.c:760,1
    - Dst: dvblin_setup_demux
      Src: /src/gpac/src/filters/in_dvb4linux.c:764,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_dvb4linux.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 772
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 772
    functionName: dvblin_initialize
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - dvblin_setup_demux
    - gf_malloc
    - GF_LOG
    - strnicmp
    - dvbin_list_channels
    - stricmp
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dvblin_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: dvblin_process
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dvblin_process(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/in_dvb4linux.c:876,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:883,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_dvb4linux.c:893,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:894,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:900,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:899,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_dvb4linux.c:864,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_dvb4linux.c:910,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:896,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/in_dvb4linux.c:905,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_dvb4linux.c:868,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_dvb4linux.c:874,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:881,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:886,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:888,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:897,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_dvb4linux.c:906,1
    - Dst: gf_sys_solve_path
      Src: /src/gpac/src/filters/in_dvb4linux.c:862,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_dvb4linux.c:898,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - for_reg
    - _for_ctx
    argTypes:
    - GF_FilterRegister*
    - void*
    constantsTouched: []
    func_position:
      end: 917
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 917
    functionName: dvbin_list_channels
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_sys_solve_path
    - gf_realloc
    - gf_strdup
    - gf_fgets
    - gf_fopen
    - strchr
    - gf_fclose
    - gf_feof
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dvbin_list_channels(GF_FilterRegister *for_reg, void
      *_for_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_dvb4linux.c:923,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_dvb4linux.c:923,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_dvb4linux.c:935,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_dvb4linux.c:932,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_dvb4linux.c:933,1
    - Dst: dvbin_list_channels
      Src: /src/gpac/src/filters/in_dvb4linux.c:940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 944
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 944
    functionName: dvbin_register
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - dvbin_list_channels
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *dvbin_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_dvb4linux.c:608,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/in_dvb4linux.c:612,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_dvb4linux.c:620,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/in_dvb4linux.c:613,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:618,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_dvb4linux.c:623,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_dvb4linux.c:625,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_dvb4linux.c:630,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - url
    argTypes:
    - GF_DVBLinuxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 632
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 632
    functionName: gf_dvblin_get_freq_from_url
    functionSourceFile: /src/gpac/src/filters/in_dvb4linux.c
    functionUses: []
    functionsReached:
    - gf_fgets
    - strcmp
    - gf_fopen
    - strchr
    - atoi
    - gf_fclose
    - gf_feof
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_dvblin_get_freq_from_url(GF_DVBLinuxCtx *ctx, const
      char *url) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:126,1
    - Dst: strstr
      Src: /src/gpac/src/filters/io_fcryp.c:132,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/io_fcryp.c:129,1
    - Dst: gf_filter_get_src_args
      Src: /src/gpac/src/filters/io_fcryp.c:131,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/io_fcryp.c:137,1
    - Dst: cryptfile_on_filter_setup_error
      Src: /src/gpac/src/filters/io_fcryp.c:138,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/io_fcryp.c:142,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/io_fcryp.c:144,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/io_fcryp.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: cryptfin_initialize
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_get_src_args
    - gf_filter_set_source
    - gf_sys_is_cov_mode
    - strncmp
    - cryptfile_on_filter_setup_error
    - gf_filter_set_setup_failure_callback
    - strstr
    - gf_filter_connect_source
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cryptfin_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/io_fcryp.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: cryptfile_probe_url
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore cryptfile_probe_url(const char *url, const
      char *mime_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:193,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/io_fcryp.c:204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:204,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 208
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 208
    functionName: cryptfin_net_io
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - memcpy
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void cryptfin_net_io(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: cryptin_register
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cryptin_register(GF_FilterSession *session) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:498,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/io_fcryp.c:526,1
    - Dst: gf_crypt_set_key
      Src: /src/gpac/src/filters/io_fcryp.c:564,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:565,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/io_fcryp.c:568,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/io_fcryp.c:583,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:594,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/io_fcryp.c:612,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:617,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/io_fcryp.c:624,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/io_fcryp.c:630,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:627,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/io_fcryp.c:507,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/io_fcryp.c:505,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/io_fcryp.c:515,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/io_fcryp.c:519,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/io_fcryp.c:536,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/io_fcryp.c:538,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:561,1
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/io_fcryp.c:555,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/io_fcryp.c:575,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/io_fcryp.c:581,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/io_fcryp.c:623,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/io_fcryp.c:499,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/io_fcryp.c:505,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/io_fcryp.c:560,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:570,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:576,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:586,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/io_fcryp.c:592,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/io_fcryp.c:593,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/io_fcryp.c:599,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/io_fcryp.c:621,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/io_fcryp.c:524,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:531,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:544,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:557,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/io_fcryp.c:563,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/io_fcryp.c:541,1
    - Dst: gf_crypt_encrypt
      Src: /src/gpac/src/filters/io_fcryp.c:590,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:616,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:631,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 145
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 633
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 633
    functionName: cryptfout_process
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - gf_crypt_open
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_filter_pid_get_packet
    - gf_crypt_set_IV
    - gf_list_insert
    - memcmp
    - gf_filter_pck_set_framing
    - gf_crypt_init
    - gf_crypt_set_key
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_crypt_encrypt
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cryptfout_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: cryptin_register
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cryptin_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:84,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/io_fcryp.c:94,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/io_fcryp.c:87,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/io_fcryp.c:91,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/io_fcryp.c:93,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/io_fcryp.c:95,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/io_fcryp.c:95,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/io_fcryp.c:97,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/io_fcryp.c:98,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/io_fcryp.c:101,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/io_fcryp.c:102,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/io_fcryp.c:102,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/io_fcryp.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: cryptfile_configure_pid
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - PROP_NAME
    - gf_filter_pid_set_eos
    - PROP_UINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cryptfile_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/io_fcryp.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - failed_filter
    - udta
    - err
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: cryptfile_on_filter_setup_error
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_notification_failure
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cryptfile_on_filter_setup_error(GF_Filter *failed_filter,
      void *udta, GF_Err err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:150,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/io_fcryp.c:156,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/io_fcryp.c:155,1
    - Dst: gf_crypt_close
      Src: /src/gpac/src/filters/io_fcryp.c:151,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:152,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:157,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/io_fcryp.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: cryptfile_finalize
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_crypt_close
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void cryptfile_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_open
      Src: /src/gpac/src/filters/io_fcryp.c:172,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/io_fcryp.c:182,1
    - Dst: gf_crypt_set_key
      Src: /src/gpac/src/filters/io_fcryp.c:180,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:174,1
    - Dst: gf_crypt_init
      Src: /src/gpac/src/filters/io_fcryp.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_CryptFileCtx*
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: cryptfile_set_key
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_crypt_init
    - gf_crypt_set_key
    - gf_crypt_open
    - gf_crypt_set_IV
    linkageType: ''
    returnType: void
    signature: 'static void cryptfile_set_key(GF_CryptFileCtx *ctx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/io_fcryp.c:289,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:299,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/io_fcryp.c:303,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/io_fcryp.c:321,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:324,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/io_fcryp.c:336,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/io_fcryp.c:338,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/io_fcryp.c:340,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/io_fcryp.c:338,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:219,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/io_fcryp.c:245,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/io_fcryp.c:253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:256,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/io_fcryp.c:256,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/io_fcryp.c:285,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:318,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:330,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/io_fcryp.c:234,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/io_fcryp.c:227,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:292,1
    - Dst: gf_crypt_set_IV
      Src: /src/gpac/src/filters/io_fcryp.c:272,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/io_fcryp.c:313,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:317,1
    - Dst: gf_crypt_decrypt
      Src: /src/gpac/src/filters/io_fcryp.c:319,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/io_fcryp.c:320,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/io_fcryp.c:334,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/io_fcryp.c:336,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/io_fcryp.c:341,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/io_fcryp.c:224,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/io_fcryp.c:226,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/io_fcryp.c:251,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/io_fcryp.c:296,1
    - Dst: cryptfile_set_key
      Src: /src/gpac/src/filters/io_fcryp.c:268,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/io_fcryp.c:286,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/io_fcryp.c:260,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/io_fcryp.c:297,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/io_fcryp.c:302,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 110
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 343
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 343
    functionName: cryptfin_process
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_download_manager
    - gf_filter_pid_is_eos
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_data
    - gf_dm_sess_new
    - gf_filter_get_udta
    - gf_filter_pck_new_clone
    - gf_filter_pck_new_alloc
    - gf_dm_sess_setup_from_url
    - gf_filter_pid_set_info
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - gf_crypt_set_IV
    - gf_crypt_decrypt
    - gf_dm_sess_process
    - gf_filter_pck_set_framing
    - memcpy
    - cryptfile_set_key
    - gf_filter_pck_send
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cryptfin_process(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_instance_of
      Src: /src/gpac/src/filters/io_fcryp.c:394,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/io_fcryp.c:401,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/io_fcryp.c:404,1
    - Dst: cryptfile_set_key
      Src: /src/gpac/src/filters/io_fcryp.c:439,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:450,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/io_fcryp.c:448,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:416,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/io_fcryp.c:418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:425,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/filters/io_fcryp.c:442,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/io_fcryp.c:443,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:399,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/io_fcryp.c:422,1
    - Dst: strlen
      Src: /src/gpac/src/filters/io_fcryp.c:423,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/io_fcryp.c:435,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:438,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/io_fcryp.c:446,1
    - Dst: cryptfile_set_key
      Src: /src/gpac/src/filters/io_fcryp.c:453,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/io_fcryp.c:455,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/io_fcryp.c:410,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - filter
    - key_url
    - key_IV
    argTypes:
    - GF_Filter*
    - char*
    - bin128
    constantsTouched: []
    func_position:
      end: 459
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 459
    functionName: gf_cryptfin_set_kms
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strlen
    - strncmp
    - sscanf
    - gf_filter_is_instance_of
    - gf_strdup
    - strcmp
    - GF_LOG
    - gf_fread
    - memcpy
    - cryptfile_set_key
    - gf_free
    - gf_fclose
    - gf_url_is_local
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'void gf_cryptfin_set_kms(GF_Filter *filter, const char *key_url, bin128
      key_IV) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:468,1
    - Dst: gf_filter_get_src_args
      Src: /src/gpac/src/filters/io_fcryp.c:476,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/io_fcryp.c:472,1
    - Dst: strstr
      Src: /src/gpac/src/filters/io_fcryp.c:477,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/io_fcryp.c:471,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/io_fcryp.c:481,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/io_fcryp.c:483,1
    - Dst: gf_filter_mirror_forced_caps
      Src: /src/gpac/src/filters/io_fcryp.c:485,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 488
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 488
    functionName: cryptfout_initialize
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_get_src_args
    - gf_filter_set_source
    - strncmp
    - gf_filter_mirror_forced_caps
    - gf_filter_connect_destination
    - gf_list_new
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err cryptfout_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: cryptout_register
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cryptout_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_instance_of
      Src: /src/gpac/src/filters/io_fcryp.c:672,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/io_fcryp.c:676,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:681,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/io_fcryp.c:675,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/io_fcryp.c:680,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/io_fcryp.c:684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - filter
    - key
    - IV
    argTypes:
    - GF_Filter*
    - bin128*
    - bin128*
    constantsTouched: []
    func_position:
      end: 685
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 685
    functionName: gf_cryptfout_push_key
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_is_instance_of
    - memcpy
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cryptfout_push_key(GF_Filter *filter, bin128 *key, bin128
      *IV) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: cryptout_register
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *cryptout_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - key
    - IV
    argTypes:
    - GF_Filter*
    - bin128*
    - bin128*
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: gf_cryptfout_push_key
    functionSourceFile: /src/gpac/src/filters/io_fcryp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_cryptfout_push_key(GF_Filter *filter, bin128 *key, bin128
      *IV) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bifs_decode_has_conditionnals
      Src: /src/gpac/src/filters/dec_bifs.c:153,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dec_bifs.c:154,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:168,1
    - Dst: gf_bifs_decode_has_conditionnals
      Src: /src/gpac/src/filters/dec_bifs.c:176,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_bifs.c:189,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_bifs.c:196,1
    - Dst: gf_bifs_decode_au
      Src: /src/gpac/src/filters/dec_bifs.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_bifs.c:200,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_bifs.c:163,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_bifs.c:172,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_bifs.c:189,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_bifs.c:183,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dec_bifs.c:177,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/dec_bifs.c:206,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:147,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_bifs.c:154,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:166,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_bifs.c:188,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_bifs.c:179,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dec_bifs.c:198,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_bifs.c:202,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_bifs.c:156,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_bifs.c:165,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_bifs.c:177,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:185,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_bifs.c:174,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_bifs.c:191,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 209
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 209
    functionName: bifs_dec_process
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_check_sys_frame
    - gf_filter_pid_is_eos
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_filter_pid_set_info
    - gf_filter_pid_get_packet
    - gf_scene_attach_to_compositor
    - gf_bifs_decode_au
    - gf_timestamp_to_clocktime
    - gf_filter_pid_get_udta
    - gf_bifs_decode_has_conditionnals
    - gf_filter_get_ipid
    - gf_filter_pid_get_property
    - gf_filter_get_ipid_count
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bifs_dec_process(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:221,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:240,1
    - Dst: bifs_dec_configure_bifs_dec
      Src: /src/gpac/src/filters/dec_bifs.c:247,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dec_bifs.c:239,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dec_bifs.c:237,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_bifs.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 254
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 254
    functionName: bifs_dec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - bifs_dec_configure_bifs_dec
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_udta
    - gf_filter_get_ipid_count
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bifs_dec_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:51,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:59,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/filters/dec_bifs.c:67,1
    - Dst: gf_bifs_decoder_new
      Src: /src/gpac/src/filters/dec_bifs.c:68,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:54,1
    - Dst: gf_bifs_decoder_new
      Src: /src/gpac/src/filters/dec_bifs.c:71,1
    - Dst: gf_bifs_decoder_configure_stream
      Src: /src/gpac/src/filters/dec_bifs.c:76,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - pid
    argTypes:
    - GF_BIFSDecCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 80
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 80
    functionName: bifs_dec_configure_bifs_dec
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached:
    - gf_node_get_graph
    - gf_filter_pid_get_property
    - gf_bifs_decoder_configure_stream
    - gf_bifs_decoder_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bifs_dec_configure_bifs_dec(GF_BIFSDecCtx *ctx, GF_FilterPid
      *pid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:85,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:89,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:93,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:104,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_bifs.c:98,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_bifs.c:108,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:112,1
    - Dst: bifs_dec_configure_bifs_dec
      Src: /src/gpac/src/filters/dec_bifs.c:113,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/dec_bifs.c:117,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_bifs.c:123,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_bifs.c:128,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_bifs.c:127,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_bifs.c:126,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_bifs.c:127,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 133
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 133
    functionName: bifs_dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_filter_pid_new
    - bifs_dec_configure_bifs_dec
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err bifs_dec_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_bifs.c:213,1
    - Dst: gf_bifs_decoder_del
      Src: /src/gpac/src/filters/dec_bifs.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: bifs_dec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bifs_decoder_del
    linkageType: ''
    returnType: void
    signature: 'static void bifs_dec_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: bifsdec_register
    functionSourceFile: /src/gpac/src/filters/dec_bifs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bifsdec_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/in_sock.c:219,1
    - Dst: gf_rtp_reorderer_del
      Src: /src/gpac/src/filters/in_sock.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - GF_SockInClient*
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: sockin_client_reset
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_rtp_reorderer_del
    - gf_sk_del
    linkageType: ''
    returnType: void
    signature: 'static void sockin_client_reset(GF_SockInClient *sc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/in_sock.c:260,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/in_sock.c:262,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_sock.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: sockin_rtp_destructor
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_udta
    - gf_filter_pck_get_data
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void sockin_rtp_destructor(GF_Filter *filter, GF_FilterPid
      *pid, GF_FilterPacket *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:246,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:249,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:250,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: sockin_probe_url
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore sockin_probe_url(const char *url, const
      char *mime_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_sock.c:273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: sockin_process_event
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool sockin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_sock.c:458,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_sock.c:473,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:476,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:478,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_sock.c:479,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_SockInCtx*
    constantsTouched: []
    func_position:
      end: 484
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 484
    functionName: sockin_check_eos
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_sys_clock
    - gf_filter_pid_set_eos
    - GF_LOG
    - gf_filter_setup_failure
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockin_check_eos(GF_Filter *filter, GF_SockInCtx *ctx) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_new
      Src: /src/gpac/src/filters/in_sock.c:104,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:114,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_sock.c:128,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/filters/in_sock.c:158,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/in_sock.c:137,1
    - Dst: gf_sk_listen
      Src: /src/gpac/src/filters/in_sock.c:162,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/filters/in_sock.c:165,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:185,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_sock.c:205,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_sock.c:205,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:111,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_sock.c:141,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/in_sock.c:155,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/in_sock.c:160,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/in_sock.c:195,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_sock.c:204,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_sock.c:212,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_sock.c:97,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:116,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_sock.c:124,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/in_sock.c:147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:130,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_sock.c:139,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_sock.c:172,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/in_sock.c:178,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/filters/in_sock.c:196,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/in_sock.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:101,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_sock.c:107,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/in_sock.c:128,1
    - Dst: gf_sk_setup_multicast_ex
      Src: /src/gpac/src/filters/in_sock.c:148,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_sock.c:139,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_sock.c:164,1
    - Dst: gf_sk_connect
      Src: /src/gpac/src/filters/in_sock.c:169,1
    - Dst: gf_sk_get_remote_address
      Src: /src/gpac/src/filters/in_sock.c:173,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_sock.c:183,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/in_sock.c:193,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_sock.c:201,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_sock.c:208,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 215
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 215
    functionName: sockin_initialize
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_LOG
    - gf_sk_del
    - gf_filter_set_blocking
    - strstr
    - gf_filter_get_udta
    - gf_sk_group_new
    - gf_filter_prevent_blocking
    - atoi
    - strcpy
    - gf_list_new
    - gf_sk_group_register
    - gf_sys_clock
    - gf_filter_post_process_task
    - gf_sk_bind
    - gf_sk_setup_multicast_ex
    - strchr
    - strnicmp
    - gf_sk_connect
    - gf_sk_set_block_mode
    - gf_sk_set_buffer_size
    - gf_filter_get_netcap_id
    - gf_sk_get_remote_address
    - strrchr
    - gf_sk_is_multicast_address
    - gf_sk_listen
    - gf_sk_new_ex
    - gf_sk_server_mode
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockin_initialize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_sock.c:229,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_sock.c:232,1
    - Dst: sockin_client_reset
      Src: /src/gpac/src/filters/in_sock.c:234,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_sock.c:235,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_sock.c:233,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_sock.c:237,1
    - Dst: sockin_client_reset
      Src: /src/gpac/src/filters/in_sock.c:239,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_sock.c:240,1
    - Dst: gf_sk_group_del
      Src: /src/gpac/src/filters/in_sock.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: sockin_finalize
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sk_group_del
    - gf_list_del
    - gf_list_count
    - gf_free
    - sockin_client_reset
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void sockin_finalize(GF_Filter *filter) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/in_sock.c:305,1
    - Dst: gf_rtp_reorderer_new
      Src: /src/gpac/src/filters/in_sock.c:366,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_sock.c:386,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_sock.c:410,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_sock.c:423,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_sock.c:388,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_sock.c:426,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/in_sock.c:434,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/in_sock.c:301,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/in_sock.c:324,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:348,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_sock.c:348,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_sock.c:407,1
    - Dst: sockin_process_event
      Src: /src/gpac/src/filters/in_sock.c:391,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_sock.c:428,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_sock.c:440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:441,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_sock.c:327,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_sock.c:378,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/in_sock.c:383,1
    - Dst: gf_rtp_reorderer_get
      Src: /src/gpac/src/filters/in_sock.c:405,1
    - Dst: gf_sk_receive_no_select
      Src: /src/gpac/src/filters/in_sock.c:312,1
    - Dst: gf_rtp_reorderer_add
      Src: /src/gpac/src/filters/in_sock.c:403,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_sock.c:409,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_sock.c:429,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_sock.c:440,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 115
    argCount: 3
    argNames:
    - filter
    - ctx
    - sock_c
    argTypes:
    - GF_Filter*
    - GF_SockInCtx*
    - GF_SockInClient*
    constantsTouched: []
    func_position:
      end: 451
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 451
    functionName: sockin_read_client
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_set_udta
    - GF_LOG
    - gf_filter_pid_set_eos
    - gf_sk_receive_no_select
    - gf_rtp_reorderer_new
    - gf_filter_pck_new_alloc
    - gf_filter_pid_set_info
    - PROP_UINT
    - gf_rtp_reorderer_get
    - gf_filter_pid_send_flush
    - gf_filter_pck_set_framing
    - gf_sys_clock
    - memcpy
    - gf_filter_pck_send
    - gf_rtp_reorderer_add
    - gf_filter_pid_would_block
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - gf_sys_is_cov_mode
    - gf_sys_clock_high_res
    - sockin_process_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockin_read_client(GF_Filter *filter, GF_SockInCtx *ctx,
      GF_SockInClient *sock_c) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_sock.c:491,1
    - Dst: sockin_check_eos
      Src: /src/gpac/src/filters/in_sock.c:498,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/in_sock.c:526,1
    - Dst: sockin_read_client
      Src: /src/gpac/src/filters/in_sock.c:533,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/in_sock.c:545,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/in_sock.c:538,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:563,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_sock.c:608,1
    - Dst: gf_sk_group_select
      Src: /src/gpac/src/filters/in_sock.c:495,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_sock.c:505,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:546,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_sock.c:551,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/in_sock.c:559,1
    - Dst: gf_sk_get_remote_address
      Src: /src/gpac/src/filters/in_sock.c:560,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_sock.c:565,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_sock.c:566,1
    - Dst: sockin_read_client
      Src: /src/gpac/src/filters/in_sock.c:579,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/in_sock.c:592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:511,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_sock.c:543,1
    - Dst: gf_sk_accept
      Src: /src/gpac/src/filters/in_sock.c:539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_sock.c:574,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/in_sock.c:577,1
    - Dst: sockin_client_reset
      Src: /src/gpac/src/filters/in_sock.c:585,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/in_sock.c:589,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_sock.c:591,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_sock.c:501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_sock.c:504,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_sock.c:512,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_sock.c:518,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/in_sock.c:527,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_sock.c:553,1
    - Dst: gf_sk_set_block_mode
      Src: /src/gpac/src/filters/in_sock.c:561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_sock.c:572,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_sock.c:581,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_sock.c:583,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_sock.c:601,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_sock.c:588,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 108
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 614
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 614
    functionName: sockin_process
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - sockin_client_reset
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - strcpy
    - gf_list_del_item
    - gf_sk_group_register
    - gf_list_get
    - gf_sk_group_select
    - gf_sk_group_sock_is_set
    - gf_sk_accept
    - gf_sys_clock
    - gf_free
    - sockin_read_client
    - gf_sk_set_block_mode
    - gf_sk_get_remote_address
    - gf_sys_clock_high_res
    - sockin_check_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err sockin_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_sock.c:698,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_sock.c:700,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_sock.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 706
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 706
    functionName: sockin_register
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *sockin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: sockin_register
    functionSourceFile: /src/gpac/src/filters/in_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *sockin_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: httpio_eof
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpio_eof(GF_FileIO *fileio) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:688,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:690,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:706,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:725,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:710,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:704,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:730,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:733,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/filters/out_http.c:744,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:757,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:677,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:695,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:723,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:727,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:731,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:736,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/filters/out_http.c:750,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:754,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:755,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:759,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:686,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:683,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_http.c:715,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:703,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:736,1
    - Dst: httpout_dir_file_enum
      Src: /src/gpac/src/filters/out_http.c:742,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/filters/out_http.c:751,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:761,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:763,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:684,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:685,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:691,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:702,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:705,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:712,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:738,1
    - Dst: gf_enum_directory
      Src: /src/gpac/src/filters/out_http.c:745,1
    - Dst: gf_sk_get_host_name
      Src: /src/gpac/src/filters/out_http.c:756,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:758,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:765,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 3
    argNames:
    - ctx
    - full_path
    - di
    argTypes:
    - GF_HTTPOutCtx*
    - char*
    - HTTP_DIRInfo*
    constantsTouched: []
    func_position:
      end: 767
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 767
    functionName: httpout_create_listing
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - httpout_dir_file_enum
    - strncmp
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_sk_get_host_name
    - sprintf
    - strrchr
    - gf_enum_directory
    - strchr
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static char *httpout_create_listing(GF_HTTPOutCtx *ctx, char *full_path,
      HTTP_DIRInfo *di) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:1194,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/out_http.c:1199,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1197,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1196,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/out_http.c:1198,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:1200,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:1201,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1203,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1204,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1205,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - udta
    - code
    argTypes:
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1207
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1207
    functionName: js_sess_close
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - JS_NewInt32
    - js_dump_error
    - JS_IsUndefined
    - JS_Call
    - JS_GetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void js_sess_close(void *udta, GF_Err code) '
  - BBCount: 230
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1668,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_http.c:1689,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2314,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2146,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_http.c:2333,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:1746,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:2049,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:2335,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2155,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:2092,1
    - Dst: gf_dm_sess_get_resource_name
      Src: /src/gpac/src/filters/out_http.c:1469,1
    - Dst: httpout_do_log
      Src: /src/gpac/src/filters/out_http.c:1480,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:1658,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1758,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:1928,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2343,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2162,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2251,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2375,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:2307,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1610,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_http.c:1751,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1900,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:1937,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2403,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2238,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2456,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2464,1
    - Dst: gf_dm_sess_send_reply
      Src: /src/gpac/src/filters/out_http.c:2449,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:1811,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1850,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1934,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2382,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2417,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1999,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2229,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2189,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2233,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_http.c:2321,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2433,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:1727,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1859,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2231,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:2313,1
    - Dst: gf_file_load_data_filep
      Src: /src/gpac/src/filters/out_http.c:2177,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2236,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1861,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1954,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1586,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:1788,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2164,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:2439,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2117,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:2338,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:1987,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_http.c:2015,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/filters/out_http.c:2459,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:2061,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2289,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1483,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:1712,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1944,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1972,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:2466,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2243,1
    - Dst: httpout_new_subsession
      Src: /src/gpac/src/filters/out_http.c:1436,1
    - Dst: httpout_create_listing
      Src: /src/gpac/src/filters/out_http.c:2000,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:2191,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:1666,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:1715,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:1824,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/out_http.c:1897,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2324,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/filters/out_http.c:1729,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/filters/out_http.c:1835,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:2279,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:2303,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2129,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:1661,1
    - Dst: gf_dm_sess_enum_headers
      Src: /src/gpac/src/filters/out_http.c:1499,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1675,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2195,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2110,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2134,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1677,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/out_http.c:1501,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:1796,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2366,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1517,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1659,1
    - Dst: httpout_sess_parse_range
      Src: /src/gpac/src/filters/out_http.c:1705,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:1721,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1766,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1935,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2264,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2384,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1919,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2213,1
    - Dst: httpout_auth_check
      Src: /src/gpac/src/filters/out_http.c:1621,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2258,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2245,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_http.c:1709,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:1597,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:1700,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:2106,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:1611,1
    - Dst: httpout_create_listing
      Src: /src/gpac/src/filters/out_http.c:2002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2307,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:2034,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2069,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2123,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/out_http.c:2134,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1704,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1976,1
    - Dst: httpout_push_headers
      Src: /src/gpac/src/filters/out_http.c:2443,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/out_http.c:2277,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:2343,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1509,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1771,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2205,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2148,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2392,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1643,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1842,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2388,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:1684,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1574,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:1652,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2253,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2396,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_http.c:2045,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1623,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1764,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2187,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:2451,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1595,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1991,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2356,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2466,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:1524,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1678,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1783,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1797,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:2070,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_http.c:2099,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2373,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:2344,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/out_http.c:2180,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1518,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:2199,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2404,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1594,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_http.c:1645,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:2219,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1837,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2201,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/out_http.c:2268,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2418,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/out_http.c:2368,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2409,1
    - Dst: httpout_push_headers
      Src: /src/gpac/src/filters/out_http.c:2291,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/out_http.c:2112,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2255,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1669,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1728,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1936,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/out_http.c:2272,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2422,1
    - Dst: httpout_auth_check
      Src: /src/gpac/src/filters/out_http.c:1848,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1877,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:1986,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2389,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:1536,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:1837,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1749,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1878,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:2327,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1648,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:2090,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2119,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2135,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2426,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2196,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:2093,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2449,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2454,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1721,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1615,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:1899,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:1921,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1875,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1965,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2156,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2217,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2266,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:2325,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2413,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2247,1
    - Dst: httpout_push_headers
      Src: /src/gpac/src/filters/out_http.c:1731,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1863,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:2483,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:2070,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/out_http.c:2426,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:2305,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1617,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1738,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1940,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:1571,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:1799,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1833,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:2007,1
    - Dst: gf_filter_probe_data
      Src: /src/gpac/src/filters/out_http.c:2040,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:2464,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2149,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:1768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2303,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2415,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:1723,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1781,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/out_http.c:1711,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2249,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2298,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:1713,1
    - Dst: gf_gz_compress_payload_ex
      Src: /src/gpac/src/filters/out_http.c:2181,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2221,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2334,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1465,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1612,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/out_http.c:1771,1
    - Dst: gf_dm_sess_send_reply
      Src: /src/gpac/src/filters/out_http.c:2314,1
    - Dst: httpout_auth_check
      Src: /src/gpac/src/filters/out_http.c:1534,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1621,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1856,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1586,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_http.c:1751,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2157,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/filters/out_http.c:2350,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:1793,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/out_http.c:1811,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1823,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1904,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:2048,1
    - Dst: httpout_format_date
      Src: /src/gpac/src/filters/out_http.c:2112,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/out_http.c:2028,1
    - Dst: httpout_format_date
      Src: /src/gpac/src/filters/out_http.c:2368,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2154,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2215,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2397,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1989,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1815,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:2019,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:1609,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2113,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2128,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/out_http.c:2437,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2369,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2470,1
    - Dst: assert
      Src: /src/gpac/src/filters/out_http.c:1733,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1933,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:2013,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/out_http.c:1996,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2144,1
    - Dst: gf_url_percent_decode
      Src: /src/gpac/src/filters/out_http.c:1474,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1805,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1937,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1966,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2259,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2270,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:1745,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2168,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1649,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1697,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:1825,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2222,1
    - Dst: gf_dm_sess_server_reset
      Src: /src/gpac/src/filters/out_http.c:2488,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1636,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1544,1
    - Dst: strcat
      Src: /src/gpac/src/filters/out_http.c:1836,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2319,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2263,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2281,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:2354,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:1723,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1548,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1588,1
    - Dst: httpout_sess_parse_range
      Src: /src/gpac/src/filters/out_http.c:2075,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2391,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2305,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2293,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2427,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1537,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1534,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_http.c:1929,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:2316,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2120,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1971,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1795,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1692,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1510,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:1583,1
    - Dst: gf_file_modification_time
      Src: /src/gpac/src/filters/out_http.c:2071,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/filters/out_http.c:2364,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2380,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:2210,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:2116,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:1848,1
    - Dst: gf_dm_sess_clear_headers
      Src: /src/gpac/src/filters/out_http.c:2108,1
    CyclomaticComplexity: 404
    EdgeCount: 404
    ICount: 1029
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 2491
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 2491
    functionName: httpout_sess_io
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_utf8_is_legal
    - gf_filter_pid_is_eos
    - strncmp
    - gf_url_percent_decode
    - gf_filter_pid_enum_properties
    - GF_LOG
    - gf_filter_release_property
    - gf_dm_sess_send_reply
    - gf_file_modification_time
    - httpout_mark_session_done
    - httpout_auth_check
    - gf_fseek
    - httpout_sess_flush_close
    - strstr
    - gf_file_ext_start
    - gf_dm_sess_set_header
    - gf_gz_compress_payload_ex
    - gf_filter_probe_data
    - gf_list_find
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_fsize
    - httpout_sess_parse_range
    - gf_file_delete
    - gf_file_load_data_filep
    - gf_assert
    - gf_fopen
    - gf_dm_sess_get_resource_name
    - httpout_create_listing
    - gf_sk_group_register
    - gf_dynstrcat
    - gf_list_get
    - gf_dm_sess_get_header
    - assert
    - gf_filter_pid_get_info
    - httpout_push_headers
    - gf_dm_sess_enum_headers
    - sprintf
    - gf_fread
    - strchr
    - gf_dm_sess_server_reset
    - gf_free
    - get_method_name
    - gf_net_get_utc
    - gf_fileio_url
    - httpout_do_log
    - gf_filter_pid_is_flush_eos
    - strcat
    - gf_dm_sess_is_hmux
    - gf_realloc
    - sscanf
    - gf_filter_pid_get_property
    - gf_fileio_resource_url
    - httpout_new_subsession
    - httpout_format_date
    - gf_dir_exists
    - gf_dm_sess_clear_headers
    - strncpy
    - gf_sys_clock_high_res
    - gf_fclose
    - gf_opts_default_shared_directory
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void httpout_sess_io(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpout_in_io_ex
      Src: /src/gpac/src/filters/out_http.c:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 2577
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2577
    functionName: httpout_in_io_llhas
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_in_io_ex
    linkageType: ''
    returnType: void
    signature: 'static void httpout_in_io_llhas(void *usr_cbk, GF_NETIO_Parameter
      *parameter) '
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:2920,1
    - Dst: gf_cfg_del
      Src: /src/gpac/src/filters/out_http.c:3050,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3069,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:3067,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:3280,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:3280,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:3295,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/filters/out_http.c:3230,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3062,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:3023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3080,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3045,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3038,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:3120,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:3147,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3148,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_http.c:3237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3114,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3068,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3040,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3032,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filters/out_http.c:3051,1
    - Dst: gf_dm_quic_get_socket
      Src: /src/gpac/src/filters/out_http.c:3211,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/filters/out_http.c:3284,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:3254,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:3070,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2927,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3031,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3187,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_http.c:3222,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:3282,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:3293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3241,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:2936,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:2938,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:3004,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:3028,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/out_http.c:3093,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:3119,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3053,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3165,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/out_http.c:3186,1
    - Dst: gf_dm_quic_server_new
      Src: /src/gpac/src/filters/out_http.c:3203,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:3244,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3291,1
    - Dst: JS_Eval
      Src: /src/gpac/src/filters/out_http.c:3290,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/out_http.c:2992,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3027,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:3151,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3247,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/filters/out_http.c:3286,1
    - Dst: gf_sk_server_mode
      Src: /src/gpac/src/filters/out_http.c:3245,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3039,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2923,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/out_http.c:2973,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_http.c:2978,1
    - Dst: gf_cfg_get_section_name
      Src: /src/gpac/src/filters/out_http.c:3011,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3129,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/out_http.c:3181,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/out_http.c:3203,1
    - Dst: gf_sk_listen
      Src: /src/gpac/src/filters/out_http.c:3239,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/out_http.c:3265,1
    - Dst: gf_cfg_new
      Src: /src/gpac/src/filters/out_http.c:3008,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:3026,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:2939,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2957,1
    - Dst: gf_filter_make_sticky
      Src: /src/gpac/src/filters/out_http.c:2998,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3042,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3249,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_http.c:3284,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_http.c:3237,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/out_http.c:3007,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:3034,1
    - Dst: httpio_eof
      Src: /src/gpac/src/filters/out_http.c:3101,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3044,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3138,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3208,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:3213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3214,1
    - Dst: gf_sk_listen
      Src: /src/gpac/src/filters/out_http.c:3224,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3077,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/filters/out_http.c:3092,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:2937,1
    - Dst: gf_filter_is_alias
      Src: /src/gpac/src/filters/out_http.c:2992,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3021,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3022,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3076,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3126,1
    - Dst: gf_ssl_init_lib
      Src: /src/gpac/src/filters/out_http.c:3155,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:3208,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_http.c:3238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:3059,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_http.c:2985,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3014,1
    - Dst: gf_cfg_get_key
      Src: /src/gpac/src/filters/out_http.c:3029,1
    - Dst: gf_sk_new_ex
      Src: /src/gpac/src/filters/out_http.c:3222,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:3226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3270,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:3301,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:3303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3233,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3058,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:3118,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3041,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3082,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/out_http.c:2963,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:3084,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/out_http.c:3100,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3142,1
    - Dst: gf_ssl_server_context_new
      Src: /src/gpac/src/filters/out_http.c:3159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3226,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3271,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_http.c:3313,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:2949,1
    - Dst: gf_cfg_get_section_count
      Src: /src/gpac/src/filters/out_http.c:3009,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3043,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:3057,1
    - Dst: gf_sk_group_new
      Src: /src/gpac/src/filters/out_http.c:3123,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3170,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/out_http.c:3177,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:3297,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:3300,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:3305,1
    - Dst: JS_SetContextOpaque
      Src: /src/gpac/src/filters/out_http.c:3274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3307,1
    - Dst: MIN
      Src: /src/gpac/src/filters/out_http.c:2948,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:2955,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/out_http.c:2983,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3012,1
    - Dst: gf_ssl_server_context_new
      Src: /src/gpac/src/filters/out_http.c:3198,1
    - Dst: gf_sk_bind
      Src: /src/gpac/src/filters/out_http.c:3223,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:3229,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/out_http.c:3280,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/out_http.c:3281,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:3241,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:3086,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_http.c:2981,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3216,1
    - Dst: gf_js_create_context
      Src: /src/gpac/src/filters/out_http.c:3268,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/out_http.c:3277,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:3296,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:3304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3074,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/out_http.c:2947,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2969,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_http.c:2951,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/out_http.c:2988,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3156,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/out_http.c:3203,1
    - Dst: js_load_constants
      Src: /src/gpac/src/filters/out_http.c:3278,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 412
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3315
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 3315
    functionName: httpout_initialize
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_filter_get_download_manager
    - gf_file_load_data
    - JS_NewObject
    - strncmp
    - js_load_constants
    - JS_IsException
    - gf_cfg_get_section_count
    - GF_LOG
    - gf_filter_set_blocking
    - gf_filter_is_temporary
    - strlwr
    - gf_filter_override_caps
    - GF_SAFEALLOC
    - gf_dm_quic_server_new
    - strstr
    - gf_ssl_init_lib
    - gf_file_ext_start
    - gf_filter_get_udta
    - gf_ssl_server_context_new
    - MIN
    - httpio_eof
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - gf_sk_group_new
    - JS_Eval
    - js_dump_error
    - gf_file_basename
    - atoi
    - PROP_UINT
    - JS_SetContextOpaque
    - gf_list_new
    - gf_filter_make_sticky
    - gf_sk_server_mode
    - gf_sk_group_register
    - gf_dynstrcat
    - gf_list_get
    - JS_DetectModule
    - JS_IsFunction
    - gf_dm_quic_get_socket
    - JS_NewString
    - gf_fileio_new
    - gf_js_create_context
    - gf_cfg_new
    - PROP_NAME
    - gf_sk_bind
    - gf_filter_post_process_task
    - strchr
    - gf_cfg_get_key
    - gf_free
    - qjs_init_all_modules
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    - gf_fileio_url
    - gf_opts_get_key
    - JS_FreeValue
    - gf_sys_is_cov_mode
    - gf_cfg_del
    - gf_filter_get_netcap_id
    - gf_filter_is_alias
    - gf_cfg_get_section_name
    - strncpy
    - gf_dir_exists
    - gf_sk_listen
    - gf_opts_get_bool
    - gf_sk_new_ex
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpout_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:3346,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:3351,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3348,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3352,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3350,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3353,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:3354,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/out_http.c:3354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - sess
    - in
    argTypes:
    - GF_HTTPOutSession*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 3358
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3358
    functionName: httpout_check_mem_path
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - strncmp
    - gf_list_count
    - gf_strdup
    - gf_fileio_resource_url
    - strcmp
    - gf_free
    - gf_fileio_url
    linkageType: ''
    returnType: void
    signature: 'static void httpout_check_mem_path(GF_HTTPOutSession *sess, GF_HTTPOutInput
      *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_http.c:4769,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_http.c:4777,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_http.c:4786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - in
    argTypes:
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 4789
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4789
    functionName: httpin_send_seg_info
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void httpin_send_seg_info(GF_HTTPOutInput *in) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:623,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:633,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:625,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:631,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:628,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:634,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:635,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:636,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:637,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:638,1
    - Dst: httpout_format_date
      Src: /src/gpac/src/filters/out_http.c:645,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:659,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:641,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:650,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:660,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:646,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:658,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 5
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    - is_dir
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    - Bool
    constantsTouched: []
    func_position:
      end: 663
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 663
    functionName: httpout_dir_file_enum
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - sprintf
    - httpout_format_date
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_dir_file_enum(void *cbck, char *item_name, char
      *item_path, GF_FileEnumInfo *file_info, Bool is_dir) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:774,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:777,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:781,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:783,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:780,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:784,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:785,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:787,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:789,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 790
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 790
    functionName: httpout_set_local_path
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_list_get
    - strchr
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void httpout_set_local_path(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:824,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:830,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:970,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:973,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:904,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:904,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:963,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_http.c:848,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_http.c:857,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/out_http.c:870,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:983,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:837,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/out_http.c:860,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:900,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:901,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:835,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:904,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:976,1
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/out_http.c:903,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:982,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 161
    argCount: 3
    argNames:
    - sess
    - range
    - response_body
    argTypes:
    - GF_HTTPOutSession*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 985
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 985
    functionName: httpout_sess_parse_range
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dm_sess_get_header
    - gf_dynstrcat
    - strncmp
    - sscanf
    - gf_realloc
    - strcmp
    - GF_LOG
    - strchr
    - gf_fseek
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_sess_parse_range(GF_HTTPOutSession *sess, char
      *range, char **response_body) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque_Nocheck
      Src: /src/gpac/src/filters/out_http.c:1211,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1221,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/out_http.c:1222,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1224,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1226,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1233,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/out_http.c:1227,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/out_http.c:1243,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:1247,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_http.c:1250,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1269,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/out_http.c:1216,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1241,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/filters/out_http.c:1240,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/out_http.c:1236,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/out_http.c:1244,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1247,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:1248,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/out_http.c:1249,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/out_http.c:1251,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/out_http.c:1251,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1265,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1218,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1235,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:1246,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:1248,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/out_http.c:1254,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1257,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:1267,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1279,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1282,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1286,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/out_http.c:1294,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:1273,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1275,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:1280,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/out_http.c:1214,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filters/out_http.c:1219,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/out_http.c:1220,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1238,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1229,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1256,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1258,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1260,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1271,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:1288,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1292,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/out_http.c:1255,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 4
    argNames:
    - c
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1298
    functionName: httpout_js_send
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_ToCString
    - JS_GetOpaque_Nocheck
    - JS_FreeCString
    - JS_FreeValue
    - gf_list_add
    - JS_IsFunction
    - gf_strdup
    - js_throw_err_msg
    - JS_IsString
    - atoi
    - gf_list_new
    - stricmp
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue httpout_js_send(JSContext *c, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:1375,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/out_http.c:1377,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1376,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/out_http.c:1379,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1378,1
    - Dst: httpout_cleanup_js
      Src: /src/gpac/src/filters/out_http.c:1383,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/out_http.c:1386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - f
    - jsc
    - obj
    argTypes:
    - GF_Filter*
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1390
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1390
    functionName: httpout_bind_js
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_FreeValue
    - JS_IsFunction
    - js_throw_err_msg
    - JS_DupValue
    - httpout_cleanup_js
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue httpout_bind_js(GF_Filter *f, JSContext *jsc, JSValueConst
      obj) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2607,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:2631,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2653,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:2670,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2672,1
    - Dst: httpout_set_local_path
      Src: /src/gpac/src/filters/out_http.c:2703,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:2718,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2724,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2586,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_http.c:2591,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2629,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2661,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:2669,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/out_http.c:2691,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2693,1
    - Dst: gf_dm_sess_set_sock_group
      Src: /src/gpac/src/filters/out_http.c:2697,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2700,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_http.c:2730,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2618,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:2622,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:2642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2647,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/out_http.c:2691,1
    - Dst: gf_dm_sess_set_timeout
      Src: /src/gpac/src/filters/out_http.c:2696,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/out_http.c:2711,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2714,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2720,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/out_http.c:2729,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:2583,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2602,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2598,1
    - Dst: gf_filter_pid_get_alias_udta
      Src: /src/gpac/src/filters/out_http.c:2614,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2658,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:2668,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:2675,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:2705,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:2717,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/out_http.c:2723,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 145
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2740
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2740
    functionName: httpout_configure_pid
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_download_manager
    - gf_dm_sess_set_sock_group
    - gf_filter_pid_set_udta
    - GF_LOG
    - httpout_set_local_path
    - GF_SAFEALLOC
    - strstr
    - gf_dm_sess_new
    - gf_filter_get_udta
    - gf_strdup
    - gf_list_count
    - gf_list_new
    - gf_filter_pid_get_udta
    - gf_filter_pid_init_play_event
    - PROP_NAME
    - strchr
    - gf_free
    - gf_filter_pid_send_event
    - gf_dm_sess_set_timeout
    - gf_filter_pid_get_property
    - gf_filter_pid_get_alias_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpout_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_http.c:3319,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3323,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:3322,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_http.c:3320,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3324,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3325,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3326,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/out_http.c:3327,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:3328,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3329,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:3333,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:3332,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3317
    functionDepth: 0
    functionLinenumber: 3317
    functionLinenumberEnd: 3339
    functionName: httpout_del_session
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_filter_pid_remove
    - gf_fclose
    - httpout_close_session
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void httpout_del_session(GF_HTTPOutSession *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3364,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:3366,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3373,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3378,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3375,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:3380,1
    - Dst: httpout_check_mem_path
      Src: /src/gpac/src/filters/out_http.c:3386,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_http.c:3387,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:3391,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3392,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3397,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3399,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - in
    - final_flush
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    - Bool
    constantsTouched: []
    func_position:
      end: 3401
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3401
    functionName: httpout_close_llhas_part
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_list_get
    - gf_list_count
    - gf_fsize
    - GF_LOG
    - strcmp
    - httpout_check_mem_path
    - gf_free
    - gf_fclose
    - gf_assert
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'static void httpout_close_llhas_part(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in, Bool final_flush) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fileio
    argTypes:
    - GF_FileIO*
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: httpio_tell
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: s64
    signature: 'static s64 httpio_tell(GF_FileIO *fileio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4795,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4802,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_http.c:4796,1
    - Dst: httpout_open_input
      Src: /src/gpac/src/filters/out_http.c:4797,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4800,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:4803,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_http.c:4804,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4805,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4810,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:4814,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 4817
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4817
    functionName: httpout_prune_files
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - strcmp
    - httpout_open_input
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void httpout_prune_files(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:527,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:541,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:545,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:542,1
    - Dst: gf_dm_sess_server_reset
      Src: /src/gpac/src/filters/out_http.c:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - sess
    - close_session
    - from_cbk
    argTypes:
    - GF_HTTPOutSession*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 557
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 557
    functionName: httpout_sess_flush_close
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - log_request_done
    - httpout_mark_session_done
    - gf_dm_sess_server_reset
    - httpout_close_session
    - gf_dm_sess_flush_close
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_sess_flush_close(GF_HTTPOutSession *sess, Bool
      close_session, Bool from_cbk) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:997,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1004,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1004,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1001,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1001,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1007,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1007,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1010,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1010,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1013,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1016,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1013,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1016,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 26
    argCount: 2
    argNames:
    - sess
    - method
    argTypes:
    - GF_HTTPOutSession*
    - u32
    constantsTouched: []
    func_position:
      end: 1022
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1022
    functionName: httpout_do_log
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strcmp
    - strstr
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpout_do_log(GF_HTTPOutSession *sess, u32 method) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:1047,1
    - Dst: gf_dm_sess_new_subsession
      Src: /src/gpac/src/filters/out_http.c:1060,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_http.c:1059,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:1056,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:1052,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1062,1
    - Dst: gf_dm_sess_set_timeout
      Src: /src/gpac/src/filters/out_http.c:1065,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:1066,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:1067,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - sess
    - stream_id
    argTypes:
    - GF_HTTPOutSession*
    - s64
    constantsTouched: []
    func_position:
      end: 1073
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1073
    functionName: httpout_new_subsession
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_set_timeout
    - gf_list_add
    - gf_dm_sess_is_hmux
    - gf_sys_clock_high_res
    - GF_SAFEALLOC
    - strcpy
    - gf_dm_sess_new_subsession
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err httpout_new_subsession(GF_HTTPOutSession *sess, s64 stream_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1124,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/out_http.c:1126,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/out_http.c:1127,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/out_http.c:1128,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1125,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:1129,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:1130,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/out_http.c:1132,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1134,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1135,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1136,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1137,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - udta
    - done
    - total
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1140
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1140
    functionName: js_sess_throttle
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - JS_NewInt64
    - js_dump_error
    - JS_Call
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: u32
    signature: 'u32 js_sess_throttle(void *udta, u64 done, u64 total) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_alias
      Src: /src/gpac/src/filters/out_http.c:3409,1
    - Dst: httpout_del_session
      Src: /src/gpac/src/filters/out_http.c:3415,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3418,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3420,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:3428,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3439,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3444,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3453,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/out_http.c:3457,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3473,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3491,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3413,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:3421,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3422,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3424,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3423,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:3438,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:3445,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:3446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3451,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:3452,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3496,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3494,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3493,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3495,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3492,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:3406,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3417,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/out_http.c:3434,1
    - Dst: httpout_close_llhas_part
      Src: /src/gpac/src/filters/out_http.c:3426,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3430,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/out_http.c:3433,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3441,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3455,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3459,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3463,1
    - Dst: gf_dm_quic_server_del
      Src: /src/gpac/src/filters/out_http.c:3468,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:3465,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3498,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3412,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3437,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/out_http.c:3429,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:3448,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/out_http.c:3458,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:3464,1
    - Dst: gf_fileio_del
      Src: /src/gpac/src/filters/out_http.c:3475,1
    - Dst: gf_ssl_server_context_del
      Src: /src/gpac/src/filters/out_http.c:3482,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3488,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:3489,1
    - Dst: httpout_cleanup_js
      Src: /src/gpac/src/filters/out_http.c:3502,1
    - Dst: gf_sk_group_del
      Src: /src/gpac/src/filters/out_http.c:3472,1
    - Dst: gf_ssl_server_context_del
      Src: /src/gpac/src/filters/out_http.c:3478,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3490,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3461,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 70
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3505
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3505
    functionName: httpout_finalize
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_sk_group_unregister
    - gf_sk_del
    - gf_list_pop_back
    - gf_dm_quic_server_del
    - gf_filter_get_udta
    - gf_sk_group_del
    - gf_list_del
    - gf_list_count
    - httpio_del
    - gf_fileio_del
    - httpout_del_session
    - gf_list_get
    - gf_filter_pck_discard
    - httpout_close_llhas_part
    - httpout_cleanup_js
    - gf_free
    - gf_ssl_server_context_del
    - gf_dm_sess_del
    - gf_filter_is_alias
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void httpout_finalize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3596,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3601,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:3598,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:3596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3611,1
    - Dst: get_method_name
      Src: /src/gpac/src/filters/out_http.c:3611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 3614
      start: 3588
    functionDepth: 0
    functionLinenumber: 3588
    functionLinenumberEnd: 3614
    functionName: log_request_done
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - get_method_name
    - GF_LOG
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void log_request_done(GF_HTTPOutSession *sess) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: httpout_check_new_session
      Src: /src/gpac/src/filters/out_http.c:5388,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:5401,1
    - Dst: httpout_process_session
      Src: /src/gpac/src/filters/out_http.c:5426,1
    - Dst: memset
      Src: /src/gpac/src/filters/out_http.c:5414,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:5402,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5444,1
    - Dst: gf_dm_quic_verify
      Src: /src/gpac/src/filters/out_http.c:5448,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5456,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:5368,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/out_http.c:5376,1
    - Dst: httpout_check_new_session
      Src: /src/gpac/src/filters/out_http.c:5391,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:5395,1
    - Dst: httpout_sess_io
      Src: /src/gpac/src/filters/out_http.c:5417,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5399,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:5462,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:5466,1
    - Dst: httpout_del_session
      Src: /src/gpac/src/filters/out_http.c:5468,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5489,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:5375,1
    - Dst: gf_sk_group_select
      Src: /src/gpac/src/filters/out_http.c:5384,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:5387,1
    - Dst: httpout_del_session
      Src: /src/gpac/src/filters/out_http.c:5430,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_http.c:5408,1
    - Dst: httpout_process_inputs
      Src: /src/gpac/src/filters/out_http.c:5452,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:5459,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:5377,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:5390,1
    - Dst: gf_dm_quic_process
      Src: /src/gpac/src/filters/out_http.c:5396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5464,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/out_http.c:5494,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 113
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5498
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5498
    functionName: httpout_process
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_sess_io
    - memset
    - gf_js_lock
    - GF_LOG
    - httpout_process_inputs
    - gf_dm_quic_process
    - gf_filter_get_udta
    - gf_dm_quic_verify
    - httpout_process_session
    - gf_list_count
    - gf_filter_ask_rt_reschedule
    - httpout_check_new_session
    - httpout_del_session
    - gf_list_get
    - gf_sk_group_select
    - gf_sk_group_sock_is_set
    - gf_filter_post_process_task
    - js_std_loop
    - gf_sys_clock_high_res
    - httpout_sess_flush_close
    - httpout_close_session
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpout_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_instance_of
      Src: /src/gpac/src/filters/out_http.c:5790,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:5792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 3
    argNames:
    - filter
    - udta
    - (*on_request)
    argTypes:
    - GF_Filter*
    - void*
    - s32
    constantsTouched: []
    func_position:
      end: 5805
      start: 5784
    functionDepth: 0
    functionLinenumber: 5784
    functionLinenumberEnd: 5805
    functionName: gf_filter_bind_httpout_callbacks
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_is_instance_of
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_filter_bind_httpout_callbacks(GF_Filter *filter,
      void *udta,\ts32 (*on_request)(void *udta, GF_HTTPOutSession *session, const
      char *method, const char *url, u32 auth_code, u32 nb_hdrs, const char **hdrs)) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_gmtime
      Src: /src/gpac/src/filters/out_http.c:566,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:597,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:599,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 35
    argCount: 3
    argNames:
    - time
    - szDate
    - for_listing
    argTypes:
    - u64
    - char
    - Bool
    constantsTouched: []
    func_position:
      end: 601
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 601
    functionName: httpout_format_date
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - sprintf
    - gf_gmtime
    linkageType: ''
    returnType: void
    signature: 'static void httpout_format_date(u64 time, char szDate[200], Bool for_listing) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1082,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1087,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1085,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:1084,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:1099,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/out_http.c:1104,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:1104,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:1106,1
    - Dst: gf_creds_check_password
      Src: /src/gpac/src/filters/out_http.c:1112,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 3
    argNames:
    - di
    - auth_header
    - for_write
    argTypes:
    - HTTP_DIRInfo*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1116
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1116
    functionName: httpout_auth_check
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_creds_check_password
    - strcmp
    - strchr
    - gf_base64_decode
    - strstr
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpout_auth_check(HTTP_DIRInfo *di, const char *auth_header,
      Bool for_write) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1145,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/filters/out_http.c:1152,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1151,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1148,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:1147,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/out_http.c:1153,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:1155,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:1156,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/out_http.c:1158,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1160,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1161,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1162,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1170,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1167,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:1166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - udta
    - buffer
    - buffer_size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1172
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1172
    functionName: js_sess_read
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_Call
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: s32
    signature: 's32 js_sess_read(void *udta, u8 *buffer, u32 buffer_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:1176,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1178,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/out_http.c:1181,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/filters/out_http.c:1180,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1179,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:1182,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:1183,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1185,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1186,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1187,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - udta
    - data
    - size
    argTypes:
    - void*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1190
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1190
    functionName: js_sess_write
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_NewArrayBuffer
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - JS_IsUndefined
    - JS_Call
    - JS_GetPropertyStr
    linkageType: ''
    returnType: u32
    signature: 'u32 js_sess_write(void *udta, const u8 *data, u32 size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/out_http.c:3531,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:3530,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/out_http.c:3524,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/out_http.c:3528,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/out_http.c:3532,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/out_http.c:3538,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_http.c:3542,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/out_http.c:3546,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/out_http.c:3563,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3579,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/out_http.c:3576,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3582,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_http.c:3569,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_http.c:3559,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - sess
    - data
    - size
    argTypes:
    - GF_HTTPOutSession*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 3586
      start: 3507
    functionDepth: 0
    functionLinenumber: 3507
    functionLinenumberEnd: 3586
    functionName: httpout_sess_data_upload
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_fseek
    - gf_filter_pid_raw_new
    - gf_fflush
    - GF_LOG
    - gf_filter_pck_set_framing
    - gf_fatal_assert
    - memcpy
    - gf_fwrite
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpout_sess_data_upload(GF_HTTPOutSession *sess, const
      u8 *data, u32 size) '
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:3708,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:3709,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:3812,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:3907,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:3971,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4011,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4052,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4068,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3640,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3638,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3763,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:3767,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:3779,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:4005,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4011,1
    - Dst: gf_dm_sess_send_reply
      Src: /src/gpac/src/filters/out_http.c:3795,1
    - Dst: httpout_sess_data_upload
      Src: /src/gpac/src/filters/out_http.c:3666,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3704,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3749,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/out_http.c:3751,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3786,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:3810,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3680,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/out_http.c:3714,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:3780,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:4008,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:4041,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:3625,1
    - Dst: httpout_format_date
      Src: /src/gpac/src/filters/out_http.c:3751,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:3776,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:3838,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:3880,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:3826,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:4034,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:3885,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:3988,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/src/filters/out_http.c:3661,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_http.c:3728,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3757,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3838,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3793,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:3817,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3902,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_http.c:3899,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3954,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3799,1
    - Dst: gf_dm_sess_server_reset
      Src: /src/gpac/src/filters/out_http.c:4086,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:3839,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3892,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3671,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3700,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:3762,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3927,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4056,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:4078,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3685,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3773,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:3992,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:3993,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:3995,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4004,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4017,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/out_http.c:3722,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:3868,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/out_http.c:3975,1
    - Dst: httpout_push_headers
      Src: /src/gpac/src/filters/out_http.c:3789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:3805,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3908,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3632,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3787,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4054,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:4057,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:3831,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/out_http.c:3720,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3752,1
    - Dst: gf_dm_sess_set_header
      Src: /src/gpac/src/filters/out_http.c:3755,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:3764,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3845,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3997,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4013,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4064,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:4074,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:3705,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/out_http.c:3718,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:3732,1
    - Dst: httpout_check_mem_path
      Src: /src/gpac/src/filters/out_http.c:3897,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:3841,1
    - Dst: httpout_process_session
      Src: /src/gpac/src/filters/out_http.c:3858,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:4018,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:4061,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:3978,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:3991,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/out_http.c:3716,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:3724,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:3781,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:3989,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:4007,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4025,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:3813,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:3807,1
    - Dst: log_request_done
      Src: /src/gpac/src/filters/out_http.c:3876,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 380
    argCount: 3
    argNames:
    - filter
    - ctx
    - sess
    argTypes:
    - GF_Filter*
    - GF_HTTPOutCtx*
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 4089
      start: 3616
    functionDepth: 0
    functionLinenumber: 3616
    functionLinenumberEnd: 4089
    functionName: httpout_process_session
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - gf_dm_sess_send
    - httpout_mark_session_done
    - gf_filter_pid_set_eos
    - gf_fseek
    - httpout_sess_flush_close
    - gf_dm_sess_set_header
    - gf_filter_pck_new_alloc
    - httpout_sess_data_upload
    - gf_error_to_string
    - gf_filter_pck_set_corrupted
    - gf_list_count
    - strcmp
    - gf_fsize
    - log_request_done
    - httpout_process_session
    - gf_dm_sess_flush_async
    - gf_file_delete
    - gf_fopen
    - gf_dm_sess_process
    - gf_dynstrcat
    - gf_list_get
    - gf_sk_group_sock_is_set
    - httpout_push_headers
    - gf_fread
    - sprintf
    - gf_filter_pck_set_framing
    - memcpy
    - httpout_check_mem_path
    - strchr
    - gf_dm_sess_server_reset
    - gf_free
    - gf_filter_pck_send
    - gf_net_get_utc
    - gf_dm_sess_fetch_data
    - httpout_format_date
    - gf_sys_clock_high_res
    - gf_fclose
    - httpout_close_session
    - gf_dm_sess_send_reply
    linkageType: ''
    returnType: void
    signature: 'static void httpout_process_session(GF_Filter *filter, GF_HTTPOutCtx
      *ctx, GF_HTTPOutSession *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:5503,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:5509,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:5511,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/out_http.c:5522,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5507,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:5529,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:5530,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:5530,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 5532
      start: 5500
    functionDepth: 0
    functionLinenumber: 5500
    functionLinenumberEnd: 5532
    functionName: httpout_process_event
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_list_get
    - gf_list_count
    - gf_filter_pid_get_udta
    - gf_list_new
    - gf_strdup
    - httpout_close_session
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5778
      start: 5775
    functionDepth: 0
    functionLinenumber: 5775
    functionLinenumberEnd: 5778
    functionName: httpout_register
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *httpout_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5822,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:5828,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5848,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5839,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:5829,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:5853,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:5857,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:5857,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:5858,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:5858,1
    - Dst: atoi
      Src: /src/gpac/src/filters/out_http.c:5860,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/out_http.c:5859,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5868,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 69
    argCount: 10
    argNames:
    - sess
    - udta
    - reply
    - body_or_file
    - nb_headers
    - headers
    - (*throttle)
    - (*read)
    - (*write)
    - (*close)
    argTypes:
    - GF_HTTPOutSession*
    - void*
    - u32
    - char*
    - u32
    - char**
    - u32
    - s32
    - u32
    - void
    constantsTouched: []
    func_position:
      end: 5880
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5880
    functionName: gf_httpout_send_request
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_strdup
    - GF_LOG
    - atoi
    - gf_free
    - gf_list_new
    - stricmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_httpout_send_request(GF_HTTPOutSession *sess,
      void *udta,\tu32 reply,\tchar *body_or_file,\tu32 nb_headers,\tconst char **headers,\tu32
      (*throttle)(void *udta, u64 done, u64 total),\ts32 (*read)(void *udta, u8 *buffer,
      u32 buffer_size),\tu32 (*write)(void *udta, const u8 *buffer, u32 buffer_size),\tvoid
      (*close)(void *udta, GF_Err reason)) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_del
      Src: /src/gpac/src/filters/out_http.c:315,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:316,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hio
    argTypes:
    - GF_HTTPFileIO*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: httpio_del
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fileio_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void httpio_del(GF_HTTPFileIO *hio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:332,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: httpio_read
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    - memcpy
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpio_read(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:376,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:385,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:388,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:391,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:420,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:412,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:435,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:396,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:399,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:429,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:446,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:380,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:389,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/out_http.c:390,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:404,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_http.c:411,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:421,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:389,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:410,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/filters/out_http.c:427,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:441,1
    - Dst: gf_fileio_new
      Src: /src/gpac/src/filters/out_http.c:444,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:444,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 4
    argNames:
    - fileio_ref
    - url
    - mode
    - out_err
    argTypes:
    - GF_FileIO*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 452
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 452
    functionName: httpio_open
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_fileio_get_udta
    - GF_LOG
    - httpio_del
    - strcmp
    - gf_fileio_resource_url
    - gf_list_del_item
    - gf_fileio_new
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_FileIO*
    signature: 'static GF_FileIO *httpio_open(GF_FileIO *fileio_ref, const char *url,
      const char *mode, GF_Err *out_err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpout_dir_file_enum
      Src: /src/gpac/src/filters/out_http.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: httpout_dir_enum
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_dir_file_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_dir_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1307,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:1309,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1320,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/out_http.c:1320,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1323,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:1323,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1327,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/out_http.c:1336,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1343,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1347,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1311,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:1315,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1316,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:1316,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1321,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/out_http.c:1318,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1318,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/out_http.c:1321,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/out_http.c:1326,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1329,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1335,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1345,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/out_http.c:1333,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:1335,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:1310,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/out_http.c:1314,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1319,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/filters/out_http.c:1319,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1334,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:1334,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/out_http.c:1341,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1351,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1353,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/out_http.c:1340,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1317,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/out_http.c:1317,1
    - Dst: gf_dm_sess_use_tls
      Src: /src/gpac/src/filters/out_http.c:1321,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1322,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/out_http.c:1322,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/out_http.c:1324,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/out_http.c:1324,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/out_http.c:1328,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/out_http.c:1342,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:1344,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 7
    argNames:
    - udta
    - sess
    - method
    - url
    - auth_code
    - nb_hdrs
    - headers
    argTypes:
    - void*
    - GF_HTTPOutSession*
    - char*
    - char*
    - u32
    - u32
    - char**
    constantsTouched: []
    func_position:
      end: 1355
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1355
    functionName: httpout_js_on_request
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetPropertyUint32
    - JS_NewArray
    - JS_NewObject
    - gf_dm_sess_use_tls
    - gf_js_lock
    - JS_IsException
    - JS_NewString
    - JS_NewInt32
    - JS_NewInt64
    - JS_IsUndefined
    - js_dump_error
    - JS_SetOpaque
    - JS_Call
    - JS_NewCFunction
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: s32
    signature: 'static s32 httpout_js_on_request(void *udta, GF_HTTPOutSession *sess,
      const char * method, const char *url, u32 auth_code, u32 nb_hdrs, const char
      **headers) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: httpout_accept_connection
      Src: /src/gpac/src/filters/out_http.c:2786,1
    - Dst: gf_dm_sess_set_timeout
      Src: /src/gpac/src/filters/out_http.c:2803,1
    - Dst: gf_dm_sess_set_callback
      Src: /src/gpac/src/filters/out_http.c:2801,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2796,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:2789,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2808,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2809,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_http.c:2811,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - udta
    - http_sess
    - address
    - port
    argTypes:
    - void*
    - GF_DownloadSession*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2818
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2818
    functionName: on_h3_accept
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_set_timeout
    - gf_list_add
    - strcpy
    - GF_LOG
    - GF_SAFEALLOC
    - gf_sys_clock_high_res
    - httpout_accept_connection
    - gf_dm_sess_set_callback
    linkageType: ''
    returnType: Bool
    signature: 'static Bool on_h3_accept(void *udta, GF_DownloadSession *http_sess,
      const char *address, u32 port) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4575,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:4589,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:4604,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4627,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:4622,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4670,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:4682,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4696,1
    - Dst: httpout_open_input_llhas
      Src: /src/gpac/src/filters/out_http.c:4586,1
    - Dst: httpout_open_input
      Src: /src/gpac/src/filters/out_http.c:4601,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4627,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:4621,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_http.c:4641,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4645,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/out_http.c:4653,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:4667,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:4668,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4669,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4693,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:4689,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4671,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:4556,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:4557,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4578,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/out_http.c:4591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4620,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4635,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filters/out_http.c:4606,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/out_http.c:4646,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:4681,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4692,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4673,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:4690,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4574,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4570,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4576,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4640,1
    - Dst: gf_fflush
      Src: /src/gpac/src/filters/out_http.c:4642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4648,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4660,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:4699,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4694,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 155
    argCount: 6
    argNames:
    - ctx
    - in
    - pck_data
    - pck_size
    - file_start
    - no_llhas
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    - u8*
    - u32
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4709
      start: 4541
    functionDepth: 0
    functionLinenumber: 4541
    functionLinenumberEnd: 4709
    functionName: httpout_write_input
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process
    - strlen
    - gf_fseek
    - gf_list_get
    - httpout_close_input
    - gf_fflush
    - gf_error_to_string
    - gf_list_count
    - gf_fsize
    - gf_dm_sess_send
    - GF_LOG
    - sprintf
    - httpout_open_input
    - httpout_input_in_error
    - gf_fwrite
    - httpout_open_input_llhas
    - httpout_close_session
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'u32 httpout_write_input(GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, const
      u8 *pck_data, u32 pck_size, Bool file_start, Bool no_llhas) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - fileio
    - offset
    - whence
    argTypes:
    - GF_FileIO*
    - u64
    - s32
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: httpio_seek
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_fileio_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpio_seek(GF_FileIO *fileio, u64 offset, s32 whence) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:346,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:351,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/out_http.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - fileio
    - buffer
    - bytes
    argTypes:
    - GF_FileIO*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: httpio_write
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_fileio_get_udta
    - memcpy
    linkageType: ''
    returnType: u32
    signature: 'static u32 httpio_write(GF_FileIO *fileio, u8 *buffer, u32 bytes) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_subsession_count
      Src: /src/gpac/src/filters/out_http.c:460,1
    - Dst: gf_dm_sess_close_hmux
      Src: /src/gpac/src/filters/out_http.c:466,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/out_http.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:463,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/out_http.c:477,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:481,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/out_http.c:489,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:490,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/out_http.c:491,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:492,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/out_http.c:501,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:503,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:505,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:497,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:494,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - sess
    - code
    argTypes:
    - GF_HTTPOutSession*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 509
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 509
    functionName: httpout_close_session
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - gf_list_del
    - GF_LOG
    - gf_sk_group_unregister
    - gf_dm_sess_del
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_free
    - gf_dm_sess_subsession_count
    - gf_list_pop_back
    - gf_dm_sess_close_hmux
    linkageType: ''
    returnType: void
    signature: 'static void httpout_close_session(GF_HTTPOutSession *sess, GF_Err
      code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpout_dir_file_enum
      Src: /src/gpac/src/filters/out_http.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cbck
    - item_name
    - item_path
    - file_info
    argTypes:
    - void*
    - char*
    - char*
    - GF_FileEnumInfo*
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: httpout_file_enum
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_dir_file_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_file_enum(void *cbck, char *item_name, char *item_path,
      GF_FileEnumInfo *file_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1359,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/filters/out_http.c:1368,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1360,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/out_http.c:1364,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/out_http.c:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_HTTPOutCtx*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1371
    functionName: httpout_cleanup_js
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_js_delete_context
    - JS_FreeValue
    - gf_js_lock
    linkageType: ''
    returnType: void
    signature: 'static void httpout_cleanup_js(GF_HTTPOutCtx *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2843,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:2849,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:2855,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:2884,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:2885,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:2873,1
    - Dst: gf_dm_sess_set_timeout
      Src: /src/gpac/src/filters/out_http.c:2891,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2897,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/out_http.c:2900,1
    - Dst: gf_sk_accept
      Src: /src/gpac/src/filters/out_http.c:2837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2873,1
    - Dst: gf_dm_sess_new_server
      Src: /src/gpac/src/filters/out_http.c:2881,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/out_http.c:2881,1
    - Dst: gf_sk_del
      Src: /src/gpac/src/filters/out_http.c:2875,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2885,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/out_http.c:2901,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2905,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/out_http.c:2853,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2874,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:2896,1
    - Dst: httpout_accept_connection
      Src: /src/gpac/src/filters/out_http.c:2848,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:2843,1
    - Dst: gf_sk_get_remote_address_port
      Src: /src/gpac/src/filters/out_http.c:2846,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2865,1
    - Dst: gf_ssl_new
      Src: /src/gpac/src/filters/out_http.c:2871,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:2886,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:2898,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/out_http.c:2902,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - serversock
    argTypes:
    - GF_HTTPOutCtx*
    - GF_Socket*
    constantsTouched: []
    func_position:
      end: 2910
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2910
    functionName: httpout_check_new_session
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_set_timeout
    - gf_list_add
    - gf_filter_get_download_manager
    - gf_dm_sess_new_server
    - gf_sk_set_buffer_size
    - gf_error_to_string
    - strcpy
    - GF_LOG
    - gf_sk_accept
    - gf_sk_del
    - gf_sys_clock_high_res
    - gf_ssl_new
    - GF_SAFEALLOC
    - gf_sk_get_remote_address_port
    - httpout_accept_connection
    - gf_free
    - gf_sk_group_register
    linkageType: ''
    returnType: void
    signature: 'static void httpout_check_new_session(GF_HTTPOutCtx *ctx, GF_Socket
      *serversock) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_socket
      Src: /src/gpac/src/filters/out_http.c:4719,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/out_http.c:4724,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/out_http.c:4721,1
    - Dst: gf_sk_group_select
      Src: /src/gpac/src/filters/out_http.c:4722,1
    - Dst: gf_sk_set_buffer_size
      Src: /src/gpac/src/filters/out_http.c:4723,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:4727,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4730,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4735,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4740,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/out_http.c:4747,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4751,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4755,1
    - Dst: httpout_del_session
      Src: /src/gpac/src/filters/out_http.c:4756,1
    - Dst: gf_dm_sess_async_pending
      Src: /src/gpac/src/filters/out_http.c:4753,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 4763
      start: 4711
    functionDepth: 0
    functionLinenumber: 4711
    functionLinenumberEnd: 4763
    functionName: httpout_input_write_ready
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_del_session
    - gf_list_get
    - gf_sk_group_select
    - gf_sk_group_sock_is_set
    - gf_sk_set_buffer_size
    - gf_dm_sess_async_pending
    - gf_list_count
    - gf_dm_sess_flush_async
    - GF_LOG
    - gf_dm_sess_get_socket
    - gf_sk_group_register
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_input_write_ready(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2526,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2549,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/out_http.c:2551,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 3
    argNames:
    - usr_cbk
    - parameter
    - is_llhas
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    - Bool
    constantsTouched: []
    func_position:
      end: 2568
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2568
    functionName: httpout_in_io_ex
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void httpout_in_io_ex(void *usr_cbk, GF_NETIO_Parameter *parameter,
      Bool is_llhas) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_probe
      Src: /src/gpac/src/filters/out_http.c:2744,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/out_http.c:2746,1
    - Dst: httpout_mark_session_done
      Src: /src/gpac/src/filters/out_http.c:2747,1
    - Dst: httpout_close_session
      Src: /src/gpac/src/filters/out_http.c:2751,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 2754
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2754
    functionName: httpout_check_connection
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - httpout_mark_session_done
    - gf_sk_probe
    - gf_sys_clock_high_res
    - httpout_close_session
    linkageType: ''
    returnType: void
    signature: 'static void httpout_check_connection(GF_HTTPOutSession *sess) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:4107,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4114,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:4109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - in
    - for_llhas
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    - Bool
    constantsTouched: []
    func_position:
      end: 4132
      start: 4091
    functionDepth: 0
    functionLinenumber: 4091
    functionLinenumberEnd: 4132
    functionName: httpout_close_upload
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process
    - gf_error_to_string
    - GF_LOG
    - gf_dm_sess_flush_close
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_close_upload(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in, Bool for_llhas) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4404,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4415,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4409,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4411,1
    - Dst: httpout_close_upload
      Src: /src/gpac/src/filters/out_http.c:4417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 4418
      start: 4399
    functionDepth: 0
    functionLinenumber: 4399
    functionLinenumberEnd: 4418
    functionName: httpout_close_input_llhas
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_send
    - gf_error_to_string
    - GF_LOG
    - httpout_close_upload
    linkageType: ''
    returnType: void
    signature: 'static void httpout_close_input_llhas(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/out_http.c:4517,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4534,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4527,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:4520,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - in
    - dst
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    - char*
    constantsTouched: []
    func_position:
      end: 4539
      start: 4515
    functionDepth: 0
    functionLinenumber: 4515
    functionLinenumberEnd: 4539
    functionName: httpout_open_input_llhas
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process
    - gf_dm_sess_setup_from_url
    - gf_error_to_string
    - gf_strdup
    - GF_LOG
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_open_input_llhas(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in, char *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_http.c:4828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - in
    - pck
    argTypes:
    - GF_HTTPOutInput*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 4830
      start: 4819
    functionDepth: 0
    functionLinenumber: 4819
    functionLinenumberEnd: 4830
    functionName: httpout_input_drop
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_drop_packet
    linkageType: ''
    returnType: void
    signature: 'static void httpout_input_drop(GF_HTTPOutInput *in, GF_FilterPacket
      *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_http.c:5536,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/out_http.c:5537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5539
      start: 5534
    functionDepth: 0
    functionLinenumber: 5534
    functionLinenumberEnd: 5539
    functionName: httpout_probe_url
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore httpout_probe_url(const char *url, const
      char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: httpout_mark_session_done
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void httpout_mark_session_done(GF_HTTPOutSession *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:1396,1
    - Dst: gf_dm_sess_set_header_ex
      Src: /src/gpac/src/filters/out_http.c:1399,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_http.c:1398,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_http.c:1397,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1400,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:1401,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/out_http.c:1403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - GF_HTTPOutSession*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1405
    functionName: httpout_push_headers
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_dm_sess_set_header_ex
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void httpout_push_headers(GF_HTTPOutSession *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpout_in_io_ex
      Src: /src/gpac/src/filters/out_http.c:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - usr_cbk
    - parameter
    argTypes:
    - void*
    - GF_NETIO_Parameter*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: httpout_in_io
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - httpout_in_io_ex
    linkageType: ''
    returnType: void
    signature: 'static void httpout_in_io(void *usr_cbk, GF_NETIO_Parameter *parameter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2760,1
    - Dst: httpout_check_connection
      Src: /src/gpac/src/filters/out_http.c:2768,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:2767,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:2764,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:2766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:2773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - peer_address
    - peer_port
    argTypes:
    - GF_HTTPOutCtx*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 2778
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2778
    functionName: httpout_accept_connection
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - httpout_check_connection
    - gf_list_count
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_accept_connection(GF_HTTPOutCtx *ctx, const char
      *peer_address, u32 peer_port) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:4164,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4172,1
    - Dst: gf_filter_pid_share_origin
      Src: /src/gpac/src/filters/out_http.c:4176,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/out_http.c:4247,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4260,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:4263,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4277,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4287,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:4298,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_http.c:4300,1
    - Dst: gf_file_delete
      Src: /src/gpac/src/filters/out_http.c:4308,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4347,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:4349,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/out_http.c:4363,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/out_http.c:4354,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:4303,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4367,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:4360,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/out_http.c:4180,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4225,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4186,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/out_http.c:4244,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:4250,1
    - Dst: httpout_close_upload
      Src: /src/gpac/src/filters/out_http.c:4266,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4285,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4309,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:4314,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4320,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:4372,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4317,1
    - Dst: httpout_set_local_path
      Src: /src/gpac/src/filters/out_http.c:4322,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4269,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:4342,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:4163,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4209,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4229,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4202,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4258,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:4284,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4289,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4296,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/out_http.c:4368,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4372,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:4369,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4310,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4318,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:4348,1
    - Dst: gf_fileio_resource_url
      Src: /src/gpac/src/filters/out_http.c:4297,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4155,1
    - Dst: strlen
      Src: /src/gpac/src/filters/out_http.c:4157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4169,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:4179,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4215,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4230,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4208,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:4232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4258,1
    - Dst: httpio_del
      Src: /src/gpac/src/filters/out_http.c:4355,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:4335,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/out_http.c:4283,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/out_http.c:4336,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4301,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4345,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 205
    argCount: 7
    argNames:
    - ctx
    - in
    - name
    - is_delete
    - is_static
    - is_fake
    - check_no_open
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    - char*
    - Bool
    - Bool
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4375
      start: 4135
    functionDepth: 0
    functionLinenumber: 4135
    functionLinenumberEnd: 4375
    functionName: httpout_open_input
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_fopen_ex
    - gf_fileio_get_udta
    - GF_LOG
    - gf_sk_group_unregister
    - httpout_set_local_path
    - strstr
    - httpout_close_upload
    - gf_dm_sess_setup_from_url
    - gf_list_pop_front
    - gf_error_to_string
    - gf_list_count
    - gf_strdup
    - strcmp
    - httpio_del
    - gf_file_delete
    - gf_list_new
    - gf_assert
    - gf_dm_sess_process
    - gf_dynstrcat
    - gf_list_get
    - strchr
    - gf_free
    - gf_dm_sess_is_hmux
    - gf_filter_pid_share_origin
    - gf_fileio_resource_url
    - strrchr
    - gf_list_rem
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_open_input(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in, const char *name, Bool is_delete, Bool is_static, Bool is_fake, Bool check_no_open) '
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/out_http.c:4979,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/filters/out_http.c:5142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5210,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:5266,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:5104,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/out_http.c:4912,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:4951,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:4972,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:5056,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:5091,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/out_http.c:5113,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:5170,1
    - Dst: httpout_input_drop
      Src: /src/gpac/src/filters/out_http.c:5198,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/out_http.c:5220,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5332,1
    - Dst: httpout_close_upload
      Src: /src/gpac/src/filters/out_http.c:4857,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4876,1
    - Dst: gf_filter_pck_dangling_clone
      Src: /src/gpac/src/filters/out_http.c:4960,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5067,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:5187,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5306,1
    - Dst: gf_dm_sess_is_hmux
      Src: /src/gpac/src/filters/out_http.c:5027,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/out_http.c:5160,1
    - Dst: httpout_prune_files
      Src: /src/gpac/src/filters/out_http.c:4849,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/out_http.c:4936,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/out_http.c:4966,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:5196,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/out_http.c:5224,1
    - Dst: httpout_open_input
      Src: /src/gpac/src/filters/out_http.c:5275,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_http.c:5349,1
    - Dst: httpin_send_seg_info
      Src: /src/gpac/src/filters/out_http.c:4890,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:4959,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:4974,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:4980,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:4995,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/out_http.c:5113,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5002,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:5174,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:5256,1
    - Dst: gf_dm_sess_async_pending
      Src: /src/gpac/src/filters/out_http.c:5340,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5073,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:5118,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:5011,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5174,1
    - Dst: httpout_input_write_ready
      Src: /src/gpac/src/filters/out_http.c:5207,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:5214,1
    - Dst: httpout_open_input
      Src: /src/gpac/src/filters/out_http.c:5248,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:5270,1
    - Dst: gf_dm_sess_flush_async
      Src: /src/gpac/src/filters/out_http.c:4872,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:5114,1
    - Dst: httpout_close_input_llhas
      Src: /src/gpac/src/filters/out_http.c:5181,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:5240,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/out_http.c:5361,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/out_http.c:5076,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:4892,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/out_http.c:4902,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/out_http.c:4967,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5225,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_http.c:4881,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/out_http.c:4884,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/out_http.c:4983,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:5136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5137,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/out_http.c:5160,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/out_http.c:5020,1
    - Dst: httpout_open_input_llhas
      Src: /src/gpac/src/filters/out_http.c:5186,1
    - Dst: httpout_write_input
      Src: /src/gpac/src/filters/out_http.c:5317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5328,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5131,1
    - Dst: gf_filter_pid_get_alias_udta
      Src: /src/gpac/src/filters/out_http.c:5086,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/out_http.c:4884,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4902,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:5014,1
    - Dst: httpout_close_llhas_part
      Src: /src/gpac/src/filters/out_http.c:5135,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/out_http.c:5075,1
    - Dst: httpout_open_input
      Src: /src/gpac/src/filters/out_http.c:5103,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/out_http.c:5150,1
    - Dst: gf_fileio_get_udta
      Src: /src/gpac/src/filters/out_http.c:5147,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4835,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:5015,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/filters/out_http.c:5185,1
    - Dst: httpout_write_input
      Src: /src/gpac/src/filters/out_http.c:5252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5015,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/out_http.c:5117,1
    - Dst: httpout_close_upload
      Src: /src/gpac/src/filters/out_http.c:4862,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:4961,1
    - Dst: httpin_send_seg_info
      Src: /src/gpac/src/filters/out_http.c:4993,1
    - Dst: gf_dm_sess_set_timeout
      Src: /src/gpac/src/filters/out_http.c:5164,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:5200,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5254,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:5338,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:5348,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5319,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:4925,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:4965,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:5108,1
    - Dst: gf_mpd_resolve_subnumber
      Src: /src/gpac/src/filters/out_http.c:5133,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:4991,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5061,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5079,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5222,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/out_http.c:5100,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/out_http.c:4978,1
    - Dst: gf_dm_sess_set_sock_group
      Src: /src/gpac/src/filters/out_http.c:5163,1
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/out_http.c:5230,1
    - Dst: httpout_input_drop
      Src: /src/gpac/src/filters/out_http.c:5336,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/out_http.c:5219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4846,1
    - Dst: httpout_prune_files
      Src: /src/gpac/src/filters/out_http.c:5048,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/out_http.c:5054,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/out_http.c:5139,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/out_http.c:5090,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:5234,1
    - Dst: httpout_write_input
      Src: /src/gpac/src/filters/out_http.c:5280,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:5289,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:5293,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/out_http.c:5291,1
    - Dst: httpout_close_input
      Src: /src/gpac/src/filters/out_http.c:5045,1
    - Dst: httpin_send_seg_info
      Src: /src/gpac/src/filters/out_http.c:5004,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5090,1
    - Dst: gf_filter_pck_dangling_clone
      Src: /src/gpac/src/filters/out_http.c:4973,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/out_http.c:5216,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:5282,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/out_http.c:5298,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 457
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_HTTPOutCtx*
    constantsTouched: []
    func_position:
      end: 5362
      start: 4832
    functionDepth: 0
    functionLinenumber: 4832
    functionLinenumberEnd: 5362
    functionName: httpout_process_inputs
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fopen_ex
    - gf_filter_get_download_manager
    - gf_dm_sess_set_sock_group
    - gf_filter_pid_is_eos
    - gf_mpd_resolve_subnumber
    - gf_fileio_get_udta
    - GF_LOG
    - httpout_input_write_ready
    - httpout_input_in_error
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_interlaced
    - httpout_open_input_llhas
    - gf_filter_pck_get_data
    - gf_dm_sess_new
    - gf_filter_pck_get_carousel_version
    - httpout_close_input
    - httpout_close_upload
    - gf_error_to_string
    - gf_list_count
    - httpout_prune_files
    - gf_dm_sess_flush_async
    - gf_filter_pid_get_packet
    - gf_strdup
    - gf_filter_pid_get_name
    - gf_assert
    - gf_dm_sess_process
    - gf_list_get
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - gf_dm_sess_async_pending
    - httpout_open_input
    - gf_filter_pck_expand
    - memcpy
    - gf_filter_post_process_task
    - httpout_close_llhas_part
    - gf_sys_is_test_mode
    - gf_free
    - gf_filter_pck_get_dependency_flags
    - httpin_send_seg_info
    - gf_filter_pck_dangling_clone
    - gf_dm_sess_set_timeout
    - gf_url_concatenate
    - httpout_write_input
    - gf_filter_pid_is_flush_eos
    - gf_dm_sess_is_hmux
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_filter_pid_get_alias_udta
    - gf_filter_pck_get_seek_flag
    - httpout_close_input_llhas
    - httpout_input_drop
    linkageType: ''
    returnType: void
    signature: 'static void httpout_process_inputs(GF_HTTPOutCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/out_http.c:5545,1
    - Dst: strchr
      Src: /src/gpac/src/filters/out_http.c:5551,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/out_http.c:5553,1
    - Dst: strstr
      Src: /src/gpac/src/filters/out_http.c:5548,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/out_http.c:5557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - filter
    - url
    - mime
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5559
      start: 5541
    functionDepth: 0
    functionLinenumber: 5541
    functionLinenumberEnd: 5559
    functionName: httpout_use_alias
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strncmp
    - strcmp
    - strchr
    - strstr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpout_use_alias(GF_Filter *filter, const char *url,
      const char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/out_http.c:5765,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/out_http.c:5766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5769
      start: 5763
    functionDepth: 0
    functionLinenumber: 5763
    functionLinenumberEnd: 5769
    functionName: httpout_register
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - gf_opts_set_key
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *httpout_register(GF_FilterSession *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1038
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1038
    functionName: get_method_name
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_method_name(u32 method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:3954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cbk_read
    argTypes:
    - sess
    constantsTouched: []
    func_position:
      end: 3959
      start: 3949
    functionDepth: 0
    functionLinenumber: 3949
    functionLinenumberEnd: 3959
    functionName: if
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (sess->cbk_read) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_http.c:4382,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4385,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/out_http.c:4383,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/out_http.c:4392,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/out_http.c:4393,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/out_http.c:4394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - in
    - e
    argTypes:
    - GF_HTTPOutInput*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 4396
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4396
    functionName: httpout_input_in_error
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - GF_FEVT_INIT
    - gf_error_to_string
    - GF_LOG
    - gf_sys_clock
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: void
    signature: 'static void httpout_input_in_error(GF_HTTPOutInput *in, GF_Err e) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: httpout_close_upload
      Src: /src/gpac/src/filters/out_http.c:4446,1
    - Dst: httpout_close_llhas_part
      Src: /src/gpac/src/filters/out_http.c:4458,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4492,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4498,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/out_http.c:4435,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:4456,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/out_http.c:4480,1
    - Dst: httpout_check_mem_path
      Src: /src/gpac/src/filters/out_http.c:4468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/out_http.c:4463,1
    - Dst: httpout_sess_flush_close
      Src: /src/gpac/src/filters/out_http.c:4504,1
    - Dst: httpout_close_input_llhas
      Src: /src/gpac/src/filters/out_http.c:4422,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4435,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4452,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/out_http.c:4485,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4490,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4501,1
    - Dst: gf_dm_sess_send
      Src: /src/gpac/src/filters/out_http.c:4433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/out_http.c:4428,1
    - Dst: httpout_input_in_error
      Src: /src/gpac/src/filters/out_http.c:4437,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/out_http.c:4472,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/out_http.c:4461,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/out_http.c:4479,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/out_http.c:4465,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - GF_HTTPOutCtx*
    - GF_HTTPOutInput*
    constantsTouched: []
    func_position:
      end: 4511
      start: 4420
    functionDepth: 0
    functionLinenumber: 4420
    functionLinenumberEnd: 4511
    functionName: httpout_close_input
    functionSourceFile: /src/gpac/src/filters/out_http.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - httpout_close_upload
    - gf_error_to_string
    - gf_list_count
    - gf_fsize
    - gf_dm_sess_send
    - GF_LOG
    - httpout_input_in_error
    - gf_fclose
    - httpout_sess_flush_close
    - httpout_check_mem_path
    - httpout_close_llhas_part
    - httpout_close_input_llhas
    - gf_fseek
    - gf_assert
    - gf_fopen
    linkageType: ''
    returnType: void
    signature: 'static void httpout_close_input(GF_HTTPOutCtx *ctx, GF_HTTPOutInput
      *in) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/bs_agg.c:277,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:284,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:295,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:311,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:326,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:342,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:396,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:403,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:408,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:388,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/bs_agg.c:395,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:403,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:292,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:302,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:322,1
    - Dst: bsagg_transfer_param_array
      Src: /src/gpac/src/filters/bs_agg.c:319,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:306,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:325,1
    - Dst: bsagg_transfer_param_array
      Src: /src/gpac/src/filters/bs_agg.c:328,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:343,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:347,1
    - Dst: bsagg_transfer_param_array
      Src: /src/gpac/src/filters/bs_agg.c:353,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:384,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/bs_agg.c:402,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:369,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:397,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:287,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:315,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/bs_agg.c:318,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/bs_agg.c:351,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:365,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:382,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:396,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/bs_agg.c:407,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:408,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:419,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:410,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:383,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:420,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bs_agg.c:380,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_agg.c:382,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:372,1
    - Dst: gf_odf_vvc_cfg_new
      Src: /src/gpac/src/filters/bs_agg.c:274,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:288,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:291,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:301,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:314,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/bs_agg.c:312,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:305,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:329,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:338,1
    - Dst: GOTO_ERR
      Src: /src/gpac/src/filters/bs_agg.c:339,1
    - Dst: bsagg_transfer_param_array
      Src: /src/gpac/src/filters/bs_agg.c:371,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:418,1
    - Dst: bsagg_transfer_param_array
      Src: /src/gpac/src/filters/bs_agg.c:360,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:385,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 135
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 422
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 422
    functionName: vvc_hevc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_odf_hevc_cfg_write
    - PROP_UINT
    - gf_odf_hevc_cfg_new
    - gf_list_get
    - gf_odf_vvc_cfg_write
    - gf_filter_pid_set_udta_flags
    - gf_filter_pid_set_property
    - memcpy
    - bsagg_transfer_param_array
    - GOTO_ERR
    - gf_odf_vvc_cfg_new
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_hevc_rewrite_pid_config(BSAggCtx *ctx, BSAggOut
      *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:801,1
    - Dst: bs_agg_is_base
      Src: /src/gpac/src/filters/bs_agg.c:802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - codec_id
    - dep_id
    argTypes:
    - BSAggCtx*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 806
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 806
    functionName: bs_agg_get_base
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - bs_agg_is_base
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: BSAggOut*
    signature: 'static BSAggOut *bs_agg_get_base(BSAggCtx *ctx, u32 codec_id, u32
      dep_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:427,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bs_agg.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - c_opid
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: none_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_copy_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_rewrite_pid_config(BSAggCtx *ctx, BSAggOut *c_opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:810,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_agg.c:815,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:813,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bs_agg.c:811,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:812,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_agg.c:816,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 818
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 818
    functionName: bs_agg_reset_stream
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void bs_agg_reset_stream(BSAggOut *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: bsagg_register
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bsagg_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_process
      Src: /src/gpac/src/filters/bs_agg.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c_opid
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: vvc_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - nalu_process
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_process(BSAggCtx *ctx, BSAggOut *c_opid) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_agg.c:824,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/bs_agg.c:830,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bs_agg.c:836,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/bs_agg.c:859,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:831,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/bs_agg.c:833,1
    - Dst: bs_agg_reset_stream
      Src: /src/gpac/src/filters/bs_agg.c:834,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/bs_agg.c:840,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:843,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:860,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bs_agg.c:893,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:895,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/bs_agg.c:832,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:857,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:864,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:849,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:892,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/bs_agg.c:825,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_agg.c:854,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bs_agg.c:863,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:856,1
    - Dst: bs_agg_get_base
      Src: /src/gpac/src/filters/bs_agg.c:851,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:894,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/bs_agg.c:900,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 905
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 905
    functionName: bs_agg_configure_pid
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_list_add
    - gf_filter_pid_set_udta
    - gf_list_pop_back
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_list_count
    - gf_free
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_list_new
    - gf_list_del_item
    - bs_agg_get_base
    - bs_agg_reset_stream
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_agg_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:782,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:786,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:788,1
    - Dst: bs_agg_is_base
      Src: /src/gpac/src/filters/bs_agg.c:791,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - pctx
    - codec_id
    - dep_id
    - rec_level
    argTypes:
    - BSAggOut*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 795
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 795
    functionName: bs_agg_is_base
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - bs_agg_is_base
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bs_agg_is_base(BSAggOut *pctx, u32 codec_id, u32 dep_id,
      u32 rec_level) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_agg.c:911,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:913,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 922
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 922
    functionName: bs_agg_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_agg_process(GF_Filter *filter) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/bs_agg.c:153,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_agg.c:162,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bs_agg.c:189,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:167,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:169,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:209,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:131,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:138,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:176,1
    - Dst: bsagg_transfer_avc_params
      Src: /src/gpac/src/filters/bs_agg.c:173,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:168,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bs_agg.c:191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:194,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/bs_agg.c:199,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:134,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:145,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:149,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:164,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bs_agg.c:181,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:204,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:135,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bs_agg.c:139,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bs_agg.c:193,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:200,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/bs_agg.c:203,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bs_agg.c:210,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:204,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 212
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 212
    functionName: avc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - bsagg_transfer_avc_params
    - gf_filter_pid_copy_properties
    - gf_odf_avc_cfg_write
    - gf_filter_pid_set_property
    - gf_odf_avc_cfg_del
    - memcpy
    - gf_odf_avc_cfg_read
    - PROP_UINT
    - GF_SAFEALLOC
    - gf_list_new
    - gf_filter_pid_set_udta_flags
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_rewrite_pid_config(BSAggCtx *ctx, BSAggOut *pctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:434,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/bs_agg.c:440,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/bs_agg.c:439,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/bs_agg.c:437,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bs_agg.c:445,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/bs_agg.c:446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - c_opid
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: none_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_process(BSAggCtx *ctx, BSAggOut *c_opid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bs_agg.c:478,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:481,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:485,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:484,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:486,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:487,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:488,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bs_agg.c:489,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/bs_agg.c:492,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bs_agg.c:494,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bs_agg.c:493,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/bs_agg.c:494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 495
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 495
    functionName: bsagg_set_linf
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content
    - gf_bs_del
    - gf_bs_new
    - gf_filter_pid_set_info_str
    - gf_bs_write_int
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void bsagg_set_linf(BSAggOut *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_process
      Src: /src/gpac/src/filters/bs_agg.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c_opid
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: avc_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - nalu_process
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_process(BSAggCtx *ctx, BSAggOut *c_opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_agg.c:927,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: bs_agg_initialize
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bs_agg_initialize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:98,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/bs_agg.c:104,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:102,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:107,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/bs_agg.c:108,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:113,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:114,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:116,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 2
    argNames:
    - cfg_out
    - cfg_in
    argTypes:
    - GF_AVCConfig*
    - GF_AVCConfig*
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: bsagg_transfer_avc_params
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_pop_front
    - memcmp
    - gf_list_count
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsagg_transfer_avc_params(GF_AVCConfig *cfg_out, GF_AVCConfig
      *cfg_in) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:216,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_agg.c:226,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:221,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/bs_agg.c:218,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:217,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bs_agg.c:231,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:233,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:235,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:236,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/bs_agg.c:237,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:246,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:249,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:250,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bs_agg.c:255,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/bs_agg.c:241,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:240,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_agg.c:254,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - array_out
    - array_in
    argTypes:
    - GF_List*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 259
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 259
    functionName: bsagg_transfer_param_array
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_del
    - gf_list_pop_front
    - memcmp
    - gf_list_count
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsagg_transfer_param_array(GF_List *array_out, GF_List
      *array_in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/bs_agg.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - cbk
    - prop_4cc
    - prop_name
    - src_prop
    argTypes:
    - void*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: bsagg_filter_prop
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bsagg_filter_prop(void *cbk, u32 prop_4cc, const char
      *prop_name, const GF_PropertyValue *src_prop) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/bs_agg.c:520,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/bs_agg.c:514,1
    - Dst: bsagg_set_linf
      Src: /src/gpac/src/filters/bs_agg.c:536,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/bs_agg.c:537,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/bs_agg.c:561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_agg.c:578,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/bs_agg.c:725,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/bs_agg.c:733,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:743,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:717,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/bs_agg.c:742,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:507,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/bs_agg.c:512,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bs_agg.c:522,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/bs_agg.c:555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:547,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bs_agg.c:762,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/bs_agg.c:526,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/bs_agg.c:551,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_agg.c:583,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:664,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:666,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/bs_agg.c:702,1
    - Dst: gf_filter_pck_merge_properties_filter
      Src: /src/gpac/src/filters/bs_agg.c:730,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:745,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bs_agg.c:757,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bs_agg.c:511,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/bs_agg.c:530,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/bs_agg.c:548,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/bs_agg.c:558,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bs_agg.c:552,1
    - Dst: gf_timestamp_less_or_equal
      Src: /src/gpac/src/filters/bs_agg.c:556,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bs_agg.c:593,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bs_agg.c:687,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/bs_agg.c:695,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bs_agg.c:697,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 244
    argCount: 3
    argNames:
    - ctx
    - pctx
    - codec_type
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    - u32
    constantsTouched: []
    func_position:
      end: 765
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 765
    functionName: nalu_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_timestamp_less_or_equal
    - gf_filter_pck_new_alloc
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_timestamp_less
    - bsagg_set_linf
    - gf_filter_pck_get_dts
    - gf_list_insert
    - gf_list_get
    - gf_filter_pid_get_udta_flags
    - gf_filter_pck_merge_properties_filter
    - gf_filter_pck_expand
    - memcpy
    - gf_filter_pck_send
    - gf_realloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nalu_process(BSAggCtx *ctx, BSAggOut *pctx, u32 codec_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_process
      Src: /src/gpac/src/filters/bs_agg.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c_opid
    argTypes:
    - BSAggCtx*
    - BSAggOut*
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: hevc_process
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - nalu_process
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevc_process(BSAggCtx *ctx, BSAggOut *c_opid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bs_agg.c:935,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bs_agg.c:937,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bs_agg.c:938,1
    - Dst: bs_agg_reset_stream
      Src: /src/gpac/src/filters/bs_agg.c:939,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bs_agg.c:941,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 942
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 942
    functionName: bs_agg_finalize
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - bs_agg_reset_stream
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void bs_agg_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: bsagg_register
    functionSourceFile: /src/gpac/src/filters/bs_agg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bsagg_register(GF_FilterSession *session) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 1
    argNames:
    - hevc
    argTypes:
    - HEVCState*
    constantsTouched: []
    func_position:
      end: 143
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 143
    functionName: hevcsplit_get_slice_tile_index
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 hevcsplit_get_slice_tile_index(HEVCState *hevc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:228,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:231,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:233,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:243,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:248,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:238,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:249,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:251,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:254,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:230,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:237,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:250,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:229,1
    - Dst: gf_bs_write_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:229,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:228,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:231,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:233,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:249,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:243,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:248,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/hevcsplit.c:251,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:230,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:236,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:239,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - bs_in
    - bs_out
    - ProfilePresentFlag
    - MaxNumSubLayersMinus1
    argTypes:
    - GF_BitStream*
    - GF_BitStream*
    - Bool
    - u8
    constantsTouched: []
    func_position:
      end: 256
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 256
    functionName: hevc_write_profile_tier_level
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_bs_write_long_int
    - gf_bs_write_int
    - gf_bs_read_long_int
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void hevc_write_profile_tier_level(GF_BitStream *bs_in, GF_BitStream
      *bs_out, Bool ProfilePresentFlag, u8 MaxNumSubLayersMinus1) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcsplit.c:455,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcsplit.c:464,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcsplit.c:468,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:476,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:497,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcsplit.c:533,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/hevcsplit.c:548,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/hevcsplit.c:561,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcsplit.c:566,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcsplit.c:539,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:463,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcsplit.c:460,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcsplit.c:467,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:474,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:477,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:479,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:501,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:521,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:522,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:529,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:552,1
    - Dst: gf_media_nalu_remove_emulation_bytes
      Src: /src/gpac/src/filters/hevcsplit.c:458,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:500,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:497,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:475,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:514,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:533,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:543,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/hevcsplit.c:550,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:534,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcsplit.c:544,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/hevcsplit.c:461,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:474,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:480,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:477,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:508,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcsplit.c:521,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:522,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:537,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/hevcsplit.c:563,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/hevcsplit.c:569,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/hevcsplit.c:558,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - in_slice
    - in_slice_length
    argTypes:
    - GF_HEVCSplitCtx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 571
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 571
    functionName: hevcsplit_remove_slice_address
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_write_ue
    - gf_bs_reassign_buffer
    - gf_assert
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_media_nalu_remove_emulation_bytes
    - gf_bs_read_ue
    - memcpy
    - gf_bs_get_bit_position
    - gf_media_nalu_emulation_bytes_add_count
    - gf_realloc
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_available
    - gf_bs_align
    - gf_bs_get_content_no_truncate
    linkageType: ''
    returnType: u32
    signature: 'static u32 hevcsplit_remove_slice_address(GF_HEVCSplitCtx *ctx, u8
      *in_slice, u32 in_slice_length) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/hevcsplit.c:579,1
    - Dst: hevcsplit_remove_slice_address
      Src: /src/gpac/src/filters/hevcsplit.c:599,1
    - Dst: hevcsplit_get_slice_tile_index
      Src: /src/gpac/src/filters/hevcsplit.c:598,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 9
    argCount: 6
    argNames:
    - filter
    - ctx
    - in_nal
    - in_nal_size
    - out_tile_index
    - out_nal_size
    argTypes:
    - GF_Filter*
    - GF_HEVCSplitCtx*
    - char*
    - u32
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 608
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 608
    functionName: hevcsplit_rewrite_nal
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - hevcsplit_get_slice_tile_index
    - gf_hevc_parse_nalu
    - hevcsplit_remove_slice_address
    linkageType: ''
    returnType: char*
    signature: 'static char *hevcsplit_rewrite_nal(GF_Filter *filter, GF_HEVCSplitCtx
      *ctx, char *in_nal, u32 in_nal_size, u32 *out_tile_index, u32 *out_nal_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/hevcsplit.c:661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - output_nal
    - rewritten_nal
    - out_nal_size
    - hevc_nalu_size_length
    argTypes:
    - char*
    - char*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 662
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 662
    functionName: hevcsplit_write_nal
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void hevcsplit_write_nal(char *output_nal, char *rewritten_nal,
      u32 out_nal_size, u32 hevc_nalu_size_length) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:685,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:694,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/hevcsplit.c:698,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/hevcsplit.c:736,1
    - Dst: gf_hevc_read_pps
      Src: /src/gpac/src/filters/hevcsplit.c:754,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:791,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/hevcsplit.c:803,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcsplit.c:804,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/hevcsplit.c:805,1
    - Dst: PROP_VEC2I_INT
      Src: /src/gpac/src/filters/hevcsplit.c:806,1
    - Dst: hevcsplit_rewrite_dsi
      Src: /src/gpac/src/filters/hevcsplit.c:809,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcsplit.c:806,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:695,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:693,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/hevcsplit.c:697,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:743,1
    - Dst: hevcsplit_config_passthrough
      Src: /src/gpac/src/filters/hevcsplit.c:718,1
    - Dst: gf_hevc_read_vps
      Src: /src/gpac/src/filters/hevcsplit.c:759,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/hevcsplit.c:763,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcsplit.c:772,1
    - Dst: hevcsplit_config_passthrough
      Src: /src/gpac/src/filters/hevcsplit.c:782,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/hevcsplit.c:791,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/hevcsplit.c:807,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcsplit.c:708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:745,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:740,1
    - Dst: memset
      Src: /src/gpac/src/filters/hevcsplit.c:733,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:789,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/hevcsplit.c:795,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/hevcsplit.c:796,1
    - Dst: hevcsplit_get_tile_pixel_coords
      Src: /src/gpac/src/filters/hevcsplit.c:800,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcsplit.c:803,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/hevcsplit.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcsplit.c:812,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcsplit.c:805,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/hevcsplit.c:689,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/hevcsplit.c:705,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/hevcsplit.c:714,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/hevcsplit.c:723,1
    - Dst: gf_hevc_read_sps
      Src: /src/gpac/src/filters/hevcsplit.c:749,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:742,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/hevcsplit.c:779,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/hevcsplit.c:793,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/hevcsplit.c:801,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/hevcsplit.c:807,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/hevcsplit.c:797,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 129
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 816
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 816
    functionName: hevcsplit_configure_pid
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - memset
    - gf_filter_pid_set_udta
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - hevcsplit_get_tile_pixel_coords
    - gf_filter_pid_set_property_str
    - gf_hevc_read_sps
    - gf_filter_get_udta
    - gf_crc_32
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_copy_properties
    - gf_hevc_read_pps
    - hevcsplit_rewrite_dsi
    - PROP_UINT
    - gf_assert
    - gf_list_get
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - PROP_VEC2I_INT
    - gf_hevc_read_vps
    - gf_filter_get_opid_count
    - gf_free
    - gf_filter_get_opid
    - gf_filter_pid_get_property
    - hevcsplit_config_passthrough
    - gf_odf_hevc_cfg_del
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcsplit_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:937,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:938,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:939,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/hevcsplit.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 942
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 942
    functionName: hevcsplit_initialize
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcsplit_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/hevcsplit.c:615,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:620,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:621,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:619,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:623,1
    - Dst: hevc_rewrite_sps
      Src: /src/gpac/src/filters/hevcsplit.c:628,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:629,1
    - Dst: hevcsplit_rewrite_pps_no_grid
      Src: /src/gpac/src/filters/hevcsplit.c:638,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:639,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/hevcsplit.c:645,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/hevcsplit.c:648,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/hevcsplit.c:648,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/hevcsplit.c:646,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 6
    argNames:
    - ctx
    - opid
    - data
    - size
    - new_width
    - new_height
    argTypes:
    - GF_HEVCSplitCtx*
    - GF_FilterPid*
    - char*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 650
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 650
    functionName: hevcsplit_rewrite_dsi
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - hevc_rewrite_sps
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - gf_filter_pid_set_property
    - gf_odf_hevc_cfg_del
    - gf_odf_hevc_cfg_write
    - gf_free
    - hevcsplit_rewrite_pps_no_grid
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcsplit_rewrite_dsi(GF_HEVCSplitCtx *ctx, GF_FilterPid
      *opid, char *data, u32 size, u32 new_width, u32 new_height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:666,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/hevcsplit.c:672,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/hevcsplit.c:668,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/hevcsplit.c:671,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/hevcsplit.c:670,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/hevcsplit.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - filter
    - ctx
    - pid
    argTypes:
    - GF_Filter*
    - GF_HEVCSplitCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: hevcsplit_config_passthrough
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_list_get
    - gf_filter_pid_set_udta
    - gf_filter_pid_copy_properties
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcsplit_config_passthrough(GF_Filter *filter, GF_HEVCSplitCtx
      *ctx, GF_FilterPid *pid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:828,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/hevcsplit.c:831,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:833,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/hevcsplit.c:838,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:847,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/hevcsplit.c:863,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/hevcsplit.c:863,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/hevcsplit.c:854,1
    - Dst: hevcsplit_write_nal
      Src: /src/gpac/src/filters/hevcsplit.c:899,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:902,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:924,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:848,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/hevcsplit.c:863,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/hevcsplit.c:865,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:868,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcsplit.c:857,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:869,1
    - Dst: hevcsplit_rewrite_nal
      Src: /src/gpac/src/filters/hevcsplit.c:877,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/hevcsplit.c:897,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/hevcsplit.c:911,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcsplit.c:920,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/hevcsplit.c:915,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/hevcsplit.c:834,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/hevcsplit.c:829,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:837,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/hevcsplit.c:849,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcsplit.c:861,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/hevcsplit.c:871,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:885,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:923,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/hevcsplit.c:850,1
    - Dst: gf_hevc_parse_nalu
      Src: /src/gpac/src/filters/hevcsplit.c:873,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/hevcsplit.c:884,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/hevcsplit.c:890,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/hevcsplit.c:893,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:903,1
    - Dst: hevcsplit_write_nal
      Src: /src/gpac/src/filters/hevcsplit.c:917,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/hevcsplit.c:928,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/hevcsplit.c:908,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 933
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 933
    functionName: hevcsplit_process
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - hevcsplit_rewrite_nal
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_hevc_parse_nalu
    - gf_filter_pck_get_dts
    - gf_bs_get_position
    - gf_filter_pid_get_udta
    - gf_bs_read_int
    - gf_filter_pck_expand
    - gf_filter_pck_send
    - gf_filter_get_opid
    - hevcsplit_write_nal
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevcsplit_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/hevcsplit.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:948,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:949,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:950,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcsplit.c:952,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcsplit.c:953,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcsplit.c:954,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/hevcsplit.c:956,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/hevcsplit.c:959,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:960,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/hevcsplit.c:962,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 963
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 963
    functionName: hevcsplit_finalize
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void hevcsplit_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: hevcsplit_register
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister * hevcsplit_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    functionName: hevcsplit_register
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister * hevcsplit_register(GF_FilterSession *session) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 128
    argCount: 8
    argNames:
    - hevc
    - index_row
    - index_col
    - pps_id
    - width
    - height
    - tx
    - ty
    argTypes:
    - HEVCState*
    - u32
    - u32
    - u32
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 220
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 220
    functionName: hevcsplit_get_tile_pixel_coords
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hevcsplit_get_tile_pixel_coords(HEVCState *hevc, u32 index_row,
      u32 index_col, u32 pps_id, u32 *width, u32 *height, u32 *tx, u32 *ty) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcsplit.c:376,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:380,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcsplit.c:385,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:382,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcsplit.c:391,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:398,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/hevcsplit.c:424,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:425,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/hevcsplit.c:431,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/hevcsplit.c:435,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:415,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/hevcsplit.c:425,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/hevcsplit.c:371,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:375,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:379,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:380,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:383,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:386,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:390,1
    - Dst: gf_bs_read_se
      Src: /src/gpac/src/filters/hevcsplit.c:392,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:395,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:410,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:416,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:420,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcsplit.c:429,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:381,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:382,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:384,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:387,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:390,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcsplit.c:392,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:393,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:396,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:398,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcsplit.c:419,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:412,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcsplit.c:434,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/hevcsplit.c:433,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/hevcsplit.c:372,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:379,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:381,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:384,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcsplit.c:385,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:386,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:388,1
    - Dst: gf_bs_write_se
      Src: /src/gpac/src/filters/hevcsplit.c:391,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:402,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:403,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:404,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:424,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 5
    argNames:
    - ctx
    - in_PPS
    - in_PPS_length
    - out_PPS
    - out_PPS_length
    argTypes:
    - GF_HEVCSplitCtx*
    - char*
    - u32
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: hevcsplit_rewrite_pps_no_grid
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_reassign_buffer
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_write_se
    - gf_bs_read_se
    - gf_bs_read_ue
    - gf_media_nalu_emulation_bytes_add_count
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_align
    - gf_bs_get_size
    - gf_bs_get_bit_position
    - gf_bs_get_content_no_truncate
    - gf_bs_write_int
    - gf_bs_write_ue
    linkageType: ''
    returnType: void
    signature: 'static void hevcsplit_rewrite_pps_no_grid(GF_HEVCSplitCtx *ctx, char
      *in_PPS, u32 in_PPS_length, char **out_PPS, u32 *out_PPS_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:271,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:276,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:303,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:305,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:309,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:319,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:338,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/hevcsplit.c:353,1
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/hevcsplit.c:355,1
    - Dst: gf_bs_get_bit_position
      Src: /src/gpac/src/filters/hevcsplit.c:337,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/hevcsplit.c:356,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:324,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcsplit.c:360,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/hevcsplit.c:357,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/hevcsplit.c:361,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/hevcsplit.c:269,1
    - Dst: gf_bs_enable_emulation_byte_removal
      Src: /src/gpac/src/filters/hevcsplit.c:270,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:291,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:286,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:285,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:281,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:295,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:299,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:312,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:314,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:332,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:276,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:277,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:279,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:299,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:305,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:331,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:338,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/hevcsplit.c:342,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/hevcsplit.c:342,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/hevcsplit.c:347,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:349,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:343,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/hevcsplit.c:272,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/hevcsplit.c:278,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:281,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:290,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:295,1
    - Dst: hevc_write_profile_tier_level
      Src: /src/gpac/src/filters/hevcsplit.c:296,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:302,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:310,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:312,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:315,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/hevcsplit.c:322,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/hevcsplit.c:343,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:330,1
    - Dst: gf_bs_read_ue
      Src: /src/gpac/src/filters/hevcsplit.c:329,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/hevcsplit.c:362,1
    - Dst: gf_bs_write_ue
      Src: /src/gpac/src/filters/hevcsplit.c:318,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 6
    argNames:
    - in_SPS
    - in_SPS_length
    - width
    - height
    - out_SPS
    - out_SPS_length
    argTypes:
    - char*
    - u32
    - u32
    - u32
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 363
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 363
    functionName: hevc_rewrite_sps
    functionSourceFile: /src/gpac/src/filters/hevcsplit.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_get_content
    - hevc_write_profile_tier_level
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_enable_emulation_byte_removal
    - gf_bs_new
    - gf_media_nalu_add_emulation_bytes
    - gf_bs_read_ue
    - gf_bs_align
    - gf_bs_get_size
    - gf_bs_get_bit_position
    - gf_media_nalu_emulation_bytes_add_count
    - gf_bs_write_int
    - gf_bs_write_ue
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void hevc_rewrite_sps(char *in_SPS, u32 in_SPS_length, u32 width,
      u32 height, char **out_SPS, u32 *out_SPS_length) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mhas.c:64,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewrite_mhas.c:74,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:81,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewrite_mhas.c:69,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:77,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:84,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_mhas.c:94,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:103,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewrite_mhas.c:108,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_mhas.c:111,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_mhas.c:113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:113,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/rewrite_mhas.c:114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_mhas.c:112,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 116
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 116
    functionName: mhasmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_crc_32
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhasmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mhas.c:232,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_mhas.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: mhasmx_initialize
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mhasmx_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: ufmhas_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufmhas_register(GF_FilterSession *session) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_mhas.c:169,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:193,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/rewrite_mhas.c:223,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_mhas.c:226,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mhas.c:122,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewrite_mhas.c:138,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_mhas.c:166,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:182,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_mhas.c:174,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:190,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_mhas.c:207,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_mhas.c:212,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/rewrite_mhas.c:215,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewrite_mhas.c:132,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_mhas.c:149,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:183,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_mhas.c:173,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_mhas.c:187,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:189,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:192,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:195,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_mhas.c:198,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/rewrite_mhas.c:221,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_mhas.c:225,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewrite_mhas.c:131,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewrite_mhas.c:129,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/rewrite_mhas.c:142,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_mhas.c:143,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_mhas.c:145,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:178,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:179,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_mhas.c:185,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_mhas.c:175,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_mhas.c:220,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 228
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 228
    functionName: mhasmx_process
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_bs_write_int
    - gf_filter_pck_set_framing
    - memcpy
    - gf_bs_write_u8
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhasmx_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mhas.c:239,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_mhas.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: mhasmx_finalize
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    linkageType: ''
    returnType: void
    signature: 'static void mhasmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: ufmhas_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufmhas_register(GF_FilterSession *session) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: restamp_configure_pid
      Src: /src/gpac/src/filters/restamp.c:409,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/restamp.c:420,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:439,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/restamp.c:466,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/restamp.c:469,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/restamp.c:487,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/restamp.c:493,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/restamp.c:508,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/restamp.c:532,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/restamp.c:536,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/restamp.c:517,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/restamp.c:527,1
    - Dst: restamp_config_timing
      Src: /src/gpac/src/filters/restamp.c:400,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/restamp.c:418,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/restamp.c:443,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/restamp.c:458,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/restamp.c:472,1
    - Dst: restamp_get_timestamp
      Src: /src/gpac/src/filters/restamp.c:475,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/restamp.c:480,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/restamp.c:484,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:489,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:500,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/restamp.c:515,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/restamp.c:521,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/restamp.c:539,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/restamp.c:397,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/restamp.c:406,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/restamp.c:424,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/restamp.c:455,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/restamp.c:452,1
    - Dst: restamp_get_timestamp
      Src: /src/gpac/src/filters/restamp.c:469,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/restamp.c:477,1
    - Dst: restamp_get_timestamp
      Src: /src/gpac/src/filters/restamp.c:496,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/restamp.c:506,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:513,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:404,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/restamp.c:415,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:426,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/restamp.c:444,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/restamp.c:441,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/restamp.c:453,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/restamp.c:440,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/restamp.c:436,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/restamp.c:468,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/restamp.c:475,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/restamp.c:491,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/restamp.c:525,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/restamp.c:529,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/restamp.c:524,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 123
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 545
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 545
    functionName: restamp_process
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_list_count
    - restamp_configure_pid
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_cts
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_list_insert
    - gf_list_get
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_new_ref
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    - restamp_config_timing
    - restamp_get_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err restamp_process(GF_Filter *filter) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:245,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/restamp.c:315,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/restamp.c:309,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/restamp.c:245,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/restamp.c:326,1
    - Dst: ABS
      Src: /src/gpac/src/filters/restamp.c:327,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 119
    argCount: 5
    argNames:
    - ctx
    - pctx
    - ots
    - is_ref_ts
    - pck
    argTypes:
    - RestampCtx*
    - RestampPid*
    - u64
    - Bool
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 340
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 340
    functionName: restamp_get_timestamp
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_timestamp_rescale_signed
    - gf_filter_pck_get_duration
    - gf_filter_pid_set_property
    - ABS
    - gf_timestamp_rescale
    - PROP_LONGSINT
    linkageType: ''
    returnType: u64
    signature: 'static u64 restamp_get_timestamp(RestampCtx *ctx, RestampPid *pctx,
      u64 ots, Bool is_ref_ts, GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/restamp.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: restamp_update_arg
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err restamp_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/restamp.c:581,1
    - Dst: restamp_update_arg
      Src: /src/gpac/src/filters/restamp.c:585,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/restamp.c:592,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/restamp.c:582,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/restamp.c:592,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 596
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 596
    functionName: restamp_initialize
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - restamp_update_arg
    - gf_filter_override_caps
    - GF_ARRAY_LENGTH
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err restamp_initialize(GF_Filter *filter) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/restamp.c:88,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/restamp.c:102,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/restamp.c:110,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/restamp.c:125,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:218,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/restamp.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:227,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/restamp.c:161,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/restamp.c:216,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/restamp.c:90,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/restamp.c:91,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:92,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/restamp.c:98,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/restamp.c:106,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/restamp.c:109,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/restamp.c:116,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:124,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/restamp.c:113,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:135,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/restamp.c:201,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/restamp.c:81,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/restamp.c:93,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:94,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/restamp.c:111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:131,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/restamp.c:156,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:174,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/restamp.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:190,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/restamp.c:206,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:216,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:223,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/restamp.c:139,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/restamp.c:227,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/restamp.c:82,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/restamp.c:96,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/restamp.c:139,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:158,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/restamp.c:164,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:166,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:171,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:194,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/restamp.c:201,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/restamp.c:209,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/restamp.c:171,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 138
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 232
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 232
    functionName: restamp_configure_pid
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_filter_pid_set_framing_mode
    - PROP_FRAC64
    - PROP_FRAC_INT
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_timestamp_rescale_signed
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_list_new
    - gf_list_del_item
    - gf_filter_pid_negotiate_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pck_unref
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - gf_fatal_assert
    - PROP_FRAC
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err restamp_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/restamp.c:550,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/restamp.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 557
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 557
    functionName: restamp_process_event
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_udta
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool restamp_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:355,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/restamp.c:364,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/restamp.c:357,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/restamp.c:358,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/restamp.c:360,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/restamp.c:367,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/restamp.c:369,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/restamp.c:371,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/restamp.c:384,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/restamp.c:386,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/restamp.c:387,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - RestampCtx*
    constantsTouched: []
    func_position:
      end: 391
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 391
    functionName: restamp_config_timing
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_timestamp_rescale
    - gf_filter_pck_is_blocking_ref
    - gf_timestamp_rescale_signed
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: void
    signature: 'static void restamp_config_timing(GF_Filter *filter, RestampCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/restamp.c:599,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:600,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/restamp.c:603,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/restamp.c:601,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:602,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/restamp.c:604,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/restamp.c:605,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/restamp.c:607,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/restamp.c:608,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/restamp.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: restamp_finalize
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_free
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void restamp_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: restamp_register
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *restamp_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: restamp_register
    functionSourceFile: /src/gpac/src/filters/restamp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *restamp_register(GF_FilterSession *session) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_obu.c:96,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_obu.c:152,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/rewrite_obu.c:171,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filters/rewrite_obu.c:138,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_obu.c:67,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:80,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewrite_obu.c:77,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewrite_obu.c:72,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_obu.c:94,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/rewrite_obu.c:115,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/rewrite_obu.c:133,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/rewrite_obu.c:113,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/rewrite_obu.c:110,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/rewrite_obu.c:112,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/rewrite_obu.c:145,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:165,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/rewrite_obu.c:171,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_obu.c:85,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewrite_obu.c:91,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_obu.c:96,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/rewrite_obu.c:100,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/rewrite_obu.c:118,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/rewrite_obu.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:122,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/rewrite_obu.c:150,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_obu.c:151,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:161,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:163,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:140,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:156,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/rewrite_obu.c:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 99
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 175
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 175
    functionName: obumx_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_caps_query
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_filter_pid_set_property_str
    - gf_filter_get_udta
    - gf_crc_32
    - gf_av1_leb128_size
    - gf_filter_pid_copy_properties
    - strcmp
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - gf_list_enum
    - gf_odf_av1_cfg_del
    - gf_filter_pid_set_property
    - gf_free
    - gf_filter_pid_get_property
    - gf_odf_av1_cfg_read
    - gf_filter_pid_check_caps
    - gf_list_rem
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err obumx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/rewrite_obu.c:380,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:383,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:431,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:444,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/rewrite_obu.c:512,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/rewrite_obu.c:571,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/rewrite_obu.c:571,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/rewrite_obu.c:485,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:489,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/rewrite_obu.c:547,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_obu.c:595,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:544,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_obu.c:473,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:486,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:584,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:436,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:455,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/rewrite_obu.c:534,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_obu.c:578,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:596,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewrite_obu.c:376,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_obu.c:423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:449,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:461,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/rewrite_obu.c:541,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_obu.c:526,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:514,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/rewrite_obu.c:529,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:550,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/rewrite_obu.c:583,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:372,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:529,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/rewrite_obu.c:557,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/rewrite_obu.c:536,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/rewrite_obu.c:571,1
    - Dst: gf_bs_write_u64_le
      Src: /src/gpac/src/filters/rewrite_obu.c:573,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_obu.c:585,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/rewrite_obu.c:558,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_obu.c:357,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/rewrite_obu.c:399,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_obu.c:502,1
    - Dst: gf_bs_write_u16_le
      Src: /src/gpac/src/filters/rewrite_obu.c:535,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:525,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:484,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:572,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_obu.c:589,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_obu.c:381,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_obu.c:577,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/filters/rewrite_obu.c:511,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_obu.c:426,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/rewrite_obu.c:439,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/rewrite_obu.c:441,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:497,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:509,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/rewrite_obu.c:520,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/rewrite_obu.c:544,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_obu.c:371,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:464,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_obu.c:491,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:559,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:566,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:547,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:567,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:553,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/rewrite_obu.c:550,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:362,1
    - Dst: obumx_process_mpeg2au
      Src: /src/gpac/src/filters/rewrite_obu.c:388,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_obu.c:424,1
    - Dst: memset
      Src: /src/gpac/src/filters/rewrite_obu.c:408,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_obu.c:479,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/rewrite_obu.c:496,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_obu.c:397,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:534,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/rewrite_obu.c:490,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/filters/rewrite_obu.c:433,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:440,1
    - Dst: gf_av1_leb128_size
      Src: /src/gpac/src/filters/rewrite_obu.c:468,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/rewrite_obu.c:541,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_obu.c:561,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/rewrite_obu.c:515,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewrite_obu.c:365,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_obu.c:478,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_obu.c:498,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:560,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_obu.c:504,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/rewrite_obu.c:564,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewrite_obu.c:364,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_obu.c:476,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 204
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 599
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 599
    functionName: obumx_process
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_timescale
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - GF_4CC
    - gf_av1_leb128_size
    - gf_filter_pid_get_packet
    - gf_bs_write_u32_le
    - gf_bs_write_u16_le
    - gf_av1_leb128_write
    - gf_bs_write_u64_le
    - gf_assert
    - obumx_process_mpeg2au
    - gf_bs_get_position
    - gf_list_enum
    - gf_bs_new
    - gf_av1_parse_obu_header
    - gf_bs_write_u32
    - gf_bs_write_u8
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_send
    - gf_filter_pid_get_property
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_av1_leb128_read
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err obumx_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_nalu_emulation_bytes_add_count
      Src: /src/gpac/src/filters/rewrite_obu.c:225,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/rewrite_obu.c:226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:228,1
    - Dst: gf_media_nalu_add_emulation_bytes
      Src: /src/gpac/src/filters/rewrite_obu.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - in_data
    - in_size
    - out_data
    - out_size
    argTypes:
    - u8*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: format_obu_mpeg2ts
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_media_nalu_emulation_bytes_add_count
    - gf_malloc
    - GF_LOG
    - gf_media_nalu_add_emulation_bytes
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err format_obu_mpeg2ts(u8* in_data, u32 in_size, u8 **out_data,
      u32 *out_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/rewrite_obu.c:248,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_obu.c:253,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:257,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_obu.c:260,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:275,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/rewrite_obu.c:284,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_obu.c:290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:299,1
    - Dst: format_obu_mpeg2ts
      Src: /src/gpac/src/filters/rewrite_obu.c:301,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/rewrite_obu.c:335,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/rewrite_obu.c:327,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_obu.c:313,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_obu.c:258,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:271,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:281,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/rewrite_obu.c:278,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/rewrite_obu.c:297,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_obu.c:320,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/rewrite_obu.c:321,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/rewrite_obu.c:323,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_obu.c:326,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/rewrite_obu.c:337,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:349,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/rewrite_obu.c:346,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/rewrite_obu.c:341,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/filters/rewrite_obu.c:274,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_obu.c:279,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_obu.c:291,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/rewrite_obu.c:296,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_obu.c:305,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_obu.c:309,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/rewrite_obu.c:317,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/rewrite_obu.c:330,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_obu.c:334,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_obu.c:344,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/rewrite_obu.c:342,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/rewrite_obu.c:247,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/rewrite_obu.c:249,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_obu.c:254,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/rewrite_obu.c:262,1
    - Dst: obumx_add_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:289,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:303,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_obu.c:307,1
    - Dst: obumx_add_packet
      Src: /src/gpac/src/filters/rewrite_obu.c:312,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/rewrite_obu.c:322,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/rewrite_obu.c:324,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/rewrite_obu.c:336,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 4
    argNames:
    - ctx
    - src_pck
    - data
    - src_pck_size
    argTypes:
    - GF_OBUMxCtx*
    - GF_FilterPacket*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 351
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 351
    functionName: obumx_process_mpeg2au
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_malloc
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_sap
    - format_obu_mpeg2ts
    - gf_bs_reassign_buffer
    - gf_bs_del
    - gf_filter_pck_set_sap
    - gf_list_del
    - gf_list_count
    - gf_filter_pck_set_cts
    - gf_bs_read_data
    - gf_list_new
    - gf_filter_pck_set_duration
    - gf_list_get
    - gf_bs_get_position
    - obumx_add_packet
    - gf_bs_new
    - gf_av1_parse_obu_header
    - gf_free
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - gf_bs_available
    - gf_list_rem
    - gf_av1_leb128_read
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err obumx_process_mpeg2au(GF_OBUMxCtx *ctx, GF_FilterPacket
      *src_pck, u8 *data, u32 src_pck_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:191,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/rewrite_obu.c:194,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:196,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_obu.c:199,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_obu.c:201,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_obu.c:204,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_obu.c:206,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_obu.c:208,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/rewrite_obu.c:209,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - opid
    - bs
    - src_pck
    - pcks
    argTypes:
    - GF_FilterPid*
    - GF_BitStream*
    - GF_FilterPacket*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 211
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 211
    functionName: obumx_add_packet
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_list_add
    - gf_bs_get_content
    - GF_LOG
    - gf_filter_pck_merge_properties
    - memcpy
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: "static GF_Err obumx_add_packet(GF_FilterPid *opid,\t\t\t\t\t\t\t GF_BitStream
      *bs,\t\t\t\t\t\t\t GF_FilterPacket *src_pck,\t\t\t\t\t\t\t GF_List *pcks) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_obu.c:603,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filters/rewrite_obu.c:606,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_obu.c:605,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_obu.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: obumx_finalize
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_odf_av1_cfg_del
    - gf_bs_del
    linkageType: ''
    returnType: void
    signature: 'static void obumx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: ufobu_register
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufobu_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: ufobu_register
    functionSourceFile: /src/gpac/src/filters/rewrite_obu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufobu_register(GF_FilterSession *session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ac52.c:66,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_ac52.c:80,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_ac52.c:70,1
    - Dst: a52_init
      Src: /src/gpac/src/filters/dec_ac52.c:86,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_ac52.c:76,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ac52.c:88,1
    - Dst: a52_samples
      Src: /src/gpac/src/filters/dec_ac52.c:92,1
    - Dst: a52_free
      Src: /src/gpac/src/filters/dec_ac52.c:94,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ac52.c:95,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_ac52.c:99,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:103,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:105,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:104,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:103,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_ac52.c:102,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:105,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: a52dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - a52_init
    - a52_free
    - PROP_UINT
    - gf_filter_pid_remove
    - a52_samples
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err a52dec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - s32
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: blah
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE s32 blah (s32 i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blah
      Src: /src/gpac/src/filters/dec_ac52.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - _f
    - samps
    - nchannels
    argTypes:
    - float*
    - s16*
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: float_to_int
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached:
    - blah
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void float_to_int (float * _f, s16 *samps, int nchannels) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_ac52.c:203,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:222,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_ac52.c:236,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_ac52.c:246,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_ac52.c:250,1
    - Dst: a52_block
      Src: /src/gpac/src/filters/dec_ac52.c:259,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_ac52.c:202,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:228,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_ac52.c:240,1
    - Dst: a52dec_check_mc_config
      Src: /src/gpac/src/filters/dec_ac52.c:224,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_ac52.c:241,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_ac52.c:242,1
    - Dst: float_to_int
      Src: /src/gpac/src/filters/dec_ac52.c:262,1
    - Dst: a52_syncinfo
      Src: /src/gpac/src/filters/dec_ac52.c:211,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:222,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ac52.c:233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ac52.c:232,1
    - Dst: a52_frame
      Src: /src/gpac/src/filters/dec_ac52.c:231,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_ac52.c:253,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_ac52.c:264,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ac52.c:197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ac52.c:208,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_ac52.c:199,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_ac52.c:210,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:228,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ac52.c:223,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ac52.c:244,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 267
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 267
    functionName: a52dec_process
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_filter_pck_set_duration
    - float_to_int
    - gf_filter_pid_set_property
    - gf_filter_pck_send
    - a52_block
    - gf_filter_pck_merge_properties
    - a52_frame
    - a52dec_check_mc_config
    - a52_syncinfo
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err a52dec_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ac52.c:111,1
    - Dst: a52_free
      Src: /src/gpac/src/filters/dec_ac52.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: a52dec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - a52_free
    linkageType: ''
    returnType: void
    signature: 'static void a52dec_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: a52dec_register
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *a52dec_register(GF_FilterSession *session) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ac52.c:153,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dec_ac52.c:153,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_A52DecCtx*
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: a52dec_check_mc_config
    functionSourceFile: /src/gpac/src/filters/dec_ac52.c
    functionUses: []
    functionsReached:
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void a52dec_check_mc_config(GF_A52DecCtx *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mhas.c:344,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_mhas.c:386,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_mhas.c:384,1
    - Dst: mhas_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mhas.c:361,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mhas.c:393,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 407
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 407
    functionName: mhas_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - mhas_dmx_check_dur
    - GF_FEVT_INIT
    - gf_filter_pck_unref
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mhas_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:196,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:184,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:217,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mhas.c:246,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:251,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mhas.c:253,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_mhas.c:151,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mhas.c:177,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:179,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mhas.c:200,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:186,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:203,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:215,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:216,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mhas.c:232,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_mhas.c:247,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mhas.c:150,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_mhas.c:167,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_mhas.c:160,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:183,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:190,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:218,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:224,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mhas.c:226,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mhas.c:251,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mhas.c:260,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_mhas.c:158,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:172,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_mhas.c:173,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:185,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:188,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:201,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:191,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:207,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/reframe_mhas.c:223,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:245,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 141
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_MHASDmxCtx*
    constantsTouched: []
    func_position:
      end: 262
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 262
    functionName: mhas_dmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - strncmp
    - gf_bs_peek_bits
    - PROP_FRAC64
    - gf_bs_skip_bytes
    - gf_mpegh_escaped_value
    - gf_bs_del
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_bs_read_int
    - gf_filter_pid_set_property
    - gf_sys_is_test_mode
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_bs_align
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void mhas_dmx_check_dur(GF_Filter *filter, GF_MHASDmxCtx *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 1
    argNames:
    - pck_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 448
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 448
    functionName: mhas_pck_name
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *mhas_pck_name(u32 pck_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mhas.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mhas_type
    - ==8
    argTypes:
    - mhas_type
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: if
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    linkageType: ''
    returnType: else
    signature: 'else if (mhas_type==8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - udta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: mhas_buffer_too_small
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mhas_buffer_too_small(void *udta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mhas.c:829,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mhas.c:831,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mhas.c:832,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mhas.c:833,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mhas.c:830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: mhas_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pck_unref
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void mhas_dmx_finalize(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mhas.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mhas.c:110,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mhas.c:115,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_mhas.c:107,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_mhas.c:102,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/reframe_mhas.c:121,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mhas.c:126,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mhas.c:127,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: mhas_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_property_str
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhas_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_get_num_channels_from_layout
      Src: /src/gpac/src/filters/reframe_mhas.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:300,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:301,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:308,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:321,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/reframe_mhas.c:310,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mhas.c:320,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:324,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:332,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mhas.c:269,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:303,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mhas.c:306,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:322,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_mhas.c:322,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:325,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:328,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/reframe_mhas.c:331,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:333,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:336,1
    - Dst: mhas_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mhas.c:270,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:300,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_mhas.c:313,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:321,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_mhas.c:308,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:329,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:332,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:336,1
    - Dst: gf_audio_fmt_get_layout_from_cicp
      Src: /src/gpac/src/filters/reframe_mhas.c:292,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mhas.c:299,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:303,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:306,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:325,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:328,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:331,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mhas.c:333,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 9
    argNames:
    - filter
    - ctx
    - PL
    - sample_rate
    - frame_len
    - CICPspeakerLayoutIdx
    - numSpeakers
    - dsi
    - dsi_size
    argTypes:
    - GF_Filter*
    - GF_MHASDmxCtx*
    - u32
    - u32
    - u32
    - s32
    - s32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 338
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 338
    functionName: mhas_dmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - mhas_dmx_check_dur
    - gf_filter_pid_set_name
    - PROP_LONGUINT
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_FRAC64
    - memcpy
    - gf_audio_fmt_get_num_channels_from_layout
    - gf_audio_fmt_get_layout_from_cicp
    - PROP_UINT
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void mhas_dmx_check_pid(GF_Filter *filter, GF_MHASDmxCtx *ctx,
      u32 PL, u32 sample_rate, u32 frame_len, s32 CICPspeakerLayoutIdx, s32 numSpeakers,
      u8 *dsi, u32 dsi_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pck_dur
    argTypes:
    - GF_MHASDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: mhas_dmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void mhas_dmx_update_cts(GF_MHASDmxCtx *ctx, u32 pck_dur) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_mhas.c:475,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_mhas.c:473,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mhas.c:540,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:598,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mhas.c:619,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:634,1
    - Dst: mhas_dmx_check_pid
      Src: /src/gpac/src/filters/reframe_mhas.c:642,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:652,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:697,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mhas.c:726,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:636,1
    - Dst: mhas_dmx_update_cts
      Src: /src/gpac/src/filters/reframe_mhas.c:748,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/reframe_mhas.c:708,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:649,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_mhas.c:742,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_mhas.c:808,1
    - Dst: mhas_pck_name
      Src: /src/gpac/src/filters/reframe_mhas.c:679,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_mhas.c:478,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_mhas.c:497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:546,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:582,1
    - Dst: mhas_pck_name
      Src: /src/gpac/src/filters/reframe_mhas.c:603,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:620,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:631,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mhas.c:664,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/reframe_mhas.c:674,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mhas.c:677,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_mhas.c:734,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_mhas.c:803,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mhas.c:722,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mhas.c:799,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mhas.c:733,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:651,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_mhas.c:494,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mhas.c:510,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mhas.c:512,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:572,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:571,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:573,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_mhas.c:518,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mhas.c:557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:603,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:679,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:627,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_mhas.c:730,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mhas.c:735,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_mhas.c:770,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:741,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mhas.c:708,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mhas.c:724,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mhas.c:453,1
    - Dst: mhas_dmx_check_dur
      Src: /src/gpac/src/filters/reframe_mhas.c:468,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mhas.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mhas.c:550,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:601,1
    - Dst: gf_bs_peek_bits
      Src: /src/gpac/src/filters/reframe_mhas.c:610,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:630,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:638,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:650,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/reframe_mhas.c:719,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_mhas.c:759,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mhas.c:732,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mhas.c:739,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mhas.c:622,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mhas.c:675,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mhas.c:756,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mhas.c:789,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 305
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 812
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 812
    functionName: mhas_dmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - mhas_dmx_check_dur
    - gf_filter_pid_is_eos
    - mhas_dmx_update_cts
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_bs_peek_bits
    - mhas_dmx_check_pid
    - gf_timestamp_rescale
    - gf_bs_skip_bytes
    - mhas_pck_name
    - gf_filter_pck_get_data
    - gf_mpegh_escaped_value
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - memmove
    - gf_filter_pck_set_duration
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - memchr
    - gf_bs_align
    - PROP_LONGSINT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mhas_dmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mhas.c:822,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_mhas.c:823,1
    - Dst: gf_bs_set_eos_callback
      Src: /src/gpac/src/filters/reframe_mhas.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: mhas_dmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_bs_set_eos_callback
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mhas_dmx_initialize(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mhas.c:847,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mhas.c:859,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_mhas.c:858,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:861,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:862,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:863,1
    - Dst: gf_mpegh_escaped_value
      Src: /src/gpac/src/filters/reframe_mhas.c:864,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mhas.c:865,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_mhas.c:871,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mhas.c:873,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 879
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 879
    functionName: mhas_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_new
    - gf_bs_available
    - memchr
    - gf_bs_skip_bytes
    - gf_mpegh_escaped_value
    linkageType: ''
    returnType: char*
    signature: 'static const char *mhas_dmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: rfmhas_register
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmhas_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: rfmhas_register
    functionSourceFile: /src/gpac/src/filters/reframe_mhas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmhas_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:333,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/jsfilter.c:344,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:346,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/filters/jsfilter.c:337,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:336,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/filters/jsfilter.c:355,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:358,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:359,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:360,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 362
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 362
    functionName: jsf_pck_finalizer
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - JS_IsUndefined
    - gf_filter_pck_discard
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_pck_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1753,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filters/jsfilter.c:1757,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1756,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1759
    functionName: jsf_filter_lock
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_lock
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_lock(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2402,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2403,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2404,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2406,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2405,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2407,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/jsfilter.c:2407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2408
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2408
    functionName: jsf_pid_is_filter_in_parents
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_is_filter_in_parents(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:366,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:376,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filters/jsfilter.c:373,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:372,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filters/jsfilter.c:370,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filters/jsfilter.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: jsf_filter_pck_mark
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'static void jsf_filter_pck_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1762,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1764,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1765,1
    - Dst: gf_filter_lock_all
      Src: /src/gpac/src/filters/jsfilter.c:1766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1768
    functionName: jsf_filter_lock_all
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_lock_all
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_lock_all(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2415,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2420,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:2419,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2416,1
    - Dst: gf_filter_pid_get_buffer_occupancy
      Src: /src/gpac/src/filters/jsfilter.c:2418,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2420,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2421,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2421,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2422,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2422,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2423,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2424,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2423,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2426
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2426
    functionName: jsf_pid_get_buffer_occupancy
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_buffer_occupancy
    - JS_NewObject
    - JS_NewInt32
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_buffer_occupancy(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:309,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:313,1
    - Dst: jsf_event_reset
      Src: /src/gpac/src/filters/jsfilter.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: jsf_evt_finalizer
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - jsf_event_reset
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_evt_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:526,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:529,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:528,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:527,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:529,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:533,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:534,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:537,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:538,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:540,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:541,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:542,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:543,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: jsf_get_script_filename
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToCString
    - JS_FreeCString
    - JS_IsNull
    - JS_IsException
    - JS_IsUndefined
    - JS_GetOpaque
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: char*
    signature: 'const char *jsf_get_script_filename(JSContext *c) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_codecid_file_ext
      Src: /src/gpac/src/filters/jsfilter.c:658,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/filters/jsfilter.c:663,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:665,1
    - Dst: strchr
      Src: /src/gpac/src/filters/jsfilter.c:661,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:659,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:669,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/jsfilter.c:669,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:672,1
    - Dst: gf_audio_fmt_get_layout_name
      Src: /src/gpac/src/filters/jsfilter.c:672,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:676,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:684,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:680,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/src/filters/jsfilter.c:680,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/src/filters/jsfilter.c:676,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - prop
    - p4cc
    argTypes:
    - JSContext*
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 688
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 688
    functionName: jsf_NewPropTranslate
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_get_layout_name
    - gf_stream_type_name
    - gf_props_enum_name
    - JS_NewString
    - gf_codecid_file_ext
    - jsf_NewProp
    - strchr
    - JS_NewStringLen
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue jsf_NewPropTranslate(JSContext *ctx, const GF_PropertyValue
      *prop, u32 p4cc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1426,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1429,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1430,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1428,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1427,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1432,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/jsfilter.c:1436,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/jsfilter.c:1438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1440
    functionName: jsf_filter_send_event
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_send_event
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_send_event(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_pid_get_property_ex
      Src: /src/gpac/src/filters/jsfilter.c:2332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2333
    functionName: jsf_pid_get_property
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_pid_get_property_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_property(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4125,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4126,1
    - Dst: gf_filter_pck_enum_properties
      Src: /src/gpac/src/filters/jsfilter.c:4132,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4129,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4130,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/jsfilter.c:4134,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4135,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:4137,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4138,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:4138,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4140,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4139,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:4140,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4142
      start: 4117
    functionDepth: 0
    functionLinenumber: 4117
    functionLinenumberEnd: 4142
    functionName: jsf_pck_enum_properties
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewObject
    - gf_filter_pck_enum_properties
    - JS_NewString
    - JS_NewInt32
    - jsf_NewProp
    - JS_GetOpaque
    - gf_props_4cc_get_name
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_enum_properties(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4407,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4411,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4413,1
    - Dst: gf_filter_pck_dangling_copy
      Src: /src/gpac/src/filters/jsfilter.c:4415,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4409,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4416,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:4420,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4422,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:4423,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:4425,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4426,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:4428,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4435,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4437
      start: 4402
    functionDepth: 0
    functionLinenumber: 4402
    functionLinenumberEnd: 4437
    functionName: jsf_pck_clone
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - memset
    - js_throw_err
    - gf_filter_pck_dangling_copy
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - gf_list_pop_back
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_clone(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_pid_get_property_ex
      Src: /src/gpac/src/filters/jsfilter.c:2336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: jsf_pid_get_info
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_pid_get_property_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_info(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:556,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/jsfilter.c:561,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:567,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:582,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:582,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:588,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:588,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:596,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:596,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:604,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/jsfilter.c:617,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:627,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:630,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:606,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:561,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:567,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:583,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:583,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:589,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:589,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:593,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:593,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:599,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:606,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:617,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:638,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:617,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:638,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/src/filters/jsfilter.c:646,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:605,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:621,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:631,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:636,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:563,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:569,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:574,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:578,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:578,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:576,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:586,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:592,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:594,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:594,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:632,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:605,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:629,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/filters/jsfilter.c:642,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:601,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:559,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:565,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:577,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:581,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:577,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:587,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:587,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:595,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:595,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:600,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:601,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:609,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:611,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:646,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:630,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:623,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filters/jsfilter.c:645,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:615,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:600,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:631,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:611,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:623,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - ctx
    - new_val
    argTypes:
    - JSContext*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 650
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 650
    functionName: jsf_NewProp
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - JS_NewObject
    - gf_props_enum_name
    - JS_NewString
    - JS_NewInt32
    - JS_NewInt64
    - JS_NewArrayBufferCopy
    - gf_props_type_is_enum
    - JS_NewFloat64
    - gf_4cc_to_str
    - FIX2FLT
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue jsf_NewProp(JSContext *ctx, const GF_PropertyValue *new_val) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:693,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filters/jsfilter.c:699,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:700,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filters/jsfilter.c:703,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/jsfilter.c:711,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/filters/jsfilter.c:728,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filters/jsfilter.c:717,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/filters/jsfilter.c:732,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:724,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:741,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:818,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:799,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:835,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:844,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:796,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:824,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:809,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:889,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:828,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/jsfilter.c:697,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/jsfilter.c:706,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:722,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:747,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:750,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:753,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:758,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/jsfilter.c:764,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/jsfilter.c:767,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:813,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:819,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:827,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:838,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:832,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:899,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:904,1
    - Dst: strlen
      Src: /src/gpac/src/filters/jsfilter.c:921,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:775,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:825,1
    - Dst: gf_audio_fmt_get_layout_from_name
      Src: /src/gpac/src/filters/jsfilter.c:709,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/jsfilter.c:711,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:736,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:721,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/filters/jsfilter.c:737,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:738,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:772,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:773,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:791,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:792,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:822,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:803,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:913,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:834,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/jsfilter.c:898,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:713,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:729,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:719,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:743,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filters/jsfilter.c:744,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:771,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:780,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:793,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:798,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:800,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:805,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:816,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:837,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:806,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:815,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:808,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 237
    argCount: 6
    argNames:
    - filter
    - ctx
    - value
    - p4cc
    - prop
    - prop_type
    argTypes:
    - GF_Filter*
    - JSContext*
    - JSValue
    - u32
    - GF_PropertyValue*
    - u32
    constantsTouched: []
    func_position:
      end: 926
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 926
    functionName: jsf_ToProp_ex
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - gf_malloc
    - strlen
    - memset
    - JS_IsNull
    - gf_stream_type_by_name
    - GF_LOG
    - gf_props_4cc_get_type
    - gf_codecid_parse
    - JS_ToInt32
    - JS_ToCString
    - gf_strdup
    - JS_IsNumber
    - JS_IsObject
    - JS_ToIndex
    - JS_IsInteger
    - JS_FreeCString
    - gf_filter_get_sep
    - JS_IsUndefined
    - JS_IsString
    - gf_audio_fmt_get_layout_from_name
    - memcpy
    - JS_ToFloat64
    - JS_GetPropertyStr
    - JS_FreeValue
    - JS_ToBool
    - JS_ToInt64
    - JS_IsArray
    - gf_props_parse_value
    - JS_GetArrayBuffer
    - JS_IsBool
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsf_ToProp_ex(GF_Filter *filter, JSContext *ctx, JSValue value,
      u32 p4cc, GF_PropertyValue *prop, u32 prop_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1449,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1450,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1451,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1452,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1453,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1456,1
    - Dst: gf_filter_get_info_str
      Src: /src/gpac/src/filters/jsfilter.c:1457,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1458,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:1460,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1461,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1466,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filters/jsfilter.c:1469,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/jsfilter.c:1471,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1461,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/jsfilter.c:1467,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1464,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:1463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1473
    functionName: jsf_filter_get_info
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_props_get_id
    - JS_NewInt32
    - js_throw_err
    - gf_filter_get_info_str
    - jsf_NewPropTranslate
    - jsf_NewProp
    - gf_filter_release_property
    - JS_GetOpaque
    - gf_filter_get_info
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_get_info(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3911,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/jsfilter.c:3915,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3915,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/jsfilter.c:3922,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:3926,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3934,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/jsfilter.c:3939,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3942,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3942,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:3952,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3968,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:3998,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3968,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:3991,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3904,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/jsfilter.c:3910,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:3918,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3929,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3929,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/jsfilter.c:3935,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3938,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3938,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3949,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3955,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3960,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3980,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:3981,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:3984,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:4002,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3972,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3960,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3980,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:4005,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/jsfilter.c:3911,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3921,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/jsfilter.c:3927,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3921,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3934,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3946,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/jsfilter.c:3949,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/jsfilter.c:3953,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3964,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3964,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/jsfilter.c:3965,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3972,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:3995,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4009,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4001,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3994,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3987,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:3988,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/jsfilter.c:3961,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4001,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3994,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3905,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/jsfilter.c:3914,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/jsfilter.c:3919,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/jsfilter.c:3930,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/jsfilter.c:3943,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/jsfilter.c:3946,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/jsfilter.c:3956,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/jsfilter.c:3973,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3976,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3976,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:3977,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3987,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4010,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/src/filters/jsfilter.c:3969,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3955,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4012
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 4012
    functionName: jsf_pck_set_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - js_throw_err
    - gf_filter_pck_set_interlaced
    - gf_filter_pck_get_framing
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_corrupted
    - JS_GetOpaque
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_filter_pck_set_seq_num
    - JS_FreeCString
    - gf_filter_pck_set_carousel_version
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_roll_info
    - gf_filter_pck_set_clock_type
    - gf_filter_pck_get_dependency_flags
    - JS_ToBool
    - gf_filter_pck_set_dts
    - JS_ToInt64
    - gf_filter_pck_set_crypt_flags
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_set_prop(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4150,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4151,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:4156,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4155,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:4154,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/jsfilter.c:4157,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4158,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:4160,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4161,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4161,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:4163,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4166,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/jsfilter.c:4168,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4164,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filters/jsfilter.c:4170,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4173
      start: 4144
    functionDepth: 0
    functionLinenumber: 4144
    functionLinenumberEnd: 4173
    functionName: jsf_pck_get_property
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_filter_pck_get_property
    - gf_props_get_id
    - JS_NewInt32
    - js_throw_err
    - jsf_NewPropTranslate
    - gf_filter_pck_get_property_str
    - jsf_NewProp
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_get_property(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:260,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/filters/jsfilter.c:262,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: jsf_filter_inst_finalizer
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_filter_inst_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_pid_set_property_ex
      Src: /src/gpac/src/filters/jsfilter.c:2928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2929
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 2929
    functionName: jsf_pid_set_property
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_pid_set_property_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_set_property(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4226,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:4229,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4227,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4233,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:4232,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/jsfilter.c:4236,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4237,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:4240,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:4241,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4245
      start: 4223
    functionDepth: 0
    functionLinenumber: 4223
    functionLinenumberEnd: 4245
    functionName: jsf_pck_send
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_FreeValue
    - memset
    - JS_IsUndefined
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - gf_filter_pck_send
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_send(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:280,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:288,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:295,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:290,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:284,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:301,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - evt
    argTypes:
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 305
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 305
    functionName: jsf_event_reset
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_event_reset(GF_FilterEvent *evt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:1556,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:1559,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:1561,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:1564,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1558,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:1565,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:1566,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:1568,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1569,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1571,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1580,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:1573,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:1584,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:1574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1581,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1583,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - filter
    - callback
    - reschedule_ms
    argTypes:
    - GF_Filter*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1586
    functionName: jsf_task_exec
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - js_dump_error
    - JS_IsUndefined
    - js_std_loop
    - JS_Call
    - gf_free
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: Bool
    signature: 'Bool jsf_task_exec(GF_Filter *filter, void *callback, u32 *reschedule_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_pid_set_property_ex
      Src: /src/gpac/src/filters/jsfilter.c:2932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2933
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2933
    functionName: jsf_pid_set_info
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_pid_set_property_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_set_info(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4249,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4250,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/jsfilter.c:4253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4255
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4255
    functionName: jsf_pck_discard
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_discard
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_discard(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/filters/jsfilter.c:4788,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4698,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4769,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:4599,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4694,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4714,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4720,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4695,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4715,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4721,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4779,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4699,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4759,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4770,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4700,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/filters/jsfilter.c:4783,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4701,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4644,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4761,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4669,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4683,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4674,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4678,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4659,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4664,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4764,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4680,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4684,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4675,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4661,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4665,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4670,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4634,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4645,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/filters/jsfilter.c:4600,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4690,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4775,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4691,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4757,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4765,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4650,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4641,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4628,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4616,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4620,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4624,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4654,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4632,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4638,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4617,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4621,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4625,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4629,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4633,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4651,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4643,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4655,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4647,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4776,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4692,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4702,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4704,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filters/jsfilter.c:4791,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4693,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4703,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4705,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4753,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4656,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4608,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4612,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4726,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4732,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4737,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4741,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4745,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4749,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4609,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4613,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4728,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4733,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4738,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4742,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4746,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4750,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4754,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4758,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4716,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4600,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4601,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4708,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/filters/jsfilter.c:4793,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4709,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4768,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4771,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4696,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4718,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4722,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4712,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4717,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4697,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4719,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4723,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4777,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4762,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4772,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4713,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4646,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4778,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filters/jsfilter.c:4787,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4774,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4681,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4671,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4685,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4676,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4662,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4666,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4763,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4677,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4682,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4673,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4663,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4667,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4686,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4637,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4773,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4710,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4755,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filters/jsfilter.c:4788,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4789,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filters/jsfilter.c:4790,1
    - Dst: countof
      Src: /src/gpac/src/filters/jsfilter.c:4790,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4711,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4639,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4618,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4614,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4622,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4626,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4652,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4630,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4648,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4657,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4649,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4636,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4615,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4619,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4623,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4627,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4631,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4640,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4653,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4756,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4706,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4794,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4707,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4751,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4605,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4610,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4724,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4729,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4735,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4739,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4743,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4747,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4606,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4611,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4688,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4725,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4730,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4736,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4740,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4744,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4748,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4752,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filters/jsfilter.c:4766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 177
    argCount: 2
    argNames:
    - ctx
    - global_obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 4795
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4795
    functionName: js_load_constants
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - JS_SetClassProto
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - DEF_CONST
    - JS_NewCFunction2
    - JS_NewObjectClass
    - countof
    - JS_NewClass
    - JS_NewCFunction
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void js_load_constants(JSContext *ctx, JSValue global_obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/filters/jsfilter.c:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - filter
    - ctx
    - value
    - p4cc
    - prop
    argTypes:
    - GF_Filter*
    - JSContext*
    - JSValue
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: jsf_ToProp
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_ToProp_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsf_ToProp(GF_Filter *filter, JSContext *ctx, JSValue value,
      u32 p4cc, GF_PropertyValue *prop) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_max_extra_input_pids
      Src: /src/gpac/src/filters/jsfilter.c:1033,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1026,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:1029,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1035,1
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/src/filters/jsfilter.c:1037,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1038,1
    - Dst: gf_filter_get_src_args
      Src: /src/gpac/src/filters/jsfilter.c:1057,1
    - Dst: gf_filter_get_dst_name
      Src: /src/gpac/src/filters/jsfilter.c:1063,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:1065,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/jsfilter.c:1070,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1092,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:1109,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1024,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1033,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1050,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1058,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1054,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1046,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1070,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1073,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1074,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1085,1
    - Dst: gf_filter_get_num_events_queued
      Src: /src/gpac/src/filters/jsfilter.c:1098,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/jsfilter.c:1121,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1095,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:1101,1
    - Dst: gf_filter_get_dst_args
      Src: /src/gpac/src/filters/jsfilter.c:1060,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1064,1
    - Dst: gf_filter_all_sinks_done
      Src: /src/gpac/src/filters/jsfilter.c:1068,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1082,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1083,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1086,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1098,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/src/filters/jsfilter.c:1100,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/jsfilter.c:1111,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/filters/jsfilter.c:1118,1
    - Dst: strrchr
      Src: /src/gpac/src/filters/jsfilter.c:1120,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1076,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1127,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1088,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1094,1
    - Dst: gf_filter_block_enabled
      Src: /src/gpac/src/filters/jsfilter.c:1035,1
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/src/filters/jsfilter.c:1040,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/jsfilter.c:1049,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1041,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/jsfilter.c:1053,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/jsfilter.c:1045,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1061,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1068,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1079,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1080,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1089,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1113,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1123,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1111,1
    - Dst: gf_filter_get_clock_hint
      Src: /src/gpac/src/filters/jsfilter.c:1105,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:1091,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1077,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1134
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1134
    functionName: jsf_filter_prop_get
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_dst_name
    - gf_filter_get_num_events_queued
    - gf_filter_get_clock_hint
    - gf_filter_get_session_caps
    - gf_filter_all_sinks_done
    - GF_JS_EXCEPTION
    - JS_NewBool
    - JS_NewInt32
    - JS_NewInt64
    - JS_GetOpaque
    - JS_DupValue
    - gf_filter_get_dst_args
    - gf_filter_reporting_enabled
    - gf_filter_connections_pending
    - jsf_get_script_filename
    - gf_filter_get_sep
    - JS_NewString
    - JS_NewFloat64
    - gf_free
    - gf_filter_get_output_buffer_max
    - gf_filter_get_src_args
    - gf_filter_get_max_extra_input_pids
    - gf_filter_block_enabled
    - strrchr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1637,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1640,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:1639,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1638,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:1643,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1644,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:1648,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1649,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:1650,1
    - Dst: gf_filter_hint_single_clock
      Src: /src/gpac/src/filters/jsfilter.c:1653,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1655
    functionName: jsf_filter_hint_clock
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToInt64
    - JS_GetOpaque
    - gf_filter_hint_single_clock
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_hint_clock(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:942,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:939,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:944,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:956,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:963,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:958,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:966,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:961,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:986,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:988,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:937,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:942,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:967,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:967,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:972,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:972,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:977,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:977,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:982,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:982,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:993,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1001,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:942,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:968,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:971,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:973,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:976,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:978,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:981,1
    - Dst: gf_filter_set_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:983,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/jsfilter.c:991,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1004,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:992,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:943,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:950,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:951,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/jsfilter.c:952,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:962,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:957,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:962,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:957,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:987,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:987,1
    - Dst: gf_filter_require_source_id
      Src: /src/gpac/src/filters/jsfilter.c:1009,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:992,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1008,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:998,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:999,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 1013
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1013
    functionName: jsf_filter_prop_set
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToCString
    - JS_FreeCString
    - JS_ToBool
    - JS_IsNull
    - JS_IsFunction
    - gf_strdup
    - gf_filter_get_session_caps
    - gf_filter_set_session_caps
    - JS_IsUndefined
    - JS_GetOpaque
    - JS_DupValue
    - gf_filter_set_max_extra_input_pids
    - gf_filter_require_source_id
    - gf_free
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1147,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1151,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1152,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1162,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1165,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1164,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1170,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1171,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1184,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/jsfilter.c:1201,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1183,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1216,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1217,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1218,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1192,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1146,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1149,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1150,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1150,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1160,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1161,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1161,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1169,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1178,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1182,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/jsfilter.c:1193,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/jsfilter.c:1154,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1176,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1177,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1188,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/jsfilter.c:1194,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1197,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1199,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:1202,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1204,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1206,1
    - Dst: gf_filter_define_args
      Src: /src/gpac/src/filters/jsfilter.c:1213,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1190,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1168,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1186,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1183,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1187,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1187,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1191,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/jsfilter.c:1195,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1203,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1205,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1215,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 101
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1220
    functionName: jsf_filter_set_arg
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - memset
    - gf_realloc
    - gf_strdup
    - gf_filter_define_args
    - strcmp
    - JS_IsUndefined
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_arg(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1664,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1669,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1665,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1666,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1668,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1670,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1671,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1672,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/filters/jsfilter.c:1676,1
    - Dst: gf_filter_send_update
      Src: /src/gpac/src/filters/jsfilter.c:1678,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1681,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1682,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1683,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1685
    functionName: jsf_filter_send_update
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_filter_send_update
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_send_update(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2006,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2007,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2011,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2013,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filters/jsfilter.c:2011,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2018
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2018
    functionName: jsf_filter_inst_prop_get
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewString
    - GF_JS_EXCEPTION
    - gf_filter_get_name
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_inst_prop_get(JSContext *ctx, JSValueConst
      this_val, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1516,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1521,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1517,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/jsfilter.c:1522,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1519,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1525
    functionName: jsf_filter_update_status
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_filter_update_status
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_update_status(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2429,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2431,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2430,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filters/jsfilter.c:2431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2433
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2433
    functionName: jsf_pid_clear_eos
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_pid_clear_eos
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_clear_eos(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2442,1
    - Dst: gf_filter_pid_discard_block
      Src: /src/gpac/src/filters/jsfilter.c:2444,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2446
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2446
    functionName: jsf_pid_discard_block
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pid_discard_block
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_discard_block(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2864,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2868,1
    - Dst: gf_filter_pid_get_clock_info
      Src: /src/gpac/src/filters/jsfilter.c:2866,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2865,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:2867,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2868,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2869,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2869,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2870,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:2870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2872
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2872
    functionName: jsf_pid_get_clock_info
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_NewInt32
    - JS_NewInt64
    - JS_GetOpaque
    - gf_filter_pid_get_clock_info
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_clock_info(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3600,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3604,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3643,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3605,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3601,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/jsfilter.c:3688,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3709,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/jsfilter.c:3692,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3637,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:3676,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3728,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3633,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filters/jsfilter.c:3592,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3636,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3723,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3712,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3599,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3598,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3626,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3630,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3634,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3706,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:3702,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:3704,1
    - Dst: gf_dom_get_key_name
      Src: /src/gpac/src/filters/jsfilter.c:3646,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3558,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3590,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3628,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3635,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:3682,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3631,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3683,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:3655,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3714,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3676,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3708,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3596,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3620,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3624,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3737,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3629,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3594,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3597,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3622,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3677,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3625,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3744,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3618,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3711,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3734,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3595,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3619,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3623,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3641,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filters/jsfilter.c:3680,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3556,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3614,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3646,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3682,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3713,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3718,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3732,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3554,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3592,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3616,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3609,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3612,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3684,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3715,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3739,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3742,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3613,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3617,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3640,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3704,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3692,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3702,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3680,1
    - Dst: jsf_check_evt
      Src: /src/gpac/src/filters/jsfilter.c:3555,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3603,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3606,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:3610,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3671,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3746,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:3699,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3707,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3681,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3553,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:3607,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:3611,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 174
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3750
      start: 3551
    functionDepth: 0
    functionLinenumber: 3551
    functionLinenumberEnd: 3750
    functionName: jsf_event_get_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_NewArray
    - memset
    - JS_NewString
    - JS_NewInt32
    - JS_NewInt64
    - jsf_check_evt
    - FIX2FLT
    - JS_GetOpaque
    - JS_NewFloat64
    - gf_filter_event_name
    - gf_dom_get_key_name
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_event_get_prop(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1530,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1535,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1531,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/jsfilter.c:1537,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1534,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/jsfilter.c:1539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1542
    functionName: jsf_filter_reschedule_in
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_ask_rt_reschedule
    - JS_GetOpaque
    - gf_filter_post_process_task
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_reschedule_in(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1951,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/jsfilter.c:1954,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1952,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1956
    functionName: jsf_filter_remove
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_remove_src
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_remove(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2436,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2438,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2437,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/jsfilter.c:2438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2439
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2439
    functionName: jsf_pid_check_caps
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_pid_check_caps
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_check_caps(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2449,1
    - Dst: gf_filter_pid_allow_direct_dispatch
      Src: /src/gpac/src/filters/jsfilter.c:2451,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2453
    functionName: jsf_pid_allow_direct_dispatch
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pid_allow_direct_dispatch
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_allow_direct_dispatch(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2886,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/jsfilter.c:2899,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/jsfilter.c:2915,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2882,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:2887,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2891,1
    - Dst: gf_filter_pid_set_info_dyn
      Src: /src/gpac/src/filters/jsfilter.c:2895,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/jsfilter.c:2913,1
    - Dst: gf_filter_pid_negotiate_property_dyn
      Src: /src/gpac/src/filters/jsfilter.c:2897,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2908,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2881,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2883,1
    - Dst: jsf_ToProp
      Src: /src/gpac/src/filters/jsfilter.c:2888,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:2905,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/jsfilter.c:2917,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/jsfilter.c:2922,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2884,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2889,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:2902,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2904,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2903,1
    - Dst: jsf_ToProp
      Src: /src/gpac/src/filters/jsfilter.c:2906,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2923,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - mode
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 2925
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2925
    functionName: jsf_pid_set_property_ex
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_info_dyn
    - JS_ToCString
    - gf_props_reset_single
    - JS_ToBool
    - JS_FreeCString
    - JS_IsNull
    - gf_filter_pid_negotiate_property_dyn
    - gf_filter_pid_set_property_dyn
    - gf_filter_pid_set_info
    - gf_props_get_id
    - js_throw_err
    - gf_filter_pid_set_property
    - JS_GetOpaque
    - gf_filter_pid_negotiate_property
    - GF_JS_EXCEPTION
    - jsf_ToProp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_set_property_ex(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, u32 mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 3756
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3756
    functionName: jsf_get_event
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_FilterEvent*
    signature: 'GF_FilterEvent *jsf_get_event(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:419,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:422,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:423,1
    - Dst: jsff_get_session
      Src: /src/gpac/src/filters/jsfilter.c:424,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:423,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:425,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:427,1
    - Dst: gf_fs_get_font_manager
      Src: /src/gpac/src/filters/jsfilter.c:428,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:432,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:433,1
    - Dst: gf_filter_get_font_manager
      Src: /src/gpac/src/filters/jsfilter.c:438,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:435,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:434,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:436,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:434,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 442
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 442
    functionName: jsf_get_font_manager
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - gf_filter_get_font_manager
    - gf_fs_get_font_manager
    - JS_GetOpaque
    - jsff_get_session
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: struct _gf_ft_mgr*
    signature: 'struct _gf_ft_mgr *jsf_get_font_manager(JSContext *c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1380,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:1382,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1387,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1381,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1386,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:1388,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1389,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/jsfilter.c:1390,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:1392,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1393,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1394,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:1393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1397
    functionName: jsf_filter_set_name
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - gf_filter_set_name
    - gf_strdup
    - JS_NewString
    - JS_GetOpaque
    - gf_free
    - JS_GetGlobalObject
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_name(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1590,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:1595,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1594,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1591,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:1593,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1596,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:1598,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1600,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:1602,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:1605,1
    - Dst: gf_filter_post_task
      Src: /src/gpac/src/filters/jsfilter.c:1607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1609
    functionName: jsf_filter_post_task
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_post_task
    - JS_IsFunction
    - js_throw_err
    - JS_GetOpaque
    - JS_DupValue
    - GF_SAFEALLOC
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_post_task(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:447,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:451,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:450,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:449,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:451,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:452,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:453,1
    - Dst: gf_filter_request_opengl
      Src: /src/gpac/src/filters/jsfilter.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: jsf_request_opengl
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - gf_filter_request_opengl
    - JS_IsException
    - JS_GetOpaque
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsf_request_opengl(JSContext *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1403,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/jsfilter.c:1405,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:1409,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1406,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1404,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1411,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:1412,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:1415,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:1417,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1418,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/jsfilter.c:1419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1421
    functionName: jsf_filter_new_pid
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - gf_filter_pid_set_udta
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_new_pid(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1615,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1617,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1616,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1618,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1622,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1623,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/jsfilter.c:1625,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/jsfilter.c:1627,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/jsfilter.c:1629,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1631
    functionName: jsf_filter_notify_failure
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_setup_failure
    - gf_filter_notification_failure
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_notify_failure(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:5250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5253
      start: 5248
    functionDepth: 0
    functionLinenumber: 5248
    functionLinenumberEnd: 5253
    functionName: jsf_custom_filter_opaque
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *jsf_custom_filter_opaque(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3846,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3850,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3847,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3848,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:3851,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:3852,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:3854,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:3856,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:3857,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3862,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3864
      start: 3840
    functionDepth: 0
    functionLinenumber: 3840
    functionLinenumberEnd: 3864
    functionName: jsf_event_constructor
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - js_throw_err
    - JS_SetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_event_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5259
      start: 5254
    functionDepth: 0
    functionLinenumber: 5254
    functionLinenumberEnd: 5259
    functionName: jsf_custom_filter_context
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *jsf_custom_filter_context(GF_Filter *f) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1963,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:1965,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1964,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1966,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:1965,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1967,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1973,1
    - Dst: gf_filter_has_pid_connection_pending
      Src: /src/gpac/src/filters/jsfilter.c:1973,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1974
    functionName: jsf_filter_has_pid_connections_pending
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - gf_filter_has_pid_connection_pending
    - JS_GetOpaque
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_has_pid_connections_pending(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2260,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2263,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2265,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2261,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2262,1
    - Dst: gf_filter_pid_enum_info
      Src: /src/gpac/src/filters/jsfilter.c:2266,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filters/jsfilter.c:2268,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/jsfilter.c:2271,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2272,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:2274,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2275,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2276,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2277,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2276,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2275,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:2277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2279
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2279
    functionName: jsf_pid_enum_properties
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_ToBool
    - JS_NewObject
    - gf_filter_pid_enum_properties
    - JS_NewString
    - gf_filter_pid_enum_info
    - JS_NewInt32
    - jsf_NewProp
    - JS_GetOpaque
    - gf_props_4cc_get_name
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_enum_properties(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2520,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2521,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2526,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2538,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2540,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2542,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2544,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2546,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2539,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2541,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2543,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2545,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2547,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2549,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2551,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2553,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2519,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/jsfilter.c:2528,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2554,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2552,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2522,1
    - Dst: SET_PROP64
      Src: /src/gpac/src/filters/jsfilter.c:2550,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filters/jsfilter.c:2524,1
    - Dst: SET_PROP32
      Src: /src/gpac/src/filters/jsfilter.c:2548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2556
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2556
    functionName: jsf_pid_get_statistics
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - SET_PROP64
    - js_throw_err
    - JS_GetOpaque
    - gf_filter_pid_get_statistics
    - SET_PROP32
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_statistics(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5228
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5228
    functionName: jsf_register
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *jsf_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:1982,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:1986,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:1984,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1987,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filters/jsfilter.c:1987,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1989,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1990,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:1991,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:1992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - f
    - on_setup_error_udta
    - e
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1994
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1994
    functionName: jsf_on_setup_error
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - gf_js_lock
    - JS_NewInt32
    - js_std_loop
    - JS_IsBool
    - JS_Call
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsf_on_setup_error(GF_Filter *f, void *on_setup_error_udta,
      GF_Err e) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2287,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2289,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/jsfilter.c:2293,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2300,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/jsfilter.c:2312,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2300,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2318,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filters/jsfilter.c:2325,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2290,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/jsfilter.c:2295,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:2299,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:2302,1
    - Dst: gf_filter_pid_get_info
      Src: /src/gpac/src/filters/jsfilter.c:2306,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2304,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2303,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/jsfilter.c:2327,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2291,1
    - Dst: gf_prop_matrix_decompose
      Src: /src/gpac/src/filters/jsfilter.c:2316,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/jsfilter.c:2308,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2288,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2297,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2317,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_info
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 2329
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2329
    functionName: jsf_pid_get_property_ex
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_filter_pid_get_info
    - JS_ToBool
    - JS_FreeCString
    - gf_prop_matrix_decompose
    - gf_props_get_id
    - gf_filter_pid_get_property
    - JS_NewInt32
    - jsf_NewPropTranslate
    - gf_filter_release_property
    - gf_filter_pid_get_info_str
    - jsf_NewProp
    - JS_GetOpaque
    - gf_filter_pid_get_property_str
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_property_ex(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, Bool is_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:2569,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2582,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:2561,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:2573,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2575,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2586,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/jsfilter.c:2567,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2571,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2578,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2577,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2579,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:2565,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2563,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2572,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/jsfilter.c:2587,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2591,1
    - Dst: jsf_pck_detach_ab
      Src: /src/gpac/src/filters/jsfilter.c:2584,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:2585,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2592
    functionName: jsf_pck_shared_del
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_FreeValue
    - gf_list_get
    - memset
    - gf_js_lock
    - gf_list_count
    - gf_filter_pid_get_udta
    - JS_IsUndefined
    - JS_DupValue
    - JS_Call
    - gf_list_rem
    - jsf_pck_detach_ab
    linkageType: ''
    returnType: void
    signature: 'void jsf_pck_shared_del(GF_Filter *filter, GF_FilterPid *PID, GF_FilterPacket
      *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsfilter_initialize_ex
      Src: /src/gpac/src/filters/jsfilter.c:5234,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5236,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:5235,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:5245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - JSContext*
    constantsTouched: []
    func_position:
      end: 5246
      start: 5231
    functionDepth: 0
    functionLinenumber: 5231
    functionLinenumberEnd: 5246
    functionName: jsfilter_initialize_custom
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_DupValue
    - js_throw_err
    - jsfilter_initialize_ex
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue jsfilter_initialize_custom(GF_Filter *filter, JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5265
      start: 5260
    functionDepth: 0
    functionLinenumber: 5260
    functionLinenumberEnd: 5265
    functionName: jsf_custom_filter_obj
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue jsf_custom_filter_obj(GF_Filter *f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1336,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:1339,1
    - Dst: gf_filter_set_class_hint
      Src: /src/gpac/src/filters/jsfilter.c:1340,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1342
    functionName: jsf_filter_set_class_hint
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_set_class_hint
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_class_hint(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_filter_load_filter
      Src: /src/gpac/src/filters/jsfilter.c:1744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1745
    functionName: jsf_filter_add_dest
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_filter_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_add_dest(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_filter_set_source_internal
      Src: /src/gpac/src/filters/jsfilter.c:1847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: jsf_filter_set_source
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_filter_set_source_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_source(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_on_filter_destroyed
      Src: /src/gpac/src/filters/jsfilter.c:4993,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/jsfilter.c:4991,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:4995,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4996,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:5015,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5030,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5035,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5028,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:4956,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4953,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:4989,1
    - Dst: gf_fs_unload_script
      Src: /src/gpac/src/filters/jsfilter.c:4984,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4979,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/jsfilter.c:4999,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/jsfilter.c:5011,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5013,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5032,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/jsfilter.c:5019,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:4950,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4959,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4963,1
    - Dst: jsf_pck_detach_ab
      Src: /src/gpac/src/filters/jsfilter.c:4965,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4976,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/jsfilter.c:4988,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4981,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/filters/jsfilter.c:5002,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:5006,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/jsfilter.c:5008,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5026,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/jsfilter.c:4958,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:4961,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:4962,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4973,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/filters/jsfilter.c:5000,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/jsfilter.c:5005,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5009,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:5016,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5017,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:5024,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5036
      start: 4947
    functionDepth: 0
    functionLinenumber: 4947
    functionLinenumberEnd: 5036
    functionName: jsfilter_finalize
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_FreeValue
    - gf_list_get
    - gf_js_call_gc
    - gf_js_lock
    - gf_list_del
    - gf_list_count
    - gf_fs_unload_script
    - gf_mx_p
    - jsfs_on_filter_destroyed
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_js_delete_context
    - gf_free
    - gf_mx_v
    - jsf_pck_detach_ab
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void jsfilter_finalize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1346,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1348,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1349,1
    - Dst: gf_filter_set_version
      Src: /src/gpac/src/filters/jsfilter.c:1350,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1347,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1353
    functionName: jsf_filter_set_version
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_filter_set_version
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_version(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_filter_load_filter
      Src: /src/gpac/src/filters/jsfilter.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1749
    functionName: jsf_filter_add_filter
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_filter_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_add_filter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_filter_set_source_internal
      Src: /src/gpac/src/filters/jsfilter.c:1852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1853
    functionName: jsf_filter_set_source_restricted
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_filter_set_source_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_source_restricted(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:2604,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2610,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2605,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2609,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:2606,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:2611,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2613,1
    - Dst: jsf_pck_shared_del
      Src: /src/gpac/src/filters/jsfilter.c:2615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - filter
    - PID
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2616
    functionName: jsf_pck_gl_ifce_del
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - jsf_pck_shared_del
    - gf_filter_pck_get_frame_interface
    - gf_js_lock
    - gf_filter_pid_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_pck_gl_ifce_del(GF_Filter *filter, GF_FilterPid *PID,
      GF_FilterPacket *pck) '
  - BBCount: 121
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 138
    EdgeCount: 138
    ICount: 23
    argCount: 3
    argNames:
    - evt_type
    - ui_type
    - magic
    argTypes:
    - u32
    - u8
    - int
    constantsTouched: []
    func_position:
      end: 3370
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3370
    functionName: jsf_check_evt
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsf_check_evt(u32 evt_type, u8 ui_type, int magic) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:5053,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:5056,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5058,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/filters/jsfilter.c:5079,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/jsfilter.c:5093,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:5102,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5121,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:5104,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:5118,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:5054,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/jsfilter.c:5071,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/jsfilter.c:5071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5081,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5100,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:5112,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:5114,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5122,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:5113,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5123,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5042,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5057,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:5062,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5105,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:5110,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:5115,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:5119,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:5052,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:5055,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:5061,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/filters/jsfilter.c:5080,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:5078,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5064,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/jsfilter.c:5068,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:5072,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/filters/jsfilter.c:5082,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5086,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5120,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5040
    functionDepth: 0
    functionLinenumber: 5040
    functionLinenumberEnd: 5125
    functionName: jsfilter_update_arg
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - JS_DeleteProperty
    - JS_ToInt32
    - gf_filter_get_udta
    - strcmp
    - js_dump_error
    - JS_Call
    - JS_FreeAtom
    - JS_IsInteger
    - JS_IsFunction
    - JS_NewString
    - jsf_NewProp
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - gf_opts_get_key
    - JS_FreeValue
    - JS_NewAtom
    - js_std_loop
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfilter_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1481,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1483,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1484,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1485,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1482,1
    - Dst: gf_filter_is_supported_mime
      Src: /src/gpac/src/filters/jsfilter.c:1485,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1488
    functionName: jsf_filter_is_supported_mime
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_filter_is_supported_mime
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_is_supported_mime(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:397,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:401,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:400,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:399,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:401,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:402,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:403,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/jsfilter.c:404,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:406,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:407,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:409,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:407,1
    - Dst: gf_fs_get_download_manager
      Src: /src/gpac/src/filters/jsfilter.c:410,1
    - Dst: jsff_get_session
      Src: /src/gpac/src/filters/jsfilter.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 413
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 413
    functionName: jsf_get_download_manager
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_filter_get_download_manager
    - JS_IsNull
    - JS_IsException
    - JS_GetOpaque
    - jsff_get_session
    - gf_fs_get_download_manager
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_DownloadManager*
    signature: 'GF_DownloadManager *jsf_get_download_manager(JSContext *c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2345,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/jsfilter.c:2350,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/jsfilter.c:2355,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2346,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:2348,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2356,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:2359,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:2360,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:2362,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2363,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:2365,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2368,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2375
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2375
    functionName: jsf_pid_get_packet
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_get_packet
    - js_throw_err
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_DupValue
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_assert
    - GF_JS_EXCEPTION
    - gf_list_pop_back
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_packet(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2460,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2461,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2467,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2465,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2463,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2468,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2469,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2473,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/jsfilter.c:2475,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2476,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2480,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2479,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2481
    functionName: jsf_pid_resolve_file_template
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewString
    - js_throw_err
    - JS_GetOpaque
    - gf_filter_pid_resolve_file_template
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_resolve_file_template(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:4488,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:4493,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4494,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4491,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:4492,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:4495,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:4498,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4499,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4501,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4502,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:4504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4506
      start: 4484
    functionDepth: 0
    functionLinenumber: 4484
    functionLinenumberEnd: 4506
    functionName: jsfilter_process
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - js_dump_error
    - js_std_loop
    - JS_Call
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfilter_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1495,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1500,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1498,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1497,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1496,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1502,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1503,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:1506,1
    - Dst: gf_filter_is_supported_source
      Src: /src/gpac/src/filters/jsfilter.c:1506,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1507,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1508,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1510
    functionName: jsf_filter_is_supported_source
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_filter_is_supported_source
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_is_supported_source(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2379,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/jsfilter.c:2386,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:2382,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2380,1
    - Dst: gf_filter_pid_get_packet_count
      Src: /src/gpac/src/filters/jsfilter.c:2385,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2394,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/jsfilter.c:2396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2398
    functionName: jsf_pid_drop_packet
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_filter_pid_get_packet_count
    - js_throw_err_msg
    - gf_filter_pid_drop_packet
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_drop_packet(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2487,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2490,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2491,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2493,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2488,1
    - Dst: gf_filter_pid_caps_query_str
      Src: /src/gpac/src/filters/jsfilter.c:2495,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2496,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:2498,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2499,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2499,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:2501,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2504,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/jsfilter.c:2506,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filters/jsfilter.c:2508,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2502,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2511
    functionName: jsf_pid_query_caps
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_props_get_id
    - JS_NewInt32
    - js_throw_err
    - jsf_NewPropTranslate
    - jsf_NewProp
    - gf_filter_pid_caps_query
    - JS_GetOpaque
    - gf_filter_pid_caps_query_str
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_query_caps(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2725,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2845,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:2694,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/jsfilter.c:2714,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/jsfilter.c:2733,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2763,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/src/filters/jsfilter.c:2764,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:2689,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2775,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:2804,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2815,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2851,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/jsfilter.c:2746,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2759,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:2840,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2729,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:2835,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2760,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:2687,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:2718,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2813,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2735,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2782,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2807,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:2834,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2739,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2819,1
    - Dst: webgl_get_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:2833,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:2777,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/jsfilter.c:2792,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2816,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2696,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filters/jsfilter.c:2718,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2723,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2737,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filters/jsfilter.c:2824,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2846,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2852,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2724,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2740,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2755,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2784,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2836,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/jsfilter.c:2812,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2794,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2817,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:2693,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:2695,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2709,1
    - Dst: strlen
      Src: /src/gpac/src/filters/jsfilter.c:2730,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2742,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/jsfilter.c:2781,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2820,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2774,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2698,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:2721,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2749,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2789,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2824,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2786,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/jsfilter.c:2736,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2795,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:2748,1
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/jsfilter.c:2766,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:2773,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/jsfilter.c:2783,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/jsfilter.c:2839,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2787,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2691,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2734,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:2811,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:2684,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2682,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2706,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2726,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/jsfilter.c:2758,1
    - Dst: JS_IsArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:2777,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:2797,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2680,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 194
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2856
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2856
    functionName: jsf_pid_new_packet
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - JS_IsNull
    - JS_IsException
    - js_throw_err
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_list_pop_back
    - gf_filter_pck_new_alloc
    - JS_ToCString
    - gf_filter_pck_new_clone
    - webgl_get_frame_interface
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - gf_filter_pck_new_frame_interface
    - JS_IsObject
    - gf_list_new
    - gf_assert
    - JS_IsInteger
    - JS_FreeCString
    - JS_IsFunction
    - JS_IsArrayBuffer
    - gf_filter_pck_new_copy
    - JS_IsString
    - memcpy
    - gf_filter_pck_new_shared
    - gf_filter_pck_new_ref
    - JS_FreeValue
    - JS_ToBool
    - JS_GetArrayBuffer
    - JS_IsBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_new_packet(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4524,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:4556,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/jsfilter.c:4554,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4537,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/jsfilter.c:4555,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4573,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4587,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:4588,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:4513,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:4528,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4535,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4552,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:4565,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4578,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:4579,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:4519,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:4529,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4530,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:4534,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4542,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4557,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4553,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4570,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/jsfilter.c:4571,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:4572,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4585,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:4583,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:4525,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:4531,1
    - Dst: gf_js_call_gc
      Src: /src/gpac/src/filters/jsfilter.c:4550,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:4558,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:4562,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:4576,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:4577,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/jsfilter.c:4581,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4584,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 4590
      start: 4510
    functionDepth: 0
    functionLinenumber: 4510
    functionLinenumberEnd: 4590
    functionName: jsfilter_configure_pid
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_js_call_gc
    - gf_filter_pid_set_udta
    - gf_js_lock
    - JS_IsException
    - GF_LOG
    - GF_SAFEALLOC
    - gf_filter_abort
    - JS_ToInt32
    - gf_filter_get_udta
    - js_dump_error
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_Call
    - gf_list_del_item
    - JS_IsInteger
    - JS_IsFunction
    - gf_filter_pid_get_udta
    - gf_free
    - JS_FreeValue
    - js_std_loop
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfilter_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:460,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:464,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:464,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:463,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:462,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:465,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:466,1
    - Dst: gf_filter_set_active_opengl_context
      Src: /src/gpac/src/filters/jsfilter.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - c
    - do_activate
    argTypes:
    - JSContext*
    - Bool
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: jsf_set_gl_active
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_set_active_opengl_context
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - JS_GetOpaque
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsf_set_gl_active(JSContext *c, Bool do_activate) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1256,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1250,1
    - Dst: gf_filter_push_caps
      Src: /src/gpac/src/filters/jsfilter.c:1305,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:1311,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/jsfilter.c:1319,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/jsfilter.c:1310,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1234,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:1245,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1246,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/jsfilter.c:1251,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1254,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filters/jsfilter.c:1260,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1255,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1255,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1267,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1274,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1276,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1233,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:1243,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:1244,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1244,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:1247,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1248,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/jsfilter.c:1263,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/jsfilter.c:1265,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/jsfilter.c:1265,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:1237,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1275,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1277,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1278,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1306,1
    - Dst: GETB
      Src: /src/gpac/src/filters/jsfilter.c:1279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1321
    functionName: jsf_filter_set_cap
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - memset
    - js_throw_err
    - gf_stream_type_by_name
    - gf_props_4cc_get_type
    - gf_filter_override_caps
    - gf_codecid_parse
    - GF_JS_EXCEPTION
    - JS_ToCString
    - gf_props_get_id
    - JS_GetOpaque
    - gf_filter_push_caps
    - JS_FreeCString
    - gf_filter_get_sep
    - JS_IsUndefined
    - GETB
    - JS_GetPropertyStr
    - JS_FreeValue
    - gf_props_parse_value
    - gf_realloc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_cap(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1702,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1703,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1706,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1713,1
    - Dst: gf_filter_load_filter
      Src: /src/gpac/src/filters/jsfilter.c:1722,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1696,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1728,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:1732,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1700,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1695,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1697,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1725,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:1727,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1733,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1694,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:1709,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1711,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1712,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/jsfilter.c:1718,1
    - Dst: gf_filter_connect_destination
      Src: /src/gpac/src/filters/jsfilter.c:1720,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1724,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - mode
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - GF_JSFilterMode
    constantsTouched: []
    func_position:
      end: 1735
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1735
    functionName: jsf_filter_load_filter
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_ToBool
    - js_throw_err
    - gf_filter_load_filter
    - gf_free
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - GF_SAFEALLOC
    - gf_filter_connect_destination
    - GF_JS_EXCEPTION
    - gf_filter_connect_source
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_load_filter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, GF_JSFilterMode mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_pid_set_property_ex
      Src: /src/gpac/src/filters/jsfilter.c:2936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2937
    functionName: jsf_pid_negotiate_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_pid_set_property_ex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_negotiate_prop(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: jsf_is_packet
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: Bool
    signature: 'Bool jsf_is_packet(JSContext *c, JSValue obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1325,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1327,1
    - Dst: gf_filter_set_description
      Src: /src/gpac/src/filters/jsfilter.c:1329,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1328,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1326,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1332
    functionName: jsf_filter_set_desc
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_filter_set_description
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_desc(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsf_filter_load_filter
      Src: /src/gpac/src/filters/jsfilter.c:1739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1741
    functionName: jsf_filter_add_source
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsf_filter_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_add_source(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1807,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1808,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1813,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1809,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1817,1
    - Dst: jsff_get_filter
      Src: /src/gpac/src/filters/jsfilter.c:1821,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1824,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1828,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1830,1
    - Dst: gf_filter_set_source_restricted
      Src: /src/gpac/src/filters/jsfilter.c:1836,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/jsfilter.c:1838,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1840,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:1841,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - use_restricted
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1843
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1843
    functionName: jsf_filter_set_source_internal
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_filter_set_source
    - JS_FreeCString
    - js_throw_err
    - jsff_get_filter
    - JS_GetOpaque
    - gf_filter_set_source_restricted
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_source_internal(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, Bool use_restricted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2942,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2943,1
    - Dst: gf_filter_pid_ignore_blocking
      Src: /src/gpac/src/filters/jsfilter.c:2945,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2944,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2948
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2948
    functionName: jsf_pid_ignore_blocking
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_pid_ignore_blocking
    - JS_ToBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_ignore_blocking(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4027,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/jsfilter.c:4029,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4056,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4058,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4060,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4062,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4064,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4075,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:4077,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:4090,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4092,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/jsfilter.c:4102,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filters/jsfilter.c:4066,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:4095,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/jsfilter.c:4084,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4020,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4030,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/jsfilter.c:4032,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/jsfilter.c:4040,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/jsfilter.c:4042,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/jsfilter.c:4046,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/jsfilter.c:4044,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/jsfilter.c:4048,1
    - Dst: gf_filter_pck_get_corrupted
      Src: /src/gpac/src/filters/jsfilter.c:4050,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:4054,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:4083,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4091,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:4068,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4102,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4081,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4048,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4046,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4044,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4042,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:4040,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4050,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4066,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4069,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:4071,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4078,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4098,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4072,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:4086,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4021,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/jsfilter.c:4026,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:4034,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/jsfilter.c:4036,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:4038,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/jsfilter.c:4052,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/jsfilter.c:4056,1
    - Dst: gf_filter_pck_get_crypt_flags
      Src: /src/gpac/src/filters/jsfilter.c:4058,1
    - Dst: gf_filter_pck_get_clock_type
      Src: /src/gpac/src/filters/jsfilter.c:4060,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/jsfilter.c:4062,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:4097,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:4088,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/jsfilter.c:4080,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/jsfilter.c:4074,1
    - Dst: gf_filter_pck_get_seq_num
      Src: /src/gpac/src/filters/jsfilter.c:4064,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 87
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 4105
      start: 4014
    functionDepth: 0
    functionLinenumber: 4014
    functionLinenumberEnd: 4105
    functionName: jsf_pck_get_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - JS_NewArrayBuffer
    - gf_filter_pck_get_duration
    - gf_filter_pck_get_seq_num
    - gf_filter_pck_get_byte_offset
    - gf_filter_pck_get_crypt_flags
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_interlaced
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_data
    - GF_JS_EXCEPTION
    - gf_filter_pck_get_corrupted
    - JS_NewBool
    - gf_filter_pck_get_carousel_version
    - JS_NewInt32
    - JS_NewInt64
    - JS_GetOpaque
    - gf_filter_pck_get_clock_type
    - JS_DupValue
    - gf_filter_pck_get_dts
    - gf_filter_pck_get_frame_interface
    - JS_IsUndefined
    - gf_filter_pck_is_blocking_ref
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_get_roll_info
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_get_prop(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/jsfilter.c:4814,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filters/jsfilter.c:4847,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4850,1
    - Dst: js_load_constants
      Src: /src/gpac/src/filters/jsfilter.c:4840,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4854,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4859,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filters/jsfilter.c:4867,1
    - Dst: countof
      Src: /src/gpac/src/filters/jsfilter.c:4867,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4874,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:4879,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/jsfilter.c:4889,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4903,1
    - Dst: JS_Eval
      Src: /src/gpac/src/filters/jsfilter.c:4925,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4931,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/jsfilter.c:4887,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/jsfilter.c:4903,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:4930,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4933,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:4904,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:4809,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/jsfilter.c:4815,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4824,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/jsfilter.c:4827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4828,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4852,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filters/jsfilter.c:4858,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filters/jsfilter.c:4864,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4866,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filters/jsfilter.c:4873,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4881,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:4893,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/filters/jsfilter.c:4915,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/jsfilter.c:4915,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:4937,1
    - Dst: strstr
      Src: /src/gpac/src/filters/jsfilter.c:4892,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/jsfilter.c:4879,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:4932,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:4821,1
    - Dst: gf_js_create_context
      Src: /src/gpac/src/filters/jsfilter.c:4833,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/filters/jsfilter.c:4842,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4835,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filters/jsfilter.c:4857,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filters/jsfilter.c:4861,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filters/jsfilter.c:4865,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filters/jsfilter.c:4872,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filters/jsfilter.c:4875,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filters/jsfilter.c:4876,1
    - Dst: gf_fs_load_js_api
      Src: /src/gpac/src/filters/jsfilter.c:4901,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4936,1
    - Dst: strstr
      Src: /src/gpac/src/filters/jsfilter.c:4892,1
    - Dst: countof
      Src: /src/gpac/src/filters/jsfilter.c:4875,1
    - Dst: strstr
      Src: /src/gpac/src/filters/jsfilter.c:4897,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:4926,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:4806,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:4816,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filters/jsfilter.c:4848,1
    - Dst: JS_SetContextOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4838,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filters/jsfilter.c:4851,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/jsfilter.c:4839,1
    - Dst: countof
      Src: /src/gpac/src/filters/jsfilter.c:4851,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filters/jsfilter.c:4860,1
    - Dst: countof
      Src: /src/gpac/src/filters/jsfilter.c:4860,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filters/jsfilter.c:4868,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/filters/jsfilter.c:4916,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:4879,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:4889,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 116
    argCount: 2
    argNames:
    - filter
    - custom_ctx
    argTypes:
    - GF_Filter*
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4939
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4939
    functionName: jsfilter_initialize_ex
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - gf_file_load_data
    - js_load_constants
    - JS_IsException
    - GF_LOG
    - GF_SAFEALLOC
    - gf_fs_load_js_api
    - strstr
    - gf_filter_get_udta
    - gf_error_to_string
    - gf_strdup
    - JS_Eval
    - js_dump_error
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_file_basename
    - JS_NewClass
    - JS_SetContextOpaque
    - gf_list_new
    - countof
    - JS_GetRuntime
    - JS_DetectModule
    - JS_NewString
    - gf_free
    - qjs_init_all_modules
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_FreeValue
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - js_std_loop
    - gf_js_create_context
    - gf_opts_get_bool
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfilter_initialize_ex(GF_Filter *filter, JSContext
      *custom_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4110,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4111,1
    - Dst: gf_filter_pck_set_readonly
      Src: /src/gpac/src/filters/jsfilter.c:4114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4116
    functionName: jsf_pck_set_readonly
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pck_set_readonly
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_set_readonly(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfilter_initialize_ex
      Src: /src/gpac/src/filters/jsfilter.c:4944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4945
      start: 4942
    functionDepth: 0
    functionLinenumber: 4942
    functionLinenumberEnd: 4945
    functionName: jsfilter_initialize
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - jsfilter_initialize_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsfilter_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1785,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1787,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1786,1
    - Dst: gf_filter_block_eos
      Src: /src/gpac/src/filters/jsfilter.c:1787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1789
    functionName: jsf_filter_block_eos
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_block_eos
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_block_eos(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2023,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:2028,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:2028,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:2028,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2024,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:2029,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:2029,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/jsfilter.c:2031,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2033,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2034,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2039,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:2041,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2042,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:2040,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2046
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2046
    functionName: jsf_filter_inst_prop_set
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToCString
    - JS_FreeCString
    - JS_IsNull
    - JS_IsFunction
    - gf_strdup
    - JS_IsUndefined
    - gf_filter_set_setup_failure_callback
    - JS_GetOpaque
    - JS_DupValue
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_inst_prop_set(JSContext *ctx, JSValueConst
      this_val, JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2074,1
    - Dst: gf_filter_disable_probe
      Src: /src/gpac/src/filters/jsfilter.c:2076,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2078
    functionName: jsf_filter_inst_disable_probe
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_disable_probe
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_inst_disable_probe(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2952,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/jsfilter.c:2955,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2953,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2960
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2960
    functionName: jsf_pid_remove
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pid_remove
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_remove(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2975,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2978,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2976,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/jsfilter.c:2979,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2977,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2980,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2982
    functionName: jsf_pid_copy_props
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_GetOpaque
    - gf_filter_pid_copy_properties
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_copy_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3001,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/jsfilter.c:3008,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3003,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:3004,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3002,1
    - Dst: filter_source_id_match
      Src: /src/gpac/src/filters/jsfilter.c:3012,1
    - Dst: gf_filter_last_id_in_chain
      Src: /src/gpac/src/filters/jsfilter.c:3015,1
    - Dst: filter_source_id_match
      Src: /src/gpac/src/filters/jsfilter.c:3016,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:3020,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3022
      start: 2998
    functionDepth: 0
    functionLinenumber: 2998
    functionLinenumberEnd: 3022
    functionName: jsf_pid_match_source
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - strncmp
    - filter_source_id_match
    - JS_GetOpaque
    - gf_filter_last_id_in_chain
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_match_source(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:3374,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:3376,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:3377,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/jsfilter.c:3375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - value
    - ptr
    argTypes:
    - JSContext*
    - JSValue
    - char**
    constantsTouched: []
    func_position:
      end: 3379
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3379
    functionName: to_event_string
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_strdup
    - JS_FreeCString
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void to_event_string(JSContext *ctx, JSValue value, char **ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1794,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/jsfilter.c:1796,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1798
    functionName: jsf_filter_abort
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_abort
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_abort(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2052,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2055,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2053,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2054,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2056,1
    - Dst: gf_filter_get_arg_str
      Src: /src/gpac/src/filters/jsfilter.c:2058,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2059,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filters/jsfilter.c:2062,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filters/jsfilter.c:2063,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2069
    functionName: jsf_filter_inst_get_arg
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_ToBool
    - JS_FreeCString
    - gf_filter_get_arg
    - JS_NewString
    - jsf_NewProp
    - JS_GetOpaque
    - gf_filter_get_arg_str
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_inst_get_arg(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2081,1
    - Dst: gf_filter_disable_inputs
      Src: /src/gpac/src/filters/jsfilter.c:2083,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2085
    functionName: jsf_filter_inst_disable_inputs
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_disable_inputs
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_inst_disable_inputs(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2965,1
    - Dst: gf_filter_pid_reset_properties
      Src: /src/gpac/src/filters/jsfilter.c:2967,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2966,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2970
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2970
    functionName: jsf_pid_reset_props
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pid_reset_properties
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_reset_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2988,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:2990,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2991,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2989,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2990,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2992,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/jsfilter.c:2993,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2994,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2996
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2996
    functionName: jsf_pid_forward
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_forward
    - js_throw_err
    - JS_GetOpaque
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_forward(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3393,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3413,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3419,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3426,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3481,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3461,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3518,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3532,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3438,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3442,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3452,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3477,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3473,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3509,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3511,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3533,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3468,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3387,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3406,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3416,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3460,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3467,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3466,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:3386,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3400,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3421,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3440,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3450,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3529,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3531,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:3547,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3398,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3403,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3419,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3429,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3495,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3484,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3459,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3461,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3481,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3502,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3533,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3396,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3438,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3458,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3491,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3473,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3477,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3498,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3509,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3511,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3514,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3416,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3435,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3447,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3460,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3467,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3456,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3466,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3421,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/filters/jsfilter.c:3505,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3522,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3529,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3531,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3398,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3429,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3475,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3495,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3479,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3484,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3459,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3502,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3525,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3498,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3396,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3458,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3491,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3508,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3510,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3514,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3518,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3423,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3536,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/jsfilter.c:3492,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3456,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3444,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3454,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/jsfilter.c:3499,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3505,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3522,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3528,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3530,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3532,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/jsfilter.c:3515,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/jsfilter.c:3519,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3389,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3442,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3452,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3470,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3508,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3510,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3544,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3468,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3406,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/jsfilter.c:3506,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3536,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3454,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3444,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3463,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:3450,1
    - Dst: jsf_check_evt
      Src: /src/gpac/src/filters/jsfilter.c:3388,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:3410,1
    - Dst: to_event_string
      Src: /src/gpac/src/filters/jsfilter.c:3432,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/filters/jsfilter.c:3440,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3528,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:3530,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 143
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 3549
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3549
    functionName: jsf_event_set_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - JS_ToInt64
    - to_event_string
    - js_throw_err
    - jsf_check_evt
    - FLT2FIX
    - JS_GetOpaque
    - JS_ToInt32
    - JS_ToFloat64
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_event_set_prop(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:237,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filters/jsfilter.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: jsf_filter_mark
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void jsf_filter_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - c
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: jsf_get_packet
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'const GF_FilterPacket *jsf_get_packet(JSContext *c, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:5129,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:5130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - evt
    argTypes:
    - JSContext*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 5132
      start: 5127
    functionDepth: 0
    functionLinenumber: 5127
    functionLinenumberEnd: 5132
    functionName: js_init_evt_obj
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_SetOpaque
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue js_init_evt_obj(JSContext *ctx, const GF_FilterEvent *evt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:254,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filters/jsfilter.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: jsf_filter_inst_mark
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void jsf_filter_inst_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:489,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:501,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:497,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:500,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:499,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:502,1
    - Dst: GETPROP
      Src: /src/gpac/src/filters/jsfilter.c:503,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/jsfilter.c:508,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/jsfilter.c:511,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 11
    argNames:
    - c
    - obj
    - width
    - height
    - pf
    - stride
    - stride_uv
    - data
    - p_u
    - p_v
    - p_a
    argTypes:
    - JSContext*
    - JSValue
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    - u8**
    - u8**
    - u8**
    - u8**
    constantsTouched: []
    func_position:
      end: 521
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 521
    functionName: jsf_get_filter_packet_planes
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_data
    - JS_GetOpaque
    - gf_filter_pck_get_frame_interface
    - GETPROP
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err jsf_get_filter_packet_planes(JSContext *c, JSValue obj, u32
      *width, u32 *height, u32 *pf, u32 *stride, u32 *stride_uv, const u8 **data,
      const u8 **p_u, const u8 **p_v, const u8 **p_a) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2111,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:2115,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2123,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2124,1
    - Dst: gf_filter_pid_set_max_buffer
      Src: /src/gpac/src/filters/jsfilter.c:2125,1
    - Dst: gf_filter_pid_require_source_id
      Src: /src/gpac/src/filters/jsfilter.c:2142,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2132,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2138,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2145,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:2151,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/jsfilter.c:2132,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2141,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/jsfilter.c:2138,1
    - Dst: gf_filter_pid_recompute_dts
      Src: /src/gpac/src/filters/jsfilter.c:2145,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/jsfilter.c:2120,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2135,1
    - Dst: gf_filter_pid_set_loose_connect
      Src: /src/gpac/src/filters/jsfilter.c:2129,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2119,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/jsfilter.c:2116,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2112,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:2128,1
    - Dst: gf_filter_pid_set_clock_mode
      Src: /src/gpac/src/filters/jsfilter.c:2135,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:2150,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2153
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2153
    functionName: jsf_pid_set_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_filter_pid_set_max_buffer
    - JS_ToBool
    - gf_filter_pid_set_discard
    - JS_FreeCString
    - gf_filter_pid_set_name
    - gf_filter_pid_recompute_dts
    - js_throw_err
    - gf_filter_pid_set_loose_connect
    - JS_GetOpaque
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_set_eos
    - gf_filter_pid_set_clock_mode
    - gf_filter_pid_require_source_id
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_set_prop(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2634,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2635,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2643,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2652,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2656,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2631,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:2640,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:2640,1
    - Dst: wgl_texture_get_id
      Src: /src/gpac/src/filters/jsfilter.c:2646,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:2644,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2649,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2660,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:2633,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:2636,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:2637,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:2654,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2661,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:2663,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:2638,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/jsfilter.c:2653,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:2662,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 5
    argNames:
    - frame
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_Matrix_unexposed*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2665
    functionName: jsf_pck_gl_get_texture
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - gf_js_lock
    - JS_IsException
    - JS_NewInt32
    - js_dump_error
    - JS_DupValue
    - JS_Call
    - wgl_texture_get_id
    - JS_IsObject
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err jsf_pck_gl_get_texture(GF_FilterFrameInterface *frame,
      u32 plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_Matrix_unexposed * texcoordmatrix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5139,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5145,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/jsfilter.c:5142,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:5148,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/jsfilter.c:5147,1
    - Dst: js_init_evt_obj
      Src: /src/gpac/src/filters/jsfilter.c:5152,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/jsfilter.c:5154,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/jsfilter.c:5155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/jsfilter.c:5156,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/jsfilter.c:5157,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:5164,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5165,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/jsfilter.c:5166,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5163,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filters/jsfilter.c:5168,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:5162,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:5160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 5170
      start: 5134
    functionDepth: 0
    functionLinenumber: 5134
    functionLinenumberEnd: 5170
    functionName: jsfilter_process_event
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_FreeValue
    - JS_ToBool
    - gf_js_lock
    - JS_IsFunction
    - JS_IsException
    - gf_filter_pid_get_udta
    - GF_LOG
    - js_dump_error
    - JS_SetOpaque
    - JS_DupValue
    - js_std_loop
    - JS_Call
    - js_init_evt_obj
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsfilter_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5273
      start: 5270
    functionDepth: 0
    functionLinenumber: 5270
    functionLinenumberEnd: 5273
    functionName: jsf_register
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *jsf_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1357,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1359,1
    - Dst: gf_filter_set_author
      Src: /src/gpac/src/filters/jsfilter.c:1361,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1358,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1360,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1364
    functionName: jsf_filter_set_author
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_filter_set_author
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_author(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1771,1
    - Dst: gf_filter_make_sticky
      Src: /src/gpac/src/filters/jsfilter.c:1773,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1775
    functionName: jsf_filter_make_sticky
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_make_sticky
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_make_sticky(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1857,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1858,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1859,1
    - Dst: gf_filter_reset_source
      Src: /src/gpac/src/filters/jsfilter.c:1860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1862
    functionName: jsf_filter_reset_source
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_reset_source
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_reset_source(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:4267,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4273,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4274,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filters/jsfilter.c:4290,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/jsfilter.c:4278,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/jsfilter.c:4309,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4312,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4268,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4264,1
    - Dst: gf_filter_pck_set_property_dyn
      Src: /src/gpac/src/filters/jsfilter.c:4275,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/jsfilter.c:4292,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4288,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/jsfilter.c:4292,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/jsfilter.c:4295,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4299,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:4270,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/jsfilter.c:4281,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4284,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/jsfilter.c:4308,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4263,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:4271,1
    - Dst: jsf_ToProp
      Src: /src/gpac/src/filters/jsfilter.c:4272,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:4290,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/jsfilter.c:4276,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:4285,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/jsfilter.c:4292,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filters/jsfilter.c:4294,1
    - Dst: jsf_ToProp
      Src: /src/gpac/src/filters/jsfilter.c:4298,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4314
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4314
    functionName: jsf_pck_set_property
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_props_reset_single
    - JS_ToBool
    - JS_FreeCString
    - JS_IsNull
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - gf_props_get_id
    - js_throw_err
    - gf_filter_pck_set_property_dyn
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_net_get_ntp_ts
    - JS_IsBool
    - GF_JS_EXCEPTION
    - jsf_ToProp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_set_property(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4376,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4383,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4377,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4380,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/jsfilter.c:4382,1
    - Dst: jsf_pck_detach_ab
      Src: /src/gpac/src/filters/jsfilter.c:4385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4387
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4387
    functionName: jsf_pck_truncate
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - gf_filter_pck_truncate
    - jsf_pck_detach_ab
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_truncate(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filters/jsfilter.c:324,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:326,1
    - Dst: JS_DetachArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pckctx
    argTypes:
    - JSContext*
    - GF_JSPckCtx*
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: jsf_pck_detach_ab
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DetachArrayBuffer
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'static void jsf_pck_detach_ab(JSContext *ctx, GF_JSPckCtx *pckctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1369,1
    - Dst: gf_filter_set_help
      Src: /src/gpac/src/filters/jsfilter.c:1373,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1370,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:1371,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1372,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:1374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1376
    functionName: jsf_filter_set_help
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_filter_set_help
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_help(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1778,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1780,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1779,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/jsfilter.c:1780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1782
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1782
    functionName: jsf_filter_prevent_blocking
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_prevent_blocking
    - GF_JS_EXCEPTION
    - JS_ToBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_prevent_blocking(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:1866,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/jsfilter.c:1869,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1867,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:1868,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:1869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1871
    functionName: jsf_filter_set_blocking
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_set_blocking
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_filter_set_blocking(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4323,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:4331,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filters/jsfilter.c:4334,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:4356,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4353,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/jsfilter.c:4360,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:4364,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filters/jsfilter.c:4327,1
    - Dst: strlen
      Src: /src/gpac/src/filters/jsfilter.c:4336,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4346,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:4350,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4362,1
    - Dst: jsf_pck_detach_ab
      Src: /src/gpac/src/filters/jsfilter.c:4366,1
    - Dst: JS_NewArrayBuffer
      Src: /src/gpac/src/filters/jsfilter.c:4368,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4324,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4335,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4342,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filters/jsfilter.c:4353,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filters/jsfilter.c:4327,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/jsfilter.c:4332,1
    - Dst: gf_filter_pck_expand
      Src: /src/gpac/src/filters/jsfilter.c:4339,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:4345,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filters/jsfilter.c:4341,1
    - Dst: jsf_pck_detach_ab
      Src: /src/gpac/src/filters/jsfilter.c:4349,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4358,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4316
    functionDepth: 0
    functionLinenumber: 4316
    functionLinenumberEnd: 4369
    functionName: jsf_pck_append_data
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - strlen
    - JS_FreeCString
    - JS_NewArrayBuffer
    - js_throw_err
    - jsf_pck_detach_ab
    - JS_GetArrayBuffer
    - JS_GetOpaque
    - gf_filter_pck_expand
    - JS_IsString
    - memcpy
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_append_data(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4391,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/jsfilter.c:4397,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4396,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4393,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4394,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4400
      start: 4388
    functionDepth: 0
    functionLinenumber: 4388
    functionLinenumberEnd: 4400
    functionName: jsf_pck_copy_props
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - js_throw_err
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_copy_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/jsfilter.c:2163,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/jsfilter.c:2165,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2167,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/jsfilter.c:2173,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2175,1
    - Dst: gf_filter_pid_get_args
      Src: /src/gpac/src/filters/jsfilter.c:2181,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2187,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/jsfilter.c:2189,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2194,1
    - Dst: gf_filter_pid_get_first_packet_cts
      Src: /src/gpac/src/filters/jsfilter.c:2196,1
    - Dst: gf_filter_pid_get_source
      Src: /src/gpac/src/filters/jsfilter.c:2205,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2221,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:2216,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:2227,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2223,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2165,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2163,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2173,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/jsfilter.c:2171,1
    - Dst: gf_filter_pid_get_source_filter_name
      Src: /src/gpac/src/filters/jsfilter.c:2179,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2181,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filters/jsfilter.c:2183,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:2189,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2201,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/jsfilter.c:2208,1
    - Dst: gf_filter_pid_get_next_ts
      Src: /src/gpac/src/filters/jsfilter.c:2225,1
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filters/jsfilter.c:2213,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2207,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2160,1
    - Dst: gf_filter_pid_eos_received
      Src: /src/gpac/src/filters/jsfilter.c:2169,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2171,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2179,1
    - Dst: gf_filter_pid_get_filter_name
      Src: /src/gpac/src/filters/jsfilter.c:2177,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2183,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filters/jsfilter.c:2185,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2192,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/jsfilter.c:2197,1
    - Dst: gf_filter_pid_get_packet_count
      Src: /src/gpac/src/filters/jsfilter.c:2201,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2215,1
    - Dst: gf_filter_pid_has_decoder
      Src: /src/gpac/src/filters/jsfilter.c:2230,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2159,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filters/jsfilter.c:2167,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2169,1
    - Dst: gf_filter_pid_is_sparse
      Src: /src/gpac/src/filters/jsfilter.c:2175,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2177,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/jsfilter.c:2185,1
    - Dst: gf_filter_pid_get_max_buffer
      Src: /src/gpac/src/filters/jsfilter.c:2187,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filters/jsfilter.c:2191,1
    - Dst: gf_filter_pid_first_packet_is_empty
      Src: /src/gpac/src/filters/jsfilter.c:2194,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/jsfilter.c:2203,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/jsfilter.c:2223,1
    - Dst: gf_filter_pid_get_min_pck_duration
      Src: /src/gpac/src/filters/jsfilter.c:2221,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/jsfilter.c:2230,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/jsfilter.c:2203,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 65
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 2233
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2233
    functionName: jsf_pid_get_prop
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_max_buffer
    - gf_filter_pid_get_source
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_min_pck_duration
    - gf_filter_pid_is_playing
    - GF_JS_EXCEPTION
    - gf_filter_pid_get_args
    - JS_NewBool
    - gf_filter_pid_get_timescale
    - JS_NewInt32
    - gf_filter_pid_is_sparse
    - JS_NewInt64
    - gf_filter_pid_orig_src_args
    - JS_GetOpaque
    - gf_filter_pid_eos_received
    - gf_filter_pid_get_name
    - gf_filter_pid_get_source_filter_name
    - gf_filter_pid_get_packet_count
    - gf_filter_pid_get_next_ts
    - gf_filter_pid_get_first_packet_cts
    - JS_NewString
    - gf_filter_pid_get_destination
    - gf_filter_pid_first_packet_is_empty
    - gf_free
    - gf_filter_pid_would_block
    - gf_filter_pid_is_flush_eos
    - gf_filter_pid_get_filter_name
    - gf_filter_pid_has_decoder
    - gf_filter_pid_query_buffer_duration
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_get_prop(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4179,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4180,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/jsfilter.c:4184,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/jsfilter.c:4186,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filters/jsfilter.c:4182,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filters/jsfilter.c:4188,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/jsfilter.c:4190,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/jsfilter.c:4192,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/jsfilter.c:4194,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filters/jsfilter.c:4197,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4200,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/jsfilter.c:4201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4202
      start: 4175
    functionDepth: 0
    functionLinenumber: 4175
    functionLinenumberEnd: 4202
    functionName: jsf_pck_ref
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_filter_pck_ref_props
    - gf_filter_pck_ref
    - js_throw_err
    - JS_SetOpaque
    - JS_GetOpaque
    - JS_NewObjectClass
    - memcpy
    - JS_DupValue
    - GF_SAFEALLOC
    - GF_JS_EXCEPTION
    - gf_list_pop_back
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_ref(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2237,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2240,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/jsfilter.c:2244,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:2239,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:2238,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/jsfilter.c:2249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2251
    functionName: jsf_pid_send_event
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_pid_send_event
    - gf_filter_pid_init_play_event
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pid_send_event(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4207,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/jsfilter.c:4212,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filters/jsfilter.c:4208,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/jsfilter.c:4210,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4214,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/jsfilter.c:4215,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filters/jsfilter.c:4216,1
    - Dst: memset
      Src: /src/gpac/src/filters/jsfilter.c:4218,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/jsfilter.c:4219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4221
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4221
    functionName: jsf_pck_unref
    functionSourceFile: /src/gpac/src/filters/jsfilter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_FreeValue
    - memset
    - js_throw_err_msg
    - JS_SetOpaque
    - JS_GetOpaque
    - gf_filter_pck_unref
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsf_pck_unref(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:107,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:130,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:135,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:172,1
    - Dst: mpeg2ps_get_audio_stream_type
      Src: /src/gpac/src/filters/dmx_mpegps.c:145,1
    - Dst: mpeg2ps_get_audio_stream_channels
      Src: /src/gpac/src/filters/dmx_mpegps.c:185,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:186,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:190,1
    - Dst: mpeg2ps_get_audio_stream_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:138,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:101,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:169,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:179,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:150,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:172,1
    - Dst: mpeg2ps_get_audio_stream_type
      Src: /src/gpac/src/filters/dmx_mpegps.c:170,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:104,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:190,1
    - Dst: gf_media_get_video_timing
      Src: /src/gpac/src/filters/dmx_mpegps.c:118,1
    - Dst: mpeg2ps_get_video_stream_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:75,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_mpegps.c:88,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_mpegps.c:90,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:101,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:113,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:184,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:175,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_mpegps.c:176,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:189,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_mpegps.c:192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:112,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:122,1
    - Dst: mpeg2ps_get_video_stream_aspect_ratio
      Src: /src/gpac/src/filters/dmx_mpegps.c:123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:195,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:176,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:83,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:107,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_mpegps.c:130,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:175,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:192,1
    - Dst: mpeg2ps_get_video_stream_width
      Src: /src/gpac/src/filters/dmx_mpegps.c:121,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:179,1
    - Dst: mpeg2ps_get_video_stream_bitrate
      Src: /src/gpac/src/filters/dmx_mpegps.c:133,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:122,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:169,1
    - Dst: mpeg2ps_get_first_cts
      Src: /src/gpac/src/filters/dmx_mpegps.c:73,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_mpegps.c:129,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:133,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_mpegps.c:159,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:185,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_mpegps.c:168,1
    - Dst: mpeg2ps_get_audio_stream_bitrate
      Src: /src/gpac/src/filters/dmx_mpegps.c:186,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:191,1
    - Dst: mpeg2ps_get_audio_stream_id
      Src: /src/gpac/src/filters/dmx_mpegps.c:163,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_mpegps.c:99,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:114,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_mpegps.c:127,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dmx_mpegps.c:179,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_mpegps.c:131,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_mpegps.c:167,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_mpegps.c:100,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:129,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:133,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:127,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_mpegps.c:166,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:81,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:112,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:195,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:104,1
    - Dst: mpeg2ps_get_video_stream_type
      Src: /src/gpac/src/filters/dmx_mpegps.c:102,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_mpegps.c:119,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:188,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_mpegps.c:157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:143,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:121,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_mpegps.c:155,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_mpegps.c:193,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:185,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_mpegps.c:92,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:119,1
    - Dst: mpeg2ps_get_audio_stream_sample_freq
      Src: /src/gpac/src/filters/dmx_mpegps.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:188,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_mpegps.c:191,1
    - Dst: mpeg2ps_get_video_stream_framerate
      Src: /src/gpac/src/filters/dmx_mpegps.c:116,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_mpegps.c:131,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:121,1
    - Dst: mpeg2ps_get_max_time_msec
      Src: /src/gpac/src/filters/dmx_mpegps.c:71,1
    - Dst: mpeg2ps_get_video_stream_id
      Src: /src/gpac/src/filters/dmx_mpegps.c:96,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_mpegps.c:114,1
    - Dst: mpeg2ps_get_video_stream_height
      Src: /src/gpac/src/filters/dmx_mpegps.c:122,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_mpegps.c:193,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 157
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_M2PSDmxCtx*
    constantsTouched: []
    func_position:
      end: 197
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 197
    functionName: m2psdmx_setup
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - mpeg2ps_get_audio_stream_count
    - mpeg2ps_get_video_stream_aspect_ratio
    - mpeg2ps_get_video_stream_framerate
    - mpeg2ps_get_video_stream_count
    - PROP_BOOL
    - mpeg2ps_get_max_time_msec
    - PROP_FRAC64
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - mpeg2ps_get_audio_stream_bitrate
    - mpeg2ps_get_video_stream_id
    - mpeg2ps_get_audio_stream_type
    - mpeg2ps_get_first_cts
    - GF_4CC
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - mpeg2ps_get_video_stream_width
    - gf_media_get_video_timing
    - gf_list_get
    - sprintf
    - gf_filter_pid_set_property
    - mpeg2ps_get_video_stream_height
    - gf_filter_pid_set_name
    - mpeg2ps_get_audio_stream_channels
    - mpeg2ps_get_video_stream_type
    - PROP_FRAC
    - mpeg2ps_get_audio_stream_id
    - mpeg2ps_get_audio_stream_sample_freq
    - mpeg2ps_get_video_stream_bitrate
    linkageType: ''
    returnType: void
    signature: 'static void m2psdmx_setup(GF_Filter *filter, GF_M2PSDmxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_mpegps.c:253,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_mpegps.c:263,1
    - Dst: mpeg2ps_seek_video_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:279,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:272,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:273,1
    - Dst: mpeg2ps_seek_audio_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:281,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:290,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 307
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 307
    functionName: m2psdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_list_count
    - mpeg2ps_seek_audio_frame
    - gf_filter_post_process_task
    - mpeg2ps_seek_video_frame
    linkageType: ''
    returnType: Bool
    signature: 'static Bool m2psdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_mpegps.c:436,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_mpegps.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: m2psdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2psdmx_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: m2psdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *m2psdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_mpegps.c:204,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_mpegps.c:211,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_mpegps.c:209,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:208,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_mpegps.c:212,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_mpegps.c:216,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_mpegps.c:224,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_mpegps.c:228,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_mpegps.c:231,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_mpegps.c:234,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:238,1
    - Dst: mpeg2ps_close
      Src: /src/gpac/src/filters/dmx_mpegps.c:237,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:239,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 248
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 248
    functionName: m2psdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - gf_list_count
    - gf_filter_pid_get_property
    - strcmp
    - mpeg2ps_close
    - gf_filter_pid_check_caps
    - gf_free
    - gf_filter_pid_remove
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2psdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_mpegps.c:315,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_mpegps.c:329,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_mpegps.c:330,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_mpegps.c:387,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_mpegps.c:394,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_mpegps.c:399,1
    - Dst: mpeg2ps_get_audio_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:402,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_mpegps.c:413,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_mpegps.c:427,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_mpegps.c:311,1
    - Dst: mpeg2ps_init
      Src: /src/gpac/src/filters/dmx_mpegps.c:326,1
    - Dst: m2psdmx_setup
      Src: /src/gpac/src/filters/dmx_mpegps.c:333,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:339,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_mpegps.c:367,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:361,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:344,1
    - Dst: mpeg2ps_seek_video_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:347,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_mpegps.c:393,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_mpegps.c:397,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_mpegps.c:319,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_mpegps.c:324,1
    - Dst: mpeg2ps_get_video_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:372,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_mpegps.c:386,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_mpegps.c:383,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_mpegps.c:395,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_mpegps.c:414,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_mpegps.c:426,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_mpegps.c:407,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_mpegps.c:321,1
    - Dst: mpeg2ps_seek_audio_frame
      Src: /src/gpac/src/filters/dmx_mpegps.c:349,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_mpegps.c:410,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_mpegps.c:418,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_mpegps.c:420,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_mpegps.c:416,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 432
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 432
    functionName: m2psdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - m2psdmx_setup
    - mpeg2ps_seek_audio_frame
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_set_cts
    - gf_list_get
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - mpeg2ps_get_audio_frame
    - mpeg2ps_get_video_frame
    - gf_filter_pck_set_dts
    - mpeg2ps_init
    - gf_filter_setup_failure
    - mpeg2ps_seek_video_frame
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m2psdmx_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_mpegps.c:443,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_mpegps.c:446,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_mpegps.c:445,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_mpegps.c:447,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_mpegps.c:449,1
    - Dst: mpeg2ps_close
      Src: /src/gpac/src/filters/dmx_mpegps.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: m2psdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - mpeg2ps_close
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void m2psdmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: m2psdmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_mpegps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *m2psdmx_register(GF_FilterSession *session) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mpgvid.c:97,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_mpgvid.c:107,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:123,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:119,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:102,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/reframe_mpgvid.c:130,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:136,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:151,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_mpgvid.c:152,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_mpgvid.c:152,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:154,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:167,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:166,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_mpgvid.c:155,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:165,1
    - Dst: gf_m4v_parser_del_no_bs
      Src: /src/gpac/src/filters/reframe_mpgvid.c:160,1
    - Dst: strstr
      Src: /src/gpac/src/filters/reframe_mpgvid.c:155,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 76
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 174
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 174
    functionName: mpgviddmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_property_str
    - gf_filter_pid_remove
    - strstr
    - gf_m4v_parser_del_no_bs
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mpgviddmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_mpgvid.c:297,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_mpgvid.c:314,1
    - Dst: gf_filter_pck_get_carousel_version
      Src: /src/gpac/src/filters/reframe_mpgvid.c:312,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_mpgvid.c:307,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/reframe_mpgvid.c:311,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_mpgvid.c:317,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:318,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:323,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:326,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:328,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_mpgvid.c:336,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:342,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:338,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/reframe_mpgvid.c:343,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:334,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:333,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - pck
    - flush_ref
    - is_eos
    argTypes:
    - GF_MPGVidDmxCtx*
    - GF_FilterPacket*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 344
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 344
    functionName: mpgviddmx_enqueue_or_dispatch
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_list_reset
    - gf_list_get
    - gf_filter_pck_get_carousel_version
    - gf_filter_pck_set_carousel_version
    - gf_list_count
    - gf_filter_pck_set_framing
    - gf_filter_pck_discard
    - gf_filter_pck_set_cts
    - gf_filter_pck_get_framing
    - gf_filter_pck_send
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void mpgviddmx_enqueue_or_dispatch(GF_MPGVidDmxCtx *ctx, GF_FilterPacket
      *pck, Bool flush_ref, Bool is_eos) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mpgvid.c:470,1
    - Dst: mpgviddmx_check_dur
      Src: /src/gpac/src/filters/reframe_mpgvid.c:494,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:515,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_mpgvid.c:517,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mpgvid.c:524,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_mpgvid.c:527,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/reframe_mpgvid.c:528,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_mpgvid.c:529,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 544
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 544
    functionName: mpgviddmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pck_discard
    - gf_filter_pck_unref
    - mpgviddmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool mpgviddmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 596
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 596
    functionName: mpgviddmx_next_start_code
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: s32
    signature: 'static s32 mpgviddmx_next_start_code(u8 *data, u32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1233,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1238
    functionName: mpgviddmx_initialize
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_malloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err mpgviddmx_initialize(GF_Filter *filter) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:360,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:363,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:380,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:373,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:382,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:385,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:410,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:414,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_mpgvid.c:434,1
    - Dst: memchr
      Src: /src/gpac/src/filters/reframe_mpgvid.c:438,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:457,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:454,1
    - Dst: mpgviddmx_check_dur
      Src: /src/gpac/src/filters/reframe_mpgvid.c:351,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:357,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:362,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_mpgvid.c:362,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:364,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:368,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:412,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:417,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:424,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/reframe_mpgvid.c:445,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:454,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:350,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mpgvid.c:360,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:363,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:380,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:381,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:381,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:382,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:410,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:414,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mpgvid.c:452,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:449,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:364,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_mpgvid.c:368,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:367,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:370,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:412,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:417,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:425,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:445,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_mpgvid.c:449,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:461,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_mpgvid.c:457,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 126
    argCount: 4
    argNames:
    - filter
    - ctx
    - vosh_size
    - data
    argTypes:
    - GF_Filter*
    - GF_MPGVidDmxCtx*
    - u32
    - u8*
    constantsTouched: []
    func_position:
      end: 463
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 463
    functionName: mpgviddmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - strncmp
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - memchr
    - PROP_FRAC64
    - PROP_FRAC
    - PROP_UINT
    - PROP_FRAC_INT
    - memcpy
    - gf_sys_is_test_mode
    - mpgviddmx_enqueue_or_dispatch
    - mpgviddmx_check_dur
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'static void mpgviddmx_check_pid(GF_Filter *filter, GF_MPGVidDmxCtx
      *ctx, u32 vosh_size, u8 *data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:196,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_mpgvid.c:218,1
    - Dst: gf_m4v_parser_bs_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:229,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/filters/reframe_mpgvid.c:230,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:289,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:210,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_mpgvid.c:220,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_mpgvid.c:227,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_mpgvid.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:232,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_mpgvid.c:241,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_mpgvid.c:274,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:280,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_mpgvid.c:280,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mpgvid.c:282,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_mpgvid.c:191,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_mpgvid.c:197,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_mpgvid.c:211,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:250,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:263,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/reframe_mpgvid.c:247,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:273,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_mpgvid.c:194,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/reframe_mpgvid.c:248,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_mpgvid.c:272,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 124
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_MPGVidDmxCtx*
    constantsTouched: []
    func_position:
      end: 291
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 291
    functionName: mpgviddmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - strncmp
    - GF_LOG
    - PROP_FRAC64
    - gf_m4v_get_object_start
    - gf_m4v_parser_bs_new
    - gf_bs_get_position
    - gf_fileio_is_main_thread
    - gf_m4v_parser_del
    - gf_filter_pid_set_property
    - gf_sys_is_test_mode
    - gf_m4v_parse_frame
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_m4v_parse_config
    - gf_bs_available
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void mpgviddmx_check_dur(GF_Filter *filter, GF_MPGVidDmxCtx
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:548,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_MPGVidDmxCtx*
    constantsTouched: []
    func_position:
      end: 566
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 566
    functionName: mpgviddmx_update_time
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void mpgviddmx_update_time(GF_MPGVidDmxCtx *ctx) '
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:618,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:761,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:824,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:894,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:865,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1179,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1182,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1201,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:814,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:855,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:815,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:947,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/reframe_mpgvid.c:975,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1023,1
    - Dst: gf_m4v_parser_reset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1048,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1189,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1194,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_mpgvid.c:628,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:767,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:917,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:960,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:965,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1205,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1226,1
    - Dst: mpgviddmx_update_time
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1125,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mpgvid.c:899,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:662,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:700,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:747,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:861,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:869,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:758,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1094,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1170,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1184,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1073,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mpgvid.c:621,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_mpgvid.c:759,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:760,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:886,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/filters/reframe_mpgvid.c:954,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:981,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1065,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1107,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1134,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1174,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_mpgvid.c:620,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:708,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:836,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:912,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1003,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1069,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:851,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:871,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:832,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:696,1
    - Dst: gf_m4v_parser_bs_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:713,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:756,1
    - Dst: mpgviddmx_check_pid
      Src: /src/gpac/src/filters/reframe_mpgvid.c:931,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1191,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1204,1
    - Dst: mpgviddmx_update_time
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1210,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:764,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:796,1
    - Dst: mpgviddmx_check_dur
      Src: /src/gpac/src/filters/reframe_mpgvid.c:613,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:629,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:637,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:999,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1050,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1190,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1195,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1213,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:678,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:817,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:925,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_mpgvid.c:970,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:973,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1001,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1009,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:878,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_mpgvid.c:691,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:854,1
    - Dst: gf_m4v_parse_config
      Src: /src/gpac/src/filters/reframe_mpgvid.c:907,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:821,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_mpgvid.c:944,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1064,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1066,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1177,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1193,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1203,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1063,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:856,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:863,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_mpgvid.c:922,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:642,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1218,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1222,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:872,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_mpgvid.c:617,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_mpgvid.c:669,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/reframe_mpgvid.c:925,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:952,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/reframe_mpgvid.c:973,1
    - Dst: mpgviddmx_check_pid
      Src: /src/gpac/src/filters/reframe_mpgvid.c:979,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:995,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1062,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/reframe_mpgvid.c:877,1
    - Dst: gf_m4v_get_object_start
      Src: /src/gpac/src/filters/reframe_mpgvid.c:927,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:857,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1173,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1208,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:816,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mpgvid.c:600,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:676,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:735,1
    - Dst: mpgviddmx_next_start_code
      Src: /src/gpac/src/filters/reframe_mpgvid.c:791,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:811,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:919,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:818,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/reframe_mpgvid.c:898,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_mpgvid.c:967,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mpgvid.c:667,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_mpgvid.c:757,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_mpgvid.c:806,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_mpgvid.c:826,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:897,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:906,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:753,1
    - Dst: mpgviddmx_next_start_code
      Src: /src/gpac/src/filters/reframe_mpgvid.c:748,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_mpgvid.c:615,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_mpgvid.c:710,1
    - Dst: mpgviddmx_check_pid
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1007,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1059,1
    - Dst: mpgviddmx_enqueue_or_dispatch
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1151,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1167,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1212,1
    CyclomaticComplexity: 150
    EdgeCount: 150
    ICount: 577
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1229
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 1229
    functionName: mpgviddmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - mpgviddmx_next_start_code
    - gf_filter_pck_set_sap
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_m4v_get_object_start
    - memmove
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_m4v_parser_bs_new
    - gf_filter_pck_set_carousel_version
    - gf_bs_read_u8
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pck_set_framing
    - mpgviddmx_update_time
    - memcpy
    - gf_m4v_parse_frame
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - mpgviddmx_check_pid
    - mpgviddmx_check_dur
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pck_merge_properties
    - gf_m4v_parse_config
    - gf_m4v_parser_reset
    - mpgviddmx_enqueue_or_dispatch
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err mpgviddmx_process(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1242,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1245,1
    - Dst: gf_m4v_parser_del_no_bs
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1244,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1246,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1243,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1248,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1249,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1250,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1252,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1254,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1264
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1264
    functionName: mpgviddmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - gf_filter_pck_discard
    - gf_free
    - gf_filter_pck_unref
    - gf_list_pop_back
    - gf_m4v_parser_del_no_bs
    linkageType: ''
    returnType: void
    signature: 'static void mpgviddmx_finalize(GF_Filter *filter) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1278,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1285,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1322,1
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1279,1
    - Dst: gf_m4v_parser_get_obj_type
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1288,1
    - Dst: memset
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1328,1
    - Dst: gf_m4v_parser_new
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1329,1
    - Dst: gf_m4v_parse_frame
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1334,1
    - Dst: gf_m4v_parser_del
      Src: /src/gpac/src/filters/reframe_mpgvid.c:1350,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 60
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1356
    functionName: mpgvdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached:
    - memset
    - gf_m4v_parser_new
    - gf_m4v_parser_del
    - gf_m4v_parser_get_obj_type
    - gf_m4v_parse_frame
    linkageType: ''
    returnType: char*
    signature: 'static const char * mpgvdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1420
    functionName: rfmpgvid_register
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmpgvid_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1425
    functionName: rfmpgvid_register
    functionSourceFile: /src/gpac/src/filters/reframe_mpgvid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfmpgvid_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - e
    argTypes:
    - GF_RTPInStream*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: rtpin_stream_ack_connect
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void rtpin_stream_ack_connect(GF_RTPInStream *stream, GF_Err e) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp_stream.c:88,1
    - Dst: gf_rtp_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:97,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_stream.c:93,1
    - Dst: rtpin_remove_stream
      Src: /src/gpac/src/filters/in_rtp_stream.c:91,1
    - Dst: gf_rtp_depacketizer_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:96,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:98,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:99,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:100,1
    - Dst: rtpin_stream_reset_queue
      Src: /src/gpac/src/filters/in_rtp_stream.c:102,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:103,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: rtpin_stream_del
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - rtpin_find_stream
    - rtpin_stream_reset_queue
    - gf_rtp_del
    - gf_list_del
    - gf_rtp_depacketizer_del
    - rtpin_remove_stream
    - gf_free
    - rtpin_rtsp_teardown
    linkageType: ''
    returnType: void
    signature: 'void rtpin_stream_del(GF_RTPInStream *stream) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:143,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:146,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/in_rtp_stream.c:191,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_stream.c:216,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/in_rtp_stream.c:226,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/in_rtp_stream.c:236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:250,1
    - Dst: rtpin_stream_queue_pck
      Src: /src/gpac/src/filters/in_rtp_stream.c:265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:147,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:144,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_stream.c:165,1
    - Dst: gf_rtp_is_disc
      Src: /src/gpac/src/filters/in_rtp_stream.c:177,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/in_rtp_stream.c:186,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:220,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/in_rtp_stream.c:201,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/in_rtp_stream.c:238,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/in_rtp_stream.c:248,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/in_rtp_stream.c:193,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:216,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_rtp_stream.c:222,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_stream.c:226,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/filters/in_rtp_stream.c:232,1
    - Dst: gf_rtp_get_current_time
      Src: /src/gpac/src/filters/in_rtp_stream.c:246,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp_stream.c:267,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:149,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_stream.c:172,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_rtp_stream.c:189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_rtp_stream.c:220,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_rtp_stream.c:210,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/in_rtp_stream.c:212,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:238,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/in_rtp_stream.c:248,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/in_rtp_stream.c:257,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/in_rtp_stream.c:261,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 127
    argCount: 5
    argNames:
    - udta
    - payload
    - size
    - hdr
    - e
    argTypes:
    - void*
    - u8*
    - u32
    - GF_SLHeader*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 272
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 272
    functionName: rtp_sl_packet_cbk
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - PROP_DATA
    - GF_LOG
    - gf_timestamp_rescale
    - gf_timestamp_rescale_signed
    - gf_filter_pck_new_alloc
    - gf_net_ntp_to_utc
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_corrupted
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - gf_rtp_is_disc
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - PROP_DOUBLE
    - gf_sys_clock
    - gf_rtp_get_current_time
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_set_dts
    - rtpin_stream_queue_pck
    linkageType: ''
    returnType: void
    signature: 'static void rtp_sl_packet_cbk(void *udta, u8 *payload, u32 size, GF_SLHeader
      *hdr, GF_Err e) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/filters/in_rtp_stream.c:350,1
    - Dst: gf_rtsp_range_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:375,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:383,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:387,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:391,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:391,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:395,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_stream.c:421,1
    - Dst: gf_rtp_new_ex
      Src: /src/gpac/src/filters/in_rtp_stream.c:425,1
    - Dst: rtpin_stream_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:456,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:485,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:493,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_rtp_stream.c:433,1
    - Dst: rtpin_stream_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:449,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_stream.c:488,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_stream.c:346,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_rtp_stream.c:349,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:351,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:356,1
    - Dst: atoi
      Src: /src/gpac/src/filters/in_rtp_stream.c:353,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:354,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_stream.c:382,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:395,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_stream.c:402,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp_stream.c:405,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_rtp_stream.c:418,1
    - Dst: gf_rtp_setup_payload
      Src: /src/gpac/src/filters/in_rtp_stream.c:460,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/in_rtp_stream.c:463,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_stream.c:490,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/in_rtp_stream.c:436,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:505,1
    - Dst: gf_rtp_enable_nat_keepalive
      Src: /src/gpac/src/filters/in_rtp_stream.c:471,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:347,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:350,1
    - Dst: gf_rtsp_range_parse
      Src: /src/gpac/src/filters/in_rtp_stream.c:351,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_rtp_stream.c:361,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_rtp_stream.c:363,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_rtp_stream.c:357,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/in_rtp_stream.c:367,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:394,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:394,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_stream.c:399,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:455,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_stream.c:485,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/in_rtp_stream.c:490,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:494,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_rtp_stream.c:425,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_stream.c:426,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/filters/in_rtp_stream.c:448,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:349,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:348,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:352,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_rtp_stream.c:360,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_stream.c:362,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:358,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp_stream.c:365,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:380,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:388,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:388,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_stream.c:415,1
    - Dst: gf_rtp_depacketizer_new
      Src: /src/gpac/src/filters/in_rtp_stream.c:453,1
    - Dst: strchr
      Src: /src/gpac/src/filters/in_rtp_stream.c:486,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_stream.c:489,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_rtp_stream.c:494,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_stream.c:501,1
    - Dst: gf_gz_decompress_payload_ex
      Src: /src/gpac/src/filters/in_rtp_stream.c:504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:500,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 217
    argCount: 4
    argNames:
    - rtp
    - media
    - sdp
    - input_stream
    argTypes:
    - GF_RTPIn*
    - GF_SDPMedia*
    - GF_SDPInfo*
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 515
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 515
    functionName: rtpin_stream_new
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - strncmp
    - gf_rtsp_range_del
    - gf_gz_decompress_payload_ex
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - rtpin_find_stream
    - gf_list_count
    - gf_strdup
    - strcmp
    - atoi
    - rtpin_stream_del
    - stricmp
    - gf_list_new
    - gf_list_get
    - gf_rtp_setup_transport
    - gf_rtsp_range_parse
    - gf_list_enum
    - strchr
    - strnicmp
    - gf_free
    - gf_base64_decode
    - gf_rtp_new_ex
    - gf_rtp_depacketizer_new
    - gf_rtp_enable_nat_keepalive
    - sscanf
    - gf_filter_get_netcap_id
    - gf_rtp_setup_payload
    - gf_sk_is_multicast_address
    linkageType: ''
    returnType: GF_RTPInStream*
    signature: 'GF_RTPInStream *rtpin_stream_new(GF_RTPIn *rtp, GF_SDPMedia *media,
      GF_SDPInfo *sdp, GF_RTPInStream *input_stream) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_decode_rtp
      Src: /src/gpac/src/filters/in_rtp_stream.c:566,1
    - Dst: gf_rtp_depacketizer_new
      Src: /src/gpac/src/filters/in_rtp_stream.c:574,1
    - Dst: rtpin_declare_pid
      Src: /src/gpac/src/filters/in_rtp_stream.c:580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:609,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:588,1
    - Dst: gf_rtp_get_current_time
      Src: /src/gpac/src/filters/in_rtp_stream.c:615,1
    - Dst: gf_rtp_depacketizer_process
      Src: /src/gpac/src/filters/in_rtp_stream.c:636,1
    - Dst: gf_rtp_get_clockrate
      Src: /src/gpac/src/filters/in_rtp_stream.c:642,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filters/in_rtp_stream.c:643,1
    - Dst: rtpin_stream_update_stats
      Src: /src/gpac/src/filters/in_rtp_stream.c:654,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_rtp_stream.c:646,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:645,1
    - Dst: gf_rtp_get_current_time
      Src: /src/gpac/src/filters/in_rtp_stream.c:643,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:651,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 3
    argNames:
    - stream
    - pck
    - size
    argTypes:
    - GF_RTPInStream*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 657
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 657
    functionName: rtpin_stream_on_rtp_pck
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - rtpin_declare_pid
    - GF_LOG
    - gf_rtp_get_clockrate
    - gf_sys_clock
    - gf_rtp_decode_rtp
    - gf_rtp_get_current_time
    - gf_rtp_depacketizer_process
    - gf_filter_pid_set_eos
    - rtpin_stream_update_stats
    - ABSDIFF
    - gf_rtp_depacketizer_new
    linkageType: ''
    returnType: void
    signature: 'void rtpin_stream_on_rtp_pck(GF_RTPInStream *stream, char *pck, u32
      size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_decode_rtcp
      Src: /src/gpac/src/filters/in_rtp_stream.c:694,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:713,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:713,1
    - Dst: rtpin_adjust_sync
      Src: /src/gpac/src/filters/in_rtp_stream.c:718,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/in_rtp_stream.c:708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - stream
    - pck
    - size
    argTypes:
    - GF_RTPInStream*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 727
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 727
    functionName: rtpin_stream_on_rtcp_pck
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_rtp_decode_rtcp
    - rtpin_adjust_sync
    - GF_LOG
    - gf_sys_clock
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_stream_on_rtcp_pck(GF_RTPInStream *stream, char
      *pck, u32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_stream.c:78,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/in_rtp_stream.c:79,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/in_rtp_stream.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: rtpin_stream_reset_queue
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_discard
    - gf_list_count
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void rtpin_stream_reset_queue(GF_RTPInStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_stream.c:116,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_stream.c:124,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/in_rtp_stream.c:118,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp_stream.c:121,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/in_rtp_stream.c:120,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_stream.c:126,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/in_rtp_stream.c:127,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_rtp_stream.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - stream
    - pck
    - cts
    argTypes:
    - GF_RTPInStream*
    - GF_FilterPacket*
    - u64
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: rtpin_stream_queue_pck
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_list_get
    - gf_list_pop_front
    - gf_list_count
    - gf_list_rem
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_stream_queue_pck(GF_RTPInStream *stream, GF_FilterPacket
      *pck, u64 cts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtp_depacketizer_reset
      Src: /src/gpac/src/filters/in_rtp_stream.c:46,1
    - Dst: gf_rtp_set_ssm
      Src: /src/gpac/src/filters/in_rtp_stream.c:59,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp_stream.c:57,1
    - Dst: gf_sk_group_unregister
      Src: /src/gpac/src/filters/in_rtp_stream.c:55,1
    - Dst: gf_rtp_initialize
      Src: /src/gpac/src/filters/in_rtp_stream.c:61,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_rtp_stream.c:65,1
    - Dst: gf_sk_group_register
      Src: /src/gpac/src/filters/in_rtp_stream.c:67,1
    - Dst: gf_rtp_reset_buffers
      Src: /src/gpac/src/filters/in_rtp_stream.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - ResetOnly
    argTypes:
    - GF_RTPInStream*
    - Bool
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: rtpin_stream_init
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_rtp_reset_buffers
    - gf_rtp_depacketizer_reset
    - gf_rtp_initialize
    - gf_sk_group_unregister
    - gf_rtp_set_ssm
    - gf_sk_group_register
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpin_stream_init(GF_RTPInStream *stream, Bool ResetOnly) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_rtp_stream.c:278,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_stream.c:281,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_rtp_stream.c:284,1
    - Dst: gf_rtp_new_ex
      Src: /src/gpac/src/filters/in_rtp_stream.c:284,1
    - Dst: memset
      Src: /src/gpac/src/filters/in_rtp_stream.c:286,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_stream.c:290,1
    - Dst: gf_sk_is_multicast_address
      Src: /src/gpac/src/filters/in_rtp_stream.c:295,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/filters/in_rtp_stream.c:302,1
    - Dst: rtpin_stream_del
      Src: /src/gpac/src/filters/in_rtp_stream.c:303,1
    - Dst: gf_rtp_setup_payload
      Src: /src/gpac/src/filters/in_rtp_stream.c:308,1
    - Dst: gf_rtp_enable_nat_keepalive
      Src: /src/gpac/src/filters/in_rtp_stream.c:314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - rtp
    - flow_ip
    - port
    - for_satip
    argTypes:
    - GF_RTPIn*
    - char*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 319
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 319
    functionName: rtpin_stream_new_standalone
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_rtp_enable_nat_keepalive
    - gf_malloc
    - gf_rtp_setup_transport
    - memset
    - gf_strdup
    - gf_filter_get_netcap_id
    - gf_rtp_setup_payload
    - gf_sk_is_multicast_address
    - GF_SAFEALLOC
    - rtpin_stream_del
    - gf_rtp_new_ex
    linkageType: ''
    returnType: GF_RTPInStream*
    signature: 'GF_RTPInStream *rtpin_stream_new_standalone(GF_RTPIn *rtp, const char
      *flow_ip, u32 port, Bool for_satip) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:523,1
    - Dst: gf_rtp_get_loss
      Src: /src/gpac/src/filters/in_rtp_stream.c:523,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:525,1
    - Dst: gf_rtsp_get_session_port
      Src: /src/gpac/src/filters/in_rtp_stream.c:525,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:526,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:530,1
    - Dst: gf_rtp_get_tcp_bytes_sent
      Src: /src/gpac/src/filters/in_rtp_stream.c:550,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:553,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:527,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:543,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:531,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:548,1
    - Dst: PROP_FLOAT
      Src: /src/gpac/src/filters/in_rtp_stream.c:523,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:525,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:526,1
    - Dst: gf_rtp_get_low_interleave_id
      Src: /src/gpac/src/filters/in_rtp_stream.c:526,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:530,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:553,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_rtp_stream.c:527,1
    - Dst: gf_rtp_get_hight_interleave_id
      Src: /src/gpac/src/filters/in_rtp_stream.c:527,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:536,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:531,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:543,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_rtp_stream.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 554
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 554
    functionName: rtpin_stream_update_stats
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_rtp_get_hight_interleave_id
    - gf_sys_clock
    - gf_rtp_get_low_interleave_id
    - gf_filter_pid_set_info_str
    - gf_rtsp_get_session_port
    - PROP_UINT
    - gf_rtp_get_tcp_bytes_sent
    - gf_rtp_get_loss
    - PROP_FLOAT
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_stream_update_stats(GF_RTPInStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_stream.c:661,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_stream.c:665,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/in_rtp_stream.c:679,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_stream.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_RTPIn*
    constantsTouched: []
    func_position:
      end: 682
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 682
    functionName: rtpin_adjust_sync
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_timestamp_rescale
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_adjust_sync(GF_RTPIn *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_stream_on_rtcp_pck
      Src: /src/gpac/src/filters/in_rtp_stream.c:734,1
    - Dst: rtpin_stream_on_rtp_pck
      Src: /src/gpac/src/filters/in_rtp_stream.c:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - sess
    - cbk
    - buffer
    - bufferSize
    - IsRTCP
    argTypes:
    - GF_RTSPSession*
    - void*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 739
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 739
    functionName: rtpin_rtsp_data_cbk
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - rtpin_stream_on_rtcp_pck
    - rtpin_stream_on_rtp_pck
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpin_rtsp_data_cbk(GF_RTSPSession *sess, void *cbk, u8 *buffer,
      u32 bufferSize, Bool IsRTCP) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/in_rtp_stream.c:748,1
    - Dst: gf_rtp_read_rtcp
      Src: /src/gpac/src/filters/in_rtp_stream.c:749,1
    - Dst: rtpin_stream_on_rtcp_pck
      Src: /src/gpac/src/filters/in_rtp_stream.c:752,1
    - Dst: gf_rtp_read_rtp
      Src: /src/gpac/src/filters/in_rtp_stream.c:758,1
    - Dst: gf_sk_group_sock_is_set
      Src: /src/gpac/src/filters/in_rtp_stream.c:757,1
    - Dst: rtpin_stream_on_rtp_pck
      Src: /src/gpac/src/filters/in_rtp_stream.c:761,1
    - Dst: gf_rtp_set_loss_rate
      Src: /src/gpac/src/filters/in_rtp_stream.c:770,1
    - Dst: gf_rtp_send_rtcp_report
      Src: /src/gpac/src/filters/in_rtp_stream.c:771,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:781,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_stream.c:783,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_stream.c:792,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 806
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 806
    functionName: rtpin_stream_read
    functionSourceFile: /src/gpac/src/filters/in_rtp_stream.c
    functionUses: []
    functionsReached:
    - rtpin_stream_on_rtcp_pck
    - gf_rtp_read_rtcp
    - gf_sk_group_sock_is_set
    - GF_LOG
    - gf_rtp_read_rtp
    - gf_rtp_send_rtcp_report
    - gf_sys_clock
    - rtpin_stream_on_rtp_pck
    - gf_rtp_set_loss_rate
    linkageType: ''
    returnType: u32
    signature: 'u32 rtpin_stream_read(GF_RTPInStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: ufadts_register
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufadts_register(GF_FilterSession *session) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewrite_adts.c:260,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_adts.c:265,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_adts.c:267,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:305,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:304,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:302,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:306,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:307,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:308,1
    - Dst: gf_m4a_write_config_bs
      Src: /src/gpac/src/filters/rewrite_adts.c:311,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:316,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_adts.c:335,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/rewrite_adts.c:385,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:322,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:364,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/rewrite_adts.c:338,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_adts.c:381,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/rewrite_adts.c:388,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewrite_adts.c:254,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:282,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_adts.c:279,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:315,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:328,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_adts.c:354,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:365,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:370,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_adts.c:384,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:366,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/rewrite_adts.c:336,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:360,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_adts.c:377,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_adts.c:246,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewrite_adts.c:251,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewrite_adts.c:253,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/rewrite_adts.c:264,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_adts.c:278,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:281,1
    - Dst: gf_timestamp_greater_or_equal
      Src: /src/gpac/src/filters/rewrite_adts.c:293,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/rewrite_adts.c:313,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:317,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:318,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_adts.c:357,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:369,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:367,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_adts.c:391,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_adts.c:275,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/rewrite_adts.c:291,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_adts.c:284,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:331,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/rewrite_adts.c:339,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/rewrite_adts.c:358,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:361,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:362,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:363,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:368,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_adts.c:390,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/rewrite_adts.c:372,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 121
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 393
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 393
    functionName: adtsmx_process
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_bs_write_data
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_m4a_write_config_bs
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - gf_filter_pck_set_byte_offset
    - gf_bs_write_int
    - gf_bs_get_position
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_timestamp_greater_or_equal
    - gf_bs_align
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adtsmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: ufadts_register
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufadts_register(GF_FilterSession *session) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewrite_adts.c:91,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:94,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_adts.c:117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_adts.c:119,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_adts.c:121,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:154,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:166,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:185,1
    - Dst: gf_m4a_write_program_config_element_bs
      Src: /src/gpac/src/filters/rewrite_adts.c:211,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/rewrite_adts.c:123,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_adts.c:145,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:206,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_adts.c:215,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:217,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:221,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_adts.c:238,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_adts.c:81,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewrite_adts.c:86,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_adts.c:118,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_adts.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:142,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_adts.c:121,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/rewrite_adts.c:149,1
    - Dst: gf_m4a_get_config
      Src: /src/gpac/src/filters/rewrite_adts.c:168,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:175,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:179,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_adts.c:212,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/rewrite_adts.c:210,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewrite_adts.c:114,1
    - Dst: memset
      Src: /src/gpac/src/filters/rewrite_adts.c:136,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_adts.c:131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/rewrite_adts.c:201,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/rewrite_adts.c:214,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/rewrite_adts.c:238,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 240
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 240
    functionName: adtsmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_bs_get_content
    - memset
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_m4a_get_config
    - gf_filter_get_udta
    - gf_bs_del
    - gf_crc_32
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_free
    - gf_m4a_write_program_config_element_bs
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err adtsmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_adts.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: latmmx_initialize
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err latmmx_initialize(GF_Filter*filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_adts.c:397,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/rewrite_adts.c:400,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/rewrite_adts.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: adtsmx_finalize
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void adtsmx_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: uflatm_register
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *uflatm_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: uflatm_register
    functionSourceFile: /src/gpac/src/filters/rewrite_adts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *uflatm_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/filters/dec_ttml.c:78,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttml.c:87,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:97,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:81,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttml.c:85,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/filters/dec_ttml.c:98,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:101,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_ttml.c:105,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_ttml.c:106,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_ttml.c:107,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:110,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_ttml.c:114,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_ttml.c:112,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_ttml.c:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTMLDec*
    constantsTouched: []
    func_position:
      end: 116
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 116
    functionName: ttmldec_update_size_info
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_sg_get_root_node
    - gf_filter_pid_get_property
    - gf_svg_parse_attribute
    - sprintf
    - gf_node_get_attribute_by_tag
    - gf_sg_get_scene_size_info
    - gf_scene_force_size
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: void
    signature: 'void ttmldec_update_size_info(GF_TTMLDec *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:214,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/filters/dec_ttml.c:225,1
    - Dst: ttmldec_toggle_display
      Src: /src/gpac/src/filters/dec_ttml.c:223,1
    - Dst: ttmldec_toggle_display
      Src: /src/gpac/src/filters/dec_ttml.c:231,1
    - Dst: ttmldec_toggle_display
      Src: /src/gpac/src/filters/dec_ttml.c:235,1
    - Dst: ttmldec_setup_scene
      Src: /src/gpac/src/filters/dec_ttml.c:250,1
    - Dst: ttmldec_toggle_display
      Src: /src/gpac/src/filters/dec_ttml.c:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 254
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 254
    functionName: ttmldec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - ttmldec_setup_scene
    - gf_filter_get_udta
    - gf_sg_del
    - ttmldec_toggle_display
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ttmldec_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:161,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_ttml.c:177,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_ttml.c:172,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_ttml.c:165,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_ttml.c:173,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_ttml.c:181,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ttml.c:182,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ttml.c:182,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_ttml.c:183,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_ttml.c:183,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttml.c:185,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_ttml.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: ttmldec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmldec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: svg_script_get_context
      Src: /src/gpac/src/filters/dec_ttml.c:262,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:290,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_ttml.c:276,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dec_ttml.c:278,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_ttml.c:290,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:291,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_ttml.c:291,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:292,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_ttml.c:292,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:293,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_ttml.c:295,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dec_ttml.c:296,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:298,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_ttml.c:294,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_ttml.c:293,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:294,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:296,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:295,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTMLDec*
    constantsTouched: []
    func_position:
      end: 302
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 302
    functionName: ttmldec_get_js_context
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - MAX
    - svg_script_get_context
    - JS_NewString
    - JS_NewInt32
    - JS_NewFloat64
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *ttmldec_get_js_context(GF_TTMLDec *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: ttmldec_update_arg
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmldec_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:524,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/filters/dec_ttml.c:529,1
    - Dst: ttmldec_toggle_display
      Src: /src/gpac/src/filters/dec_ttml.c:528,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_ttml.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: ttmldec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sg_del
    - gf_bs_del
    - ttmldec_toggle_display
    linkageType: ''
    returnType: void
    signature: 'void ttmldec_finalize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttmldec_update_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:200,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_ttml.c:206,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_ttml.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTMLDec*
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: ttmldec_toggle_display
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - ttmldec_update_size_info
    - gf_scene_register_extra_graph
    linkageType: ''
    returnType: void
    signature: 'static void ttmldec_toggle_display(GF_TTMLDec *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_ttml.c:126,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_ttml.c:128,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:129,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_ttml.c:149,1
    - Dst: gf_node_init
      Src: /src/gpac/src/filters/dec_ttml.c:154,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_ttml.c:127,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_ttml.c:136,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttml.c:141,1
    - Dst: gf_node_new
      Src: /src/gpac/src/filters/dec_ttml.c:140,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_ttml.c:142,1
    - Dst: gf_node_new
      Src: /src/gpac/src/filters/dec_ttml.c:132,1
    - Dst: gf_node_init
      Src: /src/gpac/src/filters/dec_ttml.c:138,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_ttml.c:150,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_ttml.c:151,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/filters/dec_ttml.c:123,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_ttml.c:133,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/filters/dec_ttml.c:134,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/filters/dec_ttml.c:135,1
    - Dst: ttmldec_update_size_info
      Src: /src/gpac/src/filters/dec_ttml.c:137,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dec_ttml.c:145,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_ttml.c:146,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_ttml.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TTMLDec*
    constantsTouched: []
    func_position:
      end: 156
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 156
    functionName: ttmldec_setup_scene
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - ttmldec_update_size_info
    - gf_node_list_add_child
    - gf_node_init
    - gf_sg_new_subscene
    - strcat
    - gf_sg_set_root_node
    - gf_node_get_attribute_by_name
    - gf_svg_parse_attribute
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - gf_sg_add_namespace
    - strcpy
    - gf_node_register
    - strstr
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: void
    signature: 'void ttmldec_setup_scene(GF_TTMLDec *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_ttml.c:332,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_ttml.c:351,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dec_ttml.c:371,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_ttml.c:366,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dec_ttml.c:369,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_ttml.c:367,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:386,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_ttml.c:390,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_ttml.c:397,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_ttml.c:405,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_ttml.c:438,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_ttml.c:456,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:471,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttml.c:428,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttml.c:418,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:473,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ttml.c:414,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_ttml.c:419,1
    - Dst: gf_sg_new
      Src: /src/gpac/src/filters/dec_ttml.c:448,1
    - Dst: dom_document_construct_external
      Src: /src/gpac/src/filters/dec_ttml.c:451,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/dec_ttml.c:464,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:319,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_ttml.c:323,1
    - Dst: ttmldec_get_js_context
      Src: /src/gpac/src/filters/dec_ttml.c:338,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ttml.c:340,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_ttml.c:348,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/filters/dec_ttml.c:358,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/filters/dec_ttml.c:363,1
    - Dst: gf_clock_time_absolute
      Src: /src/gpac/src/filters/dec_ttml.c:371,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/filters/dec_ttml.c:379,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_ttml.c:403,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_ttml.c:407,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dec_ttml.c:458,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_ttml.c:484,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:440,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dec_ttml.c:488,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dec_ttml.c:459,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:470,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_ttml.c:439,1
    - Dst: gf_sg_init_from_xml_node
      Src: /src/gpac/src/filters/dec_ttml.c:450,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dec_ttml.c:368,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_ttml.c:360,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_ttml.c:360,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dec_ttml.c:375,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:388,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_ttml.c:394,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dec_ttml.c:398,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_ttml.c:406,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_ttml.c:409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttml.c:415,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dec_ttml.c:450,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/filters/dec_ttml.c:435,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/filters/dec_ttml.c:463,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:472,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_ttml.c:483,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dec_ttml.c:441,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:475,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dec_ttml.c:490,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_ttml.c:454,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_ttml.c:427,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_ttml.c:331,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_ttml.c:329,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_ttml.c:359,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dec_ttml.c:373,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dec_ttml.c:374,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/dec_ttml.c:380,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:385,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:389,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_ttml.c:404,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_ttml.c:408,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dec_ttml.c:434,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dec_ttml.c:453,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_ttml.c:478,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_ttml.c:476,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dec_ttml.c:460,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dec_ttml.c:481,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 164
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 493
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 493
    functionName: ttmldec_process
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_sc_check_sys_frame
    - gf_malloc
    - gf_filter_pid_is_eos
    - gf_js_lock
    - gf_filter_pck_get_duration
    - JS_IsException
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - JS_ToInt32
    - gf_timestamp_rescale_signed
    - gf_filter_get_udta
    - gf_xml_dom_del
    - gf_bs_reassign_buffer
    - gf_xml_dom_new
    - gf_filter_pid_get_packet
    - JS_NewInt64
    - js_dump_error
    - gf_filter_ask_rt_reschedule
    - JS_IsNumber
    - JS_Call
    - gf_bs_read_u32
    - gf_bs_read_u8
    - JS_IsFunction
    - gf_timestamp_to_clocktime
    - gf_odm_check_buffering
    - gf_sg_new
    - gf_xml_dom_parse_string
    - ttmldec_get_js_context
    - gf_clock_time
    - gf_filter_post_process_task
    - memcpy
    - JS_NewFloat64
    - gf_free
    - JS_GetGlobalObject
    - gf_sg_init_from_xml_node
    - JS_GetPropertyStr
    - gf_clock_time_absolute
    - JS_FreeValue
    - gf_filter_pck_get_property
    - dom_document_construct_external
    - gf_bs_available
    - gf_xml_dom_get_root
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmldec_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_ttml.c:504,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dec_ttml.c:509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttml.c:507,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_ttml.c:513,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_ttml.c:510,1
    - Dst: ttmldec_update_arg
      Src: /src/gpac/src/filters/dec_ttml.c:517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: ttmldec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - gf_bs_new
    - ttmldec_update_arg
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttmldec_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: ttmldec_register
    functionSourceFile: /src/gpac/src/filters/dec_ttml.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ttmldec_register(GF_FilterSession *session) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1580,1
    - Dst: vtbdec_flush_frame
      Src: /src/gpac/src/filters/dec_vtb.c:1581,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dec_vtb.c:1611,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1617,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1619,1
    - Dst: gf_mpegv12_get_config
      Src: /src/gpac/src/filters/dec_vtb.c:1637,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1670,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1694,1
    - Dst: CMBlockBufferCreateWithMemoryBlock
      Src: /src/gpac/src/filters/dec_vtb.c:1710,1
    - Dst: CMSampleBufferCreate
      Src: /src/gpac/src/filters/dec_vtb.c:1718,1
    - Dst: VTDecompressionSessionDecodeFrame
      Src: /src/gpac/src/filters/dec_vtb.c:1731,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1737,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dec_vtb.c:1690,1
    - Dst: VTDecompressionSessionInvalidate
      Src: /src/gpac/src/filters/dec_vtb.c:1698,1
    - Dst: vtbdec_flush_frame
      Src: /src/gpac/src/filters/dec_vtb.c:1765,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1563,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_vtb.c:1565,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:1586,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_vtb.c:1590,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_vtb.c:1583,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1595,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1628,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1644,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1646,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1668,1
    - Dst: VTDecompressionSessionWaitForAsynchronousFrames
      Src: /src/gpac/src/filters/dec_vtb.c:1733,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1753,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vtb.c:1551,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1556,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1591,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_vtb.c:1599,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:1588,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_vtb.c:1594,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1652,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1713,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1714,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1724,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1745,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1725,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_vtb.c:1572,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1572,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:1572,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1587,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1603,1
    - Dst: vtbdec_parse_nal_units
      Src: /src/gpac/src/filters/dec_vtb.c:1668,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1684,1
    - Dst: vtbdec_flush_frame
      Src: /src/gpac/src/filters/dec_vtb.c:1685,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vtb.c:1705,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1728,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1701,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1736,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1722,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 182
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1766
    functionName: vtbdec_process
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_m4v_get_config
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - CMSampleBufferCreate
    - gf_filter_pck_get_data
    - gf_mpegv12_get_config
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_list_count
    - vtbdec_flush_frame
    - gf_filter_ask_rt_reschedule
    - VTDecompressionSessionDecodeFrame
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_list_get
    - CFRelease
    - VTDecompressionSessionWaitForAsynchronousFrames
    - VTDecompressionSessionInvalidate
    - vtbdec_init_decoder
    - vtbdec_parse_nal_units
    - CMBlockBufferCreateWithMemoryBlock
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_process(GF_Filter *filter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vtbdec_delete_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:2014,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_vtb.c:2028,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_vtb.c:2037,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:2044,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vtb.c:2013,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vtb.c:2041,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_vtb.c:2039,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_vtb.c:2024,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:2018,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_vtb.c:2025,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_vtb.c:2033,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vtb.c:2042,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_vtb.c:2034,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:2023,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:2026,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:2032,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:2035,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vtb.c:2043,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filters/dec_vtb.c:2045,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2046
    functionName: vtbdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_mx_del
    - gf_list_del
    - gf_list_count
    - vtbdec_delete_decoder
    - CFRelease
    - gf_free
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void vtbdec_finalize(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1461,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1462,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1468,1
    - Dst: CVPixelBufferGetPixelFormatType
      Src: /src/gpac/src/filters/dec_vtb.c:1474,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_vtb.c:1488,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_vtb.c:1513,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_vtb.c:1518,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_vtb.c:1525,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1527,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_vtb.c:1529,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:1461,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_vtb.c:1494,1
    - Dst: CVPixelBufferGetBaseAddressOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1497,1
    - Dst: CVPixelBufferGetBytesPerRowOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1498,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:1526,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:1528,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1534,1
    - Dst: vtbdec_send_output_frame
      Src: /src/gpac/src/filters/dec_vtb.c:1457,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_vtb.c:1460,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1459,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:1461,1
    - Dst: CVPixelBufferLockBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1465,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1470,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:1469,1
    - Dst: CVPixelBufferGetPlaneCount
      Src: /src/gpac/src/filters/dec_vtb.c:1484,1
    - Dst: CVPixelBufferGetHeightOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1499,1
    - Dst: CVPixelBufferUnlockBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1533,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1467,1
    - Dst: CVPixelBufferGetBytesPerRowOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1486,1
    - Dst: CVPixelBufferGetBaseAddressOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1493,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_vtb.c:1524,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_vtb.c:1531,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:1535,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1536,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_VTBDecCtx*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1538
    functionName: vtbdec_flush_frame
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - gf_filter_pck_set_dependency_flags
    - GF_LOG
    - vtbdec_send_output_frame
    - gf_filter_pck_get_timescale
    - gf_filter_pck_new_alloc
    - CVPixelBufferGetBaseAddressOfPlane
    - gf_list_pop_front
    - CVPixelBufferGetHeightOfPlane
    - CVPixelBufferGetPlaneCount
    - gf_filter_pck_get_dts
    - CVPixelBufferUnlockBaseAddress
    - gf_mx_p
    - CVPixelBufferGetPixelFormatType
    - memcpy
    - CVPixelBufferGetBytesPerRowOfPlane
    - gf_mx_v
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - CVPixelBufferLockBaseAddress
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_flush_frame(GF_Filter *filter, GF_VTBDecCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/dec_vtb.c:1770,1
    - Dst: CVBufferRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1776,1
    - Dst: CVBufferRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1777,1
    - Dst: CVBufferRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1778,1
    - Dst: CVPixelBufferUnlockBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1773,1
    - Dst: GF_CVOpenGLTextureCacheFlush
      Src: /src/gpac/src/filters/dec_vtb.c:1780,1
    - Dst: CVPixelBufferRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1784,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filters/dec_vtb.c:1788,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1789,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:1790,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1792
    functionName: vtbframe_release
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - CVPixelBufferUnlockBaseAddress
    - CVPixelBufferRelease
    - gf_filter_pck_get_frame_interface
    - gf_mx_p
    - safe_int_dec
    - CVBufferRelease
    - GF_CVOpenGLTextureCacheFlush
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void vtbframe_release(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: myGetGLContext
      Src: /src/gpac/src/filters/dec_vtb.c:1856,1
    - Dst: CVOpenGLESTextureCacheCreate
      Src: /src/gpac/src/filters/dec_vtb.c:1866,1
    - Dst: CVOpenGLTextureCacheCreate
      Src: /src/gpac/src/filters/dec_vtb.c:1868,1
    - Dst: CGLGetPixelFormat
      Src: /src/gpac/src/filters/dec_vtb.c:1868,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1871,1
    - Dst: CVPixelBufferLockBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1877,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1879,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/gpac/src/filters/dec_vtb.c:1885,1
    - Dst: CVPixelBufferGetPlaneCount
      Src: /src/gpac/src/filters/dec_vtb.c:1886,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1888,1
    - Dst: CVOpenGLTextureCacheCreateTextureFromImage
      Src: /src/gpac/src/filters/dec_vtb.c:1915,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1919,1
    - Dst: GF_CVOpenGLTextureGetTarget
      Src: /src/gpac/src/filters/dec_vtb.c:1923,1
    - Dst: GF_CVOpenGLTextureGetName
      Src: /src/gpac/src/filters/dec_vtb.c:1924,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1892,1
    - Dst: CVOpenGLESTextureCacheCreateTextureFromImage
      Src: /src/gpac/src/filters/dec_vtb.c:1913,1
    - Dst: CVPixelBufferGetPlaneCount
      Src: /src/gpac/src/filters/dec_vtb.c:1887,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 5
    argNames:
    - frame
    - plane_idx
    - gl_tex_format
    - gl_tex_id
    - texcoordmatrix
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u32*
    - u32*
    - GF_CodecMatrix*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1927
    functionName: vtbframe_get_gl_texture
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - CVOpenGLTextureCacheCreateTextureFromImage
    - CVOpenGLESTextureCacheCreateTextureFromImage
    - CGLGetPixelFormat
    - GF_LOG
    - CVPixelBufferLockBaseAddress
    - myGetGLContext
    - GF_CVOpenGLTextureGetName
    - CVPixelBufferGetPlaneCount
    - GF_CVOpenGLTextureGetTarget
    - CVOpenGLESTextureCacheCreate
    - CVPixelBufferIsPlanar
    - CVOpenGLTextureCacheCreate
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtbframe_get_gl_texture(GF_FilterFrameInterface *frame, u32
      plane_idx, u32 *gl_tex_format, u32 *gl_tex_id, GF_CodecMatrix * texcoordmatrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2120
    functionName: vtbdec_register
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vtbdec_register(GF_FilterSession *session) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vtb.c:853,1
    - Dst: gf_avc_read_sps_bs
      Src: /src/gpac/src/filters/dec_vtb.c:876,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:886,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:892,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:913,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:914,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_vtb.c:910,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_vtb.c:854,1
    - Dst: gf_hevc_read_sps_bs
      Src: /src/gpac/src/filters/dec_vtb.c:859,1
    - Dst: gf_hevc_read_vps_bs
      Src: /src/gpac/src/filters/dec_vtb.c:869,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_vtb.c:894,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:888,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dec_vtb.c:891,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_vtb.c:905,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_vtb.c:903,1
    - Dst: gf_hevc_read_pps_bs
      Src: /src/gpac/src/filters/dec_vtb.c:864,1
    - Dst: gf_avc_read_pps_bs
      Src: /src/gpac/src/filters/dec_vtb.c:879,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:893,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:907,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 5
    argNames:
    - ctx
    - data
    - size
    - is_sps
    - hevc_nal_type
    argTypes:
    - GF_VTBDecCtx*
    - char*
    - u32
    - Bool
    - u8
    constantsTouched: []
    func_position:
      end: 916
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 916
    functionName: vtbdec_register_param_sets
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_bs_reassign_buffer
    - gf_hevc_read_pps_bs
    - gf_list_get
    - gf_avc_read_pps_bs
    - gf_hevc_read_vps_bs
    - memcmp
    - gf_crc_32
    - gf_list_count
    - gf_bs_new
    - gf_avc_read_sps_bs
    - memcpy
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    - gf_hevc_read_sps_bs
    linkageType: ''
    returnType: void
    signature: 'static void vtbdec_register_param_sets(GF_VTBDecCtx *ctx, char *data,
      u32 size, Bool is_sps, u8 hevc_nal_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFNumberCreate
      Src: /src/gpac/src/filters/dec_vtb.c:295,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:299,1
    - Dst: CFNumberCreate
      Src: /src/gpac/src/filters/dec_vtb.c:296,1
    - Dst: CFNumberCreate
      Src: /src/gpac/src/filters/dec_vtb.c:297,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:300,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:302,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:303,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:304,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:305,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:306,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:311,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:314,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:307,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - pix_fmt
    argTypes:
    - GF_VTBDecCtx*
    - OSType
    constantsTouched: []
    func_position:
      end: 318
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 318
    functionName: vtbdec_create_buffer_attributes
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - CFDictionaryCreateMutable
    - CFNumberCreate
    - CFDictionarySetValue
    - CFRelease
    linkageType: ''
    returnType: CFDictionaryRef
    signature: 'static CFDictionaryRef vtbdec_create_buffer_attributes(GF_VTBDecCtx
      *ctx, OSType pix_fmt) '
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:371,1
    - Dst: gf_odf_avc_cfg_new
      Src: /src/gpac/src/filters/dec_vtb.c:459,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dec_vtb.c:474,1
    - Dst: CFSTR
      Src: /src/gpac/src/filters/dec_vtb.c:480,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:606,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/dec_vtb.c:699,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:828,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:607,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:378,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dec_vtb.c:473,1
    - Dst: CFDataCreate
      Src: /src/gpac/src/filters/dec_vtb.c:702,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:833,1
    - Dst: gf_odf_desc_esd_new
      Src: /src/gpac/src/filters/dec_vtb.c:689,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:379,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:470,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:482,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:634,1
    - Dst: vtbdec_create_buffer_attributes
      Src: /src/gpac/src/filters/dec_vtb.c:764,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:828,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:830,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dec_vtb.c:686,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:772,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_vtb.c:832,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:833,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:600,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_vtb.c:693,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:628,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/dec_vtb.c:695,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_vtb.c:623,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_vtb.c:610,1
    - Dst: CFDataCreate
      Src: /src/gpac/src/filters/dec_vtb.c:478,1
    - Dst: gf_odf_desc_write_bs
      Src: /src/gpac/src/filters/dec_vtb.c:694,1
    - Dst: CMVideoFormatDescriptionCreate
      Src: /src/gpac/src/filters/dec_vtb.c:758,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:778,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dec_vtb.c:621,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:358,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:481,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:486,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:491,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:629,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/dec_vtb.c:619,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:598,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:617,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:710,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:394,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:480,1
    - Dst: gf_odf_hevc_cfg_new
      Src: /src/gpac/src/filters/dec_vtb.c:573,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:599,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:708,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:357,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:491,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/filters/dec_vtb.c:407,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:477,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:625,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_vtb.c:602,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:383,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:502,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:701,1
    - Dst: CFSTR
      Src: /src/gpac/src/filters/dec_vtb.c:706,1
    - Dst: VTDecompressionSessionCreate
      Src: /src/gpac/src/filters/dec_vtb.c:775,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:829,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dec_vtb.c:835,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/dec_vtb.c:841,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:503,1
    - Dst: VTDecompressionSessionCreate
      Src: /src/gpac/src/filters/dec_vtb.c:783,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:788,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:761,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:790,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:484,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:829,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:830,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:367,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:389,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/dec_vtb.c:405,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/dec_vtb.c:472,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:471,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:706,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vtb.c:692,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:511,1
    - Dst: CFSTR
      Src: /src/gpac/src/filters/dec_vtb.c:628,1
    - Dst: CFDictionarySetValue
      Src: /src/gpac/src/filters/dec_vtb.c:707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:390,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:491,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:519,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:512,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/dec_vtb.c:620,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:632,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:771,1
    - Dst: CFDataCreate
      Src: /src/gpac/src/filters/dec_vtb.c:626,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:360,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:520,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_vtb.c:594,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vtb.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:703,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:832,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/gpac/src/filters/dec_vtb.c:337,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:371,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_vtb.c:475,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:608,1
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:630,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:831,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dec_vtb.c:839,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 418
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_VTBDecCtx*
    constantsTouched: []
    func_position:
      end: 844
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 844
    functionName: vtbdec_init_decoder
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_get_content
    - snprintf
    - gf_m4v_get_config
    - gf_odf_desc_del
    - GF_SAFEALLOC
    - gf_avc_read_pps
    - gf_odf_desc_esd_new
    - gf_bs_del
    - gf_crc_32
    - CFDictionarySetValue
    - gf_list_count
    - CFDataCreate
    - gf_odf_avc_cfg_del
    - gf_odf_hevc_cfg_write
    - PROP_UINT
    - VTDecompressionSessionCreate
    - gf_odf_hevc_cfg_new
    - gf_list_new
    - gf_odf_avc_cfg_new
    - gf_list_reset
    - gf_list_get
    - CMVideoFormatDescriptionCreate
    - gf_filter_set_name
    - CFDictionaryCreateMutable
    - gf_odf_avc_cfg_write
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_avc_read_sps
    - CFRelease
    - gf_bs_write_u32
    - vtbdec_create_buffer_attributes
    - gf_free
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_del
    - PROP_FRAC
    - gf_opts_get_bool
    - gf_odf_desc_write_bs
    - CFSTR
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_init_decoder(GF_Filter *filter, GF_VTBDecCtx
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:924,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:931,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/dec_vtb.c:934,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:926,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:936,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:937,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_vtb.c:938,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - is_sps
    - idx
    argTypes:
    - GF_VTBDecCtx*
    - Bool
    - s32
    constantsTouched: []
    func_position:
      end: 946
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 946
    functionName: vtbdec_purge_param_sets
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memcmp
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 vtbdec_purge_param_sets(GF_VTBDecCtx *ctx, Bool is_sps,
      s32 idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1935,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1940,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1937,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_vtb.c:1936,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1940,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:1940,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:1940,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filters/dec_vtb.c:1952,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/dec_vtb.c:1954,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_vtb.c:1957,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_vtb.c:1966,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_vtb.c:1963,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_vtb.c:1961,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:1962,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_vtb.c:1958,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:1960,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_VTBDecCtx*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1968
    functionName: vtbdec_send_output_frame
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_get_timescale
    - gf_filter_pck_set_dts
    - safe_int_inc
    - gf_filter_pck_set_dependency_flags
    - gf_list_pop_front
    - GF_LOG
    - gf_mx_p
    - gf_filter_pck_merge_properties
    - gf_filter_pck_new_frame_interface
    - gf_mx_v
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_send_output_frame(GF_Filter *filter, GF_VTBDecCtx
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:950,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_vtb.c:954,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:952,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vtb.c:953,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:951,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_vtb.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GF_List*
    constantsTouched: []
    func_position:
      end: 957
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 957
    functionName: vtbdec_del_param_list
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_list_rem
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void vtbdec_del_param_list(GF_List *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/gpac/src/filters/dec_vtb.c:1234,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1245,1
    - Dst: VTDecompressionSessionInvalidate
      Src: /src/gpac/src/filters/dec_vtb.c:1238,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1241,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VTBDecCtx*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1247
    functionName: vtbdec_delete_decoder
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - CFRelease
    - VTDecompressionSessionInvalidate
    - vtbdec_del_param_list
    linkageType: ''
    returnType: void
    signature: 'static void vtbdec_delete_decoder(GF_VTBDecCtx *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/dec_vtb.c:196,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:202,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_vtb.c:209,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:245,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:256,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:200,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_vtb.c:227,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_vtb.c:235,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:240,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:242,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:250,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:255,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:278,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:284,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:206,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:222,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_vtb.c:239,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:230,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_vtb.c:224,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:247,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:248,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_vtb.c:276,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:283,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:210,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:220,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_vtb.c:221,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_vtb.c:230,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vtb.c:238,1
    - Dst: CVPixelBufferRetain
      Src: /src/gpac/src/filters/dec_vtb.c:233,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vtb.c:257,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dec_vtb.c:271,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 7
    argNames:
    - opaque
    - sourceFrameRefCon
    - status
    - flags
    - image
    - pts
    - duration
    argTypes:
    - void*
    - void*
    - OSStatus
    - VTDecodeInfoFlags
    - CVImageBufferRef
    - CMTime
    - CMTime
    constantsTouched: []
    func_position:
      end: 285
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 285
    functionName: vtbdec_on_frame
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - memset
    - GF_LOG
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_timescale
    - GF_SAFEALLOC
    - gf_list_pop_back
    - gf_list_count
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_list_insert
    - gf_list_get
    - gf_mx_p
    - CVPixelBufferRetain
    - gf_mx_v
    - gf_filter_pck_ref_props
    - gf_filter_pck_get_seek_flag
    - gf_timestamp_greater
    linkageType: ''
    returnType: void
    signature: 'static void vtbdec_on_frame(void *opaque, void *sourceFrameRefCon,
      OSStatus status, VTDecodeInfoFlags flags, CVImageBufferRef image, CMTime pts,
      CMTime duration) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1030,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_vtb.c:1032,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/dec_vtb.c:1095,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:1075,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1185,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1063,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vtb.c:965,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:1002,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dec_vtb.c:1012,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1076,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1099,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1122,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1108,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1227,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1096,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:1023,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1032,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1097,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/dec_vtb.c:968,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:997,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1027,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1135,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1182,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_vtb.c:1013,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1029,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1065,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:1117,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_vtb.c:1199,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1145,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/dec_vtb.c:1126,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_vtb.c:970,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:1016,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/dec_vtb.c:1054,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:1150,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1202,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_vtb.c:1025,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1029,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1031,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1168,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/dec_vtb.c:1194,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1199,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1200,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_vtb.c:975,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:983,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:989,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1026,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1074,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1179,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:1212,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1114,1
    - Dst: vtbdec_flush_frame
      Src: /src/gpac/src/filters/dec_vtb.c:977,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1017,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1031,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1033,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1200,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_vtb.c:1131,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_vtb.c:1036,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_vtb.c:1057,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:988,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1026,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1105,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:1148,1
    - Dst: vtbdec_flush_frame
      Src: /src/gpac/src/filters/dec_vtb.c:1046,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1064,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1102,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1033,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1038,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/dec_vtb.c:1049,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1149,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1036,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_vtb.c:1062,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1132,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1103,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1131,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:1077,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/dec_vtb.c:1165,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1189,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1121,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:976,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1038,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1063,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vtb.c:1111,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1189,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1203,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1223,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:969,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:998,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1028,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vtb.c:1030,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1121,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vtb.c:1132,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:1146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1167,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1171,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1189,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_vtb.c:1050,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_vtb.c:1058,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:981,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vtb.c:1022,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1045,1
    - Dst: vtbdec_del_param_list
      Src: /src/gpac/src/filters/dec_vtb.c:1147,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_vtb.c:1172,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 295
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1228
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 1228
    functionName: vtbdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - gf_odf_avc_cfg_read
    - gf_filter_pid_remove
    - vtbdec_register_param_sets
    - gf_filter_get_udta
    - gf_list_find
    - gf_crc_32
    - gf_odf_hevc_cfg_read
    - gf_list_count
    - vtbdec_flush_frame
    - gf_filter_pid_copy_properties
    - vtbdec_del_param_list
    - gf_odf_avc_cfg_del
    - PROP_UINT
    - gf_list_new
    - gf_list_del_item
    - gf_assert
    - gf_list_insert
    - gf_list_get
    - gf_filter_pid_set_property
    - gf_filter_set_max_extra_input_pids
    - gf_filter_pid_get_property
    - vtbdec_init_decoder
    - gf_odf_hevc_cfg_del
    - gf_filter_pid_check_caps
    - PROP_FRAC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dec_vtb.c:1295,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1389,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_vtb.c:1355,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/dec_vtb.c:1341,1
    - Dst: gf_media_nalu_next_start_code
      Src: /src/gpac/src/filters/dec_vtb.c:1265,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:1269,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1363,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vtb.c:1354,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_vtb.c:1403,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/dec_vtb.c:1412,1
    - Dst: vtbdec_purge_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1302,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_vtb.c:1318,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1389,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vtb.c:1401,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/dec_vtb.c:1411,1
    - Dst: vtbdec_purge_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1428,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1290,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vtb.c:1317,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1324,1
    - Dst: vtbdec_register_param_sets
      Src: /src/gpac/src/filters/dec_vtb.c:1328,1
    - Dst: vtbdec_init_decoder
      Src: /src/gpac/src/filters/dec_vtb.c:1390,1
    - Dst: gf_hevc_parse_nalu_bs
      Src: /src/gpac/src/filters/dec_vtb.c:1357,1
    - Dst: gf_bs_get_content_no_truncate
      Src: /src/gpac/src/filters/dec_vtb.c:1442,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 152
    argCount: 7
    argNames:
    - filter
    - ctx
    - inBuffer
    - inBufferLength
    - dts
    - out_buffer
    - out_size
    argTypes:
    - GF_Filter*
    - GF_VTBDecCtx*
    - char*
    - u32
    - u64
    - char**
    - u32*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1446
    functionName: vtbdec_parse_nal_units
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_bs_get_content_no_truncate
    - gf_bs_reassign_buffer
    - gf_list_count
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_new
    - gf_media_nalu_next_start_code
    - vtbdec_init_decoder
    - gf_bs_write_u32
    - vtbdec_purge_param_sets
    - gf_avc_parse_nalu
    - gf_hevc_parse_nalu_bs
    - gf_assert
    - vtbdec_register_param_sets
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_parse_nal_units(GF_Filter *filter, GF_VTBDecCtx
      *ctx, char *inBuffer, u32 inBufferLength, u64 dts, char **out_buffer, u32 *out_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vtb.c:1801,1
    - Dst: CVPixelBufferGetBaseAddressOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1813,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vtb.c:1805,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/gpac/src/filters/dec_vtb.c:1812,1
    - Dst: CVPixelBufferLockBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1803,1
    - Dst: CVPixelBufferGetBytesPerRowOfPlane
      Src: /src/gpac/src/filters/dec_vtb.c:1815,1
    - Dst: CVPixelBufferGetBytesPerRow
      Src: /src/gpac/src/filters/dec_vtb.c:1819,1
    - Dst: CVPixelBufferGetBaseAddress
      Src: /src/gpac/src/filters/dec_vtb.c:1820,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1825
    functionName: vtbframe_get_plane
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - CVPixelBufferGetBaseAddressOfPlane
    - CVPixelBufferGetBytesPerRow
    - CVPixelBufferGetBaseAddress
    - GF_LOG
    - CVPixelBufferLockBaseAddress
    - CVPixelBufferGetBytesPerRowOfPlane
    - CVPixelBufferIsPlanar
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vtbframe_get_plane(GF_FilterFrameInterface *frame, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vtb.c:1975,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_vtb.c:1980,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_vtb.c:1979,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_vtb.c:1978,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filters/dec_vtb.c:1977,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_vtb.c:1982,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filters/dec_vtb.c:1984,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1991
    functionName: vtbdec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_list_count
    - gf_mx_p
    - gf_mx_v
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vtbdec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGLGetCurrentContext
      Src: /src/gpac/src/filters/dec_vtb.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1840
    functionName: myGetGLContext
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - CGLGetCurrentContext
    linkageType: ''
    returnType: void*
    signature: 'void *myGetGLContext() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vtb.c:1995,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:2002,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filters/dec_vtb.c:2004,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:2001,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_vtb.c:2003,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/dec_vtb.c:2006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2009
    functionName: vtbdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_vtb.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_mx_new
    - gf_list_new
    - gf_filter_force_main_thread
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtbdec_initialize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_get_root_node
      Src: /src/gpac/src/filters/dec_webvtt.c:87,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webvtt.c:96,1
    - Dst: gf_sg_get_scene_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:90,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:107,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webvtt.c:94,1
    - Dst: gf_scene_force_size
      Src: /src/gpac/src/filters/dec_webvtt.c:108,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:111,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_webvtt.c:113,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_webvtt.c:114,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_webvtt.c:115,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_webvtt.c:120,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:118,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_webvtt.c:122,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_webvtt.c:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VTTDec*
    constantsTouched: []
    func_position:
      end: 125
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 125
    functionName: vttd_update_size_info
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_sg_get_root_node
    - gf_filter_pid_get_property
    - gf_svg_parse_attribute
    - sprintf
    - gf_node_get_attribute_by_tag
    - gf_sg_get_scene_size_info
    - gf_scene_force_size
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: void
    signature: 'void vttd_update_size_info(GF_VTTDec *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_webvtt.c:177,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webvtt.c:199,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webvtt.c:200,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_webvtt.c:211,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_webvtt.c:220,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_webvtt.c:224,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_webvtt.c:185,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_webvtt.c:198,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webvtt.c:203,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_webvtt.c:218,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_webvtt.c:184,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webvtt.c:187,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_webvtt.c:199,1
    - Dst: gf_isom_box_parse
      Src: /src/gpac/src/filters/dec_webvtt.c:215,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_webvtt.c:200,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:173,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_webvtt.c:189,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_webvtt.c:194,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_webvtt.c:206,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_webvtt.c:212,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_webvtt.c:221,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 227
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 227
    functionName: vttd_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_bs_read_u32
    - gf_malloc
    - gf_bs_del
    - gf_crc_32
    - gf_filter_pid_get_property
    - gf_isom_box_parse
    - gf_filter_pid_copy_properties
    - gf_isom_box_del
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - memcpy
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vttd_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:250,1
    - Dst: vttd_toggle_display
      Src: /src/gpac/src/filters/dec_webvtt.c:259,1
    - Dst: vttd_toggle_display
      Src: /src/gpac/src/filters/dec_webvtt.c:267,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/filters/dec_webvtt.c:261,1
    - Dst: vttd_toggle_display
      Src: /src/gpac/src/filters/dec_webvtt.c:271,1
    - Dst: vttd_setup_scene
      Src: /src/gpac/src/filters/dec_webvtt.c:286,1
    - Dst: vttd_toggle_display
      Src: /src/gpac/src/filters/dec_webvtt.c:287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: vttd_process_event
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - vttd_toggle_display
    - gf_filter_get_udta
    - vttd_setup_scene
    - gf_sg_del
    linkageType: ''
    returnType: Bool
    signature: 'static Bool vttd_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: svg_script_get_context
      Src: /src/gpac/src/filters/dec_webvtt.c:297,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_webvtt.c:311,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dec_webvtt.c:313,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:325,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_webvtt.c:325,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:326,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:326,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:327,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:327,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:328,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_webvtt.c:329,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_webvtt.c:328,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:332,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dec_webvtt.c:330,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:330,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - sg
    argTypes:
    - GF_VTTDec*
    - GF_SceneGraph*
    constantsTouched: []
    func_position:
      end: 336
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 336
    functionName: vtt_script_get_context
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - MAX
    - svg_script_get_context
    - JS_NewString
    - JS_NewFloat64
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *vtt_script_get_context(GF_VTTDec *ctx, GF_SceneGraph *sg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtt_script_get_context
      Src: /src/gpac/src/filters/dec_webvtt.c:387,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:392,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dec_webvtt.c:393,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_webvtt.c:390,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_webvtt.c:391,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dec_webvtt.c:396,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dec_webvtt.c:397,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dec_webvtt.c:398,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:401,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:403,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_webvtt.c:405,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - GF_VTTDec*
    - GF_Node*
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: vttd_js_remove_cues
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - vtt_script_get_context
    - JS_IsFunction
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - JS_Call
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vttd_js_remove_cues(GF_VTTDec *ctx, GF_Node *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: vtt_update_arg
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtt_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:532,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_webvtt.c:541,1
    - Dst: gf_sg_del
      Src: /src/gpac/src/filters/dec_webvtt.c:538,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_webvtt.c:542,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_webvtt.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: vttd_finalize
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_scene_register_extra_graph
    - gf_sg_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void vttd_finalize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vttd_update_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:236,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_webvtt.c:237,1
    - Dst: gf_scene_register_extra_graph
      Src: /src/gpac/src/filters/dec_webvtt.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VTTDec*
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: vttd_toggle_display
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_scene_register_extra_graph
    - vttd_update_size_info
    linkageType: ''
    returnType: void
    signature: 'static void vttd_toggle_display(GF_VTTDec *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_webvtt.c:142,1
    - Dst: gf_sg_set_root_node
      Src: /src/gpac/src/filters/dec_webvtt.c:143,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_webvtt.c:145,1
    - Dst: gf_node_new
      Src: /src/gpac/src/filters/dec_webvtt.c:149,1
    - Dst: gf_node_list_add_child
      Src: /src/gpac/src/filters/dec_webvtt.c:151,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dec_webvtt.c:154,1
    - Dst: gf_node_get_attribute_by_tag
      Src: /src/gpac/src/filters/dec_webvtt.c:153,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_webvtt.c:155,1
    - Dst: gf_node_register
      Src: /src/gpac/src/filters/dec_webvtt.c:150,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_webvtt.c:137,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:138,1
    - Dst: gf_node_init
      Src: /src/gpac/src/filters/dec_webvtt.c:147,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dec_webvtt.c:158,1
    - Dst: gf_svg_parse_attribute
      Src: /src/gpac/src/filters/dec_webvtt.c:160,1
    - Dst: gf_sg_new_subscene
      Src: /src/gpac/src/filters/dec_webvtt.c:132,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_webvtt.c:136,1
    - Dst: gf_node_get_attribute_by_name
      Src: /src/gpac/src/filters/dec_webvtt.c:144,1
    - Dst: vttd_update_size_info
      Src: /src/gpac/src/filters/dec_webvtt.c:146,1
    - Dst: gf_sg_add_namespace
      Src: /src/gpac/src/filters/dec_webvtt.c:135,1
    - Dst: gf_node_new
      Src: /src/gpac/src/filters/dec_webvtt.c:141,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_webvtt.c:159,1
    - Dst: gf_node_init
      Src: /src/gpac/src/filters/dec_webvtt.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VTTDec*
    constantsTouched: []
    func_position:
      end: 165
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 165
    functionName: vttd_setup_scene
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_node_list_add_child
    - gf_node_init
    - gf_sg_new_subscene
    - strcat
    - gf_sg_set_root_node
    - gf_node_get_attribute_by_name
    - gf_svg_parse_attribute
    - vttd_update_size_info
    - gf_node_get_attribute_by_tag
    - gf_node_new
    - gf_sg_add_namespace
    - strcpy
    - gf_node_register
    - strstr
    - gf_sg_set_scene_size_info
    linkageType: ''
    returnType: void
    signature: 'void vttd_setup_scene(GF_VTTDec *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:355,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:359,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dec_webvtt.c:363,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:369,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dec_webvtt.c:362,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:373,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:376,1
    - Dst: vtt_script_get_context
      Src: /src/gpac/src/filters/dec_webvtt.c:344,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dec_webvtt.c:349,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:356,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:360,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:372,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_webvtt.c:378,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dec_webvtt.c:347,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:357,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:367,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:371,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dec_webvtt.c:350,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dec_webvtt.c:348,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dec_webvtt.c:358,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dec_webvtt.c:364,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:368,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:370,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dec_webvtt.c:375,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 8
    argNames:
    - ctx
    - node
    - id
    - start
    - end
    - settings
    - payload
    - comment
    argTypes:
    - GF_VTTDec*
    - GF_Node*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 380
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 380
    functionName: vttd_js_add_cue
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - vtt_script_get_context
    - JS_IsFunction
    - gf_js_lock
    - JS_IsException
    - JS_NewString
    - js_dump_error
    - JS_Call
    - JS_GetGlobalObject
    - JS_GetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vttd_js_add_cue(GF_VTTDec *ctx, GF_Node *node, const
      char *id, const char *start, const char *end, const char *settings, const char
      *payload, char *comment) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:430,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_webvtt.c:457,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_webvtt.c:466,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_webvtt.c:481,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webvtt.c:487,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_webvtt.c:488,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_webvtt.c:493,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/filters/dec_webvtt.c:442,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/filters/dec_webvtt.c:443,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/dec_webvtt.c:475,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_webvtt.c:483,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_webvtt.c:483,1
    - Dst: gf_webvtt_parse_cues_from_data
      Src: /src/gpac/src/filters/dec_webvtt.c:485,1
    - Dst: vttd_js_remove_cues
      Src: /src/gpac/src/filters/dec_webvtt.c:486,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_webvtt.c:490,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/dec_webvtt.c:491,1
    - Dst: gf_webvtt_cue_del
      Src: /src/gpac/src/filters/dec_webvtt.c:496,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_webvtt.c:499,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:417,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_webvtt.c:427,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:421,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:448,1
    - Dst: gf_sc_sys_frame_pending
      Src: /src/gpac/src/filters/dec_webvtt.c:455,1
    - Dst: gf_sc_check_sys_frame
      Src: /src/gpac/src/filters/dec_webvtt.c:478,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_webvtt.c:492,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:429,1
    - Dst: vttd_js_remove_cues
      Src: /src/gpac/src/filters/dec_webvtt.c:444,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:451,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_webvtt.c:458,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_webvtt.c:477,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_webvtt.c:477,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dec_webvtt.c:469,1
    - Dst: vttd_js_add_cue
      Src: /src/gpac/src/filters/dec_webvtt.c:494,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_webvtt.c:500,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 502
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 502
    functionName: vttd_process
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_sc_check_sys_frame
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_timestamp_rescale_signed
    - gf_filter_get_udta
    - gf_list_del
    - gf_filter_pid_get_packet
    - gf_sc_sys_frame_pending
    - gf_list_count
    - vttd_js_add_cue
    - gf_webvtt_parse_cues_from_data
    - gf_webvtt_cue_del
    - gf_list_get
    - gf_timestamp_to_clocktime
    - sprintf
    - gf_clock_time
    - vttd_js_remove_cues
    - gf_list_rem
    - gf_clock_diff
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vttd_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_webvtt.c:513,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dec_webvtt.c:518,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webvtt.c:516,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_webvtt.c:522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_webvtt.c:519,1
    - Dst: vtt_update_arg
      Src: /src/gpac/src/filters/dec_webvtt.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: vttd_initialize
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - gf_list_new
    - vtt_update_arg
    - gf_file_exists
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vttd_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: vttdec_register
    functionSourceFile: /src/gpac/src/filters/dec_webvtt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vttdec_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_rawpcm.c:474,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:475,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:476,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:478,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:477,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:479,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_rawpcm.c:481,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_rawpcm.c:485,1
    - Dst: gf_audio_fmt_all_shortnames
      Src: /src/gpac/src/filters/reframe_rawpcm.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: pcmreframe_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_del
    - GF_4CC
    - gf_bs_new
    - gf_audio_fmt_all_shortnames
    linkageType: ''
    returnType: char*
    signature: 'static const char *pcmreframe_probe_data(const u8 *data, u32 size,
      GF_FilterProbeScore *score) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:216,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_rawpcm.c:221,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:217,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_PCMReframeCtx*
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: pcmreframe_flush_packet
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_send
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void pcmreframe_flush_packet(GF_PCMReframeCtx *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_parse
      Src: /src/gpac/src/filters/reframe_rawpcm.c:77,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawpcm.c:83,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/reframe_rawpcm.c:94,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:109,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:108,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/reframe_rawpcm.c:107,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:112,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:114,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:118,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:135,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawpcm.c:61,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_rawpcm.c:66,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:82,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:111,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:113,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:115,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:116,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:118,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:124,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:135,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:127,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:75,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:91,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:97,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:108,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:109,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_rawpcm.c:106,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:112,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:114,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:124,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_rawpcm.c:71,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:87,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_rawpcm.c:104,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:111,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:113,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:115,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:116,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_rawpcm.c:117,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawpcm.c:120,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_rawpcm.c:123,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 139
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 139
    functionName: pcmreframe_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - PROP_FRAC64_INT
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - PROP_LONGUINT
    - gf_audio_fmt_parse
    - GF_LOG
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    - gf_filter_pid_remove
    - gf_sys_is_test_mode
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmreframe_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawpcm.c:145,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawpcm.c:185,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:183,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_rawpcm.c:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 207
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 207
    functionName: pcmreframe_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pck_discard
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool pcmreframe_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawpcm.c:226,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:236,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_rawpcm.c:238,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_rawpcm.c:252,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_rawpcm.c:259,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:272,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:260,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_rawpcm.c:275,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_rawpcm.c:262,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:267,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:288,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:278,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/reframe_rawpcm.c:383,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawpcm.c:454,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:452,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:266,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:450,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_rawpcm.c:415,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_rawpcm.c:241,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:271,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:292,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/reframe_rawpcm.c:349,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:355,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:372,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_rawpcm.c:411,1
    - Dst: pcmreframe_flush_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:428,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:460,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_rawpcm.c:264,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:277,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_rawpcm.c:282,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:289,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:291,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:322,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:350,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_rawpcm.c:356,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_rawpcm.c:376,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_rawpcm.c:378,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_rawpcm.c:417,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawpcm.c:444,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:426,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:323,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_rawpcm.c:463,1
    - Dst: pcmreframe_configure_pid
      Src: /src/gpac/src/filters/reframe_rawpcm.c:389,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawpcm.c:421,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_rawpcm.c:382,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:276,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/reframe_rawpcm.c:347,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_rawpcm.c:416,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawpcm.c:384,1
    - Dst: gf_filter_pck_truncate
      Src: /src/gpac/src/filters/reframe_rawpcm.c:240,1
    - Dst: pcmreframe_flush_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:242,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_rawpcm.c:245,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_rawpcm.c:251,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_rawpcm.c:270,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_rawpcm.c:283,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:290,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:293,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_rawpcm.c:321,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawpcm.c:380,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawpcm.c:443,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_rawpcm.c:442,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_rawpcm.c:414,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_rawpcm.c:345,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 248
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 468
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 468
    functionName: pcmreframe_process
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_filter_pid_set_discard
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - GF_LOG
    - gf_bs_read_u32_le
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_filter_pid_drop_packet
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_del
    - GF_4CC
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_truncate
    - pcmreframe_configure_pid
    - pcmreframe_flush_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_bs_read_u16_le
    - gf_bs_read_u32
    - gf_bs_get_position
    - gf_bs_new
    - gf_bs_is_overflow
    - memcpy
    - gf_free
    - gf_filter_pid_send_event
    - gf_realloc
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err pcmreframe_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawpcm.c:493,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_rawpcm.c:495,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_rawpcm.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: pcmreframe_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_discard
    - gf_filter_get_udta
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void pcmreframe_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_audio_fmt_all_names
      Src: /src/gpac/src/filters/reframe_rawpcm.c:541,1
    - Dst: gf_audio_fmt_all_shortnames
      Src: /src/gpac/src/filters/reframe_rawpcm.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: rfpcm_register
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached:
    - gf_audio_fmt_all_shortnames
    - gf_audio_fmt_all_names
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfpcm_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: rfpcm_register
    functionSourceFile: /src/gpac/src/filters/reframe_rawpcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfpcm_register(GF_FilterSession *session) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_xvid.c:150,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_xvid.c:159,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_xvid.c:144,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_xvid.c:164,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:224,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_xvid.c:228,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_xvid.c:166,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_xvid.c:188,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:214,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_xvid.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:225,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:227,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_xvid.c:140,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_xvid.c:158,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:164,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_xvid.c:177,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:202,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:217,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_xvid.c:209,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_xvid.c:224,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:228,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_xvid.c:163,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_xvid.c:168,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_xvid.c:223,1
    - Dst: gf_m4v_get_config
      Src: /src/gpac/src/filters/dec_xvid.c:184,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_xvid.c:225,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_xvid.c:226,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dec_xvid.c:227,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 231
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 231
    functionName: xviddec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_xvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_m4v_get_config
    - memset
    - gf_crc_32
    - gf_filter_pid_get_property
    - xvid_decore
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_FRAC
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xviddec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/dec_xvid.c:266,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_xvid.c:281,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_xvid.c:366,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_xvid.c:389,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_xvid.c:390,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_xvid.c:395,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_xvid.c:399,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_xvid.c:383,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_xvid.c:414,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_xvid.c:417,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_xvid.c:269,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_xvid.c:295,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_xvid.c:393,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_xvid.c:403,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_xvid.c:258,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_xvid.c:261,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/dec_xvid.c:273,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_xvid.c:274,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_xvid.c:278,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_xvid.c:279,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_xvid.c:285,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:364,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_xvid.c:304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_xvid.c:362,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_xvid.c:405,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_xvid.c:268,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_xvid.c:367,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_xvid.c:369,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_xvid.c:291,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_xvid.c:370,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_xvid.c:373,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_xvid.c:382,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_xvid.c:391,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_xvid.c:394,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_xvid.c:396,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_xvid.c:392,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_xvid.c:372,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 137
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 423
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 423
    functionName: xviddec_process
    functionSourceFile: /src/gpac/src/filters/dec_xvid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_set_dependency_flags
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_list_pop_front
    - xvid_decore
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_filter_pck_set_cts
    - gf_list_insert
    - gf_list_get
    - gf_filter_pck_discard
    - gf_filter_pck_send
    - gf_filter_pck_unref
    - gf_filter_pck_set_dts
    - gf_filter_pck_ref_props
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xviddec_process(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_xvid.c:82,1
    - Dst: xvid_init
      Src: /src/gpac/src/filters/dec_xvid.c:90,1
    - Dst: xvid_init
      Src: /src/gpac/src/filters/dec_xvid.c:92,1
    - Dst: xvid_global
      Src: /src/gpac/src/filters/dec_xvid.c:98,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_xvid.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 125
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 125
    functionName: xviddec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_xvid.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - xvid_init
    - xvid_global
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err xviddec_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_xvid.c:235,1
    - Dst: xvid_decore
      Src: /src/gpac/src/filters/dec_xvid.c:236,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_xvid.c:237,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dec_xvid.c:238,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dec_xvid.c:239,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_xvid.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: xviddec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_xvid.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - xvid_decore
    - gf_list_count
    - gf_filter_pck_unref
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void xviddec_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: xviddec_register
    functionSourceFile: /src/gpac/src/filters/dec_xvid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *xviddec_register(GF_FilterSession *session) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_avi.c:377,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_avi.c:392,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_avi.c:415,1
    - Dst: AVI_set_audio_track
      Src: /src/gpac/src/filters/mux_avi.c:427,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_avi.c:453,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/mux_avi.c:492,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/mux_avi.c:501,1
    - Dst: AVI_write_frame
      Src: /src/gpac/src/filters/mux_avi.c:508,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:529,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_avi.c:358,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_avi.c:390,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_avi.c:401,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_avi.c:411,1
    - Dst: AVI_write_audio
      Src: /src/gpac/src/filters/mux_avi.c:429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:432,1
    - Dst: AVI_set_video
      Src: /src/gpac/src/filters/mux_avi.c:459,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_avi.c:464,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_avi.c:469,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/mux_avi.c:486,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_avi.c:350,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_avi.c:355,1
    - Dst: AVI_set_audio
      Src: /src/gpac/src/filters/mux_avi.c:424,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_avi.c:440,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_avi.c:430,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/mux_avi.c:482,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/mux_avi.c:483,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_avi.c:484,1
    - Dst: AVI_write_frame
      Src: /src/gpac/src/filters/mux_avi.c:506,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/mux_avi.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:523,1
    - Dst: avimux_configure_pid
      Src: /src/gpac/src/filters/mux_avi.c:359,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/mux_avi.c:421,1
    - Dst: AVI_get_audio_track
      Src: /src/gpac/src/filters/mux_avi.c:425,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/mux_avi.c:513,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/mux_avi.c:521,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/mux_avi.c:531,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:541,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_avi.c:504,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 170
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 546
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 546
    functionName: avimux_process
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - AVI_set_audio_track
    - gf_timestamp_rescale
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - avimux_configure_pid
    - gf_filter_pid_get_packet
    - gf_list_count
    - avimux_open_close
    - AVI_write_frame
    - gf_list_get
    - gf_filter_pck_get_frame_interface
    - gf_pixel_get_size_info
    - memcpy
    - AVI_set_audio
    - gf_filter_pck_get_property
    - AVI_set_video
    - gf_realloc
    - AVI_write_audio
    - AVI_get_audio_track
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avimux_process(GF_Filter *filter) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/mux_avi.c:115,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_avi.c:118,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:148,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:157,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:144,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:194,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_avi.c:207,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filters/mux_avi.c:221,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/mux_avi.c:231,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/mux_avi.c:300,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_avi.c:297,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_avi.c:109,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/mux_avi.c:111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:146,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:155,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:142,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_avi.c:190,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/mux_avi.c:196,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_avi.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:226,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/mux_avi.c:234,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_avi.c:281,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_avi.c:305,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/mux_avi.c:255,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:301,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_avi.c:116,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/mux_avi.c:122,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:132,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:153,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_avi.c:164,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/mux_avi.c:203,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/mux_avi.c:219,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/mux_avi.c:225,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/mux_avi.c:226,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/mux_avi.c:253,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/mux_avi.c:292,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/mux_avi.c:295,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/mux_avi.c:290,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/mux_avi.c:322,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/mux_avi.c:235,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:119,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:130,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:150,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:159,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_avi.c:169,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/mux_avi.c:190,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/mux_avi.c:196,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/mux_avi.c:207,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/mux_avi.c:252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:281,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/mux_avi.c:323,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/mux_avi.c:307,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 230
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 327
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 327
    functionName: avimux_configure_pid
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - gf_filter_pid_set_udta
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_get_packet
    - avimux_open_close
    - gf_filter_pid_get_property_str
    - PROP_UINT
    - gf_filter_pid_resolve_file_template
    - strcpy
    - gf_list_del_item
    - gf_filter_pid_negotiate_property
    - gf_filter_pid_get_udta
    - gf_codecid_name
    - memcpy
    - gf_free
    - gf_filter_pid_send_event
    - gf_4cc_parse
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    - strncpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avimux_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVI_close
      Src: /src/gpac/src/filters/mux_avi.c:77,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:83,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_avi.c:82,1
    - Dst: AVI_open_output_file
      Src: /src/gpac/src/filters/mux_avi.c:87,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/mux_avi.c:82,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:90,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/mux_avi.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - filename
    - ext
    - file_idx
    argTypes:
    - GF_AVIMuxCtx*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: avimux_open_close
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - AVI_open_output_file
    - GF_LOG
    - strcmp
    - AVI_close
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avimux_open_close(GF_AVIMuxCtx *ctx, const char *filename,
      const char *ext, u32 file_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_avi.c:331,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/mux_avi.c:333,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_avi.c:335,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/mux_avi.c:334,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:332,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/mux_avi.c:337,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/mux_avi.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: avimux_finalize
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - avimux_open_close
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void avimux_finalize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/mux_avi.c:550,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_avi.c:553,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_avi.c:554,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/mux_avi.c:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: avimux_probe_url
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - stricmp
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore avimux_probe_url(const char *url, const
      char *mime) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/mux_avi.c:669,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/mux_avi.c:672,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/mux_avi.c:676,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/mux_avi.c:679,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/mux_avi.c:674,1
    - Dst: strstr
      Src: /src/gpac/src/filters/mux_avi.c:679,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/mux_avi.c:680,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_avi.c:683,1
    - Dst: strchr
      Src: /src/gpac/src/filters/mux_avi.c:684,1
    - Dst: avimux_open_close
      Src: /src/gpac/src/filters/mux_avi.c:687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 690
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 690
    functionName: avimux_initialize
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - avimux_open_close
    - gf_filter_is_temporary
    - gf_filter_setup_failure
    - gf_filter_override_caps
    - strnicmp
    - strchr
    - gf_list_new
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avimux_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: avimx_register
    functionSourceFile: /src/gpac/src/filters/mux_avi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *avimx_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/avin_web.c:179,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/avin_web.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - res_code
    - msg
    argTypes:
    - GF_WebGrab*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: webgrab_on_error
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_setup_failure
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void webgrab_on_error(GF_WebGrab *ctx, int res_code, char
      *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/avin_web.c:210,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/avin_web.c:211,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/avin_web.c:213,1
    - Dst: webgrab_next_video
      Src: /src/gpac/src/filters/avin_web.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - pck
    - res_ok
    argTypes:
    - GF_WebGrab*
    - GF_FilterPacket*
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: webgrab_on_frame_copy
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pck_discard
    - gf_filter_post_process_task
    - webgrab_next_video
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void webgrab_on_frame_copy(GF_WebGrab *ctx, GF_FilterPacket
      *pck, int res_ok) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/avin_web.c:118,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/avin_web.c:126,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/avin_web.c:125,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/avin_web.c:129,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/avin_web.c:124,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/avin_web.c:133,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/avin_web.c:134,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/avin_web.c:135,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/avin_web.c:139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: webgrab_process
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_set_eos
    - gf_sys_clock_high_res
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err webgrab_process(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/avin_web.c:225,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:234,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/avin_web.c:239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:235,1
    - Dst: webcodec_pixfmt_to_gpac
      Src: /src/gpac/src/filters/avin_web.c:223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:228,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:227,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:229,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:230,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:233,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/avin_web.c:251,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/avin_web.c:257,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/avin_web.c:264,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/avin_web.c:247,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:234,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:235,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/avin_web.c:261,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/avin_web.c:263,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:227,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:228,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:229,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/avin_web.c:244,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:233,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/avin_web.c:264,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 5
    argNames:
    - ctx
    - width
    - height
    - pixfmt
    - ts
    argTypes:
    - GF_WebGrab*
    - u32
    - u32
    - char*
    - u64
    constantsTouched: []
    func_position:
      end: 271
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 271
    functionName: webgrab_on_video_frame
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pck_new_alloc
    - gf_pixel_get_size_info
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_net_get_ntp_ts
    - webcodec_pixfmt_to_gpac
    - gf_timestamp_rescale
    - PROP_UINT
    - gf_filter_pck_set_cts
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void webgrab_on_video_frame(GF_WebGrab *ctx, u32 width,
      u32 height, char * pixfmt, u64 ts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/avin_web.c:433,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/avin_web.c:438,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/avin_web.c:444,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/avin_web.c:439,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/avin_web.c:443,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/avin_web.c:448,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/avin_web.c:451,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/avin_web.c:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 454
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 454
    functionName: webgrab_initialize
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strncmp
    - gf_filter_prevent_blocking
    - strcmp
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err webgrab_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/avin_web.c:490,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/avin_web.c:493,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/avin_web.c:492,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/avin_web.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: webgrab_probe_url
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore webgrab_probe_url(const char *url, const
      char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: (e)
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: catch
    signature: 'catch (e) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/avin_web.c:151,1
    - Dst: webgrab_next_video
      Src: /src/gpac/src/filters/avin_web.c:155,1
    - Dst: webgrab_next_audio
      Src: /src/gpac/src/filters/avin_web.c:158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 174
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 174
    functionName: webgrab_process_event
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - webgrab_next_audio
    - gf_filter_get_udta
    - webgrab_next_video
    linkageType: ''
    returnType: Bool
    signature: 'static Bool webgrab_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: webcodec_audiofmt_to_gpac
      Src: /src/gpac/src/filters/avin_web.c:289,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:293,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:295,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:296,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:299,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/avin_web.c:339,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:300,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:301,1
    - Dst: gf_audio_fmt_bit_depth
      Src: /src/gpac/src/filters/avin_web.c:305,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/avin_web.c:319,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/avin_web.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:294,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:293,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:295,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:296,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:299,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/avin_web.c:314,1
    - Dst: gf_audio_fmt_is_planar
      Src: /src/gpac/src/filters/avin_web.c:325,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/avin_web.c:291,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/avin_web.c:301,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/avin_web.c:300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/avin_web.c:310,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/avin_web.c:317,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/avin_web.c:320,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/avin_web.c:338,1
    - Dst: webgrab_next_audio
      Src: /src/gpac/src/filters/avin_web.c:341,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 6
    argNames:
    - ctx
    - sr
    - channels
    - afmt
    - num_frames
    - ts
    argTypes:
    - GF_WebGrab*
    - u32
    - u32
    - char*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 342
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 342
    functionName: webgrab_on_audio_data
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pck_new_alloc
    - gf_list_add
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - webcodec_audiofmt_to_gpac
    - GF_LOG
    - gf_filter_pid_set_property
    - webgrab_next_audio
    - gf_net_get_ntp_ts
    - gf_audio_fmt_is_planar
    - gf_filter_post_process_task
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_audio_fmt_bit_depth
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void webgrab_on_audio_data(GF_WebGrab *ctx, u32 sr, u32
      channels, char * afmt, u32 num_frames, u64 ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: (e)
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: catch
    signature: 'catch (e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/avin_web.c:474,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/avin_web.c:477,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/avin_web.c:478,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/avin_web.c:476,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/avin_web.c:480,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/avin_web.c:481,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/avin_web.c:482,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/avin_web.c:483,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/avin_web.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: webgrab_finalize
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pck_discard
    linkageType: ''
    returnType: void
    signature: 'void webgrab_finalize(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM_INT
      Src: /src/gpac/src/filters/avin_web.c:563,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/avin_web.c:568,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/avin_web.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 580
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 580
    functionName: webgrab_register
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - EM_ASM_INT
    - GF_LOG
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *webgrab_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: webgrab_process_dummy
    functionSourceFile: /src/gpac/src/filters/avin_web.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err webgrab_process_dummy(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scte35dec_send_pck
      Src: /src/gpac/src/filters/dec_scte35.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - dts
    - dur
    argTypes:
    - SCTE35DecCtx*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: scte35dec_flush_emeb
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - scte35dec_send_pck
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_flush_emeb(SCTE35DecCtx *ctx, u64 dts, u32
      dur) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/gpac/src/filters/dec_scte35.c:563,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_scte35.c:576,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:563,1
    - Dst: scte35dec_push_box
      Src: /src/gpac/src/filters/dec_scte35.c:577,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dec_scte35.c:581,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - dts
    - timescale
    - dur
    argTypes:
    - SCTE35DecCtx*
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 582
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 582
    functionName: scte35dec_process_timing
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - scte35dec_push_box
    - MIN
    - GF_LOG
    - ABS
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_process_timing(SCTE35DecCtx *ctx, u64 dts, u32
      timescale, u32 dur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_scte35.c:190,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dec_scte35.c:201,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_scte35.c:195,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/dec_scte35.c:197,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - dts
    - emib
    argTypes:
    - SCTE35DecCtx*
    - u64
    - GF_EventMessageBox*
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: scte35dec_schedule
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_schedule(SCTE35DecCtx *ctx, u64 dts, GF_EventMessageBox
      *emib) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scte35dec_get_timing
      Src: /src/gpac/src/filters/dec_scte35.c:590,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_scte35.c:602,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/dec_scte35.c:592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:600,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dec_scte35.c:603,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_scte35.c:605,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_scte35.c:607,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/filters/dec_scte35.c:609,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:611,1
    - Dst: scte35dec_schedule
      Src: /src/gpac/src/filters/dec_scte35.c:616,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:618,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - data
    - size
    - dts
    argTypes:
    - SCTE35DecCtx*
    - u8*
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 621
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 621
    functionName: scte35dec_process_emsg
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_malloc
    - scte35dec_schedule
    - scte35dec_get_timing
    - gf_isom_box_size
    - gf_strdup
    - gf_isom_box_del
    - GF_LOG
    - memcpy
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_process_emsg(SCTE35DecCtx *ctx, const u8 *data,
      u32 size, u64 dts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:86,1
    - Dst: scte35dec_initialize_internal
      Src: /src/gpac/src/filters/dec_scte35.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: scte35dec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - scte35dec_initialize_internal
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_initialize(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_scte35.c:206,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_scte35.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dts
    - evt_dts
    - max_dur
    - evt_dur
    argTypes:
    - u64
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: compute_emib_duration
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_assert
    - MIN
    linkageType: ''
    returnType: u32
    signature: 'static u32 compute_emib_duration(u64 dts, u64 evt_dts, u32 max_dur,
      u32 evt_dur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_scte35.c:279,1
    - Dst: scte35dec_flush_emeb
      Src: /src/gpac/src/filters/dec_scte35.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - first_evt
    - timestamp
    - dur
    argTypes:
    - SCTE35DecCtx*
    - Event*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: scte35_insert_emeb_before_emib
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_assert
    - scte35dec_flush_emeb
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35_insert_emeb_before_emib(SCTE35DecCtx *ctx, Event
      *first_evt, u64 timestamp, u64 dur) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_scte35.c:625,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_scte35.c:631,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_scte35.c:629,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cts
    argTypes:
    - SCTE35DecCtx*
    - u64
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: scte35dec_is_splice_point
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - gf_list_get
    - gf_free
    - gf_isom_box_del
    linkageType: ''
    returnType: Bool
    signature: 'static Bool scte35dec_is_splice_point(SCTE35DecCtx *ctx, u64 cts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:96,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_scte35.c:99,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_scte35.c:97,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:98,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dec_scte35.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SCTE35DecCtx*
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: scte35dec_finalize_internal
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - gf_isom_box_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_finalize_internal(SCTE35DecCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/dec_scte35.c:218,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_scte35.c:232,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:218,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dec_scte35.c:222,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/filters/dec_scte35.c:233,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_scte35.c:234,1
    - Dst: compute_emib_duration
      Src: /src/gpac/src/filters/dec_scte35.c:237,1
    - Dst: scte35dec_send_pck
      Src: /src/gpac/src/filters/dec_scte35.c:239,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:256,1
    - Dst: scte35dec_schedule
      Src: /src/gpac/src/filters/dec_scte35.c:259,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:270,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_scte35.c:257,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_scte35.c:260,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_scte35.c:271,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - dts
    - max_dur
    argTypes:
    - SCTE35DecCtx*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 274
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 274
    functionName: scte35dec_flush_emib
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - scte35dec_schedule
    - gf_bs_del
    - gf_list_pop_front
    - gf_isom_box_write
    - gf_list_count
    - compute_emib_duration
    - gf_isom_box_del
    - gf_bs_new
    - gf_fatal_assert
    - scte35dec_send_pck
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_flush_emib(SCTE35DecCtx *ctx, u64 dts, u32
      max_dur) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:287,1
    - Dst: MIN
      Src: /src/gpac/src/filters/dec_scte35.c:299,1
    - Dst: scte35dec_flush_emeb
      Src: /src/gpac/src/filters/dec_scte35.c:288,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dec_scte35.c:291,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_scte35.c:296,1
    - Dst: scte35_insert_emeb_before_emib
      Src: /src/gpac/src/filters/dec_scte35.c:300,1
    - Dst: scte35_insert_emeb_before_emib
      Src: /src/gpac/src/filters/dec_scte35.c:308,1
    - Dst: scte35dec_flush_emib
      Src: /src/gpac/src/filters/dec_scte35.c:314,1
    - Dst: scte35dec_flush_emeb
      Src: /src/gpac/src/filters/dec_scte35.c:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - ts
    - dur
    argTypes:
    - SCTE35DecCtx*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 323
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 323
    functionName: scte35dec_push_box
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - MIN
    - gf_list_count
    - scte35dec_flush_emeb
    - scte35_insert_emeb_before_emib
    - scte35dec_flush_emib
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_push_box(SCTE35DecCtx *ctx, const u64 ts,
      const u32 dur) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_scte35.c:640,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:653,1
    - Dst: gf_list_rem_last
      Src: /src/gpac/src/filters/dec_scte35.c:642,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:640,1
    - Dst: scte35dec_push_box
      Src: /src/gpac/src/filters/dec_scte35.c:641,1
    - Dst: new_segment
      Src: /src/gpac/src/filters/dec_scte35.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - dts
    - dur
    argTypes:
    - SCTE35DecCtx*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 664
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 664
    functionName: scte35dec_process_dispatch
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_rem_last
    - scte35dec_push_box
    - new_segment
    - gf_list_count
    - GF_LOG
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_process_dispatch(SCTE35DecCtx *ctx, u64 dts,
      u32 dur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: scte35dec_register
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *scte35dec_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: scte35dec_process_event
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: Bool
    signature: 'static Bool scte35dec_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dec_scte35.c:329,1
    - Dst: scte35dec_push_box
      Src: /src/gpac/src/filters/dec_scte35.c:333,1
    - Dst: scte35dec_push_box
      Src: /src/gpac/src/filters/dec_scte35.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SCTE35DecCtx*
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: scte35dec_flush
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - scte35dec_push_box
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_flush(SCTE35DecCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:354,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:356,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_scte35.c:357,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bs
    argTypes:
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: scte35dec_parse_splice_time
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_bs_read_long_int
    - gf_bs_read_int
    linkageType: ''
    returnType: u64
    signature: 'static u64 scte35dec_parse_splice_time(GF_BitStream *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/dec_scte35.c:668,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:674,1
    - Dst: scte35dec_is_splice_point
      Src: /src/gpac/src/filters/dec_scte35.c:673,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dec_scte35.c:675,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_scte35.c:672,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_scte35.c:675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pck
    argTypes:
    - SCTE35DecCtx*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: scte35dec_process_passthrough
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_new_clone
    - gf_filter_pck_set_property
    - GF_LOG
    - PROP_BOOL
    - scte35dec_is_splice_point
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_process_passthrough(SCTE35DecCtx *ctx, GF_FilterPacket
      *pck) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dec_scte35.c:69,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_scte35.c:75,1
    - Dst: gf_isom_box_new
      Src: /src/gpac/src/filters/dec_scte35.c:71,1
    - Dst: gf_isom_box_write
      Src: /src/gpac/src/filters/dec_scte35.c:76,1
    - Dst: gf_isom_box_size
      Src: /src/gpac/src/filters/dec_scte35.c:73,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_scte35.c:77,1
    - Dst: gf_isom_box_del
      Src: /src/gpac/src/filters/dec_scte35.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SCTE35DecCtx*
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: scte35dec_initialize_internal
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_isom_box_new
    - gf_bs_del
    - gf_isom_box_size
    - gf_isom_box_write
    - gf_isom_box_del
    - gf_bs_new
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_initialize_internal(SCTE35DecCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_scte35.c:165,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dec_scte35.c:168,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dec_scte35.c:172,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dec_scte35.c:171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - pck
    - dts
    - dur
    argTypes:
    - SCTE35DecCtx*
    - GF_FilterPacket*
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: scte35dec_send_pck
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_sap
    - GF_LOG
    - gf_filter_pck_set_framing
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_send_pck(SCTE35DecCtx *ctx, GF_FilterPacket
      *pck, u64 dts, u32 dur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:342,1
    - Dst: scte35dec_push_box
      Src: /src/gpac/src/filters/dec_scte35.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SCTE35DecCtx*
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: new_segment
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - scte35dec_push_box
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err new_segment(SCTE35DecCtx *ctx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:398,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:385,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:416,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_scte35.c:464,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_scte35.c:466,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:468,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:471,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:480,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:481,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_scte35.c:439,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:511,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:509,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:487,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_scte35.c:366,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:369,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:377,1
    - Dst: gf_bs_get_size
      Src: /src/gpac/src/filters/dec_scte35.c:378,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:383,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:389,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_scte35.c:397,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:394,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:410,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:459,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_scte35.c:505,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:512,1
    - Dst: MAX
      Src: /src/gpac/src/filters/dec_scte35.c:541,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:446,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_scte35.c:541,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:490,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:485,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:486,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:508,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_scte35.c:510,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:375,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:376,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_scte35.c:399,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:403,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:409,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:412,1
    - Dst: scte35dec_parse_splice_time
      Src: /src/gpac/src/filters/dec_scte35.c:452,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_scte35.c:465,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_scte35.c:470,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_scte35.c:475,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:492,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_scte35.c:547,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:499,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:413,1
    - Dst: scte35dec_parse_splice_time
      Src: /src/gpac/src/filters/dec_scte35.c:430,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:437,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_scte35.c:501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:379,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_scte35.c:386,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:393,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:396,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_scte35.c:408,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:414,1
    - Dst: scte35dec_parse_splice_time
      Src: /src/gpac/src/filters/dec_scte35.c:419,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:425,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:427,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:415,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:454,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:482,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:513,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_scte35.c:429,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:529,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:530,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:438,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:495,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:536,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_scte35.c:479,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_scte35.c:467,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_scte35.c:493,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 136
    argCount: 6
    argNames:
    - data
    - size
    - pts
    - dur
    - splice_event_id
    - needs_idr
    argTypes:
    - u8*
    - u32
    - u64*
    - u64*
    - u32*
    - Bool*
    constantsTouched: []
    func_position:
      end: 548
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 548
    functionName: scte35dec_get_timing
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - gf_bs_read_long_int
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_del
    - gf_bs_get_position
    - scte35dec_parse_splice_time
    - GF_LOG
    - gf_bs_new
    - gf_bs_read_int
    - gf_bs_available
    - gf_bs_get_size
    - gf_bs_skip_bytes
    - gf_assert
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_get_timing(const u8 *data, u32 size, u64 *pts,
      u64 *dur, u32 *splice_event_id, Bool *needs_idr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:683,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_scte35.c:685,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_scte35.c:689,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/dec_scte35.c:688,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_scte35.c:687,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dec_scte35.c:695,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/dec_scte35.c:696,1
    - Dst: scte35dec_process_timing
      Src: /src/gpac/src/filters/dec_scte35.c:697,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_scte35.c:697,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_scte35.c:702,1
    - Dst: scte35dec_process_emsg
      Src: /src/gpac/src/filters/dec_scte35.c:711,1
    - Dst: scte35dec_process_passthrough
      Src: /src/gpac/src/filters/dec_scte35.c:717,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_scte35.c:722,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/dec_scte35.c:704,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_scte35.c:712,1
    - Dst: scte35dec_process_dispatch
      Src: /src/gpac/src/filters/dec_scte35.c:719,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 725
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 725
    functionName: scte35dec_process
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - scte35dec_process_timing
    - scte35dec_process_passthrough
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_filter_pck_get_property_str
    - gf_filter_pid_drop_packet
    - scte35dec_process_dispatch
    - gf_filter_pid_set_eos
    - scte35dec_flush
    - gf_filter_pck_get_timescale
    - gf_filter_pck_get_data
    - scte35dec_process_emsg
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:106,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/dec_scte35.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: scte35dec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - scte35dec_finalize_internal
    linkageType: ''
    returnType: void
    signature: 'static void scte35dec_finalize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:112,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dec_scte35.c:115,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_scte35.c:123,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_scte35.c:119,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_scte35.c:127,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dec_scte35.c:129,1
    - Dst: gf_rand
      Src: /src/gpac/src/filters/dec_scte35.c:130,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_scte35.c:133,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_scte35.c:136,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_scte35.c:139,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_scte35.c:143,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_scte35.c:144,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_scte35.c:145,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_scte35.c:145,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_scte35.c:144,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_scte35.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: scte35dec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_rand
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err scte35dec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_prores.c:128,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_prores.c:153,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_prores.c:184,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:190,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_prores.c:192,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_prores.c:137,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:127,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_prores.c:162,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_prores.c:183,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_prores.c:168,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:124,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:140,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_prores.c:158,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_prores.c:169,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_prores.c:177,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_prores.c:182,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_prores.c:170,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/reframe_prores.c:167,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_prores.c:190,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/reframe_prores.c:192,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_prores.c:142,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_prores.c:151,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_prores.c:166,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_ProResDmxCtx*
    constantsTouched: []
    func_position:
      end: 198
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 198
    functionName: proresdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_read_u32
    - gf_bs_from_file
    - gf_bs_del
    - strncmp
    - GF_4CC
    - gf_filter_pid_get_property
    - gf_realloc
    - gf_fileio_is_main_thread
    - GF_LOG
    - gf_bs_seek
    - gf_bs_get_position
    - gf_filter_pid_set_property
    - gf_bs_available
    - PROP_FRAC64
    - gf_sys_is_test_mode
    - gf_fclose
    - gf_opts_get_bool
    linkageType: ''
    returnType: void
    signature: 'static void proresdmx_check_dur(GF_Filter *filter, GF_ProResDmxCtx
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_prores.c:286,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_prores.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_ProResDmxCtx*
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: proresdmx_update_cts
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void proresdmx_update_cts(GF_ProResDmxCtx *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_prores.c:446,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_prores.c:464,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/reframe_prores.c:470,1
    - Dst: memmove
      Src: /src/gpac/src/filters/reframe_prores.c:502,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_prores.c:492,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_prores.c:472,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/reframe_prores.c:477,1
    - Dst: gf_media_prores_parse_bs
      Src: /src/gpac/src/filters/reframe_prores.c:450,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:444,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_prores.c:460,1
    - Dst: proresdmx_update_cts
      Src: /src/gpac/src/filters/reframe_prores.c:476,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_prores.c:490,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_prores.c:471,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_prores.c:443,1
    - Dst: proresdmx_check_pid
      Src: /src/gpac/src/filters/reframe_prores.c:455,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_prores.c:466,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/reframe_prores.c:468,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_prores.c:475,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_prores.c:473,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_prores.c:485,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_prores.c:501,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - filter
    - ctx
    - data
    - data_size
    - is_copy
    argTypes:
    - GF_Filter*
    - GF_ProResDmxCtx*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 508
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 508
    functionName: proresdmx_process_buffer
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_set_eos
    - gf_media_prores_parse_bs
    - gf_filter_pck_new_alloc
    - gf_bs_reassign_buffer
    - proresdmx_update_cts
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_bs_read_data
    - gf_assert
    - memmove
    - gf_bs_get_position
    - proresdmx_check_pid
    - gf_bs_new
    - gf_filter_pck_send
    - gf_filter_pid_send_event
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    - gf_bs_available
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proresdmx_process_buffer(GF_Filter *filter, GF_ProResDmxCtx
      *ctx, const u8 *data, u32 data_size, Bool is_copy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_prores.c:629,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_prores.c:630,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_prores.c:632,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_prores.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: proresdmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void proresdmx_finalize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_prores.c:78,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:92,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_prores.c:96,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_prores.c:83,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_prores.c:88,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_prores.c:97,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:98,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: proresdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proresdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_prores.c:206,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_prores.c:262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_prores.c:227,1
    - Dst: proresdmx_check_dur
      Src: /src/gpac/src/filters/reframe_prores.c:228,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_prores.c:260,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 281
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 281
    functionName: proresdmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_FEVT_INIT
    - GF_LOG
    - proresdmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool proresdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:313,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:315,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:317,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:319,1
    - Dst: proresdmx_check_dur
      Src: /src/gpac/src/filters/reframe_prores.c:352,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:374,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:373,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:376,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:314,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:316,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:318,1
    - Dst: CHECK_CFG
      Src: /src/gpac/src/filters/reframe_prores.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:429,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:405,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:423,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:383,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_prores.c:413,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:382,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:387,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:390,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/reframe_prores.c:399,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:402,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:415,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:418,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:429,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_prores.c:433,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:430,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:428,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:380,1
    - Dst: strlen
      Src: /src/gpac/src/filters/reframe_prores.c:362,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/reframe_prores.c:363,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:373,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:374,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:376,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_prores.c:379,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_prores.c:380,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:383,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:396,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:399,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:430,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:413,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:426,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:408,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/reframe_prores.c:405,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_prores.c:351,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_prores.c:361,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_prores.c:372,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:382,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_prores.c:387,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/reframe_prores.c:402,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_prores.c:415,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:418,1
    - Dst: if
      Src: /src/gpac/src/filters/reframe_prores.c:324,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_prores.c:425,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:428,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_prores.c:426,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:433,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_prores.c:423,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 128
    argCount: 3
    argNames:
    - filter
    - ctx
    - finfo
    argTypes:
    - GF_Filter*
    - GF_ProResDmxCtx*
    - GF_ProResFrameInfo*
    constantsTouched: []
    func_position:
      end: 434
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 434
    functionName: proresdmx_check_pid
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - CHECK_CFG
    - GF_4CC
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - proresdmx_check_dur
    - gf_filter_pid_set_property
    - if
    - memcpy
    - PROP_FRAC
    - PROP_UINT
    - PROP_FRAC_INT
    - PROP_FRAC64
    - gf_sys_is_test_mode
    linkageType: ''
    returnType: void
    signature: 'static void proresdmx_check_pid(GF_Filter *filter, GF_ProResDmxCtx
      *ctx, GF_ProResFrameInfo *finfo) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_prores.c:513,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_prores.c:526,1
    - Dst: proresdmx_process_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:532,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_prores.c:528,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/reframe_prores.c:563,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_prores.c:607,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_prores.c:623,1
    - Dst: proresdmx_process_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:583,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_prores.c:592,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_prores.c:570,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/reframe_prores.c:589,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_prores.c:604,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_prores.c:620,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/reframe_prores.c:542,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_prores.c:554,1
    - Dst: proresdmx_process_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:575,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_prores.c:568,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_prores.c:600,1
    - Dst: gf_filter_pck_ref_props
      Src: /src/gpac/src/filters/reframe_prores.c:594,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_prores.c:578,1
    - Dst: proresdmx_process_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:609,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_prores.c:611,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_prores.c:618,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/reframe_prores.c:522,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_prores.c:541,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_prores.c:550,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_prores.c:602,1
    - Dst: proresdmx_process_buffer
      Src: /src/gpac/src/filters/reframe_prores.c:622,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 625
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 625
    functionName: proresdmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_get_udta
    - gf_filter_pid_set_discard
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref_props
    - gf_realloc
    - gf_filter_pid_get_packet
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - memcpy
    - gf_filter_pck_get_framing
    - proresdmx_process_buffer
    - gf_filter_pid_would_block
    - gf_filter_pck_unref
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err proresdmx_process(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: proresdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * proresdmx_probe_data(const u8 *data, u32 size,
      GF_FilterProbeScore *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: rfprores_register
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfprores_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: rfprores_register
    functionSourceFile: /src/gpac/src/filters/reframe_prores.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfprores_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_signaling.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - rtp
    - stream
    argTypes:
    - GF_RTPIn*
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: rtpin_stream_is_valid
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rtpin_stream_is_valid(GF_RTPIn *rtp, GF_RTPInStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:156,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:159,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp_signaling.c:167,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:158,1
    - Dst: rtpin_stream_ack_connect
      Src: /src/gpac/src/filters/in_rtp_signaling.c:169,1
    - Dst: rtpin_rtsp_setup_send
      Src: /src/gpac/src/filters/in_rtp_signaling.c:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - stream
    - ch_desc
    argTypes:
    - GF_RTPInStream*
    - RTPIn_StreamDescribe*
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: rtpin_stream_setup
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_rtsp_setup_send
    - gf_assert
    - rtpin_stream_init
    - rtpin_stream_ack_connect
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpin_stream_setup(GF_RTPInStream *stream, RTPIn_StreamDescribe
      *ch_desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - par
    - par2
    - is_rtcp
    - pck
    - pck_size
    argTypes:
    - void*
    - void*
    - Bool
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: rtpin_rtsp_tcp_send_report
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rtpin_rtsp_tcp_send_report(void *par, void *par2, Bool
      is_rtcp, u8 *pck, u32 pck_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:309,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:314,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:321,1
    - Dst: rtpin_stream_setup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:318,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - sess
    - com
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: rtpin_rtsp_describe_preprocess
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_find_stream
    - GF_LOG
    - rtpin_stream_setup
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool rtpin_rtsp_describe_preprocess(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rtpin_stream_ack_connect
      Src: /src/gpac/src/filters/in_rtp_signaling.c:415,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_signaling.c:420,1
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:433,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:472,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:478,1
    - Dst: rtpin_stream_setup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:423,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:456,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:469,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_rtp_signaling.c:444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:461,1
    - Dst: rtpin_rtsp_queue_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:486,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:421,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:425,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:441,1
    - Dst: rtpin_add_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:459,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:468,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:449,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_signaling.c:471,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:409,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:426,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:435,1
    - Dst: rtpin_stream_new_standalone
      Src: /src/gpac/src/filters/in_rtp_signaling.c:454,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_signaling.c:450,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 3
    argNames:
    - sess
    - esd_url
    - opid
    argTypes:
    - GF_RTPInRTSP*
    - char*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 487
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 487
    functionName: rtpin_rtsp_describe_send
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - rtpin_find_stream
    - gf_rtsp_command_new
    - rtpin_add_stream
    - rtpin_rtsp_queue_command
    - gf_strdup
    - GF_LOG
    - GF_SAFEALLOC
    - gf_free
    - rtpin_stream_ack_connect
    - rtpin_stream_setup
    - rtpin_stream_new_standalone
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_describe_send(GF_RTPInRTSP *sess, char *esd_url, GF_FilterPid
      *opid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:516,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:522,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:528,1
    - Dst: rtpin_stream_is_valid
      Src: /src/gpac/src/filters/in_rtp_signaling.c:521,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:527,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:542,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:542,1
    - Dst: rtpin_rtsp_skip_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:549,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:555,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/src/filters/in_rtp_signaling.c:562,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:566,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filters/in_rtp_signaling.c:566,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:568,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_rtp_signaling.c:566,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - sess
    - com
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    constantsTouched: []
    func_position:
      end: 571
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 571
    functionName: rtpin_rtsp_usercom_preprocess
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_rtsp_reset_aggregation
    - gf_error_to_string
    - gf_filter_event_name
    - rtpin_rtsp_skip_command
    - strcmp
    - rtpin_stream_is_valid
    - GF_LOG
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'Bool rtpin_rtsp_usercom_preprocess(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:942,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:945,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_signaling.c:949,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_signaling.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - sess
    - com
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 954
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 954
    functionName: rtpin_rtsp_teardown_process
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_teardown_process(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com, GF_Err e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:66,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_signaling.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - sess
    - stream
    - com
    - needs_sess_id
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTPInStream*
    - GF_RTSPCommand*
    - Bool
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: rtpin_rtsp_queue_command
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_rtsp_queue_command(GF_RTPInRTSP *sess, GF_RTPInStream
      *stream, GF_RTSPCommand *com, Bool needs_sess_id) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:200,1
    - Dst: rtpin_rtsp_tcp_send_report
      Src: /src/gpac/src/filters/in_rtp_signaling.c:270,1
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:278,1
    - Dst: rtpin_do_authenticate
      Src: /src/gpac/src/filters/in_rtp_signaling.c:211,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:231,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_signaling.c:240,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:262,1
    - Dst: rtpin_satip_get_server_ip
      Src: /src/gpac/src/filters/in_rtp_signaling.c:271,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/in_rtp_signaling.c:280,1
    - Dst: rtpin_rtsp_queue_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:285,1
    - Dst: rtpin_stream_ack_connect
      Src: /src/gpac/src/filters/in_rtp_signaling.c:293,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:246,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_rtp_signaling.c:269,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:234,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_signaling.c:208,1
    - Dst: gf_rtp_get_ports
      Src: /src/gpac/src/filters/in_rtp_signaling.c:243,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:245,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp_signaling.c:256,1
    - Dst: gf_rtp_set_interleave_callbacks
      Src: /src/gpac/src/filters/in_rtp_signaling.c:266,1
    - Dst: gf_rtsp_get_server_name
      Src: /src/gpac/src/filters/in_rtp_signaling.c:251,1
    - Dst: gf_rtsp_set_interleave_callback
      Src: /src/gpac/src/filters/in_rtp_signaling.c:264,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/filters/in_rtp_signaling.c:251,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:279,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 87
    argCount: 3
    argNames:
    - sess
    - com
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 296
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 296
    functionName: rtpin_rtsp_setup_process
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_rtsp_queue_command
    - rtpin_do_authenticate
    - gf_rtp_set_interleave_callbacks
    - gf_rtsp_command_new
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - gf_strdup
    - gf_rtp_get_ports
    - gf_assert
    - rtpin_stream_ack_connect
    - gf_rtp_is_interleaved
    - gf_rtp_setup_transport
    - rtpin_stream_init
    - gf_list_enum
    - gf_rtsp_get_server_name
    - rtpin_rtsp_tcp_send_report
    - gf_sys_is_cov_mode
    - gf_rtsp_set_interleave_callback
    - rtpin_satip_get_server_ip
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_setup_process(GF_RTPInRTSP *sess, GF_RTSPCommand *com,
      GF_Err e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_signaling.c:496,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: rtpin_rtsp_skip_command
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: void
    signature: 'static void rtpin_rtsp_skip_command(GF_RTPInStream *stream) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_rtp_signaling.c:590,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/in_rtp_signaling.c:684,1
    - Dst: gf_rtp_get_low_interleave_id
      Src: /src/gpac/src/filters/in_rtp_signaling.c:696,1
    - Dst: gf_rtsp_register_interleave
      Src: /src/gpac/src/filters/in_rtp_signaling.c:707,1
    - Dst: gf_rtp_get_hight_interleave_id
      Src: /src/gpac/src/filters/in_rtp_signaling.c:708,1
    - Dst: rtpin_rtsp_skip_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:714,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:719,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_signaling.c:724,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:732,1
    - Dst: gf_rtsp_reset_aggregation
      Src: /src/gpac/src/filters/in_rtp_signaling.c:741,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:585,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_signaling.c:640,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:650,1
    - Dst: gf_rtsp_register_interleave
      Src: /src/gpac/src/filters/in_rtp_signaling.c:694,1
    - Dst: gf_rtp_set_info_rtp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:682,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp_signaling.c:680,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_signaling.c:660,1
    - Dst: gf_rtp_get_hight_interleave_id
      Src: /src/gpac/src/filters/in_rtp_signaling.c:697,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp_signaling.c:704,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:706,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:596,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_signaling.c:645,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/in_rtp_signaling.c:653,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:693,1
    - Dst: gf_rtp_set_info_rtp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:666,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:745,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:747,1
    - Dst: rtpin_stream_is_valid
      Src: /src/gpac/src/filters/in_rtp_signaling.c:584,1
    - Dst: gf_rtsp_session_reset
      Src: /src/gpac/src/filters/in_rtp_signaling.c:622,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/in_rtp_signaling.c:649,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:661,1
    - Dst: gf_rtp_get_low_interleave_id
      Src: /src/gpac/src/filters/in_rtp_signaling.c:708,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/in_rtp_signaling.c:722,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_rtp_signaling.c:745,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:750,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 151
    argCount: 3
    argNames:
    - sess
    - com
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 752
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 752
    functionName: rtpin_rtsp_usercom_process
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_rtsp_skip_command
    - GF_LOG
    - gf_timestamp_rescale
    - rtpin_find_stream
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - rtpin_stream_is_valid
    - gf_rtp_get_hight_interleave_id
    - gf_timestamp_less
    - gf_rtp_get_low_interleave_id
    - gf_assert
    - gf_list_get
    - gf_rtp_set_info_rtp
    - rtpin_stream_init
    - gf_rtp_is_interleaved
    - gf_rtsp_session_reset
    - gf_sys_clock
    - gf_free
    - gf_rtsp_reset_aggregation
    - gf_rtsp_register_interleave
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_usercom_process(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com, GF_Err e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:965,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:966,1
    - Dst: rtpin_rtsp_queue_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:973,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - sess
    - stream
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 974
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 974
    functionName: rtpin_rtsp_teardown
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_rtsp_queue_command
    - gf_strdup
    - gf_rtsp_command_new
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_teardown(GF_RTPInRTSP *sess, GF_RTPInStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_signaling.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: rtpin_rtsp_is_active
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rtpin_rtsp_is_active(GF_RTPInStream *stream) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:82,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:83,1
    - Dst: gf_rtp_set_ports
      Src: /src/gpac/src/filters/in_rtp_signaling.c:89,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:104,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/filters/in_rtp_signaling.c:113,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:118,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:117,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:127,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:136,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/in_rtp_signaling.c:121,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/in_rtp_signaling.c:134,1
    - Dst: gf_rtp_get_transport
      Src: /src/gpac/src/filters/in_rtp_signaling.c:92,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_signaling.c:135,1
    - Dst: gf_rtp_setup_transport
      Src: /src/gpac/src/filters/in_rtp_signaling.c:123,1
    - Dst: rtpin_rtsp_queue_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:141,1
    - Dst: gf_rtp_set_ports
      Src: /src/gpac/src/filters/in_rtp_signaling.c:87,1
    - Dst: gf_rtp_is_unicast
      Src: /src/gpac/src/filters/in_rtp_signaling.c:86,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:86,1
    - Dst: gf_rtsp_transport_clone
      Src: /src/gpac/src/filters/in_rtp_signaling.c:92,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:102,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GF_RTPInStream*
    constantsTouched: []
    func_position:
      end: 142
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 142
    functionName: rtpin_rtsp_setup_send
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_rtp_is_interleaved
    - gf_rtsp_command_new
    - gf_rtp_setup_transport
    - gf_list_find
    - rtpin_rtsp_queue_command
    - gf_strdup
    - gf_rtp_set_ports
    - gf_free
    - gf_rtp_get_transport
    - gf_rtp_is_unicast
    - gf_rtsp_transport_clone
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_setup_send(GF_RTPInStream *stream) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/in_rtp_signaling.c:346,1
    - Dst: rtpin_find_stream
      Src: /src/gpac/src/filters/in_rtp_signaling.c:363,1
    - Dst: rtpin_stream_setup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:365,1
    - Dst: rtpin_load_sdp
      Src: /src/gpac/src/filters/in_rtp_signaling.c:369,1
    - Dst: rtpin_do_authenticate
      Src: /src/gpac/src/filters/in_rtp_signaling.c:383,1
    - Dst: rtpin_stream_ack_connect
      Src: /src/gpac/src/filters/in_rtp_signaling.c:389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:392,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_rtp_signaling.c:393,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_rtp_signaling.c:396,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 39
    argCount: 3
    argNames:
    - sess
    - com
    - e
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTSPCommand*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 398
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 398
    functionName: rtpin_rtsp_describe_process
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - rtpin_find_stream
    - rtpin_do_authenticate
    - GF_LOG
    - rtpin_load_sdp
    - gf_filter_setup_failure
    - gf_free
    - rtpin_stream_ack_connect
    - strstr
    - rtpin_stream_setup
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rtpin_rtsp_describe_process(GF_RTPInRTSP *sess, GF_RTSPCommand
      *com, GF_Err e) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_rtsp_command_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:795,1
    - Dst: rtpin_rtsp_skip_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:847,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:871,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:878,1
    - Dst: gf_rtp_is_interleaved
      Src: /src/gpac/src/filters/in_rtp_signaling.c:888,1
    - Dst: gf_rtsp_unregister_interleave
      Src: /src/gpac/src/filters/in_rtp_signaling.c:889,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_rtp_signaling.c:920,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_rtp_signaling.c:925,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_rtp_signaling.c:927,1
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp_signaling.c:904,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_signaling.c:921,1
    - Dst: rtpin_rtsp_setup_send
      Src: /src/gpac/src/filters/in_rtp_signaling.c:787,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:804,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:854,1
    - Dst: rtpin_rtsp_skip_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:869,1
    - Dst: gf_rtsp_range_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:910,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filters/in_rtp_signaling.c:920,1
    - Dst: rtpin_rtsp_queue_command
      Src: /src/gpac/src/filters/in_rtp_signaling.c:930,1
    - Dst: rtpin_rtsp_setup_send
      Src: /src/gpac/src/filters/in_rtp_signaling.c:790,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:814,1
    - Dst: gf_rtsp_range_del
      Src: /src/gpac/src/filters/in_rtp_signaling.c:840,1
    - Dst: rtpin_rtsp_is_active
      Src: /src/gpac/src/filters/in_rtp_signaling.c:852,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_signaling.c:849,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:850,1
    - Dst: gf_rtp_get_current_time
      Src: /src/gpac/src/filters/in_rtp_signaling.c:862,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:863,1
    - Dst: strlen
      Src: /src/gpac/src/filters/in_rtp_signaling.c:870,1
    - Dst: rtpin_stream_init
      Src: /src/gpac/src/filters/in_rtp_signaling.c:881,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:917,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_signaling.c:901,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/in_rtp_signaling.c:784,1
    - Dst: gf_rtsp_range_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:800,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_rtp_signaling.c:825,1
    - Dst: gf_rtsp_range_new
      Src: /src/gpac/src/filters/in_rtp_signaling.c:860,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_rtp_signaling.c:858,1
    - Dst: gf_rtp_get_low_interleave_id
      Src: /src/gpac/src/filters/in_rtp_signaling.c:889,1
    - Dst: gf_rtsp_command_del
      Src: /src/gpac/src/filters/in_rtp_signaling.c:892,1
    - Dst: rtpin_rtsp_is_active
      Src: /src/gpac/src/filters/in_rtp_signaling.c:893,1
    - Dst: rtpin_rtsp_teardown
      Src: /src/gpac/src/filters/in_rtp_signaling.c:894,1
    - Dst: rtpin_rtsp_is_active
      Src: /src/gpac/src/filters/in_rtp_signaling.c:903,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 149
    argCount: 3
    argNames:
    - sess
    - stream
    - evt
    argTypes:
    - GF_RTPInRTSP*
    - GF_RTPInStream*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 932
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 932
    functionName: rtpin_rtsp_usercom_send
    functionSourceFile: /src/gpac/src/filters/in_rtp_signaling.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - gf_rtsp_command_new
    - rtpin_rtsp_queue_command
    - gf_rtsp_range_new
    - gf_rtsp_range_del
    - rtpin_rtsp_skip_command
    - gf_rtsp_unregister_interleave
    - GF_LOG
    - rtpin_rtsp_teardown
    - gf_strdup
    - rtpin_rtsp_setup_send
    - rtpin_rtsp_is_active
    - gf_rtp_get_low_interleave_id
    - rtpin_stream_init
    - gf_rtp_is_interleaved
    - gf_list_enum
    - gf_sys_clock
    - gf_rtp_get_current_time
    - memcpy
    - gf_filter_event_name
    - gf_rtsp_command_del
    linkageType: ''
    returnType: void
    signature: 'void rtpin_rtsp_usercom_send(GF_RTPInRTSP *sess, GF_RTPInStream *stream,
      const GF_FilterEvent *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vorbis.c:62,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vorbis.c:63,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vorbis.c:64,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vorbis.c:63,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vorbis.c:62,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vorbis.c:64,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vorbis.c:89,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dec_vorbis.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_VorbisDecCtx*
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: vorbisdec_set_props
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached:
    - PROP_LONGUINT
    - PROP_UINT
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'void vorbisdec_set_props(GF_VorbisDecCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - samples
    - pcm
    - buf
    - channels
    argTypes:
    - u32
    - Float**
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: vorbis_to_intern
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void vorbis_to_intern(u32 samples, Float **pcm, char
      *buf, u32 channels) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vorbis.c:285,1
    - Dst: vorbis_info_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:289,1
    - Dst: vorbis_dsp_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:288,1
    - Dst: vorbis_block_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:287,1
    - Dst: vorbis_comment_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: vorbisdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - vorbis_block_clear
    - vorbis_info_clear
    - vorbis_dsp_clear
    - vorbis_comment_clear
    linkageType: ''
    returnType: void
    signature: 'static void vorbisdec_finalize(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_vorbis.c:226,1
    - Dst: vorbis_to_intern
      Src: /src/gpac/src/filters/dec_vorbis.c:251,1
    - Dst: vorbis_synthesis
      Src: /src/gpac/src/filters/dec_vorbis.c:233,1
    - Dst: vorbisdec_set_props
      Src: /src/gpac/src/filters/dec_vorbis.c:237,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_vorbis.c:241,1
    - Dst: vorbis_synthesis_read
      Src: /src/gpac/src/filters/dec_vorbis.c:254,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_vorbis.c:274,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_vorbis.c:278,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_vorbis.c:215,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_vorbis.c:213,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dec_vorbis.c:264,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dec_vorbis.c:267,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dec_vorbis.c:270,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dec_vorbis.c:263,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vorbis.c:210,1
    - Dst: vorbis_synthesis_blockin
      Src: /src/gpac/src/filters/dec_vorbis.c:234,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_vorbis.c:245,1
    - Dst: vorbis_synthesis_pcmout
      Src: /src/gpac/src/filters/dec_vorbis.c:250,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_vorbis.c:258,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_vorbis.c:265,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dec_vorbis.c:271,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_vorbis.c:279,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 281
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 281
    functionName: vorbisdec_process
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached:
    - vorbis_synthesis_blockin
    - gf_filter_pck_get_cts
    - gf_filter_pid_is_eos
    - vorbis_synthesis
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_filter_pck_get_timescale
    - vorbis_synthesis_pcmout
    - vorbis_to_intern
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_cts
    - gf_assert
    - gf_filter_pck_set_duration
    - vorbis_synthesis_read
    - gf_filter_pck_send
    - vorbisdec_set_props
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vorbisdec_process(GF_Filter *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_dsp_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:131,1
    - Dst: vorbis_comment_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:133,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vorbis.c:163,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_vorbis.c:96,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_vorbis.c:118,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_vorbis.c:127,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_vorbis.c:146,1
    - Dst: vorbis_info_init
      Src: /src/gpac/src/filters/dec_vorbis.c:138,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_vorbis.c:147,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dec_vorbis.c:151,1
    - Dst: vorbis_synthesis_headerin
      Src: /src/gpac/src/filters/dec_vorbis.c:152,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dec_vorbis.c:113,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_vorbis.c:114,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_vorbis.c:126,1
    - Dst: vorbis_info_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:132,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_vorbis.c:149,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_vorbis.c:150,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_vorbis.c:157,1
    - Dst: vorbis_block_init
      Src: /src/gpac/src/filters/dec_vorbis.c:162,1
    - Dst: vorbisdec_set_props
      Src: /src/gpac/src/filters/dec_vorbis.c:165,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_vorbis.c:107,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_vorbis.c:101,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_vorbis.c:110,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_vorbis.c:122,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_vorbis.c:127,1
    - Dst: vorbis_block_clear
      Src: /src/gpac/src/filters/dec_vorbis.c:130,1
    - Dst: vorbis_comment_init
      Src: /src/gpac/src/filters/dec_vorbis.c:139,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_vorbis.c:136,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_vorbis.c:155,1
    - Dst: vorbis_synthesis_init
      Src: /src/gpac/src/filters/dec_vorbis.c:161,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 167
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 167
    functionName: vorbisdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - strncmp
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - vorbis_synthesis_headerin
    - gf_bs_del
    - gf_crc_32
    - gf_filter_pid_copy_properties
    - vorbis_block_clear
    - PROP_UINT
    - gf_bs_read_data
    - vorbis_comment_clear
    - gf_bs_read_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - vorbis_info_clear
    - gf_free
    - vorbis_synthesis_init
    - vorbis_comment_init
    - vorbisdec_set_props
    - vorbis_block_init
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_filter_pid_check_caps
    - vorbis_dsp_clear
    - vorbis_info_init
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vorbisdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: vorbisdec_register
    functionSourceFile: /src/gpac/src/filters/dec_vorbis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vorbisdec_register(GF_FilterSession *session) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/evg_rescale.c:80,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/evg_rescale.c:87,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:104,1
    - Dst: CHK_EXIT
      Src: /src/gpac/src/filters/evg_rescale.c:123,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/filters/evg_rescale.c:128,1
    - Dst: CHK_EXIT
      Src: /src/gpac/src/filters/evg_rescale.c:130,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/evg_rescale.c:109,1
    - Dst: CHK_EXIT
      Src: /src/gpac/src/filters/evg_rescale.c:162,1
    - Dst: CHK_EXIT
      Src: /src/gpac/src/filters/evg_rescale.c:165,1
    - Dst: CHK_EXIT
      Src: /src/gpac/src/filters/evg_rescale.c:167,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/evg_rescale.c:88,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/filters/evg_rescale.c:134,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/evg_rescale.c:169,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/evg_rescale.c:73,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/evg_rescale.c:96,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/evg_rescale.c:100,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/evg_rescale.c:101,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/evg_rescale.c:170,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/filters/evg_rescale.c:166,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/evg_rescale.c:76,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/evg_rescale.c:79,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/filters/evg_rescale.c:122,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/filters/evg_rescale.c:129,1
    - Dst: gf_evg_enable_threading
      Src: /src/gpac/src/filters/evg_rescale.c:125,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/evg_rescale.c:112,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/evg_rescale.c:105,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/filters/evg_rescale.c:158,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/filters/evg_rescale.c:164,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 172
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 172
    functionName: evgs_process
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_evg_surface_clear
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_get_frame_interface
    - CHK_EXIT
    - gf_evg_enable_threading
    - gf_evg_stencil_set_texture_planes
    - gf_filter_pck_send
    - gf_evg_surface_set_path
    - gf_evg_surface_fill
    - gf_filter_pck_forward
    - gf_evg_surface_attach_to_buffer
    - gf_filter_pck_merge_properties
    - gf_color_parse
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evgs_process(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/evg_rescale.c:445,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/evg_rescale.c:451,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/evg_rescale.c:454,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/evg_rescale.c:448,1
    - Dst: evgs_configure_pid
      Src: /src/gpac/src/filters/evg_rescale.c:456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: evgs_reconfigure_output
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - evgs_configure_pid
    - gf_filter_pid_caps_query
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evgs_reconfigure_output(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/evg_rescale.c:411,1
    - Dst: gf_path_new
      Src: /src/gpac/src/filters/evg_rescale.c:418,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/filters/evg_rescale.c:416,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/filters/evg_rescale.c:413,1
    - Dst: gf_evg_stencil_set_filter
      Src: /src/gpac/src/filters/evg_rescale.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: evgs_initialize
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_evg_stencil_new
    - gf_evg_stencil_set_filter
    - gf_path_new
    - gf_evg_surface_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evgs_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/evg_rescale.c:434,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/filters/evg_rescale.c:435,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/filters/evg_rescale.c:436,1
    - Dst: gf_path_del
      Src: /src/gpac/src/filters/evg_rescale.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: evgs_finalize
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached:
    - gf_evg_surface_delete
    - gf_filter_get_udta
    - gf_evg_stencil_delete
    - gf_path_del
    linkageType: ''
    returnType: void
    signature: 'static void evgs_finalize(GF_Filter *filter) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:208,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:210,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:212,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:233,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/evg_rescale.c:340,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/evg_rescale.c:350,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:352,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:370,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:369,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:386,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:401,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:396,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:391,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:402,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/evg_rescale.c:193,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/evg_rescale.c:184,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:231,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/evg_rescale.c:355,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/evg_rescale.c:361,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:364,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/filters/evg_rescale.c:374,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:383,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:383,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:403,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:404,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/evg_rescale.c:394,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:388,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/evg_rescale.c:189,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:208,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:209,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:210,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:212,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:215,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:225,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:211,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:229,1
    - Dst: gf_evg_texture_format_ok
      Src: /src/gpac/src/filters/evg_rescale.c:348,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:386,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:389,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:390,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:389,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:391,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/filters/evg_rescale.c:375,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:383,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/evg_rescale.c:375,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:387,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/evg_rescale.c:180,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/evg_rescale.c:204,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/evg_rescale.c:205,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:207,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:223,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:227,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/evg_rescale.c:237,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/evg_rescale.c:245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/evg_rescale.c:342,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/evg_rescale.c:352,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/evg_rescale.c:375,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/evg_rescale.c:388,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:387,1
    - Dst: gf_evg_surface_format_ok
      Src: /src/gpac/src/filters/evg_rescale.c:359,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:394,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:390,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/evg_rescale.c:398,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/evg_rescale.c:396,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 249
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 407
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 407
    functionName: evgs_configure_pid
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_LOG
    - INT2FIX
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_path_add_rect_center
    - gf_pixel_get_size_info
    - gf_evg_surface_format_ok
    - gf_filter_pid_set_property
    - gf_pixel_fmt_name
    - gf_filter_is_dynamic
    - gf_filter_pid_get_property
    - gf_evg_texture_format_ok
    - gf_filter_pid_check_caps
    - PROP_FRAC
    - gf_pixel_fmt_is_transparent
    - gf_path_reset
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err evgs_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: evgs_register
    functionSourceFile: /src/gpac/src/filters/evg_rescale.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *evgs_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_dash.c:213,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_dash.c:214,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_dash.c:218,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:220,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filters/dmx_dash.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ref
    - prop_name
    - str_list
    argTypes:
    - GF_FilterPacket*
    - u32
    - GF_List**
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: dashdmx_set_string_list_prop
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_filter_pck_set_property
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_set_string_list_prop(GF_FilterPacket *ref, u32
      prop_name, GF_List **str_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:534,1
    - Dst: gf_dash_get_group_done
      Src: /src/gpac/src/filters/dmx_dash.c:538,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_dash.c:534,1
    - Dst: gf_dash_set_group_download_state
      Src: /src/gpac/src/filters/dmx_dash.c:536,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_dash.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - failed_filter
    - udta
    - err
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 559
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 559
    functionName: dashdmx_on_filter_setup_error
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_set_group_download_state
    - gf_dash_get_group_done
    - gf_error_to_string
    - GF_LOG
    - gf_filter_post_process_task
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dashdmx_on_filter_setup_error(GF_Filter *failed_filter,
      void *udta, GF_Err err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_header
      Src: /src/gpac/src/filters/dmx_dash.c:815,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:822,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:819,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_dash.c:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 3
    argNames:
    - dashio
    - session
    - header_name
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    - char*
    constantsTouched: []
    func_position:
      end: 826
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 826
    functionName: dashdmx_io_get_header_value
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_release_property
    - gf_dm_sess_get_header
    - gf_filter_pid_get_property_str
    - gf_filter_pid_get_info_str
    linkageType: ''
    returnType: char*
    signature: 'const char *dashdmx_io_get_header_value(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session, const char *header_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/dmx_dash.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - dashio
    - session
    - url
    - group_idx
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: dashdmx_io_setup_from_url
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_setup_from_url
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_setup_from_url(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session, const char *url, s32 group_idx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/dmx_dash.c:1061,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1074,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1083,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_dash.c:1091,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_dash.c:1094,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_dash.c:1090,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1081,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_dash.c:1089,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_dash.c:1094,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1071,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1074,1
    - Dst: gf_dash_is_m3u8
      Src: /src/gpac/src/filters/dmx_dash.c:1070,1
    - Dst: process_base_url
      Src: /src/gpac/src/filters/dmx_dash.c:1066,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_dash.c:1079,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_dash.c:1080,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:1083,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_dash.c:1076,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:1078,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1081,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_dash.c:1085,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_dash.c:1092,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:1097,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:1103,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 4
    argNames:
    - dashio
    - manifest_name
    - cache_url
    - group_idx
    argTypes:
    - GF_DASHFileIO*
    - char*
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 1105
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1105
    functionName: dashdmx_io_manifest_updated
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_file_load_data
    - gf_dash_is_m3u8
    - GF_LOG
    - gf_filter_pck_new_alloc
    - gf_strdup
    - PROP_STRING
    - PROP_UINT
    - gf_list_new
    - gf_assert
    - gf_filter_pck_set_property
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_free
    - gf_filter_pck_send
    - process_base_url
    - gf_dash_is_dynamic_mpd
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_io_manifest_updated(GF_DASHFileIO *dashio, const char
      *manifest_name, const char *cache_url, s32 group_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:1285,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:1286,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:1287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - JS_IsFunction
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1288
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1288
    functionName: if
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewInt32
    - JS_Call
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->js_ctx && JS_IsFunction(ctx->js_ctx, ctx->period_reset_fun)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1434,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1441,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:1438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DASHDmxCtx*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1446
    functionName: dashdmx_dash_playback_mode
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_get_ipid
    - gf_filter_get_ipid_count
    linkageType: ''
    returnType: u32
    signature: 'static u32 dashdmx_dash_playback_mode(GF_DASHDmxCtx *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_group_get_active_quality
      Src: /src/gpac/src/filters/dmx_dash.c:2860,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:2857,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2863,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2882,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2902,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2904,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2906,1
    - Dst: gf_dash_group_get_template
      Src: /src/gpac/src/filters/dmx_dash.c:2907,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2912,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2916,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2916,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2910,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:2855,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2858,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2865,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2866,1
    - Dst: gf_dash_group_get_active_quality
      Src: /src/gpac/src/filters/dmx_dash.c:2879,1
    - Dst: gf_dash_get_tile_adaptation_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2866,1
    - Dst: gf_dash_get_url
      Src: /src/gpac/src/filters/dmx_dash.c:2892,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2897,1
    - Dst: gf_dash_group_get_quality_info
      Src: /src/gpac/src/filters/dmx_dash.c:2900,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2909,1
    - Dst: gf_dash_group_get_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:2928,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_dash.c:2929,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2921,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2861,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2863,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:2872,1
    - Dst: gf_dash_get_dependent_group_index
      Src: /src/gpac/src/filters/dmx_dash.c:2878,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2883,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2902,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2904,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2912,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_dash.c:2913,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2917,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2917,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2918,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2919,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2919,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2865,1
    - Dst: gf_dash_get_automatic_switching
      Src: /src/gpac/src/filters/dmx_dash.c:2865,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_dash.c:2875,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2866,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2897,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2915,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_dash.c:2915,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:2918,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2921,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_dash.c:2932,1
    - Dst: gf_dash_group_get_representation_id
      Src: /src/gpac/src/filters/dmx_dash.c:2933,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2934,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:2934,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2929,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2849
    functionDepth: 0
    functionLinenumber: 2849
    functionLinenumberEnd: 2937
    functionName: dashdmx_notify_group_quality
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_dash_get_dependent_group_index
    - gf_dash_group_get_segment_duration
    - memset
    - GF_LOG
    - PROP_BOOL
    - PROP_FRAC_INT
    - gf_filter_pid_set_property_str
    - gf_dash_get_automatic_switching
    - gf_dash_group_get_template
    - PROP_STRING
    - PROP_UINT
    - gf_dash_group_get_representation_id
    - gf_dash_get_tile_adaptation_mode
    - gf_dash_get_url
    - gf_dash_group_get_quality_info
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_filter_get_opid_count
    - gf_sys_is_test_mode
    - gf_free
    - strchr
    - gf_filter_get_opid
    - gf_sys_old_arch_compat
    - gf_dash_group_get_active_quality
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_notify_group_quality(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_group_next_seg_info
      Src: /src/gpac/src/filters/dmx_dash.c:278,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_dash.c:306,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:387,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:521,1
    - Dst: gf_filter_pck_new_copy
      Src: /src/gpac/src/filters/dmx_dash.c:242,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:256,1
    - Dst: gf_dash_group_next_seg_info
      Src: /src/gpac/src/filters/dmx_dash.c:289,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/dmx_dash.c:434,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:467,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:471,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/dmx_dash.c:518,1
    - Dst: dashdmx_set_string_list_prop
      Src: /src/gpac/src/filters/dmx_dash.c:324,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:420,1
    - Dst: gf_dash_group_get_presentation_time_offset
      Src: /src/gpac/src/filters/dmx_dash.c:377,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dmx_dash.c:362,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:300,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dmx_dash.c:364,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:516,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_dash.c:330,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:256,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:299,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dmx_dash.c:507,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_dash.c:510,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:518,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/dmx_dash.c:252,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:465,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dmx_dash.c:337,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:435,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:482,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:349,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:266,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:296,1
    - Dst: gf_filter_pck_set_carousel_version
      Src: /src/gpac/src/filters/dmx_dash.c:308,1
    - Dst: gf_dash_get_period_start
      Src: /src/gpac/src/filters/dmx_dash.c:424,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:525,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:464,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:271,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:310,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_dash.c:314,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_dash.c:355,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:521,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:248,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dmx_dash.c:262,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:320,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:255,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:294,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:295,1
    - Dst: gf_dash_is_m3u8
      Src: /src/gpac/src/filters/dmx_dash.c:405,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:407,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_dash.c:249,1
    - Dst: gf_dash_group_next_seg_info
      Src: /src/gpac/src/filters/dmx_dash.c:291,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dmx_dash.c:363,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/dmx_dash.c:370,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dmx_dash.c:265,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:341,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:344,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_dash.c:524,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:349,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/dmx_dash.c:256,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/dmx_dash.c:296,1
    - Dst: PROP_STRING_NO_COPY
      Src: /src/gpac/src/filters/dmx_dash.c:320,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:327,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_dash.c:508,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dmx_dash.c:239,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:280,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_dash.c:281,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:300,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:442,1
    - Dst: gf_dash_group_next_seg_info
      Src: /src/gpac/src/filters/dmx_dash.c:410,1
    - Dst: gf_dash_get_period_duration
      Src: /src/gpac/src/filters/dmx_dash.c:397,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dmx_dash.c:503,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:357,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/dmx_dash.c:247,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:329,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:491,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/dmx_dash.c:344,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:462,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:255,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:281,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:280,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:294,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:295,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_dash.c:332,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dmx_dash.c:339,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_dash.c:509,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:352,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:421,1
    - Dst: dashdmx_set_string_list_prop
      Src: /src/gpac/src/filters/dmx_dash.c:323,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:413,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:433,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:513,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 259
    argCount: 5
    argNames:
    - ctx
    - in_pck
    - in_pid
    - out_pid
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_FilterPacket*
    - GF_FilterPid*
    - GF_FilterPid*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 526
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 526
    functionName: dashdmx_forward_packet
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_dash_group_get_presentation_time_offset
    - gf_filter_pid_is_eos
    - gf_dash_is_m3u8
    - PROP_BOOL
    - GF_LOG
    - PROP_STRING_NO_COPY
    - gf_filter_pid_drop_packet
    - PROP_FRAC64
    - gf_timestamp_rescale
    - gf_filter_pck_get_framing
    - gf_filter_pck_get_timescale
    - gf_dash_get_period_duration
    - gf_timestamp_rescale_signed
    - gf_dash_get_period_start
    - PROP_STRING
    - dashdmx_set_string_list_prop
    - gf_net_get_ntp_ts
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_dash_group_next_seg_info
    - gf_filter_pck_set_duration
    - gf_filter_pck_get_dts
    - gf_filter_pid_get_udta_flags
    - gf_filter_pck_set_property
    - gf_filter_pck_set_carousel_version
    - PROP_LONGUINT
    - gf_filter_pck_new_copy
    - gf_filter_pck_set_framing
    - PROP_DOUBLE
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_set_dts
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - gf_dash_is_dynamic_mpd
    - gf_filter_pid_set_udta_flags
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_forward_packet(GF_DASHDmxCtx *ctx, GF_FilterPacket
      *in_pck, GF_FilterPid *in_pid, GF_FilterPid *out_pid, GF_DASHGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_utc_start
      Src: /src/gpac/src/filters/dmx_dash.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: dashdmx_io_get_utc_start_time
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_utc_start
    linkageType: ''
    returnType: u64
    signature: 'u64 dashdmx_io_get_utc_start_time(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/dmx_dash.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - dashio
    - session
    - start_range
    - end_range
    - discontinue_cache
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    - u64
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 850
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 850
    functionName: dashdmx_io_set_range
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_set_range
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_set_range(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session, u64 start_range, u64 end_range, Bool discontinue_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/dmx_dash.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: dashdmx_io_get_bytes_done
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_stats
    linkageType: ''
    returnType: u32
    signature: 'u32 dashdmx_io_get_bytes_done(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:924,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:924,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:928,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:928,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:932,1
    - Dst: gf_dash_group_get_quality_info
      Src: /src/gpac/src/filters/dmx_dash.c:943,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:958,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:958,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:959,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/dmx_dash.c:959,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:994,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:954,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:975,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dmx_dash.c:983,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dmx_dash.c:951,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:985,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:987,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:913,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dmx_dash.c:916,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:916,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:922,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:923,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:923,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:927,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:927,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:929,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:929,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:961,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dmx_dash.c:952,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:971,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/dmx_dash.c:989,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:957,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:961,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/dmx_dash.c:954,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:965,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dmx_dash.c:975,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:952,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:915,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:915,1
    - Dst: gf_dash_get_period_duration
      Src: /src/gpac/src/filters/dmx_dash.c:916,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:926,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:926,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:930,1
    - Dst: gf_dash_group_get_num_qualities
      Src: /src/gpac/src/filters/dmx_dash.c:937,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:950,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dmx_dash.c:950,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:951,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:960,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:962,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/dmx_dash.c:979,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_dash.c:981,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:962,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:995,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:963,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filters/dmx_dash.c:983,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:967,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:971,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:967,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:974,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:957,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_dash.c:978,1
    - Dst: gf_dash_group_get_srd_info
      Src: /src/gpac/src/filters/dmx_dash.c:919,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:925,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:925,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filters/dmx_dash.c:935,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:949,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:953,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:966,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:966,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:968,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:972,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dmx_dash.c:974,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:992,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:996,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:972,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:953,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 113
    argCount: 2
    argNames:
    - ctx
    - group_idx
    argTypes:
    - GF_DASHDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 997
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 997
    functionName: dashdmx_js_declare_group
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_FreeValue
    - gf_dash_group_get_srd_info
    - JS_NewArray
    - JS_NewObject
    - gf_list_get
    - gf_dash_group_get_quality_info
    - gf_list_count
    - JS_NewInt32
    - JS_NewString
    - JS_NewInt64
    - JS_Call
    - JS_NewFloat64
    - JS_NewBool
    - JS_SetPropertyStr
    - gf_dash_get_period_duration
    - gf_dash_group_get_num_qualities
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_js_declare_group(GF_DASHDmxCtx *ctx, u32 group_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/filters/dmx_dash.c:1453,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1454,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/dmx_dash.c:1456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - src_pid
    argTypes:
    - GF_DASHDmxCtx*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1460
    functionName: dashdmx_group_idx_from_pid
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_dash_get_group_udta
    - gf_dash_get_group_count
    linkageType: ''
    returnType: s32
    signature: 'static s32 dashdmx_group_idx_from_pid(GF_DASHDmxCtx *ctx, GF_FilterPid
      *src_pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3807
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3807
    functionName: dashin_register
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *dashin_register(GF_FilterSession *session) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_dash.c:600,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:621,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dmx_dash.c:610,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:608,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:604,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:625,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:642,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:644,1
    - Dst: gf_dash_group_init_segment_is_media
      Src: /src/gpac/src/filters/dmx_dash.c:654,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_dash.c:642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:579,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/dmx_dash.c:590,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_dash.c:583,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dmx_dash.c:616,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:618,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/dmx_dash.c:640,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:643,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:648,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dmx_dash.c:650,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_dash.c:678,1
    - Dst: gf_dash_group_discard_segment
      Src: /src/gpac/src/filters/dmx_dash.c:682,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:672,1
    - Dst: gf_dash_set_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:645,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:602,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:623,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:631,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:633,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/dmx_dash.c:652,1
    - Dst: gf_cryptfin_set_kms
      Src: /src/gpac/src/filters/dmx_dash.c:670,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:685,1
    - Dst: gf_dash_set_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:587,1
    - Dst: gf_dash_get_url
      Src: /src/gpac/src/filters/dmx_dash.c:589,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/dmx_dash.c:591,1
    - Dst: gf_dash_group_get_segment_init_keys
      Src: /src/gpac/src/filters/dmx_dash.c:594,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:596,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:620,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:606,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:624,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:636,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:637,1
    - Dst: gf_dash_group_get_num_groups_depending_on
      Src: /src/gpac/src/filters/dmx_dash.c:683,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 6
    argNames:
    - ctx
    - group_index
    - mime
    - init_segment_name
    - start_range
    - end_range
    argTypes:
    - GF_DASHDmxCtx*
    - u32
    - char*
    - char*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 688
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 688
    functionName: dashdmx_load_source
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_dash_group_discard_segment
    - gf_error_to_string
    - gf_dash_set_group_udta
    - gf_filter_set_setup_failure_callback
    - gf_dash_group_get_num_groups_depending_on
    - gf_dynstrcat
    - gf_filter_set_source
    - gf_filter_get_sep
    - gf_dash_get_url
    - gf_dash_group_init_segment_is_media
    - sprintf
    - gf_dash_group_get_segment_init_keys
    - memcpy
    - gf_free
    - strnicmp
    - gf_filter_connect_source
    - gf_cryptfin_set_kms
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dashdmx_load_source(GF_DASHDmxCtx *ctx, u32 group_index,
      const char *mime, const char *init_segment_name, u64 start_range, u64 end_range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/dmx_dash.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 758
    functionName: dashdmx_io_del
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_del
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_io_del(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_process
      Src: /src/gpac/src/filters/dmx_dash.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 778
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 778
    functionName: dashdmx_io_run
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_run(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/dmx_dash.c:796,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/dmx_dash.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: dashdmx_io_get_cache_name
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_cache_name
    - gf_fileio_url
    linkageType: ''
    returnType: char*
    signature: 'const char *dashdmx_io_get_cache_name(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/dmx_dash.c:857,1
    - Dst: gf_dm_get_data_rate
      Src: /src/gpac/src/filters/dmx_dash.c:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 865
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 865
    functionName: dashdmx_io_get_bytes_per_sec
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_stats
    - gf_dm_get_data_rate
    linkageType: ''
    returnType: u32
    signature: 'u32 dashdmx_io_get_bytes_per_sec(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dmx_dash.c:1126,1
    - Dst: gf_dash_set_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1274,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:1285,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1277,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filters/dmx_dash.c:1361,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filters/dmx_dash.c:1359,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1125,1
    - Dst: gf_dash_group_get_srd_max_size_info
      Src: /src/gpac/src/filters/dmx_dash.c:1243,1
    - Dst: gf_dash_group_get_quality_info
      Src: /src/gpac/src/filters/dmx_dash.c:1328,1
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/filters/dmx_dash.c:1264,1
    - Dst: gf_dash_get_timeshift_buffer_pos
      Src: /src/gpac/src/filters/dmx_dash.c:1336,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1346,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/dmx_dash.c:1398,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_dash.c:1404,1
    - Dst: gf_dash_is_group_selected
      Src: /src/gpac/src/filters/dmx_dash.c:1148,1
    - Dst: gf_dash_is_group_selected
      Src: /src/gpac/src/filters/dmx_dash.c:1196,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1338,1
    - Dst: gf_dash_get_utc_drift_estimate
      Src: /src/gpac/src/filters/dmx_dash.c:1154,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:1300,1
    - Dst: gf_dash_groups_set_language
      Src: /src/gpac/src/filters/dmx_dash.c:1136,1
    - Dst: gf_dash_group_get_segment_init_url
      Src: /src/gpac/src/filters/dmx_dash.c:1229,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:1320,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1352,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1354,1
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/filters/dmx_dash.c:1187,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:1224,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1355,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1386,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1312,1
    - Dst: gf_dash_group_get_language
      Src: /src/gpac/src/filters/dmx_dash.c:1152,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1179,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1210,1
    - Dst: gf_dash_group_get_num_qualities
      Src: /src/gpac/src/filters/dmx_dash.c:1325,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:1273,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_dash.c:1339,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1278,1
    - Dst: dashdmx_declare_group
      Src: /src/gpac/src/filters/dmx_dash.c:1225,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1162,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:1180,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:1272,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1294,1
    - Dst: gf_dash_get_period_id
      Src: /src/gpac/src/filters/dmx_dash.c:1323,1
    - Dst: gf_dash_group_set_buffer_levels
      Src: /src/gpac/src/filters/dmx_dash.c:1374,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:1179,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1208,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:1271,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:1287,1
    - Dst: gf_dash_group_get_as_id
      Src: /src/gpac/src/filters/dmx_dash.c:1322,1
    - Dst: gf_dash_switch_quality
      Src: /src/gpac/src/filters/dmx_dash.c:1129,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1147,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1151,1
    - Dst: gf_dash_group_set_buffer_levels
      Src: /src/gpac/src/filters/dmx_dash.c:1159,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1206,1
    - Dst: gf_dash_group_set_codec_stat
      Src: /src/gpac/src/filters/dmx_dash.c:1371,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/dmx_dash.c:1136,1
    - Dst: gf_dash_is_group_selectable
      Src: /src/gpac/src/filters/dmx_dash.c:1193,1
    - Dst: gf_dash_group_has_dependent_group
      Src: /src/gpac/src/filters/dmx_dash.c:1223,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:1233,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_dash.c:1347,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1353,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:1391,1
    - Dst: gf_filter_pid_get_next_ts
      Src: /src/gpac/src/filters/dmx_dash.c:1395,1
    - Dst: gf_dash_get_url
      Src: /src/gpac/src/filters/dmx_dash.c:1149,1
    - Dst: gf_dash_group_set_quality_degradation_hint
      Src: /src/gpac/src/filters/dmx_dash.c:1170,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:1256,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:1297,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1337,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1387,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_dash.c:1117,1
    - Dst: dashin_abort
      Src: /src/gpac/src/filters/dmx_dash.c:1131,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1202,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1265,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:1331,1
    - Dst: gf_dash_set_automatic_switching
      Src: /src/gpac/src/filters/dmx_dash.c:1163,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:1217,1
    - Dst: gf_dash_groups_set_language
      Src: /src/gpac/src/filters/dmx_dash.c:1126,1
    - Dst: gf_dash_group_get_num_components
      Src: /src/gpac/src/filters/dmx_dash.c:1153,1
    - Dst: PROP_DOUBLE
      Src: /src/gpac/src/filters/dmx_dash.c:1339,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1175,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1207,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1209,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/dmx_dash.c:1268,1
    - Dst: gf_dash_override_ntp
      Src: /src/gpac/src/filters/dmx_dash.c:1167,1
    - Dst: dashdmx_load_source
      Src: /src/gpac/src/filters/dmx_dash.c:1231,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/dmx_dash.c:1394,1
    - Dst: gf_dash_group_has_dependent_group
      Src: /src/gpac/src/filters/dmx_dash.c:1311,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:1181,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1205,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1345,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1347,1
    - Dst: gf_dash_group_select_quality
      Src: /src/gpac/src/filters/dmx_dash.c:1164,1
    - Dst: gf_dash_group_get_video_info
      Src: /src/gpac/src/filters/dmx_dash.c:1238,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:1286,1
    - Dst: dashdmx_declare_group
      Src: /src/gpac/src/filters/dmx_dash.c:1247,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1128,1
    - Dst: gf_dash_group_loop_detected
      Src: /src/gpac/src/filters/dmx_dash.c:1150,1
    - Dst: gf_dash_group_set_codec_stat
      Src: /src/gpac/src/filters/dmx_dash.c:1158,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1308,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 260
    argCount: 4
    argNames:
    - dashio
    - dash_evt
    - group_idx
    - error_code
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHEventType
    - s32
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1410
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1410
    functionName: dashdmx_io_on_dash_event
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_group_has_dependent_group
    - gf_dash_get_group_count
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - GF_LOG
    - dashin_abort
    - gf_dash_set_automatic_switching
    - gf_filter_pid_get_statistics
    - dashdmx_declare_group
    - gf_filter_remove_src
    - gf_dash_group_get_num_components
    - gf_dash_get_period_id
    - gf_filter_pid_get_timescale
    - gf_filter_pid_set_info
    - gf_dash_is_group_selectable
    - gf_dash_set_group_udta
    - JS_NewInt32
    - strcmp
    - dashdmx_load_source
    - gf_dash_group_get_as_id
    - gf_dash_group_set_quality_degradation_hint
    - JS_Call
    - PROP_UINT
    - gf_dash_get_group_udta
    - gf_dash_group_set_buffer_levels
    - gf_dash_group_get_num_qualities
    - gf_filter_pid_get_next_ts
    - gf_dash_group_select_quality
    - gf_dash_switch_quality
    - gf_dash_get_url
    - gf_dash_get_utc_drift_estimate
    - gf_dash_group_get_quality_info
    - gf_dash_group_get_segment_init_url
    - gf_filter_pid_get_udta
    - gf_filter_send_event
    - PROP_DOUBLE
    - gf_filter_post_process_task
    - gf_dash_group_get_srd_max_size_info
    - gf_dash_group_get_video_info
    - gf_filter_get_opid_count
    - gf_free
    - gf_dash_override_ntp
    - gf_filter_get_opid
    - gf_filter_pid_send_event
    - gf_opts_get_key
    - gf_dash_group_get_language
    - JS_FreeValue
    - gf_sys_is_cov_mode
    - gf_dash_is_dynamic_mpd
    - gf_dash_get_timeshift_buffer_pos
    - gf_dash_group_set_codec_stat
    - gf_dash_group_select
    - gf_timestamp_greater
    - gf_filter_setup_failure
    - gf_dash_groups_set_language
    - gf_filter_pid_set_udta_flags
    - gf_dash_group_enum_descriptor
    - gf_dash_group_loop_detected
    - gf_dash_is_group_selected
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_on_dash_event(GF_DASHFileIO *dashio, GF_DASHEventType
      dash_evt, s32 group_idx, GF_Err error_code) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1984,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1991,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2001,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2026,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2031,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_dash.c:2066,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2069,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:2071,1
    - Dst: gf_dash_open
      Src: /src/gpac/src/filters/dmx_dash.c:2075,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_dash.c:2078,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2098,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:2115,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:2133,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2101,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:2138,1
    - Dst: dashdmx_create_output_pid
      Src: /src/gpac/src/filters/dmx_dash.c:2129,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2057,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2084,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2117,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2139,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1993,1
    - Dst: gf_dash_close
      Src: /src/gpac/src/filters/dmx_dash.c:1998,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2009,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2016,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/dmx_dash.c:2048,1
    - Dst: gf_fileio_from_mem
      Src: /src/gpac/src/filters/dmx_dash.c:2049,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_dash.c:2068,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_dash.c:2077,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_dash.c:2085,1
    - Dst: gf_dash_is_m3u8
      Src: /src/gpac/src/filters/dmx_dash.c:2087,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:2145,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:2147,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:2097,1
    - Dst: dashdmx_declare_properties
      Src: /src/gpac/src/filters/dmx_dash.c:2155,1
    - Dst: gf_dash_set_group_done
      Src: /src/gpac/src/filters/dmx_dash.c:2144,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2114,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_dash.c:2099,1
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_dash.c:2082,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2159,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filters/dmx_dash.c:1995,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1992,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dmx_dash.c:2045,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:2052,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2055,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_dash.c:2067,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:2071,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2077,1
    - Dst: gf_dash_is_smooth_streaming
      Src: /src/gpac/src/filters/dmx_dash.c:2087,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2094,1
    - Dst: dashdmx_group_idx_from_pid
      Src: /src/gpac/src/filters/dmx_dash.c:2109,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2120,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2126,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2111,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2131,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2123,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_dash.c:2004,1
    - Dst: gf_dash_all_groups_done
      Src: /src/gpac/src/filters/dmx_dash.c:2005,1
    - Dst: gf_dash_in_last_period
      Src: /src/gpac/src/filters/dmx_dash.c:2005,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dmx_dash.c:2006,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:2028,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_dash.c:2015,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2008,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_dash.c:2033,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_dash.c:2042,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_dash.c:2044,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2130,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:2112,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:2141,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2148,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 159
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 2162
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2162
    functionName: dashdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_dash_is_m3u8
    - gf_filter_pck_ref
    - GF_FEVT_INIT
    - GF_LOG
    - dashdmx_declare_properties
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_drop_packet
    - gf_filter_pid_remove
    - gf_filter_remove_src
    - gf_filter_pck_get_data
    - strstr
    - gf_dash_is_smooth_streaming
    - gf_filter_get_udta
    - gf_dash_in_last_period
    - gf_dash_all_groups_done
    - gf_dash_open
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_filter_pid_copy_properties
    - gf_strdup
    - PROP_UINT
    - gf_dash_get_group_udta
    - gf_filter_pid_get_udta
    - gf_filter_pid_set_property
    - gf_filter_post_process_task
    - gf_filter_get_opid_count
    - strchr
    - gf_dash_close
    - gf_free
    - gf_filter_get_opid
    - gf_filter_pck_unref
    - gf_fileio_from_mem
    - gf_filter_pid_send_event
    - dashdmx_group_idx_from_pid
    - gf_filter_pid_set_name
    - gf_filter_pid_get_property
    - gf_dash_set_group_done
    - gf_filter_pid_check_caps
    - gf_dash_group_select
    - gf_filter_setup_failure
    - dashdmx_create_output_pid
    - gf_fclose
    - gf_filter_pid_set_udta_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dashdmx_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2552,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2561,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_dash.c:2564,1
    - Dst: gf_dash_del
      Src: /src/gpac/src/filters/dmx_dash.c:2555,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2558,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2565,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_dash.c:2565,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_dash.c:2566,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_dash.c:2569,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2570,1
    - Dst: dashdmx_cleanup_js
      Src: /src/gpac/src/filters/dmx_dash.c:2580,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/dmx_dash.c:2575,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/dmx_dash.c:2576,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_dash.c:2571,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_dash.c:2570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2582
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2582
    functionName: dashdmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_dash_del
    - gf_list_count
    - gf_free
    - gf_fclose
    - gf_filter_pck_unref
    - dashdmx_cleanup_js
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_delete_cached_file_entry_session
      Src: /src/gpac/src/filters/dmx_dash.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - dashio
    - session
    - cache_url
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    - char*
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    functionName: dashdmx_io_delete_cache_file
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_delete_cached_file_entry_session
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_io_delete_cache_file(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session, const char *cache_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_process_headers
      Src: /src/gpac/src/filters/dmx_dash.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 768
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 768
    functionName: dashdmx_io_init
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_process_headers
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_init(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_resource_name
      Src: /src/gpac/src/filters/dmx_dash.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: dashdmx_io_get_url
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_resource_name
    linkageType: ''
    returnType: char*
    signature: 'const char *dashdmx_io_get_url(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_mime_type
      Src: /src/gpac/src/filters/dmx_dash.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 810
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 810
    functionName: dashdmx_io_get_mime
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_mime_type
    linkageType: ''
    returnType: char*
    signature: 'const char *dashdmx_io_get_mime(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/dmx_dash.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 884
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 884
    functionName: dashdmx_io_get_status
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_stats
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_io_get_status(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/src/filters/dmx_dash.c:1415,1
    - Dst: gf_dash_get_min_buffer_time
      Src: /src/gpac/src/filters/dmx_dash.c:1421,1
    - Dst: gf_dash_set_user_buffer
      Src: /src/gpac/src/filters/dmx_dash.c:1426,1
    - Dst: gf_dash_group_set_max_buffer_playout
      Src: /src/gpac/src/filters/dmx_dash.c:1428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1429
    functionName: dashdmx_setup_buffer
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_get_min_buffer_time
    - gf_dash_set_user_buffer
    - gf_filter_get_output_buffer_max
    - gf_dash_group_set_max_buffer_playout
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_setup_buffer(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2231,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2232,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2234,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2233,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2235,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2238,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2240,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/filters/dmx_dash.c:2242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DASHDmxCtx*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2247
    functionName: dashdmx_cleanup_js
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_js_delete_context
    - JS_FreeValue
    - gf_js_lock
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_cleanup_js(GF_DASHDmxCtx *ctx) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2424,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2428,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_dash.c:2452,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/filters/dmx_dash.c:2451,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_dash.c:2444,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2432,1
    - Dst: gf_dash_set_max_resolution
      Src: /src/gpac/src/filters/dmx_dash.c:2485,1
    - Dst: gf_dash_set_utc_shift
      Src: /src/gpac/src/filters/dmx_dash.c:2489,1
    - Dst: gf_dash_enable_utc_drift_compensation
      Src: /src/gpac/src/filters/dmx_dash.c:2492,1
    - Dst: gf_dash_set_segment_expiration_threshold
      Src: /src/gpac/src/filters/dmx_dash.c:2496,1
    - Dst: gf_dash_enable_cross_as_switch
      Src: /src/gpac/src/filters/dmx_dash.c:2510,1
    - Dst: dashdmx_on_filter_setup_error
      Src: /src/gpac/src/filters/dmx_dash.c:2540,1
    - Dst: gf_dash_set_switching_probe_count
      Src: /src/gpac/src/filters/dmx_dash.c:2497,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2539,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2425,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2429,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_dash.c:2445,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_dash.c:2457,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_dash.c:2458,1
    - Dst: dashdmx_initialize_js
      Src: /src/gpac/src/filters/dmx_dash.c:2466,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/dmx_dash.c:2484,1
    - Dst: gf_dash_set_algo
      Src: /src/gpac/src/filters/dmx_dash.c:2488,1
    - Dst: gf_dash_set_min_timeout_between_404
      Src: /src/gpac/src/filters/dmx_dash.c:2495,1
    - Dst: gf_dash_enable_single_range_llhls
      Src: /src/gpac/src/filters/dmx_dash.c:2499,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/dmx_dash.c:2545,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2478,1
    - Dst: gf_dash_set_low_latency_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2504,1
    - Dst: gf_dash_disable_low_quality_tiles
      Src: /src/gpac/src/filters/dmx_dash.c:2507,1
    - Dst: gf_dash_ignore_xlink
      Src: /src/gpac/src/filters/dmx_dash.c:2502,1
    - Dst: gf_filter_block_eos
      Src: /src/gpac/src/filters/dmx_dash.c:2518,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2422,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2426,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_dash.c:2446,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:2443,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_dash.c:2454,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:2456,1
    - Dst: gf_dash_set_mcast_ast_shift
      Src: /src/gpac/src/filters/dmx_dash.c:2491,1
    - Dst: gf_dash_set_tile_adaptation_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2493,1
    - Dst: gf_dash_set_agressive_adaptation
      Src: /src/gpac/src/filters/dmx_dash.c:2498,1
    - Dst: gf_dash_debug_groups
      Src: /src/gpac/src/filters/dmx_dash.c:2500,1
    - Dst: gf_dash_set_auto_switch
      Src: /src/gpac/src/filters/dmx_dash.c:2509,1
    - Dst: gf_dash_set_algo_custom
      Src: /src/gpac/src/filters/dmx_dash.c:2523,1
    - Dst: gf_dash_set_suggested_presentation_delay
      Src: /src/gpac/src/filters/dmx_dash.c:2490,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2514,1
    - Dst: gf_dash_split_adaptation_sets
      Src: /src/gpac/src/filters/dmx_dash.c:2506,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2371,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2423,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/dmx_dash.c:2375,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2427,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filters/dmx_dash.c:2440,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/dmx_dash.c:2441,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dmx_dash.c:2453,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2463,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2468,1
    - Dst: gf_dash_new
      Src: /src/gpac/src/filters/dmx_dash.c:2475,1
    - Dst: gf_dash_set_algo_custom
      Src: /src/gpac/src/filters/dmx_dash.c:2526,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/dmx_dash.c:2534,1
    - Dst: gf_dash_set_chaining_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2508,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dmx_dash.c:2522,1
    - Dst: gf_dash_set_period_xlink_query_string
      Src: /src/gpac/src/filters/dmx_dash.c:2503,1
    - Dst: gf_dash_disable_speed_adaptation
      Src: /src/gpac/src/filters/dmx_dash.c:2501,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/dmx_dash.c:2534,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 158
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2548
    functionName: dashdmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_get_download_manager
    - gf_dash_debug_groups
    - gf_dash_set_low_latency_mode
    - gf_dash_set_utc_shift
    - gf_dash_enable_single_range_llhls
    - gf_dash_enable_cross_as_switch
    - GF_LOG
    - gf_filter_get_session_caps
    - gf_dash_disable_speed_adaptation
    - gf_dash_set_algo_custom
    - gf_filter_set_blocking
    - gf_filter_override_caps
    - gf_dash_set_segment_expiration_threshold
    - gf_dash_set_agressive_adaptation
    - strstr
    - gf_filter_get_udta
    - dashdmx_on_filter_setup_error
    - gf_dash_set_max_resolution
    - strcmp
    - strcpy
    - gf_filter_block_eos
    - GF_ARRAY_LENGTH
    - gf_dash_new
    - gf_dash_set_auto_switch
    - gf_dash_set_tile_adaptation_mode
    - JS_IsFunction
    - gf_dash_set_suggested_presentation_delay
    - gf_file_exists
    - gf_dash_set_switching_probe_count
    - gf_dash_set_period_xlink_query_string
    - gf_sys_is_test_mode
    - dashdmx_initialize_js
    - strcat
    - gf_sys_is_cov_mode
    - gf_dash_set_mcast_ast_shift
    - gf_dash_set_min_timeout_between_404
    - gf_dash_split_adaptation_sets
    - gf_dash_ignore_xlink
    - gf_dash_disable_low_quality_tiles
    - gf_dash_set_chaining_mode
    - gf_opts_default_shared_directory
    - gf_dash_enable_utc_drift_compensation
    - gf_dash_set_algo
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dashdmx_initialize(GF_Filter *filter) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gf_dash_group_get_num_groups_depending_on
      Src: /src/gpac/src/filters/dmx_dash.c:2611,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2633,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2659,1
    - Dst: gf_dash_group_set_visible_rect
      Src: /src/gpac/src/filters/dmx_dash.c:2674,1
    - Dst: gf_dash_set_speed
      Src: /src/gpac/src/filters/dmx_dash.c:2721,1
    - Dst: gf_dash_set_timeshift
      Src: /src/gpac/src/filters/dmx_dash.c:2736,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:2763,1
    - Dst: gf_dash_group_get_presentation_time_offset
      Src: /src/gpac/src/filters/dmx_dash.c:2773,1
    - Dst: gf_dash_set_group_done
      Src: /src/gpac/src/filters/dmx_dash.c:2799,1
    - Dst: gf_dash_set_max_resolution
      Src: /src/gpac/src/filters/dmx_dash.c:2834,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_dash.c:2788,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2787,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:2767,1
    - Dst: gf_dash_get_period_switch_status
      Src: /src/gpac/src/filters/dmx_dash.c:2751,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2604,1
    - Dst: gf_dash_group_select_quality
      Src: /src/gpac/src/filters/dmx_dash.c:2619,1
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/filters/dmx_dash.c:2632,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:2640,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2671,1
    - Dst: gf_dash_in_period_setup
      Src: /src/gpac/src/filters/dmx_dash.c:2709,1
    - Dst: gf_dash_get_period_duration
      Src: /src/gpac/src/filters/dmx_dash.c:2710,1
    - Dst: gf_dash_get_period_start
      Src: /src/gpac/src/filters/dmx_dash.c:2712,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:2749,1
    - Dst: gf_dash_group_get_start_range
      Src: /src/gpac/src/filters/dmx_dash.c:2772,1
    - Dst: gf_dash_set_speed
      Src: /src/gpac/src/filters/dmx_dash.c:2827,1
    - Dst: gf_dash_set_group_done
      Src: /src/gpac/src/filters/dmx_dash.c:2764,1
    - Dst: gf_dash_group_select
      Src: /src/gpac/src/filters/dmx_dash.c:2800,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2806,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dmx_dash.c:2779,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2591,1
    - Dst: gf_dash_set_automatic_switching
      Src: /src/gpac/src/filters/dmx_dash.c:2601,1
    - Dst: gf_dash_set_tile_adaptation_mode
      Src: /src/gpac/src/filters/dmx_dash.c:2599,1
    - Dst: gf_dash_set_automatic_switching
      Src: /src/gpac/src/filters/dmx_dash.c:2618,1
    - Dst: gf_dash_switch_quality
      Src: /src/gpac/src/filters/dmx_dash.c:2621,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2665,1
    - Dst: gf_dash_group_get_presentation_time_offset
      Src: /src/gpac/src/filters/dmx_dash.c:2688,1
    - Dst: gf_dash_is_m3u8
      Src: /src/gpac/src/filters/dmx_dash.c:2703,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2731,1
    - Dst: gf_dash_group_segment_switch_forced
      Src: /src/gpac/src/filters/dmx_dash.c:2761,1
    - Dst: gf_dash_group_seek
      Src: /src/gpac/src/filters/dmx_dash.c:2757,1
    - Dst: dashdmx_setup_buffer
      Src: /src/gpac/src/filters/dmx_dash.c:2777,1
    - Dst: gf_dash_group_set_quality_degradation_hint
      Src: /src/gpac/src/filters/dmx_dash.c:2608,1
    - Dst: gf_dash_get_dependent_group_index
      Src: /src/gpac/src/filters/dmx_dash.c:2614,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_dash.c:2636,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2642,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_dash.c:2636,1
    - Dst: dashdmx_opid_from_group
      Src: /src/gpac/src/filters/dmx_dash.c:2637,1
    - Dst: gf_dash_override_ntp
      Src: /src/gpac/src/filters/dmx_dash.c:2626,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dmx_dash.c:2661,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:2664,1
    - Dst: gf_dash_seek
      Src: /src/gpac/src/filters/dmx_dash.c:2738,1
    - Dst: gf_filter_get_session_caps
      Src: /src/gpac/src/filters/dmx_dash.c:2833,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:2822,1
    - Dst: gf_dash_get_period_switch_status
      Src: /src/gpac/src/filters/dmx_dash.c:2742,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 173
    argCount: 2
    argNames:
    - filter
    - fevt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 2846
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2846
    functionName: dashdmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_get_dependent_group_index
    - strlen
    - gf_dash_group_get_presentation_time_offset
    - gf_dash_in_period_setup
    - gf_dash_get_group_count
    - gf_dash_is_m3u8
    - strncmp
    - GF_FEVT_INIT
    - gf_dash_group_get_start_range
    - gf_dash_seek
    - GF_LOG
    - gf_filter_get_session_caps
    - gf_dash_set_automatic_switching
    - gf_dash_get_period_duration
    - gf_filter_get_udta
    - gf_dash_set_max_resolution
    - gf_dash_get_period_start
    - gf_filter_prevent_blocking
    - gf_dash_group_set_quality_degradation_hint
    - gf_dash_get_group_udta
    - gf_dash_group_get_num_groups_depending_on
    - gf_dash_group_select_quality
    - gf_dash_switch_quality
    - gf_dash_set_tile_adaptation_mode
    - gf_filter_pid_get_udta
    - gf_dash_set_timeshift
    - gf_filter_send_event
    - gf_filter_post_process_task
    - gf_dash_group_segment_switch_forced
    - gf_dash_override_ntp
    - gf_dash_set_speed
    - gf_filter_get_ipid
    - gf_filter_pid_send_event
    - gf_dash_group_seek
    - gf_dash_get_period_switch_status
    - gf_filter_get_ipid_count
    - gf_dash_group_set_visible_rect
    - dashdmx_setup_buffer
    - gf_dash_is_dynamic_mpd
    - gf_dash_set_group_done
    - gf_dash_group_select
    - dashdmx_opid_from_group
    linkageType: ''
    returnType: Bool
    signature: 'static Bool dashdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *fevt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - udta
    - group_idx
    - base_group_idx
    - force_lower_complexity
    - stats
    argTypes:
    - void*
    - u32
    - u32
    - Bool
    - GF_DASHCustomAlgoInfo*
    constantsTouched: []
    func_position:
      end: 3815
      start: 3811
    functionDepth: 0
    functionLinenumber: 3811
    functionLinenumberEnd: 3815
    functionName: dashdmx_rate_adaptation_ext
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: s32
    signature: 'static s32 dashdmx_rate_adaptation_ext(void *udta, u32 group_idx,
      u32 base_group_idx, Bool force_lower_complexity, GF_DASHCustomAlgoInfo *stats) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dashdmx_js_declare_group
      Src: /src/gpac/src/filters/dmx_dash.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - JS_IsFunction
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1007
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1007
    functionName: if
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - dashdmx_js_declare_group
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->js_ctx && JS_IsFunction(ctx->js_ctx, ctx->new_group_fun)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:1179,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:1181,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1179,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - JS_IsFunction
    argTypes:
    - ctx
    constantsTouched: []
    func_position:
      end: 1182
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1182
    functionName: if
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_is_dynamic_mpd
    - JS_FreeValue
    - JS_NewInt32
    - JS_Call
    linkageType: ''
    returnType: else
    signature: 'else if (ctx->js_ctx && JS_IsFunction(ctx->js_ctx, ctx->period_reset_fun)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1466,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1468,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1472
    functionName: dashdmx_opid_from_group
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_udta
    - gf_filter_get_opid
    - gf_filter_get_opid_count
    linkageType: ''
    returnType: GF_FilterPid*
    signature: 'static GF_FilterPid *dashdmx_opid_from_group(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1538,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:1539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - cbk
    - prop_4cc
    - prop_name
    - src_prop
    argTypes:
    - void*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1542
    functionName: dashdmx_merge_prop
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_get_property_str
    linkageType: ''
    returnType: Bool
    signature: 'Bool dashdmx_merge_prop(void *cbk, u32 prop_4cc, const char *prop_name,
      const GF_PropertyValue *src_prop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:2189,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dmx_dash.c:2192,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2184,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2199,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2188,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2187,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2188,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2195,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2172,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2173,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2177,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2177,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2178,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2180,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2182,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dmx_dash.c:2180,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2182,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2184,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2185,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2187,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:2176,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2174,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2198,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2185,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dmx_dash.c:2193,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filters/dmx_dash.c:2175,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2178,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2179,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2181,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2183,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/filters/dmx_dash.c:2179,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2181,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2183,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2186,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2186,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 5
    argNames:
    - udta
    - group
    - base_group
    - force_lower_complexity
    - stats
    argTypes:
    - void*
    - u32
    - u32
    - Bool
    - GF_DASHCustomAlgoInfo*
    constantsTouched: []
    func_position:
      end: 2201
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2201
    functionName: dashdmx_algo_js
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - gf_js_lock
    - JS_IsException
    - JS_NewInt32
    - js_dump_error
    - JS_ToInt32
    - JS_Call
    - JS_NewFloat64
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: s32
    signature: 'static s32 dashdmx_algo_js(void *udta, u32 group, u32 base_group,
      Bool force_lower_complexity, GF_DASHCustomAlgoInfo *stats) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2953,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2970,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2967,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_dash.c:2961,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/dmx_dash.c:2958,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2973,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dmx_dash.c:2976,1
    - Dst: gf_dash_group_check_bandwidth
      Src: /src/gpac/src/filters/dmx_dash.c:2977,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_dash.c:2979,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2984,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:3001,1
    - Dst: gf_filter_get_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:2990,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dmx_dash.c:2999,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:2991,1
    - Dst: gf_filter_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:2987,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_dash.c:3005,1
    - Dst: gf_dash_group_store_stats
      Src: /src/gpac/src/filters/dmx_dash.c:2999,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 3006
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 3006
    functionName: dashdmx_update_group_stats
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dash_group_check_bandwidth
    - gf_filter_release_property
    - gf_filter_get_info_str
    - strcmp
    - gf_dash_group_store_stats
    - gf_sys_clock
    - gf_sys_clock_high_res
    - gf_filter_get_info
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_update_group_stats(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dmx_dash.c:3228,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3230,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_dash.c:3231,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:3232,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:3233,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:3235,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:3236,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_DASHDmxCtx*
    constantsTouched: []
    func_position:
      end: 3242
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3242
    functionName: dashin_abort
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_get_ipid_count
    - gf_filter_pid_set_eos
    - gf_filter_get_opid_count
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dashin_abort(GF_DASHDmxCtx *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1478,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1487,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1483,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1489,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:1496,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1499,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1503,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1505,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1485,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1501,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dmx_dash.c:1507,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dmx_dash.c:1514,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1488,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dmx_dash.c:1512,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filters/dmx_dash.c:1517,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/dmx_dash.c:1525,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1504,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1494,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_dash.c:1530,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - input
    - run_status
    - for_group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_FilterPid*
    - u32*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1531
    functionName: dashdmx_create_output_pid
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_props_equal
    - gf_filter_get_opid_count
    - gf_filter_pid_is_playing
    - gf_filter_get_opid
    linkageType: ''
    returnType: GF_FilterPid*
    signature: 'static GF_FilterPid *dashdmx_create_output_pid(GF_DASHDmxCtx *ctx,
      GF_FilterPid *input, u32 *run_status, GF_DASHGroup *for_group) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1553,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1562,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1558,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1566,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1589,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1607,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1613,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1555,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1559,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1563,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1567,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1585,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1593,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1591,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1603,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1604,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1608,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1597,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1598,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1580,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1612,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1571,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1576,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1577,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_dash.c:1581,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 2
    argNames:
    - q_desc
    - qinfo
    argTypes:
    - char**
    - GF_DASHQualityInfo*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1616
    functionName: dashdm_format_qinfo
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void dashdm_format_qinfo(char **q_desc, GF_DASHQualityInfo
      *qinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:2212,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2217,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2217,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2209,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2211,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2214,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dmx_dash.c:2214,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2218,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2218,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2213,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2213,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2215,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dmx_dash.c:2215,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filters/dmx_dash.c:2221,1
    - Dst: JS_Call
      Src: /src/gpac/src/filters/dmx_dash.c:2219,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2216,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2220,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filters/dmx_dash.c:2216,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2223,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filters/dmx_dash.c:2225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 8
    argNames:
    - udta
    - group
    - bits_per_sec
    - total_bytes
    - bytes_done
    - us_since_start
    - buffer_dur_ms
    - current_seg_dur
    argTypes:
    - void*
    - u32
    - u32
    - u64
    - u64
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2227
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2227
    functionName: dashdmx_download_monitor_js
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - gf_js_lock
    - JS_NewInt32
    - JS_NewInt64
    - JS_ToInt32
    - JS_Call
    - JS_SetPropertyStr
    linkageType: ''
    returnType: s32
    signature: 's32 dashdmx_download_monitor_js(void *udta, u32 group, u32 bits_per_sec,
      u64 total_bytes, u64 bytes_done, u64 us_since_start, u32 buffer_dur_ms, u32
      current_seg_dur) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:2259,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filters/dmx_dash.c:2265,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dmx_dash.c:2263,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2262,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2264,1
    - Dst: dashdmx_cleanup_js
      Src: /src/gpac/src/filters/dmx_dash.c:2269,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filters/dmx_dash.c:2272,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2275,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2276,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2277,1
    - Dst: gf_dash_set_algo_custom
      Src: /src/gpac/src/filters/dmx_dash.c:2283,1
    - Dst: gf_dash_set_algo_custom
      Src: /src/gpac/src/filters/dmx_dash.c:2280,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dmx_dash.c:2279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - f
    - ctx
    - obj
    argTypes:
    - GF_Filter*
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 2287
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2287
    functionName: dashdmx_bind_js
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - JS_FreeValue
    - JS_IsFunction
    - GET_FUN
    - js_throw_err_msg
    - gf_dash_set_algo_custom
    - JS_DupValue
    - dashdmx_cleanup_js
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue dashdmx_bind_js(GF_Filter *f, JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: dashdmx_opid_from_group
      Src: /src/gpac/src/filters/dmx_dash.c:3039,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3079,1
    - Dst: gf_dash_group_get_next_segment_location
      Src: /src/gpac/src/filters/dmx_dash.c:3098,1
    - Dst: dashdmx_update_group_stats
      Src: /src/gpac/src/filters/dmx_dash.c:3089,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_dash.c:3121,1
    - Dst: gf_cryptfin_set_kms
      Src: /src/gpac/src/filters/dmx_dash.c:3150,1
    - Dst: gf_dash_group_store_stats
      Src: /src/gpac/src/filters/dmx_dash.c:3191,1
    - Dst: gf_cryptfin_set_kms
      Src: /src/gpac/src/filters/dmx_dash.c:3199,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_dash.c:3209,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/dmx_dash.c:3212,1
    - Dst: gf_dash_is_smooth_streaming
      Src: /src/gpac/src/filters/dmx_dash.c:3021,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:3041,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:3069,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3121,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_dash.c:3142,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:3160,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_dash.c:3161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3166,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3175,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filters/dmx_dash.c:3182,1
    - Dst: gf_dash_group_discard_segment
      Src: /src/gpac/src/filters/dmx_dash.c:3034,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:3043,1
    - Dst: gf_dash_get_period_switch_status
      Src: /src/gpac/src/filters/dmx_dash.c:3057,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:3068,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3075,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3070,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_dash.c:3072,1
    - Dst: dashdmx_notify_group_quality
      Src: /src/gpac/src/filters/dmx_dash.c:3139,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:3153,1
    - Dst: gf_net_get_ntp_ts
      Src: /src/gpac/src/filters/dmx_dash.c:3171,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:3205,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:3220,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dmx_dash.c:3028,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3032,1
    - Dst: gf_dash_process
      Src: /src/gpac/src/filters/dmx_dash.c:3052,1
    - Dst: gf_dash_in_last_period
      Src: /src/gpac/src/filters/dmx_dash.c:3057,1
    - Dst: dashdmx_update_group_stats
      Src: /src/gpac/src/filters/dmx_dash.c:3092,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_dash.c:3118,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:3172,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:3215,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:3204,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 163
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    constantsTouched: []
    func_position:
      end: 3221
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3221
    functionName: dashdmx_switch_segment
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - GF_LOG
    - gf_dash_group_store_stats
    - dashdmx_notify_group_quality
    - gf_dash_is_smooth_streaming
    - gf_dash_group_discard_segment
    - gf_dash_in_last_period
    - gf_error_to_string
    - gf_strdup
    - strcmp
    - gf_filter_ask_rt_reschedule
    - gf_net_get_ntp_ts
    - gf_assert
    - gf_filter_pid_get_udta
    - gf_filter_send_event
    - gf_dash_process
    - gf_filter_get_opid_count
    - gf_free
    - gf_filter_pid_would_block
    - gf_filter_get_opid
    - gf_filter_pid_send_event
    - gf_dash_get_period_switch_status
    - gf_cryptfin_set_kms
    - dashdmx_update_group_stats
    - gf_dash_group_get_next_segment_location
    - gf_sys_clock_high_res
    - dashdmx_opid_from_group
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_switch_segment(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:3302,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3334,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3358,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3395,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_dash.c:3478,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3529,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/dmx_dash.c:3451,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3528,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/dmx_dash.c:3558,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_dash.c:3306,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3330,1
    - Dst: gf_filter_pid_get_timescale
      Src: /src/gpac/src/filters/dmx_dash.c:3402,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dmx_dash.c:3443,1
    - Dst: gf_dash_get_period_switch_status
      Src: /src/gpac/src/filters/dmx_dash.c:3544,1
    - Dst: dashdmx_switch_segment
      Src: /src/gpac/src/filters/dmx_dash.c:3412,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/dmx_dash.c:3454,1
    - Dst: gf_dash_get_group_done
      Src: /src/gpac/src/filters/dmx_dash.c:3528,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_dash.c:3539,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3436,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3516,1
    - Dst: dashdmx_process_event
      Src: /src/gpac/src/filters/dmx_dash.c:3288,1
    - Dst: dashdmx_process_event
      Src: /src/gpac/src/filters/dmx_dash.c:3292,1
    - Dst: gf_filter_pid_is_playing
      Src: /src/gpac/src/filters/dmx_dash.c:3358,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/dmx_dash.c:3373,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3511,1
    - Dst: gf_filter_get_num_events_queued
      Src: /src/gpac/src/filters/dmx_dash.c:3484,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3515,1
    - Dst: gf_dash_group_push_tfrf
      Src: /src/gpac/src/filters/dmx_dash.c:3402,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/dmx_dash.c:3404,1
    - Dst: gf_dash_process
      Src: /src/gpac/src/filters/dmx_dash.c:3304,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3370,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3496,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3500,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3397,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dmx_dash.c:3414,1
    - Dst: dashdmx_update_group_stats
      Src: /src/gpac/src/filters/dmx_dash.c:3422,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3430,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3546,1
    - Dst: gf_dash_get_group_count
      Src: /src/gpac/src/filters/dmx_dash.c:3265,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3335,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:3439,1
    - Dst: dashdmx_switch_segment
      Src: /src/gpac/src/filters/dmx_dash.c:3442,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_dash.c:3457,1
    - Dst: gf_dash_is_in_setup
      Src: /src/gpac/src/filters/dmx_dash.c:3557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3437,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_dash.c:3472,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:3284,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_dash.c:3348,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3429,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dmx_dash.c:3452,1
    - Dst: gf_filter_prevent_blocking
      Src: /src/gpac/src/filters/dmx_dash.c:3310,1
    - Dst: gf_filter_pid_get_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:3406,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:3440,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3384,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3392,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3389,1
    - Dst: gf_dash_request_period_switch
      Src: /src/gpac/src/filters/dmx_dash.c:3552,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/dmx_dash.c:3560,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3251,1
    - Dst: dashin_abort
      Src: /src/gpac/src/filters/dmx_dash.c:3314,1
    - Dst: gf_dash_get_min_wait_ms
      Src: /src/gpac/src/filters/dmx_dash.c:3319,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_dash.c:3343,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3366,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:3378,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:3400,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_dash.c:3540,1
    - Dst: dashdmx_update_group_stats
      Src: /src/gpac/src/filters/dmx_dash.c:3409,1
    - Dst: dashdmx_forward_packet
      Src: /src/gpac/src/filters/dmx_dash.c:3463,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:3282,1
    - Dst: gf_dash_get_group_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3267,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:3286,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/dmx_dash.c:3323,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3367,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/dmx_dash.c:3388,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3433,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3501,1
    - Dst: dashdmx_configure_pid
      Src: /src/gpac/src/filters/dmx_dash.c:3260,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_dash.c:3300,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filters/dmx_dash.c:3396,1
    - Dst: gf_filter_pid_set_udta_flags
      Src: /src/gpac/src/filters/dmx_dash.c:3407,1
    - Dst: gf_dash_in_last_period
      Src: /src/gpac/src/filters/dmx_dash.c:3490,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 266
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3563
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3563
    functionName: dashdmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_get_num_events_queued
    - memset
    - gf_dash_get_group_count
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_release_property
    - gf_dash_request_period_switch
    - dashin_abort
    - gf_filter_pid_drop_packet
    - dashdmx_switch_segment
    - gf_timestamp_rescale
    - gf_filter_pid_set_eos
    - gf_filter_pid_is_playing
    - gf_filter_get_udta
    - dashdmx_forward_packet
    - gf_dash_in_last_period
    - gf_filter_pid_get_timescale
    - gf_dash_get_group_done
    - gf_filter_pid_get_packet
    - gf_filter_prevent_blocking
    - gf_filter_ask_rt_reschedule
    - gf_dash_get_group_udta
    - gf_filter_pid_clear_eos
    - gf_dash_group_push_tfrf
    - gf_filter_pck_get_dts
    - gf_filter_pid_get_udta_flags
    - gf_dash_is_in_setup
    - gf_filter_pid_get_udta
    - gf_filter_pid_get_info_str
    - gf_filter_post_process_task
    - gf_filter_get_opid_count
    - gf_dash_process
    - gf_dash_get_min_wait_ms
    - gf_filter_pid_would_block
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - gf_filter_pid_send_event
    - gf_dash_get_period_switch_status
    - gf_filter_get_ipid_count
    - dashdmx_update_group_stats
    - dashdmx_configure_pid
    - dashdmx_process_event
    - gf_filter_pid_set_udta_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err dashdmx_process(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:3571,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:3572,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:3573,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:3574,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:3575,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 3596
      start: 3565
    functionDepth: 0
    functionLinenumber: 3565
    functionLinenumberEnd: 3596
    functionName: dashdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'static const char *dashdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/dmx_dash.c:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: dashdmx_io_abort
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_abort
    linkageType: ''
    returnType: void
    signature: 'void dashdmx_io_abort(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dashdmx_js_declare_group
      Src: /src/gpac/src/filters/dmx_dash.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - group_idx
    argTypes:
    - GF_DASHDmxCtx*
    - u32
    constantsTouched: []
    func_position:
      end: 1009
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: dashdmx_declare_group
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - dashdmx_js_declare_group
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_declare_group(GF_DASHDmxCtx *ctx, u32 group_idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:722,1
    - Dst: gf_dm_sess_force_memory_mode
      Src: /src/gpac/src/filters/dmx_dash.c:728,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/dmx_dash.c:731,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/dmx_dash.c:743,1
    - Dst: gf_dm_sess_detach_async
      Src: /src/gpac/src/filters/dmx_dash.c:726,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - dashio
    - persistent
    - url
    - group_idx
    argTypes:
    - GF_DASHFileIO*
    - Bool
    - char*
    - s32
    constantsTouched: []
    func_position:
      end: 749
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 749
    functionName: dashdmx_io_create
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_dm_sess_setup_from_url
    - gf_filter_pid_get_property
    - gf_dm_sess_detach_async
    - gf_dm_sess_force_memory_mode
    linkageType: ''
    returnType: GF_DASHFileIOSession
    signature: 'GF_DASHFileIOSession dashdmx_io_create(GF_DASHFileIO *dashio, Bool
      persistent, const char *url, s32 group_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/dmx_dash.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dashio
    - session
    argTypes:
    - GF_DASHFileIO*
    - GF_DASHFileIOSession
    constantsTouched: []
    func_position:
      end: 897
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 897
    functionName: dashdmx_io_get_total_size
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_get_stats
    linkageType: ''
    returnType: u32
    signature: 'u32 dashdmx_io_get_total_size(GF_DASHFileIO *dashio, GF_DASHFileIOSession
      session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1020,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1022,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dmx_dash.c:1029,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_dash.c:1027,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_dash.c:1028,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_dash.c:1030,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_dash.c:1038,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1039,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1041,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_dash.c:1046,1
    - Dst: memmove
      Src: /src/gpac/src/filters/dmx_dash.c:1047,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - manifest_payload
    - manifest_payload_len
    - keep_base_url
    - relative_url
    argTypes:
    - char*
    - u32
    - GF_DASHBaseURLControlMode
    - char*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1052
    functionName: process_base_url
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - strlen
    - memmove
    - strstr
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void process_base_url(char *manifest_payload, u32 manifest_payload_len,
      GF_DASHBaseURLControlMode keep_base_url, const char *relative_url) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1651,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1665,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:1689,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filters/dmx_dash.c:1697,1
    - Dst: gf_dash_group_get_quality_info
      Src: /src/gpac/src/filters/dmx_dash.c:1780,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:1703,1
    - Dst: gf_dash_get_max_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1812,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_dash.c:1826,1
    - Dst: gf_dash_get_utc_drift_estimate
      Src: /src/gpac/src/filters/dmx_dash.c:1850,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1884,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1636,1
    - Dst: gf_dash_group_get_num_qualities
      Src: /src/gpac/src/filters/dmx_dash.c:1706,1
    - Dst: gf_dash_group_get_time_shift_buffer_depth
      Src: /src/gpac/src/filters/dmx_dash.c:1806,1
    - Dst: gf_dash_get_max_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1813,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1836,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1847,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1928,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1934,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1956,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1946,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1725,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1637,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_dash.c:1643,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:1853,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1873,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1915,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_dash.c:1924,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1928,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_dash.c:1935,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1950,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1748,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_dash.c:1733,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1641,1
    - Dst: gf_dash_set_low_latency_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1692,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1722,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1827,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:1847,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1880,1
    - Dst: atoi
      Src: /src/gpac/src/filters/dmx_dash.c:1885,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1895,1
    - Dst: gf_dash_group_next_seg_info
      Src: /src/gpac/src/filters/dmx_dash.c:1948,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1942,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_dash.c:1629,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1671,1
    - Dst: gf_dash_get_min_buffer_time
      Src: /src/gpac/src/filters/dmx_dash.c:1675,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1723,1
    - Dst: gf_dash_group_get_srd_info
      Src: /src/gpac/src/filters/dmx_dash.c:1760,1
    - Dst: gf_dash_is_dynamic_mpd
      Src: /src/gpac/src/filters/dmx_dash.c:1804,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1818,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1830,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_dash.c:1842,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1942,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:1959,1
    - Dst: gf_dash_get_base_group_index
      Src: /src/gpac/src/filters/dmx_dash.c:1967,1
    - Dst: gf_dash_get_period_id
      Src: /src/gpac/src/filters/dmx_dash.c:1970,1
    - Dst: dashdm_format_qinfo
      Src: /src/gpac/src/filters/dmx_dash.c:1736,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1650,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_dash.c:1729,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1796,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:1744,1
    - Dst: dashdmx_notify_group_quality
      Src: /src/gpac/src/filters/dmx_dash.c:1897,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1918,1
    - Dst: gf_dash_group_get_as_id
      Src: /src/gpac/src/filters/dmx_dash.c:1973,1
    - Dst: gf_dash_group_get_representation_id
      Src: /src/gpac/src/filters/dmx_dash.c:1963,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1964,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/dmx_dash.c:1731,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1720,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1651,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dmx_dash.c:1665,1
    - Dst: gf_dash_is_low_latency
      Src: /src/gpac/src/filters/dmx_dash.c:1684,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_dash.c:1738,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:1772,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1818,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1826,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1884,1
    - Dst: gf_sys_old_arch_compat
      Src: /src/gpac/src/filters/dmx_dash.c:1962,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1907,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:1789,1
    - Dst: gf_dash_group_get_num_qualities
      Src: /src/gpac/src/filters/dmx_dash.c:1774,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1768,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1649,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1650,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1680,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1786,1
    - Dst: gf_dash_get_info
      Src: /src/gpac/src/filters/dmx_dash.c:1825,1
    - Dst: gf_filter_pid_merge_properties
      Src: /src/gpac/src/filters/dmx_dash.c:1903,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1924,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_dash.c:1946,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1885,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/dmx_dash.c:1658,1
    - Dst: gf_dash_group_get_sar
      Src: /src/gpac/src/filters/dmx_dash.c:1656,1
    - Dst: gf_dash_group_get_time_shift_buffer_depth
      Src: /src/gpac/src/filters/dmx_dash.c:1669,1
    - Dst: gf_dash_group_get_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1807,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1845,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:1850,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1971,1
    - Dst: gf_filter_pid_set_info_dyn
      Src: /src/gpac/src/filters/dmx_dash.c:1787,1
    - Dst: gf_dash_group_get_as_id
      Src: /src/gpac/src/filters/dmx_dash.c:1634,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filters/dmx_dash.c:1696,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1698,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1724,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:1749,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_dash.c:1770,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1794,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_dash.c:1799,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1866,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1935,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_dash.c:1639,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1658,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_dash.c:1671,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_dash.c:1776,1
    - Dst: gf_dash_get_max_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1682,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1820,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1842,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_dash.c:1883,1
    - Dst: PROP_NAME
      Src: /src/gpac/src/filters/dmx_dash.c:1907,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_dash.c:1796,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1799,1
    - Dst: gf_dash_group_has_init_segment
      Src: /src/gpac/src/filters/dmx_dash.c:1798,1
    - Dst: dashdm_format_qinfo
      Src: /src/gpac/src/filters/dmx_dash.c:1783,1
    - Dst: gf_dash_get_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1663,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1698,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1849,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_dash.c:1870,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1885,1
    - Dst: gf_dash_group_get_clearkey_uri
      Src: /src/gpac/src/filters/dmx_dash.c:1932,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1667,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1676,1
    - Dst: gf_dash_group_get_srd_info
      Src: /src/gpac/src/filters/dmx_dash.c:1857,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1929,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1943,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1974,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1974,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1971,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/dmx_dash.c:1748,1
    - Dst: gf_dash_get_dependent_group_index
      Src: /src/gpac/src/filters/dmx_dash.c:1758,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/dmx_dash.c:1827,1
    - Dst: gf_dash_group_enum_descriptor
      Src: /src/gpac/src/filters/dmx_dash.c:1840,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dmx_dash.c:1876,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1959,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1968,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1968,1
    - Dst: gf_dash_get_period_start
      Src: /src/gpac/src/filters/dmx_dash.c:1958,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1964,1
    - Dst: strstr
      Src: /src/gpac/src/filters/dmx_dash.c:1721,1
    - Dst: dashdmx_dash_playback_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1646,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1676,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_dash.c:1752,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/dmx_dash.c:1850,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1874,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/dmx_dash.c:1929,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1943,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1950,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_dash.c:1956,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1934,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_dash.c:1794,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/dmx_dash.c:1654,1
    - Dst: gf_dash_group_get_quality_info
      Src: /src/gpac/src/filters/dmx_dash.c:1710,1
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:1854,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_dash.c:1865,1
    - Dst: gf_dash_group_get_segment_duration
      Src: /src/gpac/src/filters/dmx_dash.c:1945,1
    - Dst: gf_dash_group_get_representation_id
      Src: /src/gpac/src/filters/dmx_dash.c:1954,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 340
    argCount: 6
    argNames:
    - ctx
    - group
    - group_idx
    - opid
    - ipid
    - is_period_switch
    argTypes:
    - GF_DASHDmxCtx*
    - GF_DASHGroup*
    - u32
    - GF_FilterPid*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1976
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1976
    functionName: dashdmx_declare_properties
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_info_dyn
    - gf_malloc
    - gf_dash_get_dependent_group_index
    - dashdmx_dash_playback_mode
    - gf_dash_set_low_latency_mode
    - memset
    - gf_dash_group_get_segment_duration
    - strncmp
    - PROP_DATA
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_merge_properties
    - dashdmx_notify_group_quality
    - PROP_FRAC_INT
    - gf_filter_pid_set_property_str
    - PROP_FRAC64_INT
    - gf_dash_get_min_buffer_time
    - gf_dash_group_get_sar
    - strstr
    - gf_dash_is_low_latency
    - gf_dash_get_period_id
    - gf_filter_pid_set_info
    - gf_dash_get_period_start
    - gf_dash_group_get_as_id
    - gf_filter_pid_copy_properties
    - gf_strdup
    - gf_dash_get_max_segment_duration
    - PROP_STRING
    - strcmp
    - PROP_UINT
    - atoi
    - gf_dash_group_get_representation_id
    - gf_dash_group_next_seg_info
    - gf_dash_get_base_group_index
    - gf_dash_group_get_num_qualities
    - gf_dash_get_duration
    - gf_dash_group_get_quality_info
    - PROP_LONGUINT
    - gf_dash_get_utc_drift_estimate
    - sprintf
    - gf_filter_pid_set_property
    - dashdm_format_qinfo
    - PROP_NAME
    - gf_filter_get_opid_count
    - gf_sys_is_test_mode
    - gf_filter_pid_set_info_str
    - gf_filter_get_opid
    - gf_dash_group_get_clearkey_uri
    - gf_sys_old_arch_compat
    - gf_dash_group_has_init_segment
    - gf_dash_group_get_srd_info
    - gf_dash_group_get_time_shift_buffer_depth
    - gf_filter_pid_set_name
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_dash_get_info
    - gf_dash_is_dynamic_mpd
    - PROP_FRAC
    - gf_opts_get_bool
    - gf_dash_group_enum_descriptor
    - PROP_SINT
    linkageType: ''
    returnType: void
    signature: 'static void dashdmx_declare_properties(GF_DASHDmxCtx *ctx, GF_DASHGroup
      *group, u32 group_idx, GF_FilterPid *opid, GF_FilterPid *ipid, Bool is_period_switch) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/dmx_dash.c:2299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2304,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filters/dmx_dash.c:2311,1
    - Dst: js_load_constants
      Src: /src/gpac/src/filters/dmx_dash.c:2312,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2315,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filters/dmx_dash.c:2315,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/filters/dmx_dash.c:2319,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2317,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filters/dmx_dash.c:2338,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2349,1
    - Dst: gf_js_create_context
      Src: /src/gpac/src/filters/dmx_dash.c:2302,1
    - Dst: JS_SetContextOpaque
      Src: /src/gpac/src/filters/dmx_dash.c:2308,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_dash.c:2315,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2326,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filters/dmx_dash.c:2316,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filters/dmx_dash.c:2330,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2332,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2336,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2340,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2342,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_dash.c:2329,1
    - Dst: JS_Eval
      Src: /src/gpac/src/filters/dmx_dash.c:2325,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2348,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_dash.c:2305,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filters/dmx_dash.c:2328,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/filters/dmx_dash.c:2321,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/dmx_dash.c:2319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2331,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filters/dmx_dash.c:2335,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filters/dmx_dash.c:2339,1
    - Dst: GET_FUN
      Src: /src/gpac/src/filters/dmx_dash.c:2347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - dashctx
    - jsfile
    argTypes:
    - GF_DASHDmxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 2351
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2351
    functionName: dashdmx_initialize_js
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_file_load_data
    - JS_NewObject
    - js_load_constants
    - JS_IsException
    - GF_LOG
    - JS_Eval
    - js_dump_error
    - gf_file_basename
    - JS_SetContextOpaque
    - JS_DetectModule
    - JS_IsFunction
    - JS_NewString
    - qjs_init_all_modules
    - gf_free
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    - JS_FreeValue
    - GET_FUN
    - gf_js_create_context
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err dashdmx_initialize_js(GF_DASHDmxCtx *dashctx, char *jsfile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/dmx_dash.c:3832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 8
    argNames:
    - udta
    - group_idx
    - bits_per_sec
    - total_bytes
    - bytes_done
    - us_since_start
    - buffer_dur_ms
    - current_seg_dur
    argTypes:
    - void*
    - u32
    - u32
    - u64
    - u64
    - u64
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 3840
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3840
    functionName: dashdmx_download_monitor_ext
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: s32
    signature: 'static s32 dashdmx_download_monitor_ext(void *udta, u32 group_idx,
      u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start, u32 buffer_dur_ms,
      u32 current_seg_dur) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_instance_of
      Src: /src/gpac/src/filters/dmx_dash.c:3853,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_dash.c:3855,1
    - Dst: gf_dash_set_algo
      Src: /src/gpac/src/filters/dmx_dash.c:3872,1
    - Dst: gf_dash_set_algo_custom
      Src: /src/gpac/src/filters/dmx_dash.c:3864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 20
    argCount: 6
    argNames:
    - filter
    - udta
    - (*period_reset)
    - (*new_group)
    - (*rate_adaptation)
    - (*download_monitor)
    argTypes:
    - GF_Filter*
    - void*
    - void
    - void
    - s32
    - s32
    constantsTouched: []
    func_position:
      end: 3878
      start: 3844
    functionDepth: 0
    functionLinenumber: 3844
    functionLinenumberEnd: 3878
    functionName: gf_filter_bind_dash_algo_callbacks
    functionSourceFile: /src/gpac/src/filters/dmx_dash.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_is_instance_of
    - gf_dash_set_algo
    - gf_dash_set_algo_custom
    linkageType: ''
    returnType: GF_EXPORT
    signature: "GF_EXPORT GF_Err gf_filter_bind_dash_algo_callbacks(GF_Filter *filter,
      void *udta,\t\tvoid (*period_reset)(void *udta, u32 type),\t\tvoid (*new_group)(void
      *udta, u32 group_idx, void *dash),\t\ts32 (*rate_adaptation)(void *udta, u32
      group_idx, u32 base_group_idx, Bool force_low_complex, void *stats),\t\ts32
      (*download_monitor)(void *udta, u32 group_idx, void *stats)) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/filters/load_bt_xmt.c:95,1
    - Dst: CTXLoad_ExecuteConditional
      Src: /src/gpac/src/filters/load_bt_xmt.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: CTXLoad_OnActivate
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - CTXLoad_ExecuteConditional
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void CTXLoad_OnActivate(GF_Node *node, GF_Route *route) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_tag
      Src: /src/gpac/src/filters/load_bt_xmt.c:112,1
    - Dst: gf_scene_node_callback
      Src: /src/gpac/src/filters/load_bt_xmt.c:118,1
    - Dst: gf_node_set_private
      Src: /src/gpac/src/filters/load_bt_xmt.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - cbk
    - type
    - node
    - param
    argTypes:
    - void*
    - GF_SGNodeCbkType
    - GF_Node*
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: CTXLoad_NodeCallback
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_node_set_private
    - gf_node_get_tag
    - gf_scene_node_callback
    linkageType: ''
    returnType: void
    signature: 'void CTXLoad_NodeCallback(void *cbk, GF_SGNodeCbkType type, GF_Node
      *node, void *param) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/load_bt_xmt.c:188,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:222,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:217,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:239,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:251,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:248,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:236,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:159,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/load_bt_xmt.c:171,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/load_bt_xmt.c:178,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:175,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/load_bt_xmt.c:192,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:200,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_bt_xmt.c:210,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:213,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_bt_xmt.c:214,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:215,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:230,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:233,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:245,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/load_bt_xmt.c:165,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/load_bt_xmt.c:212,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_bt_xmt.c:213,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/load_bt_xmt.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:214,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filters/load_bt_xmt.c:242,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 258
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 258
    functionName: ctxload_configure_pid
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_set_udta
    - gf_filter_set_name
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - strcmp
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ctxload_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - od
    - ESID
    argTypes:
    - GF_ObjectDescriptor*
    - u32
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: CTXLoad_StreamInRootOD
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool CTXLoad_StreamInRootOD(GF_ObjectDescriptor *od, u32 ESID) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:341,1
    - Dst: CTXLoad_StreamInRootOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:344,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:350,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:348,1
    - Dst: gf_scene_set_duration
      Src: /src/gpac/src/filters/load_bt_xmt.c:357,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:360,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_bt_xmt.c:360,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_bt_xmt.c:363,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - priv
    argTypes:
    - CTXLoadPriv*
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: CTXLoad_CheckStreams
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - CTXLoad_StreamInRootOD
    - gf_list_enum
    - gf_list_count
    - PROP_STRING
    - gf_filter_pid_set_property
    - gf_filter_pid_set_eos
    - gf_scene_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void CTXLoad_CheckStreams(CTXLoadPriv *priv ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:816,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:822,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:819,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/load_bt_xmt.c:823,1
    - Dst: gf_sm_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: ctxload_finalize
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_sm_del
    - gf_fclose
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'static void ctxload_finalize(GF_Filter *filter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_utf_get_string_from_bom
      Src: /src/gpac/src/filters/load_bt_xmt.c:842,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:867,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:887,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:899,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:899,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:903,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:903,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:924,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:924,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:931,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:947,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_bt_xmt.c:961,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:950,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:950,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:954,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:855,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:862,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_bt_xmt.c:847,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:869,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:891,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:897,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:897,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_bt_xmt.c:913,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:920,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:920,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:935,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:946,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:935,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:946,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:948,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:951,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:934,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:951,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:948,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_bt_xmt.c:872,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:892,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:886,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:901,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:901,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:905,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:905,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:933,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:933,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:934,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:952,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:940,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:949,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:932,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:859,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:880,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:890,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:882,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:882,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:895,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_bt_xmt.c:883,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:895,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:931,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:932,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:949,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:952,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:947,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 167
    argCount: 3
    argNames:
    - probe_data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 969
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 969
    functionName: ctxload_probe_data
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - gf_utf_get_string_from_bom
    - gf_strmemstr
    - strchr
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static const char *ctxload_probe_data(const u8 *probe_data, u32 size,
      GF_FilterProbeScore *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1017
    functionName: btplay_register
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *btplay_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sg_command_apply_list
      Src: /src/gpac/src/filters/load_bt_xmt.c:79,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:83,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:82,1
    - Dst: gf_node_get_graph
      Src: /src/gpac/src/filters/load_bt_xmt.c:79,1
    - Dst: gf_scene_get_time
      Src: /src/gpac/src/filters/load_bt_xmt.c:79,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:84,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:85,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - c
    - scene
    argTypes:
    - M_Conditional*
    - GF_Scene*
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: CTXLoad_ExecuteConditional
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_sg_command_apply_list
    - gf_list_get
    - gf_sg_command_del
    - gf_list_del
    - gf_list_count
    - gf_node_get_graph
    - gf_scene_get_time
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void CTXLoad_ExecuteConditional(M_Conditional *c, GF_Scene
      *scene) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_node_get_private
      Src: /src/gpac/src/filters/load_bt_xmt.c:103,1
    - Dst: CTXLoad_ExecuteConditional
      Src: /src/gpac/src/filters/load_bt_xmt.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - node
    - route
    argTypes:
    - GF_Node*
    - GF_Route*
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: CTXLoad_OnReverseActivate
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - CTXLoad_ExecuteConditional
    - gf_node_get_private
    linkageType: ''
    returnType: void
    signature: 'static void CTXLoad_OnReverseActivate(GF_Node *node, GF_Route *route) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_sm_new
      Src: /src/gpac/src/filters/load_bt_xmt.c:127,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_bt_xmt.c:128,1
    - Dst: gf_get_default_cache_directory
      Src: /src/gpac/src/filters/load_bt_xmt.c:135,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_bt_xmt.c:140,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:142,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:144,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:145,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:146,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:147,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:148,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:149,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:151,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_bt_xmt.c:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - filter
    - priv
    argTypes:
    - GF_Filter*
    - CTXLoadPriv*
    constantsTouched: []
    func_position:
      end: 155
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 155
    functionName: CTXLoad_Setup
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_get_property
    - strcmp
    - gf_get_default_cache_directory
    - gf_sm_new
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err CTXLoad_Setup(GF_Filter *filter, CTXLoadPriv *priv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:263,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_bt_xmt.c:274,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:284,1
    - Dst: gf_sm_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:275,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/load_bt_xmt.c:286,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:287,1
    - Dst: gf_sg_set_node_callback
      Src: /src/gpac/src/filters/load_bt_xmt.c:293,1
    - Dst: CTXLoad_Setup
      Src: /src/gpac/src/filters/load_bt_xmt.c:297,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - com
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 305
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 305
    functionName: ctxload_process_event
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_sg_set_node_callback
    - gf_filter_pid_get_udta
    - CTXLoad_Setup
    - gf_sm_del
    - gf_filter_get_ipid_count
    - gf_sm_load_done
    - gf_filter_get_ipid
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ctxload_process_event(GF_Filter *filter, const GF_FilterEvent
      *com) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_utc_time_since_1970
      Src: /src/gpac/src/filters/load_bt_xmt.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cbk
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: CTXLoad_GetVRMLTime
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_utc_time_since_1970
    linkageType: ''
    returnType: Double
    signature: 'Double CTXLoad_GetVRMLTime(void *cbk) '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_bt_xmt.c:395,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:397,1
    - Dst: ctxload_configure_pid
      Src: /src/gpac/src/filters/load_bt_xmt.c:405,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/load_bt_xmt.c:462,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/load_bt_xmt.c:491,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:592,1
    - Dst: gf_clock_time
      Src: /src/gpac/src/filters/load_bt_xmt.c:552,1
    - Dst: gf_sm_load_run
      Src: /src/gpac/src/filters/load_bt_xmt.c:521,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:661,1
    - Dst: gf_odf_com_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:770,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_bt_xmt.c:522,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:627,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:646,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:635,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:597,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_bt_xmt.c:734,1
    - Dst: gf_scene_find_odm
      Src: /src/gpac/src/filters/load_bt_xmt.c:758,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:797,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_bt_xmt.c:534,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:633,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_bt_xmt.c:442,1
    - Dst: gf_sm_load_init
      Src: /src/gpac/src/filters/load_bt_xmt.c:507,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:653,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:749,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/load_bt_xmt.c:496,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:687,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:729,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:732,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/load_bt_xmt.c:733,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/load_bt_xmt.c:799,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_bt_xmt.c:400,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/load_bt_xmt.c:468,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:620,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/filters/load_bt_xmt.c:603,1
    - Dst: gf_sm_import_bifs_subtitle
      Src: /src/gpac/src/filters/load_bt_xmt.c:706,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:716,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/load_bt_xmt.c:767,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:550,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:584,1
    - Dst: gf_odm_check_buffering
      Src: /src/gpac/src/filters/load_bt_xmt.c:430,1
    - Dst: CTXLoad_CheckStreams
      Src: /src/gpac/src/filters/load_bt_xmt.c:498,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_bt_xmt.c:598,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/load_bt_xmt.c:585,1
    - Dst: gf_sc_sys_frame_pending
      Src: /src/gpac/src/filters/load_bt_xmt.c:611,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:641,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:574,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/load_bt_xmt.c:723,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_bt_xmt.c:378,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/load_bt_xmt.c:495,1
    - Dst: gf_sm_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:529,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:748,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/load_bt_xmt.c:779,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:785,1
    - Dst: gf_timestamp_to_clocktime
      Src: /src/gpac/src/filters/load_bt_xmt.c:575,1
    - Dst: gf_scene_attach_to_compositor
      Src: /src/gpac/src/filters/load_bt_xmt.c:542,1
    - Dst: gf_clock_diff
      Src: /src/gpac/src/filters/load_bt_xmt.c:577,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_bt_xmt.c:433,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:440,1
    - Dst: CTXLoad_Setup
      Src: /src/gpac/src/filters/load_bt_xmt.c:445,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/load_bt_xmt.c:510,1
    - Dst: CTXLoad_CheckStreams
      Src: /src/gpac/src/filters/load_bt_xmt.c:540,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:703,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:709,1
    - Dst: gf_fileio_from_mem
      Src: /src/gpac/src/filters/load_bt_xmt.c:401,1
    - Dst: CTXLoad_CheckStreams
      Src: /src/gpac/src/filters/load_bt_xmt.c:509,1
    - Dst: gf_sg_command_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:593,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:666,1
    - Dst: gf_odf_encode_ui_config
      Src: /src/gpac/src/filters/load_bt_xmt.c:681,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:683,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/load_bt_xmt.c:692,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_bt_xmt.c:732,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/load_bt_xmt.c:742,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:743,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_bt_xmt.c:794,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_bt_xmt.c:528,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:591,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:645,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_bt_xmt.c:383,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/load_bt_xmt.c:404,1
    - Dst: CTXLoad_Setup
      Src: /src/gpac/src/filters/load_bt_xmt.c:415,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_bt_xmt.c:469,1
    - Dst: gf_sm_load_done
      Src: /src/gpac/src/filters/load_bt_xmt.c:482,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:596,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:636,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:786,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:541,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_bt_xmt.c:420,1
    - Dst: CTXLoad_StreamInRootOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:657,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:682,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:685,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_bt_xmt.c:694,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_bt_xmt.c:697,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_bt_xmt.c:787,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_bt_xmt.c:737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_bt_xmt.c:648,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:651,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/load_bt_xmt.c:472,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:783,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/load_bt_xmt.c:809,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/load_bt_xmt.c:726,1
    - Dst: gf_sg_set_scene_time_callback
      Src: /src/gpac/src/filters/load_bt_xmt.c:514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_bt_xmt.c:532,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_bt_xmt.c:732,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/load_bt_xmt.c:532,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/load_bt_xmt.c:398,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_bt_xmt.c:479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_bt_xmt.c:614,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_bt_xmt.c:626,1
    - Dst: gf_odm_disconnect
      Src: /src/gpac/src/filters/load_bt_xmt.c:759,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_bt_xmt.c:391,1
    - Dst: gf_fileio_url
      Src: /src/gpac/src/filters/load_bt_xmt.c:402,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_bt_xmt.c:448,1
    - Dst: gf_sg_set_scene_size_info
      Src: /src/gpac/src/filters/load_bt_xmt.c:524,1
    - Dst: gf_sg_command_apply
      Src: /src/gpac/src/filters/load_bt_xmt.c:621,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_bt_xmt.c:590,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:678,1
    - Dst: ODS_SetupOD
      Src: /src/gpac/src/filters/load_bt_xmt.c:715,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_bt_xmt.c:737,1
    - Dst: gf_clock_set_time
      Src: /src/gpac/src/filters/load_bt_xmt.c:431,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/load_bt_xmt.c:432,1
    - Dst: gf_sm_load_string
      Src: /src/gpac/src/filters/load_bt_xmt.c:488,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_bt_xmt.c:610,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_bt_xmt.c:741,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 347
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 811
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 811
    functionName: ctxload_process
    functionSourceFile: /src/gpac/src/filters/load_bt_xmt.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - gf_odf_encode_ui_config
    - gf_filter_pck_ref
    - CTXLoad_CheckStreams
    - CTXLoad_Setup
    - GF_LOG
    - gf_sm_load_string
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_odf_desc_del
    - gf_filter_pck_get_framing
    - gf_odf_com_del
    - gf_fseek
    - gf_scene_find_odm
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_sg_command_del
    - gf_list_del
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - gf_sg_set_scene_time_callback
    - gf_sm_del
    - gf_sc_sys_frame_pending
    - gf_strdup
    - gf_filter_ask_rt_reschedule
    - gf_odf_desc_new
    - ODS_SetupOD
    - strcpy
    - gf_sm_load_done
    - gf_fopen
    - gf_scene_attach_to_compositor
    - gf_sg_set_scene_size_info
    - gf_list_insert
    - gf_list_get
    - CTXLoad_StreamInRootOD
    - gf_timestamp_to_clocktime
    - gf_list_enum
    - gf_odm_check_buffering
    - gf_fread
    - gf_sys_clock
    - gf_clock_time
    - gf_sm_load_run
    - gf_free
    - ctxload_configure_pid
    - gf_sg_command_apply
    - gf_fileio_from_mem
    - gf_filter_pck_unref
    - gf_sm_load_init
    - gf_fileio_url
    - gf_url_concatenate
    - gf_sm_import_bifs_subtitle
    - strcat
    - gf_filter_pid_get_property
    - gf_clock_set_time
    - gf_list_rem
    - gf_clock_diff
    - gf_odm_disconnect
    - gf_fclose
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ctxload_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - frame
    - plane_idx
    - outPlane
    - outStride
    argTypes:
    - GF_FilterFrameInterface*
    - u32
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: vcrop_frame_get_plane
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err vcrop_frame_get_plane(GF_FilterFrameInterface *frame, u32 plane_idx,
      const u8 **outPlane, u32 *outStride) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/vcrop.c:112,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/vcrop.c:109,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:127,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/vcrop.c:186,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vcrop.c:151,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/vcrop.c:184,1
    - Dst: gf_filter_pck_new_frame_interface
      Src: /src/gpac/src/filters/vcrop.c:213,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vcrop.c:222,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/vcrop.c:227,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/vcrop.c:124,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/vcrop.c:125,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:128,1
    - Dst: gf_filter_pck_ref
      Src: /src/gpac/src/filters/vcrop.c:218,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/vcrop.c:230,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:256,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:265,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:289,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vcrop.c:319,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:304,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vcrop.c:121,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/vcrop.c:219,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/vcrop.c:220,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:248,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:312,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/vcrop.c:318,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vcrop.c:108,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/vcrop.c:120,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/vcrop.c:113,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:190,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/vcrop.c:155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:150,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/vcrop.c:243,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/vcrop.c:278,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 331
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 321
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 321
    functionName: vcrop_process
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_ref
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - GF_SAFEALLOC
    - gf_filter_pck_get_data
    - gf_list_pop_back
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_get_packet
    - gf_filter_pck_new_frame_interface
    - gf_filter_pck_get_frame_interface
    - memcpy
    - gf_filter_pck_send
    - gf_pixel_get_bytes_per_pixel
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vcrop_process(GF_Filter *filter) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vcrop.c:454,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vcrop.c:482,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:519,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:527,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:541,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:548,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:551,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:553,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/vcrop.c:559,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/vcrop.c:470,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/vcrop.c:463,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vcrop.c:476,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/vcrop.c:528,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:549,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:555,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:557,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:565,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/vcrop.c:458,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/vcrop.c:467,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vcrop.c:478,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/vcrop.c:510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:530,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:548,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:551,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:553,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:559,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:562,1
    - Dst: PROP_VEC2I
      Src: /src/gpac/src/filters/vcrop.c:562,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vcrop.c:480,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/vcrop.c:484,1
    - Dst: parse_crop_props
      Src: /src/gpac/src/filters/vcrop.c:498,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/vcrop.c:509,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/vcrop.c:517,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/vcrop.c:549,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:555,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/vcrop.c:557,1
    - Dst: PROP_VEC2I
      Src: /src/gpac/src/filters/vcrop.c:565,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 137
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 568
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 568
    functionName: vcrop_configure_pid
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - memset
    - gf_pixel_get_size_info
    - PROP_VEC2I
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_filter_pid_check_caps
    - parse_crop_props
    - PROP_UINT
    - PROP_FRAC
    - gf_filter_pid_remove
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vcrop_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/vcrop.c:337,1
    - Dst: strchr
      Src: /src/gpac/src/filters/vcrop.c:340,1
    - Dst: atoi
      Src: /src/gpac/src/filters/vcrop.c:350,1
    - Dst: atoi
      Src: /src/gpac/src/filters/vcrop.c:356,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:398,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:416,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:441,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:331,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:383,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/vcrop.c:390,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:387,1
    - Dst: atoi
      Src: /src/gpac/src/filters/vcrop.c:362,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:417,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:418,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:419,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:430,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:432,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:440,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:332,1
    - Dst: strchr
      Src: /src/gpac/src/filters/vcrop.c:353,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:382,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:386,1
    - Dst: GET_DIM
      Src: /src/gpac/src/filters/vcrop.c:388,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:429,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:438,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:439,1
    - Dst: ROUND_IT
      Src: /src/gpac/src/filters/vcrop.c:433,1
    - Dst: memset
      Src: /src/gpac/src/filters/vcrop.c:333,1
    - Dst: atoi
      Src: /src/gpac/src/filters/vcrop.c:343,1
    - Dst: strchr
      Src: /src/gpac/src/filters/vcrop.c:347,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 99
    argCount: 4
    argNames:
    - ctx
    - src_w
    - src_h
    - pfmt
    argTypes:
    - GF_VCropCtx*
    - u32
    - u32
    - GF_PixelFormat
    constantsTouched: []
    func_position:
      end: 446
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 446
    functionName: parse_crop_props
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached:
    - memset
    - ROUND_IT
    - GF_LOG
    - strchr
    - GET_DIM
    - atoi
    linkageType: ''
    returnType: Bool
    signature: 'static Bool parse_crop_props(GF_VCropCtx *ctx, u32 src_w, u32 src_h,
      GF_PixelFormat pfmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/vcrop.c:85,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/vcrop.c:91,1
    - Dst: gf_filter_pck_unref
      Src: /src/gpac/src/filters/vcrop.c:89,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/vcrop.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: vcrop_packet_destruct
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_assert
    - gf_filter_pck_get_frame_interface
    - gf_filter_pck_unref
    linkageType: ''
    returnType: void
    signature: 'void vcrop_packet_destruct(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/vcrop.c:572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/vcrop.c:574,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/vcrop.c:575,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/vcrop.c:576,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/vcrop.c:578,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/vcrop.c:581,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/vcrop.c:582,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/vcrop.c:583,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/vcrop.c:585,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 587
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 587
    functionName: vcrop_finalize
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void vcrop_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: vcrop_register
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vcrop_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: vcrop_register
    functionSourceFile: /src/gpac/src/filters/vcrop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vcrop_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawvid.c:435,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_rawvid.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: rawvidreframe_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_discard
    - gf_filter_get_udta
    linkageType: ''
    returnType: void
    signature: 'static void rawvidreframe_finalize(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawvid.c:183,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawvid.c:218,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawvid.c:221,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_rawvid.c:230,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 243
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 243
    functionName: rawvidreframe_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - gf_filter_pck_discard
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool rawvidreframe_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawvid.c:62,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_rawvid.c:67,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_rawvid.c:89,1
    - Dst: gf_pixel_fmt_parse
      Src: /src/gpac/src/filters/reframe_rawvid.c:100,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawvid.c:124,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_rawvid.c:130,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:139,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_rawvid.c:140,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:141,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:143,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_rawvid.c:147,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:145,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:162,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:168,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:172,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:79,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_rawvid.c:81,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_rawvid.c:83,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:85,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:96,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:86,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:86,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:88,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawvid.c:105,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/reframe_rawvid.c:133,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:146,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:154,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:159,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:147,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_rawvid.c:72,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:94,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:89,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawvid.c:109,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/reframe_rawvid.c:123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:139,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:137,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:140,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:141,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:143,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:146,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_rawvid.c:173,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:174,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:134,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/reframe_rawvid.c:168,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:78,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/reframe_rawvid.c:84,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:85,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:88,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_rawvid.c:132,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:136,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:137,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:145,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/reframe_rawvid.c:149,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/reframe_rawvid.c:151,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:154,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:134,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:172,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:136,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:174,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 134
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 177
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 177
    functionName: rawvidreframe_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_pixel_fmt_parse
    - gf_pixel_get_size_info
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - strcmp
    - PROP_BOOL
    - gf_filter_pid_set_property
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - PROP_FRAC
    - PROP_UINT
    - gf_sys_is_test_mode
    - gf_filter_pid_remove
    - PROP_FRAC64_INT
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rawvidreframe_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_rawvid.c:259,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_rawvid.c:261,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_rawvid.c:257,1
    - Dst: strlen
      Src: /src/gpac/src/filters/reframe_rawvid.c:288,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:290,1
    - Dst: atoi
      Src: /src/gpac/src/filters/reframe_rawvid.c:296,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:321,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/reframe_rawvid.c:329,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:346,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:348,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/reframe_rawvid.c:352,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_rawvid.c:376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawvid.c:323,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_rawvid.c:423,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_rawvid.c:374,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawvid.c:381,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframe_rawvid.c:282,1
    - Dst: strchr
      Src: /src/gpac/src/filters/reframe_rawvid.c:283,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:301,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframe_rawvid.c:297,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:309,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:310,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:311,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:347,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:347,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:349,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/reframe_rawvid.c:393,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_rawvid.c:421,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_rawvid.c:375,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_rawvid.c:377,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_rawvid.c:350,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_rawvid.c:413,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_rawvid.c:247,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_rawvid.c:265,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_rawvid.c:272,1
    - Dst: atoi
      Src: /src/gpac/src/filters/reframe_rawvid.c:295,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/reframe_rawvid.c:329,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:346,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:348,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/reframe_rawvid.c:367,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_rawvid.c:370,1
    - Dst: gf_filter_pck_set_interlaced
      Src: /src/gpac/src/filters/reframe_rawvid.c:390,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:319,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_rawvid.c:396,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_rawvid.c:271,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:293,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/reframe_rawvid.c:300,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:304,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_rawvid.c:301,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:305,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:306,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:307,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:308,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_rawvid.c:313,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_rawvid.c:350,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawvid.c:419,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_rawvid.c:365,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_rawvid.c:387,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_rawvid.c:429,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:321,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/reframe_rawvid.c:349,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 210
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 431
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 431
    functionName: rawvidreframe_process
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pid_is_eos
    - strncmp
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - gf_filter_pid_set_eos
    - gf_filter_pck_set_interlaced
    - gf_filter_pid_set_property_str
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - strcmp
    - PROP_STRING
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - atoi
    - PROP_UINT
    - gf_assert
    - gf_filter_pck_set_duration
    - gf_pixel_get_size_info
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - memcpy
    - strchr
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pid_send_event
    - sscanf
    - PROP_FRAC
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rawvidreframe_process(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_rawvid.c:441,1
    - Dst: gf_pixel_fmt_all_shortnames
      Src: /src/gpac/src/filters/reframe_rawvid.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: rawvidreframe_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_all_shortnames
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *rawvidreframe_probe_data(const u8 *data, u32 size,
      GF_FilterProbeScore *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_fmt_all_names
      Src: /src/gpac/src/filters/reframe_rawvid.c:498,1
    - Dst: gf_pixel_fmt_all_shortnames
      Src: /src/gpac/src/filters/reframe_rawvid.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: rfrawvid_register
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_all_names
    - gf_pixel_fmt_all_shortnames
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfrawvid_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: rfrawvid_register
    functionSourceFile: /src/gpac/src/filters/reframe_rawvid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfrawvid_register(GF_FilterSession *session) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_swf_get_duration
      Src: /src/gpac/src/filters/load_text.c:458,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:464,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:470,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:471,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:517,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:498,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:502,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:537,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:555,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:582,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:603,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:573,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/load_text.c:572,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:604,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:478,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:491,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:492,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/load_text.c:530,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:531,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:546,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:547,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:551,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:564,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:565,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:607,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:590,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:618,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:617,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:464,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/load_text.c:472,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:504,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:494,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:519,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:527,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:560,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:584,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:591,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:622,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:605,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:595,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:601,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:573,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/load_text.c:463,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:463,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/filters/load_text.c:476,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:483,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:512,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:530,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:531,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:538,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:557,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:572,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:618,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/load_text.c:617,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:593,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 228
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 623
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 623
    functionName: txtin_probe_duration
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_text_get_utf8_line
    - GF_LOG
    - PROP_FRAC64
    - gf_fseek
    - gf_feof
    - strstr
    - strcmp
    - PROP_UINT
    - atoi
    - gf_list_enum
    - gf_filter_pid_set_property
    - gf_ftell
    - REM_TRAIL_MARKS
    - strchr
    - atof
    - sscanf
    - gf_xml_dom_get_root
    - gf_swf_get_duration
    linkageType: ''
    returnType: void
    signature: 'static void txtin_probe_duration(GF_TXTIn *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_text_sample_size
      Src: /src/gpac/src/filters/load_text.c:745,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:747,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:741,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:743,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/load_text.c:750,1
    - Dst: gf_isom_text_sample_write_bs
      Src: /src/gpac/src/filters/load_text.c:751,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:756,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:757,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:759,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:761,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:760,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:763,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - txt_samp
    - ts
    - duration
    - is_rap
    argTypes:
    - GF_TXTIn*
    - GF_TextSample*
    - u64
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 764
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 764
    functionName: txtin_process_send_text_sample
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_isom_text_sample_write_bs
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_isom_text_sample_size
    - memcpy
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void txtin_process_send_text_sample(GF_TXTIn *ctx, GF_TextSample
      *txt_samp, u64 ts, u32 duration, Bool is_rap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttml_get_timestamp_ex
      Src: /src/gpac/src/filters/load_text.c:1612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - GF_TXTIn*
    - char*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1614
    functionName: ttml_get_timestamp
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - ttml_get_timestamp_ex
    linkageType: ''
    returnType: u64
    signature: 'static u64 ttml_get_timestamp(GF_TXTIn *ctx, char *value) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/load_text.c:2081,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:2088,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2135,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2124,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:2160,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2161,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2162,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2164,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2167,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2168,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/load_text.c:2201,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2167,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/src/filters/load_text.c:2083,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2118,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:2154,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2163,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:2164,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2168,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2169,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2170,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2171,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/load_text.c:2172,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:2175,1
    - Dst: ttml_setup_intervals
      Src: /src/gpac/src/filters/load_text.c:2196,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/load_text.c:2078,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/load_text.c:2083,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:2096,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2098,1
    - Dst: ttml_parse_root
      Src: /src/gpac/src/filters/load_text.c:2110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2100,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:2108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2106,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:2139,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2161,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:2171,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:2201,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2169,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/load_text.c:2203,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2083,1
    - Dst: gf_xml_dom_enable_passthrough
      Src: /src/gpac/src/filters/load_text.c:2080,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2090,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2127,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:2122,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/load_text.c:2142,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2147,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:2149,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2151,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2163,1
    - Dst: ebu_ttd_remove_samples
      Src: /src/gpac/src/filters/load_text.c:2180,1
    - Dst: gf_xml_dom_node_clone
      Src: /src/gpac/src/filters/load_text.c:2175,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2162,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:2172,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:2170,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:2194,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 123
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2206
    functionName: gf_text_ttml_setup
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_new
    - GF_LOG
    - gf_filter_pid_set_property_str
    - ebu_ttd_remove_samples
    - gf_xml_dom_new
    - PROP_STRING
    - ttml_setup_intervals
    - PROP_UINT
    - gf_list_new
    - gf_xml_dom_enable_passthrough
    - gf_xml_dom_get_line
    - gf_list_reset
    - gf_xml_dom_parse
    - gf_xml_dom_node_check_namespace
    - gf_list_enum
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    - gf_xml_dom_get_error
    - txtin_probe_duration
    - gf_xml_dom_get_root
    - ttml_parse_root
    - gf_xml_dom_node_clone
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_ttml_setup(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4540,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/load_text.c:4547,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/load_text.c:4555,1
    - Dst: ttxtin_reset
      Src: /src/gpac/src/filters/load_text.c:4553,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 4573
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4573
    functionName: txtin_process_event
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - ttxtin_reset
    linkageType: ''
    returnType: Bool
    signature: 'static Bool txtin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:4595,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4598,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:4600,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/load_text.c:4612,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4614,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/load_text.c:4592,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4621,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:4616,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4623,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/load_text.c:4596,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4597,1
    - Dst: gf_swf_reader_del
      Src: /src/gpac/src/filters/load_text.c:4603,1
    - Dst: ttml_reset_intervals
      Src: /src/gpac/src/filters/load_text.c:4607,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:4608,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4613,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4622,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:4619,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:4611,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4588,1
    - Dst: ttxtin_reset
      Src: /src/gpac/src/filters/load_text.c:4590,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4624
      start: 4586
    functionDepth: 0
    functionLinenumber: 4586
    functionLinenumberEnd: 4624
    functionName: txtin_finalize
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ttml_reset_intervals
    - gf_bs_del
    - gf_swf_reader_del
    - gf_list_del
    - gf_list_count
    - ttxtin_reset
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void txtin_finalize(GF_Filter *filter) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/load_text.c:637,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:641,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:653,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:656,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:664,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:660,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:667,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:671,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:672,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:673,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:674,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:717,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/load_text.c:633,1
    - Dst: gf_text_get_utf_type
      Src: /src/gpac/src/filters/load_text.c:639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:643,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:662,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:658,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:668,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:680,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/load_text.c:701,1
    - Dst: gf_odf_desc_new
      Src: /src/gpac/src/filters/load_text.c:676,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:653,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:656,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:664,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:667,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:660,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:671,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:672,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:673,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:674,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:710,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:677,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:652,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:662,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:658,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:668,1
    - Dst: gf_odf_tx3g_write
      Src: /src/gpac/src/filters/load_text.c:700,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:701,1
    - Dst: gf_odf_desc_del
      Src: /src/gpac/src/filters/load_text.c:703,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 3
    argNames:
    - filter
    - ctx
    - gen_dsi_only
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - Bool
    constantsTouched: []
    func_position:
      end: 721
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 721
    functionName: txtin_setup_srt
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - GF_LOG
    - gf_odf_desc_del
    - gf_strdup
    - gf_fsize
    - PROP_STRING
    - gf_odf_desc_new
    - PROP_UINT
    - gf_fopen
    - gf_text_get_utf_type
    - gf_odf_tx3g_write
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    - gf_isom_new_text_sample
    - txtin_probe_duration
    - gf_fclose
    - PROP_DATA_NO_COPY
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_setup_srt(GF_Filter *filter, GF_TXTIn *ctx, Bool
      gen_dsi_only) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:780,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:808,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:862,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:984,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/load_text.c:995,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1003,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1002,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:877,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:782,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:836,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:851,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:888,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:775,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:783,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:819,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:844,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:998,1
    - Dst: gf_isom_text_set_forced
      Src: /src/gpac/src/filters/load_text.c:999,1
    - Dst: gf_utf8_mbstowcs
      Src: /src/gpac/src/filters/load_text.c:778,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:776,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:774,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/load_text.c:804,1
    - Dst: strlwr
      Src: /src/gpac/src/filters/load_text.c:807,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:810,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:809,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/filters/load_text.c:833,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:855,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/load_text.c:876,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:968,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 222
    argCount: 5
    argNames:
    - ctx
    - szLine
    - char_l
    - set_start_c
    - set_end_c
    argTypes:
    - GF_TXTIn*
    - char*
    - u32*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1005
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 1005
    functionName: parse_srt_line
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strncmp
    - GF_LOG
    - gf_isom_text_add_text
    - gf_isom_text_set_forced
    - gf_isom_text_add_style
    - gf_utf8_mbstowcs
    - gf_color_parse
    - gf_utf8_wcstombs
    - strlwr
    - gf_free
    - strchr
    - gf_assert
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err parse_srt_line(GF_TXTIn *ctx, char *szLine, u32 *char_l,
      Bool *set_start_c, Bool *set_end_c) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: txtin_webvtt_setup
      Src: /src/gpac/src/filters/load_text.c:1364,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/load_text.c:1376,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/load_text.c:1380,1
    - Dst: gf_webvtt_parser_restart
      Src: /src/gpac/src/filters/load_text.c:1371,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/load_text.c:1378,1
    - Dst: gf_webvtt_parser_parse_payload
      Src: /src/gpac/src/filters/load_text.c:1383,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:1384,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:1385,1
    - Dst: gf_webvtt_parser_not_done
      Src: /src/gpac/src/filters/load_text.c:1389,1
    - Dst: gf_webvtt_parser_parse_ext
      Src: /src/gpac/src/filters/load_text.c:1391,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/load_text.c:1395,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1395,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1398
    functionName: txtin_process_webvtt
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_webvtt_parser_parse_ext
    - gf_error_to_string
    - GF_LOG
    - gf_filter_pck_get_property_str
    - gf_webvtt_parser_restart
    - txtin_webvtt_setup
    - gf_timestamp_rescale
    - gf_webvtt_parser_not_done
    - gf_webvtt_parser_parse_payload
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process_webvtt(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1623,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1629,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1628,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1652,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_text.c:1651,1
    - Dst: ttml_push_interval
      Src: /src/gpac/src/filters/load_text.c:1653,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_text.c:1660,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1661,1
    - Dst: ttml_push_interval
      Src: /src/gpac/src/filters/load_text.c:1662,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:1666,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1672,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filters/load_text.c:1674,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1671,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:1677,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - begin
    - end
    - out_interval
    argTypes:
    - GF_TXTIn*
    - s64
    - s64
    - TTMLInterval**
    constantsTouched: []
    func_position:
      end: 1678
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1678
    functionName: ttml_push_interval
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - ttml_push_interval
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_push_interval(GF_TXTIn *ctx, s64 begin, s64 end,
      TTMLInterval **out_interval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - interval
    - ts_begin
    - ts_end
    argTypes:
    - TTMLInterval*
    - s64
    - s64
    constantsTouched: []
    func_position:
      end: 2224
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2224
    functionName: ttml_check_range
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ttml_check_range(TTMLInterval *interval, s64 ts_begin,
      s64 ts_end) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:2233,1
    - Dst: ttxt_parse_string
      Src: /src/gpac/src/filters/load_text.c:2239,1
    - Dst: gf_xml_dom_serialize_root
      Src: /src/gpac/src/filters/load_text.c:2234,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2241,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:2235,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:2243,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:2245,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:2248,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:2249,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:2251,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2253,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2255,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:2265,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2261,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:2258,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:2262,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - sample_start
    - sample_end
    argTypes:
    - GF_TXTIn*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 2266
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2266
    functionName: ttml_send_empty_sample
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - ttxt_parse_string
    - gf_list_del
    - gf_filter_pck_set_sap
    - gf_filter_pck_send
    - memcpy
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_free
    - gf_xml_dom_serialize_root
    - gf_list_new
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_send_empty_sample(GF_TXTIn *ctx, u64 sample_start,
      u64 sample_end) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2623,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2637,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2636,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2635,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2635,1
    - Dst: FIX2INT
      Src: /src/gpac/src/filters/load_text.c:2627,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:2638,1
    - Dst: gf_swf_reader_new
      Src: /src/gpac/src/filters/load_text.c:2613,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2621,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:2620,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2622,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2634,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:2640,1
    - Dst: gf_swf_reader_set_user_mode
      Src: /src/gpac/src/filters/load_text.c:2616,1
    - Dst: gf_swf_read_header
      Src: /src/gpac/src/filters/load_text.c:2614,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2623,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2636,1
    - Dst: FIX2INT
      Src: /src/gpac/src/filters/load_text.c:2628,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:2637,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2638,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2643,1
    - Dst: swf_to_svg_init
      Src: /src/gpac/src/filters/load_text.c:2644,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:2648,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2621,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2622,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2634,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/load_text.c:2640,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 2651
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2651
    functionName: gf_text_swf_setup
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - swf_to_svg_init
    - gf_swf_reader_set_user_mode
    - PROP_STRING
    - GF_LOG
    - gf_filter_pid_set_property
    - txtin_probe_duration
    - FIX2INT
    - PROP_UINT
    - gf_swf_read_header
    - gf_filter_pid_set_property_str
    - gf_swf_reader_new
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_swf_setup(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4578,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/load_text.c:4579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4584
      start: 4575
    functionDepth: 0
    functionLinenumber: 4575
    functionLinenumberEnd: 4584
    functionName: txtin_initialize
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err txtin_initialize(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4663,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4675,1
    - Dst: gf_utf_get_string_from_bom
      Src: /src/gpac/src/filters/load_text.c:4633,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:4655,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:4655,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4672,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4659,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4682,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4650,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4653,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:4658,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4662,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4678,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4678,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:4649,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:4638,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4652,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4656,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4672,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4673,1
    - Dst: gf_strmemstr
      Src: /src/gpac/src/filters/load_text.c:4667,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4668,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4676,1
    - Dst: PROBE_OK
      Src: /src/gpac/src/filters/load_text.c:4679,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 3
    argNames:
    - data
    - data_size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 4684
      start: 4627
    functionDepth: 0
    functionLinenumber: 4627
    functionLinenumberEnd: 4684
    functionName: txtin_probe_data
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strncmp
    - gf_utf_get_string_from_bom
    - PROBE_OK
    - gf_strmemstr
    - strchr
    - gf_free
    linkageType: ''
    returnType: char*
    signature: 'static const char *txtin_probe_data(const u8 *data, u32 data_size,
      GF_FilterProbeScore *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4949
      start: 4946
    functionDepth: 0
    functionLinenumber: 4946
    functionLinenumberEnd: 4949
    functionName: rfsrt_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfsrt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - user
    - e
    - message
    - line
    argTypes:
    - void*
    - GF_Err
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: gf_webvtt_import_report
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_webvtt_import_report(void *user, GF_Err e, char *message,
      const char *line) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:1305,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1323,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1335,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:1336,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/load_text.c:1344,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1307,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/load_text.c:1311,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:1320,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1322,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:1325,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1331,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1333,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1334,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1344,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/load_text.c:1296,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/load_text.c:1301,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1332,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1323,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:1335,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1336,1
    - Dst: gf_webvtt_parser_init
      Src: /src/gpac/src/filters/load_text.c:1340,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/load_text.c:1342,1
    - Dst: gf_webvtt_parser_parse_ext
      Src: /src/gpac/src/filters/load_text.c:1347,1
    - Dst: gf_text_get_utf_type
      Src: /src/gpac/src/filters/load_text.c:1303,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/load_text.c:1312,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1322,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1324,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1325,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1331,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:1333,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1334,1
    - Dst: gf_webvtt_parser_new
      Src: /src/gpac/src/filters/load_text.c:1338,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:1350,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1352
    functionName: txtin_webvtt_setup
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_webvtt_parser_new
    - gf_webvtt_parser_del
    - GF_LOG
    - gf_file_ext_start
    - gf_error_to_string
    - gf_fsize
    - PROP_STRING
    - PROP_UINT
    - gf_fopen
    - gf_text_get_utf_type
    - gf_webvtt_parser_parse_ext
    - PROP_LONGUINT
    - gf_filter_pid_set_property
    - strnicmp
    - txtin_probe_duration
    - gf_fclose
    - gf_webvtt_parser_init
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_webvtt_setup(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/load_text.c:4105,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_text.c:4119,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4130,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:4135,1
    - Dst: gf_text_guess_format
      Src: /src/gpac/src/filters/load_text.c:4140,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4144,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/filters/load_text.c:4138,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/load_text.c:4174,1
    - Dst: gf_blob_register
      Src: /src/gpac/src/filters/load_text.c:4183,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4189,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_text.c:4264,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:4261,1
    - Dst: gf_webvtt_parser_flush
      Src: /src/gpac/src/filters/load_text.c:4109,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/filters/load_text.c:4141,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/load_text.c:4145,1
    - Dst: gf_filter_pck_get_framing
      Src: /src/gpac/src/filters/load_text.c:4159,1
    - Dst: txtin_configure_pid_ex
      Src: /src/gpac/src/filters/load_text.c:4148,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4150,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4166,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/load_text.c:4207,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4246,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4261,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:4262,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:4115,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_text.c:4128,1
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/load_text.c:4201,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/load_text.c:4206,1
    - Dst: memmove
      Src: /src/gpac/src/filters/load_text.c:4228,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4262,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4257,1
    - Dst: gf_file_temp
      Src: /src/gpac/src/filters/load_text.c:4198,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4094,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/load_text.c:4099,1
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/filters/load_text.c:4114,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4142,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4176,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:4180,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:4221,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:4223,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/load_text.c:4240,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/load_text.c:4259,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:4203,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 154
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4268
      start: 4092
    functionDepth: 0
    functionLinenumber: 4092
    functionLinenumberEnd: 4268
    functionName: txtin_process
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_pck_get_framing
    - gf_fwrite
    - gf_fseek
    - gf_filter_pck_get_data
    - gf_filter_get_udta
    - gf_isom_text_reset
    - gf_filter_pid_set_info
    - gf_filter_pid_get_packet
    - gf_blob_register
    - PROP_UINT
    - memmove
    - gf_webvtt_parser_flush
    - gf_file_temp
    - gf_ftell
    - memcpy
    - gf_free
    - txtin_process_send_text_sample
    - gf_text_guess_format
    - gf_blob_unregister
    - gf_realloc
    - gf_filter_setup_failure
    - gf_fclose
    - txtin_configure_pid_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:208,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:229,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:233,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:235,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/load_text.c:239,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/load_text.c:200,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:218,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:215,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filters/load_text.c:227,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:233,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:235,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/load_text.c:239,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/load_text.c:239,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/load_text.c:242,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:221,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:234,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:242,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:235,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:234,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - in_src
    argTypes:
    - GF_TXTIn*
    - FILE*
    constantsTouched: []
    func_position:
      end: 244
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 244
    functionName: gf_text_get_utf_type
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_utf8_is_legal
    - gf_filter_pid_get_property
    - gf_filter_pid_get_name
    - gf_fread
    - GF_LOG
    - gf_fseek
    - stricmp
    - gf_opts_get_key
    linkageType: ''
    returnType: s32
    signature: 's32 gf_text_get_utf_type(GF_TXTIn *ctx, FILE *in_src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1226,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1229,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:1228,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:1231,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/load_text.c:1229,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/load_text.c:1231,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1231,1
    - Dst: gf_webvtt_parser_suspend
      Src: /src/gpac/src/filters/load_text.c:1234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - user
    - config
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: gf_webvtt_import_header
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_webvtt_parser_suspend
    - strncmp
    - PROP_DATA
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: void
    signature: 'static void gf_webvtt_import_header(void *user, const char *config) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_webvtt_cues_count
      Src: /src/gpac/src/filters/load_text.c:1254,1
    - Dst: gf_webvtt_sample_del
      Src: /src/gpac/src/filters/load_text.c:1278,1
    - Dst: gf_webvtt_sample_get_start
      Src: /src/gpac/src/filters/load_text.c:1244,1
    - Dst: gf_webvtt_sample_get_end
      Src: /src/gpac/src/filters/load_text.c:1245,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:1263,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:1265,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:1266,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:1267,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:1280,1
    - Dst: gf_isom_webvtt_to_sample
      Src: /src/gpac/src/filters/load_text.c:1257,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:1271,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:1282,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:1273,1
    - Dst: gf_webvtt_parser_suspend
      Src: /src/gpac/src/filters/load_text.c:1284,1
    - Dst: gf_isom_sample_del
      Src: /src/gpac/src/filters/load_text.c:1276,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:1280,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:1280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - user
    - samp
    argTypes:
    - void*
    - GF_WebVTTSample*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1286
    functionName: gf_webvtt_flush_sample
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_webvtt_sample_del
    - gf_webvtt_parser_suspend
    - gf_isom_webvtt_cues_count
    - gf_filter_pck_set_sap
    - gf_filter_pid_set_info
    - PROP_LONGUINT
    - gf_webvtt_sample_get_end
    - gf_ftell
    - memcpy
    - gf_webvtt_sample_get_start
    - gf_filter_pck_set_cts
    - gf_isom_webvtt_to_sample
    - gf_filter_pck_send
    - gf_isom_sample_del
    - txtin_check_blocking
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void gf_webvtt_flush_sample(void *user, GF_WebVTTSample *samp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1455,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1461,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1456,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1463,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1460,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1465,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/load_text.c:1466,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filters/load_text.c:1466,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_text.c:1467,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/load_text.c:1468,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - root
    - out_body_node
    argTypes:
    - GF_XMLNode*
    - GF_XMLNode**
    constantsTouched: []
    func_position:
      end: 1475
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1475
    functionName: ebu_ttd_remove_samples
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_enum
    - gf_list_count
    - strcmp
    - gf_xml_dom_node_del
    - gf_list_rem
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void ebu_ttd_remove_samples(GF_XMLNode *root, GF_XMLNode **out_body_node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1682,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1688,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1685,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/load_text.c:1686,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/load_text.c:1683,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1689,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/load_text.c:1692,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1696
    functionName: ttml_reset_intervals
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_list_pop_back
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void ttml_reset_intervals(GF_TXTIn *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:4272,1
    - Dst: gf_webvtt_parser_del
      Src: /src/gpac/src/filters/load_text.c:4277,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:4274,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/load_text.c:4280,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/load_text.c:4282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 4284
      start: 4270
    functionDepth: 0
    functionLinenumber: 4270
    functionLinenumberEnd: 4284
    functionName: ttxtin_reset
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_xml_dom_del
    - gf_webvtt_parser_del
    - gf_xml_dom_node_del
    - gf_fclose
    - gf_isom_delete_text_sample
    linkageType: ''
    returnType: void
    signature: 'static void ttxtin_reset(GF_TXTIn *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4965
      start: 4962
    functionDepth: 0
    functionLinenumber: 4962
    functionLinenumberEnd: 4965
    functionName: rfsrt_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfsrt_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4955
      start: 4952
    functionDepth: 0
    functionLinenumber: 4952
    functionLinenumberEnd: 4955
    functionName: txtin_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *txtin_register(GF_FilterSession *session) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:1504,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1575,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1485,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:1490,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:1511,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:1552,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1526,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1537,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:1498,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1586,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1591,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:1517,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1532,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:1557,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:1551,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1525,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1599,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 192
    argCount: 5
    argNames:
    - value
    - tick_rate
    - ttml_fps_num
    - ttml_fps_den
    - ttml_sfps
    argTypes:
    - char*
    - u32
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1604
    functionName: ttml_get_timestamp_ex
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - sscanf
    - GF_LOG
    - atoi
    - strchr
    - atof
    linkageType: ''
    returnType: u64
    signature: 'u64 ttml_get_timestamp_ex(char *value, u32 tick_rate, u32 *ttml_fps_num,
      u32 *ttml_fps_den, u32 *ttml_sfps) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2020,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2026,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2030,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2042,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2036,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2037,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2054,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2053,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2018,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2024,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2030,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2033,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2034,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2041,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2050,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2016,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2025,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2046,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2040,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 6
    argNames:
    - root
    - lang
    - tick_rate
    - ttml_fps_num
    - ttml_fps_den
    - ttml_sfps
    argTypes:
    - GF_XMLNode*
    - char**
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2063
    functionName: ttml_parse_root
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_enum
    - GF_LOG
    - strcmp
    - strchr
    - atoi
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ttml_parse_root(GF_XMLNode *root, const char **lang, u32 *tick_rate,
      u32 *ttml_fps_num, u32 *ttml_fps_den, u32 *ttml_sfps) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/load_text.c:4064,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:4081,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:4083,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:4076,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/load_text.c:4075,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:4084,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:4047,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:4049,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:4057,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/load_text.c:4059,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:4063,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/load_text.c:4065,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:4073,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/load_text.c:4078,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:4087,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_text.c:4046,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/load_text.c:4056,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:4060,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:4061,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:4062,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/load_text.c:4074,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/load_text.c:4068,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/load_text.c:4071,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/load_text.c:4072,1
    - Dst: gf_timestamp_rescale_signed
      Src: /src/gpac/src/filters/load_text.c:4079,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 4088
      start: 4037
    functionDepth: 0
    functionLinenumber: 4037
    functionLinenumberEnd: 4088
    functionName: txtin_process_simple
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_filter_pck_get_duration
    - gf_bs_write_data
    - gf_timestamp_rescale
    - gf_filter_pck_get_data
    - gf_timestamp_rescale_signed
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_cts
    - gf_filter_pck_set_duration
    - gf_bs_new
    - gf_filter_pck_set_framing
    - gf_bs_write_u32
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_new_ref
    - gf_filter_pck_set_dts
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process_simple(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cbk
    - cur_samp
    - count
    argTypes:
    - void*
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ttxt_dom_progress
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ttxt_dom_progress(void *cbk, u64 cur_samp, u64 count) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1771,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1780,1
    - Dst: ttml_push_res
      Src: /src/gpac/src/filters/load_text.c:1797,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/load_text.c:1791,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1811,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1815,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:1817,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/load_text.c:1819,1
    - Dst: ttml_push_res
      Src: /src/gpac/src/filters/load_text.c:1821,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:1837,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:1838,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:1831,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1768,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1784,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filters/load_text.c:1793,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1801,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:1827,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:1829,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:1830,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/load_text.c:1836,1
    - Dst: ttml_push_resources
      Src: /src/gpac/src/filters/load_text.c:1845,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:1832,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1759,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1763,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1771,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:1787,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1800,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:1788,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:1803,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/load_text.c:1802,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1824,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/load_text.c:1825,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1771,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1777,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1794,1
    - Dst: gf_xml_dom_node_reset
      Src: /src/gpac/src/filters/load_text.c:1840,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 4
    argNames:
    - ctx
    - interval
    - node
    - parent_source_node
    argTypes:
    - GF_TXTIn*
    - TTMLInterval*
    - GF_XMLNode*
    - GF_XMLNode*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1849
    functionName: ttml_push_resources
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_malloc
    - gf_file_load_data
    - strncmp
    - GF_SAFEALLOC
    - strstr
    - ttml_push_resources
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_list_new
    - gf_list_del_item
    - gf_xml_dom_node_reset
    - gf_list_enum
    - sprintf
    - gf_free
    - gf_base64_decode
    - ttml_push_res
    - gf_url_concatenate
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_push_resources(GF_TXTIn *ctx, TTMLInterval *interval,
      GF_XMLNode *node, GF_XMLNode *parent_source_node) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:2304,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2526,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:2308,1
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:2387,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/load_text.c:2514,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2501,1
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:2345,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2374,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/load_text.c:2398,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/load_text.c:2507,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/load_text.c:2531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2376,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2373,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2458,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/load_text.c:2294,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2307,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2332,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/load_text.c:2353,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/load_text.c:2356,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/load_text.c:2532,1
    - Dst: gf_text_ttml_setup
      Src: /src/gpac/src/filters/load_text.c:2280,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2289,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2331,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2334,1
    - Dst: ttml_check_range
      Src: /src/gpac/src/filters/load_text.c:2349,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2438,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/load_text.c:2549,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2318,1
    - Dst: ttml_check_range
      Src: /src/gpac/src/filters/load_text.c:2392,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/load_text.c:2399,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2540,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:2502,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:2300,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2351,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2381,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2519,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/load_text.c:2527,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:2487,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/load_text.c:2515,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2497,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:2520,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:2365,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/load_text.c:2396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2383,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2524,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2512,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:2339,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2341,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2478,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:2483,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filters/load_text.c:2406,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2422,1
    - Dst: ttml_send_empty_sample
      Src: /src/gpac/src/filters/load_text.c:2471,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:2534,1
    - Dst: gf_xml_dom_serialize_root
      Src: /src/gpac/src/filters/load_text.c:2419,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2394,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:2322,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2489,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:2302,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:2486,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/load_text.c:2528,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:2537,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2367,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2511,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:2481,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2525,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/load_text.c:2513,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/load_text.c:2530,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/load_text.c:2293,1
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:2380,1
    - Dst: ttxt_parse_string
      Src: /src/gpac/src/filters/load_text.c:2443,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2448,1
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:2338,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:2310,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/load_text.c:2355,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/load_text.c:2532,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/load_text.c:2491,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2445,1
    - Dst: gf_xml_dom_append_child
      Src: /src/gpac/src/filters/load_text.c:2408,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:2494,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:2362,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/load_text.c:2498,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filters/load_text.c:2424,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2293,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2291,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2324,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 245
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2552
    functionName: gf_text_process_ttml
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - gf_filter_pid_set_discard
    - GF_LOG
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_text_ttml_setup
    - gf_filter_pck_new_alloc
    - ttxt_parse_string
    - gf_list_last
    - gf_bs_del
    - gf_filter_pck_set_sap
    - gf_list_count
    - strcmp
    - gf_xml_dom_append_child
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_assert
    - gf_filter_pck_set_duration
    - ttml_get_timestamp
    - gf_list_reset
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_xml_dom_node_check_namespace
    - gf_list_enum
    - gf_bs_new
    - gf_bs_write_u32
    - memcpy
    - gf_filter_pid_set_info_str
    - gf_bs_write_u8
    - gf_free
    - gf_xml_dom_serialize_root
    - gf_filter_pck_send
    - ttml_check_range
    - gf_xml_dom_get_root
    - PROP_DATA_NO_COPY
    - ttml_send_empty_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_process_ttml(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2747,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2752,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2763,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:2805,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:2817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2769,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2778,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2788,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:2790,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:2803,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2809,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2810,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:2815,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:2815,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:2824,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:2826,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:2723,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:2761,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2782,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:2787,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2804,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:2808,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:2809,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:2829,1
    - Dst: txtin_setup_srt
      Src: /src/gpac/src/filters/load_text.c:2715,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:2744,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/filters/load_text.c:2736,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:2811,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:2815,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2825,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/load_text.c:2829,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 135
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2832
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2832
    functionName: gf_text_process_sub
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_new_text_sample
    - gf_filter_pid_set_info
    - PROP_LONGUINT
    - gf_text_get_utf8_line
    - txtin_process_send_text_sample
    - GF_LOG
    - gf_isom_text_add_text
    - gf_ftell
    - txtin_setup_srt
    - REM_TRAIL_MARKS
    - atoi
    - gf_filter_pid_set_info_str
    - gf_fseek
    - PROP_UINT
    - txtin_check_blocking
    - gf_isom_delete_text_sample
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_process_sub(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4835
      start: 4832
    functionDepth: 0
    functionLinenumber: 4832
    functionLinenumberEnd: 4835
    functionName: txtin_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *txtin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4894
      start: 4891
    functionDepth: 0
    functionLinenumber: 4891
    functionLinenumberEnd: 4894
    functionName: vtt2tx3g_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vtt2tx3g_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/load_text.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: txtin_check_blocking
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_would_block
    linkageType: ''
    returnType: Bool
    signature: 'static Bool txtin_check_blocking(GF_TXTIn *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:1856,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/load_text.c:1872,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1874,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:1875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - ttml_zero
    - att
    - value
    - drop
    argTypes:
    - GF_TXTIn*
    - s64
    - GF_XMLAttribute*
    - s64*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1877
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1877
    functionName: ttml_rewrite_timestamp
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - ttml_get_timestamp
    - snprintf
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_rewrite_timestamp(GF_TXTIn *ctx, s64 ttml_zero,
      GF_XMLAttribute *att, s64 *value, Bool *drop) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:1906,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1933,1
    - Dst: ttml_push_resources
      Src: /src/gpac/src/filters/load_text.c:1949,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:1955,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1961,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1964,1
    - Dst: ttml_push_resources
      Src: /src/gpac/src/filters/load_text.c:1972,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/load_text.c:1987,1
    - Dst: ttml_reset_intervals
      Src: /src/gpac/src/filters/load_text.c:1889,1
    - Dst: ttml_push_resources
      Src: /src/gpac/src/filters/load_text.c:1897,1
    - Dst: ttml_get_timestamp
      Src: /src/gpac/src/filters/load_text.c:1904,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1909,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1913,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1922,1
    - Dst: ttml_rewrite_timestamp
      Src: /src/gpac/src/filters/load_text.c:1934,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1929,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/load_text.c:1940,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1960,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1988,1
    - Dst: ttml_rewrite_timestamp
      Src: /src/gpac/src/filters/load_text.c:1965,1
    - Dst: ttml_rewrite_timestamp
      Src: /src/gpac/src/filters/load_text.c:1962,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:1887,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1893,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1928,1
    - Dst: ttml_rewrite_timestamp
      Src: /src/gpac/src/filters/load_text.c:1930,1
    - Dst: ttml_push_interval
      Src: /src/gpac/src/filters/load_text.c:1946,1
    - Dst: ttml_push_interval
      Src: /src/gpac/src/filters/load_text.c:1969,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:1983,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1989,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1990,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1894,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:1896,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:1901,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:1912,1
    - Dst: gf_xml_dom_node_check_namespace
      Src: /src/gpac/src/filters/load_text.c:1924,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/load_text.c:1939,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:1953,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:1979,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:1981,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 97
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 1995
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1995
    functionName: ttml_setup_intervals
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - ttml_get_timestamp
    - ttml_push_interval
    - ttml_push_resources
    - ttml_reset_intervals
    - gf_list_get
    - gf_list_add
    - gf_xml_dom_node_check_namespace
    - gf_list_enum
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_xml_dom_node_del
    - gf_list_rem
    - GF_SAFEALLOC
    - gf_log_tool_level_on
    - gf_xml_dom_get_root
    - gf_list_new
    - ttml_rewrite_timestamp
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_setup_intervals(GF_TXTIn *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_text_swf_setup
      Src: /src/gpac/src/filters/load_text.c:2661,1
    - Dst: gf_swf_reader_del
      Src: /src/gpac/src/filters/load_text.c:2667,1
    - Dst: gf_swf_read_header
      Src: /src/gpac/src/filters/load_text.c:2669,1
    - Dst: gf_swf_reader_set_user_mode
      Src: /src/gpac/src/filters/load_text.c:2670,1
    - Dst: gf_swf_reader_new
      Src: /src/gpac/src/filters/load_text.c:2668,1
    - Dst: swf_parse_tag
      Src: /src/gpac/src/filters/load_text.c:2676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2686
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2686
    functionName: gf_text_process_swf
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_swf_reader_del
    - gf_swf_reader_set_user_mode
    - swf_parse_tag
    - gf_text_swf_setup
    - gf_swf_read_header
    - gf_swf_reader_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_process_swf(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2876,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2882,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2903,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:2920,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2938,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2944,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3017,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3019,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3022,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3029,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:3030,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:3049,1
    - Dst: parse_srt_line
      Src: /src/gpac/src/filters/load_text.c:3044,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3023,1
    - Dst: GF_COL_ARGB
      Src: /src/gpac/src/filters/load_text.c:3002,1
    - Dst: txtin_setup_srt
      Src: /src/gpac/src/filters/load_text.c:2844,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:2855,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2930,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2897,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:2919,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:2948,1
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/filters/load_text.c:2956,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:2958,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:2973,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2998,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3016,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:3049,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:2880,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:2884,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2888,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2890,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2901,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:2918,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:2949,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:2995,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3001,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3025,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3034,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/load_text.c:3063,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:3060,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:3058,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/filters/load_text.c:2864,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:2873,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:2921,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:2950,1
    - Dst: parse_srt_line
      Src: /src/gpac/src/filters/load_text.c:2969,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:2974,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2987,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3020,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/load_text.c:3028,1
    - Dst: strcat
      Src: /src/gpac/src/filters/load_text.c:3033,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3063,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:3059,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:3049,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:3051,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:3046,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 263
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 3066
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 3066
    functionName: gf_text_process_ssa
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - strncmp
    - gf_text_get_utf8_line
    - GF_LOG
    - parse_srt_line
    - gf_isom_text_add_text
    - gf_fseek
    - gf_isom_delete_text_sample
    - strstr
    - gf_isom_text_reset
    - gf_filter_pid_set_info
    - txtin_setup_srt
    - PROP_UINT
    - PROP_LONGUINT
    - sprintf
    - gf_ftell
    - REM_TRAIL_MARKS
    - strchr
    - gf_filter_pid_set_info_str
    - txtin_process_send_text_sample
    - txtin_check_blocking
    - GF_COL_ARGB
    - strcat
    - gf_isom_new_text_sample
    - sscanf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_process_ssa(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4839,1
    - Dst: txtin_initialize
      Src: /src/gpac/src/filters/load_text.c:4840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4843
      start: 4837
    functionDepth: 0
    functionLinenumber: 4837
    functionLinenumberEnd: 4843
    functionName: vtt2tx3g_initialize
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - txtin_initialize
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vtt2tx3g_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4898,1
    - Dst: txtin_initialize
      Src: /src/gpac/src/filters/load_text.c:4899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4902
      start: 4896
    functionDepth: 0
    functionLinenumber: 4896
    functionLinenumberEnd: 4902
    functionName: rfsrt_initialize
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - txtin_initialize
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rfsrt_initialize(GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1406,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - str
    - strip_lines
    argTypes:
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1448
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1448
    functionName: ttxt_parse_string
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *ttxt_parse_string(char *str, Bool strip_lines) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:2694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 2696
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2696
    functionName: gf_text_process_swf
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_process_swf(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4349,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/load_text.c:4375,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:4390,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4441,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4459,1
    - Dst: txtin_setup_srt
      Src: /src/gpac/src/filters/load_text.c:4517,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4527,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/load_text.c:4520,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4462,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/load_text.c:4291,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/load_text.c:4310,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4313,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4330,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4338,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4345,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/load_text.c:4367,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:4385,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4372,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4458,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4461,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4316,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:4302,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/load_text.c:4344,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4353,1
    - Dst: ttxtin_reset
      Src: /src/gpac/src/filters/load_text.c:4387,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4441,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4460,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4525,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4527,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:4462,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/load_text.c:4321,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:4373,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:4355,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/load_text.c:4371,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:4389,1
    - Dst: gf_text_guess_format
      Src: /src/gpac/src/filters/load_text.c:4396,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:4399,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:4429,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/load_text.c:4440,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4458,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:4520,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 202
    argCount: 4
    argNames:
    - filter
    - pid
    - is_remove
    - force_fmt
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 4531
      start: 4286
    functionDepth: 0
    functionLinenumber: 4286
    functionLinenumberEnd: 4531
    functionName: txtin_configure_pid_ex
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_FEVT_INIT
    - PROP_DATA
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - strstr
    - gf_filter_get_udta
    - gf_strdup
    - gf_filter_pid_copy_properties
    - strcmp
    - txtin_setup_srt
    - ttxtin_reset
    - PROP_UINT
    - gf_filter_pid_set_property
    - gf_free
    - gf_text_guess_format
    - gf_filter_pid_send_event
    - gf_filter_pid_get_property
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_configure_pid_ex(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove, u32 force_fmt) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/load_text.c:262,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/load_text.c:269,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/load_text.c:276,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:312,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/load_text.c:294,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/load_text.c:296,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:297,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:303,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:305,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:304,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:307,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:317,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/load_text.c:278,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:283,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:303,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:314,1
    - Dst: gf_text_get_utf_type
      Src: /src/gpac/src/filters/load_text.c:264,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/load_text.c:271,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:287,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:292,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:305,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/load_text.c:300,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/load_text.c:295,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:309,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/load_text.c:312,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - filename
    - fmt
    argTypes:
    - GF_TXTIn*
    - char*
    - u32*
    constantsTouched: []
    func_position:
      end: 319
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 319
    functionName: gf_text_guess_format
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strnicmp
    - strncmp
    - gf_fgets
    - gf_fread
    - gf_fopen
    - REM_TRAIL_MARKS
    - gf_utf8_wcstombs
    - gf_fclose
    - strchr
    - gf_text_get_utf_type
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_text_guess_format(GF_TXTIn *ctx, const char *filename,
      u32 *fmt) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:1045,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/filters/load_text.c:1042,1
    - Dst: gf_feof
      Src: /src/gpac/src/filters/load_text.c:1059,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:1091,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1071,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/load_text.c:1105,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:1105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1120,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1127,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1129,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:1197,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:1036,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1047,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1116,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1159,1
    - Dst: parse_srt_line
      Src: /src/gpac/src/filters/load_text.c:1182,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:1154,1
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/filters/load_text.c:1196,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:1178,1
    - Dst: gf_text_get_utf8_line
      Src: /src/gpac/src/filters/load_text.c:1061,1
    - Dst: REM_TRAIL_MARKS
      Src: /src/gpac/src/filters/load_text.c:1062,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:1089,1
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/filters/load_text.c:1102,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:1105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1143,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:1163,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:1188,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:1179,1
    - Dst: gf_isom_text_reset
      Src: /src/gpac/src/filters/load_text.c:1200,1
    - Dst: txtin_setup_srt
      Src: /src/gpac/src/filters/load_text.c:1020,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:1057,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:1065,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:1075,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1074,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:1090,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:1095,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1115,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:1130,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:1131,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:1174,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 200
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1203
    functionName: txtin_process_srt
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_text_get_utf8_line
    - GF_LOG
    - gf_isom_text_add_text
    - parse_srt_line
    - gf_fseek
    - gf_isom_delete_text_sample
    - gf_feof
    - strstr
    - gf_isom_text_reset
    - gf_filter_pid_set_info
    - txtin_setup_srt
    - PROP_LONGUINT
    - gf_ftell
    - REM_TRAIL_MARKS
    - txtin_process_send_text_sample
    - txtin_check_blocking
    - gf_isom_new_text_sample
    - sscanf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process_srt(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:2570,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/load_text.c:2573,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:2572,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/load_text.c:2574,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/load_text.c:2575,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:2577,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:2580,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - user
    - data
    - length
    - timestamp
    - isRap
    argTypes:
    - void*
    - u8*
    - u32
    - u64
    - Bool
    constantsTouched: []
    func_position:
      end: 2583
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2583
    functionName: swf_svg_add_iso_sample
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_pck_set_sap
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_set_cts
    - gf_filter_pck_send
    - txtin_check_blocking
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_add_iso_sample(void *user, const u8 *data, u32
      length, u64 timestamp, Bool isRap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3074,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3085
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3085
    functionName: ttxt_get_color
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'static u32 ttxt_get_color(char *val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3104,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3110,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3111,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3110,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3109,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3111,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3112,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3112,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3113,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3113,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3114,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3117,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3118,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3119,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3116,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3115,1
    - Dst: ttxt_get_color
      Src: /src/gpac/src/filters/load_text.c:3114,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - n
    - style
    argTypes:
    - GF_TXTIn*
    - GF_XMLNode*
    - GF_StyleRecord*
    constantsTouched: []
    func_position:
      end: 3122
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3122
    functionName: ttxt_parse_text_style
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - memset
    - gf_list_enum
    - ttxt_get_color
    - atoi
    - stricmp
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void ttxt_parse_text_style(GF_TXTIn *ctx, GF_XMLNode *n, GF_StyleRecord
      *style) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3394,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3428,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3464,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3522,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:3352,1
    - Dst: gf_isom_text_set_scroll_delay
      Src: /src/gpac/src/filters/load_text.c:3392,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:3411,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:3421,1
    - Dst: gf_isom_text_add_highlight
      Src: /src/gpac/src/filters/load_text.c:3436,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3456,1
    - Dst: gf_isom_text_add_karaoke
      Src: /src/gpac/src/filters/load_text.c:3472,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/load_text.c:3555,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3444,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3359,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3393,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3433,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3455,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:3470,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3461,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3394,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3483,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:3535,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3482,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3458,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3432,1
    - Dst: ttxt_parse_string
      Src: /src/gpac/src/filters/load_text.c:3386,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3496,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:3525,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:3388,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3418,1
    - Dst: ttxt_parse_text_style
      Src: /src/gpac/src/filters/load_text.c:3420,1
    - Dst: gf_isom_text_set_box
      Src: /src/gpac/src/filters/load_text.c:3426,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3457,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:3502,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:3543,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3478,1
    - Dst: ttxt_parse_string
      Src: /src/gpac/src/filters/load_text.c:3410,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3365,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3375,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3384,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3392,1
    - Dst: ttxt_parse_text_box
      Src: /src/gpac/src/filters/load_text.c:3425,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3485,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3516,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3462,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3434,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3444,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3374,1
    - Dst: ttxt_get_color
      Src: /src/gpac/src/filters/load_text.c:3393,1
    - Dst: gf_isom_text_set_wrap
      Src: /src/gpac/src/filters/load_text.c:3394,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3407,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:3412,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3455,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3484,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:3367,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3443,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3448,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3454,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:3503,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3457,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3470,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3383,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3392,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3395,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3497,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:3504,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3510,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3396,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3456,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3469,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3474,1
    - Dst: gf_isom_text_add_hyperlink
      Src: /src/gpac/src/filters/load_text.c:3460,1
    - Dst: gf_isom_text_set_karaoke_segment
      Src: /src/gpac/src/filters/load_text.c:3487,1
    - Dst: txtin_setup_ttxt
      Src: /src/gpac/src/filters/load_text.c:3340,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3377,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3396,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3520,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3434,1
    - Dst: gf_isom_text_add_blink
      Src: /src/gpac/src/filters/load_text.c:3446,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3484,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3519,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:3533,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3423,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3396,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3433,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3438,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3443,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3483,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/load_text.c:3556,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:3380,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3383,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:3387,1
    - Dst: gf_isom_text_set_highlight_color
      Src: /src/gpac/src/filters/load_text.c:3393,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3442,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3458,1
    - Dst: gf_isom_text_set_forced
      Src: /src/gpac/src/filters/load_text.c:3398,1
    - Dst: atof
      Src: /src/gpac/src/filters/load_text.c:3485,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/load_text.c:3555,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3556,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 287
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 3560
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3560
    functionName: txtin_process_ttxt
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_text_add_blink
    - ttxt_get_color
    - gf_isom_text_add_text
    - ttxt_parse_text_style
    - PROP_BOOL
    - gf_isom_text_add_karaoke
    - gf_isom_text_set_karaoke_segment
    - gf_isom_text_add_highlight
    - gf_isom_delete_text_sample
    - ttxt_parse_string
    - ttxt_parse_text_box
    - gf_isom_text_set_wrap
    - gf_strdup
    - strcmp
    - gf_isom_text_set_forced
    - atoi
    - PROP_UINT
    - stricmp
    - gf_list_get
    - txtin_setup_ttxt
    - gf_list_enum
    - gf_filter_pid_set_property
    - gf_filter_pid_set_info_str
    - gf_free
    - txtin_process_send_text_sample
    - txtin_check_blocking
    - atof
    - gf_isom_new_text_sample
    - gf_isom_text_add_hyperlink
    - sscanf
    - gf_isom_text_set_box
    - gf_isom_text_set_scroll_delay
    - gf_isom_text_set_highlight_color
    - gf_xml_dom_get_root
    - gf_isom_text_add_style
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process_ttxt(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3589,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3592,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3591,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3590,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3591,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3592,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3593,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3593,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3594,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - n
    - box
    argTypes:
    - GF_XMLNode*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 3596
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3596
    functionName: tx3g_parse_text_box
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    - memset
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void tx3g_parse_text_box(GF_XMLNode *n, GF_BoxRecord *box) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3623,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:3629,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3648,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3648,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3663,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3664,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3670,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3673,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3675,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/load_text.c:3621,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3647,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3645,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3665,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:3666,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3671,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3672,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3673,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3674,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:3675,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:3674,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/src/filters/load_text.c:3623,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/load_text.c:3632,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3637,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3646,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3646,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3650,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:3662,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3663,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3664,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3670,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:3680,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3672,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/load_text.c:3620,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/load_text.c:3623,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/load_text.c:3624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3631,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3638,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3649,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3649,1
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3652,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3665,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3666,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:3678,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3671,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 3683
      start: 3612
    functionDepth: 0
    functionLinenumber: 3612
    functionLinenumberEnd: 3683
    functionName: txtin_texml_setup
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - GF_LOG
    - gf_xml_dom_del
    - gf_xml_dom_new
    - gf_list_count
    - strcmp
    - PROP_STRING
    - atoi
    - PROP_UINT
    - gf_xml_dom_get_line
    - gf_xml_dom_parse
    - PROP_LONGUINT
    - gf_list_enum
    - gf_filter_pid_set_property
    - gf_xml_dom_get_error
    - sscanf
    - txtin_probe_duration
    - gf_xml_dom_get_root
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_texml_setup(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:333,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:341,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filters/load_text.c:334,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:365,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:376,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/load_text.c:434,1
    - Dst: gf_utf8_wcstombs
      Src: /src/gpac/src/filters/load_text.c:431,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:339,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:402,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:406,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/load_text.c:441,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/load_text.c:410,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/load_text.c:326,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:349,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:357,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:393,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:401,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:439,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filters/load_text.c:403,1
    - Dst: gf_fgetc
      Src: /src/gpac/src/filters/load_text.c:436,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 121
    argCount: 5
    argNames:
    - szLine
    - lineSize
    - txt_in
    - unicode_type
    - io_progress
    argTypes:
    - char*
    - u32
    - FILE*
    - s32
    - Bool*
    constantsTouched: []
    func_position:
      end: 446
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 446
    functionName: gf_text_get_utf8_line
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - gf_fgets
    - GF_LOG
    - gf_ftell
    - GF_ARRAY_LENGTH
    - gf_utf8_wcstombs
    - strcpy
    - gf_fseek
    - gf_fgetc
    linkageType: ''
    returnType: char*
    signature: 'char *gf_text_get_utf8_line(char *szLine, u32 lineSize, FILE *txt_in,
      s32 unicode_type, Bool *io_progress) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_clone
      Src: /src/gpac/src/filters/load_text.c:1708,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1720,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:1715,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:1723,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:1710,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1725,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:1733,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1735,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:1736,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - interval
    - f_data
    - f_size
    argTypes:
    - GF_TXTIn*
    - TTMLInterval*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1740
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1740
    functionName: ttml_push_res
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_SAFEALLOC
    - gf_free
    - gf_list_new
    - gf_list_clone
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ttml_push_res(GF_TXTIn *ctx, TTMLInterval *interval,
      u8 *f_data, u32 f_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:2591,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:2591,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/load_text.c:2591,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/load_text.c:2597,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/load_text.c:2599,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/load_text.c:2600,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/load_text.c:2602,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - user
    - data
    - length
    - isHeader
    argTypes:
    - void*
    - u8*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2606
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2606
    functionName: swf_svg_add_iso_header
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - strlen
    - PROP_DATA
    - gf_filter_pid_set_property
    - gf_filter_pck_set_framing
    - memcpy
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err swf_svg_add_iso_header(void *user, const u8 *data, u32
      length, Bool isHeader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3091,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3093,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3092,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3094,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3093,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3094,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3095,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3095,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3096,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3096,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - n
    - box
    argTypes:
    - GF_XMLNode*
    - GF_BoxRecord*
    constantsTouched: []
    func_position:
      end: 3098
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3098
    functionName: ttxt_parse_text_box
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - stricmp
    - memset
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void ttxt_parse_text_box(GF_XMLNode *n, GF_BoxRecord *box) '
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3156,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3239,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3205,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3245,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/load_text.c:3270,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3235,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3145,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3215,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3237,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3206,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3236,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3236,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3250,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3253,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:3300,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3205,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3192,1
    - Dst: ttxt_parse_text_style
      Src: /src/gpac/src/filters/load_text.c:3262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3315,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3238,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3164,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3191,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/load_text.c:3199,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/load_text.c:3206,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3240,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3251,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3274,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3140,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3144,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3194,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3202,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3242,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3251,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3263,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3273,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:3291,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3226,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3199,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/load_text.c:3132,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3164,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:3166,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3231,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3251,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:3295,1
    - Dst: gf_odf_tx3g_write
      Src: /src/gpac/src/filters/load_text.c:3299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3318,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3233,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:3138,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3157,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3228,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3202,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3246,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3293,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3304,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3159,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3193,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3266,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3268,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3157,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3191,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3229,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3223,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3203,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3275,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/load_text.c:3159,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3190,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3195,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3222,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3274,1
    - Dst: txtin_probe_duration
      Src: /src/gpac/src/filters/load_text.c:3326,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3203,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3224,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/load_text.c:3155,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3244,1
    - Dst: ttxt_parse_text_box
      Src: /src/gpac/src/filters/load_text.c:3261,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3210,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3213,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3230,1
    - Dst: gf_xml_dom_get_line
      Src: /src/gpac/src/filters/load_text.c:3135,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3259,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3261,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:3301,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3305,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3319,1
    - Dst: gf_xml_dom_get_error
      Src: /src/gpac/src/filters/load_text.c:3135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3163,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3193,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3204,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3247,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3262,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3192,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3207,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3158,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3160,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3170,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3234,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3225,1
    - Dst: ttxt_get_color
      Src: /src/gpac/src/filters/load_text.c:3233,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filters/load_text.c:3133,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3156,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3163,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3176,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3190,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3195,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3204,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3275,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3234,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/load_text.c:3207,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3235,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/load_text.c:3158,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3189,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3194,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 297
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    constantsTouched: []
    func_position:
      end: 3329
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3329
    functionName: txtin_setup_ttxt
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_malloc
    - gf_list_add
    - memset
    - ttxt_get_color
    - GF_LOG
    - ttxt_parse_text_style
    - GF_SAFEALLOC
    - gf_filter_pid_set_property_str
    - ttxt_parse_text_box
    - gf_xml_dom_new
    - gf_list_count
    - gf_strdup
    - strcmp
    - PROP_STRING
    - PROP_UINT
    - atoi
    - stricmp
    - gf_list_new
    - gf_xml_dom_get_line
    - gf_odf_tx3g_write
    - gf_list_get
    - gf_xml_dom_parse
    - PROP_LONGUINT
    - gf_list_enum
    - gf_filter_pid_set_property
    - gf_free
    - gf_xml_dom_get_error
    - gf_realloc
    - txtin_probe_duration
    - gf_xml_dom_get_root
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_setup_ttxt(GF_Filter *filter, GF_TXTIn *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filters/load_text.c:3568,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/load_text.c:3569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3583
      start: 3563
    functionDepth: 0
    functionLinenumber: 3563
    functionLinenumberEnd: 3583
    functionName: tx3g_get_color
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - sscanf
    - GF_LOG
    linkageType: ''
    returnType: u32
    signature: 'static u32 tx3g_get_color(char *value) '
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3758,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3763,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3767,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3840,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3799,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3832,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3932,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3983,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3990,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3986,1
    - Dst: gf_isom_text_set_highlight_color
      Src: /src/gpac/src/filters/load_text.c:3914,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3734,1
    - Dst: tx3g_get_color
      Src: /src/gpac/src/filters/load_text.c:3766,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3798,1
    - Dst: strchr
      Src: /src/gpac/src/filters/load_text.c:3830,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/load_text.c:3886,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3891,1
    - Dst: gf_isom_text_set_scroll_delay
      Src: /src/gpac/src/filters/load_text.c:3913,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3914,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3939,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3965,1
    - Dst: gf_isom_text_add_blink
      Src: /src/gpac/src/filters/load_text.c:3976,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3985,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:4007,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3821,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3841,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3733,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3771,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3869,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3877,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3938,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:3944,1
    - Dst: strlen
      Src: /src/gpac/src/filters/load_text.c:3945,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3964,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:3722,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3939,1
    - Dst: gf_isom_text_add_text
      Src: /src/gpac/src/filters/load_text.c:3945,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3986,1
    - Dst: gf_isom_text_add_hyperlink
      Src: /src/gpac/src/filters/load_text.c:3988,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:4001,1
    - Dst: gf_isom_text_set_box
      Src: /src/gpac/src/filters/load_text.c:4019,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3989,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3974,1
    - Dst: txtin_check_blocking
      Src: /src/gpac/src/filters/load_text.c:4027,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3997,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3728,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3842,1
    - Dst: gf_token_get_strip
      Src: /src/gpac/src/filters/load_text.c:3826,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/load_text.c:3796,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3895,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:4004,1
    - Dst: txtin_process_send_text_sample
      Src: /src/gpac/src/filters/load_text.c:4022,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3930,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/load_text.c:3861,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3772,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/load_text.c:3885,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3913,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3970,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:4009,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:4008,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3843,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3779,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3748,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3769,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3799,1
    - Dst: gf_odf_tx3g_write
      Src: /src/gpac/src/filters/load_text.c:3866,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3901,1
    - Dst: tx3g_get_color
      Src: /src/gpac/src/filters/load_text.c:3914,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3973,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3984,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:4008,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3841,1
    - Dst: tx3g_parse_text_box
      Src: /src/gpac/src/filters/load_text.c:3787,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3807,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3809,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/load_text.c:3880,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3918,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3920,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3925,1
    - Dst: gf_isom_text_add_style
      Src: /src/gpac/src/filters/load_text.c:3958,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3966,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3992,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3773,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3785,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3787,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3844,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3863,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3965,1
    - Dst: gf_isom_text_add_karaoke
      Src: /src/gpac/src/filters/load_text.c:3999,1
    - Dst: gf_isom_text_set_karaoke_segment
      Src: /src/gpac/src/filters/load_text.c:4011,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3924,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3788,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3725,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3766,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3842,1
    - Dst: memcmp
      Src: /src/gpac/src/filters/load_text.c:3871,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:3887,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/load_text.c:3892,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/load_text.c:3896,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3966,1
    - Dst: gf_isom_text_add_highlight
      Src: /src/gpac/src/filters/load_text.c:3968,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3983,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3845,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3744,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3759,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3741,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3764,1
    - Dst: gf_token_get_strip
      Src: /src/gpac/src/filters/load_text.c:3828,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3912,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3913,1
    - Dst: GET_MARKER_POS
      Src: /src/gpac/src/filters/load_text.c:3984,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/load_text.c:3985,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3843,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3735,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3756,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3761,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3818,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3840,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3911,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3962,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3973,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3986,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3734,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3755,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3780,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3834,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3815,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3912,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3925,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3972,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:4007,1
    - Dst: gf_isom_delete_text_sample
      Src: /src/gpac/src/filters/load_text.c:4024,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:3818,1
    - Dst: txtin_texml_setup
      Src: /src/gpac/src/filters/load_text.c:3698,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/load_text.c:3726,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/load_text.c:3712,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3735,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3757,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3762,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3798,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3844,1
    - Dst: gf_isom_new_text_sample
      Src: /src/gpac/src/filters/load_text.c:3908,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3982,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3791,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/load_text.c:3868,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3804,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3793,1
    - Dst: strstr
      Src: /src/gpac/src/filters/load_text.c:3774,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3797,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3817,1
    - Dst: memset
      Src: /src/gpac/src/filters/load_text.c:3934,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3974,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3997,1
    - Dst: atoi
      Src: /src/gpac/src/filters/load_text.c:4009,1
    - Dst: stricmp
      Src: /src/gpac/src/filters/load_text.c:3978,1
    - Dst: tx3g_get_color
      Src: /src/gpac/src/filters/load_text.c:3845,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:3996,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/load_text.c:4006,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/load_text.c:3985,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 470
    argCount: 3
    argNames:
    - filter
    - ctx
    - ipck
    argTypes:
    - GF_Filter*
    - GF_TXTIn*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 4035
      start: 3685
    functionDepth: 0
    functionLinenumber: 3685
    functionLinenumberEnd: 4035
    functionName: txtin_process_texml
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_malloc
    - strlen
    - memset
    - tx3g_parse_text_box
    - gf_isom_text_add_blink
    - gf_isom_text_add_text
    - GF_SAFEALLOC
    - gf_isom_text_add_karaoke
    - gf_isom_text_set_karaoke_segment
    - gf_isom_text_add_highlight
    - gf_isom_delete_text_sample
    - strstr
    - tx3g_get_color
    - gf_token_get_strip
    - gf_list_count
    - gf_strdup
    - strcmp
    - atoi
    - stricmp
    - gf_list_new
    - gf_odf_tx3g_write
    - gf_list_get
    - memcmp
    - gf_list_enum
    - gf_filter_pid_set_property
    - GET_MARKER_POS
    - strchr
    - gf_free
    - txtin_process_send_text_sample
    - txtin_check_blocking
    - gf_isom_new_text_sample
    - gf_isom_text_add_hyperlink
    - gf_realloc
    - gf_isom_text_set_box
    - gf_isom_text_set_scroll_delay
    - gf_isom_text_set_highlight_color
    - txtin_texml_setup
    - gf_xml_dom_get_root
    - gf_isom_text_add_style
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_process_texml(GF_Filter *filter, GF_TXTIn *ctx,
      GF_FilterPacket *ipck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtin_configure_pid_ex
      Src: /src/gpac/src/filters/load_text.c:4535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 4537
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4537
    functionName: txtin_configure_pid
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached:
    - txtin_configure_pid_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err txtin_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4960
      start: 4957
    functionDepth: 0
    functionLinenumber: 4957
    functionLinenumberEnd: 4960
    functionName: vtt2tx3g_register
    functionSourceFile: /src/gpac/src/filters/load_text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *vtt2tx3g_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_qcp.c:85,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/reframe_qcp.c:90,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/reframe_qcp.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: qcpdmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err qcpdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:122,1
    - Dst: gf_fopen_ex
      Src: /src/gpac/src/filters/reframe_qcp.c:129,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/reframe_qcp.c:144,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_qcp.c:168,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:150,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_qcp.c:163,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_qcp.c:187,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/reframe_qcp.c:191,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/reframe_qcp.c:209,1
    - Dst: PROP_FRAC64
      Src: /src/gpac/src/filters/reframe_qcp.c:215,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:216,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:221,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_qcp.c:121,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:147,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/reframe_qcp.c:149,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:155,1
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/reframe_qcp.c:176,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:154,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:151,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:162,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:153,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_qcp.c:200,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:215,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:216,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/reframe_qcp.c:221,1
    - Dst: gf_bs_from_file
      Src: /src/gpac/src/filters/reframe_qcp.c:140,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/reframe_qcp.c:131,1
    - Dst: qcpdmx_process_header
      Src: /src/gpac/src/filters/reframe_qcp.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:144,1
    - Dst: gf_fgetc
      Src: /src/gpac/src/filters/reframe_qcp.c:179,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:208,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_qcp.c:219,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 114
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_QCPDmxCtx*
    constantsTouched: []
    func_position:
      end: 222
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 222
    functionName: qcpdmx_check_dur
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_fopen_ex
    - gf_bs_from_file
    - strncmp
    - GF_LOG
    - qcpdmx_process_header
    - PROP_BOOL
    - gf_bs_read_u32_le
    - PROP_FRAC64
    - gf_fseek
    - gf_bs_skip_bytes
    - gf_bs_del
    - gf_error_to_string
    - PROP_UINT
    - gf_bs_read_data
    - gf_fgetc
    - gf_fileio_is_main_thread
    - gf_filter_pid_set_property
    - gf_ftell
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_fclose
    linkageType: ''
    returnType: void
    signature: 'static void qcpdmx_check_dur(GF_Filter *filter, GF_QCPDmxCtx *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:315,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/reframe_qcp.c:320,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:316,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:331,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:334,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:341,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:345,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:351,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:361,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:366,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/reframe_qcp.c:397,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:400,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:402,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:387,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:401,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:378,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:389,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:406,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:368,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_qcp.c:303,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:308,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:314,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:322,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:339,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:344,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/reframe_qcp.c:363,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:364,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:366,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:386,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:399,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:403,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:394,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:400,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:379,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/reframe_qcp.c:398,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:307,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:306,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:312,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:328,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:333,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:347,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:349,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:357,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/reframe_qcp.c:370,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:384,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:405,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:406,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:404,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:374,1
    - Dst: qcpdmx_check_dur
      Src: /src/gpac/src/filters/reframe_qcp.c:408,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:373,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:381,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:402,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:380,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:399,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:403,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:305,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:311,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/reframe_qcp.c:313,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:325,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/reframe_qcp.c:327,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:337,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:346,1
    - Dst: gf_bs_read_u16_le
      Src: /src/gpac/src/filters/reframe_qcp.c:348,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:358,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/reframe_qcp.c:401,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:405,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/reframe_qcp.c:390,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/reframe_qcp.c:404,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 132
    argCount: 5
    argNames:
    - filter
    - ctx
    - data
    - size
    - file_bs
    argTypes:
    - GF_Filter*
    - GF_QCPDmxCtx*
    - char*
    - u32
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 412
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 412
    functionName: qcpdmx_process_header
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_bs_read_u16_le
    - gf_bs_del
    - gf_bs_read_u8
    - gf_bs_skip_bytes
    - strncmp
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - GF_LOG
    - gf_bs_new
    - gf_bs_seek
    - gf_filter_pid_set_property
    - gf_bs_read_u32_le
    - qcpdmx_check_dur
    - PROP_UINT
    - strnicmp
    - gf_bs_read_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err qcpdmx_process_header(GF_Filter *filter, GF_QCPDmxCtx
      *ctx, char *data, u32 size, GF_BitStream *file_bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_qcp.c:674,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_qcp.c:677,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:676,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/reframe_qcp.c:675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: qcpdmx_finalize
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void qcpdmx_finalize(GF_Filter *filter) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/reframe_qcp.c:433,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:431,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_qcp.c:460,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_qcp.c:484,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_qcp.c:462,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_qcp.c:510,1
    - Dst: qcpdmx_process_header
      Src: /src/gpac/src/filters/reframe_qcp.c:517,1
    - Dst: qcpdmx_process_header
      Src: /src/gpac/src/filters/reframe_qcp.c:519,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_qcp.c:563,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:573,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/reframe_qcp.c:662,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_qcp.c:640,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/reframe_qcp.c:436,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_qcp.c:458,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:474,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_qcp.c:464,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/reframe_qcp.c:466,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:556,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:581,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_qcp.c:596,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_qcp.c:633,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/reframe_qcp.c:638,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:667,1
    - Dst: qcpdmx_check_dur
      Src: /src/gpac/src/filters/reframe_qcp.c:424,1
    - Dst: gf_filter_pck_get_byte_offset
      Src: /src/gpac/src/filters/reframe_qcp.c:443,1
    - Dst: assert
      Src: /src/gpac/src/filters/reframe_qcp.c:470,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:512,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/reframe_qcp.c:526,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:537,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_qcp.c:552,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_qcp.c:561,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/reframe_qcp.c:631,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/reframe_qcp.c:635,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_qcp.c:637,1
    - Dst: assert
      Src: /src/gpac/src/filters/reframe_qcp.c:645,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/reframe_qcp.c:636,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_qcp.c:416,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_qcp.c:435,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/reframe_qcp.c:442,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_qcp.c:468,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/reframe_qcp.c:508,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/reframe_qcp.c:463,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/reframe_qcp.c:528,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/reframe_qcp.c:554,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_qcp.c:567,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/reframe_qcp.c:569,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:574,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/reframe_qcp.c:642,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/reframe_qcp.c:650,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 205
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 670
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 670
    functionName: qcpdmx_process
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_byte_offset
    - qcpdmx_check_dur
    - gf_filter_pid_set_eos
    - gf_bs_read_u32_le
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_bs_reassign_buffer
    - gf_filter_pck_set_sap
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - gf_bs_read_data
    - gf_assert
    - gf_filter_pck_set_duration
    - assert
    - gf_bs_new
    - gf_filter_pck_set_framing
    - memcpy
    - strnicmp
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_realloc
    - gf_filter_setup_failure
    - qcpdmx_process_header
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err qcpdmx_process(GF_Filter *filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/reframe_qcp.c:229,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/reframe_qcp.c:267,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/reframe_qcp.c:269,1
    - Dst: qcpdmx_check_dur
      Src: /src/gpac/src/filters/reframe_qcp.c:241,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 287
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 287
    functionName: qcpdmx_process_event
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_get_udta
    - qcpdmx_check_dur
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool qcpdmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/reframe_qcp.c:687,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:694,1
    - Dst: gf_bs_read_u32_le
      Src: /src/gpac/src/filters/reframe_qcp.c:697,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:690,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/reframe_qcp.c:698,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/reframe_qcp.c:699,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/reframe_qcp.c:704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 708
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 708
    functionName: qcpdmx_probe_data
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached:
    - gf_bs_del
    - gf_bs_new
    - gf_bs_read_u32_le
    - strnicmp
    - gf_bs_read_data
    linkageType: ''
    returnType: char*
    signature: 'static const char *qcpdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: rfqcp_register
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfqcp_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: rfqcp_register
    functionSourceFile: /src/gpac/src/filters/reframe_qcp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *rfqcp_register(GF_FilterSession *session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:171,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:175,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:178,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:173,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:177,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:179,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - UNCVConfig*
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: uncv_del
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void uncv_del(UNCVConfig *cfg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_uncv.c:1194,1
    - Dst: uncv_setup_block
      Src: /src/gpac/src/filters/dec_uncv.c:1200,1
    - Dst: uncv_setup_block
      Src: /src/gpac/src/filters/dec_uncv.c:1233,1
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_uncv.c:1232,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_uncv.c:1195,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - UNCVDecCtx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1239
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1239
    functionName: uncv_start_frame
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_setup_block
    - gf_bs_reassign_buffer
    - gf_bs_seek
    linkageType: ''
    returnType: void
    signature: 'static void uncv_start_frame(UNCVDecCtx *ctx, const u8 *data, u32
      size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/filters/dec_uncv.c:1292,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/dec_uncv.c:1304,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_uncv.c:1310,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:1308,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dec_uncv.c:1294,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_uncv.c:1311,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_uncv.c:1313,1
    - Dst: gf_bs_read_long_int
      Src: /src/gpac/src/filters/dec_uncv.c:1316,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - bs
    - comp
    - ctx
    argTypes:
    - GF_BitStream*
    - UNCVComponentInfo*
    - UNCVDecCtx*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1324
    functionName: uncv_get_val
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_bs_read_float
    - gf_bs_read_long_int
    - gf_bs_read_u8
    - gf_bs_read_double
    - gf_bs_seek
    - gf_bs_align
    linkageType: ''
    returnType: u8
    signature: 'static u8 uncv_get_val(GF_BitStream *bs, UNCVComponentInfo *comp,
      UNCVDecCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:188,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:198,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:196,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:189,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:190,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:206,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - uncv
    argTypes:
    - UNCVConfig*
    constantsTouched: []
    func_position:
      end: 221
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 221
    functionName: uncv_load_profile
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - GF_4CC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err uncv_load_profile(UNCVConfig *uncv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_uncv.c:1248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - config
    - tile_x
    - tile_y
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1255
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1255
    functionName: uncv_start_tile
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_bs_seek
    linkageType: ''
    returnType: void
    signature: 'static void uncv_start_tile(UNCVDecCtx *ctx, UNCVConfig *config, u32
      tile_x, u32 tile_y) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_uncv.c:1366,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:1382,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:1369,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:1373,1
    - Dst: uncv_get_val
      Src: /src/gpac/src/filters/dec_uncv.c:1379,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:1385,1
    - Dst: uncv_get_val
      Src: /src/gpac/src/filters/dec_uncv.c:1390,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:1394,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 5
    argNames:
    - ctx
    - config
    - bsr
    - comp_idx
    - x
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - BSRead*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1398
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1398
    functionName: uncv_pull_block
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_get_val
    - gf_bs_read_u8
    - gf_bs_seek
    - gf_bs_read_int
    linkageType: ''
    returnType: void
    signature: 'static void uncv_pull_block(UNCVDecCtx *ctx, UNCVConfig *config, BSRead
      *bsr, u32 comp_idx, u32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1696
    functionName: uncvdec_register
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *uncvdec_register(GF_FilterSession *session) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: uncv_check_comps_type
      Src: /src/gpac/src/filters/dec_uncv.c:578,1
    - Dst: uncv_check_comps_type
      Src: /src/gpac/src/filters/dec_uncv.c:582,1
    - Dst: uncv_check_comp_type
      Src: /src/gpac/src/filters/dec_uncv.c:588,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/dec_uncv.c:581,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 296
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - UNCVDecCtx*
    constantsTouched: []
    func_position:
      end: 715
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 715
    functionName: uncv_get_compat
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_check_comps_type
    - gf_assert
    - uncv_check_comp_type
    linkageType: ''
    returnType: u32
    signature: 'static u32 uncv_get_compat(UNCVDecCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uncv_del
      Src: /src/gpac/src/filters/dec_uncv.c:777,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_uncv.c:783,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:785,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:786,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_uncv.c:784,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:788,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:792,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_uncv.c:796,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:800,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - UNCVDecCtx*
    constantsTouched: []
    func_position:
      end: 803
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 803
    functionName: uncv_reset
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_del
    - gf_bs_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void uncv_reset(UNCVDecCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - UNCVDecCtx*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1259
    functionName: uncv_end_tile
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void uncv_end_tile(UNCVDecCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_uncv.c:1589,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_uncv.c:1594,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/dec_uncv.c:1600,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_uncv.c:1591,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_uncv.c:1593,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_uncv.c:1601,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_uncv.c:1606,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_uncv.c:1608,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_uncv.c:1613,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_uncv.c:1614,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:1616,1
    - Dst: uncv_start_frame
      Src: /src/gpac/src/filters/dec_uncv.c:1618,1
    - Dst: uncv_start_tile
      Src: /src/gpac/src/filters/dec_uncv.c:1625,1
    - Dst: uncv_end_line
      Src: /src/gpac/src/filters/dec_uncv.c:1644,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_uncv.c:1649,1
    - Dst: uncv_end_tile
      Src: /src/gpac/src/filters/dec_uncv.c:1646,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_uncv.c:1650,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1652
    functionName: uncvdec_process
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - uncv_end_tile
    - memset
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - uncv_start_tile
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - uncv_end_line
    - gf_filter_pid_set_eos
    - uncv_start_frame
    - gf_filter_pck_send
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err uncvdec_process(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - ctx
    - comp_bits
    - clen
    argTypes:
    - UNCVDecCtx*
    - u32*
    - u32
    constantsTouched: []
    func_position:
      end: 773
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 773
    functionName: uncv_get_line_size
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 uncv_get_line_size(UNCVDecCtx *ctx, u32 *comp_bits, u32
      clen) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:840,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/dec_uncv.c:843,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:863,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:882,1
    - Dst: uncv_get_line_size
      Src: /src/gpac/src/filters/dec_uncv.c:996,1
    - Dst: uncv_get_line_size
      Src: /src/gpac/src/filters/dec_uncv.c:977,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:905,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_uncv.c:1117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:989,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:1091,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:1092,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:1098,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_uncv.c:1099,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:1103,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:876,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:897,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:891,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_uncv.c:1095,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:1112,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:1116,1
    - Dst: uncv_reset
      Src: /src/gpac/src/filters/dec_uncv.c:809,1
    - Dst: uncv_get_compat
      Src: /src/gpac/src/filters/dec_uncv.c:822,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:843,1
    - Dst: uncv_parse_config
      Src: /src/gpac/src/filters/dec_uncv.c:811,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:871,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:886,1
    - Dst: uncv_get_line_size
      Src: /src/gpac/src/filters/dec_uncv.c:1048,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_uncv.c:1049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:1056,1
    - Dst: gf_floor
      Src: /src/gpac/src/filters/dec_uncv.c:1079,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:1113,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 321
    argCount: 3
    argNames:
    - ctx
    - dsi
    - dsi_size
    argTypes:
    - UNCVDecCtx*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1120
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 1120
    functionName: uncv_config
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - uncv_get_compat
    - memset
    - gf_floor
    - uncv_reset
    - GF_LOG
    - uncv_parse_config
    - gf_bs_new
    - gf_free
    - gf_pixel_fmt_name
    - uncv_get_line_size
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err uncv_config(UNCVDecCtx *ctx, u8 *dsi, u32 dsi_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/dec_uncv.c:1266,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dec_uncv.c:1280,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1272,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_uncv.c:1274,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1284
    functionName: uncv_end_line
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_bs_get_position
    - gf_bs_skip_bytes
    - gf_bs_seek
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void uncv_end_line(UNCVDecCtx *ctx, UNCVConfig *config) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_uncv.c:1656,1
    - Dst: uncv_reset
      Src: /src/gpac/src/filters/dec_uncv.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: uncvdec_finalize
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - uncv_reset
    linkageType: ''
    returnType: void
    signature: 'static void uncvdec_finalize(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 11
    argCount: 11
    argNames:
    - type
    - has_mono
    - has_yuv
    - has_rgb
    - has_alpha
    - has_depth
    - has_disp
    - has_pal
    - has_fa
    - has_pad
    - has_non_int
    argTypes:
    - u32
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 561
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 561
    functionName: uncv_check_comp_type
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void uncv_check_comp_type(u32 type, Bool *has_mono, Bool *has_yuv,
      Bool *has_rgb, Bool *has_alpha, Bool *has_depth, Bool *has_disp, Bool *has_pal,
      Bool *has_fa, Bool *has_pad, Bool *has_non_int) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_uncv.c:1125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_uncv.c:1143,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_uncv.c:1130,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_uncv.c:1136,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_uncv.c:1139,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_uncv.c:1146,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_uncv.c:1150,1
    - Dst: uncv_config
      Src: /src/gpac/src/filters/dec_uncv.c:1154,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_uncv.c:1158,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_uncv.c:1160,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_uncv.c:1162,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_uncv.c:1161,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_uncv.c:1162,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_uncv.c:1163,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_uncv.c:1161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1165
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1165
    functionName: uncvdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - gf_filter_pid_set_property
    - uncv_config
    - gf_filter_pid_check_caps
    - PROP_UINT
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err uncvdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:1406,1
    - Dst: uncv_set_pix_val
      Src: /src/gpac/src/filters/dec_uncv.c:1413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - comp
    - val
    - x
    - y
    argTypes:
    - UNCVDecCtx*
    - UNCVComponentInfo*
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1427
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1427
    functionName: uncv_set_pix_val
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_set_pix_val
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void uncv_set_pix_val(UNCVDecCtx *ctx, UNCVComponentInfo *comp,
      u8 val, u32 x, u32 y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uncv_check_comp_type
      Src: /src/gpac/src/filters/dec_uncv.c:566,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 6
    argCount: 12
    argNames:
    - comps
    - nb_comps
    - has_mono
    - has_yuv
    - has_rgb
    - has_alpha
    - has_depth
    - has_disp
    - has_pal
    - has_fa
    - has_pad
    - has_non_int
    argTypes:
    - UNCVComponentInfo*
    - u32
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: uncv_check_comps_type
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_check_comp_type
    linkageType: ''
    returnType: void
    signature: 'static void uncv_check_comps_type(UNCVComponentInfo *comps, u32 nb_comps,
      Bool *has_mono, Bool *has_yuv, Bool *has_rgb, Bool *has_alpha, Bool *has_depth,
      Bool *has_disp, Bool *has_pal, Bool *has_fa, Bool *has_pad, Bool *has_non_int) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_reassign_buffer
      Src: /src/gpac/src/filters/dec_uncv.c:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - bsr
    argTypes:
    - UNCVDecCtx*
    - BSRead*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1181
    functionName: uncv_setup_block
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_bs_reassign_buffer
    linkageType: ''
    returnType: void
    signature: 'static void uncv_setup_block(UNCVDecCtx *ctx, BSRead *bsr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uncv_pull_block
      Src: /src/gpac/src/filters/dec_uncv.c:1436,1
    - Dst: uncv_get_val
      Src: /src/gpac/src/filters/dec_uncv.c:1449,1
    - Dst: uncv_set_pix_val
      Src: /src/gpac/src/filters/dec_uncv.c:1444,1
    - Dst: uncv_set_pix_val
      Src: /src/gpac/src/filters/dec_uncv.c:1454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - config
    - bsr
    - comp
    - no_write
    - x
    - y
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - BSRead*
    - UNCVComponentInfo*
    - Bool
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1457
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1457
    functionName: uncv_pull_val
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_pull_block
    - uncv_set_pix_val
    - uncv_get_val
    linkageType: ''
    returnType: void
    signature: 'static void uncv_pull_val(UNCVDecCtx *ctx, UNCVConfig *config, BSRead
      *bsr, UNCVComponentInfo *comp, Bool no_write, u32 x, u32 y) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:243,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:267,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:279,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:270,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_uncv.c:292,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:298,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:391,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/dec_uncv.c:372,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:304,1
    - Dst: uncv_del
      Src: /src/gpac/src/filters/dec_uncv.c:499,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:307,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:254,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:470,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/dec_uncv.c:406,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:415,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:483,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:245,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:269,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:303,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:248,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dec_uncv.c:263,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:308,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:355,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:300,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:324,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:399,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:241,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:255,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:294,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:301,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_uncv.c:409,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:310,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:309,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:383,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_uncv.c:411,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_uncv.c:235,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:285,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:271,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:299,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:490,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_uncv.c:240,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/dec_uncv.c:305,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:377,1
    - Dst: uncv_get_val
      Src: /src/gpac/src/filters/dec_uncv.c:371,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:450,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:343,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_uncv.c:384,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:404,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/filters/dec_uncv.c:400,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_uncv.c:261,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:293,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:306,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:434,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:443,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_uncv.c:325,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_uncv.c:290,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_uncv.c:385,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:420,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:466,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_uncv.c:239,1
    - Dst: uncv_load_profile
      Src: /src/gpac/src/filters/dec_uncv.c:273,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:297,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:315,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dec_uncv.c:338,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_uncv.c:375,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:427,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:439,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:461,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:455,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_uncv.c:242,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:320,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:348,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:494,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:477,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_uncv.c:331,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:347,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 329
    argCount: 3
    argNames:
    - dsi
    - dsi_size
    - out_err
    argTypes:
    - u8*
    - u32
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 503
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 503
    functionName: uncv_parse_config
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_bs_read_float
    - uncv_del
    - memset
    - GF_LOG
    - GF_SAFEALLOC
    - gf_bs_skip_bytes
    - gf_bs_del
    - GF_4CC
    - uncv_load_profile
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_bs_is_overflow
    - uncv_get_val
    - gf_bs_read_utf8
    - gf_bs_available
    - gf_bs_align
    linkageType: ''
    returnType: UNCVConfig*
    signature: 'static UNCVConfig *uncv_parse_config(u8 *dsi, u32 dsi_size, GF_Err
      *out_err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1462,1
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1464,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1472,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/dec_uncv.c:1470,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:1474,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1481
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1481
    functionName: read_pixel_interleave_pixel
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u8
    - gf_bs_get_position
    - GF_LOG
    - uncv_pull_val
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_pixel(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1532
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1532
    functionName: read_pixel_interleave_comp
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_pull_val
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_comp(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1558
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1558
    functionName: read_pixel_interleave_comp_yuv_420
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_pull_val
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_comp_yuv_420(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1701
    functionName: uncvdec_register
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *uncvdec_register(GF_FilterSession *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filters/dec_uncv.c:511,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dec_uncv.c:519,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dec_uncv.c:511,1
    - Dst: uncv_parse_config
      Src: /src/gpac/src/filters/dec_uncv.c:515,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dec_uncv.c:519,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dec_uncv.c:525,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dec_uncv.c:526,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dec_uncv.c:526,1
    - Dst: strcat
      Src: /src/gpac/src/filters/dec_uncv.c:527,1
    - Dst: snprintf
      Src: /src/gpac/src/filters/dec_uncv.c:533,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dec_uncv.c:533,1
    - Dst: uncv_del
      Src: /src/gpac/src/filters/dec_uncv.c:535,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dec_uncv.c:533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - szCodec
    - subtype
    - dsi
    - dsi_size
    argTypes:
    - char*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: rfc_6381_get_codec_uncv
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - uncv_del
    - strcat
    - sprintf
    - uncv_parse_config
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_uncv(char *szCodec, u32 subtype, u8 *dsi,
      u32 dsi_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1486,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dec_uncv.c:1498,1
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1491,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/dec_uncv.c:1497,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_uncv.c:1500,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_uncv.c:1503,1
    - Dst: uncv_set_pix_val
      Src: /src/gpac/src/filters/dec_uncv.c:1515,1
    - Dst: uncv_set_pix_val
      Src: /src/gpac/src/filters/dec_uncv.c:1520,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1524
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1524
    functionName: read_pixel_interleave_multiy
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_set_pix_val
    - gf_bs_read_u8
    - gf_bs_get_position
    - GF_LOG
    - uncv_pull_val
    - gf_bs_align
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_multiy(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1542
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1542
    functionName: read_pixel_interleave_comp_yuv
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_pull_val
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_comp_yuv(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1572,1
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1576,1
    - Dst: uncv_pull_val
      Src: /src/gpac/src/filters/dec_uncv.c:1578,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 6
    argNames:
    - ctx
    - config
    - x
    - y
    - out_data
    - offset
    argTypes:
    - UNCVDecCtx*
    - UNCVConfig*
    - u32
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1582
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1582
    functionName: read_pixel_interleave_mixed
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - uncv_pull_val
    linkageType: ''
    returnType: void
    signature: 'static void read_pixel_interleave_mixed(UNCVDecCtx *ctx, UNCVConfig
      *config, u32 x, u32 y, u8 *out_data, u32 offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filters/dec_uncv.c:1705,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filters/dec_uncv.c:1705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - szCodec
    - subtype
    - dsi
    - dsi_size
    argTypes:
    - char*
    - u32
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1707
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1707
    functionName: rfc_6381_get_codec_uncv
    functionSourceFile: /src/gpac/src/filters/dec_uncv.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err rfc_6381_get_codec_uncv(char *szCodec, u32 subtype, u8 *dsi,
      u32 dsi_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: int_ceildivpow2
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_ceildivpow2(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - client_data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: warning_callback
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void warning_callback(const char *msg, void *client_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/dec_j2k.c:587,1
    - Dst: warning_callback
      Src: /src/gpac/src/filters/dec_j2k.c:589,1
    - Dst: info_callback
      Src: /src/gpac/src/filters/dec_j2k.c:590,1
    - Dst: j2kdec_stream_skip
      Src: /src/gpac/src/filters/dec_j2k.c:592,1
    - Dst: error_callback
      Src: /src/gpac/src/filters/dec_j2k.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 597
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 597
    functionName: j2kdec_initialize
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - gf_sys_is_cov_mode
    - warning_callback
    - j2kdec_stream_skip
    - error_callback
    - info_callback
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err j2kdec_initialize(GF_Filter *filter) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_j2k.c:78,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_j2k.c:110,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_j2k.c:114,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_j2k.c:113,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_j2k.c:126,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_j2k.c:127,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_j2k.c:160,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dec_j2k.c:169,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:175,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/dec_j2k.c:97,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dec_j2k.c:112,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dec_j2k.c:128,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_j2k.c:158,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:173,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:176,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:178,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:179,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dec_j2k.c:180,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dec_j2k.c:88,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dec_j2k.c:91,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/dec_j2k.c:82,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dec_j2k.c:111,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_j2k.c:120,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dec_j2k.c:131,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dec_j2k.c:168,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dec_j2k.c:172,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:175,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_j2k.c:107,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dec_j2k.c:109,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/dec_j2k.c:110,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dec_j2k.c:129,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dec_j2k.c:118,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:173,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:176,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:178,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:179,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:180,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 183
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 183
    functionName: j2kdec_configure_pid
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - PROP_BOOL
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_remove
    - gf_bs_skip_bytes
    - gf_filter_get_udta
    - gf_bs_del
    - gf_crc_32
    - GF_4CC
    - gf_filter_pid_copy_properties
    - PROP_UINT
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_u8
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_filter_pid_get_property
    - gf_bs_available
    - gf_filter_pid_check_caps
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err j2kdec_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/dec_j2k.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - out_buffer
    - nb_bytes
    - user_data
    argTypes:
    - void*
    - OPJ_SIZE_T
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: j2kdec_stream_read
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: OPJ_SIZE_T
    signature: 'static OPJ_SIZE_T j2kdec_stream_read(void *out_buffer, OPJ_SIZE_T
      nb_bytes, void *user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - nb_bytes
    - user_data
    argTypes:
    - OPJ_OFF_T
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: j2kdec_stream_skip
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPJ_OFF_T
    signature: 'static OPJ_OFF_T j2kdec_stream_skip(OPJ_OFF_T nb_bytes, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - nb_bytes
    - user_data
    argTypes:
    - OPJ_OFF_T
    - void*
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: j2kdec_stream_seek
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPJ_BOOL
    signature: 'static OPJ_BOOL j2kdec_stream_seek(OPJ_OFF_T nb_bytes, void *user_data) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dec_j2k.c:305,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_j2k.c:310,1
    - Dst: opj_stream_set_seek_function
      Src: /src/gpac/src/filters/dec_j2k.c:338,1
    - Dst: opj_read_header
      Src: /src/gpac/src/filters/dec_j2k.c:345,1
    - Dst: opj_stream_destroy
      Src: /src/gpac/src/filters/dec_j2k.c:381,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:434,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dec_j2k.c:465,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:469,1
    - Dst: gf_filter_pck_get_seek_flag
      Src: /src/gpac/src/filters/dec_j2k.c:573,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/dec_j2k.c:574,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dec_j2k.c:578,1
    - Dst: opj_cio_close
      Src: /src/gpac/src/filters/dec_j2k.c:385,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:496,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_j2k.c:580,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_j2k.c:417,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dec_j2k.c:299,1
    - Dst: opj_set_default_decoder_parameters
      Src: /src/gpac/src/filters/dec_j2k.c:322,1
    - Dst: opj_setup_decoder
      Src: /src/gpac/src/filters/dec_j2k.c:333,1
    - Dst: opj_decode
      Src: /src/gpac/src/filters/dec_j2k.c:348,1
    - Dst: opj_set_event_mgr
      Src: /src/gpac/src/filters/dec_j2k.c:368,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dec_j2k.c:378,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:429,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:439,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:444,1
    - Dst: opj_destroy_codec
      Src: /src/gpac/src/filters/dec_j2k.c:451,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/dec_j2k.c:577,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:444,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:471,1
    - Dst: opj_cio_open
      Src: /src/gpac/src/filters/dec_j2k.c:373,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dec_j2k.c:439,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dec_j2k.c:319,1
    - Dst: opj_create_decompress
      Src: /src/gpac/src/filters/dec_j2k.c:325,1
    - Dst: opj_stream_default_create
      Src: /src/gpac/src/filters/dec_j2k.c:335,1
    - Dst: opj_stream_set_read_function
      Src: /src/gpac/src/filters/dec_j2k.c:336,1
    - Dst: opj_set_decode_area
      Src: /src/gpac/src/filters/dec_j2k.c:346,1
    - Dst: opj_image_destroy
      Src: /src/gpac/src/filters/dec_j2k.c:351,1
    - Dst: opj_create_decompress
      Src: /src/gpac/src/filters/dec_j2k.c:359,1
    - Dst: memset
      Src: /src/gpac/src/filters/dec_j2k.c:362,1
    - Dst: opj_decode_with_info
      Src: /src/gpac/src/filters/dec_j2k.c:375,1
    - Dst: opj_destroy_codec
      Src: /src/gpac/src/filters/dec_j2k.c:382,1
    - Dst: opj_cio_close
      Src: /src/gpac/src/filters/dec_j2k.c:455,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:434,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:513,1
    - Dst: opj_stream_destroy
      Src: /src/gpac/src/filters/dec_j2k.c:449,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:515,1
    - Dst: opj_image_destroy
      Src: /src/gpac/src/filters/dec_j2k.c:570,1
    - Dst: opj_destroy_decompress
      Src: /src/gpac/src/filters/dec_j2k.c:460,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dec_j2k.c:302,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dec_j2k.c:308,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dec_j2k.c:304,1
    - Dst: opj_set_info_handler
      Src: /src/gpac/src/filters/dec_j2k.c:329,1
    - Dst: opj_set_error_handler
      Src: /src/gpac/src/filters/dec_j2k.c:331,1
    - Dst: opj_stream_set_user_data
      Src: /src/gpac/src/filters/dec_j2k.c:342,1
    - Dst: opj_stream_set_user_data_length
      Src: /src/gpac/src/filters/dec_j2k.c:343,1
    - Dst: opj_stream_set_skip_function
      Src: /src/gpac/src/filters/dec_j2k.c:337,1
    - Dst: opj_set_warning_handler
      Src: /src/gpac/src/filters/dec_j2k.c:330,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:350,1
    - Dst: opj_destroy_decompress
      Src: /src/gpac/src/filters/dec_j2k.c:384,1
    - Dst: opj_end_decompress
      Src: /src/gpac/src/filters/dec_j2k.c:448,1
    - Dst: int_ceildivpow2
      Src: /src/gpac/src/filters/dec_j2k.c:498,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dec_j2k.c:576,1
    - Dst: opj_setup_decoder
      Src: /src/gpac/src/filters/dec_j2k.c:371,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dec_j2k.c:387,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dec_j2k.c:429,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 389
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 582
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 582
    functionName: j2kdec_process
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_is_eos
    - opj_set_decode_area
    - opj_stream_destroy
    - gf_filter_pck_set_dependency_flags
    - opj_image_destroy
    - opj_decode
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - opj_setup_decoder
    - opj_destroy_codec
    - GF_SAFEALLOC
    - opj_decode_with_info
    - opj_stream_set_seek_function
    - gf_filter_pck_get_data
    - opj_end_decompress
    - gf_filter_get_udta
    - gf_filter_pck_new_alloc
    - gf_filter_pid_get_packet
    - opj_read_header
    - opj_cio_close
    - PROP_UINT
    - opj_set_warning_handler
    - opj_create_decompress
    - opj_stream_default_create
    - opj_destroy_decompress
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - gf_free
    - gf_filter_pck_send
    - opj_set_default_decoder_parameters
    - opj_cio_open
    - opj_set_event_mgr
    - gf_filter_pck_merge_properties
    - gf_filter_pck_get_seek_flag
    - int_ceildivpow2
    - opj_stream_set_user_data
    - opj_stream_set_user_data_length
    - opj_set_error_handler
    - opj_stream_set_read_function
    - opj_set_info_handler
    - opj_stream_set_skip_function
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err j2kdec_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: j2kdec_register
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *j2kdec_register(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:191,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - client_data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: error_callback
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void error_callback(const char *msg, void *client_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dec_j2k.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - client_data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: info_callback
    functionSourceFile: /src/gpac/src/filters/dec_j2k.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'void info_callback(const char *msg, void *client_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_http.c:90,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/in_http.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - filter
    - ctx
    - e
    argTypes:
    - GF_Filter*
    - GF_HTTPInCtx*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: httpin_notify_error
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_filter_setup_failure
    - gf_filter_notification_failure
    linkageType: ''
    returnType: void
    signature: 'static void httpin_notify_error(GF_Filter *filter, GF_HTTPInCtx *ctx,
      GF_Err e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_http.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GF_HTTPInCtx*
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: httpin_set_eos
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: void
    signature: 'static void httpin_set_eos(GF_HTTPInCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_http.c:210,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_http.c:213,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_http.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - pid
    - pck
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: httpin_rel_pck
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_post_process_task
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: void
    signature: 'static void httpin_rel_pck(GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket
      *pck) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gf_fread
      Src: /src/gpac/src/filters/in_http.c:455,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/in_http.c:507,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/src/filters/in_http.c:503,1
    - Dst: httpin_notify_error
      Src: /src/gpac/src/filters/in_http.c:514,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/filters/in_http.c:554,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_http.c:579,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/in_http.c:590,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/in_http.c:590,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_http.c:597,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_http.c:599,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_http.c:636,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_http.c:621,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_http.c:645,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/in_http.c:624,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_http.c:576,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_http.c:446,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_http.c:486,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:472,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:508,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_http.c:530,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_http.c:543,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_http.c:560,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_http.c:583,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_http.c:562,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:597,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_http.c:645,1
    - Dst: gf_fread
      Src: /src/gpac/src/filters/in_http.c:568,1
    - Dst: httpin_set_eos
      Src: /src/gpac/src/filters/in_http.c:647,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_http.c:579,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_http.c:602,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_http.c:603,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:551,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_http.c:632,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/in_http.c:638,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_http.c:400,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_http.c:424,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_http.c:450,1
    - Dst: gf_blob_get
      Src: /src/gpac/src/filters/in_http.c:468,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/filters/in_http.c:498,1
    - Dst: gf_dm_sess_fetch_data
      Src: /src/gpac/src/filters/in_http.c:489,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/in_http.c:484,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_http.c:527,1
    - Dst: gf_dm_sess_get_stats
      Src: /src/gpac/src/filters/in_http.c:534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:571,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:602,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:603,1
    - Dst: gf_filter_reporting_enabled
      Src: /src/gpac/src/filters/in_http.c:634,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/in_http.c:587,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/in_http.c:600,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/in_http.c:628,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_http.c:443,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/in_http.c:417,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_http.c:422,1
    - Dst: httpin_set_eos
      Src: /src/gpac/src/filters/in_http.c:452,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/in_http.c:465,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/in_http.c:466,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/in_http.c:508,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/in_http.c:510,1
    - Dst: gf_dm_sess_is_regulated
      Src: /src/gpac/src/filters/in_http.c:510,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/in_http.c:547,1
    - Dst: gf_blob_release
      Src: /src/gpac/src/filters/in_http.c:564,1
    - Dst: gf_dm_sess_mime_type
      Src: /src/gpac/src/filters/in_http.c:576,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/in_http.c:583,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:600,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_http.c:626,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_http.c:566,1
    - Dst: gf_filter_update_status
      Src: /src/gpac/src/filters/in_http.c:639,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/in_http.c:643,1
    - Dst: gf_filter_pid_set_info
      Src: /src/gpac/src/filters/in_http.c:599,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/in_http.c:627,1
    - Dst: gf_dm_sess_enum_headers
      Src: /src/gpac/src/filters/in_http.c:589,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 215
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 652
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 652
    functionName: httpin_process
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_eos
    - gf_filter_update_status
    - gf_filter_get_udta
    - gf_filter_pid_set_info
    - gf_filter_pid_set_property_dyn
    - gf_filter_pck_set_sap
    - PROP_POINTER
    - PROP_STRING
    - gf_filter_ask_rt_reschedule
    - gf_blob_get
    - gf_filter_pck_set_byte_offset
    - gf_dm_sess_get_stats
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_file_basename
    - gf_blob_release
    - gf_assert
    - gf_fopen
    - gf_filter_reporting_enabled
    - gf_dm_sess_get_cache_name
    - PROP_LONGUINT
    - gf_dm_sess_enum_headers
    - gf_fread
    - sprintf
    - gf_filter_pck_set_framing
    - gf_filter_pid_set_property
    - gf_sys_clock
    - memcpy
    - gf_sys_is_test_mode
    - strnicmp
    - gf_filter_pck_send
    - gf_filter_pid_would_block
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - httpin_notify_error
    - gf_dm_sess_fetch_data
    - gf_dm_sess_mime_type
    - gf_dm_sess_abort
    - gf_dm_sess_is_regulated
    - httpin_set_eos
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpin_process(GF_Filter *filter) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_http.c:101,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/in_http.c:110,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_http.c:134,1
    - Dst: gf_filter_get_download_manager
      Src: /src/gpac/src/filters/in_http.c:107,1
    - Dst: gf_filter_set_blocking
      Src: /src/gpac/src/filters/in_http.c:129,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_http.c:136,1
    - Dst: strstr
      Src: /src/gpac/src/filters/in_http.c:136,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_http.c:138,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/in_http.c:141,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/in_http.c:144,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/in_http.c:156,1
    - Dst: httpin_notify_error
      Src: /src/gpac/src/filters/in_http.c:157,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/in_http.c:146,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/in_http.c:152,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_http.c:150,1
    - Dst: gf_dm_sess_set_netcap_id
      Src: /src/gpac/src/filters/in_http.c:150,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 161
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 161
    functionName: httpin_initialize
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_dm_sess_new
    - gf_filter_get_udta
    - gf_malloc
    - gf_filter_get_download_manager
    - gf_filter_pid_raw_new
    - gf_sys_is_cov_mode
    - httpin_notify_error
    - strncmp
    - gf_filter_get_netcap_id
    - gf_dm_sess_set_range
    - gf_filter_set_blocking
    - gf_sys_clock
    - gf_dm_sess_set_netcap_id
    - gf_filter_setup_failure
    - strstr
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err httpin_initialize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:190,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:192,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:197,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:195,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:191,1
    - Dst: gf_dm_can_handle_url
      Src: /src/gpac/src/filters/in_http.c:198,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/in_http.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - url
    - mime_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: httpin_probe_url
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_dm_can_handle_url
    - strnicmp
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore httpin_probe_url(const char *url, const
      char *mime_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_http.c:177,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_http.c:182,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:181,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/in_http.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: httpin_finalize
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_fclose
    - gf_filter_get_udta
    - gf_dm_sess_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void httpin_finalize(GF_Filter *filter) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:241,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/in_http.c:258,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_http.c:282,1
    - Dst: gf_dm_delete_cached_file_entry_session
      Src: /src/gpac/src/filters/in_http.c:288,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:290,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_http.c:298,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/in_http.c:307,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filters/in_http.c:321,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/in_http.c:324,1
    - Dst: gf_filter_get_netcap_id
      Src: /src/gpac/src/filters/in_http.c:360,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/in_http.c:364,1
    - Dst: gf_dm_sess_setup_from_url
      Src: /src/gpac/src/filters/in_http.c:347,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:303,1
    - Dst: gf_dm_sess_set_netcap_id
      Src: /src/gpac/src/filters/in_http.c:360,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/in_http.c:243,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_http.c:242,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_http.c:247,1
    - Dst: httpin_set_eos
      Src: /src/gpac/src/filters/in_http.c:250,1
    - Dst: gf_dm_sess_set_range
      Src: /src/gpac/src/filters/in_http.c:267,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_http.c:266,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_http.c:290,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_http.c:295,1
    - Dst: gf_dm_sess_del
      Src: /src/gpac/src/filters/in_http.c:299,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/in_http.c:314,1
    - Dst: gf_dm_sess_force_memory_mode
      Src: /src/gpac/src/filters/in_http.c:346,1
    - Dst: gf_dm_sess_new
      Src: /src/gpac/src/filters/in_http.c:359,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/in_http.c:380,1
    - Dst: httpin_set_eos
      Src: /src/gpac/src/filters/in_http.c:276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:282,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:291,1
    - Dst: gf_filter_pid_raw_new
      Src: /src/gpac/src/filters/in_http.c:316,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/in_http.c:319,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/in_http.c:326,1
    - Dst: gf_dm_sess_abort
      Src: /src/gpac/src/filters/in_http.c:335,1
    - Dst: httpin_set_eos
      Src: /src/gpac/src/filters/in_http.c:337,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:369,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/in_http.c:369,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:372,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_http.c:381,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/in_http.c:223,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/in_http.c:232,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/in_http.c:247,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/in_http.c:259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/in_http.c:273,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filters/in_http.c:284,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/in_http.c:264,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_http.c:282,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/in_http.c:290,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_http.c:292,1
    - Dst: httpin_notify_error
      Src: /src/gpac/src/filters/in_http.c:370,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/in_http.c:381,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 146
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 387
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 387
    functionName: httpin_process_event
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - strncmp
    - GF_LOG
    - PROP_BOOL
    - gf_filter_pid_set_eos
    - gf_fseek
    - gf_dm_sess_force_memory_mode
    - gf_dm_sess_new
    - gf_filter_get_udta
    - gf_dm_sess_setup_from_url
    - gf_error_to_string
    - gf_strdup
    - gf_dm_delete_cached_file_entry_session
    - gf_file_basename
    - gf_fopen
    - gf_dm_sess_get_cache_name
    - gf_filter_pck_set_framing
    - gf_dm_sess_set_range
    - gf_filter_pid_set_property
    - gf_dm_sess_set_netcap_id
    - gf_filter_post_process_task
    - gf_filter_pid_set_info_str
    - gf_filter_notification_failure
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_new_shared
    - gf_filter_pid_raw_new
    - httpin_notify_error
    - gf_filter_get_netcap_id
    - gf_dm_sess_del
    - gf_dm_sess_abort
    - gf_fclose
    - httpin_set_eos
    linkageType: ''
    returnType: Bool
    signature: 'static Bool httpin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - session
    - freg
    argTypes:
    - GF_FilterSession*
    - struct __gf_filter_register*
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: httpin_reg_free
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void httpin_reg_free(GF_FilterSession *session, struct __gf_filter_register
      *freg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filters/in_http.c:737,1
    - Dst: curl_version_info
      Src: /src/gpac/src/filters/in_http.c:753,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:767,1
    - Dst: curl_easy_option_next
      Src: /src/gpac/src/filters/in_http.c:771,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_http.c:729,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_http.c:723,1
    - Dst: curl_version_info
      Src: /src/gpac/src/filters/in_http.c:725,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_http.c:743,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:750,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:755,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:732,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/in_http.c:738,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:748,1
    - Dst: curl_easy_option_next
      Src: /src/gpac/src/filters/in_http.c:756,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:768,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:769,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/in_http.c:722,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_http.c:728,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/in_http.c:730,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:747,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:752,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:754,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/in_http.c:746,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/in_http.c:751,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 778
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 778
    functionName: httpin_register
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - curl_easy_option_next
    - gf_strdup
    - strcmp
    - gf_opts_set_key
    - gf_free
    - gf_opts_get_bool
    - curl_version_info
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *httpin_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: httpin_register
    functionSourceFile: /src/gpac/src/filters/in_http.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *httpin_register(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mp4v.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: vc1mx_initialize
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vc1mx_initialize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: ufm4v_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufm4v_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ufm4v_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufm4v_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mp4v.c:54,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/rewrite_mp4v.c:59,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/rewrite_mp4v.c:68,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/rewrite_mp4v.c:73,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/rewrite_mp4v.c:64,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_mp4v.c:74,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/rewrite_mp4v.c:74,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/rewrite_mp4v.c:76,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/rewrite_mp4v.c:77,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/rewrite_mp4v.c:79,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/rewrite_mp4v.c:83,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 98
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 98
    functionName: m4vmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_filter_get_udta
    - gf_crc_32
    - gf_filter_pid_get_property
    - gf_filter_pid_copy_properties
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_filter_pid_remove
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4vmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool
      is_remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filters/rewrite_mp4v.c:259,1
    - Dst: vc1mx_initialize
      Src: /src/gpac/src/filters/rewrite_mp4v.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: ufvc1_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached:
    - vc1mx_initialize
    - gf_sys_is_cov_mode
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufvc1_register(GF_FilterSession *session) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/rewrite_mp4v.c:103,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/rewrite_mp4v.c:110,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/rewrite_mp4v.c:108,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/rewrite_mp4v.c:117,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/rewrite_mp4v.c:111,1
    - Dst: gf_filter_pck_has_properties
      Src: /src/gpac/src/filters/rewrite_mp4v.c:121,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_mp4v.c:122,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_mp4v.c:124,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/rewrite_mp4v.c:128,1
    - Dst: gf_filter_pck_get_dependency_flags
      Src: /src/gpac/src/filters/rewrite_mp4v.c:130,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_mp4v.c:157,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/rewrite_mp4v.c:168,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/rewrite_mp4v.c:171,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/rewrite_mp4v.c:179,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/rewrite_mp4v.c:181,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/rewrite_mp4v.c:170,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/rewrite_mp4v.c:169,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/rewrite_mp4v.c:154,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 183
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 183
    functionName: m4vmx_process
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_packet
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_filter_pid_drop_packet
    - gf_filter_pck_set_byte_offset
    - gf_filter_pid_set_eos
    - memcpy
    - gf_filter_pck_send
    - gf_filter_pck_get_sap
    - gf_filter_pck_has_properties
    - gf_filter_pck_get_dependency_flags
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err m4vmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: ufvc1_register
    functionSourceFile: /src/gpac/src/filters/rewrite_mp4v.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ufvc1_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_rewrite_packet
      Src: /src/gpac/src/filters/bsrw.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: vvc_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - nalu_rewrite_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket
      *pck) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bsrw.c:628,1
    - Dst: bsrw_manipulate_tc
      Src: /src/gpac/src/filters/bsrw.c:643,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bsrw.c:649,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:651,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:660,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:664,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/bsrw.c:669,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:676,1
    - Dst: gf_av1_parse_obu_header
      Src: /src/gpac/src/filters/bsrw.c:682,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:686,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/bsrw.c:693,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:673,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:698,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/bsrw.c:718,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bsrw.c:741,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:738,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:645,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:661,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:663,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:667,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:687,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:696,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:714,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/bsrw.c:726,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/bsrw.c:729,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/bsrw.c:731,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:734,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:739,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:710,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/bsrw.c:725,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/bsrw.c:620,1
    - Dst: gf_media_aom_probe_annexb
      Src: /src/gpac/src/filters/bsrw.c:632,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:633,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/bsrw.c:659,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:662,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:666,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:668,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/bsrw.c:674,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:684,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:695,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/bsrw.c:731,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:685,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:717,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:701,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:622,1
    - Dst: gf_media_probe_ivf
      Src: /src/gpac/src/filters/bsrw.c:632,1
    - Dst: gf_media_probe_iamf
      Src: /src/gpac/src/filters/bsrw.c:632,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:634,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:635,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/bsrw.c:639,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:646,1
    - Dst: gf_bs_write_u8
      Src: /src/gpac/src/filters/bsrw.c:657,1
    - Dst: gf_av1_leb128_write
      Src: /src/gpac/src/filters/bsrw.c:658,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:665,1
    - Dst: gf_av1_leb128_read
      Src: /src/gpac/src/filters/bsrw.c:706,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:724,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/bsrw.c:735,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:697,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 742
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 742
    functionName: av1_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - bsrw_manipulate_tc
    - PROP_DATA
    - GF_LOG
    - gf_bs_seek
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_av1_leb128_write
    - gf_media_probe_ivf
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_media_probe_iamf
    - gf_bs_read_u8
    - gf_filter_pck_set_property
    - gf_bs_get_position
    - gf_bs_new
    - gf_av1_parse_obu_header
    - gf_bs_write_u8
    - gf_filter_pck_send
    - gf_filter_pck_get_property
    - gf_filter_pck_forward
    - gf_media_aom_probe_annexb
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_bs_align
    - gf_av1_leb128_read
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket
      *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filters/bsrw.c:1427,1
    - Dst: gf_cicp_color_transfer_all_names
      Src: /src/gpac/src/filters/bsrw.c:1429,1
    - Dst: gf_cicp_color_matrix_all_names
      Src: /src/gpac/src/filters/bsrw.c:1430,1
    - Dst: gf_cicp_color_primaries_all_names
      Src: /src/gpac/src/filters/bsrw.c:1428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1433
    functionName: bsrw_register
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_cicp_color_matrix_all_names
    - gf_opts_get_bool
    - gf_cicp_color_transfer_all_names
    - gf_cicp_color_primaries_all_names
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bsrw_register(GF_FilterSession *session) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:748,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:751,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/bsrw.c:748,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/bsrw.c:751,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:755,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:755,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:757,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:757,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:759,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:759,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pctx
    - vui
    argTypes:
    - BSRWPid*
    - GF_VUIInfo*
    constantsTouched: []
    func_position:
      end: 761
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 761
    functionName: update_props
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - PROP_FRAC_INT
    - PROP_BOOL
    - gf_filter_pid_set_property
    - PROP_UINT
    linkageType: ''
    returnType: void
    signature: 'static void update_props(BSRWPid *pctx, GF_VUIInfo *vui) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:576,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bsrw.c:583,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bsrw.c:582,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bsrw.c:584,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bsrw.c:579,1
    - Dst: gf_avc_read_sps
      Src: /src/gpac/src/filters/bsrw.c:585,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:587,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:588,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bsrw.c:592,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bsrw.c:593,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:597,1
    - Dst: gf_avc_read_pps
      Src: /src/gpac/src/filters/bsrw.c:594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:596,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:602,1
    - Dst: nalu_rewrite_packet
      Src: /src/gpac/src/filters/bsrw.c:606,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 607
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 607
    functionName: avc_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - GF_LOG
    - gf_odf_avc_cfg_del
    - gf_avc_read_sps
    - gf_odf_avc_cfg_read
    - GF_SAFEALLOC
    - gf_avc_read_pps
    - nalu_rewrite_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket
      *pck) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:773,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/bsrw.c:775,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filters/bsrw.c:782,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:778,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/bsrw.c:775,1
    - Dst: gf_avc_change_vui
      Src: /src/gpac/src/filters/bsrw.c:788,1
    - Dst: update_props
      Src: /src/gpac/src/filters/bsrw.c:790,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bsrw.c:798,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/bsrw.c:800,1
    - Dst: gf_odf_avc_cfg_write
      Src: /src/gpac/src/filters/bsrw.c:817,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:823,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:820,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bsrw.c:823,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 831
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 831
    functionName: avc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_avc_change_vui
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - PROP_BOOL
    - gf_odf_avc_cfg_write
    - gf_filter_pid_set_property
    - gf_odf_avc_cfg_del
    - update_props
    - gf_odf_avc_cfg_read
    - gf_filter_pid_negotiate_property
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err avc_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:837,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 856
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 856
    functionName: reconfigure_alternative_transfer_characteristic
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err reconfigure_alternative_transfer_characteristic(GF_BSRWCtx
      *ctx, BSRWPid *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: none_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nalu_rewrite_packet
      Src: /src/gpac/src/filters/bsrw.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: hevc_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - nalu_rewrite_packet
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevc_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:867,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filters/bsrw.c:876,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:872,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/bsrw.c:869,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/bsrw.c:869,1
    - Dst: gf_hevc_change_vui
      Src: /src/gpac/src/filters/bsrw.c:881,1
    - Dst: update_props
      Src: /src/gpac/src/filters/bsrw.c:883,1
    - Dst: reconfigure_alternative_transfer_characteristic
      Src: /src/gpac/src/filters/bsrw.c:893,1
    - Dst: gf_odf_hevc_cfg_write
      Src: /src/gpac/src/filters/bsrw.c:895,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:897,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bsrw.c:900,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:900,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 908
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 908
    functionName: hevc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - reconfigure_alternative_transfer_characteristic
    - gf_filter_pid_get_property
    - gf_odf_hevc_cfg_read
    - PROP_BOOL
    - gf_filter_pid_set_property
    - gf_odf_hevc_cfg_del
    - update_props
    - gf_odf_hevc_cfg_write
    - gf_hevc_change_vui
    - gf_filter_pid_negotiate_property
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err hevc_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: none_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_forward
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err none_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/bsrw.c:140,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bsrw.c:158,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bsrw.c:140,1
    - Dst: gf_timecode_less
      Src: /src/gpac/src/filters/bsrw.c:163,1
    - Dst: gf_timecode_greater
      Src: /src/gpac/src/filters/bsrw.c:165,1
    - Dst: strstr
      Src: /src/gpac/src/filters/bsrw.c:170,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/bsrw.c:256,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/bsrw.c:260,1
    - Dst: gf_filter_pck_get_timescale
      Src: /src/gpac/src/filters/bsrw.c:140,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/filters/bsrw.c:257,1
    - Dst: memset
      Src: /src/gpac/src/filters/bsrw.c:189,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bsrw.c:288,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/bsrw.c:302,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/bsrw.c:136,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bsrw.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:179,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/bsrw.c:263,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/filters/bsrw.c:268,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:279,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/bsrw.c:284,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/bsrw.c:186,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/bsrw.c:271,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/bsrw.c:303,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 171
    argCount: 5
    argNames:
    - pck
    - ctx
    - pctx
    - tc_in
    - tc_out
    argTypes:
    - GF_FilterPacket*
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_TimeCode*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 319
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 319
    functionName: bsrw_manipulate_tc
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - gf_net_ntp_to_utc
    - memset
    - gf_filter_pck_get_property
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_timecode_less
    - gf_ceil
    - memcpy
    - gf_timestamp_rescale
    - strstr
    - gf_gmtime
    - gf_filter_pck_get_timescale
    - gf_assert
    - gf_timecode_greater
    - gf_net_get_utc
    linkageType: ''
    returnType: Bool
    signature: 'static Bool bsrw_manipulate_tc(GF_FilterPacket *pck, GF_BSRWCtx *ctx,
      BSRWPid *pctx, GF_TimeCode *tc_in, GF_TimeCode *tc_out) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 1019
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1019
    functionName: init_vui
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_vui(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - new_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: bsrw_update_arg
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsrw_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *new_val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1258,1
    - Dst: strstr
      Src: /src/gpac/src/filters/bsrw.c:1264,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/bsrw.c:1259,1
    - Dst: bsrw_parse_date
      Src: /src/gpac/src/filters/bsrw.c:1262,1
    - Dst: bsrw_parse_date
      Src: /src/gpac/src/filters/bsrw.c:1263,1
    - Dst: bsrw_parse_date
      Src: /src/gpac/src/filters/bsrw.c:1265,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:1272,1
    - Dst: bsrw_update_arg
      Src: /src/gpac/src/filters/bsrw.c:1278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1281
    functionName: bsrw_initialize
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - GF_LOG
    - bsrw_update_arg
    - gf_list_new
    - strstr
    - bsrw_parse_date
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsrw_initialize(GF_Filter *filter) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bsrw.c:330,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bsrw.c:341,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:349,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:406,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:433,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:490,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/bsrw.c:510,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:346,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:407,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:417,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/bsrw.c:482,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/bsrw.c:484,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:461,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/bsrw.c:501,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:439,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:431,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:413,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:450,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:365,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/bsrw.c:389,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:513,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:554,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:469,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:432,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:441,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/bsrw.c:550,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bsrw.c:558,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:328,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:373,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:352,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:434,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:445,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:454,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:435,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:443,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:408,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:410,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:451,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/bsrw.c:514,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:536,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/bsrw.c:555,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/bsrw.c:374,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:391,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/bsrw.c:542,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bsrw.c:562,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:437,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:481,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:444,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:453,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:474,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/bsrw.c:326,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:336,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:427,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:428,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:559,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:440,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:465,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:446,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:560,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:485,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:343,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/bsrw.c:396,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:470,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:447,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:502,1
    - Dst: gf_hevc_reformat_sei
      Src: /src/gpac/src/filters/bsrw.c:524,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/bsrw.c:548,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:436,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:495,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/bsrw.c:364,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:403,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:411,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:475,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/bsrw.c:537,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:370,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:421,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:449,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:420,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:452,1
    - Dst: gf_avc_parse_nalu
      Src: /src/gpac/src/filters/bsrw.c:342,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:430,1
    - Dst: gf_avc_reformat_sei
      Src: /src/gpac/src/filters/bsrw.c:521,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/bsrw.c:544,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/bsrw.c:550,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:468,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:438,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:345,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/bsrw.c:378,1
    - Dst: bsrw_manipulate_tc
      Src: /src/gpac/src/filters/bsrw.c:400,1
    - Dst: gf_bs_align
      Src: /src/gpac/src/filters/bsrw.c:458,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:412,1
    - Dst: gf_bs_write_int
      Src: /src/gpac/src/filters/bsrw.c:448,1
    - Dst: gf_vvc_reformat_sei
      Src: /src/gpac/src/filters/bsrw.c:527,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/bsrw.c:541,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/bsrw.c:333,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/bsrw.c:335,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/bsrw.c:358,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/bsrw.c:476,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/bsrw.c:509,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 202
    argCount: 4
    argNames:
    - ctx
    - pctx
    - pck
    - codec_type
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 563
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 563
    functionName: nalu_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - bsrw_manipulate_tc
    - PROP_DATA
    - gf_bs_write_data
    - GF_LOG
    - gf_bs_seek
    - gf_bs_skip_bytes
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_bs_del
    - gf_hevc_reformat_sei
    - gf_bs_read_data
    - gf_bs_write_int
    - gf_avc_reformat_sei
    - gf_bs_read_u8
    - gf_filter_pck_set_property
    - gf_bs_get_position
    - gf_bs_read_int
    - gf_bs_new
    - gf_free
    - gf_filter_pck_send
    - gf_filter_pck_get_property
    - gf_realloc
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    - gf_bs_available
    - gf_avc_parse_nalu
    - gf_bs_align
    - gf_vvc_reformat_sei
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err nalu_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx,
      GF_FilterPacket *pck, u32 codec_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:98,1
    - Dst: gf_m4v_rewrite_par
      Src: /src/gpac/src/filters/bsrw.c:110,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/bsrw.c:106,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/bsrw.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bsrw.c:115,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:118,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/bsrw.c:118,1
    - Dst: gf_m4v_rewrite_pl
      Src: /src/gpac/src/filters/bsrw.c:122,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:123,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:123,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:129,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bsrw.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 132
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 132
    functionName: m4v_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_m4v_rewrite_par
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    - memcpy
    - PROP_FRAC
    - PROP_UINT
    - gf_free
    - gf_m4v_rewrite_pl
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err m4v_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone
      Src: /src/gpac/src/filters/bsrw.c:1024,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/bsrw.c:1057,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:1064,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:1050,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:1057,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:1064,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:1071,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:1071,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:1078,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/bsrw.c:1078,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/bsrw.c:1082,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - pctx
    - pck
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1083
    functionName: prores_rewrite_packet
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_clone
    - GF_LOG
    - gf_filter_pid_set_property
    - PROP_FRAC
    - PROP_UINT
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err prores_rewrite_packet(GF_BSRWCtx *ctx, BSRWPid *pctx,
      GF_FilterPacket *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1284,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/bsrw.c:1285,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/bsrw.c:1286,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bsrw.c:1287,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bsrw.c:1288,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/bsrw.c:1290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1291
    functionName: bsrw_finalize
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_list_count
    - gf_free
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void bsrw_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1438
    functionName: bsrw_register
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *bsrw_register(GF_FilterSession *session) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:919,1
    - Dst: reconfigure_alternative_transfer_characteristic
      Src: /src/gpac/src/filters/bsrw.c:935,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filters/bsrw.c:923,1
    - Dst: gf_vvc_change_vui
      Src: /src/gpac/src/filters/bsrw.c:927,1
    - Dst: update_props
      Src: /src/gpac/src/filters/bsrw.c:929,1
    - Dst: gf_odf_vvc_cfg_write
      Src: /src/gpac/src/filters/bsrw.c:937,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/bsrw.c:939,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/bsrw.c:942,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/bsrw.c:942,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 953
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 953
    functionName: vvc_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_odf_vvc_cfg_write
    - reconfigure_alternative_transfer_characteristic
    - gf_filter_pid_get_property
    - gf_filter_pid_set_property
    - update_props
    - gf_odf_vvc_cfg_read
    - gf_vvc_change_vui
    - gf_odf_vvc_cfg_del
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err vvc_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1090,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/bsrw.c:1105,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:1108,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bsrw.c:1116,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/bsrw.c:1120,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/bsrw.c:1180,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/bsrw.c:1119,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1089,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filters/bsrw.c:1100,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/bsrw.c:1099,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/bsrw.c:1096,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/bsrw.c:1113,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:1163,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/bsrw.c:1173,1
    - Dst: init_vui
      Src: /src/gpac/src/filters/bsrw.c:1123,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/bsrw.c:1175,1
    - Dst: rewrite_pid_config
      Src: /src/gpac/src/filters/bsrw.c:1186,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/bsrw.c:1101,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/bsrw.c:1109,1
    - Dst: gf_ceil
      Src: /src/gpac/src/filters/bsrw.c:1172,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/bsrw.c:1183,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 64
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1188
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1188
    functionName: bsrw_configure_pid
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_get_udta
    - gf_filter_pid_new
    - gf_filter_pid_set_udta
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_filter_pid_copy_properties
    - GF_LOG
    - rewrite_pid_config
    - init_vui
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_fatal_assert
    - gf_ceil
    - GF_SAFEALLOC
    - gf_filter_pid_remove
    - gf_list_del_item
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsrw_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/bsrw.c:960,1
    - Dst: gf_filter_pid_negotiate_property
      Src: /src/gpac/src/filters/bsrw.c:962,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/bsrw.c:962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - GF_BSRWCtx*
    - BSRWPid*
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: av1_rewrite_pid_config
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property
    - gf_filter_pid_negotiate_property
    - PROP_BOOL
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err av1_rewrite_pid_config(GF_BSRWCtx *ctx, BSRWPid *pctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1194,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/bsrw.c:1202,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/bsrw.c:1196,1
    - Dst: init_vui
      Src: /src/gpac/src/filters/bsrw.c:1208,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/bsrw.c:1200,1
    - Dst: rewrite_pid_config
      Src: /src/gpac/src/filters/bsrw.c:1209,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/bsrw.c:1212,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/bsrw.c:1214,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/bsrw.c:1215,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/bsrw.c:1219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1223
    functionName: bsrw_process
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_filter_pid_is_eos
    - gf_filter_pid_get_udta
    - rewrite_pid_config
    - gf_filter_pid_get_packet
    - gf_filter_get_ipid_count
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_get_ipid
    - init_vui
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsrw_process(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filters/bsrw.c:1246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - date_in
    - tc_out
    argTypes:
    - char*
    - GF_TimeCode*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1254
    functionName: bsrw_parse_date
    functionSourceFile: /src/gpac/src/filters/bsrw.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err bsrw_parse_date(const char *date_in, GF_TimeCode *tc_out) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 6
    argCount: 2
    argNames:
    - mode
    - has_param
    argTypes:
    - u32
    - u32*
    constantsTouched: []
    func_position:
      end: 558
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 558
    functionName: get_sws_mode
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 get_sws_mode(u32 mode, u32 *has_param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_rescale.c:942,1
    - Dst: gf_evg_surface_new
      Src: /src/gpac/src/filters/ff_rescale.c:945,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_rescale.c:943,1
    - Dst: gf_evg_stencil_new
      Src: /src/gpac/src/filters/ff_rescale.c:946,1
    - Dst: gf_path_new
      Src: /src/gpac/src/filters/ff_rescale.c:947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 957
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 957
    functionName: ffsws_initialize
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_evg_stencil_new
    - ffmpeg_setup_logs
    - gf_path_new
    - gf_evg_surface_new
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffsws_initialize(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_rescale.c:976,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_rescale.c:979,1
    - Dst: ffsws_configure_pid
      Src: /src/gpac/src/filters/ff_rescale.c:987,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_rescale.c:982,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filters/ff_rescale.c:985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 988
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 988
    functionName: ffsws_reconfigure_output
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffsws_configure_pid
    - gf_filter_pid_caps_query
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffsws_reconfigure_output(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_rescale.c:106,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:137,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/ff_rescale.c:144,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_rescale.c:142,1
    - Dst: AV_RL32
      Src: /src/gpac/src/filters/ff_rescale.c:236,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/filters/ff_rescale.c:296,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/filters/ff_rescale.c:297,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:353,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:405,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/ff_rescale.c:535,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/filters/ff_rescale.c:308,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:121,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:138,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/ff_rescale.c:147,1
    - Dst: GF_COLW_B
      Src: /src/gpac/src/filters/ff_rescale.c:291,1
    - Dst: GF_COL_R
      Src: /src/gpac/src/filters/ff_rescale.c:309,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/filters/ff_rescale.c:311,1
    - Dst: gf_color_parse
      Src: /src/gpac/src/filters/ff_rescale.c:395,1
    - Dst: sws_scale
      Src: /src/gpac/src/filters/ff_rescale.c:402,1
    - Dst: gf_evg_surface_clear
      Src: /src/gpac/src/filters/ff_rescale.c:397,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_rescale.c:406,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:352,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:536,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:328,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/filters/ff_rescale.c:513,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/ff_rescale.c:120,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/ff_rescale.c:113,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:129,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_rescale.c:133,1
    - Dst: gf_filter_pck_get_frame_interface
      Src: /src/gpac/src/filters/ff_rescale.c:134,1
    - Dst: AV_RL32
      Src: /src/gpac/src/filters/ff_rescale.c:215,1
    - Dst: gf_evg_stencil_get_pixel_wide_fast
      Src: /src/gpac/src/filters/ff_rescale.c:288,1
    - Dst: GF_COLW_G
      Src: /src/gpac/src/filters/ff_rescale.c:290,1
    - Dst: gf_evg_stencil_get_pixel_fast
      Src: /src/gpac/src/filters/ff_rescale.c:295,1
    - Dst: GF_COL_B
      Src: /src/gpac/src/filters/ff_rescale.c:298,1
    - Dst: gf_evg_surface_fill
      Src: /src/gpac/src/filters/ff_rescale.c:516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:404,1
    - Dst: GF_COL_G
      Src: /src/gpac/src/filters/ff_rescale.c:310,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/filters/ff_rescale.c:514,1
    - Dst: gf_evg_surface_set_path
      Src: /src/gpac/src/filters/ff_rescale.c:515,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_rescale.c:519,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_rescale.c:109,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_rescale.c:112,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_rescale.c:143,1
    - Dst: AV_RL32
      Src: /src/gpac/src/filters/ff_rescale.c:202,1
    - Dst: AV_RL32
      Src: /src/gpac/src/filters/ff_rescale.c:161,1
    - Dst: AV_RL32
      Src: /src/gpac/src/filters/ff_rescale.c:188,1
    - Dst: gf_evg_stencil_set_texture_planes
      Src: /src/gpac/src/filters/ff_rescale.c:262,1
    - Dst: GF_COLW_R
      Src: /src/gpac/src/filters/ff_rescale.c:289,1
    - Dst: GF_COLW_A
      Src: /src/gpac/src/filters/ff_rescale.c:293,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/filters/ff_rescale.c:300,1
    - Dst: GF_COL_A
      Src: /src/gpac/src/filters/ff_rescale.c:313,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/ff_rescale.c:518,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/filters/ff_rescale.c:396,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 517
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 538
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 538
    functionName: ffsws_process
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_pid_is_eos
    - GF_LOG
    - GF_COL_R
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_evg_surface_clear
    - GF_COL_B
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_evg_stencil_get_pixel_fast
    - sws_scale
    - AV_RL32
    - gf_filter_pid_get_packet
    - gf_evg_stencil_set_texture
    - gf_filter_pck_get_frame_interface
    - GF_COLW_R
    - gf_filter_pck_discard
    - gf_evg_stencil_set_texture_planes
    - gf_evg_stencil_get_pixel_wide_fast
    - gf_filter_pck_send
    - GF_COL_A
    - gf_evg_surface_set_path
    - GF_COLW_B
    - GF_COLW_A
    - gf_evg_surface_fill
    - gf_filter_pck_forward
    - gf_evg_surface_attach_to_buffer
    - gf_filter_pck_merge_properties
    - GF_COLW_G
    - gf_color_parse
    - GF_COL_G
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffsws_process(GF_Filter *filter) '
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:614,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/filters/ff_rescale.c:747,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:794,1
    - Dst: gf_path_add_rect_center
      Src: /src/gpac/src/filters/ff_rescale.c:844,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:934,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:891,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/ff_rescale.c:723,1
    - Dst: gf_pixel_fmt_is_transparent
      Src: /src/gpac/src/filters/ff_rescale.c:748,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:826,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/ff_rescale.c:576,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:610,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:730,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:755,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_rescale.c:765,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/ff_rescale.c:844,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:907,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/ff_rescale.c:769,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/ff_rescale.c:891,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/ff_rescale.c:571,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:818,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:922,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:595,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:597,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:599,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:618,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filters/ff_rescale.c:844,1
    - Dst: sws_setColorspaceDetails
      Src: /src/gpac/src/filters/ff_rescale.c:885,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/ff_rescale.c:891,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:779,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:914,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:922,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/filters/ff_rescale.c:746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:809,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/ff_rescale.c:927,1
    - Dst: gf_path_reset
      Src: /src/gpac/src/filters/ff_rescale.c:843,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:595,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:596,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:597,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:599,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:697,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:712,1
    - Dst: sws_getColorspaceDetails
      Src: /src/gpac/src/filters/ff_rescale.c:873,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:912,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_rescale.c:773,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:740,1
    - Dst: gf_pixel_is_wide_depth
      Src: /src/gpac/src/filters/ff_rescale.c:722,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:594,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_rescale.c:694,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_rescale.c:695,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:918,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:929,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:908,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_rescale.c:630,1
    - Dst: get_sws_mode
      Src: /src/gpac/src/filters/ff_rescale.c:702,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:768,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:921,1
    - Dst: PROP_FRAC
      Src: /src/gpac/src/filters/ff_rescale.c:925,1
    - Dst: gf_pixel_get_bytes_per_pixel
      Src: /src/gpac/src/filters/ff_rescale.c:804,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:602,1
    - Dst: gf_evg_stencil_set_texture
      Src: /src/gpac/src/filters/ff_rescale.c:720,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:908,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:933,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:914,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:785,1
    - Dst: sws_isSupportedInput
      Src: /src/gpac/src/filters/ff_rescale.c:862,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:737,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:864,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:612,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:742,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:911,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:927,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:717,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_rescale.c:775,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_rescale.c:807,1
    - Dst: sws_isSupportedInput
      Src: /src/gpac/src/filters/ff_rescale.c:863,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_rescale.c:806,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/ff_rescale.c:837,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:916,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:932,1
    - Dst: sws_getCachedContext
      Src: /src/gpac/src/filters/ff_rescale.c:858,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_rescale.c:567,1
    - Dst: gf_filter_is_dynamic
      Src: /src/gpac/src/filters/ff_rescale.c:591,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:622,1
    - Dst: gf_evg_surface_attach_to_buffer
      Src: /src/gpac/src/filters/ff_rescale.c:745,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:907,1
    - Dst: gf_pixel_fmt_name
      Src: /src/gpac/src/filters/ff_rescale.c:770,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_rescale.c:916,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:935,1
    - Dst: gf_pixel_fmt_is_yuv
      Src: /src/gpac/src/filters/ff_rescale.c:721,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/ff_rescale.c:580,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/ff_rescale.c:592,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_rescale.c:616,1
    - Dst: gf_pixel_get_downsampling
      Src: /src/gpac/src/filters/ff_rescale.c:638,1
    - Dst: ffmpeg_pixfmt_from_gpac
      Src: /src/gpac/src/filters/ff_rescale.c:715,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filters/ff_rescale.c:836,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:911,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:921,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/ff_rescale.c:925,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 470
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 938
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 938
    functionName: ffsws_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - get_sws_mode
    - memset
    - GF_LOG
    - INT2FIX
    - sws_isSupportedInput
    - gf_filter_pid_remove
    - gf_filter_get_udta
    - gf_filter_pid_copy_properties
    - gf_evg_stencil_set_texture
    - PROP_UINT
    - sws_getCachedContext
    - gf_path_add_rect_center
    - gf_pixel_get_size_info
    - gf_pixel_fmt_is_yuv
    - gf_filter_pid_set_property
    - gf_pixel_fmt_name
    - gf_filter_is_dynamic
    - sws_getColorspaceDetails
    - gf_pixel_get_downsampling
    - ffmpeg_pixfmt_from_gpac
    - gf_pixel_is_wide_depth
    - gf_realloc
    - gf_filter_pid_get_property
    - gf_pixel_get_bytes_per_pixel
    - gf_evg_surface_attach_to_buffer
    - gf_filter_pid_check_caps
    - PROP_FRAC
    - gf_pixel_fmt_is_transparent
    - gf_path_reset
    - sws_setColorspaceDetails
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffsws_configure_pid(GF_Filter *filter, GF_FilterPid
      *pid, Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_rescale.c:960,1
    - Dst: gf_evg_surface_delete
      Src: /src/gpac/src/filters/ff_rescale.c:965,1
    - Dst: sws_freeContext
      Src: /src/gpac/src/filters/ff_rescale.c:961,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_rescale.c:962,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_rescale.c:963,1
    - Dst: gf_evg_stencil_delete
      Src: /src/gpac/src/filters/ff_rescale.c:966,1
    - Dst: gf_path_del
      Src: /src/gpac/src/filters/ff_rescale.c:967,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 970
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 970
    functionName: ffsws_finalize
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_evg_stencil_delete
    - gf_evg_surface_delete
    - gf_path_del
    - gf_free
    - sws_freeContext
    linkageType: ''
    returnType: void
    signature: 'static void ffsws_finalize(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_pixel_fmt_all_names
      Src: /src/gpac/src/filters/ff_rescale.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1085
    functionName: ffsws_register
    functionSourceFile: /src/gpac/src/filters/ff_rescale.c
    functionUses: []
    functionsReached:
    - gf_pixel_fmt_all_names
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffsws_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1379
    functionName: ghidmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ghidmx_register(GF_FilterSession *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:199,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_ghi.c:211,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:220,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_ghi.c:218,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ghi.c:216,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_ghi.c:220,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ghi.c:188,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_ghi.c:203,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:210,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ghi.c:212,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_ghi.c:217,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/dmx_ghi.c:221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:185,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_ghi.c:205,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_ghi.c:207,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_ghi.c:208,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ghi.c:209,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ghi.c:219,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ghi.c:222,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:181,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:193,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_ghi.c:210,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ghi.c:224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - ctx
    - st
    - opid
    argTypes:
    - GHIDmxCtx*
    - GHIStream*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 225
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 225
    functionName: ghi_dmx_send_seg_times
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_list_get
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_property
    - gf_filter_pck_set_sap
    - gf_list_count
    - PROP_BOOL
    - gf_filter_pck_set_seek_flag
    - gf_filter_pid_set_eos
    - gf_filter_pck_set_cts
    - gf_timestamp_rescale
    - gf_filter_pck_send
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: void
    signature: 'static void ghi_dmx_send_seg_times(GHIDmxCtx *ctx, GHIStream *st,
      GF_FilterPid *opid) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:654,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:655,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:661,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GHIDmxCtx*
    constantsTouched: []
    func_position:
      end: 668
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 668
    functionName: ghi_dmx_unmark_muxed
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void ghi_dmx_unmark_muxed(GHIDmxCtx *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:1115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:1130,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1123,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/dmx_ghi.c:1139,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filters/dmx_ghi.c:1144,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:1155,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:1148,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_ghi.c:1166,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ghi.c:1167,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1174,1
    - Dst: ghi_dmx_init
      Src: /src/gpac/src/filters/dmx_ghi.c:1120,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:1125,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/dmx_ghi.c:1133,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:1150,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:1176,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:1131,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filters/dmx_ghi.c:1146,1
    - Dst: gf_filter_pck_forward
      Src: /src/gpac/src/filters/dmx_ghi.c:1162,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:1155,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_ghi.c:1148,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ghi.c:1168,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1171,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ghi.c:1135,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:1150,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ghi.c:1158,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1180
    functionName: ghi_dmx_process
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - GF_FEVT_INIT
    - PROP_BOOL
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pid_set_eos
    - gf_filter_get_udta
    - gf_list_count
    - gf_filter_pid_get_packet
    - ghi_dmx_init
    - PROP_UINT
    - gf_filter_pck_get_dts
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_filter_pck_send
    - gf_filter_pid_send_event
    - gf_filter_pck_new_ref
    - gf_filter_pck_forward
    - gf_filter_pck_merge_properties
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_process(GF_Filter *filter) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_ghi.c:241,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_ghi.c:251,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:254,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:280,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_ghi.c:272,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:261,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_ghi.c:295,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:229,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ghi.c:242,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:255,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_ghi.c:273,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ghi.c:277,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:290,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/dmx_ghi.c:243,1
    - Dst: gf_filter_pid_check_caps
      Src: /src/gpac/src/filters/dmx_ghi.c:235,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:247,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:267,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:287,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:293,1
    - Dst: set_opids_props
      Src: /src/gpac/src/filters/dmx_ghi.c:298,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_ghi.c:249,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/dmx_ghi.c:267,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ghi.c:275,1
    - Dst: gf_filter_pid_is_filter_in_parents
      Src: /src/gpac/src/filters/dmx_ghi.c:256,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:285,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:286,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:291,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:292,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 301
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 301
    functionName: ghi_dmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_filter_in_parents
    - gf_filter_get_udta
    - gf_filter_pid_set_discard
    - gf_list_get
    - gf_filter_pid_new
    - gf_list_add
    - gf_filter_pid_set_udta
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_filter_pid_get_udta
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_filter_pid_set_framing_mode
    - gf_filter_pid_check_caps
    - gf_filter_pid_get_name
    - set_opids_props
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filters/dmx_ghi.c:675,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:702,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/dmx_ghi.c:685,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:678,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:695,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - st
    argTypes:
    - GHIDmxCtx*
    - GHIStream*
    constantsTouched: []
    func_position:
      end: 707
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 707
    functionName: ghi_dmx_check_mux
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_props_parse_value
    - strcmp
    - strchr
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ghi_dmx_check_mux(GHIDmxCtx *ctx, GHIStream *st) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:1184,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1195,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_ghi.c:1185,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1199
    functionName: ghi_dmx_initialize
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_new
    - GF_LOG
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_initialize(GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:124,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_ghi.c:124,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:138,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ghi.c:146,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:149,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:157,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:145,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:166,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:148,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:164,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:169,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ghi.c:152,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ghi.c:154,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:115,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:122,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:117,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:123,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:125,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:132,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:127,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:135,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:141,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ghi.c:144,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:164,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:169,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:160,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:124,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:138,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:146,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:149,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:157,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:166,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filters/dmx_ghi.c:172,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:154,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filters/dmx_ghi.c:145,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:160,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:148,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_ghi.c:120,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/dmx_ghi.c:122,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/dmx_ghi.c:123,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filters/dmx_ghi.c:125,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:132,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/dmx_ghi.c:127,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:135,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:125,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:141,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/dmx_ghi.c:144,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/dmx_ghi.c:152,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - st
    argTypes:
    - GHIDmxCtx*
    - GHIStream*
    constantsTouched: []
    func_position:
      end: 174
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 174
    functionName: set_opids_props
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_set_name
    - PROP_LONGUINT
    - gf_list_count
    - gf_filter_pid_copy_properties
    - PROP_STRING
    - gf_filter_pid_set_property
    - gf_file_basename
    - PROP_FRAC_INT
    - PROP_UINT
    - gf_filter_pid_set_property_str
    - PROP_FRAC64_INT
    linkageType: ''
    returnType: void
    signature: 'static void set_opids_props(GHIDmxCtx *ctx, GHIStream *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1374
    functionName: ghidmx_register
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ghidmx_register(GF_FilterSession *session) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:306,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/dmx_ghi.c:318,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:317,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:307,1
    - Dst: ghi_dmx_send_seg_times
      Src: /src/gpac/src/filters/dmx_ghi.c:313,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/dmx_ghi.c:319,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/dmx_ghi.c:320,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/dmx_ghi.c:321,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:322,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/dmx_ghi.c:322,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/dmx_ghi.c:324,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/dmx_ghi.c:331,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/dmx_ghi.c:354,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/dmx_ghi.c:323,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/dmx_ghi.c:325,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/dmx_ghi.c:327,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 369
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 369
    functionName: ghi_dmx_process_event
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - ghi_dmx_send_seg_times
    - gf_filter_get_udta
    - gf_filter_pck_new_alloc
    - gf_list_get
    - gf_filter_pck_set_dts
    - gf_filter_pck_set_property
    - gf_filter_pck_set_sap
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - gf_filter_pid_get_udta
    - PROP_BOOL
    - gf_filter_pid_set_eos
    - gf_filter_pck_set_cts
    - gf_timestamp_rescale
    - gf_filter_pck_send
    - gf_filter_pck_set_duration
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ghi_dmx_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:381,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:410,1
    - Dst: gf_props_parse_type
      Src: /src/gpac/src/filters/dmx_ghi.c:414,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:412,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filters/dmx_ghi.c:419,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/dmx_ghi.c:434,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filters/dmx_ghi.c:450,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/dmx_ghi.c:457,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filters/dmx_ghi.c:412,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:415,1
    - Dst: strlen
      Src: /src/gpac/src/filters/dmx_ghi.c:424,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filters/dmx_ghi.c:455,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:463,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/dmx_ghi.c:467,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:469,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:471,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_ghi.c:473,1
    - Dst: set_opids_props
      Src: /src/gpac/src/filters/dmx_ghi.c:475,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:385,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:390,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:397,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:408,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:413,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/dmx_ghi.c:411,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filters/dmx_ghi.c:437,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filters/dmx_ghi.c:439,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/dmx_ghi.c:465,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:472,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:386,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:384,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:389,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:391,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:398,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/dmx_ghi.c:418,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:414,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 99
    argCount: 3
    argNames:
    - filter
    - ctx
    - st
    argTypes:
    - GF_Filter*
    - GHIDmxCtx*
    - GHIStream*
    constantsTouched: []
    func_position:
      end: 477
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 477
    functionName: ghi_dmx_declare_opid_xml
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - strlen
    - gf_filter_pid_set_udta
    - gf_stream_type_by_name
    - gf_props_parse_type
    - gf_props_4cc_get_type
    - gf_codecid_parse
    - gf_filter_pid_set_property_dyn
    - gf_props_get_id
    - gf_list_count
    - gf_filter_pid_copy_properties
    - strcmp
    - set_opids_props
    - gf_props_reset_single
    - gf_list_get
    - gf_list_enum
    - gf_filter_pid_set_property
    - gf_free
    - gf_base64_decode
    - gf_realloc
    - gf_props_parse_value
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void ghi_dmx_declare_opid_xml(GF_Filter *filter, GHIDmxCtx
      *ctx, GHIStream *st) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dmx_ghi.c:712,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:719,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:722,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ghi.c:718,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:721,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:724,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:725,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:727,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:730,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:731,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:738,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:739,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:734,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:735,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - bs
    - st
    - num_seg
    argTypes:
    - GHIDmxCtx*
    - GF_BitStream*
    - GHIStream*
    - s32
    constantsTouched: []
    func_position:
      end: 747
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 747
    functionName: ghi_dmx_parse_seg
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u32
    - gf_bs_seek
    - gf_bs_read_u64
    - GF_SAFEALLOC
    linkageType: ''
    returnType: void
    signature: 'void ghi_dmx_parse_seg(GHIDmxCtx *ctx, GF_BitStream *bs, GHIStream
      *st, s32 num_seg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_ghi.c:874,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dmx_ghi.c:882,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:904,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dmx_ghi.c:894,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dmx_ghi.c:939,1
    - Dst: gf_mpd_del
      Src: /src/gpac/src/filters/dmx_ghi.c:983,1
    - Dst: gf_xml_dom_parse_string
      Src: /src/gpac/src/filters/dmx_ghi.c:870,1
    - Dst: gf_mpd_init_from_dom
      Src: /src/gpac/src/filters/dmx_ghi.c:878,1
    - Dst: gf_xml_dom_get_root
      Src: /src/gpac/src/filters/dmx_ghi.c:878,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:881,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:893,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:902,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ghi.c:907,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:937,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:938,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dmx_ghi.c:873,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filters/dmx_ghi.c:879,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:891,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_ghi.c:881,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_ghi.c:930,1
    - Dst: ghi_dmx_check_mux
      Src: /src/gpac/src/filters/dmx_ghi.c:933,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:938,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filters/dmx_ghi.c:869,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:874,1
    - Dst: gf_mpd_new
      Src: /src/gpac/src/filters/dmx_ghi.c:877,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:903,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:900,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:931,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:946,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:965,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:979,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 107
    argCount: 3
    argNames:
    - filter
    - ctx
    - data
    argTypes:
    - GF_Filter*
    - GHIDmxCtx*
    - u8*
    constantsTouched: []
    func_position:
      end: 988
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 988
    functionName: ghi_dmx_init_xml
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_xml_dom_del
    - gf_list_get
    - gf_mpd_new
    - gf_mpd_init_from_dom
    - gf_xml_dom_new
    - gf_mpd_del
    - gf_error_to_string
    - gf_list_count
    - ghi_dmx_check_mux
    - GF_LOG
    - gf_xml_dom_parse_string
    - GF_SAFEALLOC
    - gf_xml_dom_get_root
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_init_xml(GF_Filter *filter, GHIDmxCtx *ctx, const u8
      *data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1213,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1205,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_ghi.c:1222,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_ghi.c:1229,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1237,1
    - Dst: gf_xml_dom_node_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1230,1
    - Dst: gf_mpd_segment_url_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1223,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1241,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1215,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1228,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1235,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1238,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1242,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:1203,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/dmx_ghi.c:1210,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1217,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1232,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1225,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1239,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_ghi.c:1206,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/dmx_ghi.c:1214,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1236,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1244
    functionName: ghi_dmx_finalize
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_del
    - gf_mpd_segment_url_free
    - gf_list_count
    - gf_xml_dom_node_del
    - gf_free
    - gf_list_pop_back
    - gf_props_reset_single
    linkageType: ''
    returnType: void
    signature: 'void ghi_dmx_finalize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_ghi.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - failed_filter
    - udta
    - err
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: ghi_dmx_on_filter_setup_error
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_setup_failure
    linkageType: ''
    returnType: Bool
    signature: 'static Bool ghi_dmx_on_filter_setup_error(GF_Filter *failed_filter,
      void *udta, GF_Err err) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:482,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/dmx_ghi.c:496,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_ghi.c:531,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:507,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_ghi.c:545,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_ghi.c:552,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:556,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:576,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ghi.c:581,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:600,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/dmx_ghi.c:619,1
    - Dst: gf_bs_read_data
      Src: /src/gpac/src/filters/dmx_ghi.c:582,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ghi.c:608,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:633,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:610,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:564,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:485,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_ghi.c:498,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filters/dmx_ghi.c:513,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:528,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:510,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:524,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filters/dmx_ghi.c:542,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:549,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:558,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:562,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:603,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/dmx_ghi.c:626,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:611,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:634,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:484,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:486,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/dmx_ghi.c:490,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:495,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:535,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:511,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:539,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:548,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:561,1
    - Dst: gf_bs_available
      Src: /src/gpac/src/filters/dmx_ghi.c:577,1
    - Dst: gf_bs_mark_overflow
      Src: /src/gpac/src/filters/dmx_ghi.c:578,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ghi.c:626,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:592,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filters/dmx_ghi.c:624,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:569,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filters/dmx_ghi.c:489,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:491,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:534,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:538,1
    - Dst: gf_bs_read_float
      Src: /src/gpac/src/filters/dmx_ghi.c:542,1
    - Dst: gf_bs_read_double
      Src: /src/gpac/src/filters/dmx_ghi.c:553,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:557,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:563,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:589,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ghi.c:601,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filters/dmx_ghi.c:621,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:622,1
    - Dst: set_opids_props
      Src: /src/gpac/src/filters/dmx_ghi.c:637,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filters/dmx_ghi.c:635,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:607,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ghi.c:590,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 141
    argCount: 4
    argNames:
    - filter
    - ctx
    - st
    - bs
    argTypes:
    - GF_Filter*
    - GHIDmxCtx*
    - GHIStream*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 638
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 638
    functionName: ghi_dmx_declare_opid_bin
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - gf_list_add
    - gf_malloc
    - gf_bs_read_float
    - gf_filter_pid_set_udta
    - gf_bs_seek
    - gf_props_4cc_get_type
    - gf_bs_skip_bytes
    - gf_bs_mark_overflow
    - gf_filter_pid_set_property_dyn
    - gf_list_count
    - gf_filter_pid_copy_properties
    - FLT2FIX
    - gf_bs_read_data
    - set_opids_props
    - gf_props_reset_single
    - gf_bs_read_u32
    - gf_list_get
    - gf_bs_read_u8
    - gf_bs_get_position
    - gf_filter_pid_set_property
    - gf_bs_is_overflow
    - gf_free
    - gf_bs_read_utf8
    - gf_bs_read_double
    - gf_bs_available
    - gf_bs_read_u64
    linkageType: ''
    returnType: void
    signature: 'static void ghi_dmx_declare_opid_bin(GF_Filter *filter, GHIDmxCtx
      *ctx, GHIStream *st, GF_BitStream *bs) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:755,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:757,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:759,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/dmx_ghi.c:766,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:782,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_ghi.c:768,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:785,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:790,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_ghi.c:804,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_ghi.c:828,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:752,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:784,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:774,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:781,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:788,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ghi.c:796,1
    - Dst: ghi_dmx_check_mux
      Src: /src/gpac/src/filters/dmx_ghi.c:800,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:841,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ghi.c:859,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:797,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ghi.c:773,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:778,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:787,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:789,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_ghi.c:792,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_ghi.c:798,1
    - Dst: gf_bs_get_position
      Src: /src/gpac/src/filters/dmx_ghi.c:803,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:818,1
    - Dst: gf_bs_skip_bytes
      Src: /src/gpac/src/filters/dmx_ghi.c:860,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:831,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:751,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:753,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:754,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/dmx_ghi.c:756,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/dmx_ghi.c:764,1
    - Dst: gf_bs_read_utf8
      Src: /src/gpac/src/filters/dmx_ghi.c:776,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/dmx_ghi.c:770,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/dmx_ghi.c:786,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/dmx_ghi.c:791,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/dmx_ghi.c:793,1
    - Dst: ghi_dmx_parse_seg
      Src: /src/gpac/src/filters/dmx_ghi.c:829,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 133
    argCount: 3
    argNames:
    - filter
    - ctx
    - bs
    argTypes:
    - GF_Filter*
    - GHIDmxCtx*
    - GF_BitStream*
    constantsTouched: []
    func_position:
      end: 863
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 863
    functionName: ghi_dmx_init_bin
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_bs_read_u32
    - gf_bs_read_u16
    - gf_bs_read_utf8
    - gf_bs_read_u8
    - gf_bs_skip_bytes
    - ghi_dmx_check_mux
    - gf_bs_get_position
    - gf_list_get
    - GF_LOG
    - gf_bs_read_u64
    - ghi_dmx_parse_seg
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_init_bin(GF_Filter *filter, GHIDmxCtx *ctx, GF_BitStream
      *bs) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/dmx_ghi.c:997,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filters/dmx_ghi.c:1005,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1019,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:1020,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1029,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/dmx_ghi.c:1041,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/dmx_ghi.c:1061,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_ghi.c:1067,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dmx_ghi.c:1072,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filters/dmx_ghi.c:1074,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filters/dmx_ghi.c:1099,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:994,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/dmx_ghi.c:1002,1
    - Dst: ghi_dmx_init_bin
      Src: /src/gpac/src/filters/dmx_ghi.c:1003,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/dmx_ghi.c:1006,1
    - Dst: ghi_dmx_init_xml
      Src: /src/gpac/src/filters/dmx_ghi.c:1010,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_ghi.c:1021,1
    - Dst: ghi_dmx_parse_seg
      Src: /src/gpac/src/filters/dmx_ghi.c:1051,1
    - Dst: ghi_dmx_declare_opid_bin
      Src: /src/gpac/src/filters/dmx_ghi.c:1055,1
    - Dst: gf_filter_connect_source
      Src: /src/gpac/src/filters/dmx_ghi.c:1089,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:1093,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/dmx_ghi.c:1106,1
    - Dst: gf_bs_is_overflow
      Src: /src/gpac/src/filters/dmx_ghi.c:1004,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1011,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/dmx_ghi.c:1033,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/dmx_ghi.c:1035,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filters/dmx_ghi.c:1042,1
    - Dst: ghi_dmx_declare_opid_xml
      Src: /src/gpac/src/filters/dmx_ghi.c:1057,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filters/dmx_ghi.c:1077,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/dmx_ghi.c:1090,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1092,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1095,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/dmx_ghi.c:1105,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/dmx_ghi.c:1008,1
    - Dst: ghi_dmx_unmark_muxed
      Src: /src/gpac/src/filters/dmx_ghi.c:1026,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:1030,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/dmx_ghi.c:1034,1
    - Dst: gf_filter_get_sep
      Src: /src/gpac/src/filters/dmx_ghi.c:1065,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_ghi.c:1066,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/dmx_ghi.c:1073,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/dmx_ghi.c:1095,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/dmx_ghi.c:1096,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/dmx_ghi.c:1104,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filters/dmx_ghi.c:1101,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/dmx_ghi.c:1109,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 110
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GHIDmxCtx*
    constantsTouched: []
    func_position:
      end: 1111
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1111
    functionName: ghi_dmx_init
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_filter_pid_set_discard
    - gf_utf8_is_legal
    - ghi_dmx_declare_opid_bin
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_pck_get_data
    - gf_bs_del
    - gf_error_to_string
    - gf_filter_pid_get_packet
    - gf_list_count
    - strcmp
    - gf_strdup
    - gf_filter_set_setup_failure_callback
    - gf_timestamp_less
    - ghi_dmx_unmark_muxed
    - ghi_dmx_init_xml
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_set_source
    - gf_filter_get_sep
    - sprintf
    - gf_bs_new
    - gf_bs_is_overflow
    - memcpy
    - gf_free
    - gf_filter_connect_source
    - gf_url_concatenate
    - gf_filter_pid_get_property
    - gf_filter_setup_failure
    - ghi_dmx_parse_seg
    - ghi_dmx_declare_opid_xml
    - ghi_dmx_init_bin
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err ghi_dmx_init(GF_Filter *filter, GHIDmxCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - data
    - data_size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1255
    functionName: ghi_dmx_probe_data
    functionSourceFile: /src/gpac/src/filters/dmx_ghi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ghi_dmx_probe_data(const u8 *data, u32 data_size,
      GF_FilterProbeScore *score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fwrite
      Src: /src/gpac/src/filters/ff_mx.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - buf
    - buf_size
    argTypes:
    - void*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: ffavio_write_packet
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_fwrite
    linkageType: ''
    returnType: int
    signature: 'static int ffavio_write_packet(void *opaque, const uint8_t *buf, int
      buf_size) #endif '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: av_packet_alloc
      Src: /src/gpac/src/filters/ff_mx.c:340,1
    - Dst: avformat_alloc_context
      Src: /src/gpac/src/filters/ff_mx.c:343,1
    - Dst: strchr
      Src: /src/gpac/src/filters/ff_mx.c:354,1
    - Dst: avio_open2
      Src: /src/gpac/src/filters/ff_mx.c:361,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_mx.c:385,1
    - Dst: gf_filter_override_caps
      Src: /src/gpac/src/filters/ff_mx.c:390,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:380,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:409,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/ff_mx.c:347,1
    - Dst: strchr
      Src: /src/gpac/src/filters/ff_mx.c:355,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/ff_mx.c:370,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/ff_mx.c:374,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_mx.c:406,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_mx.c:408,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:411,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:419,1
    - Dst: ffmx_open_url
      Src: /src/gpac/src/filters/ff_mx.c:436,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:332,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/ff_mx.c:352,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:395,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_mx.c:410,1
    - Dst: gf_filter_meta_set_instances
      Src: /src/gpac/src/filters/ff_mx.c:428,1
    - Dst: ffmpeg_setup_logs
      Src: /src/gpac/src/filters/ff_mx.c:336,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_mx.c:351,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:364,1
    - Dst: gf_filter_set_max_extra_input_pids
      Src: /src/gpac/src/filters/ff_mx.c:391,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_mx.c:362,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_mx.c:400,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:413,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:417,1
    - Dst: gf_filter_is_temporary
      Src: /src/gpac/src/filters/ff_mx.c:427,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 2
    argNames:
    - filter
    - use_templates
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 437
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 437
    functionName: ffmx_initialize_ex
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_fileio_translate_url
    - strncmp
    - GF_LOG
    - gf_filter_is_temporary
    - gf_filter_override_caps
    - strstr
    - gf_filter_get_udta
    - av_guess_format
    - PROP_STRING
    - avformat_alloc_context
    - PROP_UINT
    - av_dict_free
    - gf_list_new
    - avio_open2
    - ffmpeg_setup_logs
    - gf_filter_set_max_extra_input_pids
    - strchr
    - gf_filter_meta_set_instances
    - ffmx_open_url
    - strncpy
    - av_packet_alloc
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_initialize_ex(GF_Filter *filter, Bool use_templates) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: av_codec_get_tag
      Src: /src/gpac/src/filters/ff_mx.c:488,1
    - Dst: MKTAG
      Src: /src/gpac/src/filters/ff_mx.c:498,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_mx.c:502,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:559,1
    - Dst: avcodec_parameters_copy
      Src: /src/gpac/src/filters/ff_mx.c:485,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_mx.c:464,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/ff_mx.c:537,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_mx.c:530,1
    - Dst: av_freep
      Src: /src/gpac/src/filters/ff_mx.c:529,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ff_mx.c:538,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_mx.c:557,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:559,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_mx.c:480,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/ff_mx.c:506,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_mx.c:526,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/filters/ff_mx.c:536,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_mx.c:514,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:543,1
    - Dst: av_opt_set
      Src: /src/gpac/src/filters/ff_mx.c:550,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_mx.c:554,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_mx.c:555,1
    - Dst: avformat_write_header
      Src: /src/gpac/src/filters/ff_mx.c:556,1
    - Dst: avformat_alloc_output_context2
      Src: /src/gpac/src/filters/ff_mx.c:458,1
    - Dst: avformat_new_stream
      Src: /src/gpac/src/filters/ff_mx.c:479,1
    - Dst: av_codec_get_id
      Src: /src/gpac/src/filters/ff_mx.c:487,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_mx.c:505,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:543,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 3
    argNames:
    - filter
    - ctx
    - seg_name
    argTypes:
    - GF_Filter*
    - GF_FFMuxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 565
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 565
    functionName: ffmx_start_seg
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - avformat_alloc_output_context2
    - av_strdup
    - av_dict_set
    - GF_LOG
    - av_codec_get_tag
    - gf_url_is_local
    - MKTAG
    - avformat_free_context
    - gf_list_count
    - av_opt_set
    - avformat_new_stream
    - av_dict_free
    - gf_fopen
    - gf_list_get
    - av_dict_copy
    - avcodec_parameters_copy
    - av_err2str
    - avformat_write_header
    - strncpy
    - gf_fclose
    - av_freep
    - av_codec_get_id
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_start_seg(GF_Filter *filter, GF_FFMuxCtx *ctx,
      const char *seg_name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:641,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:658,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:659,1
    - Dst: gf_bs_write_u64_le
      Src: /src/gpac/src/filters/ff_mx.c:698,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:638,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:640,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:655,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:681,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_mx.c:693,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:700,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_mx.c:701,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:623,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:635,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:650,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:660,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:676,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:679,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_mx.c:661,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:694,1
    - Dst: gf_bs_write_u32_le
      Src: /src/gpac/src/filters/ff_mx.c:696,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:627,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:643,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:652,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_mx.c:657,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:673,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:691,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 3
    argNames:
    - pid
    - st
    - pkt
    argTypes:
    - GF_FilterPid*
    - GF_FFMuxStream*
    - AVPacket*
    constantsTouched: []
    func_position:
      end: 704
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 704
    functionName: ffmx_inject_config
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - ffmpeg_channel_layout_from_gpac
    - gf_bs_del
    - gf_bs_write_u32_le
    - gf_filter_pid_get_property
    - gf_bs_new
    - memcpy
    - gf_bs_write_u64_le
    - av_packet_new_side_data
    linkageType: ''
    returnType: void
    signature: 'void ffmx_inject_config(GF_FilterPid *pid, GF_FFMuxStream *st, AVPacket
      *pkt) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/ff_mx.c:744,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_mx.c:822,1
    - Dst: ffmx_configure_pid
      Src: /src/gpac/src/filters/ff_mx.c:832,1
    - Dst: ffmx_start_seg
      Src: /src/gpac/src/filters/ff_mx.c:929,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_mx.c:948,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1015,1
    - Dst: FF_INIT_PCK
      Src: /src/gpac/src/filters/ff_mx.c:944,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:743,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:781,1
    - Dst: av_write_trailer
      Src: /src/gpac/src/filters/ff_mx.c:1003,1
    - Dst: avio_write
      Src: /src/gpac/src/filters/ff_mx.c:771,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_mx.c:795,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/ff_mx.c:910,1
    - Dst: ffmx_configure_pid
      Src: /src/gpac/src/filters/ff_mx.c:1019,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:823,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/ff_mx.c:756,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_mx.c:780,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:786,1
    - Dst: ffmx_inject_webvtt
      Src: /src/gpac/src/filters/ff_mx.c:972,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    - Dst: AVERROR
      Src: /src/gpac/src/filters/ff_mx.c:773,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filters/ff_mx.c:807,1
    - Dst: gf_filter_pck_get_interlaced
      Src: /src/gpac/src/filters/ff_mx.c:846,1
    - Dst: ffmx_init_mux
      Src: /src/gpac/src/filters/ff_mx.c:858,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:904,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/ff_mx.c:957,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/ff_mx.c:956,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:1044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:749,1
    - Dst: av_packet_rescale_ts
      Src: /src/gpac/src/filters/ff_mx.c:966,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1044,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/ff_mx.c:776,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:816,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1029,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_mx.c:901,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:869,1
    - Dst: ffmx_close_seg
      Src: /src/gpac/src/filters/ff_mx.c:933,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_mx.c:915,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:1005,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_mx.c:751,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filters/ff_mx.c:814,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/ff_mx.c:888,1
    - Dst: AVFMT_URL
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    - Dst: av_packet_free_side_data
      Src: /src/gpac/src/filters/ff_mx.c:981,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_mx.c:984,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1005,1
    - Dst: av_interleaved_write_frame
      Src: /src/gpac/src/filters/ff_mx.c:976,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/ff_mx.c:810,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_mx.c:926,1
    - Dst: ffmx_inject_config
      Src: /src/gpac/src/filters/ff_mx.c:970,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:953,1
    - Dst: av_write_trailer
      Src: /src/gpac/src/filters/ff_mx.c:1042,1
    - Dst: ffmx_close_seg
      Src: /src/gpac/src/filters/ff_mx.c:1040,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:1028,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:827,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:868,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_mx.c:893,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:813,1
    - Dst: gf_filter_pck_get_roll_info
      Src: /src/gpac/src/filters/ff_mx.c:852,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_mx.c:886,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_mx.c:896,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_mx.c:959,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/ff_mx.c:905,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_mx.c:753,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/ff_mx.c:766,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:785,1
    - Dst: gf_sys_clock
      Src: /src/gpac/src/filters/ff_mx.c:811,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:821,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_mx.c:888,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:1014,1
    - Dst: av_write_frame
      Src: /src/gpac/src/filters/ff_mx.c:978,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/ff_mx.c:947,1
    - Dst: avio_flush
      Src: /src/gpac/src/filters/ff_mx.c:754,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:785,1
    - Dst: ffmx_initialize_ex
      Src: /src/gpac/src/filters/ff_mx.c:1012,1
    - Dst: ffmx_close_seg
      Src: /src/gpac/src/filters/ff_mx.c:928,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:992,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_mx.c:1009,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 257
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1053
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 1053
    functionName: ffmx_process
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - AVERROR
    - gf_filter_pid_set_discard
    - gf_filter_pck_get_cts
    - av_write_frame
    - AVFMT_URL
    - gf_filter_pid_is_eos
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pid_drop_packet
    - av_packet_free_side_data
    - gf_filter_pck_get_interlaced
    - gf_filter_abort
    - gf_filter_pck_get_sap
    - gf_filter_pck_get_data
    - av_interleaved_write_frame
    - gf_filter_get_udta
    - ffmx_initialize_ex
    - avformat_free_context
    - FF_INIT_PCK
    - gf_filter_pid_get_packet
    - gf_filter_ask_rt_reschedule
    - av_write_trailer
    - gf_filter_connections_pending
    - gf_filter_pck_get_dts
    - gf_filter_pid_get_udta
    - ffmx_close_seg
    - ffmx_configure_pid
    - gf_sys_clock
    - av_packet_rescale_ts
    - gf_filter_get_ipid
    - gf_filter_pid_is_flush_eos
    - ffmx_init_mux
    - ffmx_inject_webvtt
    - av_err2str
    - gf_filter_pck_get_property
    - avio_flush
    - gf_filter_pid_get_property
    - ffmx_inject_config
    - gf_filter_get_ipid_count
    - gf_filter_pck_get_roll_info
    - gf_timestamp_greater
    - ffmx_start_seg
    - avio_write
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_process(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:992,1
    - Dst: AVFMT_URL
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames:
    - res
    - <0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: if
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_filter_abort
    - AVFMT_URL
    - GF_LOG
    - av_err2str
    linkageType: ''
    returnType: FF_RELEASE_PCK(pkt)
    signature: 'FF_RELEASE_PCK(pkt) if (res<0) '
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1101,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1329,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1368,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1431,1
    - Dst: av_stream_add_side_data
      Src: /src/gpac/src/filters/ff_mx.c:1467,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1452,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1539,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1244,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/ff_mx.c:1254,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/ff_mx.c:1304,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1320,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1504,1
    - Dst: ffmpeg_codec_par_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1381,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1375,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1420,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:1456,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filters/ff_mx.c:1111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1160,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filters/ff_mx.c:1253,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_mx.c:1267,1
    - Dst: gf_filter_pid_resolve_file_template
      Src: /src/gpac/src/filters/ff_mx.c:1279,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1506,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1095,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1111,1
    - Dst: gf_audio_fmt_name
      Src: /src/gpac/src/filters/ff_mx.c:1212,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filters/ff_mx.c:1231,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/ff_mx.c:1269,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1378,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1500,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_mx.c:1514,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1526,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1168,1
    - Dst: avformat_query_codec
      Src: /src/gpac/src/filters/ff_mx.c:1227,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1385,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_mx.c:1488,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1492,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/ff_mx.c:1523,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/ff_mx.c:1248,1
    - Dst: gf_filter_pid_set_udta
      Src: /src/gpac/src/filters/ff_mx.c:1250,1
    - Dst: ffmx_open_url
      Src: /src/gpac/src/filters/ff_mx.c:1280,1
    - Dst: av_channel_layout_uninit
      Src: /src/gpac/src/filters/ff_mx.c:1397,1
    - Dst: gf_bs_read_u8
      Src: /src/gpac/src/filters/ff_mx.c:1522,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1120,1
    - Dst: ffmpeg_stream_type_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1156,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1276,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1498,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_mx.c:1519,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_mx.c:1532,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1415,1
    - Dst: av_stream_add_side_data
      Src: /src/gpac/src/filters/ff_mx.c:1457,1
    - Dst: avformat_new_stream
      Src: /src/gpac/src/filters/ff_mx.c:1285,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:1474,1
    - Dst: ffmpeg_codecid_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1231,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1298,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1339,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:1466,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1410,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1402,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1525,1
    - Dst: av_stream_add_side_data
      Src: /src/gpac/src/filters/ff_mx.c:1530,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1326,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1085,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/ff_mx.c:1251,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1412,1
    - Dst: ffmpeg_extradata_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1352,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1434,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1483,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1496,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/ff_mx.c:1508,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1524,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1536,1
    - Dst: ffmpeg_channel_layout_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1429,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1313,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1400,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1358,1
    - Dst: gf_filter_pid_set_framing_mode
      Src: /src/gpac/src/filters/ff_mx.c:1548,1
    - Dst: ffmpeg_audio_fmt_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1416,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_mx.c:1473,1
    - Dst: ffmpeg_tags_from_gpac
      Src: /src/gpac/src/filters/ff_mx.c:1449,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1471,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1212,1
    - Dst: avcodec_find_decoder
      Src: /src/gpac/src/filters/ff_mx.c:1235,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1494,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1529,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1323,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1477,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/ff_mx.c:1480,1
    - Dst: av_stream_add_side_data
      Src: /src/gpac/src/filters/ff_mx.c:1512,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1517,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1528,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1311,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1355,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1091,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1273,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1476,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:1489,1
    - Dst: gf_bs_read_u16
      Src: /src/gpac/src/filters/ff_mx.c:1502,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/ff_mx.c:1510,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:1520,1
    - Dst: gf_bs_read_int
      Src: /src/gpac/src/filters/ff_mx.c:1527,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:1454,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1462,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/ff_mx.c:1303,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:1464,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1078,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1125,1
    - Dst: strcmp
      Src: /src/gpac/src/filters/ff_mx.c:1290,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:1293,1
    - Dst: av_stream_add_side_data
      Src: /src/gpac/src/filters/ff_mx.c:1478,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/ff_mx.c:1490,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 412
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1550
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1550
    functionName: ffmx_configure_pid
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - gf_filter_pid_set_udta
    - gf_filter_pid_is_eos
    - GF_LOG
    - avcodec_find_decoder
    - gf_filter_pid_set_framing_mode
    - GF_SAFEALLOC
    - avformat_query_codec
    - av_malloc
    - gf_filter_get_udta
    - ffmpeg_channel_layout_from_gpac
    - gf_bs_del
    - gf_crc_32
    - gf_filter_pid_get_packet
    - ffmpeg_codec_par_from_gpac
    - strcmp
    - ffmpeg_codecid_from_gpac
    - gf_audio_fmt_name
    - avformat_new_stream
    - gf_filter_pid_resolve_file_template
    - gf_bs_read_u16
    - gf_bs_read_u32
    - gf_bs_read_u8
    - ffmpeg_stream_type_from_gpac
    - gf_filter_pid_get_udta
    - gf_bs_read_int
    - gf_bs_new
    - gf_filter_pid_init_play_event
    - gf_codecid_name
    - memcpy
    - gf_filter_pid_send_event
    - av_channel_layout_uninit
    - av_stream_add_side_data
    - gf_stream_type_name
    - gf_filter_pck_get_property
    - gf_filter_pid_get_property
    - ffmpeg_extradata_from_gpac
    - ffmx_open_url
    - ffmpeg_tags_from_gpac
    - ffmpeg_audio_fmt_from_gpac
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1596,1
    - Dst: ffmpeg_update_arg
      Src: /src/gpac/src/filters/ff_mx.c:1597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - arg_val
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1598
    functionName: ffmx_update_arg
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmpeg_update_arg
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_update_arg(GF_Filter *filter, const char *arg_name,
      const GF_PropertyValue *arg_val) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: avformat_init_output
      Src: /src/gpac/src/filters/ff_mx.c:140,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:143,1
    - Dst: av_dict_copy
      Src: /src/gpac/src/filters/ff_mx.c:138,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_mx.c:145,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:189,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_mx.c:201,1
    - Dst: av_dict_set
      Src: /src/gpac/src/filters/ff_mx.c:235,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_mx.c:243,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/ff_mx.c:132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:143,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:146,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:152,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:204,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:219,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filters/ff_mx.c:150,1
    - Dst: gf_filter_pid_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:153,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filters/ff_mx.c:164,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:192,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/ff_mx.c:162,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/ff_mx.c:163,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_mx.c:212,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:221,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_mx.c:222,1
    - Dst: avformat_write_header
      Src: /src/gpac/src/filters/ff_mx.c:239,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:173,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/ff_mx.c:195,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:188,1
    - Dst: gf_timestamp_greater
      Src: /src/gpac/src/filters/ff_mx.c:176,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:205,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/ff_mx.c:210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:241,1
    - Dst: gf_filter_abort
      Src: /src/gpac/src/filters/ff_mx.c:244,1
    - Dst: ffmpeg_report_options
      Src: /src/gpac/src/filters/ff_mx.c:248,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:241,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 126
    argCount: 2
    argNames:
    - filter
    - ctx
    argTypes:
    - GF_Filter*
    - GF_FFMuxCtx*
    constantsTouched: []
    func_position:
      end: 251
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 251
    functionName: ffmx_init_mux
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_get_cts
    - memset
    - av_dict_set
    - GF_LOG
    - ffmpeg_report_options
    - gf_timestamp_rescale
    - avformat_init_output
    - gf_filter_abort
    - av_malloc
    - gf_filter_pid_get_packet
    - av_dict_free
    - gf_assert
    - gf_filter_pck_get_dts
    - gf_filter_pid_get_udta
    - av_dict_copy
    - gf_filter_get_ipid
    - av_err2str
    - gf_filter_pid_get_property
    - avformat_write_header
    - gf_filter_get_ipid_count
    - gf_timestamp_greater
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_init_mux(GF_Filter *filter, GF_FFMuxCtx *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_mx.c:283,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/ff_mx.c:296,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/filters/ff_mx.c:289,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filters/ff_mx.c:290,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ff_mx.c:291,1
    - Dst: av_malloc
      Src: /src/gpac/src/filters/ff_mx.c:298,1
    - Dst: avio_alloc_context
      Src: /src/gpac/src/filters/ff_mx.c:301,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:305,1
    - Dst: avio_open2
      Src: /src/gpac/src/filters/ff_mx.c:310,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:312,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/ff_mx.c:317,1
    - Dst: av_strdup
      Src: /src/gpac/src/filters/ff_mx.c:321,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:312,1
    - Dst: av_freep
      Src: /src/gpac/src/filters/ff_mx.c:320,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - final_name
    argTypes:
    - GF_FFMuxCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 327
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 327
    functionName: ffmx_open_url
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - avio_open2
    - av_strdup
    - avio_alloc_context
    - strncmp
    - av_err2str
    - GF_LOG
    - strncpy
    - av_freep
    - gf_fclose
    - av_malloc
    - gf_url_is_local
    - gf_fopen
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_open_url(GF_FFMuxCtx *ctx, char *final_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_ftell
      Src: /src/gpac/src/filters/ff_mx.c:268,1
    - Dst: gf_fsize
      Src: /src/gpac/src/filters/ff_mx.c:269,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/ff_mx.c:273,1
    - Dst: gf_fseek
      Src: /src/gpac/src/filters/ff_mx.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - offset
    - whence
    argTypes:
    - void*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: ffavio_seek
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_fseek
    - gf_ftell
    - gf_fsize
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t ffavio_seek(void *opaque, int64_t offset, int whence) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:441,1
    - Dst: ffmx_initialize_ex
      Src: /src/gpac/src/filters/ff_mx.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: ffmx_initialize
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - ffmx_initialize_ex
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_initialize(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: av_write_frame
      Src: /src/gpac/src/filters/ff_mx.c:573,1
    - Dst: AVFMT_URL
      Src: /src/gpac/src/filters/ff_mx.c:582,1
    - Dst: av_write_trailer
      Src: /src/gpac/src/filters/ff_mx.c:580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:588,1
    - Dst: AVFMT_URL
      Src: /src/gpac/src/filters/ff_mx.c:588,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:588,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filters/ff_mx.c:595,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/ff_mx.c:596,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/ff_mx.c:614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - filter
    - ctx
    - send_evt_only
    argTypes:
    - GF_Filter*
    - GF_FFMuxCtx*
    - Bool
    constantsTouched: []
    func_position:
      end: 616
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 616
    functionName: ffmx_close_seg
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - av_write_frame
    - AVFMT_URL
    - av_err2str
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_get_ipid
    - av_write_trailer
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err ffmx_close_seg(GF_Filter *filter, GF_FFMuxCtx *ctx,
      Bool send_evt_only) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/ff_mx.c:711,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:720,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/ff_mx.c:715,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_mx.c:719,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filters/ff_mx.c:713,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:721,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_mx.c:724,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:725,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:726,1
    - Dst: strlen
      Src: /src/gpac/src/filters/ff_mx.c:729,1
    - Dst: av_packet_new_side_data
      Src: /src/gpac/src/filters/ff_mx.c:730,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/ff_mx.c:735,1
    - Dst: memset
      Src: /src/gpac/src/filters/ff_mx.c:733,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - ipck
    - pkt
    argTypes:
    - GF_FilterPacket*
    - AVPacket*
    constantsTouched: []
    func_position:
      end: 738
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 738
    functionName: ffmx_inject_webvtt
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - gf_filter_pck_get_property_str
    - memcpy
    - av_packet_new_side_data
    linkageType: ''
    returnType: void
    signature: 'static void ffmx_inject_webvtt(GF_FilterPacket *ipck, AVPacket *pkt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/ff_mx.c:1554,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/ff_mx.c:1562,1
    - Dst: av_write_trailer
      Src: /src/gpac/src/filters/ff_mx.c:1560,1
    - Dst: ffmx_close_seg
      Src: /src/gpac/src/filters/ff_mx.c:1558,1
    - Dst: av_err2str
      Src: /src/gpac/src/filters/ff_mx.c:1562,1
    - Dst: av_packet_free
      Src: /src/gpac/src/filters/ff_mx.c:1576,1
    - Dst: av_dict_free
      Src: /src/gpac/src/filters/ff_mx.c:1579,1
    - Dst: avformat_free_context
      Src: /src/gpac/src/filters/ff_mx.c:1580,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/ff_mx.c:1583,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/ff_mx.c:1585,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filters/ff_mx.c:1590,1
    - Dst: av_freep
      Src: /src/gpac/src/filters/ff_mx.c:1587,1
    - Dst: avio_context_free
      Src: /src/gpac/src/filters/ff_mx.c:1588,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/ff_mx.c:1581,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filters/ff_mx.c:1582,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1592
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1592
    functionName: ffmx_finalize
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - avformat_free_context
    - av_err2str
    - gf_list_del
    - ffmx_close_seg
    - gf_list_count
    - GF_LOG
    - gf_fclose
    - avio_context_free
    - gf_free
    - av_dict_free
    - av_packet_free
    - av_freep
    - av_write_trailer
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'static void ffmx_finalize(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filters/ff_mx.c:1603,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:1609,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filters/ff_mx.c:1604,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:1610,1
    - Dst: av_guess_format
      Src: /src/gpac/src/filters/ff_mx.c:1611,1
    - Dst: strstr
      Src: /src/gpac/src/filters/ff_mx.c:1615,1
    - Dst: avio_find_protocol_name
      Src: /src/gpac/src/filters/ff_mx.c:1619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - url
    - mime
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1623
    functionName: ffmx_probe_url
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - av_guess_format
    - gf_fileio_translate_url
    - strncmp
    - avio_find_protocol_name
    - strstr
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore ffmx_probe_url(const char *url, const char
      *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffmpeg_build_register
      Src: /src/gpac/src/filters/ff_mx.c:1712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1713
    functionName: ffmx_register
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached:
    - ffmpeg_build_register
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffmx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1720
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1720
    functionName: ffmx_register
    functionSourceFile: /src/gpac/src/filters/ff_mx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *ffmx_register(GF_FilterSession *session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isor_reset_reader
      Src: /src/gpac/src/filters/isoffin_read.c:184,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filters/isoffin_read.c:185,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filters/isoffin_read.c:187,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filters/isoffin_read.c:186,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: isoffin_delete_channel
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - isor_reset_reader
    - gf_odf_hevc_cfg_del
    - gf_odf_avc_cfg_del
    - gf_free
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_delete_channel(ISOMChannel *ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:194,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filters/isoffin_read.c:198,1
    - Dst: isoffin_delete_channel
      Src: /src/gpac/src/filters/isoffin_read.c:199,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/isoffin_read.c:196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:195,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/filters/isoffin_read.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - read
    argTypes:
    - ISOMReader*
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: isoffin_disconnect
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - isoffin_delete_channel
    - gf_isom_close
    - gf_list_rem
    - gf_filter_pid_remove
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_disconnect(ISOMReader *read) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:46,1
    - Dst: strstr
      Src: /src/gpac/src/filters/isoffin_read.c:50,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:47,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:48,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: isor_is_local
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - strstr
    - strnicmp
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE Bool isor_is_local(const char *url) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_min_negative_cts_offset
      Src: /src/gpac/src/filters/isoffin_read.c:210,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:213,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:231,1
    - Dst: MAX
      Src: /src/gpac/src/filters/isoffin_read.c:219,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:223,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/isoffin_read.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - read
    - ch
    argTypes:
    - ISOMReader*
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: isoffin_set_channel_ctso
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_pid_set_property
    - gf_isom_get_min_negative_cts_offset
    - MAX
    - PROP_LONGSINT
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_set_channel_ctso(ISOMReader *read, ISOMChannel
      *ch) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_read.c:841,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_read.c:861,1
    - Dst: gf_isom_has_track_reference
      Src: /src/gpac/src/filters/isoffin_read.c:853,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_read.c:847,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_read.c:842,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_read.c:864,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:865,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:866,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/isoffin_read.c:872,1
    - Dst: gf_isom_get_sample_for_media_time
      Src: /src/gpac/src/filters/isoffin_read.c:873,1
    - Dst: gf_isom_get_sample_for_media_time
      Src: /src/gpac/src/filters/isoffin_read.c:881,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:885,1
    - Dst: gf_isom_get_reference_count
      Src: /src/gpac/src/filters/isoffin_read.c:903,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/filters/isoffin_read.c:919,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_read.c:906,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/isoffin_read.c:913,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - ch
    - the_file
    - switch_up
    argTypes:
    - ISOMChannel*
    - GF_ISOFile*
    - Bool
    constantsTouched: []
    func_position:
      end: 922
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 922
    functionName: isoffin_channel_switch_quality
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_reference_count
    - gf_isom_get_reference
    - gf_list_get
    - gf_list_count
    - gf_isom_get_track_id
    - gf_isom_get_sample_for_media_time
    - gf_filter_pid_set_eos
    - gf_timestamp_rescale
    - gf_isom_get_track_count
    - gf_isom_has_track_reference
    - gf_isom_set_nalu_extract_mode
    - gf_free
    linkageType: ''
    returnType: u32
    signature: 'static u32 isoffin_channel_switch_quality(ISOMChannel *ch, GF_ISOFile
      *the_file, Bool switch_up) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_blob_register
      Src: /src/gpac/src/filters/isoffin_read.c:1260,1
    - Dst: gf_isom_open_progressive_ex
      Src: /src/gpac/src/filters/isoffin_read.c:1271,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/isoffin_read.c:1274,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filters/isoffin_read.c:1263,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_read.c:1266,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filters/isoffin_read.c:1281,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1282,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/isoffin_read.c:1283,1
    - Dst: gf_isom_is_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:1294,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/filters/isoffin_read.c:1295,1
    - Dst: gf_isom_refresh_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:1303,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:1305,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1305,1
    - Dst: isor_declare_objects
      Src: /src/gpac/src/filters/isoffin_read.c:1296,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - filter
    - read
    - pck_data
    - data_size
    argTypes:
    - GF_Filter*
    - ISOMReader*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 1311
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1311
    functionName: isoffin_push_buffer
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_open_progressive_ex
    - gf_isom_is_fragmented
    - gf_isom_refresh_fragmented
    - gf_isom_get_timescale
    - isor_declare_objects
    - GF_4CC
    - gf_realloc
    - gf_error_to_string
    - GF_LOG
    - gf_blob_register
    - memcpy
    - gf_filter_setup_failure
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_push_buffer(GF_Filter *filter, ISOMReader *read,
      const u8 *pck_data, u32 data_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_enum
      Src: /src/gpac/src/filters/isoffin_read.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - reader
    - pid
    argTypes:
    - ISOMReader*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: isor_get_channel
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    linkageType: ''
    returnType: ISOMChannel*
    signature: 'ISOMChannel *isor_get_channel(ISOMReader *reader, GF_FilterPid *pid) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:65,1
    - Dst: strncmp
      Src: /src/gpac/src/filters/isoffin_read.c:75,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filters/isoffin_read.c:77,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:108,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:104,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:116,1
    - Dst: atoi
      Src: /src/gpac/src/filters/isoffin_read.c:119,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:126,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:153,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/isoffin_read.c:160,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:143,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/isoffin_read.c:89,1
    - Dst: strchr
      Src: /src/gpac/src/filters/isoffin_read.c:97,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:94,1
    - Dst: atoi
      Src: /src/gpac/src/filters/isoffin_read.c:113,1
    - Dst: isor_is_local
      Src: /src/gpac/src/filters/isoffin_read.c:125,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:130,1
    - Dst: gf_isom_is_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:164,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/filters/isoffin_read.c:166,1
    - Dst: isor_declare_objects
      Src: /src/gpac/src/filters/isoffin_read.c:174,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filters/isoffin_read.c:176,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:161,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filters/isoffin_read.c:66,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_read.c:85,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_read.c:85,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filters/isoffin_read.c:87,1
    - Dst: strchr
      Src: /src/gpac/src/filters/isoffin_read.c:92,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:110,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:106,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:102,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:112,1
    - Dst: atoi
      Src: /src/gpac/src/filters/isoffin_read.c:115,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:159,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/src/filters/isoffin_read.c:137,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filters/isoffin_read.c:79,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/isoffin_read.c:80,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filters/isoffin_read.c:96,1
    - Dst: strnicmp
      Src: /src/gpac/src/filters/isoffin_read.c:114,1
    - Dst: atoi
      Src: /src/gpac/src/filters/isoffin_read.c:117,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:159,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:173,1
    - Dst: gf_isom_text_set_streaming_mode
      Src: /src/gpac/src/filters/isoffin_read.c:171,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 138
    argCount: 3
    argNames:
    - filter
    - read
    - input_is_eos
    argTypes:
    - GF_Filter*
    - ISOMReader*
    - Bool
    constantsTouched: []
    func_position:
      end: 180
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 180
    functionName: isoffin_setup
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_isom_get_timescale
    - gf_filter_force_main_thread
    - strncmp
    - GF_LOG
    - gf_file_ext_start
    - isor_declare_objects
    - gf_crc_32
    - gf_isom_open_progressive
    - gf_error_to_string
    - gf_strdup
    - atoi
    - gf_isom_is_fragmented
    - gf_fileio_is_main_thread
    - gf_isom_text_set_streaming_mode
    - isor_is_local
    - gf_filter_post_process_task
    - strchr
    - gf_free
    - strnicmp
    - gf_filter_pid_get_property
    - gf_fatal_assert
    - gf_filter_setup_failure
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isoffin_setup(GF_Filter *filter, ISOMReader *read, Bool
      input_is_eos) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:244,1
    - Dst: gf_isom_get_smooth_next_tfdt
      Src: /src/gpac/src/filters/isoffin_read.c:310,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/isoffin_read.c:319,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:335,1
    - Dst: gf_isom_enable_traf_map_templates
      Src: /src/gpac/src/filters/isoffin_read.c:339,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:356,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:367,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:373,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:380,1
    - Dst: isor_check_producer_ref_time
      Src: /src/gpac/src/filters/isoffin_read.c:383,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_read.c:402,1
    - Dst: isor_set_crypt_config
      Src: /src/gpac/src/filters/isoffin_read.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:407,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:250,1
    - Dst: gf_isom_open_segment
      Src: /src/gpac/src/filters/isoffin_read.c:267,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:294,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:311,1
    - Dst: gf_isom_is_smooth_streaming_moov
      Src: /src/gpac/src/filters/isoffin_read.c:313,1
    - Dst: strstr
      Src: /src/gpac/src/filters/isoffin_read.c:314,1
    - Dst: sprintf
      Src: /src/gpac/src/filters/isoffin_read.c:317,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:319,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/filters/isoffin_read.c:323,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/filters/isoffin_read.c:398,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:373,1
    - Dst: isor_update_channel_config
      Src: /src/gpac/src/filters/isoffin_read.c:427,1
    - Dst: gf_isom_get_track_count
      Src: /src/gpac/src/filters/isoffin_read.c:413,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:386,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:276,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:283,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:294,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/isoffin_read.c:294,1
    - Dst: isoffin_set_channel_ctso
      Src: /src/gpac/src/filters/isoffin_read.c:287,1
    - Dst: gf_isom_open_progressive
      Src: /src/gpac/src/filters/isoffin_read.c:324,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/isoffin_read.c:354,1
    - Dst: gf_isom_reset_fragment_info
      Src: /src/gpac/src/filters/isoffin_read.c:364,1
    - Dst: gf_isom_get_highest_track_in_scalable_segment
      Src: /src/gpac/src/filters/isoffin_read.c:395,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/filters/isoffin_read.c:430,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:417,1
    - Dst: gf_isom_release_segment
      Src: /src/gpac/src/filters/isoffin_read.c:258,1
    - Dst: gf_isom_reset_fragment_info
      Src: /src/gpac/src/filters/isoffin_read.c:259,1
    - Dst: gf_isom_probe_file_range
      Src: /src/gpac/src/filters/isoffin_read.c:254,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:277,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:284,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:298,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:296,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:359,1
    - Dst: gf_isom_release_segment
      Src: /src/gpac/src/filters/isoffin_read.c:362,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:378,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:407,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:414,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:335,1
    - Dst: gf_isom_get_track_by_id
      Src: /src/gpac/src/filters/isoffin_read.c:411,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/isoffin_read.c:335,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 143
    argCount: 3
    argNames:
    - filter
    - read
    - next_url
    argTypes:
    - GF_Filter*
    - ISOMReader*
    - char*
    constantsTouched: []
    func_position:
      end: 440
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 440
    functionName: isoffin_reconfigure
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - isor_update_channel_config
    - isoffin_set_channel_ctso
    - gf_isom_open_segment
    - GF_LOG
    - gf_isom_set_nalu_extract_mode
    - strstr
    - gf_isom_get_highest_track_in_scalable_segment
    - gf_isom_get_track_by_id
    - gf_isom_open_progressive
    - gf_error_to_string
    - gf_list_count
    - gf_isom_is_smooth_streaming_moov
    - gf_isom_close
    - PROP_UINT
    - gf_isom_get_track_count
    - gf_isom_release_segment
    - gf_list_get
    - sprintf
    - gf_isom_probe_file_range
    - gf_filter_pid_set_property
    - gf_isom_enable_traf_map_templates
    - isor_check_producer_ref_time
    - gf_isom_get_track_id
    - gf_filter_post_process_task
    - gf_isom_get_sample_count
    - gf_net_get_utc
    - gf_isom_get_smooth_next_tfdt
    - gf_filter_pid_get_property
    - gf_isom_reset_fragment_info
    - isor_set_crypt_config
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isoffin_reconfigure(GF_Filter *filter, ISOMReader *read,
      const char *next_url) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_needs_layer_reconstruction
      Src: /src/gpac/src/filters/isoffin_read.c:939,1
    - Dst: isor_get_channel
      Src: /src/gpac/src/filters/isoffin_read.c:949,1
    - Dst: isor_reset_reader
      Src: /src/gpac/src/filters/isoffin_read.c:969,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:985,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1008,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read.c:1041,1
    - Dst: gf_isom_get_sample_info_ex
      Src: /src/gpac/src/filters/isoffin_read.c:1047,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/isoffin_read.c:1090,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/isoffin_read.c:1092,1
    - Dst: isor_reset_reader
      Src: /src/gpac/src/filters/isoffin_read.c:1215,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:1225,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:936,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:983,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read.c:1043,1
    - Dst: gf_isom_reset_seq_num
      Src: /src/gpac/src/filters/isoffin_read.c:1067,1
    - Dst: gf_isom_reset_tables
      Src: /src/gpac/src/filters/isoffin_read.c:1078,1
    - Dst: gf_isom_set_removed_bytes
      Src: /src/gpac/src/filters/isoffin_read.c:1094,1
    - Dst: gf_isom_reset_tables
      Src: /src/gpac/src/filters/isoffin_read.c:1103,1
    - Dst: gf_isom_reset_data_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1106,1
    - Dst: gf_isom_get_sidx_duration
      Src: /src/gpac/src/filters/isoffin_read.c:1129,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1133,1
    - Dst: isor_reset_reader
      Src: /src/gpac/src/filters/isoffin_read.c:1193,1
    - Dst: gf_isom_set_byte_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1175,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read.c:1151,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/isoffin_read.c:1169,1
    - Dst: ABS
      Src: /src/gpac/src/filters/isoffin_read.c:1003,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:1115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1145,1
    - Dst: gf_isom_get_sample_for_movie_time
      Src: /src/gpac/src/filters/isoffin_read.c:1153,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/isoffin_read.c:1167,1
    - Dst: gf_isom_set_removed_bytes
      Src: /src/gpac/src/filters/isoffin_read.c:1174,1
    - Dst: gf_isom_set_byte_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1177,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:1186,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1188,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/isoffin_read.c:1196,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/isoffin_read.c:931,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:938,1
    - Dst: isoffin_channel_switch_quality
      Src: /src/gpac/src/filters/isoffin_read.c:941,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1055,1
    - Dst: gf_isom_reset_data_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1079,1
    - Dst: gf_isom_set_byte_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1095,1
    - Dst: gf_isom_load_fragments
      Src: /src/gpac/src/filters/isoffin_read.c:1098,1
    - Dst: gf_isom_get_file_offset_for_time
      Src: /src/gpac/src/filters/isoffin_read.c:1122,1
    - Dst: gf_isom_reset_tables
      Src: /src/gpac/src/filters/isoffin_read.c:1125,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filters/isoffin_read.c:1130,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1226,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/isoffin_read.c:1208,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_read.c:1133,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 277
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 1251
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 1251
    functionName: isoffin_process_event
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - GF_LOG
    - gf_isom_get_file_offset_for_time
    - gf_timestamp_rescale
    - PROP_FRAC64_INT
    - gf_isom_set_byte_offset
    - gf_filter_get_udta
    - gf_list_count
    - gf_isom_reset_tables
    - isoffin_channel_switch_quality
    - gf_list_get
    - gf_isom_set_removed_bytes
    - gf_filter_pid_set_property
    - gf_isom_get_sidx_duration
    - ABS
    - gf_filter_post_process_task
    - gf_isom_load_fragments
    - isor_get_channel
    - gf_isom_reset_data_offset
    - gf_filter_pid_send_event
    - gf_isom_get_sample_for_movie_time
    - isor_reset_reader
    - gf_isom_needs_layer_reconstruction
    - gf_isom_get_sample_info_ex
    - gf_isom_reset_seq_num
    linkageType: ''
    returnType: Bool
    signature: 'static Bool isoffin_process_event(GF_Filter *filter, const GF_FilterEvent
      *evt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_get_current_top_box_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1327,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/isoffin_read.c:1339,1
    - Dst: memmove
      Src: /src/gpac/src/filters/isoffin_read.c:1344,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/isoffin_read.c:1336,1
    - Dst: gf_isom_set_removed_bytes
      Src: /src/gpac/src/filters/isoffin_read.c:1347,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1349,1
    - Dst: gf_isom_refresh_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:1353,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:1359,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1361,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:1373,1
    - Dst: gf_assert
      Src: /src/gpac/src/filters/isoffin_read.c:1374,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1375,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:1363,1
    - Dst: gf_isom_purge_samples
      Src: /src/gpac/src/filters/isoffin_read.c:1370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - read
    - min_offset
    argTypes:
    - ISOMReader*
    - u64
    constantsTouched: []
    func_position:
      end: 1377
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1377
    functionName: isoffin_purge_mem
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_refresh_fragmented
    - gf_list_get
    - gf_isom_get_sample_count
    - gf_list_count
    - gf_isom_set_removed_bytes
    - GF_LOG
    - gf_isom_get_current_top_box_offset
    - gf_isom_purge_samples
    - memmove
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_purge_mem(ISOMReader *read, u64 min_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1970
    functionName: mp4dmx_register
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mp4dmx_register(GF_FilterSession *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/isoffin_read.c:445,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:455,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_read.c:467,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_read.c:467,1
    - Dst: isoffin_disconnect
      Src: /src/gpac/src/filters/isoffin_read.c:448,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:470,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:478,1
    - Dst: isoffin_reconfigure
      Src: /src/gpac/src/filters/isoffin_read.c:488,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:492,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/isoffin_read.c:496,1
    - Dst: isoffin_setup
      Src: /src/gpac/src/filters/isoffin_read.c:500,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/isoffin_read.c:498,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - filter
    - pid
    - is_remove
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 501
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 501
    functionName: isoffin_configure_pid
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - strlen
    - isoffin_disconnect
    - isoffin_setup
    - gf_crc_32
    - isoffin_reconfigure
    - gf_filter_pid_get_property
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err isoffin_configure_pid(GF_Filter *filter, GF_FilterPid *pid,
      Bool is_remove) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/isoffin_read.c:548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:553,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filters/isoffin_read.c:554,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:552,1
    - Dst: isoffin_delete_channel
      Src: /src/gpac/src/filters/isoffin_read.c:555,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filters/isoffin_read.c:557,1
    - Dst: gf_isom_close
      Src: /src/gpac/src/filters/isoffin_read.c:559,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:562,1
    - Dst: gf_blob_unregister
      Src: /src/gpac/src/filters/isoffin_read.c:564,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/isoffin_read.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 567
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 567
    functionName: isoffin_finalize
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_filter_get_udta
    - gf_list_get
    - gf_list_del
    - gf_list_count
    - isoffin_delete_channel
    - gf_isom_close
    - gf_list_rem
    - gf_free
    - gf_blob_unregister
    linkageType: ''
    returnType: void
    signature: 'static void isoffin_finalize(GF_Filter *filter) '
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filters/isoffin_read.c:1572,1
    - Dst: gf_isom_get_sample_references
      Src: /src/gpac/src/filters/isoffin_read.c:1663,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1664,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/isoffin_read.c:1624,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1715,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_read.c:1732,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1740,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/isoffin_read.c:1781,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filters/isoffin_read.c:1628,1
    - Dst: gf_filter_pck_set_seek_flag
      Src: /src/gpac/src/filters/isoffin_read.c:1654,1
    - Dst: gf_filter_pck_set_corrupted
      Src: /src/gpac/src/filters/isoffin_read.c:1686,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/isoffin_read.c:1640,1
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/isoffin_read.c:1381,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:1422,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/isoffin_read.c:1519,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1524,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1698,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1711,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filters/isoffin_read.c:1657,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1474,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:1603,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read.c:1694,1
    - Dst: gf_isom_sample_is_fragment_start
      Src: /src/gpac/src/filters/isoffin_read.c:1704,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_read.c:1719,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1732,1
    - Dst: gf_filter_pck_set_byte_offset
      Src: /src/gpac/src/filters/isoffin_read.c:1747,1
    - Dst: gf_filter_pck_set_seq_num
      Src: /src/gpac/src/filters/isoffin_read.c:1689,1
    - Dst: gf_filter_pck_set_roll_info
      Src: /src/gpac/src/filters/isoffin_read.c:1647,1
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filters/isoffin_read.c:1455,1
    - Dst: gf_filter_pck_set_duration
      Src: /src/gpac/src/filters/isoffin_read.c:1653,1
    - Dst: isor_set_sample_groups_and_aux_data
      Src: /src/gpac/src/filters/isoffin_read.c:1744,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filters/isoffin_read.c:1524,1
    - Dst: gf_filter_end_of_session
      Src: /src/gpac/src/filters/isoffin_read.c:1528,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filters/isoffin_read.c:1622,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filters/isoffin_read.c:1409,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:1512,1
    - Dst: isor_check_producer_ref_time
      Src: /src/gpac/src/filters/isoffin_read.c:1545,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:1711,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_read.c:1722,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:1739,1
    - Dst: isor_reader_release_sample
      Src: /src/gpac/src/filters/isoffin_read.c:1754,1
    - Dst: gf_filter_ask_rt_reschedule
      Src: /src/gpac/src/filters/isoffin_read.c:1800,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1794,1
    - Dst: PROP_SINT
      Src: /src/gpac/src/filters/isoffin_read.c:1664,1
    - Dst: gf_filter_pck_set_dts
      Src: /src/gpac/src/filters/isoffin_read.c:1634,1
    - Dst: gf_filter_pid_get_info_str
      Src: /src/gpac/src/filters/isoffin_read.c:1453,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1480,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1535,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/isoffin_read.c:1646,1
    - Dst: PROP_FRAC64_INT
      Src: /src/gpac/src/filters/isoffin_read.c:1715,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:1740,1
    - Dst: gf_isom_get_tfrf
      Src: /src/gpac/src/filters/isoffin_read.c:1779,1
    - Dst: PROP_POINTER
      Src: /src/gpac/src/filters/isoffin_read.c:1781,1
    - Dst: memcpy
      Src: /src/gpac/src/filters/isoffin_read.c:1632,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/isoffin_read.c:1637,1
    - Dst: gf_isom_switch_source
      Src: /src/gpac/src/filters/isoffin_read.c:1426,1
    - Dst: isoffin_push_buffer
      Src: /src/gpac/src/filters/isoffin_read.c:1434,1
    - Dst: isor_reader_get_sample
      Src: /src/gpac/src/filters/isoffin_read.c:1569,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_read.c:1698,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1722,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/src/filters/isoffin_read.c:1751,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/isoffin_read.c:1433,1
    - Dst: isoffin_setup
      Src: /src/gpac/src/filters/isoffin_read.c:1494,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/isoffin_read.c:1438,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filters/isoffin_read.c:1520,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1529,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1658,1
    - Dst: gf_filter_pck_set_dependency_flags
      Src: /src/gpac/src/filters/isoffin_read.c:1684,1
    - Dst: isor_reader_check_config
      Src: /src/gpac/src/filters/isoffin_read.c:1610,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1606,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filters/isoffin_read.c:1753,1
    - Dst: gf_filter_pid_is_flush_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1447,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:1503,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filters/isoffin_read.c:1533,1
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/src/filters/isoffin_read.c:1603,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1709,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_read.c:1725,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1730,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1670,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1415,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1446,1
    - Dst: gf_isom_refresh_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:1516,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1536,1
    - Dst: gf_filter_pck_check_realloc
      Src: /src/gpac/src/filters/isoffin_read.c:1615,1
    - Dst: isor_reader_get_sample_from_item
      Src: /src/gpac/src/filters/isoffin_read.c:1567,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filters/isoffin_read.c:1826,1
    - Dst: gf_filter_pck_set_sap
      Src: /src/gpac/src/filters/isoffin_read.c:1644,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filters/isoffin_read.c:1635,1
    - Dst: gf_filter_pck_set_crypt_flags
      Src: /src/gpac/src/filters/isoffin_read.c:1688,1
    - Dst: isor_reader_release_sample
      Src: /src/gpac/src/filters/isoffin_read.c:1593,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filters/isoffin_read.c:1382,1
    - Dst: gf_isom_get_sample_count
      Src: /src/gpac/src/filters/isoffin_read.c:1536,1
    - Dst: isor_check_producer_ref_time
      Src: /src/gpac/src/filters/isoffin_read.c:1540,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1725,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filters/isoffin_read.c:1787,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filters/isoffin_read.c:1563,1
    - Dst: isor_reader_release_sample
      Src: /src/gpac/src/filters/isoffin_read.c:1581,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:1606,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1694,1
    - Dst: gf_filter_pck_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:1719,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filters/isoffin_read.c:1746,1
    - Dst: gf_isom_sample_get_subsamples_buffer
      Src: /src/gpac/src/filters/isoffin_read.c:1692,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filters/isoffin_read.c:1441,1
    - Dst: isor_update_channel_config
      Src: /src/gpac/src/filters/isoffin_read.c:1598,1
    - Dst: gf_filter_pid_send_flush
      Src: /src/gpac/src/filters/isoffin_read.c:1761,1
    - Dst: gf_filter_pid_set_info_str
      Src: /src/gpac/src/filters/isoffin_read.c:1784,1
    - Dst: isoffin_purge_mem
      Src: /src/gpac/src/filters/isoffin_read.c:1818,1
    - Dst: isoffin_configure_pid
      Src: /src/gpac/src/filters/isoffin_read.c:1399,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filters/isoffin_read.c:1529,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:1658,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filters/isoffin_read.c:1825,1
    - Dst: gf_dm_sess_get_cache_name
      Src: /src/gpac/src/filters/isoffin_read.c:1424,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:1520,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filters/isoffin_read.c:1552,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:1709,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_read.c:1730,1
    CyclomaticComplexity: 154
    EdgeCount: 154
    ICount: 375
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1835
    functionName: isoffin_process
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - isor_update_channel_config
    - gf_isom_sample_get_subsamples_buffer
    - isoffin_setup
    - gf_filter_pid_is_eos
    - gf_isom_get_sample_references
    - gf_filter_pck_set_dependency_flags
    - PROP_DATA
    - GF_FEVT_INIT
    - gf_filter_release_property
    - GF_LOG
    - PROP_BOOL
    - isor_reader_check_config
    - gf_filter_pid_drop_packet
    - gf_filter_end_of_session
    - gf_filter_pid_set_eos
    - gf_isom_has_sync_points
    - isor_reader_release_sample
    - gf_filter_pck_get_sap
    - PROP_FRAC64_INT
    - gf_filter_pck_get_data
    - gf_filter_pck_new_alloc
    - gf_filter_get_udta
    - gf_isom_get_tfrf
    - gf_filter_pck_set_sap
    - gf_error_to_string
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_filter_pck_set_corrupted
    - PROP_POINTER
    - gf_filter_ask_rt_reschedule
    - gf_filter_pck_set_seek_flag
    - gf_filter_pck_set_byte_offset
    - gf_filter_pck_set_cts
    - PROP_UINT
    - gf_filter_pid_get_name
    - isor_set_sample_groups_and_aux_data
    - gf_filter_pck_set_duration
    - gf_isom_refresh_fragmented
    - gf_filter_pck_set_seq_num
    - gf_list_get
    - gf_filter_pck_set_property
    - gf_dm_sess_get_cache_name
    - PROP_LONGUINT
    - gf_filter_pid_send_flush
    - isor_reader_get_sample_from_item
    - isor_check_producer_ref_time
    - gf_filter_pid_get_info_str
    - gf_filter_pid_set_property
    - gf_filter_pck_discard
    - memcpy
    - gf_filter_pid_set_info_str
    - gf_filter_pck_set_roll_info
    - gf_sys_is_test_mode
    - gf_filter_pck_set_clock_type
    - gf_isom_get_sample_count
    - gf_net_get_utc
    - isoffin_push_buffer
    - gf_filter_pid_would_block
    - gf_filter_pck_new_shared
    - gf_filter_pck_send
    - gf_filter_pid_send_event
    - gf_isom_switch_source
    - gf_filter_pid_is_flush_eos
    - gf_filter_pck_set_dts
    - gf_isom_sample_is_fragment_start
    - isoffin_configure_pid
    - gf_filter_pid_get_property
    - PROP_DATA_NO_COPY
    - isor_reader_get_sample
    - gf_filter_pck_check_realloc
    - isoffin_purge_mem
    - gf_log_tool_level_on
    - gf_filter_pck_set_crypt_flags
    - PROP_SINT
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err isoffin_process(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_udta
      Src: /src/gpac/src/filters/isoffin_read.c:505,1
    - Dst: gf_isom_get_timescale
      Src: /src/gpac/src/filters/isoffin_read.c:522,1
    - Dst: gf_isom_is_fragmented
      Src: /src/gpac/src/filters/isoffin_read.c:521,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filters/isoffin_read.c:508,1
    - Dst: isoffin_setup
      Src: /src/gpac/src/filters/isoffin_read.c:516,1
    - Dst: gf_isom_enable_traf_map_templates
      Src: /src/gpac/src/filters/isoffin_read.c:526,1
    - Dst: gf_isom_open_segment
      Src: /src/gpac/src/filters/isoffin_read.c:529,1
    - Dst: isor_declare_objects
      Src: /src/gpac/src/filters/isoffin_read.c:533,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filters/isoffin_read.c:535,1
    - Dst: isoffin_setup
      Src: /src/gpac/src/filters/isoffin_read.c:539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 543
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 543
    functionName: isoffin_initialize
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_is_fragmented
    - gf_filter_get_udta
    - isoffin_setup
    - gf_isom_get_timescale
    - isor_declare_objects
    - gf_isom_open_segment
    - gf_isom_enable_traf_map_templates
    - gf_filter_post_process_task
    - gf_list_new
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err isoffin_initialize(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/isoffin_read.c:573,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/isoffin_read.c:589,1
    - Dst: gf_isom_get_pssh_info
      Src: /src/gpac/src/filters/isoffin_read.c:587,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_read.c:577,1
    - Dst: gf_isom_get_pssh_count
      Src: /src/gpac/src/filters/isoffin_read.c:576,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_read.c:590,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_read.c:592,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/isoffin_read.c:594,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filters/isoffin_read.c:597,1
    - Dst: gf_bs_write_data
      Src: /src/gpac/src/filters/isoffin_read.c:598,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filters/isoffin_read.c:600,1
    - Dst: PROP_DATA_NO_COPY
      Src: /src/gpac/src/filters/isoffin_read.c:602,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/isoffin_read.c:601,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 603
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 603
    functionName: isor_declare_pssh
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_get_pssh_count
    - gf_bs_get_content
    - gf_isom_get_pssh_info
    - gf_bs_del
    - gf_bs_write_data
    - gf_bs_new
    - gf_filter_pid_set_property
    - gf_bs_write_u32
    - PROP_DATA_NO_COPY
    linkageType: ''
    returnType: void
    signature: 'void isor_declare_pssh(ISOMChannel *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_isom_probe_data
      Src: /src/gpac/src/filters/isoffin_read.c:1839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - data
    - size
    - score
    argTypes:
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1844
    functionName: isoffin_probe_data
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_isom_probe_data
    linkageType: ''
    returnType: char*
    signature: 'static const char *isoffin_probe_data(const u8 *data, u32 size, GF_FilterProbeScore
      *score) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:650,1
    - Dst: gf_isom_is_ismacryp_media
      Src: /src/gpac/src/filters/isoffin_read.c:656,1
    - Dst: gf_isom_is_adobe_protection_media
      Src: /src/gpac/src/filters/isoffin_read.c:669,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:683,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:685,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:686,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:687,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:688,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:689,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:690,1
    - Dst: gf_isom_cenc_get_default_info
      Src: /src/gpac/src/filters/isoffin_read.c:700,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:702,1
    - Dst: PROP_FRAC_INT
      Src: /src/gpac/src/filters/isoffin_read.c:707,1
    - Dst: gf_isom_is_media_encrypted
      Src: /src/gpac/src/filters/isoffin_read.c:636,1
    - Dst: gf_isom_get_adobe_protection_info
      Src: /src/gpac/src/filters/isoffin_read.c:675,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:677,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:680,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:681,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_read.c:682,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:691,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:686,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:704,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_read.c:709,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:688,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_read.c:690,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filters/isoffin_read.c:710,1
    - Dst: gf_isom_get_sample_description_count
      Src: /src/gpac/src/filters/isoffin_read.c:627,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:650,1
    - Dst: gf_isom_get_media_subtype
      Src: /src/gpac/src/filters/isoffin_read.c:635,1
    - Dst: gf_isom_get_original_format_type
      Src: /src/gpac/src/filters/isoffin_read.c:637,1
    - Dst: gf_isom_get_ismacryp_info
      Src: /src/gpac/src/filters/isoffin_read.c:657,1
    - Dst: gf_isom_is_omadrm_media
      Src: /src/gpac/src/filters/isoffin_read.c:658,1
    - Dst: gf_isom_get_omadrm_info
      Src: /src/gpac/src/filters/isoffin_read.c:660,1
    - Dst: gf_isom_is_cenc_media
      Src: /src/gpac/src/filters/isoffin_read.c:663,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_read.c:683,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:685,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:707,1
    - Dst: PROP_DATA
      Src: /src/gpac/src/filters/isoffin_read.c:677,1
    - Dst: strlen
      Src: /src/gpac/src/filters/isoffin_read.c:677,1
    - Dst: gf_isom_get_cenc_info
      Src: /src/gpac/src/filters/isoffin_read.c:666,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_read.c:680,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:681,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:682,1
    - Dst: isor_declare_pssh
      Src: /src/gpac/src/filters/isoffin_read.c:698,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:704,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:709,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:687,1
    - Dst: PROP_4CC
      Src: /src/gpac/src/filters/isoffin_read.c:702,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filters/isoffin_read.c:689,1
    - Dst: PROP_LONGUINT
      Src: /src/gpac/src/filters/isoffin_read.c:691,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 92
    argCount: 1
    argNames:
    - ch
    argTypes:
    - ISOMChannel*
    constantsTouched: []
    func_position:
      end: 712
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 712
    functionName: isor_set_crypt_config
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - strlen
    - PROP_DATA
    - PROP_BOOL
    - gf_isom_get_ismacryp_info
    - PROP_FRAC_INT
    - gf_isom_get_media_subtype
    - gf_isom_is_media_encrypted
    - gf_isom_is_adobe_protection_media
    - gf_crc_32
    - gf_isom_get_sample_description_count
    - PROP_STRING
    - PROP_UINT
    - PROP_4CC
    - gf_isom_get_cenc_info
    - PROP_LONGUINT
    - gf_isom_get_omadrm_info
    - gf_filter_pid_set_property
    - gf_isom_is_omadrm_media
    - gf_isom_is_cenc_media
    - gf_isom_is_ismacryp_media
    - gf_isom_cenc_get_default_info
    - gf_isom_get_adobe_protection_info
    - isor_declare_pssh
    - gf_isom_get_original_format_type
    linkageType: ''
    returnType: void
    signature: 'void isor_set_crypt_config(ISOMChannel *ch) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/isoffin_read.c:722,1
    - Dst: gf_isom_get_hevc_lhvc_type
      Src: /src/gpac/src/filters/isoffin_read.c:748,1
    - Dst: gf_isom_has_sync_points
      Src: /src/gpac/src/filters/isoffin_read.c:777,1
    - Dst: gf_isom_get_media_timescale
      Src: /src/gpac/src/filters/isoffin_read.c:783,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filters/isoffin_read.c:816,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filters/isoffin_read.c:729,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:766,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:787,1
    - Dst: PROP_BOOL
      Src: /src/gpac/src/filters/isoffin_read.c:778,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/filters/isoffin_read.c:807,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:817,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:819,1
    - Dst: gf_isom_get_media_type
      Src: /src/gpac/src/filters/isoffin_read.c:735,1
    - Dst: gf_isom_get_avc_svc_type
      Src: /src/gpac/src/filters/isoffin_read.c:747,1
    - Dst: gf_isom_get_edit_list_type
      Src: /src/gpac/src/filters/isoffin_read.c:762,1
    - Dst: gf_isom_get_edits_count
      Src: /src/gpac/src/filters/isoffin_read.c:769,1
    - Dst: isoffin_set_channel_ctso
      Src: /src/gpac/src/filters/isoffin_read.c:775,1
    - Dst: gf_isom_is_track_encrypted
      Src: /src/gpac/src/filters/isoffin_read.c:790,1
    - Dst: gf_isom_set_nalu_extract_mode
      Src: /src/gpac/src/filters/isoffin_read.c:827,1
    - Dst: gf_isom_get_reference
      Src: /src/gpac/src/filters/isoffin_read.c:745,1
    - Dst: gf_isom_get_track_id
      Src: /src/gpac/src/filters/isoffin_read.c:734,1
    - Dst: PROP_LONGSINT
      Src: /src/gpac/src/filters/isoffin_read.c:766,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:787,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:778,1
    - Dst: gf_isom_get_cts_to_dts_shift
      Src: /src/gpac/src/filters/isoffin_read.c:785,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filters/isoffin_read.c:817,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filters/isoffin_read.c:819,1
    - Dst: isor_set_crypt_config
      Src: /src/gpac/src/filters/isoffin_read.c:821,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filters/isoffin_read.c:825,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 91
    argCount: 5
    argNames:
    - read
    - pid
    - track
    - item_id
    - force_no_extractors
    argTypes:
    - ISOMReader*
    - GF_FilterPid*
    - u32
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 831
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 831
    functionName: isor_create_channel
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - isoffin_set_channel_ctso
    - PROP_BOOL
    - GF_LOG
    - gf_isom_has_sync_points
    - GF_SAFEALLOC
    - gf_isom_get_hevc_lhvc_type
    - gf_isom_set_nalu_extract_mode
    - gf_isom_get_media_type
    - gf_isom_get_edit_list_type
    - PROP_UINT
    - gf_isom_get_media_timescale
    - gf_isom_is_track_encrypted
    - gf_isom_get_track_id
    - gf_filter_pid_set_property
    - gf_isom_get_avc_svc_type
    - gf_isom_get_edits_count
    - gf_isom_get_cts_to_dts_shift
    - gf_isom_get_reference
    - gf_filter_pid_get_property
    - isor_set_crypt_config
    - PROP_LONGSINT
    linkageType: ''
    returnType: ISOMChannel*
    signature: 'ISOMChannel *isor_create_channel(ISOMReader *read, GF_FilterPid *pid,
      u32 track, u32 item_id, Bool force_no_extractors) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1965
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1965
    functionName: mp4dmx_register
    functionSourceFile: /src/gpac/src/filters/isoffin_read.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'const GF_FilterRegister *mp4dmx_register(GF_FilterSession *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:7,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:8,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pid
    - data_size
    - data
    argTypes:
    - GF_FilterPid*
    - u32
    - u8**
    constantsTouched: []
    func_position:
      end: 14
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 14
    functionName: pck_new_alloc
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket * pck_new_alloc(GF_FilterPid *pid, u32 data_size,
      u8 **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: (scte35dec_safety)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - assert_equal
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_safety) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:100,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:107,1
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:105,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:106,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:106,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:107,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:110,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:111,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:112,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:113,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: pck_send_no_event
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - assert_less
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - assert_equal_mem
    - assert_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_no_event(GF_FilterPacket *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:143,1
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:148,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:149,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:150,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:149,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:150,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:153,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:154,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:155,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:156,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: pck_send_segmentation_no_event
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - assert_less
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - assert_equal_mem
    - assert_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_segmentation_no_event(GF_FilterPacket *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:211,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:213,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:229,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:232,1
    - Dst: assert_less_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:225,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:232,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:212,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:212,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:221,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:222,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:228,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:231,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:231,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:206,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:217,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:226,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:233,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:239,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:213,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:216,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:230,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:230,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 241
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 241
    functionName: pck_send_simple
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - assert_less
    - gf_bs_del
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - gf_bs_new
    - gf_bs_seek
    - assert_true
    - gf_bs_read_u64
    - assert_equal_mem
    - assert_equal
    - assert_less_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_simple(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:245,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:250,1
    - Dst: SEND_EVENT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:249,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:248,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:251,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:253,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: (scte35dec_simple)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    - SEND_EVENT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_simple) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:326,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:332,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:341,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:347,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:344,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:347,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:327,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:327,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:331,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:346,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:346,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:343,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:321,1
    - Dst: assert_less_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:340,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:348,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:354,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:328,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:328,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:336,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:337,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:345,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:345,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:351,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 356
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 356
    functionName: pck_send_segmentation_beginning
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - assert_less
    - gf_bs_del
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - gf_bs_new
    - gf_bs_seek
    - assert_true
    - gf_bs_read_u64
    - assert_equal_mem
    - assert_equal
    - assert_less_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_segmentation_beginning(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:360,1
    - Dst: SEND_EVENT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:364,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:368,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:365,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 370
    functionName: (scte35dec_segmentation_beginning)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    - SEND_EVENT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_segmentation_beginning) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pid
    - data
    - data_size
    - destruct
    argTypes:
    - GF_FilterPid*
    - u8*
    - u32
    - gf_fsess_packet_destructor
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: pck_new_shared
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket * pck_new_shared(GF_FilterPid *pid, const u8
      *data, u32 data_size, gf_fsess_packet_destructor destruct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:121,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:124,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:126,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: (scte35dec_no_event)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_no_event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:164,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:170,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:168,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: (scte35dec_segmentation_no_event)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_segmentation_no_event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:430,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:438,1
    - Dst: SEND_EVENT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:435,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:437,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:434,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: (scte35dec_short_segmentation_end)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    - SEND_EVENT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_short_segmentation_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:180,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:185,1
    - Dst: SEND_EVENT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:184,1
    - Dst: scte35dec_initialize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:180,1
    - Dst: scte35dec_is_splice_point
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:185,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:187,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: (scte35dec_splice_point_with_idr)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - scte35dec_initialize_internal
    - assert_true
    - scte35dec_is_splice_point
    - scte35dec_flush
    - SEND_EVENT
    - scte35dec_finalize_internal
    - assert_equal
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_splice_point_with_idr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:273,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:279,1
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:278,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:279,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:280,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:280,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:283,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:284,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: pck_send_initial_delay
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - assert_less
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - assert_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_initial_delay(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UT_SCTE35_INIT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:292,1
    - Dst: SEND_VIDEO
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:296,1
    - Dst: SEND_EVENT
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:298,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:300,1
    - Dst: scte35dec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:301,1
    - Dst: scte35dec_finalize_internal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: (scte35dec_initial_delay)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - SEND_VIDEO
    - scte35dec_flush
    - scte35dec_finalize_internal
    - UT_SCTE35_INIT
    - SEND_EVENT
    linkageType: ''
    returnType: unittest
    signature: 'unittest (scte35dec_initial_delay) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:398,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:398,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:406,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:407,1
    - Dst: gf_bs_read_u64
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:415,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:415,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:421,1
    - Dst: assert_less
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:396,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:402,1
    - Dst: assert_equal_mem
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:411,1
    - Dst: gf_bs_seek
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:414,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:417,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:417,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:397,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:397,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:401,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:413,1
    - Dst: gf_bs_read_u32
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:416,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:416,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:391,1
    - Dst: assert_less_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:410,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:418,1
    - Dst: UT_SCTE35_PCK_SEND_FINALIZE
      Src: /src/gpac/src/filters/unittests/ut_dec_scte35.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 426
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 426
    functionName: pck_send_segmentation_end
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_scte35.c
    functionUses: []
    functionsReached:
    - gf_bs_read_u32
    - assert_less
    - gf_bs_del
    - UT_SCTE35_PCK_SEND_FINALIZE
    - gf_filter_pck_get_duration
    - gf_bs_new
    - gf_bs_seek
    - assert_true
    - gf_bs_read_u64
    - assert_equal_mem
    - assert_equal
    - assert_less_equal
    - gf_filter_pck_get_data
    - gf_filter_pck_get_dts
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_segmentation_end(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pck
    - size
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: pck_truncate
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_truncate(GF_FilterPacket *pck, u32 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:60,1
    - Dst: assert_equal_str
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:68,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:69,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:67,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:64,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:70,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: pck_send_default
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - assert_equal_str
    - assert_true
    - gf_free
    - assert_equal
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_default(GF_FilterPacket *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:89,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:94,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:97,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:99,1
    - Dst: assert_equal_str
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:98,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: pck_send_aggregation
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - assert_equal_str
    - assert_true
    - gf_free
    - assert_equal
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_aggregation(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccdec_test_template
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: (ccdec_aggregation_overlaps)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - ccdec_test_template
    linkageType: ''
    returnType: unittest
    signature: 'unittest (ccdec_aggregation_overlaps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:35,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:38,1
    - Dst: strncpy
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:42,1
    - Dst: text_aggregate_and_post
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:39,1
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:41,1
    - Dst: text_aggregate_and_post
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:43,1
    - Dst: ccdec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:48,1
    - Dst: pck_send
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - agg
    - text_with_overlaps
    - (*pck_send)
    argTypes:
    - int
    - Bool
    - GF_Err
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: ccdec_test_template
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - strlen
    - text_aggregate_and_post
    - strncpy
    - pck_send
    - assert_equal
    - ccdec_flush
    linkageType: ''
    returnType: void
    signature: 'static void ccdec_test_template(int agg, Bool text_with_overlaps,
      GF_Err (*pck_send)(GF_FilterPacket *pck)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:14,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:15,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pid
    - data_size
    - data
    argTypes:
    - GF_FilterPid*
    - u32
    - u8**
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: pck_new_alloc
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket * pck_new_alloc(GF_FilterPid *pid, u32 data_size,
      u8 **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccdec_test_template
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: (ccdec_default)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - ccdec_test_template
    linkageType: ''
    returnType: unittest
    signature: 'unittest (ccdec_default) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccdec_test_template
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: (ccdec_aggregation)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - ccdec_test_template
    linkageType: ''
    returnType: unittest
    signature: 'unittest (ccdec_aggregation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_equal
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:123,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:132,1
    - Dst: gf_filter_pck_get_data
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:130,1
    - Dst: assert_true
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:127,1
    - Dst: assert_equal_str
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:131,1
    - Dst: gf_free
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: pck_send_several_entries
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - assert_equal_str
    - assert_true
    - gf_free
    - assert_equal
    - gf_filter_pck_get_data
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err pck_send_several_entries(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:148,1
    - Dst: strcpy
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:151,1
    - Dst: text_aggregate_and_post
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:149,1
    - Dst: strlen
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:149,1
    - Dst: text_aggregate_and_post
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:152,1
    - Dst: strlen
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:152,1
    - Dst: ccdec_flush
      Src: /src/gpac/src/filters/unittests/ut_dec_cc.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: (ccdec_several_entries)
    functionSourceFile: /src/gpac/src/filters/unittests/ut_dec_cc.c
    functionUses: []
    functionsReached:
    - strlen
    - text_aggregate_and_post
    - ccdec_flush
    - strcpy
    linkageType: ''
    returnType: unittest
    signature: 'unittest (ccdec_several_entries) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsff_get_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:787,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:796,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:792,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:797,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:789,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session_js.c:798,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:799,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 803
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 803
    functionName: jsfs_f_prop_set
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_strdup
    - jsff_get_filter
    - JS_GetOpaque
    - gf_free
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_f_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1663,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1690,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1651,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filter_core/filter_session_js.c:1657,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1653,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1654,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:1667,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1679,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1682,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1684,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1680,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1681,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1683,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1685,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1687,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1689,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1691,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1692,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1693,1
    - Dst: SET_U64
      Src: /src/gpac/src/filter_core/filter_session_js.c:1695,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1694,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:1658,1
    - Dst: gf_filter_pid_get_statistics
      Src: /src/gpac/src/filter_core/filter_session_js.c:1666,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1670,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1698,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1696,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1686,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1648,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1660,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:1668,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1688,1
    - Dst: SET_U32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1697,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_input
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 1700
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1700
    functionName: jsff_get_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_NewObject
    - JS_IsException
    - JS_GetOpaque
    - SET_U32
    - gf_filter_pid_get_statistics
    - gf_filter_get_ipid
    - SET_U64
    - gf_filter_get_opid
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_get_stats(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, Bool is_input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: jsff_is_destroyed
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_is_destroyed(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsff_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: jsff_ipid_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsff_get_stats
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_ipid_stats(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1946,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1949,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1951,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1947,1
    - Dst: gf_fs_new_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1955,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1956,1
    - Dst: js_throw_err
      Src: /src/gpac/src/filter_core/filter_session_js.c:1957,1
    - Dst: jsfilter_initialize_custom
      Src: /src/gpac/src/filter_core/filter_session_js.c:1959,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:1960,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filter_core/filter_session_js.c:1960,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1962,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/filter_core/filter_session_js.c:1962,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1964
    functionName: jsfs_new_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_ToCString
    - JS_FreeCString
    - JS_IsNull
    - JS_IsException
    - gf_fs_new_filter
    - js_throw_err
    - jsfilter_initialize_custom
    - JS_GetOpaque
    - JS_NewCFunction
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_new_filter(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_exec_task_custom
      Src: /src/gpac/src/filter_core/filter_session_js.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - new_filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: jsfs_on_filter_created
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_exec_task_custom
    linkageType: ''
    returnType: void
    signature: 'void jsfs_on_filter_created(GF_Filter *new_filter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNull
      Src: /src/gpac/src/filter_core/filter_session_js.c:533,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filter_core/filter_session_js.c:535,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:549,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:558,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:560,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:587,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:591,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:598,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:556,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:563,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session_js.c:590,1
    - Dst: gf_sys_profiler_set_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:566,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:530,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:536,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:547,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:557,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session_js.c:592,1
    - Dst: gf_sys_profiler_set_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:602,1
    - Dst: gf_sys_is_cov_mode
      Src: /src/gpac/src/filter_core/filter_session_js.c:604,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:531,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:586,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session_js.c:562,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:559,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:580,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:599,1
    - Dst: jsfs_rmt_user_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:605,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - cbk_type
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - u32
    constantsTouched: []
    func_position:
      end: 618
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 618
    functionName: jsfs_set_fun_callback
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_FreeValue
    - gf_list_get
    - gf_sys_is_cov_mode
    - JS_IsNull
    - JS_IsFunction
    - gf_list_count
    - jsfs_rmt_user_callback
    - JS_IsUndefined
    - JS_GetOpaque
    - JS_DupValue
    - GF_SAFEALLOC
    - gf_free
    - gf_list_del_item
    - GF_JS_EXCEPTION
    - gf_sys_profiler_set_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_fun_callback(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, u32 cbk_type) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1361,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1367,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1369,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1375,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1387,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1398,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session_js.c:1399,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1401,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1408,1
    - Dst: gf_filter_set_source_restricted
      Src: /src/gpac/src/filter_core/filter_session_js.c:1412,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/src/filter_core/filter_session_js.c:1421,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1363,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1378,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1395,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1380,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/filter_core/filter_session_js.c:1396,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1386,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1407,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filter_core/filter_session_js.c:1414,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1423,1
    - Dst: jsf_custom_filter_opaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1366,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:1365,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1370,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:1379,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1391,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1384,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1406,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1424,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:1426,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1416,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1377,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1377,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1405,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:1405,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1427
    functionName: jsff_insert_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_filter_reconnect_output
    - gf_fs_load_source
    - strncmp
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - gf_error_to_string
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_filter_set_source_restricted
    - JS_IsObject
    - gf_filter_set_source
    - JS_FreeCString
    - gf_fs_load_destination
    - jsf_custom_filter_opaque
    - gf_fs_lock_filters
    - JS_IsString
    - gf_filter_get_opid
    - jsfs_new_filter_obj
    - gf_fs_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_insert_filter(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1433,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:1441,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1439,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1435,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1439,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1442,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/src/filter_core/filter_session_js.c:1446,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1448,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:1448,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1450
    functionName: jsff_reconnect_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_filter_reconnect_output
    - gf_error_to_string
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_filter_get_opid
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_reconnect_filter(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:361,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:370,1
    - Dst: gf_js_get_rt
      Src: /src/gpac/src/filter_core/filter_session_js.c:368,1
    - Dst: jsfs_exec_task_custom
      Src: /src/gpac/src/filter_core/filter_session_js.c:365,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:362,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:371,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/filter_core/filter_session_js.c:372,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - del_filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: jsfs_on_filter_destroyed
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_js_lock
    - gf_js_get_rt
    - JS_IsUndefined
    - jsfs_exec_task_custom
    - JS_GetOpaque
    - JS_SetOpaque
    - JS_FreeValueRT
    linkageType: ''
    returnType: void
    signature: 'void jsfs_on_filter_destroyed(GF_Filter *del_filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:452,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:458,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:457,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:454,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:460,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:469,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 472
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 472
    functionName: js_auth_done
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_ToBool
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_auth_done(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_set_fun_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: jsfs_set_rmt_fun
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_set_fun_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_rmt_fun(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:1766,1
    - Dst: countof
      Src: /src/gpac/src/filter_core/filter_session_js.c:1768,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1769,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filter_core/filter_session_js.c:1768,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:1767,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - JSContext*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1772
    functionName: jsfs_new_filter_obj
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyFunctionList
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - countof
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_new_filter_obj(JSContext *ctx, GF_Filter *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:51,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:57,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:53,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:55,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:56,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:58,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:59,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:60,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:63,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:64,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:66,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:67,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:68,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: jsfs_mark
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - JS_MarkValue
    - gf_list_count
    - JS_IsUndefined
    - gf_fs_lock_filters
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'static void jsfs_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsff_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:1709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1710
    functionName: jsff_opid_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsff_get_stats
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_opid_stats(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:688,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:682,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:692,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:698,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:702,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:700,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:735,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:743,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:748,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:756,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:761,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:740,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:736,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:762,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:775,1
    - Dst: gf_filter_get_id
      Src: /src/gpac/src/filter_core/filter_session_js.c:694,1
    - Dst: gf_filter_get_ipid_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:698,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:706,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:710,1
    - Dst: gf_filter_get_opid_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:700,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:704,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:715,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:717,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:721,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:725,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:770,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:762,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:731,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:759,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:767,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:686,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:690,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:742,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:746,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:754,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:763,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:763,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:769,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:778,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:738,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:733,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:750,1
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:754,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:771,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:680,1
    - Dst: gf_filter_get_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:686,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:696,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:713,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:708,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:719,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:723,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:727,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:737,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:739,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:741,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:770,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:771,1
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:752,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:748,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 74
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 781
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 781
    functionName: jsfs_f_prop_get
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_filter_get_stats
    - JS_NewObject
    - gf_filter_get_name
    - gf_stream_type_name
    - JS_NewString
    - JS_NewInt32
    - gf_filter_get_ipid_count
    - JS_NewInt64
    - JS_GetOpaque
    - gf_codecid_name
    - gf_filter_get_opid_count
    - gf_filter_get_id
    - GF_JS_EXCEPTION
    - JS_SetPropertyStr
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_f_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_set_fun_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: jsfs_set_new_filter_fun
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_set_fun_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_new_filter_fun(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_set_fun_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: jsfs_set_event_fun
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_set_fun_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_event_fun(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1456,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1458,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1460,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1460,1
    - Dst: gf_filter_get_possible_destinations
      Src: /src/gpac/src/filter_core/filter_session_js.c:1464,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1467,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:1467,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1469,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:1470,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1472
    functionName: jsff_get_destinations
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_error_to_string
    - JS_NewString
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_free
    - gf_filter_get_possible_destinations
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_get_destinations(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsf_custom_filter_opaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1504,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1509,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1508,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1506,1
    - Dst: gf_filter_set_setup_failure_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:1511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1513
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1513
    functionName: jsff_watch_setup_failure
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_filter_set_setup_failure_callback
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - jsf_custom_filter_opaque
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_watch_setup_failure(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEF_CONST
      Src: /src/gpac/src/filter_core/filter_session_js.c:2115,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session_js.c:2118,1
    - Dst: if
      Src: /src/gpac/src/filter_core/filter_session_js.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - GF_FS_FLUSH_ALL
    argTypes:
    - GF_FS_FLUSH_ALL
    constantsTouched: []
    func_position:
      end: 2120
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2120
    functionName: DEF_CONST
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - DEF_CONST
    - gf_list_new
    - if
    linkageType: ''
    returnType: DEF_CONST(GF_FS_FLUSH_NONE)
    signature: "DEF_CONST(GF_FS_FLUSH_NONE) DEF_CONST(GF_FS_FLUSH_ALL)\tDEF_CONST(GF_FS_FLUSH_FAST)\tif
      (!fs->jstasks) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_set_fun_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: jsfs_set_del_filter_fun
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_set_fun_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_del_filter_fun(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_set_fun_callback
      Src: /src/gpac/src/filter_core/filter_session_js.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: jsfs_set_auth_fun
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_set_fun_callback
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_set_auth_fun(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - filter
    - js_file
    - filters_blacklist
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2331
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2331
    functionName: gf_filter_load_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_load_script(GF_Filter *filter, const char *js_file,
      const char *filters_blacklist) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:163,1
    - Dst: gf_fs_get_filters_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:169,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:165,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:169,1
    - Dst: gf_fs_is_last_task
      Src: /src/gpac/src/filter_core/filter_session_js.c:171,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:178,1
    - Dst: gf_dm_get_data_rate
      Src: /src/gpac/src/filter_core/filter_session_js.c:178,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:185,1
    - Dst: gf_dm_get_global_rate
      Src: /src/gpac/src/filter_core/filter_session_js.c:185,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:189,1
    - Dst: gf_fs_get_last_process_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:191,1
    - Dst: gf_fs_get_last_connect_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:193,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:193,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/filter_core/filter_session_js.c:195,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:191,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:195,1
    - Dst: gf_sys_profiler_sampling_enabled
      Src: /src/gpac/src/filter_core/filter_session_js.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 198
    functionName: jsfs_prop_get
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_NewString
    - gf_fs_get_last_process_error
    - gf_fs_is_last_task
    - JS_GetOpaque
    - gf_fs_get_filters_count
    - gf_fs_get_last_connect_error
    - gf_dm_get_data_rate
    - gf_dm_get_global_rate
    - gf_sys_profiler_sampling_enabled
    - GF_JS_EXCEPTION
    - jsf_get_script_filename
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_prop_get(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:298,1
    - Dst: gf_fs_abort
      Src: /src/gpac/src/filter_core/filter_session_js.c:303,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:299,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: jsfs_abort
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_fs_abort
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_abort(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1049,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1053,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1051,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filter_core/filter_session_js.c:1056,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1053,1
    - Dst: get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: jsff_all_args
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_NewArray
    - JS_ToBool
    - get_filter_args
    - JS_GetOpaque
    - JS_IsBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_all_args(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1609,1
    - Dst: gf_filter_require_source_id
      Src: /src/gpac/src/filter_core/filter_session_js.c:1611,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1613
    functionName: jsff_require_source_id
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_require_source_id
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_require_source_id(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:202,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:211,1
    - Dst: gf_dm_set_data_rate
      Src: /src/gpac/src/filter_core/filter_session_js.c:212,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:204,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:211,1
    - Dst: gf_sys_profiler_enable_sampling
      Src: /src/gpac/src/filter_core/filter_session_js.c:217,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - value
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: jsfs_prop_set
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - JS_GetOpaque
    - gf_sys_profiler_enable_sampling
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_dm_set_data_rate
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_prop_set(JSContext *ctx, JSValueConst this_val,
      JSValueConst value, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:309,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:311,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:310,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:311,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:312,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: jsfs_lock_filters
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_fs_lock_filters
    - JS_GetOpaque
    - JS_IsBool
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_lock_filters(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:1063,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1066,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:1065,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - fs
    - name
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: find_reg
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_FilterRegister*
    signature: 'static const GF_FilterRegister *find_reg(GF_FilterSession *fs, char
      *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsf_custom_filter_context
      Src: /src/gpac/src/filter_core/filter_session_js.c:1480,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:1482,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1487,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:1484,1
    - Dst: jsf_custom_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:1485,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:1489,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1490,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:1491,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:1492,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:1492,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1496,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1495,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1494,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:1497,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:1498,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - src_f
    - on_setup_error_udta
    - e
    argTypes:
    - GF_Filter*
    - void*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 1500
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1500
    functionName: jsff_on_setup_error
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - jsf_custom_filter_context
    - JS_NewInt32
    - js_dump_error
    - JS_IsUndefined
    - jsf_custom_filter_obj
    - js_std_loop
    - JS_Call
    - JS_GetPropertyStr
    - jsfs_new_filter_obj
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsff_on_setup_error(GF_Filter *src_f, void *on_setup_error_udta,
      GF_Err e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1616,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1618,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:1619,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1620,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/filter_core/filter_session_js.c:1619,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1622,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1624,1
    - Dst: dashdmx_bind_js
      Src: /src/gpac/src/filter_core/filter_session_js.c:1627,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1629,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1632,1
    - Dst: httpout_bind_js
      Src: /src/gpac/src/filter_core/filter_session_js.c:1635,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1637,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1641,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1642
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1642
    functionName: jsff_bind
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - httpout_bind_js
    - strcmp
    - js_throw_err_msg
    - JS_GetOpaque
    - dashdmx_bind_js
    - JS_IsObject
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_bind(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:77,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: jsfs_finalizer
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_fs_del
    linkageType: ''
    returnType: void
    signature: 'static void jsfs_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session_js.c:389,1
    - Dst: js_init_evt_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:401,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:402,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:390,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session_js.c:392,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:403,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:404,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:406,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:407,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:411,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:413,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:416,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:417,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:423,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:424,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - fs
    - evt
    argTypes:
    - GF_FilterSession*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 426
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 426
    functionName: jsfs_on_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - memset
    - gf_js_lock
    - JS_IsException
    - js_init_evt_obj
    - js_dump_error
    - JS_IsUndefined
    - JS_SetOpaque
    - js_std_loop
    - JS_Call
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'Bool jsfs_on_event(GF_FilterSession *fs, GF_Event *evt) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:822,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:856,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:857,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:859,1
    - Dst: gf_filter_pid_is_eos
      Src: /src/gpac/src/filter_core/filter_session_js.c:861,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filter_core/filter_session_js.c:867,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:898,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filter_core/filter_session_js.c:871,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:894,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:886,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:828,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filter_core/filter_session_js.c:830,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:833,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:834,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:841,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:849,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:851,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:838,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:885,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:885,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:897,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:899,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:892,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:824,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:848,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filter_core/filter_session_js.c:849,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:847,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/filter_core/filter_session_js.c:853,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:855,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:860,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:869,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:873,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:886,1
    - Dst: jsf_NewPropTranslate
      Src: /src/gpac/src/filter_core/filter_session_js.c:888,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:893,1
    - Dst: gf_filter_pid_enum_properties
      Src: /src/gpac/src/filter_core/filter_session_js.c:881,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:826,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:827,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:831,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:837,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:852,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filter_core/filter_session_js.c:840,1
    - Dst: gf_filter_pid_query_buffer_duration
      Src: /src/gpac/src/filter_core/filter_session_js.c:853,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:861,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter_session_js.c:863,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session_js.c:865,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:896,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:890,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_output
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - Bool
    constantsTouched: []
    func_position:
      end: 902
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 902
    functionName: jsff_enum_pid_props
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_is_eos
    - JS_IsException
    - jsf_NewPropTranslate
    - gf_filter_pid_enum_properties
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_NewBool
    - JS_ToCString
    - gf_props_get_id
    - strcmp
    - JS_NewInt64
    - js_dump_error
    - JS_GetOpaque
    - gf_filter_pid_get_property_str
    - JS_Call
    - JS_FreeCString
    - JS_IsFunction
    - JS_NewString
    - jsf_NewProp
    - gf_props_get_type_name
    - JS_IsString
    - gf_filter_get_opid
    - gf_filter_get_ipid
    - JS_FreeValue
    - gf_filter_pid_get_property
    - gf_filter_pid_query_buffer_duration
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_enum_pid_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, Bool is_output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1232,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1233,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/filter_core/filter_session_js.c:1234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1236
    functionName: jsfs_print_connections
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_fs_print_connections
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_print_connections(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsff_enum_pid_props
      Src: /src/gpac/src/filter_core/filter_session_js.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: jsff_enum_ipid_props
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsff_enum_pid_props
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_enum_ipid_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1240,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1241,1
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/filter_core/filter_session_js.c:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    functionName: jsfs_print_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_fs_print_stats
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_print_stats(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:936,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:940,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:939,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:938,1
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:942,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filter_core/filter_session_js.c:945,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:946,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:946,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:949,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filter_core/filter_session_js.c:950,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:950,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 953
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 953
    functionName: jsff_get_pid_sinks
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyStr
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_list_get
    - JS_NewInt32
    - JS_GetOpaque
    - gf_filter_get_opid
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - jsfs_new_filter_obj
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_get_pid_sinks(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1343,1
    - Dst: gf_filter_remove
      Src: /src/gpac/src/filter_core/filter_session_js.c:1347,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1349
    functionName: jsff_remove
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - gf_filter_remove
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_remove(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1813,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1815,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1819,1
    - Dst: routein_is_valid_url
      Src: /src/gpac/src/filter_core/filter_session_js.c:1821,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1818,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1827
    functionName: jsff_source_probe_url
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - routein_is_valid_url
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_source_probe_url(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:322,1
    - Dst: gf_sys_enable_remotery
      Src: /src/gpac/src/filter_core/filter_session_js.c:324,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: jsfs_enable_rmt
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_sys_enable_remotery
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_enable_rmt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:968,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1003,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1003,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1031,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1031,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1033,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1033,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1027,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1032,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1035,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1035,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1038,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:975,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:975,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:988,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:988,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:996,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:992,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:996,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1007,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1007,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1016,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_session_js.c:1020,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1027,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1032,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1041,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1038,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:974,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:976,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:976,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:980,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:981,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session_js.c:986,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:991,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:999,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1009,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1016,1
    - Dst: gf_filter_parse_prop_solve_env_var
      Src: /src/gpac/src/filter_core/filter_session_js.c:1018,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1029,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_session_js.c:976,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session_js.c:984,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session_js.c:985,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:989,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:998,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_session_js.c:1006,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1015,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1019,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1022,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1029,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1019,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 6
    argNames:
    - ctx
    - fs
    - freg
    - f_inst
    - val_only
    - array
    argTypes:
    - JSContext*
    - GF_FilterSession*
    - GF_FilterRegister*
    - GF_Filter*
    - Bool
    - JSValue
    constantsTouched: []
    func_position:
      end: 1044
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1044
    functionName: get_filter_args
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - gf_filter_parse_prop_solve_env_var
    - JS_SetPropertyUint32
    - JS_NewObject
    - gf_props_parse_value
    - gf_filter_get_arg
    - gf_strdup
    - JS_NewString
    - strcmp
    - JS_NewBool
    - jsf_NewProp
    - gf_props_get_type_name
    - strchr
    - gf_free
    - strstr
    - JS_SetPropertyStr
    - gf_props_reset_single
    linkageType: ''
    returnType: void
    signature: 'static void get_filter_args(JSContext *ctx, GF_FilterSession *fs,
      const GF_FilterRegister *freg, GF_Filter *f_inst, Bool val_only, JSValue array) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1838,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1847,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1849,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1858,1
    - Dst: jsf_get_script_filename
      Src: /src/gpac/src/filter_core/filter_session_js.c:1860,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1867,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/filter_core/filter_session_js.c:1862,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1877,1
    - Dst: gf_filter_set_source_restricted
      Src: /src/gpac/src/filter_core/filter_session_js.c:1880,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1871,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:1871,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session_js.c:1865,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1873,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1872,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1874,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1885,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1886,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1892,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/filter_core/filter_session_js.c:1892,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1845,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1841,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1861,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1891,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1836,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1840,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1854,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1864,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filter_core/filter_session_js.c:1882,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:1888,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1896
    functionName: jsfs_add_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source
    - strncmp
    - GF_JS_EXCEPTION
    - JS_ToCString
    - gf_error_to_string
    - strcmp
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_filter_set_source_restricted
    - JS_NewCFunction
    - jsf_get_script_filename
    - gf_filter_set_source
    - JS_FreeCString
    - gf_fs_load_destination
    - gf_fs_lock_filters
    - JS_SetPropertyStr
    - jsfs_new_filter_obj
    - JS_ToBool
    - gf_fs_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_add_filter(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - this_val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: jsff_get_session
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_FilterSession*
    signature: 'GF_FilterSession *jsff_get_session(JSContext *c, JSValue this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:437,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: jsf_auth_finalizer
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void jsf_auth_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1291,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1314,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1307,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1315,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1284,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1289,1
    - Dst: jsf_ToProp_ex
      Src: /src/gpac/src/filter_core/filter_session_js.c:1312,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/src/filter_core/filter_session_js.c:1319,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1323,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1288,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1296,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1297,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter_session_js.c:1318,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1300,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_session_js.c:1320,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1286,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1293,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1294,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/src/filter_core/filter_session_js.c:1299,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1309,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1301,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1308,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1325
    functionName: jsff_update
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_props_dump_val
    - gf_filter_get_arg
    - gf_fs_send_update
    - jsf_ToProp_ex
    - js_throw_err_msg
    - JS_GetOpaque
    - JS_IsString
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - gf_props_reset_single
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_update(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session_js.c:2031,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:2038,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:2037,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:2032,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:2036,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2039,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session_js.c:2043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - c
    - fs
    argTypes:
    - JSContext*
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2044
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2044
    functionName: gf_fs_unload_js_api
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_unload_js_api(JSContext *c, GF_FilterSession *fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1329,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1331,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:1336,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1333,1
    - Dst: gf_filter_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:1334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1339
    functionName: jsff_lock
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_filter_lock
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_lock(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:2060,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2064,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:2065,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:2075,1
    - Dst: gf_fs_new
      Src: /src/gpac/src/filter_core/filter_session_js.c:2079,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2074,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:2080,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:2082,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:2061,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:2054,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:2066,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2067,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:2091,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2069,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:2070,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:2076,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:2088,1
    - Dst: gf_fs_new_defaults
      Src: /src/gpac/src/filter_core/filter_session_js.c:2053,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2059,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2062,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:2071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2077,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2072,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2086,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:2087,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2093
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2093
    functionName: session_constructor
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToCString
    - JS_FreeCString
    - JS_IsException
    - gf_fs_del
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_NewObjectClass
    - gf_fs_new_defaults
    - JS_IsString
    - gf_fs_new
    - JS_IsObject
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue session_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1210,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1213,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1216,1
    - Dst: gf_fs_run
      Src: /src/gpac/src/filter_core/filter_session_js.c:1215,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: jsfs_run_sess
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_NewInt32
    - GF_JS_EXCEPTION
    - gf_fs_run
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_run_sess(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filter_core/filter_session_js.c:2124,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filter_core/filter_session_js.c:2127,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2128,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2132,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filter_core/filter_session_js.c:2133,1
    - Dst: countof
      Src: /src/gpac/src/filter_core/filter_session_js.c:2133,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filter_core/filter_session_js.c:2134,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/filter_core/filter_session_js.c:2146,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session_js.c:2101,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:2106,1
    - Dst: js_load_constants
      Src: /src/gpac/src/filter_core/filter_session_js.c:2108,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/filter_core/filter_session_js.c:2105,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session_js.c:2118,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2140,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filter_core/filter_session_js.c:2144,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/filter_core/filter_session_js.c:2145,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2147,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2151,1
    - Dst: DEF_CONST
      Src: /src/gpac/src/filter_core/filter_session_js.c:2115,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2125,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/filter_core/filter_session_js.c:2130,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2131,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/filter_core/filter_session_js.c:2138,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2137,1
    - Dst: countof
      Src: /src/gpac/src/filter_core/filter_session_js.c:2138,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:2139,1
    - Dst: if
      Src: /src/gpac/src/filter_core/filter_session_js.c:2117,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:2143,1
    - Dst: countof
      Src: /src/gpac/src/filter_core/filter_session_js.c:2144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - c
    - fs
    argTypes:
    - JSContext*
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2153
    functionName: gf_fs_load_js_api
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewClassID
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - DEF_CONST
    - js_load_constants
    - JS_NewCFunction2
    - gf_list_new
    - GF_LOG
    - JS_SetOpaque
    - JS_NewObjectClass
    - if
    - countof
    - JS_NewClass
    - JS_GetGlobalObject
    - JS_GetRuntime
    - JS_SetPropertyStr
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_fs_load_js_api(JSContext *c, GF_FilterSession *fs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1251,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1256,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1255,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1263,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1253,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1267,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1268,1
    - Dst: jsf_NewProp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1269,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1275
    functionName: jsff_get_arg
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_filter_get_arg
    - strcmp
    - jsf_NewProp
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_get_arg(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - fs
    - jsfile
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 2323
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2323
    functionName: gf_fs_load_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_load_script(GF_FilterSession *fs, const char
      *jsfile) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_create_context
      Src: /src/gpac/src/filter_core/filter_session_js.c:2171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session_js.c:2173,1
    - Dst: JS_SetContextOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:2176,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filter_core/filter_session_js.c:2182,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2184,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:2203,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session_js.c:2208,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2214,1
    - Dst: JS_Eval
      Src: /src/gpac/src/filter_core/filter_session_js.c:2217,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:2178,1
    - Dst: gf_fs_load_js_api
      Src: /src/gpac/src/filter_core/filter_session_js.c:2179,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session_js.c:2203,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filter_core/filter_session_js.c:2194,1
    - Dst: JS_DetectModule
      Src: /src/gpac/src/filter_core/filter_session_js.c:2208,1
    - Dst: qjs_init_all_modules
      Src: /src/gpac/src/filter_core/filter_session_js.c:2209,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:2218,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2223,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2183,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:2183,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session_js.c:2193,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filter_core/filter_session_js.c:2199,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/filter_core/filter_session_js.c:2192,1
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:2213,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:2214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session_js.c:2221,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2226,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:2227,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2182,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:2182,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:2190,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2215,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:2220,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:2222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - fs
    - jsfile
    - in_ctx
    - for_filter
    argTypes:
    - GF_FilterSession*
    - char*
    - JSContext*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2233
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2233
    functionName: gf_fs_load_script_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_file_load_data
    - strncmp
    - JS_IsException
    - GF_LOG
    - gf_fs_load_js_api
    - gf_error_to_string
    - JS_Eval
    - js_dump_error
    - gf_file_basename
    - JS_SetContextOpaque
    - JS_DetectModule
    - JS_NewString
    - qjs_init_all_modules
    - gf_free
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - jsfs_new_filter_obj
    - JS_FreeValue
    - strcat
    - js_std_loop
    - gf_js_create_context
    - gf_opts_get_bool
    - gf_opts_default_shared_directory
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_fs_load_script_ex(GF_FilterSession *fs, const char
      *jsfile, JSContext *in_ctx, GF_Filter *for_filter) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1077,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1088,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session_js.c:1102,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session_js.c:1103,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1125,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session_js.c:1116,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1118,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1146,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1121,1
    - Dst: gf_fs_reg_all
      Src: /src/gpac/src/filter_core/filter_session_js.c:1107,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/filter_core/filter_session_js.c:1126,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1130,1
    - Dst: find_reg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1150,1
    - Dst: get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1152,1
    - Dst: gf_filter_meta_get_instances
      Src: /src/gpac/src/filter_core/filter_session_js.c:1143,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1086,1
    - Dst: get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1096,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session_js.c:1128,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1135,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1148,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session_js.c:1162,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:1166,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1169,1
    - Dst: find_reg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1080,1
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter_session_js.c:1087,1
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter_session_js.c:1089,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1117,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session_js.c:1123,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1112,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1119,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1127,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:1132,1
    - Dst: get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1142,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 6
    argNames:
    - ctx
    - fs
    - meta_fs
    - regname
    - finst
    - args
    argTypes:
    - JSContext*
    - GF_FilterSession*
    - GF_FilterSession**
    - char*
    - GF_Filter*
    - JSValue
    constantsTouched: []
    func_position:
      end: 1171
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1171
    functionName: jsfs_get_filter_args
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source
    - strncmp
    - GF_SAFEALLOC
    - gf_fs_load_source_dest_internal
    - strstr
    - get_filter_args
    - gf_strdup
    - gf_list_new
    - gf_list_del_item
    - gf_dynstrcat
    - gf_fs_load_destination
    - find_reg
    - sprintf
    - gf_fs_lock_filters
    - gf_filter_del
    - strchr
    - gf_free
    - gf_filter_meta_get_instances
    - gf_fs_load_filter
    - gf_fs_reg_all
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsfs_get_filter_args(JSContext *ctx, GF_FilterSession
      *fs, GF_FilterSession **meta_fs, char *regname, GF_Filter *finst, JSValue args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1222,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1223,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1225,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1228,1
    - Dst: gf_fs_stop
      Src: /src/gpac/src/filter_core/filter_session_js.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1229
    functionName: jsfs_stop_sess
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_fs_stop
    - JS_GetOpaque
    - JS_NewInt32
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_stop_sess(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - fs
    - js_ctx
    argTypes:
    - GF_FilterSession*
    - void*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    functionName: gf_fs_unload_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_unload_script(GF_FilterSession *fs, void *js_ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter_session_js.c:1534,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1536,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1538,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1556,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session_js.c:1557,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1559,1
    - Dst: js_throw_err_msg
      Src: /src/gpac/src/filter_core/filter_session_js.c:1564,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session_js.c:1564,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:1580,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1581,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:1602,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1532,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1530,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1532,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1546,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session_js.c:1545,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1540,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1539,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1551,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session_js.c:1553,1
    - Dst: gf_filter_pid_compute_link
      Src: /src/gpac/src/filter_core/filter_session_js.c:1570,1
    - Dst: jsfs_get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1587,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filter_core/filter_session_js.c:1583,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session_js.c:1538,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1542,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1547,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:1561,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:1576,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1582,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1582,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1584,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1603,1
    - Dst: del_meta_fs
      Src: /src/gpac/src/filter_core/filter_session_js.c:1594,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session_js.c:1598,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1528,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1533,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1535,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1537,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:1548,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session_js.c:1549,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1555,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1565,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filter_core/filter_session_js.c:1572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:1573,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1589,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:1592,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1589,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1605
    functionName: jsff_compute_link
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewObject
    - strncmp
    - strstr
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - JS_ToCString
    - JS_SetPropertyUint32
    - JS_NewArray
    - gf_list_del
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - js_throw_err_msg
    - JS_GetOpaque
    - gf_list_del_item
    - jsfs_get_filter_args
    - gf_dynstrcat
    - JS_FreeCString
    - gf_list_get
    - gf_fs_load_destination
    - JS_NewString
    - sprintf
    - gf_fs_lock_filters
    - gf_filter_del
    - gf_free
    - gf_filter_get_opid
    - JS_SetPropertyStr
    - JS_ToBool
    - del_meta_fs
    - gf_filter_pid_compute_link
    - gf_fs_load_filter
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_compute_link(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_script_ex
      Src: /src/gpac/src/filter_core/filter_session_js.c:2238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fs
    - jsfile
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2239
    functionName: gf_fs_load_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_fs_load_script_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_load_script(GF_FilterSession *fs, const char
      *jsfile) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:229,1
    - Dst: JS_IsBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:236,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:230,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:233,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:234,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:237,1
    - Dst: JS_IsInteger
      Src: /src/gpac/src/filter_core/filter_session_js.c:240,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:241,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:248,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:249,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:250,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:254,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:253,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:256,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session_js.c:255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - fs
    - udta
    - timeout_ms
    argTypes:
    - GF_FilterSession*
    - void*
    - u32*
    constantsTouched: []
    func_position:
      end: 260
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 260
    functionName: jsfs_task_exec
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - gf_js_lock
    - JS_IsException
    - js_dump_error
    - js_std_loop
    - JS_IsBool
    - JS_Call
    - gf_free
    - gf_list_del_item
    - JS_ToInt32
    - JS_IsInteger
    linkageType: ''
    returnType: Bool
    signature: 'static Bool jsfs_task_exec(GF_FilterSession *fs, void *udta, u32 *timeout_ms) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:267,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:268,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/filter_core/filter_session_js.c:269,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session_js.c:271,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:269,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:272,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:276,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:277,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:279,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:281,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:284,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session_js.c:286,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:285,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:290,1
    - Dst: gf_fs_post_user_task_delay
      Src: /src/gpac/src/filter_core/filter_session_js.c:288,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 293
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 293
    functionName: jsfs_post_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - JS_ToCString
    - JS_FreeCString
    - JS_IsFunction
    - JS_GetOpaque
    - JS_DupValue
    - JS_IsString
    - GF_SAFEALLOC
    - gf_fs_post_user_task_delay
    - GF_JS_EXCEPTION
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_post_task(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:2274,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:2243,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2250,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:2253,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2259,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/filter_core/filter_session_js.c:2260,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2262,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_session_js.c:2267,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2279,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2273,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:2277,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2257,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2245,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2258,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2278,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2280,1
    - Dst: gf_js_delete_context
      Src: /src/gpac/src/filter_core/filter_session_js.c:2284,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:2287,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:2288,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:2261,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2264,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2275,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:2266,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:2281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - fs
    - js_ctx
    argTypes:
    - GF_FilterSession*
    - void*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2291
    functionName: gf_fs_unload_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_list_get
    - gf_js_lock
    - gf_list_del
    - gf_list_count
    - JS_IsUndefined
    - JS_SetOpaque
    - gf_js_delete_context
    - gf_list_rem
    - gf_free
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    - JS_GetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_unload_script(GF_FilterSession *fs, void *js_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session_js.c:2297,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session_js.c:2302,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:2304,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:2299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:2301,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session_js.c:2306,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session_js.c:2310,1
    - Dst: gf_fs_load_script_ex
      Src: /src/gpac/src/filter_core/filter_session_js.c:2314,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session_js.c:2315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - filter
    - js_file
    - filters_blacklist
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2316
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2316
    functionName: gf_filter_load_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_get_arg
    - gf_list_count
    - gf_mx_p
    - strcmp
    - gf_fs_load_script_ex
    - gf_mx_v
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_load_script(GF_Filter *filter, const char *js_file,
      const char *filters_blacklist) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1778,1
    - Dst: JS_IsString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1781,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1782,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1779,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1785,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:1786,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:1788,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session_js.c:1789,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session_js.c:1792,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1794,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1801,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:1803,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:1796,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1797,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session_js.c:1799,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1804
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1804
    functionName: jsfs_get_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - gf_list_get
    - JS_FreeCString
    - gf_list_count
    - strcmp
    - gf_fs_lock_filters
    - JS_GetOpaque
    - JS_IsString
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - jsfs_new_filter_obj
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_get_filter(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session_js.c:1175,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session_js.c:1181,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session_js.c:1176,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session_js.c:1180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - metafs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1182
    functionName: del_meta_fs
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - gf_free
    - gf_list_count
    - gf_list_pop_back
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'static void del_meta_fs(GF_FilterSession *metafs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - this_val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: jsff_get_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *jsff_get_filter(JSContext *c, JSValue this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session_js.c:489,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:510,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:517,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:508,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:519,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:491,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:486,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:499,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:501,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:514,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:507,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:505,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/filter_core/filter_session_js.c:496,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:497,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:513,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:520,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session_js.c:484,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:500,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:502,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:511,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - fs
    - evt
    argTypes:
    - GF_FilterSession*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 522
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 522
    functionName: jsfs_on_auth
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - JS_NewString
    - js_dump_error
    - JS_SetOpaque
    - JS_NewObjectClass
    - js_std_loop
    - JS_Call
    - GF_SAFEALLOC
    - gf_assert
    - JS_NewBool
    linkageType: ''
    returnType: Bool
    signature: 'Bool jsfs_on_auth(GF_FilterSession *fs, GF_Event *evt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1187,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/filter_core/filter_session_js.c:1194,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1191,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1190,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1188,1
    - Dst: jsfs_get_filter_args
      Src: /src/gpac/src/filter_core/filter_session_js.c:1195,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:1196,1
    - Dst: del_meta_fs
      Src: /src/gpac/src/filter_core/filter_session_js.c:1198,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:1201,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1205
    functionName: jsfs_filter_args
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_NewArray
    - JS_FreeCString
    - del_meta_fs
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    - jsfs_get_filter_args
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_filter_args(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:331,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:332,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:334,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:333,1
    - Dst: gf_sys_profiler_log
      Src: /src/gpac/src/filter_core/filter_session_js.c:335,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: jsfs_rmt_log
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - gf_sys_profiler_log
    - JS_GetOpaque
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_rmt_log(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsff_enum_pid_props
      Src: /src/gpac/src/filter_core/filter_session_js.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: jsff_enum_opid_props
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsff_enum_pid_props
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_enum_opid_props(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1905,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1908,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1911,1
    - Dst: jsff_get_filter
      Src: /src/gpac/src/filter_core/filter_session_js.c:1914,1
    - Dst: jsf_get_event
      Src: /src/gpac/src/filter_core/filter_session_js.c:1910,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1915,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1916,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filter_core/filter_session_js.c:1919,1
    - Dst: gf_fs_fire_event
      Src: /src/gpac/src/filter_core/filter_session_js.c:1922,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1924,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1925
    functionName: jsfs_fire_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - gf_filter_send_event
    - jsff_get_filter
    - JS_GetOpaque
    - jsf_get_event
    - gf_fs_fire_event
    - GF_JS_EXCEPTION
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_fire_event(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:343,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:345,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:344,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:346,1
    - Dst: gf_sys_profiler_send
      Src: /src/gpac/src/filter_core/filter_session_js.c:347,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/filter_core/filter_session_js.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: jsfs_rmt_send
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_GetOpaque
    - gf_sys_profiler_send
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_rmt_send(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:918,1
    - Dst: gf_filter_get_ipid
      Src: /src/gpac/src/filter_core/filter_session_js.c:924,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:920,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:922,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/filter_core/filter_session_js.c:921,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 929
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 929
    functionName: jsff_get_pid_source
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - gf_filter_get_ipid
    - GF_JS_EXCEPTION
    - JS_ToInt32
    - jsfs_new_filter_obj
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsff_get_pid_source(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1930,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1932,1
    - Dst: gf_fs_enable_reporting
      Src: /src/gpac/src/filter_core/filter_session_js.c:1934,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/filter_core/filter_session_js.c:1933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1936
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1936
    functionName: jsfs_reporting
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ToBool
    - GF_JS_EXCEPTION
    - gf_fs_enable_reporting
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_reporting(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1970,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1974,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1971,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/filter_core/filter_session_js.c:1972,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1972,1
    - Dst: jsf_custom_filter_opaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1976,1
    - Dst: GF_JS_EXCEPTION
      Src: /src/gpac/src/filter_core/filter_session_js.c:1979,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1982,1
    - Dst: jsf_custom_filter_opaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:1984,1
    - Dst: gf_filter_remove_src
      Src: /src/gpac/src/filter_core/filter_session_js.c:1987,1
    - Dst: gf_filter_remove
      Src: /src/gpac/src/filter_core/filter_session_js.c:1989,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: jsfs_remove_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsf_custom_filter_opaque
    - JS_GetOpaque
    - gf_filter_remove
    - JS_IsObject
    - gf_filter_remove_src
    - GF_JS_EXCEPTION
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue jsfs_remove_filter(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:127,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session_js.c:133,1
    - Dst: jsfs_new_filter_obj
      Src: /src/gpac/src/filter_core/filter_session_js.c:131,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:134,1
    - Dst: JS_NewString
      Src: /src/gpac/src/filter_core/filter_session_js.c:129,1
    - Dst: JS_Call
      Src: /src/gpac/src/filter_core/filter_session_js.c:137,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:138,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/filter_core/filter_session_js.c:141,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:142,1
    - Dst: JS_IsException
      Src: /src/gpac/src/filter_core/filter_session_js.c:146,1
    - Dst: js_std_loop
      Src: /src/gpac/src/filter_core/filter_session_js.c:150,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/filter_core/filter_session_js.c:149,1
    - Dst: gf_js_lock
      Src: /src/gpac/src/filter_core/filter_session_js.c:151,1
    - Dst: js_dump_error
      Src: /src/gpac/src/filter_core/filter_session_js.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - task
    - text
    - new_filter
    - del_filter
    argTypes:
    - JSFS_Task*
    - char*
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: jsfs_exec_task_custom
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - gf_js_lock
    - JS_IsException
    - JS_NewString
    - js_dump_error
    - JS_SetOpaque
    - JS_DupValue
    - js_std_loop
    - JS_Call
    - gf_assert
    - jsfs_new_filter_obj
    linkageType: ''
    returnType: void
    signature: 'static void jsfs_exec_task_custom(JSFS_Task *task, const char *text,
      GF_Filter *new_filter, GF_Filter *del_filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsfs_exec_task_custom
      Src: /src/gpac/src/filter_core/filter_session_js.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - udta
    - text
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: jsfs_rmt_user_callback
    functionSourceFile: /src/gpac/src/filter_core/filter_session_js.c
    functionUses: []
    functionsReached:
    - jsfs_exec_task_custom
    linkageType: ''
    returnType: void
    signature: 'static void jsfs_rmt_user_callback(void *udta, const char* text) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_queue.c:67,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_queue.c:84,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_queue.c:76,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_queue.c:71,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:78,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:86,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - mx
    argTypes:
    - GF_Mutex*
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: gf_fq_new
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_opts_get_bool
    - GF_SAFEALLOC
    - gf_free
    linkageType: ''
    returnType: GF_FilterQueue*
    signature: 'GF_FilterQueue *gf_fq_new(const GF_Mutex *mx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:177,1
    - Dst: gf_fq_lockfree_dequeue
      Src: /src/gpac/src/filter_core/filter_queue.c:179,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_queue.c:181,1
    - Dst: gf_fq_lockfree_enqueue
      Src: /src/gpac/src/filter_core/filter_queue.c:187,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_queue.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - q
    - item
    argTypes:
    - GF_FilterQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: gf_lfq_add
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_fq_lockfree_enqueue
    - safe_int_inc
    - GF_SAFEALLOC
    - gf_fq_lockfree_dequeue
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_lfq_add(GF_FilterQueue *q, void *item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_and_swap
      Src: /src/gpac/src/filter_core/filter_queue.c:127,1
    - Dst: atomic_compare_and_swap
      Src: /src/gpac/src/filter_core/filter_queue.c:132,1
    - Dst: atomic_compare_and_swap
      Src: /src/gpac/src/filter_core/filter_queue.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - it
    - tail_ptr
    argTypes:
    - GF_LFQItem*
    - GF_LFQItem**
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: gf_fq_lockfree_enqueue
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - atomic_compare_and_swap
    linkageType: ''
    returnType: void
    signature: 'static void gf_fq_lockfree_enqueue(GF_LFQItem *it, GF_LFQItem **tail_ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:217,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_queue.c:222,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_queue.c:229,1
    - Dst: gf_lfq_add
      Src: /src/gpac/src/filter_core/filter_queue.c:220,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_queue.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - fq
    - item
    argTypes:
    - GF_FilterQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 244
    functionName: gf_fq_add
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_assert
    - gf_lfq_add
    linkageType: ''
    returnType: void
    signature: 'void gf_fq_add(GF_FilterQueue *fq, void *item) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_lfq_pop
      Src: /src/gpac/src/filter_core/filter_queue.c:254,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:272,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_queue.c:278,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_queue.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - fq
    argTypes:
    - GF_FilterQueue*
    constantsTouched: []
    func_position:
      end: 280
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 280
    functionName: gf_fq_pop
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_lfq_pop
    - gf_assert
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void*
    signature: 'void *gf_fq_pop(GF_FilterQueue *fq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:303,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_queue.c:315,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_queue.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - fq
    - idx
    argTypes:
    - GF_FilterQueue*
    - u32
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: gf_fq_get
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void*
    signature: 'void *gf_fq_get(GF_FilterQueue *fq, u32 idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_and_swap
      Src: /src/gpac/src/filter_core/filter_queue.c:160,1
    - Dst: atomic_compare_and_swap
      Src: /src/gpac/src/filter_core/filter_queue.c:165,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:162,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    argCount: 3
    argNames:
    - head_ptr
    - tail_ptr
    - prev_head
    argTypes:
    - GF_LFQItem**
    - GF_LFQItem**
    - GF_LFQItem**
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: gf_fq_lockfree_dequeue
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_assert
    - atomic_compare_and_swap
    linkageType: ''
    returnType: void*
    signature: 'static void *gf_fq_lockfree_dequeue(GF_LFQItem **head_ptr, GF_LFQItem
      **tail_ptr, GF_LFQItem **prev_head) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: item_delete
      Src: /src/gpac/src/filter_core/filter_queue.c:104,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:112,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:105,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_queue.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - q
    - (*item_delete)
    argTypes:
    - GF_FilterQueue*
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: gf_fq_del
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - item_delete
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_fq_del(GF_FilterQueue *q, void (*item_delete)(void *) ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_lockfree_dequeue
      Src: /src/gpac/src/filter_core/filter_queue.c:196,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_queue.c:198,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:199,1
    - Dst: gf_fq_lockfree_enqueue
      Src: /src/gpac/src/filter_core/filter_queue.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - GF_FilterQueue*
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: gf_lfq_pop
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_fq_lockfree_enqueue
    - safe_int_dec
    - gf_assert
    - gf_fq_lockfree_dequeue
    linkageType: ''
    returnType: void*
    signature: 'void *gf_lfq_pop(GF_FilterQueue *q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_queue.c:289,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_queue.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - fq
    argTypes:
    - GF_FilterQueue*
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: gf_fq_head
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void*
    signature: 'void *gf_fq_head(GF_FilterQueue *fq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_queue.c:333,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_queue.c:336,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_queue.c:343,1
    - Dst: enum_func
      Src: /src/gpac/src/filter_core/filter_queue.c:340,1
    - Dst: enum_func
      Src: /src/gpac/src/filter_core/filter_queue.c:347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - fq
    - (*enum_func)
    - udta
    argTypes:
    - GF_FilterQueue*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 351
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 351
    functionName: gf_fq_enum
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - enum_func
    - gf_assert
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_fq_enum(GF_FilterQueue *fq, void (*enum_func)(void *udta1,
      void *item), void *udta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_queue.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - fq
    - item
    argTypes:
    - GF_FilterQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: gf_fq_res_add
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached:
    - gf_fq_add
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_fq_res_add(GF_FilterQueue *fq, void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - GF_FilterQueue*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: gf_fq_count
    functionSourceFile: /src/gpac/src/filter_core/filter_queue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_fq_count(GF_FilterQueue *q) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4554,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4557,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:4562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - fsess
    - mime
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 4567
      start: 4549
    functionDepth: 0
    functionLinenumber: 4549
    functionLinenumberEnd: 4567
    functionName: gf_fs_is_supported_mime
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_is_supported_mime(GF_FilterSession *fsess, const
      char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - session
    - idx
    argTypes:
    - GF_FilterSession*
    - u32
    constantsTouched: []
    func_position:
      end: 4593
      start: 4589
    functionDepth: 0
    functionLinenumber: 4589
    functionLinenumberEnd: 4593
    functionName: gf_fs_get_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_fs_get_filter(GF_FilterSession *session, u32
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - session
    - reporting_on
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 4574
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4574
    functionName: gf_fs_enable_reporting
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_enable_reporting(GF_FilterSession *session, Bool
      reporting_on) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4601,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4632,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:4647,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:4620,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4652,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4655,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4684,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 2
    argNames:
    - f
    - stats
    argTypes:
    - GF_Filter*
    - GF_FilterStats*
    constantsTouched: []
    func_position:
      end: 4693
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4693
    functionName: gf_filter_get_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - strncmp
    - gf_mx_p
    - strcmp
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_get_stats(GF_Filter *f, GF_FilterStats
      *stats) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - sep_type
    argTypes:
    - GF_Filter*
    - GF_FilterSessionSepType
    constantsTouched: []
    func_position:
      end: 4338
      start: 4327
    functionDepth: 0
    functionLinenumber: 4327
    functionLinenumberEnd: 4338
    functionName: gf_filter_get_sep
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_filter_get_sep(GF_Filter *filter, GF_FilterSessionSepType
      sep_type) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4164,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4198,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4175,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4183,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4185,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4207,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4241,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4243,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4248,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4258,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_session.c:4269,1
    - Dst: gf_fs_print_jsf_connection
      Src: /src/gpac/src/filter_core/filter_session.c:4282,1
    - Dst: gf_log_get_tool_level
      Src: /src/gpac/src/filter_core/filter_session.c:4154,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filter_core/filter_session.c:4160,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4167,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4190,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4192,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4225,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:4236,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:4238,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4256,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filter_core/filter_session.c:4291,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4250,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4272,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:4290,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4264,1
    - Dst: gf_log_set_tool_level
      Src: /src/gpac/src/filter_core/filter_session.c:4156,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:4168,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:4187,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:4181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4215,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4227,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4285,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4274,1
    - Dst: gf_fs_print_jsf_connection
      Src: /src/gpac/src/filter_core/filter_session.c:4159,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:4158,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:4163,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4200,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_session.c:4217,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4223,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4229,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:4230,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:4245,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session.c:4280,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4287,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 112
    argCount: 3
    argNames:
    - session
    - filter_name
    - (*print_fn)
    argTypes:
    - GF_FilterSession*
    - char*
    - void
    constantsTouched: []
    func_position:
      end: 4292
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4292
    functionName: gf_fs_print_all_connections
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fs_print_jsf_connection
    - gf_list_get
    - gf_list_reset
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - strcmp
    - gf_log_get_tool_level
    - print_fn
    - GF_LOG
    - gf_fs_load_filter
    - gf_list_new
    - gf_log_set_tool_level
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_all_connections(GF_FilterSession *session,
      char *filter_name, void (*print_fn)(FILE *output, GF_SysPrintArgFlags flags,
      const char *fmt, ...) ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_forward_gf_event
      Src: /src/gpac/src/filter_core/filter_session.c:4352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - usr_cbk
    - secure
    - site_url
    - usr_name
    - password
    - async_pass
    - async_udta
    argTypes:
    - void*
    - Bool
    - char*
    - char*
    - char*
    - gf_dm_on_usr_pass
    - void*
    constantsTouched: []
    func_position:
      end: 4353
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4353
    functionName: gf_fsess_get_user_pass
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_forward_gf_event
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_fsess_get_user_pass(void *usr_cbk, Bool secure, const
      char *site_url, char *usr_name, char *password, gf_dm_on_usr_pass async_pass,
      void *async_udta) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:950,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:978,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:1009,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:1006,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1036,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:1050,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:1056,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:1057,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:1063,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:1066,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:1052,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:931,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:943,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:938,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:956,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_session.c:986,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:1036,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:1054,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:1061,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:1064,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:932,1
    - Dst: task_fun
      Src: /src/gpac/src/filter_core/filter_session.c:953,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:979,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:992,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1018,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:1033,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:988,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:984,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:1036,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1040,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:944,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:980,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:1034,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:1040,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:1043,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:1051,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1056,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:1067,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:1068,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 122
    argCount: 11
    argNames:
    - fsess
    - task_fun
    - filter
    - pid
    - log_name
    - udta
    - is_configure
    - force_main_thread
    - force_direct_call
    - class_type
    - delay_ms
    argTypes:
    - GF_FilterSession*
    - gf_fs_task_callback
    - GF_Filter*
    - GF_FilterPid*
    - char*
    - void*
    - Bool
    - Bool
    - Bool
    - GF_TaskClassType
    - u32
    constantsTouched: []
    func_position:
      end: 1071
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 1071
    functionName: gf_fs_post_task_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fs_sema_io
    - memset
    - safe_int_inc
    - task_fun
    - GF_LOG
    - gf_mx_p
    - gf_fq_add
    - safe_int_dec
    - check_task_list
    - gf_sys_clock_high_res
    - gf_fq_pop
    - gf_th_id
    - gf_assert
    - gf_fq_count
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_post_task_ex(GF_FilterSession *fsess, gf_fs_task_callback
      task_fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta,
      Bool is_configure, Bool force_main_thread, Bool force_direct_call, GF_TaskClassType
      class_type, u32 delay_ms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_jsf_connection
      Src: /src/gpac/src/filter_core/filter_session.c:4300,1
    - Dst: gf_fs_print_all_connections
      Src: /src/gpac/src/filter_core/filter_session.c:4302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - (*print_fn)
    argTypes:
    - GF_Filter*
    - void
    constantsTouched: []
    func_position:
      end: 4304
      start: 4295
    functionDepth: 0
    functionLinenumber: 4295
    functionLinenumberEnd: 4304
    functionName: gf_filter_print_all_connections
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_print_all_connections
    - gf_fs_print_jsf_connection
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_print_all_connections(GF_Filter *filter,
      void (*print_fn)(FILE *output, GF_SysPrintArgFlags flags, const char *fmt, ...)
      ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_font_manager_new
      Src: /src/gpac/src/filter_core/filter_session.c:4394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4398
      start: 4388
    functionDepth: 0
    functionLinenumber: 4388
    functionLinenumberEnd: 4398
    functionName: gf_fs_get_font_manager
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_font_manager_new
    linkageType: ''
    returnType: _gf_ft_mgr*
    signature: '_gf_ft_mgr *gf_fs_get_font_manager(GF_FilterSession *fsess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_download_manager
      Src: /src/gpac/src/filter_core/filter_session.c:4894,1
    - Dst: gf_dm_get_data_rate
      Src: /src/gpac/src/filter_core/filter_session.c:4897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4901
      start: 4889
    functionDepth: 0
    functionLinenumber: 4889
    functionLinenumberEnd: 4901
    functionName: gf_fs_get_http_max_rate
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_dm_get_data_rate
    - gf_fs_get_download_manager
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_fs_get_http_max_rate(GF_FilterSession *fs) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:215,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:274,1
    - Dst: gf_sema_new
      Src: /src/gpac/src/filter_core/filter_session.c:278,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:300,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/filter_core/filter_session.c:302,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/filter_core/filter_session.c:304,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:326,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:328,1
    - Dst: gf_fs_del
      Src: /src/gpac/src/filter_core/filter_session.c:341,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:359,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:390,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:347,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:430,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:435,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:447,1
    - Dst: gf_filter_sess_build_graph
      Src: /src/gpac/src/filter_core/filter_session.c:419,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:444,1
    - Dst: emscripten_is_main_runtime_thread
      Src: /src/gpac/src/filter_core/filter_session.c:233,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:217,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:239,1
    - Dst: gf_sys_get_rti
      Src: /src/gpac/src/filter_core/filter_session.c:245,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:249,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:267,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:320,1
    - Dst: gf_th_new
      Src: /src/gpac/src/filter_core/filter_session.c:360,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:372,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:406,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:354,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:435,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/filter_core/filter_session.c:427,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:235,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:244,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:259,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:263,1
    - Dst: gf_sema_new
      Src: /src/gpac/src/filter_core/filter_session.c:280,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:292,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:290,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:266,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:327,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:330,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:346,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/filter_core/filter_session.c:425,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:403,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:339,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:362,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:411,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:392,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:402,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:407,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:335,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:228,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_session.c:324,1
    - Dst: gf_fs_set_separators
      Src: /src/gpac/src/filter_core/filter_session.c:370,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:375,1
    - Dst: gf_fs_reg_all
      Src: /src/gpac/src/filter_core/filter_session.c:380,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_session.c:387,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:404,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:412,1
    - Dst: gf_sys_has_filter_global_meta_args
      Src: /src/gpac/src/filter_core/filter_session.c:424,1
    - Dst: gf_fs_push_arg
      Src: /src/gpac/src/filter_core/filter_session.c:432,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filter_core/filter_session.c:436,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:357,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:415,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:366,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:395,1
    - Dst: gf_sys_has_filter_global_args
      Src: /src/gpac/src/filter_core/filter_session.c:424,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 213
    argCount: 4
    argNames:
    - nb_threads
    - sched_type
    - flags
    - blacklist
    argTypes:
    - s32
    - GF_FilterSchedulerType
    - GF_FilterSessionFlags
    - char*
    constantsTouched: []
    func_position:
      end: 450
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 450
    functionName: gf_fs_new
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - memset
    - GF_LOG
    - gf_th_new
    - GF_SAFEALLOC
    - gf_opts_get_int
    - gf_sys_get_arg
    - strstr
    - gf_fs_set_separators
    - gf_strdup
    - gf_fs_del
    - strcmp
    - gf_list_new
    - gf_fs_push_arg
    - gf_sys_has_filter_global_args
    - gf_mx_new
    - sprintf
    - strchr
    - gf_sema_del
    - gf_free
    - gf_filter_sess_build_graph
    - gf_sys_get_argc
    - gf_opts_get_key
    - gf_fq_new
    - gf_sema_new
    - emscripten_is_main_runtime_thread
    - gf_sys_get_rti
    - gf_opts_set_key
    - gf_sys_has_filter_global_meta_args
    - gf_opts_get_bool
    - gf_fs_reg_all
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterSession *gf_fs_new(s32 nb_threads, GF_FilterSchedulerType
      sched_type, GF_FilterSessionFlags flags, const char *blacklist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_not_connected_filters
      Src: /src/gpac/src/filter_core/filter_session.c:3306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3307
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3307
    functionName: gf_fs_print_non_connected
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_print_not_connected_filters
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_non_connected(GF_FilterSession *fsess) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:454,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:470,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:471,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:465,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:467,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:475,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:477,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:484,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:486,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:492,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 6
    argNames:
    - session
    - szArg
    - was_found
    - type
    - meta_filter
    - sub_opt_name
    argTypes:
    - GF_FilterSession*
    - char*
    - Bool
    - GF_FSArgItemType
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 524
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 524
    functionName: gf_fs_push_arg
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - strncmp
    - gf_list_count
    - gf_strdup
    - strcmp
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_push_arg(GF_FilterSession *session, const char *szArg,
      Bool was_found, GF_FSArgItemType type, GF_Filter *meta_filter, const char *sub_opt_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_not_connected_filters
      Src: /src/gpac/src/filter_core/filter_session.c:3312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fsess
    - ignore_sinks
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 3313
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3313
    functionName: gf_fs_print_non_connected_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_print_not_connected_filters
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_non_connected_ex(GF_FilterSession *fsess,
      Bool ignore_sinks) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2943,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2950,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:2946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2947,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2954,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2956,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2959,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2962,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2965,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2966,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - f
    - skip_id
    - skip_args
    argTypes:
    - GF_Filter*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 2967
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2967
    functionName: print_filter_name
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void print_filter_name(GF_Filter *f, Bool skip_id,
      Bool skip_args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter_session.c:1075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - fsess
    - task_fun
    - filter
    - pid
    - log_name
    - udta
    argTypes:
    - GF_FilterSession*
    - gf_fs_task_callback
    - GF_Filter*
    - GF_FilterPid*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: gf_fs_post_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_post_task(GF_FilterSession *fsess, gf_fs_task_callback
      task_fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1475,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1490,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1486,1
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter_session.c:1479,1
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter_session.c:1481,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1495,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1501,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_session.c:1503,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1506,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1509,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1519,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1521,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1524,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1521,1
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filter_core/filter_session.c:1527,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - link
    - filter
    - loaded_filters
    - ext_link
    argTypes:
    - char*
    - GF_Filter*
    - GF_List*
    - char*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1529
    functionName: gf_fs_process_link_directive
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_set_source
    - gf_list_get
    - sscanf
    - gf_list_count
    - GF_LOG
    - strchr
    - atoi
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_process_link_directive(char *link, GF_Filter
      *filter, GF_List *loaded_filters, char *ext_link) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_print_stats
      Src: /src/gpac/src/filter_core/filter_session.c:1787,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_session.c:1795,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1800,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1810,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1811,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1808,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1814,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:1818,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1819,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1827,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1835,1
    - Dst: gf_fs_print_connections
      Src: /src/gpac/src/filter_core/filter_session.c:1784,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_session.c:1791,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1793,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1816,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_session.c:1831,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1841,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1847,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:1849,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1813,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1805,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1815,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_session.c:1820,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1822,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1839,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1843,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1781,1
    - Dst: gf_net_get_utc
      Src: /src/gpac/src/filter_core/filter_session.c:1781,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1790,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:1801,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1807,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1809,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1806,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1802,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:1826,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1845,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1851,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1830,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 2
    argNames:
    - fsess
    - dbg_flags
    argTypes:
    - GF_FilterSession*
    - GF_SessionDebugFlag
    constantsTouched: []
    func_position:
      end: 1852
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1852
    functionName: gf_fs_print_debug_info
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - memset
    - gf_fq_count
    - fprintf
    - gf_list_count
    - gf_mx_p
    - gf_fs_print_stats
    - gf_net_get_utc
    - gf_fs_print_connections
    - gf_mx_v
    - gf_fq_enum
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_debug_info(GF_FilterSession *fsess, GF_SessionDebugFlag
      dbg_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - session
    - do_activate
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 4841
      start: 4830
    functionDepth: 0
    functionLinenumber: 4830
    functionLinenumberEnd: 4841
    functionName: gf_fs_set_gl
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_fs_set_gl(GF_FilterSession *session, Bool do_activate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter_session.c:1080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - fsess
    - task_fun
    - filter
    - pid
    - log_name
    - udta
    - class_id
    argTypes:
    - GF_FilterSession*
    - gf_fs_task_callback
    - GF_Filter*
    - GF_FilterPid*
    - char*
    - void*
    - GF_TaskClassType
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: gf_fs_post_task_class
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_post_task_class(GF_FilterSession *fsess, gf_fs_task_callback
      task_fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta,
      GF_TaskClassType class_id) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1563,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:1553,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:1596,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1602,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session.c:1599,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1585,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1624,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter_session.c:1633,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:1637,1
    - Dst: gf_filter_is_source
      Src: /src/gpac/src/filter_core/filter_session.c:1641,1
    - Dst: gf_filter_tag_subsession
      Src: /src/gpac/src/filter_core/filter_session.c:1644,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:1665,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1563,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:1598,1
    - Dst: gf_fs_process_link_directive
      Src: /src/gpac/src/filter_core/filter_session.c:1588,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session.c:1622,1
    - Dst: gf_fs_process_link_directive
      Src: /src/gpac/src/filter_core/filter_session.c:1634,1
    - Dst: gf_filter_is_source
      Src: /src/gpac/src/filter_core/filter_session.c:1654,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:1666,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:1547,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:1551,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1568,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:1592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1622,1
    - Dst: gf_filter_is_sink
      Src: /src/gpac/src/filter_core/filter_session.c:1651,1
    - Dst: gf_filter_tag_subsession
      Src: /src/gpac/src/filter_core/filter_session.c:1659,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/filter_core/filter_session.c:1564,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1568,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter_session.c:1569,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1576,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1583,1
    - Dst: gf_fs_load_source
      Src: /src/gpac/src/filter_core/filter_session.c:1597,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1603,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session.c:1608,1
    - Dst: gf_filter_tag_subsession
      Src: /src/gpac/src/filter_core/filter_session.c:1630,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1632,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 135
    argCount: 5
    argNames:
    - fsess
    - argc
    - argv
    - out_loaded_filters
    - out_links_directive
    argTypes:
    - GF_FilterSession*
    - int
    - char*
    - GF_List**
    - GF_List**
    constantsTouched: []
    func_position:
      end: 1669
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1669
    functionName: gf_fs_parse_filter_graph
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_process_link_directive
    - gf_list_add
    - gf_filter_tag_subsession
    - gf_filter_is_source
    - gf_fs_load_destination
    - gf_fs_load_source
    - gf_list_del
    - strncmp
    - gf_error_to_string
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_list_pop_front
    - gf_filter_is_sink
    - strchr
    - gf_list_new
    - gf_fs_load_filter
    - strstr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_parse_filter_graph(GF_FilterSession *fsess,
      int argc, char *argv[], GF_List **out_loaded_filters, GF_List **out_links_directive) '
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:1891,1
    - Dst: emscripten_main_thread_process_queued_calls
      Src: /src/gpac/src/filter_core/filter_session.c:1975,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_session.c:1987,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2034,1
    - Dst: em_check_yield_th_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2126,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2103,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2334,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2359,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2520,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2374,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:1896,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_session.c:1967,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:1985,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2028,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2141,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2192,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2139,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2160,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:2226,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2308,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2366,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2663,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2113,1
    - Dst: gf_rmt_set_thread_name
      Src: /src/gpac/src/filter_core/filter_session.c:1938,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2093,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2112,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2320,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2358,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2376,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2534,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2571,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2669,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2546,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2603,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_session.c:2640,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2343,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2649,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2190,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:1933,1
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/filter_core/filter_session.c:1968,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2200,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2247,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2355,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2398,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2409,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2449,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2525,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2670,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2479,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1919,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2068,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2104,1
    - Dst: gf_log_push_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2145,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2046,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2172,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2023,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2097,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_session.c:2236,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2305,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2588,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2673,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2596,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:1992,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2001,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2027,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2159,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2295,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2349,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2400,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2558,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2602,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2618,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:2322,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2652,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:2132,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2228,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2336,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2341,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2407,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2411,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2541,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2565,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2593,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2617,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2514,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2582,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2118,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2348,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2377,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_session.c:2481,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2507,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2625,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2658,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2608,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2642,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2592,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1923,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:1929,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2006,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2111,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2194,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2119,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2252,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:2611,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2627,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2661,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2631,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2088,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2162,1
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/filter_core/filter_session.c:1946,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:1989,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2157,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2123,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2222,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2237,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2238,1
    - Dst: em_check_yield_th_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2562,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2548,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_session.c:2031,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2081,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2098,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2104,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2105,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2193,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2250,1
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_session.c:2269,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2405,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2635,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2532,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2197,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1983,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2022,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2298,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2317,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2334,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2342,1
    - Dst: em_check_yield_th_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2382,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2410,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2423,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2569,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2489,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2450,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:1979,1
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/filter_core/filter_session.c:1982,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:1998,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2044,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2102,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2138,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter_session.c:2084,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_session.c:2188,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2112,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_session.c:2019,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2641,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2326,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2594,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2043,1
    - Dst: gf_th_log_name
      Src: /src/gpac/src/filter_core/filter_session.c:1899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2102,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2209,1
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_session.c:2243,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2254,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_session.c:2278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2391,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2405,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2407,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2424,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2568,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1890,1
    - Dst: gf_fs_print_debug_info
      Src: /src/gpac/src/filter_core/filter_session.c:1961,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2246,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2284,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2576,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2581,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2586,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2599,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:2600,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_session.c:2647,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_session.c:2610,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2516,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:1948,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_session.c:2004,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2033,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2040,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2239,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2323,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:2344,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2528,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2539,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2570,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2605,1
    - Dst: check_task_list
      Src: /src/gpac/src/filter_core/filter_session.c:2540,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2581,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:2672,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2330,1
    CyclomaticComplexity: 193
    EdgeCount: 193
    ICount: 598
    argCount: 1
    argNames:
    - sess_thread
    argTypes:
    - GF_SessionThread*
    constantsTouched: []
    func_position:
      end: 2677
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 2677
    functionName: gf_fs_thread_proc
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_sema_io
    - gf_th_log_name
    - gf_log_pop_extra
    - GF_LOG
    - gf_fq_add
    - gf_log_push_extra
    - check_task_list
    - gf_rmt_begin
    - gf_list_find
    - gf_list_count
    - gf_fq_head
    - gf_rmt_set_thread_name
    - safe_int_dec
    - gf_fq_res_add
    - gf_th_id
    - gf_assert
    - gf_sema_notify
    - gf_fq_count
    - gf_list_get
    - gf_mx_p
    - safe_int_inc
    - gf_fq_pop
    - gf_mx_v
    - gf_free
    - gf_rmt_end
    - gf_fs_print_debug_info
    - emscripten_main_thread_process_queued_calls
    - em_check_yield_th_proc
    - gf_fq_get
    - gf_sys_clock_high_res
    - gf_sleep
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_fs_thread_proc(GF_SessionThread *sess_thread) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3024,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3018,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3035,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3053,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3066,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3079,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3069,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2980,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:2983,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2981,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2995,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3003,1
    - Dst: print_filter_name
      Src: /src/gpac/src/filter_core/filter_session.c:3004,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3012,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3022,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3010,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:3033,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3064,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2985,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2998,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2999,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3027,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3008,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3039,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3044,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3049,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3060,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3047,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2992,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3005,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3031,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3037,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:3045,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3057,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3058,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3077,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3085,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3087
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 3087
    functionName: gf_fs_print_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_get_property
    - gf_list_count
    - print_filter_name
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_stats(GF_FilterSession *fsess) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4855
      start: 4843
    functionDepth: 0
    functionLinenumber: 4843
    functionLinenumberEnd: 4855
    functionName: gf_filter_claim_opengl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_VideoOutput*
    signature: 'GF_VideoOutput *gf_filter_claim_opengl_provider(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: task_canceled
      Src: /src/gpac/src/filter_core/filter_session.c:715,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: gf_task_del
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - task_canceled
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_task_del(void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter_session.c:3947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - fsess
    - url
    - args
    - parent_url
    - err
    argTypes:
    - GF_FilterSession*
    - char*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3948
      start: 3944
    functionDepth: 0
    functionLinenumber: 3944
    functionLinenumberEnd: 3948
    functionName: gf_fs_load_source
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source_dest_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_fs_load_source(GF_FilterSession *fsess, const
      char *url, const char *args, const char *parent_url, GF_Err *err) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:730,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:733,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:737,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:748,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:760,1
    - Dst: gf_filter_pid_inst_reset
      Src: /src/gpac/src/filter_core/filter_session.c:761,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter_session.c:756,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:770,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session.c:785,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter_session.c:787,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/filter_core/filter_session.c:855,1
    - Dst: gf_sema_del
      Src: /src/gpac/src/filter_core/filter_session.c:858,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:897,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:898,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:886,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:846,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:842,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:873,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:849,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:825,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:864,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:866,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:722,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:728,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:725,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter_session.c:749,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_session.c:750,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:763,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:789,1
    - Dst: gf_font_manager_del
      Src: /src/gpac/src/filter_core/filter_session.c:800,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:827,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:832,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:884,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filter_core/filter_session.c:879,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:892,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session.c:729,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:731,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:758,1
    - Dst: gf_fs_unload_script
      Src: /src/gpac/src/filter_core/filter_session.c:793,1
    - Dst: gf_dm_del
      Src: /src/gpac/src/filter_core/filter_session.c:796,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:804,1
    - Dst: gf_th_del
      Src: /src/gpac/src/filter_core/filter_session.c:824,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:840,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:852,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_session.c:861,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:838,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:871,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:888,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:893,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:876,1
    - Dst: gf_fs_stop
      Src: /src/gpac/src/filter_core/filter_session.c:724,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:739,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:743,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:752,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:784,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session.c:805,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:808,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:812,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:820,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:822,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:867,1
    - Dst: gf_filter_sess_reset_graph
      Src: /src/gpac/src/filter_core/filter_session.c:870,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session.c:885,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_session.c:823,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:835,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:895,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_session.c:815,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 114
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 899
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 899
    functionName: gf_fs_del
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_stop
    - GF_LOG
    - gf_filter_pid_inst_del
    - gf_font_manager_del
    - gf_list_pop_back
    - gf_list_del
    - gf_list_pop_front
    - gf_filter_sess_reset_graph
    - gf_list_count
    - gf_fs_unload_script
    - gf_assert
    - gf_filter_pid_inst_reset
    - gf_th_del
    - gf_list_get
    - gf_mx_p
    - gf_filter_del
    - gf_sema_del
    - gf_mx_v
    - gf_dm_del
    - gf_free
    - gf_mx_del
    - gf_filter_reset_pending_packets
    - gf_modules_close_interface
    - gf_fq_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_del(GF_FilterSession *fsess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter_session.c:3953,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - fsess
    - url
    - args
    - parent_url
    - err
    argTypes:
    - GF_FilterSession*
    - char*
    - char*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 3954
      start: 3950
    functionDepth: 0
    functionLinenumber: 3950
    functionLinenumberEnd: 3954
    functionName: gf_fs_load_destination
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source_dest_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_fs_load_destination(GF_FilterSession *fsess,
      const char *url, const char *args, const char *parent_url, GF_Err *err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_forward_gf_event
      Src: /src/gpac/src/filter_core/filter_session.c:4028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - evt
    argTypes:
    - GF_Filter*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4029
      start: 4025
    functionDepth: 0
    functionLinenumber: 4025
    functionLinenumberEnd: 4029
    functionName: gf_filter_send_gf_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_forward_gf_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_send_gf_event(GF_Filter *filter, GF_Event
      *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - cbk
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4767
      start: 4764
    functionDepth: 0
    functionLinenumber: 4764
    functionLinenumberEnd: 4767
    functionName: fsess_on_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fsess_on_event(void *cbk, GF_Event *evt) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_session.c:4050,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4058,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4065,1
    - Dst: gf_filter_caps_bundle_count
      Src: /src/gpac/src/filter_core/filter_session.c:4080,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_session.c:4051,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_session.c:4062,1
    - Dst: gf_filter_caps_to_caps_match
      Src: /src/gpac/src/filter_core/filter_session.c:4087,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4126,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4129,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4131,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:4145,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:4144,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:4067,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:4081,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:4102,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:4068,1
    - Dst: bundle_cache_free
      Src: /src/gpac/src/filter_core/filter_session.c:4105,1
    - Dst: bundle_cache_free
      Src: /src/gpac/src/filter_core/filter_session.c:4107,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4118,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4133,1
    - Dst: print_fn
      Src: /src/gpac/src/filter_core/filter_session.c:4137,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session.c:4044,1
    - Dst: gf_filter_caps_bundle_count
      Src: /src/gpac/src/filter_core/filter_session.c:4055,1
    - Dst: gf_filter_has_in_caps
      Src: /src/gpac/src/filter_core/filter_session.c:4063,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:4066,1
    - Dst: gf_filter_caps_to_caps_match
      Src: /src/gpac/src/filter_core/filter_session.c:4093,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:4103,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4071,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4076,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4139,1
    - Dst: reset_bundle_cache
      Src: /src/gpac/src/filter_core/filter_session.c:4143,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 91
    argCount: 4
    argNames:
    - session
    - filter_name
    - js_filter
    - (*print_fn)
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_Filter*
    - void
    constantsTouched: []
    func_position:
      end: 4146
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4146
    functionName: gf_fs_print_jsf_connection
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - memset
    - gf_list_del
    - gf_list_count
    - gf_filter_has_out_caps
    - GF_LOG
    - print_fn
    - gf_filter_has_in_caps
    - gf_filter_caps_bundle_count
    - bundle_cache_free
    - strrchr
    - GF_SAFEALLOC
    - reset_bundle_cache
    - gf_list_new
    - gf_fs_load_filter
    - gf_filter_caps_to_caps_match
    linkageType: ''
    returnType: void
    signature: 'static void gf_fs_print_jsf_connection(GF_FilterSession *session,
      char *filter_name, GF_Filter *js_filter, void (*print_fn)(FILE *output, GF_SysPrintArgFlags
      flags, const char *fmt, ...) ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4783,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:4788,1
    - Dst: gf_module_load
      Src: /src/gpac/src/filter_core/filter_session.c:4788,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/filter_core/filter_session.c:4778,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4791,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:4794,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filter_core/filter_session.c:4795,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:4802,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_session.c:4803,1
    - Dst: gf_modules_close_interface
      Src: /src/gpac/src/filter_core/filter_session.c:4808,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4814,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4807,1
    - Dst: gf_opengl_init
      Src: /src/gpac/src/filter_core/filter_session.c:4825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4828
      start: 4769
    functionDepth: 0
    functionLinenumber: 4769
    functionLinenumberEnd: 4828
    functionName: gf_fs_check_gl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - memset
    - sscanf
    - gf_list_count
    - GF_LOG
    - gf_module_load
    - gf_opengl_init
    - gf_modules_close_interface
    - gf_opts_set_key
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_fs_check_gl_provider(GF_FilterSession *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:3962,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3963,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:3965,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3967,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - el
    argTypes:
    - GF_Filter*
    - GF_FSEventListener*
    constantsTouched: []
    func_position:
      end: 3970
      start: 3957
    functionDepth: 0
    functionLinenumber: 3957
    functionLinenumberEnd: 3970
    functionName: gf_filter_add_event_listener
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_mx_p
    - gf_mx_v
    - gf_list_new
    - gf_sleep
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_add_event_listener(GF_Filter *filter, GF_FSEventListener
      *el) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_task
      Src: /src/gpac/src/filter_core/filter_session.c:1752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1753
    functionName: print_task_list
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - print_task
    linkageType: ''
    returnType: void
    signature: 'static void print_task_list(void *udta, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5179
      start: 5176
    functionDepth: 0
    functionLinenumber: 5176
    functionLinenumberEnd: 5179
    functionName: gf_fs_force_non_blocking
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_force_non_blocking(GF_FilterSession *fs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_task
      Src: /src/gpac/src/filter_core/filter_session.c:1757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1758
    functionName: print_task_list_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - print_task
    linkageType: ''
    returnType: void
    signature: 'static void print_task_list_filter(void *udta, void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1774
    functionName: gather_pck_size
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gather_pck_size(void *udta, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:1870,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:1871,1
    - Dst: gf_th_async_call
      Src: /src/gpac/src/filter_core/filter_session.c:1872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - thid
    - sess_thread
    - enter_time
    argTypes:
    - u32
    - GF_SessionThread*
    - u64
    constantsTouched: []
    func_position:
      end: 1876
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1876
    functionName: em_check_yield_th_proc
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_th_async_call
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: Bool
    signature: 'Bool em_check_yield_th_proc(u32 thid, GF_SessionThread *sess_thread,
      u64 enter_time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:3977,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:3981,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3978,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session.c:3979,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3980,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3984,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - el
    argTypes:
    - GF_Filter*
    - GF_FSEventListener*
    constantsTouched: []
    func_position:
      end: 3986
      start: 3972
    functionDepth: 0
    functionLinenumber: 3972
    functionLinenumberEnd: 3986
    functionName: gf_filter_remove_event_listener
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_mx_p
    - gf_mx_v
    - gf_list_del_item
    - gf_sleep
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_remove_event_listener(GF_Filter *filter,
      GF_FSEventListener *el) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:5183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5186
      start: 5180
    functionDepth: 0
    functionLinenumber: 5180
    functionLinenumberEnd: 5186
    functionName: gf_filter_on_main_thread
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_th_id
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_on_main_thread(GF_Filter *filter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:534,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:540,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:594,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:601,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:603,1
    - Dst: gf_opts_get_int
      Src: /src/gpac/src/filter_core/filter_session.c:533,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:541,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:544,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:574,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:580,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:586,1
    - Dst: gf_fs_set_separators
      Src: /src/gpac/src/filter_core/filter_session.c:607,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:538,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:542,1
    - Dst: gf_fs_new
      Src: /src/gpac/src/filter_core/filter_session.c:598,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:591,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:605,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:539,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:535,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:571,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:583,1
    - Dst: gf_fs_set_max_resolution_chain_length
      Src: /src/gpac/src/filter_core/filter_session.c:601,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_session.c:577,1
    - Dst: gf_fs_set_max_sleep_time
      Src: /src/gpac/src/filter_core/filter_session.c:603,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 1
    argNames:
    - inflags
    argTypes:
    - GF_FilterSessionFlags
    constantsTouched: []
    func_position:
      end: 610
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 610
    functionName: gf_fs_new_defaults
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_set_max_resolution_chain_length
    - gf_fs_set_separators
    - gf_fs_set_max_sleep_time
    - GF_LOG
    - strcmp
    - gf_fs_new
    - gf_opts_get_int
    - gf_opts_get_bool
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterSession *gf_fs_new_defaults(GF_FilterSessionFlags
      inflags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:4409,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:4410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4411
      start: 4407
    functionDepth: 0
    functionLinenumber: 4407
    functionLinenumberEnd: 4411
    functionName: gf_fs_cleanup_filters
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_cleanup_filters(GF_FilterSession *fsess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:4363,1
    - Dst: gf_dm_new
      Src: /src/gpac/src/filter_core/filter_session.c:4368,1
    - Dst: gf_dm_set_auth_callback
      Src: /src/gpac/src/filter_core/filter_session.c:4371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4378
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4378
    functionName: gf_fs_get_download_manager
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_dm_set_auth_callback
    - GF_LOG
    - gf_dm_new
    linkageType: ''
    returnType: GF_DownloadManager*
    signature: 'GF_DownloadManager *gf_fs_get_download_manager(GF_FilterSession *fs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:5139,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:5140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:5142,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session.c:5152,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:5148,1
    - Dst: gf_filter_get_arg
      Src: /src/gpac/src/filter_core/filter_session.c:5153,1
    - Dst: gf_filter_pid_init_play_event
      Src: /src/gpac/src/filter_core/filter_session.c:5155,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter_session.c:5156,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:5159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5160
      start: 5133
    functionDepth: 0
    functionLinenumber: 5133
    functionLinenumberEnd: 5160
    functionName: gf_fs_send_deferred_play
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_get_arg
    - gf_list_count
    - gf_mx_p
    - gf_filter_pid_init_play_event
    - gf_mx_v
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_send_deferred_play(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_download_manager
      Src: /src/gpac/src/filter_core/filter_session.c:4384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4385
      start: 4380
    functionDepth: 0
    functionLinenumber: 4380
    functionLinenumberEnd: 4385
    functionName: gf_filter_get_download_manager
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_get_download_manager
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_DownloadManager *gf_filter_get_download_manager(GF_Filter
      *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - session
    - separator_set
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 635
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 635
    functionName: gf_fs_set_separators
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_separators(GF_FilterSession *session, const
      char *separator_set) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4421
      start: 4413
    functionDepth: 0
    functionLinenumber: 4413
    functionLinenumberEnd: 4421
    functionName: gf_fs_get_last_connect_error
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_get_last_connect_error(GF_FilterSession *fs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:5167,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:5169,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:5168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - fs
    - filter
    argTypes:
    - GF_FilterSession*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5173
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5173
    functionName: gf_fs_check_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_list_find
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_check_filter(GF_FilterSession *fs, GF_Filter
      *filter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:5065,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:5068,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:5081,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:5083,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_session.c:5092,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:5095,1
    - Dst: fsess_find_res
      Src: /src/gpac/src/filter_core/filter_session.c:5096,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:5105,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:5057,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:5058,1
    - Dst: fsess_find_res
      Src: /src/gpac/src/filter_core/filter_session.c:5087,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:5086,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_session.c:5054,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:5048,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:5048,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:5058,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:5083,1
    - Dst: fsess_find_res
      Src: /src/gpac/src/filter_core/filter_session.c:5101,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:5104,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:5048,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:5054,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:5071,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 5
    argNames:
    - __self
    - locales_parent_path
    - rel_path
    - relocated_path
    - localized_rel_path
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5107
      start: 5040
    functionDepth: 0
    functionLinenumber: 5040
    functionLinenumberEnd: 5107
    functionName: fs_check_locales
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - fsess_find_res
    - strlen
    - strncmp
    - strcpy
    - strcmp
    - sprintf
    - strrchr
    - strchr
    - strncpy
    - strnicmp
    - strstr
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fs_check_locales(void *__self, const char *locales_parent_path,
      const char *rel_path, char *relocated_path, char *localized_rel_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - fs
    - (*ui_event_proc)
    - cbk_udta
    argTypes:
    - GF_FilterSession*
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 682
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 682
    functionName: gf_fs_set_ui_callback
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_set_ui_callback(GF_FilterSession *fs, Bool (*ui_event_proc)(void
      *opaque, GF_Event *event), void *cbk_udta) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3099,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3114,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3132,1
    - Dst: print_filter_name
      Src: /src/gpac/src/filter_core/filter_session.c:3139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3141,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3157,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3173,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter_session.c:3174,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3180,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:3233,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3231,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3186,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3102,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3136,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3134,1
    - Dst: print_filter_name
      Src: /src/gpac/src/filter_core/filter_session.c:3151,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:3162,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3165,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3167,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3168,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:3271,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3247,1
    - Dst: gf_fs_print_filter_outputs
      Src: /src/gpac/src/filter_core/filter_session.c:3262,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3111,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3141,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3148,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3155,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3169,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:3175,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3182,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:3269,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session.c:3246,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3243,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:3196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3095,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3122,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3153,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3184,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:3188,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3203,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3219,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3256,1
    - Dst: gf_fs_print_filter_outputs
      Src: /src/gpac/src/filter_core/filter_session.c:3264,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3255,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 167
    argCount: 9
    argNames:
    - f
    - filters_done
    - indent
    - pid
    - alias_for
    - src_num_tiled_pids
    - skip_print
    - nb_recursion
    - max_length
    argTypes:
    - GF_Filter*
    - GF_List*
    - u32
    - GF_FilterPid*
    - GF_Filter*
    - u32
    - Bool
    - s32
    - u32
    constantsTouched: []
    func_position:
      end: 3272
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3272
    functionName: gf_fs_print_filter_outputs
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_list_get
    - gf_list_find
    - gf_list_del
    - gf_list_pop_front
    - gf_filter_pid_get_property
    - gf_list_count
    - print_filter_name
    - sprintf
    - GF_LOG
    - gf_fs_print_filter_outputs
    - gf_list_new
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'static void gf_fs_print_filter_outputs(GF_Filter *f, GF_List *filters_done,
      u32 indent, GF_FilterPid *pid, GF_Filter *alias_for, u32 src_num_tiled_pids,
      Bool skip_print, s32 nb_recursion, u32 max_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter_session.c:4936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - session
    - url
    - parent_url
    argTypes:
    - GF_FilterSession*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4938
      start: 4931
    functionDepth: 0
    functionLinenumber: 4931
    functionLinenumberEnd: 4938
    functionName: gf_fs_is_supported_source
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source_dest_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_is_supported_source(GF_FilterSession *session,
      const char *url, const char *parent_url) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:5022,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filter_core/filter_session.c:5028,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filter_core/filter_session.c:5026,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filter_core/filter_session.c:5023,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:5024,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:5029,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:5030,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - loc
    - parent
    - path
    - relocated_path
    - localized_rel_path
    argTypes:
    - GF_FSLocales*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5034
      start: 5018
    functionDepth: 0
    functionLinenumber: 5018
    functionLinenumberEnd: 5034
    functionName: fsess_find_res
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_url_concatenate
    - strcpy
    - gf_strdup
    - gf_free
    - gf_fclose
    - gf_fopen
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fsess_find_res(GF_FSLocales *loc, char *parent, char *path,
      char *relocated_path, char *localized_rel_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:687,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: gf_propalloc_del
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_propalloc_del(void *it) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3278,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3297,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_session.c:3289,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3280,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_session.c:3291,1
    - Dst: gf_fs_print_filter_outputs
      Src: /src/gpac/src/filter_core/filter_session.c:3299,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - fsess
    - filters_done
    - ignore_sinks
    argTypes:
    - GF_FilterSession*
    - GF_List*
    - Bool
    constantsTouched: []
    func_position:
      end: 3301
      start: 3274
    functionDepth: 0
    functionLinenumber: 3274
    functionLinenumberEnd: 3301
    functionName: gf_fs_print_not_connected_filters
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_filter_has_out_caps
    - gf_fs_print_filter_outputs
    linkageType: ''
    returnType: void
    signature: 'static void gf_fs_print_not_connected_filters(GF_FilterSession *fsess,
      GF_List *filters_done, Bool ignore_sinks) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4952,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4954,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4959,1
    - Dst: gf_filter_send_event
      Src: /src/gpac/src/filter_core/filter_session.c:4963,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4964,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session.c:4968,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4969,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4972,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4978,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4980,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter_session.c:4984,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 4
    argNames:
    - fs
    - f
    - evt
    - upstream
    argTypes:
    - GF_FilterSession*
    - GF_Filter*
    - GF_FilterEvent*
    - Bool
    constantsTouched: []
    func_position:
      end: 4988
      start: 4941
    functionDepth: 0
    functionLinenumber: 4941
    functionLinenumberEnd: 4988
    functionName: gf_fs_fire_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_fs_lock_filters
    - gf_filter_send_event
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_fire_event(GF_FilterSession *fs, GF_Filter *f,
      GF_FilterEvent *evt, Bool upstream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3606,1
    - Dst: locate_alias_sink
      Src: /src/gpac/src/filter_core/filter_session.c:3617,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 3
    argNames:
    - filter
    - url
    - mime_type
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3622
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3622
    functionName: locate_alias_sink
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - locate_alias_sink
    - gf_list_get
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *locate_alias_sink(GF_Filter *filter, const char
      *url, const char *mime_type) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_session.c:1109,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_session.c:1123,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_session.c:1115,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 66
    argCount: 7
    argNames:
    - f_reg
    - incode
    - cap_input
    - outcode
    - cap_output
    - exact_match_only
    - out_cap_excluded
    argTypes:
    - GF_FilterRegister*
    - u32
    - GF_PropertyValue*
    - u32
    - GF_PropertyValue*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1140
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1140
    functionName: gf_fs_check_filter_register_cap_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_props_equal
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_fs_check_filter_register_cap_ex(const GF_FilterRegister *f_reg,
      u32 incode, GF_PropertyValue *cap_input, u32 outcode, GF_PropertyValue *cap_output,
      Bool exact_match_only, Bool out_cap_excluded) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_session.c:1255,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:1257,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1280,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1285,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:1288,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1253,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1259,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1261,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1264,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:1273,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:1281,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1252,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:1260,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1269,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1279,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:1284,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:1270,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:1263,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1274,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - path
    - file_name
    - file_ext
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1290
    functionName: locate_js_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - GF_LOG
    - strncpy
    - strcpy
    - gf_free
    - gf_file_exists
    linkageType: ''
    returnType: Bool
    signature: 'static Bool locate_js_script(char *path, const char *file_name, const
      char *file_ext) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3322,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3327,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3323,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3329,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:3325,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3335,1
    - Dst: gf_fs_print_filter_outputs
      Src: /src/gpac/src/filter_core/filter_session.c:3337,1
    - Dst: gf_fs_print_not_connected_filters
      Src: /src/gpac/src/filter_core/filter_session.c:3340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3343,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3346,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3350,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:3356,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3355,1
    - Dst: gf_fs_print_filter_outputs
      Src: /src/gpac/src/filter_core/filter_session.c:3352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3357
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3357
    functionName: gf_fs_print_connections
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_fs_print_not_connected_filters
    - gf_mx_p
    - GF_LOG
    - gf_fs_print_filter_outputs
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_connections(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_stats
      Src: /src/gpac/src/filter_core/filter_session.c:4699,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:4699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - session
    - idx
    - stats
    argTypes:
    - GF_FilterSession*
    - u32
    - GF_FilterStats*
    constantsTouched: []
    func_position:
      end: 4700
      start: 4695
    functionDepth: 0
    functionLinenumber: 4695
    functionLinenumberEnd: 4700
    functionName: gf_fs_get_filter_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_get_stats
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_get_filter_stats(GF_FilterSession *session,
      u32 idx, GF_FilterStats *stats) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - session
    - on_create_destroy
    - udta
    - force_sync
    argTypes:
    - GF_FilterSession*
    - gf_fs_on_filter_creation
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 4998
      start: 4990
    functionDepth: 0
    functionLinenumber: 4990
    functionLinenumberEnd: 4998
    functionName: gf_fs_set_filter_creation_callback
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_filter_creation_callback(GF_FilterSession
      *session, gf_fs_on_filter_creation on_create_destroy, void *udta, Bool force_sync) '
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3792,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3843,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3920,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3729,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3689,1
    - Dst: memmove
      Src: /src/gpac/src/filter_core/filter_session.c:3700,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3710,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3729,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3794,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3737,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3767,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3684,1
    - Dst: jsfs_on_filter_destroyed
      Src: /src/gpac/src/filter_core/filter_session.c:3909,1
    - Dst: gf_url_to_fs_path
      Src: /src/gpac/src/filter_core/filter_session.c:3713,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_session.c:3939,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3790,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3895,1
    - Dst: gf_sys_solve_path
      Src: /src/gpac/src/filter_core/filter_session.c:3685,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3670,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter_session.c:3714,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3729,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3836,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3880,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:3639,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter_session.c:3675,1
    - Dst: gf_url_concatenate
      Src: /src/gpac/src/filter_core/filter_session.c:3692,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3858,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3893,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3871,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3865,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3664,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3699,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3867,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3875,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3745,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3651,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3668,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3691,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:3729,1
    - Dst: gf_filter_new_finalize
      Src: /src/gpac/src/filter_core/filter_session.c:3915,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3803,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3804,1
    - Dst: gf_fs_solve_js_script
      Src: /src/gpac/src/filter_core/filter_session.c:3731,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3927,1
    - Dst: gf_fs_load_filter_internal
      Src: /src/gpac/src/filter_core/filter_session.c:3738,1
    - Dst: locate_alias_sink
      Src: /src/gpac/src/filter_core/filter_session.c:3777,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:3928,1
    - Dst: gf_fs_path_escape_colon_ex
      Src: /src/gpac/src/filter_core/filter_session.c:3761,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_session.c:3856,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3689,1
    - Dst: gf_url_is_local
      Src: /src/gpac/src/filter_core/filter_session.c:3707,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3729,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3763,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3734,1
    - Dst: probe_meta_check_builtin_format
      Src: /src/gpac/src/filter_core/filter_session.c:3818,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3855,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filter_core/filter_session.c:3717,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3882,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3695,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3698,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter_session.c:3705,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3792,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3923,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3654,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3719,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3720,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3785,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3848,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:3744,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:3657,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3652,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3659,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter_session.c:3663,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3691,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:3684,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3862,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:3863,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter_session.c:3905,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3665,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3770,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:3935,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 310
    argCount: 11
    argNames:
    - fsess
    - url
    - user_args
    - parent_url
    - err
    - filter
    - dst_filter
    - for_source
    - no_args_inherit
    - probe_only
    - probe_reg
    argTypes:
    - GF_FilterSession*
    - char*
    - char*
    - char*
    - GF_Err*
    - GF_Filter*
    - GF_Filter*
    - Bool
    - Bool
    - Bool*
    - GF_FilterRegister**
    constantsTouched: []
    func_position:
      end: 3942
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3942
    functionName: gf_fs_load_source_dest_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - snprintf
    - gf_malloc
    - memset
    - strncmp
    - GF_LOG
    - strlwr
    - gf_url_to_fs_path
    - gf_url_is_local
    - strstr
    - gf_file_ext_start
    - gf_filter_new
    - gf_list_find
    - gf_strdup
    - gf_list_count
    - strcmp
    - jsfs_on_filter_destroyed
    - memmove
    - gf_fs_path_escape_colon
    - gf_dynstrcat
    - gf_list_get
    - gf_fs_load_filter_internal
    - sprintf
    - probe_meta_check_builtin_format
    - gf_filter_post_process_task
    - strchr
    - gf_free
    - gf_url_concatenate
    - locate_alias_sink
    - gf_sys_solve_path
    - gf_filter_new_finalize
    - gf_fs_solve_js_script
    - gf_fs_path_escape_colon_ex
    - strncpy
    - gf_file_exists
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_fs_load_source_dest_internal(GF_FilterSession *fsess,
      const char *url, const char *user_args, const char *parent_url, GF_Err *err,
      GF_Filter *filter, GF_Filter *dst_filter, Bool for_source, Bool no_args_inherit,
      Bool *probe_only, const GF_FilterRegister **probe_reg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_check_filter_register_cap_ex
      Src: /src/gpac/src/filter_core/filter_session.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - f_reg
    - incode
    - cap_input
    - outcode
    - cap_output
    - exact_match_only
    argTypes:
    - GF_FilterRegister*
    - u32
    - GF_PropertyValue*
    - u32
    - GF_PropertyValue*
    - Bool
    constantsTouched: []
    func_position:
      end: 1145
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1145
    functionName: gf_fs_check_filter_register_cap
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_check_filter_register_cap_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_check_filter_register_cap(const GF_FilterRegister
      *f_reg, u32 incode, GF_PropertyValue *cap_input, u32 outcode, GF_PropertyValue
      *cap_output, Bool exact_match_only) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/filter_core/filter_session.c:1295,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1297,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1302,1
    - Dst: locate_js_script
      Src: /src/gpac/src/filter_core/filter_session.c:1298,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter_session.c:1304,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1306,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1310,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:1314,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1319,1
    - Dst: locate_js_script
      Src: /src/gpac/src/filter_core/filter_session.c:1321,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1320,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1317,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1316,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - szPath
    - file_name
    - file_ext
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1327
    functionName: gf_fs_solve_js_script
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - locate_js_script
    - strcat
    - GF_LOG
    - strcmp
    - strchr
    - strncpy
    - strcpy
    - gf_opts_default_shared_directory
    - gf_opts_get_key
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_fs_solve_js_script(char *szPath, const char *file_name, const
      char *file_ext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_enum_unmapped_options
      Src: /src/gpac/src/filter_core/filter_session.c:3370,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3391,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3377,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3379,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:3394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 2
    argNames:
    - fsess
    - ignore_args
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 3396
      start: 3359
    functionDepth: 0
    functionLinenumber: 3359
    functionLinenumberEnd: 3396
    functionName: gf_fs_print_unused_args
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - GF_LOG
    - strchr
    - strstr
    - gf_fs_enum_unmapped_options
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_print_unused_args(GF_FilterSession *fsess, const
      char *ignore_args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4705,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - session
    - uievt
    argTypes:
    - GF_FilterSession*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4709
      start: 4702
    functionDepth: 0
    functionLinenumber: 4702
    functionLinenumberEnd: 4709
    functionName: gf_fs_ui_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_fs_ui_event(GF_FilterSession *session, GF_Event *uievt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 5005
      start: 5000
    functionDepth: 0
    functionLinenumber: 5000
    functionLinenumberEnd: 5005
    functionName: gf_fs_get_rt_udta
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_fs_get_rt_udta(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - session
    - max_chain_length
    argTypes:
    - GF_FilterSession*
    - u32
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: gf_fs_set_max_resolution_chain_length
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_max_resolution_chain_length(GF_FilterSession
      *session, u32 max_chain_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: gf_fs_get_max_resolution_chain_length
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_fs_get_max_resolution_chain_length(GF_FilterSession
      *session) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:4537,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:4538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4541
      start: 4532
    functionDepth: 0
    functionLinenumber: 4532
    functionLinenumberEnd: 4541
    functionName: gf_fs_is_last_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fq_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_is_last_task(GF_FilterSession *fsess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:5011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - session
    - on_gl_activate
    - udta
    argTypes:
    - GF_FilterSession*
    - gf_fs_gl_activate
    - void*
    constantsTouched: []
    func_position:
      end: 5015
      start: 5007
    functionDepth: 0
    functionLinenumber: 5007
    functionLinenumberEnd: 5015
    functionName: gf_fs_set_external_gl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_external_gl_provider(GF_FilterSession *session,
      gf_fs_gl_activate on_gl_activate, void *udta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:5115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:5118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - session
    - service_url
    - parent_url
    - out_relocated_url
    - out_localized_url
    argTypes:
    - GF_FilterSession*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5124
      start: 5110
    functionDepth: 0
    functionLinenumber: 5110
    functionLinenumberEnd: 5124
    functionName: gf_fs_relocate_url
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_fs_relocate_url(GF_FilterSession *session, const char
      *service_url, const char *parent_url, char *out_relocated_url, char *out_localized_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - session
    - max_sleep
    argTypes:
    - GF_FilterSession*
    - u32
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: gf_fs_set_max_sleep_time
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_max_sleep_time(GF_FilterSession *session,
      u32 max_sleep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:665,1
    - Dst: gf_filter_sess_reset_graph
      Src: /src/gpac/src/filter_core/filter_session.c:668,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_session.c:666,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - session
    - freg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: gf_fs_remove_filter_register
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_sess_reset_graph
    - gf_list_del_item
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_remove_filter_register(GF_FilterSession *session,
      GF_FilterRegister *freg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4548
      start: 4543
    functionDepth: 0
    functionLinenumber: 4543
    functionLinenumberEnd: 4548
    functionName: gf_fs_in_final_flush
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_in_final_flush(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_relocate_url
      Src: /src/gpac/src/filter_core/filter_session.c:5130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - filter
    - service_url
    - parent_url
    - out_relocated_url
    - out_localized_url
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5131
      start: 5126
    functionDepth: 0
    functionLinenumber: 5126
    functionLinenumberEnd: 5131
    functionName: gf_filter_relocate_url
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_relocate_url
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_relocate_url(GF_Filter *filter, const char
      *service_url, const char *parent_url, char *out_relocated_url, char *out_localized_url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filter_core/filter_session.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: check_task_list_enum
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fatal_assert
    linkageType: ''
    returnType: void
    signature: 'static void check_task_list_enum(void *udta, void *item) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1164,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1170,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filter_core/filter_session.c:1173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1176,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1166,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1196,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1198,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:1199,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_session.c:1201,1
    - Dst: gf_fs_check_filter_register_cap_ex
      Src: /src/gpac/src/filter_core/filter_session.c:1204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1210,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter_session.c:1215,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:1219,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session.c:1223,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_session.c:1218,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:1227,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_session.c:1211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1223,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 72
    argCount: 4
    argNames:
    - fsess
    - args
    - filter_blacklist
    - out_err
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_List*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1229
    functionName: gf_fs_load_encoder
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_filter_new
    - gf_list_find
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_fs_check_filter_register_cap_ex
    - GF_LOG
    - gf_list_new
    - strchr
    - gf_codecid_parse
    - strstr
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_fs_load_encoder(GF_FilterSession *fsess, const char
      *args, GF_List *filter_blacklist, GF_Err *out_err) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gpac/src/filter_core/filter_session.c:1683,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:1706,1
    - Dst: isspace
      Src: /src/gpac/src/filter_core/filter_session.c:1693,1
    - Dst: gf_fs_parse_filter_graph
      Src: /src/gpac/src/filter_core/filter_session.c:1705,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_session.c:1698,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 29
    argCount: 4
    argNames:
    - fsess
    - graph_str
    - out_loaded_filters
    - out_links_directive
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_List**
    - GF_List**
    constantsTouched: []
    func_position:
      end: 1708
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1708
    functionName: gf_fs_parse_filter_graph_str
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - isspace
    - gf_fs_parse_filter_graph
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_parse_filter_graph_str(GF_FilterSession *fsess,
      char *graph_str, GF_List **out_loaded_filters, GF_List **out_links_directive) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_download_manager
      Src: /src/gpac/src/filter_core/filter_session.c:4909,1
    - Dst: gf_dm_set_data_rate
      Src: /src/gpac/src/filter_core/filter_session.c:4912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - fs
    - rate
    argTypes:
    - GF_FilterSession*
    - u32
    constantsTouched: []
    func_position:
      end: 4915
      start: 4903
    functionDepth: 0
    functionLinenumber: 4903
    functionLinenumberEnd: 4915
    functionName: gf_fs_set_http_max_rate
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_dm_set_data_rate
    - gf_fs_get_download_manager
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_set_http_max_rate(GF_FilterSession *fs, u32
      rate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_session.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - fq
    - task
    argTypes:
    - GF_FilterQueue*
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: check_task_list
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fq_enum
    linkageType: ''
    returnType: void
    signature: 'static void check_task_list(GF_FilterQueue *fq, GF_FSTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1236,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1240,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1243,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1237,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - fsess
    - name
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1248
    functionName: gf_fs_filter_exists
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_count
    - gf_list_get
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_filter_exists(GF_FilterSession *fsess, const
      char *name) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1713,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1716,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1721,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1718,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1724,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1727,1
    - Dst: gf_filter_pid_get_name
      Src: /src/gpac/src/filter_core/filter_session.c:1727,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1730,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1732,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1734,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:1734,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1740,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1747,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_session.c:1740,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1738,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1743,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1742,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 3
    argNames:
    - taskn
    - task
    - for_filter
    argTypes:
    - u32*
    - GF_FSTask*
    - Bool
    constantsTouched: []
    func_position:
      end: 1748
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1748
    functionName: print_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_event_name
    - gf_filter_pid_get_name
    - fprintf
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void print_task(u32 *taskn, GF_FSTask *task, Bool for_filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - video_out
    argTypes:
    - GF_Filter*
    - GF_VideoOutput*
    constantsTouched: []
    func_position:
      end: 4874
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4874
    functionName: gf_filter_unclaim_opengl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_unclaim_opengl_provider(GF_Filter *filter, GF_VideoOutput
      * video_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_download_manager
      Src: /src/gpac/src/filter_core/filter_session.c:4922,1
    - Dst: gf_dm_get_global_rate
      Src: /src/gpac/src/filter_core/filter_session.c:4925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4929
      start: 4917
    functionDepth: 0
    functionLinenumber: 4917
    functionLinenumberEnd: 4929
    functionName: gf_fs_get_http_rate
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_dm_get_global_rate
    - gf_fs_get_download_manager
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_fs_get_http_rate(GF_FilterSession *fs) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:107,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:119,1
    - Dst: gf_filter_sess_build_graph
      Src: /src/gpac/src/filter_core/filter_session.c:141,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:113,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:131,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:108,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:102,1
    - Dst: gf_filter_has_in_caps
      Src: /src/gpac/src/filter_core/filter_session.c:129,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_session.c:137,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:138,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:112,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:140,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:136,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - fsess
    - freg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 143
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 143
    functionName: gf_fs_add_filter_register
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_filter_has_in_caps
    - strchr
    - gf_mx_v
    - gf_filter_sess_build_graph
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_add_filter_register(GF_FilterSession *fsess,
      const GF_FilterRegister *freg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:2764,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2822,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2833,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2854,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter_session.c:2858,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_session.c:2866,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2877,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:2850,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2762,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2778,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2787,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2795,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_session.c:2801,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2808,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2806,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_session.c:2823,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2830,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2774,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:2775,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2810,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_session.c:2827,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2849,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2860,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2862,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2874,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2875,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_session.c:2857,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2786,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2797,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2798,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2807,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2799,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:2836,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:2837,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2856,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter_session.c:2867,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2869,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 2
    argNames:
    - fsess
    - flush_type
    argTypes:
    - GF_FilterSession*
    - GF_FSFlushType
    constantsTouched: []
    func_position:
      end: 2879
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2879
    functionName: gf_fs_abort
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - safe_int_inc
    - GF_FEVT_INIT
    - gf_filter_pid_get_property
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_fs_post_task
    - gf_filter_pid_set_eos
    - gf_mx_v
    - gf_th_id
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_abort(GF_FilterSession *fsess, GF_FSFlushType
      flush_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3997,1
    - Dst: gf_fs_ui_event
      Src: /src/gpac/src/filter_core/filter_session.c:4011,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3999,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filter_core/filter_session.c:4000,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - fsess
    - evt
    - consumed
    - skip_user
    argTypes:
    - GF_FilterSession*
    - GF_Event*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4015
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 4015
    functionName: gf_fs_forward_gf_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_enum
    - gf_fs_ui_event
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_forward_gf_event(GF_FilterSession *fsess, GF_Event
      *evt, Bool consumed, Bool skip_user) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_user_task_internal
      Src: /src/gpac/src/filter_core/filter_session.c:4506,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 4
    argNames:
    - fsess
    - (*task_execute)
    - udta_callback
    - log_name
    argTypes:
    - GF_FilterSession*
    - Bool
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 4507
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4507
    functionName: gf_fs_post_user_task_main
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_user_task_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_post_user_task_main(GF_FilterSession *fsess,
      Bool (*task_execute) (GF_FilterSession *fsess, void *callback, u32 *reschedule_ms),
      void *udta_callback, const char *log_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4714,1
    - Dst: gf_filter_sess_reset_graph
      Src: /src/gpac/src/filter_core/filter_session.c:4718,1
    - Dst: gf_filter_sess_build_graph
      Src: /src/gpac/src/filter_core/filter_session.c:4715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - fsess
    - for_load
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 4720
      start: 4711
    functionDepth: 0
    functionLinenumber: 4711
    functionLinenumberEnd: 4720
    functionName: gf_fs_check_graph_load
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_sess_build_graph
    - gf_filter_sess_reset_graph
    - gf_list_count
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_check_graph_load(GF_FilterSession *fsess, Bool for_load) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4880
      start: 4877
    functionDepth: 0
    functionLinenumber: 4877
    functionLinenumberEnd: 4880
    functionName: gf_filter_claim_opengl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *gf_filter_claim_opengl_provider(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:46,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:48,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_session.c:46,1
    - Dst: gf_sema_notify
      Src: /src/gpac/src/filter_core/filter_session.c:47,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:56,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:57,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:62,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:62,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:68,1
    - Dst: gf_sema_wait_for
      Src: /src/gpac/src/filter_core/filter_session.c:69,1
    - Dst: gf_sema_wait
      Src: /src/gpac/src/filter_core/filter_session.c:82,1
    - Dst: gf_sema_wait
      Src: /src/gpac/src/filter_core/filter_session.c:72,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:78,1
    - Dst: gf_sema_wait_for
      Src: /src/gpac/src/filter_core/filter_session.c:79,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - fsess
    - notify
    - main
    argTypes:
    - GF_FilterSession*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: gf_fs_sema_io
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_sema_io
    - gf_sema_notify
    - gf_sema_wait
    - GF_LOG
    - gf_sema_wait_for
    - gf_th_id
    - gf_fq_count
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void gf_fs_sema_io(GF_FilterSession *fsess, Bool notify,
      Bool main) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_abort
      Src: /src/gpac/src/filter_core/filter_session.c:149,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session.c:156,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_session.c:154,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:154,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:156,1
    - Dst: jsfs_on_event
      Src: /src/gpac/src/filter_core/filter_session.c:162,1
    - Dst: jsfs_on_auth
      Src: /src/gpac/src/filter_core/filter_session.c:168,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_session.c:172,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:178,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:179,1
    - Dst: gf_read_line_input
      Src: /src/gpac/src/filter_core/filter_session.c:180,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:185,1
    - Dst: gf_read_line_input
      Src: /src/gpac/src/filter_core/filter_session.c:183,1
    - Dst: fprintf
      Src: /src/gpac/src/filter_core/filter_session.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - ptr
    - evt
    argTypes:
    - void*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 195
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 195
    functionName: fs_default_event_proc
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_read_line_input
    - gf_fs_abort
    - gf_error_to_string
    - fprintf
    - GF_LOG
    - jsfs_on_event
    - gf_sys_is_test_mode
    - jsfs_on_auth
    linkageType: ''
    returnType: Bool
    signature: 'static Bool fs_default_event_proc(void *ptr, GF_Event *evt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:2886,1
    - Dst: gf_fs_thread_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2912,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:2902,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2907,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:2890,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2913,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_session.c:2916,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2922,1
    - Dst: gf_fs_sema_io
      Src: /src/gpac/src/filter_core/filter_session.c:2928,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:2930,1
    - Dst: gf_fs_thread_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2933,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2938
      start: 2881
    functionDepth: 0
    functionLinenumber: 2881
    functionLinenumberEnd: 2938
    functionName: gf_fs_stop
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_sema_io
    - safe_int_inc
    - gf_list_count
    - GF_LOG
    - gf_sys_clock_high_res
    - gf_fs_thread_proc
    - gf_sleep
    - gf_fq_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_stop(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_forward_gf_event
      Src: /src/gpac/src/filter_core/filter_session.c:4021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - filter
    - evt
    - consumed
    - skip_user
    argTypes:
    - GF_Filter*
    - GF_Event*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4023
      start: 4017
    functionDepth: 0
    functionLinenumber: 4017
    functionLinenumberEnd: 4023
    functionName: gf_filter_forward_gf_event
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_forward_gf_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_forward_gf_event(GF_Filter *filter, GF_Event
      *evt, Bool consumed, Bool skip_user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_get_font_manager
      Src: /src/gpac/src/filter_core/filter_session.c:4404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4405
      start: 4401
    functionDepth: 0
    functionLinenumber: 4401
    functionLinenumberEnd: 4405
    functionName: gf_filter_get_font_manager
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_get_font_manager
    linkageType: ''
    returnType: _gf_ft_mgr*
    signature: '_gf_ft_mgr *gf_filter_get_font_manager(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:4514,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:4523,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:4521,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_session.c:4527,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter_session.c:4524,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 4
    argNames:
    - filter
    - (*task_execute)
    - udta
    - task_name
    argTypes:
    - GF_Filter*
    - Bool
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 4529
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4529
    functionName: gf_filter_post_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_strdup
    - gf_fs_post_task_class
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_post_task(GF_Filter *filter, Bool (*task_execute)
      (GF_Filter *filter, void *callback, u32 *reschedule_ms), void *udta, const char
      *task_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:4729,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:4742,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:4745,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter_session.c:4751,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:4743,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filter_core/filter_session.c:4753,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - fsess
    - name
    - flags
    - e
    argTypes:
    - GF_FilterSession*
    - char*
    - u32
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4756
      start: 4722
    functionDepth: 0
    functionLinenumber: 4722
    functionLinenumberEnd: 4756
    functionName: gf_fs_new_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_filter_new
    - gf_filter_set_name
    - gf_strdup
    - sprintf
    - strchr
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_fs_new_filter(GF_FilterSession *fsess, const
      char *name, u32 flags, GF_Err *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - filter
    - vout
    argTypes:
    - GF_Filter*
    - void*
    constantsTouched: []
    func_position:
      end: 4884
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4884
    functionName: gf_filter_unclaim_opengl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_unclaim_opengl_provider(GF_Filter *filter, void *vout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_session.c:4313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - caps
    argTypes:
    - GF_Filter*
    - GF_FilterSessionCaps*
    constantsTouched: []
    func_position:
      end: 4316
      start: 4306
    functionDepth: 0
    functionLinenumber: 4306
    functionLinenumberEnd: 4316
    functionName: gf_filter_get_session_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_get_session_caps(GF_Filter *filter, GF_FilterSessionCaps
      *caps) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_encoder
      Src: /src/gpac/src/filter_core/filter_session.c:1356,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1370,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_session.c:1388,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:1365,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1412,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_session.c:1416,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1423,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filter_core/filter_session.c:1429,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filter_core/filter_session.c:1434,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1438,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:1337,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:1341,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1345,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_session.c:1355,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1403,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1403,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1403,1
    - Dst: gf_fs_solve_js_script
      Src: /src/gpac/src/filter_core/filter_session.c:1417,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1419,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:1420,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1450,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:1333,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:1336,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1358,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter_session.c:1376,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:1364,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1421,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1439,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:1449,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_session.c:1453,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_session.c:1349,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:1365,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1380,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:1387,1
    - Dst: gf_fs_load_encoder
      Src: /src/gpac/src/filter_core/filter_session.c:1359,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filter_core/filter_session.c:1399,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:1410,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_session.c:1413,1
    - Dst: gf_fread
      Src: /src/gpac/src/filter_core/filter_session.c:1433,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1439,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:1438,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_session.c:1452,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 133
    argCount: 4
    argNames:
    - fsess
    - name
    - err_code
    - probe_only
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_Err*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1458
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1458
    functionName: gf_fs_load_filter_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - GF_LOG
    - strstr
    - gf_file_ext_start
    - gf_filter_new
    - gf_list_count
    - strcmp
    - strcpy
    - gf_assert
    - gf_fopen
    - gf_list_get
    - gf_fread
    - sprintf
    - gf_fs_load_encoder
    - gf_filter_post_process_task
    - strchr
    - strcat
    - gf_fs_solve_js_script
    - strncpy
    - gf_fclose
    - gf_fs_load_filter
    - gf_file_exists
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *gf_fs_load_filter_internal(GF_FilterSession *fsess,
      const char *name, GF_Err *err_code, Bool *probe_only) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_thread_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2690,1
    - Dst: gf_th_run
      Src: /src/gpac/src/filter_core/filter_session.c:2710,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_session.c:2713,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:2707,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:2709,1
    - Dst: gf_fs_thread_proc
      Src: /src/gpac/src/filter_core/filter_session.c:2726,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_session.c:2738,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2743
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2743
    functionName: gf_fs_run
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_th_run
    - safe_int_inc
    - gf_fs_thread_proc
    - gf_sleep
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_run(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4431
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4431
    functionName: gf_fs_get_last_process_error
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_get_last_process_error(GF_FilterSession *fs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_rmt_begin_hash
      Src: /src/gpac/src/filter_core/filter_session.c:4451,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_session.c:4460,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:4463,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_session.c:4466,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_session.c:4469,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_session.c:4470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 4472
      start: 4444
    functionDepth: 0
    functionLinenumber: 4444
    functionLinenumberEnd: 4472
    functionName: gf_fs_user_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_sys_clock_high_res
    - gf_rmt_begin_hash
    - gf_assert
    - gf_rmt_end
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_fs_user_task(GF_FSTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_user_task_internal
      Src: /src/gpac/src/filter_core/filter_session.c:4494,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 4
    argNames:
    - fsess
    - (*task_execute)
    - udta_callback
    - log_name
    argTypes:
    - GF_FilterSession*
    - Bool
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4491
    functionDepth: 0
    functionLinenumber: 4491
    functionLinenumberEnd: 4495
    functionName: gf_fs_post_user_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_user_task_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_post_user_task(GF_FilterSession *fsess, Bool
      (*task_execute) (GF_FilterSession *fsess, void *callback, u32 *reschedule_ms),
      void *udta_callback, const char *log_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - caps
    argTypes:
    - GF_Filter*
    - GF_FilterSessionCaps*
    constantsTouched: []
    func_position:
      end: 4325
      start: 4318
    functionDepth: 0
    functionLinenumber: 4318
    functionLinenumberEnd: 4325
    functionName: gf_filter_set_session_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_set_session_caps(GF_Filter *filter, GF_FilterSessionCaps
      *caps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_filter_internal
      Src: /src/gpac/src/filter_core/filter_session.c:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - fsess
    - name
    - err_code
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1464
    functionName: gf_fs_load_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_load_filter_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_fs_load_filter(GF_FilterSession *fsess, const
      char *name, GF_Err *err_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_session.c:2748,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_session.c:2753,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_session.c:2751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2755
    functionName: filter_abort_task
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - safe_int_dec
    - gf_filter_pid_set_eos
    linkageType: ''
    returnType: void
    signature: 'static void filter_abort_task(GF_FSTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:4480,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:4486,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter_session.c:4487,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 6
    argNames:
    - fsess
    - (*task_execute)
    - udta_callback
    - log_name
    - force_main
    - delay_ms
    argTypes:
    - GF_FilterSession*
    - Bool
    - void*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 4489
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4489
    functionName: gf_fs_post_user_task_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_ex
    - gf_strdup
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_fs_post_user_task_internal(GF_FilterSession *fsess,
      Bool (*task_execute) (GF_FilterSession *fsess, void *callback, u32 *reschedule_ms),
      void *udta_callback, const char *log_name, Bool force_main, u32 delay_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_user_task_internal
      Src: /src/gpac/src/filter_core/filter_session.c:4500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - fsess
    - (*task_execute)
    - udta_callback
    - log_name
    - delay_ms
    argTypes:
    - GF_FilterSession*
    - Bool
    - void*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 4501
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4501
    functionName: gf_fs_post_user_task_delay
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_fs_post_user_task_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_fs_post_user_task_delay(GF_FilterSession *fsess,
      Bool (*task_execute) (GF_FilterSession *fsess, void *callback, u32 *reschedule_ms),
      void *udta_callback, const char *log_name, u32 delay_ms) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:696,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:699,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 15
    argCount: 6
    argNames:
    - fsess
    - idx
    - argname
    - argtype
    - meta_filter
    - meta_sub_opt
    argTypes:
    - GF_FilterSession*
    - u32*
    - char**
    - u32*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 709
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 709
    functionName: gf_fs_enum_unmapped_options
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_fs_enum_unmapped_options(GF_FilterSession *fsess,
      u32 *idx, const char **argname, u32 *argtype, const char **meta_filter, const
      char **meta_sub_opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: gf_fs_filters_registers_count
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_fs_filters_registers_count(GF_FilterSession *fsess) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3411,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3441,1
    - Dst: filter_parse_logs
      Src: /src/gpac/src/filter_core/filter_session.c:3446,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_session.c:3474,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3477,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3418,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3417,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3415,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3424,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3458,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3476,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_session.c:3484,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3421,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3436,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3445,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3460,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:3465,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:3467,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3480,1
    - Dst: gf_filter_update_arg_apply
      Src: /src/gpac/src/filter_core/filter_session.c:3466,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_session.c:3481,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 6
    argNames:
    - fsess
    - fid
    - filter
    - name
    - val
    - propagate_mask
    argTypes:
    - GF_FilterSession*
    - char*
    - GF_Filter*
    - char*
    - char*
    - GF_EventPropagateType
    constantsTouched: []
    func_position:
      end: 3485
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3485
    functionName: gf_fs_send_update
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - filter_parse_logs
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - gf_mx_p
    - strcmp
    - gf_fs_post_task
    - strchr
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_filter_update_arg_apply
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_send_update(GF_FilterSession *fsess, const char
      *fid, GF_Filter *filter, const char *name, const char *val, GF_EventPropagateType
      propagate_mask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_session.c:4580,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_session.c:4581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - session
    - do_lock
    argTypes:
    - GF_FilterSession*
    - Bool
    constantsTouched: []
    func_position:
      end: 4582
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4582
    functionName: gf_fs_lock_filters
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_lock_filters(GF_FilterSession *session, Bool
      do_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fsess
    - idx
    argTypes:
    - GF_FilterSession*
    - u32
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: gf_fs_get_filter_register
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_FilterRegister * gf_fs_get_filter_register(GF_FilterSession
      *fsess, u32 idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:3498,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3538,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter_session.c:3500,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:3506,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter_session.c:3508,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_session.c:3515,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_session.c:3523,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_session.c:3530,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filter_core/filter_session.c:3492,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3501,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:3493,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3516,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter_session.c:3532,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_session.c:3590,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_session.c:3554,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_session.c:3543,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_session.c:3527,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 91
    argCount: 5
    argNames:
    - fsess
    - freg
    - url
    - _mime
    - fargs
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3599
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3599
    functionName: probe_meta_check_builtin_format
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_list_count
    - sprintf
    - strcmp
    - strchr
    - strncpy
    - strlwr
    - strstr
    - gf_file_ext_start
    linkageType: ''
    returnType: GF_FilterProbeScore
    signature: 'static GF_FilterProbeScore probe_meta_check_builtin_format(GF_FilterSession
      *fsess, GF_FilterRegister *freg, const char *url, const char *_mime, char *fargs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_session.c:4587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 4588
      start: 4584
    functionDepth: 0
    functionLinenumber: 4584
    functionLinenumberEnd: 4588
    functionName: gf_fs_get_filters_count
    functionSourceFile: /src/gpac/src/filter_core/filter_session.c
    functionUses: []
    functionsReached:
    - gf_list_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_fs_get_filters_count(GF_FilterSession *session) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_set_gl
      Src: /src/gpac/src/filter_core/filter.c:4993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - do_activate
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 4997
      start: 4988
    functionDepth: 0
    functionLinenumber: 4988
    functionLinenumberEnd: 4997
    functionName: gf_filter_set_active_opengl_context
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_set_gl
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_active_opengl_context(GF_Filter *filter,
      Bool do_activate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5121
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5121
    functionName: gf_filter_reporting_enabled
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_reporting_enabled(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5259
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5259
    functionName: gf_filter_get_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterArgs *gf_filter_get_args(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ((arg_type==GF_FILTER_ARG_EXPLICIT_SOURCE) || (arg_type==GF_FILTER_ARG_EXPLICIT_SINK))
    - '&& !filter->orig_args'
    argTypes:
    - ''
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FSESS_CHECK_THREAD(filter)
    signature: 'FSESS_CHECK_THREAD(filter) if (((arg_type==GF_FILTER_ARG_EXPLICIT_SOURCE)
      || (arg_type==GF_FILTER_ARG_EXPLICIT_SINK)) && !filter->orig_args) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5005,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:5006,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:5015,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:5007,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5010,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:5017,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5021,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter.c:5022,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5026,1
    - Dst: enum_pids
      Src: /src/gpac/src/filter_core/filter.c:5030,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter.c:5033,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5039,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5045,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5048,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 5
    argNames:
    - filter
    - protocol_scheme
    - expand_proto
    - (*enum_pids)
    - udta
    argTypes:
    - GF_Filter*
    - char*
    - Bool
    - GF_FilterPid*
    - void*
    constantsTouched: []
    func_position:
      end: 5050
      start: 5000
    functionDepth: 0
    functionLinenumber: 5000
    functionLinenumberEnd: 5050
    functionName: gf_filter_count_source_by_protocol
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_filter_in_parent_chain
    - strncmp
    - gf_list_count
    - gf_mx_p
    - gf_mx_v
    - enum_pids
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_count_source_by_protocol(GF_Filter *filter,
      const char *protocol_scheme, Bool expand_proto, GF_FilterPid * (*enum_pids)(void
      *udta, u32 *idx), void *udta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:5136,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter.c:5145,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter.c:5139,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:5149,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:5154,1
    - Dst: gf_fs_ui_event
      Src: /src/gpac/src/filter_core/filter.c:5155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - filter
    - percent
    - szStatus
    argTypes:
    - GF_Filter*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 5157
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5157
    functionName: gf_filter_update_status
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - gf_list_find
    - gf_realloc
    - gf_fs_ui_event
    - memcpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_update_status(GF_Filter *filter, u32 percent,
      char *szStatus) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - nb_caps
    argTypes:
    - GF_Filter*
    - u32*
    constantsTouched: []
    func_position:
      end: 5267
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5267
    functionName: gf_filter_get_caps
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_FilterCapability *gf_filter_get_caps(GF_Filter
      *filter, u32 *nb_caps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:817,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:820,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - ID
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 821
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 821
    functionName: gf_filter_set_id
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_set_id(GF_Filter *filter, const char *ID) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_relink_get_upper_pid
      Src: /src/gpac/src/filter_core/filter.c:2505,1
    - Dst: gf_filter_relink_dst
      Src: /src/gpac/src/filter_core/filter.c:2517,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2511,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 2518
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2518
    functionName: gf_filter_relink_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_relink_dst
    - safe_int_dec
    - gf_assert
    - filter_relink_get_upper_pid
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_relink_task(GF_FSTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:4179,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4183,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4180,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4181,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4185,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:4186,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:4193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - filter
    - url
    - act_as_source
    argTypes:
    - GF_Filter*
    - char*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4203
      start: 4176
    functionDepth: 0
    functionLinenumber: 4176
    functionLinenumberEnd: 4203
    functionName: gf_filter_url_is_filter
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - strncmp
    - gf_list_count
    - strcmp
    - strchr
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_url_is_filter(GF_Filter *filter, const char
      *url, Bool *act_as_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5202
      start: 5198
    functionDepth: 0
    functionLinenumber: 5198
    functionLinenumberEnd: 5202
    functionName: gf_filter_get_class_hint
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_ClassTypeHint gf_filter_get_class_hint(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5232
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5232
    functionName: gf_filter_get_author
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_author(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter.c:5704,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5706,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5707,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:5708,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:5707,1
    - Dst: gf_filter_pid_dump_buffers
      Src: /src/gpac/src/filter_core/filter.c:5710,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5710,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5716,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:5716,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5718,1
    - Dst: gf_filter_pid_dump_buffers
      Src: /src/gpac/src/filter_core/filter.c:5719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5721
      start: 5700
    functionDepth: 0
    functionLinenumber: 5700
    functionLinenumberEnd: 5721
    functionName: gf_filter_pid_dump_buffers
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_dump_buffers
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_dump_buffers(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:827,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:830,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 832
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 832
    functionName: gf_filter_reset_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_reset_source(GF_Filter *filter) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1305,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1306,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1324,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1338,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1342,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1349,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter.c:1376,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1308,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter.c:1307,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter.c:1310,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:1314,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1339,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1343,1
    - Dst: gf_log_parse_tool
      Src: /src/gpac/src/filter_core/filter.c:1364,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1332,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1340,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1343,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter.c:1377,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1323,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1341,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1361,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1366,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1391,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 2
    argNames:
    - filter
    - _logs
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1392
    functionName: filter_parse_logs
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_log_pop_extra
    - gf_realloc
    - gf_strdup
    - strcmp
    - GF_LOG
    - gf_log_parse_tool
    - strchr
    - GF_SAFEALLOC
    - gf_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void filter_parse_logs(GF_Filter *filter, const char *_logs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter.c:2549,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2562,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2564,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filter_core/filter.c:2536,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2558,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter.c:2592,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:2597,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:2593,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2542,1
    - Dst: gf_filter_pid_resolve_link_length
      Src: /src/gpac/src/filter_core/filter.c:2572,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter.c:2586,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2569,1
    - Dst: gf_filter_renegotiate_output_dst
      Src: /src/gpac/src/filter_core/filter.c:2601,1
    - Dst: filter_relink_get_upper_pid
      Src: /src/gpac/src/filter_core/filter.c:2535,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:2544,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:2556,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter.c:2567,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter.c:2594,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2577,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:2591,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 2
    argNames:
    - from_pidinst
    - reason
    argTypes:
    - GF_FilterPidInst*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 2602
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2602
    functionName: gf_filter_relink_dst
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fs_post_disconnect_task
    - gf_filter_pid_send_event_internal
    - GF_FEVT_INIT
    - gf_mx_p
    - gf_fs_post_task
    - gf_filter_pid_caps_match
    - gf_fs_check_graph_load
    - gf_fatal_assert
    - filter_relink_get_upper_pid
    - safe_int_inc
    - gf_filter_pid_resolve_link_length
    - gf_filter_renegotiate_output_dst
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_relink_dst(GF_FilterPidInst *from_pidinst, GF_Err reason) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4026,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:4045,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4062,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4098,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4102,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4106,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4110,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filter_core/filter.c:4117,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter.c:4019,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:4024,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4078,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4083,1
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter.c:4082,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4028,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:4035,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4059,1
    - Dst: gf_filter_swap_source_register
      Src: /src/gpac/src/filter_core/filter.c:4093,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4097,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4108,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4021,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:4022,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4087,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4092,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4096,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4118,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4120
      start: 4010
    functionDepth: 0
    functionLinenumber: 4010
    functionLinenumberEnd: 4120
    functionName: gf_filter_swap_source_register
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_mx_p
    - gf_fs_post_task
    - strcmp
    - gf_free
    - GF_LOG
    - gf_filter_swap_source_register
    - gf_filter_setup_failure
    - gf_mx_v
    - gf_fs_load_source_dest_internal
    - gf_filter_reset_pending_packets
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_swap_source_register(GF_Filter *filter) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4221,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4238,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4240,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4254,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4247,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4250,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4258,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4265,1
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter.c:4280,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4282,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:4298,1
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:4227,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4248,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4247,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4246,1
    - Dst: memmove
      Src: /src/gpac/src/filter_core/filter.c:4268,1
    - Dst: gf_filter_url_is_filter
      Src: /src/gpac/src/filter_core/filter.c:4277,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4299,1
    - Dst: gf_filter_get_dst_args
      Src: /src/gpac/src/filter_core/filter.c:4229,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4245,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4251,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4256,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4257,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4264,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:4267,1
    - Dst: gf_filter_set_id
      Src: /src/gpac/src/filter_core/filter.c:4287,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4295,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4217,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4239,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4268,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter.c:4278,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filter_core/filter.c:4288,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:4297,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 6
    argNames:
    - filter
    - url
    - parent_url
    - inherit_args
    - is_src_add
    - err
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - Bool
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4301
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4301
    functionName: gf_filter_connect_source_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - gf_fs_load_source_dest_internal
    - strstr
    - gf_filter_get_dst_args
    - gf_list_new
    - memmove
    - gf_dynstrcat
    - gf_list_get
    - gf_filter_set_name
    - sprintf
    - gf_mx_p
    - strchr
    - gf_mx_v
    - gf_free
    - gf_filter_get_args_stripped
    - gf_filter_url_is_filter
    - gf_filter_set_id
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_connect_source_internal(GF_Filter *filter,
      const char *url, const char *parent_url, Bool inherit_args, Bool is_src_add,
      GF_Err *err) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5208,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - new_desc
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5212
      start: 5204
    functionDepth: 0
    functionLinenumber: 5204
    functionLinenumberEnd: 5212
    functionName: gf_filter_set_version
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_set_version(GF_Filter *filter, const char *new_desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5238,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - new_desc
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5242
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5242
    functionName: gf_filter_set_help
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_set_help(GF_Filter *filter, const char *new_desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_dump_buffers
      Src: /src/gpac/src/filter_core/filter.c:5727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5727,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5730,1
    - Dst: gf_filter_pid_dump_buffers
      Src: /src/gpac/src/filter_core/filter.c:5730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5732
      start: 5722
    functionDepth: 0
    functionLinenumber: 5722
    functionLinenumberEnd: 5732
    functionName: gf_filter_dump_buffers
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_dump_buffers
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_dump_buffers(GF_Filter *f) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4132,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter.c:4142,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter.c:4137,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4136,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4138,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4144,1
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filter_core/filter.c:4145,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4147,1
    - Dst: gf_filter_pck_set_cts
      Src: /src/gpac/src/filter_core/filter.c:4150,1
    - Dst: gf_filter_pck_set_clock_type
      Src: /src/gpac/src/filter_core/filter.c:4151,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filter_core/filter.c:4160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4165
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4165
    functionName: gf_filter_forward_clock
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - gf_mx_p
    - GF_LOG
    - gf_filter_pck_send
    - gf_timestamp_rescale
    - gf_filter_pck_set_cts
    - gf_mx_v
    - gf_filter_pck_set_clock_type
    - gf_filter_pck_new_shared
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_forward_clock(GF_Filter *filter) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2333,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2338,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter.c:2336,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:2345,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:2341,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:2346,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:2347,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter.c:2349,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2368,1
    - Dst: gf_filter_load_arg_config
      Src: /src/gpac/src/filter_core/filter.c:2377,1
    - Dst: gf_filter_set_arg
      Src: /src/gpac/src/filter_core/filter.c:2386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2393,1
    - Dst: gf_filter_parse_prop_solve_env_var
      Src: /src/gpac/src/filter_core/filter.c:2382,1
    - Dst: filter_parse_dyn_args
      Src: /src/gpac/src/filter_core/filter.c:2401,1
    - Dst: gf_filter_load_meta_args_config
      Src: /src/gpac/src/filter_core/filter.c:2398,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter.c:2390,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filter_core/filter.c:2412,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 64
    argCount: 4
    argNames:
    - filter
    - args
    - arg_type
    - for_script
    argTypes:
    - GF_Filter*
    - char*
    - GF_FilterArgType
    - Bool
    constantsTouched: []
    func_position:
      end: 2415
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2415
    functionName: gf_filter_parse_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - snprintf
    - gf_filter_parse_prop_solve_env_var
    - memset
    - gf_filter_force_main_thread
    - sprintf
    - GF_LOG
    - strcmp
    - gf_filter_load_meta_args_config
    - filter_parse_dyn_args
    - gf_filter_set_arg
    - gf_filter_load_arg_config
    - gf_props_reset_single
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_parse_args(GF_Filter *filter, const char *args,
      GF_FilterArgType arg_type, Bool for_script) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2446,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2448,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2455,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2451,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2454,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:2457,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:2458,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2459,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter.c:2460,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2463,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:2466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2470
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2470
    functionName: gf_filter_check_output_reconfig
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_get
    - safe_int_inc
    - gf_mx_p
    - gf_fs_post_task
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_list_del_item
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_check_output_reconfig(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter.c:4318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - url
    - err
    argTypes:
    - GF_Filter*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4319
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4319
    functionName: gf_filter_connect_destination
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source_dest_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_connect_destination(GF_Filter *filter,
      const char *url, GF_Err *err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - enable_events
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5417
      start: 5411
    functionDepth: 0
    functionLinenumber: 5411
    functionLinenumberEnd: 5417
    functionName: gf_filter_set_event_target
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_event_target(GF_Filter *filter, Bool
      enable_events) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:2431,1
    - Dst: gf_filter_set_arg
      Src: /src/gpac/src/filter_core/filter.c:2433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: reset_filter_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - memset
    - gf_filter_set_arg
    linkageType: ''
    returnType: void
    signature: 'static void reset_filter_args(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2483,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:2494,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2488,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 2
    argNames:
    - src_pidinst
    - needs_flush
    argTypes:
    - GF_FilterPidInst*
    - Bool*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2498
    functionName: filter_relink_get_upper_pid
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fq_count
    linkageType: ''
    returnType: GF_FilterPidInst*
    signature: 'static GF_FilterPidInst *filter_relink_get_upper_pid(GF_FilterPidInst
      *src_pidinst, Bool *needs_flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_source_dest_internal
      Src: /src/gpac/src/filter_core/filter.c:4172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - filter
    - url
    - parent_url
    argTypes:
    - GF_Filter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4174
      start: 4167
    functionDepth: 0
    functionLinenumber: 4167
    functionLinenumberEnd: 4174
    functionName: gf_filter_is_supported_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_load_source_dest_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_supported_source(GF_Filter *filter, const
      char *url, const char *parent_url) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4330,1
    - Dst: gf_filter_get_output_buffer_max
      Src: /src/gpac/src/filter_core/filter.c:4340,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - filter
    - max_buf
    - max_playout_buf
    argTypes:
    - GF_Filter*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 4348
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4348
    functionName: gf_filter_get_output_buffer_max
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_get_output_buffer_max
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_get_output_buffer_max(GF_Filter *filter,
      u32 *max_buf, u32 *max_playout_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5425,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter.c:5430,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5434,1
    - Dst: gf_filter_sess_reset_graph
      Src: /src/gpac/src/filter_core/filter.c:5445,1
    - Dst: gf_filter_caps_bundle_count
      Src: /src/gpac/src/filter_core/filter.c:5439,1
    - Dst: gf_filter_sess_build_graph
      Src: /src/gpac/src/filter_core/filter.c:5446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - filter
    - code
    - value
    - name
    - flags
    - priority
    argTypes:
    - GF_Filter*
    - u32
    - GF_PropertyValue*
    - char*
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 5449
      start: 5419
    functionDepth: 0
    functionLinenumber: 5419
    functionLinenumberEnd: 5449
    functionName: gf_filter_push_caps
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - gf_filter_sess_reset_graph
    - gf_strdup
    - GF_LOG
    - gf_filter_caps_bundle_count
    - gf_filter_sess_build_graph
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_push_caps(GF_Filter *filter, u32 code,
      GF_PropertyValue *value, const char *name, u32 flags, u8 priority) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_opid
      Src: /src/gpac/src/filter_core/filter.c:5748,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter.c:5762,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:5789,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:5797,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:5800,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:5803,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter.c:5809,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:5754,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:5751,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:5756,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:5760,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:5785,1
    - Dst: gf_filter_pid_compute_link
      Src: /src/gpac/src/filter_core/filter.c:5778,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5768,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5798,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5753,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:5755,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:5774,1
    - Dst: gf_fs_load_destination
      Src: /src/gpac/src/filter_core/filter.c:5764,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:5786,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:5794,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:5805,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter.c:5810,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:5751,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:5758,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter.c:5766,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:5781,1
    - Dst: gf_fs_lock_filters
      Src: /src/gpac/src/filter_core/filter.c:5771,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:5763,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5791,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    argCount: 5
    argNames:
    - filter
    - opid_idx
    - fname
    - all_links
    - res_chain
    argTypes:
    - GF_Filter*
    - u32
    - char*
    - Bool
    - char**
    constantsTouched: []
    func_position:
      end: 5813
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5813
    functionName: gf_filter_probe_link_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - strncmp
    - strstr
    - gf_list_del
    - gf_strdup
    - gf_list_count
    - gf_list_new
    - gf_list_del_item
    - gf_dynstrcat
    - gf_list_get
    - gf_fs_load_destination
    - sprintf
    - gf_fs_lock_filters
    - gf_filter_del
    - gf_free
    - gf_filter_get_opid
    - gf_filter_pid_compute_link
    - gf_fs_load_filter
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_probe_link_internal(GF_Filter *filter, u32
      opid_idx, const char *fname, Bool all_links, char **res_chain) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5835,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter.c:5861,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5855,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5844,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:5841,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:5868,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 3
    argNames:
    - filter
    - opid_idx
    - res_list
    argTypes:
    - GF_Filter*
    - s32
    - char**
    constantsTouched: []
    func_position:
      end: 5873
      start: 5828
    functionDepth: 0
    functionLinenumber: 5828
    functionLinenumberEnd: 5873
    functionName: gf_filter_get_possible_destinations
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_list_count
    - gf_list_get
    - gf_filter_pid_caps_match
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_get_possible_destinations(GF_Filter *filter,
      s32 opid_idx, char **res_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - time_in_us
    - media_timestamp
    argTypes:
    - GF_Filter*
    - u64*
    - GF_Fraction64*
    constantsTouched: []
    func_position:
      end: 4402
      start: 4396
    functionDepth: 0
    functionLinenumber: 4396
    functionLinenumberEnd: 4402
    functionName: gf_filter_get_clock_hint
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_get_clock_hint(GF_Filter *filter, u64 *time_in_us,
      GF_Fraction64 *media_timestamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - prevent_blocking_enabled
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5368
      start: 5362
    functionDepth: 0
    functionLinenumber: 5362
    functionLinenumberEnd: 5368
    functionName: gf_filter_prevent_blocking
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_prevent_blocking(GF_Filter *filter, Bool
      prevent_blocking_enabled) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - udta
    argTypes:
    - GF_Filter*
    - void*
    constantsTouched: []
    func_position:
      end: 5528
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5528
    functionName: gf_filter_set_rt_udta
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_rt_udta(GF_Filter *filter, void *udta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:2284,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - update_arg
    argTypes:
    - has_meta_args
    constantsTouched: []
    func_position:
      end: 2298
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2298
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_props_parse_value
    - gf_free
    linkageType: ''
    returnType: else
    signature: 'else if (has_meta_args && filter->freg->update_arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:4411,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:4414,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:4412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - filter
    - id
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4417
    functionName: gf_filter_assign_id
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - sprintf
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_assign_id(GF_Filter *filter, const char
      *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5374
      start: 5370
    functionDepth: 0
    functionLinenumber: 5370
    functionLinenumberEnd: 5374
    functionName: gf_filter_is_dynamic
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_dynamic(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5535
      start: 5530
    functionDepth: 0
    functionLinenumber: 5530
    functionLinenumberEnd: 5535
    functionName: gf_filter_get_rt_udta
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_filter_get_rt_udta(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3683
      start: 3679
    functionDepth: 0
    functionLinenumber: 3679
    functionLinenumberEnd: 3683
    functionName: task_postponed_log
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: void
    signature: 'static void task_postponed_log(void *udta, void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - idx
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 3409
      start: 3405
    functionDepth: 0
    functionLinenumber: 3405
    functionLinenumberEnd: 3409
    functionName: gf_filter_get_opid
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPid *gf_filter_get_opid(GF_Filter *filter, u32
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_post_process_task_internal
      Src: /src/gpac/src/filter_core/filter.c:3456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3457
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3457
    functionName: gf_filter_post_process_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_post_process_task_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_post_process_task(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_parse_logs
      Src: /src/gpac/src/filter_core/filter.c:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - '!'
    - (arg, "LT", len)
    argTypes:
    - strncmp
    constantsTouched: []
    func_position:
      end: 1483
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1483
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - filter_parse_logs
    linkageType: ''
    returnType: else
    signature: 'else if (!strncmp(arg, "LT", len)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3421,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:3431,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3428,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter.c:3432,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3427,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:3433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3434,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter.c:3436,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3438,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3439,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3448,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:3444,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3450,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - filter
    - use_direct_dispatch
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 3451
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3451
    functionName: gf_filter_post_process_task_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_ex
    - gf_mx_p
    - GF_LOG
    - gf_sys_clock_high_res
    - safe_int_inc
    - gf_assert
    - gf_fq_count
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_post_process_task_internal(GF_Filter *filter, Bool
      use_direct_dispatch) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3472,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3495,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter.c:3479,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3491,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - filter
    - us_until_next
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 3496
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3496
    functionName: gf_filter_ask_rt_reschedule
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_post_process_task
    - GF_LOG
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_ask_rt_reschedule(GF_Filter *filter, u32
      us_until_next) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: gf_filter_get_src_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_filter_get_src_args(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 804
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 804
    functionName: gf_filter_get_name
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char * gf_filter_get_name(GF_Filter *filter) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_opts_get_key_count
      Src: /src/gpac/src/filter_core/filter.c:1544,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1594,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1619,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1557,1
    - Dst: gf_sys_has_filter_global_meta_args
      Src: /src/gpac/src/filter_core/filter.c:1572,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1595,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1564,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:1567,1
    - Dst: gf_opts_get_key_name
      Src: /src/gpac/src/filter_core/filter.c:1551,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:1615,1
    - Dst: gf_errno_str
      Src: /src/gpac/src/filter_core/filter.c:1628,1
    - Dst: gf_sys_has_filter_global_args
      Src: /src/gpac/src/filter_core/filter.c:1574,1
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/filter_core/filter.c:1579,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/filter_core/filter.c:1586,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:1610,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1604,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1596,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter.c:1621,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1628,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 90
    argCount: 2
    argNames:
    - sec_name
    - filter
    argTypes:
    - char*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 1634
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1634
    functionName: gf_filter_load_meta_args_config
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - strncmp
    - gf_errno_str
    - strcmp
    - gf_opts_get_key_count
    - gf_sys_get_argc
    - GF_LOG
    - memcpy
    - strchr
    - strncpy
    - gf_sys_has_filter_global_meta_args
    - gf_opts_get_key_name
    - gf_sys_get_arg
    - gf_sys_has_filter_global_args
    - gf_opts_get_key
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_load_meta_args_config(const char *sec_name,
      GF_Filter *filter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3290,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:3297,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filter_core/filter.c:3295,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter.c:3294,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3293,1
    - Dst: gf_filter_process_check_alloc
      Src: /src/gpac/src/filter_core/filter.c:3311,1
    - Dst: gf_filter_check_pending_pids
      Src: /src/gpac/src/filter_core/filter.c:3320,1
    - Dst: session_should_abort
      Src: /src/gpac/src/filter_core/filter.c:3324,1
    - Dst: check_filter_error
      Src: /src/gpac/src/filter_core/filter.c:3331,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3332
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3332
    functionName: gf_filter_process_inline
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - session_should_abort
    - GF_LOG
    - check_filter_error
    - gf_filter_process_check_alloc
    - gf_filter_pck_send
    - gf_filter_check_pending_pids
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_process_inline(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_set_source
      Src: /src/gpac/src/filter_core/filter.c:4462,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:4467,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - filter
    - link_from
    - link_ext
    argTypes:
    - GF_Filter*
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 4469
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4469
    functionName: gf_filter_set_source_restricted
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_set_source
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_source_restricted(GF_Filter *filter,
      GF_Filter *link_from, const char *link_ext) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:60,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter.c:77,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:94,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:99,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter.c:108,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:119,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:126,1
    - Dst: gf_url_colon_suffix
      Src: /src/gpac/src/filter_core/filter.c:53,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:57,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:61,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:66,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter.c:113,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:50,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:56,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:55,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:58,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:63,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter.c:75,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:92,1
    - Dst: gf_dir_exists
      Src: /src/gpac/src/filter_core/filter.c:115,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:59,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:64,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:78,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:99,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter.c:106,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 98
    argCount: 4
    argNames:
    - sess
    - path
    - needs_escape
    - for_source
    argTypes:
    - GF_FilterSession*
    - char*
    - Bool*
    - Bool
    constantsTouched: []
    func_position:
      end: 130
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 130
    functionName: gf_fs_path_escape_colon_ex
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_url_colon_suffix
    - snprintf
    - strncmp
    - sscanf
    - strcmp
    - sprintf
    - strrchr
    - gf_dir_exists
    - strchr
    - strstr
    - gf_file_exists
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_fs_path_escape_colon_ex(GF_FilterSession *sess, const
      char *path, Bool *needs_escape, Bool for_source) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:190,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:194,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:205,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:200,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:198,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter.c:208,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:212,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:215,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: gf_filter_get_dst_name
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_strdup
    - sprintf
    - strstr
    - gf_fs_path_escape_colon
    linkageType: ''
    returnType: char*
    signature: 'char *gf_filter_get_dst_name(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:809,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:811,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - name
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: gf_filter_set_name
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_set_name(GF_Filter *filter, const char *name) '
  - BBCount: 150
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter.c:1645,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1819,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter.c:1775,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2109,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filter_core/filter.c:2273,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1704,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1710,1
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter.c:2117,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2153,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2094,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:2265,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2315,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1916,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1744,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1755,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1796,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1921,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:2064,1
    - Dst: filter_parse_logs
      Src: /src/gpac/src/filter_core/filter.c:2141,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:2223,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter.c:2237,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1932,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1938,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1750,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1776,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter.c:1935,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1733,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1739,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:2012,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filter_core/filter.c:2096,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:2284,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2212,1
    - Dst: gf_fs_push_arg
      Src: /src/gpac/src/filter_core/filter.c:2302,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2275,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1723,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1725,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1729,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1879,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1897,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1817,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1919,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2084,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2136,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter.c:2172,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:2231,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1722,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1735,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1741,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1752,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1931,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1878,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2115,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2181,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:2229,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:2230,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1679,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1734,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1740,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1751,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1760,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:2009,1
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter.c:2103,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter.c:2175,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:2198,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1917,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1934,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1947,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1689,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1712,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1730,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1729,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1967,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2002,1
    - Dst: gf_filter_parse_prop_solve_env_var
      Src: /src/gpac/src/filter_core/filter.c:2044,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2222,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1722,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1742,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1753,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1758,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1802,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter.c:1941,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1827,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2068,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2075,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2082,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2252,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2084,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1933,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1731,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1737,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter.c:1962,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1897,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1893,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:1964,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:2021,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2131,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2212,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filter_core/filter.c:2251,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2287,1
    - Dst: filter_parse_dyn_args
      Src: /src/gpac/src/filter_core/filter.c:2270,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1736,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1979,1
    - Dst: gf_filter_set_arg
      Src: /src/gpac/src/filter_core/filter.c:2051,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2084,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2101,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2151,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2189,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2221,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2228,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filter_core/filter.c:2241,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:2190,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2196,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1788,1
    - Dst: gf_filter_set_id
      Src: /src/gpac/src/filter_core/filter.c:2070,1
    - Dst: gf_filter_set_sources
      Src: /src/gpac/src/filter_core/filter.c:2077,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2128,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2160,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2203,1
    - Dst: gf_feof
      Src: /src/gpac/src/filter_core/filter.c:2243,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2035,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2122,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2278,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1732,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1738,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1887,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter.c:1773,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2031,1
    - Dst: gf_opts_get_key_restricted
      Src: /src/gpac/src/filter_core/filter.c:2038,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2041,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2155,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2209,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1916,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1897,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1927,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1789,1
    - Dst: gf_filter_parse_prop_solve_env_var
      Src: /src/gpac/src/filter_core/filter.c:2165,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2187,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2197,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:2249,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1957,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1999,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:2009,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2149,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:2257,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filter_core/filter.c:2247,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1754,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1930,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1757,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1743,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1748,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1749,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1979,1
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter.c:2124,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter.c:2057,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:2176,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:2212,1
    CyclomaticComplexity: 313
    EdgeCount: 313
    ICount: 830
    argCount: 10
    argNames:
    - filter
    - args
    - arg_type
    - for_script
    - szSrc
    - szDst
    - szEscape
    - szSecName
    - has_meta_args
    - argfile_level
    argTypes:
    - GF_Filter*
    - char*
    - GF_FilterArgType
    - Bool
    - char*
    - char*
    - char*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 2316
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 2316
    functionName: filter_parse_dyn_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - snprintf
    - filter_parse_logs
    - gf_utf8_is_legal
    - strncmp
    - gf_fgets
    - GF_LOG
    - gf_feof
    - gf_filter_set_sources
    - strstr
    - gf_filter_set_arg
    - gf_filter_parse_prop_solve_env_var
    - gf_opts_get_key_restricted
    - gf_strdup
    - strcmp
    - atoi
    - stricmp
    - gf_fopen
    - gf_fs_push_arg
    - gf_props_reset_single
    - gf_filter_set_name
    - strchr
    - filter_parse_dyn_args
    - gf_free
    - sscanf
    - gf_realloc
    - gf_props_parse_value
    - gf_filter_set_id
    - strncpy
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void filter_parse_dyn_args(GF_Filter *filter, const char *args,
      GF_FilterArgType arg_type, Bool for_script, char *szSrc, char *szDst, char *szEscape,
      char *szSecName, Bool has_meta_args, u32 argfile_level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_send_update
      Src: /src/gpac/src/filter_core/filter.c:3337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - filter
    - fid
    - name
    - val
    - propagate_mask
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - char*
    - GF_EventPropagateType
    constantsTouched: []
    func_position:
      end: 3338
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3338
    functionName: gf_filter_send_update
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_send_update
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_send_update(GF_Filter *filter, const char
      *fid, const char *name, const char *val, GF_EventPropagateType propagate_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_caps_bundle_count
      Src: /src/gpac/src/filter_core/filter.c:4479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - caps
    - nb_caps
    argTypes:
    - GF_Filter*
    - GF_FilterCapability*
    - u32
    constantsTouched: []
    func_position:
      end: 4483
      start: 4472
    functionDepth: 0
    functionLinenumber: 4472
    functionLinenumberEnd: 4483
    functionName: gf_filter_override_caps
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_caps_bundle_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_override_caps(GF_Filter *filter, const
      GF_FilterCapability *caps, u32 nb_caps ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4424
      start: 4419
    functionDepth: 0
    functionLinenumber: 4419
    functionLinenumberEnd: 4424
    functionName: gf_filter_get_id
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_id(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5057
      start: 5052
    functionDepth: 0
    functionLinenumber: 5052
    functionLinenumberEnd: 5057
    functionName: gf_filter_disable_probe
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_disable_probe(GF_Filter *filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter.c:5273,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:5276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - filter
    - name
    - err_code
    argTypes:
    - GF_Filter*
    - char*
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 5279
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5279
    functionName: gf_filter_load_filter
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_load_filter
    - strstr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_load_filter(GF_Filter *filter, const
      char *name, GF_Err *err_code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - do_block
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5380
      start: 5376
    functionDepth: 0
    functionLinenumber: 5376
    functionLinenumberEnd: 5380
    functionName: gf_filter_block_eos
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_block_eos(GF_Filter *filter, Bool do_block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - freg
    argTypes:
    - GF_Filter*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 5543
      start: 5538
    functionDepth: 0
    functionLinenumber: 5538
    functionLinenumberEnd: 5543
    functionName: gf_filter_is_instance_of
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_is_instance_of(GF_Filter *filter, const GF_FilterRegister
      *freg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - dst_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5594
      start: 5587
    functionDepth: 0
    functionLinenumber: 5587
    functionLinenumberEnd: 5594
    functionName: gf_filter_mirror_forced_caps
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_mirror_forced_caps(GF_Filter *filter, GF_Filter *dst_filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter.c:4433,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4442,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:4445,1
    - Dst: gf_filter_assign_id
      Src: /src/gpac/src/filter_core/filter.c:4436,1
    - Dst: gf_filter_set_sources
      Src: /src/gpac/src/filter_core/filter.c:4446,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:4447,1
    - Dst: gf_filter_set_sources
      Src: /src/gpac/src/filter_core/filter.c:4449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - filter
    - link_from
    - link_ext
    argTypes:
    - GF_Filter*
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 4457
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4457
    functionName: gf_filter_set_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - gf_filter_in_parent_chain
    - gf_filter_assign_id
    - gf_free
    - gf_filter_set_sources
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_source(GF_Filter *filter, GF_Filter
      *link_from, const char *link_ext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5064
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5064
    functionName: gf_filter_disable_inputs
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_disable_inputs(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5287
      start: 5282
    functionDepth: 0
    functionLinenumber: 5282
    functionLinenumberEnd: 5287
    functionName: gf_filter_end_of_session
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_end_of_session(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter.c:5388,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5396,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5404,1
    - Dst: gf_filter_check_pending_pids
      Src: /src/gpac/src/filter_core/filter.c:5397,1
    - Dst: gf_filter_pid_post_init_task
      Src: /src/gpac/src/filter_core/filter.c:5406,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - filter
    - for_pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5409
      start: 5382
    functionDepth: 0
    functionLinenumber: 5382
    functionLinenumberEnd: 5409
    functionName: gf_filter_reconnect_output
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_post_init_task
    - GF_LOG
    - PID_IS_INPUT
    - gf_filter_check_pending_pids
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_reconnect_output(GF_Filter *filter, GF_FilterPid
      *for_pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5551,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter.c:5555,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter.c:5557,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5554,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:5552,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5560,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter.c:5561,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5565
      start: 5545
    functionDepth: 0
    functionLinenumber: 5545
    functionLinenumberEnd: 5565
    functionName: gf_filter_abort
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - GF_FEVT_INIT
    - gf_mx_p
    - gf_filter_pid_set_eos
    - gf_mx_v
    - gf_filter_pid_send_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_abort(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5600
      start: 5596
    functionDepth: 0
    functionLinenumber: 5596
    functionLinenumberEnd: 5600
    functionName: gf_filter_require_source_id
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_require_source_id(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5676,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - instance_names_list
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5678
      start: 5672
    functionDepth: 0
    functionLinenumber: 5672
    functionLinenumberEnd: 5678
    functionName: gf_filter_meta_set_instances
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_meta_set_instances(GF_Filter *filter, const
      char *instance_names_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1466,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1471,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1467,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - '!'
    - (arg, "DBG", len)
    argTypes:
    - strncmp
    constantsTouched: []
    func_position:
      end: 1475
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1475
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - stricmp
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (!strncmp(arg, "DBG", len)) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3006,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:3014,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3014,1
    - Dst: gf_filter_connections_pending
      Src: /src/gpac/src/filter_core/filter.c:3018,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3012,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3020,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3026,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:3026,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3028,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:3028,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter.c:3049,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3044,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3048,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3051,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter.c:3045,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3042,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - filter
    - e
    - for_reconnection
    argTypes:
    - GF_Filter*
    - GF_Err
    - Bool
    constantsTouched: []
    func_position:
      end: 3055
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3055
    functionName: check_filter_error
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - gf_list_find
    - gf_mx_p
    - GF_LOG
    - gf_filter_pid_set_eos
    - gf_sys_clock_high_res
    - gf_filter_connections_pending
    - gf_mx_v
    linkageType: ''
    returnType: GFINLINE
    signature: 'static GFINLINE void check_filter_error(GF_Filter *filter, GF_Err
      e, Bool for_reconnection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - filter
    - source_filter
    - (*on_setup_error)
    - udta
    argTypes:
    - GF_Filter*
    - GF_Filter*
    - Bool
    - void*
    constantsTouched: []
    func_position:
      end: 3506
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3506
    functionName: gf_filter_set_setup_failure_callback
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_set_setup_failure_callback(GF_Filter *filter,
      GF_Filter *source_filter, Bool (*on_setup_error)(GF_Filter *f, void *on_setup_error_udta,
      GF_Err e), void *udta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_connect_source_internal
      Src: /src/gpac/src/filter_core/filter.c:4306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - filter
    - url
    - parent_url
    - inherit_args
    - err
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4307
      start: 4303
    functionDepth: 0
    functionLinenumber: 4303
    functionLinenumberEnd: 4307
    functionName: gf_filter_connect_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_connect_source_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_connect_source(GF_Filter *filter, const
      char *url, const char *parent_url, Bool inherit_args, GF_Err *err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5247
      start: 5243
    functionDepth: 0
    functionLinenumber: 5243
    functionLinenumberEnd: 5247
    functionName: gf_filter_get_help
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_help(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_has_in_caps
      Src: /src/gpac/src/filter_core/filter.c:5638,1
    - Dst: gf_filter_has_in_caps
      Src: /src/gpac/src/filter_core/filter.c:5640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5641
      start: 5633
    functionDepth: 0
    functionLinenumber: 5633
    functionLinenumberEnd: 5641
    functionName: gf_filter_is_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_has_in_caps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_source(GF_Filter *filter) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3127,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter.c:3146,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:3150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3153,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter.c:3181,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3182,1
    - Dst: session_should_abort
      Src: /src/gpac/src/filter_core/filter.c:3189,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3217,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:3219,1
    - Dst: check_filter_error
      Src: /src/gpac/src/filter_core/filter.c:3227,1
    - Dst: gf_rmt_begin_hash
      Src: /src/gpac/src/filter_core/filter.c:3169,1
    - Dst: gf_filter_check_pending_pids
      Src: /src/gpac/src/filter_core/filter.c:3185,1
    - Dst: check_filter_error
      Src: /src/gpac/src/filter_core/filter.c:3094,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3118,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3109,1
    - Dst: gf_filter_pck_send_internal
      Src: /src/gpac/src/filter_core/filter.c:3147,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filter_core/filter.c:3151,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:3157,1
    - Dst: gf_filter_renegotiate_output
      Src: /src/gpac/src/filter_core/filter.c:3165,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3204,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3213,1
    - Dst: gf_filter_relink_dst
      Src: /src/gpac/src/filter_core/filter.c:3221,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3245,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3273,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filter_core/filter.c:3259,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3224,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3063,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3071,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3064,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3072,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3074,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3114,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3099,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3121,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3138,1
    - Dst: gf_filter_check_pending_tasks
      Src: /src/gpac/src/filter_core/filter.c:3270,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3269,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3145,1
    - Dst: gf_filter_process_check_alloc
      Src: /src/gpac/src/filter_core/filter.c:3175,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3065,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3079,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3084,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter.c:3093,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3115,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3129,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3206,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3215,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3238,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:3252,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3266,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3168,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 160
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3276
    functionName: gf_filter_process_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - session_should_abort
    - GF_LOG
    - gf_filter_renegotiate_output
    - gf_filter_pck_send_internal
    - gf_filter_check_pending_pids
    - gf_filter_check_pending_tasks
    - gf_list_del
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_pid_get_packet
    - gf_list_del_item
    - gf_assert
    - gf_fq_count
    - gf_list_insert
    - gf_list_get
    - gf_mx_p
    - gf_filter_process_check_alloc
    - gf_mx_v
    - gf_rmt_begin_hash
    - gf_rmt_end
    - check_filter_error
    - gf_filter_relink_dst
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_process_task(GF_FSTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_connect_source_internal
      Src: /src/gpac/src/filter_core/filter.c:4311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - filter
    - url
    - parent_url
    - inherit_args
    - err
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - Bool
    - GF_Err*
    constantsTouched: []
    func_position:
      end: 4312
      start: 4308
    functionDepth: 0
    functionLinenumber: 4308
    functionLinenumberEnd: 4312
    functionName: gf_filter_add_source
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_connect_source_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_add_source(GF_Filter *filter, const
      char *url, const char *parent_url, Bool inherit_args, GF_Err *err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - args
    argTypes:
    - GF_Filter*
    - GF_FilterArgs*
    constantsTouched: []
    func_position:
      end: 5254
      start: 5249
    functionDepth: 0
    functionLinenumber: 5249
    functionLinenumberEnd: 5254
    functionName: gf_filter_define_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_define_args(GF_Filter *filter, GF_FilterArgs *args) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_is_sink
      Src: /src/gpac/src/filter_core/filter.c:5652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - filter
    - subsession_id
    - source_id
    argTypes:
    - GF_Filter*
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 5657
      start: 5643
    functionDepth: 0
    functionLinenumber: 5643
    functionLinenumberEnd: 5657
    functionName: gf_filter_tag_subsession
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_is_sink
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_tag_subsession(GF_Filter *filter, u32 subsession_id,
      u32 source_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:534,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter.c:535,1
    - Dst: gf_filter_pid_post_init_task
      Src: /src/gpac/src/filter_core/filter.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: gf_filter_check_pending_pids
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fq_pop
    - gf_filter_pid_post_init_task
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_check_pending_pids(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:601,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter.c:603,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:605,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: gf_filter_reset_pending_packets
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_pop_front
    - gf_list_count
    - gf_filter_packet_destroy
    - gf_list_del
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_reset_pending_packets(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_ui_event
      Src: /src/gpac/src/filter_core/filter.c:4908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - uievt
    argTypes:
    - GF_Filter*
    - GF_Event*
    constantsTouched: []
    func_position:
      end: 4909
      start: 4905
    functionDepth: 0
    functionLinenumber: 4905
    functionLinenumberEnd: 4909
    functionName: gf_filter_ui_event
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_ui_event
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_ui_event(GF_Filter *filter, GF_Event *uievt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - class_hint
    argTypes:
    - GF_Filter*
    - GF_ClassTypeHint
    constantsTouched: []
    func_position:
      end: 5192
      start: 5187
    functionDepth: 0
    functionLinenumber: 5187
    functionLinenumberEnd: 5192
    functionName: gf_filter_set_class_hint
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_set_class_hint(GF_Filter *filter, GF_ClassTypeHint
      class_hint) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filter_core/filter.c:543,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filter_core/filter.c:554,1
    - Dst: gf_filter_parse_args
      Src: /src/gpac/src/filter_core/filter.c:545,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - filter
    - args
    - arg_type
    argTypes:
    - GF_Filter*
    - char*
    - GF_FilterArgType
    constantsTouched: []
    func_position:
      end: 575
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 575
    functionName: gf_filter_new_finalize
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_parse_args
    - gf_filter_force_main_thread
    - gf_filter_set_name
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_new_finalize(GF_Filter *filter, const char *args,
      GF_FilterArgType arg_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter.c:3690,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter.c:3705,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter.c:3704,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3698,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3710,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:3711,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter.c:3714,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3721,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:3723,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3725,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3732,1
    - Dst: gf_filter_instance_detach_pid
      Src: /src/gpac/src/filter_core/filter.c:3734,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3730,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:3733,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3736,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3728,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter.c:3738,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 3741
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3741
    functionName: gf_filter_remove_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - GF_LOG
    - gf_mx_p
    - gf_list_del_item
    - safe_int_dec
    - gf_filter_instance_detach_pid
    - gf_filter_del
    - gf_log_tool_level_on
    - gf_mx_v
    - gf_fq_pop
    - gf_assert
    - gf_fq_count
    - gf_list_pop_back
    - gf_fq_enum
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_remove_task(GF_FSTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4919,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4920,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4926,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4923,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4925,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4928,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4931,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4935,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4936,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4939,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4941
      start: 4911
    functionDepth: 0
    functionLinenumber: 4911
    functionLinenumberEnd: 4941
    functionName: gf_filter_all_sinks_done
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_all_sinks_done(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5197
      start: 5193
    functionDepth: 0
    functionLinenumber: 5193
    functionLinenumberEnd: 5197
    functionName: gf_filter_get_description
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_description(GF_Filter *filter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:3923,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3928,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filter_core/filter.c:3929,1
    - Dst: gf_filter_remove
      Src: /src/gpac/src/filter_core/filter.c:3957,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3904,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3910,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:3940,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter.c:3941,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter.c:3971,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter.c:3965,1
    - Dst: gf_filter_remove_internal
      Src: /src/gpac/src/filter_core/filter.c:3947,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter.c:3954,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:3963,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3974,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3920,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3934,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:3943,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:3966,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3961,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 3975
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 3975
    functionName: gf_filter_remove_local
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_discard
    - gf_list_get
    - gf_fs_post_disconnect_task
    - gf_filter_remove_internal
    - gf_filter_post_remove
    - GF_FEVT_INIT
    - gf_filter_pid_send_event
    - gf_mx_p
    - gf_filter_remove
    - safe_int_dec
    - gf_filter_pid_remove
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_remove_local(GF_FSTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: session_should_abort
      Src: /src/gpac/src/filter_core/filter.c:2904,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2913,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2912,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:2910,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2914,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2920,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2926,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2939,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2941,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2943,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - filter
    - task
    argTypes:
    - GF_Filter*
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 2944
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2944
    functionName: gf_filter_check_pending_tasks
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - session_should_abort
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - safe_int_inc
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_check_pending_tasks(GF_Filter *filter, GF_FSTask
      *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - max_extra_pids
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 4551
      start: 4547
    functionDepth: 0
    functionLinenumber: 4547
    functionLinenumberEnd: 4551
    functionName: gf_filter_set_max_extra_input_pids
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_set_max_extra_input_pids(GF_Filter *filter,
      u32 max_extra_pids) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:3981,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:3983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 3984
    functionName: gf_filter_remove
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_remove(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4552
    functionDepth: 0
    functionLinenumber: 4552
    functionLinenumberEnd: 4557
    functionName: gf_filter_get_max_extra_input_pids
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_get_max_extra_input_pids(GF_Filter *filter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:152,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:162,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:156,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:157,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter.c:164,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:170,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:171,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - fsess
    - in_args
    - is_dst
    argTypes:
    - GF_FilterSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: gf_filter_get_args_stripped
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_path_escape_colon
    - sprintf
    - strstr
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_filter_get_args_stripped(GF_FilterSession *fsess,
      const char *in_args, Bool is_dst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:836,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:838,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:844,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:846,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:841,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:848,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:850,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:854,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:857,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - filter
    - sources_ID
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 858
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 858
    functionName: gf_filter_set_sources
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_dynstrcat
    - gf_strdup
    - gf_mx_p
    - gf_free
    - gf_assert
    - strstr
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_set_sources(GF_Filter *filter, const char *sources_ID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter.c:3602,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter.c:3611,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter.c:3614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - filter
    - reason
    - force_disconnect
    argTypes:
    - GF_Filter*
    - GF_Err
    - Bool
    constantsTouched: []
    func_position:
      end: 3616
      start: 3596
    functionDepth: 0
    functionLinenumber: 3596
    functionLinenumberEnd: 3616
    functionName: gf_filter_notification_failure
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_fs_post_task_class
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_notification_failure(GF_Filter *filter, GF_Err
      reason, Bool force_disconnect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4563
      start: 4558
    functionDepth: 0
    functionLinenumber: 4558
    functionLinenumberEnd: 4563
    functionName: gf_filter_block_enabled
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_block_enabled(GF_Filter *filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:5163,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5170,1
    - Dst: gf_fs_push_arg
      Src: /src/gpac/src/filter_core/filter.c:5174,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:5165,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - filter
    - arg
    - was_found
    - sub_opt_name
    argTypes:
    - GF_Filter*
    - char*
    - Bool
    - char*
    constantsTouched: []
    func_position:
      end: 5176
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5176
    functionName: gf_filter_report_meta_option
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - strstr
    - gf_fs_push_arg
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_report_meta_option(GF_Filter *filter, const char *arg,
      Bool was_found, const char *sub_opt_name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5308,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5317,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:5309,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5316,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5312,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5319,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5326,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5327,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5332,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5333,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5353,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5357,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5343,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5345,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5352,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter.c:5348,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5360
      start: 5300
    functionDepth: 0
    functionLinenumber: 5300
    functionLinenumberEnd: 5360
    functionName: gf_filter_connections_pending
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_in_parent_chain
    - gf_list_count
    - gf_filter_has_out_caps
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_connections_pending(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - (*process_event_cbk)
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5483
      start: 5474
    functionDepth: 0
    functionLinenumber: 5474
    functionLinenumberEnd: 5483
    functionName: gf_filter_set_process_event_ckb
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_process_event_ckb(GF_Filter *filter,
      Bool (*process_event_cbk)(GF_Filter *filter, const GF_FilterEvent *evt) ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: gf_filter_get_dst_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_args_stripped
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_filter_get_dst_args(GF_Filter *filter) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:954,1
    - Dst: gf_filter_force_main_thread
      Src: /src/gpac/src/filter_core/filter.c:961,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:970,1
    - Dst: gf_fileio_is_main_thread
      Src: /src/gpac/src/filter_core/filter.c:960,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:959,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:988,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:990,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1003,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter.c:1009,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1016,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter.c:1016,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1020,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 125
    argCount: 3
    argNames:
    - filter
    - a
    - argv
    argTypes:
    - GF_Filter*
    - GF_FilterArgs*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1022
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 1022
    functionName: gf_filter_set_arg
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_force_main_thread
    - strncmp
    - gf_fileio_is_main_thread
    - GF_LOG
    - gf_props_type_is_enum
    - gf_props_get_type_name
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_set_arg(GF_Filter *filter, const GF_FilterArgs
      *a, GF_PropertyValue *argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2612,1
    - Dst: gf_filter_pid_resolve_link_for_caps
      Src: /src/gpac/src/filter_core/filter.c:2665,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter.c:2662,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter.c:2685,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2688,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:2692,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:2697,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter.c:2699,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2710,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2716,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2619,1
    - Dst: gf_fs_load_encoder
      Src: /src/gpac/src/filter_core/filter.c:2627,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:2633,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2644,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:2667,1
    - Dst: gf_filter_pid_resolve_link
      Src: /src/gpac/src/filter_core/filter.c:2682,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:2664,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:2703,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2727,1
    - Dst: gf_filter_pid_post_connect_task
      Src: /src/gpac/src/filter_core/filter.c:2742,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:2632,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:2631,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter.c:2640,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2653,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter.c:2698,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter.c:2700,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2717,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2728,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:2729,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filter_core/filter.c:2734,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:2639,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2645,1
    - Dst: gf_filter_pid_resolve_link_for_caps
      Src: /src/gpac/src/filter_core/filter.c:2671,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter.c:2681,1
    - Dst: gf_filter_remove_internal
      Src: /src/gpac/src/filter_core/filter.c:2649,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2715,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2736,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter.c:2744,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:2741,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 5
    argNames:
    - pid
    - filter
    - filter_dst
    - dst_pidi
    - src_pidi
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - GF_Filter*
    - GF_FilterPidInst*
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2746
    functionName: gf_filter_renegotiate_output_dst
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_FEVT_INIT
    - GF_LOG
    - gf_fs_post_disconnect_task
    - gf_filter_remove_internal
    - gf_list_find
    - gf_list_del
    - gf_strdup
    - gf_filter_pid_caps_match
    - gf_filter_pid_resolve_link
    - gf_list_del_item
    - gf_assert
    - gf_filter_pid_resolve_link_for_caps
    - gf_list_get
    - gf_fs_load_encoder
    - safe_int_inc
    - gf_free
    - gf_filter_pid_send_event_internal
    - gf_fs_post_task
    - gf_fs_check_graph_load
    - gf_fatal_assert
    - gf_filter_pid_post_connect_task
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_renegotiate_output_dst(GF_FilterPid *pid, GF_Filter
      *filter, GF_Filter *filter_dst, GF_FilterPidInst *dst_pidi, GF_FilterPidInst
      *src_pidi) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3632,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter.c:3639,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3641,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:3647,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3644,1
    - Dst: gf_filter_instance_detach_pid
      Src: /src/gpac/src/filter_core/filter.c:3649,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3651,1
    - Dst: gf_fs_post_pid_instance_delete_task
      Src: /src/gpac/src/filter_core/filter.c:3656,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3658,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3667,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filter_core/filter.c:3673,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filter_core/filter.c:3669,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:3667,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - filter
    - reason
    argTypes:
    - GF_Filter*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 3675
      start: 3618
    functionDepth: 0
    functionLinenumber: 3618
    functionLinenumberEnd: 3675
    functionName: gf_filter_setup_failure
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_error_to_string
    - gf_list_count
    - gf_fs_post_pid_instance_delete_task
    - gf_mx_p
    - GF_LOG
    - gf_filter_instance_detach_pid
    - gf_filter_notification_failure
    - gf_mx_v
    - gf_list_del_item
    - gf_filter_reset_pending_packets
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_setup_failure(GF_Filter *filter, GF_Err reason) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4567,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:4588,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4589,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4587,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4569,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:4592,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4594,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4594,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - sess
    - pid
    - for_mime
    argTypes:
    - GF_FilterSession*
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 4598
      start: 4565
    functionDepth: 0
    functionLinenumber: 4565
    functionLinenumberEnd: 4598
    functionName: filter_guess_file_ext
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_list_count
    - PROP_STRING
    - gf_filter_pid_set_property
    - strchr
    - strncpy
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void filter_guess_file_ext(GF_FilterSession *sess, GF_FilterPid
      *pid, const char *for_mime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5182,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - new_desc
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5186
      start: 5178
    functionDepth: 0
    functionLinenumber: 5178
    functionLinenumberEnd: 5186
    functionName: gf_filter_set_description
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_set_description(GF_Filter *filter, const char *new_desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - (*reconfigure_output_cbk)
    argTypes:
    - GF_Filter*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 5494
      start: 5485
    functionDepth: 0
    functionLinenumber: 5485
    functionLinenumberEnd: 5494
    functionName: gf_filter_set_reconfigure_output_ckb
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_reconfigure_output_ckb(GF_Filter *filter,
      GF_Err (*reconfigure_output_cbk)(GF_Filter *filter, GF_FilterPid *PID) ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5294
      start: 5289
    functionDepth: 0
    functionLinenumber: 5289
    functionLinenumberEnd: 5294
    functionName: gf_filter_is_alias
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_alias(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: gf_void_del
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_void_del(void *p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:2754,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2762,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2755,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2763,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2759,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2776,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:2776,1
    - Dst: gf_filter_pid_retry_caps_negotiate
      Src: /src/gpac/src/filter_core/filter.c:2777,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2778,1
    - Dst: gf_filter_check_output_reconfig
      Src: /src/gpac/src/filter_core/filter.c:2783,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2790,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2791,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2798,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter.c:2792,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:2787,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2781,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2800
    functionName: gf_filter_reconf_output
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_retry_caps_negotiate
    - gf_list_del
    - gf_error_to_string
    - GF_LOG
    - gf_mx_p
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_assert
    - gf_filter_check_output_reconfig
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_reconf_output(GF_Filter *filter, GF_FilterPid *pid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3346,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:3358,1
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:3351,1
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:3353,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:3359,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:3360,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:3363,1
    - Dst: memmove
      Src: /src/gpac/src/filter_core/filter.c:3364,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:3371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3382,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:3375,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter.c:3377,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter.c:3374,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - filter
    - source_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3385
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3385
    functionName: gf_filter_clone
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_get_args_stripped
    - gf_list_get
    - gf_dynstrcat
    - gf_filter_new
    - gf_strdup
    - GF_LOG
    - gf_free
    - memmove
    - strstr
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_filter_clone(GF_Filter *filter, GF_Filter *source_filter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:3830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3841,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3838,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3835,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3833,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3844,1
    - Dst: gf_filter_tag_remove
      Src: /src/gpac/src/filter_core/filter.c:3847,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:3853,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3857,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter.c:3860,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3866,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3873,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3879,1
    - Dst: gf_filter_remove_internal
      Src: /src/gpac/src/filter_core/filter.c:3886,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3889,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3861,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 3
    argNames:
    - filter
    - until_filter
    - keep_end_connections
    argTypes:
    - GF_Filter*
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 3890
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3890
    functionName: gf_filter_remove_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_post_remove
    - gf_list_get
    - gf_filter_tag_remove
    - gf_fs_post_disconnect_task
    - gf_list_find
    - gf_filter_remove_internal
    - GF_LOG
    - gf_mx_p
    - gf_mx_v
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_remove_internal(GF_Filter *filter, GF_Filter *until_filter,
      Bool keep_end_connections) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4354
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4354
    functionName: gf_filter_make_sticky
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_make_sticky(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5572,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - do_lock
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5575
      start: 5567
    functionDepth: 0
    functionLinenumber: 5567
    functionLinenumberEnd: 5575
    functionName: gf_filter_lock
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_lock(GF_Filter *filter, Bool do_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5696
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5696
    functionName: gf_filter_get_netcap_id
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_netcap_id(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:37,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: gf_filterpacket_del
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_filterpacket_del(void *p) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2830,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2831,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2833,1
    - Dst: gf_filter_renegotiate_output_dst
      Src: /src/gpac/src/filter_core/filter.c:2862,1
    - Dst: gf_filter_pid_retry_caps_negotiate
      Src: /src/gpac/src/filter_core/filter.c:2837,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2847,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:2880,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2805,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:2822,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:2833,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:2841,1
    - Dst: gf_filter_check_output_reconfig
      Src: /src/gpac/src/filter_core/filter.c:2844,1
    - Dst: gf_filter_renegotiate_output_dst
      Src: /src/gpac/src/filter_core/filter.c:2871,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter.c:2876,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2811,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:2855,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:2856,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:2841,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2835,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2869,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2875,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:2808,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:2806,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:2874,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:2885,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 2
    argNames:
    - filter
    - force_afchain_insert
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 2886
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2886
    functionName: gf_filter_renegotiate_output
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_pid_retry_caps_negotiate
    - gf_list_find
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_assert
    - gf_filter_renegotiate_output_dst
    - gf_filter_check_output_reconfig
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_renegotiate_output(GF_Filter *filter, Bool force_afchain_insert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3391
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3391
    functionName: gf_filter_get_ipid_count
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_get_ipid_count(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_remove_internal
      Src: /src/gpac/src/filter_core/filter.c:3895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - src_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3892
    functionDepth: 0
    functionLinenumber: 3892
    functionLinenumberEnd: 3896
    functionName: gf_filter_remove_src
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_remove_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_remove_src(GF_Filter *filter, GF_Filter *src_filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4365,1
    - Dst: gf_filter_get_num_events_queued
      Src: /src/gpac/src/filter_core/filter.c:4368,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4372
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4372
    functionName: gf_filter_get_num_events_queued_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_num_events_queued
    - gf_list_get
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_filter_get_num_events_queued_internal(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5582,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - do_lock
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5585
      start: 5577
    functionDepth: 0
    functionLinenumber: 5577
    functionLinenumberEnd: 5585
    functionName: gf_filter_lock_all
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_lock_all(GF_Filter *filter, Bool do_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5689
      start: 5686
    functionDepth: 0
    functionLinenumber: 5686
    functionLinenumberEnd: 5689
    functionName: gf_filter_skip_seg_size_events
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_skip_seg_size_events(GF_Filter *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_remove_internal
      Src: /src/gpac/src/filter_core/filter.c:3995,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3999,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:4003,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4001,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - filter
    - dst_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4007
      start: 3987
    functionDepth: 0
    functionLinenumber: 3987
    functionLinenumberEnd: 4007
    functionName: gf_filter_remove_dst
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fs_post_disconnect_task
    - gf_filter_remove_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_remove_dst(GF_Filter *filter, GF_Filter *dst_filter) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:241,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:252,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:244,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:248,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:250,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:254,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:256,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:258,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:260,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:262,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:272,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:274,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:264,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:270,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 5
    argNames:
    - fsess
    - out_args
    - in_args
    - is_src
    - first_sep_inserted
    argTypes:
    - GF_FilterSession*
    - char**
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 286
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 286
    functionName: filter_push_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_dynstrcat
    - strchr
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void filter_push_args(GF_FilterSession *fsess, char **out_args,
      char *in_args, Bool is_src, Bool first_sep_inserted) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:624,1
    - Dst: jsfs_on_filter_destroyed
      Src: /src/gpac/src/filter_core/filter.c:629,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:636,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:655,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:646,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter.c:662,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:658,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:656,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:726,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:745,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:742,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:705,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:786,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:645,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:780,1
    - Dst: gf_log_pop_extra
      Src: /src/gpac/src/filter_core/filter.c:752,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:622,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:644,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:662,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:664,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:667,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:668,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:669,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:670,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:671,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter.c:686,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:699,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:700,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:708,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:736,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:738,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:740,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:753,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:783,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:748,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:623,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:625,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:643,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter.c:674,1
    - Dst: reset_filter_args
      Src: /src/gpac/src/filter_core/filter.c:676,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter.c:680,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter.c:684,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:690,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:694,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:698,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:707,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:710,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:767,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter.c:778,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:704,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:677,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:754,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:784,1
    - Dst: gf_filter_sess_reset_graph
      Src: /src/gpac/src/filter_core/filter.c:782,1
    - Dst: gf_fs_check_gl_provider
      Src: /src/gpac/src/filter_core/filter.c:637,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter.c:652,1
    - Dst: gf_filter_pid_del
      Src: /src/gpac/src/filter_core/filter.c:656,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter.c:673,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter.c:682,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter.c:688,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:693,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:695,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:697,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter.c:732,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:755,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:711,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:724,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:709,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:777,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:692,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:691,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 123
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 787
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 787
    functionName: gf_filter_del
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_check_gl_provider
    - reset_filter_args
    - gf_log_pop_extra
    - GF_LOG
    - gf_filter_pid_inst_del
    - gf_list_pop_back
    - gf_list_del
    - gf_filter_sess_reset_graph
    - gf_list_count
    - jsfs_on_filter_destroyed
    - safe_int_dec
    - gf_assert
    - gf_list_del_item
    - gf_props_reset_single
    - gf_list_get
    - gf_mx_p
    - gf_mx_del
    - gf_mx_v
    - gf_free
    - gf_filter_reset_pending_packets
    - gf_filter_pid_del
    - gf_fq_del
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_del(GF_Filter *filter) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filter_core/filter.c:1061,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filter_core/filter.c:1063,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:1065,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:1120,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1129,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:1127,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter.c:1056,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter.c:1059,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:1066,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:1090,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1092,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:1098,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:1124,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1128,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1040,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1041,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:1081,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1069,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter.c:1081,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1075,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter.c:1082,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1084,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter.c:1113,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:1125,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1047,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1046,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1083,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:1068,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1067,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filter_core/filter.c:1083,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter.c:1087,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter.c:1119,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:1126,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 110
    argCount: 3
    argNames:
    - filter
    - pid
    - value
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - char**
    constantsTouched: []
    func_position:
      end: 1136
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1136
    functionName: filter_solve_prop_template
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - strncmp
    - gf_props_dump
    - GF_SAFEALLOC
    - strstr
    - gf_crc_32
    - gf_props_get_id
    - gf_strdup
    - gf_list_count
    - gf_filter_pid_get_property_str
    - GF_ARRAY_LENGTH
    - gf_dynstrcat
    - gf_list_get
    - sprintf
    - strchr
    - gf_free
    - sscanf
    - gf_filter_pid_get_property
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'void filter_solve_prop_template(GF_Filter *filter, GF_FilterPid *pid,
      char **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4379,1
    - Dst: gf_filter_get_num_events_queued_internal
      Src: /src/gpac/src/filter_core/filter.c:4380,1
    - Dst: gf_filter_get_num_events_queued_internal
      Src: /src/gpac/src/filter_core/filter.c:4384,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4386
      start: 4373
    functionDepth: 0
    functionLinenumber: 4373
    functionLinenumberEnd: 4386
    functionName: gf_filter_get_num_events_queued
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_num_events_queued_internal
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_get_num_events_queued(GF_Filter *filter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:4953,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:4954,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4960,1
    - Dst: gf_fs_check_gl_provider
      Src: /src/gpac/src/filter_core/filter.c:4958,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:4957,1
    - Dst: gf_fs_abort
      Src: /src/gpac/src/filter_core/filter.c:4961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - filter
    - do_register
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 4965
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 4965
    functionName: gf_filter_register_opengl_provider
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fs_check_gl_provider
    - gf_list_find
    - gf_fs_abort
    - GF_LOG
    - gf_list_del_item
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_register_opengl_provider(GF_Filter *filter,
      Bool do_register) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5078,1
    - Dst: gf_filter_has_pid_connection_pending_internal
      Src: /src/gpac/src/filter_core/filter.c:5093,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5081,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5089,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:5092,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - filter
    - stop_at_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5098
      start: 5066
    functionDepth: 0
    functionLinenumber: 5066
    functionLinenumberEnd: 5098
    functionName: gf_filter_has_pid_connection_pending_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_has_out_caps
    - gf_filter_has_pid_connection_pending_internal
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_has_pid_connection_pending_internal(GF_Filter
      *filter, GF_Filter *stop_at_filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - (*probe_data_cbk)
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5505
      start: 5496
    functionDepth: 0
    functionLinenumber: 5496
    functionLinenumberEnd: 5505
    functionName: gf_filter_set_probe_data_cbk
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_probe_data_cbk(GF_Filter *filter, const
      char * (*probe_data_cbk)(const u8 *data, u32 size, GF_FilterProbeScore *score)
      ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - is_blocking
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5605
      start: 5602
    functionDepth: 0
    functionLinenumber: 5602
    functionLinenumberEnd: 5605
    functionName: gf_filter_set_blocking
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_set_blocking(GF_Filter *filter, Bool is_blocking) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter.c:321,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter.c:329,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter.c:334,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:342,1
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:368,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:378,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:394,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:439,1
    - Dst: gf_filter_new_finalize
      Src: /src/gpac/src/filter_core/filter.c:473,1
    - Dst: gf_filter_new_finalize
      Src: /src/gpac/src/filter_core/filter.c:478,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filter_core/filter.c:485,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:505,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:491,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter.c:328,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter.c:335,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter.c:336,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:351,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:350,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:343,1
    - Dst: gf_filter_get_args_stripped
      Src: /src/gpac/src/filter_core/filter.c:373,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:391,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:428,1
    - Dst: filter_push_args
      Src: /src/gpac/src/filter_core/filter.c:435,1
    - Dst: filter_push_args
      Src: /src/gpac/src/filter_core/filter.c:447,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:474,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:522,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:521,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:465,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:300,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter.c:331,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter.c:339,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:344,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:391,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:391,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:409,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:442,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:443,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:448,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:496,1
    - Dst: gf_filter_new_finalize
      Src: /src/gpac/src/filter_core/filter.c:460,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:484,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:484,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter.c:305,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:307,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter.c:322,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:341,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:349,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter.c:393,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/filter_core/filter.c:438,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:449,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:454,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:457,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:515,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:480,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 212
    argCount: 8
    argNames:
    - fsess
    - freg
    - src_args
    - dst_args
    - arg_type
    - err
    - multi_sink_target
    - is_dynamic_filter
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    - char*
    - char*
    - GF_FilterArgType
    - GF_Err*
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 527
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 527
    functionName: gf_filter_new
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - strlen
    - snprintf
    - GF_LOG
    - GF_SAFEALLOC
    - strstr
    - gf_error_to_string
    - gf_strdup
    - gf_list_count
    - strcmp
    - filter_push_args
    - gf_list_new
    - gf_mx_new
    - gf_dynstrcat
    - gf_list_get
    - gf_mx_p
    - sprintf
    - gf_mx_v
    - gf_free
    - safe_int_inc
    - gf_filter_get_args_stripped
    - gf_fq_new
    - gf_filter_new_finalize
    - gf_filter_setup_failure
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_filter_new(GF_FilterSession *fsess, const GF_FilterRegister
      *freg, const char *src_args, const char *dst_args, GF_FilterArgType arg_type,
      GF_Err *err, GF_Filter *multi_sink_target, Bool is_dynamic_filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 795
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 795
    functionName: gf_filter_get_udta
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_filter_get_udta(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1143,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1148,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1158,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1161,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1177,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1161,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1174,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1181,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1186,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:1146,1
    - Dst: filter_solve_prop_template
      Src: /src/gpac/src/filter_core/filter.c:1147,1
    - Dst: gf_sys_solve_path
      Src: /src/gpac/src/filter_core/filter.c:1162,1
    - Dst: gf_opts_default_shared_directory
      Src: /src/gpac/src/filter_core/filter.c:1154,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter.c:1155,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:1168,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1178,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1165,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1182,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:1145,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1149,1
    - Dst: gf_fs_solve_js_script
      Src: /src/gpac/src/filter_core/filter.c:1171,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 6
    argNames:
    - fs
    - f
    - type
    - name
    - value
    - enum_values
    argTypes:
    - GF_FilterSession*
    - GF_Filter*
    - u32
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1188
    functionName: gf_filter_parse_prop_solve_env_var
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_opts_default_shared_directory
    - strcat
    - gf_sys_solve_path
    - gf_props_parse_value
    - gf_strdup
    - GF_LOG
    - gf_fs_solve_js_script
    - gf_free
    - strstr
    - filter_solve_prop_template
    - strnicmp
    - gf_opts_get_key
    linkageType: ''
    returnType: GF_PropertyValue
    signature: 'GF_PropertyValue gf_filter_parse_prop_solve_env_var(GF_FilterSession
      *fs, GF_Filter *f, u32 type, const char *name, const char *value, const char
      *enum_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - time_in_us
    - media_timestamp
    argTypes:
    - GF_Filter*
    - u64
    - GF_Fraction64
    constantsTouched: []
    func_position:
      end: 4394
      start: 4388
    functionDepth: 0
    functionLinenumber: 4388
    functionLinenumberEnd: 4394
    functionName: gf_filter_hint_single_clock
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_hint_single_clock(GF_Filter *filter, u64
      time_in_us, GF_Fraction64 media_timestamp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_check_gl_provider
      Src: /src/gpac/src/filter_core/filter.c:4975,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:4981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4986
      start: 4967
    functionDepth: 0
    functionLinenumber: 4967
    functionLinenumberEnd: 4986
    functionName: gf_filter_request_opengl
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_check_gl_provider
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_request_opengl(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:5107,1
    - Dst: gf_filter_has_pid_connection_pending_internal
      Src: /src/gpac/src/filter_core/filter.c:5108,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:5109,1
    - Dst: gf_filter_has_pid_connection_pending_internal
      Src: /src/gpac/src/filter_core/filter.c:5112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - stop_at_filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5114
      start: 5100
    functionDepth: 0
    functionLinenumber: 5100
    functionLinenumberEnd: 5114
    functionName: gf_filter_has_pid_connection_pending
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - gf_filter_has_pid_connection_pending_internal
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_has_pid_connection_pending(GF_Filter *filter,
      GF_Filter *stop_at_filter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - idx
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 5520
      start: 5508
    functionDepth: 0
    functionLinenumber: 5508
    functionLinenumberEnd: 5520
    functionName: gf_filter_enumerate_args
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_FilterArgs *gf_filter_enumerate_args(GF_Filter
      *filter, u32 idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5611
      start: 5607
    functionDepth: 0
    functionLinenumber: 5607
    functionLinenumberEnd: 5611
    functionName: gf_filter_get_register
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_FilterRegister *gf_filter_get_register(GF_Filter
      *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5684
      start: 5680
    functionDepth: 0
    functionLinenumber: 5680
    functionLinenumberEnd: 5684
    functionName: gf_filter_meta_get_instances
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_meta_get_instances(GF_Filter *filter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1201,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1205,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1211,1
    - Dst: gf_filter_parse_prop_solve_env_var
      Src: /src/gpac/src/filter_core/filter.c:1219,1
    - Dst: gf_filter_set_arg
      Src: /src/gpac/src/filter_core/filter.c:1232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1234,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter.c:1234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1237,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 4
    argNames:
    - filter
    - arg_name
    - arg_value
    - is_sync_call
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1242
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1242
    functionName: gf_filter_update_arg_apply
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_parse_prop_solve_env_var
    - gf_error_to_string
    - GF_LOG
    - strcmp
    - gf_filter_set_arg
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_update_arg_apply(GF_Filter *filter, const char *arg_name,
      const char *arg_value, Bool is_sync_call) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - (*process_cbk)
    argTypes:
    - GF_Filter*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 5460
      start: 5451
    functionDepth: 0
    functionLinenumber: 5451
    functionLinenumberEnd: 5460
    functionName: gf_filter_set_process_ckb
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_process_ckb(GF_Filter *filter, GF_Err
      (*process_cbk)(GF_Filter *filter) ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:5618,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter.c:5620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - do_tag
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 5621
      start: 5613
    functionDepth: 0
    functionLinenumber: 5613
    functionLinenumberEnd: 5621
    functionName: gf_filter_force_main_thread
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_force_main_thread(GF_Filter *filter, Bool
      do_tag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1252,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter.c:1255,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1260,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:1266,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:1275,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1292,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:1278,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1282,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/src/filter_core/filter.c:1284,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:1287,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter.c:1290,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1295,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1296,1
    - Dst: gf_filter_update_arg_apply
      Src: /src/gpac/src/filter_core/filter.c:1247,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1262,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:1263,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1267,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:1277,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter.c:1271,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:1272,1
    - Dst: gf_fs_send_update
      Src: /src/gpac/src/filter_core/filter.c:1269,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:1257,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter.c:1263,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter.c:1278,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:1281,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:1297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1298
    functionName: gf_filter_update_arg_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_reset
    - gf_list_get
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_fs_send_update
    - gf_mx_v
    - gf_list_new
    - gf_filter_update_arg_apply
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_update_arg_task(GF_FSTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:5467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - (*configure_cbk)
    argTypes:
    - GF_Filter*
    - GF_Err
    constantsTouched: []
    func_position:
      end: 5472
      start: 5463
    functionDepth: 0
    functionLinenumber: 5463
    functionLinenumberEnd: 5472
    functionName: gf_filter_set_configure_ckb
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_set_configure_ckb(GF_Filter *filter, GF_Err
      (*configure_cbk)(GF_Filter *filter, GF_FilterPid *PID, Bool is_remove) ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5628,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter.c:5630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5631
      start: 5623
    functionDepth: 0
    functionLinenumber: 5623
    functionLinenumberEnd: 5631
    functionName: gf_filter_is_sink
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_has_out_caps
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_sink(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3747,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter.c:3753,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3749,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter.c:3748,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter.c:3751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3754
      start: 3743
    functionDepth: 0
    functionLinenumber: 3743
    functionLinenumberEnd: 3754
    functionName: gf_filter_post_remove
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_fs_post_task_ex
    - safe_int_inc
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_post_remove(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_path_escape_colon_ex
      Src: /src/gpac/src/filter_core/filter.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - path
    argTypes:
    - GF_FilterSession*
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: gf_fs_path_escape_colon
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_path_escape_colon_ex
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_fs_path_escape_colon(GF_FilterSession *sess, const
      char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_renegotiate_output
      Src: /src/gpac/src/filter_core/filter.c:2892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 2893
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2893
    functionName: gf_filter_renegotiate_output_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_renegotiate_output
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_renegotiate_output_task(GF_FSTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3542,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:3547,1
    - Dst: gf_filter_instance_detach_pid
      Src: /src/gpac/src/filter_core/filter.c:3548,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter.c:3568,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter.c:3573,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter.c:3534,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3555,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter.c:3561,1
    - Dst: gf_filter_pid_del
      Src: /src/gpac/src/filter_core/filter.c:3569,1
    - Dst: gf_filter_del
      Src: /src/gpac/src/filter_core/filter.c:3575,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:3523,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:3536,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter.c:3540,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3532,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3551,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:3544,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3546,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3571,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter.c:3558,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter.c:3553,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 3578
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3578
    functionName: gf_filter_setup_failure_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_del
    - gf_list_reset
    - gf_list_get
    - gf_list_pop_back
    - gf_list_count
    - GF_LOG
    - gf_mx_p
    - gf_filter_pid_inst_del
    - gf_filter_instance_detach_pid
    - gf_filter_del
    - gf_list_rem
    - gf_free
    - gf_fq_pop
    - gf_list_del_item
    - gf_filter_reset_pending_packets
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_setup_failure_task(GF_FSTask *task) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4617,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filter_core/filter.c:4642,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filter_core/filter.c:4634,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4650,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:4653,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:4655,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filter_core/filter.c:4657,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter.c:4669,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4670,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4670,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4748,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4624,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4625,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filter_core/filter.c:4628,1
    - Dst: strlwr
      Src: /src/gpac/src/filter_core/filter.c:4648,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:4664,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:4671,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4724,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:4745,1
    - Dst: filter_guess_file_ext
      Src: /src/gpac/src/filter_core/filter.c:4752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4687,1
    - Dst: gf_filter_pid_new
      Src: /src/gpac/src/filter_core/filter.c:4608,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4619,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filter_core/filter.c:4617,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter.c:4627,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:4637,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filter_core/filter.c:4638,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter.c:4632,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4649,1
    - Dst: gf_file_ext_start
      Src: /src/gpac/src/filter_core/filter.c:4659,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4684,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4619,1
    - Dst: PROP_STRING
      Src: /src/gpac/src/filter_core/filter.c:4625,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:4646,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4649,1
    - Dst: gf_file_basename
      Src: /src/gpac/src/filter_core/filter.c:4639,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4653,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:4667,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4702,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4713,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter.c:4744,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter.c:4748,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4732,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 164
    argCount: 9
    argNames:
    - filter
    - url
    - local_file
    - mime_type
    - fext
    - probe_data
    - probe_size
    - trust_mime
    - out_pid
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - char*
    - char*
    - u8*
    - u32
    - Bool
    - GF_FilterPid**
    constantsTouched: []
    func_position:
      end: 4757
      start: 4600
    functionDepth: 0
    functionLinenumber: 4600
    functionLinenumberEnd: 4757
    functionName: gf_filter_pid_raw_new
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_new
    - strlen
    - filter_guess_file_ext
    - gf_fileio_translate_url
    - strncmp
    - GF_LOG
    - gf_filter_pid_set_eos
    - strlwr
    - strstr
    - gf_file_ext_start
    - gf_list_count
    - PROP_STRING
    - gf_file_basename
    - PROP_UINT
    - gf_list_get
    - gf_mx_p
    - gf_filter_pid_set_property
    - strchr
    - strnicmp
    - gf_mx_v
    - gf_filter_pid_set_name
    - strncpy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_raw_new(GF_Filter *filter, const char
      *url, const char *local_file, const char *mime_type, const char *fext, const
      u8 *probe_data, u32 probe_size, Bool trust_mime, GF_FilterPid **out_pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_arg_internal
      Src: /src/gpac/src/filter_core/filter.c:4896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - filter
    - arg_name
    - prop
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 4897
      start: 4891
    functionDepth: 0
    functionLinenumber: 4891
    functionLinenumberEnd: 4897
    functionName: gf_filter_get_arg
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_get_arg_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_get_arg(GF_Filter *filter, const char *arg_name,
      GF_PropertyValue *prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5217
      start: 5213
    functionDepth: 0
    functionLinenumber: 5213
    functionLinenumberEnd: 5217
    functionName: gf_filter_get_version
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_version(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5664
      start: 5659
    functionDepth: 0
    functionLinenumber: 5659
    functionLinenumberEnd: 5664
    functionName: gf_filter_has_connect_errors
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_has_connect_errors(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_path_escape_colon_ex
      Src: /src/gpac/src/filter_core/filter.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - f
    - path
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: gf_filter_path_escape_colon
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_path_escape_colon_ex
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_filter_path_escape_colon(GF_Filter *f, const char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fs
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 2900
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2900
    functionName: session_should_abort
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool session_should_abort(GF_FilterSession *fs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter.c:3590,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:3592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 3594
      start: 3580
    functionDepth: 0
    functionLinenumber: 3580
    functionLinenumberEnd: 3594
    functionName: gf_filter_setup_failure_notify_task
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_class
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_setup_failure_notify_task(GF_FSTask *task) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/filter_core/filter.c:3766,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3772,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3788,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3768,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3781,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3790,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter.c:3795,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:3798,1
    - Dst: gf_filter_pid_del
      Src: /src/gpac/src/filter_core/filter.c:3799,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3803,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3807,1
    - Dst: gf_mx_try_lock
      Src: /src/gpac/src/filter_core/filter.c:3809,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter.c:3808,1
    - Dst: gf_filter_tag_remove
      Src: /src/gpac/src/filter_core/filter.c:3804,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:3813,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 4
    argNames:
    - filter
    - source_filter
    - until_filter
    - keep_end_connections
    argTypes:
    - GF_Filter*
    - GF_Filter*
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 3814
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3814
    functionName: gf_filter_tag_remove
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_del
    - gf_list_get
    - gf_filter_tag_remove
    - gf_fs_post_disconnect_task
    - gf_mx_try_lock
    - gf_list_count
    - gf_list_rem
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_tag_remove(GF_Filter *filter, GF_Filter *source_filter,
      GF_Filter *until_filter, Bool keep_end_connections) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter.c:4767,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:4771,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter.c:4768,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter.c:4785,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 4
    argNames:
    - filter
    - data
    - size
    - pscore
    argTypes:
    - GF_Filter*
    - u8*
    - u32
    - GF_FilterProbeScore*
    constantsTouched: []
    func_position:
      end: 4788
      start: 4759
    functionDepth: 0
    functionLinenumber: 4759
    functionLinenumberEnd: 4788
    functionName: gf_filter_probe_data
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_probe_data(GF_Filter *filter, u8 *data,
      u32 size, GF_FilterProbeScore *pscore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_is_supported_mime
      Src: /src/gpac/src/filter_core/filter.c:4902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - mime
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 4903
      start: 4899
    functionDepth: 0
    functionLinenumber: 4899
    functionLinenumberEnd: 4903
    functionName: gf_filter_is_supported_mime
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_fs_is_supported_mime
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_supported_mime(GF_Filter *filter, const
      char *mime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:5223,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter.c:5225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - new_desc
    argTypes:
    - GF_Filter*
    - char*
    constantsTouched: []
    func_position:
      end: 5227
      start: 5219
    functionDepth: 0
    functionLinenumber: 5219
    functionLinenumberEnd: 5227
    functionName: gf_filter_set_author
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - gf_free
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_set_author(GF_Filter *filter, const char *new_desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5670
      start: 5666
    functionDepth: 0
    functionLinenumber: 5666
    functionLinenumberEnd: 5670
    functionName: gf_filter_is_temporary
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_is_temporary(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_probe_link_internal
      Src: /src/gpac/src/filter_core/filter.c:5824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - filter
    - opid_idx
    - fname
    - res_chain
    argTypes:
    - GF_Filter*
    - u32
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 5825
      start: 5821
    functionDepth: 0
    functionLinenumber: 5821
    functionLinenumberEnd: 5825
    functionName: gf_filter_probe_link
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_probe_link_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_probe_link(GF_Filter *filter, u32 opid_idx,
      const char *fname, char **res_chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_probe_link_internal
      Src: /src/gpac/src/filter_core/filter.c:5818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - filter
    - opid_idx
    - fname
    - res_chain
    argTypes:
    - GF_Filter*
    - u32
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 5819
      start: 5815
    functionDepth: 0
    functionLinenumber: 5815
    functionLinenumberEnd: 5819
    functionName: gf_filter_probe_links
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_probe_link_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_probe_links(GF_Filter *filter, u32 opid_idx,
      const char *fname, char **res_chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter.c:3396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - idx
    argTypes:
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 3397
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3397
    functionName: gf_filter_get_ipid
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_list_get
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPid *gf_filter_get_ipid(GF_Filter *filter, u32
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4491
      start: 4485
    functionDepth: 0
    functionLinenumber: 4485
    functionLinenumberEnd: 4491
    functionName: gf_filter_act_as_sink
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_act_as_sink(GF_Filter *filter) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:4801,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter.c:4868,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 52
    argCount: 4
    argNames:
    - filter
    - arg_name
    - prop
    - min_max_enum
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyValue*
    - char**
    constantsTouched: []
    func_position:
      end: 4879
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4879
    functionName: gf_filter_get_arg_internal
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_props_type_is_enum
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_get_arg_internal(GF_Filter *filter, const char
      *arg_name, GF_PropertyValue *prop, const char **min_max_enum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - _task
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: task_del
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void task_del(void *_task) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_get_argc
      Src: /src/gpac/src/filter_core/filter.c:1405,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1420,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1428,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1446,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1458,1
    - Dst: filter_parse_logs
      Src: /src/gpac/src/filter_core/filter.c:1481,1
    - Dst: gf_fs_push_arg
      Src: /src/gpac/src/filter_core/filter.c:1490,1
    - Dst: filter_parse_logs
      Src: /src/gpac/src/filter_core/filter.c:1524,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1418,1
    - Dst: gf_sys_get_arg
      Src: /src/gpac/src/filter_core/filter.c:1411,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1441,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1452,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1467,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1468,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter.c:1488,1
    - Dst: MIN
      Src: /src/gpac/src/filter_core/filter.c:1489,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1507,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1509,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1530,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter.c:1419,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1445,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1457,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:1471,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1501,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1512,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1514,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1523,1
    - Dst: gf_sys_has_filter_global_args
      Src: /src/gpac/src/filter_core/filter.c:1403,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1404,1
    - Dst: gf_sys_mark_arg_used
      Src: /src/gpac/src/filter_core/filter.c:1433,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter.c:1438,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter.c:1451,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter.c:1466,1
    - Dst: gf_opts_get_key
      Src: /src/gpac/src/filter_core/filter.c:1517,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter.c:1529,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter.c:1519,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 145
    argCount: 5
    argNames:
    - filter
    - sec_name
    - arg_name
    - arg_val
    - first_arg
    argTypes:
    - GF_Filter*
    - char*
    - char*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 1537
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1537
    functionName: gf_filter_load_arg_config
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - strlen
    - filter_parse_logs
    - MIN
    - strncmp
    - gf_props_parse_value
    - GF_LOG
    - strcmp
    - gf_sys_has_filter_global_args
    - gf_sys_mark_arg_used
    - strchr
    - strncpy
    - stricmp
    - gf_sys_get_arg
    - gf_fs_push_arg
    - gf_sys_get_argc
    - gf_opts_get_key
    linkageType: ''
    returnType: char*
    signature: 'static const char *gf_filter_load_arg_config(GF_Filter *filter, const
      char *sec_name, const char *arg_name, const char *arg_val, Bool first_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3403
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3403
    functionName: gf_filter_get_opid_count
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_get_opid_count(GF_Filter *filter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter.c:4500,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter.c:4508,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4530,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4525,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter.c:4514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter.c:4535,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 5
    argNames:
    - pid
    - evt
    - start
    - speed
    - log_name
    argTypes:
    - GF_FilterPid*
    - GF_FilterEvent*
    - Double
    - Double
    - char*
    constantsTouched: []
    func_position:
      end: 4545
      start: 4494
    functionDepth: 0
    functionLinenumber: 4494
    functionLinenumberEnd: 4545
    functionName: gf_filter_pid_init_play_event
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property_first
    - GF_LOG
    - memset
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_init_play_event(GF_FilterPid *pid, GF_FilterEvent
      *evt, Double start, Double speed, const char *log_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_get_arg_internal
      Src: /src/gpac/src/filter_core/filter.c:4886,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter.c:4888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - arg_name
    - dump
    argTypes:
    - GF_Filter*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 4889
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4889
    functionName: gf_filter_get_arg_str
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_props_dump_val
    - gf_filter_get_arg_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_get_arg_str(GF_Filter *filter, const
      char *arg_name, char dump[GF_PROP_DUMP_ARG_SIZE]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter.c:2957,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter.c:2961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2991
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2991
    functionName: gf_filter_process_check_alloc
    functionSourceFile: /src/gpac/src/filter_core/filter.c
    functionUses: []
    functionsReached:
    - gf_mem_get_stats
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_process_check_alloc(GF_Filter *filter) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:83,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:87,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:91,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:95,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:99,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:103,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:111,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:107,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:84,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:88,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:92,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:96,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:104,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:100,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:112,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:108,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:295,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:344,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:357,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:148,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:186,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:249,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:62,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:42,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:46,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:50,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:54,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:70,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:66,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:80,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:75,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:43,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:47,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:51,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:55,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:59,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:63,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:71,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:78,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:67,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:167,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:337,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:300,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:318,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:126,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:215,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:149,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:187,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:222,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:230,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:238,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:258,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:127,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:290,1
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter_register.c:388,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:334,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_register.c:406,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:364,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:180,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:298,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:327,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:56,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:324,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:38,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:178,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:74,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:192,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:252,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:260,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:268,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:276,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:39,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:179,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:193,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:257,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:339,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:407,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:181,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:122,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:225,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:233,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:285,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:293,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:314,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:322,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:330,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:123,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:338,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:346,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:326,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:266,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:231,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:291,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:320,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:136,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:168,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:255,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:263,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:271,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:278,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:284,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:301,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:137,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:169,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:352,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:333,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:305,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:272,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:302,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_register.c:406,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:124,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:217,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:224,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:232,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:239,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:292,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:313,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:321,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:125,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:212,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:328,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:360,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:362,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_register.c:395,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:342,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:194,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:253,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:359,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:274,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:261,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:143,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:182,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:254,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:262,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:270,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:277,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:305,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:361,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:144,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:183,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:282,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:351,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:304,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:345,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:64,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:195,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:265,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:348,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_register.c:437,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:85,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:89,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:93,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:97,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:101,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:109,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:105,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:196,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:86,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:90,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:94,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:106,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:102,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:110,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:98,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:315,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:223,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:354,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_register.c:412,1
    - Dst: gf_modules_load_filter
      Src: /src/gpac/src/filter_core/filter_register.c:415,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:335,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:60,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:72,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:117,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:40,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:44,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:48,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:52,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:68,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:119,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:41,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:45,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:49,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:53,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:57,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:61,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:73,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:118,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:69,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:340,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:279,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:365,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:81,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:211,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:218,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:226,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:234,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:247,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:286,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:294,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:82,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:219,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:243,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:273,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:297,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:303,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:336,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:356,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:364,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_register.c:383,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:347,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:312,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:432,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:359,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:350,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:145,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:163,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:170,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:184,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:210,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:248,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:256,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:264,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:147,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:164,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:171,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:185,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:58,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:317,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:311,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_register.c:421,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:65,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:120,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:214,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:216,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:221,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:229,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:237,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:240,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:289,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:121,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:296,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:349,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:76,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:134,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:172,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:323,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:343,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:176,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:190,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:251,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:259,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:267,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:275,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:281,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:355,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:177,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:191,1
    - Dst: gf_modules_count
      Src: /src/gpac/src/filter_core/filter_register.c:413,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:310,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:308,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:353,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:269,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:329,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:213,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:220,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:135,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:173,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:228,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:236,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:242,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:288,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:306,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:309,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:280,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:319,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:227,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:287,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:316,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:141,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:150,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:174,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:188,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:209,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:245,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:250,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:235,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:142,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:151,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:175,1
    - Dst: REG_DEC
      Src: /src/gpac/src/filter_core/filter_register.c:189,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:332,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:364,1
    - Dst: defined
      Src: /src/gpac/src/filter_core/filter_register.c:364,1
    - Dst: REG_IT
      Src: /src/gpac/src/filter_core/filter_register.c:325,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 352
    argCount: 0
    argNames:
    - pin
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 439
    functionName: REG_DEC
    functionSourceFile: /src/gpac/src/filter_core/filter_register.c
    functionUses: []
    functionsReached:
    - defined
    - gf_modules_load_filter
    - gf_props_parse_value
    - gf_modules_count
    - strcmp
    - gf_opts_get_bool
    - REG_IT
    - GF_ARRAY_LENGTH
    - gf_assert
    - REG_DEC
    - gf_fs_add_filter_register
    - gf_props_reset_single
    linkageType: ''
    returnType: REG_DEC(ffdmx)
    signature: "REG_DEC(ffdmx) REG_DEC(ffdmxpid)REG_DEC(ffdec)REG_DEC(ffenc)REG_DEC(ffavin)REG_DEC(ffsws)REG_DEC(ffmx)REG_DEC(ffavf)REG_DEC(ffbsf)REG_DEC(inspect)REG_DEC(probe)REG_DEC(compositor)REG_DEC(mp4dmx)REG_DEC(bifsdec)REG_DEC(odfdec)REG_DEC(fin)REG_DEC(btplay)REG_DEC(httpin)REG_DEC(svgplay)REG_DEC(rfimg)REG_DEC(imgdec)REG_DEC(rfadts)REG_DEC(rflatm)REG_DEC(rfmp3)REG_DEC(faad)REG_DEC(maddec)REG_DEC(xviddec)REG_DEC(j2kdec)REG_DEC(rfac3)REG_DEC(a52dec)REG_DEC(rfamr)REG_DEC(oggdmx)REG_DEC(vorbisdec)REG_DEC(theoradec)REG_DEC(m2tsdmx)REG_DEC(sockin)REG_DEC(dvbin)REG_DEC(vtbdec)REG_DEC(lsrdec)REG_DEC(safdmx)REG_DEC(osvcdec)#ifdef
      GPAC_OPENHEVC_STATICREG_DEC(ohevcdec)#endifREG_DEC(dashin)REG_DEC(cdcrypt)REG_DEC(cecrypt)REG_DEC(mp4mx)REG_DEC(rfqcp)REG_DEC(rfh263)REG_DEC(rfmpgvid)REG_DEC(nhntr)REG_DEC(nhmlr)REG_DEC(rfnalu)REG_DEC(m2psdmx)REG_DEC(avidmx)REG_DEC(txtin)REG_DEC(ttxtdec)REG_DEC(vttdec)REG_DEC(ttmldec)REG_DEC(rtpin)REG_DEC(fout)REG_DEC(ufadts)REG_DEC(uflatm)REG_DEC(reframer)REG_DEC(writegen)REG_DEC(ufnalu)REG_DEC(writeqcp)REG_DEC(ufvtt)REG_DEC(nhntw)REG_DEC(nhmlw)REG_DEC(vobsubdmx)REG_DEC(avimx)REG_DEC(aout)REG_DEC(ufm4v)REG_DEC(ufvc1)REG_DEC(resample)#if
      !defined(GPAC_CONFIG_ANDROID)REG_DEC(vout)#endifREG_DEC(vcrop)REG_DEC(vflip)REG_DEC(rfrawvid)REG_DEC(rfpcm)REG_DEC(jpgenc)REG_DEC(pngenc)REG_DEC(rewind)REG_DEC(flist)REG_DEC(m2tsmx)REG_DEC(dasher)REG_DEC(tileagg)REG_DEC(tilesplit)#if
      !defined(GPAC_CONFIG_ANDROID) REG_DEC(pin) REG_DEC(pout)#endifREG_DEC(gsfmx)REG_DEC(gsfdmx)REG_DEC(sockout)REG_DEC(rfav1)REG_DEC(ufobu)#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID)REG_DEC(nvdec)#endifREG_DEC(routein)REG_DEC(rtpout)REG_DEC(rtspout)REG_DEC(hevcsplit)REG_DEC(hevcmerge)REG_DEC(jsf)REG_DEC(tssplit)REG_DEC(tsgendts)REG_DEC(httpout)REG_DEC(uncvdec)#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID) && !defined(GPAC_HAVE_DTAPI)
      && !defined(WIN32) REG_DEC(dtout)#endif#if !defined(GPAC_CONFIG_IOS)REG_DEC(mcdec)#endif#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID)REG_DEC(wcdec)REG_DEC(wcenc)REG_DEC(webgrab)#endifREG_DEC(rfflac)REG_DEC(rfprores)REG_DEC(bsrw)REG_DEC(bssplit)REG_DEC(bsagg)REG_DEC(rfmhas)REG_DEC(ufmhas)REG_DEC(routeout)REG_DEC(rftruehd)REG_DEC(cryptin)REG_DEC(cryptout)REG_DEC(restamp)REG_DEC(oggmx)REG_DEC(vtt2tx3g)REG_DEC(rfsrt)REG_DEC(ufttxt)REG_DEC(tx3g2srt)REG_DEC(tx3g2vtt)REG_DEC(tx3g2ttml)REG_DEC(ttml2vtt)REG_DEC(ttml2srt)REG_DEC(unframer)REG_DEC(writeuf)REG_DEC(ttmlmerge)REG_DEC(ghidmx)REG_DEC(evgs)REG_DEC(ccdec)REG_DEC(scte35dec)REG_DEC(mpeghdec)REG_DEC(seiload)typedef
      const GF_FilterRegister *(*filter_reg_fun)(GF_FilterSession *session);typedef
      struct{\tconst char *name;\tfilter_reg_fun fun;} BuiltinReg;#define REG_IT(__n)
      { #__n , __n##_register }BuiltinReg BuiltinFilters [] = {\tREG_IT(inspect),\tREG_IT(probe),\tREG_IT(compositor),\tREG_IT(mp4dmx),\tREG_IT(bifsdec),\tREG_IT(odfdec),\tREG_IT(fin),\tREG_IT(btplay),\tREG_IT(httpin),\tREG_IT(svgplay),\tREG_IT(rfimg),\tREG_IT(imgdec),\tREG_IT(rfadts),\tREG_IT(rflatm),\tREG_IT(rfmp3),\tREG_IT(faad),\tREG_IT(maddec),\tREG_IT(xviddec),\tREG_IT(j2kdec),\tREG_IT(rfac3),\tREG_IT(a52dec),\tREG_IT(rfamr),\tREG_IT(oggdmx),\tREG_IT(vorbisdec),\tREG_IT(theoradec),\tREG_IT(m2tsdmx),\tREG_IT(sockin),\tREG_IT(dvbin),\tREG_IT(osvcdec),\tREG_IT(vtbdec),#if
      !defined(GPAC_CONFIG_IOS)\tREG_IT(mcdec),#endif\tREG_IT(lsrdec),\tREG_IT(safdmx),#ifdef
      GPAC_OPENHEVC_STATIC\tREG_IT(ohevcdec),#endif\tREG_IT(dashin),\tREG_IT(cdcrypt),\tREG_IT(cecrypt),\tREG_IT(mp4mx),\tREG_IT(rfqcp),\tREG_IT(rfh263),\tREG_IT(rfmpgvid),\tREG_IT(nhntr),\tREG_IT(nhmlr),\tREG_IT(rfnalu),\tREG_IT(m2psdmx),\tREG_IT(avidmx),\tREG_IT(txtin),\tREG_IT(ttxtdec),\tREG_IT(vttdec),\tREG_IT(ttmldec),\tREG_IT(rtpin),\tREG_IT(fout),\tREG_IT(uflatm),\tREG_IT(ufadts),\tREG_IT(ufmhas),\tREG_IT(reframer),\tREG_IT(writegen),\tREG_IT(ufnalu),\tREG_IT(writeqcp),\tREG_IT(ufvtt),\tREG_IT(nhntw),\tREG_IT(nhmlw),\tREG_IT(vobsubdmx),\tREG_IT(avimx),\tREG_IT(aout),\tREG_IT(ufm4v),\tREG_IT(ufvc1),\tREG_IT(resample),#if
      !defined(GPAC_CONFIG_ANDROID)\tREG_IT(vout),#endif\tREG_IT(vcrop),\tREG_IT(vflip),\tREG_IT(rfrawvid),\tREG_IT(rfpcm),\tREG_IT(jpgenc),\tREG_IT(pngenc),\tREG_IT(rewind),\tREG_IT(flist),\tREG_IT(m2tsmx),\tREG_IT(dasher),\tREG_IT(tileagg),\tREG_IT(tilesplit),#if
      !defined(GPAC_CONFIG_ANDROID)\tREG_IT(pin),\tREG_IT(pout),#endif\tREG_IT(gsfmx),\tREG_IT(gsfdmx),\tREG_IT(sockout),\tREG_IT(rfav1),\tREG_IT(ufobu),#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID)\tREG_IT(nvdec),#endif\tREG_IT(routein),\tREG_IT(rtpout),\tREG_IT(rtspout),\tREG_IT(httpout),\tREG_IT(hevcsplit),\tREG_IT(hevcmerge),\tREG_IT(rfflac),\tREG_IT(rfmhas),\tREG_IT(rfprores),\tREG_IT(tssplit),\tREG_IT(tsgendts),\tREG_IT(bsrw),\tREG_IT(bssplit),\tREG_IT(bsagg),\tREG_IT(ufttxt),\tREG_IT(tx3g2srt),\tREG_IT(tx3g2vtt),\tREG_IT(tx3g2ttml),\tREG_IT(vtt2tx3g),\tREG_IT(rfsrt),\tREG_IT(ttml2vtt),\tREG_IT(ttml2srt),\tREG_IT(mpeghdec),\tREG_IT(ffdmx),\tREG_IT(ffdmxpid),\tREG_IT(ffdec),\tREG_IT(ffavin),\tREG_IT(ffsws),\tREG_IT(ffenc),\tREG_IT(ffmx),\tREG_IT(ffavf),\tREG_IT(ffbsf),\tREG_IT(jsf),\tREG_IT(routeout),\tREG_IT(rftruehd),\tREG_IT(cryptin),\tREG_IT(cryptout),\tREG_IT(restamp),\tREG_IT(oggmx),\tREG_IT(unframer),\tREG_IT(writeuf),\tREG_IT(ttmlmerge),\tREG_IT(uncvdec),\tREG_IT(ghidmx),\tREG_IT(evgs),\tREG_IT(ccdec),\tREG_IT(scte35dec),\tREG_IT(seiload),#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID)\tREG_IT(wcdec),\tREG_IT(wcenc),\tREG_IT(webgrab),#endif#if
      !defined(GPAC_CONFIG_IOS) && !defined(GPAC_CONFIG_ANDROID) && !defined(GPAC_HAVE_DTAPI)
      && !defined(WIN32)\tREG_IT(dtout),#endif}; void gf_fs_reg_all(GF_FilterSession
      *fsess, GF_FilterSession *a_sess) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:445,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:447,1
    - Dst: ut_source_register
      Src: /src/gpac/src/filter_core/filter_register.c:445,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:446,1
    - Dst: ut_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:446,1
    - Dst: ut_sink_register
      Src: /src/gpac/src/filter_core/filter_register.c:447,1
    - Dst: gf_fs_add_filter_register
      Src: /src/gpac/src/filter_core/filter_register.c:448,1
    - Dst: ut_sink2_register
      Src: /src/gpac/src/filter_core/filter_register.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: gf_fs_register_test_filters
    functionSourceFile: /src/gpac/src/filter_core/filter_register.c
    functionUses: []
    functionsReached:
    - ut_source_register
    - ut_sink_register
    - ut_sink2_register
    - gf_fs_add_filter_register
    - ut_filter_register
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_fs_register_test_filters(GF_FilterSession *fsess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter_props.c:52,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: gf_props_parse_enum
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_props_parse_enum(u32 type, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_props.c:1337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - map
    - prop_4cc
    - name
    argTypes:
    - GF_PropertyMap*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: gf_props_get_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_get_property_entry
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'const GF_PropertyValue *gf_props_get_property(GF_PropertyMap *map,
      u32 prop_4cc, const char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1406,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1412,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1431,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1426,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - props
    - io_idx
    - prop_4cc
    - prop_name
    argTypes:
    - GF_PropertyMap*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 1441
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1441
    functionName: gf_props_enum_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'const GF_PropertyValue *gf_props_enum_property(GF_PropertyMap *props,
      u32 *io_idx, u32 *prop_4cc, const char **prop_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_PropType
    constantsTouched: []
    func_position:
      end: 1507
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1507
    functionName: gf_props_get_type_desc
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_get_type_desc(GF_PropType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter_props.c:64,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: gf_props_enum_name
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_enum_name(u32 type, u32 value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1360,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_props.c:1365,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1363,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1362,1
    - Dst: filter_prop
      Src: /src/gpac/src/filter_core/filter_props.c:1364,1
    - Dst: gf_props_remove_property
      Src: /src/gpac/src/filter_core/filter_props.c:1368,1
    - Dst: gf_props_hash_djb2
      Src: /src/gpac/src/filter_core/filter_props.c:1368,1
    - Dst: gf_props_get_list
      Src: /src/gpac/src/filter_core/filter_props.c:1372,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_props.c:1375,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_props.c:1378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - dst_props
    - src_props
    - filter_prop
    - cbk
    argTypes:
    - GF_PropertyMap*
    - GF_PropertyMap*
    - gf_filter_prop_filter
    - void*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1388
    functionName: gf_props_merge_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_props_remove_property
    - filter_prop
    - gf_props_get_list
    - safe_int_inc
    - gf_assert
    - gf_props_hash_djb2
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_props_merge_property(GF_PropertyMap *dst_props, GF_PropertyMap
      *src_props, gf_filter_prop_filter filter_prop, void *cbk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1518
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1518
    functionName: gf_props_parse_type
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_PropType gf_props_parse_type(const char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:1890,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1893,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_props.c:1892,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1915
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1915
    functionName: gf_props_get_id
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - GF_4CC
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_props_get_id(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_equal_internal
      Src: /src/gpac/src/filter_core/filter_props.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - GF_PropertyValue*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: gf_props_equal_strict
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_equal_internal
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_props_equal_strict(const GF_PropertyValue *p1, const GF_PropertyValue
      *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_hash_djb2
      Src: /src/gpac/src/filter_core/filter_props.c:1268,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_props.c:1275,1
    - Dst: gf_props_insert_property
      Src: /src/gpac/src/filter_core/filter_props.c:1274,1
    - Dst: gf_props_remove_property
      Src: /src/gpac/src/filter_core/filter_props.c:1270,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_props.c:1269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - map
    - p4cc
    - name
    - dyn_name
    - value
    argTypes:
    - GF_PropertyMap*
    - u32
    - char*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1277
    functionName: gf_props_set_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_remove_property
    - gf_mx_p
    - gf_mx_v
    - gf_props_hash_djb2
    - gf_props_insert_property
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_props_set_property(GF_PropertyMap *map, u32 p4cc, const
      char *name, char *dyn_name, const GF_PropertyValue *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1961,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1972,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1966,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1966,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1961,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1972,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1975,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1981,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1981,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1981,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1987
    functionName: gf_props_sanity_check
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - strcmp
    - gf_4cc_to_str
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_props_sanity_check() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_hash_djb2
      Src: /src/gpac/src/filter_core/filter_props.c:1284,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1290,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1286,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1297,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1288,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:1299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1305,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1307,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 3
    argNames:
    - map
    - prop_4cc
    - name
    argTypes:
    - GF_PropertyMap*
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1333
    functionName: gf_props_get_property_entry
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_list_get
    - gf_list_count
    - strcmp
    - GF_LOG
    - gf_props_hash_djb2
    linkageType: ''
    returnType: GF_PropertyEntry*
    signature: 'const GF_PropertyEntry *gf_props_get_property_entry(GF_PropertyMap
      *map, u32 prop_4cc, const char *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2256,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2258,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2257,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2260,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2259,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:2261,1
    - Dst: gf_mx2d_decompose
      Src: /src/gpac/src/filter_core/filter_props.c:2262,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2266,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2267,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2269,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2278,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2281,1
    - Dst: ABSDIFF
      Src: /src/gpac/src/filter_core/filter_props.c:2275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - p
    - flip_mode
    - rot_mode
    argTypes:
    - GF_PropertyValue*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2286
    functionName: gf_prop_matrix_decompose
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_mx2d_decompose
    - INT2FIX
    - ABSDIFF
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_prop_matrix_decompose(const GF_PropertyValue *p, u32 *flip_mode,
      u32 *rot_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_props.c:1129,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_props.c:1131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - GF_PropertyMap*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1133
    functionName: gf_props_get_list
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_fq_pop
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List *gf_props_get_list(GF_PropertyMap *map) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:99,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:111,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:107,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:104,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:116,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:119,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:121,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:124,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:126,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:130,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:131,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:144,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:154,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:155,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:136,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_props.c:132,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:157,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 7
    argNames:
    - p
    - list_sep_char
    - name
    - value
    - prefix
    - scode
    - size
    argTypes:
    - GF_PropertyValue*
    - char
    - char*
    - char*
    - char*
    - char*
    - u32
    constantsTouched: []
    func_position:
      end: 163
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 163
    functionName: parse_data_format
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - strlen
    - sscanf
    - gf_realloc
    - gf_strdup
    - strcmp
    - GF_LOG
    - memcpy
    - strchr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_format(GF_PropertyValue *p, char list_sep_char,
      const char *name, const char *value, const char *prefix, const char *scode,
      u32 size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:996,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:999,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1004,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1008,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_props.c:997,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1016,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1018,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1025,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1031,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_props.c:1032,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_props.c:1037,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1033,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1038,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - it
    argTypes:
    - GF_PropertyEntry*
    constantsTouched: []
    func_position:
      end: 1042
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1042
    functionName: gf_props_del_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_assert
    - gf_fq_res_add
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_props_del_property(GF_PropertyEntry *it) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1100,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1102,1
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_props.c:1105,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_props.c:1104,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1103,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1111,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1113,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:1114,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_props.c:1115,1
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_props.c:1116,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - map
    - hash
    - p4cc
    - name
    argTypes:
    - GF_PropertyMap*
    - u32
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1121
    functionName: gf_props_remove_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - strcmp
    - gf_list_rem
    - gf_props_del_property
    linkageType: ''
    returnType: void
    signature: 'void gf_props_remove_property(GF_PropertyMap *map, u32 hash, u32 p4cc,
      const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1062,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_props.c:1067,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_props.c:1066,1
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_props.c:1063,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_props.c:1063,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1072,1
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_props.c:1073,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_props.c:1073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - prop
    argTypes:
    - GF_PropertyMap*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1076
    functionName: gf_props_reset
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - gf_props_del_property
    - gf_fq_res_add
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void gf_props_reset(GF_PropertyMap *prop) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_props.c:1143,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_props.c:1147,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1165,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:1150,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:1160,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_props.c:1167,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1171,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:1180,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_props.c:1182,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:1189,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_props.c:1191,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:1194,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - prop
    - value
    - is_old_prop
    argTypes:
    - GF_PropertyEntry*
    - GF_PropertyValue*
    - Bool
    constantsTouched: []
    func_position:
      end: 1200
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1200
    functionName: gf_props_assign_value
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - gf_strdup
    - memcpy
    - gf_assert
    - gf_props_reset_single
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_props_assign_value(GF_PropertyEntry *prop, const
      GF_PropertyValue *value, Bool is_old_prop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prop_idx
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1922
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1922
    functionName: gf_props_get_description
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_BuiltInProperty *gf_props_get_description(u32 prop_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - prop_4cc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1942
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1942
    functionName: gf_props_4cc_get_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_props_4cc_get_flags(u32 prop_4cc) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gf_stream_type_name
      Src: /src/gpac/src/filter_core/filter_props.c:2182,1
    - Dst: gf_net_ntp_to_utc
      Src: /src/gpac/src/filter_core/filter_props.c:2196,1
    - Dst: gf_codecid_name
      Src: /src/gpac/src/filter_core/filter_props.c:2184,1
    - Dst: gf_gmtime
      Src: /src/gpac/src/filter_core/filter_props.c:2205,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2210,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_props.c:2216,1
    - Dst: gf_audio_fmt_get_cicp_from_layout
      Src: /src/gpac/src/filter_core/filter_props.c:2217,1
    - Dst: gf_audio_fmt_get_cicp_name
      Src: /src/gpac/src/filter_core/filter_props.c:2218,1
    - Dst: gf_utf8_is_legal
      Src: /src/gpac/src/filter_core/filter_props.c:2225,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_props.c:2230,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/src/filter_core/filter_props.c:2232,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter_props.c:2234,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter_props.c:2231,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter_props.c:2221,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 4
    argNames:
    - p4cc
    - att
    - dump
    - dump_data_mode
    argTypes:
    - u32
    - GF_PropertyValue*
    - char
    - GF_PropDumpDataMode
    constantsTouched: []
    func_position:
      end: 2237
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2237
    functionName: gf_props_dump
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_net_ntp_to_utc
    - snprintf
    - gf_utf8_is_legal
    - gf_stream_type_name
    - gf_props_enum_name
    - gf_audio_fmt_get_cicp_name
    - gf_props_dump_val
    - gf_props_type_is_enum
    - gf_props_4cc_get_type
    - gf_codecid_name
    - gf_gmtime
    - gf_sys_is_test_mode
    - gf_audio_fmt_get_cicp_from_layout
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_dump(u32 p4cc, const GF_PropertyValue
      *att, char dump[GF_PROP_DUMP_ARG_SIZE], GF_PropDumpDataMode dump_data_mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:170,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:172,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:175,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - u64*
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: parse_time
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: Bool
    signature: 'static Bool parse_time(const char *str, u64 *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1047,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_props.c:1050,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pmap
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1054
    functionName: gf_propmap_del
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_propmap_del(void *pmap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1080,1
    - Dst: gf_props_reset
      Src: /src/gpac/src/filter_core/filter_props.c:1084,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_props.c:1088,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:1089,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_props.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - map
    argTypes:
    - GF_PropertyMap*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1091
    functionName: gf_props_del
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_fq_res_add
    - gf_free
    - gf_props_reset
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_props_del(GF_PropertyMap *map) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1220,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1222,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_props.c:1222,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_props.c:1224,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_props.c:1234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1211,1
    - Dst: gf_props_get_list
      Src: /src/gpac/src/filter_core/filter_props.c:1217,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1222,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1225,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:1226,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_props.c:1238,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_props.c:1260,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_props.c:1232,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:1247,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_props.c:1258,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1211,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:1225,1
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_props.c:1253,1
    - Dst: gf_props_assign_value
      Src: /src/gpac/src/filter_core/filter_props.c:1251,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 6
    argNames:
    - map
    - hash
    - p4cc
    - name
    - dyn_name
    - value
    argTypes:
    - GF_PropertyMap*
    - u32
    - u32
    - char*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1263
    functionName: gf_props_insert_property
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - GF_LOG
    - gf_props_get_list
    - gf_props_del_property
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_fq_pop
    - gf_props_assign_value
    - gf_assert
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_props_insert_property(GF_PropertyMap *map, u32 hash, u32
      p4cc, const char *name, char *dyn_name, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:1494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_PropType
    constantsTouched: []
    func_position:
      end: 1496
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1496
    functionName: gf_props_get_type_name
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_get_type_name(GF_PropType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - prop_4cc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1932
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1932
    functionName: gf_props_4cc_get_name
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_4cc_get_name(u32 prop_4cc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - prop_4cc
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1952
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1952
    functionName: gf_props_4cc_get_type
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_props_4cc_get_type(u32 prop_4cc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_dump
      Src: /src/gpac/src/filter_core/filter_props.c:2243,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:2245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - p4cc
    - att
    - dump_data_mode
    argTypes:
    - u32
    - GF_PropertyValue*
    - GF_PropDumpDataMode
    constantsTouched: []
    func_position:
      end: 2246
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2246
    functionName: gf_props_dump_alloc
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_dump
    - gf_strdup
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_props_dump_alloc(u32 p4cc, const GF_PropertyValue
      *att, GF_PropDumpDataMode dump_data_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_ARRAY_LENGTH
      Src: /src/gpac/src/filter_core/filter_props.c:76,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: gf_props_enum_all_names
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - GF_ARRAY_LENGTH
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_enum_all_names(u32 type) '
  - BBCount: 168
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:238,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:313,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:340,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:439,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:442,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter_props.c:451,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:475,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:531,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filter_core/filter_props.c:549,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:567,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:590,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:622,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:304,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_props.c:212,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:225,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:230,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:236,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:347,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:373,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:330,1
    - Dst: MIN
      Src: /src/gpac/src/filter_core/filter_props.c:271,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:423,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:637,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filter_core/filter_props.c:496,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:671,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:392,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:237,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:257,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:289,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter_props.c:454,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_props.c:515,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:571,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:573,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:597,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:644,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:708,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:696,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:734,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:607,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:729,1
    - Dst: gf_base64_decode
      Src: /src/gpac/src/filter_core/filter_props.c:576,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:371,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_props.c:216,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:252,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:445,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:458,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filter_core/filter_props.c:520,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:574,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:595,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:609,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:640,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:604,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:610,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:235,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:263,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_props.c:275,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:358,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:410,1
    - Dst: FLT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:382,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:409,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:468,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_props.c:560,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_props.c:662,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:564,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:657,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:389,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:295,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:225,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:246,1
    - Dst: gf_strlcpy
      Src: /src/gpac/src/filter_core/filter_props.c:271,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:318,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:369,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:482,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:507,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:560,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:661,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:467,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:502,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:649,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:370,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:203,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:227,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:286,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:296,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:297,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:459,1
    - Dst: gf_xml_dom_get_root_idx
      Src: /src/gpac/src/filter_core/filter_props.c:509,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:515,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_props.c:537,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:596,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:599,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:730,1
    - Dst: gf_props_parse_enum
      Src: /src/gpac/src/filter_core/filter_props.c:748,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:587,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:634,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_props.c:703,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:225,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:303,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:307,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:321,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:400,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:412,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:436,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:476,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:493,1
    - Dst: memmove
      Src: /src/gpac/src/filter_core/filter_props.c:638,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:664,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:606,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:751,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:328,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:404,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:339,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:388,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:405,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:431,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter_props.c:436,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:475,1
    - Dst: gf_xml_dom_new
      Src: /src/gpac/src/filter_core/filter_props.c:504,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/filter_core/filter_props.c:512,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:707,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter_props.c:746,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_props.c:319,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:338,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:202,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:213,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:227,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_props.c:305,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:454,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:467,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:483,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filter_core/filter_props.c:550,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:719,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:602,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:729,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:378,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:377,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:419,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:547,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:583,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:592,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:594,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:601,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:608,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:522,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:598,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:728,1
    - Dst: gf_xml_dom_parse
      Src: /src/gpac/src/filter_core/filter_props.c:505,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filter_core/filter_props.c:565,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:329,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:217,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:227,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:458,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:483,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:544,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_props.c:614,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filter_core/filter_props.c:714,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:724,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:723,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_props.c:195,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:272,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:337,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:396,1
    - Dst: stricmp
      Src: /src/gpac/src/filter_core/filter_props.c:448,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:474,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:484,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:498,1
    - Dst: gf_xml_parse_bit_sequence
      Src: /src/gpac/src/filter_core/filter_props.c:557,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:588,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:677,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_props.c:711,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:258,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:363,1
    - Dst: gf_parse_lfrac
      Src: /src/gpac/src/filter_core/filter_props.c:362,1
    - Dst: INT2FIX
      Src: /src/gpac/src/filter_core/filter_props.c:371,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:466,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:536,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:552,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:593,1
    - Dst: parse_data_format
      Src: /src/gpac/src/filter_core/filter_props.c:600,1
    - Dst: gf_xml_dom_del
      Src: /src/gpac/src/filter_core/filter_props.c:563,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:669,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:352,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:239,1
    - Dst: parse_time
      Src: /src/gpac/src/filter_core/filter_props.c:302,1
    - Dst: gf_parse_frac
      Src: /src/gpac/src/filter_core/filter_props.c:351,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:414,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:533,1
    - Dst: gf_xml_dom_get_root_idx
      Src: /src/gpac/src/filter_core/filter_props.c:554,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:605,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:612,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:387,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:267,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:327,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:424,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:451,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:578,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:589,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:591,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_props.c:603,1
    - Dst: sscanf
      Src: /src/gpac/src/filter_core/filter_props.c:621,1
    - Dst: gf_file_load_data
      Src: /src/gpac/src/filter_core/filter_props.c:667,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:716,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:701,1
    CyclomaticComplexity: 264
    EdgeCount: 264
    ICount: 800
    argCount: 5
    argNames:
    - type
    - name
    - value
    - enum_values
    - list_sep_char
    argTypes:
    - u32
    - char*
    - char*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 758
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 758
    functionName: gf_props_parse_value
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - memset
    - gf_strlcpy
    - strncmp
    - gf_file_load_data
    - GF_LOG
    - INT2FIX
    - strstr
    - gf_xml_dom_del
    - parse_time
    - MIN
    - GF_4CC
    - gf_xml_dom_new
    - gf_error_to_string
    - gf_strdup
    - strcmp
    - gf_parse_frac
    - FLT2FIX
    - stricmp
    - memmove
    - parse_data_format
    - gf_props_parse_enum
    - gf_xml_dom_parse
    - gf_props_type_is_enum
    - strchr
    - strnicmp
    - gf_free
    - gf_base64_decode
    - gf_4cc_parse
    - sscanf
    - gf_realloc
    - gf_xml_parse_bit_sequence
    - gf_xml_dom_get_root_idx
    - strncpy
    - gf_parse_lfrac
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_PropertyValue gf_props_parse_value(u32 type, const char
      *name, const char *value, const char *enum_values, char list_sep_char) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_props.c:791,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:828,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:829,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:831,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_props.c:792,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:834,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:835,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_props.c:839,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:841,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:846,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:847,1
    - Dst: memcmp
      Src: /src/gpac/src/filter_core/filter_props.c:897,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:910,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:853,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter_props.c:906,1
    - Dst: memcmp
      Src: /src/gpac/src/filter_core/filter_props.c:866,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_props.c:851,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_props.c:879,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 110
    argCount: 3
    argNames:
    - p1
    - p2
    - strict_compare
    argTypes:
    - GF_PropertyValue*
    - GF_PropertyValue*
    - Bool
    constantsTouched: []
    func_position:
      end: 914
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 914
    functionName: gf_props_equal_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    - memcmp
    - gf_props_get_base_type
    - strcmp
    - GF_LOG
    - gf_props_type_is_enum
    - strchr
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_props_equal_internal(const GF_PropertyValue *p1, const GF_PropertyValue
      *p2, Bool strict_compare) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_props.c:948,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_props.c:957,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_props.c:951,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_props.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 963
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 963
    functionName: gf_props_new
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_fq_pop
    - gf_list_new
    - gf_assert
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_PropertyMap*
    signature: 'GF_PropertyMap * gf_props_new(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_PropType
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: gf_props_type_is_enum
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_props_type_is_enum(GF_PropType type) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter_props.c:782,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 786
    functionName: gf_props_get_base_type
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_type_is_enum
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_props_get_base_type(u32 type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_equal_internal
      Src: /src/gpac/src/filter_core/filter_props.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - GF_PropertyValue*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: gf_props_equal
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_props_equal_internal
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_props_equal(const GF_PropertyValue *p1, const GF_PropertyValue
      *p2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:969,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:989,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:979,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:973,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_props.c:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - p
    argTypes:
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 993
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 993
    functionName: gf_props_reset_single
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_props_reset_single(GF_PropertyValue *p) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2031,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:2032,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2060,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2079,1
    - Dst: strncat
      Src: /src/gpac/src/filter_core/filter_props.c:2118,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:2120,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:2122,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2143,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_props.c:2148,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_props.c:2150,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:2153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_props.c:2155,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2162,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2165,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_props.c:2019,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2052,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2045,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2070,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2076,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2082,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2098,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2105,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_props.c:2115,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_props.c:2117,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2145,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2007,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:2010,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_props.c:2015,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2064,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2042,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2073,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2096,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2101,1
    - Dst: gf_crc_32
      Src: /src/gpac/src/filter_core/filter_props.c:2101,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2141,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:2141,1
    - Dst: strncat
      Src: /src/gpac/src/filter_core/filter_props.c:2151,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_props.c:2022,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2035,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2039,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2067,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2050,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2058,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_props.c:2039,1
    - Dst: FIX2FLT
      Src: /src/gpac/src/filter_core/filter_props.c:2067,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2093,1
    - Dst: gf_props_type_is_enum
      Src: /src/gpac/src/filter_core/filter_props.c:2168,1
    - Dst: gf_props_enum_name
      Src: /src/gpac/src/filter_core/filter_props.c:2169,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_props.c:2139,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 139
    argCount: 4
    argNames:
    - att
    - dump
    - dump_data_flags
    - min_max_enum
    argTypes:
    - GF_PropertyValue*
    - char
    - GF_PropDumpDataMode
    - char*
    constantsTouched: []
    func_position:
      end: 2173
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2173
    functionName: gf_props_dump_val
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - gf_crc_32
    - gf_props_enum_name
    - GF_LOG
    - sprintf
    - strncat
    - gf_props_type_is_enum
    - strchr
    - strncpy
    - gf_4cc_to_str
    - FIX2FLT
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_props_dump_val(const GF_PropertyValue *att,
      char dump[GF_PROP_DUMP_ARG_SIZE], GF_PropDumpDataMode dump_data_flags, const
      char *min_max_enum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - p4cc
    - str
    argTypes:
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 941
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 941
    functionName: gf_props_hash_djb2
    functionSourceFile: /src/gpac/src/filter_core/filter_props.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFINLINE
    signature: 'GFINLINE u32 gf_props_hash_djb2(u32 p4cc, const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:107,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:118,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pck.c:117,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:108,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pck.c:112,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:119,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pck.c:124,1
    - Dst: gf_fq_enum
      Src: /src/gpac/src/filter_core/filter_pck.c:126,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pck.c:140,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:142,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:143,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pck.c:174,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:155,1
    - Dst: gf_filter_pck_reset_props
      Src: /src/gpac/src/filter_core/filter_pck.c:189,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pck.c:158,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:153,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:161,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:160,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - pid
    - data_size
    - data
    argTypes:
    - GF_FilterPid*
    - u32
    - u8**
    constantsTouched: []
    func_position:
      end: 191
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 191
    functionName: gf_filter_pck_new_alloc_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memset
    - gf_realloc
    - GF_LOG
    - PID_IS_INPUT
    - GF_SAFEALLOC
    - gf_free
    - gf_fq_pop
    - gf_fq_count
    - gf_filter_pck_reset_props
    - gf_fq_enum
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *gf_filter_pck_new_alloc_internal(GF_FilterPid
      *pid, u32 data_size, u8 **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - pck_source
    - data
    argTypes:
    - GF_FilterPid*
    - GF_FilterPacket*
    - u8**
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: gf_filter_pck_new_copy
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_clone_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_copy(GF_FilterPid *pid,
      GF_FilterPacket *pck_source, u8 **data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filter_core/filter_pck.c:503,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:510,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:519,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:509,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:520,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 5
    argNames:
    - pid
    - data_offset
    - data_size
    - reference
    - destruct
    argTypes:
    - GF_FilterPid*
    - u32
    - u32
    - GF_FilterPacket*
    - gf_fsess_packet_destructor
    constantsTouched: []
    func_position:
      end: 522
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 522
    functionName: gf_filter_pck_new_ref_destructor
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_pck_new_shared
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_ref_destructor(GF_FilterPid
      *pid, u32 data_offset, u32 data_size, GF_FilterPacket *reference, gf_fsess_packet_destructor
      destruct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:533,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: gf_filter_pck_set_readonly
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PCK_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_readonly(GF_FilterPacket *pck) '
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1166,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1248,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_pck.c:1300,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1389,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1216,1
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:885,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:886,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:923,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pck.c:1161,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filter_core/filter_pck.c:1380,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1118,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pck.c:1159,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pck.c:1281,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pck.c:1160,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pck.c:978,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1383,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1123,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1210,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1221,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1387,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_pck.c:1394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:872,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:891,1
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/filter_core/filter_pck.c:909,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pck.c:1108,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1241,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pck.c:1293,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pck.c:1175,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1339,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pck.c:1148,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pck.c:1216,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pck.c:1354,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pck.c:1392,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pck.c:1253,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:1308,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:881,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:942,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pck.c:965,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:994,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1121,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:1157,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1337,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:871,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:887,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter_pck.c:983,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1206,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1228,1
    - Dst: gf_filter_pck_new_alloc_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:1274,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1309,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pck.c:1353,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1138,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1202,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:882,1
    - Dst: gf_filter_forward_clock
      Src: /src/gpac/src/filter_core/filter_pck.c:918,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1307,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pck.c:1162,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_pck.c:1172,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1156,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pck.c:1190,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pck.c:1334,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pck.c:1365,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter_pck.c:878,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pck.c:979,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:1192,1
    - Dst: gf_filter_aggregate_packets
      Src: /src/gpac/src/filter_core/filter_pck.c:1231,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1304,1
    - Dst: safe_int64_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1254,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1258,1
    - Dst: gf_filter_pid_set_args
      Src: /src/gpac/src/filter_core/filter_pck.c:945,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_pck.c:988,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1115,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:977,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1312,1
    - Dst: gf_filter_aggregate_packets
      Src: /src/gpac/src/filter_core/filter_pck.c:1243,1
    - Dst: gf_filter_post_process_task_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:1368,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1129,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1257,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pck.c:1239,1
    - Dst: safe_int64_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1335,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter_pck.c:1374,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pck.c:1284,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:967,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1140,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1168,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1222,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1295,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1300,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:1384,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 443
    argCount: 2
    argNames:
    - pck
    - from_filter
    argTypes:
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1396
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 1396
    functionName: gf_filter_pck_send_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - safe_int64_add
    - GF_LOG
    - gf_fq_add
    - gf_filter_packet_destroy
    - gf_props_del
    - gf_timestamp_rescale
    - GF_SAFEALLOC
    - gf_list_last
    - gf_rmt_begin
    - gf_error_to_string
    - gf_list_count
    - safe_int_dec
    - gf_filter_aggregate_packets
    - gf_list_new
    - gf_filter_forward_clock
    - gf_list_del_item
    - gf_assert
    - gf_fq_count
    - gf_list_reset
    - gf_list_get
    - gf_mem_get_stats
    - gf_props_new
    - gf_mx_p
    - gf_filter_pck_discard
    - memcpy
    - safe_int_inc
    - gf_mx_v
    - gf_filter_pid_set_args
    - gf_fq_pop
    - gf_filter_pid_would_block
    - gf_rmt_end
    - gf_props_merge_property
    - gf_filter_pck_new_alloc_internal
    - gf_filter_post_process_task_internal
    - PCK_IS_INPUT
    - gf_fs_post_task
    - gf_log_tool_level_on
    linkageType: ''
    returnType: GF_Err
    signature: 'GF_Err gf_filter_pck_send_internal(GF_FilterPacket *pck, Bool from_filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1503,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1505,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pck
    - size
    argTypes:
    - GF_FilterPacket*
    - u32*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1510
    functionName: gf_filter_pck_get_data
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const u8 *gf_filter_pck_get_data(GF_FilterPacket *pck, u32
      *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pck
    - is_corrupted
    argTypes:
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1794
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1794
    functionName: gf_filter_pck_set_corrupted
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_corrupted(GF_FilterPacket *pck,
      Bool is_corrupted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pck
    - ctype
    argTypes:
    - GF_FilterPacket*
    - GF_FilterClockType
    constantsTouched: []
    func_position:
      end: 1925
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1925
    functionName: gf_filter_pck_set_clock_type
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_clock_type(GF_FilterPacket *pck,
      GF_FilterClockType ctype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - data_size
    - data
    argTypes:
    - GF_FilterPid*
    - u32
    - u8**
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: gf_filter_pck_new_alloc
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_alloc(GF_FilterPid *pid,
      u32 data_size, u8 **data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_alloc_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - pid
    - data_size
    - data
    - destruct
    argTypes:
    - GF_FilterPid*
    - u32
    - u8**
    - gf_fsess_packet_destructor
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: gf_filter_pck_new_alloc_destructor
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_alloc_destructor(GF_FilterPid
      *pid, u32 data_size, u8 **data, gf_fsess_packet_destructor destruct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_ref_destructor
      Src: /src/gpac/src/filter_core/filter_pck.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pid
    - data_offset
    - data_size
    - reference
    argTypes:
    - GF_FilterPid*
    - u32
    - u32
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: gf_filter_pck_new_ref
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_ref_destructor
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_ref(GF_FilterPid *pid,
      u32 data_offset, u32 data_size, GF_FilterPacket *reference) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filter_core/filter_pck.c:546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - pid
    - frame_ifce
    - destruct
    argTypes:
    - GF_FilterPid*
    - GF_FilterFrameInterface*
    - gf_fsess_packet_destructor
    constantsTouched: []
    func_position:
      end: 555
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 555
    functionName: gf_filter_pck_new_frame_interface
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_shared
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_frame_interface(GF_FilterPid
      *pid, GF_FilterFrameInterface *frame_ifce, gf_fsess_packet_destructor destruct) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:1401,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1402,1
    - Dst: gf_filter_pck_send_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:1412,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:1409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1413
    functionName: gf_filter_pck_send
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_discard
    - GF_LOG
    - PCK_IS_INPUT
    - gf_filter_pck_send_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_send(GF_FilterPacket *pck) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1533,1
    - Dst: gf_props_hash_djb2
      Src: /src/gpac/src/filter_core/filter_pck.c:1550,1
    - Dst: gf_props_4cc_get_flags
      Src: /src/gpac/src/filter_core/filter_pck.c:1538,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1540,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1515,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1518,1
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:1517,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1531,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pck.c:1535,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pck.c:1536,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_pck.c:1528,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1530,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1541,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pck.c:1545,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pck.c:1544,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pck.c:1525,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1516,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_pck.c:1528,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1529,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pck.c:1553,1
    - Dst: gf_props_remove_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1555,1
    - Dst: gf_props_insert_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1559,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - pck
    - prop_4cc
    - prop_name
    - dyn_name
    - value
    argTypes:
    - GF_FilterPacket*
    - u32
    - char*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1560
    functionName: gf_filter_pck_set_property_full
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_props_insert_property
    - gf_props_get_base_type
    - gf_props_new
    - gf_props_remove_property
    - GF_LOG
    - PCK_IS_INPUT
    - gf_props_4cc_get_type
    - gf_props_get_type_name
    - exit
    - gf_sys_is_test_mode
    - gf_assert
    - gf_props_4cc_get_name
    - gf_props_hash_djb2
    - gf_props_4cc_get_flags
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_pck_set_property_full(GF_FilterPacket *pck,
      u32 prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue
      *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pck.c:1633,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1637,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1638,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pck.c:1641,1
    - Dst: gf_props_4cc_get_flags
      Src: /src/gpac/src/filter_core/filter_pck.c:1634,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pck.c:1642,1
    - Dst: pck_check_prop
      Src: /src/gpac/src/filter_core/filter_pck.c:1645,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1645,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - _pck
    - prop_4cc
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1646
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1646
    functionName: gf_filter_pck_get_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - pck_check_prop
    - gf_props_get_property
    - gf_props_4cc_get_type
    - exit
    - gf_sys_is_test_mode
    - gf_props_4cc_get_name
    - gf_props_4cc_get_flags
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pck_get_property(GF_FilterPacket
      *_pck, u32 prop_4cc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1932
    functionName: gf_filter_pck_get_clock_type
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_FilterClockType gf_filter_pck_get_clock_type(GF_FilterPacket
      *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - dts
    argTypes:
    - GF_FilterPacket*
    - u64
    constantsTouched: []
    func_position:
      end: 1702
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1702
    functionName: gf_filter_pck_set_dts
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_dts(GF_FilterPacket *pck, u64 dts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1752
    functionName: gf_filter_pck_get_sap
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_FilterSAPType gf_filter_pck_get_sap(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pck_source
    - cached_pck
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: gf_filter_pck_dangling_clone
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_clone_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_dangling_clone(GF_FilterPacket
      *pck_source, GF_FilterPacket *cached_pck) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_shared
      Src: /src/gpac/src/filter_core/filter_pck.c:563,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:569,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:567,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:568,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:566,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:571,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filter_core/filter_pck.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - reference
    - pid
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 579
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 579
    functionName: gf_filter_pck_forward
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_merge_properties
    - safe_int_inc
    - gf_filter_pck_send
    - gf_assert
    - gf_filter_pck_new_shared
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_forward(GF_FilterPacket *reference,
      GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1710
    functionName: gf_filter_pck_get_dts
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_filter_pck_get_dts(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1726
    functionName: gf_filter_pck_get_cts
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_filter_pck_get_cts(GF_FilterPacket *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pck
    - is_interlaced
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1777
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1777
    functionName: gf_filter_pck_set_interlaced
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_interlaced(GF_FilterPacket *pck,
      u32 is_interlaced) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pck
    - duration
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1811
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1811
    functionName: gf_filter_pck_set_duration
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_duration(GF_FilterPacket *pck,
      u32 duration) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - byte_offset
    argTypes:
    - GF_FilterPacket*
    - u64
    constantsTouched: []
    func_position:
      end: 1877
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1877
    functionName: gf_filter_pck_set_byte_offset
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_byte_offset(GF_FilterPacket *pck,
      u64 byte_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - seq_num
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1909
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1909
    functionName: gf_filter_pck_set_seq_num
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_seq_num(GF_FilterPacket *pck, u32
      seq_num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - udta
    - item
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: pck_queue_enum
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pck_queue_enum(void *udta, void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - pck_source
    - data
    argTypes:
    - GF_FilterPid*
    - GF_FilterPacket*
    - u8**
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: gf_filter_pck_new_clone
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_clone_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_clone(GF_FilterPid *pid,
      GF_FilterPacket *pck_source, u8 **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - cts
    argTypes:
    - GF_FilterPacket*
    - u64
    constantsTouched: []
    func_position:
      end: 1718
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1718
    functionName: gf_filter_pck_set_cts
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_cts(GF_FilterPacket *pck, u64 cts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1734
    functionName: gf_filter_pck_get_timescale
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pck_get_timescale(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1785
    functionName: gf_filter_pck_get_interlaced
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pck_get_interlaced(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1802
    functionName: gf_filter_pck_get_corrupted
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pck_get_corrupted(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1819
    functionName: gf_filter_pck_get_duration
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pck_get_duration(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1885
    functionName: gf_filter_pck_get_byte_offset
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_filter_pck_get_byte_offset(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1916
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1916
    functionName: gf_filter_pck_get_seq_num
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pck_get_seq_num(GF_FilterPacket *pck) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1944,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1954,1
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:1945,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1946,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1950,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pck.c:1962,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - pck
    - nb_bytes_to_add
    - data_start
    - new_range_start
    - new_size
    argTypes:
    - GF_FilterPacket*
    - u32
    - u8**
    - u8**
    - u32*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1975
    functionName: gf_filter_pck_expand
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - GF_LOG
    - gf_assert
    - PCK_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_expand(GF_FilterPacket *pck, u32 nb_bytes_to_add,
      u8 **data_start, u8 **new_range_start, u32 *new_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pck
    - dep_flags
    argTypes:
    - GF_FilterPacket*
    - u8
    constantsTouched: []
    func_position:
      end: 1845
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1845
    functionName: gf_filter_pck_set_dependency_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_dependency_flags(GF_FilterPacket
      *pck, u8 dep_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:204,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:213,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pck.c:210,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:212,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:221,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:222,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pck.c:223,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:229,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:231,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pck.c:234,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:237,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - cached_pck
    - data_length
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 245
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 245
    functionName: gf_filter_pck_new_dangling_packet
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - gf_realloc
    - GF_LOG
    - gf_filter_pck_discard
    - safe_int_dec
    - gf_props_del
    - GF_SAFEALLOC
    - gf_free
    - gf_assert
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *gf_filter_pck_new_dangling_packet(GF_FilterPacket
      *cached_pck, u32 data_length) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:329,1
    - Dst: gf_filter_pck_clone_frame_interface
      Src: /src/gpac/src/filter_core/filter_pck.c:337,1
    - Dst: gf_filter_pck_new_dangling_packet
      Src: /src/gpac/src/filter_core/filter_pck.c:357,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:330,1
    - Dst: gf_filter_pck_new_alloc_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:362,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pck.c:365,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:368,1
    - Dst: gf_filter_pck_discard
      Src: /src/gpac/src/filter_core/filter_pck.c:374,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:376,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:378,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:389,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:390,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:391,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:392,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:399,1
    - Dst: gf_filter_pck_new_ref
      Src: /src/gpac/src/filter_core/filter_pck.c:397,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 59
    argCount: 6
    argNames:
    - pid
    - pck_source
    - data
    - force_copy
    - dangling_packet
    - cached_pck
    argTypes:
    - GF_FilterPid*
    - GF_FilterPacket*
    - u8**
    - Bool
    - Bool
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 403
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 403
    functionName: gf_filter_pck_new_clone_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc_internal
    - safe_int_inc
    - GF_LOG
    - gf_filter_pck_new_dangling_packet
    - gf_filter_pck_merge_properties
    - gf_filter_pck_discard
    - PCK_IS_OUTPUT
    - memcpy
    - gf_filter_pck_clone_frame_interface
    - GF_SAFEALLOC
    - gf_filter_pck_new_ref
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *gf_filter_pck_new_clone_internal(GF_FilterPid
      *pid, GF_FilterPacket *pck_source, u8 **data, Bool force_copy, Bool dangling_packet,
      GF_FilterPacket *cached_pck) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pck.c:736,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pck.c:740,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pck.c:764,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pck.c:798,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:806,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pck.c:817,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:788,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:747,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:810,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pck.c:824,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:829,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:734,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filter_core/filter_pck.c:759,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:828,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pck.c:830,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:837,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pck.c:725,1
    - Dst: safe_int64_add
      Src: /src/gpac/src/filter_core/filter_pck.c:737,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pck.c:733,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pck.c:745,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:814,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_pck.c:805,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pck.c:783,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:793,1
    - Dst: safe_int64_add
      Src: /src/gpac/src/filter_core/filter_pck.c:818,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 1
    argNames:
    - dst
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 841
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 841
    functionName: gf_filter_aggregate_packets
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_list_get
    - safe_int64_add
    - gf_list_count
    - GF_LOG
    - gf_filter_pck_merge_properties
    - gf_fq_add
    - gf_free
    - safe_int_dec
    - gf_filter_packet_destroy
    - memcpy
    - gf_timestamp_rescale
    - gf_list_rem
    - gf_fq_res_add
    - safe_int_inc
    - gf_assert
    - gf_list_pop_back
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_aggregate_packets(GF_FilterPidInst *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1422,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket**
    constantsTouched: []
    func_position:
      end: 1427
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1427
    functionName: gf_filter_pck_ref
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_ref(GF_FilterPacket **pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_property_full
      Src: /src/gpac/src/filter_core/filter_pck.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pck
    - prop_4cc
    - value
    argTypes:
    - GF_FilterPacket*
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: gf_filter_pck_set_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_property(GF_FilterPacket *pck,
      u32 prop_4cc, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pck_check_prop
      Src: /src/gpac/src/filter_core/filter_pck.c:1654,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _pck
    - prop_name
    argTypes:
    - GF_FilterPacket*
    - char*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1655
    functionName: gf_filter_pck_get_property_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - pck_check_prop
    - gf_props_get_property
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pck_get_property_str(GF_FilterPacket
      *_pck, const char *prop_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pck
    - is_start
    - is_end
    argTypes:
    - GF_FilterPacket*
    - Bool*
    - Bool*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1693
    functionName: gf_filter_pck_get_framing
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_get_framing(GF_FilterPacket *pck, Bool
      *is_start, Bool *is_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pck
    - sap_type
    argTypes:
    - GF_FilterPacket*
    - GF_FilterSAPType
    constantsTouched: []
    func_position:
      end: 1744
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1744
    functionName: gf_filter_pck_set_sap
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_sap(GF_FilterPacket *pck, GF_FilterSAPType
      sap_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pck.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pck
    - pid
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: gf_filter_pck_reset_props
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pck_reset_props(GF_FilterPacket *pck, GF_FilterPid
      *pid) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:260,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:268,1
    - Dst: gf_pixel_get_size_info
      Src: /src/gpac/src/filter_core/filter_pck.c:273,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:264,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:262,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:274,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pck.c:279,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter_pck.c:281,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filter_core/filter_pck.c:281,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter_pck.c:282,1
    - Dst: PROP_UINT
      Src: /src/gpac/src/filter_core/filter_pck.c:282,1
    - Dst: gf_filter_pck_new_dangling_packet
      Src: /src/gpac/src/filter_core/filter_pck.c:287,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:301,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pck.c:312,1
    - Dst: gf_filter_pck_merge_properties
      Src: /src/gpac/src/filter_core/filter_pck.c:317,1
    - Dst: gf_filter_pck_new_alloc
      Src: /src/gpac/src/filter_core/filter_pck.c:284,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 5
    argNames:
    - pid
    - pck_source
    - data
    - dangling_packet
    - cached_pck
    argTypes:
    - GF_FilterPid*
    - GF_FilterPacket*
    - u8**
    - Bool
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 319
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 319
    functionName: gf_filter_pck_clone_frame_interface
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_alloc
    - gf_pixel_get_size_info
    - gf_filter_pid_get_property
    - GF_LOG
    - gf_filter_pck_new_dangling_packet
    - gf_filter_pid_set_property
    - gf_filter_pck_merge_properties
    - memcpy
    - PROP_UINT
    linkageType: ''
    returnType: GF_FilterPacket*
    signature: 'static GF_FilterPacket *gf_filter_pck_clone_frame_interface(GF_FilterPid
      *pid, GF_FilterPacket *pck_source, u8 **data, Bool dangling_packet, GF_FilterPacket
      *cached_pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_clone_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pck_source
    - cached_pck
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: gf_filter_pck_dangling_copy
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_clone_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_dangling_copy(GF_FilterPacket
      *pck_source, GF_FilterPacket *cached_pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:846,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pck.c:853,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 855
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 855
    functionName: gf_filter_pck_discard
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_packet_destroy
    - PCK_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pck_discard(GF_FilterPacket *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1435,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1440
    functionName: gf_filter_pck_ref_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_ref_ex(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_property_full
      Src: /src/gpac/src/filter_core/filter_pck.c:1571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pck
    - name
    - value
    argTypes:
    - GF_FilterPacket*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1572
    functionName: gf_filter_pck_set_property_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_property_str(GF_FilterPacket *pck,
      const char *name, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_enum_property
      Src: /src/gpac/src/filter_core/filter_pck.c:1661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 4
    argNames:
    - pck
    - idx
    - prop_4cc
    - prop_name
    argTypes:
    - GF_FilterPacket*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 1662
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1662
    functionName: gf_filter_pck_enum_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_props_enum_property
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pck_enum_properties(GF_FilterPacket
      *pck, u32 *idx, u32 *prop_4cc, const char **prop_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pck
    - is_start
    - is_end
    argTypes:
    - GF_FilterPacket*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 1682
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1682
    functionName: gf_filter_pck_set_framing
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_framing(GF_FilterPacket *pck, Bool
      is_start, Bool is_end) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:602,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:615,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pck.c:630,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pck.c:640,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pck.c:638,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pck.c:642,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:633,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:664,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:675,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:681,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:698,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:708,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:596,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:600,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:597,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:628,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:629,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pck.c:655,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:662,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:665,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:678,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:695,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:680,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:613,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pck.c:639,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pck.c:645,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:654,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:676,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:677,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_pck.c:691,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:696,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:699,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pck.c:683,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:595,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:634,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:653,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:661,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:668,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:682,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:692,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_pck.c:702,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:703,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pck.c:707,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_pck.c:706,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 112
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 711
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 711
    functionName: gf_filter_packet_destroy
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - GF_LOG
    - gf_list_del_item
    - safe_int_dec
    - gf_filter_packet_destroy
    - gf_props_del
    - gf_fq_res_add
    - gf_mx_v
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_packet_destroy(GF_FilterPacket *pck) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pck.c:1597,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pck.c:1610,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pck.c:1603,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pck.c:1600,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pck.c:1598,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1612,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pck.c:1612,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1614,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:1616,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pck.c:1619,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - pck
    - prop_4cc
    - prop_name
    - ret
    argTypes:
    - GF_FilterPacket*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1622
    functionName: pck_check_prop
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_list_new
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE const GF_PropertyValue *pck_check_prop(GF_FilterPacket
      *pck, u32 prop_4cc, const char *prop_name, const GF_PropertyValue *ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1980,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1982,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:1986,1
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:1981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pck
    - size
    argTypes:
    - GF_FilterPacket*
    - u32
    constantsTouched: []
    func_position:
      end: 1991
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1991
    functionName: gf_filter_pck_truncate
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_assert
    - PCK_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_truncate(GF_FilterPacket *pck, u32
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1853
    functionName: gf_filter_pck_get_dependency_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_filter_pck_get_dependency_flags(GF_FilterPacket *pck) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:41,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pck.c:62,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:42,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pck.c:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - pck_src
    - pck_dst
    - filter_prop
    - cbk
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPacket*
    - gf_filter_prop_filter
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: gf_filter_pck_merge_properties_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_props_new
    - PCK_IS_INPUT
    - gf_props_merge_property
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_merge_properties_filter(GF_FilterPacket
      *pck_src, GF_FilterPacket *pck_dst, gf_filter_prop_filter filter_prop, void
      *cbk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:448,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:452,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:451,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:458,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pck.c:456,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:468,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:469,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pck.c:470,1
    - Dst: gf_filter_pck_reset_props
      Src: /src/gpac/src/filter_core/filter_pck.c:472,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - pid
    - data
    - data_size
    - destruct
    - intern_pck
    argTypes:
    - GF_FilterPid*
    - u8*
    - u32
    - gf_fsess_packet_destructor
    - Bool
    constantsTouched: []
    func_position:
      end: 477
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: gf_filter_pck_new_shared_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    - GF_SAFEALLOC
    - safe_int_inc
    - gf_fq_pop
    - gf_filter_pck_reset_props
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_shared_internal(GF_FilterPid
      *pid, const u8 *data, u32 data_size, gf_fsess_packet_destructor destruct, Bool
      intern_pck) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pck.c:1453,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pck.c:1455,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1474,1
    - Dst: gf_filter_pck_reset_props
      Src: /src/gpac/src/filter_core/filter_pck.c:1462,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1470,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pck.c:1477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket**
    constantsTouched: []
    func_position:
      end: 1480
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1480
    functionName: gf_filter_pck_ref_props
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_fq_pop
    - gf_filter_pck_reset_props
    - GF_SAFEALLOC
    - safe_int_inc
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_ref_props(GF_FilterPacket **pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_set_property_full
      Src: /src/gpac/src/filter_core/filter_pck.c:1577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pck
    - name
    - value
    argTypes:
    - GF_FilterPacket*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1578
    functionName: gf_filter_pck_set_property_dyn
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_property_dyn(GF_FilterPacket *pck,
      char *name, const GF_PropertyValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - roll_count
    argTypes:
    - GF_FilterPacket*
    - s16
    constantsTouched: []
    func_position:
      end: 1760
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1760
    functionName: gf_filter_pck_set_roll_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_roll_info(GF_FilterPacket *pck,
      s16 roll_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pck
    - is_seek
    argTypes:
    - GF_FilterPacket*
    - Bool
    constantsTouched: []
    func_position:
      end: 1828
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1828
    functionName: gf_filter_pck_set_seek_flag
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_seek_flag(GF_FilterPacket *pck,
      Bool is_seek) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pck
    - version_number
    argTypes:
    - GF_FilterPacket*
    - u8
    constantsTouched: []
    func_position:
      end: 1861
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1861
    functionName: gf_filter_pck_set_carousel_version
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_carousel_version(GF_FilterPacket
      *pck, u8 version_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCK_SETTER_CHECK
      Src: /src/gpac/src/filter_core/filter_pck.c:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pck
    - crypt_flag
    argTypes:
    - GF_FilterPacket*
    - u8
    constantsTouched: []
    func_position:
      end: 1894
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1894
    functionName: gf_filter_pck_set_crypt_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_SETTER_CHECK
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_set_crypt_flags(GF_FilterPacket *pck,
      u8 crypt_flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_merge_properties_filter
      Src: /src/gpac/src/filter_core/filter_pck.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pck_src
    - pck_dst
    argTypes:
    - GF_FilterPacket*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: gf_filter_pck_merge_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_merge_properties_filter
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pck_merge_properties(GF_FilterPacket *pck_src,
      GF_FilterPacket *pck_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pck_new_shared_internal
      Src: /src/gpac/src/filter_core/filter_pck.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pid
    - data
    - data_size
    - destruct
    argTypes:
    - GF_FilterPid*
    - u8*
    - u32
    - gf_fsess_packet_destructor
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: gf_filter_pck_new_shared
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_filter_pck_new_shared_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pck_new_shared(GF_FilterPid *pid,
      const u8 *data, u32 data_size, gf_fsess_packet_destructor destruct) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1485,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:1495,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pck.c:1492,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1491,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1488,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pck.c:1496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1498
    functionName: gf_filter_pck_unref
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_assert
    - gf_filter_packet_destroy
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pck_unref(GF_FilterPacket *pck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1587
    functionName: gf_filter_pck_has_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pck_has_properties(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1768
    functionName: gf_filter_pck_get_roll_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT s16 gf_filter_pck_get_roll_info(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1836
    functionName: gf_filter_pck_get_seek_flag
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pck_get_seek_flag(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1869
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1869
    functionName: gf_filter_pck_get_carousel_version
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_filter_pck_get_carousel_version(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1901
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1901
    functionName: gf_filter_pck_get_crypt_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u8 gf_filter_pck_get_crypt_flags(GF_FilterPacket *pck) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pck.c:1937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 1939
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1939
    functionName: gf_filter_pck_get_frame_interface
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterFrameInterface *gf_filter_pck_get_frame_interface(GF_FilterPacket
      *pck) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCK_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pck.c:2014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pck
    - data
    - size
    argTypes:
    - GF_FilterPacket*
    - u8*
    - u32
    constantsTouched: []
    func_position:
      end: 2024
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2024
    functionName: gf_filter_pck_check_realloc
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached:
    - PCK_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pck_check_realloc(GF_FilterPacket *pck, u8
      *data, u32 size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pck
    argTypes:
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2009
    functionName: gf_filter_pck_is_blocking_ref
    functionSourceFile: /src/gpac/src/filter_core/filter_pck.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pck_is_blocking_ref(GF_FilterPacket *pck) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4651,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:4657,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:4655,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - flist
    - dst
    argTypes:
    - GF_List*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4661
      start: 4649
    functionDepth: 0
    functionLinenumber: 4649
    functionLinenumberEnd: 4661
    functionName: filter_match_target_dst
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - filter_match_target_dst
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filter_match_target_dst(GF_List *flist, GF_Filter *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6550,1
    - Dst: gf_filter_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - prop_name
    - propentry
    argTypes:
    - GF_Filter*
    - char*
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6554
      start: 6545
    functionDepth: 0
    functionLinenumber: 6545
    functionLinenumberEnd: 6554
    functionName: gf_filter_get_info_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_release_property
    - gf_filter_get_info_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_get_info_str(GF_Filter
      *filter, const char *prop_name, GF_PropertyEntry **propentry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_reset_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:7636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 7637
      start: 7634
    functionDepth: 0
    functionLinenumber: 7634
    functionLinenumberEnd: 7637
    functionName: gf_filter_pid_reset_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_reset_task_ex
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_reset_task(GF_FSTask *task) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8383,1
    - Dst: FSESS_CHECK_THREAD
      Src: /src/gpac/src/filter_core/filter_pid.c:8389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pid
    - evt
    argTypes:
    - GF_FilterPid*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 8392
      start: 8377
    functionDepth: 0
    functionLinenumber: 8377
    functionLinenumberEnd: 8392
    functionName: gf_filter_pid_exec_event
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - FSESS_CHECK_THREAD
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_exec_event(GF_FilterPid *pid, GF_FilterEvent
      *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:8411,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:8413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pid
    - other_pid
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8416
      start: 8405
    functionDepth: 0
    functionLinenumber: 8405
    functionLinenumberEnd: 8416
    functionName: gf_filter_pid_share_origin
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_in_parent_chain
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_share_origin(GF_FilterPid *pid, GF_FilterPid
      *other_pid) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pid.c:8556,1
    - Dst: filter_pid_collect_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:8565,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8571,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8564,1
    - Dst: filter_pid_inst_collect_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:8568,1
    - Dst: filter_pid_collect_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:8572,1
    - Dst: filter_locate_enc_dec_src
      Src: /src/gpac/src/filter_core/filter_pid.c:8580,1
    - Dst: filter_locate_enc_dec_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:8585,1
    - Dst: filter_locate_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:8588,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8594,1
    - Dst: filter_pid_collect_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:8595,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8596,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - pid
    - stats
    - location
    argTypes:
    - GF_FilterPid*
    - GF_FilterPidStatistics*
    - GF_FilterPidStatsLocation
    constantsTouched: []
    func_position:
      end: 8598
      start: 8549
    functionDepth: 0
    functionLinenumber: 8549
    functionLinenumberEnd: 8598
    functionName: gf_filter_pid_get_statistics
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - memset
    - filter_locate_enc_dec_sink
    - gf_mx_p
    - filter_locate_sink
    - filter_pid_inst_collect_stats
    - gf_mx_v
    - filter_locate_enc_dec_src
    - filter_pid_collect_stats
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_get_statistics(GF_FilterPid *pid, GF_FilterPidStatistics
      *stats, GF_FilterPidStatsLocation location) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9364,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:9372,1
    - Dst: gf_filter_pid_first_pid_for_source
      Src: /src/gpac/src/filter_core/filter_pid.c:9374,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9371,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - pid
    - source
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 9379
      start: 9361
    functionDepth: 0
    functionLinenumber: 9361
    functionLinenumberEnd: 9379
    functionName: gf_filter_pid_first_pid_for_source
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_filter_in_parent_chain
    - GF_LOG
    - gf_filter_pid_first_pid_for_source
    linkageType: ''
    returnType: GF_FilterPid*
    signature: 'GF_FilterPid *gf_filter_pid_first_pid_for_source(GF_FilterPid *pid,
      GF_Filter *source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4634,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4636,1
    - Dst: gf_pid_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4637,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4645,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - pid
    - look_for_pid
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 4647
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4647
    functionName: gf_pid_in_parent_chain
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - gf_pid_in_parent_chain
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_pid_in_parent_chain(GF_FilterPid *pid, GF_FilterPid
      *look_for_pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4667,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4671,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4675,1
    - Dst: parent_chain_has_dyn_pids
      Src: /src/gpac/src/filter_core/filter_pid.c:4670,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4677
      start: 4663
    functionDepth: 0
    functionLinenumber: 4663
    functionLinenumberEnd: 4677
    functionName: parent_chain_has_dyn_pids
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - parent_chain_has_dyn_pids
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: Bool
    signature: 'static Bool parent_chain_has_dyn_pids(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_del_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - propentry
    argTypes:
    - GF_PropertyEntry*
    constantsTouched: []
    func_position:
      end: 6562
      start: 6556
    functionDepth: 0
    functionLinenumber: 6556
    functionLinenumberEnd: 6562
    functionName: gf_filter_release_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_props_del_property
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_release_property(GF_PropertyEntry *propentry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_reset_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:7643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 7646
      start: 7639
    functionDepth: 0
    functionLinenumber: 7639
    functionLinenumberEnd: 7646
    functionName: gf_filter_pid_reset_stop_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_reset_task_ex
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_reset_stop_task(GF_FSTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:8400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - filter
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 8401
      start: 8395
    functionDepth: 0
    functionLinenumber: 8395
    functionLinenumberEnd: 8401
    functionName: gf_filter_pid_is_filter_in_parents
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_in_parent_chain
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_is_filter_in_parents(GF_FilterPid *pid,
      GF_Filter *filter) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filter_core/filter_pid.c:8457,1
    - Dst: gf_timestamp_less
      Src: /src/gpac/src/filter_core/filter_pid.c:8462,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 2
    argNames:
    - pidi
    - stats
    argTypes:
    - GF_FilterPidInst*
    - GF_FilterPidStatistics*
    constantsTouched: []
    func_position:
      end: 8473
      start: 8418
    functionDepth: 0
    functionLinenumber: 8418
    functionLinenumberEnd: 8473
    functionName: filter_pid_inst_collect_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_timestamp_less
    linkageType: ''
    returnType: void
    signature: 'static void filter_pid_inst_collect_stats(GF_FilterPidInst *pidi,
      GF_FilterPidStatistics *stats) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8604,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:8622,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8605,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8615,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8621,1
    - Dst: gf_filter_pck_new_shared_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:8628,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8630,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filter_core/filter_pid.c:8633,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8634,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filter_core/filter_pid.c:8636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8637
      start: 8600
    functionDepth: 0
    functionLinenumber: 8600
    functionLinenumberEnd: 8637
    functionName: gf_filter_pid_remove
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fs_post_disconnect_task
    - GF_LOG
    - gf_filter_pck_set_framing
    - gf_filter_pck_new_shared_internal
    - PID_IS_INPUT
    - safe_int_inc
    - gf_filter_pck_send
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_remove(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9384,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9385,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:9394,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9389,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:9392,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:9395,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:9396,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:9398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9399
      start: 9381
    functionDepth: 0
    functionLinenumber: 9381
    functionLinenumberEnd: 9399
    functionName: gf_filter_pid_discard_block
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - PID_IS_INPUT
    - gf_mx_v
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_discard_block(GF_FilterPid *pid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4469,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4480,1
    - Dst: gf_filter_last_id_in_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4478,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4471,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4473,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4487,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - ignore_first
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 4489
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4489
    functionName: gf_filter_last_id_in_chain
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - gf_filter_last_id_in_chain
    - gf_mx_v
    linkageType: ''
    returnType: char*
    signature: 'const char *gf_filter_last_id_in_chain(GF_Filter *filter, Bool ignore_first) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:6144,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:6147,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:6155,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filter_core/filter_pid.c:6173,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6135,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:6156,1
    - Dst: gf_props_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6182,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:6162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6171,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6141,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6140,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pid.c:6169,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:6179,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6134,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6142,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:6150,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:6180,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6160,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - pid
    - prop_4cc
    - prop_name
    - dyn_name
    - value
    argTypes:
    - GF_FilterPid*
    - u32
    - char*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6183
      start: 6129
    functionDepth: 0
    functionLinenumber: 6129
    functionLinenumberEnd: 6183
    functionName: gf_filter_pid_negotiate_property_full
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - PID_IS_OUTPUT
    - gf_props_set_property
    - gf_list_find
    - gf_list_del
    - gf_props_dump
    - gf_props_new
    - GF_LOG
    - gf_fs_post_task
    - gf_props_get_property
    - gf_props_equal
    - gf_log_tool_level_on
    - safe_int_inc
    - gf_list_new
    - gf_assert
    - gf_props_4cc_get_name
    - gf_fq_count
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_pid_negotiate_property_full(GF_FilterPid *pid,
      u32 prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue
      *value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6438,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6460,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:6461,1
    - Dst: gf_props_enum_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6448,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:6445,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6468,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6472,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:6474,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6477,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:6478,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6489,1
    - Dst: gf_filter_pid_enum_info_local
      Src: /src/gpac/src/filter_core/filter_pid.c:6480,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6483,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 5
    argNames:
    - pid
    - idx
    - prop_4cc
    - prop_name
    - list
    argTypes:
    - GF_FilterPid*
    - u32*
    - u32*
    - char**
    - GF_List**
    constantsTouched: []
    func_position:
      end: 6492
      start: 6434
    functionDepth: 0
    functionLinenumber: 6434
    functionLinenumberEnd: 6492
    functionName: gf_filter_pid_enum_info_local
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - PID_IS_OUTPUT
    - gf_filter_pid_enum_info_local
    - gf_list_get
    - gf_list_find
    - gf_mx_p
    - gf_props_enum_property
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'static const GF_PropertyValue *gf_filter_pid_enum_info_local(GF_FilterPid
      *pid, u32 *idx, u32 *prop_4cc, const char **prop_name, GF_List **list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:4493,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4498,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:4501,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4499,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:4504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - src_pid
    - pid
    - dst_filter
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4505
      start: 4491
    functionDepth: 0
    functionLinenumber: 4491
    functionLinenumberEnd: 4505
    functionName: gf_filter_pid_retry_caps_negotiate
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_fs_post_disconnect_task
    - safe_int_inc
    - gf_list_new
    - gf_assert
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_retry_caps_negotiate(GF_FilterPid *src_pid, GF_FilterPid
      *pid, GF_Filter *dst_filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_negotiate_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - prop_4cc
    - value
    argTypes:
    - GF_FilterPid*
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6190
      start: 6185
    functionDepth: 0
    functionLinenumber: 6185
    functionLinenumberEnd: 6190
    functionName: gf_filter_pid_negotiate_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_negotiate_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_negotiate_property(GF_FilterPid *pid,
      u32 prop_4cc, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_enum_info_local
      Src: /src/gpac/src/filter_core/filter_pid.c:6497,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:6498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 4
    argNames:
    - pid
    - idx
    - prop_4cc
    - prop_name
    argTypes:
    - GF_FilterPid*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 6500
      start: 6493
    functionDepth: 0
    functionLinenumber: 6493
    functionLinenumberEnd: 6500
    functionName: gf_filter_pid_enum_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_enum_info_local
    - gf_list_del
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_enum_info(GF_FilterPid
      *pid, u32 *idx, u32 *prop_4cc, const char **prop_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:8478,1
    - Dst: filter_pid_inst_collect_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:8482,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pidi_list
    - stats
    argTypes:
    - GF_List*
    - GF_FilterPidStatistics*
    constantsTouched: []
    func_position:
      end: 8484
      start: 8475
    functionDepth: 0
    functionLinenumber: 8475
    functionLinenumberEnd: 8484
    functionName: filter_pid_collect_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - filter_pid_inst_collect_stats
    linkageType: ''
    returnType: void
    signature: 'static void filter_pid_collect_stats(GF_List *pidi_list, GF_FilterPidStatistics
      *stats) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_detach_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:1496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1497
    functionName: gf_filter_pid_detach_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_detach_task_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_detach_task(GF_FSTask *task) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:1507,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1510,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:1511,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:1512,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pid
    - name
    argTypes:
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1514
    functionName: gf_filter_pid_set_name
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_strdup
    - GF_LOG
    - strcmp
    - PID_IS_INPUT
    - gf_free
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_name(GF_FilterPid *pid, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:2769,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:2773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - _pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2776
    functionName: gf_filter_pid_check_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_filter_pid_caps_match
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_check_caps(GF_FilterPid *_pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_4cc_get_flags
      Src: /src/gpac/src/filter_core/filter_pid.c:6276,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6279,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pid.c:6283,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pid.c:6282,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pid
    - prop_4cc
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 6285
      start: 6274
    functionDepth: 0
    functionLinenumber: 6274
    functionLinenumberEnd: 6285
    functionName: check_prop_type
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - exit
    - gf_sys_is_test_mode
    - gf_props_4cc_get_name
    - gf_props_4cc_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void check_prop_type(GF_FilterPid *pid, u32 prop_4cc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TO_REFSTRING
      Src: /src/gpac/src/filter_core/filter_pid.c:7660,1
    - Dst: TO_REFSTRING
      Src: /src/gpac/src/filter_core/filter_pid.c:7665,1
    - Dst: TO_REFSTRING
      Src: /src/gpac/src/filter_core/filter_pid.c:7675,1
    - Dst: TO_REFSTRING
      Src: /src/gpac/src/filter_core/filter_pid.c:7670,1
    - Dst: TO_REFSTRING
      Src: /src/gpac/src/filter_core/filter_pid.c:7677,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - evt
    - r_idx
    - ref_str
    argTypes:
    - GF_FilterEvent*
    - u32
    - GF_RefString**
    constantsTouched: []
    func_position:
      end: 7683
      start: 7656
    functionDepth: 0
    functionLinenumber: 7656
    functionLinenumberEnd: 7683
    functionName: evt_get_refstr
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - TO_REFSTRING
    linkageType: ''
    returnType: Bool
    signature: 'static Bool evt_get_refstr(GF_FilterEvent *evt, u32 r_idx, GF_RefString
      **ref_str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8883,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:8888,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - prop_name
    argTypes:
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 8889
      start: 8879
    functionDepth: 0
    functionLinenumber: 8879
    functionLinenumberEnd: 8889
    functionName: gf_filter_pid_caps_query_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    - gf_props_get_property
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_caps_query_str(GF_FilterPid
      *pid, const char *prop_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_detach_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: gf_filter_pid_detach_task_no_flush
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_detach_task_ex
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_detach_task_no_flush(GF_FSTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: gf_filter_pid_get_name
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_pid_get_name(GF_FilterPid *pid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:2784,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:2789,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:2788,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:2787,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_pid.c:2796,1
    - Dst: strncat
      Src: /src/gpac/src/filter_core/filter_pid.c:2798,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - sess
    - prefRegister
    - reg_key
    - args
    argTypes:
    - GF_FilterSession*
    - char
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2799
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2799
    functionName: concat_reg
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - strncat
    - strchr
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void concat_reg(GF_FilterSession *sess, char prefRegister[1001],
      const char *reg_key, const char *args) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:3245,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3345,1
    - Dst: gf_props_enum_property
      Src: /src/gpac/src/filter_core/filter_pid.c:3360,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3340,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:3398,1
    - Dst: gf_filter_reg_build_graph
      Src: /src/gpac/src/filter_core/filter_pid.c:3433,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3521,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:3531,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3611,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3619,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3638,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3644,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3524,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3543,1
    - Dst: gf_filter_sess_build_graph
      Src: /src/gpac/src/filter_core/filter_pid.c:3248,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:3250,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3263,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3273,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3346,1
    - Dst: reset_bundle_cache
      Src: /src/gpac/src/filter_core/filter_pid.c:3489,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3525,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3535,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3551,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:3561,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3626,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3639,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3642,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:3618,1
    - Dst: bundle_cache_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3648,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:3254,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:3265,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3278,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3323,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:3368,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3429,1
    - Dst: dump_graph_edges
      Src: /src/gpac/src/filter_core/filter_pid.c:3440,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:3453,1
    - Dst: dump_graph_edges
      Src: /src/gpac/src/filter_core/filter_pid.c:3493,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3522,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3527,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3637,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3247,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3280,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3328,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3336,1
    - Dst: gf_filter_pid_enable_edges
      Src: /src/gpac/src/filter_core/filter_pid.c:3486,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3498,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:3514,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3567,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:3597,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3605,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3649,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3650,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:3646,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:3588,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 337
    argCount: 7
    argNames:
    - pid
    - dst
    - prefRegister
    - reconfigurable_only
    - tmp_blacklist
    - link_info
    - out_reg_chain
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - char*
    - Bool
    - GF_List*
    - GF_LinkInfo*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 3651
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3651
    functionName: gf_filter_pid_resolve_link_dijkstra
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - reset_bundle_cache
    - strstr
    - gf_list_find
    - gf_list_del
    - gf_list_count
    - dump_graph_edges
    - strcmp
    - gf_filter_pid_caps_match
    - gf_list_new
    - gf_assert
    - gf_list_get
    - gf_filter_pid_enable_edges
    - gf_filter_reg_build_graph
    - gf_props_enum_property
    - gf_free
    - gf_filter_sess_build_graph
    - gf_filter_pid_get_property
    - gf_props_get_property
    - bundle_cache_free
    - gf_list_rem
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_resolve_link_dijkstra(GF_FilterPid *pid,
      GF_Filter *dst, const char *prefRegister, Bool reconfigurable_only, GF_List
      *tmp_blacklist, GF_LinkInfo *link_info, GF_List *out_reg_chain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6290,1
    - Dst: check_prop_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6295,1
    - Dst: pid_check_prop
      Src: /src/gpac/src/filter_core/filter_pid.c:6297,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6297,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pid
    - prop_4cc
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 6298
      start: 6287
    functionDepth: 0
    functionLinenumber: 6287
    functionLinenumberEnd: 6298
    functionName: gf_filter_pid_get_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - pid_check_prop
    - check_prop_type
    - filter_pid_get_prop_map
    - gf_props_get_property
    - gf_props_4cc_get_type
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_get_property(GF_FilterPid
      *pid, u32 prop_4cc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pid.c:7687,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:7694,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:7688,1
    - Dst: evt_get_refstr
      Src: /src/gpac/src/filter_core/filter_pid.c:7692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - evt
    argTypes:
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 7698
      start: 7684
    functionDepth: 0
    functionLinenumber: 7684
    functionLinenumberEnd: 7698
    functionName: dup_evt
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - evt_get_refstr
    - memcpy
    - safe_int_inc
    linkageType: ''
    returnType: GF_FilterEvent*
    signature: 'static GF_FilterEvent *dup_evt(GF_FilterEvent *evt) '
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8920,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8937,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8986,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9008,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9044,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9040,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9177,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_pid.c:9206,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:8899,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9017,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9032,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9168,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9139,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:8938,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:8948,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8969,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9002,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9165,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9065,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9069,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9073,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:8900,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:8976,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8991,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9004,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9077,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:9207,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8954,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8991,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter_pid.c:9158,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9198,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:9201,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9202,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:8903,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9028,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9137,1
    - Dst: gf_filter_pid_get_property_str_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9055,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9188,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9172,1
    - Dst: gf_stream_type_short_name
      Src: /src/gpac/src/filter_core/filter_pid.c:8998,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9184,1
    - Dst: gf_filter_pid_get_property_str_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9018,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9010,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:9175,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:8950,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9020,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9195,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8973,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8987,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9046,1
    - Dst: gf_filter_pck_get_dts
      Src: /src/gpac/src/filter_core/filter_pid.c:9071,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9042,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:9091,1
    - Dst: gf_filter_pck_get_duration
      Src: /src/gpac/src/filter_core/filter_pid.c:9075,1
    - Dst: gf_filter_pck_get_sap
      Src: /src/gpac/src/filter_core/filter_pid.c:9079,1
    - Dst: gf_filter_pck_get_cts
      Src: /src/gpac/src/filter_core/filter_pid.c:9067,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9191,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter_pid.c:9052,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8992,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8994,1
    - Dst: strrchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9176,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8967,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8995,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8961,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8988,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:9059,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9034,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:8935,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8958,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:9003,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9050,1
    - Dst: gf_fileio_translate_url
      Src: /src/gpac/src/filter_core/filter_pid.c:9169,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9036,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9049,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9144,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8966,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9038,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9086,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9013,1
    - Dst: gf_filter_pck_get_property_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9057,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9023,1
    - Dst: gf_filter_pck_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9061,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9030,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:8960,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:8964,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_pid.c:9007,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 389
    argCount: 6
    argNames:
    - pid
    - szTemplate
    - szFinalName
    - file_idx
    - file_suffix
    - filename
    argTypes:
    - GF_FilterPid*
    - char
    - char
    - u32
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9219
      start: 8892
    functionDepth: 0
    functionLinenumber: 8892
    functionLinenumberEnd: 9219
    functionName: gf_filter_pid_resolve_file_template_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_filter_pck_get_cts
    - gf_fileio_translate_url
    - strncmp
    - gf_filter_pck_get_duration
    - GF_LOG
    - gf_filter_pck_get_property_str
    - gf_filter_pck_get_sap
    - gf_filter_pid_get_property_first
    - strstr
    - GF_4CC
    - gf_props_dump_val
    - gf_props_get_id
    - gf_filter_pid_get_packet
    - strcmp
    - strcpy
    - gf_filter_pck_get_dts
    - sprintf
    - strchr
    - gf_filter_pid_get_property_str_first
    - strcat
    - gf_filter_pck_get_property
    - strrchr
    - strncpy
    - gf_stream_type_short_name
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_resolve_file_template_ex(GF_FilterPid
      *pid, const char szTemplate[GF_MAX_PATH], char szFinalName[GF_MAX_PATH], u32
      file_idx, const char *file_suffix, const char *filename) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9615,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9739,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9775,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9858,1
    - Dst: gf_odf_vp_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9810,1
    - Dst: gf_pixel_fmt_to_qt_type
      Src: /src/gpac/src/filter_core/filter_pid.c:9870,1
    - Dst: gf_odf_dovi_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9703,1
    - Dst: gf_odf_avc_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9734,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9639,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9662,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9675,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9686,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9817,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9883,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9794,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9816,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9840,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9671,1
    - Dst: rfc_6381_get_codec_aac
      Src: /src/gpac/src/filter_core/filter_pid.c:9713,1
    - Dst: rfc_6381_get_codec_hevc
      Src: /src/gpac/src/filter_core/filter_pid.c:9767,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9869,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9623,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9627,1
    - Dst: rfc_6381_get_codec_dolby_vision
      Src: /src/gpac/src/filter_core/filter_pid.c:9692,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9884,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9628,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9630,1
    - Dst: gf_odf_dovi_cfg_read_bs
      Src: /src/gpac/src/filter_core/filter_pid.c:9683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9795,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9813,1
    - Dst: gf_codecid_4cc_type
      Src: /src/gpac/src/filter_core/filter_pid.c:9862,1
    - Dst: gf_odf_vvc_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9843,1
    - Dst: gf_audio_fmt_to_isobmf
      Src: /src/gpac/src/filter_core/filter_pid.c:9874,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9679,1
    - Dst: rfc_6381_get_codec_avc
      Src: /src/gpac/src/filter_core/filter_pid.c:9733,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9794,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9846,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9864,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9888,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9859,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9666,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9671,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filter_core/filter_pid.c:9682,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9846,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9873,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9611,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9619,1
    - Dst: gf_odf_avc_cfg_read
      Src: /src/gpac/src/filter_core/filter_pid.c:9731,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9771,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9777,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9644,1
    - Dst: rfc_6381_get_codec_dolby_vision
      Src: /src/gpac/src/filter_core/filter_pid.c:9695,1
    - Dst: rfc_6381_get_codec_dolby_vision
      Src: /src/gpac/src/filter_core/filter_pid.c:9698,1
    - Dst: rfc_6381_get_codec_uncv
      Src: /src/gpac/src/filter_core/filter_pid.c:9856,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9738,1
    - Dst: rfc6381_codec_name_default
      Src: /src/gpac/src/filter_core/filter_pid.c:9892,1
    - Dst: rfc_6381_get_codec_vvc
      Src: /src/gpac/src/filter_core/filter_pid.c:9842,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9629,1
    - Dst: gf_codecid_4cc_type
      Src: /src/gpac/src/filter_core/filter_pid.c:9670,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9813,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9808,1
    - Dst: rfc_6381_get_codec_mpegha
      Src: /src/gpac/src/filter_core/filter_pid.c:9831,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:9880,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9849,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pid.c:9607,1
    - Dst: gf_odf_av1_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9788,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9775,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9850,1
    - Dst: gf_odf_av1_cfg_read
      Src: /src/gpac/src/filter_core/filter_pid.c:9785,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9858,1
    - Dst: gf_odf_vp_cfg_read
      Src: /src/gpac/src/filter_core/filter_pid.c:9804,1
    - Dst: gf_odf_hevc_cfg_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9791,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9622,1
    - Dst: rfc_6381_get_codec_av1
      Src: /src/gpac/src/filter_core/filter_pid.c:9787,1
    - Dst: gf_odf_vvc_cfg_read
      Src: /src/gpac/src/filter_core/filter_pid.c:9838,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9738,1
    - Dst: rfc_6381_get_codec_vpx
      Src: /src/gpac/src/filter_core/filter_pid.c:9807,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:9823,1
    - Dst: gf_odf_hevc_cfg_read
      Src: /src/gpac/src/filter_core/filter_pid.c:9765,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9809,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9816,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:9840,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filter_core/filter_pid.c:9684,1
    - Dst: rfc_6381_get_codec_m4v
      Src: /src/gpac/src/filter_core/filter_pid.c:9716,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9887,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9849,1
    - Dst: gf_codecid_mime
      Src: /src/gpac/src/filter_core/filter_pid.c:9879,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:9882,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 232
    argCount: 6
    argNames:
    - pid
    - szCodec
    - force_inband
    - force_sbr
    - tile_base_dcd
    - out_inband_forced
    argTypes:
    - GF_FilterPid*
    - char*
    - Bool
    - Bool
    - GF_PropertyValue*
    - u32*
    constantsTouched: []
    func_position:
      end: 9895
      start: 9598
    functionDepth: 0
    functionLinenumber: 9598
    functionLinenumberEnd: 9895
    functionName: gf_filter_pid_get_rfc_6381_codec_string
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_odf_vp_cfg_del
    - memset
    - rfc_6381_get_codec_vvc
    - rfc_6381_get_codec_uncv
    - GF_LOG
    - gf_odf_avc_cfg_read
    - gf_4cc_to_str
    - rfc_6381_get_codec_av1
    - rfc_6381_get_codec_avc
    - gf_bs_del
    - gf_odf_hevc_cfg_read
    - rfc_6381_get_codec_hevc
    - gf_odf_vp_cfg_read
    - rfc_6381_get_codec_vpx
    - strcmp
    - gf_odf_avc_cfg_del
    - rfc_6381_get_codec_mpegha
    - gf_audio_fmt_to_isobmf
    - strcpy
    - gf_pixel_fmt_to_qt_type
    - gf_codecid_mime
    - gf_codecid_4cc_type
    - gf_odf_av1_cfg_del
    - gf_bs_new
    - rfc_6381_get_codec_dolby_vision
    - strchr
    - gf_odf_dovi_cfg_del
    - rfc_6381_get_codec_aac
    - rfc6381_codec_name_default
    - rfc_6381_get_codec_m4v
    - gf_filter_pid_get_property
    - gf_odf_av1_cfg_read
    - gf_odf_hevc_cfg_del
    - gf_odf_dovi_cfg_read_bs
    - gf_odf_vvc_cfg_read
    - gf_odf_vvc_cfg_del
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_get_rfc_6381_codec_string(GF_FilterPid
      *pid, char *szCodec, Bool force_inband, Bool force_sbr, const GF_PropertyValue
      *tile_base_dcd, u32 *out_inband_forced) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9267,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter_pid.c:9274,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:9271,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:9269,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:9277,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pid.c:9279,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:9280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - sess
    - _args
    - is_dst
    argTypes:
    - GF_FilterSession*
    - char*
    - Bool
    constantsTouched: []
    func_position:
      end: 9283
      start: 9259
    functionDepth: 0
    functionLinenumber: 9259
    functionLinenumberEnd: 9283
    functionName: gf_filter_pid_get_dst_string
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - sprintf
    - memcpy
    - strstr
    - gf_fs_path_escape_colon
    linkageType: ''
    returnType: char*
    signature: 'static char *gf_filter_pid_get_dst_string(GF_FilterSession *sess,
      const char *_args, Bool is_dst) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:389,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:404,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:412,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:413,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:420,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_pid.c:426,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filter_core/filter_pid.c:457,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:434,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:470,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:482,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:411,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:414,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:445,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:485,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:486,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:490,1
    - Dst: gf_filter_pid_inst_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:399,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:423,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:455,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:461,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:463,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:469,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:424,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:433,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:447,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:464,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:479,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 71
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 491
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 491
    functionName: gf_filter_pid_inst_delete_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_post_remove
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - gf_filter_pid_inst_del
    - gf_list_del_item
    - safe_int_dec
    - gf_filter_pid_check_unblock
    - gf_mx_v
    - gf_filter_pid_would_block
    - gf_assert
    - gf_filter_pid_inst_reset
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_inst_delete_task(GF_FSTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:754,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:760,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:761,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 764
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 764
    functionName: task_canceled
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - free_evt
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void task_canceled(GF_FSTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1572,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1574,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1579,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1584
    functionName: gf_filter_pid_get_source_filter_name
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_pid_get_source_filter_name(GF_FilterPid
      *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6340,1
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:6343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pid
    - prop_name
    argTypes:
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 6344
      start: 6337
    functionDepth: 0
    functionLinenumber: 6337
    functionLinenumberEnd: 6344
    functionName: gf_filter_pid_get_property_entry_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_pid_get_prop_map
    - gf_props_get_property_entry
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyEntry *gf_filter_pid_get_property_entry_str(GF_FilterPid
      *pid, const char *prop_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evt_get_refstr
      Src: /src/gpac/src/filter_core/filter_pid.c:7705,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:7709,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7707,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7708,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:7714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - evt
    argTypes:
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 7715
      start: 7700
    functionDepth: 0
    functionLinenumber: 7700
    functionLinenumberEnd: 7715
    functionName: free_evt
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_assert
    - safe_int_dec
    - evt_get_refstr
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void free_evt(GF_FilterEvent *evt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:495,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - session
    - filter
    - pid
    - pidinst
    argTypes:
    - GF_FilterSession*
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: gf_fs_post_pid_instance_delete_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task
    - safe_int_inc
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_post_pid_instance_delete_task(GF_FilterSession *session,
      GF_Filter *filter, GF_FilterPid *pid, GF_FilterPidInst *pidinst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 5
    argNames:
    - pid
    - max_slots
    - nb_pck
    - max_duration
    - duration
    argTypes:
    - GF_FilterPid*
    - u32*
    - u32*
    - u32*
    - u32*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1600
    functionName: gf_filter_pid_get_buffer_occupancy
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_get_buffer_occupancy(GF_FilterPid *pid,
      u32 *max_slots, u32 *nb_pck, u32 *max_duration, u32 *duration) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6354,1
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:6359,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6369,1
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:6366,1
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6356,1
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:6375,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6379,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6382,1
    - Dst: gf_filter_pid_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6387,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6390,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6399,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:6407,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6394,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 43
    argCount: 5
    argNames:
    - pid
    - prop_4cc
    - prop_name
    - first_call
    - propentry
    argTypes:
    - GF_FilterPid*
    - u32
    - char*
    - Bool
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6410
      start: 6346
    functionDepth: 0
    functionLinenumber: 6346
    functionLinenumberEnd: 6410
    functionName: gf_filter_pid_get_info_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - safe_int_inc
    - filter_pid_get_prop_map
    - gf_mx_p
    - gf_props_get_property_entry
    - gf_filter_pid_get_info_internal
    - gf_mx_v
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'static const GF_PropertyValue *gf_filter_pid_get_info_internal(GF_FilterPid
      *pid, u32 prop_4cc, const char *prop_name, Bool first_call, GF_PropertyEntry
      **propentry) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pid.c:7719,1
    - Dst: memcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:7720,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pid.c:7756,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:7755,1
    - Dst: strcpy
      Src: /src/gpac/src/filter_core/filter_pid.c:7758,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 1
    argNames:
    - evt
    argTypes:
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 7765
      start: 7717
    functionDepth: 0
    functionLinenumber: 7717
    functionLinenumberEnd: 7765
    functionName: init_evt
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_malloc
    - memcpy
    - strlen
    - strcpy
    linkageType: ''
    returnType: GF_FilterEvent*
    signature: 'static GF_FilterEvent *init_evt(GF_FilterEvent *evt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cache_bundle_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3097,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3099,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3105,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3107,1
    - Dst: cache_bundle_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - reg_desc
    argTypes:
    - GF_FilterRegDesc*
    constantsTouched: []
    func_position:
      end: 3109
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3109
    functionName: bundle_cache_free
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - cache_bundle_free
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'void bundle_cache_free(GF_FilterRegDesc *reg_desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_link_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pid
    - dst
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4047
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4047
    functionName: gf_filter_pid_resolve_link_length
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_resolve_link_internal
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_filter_pid_resolve_link_length(GF_FilterPid *pid, GF_Filter
      *dst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5002,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5015,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5016,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 1
    argNames:
    - '!'
    - dynamic_source_ids
    argTypes:
    - filter_dst
    constantsTouched: []
    func_position:
      end: 5019
      start: 4985
    functionDepth: 0
    functionLinenumber: 4985
    functionLinenumberEnd: 5019
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_pid_caps_match
    linkageType: ''
    returnType: RELOCK_FILTER_LIST
    signature: "RELOCK_FILTER_LIST //if destination accepts only one input and connected
      or connection pending //note that if destination uses dynamic clone through
      source ids, we need to check this filter if (!filter_dst->max_extra_pids\t\t
      \t&& !filter_dst->dynamic_source_ids\t\t\t&& (filter_dst->num_input_pids ||
      filter_dst->in_pid_connection_pending || filter_dst->in_link_resolution)\t\t
      \t&& (!filter->swap_pidinst_dst || (filter->swap_pidinst_dst->filter != filter_dst))\t\t) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5103,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5106,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5107,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5104,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5105,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5109,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5110,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames:
    - cyclic_detected
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5100
    functionDepth: 0
    functionLinenumber: 5100
    functionLinenumberEnd: 5114
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_del_item
    - gf_list_get
    - GF_LOG
    linkageType: ''
    returnType: RELOCK_FILTER_LIST
    signature: 'RELOCK_FILTER_LIST if (cyclic_detected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9425,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - do_recompute
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 9430
      start: 9422
    functionDepth: 0
    functionLinenumber: 9422
    functionLinenumberEnd: 9430
    functionName: gf_filter_pid_recompute_dts
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_recompute_dts(GF_FilterPid *pid, Bool
      do_recompute) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3113,1
    - Dst: bundle_cache_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fsess
    argTypes:
    - GF_FilterSession*
    constantsTouched: []
    func_position:
      end: 3117
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3117
    functionName: reset_bundle_cache
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - bundle_cache_free
    linkageType: ''
    returnType: void
    signature: 'void reset_bundle_cache(GF_FilterSession *fsess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - in_parent_chain
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5064
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5064
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: RELOCK_FILTER_LIST
    signature: 'RELOCK_FILTER_LIST if (in_parent_chain) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/filter_core/filter_pid.c:1693,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1736,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:1692,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1778,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1839,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:1889,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filter_core/filter_pid.c:1835,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter_pid.c:1837,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1647,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1653,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1717,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1718,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1768,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter_pid.c:1790,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_pid.c:1799,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1801,1
    - Dst: gf_props_dump_val
      Src: /src/gpac/src/filter_core/filter_pid.c:1817,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filter_core/filter_pid.c:1830,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1638,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1697,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1731,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1733,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1751,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1889,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:1895,1
    - Dst: gf_filter_pid_get_property_entry_str
      Src: /src/gpac/src/filter_core/filter_pid.c:1804,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:1798,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1644,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1650,1
    - Dst: strnicmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1656,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:1662,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1663,1
    - Dst: gf_4cc_parse
      Src: /src/gpac/src/filter_core/filter_pid.c:1664,1
    - Dst: gf_filter_pid_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:1672,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1696,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1743,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1752,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:1851,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:1847,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 273
    argCount: 6
    argNames:
    - src_pid
    - frag_name
    - pid_excluded
    - needs_resolve
    - prop_not_found
    - prop_dump_buffer
    argTypes:
    - GF_FilterPid*
    - char*
    - Bool*
    - Bool*
    - Bool*
    - char
    constantsTouched: []
    func_position:
      end: 1900
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1900
    functionName: filter_pid_check_fragment
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_stream_type_by_name
    - GF_LOG
    - gf_codecid_parse
    - GF_4CC
    - gf_props_dump_val
    - gf_props_get_id
    - strcmp
    - gf_props_equal
    - gf_filter_pid_get_property_entry
    - atoi
    - gf_props_reset_single
    - gf_list_get
    - strchr
    - strnicmp
    - gf_4cc_parse
    - gf_filter_pid_get_property_entry_str
    - gf_props_parse_value
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filter_pid_check_fragment(GF_FilterPid *src_pid, char
      *frag_name, Bool *pid_excluded, Bool *needs_resolve, Bool *prop_not_found, char
      prop_dump_buffer[GF_PROP_DUMP_ARG_SIZE]) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:2185,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filter_core/filter_pid.c:2186,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:2254,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:2201,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:2264,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:2273,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:2275,1
    - Dst: gf_filter_pid_get_property_str_first
      Src: /src/gpac/src/filter_core/filter_pid.c:2280,1
    - Dst: cap_code_match
      Src: /src/gpac/src/filter_core/filter_pid.c:2325,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:2327,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:2342,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 202
    argCount: 7
    argNames:
    - src_pid_or_ipid
    - freg
    - filter_inst
    - priority
    - dst_bundle_idx
    - dst_filter
    - for_bundle_idx
    argTypes:
    - GF_FilterPid*
    - GF_FilterRegister*
    - GF_Filter*
    - s16*
    - u32*
    - GF_Filter*
    - s32
    constantsTouched: []
    func_position:
      end: 2385
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2385
    functionName: gf_filter_pid_caps_match
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_codecid_type
    - gf_filter_pid_get_property
    - strcmp
    - cap_code_match
    - gf_props_equal
    - gf_filter_pid_get_property_first
    - gf_filter_pid_get_property_str_first
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_pid_caps_match(GF_FilterPid *src_pid_or_ipid, const
      GF_FilterRegister *freg, GF_Filter *filter_inst, s16 *priority, u32 *dst_bundle_idx,
      GF_Filter *dst_filter, s32 for_bundle_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_has_in_out_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:2429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - caps
    - nb_caps
    argTypes:
    - GF_FilterCapability*
    - u32
    constantsTouched: []
    func_position:
      end: 2430
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2430
    functionName: gf_filter_has_in_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_has_in_out_caps
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_has_in_caps(const GF_FilterCapability *caps, u32 nb_caps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_link_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pid
    - dst
    - filter_reassigned
    - skip_if_in_filter_list
    - skipped
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - Bool*
    - GF_List*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4035
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4035
    functionName: gf_filter_pid_resolve_link_check_loaded
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_resolve_link_internal
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_filter_pid_resolve_link_check_loaded(GF_FilterPid *pid,
      GF_Filter *dst, Bool *filter_reassigned, GF_List *skip_if_in_filter_list, Bool
      *skipped) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:6962,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pid.c:6988,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - pidi
    - pck
    argTypes:
    - GF_FilterPidInst*
    - GF_FilterPacket*
    constantsTouched: []
    func_position:
      end: 7034
      start: 6960
    functionDepth: 0
    functionLinenumber: 6960
    functionLinenumberEnd: 7034
    functionName: gf_filter_pidinst_update_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_timestamp_rescale
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pidinst_update_stats(GF_FilterPidInst *pidi,
      GF_FilterPacket *pck) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7344,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7358,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:7402,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7382,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:7403,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7404,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pid.c:7407,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7409,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7411,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7416,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7417,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7419
      start: 7336
    functionDepth: 0
    functionLinenumber: 7336
    functionLinenumberEnd: 7419
    functionName: gf_filter_pid_would_block
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_mx_p
    - PID_IS_INPUT
    - gf_log_tool_level_on
    - safe_int_inc
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_would_block(GF_FilterPid *pid) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7435,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7473,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7485,1
    - Dst: gf_filter_pid_query_buffer_duration_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:7476,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7476,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7502,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7506,1
    - Dst: gf_filter_pid_query_buffer_duration_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:7507,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 3
    argNames:
    - pid
    - check_pid_full
    - force_update
    argTypes:
    - GF_FilterPid*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 7514
      start: 7428
    functionDepth: 0
    functionLinenumber: 7428
    functionLinenumberEnd: 7514
    functionName: gf_filter_pid_query_buffer_duration_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - PID_IS_INPUT
    - gf_mx_v
    - gf_filter_pid_query_buffer_duration_internal
    linkageType: ''
    returnType: u64
    signature: 'static u64 gf_filter_pid_query_buffer_duration_internal(GF_FilterPid
      *pid, Bool check_pid_full, Bool force_update) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1960,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1978,1
    - Dst: filter_pid_check_fragment
      Src: /src/gpac/src/filter_core/filter_pid.c:1993,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1979,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_pid.c:2004,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_pid.c:2007,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2013,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2020,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1948,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1940,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1998,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1997,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:2002,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2044,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1921,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1971,1
    - Dst: gf_malloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2002,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:1990,1
    - Dst: strcat
      Src: /src/gpac/src/filter_core/filter_pid.c:2006,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:1944,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:1977,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:2002,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:2012,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2017,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2066,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2079,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 144
    argCount: 6
    argNames:
    - src_pid
    - src_filter_id
    - dst_filter
    - pid_excluded
    - needs_clone
    - ext_source_ids
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_Filter*
    - Bool*
    - Bool*
    - char*
    constantsTouched: []
    func_position:
      end: 2087
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 2087
    functionName: filter_source_id_match
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_malloc
    - strcat
    - strncmp
    - gf_strdup
    - strcmp
    - strchr
    - strncpy
    - filter_pid_check_fragment
    - gf_assert
    - gf_free
    linkageType: ''
    returnType: Bool
    signature: 'Bool filter_source_id_match(GF_FilterPid *src_pid, const char *src_filter_id,
      GF_Filter *dst_filter, Bool *pid_excluded, Bool *needs_clone, const char *ext_source_ids) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - caps
    - nb_caps
    argTypes:
    - GF_FilterCapability*
    - u32
    constantsTouched: []
    func_position:
      end: 2402
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2402
    functionName: gf_filter_caps_bundle_count
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_filter_caps_bundle_count(const GF_FilterCapability *caps, u32
      nb_caps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2438,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2442,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - GF_BundleDesc*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2443
    functionName: cache_bundle_free
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void cache_bundle_free(GF_BundleDesc *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_link_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - dst
    - check_reconfig_only
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 4040
      start: 4037
    functionDepth: 0
    functionLinenumber: 4037
    functionLinenumberEnd: 4040
    functionName: gf_filter_pid_resolve_link_for_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_resolve_link_internal
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_filter_pid_resolve_link_for_caps(GF_FilterPid *pid,
      GF_Filter *dst, Bool check_reconfig_only) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pidi
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 7053
      start: 7036
    functionDepth: 0
    functionLinenumber: 7036
    functionLinenumberEnd: 7053
    functionName: gf_filter_pidinst_reset_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pidinst_reset_stats(GF_FilterPidInst *pidi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7426
      start: 7421
    functionDepth: 0
    functionLinenumber: 7421
    functionLinenumberEnd: 7426
    functionName: gf_filter_pid_is_sparse
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_is_sparse(GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_query_buffer_duration_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:7519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pid
    - check_pid_full
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 7521
      start: 7516
    functionDepth: 0
    functionLinenumber: 7516
    functionLinenumberEnd: 7521
    functionName: gf_filter_pid_query_buffer_duration
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_query_buffer_duration_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_filter_pid_query_buffer_duration(GF_FilterPid *pid,
      Bool check_pid_full) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9292,1
    - Dst: gf_filter_pid_get_dst_string
      Src: /src/gpac/src/filter_core/filter_pid.c:9309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9293,1
    - Dst: gf_filter_pid_get_dst_string
      Src: /src/gpac/src/filter_core/filter_pid.c:9299,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9304,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9313,1
    - Dst: gf_filter_pid_get_destination
      Src: /src/gpac/src/filter_core/filter_pid.c:9314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - pid
    - dst_idx
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 9319
      start: 9286
    functionDepth: 0
    functionLinenumber: 9286
    functionLinenumberEnd: 9319
    functionName: gf_filter_pid_get_destination_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - gf_filter_pid_get_destination
    - PID_IS_INPUT
    - gf_filter_pid_get_dst_string
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_filter_pid_get_destination_ex(GF_FilterPid *pid,
      u32 dst_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9438
      start: 9432
    functionDepth: 0
    functionLinenumber: 9432
    functionLinenumberEnd: 9438
    functionName: gf_filter_pid_is_playing
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_is_playing(GF_FilterPid *pid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:3123,1
    - Dst: gf_filter_reg_build_graph
      Src: /src/gpac/src/filter_core/filter_pid.c:3126,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3128,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3130,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:3134,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3136,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3138,1
    - Dst: gf_filter_reg_build_graph
      Src: /src/gpac/src/filter_core/filter_pid.c:3139,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3141,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3143,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:3146,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3150,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3155,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3146,1
    - Dst: reset_bundle_cache
      Src: /src/gpac/src/filter_core/filter_pid.c:3161,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3157,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - fsess
    - for_reg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3162
    functionName: gf_filter_sess_build_graph
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_filter_reg_build_graph
    - gf_list_count
    - GF_LOG
    - gf_sys_clock_high_res
    - gf_list_new
    - reset_bundle_cache
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_sess_build_graph(GF_FilterSession *fsess, const GF_FilterRegister
      *for_reg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5817,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:5823,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5822,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5818,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5820,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:5824,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:5825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5826
      start: 5815
    functionDepth: 0
    functionLinenumber: 5815
    functionLinenumberEnd: 5826
    functionName: gf_filter_pid_post_connect_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_fs_post_task_ex
    - safe_int_inc
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_post_connect_task(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6215,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6217,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6216,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6214,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:6218,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6227,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6229,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:6231,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pid
    - first_prop_if_output
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 6236
      start: 6207
    functionDepth: 0
    functionLinenumber: 6207
    functionLinenumberEnd: 6236
    functionName: filter_pid_get_prop_map
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - safe_int_inc
    - gf_mx_p
    - gf_fatal_assert
    - PID_IS_INPUT
    - gf_mx_v
    linkageType: ''
    returnType: GF_PropertyMap*
    signature: 'static GF_PropertyMap *filter_pid_get_prop_map(GF_FilterPid *pid,
      Bool first_prop_if_output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6323,1
    - Dst: pid_check_prop
      Src: /src/gpac/src/filter_core/filter_pid.c:6326,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - prop_name
    argTypes:
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 6327
      start: 6321
    functionDepth: 0
    functionLinenumber: 6321
    functionLinenumberEnd: 6327
    functionName: gf_filter_pid_get_property_str_first
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - pid_check_prop
    - filter_pid_get_prop_map
    - gf_props_get_property
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'const GF_PropertyValue *gf_filter_pid_get_property_str_first(GF_FilterPid
      *pid, const char *prop_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8681,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8682,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:8685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8687
      start: 8675
    functionDepth: 0
    functionLinenumber: 8675
    functionLinenumberEnd: 8687
    functionName: gf_filter_pid_get_timescale
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pid_get_timescale(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8767,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - total_duration_us
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 8772
      start: 8764
    functionDepth: 0
    functionLinenumber: 8764
    functionLinenumberEnd: 8772
    functionName: gf_filter_pid_set_max_buffer
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_max_buffer(GF_FilterPid *pid, u32
      total_duration_us) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_file_template_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:9224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - pid
    - szTemplate
    - szFinalName
    - file_idx
    - file_suffix
    argTypes:
    - GF_FilterPid*
    - char
    - char
    - u32
    - char*
    constantsTouched: []
    func_position:
      end: 9225
      start: 9221
    functionDepth: 0
    functionLinenumber: 9221
    functionLinenumberEnd: 9225
    functionName: gf_filter_pid_resolve_file_template
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_resolve_file_template_ex
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_resolve_file_template(GF_FilterPid
      *pid, const char szTemplate[GF_MAX_PATH], char szFinalName[GF_MAX_PATH], u32
      file_idx, const char *file_suffix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9404,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9410
      start: 9401
    functionDepth: 0
    functionLinenumber: 9401
    functionLinenumberEnd: 9410
    functionName: gf_filter_pid_require_source_id
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_require_source_id(GF_FilterPid *pid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:3166,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3173,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3189,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3170,1
    - Dst: memmove
      Src: /src/gpac/src/filter_core/filter_pid.c:3181,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:3190,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3191,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3192,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3195,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:3196,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3198,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:3201,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:3197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - fsess
    - freg
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegister*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3202
    functionName: gf_filter_sess_reset_graph
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_mx_v
    - gf_mx_p
    - gf_list_rem
    - gf_free
    - memmove
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_sess_reset_graph(GF_FilterSession *fsess, const GF_FilterRegister
      *freg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:5834,1
    - Dst: gf_fs_post_task_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:5840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5841
      start: 5829
    functionDepth: 0
    functionLinenumber: 5829
    functionLinenumberEnd: 5841
    functionName: gf_filter_pid_post_init_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_ex
    - safe_int_inc
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_post_init_task(GF_Filter *filter, GF_FilterPid
      *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6331,1
    - Dst: gf_props_get_property_entry
      Src: /src/gpac/src/filter_core/filter_pid.c:6334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pid
    - prop_4cc
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 6335
      start: 6329
    functionDepth: 0
    functionLinenumber: 6329
    functionLinenumberEnd: 6335
    functionName: gf_filter_pid_get_property_entry
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_pid_get_prop_map
    - gf_props_get_property_entry
    linkageType: ''
    returnType: GF_PropertyEntry*
    signature: 'const GF_PropertyEntry *gf_filter_pid_get_property_entry(GF_FilterPid
      *pid, u32 prop_4cc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8694,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8702,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8706,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:8715,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8695,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8720,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8722,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:8723,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8725,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8733,1
    - Dst: gf_filter_pid_clear_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:8736,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8735,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8738,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - pid
    - clear_all
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 8740
      start: 8689
    functionDepth: 0
    functionLinenumber: 8689
    functionLinenumberEnd: 8740
    functionName: gf_filter_pid_clear_eos
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_mx_p
    - GF_LOG
    - gf_filter_pid_check_unblock
    - gf_mx_v
    - gf_filter_pid_clear_eos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_clear_eos(GF_FilterPid *pid, Bool clear_all) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8777,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8782
      start: 8774
    functionDepth: 0
    functionLinenumber: 8774
    functionLinenumberEnd: 8782
    functionName: gf_filter_pid_get_max_buffer
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pid_get_max_buffer(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9232,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9233,1
    - Dst: gf_filter_aggregate_packets
      Src: /src/gpac/src/filter_core/filter_pid.c:9238,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:9242,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:9243,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:9252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pid
    - discard_on
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 9257
      start: 9228
    functionDepth: 0
    functionLinenumber: 9228
    functionLinenumberEnd: 9257
    functionName: gf_filter_pid_set_discard
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_aggregate_packets
    - gf_fq_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_discard(GF_FilterPid *pid, Bool
      discard_on) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9415,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9420
      start: 9412
    functionDepth: 0
    functionLinenumber: 9412
    functionLinenumberEnd: 9420
    functionName: gf_filter_pid_get_min_pck_duration
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pid_get_min_pck_duration(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - caps
    - nb_caps
    - check_in
    argTypes:
    - GF_FilterCapability*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2422
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2422
    functionName: gf_filter_has_in_out_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_has_in_out_caps(const GF_FilterCapability *caps,
      u32 nb_caps, Bool check_in) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5896,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:5898,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:5903,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5905,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5923,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5913,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5906,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:5928,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5904,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5919,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:5927,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5922,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5912,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5900,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5898,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5897,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5902,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5914,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5924,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 5929
      start: 5893
    functionDepth: 0
    functionLinenumber: 5893
    functionLinenumberEnd: 5929
    functionName: gf_filter_pid_del
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_del
    - gf_list_count
    - GF_LOG
    - gf_filter_pid_inst_del
    - safe_int_dec
    - gf_props_del
    - gf_free
    - gf_assert
    - gf_list_pop_back
    linkageType: ''
    returnType: GF_NOT_EXPORTED
    signature: 'GF_NOT_EXPORTED void gf_filter_pid_del(GF_FilterPid *pid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5943,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:5944,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5955,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pid.c:5951,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5945,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5956,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5957,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pid.c:5965,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5967,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5968,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5970,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5971,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5972,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5973,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5981,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - pid
    - merge_props
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 5991
      start: 5936
    functionDepth: 0
    functionLinenumber: 5936
    functionLinenumberEnd: 5991
    functionName: check_new_pid_props
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_last
    - gf_props_new
    - gf_mx_p
    - gf_list_del_item
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_assert
    - gf_props_merge_property
    linkageType: ''
    returnType: GF_PropertyMap*
    signature: 'static GF_PropertyMap *check_new_pid_props(GF_FilterPid *pid, Bool
      merge_props) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6663,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:6666,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:6670,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6672
      start: 6659
    functionDepth: 0
    functionLinenumber: 6659
    functionLinenumberEnd: 6672
    functionName: gf_filter_pid_get_packet_count
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_fq_count
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pid_get_packet_count(GF_FilterPid *pid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6738,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:6742,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6741,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:6739,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6743,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:6744,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:6749,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6755,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6761,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6763,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:6769,1
    - Dst: gf_filter_pid_configure
      Src: /src/gpac/src/filter_core/filter_pid.c:6772,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - pidinst
    - pcki
    - do_notif
    argTypes:
    - GF_FilterPidInst*
    - GF_FilterPacketInstance*
    - Bool
    constantsTouched: []
    func_position:
      end: 6780
      start: 6723
    functionDepth: 0
    functionLinenumber: 6723
    functionLinenumberEnd: 6780
    functionName: filter_pck_check_prop_change
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_reset
    - safe_int_inc
    - gf_filter_pid_configure
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_list_del_item
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filter_pck_check_prop_change(GF_FilterPidInst *pidinst,
      GF_FilterPacketInstance *pcki, Bool do_notif) '
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GF_FEventType
    constantsTouched: []
    func_position:
      end: 7587
      start: 7556
    functionDepth: 0
    functionLinenumber: 7556
    functionLinenumberEnd: 7587
    functionName: gf_filter_event_name
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_event_name(GF_FEventType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pid
    - flags
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 9543
      start: 9533
    functionDepth: 0
    functionLinenumber: 9533
    functionLinenumberEnd: 9543
    functionName: gf_filter_pid_set_udta_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_udta_flags(GF_FilterPid *pid, u32
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_has_in_out_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:2425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - caps
    - nb_caps
    argTypes:
    - GF_FilterCapability*
    - u32
    constantsTouched: []
    func_position:
      end: 2426
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2426
    functionName: gf_filter_has_out_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_has_in_out_caps
    linkageType: ''
    returnType: Bool
    signature: 'Bool gf_filter_has_out_caps(const GF_FilterCapability *caps, u32 nb_caps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - require_source_id
    argTypes:
    - pid
    constantsTouched: []
    func_position:
      end: 5210
      start: 5207
    functionDepth: 0
    functionLinenumber: 5207
    functionLinenumberEnd: 5210
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    linkageType: ''
    returnType: else
    signature: 'else if (pid->require_source_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 5934
      start: 5931
    functionDepth: 0
    functionLinenumber: 5931
    functionLinenumberEnd: 5934
    functionName: gf_filter_pid_del_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_del
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_del_task(GF_FSTask *task) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6007,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6004,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pid.c:6023,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6028,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pid.c:6024,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:6036,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:6037,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:6081,1
    - Dst: gf_props_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6084,1
    - Dst: gf_props_get_base_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6007,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6009,1
    - Dst: gf_sys_is_test_mode
      Src: /src/gpac/src/filter_core/filter_pid.c:6014,1
    - Dst: exit
      Src: /src/gpac/src/filter_core/filter_pid.c:6015,1
    - Dst: gf_props_equal_strict
      Src: /src/gpac/src/filter_core/filter_pid.c:6035,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6020,1
    - Dst: gf_props_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6047,1
    - Dst: check_new_pid_props
      Src: /src/gpac/src/filter_core/filter_pid.c:6052,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6055,1
    - Dst: gf_props_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6073,1
    - Dst: gf_props_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6074,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:5997,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5998,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6010,1
    - Dst: gf_props_get_type_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6012,1
    - Dst: gf_props_4cc_get_flags
      Src: /src/gpac/src/filter_core/filter_pid.c:6017,1
    - Dst: gf_filter_pid_get_property_str
      Src: /src/gpac/src/filter_core/filter_pid.c:6030,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6019,1
    - Dst: gf_props_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6071,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6008,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:6038,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6082,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 90
    argCount: 6
    argNames:
    - pid
    - prop_4cc
    - prop_name
    - dyn_name
    - value
    - is_info
    argTypes:
    - GF_FilterPid*
    - u32
    - char*
    - char*
    - GF_PropertyValue*
    - Bool
    constantsTouched: []
    func_position:
      end: 6085
      start: 5993
    functionDepth: 0
    functionLinenumber: 5993
    functionLinenumberEnd: 6085
    functionName: gf_filter_pid_set_property_full
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_props_equal_strict
    - gf_props_set_property
    - GF_LOG
    - gf_props_4cc_get_type
    - PID_IS_INPUT
    - exit
    - gf_filter_pid_get_property_str
    - gf_props_reset_single
    - gf_props_4cc_get_flags
    - gf_props_new
    - sprintf
    - gf_props_get_type_name
    - gf_sys_is_test_mode
    - gf_free
    - gf_filter_pid_set_name
    - gf_props_get_base_type
    - gf_filter_pid_get_property
    - check_new_pid_props
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_pid_set_property_full(GF_FilterPid *pid, u32
      prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue *value,
      Bool is_info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6680,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6681,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:6686,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:6685,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:6682,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6695,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:6696,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6698,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6712,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6714,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6719,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pidi
    - pcki
    argTypes:
    - GF_FilterPidInst*
    - GF_FilterPacketInstance*
    constantsTouched: []
    func_position:
      end: 6721
      start: 6674
    functionDepth: 0
    functionLinenumber: 6674
    functionLinenumberEnd: 6721
    functionName: gf_filter_pid_filter_internal_packet
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_fs_post_disconnect_task
    - GF_LOG
    - safe_int_dec
    - gf_filter_pid_drop_packet
    - gf_assert
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_pid_filter_internal_packet(GF_FilterPidInst
      *pidi, GF_FilterPacketInstance *pcki) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6788,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_pid.c:6801,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6791,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:6809,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6792,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6813,1
    - Dst: gf_filter_pid_filter_internal_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6815,1
    - Dst: filter_pck_check_prop_change
      Src: /src/gpac/src/filter_core/filter_pid.c:6828,1
    - Dst: gf_th_id
      Src: /src/gpac/src/filter_core/filter_pid.c:6836,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:6843,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:6854,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6857
      start: 6782
    functionDepth: 0
    functionLinenumber: 6782
    functionLinenumberEnd: 6857
    functionName: gf_filter_pid_get_packet
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - filter_pck_check_prop_change
    - GF_FEVT_INIT
    - gf_fq_head
    - GF_LOG
    - gf_filter_pid_check_unblock
    - gf_sys_clock_high_res
    - gf_filter_pid_filter_internal_packet
    - gf_th_id
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPacket *gf_filter_pid_get_packet(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7592,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_pid.c:7601,1
    - Dst: gf_filter_aggregate_packets
      Src: /src/gpac/src/filter_core/filter_pid.c:7597,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:7600,1
    - Dst: filter_pck_check_prop_change
      Src: /src/gpac/src/filter_core/filter_pid.c:7607,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:7609,1
    - Dst: gf_filter_pidinst_reset_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:7612,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7614,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7615,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7626,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7627,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:7631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - task
    - had_eos
    argTypes:
    - GF_FSTask*
    - Bool*
    constantsTouched: []
    func_position:
      end: 7632
      start: 7589
    functionDepth: 0
    functionLinenumber: 7589
    functionLinenumberEnd: 7632
    functionName: gf_filter_pid_reset_task_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_pck_check_prop_change
    - gf_fq_head
    - GF_LOG
    - gf_filter_pid_drop_packet
    - safe_int_dec
    - gf_filter_aggregate_packets
    - gf_filter_pid_check_unblock
    - gf_filter_pidinst_reset_stats
    - gf_assert
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_reset_task_ex(GF_FSTask *task, Bool *had_eos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9549,1
    - Dst: gf_filter_pid_has_decoder
      Src: /src/gpac/src/filter_core/filter_pid.c:9558,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9550,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:9555,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9557,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:9559,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:9563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9565
      start: 9545
    functionDepth: 0
    functionLinenumber: 9545
    functionLinenumberEnd: 9565
    functionName: gf_filter_pid_has_decoder
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_mx_p
    - GF_LOG
    - gf_filter_pid_has_decoder
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_has_decoder(GF_FilterPid *pid) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:613,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:621,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pid.c:619,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:626,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:663,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:681,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:687,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:694,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:698,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:693,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:700,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:581,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:599,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:600,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:604,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:631,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:634,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:639,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_pid.c:672,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:695,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_pid.c:702,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:597,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:625,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pid.c:630,1
    - Dst: gf_list_pop_front
      Src: /src/gpac/src/filter_core/filter_pid.c:640,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:642,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:662,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:682,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:685,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:690,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:691,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:701,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:712,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:715,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:588,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:601,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:602,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:603,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:605,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:627,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:622,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:638,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pid.c:661,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:664,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:686,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:706,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 2
    argNames:
    - filter
    - dst
    argTypes:
    - GF_Filter*
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 717
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 717
    functionName: gf_filter_pid_inst_swap
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - GF_LOG
    - gf_filter_pid_inst_del
    - gf_fq_add
    - gf_props_del
    - gf_list_find
    - gf_list_pop_front
    - gf_list_count
    - safe_int_dec
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_filter_post_remove
    - gf_mx_p
    - gf_filter_post_process_task
    - safe_int_inc
    - gf_mx_v
    - gf_fq_pop
    - gf_props_merge_property
    - gf_fs_post_task
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_inst_swap(GF_Filter *filter, GF_FilterPidInst
      *dst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1330,1
    - Dst: gf_filter_pid_configure
      Src: /src/gpac/src/filter_core/filter_pid.c:1333,1
    - Dst: gf_filter_pid_get_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:1342,1
    - Dst: gf_filter_pid_drop_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:1343,1
    - Dst: gf_filter_aggregate_packets
      Src: /src/gpac/src/filter_core/filter_pid.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1348
    functionName: gf_filter_pid_reconfigure_task_discard
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_configure
    - gf_filter_pid_get_packet
    - GF_LOG
    - gf_filter_pid_drop_packet
    - gf_filter_aggregate_packets
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_reconfigure_task_discard(GF_FSTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:776,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:779,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:780,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:777,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:782,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:785,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 788
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 788
    functionName: gf_filter_pid_connect_failure
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_FEVT_INIT
    - gf_filter_pid_set_eos
    - gf_filter_pid_send_event_internal
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_connect_failure(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:1386,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1391,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:1388,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:1389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - session
    - filter
    - pid
    argTypes:
    - GF_FilterSession*
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1392
    functionName: gf_fs_post_disconnect_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task
    - safe_int_inc
    linkageType: ''
    returnType: void
    signature: 'void gf_fs_post_disconnect_task(GF_FilterSession *session, GF_Filter
      *filter, GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6106
      start: 6101
    functionDepth: 0
    functionLinenumber: 6101
    functionLinenumberEnd: 6106
    functionName: gf_filter_pid_set_property_dyn
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_property_dyn(GF_FilterPid *pid,
      char *name, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_negotiate_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6197
      start: 6192
    functionDepth: 0
    functionLinenumber: 6192
    functionLinenumberEnd: 6197
    functionName: gf_filter_pid_negotiate_property_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_negotiate_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_negotiate_property_str(GF_FilterPid
      *pid, const char *name, const GF_PropertyValue *value) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7068,1
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7071,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7089,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7146,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:7150,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:7117,1
    - Dst: safe_int64_sub
      Src: /src/gpac/src/filter_core/filter_pid.c:7128,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7167,1
    - Dst: gf_fq_res_add
      Src: /src/gpac/src/filter_core/filter_pid.c:7188,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7104,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7127,1
    - Dst: safe_int64_sub
      Src: /src/gpac/src/filter_core/filter_pid.c:7120,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7192,1
    - Dst: gf_rmt_end
      Src: /src/gpac/src/filter_core/filter_pid.c:7214,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pid.c:7194,1
    - Dst: gf_rmt_begin
      Src: /src/gpac/src/filter_core/filter_pid.c:7094,1
    - Dst: gf_filter_pidinst_update_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:7107,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pid.c:7122,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pid.c:7162,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7171,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7173,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7208,1
    - Dst: gf_filter_forward_clock
      Src: /src/gpac/src/filter_core/filter_pid.c:7211,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:7199,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pid.c:7079,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7072,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7103,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7116,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7124,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:7157,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7169,1
    - Dst: gf_mem_get_stats
      Src: /src/gpac/src/filter_core/filter_pid.c:7184,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:7189,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7193,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7209,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 129
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7215
      start: 7055
    functionDepth: 0
    functionLinenumber: 7055
    functionLinenumberEnd: 7215
    functionName: gf_filter_pid_drop_packet
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_pid_check_unblock
    - gf_filter_packet_destroy
    - gf_timestamp_rescale
    - PID_IS_OUTPUT
    - gf_rmt_begin
    - safe_int_dec
    - gf_fq_res_add
    - gf_assert
    - gf_filter_forward_clock
    - gf_fq_count
    - gf_list_get
    - gf_mem_get_stats
    - gf_mx_p
    - safe_int64_sub
    - gf_mx_v
    - gf_fq_pop
    - gf_free
    - gf_rmt_end
    - gf_filter_pidinst_update_stats
    - gf_log_tool_level_on
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_drop_packet(GF_FilterPid *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8642,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8649,1
    - Dst: gf_filter_process_inline
      Src: /src/gpac/src/filter_core/filter_pid.c:8655,1
    - Dst: gf_sleep
      Src: /src/gpac/src/filter_core/filter_pid.c:8650,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8656
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8656
    functionName: gf_filter_pid_try_pull
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_filter_process_inline
    - gf_sleep
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_try_pull(GF_FilterPid *pid) '
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:887,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:917,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_pid.c:954,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:973,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:983,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1012,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:1065,1
    - Dst: gf_fs_post_pid_instance_delete_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1058,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1083,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1121,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:966,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:827,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:954,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1123,1
    - Dst: gf_filter_check_pending_pids
      Src: /src/gpac/src/filter_core/filter_pid.c:1170,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1176,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1194,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:971,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:852,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:893,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:958,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:959,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1030,1
    - Dst: gf_filter_clone
      Src: /src/gpac/src/filter_core/filter_pid.c:1016,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1089,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1119,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1142,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:988,1
    - Dst: gf_filter_instance_detach_pid
      Src: /src/gpac/src/filter_core/filter_pid.c:977,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:885,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:974,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1025,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1095,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1122,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:1131,1
    - Dst: gf_filter_instance_detach_pid
      Src: /src/gpac/src/filter_core/filter_pid.c:1193,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:878,1
    - Dst: gf_filter_pid_update_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:898,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:947,1
    - Dst: gf_filter_pid_post_init_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1074,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1034,1
    - Dst: gf_filter_pid_post_connect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1022,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1100,1
    - Dst: gf_filter_notification_failure
      Src: /src/gpac/src/filter_core/filter_pid.c:1135,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1180,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1221,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:984,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:864,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:943,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:845,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:876,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1102,1
    - Dst: gf_filter_pid_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:1107,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1164,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1174,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1205,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1220,1
    - Dst: gf_filter_pid_update_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:1258,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_pid.c:1034,1
    - Dst: gf_filter_pid_post_connect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1013,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1062,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:884,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1095,1
    - Dst: gf_list_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:1105,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:1114,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:1130,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1177,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1189,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:812,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:835,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:978,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:1145,1
    - Dst: gf_fs_post_pid_instance_delete_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1214,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1021,1
    - Dst: gf_filter_relink_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:960,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:1124,1
    - Dst: gf_filter_reset_pending_packets
      Src: /src/gpac/src/filter_core/filter_pid.c:1199,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1243,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:967,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:811,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:879,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1068,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:995,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:987,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1000,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:820,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:844,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1045,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:1210,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:965,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_pid.c:998,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:975,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1088,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1192,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:1248,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:1069,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:818,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:822,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:882,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_pid.c:958,1
    - Dst: gf_error_to_string
      Src: /src/gpac/src/filter_core/filter_pid.c:1030,1
    - Dst: gf_filter_pid_connect_failure
      Src: /src/gpac/src/filter_core/filter_pid.c:1052,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1191,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:1229,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter_pid.c:1230,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:809,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:836,1
    - Dst: gf_filter_pid_post_init_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1092,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:1137,1
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1166,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:1234,1
    - Dst: gf_filter_pid_send_event
      Src: /src/gpac/src/filter_core/filter_pid.c:1235,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:982,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1067,1
    - Dst: gf_fs_post_pid_instance_delete_task
      Src: /src/gpac/src/filter_core/filter_pid.c:1075,1
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_pid.c:990,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:805,1
    - Dst: gf_filter_pid_inst_new
      Src: /src/gpac/src/filter_core/filter_pid.c:867,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:880,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:886,1
    - Dst: gf_filter_pid_inst_swap
      Src: /src/gpac/src/filter_core/filter_pid.c:905,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 376
    argCount: 3
    argNames:
    - filter
    - pid
    - ctype
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_PidConnectType
    constantsTouched: []
    func_position:
      end: 1260
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 1260
    functionName: gf_filter_pid_configure
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_inst_new
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_inst_del
    - gf_filter_pid_post_init_task
    - gf_filter_instance_detach_pid
    - gf_props_del
    - gf_filter_pid_remove
    - gf_filter_check_pending_pids
    - gf_list_pop_back
    - gf_list_find
    - gf_list_del
    - gf_error_to_string
    - gf_list_count
    - safe_int_dec
    - gf_filter_pid_update_caps
    - gf_list_del_item
    - gf_list_new
    - gf_assert
    - gf_fq_count
    - gf_list_reset
    - gf_list_get
    - gf_filter_post_remove
    - gf_filter_pid_inst_swap
    - gf_filter_pid_connect_failure
    - gf_mx_p
    - gf_filter_post_process_task
    - gf_filter_notification_failure
    - gf_mx_v
    - gf_filter_reset_pending_packets
    - gf_filter_pid_send_event
    - gf_filter_clone
    - gf_fs_post_pid_instance_delete_task
    - gf_filter_relink_dst
    - gf_list_rem
    - gf_fq_get
    - gf_filter_pid_post_connect_task
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_pid_configure(GF_Filter *filter, GF_FilterPid
      *pid, GF_PidConnectType ctype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1352,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1361,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1363,1
    - Dst: gf_filter_pid_configure
      Src: /src/gpac/src/filter_core/filter_pid.c:1359,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1354,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1363,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:1365,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1367,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1369,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1370,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1378,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1377,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1379
    functionName: gf_filter_pid_disconnect_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_post_remove
    - gf_filter_pid_configure
    - gf_list_count
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_disconnect_task(GF_FSTask *task) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1422,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1438,1
    - Dst: gf_filter_pid_inst_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:1468,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1476,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:1479,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1491,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1437,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1443,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1453,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1466,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1456,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:1481,1
    - Dst: gf_filter_process_inline
      Src: /src/gpac/src/filter_core/filter_pid.c:1428,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1436,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1445,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1455,1
    - Dst: safe_int_sub
      Src: /src/gpac/src/filter_core/filter_pid.c:1467,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1470,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1472,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:1482,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1490,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1415,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1439,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1452,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1465,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1463,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1457,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:1458,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1471,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:1473,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - task
    - no_flush
    argTypes:
    - GF_FSTask*
    - Bool
    constantsTouched: []
    func_position:
      end: 1492
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1492
    functionName: gf_filter_pid_detach_task_ex
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_find
    - safe_int_sub
    - gf_filter_process_inline
    - gf_list_count
    - GF_LOG
    - gf_mx_p
    - gf_list_del_item
    - safe_int_dec
    - gf_props_del
    - gf_mx_v
    - gf_list_new
    - gf_assert
    - gf_filter_pid_inst_reset
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_detach_task_ex(GF_FSTask *task, Bool no_flush) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - prop_4cc
    - value
    argTypes:
    - GF_FilterPid*
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6113
      start: 6108
    functionDepth: 0
    functionLinenumber: 6108
    functionLinenumberEnd: 6113
    functionName: gf_filter_pid_set_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_info(GF_FilterPid *pid, u32 prop_4cc,
      const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_negotiate_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6204
      start: 6199
    functionDepth: 0
    functionLinenumber: 6199
    functionLinenumberEnd: 6204
    functionName: gf_filter_pid_negotiate_property_dyn
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_negotiate_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_negotiate_property_dyn(GF_FilterPid
      *pid, char *name, const GF_PropertyValue *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7223,1
    - Dst: gf_filter_pid_filter_internal_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:7239,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7224,1
    - Dst: gf_fq_head
      Src: /src/gpac/src/filter_core/filter_pid.c:7237,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7246
      start: 7217
    functionDepth: 0
    functionLinenumber: 7217
    functionLinenumberEnd: 7246
    functionName: gf_filter_pid_is_eos
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_fq_head
    - GF_LOG
    - gf_filter_pid_filter_internal_packet
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_is_eos(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8664,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pid
    - clock_time
    - timescale
    argTypes:
    - GF_FilterPid*
    - u64*
    - u32*
    constantsTouched: []
    func_position:
      end: 8673
      start: 8659
    functionDepth: 0
    functionLinenumber: 8659
    functionLinenumberEnd: 8673
    functionName: gf_filter_pid_get_clock_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_FilterClockType gf_filter_pid_get_clock_info(GF_FilterPid
      *pid, u64 *clock_time, u32 *timescale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9917,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9922
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9922
    functionName: gf_filter_pid_force_single_link
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_force_single_link(GF_FilterPid *pid) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:243,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:288,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:312,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:315,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:349,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:375,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:240,1
    - Dst: MAX
      Src: /src/gpac/src/filter_core/filter_pid.c:276,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:285,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:290,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:293,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:266,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:252,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:268,1
    - Dst: MAX
      Src: /src/gpac/src/filter_core/filter_pid.c:323,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:306,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:247,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:300,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:338,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:309,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:336,1
    - Dst: gf_filter_pid_inst_check_dependencies
      Src: /src/gpac/src/filter_core/filter_pid.c:341,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 122
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 376
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 376
    functionName: gf_filter_pid_update_caps
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - gf_filter_pid_inst_check_dependencies
    - safe_int_inc
    - gf_filter_pid_get_property_first
    - MAX
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_update_caps(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:1525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1529
    functionName: gf_filter_pid_get_filter_name
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_pid_get_filter_name(GF_FilterPid *pid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7526,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7532,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7534,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7527,1
    - Dst: gf_filter_pid_has_seen_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:7535,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7536,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7542
      start: 7522
    functionDepth: 0
    functionLinenumber: 7522
    functionLinenumberEnd: 7542
    functionName: gf_filter_pid_has_seen_eos
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    - gf_filter_pid_has_seen_eos
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_has_seen_eos(GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9472
      start: 9468
    functionDepth: 0
    functionLinenumber: 9468
    functionLinenumberEnd: 9472
    functionName: gf_filter_pid_get_owner
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_pid_get_owner(GF_FilterPid *pid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:1539,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1548,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:1546,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1542,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1540,1
    - Dst: gf_filter_pid_orig_src_args
      Src: /src/gpac/src/filter_core/filter_pid.c:1551,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:1553,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1556,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1561,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - pid
    - for_unicity
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 1563
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1563
    functionName: gf_filter_pid_orig_src_args
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - strcmp
    - gf_filter_pid_orig_src_args
    - gf_mx_v
    - strstr
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_pid_orig_src_args(GF_FilterPid *pid,
      Bool for_unicity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7547,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7553
      start: 7544
    functionDepth: 0
    functionLinenumber: 7544
    functionLinenumberEnd: 7553
    functionName: gf_filter_pid_eos_received
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_eos_received(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9477,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9482
      start: 9474
    functionDepth: 0
    functionLinenumber: 9474
    functionLinenumberEnd: 9482
    functionName: gf_filter_pid_get_source_filter
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_pid_get_source_filter(GF_FilterPid
      *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8511,1
    - Dst: filter_locate_enc_dec_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:8521,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8514,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8518,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8523,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8527,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - locate_decoder
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 8529
      start: 8507
    functionDepth: 0
    functionLinenumber: 8507
    functionLinenumberEnd: 8529
    functionName: filter_locate_enc_dec_src
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_locate_enc_dec_sink
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *filter_locate_enc_dec_src(GF_Filter *filter, Bool
      locate_decoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - in_parent_chain
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4902
      start: 4898
    functionDepth: 0
    functionLinenumber: 4898
    functionLinenumberEnd: 4902
    functionName: if
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RELOCK_FILTER_LIST
    signature: 'RELOCK_FILTER_LIST if (in_parent_chain) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:2097,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:2104,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:2105,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:2099,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:2109,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:2110,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:2111,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:2115,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:2116,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:2117,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:2118,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:2122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - parent
    - filter
    argTypes:
    - GF_Filter*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 2124
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2124
    functionName: gf_filter_in_parent_chain
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_filter_in_parent_chain
    - gf_list_count
    - gf_mx_p
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_in_parent_chain(GF_Filter *parent, GF_Filter
      *filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6569,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6577,1
    - Dst: gf_props_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:6580,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6570,1
    - Dst: check_new_pid_props
      Src: /src/gpac/src/filter_core/filter_pid.c:6574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6583
      start: 6564
    functionDepth: 0
    functionLinenumber: 6564
    functionLinenumberEnd: 6583
    functionName: gf_filter_pid_reset_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_props_reset
    - GF_LOG
    - PID_IS_INPUT
    - check_new_pid_props
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_reset_properties(GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_merge_properties_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - dst_pid
    - src_pid
    - filter_prop
    - cbk
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    - gf_filter_prop_filter
    - void*
    constantsTouched: []
    func_position:
      end: 6651
      start: 6647
    functionDepth: 0
    functionLinenumber: 6647
    functionLinenumberEnd: 6651
    functionName: gf_filter_pid_merge_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_merge_properties_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_merge_properties(GF_FilterPid *dst_pid,
      GF_FilterPid *src_pid, gf_filter_prop_filter filter_prop, void *cbk ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_eos_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:7310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7311
      start: 7307
    functionDepth: 0
    functionLinenumber: 7307
    functionLinenumberEnd: 7311
    functionName: gf_filter_pid_set_eos
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_eos(GF_FilterPid *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8165,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8168,1
    - Dst: dup_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8170,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8172,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 8177
      start: 8150
    functionDepth: 0
    functionLinenumber: 8150
    functionLinenumberEnd: 8177
    functionName: gf_filter_pid_send_event_upstream
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_fs_post_task_class
    - gf_list_get
    - dup_evt
    - free_evt
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_send_event_upstream(GF_FSTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9488,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9489,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pid
    - idx
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 9495
      start: 9484
    functionDepth: 0
    functionLinenumber: 9484
    functionLinenumberEnd: 9495
    functionName: gf_filter_pid_enum_destinations
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_Filter *gf_filter_pid_enum_destinations(GF_FilterPid
      *pid, u32 idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2135
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2135
    functionName: cap_code_match
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: 'static Bool cap_code_match(u32 c1, u32 c2) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_new_pid_props
      Src: /src/gpac/src/filter_core/filter_pid.c:6599,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6610,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:6614,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6640,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6589,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:6594,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6602,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6606,1
    - Dst: gf_fatal_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6613,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:6625,1
    - Dst: gf_props_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:6636,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6612,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6588,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6595,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6593,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6628,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6611,1
    - Dst: gf_filter_pid_set_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6633,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6626,1
    - Dst: gf_props_merge_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6644,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 5
    argNames:
    - dst_pid
    - src_pid
    - filter_prop
    - cbk
    - is_merge
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    - gf_filter_prop_filter
    - void*
    - Bool
    constantsTouched: []
    func_position:
      end: 6645
      start: 6585
    functionDepth: 0
    functionLinenumber: 6585
    functionLinenumberEnd: 6645
    functionName: gf_filter_pid_merge_properties_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - safe_int_inc
    - gf_filter_pid_set_name
    - gf_mx_p
    - GF_LOG
    - gf_fatal_assert
    - PID_IS_INPUT
    - gf_mx_v
    - gf_props_reset
    - gf_props_merge_property
    - check_new_pid_props
    linkageType: ''
    returnType: GF_Err
    signature: 'static GF_Err gf_filter_pid_merge_properties_internal(GF_FilterPid
      *dst_pid, GF_FilterPid *src_pid, gf_filter_prop_filter filter_prop, void *cbk,
      Bool is_merge) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_merge_properties_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst_pid
    - src_pid
    argTypes:
    - GF_FilterPid*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6656
      start: 6652
    functionDepth: 0
    functionLinenumber: 6652
    functionLinenumberEnd: 6656
    functionName: gf_filter_pid_copy_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_merge_properties_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_copy_properties(GF_FilterPid *dst_pid,
      GF_FilterPid *src_pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7318,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7322,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7320,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:7325,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7324,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7326,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7329,1
    - Dst: gf_props_enum_property
      Src: /src/gpac/src/filter_core/filter_pid.c:7333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - pid
    - idx
    - prop_4cc
    - prop_name
    argTypes:
    - GF_FilterPid*
    - u32*
    - u32*
    - char**
    constantsTouched: []
    func_position:
      end: 7334
      start: 7313
    functionDepth: 0
    functionLinenumber: 7313
    functionLinenumberEnd: 7334
    functionName: gf_filter_pid_enum_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_last
    - GF_LOG
    - gf_mx_p
    - gf_props_enum_property
    - PID_IS_INPUT
    - gf_mx_v
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_enum_properties(GF_FilterPid
      *pid, u32 *idx, u32 *prop_4cc, const char **prop_name) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8199,1
    - Dst: init_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8208,1
    - Dst: dup_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8217,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8219,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8222,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8233,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8273,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8244,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8286,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8261,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8236,1
    - Dst: init_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8292,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8249,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8296,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8211,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:8203,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8282,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8298,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8203,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8215,1
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8267,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 100
    argCount: 3
    argNames:
    - pid
    - evt
    - force_downstream
    argTypes:
    - GF_FilterPid*
    - GF_FilterEvent*
    - Bool
    constantsTouched: []
    func_position:
      end: 8299
      start: 8179
    functionDepth: 0
    functionLinenumber: 8179
    functionLinenumberEnd: 8299
    functionName: gf_filter_pid_send_event_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - free_evt
    - safe_int_inc
    - GF_LOG
    - dup_evt
    - gf_mx_p
    - gf_fs_post_task_class
    - PID_IS_INPUT
    - gf_filter_event_name
    - init_evt
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_send_event_internal(GF_FilterPid *pid, GF_FilterEvent
      *evt, Bool force_downstream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9501,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - do_ignore
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 9508
      start: 9497
    functionDepth: 0
    functionLinenumber: 9497
    functionLinenumberEnd: 9508
    functionName: gf_filter_pid_ignore_blocking
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_ignore_blocking(GF_FilterPid *pid,
      Bool do_ignore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9926,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9931
      start: 9923
    functionDepth: 0
    functionLinenumber: 9923
    functionLinenumberEnd: 9931
    functionName: gf_filter_pid_disable_clone
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_disable_clone(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pid.c:3208,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3218,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3211,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3213,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3216,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3220,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3223,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3224,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3227,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - is_before
    - reg_dst
    - dijkstra_nodes
    argTypes:
    - Bool
    - GF_FilterRegDesc*
    - GF_List*
    constantsTouched: []
    func_position:
      end: 3231
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3231
    functionName: dump_graph_edges
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - gf_list_get
    - GF_LOG
    - gf_log_tool_level_on
    linkageType: ''
    returnType: void
    signature: 'void dump_graph_edges(Bool is_before, GF_FilterRegDesc *reg_dst, GF_List
      *dijkstra_nodes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:727,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:732,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:733,1
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_pid.c:729,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:735,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:737,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:739,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:742,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:743,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pidinst
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 748
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 748
    functionName: gf_filter_instance_detach_pid
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - safe_int_dec
    - gf_fq_get
    - gf_assert
    - gf_fq_count
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_instance_detach_pid(GF_FilterPidInst *pidinst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1266,1
    - Dst: gf_filter_clone
      Src: /src/gpac/src/filter_core/filter_pid.c:1271,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1276,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1278,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1280,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1281,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1283,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1284,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1285,1
    - Dst: gf_filter_pid_connect_failure
      Src: /src/gpac/src/filter_core/filter_pid.c:1288,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:1296,1
    - Dst: gf_fs_cleanup_filters
      Src: /src/gpac/src/filter_core/filter_pid.c:1309,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:1307,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:1306,1
    - Dst: gf_filter_pid_configure
      Src: /src/gpac/src/filter_core/filter_pid.c:1297,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:1295,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:1294,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1311
    functionName: gf_filter_pid_connect_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_configure
    - gf_filter_pid_connect_failure
    - gf_filter_clone
    - gf_mx_p
    - GF_LOG
    - gf_list_del_item
    - safe_int_dec
    - gf_mx_v
    - gf_assert
    - gf_fs_cleanup_filters
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_connect_task(GF_FSTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gf_fq_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6865,1
    - Dst: gf_filter_pid_probe_next_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6881,1
    - Dst: gf_filter_pid_filter_internal_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6880,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - pidinst
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 6886
      start: 6859
    functionDepth: 0
    functionLinenumber: 6859
    functionLinenumberEnd: 6886
    functionName: gf_filter_pid_probe_next_packet
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_probe_next_packet
    - gf_fq_get
    - gf_filter_pid_filter_internal_packet
    linkageType: ''
    returnType: GF_FilterPacketInstance*
    signature: 'static GF_FilterPacketInstance *gf_filter_pid_probe_next_packet(GF_FilterPidInst
      *pidinst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7777,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7780,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7790,1
    - Dst: filter_pid_is_raw_source
      Src: /src/gpac/src/filter_core/filter_pid.c:7785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7792
      start: 7768
    functionDepth: 0
    functionLinenumber: 7768
    functionLinenumberEnd: 7792
    functionName: filter_pid_is_raw_source
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - gf_mx_v
    - filter_pid_is_raw_source
    linkageType: ''
    returnType: Bool
    signature: 'static Bool filter_pid_is_raw_source(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9521
      start: 9510
    functionDepth: 0
    functionLinenumber: 9510
    functionLinenumberEnd: 9521
    functionName: gf_filter_pid_get_next_ts
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u64 gf_filter_pid_get_next_ts(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9571,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9572,1
    - Dst: gf_sys_clock_high_res
      Src: /src/gpac/src/filter_core/filter_pid.c:9576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pid
    - rtt_ms
    - jitter_us
    - loss_rate
    argTypes:
    - GF_FilterPid*
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 9581
      start: 9567
    functionDepth: 0
    functionLinenumber: 9567
    functionLinenumberEnd: 9581
    functionName: gf_filter_pid_set_rt_stats
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    - gf_sys_clock_high_res
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_rt_stats(GF_FilterPid *pid, u32
      rtt_ms, u32 jitter_us, u32 loss_rate) '
  - BBCount: 179
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_args
      Src: /src/gpac/src/filter_core/filter_pid.c:4729,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4971,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4984,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5015,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5110,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5033,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5138,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5201,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5367,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5414,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5616,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter_pid.c:5719,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:5767,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5626,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5546,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:5622,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5632,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:5772,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5617,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5721,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5107,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter_pid.c:4726,1
    - Dst: gf_pid_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5083,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5159,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5231,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:5286,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5370,1
    - Dst: add_possible_link_destination
      Src: /src/gpac/src/filter_core/filter_pid.c:5424,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5347,1
    - Dst: gf_filter_pid_resolve_link
      Src: /src/gpac/src/filter_core/filter_pid.c:5492,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5596,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5723,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:5602,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5734,1
    - Dst: gf_filter_pid_post_connect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:5550,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5455,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5057,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5103,1
    - Dst: gf_filter_reconf_output
      Src: /src/gpac/src/filter_core/filter_pid.c:4722,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4836,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:4915,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5336,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5396,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5473,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5545,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5555,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5758,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5553,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5615,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5636,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:5805,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5041,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4974,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:4860,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5326,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5336,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:5405,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5417,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5459,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5477,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5572,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5571,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5803,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:5606,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4766,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5027,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5078,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5418,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5440,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5457,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5476,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5497,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5519,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5531,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5657,1
    - Dst: gf_fs_check_graph_load
      Src: /src/gpac/src/filter_core/filter_pid.c:5660,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5724,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5541,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4877,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4897,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5086,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5105,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5142,1
    - Dst: gf_filter_set_name
      Src: /src/gpac/src/filter_core/filter_pid.c:5285,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5369,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5461,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5501,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5595,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5618,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5654,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5659,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5592,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5460,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:5778,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5753,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:5674,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:4710,1
    - Dst: gf_filter_last_id_in_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4749,1
    - Dst: gf_filter_last_id_in_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4751,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4768,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4825,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4770,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4908,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4913,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5152,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5454,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5560,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5663,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5495,1
    - Dst: GF_FEVT_INIT
      Src: /src/gpac/src/filter_core/filter_pid.c:5776,1
    - Dst: gf_filter_setup_failure
      Src: /src/gpac/src/filter_core/filter_pid.c:5789,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5080,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4969,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5090,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5111,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:4741,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4772,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4890,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4912,1
    - Dst: filter_source_id_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5179,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5220,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5722,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5530,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4812,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4968,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:4976,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5016,1
    - Dst: gf_filter_last_id_in_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5178,1
    - Dst: gf_filter_pid_resolve_link_check_loaded
      Src: /src/gpac/src/filter_core/filter_pid.c:5446,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5500,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:5574,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5655,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5727,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5748,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5498,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5109,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5371,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5395,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5475,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5561,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5587,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5456,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:5621,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:5624,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5690,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5735,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4954,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5056,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4923,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:5021,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5093,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5471,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5474,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:5544,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5590,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5593,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5678,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5537,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5591,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5658,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5062,1
    - Dst: gf_filter_pid_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:4736,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4878,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4958,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5124,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5002,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5186,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5208,1
    - Dst: gf_filter_set_id
      Src: /src/gpac/src/filter_core/filter_pid.c:5283,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5295,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:5741,1
    - Dst: parent_chain_has_dyn_pids
      Src: /src/gpac/src/filter_core/filter_pid.c:5783,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5520,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5549,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_pid.c:5688,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:5774,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5714,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4949,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4961,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:5104,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5106,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:5257,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:5260,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5272,1
    - Dst: gf_filter_pid_needs_explicit_resolution
      Src: /src/gpac/src/filter_core/filter_pid.c:5386,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5387,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5458,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5711,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5799,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5496,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5523,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5328,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:4709,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:4862,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4977,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5050,1
    - Dst: filter_source_id_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5169,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5225,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:5266,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filter_core/filter_pid.c:5269,1
    - Dst: gf_fs_load_filter
      Src: /src/gpac/src/filter_core/filter_pid.c:5282,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:5499,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5653,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5646,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5677,1
    - Dst: gf_filter_clone
      Src: /src/gpac/src/filter_core/filter_pid.c:5671,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5641,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5128,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4909,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4953,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5081,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4769,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4896,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5089,1
    - Dst: gf_pid_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5095,1
    - Dst: gf_codecid_type
      Src: /src/gpac/src/filter_core/filter_pid.c:5276,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:5284,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:5675,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5728,1
    - Dst: gf_filter_pid_set_eos
      Src: /src/gpac/src/filter_core/filter_pid.c:5780,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5764,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4956,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4970,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5098,1
    - Dst: gf_list_clone
      Src: /src/gpac/src/filter_core/filter_pid.c:4792,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5237,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5246,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:5338,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:5487,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5559,1
    - Dst: filter_match_target_dst
      Src: /src/gpac/src/filter_core/filter_pid.c:5601,1
    - Dst: gf_filter_in_parent_chain
      Src: /src/gpac/src/filter_core/filter_pid.c:5620,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5757,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5798,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:5742,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5673,1
    - Dst: filter_source_id_match
      Src: /src/gpac/src/filter_core/filter_pid.c:5223,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:5472,1
    CyclomaticComplexity: 366
    EdgeCount: 366
    ICount: 832
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 5813
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 5813
    functionName: gf_filter_pid_init_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_pid_in_parent_chain
    - GF_FEVT_INIT
    - GF_LOG
    - gf_filter_pid_set_eos
    - gf_filter_pid_get_property_first
    - gf_codecid_parse
    - parent_chain_has_dyn_pids
    - gf_fs_post_disconnect_task
    - gf_list_find
    - gf_list_del
    - filter_match_target_dst
    - gf_list_count
    - gf_strdup
    - strcmp
    - gf_filter_pid_needs_explicit_resolution
    - gf_filter_pid_caps_match
    - safe_int_dec
    - gf_list_new
    - gf_list_del_item
    - gf_assert
    - gf_list_clone
    - gf_filter_reconf_output
    - gf_filter_pid_resolve_link
    - gf_filter_post_remove
    - gf_list_get
    - gf_filter_in_parent_chain
    - gf_filter_set_name
    - gf_filter_pid_post_connect_task
    - gf_mx_p
    - gf_filter_has_out_caps
    - gf_mx_v
    - safe_int_inc
    - gf_filter_pid_set_args
    - gf_free
    - add_possible_link_destination
    - gf_filter_pid_send_event_internal
    - gf_filter_pid_get_property
    - gf_filter_clone
    - filter_source_id_match
    - gf_filter_pid_resolve_link_check_loaded
    - gf_fs_check_graph_load
    - gf_list_rem
    - gf_filter_set_id
    - gf_filter_last_id_in_chain
    - gf_filter_setup_failure
    - gf_codecid_type
    - gf_fs_load_filter
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_init_task(GF_FSTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:1315,1
    - Dst: gf_filter_pid_configure
      Src: /src/gpac/src/filter_core/filter_pid.c:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1325
    functionName: gf_filter_pid_reconfigure_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - gf_filter_pid_configure
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_reconfigure_task(GF_FSTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6893,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6908,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6904,1
    - Dst: gf_filter_pid_probe_next_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6899,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6894,1
    - Dst: gf_timestamp_rescale
      Src: /src/gpac/src/filter_core/filter_pid.c:6910,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - pid
    - cts
    argTypes:
    - GF_FilterPid*
    - u64*
    constantsTouched: []
    func_position:
      end: 6914
      start: 6888
    functionDepth: 0
    functionLinenumber: 6888
    functionLinenumberEnd: 6914
    functionName: gf_filter_pid_get_first_packet_cts
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - GF_LOG
    - gf_timestamp_rescale
    - gf_filter_pid_probe_next_packet
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_get_first_packet_cts(GF_FilterPid *pid,
      u64 *cts) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7825,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7864,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7862,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7872,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7881,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:7900,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filter_core/filter_pid.c:7902,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7911,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7928,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7948,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7954,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8035,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8081,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7998,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8037,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:8041,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8146,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:8145,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8032,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7928,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7937,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter_pid.c:7942,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7942,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7959,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7965,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7978,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:7980,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7998,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8028,1
    - Dst: gf_fs_post_task
      Src: /src/gpac/src/filter_core/filter_pid.c:8043,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter_pid.c:8079,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:8114,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8144,1
    - Dst: dup_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8135,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8104,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8069,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8109,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8140,1
    - Dst: filter_pid_is_raw_source
      Src: /src/gpac/src/filter_core/filter_pid.c:7891,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7926,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7933,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7947,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7953,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7959,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8045,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8051,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8066,1
    - Dst: gf_filter_pid_check_unblock
      Src: /src/gpac/src/filter_core/filter_pid.c:8098,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8132,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8142,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter_pid.c:8076,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8084,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8048,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:8110,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:8004,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:8127,1
    - Dst: gf_filter_pid_set_discard
      Src: /src/gpac/src/filter_core/filter_pid.c:8073,1
    - Dst: gf_filter_pid_would_block
      Src: /src/gpac/src/filter_core/filter_pid.c:8095,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:7821,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:7822,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7867,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7913,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7926,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7931,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:7911,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7953,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7960,1
    - Dst: free_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:7974,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_pid.c:8056,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:8124,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8138,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:8140,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8119,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7989,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 270
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 8148
      start: 7794
    functionDepth: 0
    functionLinenumber: 7794
    functionLinenumberEnd: 8148
    functionName: gf_filter_pid_send_event_downstream
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_pid_set_discard
    - GF_LOG
    - gf_filter_pid_check_unblock
    - gf_list_find
    - gf_list_del
    - safe_int_dec
    - gf_list_new
    - gf_assert
    - gf_list_get
    - free_evt
    - gf_mx_p
    - dup_evt
    - gf_filter_post_process_task
    - safe_int_inc
    - gf_filter_event_name
    - gf_filter_pid_would_block
    - gf_mx_v
    - gf_fs_post_task
    - filter_pid_is_raw_source
    - gf_fs_post_task_class
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_send_event_downstream(GF_FSTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9531
      start: 9523
    functionDepth: 0
    functionLinenumber: 9523
    functionLinenumberEnd: 9531
    functionName: gf_filter_pid_get_udta_flags
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT u32 gf_filter_pid_get_udta_flags(GF_FilterPid *pid) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:6245,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:6257,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:6251,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6248,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:6246,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6259,1
    - Dst: gf_4cc_to_str
      Src: /src/gpac/src/filter_core/filter_pid.c:6259,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6261,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:6263,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:6266,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - pid
    - prop_4cc
    - prop_name
    - ret
    argTypes:
    - GF_FilterPid*
    - u32
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6269
      start: 6239
    functionDepth: 0
    functionLinenumber: 6239
    functionLinenumberEnd: 6269
    functionName: pid_check_prop
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - strcmp
    - GF_LOG
    - GF_SAFEALLOC
    - gf_4cc_to_str
    - gf_list_new
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: GFINLINE*
    signature: 'static GFINLINE const GF_PropertyValue *pid_check_prop(GF_FilterPid
      *pid, u32 prop_4cc, const char *prop_name, const GF_PropertyValue *ret) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_needs_explicit_resolution
      Src: /src/gpac/src/filter_core/filter_pid.c:4060,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4063,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4071,1
    - Dst: gf_filter_pid_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:4066,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4067,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:4075,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:4078,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:4079,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:4080,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:4081,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4092,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4090,1
    - Dst: gf_filter_pid_resolve_link_dijkstra
      Src: /src/gpac/src/filter_core/filter_pid.c:4084,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:4083,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:4087,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:4085,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4086,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - pid
    - dst
    - tmp_blacklist
    - link_info
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - GF_List*
    - GF_LinkInfo*
    constantsTouched: []
    func_position:
      end: 4094
      start: 4051
    functionDepth: 0
    functionLinenumber: 4051
    functionLinenumberEnd: 4094
    functionName: gf_filter_pid_compute_link
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_del
    - concat_reg
    - gf_list_count
    - sprintf
    - gf_mx_p
    - gf_filter_pid_needs_explicit_resolution
    - gf_filter_pid_caps_match
    - gf_filter_pid_resolve_link_dijkstra
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_List*
    signature: 'GF_List *gf_filter_pid_compute_link(GF_FilterPid *pid, GF_Filter *dst,
      GF_List *tmp_blacklist, GF_LinkInfo *link_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6507,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6512,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6515,1
    - Dst: gf_filter_pid_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6513,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:6508,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6516,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:6521,1
    - Dst: gf_filter_pid_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6522,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6524,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6525,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6529,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:6530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - filter
    - prop_4cc
    - prop_name
    - propentry
    argTypes:
    - GF_Filter*
    - u32
    - char*
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6532
      start: 6502
    functionDepth: 0
    functionLinenumber: 6502
    functionLinenumberEnd: 6532
    functionName: gf_filter_get_info_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_mx_p
    - gf_filter_pid_get_info_internal
    - gf_mx_v
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'static const GF_PropertyValue *gf_filter_get_info_internal(GF_Filter
      *filter, u32 prop_4cc, const char *prop_name, GF_PropertyEntry **propentry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7252,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 7261
      start: 7248
    functionDepth: 0
    functionLinenumber: 7248
    functionLinenumberEnd: 7261
    functionName: gf_filter_pid_is_flush_eos
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_is_flush_eos(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8746,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - filter_in_charge
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 8751
      start: 8742
    functionDepth: 0
    functionLinenumber: 8742
    functionLinenumberEnd: 8751
    functionName: gf_filter_pid_set_clock_mode
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_clock_mode(GF_FilterPid *pid, Bool
      filter_in_charge) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pid.c:4206,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:4270,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4280,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4313,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4193,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:4200,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4306,1
    - Dst: gf_codecid_parse
      Src: /src/gpac/src/filter_core/filter_pid.c:4330,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:4357,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:4303,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:4355,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4134,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4169,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4218,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4239,1
    - Dst: strpbrk
      Src: /src/gpac/src/filter_core/filter_pid.c:4269,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:4274,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filter_core/filter_pid.c:4318,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4138,1
    - Dst: gf_fs_path_escape_colon
      Src: /src/gpac/src/filter_core/filter_pid.c:4132,1
    - Dst: GF_4CC
      Src: /src/gpac/src/filter_core/filter_pid.c:4201,1
    - Dst: filter_solve_prop_template
      Src: /src/gpac/src/filter_core/filter_pid.c:4271,1
    - Dst: gf_stream_type_by_name
      Src: /src/gpac/src/filter_core/filter_pid.c:4340,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4157,1
    - Dst: gf_fclose
      Src: /src/gpac/src/filter_core/filter_pid.c:4184,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4215,1
    - Dst: gf_bs_write_u32
      Src: /src/gpac/src/filter_core/filter_pid.c:4319,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4307,1
    - Dst: gf_fopen
      Src: /src/gpac/src/filter_core/filter_pid.c:4160,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4227,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4293,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pid.c:4397,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4349,1
    - Dst: gf_opts_set_key
      Src: /src/gpac/src/filter_core/filter_pid.c:4363,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4316,1
    - Dst: gf_filter_pid_set_property_str
      Src: /src/gpac/src/filter_core/filter_pid.c:4284,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4380,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4382,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filter_core/filter_pid.c:4320,1
    - Dst: gf_props_parse_type
      Src: /src/gpac/src/filter_core/filter_pid.c:4389,1
    - Dst: strncpy
      Src: /src/gpac/src/filter_core/filter_pid.c:4272,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:4129,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:4144,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4309,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4317,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4379,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4298,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4310,1
    - Dst: strncmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4381,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:4407,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4294,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4157,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4186,1
    - Dst: filter_pid_check_fragment
      Src: /src/gpac/src/filter_core/filter_pid.c:4233,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4311,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4314,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filter_core/filter_pid.c:4322,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:4362,1
    - Dst: gf_bs_get_content
      Src: /src/gpac/src/filter_core/filter_pid.c:4299,1
    - Dst: gf_filter_pid_set_property
      Src: /src/gpac/src/filter_core/filter_pid.c:4282,1
    - Dst: gf_filter_pid_set_property_dyn
      Src: /src/gpac/src/filter_core/filter_pid.c:4406,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4386,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4177,1
    - Dst: gf_filter_pid_set_args_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4182,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pid.c:4202,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4391,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:4157,1
    - Dst: gf_bs_new
      Src: /src/gpac/src/filter_core/filter_pid.c:4296,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4312,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4315,1
    - Dst: gf_file_exists
      Src: /src/gpac/src/filter_core/filter_pid.c:4157,1
    - Dst: gf_fgets
      Src: /src/gpac/src/filter_core/filter_pid.c:4166,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:4375,1
    - Dst: gf_props_parse_value
      Src: /src/gpac/src/filter_core/filter_pid.c:4402,1
    - Dst: gf_bs_del
      Src: /src/gpac/src/filter_core/filter_pid.c:4301,1
    - Dst: gf_bs_write_u16
      Src: /src/gpac/src/filter_core/filter_pid.c:4297,1
    - Dst: gf_props_reset_single
      Src: /src/gpac/src/filter_core/filter_pid.c:4324,1
    - Dst: strlen
      Src: /src/gpac/src/filter_core/filter_pid.c:4168,1
    - Dst: gf_feof
      Src: /src/gpac/src/filter_core/filter_pid.c:4162,1
    - Dst: gf_props_get_id
      Src: /src/gpac/src/filter_core/filter_pid.c:4205,1
    - Dst: strchr
      Src: /src/gpac/src/filter_core/filter_pid.c:4240,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 300
    argCount: 5
    argNames:
    - filter
    - pid
    - args
    - use_default_seps
    - argfile_level
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - char*
    - Bool
    - u32
    constantsTouched: []
    func_position:
      end: 4423
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4423
    functionName: gf_filter_pid_set_args_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strlen
    - gf_bs_get_content
    - memset
    - strncmp
    - gf_fgets
    - GF_LOG
    - gf_stream_type_by_name
    - gf_props_parse_type
    - gf_props_4cc_get_type
    - filter_pid_check_fragment
    - gf_filter_pid_set_property_str
    - gf_codecid_parse
    - gf_feof
    - strstr
    - gf_bs_del
    - GF_4CC
    - gf_filter_pid_set_property_dyn
    - gf_props_get_id
    - gf_strdup
    - strcmp
    - gf_fopen
    - gf_fs_path_escape_colon
    - filter_solve_prop_template
    - gf_props_reset_single
    - gf_bs_write_u16
    - gf_bs_new
    - gf_filter_pid_set_property
    - strpbrk
    - gf_bs_write_u32
    - strchr
    - gf_free
    - gf_props_parse_value
    - gf_opts_set_key
    - gf_filter_pid_set_args_internal
    - strncpy
    - gf_fclose
    - gf_file_exists
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_set_args_internal(GF_Filter *filter, GF_FilterPid
      *pid, char *args, Bool use_default_seps, u32 argfile_level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6539,1
    - Dst: gf_filter_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - prop_4cc
    - propentry
    argTypes:
    - GF_Filter*
    - u32
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6543
      start: 6534
    functionDepth: 0
    functionLinenumber: 6534
    functionLinenumberEnd: 6543
    functionName: gf_filter_get_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_release_property
    - gf_filter_get_info_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_get_info(GF_Filter *filter,
      u32 prop_4cc, GF_PropertyEntry **propentry) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:7270,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7271,1
    - Dst: gf_filter_pck_new_shared_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:7283,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7285,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:7281,1
    - Dst: gf_filter_pck_set_framing
      Src: /src/gpac/src/filter_core/filter_pid.c:7288,1
    - Dst: gf_filter_pck_send
      Src: /src/gpac/src/filter_core/filter_pid.c:7292,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:7295,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:7298,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:7304,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - pid
    - is_flush
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 7305
      start: 7264
    functionDepth: 0
    functionLinenumber: 7264
    functionLinenumberEnd: 7305
    functionName: gf_filter_pid_set_eos_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - GF_LOG
    - gf_mx_p
    - gf_filter_pck_set_framing
    - gf_filter_pck_new_shared_internal
    - PID_IS_INPUT
    - gf_mx_v
    - gf_filter_pck_send
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_set_eos_internal(GF_FilterPid *pid, Bool
      is_flush) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8756,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8762
      start: 8753
    functionDepth: 0
    functionLinenumber: 8753
    functionLinenumberEnd: 8762
    functionName: gf_filter_pid_get_args
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const char *gf_filter_pid_get_args(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9902,1
    - Dst: gf_filter_pid_set_eos_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:9909,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9912
      start: 9897
    functionDepth: 0
    functionLinenumber: 9897
    functionLinenumberEnd: 9912
    functionName: gf_filter_pid_send_flush
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_eos_internal
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_send_flush(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:33,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:37,1
    - Dst: gf_filter_packet_destroy
      Src: /src/gpac/src/filter_core/filter_pid.c:35,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pcki
    argTypes:
    - GF_FilterPacketInstance*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: pcki_del
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - safe_int_dec
    - gf_assert
    - gf_filter_packet_destroy
    - gf_free
    linkageType: ''
    returnType: void
    signature: 'static void pcki_del(GF_FilterPacketInstance *pcki) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:2978,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:2998,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2996,1
    - Dst: gf_filter_caps_to_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:2990,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:2979,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:2999,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3000,1
    - Dst: memset
      Src: /src/gpac/src/filter_core/filter_pid.c:3002,1
    - Dst: gf_filter_caps_to_caps_match
      Src: /src/gpac/src/filter_core/filter_pid.c:3022,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:3028,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 4
    argNames:
    - reg_desc
    - a_reg
    - nb_dst_caps
    - dst_filter
    argTypes:
    - GF_FilterRegDesc*
    - GF_FilterRegDesc*
    - u32
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 3043
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 3043
    functionName: gf_filter_reg_build_graph_single
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - memset
    - gf_realloc
    - GF_SAFEALLOC
    - gf_assert
    - gf_filter_caps_to_caps_match
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_reg_build_graph_single(GF_FilterRegDesc *reg_desc,
      GF_FilterRegDesc *a_reg, u32 nb_dst_caps, GF_Filter *dst_filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:5848,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - requires_full_blocks
    argTypes:
    - GF_FilterPid*
    - Bool
    constantsTouched: []
    func_position:
      end: 5854
      start: 5843
    functionDepth: 0
    functionLinenumber: 5843
    functionLinenumberEnd: 5854
    functionName: gf_filter_pid_set_framing_mode
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_framing_mode(GF_FilterPid *pid,
      Bool requires_full_blocks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - prop_4cc
    - value
    argTypes:
    - GF_FilterPid*
    - u32
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6092
      start: 6087
    functionDepth: 0
    functionLinenumber: 6087
    functionLinenumberEnd: 6092
    functionName: gf_filter_pid_set_property
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_property(GF_FilterPid *pid, u32
      prop_4cc, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6120
      start: 6115
    functionDepth: 0
    functionLinenumber: 6115
    functionLinenumberEnd: 6120
    functionName: gf_filter_pid_set_info_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_info_str(GF_FilterPid *pid, const
      char *name, const GF_PropertyValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6302,1
    - Dst: pid_check_prop
      Src: /src/gpac/src/filter_core/filter_pid.c:6309,1
    - Dst: gf_props_4cc_get_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6306,1
    - Dst: check_prop_type
      Src: /src/gpac/src/filter_core/filter_pid.c:6307,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pid
    - prop_4cc
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 6310
      start: 6300
    functionDepth: 0
    functionLinenumber: 6300
    functionLinenumberEnd: 6310
    functionName: gf_filter_pid_get_property_first
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - pid_check_prop
    - check_prop_type
    - filter_pid_get_prop_map
    - gf_props_get_property
    - gf_props_4cc_get_type
    linkageType: ''
    returnType: GF_PropertyValue*
    signature: 'const GF_PropertyValue *gf_filter_pid_get_property_first(GF_FilterPid
      *pid, u32 prop_4cc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6417,1
    - Dst: gf_filter_pid_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pid
    - prop_4cc
    - propentry
    argTypes:
    - GF_FilterPid*
    - u32
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6421
      start: 6412
    functionDepth: 0
    functionLinenumber: 6412
    functionLinenumberEnd: 6421
    functionName: gf_filter_pid_get_info
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_release_property
    - gf_filter_pid_get_info_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_get_info(GF_FilterPid
      *pid, u32 prop_4cc, GF_PropertyEntry **propentry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6921,1
    - Dst: gf_filter_pid_probe_next_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6927,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6932,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6922,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6937
      start: 6916
    functionDepth: 0
    functionLinenumber: 6916
    functionLinenumberEnd: 6937
    functionName: gf_filter_pid_first_packet_is_empty
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_probe_next_packet
    - PID_IS_OUTPUT
    - gf_assert
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_first_packet_is_empty(GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:42,1
    - Dst: pcki_del
      Src: /src/gpac/src/filter_core/filter_pid.c:45,1
    - Dst: gf_fq_count
      Src: /src/gpac/src/filter_core/filter_pid.c:43,1
    - Dst: gf_fq_pop
      Src: /src/gpac/src/filter_core/filter_pid.c:44,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:48,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:49,1
    - Dst: pcki_del
      Src: /src/gpac/src/filter_core/filter_pid.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pidinst
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: gf_filter_pid_inst_reset
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_count
    - pcki_del
    - gf_fq_pop
    - gf_assert
    - gf_fq_count
    - gf_list_pop_back
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_inst_reset(GF_FilterPidInst *pidinst) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:3057,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3077,1
    - Dst: gf_filter_has_in_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:3066,1
    - Dst: gf_filter_caps_bundle_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3061,1
    - Dst: gf_filter_has_out_caps
      Src: /src/gpac/src/filter_core/filter_pid.c:3074,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3079,1
    - Dst: gf_filter_reg_build_graph_single
      Src: /src/gpac/src/filter_core/filter_pid.c:3082,1
    - Dst: gf_filter_reg_build_graph_single
      Src: /src/gpac/src/filter_core/filter_pid.c:3086,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - links
    - freg
    - src_pid
    - dst_filter
    - orig_nb_bundles
    argTypes:
    - GF_List*
    - GF_FilterRegister*
    - GF_FilterPid*
    - GF_Filter*
    - u32
    constantsTouched: []
    func_position:
      end: 3089
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3089
    functionName: gf_filter_reg_build_graph
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_count
    - gf_filter_has_out_caps
    - gf_filter_has_in_caps
    - gf_filter_caps_bundle_count
    - gf_filter_reg_build_graph_single
    - GF_SAFEALLOC
    linkageType: ''
    returnType: GF_FilterRegDesc*
    signature: 'static GF_FilterRegDesc *gf_filter_reg_build_graph(GF_List *links,
      const GF_FilterRegister *freg, GF_FilterPid *src_pid, GF_Filter *dst_filter,
      u32 orig_nb_bundles) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:5862,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:5865,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:5867,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5868,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:5866,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5869,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:5870,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5871,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:5876,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:5877,1
    - Dst: gf_fq_add
      Src: /src/gpac/src/filter_core/filter_pid.c:5880,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:5889,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:5888,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:5882,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:5885,1
    - Dst: gf_filter_pid_copy_properties
      Src: /src/gpac/src/filter_core/filter_pid.c:5886,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 5891
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5891
    functionName: gf_filter_pid_new
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_list_get
    - gf_list_count
    - gf_strdup
    - gf_mx_p
    - sprintf
    - gf_filter_pid_copy_properties
    - gf_fq_add
    - GF_LOG
    - GF_SAFEALLOC
    - gf_mx_v
    - gf_list_new
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT GF_FilterPid *gf_filter_pid_new(GF_Filter *filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6099
      start: 6094
    functionDepth: 0
    functionLinenumber: 6094
    functionLinenumberEnd: 6099
    functionName: gf_filter_pid_set_property_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_property_str(GF_FilterPid *pid,
      const char *name, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_property_full
      Src: /src/gpac/src/filter_core/filter_pid.c:6126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - name
    - value
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyValue*
    constantsTouched: []
    func_position:
      end: 6127
      start: 6122
    functionDepth: 0
    functionLinenumber: 6122
    functionLinenumberEnd: 6127
    functionName: gf_filter_pid_set_info_dyn
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_property_full
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_set_info_dyn(GF_FilterPid *pid, char
      *name, const GF_PropertyValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_pid_get_prop_map
      Src: /src/gpac/src/filter_core/filter_pid.c:6315,1
    - Dst: pid_check_prop
      Src: /src/gpac/src/filter_core/filter_pid.c:6318,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - prop_name
    argTypes:
    - GF_FilterPid*
    - char*
    constantsTouched: []
    func_position:
      end: 6319
      start: 6312
    functionDepth: 0
    functionLinenumber: 6312
    functionLinenumberEnd: 6319
    functionName: gf_filter_pid_get_property_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - pid_check_prop
    - filter_pid_get_prop_map
    - gf_props_get_property
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_get_property_str(GF_FilterPid
      *pid, const char *prop_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_release_property
      Src: /src/gpac/src/filter_core/filter_pid.c:6428,1
    - Dst: gf_filter_pid_get_info_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:6431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - pid
    - prop_name
    - propentry
    argTypes:
    - GF_FilterPid*
    - char*
    - GF_PropertyEntry**
    constantsTouched: []
    func_position:
      end: 6432
      start: 6423
    functionDepth: 0
    functionLinenumber: 6423
    functionLinenumberEnd: 6432
    functionName: gf_filter_pid_get_info_str
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_release_property
    - gf_filter_pid_get_info_internal
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_get_info_str(GF_FilterPid
      *pid, const char *prop_name, GF_PropertyEntry **propentry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:6944,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:6955,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:6945,1
    - Dst: gf_filter_pid_probe_next_packet
      Src: /src/gpac/src/filter_core/filter_pid.c:6950,1
    - Dst: gf_filter_pck_is_blocking_ref
      Src: /src/gpac/src/filter_core/filter_pid.c:6956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 6957
      start: 6939
    functionDepth: 0
    functionLinenumber: 6939
    functionLinenumberEnd: 6957
    functionName: gf_filter_pid_first_packet_is_blocking_ref
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_filter_pck_is_blocking_ref
    - GF_LOG
    - gf_filter_pid_probe_next_packet
    - gf_assert
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT Bool gf_filter_pid_first_packet_is_blocking_ref(GF_FilterPid
      *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8492,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8495,1
    - Dst: filter_locate_enc_dec_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:8500,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - filter
    - locate_decoder
    argTypes:
    - GF_Filter*
    - Bool
    constantsTouched: []
    func_position:
      end: 8505
      start: 8487
    functionDepth: 0
    functionLinenumber: 8487
    functionLinenumberEnd: 8505
    functionName: filter_locate_enc_dec_sink
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_locate_enc_dec_sink
    - gf_list_get
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *filter_locate_enc_dec_sink(GF_Filter *filter, Bool
      locate_decoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8539,1
    - Dst: filter_locate_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:8543,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 8548
      start: 8531
    functionDepth: 0
    functionLinenumber: 8531
    functionLinenumberEnd: 8548
    functionName: filter_locate_sink
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - filter_locate_sink
    - gf_list_get
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *filter_locate_sink(GF_Filter *filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_destination_ex
      Src: /src/gpac/src/filter_core/filter_pid.c:9323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9324
      start: 9320
    functionDepth: 0
    functionLinenumber: 9320
    functionLinenumberEnd: 9324
    functionName: gf_filter_pid_get_destination
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_destination_ex
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_filter_pid_get_destination(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:1605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - udta
    argTypes:
    - GF_FilterPid*
    - void*
    constantsTouched: []
    func_position:
      end: 1610
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1610
    functionName: gf_filter_pid_set_udta
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_udta(GF_FilterPid *pid, void *udta) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:2452,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:2455,1
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:2458,1
    - Dst: cap_code_match
      Src: /src/gpac/src/filter_core/filter_pid.c:2488,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:2490,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2497,1
    - Dst: cache_bundle_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2499,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2517,1
    - Dst: cache_bundle_free
      Src: /src/gpac/src/filter_core/filter_pid.c:2519,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2545,1
    - Dst: gf_realloc
      Src: /src/gpac/src/filter_core/filter_pid.c:2552,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 100
    argCount: 6
    argNames:
    - freg
    - b_idx
    - bundle_cache
    - caps
    - nb_caps
    - for_output
    argTypes:
    - GF_FilterRegister*
    - u32
    - GF_BundleCache*
    - GF_FilterCapability*
    - u32
    - Bool
    constantsTouched: []
    func_position:
      end: 2558
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2558
    functionName: caps_load_bundle
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_realloc
    - strcmp
    - cap_code_match
    - GF_SAFEALLOC
    - cache_bundle_free
    - gf_assert
    linkageType: ''
    returnType: GF_BundleDesc*
    signature: 'static GF_BundleDesc *caps_load_bundle(const GF_FilterRegister *freg,
      u32 b_idx, GF_BundleCache *bundle_cache, const GF_FilterCapability *caps, u32
      nb_caps, Bool for_output) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:4515,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:4520,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:4522,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 54
    argCount: 2
    argNames:
    - pid
    - dst
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4591
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4591
    functionName: gf_filter_pid_needs_explicit_resolution
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_get_property_first
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_pid_needs_explicit_resolution(GF_FilterPid *pid,
      GF_Filter *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8788,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 8793
      start: 8785
    functionDepth: 0
    functionLinenumber: 8785
    functionLinenumberEnd: 8793
    functionName: gf_filter_pid_set_loose_connect
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_set_loose_connect(GF_FilterPid *pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:1615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1620
    functionName: gf_filter_pid_get_udta
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_filter_pid_get_udta(GF_FilterPid *pid) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:2567,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:2578,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:2589,1
    - Dst: caps_load_bundle
      Src: /src/gpac/src/filter_core/filter_pid.c:2584,1
    - Dst: caps_load_bundle
      Src: /src/gpac/src/filter_core/filter_pid.c:2574,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:2596,1
    - Dst: cap_code_match
      Src: /src/gpac/src/filter_core/filter_pid.c:2613,1
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:2616,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:2656,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:2678,1
    - Dst: gf_props_equal
      Src: /src/gpac/src/filter_core/filter_pid.c:2691,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 137
    argCount: 9
    argNames:
    - src
    - src_bundle_idx
    - dst_reg
    - dst_filter
    - dst_bundle_idx
    - loaded_filter_flags
    - src_stream_type
    - bundle_cache_src
    - bundle_cache_dst
    argTypes:
    - GF_FilterRegister*
    - u32
    - GF_FilterRegister*
    - GF_Filter*
    - u32
    - u32*
    - s32*
    - GF_BundleCache*
    - GF_BundleCache*
    constantsTouched: []
    func_position:
      end: 2761
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2761
    functionName: gf_filter_caps_to_caps_match
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - caps_load_bundle
    - GF_LOG
    - cap_code_match
    - strcmp
    - gf_props_equal
    - gf_assert
    linkageType: ''
    returnType: u32
    signature: 'u32 gf_filter_caps_to_caps_match(const GF_FilterRegister *src, u32
      src_bundle_idx, const GF_FilterRegister *dst_reg, GF_Filter *dst_filter, u32
      dst_bundle_idx, u32 *loaded_filter_flags, s32 *src_stream_type, GF_BundleCache
      *bundle_cache_src, GF_BundleCache *bundle_cache_dst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:4597,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4601,1
    - Dst: gf_list_rem
      Src: /src/gpac/src/filter_core/filter_pid.c:4602,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4601,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4598,1
    - Dst: gf_list_insert
      Src: /src/gpac/src/filter_core/filter_pid.c:4603,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4606,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4606,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4610,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - possible_linked_resolutions
    - filter_dst
    argTypes:
    - GF_List*
    - GF_Filter*
    constantsTouched: []
    func_position:
      end: 4611
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4611
    functionName: add_possible_link_destination
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_insert
    - gf_list_add
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_list_rem
    linkageType: ''
    returnType: void
    signature: 'static void add_possible_link_destination(GF_List *possible_linked_resolutions,
      GF_Filter *filter_dst) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8800,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8809,1
    - Dst: gf_list_last
      Src: /src/gpac/src/filter_core/filter_pid.c:8805,1
    - Dst: gf_props_get_property
      Src: /src/gpac/src/filter_core/filter_pid.c:8823,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8806,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8826,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8833,1
    - Dst: gf_filter_pid_caps_query
      Src: /src/gpac/src/filter_core/filter_pid.c:8835,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:8844,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8845,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8851,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 61
    argCount: 2
    argNames:
    - pid
    - prop_4cc
    argTypes:
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 8877
      start: 8795
    functionDepth: 0
    functionLinenumber: 8795
    functionLinenumberEnd: 8877
    functionName: gf_filter_pid_caps_query
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_list_last
    - gf_list_count
    - GF_LOG
    - gf_props_get_property
    - gf_filter_pid_caps_query
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT const GF_PropertyValue *gf_filter_pid_caps_query(GF_FilterPid
      *pid, u32 prop_4cc) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_enable_edges
      Src: /src/gpac/src/filter_core/filter_pid.c:2944,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 84
    argCount: 9
    argNames:
    - fsess
    - reg_desc
    - src_cap_idx
    - src_freg
    - rlevel
    - dst_stream_type
    - parent_desc
    - pid
    - pid_stream_type
    argTypes:
    - GF_FilterSession*
    - GF_FilterRegDesc*
    - u32
    - GF_FilterRegister*
    - u32
    - s32
    - GF_FilterRegDesc*
    - GF_FilterPid*
    - u32
    constantsTouched: []
    func_position:
      end: 2966
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2966
    functionName: gf_filter_pid_enable_edges
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_enable_edges
    linkageType: ''
    returnType: u32
    signature: 'static u32 gf_filter_pid_enable_edges(GF_FilterSession *fsess, GF_FilterRegDesc
      *reg_desc, u32 src_cap_idx, const GF_FilterRegister *src_freg, u32 rlevel, s32
      dst_stream_type, GF_FilterRegDesc *parent_desc, GF_FilterPid *pid, u32 pid_stream_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9333,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:9345,1
    - Dst: gf_filter_pid_get_dst_string
      Src: /src/gpac/src/filter_core/filter_pid.c:9341,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:9347,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9334,1
    - Dst: gf_filter_pid_get_dst_string
      Src: /src/gpac/src/filter_core/filter_pid.c:9351,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:9353,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:9357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9359
      start: 9326
    functionDepth: 0
    functionLinenumber: 9326
    functionLinenumberEnd: 9359
    functionName: gf_filter_pid_get_source
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_mx_p
    - GF_LOG
    - gf_mx_v
    - gf_filter_pid_get_dst_string
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT char *gf_filter_pid_get_source(GF_FilterPid *pid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:4429,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4430,1
    - Dst: gf_filter_pid_set_args_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4441,1
    - Dst: gf_filter_pid_set_args_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pid
    - args
    - direct_merge
    - use_default_seps
    argTypes:
    - GF_FilterPid*
    - char*
    - Bool
    - Bool
    constantsTouched: []
    func_position:
      end: 4444
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4444
    functionName: gf_filter_pid_push_properties
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    - gf_filter_pid_set_args_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_push_properties(GF_FilterPid *pid,
      char *args, Bool direct_merge, Bool use_default_seps) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:3687,1
    - Dst: gf_filter_pid_resolve_link_dijkstra
      Src: /src/gpac/src/filter_core/filter_pid.c:3692,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:3693,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3724,1
    - Dst: gf_opts_get_bool
      Src: /src/gpac/src/filter_core/filter_pid.c:3745,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3752,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3760,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3761,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3769,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3770,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3991,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3986,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4005,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:3820,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3886,1
    - Dst: gf_filter_reconnect_output
      Src: /src/gpac/src/filter_core/filter_pid.c:3921,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:3973,1
    - Dst: gf_filter_new
      Src: /src/gpac/src/filter_core/filter_pid.c:3928,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:3677,1
    - Dst: sprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:3683,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3736,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3751,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3759,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3768,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3777,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:3779,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3799,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:3805,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3894,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:3971,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3979,1
    - Dst: gf_log_tool_level_on
      Src: /src/gpac/src/filter_core/filter_pid.c:3828,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:4007,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3883,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3829,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3913,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:3688,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:3686,1
    - Dst: concat_reg
      Src: /src/gpac/src/filter_core/filter_pid.c:3689,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:3691,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3731,1
    - Dst: gf_filter_swap_source_register
      Src: /src/gpac/src/filter_core/filter_pid.c:3722,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:3749,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3761,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3770,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3787,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:3789,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3926,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3895,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:4023,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3821,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:4008,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:3975,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3695,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3726,1
    - Dst: gf_filter_is_sink
      Src: /src/gpac/src/filter_core/filter_pid.c:3738,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3711,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3754,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3850,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:3851,1
    - Dst: gf_filter_out_caps_solved_by_connection
      Src: /src/gpac/src/filter_core/filter_pid.c:3877,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:3881,1
    - Dst: gf_strdup
      Src: /src/gpac/src/filter_core/filter_pid.c:3931,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:3802,1
    - Dst: strstr
      Src: /src/gpac/src/filter_core/filter_pid.c:3833,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:3822,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:4011,1
    - Dst: gf_list_add
      Src: /src/gpac/src/filter_core/filter_pid.c:3800,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 270
    argCount: 7
    argNames:
    - pid
    - dst
    - filter_reassigned
    - reconfigurable_only_type
    - min_chain_len
    - skip_if_in_filter_list
    - skipped
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - Bool*
    - u32
    - u32*
    - GF_List*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4025
      start: 3663
    functionDepth: 0
    functionLinenumber: 3663
    functionLinenumberEnd: 4025
    functionName: gf_filter_pid_resolve_link_internal
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_add
    - gf_filter_reconnect_output
    - GF_LOG
    - gf_filter_pid_resolve_link_dijkstra
    - gf_filter_is_sink
    - strstr
    - gf_filter_new
    - gf_list_find
    - gf_list_del
    - concat_reg
    - gf_list_count
    - gf_strdup
    - gf_filter_swap_source_register
    - gf_list_new
    - gf_assert
    - gf_list_del_item
    - gf_list_get
    - gf_mx_p
    - sprintf
    - gf_mx_v
    - gf_filter_out_caps_solved_by_connection
    - gf_log_tool_level_on
    - gf_opts_get_bool
    linkageType: ''
    returnType: GF_Filter*
    signature: 'static GF_Filter *gf_filter_pid_resolve_link_internal(GF_FilterPid
      *pid, GF_Filter *dst, Bool *filter_reassigned, u32 reconfigurable_only_type,
      u32 *min_chain_len, GF_List *skip_if_in_filter_list, Bool *skipped) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:134,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:136,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:135,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:143,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:158,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:163,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:165,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:167,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:169,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:170,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:172,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:183,1
    - Dst: gf_filter_post_process_task
      Src: /src/gpac/src/filter_core/filter_pid.c:186,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 190
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 190
    functionName: gf_filter_pid_check_unblock
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_mx_p
    - GF_LOG
    - safe_int_dec
    - gf_filter_post_process_task
    - safe_int_inc
    - gf_assert
    - gf_mx_v
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_check_unblock(GF_FilterPid *pid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:64,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:71,1
    - Dst: gf_list_pop_back
      Src: /src/gpac/src/filter_core/filter_pid.c:91,1
    - Dst: gf_filter_pid_inst_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:57,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:59,1
    - Dst: gf_fq_del
      Src: /src/gpac/src/filter_core/filter_pid.c:67,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/filter_core/filter_pid.c:68,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:69,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:86,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:63,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:78,1
    - Dst: gf_list_del
      Src: /src/gpac/src/filter_core/filter_pid.c:95,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:56,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:60,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:74,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:81,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:93,1
    - Dst: gf_props_del
      Src: /src/gpac/src/filter_core/filter_pid.c:82,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:77,1
    - Dst: gf_free
      Src: /src/gpac/src/filter_core/filter_pid.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - pidinst
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 99
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 99
    functionName: gf_filter_pid_inst_del
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_list_find
    - gf_list_del
    - gf_list_pop_back
    - gf_list_count
    - gf_mx_p
    - gf_free
    - safe_int_dec
    - gf_props_del
    - gf_mx_del
    - gf_list_del_item
    - gf_filter_pid_inst_reset
    - gf_mx_v
    - gf_fq_del
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_inst_del(GF_FilterPidInst *pidinst) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_inst_reset
      Src: /src/gpac/src/filter_core/filter_pid.c:507,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:512,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:511,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:510,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:509,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:515,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/filter_core/filter_pid.c:517,1
    - Dst: gf_list_del_item
      Src: /src/gpac/src/filter_core/filter_pid.c:518,1
    - Dst: gf_list_count
      Src: /src/gpac/src/filter_core/filter_pid.c:519,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/filter_core/filter_pid.c:520,1
    - Dst: gf_assert
      Src: /src/gpac/src/filter_core/filter_pid.c:524,1
    - Dst: safe_int_dec
      Src: /src/gpac/src/filter_core/filter_pid.c:525,1
    - Dst: gf_filter_pid_inst_del
      Src: /src/gpac/src/filter_core/filter_pid.c:531,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:539,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:541,1
    - Dst: gf_filter_post_remove
      Src: /src/gpac/src/filter_core/filter_pid.c:549,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:528,1
    - Dst: gf_filter_pid_inst_swap_delete
      Src: /src/gpac/src/filter_core/filter_pid.c:544,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - filter
    - pid
    - pidinst
    - dst_swapinst
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    - GF_FilterPidInst*
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 550
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 550
    functionName: gf_filter_pid_inst_swap_delete
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_assert
    - gf_filter_post_remove
    - gf_list_get
    - gf_list_find
    - gf_list_count
    - gf_filter_pid_inst_swap_delete
    - gf_mx_p
    - GF_LOG
    - gf_filter_pid_inst_del
    - safe_int_dec
    - gf_mx_v
    - gf_list_del_item
    - gf_filter_pid_inst_reset
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_inst_swap_delete(GF_Filter *filter, GF_FilterPid
      *pid, GF_FilterPidInst *pidinst, GF_FilterPidInst *dst_swapinst) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gpac/src/filter_core/filter_pid.c:2833,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 2
    argNames:
    - freg
    - bundle_idx
    argTypes:
    - GF_FilterRegister*
    - u32
    constantsTouched: []
    func_position:
      end: 2846
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2846
    functionName: gf_filter_out_caps_solved_by_connection
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Bool
    signature: 'static Bool gf_filter_out_caps_solved_by_connection(const GF_FilterRegister
      *freg, u32 bundle_idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:8308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - evt
    argTypes:
    - GF_FilterPid*
    - GF_FilterEvent*
    constantsTouched: []
    func_position:
      end: 8309
      start: 8301
    functionDepth: 0
    functionLinenumber: 8301
    functionLinenumberEnd: 8309
    functionName: gf_filter_pid_send_event
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_send_event_internal
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_pid_send_event(GF_FilterPid *pid, GF_FilterEvent
      *evt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_INPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9443,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9453
      start: 9440
    functionDepth: 0
    functionLinenumber: 9440
    functionLinenumberEnd: 9453
    functionName: gf_filter_pid_allow_direct_dispatch
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - GF_LOG
    - PID_IS_INPUT
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT GF_Err gf_filter_pid_allow_direct_dispatch(GF_FilterPid
      *pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_SAFEALLOC
      Src: /src/gpac/src/filter_core/filter_pid.c:104,1
    - Dst: gf_fq_new
      Src: /src/gpac/src/filter_core/filter_pid.c:117,1
    - Dst: snprintf
      Src: /src/gpac/src/filter_core/filter_pid.c:113,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/filter_core/filter_pid.c:114,1
    - Dst: gf_list_find
      Src: /src/gpac/src/filter_core/filter_pid.c:111,1
    - Dst: gf_list_new
      Src: /src/gpac/src/filter_core/filter_pid.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: gf_filter_pid_inst_new
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - snprintf
    - gf_mx_new
    - gf_fq_new
    - gf_list_find
    - GF_SAFEALLOC
    - gf_list_new
    linkageType: ''
    returnType: GF_FilterPidInst*
    signature: 'static GF_FilterPidInst *gf_filter_pid_inst_new(GF_Filter *filter,
      GF_FilterPid *pid) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:200,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:210,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:214,1
    - Dst: gf_filter_pid_get_property_first
      Src: /src/gpac/src/filter_core/filter_pid.c:209,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:207,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:220,1
    - Dst: gf_fs_post_disconnect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:223,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:226,1
    - Dst: gf_filter_pid_post_connect_task
      Src: /src/gpac/src/filter_core/filter_pid.c:227,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 1
    argNames:
    - pidi
    argTypes:
    - GF_FilterPidInst*
    constantsTouched: []
    func_position:
      end: 231
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 231
    functionName: gf_filter_pid_inst_check_dependencies
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_fs_post_disconnect_task
    - GF_LOG
    - safe_int_inc
    - gf_filter_pid_get_property_first
    - gf_filter_pid_post_connect_task
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_inst_check_dependencies(GF_FilterPidInst
      *pidi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_inst_swap_delete
      Src: /src/gpac/src/filter_core/filter_pid.c:570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - GF_FSTask*
    constantsTouched: []
    func_position:
      end: 571
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 571
    functionName: gf_filter_pid_inst_swap_delete_task
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_inst_swap_delete
    linkageType: ''
    returnType: void
    signature: 'static void gf_filter_pid_inst_swap_delete_task(GF_FSTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_resolve_link_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - dst
    - filter_reassigned
    argTypes:
    - GF_FilterPid*
    - GF_Filter*
    - Bool*
    constantsTouched: []
    func_position:
      end: 4030
      start: 4027
    functionDepth: 0
    functionLinenumber: 4027
    functionLinenumberEnd: 4030
    functionName: gf_filter_pid_resolve_link
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_resolve_link_internal
    linkageType: ''
    returnType: GF_Filter*
    signature: 'GF_Filter *gf_filter_pid_resolve_link(GF_FilterPid *pid, GF_Filter
      *dst, Bool *filter_reassigned) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_filter_pid_set_args_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:4456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - filter
    - pid
    argTypes:
    - GF_Filter*
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 4458
      start: 4446
    functionDepth: 0
    functionLinenumber: 4446
    functionLinenumberEnd: 4458
    functionName: gf_filter_pid_set_args
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_filter_pid_set_args_internal
    linkageType: ''
    returnType: void
    signature: 'void gf_filter_pid_set_args(GF_Filter *filter, GF_FilterPid *pid) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:8327,1
    - Dst: init_evt
      Src: /src/gpac/src/filter_core/filter_pid.c:8359,1
    - Dst: gf_filter_pid_send_event_internal
      Src: /src/gpac/src/filter_core/filter_pid.c:8328,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:8335,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8335,1
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:8361,1
    - Dst: safe_int_inc
      Src: /src/gpac/src/filter_core/filter_pid.c:8364,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:8368,1
    - Dst: gf_filter_event_name
      Src: /src/gpac/src/filter_core/filter_pid.c:8368,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8371,1
    - Dst: gf_fs_post_task_class
      Src: /src/gpac/src/filter_core/filter_pid.c:8373,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 44
    argCount: 3
    argNames:
    - filter
    - evt
    - upstream
    argTypes:
    - GF_Filter*
    - GF_FilterEvent*
    - Bool
    constantsTouched: []
    func_position:
      end: 8375
      start: 8311
    functionDepth: 0
    functionLinenumber: 8311
    functionLinenumberEnd: 8375
    functionName: gf_filter_send_event
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - gf_list_get
    - gf_filter_pid_send_event_internal
    - safe_int_inc
    - GF_LOG
    - gf_fs_post_task_class
    - gf_filter_event_name
    - init_evt
    linkageType: ''
    returnType: GF_EXPORT
    signature: 'GF_EXPORT void gf_filter_send_event(GF_Filter *filter, GF_FilterEvent
      *evt, Bool upstream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PID_IS_OUTPUT
      Src: /src/gpac/src/filter_core/filter_pid.c:9459,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:9460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - _pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 9466
      start: 9455
    functionDepth: 0
    functionLinenumber: 9455
    functionLinenumberEnd: 9466
    functionName: gf_filter_pid_get_alias_udta
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - PID_IS_OUTPUT
    - GF_LOG
    linkageType: ''
    returnType: GF_EXPORT*
    signature: 'GF_EXPORT void *gf_filter_pid_get_alias_udta(GF_FilterPid *_pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_list_get
      Src: /src/gpac/src/filter_core/filter_pid.c:4619,1
    - Dst: GF_LOG
      Src: /src/gpac/src/filter_core/filter_pid.c:4621,1
    - Dst: gf_props_4cc_get_name
      Src: /src/gpac/src/filter_core/filter_pid.c:4621,1
    - Dst: gf_list_enum
      Src: /src/gpac/src/filter_core/filter_pid.c:4620,1
    - Dst: gf_props_dump
      Src: /src/gpac/src/filter_core/filter_pid.c:4621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GF_FilterPid*
    constantsTouched: []
    func_position:
      end: 4623
      start: 4614
    functionDepth: 0
    functionLinenumber: 4614
    functionLinenumberEnd: 4623
    functionName: dump_pid_props
    functionSourceFile: /src/gpac/src/filter_core/filter_pid.c
    functionUses: []
    functionsReached:
    - gf_list_get
    - gf_props_dump
    - gf_list_enum
    - GF_LOG
    - gf_props_4cc_get_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_pid_props(GF_FilterPid *pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __list_add
      Src: /src/gpac/src/quickjs/list.h:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - el
    - head
    argTypes:
    - struct list_head*
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: list_add_tail
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached:
    - __list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void list_add_tail(struct list_head *el, struct list_head
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __list_add
      Src: /src/gpac/src/quickjs/list.h:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - el
    - head
    argTypes:
    - struct list_head*
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: list_add
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached:
    - __list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void list_add(struct list_head *el, struct list_head
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: list_empty
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int list_empty(struct list_head *el) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: init_list_head
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void init_list_head(struct list_head *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: list_del
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void list_del(struct list_head *el) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - el
    - prev
    - next
    argTypes:
    - struct list_head*
    - struct list_head*
    - struct list_head*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: __list_add
    functionSourceFile: /src/gpac/src/quickjs/list.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void __list_add(struct list_head *el, struct list_head
      *prev, struct list_head *next) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gpac/src/quickjs/libunicode.c:395,1
    - Dst: cr_compress
      Src: /src/gpac/src/quickjs/libunicode.c:402,1
    - Dst: cr_add_point
      Src: /src/gpac/src/quickjs/libunicode.c:398,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 6
    argNames:
    - cr
    - a_pt
    - a_len
    - b_pt
    - b_len
    - op
    argTypes:
    - CharRange*
    - uint32_t*
    - int
    - uint32_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 404
    functionName: cr_op
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - cr_add_point
    - abort
    - cr_compress
    linkageType: ''
    returnType: int
    signature: 'int cr_op(CharRange *cr, const uint32_t *a_pt, int a_len, const uint32_t
      *b_pt, int b_len, int op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: unicode_get_short_code
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t unicode_get_short_code(uint32_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - cr
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: cr_compress
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cr_compress(CharRange *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:662,1
    - Dst: unicode_decomp_entry
      Src: /src/gpac/src/quickjs/libunicode.c:678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - res
    - c
    - is_compat1
    argTypes:
    - uint32_t*
    - uint32_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 682
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 682
    functionName: unicode_decomp_char
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_decomp_entry
    - countof
    linkageType: ''
    returnType: int
    signature: 'static int unicode_decomp_char(uint32_t *res, uint32_t c, BOOL is_compat1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - mem_opaque
    - realloc_func
    argTypes:
    - CharRange*
    - void*
    - DynBufReallocFunc*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: cr_init
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cr_init(CharRange *cr, void *mem_opaque, DynBufReallocFunc *realloc_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lre_is_in_table
      Src: /src/gpac/src/quickjs/libunicode.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: lre_is_id_start
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - lre_is_in_table
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_is_id_start(uint32_t c) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:539,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:551,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:586,1
    - Dst: unicode_get_short_code
      Src: /src/gpac/src/quickjs/libunicode.c:568,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:607,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:621,1
    - Dst: unicode_get_short_code
      Src: /src/gpac/src/quickjs/libunicode.c:623,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:626,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:627,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:629,1
    - Dst: unicode_get16
      Src: /src/gpac/src/quickjs/libunicode.c:640,1
    - Dst: unicode_get_short_code
      Src: /src/gpac/src/quickjs/libunicode.c:646,1
    - Dst: unicode_get_lower_simple
      Src: /src/gpac/src/quickjs/libunicode.c:644,1
    - Dst: unicode_get_short_code
      Src: /src/gpac/src/quickjs/libunicode.c:636,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 144
    argCount: 6
    argNames:
    - res
    - c
    - idx
    - code
    - len
    - type
    argTypes:
    - uint32_t*
    - uint32_t
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 651
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 651
    functionName: unicode_decomp_entry
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_get16
    - unicode_get_short_code
    - unicode_get_lower_simple
    linkageType: ''
    returnType: int
    signature: 'static int unicode_decomp_entry(uint32_t *res, uint32_t c, int idx,
      uint32_t code, uint32_t len, uint32_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unicode_compose_pair
      Src: /src/gpac/src/quickjs/libunicode.c:848,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - c0
    - c1
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 850
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 850
    functionName: compose_pair
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_compose_pair
    linkageType: ''
    returnType: int
    signature: 'static int compose_pair(uint32_t c0, uint32_t c1) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unicode_find_name
      Src: /src/gpac/src/quickjs/libunicode.c:966,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:976,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:977,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:983,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1006,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:1015,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1035,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1041,1
    - Dst: cr_invert
      Src: /src/gpac/src/quickjs/libunicode.c:1052,1
    - Dst: cr_op
      Src: /src/gpac/src/quickjs/libunicode.c:1054,1
    - Dst: cr_op
      Src: /src/gpac/src/quickjs/libunicode.c:1058,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1062,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1068,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1069,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1063,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 115
    argCount: 3
    argNames:
    - cr
    - script_name
    - is_ext
    argTypes:
    - CharRange*
    - char*
    - BOOL
    constantsTouched: []
    func_position:
      end: 1072
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 1072
    functionName: unicode_script
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - cr_op
    - unicode_find_name
    - cr_init
    - cr_invert
    - countof
    - cr_free
    - cr_add_interval
    linkageType: ''
    returnType: int
    signature: 'int unicode_script(CharRange *cr, const char *script_name, BOOL is_ext) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1181,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:1197,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1221,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1181,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1210,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1181,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1218,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1180,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1181,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1183,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: MR
      Src: /src/gpac/src/quickjs/libunicode.c:1185,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1224,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1230,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 115
    argCount: 2
    argNames:
    - cr
    - case_mask
    argTypes:
    - CharRange*
    - int
    constantsTouched: []
    func_position:
      end: 1237
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1237
    functionName: unicode_case1
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - countof
    - MR
    - cr_add_interval
    linkageType: ''
    returnType: int
    signature: 'static int unicode_case1(CharRange *cr, int case_mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: cr_free
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cr_free(CharRange *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lre_is_id_start
      Src: /src/gpac/src/quickjs/libunicode.c:443,1
    - Dst: lre_is_in_table
      Src: /src/gpac/src/quickjs/libunicode.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: lre_is_id_continue
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - lre_is_in_table
    - lre_is_id_start
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_is_id_continue(uint32_t c) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/libunicode.c:862,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libunicode.c:880,1
    - Dst: to_nfd_rec
      Src: /src/gpac/src/quickjs/libunicode.c:879,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/libunicode.c:863,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libunicode.c:873,1
    - Dst: sort_cc
      Src: /src/gpac/src/quickjs/libunicode.c:888,1
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:901,1
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:904,1
    - Dst: compose_pair
      Src: /src/gpac/src/quickjs/libunicode.c:913,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 6
    argNames:
    - pdst
    - src
    - src_len
    - n_type
    - opaque
    - realloc_func
    argTypes:
    - uint32_t**
    - uint32_t*
    - int
    - UnicodeNormalizationEnum
    - void*
    - DynBufReallocFunc*
    constantsTouched: []
    func_position:
      end: 923
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 923
    functionName: unicode_normalize
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - dbuf_init2
    - dbuf_error
    - compose_pair
    - sort_cc
    - dbuf_realloc
    - memcpy
    - unicode_get_cc
    - to_nfd_rec
    linkageType: ''
    returnType: int
    signature: 'int unicode_normalize(uint32_t **pdst, const uint32_t *src, int src_len,
      UnicodeNormalizationEnum n_type, void *opaque, DynBufReallocFunc *realloc_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libunicode.c:935,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libunicode.c:940,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/libunicode.c:943,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/libunicode.c:938,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - name_table
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 952
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 952
    functionName: unicode_find_name
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: 'static int unicode_find_name(const char *name_table, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:245,1
    - Dst: lre_is_in_table
      Src: /src/gpac/src/quickjs/libunicode.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 262
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 262
    functionName: lre_is_cased
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - lre_is_in_table
    - countof
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_is_cased(uint32_t c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_le24
      Src: /src/gpac/src/quickjs/libunicode.c:178,1
    - Dst: get_le24
      Src: /src/gpac/src/quickjs/libunicode.c:199,1
    - Dst: get_le24
      Src: /src/gpac/src/quickjs/libunicode.c:185,1
    - Dst: get_le24
      Src: /src/gpac/src/quickjs/libunicode.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 4
    argNames:
    - pcode
    - c
    - index_table
    - index_table_len
    argTypes:
    - uint32_t*
    - uint32_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: get_index_pos
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - get_le24
    linkageType: ''
    returnType: int
    signature: 'static int get_index_pos(uint32_t *pcode, uint32_t c, const uint8_t
      *index_table, int index_table_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: unicode_get_lower_simple
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t unicode_get_lower_simple(uint32_t c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:777,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libunicode.c:799,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libunicode.c:797,1
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:788,1
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:783,1
    - Dst: unicode_get_cc
      Src: /src/gpac/src/quickjs/libunicode.c:799,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libunicode.c:801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 806
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 806
    functionName: sort_cc
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_get_cc
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void sort_cc(int *buf, int len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_index_pos
      Src: /src/gpac/src/quickjs/libunicode.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - c
    - table
    - index_table
    - index_table_len
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: lre_is_in_table
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - get_index_pos
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL lre_is_in_table(uint32_t c, const uint8_t *table, const
      uint8_t *index_table, int index_table_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lre_is_in_table
      Src: /src/gpac/src/quickjs/libunicode.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: lre_is_case_ignorable
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - lre_is_in_table
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_is_case_ignorable(uint32_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: unicode_get16
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static uint16_t unicode_get16(const uint8_t *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libunicode.c:820,1
    - Dst: to_nfd_rec
      Src: /src/gpac/src/quickjs/libunicode.c:828,1
    - Dst: unicode_decomp_char
      Src: /src/gpac/src/quickjs/libunicode.c:826,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libunicode.c:821,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libunicode.c:824,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libunicode.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - dbuf
    - src
    - src_len
    - is_compat
    argTypes:
    - DynBuf*
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 834
    functionName: to_nfd_rec
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - to_nfd_rec
    - dbuf_put_u32
    - unicode_decomp_char
    linkageType: ''
    returnType: void
    signature: 'static void to_nfd_rec(DynBuf *dbuf, const int *src, int src_len,
      int is_compat) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:1082,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1107,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1109,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1109,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1107,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1112,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1114,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1121,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - cr
    - gc_mask
    argTypes:
    - CharRange*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1126
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1126
    functionName: unicode_general_category1
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - cr_add_interval
    - countof
    - M
    linkageType: ''
    returnType: int
    signature: 'static int unicode_general_category1(CharRange *cr, uint32_t gc_mask) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/libunicode.c:1262,1
    - Dst: unicode_general_category1
      Src: /src/gpac/src/quickjs/libunicode.c:1268,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1272,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1300,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/libunicode.c:1259,1
    - Dst: unicode_prop1
      Src: /src/gpac/src/quickjs/libunicode.c:1275,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1290,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1299,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/libunicode.c:1280,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:1281,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1291,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1306,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1317,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1323,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/libunicode.c:1266,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:1267,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1279,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:1295,1
    - Dst: cr_invert
      Src: /src/gpac/src/quickjs/libunicode.c:1307,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libunicode.c:1265,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/libunicode.c:1273,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libunicode.c:1274,1
    - Dst: cr_op
      Src: /src/gpac/src/quickjs/libunicode.c:1296,1
    - Dst: unicode_case1
      Src: /src/gpac/src/quickjs/libunicode.c:1282,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/libunicode.c:1313,1
    - Dst: cr_copy
      Src: /src/gpac/src/quickjs/libunicode.c:1318,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:1319,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - cr
    - '...'
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1325
    functionName: unicode_prop_ops
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - assert
    - cr_op
    - cr_copy
    - unicode_case1
    - abort
    - va_start
    - unicode_general_category1
    - va_arg
    - cr_init
    - unicode_prop1
    - cr_invert
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'static int unicode_prop_ops(CharRange *cr, ...) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1530,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1371,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1380,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1407,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1531,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1407,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1457,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1488,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1531,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1379,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1457,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1531,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1406,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1457,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1517,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1457,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1517,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1517,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1385,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1386,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1415,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1426,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1441,1
    - Dst: unicode_case1
      Src: /src/gpac/src/quickjs/libunicode.c:1472,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1481,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1503,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1517,1
    - Dst: unicode_find_name
      Src: /src/gpac/src/quickjs/libunicode.c:1363,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1392,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1393,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1435,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1504,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1434,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1515,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1399,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1400,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:1547,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: unicode_case1
      Src: /src/gpac/src/quickjs/libunicode.c:1478,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1539,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1516,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1407,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1442,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1435,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1455,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1531,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    - Dst: unicode_prop_ops
      Src: /src/gpac/src/quickjs/libunicode.c:1495,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1375,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: unicode_prop1
      Src: /src/gpac/src/quickjs/libunicode.c:1549,1
    - Dst: unicode_case1
      Src: /src/gpac/src/quickjs/libunicode.c:1475,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1416,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1427,1
    - Dst: M
      Src: /src/gpac/src/quickjs/libunicode.c:1456,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 164
    argCount: 2
    argNames:
    - cr
    - prop_name
    argTypes:
    - CharRange*
    - char*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1553
    functionName: unicode_prop
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_find_name
    - unicode_case1
    - unicode_prop_ops
    - unicode_prop1
    - M
    - countof
    - cr_add_interval
    linkageType: ''
    returnType: int
    signature: 'int unicode_prop(CharRange *cr, const char *prop_name) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:73,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 137
    argCount: 3
    argNames:
    - res
    - c
    - conv_type
    argTypes:
    - uint32_t*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 157
    functionName: lre_case_conv
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - countof
    linkageType: ''
    returnType: int
    signature: 'int lre_case_conv(uint32_t *res, uint32_t c, int conv_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: get_le24
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_le24(const uint8_t *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libunicode.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: cr_dump
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void cr_dump(CharRange *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/libunicode.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - CharRange*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: cr_realloc
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - max_int
    linkageType: ''
    returnType: int
    signature: 'int cr_realloc(CharRange *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cr_op
      Src: /src/gpac/src/quickjs/libunicode.c:413,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libunicode.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - b_pt
    - b_len
    argTypes:
    - CharRange*
    - uint32_t*
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: cr_union1
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - cr_op
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'int cr_union1(CharRange *cr, const uint32_t *b_pt, int b_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_index_pos
      Src: /src/gpac/src/quickjs/libunicode.c:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 770
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 770
    functionName: unicode_get_cc
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - get_index_pos
    linkageType: ''
    returnType: int
    signature: 'static int unicode_get_cc(uint32_t c) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1143,1
    - Dst: cr_add_interval
      Src: /src/gpac/src/quickjs/libunicode.c:1159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - cr
    - prop_idx
    argTypes:
    - CharRange*
    - int
    constantsTouched: []
    func_position:
      end: 1165
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1165
    functionName: unicode_prop1
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - cr_add_interval
    linkageType: ''
    returnType: int
    signature: 'static int unicode_prop1(CharRange *cr, int prop_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gpac/src/quickjs/libunicode.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: cr_default_realloc
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'static void *cr_default_realloc(void *opaque, void *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cr_realloc
      Src: /src/gpac/src/quickjs/libunicode.c:317,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libunicode.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - cr1
    argTypes:
    - CharRange*
    - CharRange*
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: cr_copy
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - memcpy
    - cr_realloc
    linkageType: ''
    returnType: int
    signature: 'int cr_copy(CharRange *cr, const CharRange *cr1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cr_realloc
      Src: /src/gpac/src/quickjs/libunicode.c:422,1
    - Dst: cr_compress
      Src: /src/gpac/src/quickjs/libunicode.c:428,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libunicode.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cr
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: cr_invert
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - memmove
    - cr_realloc
    - cr_compress
    linkageType: ''
    returnType: int
    signature: 'int cr_invert(CharRange *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libunicode.c:692,1
    - Dst: unicode_decomp_entry
      Src: /src/gpac/src/quickjs/libunicode.c:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 2
    argNames:
    - c0
    - c1
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 718
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 718
    functionName: unicode_compose_pair
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_decomp_entry
    - countof
    linkageType: ''
    returnType: int
    signature: 'static int unicode_compose_pair(uint32_t c0, uint32_t c1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unicode_find_name
      Src: /src/gpac/src/quickjs/libunicode.c:1345,1
    - Dst: unicode_general_category1
      Src: /src/gpac/src/quickjs/libunicode.c:1353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - cr
    - gc_name
    argTypes:
    - CharRange*
    - char*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1354
    functionName: unicode_general_category
    functionSourceFile: /src/gpac/src/quickjs/libunicode.c
    functionUses: []
    functionsReached:
    - unicode_find_name
    - unicode_general_category1
    linkageType: ''
    returnType: int
    signature: 'int unicode_general_category(CharRange *cr, const char *gc_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:2643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - v
    argTypes:
    - JSRuntime*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2648
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2648
    functionName: JS_DupAtomRT
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsConst
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom JS_DupAtomRT(JSRuntime *rt, JSAtom v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5353,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5359,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5359,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5373,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5367,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5375
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5375
    functionName: js_bytecode_function_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - mark_func
    - JS_MarkValue
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void js_bytecode_function_mark(JSRuntime *rt, JSValueConst
      val, JS_MarkFunc *mark_func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41092,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41098,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41095,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41097,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41093,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41102,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41103,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41104,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41108,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41111
      start: 41085
    functionDepth: 0
    functionLinenumber: 41085
    functionLinenumberEnd: 41111
    functionName: js_string_substr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_ToInt32Clamp
    - JS_IsUndefined
    - JS_ToStringCheckObject
    - js_sub_string
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_substr(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17532,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:17536,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17535,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17533,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17545
      start: 17525
    functionDepth: 0
    functionLinenumber: 17525
    functionLinenumberEnd: 17545
    functionName: (OP_iterator_close_return)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_FreeValue
    - JS_VALUE_GET_TAG
    - JS_ThrowInternalError
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_iterator_close_return) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37324,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37325,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37328,1
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:37327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37330
      start: 37320
    functionDepth: 0
    functionLinenumber: 37320
    functionLinenumberEnd: 37330
    functionName: js_object_get___proto__
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPrototype
    - JS_IsException
    - JS_ToObject
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_get___proto__(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:2655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2661
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2661
    functionName: JS_DupAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsConst
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_DupAtom(JSContext *ctx, JSAtom v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5379,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5383,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5388,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5386,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5389
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5389
    functionName: js_bound_function_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_bound_function_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16642
      start: 16637
    functionDepth: 0
    functionLinenumber: 16637
    functionLinenumberEnd: 16642
    functionName: (OP_perm3)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_perm3) : /* obj a b -> a obj b (213) */ '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41120,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41123,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41126,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41121,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41125,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41130,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41131,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41132,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41136,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:41136,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41139
      start: 41113
    functionDepth: 0
    functionLinenumber: 41113
    functionLinenumberEnd: 41139
    functionName: js_string_slice
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_ToInt32Clamp
    - JS_IsUndefined
    - max_int
    - JS_ToStringCheckObject
    - js_sub_string
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_slice(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37335,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37337,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37337,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:37336,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37335,1
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - this_val
    - proto
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37343
      start: 37332
    functionDepth: 0
    functionLinenumber: 37332
    functionLinenumberEnd: 37343
    functionName: js_object_set___proto__
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsUndefined
    - JS_SetPrototypeInternal
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_set___proto__(JSContext *ctx, JSValueConst
      this_val, JSValueConst proto) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:39009,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:39014,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39049,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39048,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:39038,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:39052,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39052,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39056,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:39004,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:38999,1
    - Dst: expand_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:39017,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:39021,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39028,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:39004,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:39031,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39034,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39059,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38996,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:38998,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:39007,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:39007,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:39011,1
    - Dst: JS_CopySubArray
      Src: /src/gpac/src/quickjs/quickjs.c:39043,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39055,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 74
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - unshift
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 39061
      start: 38989
    functionDepth: 0
    functionLinenumber: 38989
    functionLinenumberEnd: 39061
    functionName: js_array_push
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - get_shape_prop
    - JS_SetProperty
    - JS_ThrowTypeError
    - js_get_length64
    - JS_CopySubArray
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_SetPropertyInt64
    - JS_NewInt64
    - unlikely
    - JS_DupValue
    - expand_fast_array
    - memmove
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_push(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int unshift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44436,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44441
      start: 44432
    functionDepth: 0
    functionLinenumber: 44432
    functionLinenumberEnd: 44441
    functionName: js_reflect_setPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPrototypeInternal
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_setPrototypeOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 47970
      start: 47966
    functionDepth: 0
    functionLinenumber: 47966
    functionLinenumberEnd: 47970
    functionName: floor_div
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t floor_div(int64_t a, int64_t b) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39073,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39074,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:39078,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39092,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39095,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39099,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39103,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39109,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39114,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39116,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39127,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39128,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39130
      start: 39063
    functionDepth: 0
    functionLinenumber: 39063
    functionLinenumberEnd: 39130
    functionName: js_array_reverse
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DeletePropertyInt64
    - JS_FreeValue
    - JS_ToObject
    - JS_SetPropertyInt64
    - js_get_length64
    - js_get_fast_array
    - JS_TryGetPropertyInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_reverse(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44446,1
    - Dst: JS_GetOwnPropertyNames2
      Src: /src/gpac/src/quickjs/quickjs.c:44448,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:44447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44451
      start: 44443
    functionDepth: 0
    functionLinenumber: 44443
    functionLinenumberEnd: 44451
    functionName: js_reflect_ownKeys
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOwnPropertyNames2
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_ownKeys(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_fcvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11509,1
    - Dst: js_fcvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11525,1
    - Dst: js_fcvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11513,1
    - Dst: js_fcvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11514,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:11515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - buf
    - buf_size
    - d
    - n_digits
    argTypes:
    - char*
    - int
    - double
    - int
    constantsTouched: []
    func_position:
      end: 11526
      start: 11495
    functionDepth: 0
    functionLinenumber: 11495
    functionLinenumberEnd: 11526
    functionName: js_fcvt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcmp
    - js_fcvt1
    linkageType: ''
    returnType: void
    signature: 'static void js_fcvt(char *buf, int buf_size, double d, int n_digits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: simple_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:21524,1
    - Dst: simple_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:21526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - input
    - input_len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 21533
      start: 21520
    functionDepth: 0
    functionLinenumber: 21520
    functionLinenumberEnd: 21533
    functionName: JS_DetectModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - simple_next_token
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_DetectModule(const char *input, size_t input_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42241,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42245,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42246,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:42243,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:42250,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42251,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:42253,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42255,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42256,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:42257,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - ctor
    - pattern
    - bc
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 42260
      start: 42233
    functionDepth: 0
    functionLinenumber: 42233
    functionLinenumberEnd: 42260
    functionName: js_regexp_constructor_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - JS_ThrowTypeError
    - JS_IsException
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_DefinePropertyValue
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_constructor_internal(JSContext *ctx, JSValueConst
      ctor, JSValue pattern, JSValue bc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 25700
      start: 25697
    functionDepth: 0
    functionLinenumber: 25697
    functionLinenumberEnd: 25700
    functionName: js_parse_assign_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_assign_expr2
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_assign_expr(JSParseState *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_class_range
      Src: /src/gpac/src/quickjs/quickjs.c:47575,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47576,1
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:47601,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:47596,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:47628,1
    - Dst: JS_IsRegisteredClass
      Src: /src/gpac/src/quickjs/quickjs.c:47574,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47587,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47589,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:47590,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:47609,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47622,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47624,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47642,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47645,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:47586,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47592,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47608,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47611,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47605,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:47614,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:47621,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:47636,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:47649,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47593,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47595,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47615,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:47600,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47617,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:47629,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:47632,1
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:47637,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:47646,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 47652
      start: 47569
    functionDepth: 0
    functionLinenumber: 47569
    functionLinenumberEnd: 47652
    functionName: JS_AddIntrinsicPromise
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewCFunction3
    - init_class_range
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - JS_IsRegisteredClass
    - JS_NewObjectProto
    - JS_NewCFunction2
    - JS_DupValue
    - JS_NewGlobalCConstructor2
    - countof
    - JS_SetConstructor2
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicPromise(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:21511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - no_line_terminator
    argTypes:
    - JSParseState*
    - BOOL
    constantsTouched: []
    func_position:
      end: 21512
      start: 21508
    functionDepth: 0
    functionLinenumber: 21508
    functionLinenumberEnd: 21512
    functionName: peek_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - simple_next_token
    linkageType: ''
    returnType: int
    signature: 'static int peek_token(JSParseState *s, BOOL no_line_terminator) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42177,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:42208,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:42178,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:42212,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:42207,1
    - Dst: JS_ToCStringLen2
      Src: /src/gpac/src/quickjs/quickjs.c:42215,1
    - Dst: lre_compile
      Src: /src/gpac/src/quickjs/quickjs.c:42218,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:42220,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:42222,1
    - Dst: js_new_string8
      Src: /src/gpac/src/quickjs/quickjs.c:42226,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:42227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - pattern
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42229
      start: 42165
    functionDepth: 0
    functionLinenumber: 42165
    functionLinenumberEnd: 42229
    functionName: js_compile_regexp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    - lre_compile
    - JS_FreeCString
    - JS_ToCStringLen
    - js_new_string8
    - JS_ToCStringLen2
    - JS_IsUndefined
    - js_free
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_compile_regexp(JSContext *ctx, JSValueConst pattern,
      JSValueConst flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:6819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - b
    - idx
    - is_ref
    argTypes:
    - JSContext*
    - JSFunctionBytecode*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 6820
      start: 6807
    functionDepth: 0
    functionLinenumber: 6807
    functionLinenumberEnd: 6820
    functionName: JS_ThrowReferenceErrorUninitialized2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowReferenceErrorUninitialized
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowReferenceErrorUninitialized2(JSContext *ctx,
      JSFunctionBytecode *b, int idx, BOOL is_ref) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_is_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:40661,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40666,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40665,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40668,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40668,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40669,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:40672,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40673,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:40675,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40675,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40676,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - regexp
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 40683
      start: 40656
    functionDepth: 0
    functionLinenumber: 40656
    functionLinenumberEnd: 40683
    functionName: check_regexp_g_flag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - js_is_regexp
    - JS_IsNull
    - JS_ThrowTypeError
    - JS_IsException
    - string_indexof_char
    - JS_GetProperty
    - JS_IsUndefined
    - JS_ToStringFree
    linkageType: ''
    returnType: int
    signature: 'static int check_regexp_g_flag(JSContext *ctx, JSValueConst regexp) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:42744,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42757,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:42792,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:42815,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:42818,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:42819,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42748,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42747,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:42757,1
    - Dst: lre_get_capture_count
      Src: /src/gpac/src/quickjs/quickjs.c:42760,1
    - Dst: lre_exec
      Src: /src/gpac/src/quickjs/quickjs.c:42773,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42798,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42797,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:42811,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:42814,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42730,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42750,1
    - Dst: lre_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:42752,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:42806,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42813,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42817,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42756,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42778,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:42762,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:42783,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42779,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 90
    argCount: 3
    argNames:
    - ctx
    - this_val
    - arg
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42821
      start: 42728
    functionDepth: 0
    functionLinenumber: 42728
    functionLinenumberEnd: 42821
    functionName: JS_RegExpDelete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_regexp
    - JS_IsException
    - string_buffer_free
    - JS_ToString
    - js_free
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_SetProperty
    - JS_NewInt32
    - js_malloc
    - JS_ThrowInternalError
    - lre_get_flags
    - lre_exec
    - string_buffer_init
    - lre_get_capture_count
    - JS_FreeValue
    - string_getc
    - JS_GetProperty
    - JS_ToLengthFree
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_RegExpDelete(JSContext *ctx, JSValueConst this_val,
      JSValueConst arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigFloatValue
      Src: /src/gpac/src/quickjs/quickjs.c:49613,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49614,1
    - Dst: bigfloat_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:49626,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:49616,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49619,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:49631,1
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:49635,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49636,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49639,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49641
      start: 49606
    functionDepth: 0
    functionLinenumber: 49606
    functionLinenumberEnd: 49641
    functionName: js_bigfloat_toFixed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowRangeError
    - JS_IsException
    - js_get_radix
    - bigfloat_get_rnd_mode
    - js_thisBigFloatValue
    - js_ftoa
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_toFixed(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:6827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - class_id
    argTypes:
    - JSContext*
    - int
    constantsTouched: []
    func_position:
      end: 6828
      start: 6822
    functionDepth: 0
    functionLinenumber: 6822
    functionLinenumberEnd: 6828
    functionName: JS_ThrowTypeErrorInvalidClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorInvalidClass(JSContext *ctx, int class_id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40694,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40695,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40694,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40699,1
    - Dst: JS_InvokeFree
      Src: /src/gpac/src/quickjs/quickjs.c:40735,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40736,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40697,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40703,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40707,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:40718,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40730,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40732,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40711,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40712,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40729,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:40728,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40719,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40697,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40698,1
    - Dst: check_regexp_g_flag
      Src: /src/gpac/src/quickjs/quickjs.c:40702,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:40708,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40707,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - atom
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 40738
      start: 40685
    functionDepth: 0
    functionLinenumber: 40685
    functionLinenumberEnd: 40738
    functionName: js_string_match
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_CallConstructor
    - JS_ThrowTypeError
    - JS_IsException
    - JS_NewString
    - JS_GetProperty
    - JS_IsUndefined
    - JS_ToString
    - check_regexp_g_flag
    - JS_InvokeFree
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_match(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int atom) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42827,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:42831,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42832,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:42830,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42828,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:42834,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:42834,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42835,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:42836,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42840,1
    - Dst: js_regexp_exec
      Src: /src/gpac/src/quickjs/quickjs.c:42841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - r
    - s
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42842
      start: 42823
    functionDepth: 0
    functionLinenumber: 42823
    functionLinenumberEnd: 42842
    functionName: JS_RegExpExec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - js_regexp_exec
    - JS_GetProperty
    - JS_IsObject
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_RegExpExec(JSContext *ctx, JSValueConst r, JSValueConst
      s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:46846,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:46853,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46847,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:46852,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:46849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - resolve_element_env
    - addend
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 46856
      start: 46839
    functionDepth: 0
    functionLinenumber: 46839
    functionLinenumberEnd: 46856
    functionName: remainingElementsCount_add
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_SetPropertyUint32
    - JS_IsException
    - JS_NewInt32
    - JS_ToInt32Free
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int remainingElementsCount_add(JSContext *ctx,
      JSValueConst resolve_element_env, int addend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49648,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:49652,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:49653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 49661
      start: 49643
    functionDepth: 0
    functionLinenumber: 49643
    functionLinenumberEnd: 49661
    functionName: js_bigfloat_is_finite
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_is_finite
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_bigfloat_is_finite(JSContext *ctx, JSValueConst val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25707,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25722,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 25725
      start: 25703
    functionDepth: 0
    functionLinenumber: 25703
    functionLinenumberEnd: 25725
    functionName: js_parse_expr2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_assign_expr2
    - next_token
    - emit_op
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_expr2(JSParseState *s, int parse_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47659,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p
    - k
    - n
    argTypes:
    - JSString*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 47664
      start: 47656
    functionDepth: 0
    functionLinenumber: 47656
    functionLinenumberEnd: 47664
    functionName: string_get_hex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    - from_hex
    linkageType: ''
    returnType: int
    signature: 'static int string_get_hex(JSString *p, int k, int n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_hashed_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8063,1
    - Dst: js_dup_shape
      Src: /src/gpac/src/quickjs/quickjs.c:8075,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:8069,1
    - Dst: js_clone_shape
      Src: /src/gpac/src/quickjs/quickjs.c:8080,1
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:8076,1
    - Dst: js_shape_hash_link
      Src: /src/gpac/src/quickjs/quickjs.c:8085,1
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:8086,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:8090,1
    - Dst: add_shape_property
      Src: /src/gpac/src/quickjs/quickjs.c:8091,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - p
    - prop
    - prop_flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 8094
      start: 8055
    functionDepth: 0
    functionLinenumber: 8055
    functionLinenumberEnd: 8094
    functionName: add_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - js_shape_hash_link
    - js_free_shape
    - add_shape_property
    - js_dup_shape
    - js_clone_shape
    - find_hashed_shape_prop
    - js_realloc
    linkageType: ''
    returnType: JSProperty*
    signature: 'static JSProperty *add_property(JSContext *ctx, JSObject *p, JSAtom
      prop, int prop_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:11203,1
    - Dst: floor
      Src: /src/gpac/src/quickjs/quickjs.c:11207,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:11207,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:11205,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:11205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11208
      start: 11200
    functionDepth: 0
    functionLinenumber: 11200
    functionLinenumberEnd: 11208
    functionName: JS_NumberIsInteger
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - isfinite
    - floor
    - JS_IsNumber
    - unlikely
    - JS_ToFloat64
    linkageType: ''
    returnType: int
    signature: 'static int JS_NumberIsInteger(JSContext *ctx, JSValueConst val) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:15987,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15993,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16000,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:16008,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:16009,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:16003,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16011,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16021,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:16035,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:16041,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:16044,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15982,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16015,1
    - Dst: js_method_set_home_object
      Src: /src/gpac/src/quickjs/quickjs.c:16017,1
    - Dst: JS_SetConstructorBit
      Src: /src/gpac/src/quickjs/quickjs.c:16018,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:16020,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16048,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16055,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15984,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15993,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:15994,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16001,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16004,1
    - Dst: js_closure2
      Src: /src/gpac/src/quickjs/quickjs.c:16013,1
    - Dst: JS_DefineObjectName
      Src: /src/gpac/src/quickjs/quickjs.c:16029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16047,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16058,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15990,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:15986,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15991,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:16007,1
    - Dst: JS_DefineObjectNameComputed
      Src: /src/gpac/src/quickjs/quickjs.c:16025,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16036,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16042,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:16045,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16054,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16056,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16057,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 7
    argNames:
    - ctx
    - sp
    - class_name
    - class_flags
    - cur_var_refs
    - sf
    - is_computed_name
    argTypes:
    - JSContext*
    - JSValue*
    - JSAtom
    - int
    - JSVarRef**
    - JSStackFrame*
    - BOOL
    constantsTouched: []
    func_position:
      end: 16062
      start: 15969
    functionDepth: 0
    functionLinenumber: 15969
    functionLinenumberEnd: 16062
    functionName: js_op_define_class
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - JS_NewObjectProto
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_IsConstructor
    - JS_ThrowTypeError
    - JS_DefineObjectNameComputed
    - JS_NewInt32
    - JS_DupValue
    - JS_IsObject
    - JS_SetConstructorBit
    - assert
    - JS_DefineObjectName
    - JS_VALUE_GET_PTR
    - JS_FreeValue
    - set_cycle_flag
    - js_method_set_home_object
    - JS_GetProperty
    - JS_NewObjectProtoClass
    - js_closure2
    linkageType: ''
    returnType: int
    signature: 'static int js_op_define_class(JSContext *ctx, JSValue *sp, JSAtom
      class_name, int class_flags, JSVarRef **cur_var_refs, JSStackFrame *sf, BOOL
      is_computed_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11214,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:11219,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11231,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11225,1
    - Dst: bf_is_zero
      Src: /src/gpac/src/quickjs/quickjs.c:11233,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11237,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11251
      start: 11210
    functionDepth: 0
    functionLinenumber: 11210
    functionLinenumberEnd: 11251
    functionName: JS_NumberIsNegativeOrMinusZero
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_PTR
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - bf_is_zero
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL JS_NumberIsNegativeOrMinusZero(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:16070,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:16080,1
    - Dst: JS_DupValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:16076,1
    - Dst: JS_DupValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:16074,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:16071,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - rt
    - sf
    argTypes:
    - JSRuntime*
    - JSStackFrame*
    constantsTouched: []
    func_position:
      end: 16082
      start: 16064
    functionDepth: 0
    functionLinenumber: 16064
    functionLinenumberEnd: 16082
    functionName: close_var_refs
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_for_each_safe
    - list_entry
    - JS_DupValueRT
    - add_gc_object
    linkageType: ''
    returnType: void
    signature: 'static void close_var_refs(JSRuntime *rt, JSStackFrame *sf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4306,1
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - proto
    argTypes:
    - JSObject*
    constantsTouched: []
    func_position:
      end: 4310
      start: 4303
    functionDepth: 0
    functionLinenumber: 4303
    functionLinenumberEnd: 4310
    functionName: shape_initial_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - shape_hash
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t shape_initial_hash(JSObject *proto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:4550,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:4552,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:4554,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4563,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:4563,1
    - Dst: get_shape_from_alloc
      Src: /src/gpac/src/quickjs/quickjs.c:4566,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:4567,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4568,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:4569,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:4571,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4583,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4584,1
    - Dst: get_alloc_from_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4598,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4571,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:4601,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4572,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:4591,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:4598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 4605
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4605
    functionName: compact_properties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_size
    - assert
    - list_del
    - memset
    - get_alloc_from_shape
    - js_malloc
    - max_int
    - memcpy
    - js_free
    - list_add_tail
    - get_shape_from_alloc
    - js_realloc
    - prop_hash_end
    linkageType: ''
    returnType: int
    signature: 'static int compact_properties(JSContext *ctx, JSObject *p) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:5501,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:5543,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5558,1
    - Dst: JS_DumpObject
      Src: /src/gpac/src/quickjs/quickjs.c:5507,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:5510,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5551,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:5556,1
    - Dst: list_add
      Src: /src/gpac/src/quickjs/quickjs.c:5535,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/quickjs.c:5557,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:5509,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5507,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:5518,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:5550,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:5549,1
    - Dst: JS_FreeAtomStruct
      Src: /src/gpac/src/quickjs/quickjs.c:5565,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:5570,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:5505,1
    - Dst: JS_FreeAtomStruct
      Src: /src/gpac/src/quickjs/quickjs.c:5520,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5523,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5525,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:5532,1
    - Dst: free_zero_refcount
      Src: /src/gpac/src/quickjs/quickjs.c:5537,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5534,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:5564,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:5569,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - rt
    - v
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5572
      start: 5499
    functionDepth: 0
    functionLinenumber: 5499
    functionLinenumberEnd: 5572
    functionName: __JS_FreeValueRT
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_STRING
    - list_del
    - JS_DumpValueShort
    - bfdec_delete
    - bf_delete
    - abort
    - JS_VALUE_GET_TAG
    - js_free_rt
    - JS_VALUE_GET_PTR
    - free_zero_refcount
    - list_add
    - JS_FreeAtomStruct
    - JS_DumpObject
    - printf
    linkageType: ''
    returnType: void
    signature: 'void __JS_FreeValueRT(JSRuntime *rt, JSValue v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefineObjectNameComputed
      Src: /src/gpac/src/quickjs/quickjs.c:17722,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17725
      start: 17719
    functionDepth: 0
    functionLinenumber: 17719
    functionLinenumberEnd: 17725
    functionName: (OP_set_name_computed)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DefineObjectNameComputed
    - unlikely
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_name_computed) : '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18277,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18277,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18279,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18284,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18280,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18297,1
    - Dst: js_binary_logic_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18307
      start: 18273
    functionDepth: 0
    functionLinenumber: 18273
    functionLinenumberEnd: 18307
    functionName: (OP_shl)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_binary_logic_slow
    - JS_NewInt32
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_shl) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 28173
      start: 28170
    functionDepth: 0
    functionLinenumber: 28170
    functionLinenumberEnd: 28173
    functionName: JS_GetModuleName
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_GetModuleName(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36541,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36544
      start: 36536
    functionDepth: 0
    functionLinenumber: 36536
    functionLinenumberEnd: 36544
    functionName: js_object_setPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_SetPrototypeInternal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_setPrototypeOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_proxy_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:45379,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45383,1
    - Dst: js_proxy_revoke_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:45382,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:45385,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45380,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45386,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:45389,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:45390,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45393,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45396
      start: 45374
    functionDepth: 0
    functionLinenumber: 45374
    functionLinenumberEnd: 45396
    functionName: js_proxy_revocable
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - JS_IsException
    - js_proxy_constructor
    - JS_DefinePropertyValue
    - js_proxy_revoke_constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_revocable(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:4319,1
    - Dst: get_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4326,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:4331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - rt
    - new_shape_hash_bits
    argTypes:
    - JSRuntime*
    - int
    constantsTouched: []
    func_position:
      end: 4336
      start: 4312
    functionDepth: 0
    functionLinenumber: 4312
    functionLinenumberEnd: 4336
    functionName: resize_shape_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_hash
    - js_free_rt
    - js_mallocz_rt
    linkageType: ''
    returnType: int
    signature: 'static int resize_shape_hash(JSRuntime *rt, int new_shape_hash_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_shape_hash_unlink
      Src: /src/gpac/src/quickjs/quickjs.c:4618,1
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4619,1
    - Dst: resize_properties
      Src: /src/gpac/src/quickjs/quickjs.c:4623,1
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4619,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4622,1
    - Dst: js_shape_hash_link
      Src: /src/gpac/src/quickjs/quickjs.c:4627,1
    - Dst: js_shape_hash_link
      Src: /src/gpac/src/quickjs/quickjs.c:4634,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:4638,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:4640,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:4642,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4647,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4646,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - psh
    - p
    - atom
    - prop_flags
    argTypes:
    - JSContext*
    - JSShape**
    - JSObject*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 4649
      start: 4607
    functionDepth: 0
    functionLinenumber: 4607
    functionLinenumberEnd: 4649
    functionName: add_shape_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_prop
    - js_shape_hash_link
    - JS_DupAtom
    - __JS_AtomIsTaggedInt
    - shape_hash
    - unlikely
    - resize_properties
    - js_shape_hash_unlink
    - prop_hash_end
    linkageType: ''
    returnType: int
    signature: 'static int add_shape_property(JSContext *ctx, JSShape **psh, JSObject
      *p, JSAtom atom, int prop_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5577
      start: 5574
    functionDepth: 0
    functionLinenumber: 5574
    functionLinenumberEnd: 5577
    functionName: __JS_FreeValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_FreeValueRT
    linkageType: ''
    returnType: void
    signature: 'void __JS_FreeValue(JSContext *ctx, JSValue v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:28180,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:28186,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28182,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:28181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 28187
      start: 28175
    functionDepth: 0
    functionLinenumber: 28175
    functionLinenumberEnd: 28187
    functionName: JS_GetImportMeta
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_DupValue
    - JS_NewObjectProto
    - JS_IsUndefined
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetImportMeta(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36601,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:36605,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36602,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36609,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36606,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36610,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36611,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36626,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36627,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36634
      start: 36590
    functionDepth: 0
    functionLinenumber: 36590
    functionLinenumberEnd: 36634
    functionName: js_object___defineGetter__
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_IsException
    - unlikely
    - JS_DefineProperty
    - JS_ValueToAtom
    - check_function
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___defineGetter__(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:3904,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:3914,1
    - Dst: js_new_string8
      Src: /src/gpac/src/quickjs/quickjs.c:3907,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:3909,1
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:3911,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:3917,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:3924,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:3939,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:3943,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:3946,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - JSContext*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3948
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3948
    functionName: JS_NewStringLen
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    - string_buffer_putc16
    - JS_ThrowInternalError
    - js_new_string8
    - string_buffer_free
    - string_buffer_write8
    - string_buffer_putc8
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewStringLen(JSContext *ctx, const char *buf, size_t buf_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52653,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52653,1
    - Dst: signbit
      Src: /src/gpac/src/quickjs/quickjs.c:52658,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52654,1
    - Dst: signbit
      Src: /src/gpac/src/quickjs/quickjs.c:52658,1
    - Dst: signbit
      Src: /src/gpac/src/quickjs/quickjs.c:52659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 52660
      start: 52651
    functionDepth: 0
    functionLinenumber: 52651
    functionLinenumberEnd: 52660
    functionName: js_cmp_doubles
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - signbit
    - isnan
    linkageType: ''
    returnType: int
    signature: 'static int js_cmp_doubles(double x, double y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:3864,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3886,1
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:3872,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:3881,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:3866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringBuffer*
    constantsTouched: []
    func_position:
      end: 3887
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3887
    functionName: string_buffer_end
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomToString
    - JS_MKPTR
    - js_free
    - list_add_tail
    - js_realloc_rt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue string_buffer_end(StringBuffer *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36558,1
    - Dst: JS_DefinePropertyDesc
      Src: /src/gpac/src/quickjs/quickjs.c:36566,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36559,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36561,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36560,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36567,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36571,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36575
      start: 36547
    functionDepth: 0
    functionLinenumber: 36547
    functionLinenumberEnd: 36575
    functionName: js_object_defineProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - JS_DefinePropertyDesc
    - unlikely
    - JS_DupValue
    - JS_ValueToAtom
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_defineProperty(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ObjectDefineProperties
      Src: /src/gpac/src/quickjs/quickjs.c:36583,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36587
      start: 36577
    functionDepth: 0
    functionLinenumber: 36577
    functionLinenumberEnd: 36587
    functionName: js_object_defineProperties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ObjectDefineProperties
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_defineProperties(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52615,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52619,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:52627,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52623,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52624,1
    - Dst: js_typed_array_get_byteOffset
      Src: /src/gpac/src/quickjs/quickjs.c:52628,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52629,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52631,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:52632,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52633,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52642,1
    - Dst: js_typed_array___speciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:52641,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52635,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52639,1
    - Dst: js_typed_array_get_buffer
      Src: /src/gpac/src/quickjs/quickjs.c:52634,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52640,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52647
      start: 52607
    functionDepth: 0
    functionLinenumber: 52607
    functionLinenumberEnd: 52647
    functionName: js_typed_array_subarray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_typed_array
    - js_typed_array_get_byteOffset
    - JS_IsException
    - JS_NewInt32
    - JS_IsUndefined
    - JS_ToInt32Clamp
    - max_int
    - js_typed_array___speciesCreate
    - js_typed_array_get_buffer
    - typed_array_size_log2
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_subarray(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_get_prototype_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:42143,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42148,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42147,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:42146,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42144,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:42149,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42151
      start: 42139
    functionDepth: 0
    functionLinenumber: 42139
    functionLinenumberEnd: 42151
    functionName: js___date_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_prototype_from_ctor
    - JS_FreeValue
    - JS_SetObjectData
    - JS_IsException
    - JS_NewObjectProtoClass
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js___date_create(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17635,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:17638,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17640,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17644
      start: 17632
    functionDepth: 0
    functionLinenumber: 17632
    functionLinenumberEnd: 17644
    functionName: (OP_put_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_FreeValue
    - unlikely
    - JS_SetPropertyInternal
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_field) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45916,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45927,1
    - Dst: map_normalize_key
      Src: /src/gpac/src/quickjs/quickjs.c:45922,1
    - Dst: map_find_record
      Src: /src/gpac/src/quickjs/quickjs.c:45923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45928
      start: 45913
    functionDepth: 0
    functionLinenumber: 45913
    functionLinenumberEnd: 45928
    functionName: js_map_get
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - map_normalize_key
    - JS_GetOpaque2
    - JS_DupValue
    - map_find_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_get(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45933,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:45941,1
    - Dst: map_normalize_key
      Src: /src/gpac/src/quickjs/quickjs.c:45939,1
    - Dst: map_find_record
      Src: /src/gpac/src/quickjs/quickjs.c:45940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45942
      start: 45930
    functionDepth: 0
    functionLinenumber: 45930
    functionLinenumberEnd: 45942
    functionName: js_map_has
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - map_normalize_key
    - JS_GetOpaque2
    - JS_NewBool
    - map_find_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_has(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv, int magic) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:1953,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:1958,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:1974,1
    - Dst: JS_DumpObjectHeader
      Src: /src/gpac/src/quickjs/quickjs.c:1986,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:2010,1
    - Dst: atom_is_free
      Src: /src/gpac/src/quickjs/quickjs.c:2026,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2031,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2050,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2054,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2056,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2067,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2087,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:2112,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2122,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2059,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2095,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2073,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2110,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2108,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:1975,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:1985,1
    - Dst: JS_DumpGCObject
      Src: /src/gpac/src/quickjs/quickjs.c:1989,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:1995,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:1994,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:1982,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:1981,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs.c:2004,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2013,1
    - Dst: bf_context_end
      Src: /src/gpac/src/quickjs/quickjs.c:2016,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2033,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2116,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2123,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:2099,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2113,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1959,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1961,1
    - Dst: JS_RunGC
      Src: /src/gpac/src/quickjs/quickjs.c:1963,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2039,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2045,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2048,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2055,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2089,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs.c:2091,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2093,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2106,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2084,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2102,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2088,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:1956,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:1955,1
    - Dst: gc_decref
      Src: /src/gpac/src/quickjs/quickjs.c:1978,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2001,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2004,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2041,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2049,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2058,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2060,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:2082,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:2100,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2104,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2065,1
    - Dst: atom_is_free
      Src: /src/gpac/src/quickjs/quickjs.c:2080,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 135
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2134
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 2134
    functionName: JS_FreeRuntime
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeAtomRT
    - assert
    - list_del
    - atom_is_free
    - list_entry
    - JS_DumpObjectHeader
    - js_free_rt
    - gc_decref
    - JS_DumpGCObject
    - list_empty
    - list_for_each_safe
    - JS_FreeValueRT
    - printf
    - bf_context_end
    - JS_DumpString
    - init_list_head
    - list_for_each
    - JS_RunGC
    linkageType: ''
    returnType: void
    signature: 'void JS_FreeRuntime(JSRuntime *rt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12068,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:12069,1
    - Dst: js_proxy_isArray
      Src: /src/gpac/src/quickjs/quickjs.c:12071,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:12070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12077
      start: 12065
    functionDepth: 0
    functionLinenumber: 12065
    functionLinenumberEnd: 12077
    functionName: JS_IsArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - js_proxy_isArray
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'int JS_IsArray(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:12399,1
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/quickjs.c:12403,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 12405
      start: 12396
    functionDepth: 0
    functionLinenumber: 12396
    functionLinenumberEnd: 12405
    functionName: JS_NewBigDecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - JS_MKPTR
    - js_malloc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewBigDecimal(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2141,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:2154,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2150,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:2145,1
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2147,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:2158,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:2165,1
    - Dst: JS_AddIntrinsicBasicObjects
      Src: /src/gpac/src/quickjs/quickjs.c:2167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2169
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2169
    functionName: JS_NewContextRaw
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AddIntrinsicBasicObjects
    - js_mallocz_rt
    - js_free_rt
    - add_gc_object
    - bf_set_exp_bits
    - list_add_tail
    - init_list_head
    - js_malloc_rt
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *JS_NewContextRaw(JSRuntime *rt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:8106,1
    - Dst: resize_properties
      Src: /src/gpac/src/quickjs/quickjs.c:8113,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:8121,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8121,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:8124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 8130
      start: 8098
    functionDepth: 0
    functionLinenumber: 8098
    functionLinenumberEnd: 8130
    functionName: convert_fast_array_to_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - resize_properties
    - js_free
    - add_property
    - js_shape_prepare_update
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: int
    signature: 'int convert_fast_array_to_array(JSContext *ctx, JSObject *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:12081,1
    - Dst: fabs
      Src: /src/gpac/src/quickjs/quickjs.c:12081,1
    - Dst: pow
      Src: /src/gpac/src/quickjs/quickjs.c:12085,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:12081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 12087
      start: 12079
    functionDepth: 0
    functionLinenumber: 12079
    functionLinenumberEnd: 12087
    functionName: js_pow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - pow
    - isfinite
    - fabs
    linkageType: ''
    returnType: double
    signature: 'static double js_pow(double a, double b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:12410,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12415,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 12416
      start: 12407
    functionDepth: 0
    functionLinenumber: 12407
    functionLinenumberEnd: 12416
    functionName: JS_NewBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MKPTR
    - bf_init
    - js_malloc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewBigInt(JSContext *ctx) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14698,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:14707,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:14707,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14715,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14732,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14722,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14726,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14758,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:14762,1
    - Dst: bfdec_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14801,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14671,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14671,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14712,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:14756,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14774,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14777,1
    - Dst: bf_cmp_full
      Src: /src/gpac/src/quickjs/quickjs.c:14782,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14785,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14810,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:14685,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14710,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:14736,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:14736,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:14757,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14797,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14798,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14809,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14664,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14665,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:14686,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:14687,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14697,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14724,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:14735,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:14735,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:14760,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:14773,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 148
    argCount: 4
    argNames:
    - ctx
    - op1
    - op2
    - eq_mode
    argTypes:
    - JSContext*
    - JSValue
    - JSValue
    - JSStrictEqModeEnum
    constantsTouched: []
    func_position:
      end: 14813
      start: 14657
    functionDepth: 0
    functionLinenumber: 14657
    functionLinenumberEnd: 14813
    functionName: js_strict_eq2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_STRING
    - js_string_compare
    - JS_VALUE_GET_OBJ
    - bf_cmp_eq
    - bfdec_cmp_eq
    - JS_FreeValue
    - bf_delete
    - JS_VALUE_GET_PTR
    - isnan
    - unlikely
    - JS_ToBigFloat
    - bf_cmp_full
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_strict_eq2(JSContext *ctx, JSValue op1, JSValue op2,
      JSStrictEqModeEnum eq_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:1552,1
    - Dst: JS_ThrowUnsupportedOperation
      Src: /src/gpac/src/quickjs/quickjs.c:1553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - pres
    - op
    - op1
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    - JSValue
    constantsTouched: []
    func_position:
      end: 1555
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1555
    functionName: invalid_unary_arith
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowUnsupportedOperation
    linkageType: ''
    returnType: int
    signature: 'static int invalid_unary_arith(JSContext *ctx, JSValue *pres, OPCodeEnum
      op, JSValue op1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:6591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6592
      start: 6589
    functionDepth: 0
    functionLinenumber: 6589
    functionLinenumberEnd: 6592
    functionName: JS_NewError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewError(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17876,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17879,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17881
      start: 17872
    functionDepth: 0
    functionLinenumber: 17872
    functionLinenumberEnd: 17881
    functionName: (OP_put_array_el)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - unlikely
    - JS_SetPropertyValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_array_el) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46044,1
    - Dst: delete_weak_ref
      Src: /src/gpac/src/quickjs/quickjs.c:46053,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:46049,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46050,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46055,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46056,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46058,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46060,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46061,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 46063
      start: 46037
    functionDepth: 0
    functionLinenumber: 46037
    functionLinenumberEnd: 46063
    functionName: js_map_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - delete_weak_ref
    - list_entry
    - js_free_rt
    - list_for_each_safe
    - JS_FreeValueRT
    linkageType: ''
    returnType: void
    signature: 'static void js_map_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49875,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49878,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/quickjs.c:49884,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49876,1
    - Dst: bf_const_pi
      Src: /src/gpac/src/quickjs/quickjs.c:49881,1
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:49890,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:49891,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49896,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49898,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:49900,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:49907,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:49912,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49908,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49901,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 49915
      start: 49870
    functionDepth: 0
    functionLinenumber: 49870
    functionLinenumberEnd: 49915
    functionName: js_bigfloat_get_const
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewBigFloat
    - bf_get_exp_bits
    - bf_set_ui
    - bf_const_log2
    - JS_IsException
    - bf_mul_2exp
    - abort
    - bf_const_pi
    - JS_GetBigFloat
    - bf_add_si
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_get_const(JSContext *ctx, JSValueConst
      this_val, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:1560,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:1561,1
    - Dst: JS_ThrowUnsupportedOperation
      Src: /src/gpac/src/quickjs/quickjs.c:1562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - op
    - pres
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 1564
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1564
    functionName: invalid_binary_arith
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowUnsupportedOperation
    linkageType: ''
    returnType: int
    signature: 'static int invalid_binary_arith(JSContext *ctx, OPCodeEnum op, JSValue
      *pres, JSValue op1, JSValue op2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6600,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:6601,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:6603,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:6603,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:6607,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:6608,1
    - Dst: build_backtrace
      Src: /src/gpac/src/quickjs/quickjs.c:6612,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:6614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - error_num
    - fmt
    - ap
    - add_backtrace
    argTypes:
    - JSContext*
    - JSErrorEnum
    - char*
    - va_list
    - BOOL
    constantsTouched: []
    func_position:
      end: 6616
      start: 6594
    functionDepth: 0
    functionLinenumber: 6594
    functionLinenumberEnd: 6616
    functionName: JS_ThrowError2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewString
    - JS_DefinePropertyValue
    - JS_NewObjectProtoClass
    - unlikely
    - JS_Throw
    - vsnprintf
    - build_backtrace
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowError2(JSContext *ctx, JSErrorEnum error_num,
      const char *fmt, va_list ap, BOOL add_backtrace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17205,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17208,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17212,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17208,1
    - Dst: JS_ThrowReferenceErrorUninitialized2
      Src: /src/gpac/src/quickjs/quickjs.c:17209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17214
      start: 17202
    functionDepth: 0
    functionLinenumber: 17202
    functionLinenumberEnd: 17214
    functionName: (OP_get_var_ref_check)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - JS_ThrowReferenceErrorUninitialized2
    - unlikely
    - JS_DupValue
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_var_ref_check) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46067,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46077,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:46074,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46075,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 46081
      start: 46065
    functionDepth: 0
    functionLinenumber: 46065
    functionLinenumberEnd: 46081
    functionName: js_map_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - list_for_each
    - list_entry
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_map_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:49536,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:49542,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:49539,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:49537,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:49540,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:49543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 49544
      start: 49525
    functionDepth: 0
    functionLinenumber: 49525
    functionLinenumberEnd: 49544
    functionName: JS_AddIntrinsicBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewGlobalCConstructor
    - countof
    - JS_NewObject
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicBigInt(JSContext *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:49926,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:49931,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:49940,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49935,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:49929,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49944,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49945,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49947,1
    - Dst: bf_atof
      Src: /src/gpac/src/quickjs/quickjs.c:49949,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:49951,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49953
      start: 49917
    functionDepth: 0
    functionLinenumber: 49917
    functionLinenumberEnd: 49953
    functionName: js_bigfloat_parseFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_NewBigFloat
    - JS_FreeCString
    - JS_ThrowRangeError
    - JS_IsException
    - JS_GetOpaque2
    - bf_atof
    - JS_GetBigFloat
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_parseFloat(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - JSAtomStruct*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1890
    functionName: atom_is_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL atom_is_free(const JSAtomStruct *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:4952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4953
      start: 4949
    functionDepth: 0
    functionLinenumber: 4949
    functionLinenumberEnd: 4953
    functionName: JS_NewObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectProtoClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewObject(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:6397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pval
    - buf
    - buf_end
    argTypes:
    - uint32_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 6408
      start: 6390
    functionDepth: 0
    functionLinenumber: 6390
    functionLinenumberEnd: 6408
    functionName: get_leb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'static int get_leb128(uint32_t *pval, const uint8_t *buf, const uint8_t
      *buf_end) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15406,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15407,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:15423,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15424,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15426,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15427,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:15428,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - enum_obj
    - method
    - argc
    - argv
    - pdone
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int*
    constantsTouched: []
    func_position:
      end: 15436
      start: 15398
    functionDepth: 0
    functionLinenumber: 15398
    functionLinenumberEnd: 15436
    functionName: JS_IteratorNext2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_Call
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_IteratorNext2(JSContext *ctx, JSValueConst enum_obj,
      JSValueConst method, int argc, JSValueConst *argv, int *pdone) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37077,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37080,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37082,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37089,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:37093,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:37101,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:37106,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37107,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:37110,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_frozen
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37112
      start: 37068
    functionDepth: 0
    functionLinenumber: 37068
    functionLinenumberEnd: 37112
    functionName: js_object_isSealed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_IsExtensible
    - JS_GetOwnPropertyNamesInternal
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - JS_IsObject
    - js_free_prop_enum
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_isSealed(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int is_frozen) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:40758,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:40786,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40791,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40797,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40813,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:40814,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:40824,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40841,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:40779,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40793,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40782,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40820,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:40821,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40842,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:40758,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40759,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:40764,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40767,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:40788,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:40810,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40825,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:40827,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40828,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40837,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40761,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40762,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:40768,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:40771,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:40773,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40784,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40811,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40830,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:40831,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40844,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 112
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40846
      start: 40740
    functionDepth: 0
    functionLinenumber: 40740
    functionLinenumberEnd: 40846
    functionName: js_string___GetSubstitution
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - string_buffer_free
    - js_get_length32
    - string_buffer_concat_value
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_ThrowTypeError
    - string_buffer_putc8
    - JS_GetPropertyValue
    - string_indexof_char
    - JS_ToUint32
    - JS_IsUndefined
    - JS_IsString
    - js_sub_string
    - JS_GetPropertyInt64
    - string_buffer_init
    - string_get
    - string_buffer_concat_value_free
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___GetSubstitution(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37224,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37226,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:37228,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:37234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37235
      start: 37216
    functionDepth: 0
    functionLinenumber: 37216
    functionLinenumberEnd: 37235
    functionName: js_object___getClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_IsFunction
    - JS_AtomToString
    - JS_VALUE_GET_OBJ
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___getClass(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37605,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:37610,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - pres
    - obj
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37611
      start: 37601
    functionDepth: 0
    functionLinenumber: 37601
    functionLinenumberEnd: 37611
    functionName: js_get_length64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_GetProperty
    - JS_ToLengthFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_get_length64(JSContext *ctx, int64_t *pres,
      JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1895
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1895
    functionName: atom_set_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSAtomStruct*
    signature: 'static inline JSAtomStruct *atom_set_free(uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:4959,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:4961,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:4959,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:4962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - func_obj
    - name
    - len
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 4963
      start: 4955
    functionDepth: 0
    functionLinenumber: 4955
    functionLinenumberEnd: 4963
    functionName: js_function_set_properties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_AtomToString
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: void
    signature: 'static void js_function_set_properties(JSContext *ctx, JSValueConst
      func_obj, JSAtom name, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:6415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pval
    - buf
    - buf_end
    argTypes:
    - int32_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 6422
      start: 6410
    functionDepth: 0
    functionLinenumber: 6410
    functionLinenumberEnd: 6422
    functionName: get_sleb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_leb128
    linkageType: ''
    returnType: int
    signature: 'static int get_sleb128(int32_t *pval, const uint8_t *buf, const uint8_t
      *buf_end) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37132,1
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:37129,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37130,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37133,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37169,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37172,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37177,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:37125,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37126,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:37155,1
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:37160,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37153,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:37152,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37166,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37168,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37176,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:37149,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:37138,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37139,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37142,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37148,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37156,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37163,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37157,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:37174,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37178,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37180
      start: 37114
    functionDepth: 0
    functionLinenumber: 37114
    functionLinenumberEnd: 37180
    functionName: js_object_fromEntries
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetIterator
    - JS_FreeValue
    - JS_GetPropertyUint32
    - JS_DefinePropertyValueValue
    - JS_NewObject
    - JS_IteratorClose
    - JS_IsException
    - JS_ThrowTypeErrorNotAnObject
    - JS_GetProperty
    - JS_IsObject
    - JS_IteratorNext
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_fromEntries(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37617,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:37619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - tab
    - len
    argTypes:
    - JSContext*
    - JSValue*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 37620
      start: 37613
    functionDepth: 0
    functionLinenumber: 37613
    functionLinenumberEnd: 37620
    functionName: free_arg_list
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_free
    linkageType: ''
    returnType: void
    signature: 'static void free_arg_list(JSContext *ctx, JSValue *tab, uint32_t len) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_regexp_g_flag
      Src: /src/gpac/src/quickjs/quickjs.c:40871,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:40880,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:40891,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40894,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:40903,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40915,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40925,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:40927,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40950,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40956,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40861,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40862,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40868,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40861,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40877,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40889,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40888,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40916,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40917,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:40927,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40940,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40886,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40885,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40898,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40899,1
    - Dst: js_string___GetSubstitution
      Src: /src/gpac/src/quickjs/quickjs.c:40935,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40937,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:40941,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40948,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40957,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:40947,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40954,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40868,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40874,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40875,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40877,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40893,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:40883,1
    - Dst: string_indexof
      Src: /src/gpac/src/quickjs/quickjs.c:40911,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40931,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40951,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40955,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40949,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 102
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_replaceAll
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 40959
      start: 40848
    functionDepth: 0
    functionLinenumber: 40848
    functionLinenumberEnd: 40959
    functionName: js_string_replace
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - JS_IsException
    - string_buffer_free
    - JS_ToString
    - string_indexof
    - JS_CallFree
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_ThrowTypeError
    - JS_NewInt32
    - JS_Call
    - JS_ToStringFree
    - JS_IsFunction
    - JS_IsUndefined
    - unlikely
    - string_buffer_init
    - JS_FreeValue
    - js_string___GetSubstitution
    - JS_GetProperty
    - check_regexp_g_flag
    - string_buffer_concat_value_free
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_replace(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int is_replaceAll) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15368,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:15371,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15369,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15371,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15372,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15373,1
    - Dst: JS_GetIterator2
      Src: /src/gpac/src/quickjs/quickjs.c:15375,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15376,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15377,1
    - Dst: JS_CreateAsyncFromSyncIterator
      Src: /src/gpac/src/quickjs/quickjs.c:15379,1
    - Dst: JS_GetIterator2
      Src: /src/gpac/src/quickjs/quickjs.c:15392,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:15388,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15385,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15389,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:15390,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15393,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15380,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - obj
    - is_async
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 15395
      start: 15363
    functionDepth: 0
    functionLinenumber: 15363
    functionLinenumberEnd: 15395
    functionName: JS_GetIterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_GetIterator2
    - JS_CreateAsyncFromSyncIterator
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetIterator(JSContext *ctx, JSValueConst obj, BOOL
      is_async) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1337
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1337
    functionName: js_bf_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_realloc_rt
    linkageType: ''
    returnType: void*
    signature: 'static void *js_bf_realloc(void *opaque, void *ptr, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - pflags
    - pidx
    - val
    - n
    argTypes:
    - uint32_t*
    - int*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 34016
      start: 34012
    functionDepth: 0
    functionLinenumber: 34012
    functionLinenumberEnd: 34016
    functionName: bc_set_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bc_set_flags(uint32_t *pflags, int *pidx, uint32_t val,
      int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:1833,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:1842,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:1840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - job_func
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSJobFunc*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1844
    functionName: JS_EnqueueJob
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - list_add_tail
    - js_malloc
    linkageType: ''
    returnType: int
    signature: 'int JS_EnqueueJob(JSContext *ctx, JSJobFunc *job_func, int argc, JSValueConst
      *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_promise_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19557,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:19562,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19559,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19565,1
    - Dst: js_async_generator_resolve_function_create
      Src: /src/gpac/src/quickjs/quickjs.c:19561,1
    - Dst: perform_promise_then
      Src: /src/gpac/src/quickjs/quickjs.c:19570,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19573,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - s
    - value
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 19577
      start: 19550
    functionDepth: 0
    functionLinenumber: 19550
    functionLinenumberEnd: 19577
    functionName: js_async_generator_completed_return
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_async_generator_resolve_function_create
    - JS_IsException
    - JS_MKPTR
    - js_promise_resolve
    - perform_promise_then
    linkageType: ''
    returnType: int
    signature: 'static int js_async_generator_completed_return(JSContext *ctx, JSAsyncGeneratorData
      *s, JSValueConst value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20294,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:20296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 20297
      start: 20287
    functionDepth: 0
    functionLinenumber: 20287
    functionLinenumberEnd: 20297
    functionName: js_parse_expect_semi
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - next_token
    - js_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_expect_semi(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:47977,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:47978,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:47980,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:47982,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:47979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - valp
    - this_val
    argTypes:
    - JSContext*
    - double*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 47984
      start: 47975
    functionDepth: 0
    functionLinenumber: 47975
    functionLinenumberEnd: 47984
    functionName: JS_ThisTimeValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_IsNumber
    - JS_ToFloat64
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_ThisTimeValue(JSContext *ctx, double *valp,
      JSValueConst this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs.c:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1849
    functionName: JS_IsJobPending
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_empty
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsJobPending(JSRuntime *rt) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:19588,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:19618,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19651,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:19642,1
    - Dst: js_async_generator_complete
      Src: /src/gpac/src/quickjs/quickjs.c:19665,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:19671,1
    - Dst: async_func_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19632,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:19634,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:19638,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19633,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19655,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:19661,1
    - Dst: js_async_generator_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19666,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs.c:19586,1
    - Dst: js_async_generator_complete
      Src: /src/gpac/src/quickjs/quickjs.c:19599,1
    - Dst: js_async_generator_reject
      Src: /src/gpac/src/quickjs/quickjs.c:19636,1
    - Dst: js_async_generator_complete
      Src: /src/gpac/src/quickjs/quickjs.c:19635,1
    - Dst: js_async_generator_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19650,1
    - Dst: js_async_generator_await
      Src: /src/gpac/src/quickjs/quickjs.c:19654,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:19658,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:19661,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19667,1
    - Dst: js_async_generator_completed_return
      Src: /src/gpac/src/quickjs/quickjs.c:19607,1
    - Dst: js_async_generator_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19604,1
    - Dst: js_async_generator_reject
      Src: /src/gpac/src/quickjs/quickjs.c:19610,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19615,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:19625,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19637,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    constantsTouched: []
    func_position:
      end: 19675
      start: 19579
    functionDepth: 0
    functionLinenumber: 19579
    functionLinenumberEnd: 19675
    functionName: js_async_generator_resume_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - list_entry
    - abort
    - JS_GetException
    - list_empty
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - js_async_generator_complete
    - JS_VALUE_GET_INT
    - assert
    - JS_IsUndefined
    - JS_Throw
    - js_async_generator_completed_return
    - js_async_generator_reject
    - JS_FreeValue
    - async_func_resume
    - js_async_generator_await
    - js_async_generator_resolve
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_resume_next(JSContext *ctx, JSAsyncGeneratorData
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20302,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:20303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 20305
      start: 20299
    functionDepth: 0
    functionLinenumber: 20299
    functionLinenumberEnd: 20305
    functionName: js_parse_error_reserved_identifier
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - JS_AtomGetStr
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_error_reserved_identifier(JSParseState *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:34022,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:34042,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:34034,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - s
    - pres
    - atom
    argTypes:
    - BCWriterState*
    - uint32_t*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 34056
      start: 34018
    functionDepth: 0
    functionLinenumber: 34018
    functionLinenumberEnd: 34056
    functionName: bc_atom_to_idx
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int bc_atom_to_idx(BCWriterState *s, uint32_t *pres, JSAtom
      atom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:47988,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:47992,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47991,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47993,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:47989,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:47996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - this_val
    - v
    argTypes:
    - JSContext*
    - JSValueConst
    - double
    constantsTouched: []
    func_position:
      end: 47997
      start: 47986
    functionDepth: 0
    functionLinenumber: 47986
    functionLinenumberEnd: 47997
    functionName: JS_SetThisTimeValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_SetThisTimeValue(JSContext *ctx, JSValueConst this_val,
      double v) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3185,1
    - Dst: is_num
      Src: /src/gpac/src/quickjs/quickjs.c:3230,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:3232,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3243,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:3242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3244,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3239,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3185,1
    - Dst: JS_ToNumber
      Src: /src/gpac/src/quickjs/quickjs.c:3239,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3252,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3184,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:3211,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3247,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3240,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3248,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:3247,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3186,1
    - Dst: is_num
      Src: /src/gpac/src/quickjs/quickjs.c:3207,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:3227,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3255
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3255
    functionName: JS_AtomIsNumericIndex1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_compare
    - __JS_NewFloat64
    - JS_FreeValue
    - assert
    - JS_VALUE_GET_STRING
    - JS_ToNumber
    - memcmp
    - __JS_AtomIsTaggedInt
    - JS_IsException
    - JS_NewInt32
    - JS_ToString
    - JS_MKPTR
    - is_num
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_AtomIsNumericIndex1(JSContext *ctx, JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10952,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs.c:10955,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:10953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10956
      start: 10950
    functionDepth: 0
    functionLinenumber: 10950
    functionLinenumberEnd: 10956
    functionName: JS_ToInt64Ext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigInt64
    - JS_ToInt64
    - JS_IsBigInt
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePrivateField
      Src: /src/gpac/src/quickjs/quickjs.c:17686,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17687,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17691
      start: 17683
    functionDepth: 0
    functionLinenumber: 17683
    functionLinenumberEnd: 17691
    functionName: (OP_define_private_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DefinePrivateField
    - unlikely
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_private_field) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - p
    - pidx
    argTypes:
    - JSString*
    - int*
    constantsTouched: []
    func_position:
      end: 41311
      start: 41289
    functionDepth: 0
    functionLinenumber: 41289
    functionLinenumberEnd: 41311
    functionName: string_prevc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int string_prevc(JSString *p, int *pidx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowSyntaxErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - prop
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 9532
      start: 9529
    functionDepth: 0
    functionLinenumber: 9529
    functionLinenumberEnd: 9532
    functionName: JS_ThrowSyntaxErrorVarRedeclaration
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxErrorAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowSyntaxErrorVarRedeclaration(JSContext *ctx,
      JSAtom prop) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_prevc
      Src: /src/gpac/src/quickjs/quickjs.c:41321,1
    - Dst: lre_is_case_ignorable
      Src: /src/gpac/src/quickjs/quickjs.c:41335,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:41334,1
    - Dst: lre_is_cased
      Src: /src/gpac/src/quickjs/quickjs.c:41325,1
    - Dst: lre_is_case_ignorable
      Src: /src/gpac/src/quickjs/quickjs.c:41322,1
    - Dst: lre_is_cased
      Src: /src/gpac/src/quickjs/quickjs.c:41338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - p
    - sigma_pos
    argTypes:
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 41339
      start: 41313
    functionDepth: 0
    functionLinenumber: 41313
    functionLinenumberEnd: 41339
    functionName: test_final_sigma
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_getc
    - string_prevc
    - lre_is_cased
    - lre_is_case_ignorable
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL test_final_sigma(JSString *p, int sigma_pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomIsNumericIndex1
      Src: /src/gpac/src/quickjs/quickjs.c:3261,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:3262,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3266,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3264,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:3262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3268
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3268
    functionName: JS_AtomIsNumericIndex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomIsNumericIndex1
    - JS_FreeValue
    - JS_IsException
    - JS_IsUndefined
    - likely
    linkageType: ''
    returnType: int
    signature: 'static int JS_AtomIsNumericIndex(JSContext *ctx, JSAtom atom) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10965,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10978,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11002,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10971,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:10982,1
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:11003,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11004,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:11009,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11010,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int32_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11018
      start: 10959
    functionDepth: 0
    functionLinenumber: 10959
    functionLinenumberEnd: 11018
    functionName: JS_ToInt32Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_get_int32
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_PTR
    - likely
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToInt32Free(JSContext *ctx, int32_t *pres, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:1154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: JS_GetBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: bf_t*
    signature: 'static inline bf_t *JS_GetBigInt(JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs.c:6795,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:6796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 6797
      start: 6792
    functionDepth: 0
    functionLinenumber: 6792
    functionLinenumberEnd: 6797
    functionName: JS_ThrowReferenceErrorNotDefined
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowReferenceError
    - JS_AtomGetStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowReferenceErrorNotDefined(JSContext *ctx, JSAtom
      name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21858,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:21859,1
    - Dst: get_first_lexical_var
      Src: /src/gpac/src/quickjs/quickjs.c:21861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21863
      start: 21853
    functionDepth: 0
    functionLinenumber: 21853
    functionLinenumberEnd: 21863
    functionName: pop_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - get_first_lexical_var
    - emit_u16
    linkageType: ''
    returnType: void
    signature: 'static void pop_scope(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - bc_buf
    - pos
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 29411
      start: 29403
    functionDepth: 0
    functionLinenumber: 29403
    functionLinenumberEnd: 29411
    functionName: can_opt_put_ref_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL can_opt_put_ref_value(const uint8_t *bc_buf, int pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:34062,1
    - Dst: bc_atom_to_idx
      Src: /src/gpac/src/quickjs/quickjs.c:34065,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:34063,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - atom
    argTypes:
    - BCWriterState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 34071
      start: 34058
    functionDepth: 0
    functionLinenumber: 34058
    functionLinenumberEnd: 34071
    functionName: bc_put_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - bc_atom_to_idx
    - bc_put_leb128
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: int
    signature: 'static int bc_put_atom(BCWriterState *s, JSAtom atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBooleanValue
      Src: /src/gpac/src/quickjs/quickjs.c:40090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40091
      start: 40087
    functionDepth: 0
    functionLinenumber: 40087
    functionLinenumberEnd: 40091
    functionName: js_boolean_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisBooleanValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_boolean_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48485,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - sp
    - pp
    - pval
    argTypes:
    - JSString*
    - int*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48500
      start: 48477
    functionDepth: 0
    functionLinenumber: 48477
    functionLinenumberEnd: 48500
    functionName: string_get_milliseconds
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_get_milliseconds(JSString *sp, int *pp, int64_t
      *pval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs.c:6802,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:6804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 6805
      start: 6799
    functionDepth: 0
    functionLinenumber: 6799
    functionLinenumberEnd: 6805
    functionName: JS_ThrowReferenceErrorUninitialized
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowReferenceError
    - JS_AtomGetStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowReferenceErrorUninitialized(JSContext *ctx,
      JSAtom name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21868,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:21869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - scope
    - scope_stop
    argTypes:
    - JSParseState*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21872
      start: 21865
    functionDepth: 0
    functionLinenumber: 21865
    functionLinenumberEnd: 21872
    functionName: close_scopes
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_u16
    linkageType: ''
    returnType: void
    signature: 'static void close_scopes(JSParseState *s, int scope, int scope_stop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - bc_buf
    - pos
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 29421
      start: 29413
    functionDepth: 0
    functionLinenumber: 29413
    functionLinenumberEnd: 29421
    functionName: can_opt_put_global_ref_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL can_opt_put_global_ref_value(const uint8_t *bc_buf, int
      pos) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:34080,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:34091,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34099,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:34114,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34105,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34116,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34122,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:34081,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34090,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34100,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:34107,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:34112,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34113,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34112,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34117,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:34124,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34091,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:34105,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34106,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34111,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34114,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:34122,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34123,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:34100,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34104,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34107,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:34117,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34121,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34124,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 2
    argNames:
    - bc_buf
    - bc_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 34131
      start: 34073
    functionDepth: 0
    functionLinenumber: 34073
    functionLinenumberEnd: 34131
    functionName: bc_byte_swap
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - put_u32
    - put_u16
    - short_opcode_info
    - bswap16
    - bswap32
    - get_u32
    linkageType: ''
    returnType: void
    signature: 'static void bc_byte_swap(uint8_t *bc_buf, int bc_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - sp
    - p
    - list
    - count
    argTypes:
    - JSString*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 48517
      start: 48503
    functionDepth: 0
    functionLinenumber: 48503
    functionLinenumberEnd: 48517
    functionName: find_abbrev
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int find_abbrev(JSString *sp, int p, const char *list, int
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:51375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 51376
      start: 51373
    functionDepth: 0
    functionLinenumber: 51373
    functionLinenumberEnd: 51376
    functionName: JS_ThrowTypeErrorDetachedArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorDetachedArrayBuffer(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54080,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 54081
      start: 54077
    functionDepth: 0
    functionLinenumber: 54077
    functionLinenumberEnd: 54081
    functionName: JS_AddIntrinsicAtomics
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - countof
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicAtomics(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_dtoa1
      Src: /src/gpac/src/quickjs/quickjs.c:11634,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:11635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - d
    - radix
    - n_digits
    - flags
    argTypes:
    - JSContext*
    - double
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 11636
      start: 11630
    functionDepth: 0
    functionLinenumber: 11630
    functionLinenumberEnd: 11636
    functionName: js_dtoa
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - js_dtoa1
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dtoa(JSContext *ctx, double d, int radix, int n_digits,
      int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:41835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41841
      start: 41833
    functionDepth: 0
    functionLinenumber: 41833
    functionLinenumberEnd: 41841
    functionName: js_math_sign
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - isnan
    linkageType: ''
    returnType: double
    signature: 'static double js_math_sign(double a) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:50611,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50620,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50616,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50618,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:50614,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50622,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50624,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:50626,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:50630,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50631,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:50634,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 50636
      start: 50605
    functionDepth: 0
    functionLinenumber: 50605
    functionLinenumberEnd: 50636
    functionName: js_bigdecimal_get_rnd_mode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_FreeCString
    - JS_ThrowTypeError
    - JS_ToCStringLen
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int js_bigdecimal_get_rnd_mode(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:11656,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11682,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:11679,1
    - Dst: js_dtoa
      Src: /src/gpac/src/quickjs/quickjs.c:11682,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11644,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:11647,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:11653,1
    - Dst: JS_ToStringInternal
      Src: /src/gpac/src/quickjs/quickjs.c:11667,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:11677,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11668,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:11649,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:11649,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:11664,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11665,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:11695,1
    - Dst: JS_VALUE_GET_BOOL
      Src: /src/gpac/src/quickjs/quickjs.c:11653,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:11658,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - val
    - is_ToPropertyKey
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 11697
      start: 11638
    functionDepth: 0
    functionLinenumber: 11638
    functionLinenumberEnd: 11697
    functionName: JS_ToStringInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_ToStringInternal
    - snprintf
    - JS_FreeValue
    - JS_VALUE_GET_BOOL
    - JS_ThrowTypeError
    - JS_ToPrimitive
    - JS_IsException
    - JS_NewString
    - JS_AtomToString
    - JS_DupValue
    - js_dtoa
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ToStringInternal(JSContext *ctx, JSValueConst val, BOOL
      is_ToPropertyKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41869
      start: 41843
    functionDepth: 0
    functionLinenumber: 41843
    functionLinenumberEnd: 41869
    functionName: js_math_round
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double js_math_round(double a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51828,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:51832,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51837,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51829,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:51837,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:51840,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51842,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - ctor
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51847
      start: 51821
    functionDepth: 0
    functionLinenumber: 51821
    functionLinenumberEnd: 51847
    functionName: js_typed_array_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_CallConstructor
    - JS_ThrowTypeError
    - JS_IsException
    - JS_DupValue
    - JS_ToLengthFree
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_create(JSContext *ctx, JSValueConst
      ctor, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_create_iterator_result
      Src: /src/gpac/src/quickjs/quickjs.c:47352,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47352,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:47353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 47354
      start: 47347
    functionDepth: 0
    functionLinenumber: 47347
    functionLinenumberEnd: 47354
    functionName: js_async_from_sync_iterator_unwrap
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - js_create_iterator_result
    - JS_ToBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_from_sync_iterator_unwrap(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - limit
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1796
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1796
    functionName: JS_SetMemoryLimit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetMemoryLimit(JSRuntime *rt, size_t limit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1901,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:1911,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - rt
    - max_len
    - is_wide_char
    argTypes:
    - JSRuntime*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1914
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1914
    functionName: js_alloc_string_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - list_add_tail
    - js_malloc_rt
    linkageType: ''
    returnType: JSString*
    signature: 'static JSString *js_alloc_string_rt(JSRuntime *rt, int max_len, int
      is_wide_char) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:3342,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:3345,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3346,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3348
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3348
    functionName: JS_AtomToCString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_ToCString
    - JS_AtomToString
    - JS_FreeValue
    linkageType: ''
    returnType: char*
    signature: 'const char *JS_AtomToCString(JSContext *ctx, JSAtom atom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10651,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10653,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10655,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10656,1
    - Dst: __JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:10659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - double*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10661
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10661
    functionName: JS_ToFloat64Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    - __JS_ToFloat64Free
    - JS_VALUE_GET_FLOAT64
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: int
    signature: 'static inline int JS_ToFloat64Free(JSContext *ctx, double *pres, JSValue
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_alloc_string_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1919,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1920,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - max_len
    - is_wide_char
    argTypes:
    - JSContext*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1925
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1925
    functionName: js_alloc_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_alloc_string_rt
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSString*
    signature: 'static JSString *js_alloc_string(JSContext *ctx, int max_len, int
      is_wide_char) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:10665,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - double*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10666
      start: 10663
    functionDepth: 0
    functionLinenumber: 10663
    functionLinenumberEnd: 10666
    functionName: JS_ToFloat64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToFloat64Free
    linkageType: ''
    returnType: int
    signature: 'int JS_ToFloat64(JSContext *ctx, double *pres, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPropertyKey
      Src: /src/gpac/src/quickjs/quickjs.c:37261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37262
      start: 37258
    functionDepth: 0
    functionLinenumber: 37258
    functionLinenumberEnd: 37262
    functionName: js_object___toPropertyKey
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToPropertyKey
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___toPropertyKey(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9778,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9783,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9784,1
    - Dst: JS_NewAtomInt64
      Src: /src/gpac/src/quickjs/quickjs.c:9780,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:9778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - obj
    - idx
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 9786
      start: 9771
    functionDepth: 0
    functionLinenumber: 9771
    functionLinenumberEnd: 9786
    functionName: JS_DeletePropertyInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomFromUInt32
    - JS_FreeAtom
    - JS_DeleteProperty
    - JS_NewAtomInt64
    linkageType: ''
    returnType: int
    signature: 'int JS_DeletePropertyInt64(JSContext *ctx, JSValueConst obj, int64_t
      idx, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9882,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - class_id
    argTypes:
    - JSValueConst
    - JSClassID
    constantsTouched: []
    func_position:
      end: 9888
      start: 9879
    functionDepth: 0
    functionLinenumber: 9879
    functionLinenumberEnd: 9888
    functionName: JS_GetOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void*
    signature: 'void *JS_GetOpaque(JSValueConst obj, JSClassID class_id) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10311,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:10326,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10348,1
    - Dst: js_strtod
      Src: /src/gpac/src/quickjs/quickjs.c:10443,1
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:10388,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:10465,1
    - Dst: js_strtod
      Src: /src/gpac/src/quickjs/quickjs.c:10473,1
    - Dst: strstart
      Src: /src/gpac/src/quickjs/quickjs.c:10319,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10324,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10376,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:10387,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:10323,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/quickjs.c:10327,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:10339,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10351,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10355,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:10445,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10374,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:10474,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:10488,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10361,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10360,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10376,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:10480,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 245
    argCount: 5
    argNames:
    - ctx
    - str
    - pp
    - radix
    - flags
    argTypes:
    - JSContext*
    - char*
    - char**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 10490
      start: 10251
    functionDepth: 0
    functionLinenumber: 10251
    functionLinenumberEnd: 10490
    functionName: js_atof
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewBigFloat
    - bf_set_inf
    - JS_ThrowOutOfMemory
    - JS_IsException
    - abort
    - js_free_rt
    - to_digit
    - unlikely
    - JS_GetBigFloat
    - JS_NewFloat64
    - js_strtod
    - strstart
    - is_digit
    - js_malloc_rt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atof(JSContext *ctx, const char *str, const char
      **pp, int radix, int flags) #endif '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:17936,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17939,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17941
      start: 17933
    functionDepth: 0
    functionLinenumber: 17933
    functionLinenumberEnd: 17941
    functionName: (OP_define_array_el)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_DupValue
    - JS_DefinePropertyValueValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_array_el) : '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:28934,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29059,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29141,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:29139,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29114,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29123,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29182,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29018,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29129,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29079,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:28993,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29029,1
    - Dst: get_i8
      Src: /src/gpac/src/quickjs/quickjs.c:29052,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29068,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29163,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29172,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29131,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29119,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29005,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29056,1
    - Dst: get_i32
      Src: /src/gpac/src/quickjs/quickjs.c:29065,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:29120,1
    - Dst: print_lines
      Src: /src/gpac/src/quickjs/quickjs.c:28982,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29037,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:29049,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29056,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29065,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29105,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29120,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29130,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29133,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29119,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29052,1
    - Dst: get_i16
      Src: /src/gpac/src/quickjs/quickjs.c:29062,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29174,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29097,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29094,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:28964,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29150,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29008,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29046,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29090,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29165,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:29013,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29085,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29118,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:29101,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29139,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29024,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29059,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29068,1
    - Dst: get_i8
      Src: /src/gpac/src/quickjs/quickjs.c:29072,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29141,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29152,1
    - Dst: print_lines
      Src: /src/gpac/src/quickjs/quickjs.c:29188,1
    - Dst: get_i16
      Src: /src/gpac/src/quickjs/quickjs.c:29075,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29083,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29108,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29137,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:29147,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29176,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29124,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29096,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29125,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29115,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:28941,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28997,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29035,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29059,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29125,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29115,1
    - Dst: JS_DumpValue
      Src: /src/gpac/src/quickjs/quickjs.c:29110,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29124,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29130,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29135,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29027,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29043,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29049,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29092,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29097,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29087,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29187,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29039,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29062,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:29154,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:28954,1
    - Dst: find_line_num
      Src: /src/gpac/src/quickjs/quickjs.c:28991,1
    - Dst: print_lines
      Src: /src/gpac/src/quickjs/quickjs.c:28999,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29031,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29161,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:29190,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 258
    argCount: 16
    argNames:
    - ctx
    - pass
    - tab
    - len
    - args
    - arg_count
    - vars
    - var_count
    - closure_var
    - closure_var_count
    - cpool
    - cpool_count
    - source
    - line_num
    - label_slots
    - b
    argTypes:
    - JSContext*
    - int
    - uint8_t*
    - int
    - JSVarDef*
    - int
    - JSVarDef*
    - int
    - JSClosureVar*
    - int
    - JSValue*
    - uint32_t
    - char*
    - int
    - LabelSlot*
    - JSFunctionBytecode*
    constantsTouched: []
    func_position:
      end: 29191
      start: 28923
    functionDepth: 0
    functionLinenumber: 28923
    functionLinenumberEnd: 29191
    functionName: dump_byte_code
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u8
    - print_lines
    - get_i32
    - print_atom
    - get_u16
    - find_line_num
    - short_opcode_info
    - get_u32
    - get_i16
    - JS_DumpValue
    - js_mallocz
    - js_free
    - get_i8
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dump_byte_code(JSContext *ctx, int pass, const uint8_t
      *tab, int len, const JSVarDef *args, int arg_count, const JSVarDef *vars, int
      var_count, const JSClosureVar *closure_var, int closure_var_count, const JSValue
      *cpool, uint32_t cpool_count, const char *source, int line_num, const LabelSlot
      *label_slots, JSFunctionBytecode *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35709,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35721,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35719,1
    - Dst: bc_get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:35711,1
    - Dst: js_array_buffer_constructor3
      Src: /src/gpac/src/quickjs/quickjs.c:35715,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35725,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35727
      start: 35701
    functionDepth: 0
    functionLinenumber: 35701
    functionLinenumberEnd: 35727
    functionName: JS_ReadSharedArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_u64
    - JS_FreeValue
    - js_array_buffer_constructor3
    - JS_IsException
    - BC_add_object_ref
    - bc_get_leb128
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadSharedArrayBuffer(BCReaderState *s) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44772,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:44775,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44776,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44777,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44786,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:44796,1
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44767,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44784,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44785,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44791,1
    - Dst: JS_SetPropertyGeneric
      Src: /src/gpac/src/quickjs/quickjs.c:44771,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44770,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44791,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44801,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44805,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44788,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44802,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44799,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:44809,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44810,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 6
    argNames:
    - ctx
    - obj
    - atom
    - value
    - receiver
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 44815
      start: 44759
    functionDepth: 0
    functionLinenumber: 44759
    functionLinenumberEnd: 44815
    functionName: js_proxy_set
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_ThrowTypeError
    - JS_SetPropertyGeneric
    - JS_IsUndefined
    - is_strict_mode
    - JS_DupValue
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - js_same_value
    - JS_ToBoolFree
    - JS_CallFree
    - JS_AtomToValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_set(JSContext *ctx, JSValueConst obj, JSAtom atom,
      JSValueConst value, JSValueConst receiver, int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:47298,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:47301,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47299,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47303,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47302,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47308,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47309,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47311,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47312,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47317,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47320,1
    - Dst: JS_Invoke
      Src: /src/gpac/src/quickjs/quickjs.c:47318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47322
      start: 47289
    functionDepth: 0
    functionLinenumber: 47289
    functionLinenumberEnd: 47322
    functionName: js_promise_finally
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_Invoke
    - JS_IsFunction
    - JS_SpeciesConstructor
    - JS_IsException
    - JS_DupValue
    - JS_NewCFunctionData
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_finally(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9791,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9793,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9802
      start: 9788
    functionDepth: 0
    functionLinenumber: 9788
    functionLinenumberEnd: 9802
    functionName: JS_IsFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsFunction(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:9892,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9893,1
    - Dst: JS_ThrowTypeErrorInvalidClass
      Src: /src/gpac/src/quickjs/quickjs.c:9894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - obj
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - JSClassID
    constantsTouched: []
    func_position:
      end: 9897
      start: 9890
    functionDepth: 0
    functionLinenumber: 9890
    functionLinenumberEnd: 9897
    functionName: JS_GetOpaque2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - unlikely
    - JS_ThrowTypeErrorInvalidClass
    linkageType: ''
    returnType: void*
    signature: 'void *JS_GetOpaque2(JSContext *ctx, JSValueConst obj, JSClassID class_id) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_get_pos
      Src: /src/gpac/src/quickjs/quickjs.c:22516,1
    - Dst: js_parse_template_part
      Src: /src/gpac/src/quickjs/quickjs.c:22544,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:22539,1
    - Dst: js_parse_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:22585,1
    - Dst: is_regexp_allowed
      Src: /src/gpac/src/quickjs/quickjs.c:22583,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22594,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22595,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22600,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22606,1
    - Dst: js_parse_seek_token
      Src: /src/gpac/src/quickjs/quickjs.c:22617,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 59
    argCount: 3
    argNames:
    - s
    - pbits
    - no_line_terminator
    argTypes:
    - JSParseState*
    - int*
    - BOOL
    constantsTouched: []
    func_position:
      end: 22620
      start: 22505
    functionDepth: 0
    functionLinenumber: 22505
    functionLinenumberEnd: 22620
    functionName: js_parse_skip_parens_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - next_token
    - is_regexp_allowed
    - js_parse_regexp
    - js_parse_get_pos
    - js_parse_seek_token
    - free_token
    - js_parse_template_part
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_skip_parens_token(JSParseState *s, int *pbits,
      BOOL no_line_terminator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29203,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:29211,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:29216,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29219,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - line_num
    argTypes:
    - JSContext*
    - uint8_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 29236
      start: 29193
    functionDepth: 0
    functionLinenumber: 29193
    functionLinenumberEnd: 29236
    functionName: dump_pc2line
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void dump_pc2line(JSContext *ctx, const uint8_t
      *buf, int len, int line_num) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35734,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:35737,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35735,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:35741,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:35738,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35743,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35745,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:35747,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35750,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35751,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35753
      start: 35729
    functionDepth: 0
    functionLinenumber: 35729
    functionLinenumberEnd: 35753
    functionName: JS_ReadDate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetObjectData
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ReadObjectRec
    - JS_NewObjectProtoClass
    - JS_IsNumber
    - BC_add_object_ref
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadDate(BCReaderState *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:44822,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44826,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44826,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44830,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44823,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44830,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44834,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44834,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44838,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44839,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44849,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44848,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44843,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 44853
      start: 44817
    functionDepth: 0
    functionLinenumber: 44817
    functionLinenumberEnd: 44853
    functionName: js_create_desc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_DupValue
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_desc(JSContext *ctx, JSValueConst val, JSValueConst
      getter, JSValueConst setter, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - gc_threshold
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1802
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1802
    functionName: JS_SetGCThreshold
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetGCThreshold(JSRuntime *rt, size_t gc_threshold) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:3359,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:3362,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3365,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3360,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:3366,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3369,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3370,1
    - Dst: JS_NewAtomLen
      Src: /src/gpac/src/quickjs/quickjs.c:3372,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:3373,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:3374,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3379,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:3378,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - name
    - str1
    argTypes:
    - JSContext*
    - JSAtom
    - char*
    constantsTouched: []
    func_position:
      end: 3381
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3381
    functionName: js_atom_concat_str
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_FreeValue
    - JS_FreeCString
    - js_malloc
    - JS_IsException
    - JS_ToCStringLen
    - JS_AtomToString
    - JS_NewAtomLen
    - js_free
    - memcpy
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom js_atom_concat_str(JSContext *ctx, JSAtom name, const
      char *str1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17197,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17199,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17200
      start: 17194
    functionDepth: 0
    functionLinenumber: 17194
    functionLinenumberEnd: 17200
    functionName: (OP_set_var_ref)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_var_ref) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - sp
    argTypes:
    - JSParseState*
    - JSParsePos*
    constantsTouched: []
    func_position:
      end: 22464
      start: 22457
    functionDepth: 0
    functionLinenumber: 22457
    functionLinenumberEnd: 22464
    functionName: js_parse_get_pos
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_get_pos(JSParseState *s, JSParsePos *sp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_def_malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1739,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs.c:1740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - ptr
    argTypes:
    - JSMallocState*
    - void*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1741
    functionName: js_def_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_def_malloc_usable_size
    - free
    linkageType: ''
    returnType: void
    signature: 'static void js_def_free(JSMallocState *s, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:3272,1
    - Dst: __JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3274
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3274
    functionName: JS_FreeAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_FreeAtom
    - __JS_AtomIsConst
    linkageType: ''
    returnType: void
    signature: 'void JS_FreeAtom(JSContext *ctx, JSAtom v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init2
      Src: /src/gpac/src/quickjs/quickjs.c:3584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - size
    argTypes:
    - JSContext*
    - StringBuffer*
    - int
    constantsTouched: []
    func_position:
      end: 3585
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3585
    functionName: string_buffer_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_init2
    linkageType: ''
    returnType: int
    signature: 'static inline int string_buffer_init(JSContext *ctx, StringBuffer
      *s, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17051,1
    - Dst: JS_CheckDefineGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:17054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17056
      start: 17049
    functionDepth: 0
    functionLinenumber: 17049
    functionLinenumberEnd: 17056
    functionName: (OP_check_define_var)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_CheckDefineGlobalVar
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_check_define_var) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - JSParseState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 23889
      start: 23872
    functionDepth: 0
    functionLinenumber: 23872
    functionLinenumberEnd: 23889
    functionName: js_parse_check_duplicate_parameter
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_check_duplicate_parameter(JSParseState *s, JSAtom
      name) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44884,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44936,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44938,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44946,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44870,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44881,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:44883,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44887,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44879,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44880,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44889,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44902,1
    - Dst: js_obj_to_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44907,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44908,1
    - Dst: check_define_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:44921,1
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44865,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44868,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:44872,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44869,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44873,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44874,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44894,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44893,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44883,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44904,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 85
    argCount: 4
    argNames:
    - ctx
    - pdesc
    - obj
    - prop
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 44950
      start: 44855
    functionDepth: 0
    functionLinenumber: 44855
    functionLinenumberEnd: 44950
    functionName: js_proxy_get_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - check_define_prop_flags
    - get_proxy_method
    - JS_IsException
    - JS_IsExtensible
    - js_obj_to_desc
    - JS_ThrowTypeError
    - JS_IsUndefined
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - JS_IsObject
    - JS_CallFree
    - JS_AtomToValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_get_own_property(JSContext *ctx, JSPropertyDescriptor
      *pdesc, JSValueConst obj, JSAtom prop) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40600,1
    - Dst: js_is_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:40603,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40609,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40601,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40606,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40610,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40612,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40613,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40617,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:40618,1
    - Dst: string_cmp
      Src: /src/gpac/src/quickjs/quickjs.c:40637,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40651,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40652,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40647,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:40648,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40646,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 40654
      start: 40592
    functionDepth: 0
    functionLinenumber: 40592
    functionLinenumberEnd: 40654
    functionName: js_string_includes
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_cmp
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - js_is_regexp
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ToString
    - JS_IsUndefined
    - JS_ToInt32Clamp
    - JS_ToStringCheckObject
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_includes(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_def_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:1750,1
    - Dst: js_def_malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1752,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs.c:1756,1
    - Dst: js_def_malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1766,1
    - Dst: realloc
      Src: /src/gpac/src/quickjs/quickjs.c:1762,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - s
    - ptr
    - size
    argTypes:
    - JSMallocState*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1768
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1768
    functionName: js_def_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_def_malloc
    - js_def_malloc_usable_size
    - free
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'static void *js_def_realloc(JSMallocState *s, void *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:3278,1
    - Dst: __JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - v
    argTypes:
    - JSRuntime*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3280
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3280
    functionName: JS_FreeAtomRT
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_FreeAtom
    - __JS_AtomIsConst
    linkageType: ''
    returnType: void
    signature: 'void JS_FreeAtomRT(JSRuntime *rt, JSAtom v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:3589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringBuffer*
    constantsTouched: []
    func_position:
      end: 3591
      start: 3587
    functionDepth: 0
    functionLinenumber: 3587
    functionLinenumberEnd: 3591
    functionName: string_buffer_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    linkageType: ''
    returnType: void
    signature: 'static void string_buffer_free(StringBuffer *s) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9927,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:9947,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9948,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9951,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9966,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9971,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9967,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9921,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:9931,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9926,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9954,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:9955,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9973,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9977,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:9946,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9984,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:9931,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9949,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9952,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:9970,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:9969,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9974,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9979,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:9982,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - val
    - hint
    argTypes:
    - JSContext*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9986
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9986
    functionName: JS_ToPrimitiveFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_GetProperty
    - JS_IsUndefined
    - JS_AtomToString
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToPrimitiveFree(JSContext *ctx, JSValue val, int
      hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16815,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16821,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16819,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16819,1
    - Dst: js_function_apply
      Src: /src/gpac/src/quickjs/quickjs.c:16818,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16822,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16826
      start: 16812
    functionDepth: 0
    functionLinenumber: 16812
    functionLinenumberEnd: 16826
    functionName: (OP_apply)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_u16
    - JS_IsException
    - unlikely
    - js_function_apply
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_apply) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23898,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23901,1
    - Dst: js_parse_check_duplicate_parameter
      Src: /src/gpac/src/quickjs/quickjs.c:23902,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23904,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - s
    - tok
    - is_arg
    argTypes:
    - JSParseState*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 23911
      start: 23891
    functionDepth: 0
    functionLinenumber: 23891
    functionLinenumberEnd: 23911
    functionName: js_parse_destructuring_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - js_parse_check_duplicate_parameter
    - JS_DupAtom
    - next_token
    - JS_FreeAtom
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom js_parse_destructuring_var(JSParseState *s, int tok,
      int is_arg) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: js_create_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44976,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44977,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44978,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44979,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44972,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44968,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:44971,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44973,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44990,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44999,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:45022,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:45032,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:45041,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45043,1
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44965,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44987,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44993,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:44969,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44985,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44986,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:45000,1
    - Dst: check_define_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:45010,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44988,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:45018,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:45047,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 97
    argCount: 7
    argNames:
    - ctx
    - obj
    - prop
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 45050
      start: 44952
    functionDepth: 0
    functionLinenumber: 44952
    functionLinenumberEnd: 45050
    functionName: js_proxy_define_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - check_define_prop_flags
    - get_proxy_method
    - JS_IsException
    - JS_ThrowTypeError
    - JS_IsUndefined
    - JS_DefineProperty
    - js_create_desc
    - JS_GetOwnPropertyInternal
    - js_same_value
    - js_free_desc
    - JS_ToBoolFree
    - JS_CallFree
    - JS_AtomToValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_define_own_property(JSContext *ctx, JSValueConst
      obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter,
      int flags) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:50015,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50016,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/quickjs.c:50055,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/quickjs.c:50086,1
    - Dst: bf_is_zero
      Src: /src/gpac/src/quickjs/quickjs.c:50086,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:50089,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:50093,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50018,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:50036,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:50051,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:50058,1
    - Dst: bf_asin
      Src: /src/gpac/src/quickjs/quickjs.c:50065,1
    - Dst: bf_cos
      Src: /src/gpac/src/quickjs/quickjs.c:50071,1
    - Dst: bf_sin
      Src: /src/gpac/src/quickjs/quickjs.c:50080,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50096,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50097,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50030,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/quickjs.c:50059,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:50087,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50025,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:50021,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50026,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50033,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:50052,1
    - Dst: bf_atan
      Src: /src/gpac/src/quickjs/quickjs.c:50068,1
    - Dst: bf_acos
      Src: /src/gpac/src/quickjs/quickjs.c:50062,1
    - Dst: bf_exp
      Src: /src/gpac/src/quickjs/quickjs.c:50074,1
    - Dst: bf_log
      Src: /src/gpac/src/quickjs/quickjs.c:50077,1
    - Dst: bf_tan
      Src: /src/gpac/src/quickjs/quickjs.c:50083,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 65
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 50099
      start: 50007
    functionDepth: 0
    functionLinenumber: 50007
    functionLinenumberEnd: 50099
    functionName: js_bigfloat_fop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - bf_cos
    - abort
    - bf_rint
    - bf_exp
    - bf_log
    - bf_tan
    - bf_acos
    - bf_asin
    - bf_sqrt
    - bf_atan
    - bf_delete
    - JS_GetOpaque2
    - bf_round
    - bf_set
    - bf_is_nan
    - JS_FreeValue
    - JS_NewBigFloat
    - JS_GetBigFloat
    - JS_ToBigFloat
    - JS_ToNumeric
    - bf_set_si
    - bf_is_zero
    - bf_sin
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_fop(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_num_string
      Src: /src/gpac/src/quickjs/quickjs.c:2967,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:2970,1
    - Dst: js_free_string
      Src: /src/gpac/src/quickjs/quickjs.c:2969,1
    - Dst: __JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:2974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - JSContext*
    - JSString*
    constantsTouched: []
    func_position:
      end: 2975
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2975
    functionName: JS_NewAtomStr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free_string
    - is_num_string
    - __JS_NewAtom
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom JS_NewAtomStr(JSContext *ctx, JSString *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:9990,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - val
    - hint
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 9991
      start: 9988
    functionDepth: 0
    functionLinenumber: 9988
    functionLinenumberEnd: 9991
    functionName: JS_ToPrimitive
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToPrimitiveFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToPrimitive(JSContext *ctx, JSValueConst val, int
      hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_async_generator_resolve_or_reject
      Src: /src/gpac/src/quickjs/quickjs.c:19538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - exception
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 19539
      start: 19534
    functionDepth: 0
    functionLinenumber: 19534
    functionLinenumberEnd: 19539
    functionName: js_async_generator_reject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_async_generator_resolve_or_reject
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_reject(JSContext *ctx, JSAsyncGeneratorData
      *s, JSValueConst exception) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:21781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - name
    argTypes:
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21786
      start: 21779
    functionDepth: 0
    functionLinenumber: 21779
    functionLinenumberEnd: 21786
    functionName: find_lexical_global_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_global_var
    linkageType: ''
    returnType: JSGlobalVar*
    signature: 'static JSGlobalVar *find_lexical_global_var(JSFunctionDef *fd, JSAtom
      name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:22182,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:22183,1
    - Dst: js_update_property_flags
      Src: /src/gpac/src/quickjs/quickjs.c:22185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 22191
      start: 22177
    functionDepth: 0
    functionLinenumber: 22177
    functionLinenumberEnd: 22191
    functionName: seal_template_obj
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - find_own_property1
    - js_update_property_flags
    linkageType: ''
    returnType: int
    signature: 'static int seal_template_obj(JSContext *ctx, JSValueConst obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:2981,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:2987,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:2986,1
    - Dst: JS_NewAtomStr
      Src: /src/gpac/src/quickjs/quickjs.c:2989,1
    - Dst: __JS_FindAtom
      Src: /src/gpac/src/quickjs/quickjs.c:2982,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:2989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - str
    - len
    argTypes:
    - JSContext*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2990
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2990
    functionName: JS_NewAtomLen
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_IsException
    - __JS_FindAtom
    - JS_NewStringLen
    - JS_NewAtomStr
    - is_digit
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_NewAtomLen(JSContext *ctx, const char *str, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9996,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10000
      start: 9993
    functionDepth: 0
    functionLinenumber: 9993
    functionLinenumberEnd: 10000
    functionName: JS_SetIsHTMLDDA
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void
    signature: 'void JS_SetIsHTMLDDA(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16659
      start: 16652
    functionDepth: 0
    functionLinenumber: 16652
    functionLinenumberEnd: 16659
    functionName: (OP_rot4l)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_rot4l) : /* x a b c -> a b c x */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_func_free
      Src: /src/gpac/src/quickjs/quickjs.c:19546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    constantsTouched: []
    func_position:
      end: 19548
      start: 19541
    functionDepth: 0
    functionLinenumber: 19541
    functionLinenumberEnd: 19548
    functionName: js_async_generator_complete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - async_func_free
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_complete(JSContext *ctx, JSAsyncGeneratorData
      *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_lexical_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:21801,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - fd
    - name
    - scope_idx
    - check_catch_var
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 21805
      start: 21788
    functionDepth: 0
    functionLinenumber: 21788
    functionLinenumberEnd: 21805
    functionName: find_lexical_decl
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_lexical_global_var
    linkageType: ''
    returnType: int
    signature: 'static int find_lexical_decl(JSContext *ctx, JSFunctionDef *fd, JSAtom
      name, int scope_idx, BOOL check_catch_var) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:22213,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:22214,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:22227,1
    - Dst: js_parse_string
      Src: /src/gpac/src/quickjs/quickjs.c:22235,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:22254,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22262,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:22252,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:22280,1
    - Dst: seal_template_obj
      Src: /src/gpac/src/quickjs/quickjs.c:22294,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:22205,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:22209,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:22216,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:22228,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:22255,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22261,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22277,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:22288,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22297,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22298,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22301,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:22206,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:22210,1
    - Dst: js_parse_template_part
      Src: /src/gpac/src/quickjs/quickjs.c:22285,1
    - Dst: seal_template_obj
      Src: /src/gpac/src/quickjs/quickjs.c:22293,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:22238,1
    - Dst: js_parse_string
      Src: /src/gpac/src/quickjs/quickjs.c:22250,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:22266,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:22248,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22271,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:22273,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 3
    argNames:
    - s
    - call
    - argc
    argTypes:
    - JSParseState*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 22302
      start: 22193
    functionDepth: 0
    functionLinenumber: 22193
    functionLinenumberEnd: 22302
    functionName: js_parse_template
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - js_parse_string
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_DefinePropertyValueUint32
    - js_parse_template_part
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - emit_op
    - js_parse_expr
    - JS_DupValue
    - seal_template_obj
    - js_parse_error
    - next_token
    - js_parse_expect
    - JS_FreeValue
    - emit_u16
    - emit_push_const
    - free_token
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_template(JSParseState *s, int call,
      int *argc) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30267,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30271,1
    - Dst: add_func_var
      Src: /src/gpac/src/quickjs/quickjs.c:30283,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30305,1
    - Dst: add_var_this
      Src: /src/gpac/src/quickjs/quickjs.c:30301,1
    - Dst: is_var_in_arg_scope
      Src: /src/gpac/src/quickjs/quickjs.c:30355,1
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:30368,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30253,1
    - Dst: add_var_this
      Src: /src/gpac/src/quickjs/quickjs.c:30265,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30269,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:30289,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:30324,1
    - Dst: add_func_var
      Src: /src/gpac/src/quickjs/quickjs.c:30317,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:30335,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:30346,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30307,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30303,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:30257,1
    - Dst: add_arguments_var
      Src: /src/gpac/src/quickjs/quickjs.c:30275,1
    - Dst: add_arguments_arg
      Src: /src/gpac/src/quickjs/quickjs.c:30280,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:30356,1
    - Dst: add_arguments_var
      Src: /src/gpac/src/quickjs/quickjs.c:30312,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 115
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 30375
      start: 30243
    functionDepth: 0
    functionLinenumber: 30243
    functionLinenumberEnd: 30375
    functionName: add_eval_variables
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_arguments_var
    - assert
    - add_arguments_arg
    - add_func_var
    - is_var_in_arg_scope
    - add_var
    - get_closure_var2
    - add_var_this
    - get_closure_var
    linkageType: ''
    returnType: void
    signature: 'static void add_eval_variables(JSContext *ctx, JSFunctionDef *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3296
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3296
    functionName: JS_AtomSymbolHasDescription
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL JS_AtomSymbolHasDescription(JSContext *ctx, JSAtom v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:19510,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:19511,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19515,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:19512,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19514,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19516,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19517,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19518,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:19519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - s
    - result
    - is_reject
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 19520
      start: 19502
    functionDepth: 0
    functionLinenumber: 19502
    functionLinenumberEnd: 19520
    functionName: js_async_generator_resolve_or_reject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - list_del
    - list_entry
    - js_free
    - JS_Call
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_resolve_or_reject(JSContext *ctx, JSAsyncGeneratorData
      *s, JSValueConst result, int is_reject) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emit_class_init_start
      Src: /src/gpac/src/quickjs/quickjs.c:22933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - cf
    argTypes:
    - JSParseState*
    - ClassFieldsDef*
    constantsTouched: []
    func_position:
      end: 22942
      start: 22928
    functionDepth: 0
    functionLinenumber: 22928
    functionLinenumberEnd: 22942
    functionName: add_brand
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_class_init_start
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int add_brand(JSParseState *s, ClassFieldsDef *cf) '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23938,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24031,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24090,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24097,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24142,1
    - Dst: js_define_var
      Src: /src/gpac/src/quickjs/quickjs.c:24155,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24219,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24264,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23956,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23950,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23988,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24101,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24135,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24256,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24274,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24291,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24293,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24308,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:24273,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:24073,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24047,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24057,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24119,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24203,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24216,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24315,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24060,1
    - Dst: js_parse_left_hand_side_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23977,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24012,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24014,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24144,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24163,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24196,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24286,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24167,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:24319,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23989,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24002,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24136,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24052,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24181,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:24229,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:24248,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24269,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:24292,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24307,1
    - Dst: js_parse_check_duplicate_parameter
      Src: /src/gpac/src/quickjs/quickjs.c:24124,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:23927,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23931,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24048,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24058,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24161,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24164,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24172,1
    - Dst: js_parse_left_hand_side_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24246,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:24277,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24305,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24133,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:24033,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:24200,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24270,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24302,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24026,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24043,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24024,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24038,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24150,1
    - Dst: js_define_var
      Src: /src/gpac/src/quickjs/quickjs.c:24241,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24263,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24266,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24300,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23937,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24030,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24049,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24143,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24059,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24162,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24187,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24189,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24284,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24081,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23944,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:23963,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23957,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:24005,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24018,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:24175,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24211,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:24221,1
    - Dst: js_parse_destructuring_var
      Src: /src/gpac/src/quickjs/quickjs.c:24238,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23941,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23966,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23985,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23990,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24046,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24056,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24085,1
    - Dst: js_parse_destructuring_var
      Src: /src/gpac/src/quickjs/quickjs.c:24066,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24120,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24145,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24089,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23939,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24011,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24013,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24015,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:24232,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:24217,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24299,1
    - Dst: js_parse_destructuring_var
      Src: /src/gpac/src/quickjs/quickjs.c:23969,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:23980,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24128,1
    - Dst: js_parse_left_hand_side_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24070,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24063,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24225,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24228,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24258,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24185,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23932,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23940,1
    - Dst: js_parse_property_name
      Src: /src/gpac/src/quickjs/quickjs.c:23993,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24105,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24165,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24168,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:24171,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24218,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24265,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24296,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24304,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24134,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23946,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23953,1
    - Dst: js_emit_spread_code
      Src: /src/gpac/src/quickjs/quickjs.c:24226,1
    - Dst: js_emit_spread_code
      Src: /src/gpac/src/quickjs/quickjs.c:24254,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:24329,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24208,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:24327,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24025,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24114,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24027,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23943,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24023,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24137,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:24148,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24151,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24230,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24267,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:24257,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 320
    argCount: 6
    argNames:
    - s
    - tok
    - is_arg
    - hasval
    - has_ellipsis
    - allow_initializer
    argTypes:
    - JSParseState*
    - int
    - int
    - int
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 24331
      start: 23915
    functionDepth: 0
    functionLinenumber: 23915
    functionLinenumberEnd: 24331
    functionName: js_parse_destructuring_element
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - memset
    - emit_goto
    - js_parse_check_duplicate_parameter
    - emit_op
    - emit_u8
    - JS_DupAtom
    - pop_break_entry
    - js_parse_assign_expr
    - set_object_name
    - push_break_entry
    - js_parse_property_name
    - JS_FreeAtom
    - js_parse_skip_parens_token
    - js_parse_error
    - JS_ThrowInternalError
    - next_token
    - emit_label
    - js_define_var
    - js_parse_destructuring_var
    - js_parse_expect
    - emit_u16
    - new_label
    - emit_u32
    - js_parse_left_hand_side_expr
    - put_lvalue
    - js_parse_destructuring_element
    - js_emit_spread_code
    - get_lvalue
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_destructuring_element(JSParseState *s, int tok,
      int is_arg, int hasval, int has_ellipsis, BOOL allow_initializer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:33805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSObjectList*
    constantsTouched: []
    func_position:
      end: 33806
      start: 33803
    functionDepth: 0
    functionLinenumber: 33803
    functionLinenumberEnd: 33806
    functionName: js_object_list_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void js_object_list_init(JSObjectList *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:3306,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:3314,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:3317,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3321,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3316,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3322,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3324,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3326,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3327,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:3329,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:3332,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3334
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3334
    functionName: print_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - putchar
    - printf
    - JS_AtomGetStr
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void print_atom(JSContext *ctx, JSAtom atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_create_iterator_result
      Src: /src/gpac/src/quickjs/quickjs.c:19528,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19531,1
    - Dst: js_async_generator_resolve_or_reject
      Src: /src/gpac/src/quickjs/quickjs.c:19530,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - s
    - value
    - done
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 19532
      start: 19522
    functionDepth: 0
    functionLinenumber: 19522
    functionLinenumberEnd: 19532
    functionName: js_async_generator_resolve
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_FreeValue
    - js_create_iterator_result
    - js_async_generator_resolve_or_reject
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_resolve(JSContext *ctx, JSAsyncGeneratorData
      *s, JSValueConst value, BOOL done) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22949,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22956,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:22955,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22954,1
    - Dst: cpool_add
      Src: /src/gpac/src/quickjs/quickjs.c:22952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - cf
    argTypes:
    - JSParseState*
    - ClassFieldsDef*
    constantsTouched: []
    func_position:
      end: 22957
      start: 22944
    functionDepth: 0
    functionLinenumber: 22944
    functionLinenumberEnd: 22957
    functionName: emit_class_init_end
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - cpool_add
    - emit_u32
    - emit_op
    linkageType: ''
    returnType: void
    signature: 'static void emit_class_init_end(JSParseState *s, ClassFieldsDef *cf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - cv
    - vd
    - var_idx
    argTypes:
    - JSContext*
    - JSClosureVar*
    - JSVarDef*
    - int
    constantsTouched: []
    func_position:
      end: 30387
      start: 30377
    functionDepth: 0
    functionLinenumber: 30377
    functionLinenumberEnd: 30387
    functionName: set_closure_from_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    linkageType: ''
    returnType: void
    signature: 'static void set_closure_from_var(JSContext *ctx, JSClosureVar *cv,
      JSVarDef *vd, int var_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p
    - hash_size
    argTypes:
    - JSObject*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33811
      start: 33808
    functionDepth: 0
    functionLinenumber: 33808
    functionLinenumberEnd: 33811
    functionName: js_object_list_get_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t js_object_list_get_hash(JSObject *p, uint32_t hash_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - sp
    - pp
    - pval
    argTypes:
    - JSString*
    - int*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48439
      start: 48418
    functionDepth: 0
    functionLinenumber: 48418
    functionLinenumberEnd: 48439
    functionName: string_get_digits
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_get_digits(JSString *sp, int *pp, int64_t *pval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51791,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51794,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51799
      start: 51787
    functionDepth: 0
    functionLinenumber: 51787
    functionLinenumberEnd: 51799
    functionName: js_typed_array_get_length_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - typed_array_is_detached
    - get_typed_array
    - JS_ThrowTypeErrorDetachedArrayBuffer
    linkageType: ''
    returnType: int
    signature: 'static int js_typed_array_get_length_internal(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - pp
    argTypes:
    - JSString*
    - int*
    constantsTouched: []
    func_position:
      end: 48415
      start: 48412
    functionDepth: 0
    functionLinenumber: 48412
    functionLinenumberEnd: 48415
    functionName: string_skip_non_spaces
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: void
    signature: 'static void string_skip_non_spaces(JSString *sp, int *pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51781,1
    - Dst: js_create_array_iterator
      Src: /src/gpac/src/quickjs/quickjs.c:51783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 51784
      start: 51778
    functionDepth: 0
    functionLinenumber: 51778
    functionLinenumberEnd: 51784
    functionName: js_create_typed_array_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - validate_typed_array
    - js_create_array_iterator
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_typed_array_iterator(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15563,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15568,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15564,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15567,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:15566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - obj
    - pdone
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL*
    constantsTouched: []
    func_position:
      end: 15575
      start: 15558
    functionDepth: 0
    functionLinenumber: 15558
    functionLinenumberEnd: 15575
    functionName: JS_IteratorGetCompleteValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_ToBoolFree
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_IteratorGetCompleteValue(JSContext *ctx, JSValueConst
      obj, BOOL *pdone) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:40243,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40248,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:40247,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40247,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40253
      start: 40237
    functionDepth: 0
    functionLinenumber: 40237
    functionLinenumberEnd: 40253
    functionName: js_string_fromCharCode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_putc16
    - string_buffer_free
    - string_buffer_init
    - JS_ToInt32
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_fromCharCode(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15582,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15589,1
    - Dst: JS_IteratorGetCompleteValue
      Src: /src/gpac/src/quickjs/quickjs.c:15586,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:15583,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15587,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:15591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 15593
      start: 15577
    functionDepth: 0
    functionLinenumber: 15577
    functionLinenumberEnd: 15593
    functionName: js_iterator_get_value_done
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IteratorGetCompleteValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_IsObject
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_iterator_get_value_done(JSContext *ctx,
      JSValue *sp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:40264,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40267,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:40277,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:40268,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:40272,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40280,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:40283,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40285,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40287
      start: 40255
    functionDepth: 0
    functionLinenumber: 40255
    functionLinenumberEnd: 40287
    functionName: js_string_fromCodePoint
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - string_buffer_free
    - JS_VALUE_GET_TAG
    - string_buffer_putc
    - JS_VALUE_GET_INT
    - string_buffer_init
    - JS_ToFloat64
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_fromCodePoint(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:45574,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45575,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:45580,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:45584,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:45587,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:45613,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:45631,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45648,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45651,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45658,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:45577,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45593,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45609,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45614,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:45608,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45606,1
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:45605,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45617,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45647,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45655,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45657,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45670,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:45600,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:45621,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:45635,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45636,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:45638,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45639,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:45643,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45644,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45646,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45654,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45667,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45669,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45668,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:45582,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:45593,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:45597,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45601,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45598,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45622,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45623,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:45632,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45652,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45659,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:45665,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:45663,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 5
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45672
      start: 45564
    functionDepth: 0
    functionLinenumber: 45564
    functionLinenumberEnd: 45672
    functionName: js_map_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_IsNull
    - JS_IsException
    - JS_ThrowTypeErrorNotAnObject
    - init_list_head
    - JS_ThrowTypeError
    - JS_SetOpaque
    - js_mallocz
    - JS_Call
    - JS_IsObject
    - JS_IteratorNext
    - JS_GetIterator
    - js_malloc
    - JS_IsFunction
    - JS_IteratorClose
    - JS_IsUndefined
    - JS_FreeValue
    - JS_GetProperty
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17100,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17102,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17103
      start: 17097
    functionDepth: 0
    functionLinenumber: 17097
    functionLinenumberEnd: 17103
    functionName: (OP_set_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_loc) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18116,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18118,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18119,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18122,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18116,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18130
      start: 18111
    functionDepth: 0
    functionLinenumber: 18111
    functionLinenumberEnd: 18130
    functionName: (OP_math_mod)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_math_mod) :#endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:42848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42849
      start: 42845
    functionDepth: 0
    functionLinenumber: 42845
    functionLinenumberEnd: 42849
    functionName: js_regexp___RegExpExec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RegExpExec
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp___RegExpExec(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51616,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51623,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51621,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51619,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - this_val
    - is_dataview
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 51628
      start: 51610
    functionDepth: 0
    functionLinenumber: 51610
    functionLinenumberEnd: 51628
    functionName: js_typed_array_get_byteLength
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - typed_array_is_detached
    - JS_NewInt32
    - get_typed_array
    - JS_ThrowTypeErrorDetachedArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_get_byteLength(JSContext *ctx, JSValueConst
      this_val, int is_dataview) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:39555,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:39558,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:39559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 39561
      start: 39553
    functionDepth: 0
    functionLinenumber: 39553
    functionLinenumberEnd: 39561
    functionName: js_array_iterator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_array_iterator_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_RegExpDelete
      Src: /src/gpac/src/quickjs/quickjs.c:42853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42854
      start: 42850
    functionDepth: 0
    functionLinenumber: 42850
    functionLinenumberEnd: 42854
    functionName: js_regexp___RegExpDelete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RegExpDelete
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp___RegExpDelete(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51636,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51643,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51647,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51639,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - this_val
    - is_dataview
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 51648
      start: 51630
    functionDepth: 0
    functionLinenumber: 51630
    functionLinenumberEnd: 51648
    functionName: js_typed_array_get_byteOffset
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - typed_array_is_detached
    - JS_NewInt32
    - get_typed_array
    - JS_ThrowTypeErrorDetachedArrayBuffer
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_get_byteOffset(JSContext *ctx, JSValueConst
      this_val, int is_dataview) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:40336,1
    - Dst: string_buffer_init2
      Src: /src/gpac/src/quickjs/quickjs.c:40348,1
    - Dst: max_uint32
      Src: /src/gpac/src/quickjs/quickjs.c:40346,1
    - Dst: min_uint32
      Src: /src/gpac/src/quickjs/quickjs.c:40339,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:40337,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:40351,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40354
      start: 40330
    functionDepth: 0
    functionLinenumber: 40330
    functionLinenumberEnd: 40354
    functionName: js_string_codePointRange
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - max_uint32
    - JS_ToUint32
    - string_buffer_init2
    - string_buffer_putc
    - string_buffer_end
    - min_uint32
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue js_string_codePointRange(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:50954,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50970,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50972,1
    - Dst: get_proto_obj
      Src: /src/gpac/src/quickjs/quickjs.c:50990,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:50975,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:50963,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:50958,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:50976,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:50987,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:50959,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:50964,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:50966,1
    - Dst: JS_NewAtomString
      Src: /src/gpac/src/quickjs/quickjs.c:50977,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:50979,1
    - Dst: add_shape_property
      Src: /src/gpac/src/quickjs/quickjs.c:50992,1
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:50955,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:50967,1
    - Dst: js_new_shape2
      Src: /src/gpac/src/quickjs/quickjs.c:50990,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:50980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 51001
      start: 50949
    functionDepth: 0
    functionLinenumber: 50949
    functionLinenumberEnd: 51001
    functionName: JS_AddIntrinsicBasicObjects
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunction3
    - JS_NewObject
    - JS_NewObjectProto
    - JS_SetPropertyFunctionList
    - js_new_shape2
    - JS_AtomToString
    - JS_DefinePropertyValue
    - JS_NewAtomString
    - JS_NewObjectProtoClass
    - JS_DupValue
    - get_proto_obj
    - countof
    - add_shape_property
    linkageType: ''
    returnType: void
    signature: 'static void JS_AddIntrinsicBasicObjects(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisStringValue
      Src: /src/gpac/src/quickjs/quickjs.c:41509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41510
      start: 41506
    functionDepth: 0
    functionLinenumber: 41506
    functionLinenumberEnd: 41510
    functionName: js_string_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisStringValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:40297,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:40299,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40302,1
    - Dst: JS_ToObjectFree
      Src: /src/gpac/src/quickjs/quickjs.c:40302,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40300,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40303,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:40305,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:40309,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:40309,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40310,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:40320,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:40325,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:40314,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40324,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40318,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:40312,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40327
      start: 40289
    functionDepth: 0
    functionLinenumber: 40289
    functionLinenumberEnd: 40327
    functionName: js_string_raw
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_IsException
    - js_get_length64
    - string_buffer_free
    - JS_GetProperty
    - JS_ToObjectFree
    - string_buffer_concat_value_free
    - JS_ToStringFree
    - JS_GetPropertyInt64
    - string_buffer_concat_value
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_raw(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34464,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:34479,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34473,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34481,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34476,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:34483,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:34484,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34486,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:34487,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:34492,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:34493,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34495,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:34496,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34503
      start: 34462
    functionDepth: 0
    functionLinenumber: 34462
    functionLinenumberEnd: 34503
    functionName: JS_WriteArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_GetPropertyUint32
    - JS_WriteObjectRec
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - js_get_length32
    - bc_put_u8
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteArray(BCWriterState *s, JSValueConst obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18313,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18315,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:18318,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18313,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18319,1
    - Dst: js_shr_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18327
      start: 18309
    functionDepth: 0
    functionLinenumber: 18309
    functionLinenumberEnd: 18327
    functionName: (OP_shr)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewUint32
    - likely
    - JS_VALUE_IS_BOTH_INT
    - js_shr_slow
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_shr) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:18991,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18996,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:18995,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:18992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSAsyncFunctionState*
    constantsTouched: []
    func_position:
      end: 18998
      start: 18987
    functionDepth: 0
    functionLinenumber: 18987
    functionLinenumberEnd: 18998
    functionName: async_func_resume
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CallInternal
    - JS_MKPTR
    - js_check_stack_overflow
    - JS_ThrowStackOverflow
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue async_func_resume(JSContext *ctx, JSAsyncFunctionState
      *s) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28413,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:28414,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28421,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28429,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28434,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28440,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28448,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28457,1
    - Dst: js_parse_from_clause
      Src: /src/gpac/src/quickjs/quickjs.c:28494,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:28534,1
    - Dst: js_parse_var
      Src: /src/gpac/src/quickjs/quickjs.c:28552,1
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:28525,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28554,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:28524,1
    - Dst: add_star_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28515,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28432,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28446,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28444,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28443,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28454,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28456,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28491,1
    - Dst: add_req_module_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28497,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28483,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28498,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:28556,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28485,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28523,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:28530,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28492,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28406,1
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:28415,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28467,1
    - Dst: js_parse_from_clause
      Src: /src/gpac/src/quickjs/quickjs.c:28468,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28487,1
    - Dst: js_parse_from_clause
      Src: /src/gpac/src/quickjs/quickjs.c:28508,1
    - Dst: add_req_module_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28511,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28512,1
    - Dst: js_parse_class
      Src: /src/gpac/src/quickjs/quickjs.c:28521,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:28542,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28545,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28488,1
    - Dst: js_parse_class
      Src: /src/gpac/src/quickjs/quickjs.c:28411,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28428,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28439,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28436,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28437,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28452,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28462,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:28465,1
    - Dst: add_req_module_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28471,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28472,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28501,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:28543,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:28539,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:28541,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28503,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 28557
      start: 28397
    functionDepth: 0
    functionLinenumber: 28397
    functionLinenumberEnd: 28557
    functionName: js_parse_export
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - peek_token
    - define_var
    - token_is_ident
    - js_parse_function_decl2
    - emit_op
    - JS_DupAtom
    - js_parse_assign_expr
    - set_object_name
    - js_parse_expect_semi
    - JS_FreeAtom
    - js_parse_from_clause
    - js_parse_error
    - next_token
    - js_parse_expect
    - js_parse_class
    - add_star_export_entry
    - token_is_pseudo_keyword
    - js_parse_var
    - emit_u16
    - add_req_module_entry
    - add_export_entry
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_export(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:6628,1
    - Dst: JS_ThrowError2
      Src: /src/gpac/src/quickjs/quickjs.c:6629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - error_num
    - fmt
    - ap
    argTypes:
    - JSContext*
    - JSErrorEnum
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 6630
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6630
    functionName: JS_ThrowError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetFunctionBytecode
    - JS_ThrowError2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowError(JSContext *ctx, JSErrorEnum error_num,
      const char *fmt, va_list ap) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29246,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29254,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29281,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29267,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29250,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29289,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:29264,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29298,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29310,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:29249,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29259,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29262,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29264,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29273,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29286,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:29279,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29297,1
    - Dst: dump_byte_code
      Src: /src/gpac/src/quickjs/quickjs.c:29299,1
    - Dst: dump_pc2line
      Src: /src/gpac/src/quickjs/quickjs.c:29308,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:29245,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29252,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29257,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29270,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:29282,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:29290,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - b
    argTypes:
    - JSContext*
    - JSFunctionBytecode*
    constantsTouched: []
    func_position:
      end: 29311
      start: 29238
    functionDepth: 0
    functionLinenumber: 29238
    functionLinenumberEnd: 29311
    functionName: js_dump_function_bytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dump_pc2line
    - dump_byte_code
    - printf
    - JS_AtomGetStr
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void js_dump_function_bytecode(JSContext *ctx,
      JSFunctionBytecode *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34507,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:34520,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34519,1
    - Dst: JS_AtomIsString
      Src: /src/gpac/src/quickjs/quickjs.c:34523,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34514,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:34526,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34532,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34533,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34542
      start: 34505
    functionDepth: 0
    functionLinenumber: 34505
    functionLinenumberEnd: 34542
    functionName: JS_WriteObjectTag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - get_shape_prop
    - bc_put_atom
    - JS_WriteObjectRec
    - JS_ThrowTypeError
    - bc_put_u8
    - bc_put_leb128
    - JS_AtomIsString
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteObjectTag(BCWriterState *s, JSValueConst obj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38893,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:38903,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:38929,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38916,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38924,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:38894,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:38910,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38913,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38914,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38888,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38895,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:38916,1
    - Dst: JS_ToLocaleStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:38918,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:38926,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38930,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38889,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:38897,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:38908,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38925,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:38920,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38932,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - toLocaleString
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 38934
      start: 38879
    functionDepth: 0
    functionLinenumber: 38879
    functionLinenumberEnd: 38934
    functionName: js_array_join
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_VALUE_GET_STRING
    - JS_ToObject
    - JS_FreeValue
    - JS_IsNull
    - js_get_length64
    - JS_IsException
    - string_buffer_free
    - JS_ToString
    - JS_IsUndefined
    - string_buffer_concat_value_free
    - JS_ToLocaleStringFree
    - string_buffer_putc8
    - string_buffer_init
    - string_buffer_end
    - string_buffer_concat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_join(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int toLocaleString) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - can_block
    argTypes:
    - JSRuntime*
    - BOOL
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: JS_SetCanBlock
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetCanBlock(JSRuntime *rt, BOOL can_block) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:2912,1
    - Dst: atom_set_free
      Src: /src/gpac/src/quickjs/quickjs.c:2941,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2947,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2929,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:2945,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2949,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSAtomStruct*
    constantsTouched: []
    func_position:
      end: 2950
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2950
    functionName: JS_FreeAtomStruct
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - list_del
    - js_free_rt
    - unlikely
    - atom_set_free
    linkageType: ''
    returnType: void
    signature: 'static void JS_FreeAtomStruct(JSRuntime *rt, JSAtomStruct *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9460,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - this_obj
    - prop
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValue
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9463
      start: 9452
    functionDepth: 0
    functionLinenumber: 9452
    functionLinenumberEnd: 9463
    functionName: JS_DefinePropertyGetSet
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DefineProperty
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyGetSet(JSContext *ctx, JSValueConst this_obj,
      JSAtom prop, JSValue getter, JSValue setter, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15642,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - obj
    - arrpp
    - countp
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 15651
      start: 15638
    functionDepth: 0
    functionLinenumber: 15638
    functionLinenumberEnd: 15651
    functionName: js_get_fast_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_get_fast_array(JSContext *ctx, JSValueConst obj, JSValue
      **arrpp, uint32_t *countp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:40011,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:40015,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:40022,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40014,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:40024,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:40026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40028
      start: 40004
    functionDepth: 0
    functionLinenumber: 40004
    functionLinenumberEnd: 40028
    functionName: js_parseInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - js_atof
    - skip_spaces
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_parseInt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38944,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:38952,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38945,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:38955,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:38951,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38963,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38964,1
    - Dst: JS_CopySubArray
      Src: /src/gpac/src/quickjs/quickjs.c:38966,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38969,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38970,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38977,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38977,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38984,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38980,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38985,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38973,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - shift
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 38987
      start: 38936
    functionDepth: 0
    functionLinenumber: 38936
    functionLinenumberEnd: 38987
    functionName: js_array_pop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DeletePropertyInt64
    - JS_ToObject
    - JS_FreeValue
    - JS_SetProperty
    - js_get_length64
    - JS_IsException
    - JS_CopySubArray
    - js_get_fast_array
    - JS_NewInt64
    - JS_GetPropertyInt64
    - memmove
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_pop(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - sf
    argTypes:
    - JSRuntime*
    - JSSharedArrayBufferFunctions*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1823
    functionName: JS_SetSharedArrayBufferFunctions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetSharedArrayBufferFunctions(JSRuntime *rt, const JSSharedArrayBufferFunctions
      *sf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtomStruct
      Src: /src/gpac/src/quickjs/quickjs.c:2959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - i
    argTypes:
    - JSRuntime*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2960
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2960
    functionName: __JS_FreeAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeAtomStruct
    linkageType: ''
    returnType: void
    signature: 'static void __JS_FreeAtom(JSRuntime *rt, uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:9468,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:9468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - idx
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9471
      start: 9465
    functionDepth: 0
    functionLinenumber: 9465
    functionLinenumberEnd: 9471
    functionName: JS_CreateDataPropertyUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DefinePropertyValueValue
    - JS_NewInt64
    linkageType: ''
    returnType: int
    signature: 'static int JS_CreateDataPropertyUint32(JSContext *ctx, JSValueConst
      this_obj, int64_t idx, JSValue val, int flags) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15673,1
    - Dst: JS_IsCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:15676,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15679,1
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:15681,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15682,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:15727,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15728,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15674,1
    - Dst: JS_IsCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:15690,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:15693,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15723,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15660,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15702,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:15691,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15722,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:15665,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:15661,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15684,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15710,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15686,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:15701,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:15709,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15685,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:15716,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15721,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15729,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 15731
      start: 15653
    functionDepth: 0
    functionLinenumber: 15653
    functionLinenumberEnd: 15731
    functionName: js_append_enumerate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetIterator
    - JS_FreeValue
    - JS_ThrowInternalError
    - JS_IteratorClose
    - JS_IsException
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_GetProperty
    - JS_IsCFunction
    - js_get_fast_array
    - js_get_length32
    - JS_DefinePropertyValueUint32
    - JS_DupValue
    - JS_VALUE_GET_INT
    - JS_IteratorNext
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_append_enumerate(JSContext *ctx, JSValue
      *sp) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:45145,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45151,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45170,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45154,1
    - Dst: JS_ThrowTypeErrorRevokedProxy
      Src: /src/gpac/src/quickjs/quickjs.c:45181,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:45184,1
    - Dst: JS_ThrowTypeErrorRevokedProxy
      Src: /src/gpac/src/quickjs/quickjs.c:45189,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:45192,1
    - Dst: find_prop_key
      Src: /src/gpac/src/quickjs/quickjs.c:45199,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45214,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45228,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:45153,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45184,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:45197,1
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:45127,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:45135,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:45131,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45136,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45192,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:45220,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45132,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45130,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:45142,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:45150,1
    - Dst: JS_IsSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:45153,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:45158,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:45175,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45159,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45155,1
    - Dst: find_prop_key
      Src: /src/gpac/src/quickjs/quickjs.c:45169,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45221,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:45226,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:45227,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45201,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 96
    argCount: 4
    argNames:
    - ctx
    - ptab
    - plen
    - obj
    argTypes:
    - JSContext*
    - JSPropertyEnum**
    - uint32_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45230
      start: 45114
    functionDepth: 0
    functionLinenumber: 45114
    functionLinenumberEnd: 45230
    functionName: js_proxy_get_own_property_names
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - get_proxy_method
    - JS_IsException
    - js_get_length32
    - JS_GetOwnPropertyNamesInternal
    - find_prop_key
    - JS_GetOwnPropertyInternal
    - JS_CallFree
    - js_free_prop_enum
    - JS_ThrowTypeError
    - js_free_desc
    - js_mallocz
    - JS_ThrowTypeErrorRevokedProxy
    - JS_IsExtensible
    - JS_IsUndefined
    - JS_IsString
    - JS_ValueToAtom
    - JS_IsSymbol
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_get_own_property_names(JSContext *ctx, JSPropertyEnum
      **ptab, uint32_t *plen, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:46776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - resolving_funcs
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 46777
      start: 46774
    functionDepth: 0
    functionLinenumber: 46774
    functionLinenumberEnd: 46777
    functionName: JS_NewPromiseCapability
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewPromiseCapability(JSContext *ctx, JSValue *resolving_funcs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52726
      start: 52724
    functionDepth: 0
    functionLinenumber: 52724
    functionLinenumberEnd: 52726
    functionName: js_TA_get_uint16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_uint16(JSContext *ctx, const void *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:45240,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:45243,1
    - Dst: JS_CallConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:45246,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45244,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45245,1
    - Dst: js_create_array
      Src: /src/gpac/src/quickjs/quickjs.c:45247,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45248,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:45255,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45256,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45256,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:45258,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45257,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45261,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45264
      start: 45232
    functionDepth: 0
    functionLinenumber: 45232
    functionLinenumberEnd: 45264
    functionName: js_proxy_call_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsConstructor
    - JS_CallConstructor2
    - get_proxy_method
    - JS_ThrowTypeError
    - js_create_array
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsUndefined
    - JS_Call
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_call_constructor(JSContext *ctx, JSValueConst
      func_obj, JSValueConst new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52730
      start: 52728
    functionDepth: 0
    functionLinenumber: 52728
    functionLinenumberEnd: 52730
    functionName: js_TA_get_int32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_int32(JSContext *ctx, const void *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7519,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:7520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - tab
    - len
    argTypes:
    - JSContext*
    - JSPropertyEnum*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 7522
      start: 7514
    functionDepth: 0
    functionLinenumber: 7514
    functionLinenumberEnd: 7522
    functionName: js_free_prop_enum
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void js_free_prop_enum(JSContext *ctx, JSPropertyEnum *tab,
      uint32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_alloc_string_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2875,1
    - Dst: __JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:2880,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:2878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - rt
    - str
    - len
    - atom_type
    argTypes:
    - JSRuntime*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2881
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2881
    functionName: __JS_NewAtomInit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewAtom
    - js_alloc_string_rt
    - memcpy
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom __JS_NewAtomInit(JSRuntime *rt, const char *str, int
      len, int atom_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6367
      start: 6360
    functionDepth: 0
    functionLinenumber: 6360
    functionLinenumberEnd: 6367
    functionName: JS_GetException
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetException(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_EvalFunctionInternal
      Src: /src/gpac/src/quickjs/quickjs.c:33582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - fun_obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 33583
      start: 33580
    functionDepth: 0
    functionLinenumber: 33580
    functionLinenumberEnd: 33583
    functionName: JS_EvalFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_EvalFunctionInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_EvalFunction(JSContext *ctx, JSValue fun_obj) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51906,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51917,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:51907,1
    - Dst: js_for_of_start
      Src: /src/gpac/src/quickjs/quickjs.c:51923,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:51935,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:51941,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51927,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51945,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51957,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51969,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51944,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51936,1
    - Dst: js_typed_array_create
      Src: /src/gpac/src/quickjs/quickjs.c:51943,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51953,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:51967,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51972,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51918,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:51919,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51920,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:51948,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:51954,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51955,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:51960,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51966,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51974,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51915,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:51914,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51922,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:51931,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:51939,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:51926,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51949,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51973,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51976
      start: 51885
    functionDepth: 0
    functionLinenumber: 51885
    functionLinenumberEnd: 51976
    functionName: js_typed_array_from
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - check_function
    - js_typed_array_create
    - JS_NewArray
    - JS_NewInt32
    - JS_NewInt64
    - JS_DupValue
    - JS_Call
    - JS_IteratorNext
    - js_for_of_start
    - JS_SetPropertyInt64
    - js_get_length64
    - JS_IteratorClose
    - JS_IsUndefined
    - JS_GetPropertyInt64
    - JS_FreeValue
    - JS_ToObject
    - JS_DefinePropertyValueInt64
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_from(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_string8
      Src: /src/gpac/src/quickjs/quickjs.c:2889,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:2899,1
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:2900,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - rt
    - str
    - len
    - atom_type
    argTypes:
    - JSRuntime*
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 2907
      start: 2883
    functionDepth: 0
    functionLinenumber: 2883
    functionLinenumberEnd: 2907
    functionName: __JS_FindAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcmp
    - __JS_AtomIsConst
    - hash_string8
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom __JS_FindAtom(JSRuntime *rt, const char *str, size_t
      len, int atom_type) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:13593,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13594,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13615,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:13609,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13595,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13616,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:13652,1
    - Dst: is_safe_integer
      Src: /src/gpac/src/quickjs/quickjs.c:13654,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13654,1
    - Dst: is_safe_integer
      Src: /src/gpac/src/quickjs/quickjs.c:13654,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13560,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13565,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13566,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13561,1
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:13579,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13582,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13583,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13605,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13604,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:13634,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13600,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:13599,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13601,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13617,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13625,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13626,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13631,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13632,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13656,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13567,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13610,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13620,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13621,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13622,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:13648,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13649,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 128
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 13663
      start: 13551
    functionDepth: 0
    functionLinenumber: 13551
    functionLinenumberEnd: 13663
    functionName: js_add_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - __JS_NewFloat64
    - JS_FreeValue
    - JS_ToNumericFree
    - JS_ConcatString
    - JS_IsException
    - js_call_binary_op_fallback
    - JS_NewInt64
    - JS_ToFloat64Free
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - is_safe_integer
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'int js_add_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14389,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14395,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14390,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14391,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14392,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14396,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14397,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14400,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14401,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14402,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14409,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14414,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14418,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14415,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14406,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:14408,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14420,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14405,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14428
      start: 14382
    functionDepth: 0
    functionLinenumber: 14382
    functionLinenumberEnd: 14428
    functionName: js_add_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ConcatString
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ToFloat64Free
    - JS_NewFloat64
    - JS_ToPrimitiveFree
    - JS_TAG_IS_FLOAT64
    linkageType: ''
    returnType: int
    signature: 'int js_add_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:33596,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 33608
      start: 33585
    functionDepth: 0
    functionLinenumber: 33585
    functionLinenumberEnd: 33608
    functionName: skip_shebang
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    linkageType: ''
    returnType: void
    signature: 'static void skip_shebang(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51985,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:51991,1
    - Dst: js_typed_array_create
      Src: /src/gpac/src/quickjs/quickjs.c:51986,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51987,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51991,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51997
      start: 51978
    functionDepth: 0
    functionLinenumber: 51978
    functionLinenumberEnd: 51997
    functionName: js_typed_array_of
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_typed_array_create
    - JS_SetPropertyUint32
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_of(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:6354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 6357
      start: 6351
    functionDepth: 0
    functionLinenumber: 6351
    functionLinenumberEnd: 6357
    functionName: JS_Throw
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_Throw(JSContext *ctx, JSValue obj) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:39284,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39290,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39296,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:39285,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39295,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:39297,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39299,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39300,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39302,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39303,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39305,1
    - Dst: JS_FlattenIntoArray
      Src: /src/gpac/src/quickjs/quickjs.c:39315,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39329,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39337,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39313,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:39309,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39321,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:39326,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 8
    argNames:
    - ctx
    - target
    - source
    - sourceLen
    - targetIndex
    - depth
    - mapperFunction
    - thisArg
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int64_t
    - int64_t
    - int
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 39339
      start: 39274
    functionDepth: 0
    functionLinenumber: 39274
    functionLinenumberEnd: 39339
    functionName: JS_FlattenIntoArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsArray
    - JS_DefinePropertyValueInt64
    - JS_ThrowTypeError
    - JS_IsException
    - js_get_length64
    - JS_FlattenIntoArray
    - js_check_stack_overflow
    - JS_NewInt64
    - JS_IsUndefined
    - JS_ThrowStackOverflow
    - JS_Call
    - JS_TryGetPropertyInt64
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t JS_FlattenIntoArray(JSContext *ctx, JSValueConst target,
      JSValueConst source, int64_t sourceLen, int64_t targetIndex, int depth, JSValueConst
      mapperFunction, JSValueConst thisArg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14593,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14607,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14599,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14598,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14606,1
    - Dst: js_strict_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14572,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14568,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14590,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14624,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14567,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14582,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14583,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14586,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14590,1
    - Dst: JS_IsHTMLDDA
      Src: /src/gpac/src/quickjs/quickjs.c:14615,1
    - Dst: JS_IsHTMLDDA
      Src: /src/gpac/src/quickjs/quickjs.c:14613,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14622,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14593,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14597,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14605,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14621,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 109
    argCount: 3
    argNames:
    - ctx
    - sp
    - is_neq
    argTypes:
    - JSContext*
    - JSValue*
    - BOOL
    constantsTouched: []
    func_position:
      end: 14630
      start: 14557
    functionDepth: 0
    functionLinenumber: 14557
    functionLinenumberEnd: 14630
    functionName: js_eq_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_IsHTMLDDA
    - js_strict_eq
    - JS_IsException
    - JS_NewInt32
    - JS_ToFloat64Free
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - JS_NewBool
    linkageType: ''
    returnType: int
    signature: 'int js_eq_slow(JSContext *ctx, JSValue *sp, BOOL is_neq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39350,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:39366,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39365,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39351,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:39362,1
    - Dst: JS_ArraySpeciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:39370,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:39370,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39371,1
    - Dst: JS_FlattenIntoArray
      Src: /src/gpac/src/quickjs/quickjs.c:39373,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39376,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39381,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - map
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 39383
      start: 39341
    functionDepth: 0
    functionLinenumber: 39341
    functionLinenumberEnd: 39383
    functionName: js_array_flatten
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_get_length64
    - JS_IsException
    - JS_NewInt32
    - JS_FlattenIntoArray
    - JS_IsUndefined
    - JS_ArraySpeciesCreate
    - check_function
    - JS_ToInt32Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_flatten(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int map) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7567,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7589,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7595,1
    - Dst: JS_AtomGetKind
      Src: /src/gpac/src/quickjs/quickjs.c:7599,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7650,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:7700,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:7704,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:7706,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7566,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7566,1
    - Dst: js_string_obj_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:7589,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:7631,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:7631,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7676,1
    - Dst: JS_AtomGetKind
      Src: /src/gpac/src/quickjs/quickjs.c:7690,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:7705,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7563,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:7633,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:7643,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:7606,1
    - Dst: JS_AtomGetKind
      Src: /src/gpac/src/quickjs/quickjs.c:7647,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7658,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7673,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7697,1
    - Dst: rqsort
      Src: /src/gpac/src/quickjs/quickjs.c:7709,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:7554,1
    - Dst: JS_AtomGetKind
      Src: /src/gpac/src/quickjs/quickjs.c:7558,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7571,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:7608,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:7614,1
    - Dst: js_string_obj_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:7673,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:7678,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 199
    argCount: 5
    argNames:
    - ctx
    - ptab
    - plen
    - p
    - flags
    argTypes:
    - JSContext*
    - JSPropertyEnum**
    - uint32_t*
    - JSObject*
    - int
    constantsTouched: []
    func_position:
      end: 7715
      start: 7526
    functionDepth: 0
    functionLinenumber: 7526
    functionLinenumberEnd: 7715
    functionName: JS_GetOwnPropertyNamesInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    - JS_GetOwnPropertyInternal
    - js_free_prop_enum
    - JS_AtomIsArrayIndex
    - JS_DupAtom
    - rqsort
    - js_free_desc
    - JS_ThrowReferenceErrorUninitialized
    - JS_FreeAtom
    - JS_IsUninitialized
    - get_shape_prop
    - assert
    - js_malloc
    - JS_AtomGetKind
    - JS_MKPTR
    - unlikely
    - max_int
    - js_string_obj_get_length
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: int
    signature: 'static int __exception JS_GetOwnPropertyNamesInternal(JSContext *ctx,
      JSPropertyEnum **ptab, uint32_t *plen, JSObject *p, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17622,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:17625,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17626,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17629
      start: 17620
    functionDepth: 0
    functionLinenumber: 17620
    functionLinenumberEnd: 17629
    functionName: (OP_get_field2)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_GetProperty
    - JS_IsException
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_field2) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45979,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:45982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 45983
      start: 45977
    functionDepth: 0
    functionLinenumber: 45977
    functionLinenumberEnd: 45983
    functionName: js_map_get_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque2
    - JS_NewUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_get_size(JSContext *ctx, JSValueConst this_val,
      int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46627,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46636,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46640,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:46634,1
    - Dst: promise_reaction_data_free
      Src: /src/gpac/src/quickjs/quickjs.c:46637,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 46642
      start: 46625
    functionDepth: 0
    functionLinenumber: 46625
    functionLinenumberEnd: 46642
    functionName: js_promise_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_entry
    - js_free_rt
    - JS_GetOpaque
    - JS_FreeValueRT
    - list_for_each_safe
    - promise_reaction_data_free
    linkageType: ''
    returnType: void
    signature: 'static void js_promise_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:49147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49148
      start: 49144
    functionDepth: 0
    functionLinenumber: 49144
    functionLinenumberEnd: 49148
    functionName: js_dummy_operators_ctor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dummy_operators_ctor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:51571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 51573
      start: 51568
    functionDepth: 0
    functionLinenumber: 51568
    functionLinenumberEnd: 51573
    functionName: typed_array_get_length
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - typed_array_size_log2
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t typed_array_get_length(JSContext *ctx, JSObject *p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45988,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:46001,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46007,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46015,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46011,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46021,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46022,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46024,1
    - Dst: map_decref_record
      Src: /src/gpac/src/quickjs/quickjs.c:46026,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46027,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46029,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 46035
      start: 45985
    functionDepth: 0
    functionLinenumber: 45985
    functionLinenumberEnd: 46035
    functionName: js_map_forEach
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetOpaque2
    - list_entry
    - JS_DupValue
    - JS_Call
    - check_function
    - map_decref_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_forEach(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46647,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46658,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:46654,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46657,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46656,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46659,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 46663
      start: 46644
    functionDepth: 0
    functionLinenumber: 46644
    functionLinenumberEnd: 46663
    functionName: js_promise_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - list_for_each
    - list_entry
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_promise_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:49156,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49157,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:49162,1
    - Dst: js_operators_create_internal
      Src: /src/gpac/src/quickjs/quickjs.c:49159,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49160,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:49164,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49166,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:49168,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49170,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49173,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49176
      start: 49150
    functionDepth: 0
    functionLinenumber: 49150
    functionLinenumberEnd: 49176
    functionName: js_global_operators
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - JS_IsException
    - JS_NewCFunction2
    - JS_DefinePropertyValue
    - js_operators_create_internal
    - JS_SetConstructor2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_operators(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51578,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51582,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51586
      start: 51575
    functionDepth: 0
    functionLinenumber: 51575
    functionLinenumberEnd: 51586
    functionName: validate_typed_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - typed_array_is_detached
    - get_typed_array
    - JS_ThrowTypeErrorDetachedArrayBuffer
    linkageType: ''
    returnType: int
    signature: 'static int validate_typed_array(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:18922,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:18929,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:18927,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:18929,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:18923,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18932,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18933,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18939,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - ctx
    - s
    - func_obj
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSAsyncFunctionState*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18944
      start: 18912
    functionDepth: 0
    functionLinenumber: 18912
    functionLinenumberEnd: 18944
    functionName: async_func_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_malloc
    - max_int
    - JS_DupValue
    - init_list_head
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int async_func_init(JSContext *ctx, JSAsyncFunctionState
      *s, JSValueConst func_obj, JSValueConst this_obj, int argc, JSValueConst *argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: get_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48198,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:48203,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:48205,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48223,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48229,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48239,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48242,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48245,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48249,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48261,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48265,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48279,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:48289,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48283,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:48274,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 117
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 48290
      start: 48186
    functionDepth: 0
    functionLinenumber: 48186
    functionLinenumberEnd: 48290
    functionName: get_date_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - snprintf
    - JS_ThrowRangeError
    - JS_NewString
    - get_date_fields
    - JS_NewStringLen
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue get_date_string(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:45832,1
    - Dst: delete_weak_ref
      Src: /src/gpac/src/quickjs/quickjs.c:45834,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:45838,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:45840,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:45836,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:45841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - rt
    - s
    - mr
    argTypes:
    - JSRuntime*
    - JSMapState*
    - JSMapRecord*
    constantsTouched: []
    func_position:
      end: 45849
      start: 45828
    functionDepth: 0
    functionLinenumber: 45828
    functionLinenumberEnd: 45849
    functionName: map_delete_record
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - list_del
    - delete_weak_ref
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void map_delete_record(JSRuntime *rt, JSMapState *s, JSMapRecord
      *mr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_Invoke
      Src: /src/gpac/src/quickjs/quickjs.c:18906,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - this_val
    - atom
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValue
    - JSAtom
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18909
      start: 18903
    functionDepth: 0
    functionLinenumber: 18903
    functionLinenumberEnd: 18909
    functionName: JS_InvokeFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_Invoke
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_InvokeFree(JSContext *ctx, JSValue this_val, JSAtom
      atom, int argc, JSValueConst *argv) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_property_name
      Src: /src/gpac/src/quickjs/quickjs.c:22701,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22735,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:22746,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:22750,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22774,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:22777,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22689,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22694,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:22695,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22697,1
    - Dst: set_object_name_computed
      Src: /src/gpac/src/quickjs/quickjs.c:22753,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22766,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22758,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22678,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22693,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:22691,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22696,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22709,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:22731,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22711,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:22748,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22754,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22755,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22761,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22681,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22707,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22708,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22710,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22738,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22737,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:22764,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22765,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22781,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22769,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 88
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 22783
      start: 22671
    functionDepth: 0
    functionLinenumber: 22671
    functionLinenumberEnd: 22783
    functionName: js_parse_object_literal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_function_decl
    - emit_atom
    - emit_op
    - js_parse_error
    - emit_u16
    - emit_u8
    - next_token
    - js_parse_assign_expr
    - set_object_name
    - set_object_name_computed
    - js_parse_expect
    - js_parse_property_name
    - JS_FreeAtom
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_object_literal(JSParseState *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48158,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:48168,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48170,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48166,1
    - Dst: set_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48172,1
    - Dst: JS_SetThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 48176
      start: 48145
    functionDepth: 0
    functionLinenumber: 48145
    functionLinenumberEnd: 48176
    functionName: set_date_field
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - trunc
    - isfinite
    - JS_SetThisTimeValue
    - get_date_fields
    - JS_ToFloat64
    - set_date_fields
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue set_date_field(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:21565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - JSParseState*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 21566
      start: 21563
    functionDepth: 0
    functionLinenumber: 21563
    functionLinenumberEnd: 21566
    functionName: emit_u8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void emit_u8(JSParseState *s, uint8_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53279,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:53282,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:53282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 53284
      start: 53276
    functionDepth: 0
    functionLinenumber: 53276
    functionLinenumberEnd: 53284
    functionName: js_typed_array_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void js_typed_array_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18143,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18144,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18149
      start: 18139
    functionDepth: 0
    functionLinenumber: 18139
    functionLinenumberEnd: 18149
    functionName: (OP_plus)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_TAG_IS_FLOAT64
    - js_unary_arith_slow
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_plus) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:21570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - JSParseState*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 21571
      start: 21568
    functionDepth: 0
    functionLinenumber: 21568
    functionLinenumberEnd: 21571
    functionName: emit_u16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void emit_u16(JSParseState *s, uint16_t val) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: js_get_array_buffer
      Src: /src/gpac/src/quickjs/quickjs.c:53299,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53310,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53304,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53308,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:53312,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53314,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53317,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:53321,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53322,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53326,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:53329,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53332,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:53337,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53335,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53337,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:53340,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 53343
      start: 53286
    functionDepth: 0
    functionLinenumber: 53286
    functionLinenumberEnd: 53343
    functionName: js_dataview_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowRangeError
    - js_malloc
    - js_get_array_buffer
    - JS_IsException
    - JS_IsUndefined
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_DupValue
    - js_create_from_ctor
    - list_add_tail
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dataview_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38817,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38831,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38850,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38832,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:38809,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38818,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:38820,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38821,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:38829,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38852,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38804,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:38826,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38827,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38841,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38845,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38843,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38851,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38805,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38835,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38840,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38836,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - findIndex
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 38854
      start: 38794
    functionDepth: 0
    functionLinenumber: 38794
    functionLinenumberEnd: 38854
    functionName: js_array_find
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_get_length64
    - JS_IsException
    - JS_NewInt32
    - JS_NewInt64
    - JS_Call
    - check_function
    - JS_ToBoolFree
    - JS_GetPropertyValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_find(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int findIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37267,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37268
      start: 37264
    functionDepth: 0
    functionLinenumber: 37264
    functionLinenumberEnd: 37268
    functionName: js_object___isObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___isObject(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:52747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52748
      start: 52746
    functionDepth: 0
    functionLinenumber: 52746
    functionLinenumberEnd: 52748
    functionName: js_TA_get_float32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_float32(JSContext *ctx, const void *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37273,1
    - Dst: js_same_value_zero
      Src: /src/gpac/src/quickjs/quickjs.c:37273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37274
      start: 37270
    functionDepth: 0
    functionLinenumber: 37270
    functionLinenumberEnd: 37274
    functionName: js_object___isSameValueZero
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_same_value_zero
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___isSameValueZero(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38861,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38865,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38864,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38862,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:38868,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38870,1
    - Dst: js_object_toString
      Src: /src/gpac/src/quickjs/quickjs.c:38871,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:38873,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38877
      start: 38856
    functionDepth: 0
    functionLinenumber: 38856
    functionLinenumberEnd: 38877
    functionName: js_array_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_IsFunction
    - JS_IsException
    - JS_GetProperty
    - js_object_toString
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:52751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52752
      start: 52750
    functionDepth: 0
    functionLinenumber: 52750
    functionLinenumberEnd: 52752
    functionName: js_TA_get_float64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_float64(JSContext *ctx, const void *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - fd
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21710
      start: 21702
    functionDepth: 0
    functionLinenumber: 21702
    functionLinenumberEnd: 21710
    functionName: find_arg
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_arg(JSContext *ctx, JSFunctionDef *fd, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_arg
      Src: /src/gpac/src/quickjs/quickjs.c:21719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - fd
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21720
      start: 21712
    functionDepth: 0
    functionLinenumber: 21712
    functionLinenumberEnd: 21720
    functionName: find_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_arg
    linkageType: ''
    returnType: int
    signature: 'static int find_var(JSContext *ctx, JSFunctionDef *fd, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:42863,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:42866,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42867,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:42868,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42869
      start: 42857
    functionDepth: 0
    functionLinenumber: 42857
    functionLinenumberEnd: 42869
    functionName: js_regexp_test
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_RegExpExec
    - JS_IsNull
    - JS_IsException
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_test(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:44303,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:44303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 44304
      start: 44300
    functionDepth: 0
    functionLinenumber: 44300
    functionLinenumberEnd: 44304
    functionName: JS_AddIntrinsicJSON
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - countof
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicJSON(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - int*
    constantsTouched: []
    func_position:
      end: 34949
      start: 34946
    functionDepth: 0
    functionLinenumber: 34946
    functionLinenumberEnd: 34949
    functionName: bc_get_leb128_int
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_leb128
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_leb128_int(BCReaderState *s, int *pval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_resolve_export1
      Src: /src/gpac/src/quickjs/quickjs.c:27560,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27563,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - pmodule
    - pme
    - m
    - export_name
    argTypes:
    - JSContext*
    - JSModuleDef**
    - JSExportEntry**
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27567
      start: 27546
    functionDepth: 0
    functionLinenumber: 27546
    functionLinenumberEnd: 27567
    functionName: js_resolve_export
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resolve_export1
    - js_free
    - JS_FreeAtom
    linkageType: ''
    returnType: JSResolveResultEnum
    signature: 'static JSResolveResultEnum js_resolve_export(JSContext *ctx, JSModuleDef
      **pmodule, JSExportEntry **pme, JSModuleDef *m, JSAtom export_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - s
    - pc
    - line_num
    argTypes:
    - JSFunctionDef*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 31175
      start: 31163
    functionDepth: 0
    functionLinenumber: 31163
    functionLinenumberEnd: 31175
    functionName: add_pc2line_info
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void add_pc2line_info(JSFunctionDef *s, uint32_t pc, int line_num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:14993,1
    - Dst: js_throw_type_error
      Src: /src/gpac/src/quickjs/quickjs.c:14995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 14998
      start: 14990
    functionDepth: 0
    functionLinenumber: 14990
    functionLinenumberEnd: 14998
    functionName: js_function_proto_caller
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetFunctionBytecode
    - js_throw_type_error
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_proto_caller(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16994,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:17000,1
    - Dst: JS_CheckGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:16997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17001
      start: 16991
    functionDepth: 0
    functionLinenumber: 16991
    functionLinenumberEnd: 17001
    functionName: (OP_check_var)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_CheckGlobalVar
    - JS_NewBool
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_check_var) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17817,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17821,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17823
      start: 17814
    functionDepth: 0
    functionLinenumber: 17814
    functionLinenumberEnd: 17823
    functionName: (OP_get_array_el)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetPropertyValue
    - unlikely
    - JS_IsException
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_array_el) : '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: add_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:22013,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22038,1
    - Dst: add_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:22068,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:22115,1
    - Dst: find_lexical_decl
      Src: /src/gpac/src/quickjs/quickjs.c:22096,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:22127,1
    - Dst: find_arg
      Src: /src/gpac/src/quickjs/quickjs.c:22045,1
    - Dst: find_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:22056,1
    - Dst: is_child_scope
      Src: /src/gpac/src/quickjs/quickjs.c:22057,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22059,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:22118,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22051,1
    - Dst: find_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:22104,1
    - Dst: add_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:22109,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22047,1
    - Dst: find_lexical_decl
      Src: /src/gpac/src/quickjs/quickjs.c:22020,1
    - Dst: find_var_in_child_scope
      Src: /src/gpac/src/quickjs/quickjs.c:22050,1
    - Dst: add_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:22082,1
    - Dst: add_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:22092,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22100,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 110
    argCount: 4
    argNames:
    - s
    - fd
    - name
    - var_def_type
    argTypes:
    - JSParseState*
    - JSFunctionDef*
    - JSAtom
    - JSVarDefEnum
    constantsTouched: []
    func_position:
      end: 22130
      start: 22004
    functionDepth: 0
    functionLinenumber: 22004
    functionLinenumberEnd: 22130
    functionName: define_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_var_in_child_scope
    - add_scope_var
    - js_parse_error
    - find_lexical_decl
    - add_global_var
    - is_child_scope
    - find_global_var
    - add_var
    - abort
    - find_var
    - find_arg
    linkageType: ''
    returnType: int
    signature: 'static int define_var(JSParseState *s, JSFunctionDef *fd, JSAtom name,
      JSVarDefEnum var_def_type) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34215,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:34257,1
    - Dst: dbuf_put_u64
      Src: /src/gpac/src/quickjs/quickjs.c:34270,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:34320,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:34201,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:34230,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:34213,1
    - Dst: bc_put_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:34233,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:34263,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34296,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34265,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:34293,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34282,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34241,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:34268,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:34196,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:34251,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34254,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:34313,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34291,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34325
      start: 34192
    functionDepth: 0
    functionLinenumber: 34192
    functionLinenumberEnd: 34325
    functionName: JS_WriteBigNum
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - bswap64
    - JS_ThrowInternalError
    - abort
    - JS_VALUE_GET_PTR
    - JS_VALUE_GET_TAG
    - bc_put_sleb128
    - bswap32
    - dbuf_putc
    - dbuf_put_u32
    - bc_put_u8
    - bc_put_leb128
    - dbuf_put_u64
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteBigNum(BCWriterState *s, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:15003,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:15005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 15008
      start: 15000
    functionDepth: 0
    functionLinenumber: 15000
    functionLinenumberEnd: 15008
    functionName: js_function_proto_fileName
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetFunctionBytecode
    - JS_AtomToString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_proto_fileName(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:27580,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27581,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27582,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27586,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:27585,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27587,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:27590,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27591,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - res
    - m
    - export_name
    argTypes:
    - JSContext*
    - JSResolveResultEnum
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27595
      start: 27569
    functionDepth: 0
    functionLinenumber: 27569
    functionLinenumberEnd: 27595
    functionName: js_resolve_export_throw_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    - JS_AtomGetStr
    linkageType: ''
    returnType: void
    signature: 'static void js_resolve_export_throw_error(JSContext *ctx, JSResolveResultEnum
      res, JSModuleDef *m, JSAtom export_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:31184,1
    - Dst: dbuf_put_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:31207,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31205,1
    - Dst: dbuf_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:31206,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 31213
      start: 31177
    functionDepth: 0
    functionLinenumber: 31177
    functionLinenumberEnd: 31213
    functionName: compute_pc2line_info
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_dbuf_init
    - dbuf_putc
    - dbuf_put_sleb128
    - dbuf_put_leb128
    linkageType: ''
    returnType: void
    signature: 'static void compute_pc2line_info(JSFunctionDef *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 34960
      start: 34951
    functionDepth: 0
    functionLinenumber: 34951
    functionLinenumberEnd: 34960
    functionName: bc_get_leb128_u16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_leb128
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_leb128_u16(BCReaderState *s, uint16_t *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48756,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48759
      start: 48750
    functionDepth: 0
    functionLinenumber: 48750
    functionLinenumberEnd: 48759
    functionName: js_date_getTime
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewFloat64
    - JS_ThisTimeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_getTime(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:22140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - s
    - fd
    - name
    - var_kind
    argTypes:
    - JSParseState*
    - JSFunctionDef*
    - JSAtom
    - JSVarKindEnum
    constantsTouched: []
    func_position:
      end: 22147
      start: 22133
    functionDepth: 0
    functionLinenumber: 22133
    functionLinenumberEnd: 22147
    functionName: add_private_class_field
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_scope_var
    linkageType: ''
    returnType: int
    signature: 'static int add_private_class_field(JSParseState *s, JSFunctionDef
      *fd, JSAtom name, JSVarKindEnum var_kind) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41263,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/quickjs.c:41270,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41266,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41264,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:41270,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/quickjs.c:41274,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:41274,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41277,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 41280
      start: 41256
    functionDepth: 0
    functionLinenumber: 41256
    functionLinenumberEnd: 41280
    functionName: js_string_trim
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - string_get
    - lre_is_space
    - JS_ToStringCheckObject
    - js_sub_string
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_trim(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_thisNumberValue
      Src: /src/gpac/src/quickjs/quickjs.c:39948,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:39953,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:39955,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:39951,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39949,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:39956,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:39956,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39958,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:39963,1
    - Dst: js_dtoa
      Src: /src/gpac/src/quickjs/quickjs.c:39967,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39968
      start: 39941
    functionDepth: 0
    functionLinenumber: 39941
    functionLinenumberEnd: 39968
    functionName: js_number_toExponential
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - isfinite
    - JS_ThrowRangeError
    - JS_IsException
    - JS_ToFloat64Free
    - js_thisNumberValue
    - JS_IsUndefined
    - JS_ToInt32Sat
    - JS_ToStringFree
    - js_dtoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_toExponential(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:3595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringBuffer*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3593
    functionDepth: 0
    functionLinenumber: 3593
    functionLinenumberEnd: 3600
    functionName: string_buffer_set_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_set_error(StringBuffer *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:10799,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - pres
    - val
    - min
    - max
    - min_offset
    argTypes:
    - JSContext*
    - int*
    - JSValueConst
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 10811
      start: 10796
    functionDepth: 0
    functionLinenumber: 10796
    functionLinenumberEnd: 10811
    functionName: JS_ToInt32Clamp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToInt32SatFree
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt32Clamp(JSContext *ctx, int *pres, JSValueConst val, int
      min, int max, int min_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34928,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34929,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 34933
      start: 34925
    functionDepth: 0
    functionLinenumber: 34925
    functionLinenumberEnd: 34933
    functionName: bc_get_leb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_leb128
    - bc_read_error_end
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_leb128(BCReaderState *s, uint32_t *pval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_thisNumberValue
      Src: /src/gpac/src/quickjs/quickjs.c:39900,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39901,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39903,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:39906,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:39910,1
    - Dst: js_dtoa
      Src: /src/gpac/src/quickjs/quickjs.c:39912,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 39916
      start: 39893
    functionDepth: 0
    functionLinenumber: 39893
    functionLinenumberEnd: 39916
    functionName: js_number_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - js_get_radix
    - JS_ToFloat64Free
    - JS_IsUndefined
    - js_thisNumberValue
    - js_dtoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToQuotedString
      Src: /src/gpac/src/quickjs/quickjs.c:41285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41286
      start: 41282
    functionDepth: 0
    functionLinenumber: 41282
    functionLinenumberEnd: 41286
    functionName: js_string___quote
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToQuotedString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___quote(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:3611,1
    - Dst: string_buffer_set_error
      Src: /src/gpac/src/quickjs/quickjs.c:3613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - StringBuffer*
    - int
    constantsTouched: []
    func_position:
      end: 3622
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3622
    functionName: string_buffer_widen
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_set_error
    - js_realloc2
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int string_buffer_widen(StringBuffer *s, int size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10818,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10824,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10831,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:10832,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10847,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:10848,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10849,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10854,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10855,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10861
      start: 10813
    functionDepth: 0
    functionLinenumber: 10813
    functionLinenumberEnd: 10861
    functionName: JS_ToInt64SatFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_PTR
    - isnan
    - bf_get_int64
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToInt64SatFree(JSContext *ctx, int64_t *pres, JSValue
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17279,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs.c:17282,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17281,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17285,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17287
      start: 17276
    functionDepth: 0
    functionLinenumber: 17276
    functionLinenumberEnd: 17287
    functionName: (OP_put_loc_check_init)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    - unlikely
    - JS_ThrowReferenceError
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_loc_check_init) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:34938,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34940,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 34943
      start: 34935
    functionDepth: 0
    functionLinenumber: 34935
    functionLinenumberEnd: 34943
    functionName: bc_get_sleb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - bc_read_error_end
    - get_sleb128
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_sleb128(BCReaderState *s, int32_t *pval) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_thisNumberValue
      Src: /src/gpac/src/quickjs/quickjs.c:39925,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39926,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:39930,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:39928,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:39933,1
    - Dst: fabs
      Src: /src/gpac/src/quickjs/quickjs.c:39934,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:39935,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:39935,1
    - Dst: js_dtoa
      Src: /src/gpac/src/quickjs/quickjs.c:39937,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39939
      start: 39918
    functionDepth: 0
    functionLinenumber: 39918
    functionLinenumberEnd: 39939
    functionName: js_number_toFixed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_ThrowRangeError
    - JS_IsException
    - fabs
    - JS_ToFloat64Free
    - js_thisNumberValue
    - JS_ToInt32Sat
    - JS_ToStringFree
    - js_dtoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_toFixed(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_thisNumberValue
      Src: /src/gpac/src/quickjs/quickjs.c:39977,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39982,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:39980,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39978,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:39984,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:39986,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:39988,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:39988,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:39991,1
    - Dst: js_dtoa
      Src: /src/gpac/src/quickjs/quickjs.c:39992,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39993
      start: 39970
    functionDepth: 0
    functionLinenumber: 39970
    functionLinenumberEnd: 39993
    functionName: js_number_toPrecision
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - isfinite
    - JS_ThrowRangeError
    - JS_IsException
    - JS_IsUndefined
    - JS_ToFloat64Free
    - js_thisNumberValue
    - JS_ToInt32Sat
    - JS_ToStringFree
    - js_dtoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_toPrecision(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6863,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6871,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6870,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6867,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6864,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6872,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:6874,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6879,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6882,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:6885,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:6904,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:6913,1
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:6916,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:6920,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:6892,1
    - Dst: js_proxy_setPrototypeOf
      Src: /src/gpac/src/quickjs/quickjs.c:6886,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:6920,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 4
    argNames:
    - ctx
    - obj
    - proto_val
    - throw_flag
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 6923
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6923
    functionName: JS_SetPrototypeInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    - js_shape_prepare_update
    - js_proxy_setPrototypeOf
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetPrototypeInternal(JSContext *ctx, JSValueConst obj,
      JSValueConst proto_val, BOOL throw_flag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9587,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9592,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9603,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:9597,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:9602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - prop
    - def_flags
    argTypes:
    - JSContext*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 9607
      start: 9578
    functionDepth: 0
    functionLinenumber: 9578
    functionLinenumberEnd: 9607
    functionName: JS_DefineGlobalVar
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - find_own_property1
    - add_property
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefineGlobalVar(JSContext *ctx, JSAtom prop, int def_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1373,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1374,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:1375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - ptr
    - size
    argTypes:
    - JSContext*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1379
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1379
    functionName: js_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_realloc_rt
    - unlikely
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: void*
    signature: 'void *js_realloc(JSContext *ctx, void *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:6847,1
    - Dst: __js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:6848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6852
      start: 6845
    functionDepth: 0
    functionLinenumber: 6845
    functionLinenumberEnd: 6852
    functionName: js_poll_interrupts
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - __js_poll_interrupts
    linkageType: ''
    returnType: __exception
    signature: 'static inline __exception int js_poll_interrupts(JSContext *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9541,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9557,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9565,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:9542,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:9566,1
    - Dst: JS_ThrowSyntaxErrorVarRedeclaration
      Src: /src/gpac/src/quickjs/quickjs.c:9569,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - prop
    - flags
    argTypes:
    - JSContext*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 9573
      start: 9536
    functionDepth: 0
    functionLinenumber: 9536
    functionLinenumberEnd: 9573
    functionName: JS_CheckDefineGlobalVar
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeErrorAtom
    - find_own_property1
    - JS_ThrowSyntaxErrorVarRedeclaration
    linkageType: ''
    returnType: int
    signature: 'static int JS_CheckDefineGlobalVar(JSContext *ctx, JSAtom prop, int
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2426
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2426
    functionName: __JS_AtomIsTaggedInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL __JS_AtomIsTaggedInt(JSAtom v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5321,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5325
      start: 5318
    functionDepth: 0
    functionLinenumber: 5318
    functionLinenumberEnd: 5325
    functionName: js_c_function_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - mark_func
    linkageType: ''
    returnType: void
    signature: 'static void js_c_function_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:7115,1
    - Dst: js_autoinit_get_id
      Src: /src/gpac/src/quickjs/quickjs.c:7119,1
    - Dst: js_autoinit_free
      Src: /src/gpac/src/quickjs/quickjs.c:7122,1
    - Dst: func
      Src: /src/gpac/src/quickjs/quickjs.c:7121,1
    - Dst: js_autoinit_get_realm
      Src: /src/gpac/src/quickjs/quickjs.c:7118,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - p
    - prop
    - pr
    - prs
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - JSProperty*
    - JSShapeProperty*
    constantsTouched: []
    func_position:
      end: 7129
      start: 7108
    functionDepth: 0
    functionLinenumber: 7108
    functionLinenumberEnd: 7129
    functionName: JS_AutoInitProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - func
    - JS_IsException
    - js_autoinit_free
    - js_shape_prepare_update
    - js_autoinit_get_realm
    - js_autoinit_get_id
    linkageType: ''
    returnType: int
    signature: 'static int JS_AutoInitProperty(JSContext *ctx, JSObject *p, JSAtom
      prop, JSProperty *pr, JSShapeProperty *prs) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40984,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41025,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41026,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:41028,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41040,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41046,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40973,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40979,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:40972,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:40987,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40990,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40991,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41035,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:41037,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40972,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40981,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40982,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40984,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40997,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41003,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40994,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41005,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41006,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:40993,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41034,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41013,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41041,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40979,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41008,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41047,1
    - Dst: string_indexof
      Src: /src/gpac/src/quickjs/quickjs.c:41022,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:41000,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41045,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41049
      start: 40961
    functionDepth: 0
    functionLinenumber: 40961
    functionLinenumberEnd: 41049
    functionName: js_string_split
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_NewArray
    - JS_IsNull
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ToUint32
    - JS_GetProperty
    - JS_IsUndefined
    - JS_ToString
    - string_indexof
    - js_sub_string
    - JS_CallFree
    - JS_CreateDataPropertyUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_split(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2431
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2431
    functionName: __JS_AtomFromUInt32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSAtom
    signature: 'static inline JSAtom __JS_AtomFromUInt32(uint32_t v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5329,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:5343,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5336,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5344,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5336,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5346,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5348
      start: 5327
    functionDepth: 0
    functionLinenumber: 5327
    functionLinenumberEnd: 5348
    functionName: js_bytecode_function_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_free_rt
    - JS_MKPTR
    - JS_FreeValueRT
    - free_var_ref
    linkageType: ''
    returnType: void
    signature: 'static void js_bytecode_function_finalizer(JSRuntime *rt, JSValue
      val) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7141,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7144,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7146,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:7152,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7171,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7194,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7187,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7196,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:7210,1
    - Dst: JS_AtomIsNumericIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7222,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7270,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:7151,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7175,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7195,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7211,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:7214,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7237,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:7257,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7249,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7251,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7140,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7179,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7189,1
    - Dst: JS_GetPrototypePrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:7171,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7194,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7204,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7207,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7237,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7239,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7256,1
    - Dst: JS_ThrowReferenceErrorNotDefined
      Src: /src/gpac/src/quickjs/quickjs.c:7271,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7154,1
    - Dst: js_new_string_char
      Src: /src/gpac/src/quickjs/quickjs.c:7160,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7163,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7182,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:7190,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7184,1
    - Dst: JS_AutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:7199,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7214,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7249,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 113
    argCount: 5
    argNames:
    - ctx
    - obj
    - prop
    - this_obj
    - throw_ref_error
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 7275
      start: 7131
    functionDepth: 0
    functionLinenumber: 7131
    functionLinenumberEnd: 7275
    functionName: JS_GetPropertyInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_AtomIsNumericIndex
    - __JS_AtomIsTaggedInt
    - find_own_property
    - JS_CallFree
    - js_new_string_char
    - JS_VALUE_GET_STRING
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - JS_ThrowReferenceErrorUninitialized
    - JS_ThrowTypeErrorAtom
    - JS_IsUninitialized
    - JS_AutoInitProperty
    - JS_ThrowReferenceErrorNotDefined
    - JS_MKPTR
    - unlikely
    - __JS_AtomToUInt32
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_GetPrototypePrimitive
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetPropertyInternal(JSContext *ctx, JSValueConst obj, JSAtom
      prop, JSValueConst this_obj, BOOL throw_ref_error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: find_resolve_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27480,1
    - Dst: find_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27484,1
    - Dst: add_resolve_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27482,1
    - Dst: js_resolve_export1
      Src: /src/gpac/src/quickjs/quickjs.c:27501,1
    - Dst: js_resolve_export1
      Src: /src/gpac/src/quickjs/quickjs.c:27517,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 6
    argNames:
    - ctx
    - pmodule
    - pme
    - m
    - export_name
    - s
    argTypes:
    - JSContext*
    - JSModuleDef**
    - JSExportEntry**
    - JSModuleDef*
    - JSAtom
    - JSResolveState*
    constantsTouched: []
    func_position:
      end: 27541
      start: 27469
    functionDepth: 0
    functionLinenumber: 27469
    functionLinenumberEnd: 27541
    functionName: js_resolve_export1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resolve_export1
    - add_resolve_entry
    - find_resolve_entry
    - find_export_entry
    linkageType: ''
    returnType: JSResolveResultEnum
    signature: 'static JSResolveResultEnum js_resolve_export1(JSContext *ctx, JSModuleDef
      **pmodule, JSExportEntry **pme, JSModuleDef *m, JSAtom export_name, JSResolveState
      *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41058,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41059,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41062,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41061,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41063,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41067,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:41068,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41069,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:41080,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41081,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41083
      start: 41051
    functionDepth: 0
    functionLinenumber: 41051
    functionLinenumberEnd: 41083
    functionName: js_string_substring
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_ToInt32Clamp
    - JS_IsUndefined
    - JS_ToStringCheckObject
    - js_sub_string
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_substring(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_AddIntrinsicRegExpCompiler
      Src: /src/gpac/src/quickjs/quickjs.c:43588,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:43592,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:43591,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:43590,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:43593,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:43595,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:43596,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:43596,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:43599,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:43600,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:43602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 43603
      start: 43584
    functionDepth: 0
    functionLinenumber: 43584
    functionLinenumberEnd: 43603
    functionName: JS_AddIntrinsicRegExp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewGlobalCConstructor
    - JS_NewObject
    - JS_NewObjectProto
    - JS_SetPropertyFunctionList
    - JS_AddIntrinsicRegExpCompiler
    - JS_DupValue
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicRegExp(JSContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:3687,1
    - Dst: string_buffer_putc_slow
      Src: /src/gpac/src/quickjs/quickjs.c:3696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - StringBuffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3697
      start: 3685
    functionDepth: 0
    functionLinenumber: 3685
    functionLinenumberEnd: 3697
    functionName: string_buffer_putc16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_putc_slow
    - likely
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_putc16(StringBuffer *s, uint32_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:11194,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - plen
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11197
      start: 11191
    functionDepth: 0
    functionLinenumber: 11191
    functionLinenumberEnd: 11197
    functionName: JS_ToLengthFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_ToLengthFree(JSContext *ctx, int64_t *plen,
      JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:11262,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:11273,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:11271,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11268,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:11274,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/quickjs.c:11275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - val
    - radix
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 11277
      start: 11255
    functionDepth: 0
    functionLinenumber: 11255
    functionLinenumberEnd: 11277
    functionName: js_bigint_to_string1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeBigInt
    - JS_NewString
    - bf_ftoa
    - bf_free
    - JS_ToBigInt
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_to_string1(JSContext *ctx, JSValueConst val,
      int radix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_hash_key
      Src: /src/gpac/src/quickjs/quickjs.c:45730,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:45731,1
    - Dst: js_same_value_zero
      Src: /src/gpac/src/quickjs/quickjs.c:45733,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:45732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - s
    - key
    argTypes:
    - JSContext*
    - JSMapState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45737
      start: 45724
    functionDepth: 0
    functionLinenumber: 45724
    functionLinenumberEnd: 45737
    functionName: map_find_record
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - map_hash_key
    - list_for_each
    - list_entry
    - js_same_value_zero
    linkageType: ''
    returnType: JSMapRecord*
    signature: 'static JSMapRecord *map_find_record(JSContext *ctx, JSMapState *s,
      JSValueConst key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bigint_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:11281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11282
      start: 11279
    functionDepth: 0
    functionLinenumber: 11279
    functionLinenumberEnd: 11282
    functionName: js_bigint_to_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_bigint_to_string1
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_to_string(JSContext *ctx, JSValueConst val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:45751,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:45758,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:45760,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:45761,1
    - Dst: map_hash_key
      Src: /src/gpac/src/quickjs/quickjs.c:45763,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:45764,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSMapState*
    constantsTouched: []
    func_position:
      end: 45770
      start: 45739
    functionDepth: 0
    functionLinenumber: 45739
    functionLinenumberEnd: 45770
    functionName: map_hash_resize
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_realloc2
    - map_hash_key
    - list_entry
    - list_add_tail
    - init_list_head
    - list_for_each
    linkageType: ''
    returnType: void
    signature: 'static void map_hash_resize(JSContext *ctx, JSMapState *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3672,1
    - Dst: string_buffer_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:3673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - StringBuffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3682
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3682
    functionName: string_buffer_putc8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - string_buffer_realloc
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_putc8(StringBuffer *s, uint32_t c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:11178,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:11181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - plen
    - val
    argTypes:
    - JSContext*
    - uint64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11187
      start: 11175
    functionDepth: 0
    functionLinenumber: 11175
    functionLinenumberEnd: 11187
    functionName: JS_ToIndex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - JS_ToInt64Sat
    linkageType: ''
    returnType: int
    signature: 'int JS_ToIndex(JSContext *ctx, uint64_t *plen, JSValueConst val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:45778,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45790,1
    - Dst: map_hash_key
      Src: /src/gpac/src/quickjs/quickjs.c:45797,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:45798,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45785,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:45799,1
    - Dst: map_hash_resize
      Src: /src/gpac/src/quickjs/quickjs.c:45802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - s
    - key
    argTypes:
    - JSContext*
    - JSMapState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45805
      start: 45772
    functionDepth: 0
    functionLinenumber: 45772
    functionLinenumberEnd: 45805
    functionName: map_add_record
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_malloc
    - map_hash_key
    - map_hash_resize
    - JS_DupValue
    - list_add_tail
    linkageType: ''
    returnType: JSMapRecord*
    signature: 'static JSMapRecord *map_add_record(JSContext *ctx, JSMapState *s,
      JSValueConst key) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:39416,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:39423,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39421,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:39424,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:39420,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:39428,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:39437,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39438,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:39440,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:39443,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:39448,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:39446,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39444,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39459
      start: 39400
    functionDepth: 0
    functionLinenumber: 39400
    functionLinenumberEnd: 39459
    functionName: js_array_cmp_generic
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_compare
    - JS_VALUE_GET_STRING
    - memcmp
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ToString
    - JS_ToFloat64Free
    - JS_Call
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: int
    signature: 'static int js_array_cmp_generic(const void *a, const void *b, void
      *opaque) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48041,1
    - Dst: math_mod
      Src: /src/gpac/src/quickjs/quickjs.c:48065,1
    - Dst: getTimezoneOffset
      Src: /src/gpac/src/quickjs/quickjs.c:48051,1
    - Dst: math_mod
      Src: /src/gpac/src/quickjs/quickjs.c:48057,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:48044,1
    - Dst: year_from_days
      Src: /src/gpac/src/quickjs/quickjs.c:48066,1
    - Dst: days_in_year
      Src: /src/gpac/src/quickjs/quickjs.c:48071,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 5
    argNames:
    - ctx
    - obj
    - fields
    - is_local
    - force
    argTypes:
    - JSContext*
    - JSValueConst
    - double
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48086
      start: 48035
    functionDepth: 0
    functionLinenumber: 48035
    functionLinenumberEnd: 48086
    functionName: get_date_fields
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - year_from_days
    - math_mod
    - isnan
    - getTimezoneOffset
    - days_in_year
    - JS_ThisTimeValue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int get_date_fields(JSContext *ctx, JSValueConst
      obj, double fields[9], int is_local, int force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:6713,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:6714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - flags
    - atom
    argTypes:
    - JSContext*
    - int
    - JSAtom
    constantsTouched: []
    func_position:
      end: 6719
      start: 6710
    functionDepth: 0
    functionLinenumber: 6710
    functionLinenumberEnd: 6719
    functionName: JS_ThrowTypeErrorReadOnly
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - is_strict_mode
    - JS_ThrowTypeErrorAtom
    linkageType: ''
    returnType: int
    signature: 'static int JS_ThrowTypeErrorReadOnly(JSContext *ctx, int flags, JSAtom
      atom) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39515,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39539,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:39541,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39537,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39476,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39493,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39498,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:39513,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39530,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:39524,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39477,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:39472,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39513,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39526,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39517,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39471,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:39486,1
    - Dst: rqsort
      Src: /src/gpac/src/quickjs/quickjs.c:39506,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:39539,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39543,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39545
      start: 39461
    functionDepth: 0
    functionLinenumber: 39461
    functionLinenumberEnd: 39545
    functionName: js_array_sort
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DeletePropertyInt64
    - JS_FreeValue
    - JS_ToObject
    - js_realloc2
    - JS_SetPropertyInt64
    - js_get_length64
    - JS_IsUndefined
    - rqsort
    - JS_MKPTR
    - js_free
    - check_function
    - JS_TryGetPropertyInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_sort(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 48093
      start: 48088
    functionDepth: 0
    functionLinenumber: 48088
    functionLinenumberEnd: 48093
    functionName: time_clip
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - trunc
    linkageType: ''
    returnType: double
    signature: 'static double time_clip(double t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45816,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:45820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - mr
    argTypes:
    - JSRuntime*
    - JSMapRecord*
    constantsTouched: []
    func_position:
      end: 45826
      start: 45811
    functionDepth: 0
    functionLinenumber: 45811
    functionLinenumberEnd: 45826
    functionName: delete_weak_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void delete_weak_ref(JSRuntime *rt, JSMapRecord *mr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36858,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36868,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36860,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:36864,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - reflect
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36869
      start: 36851
    functionDepth: 0
    functionLinenumber: 36851
    functionLinenumberEnd: 36869
    functionName: js_object_isExtensible
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsExtensible
    - JS_VALUE_GET_TAG
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_isExtensible(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int reflect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:1535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1536
    functionName: JS_ThrowUnsupportedOperation
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowUnsupportedOperation(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4103,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 4104
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4104
    functionName: JS_FreeCString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'void JS_FreeCString(JSContext *ctx, const char *ptr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13766,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13775,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13774,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13768,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13771,1
    - Dst: bf_cmp_lt
      Src: /src/gpac/src/quickjs/quickjs.c:13780,1
    - Dst: bf_cmp_le
      Src: /src/gpac/src/quickjs/quickjs.c:13783,1
    - Dst: bf_cmp_lt
      Src: /src/gpac/src/quickjs/quickjs.c:13786,1
    - Dst: bf_cmp_le
      Src: /src/gpac/src/quickjs/quickjs.c:13789,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:13792,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13800,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13802,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13795,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13801,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13798,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - op
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 13804
      start: 13760
    functionDepth: 0
    functionLinenumber: 13760
    functionLinenumberEnd: 13804
    functionName: js_compare_bigfloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - bf_cmp_eq
    - bf_delete
    - bf_cmp_lt
    - abort
    - bf_cmp_le
    - JS_ToBigFloat
    linkageType: ''
    returnType: int
    signature: 'static int js_compare_bigfloat(JSContext *ctx, OPCodeEnum op, JSValue
      op1, JSValue op2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/quickjs/quickjs.c:36159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - m
    - tab
    - len
    argTypes:
    - JSContext*
    - JSModuleDef*
    - JSCFunctionListEntry*
    - int
    constantsTouched: []
    func_position:
      end: 36163
      start: 36154
    functionDepth: 0
    functionLinenumber: 36154
    functionLinenumberEnd: 36163
    functionName: JS_AddModuleExportList
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AddModuleExport
    linkageType: ''
    returnType: int
    signature: 'int JS_AddModuleExportList(JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry
      *tab, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_Invoke
      Src: /src/gpac/src/quickjs/quickjs.c:47241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47242
      start: 47235
    functionDepth: 0
    functionLinenumber: 47235
    functionLinenumberEnd: 47242
    functionName: js_promise_catch
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_Invoke
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_catch(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedOperation
      Src: /src/gpac/src/quickjs/quickjs.c:1540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1541
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1541
    functionName: invalid_to_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedOperation
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue invalid_to_string(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - src1
    - src2
    - len
    argTypes:
    - uint16_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 4115
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4115
    functionName: memcmp16_8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int memcmp16_8(const uint16_t *src1, const uint8_t *src2, int
      len) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:12517,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 12519
      start: 12472
    functionDepth: 0
    functionLinenumber: 12472
    functionLinenumberEnd: 12519
    functionName: get_ovop_from_opcode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: 'static int get_ovop_from_opcode(OPCodeEnum op) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigDecimalFree
      Src: /src/gpac/src/quickjs/quickjs.c:13815,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13816,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13817,1
    - Dst: JS_ToBigDecimalFree
      Src: /src/gpac/src/quickjs/quickjs.c:13820,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13822,1
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13825,1
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13826,1
    - Dst: bfdec_cmp_lt
      Src: /src/gpac/src/quickjs/quickjs.c:13830,1
    - Dst: bfdec_cmp_le
      Src: /src/gpac/src/quickjs/quickjs.c:13833,1
    - Dst: bfdec_cmp_le
      Src: /src/gpac/src/quickjs/quickjs.c:13839,1
    - Dst: bfdec_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:13842,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13845,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13847,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13848,1
    - Dst: bfdec_cmp_lt
      Src: /src/gpac/src/quickjs/quickjs.c:13836,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - op
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 13850
      start: 13806
    functionDepth: 0
    functionLinenumber: 13806
    functionLinenumberEnd: 13850
    functionName: js_compare_bigdecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigDecimalFree
    - JS_FreeValue
    - bfdec_cmp_lt
    - bfdec_cmp_eq
    - JS_ToBigDecimal
    - JS_IsException
    - abort
    - bfdec_cmp_le
    linkageType: ''
    returnType: int
    signature: 'static int js_compare_bigdecimal(JSContext *ctx, OPCodeEnum op, JSValue
      op1, JSValue op2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16716,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16716,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16719,1
    - Dst: js_closure
      Src: /src/gpac/src/quickjs/quickjs.c:16718,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16721
      start: 16714
    functionDepth: 0
    functionLinenumber: 16714
    functionLinenumberEnd: 16721
    functionName: (OP_fclosure)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - get_u32
    - unlikely
    - JS_DupValue
    - js_closure
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_fclosure) : '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36175,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:36182,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:36188,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:36179,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:36185,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:36191,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:36192,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:36195,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/quickjs/quickjs.c:36197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - m
    - tab
    - len
    argTypes:
    - JSContext*
    - JSModuleDef*
    - JSCFunctionListEntry*
    - int
    constantsTouched: []
    func_position:
      end: 36201
      start: 36165
    functionDepth: 0
    functionLinenumber: 36165
    functionLinenumberEnd: 36201
    functionName: JS_SetModuleExportList
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - JS_NewCFunction2
    - JS_NewInt32
    - JS_NewString
    - JS_NewInt64
    - abort
    - JS_SetModuleExport
    linkageType: ''
    returnType: int
    signature: 'int JS_SetModuleExportList(JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry
      *tab, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36878,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36888,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36882,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36880,1
    - Dst: JS_PreventExtensions
      Src: /src/gpac/src/quickjs/quickjs.c:36884,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36891,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - reflect
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36894
      start: 36871
    functionDepth: 0
    functionLinenumber: 36871
    functionLinenumberEnd: 36894
    functionName: js_object_preventExtensions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_PreventExtensions
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_preventExtensions(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int reflect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 47249
      start: 47244
    functionDepth: 0
    functionLinenumber: 47244
    functionLinenumberEnd: 47249
    functionName: js_promise_finally_value_thunk
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_finally_value_thunk(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:50923,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:50927,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50930,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50926,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50924,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 50932
      start: 50912
    functionDepth: 0
    functionLinenumber: 50912
    functionLinenumberEnd: 50932
    functionName: JS_AddIntrinsicBigDecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewGlobalCConstructor
    - countof
    - JS_NewObject
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicBigDecimal(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: js_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'void js_free(JSContext *ctx, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToQuotedString
      Src: /src/gpac/src/quickjs/quickjs.c:43886,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 43889
      start: 43885
    functionDepth: 0
    functionLinenumber: 43885
    functionLinenumberEnd: 43889
    functionName: JS_ToQuotedStringFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToQuotedString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToQuotedStringFree(JSContext *ctx, JSValue val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4909,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4927,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:4910,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:4928,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4922,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:4929,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - obj
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    constantsTouched: []
    func_position:
      end: 4931
      start: 4905
    functionDepth: 0
    functionLinenumber: 4905
    functionLinenumberEnd: 4931
    functionName: JS_SetObjectData
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetObjectData(JSContext *ctx, JSValueConst obj, JSValue
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:5095,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5102,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5104
      start: 5093
    functionDepth: 0
    functionLinenumber: 5093
    functionLinenumberEnd: 5104
    functionName: js_c_function_data_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_c_function_data_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_CopyDataProperties
      Src: /src/gpac/src/quickjs/quickjs.c:17961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17965
      start: 17952
    functionDepth: 0
    functionLinenumber: 17952
    functionLinenumberEnd: 17965
    functionName: (OP_copy_data_properties)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CopyDataProperties
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_copy_data_properties) : /* target source excludeList */ '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35760,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35764,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:35763,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35761,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35766,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35768,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35771,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35774
      start: 35755
    functionDepth: 0
    functionLinenumber: 35755
    functionLinenumberEnd: 35774
    functionName: JS_ReadObjectValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_IsException
    - JS_ReadObjectRec
    - BC_add_object_ref
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadObjectValue(BCReaderState *s) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43897,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:43905,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43902,1
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:43899,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43903,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:43906,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43907,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43909,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43912,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43916,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:43928,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43920,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43946,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:43919,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:43926,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43950,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43922,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 31
    argCount: 5
    argNames:
    - ctx
    - jsc
    - holder
    - val
    - key
    argTypes:
    - JSContext*
    - JSONStringifyContext*
    - JSValueConst
    - JSValue
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 43952
      start: 43891
    functionDepth: 0
    functionLinenumber: 43891
    functionLinenumberEnd: 43952
    functionName: js_json_check
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_IsFunction
    - JS_IsException
    - JS_GetProperty
    - JS_IsBigInt
    - JS_IsUndefined
    - JS_Call
    - JS_IsObject
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_json_check(JSContext *ctx, JSONStringifyContext
      *jsc, JSValueConst holder, JSValue val, JSValueConst key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:4935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - class_id
    argTypes:
    - JSContext*
    - int
    constantsTouched: []
    func_position:
      end: 4936
      start: 4933
    functionDepth: 0
    functionLinenumber: 4933
    functionLinenumberEnd: 4936
    functionName: JS_NewObjectClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectProtoClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewObjectClass(JSContext *ctx, int class_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:5109,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5117
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5117
    functionName: js_c_function_data_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_c_function_data_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:35813,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35815,1
    - Dst: JS_ReadArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:35849,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:35873,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35889,1
    - Dst: bc_get_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:35804,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:35807,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35825,1
    - Dst: JS_ReadString
      Src: /src/gpac/src/quickjs/quickjs.c:35822,1
    - Dst: JS_ReadSharedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:35854,1
    - Dst: JS_ReadDate
      Src: /src/gpac/src/quickjs/quickjs.c:35857,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35874,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:35878,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:35886,1
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:35782,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35788,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:35783,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35806,1
    - Dst: JS_ReadObjectTag
      Src: /src/gpac/src/quickjs/quickjs.c:35839,1
    - Dst: JS_ReadModule
      Src: /src/gpac/src/quickjs/quickjs.c:35836,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:35816,1
    - Dst: JS_ReadArray
      Src: /src/gpac/src/quickjs/quickjs.c:35843,1
    - Dst: JS_ReadObjectValue
      Src: /src/gpac/src/quickjs/quickjs.c:35860,1
    - Dst: JS_ReadBigNum
      Src: /src/gpac/src/quickjs/quickjs.c:35866,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35881,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:35799,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35785,1
    - Dst: JS_ReadFunctionTag
      Src: /src/gpac/src/quickjs/quickjs.c:35831,1
    - Dst: JS_ReadTypedArray
      Src: /src/gpac/src/quickjs/quickjs.c:35846,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:35881,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35876,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 66
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35891
      start: 35776
    functionDepth: 0
    functionLinenumber: 35776
    functionLinenumberEnd: 35891
    functionName: JS_ReadObjectRec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ReadTypedArray
    - js_check_stack_overflow
    - JS_ReadModule
    - JS_ReadFunctionTag
    - JS_NewBool
    - bc_get_u64
    - JS_ThrowSyntaxError
    - bc_get_sleb128
    - JS_ReadDate
    - JS_NewInt32
    - JS_ReadString
    - JS_DupValue
    - JS_ReadSharedArrayBuffer
    - JS_ReadArrayBuffer
    - bc_read_trace
    - JS_ReadObjectValue
    - JS_MKPTR
    - JS_ReadBigNum
    - JS_ThrowStackOverflow
    - bc_get_leb128
    - JS_ReadObjectTag
    - __JS_NewFloat64
    - JS_ReadArray
    - bc_get_u8
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadObjectRec(BCReaderState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtomStruct
      Src: /src/gpac/src/quickjs/quickjs.c:1932,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:1935,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rt
    - str
    argTypes:
    - JSRuntime*
    - JSString*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1940
    functionName: js_free_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeAtomStruct
    - list_del
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static inline void js_free_string(JSRuntime *rt, JSString *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:37674,1
    - Dst: build_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:37682,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37678,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37679,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:37680,1
    - Dst: JS_CallConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:37686,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:37688,1
    - Dst: free_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:37690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37692
      start: 37667
    functionDepth: 0
    functionLinenumber: 37667
    functionLinenumberEnd: 37692
    functionName: js_function_apply
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - free_arg_list
    - JS_CallConstructor2
    - build_arg_list
    - JS_VALUE_GET_TAG
    - JS_Call
    - check_function
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_apply(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/quickjs/quickjs.c:42063,1
    - Dst: gettimeofday
      Src: /src/gpac/src/quickjs/quickjs.c:42067,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:42070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42071
      start: 42057
    functionDepth: 0
    functionLinenumber: 42057
    functionLinenumberEnd: 42071
    functionName: js___date_clock
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt64
    - gettimeofday
    - _ftime
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js___date_clock(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: js_atomics_get_ptr
      Src: /src/gpac/src/quickjs/quickjs.c:53926,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:53963,1
    - Dst: pthread_cond_wait
      Src: /src/gpac/src/quickjs/quickjs.c:53973,1
    - Dst: mach_host_self
      Src: /src/gpac/src/quickjs/quickjs.c:53980,1
    - Dst: pthread_cond_timedwait
      Src: /src/gpac/src/quickjs/quickjs.c:53996,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:54000,1
    - Dst: pthread_mutex_unlock
      Src: /src/gpac/src/quickjs/quickjs.c:54001,1
    - Dst: pthread_cond_destroy
      Src: /src/gpac/src/quickjs/quickjs.c:54002,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:54004,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:53941,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:53943,1
    - Dst: host_get_clock_service
      Src: /src/gpac/src/quickjs/quickjs.c:53980,1
    - Dst: clock_get_time
      Src: /src/gpac/src/quickjs/quickjs.c:53981,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53937,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:53950,1
    - Dst: pthread_mutex_lock
      Src: /src/gpac/src/quickjs/quickjs.c:53955,1
    - Dst: pthread_mutex_unlock
      Src: /src/gpac/src/quickjs/quickjs.c:53962,1
    - Dst: pthread_cond_init
      Src: /src/gpac/src/quickjs/quickjs.c:53968,1
    - Dst: mach_task_self
      Src: /src/gpac/src/quickjs/quickjs.c:53982,1
    - Dst: clock_gettime
      Src: /src/gpac/src/quickjs/quickjs.c:53988,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:53970,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:54006,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53932,1
    - Dst: mach_port_deallocate
      Src: /src/gpac/src/quickjs/quickjs.c:53982,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 54008
      start: 53913
    functionDepth: 0
    functionLinenumber: 53913
    functionLinenumberEnd: 54008
    functionName: js_atomics_wait
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - pthread_cond_wait
    - mach_task_self
    - mach_port_deallocate
    - JS_ToInt32
    - clock_get_time
    - JS_ThrowTypeError
    - JS_AtomToString
    - mach_host_self
    - js_atomics_get_ptr
    - pthread_mutex_unlock
    - pthread_cond_init
    - pthread_cond_timedwait
    - pthread_cond_destroy
    - clock_gettime
    - list_add_tail
    - pthread_mutex_lock
    - JS_ToFloat64
    - JS_ToBigInt64
    - list_del
    - isnan
    - host_get_clock_service
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atomics_wait(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - char*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1946
    functionName: JS_SetRuntimeInfo
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetRuntimeInfo(JSRuntime *rt, const char *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_atomics_get_ptr
      Src: /src/gpac/src/quickjs/quickjs.c:54020,1
    - Dst: pthread_mutex_lock
      Src: /src/gpac/src/quickjs/quickjs.c:54035,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:54031,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:54024,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:54027,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:54036,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:54037,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:54038,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:54040,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:54042,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:54048,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:54054,1
    - Dst: pthread_cond_signal
      Src: /src/gpac/src/quickjs/quickjs.c:54050,1
    - Dst: pthread_mutex_unlock
      Src: /src/gpac/src/quickjs/quickjs.c:54052,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:54049,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 54055
      start: 54010
    functionDepth: 0
    functionLinenumber: 54010
    functionLinenumberEnd: 54055
    functionName: js_atomics_notify
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    - pthread_mutex_unlock
    - list_entry
    - pthread_cond_signal
    - init_list_head
    - JS_ToInt32Clamp
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_IsUndefined
    - list_for_each_safe
    - JS_NewInt32
    - list_add_tail
    - pthread_mutex_lock
    - list_for_each
    - js_atomics_get_ptr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atomics_notify(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37630,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:37641,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:37631,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:37637,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:37634,1
    - Dst: max_uint32
      Src: /src/gpac/src/quickjs/quickjs.c:37641,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37644,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37649,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:37653,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37654,1
    - Dst: free_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:37655,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - plen
    - array_arg
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37663
      start: 37623
    functionDepth: 0
    functionLinenumber: 37623
    functionLinenumberEnd: 37663
    functionName: build_arg_list
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_GetPropertyUint32
    - max_uint32
    - free_arg_list
    - JS_ThrowInternalError
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    - js_get_length32
    - JS_DupValue
    - js_mallocz
    linkageType: ''
    returnType: JSValue*
    signature: 'static JSValue *build_arg_list(JSContext *ctx, uint32_t *plen, JSValueConst
      array_arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/gpac/src/quickjs/quickjs.c:42105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 42108
      start: 42075
    functionDepth: 0
    functionLinenumber: 42075
    functionLinenumberEnd: 42108
    functionName: getTimezoneOffset
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - localtime_r
    linkageType: ''
    returnType: int
    signature: 'static int getTimezoneOffset(int64_t time) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31260,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31274,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31292,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31262,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31268,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - s
    - label
    - pop
    - pline
    argTypes:
    - JSFunctionDef*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 31294
      start: 31256
    functionDepth: 0
    functionLinenumber: 31256
    functionLinenumberEnd: 31294
    functionName: find_jump_target
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - assert
    - update_label
    linkageType: ''
    returnType: int
    signature: 'static int find_jump_target(JSFunctionDef *s, int label, int *pop,
      int *pline) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38026,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38034,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38031,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - obj
    - to_pos
    - from_pos
    - count
    - dir
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - int64_t
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 38042
      start: 38009
    functionDepth: 0
    functionLinenumber: 38009
    functionLinenumberEnd: 38042
    functionName: JS_CopySubArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyInt64
    - JS_DeletePropertyInt64
    - JS_TryGetPropertyInt64
    linkageType: ''
    returnType: int
    signature: 'static int JS_CopySubArray(JSContext *ctx, JSValueConst obj, int64_t
      to_pos, int64_t from_pos, int64_t count, int dir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45435,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:45440,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45437,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45436,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45441,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:45443,1
    - Dst: JS_NewSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:45445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45446
      start: 45429
    functionDepth: 0
    functionLinenumber: 45429
    functionLinenumberEnd: 45446
    functionName: js_symbol_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ToString
    - JS_IsUndefined
    - JS_NewSymbol
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31300,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31304,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31309,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31305,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31310,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31314,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - bc_out
    - val
    argTypes:
    - DynBuf*
    - int
    constantsTouched: []
    func_position:
      end: 31316
      start: 31296
    functionDepth: 0
    functionLinenumber: 31296
    functionLinenumberEnd: 31316
    functionName: push_short_int
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u16
    - dbuf_put_u32
    linkageType: ''
    returnType: void
    signature: 'static void push_short_int(DynBuf *bc_out, int val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:38050,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38051,1
    - Dst: JS_ToArrayLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:38055,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:38053,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38055,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38057,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38057,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38061,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38061,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38067,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38069
      start: 38044
    functionDepth: 0
    functionLinenumber: 38044
    functionLinenumberEnd: 38069
    functionName: js_array_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_FreeValue
    - JS_SetProperty
    - JS_IsException
    - JS_ToArrayLengthFree
    - JS_NewUint32
    - JS_IsNumber
    - JS_DupValue
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45450,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45456,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45453,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45454,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45451,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45457,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45461
      start: 45448
    functionDepth: 0
    functionLinenumber: 45448
    functionLinenumberEnd: 45461
    functionName: js_thisSymbolValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupValue
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisSymbolValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:43611,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 43614
      start: 43607
    functionDepth: 0
    functionLinenumber: 43607
    functionLinenumberEnd: 43614
    functionName: json_parse_expect
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - json_next_token
    linkageType: ''
    returnType: int
    signature: 'static int json_parse_expect(JSParseState *s, int tok) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - p
    - c
    - from
    argTypes:
    - JSString*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40494
      start: 40476
    functionDepth: 0
    functionLinenumber: 40476
    functionLinenumberEnd: 40494
    functionName: string_indexof_char
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int string_indexof_char(JSString *p, int c, int from) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13091,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13092,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13093,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13094,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:13100,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/quickjs.c:13103,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13116,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:13138,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13097,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/quickjs.c:13109,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13128,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/quickjs.c:13112,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13135,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13098,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13134,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13133,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13136,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13137,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13099,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/quickjs.c:13106,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13120,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13131,1
    - Dst: bf_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13124,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 5
    argNames:
    - ctx
    - op
    - pres
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 13143
      start: 13084
    functionDepth: 0
    functionLinenumber: 13084
    functionLinenumberEnd: 13143
    functionName: js_binary_arith_bigfloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigFloat
    - throw_bf_exception
    - bf_add
    - bf_delete
    - JS_IsException
    - bf_div
    - abort
    - bf_init
    - bf_mul
    - bf_sub
    - unlikely
    - JS_GetBigFloat
    - bf_pow
    - JS_ToBigFloat
    - bf_rem
    linkageType: ''
    returnType: int
    signature: 'static int js_binary_arith_bigfloat(JSContext *ctx, OPCodeEnum op,
      JSValue *pres, JSValue op1, JSValue op2) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13160,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/quickjs.c:13170,1
    - Dst: bf_divrem
      Src: /src/gpac/src/quickjs/quickjs.c:13179,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:13178,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13205,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13207,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13220,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13223,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13234,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13235,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:13288,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13233,1
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:13253,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13152,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13153,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13163,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/quickjs.c:13167,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13181,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13192,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13204,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13206,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:13217,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13231,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13280,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13294,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:13236,1
    - Dst: bf_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13243,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13295,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13283,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13158,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/quickjs.c:13173,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13197,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13188,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13218,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/quickjs.c:13225,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13232,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:13263,1
    - Dst: bf_logic_xor
      Src: /src/gpac/src/quickjs/quickjs.c:13277,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13284,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13282,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13155,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13176,1
    - Dst: js_call_binary_op_simple
      Src: /src/gpac/src/quickjs/quickjs.c:13202,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13201,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13219,1
    - Dst: bf_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13227,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13230,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:13257,1
    - Dst: bf_logic_and
      Src: /src/gpac/src/quickjs/quickjs.c:13271,1
    - Dst: bf_logic_or
      Src: /src/gpac/src/quickjs/quickjs.c:13274,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13285,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13291,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13286,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13287,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:13264,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13296,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:13266,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 129
    argCount: 5
    argNames:
    - ctx
    - op
    - pres
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 13298
      start: 13145
    functionDepth: 0
    functionLinenumber: 13145
    functionLinenumberEnd: 13298
    functionName: js_binary_arith_bigint
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_get_int32
    - bf_add
    - JS_IsException
    - abort
    - JS_NewBigInt
    - bf_init
    - bf_rint
    - JS_CompactBigInt
    - bf_divrem
    - js_call_binary_op_simple
    - bf_mul
    - is_math_mode
    - JS_FreeBigInt
    - bf_delete
    - bf_mul_2exp
    - bf_get_int64
    - unlikely
    - bf_set
    - JS_ToBigInt
    - bf_logic_and
    - bf_rem
    - throw_bf_exception
    - JS_FreeValue
    - JS_NewBigFloat
    - bf_div
    - bf_logic_xor
    - bf_logic_or
    - bf_sub
    - JS_GetBigFloat
    - bf_pow
    - JS_GetBigInt
    linkageType: ''
    returnType: int
    signature: 'static int js_binary_arith_bigint(JSContext *ctx, OPCodeEnum op, JSValue
      *pres, JSValue op1, JSValue op2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40502,1
    - Dst: string_cmp
      Src: /src/gpac/src/quickjs/quickjs.c:40506,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:40503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p1
    - p2
    - from
    argTypes:
    - JSString*
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 40510
      start: 40496
    functionDepth: 0
    functionLinenumber: 40496
    functionLinenumberEnd: 40510
    functionName: string_indexof
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_indexof_char
    - string_cmp
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_indexof(JSString *p1, JSString *p2, int from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/quickjs/quickjs.c:47667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47668
      start: 47666
    functionDepth: 0
    functionLinenumber: 47666
    functionLinenumberEnd: 47668
    functionName: isURIReserved
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: 'static int isURIReserved(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2377
    functionName: update_stack_limit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void update_stack_limit(JSRuntime *rt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_object
      Src: /src/gpac/src/quickjs/quickjs.c:5471,1
    - Dst: free_function_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:5474,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:5477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - gp
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 5479
      start: 5467
    functionDepth: 0
    functionLinenumber: 5467
    functionLinenumberEnd: 5479
    functionName: free_gc_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - abort
    - free_function_bytecode
    - free_object
    linkageType: ''
    returnType: void
    signature: 'static void free_gc_object(JSRuntime *rt, JSGCObjectHeader *gp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:12775,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:12783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - JSContext*
    - int
    constantsTouched: []
    func_position:
      end: 12784
      start: 12771
    functionDepth: 0
    functionLinenumber: 12771
    functionLinenumberEnd: 12784
    functionName: throw_bf_exception
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowOutOfMemory
    - JS_ThrowRangeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue throw_bf_exception(JSContext *ctx, int status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:28245,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:28249,1
    - Dst: JS_RunModule
      Src: /src/gpac/src/quickjs/quickjs.c:28257,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:28253,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:28246,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:28258,1
    - Dst: js_get_module_ns
      Src: /src/gpac/src/quickjs/quickjs.c:28263,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28264,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:28267,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28269,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28279,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28278,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28270,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:28275,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:28276,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:28280,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:28271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 28282
      start: 28235
    functionDepth: 0
    functionLinenumber: 28235
    functionLinenumberEnd: 28282
    functionName: js_dynamic_import_job
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetException
    - JS_IsString
    - JS_Call
    - JS_RunModule
    - js_get_module_ns
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dynamic_import_job(JSContext *ctx, int argc, JSValueConst
      *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34339,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34340,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34338,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34341,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34342,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34343,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34344,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34345,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34354,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34346,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34406,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34374,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:34332,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34349,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34370,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34371,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34372,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34373,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34375,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34384,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34399,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:34402,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34400,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34360,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34356,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34351,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34336,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34347,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34348,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34352,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34355,1
    - Dst: bc_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34350,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34357,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34359,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34383,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34366,1
    - Dst: JS_WriteFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:34395,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34378,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34363,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34367,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34368,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34386,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34387,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34388,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34389,1
    - Dst: bc_set_flags
      Src: /src/gpac/src/quickjs/quickjs.c:34390,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34392,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34358,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34401,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34412
      start: 34330
    functionDepth: 0
    functionLinenumber: 34330
    functionLinenumberEnd: 34412
    functionName: JS_WriteFunctionTag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_put_atom
    - assert
    - dbuf_put
    - JS_WriteObjectRec
    - JS_VALUE_GET_PTR
    - JS_WriteFunctionBytecode
    - bc_put_u16
    - bc_set_flags
    - bc_put_u8
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteFunctionTag(BCWriterState *s, JSValueConst obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:35244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - BCReaderState*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 35251
      start: 35241
    functionDepth: 0
    functionLinenumber: 35241
    functionLinenumberEnd: 35251
    functionName: BC_add_object_ref1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int BC_add_object_ref1(BCReaderState *s, JSObject *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46432,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46439,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:46442,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:46439,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:46452,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46453,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:46457,1
    - Dst: JS_EnqueueJob
      Src: /src/gpac/src/quickjs/quickjs.c:46459,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:46460,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:46464,1
    - Dst: promise_reaction_data_free
      Src: /src/gpac/src/quickjs/quickjs.c:46461,1
    - Dst: promise_reaction_data_free
      Src: /src/gpac/src/quickjs/quickjs.c:46467,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:46466,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - promise
    - value
    - is_reject
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 46469
      start: 46429
    functionDepth: 0
    functionLinenumber: 46429
    functionLinenumberEnd: 46469
    functionName: fulfill_or_reject_promise
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    - set_value
    - JS_EnqueueJob
    - list_entry
    - JS_GetOpaque
    - JS_DupValue
    - list_for_each_safe
    - promise_reaction_data_free
    - printf
    - JS_NewBool
    linkageType: ''
    returnType: void
    signature: 'static void fulfill_or_reject_promise(JSContext *ctx, JSValueConst
      promise, JSValueConst value, BOOL is_reject) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:51221,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:51226,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:51229,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51222,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:51237,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:51240,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:51243,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:51243,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:51265,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51264,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:51254,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:51261,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:51260,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 8
    argNames:
    - ctx
    - new_target
    - len
    - class_id
    - buf
    - free_func
    - opaque
    - alloc_flag
    argTypes:
    - JSContext*
    - JSValueConst
    - uint64_t
    - JSClassID
    - uint8_t*
    - JSFreeArrayBufferDataFunc*
    - void*
    - BOOL
    constantsTouched: []
    func_position:
      end: 51267
      start: 51210
    functionDepth: 0
    functionLinenumber: 51210
    functionLinenumberEnd: 51267
    functionName: js_array_buffer_constructor3
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowRangeError
    - memset
    - js_malloc
    - JS_IsException
    - JS_SetOpaque
    - max_int
    - js_mallocz
    - memcpy
    - js_create_from_ctor
    - js_free
    - init_list_head
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_constructor3(JSContext *ctx, JSValueConst
      new_target, uint64_t len, JSClassID class_id, uint8_t *buf, JSFreeArrayBufferDataFunc
      *free_func, void *opaque, BOOL alloc_flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_stack_limit
      Src: /src/gpac/src/quickjs/quickjs.c:2382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - stack_size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 2383
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2383
    functionName: JS_SetMaxStackSize
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - update_stack_limit
    linkageType: ''
    returnType: void
    signature: 'void JS_SetMaxStackSize(JSRuntime *rt, size_t stack_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5491,1
    - Dst: free_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:5493,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 5496
      start: 5481
    functionDepth: 0
    functionLinenumber: 5481
    functionLinenumberEnd: 5496
    functionName: free_zero_refcount
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_entry
    - free_gc_object
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void free_zero_refcount(JSRuntime *rt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12793,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12794,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12795,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:12810,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12827,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12803,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:12820,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:12824,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12816,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12804,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12813,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12833,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12798,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12799,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12800,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12826,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/quickjs.c:12821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12829,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/quickjs.c:12817,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:12828,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:12830,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - pres
    - op
    - op1
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    - JSValue
    constantsTouched: []
    func_position:
      end: 12836
      start: 12786
    functionDepth: 0
    functionLinenumber: 12786
    functionLinenumberEnd: 12836
    functionName: js_unary_arith_bigint
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - throw_bf_exception
    - JS_FreeBigInt
    - JS_ThrowTypeError
    - JS_IsException
    - bf_neg
    - abort
    - bf_add_si
    - JS_CompactBigInt
    - JS_NewBigInt
    - unlikely
    - bf_set
    - JS_ToBigInt
    - JS_GetBigInt
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'static int js_unary_arith_bigint(JSContext *ctx, JSValue *pres, OPCodeEnum
      op, JSValue op1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedBigint
      Src: /src/gpac/src/quickjs/quickjs.c:14281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 14282
      start: 14279
    functionDepth: 0
    functionLinenumber: 14279
    functionLinenumberEnd: 14282
    functionName: JS_NewBigUint64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedBigint
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewBigUint64(JSContext *ctx, uint64_t v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptOrModuleName
      Src: /src/gpac/src/quickjs/quickjs.c:28290,1
    - Dst: JS_NewPromiseCapability
      Src: /src/gpac/src/quickjs/quickjs.c:28299,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28295,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28296,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:28294,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28300,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28301,1
    - Dst: JS_EnqueueJob
      Src: /src/gpac/src/quickjs/quickjs.c:28310,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28312,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28313,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - specifier
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 28316
      start: 28284
    functionDepth: 0
    functionLinenumber: 28284
    functionLinenumberEnd: 28316
    functionName: js_dynamic_import
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_EnqueueJob
    - JS_IsException
    - JS_NewPromiseCapability
    - JS_GetScriptOrModuleName
    - JS_AtomToValue
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dynamic_import(JSContext *ctx, JSValueConst specifier) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:34416,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34420,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34422,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34425,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34419,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34428,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34431,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34433,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34435,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34436,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34438,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34444,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34450,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34452,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34441,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34447,1
    - Dst: bc_put_atom
      Src: /src/gpac/src/quickjs/quickjs.c:34451,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34455,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34460
      start: 34414
    functionDepth: 0
    functionLinenumber: 34414
    functionLinenumberEnd: 34460
    functionName: JS_WriteModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_WriteObjectRec
    - bc_put_atom
    - JS_VALUE_GET_PTR
    - bc_put_u8
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteModule(BCWriterState *s, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BC_add_object_ref1
      Src: /src/gpac/src/quickjs/quickjs.c:35255,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:35255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCReaderState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 35256
      start: 35253
    functionDepth: 0
    functionLinenumber: 35253
    functionLinenumberEnd: 35256
    functionName: BC_add_object_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - BC_add_object_ref1
    linkageType: ''
    returnType: int
    signature: 'static int BC_add_object_ref(BCReaderState *s, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fulfill_or_reject_promise
      Src: /src/gpac/src/quickjs/quickjs.c:46474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - promise
    - value
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 46475
      start: 46471
    functionDepth: 0
    functionLinenumber: 46471
    functionLinenumberEnd: 46475
    functionName: reject_promise
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fulfill_or_reject_promise
    linkageType: ''
    returnType: void
    signature: 'static void reject_promise(JSContext *ctx, JSValueConst promise, JSValueConst
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:51271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - opaque
    - ptr
    argTypes:
    - JSRuntime*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 51272
      start: 51269
    functionDepth: 0
    functionLinenumber: 51269
    functionLinenumberEnd: 51272
    functionName: js_array_buffer_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_array_buffer_free(JSRuntime *rt, void *opaque, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:9436,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:9436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - idx
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9438
      start: 9433
    functionDepth: 0
    functionLinenumber: 9433
    functionLinenumberEnd: 9438
    functionName: JS_DefinePropertyValueInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DefinePropertyValueValue
    - JS_NewInt64
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyValueInt64(JSContext *ctx, JSValueConst this_obj,
      int64_t idx, JSValue val, int flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:28333,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:28333,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28346,1
    - Dst: js_evaluate_module
      Src: /src/gpac/src/quickjs/quickjs.c:28345,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28350,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:28361,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28364,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:28367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 28372
      start: 28320
    functionDepth: 0
    functionLinenumber: 28320
    functionLinenumberEnd: 28372
    functionName: js_evaluate_module
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_evaluate_module
    - JS_IsException
    - JS_Throw
    - JS_DupValue
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_evaluate_module(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38714,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38715,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:38725,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:38722,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:38727,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38727,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38728,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38735,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:38739,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38739,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38747,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38748,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38751,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38753
      start: 38706
    functionDepth: 0
    functionLinenumber: 38706
    functionLinenumberEnd: 38753
    functionName: js_array_indexOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_get_length64
    - js_get_fast_array
    - JS_NewInt64
    - JS_DupValue
    - js_strict_eq2
    - JS_TryGetPropertyInt64
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_indexOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:19396,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19398,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19399,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19400,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:19397,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19401,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19402,1
    - Dst: async_func_free
      Src: /src/gpac/src/quickjs/quickjs.c:19406,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSAsyncGeneratorData*
    constantsTouched: []
    func_position:
      end: 19409
      start: 19390
    functionDepth: 0
    functionLinenumber: 19390
    functionLinenumberEnd: 19409
    functionName: js_async_generator_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_entry
    - js_free_rt
    - list_for_each_safe
    - JS_FreeValueRT
    - async_func_free
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_free(JSRuntime *rt, JSAsyncGeneratorData
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9445,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9447,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:9446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9449
      start: 9440
    functionDepth: 0
    functionLinenumber: 9440
    functionLinenumberEnd: 9449
    functionName: JS_DefinePropertyValueStr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - JS_FreeAtom
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyValueStr(JSContext *ctx, JSValueConst this_obj,
      const char *prop, JSValue val, int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28377,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28384,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28387,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28381,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28378,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28390,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 28395
      start: 28374
    functionDepth: 0
    functionLinenumber: 28374
    functionLinenumberEnd: 28395
    functionName: js_parse_from_clause
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - js_parse_error
    - next_token
    - JS_ValueToAtom
    - JS_FreeAtom
    linkageType: ''
    returnType: __exception
    signature: 'static __exception JSAtom js_parse_from_clause(JSParseState *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38762,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38763,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38775,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:38779,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:38770,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38779,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38786,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38787,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38790,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38792
      start: 38755
    functionDepth: 0
    functionLinenumber: 38755
    functionLinenumberEnd: 38792
    functionName: js_array_lastIndexOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_get_length64
    - JS_NewInt64
    - JS_DupValue
    - js_strict_eq2
    - JS_TryGetPropertyInt64
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_lastIndexOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19413,1
    - Dst: js_async_generator_free
      Src: /src/gpac/src/quickjs/quickjs.c:19416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 19418
      start: 19411
    functionDepth: 0
    functionLinenumber: 19411
    functionLinenumberEnd: 19418
    functionName: js_async_generator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_async_generator_free
    - JS_GetOpaque
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_finalizer(JSRuntime *rt, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hash_size
    - prop_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4257
      start: 4253
    functionDepth: 0
    functionLinenumber: 4253
    functionLinenumberEnd: 4257
    functionName: get_shape_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t get_shape_size(size_t hash_size, size_t prop_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:8143,1
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:8156,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8144,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8149,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8155,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8161,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:8164,1
    - Dst: free_property
      Src: /src/gpac/src/quickjs/quickjs.c:8169,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8170,1
    - Dst: compact_properties
      Src: /src/gpac/src/quickjs/quickjs.c:8179,1
    - Dst: convert_fast_array_to_array
      Src: /src/gpac/src/quickjs/quickjs.c:8200,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8190,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8196,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8210,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - p
    - atom
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 8216
      start: 8132
    functionDepth: 0
    functionLinenumber: 8132
    functionLinenumberEnd: 8216
    functionName: delete_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_shape_prop
    - JS_AtomIsArrayIndex
    - compact_properties
    - likely
    - JS_MKPTR
    - free_property
    - js_shape_prepare_update
    - convert_fast_array_to_array
    - JS_FreeAtom
    - prop_hash_end
    linkageType: ''
    returnType: int
    signature: 'static int delete_property(JSContext *ctx, JSObject *p, JSAtom atom) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/quickjs.c:13307,1
    - Dst: bfdec_rint
      Src: /src/gpac/src/quickjs/quickjs.c:13313,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/quickjs.c:13308,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13310,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13315,1
    - Dst: bfdec_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:13318,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/quickjs.c:13319,1
    - Dst: bfdec_pow_ui
      Src: /src/gpac/src/quickjs/quickjs.c:13324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 13325
      start: 13301
    functionDepth: 0
    functionLinenumber: 13301
    functionLinenumberEnd: 13325
    functionName: js_bfdec_pow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_get_int32
    - bfdec_delete
    - bfdec_rint
    - bfdec_set
    - bfdec_pow_ui
    linkageType: ''
    returnType: int
    signature: 'static int js_bfdec_pow(bfdec_t *r, const bfdec_t *a, const bfdec_t
      *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17857,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17862,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17858,1
    - Dst: JS_GetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:17860,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17861,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17862,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17864,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17865,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17869
      start: 17855
    functionDepth: 0
    functionLinenumber: 17855
    functionLinenumberEnd: 17869
    functionName: (OP_get_super_value)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - unlikely
    - JS_ValueToAtom
    - JS_GetPropertyInternal
    - JS_FreeAtom
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_super_value) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_CallConstructorInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - func_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18891
      start: 18885
    functionDepth: 0
    functionLinenumber: 18885
    functionLinenumberEnd: 18891
    functionName: JS_CallConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CallConstructorInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_CallConstructor(JSContext *ctx, JSValueConst func_obj,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sh_alloc
    - hash_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 4262
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4262
    functionName: get_shape_from_alloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSShape*
    signature: 'static inline JSShape *get_shape_from_alloc(void *sh_alloc, size_t
      hash_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8222,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8225,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:8226,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8223,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8227,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:8228,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8230,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8233,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:8235,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:8236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - setter
    - this_obj
    - val
    - flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSValueConst
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 8241
      start: 8218
    functionDepth: 0
    functionLinenumber: 8218
    functionLinenumberEnd: 8241
    functionName: call_setter
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_MKPTR
    - likely
    - is_strict_mode
    - JS_DupValue
    - JS_CallFree
    linkageType: ''
    returnType: int
    signature: 'static int call_setter(JSContext *ctx, JSObject *setter, JSValueConst
      this_obj, JSValue val, int flags) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13342,1
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13339,1
    - Dst: bfdec_sub
      Src: /src/gpac/src/quickjs/quickjs.c:13350,1
    - Dst: bfdec_div
      Src: /src/gpac/src/quickjs/quickjs.c:13356,1
    - Dst: bfdec_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13363,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13372,1
    - Dst: js_bfdec_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13366,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13382,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13334,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13335,1
    - Dst: bfdec_add
      Src: /src/gpac/src/quickjs/quickjs.c:13347,1
    - Dst: bfdec_rem
      Src: /src/gpac/src/quickjs/quickjs.c:13360,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13371,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:13337,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/quickjs.c:13353,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13381,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13369,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13373,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13374,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:13375,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13383,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - op
    - pres
    - op1
    - op2
    argTypes:
    - JSContext*
    - OPCodeEnum
    - JSValue*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 13385
      start: 13327
    functionDepth: 0
    functionLinenumber: 13327
    functionLinenumberEnd: 13385
    functionName: js_binary_arith_bigdecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - throw_bf_exception
    - JS_NewBigDecimal
    - JS_ToBigDecimal
    - bfdec_sub
    - bfdec_div
    - JS_IsException
    - abort
    - bfdec_rem
    - unlikely
    - bfdec_add
    - bfdec_mul
    - js_bfdec_pow
    - JS_GetBigDecimal
    linkageType: ''
    returnType: int
    signature: 'static int js_binary_arith_bigdecimal(JSContext *ctx, OPCodeEnum op,
      JSValue *pres, JSValue op1, JSValue op2) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13430,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13429,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13431,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13459,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13476,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:13507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13508,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13514,1
    - Dst: is_safe_integer
      Src: /src/gpac/src/quickjs/quickjs.c:13514,1
    - Dst: fmod
      Src: /src/gpac/src/quickjs/quickjs.c:13531,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13491,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13540,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13542,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13397,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13398,1
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:13411,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13457,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13484,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:13511,1
    - Dst: fmod
      Src: /src/gpac/src/quickjs/quickjs.c:13527,1
    - Dst: js_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13537,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13434,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13401,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13452,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13462,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:13463,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13483,1
    - Dst: js_pow
      Src: /src/gpac/src/quickjs/quickjs.c:13484,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:13493,1
    - Dst: fabs
      Src: /src/gpac/src/quickjs/quickjs.c:13530,1
    - Dst: fmod
      Src: /src/gpac/src/quickjs/quickjs.c:13476,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13402,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13413,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13414,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13424,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13425,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13426,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13440,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13448,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13435,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13441,1
    - Dst: is_safe_integer
      Src: /src/gpac/src/quickjs/quickjs.c:13514,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 162
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 13549
      start: 13387
    functionDepth: 0
    functionLinenumber: 13387
    functionLinenumberEnd: 13549
    functionName: js_binary_arith_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_IsException
    - abort
    - JS_ToFloat64Free
    - js_pow
    - js_call_binary_op_fallback
    - JS_NewInt64
    - JS_VALUE_GET_INT
    - is_math_mode
    - JS_VALUE_GET_NORM_TAG
    - fabs
    - fmod
    - unlikely
    - JS_NewFloat64
    - throw_bf_exception
    - is_safe_integer
    - JS_FreeValue
    - __JS_NewFloat64
    - JS_VALUE_GET_FLOAT64
    linkageType: ''
    returnType: int
    signature: 'int js_binary_arith_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18897,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18898,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:18900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - this_val
    - atom
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18901
      start: 18893
    functionDepth: 0
    functionLinenumber: 18893
    functionLinenumberEnd: 18901
    functionName: JS_Invoke
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_GetProperty
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_Invoke(JSContext *ctx, JSValueConst this_val, JSAtom atom,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:40177,1
    - Dst: js_string_obj_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:40179,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - obj
    - prop
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 40184
      start: 40172
    functionDepth: 0
    functionLinenumber: 40172
    functionLinenumberEnd: 40184
    functionName: js_string_delete_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - js_string_obj_get_length
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: int
    signature: 'static int js_string_delete_property(JSContext *ctx, JSValueConst
      obj, JSAtom prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigIntValue
      Src: /src/gpac/src/quickjs/quickjs.c:49329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49330
      start: 49326
    functionDepth: 0
    functionLinenumber: 49326
    functionLinenumberEnd: 49330
    functionName: js_bigint_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisBigIntValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17266,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17268,1
    - Dst: JS_ThrowReferenceErrorUninitialized2
      Src: /src/gpac/src/quickjs/quickjs.c:17269,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17272,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17274
      start: 17263
    functionDepth: 0
    functionLinenumber: 17263
    functionLinenumberEnd: 17274
    functionName: (OP_put_loc_check)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    - JS_ThrowReferenceErrorUninitialized2
    - unlikely
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_loc_check) : '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49352,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:49370,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:49371,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49371,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49379,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49340,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49341,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49343,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49344,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49355,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49356,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49359,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49368,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:49367,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49374,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49350,1
    - Dst: bf_divrem
      Src: /src/gpac/src/quickjs/quickjs.c:49357,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:49361,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:49360,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49378,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49347,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49358,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49364,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 49381
      start: 49332
    functionDepth: 0
    functionLinenumber: 49332
    functionLinenumberEnd: 49381
    functionName: js_bigint_div
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - throw_bf_exception
    - JS_FreeBigInt
    - JS_NewArray
    - JS_FreeValue
    - JS_IsException
    - JS_CompactBigInt
    - JS_NewBigInt
    - unlikely
    - bf_divrem
    - JS_ToBigInt
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_div(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17117,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17121
      start: 17114
    functionDepth: 0
    functionLinenumber: 17114
    functionLinenumberEnd: 17121
    functionName: (OP_put_arg)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_arg) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:36505,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:36507,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36508,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36506,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:36505,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36511,1
    - Dst: JS_ObjectDefineProperties
      Src: /src/gpac/src/quickjs/quickjs.c:36512,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36518
      start: 36498
    functionDepth: 0
    functionLinenumber: 36498
    functionLinenumberEnd: 36518
    functionName: js_object_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_NewObjectProto
    - JS_ThrowTypeError
    - JS_IsException
    - JS_IsUndefined
    - JS_ObjectDefineProperties
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_create(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36526,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36529,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36531,1
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:36533,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36534
      start: 36520
    functionDepth: 0
    functionLinenumber: 36520
    functionLinenumberEnd: 36534
    functionName: js_object_getPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPrototype
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_getPrototypeOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34884,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 34890
      start: 34882
    functionDepth: 0
    functionLinenumber: 34882
    functionLinenumberEnd: 34890
    functionName: bc_get_u8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - bc_read_error_end
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_u8(BCReaderState *s, uint8_t *pval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:39601,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:39609,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39607,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39610,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39604,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:39612,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:39618,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39621,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39623,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 39625
      start: 39590
    functionDepth: 0
    functionLinenumber: 39590
    functionLinenumberEnd: 39625
    functionName: js_create_array_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_malloc
    - JS_IsException
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_ToStringCheckObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_array_iterator(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/quickjs/quickjs.c:41948,1
    - Dst: gettimeofday
      Src: /src/gpac/src/quickjs/quickjs.c:41952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 41959
      start: 41944
    functionDepth: 0
    functionLinenumber: 41944
    functionLinenumberEnd: 41959
    functionName: js_random_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - gettimeofday
    - _ftime
    linkageType: ''
    returnType: void
    signature: 'static void js_random_init(JSContext *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:45060,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:45066,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45067,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:45064,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45063,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45068,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:45073,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45074,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45075,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:45077,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:45097,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45092,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:45080,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:45094,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:45086,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:45080,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - obj
    - atom
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 45101
      start: 45052
    functionDepth: 0
    functionLinenumber: 45052
    functionLinenumberEnd: 45101
    functionName: js_proxy_delete_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_IsExtensible
    - JS_ThrowTypeError
    - JS_IsUndefined
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - JS_DeleteProperty
    - JS_ToBoolFree
    - JS_CallFree
    - JS_AtomToValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_delete_property(JSContext *ctx, JSValueConst obj,
      JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34894,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34898,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 34901
      start: 34892
    functionDepth: 0
    functionLinenumber: 34892
    functionLinenumberEnd: 34901
    functionName: bc_get_u16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - bc_read_error_end
    - get_u16
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_u16(BCReaderState *s, uint16_t *pval) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:39636,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39639,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:39644,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:39645,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:39641,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:39650,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39658,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39667,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39669,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39670,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39682,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39677,1
    - Dst: js_create_array
      Src: /src/gpac/src/quickjs/quickjs.c:39680,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39681,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - pdone
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    - int
    constantsTouched: []
    func_position:
      end: 39686
      start: 39627
    functionDepth: 0
    functionLinenumber: 39627
    functionLinenumberEnd: 39686
    functionName: js_array_iterator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_GetPropertyUint32
    - JS_IsException
    - JS_GetOpaque2
    - js_create_array
    - JS_IsUndefined
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - js_get_length32
    - JS_NewUint32
    - typed_array_is_detached
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_iterator_next(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, BOOL *pdone, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xorshift64star
      Src: /src/gpac/src/quickjs/quickjs.c:41967,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41971
      start: 41961
    functionDepth: 0
    functionLinenumber: 41961
    functionLinenumberEnd: 41971
    functionName: js_math_random
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - xorshift64star
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_math_random(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tab
    - n
    - atom
    argTypes:
    - JSPropertyEnum*
    - int
    - JSAtom
    constantsTouched: []
    func_position:
      end: 45112
      start: 45104
    functionDepth: 0
    functionLinenumber: 45104
    functionLinenumberEnd: 45112
    functionName: find_prop_key
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_prop_key(const JSPropertyEnum *tab, int n, JSAtom
      atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:49189,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:49192,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49197,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:49193,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:49190,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49198,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49199,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49200,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49201,1
    - Dst: js_operators_set_default
      Src: /src/gpac/src/quickjs/quickjs.c:49202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 49203
      start: 49184
    functionDepth: 0
    functionLinenumber: 49184
    functionLinenumberEnd: 49203
    functionName: JS_AddIntrinsicOperators
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_operators_set_default
    - JS_SetPropertyFunctionList
    - JS_DefinePropertyValue
    - JS_NewCFunction
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicOperators(JSContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18035,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18037,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18035,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18037,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18038,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18040,1
    - Dst: JS_VALUE_IS_BOTH_FLOAT
      Src: /src/gpac/src/quickjs/quickjs.c:18042,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:18043,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18043,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18049
      start: 18031
    functionDepth: 0
    functionLinenumber: 18031
    functionLinenumberEnd: 18049
    functionName: (OP_sub)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    - JS_VALUE_IS_BOTH_FLOAT
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_sub) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:33537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - s
    - input
    - input_len
    - filename
    argTypes:
    - JSContext*
    - JSParseState*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 33545
      start: 33533
    functionDepth: 0
    functionLinenumber: 33533
    functionLinenumberEnd: 33545
    functionName: js_parse_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void js_parse_init(JSContext *ctx, JSParseState *s, const char
      *input, size_t input_len, const char *filename) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:33554,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:33562,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:33560,1
    - Dst: js_closure
      Src: /src/gpac/src/quickjs/quickjs.c:33556,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:33557,1
    - Dst: js_create_module_function
      Src: /src/gpac/src/quickjs/quickjs.c:33563,1
    - Dst: js_link_module
      Src: /src/gpac/src/quickjs/quickjs.c:33565,1
    - Dst: js_evaluate_module
      Src: /src/gpac/src/quickjs/quickjs.c:33567,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:33568,1
    - Dst: js_free_modules
      Src: /src/gpac/src/quickjs/quickjs.c:33570,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:33574,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:33575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - ctx
    - fun_obj
    - this_obj
    - var_refs
    - sf
    argTypes:
    - JSContext*
    - JSValue
    - JSValueConst
    - JSVarRef**
    - JSStackFrame*
    constantsTouched: []
    func_position:
      end: 33578
      start: 33547
    functionDepth: 0
    functionLinenumber: 33547
    functionLinenumberEnd: 33578
    functionName: JS_EvalFunctionInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_evaluate_module
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - js_free_modules
    - js_create_module_function
    - js_link_module
    - JS_CallFree
    - js_closure
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_EvalFunctionInternal(JSContext *ctx, JSValue fun_obj,
      JSValueConst this_obj, JSVarRef **var_refs, JSStackFrame *sf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - str
    - len
    - h
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2492
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2492
    functionName: hash_string8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t hash_string8(const uint8_t *str, size_t len,
      uint32_t h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4709,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:4713,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4716,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - rt
    - i
    - sh
    argTypes:
    - JSRuntime*
    - int
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4717
      start: 4703
    functionDepth: 0
    functionLinenumber: 4703
    functionLinenumberEnd: 4717
    functionName: JS_DumpShape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomGetStrRT
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpShape(JSRuntime *rt, int i, JSShape
      *sh) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:9059,1
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:9064,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:9067,1
    - Dst: js_clone_shape
      Src: /src/gpac/src/quickjs/quickjs.c:9061,1
    - Dst: js_shape_hash_unlink
      Src: /src/gpac/src/quickjs/quickjs.c:9069,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - p
    - pprs
    argTypes:
    - JSContext*
    - JSObject*
    - JSShapeProperty**
    constantsTouched: []
    func_position:
      end: 9074
      start: 9049
    functionDepth: 0
    functionLinenumber: 9049
    functionLinenumberEnd: 9074
    functionName: js_shape_prepare_update
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_prop
    - js_free_shape
    - js_clone_shape
    - js_shape_hash_unlink
    linkageType: ''
    returnType: int
    signature: 'static int js_shape_prepare_update(JSContext *ctx, JSObject *p, JSShapeProperty
      **pprs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:10070,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10071
      start: 10068
    functionDepth: 0
    functionLinenumber: 10068
    functionLinenumberEnd: 10071
    functionName: JS_ToBool
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'int JS_ToBool(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41517
      start: 41513
    functionDepth: 0
    functionLinenumber: 41513
    functionLinenumberEnd: 41517
    functionName: js_string___toStringCheckObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToStringCheckObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___toStringCheckObject(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52718
      start: 52716
    functionDepth: 0
    functionLinenumber: 52716
    functionLinenumberEnd: 52718
    functionName: js_TA_get_uint8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_uint8(JSContext *ctx, const void *a) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: js_atomics_get_ptr
      Src: /src/gpac/src/quickjs/quickjs.c:53834,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53842,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:53841,1
    - Dst: JS_ToBigIntValueFree
      Src: /src/gpac/src/quickjs/quickjs.c:53841,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53844,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53845,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53849,1
    - Dst: JS_ToIntegerFree
      Src: /src/gpac/src/quickjs/quickjs.c:53856,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:53856,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53857,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53860,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53864,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:53876,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53859,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 53880
      start: 53825
    functionDepth: 0
    functionLinenumber: 53825
    functionLinenumberEnd: 53880
    functionName: js_atomics_store
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigInt64
    - JS_FreeValue
    - JS_IsException
    - JS_ToBigIntValueFree
    - JS_ToUint32
    - abort
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_DupValue
    - JS_ToIntegerFree
    - js_atomics_get_ptr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atomics_store(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4727,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:4736,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:4732,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4728,1
    - Dst: JS_DumpShape
      Src: /src/gpac/src/quickjs/quickjs.c:4731,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:4737,1
    - Dst: JS_DumpShape
      Src: /src/gpac/src/quickjs/quickjs.c:4741,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:4745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4746
      start: 4719
    functionDepth: 0
    functionLinenumber: 4719
    functionLinenumberEnd: 4746
    functionName: JS_DumpShapes
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - list_entry
    - JS_DumpShape
    - list_for_each
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpShapes(JSRuntime *rt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:10086,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/quickjs.c:10087,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - pc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10093
      start: 10073
    functionDepth: 0
    functionLinenumber: 10073
    functionLinenumberEnd: 10093
    functionName: skip_spaces
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - lre_is_space
    - unicode_from_utf8
    linkageType: ''
    returnType: int
    signature: 'static int skip_spaces(const char *pc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_for_of_next
      Src: /src/gpac/src/quickjs/quickjs.c:17490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17493
      start: 17486
    functionDepth: 0
    functionLinenumber: 17486
    functionLinenumberEnd: 17493
    functionName: (OP_for_of_next)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_for_of_next
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_for_of_next) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:41624,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41634,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:41638,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41645,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:41643,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41650,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:41658,1
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41621,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41622,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:41625,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:41632,1
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41635,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41656,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:41659,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41626,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41633,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41636,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41641,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:41647,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:41651,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:41654,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41637,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:41655,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:41657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 41660
      start: 41608
    functionDepth: 0
    functionLinenumber: 41608
    functionLinenumberEnd: 41660
    functionName: js_string_CreateHTML
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - string_buffer_putc16
    - JS_IsException
    - string_buffer_free
    - string_get
    - string_buffer_concat_value_free
    - JS_ToStringCheckObject
    - string_buffer_putc8
    - string_buffer_init
    - string_buffer_end
    - string_buffer_puts8
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_CreateHTML(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41523
      start: 41519
    functionDepth: 0
    functionLinenumber: 41519
    functionLinenumberEnd: 41523
    functionName: js_string___toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41534,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41538,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41535,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:41541,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:41537,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41542,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:41546,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41548,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41550
      start: 41525
    functionDepth: 0
    functionLinenumber: 41525
    functionLinenumberEnd: 41550
    functionName: js_string___advanceStringIndex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - JS_ToBool
    - string_getc
    - JS_IsException
    - JS_NewInt32
    - JS_ToString
    - JS_ToInt32Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___advanceStringIndex(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52722
      start: 52720
    functionDepth: 0
    functionLinenumber: 52720
    functionLinenumberEnd: 52722
    functionName: js_TA_get_int16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_int16(JSContext *ctx, const void *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:53887,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:53894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 53895
      start: 53882
    functionDepth: 0
    functionLinenumber: 53882
    functionLinenumberEnd: 53895
    functionName: js_atomics_isLockFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToInt32Sat
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atomics_isLockFree(JSContext *ctx, JSValueConst
      this_obj, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_num
      Src: /src/gpac/src/quickjs/quickjs.c:2457,1
    - Dst: is_num
      Src: /src/gpac/src/quickjs/quickjs.c:2469,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pval
    - p
    argTypes:
    - uint32_t*
    - JSString*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2482
    functionName: is_num_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - is_num
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL is_num_string(uint32_t *pval, const JSString *p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - prop_flags
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 9046
      start: 9017
    functionDepth: 0
    functionLinenumber: 9017
    functionLinenumberEnd: 9046
    functionName: check_define_prop_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL check_define_prop_flags(int prop_flags, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:16259,1
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:16262,1
    - Dst: alloca
      Src: /src/gpac/src/quickjs/quickjs.c:16264,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:16263,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:16273,1
    - Dst: JS_CallConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:16275,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:16278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 16281
      start: 16250
    functionDepth: 0
    functionLinenumber: 16250
    functionLinenumberEnd: 16281
    functionName: js_call_bound_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_CallConstructor2
    - alloca
    - js_check_stack_overflow
    - js_same_value
    - JS_Call
    - JS_ThrowStackOverflow
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_call_bound_function(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51660,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:51671,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51664,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51663,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51673,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:51673,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - obj
    - pbyte_offset
    - pbyte_length
    - pbytes_per_element
    argTypes:
    - JSContext*
    - JSValueConst
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 51674
      start: 51653
    functionDepth: 0
    functionLinenumber: 51653
    functionLinenumberEnd: 51674
    functionName: JS_GetTypedArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_typed_array
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_MKPTR
    - JS_DupValue
    - typed_array_is_detached
    - typed_array_size_log2
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetTypedArrayBuffer(JSContext *ctx, JSValueConst obj, size_t
      *pbyte_offset, size_t *pbyte_length, size_t *pbytes_per_element) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9482,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9488,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:9490,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9492
      start: 9475
    functionDepth: 0
    functionLinenumber: 9475
    functionLinenumberEnd: 9492
    functionName: js_object_has_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_own_property
    - JS_VALUE_GET_STRING
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_OBJ
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_object_has_name(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17438,1
    - Dst: JS_NewCatchOffset
      Src: /src/gpac/src/quickjs/quickjs.c:17439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17442
      start: 17435
    functionDepth: 0
    functionLinenumber: 17435
    functionLinenumberEnd: 17442
    functionName: (OP_catch)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_NewCatchOffset
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_catch) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42415,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42418,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42419
      start: 42413
    functionDepth: 0
    functionLinenumber: 42413
    functionLinenumberEnd: 42419
    functionName: js_regexp_get___source
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - js_get_regexp
    - JS_MKPTR
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_get___source(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:9498,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:9500,1
    - Dst: js_object_has_name
      Src: /src/gpac/src/quickjs/quickjs.c:9499,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:9500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - obj
    - name
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 9504
      start: 9494
    functionDepth: 0
    functionLinenumber: 9494
    functionLinenumberEnd: 9504
    functionName: JS_DefineObjectName
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - js_object_has_name
    - JS_AtomToString
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefineObjectName(JSContext *ctx, JSValueConst obj, JSAtom
      name, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42423,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42429,1
    - Dst: lre_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:42428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42430
      start: 42421
    functionDepth: 0
    functionLinenumber: 42421
    functionLinenumberEnd: 42430
    functionName: js_regexp_get___flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - lre_get_flags
    - JS_NewInt32
    - js_get_regexp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_get___flags(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:51680,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:51686,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51687
      start: 51676
    functionDepth: 0
    functionLinenumber: 51676
    functionLinenumberEnd: 51687
    functionName: js_typed_array_get_toStringTag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_AtomToString
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_get_toStringTag(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46688,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46703,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46706,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46697,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:46686,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46678,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:46677,1
    - Dst: js_create_resolving_functions
      Src: /src/gpac/src/quickjs/quickjs.c:46689,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:46694,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46699,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46707,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46701,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46696,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46695,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:46675,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:46680,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46691,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46692,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46702,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46709,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 46711
      start: 46665
    functionDepth: 0
    functionLinenumber: 46665
    functionLinenumberEnd: 46711
    functionName: js_promise_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetException
    - JS_SetOpaque
    - js_mallocz
    - JS_Call
    - js_create_from_ctor
    - check_function
    - js_create_resolving_functions
    - init_list_head
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16677
      start: 16671
    functionDepth: 0
    functionLinenumber: 16671
    functionLinenumberEnd: 16677
    functionName: (OP_rot3r)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_rot3r) : /* a b x -> x a b (312) */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:46721,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46723,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:46722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 46726
      start: 46713
    functionDepth: 0
    functionLinenumber: 46713
    functionLinenumberEnd: 46726
    functionName: js_promise_executor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_DupValue
    - JS_IsUndefined
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_executor(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1325,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:1328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1329
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1329
    functionName: js_mallocz_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    - js_malloc_rt
    linkageType: ''
    returnType: void*
    signature: 'void *js_mallocz_rt(JSRuntime *rt, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_write16
      Src: /src/gpac/src/quickjs/quickjs.c:3794,1
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:3796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - s
    - p
    - from
    - to
    argTypes:
    - StringBuffer*
    - JSString*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3797
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 3797
    functionName: string_buffer_concat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_write16
    - string_buffer_write8
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_concat(StringBuffer *s, const JSString *p,
      uint32_t from, uint32_t to) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:15536,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15538,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:15537,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:15536,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15543,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15548,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:15554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - sp
    - offset
    argTypes:
    - JSContext*
    - JSValue*
    - int
    constantsTouched: []
    func_position:
      end: 15556
      start: 15531
    functionDepth: 0
    functionLinenumber: 15531
    functionLinenumberEnd: 15556
    functionName: js_for_of_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_IsUndefined
    - likely
    - JS_IteratorNext
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_for_of_next(JSContext *ctx, JSValue *sp,
      int offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3809,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:3810,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:3809,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3811,1
    - Dst: string_buffer_set_error
      Src: /src/gpac/src/quickjs/quickjs.c:3812,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3813,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:3814,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3815,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3818,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:3819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - StringBuffer*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 3820
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3820
    functionName: string_buffer_concat_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - string_buffer_set_error
    - JS_VALUE_GET_TAG
    - JS_ToString
    - unlikely
    - string_buffer_concat
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_concat_value(StringBuffer *s, JSValueConst
      v) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: js_call_unary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:12947,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:12946,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12944,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12960,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13020,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13007,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12951,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:12976,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:12985,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:12944,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:12983,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:12957,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12958,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:12965,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13005,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:13022,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 59
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 13030
      start: 12934
    functionDepth: 0
    functionLinenumber: 12934
    functionLinenumberEnd: 13030
    functionName: js_unary_arith_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_FreeValue
    - __JS_NewFloat64
    - JS_IsException
    - abort
    - JS_VALUE_GET_TAG
    - JS_NewInt64
    - JS_VALUE_GET_FLOAT64
    - JS_IsObject
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_INT
    - js_call_unary_op_fallback
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'int js_unary_arith_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:15515,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15521,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15520,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15516,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - sp
    - is_async
    argTypes:
    - JSContext*
    - JSValue*
    - BOOL
    constantsTouched: []
    func_position:
      end: 15525
      start: 15510
    functionDepth: 0
    functionLinenumber: 15510
    functionLinenumberEnd: 15525
    functionName: js_for_of_start
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetIterator
    - JS_IsException
    - JS_GetProperty
    - JS_FreeValue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_for_of_start(JSContext *ctx, JSValue *sp,
      BOOL is_async) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - strcmp
    argTypes:
    - s
    constantsTouched: []
    func_position:
      end: 32849
      start: 32847
    functionDepth: 0
    functionLinenumber: 32847
    functionLinenumberEnd: 32849
    functionName: if
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (s->ctx->bignum_ext && !strcmp(str, "use math")) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:42158,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42160,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:42160,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:42161,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 42162
      start: 42156
    functionDepth: 0
    functionLinenumber: 42156
    functionLinenumberEnd: 42162
    functionName: js_regexp_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void js_regexp_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - buf_end
    - n
    - base
    argTypes:
    - char*
    - int64_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 11396
      start: 11373
    functionDepth: 0
    functionLinenumber: 11373
    functionLinenumberEnd: 11396
    functionName: i64toa
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *i64toa(char *buf_end, int64_t n, unsigned int base) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40064,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:40065,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40070,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40067,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:40068,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 40075
      start: 40062
    functionDepth: 0
    functionLinenumber: 40062
    functionLinenumberEnd: 40075
    functionName: js_thisBooleanValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupValue
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisBooleanValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18264,1
    - Dst: js_not_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18267,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18265,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18270
      start: 18261
    functionDepth: 0
    functionLinenumber: 18261
    functionLinenumberEnd: 18270
    functionName: (OP_not)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_not_slow
    - JS_VALUE_GET_INT
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_not) : '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:52227,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52200,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:52247,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:52253,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:52387,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52340,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52364,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:52414,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52220,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52232,1
    - Dst: bf_get_uint64
      Src: /src/gpac/src/quickjs/quickjs.c:52259,1
    - Dst: memchr
      Src: /src/gpac/src/quickjs/quickjs.c:52286,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:52198,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:52230,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52346,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:52370,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:52394,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52189,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:52240,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:52243,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:52256,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52416,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 189
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - special
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 52420
      start: 52180
    functionDepth: 0
    functionLinenumber: 52180
    functionLinenumberEnd: 52420
    functionName: js_typed_array_indexOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_NORM_TAG
    - JS_NewBool
    - JS_NewInt32
    - JS_VALUE_GET_PTR
    - JS_ToInt32Clamp
    - isnan
    - JS_IsUndefined
    - bf_get_int64
    - typed_array_is_detached
    - memchr
    - bf_get_uint64
    - JS_VALUE_GET_FLOAT64
    - is_math_mode
    - JS_VALUE_GET_INT
    - JS_ToFloat64
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int special) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBooleanValue
      Src: /src/gpac/src/quickjs/quickjs.c:40080,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:40083,1
    - Dst: JS_VALUE_GET_BOOL
      Src: /src/gpac/src/quickjs/quickjs.c:40083,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40085
      start: 40077
    functionDepth: 0
    functionLinenumber: 40077
    functionLinenumberEnd: 40085
    functionName: js_boolean_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_AtomToString
    - JS_VALUE_GET_BOOL
    - js_thisBooleanValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_boolean_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52431,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52436,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:52440,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52438,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:52437,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:52446,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:52452,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:52455,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:52459,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:52461,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52461,1
    - Dst: JS_ToLocaleStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:52465,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:52467,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52471,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:52472,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:52475,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52476,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52462,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - toLocaleString
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 52479
      start: 52422
    functionDepth: 0
    functionLinenumber: 52422
    functionLinenumberEnd: 52479
    functionName: js_typed_array_join
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - string_buffer_free
    - JS_ToString
    - JS_IsUndefined
    - string_buffer_concat_value_free
    - JS_ToLocaleStringFree
    - string_buffer_putc8
    - string_buffer_init
    - string_buffer_end
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_join(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int toLocaleString) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9404,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9408
      start: 9400
    functionDepth: 0
    functionLinenumber: 9400
    functionLinenumberEnd: 9408
    functionName: JS_DefinePropertyValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DefineProperty
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyValue(JSContext *ctx, JSValueConst this_obj,
      JSAtom prop, JSValue val, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34574,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34578,1
    - Dst: bc_put_u64
      Src: /src/gpac/src/quickjs/quickjs.c:34579,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:34576,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34577,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:34580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34586
      start: 34572
    functionDepth: 0
    functionLinenumber: 34572
    functionLinenumberEnd: 34586
    functionName: JS_WriteSharedArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - assert
    - bc_put_u64
    - bc_put_u8
    - bc_put_leb128
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteSharedArrayBuffer(BCWriterState *s, JSValueConst
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_array_buffer_constructor3
      Src: /src/gpac/src/quickjs/quickjs.c:51278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - new_target
    - len
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - uint64_t
    - JSClassID
    constantsTouched: []
    func_position:
      end: 51281
      start: 51274
    functionDepth: 0
    functionLinenumber: 51274
    functionLinenumberEnd: 51281
    functionName: js_array_buffer_constructor2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor3
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_constructor2(JSContext *ctx, JSValueConst
      new_target, uint64_t len, JSClassID class_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ops
    argTypes:
    - JSNumericOperations*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1586
    functionName: set_dummy_numeric_ops
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void set_dummy_numeric_ops(JSNumericOperations *ops) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:34592,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34603,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:34610,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:34622,1
    - Dst: js_object_list_find
      Src: /src/gpac/src/quickjs/quickjs.c:34645,1
    - Dst: js_object_list_add
      Src: /src/gpac/src/quickjs/quickjs.c:34651,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34689,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:34716,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34606,1
    - Dst: JS_WriteFunctionTag
      Src: /src/gpac/src/quickjs/quickjs.c:34630,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34615,1
    - Dst: JS_WriteArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:34669,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34688,1
    - Dst: JS_WriteBigNum
      Src: /src/gpac/src/quickjs/quickjs.c:34710,1
    - Dst: JS_WriteSharedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:34674,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34641,1
    - Dst: bc_put_u64
      Src: /src/gpac/src/quickjs/quickjs.c:34617,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34647,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34648,1
    - Dst: JS_WriteArray
      Src: /src/gpac/src/quickjs/quickjs.c:34663,1
    - Dst: JS_WriteObjectTag
      Src: /src/gpac/src/quickjs/quickjs.c:34666,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34678,1
    - Dst: JS_WriteTypedArray
      Src: /src/gpac/src/quickjs/quickjs.c:34694,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:34696,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34677,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:34597,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:34593,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34600,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:34606,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34609,1
    - Dst: bc_put_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:34610,1
    - Dst: JS_WriteModule
      Src: /src/gpac/src/quickjs/quickjs.c:34636,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34623,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:34616,1
    - Dst: JS_WriteString
      Src: /src/gpac/src/quickjs/quickjs.c:34624,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:34656,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 71
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34723
      start: 34588
    functionDepth: 0
    functionLinenumber: 34588
    functionLinenumberEnd: 34723
    functionName: JS_WriteObjectRec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_check_stack_overflow
    - js_object_list_find
    - JS_WriteModule
    - JS_VALUE_GET_STRING
    - JS_WriteFunctionTag
    - JS_WriteBigNum
    - JS_ThrowTypeError
    - JS_WriteArray
    - JS_WriteArrayBuffer
    - bc_put_sleb128
    - JS_WriteString
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_NORM_TAG
    - JS_WriteObjectRec
    - JS_ThrowInternalError
    - JS_WriteObjectTag
    - JS_ThrowStackOverflow
    - JS_WriteTypedArray
    - bc_put_u8
    - js_object_list_add
    - JS_VALUE_GET_OBJ
    - bc_put_u64
    - JS_VALUE_GET_FLOAT64
    - JS_WriteSharedArrayBuffer
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteObjectRec(BCWriterState *s, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37208,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:37209,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:37211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37212
      start: 37203
    functionDepth: 0
    functionLinenumber: 37203
    functionLinenumberEnd: 37212
    functionName: js_object___toPrimitive
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToPrimitive
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___toPrimitive(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_array_buffer_constructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - new_target
    - len
    argTypes:
    - JSContext*
    - JSValueConst
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51289
      start: 51283
    functionDepth: 0
    functionLinenumber: 51283
    functionLinenumberEnd: 51289
    functionName: js_array_buffer_constructor1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_constructor1(JSContext *ctx, JSValueConst
      new_target, uint64_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IteratorNext2
      Src: /src/gpac/src/quickjs/quickjs.c:15445,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:15455,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15446,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15453,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15452,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15458,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15460,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15464,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - enum_obj
    - method
    - argc
    - argv
    - pdone
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    constantsTouched: []
    func_position:
      end: 15467
      start: 15438
    functionDepth: 0
    functionLinenumber: 15438
    functionLinenumberEnd: 15467
    functionName: JS_IteratorNext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - JS_IteratorNext2
    - JS_ToBoolFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_IteratorNext(JSContext *ctx, JSValueConst enum_obj,
      JSValueConst method, int argc, JSValueConst *argv, BOOL *pdone) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15748,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15754,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15751,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15765,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15752,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15771,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15780,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:15786,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15790,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15791,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:15801,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:15804,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15796,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15794,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 5
    argNames:
    - ctx
    - target
    - source
    - excluded
    - setprop
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 15806
      start: 15733
    functionDepth: 0
    functionLinenumber: 15733
    functionLinenumberEnd: 15806
    functionName: JS_CopyDataProperties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_SetProperty
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_GetProperty
    - JS_DefinePropertyValue
    - JS_GetOwnPropertyNamesInternal
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - js_free_prop_enum
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_CopyDataProperties(JSContext *ctx, JSValueConst
      target, JSValueConst source, JSValueConst excluded, BOOL setprop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_regexp_constructor_internal
      Src: /src/gpac/src/quickjs/quickjs.c:16964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16967
      start: 16962
    functionDepth: 0
    functionLinenumber: 16962
    functionLinenumberEnd: 16967
    functionName: (OP_regexp)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_regexp_constructor_internal
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_regexp) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6635,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6641,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6643,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 6645
      start: 6635
    functionDepth: 0
    functionLinenumber: 6635
    functionLinenumberEnd: 6645
    functionName: JS_ThrowSyntaxError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __attribute__((format(printf, 2, 3))) JS_ThrowSyntaxError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15484,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:15489,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15485,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:15492,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15489,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15494,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15496,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:15497,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15501,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:15504,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - enum_obj
    - is_exception_pending
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 15507
      start: 15470
    functionDepth: 0
    functionLinenumber: 15470
    functionLinenumberEnd: 15507
    functionName: JS_IteratorClose
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - JS_ThrowTypeErrorNotAnObject
    - JS_GetProperty
    - JS_IsUndefined
    - JS_Throw
    - JS_IsObject
    - JS_CallFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_IteratorClose(JSContext *ctx, JSValueConst enum_obj,
      BOOL is_exception_pending) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 15812
      start: 15809
    functionDepth: 0
    functionLinenumber: 15809
    functionLinenumberEnd: 15812
    functionName: JS_GetActiveFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValueConst
    signature: 'static JSValueConst JS_GetActiveFunction(JSContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18222,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18224,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18226,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18231,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18223,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18232,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:18234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18236
      start: 18215
    functionDepth: 0
    functionLinenumber: 18215
    functionLinenumberEnd: 18236
    functionName: (OP_inc_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_DupValue
    - js_unary_arith_slow
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_inc_loc) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9697,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9702,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:9698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - prop
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 9707
      start: 9690
    functionDepth: 0
    functionLinenumber: 9690
    functionLinenumberEnd: 9707
    functionName: JS_CheckGlobalVar
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_HasProperty
    - find_own_property1
    linkageType: ''
    returnType: int
    signature: 'static int JS_CheckGlobalVar(JSContext *ctx, JSAtom prop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:15013,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 15018
      start: 15010
    functionDepth: 0
    functionLinenumber: 15010
    functionLinenumberEnd: 15018
    functionName: js_function_proto_lineNumber
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_GetFunctionBytecode
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_proto_lineNumber(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23708,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23728,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23747,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23744,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23769,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23699,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23716,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23720,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23731,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23764,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23750,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23770,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23773,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23787,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23702,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23753,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23734,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23774,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23775,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23778,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23781,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23784,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23715,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23705,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23725,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:23762,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23766,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23765,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 39
    argCount: 7
    argNames:
    - s
    - opcode
    - scope
    - name
    - label
    - special
    - is_let
    argTypes:
    - JSParseState*
    - int
    - int
    - JSAtom
    - int
    - PutLValueEnum
    - BOOL
    constantsTouched: []
    func_position:
      end: 23789
      start: 23686
    functionDepth: 0
    functionLinenumber: 23686
    functionLinenumberEnd: 23789
    functionName: put_lvalue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - emit_op
    - emit_u16
    - emit_u32
    - emit_label
    - abort
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void put_lvalue(JSParseState *s, int opcode, int scope, JSAtom
      name, int label, PutLValueEnum special, BOOL is_let) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 41937
      start: 41928
    functionDepth: 0
    functionLinenumber: 41928
    functionLinenumberEnd: 41937
    functionName: xorshift64star
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t xorshift64star(uint64_t *pstate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15027,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:15029,1
    - Dst: convert_fast_array_to_array
      Src: /src/gpac/src/quickjs/quickjs.c:15031,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 15037
      start: 15020
    functionDepth: 0
    functionLinenumber: 15020
    functionLinenumberEnd: 15037
    functionName: js_arguments_define_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - convert_fast_array_to_array
    - JS_DefineProperty
    - JS_AtomIsArrayIndex
    linkageType: ''
    returnType: int
    signature: 'static int js_arguments_define_own_property(JSContext *ctx, JSValueConst
      this_obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter,
      int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9660,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9666,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9661,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9667,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9666,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9670,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:9671,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9673,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9676,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9680,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:9685,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - prop
    - sp
    argTypes:
    - JSContext*
    - JSAtom
    - JSValue*
    constantsTouched: []
    func_position:
      end: 9687
      start: 9653
    functionDepth: 0
    functionLinenumber: 9653
    functionLinenumberEnd: 9687
    functionName: JS_GetGlobalVarRef
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - JS_DupValue
    - JS_ThrowReferenceErrorUninitialized
    - find_own_property
    - JS_HasProperty
    - JS_AtomToValue
    - JS_ThrowTypeErrorReadOnly
    - JS_IsUninitialized
    linkageType: ''
    returnType: int
    signature: 'static int JS_GetGlobalVarRef(JSContext *ctx, JSAtom prop, JSValue
      *sp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:19765,1
    - Dst: async_func_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19777,1
    - Dst: async_func_init
      Src: /src/gpac/src/quickjs/quickjs.c:19770,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19778,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:19769,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19780,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:19782,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19783,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19785,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19786,1
    - Dst: js_async_generator_free
      Src: /src/gpac/src/quickjs/quickjs.c:19789,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 19791
      start: 19757
    functionDepth: 0
    functionLinenumber: 19757
    functionLinenumberEnd: 19791
    functionName: js_async_generator_function_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - async_func_init
    - js_async_generator_free
    - JS_IsException
    - JS_SetOpaque
    - js_mallocz
    - js_create_from_ctor
    - init_list_head
    - async_func_resume
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_generator_function_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:5123,1
    - Dst: alloca
      Src: /src/gpac/src/quickjs/quickjs.c:5129,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:5128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_val
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 5139
      start: 5119
    functionDepth: 0
    functionLinenumber: 5119
    functionLinenumberEnd: 5139
    functionName: js_c_function_data_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - alloca
    - unlikely
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_c_function_data_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_val, int argc, JSValueConst *argv, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:5149,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:5151,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:5153,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:5163,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:5155,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:5164,1
    - Dst: js_function_set_properties
      Src: /src/gpac/src/quickjs/quickjs.c:5165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - func
    - length
    - magic
    - data_len
    - data
    argTypes:
    - JSContext*
    - JSCFunctionData*
    - int
    - int
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 5168
      start: 5141
    functionDepth: 0
    functionLinenumber: 5141
    functionLinenumberEnd: 5168
    functionName: JS_NewCFunctionData
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_malloc
    - JS_IsException
    - JS_NewObjectProtoClass
    - JS_SetOpaque
    - js_function_set_properties
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewCFunctionData(JSContext *ctx, JSCFunctionData *func,
      int length, int magic, int data_len, JSValueConst *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPropertyKey
      Src: /src/gpac/src/quickjs/quickjs.c:18496,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18499,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - (sp[-1])
    argTypes:
    - JS_VALUE_GET_TAG
    constantsTouched: []
    func_position:
      end: 18502
      start: 18489
    functionDepth: 0
    functionLinenumber: 18489
    functionLinenumberEnd: 18502
    functionName: (OP_to_propkey)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_ToPropertyKey
    - JS_FreeValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_to_propkey): switch (JS_VALUE_GET_TAG(sp[-1])) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_function_class_fields_init
      Src: /src/gpac/src/quickjs/quickjs.c:22900,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22913,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22908,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22912,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:22910,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22914,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22916,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22917,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22918,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22920,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:22922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s
    - cf
    argTypes:
    - JSParseState*
    - ClassFieldsDef*
    constantsTouched: []
    func_position:
      end: 22926
      start: 22895
    functionDepth: 0
    functionLinenumber: 22895
    functionLinenumberEnd: 22926
    functionName: emit_class_init_start
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - emit_op
    - emit_goto
    - emit_u16
    - emit_label
    - js_parse_function_class_fields_init
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int emit_class_init_start(JSParseState *s, ClassFieldsDef
      *cf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2402
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2402
    functionName: is_math_mode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL is_math_mode(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - ptr
    - size
    argTypes:
    - JSRuntime*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1315
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1315
    functionName: js_realloc_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *js_realloc_rt(JSRuntime *rt, void *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:2268,1
    - Dst: js_mark_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:2270,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:2269,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2274,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2273,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2276,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2277,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2279,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2281,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2284,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2287,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2288,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2291,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2292,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2289,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2290,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:2295,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:2286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - rt
    - ctx
    - mark_func
    argTypes:
    - JSRuntime*
    - JSContext*
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2296
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2296
    functionName: JS_MarkContext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MarkValue
    - mark_func
    - list_entry
    - js_mark_module_def
    - list_for_each
    linkageType: ''
    returnType: void
    signature: 'static void JS_MarkContext(JSRuntime *rt, JSContext *ctx, JS_MarkFunc
      *mark_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9376,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9379,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:9383,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:9388,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9381,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9389,1
    - Dst: JS_DupContext
      Src: /src/gpac/src/quickjs/quickjs.c:9391,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:9392,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:9393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - this_obj
    - prop
    - id
    - opaque
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSAutoInitIDEnum
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 9397
      start: 9369
    functionDepth: 0
    functionLinenumber: 9369
    functionLinenumberEnd: 9397
    functionName: JS_DefineAutoInitProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupContext
    - assert
    - abort
    - JS_VALUE_GET_TAG
    - unlikely
    - add_property
    - find_own_property
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefineAutoInitProperty(JSContext *ctx, JSValueConst
      this_obj, JSAtom prop, JSAutoInitIDEnum id, void *opaque, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10184,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10187,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10190,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10185,1
    - Dst: bf_atof
      Src: /src/gpac/src/quickjs/quickjs.c:10188,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:10191,1
    - Dst: JS_CompactBigInt1
      Src: /src/gpac/src/quickjs/quickjs.c:10193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - buf
    - radix
    - flags
    - pexponent
    argTypes:
    - JSContext*
    - char*
    - int
    - int
    - slimb_t*
    constantsTouched: []
    func_position:
      end: 10195
      start: 10178
    functionDepth: 0
    functionLinenumber: 10178
    functionLinenumberEnd: 10195
    functionName: js_string_to_bigint
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_CompactBigInt1
    - JS_IsException
    - bf_atof
    - JS_NewBigInt
    - JS_ThrowOutOfMemory
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_to_bigint(JSContext *ctx, const char *buf,
      int radix, int flags, slimb_t *pexponent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - ptr
    argTypes:
    - JSRuntime*
    - void*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: js_malloc_usable_size_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t js_malloc_usable_size_rt(JSRuntime *rt, const void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:10204,1
    - Dst: bf_atof2
      Src: /src/gpac/src/quickjs/quickjs.c:10210,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:10207,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10205,1
    - Dst: bf_atof
      Src: /src/gpac/src/quickjs/quickjs.c:10213,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10217,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:10218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - buf
    - radix
    - flags
    - pexponent
    argTypes:
    - JSContext*
    - char*
    - int
    - int
    - slimb_t*
    constantsTouched: []
    func_position:
      end: 10221
      start: 10197
    functionDepth: 0
    functionLinenumber: 10197
    functionLinenumberEnd: 10221
    functionName: js_string_to_bigfloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigFloat
    - bf_atof2
    - JS_IsException
    - bf_atof
    - JS_GetBigFloat
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_to_bigfloat(JSContext *ctx, const char *buf,
      int radix, int flags, slimb_t *pexponent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2257
    functionName: JS_DupContext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *JS_DupContext(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:35955,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35971,1
    - Dst: JS_ReadObjectAtoms
      Src: /src/gpac/src/quickjs/quickjs.c:35968,1
    - Dst: bc_reader_free
      Src: /src/gpac/src/quickjs/quickjs.c:35973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_len
    - flags
    argTypes:
    - JSContext*
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 35975
      start: 35946
    functionDepth: 0
    functionLinenumber: 35946
    functionLinenumberEnd: 35975
    functionName: JS_ReadObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_reader_free
    - JS_ReadObjectAtoms
    - memset
    - JS_ReadObjectRec
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ReadObject(JSContext *ctx, const uint8_t *buf, size_t buf_len,
      int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:15099,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15108,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15103,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:15106,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15101,1
    - Dst: get_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:15112,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:15115,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15115,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:15117,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:15126,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15141,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15127,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15136,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15132,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15137,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - argc
    - argv
    - sf
    - arg_count
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    - JSStackFrame*
    - int
    constantsTouched: []
    func_position:
      end: 15143
      start: 15090
    functionDepth: 0
    functionLinenumber: 15090
    functionLinenumberEnd: 15143
    functionName: js_build_mapped_arguments
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_NewObjectProtoClass
    - JS_DefinePropertyValueUint32
    - JS_DefinePropertyValue
    - get_var_ref
    - JS_DupValue
    - add_property
    - __JS_AtomFromUInt32
    - free_var_ref
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_build_mapped_arguments(JSContext *ctx, int argc,
      JSValueConst *argv, JSStackFrame *sf, int arg_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17069,1
    - Dst: JS_DefineGlobalFunction
      Src: /src/gpac/src/quickjs/quickjs.c:17072,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17076
      start: 17067
    functionDepth: 0
    functionLinenumber: 17067
    functionLinenumberEnd: 17076
    functionName: (OP_define_func)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_FreeValue
    - JS_DefineGlobalFunction
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_func) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:46734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 46736
      start: 46728
    functionDepth: 0
    functionLinenumber: 46728
    functionLinenumberEnd: 46736
    functionName: js_promise_executor_new
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunctionData
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_executor_new(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:15150,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:15154,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15155,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15151,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - first
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 15163
      start: 15145
    functionDepth: 0
    functionLinenumber: 15145
    functionLinenumberEnd: 15163
    functionName: js_build_rest
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewArray
    - JS_IsException
    - JS_DefinePropertyValueUint32
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_build_rest(JSContext *ctx, int first, int argc,
      JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_promise_executor_new
      Src: /src/gpac/src/quickjs/quickjs.c:46746,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:46750,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:46754,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46747,1
    - Dst: js_promise_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:46751,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46757,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46759,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:46761,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46765,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46766,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46769,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - resolving_funcs
    - ctor
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 46772
      start: 46738
    functionDepth: 0
    functionLinenumber: 46738
    functionLinenumberEnd: 46772
    functionName: js_new_promise_capability
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_CallConstructor
    - JS_IsException
    - JS_IsUndefined
    - js_promise_constructor
    - JS_GetOpaque
    - JS_DupValue
    - check_function
    - js_promise_executor_new
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_new_promise_capability(JSContext *ctx, JSValue *resolving_funcs,
      JSValueConst ctor) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43388,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43391,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43390,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43402,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43394,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:43393,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43415,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:43369,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43401,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43405,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43414,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:43382,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43382,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:43387,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43407,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43416,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43368,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43375,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43378,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:43374,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43379,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43383,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43383,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43396,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:43404,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43408,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43413,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 43418
      start: 43362
    functionDepth: 0
    functionLinenumber: 43362
    functionLinenumberEnd: 43418
    functionName: js_regexp_Symbol_search
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetProperty
    - JS_RegExpExec
    - JS_IsNull
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_NewInt32
    - JS_ToString
    - JS_GetProperty
    - js_same_value
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_Symbol_search(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17804,1
    - Dst: js_op_define_class
      Src: /src/gpac/src/quickjs/quickjs.c:17807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames:
    - OP_define_class_computed
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17811
      start: 17801
    functionDepth: 0
    functionLinenumber: 17801
    functionLinenumberEnd: 17811
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - js_op_define_class
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_class): CASE(OP_define_class_computed) : '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37288,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37293,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:37289,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37291,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37290,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37294,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37295,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37296,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:37297,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37299,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:37305,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37303,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37304,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37303,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37300,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37301,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37306,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:37307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - obj
    - defaultConstructor
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37310
      start: 37283
    functionDepth: 0
    functionLinenumber: 37283
    functionLinenumberEnd: 37310
    functionName: JS_SpeciesConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsConstructor
    - JS_IsNull
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_DupValue
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_SpeciesConstructor(JSContext *ctx, JSValueConst
      obj, JSValueConst defaultConstructor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6724,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6731,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6730,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 6734
      start: 6724
    functionDepth: 0
    functionLinenumber: 6724
    functionLinenumberEnd: 6734
    functionName: JS_ThrowReferenceError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __attribute__((format(printf, 2, 3))) JS_ThrowReferenceError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:15050,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:15057,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15052,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15059,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15054,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:15064,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15066,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15070,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15076,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15077,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15080,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 15084
      start: 15043
    functionDepth: 0
    functionLinenumber: 15043
    functionLinenumberEnd: 15084
    functionName: js_build_arguments
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - js_malloc
    - JS_IsException
    - JS_NewInt32
    - JS_NewObjectProtoClass
    - JS_DefinePropertyValue
    - JS_DupValue
    - JS_DefineProperty
    - add_property
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_build_arguments(JSContext *ctx, int argc, JSValueConst
      *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37516
      start: 37512
    functionDepth: 0
    functionLinenumber: 37512
    functionLinenumberEnd: 37516
    functionName: js_function_proto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_proto(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28721,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:28731,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:28722,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:28723,1
    - Dst: js_parse_export
      Src: /src/gpac/src/quickjs/quickjs.c:28728,1
    - Dst: js_parse_import
      Src: /src/gpac/src/quickjs/quickjs.c:28734,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:28737,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 28741
      start: 28715
    functionDepth: 0
    functionLinenumber: 28715
    functionLinenumberEnd: 28741
    functionName: js_parse_source_element
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - js_parse_function_decl
    - js_parse_import
    - js_parse_statement_or_decl
    - js_parse_export
    - peek_token
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_source_element(JSParseState *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:2669,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:2687,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:2684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2689
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2689
    functionName: JS_AtomGetKind
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - abort
    linkageType: ''
    returnType: JSAtomKindEnum
    signature: 'static JSAtomKindEnum JS_AtomGetKind(JSContext *ctx, JSAtom v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:43994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - JS_CLASS_BIG_FLOAT
    argTypes:
    - cl
    constantsTouched: []
    func_position:
      end: 43995
      start: 43993
    functionDepth: 0
    functionLinenumber: 43993
    functionLinenumberEnd: 43995
    functionName: if
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_concat_value_free
    linkageType: ''
    returnType: else
    signature: 'else if (cl == JS_CLASS_BIG_FLOAT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomGetKind
      Src: /src/gpac/src/quickjs/quickjs.c:2693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: JS_AtomIsString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomGetKind
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL JS_AtomIsString(JSContext *ctx, JSAtom v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:28751,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:28785,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:28756,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:28762,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:28769,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28793,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:28796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 6
    argNames:
    - ctx
    - parent
    - is_eval
    - is_func_expr
    - filename
    - line_num
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - BOOL
    - BOOL
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 28802
      start: 28743
    functionDepth: 0
    functionLinenumber: 28743
    functionLinenumberEnd: 28802
    functionName: js_new_function_def
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - js_dbuf_init
    - js_mallocz
    - list_add_tail
    - init_list_head
    - countof
    linkageType: ''
    returnType: JSFunctionDef*
    signature: 'static JSFunctionDef *js_new_function_def(JSContext *ctx, JSFunctionDef
      *parent, BOOL is_eval, BOOL is_func_expr, const char *filename, int line_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:43996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - JS_CLASS_BIG_INT
    argTypes:
    - cl
    constantsTouched: []
    func_position:
      end: 43998
      start: 43995
    functionDepth: 0
    functionLinenumber: 43995
    functionLinenumberEnd: 43998
    functionName: if
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: else
    signature: 'else if (cl == JS_CLASS_BIG_INT) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:1523,1
    - Dst: JS_NewClass1
      Src: /src/gpac/src/quickjs/quickjs.c:1526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - rt
    - tab
    - start
    - count
    argTypes:
    - JSRuntime*
    - JSClassShortDef*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1530
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1530
    functionName: init_class_range
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    - JS_NewClass1
    linkageType: ''
    returnType: int
    signature: 'static int init_class_range(JSRuntime *rt, JSClassShortDef const *tab,
      int start, int count) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:20313,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:20329,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:20352,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20345,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20347,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:20357,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20362,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:20364,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - JSParseState*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 20366
      start: 20307
    functionDepth: 0
    functionLinenumber: 20307
    functionLinenumberEnd: 20366
    functionName: js_parse_template_part
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    - js_parse_error
    - string_buffer_free
    - string_buffer_putc8
    - string_buffer_putc
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_template_part(JSParseState *s, const
      uint8_t *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36252,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:36253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - name
    - func
    - length
    - proto
    argTypes:
    - JSContext*
    - char*
    - JSCFunction*
    - int
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36255
      start: 36247
    functionDepth: 0
    functionLinenumber: 36247
    functionLinenumberEnd: 36255
    functionName: JS_NewGlobalCConstructorOnly
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunction2
    - JS_NewGlobalCConstructor2
    linkageType: ''
    returnType: JSValueConst
    signature: 'static JSValueConst JS_NewGlobalCConstructorOnly(JSContext *ctx, const
      char *name, JSCFunction *func, int length, JSValueConst proto) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:52738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52739
      start: 52737
    functionDepth: 0
    functionLinenumber: 52737
    functionLinenumberEnd: 52739
    functionName: js_TA_get_int64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewBigInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_int64(JSContext *ctx, const void *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17253,1
    - Dst: JS_ThrowReferenceErrorUninitialized2
      Src: /src/gpac/src/quickjs/quickjs.c:17256,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17259,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17255,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17261
      start: 17250
    functionDepth: 0
    functionLinenumber: 17250
    functionLinenumberEnd: 17261
    functionName: (OP_get_loc_check)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - JS_ThrowReferenceErrorUninitialized2
    - unlikely
    - JS_DupValue
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_loc_check) : '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:20377,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20449,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20386,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20455,1
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/quickjs.c:20465,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20469,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20482,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:20487,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:20492,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20498,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20502,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:20504,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 94
    argCount: 6
    argNames:
    - s
    - sep
    - do_throw
    - p
    - token
    - pp
    argTypes:
    - JSParseState*
    - int
    - BOOL
    - uint8_t*
    - JSToken*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 20506
      start: 20368
    functionDepth: 0
    functionLinenumber: 20368
    functionLinenumberEnd: 20506
    functionName: js_parse_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - unicode_from_utf8
    - string_buffer_free
    - string_buffer_putc
    - string_buffer_init
    - string_buffer_end
    - lre_parse_escape
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_string(JSParseState *s, int sep, BOOL
      do_throw, const uint8_t *p, JSToken *token, const uint8_t **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_EvalObject
      Src: /src/gpac/src/quickjs/quickjs.c:36260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36261
      start: 36257
    functionDepth: 0
    functionLinenumber: 36257
    functionLinenumberEnd: 36261
    functionName: js_global_eval
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_EvalObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_eval(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigUint64
      Src: /src/gpac/src/quickjs/quickjs.c:52742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52743
      start: 52741
    functionDepth: 0
    functionLinenumber: 52741
    functionLinenumberEnd: 52743
    functionName: js_TA_get_uint64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewBigUint64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_uint64(JSContext *ctx, const void *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:52999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 53000
      start: 52995
    functionDepth: 0
    functionLinenumber: 52995
    functionLinenumberEnd: 53000
    functionName: js_typed_array_base_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_base_constructor(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6650,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6658,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6657,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 6660
      start: 6650
    functionDepth: 0
    functionLinenumber: 6650
    functionLinenumberEnd: 6660
    functionName: JS_ThrowTypeError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __attribute__((format(printf, 2, 3))) JS_ThrowTypeError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4991,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5000,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:5000,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:4994,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:4993,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:5002,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5003,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:5003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - func_obj
    - home_obj
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5008
      start: 4985
    functionDepth: 0
    functionLinenumber: 4985
    functionLinenumberEnd: 5008
    functionName: js_method_set_home_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_VALUE_GET_TAG
    - JS_MKPTR
    - JS_DupValue
    - js_class_has_bytecode
    linkageType: ''
    returnType: void
    signature: 'static void js_method_set_home_object(JSContext *ctx, JSValueConst
      func_obj, JSValueConst home_obj) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:36936,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:36937,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36941,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36938,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:36939,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36942,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:36944,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36946,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:36951,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36954,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36972,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36973,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36971,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36976,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:36977,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:36980,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:36975,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36981
      start: 36928
    functionDepth: 0
    functionLinenumber: 36928
    functionLinenumberEnd: 36981
    functionName: js_object_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_IsNull
    - JS_IsArray
    - JS_IsFunction
    - JS_IsException
    - JS_ConcatString3
    - JS_NewString
    - JS_AtomToString
    - JS_GetProperty
    - JS_IsUndefined
    - JS_IsString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:5014,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:5016,1
    - Dst: JS_AtomSymbolHasDescription
      Src: /src/gpac/src/quickjs/quickjs.c:5015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 5019
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5019
    functionName: js_get_function_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ConcatString3
    - JS_AtomSymbolHasDescription
    - JS_AtomToString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_get_function_name(JSContext *ctx, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6665,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6673,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6672,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6674,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:6671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - flags
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 6679
      start: 6665
    functionDepth: 0
    functionLinenumber: 6665
    functionLinenumberEnd: 6679
    functionName: JS_ThrowTypeErrorOrFalse
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - format
    - va_end
    - va_start
    - is_strict_mode
    - JS_ThrowError
    linkageType: ''
    returnType: int
    signature: 'static int __attribute__((format(printf, 3, 4))) JS_ThrowTypeErrorOrFalse(JSContext
      *ctx, int flags, const char *fmt, ...) #endif '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17331,1
    - Dst: JS_GetGlobalVarRef
      Src: /src/gpac/src/quickjs/quickjs.c:17334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17337
      start: 17329
    functionDepth: 0
    functionLinenumber: 17329
    functionLinenumberEnd: 17337
    functionName: (OP_make_var_ref)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_GetGlobalVarRef
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_make_var_ref) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_Invoke
      Src: /src/gpac/src/quickjs/quickjs.c:36986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36987
      start: 36983
    functionDepth: 0
    functionLinenumber: 36983
    functionLinenumberEnd: 36987
    functionName: js_object_toLocaleString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_Invoke
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_toLocaleString(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11821,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:11829,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11831,1
    - Dst: js_autoinit_get_realm
      Src: /src/gpac/src/quickjs/quickjs.c:11881,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:11885,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:11893,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11900,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:11905,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11826,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11828,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11862,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:11867,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11871,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11866,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11898,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:11901,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11817,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:11854,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:11873,1
    - Dst: js_autoinit_get_id
      Src: /src/gpac/src/quickjs/quickjs.c:11882,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11904,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11834,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:11838,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11857,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11880,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11875,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11878,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11872,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11890,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:11905,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11909,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 74
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 11910
      start: 11806
    functionDepth: 0
    functionLinenumber: 11806
    functionLinenumberEnd: 11910
    functionName: JS_DumpObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_prop
    - JS_DumpValueShort
    - JS_AtomGetStrRT
    - JS_MKPTR
    - js_autoinit_get_realm
    - typed_array_size_log2
    - js_class_has_bytecode
    - js_autoinit_get_id
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpObject(JSRuntime *rt, JSObject *p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:12737,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:12742,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:12740,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12738,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12746,1
    - Dst: get_ovop_from_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:12750,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12754,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12758,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12758,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:12759,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12766,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12762,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12760,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - pret
    - op1
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 12769
      start: 12724
    functionDepth: 0
    functionLinenumber: 12724
    functionLinenumberEnd: 12769
    functionName: js_call_unary_op_fallback
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_ovop_from_opcode
    - JS_IsException
    - JS_GetOpaque2
    - JS_ThrowTypeError
    - JS_GetProperty
    - JS_IsUndefined
    - JS_MKPTR
    - JS_DupValue
    - JS_CallFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_call_unary_op_fallback(JSContext *ctx, JSValue
      *pret, JSValueConst op1, OPCodeEnum op) '
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:32956,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:33173,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:33249,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:33271,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:33305,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33436,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33275,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33188,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33145,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33184,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:33208,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33309,1
    - Dst: js_parse_function_check_names
      Src: /src/gpac/src/quickjs/quickjs.c:33313,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:33337,1
    - Dst: emit_return
      Src: /src/gpac/src/quickjs/quickjs.c:33366,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:33387,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33413,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:32978,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:32993,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33151,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33190,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:33222,1
    - Dst: add_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:33401,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33432,1
    - Dst: js_parse_function_check_names
      Src: /src/gpac/src/quickjs/quickjs.c:33344,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33233,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:33240,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33193,1
    - Dst: js_new_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:33051,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33277,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33287,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:33316,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33394,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33410,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:33418,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33205,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:33254,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33279,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33423,1
    - Dst: find_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:33003,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:33016,1
    - Dst: find_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:33029,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33152,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33223,1
    - Dst: js_strndup
      Src: /src/gpac/src/quickjs/quickjs.c:33329,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33359,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:33390,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33426,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33234,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:33032,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:33006,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33278,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33219,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:33214,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:33168,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33156,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33211,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:33216,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33322,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33438,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33045,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:33244,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33224,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33221,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33286,1
    - Dst: js_strndup
      Src: /src/gpac/src/quickjs/quickjs.c:33354,1
    - Dst: cpool_add
      Src: /src/gpac/src/quickjs/quickjs.c:33377,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33437,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33235,1
    - Dst: find_lexical_decl
      Src: /src/gpac/src/quickjs/quickjs.c:33015,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33195,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33209,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33187,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33386,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:33465,1
    - Dst: js_free_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:33475,1
    - Dst: add_arg
      Src: /src/gpac/src/quickjs/quickjs.c:33113,1
    - Dst: add_arg
      Src: /src/gpac/src/quickjs/quickjs.c:33155,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33220,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:33177,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33157,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32958,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:33040,1
    - Dst: add_arg
      Src: /src/gpac/src/quickjs/quickjs.c:33181,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33212,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33191,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33232,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32965,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32986,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33320,1
    - Dst: js_parse_source_element
      Src: /src/gpac/src/quickjs/quickjs.c:33348,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:33395,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33411,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33424,1
    - Dst: add_global_var
      Src: /src/gpac/src/quickjs/quickjs.c:33460,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32962,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33054,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:33109,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33196,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33210,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33215,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:33218,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:33272,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:32957,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32997,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:33127,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33213,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33192,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33276,1
    - Dst: js_is_live_code
      Src: /src/gpac/src/quickjs/quickjs.c:33365,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33389,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33225,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32985,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33007,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33033,1
    - Dst: emit_class_field_init
      Src: /src/gpac/src/quickjs/quickjs.c:33099,1
    - Dst: js_parse_directives
      Src: /src/gpac/src/quickjs/quickjs.c:33340,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33412,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:33425,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:33442,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32987,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33095,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:33121,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33124,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:33133,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:33159,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33236,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33280,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33294,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33300,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:33416,1
    CyclomaticComplexity: 196
    EdgeCount: 196
    ICount: 454
    argCount: 8
    argNames:
    - s
    - func_type
    - func_kind
    - func_name
    - ptr
    - function_line_num
    - export_flag
    - pfd
    argTypes:
    - JSParseState*
    - JSParseFunctionEnum
    - JSFunctionKindEnum
    - JSAtom
    - uint8_t*
    - int
    - JSParseExportEnum
    - JSFunctionDef**
    constantsTouched: []
    func_position:
      end: 33479
      start: 32933
    functionDepth: 0
    functionLinenumber: 32933
    functionLinenumberEnd: 33479
    functionName: js_parse_function_decl2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - emit_goto
    - add_global_var
    - peek_token
    - js_strndup
    - define_var
    - emit_op
    - js_parse_function_check_names
    - js_new_function_def
    - JS_DupAtom
    - find_lexical_decl
    - js_parse_assign_expr
    - push_scope
    - set_object_name
    - cpool_add
    - find_var
    - js_is_live_code
    - JS_FreeAtom
    - js_parse_skip_parens_token
    - js_parse_error
    - next_token
    - emit_label
    - add_var
    - emit_return
    - js_parse_expect
    - js_parse_directives
    - add_arg
    - token_is_pseudo_keyword
    - emit_u16
    - new_label
    - emit_u32
    - js_free_function_def
    - find_global_var
    - js_parse_error_reserved_identifier
    - js_parse_source_element
    - add_export_entry
    - js_parse_destructuring_element
    - emit_class_field_init
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_function_decl2(JSParseState *s, JSParseFunctionEnum
      func_type, JSFunctionKindEnum func_kind, JSAtom func_name, const uint8_t *ptr,
      int function_line_num, JSParseExportEnum export_flag, JSFunctionDef **pfd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:51420,1
    - Dst: JS_ThrowTypeErrorInvalidClass
      Src: /src/gpac/src/quickjs/quickjs.c:51426,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51430
      start: 51417
    functionDepth: 0
    functionLinenumber: 51417
    functionLinenumberEnd: 51430
    functionName: js_get_array_buffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeErrorInvalidClass
    linkageType: ''
    returnType: JSArrayBuffer*
    signature: 'static JSArrayBuffer *js_get_array_buffer(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 11803
      start: 11799
    functionDepth: 0
    functionLinenumber: 11799
    functionLinenumberEnd: 11803
    functionName: JS_DumpObjectHeader
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpObjectHeader(JSRuntime *rt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:12680,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:12685,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12681,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12705,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:12683,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12711,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12705,1
    - Dst: get_ovop_from_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:12688,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:12699,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12700,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12701,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12713,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12710,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12692,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:12696,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12697,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:12708,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12717,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12709,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - pret
    - obj
    - op1
    - op2
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 12720
      start: 12667
    functionDepth: 0
    functionLinenumber: 12667
    functionLinenumberEnd: 12720
    functionName: js_call_binary_op_simple
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_ovop_from_opcode
    - JS_IsException
    - JS_GetOpaque2
    - JS_GetProperty
    - JS_IsUndefined
    - JS_MKPTR
    - JS_DupValue
    - JS_ToNumeric
    - JS_CallFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_call_binary_op_simple(JSContext *ctx, JSValue
      *pret, JSValueConst obj, JSValueConst op1, JSValueConst op2, OPCodeEnum op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_new_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:32910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 32929
      start: 32906
    functionDepth: 0
    functionLinenumber: 32906
    functionLinenumberEnd: 32929
    functionName: js_parse_function_class_fields_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_function_def
    linkageType: ''
    returnType: JSFunctionDef*
    signature: 'static JSFunctionDef *js_parse_function_class_fields_init(JSParseState
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:37316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37317
      start: 37313
    functionDepth: 0
    functionLinenumber: 37313
    functionLinenumberEnd: 37317
    functionName: js_object___speciesConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SpeciesConstructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___speciesConstructor(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6685,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:6690,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:6689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - atom
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - JSAtom
    - char*
    constantsTouched: []
    func_position:
      end: 6691
      start: 6685
    functionDepth: 0
    functionLinenumber: 6685
    functionLinenumberEnd: 6691
    functionName: __JS_ThrowTypeErrorAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - format
    - JS_AtomGetStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue __attribute__((format(printf, 3, 4))) __JS_ThrowTypeErrorAtom(JSContext
      *ctx, JSAtom atom, const char *fmt, ...) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:11022,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:11022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int32_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11023
      start: 11020
    functionDepth: 0
    functionLinenumber: 11020
    functionLinenumberEnd: 11023
    functionName: JS_ToInt32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToInt32Free
    - JS_DupValue
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt32(JSContext *ctx, int32_t *pres, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPrivateField
      Src: /src/gpac/src/quickjs/quickjs.c:17674,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17675,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17676,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17680
      start: 17671
    functionDepth: 0
    functionLinenumber: 17671
    functionLinenumberEnd: 17680
    functionName: (OP_put_private_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - unlikely
    - JS_SetPrivateField
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_private_field) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17914,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17919,1
    - Dst: JS_SetPropertyGeneric
      Src: /src/gpac/src/quickjs/quickjs.c:17921,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:17915,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17918,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17923,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17924,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17925,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17930
      start: 17911
    functionDepth: 0
    functionLinenumber: 17911
    functionLinenumberEnd: 17930
    functionName: (OP_put_super_value)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowTypeErrorNotAnObject
    - JS_SetPropertyGeneric
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ValueToAtom
    - JS_FreeAtom
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_super_value) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34546,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34550,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34552,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34549,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34551,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34553,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:34553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34556
      start: 34544
    functionDepth: 0
    functionLinenumber: 34544
    functionLinenumberEnd: 34556
    functionName: JS_WriteTypedArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_WriteObjectRec
    - JS_MKPTR
    - bc_put_u8
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteTypedArray(BCWriterState *s, JSValueConst obj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigDecimalValue
      Src: /src/gpac/src/quickjs/quickjs.c:50867,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50868,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:50871,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50870,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50873,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50876,1
    - Dst: js_bigdecimal_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:50881,1
    - Dst: js_bigdecimal_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:50885,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50887,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50890,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50892
      start: 50860
    functionDepth: 0
    functionLinenumber: 50860
    functionLinenumberEnd: 50892
    functionName: js_bigdecimal_toPrecision
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowRangeError
    - js_bigdecimal_to_string1
    - JS_IsException
    - js_thisBigDecimalValue
    - JS_IsUndefined
    - JS_ToStringFree
    - js_bigdecimal_get_rnd_mode
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_toPrecision(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52682
      start: 52678
    functionDepth: 0
    functionLinenumber: 52678
    functionLinenumberEnd: 52682
    functionName: js_TA_cmp_int32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_int32(const void *a, const void *b, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:52733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52734
      start: 52732
    functionDepth: 0
    functionLinenumber: 52732
    functionLinenumberEnd: 52734
    functionName: js_TA_get_uint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_uint32(JSContext *ctx, const void *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:11027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11028
      start: 11025
    functionDepth: 0
    functionLinenumber: 11025
    functionLinenumberEnd: 11028
    functionName: JS_ToUint32Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToInt32Free
    linkageType: ''
    returnType: int
    signature: 'static inline int JS_ToUint32Free(JSContext *ctx, uint32_t *pres,
      JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:34560,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34567,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:34568,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34566,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:34563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - BCWriterState*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 34570
      start: 34558
    functionDepth: 0
    functionLinenumber: 34558
    functionLinenumberEnd: 34570
    functionName: JS_WriteArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - bc_put_u8
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - dbuf_put
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteArrayBuffer(BCWriterState *s, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52688
      start: 52684
    functionDepth: 0
    functionLinenumber: 52684
    functionLinenumberEnd: 52688
    functionName: js_TA_cmp_uint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_uint32(const void *a, const void *b, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_get_array_buffer
      Src: /src/gpac/src/quickjs/quickjs.c:51436,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - psize
    - obj
    argTypes:
    - JSContext*
    - size_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51448
      start: 51434
    functionDepth: 0
    functionLinenumber: 51434
    functionLinenumberEnd: 51448
    functionName: JS_GetArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_array_buffer
    - JS_ThrowTypeErrorDetachedArrayBuffer
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *JS_GetArrayBuffer(JSContext *ctx, size_t *psize, JSValueConst
      obj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:42987,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:42996,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42997,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:42999,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43004,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43004,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43005,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:43007,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:43009,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43010,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43012,1
    - Dst: string_advance_index
      Src: /src/gpac/src/quickjs/quickjs.c:43013,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43026,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43018,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43014,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43025,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43015,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - pdone
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    - int
    constantsTouched: []
    func_position:
      end: 43029
      start: 42977
    functionDepth: 0
    functionLinenumber: 42977
    functionLinenumberEnd: 43029
    functionName: js_regexp_string_iterator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_advance_index
    - JS_RegExpExec
    - JS_IsNull
    - JS_SetProperty
    - JS_IsException
    - JS_GetOpaque2
    - JS_GetProperty
    - JS_NewInt64
    - JS_ToStringFree
    - JS_GetPropertyInt64
    - JS_IsEmptyString
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_string_iterator_next(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, BOOL *pdone, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7812,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:7816,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7816,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - desc
    - obj
    - prop
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 7817
      start: 7809
    functionDepth: 0
    functionLinenumber: 7809
    functionLinenumberEnd: 7817
    functionName: JS_GetOwnProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - JS_GetOwnPropertyInternal
    linkageType: ''
    returnType: int
    signature: 'int JS_GetOwnProperty(JSContext *ctx, JSPropertyDescriptor *desc,
      JSValueConst obj, JSAtom prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 0
    argNames:
    - OP_async_yield_star
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18638
      start: 18623
    functionDepth: 0
    functionLinenumber: 18623
    functionLinenumberEnd: 18638
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_yield_star): CASE(OP_async_yield_star) : ret_val = JS_NewInt32(ctx,
      FUNC_RET_YIELD_STAR); goto done_generator; CASE(OP_return_async): CASE(OP_initial_yield):
      ret_val = JS_UNDEFINED; goto done_generator; CASE(OP_nop): BREAK; CASE(OP_is_undefined_or_null):
      if (JS_VALUE_GET_TAG(sp[-1]) == JS_TAG_UNDEFINED || JS_VALUE_GET_TAG(sp[-1])
      == JS_TAG_NULL) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 25730
      start: 25727
    functionDepth: 0
    functionLinenumber: 25727
    functionLinenumberEnd: 25730
    functionName: js_parse_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_expr2
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_expr(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - fd
    - be
    - label_name
    - label_break
    - label_cont
    - drop_count
    argTypes:
    - JSFunctionDef*
    - BlockEnv*
    - JSAtom
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 25746
      start: 25732
    functionDepth: 0
    functionLinenumber: 25732
    functionLinenumberEnd: 25746
    functionName: push_break_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void push_break_entry(JSFunctionDef *fd, BlockEnv *be, JSAtom
      label_name, int label_break, int label_cont, int drop_count) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:43050,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43051,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:43074,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:43071,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43072,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:43080,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:43081,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:43083,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43090,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:43043,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43056,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:43061,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43062,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43093,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43056,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43057,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43079,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43086,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43089,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43092,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43042,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:43053,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43054,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:43064,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43067,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43065,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43068,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43085,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43091,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 43095
      start: 43031
    functionDepth: 0
    functionLinenumber: 43031
    functionLinenumberEnd: 43095
    functionName: js_regexp_Symbol_matchAll
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_CallConstructor
    - JS_SetProperty
    - js_malloc
    - string_indexof_char
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_SpeciesConstructor
    - JS_ToString
    - JS_GetProperty
    - JS_NewInt64
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_ToStringFree
    - JS_IsObject
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_Symbol_matchAll(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:6247,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:6258,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6265,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:6272,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6278,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6281,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6271,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6284,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6298,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6316,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6320,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6306,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6314,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6332,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:6237,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6244,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6251,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6267,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6293,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6303,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6333,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6327,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6218,1
    - Dst: js_malloc_usable_size_rt
      Src: /src/gpac/src/quickjs/quickjs.c:6241,1
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:6239,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:6257,1
    - Dst: min_uint32
      Src: /src/gpac/src/quickjs/quickjs.c:6262,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6287,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6276,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6309,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6330,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs.c:6340,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 3
    argNames:
    - fp
    - s
    - rt
    argTypes:
    - FILE*
    - JSMemoryUsage*
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 6343
      start: 6216
    functionDepth: 0
    functionLinenumber: 6216
    functionLinenumberEnd: 6343
    functionName: JS_DumpMemoryUsage
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fprintf
    - list_for_each
    - list_entry
    - js_free_rt
    - min_uint32
    - JS_AtomGetStrRT
    - js_malloc_usable_size_rt
    - countof
    - js_malloc_rt
    linkageType: ''
    returnType: void
    signature: 'void JS_DumpMemoryUsage(FILE *fp, const JSMemoryUsage *s, JSRuntime
      *rt) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:11545,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:11546,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11552,1
    - Dst: i64toa
      Src: /src/gpac/src/quickjs/quickjs.c:11561,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11547,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11562,1
    - Dst: js_fcvt
      Src: /src/gpac/src/quickjs/quickjs.c:11567,1
    - Dst: js_ecvt
      Src: /src/gpac/src/quickjs/quickjs.c:11580,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11589,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11596,1
    - Dst: sprintf
      Src: /src/gpac/src/quickjs/quickjs.c:11624,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11608,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 5
    argNames:
    - buf
    - d
    - radix
    - n_digits
    - flags
    argTypes:
    - char*
    - double
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 11628
      start: 11541
    functionDepth: 0
    functionLinenumber: 11541
    functionLinenumberEnd: 11628
    functionName: js_dtoa1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_ecvt
    - isfinite
    - sprintf
    - isnan
    - memcpy
    - i64toa
    - strcpy
    - js_fcvt
    linkageType: ''
    returnType: void
    signature: 'static void js_dtoa1(char *buf, double d, int radix, int n_digits,
      int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:12206,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:12211,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12207,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:12213,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12216,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:12218,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:12219,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12220,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12222,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:12227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12229
      start: 12200
    functionDepth: 0
    functionLinenumber: 12200
    functionLinenumberEnd: 12229
    functionName: JS_StringToBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeCString
    - js_atof
    - JS_ToCStringLen
    - JS_IsException
    - JS_NewBigInt64
    - skip_spaces
    - is_math_mode
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_StringToBigInt(JSContext *ctx, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - vd
    argTypes:
    - JSVarDef*
    constantsTouched: []
    func_position:
      end: 30241
      start: 30233
    functionDepth: 0
    functionLinenumber: 30233
    functionLinenumberEnd: 30241
    functionName: is_var_in_arg_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_var_in_arg_scope(const JSVarDef *vd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigDecimalValue
      Src: /src/gpac/src/quickjs/quickjs.c:50801,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50804,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50807,1
    - Dst: js_bigdecimal_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:50812,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50802,1
    - Dst: js_bigdecimal_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:50816,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50817,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50820,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50822
      start: 50794
    functionDepth: 0
    functionLinenumber: 50794
    functionLinenumberEnd: 50822
    functionName: js_bigdecimal_toFixed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowRangeError
    - js_bigdecimal_to_string1
    - JS_IsException
    - js_thisBigDecimalValue
    - js_bigdecimal_get_rnd_mode
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_toFixed(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:51315,1
    - Dst: js_array_buffer_constructor1
      Src: /src/gpac/src/quickjs/quickjs.c:51317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51318
      start: 51310
    functionDepth: 0
    functionLinenumber: 51310
    functionLinenumberEnd: 51318
    functionName: js_array_buffer_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor1
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:6347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6348
      start: 6345
    functionDepth: 0
    functionLinenumber: 6345
    functionLinenumberEnd: 6348
    functionName: JS_GetGlobalObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetGlobalObject(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_StringToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12233,1
    - Dst: JS_VALUE_IS_NAN
      Src: /src/gpac/src/quickjs/quickjs.c:12234,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:12235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12237
      start: 12231
    functionDepth: 0
    functionLinenumber: 12231
    functionLinenumberEnd: 12237
    functionName: JS_StringToBigIntErr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_StringToBigInt
    - JS_VALUE_IS_NAN
    - JS_ThrowSyntaxError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_StringToBigIntErr(JSContext *ctx, JSValue val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigDecimalValue
      Src: /src/gpac/src/quickjs/quickjs.c:50831,1
    - Dst: js_bigdecimal_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:50837,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50832,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50834,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50836,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50841,1
    - Dst: js_bigdecimal_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:50846,1
    - Dst: js_bigdecimal_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:50850,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50853,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50856,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50858
      start: 50824
    functionDepth: 0
    functionLinenumber: 50824
    functionLinenumberEnd: 50858
    functionName: js_bigdecimal_toExponential
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowRangeError
    - js_bigdecimal_to_string1
    - JS_IsException
    - js_thisBigDecimalValue
    - JS_IsUndefined
    - js_bigdecimal_get_rnd_mode
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_toExponential(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:51325,1
    - Dst: js_array_buffer_constructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51329
      start: 51320
    functionDepth: 0
    functionLinenumber: 51320
    functionLinenumberEnd: 51329
    functionName: js_shared_array_buffer_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor2
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_shared_array_buffer_constructor(JSContext *ctx,
      JSValueConst new_target, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7824,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7827,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7824,1
    - Dst: js_proxy_isExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:7828,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7831
      start: 7820
    functionDepth: 0
    functionLinenumber: 7820
    functionLinenumberEnd: 7831
    functionName: JS_IsExtensible
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - JS_VALUE_GET_TAG
    - js_proxy_isExtensible
    linkageType: ''
    returnType: int
    signature: 'int JS_IsExtensible(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - s
    - scope_level
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - int
    constantsTouched: []
    func_position:
      end: 30230
      start: 30219
    functionDepth: 0
    functionLinenumber: 30219
    functionLinenumberEnd: 30230
    functionName: mark_eval_captured_variables
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mark_eval_captured_variables(JSContext *ctx, JSFunctionDef
      *s, int scope_level) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:44039,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44074,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44088,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44107,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:43988,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44019,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44100,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44142,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44084,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44062,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44087,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:43986,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44001,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44015,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44053,1
    - Dst: js_json_to_str
      Src: /src/gpac/src/quickjs/quickjs.c:44091,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44033,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44079,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:44007,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:44010,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44018,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44034,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44081,1
    - Dst: JS_ToQuotedStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44112,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44143,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44004,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44011,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44012,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:44022,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44043,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44059,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:44064,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44090,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44073,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:44117,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43979,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44003,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:44070,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44054,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:44128,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44140,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:44096,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44077,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44040,1
    - Dst: js_array_push
      Src: /src/gpac/src/quickjs/quickjs.c:44021,1
    - Dst: JS_ToQuotedStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44082,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44089,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44144,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44036,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44097,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44058,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:43983,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44007,1
    - Dst: js_array_pop
      Src: /src/gpac/src/quickjs/quickjs.c:44102,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44104,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44073,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:44102,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44131,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:44028,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44039,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44145,1
    - Dst: js_json_to_str
      Src: /src/gpac/src/quickjs/quickjs.c:44049,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43976,1
    - Dst: js_array_includes
      Src: /src/gpac/src/quickjs/quickjs.c:44000,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:44014,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44066,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:44098,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44105,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:43981,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44008,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44047,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44108,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44141,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43984,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44030,1
    - Dst: js_json_check
      Src: /src/gpac/src/quickjs/quickjs.c:44042,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:44052,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:44056,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43975,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:43972,1
    - Dst: JS_ToQuotedStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43978,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44106,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44113,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44069,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44045,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:43970,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:43994,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:43996,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43989,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44083,1
    - Dst: js_json_check
      Src: /src/gpac/src/quickjs/quickjs.c:44076,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44109,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:44117,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44135,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:44035,1
    - Dst: js_object_keys
      Src: /src/gpac/src/quickjs/quickjs.c:44061,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44007,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:44011,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:44024,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 171
    argCount: 5
    argNames:
    - ctx
    - jsc
    - holder
    - val
    - indent
    argTypes:
    - JSContext*
    - JSONStringifyContext*
    - JSValueConst
    - JSValue
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44147
      start: 43954
    functionDepth: 0
    functionLinenumber: 43954
    functionLinenumberEnd: 44147
    functionName: js_json_to_str
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - isfinite
    - JS_IsException
    - string_buffer_concat_value
    - JS_VALUE_GET_STRING
    - JS_ConcatString
    - js_object_keys
    - JS_ThrowTypeError
    - JS_NewInt64
    - JS_DupValue
    - JS_ToStringFree
    - js_array_includes
    - string_buffer_putc8
    - js_array_pop
    - JS_ToBoolFree
    - JS_GetPropertyValue
    - js_array_push
    - JS_VALUE_GET_NORM_TAG
    - JS_ToNumberFree
    - js_json_to_str
    - js_get_length64
    - check_exception_free
    - JS_NewString
    - JS_IsUndefined
    - js_json_check
    - JS_GetPropertyInt64
    - JS_IsEmptyString
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_IsArray
    - JS_ConcatString3
    - JS_ToQuotedStringFree
    - string_buffer_concat_value_free
    - JS_VALUE_GET_FLOAT64
    linkageType: ''
    returnType: int
    signature: 'static int js_json_to_str(JSContext *ctx, JSONStringifyContext *jsc,
      JSValueConst holder, JSValue val, JSValueConst indent) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: js_trigger_gc
      Src: /src/gpac/src/quickjs/quickjs.c:4752,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4753,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4754,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4768,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4769,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:4770,1
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4772,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:4788,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:4793,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:4796,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:4849,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4850,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - sh
    - class_id
    argTypes:
    - JSContext*
    - JSShape*
    - JSClassID
    constantsTouched: []
    func_position:
      end: 4851
      start: 4748
    functionDepth: 0
    functionLinenumber: 4748
    functionLinenumberEnd: 4851
    functionName: JS_NewObjectFromShape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_malloc
    - js_free_shape
    - JS_NewInt32
    - likely
    - add_gc_object
    - unlikely
    - js_free
    - JS_MKPTR
    - add_property
    - js_trigger_gc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewObjectFromShape(JSContext *ctx, JSShape *sh,
      JSClassID class_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:29539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 29547
      start: 29536
    functionDepth: 0
    functionLinenumber: 29536
    functionLinenumberEnd: 29547
    functionName: add_var_this
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_var
    linkageType: ''
    returnType: int
    signature: 'static int add_var_this(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48396,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:48398,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48400,1
    - Dst: set_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48404,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48405
      start: 48382
    functionDepth: 0
    functionLinenumber: 48382
    functionLinenumberEnd: 48405
    functionName: js_Date_UTC
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - trunc
    - isfinite
    - JS_NewFloat64
    - JS_ToFloat64
    - set_date_fields
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_Date_UTC(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44169,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:44179,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44180,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44197,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44194,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:44237,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:44240,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44244,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44253,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44260,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:44239,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44255,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44277,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44250,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:44168,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44202,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:44200,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:44204,1
    - Dst: js_array_includes
      Src: /src/gpac/src/quickjs/quickjs.c:44208,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44210,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44211,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:44215,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44230,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44231,1
    - Dst: js_json_to_str
      Src: /src/gpac/src/quickjs/quickjs.c:44264,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:44241,1
    - Dst: js_json_check
      Src: /src/gpac/src/quickjs/quickjs.c:44257,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44276,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:44252,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:44182,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:44186,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44187,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44201,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44214,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44217,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44222,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:44223,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44224,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:44235,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44247,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44258,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:44267,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44279,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:44273,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:44163,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:44171,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:44167,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:44174,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44190,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44193,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:44189,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44205,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:44226,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:44228,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:44242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44246,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44278,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:44242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44275,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:44249,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 121
    argCount: 4
    argNames:
    - ctx
    - obj
    - replacer
    - space0
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44281
      start: 44149
    functionDepth: 0
    functionLinenumber: 44149
    functionLinenumberEnd: 44281
    functionName: JS_JSONStringify
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_IsException
    - string_buffer_free
    - JS_DefinePropertyValue
    - JS_NewStringLen
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - JS_AtomToString
    - JS_IsNumber
    - JS_DupValue
    - JS_ToStringFree
    - js_array_includes
    - JS_IsObject
    - JS_ToBoolFree
    - JS_ToNumberFree
    - js_json_to_str
    - JS_IsFunction
    - JS_SetPropertyInt64
    - js_get_length64
    - min_int
    - JS_IsUndefined
    - JS_IsString
    - js_json_check
    - js_sub_string
    - JS_GetPropertyInt64
    - string_buffer_init
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_IsArray
    - JS_ToInt32Clamp
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_JSONStringify(JSContext *ctx, JSValueConst obj, JSValueConst
      replacer, JSValueConst space0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4855,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:4858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - proto_val
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4859
      start: 4853
    functionDepth: 0
    functionLinenumber: 4853
    functionLinenumberEnd: 4859
    functionName: get_proto_obj
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSObject*
    signature: 'static JSObject *get_proto_obj(JSValueConst proto_val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:29560,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:29572,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:29566,1
    - Dst: add_var_this
      Src: /src/gpac/src/quickjs/quickjs.c:29578,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - s
    - var_name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 29586
      start: 29549
    functionDepth: 0
    functionLinenumber: 29549
    functionLinenumberEnd: 29586
    functionName: resolve_pseudo_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_var
    - add_var_this
    linkageType: ''
    returnType: int
    signature: 'static int resolve_pseudo_var(JSContext *ctx, JSFunctionDef *s, JSAtom
      var_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - pp
    argTypes:
    - JSString*
    - int*
    constantsTouched: []
    func_position:
      end: 48410
      start: 48407
    functionDepth: 0
    functionLinenumber: 48407
    functionLinenumberEnd: 48410
    functionName: string_skip_spaces
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: void
    signature: 'static void string_skip_spaces(JSString *sp, int *pp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:35558,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35567,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35559,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35561,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35564,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35567,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35567,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35569,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35570,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:35571,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35581,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:35575,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:35574,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35583
      start: 35549
    functionDepth: 0
    functionLinenumber: 35549
    functionLinenumberEnd: 35583
    functionName: JS_ReadObjectTag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - print_atom
    - JS_NewObject
    - bc_read_trace
    - JS_IsException
    - JS_ReadObjectRec
    - JS_DefinePropertyValue
    - BC_add_object_ref
    - bc_get_atom
    - bc_get_leb128
    - JS_FreeAtom
    - printf
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadObjectTag(BCReaderState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6739,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6747,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6745,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 6749
      start: 6739
    functionDepth: 0
    functionLinenumber: 6739
    functionLinenumberEnd: 6749
    functionName: JS_ThrowRangeError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __attribute__((format(printf, 2, 3))) JS_ThrowRangeError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37353,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37356,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37358,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:37360,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37355,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37361,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37363,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37367,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37367,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:37372,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37375,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37376,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37377,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37380,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37381,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37383
      start: 37345
    functionDepth: 0
    functionLinenumber: 37345
    functionLinenumberEnd: 37383
    functionName: js_object_isPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_poll_interrupts
    - JS_ToObject
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - JS_DupValue
    - JS_IsObject
    - JS_GetPrototypeFree
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_isPrototypeOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSAtomStruct*
    constantsTouched: []
    func_position:
      end: 2711
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2711
    functionName: js_get_atom_index
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom js_get_atom_index(JSRuntime *rt, JSAtomStruct *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3016,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3020,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:3021,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3022,1
    - Dst: __JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3024,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - JSContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3027
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3027
    functionName: JS_NewAtomInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - snprintf
    - __JS_NewAtom
    - JS_IsException
    - JS_NewString
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom JS_NewAtomInt64(JSContext *ctx, int64_t n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3152,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3153,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3160,1
    - Dst: is_num_string
      Src: /src/gpac/src/quickjs/quickjs.c:3163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - pval
    - atom
    argTypes:
    - JSContext*
    - uint32_t*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3171
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3171
    functionName: JS_AtomIsArrayIndex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - is_num_string
    - assert
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_AtomIsArrayIndex(JSContext *ctx, uint32_t *pval, JSAtom atom) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 22496
      start: 22476
    functionDepth: 0
    functionLinenumber: 22476
    functionLinenumberEnd: 22496
    functionName: is_regexp_allowed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_regexp_allowed(int tok) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27099,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:27110,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27111,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27105,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27103,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27112,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27114,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27116,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27120,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27122,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27124,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27125,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27126,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27127,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:27128,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27130
      start: 27095
    functionDepth: 0
    functionLinenumber: 27095
    functionLinenumberEnd: 27130
    functionName: js_free_module_def
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - list_del
    - js_free
    - free_var_ref
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void js_free_module_def(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:41740,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:41741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 41743
      start: 41737
    functionDepth: 0
    functionLinenumber: 41737
    functionLinenumberEnd: 41743
    functionName: JS_AddIntrinsicStringNormalize
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - countof
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicStringNormalize(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27145,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - m
    - module_name
    argTypes:
    - JSContext*
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27154
      start: 27132
    functionDepth: 0
    functionLinenumber: 27132
    functionLinenumberEnd: 27154
    functionName: add_req_module_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int add_req_module_entry(JSContext *ctx, JSModuleDef *m, JSAtom
      module_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37393,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:37397,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37394,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:37396,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37400,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37400,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37404,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:37405,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:37411,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37414
      start: 37385
    functionDepth: 0
    functionLinenumber: 37385
    functionLinenumberEnd: 37414
    functionName: js_object_propertyIsEnumerable
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_IsException
    - unlikely
    - js_free_desc
    - JS_ValueToAtom
    - JS_GetOwnPropertyInternal
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_propertyIsEnumerable(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:3145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3146
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3146
    functionName: JS_AtomToString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomToValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_AtomToString(JSContext *ctx, JSAtom atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - sp
    argTypes:
    - JSParseState*
    - JSParsePos*
    constantsTouched: []
    func_position:
      end: 22473
      start: 22466
    functionDepth: 0
    functionLinenumber: 22466
    functionLinenumberEnd: 22473
    functionName: js_parse_seek_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - next_token
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_seek_token(JSParseState *s, const
      JSParsePos *sp) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36765,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:36802,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:36805,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36800,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36808,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:36814,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36822,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:36767,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36768,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36795,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36803,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36777,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:36782,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:36799,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36820,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:36825,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36826,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36761,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36764,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36762,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:36789,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36790,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36807,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36794,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:36810,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - obj1
    - flags
    - kind
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - int
    constantsTouched: []
    func_position:
      end: 36828
      start: 36751
    functionDepth: 0
    functionLinenumber: 36751
    functionLinenumberEnd: 36828
    functionName: JS_GetOwnPropertyNames2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_NewArray
    - JS_IsException
    - JS_GetProperty
    - JS_GetOwnPropertyNamesInternal
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - JS_AtomToValue
    - js_free_prop_enum
    - JS_CreateDataPropertyUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetOwnPropertyNames2(JSContext *ctx, JSValueConst
      obj1, int flags, int kind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOwnPropertyNames2
      Src: /src/gpac/src/quickjs/quickjs.c:36833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36835
      start: 36830
    functionDepth: 0
    functionLinenumber: 36830
    functionLinenumberEnd: 36835
    functionName: js_object_getOwnPropertyNames
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOwnPropertyNames2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_getOwnPropertyNames(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:2771,1
    - Dst: js_free_string
      Src: /src/gpac/src/quickjs/quickjs.c:2827,1
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2782,1
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2814,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2722,1
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:2746,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:2823,1
    - Dst: JS_ResizeAtomHash
      Src: /src/gpac/src/quickjs/quickjs.c:2856,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:2728,1
    - Dst: js_string_memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:2745,1
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2775,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2784,1
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2830,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:2855,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2722,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2722,1
    - Dst: __JS_AtomIsConst
      Src: /src/gpac/src/quickjs/quickjs.c:2730,1
    - Dst: hash_string
      Src: /src/gpac/src/quickjs/quickjs.c:2736,1
    - Dst: atom_set_free
      Src: /src/gpac/src/quickjs/quickjs.c:2805,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:2817,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:2825,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:2790,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:2837,1
    - Dst: atom_get_free
      Src: /src/gpac/src/quickjs/quickjs.c:2843,1
    - Dst: js_free_string
      Src: /src/gpac/src/quickjs/quickjs.c:2866,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 127
    argCount: 3
    argNames:
    - rt
    - str
    - atom_type
    argTypes:
    - JSRuntime*
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 2868
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2868
    functionName: __JS_NewAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_memcmp
    - js_mallocz_rt
    - JS_ResizeAtomHash
    - atom_get_free
    - js_free_rt
    - JS_DumpString
    - js_free_string
    - unlikely
    - max_int
    - memcpy
    - __JS_AtomIsConst
    - list_add_tail
    - js_realloc_rt
    - hash_string
    - js_get_atom_index
    - atom_set_free
    - printf
    - js_malloc_rt
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom __JS_NewAtom(JSRuntime *rt, JSString *str, int atom_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3034,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:3036,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - p
    - atom_type
    argTypes:
    - JSContext*
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 3038
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3038
    functionName: JS_NewSymbol
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowOutOfMemory
    - __JS_NewAtom
    - JS_MKPTR
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewSymbol(JSContext *ctx, JSString *p, int atom_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/gpac/src/quickjs/quickjs.c:41757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 41759
      start: 41748
    functionDepth: 0
    functionLinenumber: 41748
    functionLinenumberEnd: 41759
    functionName: js_fmin
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fmin
    linkageType: ''
    returnType: double
    signature: 'static double js_fmin(double a, double b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18395,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18398,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18396,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18395,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18397,1
    - Dst: js_binary_logic_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18405
      start: 18391
    functionDepth: 0
    functionLinenumber: 18391
    functionLinenumberEnd: 18405
    functionName: (OP_xor)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_binary_logic_slow
    - JS_NewInt32
    - likely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_xor) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:42116,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:42118,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42121,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:42119,1
    - Dst: getTimezoneOffset
      Src: /src/gpac/src/quickjs/quickjs.c:42121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42122
      start: 42111
    functionDepth: 0
    functionLinenumber: 42111
    functionLinenumberEnd: 42122
    functionName: js___date_getTimezoneOffset
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    - isnan
    - getTimezoneOffset
    - JS_ToFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js___date_getTimezoneOffset(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:33740,1
    - Dst: JS_EvalInternal
      Src: /src/gpac/src/quickjs/quickjs.c:33745,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:33746,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:33741,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:33742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - val
    - flags
    - scope_idx
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - int
    constantsTouched: []
    func_position:
      end: 33749
      start: 33733
    functionDepth: 0
    functionLinenumber: 33733
    functionLinenumberEnd: 33749
    functionName: JS_EvalObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeCString
    - JS_ToCStringLen
    - JS_DupValue
    - JS_IsString
    - JS_EvalInternal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_EvalObject(JSContext *ctx, JSValueConst this_obj,
      JSValueConst val, int flags, int scope_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 34005
      start: 34002
    functionDepth: 0
    functionLinenumber: 34002
    functionLinenumberEnd: 34005
    functionName: bc_put_leb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_leb128
    linkageType: ''
    returnType: void
    signature: 'static void bc_put_leb128(BCWriterState *s, uint32_t v) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3060,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3061,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3066,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3064,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3061,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3074,1
    - Dst: atom_is_free
      Src: /src/gpac/src/quickjs/quickjs.c:3074,1
    - Dst: unicode_to_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:3096,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - rt
    - buf
    - buf_size
    - atom
    argTypes:
    - JSRuntime*
    - char*
    - int
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3104
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3104
    functionName: JS_AtomGetStrRT
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_to_utf8
    - snprintf
    - assert
    - atom_is_free
    - __JS_AtomIsTaggedInt
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: char*
    signature: 'static const char *JS_AtomGetStrRT(JSRuntime *rt, char *buf, int buf_size,
      JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pclass_id
    argTypes:
    - JSClassID*
    constantsTouched: []
    func_position:
      end: 3408
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3408
    functionName: JS_NewClassID
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSClassID
    signature: 'JSClassID JS_NewClassID(JSClassID *pclass_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:21980,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:21990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - s
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21992
      start: 21975
    functionDepth: 0
    functionLinenumber: 21975
    functionLinenumberEnd: 21992
    functionName: add_global_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    linkageType: ''
    returnType: JSGlobalVar*
    signature: 'static JSGlobalVar *add_global_var(JSContext *ctx, JSFunctionDef *s,
      JSAtom name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:27851,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27851,1
    - Dst: js_host_resolve_imported_module_atom
      Src: /src/gpac/src/quickjs/quickjs.c:27858,1
    - Dst: js_resolve_module
      Src: /src/gpac/src/quickjs/quickjs.c:27865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27869
      start: 27841
    functionDepth: 0
    functionLinenumber: 27841
    functionLinenumberEnd: 27869
    functionName: js_resolve_module
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resolve_module
    - js_host_resolve_imported_module_atom
    - printf
    - JS_AtomGetStr
    linkageType: ''
    returnType: int
    signature: 'static int js_resolve_module(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42128,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42129,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:42131,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42132,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - ctor
    - def_proto
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42136
      start: 42124
    functionDepth: 0
    functionLinenumber: 42124
    functionLinenumberEnd: 42136
    functionName: js_get_prototype_from_ctor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - JS_DupValue
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_get_prototype_from_ctor(JSContext *ctx, JSValueConst
      ctor, JSValueConst def_proto) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:3108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_size
    - atom
    argTypes:
    - JSContext*
    - char*
    - int
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3109
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3109
    functionName: JS_AtomGetStr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomGetStrRT
    linkageType: ''
    returnType: char*
    signature: 'static const char *JS_AtomGetStr(JSContext *ctx, char *buf, int buf_size,
      JSAtom atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - class_id
    argTypes:
    - JSRuntime*
    - JSClassID
    constantsTouched: []
    func_position:
      end: 3414
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3414
    functionName: JS_IsRegisteredClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsRegisteredClass(JSRuntime *rt, JSClassID class_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18197,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18201,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18199,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18204,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18207
      start: 18194
    functionDepth: 0
    functionLinenumber: 18194
    functionLinenumberEnd: 18207
    functionName: (OP_dec)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - js_unary_arith_slow
    - unlikely
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_dec) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:27874,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:27884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - is_lexical
    argTypes:
    - JSContext*
    - BOOL
    constantsTouched: []
    func_position:
      end: 27886
      start: 27871
    functionDepth: 0
    functionLinenumber: 27871
    functionLinenumberEnd: 27886
    functionName: js_create_module_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_gc_object
    - js_malloc
    linkageType: ''
    returnType: JSVarRef*
    signature: 'static JSVarRef *js_create_module_var(JSContext *ctx, BOOL is_lexical) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:33759,1
    - Dst: JS_EvalInternal
      Src: /src/gpac/src/quickjs/quickjs.c:33762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - this_obj
    - input
    - input_len
    - filename
    - eval_flags
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 33765
      start: 33751
    functionDepth: 0
    functionLinenumber: 33751
    functionLinenumberEnd: 33765
    functionName: JS_EvalThis
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_EvalInternal
    - assert
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_EvalThis(JSContext *ctx, JSValueConst this_obj, const char
      *input, size_t input_len, const char *filename, int eval_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:34009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - int32_t
    constantsTouched: []
    func_position:
      end: 34010
      start: 34007
    functionDepth: 0
    functionLinenumber: 34007
    functionLinenumberEnd: 34010
    functionName: bc_put_sleb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_sleb128
    linkageType: ''
    returnType: void
    signature: 'static void bc_put_sleb128(BCWriterState *s, int32_t v) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:34840,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:34857,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:34854,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:34849,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:34862,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:34864,1
    - Dst: vfprintf
      Src: /src/gpac/src/quickjs/quickjs.c:34865,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:34866,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs.c:34867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - s
    - fmt
    - '...'
    argTypes:
    - BCReaderState*
    - char*
    constantsTouched: []
    func_position:
      end: 34869
      start: 34840
    functionDepth: 0
    functionLinenumber: 34840
    functionLinenumberEnd: 34869
    functionName: bc_read_trace
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - format
    - va_end
    - va_start
    - strchr
    - vfprintf
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void __attribute__((format(printf, 2, 3))) bc_read_trace(BCReaderState
      *s, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:40036,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:40041,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:40042,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:40040,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40044
      start: 40030
    functionDepth: 0
    functionLinenumber: 40030
    functionLinenumberEnd: 40044
    functionName: js_parseFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - skip_spaces
    - js_atof
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_parseFloat(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:1426,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:1427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - parray
    - elem_size
    - psize
    - req_size
    argTypes:
    - JSContext*
    - void**
    - int
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1434
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1434
    functionName: js_realloc_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - max_int
    - js_realloc2
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_realloc_array(JSContext *ctx, void **parray,
      int elem_size, int *psize, int req_size) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToArrayLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:9118,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:9130,1
    - Dst: check_define_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9133,1
    - Dst: JS_AutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9140,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:9135,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:9166,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:9189,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9207,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9252,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:9263,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:9347,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:9351,1
    - Dst: convert_fast_array_to_array
      Src: /src/gpac/src/quickjs/quickjs.c:9307,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9336,1
    - Dst: JS_NumberIsNegativeOrMinusZero
      Src: /src/gpac/src/quickjs/quickjs.c:9339,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9271,1
    - Dst: JS_CreateProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9366,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:9124,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:9150,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:9155,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9151,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9168,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9189,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9198,1
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:9204,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:9209,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:9217,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:9356,1
    - Dst: get_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9302,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:9326,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9313,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:9313,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:9359,1
    - Dst: JS_NumberIsInteger
      Src: /src/gpac/src/quickjs/quickjs.c:9330,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:9244,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9272,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9113,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:9107,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:9126,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9129,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9156,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:9196,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9209,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:9234,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9235,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9243,1
    - Dst: set_array_length
      Src: /src/gpac/src/quickjs/quickjs.c:9252,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:9342,1
    - Dst: typed_array_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:9349,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9359,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:9299,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:9337,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:9230,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9340,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:9323,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:9344,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9328,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9106,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9110,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9119,1
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:9162,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9191,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9196,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:9207,1
    - Dst: js_update_property_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9275,1
    - Dst: js_update_property_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9288,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:9300,1
    - Dst: get_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9353,1
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:9241,1
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:9359,1
    - Dst: JS_AtomIsNumericIndex1
      Src: /src/gpac/src/quickjs/quickjs.c:9325,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9332,1
    - Dst: js_update_property_flags
      Src: /src/gpac/src/quickjs/quickjs.c:9264,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 255
    argCount: 7
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 9367
      start: 9097
    functionDepth: 0
    functionLinenumber: 9097
    functionLinenumberEnd: 9367
    functionName: JS_DefineProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_update_property_flags
    - JS_ThrowTypeErrorNotAnObject
    - __JS_AtomIsTaggedInt
    - JS_IsException
    - typed_array_get_length
    - js_same_value
    - js_shape_prepare_update
    - JS_CreateProperty
    - find_own_property
    - convert_fast_array_to_array
    - JS_ThrowTypeErrorOrFalse
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_NewUint32
    - JS_DupValue
    - get_shape_prop
    - assert
    - set_value
    - JS_IsFunction
    - JS_ToArrayLengthFree
    - JS_AutoInitProperty
    - get_prop_flags
    - JS_IsUndefined
    - JS_MKPTR
    - JS_SetPropertyValue
    - JS_NumberIsNegativeOrMinusZero
    - JS_NumberIsInteger
    - set_array_length
    - __JS_AtomToUInt32
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_AtomIsNumericIndex1
    - free_var_ref
    - check_define_prop_flags
    linkageType: ''
    returnType: int
    signature: 'int JS_DefineProperty(JSContext *ctx, JSValueConst this_obj, JSAtom
      prop, JSValueConst val, JSValueConst getter, JSValueConst setter, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_shape_prepare_update
      Src: /src/gpac/src/quickjs/quickjs.c:9080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - p
    - pprs
    - flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSShapeProperty**
    - int
    constantsTouched: []
    func_position:
      end: 9085
      start: 9076
    functionDepth: 0
    functionLinenumber: 9076
    functionLinenumberEnd: 9085
    functionName: js_update_property_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_shape_prepare_update
    linkageType: ''
    returnType: int
    signature: 'static int js_update_property_flags(JSContext *ctx, JSObject *p, JSShapeProperty
      **pprs, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs.c:1860,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:1871,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:1866,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:1867,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:1872,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:1876,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:1877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - rt
    - pctx
    argTypes:
    - JSRuntime*
    - JSContext**
    constantsTouched: []
    func_position:
      end: 1880
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1880
    functionName: JS_ExecutePendingJob
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - list_del
    - JS_IsException
    - list_empty
    - list_entry
    - js_free
    linkageType: ''
    returnType: int
    signature: 'int JS_ExecutePendingJob(JSRuntime *rt, JSContext **pctx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:7930,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7945,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7952,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7974,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7931,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7938,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7943,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7954,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:7964,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7973,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7972,1
    - Dst: JS_NewBigUint64
      Src: /src/gpac/src/quickjs/quickjs.c:7961,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:7936,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7948,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:7966,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:7956,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7935,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7930,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7950,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:7959,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:7976,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7977,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - this_obj
    - prop
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    constantsTouched: []
    func_position:
      end: 7980
      start: 7924
    functionDepth: 0
    functionLinenumber: 7924
    functionLinenumberEnd: 7980
    functionName: JS_GetPropertyValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - __JS_NewFloat64
    - JS_FreeValue
    - JS_NewBigUint64
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_GetProperty
    - JS_NewBigInt64
    - likely
    - JS_NewUint32
    - unlikely
    - JS_DupValue
    - JS_ValueToAtom
    - JS_VALUE_GET_INT
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetPropertyValue(JSContext *ctx, JSValueConst this_obj,
      JSValue prop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_child_scope
      Src: /src/gpac/src/quickjs/quickjs.c:21758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - fd
    - name
    - scope_level
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 21764
      start: 21751
    functionDepth: 0
    functionLinenumber: 21751
    functionLinenumberEnd: 21764
    functionName: find_var_in_child_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - is_child_scope
    linkageType: ''
    returnType: int
    signature: 'static int find_var_in_child_scope(JSContext *ctx, JSFunctionDef *fd,
      JSAtom name, int scope_level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - JSAtomStruct*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1885
    functionName: atom_get_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t atom_get_free(const JSAtomStruct *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:7985,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:7985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - this_obj
    - idx
    argTypes:
    - JSContext*
    - JSValueConst
    - uint32_t
    constantsTouched: []
    func_position:
      end: 7986
      start: 7982
    functionDepth: 0
    functionLinenumber: 7982
    functionLinenumberEnd: 7986
    functionName: JS_GetPropertyUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyValue
    - JS_NewUint32
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetPropertyUint32(JSContext *ctx, JSValueConst this_obj,
      uint32_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16694
      start: 16687
    functionDepth: 0
    functionLinenumber: 16687
    functionLinenumberEnd: 16694
    functionName: (OP_perm5)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_perm5) : /* this obj prop a b -> a this obj prop b */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - name
    argTypes:
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21777
      start: 21767
    functionDepth: 0
    functionLinenumber: 21767
    functionLinenumberEnd: 21777
    functionName: find_global_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSGlobalVar*
    signature: 'static JSGlobalVar *find_global_var(JSFunctionDef *fd, JSAtom name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:40109,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40113,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40112,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:40110,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40111,1
    - Dst: js_new_string_char
      Src: /src/gpac/src/quickjs/quickjs.c:40121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - desc
    - obj
    - prop
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 40130
      start: 40100
    functionDepth: 0
    functionLinenumber: 40100
    functionLinenumberEnd: 40130
    functionName: js_string_get_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_STRING
    - __JS_AtomIsTaggedInt
    - JS_VALUE_GET_TAG
    - js_new_string_char
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: int
    signature: 'static int js_string_get_own_property(JSContext *ctx, JSPropertyDescriptor
      *desc, JSValueConst obj, JSAtom prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumberHintFree
      Src: /src/gpac/src/quickjs/quickjs.c:10595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10596
      start: 10593
    functionDepth: 0
    functionLinenumber: 10593
    functionLinenumberEnd: 10596
    functionName: JS_ToNumberFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumberHintFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToNumberFree(JSContext *ctx, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - atom
    argTypes:
    - JSParseState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 20511
      start: 20508
    functionDepth: 0
    functionLinenumber: 20508
    functionLinenumberEnd: 20511
    functionName: token_is_pseudo_keyword
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL token_is_pseudo_keyword(JSParseState *s, JSAtom
      atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumberHintFree
      Src: /src/gpac/src/quickjs/quickjs.c:10600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10601
      start: 10598
    functionDepth: 0
    functionLinenumber: 10598
    functionLinenumberEnd: 10601
    functionName: JS_ToNumericFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumberHintFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToNumericFree(JSContext *ctx, JSValue val) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:20524,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20531,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:20526,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20555,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:20546,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20565,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20568,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20575,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:20579,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20588,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:20595,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:20601,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:20602,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:20607,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:20593,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:20606,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 79
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 20609
      start: 20513
    functionDepth: 0
    functionLinenumber: 20513
    functionLinenumberEnd: 20609
    functionName: js_parse_regexp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    - js_parse_error
    - lre_js_is_ident_next
    - string_buffer_free
    - string_buffer_putc8
    - string_buffer_putc
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_regexp(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:29324,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:29328,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - ctx
    - s
    - is_local
    - is_arg
    - var_idx
    - var_name
    - is_const
    - is_lexical
    - var_kind
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - BOOL
    - BOOL
    - int
    - JSAtom
    - BOOL
    - BOOL
    - JSVarKindEnum
    constantsTouched: []
    func_position:
      end: 29341
      start: 29314
    functionDepth: 0
    functionLinenumber: 29314
    functionLinenumberEnd: 29341
    functionName: add_closure_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    - JS_ThrowInternalError
    linkageType: ''
    returnType: int
    signature: 'static int add_closure_var(JSContext *ctx, JSFunctionDef *s, BOOL
      is_local, BOOL is_arg, int var_idx, JSAtom var_name, BOOL is_const, BOOL is_lexical,
      JSVarKindEnum var_kind) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:40142,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40143,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40147,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40145,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:40144,1
    - Dst: check_define_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:40150,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40154,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40156,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40159,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40159,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:40161,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:40167,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 7
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 40170
      start: 40132
    functionDepth: 0
    functionLinenumber: 40132
    functionLinenumberEnd: 40170
    functionName: js_string_define_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_STRING
    - JS_ThrowTypeErrorOrFalse
    - __JS_AtomIsTaggedInt
    - string_get
    - JS_VALUE_GET_TAG
    - JS_DefineProperty
    - check_define_prop_flags
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: int
    signature: 'static int js_string_define_own_property(JSContext *ctx, JSValueConst
      this_obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter,
      int flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38627,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:38633,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38638,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38628,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38632,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:38639,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38645,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38646,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38653,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38655
      start: 38621
    functionDepth: 0
    functionLinenumber: 38621
    functionLinenumberEnd: 38655
    functionName: js_array_fill
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_SetPropertyInt64
    - js_get_length64
    - JS_IsUndefined
    - JS_DupValue
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_fill(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48522,1
    - Dst: find_abbrev
      Src: /src/gpac/src/quickjs/quickjs.c:48523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - sp
    - pp
    - pval
    argTypes:
    - JSString*
    - int*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48530
      start: 48519
    functionDepth: 0
    functionLinenumber: 48519
    functionLinenumberEnd: 48530
    functionName: string_get_month
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_abbrev
    - string_skip_spaces
    linkageType: ''
    returnType: int
    signature: 'static int string_get_month(JSString *sp, int *pp, int64_t *pval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38665,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:38673,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:38676,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38666,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:38678,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38678,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38679,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38687,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38688,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:38690,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38690,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:38699,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38702,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38698,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38704
      start: 38657
    functionDepth: 0
    functionLinenumber: 38657
    functionLinenumberEnd: 38704
    functionName: js_array_includes
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - js_get_length64
    - JS_IsException
    - js_get_fast_array
    - JS_DupValue
    - js_strict_eq2
    - JS_GetPropertyInt64
    - JS_NewBool
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_includes(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48548,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:48551,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48578,1
    - Dst: string_get_fixed_width_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48602,1
    - Dst: string_get_month
      Src: /src/gpac/src/quickjs/quickjs.c:48637,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48605,1
    - Dst: string_skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48653,1
    - Dst: string_get_fixed_width_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48674,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48553,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48596,1
    - Dst: string_skip_non_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48628,1
    - Dst: string_get_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48635,1
    - Dst: string_get_month
      Src: /src/gpac/src/quickjs/quickjs.c:48641,1
    - Dst: string_get_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48644,1
    - Dst: string_get_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48662,1
    - Dst: string_get_fixed_width_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48676,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48688,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48691,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:48547,1
    - Dst: string_get_milliseconds
      Src: /src/gpac/src/quickjs/quickjs.c:48582,1
    - Dst: string_get_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48585,1
    - Dst: string_skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48648,1
    - Dst: string_get_signed_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48556,1
    - Dst: string_get_fixed_width_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48609,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48632,1
    - Dst: string_skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48643,1
    - Dst: string_skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:48629,1
    - Dst: string_get_signed_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48649,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48658,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48671,1
    - Dst: set_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48687,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 132
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48693
      start: 48532
    functionDepth: 0
    functionLinenumber: 48532
    functionLinenumberEnd: 48693
    functionName: js_Date_parse
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_skip_spaces
    - JS_IsException
    - string_get
    - string_get_month
    - JS_ToString
    - string_get_digits
    - string_get_milliseconds
    - string_skip_non_spaces
    - JS_NewFloat64
    - string_get_signed_digits
    - string_get_fixed_width_digits
    - set_date_fields
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_Date_parse(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41347,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41351,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41348,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41352,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41350,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:41355,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41355,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41355,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41356,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41357,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41359
      start: 41341
    functionDepth: 0
    functionLinenumber: 41341
    functionLinenumberEnd: 41359
    functionName: js_string_localeCompare
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_compare
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - JS_IsException
    - JS_NewInt32
    - JS_ToString
    - JS_ToStringCheckObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_localeCompare(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1150
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1150
    functionName: JS_GetBigDecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: bfdec_t*
    signature: 'static inline bfdec_t *JS_GetBigDecimal(JSValueConst val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3957,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:3958,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:3957,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3962,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3959,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3963,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3964,1
    - Dst: string_buffer_init2
      Src: /src/gpac/src/quickjs/quickjs.c:3966,1
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:3969,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:3970,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3973,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:3974,1
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:3971,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3977,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - str1
    - str2
    - str3
    argTypes:
    - JSContext*
    - char*
    - JSValue
    - char*
    constantsTouched: []
    func_position:
      end: 3979
      start: 3950
    functionDepth: 0
    functionLinenumber: 3950
    functionLinenumberEnd: 3979
    functionName: JS_ConcatString3
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - strlen
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_TAG
    - string_buffer_init2
    - string_buffer_write8
    - unlikely
    - JS_ToStringFree
    - string_buffer_end
    - string_buffer_concat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ConcatString3(JSContext *ctx, const char *str1,
      JSValue str2, const char *str3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetUncatchableError
      Src: /src/gpac/src/quickjs/quickjs.c:9866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 9867
      start: 9864
    functionDepth: 0
    functionLinenumber: 9864
    functionLinenumberEnd: 9867
    functionName: JS_ResetUncatchableError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetUncatchableError
    linkageType: ''
    returnType: void
    signature: 'void JS_ResetUncatchableError(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:12377,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 12383
      start: 12374
    functionDepth: 0
    functionLinenumber: 12374
    functionLinenumberEnd: 12383
    functionName: js_new_bf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_init
    - js_malloc
    linkageType: ''
    returnType: JSBigFloat*
    signature: 'static JSBigFloat *js_new_bf(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:3983,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3981
    functionDepth: 0
    functionLinenumber: 3981
    functionLinenumberEnd: 3984
    functionName: JS_NewString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewStringLen
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewString(JSContext *ctx, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9872,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - opaque
    argTypes:
    - JSValue
    - void*
    constantsTouched: []
    func_position:
      end: 9876
      start: 9869
    functionDepth: 0
    functionLinenumber: 9869
    functionLinenumberEnd: 9876
    functionName: JS_SetOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void
    signature: 'void JS_SetOpaque(JSValue obj, void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:12388,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12393,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 12394
      start: 12385
    functionDepth: 0
    functionLinenumber: 12385
    functionLinenumberEnd: 12394
    functionName: JS_NewBigFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MKPTR
    - bf_init
    - js_malloc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewBigFloat(JSContext *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41370,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:41376,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:41379,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41371,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41373,1
    - Dst: test_final_sigma
      Src: /src/gpac/src/quickjs/quickjs.c:41380,1
    - Dst: lre_case_conv
      Src: /src/gpac/src/quickjs/quickjs.c:41384,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:41387,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41391,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:41392,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41394,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:41395,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - to_lower
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 41397
      start: 41361
    functionDepth: 0
    functionLinenumber: 41361
    functionLinenumberEnd: 41397
    functionName: js_string_toLowerCase
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_getc
    - lre_case_conv
    - JS_IsException
    - string_buffer_free
    - test_final_sigma
    - JS_ToStringCheckObject
    - string_buffer_putc
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_toLowerCase(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int to_lower) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45332,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45333,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:45336,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45337,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:45334,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:45339,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45341,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45344,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45345,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:45346,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:45348,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:45349,1
    - Dst: JS_SetConstructorBit
      Src: /src/gpac/src/quickjs/quickjs.c:45349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45351
      start: 45323
    functionDepth: 0
    functionLinenumber: 45323
    functionLinenumberEnd: 45351
    functionName: js_proxy_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetConstructorBit
    - JS_IsConstructor
    - js_malloc
    - JS_IsFunction
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_NewObjectProtoClass
    - JS_SetOpaque
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_constructor(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - JSContext*
    - BOOL
    constantsTouched: []
    func_position:
      end: 50937
      start: 50934
    functionDepth: 0
    functionLinenumber: 50934
    functionLinenumberEnd: 50937
    functionName: JS_EnableBignumExt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_EnableBignumExt(JSContext *ctx, BOOL enable) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30926,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30974,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31081,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30980,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31107,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31027,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31118,1
    - Dst: instantiate_hoisted_definitions
      Src: /src/gpac/src/quickjs/quickjs.c:31030,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31043,1
    - Dst: resolve_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:30898,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:31000,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:30937,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30853,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30881,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31048,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31097,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30842,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30841,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30887,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30888,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:31157,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31100,1
    - Dst: mark_eval_captured_variables
      Src: /src/gpac/src/quickjs/quickjs.c:30878,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30896,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:30957,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31040,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31109,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30922,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30879,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30908,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31104,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31041,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31042,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31117,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30852,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30880,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30979,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30876,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30907,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30963,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31018,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31061,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31067,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:31144,1
    - Dst: get_label_pos
      Src: /src/gpac/src/quickjs/quickjs.c:31104,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31112,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30853,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30913,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:31155,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30842,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30859,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30921,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31006,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:30953,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:31141,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31007,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30897,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30843,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30885,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30906,1
    - Dst: resolve_scope_var
      Src: /src/gpac/src/quickjs/quickjs.c:30911,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31047,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31110,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:31135,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:30822,1
    - Dst: mark_eval_captured_variables
      Src: /src/gpac/src/quickjs/quickjs.c:30886,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30936,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:30973,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31097,1
    - Dst: skip_dead_code
      Src: /src/gpac/src/quickjs/quickjs.c:31001,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31019,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31111,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30870,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30877,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30900,1
    - Dst: resolve_scope_private_field
      Src: /src/gpac/src/quickjs/quickjs.c:30923,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:30939,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31068,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30962,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:30973,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs.c:31143,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 274
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 31160
      start: 30811
    functionDepth: 0
    functionLinenumber: 30811
    functionLinenumberEnd: 31160
    functionName: resolve_variables
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - js_dbuf_init
    - instantiate_hoisted_definitions
    - dbuf_put_u16
    - code_match
    - get_label_pos
    - dbuf_error
    - JS_DupAtom
    - resolve_scope_private_field
    - M2
    - dbuf_put_u32
    - dbuf_putc
    - JS_FreeAtom
    - assert
    - update_label
    - get_u32
    - mark_eval_captured_variables
    - skip_dead_code
    - dbuf_free
    - JS_ThrowOutOfMemory
    - dbuf_put
    - resolve_scope_var
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int resolve_variables(JSContext *ctx, JSFunctionDef
      *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DumpMemoryUsage
      Src: /src/gpac/src/quickjs/quickjs.c:2330,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2349,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2351,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2353,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2355,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2356,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2305,1
    - Dst: JS_DumpAtoms
      Src: /src/gpac/src/quickjs/quickjs.c:2308,1
    - Dst: JS_DumpShapes
      Src: /src/gpac/src/quickjs/quickjs.c:2311,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2344,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2342,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2336,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2339,1
    - Dst: js_free_shape_null
      Src: /src/gpac/src/quickjs/quickjs.c:2358,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:2361,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2317,1
    - Dst: JS_DumpObjectHeader
      Src: /src/gpac/src/quickjs/quickjs.c:2318,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:2319,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:2320,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2323,1
    - Dst: JS_ComputeMemoryUsage
      Src: /src/gpac/src/quickjs/quickjs.c:2329,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2347,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2350,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2352,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2354,1
    - Dst: JS_DumpGCObject
      Src: /src/gpac/src/quickjs/quickjs.c:2321,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2337,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2340,1
    - Dst: js_free_modules
      Src: /src/gpac/src/quickjs/quickjs.c:2334,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:2360,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2363
    functionName: JS_FreeContext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - assert
    - list_del
    - JS_DumpAtoms
    - list_entry
    - JS_DumpObjectHeader
    - JS_DumpGCObject
    - js_free_rt
    - js_free_modules
    - remove_gc_object
    - JS_ComputeMemoryUsage
    - JS_DumpMemoryUsage
    - list_for_each
    - JS_DumpShapes
    - printf
    - js_free_shape_null
    linkageType: ''
    returnType: void
    signature: 'void JS_FreeContext(JSContext *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:7078,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:7083,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:7080,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7081,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:7083,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:7085,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:7086,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:7090,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:7092,1
    - Dst: JS_OrdinaryIsInstanceOf
      Src: /src/gpac/src/quickjs/quickjs.c:7095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - val
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7096
      start: 7074
    functionDepth: 0
    functionLinenumber: 7074
    functionLinenumberEnd: 7096
    functionName: JS_IsInstanceOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_IsObject
    - JS_CallFree
    - JS_ToBoolFree
    - JS_OrdinaryIsInstanceOf
    linkageType: ''
    returnType: int
    signature: 'int JS_IsInstanceOf(JSContext *ctx, JSValueConst val, JSValueConst
      obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7482,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:7484,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7488
      start: 7474
    functionDepth: 0
    functionLinenumber: 7474
    functionLinenumberEnd: 7488
    functionName: js_string_obj_get_length
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_STRING
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t js_string_obj_get_length(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_CompactBigInt1
      Src: /src/gpac/src/quickjs/quickjs.c:12445,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12446
      start: 12443
    functionDepth: 0
    functionLinenumber: 12443
    functionLinenumberEnd: 12446
    functionName: JS_CompactBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CompactBigInt1
    - is_math_mode
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_CompactBigInt(JSContext *ctx, JSValue val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:49095,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:49104,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:49099,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49097,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:49102,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49106,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49108,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:49109,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:49109,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49110,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:49114,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:49115,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49125,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49114,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49122,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:49118,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49127
      start: 49086
    functionDepth: 0
    functionLinenumber: 49086
    functionLinenumberEnd: 49127
    functionName: js_operators_updateBigIntOperators
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - JS_GetOpaque2
    - JS_VALUE_GET_PTR
    - JS_GetProperty
    - JS_IsUndefined
    - JS_MKPTR
    - check_function
    - countof
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_operators_updateBigIntOperators(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2368
    functionName: JS_GetRuntime
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSRuntime*
    signature: 'JSRuntime *JS_GetRuntime(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7497,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7503,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7498,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7502,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:7504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - p1
    - p2
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 7512
      start: 7490
    functionDepth: 0
    functionLinenumber: 7490
    functionLinenumberEnd: 7512
    functionName: num_keys_cmp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomIsArrayIndex
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int num_keys_cmp(const void *p1, const void *p2, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:49133,1
    - Dst: js_operators_create_internal
      Src: /src/gpac/src/quickjs/quickjs.c:49135,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49136,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:49139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 49142
      start: 49129
    functionDepth: 0
    functionLinenumber: 49129
    functionLinenumberEnd: 49142
    functionName: js_operators_set_default
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - js_operators_create_internal
    - JS_IsException
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: int
    signature: 'static int js_operators_set_default(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_cmp_doubles
      Src: /src/gpac/src/quickjs/quickjs.c:52705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52706
      start: 52704
    functionDepth: 0
    functionLinenumber: 52704
    functionLinenumberEnd: 52706
    functionName: js_TA_cmp_float32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_cmp_doubles
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_float32(const void *a, const void *b, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48742,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:48744,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48747,1
    - Dst: getTimezoneOffset
      Src: /src/gpac/src/quickjs/quickjs.c:48747,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:48747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48748
      start: 48736
    functionDepth: 0
    functionLinenumber: 48736
    functionLinenumberEnd: 48748
    functionName: js_date_getTimezoneOffset
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - trunc
    - JS_NewInt64
    - isnan
    - getTimezoneOffset
    - JS_ThisTimeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_getTimezoneOffset(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:7008,1
    - Dst: JS_IsInstanceOf
      Src: /src/gpac/src/quickjs/quickjs.c:7013,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:7022,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:7036,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7045,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:7051,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7052,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:7019,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7020,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7037,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7010,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7032,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7034,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7069,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7017,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7021,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7026,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7027,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7034,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:7041,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7046,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - val
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7071
      start: 7000
    functionDepth: 0
    functionLinenumber: 7000
    functionLinenumberEnd: 7071
    functionName: JS_OrdinaryIsInstanceOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - js_poll_interrupts
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - JS_IsInstanceOf
    - JS_GetProperty
    - JS_VALUE_GET_TAG
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    - JS_GetPrototypeFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_OrdinaryIsInstanceOf(JSContext *ctx, JSValueConst val,
      JSValueConst obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12424,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12429,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:12427,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:12430,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12426,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12432,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:12433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - val
    - convert_to_safe_integer
    argTypes:
    - JSContext*
    - JSValue
    - BOOL
    constantsTouched: []
    func_position:
      end: 12437
      start: 12418
    functionDepth: 0
    functionLinenumber: 12418
    functionLinenumberEnd: 12437
    functionName: JS_CompactBigInt1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - assert
    - JS_VALUE_GET_TAG
    - JS_NewInt64
    - JS_VALUE_GET_PTR
    - bf_get_int64
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_CompactBigInt1(JSContext *ctx, JSValue val, BOOL
      convert_to_safe_integer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - s
    - label
    argTypes:
    - JSFunctionDef*
    - int
    constantsTouched: []
    func_position:
      end: 30807
      start: 30786
    functionDepth: 0
    functionLinenumber: 30786
    functionLinenumberEnd: 30807
    functionName: get_label_pos
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    linkageType: ''
    returnType: int
    signature: 'static int get_label_pos(JSFunctionDef *s, int label) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25832,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25833,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25841,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25837,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25843,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25861,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25880,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25881,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25884,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25894,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25823,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25828,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25829,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25830,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25840,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:25836,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25839,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25872,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25873,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25888,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25820,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25827,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25834,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25835,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25845,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25858,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25871,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25842,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25838,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25853,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:25882,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25885,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25890,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25892,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 2
    argNames:
    - s
    - hasval
    argTypes:
    - JSParseState*
    - BOOL
    constantsTouched: []
    func_position:
      end: 25896
      start: 25804
    functionDepth: 0
    functionLinenumber: 25804
    functionLinenumberEnd: 25896
    functionName: emit_return
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - emit_op
    - emit_goto
    - emit_u16
    - emit_label
    linkageType: ''
    returnType: void
    signature: 'static void emit_return(JSParseState *s, BOOL hasval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:16850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - (new_target)
    argTypes:
    - JS_IsUndefined
    constantsTouched: []
    func_position:
      end: 16852
      start: 16848
    functionDepth: 0
    functionLinenumber: 16848
    functionLinenumberEnd: 16852
    functionName: (OP_check_ctor)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_check_ctor): if (JS_IsUndefined(new_target)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:45868,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:45878,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:45870,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:45869,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:45871,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:45879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 45883
      start: 45861
    functionDepth: 0
    functionLinenumber: 45861
    functionLinenumberEnd: 45883
    functionName: reset_weak_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - assert
    - js_free_rt
    - list_del
    linkageType: ''
    returnType: void
    signature: 'static void reset_weak_ref(JSRuntime *rt, JSObject *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 48903
      start: 48900
    functionDepth: 0
    functionLinenumber: 48900
    functionLinenumberEnd: 48903
    functionName: JS_AddIntrinsicEval
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicEval(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17245,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17248
      start: 17242
    functionDepth: 0
    functionLinenumber: 17242
    functionLinenumberEnd: 17248
    functionName: (OP_set_loc_uninitialized)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_loc_uninitialized) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_get_module_ns
      Src: /src/gpac/src/quickjs/quickjs.c:27722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - p
    - atom
    - opaque
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - void*
    constantsTouched: []
    func_position:
      end: 27723
      start: 27718
    functionDepth: 0
    functionLinenumber: 27718
    functionLinenumberEnd: 27723
    functionName: js_module_ns_autoinit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_module_ns
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_module_ns_autoinit(JSContext *ctx, JSObject *p,
      JSAtom atom, void *opaque) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45888,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:45895,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:45896,1
    - Dst: map_normalize_key
      Src: /src/gpac/src/quickjs/quickjs.c:45894,1
    - Dst: map_find_record
      Src: /src/gpac/src/quickjs/quickjs.c:45901,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45903,1
    - Dst: map_add_record
      Src: /src/gpac/src/quickjs/quickjs.c:45905,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45909,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45910,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45911
      start: 45885
    functionDepth: 0
    functionLinenumber: 45885
    functionLinenumberEnd: 45911
    functionName: js_map_set
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - map_add_record
    - JS_FreeValue
    - JS_ThrowTypeErrorNotAnObject
    - JS_GetOpaque2
    - map_find_record
    - JS_DupValue
    - JS_IsObject
    - map_normalize_key
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_set(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:2243,1
    - Dst: js_free_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:2248,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:2244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - flag
    argTypes:
    - JSContext*
    - JSFreeModuleEnum
    constantsTouched: []
    func_position:
      end: 2251
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2251
    functionName: js_free_modules
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_for_each_safe
    - list_entry
    - js_free_module_def
    linkageType: ''
    returnType: void
    signature: 'static void js_free_modules(JSContext *ctx, JSFreeModuleEnum flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3829,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:3833,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3832,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3834,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:3832,1
    - Dst: string_buffer_set_error
      Src: /src/gpac/src/quickjs/quickjs.c:3835,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3837,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:3838,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:3839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - StringBuffer*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3841
      start: 3822
    functionDepth: 0
    functionLinenumber: 3822
    functionLinenumberEnd: 3841
    functionName: string_buffer_concat_value_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - JS_IsException
    - string_buffer_set_error
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ToStringFree
    - string_buffer_concat
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_concat_value_free(StringBuffer *s, JSValue
      v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:14817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - op1
    - op2
    argTypes:
    - JSContext*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 14818
      start: 14815
    functionDepth: 0
    functionLinenumber: 14815
    functionLinenumberEnd: 14818
    functionName: js_strict_eq
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_strict_eq2
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_strict_eq(JSContext *ctx, JSValue op1, JSValue op2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:21616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fd
    - label
    argTypes:
    - JSFunctionDef*
    - int
    constantsTouched: []
    func_position:
      end: 21629
      start: 21611
    functionDepth: 0
    functionLinenumber: 21611
    functionLinenumberEnd: 21629
    functionName: new_label_fd
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int new_label_fd(JSFunctionDef *fd, int label) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - s
    - m
    - name
    argTypes:
    - JSResolveState*
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27444
      start: 27434
    functionDepth: 0
    functionLinenumber: 27434
    functionLinenumberEnd: 27444
    functionName: find_resolve_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_resolve_entry(JSResolveState *s, JSModuleDef *m, JSAtom
      name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:3847,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:3851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - s
    - c
    - count
    argTypes:
    - StringBuffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3855
      start: 3843
    functionDepth: 0
    functionLinenumber: 3843
    functionLinenumberEnd: 3855
    functionName: string_buffer_fill
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_realloc
    - string_buffer_putc16
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_fill(StringBuffer *s, int c, int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:14822,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:14823,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:14823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - op1
    - op2
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 14825
      start: 14820
    functionDepth: 0
    functionLinenumber: 14820
    functionLinenumberEnd: 14825
    functionName: js_same_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - js_strict_eq2
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_same_value(JSContext *ctx, JSValueConst op1, JSValueConst
      op2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_label_fd
      Src: /src/gpac/src/quickjs/quickjs.c:21633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21634
      start: 21631
    functionDepth: 0
    functionLinenumber: 21631
    functionLinenumberEnd: 21634
    functionName: new_label
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - new_label_fd
    linkageType: ''
    returnType: int
    signature: 'static int new_label(JSParseState *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27451,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - s
    - m
    - name
    argTypes:
    - JSContext*
    - JSResolveState*
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27459
      start: 27446
    functionDepth: 0
    functionLinenumber: 27446
    functionLinenumberEnd: 27459
    functionName: add_resolve_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int add_resolve_entry(JSContext *ctx, JSResolveState *s, JSModuleDef
      *m, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1440,1
    - Dst: js_realloc_array
      Src: /src/gpac/src/quickjs/quickjs.c:1441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - parray
    - elem_size
    - psize
    - req_size
    argTypes:
    - JSContext*
    - void**
    - int
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1444
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1444
    functionName: js_resize_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_realloc_array
    linkageType: ''
    returnType: int
    signature: 'static inline int js_resize_array(JSContext *ctx, void **parray, int
      elem_size, int *psize, int req_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:40051,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:40051,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40052,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:40053,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40054,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:40055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40060
      start: 40047
    functionDepth: 0
    functionLinenumber: 40047
    functionLinenumberEnd: 40060
    functionName: js_boolean_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - JS_SetObjectData
    - JS_IsException
    - JS_IsUndefined
    - js_create_from_ctor
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_boolean_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44391,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:44392,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:44394,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44393,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:44396,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44397,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44402
      start: 44382
    functionDepth: 0
    functionLinenumber: 44382
    functionLinenumberEnd: 44402
    functionName: js_reflect_has
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ValueToAtom
    - JS_HasProperty
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_has(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - src1
    - src2
    - len
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    constantsTouched: []
    func_position:
      end: 4126
      start: 4117
    functionDepth: 0
    functionLinenumber: 4117
    functionLinenumberEnd: 4126
    functionName: memcmp16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int memcmp16(const uint16_t *src1, const uint16_t *src2, int
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5415,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5418
      start: 5412
    functionDepth: 0
    functionLinenumber: 5412
    functionLinenumberEnd: 5418
    functionName: js_for_in_iterator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_for_in_iterator_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_append_enumerate
      Src: /src/gpac/src/quickjs/quickjs.c:17946,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17949
      start: 17944
    functionDepth: 0
    functionLinenumber: 17944
    functionLinenumberEnd: 17949
    functionName: (OP_append)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_append_enumerate
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_append) : /* array pos enumobj -- array pos */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:19455,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - generator
    - resolving_funcs
    - is_resume_next
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue*
    - BOOL
    constantsTouched: []
    func_position:
      end: 19465
      start: 19446
    functionDepth: 0
    functionLinenumber: 19446
    functionLinenumberEnd: 19465
    functionName: js_async_generator_resolve_function_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewCFunctionData
    - JS_FreeValue
    linkageType: ''
    returnType: int
    signature: 'static int js_async_generator_resolve_function_create(JSContext *ctx,
      JSValueConst generator, JSValue *resolving_funcs, BOOL is_resume_next) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50558,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50562,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50559,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50563,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50565,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/quickjs.c:50566,1
    - Dst: JS_ToBigDecimalFree
      Src: /src/gpac/src/quickjs/quickjs.c:50568,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:50568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50571
      start: 50553
    functionDepth: 0
    functionLinenumber: 50553
    functionLinenumberEnd: 50571
    functionName: js_bigdecimal_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigDecimalFree
    - JS_NewBigDecimal
    - JS_ThrowTypeError
    - JS_IsException
    - JS_IsUndefined
    - bfdec_set_zero
    - JS_DupValue
    - JS_GetBigDecimal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44418,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:44421,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:44419,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44420,1
    - Dst: JS_SetPropertyGeneric
      Src: /src/gpac/src/quickjs/quickjs.c:44423,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:44424,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44425,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44430
      start: 44404
    functionDepth: 0
    functionLinenumber: 44404
    functionLinenumberEnd: 44430
    functionName: js_reflect_set
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_SetPropertyGeneric
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_DupValue
    - JS_ValueToAtom
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_set(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:4132,1
    - Dst: memcmp16_8
      Src: /src/gpac/src/quickjs/quickjs.c:4136,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:4133,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:4134,1
    - Dst: memcmp16_8
      Src: /src/gpac/src/quickjs/quickjs.c:4139,1
    - Dst: memcmp16
      Src: /src/gpac/src/quickjs/quickjs.c:4141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p1
    - p2
    - len
    argTypes:
    - JSString*
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 4144
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4144
    functionName: js_string_memcmp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcmp
    - memcmp16_8
    - memcmp16
    - likely
    linkageType: ''
    returnType: int
    signature: 'static int js_string_memcmp(const JSString *p1, const JSString *p2,
      int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:5431,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5436,1
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:5439,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:5445,1
    - Dst: free_property
      Src: /src/gpac/src/quickjs/quickjs.c:5433,1
    - Dst: reset_weak_ref
      Src: /src/gpac/src/quickjs/quickjs.c:5446,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5451,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:5459,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5461,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 5465
      start: 5420
    functionDepth: 0
    functionLinenumber: 5420
    functionLinenumberEnd: 5465
    functionName: free_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_prop
    - js_free_shape
    - reset_weak_ref
    - js_free_rt
    - remove_gc_object
    - JS_MKPTR
    - unlikely
    - free_property
    - list_add_tail
    linkageType: ''
    returnType: void
    signature: 'static void free_object(JSRuntime *rt, JSObject *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_promise_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19474,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19476,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19481,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:19479,1
    - Dst: js_async_generator_resolve_function_create
      Src: /src/gpac/src/quickjs/quickjs.c:19479,1
    - Dst: perform_promise_then
      Src: /src/gpac/src/quickjs/quickjs.c:19489,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19492,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - s
    - value
    argTypes:
    - JSContext*
    - JSAsyncGeneratorData*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 19500
      start: 19467
    functionDepth: 0
    functionLinenumber: 19467
    functionLinenumberEnd: 19500
    functionName: js_async_generator_await
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_async_generator_resolve_function_create
    - JS_IsException
    - JS_MKPTR
    - js_promise_resolve
    - perform_promise_then
    linkageType: ''
    returnType: int
    signature: 'static int js_async_generator_await(JSContext *ctx, JSAsyncGeneratorData
      *s, JSValueConst value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50575,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:50578,1
    - Dst: JS_IsBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50581,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:50579,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:50576,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:50582,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 50586
      start: 50573
    functionDepth: 0
    functionLinenumber: 50573
    functionLinenumberEnd: 50586
    functionName: js_thisBigDecimalValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - JS_IsBigDecimal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisBigDecimalValue(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_get_pos
      Src: /src/gpac/src/quickjs/quickjs.c:22814,1
    - Dst: js_parse_seek_token
      Src: /src/gpac/src/quickjs/quickjs.c:22834,1
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:22829,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:22826,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22827,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - s
    - has_super
    - pfd
    argTypes:
    - JSParseState*
    - BOOL
    - JSFunctionDef**
    constantsTouched: []
    func_position:
      end: 22836
      start: 22804
    functionDepth: 0
    functionLinenumber: 22804
    functionLinenumberEnd: 22836
    functionName: js_parse_class_default_ctor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - next_token
    - js_parse_get_pos
    - js_parse_seek_token
    - js_parse_function_decl2
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_class_default_ctor(JSParseState *s,
      BOOL has_super, JSFunctionDef **pfd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43162,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43167,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43163,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43169,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:43166,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43170,1
    - Dst: JS_IsCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:43173,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - rx
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 43177
      start: 43157
    functionDepth: 0
    functionLinenumber: 43157
    functionLinenumberEnd: 43177
    functionName: js_is_standard_regexp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_IsCFunction
    - JS_GetProperty
    - js_same_value
    linkageType: ''
    returnType: int
    signature: 'static int js_is_standard_regexp(JSContext *ctx, JSValueConst rx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11341
      start: 11338
    functionDepth: 0
    functionLinenumber: 11338
    functionLinenumberEnd: 11341
    functionName: js_bigfloat_to_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_ftoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_to_string(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:28159,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:28162,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28167,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:28161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - n_stack_levels
    argTypes:
    - JSContext*
    - int
    constantsTouched: []
    func_position:
      end: 28168
      start: 28143
    functionDepth: 0
    functionLinenumber: 28143
    functionLinenumberEnd: 28168
    functionName: JS_GetScriptOrModuleName
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupAtom
    - JS_VALUE_GET_TAG
    - js_class_has_bytecode
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_GetScriptOrModuleName(JSContext *ctx, int n_stack_levels) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:43196,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:43223,1
    - Dst: js_is_standard_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:43230,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:43250,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:43264,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43304,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43333,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:43319,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43256,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43292,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43270,1
    - Dst: string_advance_index
      Src: /src/gpac/src/quickjs/quickjs.c:43255,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:43309,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43214,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43226,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43331,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43247,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43355,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:43194,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43219,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:43240,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43253,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43301,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43268,1
    - Dst: js_function_apply
      Src: /src/gpac/src/quickjs/quickjs.c:43315,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43291,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43327,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:43338,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:43344,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:43213,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43340,1
    - Dst: value_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:43352,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:43270,1
    - Dst: JS_RegExpDelete
      Src: /src/gpac/src/quickjs/quickjs.c:43232,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43226,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43356,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43309,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43278,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43308,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43280,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:43339,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43206,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:43237,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:43282,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43288,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:43253,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:43343,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43354,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:43306,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43318,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43357,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43314,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43193,1
    - Dst: value_buffer_append
      Src: /src/gpac/src/quickjs/quickjs.c:43242,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43246,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43247,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43282,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43299,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43248,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43266,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43267,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43267,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43290,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43306,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43300,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43358,1
    - Dst: value_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:43197,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:43219,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43256,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43287,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43315,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43304,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:43350,1
    - Dst: js_string___GetSubstitution
      Src: /src/gpac/src/quickjs/quickjs.c:43332,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43320,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43209,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:43211,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43295,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43335,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:43279,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:43205,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43223,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43216,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43238,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43353,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 177
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 43360
      start: 43179
    functionDepth: 0
    functionLinenumber: 43179
    functionLinenumberEnd: 43360
    functionName: js_regexp_Symbol_replace
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RegExpExec
    - JS_IsNull
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - string_buffer_free
    - JS_ToString
    - js_get_length32
    - JS_RegExpDelete
    - string_buffer_concat_value
    - js_function_apply
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - JS_SetProperty
    - JS_NewInt32
    - JS_NewInt64
    - JS_DupValue
    - JS_ToStringFree
    - JS_IsObject
    - JS_ToBoolFree
    - value_buffer_free
    - value_buffer_append
    - js_is_standard_regexp
    - JS_IsFunction
    - JS_IsUndefined
    - JS_GetPropertyInt64
    - JS_IsEmptyString
    - string_buffer_init
    - JS_FreeValue
    - JS_ToObject
    - string_advance_index
    - JS_DefinePropertyValueInt64
    - js_string___GetSubstitution
    - JS_GetProperty
    - value_buffer_init
    - JS_ToLengthFree
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_Symbol_replace(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:11292,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11308,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:11295,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:11314,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11293,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:11316,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:11317,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/quickjs.c:11318,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11319,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:11320,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11325,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:11329,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:11332,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/quickjs.c:11334,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:11333,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11330,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11322,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - val1
    - radix
    - prec
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 11336
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11336
    functionName: js_ftoa
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - bf_delete
    - JS_IsException
    - bf_round
    - JS_NewString
    - JS_VALUE_GET_TAG
    - bf_init
    - bf_ftoa
    - bf_set_exp_bits
    - bf_set
    - bf_free
    - JS_ToBigFloat
    - JS_ToNumeric
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_ftoa(JSContext *ctx, JSValueConst val1, int radix,
      limb_t prec, bf_flags_t flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:11351,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:11359,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/quickjs.c:11360,1
    - Dst: bfdec_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11355,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:11358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - val
    - prec
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 11362
      start: 11343
    functionDepth: 0
    functionLinenumber: 11343
    functionLinenumberEnd: 11362
    functionName: js_bigdecimal_to_string1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigDecimal
    - JS_NewString
    - bfdec_ftoa
    - bf_free
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_to_string1(JSContext *ctx, JSValueConst
      val, limb_t prec, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16711
      start: 16703
    functionDepth: 0
    functionLinenumber: 16703
    functionLinenumberEnd: 16711
    functionName: (OP_swap2)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_swap2) : /* a b c d -> c d a b */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - fd
    - name
    - scope_level
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 22852
      start: 22839
    functionDepth: 0
    functionLinenumber: 22839
    functionLinenumberEnd: 22852
    functionName: find_private_class_field
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_private_class_field(JSContext *ctx, JSFunctionDef
      *fd, JSAtom name, int scope_level) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:28000,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:28013,1
    - Dst: js_resolve_export
      Src: /src/gpac/src/quickjs/quickjs.c:28025,1
    - Dst: js_resolve_export_throw_error
      Src: /src/gpac/src/quickjs/quickjs.c:28027,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:28055,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:28039,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:28048,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28039,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28063,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28097,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28108,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28128,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28000,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28013,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28035,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28067,1
    - Dst: js_create_module_var
      Src: /src/gpac/src/quickjs/quickjs.c:28089,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:28094,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28130,1
    - Dst: js_link_module
      Src: /src/gpac/src/quickjs/quickjs.c:28006,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:28038,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28040,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28056,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:28065,1
    - Dst: js_resolve_export
      Src: /src/gpac/src/quickjs/quickjs.c:28075,1
    - Dst: js_resolve_export_throw_error
      Src: /src/gpac/src/quickjs/quickjs.c:28078,1
    - Dst: js_get_module_ns
      Src: /src/gpac/src/quickjs/quickjs.c:28086,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28087,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28091,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28038,1
    - Dst: js_get_module_ns
      Src: /src/gpac/src/quickjs/quickjs.c:28062,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28054,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:28102,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:28127,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28134,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 99
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 28139
      start: 27983
    functionDepth: 0
    functionLinenumber: 27983
    functionLinenumberEnd: 28139
    functionName: js_link_module
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - print_atom
    - set_value
    - JS_IsException
    - JS_AtomGetStr
    - js_link_module
    - js_resolve_export
    - JS_Call
    - js_resolve_export_throw_error
    - js_create_module_var
    - printf
    - js_get_module_ns
    linkageType: ''
    returnType: int
    signature: 'static int js_link_module(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:3432,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:3437,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:3436,1
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:3439,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:3433,1
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:3448,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:3452,1
    - Dst: JS_DupAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:3459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - rt
    - class_id
    - class_def
    - name
    argTypes:
    - JSRuntime*
    - JSClassID
    - JSClassDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3465
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3465
    functionName: JS_NewClass1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    - list_entry
    - max_int
    - js_realloc_rt
    - JS_DupAtomRT
    - list_for_each
    linkageType: ''
    returnType: int
    signature: 'static int JS_NewClass1(JSRuntime *rt, JSClassID class_id, const JSClassDef
      *class_def, JSAtom name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5261,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:5265,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5264,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5269,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - rt
    - var_ref
    argTypes:
    - JSRuntime*
    - JSVarRef*
    constantsTouched: []
    func_position:
      end: 5272
      start: 5258
    functionDepth: 0
    functionLinenumber: 5258
    functionLinenumberEnd: 5272
    functionName: free_var_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - list_del
    - remove_gc_object
    - js_free_rt
    - JS_FreeValueRT
    linkageType: ''
    returnType: void
    signature: 'static void free_var_ref(JSRuntime *rt, JSVarRef *var_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_dynamic_import
      Src: /src/gpac/src/quickjs/quickjs.c:16983,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16986,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16988
      start: 16981
    functionDepth: 0
    functionLinenumber: 16981
    functionLinenumberEnd: 16988
    functionName: (OP_import)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_dynamic_import
    - JS_IsException
    - JS_FreeValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_import) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3472,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:3480,1
    - Dst: __JS_NewAtomInit
      Src: /src/gpac/src/quickjs/quickjs.c:3475,1
    - Dst: JS_NewClass1
      Src: /src/gpac/src/quickjs/quickjs.c:3479,1
    - Dst: __JS_FindAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - rt
    - class_id
    - class_def
    argTypes:
    - JSRuntime*
    - JSClassID
    - JSClassDef*
    constantsTouched: []
    func_position:
      end: 3482
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3482
    functionName: JS_NewClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_FreeAtomRT
    - __JS_NewAtomInit
    - JS_NewClass1
    - __JS_FindAtom
    linkageType: ''
    returnType: int
    signature: 'int JS_NewClass(JSRuntime *rt, JSClassID class_id, const JSClassDef
      *class_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5276,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5280,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5283
      start: 5274
    functionDepth: 0
    functionLinenumber: 5274
    functionLinenumberEnd: 5283
    functionName: js_array_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_array_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36904,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36907,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36908,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36909,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36905,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36912,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36913,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36914,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36915,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36919,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36920
      start: 36896
    functionDepth: 0
    functionLinenumber: 36896
    functionLinenumberEnd: 36920
    functionName: js_object_hasOwnProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_IsException
    - unlikely
    - JS_ValueToAtom
    - JS_GetOwnPropertyInternal
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_hasOwnProperty(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_free_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4470
      start: 4466
    functionDepth: 0
    functionLinenumber: 4466
    functionLinenumberEnd: 4470
    functionName: js_free_shape_null
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free_shape
    linkageType: ''
    returnType: void
    signature: 'static void js_free_shape_null(JSRuntime *rt, JSShape *sh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16449,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16459,1
    - Dst: js_closure
      Src: /src/gpac/src/quickjs/quickjs.c:16466,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:16475,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:16471,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16484,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16451,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16466,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:16484,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16501,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16450,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16447,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16452,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16455,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16463,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:16497,1
    - Dst: get_i8
      Src: /src/gpac/src/quickjs/quickjs.c:16455,1
    - Dst: get_i16
      Src: /src/gpac/src/quickjs/quickjs.c:16459,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16448,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 22
    argCount: 0
    argNames:
    - OP_push_0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16502
      start: 16443
    functionDepth: 0
    functionLinenumber: 16443
    functionLinenumberEnd: 16502
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - CASE
    - JS_NewInt32
    - JS_AtomToString
    - JS_GetProperty
    - JS_VALUE_GET_TAG
    - get_u32
    - get_i16
    - JS_DupValue
    - get_i8
    - JS_AtomToValue
    - js_closure
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_push_minus1): CASE(OP_push_0) : CASE(OP_push_1): CASE(OP_push_2):
      CASE(OP_push_3): CASE(OP_push_4): CASE(OP_push_5): CASE(OP_push_6): CASE(OP_push_7):
      *sp++ = JS_NewInt32(ctx, opcode - OP_push_0); BREAK; CASE(OP_push_i8): *sp++
      = JS_NewInt32(ctx, get_i8(pc)); pc += 1; BREAK; CASE(OP_push_i16): *sp++ = JS_NewInt32(ctx,
      get_i16(pc)); pc += 2; BREAK; CASE(OP_push_const8): *sp++ = JS_DupValue(ctx,
      b->cpool[*pc++]); BREAK; CASE(OP_fclosure8): *sp++ = js_closure(ctx, JS_DupValue(ctx,
      b->cpool[*pc++]), var_refs, sf); if (unlikely(JS_IsException(sp[-1]))) goto
      exception; BREAK; CASE(OP_push_empty_string): *sp++ = JS_AtomToString(ctx, JS_ATOM_empty_string);
      BREAK; CASE(OP_get_length): { val = JS_GetProperty(ctx, sp[-1], JS_ATOM_length);
      if (unlikely(JS_IsException(val))) goto exception; JS_FreeValue(ctx, sp[-1]);
      sp[-1] = val; } BREAK;#endif CASE(OP_push_atom_value): *sp++ = JS_AtomToValue(ctx,
      get_u32(pc)); pc += 4; BREAK; CASE(OP_undefined): *sp++ = JS_UNDEFINED; BREAK;
      CASE(OP_null): *sp++ = JS_NULL; BREAK; CASE(OP_push_this): /* OP_push_this is
      only called at the start of a function */ { if (!(b->js_mode & JS_MODE_STRICT))
      { uint32_t tag = JS_VALUE_GET_TAG(this_obj); if (likely(tag == JS_TAG_OBJECT))
      goto normal_this; if (tag == JS_TAG_NULL || tag == JS_TAG_UNDEFINED) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18379,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18380,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18382,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18379,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18381,1
    - Dst: js_binary_logic_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18389
      start: 18375
    functionDepth: 0
    functionLinenumber: 18375
    functionLinenumberEnd: 18389
    functionName: (OP_or)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_binary_logic_slow
    - JS_NewInt32
    - likely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_or) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51334,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:51347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 51349
      start: 51332
    functionDepth: 0
    functionLinenumber: 51332
    functionLinenumberEnd: 51349
    functionName: js_array_buffer_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_array_buffer_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - b
    argTypes:
    - JSContext*
    - ValueBuffer*
    constantsTouched: []
    func_position:
      end: 43114
      start: 43106
    functionDepth: 0
    functionLinenumber: 43106
    functionLinenumberEnd: 43114
    functionName: value_buffer_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int value_buffer_init(JSContext *ctx, ValueBuffer *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17363,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17370,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17372,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:17366,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17364,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:17372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17374
      start: 17357
    functionDepth: 0
    functionLinenumber: 17357
    functionLinenumberEnd: 17374
    functionName: (OP_if_true)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_poll_interrupts
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - get_u32
    - unlikely
    - JS_ToBoolFree
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_if_true) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36926
      start: 36922
    functionDepth: 0
    functionLinenumber: 36922
    functionLinenumberEnd: 36926
    functionName: js_object_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:51358,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:51365,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51366
      start: 51351
    functionDepth: 0
    functionLinenumber: 51351
    functionLinenumberEnd: 51366
    functionName: js_array_buffer_isView
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_isView(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:4483,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:4488,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4506,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:4508,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4516,1
    - Dst: get_alloc_from_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4524,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:4523,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:4520,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4512,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:4524,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:4525,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:4528,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:4532,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:4500,1
    - Dst: get_shape_from_alloc
      Src: /src/gpac/src/quickjs/quickjs.c:4503,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:4504,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:4511,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4500,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4489,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4511,1
    - Dst: get_alloc_from_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4520,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4517,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4526,1
    - Dst: get_shape_from_alloc
      Src: /src/gpac/src/quickjs/quickjs.c:4531,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 4
    argNames:
    - ctx
    - psh
    - p
    - count
    argTypes:
    - JSContext*
    - JSShape**
    - JSObject*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4537
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4537
    functionName: resize_properties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_size
    - list_del
    - get_alloc_from_shape
    - memset
    - js_malloc
    - unlikely
    - max_int
    - memcpy
    - js_free
    - list_add_tail
    - get_shape_from_alloc
    - js_realloc
    - prop_hash_end
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int resize_properties(JSContext *ctx, JSShape **psh,
      JSObject *p, uint32_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1690
    functionName: JS_GetRuntimeOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *JS_GetRuntimeOpaque(JSRuntime *rt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3988,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3992,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:3991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3994
    functionName: JS_NewAtomString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - JS_AtomToString
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewAtomString(JSContext *ctx, const char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14299,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:14316,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14299,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14320
      start: 14291
    functionDepth: 0
    functionLinenumber: 14291
    functionLinenumberEnd: 14320
    functionName: js_unary_arith_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - abort
    - JS_NewFloat64
    - JS_ToFloat64Free
    linkageType: ''
    returnType: int
    signature: 'int js_unary_arith_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16734,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16754,1
    - Dst: JS_CallConstructorInternal
      Src: /src/gpac/src/quickjs/quickjs.c:16758,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:16740,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16772,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:16776,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:16794,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:16799,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16799,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16803,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames:
    - OP_call1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16806
      start: 16724
    functionDepth: 0
    functionLinenumber: 16724
    functionLinenumberEnd: 16806
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - CASE
    - JS_NewArray
    - get_u16
    - JS_CallConstructorInternal
    - JS_DefinePropertyValue
    - __JS_AtomFromUInt32
    - JS_CallInternal
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_call0): CASE(OP_call1) : CASE(OP_call2): CASE(OP_call3):
      call_argc = opcode - OP_call0; goto has_call_argc; #endif CASE(OP_call): CASE(OP_tail_call):
      { call_argc = get_u16(pc); pc += 2; goto has_call_argc; has_call_argc: call_argv
      = sp - call_argc; sf->cur_pc = pc; ret_val = JS_CallInternal(ctx, call_argv[-1],
      JS_UNDEFINED, JS_UNDEFINED, call_argc, call_argv, 0); if (unlikely(JS_IsException(ret_val)))
      goto exception; if (opcode == OP_tail_call) goto done; for(i = -1; i < call_argc;
      i++) JS_FreeValue(ctx, call_argv[i]); sp -= call_argc + 1; * sp++ = ret_val;
      } BREAK; CASE(OP_call_constructor): { call_argc = get_u16(pc); pc += 2; call_argv
      = sp - call_argc; sf->cur_pc = pc; ret_val = JS_CallConstructorInternal(ctx,
      call_argv[-2], call_argv[-1], call_argc, call_argv, 0); if (unlikely(JS_IsException(ret_val)))
      goto exception; for(i = -2; i < call_argc; i++) JS_FreeValue(ctx, call_argv[i]);
      sp -= call_argc + 2; * sp++ = ret_val; } BREAK; CASE(OP_call_method): CASE(OP_tail_call_method):
      { call_argc = get_u16(pc); pc += 2; call_argv = sp - call_argc; sf->cur_pc =
      pc; ret_val = JS_CallInternal(ctx, call_argv[-1], call_argv[-2], JS_UNDEFINED,
      call_argc, call_argv, 0); if (unlikely(JS_IsException(ret_val))) goto exception;
      if (opcode == OP_tail_call_method) goto done; for(i = -2; i < call_argc; i++)
      JS_FreeValue(ctx, call_argv[i]); sp -= call_argc + 2; * sp++ = ret_val; } BREAK;
      CASE(OP_array_from): { int i, ret; call_argc = get_u16(pc); pc += 2; ret_val
      = JS_NewArray(ctx); if (unlikely(JS_IsException(ret_val))) goto exception; call_argv
      = sp - call_argc; for(i = 0; i < call_argc; i++) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49400,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49409,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:49412,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49413,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49398,1
    - Dst: bf_sqrtrem
      Src: /src/gpac/src/quickjs/quickjs.c:49403,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:49416,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:49415,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49416,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49404,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49419,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49391,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49397,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49392,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49394,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49395,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:49405,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49423,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:49406,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49424,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 49426
      start: 49383
    functionDepth: 0
    functionLinenumber: 49383
    functionLinenumberEnd: 49426
    functionName: js_bigint_sqrt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - throw_bf_exception
    - JS_FreeBigInt
    - JS_NewArray
    - bf_sqrtrem
    - JS_FreeValue
    - JS_IsException
    - JS_CompactBigInt
    - JS_NewBigInt
    - unlikely
    - JS_ToBigInt
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_sqrt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:51382,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:51386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - this_val
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 51387
      start: 51378
    functionDepth: 0
    functionLinenumber: 51378
    functionLinenumberEnd: 51387
    functionName: js_array_buffer_get_byteLength
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque2
    - JS_NewUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_get_byteLength(JSContext *ctx, JSValueConst
      this_val, int class_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - opaque
    argTypes:
    - JSRuntime*
    - void*
    constantsTouched: []
    func_position:
      end: 1695
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1695
    functionName: JS_SetRuntimeOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetRuntimeOpaque(JSRuntime *rt, void *opaque) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:14237,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14238,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:14243,1
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:14246,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:14240,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:14247,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs.c:14249,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:14253,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14254,1
    - Dst: bf_mul_pow_radix
      Src: /src/gpac/src/quickjs/quickjs.c:14258,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14261,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14262,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:14260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14265
      start: 14230
    functionDepth: 0
    functionLinenumber: 14230
    functionLinenumberEnd: 14265
    functionName: js_mul_pow10
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigInt64
    - JS_FreeValue
    - JS_NewBigFloat
    - bf_mul_pow_radix
    - JS_ToInt64
    - bf_delete
    - JS_IsException
    - JS_IsBigInt
    - JS_GetBigFloat
    - JS_ToBigFloat
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_mul_pow10(JSContext *ctx, JSValue *sp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49436,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:49455,1
    - Dst: bf_get_exp_min
      Src: /src/gpac/src/quickjs/quickjs.c:49451,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49457,1
    - Dst: bf_is_zero
      Src: /src/gpac/src/quickjs/quickjs.c:49448,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:49458,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 49459
      start: 49428
    functionDepth: 0
    functionLinenumber: 49428
    functionLinenumberEnd: 49459
    functionName: js_bigint_op1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeBigInt
    - abort
    - JS_NewBigInt64
    - bf_get_exp_min
    - JS_ToBigInt
    - bf_is_zero
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_op1(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:51391,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:51406,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:51402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51414
      start: 51389
    functionDepth: 0
    functionLinenumber: 51389
    functionLinenumberEnd: 51414
    functionName: JS_DetachArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - list_for_each
    - list_entry
    linkageType: ''
    returnType: void
    signature: 'void JS_DetachArrayBuffer(JSContext *ctx, JSValueConst obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42504,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42507,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:42509,1
    - Dst: JS_ThrowTypeErrorInvalidClass
      Src: /src/gpac/src/quickjs/quickjs.c:42512,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:42505,1
    - Dst: lre_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:42515,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:42516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - this_val
    - mask
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 42517
      start: 42499
    functionDepth: 0
    functionLinenumber: 42499
    functionLinenumberEnd: 42517
    functionName: js_regexp_get_flag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_regexp
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - lre_get_flags
    - js_same_value
    - JS_ThrowTypeErrorInvalidClass
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_get_flag(JSContext *ctx, JSValueConst this_val,
      int mask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:42569,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:42570,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:42573,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:42572,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42574,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:42575,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:42577,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42578,1
    - Dst: string_buffer_concat_value_free
      Src: /src/gpac/src/quickjs/quickjs.c:42579,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:42581,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:42584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42586
      start: 42563
    functionDepth: 0
    functionLinenumber: 42563
    functionLinenumberEnd: 42586
    functionName: js_regexp_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - string_buffer_free
    - JS_GetProperty
    - string_buffer_concat_value_free
    - string_buffer_putc8
    - JS_IsObject
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:42598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42599
      start: 42594
    functionDepth: 0
    functionLinenumber: 42594
    functionLinenumberEnd: 42599
    functionName: lre_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_realloc_rt
    linkageType: ''
    returnType: void*
    signature: 'void *lre_realloc(void *opaque, void *ptr, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - p
    - pidx
    argTypes:
    - JSString*
    - int*
    constantsTouched: []
    func_position:
      end: 3734
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3734
    functionName: string_getc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int string_getc(const JSString *p, int *pidx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4006,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:4014,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:4008,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:4011,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:4007,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:4035,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:4053,1
    - Dst: unicode_to_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:4079,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4086,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 4
    argNames:
    - ctx
    - plen
    - val1
    - cesu8
    argTypes:
    - JSContext*
    - size_t*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 4094
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4094
    functionName: JS_ToCStringLen2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - unicode_to_utf8
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ToString
    - js_alloc_string
    - JS_DupValue
    linkageType: ''
    returnType: char*
    signature: 'const char *JS_ToCStringLen2(JSContext *ctx, size_t *plen, JSValueConst
      val1, BOOL cesu8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 21540
      start: 21535
    functionDepth: 0
    functionLinenumber: 21535
    functionLinenumberEnd: 21540
    functionName: get_prev_opcode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int get_prev_opcode(JSFunctionDef *fd) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: js_new_bf
      Src: /src/gpac/src/quickjs/quickjs.c:35118,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/quickjs.c:35168,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35177,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35129,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35159,1
    - Dst: bc_get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:35188,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:35197,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35126,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35123,1
    - Dst: bc_get_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:35136,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35234,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:35132,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35157,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:35161,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:35191,1
    - Dst: bc_get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:35194,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35231,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:35169,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:35222,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35213,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 117
    argCount: 2
    argNames:
    - s
    - tag
    argTypes:
    - BCReaderState*
    - int
    constantsTouched: []
    func_position:
      end: 35236
      start: 35106
    functionDepth: 0
    functionLinenumber: 35106
    functionLinenumberEnd: 35236
    functionName: JS_ReadBigNum
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_u64
    - JS_FreeValue
    - bc_get_sleb128
    - bswap64
    - JS_ThrowInternalError
    - bc_read_trace
    - bf_resize
    - abort
    - JS_MKPTR
    - bswap32
    - bc_get_u32
    - js_new_bf
    - bc_get_u8
    - JS_ThrowOutOfMemory
    - bc_get_leb128
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadBigNum(BCReaderState *s, int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_cmp_doubles
      Src: /src/gpac/src/quickjs/quickjs.c:52709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52710
      start: 52708
    functionDepth: 0
    functionLinenumber: 52708
    functionLinenumberEnd: 52710
    functionName: js_TA_cmp_float64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_cmp_doubles
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_float64(const void *a, const void *b, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 43582
      start: 43579
    functionDepth: 0
    functionLinenumber: 43579
    functionLinenumberEnd: 43582
    functionName: JS_AddIntrinsicRegExpCompiler
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicRegExpCompiler(JSContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:3741,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - s
    - p
    - len
    argTypes:
    - StringBuffer*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 3754
      start: 3736
    functionDepth: 0
    functionLinenumber: 3736
    functionLinenumberEnd: 3754
    functionName: string_buffer_write8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - string_buffer_realloc
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_write8(StringBuffer *s, const uint8_t *p,
      int len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:21543,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21561
      start: 21542
    functionDepth: 0
    functionLinenumber: 21542
    functionLinenumberEnd: 21561
    functionName: js_is_live_code
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_prev_opcode
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_is_live_code(JSParseState *s) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42524,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42532,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:42525,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42527,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42527,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:42532,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42537,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:42537,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42542,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:42542,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42552,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:42557,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42547,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:42552,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42547,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42561
      start: 42519
    functionDepth: 0
    functionLinenumber: 42519
    functionLinenumberEnd: 42561
    functionName: js_regexp_get_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - JS_GetProperty
    - JS_ToBoolFree
    - JS_NewStringLen
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_get_flags(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:42591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - alloca_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42592
      start: 42588
    functionDepth: 0
    functionLinenumber: 42588
    functionLinenumberEnd: 42592
    functionName: lre_check_stack_overflow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_check_stack_overflow
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_check_stack_overflow(void *opaque, size_t alloca_size) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42654,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42653,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42698,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:42716,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42719,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:42704,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42620,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42619,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42622,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42630,1
    - Dst: lre_get_capture_count
      Src: /src/gpac/src/quickjs/quickjs.c:42631,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42661,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:42634,1
    - Dst: lre_get_groupnames
      Src: /src/gpac/src/quickjs/quickjs.c:42673,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:42689,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42690,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:42710,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42711,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42604,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42616,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42617,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:42621,1
    - Dst: lre_exec
      Src: /src/gpac/src/quickjs/quickjs.c:42645,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42666,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:42658,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42665,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:42675,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:42695,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:42702,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:42713,1
    - Dst: lre_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:42626,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42636,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:42669,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42670,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42676,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:42707,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42696,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42720,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42722,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:42723,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 131
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42725
      start: 42601
    functionDepth: 0
    functionLinenumber: 42601
    functionLinenumberEnd: 42725
    functionName: js_regexp_exec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - js_get_regexp
    - JS_NewObjectProto
    - JS_IsException
    - JS_ToString
    - JS_DefinePropertyValueUint32
    - JS_DefinePropertyValue
    - js_free
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - JS_SetProperty
    - JS_NewInt32
    - JS_DupValue
    - js_malloc
    - JS_ThrowInternalError
    - lre_get_flags
    - lre_exec
    - js_sub_string
    - lre_get_groupnames
    - JS_FreeValue
    - lre_get_capture_count
    - JS_DefinePropertyValueStr
    - JS_GetProperty
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_exec(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - a
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 52714
      start: 52712
    functionDepth: 0
    functionLinenumber: 52712
    functionLinenumberEnd: 52714
    functionName: js_TA_get_int8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_TA_get_int8(JSContext *ctx, const void *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14330,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14336,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14335,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14338
      start: 14323
    functionDepth: 0
    functionLinenumber: 14323
    functionLinenumberEnd: 14338
    functionName: js_post_inc_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_NewFloat64
    - JS_ToFloat64Free
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_post_inc_slow(JSContext *ctx, JSValue *sp,
      OPCodeEnum op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - '!'
    - (str, "use strip")
    argTypes:
    - strcmp
    constantsTouched: []
    func_position:
      end: 32844
      start: 32842
    functionDepth: 0
    functionLinenumber: 32842
    functionLinenumberEnd: 32844
    functionName: if
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (!strcmp(str, "use strip")) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: js_malloc_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *js_malloc_rt(JSRuntime *rt, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:3489,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:3491,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3494,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - JSContext*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 3497
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3497
    functionName: js_new_string8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - JS_AtomToString
    - js_alloc_string
    - JS_MKPTR
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_new_string8(JSContext *ctx, const uint8_t *buf,
      int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9807,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - val
    - func
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSCFunction*
    - int
    constantsTouched: []
    func_position:
      end: 9814
      start: 9804
    functionDepth: 0
    functionLinenumber: 9804
    functionLinenumberEnd: 9814
    functionName: JS_IsCFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsCFunction(JSContext *ctx, JSValueConst val, JSCFunction
      *func, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12095,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12096,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12100,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:12099,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12098,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:12101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 12104
      start: 12091
    functionDepth: 0
    functionLinenumber: 12091
    functionLinenumberEnd: 12104
    functionName: JS_NewBigInt64_1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowOutOfMemory
    - JS_IsException
    - JS_NewBigInt
    - bf_set_si
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewBigInt64_1(JSContext *ctx, int64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_WriteObject2
      Src: /src/gpac/src/quickjs/quickjs.c:34814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - psize
    - obj
    - flags
    argTypes:
    - JSContext*
    - size_t*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 34815
      start: 34811
    functionDepth: 0
    functionLinenumber: 34811
    functionLinenumberEnd: 34815
    functionName: JS_WriteObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_WriteObject2
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *JS_WriteObject(JSContext *ctx, size_t *psize, JSValueConst
      obj, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - flags
    - pidx
    - n
    argTypes:
    - uint32_t
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 35048
      start: 35041
    functionDepth: 0
    functionLinenumber: 35041
    functionLinenumberEnd: 35048
    functionName: bc_get_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t bc_get_flags(uint32_t flags, int *pidx, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17091,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17095
      start: 17088
    functionDepth: 0
    functionLinenumber: 17088
    functionLinenumberEnd: 17095
    functionName: (OP_put_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_loc) : '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:37528,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:37545,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37559,1
    - Dst: JS_EvalObject
      Src: /src/gpac/src/quickjs/quickjs.c:37558,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37562,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37585,1
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37575,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:37570,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:37548,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37564,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37569,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37576,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:37543,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:37553,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37565,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37573,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:37583,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:37527,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:37533,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:37531,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:37536,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:37538,1
    - Dst: string_buffer_concat_value
      Src: /src/gpac/src/quickjs/quickjs.c:37550,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:37554,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37560,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37555,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37567,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 5
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37587
      start: 37519
    functionDepth: 0
    functionLinenumber: 37519
    functionLinenumberEnd: 37587
    functionName: js_function_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - string_buffer_free
    - JS_EvalObject
    - JS_IsUndefined
    - JS_GetProperty
    - JS_DupValue
    - JS_SetPrototypeInternal
    - string_buffer_putc8
    - JS_IsObject
    - JS_GetFunctionRealm
    - string_buffer_concat_value
    - string_buffer_init
    - string_buffer_end
    - string_buffer_puts8
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - ptr
    argTypes:
    - JSRuntime*
    - void*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: js_free_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void js_free_rt(JSRuntime *rt, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:3502,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3505,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - JSContext*
    - uint16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3507
      start: 3499
    functionDepth: 0
    functionLinenumber: 3499
    functionLinenumberEnd: 3507
    functionName: js_new_string16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - js_alloc_string
    - JS_MKPTR
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_new_string16(JSContext *ctx, const uint16_t *buf,
      int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9819,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9823
      start: 9816
    functionDepth: 0
    functionLinenumber: 9816
    functionLinenumberEnd: 9823
    functionName: JS_IsConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsConstructor(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12108,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:12110,1
    - Dst: JS_NewBigInt64_1
      Src: /src/gpac/src/quickjs/quickjs.c:12112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 12114
      start: 12106
    functionDepth: 0
    functionLinenumber: 12106
    functionLinenumberEnd: 12114
    functionName: JS_NewBigInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewBigInt64_1
    - JS_NewInt64
    - is_math_mode
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewBigInt64(JSContext *ctx, int64_t v) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:35060,1
    - Dst: bc_get_buf
      Src: /src/gpac/src/quickjs/quickjs.c:35066,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:35074,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:35075,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:35061,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:35081,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:35084,1
    - Dst: bc_idx_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35086,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:35091,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35093,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35093,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35093,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - s
    - b
    - byte_code_offset
    - bc_len
    argTypes:
    - BCReaderState*
    - JSFunctionBytecode*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35103
      start: 35050
    functionDepth: 0
    functionLinenumber: 35050
    functionLinenumberEnd: 35103
    functionName: JS_ReadFunctionBytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_read_error_end
    - print_atom
    - bc_get_buf
    - bc_read_trace
    - JS_DupAtom
    - put_u32
    - short_opcode_info
    - get_u32
    - unlikely
    - bc_idx_to_atom
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int JS_ReadFunctionBytecode(BCReaderState *s, JSFunctionBytecode
      *b, int byte_code_offset, uint32_t bc_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16650
      start: 16644
    functionDepth: 0
    functionLinenumber: 16644
    functionLinenumberEnd: 16650
    functionName: (OP_rot3l)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_rot3l) : /* x a b -> a b x (231) */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37593,1
    - Dst: JS_ToUint32Free
      Src: /src/gpac/src/quickjs/quickjs.c:37598,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - pres
    - obj
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37599
      start: 37589
    functionDepth: 0
    functionLinenumber: 37589
    functionLinenumberEnd: 37599
    functionName: js_get_length32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_GetProperty
    - JS_ToUint32Free
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_get_length32(JSContext *ctx, uint32_t *pres,
      JSValueConst obj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:46785,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:46786,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46791,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46787,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:46790,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:46793,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46794,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46796,1
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:46798,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46799,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46802,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46808,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46801,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46804,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46803,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 46810
      start: 46779
    functionDepth: 0
    functionLinenumber: 46779
    functionLinenumberEnd: 46810
    functionName: js_promise_resolve
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    - JS_FreeValue
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetProperty
    - JS_GetOpaque
    - JS_DupValue
    - js_same_value
    - JS_Call
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_resolve(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigIntValue
      Src: /src/gpac/src/quickjs/quickjs.c:49308,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49311,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49309,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:49314,1
    - Dst: js_bigint_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:49318,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49319,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49324
      start: 49301
    functionDepth: 0
    functionLinenumber: 49301
    functionLinenumberEnd: 49324
    functionName: js_bigint_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_bigint_to_string1
    - js_thisBigIntValue
    - JS_IsException
    - js_get_radix
    - JS_IsUndefined
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:12346,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12350,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - a
    - buf
    argTypes:
    - JSContext*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 12352
      start: 12343
    functionDepth: 0
    functionLinenumber: 12343
    functionLinenumberEnd: 12352
    functionName: JS_FreeBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_delete
    - JS_FreeValue
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void JS_FreeBigInt(JSContext *ctx, bf_t *a, bf_t *buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19718,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19723,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:19727,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:19728,1
    - Dst: JS_NewPromiseCapability
      Src: /src/gpac/src/quickjs/quickjs.c:19722,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:19729,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19731,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19732,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19733,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19734,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:19737,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:19745,1
    - Dst: js_async_generator_resume_next
      Src: /src/gpac/src/quickjs/quickjs.c:19747,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19752,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19753,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19741,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19751,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 19755
      start: 19714
    functionDepth: 0
    functionLinenumber: 19714
    functionLinenumberEnd: 19755
    functionName: js_async_generator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetException
    - JS_NewPromiseCapability
    - JS_GetOpaque
    - JS_DupValue
    - js_mallocz
    - JS_Call
    - list_add_tail
    - js_async_generator_resume_next
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_generator_next(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12316,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12323,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12328,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12324,1
    - Dst: JS_ToBigIntFree
      Src: /src/gpac/src/quickjs/quickjs.c:12326,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12331,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12332,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12333,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12335,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:12336,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12340
      start: 12314
    functionDepth: 0
    functionLinenumber: 12314
    functionLinenumberEnd: 12340
    functionName: JS_ToBigIntValueFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeBigInt
    - JS_IsException
    - JS_CompactBigInt
    - JS_VALUE_GET_TAG
    - JS_NewBigInt
    - JS_ToBigIntFree
    - bf_set
    - JS_ThrowOutOfMemory
    - JS_GetBigInt
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused JSValue JS_ToBigIntValueFree(JSContext *ctx,
      JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19683,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:19700,1
    - Dst: js_async_generator_reject
      Src: /src/gpac/src/quickjs/quickjs.c:19694,1
    - Dst: js_async_generator_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19696,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:19690,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:19703,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19703,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19706,1
    - Dst: js_async_generator_resume_next
      Src: /src/gpac/src/quickjs/quickjs.c:19708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 19711
      start: 19677
    functionDepth: 0
    functionLinenumber: 19677
    functionLinenumberEnd: 19711
    functionName: js_async_generator_resolve_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - JS_Throw
    - JS_GetOpaque
    - JS_DupValue
    - js_async_generator_resume_next
    - js_async_generator_reject
    - js_async_generator_resolve
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_generator_resolve_function(JSContext *ctx,
      JSValueConst this_obj, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gpac/src/quickjs/quickjs.c:42050,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:42052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42053
      start: 42045
    functionDepth: 0
    functionLinenumber: 42045
    functionLinenumberEnd: 42053
    functionName: js___date_now
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt64
    - gettimeofday
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js___date_now(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToIntegerFree
      Src: /src/gpac/src/quickjs/quickjs.c:39789,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39790
      start: 39786
    functionDepth: 0
    functionLinenumber: 39786
    functionLinenumberEnd: 39790
    functionName: js_number___toInteger
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToIntegerFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number___toInteger(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:20172,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:20177,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:20181,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:20180,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:20185,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:20190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - s
    - token
    argTypes:
    - JSParseState*
    - JSToken*
    constantsTouched: []
    func_position:
      end: 20194
      start: 20167
    functionDepth: 0
    functionLinenumber: 20167
    functionLinenumberEnd: 20194
    functionName: free_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void free_token(JSParseState *s, JSToken *token) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:39796,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39798,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39799
      start: 39792
    functionDepth: 0
    functionLinenumber: 39792
    functionLinenumberEnd: 39799
    functionName: js_number___toLength
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_NewInt64
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number___toLength(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:39862,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:39866,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39863,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:39868,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:39865,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39869,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:39872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 39873
      start: 39860
    functionDepth: 0
    functionLinenumber: 39860
    functionLinenumberEnd: 39873
    functionName: js_thisNumberValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_IsNumber
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisNumberValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18759,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:18761,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:18792,1
    - Dst: JS_ThrowTypeErrorRevokedProxy
      Src: /src/gpac/src/quickjs/quickjs.c:18782,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:18785,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - func_obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 18800
      start: 18754
    functionDepth: 0
    functionLinenumber: 18754
    functionLinenumberEnd: 18800
    functionName: JS_GetFunctionRealm
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_GetFunctionRealm
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeErrorRevokedProxy
    linkageType: ''
    returnType: JSContext*
    signature: 'static JSContext *JS_GetFunctionRealm(JSContext *ctx, JSValueConst
      func_obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:21912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - fd
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21919
      start: 21909
    functionDepth: 0
    functionLinenumber: 21909
    functionLinenumberEnd: 21919
    functionName: add_func_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_var
    linkageType: ''
    returnType: int
    signature: 'static int add_func_var(JSContext *ctx, JSFunctionDef *fd, JSAtom
      name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:30404,1
    - Dst: set_closure_from_var
      Src: /src/gpac/src/quickjs/quickjs.c:30412,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30428,1
    - Dst: is_var_in_arg_scope
      Src: /src/gpac/src/quickjs/quickjs.c:30442,1
    - Dst: set_closure_from_var
      Src: /src/gpac/src/quickjs/quickjs.c:30435,1
    - Dst: set_closure_from_var
      Src: /src/gpac/src/quickjs/quickjs.c:30444,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30457,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - ctx
    - s
    - b
    - scope_idx
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSFunctionBytecode*
    - int
    constantsTouched: []
    func_position:
      end: 30460
      start: 30391
    functionDepth: 0
    functionLinenumber: 30391
    functionLinenumberEnd: 30460
    functionName: add_closure_variables
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_closure_from_var
    - JS_DupAtom
    - is_var_in_arg_scope
    - js_malloc
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int add_closure_variables(JSContext *ctx, JSFunctionDef
      *s, JSFunctionBytecode *b, int scope_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34998,1
    - Dst: bc_idx_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35004,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:35001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - patom
    argTypes:
    - BCReaderState*
    - JSAtom*
    constantsTouched: []
    func_position:
      end: 35006
      start: 34995
    functionDepth: 0
    functionLinenumber: 34995
    functionLinenumberEnd: 35006
    functionName: bc_get_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_leb128
    - bc_idx_to_atom
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_atom(BCReaderState *s, JSAtom *patom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NumberIsInteger
      Src: /src/gpac/src/quickjs/quickjs.c:39822,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:39826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39827
      start: 39818
    functionDepth: 0
    functionLinenumber: 39818
    functionLinenumberEnd: 39827
    functionName: js_number_isInteger
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NumberIsInteger
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_isInteger(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50276,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50282,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50283,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50279,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50286,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:50289,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:50297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50302
      start: 50265
    functionDepth: 0
    functionLinenumber: 50265
    functionLinenumberEnd: 50302
    functionName: js_float_env_setPrec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - JS_IsUndefined
    - bf_set_exp_bits
    - JS_ToInt32Sat
    - JS_Call
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_setPrec(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:18808,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:18814,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18811,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18809,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18812,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18815,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:18816,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18819,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:18822,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - ctor
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 18825
      start: 18802
    functionDepth: 0
    functionLinenumber: 18802
    functionLinenumberEnd: 18825
    functionName: js_create_from_ctor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_NewObjectProtoClass
    - JS_DupValue
    - JS_IsObject
    - JS_GetFunctionRealm
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_from_ctor(JSContext *ctx, JSValueConst ctor,
      int class_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:21924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 21928
      start: 21921
    functionDepth: 0
    functionLinenumber: 21921
    functionLinenumberEnd: 21928
    functionName: add_arguments_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_var
    linkageType: ''
    returnType: int
    signature: 'static int add_arguments_var(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35015,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:35030,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:35019,1
    - Dst: js_free_string
      Src: /src/gpac/src/quickjs/quickjs.c:35027,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:35026,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:35036,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35036,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35039
      start: 35008
    functionDepth: 0
    functionLinenumber: 35008
    functionLinenumberEnd: 35039
    functionName: JS_ReadString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_read_error_end
    - js_alloc_string
    - JS_DumpString
    - js_free_string
    - memcpy
    - bc_get_leb128
    - printf
    linkageType: ''
    returnType: JSString*
    signature: 'static JSString *JS_ReadString(BCReaderState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:39833,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:39837,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:39835,1
    - Dst: is_safe_integer
      Src: /src/gpac/src/quickjs/quickjs.c:39837,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:39835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39838
      start: 39829
    functionDepth: 0
    functionLinenumber: 39829
    functionLinenumberEnd: 39838
    functionName: js_number_isSafeInteger
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNumber
    - unlikely
    - JS_ToFloat64
    - is_safe_integer
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_isSafeInteger(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19059,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19080,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:19083,1
    - Dst: free_generator_stack
      Src: /src/gpac/src/quickjs/quickjs.c:19073,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:19065,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:19087,1
    - Dst: async_func_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19093,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19095,1
    - Dst: free_generator_stack
      Src: /src/gpac/src/quickjs/quickjs.c:19097,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:19100,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:19131,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19131,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:19136,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19115,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19128,1
    - Dst: free_generator_stack
      Src: /src/gpac/src/quickjs/quickjs.c:19116,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:19104,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - pdone
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    - int
    constantsTouched: []
    func_position:
      end: 19140
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19140
    functionName: js_generator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_Throw
    - JS_GetOpaque
    - JS_DupValue
    - free_generator_stack
    - JS_VALUE_GET_INT
    - async_func_resume
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_generator_next(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, BOOL *pdone, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_JSONStringify
      Src: /src/gpac/src/quickjs/quickjs.c:44287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44288
      start: 44283
    functionDepth: 0
    functionLinenumber: 44283
    functionLinenumberEnd: 44288
    functionName: js_json_stringify
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_JSONStringify
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_json_stringify(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17188,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17192
      start: 17185
    functionDepth: 0
    functionLinenumber: 17185
    functionLinenumberEnd: 17192
    functionName: (OP_put_var_ref)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_var_ref) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:19150,1
    - Dst: async_func_init
      Src: /src/gpac/src/quickjs/quickjs.c:19154,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19161,1
    - Dst: async_func_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19160,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19163,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:19165,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19166,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19168,1
    - Dst: free_generator_stack_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19171,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:19172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 19174
      start: 19142
    functionDepth: 0
    functionLinenumber: 19142
    functionLinenumberEnd: 19174
    functionName: js_generator_function_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - async_func_init
    - free_generator_stack_rt
    - JS_IsException
    - JS_SetOpaque
    - js_free
    - js_mallocz
    - js_create_from_ctor
    - async_func_resume
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_generator_function_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:4186,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4192,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4193,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:4188,1
    - Dst: copy_str16
      Src: /src/gpac/src/quickjs/quickjs.c:4196,1
    - Dst: copy_str16
      Src: /src/gpac/src/quickjs/quickjs.c:4197,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - p1
    - p2
    argTypes:
    - JSContext*
    - JSString*
    - JSString*
    constantsTouched: []
    func_position:
      end: 4200
      start: 4177
    functionDepth: 0
    functionLinenumber: 4177
    functionLinenumberEnd: 4200
    functionName: JS_ConcatString1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowInternalError
    - js_alloc_string
    - JS_MKPTR
    - memcpy
    - copy_str16
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ConcatString1(JSContext *ctx, const JSString *p1,
      const JSString *p2) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:10691,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10690,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10715,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10712,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10729,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10686,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:10706,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:10707,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:10710,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10680,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:10686,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:10692,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:10695,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10716,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:10718,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10730,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:10696,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/quickjs.c:10708,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:10717,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10719,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:10714,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:10723,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10735
      start: 10674
    functionDepth: 0
    functionLinenumber: 10674
    functionLinenumberEnd: 10735
    functionName: JS_ToIntegerFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewBigInt
    - bf_rint
    - JS_CompactBigInt
    - JS_NewInt32
    - JS_VALUE_GET_FLOAT64
    - JS_DupValue
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    - JS_VALUE_GET_NORM_TAG
    - trunc
    - bf_delete
    - JS_NewFloat64
    - bf_is_nan
    - bf_set
    - JS_FreeValue
    - isnan
    - bf_is_finite
    - JS_ToBigFloat
    - JS_GetBigInt
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused JSValue JS_ToIntegerFree(JSContext *ctx, JSValue
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12185,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12192,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12197
      start: 12179
    functionDepth: 0
    functionLinenumber: 12179
    functionLinenumberEnd: 12197
    functionName: JS_ToBigDecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_ThrowTypeError
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: bfdec_t*
    signature: 'static bfdec_t *JS_ToBigDecimal(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17609,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:17612,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17613,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17615,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17617
      start: 17607
    functionDepth: 0
    functionLinenumber: 17607
    functionLinenumberEnd: 17617
    functionName: (OP_get_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - get_u32
    - unlikely
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_field) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17711,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17715,1
    - Dst: JS_DefineObjectName
      Src: /src/gpac/src/quickjs/quickjs.c:17714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17717
      start: 17708
    functionDepth: 0
    functionLinenumber: 17708
    functionLinenumberEnd: 17717
    functionName: (OP_set_name)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_DefineObjectName
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_name) : '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27646,1
    - Dst: find_exported_name
      Src: /src/gpac/src/quickjs/quickjs.c:27655,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27657,1
    - Dst: get_exported_names
      Src: /src/gpac/src/quickjs/quickjs.c:27677,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - s
    - m
    - from_star
    argTypes:
    - JSContext*
    - GetExportNamesState*
    - JSModuleDef*
    - BOOL
    constantsTouched: []
    func_position:
      end: 27681
      start: 27634
    functionDepth: 0
    functionLinenumber: 27634
    functionLinenumberEnd: 27681
    functionName: get_exported_names
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_exported_names
    - js_resize_array
    - find_exported_name
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int get_exported_names(JSContext *ctx, GetExportNamesState
      *s, JSModuleDef *m, BOOL from_star) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:43850,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43855,1
    - Dst: JS_ParseJSON
      Src: /src/gpac/src/quickjs/quickjs.c:43853,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:43854,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:43857,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:43859,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43860,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43861,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:43864,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43866,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43871,1
    - Dst: internalize_json_property
      Src: /src/gpac/src/quickjs/quickjs.c:43869,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 43874
      start: 43842
    functionDepth: 0
    functionLinenumber: 43842
    functionLinenumberEnd: 43874
    functionName: js_json_parse
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeCString
    - JS_NewObject
    - JS_IsFunction
    - JS_ToCStringLen
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_ParseJSON
    - internalize_json_property
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_json_parse(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:45514,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45515,1
    - Dst: JS_NewSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:45517,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:45517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45518
      start: 45509
    functionDepth: 0
    functionLinenumber: 45509
    functionLinenumberEnd: 45518
    functionName: js_symbol_for
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_VALUE_GET_STRING
    - JS_ToString
    - JS_NewSymbol
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_for(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:45525,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45526,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:45530,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:45530,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:45527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45531
      start: 45520
    functionDepth: 0
    functionLinenumber: 45520
    functionLinenumberEnd: 45531
    functionName: js_symbol_keyFor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_VALUE_GET_PTR
    - JS_MKPTR
    - JS_DupValue
    - JS_IsSymbol
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_keyFor(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_array_buffer_constructor3
      Src: /src/gpac/src/quickjs/quickjs.c:51295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - free_func
    - opaque
    - is_shared
    argTypes:
    - JSContext*
    - uint8_t*
    - size_t
    - JSFreeArrayBufferDataFunc*
    - void*
    - BOOL
    constantsTouched: []
    func_position:
      end: 51298
      start: 51291
    functionDepth: 0
    functionLinenumber: 51291
    functionLinenumberEnd: 51298
    functionName: JS_NewArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor3
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewArrayBuffer(JSContext *ctx, uint8_t *buf, size_t len,
      JSFreeArrayBufferDataFunc *free_func, void *opaque, BOOL is_shared) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10670,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10671
      start: 10668
    functionDepth: 0
    functionLinenumber: 10668
    functionLinenumberEnd: 10671
    functionName: JS_ToNumber
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToNumberFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToNumber(JSContext *ctx, JSValueConst val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12144,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12156,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:12151,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12150,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:12151,1
    - Dst: bf_set_float64
      Src: /src/gpac/src/quickjs/quickjs.c:12157,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:12157,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:12159,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12165,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12171,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/quickjs.c:12172,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - buf
    - val
    argTypes:
    - JSContext*
    - bf_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12176
      start: 12138
    functionDepth: 0
    functionLinenumber: 12138
    functionLinenumberEnd: 12176
    functionName: JS_ToBigFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_set_nan
    - bf_delete
    - JS_VALUE_GET_PTR
    - bf_set_float64
    - bf_init
    - JS_VALUE_GET_FLOAT64
    - bf_set_si
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: bf_t*
    signature: 'static bf_t *JS_ToBigFloat(JSContext *ctx, bf_t *buf, JSValueConst
      val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4209,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4246,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4234,1
    - Dst: JS_ConcatString1
      Src: /src/gpac/src/quickjs/quickjs.c:4245,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4209,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4212,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:4211,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:4217,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:4223,1
    - Dst: js_malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:4231,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4242,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:4224,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:4210,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:4218,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4219,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4216,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4216,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4237,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:4247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - op1
    - op2
    argTypes:
    - JSContext*
    - JSValue
    - JSValue
    constantsTouched: []
    func_position:
      end: 4249
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4249
    functionName: JS_ConcatString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - JS_ConcatString1
    - js_malloc_usable_size
    - JS_IsException
    - JS_VALUE_GET_TAG
    - unlikely
    - memcpy
    - JS_ToStringFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ConcatString(JSContext *ctx, JSValue op1, JSValue
      op2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:27686,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:27686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - obj
    - atom
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27687
      start: 27684
    functionDepth: 0
    functionLinenumber: 27684
    functionLinenumberEnd: 27687
    functionName: js_module_ns_has
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - find_own_property1
    linkageType: ''
    returnType: int
    signature: 'static int js_module_ns_has(JSContext *ctx, JSValueConst obj, JSAtom
      atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_array_buffer_constructor3
      Src: /src/gpac/src/quickjs/quickjs.c:51303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - JSContext*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 51308
      start: 51301
    functionDepth: 0
    functionLinenumber: 51301
    functionLinenumberEnd: 51308
    functionName: JS_NewArrayBufferCopy
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_array_buffer_constructor3
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewArrayBufferCopy(JSContext *ctx, const uint8_t *buf,
      size_t len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10891,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10897,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:10908,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10904,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10927,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:10928,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10929,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10934,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10935,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10943
      start: 10885
    functionDepth: 0
    functionLinenumber: 10885
    functionLinenumberEnd: 10943
    functionName: JS_ToInt64Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_PTR
    - likely
    - bf_get_int64
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToInt64Free(JSContext *ctx, int64_t *pres, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPrivateField
      Src: /src/gpac/src/quickjs/quickjs.c:17661,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17663,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17666,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17666,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17668
      start: 17658
    functionDepth: 0
    functionLinenumber: 17658
    functionLinenumberEnd: 17668
    functionName: (OP_get_private_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - unlikely
    - JS_GetPrivateField
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_private_field) : '
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23200,1
    - Dst: find_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23161,1
    - Dst: find_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23266,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23278,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23298,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23340,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23381,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:23386,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23399,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:22982,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23040,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23119,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23207,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23203,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23227,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23247,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23361,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23393,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23196,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23205,1
    - Dst: add_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23104,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23143,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23190,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23280,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23292,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23398,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23353,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:23184,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23025,1
    - Dst: add_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23165,1
    - Dst: set_object_name_computed
      Src: /src/gpac/src/quickjs/quickjs.c:23222,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:23231,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23283,1
    - Dst: emit_class_init_end
      Src: /src/gpac/src/quickjs/quickjs.c:23350,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23372,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23380,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22985,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:23014,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23065,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23084,1
    - Dst: add_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23130,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23188,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23194,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23224,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23228,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23293,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23339,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:23329,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23400,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23374,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23320,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23360,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23156,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23216,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23168,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23285,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23338,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23373,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23220,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23171,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:23000,1
    - Dst: js_parse_left_hand_side_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23006,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:23019,1
    - Dst: get_private_setter_name
      Src: /src/gpac/src/quickjs/quickjs.c:23126,1
    - Dst: add_brand
      Src: /src/gpac/src/quickjs/quickjs.c:23256,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23275,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:23311,1
    - Dst: emit_class_init_end
      Src: /src/gpac/src/quickjs/quickjs.c:23334,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:23366,1
    - Dst: add_brand
      Src: /src/gpac/src/quickjs/quickjs.c:23108,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23172,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23223,1
    - Dst: emit_class_init_start
      Src: /src/gpac/src/quickjs/quickjs.c:23176,1
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:23259,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23344,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23349,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22978,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22997,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23038,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:23023,1
    - Dst: find_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23093,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23121,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23129,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23169,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:23226,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23191,1
    - Dst: set_object_name_computed
      Src: /src/gpac/src/quickjs/quickjs.c:23219,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23004,1
    - Dst: js_parse_property_name
      Src: /src/gpac/src/quickjs/quickjs.c:23073,1
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:23112,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23144,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23146,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23206,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23276,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23288,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23336,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23351,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23070,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23279,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:23370,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22986,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22989,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23132,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23136,1
    - Dst: js_atom_concat_num
      Src: /src/gpac/src/quickjs/quickjs.c:23181,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23170,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23211,1
    - Dst: add_private_class_field
      Src: /src/gpac/src/quickjs/quickjs.c:23272,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23352,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23394,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23363,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:23185,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23269,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23277,1
    - Dst: js_parse_class_default_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:23303,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23307,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:23365,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23199,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23213,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23027,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23039,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23053,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23138,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23286,1
    - Dst: js_strndup
      Src: /src/gpac/src/quickjs/quickjs.c:23313,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23362,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23195,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23201,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23009,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23060,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23141,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23189,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 352
    argCount: 3
    argNames:
    - s
    - is_class_expr
    - export_flag
    argTypes:
    - JSParseState*
    - BOOL
    - JSParseExportEnum
    constantsTouched: []
    func_position:
      end: 23403
      start: 22960
    functionDepth: 0
    functionLinenumber: 22960
    functionLinenumberEnd: 23403
    functionName: js_parse_class
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - js_free
    - js_strndup
    - define_var
    - js_parse_function_decl2
    - emit_op
    - add_private_class_field
    - emit_u8
    - JS_DupAtom
    - js_parse_assign_expr
    - push_scope
    - set_object_name_computed
    - set_object_name
    - emit_class_init_start
    - js_parse_expect_semi
    - js_parse_property_name
    - JS_FreeAtom
    - find_private_class_field
    - js_parse_error
    - next_token
    - js_parse_expect
    - get_private_setter_name
    - js_parse_class_default_ctor
    - emit_class_init_end
    - pop_scope
    - emit_u16
    - js_atom_concat_num
    - emit_u32
    - js_parse_left_hand_side_expr
    - put_u32
    - js_parse_error_reserved_identifier
    - add_export_entry
    - add_brand
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_class(JSParseState *s, BOOL is_class_expr,
      JSParseExportEnum export_flag) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53203,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:53204,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53220,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:53224,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:53238,1
    - Dst: js_typed_array_constructor_ta
      Src: /src/gpac/src/quickjs/quickjs.c:53242,1
    - Dst: js_typed_array_constructor_obj
      Src: /src/gpac/src/quickjs/quickjs.c:53244,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53205,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53223,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53232,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53235,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53217,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53229,1
    - Dst: typed_array_init
      Src: /src/gpac/src/quickjs/quickjs.c:53254,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53255,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53209,1
    - Dst: js_array_buffer_constructor1
      Src: /src/gpac/src/quickjs/quickjs.c:53207,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53213,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53250,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53251,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:53249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 5
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    - classid
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 53259
      start: 53193
    functionDepth: 0
    functionLinenumber: 53193
    functionLinenumberEnd: 53259
    functionName: js_typed_array_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowRangeError
    - js_typed_array_constructor_ta
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_IsUndefined
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_DupValue
    - js_typed_array_constructor_obj
    - js_create_from_ctor
    - typed_array_size_log2
    - js_array_buffer_constructor1
    - typed_array_init
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv, int classid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64Free
      Src: /src/gpac/src/quickjs/quickjs.c:10947,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10948
      start: 10945
    functionDepth: 0
    functionLinenumber: 10945
    functionLinenumberEnd: 10948
    functionName: JS_ToInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToInt64Free
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt64(JSContext *ctx, int64_t *pres, JSValueConst val) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14081,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14114,1
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14120,1
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14122,1
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:14125,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14140,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14141,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14145,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:14101,1
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14027,1
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14027,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14026,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14029,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14029,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14041,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14043,1
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:14062,1
    - Dst: tag_is_number
      Src: /src/gpac/src/quickjs/quickjs.c:14080,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:14084,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14092,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14146,1
    - Dst: JS_IsHTMLDDA
      Src: /src/gpac/src/quickjs/quickjs.c:14152,1
    - Dst: JS_IsHTMLDDA
      Src: /src/gpac/src/quickjs/quickjs.c:14154,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14025,1
    - Dst: JS_StringToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:14086,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14087,1
    - Dst: JS_StringToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:14091,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14095,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14102,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14103,1
    - Dst: js_strict_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14112,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14117,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14129,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14108,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14130,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:14036,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:14038,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14066,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14067,1
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:14076,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14094,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:14106,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14107,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14139,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14144,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14161,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14164,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14117,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14114,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14160,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 203
    argCount: 3
    argNames:
    - ctx
    - sp
    - is_neq
    argTypes:
    - JSContext*
    - JSValue*
    - BOOL
    constantsTouched: []
    func_position:
      end: 14170
      start: 14015
    functionDepth: 0
    functionLinenumber: 14015
    functionLinenumberEnd: 14170
    functionName: js_eq_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_StringToBigInt
    - JS_ToNumericFree
    - JS_IsHTMLDDA
    - tag_is_number
    - js_strict_eq
    - JS_IsException
    - js_call_binary_op_fallback
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - js_strict_eq2
    - JS_VALUE_GET_FLOAT64
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - JS_NewBool
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'int js_eq_slow(JSContext *ctx, JSValue *sp, BOOL is_neq) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:23441,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23465,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23466,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23459,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23487,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23488,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23505,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23508,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23523,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23410,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23440,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23447,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23458,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23471,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23479,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23485,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23494,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23497,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23498,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23499,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23500,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23429,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23417,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23438,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23457,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23473,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23476,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23484,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23489,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23495,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23515,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:23528,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23521,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23428,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:23422,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23441,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23456,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23455,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23480,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23482,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23483,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23492,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23493,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23525,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23522,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23511,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 23529
      start: 23405
    functionDepth: 0
    functionLinenumber: 23405
    functionLinenumberEnd: 23529
    functionName: js_parse_array_literal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - emit_op
    - emit_goto
    - emit_u16
    - emit_u8
    - next_token
    - emit_u32
    - new_label
    - emit_label
    - js_parse_assign_expr
    - __JS_AtomFromUInt32
    - js_parse_expect
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_array_literal(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53263,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:53269,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:53271,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:53268,1
    - Dst: JS_IsLiveObject
      Src: /src/gpac/src/quickjs/quickjs.c:53268,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:53271,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:53272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 53274
      start: 53261
    functionDepth: 0
    functionLinenumber: 53261
    functionLinenumberEnd: 53274
    functionName: js_typed_array_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - list_del
    - js_free_rt
    - JS_MKPTR
    - JS_FreeValueRT
    - JS_IsLiveObject
    linkageType: ''
    returnType: void
    signature: 'static void js_typed_array_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_export_entry2
      Src: /src/gpac/src/quickjs/quickjs.c:27204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - s
    - m
    - local_name
    - export_name
    - export_type
    argTypes:
    - JSParseState*
    - JSModuleDef*
    - JSAtom
    - JSAtom
    - JSExportTypeEnum
    constantsTouched: []
    func_position:
      end: 27206
      start: 27200
    functionDepth: 0
    functionLinenumber: 27200
    functionLinenumberEnd: 27206
    functionName: add_export_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_export_entry2
    linkageType: ''
    returnType: JSExportEntry*
    signature: 'static JSExportEntry *add_export_entry(JSParseState *s, JSModuleDef
      *m, JSAtom local_name, JSAtom export_name, JSExportTypeEnum export_type) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:12568,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12569,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12577,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12578,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:12601,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12606,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:12626,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:12634,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12635,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:12648,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:12572,1
    - Dst: get_ovop_from_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:12582,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12592,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:12599,1
    - Dst: find_binary_op
      Src: /src/gpac/src/quickjs/quickjs.c:12589,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:12613,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12626,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:12651,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12654,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12659,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:12556,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:12561,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12557,1
    - Dst: find_binary_op
      Src: /src/gpac/src/quickjs/quickjs.c:12587,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12603,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:12611,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12637,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:12643,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:12645,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:12559,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:12565,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12566,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12615,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12616,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12620,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12636,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:12640,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12660,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12655,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 7
    argNames:
    - ctx
    - pret
    - op1
    - op2
    - op
    - is_numeric
    - hint
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    - JSValueConst
    - OPCodeEnum
    - BOOL
    - int
    constantsTouched: []
    func_position:
      end: 12663
      start: 12538
    functionDepth: 0
    functionLinenumber: 12538
    functionLinenumberEnd: 12663
    functionName: js_call_binary_op_fallback
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - find_binary_op
    - get_ovop_from_opcode
    - JS_IsException
    - JS_GetOpaque2
    - JS_ThrowTypeError
    - JS_ToPrimitive
    - JS_GetProperty
    - JS_IsUndefined
    - JS_MKPTR
    - JS_DupValue
    - JS_ToNumeric
    - JS_CallFree
    - JS_ToBoolFree
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_call_binary_op_fallback(JSContext *ctx,
      JSValue *pret, JSValueConst op1, JSValueConst op2, OPCodeEnum op, BOOL is_numeric,
      int hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - JSParseState*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 21576
      start: 21573
    functionDepth: 0
    functionLinenumber: 21573
    functionLinenumberEnd: 21576
    functionName: emit_u32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_u32
    linkageType: ''
    returnType: void
    signature: 'static void emit_u32(JSParseState *s, uint32_t val) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25463,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25473,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25520,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25537,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25580,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:25661,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25669,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25504,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25507,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25571,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25608,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25653,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25562,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25498,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25517,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25522,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25525,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25528,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25554,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25559,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:25575,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25655,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25650,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25579,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25583,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25566,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25588,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25539,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25546,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25461,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:25489,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25532,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:25534,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25505,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25573,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:25618,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25500,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:25526,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:25555,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25560,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25577,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25543,1
    - Dst: emit_return
      Src: /src/gpac/src/quickjs/quickjs.c:25591,1
    - Dst: js_parse_cond_expr
      Src: /src/gpac/src/quickjs/quickjs.c:25600,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25680,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:25567,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25512,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25540,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25547,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25672,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25682,1
    - Dst: emit_return
      Src: /src/gpac/src/quickjs/quickjs.c:25550,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25479,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25495,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25535,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25636,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:25675,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25521,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25527,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25533,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25568,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25541,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25538,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25561,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25578,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25544,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25558,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25503,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25508,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25513,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25548,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25570,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25638,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25642,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25648,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25651,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25553,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25491,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:25612,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25688,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25692,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25592,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25565,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25589,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:25488,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25582,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25644,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25476,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25514,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25549,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25464,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25501,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25590,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25611,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25511,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25519,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25563,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25684,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25574,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25496,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25506,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25524,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25556,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25606,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:25656,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25666,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 189
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 25695
      start: 25451
    functionDepth: 0
    functionLinenumber: 25451
    functionLinenumberEnd: 25695
    functionName: js_parse_assign_expr2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - js_parse_error
    - emit_op
    - emit_goto
    - emit_u8
    - next_token
    - new_label
    - emit_label
    - emit_u32
    - emit_return
    - set_object_name
    - put_lvalue
    - js_parse_assign_expr2
    - abort
    - js_parse_cond_expr
    - JS_FreeAtom
    - get_lvalue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_assign_expr2(JSParseState *s, int
      parse_flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:37863,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37866,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37867,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37864,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:37869,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37870,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:37873,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37874,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:37878,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37883,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37889,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:37887,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37884,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - items
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 37892
      start: 37856
    functionDepth: 0
    functionLinenumber: 37856
    functionLinenumberEnd: 37892
    functionName: iterator_to_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetIterator
    - JS_FreeValue
    - JS_NewArray
    - JS_DefinePropertyValueInt64
    - JS_IteratorClose
    - JS_IsException
    - JS_GetProperty
    - JS_IteratorNext
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue iterator_to_array(JSContext *ctx, JSValueConst items) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:40518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p
    - index
    - unicode
    argTypes:
    - JSString*
    - int64_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 40522
      start: 40512
    functionDepth: 0
    functionLinenumber: 40512
    functionLinenumberEnd: 40522
    functionName: string_advance_index
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_getc
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t string_advance_index(JSString *p, int64_t index, BOOL
      unicode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:21586,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:21587,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21588,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:21592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - JSParseState*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 21593
      start: 21578
    functionDepth: 0
    functionLinenumber: 21578
    functionLinenumberEnd: 21593
    functionName: emit_op
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - dbuf_putc
    - dbuf_put_u32
    linkageType: ''
    returnType: void
    signature: 'static void emit_op(JSParseState *s, uint8_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - m
    - req_module_idx
    argTypes:
    - JSContext*
    - JSModuleDef*
    - int
    constantsTouched: []
    func_position:
      end: 27221
      start: 27208
    functionDepth: 0
    functionLinenumber: 27208
    functionLinenumberEnd: 27221
    functionName: add_star_export_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int add_star_export_entry(JSContext *ctx, JSModuleDef *m, int
      req_module_idx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40532,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40535,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40536,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40533,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40538,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40539,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:40546,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:40548,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:40561,1
    - Dst: string_cmp
      Src: /src/gpac/src/quickjs/quickjs.c:40571,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40579,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40580,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40581,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40585,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40584,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - lastIndexOf
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 40587
      start: 40524
    functionDepth: 0
    functionLinenumber: 40524
    functionLinenumberEnd: 40587
    functionName: js_string_indexOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_cmp
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_ToString
    - isnan
    - JS_ToInt32Clamp
    - JS_ToStringCheckObject
    - JS_ToFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_indexOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int lastIndexOf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_atof2
      Src: /src/gpac/src/quickjs/quickjs.c:10496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - str
    - pp
    - radix
    - flags
    argTypes:
    - JSContext*
    - char*
    - char**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 10497
      start: 10493
    functionDepth: 0
    functionLinenumber: 10493
    functionLinenumberEnd: 10497
    functionName: js_atof
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_atof2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atof(JSContext *ctx, const char *str, const char
      **pp, int radix, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - def
    - operator_index
    - op
    argTypes:
    - JSBinaryOperatorDef*
    - uint32_t
    - JSOverloadableOperatorEnum
    constantsTouched: []
    func_position:
      end: 12534
      start: 12522
    functionDepth: 0
    functionLinenumber: 12522
    functionLinenumberEnd: 12534
    functionName: find_binary_op
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSObject*
    signature: 'static JSObject *find_binary_op(JSBinaryOperatorDef *def, uint32_t
      operator_index, JSOverloadableOperatorEnum op) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: lre_js_is_ident_first
      Src: /src/gpac/src/quickjs/quickjs.c:21476,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:21492,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:21483,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:21478,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:21487,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:21497,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 91
    argCount: 2
    argNames:
    - pp
    - no_line_terminator
    argTypes:
    - uint8_t**
    - BOOL
    constantsTouched: []
    func_position:
      end: 21506
      start: 21432
    functionDepth: 0
    functionLinenumber: 21432
    functionLinenumberEnd: 21506
    functionName: simple_next_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - lre_js_is_ident_next
    - lre_js_is_ident_first
    linkageType: ''
    returnType: int
    signature: 'static int simple_next_token(const uint8_t **pp, BOOL no_line_terminator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16904,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:16909,1
    - Dst: JS_EvalObject
      Src: /src/gpac/src/quickjs/quickjs.c:16914,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16905,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:16917,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16920,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16920,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16926
      start: 16900
    functionDepth: 0
    functionLinenumber: 16900
    functionLinenumberEnd: 16926
    functionName: (OP_eval)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_u16
    - JS_IsException
    - JS_EvalObject
    - unlikely
    - js_same_value
    - JS_CallInternal
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_eval) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18363,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18364,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18363,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18366,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18365,1
    - Dst: js_binary_logic_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18373
      start: 18359
    functionDepth: 0
    functionLinenumber: 18359
    functionLinenumberEnd: 18373
    functionName: (OP_and)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_binary_logic_slow
    - JS_NewInt32
    - likely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_and) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:37698,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:37700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37702
      start: 37694
    functionDepth: 0
    functionLinenumber: 37694
    functionLinenumberEnd: 37702
    functionName: js_function_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_Call
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_call(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37719,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:37715,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37717,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37729,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:37738,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37741,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:37750,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:37745,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37785,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:37720,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:37721,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:37722,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37726,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37743,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:37756,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37764,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37775,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:37778,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37779,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:37712,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37725,1
    - Dst: JS_GetOwnProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37734,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:37752,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:37753,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:37762,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:37768,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37771,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37772,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:37751,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37740,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:37765,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:37774,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:37776,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:37781,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37787
      start: 37704
    functionDepth: 0
    functionLinenumber: 37704
    functionLinenumberEnd: 37787
    functionName: js_function_bind
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_DefinePropertyValue
    - check_function
    - JS_IsConstructor
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_AtomToString
    - JS_DupValue
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_NORM_TAG
    - trunc
    - js_malloc
    - max_int
    - JS_IsString
    - JS_NewFloat64
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ConcatString3
    - JS_GetProperty
    - isnan
    - JS_NewObjectProtoClass
    - JS_GetOwnProperty
    - JS_VALUE_GET_FLOAT64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_bind(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_new_string8
      Src: /src/gpac/src/quickjs/quickjs.c:3513,1
    - Dst: js_new_string16
      Src: /src/gpac/src/quickjs/quickjs.c:3516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - JSContext*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 3518
      start: 3509
    functionDepth: 0
    functionLinenumber: 3509
    functionLinenumberEnd: 3518
    functionName: js_new_string_char
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_string16
    - js_new_string8
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_new_string_char(JSContext *ctx, uint16_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9902,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9906
      start: 9899
    functionDepth: 0
    functionLinenumber: 9899
    functionLinenumberEnd: 9906
    functionName: JS_GetOpaque_Nocheck
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void*
    signature: 'void *JS_GetOpaque_Nocheck(JSValueConst obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18333,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18335,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18338,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18333,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18337,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18346,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18347,1
    - Dst: js_binary_logic_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18357
      start: 18329
    functionDepth: 0
    functionLinenumber: 18329
    functionLinenumberEnd: 18357
    functionName: (OP_sar)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_binary_logic_slow
    - JS_NewInt32
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_sar) : '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23815,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23823,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23819,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:23841,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23839,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 3
    argNames:
    - s
    - name
    - tok
    argTypes:
    - JSParseState*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 23844
      start: 23809
    functionDepth: 0
    functionLinenumber: 23809
    functionLinenumberEnd: 23844
    functionName: js_define_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - abort
    - js_parse_error
    - define_var
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_define_var(JSParseState *s, JSAtom name,
      int tok) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25068,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25078,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25075,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25081,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25084,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25104,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:25119,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25105,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25136,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25140,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25066,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25085,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:25088,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25114,1
    - Dst: js_parse_postfix_expr
      Src: /src/gpac/src/quickjs/quickjs.c:25144,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25154,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25176,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25178,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25193,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25195,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25102,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25122,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25112,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25135,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:25188,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25157,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:25170,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25072,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25098,1
    - Dst: js_parse_delete
      Src: /src/gpac/src/quickjs/quickjs.c:25127,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25100,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25133,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25138,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25152,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25155,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25174,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25191,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 84
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 25200
      start: 25055
    functionDepth: 0
    functionLinenumber: 25055
    functionLinenumberEnd: 25200
    functionName: js_parse_unary
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_delete
    - JS_ThrowSyntaxError
    - get_prev_opcode
    - emit_op
    - js_parse_error
    - next_token
    - abort
    - js_parse_unary
    - put_lvalue
    - js_parse_postfix_expr
    - get_lvalue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_unary(JSParseState *s, int parse_flags) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25209,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25340,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:25338,1
    - Dst: js_parse_expr_binary
      Src: /src/gpac/src/quickjs/quickjs.c:25212,1
    - Dst: js_parse_expr_binary
      Src: /src/gpac/src/quickjs/quickjs.c:25342,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25344,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 52
    argCount: 3
    argNames:
    - s
    - level
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 25347
      start: 25203
    functionDepth: 0
    functionLinenumber: 25203
    functionLinenumberEnd: 25347
    functionName: js_parse_expr_binary
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - next_token
    - abort
    - js_parse_unary
    - js_parse_expr_binary
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_expr_binary(JSParseState *s, int level,
      int parse_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:31218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - ls
    - addr
    - size
    argTypes:
    - JSContext*
    - LabelSlot*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 31226
      start: 31215
    functionDepth: 0
    functionLinenumber: 31215
    functionLinenumberEnd: 31226
    functionName: add_reloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_malloc
    linkageType: ''
    returnType: RelocEntry*
    signature: 'static RelocEntry *add_reloc(JSContext *ctx, LabelSlot *ls, uint32_t
      addr, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27229,1
    - Dst: js_new_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:27232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - name_str
    - func
    argTypes:
    - JSContext*
    - char*
    - JSModuleInitFunc*
    constantsTouched: []
    func_position:
      end: 27235
      start: 27224
    functionDepth: 0
    functionLinenumber: 27224
    functionLinenumberEnd: 27235
    functionName: JS_NewCModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - js_new_module_def
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *JS_NewCModule(JSContext *ctx, const char *name_str, JSModuleInitFunc
      *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewRuntime2
      Src: /src/gpac/src/quickjs/quickjs.c:1790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: JS_NewRuntime
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewRuntime2
    linkageType: ''
    returnType: JSRuntime*
    signature: 'JSRuntime *JS_NewRuntime(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:3524,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3524,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3543,1
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:3536,1
    - Dst: js_new_string16
      Src: /src/gpac/src/quickjs/quickjs.c:3534,1
    - Dst: js_new_string8
      Src: /src/gpac/src/quickjs/quickjs.c:3545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - p
    - start
    - end
    argTypes:
    - JSContext*
    - JSString*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3547
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3547
    functionName: js_sub_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_string16
    - js_new_string8
    - js_alloc_string
    - JS_MKPTR
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_sub_string(JSContext *ctx, JSString *p, int start,
      int end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23854,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23857,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23858,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23855,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23856,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23858,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23859,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:23860,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23861,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23863,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23868,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:23866,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23864,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:23865,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - s
    - depth
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 23870
      start: 23846
    functionDepth: 0
    functionLinenumber: 23846
    functionLinenumberEnd: 23870
    functionName: js_emit_spread_code
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_goto
    - emit_u16
    - emit_u8
    - new_label
    - emit_u32
    - emit_label
    linkageType: ''
    returnType: void
    signature: 'static void js_emit_spread_code(JSParseState *s, int depth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27241,1
    - Dst: add_export_entry2
      Src: /src/gpac/src/quickjs/quickjs.c:27244,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - m
    - export_name
    argTypes:
    - JSContext*
    - JSModuleDef*
    - char*
    constantsTouched: []
    func_position:
      end: 27251
      start: 27237
    functionDepth: 0
    functionLinenumber: 27237
    functionLinenumberEnd: 27251
    functionName: JS_AddModuleExport
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_export_entry2
    - JS_NewAtom
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'int JS_AddModuleExport(JSContext *ctx, JSModuleDef *m, const char
      *export_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31237,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - s
    - pos
    - label
    argTypes:
    - CodeContext*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31251
      start: 31228
    functionDepth: 0
    functionLinenumber: 31228
    functionLinenumberEnd: 31251
    functionName: code_has_label
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL code_has_label(CodeContext *s, int pos, int label) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:35594,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35601,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35602,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35598,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35595,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:35608,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35614,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35615,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:35617,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:35618,1
    - Dst: JS_PreventExtensions
      Src: /src/gpac/src/quickjs/quickjs.c:35622,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35626,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - s
    - tag
    argTypes:
    - BCReaderState*
    - int
    constantsTouched: []
    func_position:
      end: 35628
      start: 35585
    functionDepth: 0
    functionLinenumber: 35585
    functionLinenumberEnd: 35628
    functionName: JS_ReadArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewArray
    - JS_IsException
    - JS_PreventExtensions
    - JS_ReadObjectRec
    - JS_IsUndefined
    - JS_DefinePropertyValueUint32
    - JS_DefinePropertyValue
    - BC_add_object_ref
    - bc_get_leb128
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadArray(BCReaderState *s, int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:47362,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:47364,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - done
    argTypes:
    - JSContext*
    - BOOL
    constantsTouched: []
    func_position:
      end: 47368
      start: 47356
    functionDepth: 0
    functionLinenumber: 47356
    functionLinenumberEnd: 47368
    functionName: js_async_from_sync_iterator_unwrap_func_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunctionData
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_from_sync_iterator_unwrap_func_create(JSContext
      *ctx, BOOL done) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25000,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:25010,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:25004,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:25013,1
    - Dst: js_parse_unary
      Src: /src/gpac/src/quickjs/quickjs.c:25002,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:25014,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:25015,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:25016,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25025,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:25029,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25039,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:25043,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25042,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25048,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25047,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25033,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25041,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 25052
      start: 24994
    functionDepth: 0
    functionLinenumber: 24994
    functionLinenumberEnd: 25052
    functionName: js_parse_delete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_prev_opcode
    - emit_op
    - js_parse_error
    - emit_atom
    - emit_u8
    - next_token
    - js_parse_unary
    - get_u32
    - emit_push_const
    - JS_AtomToValue
    - JS_FreeAtom
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_delete(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34965,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:34967,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - s
    - buf
    - buf_len
    argTypes:
    - BCReaderState*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 34971
      start: 34962
    functionDepth: 0
    functionLinenumber: 34962
    functionLinenumberEnd: 34971
    functionName: bc_get_buf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - bc_read_error_end
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_buf(BCReaderState *s, uint8_t *buf, uint32_t buf_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:37188,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37188,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37194,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37195
      start: 37184
    functionDepth: 0
    functionLinenumber: 37184
    functionLinenumberEnd: 37195
    functionName: js_object___setOwnProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_DefinePropertyValueValue
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___setOwnProperty(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ParseJSON2
      Src: /src/gpac/src/quickjs/quickjs.c:43770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_len
    - filename
    argTypes:
    - JSContext*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 43771
      start: 43767
    functionDepth: 0
    functionLinenumber: 43767
    functionLinenumberEnd: 43771
    functionName: JS_ParseJSON
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ParseJSON2
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ParseJSON(JSContext *ctx, const char *buf, size_t buf_len,
      const char *filename) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:39745,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39748,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:39750,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:39747,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:39755,1
    - Dst: bf_get_float64
      Src: /src/gpac/src/quickjs/quickjs.c:39757,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39758,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:39759,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:39763,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39764,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39777,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:39766,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:39778,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39767,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39775,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:39776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39783
      start: 39740
    functionDepth: 0
    functionLinenumber: 39740
    functionLinenumberEnd: 39783
    functionName: js_number_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - __JS_NewFloat64
    - JS_SetObjectData
    - JS_IsException
    - bf_get_float64
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - JS_IsUndefined
    - js_create_from_ctor
    - JS_ToStringFree
    - JS_ToNumeric
    - JS_ToNumberFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52133,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:52138,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52148,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:52147,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52146,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:52153,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52154,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:52156,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52158,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52164,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52172,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52167,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - findIndex
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 52174
      start: 52124
    functionDepth: 0
    functionLinenumber: 52124
    functionLinenumberEnd: 52174
    functionName: js_typed_array_find
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_Call
    - check_function
    - JS_ToBoolFree
    - JS_GetPropertyValue
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_find(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int findIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:34977,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:34980,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:34984,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:34989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - s
    - patom
    - idx
    argTypes:
    - BCReaderState*
    - JSAtom*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 34993
      start: 34973
    functionDepth: 0
    functionLinenumber: 34973
    functionLinenumberEnd: 34993
    functionName: bc_idx_to_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomIsTaggedInt
    - JS_DupAtom
    - JS_ThrowSyntaxError
    linkageType: ''
    returnType: int
    signature: 'static int bc_idx_to_atom(BCReaderState *s, JSAtom *patom, uint32_t
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37201
      start: 37197
    functionDepth: 0
    functionLinenumber: 37197
    functionLinenumberEnd: 37201
    functionName: js_object___toObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___toObject(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:43783,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:43784,1
    - Dst: js_get_length32
      Src: /src/gpac/src/quickjs/quickjs.c:43795,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43808,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43828,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:43832,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43833,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:43791,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:43798,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43816,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:43825,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43815,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:43798,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43811,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43812,1
    - Dst: internalize_json_property
      Src: /src/gpac/src/quickjs/quickjs.c:43810,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:43818,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:43827,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:43837,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43838,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43787,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43788,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43790,1
    - Dst: JS_NewAtomUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43804,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43820,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43834,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 4
    argNames:
    - ctx
    - holder
    - name
    - reviver
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 43840
      start: 43773
    functionDepth: 0
    functionLinenumber: 43773
    functionLinenumberEnd: 43840
    functionName: internalize_json_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_check_stack_overflow
    - js_get_length32
    - JS_NewAtomUInt32
    - JS_DefinePropertyValue
    - JS_GetOwnPropertyNamesInternal
    - JS_DeleteProperty
    - js_free_prop_enum
    - JS_DupAtom
    - JS_Call
    - JS_IsObject
    - JS_AtomToValue
    - JS_FreeAtom
    - internalize_json_property
    - JS_IsUndefined
    - JS_ThrowStackOverflow
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_IsArray
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue internalize_json_property(JSContext *ctx, JSValueConst
      holder, JSAtom name, JSValueConst reviver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3702,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:3705,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:3709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - StringBuffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3710
      start: 3700
    functionDepth: 0
    functionLinenumber: 3700
    functionLinenumberEnd: 3710
    functionName: string_buffer_putc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - string_buffer_putc16
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_putc(StringBuffer *s, uint32_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10005,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:10007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10009
      start: 10002
    functionDepth: 0
    functionLinenumber: 10002
    functionLinenumberEnd: 10009
    functionName: JS_IsHTMLDDA
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL JS_IsHTMLDDA(JSContext *ctx, JSValueConst obj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44620,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44624,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44625,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44623,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44626,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44628,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44629,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44637
      start: 44613
    functionDepth: 0
    functionLinenumber: 44613
    functionLinenumberEnd: 44637
    functionName: js_proxy_isExtensible
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_proxy_method
    - JS_IsException
    - JS_IsExtensible
    - JS_ThrowTypeError
    - JS_IsUndefined
    - JS_CallFree
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_isExtensible(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - p
    - idx
    argTypes:
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 3714
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3714
    functionName: string_get
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int string_get(const JSString *p, int idx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10013,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10016,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10026,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10020,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:10025,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10033,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10036,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10041,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10044,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:10050,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10053,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10059,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10058,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:10060,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10062,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10066
      start: 10011
    functionDepth: 0
    functionLinenumber: 10011
    functionLinenumberEnd: 10066
    functionName: JS_ToBoolFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - isnan
    - JS_VALUE_GET_FLOAT64
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToBoolFree(JSContext *ctx, JSValue val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44646,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44652,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44649,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44651,1
    - Dst: JS_PreventExtensions
      Src: /src/gpac/src/quickjs/quickjs.c:44650,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44654,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44656,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44660,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44665
      start: 44639
    functionDepth: 0
    functionLinenumber: 44639
    functionLinenumberEnd: 44665
    functionName: js_proxy_preventExtensions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_proxy_method
    - JS_PreventExtensions
    - JS_IsException
    - JS_IsExtensible
    - JS_ThrowTypeError
    - JS_IsUndefined
    - JS_CallFree
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_preventExtensions(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:21241,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:21301,1
    - Dst: js_parse_string
      Src: /src/gpac/src/quickjs/quickjs.c:21268,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:21245,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:21242,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:21314,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:21332,1
    - Dst: json_parse_ident
      Src: /src/gpac/src/quickjs/quickjs.c:21366,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:21375,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:21379,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:21383,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:21403,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:21411,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:21401,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 106
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21427
      start: 21235
    functionDepth: 0
    functionLinenumber: 21235
    functionLinenumberEnd: 21427
    functionName: json_next_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - json_parse_ident
    - js_parse_string
    - unicode_from_utf8
    - js_parse_error
    - js_atof
    - JS_IsException
    - js_check_stack_overflow
    - free_token
    - is_digit
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int json_next_token(JSParseState *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3115,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3121,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3116,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:3117,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3116,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:3131,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3131,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:3133,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - atom
    - force_string
    argTypes:
    - JSContext*
    - JSAtom
    - BOOL
    constantsTouched: []
    func_position:
      end: 3136
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3136
    functionName: __JS_AtomToValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - snprintf
    - assert
    - __JS_AtomIsTaggedInt
    - JS_NewString
    - JS_MKPTR
    - JS_DupValue
    - __JS_AtomToUInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue __JS_AtomToValue(JSContext *ctx, JSAtom atom, BOOL
      force_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6754,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:6761,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:6760,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:6762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 6764
      start: 6754
    functionDepth: 0
    functionLinenumber: 6754
    functionLinenumberEnd: 6764
    functionName: JS_ThrowInternalError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __attribute__((format(printf, 2, 3))) JS_ThrowInternalError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 28905
      start: 28899
    functionDepth: 0
    functionLinenumber: 28899
    functionLinenumberEnd: 28905
    functionName: skip_lines
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_lines(const char *p, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:37247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37248
      start: 37244
    functionDepth: 0
    functionLinenumber: 37244
    functionLinenumberEnd: 37248
    functionName: js_object___getObjectData
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetObjectData
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___getObjectData(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:42957,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:42960,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:42961,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:42962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 42964
      start: 42955
    functionDepth: 0
    functionLinenumber: 42955
    functionLinenumberEnd: 42964
    functionName: js_regexp_string_iterator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_regexp_string_iterator_finalizer(JSRuntime *rt, JSValue
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:3140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: JS_AtomToValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_AtomToValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_AtomToValue(JSContext *ctx, JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:6771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6775
      start: 6766
    functionDepth: 0
    functionLinenumber: 6766
    functionLinenumberEnd: 6775
    functionName: JS_ThrowOutOfMemory
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowInternalError
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ThrowOutOfMemory(JSContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_lines
      Src: /src/gpac/src/quickjs/quickjs.c:28909,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28916,1
    - Dst: skip_lines
      Src: /src/gpac/src/quickjs/quickjs.c:28912,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:28913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - source
    - line
    - line1
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 28921
      start: 28907
    functionDepth: 0
    functionLinenumber: 28907
    functionLinenumberEnd: 28921
    functionName: print_lines
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - printf
    - skip_lines
    linkageType: ''
    returnType: void
    signature: 'static void print_lines(const char *source, int line, int line1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:37253,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37255,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37256
      start: 37250
    functionDepth: 0
    functionLinenumber: 37250
    functionLinenumberEnd: 37256
    functionName: js_object___setObjectData
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_SetObjectData
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___setObjectData(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:42969,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:42972,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:42973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 42975
      start: 42966
    functionDepth: 0
    functionLinenumber: 42966
    functionLinenumberEnd: 42975
    functionName: js_regexp_string_iterator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_regexp_string_iterator_mark(JSRuntime *rt, JSValueConst
      val, JS_MarkFunc *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:4444,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4448,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:4448,1
    - Dst: js_shape_hash_unlink
      Src: /src/gpac/src/quickjs/quickjs.c:4446,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:4450,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:4452,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:4455,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:4456,1
    - Dst: get_alloc_from_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4457
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4457
    functionName: js_free_shape0
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_prop
    - assert
    - JS_FreeAtomRT
    - remove_gc_object
    - js_free_rt
    - JS_MKPTR
    - JS_FreeValueRT
    - js_shape_hash_unlink
    - get_alloc_from_shape
    linkageType: ''
    returnType: void
    signature: 'static void js_free_shape0(JSRuntime *rt, JSShape *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17021,1
    - Dst: JS_SetGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:17024,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames:
    - OP_put_var_init
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17028
      start: 17017
    functionDepth: 0
    functionLinenumber: 17017
    functionLinenumberEnd: 17028
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_SetGlobalVar
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_var): CASE(OP_put_var_init) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 26030
      start: 26026
    functionDepth: 0
    functionLinenumber: 26026
    functionLinenumberEnd: 26030
    functionName: is_label
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - peek_token
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_label(JSParseState *s) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31324,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31336,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31327,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31330,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31333,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31339,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31342,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31345,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31348,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31351,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31362,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31363,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31372,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31359,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31366,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31373,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31358,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31367,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - bc_out
    - op
    - idx
    argTypes:
    - DynBuf*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31374
      start: 31318
    functionDepth: 0
    functionLinenumber: 31318
    functionLinenumberEnd: 31374
    functionName: put_short_code
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void put_short_code(DynBuf *bc_out, int op, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOwnPropertyNames2
      Src: /src/gpac/src/quickjs/quickjs.c:36840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36842
      start: 36837
    functionDepth: 0
    functionLinenumber: 36837
    functionLinenumberEnd: 36842
    functionName: js_object_getOwnPropertySymbols
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOwnPropertyNames2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_getOwnPropertySymbols(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41409,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41410,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:41415,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41412,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:41415,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41417,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:41421,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - pbuf
    - val1
    argTypes:
    - JSContext*
    - uint32_t**
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 41428
      start: 41402
    functionDepth: 0
    functionLinenumber: 41402
    functionLinenumberEnd: 41428
    functionName: JS_ToUTF32String
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_getc
    - js_malloc
    - JS_IsException
    - JS_ToString
    - max_int
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToUTF32String(JSContext *ctx, uint32_t **pbuf, JSValueConst
      val1) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:41563,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41570,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:41581,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41568,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41573,1
    - Dst: js_new_string_char
      Src: /src/gpac/src/quickjs/quickjs.c:41585,1
    - Dst: js_new_string16
      Src: /src/gpac/src/quickjs/quickjs.c:41587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - pdone
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    - int
    constantsTouched: []
    func_position:
      end: 41589
      start: 41555
    functionDepth: 0
    functionLinenumber: 41555
    functionLinenumberEnd: 41589
    functionName: js_string_iterator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_string16
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_getc
    - JS_GetOpaque2
    - JS_IsUndefined
    - js_new_string_char
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_iterator_next(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, BOOL *pdone, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_EvalThis
      Src: /src/gpac/src/quickjs/quickjs.c:33770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - input
    - input_len
    - filename
    - eval_flags
    argTypes:
    - JSContext*
    - char*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 33772
      start: 33767
    functionDepth: 0
    functionLinenumber: 33767
    functionLinenumberEnd: 33772
    functionName: JS_Eval
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_EvalThis
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_Eval(JSContext *ctx, const char *input, size_t input_len,
      const char *filename, int eval_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4461,1
    - Dst: js_free_shape0
      Src: /src/gpac/src/quickjs/quickjs.c:4462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4464
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4464
    functionName: js_free_shape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_free_shape0
    linkageType: ''
    returnType: void
    signature: 'static void js_free_shape(JSRuntime *rt, JSShape *sh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:33776,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:33777,1
    - Dst: js_resolve_module
      Src: /src/gpac/src/quickjs/quickjs.c:33778,1
    - Dst: js_free_modules
      Src: /src/gpac/src/quickjs/quickjs.c:33779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 33784
      start: 33774
    functionDepth: 0
    functionLinenumber: 33774
    functionLinenumberEnd: 33784
    functionName: JS_ResolveModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resolve_module
    - JS_VALUE_GET_TAG
    - js_free_modules
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: int
    signature: 'int JS_ResolveModule(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOwnPropertyNames2
      Src: /src/gpac/src/quickjs/quickjs.c:36847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - kind
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36849
      start: 36844
    functionDepth: 0
    functionLinenumber: 36844
    functionLinenumberEnd: 36849
    functionName: js_object_keys
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOwnPropertyNames2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_keys(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int kind) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:41434,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:41442,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:41437,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:41440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - JSContext*
    - uint32_t*
    - int
    constantsTouched: []
    func_position:
      end: 41444
      start: 41430
    functionDepth: 0
    functionLinenumber: 41430
    functionLinenumberEnd: 41444
    functionName: JS_NewUTF32String
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_putc
    - string_buffer_free
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewUTF32String(JSContext *ctx, const uint32_t *buf,
      int len) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:25944,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25983,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26006,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26010,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:25942,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25968,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:25976,1
    - Dst: set_object_name
      Src: /src/gpac/src/quickjs/quickjs.c:25982,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25985,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25980,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25970,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25990,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:25997,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26021,1
    - Dst: js_define_var
      Src: /src/gpac/src/quickjs/quickjs.c:25951,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25949,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25967,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:25973,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25972,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25995,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25996,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:26007,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25946,1
    - Dst: add_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:25954,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25960,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:25969,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:25977,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:25986,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:25998,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26001,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:26005,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26015,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 72
    argCount: 4
    argNames:
    - s
    - parse_flags
    - tok
    - export_flag
    argTypes:
    - JSParseState*
    - int
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 26023
      start: 25932
    functionDepth: 0
    functionLinenumber: 25932
    functionLinenumberEnd: 26023
    functionName: js_parse_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - js_parse_error
    - emit_op
    - emit_u16
    - JS_DupAtom
    - next_token
    - js_define_var
    - js_parse_error_reserved_identifier
    - set_object_name
    - js_parse_assign_expr2
    - put_lvalue
    - add_export_entry
    - js_parse_destructuring_element
    - JS_FreeAtom
    - js_parse_skip_parens_token
    - get_lvalue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_var(JSParseState *s, int parse_flags,
      int tok, BOOL export_flag) '
  - BBCount: 187
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31417,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31422,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31459,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31465,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31469,1
    - Dst: put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:31508,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31531,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31657,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31704,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31769,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31901,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31982,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32134,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32005,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32236,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31703,1
    - Dst: find_jump_target
      Src: /src/gpac/src/quickjs/quickjs.c:31597,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31687,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31693,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31731,1
    - Dst: get_i32
      Src: /src/gpac/src/quickjs/quickjs.c:31779,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31815,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:31840,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31885,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31918,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31921,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31871,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:32227,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31879,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31547,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31416,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31436,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31458,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31464,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31562,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31732,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31753,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31793,1
    - Dst: M4
      Src: /src/gpac/src/quickjs/quickjs.c:31862,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31972,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32095,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32230,1
    - Dst: skip_dead_code
      Src: /src/gpac/src/quickjs/quickjs.c:31565,1
    - Dst: code_has_label
      Src: /src/gpac/src/quickjs/quickjs.c:31553,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31440,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31695,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31718,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31848,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31880,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31902,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31918,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32019,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32131,1
    - Dst: M3
      Src: /src/gpac/src/quickjs/quickjs.c:31861,1
    - Dst: compute_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32242,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32017,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:32196,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31429,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31711,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31781,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31783,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31817,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31965,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32025,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32098,1
    - Dst: M3
      Src: /src/gpac/src/quickjs/quickjs.c:32015,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:32047,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:32256,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31968,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31891,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32018,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:31407,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:31400,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31418,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31446,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31450,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31466,1
    - Dst: add_reloc
      Src: /src/gpac/src/quickjs/quickjs.c:31647,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31705,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31920,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31942,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32050,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32015,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31994,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32125,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:32250,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31934,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32056,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:31827,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31555,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31636,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31578,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31423,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31428,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31470,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31503,1
    - Dst: find_jump_target
      Src: /src/gpac/src/quickjs/quickjs.c:31691,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31737,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31860,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32071,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31837,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32088,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:32086,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32051,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32136,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31507,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31637,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31449,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31453,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31454,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31460,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31490,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31504,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31523,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31618,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32126,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:32158,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs.c:32249,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32048,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:32151,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32083,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:31396,1
    - Dst: skip_dead_code
      Src: /src/gpac/src/quickjs/quickjs.c:31543,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31590,1
    - Dst: code_has_label
      Src: /src/gpac/src/quickjs/quickjs.c:31608,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31813,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31862,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31894,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31973,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32006,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32020,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32089,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32239,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32081,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32003,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32097,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:32034,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32086,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31439,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31430,1
    - Dst: find_jump_target
      Src: /src/gpac/src/quickjs/quickjs.c:31552,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31737,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31803,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31828,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:31847,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31861,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:31985,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31993,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31986,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31969,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32243,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31492,1
    - Dst: find_jump_target
      Src: /src/gpac/src/quickjs/quickjs.c:31580,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31611,1
    - Dst: skip_dead_code
      Src: /src/gpac/src/quickjs/quickjs.c:31527,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31739,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31799,1
    - Dst: push_short_int
      Src: /src/gpac/src/quickjs/quickjs.c:31804,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31825,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31829,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31971,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32024,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32082,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32091,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:32246,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31980,1
    - Dst: push_short_int
      Src: /src/gpac/src/quickjs/quickjs.c:32004,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32055,1
    - Dst: push_short_int
      Src: /src/gpac/src/quickjs/quickjs.c:31787,1
    - Dst: code_has_label
      Src: /src/gpac/src/quickjs/quickjs.c:31599,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31525,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31595,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31526,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31424,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31447,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31471,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31484,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31740,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31786,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31938,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31969,1
    - Dst: M4
      Src: /src/gpac/src/quickjs/quickjs.c:32110,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32001,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31500,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:31511,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:31622,1
    - Dst: skip_dead_code
      Src: /src/gpac/src/quickjs/quickjs.c:31620,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31601,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31663,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31670,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31849,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:31949,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31991,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32035,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31990,1
    - Dst: put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:32224,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31437,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31489,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31664,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31688,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31729,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31799,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31839,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:31922,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31656,1
    - Dst: add_reloc
      Src: /src/gpac/src/quickjs/quickjs.c:31708,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:32150,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31816,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32090,1
    - Dst: M3
      Src: /src/gpac/src/quickjs/quickjs.c:32071,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31563,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31600,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31530,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31645,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31605,1
    - Dst: add_reloc
      Src: /src/gpac/src/quickjs/quickjs.c:31673,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31877,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31885,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31899,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31968,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32110,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32135,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:32076,1
    - Dst: M3
      Src: /src/gpac/src/quickjs/quickjs.c:31934,1
    - Dst: M2
      Src: /src/gpac/src/quickjs/quickjs.c:31899,1
    - Dst: add_reloc
      Src: /src/gpac/src/quickjs/quickjs.c:31638,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31646,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:31522,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:31582,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31564,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:31669,1
    - Dst: code_match
      Src: /src/gpac/src/quickjs/quickjs.c:31753,1
    - Dst: M3
      Src: /src/gpac/src/quickjs/quickjs.c:31860,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31893,1
    - Dst: add_pc2line_info
      Src: /src/gpac/src/quickjs/quickjs.c:31948,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:32099,1
    - Dst: put_short_code
      Src: /src/gpac/src/quickjs/quickjs.c:32036,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32127,1
    CyclomaticComplexity: 269
    EdgeCount: 269
    ICount: 766
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 32258
      start: 31377
    functionDepth: 0
    functionLinenumber: 31377
    functionLinenumberEnd: 32258
    functionName: resolve_labels
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_reloc
    - M4
    - get_u16
    - find_jump_target
    - js_dbuf_init
    - put_u16
    - js_free
    - dbuf_put_u16
    - push_short_int
    - code_match
    - add_pc2line_info
    - dbuf_error
    - put_u8
    - M2
    - js_mallocz
    - dbuf_put_u32
    - memmove
    - dbuf_putc
    - code_has_label
    - JS_FreeAtom
    - assert
    - update_label
    - get_u32
    - get_i32
    - put_u32
    - M3
    - skip_dead_code
    - compute_pc2line_info
    - dbuf_free
    - put_short_code
    - JS_ThrowOutOfMemory
    - dbuf_put
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int resolve_labels(JSContext *ctx, JSFunctionDef
      *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1385,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:1387,1
    - Dst: js_malloc_usable_size_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1391,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - ptr
    - size
    - pslack
    argTypes:
    - JSContext*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1395
    functionName: js_realloc2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_realloc_rt
    - unlikely
    - js_malloc_usable_size_rt
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: void*
    signature: 'void *js_realloc2(JSContext *ctx, void *ptr, size_t size, size_t *pslack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtomLen
      Src: /src/gpac/src/quickjs/quickjs.c:2994,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:2994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 2995
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 2995
    functionName: JS_NewAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewAtomLen
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_NewAtom(JSContext *ctx, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:10605,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10606
      start: 10603
    functionDepth: 0
    functionLinenumber: 10603
    functionLinenumberEnd: 10606
    functionName: JS_ToNumeric
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToNumeric(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc_usable_size_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1400
    functionName: js_malloc_usable_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_malloc_usable_size_rt
    linkageType: ''
    returnType: size_t
    signature: 'size_t js_malloc_usable_size(JSContext *ctx, const void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:3000,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:3006,1
    - Dst: __JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:3008,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3004,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:3005,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - JSContext*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3011
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3011
    functionName: JS_NewAtomUInt32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - snprintf
    - __JS_NewAtom
    - JS_IsException
    - JS_NewString
    - __JS_AtomFromUInt32
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_NewAtomUInt32(JSContext *ctx, uint32_t n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10614,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10622,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10615,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10619,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10625,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10631,1
    - Dst: bf_get_float64
      Src: /src/gpac/src/quickjs/quickjs.c:10635,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10636,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:10641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - double*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10645
      start: 10608
    functionDepth: 0
    functionLinenumber: 10608
    functionLinenumberEnd: 10645
    functionName: __JS_ToFloat64Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_IsException
    - bf_get_float64
    - abort
    - JS_VALUE_GET_PTR
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int __JS_ToFloat64Free(JSContext *ctx, double *pres,
      JSValue val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_expr_binary
      Src: /src/gpac/src/quickjs/quickjs.c:25356,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25368,1
    - Dst: js_parse_logical_and_or
      Src: /src/gpac/src/quickjs/quickjs.c:25359,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:25363,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25366,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25369,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25370,1
    - Dst: js_parse_expr_binary
      Src: /src/gpac/src/quickjs/quickjs.c:25373,1
    - Dst: js_parse_logical_and_or
      Src: /src/gpac/src/quickjs/quickjs.c:25376,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25382,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25387,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - s
    - op
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 25390
      start: 25350
    functionDepth: 0
    functionLinenumber: 25350
    functionLinenumberEnd: 25390
    functionName: js_parse_logical_and_or
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - js_parse_error
    - emit_goto
    - new_label
    - next_token
    - emit_label
    - js_parse_expr_binary
    - js_parse_logical_and_or
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_logical_and_or(JSParseState *s, int
      op, int parse_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6376,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - DynBuf*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 6382
      start: 6369
    functionDepth: 0
    functionLinenumber: 6369
    functionLinenumberEnd: 6382
    functionName: dbuf_put_leb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void dbuf_put_leb128(DynBuf *s, uint32_t v) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11036,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11050,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:11046,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:11046,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:11042,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:11051,1
    - Dst: lrint
      Src: /src/gpac/src/quickjs/quickjs.c:11059,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11066,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:11068,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:11069,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:11078,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11079,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:11072,1
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:11071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11073,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:11070,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int32_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11087
      start: 11030
    functionDepth: 0
    functionLinenumber: 11030
    functionLinenumberEnd: 11087
    functionName: JS_ToUint8ClampFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_get_int32
    - JS_FreeValue
    - bf_delete
    - JS_IsException
    - min_int
    - JS_VALUE_GET_PTR
    - isnan
    - bf_init
    - max_int
    - bf_set
    - JS_VALUE_GET_FLOAT64
    - bf_rint
    - JS_VALUE_GET_INT
    - lrint
    - JS_ToNumberFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToUint8ClampFree(JSContext *ctx, int32_t *pres, JSValue
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27258,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27268,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27262,1
    - Dst: find_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27261,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:27265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - m
    - export_name
    - val
    argTypes:
    - JSContext*
    - JSModuleDef*
    - char*
    - JSValue
    constantsTouched: []
    func_position:
      end: 27270
      start: 27253
    functionDepth: 0
    functionLinenumber: 27253
    functionLinenumberEnd: 27270
    functionName: JS_SetModuleExport
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewAtom
    - set_value
    - find_export_entry
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'int JS_SetModuleExport(JSContext *ctx, JSModuleDef *m, const char
      *export_name, JSValue val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35900,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:35904,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35908,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35911,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35914,1
    - Dst: JS_ReadString
      Src: /src/gpac/src/quickjs/quickjs.c:35920,1
    - Dst: JS_NewAtomStr
      Src: /src/gpac/src/quickjs/quickjs.c:35923,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35932
      start: 35893
    functionDepth: 0
    functionLinenumber: 35893
    functionLinenumberEnd: 35932
    functionName: JS_ReadObjectAtoms
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    - bc_read_trace
    - JS_ReadString
    - js_mallocz
    - bc_get_u8
    - bc_get_leb128
    - JS_NewAtomStr
    linkageType: ''
    returnType: int
    signature: 'static int JS_ReadObjectAtoms(BCReaderState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:6387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - v1
    argTypes:
    - DynBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 6388
      start: 6384
    functionDepth: 0
    functionLinenumber: 6384
    functionLinenumberEnd: 6388
    functionName: dbuf_put_sleb128
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_leb128
    linkageType: ''
    returnType: void
    signature: 'static void dbuf_put_sleb128(DynBuf *s, int32_t v1) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11094,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11111,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:11144,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11145,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:11156,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:11115,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:11116,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/quickjs.c:11117,1
    - Dst: JS_ToArrayLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:11140,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11149,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:11148,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:11118,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11119,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11126,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:11136,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:11101,1
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:11114,1
    - Dst: JS_ToArrayLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:11152,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11128,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11137,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - plen
    - val
    - is_array_ctor
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValue
    - BOOL
    constantsTouched: []
    func_position:
      end: 11165
      start: 11089
    functionDepth: 0
    functionLinenumber: 11089
    functionLinenumberEnd: 11165
    functionName: JS_ToArrayLengthFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_get_int32
    - JS_FreeValue
    - bf_cmp_eq
    - JS_ThrowRangeError
    - bf_set_ui
    - bf_delete
    - JS_IsException
    - JS_ToArrayLengthFree
    - JS_ToUint32
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - bf_init
    - JS_VALUE_GET_FLOAT64
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_ToArrayLengthFree(JSContext *ctx, uint32_t
      *plen, JSValue val, BOOL is_array_ctor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - rt
    - module_normalize
    - module_loader
    - opaque
    argTypes:
    - JSRuntime*
    - JSModuleNormalizeFunc*
    - JSModuleLoaderFunc*
    - void*
    constantsTouched: []
    func_position:
      end: 27279
      start: 27272
    functionDepth: 0
    functionLinenumber: 27272
    functionLinenumberEnd: 27279
    functionName: JS_SetModuleLoaderFunc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetModuleLoaderFunc(JSRuntime *rt, JSModuleNormalizeFunc *module_normalize,
      JSModuleLoaderFunc *module_loader, void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:35939,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:35941,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:35943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35944
      start: 35934
    functionDepth: 0
    functionLinenumber: 35934
    functionLinenumberEnd: 35944
    functionName: bc_reader_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void bc_reader_free(BCReaderState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:3386,1
    - Dst: js_atom_concat_str
      Src: /src/gpac/src/quickjs/quickjs.c:3387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - n
    argTypes:
    - JSContext*
    - JSAtom
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3388
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3388
    functionName: js_atom_concat_num
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - snprintf
    - js_atom_concat_str
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom js_atom_concat_num(JSContext *ctx, JSAtom name, uint32_t
      n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:4414,1
    - Dst: get_alloc_from_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4418,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4419,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4415,1
    - Dst: get_shape_from_alloc
      Src: /src/gpac/src/quickjs/quickjs.c:4420,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:4422,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:4425,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4425,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:4427,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:4428,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - sh1
    argTypes:
    - JSContext*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4431
      start: 4405
    functionDepth: 0
    functionLinenumber: 4405
    functionLinenumberEnd: 4431
    functionName: js_clone_shape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_size
    - get_shape_prop
    - js_malloc
    - JS_DupAtom
    - add_gc_object
    - JS_MKPTR
    - JS_DupValue
    - memcpy
    - get_shape_from_alloc
    - get_alloc_from_shape
    linkageType: ''
    returnType: JSShape*
    signature: 'static JSShape *js_clone_shape(JSContext *ctx, JSShape *sh1) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:9755,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9758,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9756,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9760,1
    - Dst: delete_property
      Src: /src/gpac/src/quickjs/quickjs.c:9759,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:9764,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:9765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - obj
    - prop
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 9769
      start: 9749
    functionDepth: 0
    functionLinenumber: 9749
    functionLinenumberEnd: 9769
    functionName: JS_DeleteProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_ThrowTypeError
    - JS_IsException
    - is_strict_mode
    - delete_property
    linkageType: ''
    returnType: int
    signature: 'int JS_DeleteProperty(JSContext *ctx, JSValueConst obj, JSAtom prop,
      int flags) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22356,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22391,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:22401,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22412,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22419,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22336,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22339,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22350,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:22354,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22379,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:22374,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:22405,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:22423,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22427,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22340,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22348,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22365,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22363,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22380,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:22400,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22407,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:22438,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22444,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22337,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:22353,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22355,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22394,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:22408,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22416,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:22421,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:22428,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22436,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 121
    argCount: 5
    argNames:
    - s
    - pname
    - allow_method
    - allow_var
    - allow_private
    argTypes:
    - JSParseState*
    - JSAtom*
    - BOOL
    - BOOL
    - BOOL
    constantsTouched: []
    func_position:
      end: 22448
      start: 22324
    functionDepth: 0
    functionLinenumber: 22324
    functionLinenumberEnd: 22448
    functionName: js_parse_property_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - JS_FreeValue
    - js_parse_error
    - js_parse_expr
    - JS_DupAtom
    - next_token
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - peek_token
    - JS_ValueToAtom
    - js_parse_expect
    - token_is_ident
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int __exception js_parse_property_name(JSParseState *s, JSAtom
      *pname, BOOL allow_method, BOOL allow_var, BOOL allow_private) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:20260,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:20267,1
    - Dst: build_backtrace
      Src: /src/gpac/src/quickjs/quickjs.c:20273,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:20269,1
    - Dst: JS_ThrowError2
      Src: /src/gpac/src/quickjs/quickjs.c:20268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fmt
    - '...'
    argTypes:
    - JSParseState*
    - char*
    constantsTouched: []
    func_position:
      end: 20276
      start: 20260
    functionDepth: 0
    functionLinenumber: 20260
    functionLinenumberEnd: 20276
    functionName: js_parse_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - format
    - va_end
    - va_start
    - JS_ThrowError2
    - build_backtrace
    linkageType: ''
    returnType: int
    signature: 'int __attribute__((format(printf, 2, 3))) js_parse_error(JSParseState
      *s, const char *fmt, ...) #endif '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_host_resolve_imported_module
      Src: /src/gpac/src/quickjs/quickjs.c:28217,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:28227,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:28227,1
    - Dst: js_resolve_module
      Src: /src/gpac/src/quickjs/quickjs.c:28221,1
    - Dst: js_free_modules
      Src: /src/gpac/src/quickjs/quickjs.c:28222,1
    - Dst: JS_EvalFunction
      Src: /src/gpac/src/quickjs/quickjs.c:28228,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:28229,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - basename
    - filename
    argTypes:
    - JSContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 28233
      start: 28211
    functionDepth: 0
    functionLinenumber: 28211
    functionLinenumberEnd: 28233
    functionName: JS_RunModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_MKPTR
    - js_free_modules
    - JS_DupValue
    - js_resolve_module
    - js_host_resolve_imported_module
    - JS_EvalFunction
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *JS_RunModule(JSContext *ctx, const char *basename, const
      char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:44478,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:44481,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:44482,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:44480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 44484
      start: 44476
    functionDepth: 0
    functionLinenumber: 44476
    functionLinenumberEnd: 44484
    functionName: js_proxy_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_proxy_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:48993,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:48996,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49002,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49032,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49045,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49061,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49004,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:49005,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49006,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:49021,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:49048,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49063,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:49064,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49065,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48991,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:48990,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:49009,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49022,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49025,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49017,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:49016,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49037,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:49039,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:49068,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49076,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:48988,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:49001,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49024,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:49031,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49020,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49033,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:49035,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49036,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49041,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:49055,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:49059,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 88
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - is_primitive
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    - BOOL
    constantsTouched: []
    func_position:
      end: 49078
      start: 48974
    functionDepth: 0
    functionLinenumber: 48974
    functionLinenumberEnd: 49078
    functionName: js_operators_create_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - memset
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetOpaque2
    - JS_GetProperty
    - JS_IsUndefined
    - JS_NewObjectProtoClass
    - JS_SetOpaque
    - js_mallocz
    - js_realloc
    - check_function
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_operators_create_internal(JSContext *ctx, int argc,
      JSValueConst *argv, BOOL is_primitive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - cb
    - opaque
    argTypes:
    - JSRuntime*
    - JSInterruptHandler*
    - void*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1812
    functionName: JS_SetInterruptHandler
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetInterruptHandler(JSRuntime *rt, JSInterruptHandler *cb,
      void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:3392,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:3392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 3393
      start: 3390
    functionDepth: 0
    functionLinenumber: 3390
    functionLinenumberEnd: 3393
    functionName: JS_IsEmptyString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL JS_IsEmptyString(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sh
    argTypes:
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4437
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4437
    functionName: js_dup_shape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSShape*
    signature: 'static JSShape *js_dup_shape(JSShape *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16573,1
    - Dst: js_build_rest
      Src: /src/gpac/src/quickjs/quickjs.c:16575,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16576,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16578
      start: 16571
    functionDepth: 0
    functionLinenumber: 16571
    functionLinenumberEnd: 16578
    functionName: (OP_rest)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_build_rest
    - get_u16
    - JS_IsException
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_rest) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17382,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17391,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:17385,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17383,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17389,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:17391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17393
      start: 17376
    functionDepth: 0
    functionLinenumber: 17376
    functionLinenumberEnd: 17393
    functionName: (OP_if_false)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_poll_interrupts
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - get_u32
    - unlikely
    - JS_ToBoolFree
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_if_false) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20282,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:20284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 20285
      start: 20278
    functionDepth: 0
    functionLinenumber: 20278
    functionLinenumberEnd: 20285
    functionName: js_parse_expect
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - next_token
    - js_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_expect(JSParseState *s, int tok) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:44489,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:44492,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:44491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 44494
      start: 44486
    functionDepth: 0
    functionLinenumber: 44486
    functionLinenumberEnd: 44494
    functionName: js_proxy_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_proxy_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_operators_create_internal
      Src: /src/gpac/src/quickjs/quickjs.c:49083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49084
      start: 49080
    functionDepth: 0
    functionLinenumber: 49080
    functionLinenumberEnd: 49084
    functionName: js_operators_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_operators_create_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_operators_create(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9722,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9727,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9723,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9728,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9727,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9729,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9732,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9733,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:9734,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:9737,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:9741,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:9743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - prop
    - val
    - flag
    argTypes:
    - JSContext*
    - JSAtom
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9744
      start: 9713
    functionDepth: 0
    functionLinenumber: 9713
    functionLinenumberEnd: 9744
    functionName: JS_SetGlobalVar
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - set_value
    - unlikely
    - is_strict_mode
    - JS_ThrowReferenceErrorUninitialized
    - JS_SetPropertyInternal
    - find_own_property
    - JS_ThrowTypeErrorReadOnly
    - JS_IsUninitialized
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetGlobalVar(JSContext *ctx, JSAtom prop, JSValue val,
      int flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tok
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 22321
      start: 22315
    functionDepth: 0
    functionLinenumber: 22315
    functionLinenumberEnd: 22321
    functionName: token_is_ident
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL token_is_ident(int tok) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetScriptOrModuleName
      Src: /src/gpac/src/quickjs/quickjs.c:28194,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:28204,1
    - Dst: js_find_loaded_module
      Src: /src/gpac/src/quickjs/quickjs.c:28200,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28201,1
    - Dst: JS_GetImportMeta
      Src: /src/gpac/src/quickjs/quickjs.c:28207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 28208
      start: 28189
    functionDepth: 0
    functionLinenumber: 28189
    functionLinenumberEnd: 28208
    functionName: js_import_meta
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_GetImportMeta
    - JS_GetScriptOrModuleName
    - JS_FreeAtom
    - js_find_loaded_module
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_import_meta(JSContext *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10744,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:10758,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:10773,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10750,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:10757,1
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/quickjs.c:10774,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10775,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:10780,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10781,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int*
    - JSValue
    constantsTouched: []
    func_position:
      end: 10789
      start: 10738
    functionDepth: 0
    functionLinenumber: 10738
    functionLinenumberEnd: 10789
    functionName: JS_ToInt32SatFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_get_int32
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_PTR
    - isnan
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_ToNumberFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToInt32SatFree(JSContext *ctx, int *pres, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17060,1
    - Dst: JS_DefineGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:17063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17065
      start: 17058
    functionDepth: 0
    functionLinenumber: 17058
    functionLinenumberEnd: 17065
    functionName: (OP_define_var)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_DefineGlobalVar
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_var) : '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:21817,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:21824,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:21819,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:21822,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21835,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:21836,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21840
      start: 21807
    functionDepth: 0
    functionLinenumber: 21807
    functionLinenumberEnd: 21840
    functionName: push_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_u16
    - js_realloc2
    - max_int
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int push_scope(JSParseState *s) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:38236,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38241,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38242,1
    - Dst: js_array_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:38240,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38244,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:38246,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38248,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:38252,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38253,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:38257,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38258,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:38263,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38266,1
    - Dst: js_array_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:38267,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38260,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38270,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38269,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - obj
    - len_val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 38273
      start: 38229
    functionDepth: 0
    functionLinenumber: 38229
    functionLinenumberEnd: 38273
    functionName: JS_ArraySpeciesCreate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsConstructor
    - JS_IsArray
    - JS_IsNull
    - JS_CallConstructor
    - JS_IsException
    - JS_GetProperty
    - js_array_constructor
    - JS_IsUndefined
    - js_same_value
    - JS_IsObject
    - JS_GetFunctionRealm
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ArraySpeciesCreate(JSContext *ctx, JSValueConst
      obj, JSValueConst len_val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:47411,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:47414,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47412,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47415,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47416,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:47419,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47421,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47422,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47425,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:47427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - sync_iter
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 47429
      start: 47405
    functionDepth: 0
    functionLinenumber: 47405
    functionLinenumberEnd: 47429
    functionName: JS_CreateAsyncFromSyncIterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - js_mallocz
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_CreateAsyncFromSyncIterator(JSContext *ctx, JSValueConst
      sync_iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:10793,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10794
      start: 10791
    functionDepth: 0
    functionLinenumber: 10791
    functionLinenumberEnd: 10794
    functionName: JS_ToInt32Sat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToInt32SatFree
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt32Sat(JSContext *ctx, int *pres, JSValueConst val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18182,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18189,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18183,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18186,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18192
      start: 18179
    functionDepth: 0
    functionLinenumber: 18179
    functionLinenumberEnd: 18192
    functionName: (OP_inc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - js_unary_arith_slow
    - unlikely
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_inc) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - scope
    argTypes:
    - JSFunctionDef*
    - int
    constantsTouched: []
    func_position:
      end: 21851
      start: 21842
    functionDepth: 0
    functionLinenumber: 21842
    functionLinenumberEnd: 21851
    functionName: get_first_lexical_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_first_lexical_var(JSFunctionDef *fd, int scope) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47455,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47462,1
    - Dst: JS_IteratorGetCompleteValue
      Src: /src/gpac/src/quickjs/quickjs.c:47475,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:47484,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47490,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47492,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47502,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47508,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47509,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47518,1
    - Dst: JS_NewPromiseCapability
      Src: /src/gpac/src/quickjs/quickjs.c:47440,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47441,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:47457,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:47457,1
    - Dst: js_create_iterator_result
      Src: /src/gpac/src/quickjs/quickjs.c:47459,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47477,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47471,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47489,1
    - Dst: js_promise_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:47499,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47501,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47532,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47450,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47476,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47470,1
    - Dst: JS_IteratorNext2
      Src: /src/gpac/src/quickjs/quickjs.c:47468,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:47487,1
    - Dst: js_async_from_sync_iterator_unwrap_func_create
      Src: /src/gpac/src/quickjs/quickjs.c:47507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47519,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47521,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47523,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47531,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47520,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:47445,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:47443,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:47452,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47481,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47459,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47491,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47512,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47529,1
    - Dst: perform_promise_then
      Src: /src/gpac/src/quickjs/quickjs.c:47515,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47530,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 47534
      start: 47431
    functionDepth: 0
    functionLinenumber: 47431
    functionLinenumberEnd: 47534
    functionName: js_async_from_sync_iterator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IteratorGetCompleteValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_NewPromiseCapability
    - JS_IteratorNext2
    - JS_GetOpaque
    - JS_DupValue
    - js_async_from_sync_iterator_unwrap_func_create
    - JS_Call
    - js_promise_resolve
    - perform_promise_then
    - js_create_iterator_result
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_from_sync_iterator_next(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:48699,1
    - Dst: date_now
      Src: /src/gpac/src/quickjs/quickjs.c:48699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48700
      start: 48695
    functionDepth: 0
    functionLinenumber: 48695
    functionLinenumberEnd: 48700
    functionName: js_Date_now
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - date_now
    - JS_NewInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_Date_now(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:33819,1
    - Dst: js_object_list_get_hash
      Src: /src/gpac/src/quickjs/quickjs.c:33831,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:33822,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - s
    - new_hash_size
    argTypes:
    - JSContext*
    - JSObjectList*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33836
      start: 33813
    functionDepth: 0
    functionLinenumber: 33813
    functionLinenumberEnd: 33836
    functionName: js_object_list_resize_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_object_list_get_hash
    - js_free
    - js_malloc
    linkageType: ''
    returnType: int
    signature: 'static int js_object_list_resize_hash(JSContext *ctx, JSObjectList
      *s, uint32_t new_hash_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8402,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:8425,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8428,1
    - Dst: call_setter
      Src: /src/gpac/src/quickjs/quickjs.c:8429,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:8446,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8432,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:8451,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8453,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8467,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8469,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8449,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8431,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8461,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8466,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8475,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8479,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8482,1
    - Dst: JS_CreateProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8486,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8493,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8411,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:8416,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8435,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8452,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:8476,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8410,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8404,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8418,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8419,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8437,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8430,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:8445,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8456,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:8459,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8468,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8471,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 6
    argNames:
    - ctx
    - obj
    - prop
    - val
    - this_obj
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValue
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 8495
      start: 8392
    functionDepth: 0
    functionLinenumber: 8392
    functionLinenumberEnd: 8495
    functionName: JS_SetPropertyGeneric
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeErrorOrFalse
    - JS_IsNull
    - JS_IsUndefined
    - JS_DupValue
    - call_setter
    - JS_GetOwnPropertyInternal
    - JS_DefineProperty
    - JS_CreateProperty
    - JS_IsObject
    - JS_GetPrototypeFree
    - JS_ThrowTypeErrorReadOnly
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetPropertyGeneric(JSContext *ctx, JSValueConst obj,
      JSAtom prop, JSValue val, JSValueConst this_obj, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17034,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17038,1
    - Dst: JS_SetGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:17042,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17038,1
    - Dst: JS_ThrowReferenceErrorNotDefined
      Src: /src/gpac/src/quickjs/quickjs.c:17039,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17046
      start: 17031
    functionDepth: 0
    functionLinenumber: 17031
    functionLinenumberEnd: 17046
    functionName: (OP_put_var_strict)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowReferenceErrorNotDefined
    - get_u32
    - unlikely
    - JS_SetGlobalVar
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_var_strict) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19026,1
    - Dst: free_generator_stack_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19029,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 19032
      start: 19024
    functionDepth: 0
    functionLinenumber: 19024
    functionLinenumberEnd: 19032
    functionName: js_generator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - free_generator_stack_rt
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_generator_finalizer(JSRuntime *rt, JSValue obj) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36349,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:36361,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36365,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36366,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36373,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36374,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36380,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36372,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36386,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36395,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:36348,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36390,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36399,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36416,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36357,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36358,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36356,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36364,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:36369,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:36377,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:36390,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:36399,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36417,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36383,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36382,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36388,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36389,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36391,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36397,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36398,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36400,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36406,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36415,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 3
    argNames:
    - ctx
    - d
    - desc
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36419
      start: 36342
    functionDepth: 0
    functionLinenumber: 36342
    functionLinenumberEnd: 36419
    functionName: js_obj_to_desc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_IsObject
    - JS_HasProperty
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int js_obj_to_desc(JSContext *ctx, JSPropertyDescriptor *d,
      JSValueConst desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gpac/src/quickjs/quickjs.c:41974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41974
      start: 41974
    functionDepth: 0
    functionLinenumber: 41974
    functionLinenumberEnd: 41974
    functionName: const_floor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - floor
    linkageType: ''
    returnType: double
    signature: 'static double const_floor(double x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:50335,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50340,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50350,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50347,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50343,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:50352,1
    - Dst: bigfloat_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:50355,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:50361,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:50365,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - this_val
    - val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 50370
      start: 50329
    functionDepth: 0
    functionLinenumber: 50329
    functionLinenumberEnd: 50370
    functionName: js_float_env_proto_set_status
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBool
    - JS_ThrowRangeError
    - JS_GetOpaque2
    - bigfloat_get_rnd_mode
    - bf_set_exp_bits
    - JS_ToInt32Sat
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_proto_set_status(JSContext *ctx, JSValueConst
      this_val, JSValueConst val, int magic) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51462,1
    - Dst: max_int64
      Src: /src/gpac/src/quickjs/quickjs.c:51473,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51497,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:51482,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:51458,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:51465,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51475,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51477,1
    - Dst: js_array_buffer_constructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51478,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51512,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:51470,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51469,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:51489,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:51493,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51485,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51474,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51483,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:51492,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51484,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51487,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:51501,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51506,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:51509,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 51514
      start: 51450
    functionDepth: 0
    functionLinenumber: 51450
    functionLinenumberEnd: 51514
    functionName: js_array_buffer_slice
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_CallConstructor
    - JS_ThrowTypeError
    - JS_SpeciesConstructor
    - JS_GetOpaque2
    - JS_IsException
    - JS_NewInt64
    - JS_IsUndefined
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - max_int64
    - memcpy
    - js_same_value
    - js_array_buffer_constructor2
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_buffer_slice(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int class_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_generator_stack_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSGeneratorData*
    constantsTouched: []
    func_position:
      end: 19037
      start: 19034
    functionDepth: 0
    functionLinenumber: 19034
    functionLinenumberEnd: 19037
    functionName: free_generator_stack
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - free_generator_stack_rt
    linkageType: ''
    returnType: void
    signature: 'static void free_generator_stack(JSContext *ctx, JSGeneratorData *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_obj_to_desc
      Src: /src/gpac/src/quickjs/quickjs.c:36428,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36431,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:36433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - obj
    - prop
    - desc
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 36435
      start: 36421
    functionDepth: 0
    functionLinenumber: 36421
    functionLinenumberEnd: 36435
    functionName: JS_DefinePropertyDesc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_obj_to_desc
    - JS_DefineProperty
    - js_free_desc
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_DefinePropertyDesc(JSContext *ctx, JSValueConst
      obj, JSAtom prop, JSValueConst desc, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/gpac/src/quickjs/quickjs.c:41975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41975
      start: 41975
    functionDepth: 0
    functionLinenumber: 41975
    functionLinenumberEnd: 41975
    functionName: const_ceil
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: double
    signature: 'static double const_ceil(double x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:50376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50381
      start: 50372
    functionDepth: 0
    functionLinenumber: 50372
    functionLinenumberEnd: 50381
    functionName: js_float_env_clearStatus
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_clearStatus(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8518,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8521,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8527,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:8542,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:8541,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8552,1
    - Dst: JS_AtomIsNumericIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8583,1
    - Dst: JS_ToNumberFree
      Src: /src/gpac/src/quickjs/quickjs.c:8590,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8594,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8603,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8603,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8617,1
    - Dst: JS_ThrowReferenceErrorNotDefined
      Src: /src/gpac/src/quickjs/quickjs.c:8675,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8714,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8715,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8681,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:8511,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:8511,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:8513,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8517,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8538,1
    - Dst: call_setter
      Src: /src/gpac/src/quickjs/quickjs.c:8545,1
    - Dst: set_array_length
      Src: /src/gpac/src/quickjs/quickjs.c:8543,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8607,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8612,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8628,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:8656,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8679,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8635,1
    - Dst: call_setter
      Src: /src/gpac/src/quickjs/quickjs.c:8627,1
    - Dst: call_setter
      Src: /src/gpac/src/quickjs/quickjs.c:8659,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8667,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8673,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8680,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8674,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:8691,1
    - Dst: add_fast_array_element
      Src: /src/gpac/src/quickjs/quickjs.c:8695,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:8713,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8686,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8684,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8531,1
    - Dst: JS_GetPrototypePrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:8527,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8535,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:8570,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:8592,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8606,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8629,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8636,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8692,1
    - Dst: JS_CreateProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8701,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8685,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8591,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8615,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:8511,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8514,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8522,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:8533,1
    - Dst: JS_AutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8556,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8557,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8571,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8573,1
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:8574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8586,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8612,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8632,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:8668,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8708,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:8623,1
    - Dst: JS_AutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8662,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8639,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8626,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 188
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 8720
      start: 8501
    functionDepth: 0
    functionLinenumber: 8501
    functionLinenumberEnd: 8720
    functionName: JS_SetPropertyInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_fast_array_element
    - JS_AtomIsNumericIndex
    - __JS_AtomIsTaggedInt
    - JS_IsException
    - JS_CreateProperty
    - find_own_property
    - JS_ThrowTypeErrorOrFalse
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - call_setter
    - JS_DupValue
    - add_property
    - JS_ThrowTypeErrorAtom
    - JS_ToNumberFree
    - assert
    - set_value
    - JS_AutoInitProperty
    - JS_ThrowReferenceErrorNotDefined
    - JS_IsUndefined
    - likely
    - JS_SetPropertyValue
    - unlikely
    - JS_MKPTR
    - __JS_AtomToUInt32
    - set_array_length
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - printf
    - print_atom
    - JS_GetPrototypePrimitive
    - JS_DefineProperty
    - JS_ThrowTypeErrorReadOnly
    linkageType: ''
    returnType: int
    signature: 'int JS_SetPropertyInternal(JSContext *ctx, JSValueConst this_obj,
      JSAtom prop, JSValue val, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:33845,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:33849,1
    - Dst: max_uint32
      Src: /src/gpac/src/quickjs/quickjs.c:33850,1
    - Dst: js_object_list_get_hash
      Src: /src/gpac/src/quickjs/quickjs.c:33857,1
    - Dst: js_object_list_resize_hash
      Src: /src/gpac/src/quickjs/quickjs.c:33853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - s
    - obj
    argTypes:
    - JSContext*
    - JSObjectList*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 33862
      start: 33840
    functionDepth: 0
    functionLinenumber: 33840
    functionLinenumberEnd: 33862
    functionName: js_object_list_add
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - max_uint32
    - js_object_list_resize_hash
    - unlikely
    - js_object_list_get_hash
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int js_object_list_add(JSContext *ctx, JSObjectList *s, JSObject
      *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewContextRaw
      Src: /src/gpac/src/quickjs/quickjs.c:2175,1
    - Dst: JS_AddIntrinsicEval
      Src: /src/gpac/src/quickjs/quickjs.c:2181,1
    - Dst: JS_AddIntrinsicBaseObjects
      Src: /src/gpac/src/quickjs/quickjs.c:2179,1
    - Dst: JS_AddIntrinsicStringNormalize
      Src: /src/gpac/src/quickjs/quickjs.c:2182,1
    - Dst: JS_AddIntrinsicDate
      Src: /src/gpac/src/quickjs/quickjs.c:2180,1
    - Dst: JS_AddIntrinsicRegExp
      Src: /src/gpac/src/quickjs/quickjs.c:2183,1
    - Dst: JS_AddIntrinsicJSON
      Src: /src/gpac/src/quickjs/quickjs.c:2184,1
    - Dst: JS_AddIntrinsicProxy
      Src: /src/gpac/src/quickjs/quickjs.c:2185,1
    - Dst: JS_AddIntrinsicMapSet
      Src: /src/gpac/src/quickjs/quickjs.c:2186,1
    - Dst: JS_AddIntrinsicTypedArrays
      Src: /src/gpac/src/quickjs/quickjs.c:2187,1
    - Dst: JS_AddIntrinsicBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:2190,1
    - Dst: JS_AddIntrinsicPromise
      Src: /src/gpac/src/quickjs/quickjs.c:2188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2193
    functionName: JS_NewContext
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AddIntrinsicTypedArrays
    - JS_NewContextRaw
    - JS_AddIntrinsicBigInt
    - JS_AddIntrinsicPromise
    - JS_AddIntrinsicMapSet
    - JS_AddIntrinsicDate
    - JS_AddIntrinsicEval
    - JS_AddIntrinsicBaseObjects
    - JS_AddIntrinsicProxy
    - JS_AddIntrinsicStringNormalize
    - JS_AddIntrinsicRegExp
    - JS_AddIntrinsicJSON
    linkageType: ''
    returnType: JSContext*
    signature: 'JSContext *JS_NewContext(JSRuntime *rt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:5081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - func
    - name
    - length
    - cproto
    - magic
    argTypes:
    - JSContext*
    - JSCFunction*
    - char*
    - int
    - JSCFunctionEnum
    - int
    constantsTouched: []
    func_position:
      end: 5083
      start: 5077
    functionDepth: 0
    functionLinenumber: 5077
    functionLinenumberEnd: 5083
    functionName: JS_NewCFunction2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunction3
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewCFunction2(JSContext *ctx, JSCFunction *func, const
      char *name, int length, JSCFunctionEnum cproto, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/quickjs/quickjs.c:5596,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:5597,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5600,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:5600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5606
      start: 5594
    functionDepth: 0
    functionLinenumber: 5594
    functionLinenumberEnd: 5606
    functionName: JS_MarkValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - mark_func
    - JS_VALUE_HAS_REF_COUNT
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: void
    signature: 'void JS_MarkValue(JSRuntime *rt, JSValueConst val, JS_MarkFunc *mark_func) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37424,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:37428,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37425,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:37427,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37432,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37432,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37437,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:37440,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:37443,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37444,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37446,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:37451,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37457,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:37456,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - setter
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37459
      start: 37416
    functionDepth: 0
    functionLinenumber: 37416
    functionLinenumberEnd: 37459
    functionName: js_object___lookupGetter__
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_poll_interrupts
    - JS_ToObject
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - unlikely
    - JS_DupValue
    - js_free_desc
    - JS_ValueToAtom
    - JS_GetOwnPropertyInternal
    - JS_GetPrototypeFree
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___lookupGetter__(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int setter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46112,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 46119
      start: 46109
    functionDepth: 0
    functionLinenumber: 46109
    functionLinenumberEnd: 46119
    functionName: js_map_iterator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_map_iterator_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigDecimalValue
      Src: /src/gpac/src/quickjs/quickjs.c:50593,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:50596,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50597
      start: 50588
    functionDepth: 0
    functionLinenumber: 50588
    functionLinenumberEnd: 50597
    functionName: js_bigdecimal_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_thisBigDecimalValue
    - JS_ToStringFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_toString(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2198
    functionName: JS_GetContextOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *JS_GetContextOpaque(JSContext *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:5621,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5630,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5651,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5680,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:5699,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5672,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5681,1
    - Dst: JS_MarkContext
      Src: /src/gpac/src/quickjs/quickjs.c:5695,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5688,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5671,1
    - Dst: js_autoinit_mark
      Src: /src/gpac/src/quickjs/quickjs.c:5638,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5641,1
    - Dst: gc_mark
      Src: /src/gpac/src/quickjs/quickjs.c:5651,1
    - Dst: async_func_mark
      Src: /src/gpac/src/quickjs/quickjs.c:5679,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5664,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5619,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5628,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5635,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5661,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 55
    argCount: 3
    argNames:
    - rt
    - gp
    - mark_func
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5701
      start: 5608
    functionDepth: 0
    functionLinenumber: 5608
    functionLinenumberEnd: 5701
    functionName: mark_children
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MarkContext
    - get_shape_prop
    - js_autoinit_mark
    - assert
    - JS_MarkValue
    - mark_func
    - abort
    - JS_MKPTR
    - gc_mark
    - async_func_mark
    linkageType: ''
    returnType: void
    signature: 'static void mark_children(JSRuntime *rt, JSGCObjectHeader *gp, JS_MarkFunc
      *mark_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:46131,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:46134,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46135,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46139,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:46137,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46142,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 46149
      start: 46121
    functionDepth: 0
    functionLinenumber: 46121
    functionLinenumberEnd: 46149
    functionName: js_create_map_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_malloc
    - JS_IsException
    - JS_GetOpaque2
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_map_iterator(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigDecimalValue
      Src: /src/gpac/src/quickjs/quickjs.c:50602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50603
      start: 50599
    functionDepth: 0
    functionLinenumber: 50599
    functionLinenumberEnd: 50603
    functionName: js_bigdecimal_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisBigDecimalValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_valueOf(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_async_function_free0
      Src: /src/gpac/src/quickjs/quickjs.c:19198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSAsyncFunctionData*
    constantsTouched: []
    func_position:
      end: 19200
      start: 19195
    functionDepth: 0
    functionLinenumber: 19195
    functionLinenumberEnd: 19200
    functionName: js_async_function_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_async_function_free0
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_free(JSRuntime *rt, JSAsyncFunctionData
      *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40402,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40405,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:40406,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40407,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40403,1
    - Dst: js_new_string8
      Src: /src/gpac/src/quickjs/quickjs.c:40411,1
    - Dst: js_new_string_char
      Src: /src/gpac/src/quickjs/quickjs.c:40417,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40421
      start: 40395
    functionDepth: 0
    functionLinenumber: 40395
    functionLinenumberEnd: 40421
    functionName: js_string_charAt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - js_new_string8
    - JS_ToStringCheckObject
    - JS_ToInt32Sat
    - js_new_string_char
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_charAt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _AddressOfReturnAddress
      Src: /src/gpac/src/quickjs/quickjs.c:1606,1
    - Dst: __builtin_frame_address
      Src: /src/gpac/src/quickjs/quickjs.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1610
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1610
    functionName: js_get_stack_pointer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - _AddressOfReturnAddress
    - __builtin_frame_address
    linkageType: ''
    returnType: uintptr_t
    signature: 'static inline uintptr_t js_get_stack_pointer(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:4151,1
    - Dst: js_string_memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:4152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - p1
    - p2
    argTypes:
    - JSContext*
    - JSString*
    - JSString*
    constantsTouched: []
    func_position:
      end: 4162
      start: 4147
    functionDepth: 0
    functionLinenumber: 4147
    functionLinenumberEnd: 4162
    functionName: js_string_compare
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - min_int
    - js_string_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int js_string_compare(JSContext *ctx, const JSString *p1, const
      JSString *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9415,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9417,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:9421,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9416,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:9418,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9424
      start: 9410
    functionDepth: 0
    functionLinenumber: 9410
    functionLinenumberEnd: 9424
    functionName: JS_DefinePropertyValueValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DefinePropertyValue
    - unlikely
    - JS_ValueToAtom
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyValueValue(JSContext *ctx, JSValueConst this_obj,
      JSValue prop, JSValue val, int flags) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:12259,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:12266,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:12270,1
    - Dst: bf_set_float64
      Src: /src/gpac/src/quickjs/quickjs.c:12271,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12279,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12285,1
    - Dst: JS_StringToBigIntErr
      Src: /src/gpac/src/quickjs/quickjs.c:12291,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:12259,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:12263,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12264,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12286,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12281,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12297,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12303,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12275,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12292,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12302,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:12248,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12253,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12258,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:12269,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:12287,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12288,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:12282,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:12296,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - buf
    - val
    argTypes:
    - JSContext*
    - bf_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12307
      start: 12241
    functionDepth: 0
    functionLinenumber: 12241
    functionLinenumberEnd: 12307
    functionName: JS_ToBigIntFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - isfinite
    - trunc
    - JS_ThrowTypeError
    - JS_IsException
    - JS_StringToBigIntErr
    - JS_VALUE_GET_PTR
    - bf_set_float64
    - bf_init
    - bf_is_finite
    - bf_set
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_FLOAT64
    - bf_rint
    - bf_set_si
    - JS_VALUE_GET_INT
    - is_math_mode
    linkageType: ''
    returnType: bf_t*
    signature: 'static bf_t *JS_ToBigIntFree(JSContext *ctx, bf_t *buf, JSValue val) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12845,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:12851,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12846,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12847,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12852,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12853,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:12856,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:12857,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:12863,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12866,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/quickjs.c:12870,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:12880,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:12873,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12877,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:12878,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12879,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:12876,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:12869,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - pres
    - op
    - op1
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    - JSValue
    constantsTouched: []
    func_position:
      end: 12885
      start: 12838
    functionDepth: 0
    functionLinenumber: 12838
    functionLinenumberEnd: 12885
    functionName: js_unary_arith_bigfloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigFloat
    - throw_bf_exception
    - JS_ThrowTypeError
    - JS_IsException
    - bf_neg
    - abort
    - bf_delete
    - unlikely
    - JS_GetBigFloat
    - bf_set
    - JS_ToBigFloat
    - bf_add_si
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'static int js_unary_arith_bigfloat(JSContext *ctx, JSValue *pres,
      OPCodeEnum op, JSValue op1) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_var_in_scope
      Src: /src/gpac/src/quickjs/quickjs.c:21936,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:21941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 21953
      start: 21932
    functionDepth: 0
    functionLinenumber: 21932
    functionLinenumberEnd: 21953
    functionName: add_arguments_arg
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_var_in_scope
    - add_var
    linkageType: ''
    returnType: int
    signature: 'static int add_arguments_arg(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_get_stack_pointer
      Src: /src/gpac/src/quickjs/quickjs.c:1615,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - alloca_size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1617
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1617
    functionName: js_check_stack_overflow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_get_stack_pointer
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL js_check_stack_overflow(JSRuntime *rt, size_t alloca_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:4167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - p
    - offset
    - len
    argTypes:
    - uint16_t*
    - JSString*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4175
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4175
    functionName: copy_str16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void copy_str16(uint16_t *dst, const JSString *p, int offset,
      int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueValue
      Src: /src/gpac/src/quickjs/quickjs.c:9429,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:9429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - idx
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - uint32_t
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 9431
      start: 9426
    functionDepth: 0
    functionLinenumber: 9426
    functionLinenumberEnd: 9431
    functionName: JS_DefinePropertyValueUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DefinePropertyValueValue
    - JS_NewUint32
    linkageType: ''
    returnType: int
    signature: 'int JS_DefinePropertyValueUint32(JSContext *ctx, JSValueConst this_obj,
      uint32_t idx, JSValue val, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigIntFree
      Src: /src/gpac/src/quickjs/quickjs.c:12311,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - val
    argTypes:
    - JSContext*
    - bf_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12312
      start: 12309
    functionDepth: 0
    functionLinenumber: 12309
    functionLinenumberEnd: 12312
    functionName: JS_ToBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToBigIntFree
    linkageType: ''
    returnType: bf_t*
    signature: 'static bf_t *JS_ToBigInt(JSContext *ctx, bf_t *buf, JSValueConst val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12894,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12896,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:12895,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:12900,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12901,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12902,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:12905,1
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:12906,1
    - Dst: bfdec_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:12912,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/quickjs.c:12915,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/quickjs.c:12918,1
    - Dst: bfdec_neg
      Src: /src/gpac/src/quickjs/quickjs.c:12919,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12924,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:12927,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:12925,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:12922,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12926,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - pres
    - op
    - op1
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    - JSValue
    constantsTouched: []
    func_position:
      end: 12932
      start: 12887
    functionDepth: 0
    functionLinenumber: 12887
    functionLinenumberEnd: 12932
    functionName: js_unary_arith_bigdecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetBigDecimal
    - JS_FreeValue
    - throw_bf_exception
    - JS_NewBigDecimal
    - JS_ToBigDecimal
    - JS_ThrowTypeError
    - JS_IsException
    - abort
    - unlikely
    - bfdec_set
    - bfdec_neg
    - bfdec_add_si
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'static int js_unary_arith_bigdecimal(JSContext *ctx, JSValue *pres,
      OPCodeEnum op, JSValue op1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16439,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16439,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16449,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16459,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:16475,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:16471,1
    - Dst: js_closure
      Src: /src/gpac/src/quickjs/quickjs.c:16466,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16484,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:16503,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16504,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16451,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16466,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:16484,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16501,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16450,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16447,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:16435,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16452,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16455,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16463,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:16497,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:16435,1
    - Dst: get_i8
      Src: /src/gpac/src/quickjs/quickjs.c:16455,1
    - Dst: get_i16
      Src: /src/gpac/src/quickjs/quickjs.c:16459,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:16448,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16507
      start: 16433
    functionDepth: 0
    functionLinenumber: 16433
    functionLinenumberEnd: 16507
    functionName: (pc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - CASE
    - JS_ToObject
    - JS_IsException
    - JS_NewInt32
    - JS_AtomToString
    - JS_GetProperty
    - JS_VALUE_GET_TAG
    - get_u32
    - get_i16
    - JS_DupValue
    - get_i8
    - JS_AtomToValue
    - js_closure
    linkageType: ''
    returnType: SWITCH
    signature: 'SWITCH (pc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19204,1
    - Dst: js_async_function_free
      Src: /src/gpac/src/quickjs/quickjs.c:19207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 19209
      start: 19202
    functionDepth: 0
    functionLinenumber: 19202
    functionLinenumberEnd: 19209
    functionName: js_async_function_resolve_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_async_function_free
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_resolve_finalizer(JSRuntime *rt, JSValue
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:21961,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:21969,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:21968,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:21964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - fd
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21972
      start: 21955
    functionDepth: 0
    functionLinenumber: 21955
    functionLinenumberEnd: 21972
    functionName: add_arg
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    - memset
    - JS_ThrowInternalError
    linkageType: ''
    returnType: int
    signature: 'static int add_arg(JSContext *ctx, JSFunctionDef *fd, JSAtom name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40430,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40433,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:40434,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40435,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40431,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:40441,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40442,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40446
      start: 40423
    functionDepth: 0
    functionLinenumber: 40423
    functionLinenumberEnd: 40446
    functionName: js_string_codePointAt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_getc
    - JS_IsException
    - JS_NewInt32
    - JS_ToStringCheckObject
    - JS_ToInt32Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_codePointAt(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:48710,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:48711,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:48717,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:48713,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:48714,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:48731,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:48733,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48734
      start: 48702
    functionDepth: 0
    functionLinenumber: 48702
    functionLinenumberEnd: 48734
    functionName: js_date_Symbol_toPrimitive
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_ToPrimitive
    - JS_IsString
    - JS_ValueToAtom
    - JS_IsObject
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_Symbol_toPrimitive(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_function_decl2
      Src: /src/gpac/src/quickjs/quickjs.c:33488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - s
    - func_type
    - func_kind
    - func_name
    - ptr
    - function_line_num
    argTypes:
    - JSParseState*
    - JSParseFunctionEnum
    - JSFunctionKindEnum
    - JSAtom
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 33491
      start: 33481
    functionDepth: 0
    functionLinenumber: 33481
    functionLinenumberEnd: 33491
    functionName: js_parse_function_decl
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_function_decl2
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_function_decl(JSParseState *s, JSParseFunctionEnum
      func_type, JSFunctionKindEnum func_kind, JSAtom func_name, const uint8_t *ptr,
      int function_line_num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:34734,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:34752,1
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34741,1
    - Dst: JS_WriteString
      Src: /src/gpac/src/quickjs/quickjs.c:34744,1
    - Dst: bc_put_u8
      Src: /src/gpac/src/quickjs/quickjs.c:34739,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:34754,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:34755,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:34757,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:34761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCWriterState*
    constantsTouched: []
    func_position:
      end: 34763
      start: 34726
    functionDepth: 0
    functionLinenumber: 34726
    functionLinenumberEnd: 34763
    functionName: JS_WriteObjectAtoms
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_dbuf_init
    - dbuf_realloc
    - JS_WriteString
    - dbuf_free
    - memcpy
    - memmove
    - bc_put_u8
    - bc_put_leb128
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteObjectAtoms(BCWriterState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/quickjs/quickjs.c:47779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47780
      start: 47772
    functionDepth: 0
    functionLinenumber: 47772
    functionLinenumberEnd: 47780
    functionName: isUnescaped
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: 'static int isUnescaped(int c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:33498,1
    - Dst: js_parse_source_element
      Src: /src/gpac/src/quickjs/quickjs.c:33516,1
    - Dst: js_parse_directives
      Src: /src/gpac/src/quickjs/quickjs.c:33501,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:33510,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33522,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33523,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33525,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:33527,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 33531
      start: 33493
    functionDepth: 0
    functionLinenumber: 33493
    functionLinenumberEnd: 33531
    functionName: js_parse_program
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_u16
    - next_token
    - add_var
    - js_parse_source_element
    - js_parse_directives
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_program(JSParseState *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:34770,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:34782,1
    - Dst: JS_WriteObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:34785,1
    - Dst: JS_WriteObjectAtoms
      Src: /src/gpac/src/quickjs/quickjs.c:34787,1
    - Dst: js_object_list_init
      Src: /src/gpac/src/quickjs/quickjs.c:34783,1
    - Dst: js_object_list_end
      Src: /src/gpac/src/quickjs/quickjs.c:34789,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34790,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34791,1
    - Dst: js_object_list_end
      Src: /src/gpac/src/quickjs/quickjs.c:34799,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34800,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34801,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:34802,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 6
    argNames:
    - ctx
    - psize
    - obj
    - flags
    - psab_tab
    - psab_tab_len
    argTypes:
    - JSContext*
    - size_t*
    - JSValueConst
    - int
    - uint8_t***
    - size_t*
    constantsTouched: []
    func_position:
      end: 34809
      start: 34765
    functionDepth: 0
    functionLinenumber: 34765
    functionLinenumberEnd: 34809
    functionName: JS_WriteObject2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_WriteObjectRec
    - JS_WriteObjectAtoms
    - memset
    - js_dbuf_init
    - js_object_list_init
    - js_free
    - dbuf_free
    - js_object_list_end
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *JS_WriteObject2(JSContext *ctx, size_t *psize, JSValueConst
      obj, int flags, uint8_t ***psab_tab, size_t *psab_tab_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gpac/src/quickjs/quickjs.c:47787,1
    - Dst: isURIReserved
      Src: /src/gpac/src/quickjs/quickjs.c:47788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - c
    - isComponent
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 47789
      start: 47782
    functionDepth: 0
    functionLinenumber: 47782
    functionLinenumberEnd: 47789
    functionName: isURIUnescaped
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memchr
    - isURIReserved
    linkageType: ''
    returnType: int
    signature: 'static int isURIUnescaped(int c, int isComponent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7902,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:7908,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:7906,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7906,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:7904,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7909,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:7909,1
    - Dst: JS_ToPropertyKey
      Src: /src/gpac/src/quickjs/quickjs.c:7912,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7913,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7915,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7916,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:7918,1
    - Dst: JS_NewAtomStr
      Src: /src/gpac/src/quickjs/quickjs.c:7918,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7922
      start: 7898
    functionDepth: 0
    functionLinenumber: 7898
    functionLinenumberEnd: 7922
    functionName: JS_ValueToAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_DupAtom
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_PTR
    - __JS_AtomFromUInt32
    - JS_ToPropertyKey
    - JS_VALUE_GET_INT
    - js_get_atom_index
    - JS_NewAtomStr
    - js_symbol_to_atom
    linkageType: ''
    returnType: JSAtom
    signature: 'JSAtom JS_ValueToAtom(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:7893,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:7894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 7895
      start: 7891
    functionDepth: 0
    functionLinenumber: 7891
    functionLinenumberEnd: 7895
    functionName: js_symbol_to_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_atom_index
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom js_symbol_to_atom(JSContext *ctx, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3047,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:3048,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:3050,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:3050,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:3047,1
    - Dst: JS_NewSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:3051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - descr
    - atom_type
    argTypes:
    - JSContext*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 3052
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3052
    functionName: JS_NewSymbolFromAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - __JS_AtomIsTaggedInt
    - JS_NewSymbol
    - JS_MKPTR
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewSymbolFromAtom(JSContext *ctx, JSAtom descr,
      int atom_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:5912,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:5914,1
    - Dst: compute_jsstring_size
      Src: /src/gpac/src/quickjs/quickjs.c:5914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - val
    - hp
    argTypes:
    - JSValueConst
    - JSMemoryUsage_helper*
    constantsTouched: []
    func_position:
      end: 5924
      start: 5910
    functionDepth: 0
    functionLinenumber: 5910
    functionLinenumberEnd: 5924
    functionName: compute_value_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - compute_jsstring_size
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void
    signature: 'static void compute_value_size(JSValueConst val, JSMemoryUsage_helper
      *hp) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:8727,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8738,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8751,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8754,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8767,1
    - Dst: JS_ToUint8ClampFree
      Src: /src/gpac/src/quickjs/quickjs.c:8772,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:8798,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8784,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:8819,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8828,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8843,1
    - Dst: add_fast_array_element
      Src: /src/gpac/src/quickjs/quickjs.c:8762,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:8790,1
    - Dst: JS_ToBigInt64Free
      Src: /src/gpac/src/quickjs/quickjs.c:8810,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8845,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8734,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:8726,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8764,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8769,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8776,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:8782,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8800,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8821,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:8826,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8830,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:8848,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8726,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:8735,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8792,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8812,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8842,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8844,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8849,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 81
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 8852
      start: 8723
    functionDepth: 0
    functionLinenumber: 8723
    functionLinenumberEnd: 8852
    functionName: JS_SetPropertyValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeErrorOrFalse
    - add_fast_array_element
    - set_value
    - JS_VALUE_GET_TAG
    - JS_ToFloat64Free
    - likely
    - JS_ToInt32Free
    - unlikely
    - JS_ToBigInt64Free
    - JS_ValueToAtom
    - JS_SetPropertyInternal
    - JS_ToUint8ClampFree
    - JS_VALUE_GET_INT
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetPropertyValue(JSContext *ctx, JSValueConst this_obj,
      JSValue prop, JSValue val, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:14179,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14181,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14180,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:14184,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14185,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14186,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:14190,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14191,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14192,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:14193,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14194,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14195,1
    - Dst: JS_ToUint32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14199,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:14202,1
    - Dst: JS_ToUint32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14208
      start: 14172
    functionDepth: 0
    functionLinenumber: 14172
    functionLinenumberEnd: 14208
    functionName: js_shr_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_NewUint32
    - JS_ToUint32Free
    - is_math_mode
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_shr_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:5932,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:5940,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:5955,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:5983,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:5984,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:5988,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6012,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:6021,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6072,1
    - Dst: compute_jsstring_size
      Src: /src/gpac/src/quickjs/quickjs.c:6104,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5941,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5956,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5989,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:6008,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6051,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6036,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6111,1
    - Dst: round
      Src: /src/gpac/src/quickjs/quickjs.c:6203,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:5971,1
    - Dst: compute_bytecode_size
      Src: /src/gpac/src/quickjs/quickjs.c:5996,1
    - Dst: compute_jsstring_size
      Src: /src/gpac/src/quickjs/quickjs.c:6103,1
    - Dst: round
      Src: /src/gpac/src/quickjs/quickjs.c:6200,1
    - Dst: round
      Src: /src/gpac/src/quickjs/quickjs.c:6207,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:5953,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6084,1
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:6095,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:6184,1
    - Dst: atom_is_free
      Src: /src/gpac/src/quickjs/quickjs.c:6195,1
    - Dst: round
      Src: /src/gpac/src/quickjs/quickjs.c:6201,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 203
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSMemoryUsage*
    constantsTouched: []
    func_position:
      end: 6214
      start: 5926
    functionDepth: 0
    functionLinenumber: 5926
    functionLinenumberEnd: 6214
    functionName: JS_ComputeMemoryUsage
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_size
    - get_shape_prop
    - round
    - memset
    - atom_is_free
    - list_entry
    - compute_bytecode_size
    - compute_jsstring_size
    - compute_value_size
    - list_for_each
    linkageType: ''
    returnType: void
    signature: 'void JS_ComputeMemoryUsage(JSRuntime *rt, JSMemoryUsage *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:6837,1
    - Dst: JS_SetUncatchableError
      Src: /src/gpac/src/quickjs/quickjs.c:6838,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6843
      start: 6830
    functionDepth: 0
    functionLinenumber: 6830
    functionLinenumberEnd: 6843
    functionName: __js_poll_interrupts
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetUncatchableError
    - JS_ThrowInternalError
    linkageType: ''
    returnType: int
    signature: 'int __js_poll_interrupts(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:8857,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - idx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - uint32_t
    - JSValue
    constantsTouched: []
    func_position:
      end: 8859
      start: 8854
    functionDepth: 0
    functionLinenumber: 8854
    functionLinenumberEnd: 8859
    functionName: JS_SetPropertyUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewUint32
    - JS_SetPropertyValue
    linkageType: ''
    returnType: int
    signature: 'int JS_SetPropertyUint32(JSContext *ctx, JSValueConst this_obj, uint32_t
      idx, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:14218,1
    - Dst: bf_get_float64
      Src: /src/gpac/src/quickjs/quickjs.c:14222,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:14220,1
    - Dst: bf_mul_pow_radix
      Src: /src/gpac/src/quickjs/quickjs.c:14219,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:14223,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:14225,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - a
    - exponent
    argTypes:
    - JSContext*
    - bf_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 14228
      start: 14210
    functionDepth: 0
    functionLinenumber: 14210
    functionLinenumberEnd: 14228
    functionName: js_mul_pow10_to_float64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - bf_mul_pow_radix
    - bf_delete
    - bf_get_float64
    - bf_init
    - bf_set_exp_bits
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_mul_pow10_to_float64(JSContext *ctx, const bf_t
      *a, int64_t exponent) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41149,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41150,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:41152,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:41159,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41199,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41154,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41160,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41198,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:41173,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:41203,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41207,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41162,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41164,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:41168,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:41180,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:41195,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41158,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:41185,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:41176,1
    - Dst: string_buffer_fill
      Src: /src/gpac/src/quickjs/quickjs.c:41191,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:41186,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:41200,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41205,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 51
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - padEnd
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 41210
      start: 41141
    functionDepth: 0
    functionLinenumber: 41141
    functionLinenumberEnd: 41210
    functionName: js_string_pad
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_buffer_fill
    - JS_ThrowInternalError
    - JS_IsException
    - min_int
    - string_get
    - string_buffer_free
    - JS_ToString
    - JS_IsUndefined
    - JS_ToStringCheckObject
    - JS_ToInt32Sat
    - string_buffer_init
    - string_buffer_end
    - string_buffer_concat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_pad(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int padEnd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:3634,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:3637,1
    - Dst: string_buffer_widen
      Src: /src/gpac/src/quickjs/quickjs.c:3639,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:3637,1
    - Dst: string_buffer_set_error
      Src: /src/gpac/src/quickjs/quickjs.c:3635,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:3642,1
    - Dst: string_buffer_set_error
      Src: /src/gpac/src/quickjs/quickjs.c:3644,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:3645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - s
    - new_len
    - c
    argTypes:
    - StringBuffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3649
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3649
    functionName: string_buffer_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowInternalError
    - js_realloc2
    - min_int
    - string_buffer_set_error
    - string_buffer_widen
    - max_int
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int string_buffer_realloc(StringBuffer *s, int new_len,
      int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:6784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6785
      start: 6782
    functionDepth: 0
    functionLinenumber: 6782
    functionLinenumberEnd: 6785
    functionName: JS_ThrowTypeErrorNotAnObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorNotAnObject(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14476,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14476,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14482
      start: 14472
    functionDepth: 0
    functionLinenumber: 14472
    functionLinenumberEnd: 14482
    functionName: js_not_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToInt32Free
    - unlikely
    - JS_NewInt32
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_not_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48767,1
    - Dst: time_clip
      Src: /src/gpac/src/quickjs/quickjs.c:48769,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48767,1
    - Dst: JS_SetThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48770
      start: 48761
    functionDepth: 0
    functionLinenumber: 48761
    functionLinenumberEnd: 48770
    functionName: js_date_setTime
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - time_clip
    - JS_SetThisTimeValue
    - JS_ToFloat64
    - JS_ThisTimeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_setTime(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49550,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:49554,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49553,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49551,1
    - Dst: JS_IsBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49556,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49557,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 49561
      start: 49548
    functionDepth: 0
    functionLinenumber: 49548
    functionLinenumberEnd: 49561
    functionName: js_thisBigFloatValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_DupValue
    - JS_IsBigFloat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisBigFloatValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:50435,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50436,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:50439,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50441,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50438,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50442,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:50444,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50445,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50447,1
    - Dst: JS_NewGlobalCConstructorOnly
      Src: /src/gpac/src/quickjs/quickjs.c:50448,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:50452,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:50451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 50453
      start: 50422
    functionDepth: 0
    functionLinenumber: 50422
    functionLinenumberEnd: 50453
    functionName: JS_AddIntrinsicBigFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewGlobalCConstructor
    - JS_NewGlobalCConstructorOnly
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicBigFloat(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53011,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53012,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53018,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53015,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:53013,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:53024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - obj
    - buffer
    - offset
    - len
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValue
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 53029
      start: 53003
    functionDepth: 0
    functionLinenumber: 53003
    functionLinenumberEnd: 53029
    functionName: typed_array_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - js_malloc
    - typed_array_size_log2
    - list_add_tail
    linkageType: ''
    returnType: int
    signature: 'static int typed_array_init(JSContext *ctx, JSValueConst obj, JSValue
      buffer, uint64_t offset, uint64_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3653,1
    - Dst: string_buffer_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:3654,1
    - Dst: string_buffer_widen
      Src: /src/gpac/src/quickjs/quickjs.c:3662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - StringBuffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3667
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3667
    functionName: string_buffer_putc_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - string_buffer_realloc
    - string_buffer_widen
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int string_buffer_putc_slow(StringBuffer *s, uint32_t
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:6789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6790
      start: 6787
    functionDepth: 0
    functionLinenumber: 6787
    functionLinenumberEnd: 6790
    functionName: JS_ThrowTypeErrorNotASymbol
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorNotASymbol(JSContext *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14492,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14494,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:14497,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14493,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14498,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14499,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14502,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14503,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:14505,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:14506,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14509,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14531,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14508,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14549,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:14507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14528,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14527,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14555
      start: 14484
    functionDepth: 0
    functionLinenumber: 14484
    functionLinenumberEnd: 14555
    functionName: js_relational_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_compare
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ToFloat64Free
    - JS_ToPrimitiveFree
    - JS_NewBool
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_relational_slow(JSContext *ctx, JSValue *sp,
      OPCodeEnum op) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41221,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:41227,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:41231,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41222,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:41224,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:41236,1
    - Dst: string_buffer_init2
      Src: /src/gpac/src/quickjs/quickjs.c:41239,1
    - Dst: string_buffer_fill
      Src: /src/gpac/src/quickjs/quickjs.c:41242,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:41242,1
    - Dst: string_buffer_concat
      Src: /src/gpac/src/quickjs/quickjs.c:41245,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41252,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:41249,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41248,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41254
      start: 41212
    functionDepth: 0
    functionLinenumber: 41212
    functionLinenumberEnd: 41254
    functionName: js_string_repeat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_concat
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_ThrowRangeError
    - string_buffer_fill
    - JS_ThrowInternalError
    - JS_IsException
    - string_get
    - string_buffer_init2
    - JS_ToStringCheckObject
    - string_buffer_end
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_repeat(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThisTimeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48779,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48779,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:48782,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48783,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48787,1
    - Dst: set_date_field
      Src: /src/gpac/src/quickjs/quickjs.c:48788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48789
      start: 48772
    functionDepth: 0
    functionLinenumber: 48772
    functionLinenumberEnd: 48789
    functionName: js_date_setYear
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - trunc
    - isfinite
    - set_date_field
    - JS_NewFloat64
    - JS_ToFloat64
    - JS_ThisTimeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_setYear(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigFloatValue
      Src: /src/gpac/src/quickjs/quickjs.c:49570,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49573,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49571,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:49576,1
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:49580,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49581,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49586
      start: 49563
    functionDepth: 0
    functionLinenumber: 49563
    functionLinenumberEnd: 49586
    functionName: js_bigfloat_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - js_get_radix
    - JS_IsUndefined
    - js_thisBigFloatValue
    - js_ftoa
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:53040,1
    - Dst: JS_GetIterator2
      Src: /src/gpac/src/quickjs/quickjs.c:53043,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53041,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53044,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:53046,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53047,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:53051,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53052,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53055,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53058,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53068,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53069,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53063,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53067,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53062,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - plen
    - obj
    - method
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 53071
      start: 53032
    functionDepth: 0
    functionLinenumber: 53032
    functionLinenumberEnd: 53071
    functionName: js_array_from_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewArray
    - JS_IsException
    - JS_GetProperty
    - JS_GetIterator2
    - JS_IteratorNext
    - JS_CreateDataPropertyUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_from_iterator(JSContext *ctx, uint32_t *plen,
      JSValueConst obj, JSValueConst method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5306,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5308
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5308
    functionName: js_object_data_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_object_data_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41905,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41907,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41911
      start: 41900
    functionDepth: 0
    functionLinenumber: 41900
    functionLinenumberEnd: 41911
    functionName: js_math_imul
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_math_imul(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5312,1
    - Dst: JS_FreeContext
      Src: /src/gpac/src/quickjs/quickjs.c:5315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5316
      start: 5310
    functionDepth: 0
    functionLinenumber: 5310
    functionLinenumberEnd: 5316
    functionName: js_c_function_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeContext
    linkageType: ''
    returnType: void
    signature: 'static void js_c_function_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14439,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14440,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14443,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14443,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14439,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:14462,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:14464,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14470
      start: 14430
    functionDepth: 0
    functionLinenumber: 14430
    functionLinenumberEnd: 14470
    functionName: js_binary_logic_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - abort
    - JS_NewInt32
    - JS_ToInt32Free
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'int js_binary_logic_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17421,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:17430,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:17424,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17430,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17432
      start: 17415
    functionDepth: 0
    functionLinenumber: 17415
    functionLinenumberEnd: 17432
    functionName: (OP_if_false8)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_poll_interrupts
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ToBoolFree
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_if_false8) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:41918,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41924,1
    - Dst: clz32
      Src: /src/gpac/src/quickjs/quickjs.c:41923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41925
      start: 41913
    functionDepth: 0
    functionLinenumber: 41913
    functionLinenumberEnd: 41925
    functionName: js_math_clz32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToUint32
    - JS_NewInt32
    - clz32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_math_clz32(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:50461,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:50472,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50474,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50475,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50477,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50489,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:50498,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50499,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50523,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50539,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50506,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:50518,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:50524,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/quickjs.c:50542,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50541,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50530,1
    - Dst: bfdec_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:50478,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50479,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:50488,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50509,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/quickjs.c:50510,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:50513,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:50521,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:50529,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50548,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50547,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:50503,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50514,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:50515,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50538,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 3
    argNames:
    - ctx
    - val
    - allow_null_or_undefined
    argTypes:
    - JSContext*
    - JSValue
    - BOOL
    constantsTouched: []
    func_position:
      end: 50551
      start: 50457
    functionDepth: 0
    functionLinenumber: 50457
    functionLinenumberEnd: 50551
    functionName: JS_ToBigDecimalFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_ThrowSyntaxError
    - JS_NewBigDecimal
    - JS_FreeCString
    - js_atof
    - bfdec_set_nan
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ToCStringLen
    - bfdec_set_zero
    - JS_ToStringFree
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - skip_spaces
    - bfdec_set_si
    - JS_GetBigDecimal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToBigDecimalFree(JSContext *ctx, JSValue val, BOOL
      allow_null_or_undefined) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17108,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17112
      start: 17105
    functionDepth: 0
    functionLinenumber: 17105
    functionLinenumberEnd: 17112
    functionName: (OP_get_arg)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_arg) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17402,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:17405,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17411,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17403,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:17411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17413
      start: 17396
    functionDepth: 0
    functionLinenumber: 17396
    functionLinenumberEnd: 17413
    functionName: (OP_if_true8)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_poll_interrupts
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ToBoolFree
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_if_true8) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40457,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:40461,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:40461,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40464
      start: 40448
    functionDepth: 0
    functionLinenumber: 40448
    functionLinenumberEnd: 40464
    functionName: js_string_concat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_DupValue
    - JS_ConcatString
    - JS_ToStringCheckObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_concat(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40470,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:40470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - p1
    - p2
    - x1
    - x2
    - len
    argTypes:
    - JSString*
    - JSString*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40474
      start: 40466
    functionDepth: 0
    functionLinenumber: 40466
    functionLinenumberEnd: 40474
    functionName: string_cmp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_cmp(JSString *p1, JSString *p2, int x1, int x2,
      int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:12119,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12126,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12123,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:12124,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:12120,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:12127,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:12128,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:12129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12133
      start: 12116
    functionDepth: 0
    functionLinenumber: 12116
    functionLinenumberEnd: 12133
    functionName: JS_NewBigUint64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - bf_set_ui
    - JS_IsException
    - JS_NewInt64
    - JS_NewBigInt
    - JS_ThrowOutOfMemory
    - JS_GetBigInt
    - is_math_mode
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewBigUint64(JSContext *ctx, uint64_t v) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:53602,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:53621,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53604,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53632,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:53628,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53636,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53641,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53644,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 7
    argNames:
    - ctx
    - pabuf
    - psize_log2
    - pclass_id
    - obj
    - idx_val
    - is_waitable
    argTypes:
    - JSContext*
    - JSArrayBuffer**
    - int*
    - JSClassID*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 53653
      start: 53588
    functionDepth: 0
    functionLinenumber: 53588
    functionLinenumberEnd: 53653
    functionName: js_atomics_get_ptr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowRangeError
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - typed_array_size_log2
    - JS_ToIndex
    linkageType: ''
    returnType: void*
    signature: 'static void *js_atomics_get_ptr(JSContext *ctx, JSArrayBuffer **pabuf,
      int *psize_log2, JSClassID *pclass_id, JSValueConst obj, JSValueConst idx_val,
      int is_waitable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - val
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4295
      start: 4292
    functionDepth: 0
    functionLinenumber: 4292
    functionLinenumberEnd: 4295
    functionName: shape_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t shape_hash(uint32_t h, uint32_t val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_logical_and_or
      Src: /src/gpac/src/quickjs/quickjs.c:25396,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:25399,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25405,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25401,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25404,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25406,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25407,1
    - Dst: js_parse_expr_binary
      Src: /src/gpac/src/quickjs/quickjs.c:25409,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 25417
      start: 25392
    functionDepth: 0
    functionLinenumber: 25392
    functionLinenumberEnd: 25417
    functionName: js_parse_coalesce_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_goto
    - new_label
    - next_token
    - emit_label
    - js_parse_expr_binary
    - js_parse_logical_and_or
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_coalesce_expr(JSParseState *s, int
      parse_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17756,1
    - Dst: js_method_set_properties
      Src: /src/gpac/src/quickjs/quickjs.c:17785,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17757,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:17787,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17761,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17790,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17792,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17793,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17796,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames:
    - OP_define_method_computed
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17798
      start: 17742
    functionDepth: 0
    functionLinenumber: 17742
    functionLinenumberEnd: 17798
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_u32
    - unlikely
    - JS_DefineProperty
    - JS_ValueToAtom
    - JS_FreeAtom
    - js_method_set_properties
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_method): CASE(OP_define_method_computed) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:33978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 33979
      start: 33976
    functionDepth: 0
    functionLinenumber: 33976
    functionLinenumberEnd: 33979
    functionName: bc_put_u8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void bc_put_u8(BCWriterState *s, uint8_t v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:33984,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:33985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 33986
      start: 33981
    functionDepth: 0
    functionLinenumber: 33981
    functionLinenumberEnd: 33986
    functionName: bc_put_u16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bswap16
    - dbuf_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void bc_put_u16(BCWriterState *s, uint16_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hash_bits
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 4301
      start: 4298
    functionDepth: 0
    functionLinenumber: 4298
    functionLinenumberEnd: 4301
    functionName: get_shape_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_shape_hash(uint32_t h, int hash_bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_coalesce_expr
      Src: /src/gpac/src/quickjs/quickjs.c:25424,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25427,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:25433,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25429,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:25431,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25436,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25438,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:25440,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:25443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 25446
      start: 25420
    functionDepth: 0
    functionLinenumber: 25420
    functionLinenumberEnd: 25446
    functionName: js_parse_cond_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_coalesce_expr
    - emit_goto
    - next_token
    - emit_label
    - js_parse_assign_expr
    - js_parse_assign_expr2
    - js_parse_expect
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_cond_expr(JSParseState *s, int parse_flags) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:27733,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:27736,1
    - Dst: get_exported_names
      Src: /src/gpac/src/quickjs/quickjs.c:27739,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:27738,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:27734,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27740,1
    - Dst: js_resolve_export
      Src: /src/gpac/src/quickjs/quickjs.c:27756,1
    - Dst: js_resolve_export_throw_error
      Src: /src/gpac/src/quickjs/quickjs.c:27761,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:27774,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:27775,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:27792,1
    - Dst: JS_DefineAutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:27803,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27814,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:27817,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27824,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27823,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:27816,1
    - Dst: rqsort
      Src: /src/gpac/src/quickjs/quickjs.c:27783,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27826
      start: 27725
    functionDepth: 0
    functionLinenumber: 27725
    functionLinenumberEnd: 27826
    functionName: js_build_module_ns
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - memset
    - JS_IsException
    - JS_AtomToString
    - rqsort
    - JS_DefineAutoInitProperty
    - JS_DefinePropertyValue
    - JS_NewObjectClass
    - js_free
    - js_resolve_export
    - get_exported_names
    - js_resolve_export_throw_error
    - add_property
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_build_module_ns(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:27830,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:27833,1
    - Dst: js_build_module_ns
      Src: /src/gpac/src/quickjs/quickjs.c:27832,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:27837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27838
      start: 27828
    functionDepth: 0
    functionLinenumber: 27828
    functionLinenumberEnd: 27838
    functionName: js_get_module_ns
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_DupValue
    - JS_IsUndefined
    - js_build_module_ns
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_get_module_ns(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:42280,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42285,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42282,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42286,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42283,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42288
      start: 42276
    functionDepth: 0
    functionLinenumber: 42276
    functionLinenumberEnd: 42288
    functionName: js_is_regexp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_regexp
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_IsObject
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int js_is_regexp(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - atom
    argTypes:
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2436
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2436
    functionName: __JS_AtomToUInt32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t __JS_AtomToUInt32(JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17829,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17831,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17833
      start: 17826
    functionDepth: 0
    functionLinenumber: 17826
    functionLinenumberEnd: 17833
    functionName: (OP_get_array_el2)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_GetPropertyValue
    - JS_IsException
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_array_el2) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - fd
    - name
    - scope_level
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 30049
      start: 30037
    functionDepth: 0
    functionLinenumber: 30037
    functionLinenumberEnd: 30049
    functionName: find_private_class_field_all
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_private_class_field_all(JSContext *ctx, JSFunctionDef
      *fd, JSAtom name, int scope_level) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:23793,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:23797,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:23795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 23800
      start: 23791
    functionDepth: 0
    functionLinenumber: 23791
    functionLinenumberEnd: 23800
    functionName: js_parse_expr_paren
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_expect
    - js_parse_expr
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_expr_paren(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_object_list_get_hash
      Src: /src/gpac/src/quickjs/quickjs.c:33873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - s
    - obj
    argTypes:
    - JSContext*
    - JSObjectList*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 33882
      start: 33865
    functionDepth: 0
    functionLinenumber: 33865
    functionLinenumberEnd: 33882
    functionName: js_object_list_find
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_object_list_get_hash
    linkageType: ''
    returnType: int
    signature: 'static int js_object_list_find(JSContext *ctx, JSObjectList *s, JSObject
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2441
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2441
    functionName: is_num
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int is_num(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23805,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:23806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - atom
    argTypes:
    - JSParseState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 23807
      start: 23802
    functionDepth: 0
    functionLinenumber: 23802
    functionLinenumberEnd: 23807
    functionName: js_unsupported_keyword
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - JS_AtomGetStr
    linkageType: ''
    returnType: int
    signature: 'static int js_unsupported_keyword(JSParseState *s, JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30056,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30059,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - bc
    - is_ref
    - idx
    argTypes:
    - DynBuf*
    - BOOL
    - int
    constantsTouched: []
    func_position:
      end: 30060
      start: 30051
    functionDepth: 0
    functionLinenumber: 30051
    functionLinenumberEnd: 30060
    functionName: get_loc_or_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void get_loc_or_ref(DynBuf *bc, BOOL is_ref, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:33886,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:33887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSObjectList*
    constantsTouched: []
    func_position:
      end: 33888
      start: 33884
    functionDepth: 0
    functionLinenumber: 33884
    functionLinenumberEnd: 33888
    functionName: js_object_list_end
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free
    linkageType: ''
    returnType: void
    signature: 'static void js_object_list_end(JSContext *ctx, JSObjectList *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:5193,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5196,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5198,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5196,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:5198,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:5200,1
    - Dst: js_autoinit_free
      Src: /src/gpac/src/quickjs/quickjs.c:5202,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - rt
    - pr
    - prop_flags
    argTypes:
    - JSRuntime*
    - JSProperty*
    - int
    constantsTouched: []
    func_position:
      end: 5207
      start: 5191
    functionDepth: 0
    functionLinenumber: 5191
    functionLinenumberEnd: 5207
    functionName: free_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MKPTR
    - unlikely
    - JS_FreeValueRT
    - js_autoinit_free
    - free_var_ref
    linkageType: ''
    returnType: void
    signature: 'static void free_property(JSRuntime *rt, JSProperty *pr, int prop_flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18245,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18246,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18254,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18249,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18247,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18255,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:18257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18259
      start: 18238
    functionDepth: 0
    functionLinenumber: 18238
    functionLinenumberEnd: 18259
    functionName: (OP_dec_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_DupValue
    - js_unary_arith_slow
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_dec_loc) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_thisSymbolValue
      Src: /src/gpac/src/quickjs/quickjs.c:45487,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:45490,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45488,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:45494,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:45494,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45498
      start: 45482
    functionDepth: 0
    functionLinenumber: 45482
    functionLinenumberEnd: 45498
    functionName: js_symbol_get_description
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_AtomToString
    - JS_VALUE_GET_PTR
    - js_thisSymbolValue
    - js_get_atom_index
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_get_description(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52832,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:52839,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52835,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:52835,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:52885,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52888,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52889,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:52895,1
    - Dst: rqsort
      Src: /src/gpac/src/quickjs/quickjs.c:52902,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:52906,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:52909,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:52941,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:52942,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:52912,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:52939,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:52949,1
    - Dst: rqsort
      Src: /src/gpac/src/quickjs/quickjs.c:52944,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 90
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52950
      start: 52817
    functionDepth: 0
    functionLinenumber: 52817
    functionLinenumberEnd: 52950
    functionName: js_typed_array_sort
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_malloc
    - abort
    - JS_IsUndefined
    - rqsort
    - js_free
    - memcpy
    - JS_DupValue
    - check_function
    - typed_array_size_log2
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_sort(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:5217,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:5221,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:5218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - p
    - atom
    argTypes:
    - JSObject*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 5227
      start: 5209
    functionDepth: 0
    functionLinenumber: 5209
    functionLinenumberEnd: 5227
    functionName: find_own_property1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - likely
    - get_shape_prop
    - prop_hash_end
    linkageType: ''
    returnType: force_inline*
    signature: 'static force_inline JSShapeProperty *find_own_property1(JSObject *p,
      JSAtom atom) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:47703,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47704,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47711,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:47709,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:47707,1
    - Dst: hex_decode
      Src: /src/gpac/src/quickjs/quickjs.c:47713,1
    - Dst: isURIReserved
      Src: /src/gpac/src/quickjs/quickjs.c:47718,1
    - Dst: hex_decode
      Src: /src/gpac/src/quickjs/quickjs.c:47742,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47754,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:47761,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47767,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:47768,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:47764,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47763,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - isComponent
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 47770
      start: 47695
    functionDepth: 0
    functionLinenumber: 47695
    functionLinenumberEnd: 47770
    functionName: js_global_decodeURI
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - isURIReserved
    - JS_FreeValue
    - JS_IsException
    - string_buffer_free
    - string_get
    - js_throw_URIError
    - JS_ToString
    - string_buffer_end
    - string_buffer_putc
    - string_buffer_init
    - hex_decode
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_decodeURI(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int isComponent) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35307,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35384,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35392,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35393,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35394,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35395,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35396,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35404,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35347,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35439,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35386,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35431,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35344,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35374,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35286,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:35269,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35276,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35277,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35278,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35279,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35280,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35281,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35284,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35444,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35361,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35291,1
    - Dst: bc_get_leb128_u16
      Src: /src/gpac/src/quickjs/quickjs.c:35299,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35285,1
    - Dst: JS_ReadFunctionBytecode
      Src: /src/gpac/src/quickjs/quickjs.c:35405,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35426,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35288,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35347,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35416,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35419,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35407,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:35330,1
    - Dst: JS_DupContext
      Src: /src/gpac/src/quickjs/quickjs.c:35441,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35435,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35366,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35398,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35412,1
    - Dst: bc_get_leb128_u16
      Src: /src/gpac/src/quickjs/quickjs.c:35297,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35305,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35377,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35282,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35347,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35349,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35363,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35283,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35374,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35326,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35370,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35411,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35428,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35352,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35371,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35369,1
    - Dst: bc_get_leb128_u16
      Src: /src/gpac/src/quickjs/quickjs.c:35295,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35303,1
    - Dst: bc_get_flags
      Src: /src/gpac/src/quickjs/quickjs.c:35372,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35398,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35359,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35389,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35426,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35356,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35380,1
    - Dst: bc_get_buf
      Src: /src/gpac/src/quickjs/quickjs.c:35422,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35414,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35401,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35374,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35426,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35398,1
    - Dst: bc_get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:35273,1
    - Dst: bc_get_leb128_u16
      Src: /src/gpac/src/quickjs/quickjs.c:35293,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35301,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:35342,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35434,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 161
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35446
      start: 35258
    functionDepth: 0
    functionLinenumber: 35258
    functionLinenumberEnd: 35446
    functionName: JS_ReadFunctionTag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_get_u16
    - memset
    - bc_get_leb128_u16
    - bc_get_leb128_int
    - JS_IsException
    - js_mallocz
    - JS_ReadFunctionBytecode
    - bc_get_buf
    - bc_read_trace
    - JS_ReadObjectRec
    - JS_MKPTR
    - memcpy
    - bc_get_flags
    - printf
    - JS_DupContext
    - JS_FreeValue
    - print_atom
    - bc_get_u8
    - bc_get_atom
    - add_gc_object
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadFunctionTag(BCReaderState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:6779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 6780
      start: 6777
    functionDepth: 0
    functionLinenumber: 6777
    functionLinenumberEnd: 6780
    functionName: JS_ThrowStackOverflow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowInternalError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowStackOverflow(JSContext *ctx) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35470,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35501,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35493,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35498,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35515,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35524,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35531,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35533,1
    - Dst: js_free_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:35544,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:35460,1
    - Dst: print_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35460,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:35465,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35466,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35475,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35510,1
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35489,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35520,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35529,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35539,1
    - Dst: bc_get_atom
      Src: /src/gpac/src/quickjs/quickjs.c:35457,1
    - Dst: bc_read_trace
      Src: /src/gpac/src/quickjs/quickjs.c:35460,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:35465,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35506,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35480,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35538,1
    - Dst: js_new_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:35462,1
    - Dst: bc_get_leb128_int
      Src: /src/gpac/src/quickjs/quickjs.c:35496,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:35484,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 74
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35547
      start: 35448
    functionDepth: 0
    functionLinenumber: 35448
    functionLinenumberEnd: 35547
    functionName: JS_ReadModule
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_module_def
    - print_atom
    - bc_get_leb128_int
    - bc_read_trace
    - JS_IsException
    - JS_ReadObjectRec
    - JS_MKPTR
    - JS_DupValue
    - js_mallocz
    - js_free_module_def
    - bc_get_u8
    - bc_get_atom
    - printf
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadModule(BCReaderState *s) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39143,1
    - Dst: JS_ArraySpeciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:39177,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39193,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39178,1
    - Dst: JS_CopySubArray
      Src: /src/gpac/src/quickjs/quickjs.c:39213,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39224,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39224,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:39227,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39227,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39235,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39146,1
    - Dst: max_int64
      Src: /src/gpac/src/quickjs/quickjs.c:39174,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39176,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:39207,1
    - Dst: js_is_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:39190,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39193,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39207,1
    - Dst: JS_DeletePropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39219,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39170,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39171,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:39199,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39230,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39234,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39142,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:39163,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39159,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39203,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39179,1
    - Dst: js_get_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:39189,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 101
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - splice
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 39237
      start: 39132
    functionDepth: 0
    functionLinenumber: 39132
    functionLinenumberEnd: 39237
    functionName: js_array_slice
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_CopySubArray
    - js_get_fast_array
    - JS_ArraySpeciesCreate
    - max_int64
    - JS_ToInt64Clamp
    - JS_SetProperty
    - JS_ThrowTypeError
    - JS_NewInt64
    - JS_DupValue
    - JS_TryGetPropertyInt64
    - js_is_fast_array
    - JS_SetPropertyInt64
    - js_get_length64
    - JS_IsUndefined
    - JS_CreateDataPropertyUint32
    - JS_DeletePropertyInt64
    - JS_FreeValue
    - JS_ToObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_slice(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int splice) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52005,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52009,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52016,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52012,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52017,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:52021,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:52023,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:52024,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:52025,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52026,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:52031,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:52027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52032
      start: 51999
    functionDepth: 0
    functionLinenumber: 51999
    functionLinenumberEnd: 52032
    functionName: js_typed_array_copyWithin
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - min_int
    - JS_IsUndefined
    - JS_ToInt32Clamp
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - typed_array_is_detached
    - JS_DupValue
    - typed_array_size_log2
    - memmove
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_copyWithin(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53083,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53089,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:53088,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53113,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53085,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:53084,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:53091,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53118,1
    - Dst: typed_array_init
      Src: /src/gpac/src/quickjs/quickjs.c:53108,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53115,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53121,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53095,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:53101,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:53099,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:53091,1
    - Dst: js_array_from_iterator
      Src: /src/gpac/src/quickjs/quickjs.c:53093,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53094,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53112,1
    - Dst: js_array_buffer_constructor1
      Src: /src/gpac/src/quickjs/quickjs.c:53104,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53106,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53122,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - new_target
    - obj
    - classid
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 53124
      start: 53073
    functionDepth: 0
    functionLinenumber: 53073
    functionLinenumberEnd: 53124
    functionName: js_typed_array_constructor_obj
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_SetPropertyUint32
    - JS_IsNull
    - JS_IsException
    - js_get_length64
    - JS_GetProperty
    - JS_IsUndefined
    - JS_DupValue
    - js_array_from_iterator
    - js_create_from_ctor
    - typed_array_size_log2
    - js_array_buffer_constructor1
    - typed_array_init
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_constructor_obj(JSContext *ctx, JSValueConst
      new_target, JSValueConst obj, int classid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:39245,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:39246,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39252,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39249,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:39256,1
    - Dst: JS_ToInt64Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:39257,1
    - Dst: min_int64
      Src: /src/gpac/src/quickjs/quickjs.c:39261,1
    - Dst: JS_CopySubArray
      Src: /src/gpac/src/quickjs/quickjs.c:39263,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39272
      start: 39239
    functionDepth: 0
    functionLinenumber: 39239
    functionLinenumberEnd: 39272
    functionName: js_array_copyWithin
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - min_int64
    - JS_ToObject
    - JS_FreeValue
    - js_get_length64
    - JS_CopySubArray
    - JS_IsUndefined
    - JS_ToInt64Clamp
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_copyWithin(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52041,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:52053,1
    - Dst: JS_ToUint8ClampFree
      Src: /src/gpac/src/quickjs/quickjs.c:52048,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:52044,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:52048,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:52059,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:52065,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52083,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52088,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52089,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52096,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:52121,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:52093,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:52119,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:52100,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:52094,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52122
      start: 52034
    functionDepth: 0
    functionLinenumber: 52034
    functionLinenumberEnd: 52122
    functionName: js_typed_array_fill
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ToBigInt64
    - memset
    - JS_ToUint32
    - abort
    - JS_ToInt32Clamp
    - JS_IsUndefined
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_DupValue
    - typed_array_is_detached
    - typed_array_size_log2
    - JS_ToUint8ClampFree
    - JS_ToFloat64
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_fill(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:53138,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:53142,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53139,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:53141,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53153,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53159,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:53166,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:53171,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:53176,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53167,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53189,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53143,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:53151,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53163,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53180,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53168,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:53181,1
    - Dst: js_array_buffer_constructor1
      Src: /src/gpac/src/quickjs/quickjs.c:53160,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:53162,1
    - Dst: typed_array_init
      Src: /src/gpac/src/quickjs/quickjs.c:53172,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53183,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:53151,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - new_target
    - src_obj
    - classid
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 53191
      start: 53126
    functionDepth: 0
    functionLinenumber: 53126
    functionLinenumberEnd: 53191
    functionName: js_typed_array_constructor_ta
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_GetPropertyUint32
    - JS_SetPropertyUint32
    - JS_IsException
    - JS_SpeciesConstructor
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - JS_MKPTR
    - JS_GetOpaque
    - typed_array_is_detached
    - memcpy
    - js_create_from_ctor
    - typed_array_size_log2
    - js_array_buffer_constructor1
    - typed_array_init
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_constructor_ta(JSContext *ctx, JSValueConst
      new_target, JSValueConst src_obj, int classid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42264,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:42265,1
    - Dst: JS_ThrowTypeErrorInvalidClass
      Src: /src/gpac/src/quickjs/quickjs.c:42270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - obj
    - throw_error
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 42273
      start: 42262
    functionDepth: 0
    functionLinenumber: 42262
    functionLinenumberEnd: 42273
    functionName: js_get_regexp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeErrorInvalidClass
    linkageType: ''
    returnType: JSRegExp*
    signature: 'static JSRegExp *js_get_regexp(JSContext *ctx, JSValueConst obj, BOOL
      throw_error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17649,1
    - Dst: JS_NewSymbolFromAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17651,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17655
      start: 17647
    functionDepth: 0
    functionLinenumber: 17647
    functionLinenumberEnd: 17655
    functionName: (OP_private_symbol)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_IsException
    - JS_NewSymbolFromAtom
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_private_symbol) : '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30610,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30619,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30674,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30678,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30688,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30695,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30703,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30710,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30714,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30715,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30613,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30622,1
    - Dst: new_label_fd
      Src: /src/gpac/src/quickjs/quickjs.c:30630,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30659,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30678,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30660,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30635,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30709,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30710,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30719,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30726,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30612,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30621,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30633,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30677,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30634,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30679,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30689,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30690,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30699,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30700,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30711,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30706,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30611,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30620,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:30636,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30675,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30689,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30696,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30700,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30715,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30723,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30725,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:30730,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30707,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 108
    argCount: 3
    argNames:
    - ctx
    - s
    - bc
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 30734
      start: 30602
    functionDepth: 0
    functionLinenumber: 30602
    functionLinenumberEnd: 30734
    functionName: instantiate_hoisted_definitions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - update_label
    - JS_DupAtom
    - new_label_fd
    - js_free
    - dbuf_put_u16
    - dbuf_put_u32
    - dbuf_putc
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void instantiate_hoisted_definitions(JSContext *ctx, JSFunctionDef
      *s, DynBuf *bc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32276,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32282,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32289,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:32301,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - s
    - pos
    - op
    - stack_len
    argTypes:
    - JSContext*
    - StackSizeState*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 32306
      start: 32272
    functionDepth: 0
    functionLinenumber: 32272
    functionLinenumberEnd: 32306
    functionName: ss_check
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resize_array
    - JS_ThrowInternalError
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int ss_check(JSContext *ctx, StackSizeState *s,
      int pos, int op, int stack_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17292,1
    - Dst: close_lexical_var
      Src: /src/gpac/src/quickjs/quickjs.c:17294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17295
      start: 17289
    functionDepth: 0
    functionLinenumber: 17289
    functionLinenumberEnd: 17295
    functionName: (OP_close_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - close_lexical_var
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_close_loc) : '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30745,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:30757,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30748,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:30753,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:30749,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30764,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:30765,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30769,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:30770,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30775,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30776,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 5
    argNames:
    - s
    - bc_buf
    - bc_len
    - pos
    - linep
    argTypes:
    - JSFunctionDef*
    - uint8_t*
    - int
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 30784
      start: 30736
    functionDepth: 0
    functionLinenumber: 30736
    functionLinenumberEnd: 30784
    functionName: skip_dead_code
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - update_label
    - get_u32
    - JS_FreeAtom
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int skip_dead_code(JSFunctionDef *s, const uint8_t *bc_buf,
      int bc_len, int pos, int *linep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisNumberValue
      Src: /src/gpac/src/quickjs/quickjs.c:39878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39879
      start: 39875
    functionDepth: 0
    functionLinenumber: 39875
    functionLinenumberEnd: 39879
    functionName: js_number_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisNumberValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4345
      start: 4338
    functionDepth: 0
    functionLinenumber: 4338
    functionLinenumberEnd: 4345
    functionName: js_shape_hash_link
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_hash
    linkageType: ''
    returnType: void
    signature: 'static void js_shape_hash_link(JSRuntime *rt, JSShape *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43119,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:43121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - ValueBuffer*
    constantsTouched: []
    func_position:
      end: 43124
      start: 43116
    functionDepth: 0
    functionLinenumber: 43116
    functionLinenumberEnd: 43124
    functionName: value_buffer_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_free
    linkageType: ''
    returnType: void
    signature: 'static void value_buffer_free(ValueBuffer *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:48801,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48803,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48806,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:48805,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:48802,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:48808,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs.c:48813,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48814,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:48816,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:48817,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:48821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48824,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48818,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48827
      start: 48791
    functionDepth: 0
    functionLinenumber: 48791
    functionLinenumberEnd: 48827
    functionName: js_date_toJSON
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - isfinite
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_ToPrimitive
    - JS_IsException
    - JS_IsNumber
    - JS_CallFree
    - JS_ToFloat64
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_toJSON(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4358
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4358
    functionName: js_shape_hash_unlink
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_hash
    linkageType: ''
    returnType: void
    signature: 'static void js_shape_hash_unlink(JSRuntime *rt, JSShape *sh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:39884,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:39887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 39891
      start: 39881
    functionDepth: 0
    functionLinenumber: 39881
    functionLinenumberEnd: 39891
    functionName: js_get_radix
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - JS_ToInt32Sat
    linkageType: ''
    returnType: int
    signature: 'static int js_get_radix(JSContext *ctx, JSValueConst val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:43137,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:43139,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43145,1
    - Dst: value_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:43144,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:43141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - ValueBuffer*
    - JSValue
    constantsTouched: []
    func_position:
      end: 43155
      start: 43126
    functionDepth: 0
    functionLinenumber: 43126
    functionLinenumberEnd: 43155
    functionName: value_buffer_append
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - memcpy
    - value_buffer_free
    - js_realloc2
    linkageType: ''
    returnType: int
    signature: 'static int value_buffer_append(ValueBuffer *b, JSValue val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:36447,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36453,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36452,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36448,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36455,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36456,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36459,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36460,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36461,1
    - Dst: JS_DefinePropertyDesc
      Src: /src/gpac/src/quickjs/quickjs.c:36463,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36471,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36470,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:36469,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - obj
    - properties
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36473
      start: 36437
    functionDepth: 0
    functionLinenumber: 36437
    functionLinenumberEnd: 36473
    functionName: JS_ObjectDefineProperties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetProperty
    - JS_DefinePropertyDesc
    - JS_GetOwnPropertyNamesInternal
    - JS_IsObject
    - js_free_prop_enum
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int JS_ObjectDefineProperties(JSContext *ctx, JSValueConst
      obj, JSValueConst properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5288,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5294
      start: 5285
    functionDepth: 0
    functionLinenumber: 5285
    functionLinenumberEnd: 5294
    functionName: js_array_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_array_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9828,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - func_obj
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 9833
      start: 9825
    functionDepth: 0
    functionLinenumber: 9825
    functionLinenumberEnd: 9833
    functionName: JS_SetConstructorBit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_SetConstructorBit(JSContext *ctx, JSValueConst func_obj, BOOL
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_is_live_code
      Src: /src/gpac/src/quickjs/quickjs.c:21652,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21656,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:21654,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - s
    - opcode
    - label
    argTypes:
    - JSParseState*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21661
      start: 21650
    functionDepth: 0
    functionLinenumber: 21650
    functionLinenumberEnd: 21661
    functionName: emit_goto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - new_label
    - emit_u32
    - emit_op
    - js_is_live_code
    linkageType: ''
    returnType: int
    signature: 'static int emit_goto(JSParseState *s, int opcode, int label) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5298,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5301
      start: 5296
    functionDepth: 0
    functionLinenumber: 5296
    functionLinenumberEnd: 5301
    functionName: js_object_data_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    linkageType: ''
    returnType: void
    signature: 'static void js_object_data_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9838,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9842
      start: 9835
    functionDepth: 0
    functionLinenumber: 9835
    functionLinenumberEnd: 9842
    functionName: JS_IsError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsError(JSContext *ctx, JSValueConst val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36479,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36481,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:36482,1
    - Dst: JS_GetActiveFunction
      Src: /src/gpac/src/quickjs/quickjs.c:36481,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36480,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36484,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:36488,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36496
      start: 36475
    functionDepth: 0
    functionLinenumber: 36475
    functionLinenumberEnd: 36496
    functionName: js_object_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_NORM_TAG
    - JS_ToObject
    - JS_NewObject
    - JS_GetActiveFunction
    - JS_IsUndefined
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21640,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - label
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 21647
      start: 21637
    functionDepth: 0
    functionLinenumber: 21637
    functionLinenumberEnd: 21647
    functionName: emit_label
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_u32
    - emit_op
    linkageType: ''
    returnType: int
    signature: 'static int emit_label(JSParseState *s, int label) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:21668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - JSParseState*
    - JSValue
    constantsTouched: []
    func_position:
      end: 21673
      start: 21664
    functionDepth: 0
    functionLinenumber: 21664
    functionLinenumberEnd: 21673
    functionName: cpool_add
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int cpool_add(JSParseState *s, JSValue val) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: add_eval_variables
      Src: /src/gpac/src/quickjs/quickjs.c:32529,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:32542,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:32554,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32609,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32637,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:32652,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:32664,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:32677,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32679,1
    - Dst: js_free_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:32712,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:32643,1
    - Dst: add_module_variables
      Src: /src/gpac/src/quickjs/quickjs.c:32533,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:32538,1
    - Dst: js_create_function
      Src: /src/gpac/src/quickjs/quickjs.c:32544,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:32601,1
    - Dst: resolve_labels
      Src: /src/gpac/src/quickjs/quickjs.c:32579,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:32569,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:32575,1
    - Dst: dump_byte_code
      Src: /src/gpac/src/quickjs/quickjs.c:32570,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32621,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32624,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:32548,1
    - Dst: dump_byte_code
      Src: /src/gpac/src/quickjs/quickjs.c:32555,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:32560,1
    - Dst: resolve_variables
      Src: /src/gpac/src/quickjs/quickjs.c:32564,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:32630,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32638,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32645,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:32696,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32709,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:32545,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:32608,1
    - Dst: compute_stack_size
      Src: /src/gpac/src/quickjs/quickjs.c:32582,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32618,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32651,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32672,1
    - Dst: JS_DupContext
      Src: /src/gpac/src/quickjs/quickjs.c:32694,1
    - Dst: js_dump_function_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:32700,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:32706,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:32710,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:32632,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 186
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 32714
      start: 32489
    functionDepth: 0
    functionLinenumber: 32489
    functionLinenumberEnd: 32714
    functionName: js_create_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - compute_stack_size
    - resolve_variables
    - js_create_function
    - JS_IsException
    - list_entry
    - list_for_each_safe
    - js_free
    - resolve_labels
    - js_dump_function_bytecode
    - dump_byte_code
    - add_eval_variables
    - js_mallocz
    - JS_FreeAtom
    - assert
    - JS_MKPTR
    - memcpy
    - add_module_variables
    - printf
    - JS_DupContext
    - list_del
    - js_free_function_def
    - dbuf_free
    - js_realloc
    - add_gc_object
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_function(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2585,1
    - Dst: JS_ATOM_COUNT_RESIZE
      Src: /src/gpac/src/quickjs/quickjs.c:2605,1
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2587,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:2602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - rt
    - new_hash_size
    argTypes:
    - JSRuntime*
    - int
    constantsTouched: []
    func_position:
      end: 2608
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2608
    functionName: JS_ResizeAtomHash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - JS_ATOM_COUNT_RESIZE
    - js_free_rt
    - js_mallocz_rt
    linkageType: ''
    returnType: int
    signature: 'static int JS_ResizeAtomHash(JSRuntime *rt, int new_hash_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:15889,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15891,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:15890,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:15894,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:15893,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15895,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15896,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - p
    - atom
    - opaque
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - void*
    constantsTouched: []
    func_position:
      end: 15903
      start: 15884
    functionDepth: 0
    functionLinenumber: 15884
    functionLinenumberEnd: 15903
    functionName: js_instantiate_prototype
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - set_cycle_flag
    - JS_NewObject
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_MKPTR
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_instantiate_prototype(JSContext *ctx, JSObject *p,
      JSAtom atom, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18741
      start: 18736
    functionDepth: 0
    functionLinenumber: 18736
    functionLinenumberEnd: 18741
    functionName: JS_Call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CallInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_Call(JSContext *ctx, JSValueConst func_obj, JSValueConst
      this_obj, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:18836,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18839,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:18841,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18842,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18839,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:18843,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18844,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:18849,1
    - Dst: call_func
      Src: /src/gpac/src/quickjs/quickjs.c:18851,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18857,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18865,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18867,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18862,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:18861,1
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18864,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18870,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18866,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - new_target
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValue*
    - int
    constantsTouched: []
    func_position:
      end: 18874
      start: 18828
    functionDepth: 0
    functionLinenumber: 18828
    functionLinenumberEnd: 18874
    functionName: JS_CallConstructorInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_poll_interrupts
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_IsException
    - JS_VALUE_GET_TAG
    - unlikely
    - call_func
    - js_create_from_ctor
    - JS_CallInternal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_CallConstructorInternal(JSContext *ctx, JSValueConst
      func_obj, JSValueConst new_target, int argc, JSValue *argv, int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:32723,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:32724,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:32735,1
    - Dst: free_bytecode_atoms
      Src: /src/gpac/src/quickjs/quickjs.c:32727,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:32731,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:32739,1
    - Dst: JS_FreeContext
      Src: /src/gpac/src/quickjs/quickjs.c:32742,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:32744,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:32746,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:32747,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:32753,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:32751,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:32748,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:32755,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - rt
    - b
    argTypes:
    - JSRuntime*
    - JSFunctionBytecode*
    constantsTouched: []
    func_position:
      end: 32757
      start: 32716
    functionDepth: 0
    functionLinenumber: 32716
    functionLinenumberEnd: 32757
    functionName: free_function_bytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeAtomRT
    - JS_AtomGetStrRT
    - js_free_rt
    - remove_gc_object
    - JS_FreeValueRT
    - list_add_tail
    - free_bytecode_atoms
    - JS_FreeContext
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void free_function_bytecode(JSRuntime *rt, JSFunctionBytecode
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ResizeAtomHash
      Src: /src/gpac/src/quickjs/quickjs.c:2620,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:2631,1
    - Dst: __JS_NewAtomInit
      Src: /src/gpac/src/quickjs/quickjs.c:2632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2637
    functionName: JS_InitAtoms
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_ResizeAtomHash
    - __JS_NewAtomInit
    linkageType: ''
    returnType: int
    signature: 'static int JS_InitAtoms(JSRuntime *rt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_CallInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18746,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValue
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18750
      start: 18743
    functionDepth: 0
    functionLinenumber: 18743
    functionLinenumberEnd: 18750
    functionName: JS_CallFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_CallInternal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_CallFree(JSContext *ctx, JSValue func_obj, JSValueConst
      this_obj, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_CallConstructorInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 18883
      start: 18876
    functionDepth: 0
    functionLinenumber: 18876
    functionLinenumberEnd: 18883
    functionName: JS_CallConstructor2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_CallConstructorInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_CallConstructor2(JSContext *ctx, JSValueConst func_obj,
      JSValueConst new_target, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:21680,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:21684,1
    - Dst: JS_NewAtomStr
      Src: /src/gpac/src/quickjs/quickjs.c:21684,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:21685,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:21683,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21686,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21687,1
    - Dst: cpool_add
      Src: /src/gpac/src/quickjs/quickjs.c:21692,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:21692,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:21695,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - s
    - val
    - as_atom
    argTypes:
    - JSParseState*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 21698
      start: 21675
    functionDepth: 0
    functionLinenumber: 21675
    functionLinenumberEnd: 21698
    functionName: emit_push_const
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - emit_op
    - __JS_AtomIsTaggedInt
    - emit_u32
    - JS_VALUE_GET_TAG
    - cpool_add
    - JS_DupValue
    - JS_NewAtomStr
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int emit_push_const(JSParseState *s, JSValueConst
      val, BOOL as_atom) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37918,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:37920,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37921,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37922,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37950,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37900,1
    - Dst: JS_GetActiveFunction
      Src: /src/gpac/src/quickjs/quickjs.c:37901,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:37932,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:37934,1
    - Dst: build_backtrace
      Src: /src/gpac/src/quickjs/quickjs.c:37947,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37909,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37903,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37902,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37905,1
    - Dst: JS_GetFunctionRealm
      Src: /src/gpac/src/quickjs/quickjs.c:37910,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:37931,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37930,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:37942,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37940,1
    - Dst: iterator_to_array
      Src: /src/gpac/src/quickjs/quickjs.c:37939,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37932,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37952
      start: 37894
    functionDepth: 0
    functionLinenumber: 37894
    functionLinenumberEnd: 37952
    functionName: js_error_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetActiveFunction
    - JS_GetProperty
    - JS_IsUndefined
    - JS_NewObjectProtoClass
    - JS_ToString
    - unlikely
    - JS_DupValue
    - JS_DefinePropertyValue
    - iterator_to_array
    - JS_IsObject
    - JS_GetFunctionRealm
    - build_backtrace
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_error_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:28816,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:28827,1
    - Dst: JS_FreeAtomRT
      Src: /src/gpac/src/quickjs/quickjs.c:28828,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - rt
    - bc_buf
    - bc_len
    - use_short_opcodes
    argTypes:
    - JSRuntime*
    - uint8_t*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 28835
      start: 28804
    functionDepth: 0
    functionLinenumber: 28804
    functionLinenumberEnd: 28835
    functionName: free_bytecode_atoms
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_FreeAtomRT
    - short_opcode_info
    linkageType: ''
    returnType: void
    signature: 'static void free_bytecode_atoms(JSRuntime *rt, const uint8_t *bc_buf,
      int bc_len, BOOL use_short_opcodes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44676,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44682,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:44680,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:44681,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44679,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44683,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44688,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44689,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44690,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44692,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44696,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44703,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44695,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44701,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - obj
    - atom
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 44709
      start: 44667
    functionDepth: 0
    functionLinenumber: 44667
    functionLinenumberEnd: 44709
    functionName: js_proxy_has
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_ThrowTypeError
    - JS_IsUndefined
    - JS_CallFree
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - JS_ToBoolFree
    - JS_HasProperty
    - JS_AtomToValue
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_has(JSContext *ctx, JSValueConst obj, JSAtom atom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:47880,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:47885,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:47884,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47887,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47881,1
    - Dst: isUnescaped
      Src: /src/gpac/src/quickjs/quickjs.c:47888,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:47889,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47891,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47894,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:47895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47896
      start: 47872
    functionDepth: 0
    functionLinenumber: 47872
    functionLinenumberEnd: 47896
    functionName: js_global_escape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_buffer_putc16
    - encodeURI_hex
    - JS_IsException
    - string_get
    - JS_ToString
    - isUnescaped
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_escape(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28859,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28866,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28868,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28875,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28845,1
    - Dst: free_bytecode_atoms
      Src: /src/gpac/src/quickjs/quickjs.c:28849,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28853,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28854,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28879,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28886,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:28887,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28889,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:28843,1
    - Dst: js_free_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:28846,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:28857,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28864,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28870,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28873,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28861,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28884,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28895,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:28851,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28852,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:28881,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:28893,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 28896
      start: 28837
    functionDepth: 0
    functionLinenumber: 28837
    functionLinenumberEnd: 28896
    functionName: js_free_function_def
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - list_del
    - list_entry
    - js_free_function_def
    - list_for_each_safe
    - dbuf_free
    - js_free
    - free_bytecode_atoms
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void js_free_function_def(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37959,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:37960,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37962,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37961,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:37963,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:37965,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37966,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37969,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37970,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:37971,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:37973,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:37978,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:37980,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37975,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:37978,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:37979,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37974,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37981
      start: 37954
    functionDepth: 0
    functionLinenumber: 37954
    functionLinenumberEnd: 37981
    functionName: js_error_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ConcatString
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_ConcatString3
    - JS_AtomToString
    - JS_GetProperty
    - JS_IsUndefined
    - JS_ToStringFree
    - JS_IsObject
    - JS_IsEmptyString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_error_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44720,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44724,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44727,1
    - Dst: JS_GetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44725,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:44726,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44728,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44734,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44735,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44736,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44738,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44738,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44751,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44747,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44749,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:44754,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44747,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:44743,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44750,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - obj
    - atom
    - receiver
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44757
      start: 44711
    functionDepth: 0
    functionLinenumber: 44711
    functionLinenumberEnd: 44757
    functionName: js_proxy_get
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_ThrowTypeError
    - JS_IsUndefined
    - js_free_desc
    - JS_GetOwnPropertyInternal
    - js_same_value
    - JS_CallFree
    - JS_AtomToValue
    - JS_GetPropertyInternal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_get(JSContext *ctx, JSValueConst obj, JSAtom
      atom, JSValueConst receiver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:47906,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47907,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47913,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:47911,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:47910,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47916,1
    - Dst: string_get_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47917,1
    - Dst: string_get_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47922,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:47927,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47929,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:47930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47931
      start: 47898
    functionDepth: 0
    functionLinenumber: 47898
    functionLinenumberEnd: 47931
    functionName: js_global_unescape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_buffer_putc16
    - JS_IsException
    - string_get
    - JS_ToString
    - string_get_hex
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_unescape(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_func_free
      Src: /src/gpac/src/quickjs/quickjs.c:19020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSGeneratorData*
    constantsTouched: []
    func_position:
      end: 19022
      start: 19016
    functionDepth: 0
    functionLinenumber: 19016
    functionLinenumberEnd: 19022
    functionName: free_generator_stack_rt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - async_func_free
    linkageType: ''
    returnType: void
    signature: 'static void free_generator_stack_rt(JSRuntime *rt, JSGeneratorData
      *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:6444,1
    - Dst: get_sleb128
      Src: /src/gpac/src/quickjs/quickjs.c:6449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - b
    - pc_value
    argTypes:
    - JSContext*
    - JSFunctionBytecode*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 6467
      start: 6424
    functionDepth: 0
    functionLinenumber: 6424
    functionLinenumberEnd: 6467
    functionName: find_line_num
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_leb128
    - get_sleb128
    linkageType: ''
    returnType: int
    signature: 'static int find_line_num(JSContext *ctx, JSFunctionBytecode *b, uint32_t
      pc_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - opaque
    argTypes:
    - JSContext*
    - void*
    constantsTouched: []
    func_position:
      end: 2203
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2203
    functionName: JS_SetContextOpaque
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetContextOpaque(JSContext *ctx, void *opaque) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:38286,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38291,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38289,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38288,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:38292,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:38293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 38294
      start: 38282
    functionDepth: 0
    functionLinenumber: 38282
    functionLinenumberEnd: 38294
    functionName: JS_isConcatSpreadable
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsArray
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_IsObject
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_isConcatSpreadable(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedOperation
      Src: /src/gpac/src/quickjs/quickjs.c:1569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - a
    - exponent
    argTypes:
    - JSContext*
    - bf_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: invalid_mul_pow10_to_float64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedOperation
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue invalid_mul_pow10_to_float64(JSContext *ctx, const
      bf_t *a, int64_t exponent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13039,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:13046,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13040,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:13045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 13047
      start: 13032
    functionDepth: 0
    functionLinenumber: 13032
    functionLinenumberEnd: 13047
    functionName: js_post_inc_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_IsException
    - JS_DupValue
    - js_unary_arith_slow
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_post_inc_slow(JSContext *ctx, JSValue *sp,
      OPCodeEnum op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/quickjs.c:48011,1
    - Dst: days_from_year
      Src: /src/gpac/src/quickjs/quickjs.c:48015,1
    - Dst: days_in_year
      Src: /src/gpac/src/quickjs/quickjs.c:48018,1
    - Dst: days_in_year
      Src: /src/gpac/src/quickjs/quickjs.c:48020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - days
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48029
      start: 48009
    functionDepth: 0
    functionLinenumber: 48009
    functionLinenumberEnd: 48029
    functionName: year_from_days
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - floor_div
    - days_in_year
    - days_from_year
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t year_from_days(int64_t *days) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - ctx
    - buf
    - radix
    - flags
    - pexponent
    argTypes:
    - JSContext*
    - char*
    - int
    - int
    - slimb_t*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1547
    functionName: invalid_from_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue invalid_from_string(JSContext *ctx, const char *buf,
      int radix, int flags, slimb_t *pexponent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedOperation
      Src: /src/gpac/src/quickjs/quickjs.c:1574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: invalid_mul_pow10
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedOperation
    linkageType: ''
    returnType: int
    signature: 'static int invalid_mul_pow10(JSContext *ctx, JSValue *sp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:13055,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13060,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13066,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13067,1
    - Dst: js_call_unary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:13056,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13069,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13069,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13074,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:13074,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:13076,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 13082
      start: 13049
    functionDepth: 0
    functionLinenumber: 13049
    functionLinenumberEnd: 13082
    functionName: js_not_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToNumericFree
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_ToInt32Free
    - unlikely
    - JS_IsObject
    - js_call_unary_op_fallback
    - is_math_mode
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_not_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38305,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38306,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38309,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38310,1
    - Dst: JS_ArraySpeciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:38309,1
    - Dst: JS_isConcatSpreadable
      Src: /src/gpac/src/quickjs/quickjs.c:38319,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38323,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:38326,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38330,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38334,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38350,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38350,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:38341,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38344,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38353,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38344,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38358,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38357,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38360
      start: 38296
    functionDepth: 0
    functionLinenumber: 38296
    functionLinenumberEnd: 38360
    functionName: js_array_concat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_isConcatSpreadable
    - JS_DefinePropertyValueInt64
    - JS_SetProperty
    - JS_ThrowTypeError
    - JS_IsException
    - js_get_length64
    - JS_NewInt32
    - JS_NewInt64
    - JS_DupValue
    - JS_ArraySpeciesCreate
    - JS_TryGetPropertyInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_concat(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:2212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - new_val
    argTypes:
    - JSContext*
    - JSValue*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2213
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2213
    functionName: set_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    linkageType: ''
    returnType: void
    signature: 'static inline void set_value(JSContext *ctx, JSValue *pval, JSValue
      new_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6478,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:6480,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6486,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6480,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:6488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - func
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6489
      start: 6472
    functionDepth: 0
    functionLinenumber: 6472
    functionLinenumberEnd: 6489
    functionName: get_func_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_own_property
    - JS_ToCString
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_OBJ
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_func_name(JSContext *ctx, JSValueConst func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37240,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:37240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37241
      start: 37237
    functionDepth: 0
    functionLinenumber: 37237
    functionLinenumberEnd: 37241
    functionName: js_object_is
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_same_value
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_is(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46096,1
    - Dst: JS_IsLiveObject
      Src: /src/gpac/src/quickjs/quickjs.c:46101,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46104,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46105,1
    - Dst: map_decref_record
      Src: /src/gpac/src/quickjs/quickjs.c:46102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 46107
      start: 46091
    functionDepth: 0
    functionLinenumber: 46091
    functionLinenumberEnd: 46107
    functionName: js_map_iterator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_free_rt
    - JS_FreeValueRT
    - JS_IsLiveObject
    - map_decref_record
    linkageType: ''
    returnType: void
    signature: 'static void js_map_iterator_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:40197,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:40200,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40199,1
    - Dst: JS_IsSymbol
      Src: /src/gpac/src/quickjs/quickjs.c:40199,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:40201,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:40201,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:40201,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:40203,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40205,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:40208,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:40211,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:40213,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:40214,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40214,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40209,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40220
      start: 40192
    functionDepth: 0
    functionLinenumber: 40192
    functionLinenumberEnd: 40220
    functionName: js_string_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_SetObjectData
    - JS_ConcatString3
    - JS_IsException
    - JS_NewInt32
    - JS_AtomToString
    - JS_VALUE_GET_PTR
    - JS_IsUndefined
    - JS_ToString
    - JS_DefinePropertyValue
    - js_create_from_ctor
    - JS_IsSymbol
    - js_get_atom_index
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11726,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:11728,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:11729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11730
      start: 11724
    functionDepth: 0
    functionLinenumber: 11724
    functionLinenumberEnd: 11730
    functionName: JS_ToStringCheckObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_ToString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToStringCheckObject(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44533,1
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:44537,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44538,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44536,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44539,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44541,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44542,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44545,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44547,1
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:44552,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44553,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44560,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44557,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44561,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44558,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44563,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44554,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44557,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 44566
      start: 44527
    functionDepth: 0
    functionLinenumber: 44527
    functionLinenumberEnd: 44566
    functionName: js_proxy_getPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_IsExtensible
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_IsUndefined
    - JS_GetPrototype
    - JS_CallFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_getPrototypeOf(JSContext *ctx, JSValueConst
      obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 47964
      start: 47960
    functionDepth: 0
    functionLinenumber: 47960
    functionLinenumberEnd: 47964
    functionName: math_mod
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t math_mod(int64_t a, int64_t b) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:11741,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:11742,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:11749,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:11744,1
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:11746,1
    - Dst: string_getc
      Src: /src/gpac/src/quickjs/quickjs.c:11752,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:11772,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:11774,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:11779,1
    - Dst: string_buffer_puts8
      Src: /src/gpac/src/quickjs/quickjs.c:11780,1
    - Dst: string_buffer_putc8
      Src: /src/gpac/src/quickjs/quickjs.c:11789,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11791,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:11795,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11794,1
    - Dst: string_buffer_putc
      Src: /src/gpac/src/quickjs/quickjs.c:11783,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:11792,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - val1
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11797
      start: 11732
    functionDepth: 0
    functionLinenumber: 11732
    functionLinenumberEnd: 11797
    functionName: JS_ToQuotedString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - snprintf
    - string_getc
    - JS_FreeValue
    - JS_IsException
    - string_buffer_free
    - JS_ToStringCheckObject
    - string_buffer_putc8
    - string_buffer_putc
    - string_buffer_init
    - string_buffer_end
    - string_buffer_puts8
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToQuotedString(JSContext *ctx, JSValueConst val1) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:20203,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20211,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:20212,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:20219,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20204,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20220,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:20221,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:20227,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20228,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:20229,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:20236,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20237,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:20239,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:20238,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs.c:20235,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20249,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20243,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:20251,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - s
    - token
    argTypes:
    - JSParseState*
    - JSToken*
    constantsTouched: []
    func_position:
      end: 20255
      start: 20196
    functionDepth: 0
    functionLinenumber: 20196
    functionLinenumberEnd: 20255
    functionName: dump_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_AtomGetStr
    - JS_ToFloat64
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void __maybe_unused dump_token(JSParseState *s, const JSToken
      *token) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40224,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:40225,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40227,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:40230,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:40228,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:40231,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:40234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 40235
      start: 40222
    functionDepth: 0
    functionLinenumber: 40222
    functionLinenumberEnd: 40235
    functionName: js_thisStringValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupValue
    - JS_VALUE_GET_TAG
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisStringValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:44577,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44585,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:44584,1
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44581,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:44580,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:44587,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44590,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:44596,1
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:44600,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44601,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44603,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44604,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44605,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:44603,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:44608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - obj
    - proto_val
    - throw_flag
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 44611
      start: 44568
    functionDepth: 0
    functionLinenumber: 44568
    functionLinenumberEnd: 44611
    functionName: js_proxy_setPrototypeOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_proxy_method
    - JS_IsException
    - JS_ThrowTypeError
    - JS_IsExtensible
    - JS_IsUndefined
    - JS_GetPrototype
    - JS_SetPrototypeInternal
    - JS_CallFree
    - JS_ToBoolFree
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_setPrototypeOf(JSContext *ctx, JSValueConst obj,
      JSValueConst proto_val, BOOL throw_flag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunctionMagic
      Src: /src/gpac/src/quickjs/quickjs.c:51043,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51063,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51115,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:51086,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51098,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51170,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51178,1
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:51052,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51121,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51134,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs.c:51162,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:51165,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51169,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51132,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:51120,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51055,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51147,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51123,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51110,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51021,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:51060,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:51083,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:51093,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:51160,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:51012,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51061,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51082,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51096,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51153,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51152,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:51165,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51187,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51196,1
    - Dst: js_object_seal
      Src: /src/gpac/src/quickjs/quickjs.c:51022,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51032,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51039,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51140,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51147,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:51017,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:51013,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:51024,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51030,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51039,1
    - Dst: JS_NewCFunctionMagic
      Src: /src/gpac/src/quickjs/quickjs.c:51175,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51025,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51068,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51035,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51074,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51109,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51137,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51151,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:51107,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51182,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:51009,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51031,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51045,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51104,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:51127,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51130,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:51150,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51144,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:51129,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51156,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51138,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51030,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51070,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51095,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51066,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51072,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:51084,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51192,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51028,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51035,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51073,1
    - Dst: js_random_init
      Src: /src/gpac/src/quickjs/quickjs.c:51143,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:51109,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51115,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51172,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51181,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51135,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51103,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51122,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51144,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:51129,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:51155,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:51190,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:51120,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51022,1
    - Dst: JS_NewCFunctionMagic
      Src: /src/gpac/src/quickjs/quickjs.c:51036,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:51118,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51133,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:51191,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51113,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:51112,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:51174,1
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:51185,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:51195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 150
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 51198
      start: 51003
    functionDepth: 0
    functionLinenumber: 51003
    functionLinenumberEnd: 51198
    functionName: JS_AddIntrinsicBaseObjects
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewObject
    - JS_NewObjectProto
    - JS_DefinePropertyValue
    - JS_SetConstructor2
    - JS_NewBool
    - JS_NewCFunctionMagic
    - JS_NewInt32
    - JS_AtomToString
    - JS_DupValue
    - JS_NewCFunction
    - JS_AtomToValue
    - countof
    - JS_NewGlobalCConstructor
    - JS_NewCFunction3
    - JS_SetObjectData
    - js_random_init
    - js_object_seal
    - strchr
    - JS_NewGlobalCConstructor2
    - JS_FreeValue
    - JS_SetPropertyFunctionList
    - JS_DefinePropertyValueStr
    - JS_GetProperty
    - JS_NewObjectProtoClass
    - JS_AtomGetStr
    - JS_DefineProperty
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicBaseObjects(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeContext
      Src: /src/gpac/src/quickjs/quickjs.c:5182,1
    - Dst: js_autoinit_get_realm
      Src: /src/gpac/src/quickjs/quickjs.c:5182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - pr
    argTypes:
    - JSRuntime*
    - JSProperty*
    constantsTouched: []
    func_position:
      end: 5183
      start: 5180
    functionDepth: 0
    functionLinenumber: 5180
    functionLinenumberEnd: 5183
    functionName: js_autoinit_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeContext
    - js_autoinit_get_realm
    linkageType: ''
    returnType: void
    signature: 'static void js_autoinit_free(JSRuntime *rt, JSProperty *pr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:27061,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27063,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:27072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27074
      start: 27058
    functionDepth: 0
    functionLinenumber: 27058
    functionLinenumberEnd: 27074
    functionName: js_new_module_def
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_mallocz
    - JS_FreeAtom
    - list_add_tail
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_new_module_def(JSContext *ctx, JSAtom name) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38392,1
    - Dst: JS_ArraySpeciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:38415,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38415,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38442,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38433,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38451,1
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:38482,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38482,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38494,1
    - Dst: JS_Invoke
      Src: /src/gpac/src/quickjs/quickjs.c:38510,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38488,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:38511,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:38388,1
    - Dst: JS_ArraySpeciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:38420,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38420,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38426,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38452,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38459,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:38471,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:38487,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38488,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38516,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38387,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:38401,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38393,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38416,1
    - Dst: js_typed_array___speciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:38427,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:38432,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:38457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38458,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:38464,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38477,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38517,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38522,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38523,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38421,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38441,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38446,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38428,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38497,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38505,1
    - Dst: js_typed_array___speciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:38506,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38507,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38513,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38521,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 115
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - special
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 38525
      start: 38375
    functionDepth: 0
    functionLinenumber: 38375
    functionLinenumberEnd: 38525
    functionName: js_array_every
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_ArraySpeciesCreate
    - check_function
    - JS_NewArray
    - JS_Invoke
    - JS_NewInt32
    - JS_NewInt64
    - JS_DupValue
    - JS_Call
    - JS_TryGetPropertyInt64
    - JS_ToBoolFree
    - js_get_length64
    - check_exception_free
    - JS_SetPropertyValue
    - js_typed_array___speciesCreate
    - JS_GetPropertyInt64
    - js_typed_array_get_length_internal
    - JS_FreeValue
    - JS_ToObject
    - JS_DefinePropertyValueInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_every(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int special) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:5188,1
    - Dst: js_autoinit_get_realm
      Src: /src/gpac/src/quickjs/quickjs.c:5188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - pr
    - mark_func
    argTypes:
    - JSRuntime*
    - JSProperty*
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5189
      start: 5185
    functionDepth: 0
    functionLinenumber: 5185
    functionLinenumberEnd: 5189
    functionName: js_autoinit_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - mark_func
    - js_autoinit_get_realm
    linkageType: ''
    returnType: void
    signature: 'static void js_autoinit_mark(JSRuntime *rt, JSProperty *pr, JS_MarkFunc
      *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:27085,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:27091,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:27090,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:27089,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:27092,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - rt
    - m
    - mark_func
    argTypes:
    - JSRuntime*
    - JSModuleDef*
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 27093
      start: 27076
    functionDepth: 0
    functionLinenumber: 27076
    functionLinenumberEnd: 27093
    functionName: js_mark_module_def
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - mark_func
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_mark_module_def(JSRuntime *rt, JSModuleDef *m, JS_MarkFunc
      *mark_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51868,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51872,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:51874,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:51875,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:51871,1
    - Dst: js_typed_array_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:51876,1
    - Dst: js_typed_array_create
      Src: /src/gpac/src/quickjs/quickjs.c:51879,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51883
      start: 51858
    functionDepth: 0
    functionLinenumber: 51858
    functionLinenumberEnd: 51883
    functionName: js_typed_array___speciesCreate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_typed_array_create
    - JS_FreeValue
    - js_typed_array_constructor
    - get_typed_array
    - JS_SpeciesConstructor
    - JS_IsException
    - JS_IsUndefined
    - max_int
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array___speciesCreate(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:22627,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22633,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:22638,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:22639,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22632,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:22642,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22643,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:22644,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:22645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - JSParseState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 22648
      start: 22622
    functionDepth: 0
    functionLinenumber: 22622
    functionLinenumberEnd: 22648
    functionName: set_object_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - get_prev_opcode
    - emit_op
    - assert
    - put_u32
    - JS_DupAtom
    - get_u32
    - JS_FreeAtom
    linkageType: ''
    returnType: void
    signature: 'static void set_object_name(JSParseState *s, JSAtom name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - flags
    - def_flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8902
      start: 8897
    functionDepth: 0
    functionLinenumber: 8897
    functionLinenumberEnd: 8902
    functionName: get_prop_flags
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_prop_flags(int flags, int def_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17598,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17599,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:17603,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:17601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17593
    functionDepth: 0
    functionLinenumber: 17593
    functionLinenumberEnd: 17604
    functionName: (OP_lnot)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBoolFree
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - JS_NewBool
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_lnot) : '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36651,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36656,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36660,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36661,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36670,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36666,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:36684,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36647,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36649,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36652,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36661,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36670,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36671,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36680,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36682,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36695,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36657,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36674,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36671,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36676,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36679,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36681,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36688,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:36692,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36693,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:36648,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:36665,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36675,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36674,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36687,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36696,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 36698
      start: 36636
    functionDepth: 0
    functionLinenumber: 36636
    functionLinenumberEnd: 36698
    functionName: js_object_getOwnPropertyDescriptor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - JS_NewObject
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_DefinePropertyValue
    - unlikely
    - JS_DupValue
    - js_free_desc
    - JS_ValueToAtom
    - JS_GetOwnPropertyInternal
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_getOwnPropertyDescriptor(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:47156,1
    - Dst: promise_reaction_data_free
      Src: /src/gpac/src/quickjs/quickjs.c:47167,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:47164,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:47173,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47171,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47175,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:47181,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:47196,1
    - Dst: JS_EnqueueJob
      Src: /src/gpac/src/quickjs/quickjs.c:47198,1
    - Dst: promise_reaction_data_free
      Src: /src/gpac/src/quickjs/quickjs.c:47200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - promise
    - resolve_reject
    - cap_resolving_funcs
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst*
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47204
      start: 47151
    functionDepth: 0
    functionLinenumber: 47151
    functionLinenumberEnd: 47204
    functionName: perform_promise_then
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_EnqueueJob
    - JS_IsFunction
    - JS_GetOpaque
    - JS_DupValue
    - js_mallocz
    - list_add_tail
    - promise_reaction_data_free
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int perform_promise_then(JSContext *ctx, JSValueConst
      promise, JSValueConst *resolve_reject, JSValueConst *cap_resolving_funcs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 51564
      start: 51557
    functionDepth: 0
    functionLinenumber: 51557
    functionLinenumberEnd: 51564
    functionName: typed_array_is_detached
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL typed_array_is_detached(JSContext *ctx, JSObject *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52664
      start: 52662
    functionDepth: 0
    functionLinenumber: 52662
    functionLinenumberEnd: 52664
    functionName: js_TA_cmp_int8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_int8(const void *a, const void *b, void *opaque) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:54175,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:54176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 54181
      start: 54172
    functionDepth: 0
    functionLinenumber: 54172
    functionLinenumberEnd: 54181
    functionName: JS_IsArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'int JS_IsArrayBuffer(JSContext *ctx, JSValueConst val) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:8918,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8919,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8948,1
    - Dst: JS_AtomIsNumericIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8959,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8999,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9004,1
    - Dst: convert_fast_array_to_array
      Src: /src/gpac/src/quickjs/quickjs.c:8936,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8940,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8983,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8993,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:9002,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:8929,1
    - Dst: get_prop_flags
      Src: /src/gpac/src/quickjs/quickjs.c:8925,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8946,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8963,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:8950,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8972,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:8999,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9004,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9008,1
    - Dst: add_fast_array_element
      Src: /src/gpac/src/quickjs/quickjs.c:8928,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8933,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8954,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:8969,1
    - Dst: JS_IsExtensible
      Src: /src/gpac/src/quickjs/quickjs.c:8972,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8954,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8949,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:8992,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:8997,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 105
    argCount: 7
    argNames:
    - ctx
    - p
    - prop
    - val
    - getter
    - setter
    - flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - JSValueConst
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 9014
      start: 8904
    functionDepth: 0
    functionLinenumber: 8904
    functionLinenumberEnd: 9014
    functionName: JS_CreateProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_fast_array_element
    - JS_AtomIsNumericIndex
    - __JS_AtomIsTaggedInt
    - convert_fast_array_to_array
    - JS_ThrowTypeErrorOrFalse
    - JS_AtomIsArrayIndex
    - JS_NewUint32
    - JS_DupValue
    - add_property
    - get_shape_prop
    - set_value
    - JS_IsFunction
    - get_prop_flags
    - JS_ToUint32
    - JS_IsExtensible
    - JS_MKPTR
    - unlikely
    - __JS_AtomToUInt32
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeErrorReadOnly
    linkageType: ''
    returnType: int
    signature: 'static int JS_CreateProperty(JSContext *ctx, JSObject *p, JSAtom prop,
      JSValueConst val, JSValueConst getter, JSValueConst setter, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:22655,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:22664,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:22665,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 22669
      start: 22650
    functionDepth: 0
    functionLinenumber: 22650
    functionLinenumberEnd: 22669
    functionName: set_object_name_computed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - get_prev_opcode
    - emit_op
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void set_object_name_computed(JSParseState *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36710,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:36715,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:36718,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36711,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:36714,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36719,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:36725,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36726,1
    - Dst: js_object_getOwnPropertyDescriptor
      Src: /src/gpac/src/quickjs/quickjs.c:36730,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36731,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:36740,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36746,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:36734,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36735,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:36745,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36732,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36747,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36741,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36749
      start: 36700
    functionDepth: 0
    functionLinenumber: 36700
    functionLinenumberEnd: 36749
    functionName: js_object_getOwnPropertyDescriptors
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ToObject
    - js_object_getOwnPropertyDescriptor
    - JS_NewObject
    - JS_IsException
    - JS_IsUndefined
    - JS_DefinePropertyValue
    - JS_GetOwnPropertyNamesInternal
    - JS_AtomToValue
    - js_free_prop_enum
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_getOwnPropertyDescriptors(JSContext *ctx,
      JSValueConst this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37279,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:37279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37280
      start: 37276
    functionDepth: 0
    functionLinenumber: 37276
    functionLinenumberEnd: 37280
    functionName: js_object___isConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsConstructor
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object___isConstructor(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:47213,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47218,1
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:47220,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:47217,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47221,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47222,1
    - Dst: perform_promise_then
      Src: /src/gpac/src/quickjs/quickjs.c:47224,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47227,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47233
      start: 47206
    functionDepth: 0
    functionLinenumber: 47206
    functionLinenumberEnd: 47233
    functionName: js_promise_then
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    - JS_FreeValue
    - JS_SpeciesConstructor
    - JS_GetOpaque2
    - JS_IsException
    - perform_promise_then
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_then(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52668
      start: 52666
    functionDepth: 0
    functionLinenumber: 52666
    functionLinenumberEnd: 52668
    functionName: js_TA_cmp_uint8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_uint8(const void *a, const void *b, void *opaque) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:51539,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51541,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:51549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - this_val
    - is_dataview
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 51554
      start: 51534
    functionDepth: 0
    functionLinenumber: 51534
    functionLinenumberEnd: 51554
    functionName: get_typed_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSObject*
    signature: 'static JSObject *get_typed_array(JSContext *ctx, JSValueConst this_val,
      int is_dataview) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54099,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54101,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54104,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54106,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:54123,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:54115,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:54138,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:54151,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:54151,1
    - Dst: JS_AddIntrinsicAtomics
      Src: /src/gpac/src/quickjs/quickjs.c:54167,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54161,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54159,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:54091,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54092,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54094,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54116,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs.c:54126,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54118,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:54121,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:54143,1
    - Dst: JS_NewCFunction3
      Src: /src/gpac/src/quickjs/quickjs.c:54145,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:54149,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:54103,1
    - Dst: JS_NewGlobalCConstructorOnly
      Src: /src/gpac/src/quickjs/quickjs.c:54108,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54128,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54130,1
    - Dst: JS_SetConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:54131,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:54141,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:54141,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:54148,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:54155,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:54158,1
    - Dst: JS_NewGlobalCConstructorOnly
      Src: /src/gpac/src/quickjs/quickjs.c:54096,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:54113,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:54111,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:54139,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:54154,1
    - Dst: JS_NewGlobalCConstructorOnly
      Src: /src/gpac/src/quickjs/quickjs.c:54162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 54169
      start: 54085
    functionDepth: 0
    functionLinenumber: 54085
    functionLinenumberEnd: 54169
    functionName: JS_AddIntrinsicTypedArrays
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewGlobalCConstructorOnly
    - JS_NewCFunction3
    - JS_NewObject
    - JS_NewObjectProto
    - JS_SetPropertyFunctionList
    - JS_SetConstructor
    - JS_DefinePropertyValueStr
    - JS_NewInt32
    - JS_GetProperty
    - typed_array_size_log2
    - JS_DefinePropertyValue
    - JS_AtomGetStr
    - JS_AddIntrinsicAtomics
    - JS_NewCFunction
    - JS_NewGlobalCConstructor2
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicTypedArrays(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2219,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:2221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - class_id
    - obj
    argTypes:
    - JSContext*
    - JSClassID
    - JSValue
    constantsTouched: []
    func_position:
      end: 2222
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2222
    functionName: JS_SetClassProto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - set_value
    linkageType: ''
    returnType: void
    signature: 'void JS_SetClassProto(JSContext *ctx, JSClassID class_id, JSValue
      obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:9509,1
    - Dst: js_get_function_name
      Src: /src/gpac/src/quickjs/quickjs.c:9516,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9513,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:9517,1
    - Dst: js_object_has_name
      Src: /src/gpac/src/quickjs/quickjs.c:9510,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:9518,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:9520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - obj
    - str
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 9524
      start: 9506
    functionDepth: 0
    functionLinenumber: 9506
    functionLinenumberEnd: 9524
    functionName: JS_DefineObjectNameComputed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_function_name
    - JS_IsException
    - JS_DefinePropertyValue
    - js_object_has_name
    - JS_ValueToAtom
    - JS_IsObject
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefineObjectNameComputed(JSContext *ctx, JSValueConst
      obj, JSValueConst str, int flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18056,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18056,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18062,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18060,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18059,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18064,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18072,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18076,1
    - Dst: JS_VALUE_IS_BOTH_FLOAT
      Src: /src/gpac/src/quickjs/quickjs.c:18078,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18080,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18083,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:18085,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18083,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18090
      start: 18051
    functionDepth: 0
    functionLinenumber: 18051
    functionLinenumberEnd: 18090
    functionName: (OP_mul)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    - JS_VALUE_IS_BOTH_FLOAT
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_mul) : '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_proxy_call_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:45275,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:45284,1
    - Dst: get_proxy_method
      Src: /src/gpac/src/quickjs/quickjs.c:45277,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45281,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:45282,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:45285,1
    - Dst: js_create_array
      Src: /src/gpac/src/quickjs/quickjs.c:45286,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45287,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:45294,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45296,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45299
      start: 45266
    functionDepth: 0
    functionLinenumber: 45266
    functionLinenumberEnd: 45299
    functionName: js_proxy_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_proxy_method
    - JS_ThrowTypeError
    - js_create_array
    - JS_IsException
    - JS_IsUndefined
    - JS_Call
    - js_proxy_call_constructor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_call(JSContext *ctx, JSValueConst func_obj,
      JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_thisSymbolValue
      Src: /src/gpac/src/quickjs/quickjs.c:45467,1
    - Dst: js_string_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:45471,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:45468,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45474
      start: 45463
    functionDepth: 0
    functionLinenumber: 45463
    functionLinenumberEnd: 45474
    functionName: js_symbol_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_string_constructor
    - js_thisSymbolValue
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:2228,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:2230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - class_id
    argTypes:
    - JSContext*
    - JSClassID
    constantsTouched: []
    func_position:
      end: 2231
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2231
    functionName: JS_GetClassProto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - assert
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetClassProto(JSContext *ctx, JSClassID class_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:45303,1
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:45310,1
    - Dst: JS_ThrowTypeErrorRevokedProxy
      Src: /src/gpac/src/quickjs/quickjs.c:45307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45311
      start: 45301
    functionDepth: 0
    functionLinenumber: 45301
    functionLinenumberEnd: 45311
    functionName: js_proxy_isArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_ThrowTypeErrorRevokedProxy
    - JS_IsArray
    linkageType: ''
    returnType: int
    signature: 'static int js_proxy_isArray(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisSymbolValue
      Src: /src/gpac/src/quickjs/quickjs.c:45479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 45480
      start: 45476
    functionDepth: 0
    functionLinenumber: 45476
    functionLinenumberEnd: 45480
    functionName: js_symbol_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisSymbolValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_symbol_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_alloc_string
      Src: /src/gpac/src/quickjs/quickjs.c:3570,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:3577,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:3571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - s
    - size
    - is_wide
    argTypes:
    - JSContext*
    - StringBuffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3580
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3580
    functionName: string_buffer_init2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - list_del
    - js_alloc_string
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_init2(JSContext *ctx, StringBuffer *s, int
      size, int is_wide) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7293,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7298,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7294,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7298,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7293,1
    - Dst: JS_ThrowTypeErrorNotASymbol
      Src: /src/gpac/src/quickjs/quickjs.c:7299,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7303,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7305,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7307,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7308,1
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7310,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7317,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:7314,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - obj
    - name
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValue
    constantsTouched: []
    func_position:
      end: 7322
      start: 7285
    functionDepth: 0
    functionLinenumber: 7285
    functionLinenumberEnd: 7322
    functionName: JS_DefinePrivateField
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeErrorNotASymbol
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - add_property
    - find_own_property
    - JS_ThrowTypeErrorAtom
    - js_symbol_to_atom
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefinePrivateField(JSContext *ctx, JSValueConst obj,
      JSValueConst name, JSValue val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7854,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7862,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7856,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7862,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7854,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7864,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7869,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7869,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:7870,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7871,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7871,1
    - Dst: JS_AtomIsNumericIndex
      Src: /src/gpac/src/quickjs/quickjs.c:7876,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - obj
    - prop
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 7888
      start: 7848
    functionDepth: 0
    functionLinenumber: 7848
    functionLinenumberEnd: 7888
    functionName: JS_HasProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_AtomIsNumericIndex
    - JS_VALUE_GET_TAG
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    - JS_GetOwnPropertyInternal
    linkageType: ''
    returnType: int
    signature: 'int JS_HasProperty(JSContext *ctx, JSValueConst obj, JSAtom prop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:1288,1
    - Dst: JS_RunGC
      Src: /src/gpac/src/quickjs/quickjs.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rt
    - size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1295
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1295
    functionName: js_trigger_gc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RunGC
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void js_trigger_gc(JSRuntime *rt, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedBigint
      Src: /src/gpac/src/quickjs/quickjs.c:14286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 14289
      start: 14284
    functionDepth: 0
    functionLinenumber: 14284
    functionLinenumberEnd: 14289
    functionName: JS_ToBigInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedBigint
    linkageType: ''
    returnType: int
    signature: 'int JS_ToBigInt64(JSContext *ctx, int64_t *pres, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:16090,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16093,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:16098,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:16095,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:16091,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - sf
    - idx
    - is_arg
    argTypes:
    - JSContext*
    - JSStackFrame*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 16101
      start: 16084
    functionDepth: 0
    functionLinenumber: 16084
    functionLinenumberEnd: 16101
    functionName: close_lexical_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    - list_entry
    - list_for_each_safe
    - JS_DupValue
    - add_gc_object
    linkageType: ''
    returnType: void
    signature: 'static void close_lexical_var(JSContext *ctx, JSStackFrame *sf, int
      idx, int is_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - m
    - export_name
    argTypes:
    - JSContext*
    - JSModuleDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27167
      start: 27156
    functionDepth: 0
    functionLinenumber: 27156
    functionLinenumberEnd: 27167
    functionName: find_export_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSExportEntry*
    signature: 'static JSExportEntry *find_export_entry(JSContext *ctx, JSModuleDef
      *m, JSAtom export_name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:34141,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:34150,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:34149,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:34144,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34156,1
    - Dst: bc_atom_to_idx
      Src: /src/gpac/src/quickjs/quickjs.c:34157,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34159,1
    - Dst: bc_byte_swap
      Src: /src/gpac/src/quickjs/quickjs.c:34168,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:34170,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34172,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:34175,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - s
    - bc_buf1
    - bc_len
    argTypes:
    - BCWriterState*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 34177
      start: 34133
    functionDepth: 0
    functionLinenumber: 34133
    functionLinenumberEnd: 34177
    functionName: JS_WriteFunctionBytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bc_byte_swap
    - js_malloc
    - put_u32
    - short_opcode_info
    - get_u32
    - js_free
    - bc_atom_to_idx
    - memcpy
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'static int JS_WriteFunctionBytecode(BCWriterState *s, const uint8_t
      *bc_buf1, int bc_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: js_malloc_usable_size_unknown
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t js_malloc_usable_size_unknown(const void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_export_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27176,1
    - Dst: JS_ThrowSyntaxErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27182,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:27179,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:27187,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:27180,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:27193,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27194,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - s
    - m
    - local_name
    - export_name
    - export_type
    argTypes:
    - JSContext*
    - JSParseState*
    - JSModuleDef*
    - JSAtom
    - JSAtom
    - JSExportTypeEnum
    constantsTouched: []
    func_position:
      end: 27198
      start: 27169
    functionDepth: 0
    functionLinenumber: 27169
    functionLinenumberEnd: 27198
    functionName: add_export_entry2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - memset
    - JS_DupAtom
    - JS_AtomGetStr
    - find_export_entry
    - JS_ThrowSyntaxErrorAtom
    - js_resize_array
    linkageType: ''
    returnType: JSExportEntry*
    signature: 'static JSExportEntry *add_export_entry2(JSContext *ctx, JSParseState
      *s, JSModuleDef *m, JSAtom local_name, JSAtom export_name, JSExportTypeEnum
      export_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bc_put_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:34182,1
    - Dst: bc_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:34185,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:34187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - BCWriterState*
    - JSString*
    constantsTouched: []
    func_position:
      end: 34189
      start: 34179
    functionDepth: 0
    functionLinenumber: 34179
    functionLinenumberEnd: 34189
    functionName: JS_WriteString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put
    - bc_put_leb128
    - bc_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void JS_WriteString(BCWriterState *s, JSString *p) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38558,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38573,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38584,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38605,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38547,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38569,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38585,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38607,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38611,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38615,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:38543,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38568,1
    - Dst: JS_TryGetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38589,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38603,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38594,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38617,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38542,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:38553,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38548,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:38562,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38602,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38595,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:38601,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38616,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - special
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 38619
      start: 38530
    functionDepth: 0
    functionLinenumber: 38530
    functionLinenumberEnd: 38619
    functionName: js_array_reduce
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_ThrowTypeError
    - js_get_length64
    - JS_IsException
    - JS_NewInt64
    - JS_DupValue
    - JS_Call
    - check_function
    - JS_GetPropertyInt64
    - JS_TryGetPropertyInt64
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_reduce(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int special) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:48890,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:48891,1
    - Dst: JS_NewGlobalCConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:48893,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:48895,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:48892,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:48895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 48896
      start: 48885
    functionDepth: 0
    functionLinenumber: 48885
    functionLinenumberEnd: 48896
    functionName: JS_AddIntrinsicDate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewGlobalCConstructor
    - countof
    - JS_NewObject
    - JS_SetPropertyFunctionList
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicDate(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1595
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1595
    functionName: js_get_stack_pointer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: 'static inline uintptr_t js_get_stack_pointer(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17888,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:17888,1
    - Dst: JS_ThrowReferenceErrorNotDefined
      Src: /src/gpac/src/quickjs/quickjs.c:17892,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:17889,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17890,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17893,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17897,1
    - Dst: is_strict_mode
      Src: /src/gpac/src/quickjs/quickjs.c:17900,1
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17903,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17904,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17908
      start: 17884
    functionDepth: 0
    functionLinenumber: 17884
    functionLinenumberEnd: 17908
    functionName: (OP_put_ref_value)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowReferenceErrorNotDefined
    - JS_IsUndefined
    - JS_SetPropertyValue
    - is_strict_mode
    - unlikely
    - JS_DupValue
    - JS_ValueToAtom
    - JS_FreeAtom
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_ref_value) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41879,1
    - Dst: fabs
      Src: /src/gpac/src/quickjs/quickjs.c:41882,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41892,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41886,1
    - Dst: hypot
      Src: /src/gpac/src/quickjs/quickjs.c:41888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41893
      start: 41871
    functionDepth: 0
    functionLinenumber: 41871
    functionLinenumberEnd: 41893
    functionName: js_math_hypot
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fabs
    - hypot
    - JS_ToFloat64
    - JS_NewFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_math_hypot(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41898
      start: 41895
    functionDepth: 0
    functionLinenumber: 41895
    functionLinenumberEnd: 41898
    functionName: js_math_fround
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double js_math_fround(double a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - rt
    - alloca_size
    argTypes:
    - JSRuntime*
    - size_t
    constantsTouched: []
    func_position:
      end: 1600
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1600
    functionName: js_check_stack_overflow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL js_check_stack_overflow(JSRuntime *rt, size_t alloca_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSAtom
    constantsTouched: []
    func_position:
      end: 2421
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2421
    functionName: __JS_AtomIsConst
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL __JS_AtomIsConst(JSAtom v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:10230,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:10233,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10231,1
    - Dst: bfdec_atof
      Src: /src/gpac/src/quickjs/quickjs.c:10234,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10237,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:10238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - buf
    - radix
    - flags
    - pexponent
    argTypes:
    - JSContext*
    - char*
    - int
    - int
    - slimb_t*
    constantsTouched: []
    func_position:
      end: 10241
      start: 10223
    functionDepth: 0
    functionLinenumber: 10223
    functionLinenumberEnd: 10241
    functionName: js_string_to_bigdecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigDecimal
    - JS_IsException
    - JS_ThrowOutOfMemory
    - bfdec_atof
    - JS_GetBigDecimal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_to_bigdecimal(JSContext *ctx, const char
      *buf, int radix, int flags, slimb_t *pexponent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40361,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/quickjs.c:40363,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:40363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40364
      start: 40357
    functionDepth: 0
    functionLinenumber: 40357
    functionLinenumberEnd: 40364
    functionName: js_string___isSpace
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - lre_is_space
    - JS_ToInt32
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string___isSpace(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14852,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:14856,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:14859,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:14853,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14857,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:14860,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14863,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14864,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14867
      start: 14843
    functionDepth: 0
    functionLinenumber: 14843
    functionLinenumberEnd: 14867
    functionName: js_operator_in
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ValueToAtom
    - JS_HasProperty
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_operator_in(JSContext *ctx, JSValue *sp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:33991,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:33992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33993
      start: 33988
    functionDepth: 0
    functionLinenumber: 33988
    functionLinenumberEnd: 33993
    functionName: bc_put_u32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put_u32
    - bswap32
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void bc_put_u32(BCWriterState *s, uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 44499
      start: 44496
    functionDepth: 0
    functionLinenumber: 44496
    functionLinenumberEnd: 44499
    functionName: JS_ThrowTypeErrorRevokedProxy
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorRevokedProxy(JSContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14639,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14640,1
    - Dst: JS_ToUint32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14643,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14643,1
    - Dst: JS_ToUint32Free
      Src: /src/gpac/src/quickjs/quickjs.c:14639,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:14646,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14652
      start: 14632
    functionDepth: 0
    functionLinenumber: 14632
    functionLinenumberEnd: 14652
    functionName: js_shr_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_NewUint32
    - JS_ToUint32Free
    - JS_FreeValue
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_shr_slow(JSContext *ctx, JSValue *sp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:14875,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:14879,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:14876,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:14880,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:14881,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - obj
    - atom
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 14885
      start: 14869
    functionDepth: 0
    functionLinenumber: 14869
    functionLinenumberEnd: 14885
    functionName: js_has_unscopable
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetProperty
    - JS_IsObject
    - JS_ToBoolFree
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_has_unscopable(JSContext *ctx, JSValueConst
      obj, JSAtom atom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:33998,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:33999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - BCWriterState*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 34000
      start: 33995
    functionDepth: 0
    functionLinenumber: 33995
    functionLinenumberEnd: 34000
    functionName: bc_put_u64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_put
    - bswap64
    linkageType: ''
    returnType: void
    signature: 'static void bc_put_u64(BCWriterState *s, uint64_t v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:44504,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:44509,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:44518,1
    - Dst: JS_ThrowTypeErrorRevokedProxy
      Src: /src/gpac/src/quickjs/quickjs.c:44515,1
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:44508,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:44519,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:44521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - pmethod
    - obj
    - name
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 44525
      start: 44501
    functionDepth: 0
    functionLinenumber: 44501
    functionLinenumberEnd: 44525
    functionName: get_proxy_method
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNull
    - JS_IsException
    - js_check_stack_overflow
    - JS_GetProperty
    - JS_GetOpaque
    - JS_ThrowTypeErrorRevokedProxy
    - JS_ThrowStackOverflow
    linkageType: ''
    returnType: JSProxyData*
    signature: 'static JSProxyData *get_proxy_method(JSContext *ctx, JSValue *pmethod,
      JSValueConst obj, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:46299,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:46301,1
    - Dst: JS_NewCFunctionMagic
      Src: /src/gpac/src/quickjs/quickjs.c:46305,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:46302,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:46308,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:46309,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:46311,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:46316,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:46317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 46321
      start: 46292
    functionDepth: 0
    functionLinenumber: 46292
    functionLinenumberEnd: 46321
    functionName: JS_AddIntrinsicMapSet
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_NewObjectProto
    - JS_SetPropertyFunctionList
    - JS_NewCFunctionMagic
    - JS_AtomGetStr
    - JS_NewGlobalCConstructor2
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicMapSet(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_strict_eq2
      Src: /src/gpac/src/quickjs/quickjs.c:14829,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:14830,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:14830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - op1
    - op2
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 14832
      start: 14827
    functionDepth: 0
    functionLinenumber: 14827
    functionLinenumberEnd: 14832
    functionName: js_same_value_zero
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - js_strict_eq2
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_same_value_zero(JSContext *ctx, JSValueConst op1, JSValueConst
      op2) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:10518,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10531,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:10544,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10561,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:10560,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10571,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:10570,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10583,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:10512,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:10544,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:10550,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10574,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10524,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:10572,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:10579,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:10584,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10517,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:10525,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:10532,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:10565,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:10567,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:10551,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:10586,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - val
    - flag
    argTypes:
    - JSContext*
    - JSValue
    - JSToNumberHintEnum
    constantsTouched: []
    func_position:
      end: 10591
      start: 10505
    functionDepth: 0
    functionLinenumber: 10505
    functionLinenumberEnd: 10591
    functionName: JS_ToNumberHintFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_FreeCString
    - js_atof
    - JS_ThrowTypeError
    - JS_IsException
    - JS_ToCStringLen
    - JS_NewInt32
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - skip_spaces
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToNumberHintFree(JSContext *ctx, JSValue val, JSToNumberHintEnum
      flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_strict_eq
      Src: /src/gpac/src/quickjs/quickjs.c:14838,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - sp
    - is_neq
    argTypes:
    - JSContext*
    - JSValue*
    - BOOL
    constantsTouched: []
    func_position:
      end: 14841
      start: 14834
    functionDepth: 0
    functionLinenumber: 14834
    functionLinenumberEnd: 14841
    functionName: js_strict_eq_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_strict_eq
    - JS_NewBool
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_strict_eq_slow(JSContext *ctx, JSValue *sp,
      BOOL is_neq) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: js_atomics_get_ptr
      Src: /src/gpac/src/quickjs/quickjs.c:53670,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53685,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53693,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53734,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53736,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53737,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53739,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53681,1
    - Dst: atomic_load
      Src: /src/gpac/src/quickjs/quickjs.c:53753,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53806,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53703,1
    - Dst: atomic_load
      Src: /src/gpac/src/quickjs/quickjs.c:53743,1
    - Dst: atomic_load
      Src: /src/gpac/src/quickjs/quickjs.c:53746,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53813,1
    - Dst: JS_NewBigUint64
      Src: /src/gpac/src/quickjs/quickjs.c:53816,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53697,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53735,1
    - Dst: OP
      Src: /src/gpac/src/quickjs/quickjs.c:53738,1
    - Dst: atomic_load
      Src: /src/gpac/src/quickjs/quickjs.c:53749,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53809,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:53788,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:53820,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 81
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    - op
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 53823
      start: 53655
    functionDepth: 0
    functionLinenumber: 53655
    functionLinenumberEnd: 53823
    functionName: js_atomics_op
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigInt64
    - JS_NewBigUint64
    - JS_ToUint32
    - abort
    - JS_NewInt32
    - JS_NewBigInt64
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - atomic_load
    - JS_NewUint32
    - OP
    - js_atomics_get_ptr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_atomics_op(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv, int op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - atom
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 7281
      start: 7277
    functionDepth: 0
    functionLinenumber: 7277
    functionLinenumberEnd: 7281
    functionName: JS_ThrowTypeErrorPrivateNotFound
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowTypeErrorPrivateNotFound(JSContext *ctx, JSAtom
      atom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7838,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7841,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7838,1
    - Dst: js_proxy_preventExtensions
      Src: /src/gpac/src/quickjs/quickjs.c:7842,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7845
      start: 7834
    functionDepth: 0
    functionLinenumber: 7834
    functionLinenumberEnd: 7845
    functionName: JS_PreventExtensions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - js_proxy_preventExtensions
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'int JS_PreventExtensions(JSContext *ctx, JSValueConst obj) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:18547,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:18541,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18566,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18574,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18576,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18593,1
    - Dst: CASE
      Src: /src/gpac/src/quickjs/quickjs.c:18540,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:18584,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18581,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18580,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18600,1
    - Dst: js_has_unscopable
      Src: /src/gpac/src/quickjs/quickjs.c:18557,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18566,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:18572,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18593,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18599,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18558,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18565,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:18568,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18583,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:18588,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18592,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18600,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18602,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 0
    argNames:
    - OP_with_put_var
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18608
      start: 18536
    functionDepth: 0
    functionLinenumber: 18536
    functionLinenumberEnd: 18608
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_has_unscopable
    - JS_FreeValue
    - CASE
    - set_value
    - JS_IsException
    - JS_GetProperty
    - get_u32
    - unlikely
    - JS_DeleteProperty
    - JS_SetPropertyInternal
    - JS_AtomToValue
    - JS_NewBool
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_with_get_var): CASE(OP_with_put_var) : CASE(OP_with_delete_var):
      CASE(OP_with_make_ref): CASE(OP_with_get_ref): CASE(OP_with_get_ref_undef):
      { int32_t diff; JSValue obj; int ret, is_with; atom = get_u32(pc); diff = get_u32(pc
      + 4); is_with = pc[8]; pc += 9; obj = sp[-1]; ret = JS_HasProperty(ctx, obj,
      atom); if (unlikely(ret < 0)) goto exception; if (ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:36230,1
    - Dst: JS_SetConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:36233,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36234,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - func_obj
    - name
    - proto
    argTypes:
    - JSContext*
    - JSValue
    - char*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36235
      start: 36225
    functionDepth: 0
    functionLinenumber: 36225
    functionLinenumberEnd: 36235
    functionName: JS_NewGlobalCConstructor2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_DupValue
    - JS_DefinePropertyValueStr
    - JS_SetConstructor
    linkageType: ''
    returnType: void
    signature: 'static void JS_NewGlobalCConstructor2(JSContext *ctx, JSValue func_obj,
      const char *name, JSValueConst proto) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_function_apply
      Src: /src/gpac/src/quickjs/quickjs.c:44311,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:44311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44312
      start: 44308
    functionDepth: 0
    functionLinenumber: 44308
    functionLinenumberEnd: 44312
    functionName: js_reflect_apply
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - max_int
    - js_function_apply
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_apply(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34905,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34907,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:34909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 34912
      start: 34903
    functionDepth: 0
    functionLinenumber: 34903
    functionLinenumberEnd: 34912
    functionName: bc_get_u32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - bc_read_error_end
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused int bc_get_u32(BCReaderState *s, uint32_t *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:34916,1
    - Dst: get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:34920,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:34918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pval
    argTypes:
    - BCReaderState*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 34923
      start: 34914
    functionDepth: 0
    functionLinenumber: 34914
    functionLinenumberEnd: 34923
    functionName: bc_get_u64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u64
    - unlikely
    - bc_read_error_end
    linkageType: ''
    returnType: int
    signature: 'static int bc_get_u64(BCReaderState *s, uint64_t *pval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36242,1
    - Dst: JS_NewGlobalCConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:36243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - name
    - func
    - length
    - proto
    argTypes:
    - JSContext*
    - char*
    - JSCFunction*
    - int
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36245
      start: 36237
    functionDepth: 0
    functionLinenumber: 36237
    functionLinenumberEnd: 36245
    functionName: JS_NewGlobalCConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunction2
    - JS_NewGlobalCConstructor2
    linkageType: ''
    returnType: JSValueConst
    signature: 'static JSValueConst JS_NewGlobalCConstructor(JSContext *ctx, const
      char *name, JSCFunction *func, int length, JSValueConst proto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:44325,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:44326,1
    - Dst: free_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:44334,1
    - Dst: JS_CallConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:44333,1
    - Dst: build_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:44330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44336
      start: 44314
    functionDepth: 0
    functionLinenumber: 44314
    functionLinenumberEnd: 44336
    functionName: js_reflect_construct
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsConstructor
    - JS_CallConstructor2
    - free_arg_list
    - JS_ThrowTypeError
    - build_arg_list
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_construct(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/quickjs.c:1448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: js_dbuf_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - dbuf_init2
    linkageType: ''
    returnType: void
    signature: 'static inline void js_dbuf_init(JSContext *ctx, DynBuf *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1453
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1453
    functionName: is_digit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int is_digit(int c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7393,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7406,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7416,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7422,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:7421,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7413,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7394,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7398,1
    - Dst: JS_NewSymbolFromAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7400,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:7417,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7411,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7393,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7397,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:7401,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:7404,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7409,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7420,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7415,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - obj
    - home_obj
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7427
      start: 7385
    functionDepth: 0
    functionLinenumber: 7385
    functionLinenumberEnd: 7427
    functionName: JS_AddBrand
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_DupValue
    - JS_NewSymbolFromAtom
    - add_property
    - find_own_property
    - JS_FreeAtom
    - js_symbol_to_atom
    linkageType: ''
    returnType: int
    signature: 'static int JS_AddBrand(JSContext *ctx, JSValueConst obj, JSValueConst
      home_obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17007,1
    - Dst: JS_GetGlobalVar
      Src: /src/gpac/src/quickjs/quickjs.c:17010,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17011,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames:
    - OP_get_var
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17014
      start: 17004
    functionDepth: 0
    functionLinenumber: 17004
    functionLinenumberEnd: 17014
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_GetGlobalVar
    - JS_IsException
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_var_undef): CASE(OP_get_var) : '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7437,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7442,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7439,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7437,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:7443,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7448,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:7450,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7455,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7455,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7459,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7459,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:7468,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7463,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7463,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7465,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7465,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7461,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - obj
    - func
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7472
      start: 7429
    functionDepth: 0
    functionLinenumber: 7429
    functionLinenumberEnd: 7472
    functionName: JS_CheckBrand
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - find_own_property
    - unlikely
    - js_class_has_bytecode
    - js_symbol_to_atom
    linkageType: ''
    returnType: int
    signature: 'static int JS_CheckBrand(JSContext *ctx, JSValueConst obj, JSValueConst
      func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:40374,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40379,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:40375,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:40377,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:40378,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:40389,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:40391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 40393
      start: 40367
    functionDepth: 0
    functionLinenumber: 40367
    functionLinenumberEnd: 40393
    functionName: js_string_charCodeAt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_NewInt32
    - JS_ToStringCheckObject
    - JS_ToInt32Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_charCodeAt(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log2
      Src: /src/gpac/src/quickjs/quickjs.c:41976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41976
      start: 41976
    functionDepth: 0
    functionLinenumber: 41976
    functionLinenumberEnd: 41976
    functionName: const_log2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - log2
    linkageType: ''
    returnType: double
    signature: 'static double const_log2(double x) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2519,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2522,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2531,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2524,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2532,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2534,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2536,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2537,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2539,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs.c:2542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSString*
    constantsTouched: []
    func_position:
      end: 2543
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2543
    functionName: JS_DumpString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - putchar
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpString(JSRuntime *rt, const JSString
      *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_func_free
      Src: /src/gpac/src/quickjs/quickjs.c:19181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSAsyncFunctionData*
    constantsTouched: []
    func_position:
      end: 19184
      start: 19178
    functionDepth: 0
    functionLinenumber: 19178
    functionLinenumberEnd: 19184
    functionName: js_async_function_terminate
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - async_func_free
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_terminate(JSRuntime *rt, JSAsyncFunctionData
      *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsArray
      Src: /src/gpac/src/quickjs/quickjs.c:38216,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:38220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38221
      start: 38212
    functionDepth: 0
    functionLinenumber: 38212
    functionLinenumberEnd: 38221
    functionName: js_array_isArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsArray
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_isArray(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2550,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2552,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2556,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2560,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2559,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2563,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2566,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2567,1
    - Dst: atom_is_free
      Src: /src/gpac/src/quickjs/quickjs.c:2570,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2571,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:2573,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2577,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:2574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2578
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2578
    functionName: JS_DumpAtoms
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - atom_is_free
    - printf
    - JS_DumpString
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpAtoms(JSRuntime *rt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16685
      start: 16679
    functionDepth: 0
    functionLinenumber: 16679
    functionLinenumberEnd: 16685
    functionName: (OP_perm4)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_perm4) : /* obj prop a b -> a obj prop b */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_async_function_terminate
      Src: /src/gpac/src/quickjs/quickjs.c:19188,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19189,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:19192,1
    - Dst: remove_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:19191,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:19190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSAsyncFunctionData*
    constantsTouched: []
    func_position:
      end: 19193
      start: 19186
    functionDepth: 0
    functionLinenumber: 19186
    functionLinenumberEnd: 19193
    functionName: js_async_function_free0
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - js_async_function_terminate
    - remove_gc_object
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_free0(JSRuntime *rt, JSAsyncFunctionData
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 38227
      start: 38223
    functionDepth: 0
    functionLinenumber: 38223
    functionLinenumberEnd: 38227
    functionName: js_get_this
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_get_this(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:1406,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:1408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - s
    - n
    argTypes:
    - JSContext*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1412
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1412
    functionName: js_strndup
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - js_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *js_strndup(JSContext *ctx, const char *s, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:12052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12053
      start: 12049
    functionDepth: 0
    functionLinenumber: 12049
    functionLinenumberEnd: 12053
    functionName: JS_DumpValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DumpValueShort
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpValue(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:17731,1
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:17732,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17735,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:17731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17737
      start: 17727
    functionDepth: 0
    functionLinenumber: 17727
    functionLinenumberEnd: 17737
    functionName: (OP_set_proto)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - JS_FreeValue
    - JS_SetPrototypeInternal
    - JS_IsNull
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_proto) : '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38100,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38101,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38106,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:38115,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38111,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38135,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38141,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38142,1
    - Dst: js_array_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:38144,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38147,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38179,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38092,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38103,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:38093,1
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38105,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:38108,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38116,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38126,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38146,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38151,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38175,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38167,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38122,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38129,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:38137,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38159,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:38172,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38167,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:38173,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38178,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38180,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38150,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38104,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38109,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:38123,1
    - Dst: js_for_of_start
      Src: /src/gpac/src/quickjs/quickjs.c:38112,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38124,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:38134,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38139,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38155,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:38156,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:38162,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38157,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 98
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38182
      start: 38071
    functionDepth: 0
    functionLinenumber: 38071
    functionLinenumberEnd: 38182
    functionName: js_array_from
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - js_array_constructor
    - check_function
    - JS_NewArray
    - JS_IsConstructor
    - JS_SetProperty
    - JS_NewInt32
    - JS_NewInt64
    - JS_NewUint32
    - JS_DupValue
    - JS_Call
    - JS_IteratorNext
    - js_for_of_start
    - JS_CallConstructor
    - JS_IteratorClose
    - js_get_length64
    - JS_IsUndefined
    - JS_GetPropertyInt64
    - JS_FreeValue
    - JS_ToObject
    - JS_DefinePropertyValueInt64
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_from(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_strndup
      Src: /src/gpac/src/quickjs/quickjs.c:1416,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1417
    functionName: js_strdup
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - js_strndup
    linkageType: ''
    returnType: char*
    signature: 'char *js_strdup(JSContext *ctx, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12059,1
    - Dst: JS_DumpValueShort
      Src: /src/gpac/src/quickjs/quickjs.c:12060,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - str
    - val
    argTypes:
    - JSContext*
    - char*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12062
      start: 12055
    functionDepth: 0
    functionLinenumber: 12055
    functionLinenumberEnd: 12062
    functionName: JS_PrintValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DumpValueShort
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_PrintValue(JSContext *ctx, const char
      *str, JSValueConst val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18156,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18168,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18158,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18160,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18164,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18169,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:18170,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:18172,1
    - Dst: js_unary_arith_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18177
      start: 18151
    functionDepth: 0
    functionLinenumber: 18151
    functionLinenumberEnd: 18177
    functionName: (OP_neg)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - unlikely
    - js_unary_arith_slow
    - JS_VALUE_GET_FLOAT64
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_neg) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38190,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:38192,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:38191,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:38194,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38196,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38199,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38199,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:38204,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:38204,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:38206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 38210
      start: 38184
    functionDepth: 0
    functionLinenumber: 38184
    functionLinenumberEnd: 38210
    functionName: js_array_of
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewArray
    - JS_IsConstructor
    - JS_CallConstructor
    - JS_SetProperty
    - JS_IsException
    - JS_NewInt32
    - JS_NewUint32
    - JS_DupValue
    - JS_CreateDataPropertyUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_array_of(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_DumpObject
      Src: /src/gpac/src/quickjs/quickjs.c:11915,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11925,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11928,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11922,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11917,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11931,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11934,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11937,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11940,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 11942
      start: 11912
    functionDepth: 0
    functionLinenumber: 11912
    functionLinenumberEnd: 11942
    functionName: JS_DumpGCObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DumpObject
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpGCObject(JSRuntime *rt, JSGCObjectHeader
      *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17458,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:17458,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17460,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17461,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:17463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17468
      start: 17454
    functionDepth: 0
    functionLinenumber: 17454
    functionLinenumberEnd: 17468
    functionName: (OP_ret)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_TAG
    - JS_ThrowInternalError
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_ret) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:21597,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:21597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - JSParseState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21598
      start: 21595
    functionDepth: 0
    functionLinenumber: 21595
    functionLinenumberEnd: 21598
    functionName: emit_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - emit_u32
    linkageType: ''
    returnType: void
    signature: 'static void emit_atom(JSParseState *s, JSAtom name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36997,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:37002,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:37001,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37001,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36998,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:37003,1
    - Dst: JS_CopyDataProperties
      Src: /src/gpac/src/quickjs/quickjs.c:37005,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37007,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37012,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:37013,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37015
      start: 36989
    functionDepth: 0
    functionLinenumber: 36989
    functionLinenumberEnd: 37015
    functionName: js_object_assign
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    - JS_IsNull
    - JS_IsException
    - JS_IsUndefined
    - JS_CopyDataProperties
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_assign(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:46160,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:46168,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:46165,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46167,1
    - Dst: map_decref_record
      Src: /src/gpac/src/quickjs/quickjs.c:46174,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46180,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:46187,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46200,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46209,1
    - Dst: js_create_array
      Src: /src/gpac/src/quickjs/quickjs.c:46211,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - pdone
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - BOOL*
    - int
    constantsTouched: []
    func_position:
      end: 46214
      start: 46151
    functionDepth: 0
    functionLinenumber: 46151
    functionLinenumberEnd: 46214
    functionName: js_map_iterator_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - assert
    - JS_GetOpaque2
    - list_entry
    - js_create_array
    - JS_IsUndefined
    - JS_GetOpaque
    - JS_DupValue
    - map_decref_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_iterator_next(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, BOOL *pdone, int magic) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:11947,1
    - Dst: JS_VALUE_GET_BOOL
      Src: /src/gpac/src/quickjs/quickjs.c:11955,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:11952,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11975,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12018,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:12029,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12036,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11952,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11984,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11992,1
    - Dst: bfdec_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:12002,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:12012,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12028,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12034,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12041,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12044,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11972,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11980,1
    - Dst: bf_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:11982,1
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:11985,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/quickjs.c:12005,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:11994,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:12000,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12004,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/quickjs.c:11995,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:12020,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:11975,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:11990,1
    - Dst: JS_DumpString
      Src: /src/gpac/src/quickjs/quickjs.c:12013,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:12020,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:12025,1
    - Dst: JS_AtomGetStrRT
      Src: /src/gpac/src/quickjs/quickjs.c:12037,1
    - Dst: js_get_atom_index
      Src: /src/gpac/src/quickjs/quickjs.c:12037,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12047
      start: 11944
    functionDepth: 0
    functionLinenumber: 11944
    functionLinenumberEnd: 12047
    functionName: JS_DumpValueShort
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_STRING
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_BOOL
    - JS_AtomGetStrRT
    - JS_VALUE_GET_PTR
    - JS_DumpString
    - bfdec_ftoa
    - bf_ftoa
    - bf_realloc
    - bf_free
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - js_get_atom_index
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void JS_DumpValueShort(JSRuntime *rt, JSValueConst
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:21604,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:21607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - s
    - label
    - delta
    argTypes:
    - JSFunctionDef*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21609
      start: 21600
    functionDepth: 0
    functionLinenumber: 21600
    functionLinenumberEnd: 21609
    functionName: update_label
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int update_label(JSFunctionDef *s, int label, int delta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - GetExportNamesState*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27632
      start: 27624
    functionDepth: 0
    functionLinenumber: 27624
    functionLinenumberEnd: 27632
    functionName: find_exported_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_exported_name(GetExportNamesState *s, JSAtom name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:37026,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:37033,1
    - Dst: JS_PreventExtensions
      Src: /src/gpac/src/quickjs/quickjs.c:37029,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37036,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37027,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37038,1
    - Dst: JS_GetOwnPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:37047,1
    - Dst: js_free_desc
      Src: /src/gpac/src/quickjs/quickjs.c:37053,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37056,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:37060,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:37061,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:37064,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - freeze_flag
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 37066
      start: 37017
    functionDepth: 0
    functionLinenumber: 37017
    functionLinenumberEnd: 37066
    functionName: js_object_seal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_PreventExtensions
    - JS_DupValue
    - JS_GetOwnPropertyNamesInternal
    - JS_GetOwnPropertyInternal
    - js_free_desc
    - JS_DefineProperty
    - JS_IsObject
    - js_free_prop_enum
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_object_seal(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int freeze_flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7332,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7335,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7335,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7333,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7332,1
    - Dst: JS_ThrowTypeErrorNotASymbol
      Src: /src/gpac/src/quickjs/quickjs.c:7336,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7338,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7340,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7342,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7343,1
    - Dst: JS_ThrowTypeErrorPrivateNotFound
      Src: /src/gpac/src/quickjs/quickjs.c:7345,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - obj
    - name
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 7349
      start: 7324
    functionDepth: 0
    functionLinenumber: 7324
    functionLinenumberEnd: 7349
    functionName: JS_GetPrivateField
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeErrorNotASymbol
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_DupValue
    - find_own_property
    - JS_ThrowTypeErrorPrivateNotFound
    - js_symbol_to_atom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetPrivateField(JSContext *ctx, JSValueConst obj,
      JSValueConst name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6579,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6581,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:6584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6587
      start: 6576
    functionDepth: 0
    functionLinenumber: 6576
    functionLinenumberEnd: 6587
    functionName: is_backtrace_needed
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - find_own_property1
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_backtrace_needed(JSContext *ctx, JSValueConst obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:21220,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:21229,1
    - Dst: JS_NewAtomLen
      Src: /src/gpac/src/quickjs/quickjs.c:21227,1
    - Dst: ident_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:21221,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:21230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - s
    - pp
    - c
    argTypes:
    - JSParseState*
    - uint8_t**
    - int
    constantsTouched: []
    func_position:
      end: 21233
      start: 21202
    functionDepth: 0
    functionLinenumber: 21202
    functionLinenumberEnd: 21233
    functionName: json_parse_ident
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - js_free
    - JS_NewAtomLen
    - ident_realloc
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom json_parse_ident(JSParseState *s, const uint8_t **pp,
      int c) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: js_strdup
      Src: /src/gpac/src/quickjs/quickjs.c:27292,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:27301,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:27304,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:27301,1
    - Dst: strrchr
      Src: /src/gpac/src/quickjs/quickjs.c:27295,1
    - Dst: strrchr
      Src: /src/gpac/src/quickjs/quickjs.c:27317,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:27322,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:27322,1
    - Dst: strcat
      Src: /src/gpac/src/quickjs/quickjs.c:27333,1
    - Dst: strcat
      Src: /src/gpac/src/quickjs/quickjs.c:27334,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - base_name
    - name
    argTypes:
    - JSContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 27337
      start: 27282
    functionDepth: 0
    functionLinenumber: 27282
    functionLinenumberEnd: 27337
    functionName: js_default_module_normalize_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    - js_malloc
    - js_strdup
    - strcmp
    - strrchr
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *js_default_module_normalize_name(JSContext *ctx, const
      char *base_name, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7359,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7359,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7364,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7364,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7360,1
    - Dst: JS_ThrowTypeErrorNotASymbol
      Src: /src/gpac/src/quickjs/quickjs.c:7365,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7369,1
    - Dst: js_symbol_to_atom
      Src: /src/gpac/src/quickjs/quickjs.c:7371,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7373,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7374,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:7378,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:7381,1
    - Dst: JS_ThrowTypeErrorPrivateNotFound
      Src: /src/gpac/src/quickjs/quickjs.c:7376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - obj
    - name
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValue
    constantsTouched: []
    func_position:
      end: 7383
      start: 7351
    functionDepth: 0
    functionLinenumber: 7351
    functionLinenumberEnd: 7383
    functionName: JS_SetPrivateField
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_ThrowTypeErrorNotASymbol
    - set_value
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - find_own_property
    - JS_ThrowTypeErrorPrivateNotFound
    - js_symbol_to_atom
    linkageType: ''
    returnType: int
    signature: 'static int JS_SetPrivateField(JSContext *ctx, JSValueConst obj, JSValueConst
      name, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16701
      start: 16696
    functionDepth: 0
    functionLinenumber: 16696
    functionLinenumberEnd: 16701
    functionName: (OP_swap)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_swap) : /* a b -> b a */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:27345,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:27346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27351
      start: 27339
    functionDepth: 0
    functionLinenumber: 27339
    functionLinenumberEnd: 27351
    functionName: js_find_loaded_module
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_for_each
    - list_entry
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_find_loaded_module(JSContext *ctx, JSAtom name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6513,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6514,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6553,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:6551,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6554,1
    - Dst: find_line_num
      Src: /src/gpac/src/quickjs/quickjs.c:6546,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6557,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6565,1
    - Dst: js_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs.c:6509,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6511,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:6518,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6536,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs.c:6548,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6549,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:6516,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:6518,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs.c:6533,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:6559,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs.c:6566,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:6569,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs.c:6570,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:6571,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:6515,1
    - Dst: get_func_name
      Src: /src/gpac/src/quickjs/quickjs.c:6528,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:6534,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:6538,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 5
    argNames:
    - ctx
    - error_obj
    - filename
    - line_num
    - backtrace_flags
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 6573
      start: 6497
    functionDepth: 0
    functionLinenumber: 6497
    functionLinenumberEnd: 6573
    functionName: build_backtrace
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - dbuf_error
    - get_func_name
    - JS_FreeCString
    - js_dbuf_init
    - find_line_num
    - JS_NewString
    - JS_NewInt32
    - JS_DefinePropertyValue
    - JS_AtomToCString
    - dbuf_free
    - js_class_has_bytecode
    - dbuf_putc
    - dbuf_printf
    linkageType: ''
    returnType: void
    signature: 'static void build_backtrace(JSContext *ctx, JSValueConst error_obj,
      const char *filename, int line_num, int backtrace_flags) '
  - BBCount: 173
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_string
      Src: /src/gpac/src/quickjs/quickjs.c:20722,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20784,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/quickjs.c:20908,1
    - Dst: parse_ident
      Src: /src/gpac/src/quickjs/quickjs.c:20887,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20909,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20882,1
    - Dst: parse_ident
      Src: /src/gpac/src/quickjs/quickjs.c:20838,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:20938,1
    - Dst: JS_VALUE_IS_NAN
      Src: /src/gpac/src/quickjs/quickjs.c:20944,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20945,1
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:20694,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20748,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20763,1
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/quickjs.c:20807,1
    - Dst: lre_js_is_ident_first
      Src: /src/gpac/src/quickjs/quickjs.c:20808,1
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/quickjs.c:20877,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20695,1
    - Dst: js_atof2
      Src: /src/gpac/src/quickjs/quickjs.c:20935,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:20945,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:20946,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/quickjs.c:21175,1
    - Dst: lre_js_is_ident_first
      Src: /src/gpac/src/quickjs/quickjs.c:21177,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:20698,1
    - Dst: js_parse_template_part
      Src: /src/gpac/src/quickjs/quickjs.c:20716,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20879,1
    - Dst: lre_js_is_ident_first
      Src: /src/gpac/src/quickjs/quickjs.c:20881,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:20941,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:20947,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:21167,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:21181,1
    CyclomaticComplexity: 253
    EdgeCount: 253
    ICount: 403
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 21199
      start: 20687
    functionDepth: 0
    functionLinenumber: 20687
    functionLinenumberEnd: 21199
    functionName: next_token
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_atof2
    - JS_FreeValue
    - js_parse_string
    - js_parse_error
    - unicode_from_utf8
    - parse_ident
    - js_atof
    - JS_IsException
    - lre_js_is_ident_next
    - js_check_stack_overflow
    - JS_VALUE_IS_NAN
    - lre_is_space
    - lre_js_is_ident_first
    - lre_parse_escape
    - free_token
    - is_digit
    - js_parse_template_part
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int next_token(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - str
    - len
    - h
    argTypes:
    - uint16_t*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2502
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2502
    functionName: hash_string16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t hash_string16(const uint16_t *str, size_t len,
      uint32_t h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_proto_obj
      Src: /src/gpac/src/quickjs/quickjs.c:4868,1
    - Dst: js_dup_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4871,1
    - Dst: js_new_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4873,1
    - Dst: find_hashed_shape_proto
      Src: /src/gpac/src/quickjs/quickjs.c:4869,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:4870,1
    - Dst: JS_NewObjectFromShape
      Src: /src/gpac/src/quickjs/quickjs.c:4877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - proto_val
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - JSClassID
    constantsTouched: []
    func_position:
      end: 4878
      start: 4862
    functionDepth: 0
    functionLinenumber: 4862
    functionLinenumberEnd: 4878
    functionName: JS_NewObjectProtoClass
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectFromShape
    - likely
    - js_dup_shape
    - get_proto_obj
    - find_hashed_shape_proto
    - js_new_shape
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewObjectProtoClass(JSContext *ctx, JSValueConst proto_val,
      JSClassID class_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5394,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5401,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5398,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:5399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 5402
      start: 5391
    functionDepth: 0
    functionLinenumber: 5391
    functionLinenumberEnd: 5402
    functionName: js_bound_function_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_bound_function_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_string16
      Src: /src/gpac/src/quickjs/quickjs.c:2507,1
    - Dst: hash_string8
      Src: /src/gpac/src/quickjs/quickjs.c:2509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - h
    argTypes:
    - JSString*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2511
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2511
    functionName: hash_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - hash_string16
    - hash_string8
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hash_string(const JSString *str, uint32_t h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5406,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:5408,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 5410
      start: 5404
    functionDepth: 0
    functionLinenumber: 5404
    functionLinenumberEnd: 5410
    functionName: js_for_in_iterator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_for_in_iterator_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:34877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 34880
      start: 34874
    functionDepth: 0
    functionLinenumber: 34874
    functionLinenumberEnd: 34880
    functionName: bc_read_error_end
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    linkageType: ''
    returnType: int
    signature: 'static int bc_read_error_end(BCReaderState *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:17999,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18002,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18003,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17999,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18001,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:18005,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:18007,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:18010,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18011,1
    - Dst: JS_ConcatString
      Src: /src/gpac/src/quickjs/quickjs.c:18013,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18013,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:18016,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:18022,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:18027,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:18014,1
    - Dst: js_add_slow
      Src: /src/gpac/src/quickjs/quickjs.c:18025,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18029
      start: 17991
    functionDepth: 0
    functionLinenumber: 17991
    functionLinenumberEnd: 18029
    functionName: (OP_add_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ConcatString
    - set_value
    - JS_IsException
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_DupValue
    - js_add_slow
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_add_loc) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:37997,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:38002,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:38002,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:38000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - errors
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 38005
      start: 37992
    functionDepth: 0
    functionLinenumber: 37992
    functionLinenumberEnd: 38005
    functionName: js_aggregate_error_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_DupValue
    - JS_DefinePropertyValue
    - JS_NewObjectProtoClass
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_aggregate_error_constructor(JSContext *ctx, JSValueConst
      errors) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:17972,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17974,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17975,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17974,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:17972,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:17977,1
    - Dst: JS_VALUE_IS_BOTH_FLOAT
      Src: /src/gpac/src/quickjs/quickjs.c:17979,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:17980,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:17980,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:17981,1
    - Dst: js_add_slow
      Src: /src/gpac/src/quickjs/quickjs.c:17985,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17989
      start: 17968
    functionDepth: 0
    functionLinenumber: 17968
    functionLinenumberEnd: 17989
    functionName: (OP_add)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    - JS_VALUE_IS_BOTH_FLOAT
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - js_add_slow
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_add) : '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29439,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:29448,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29459,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 8
    argNames:
    - ctx
    - s
    - bc
    - bc_buf
    - ls
    - pos_next
    - get_op
    - var_idx
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - DynBuf*
    - uint8_t*
    - LabelSlot*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 29465
      start: 29423
    functionDepth: 0
    functionLinenumber: 29423
    functionLinenumberEnd: 29465
    functionName: optimize_scope_make_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - put_u16
    - dbuf_putc
    - dbuf_put_u16
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int optimize_scope_make_ref(JSContext *ctx, JSFunctionDef *s,
      DynBuf *bc, uint8_t *bc_buf, LabelSlot *ls, int pos_next, int get_op, int var_idx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:37795,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:37802,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:37799,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:37826,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:37798,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:37827,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:37828,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:37829,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37831
      start: 37789
    functionDepth: 0
    functionLinenumber: 37789
    functionLinenumberEnd: 37831
    functionName: js_function_toString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ConcatString3
    - JS_AtomToString
    - JS_GetProperty
    - JS_IsUndefined
    - check_function
    - js_class_has_bytecode
    - JS_NewStringLen
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_toString(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:13684,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13697,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13698,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13699,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13729,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13716,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:13725,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13715,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13726,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:13750,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13676,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13686,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13687,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13677,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13708,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:13729,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:13748,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13702,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13703,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13712,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13704,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:13717,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13711,1
    - Dst: JS_ToInt32Free
      Src: /src/gpac/src/quickjs/quickjs.c:13725,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 81
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 13757
      start: 13665
    functionDepth: 0
    functionLinenumber: 13665
    functionLinenumberEnd: 13757
    functionName: js_binary_logic_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_ToNumericFree
    - JS_ThrowTypeError
    - JS_IsException
    - js_call_binary_op_fallback
    - abort
    - JS_VALUE_GET_TAG
    - JS_NewInt32
    - JS_ToInt32Free
    - unlikely
    - is_math_mode
    linkageType: ''
    returnType: int
    signature: 'int js_binary_logic_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29482,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29488,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29489,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29483,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29483,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29489,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:29497,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:29513,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29528,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29528,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 7
    argNames:
    - ctx
    - s
    - bc
    - bc_buf
    - ls
    - pos_next
    - var_name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - DynBuf*
    - uint8_t*
    - LabelSlot*
    - int
    - JSAtom
    constantsTouched: []
    func_position:
      end: 29534
      start: 29467
    functionDepth: 0
    functionLinenumber: 29467
    functionLinenumberEnd: 29534
    functionName: optimize_scope_make_global_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - JS_DupAtom
    - put_u32
    - abort
    - dbuf_put_u32
    - dbuf_putc
    linkageType: ''
    returnType: int
    signature: 'static int optimize_scope_make_global_ref(JSContext *ctx, JSFunctionDef
      *s, DynBuf *bc, uint8_t *bc_buf, LabelSlot *ls, int pos_next, JSAtom var_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_OrdinaryIsInstanceOf
      Src: /src/gpac/src/quickjs/quickjs.c:37837,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:37841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 37842
      start: 37833
    functionDepth: 0
    functionLinenumber: 37833
    functionLinenumberEnd: 37842
    functionName: js_function_hasInstance
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_OrdinaryIsInstanceOf
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_function_hasInstance(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_get_stack_pointer
      Src: /src/gpac/src/quickjs/quickjs.c:2387,1
    - Dst: update_stack_limit
      Src: /src/gpac/src/quickjs/quickjs.c:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 2389
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2389
    functionName: JS_UpdateStackTop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - update_stack_limit
    - js_get_stack_pointer
    linkageType: ''
    returnType: void
    signature: 'void JS_UpdateStackTop(JSRuntime *rt) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: find_atom
      Src: /src/gpac/src/quickjs/quickjs.c:36058,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:36070,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36067,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36061,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36064,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36072,1
    - Dst: JS_DefineAutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36090,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:36101,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36102,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:36108,1
    - Dst: JS_DefinePropertyGetSet
      Src: /src/gpac/src/quickjs/quickjs.c:36113,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:36121,1
    - Dst: JS_DefineAutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:36131,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36137,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:36135,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:36124,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36109,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:36118,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - obj
    - atom
    - e
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSCFunctionListEntry*
    constantsTouched: []
    func_position:
      end: 36139
      start: 36048
    functionDepth: 0
    functionLinenumber: 36048
    functionLinenumberEnd: 36139
    functionName: JS_InstantiateFunctionListItem
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - snprintf
    - find_atom
    - JS_NewCFunction2
    - abort
    - JS_NewInt32
    - JS_GetProperty
    - JS_NewInt64
    - JS_DefineAutoInitProperty
    - JS_DefinePropertyValue
    - JS_DefinePropertyGetSet
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int JS_InstantiateFunctionListItem(JSContext *ctx, JSValueConst
      obj, JSAtom atom, const JSCFunctionListEntry *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_atom
      Src: /src/gpac/src/quickjs/quickjs.c:36148,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36150,1
    - Dst: JS_InstantiateFunctionListItem
      Src: /src/gpac/src/quickjs/quickjs.c:36149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - obj
    - tab
    - len
    argTypes:
    - JSContext*
    - JSValueConst
    - JSCFunctionListEntry*
    - int
    constantsTouched: []
    func_position:
      end: 36152
      start: 36141
    functionDepth: 0
    functionLinenumber: 36141
    functionLinenumberEnd: 36152
    functionName: JS_SetPropertyFunctionList
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - find_atom
    - JS_FreeAtom
    - JS_InstantiateFunctionListItem
    linkageType: ''
    returnType: void
    signature: 'void JS_SetPropertyFunctionList(JSContext *ctx, JSValueConst obj,
      const JSCFunctionListEntry *tab, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2395
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2395
    functionName: is_strict_mode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL is_strict_mode(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16669
      start: 16661
    functionDepth: 0
    functionLinenumber: 16661
    functionLinenumberEnd: 16669
    functionName: (OP_rot5l)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_rot5l) : /* x a b c d -> a b c d x */ '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:7999,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8001,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8003,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8001,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:8003,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8004,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:8004,1
    - Dst: JS_NewAtomInt64
      Src: /src/gpac/src/quickjs/quickjs.c:8008,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8010,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8011,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8013,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8014,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8017,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:8014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - obj
    - idx
    - pval
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - JSValue*
    constantsTouched: []
    func_position:
      end: 8022
      start: 7993
    functionDepth: 0
    functionLinenumber: 7993
    functionLinenumberEnd: 8022
    functionName: JS_TryGetPropertyInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewInt32
    - JS_GetProperty
    - likely
    - unlikely
    - __JS_AtomFromUInt32
    - JS_NewAtomInt64
    - JS_HasProperty
    - JS_GetPropertyValue
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int JS_TryGetPropertyInt64(JSContext *ctx, JSValueConst obj,
      int64_t idx, JSValue *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - fd
    - scope
    - parent_scope
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21748
      start: 21739
    functionDepth: 0
    functionLinenumber: 21739
    functionLinenumberEnd: 21748
    functionName: is_child_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_child_scope(JSContext *ctx, JSFunctionDef *fd, int
      scope, int parent_scope) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:30135,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30142,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30150,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30155,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30164,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30175,1
    - Dst: get_private_setter_name
      Src: /src/gpac/src/quickjs/quickjs.c:30187,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30203,1
    - Dst: resolve_scope_private_field1
      Src: /src/gpac/src/quickjs/quickjs.c:30131,1
    - Dst: get_loc_or_ref
      Src: /src/gpac/src/quickjs/quickjs.c:30143,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30148,1
    - Dst: get_loc_or_ref
      Src: /src/gpac/src/quickjs/quickjs.c:30156,1
    - Dst: get_loc_or_ref
      Src: /src/gpac/src/quickjs/quickjs.c:30174,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30180,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30182,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:30196,1
    - Dst: get_loc_or_ref
      Src: /src/gpac/src/quickjs/quickjs.c:30197,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30200,1
    - Dst: get_loc_or_ref
      Src: /src/gpac/src/quickjs/quickjs.c:30147,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30165,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30163,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:30168,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30181,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30198,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30205,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30206,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:30214,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30144,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30164,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30157,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30159,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30158,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30181,1
    - Dst: resolve_scope_private_field1
      Src: /src/gpac/src/quickjs/quickjs.c:30190,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30193,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:30210,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30202,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 6
    argNames:
    - ctx
    - s
    - var_name
    - scope_level
    - op
    - bc
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    - int
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 30217
      start: 30124
    functionDepth: 0
    functionLinenumber: 30124
    functionLinenumberEnd: 30217
    functionName: resolve_scope_private_field
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_loc_or_ref
    - assert
    - resolve_scope_private_field1
    - JS_DupAtom
    - abort
    - dbuf_put_u16
    - dbuf_put_u32
    - get_private_setter_name
    - dbuf_putc
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'static int resolve_scope_private_field(JSContext *ctx, JSFunctionDef
      *s, JSAtom var_name, int scope_level, int op, DynBuf *bc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:47255,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 47256
      start: 47251
    functionDepth: 0
    functionLinenumber: 47251
    functionLinenumberEnd: 47256
    functionName: js_promise_finally_thrower
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_Throw
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_finally_thrower(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigFloatValue
      Src: /src/gpac/src/quickjs/quickjs.c:49591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49592
      start: 49588
    functionDepth: 0
    functionLinenumber: 49588
    functionLinenumberEnd: 49592
    functionName: js_bigfloat_valueOf
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_thisBigFloatValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_valueOf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49961,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:49964,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:49963,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:49964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49965
      start: 49955
    functionDepth: 0
    functionLinenumber: 49955
    functionLinenumberEnd: 49965
    functionName: js_bigfloat_isFinite
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - bf_is_finite
    - JS_VALUE_GET_PTR
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_isFinite(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51592,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51596
      start: 51588
    functionDepth: 0
    functionLinenumber: 51588
    functionLinenumberEnd: 51596
    functionName: js_typed_array_get_length
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - get_typed_array
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_get_length(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:8031,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8037,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8038,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8031,1
    - Dst: JS_NewAtomInt64
      Src: /src/gpac/src/quickjs/quickjs.c:8033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - obj
    - idx
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    constantsTouched: []
    func_position:
      end: 8040
      start: 8024
    functionDepth: 0
    functionLinenumber: 8024
    functionLinenumberEnd: 8040
    functionName: JS_GetPropertyInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_GetProperty
    - JS_NewAtomInt64
    - JS_GetPropertyValue
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetPropertyInt64(JSContext *ctx, JSValueConst obj,
      int64_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:27702,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:27704,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:27703,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:27708,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:27704,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:27708,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:27709,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27711,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - p1
    - p2
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 27714
      start: 27693
    functionDepth: 0
    functionLinenumber: 27693
    functionLinenumberEnd: 27714
    functionName: exported_names_cmp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_string_compare
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - JS_IsException
    - JS_AtomToString
    linkageType: ''
    returnType: int
    signature: 'static int exported_names_cmp(const void *p1, const void *p2, void
      *opaque) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:47266,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47270,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47271,1
    - Dst: js_promise_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:47269,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47267,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47274,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47277,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47280,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47281,1
    - Dst: JS_InvokeFree
      Src: /src/gpac/src/quickjs/quickjs.c:47284,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 47287
      start: 47258
    functionDepth: 0
    functionLinenumber: 47258
    functionLinenumberEnd: 47287
    functionName: js_promise_then_finally_func
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_Call
    - JS_NewCFunctionData
    - js_promise_resolve
    - JS_InvokeFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_then_finally_func(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:49597,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 49604
      start: 49594
    functionDepth: 0
    functionLinenumber: 49594
    functionLinenumberEnd: 49604
    functionName: bigfloat_get_rnd_mode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - JS_ToInt32Sat
    linkageType: ''
    returnType: int
    signature: 'static int bigfloat_get_rnd_mode(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49973,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/quickjs.c:49976,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:49976,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:49975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49977
      start: 49967
    functionDepth: 0
    functionLinenumber: 49967
    functionLinenumberEnd: 49977
    functionName: js_bigfloat_isNaN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_PTR
    - bf_is_nan
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_isNaN(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51603,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:51607,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:51607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - this_val
    - is_dataview
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 51608
      start: 51598
    functionDepth: 0
    functionLinenumber: 51598
    functionLinenumberEnd: 51608
    functionName: js_typed_array_get_buffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - get_typed_array
    - JS_MKPTR
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_get_buffer(JSContext *ctx, JSValueConst
      this_val, int is_dataview) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - fd
    - name
    - scope_level
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 21735
      start: 21723
    functionDepth: 0
    functionLinenumber: 21723
    functionLinenumberEnd: 21735
    functionName: find_var_in_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_var_in_scope(JSContext *ctx, JSFunctionDef *fd, JSAtom
      name, int scope_level) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find_private_class_field_all
      Src: /src/gpac/src/quickjs/quickjs.c:30074,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:30078,1
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:30095,1
    - Dst: JS_ThrowSyntaxErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30109,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - pis_ref
    - pvar_kind
    - s
    - var_name
    - scope_level
    argTypes:
    - JSContext*
    - BOOL*
    - int*
    - JSFunctionDef*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 30121
      start: 30062
    functionDepth: 0
    functionLinenumber: 30062
    functionLinenumberEnd: 30121
    functionName: resolve_scope_private_field1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxErrorAtom
    - find_private_class_field_all
    - get_closure_var2
    - get_closure_var
    linkageType: ''
    returnType: int
    signature: 'static int resolve_scope_private_field1(JSContext *ctx, BOOL *pis_ref,
      int *pvar_kind, JSFunctionDef *s, JSAtom var_name, int scope_level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19042,1
    - Dst: async_func_mark
      Src: /src/gpac/src/quickjs/quickjs.c:19047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 19048
      start: 19039
    functionDepth: 0
    functionLinenumber: 19039
    functionLinenumberEnd: 19048
    functionName: js_generator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - async_func_mark
    linkageType: ''
    returnType: void
    signature: 'static void js_generator_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22861,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22862,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:22867,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22866,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22863,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22869,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:22870,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22871,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22873,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22875,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:22876,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:22878,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:22879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 22880
      start: 22857
    functionDepth: 0
    functionLinenumber: 22857
    functionLinenumberEnd: 22880
    functionName: emit_class_field_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - emit_op
    - emit_goto
    - emit_u16
    - emit_label
    linkageType: ''
    returnType: void
    signature: 'static void emit_class_field_init(JSParseState *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28574,1
    - Dst: add_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:28584,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28595,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:28589,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28579,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - s
    - m
    - local_name
    - import_name
    argTypes:
    - JSParseState*
    - JSModuleDef*
    - JSAtom
    - JSAtom
    constantsTouched: []
    func_position:
      end: 28598
      start: 28565
    functionDepth: 0
    functionLinenumber: 28565
    functionLinenumberEnd: 28598
    functionName: add_import
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - add_closure_var
    - js_parse_error
    - js_resize_array
    linkageType: ''
    returnType: int
    signature: 'static int add_import(JSParseState *s, JSModuleDef *m, JSAtom local_name,
      JSAtom import_name) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_get_pos
      Src: /src/gpac/src/quickjs/quickjs.c:32768,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32781,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:32772,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:32775,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs.c:32837,1
    - Dst: js_parse_seek_token
      Src: /src/gpac/src/quickjs/quickjs.c:32852,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 32853
      start: 32759
    functionDepth: 0
    functionLinenumber: 32759
    functionLinenumberEnd: 32853
    functionName: js_parse_directives
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - snprintf
    - next_token
    - strcmp
    - js_parse_get_pos
    - js_parse_seek_token
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_directives(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - h
    - type
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    - JSGCObjectTypeEnum
    constantsTouched: []
    func_position:
      end: 5587
      start: 5581
    functionDepth: 0
    functionLinenumber: 5581
    functionLinenumberEnd: 5587
    functionName: add_gc_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_add_tail
    linkageType: ''
    returnType: void
    signature: 'static void add_gc_object(JSRuntime *rt, JSGCObjectHeader *h, JSGCObjectTypeEnum
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17697,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17703,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17705
      start: 17694
    functionDepth: 0
    functionLinenumber: 17694
    functionLinenumberEnd: 17705
    functionName: (OP_define_field)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_define_field) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_operator_typeof
      Src: /src/gpac/src/quickjs/quickjs.c:18455,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:18457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:18456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18458
      start: 18451
    functionDepth: 0
    functionLinenumber: 18451
    functionLinenumberEnd: 18458
    functionName: (OP_typeof)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_operator_typeof
    - JS_AtomToString
    - JS_FreeValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_typeof) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 25753
      start: 25748
    functionDepth: 0
    functionLinenumber: 25748
    functionLinenumberEnd: 25753
    functionName: pop_break_entry
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pop_break_entry(JSFunctionDef *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:47673,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:47678,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:47680,1
    - Dst: JS_ThrowError
      Src: /src/gpac/src/quickjs/quickjs.c:47679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 47682
      start: 47673
    functionDepth: 0
    functionLinenumber: 47673
    functionLinenumberEnd: 47682
    functionName: js_throw_URIError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - va_end
    - format
    - va_start
    - JS_ThrowError
    linkageType: ''
    returnType: int
    signature: 'static int __attribute__((format(printf, 2, 3))) js_throw_URIError(JSContext
      *ctx, const char *fmt, ...) #endif '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28616,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28615,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28627,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28651,1
    - Dst: add_import
      Src: /src/gpac/src/quickjs/quickjs.c:28655,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28648,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28644,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28667,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28678,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28679,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28691,1
    - Dst: js_parse_from_clause
      Src: /src/gpac/src/quickjs/quickjs.c:28701,1
    - Dst: add_import
      Src: /src/gpac/src/quickjs/quickjs.c:28629,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28635,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28643,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28645,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28657,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28686,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:28697,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28612,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28625,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28631,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28641,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28659,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28663,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:28671,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28672,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28674,1
    - Dst: add_import
      Src: /src/gpac/src/quickjs/quickjs.c:28688,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28681,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28706,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:28712,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28607,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:28622,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:28647,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28653,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28664,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28669,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:28675,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28682,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:28690,1
    - Dst: add_req_module_entry
      Src: /src/gpac/src/quickjs/quickjs.c:28705,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:28694,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 87
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 28713
      start: 28600
    functionDepth: 0
    functionLinenumber: 28600
    functionLinenumberEnd: 28713
    functionName: js_parse_import
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - js_parse_from_clause
    - add_import
    - js_parse_error
    - next_token
    - JS_DupAtom
    - add_req_module_entry
    - js_parse_error_reserved_identifier
    - JS_ValueToAtom
    - js_parse_expect_semi
    - js_parse_expect
    - token_is_ident
    - JS_FreeAtom
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_import(JSParseState *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:32863,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:32866,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:32872,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:32902,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 3
    argNames:
    - s
    - fd
    - func_name
    argTypes:
    - JSParseState*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 32903
      start: 32855
    functionDepth: 0
    functionLinenumber: 32855
    functionLinenumberEnd: 32903
    functionName: js_parse_function_check_names
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int js_parse_function_check_names(JSParseState *s, JSFunctionDef
      *fd, JSAtom func_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 5592
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5592
    functionName: remove_gc_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    linkageType: ''
    returnType: void
    signature: 'static void remove_gc_object(JSGCObjectHeader *h) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:16210,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16221,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16225,1
    - Dst: JS_ThrowStackOverflow
      Src: /src/gpac/src/quickjs/quickjs.c:16125,1
    - Dst: js_check_stack_overflow
      Src: /src/gpac/src/quickjs/quickjs.c:16124,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:16169,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:16243,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:16119,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:16214,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16210,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:16221,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:16225,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:16229,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16237,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16151,1
    - Dst: alloca
      Src: /src/gpac/src/quickjs/quickjs.c:16153,1
    - Dst: js_create_iterator_result
      Src: /src/gpac/src/quickjs/quickjs.c:16238,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 16248
      start: 16106
    functionDepth: 0
    functionLinenumber: 16106
    functionLinenumberEnd: 16248
    functionName: js_call_c_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_IsException
    - alloca
    - js_check_stack_overflow
    - abort
    - unlikely
    - JS_NewFloat64
    - JS_ThrowStackOverflow
    - js_create_iterator_result
    - JS_ToFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_call_c_function(JSContext *ctx, JSValueConst func_obj,
      JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16531,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:16536,1
    - Dst: js_build_mapped_arguments
      Src: /src/gpac/src/quickjs/quickjs.c:16535,1
    - Dst: js_import_meta
      Src: /src/gpac/src/quickjs/quickjs.c:16562,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16537,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16563,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16558,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16531,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16544,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16550,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:16553,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:16557,1
    - Dst: js_build_arguments
      Src: /src/gpac/src/quickjs/quickjs.c:16530,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16537,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16541,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16563,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:16567,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:16553,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16558,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16569
      start: 16525
    functionDepth: 0
    functionLinenumber: 16525
    functionLinenumberEnd: 16569
    functionName: (OP_special_object)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectProto
    - JS_IsException
    - min_int
    - abort
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    - js_build_arguments
    - js_import_meta
    - js_build_mapped_arguments
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_special_object) : '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: close_scopes
      Src: /src/gpac/src/quickjs/quickjs.c:25763,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25775,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25780,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25769,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25784,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25787,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:25788,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:25789,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25795,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25797,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:25799,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - s
    - name
    - is_cont
    argTypes:
    - JSParseState*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 25801
      start: 25755
    functionDepth: 0
    functionLinenumber: 25755
    functionLinenumberEnd: 25801
    functionName: emit_break
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_error
    - emit_op
    - emit_goto
    - close_scopes
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int emit_break(JSParseState *s, JSAtom name, int
      is_cont) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47687,1
    - Dst: string_get_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47689,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47688,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - p
    - k
    argTypes:
    - JSContext*
    - JSString*
    - int
    constantsTouched: []
    func_position:
      end: 47693
      start: 47684
    functionDepth: 0
    functionLinenumber: 47684
    functionLinenumberEnd: 47693
    functionName: hex_decode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get_hex
    - js_throw_URIError
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int hex_decode(JSContext *ctx, JSString *p, int k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_atom_concat_str
      Src: /src/gpac/src/quickjs/quickjs.c:22885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 22886
      start: 22883
    functionDepth: 0
    functionLinenumber: 22883
    functionLinenumberEnd: 22886
    functionName: get_private_setter_name
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_atom_concat_str
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom get_private_setter_name(JSContext *ctx, JSAtom name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:4940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - proto
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4941
      start: 4938
    functionDepth: 0
    functionLinenumber: 4938
    functionLinenumberEnd: 4941
    functionName: JS_NewObjectProto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObjectProtoClass
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewObjectProto(JSContext *ctx, JSValueConst proto) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17305,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17306,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:17308,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17309,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17309,1
    - Dst: get_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:17315,1
    - Dst: add_property
      Src: /src/gpac/src/quickjs/quickjs.c:17319,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:17319,1
    - Dst: free_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:17322,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:17326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames:
    - OP_make_arg_ref
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17327
      start: 17298
    functionDepth: 0
    functionLinenumber: 17298
    functionLinenumberEnd: 17327
    functionName: CASE
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - get_u16
    - JS_NewObjectProto
    - JS_IsException
    - get_u32
    - unlikely
    - get_var_ref
    - add_property
    - free_var_ref
    - JS_AtomToValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_make_loc_ref): CASE(OP_make_arg_ref) : CASE(OP_make_var_ref_ref): '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:29390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - s
    - fd
    - is_arg
    - var_idx
    - var_name
    - is_const
    - is_lexical
    - var_kind
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSFunctionDef*
    - BOOL
    - int
    - JSAtom
    - BOOL
    - BOOL
    - JSVarKindEnum
    constantsTouched: []
    func_position:
      end: 29393
      start: 29384
    functionDepth: 0
    functionLinenumber: 29384
    functionLinenumberEnd: 29393
    functionName: get_closure_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_closure_var2
    linkageType: ''
    returnType: int
    signature: 'static int get_closure_var(JSContext *ctx, JSFunctionDef *s, JSFunctionDef
      *fd, BOOL is_arg, int var_idx, JSAtom var_name, BOOL is_const, BOOL is_lexical,
      JSVarKindEnum var_kind) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:36289,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:36296,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36302,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36305,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36299,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36308,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36313,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:36318,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36319,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36320,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:36320,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36324,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:36327,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:36330,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36330,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:36329,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36333
      start: 36287
    functionDepth: 0
    functionLinenumber: 36287
    functionLinenumberEnd: 36333
    functionName: JS_ToObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_STRING
    - JS_SetObjectData
    - JS_ThrowTypeError
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValue
    - JS_NewObjectClass
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToObject(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectFromShape
      Src: /src/gpac/src/quickjs/quickjs.c:4945,1
    - Dst: js_dup_shape
      Src: /src/gpac/src/quickjs/quickjs.c:4945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4947
      start: 4943
    functionDepth: 0
    functionLinenumber: 4943
    functionLinenumberEnd: 4947
    functionName: JS_NewArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_dup_shape
    - JS_NewObjectFromShape
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewArray(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:18469,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:18475,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18473,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:18472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18476
      start: 18465
    functionDepth: 0
    functionLinenumber: 18465
    functionLinenumberEnd: 18476
    functionName: (OP_delete_var)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - unlikely
    - JS_DeleteProperty
    - JS_NewBool
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_delete_var) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - op
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 29401
      start: 29395
    functionDepth: 0
    functionLinenumber: 29395
    functionLinenumberEnd: 29401
    functionName: get_with_scope_opcode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_with_scope_opcode(int op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:36337,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:36338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 36340
      start: 36335
    functionDepth: 0
    functionLinenumber: 36335
    functionLinenumberEnd: 36340
    functionName: JS_ToObjectFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToObjectFree(JSContext *ctx, JSValue val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:46820,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46823,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:46821,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:46825,1
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:46822,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46826,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46827,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46828,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46829,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:46832,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:46833,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:46834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 46836
      start: 46813
    functionDepth: 0
    functionLinenumber: 46813
    functionLinenumberEnd: 46836
    functionName: js_promise___newPromiseCapability
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    - JS_FreeValue
    - JS_NewObject
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise___newPromiseCapability(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - class_id
    argTypes:
    - JSClassID
    constantsTouched: []
    func_position:
      end: 4971
      start: 4965
    functionDepth: 0
    functionLinenumber: 4965
    functionLinenumberEnd: 4971
    functionName: js_class_has_bytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_class_has_bytecode(JSClassID class_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:17552,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17554,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17558
      start: 17548
    functionDepth: 0
    functionLinenumber: 17548
    functionLinenumberEnd: 17558
    functionName: (OP_iterator_next)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_Call
    - JS_FreeValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_iterator_next) : /* stack: iter_obj next catch_offset val
      */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmax
      Src: /src/gpac/src/quickjs/quickjs.c:41771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 41773
      start: 41762
    functionDepth: 0
    functionLinenumber: 41762
    functionLinenumberEnd: 41773
    functionName: js_fmax
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fmax
    linkageType: ''
    returnType: double
    signature: 'static double js_fmax(double a, double b) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8309,1
    - Dst: JS_ThrowTypeErrorOrFalse
      Src: /src/gpac/src/quickjs/quickjs.c:8328,1
    - Dst: JS_ToArrayLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:8251,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8262,1
    - Dst: JS_NewAtomUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8283,1
    - Dst: delete_property
      Src: /src/gpac/src/quickjs/quickjs.c:8284,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8285,1
    - Dst: delete_property
      Src: /src/gpac/src/quickjs/quickjs.c:8315,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:8256,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8270,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8286,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8298,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8318,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8327,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8255,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8258,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8266,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8301,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:8326,1
    - Dst: JS_AtomIsArrayIndex
      Src: /src/gpac/src/quickjs/quickjs.c:8312,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:8326,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 4
    argNames:
    - ctx
    - p
    - val
    - flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 8332
      start: 8244
    functionDepth: 0
    functionLinenumber: 8244
    functionLinenumberEnd: 8332
    functionName: set_array_length
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_shape_prop
    - JS_ThrowTypeErrorOrFalse
    - set_value
    - JS_AtomIsArrayIndex
    - JS_ToArrayLengthFree
    - JS_ToUint32
    - likely
    - JS_NewUint32
    - unlikely
    - JS_NewAtomUInt32
    - JS_FreeAtom
    - JS_ThrowTypeErrorReadOnly
    - delete_property
    linkageType: ''
    returnType: int
    signature: 'static int set_array_length(JSContext *ctx, JSObject *p, JSValue val,
      int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17126,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17128,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17129
      start: 17123
    functionDepth: 0
    functionLinenumber: 17123
    functionLinenumberEnd: 17129
    functionName: (OP_set_arg)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - set_value
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_set_arg) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36209,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36212,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:36214,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:36211,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:36210,1
    - Dst: set_cycle_flag
      Src: /src/gpac/src/quickjs/quickjs.c:36215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - proto
    - proto_flags
    - ctor_flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - int
    constantsTouched: []
    func_position:
      end: 36216
      start: 36204
    functionDepth: 0
    functionLinenumber: 36204
    functionLinenumberEnd: 36216
    functionName: JS_SetConstructor2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - set_cycle_flag
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: void
    signature: 'static void JS_SetConstructor2(JSContext *ctx, JSValueConst func_obj,
      JSValueConst proto, int proto_flags, int ctor_flags) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:41783,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:41794,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41788,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:41792,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41786,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:41796,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:41801,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:41803,1
    - Dst: min_int
      Src: /src/gpac/src/quickjs/quickjs.c:41805,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:41808,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41810,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41829,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:41815,1
    - Dst: js_fmax
      Src: /src/gpac/src/quickjs/quickjs.c:41822,1
    - Dst: js_fmin
      Src: /src/gpac/src/quickjs/quickjs.c:41824,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:41818,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:41817,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 41831
      start: 41775
    functionDepth: 0
    functionLinenumber: 41775
    functionLinenumberEnd: 41831
    functionName: js_math_min_max
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - js_fmin
    - min_int
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - isnan
    - unlikely
    - max_int
    - JS_NewFloat64
    - js_fmax
    - JS_VALUE_GET_INT
    - JS_ToFloat64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_math_min_max(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_bigdecimal_to_string1
      Src: /src/gpac/src/quickjs/quickjs.c:11366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11368
      start: 11364
    functionDepth: 0
    functionLinenumber: 11364
    functionLinenumberEnd: 11368
    functionName: js_bigdecimal_to_string
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_bigdecimal_to_string1
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_to_string(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetConstructor2
      Src: /src/gpac/src/quickjs/quickjs.c:36221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - func_obj
    - proto
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 36223
      start: 36218
    functionDepth: 0
    functionLinenumber: 36218
    functionLinenumberEnd: 36223
    functionName: JS_SetConstructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetConstructor2
    linkageType: ''
    returnType: void
    signature: 'void JS_SetConstructor(JSContext *ctx, JSValueConst func_obj, JSValueConst
      proto) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:8341,1
    - Dst: js_realloc2
      Src: /src/gpac/src/quickjs/quickjs.c:8342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - p
    - new_len
    argTypes:
    - JSContext*
    - JSObject*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 8349
      start: 8335
    functionDepth: 0
    functionLinenumber: 8335
    functionLinenumberEnd: 8349
    functionName: expand_fast_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - max_int
    - js_realloc2
    linkageType: ''
    returnType: int
    signature: 'static int expand_fast_array(JSContext *ctx, JSObject *p, uint32_t
      new_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:35989,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:35991,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:35989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 35993
      start: 35987
    functionDepth: 0
    functionLinenumber: 35987
    functionLinenumberEnd: 35993
    functionName: check_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_IsFunction
    - likely
    linkageType: ''
    returnType: int
    signature: 'static int check_function(JSContext *ctx, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsInstanceOf
      Src: /src/gpac/src/quickjs/quickjs.c:14894,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14897,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14899,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14901
      start: 14887
    functionDepth: 0
    functionLinenumber: 14887
    functionLinenumberEnd: 14901
    functionName: js_operator_instanceof
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsInstanceOf
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_operator_instanceof(JSContext *ctx, JSValue
      *sp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:15920,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15922,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15923,1
    - Dst: js_closure2
      Src: /src/gpac/src/quickjs/quickjs.c:15926,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:15921,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15927,1
    - Dst: js_function_set_properties
      Src: /src/gpac/src/quickjs/quickjs.c:15934,1
    - Dst: JS_NewObjectProto
      Src: /src/gpac/src/quickjs/quickjs.c:15946,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15947,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15949,1
    - Dst: JS_SetConstructorBit
      Src: /src/gpac/src/quickjs/quickjs.c:15955,1
    - Dst: JS_DefineAutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15956,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15963,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - bfunc
    - cur_var_refs
    - sf
    argTypes:
    - JSContext*
    - JSValue
    - JSVarRef**
    - JSStackFrame*
    constantsTouched: []
    func_position:
      end: 15965
      start: 15912
    functionDepth: 0
    functionLinenumber: 15912
    functionLinenumberEnd: 15965
    functionName: js_closure
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetConstructorBit
    - JS_NewObjectProto
    - JS_IsException
    - JS_VALUE_GET_PTR
    - JS_DefinePropertyValue
    - js_function_set_properties
    - JS_NewObjectClass
    - JS_DefineAutoInitProperty
    - js_closure2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_closure(JSContext *ctx, JSValue bfunc, JSVarRef
      **cur_var_refs, JSStackFrame *sf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:18096,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18100,1
    - Dst: JS_VALUE_IS_BOTH_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18096,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:18098,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:18101,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:18102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18107
      start: 18092
    functionDepth: 0
    functionLinenumber: 18092
    functionLinenumberEnd: 18107
    functionName: (OP_div)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - likely
    - unlikely
    - JS_VALUE_IS_BOTH_INT
    - JS_NewFloat64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_div) : '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigFloatValue
      Src: /src/gpac/src/quickjs/quickjs.c:49670,1
    - Dst: js_bigfloat_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:49675,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49671,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:49673,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:49676,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49677,1
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:49678,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49682,1
    - Dst: bigfloat_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:49688,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:49693,1
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:49697,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49700,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49703,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49705
      start: 49663
    functionDepth: 0
    functionLinenumber: 49663
    functionLinenumberEnd: 49705
    functionName: js_bigfloat_toExponential
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_bigfloat_is_finite
    - JS_FreeValue
    - JS_ThrowRangeError
    - JS_IsException
    - js_get_radix
    - JS_ToString
    - JS_IsUndefined
    - bigfloat_get_rnd_mode
    - js_thisBigFloatValue
    - js_ftoa
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_toExponential(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:50257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 50258
      start: 50255
    functionDepth: 0
    functionLinenumber: 50255
    functionLinenumberEnd: 50258
    functionName: js_float_env_get_prec
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_get_prec(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52695
      start: 52691
    functionDepth: 0
    functionLinenumber: 52691
    functionLinenumberEnd: 52695
    functionName: js_TA_cmp_int64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_int64(const void *a, const void *b, void *opaque) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53372,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:53383,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:53388,1
    - Dst: JS_NewUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53399,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:53406,1
    - Dst: get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:53413,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:53428,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:53440,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:53441,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:53444,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53360,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:53364,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53370,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53377,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53394,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:53396,1
    - Dst: get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:53404,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53407,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:53415,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:53426,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53379,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:53391,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:53398,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53389,1
    - Dst: JS_NewBigUint64
      Src: /src/gpac/src/quickjs/quickjs.c:53416,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:53430,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:53356,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53359,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:53381,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:53386,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:53393,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:53384,1
    - Dst: get_u64
      Src: /src/gpac/src/quickjs/quickjs.c:53438,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 70
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 53446
      start: 53345
    functionDepth: 0
    functionLinenumber: 53345
    functionLinenumberEnd: 53446
    functionName: js_dataview_getValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u64
    - __JS_NewFloat64
    - JS_ToBool
    - JS_ThrowRangeError
    - get_u16
    - bswap64
    - JS_NewBigUint64
    - JS_GetOpaque2
    - JS_NewInt32
    - abort
    - JS_NewBigInt64
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - bswap16
    - get_u32
    - bswap32
    - JS_NewUint32
    - typed_array_size_log2
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dataview_getValue(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv, int class_id) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:14908,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:14937,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:14940,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14938,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - op1
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 14958
      start: 14903
    functionDepth: 0
    functionLinenumber: 14903
    functionLinenumberEnd: 14958
    functionName: js_operator_typeof
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - unlikely
    - JS_IsFunction
    - JS_VALUE_GET_OBJ
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_operator_typeof(JSContext *ctx, JSValueConst
      op1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35997,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 35999
      start: 35995
    functionDepth: 0
    functionLinenumber: 35995
    functionLinenumberEnd: 35999
    functionName: check_exception_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    linkageType: ''
    returnType: int
    signature: 'static int check_exception_free(JSContext *ctx, JSValue obj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_thisBigFloatValue
      Src: /src/gpac/src/quickjs/quickjs.c:49714,1
    - Dst: js_bigfloat_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:49721,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:49719,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49717,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49715,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:49723,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49726,1
    - Dst: bigfloat_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:49732,1
    - Dst: js_get_radix
      Src: /src/gpac/src/quickjs/quickjs.c:49737,1
    - Dst: js_ftoa
      Src: /src/gpac/src/quickjs/quickjs.c:49741,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49746,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49743,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49748
      start: 49707
    functionDepth: 0
    functionLinenumber: 49707
    functionLinenumberEnd: 49748
    functionName: js_bigfloat_toPrecision
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_bigfloat_is_finite
    - JS_FreeValue
    - JS_ThrowRangeError
    - JS_IsException
    - js_get_radix
    - JS_ToString
    - JS_IsUndefined
    - bigfloat_get_rnd_mode
    - js_thisBigFloatValue
    - js_ftoa
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_toPrecision(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:50262,1
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:50262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 50263
      start: 50260
    functionDepth: 0
    functionLinenumber: 50260
    functionLinenumberEnd: 50263
    functionName: js_float_env_get_expBits
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - bf_get_exp_bits
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_get_expBits(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52701
      start: 52697
    functionDepth: 0
    functionLinenumber: 52697
    functionLinenumberEnd: 52701
    functionName: js_TA_cmp_uint64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_uint64(const void *a, const void *b, void *opaque) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:53461,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:53465,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:53464,1
    - Dst: JS_ToBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:53476,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:53471,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:53482,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:53499,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:53505,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:53507,1
    - Dst: bswap16
      Src: /src/gpac/src/quickjs/quickjs.c:53518,1
    - Dst: put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:53519,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:53526,1
    - Dst: bswap64
      Src: /src/gpac/src/quickjs/quickjs.c:53534,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:53538,1
    - Dst: bswap32
      Src: /src/gpac/src/quickjs/quickjs.c:53525,1
    - Dst: put_u64
      Src: /src/gpac/src/quickjs/quickjs.c:53535,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 51
    argCount: 5
    argNames:
    - ctx
    - this_obj
    - argc
    - argv
    - class_id
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 53541
      start: 53448
    functionDepth: 0
    functionLinenumber: 53448
    functionLinenumberEnd: 53541
    functionName: js_dataview_setValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToBigInt64
    - JS_ToBool
    - JS_ThrowRangeError
    - put_u64
    - bswap64
    - JS_ToUint32
    - JS_GetOpaque2
    - put_u16
    - put_u32
    - abort
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - bswap16
    - bswap32
    - typed_array_size_log2
    - JS_ToFloat64
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_dataview_setValue(JSContext *ctx, JSValueConst this_obj,
      int argc, JSValueConst *argv, int class_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:11714,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:11714,1
    - Dst: JS_InvokeFree
      Src: /src/gpac/src/quickjs/quickjs.c:11716,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:11715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11717
      start: 11712
    functionDepth: 0
    functionLinenumber: 11712
    functionLinenumberEnd: 11717
    functionName: JS_ToLocaleStringFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToStringFree
    - JS_InvokeFree
    - JS_IsNull
    - JS_IsUndefined
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToLocaleStringFree(JSContext *ctx, JSValue val) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:13881,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13882,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13883,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13915,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13933,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14000,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13973,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13980,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13871,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13872,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13892,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:13896,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13914,1
    - Dst: is_math_mode
      Src: /src/gpac/src/quickjs/quickjs.c:13923,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13891,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:13897,1
    - Dst: JS_StringToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13925,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13940,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:13975,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:13886,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13887,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13888,1
    - Dst: js_string_compare
      Src: /src/gpac/src/quickjs/quickjs.c:13898,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13926,1
    - Dst: JS_StringToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:13930,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13934,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13941,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13942,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:13978,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13861,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13862,1
    - Dst: js_call_binary_op_fallback
      Src: /src/gpac/src/quickjs/quickjs.c:13868,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13931,1
    - Dst: JS_ToNumericFree
      Src: /src/gpac/src/quickjs/quickjs.c:13945,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:13946,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:13947,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13952,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:13953,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 164
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14006
      start: 13852
    functionDepth: 0
    functionLinenumber: 13852
    functionLinenumberEnd: 14006
    functionName: js_relational_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - js_string_compare
    - JS_StringToBigInt
    - JS_ToNumericFree
    - JS_IsException
    - js_call_binary_op_fallback
    - JS_VALUE_GET_TAG
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    - JS_NewBool
    - is_math_mode
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int js_relational_slow(JSContext *ctx, JSValue *sp,
      OPCodeEnum op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52672
      start: 52670
    functionDepth: 0
    functionLinenumber: 52670
    functionLinenumberEnd: 52672
    functionName: js_TA_cmp_int16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_int16(const void *a, const void *b, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringInternal
      Src: /src/gpac/src/quickjs/quickjs.c:11721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11722
      start: 11719
    functionDepth: 0
    functionLinenumber: 11719
    functionLinenumberEnd: 11722
    functionName: JS_ToPropertyKey
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToStringInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ToPropertyKey(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 14013
      start: 14008
    functionDepth: 0
    functionLinenumber: 14008
    functionLinenumberEnd: 14013
    functionName: tag_is_number
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL tag_is_number(uint32_t tag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14348,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14352,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14348,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:14352,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14349,1
    - Dst: fmod
      Src: /src/gpac/src/quickjs/quickjs.c:14366,1
    - Dst: js_pow
      Src: /src/gpac/src/quickjs/quickjs.c:14369,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:14372,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:14374,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - sp
    - op
    argTypes:
    - JSContext*
    - JSValue*
    - OPCodeEnum
    constantsTouched: []
    func_position:
      end: 14380
      start: 14340
    functionDepth: 0
    functionLinenumber: 14340
    functionLinenumberEnd: 14380
    functionName: js_binary_arith_slow
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - abort
    - fmod
    - JS_ToFloat64Free
    - unlikely
    - JS_NewFloat64
    - js_pow
    linkageType: ''
    returnType: int
    signature: 'int js_binary_arith_slow(JSContext *ctx, JSValue *sp, OPCodeEnum op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_postfix_expr
      Src: /src/gpac/src/quickjs/quickjs.c:22800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 22801
      start: 22798
    functionDepth: 0
    functionLinenumber: 22798
    functionLinenumberEnd: 22801
    functionName: js_parse_left_hand_side_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_postfix_expr
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_left_hand_side_expr(JSParseState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52676
      start: 52674
    functionDepth: 0
    functionLinenumber: 52674
    functionLinenumberEnd: 52676
    functionName: js_TA_cmp_uint16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_uint16(const void *a, const void *b, void *opaque) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:16936,1
    - Dst: build_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:16938,1
    - Dst: JS_EvalObject
      Src: /src/gpac/src/quickjs/quickjs.c:16946,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:16949,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:16941,1
    - Dst: free_arg_list
      Src: /src/gpac/src/quickjs/quickjs.c:16952,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:16953,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16953,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16955,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16959
      start: 16929
    functionDepth: 0
    functionLinenumber: 16929
    functionLinenumberEnd: 16959
    functionName: (OP_apply_eval)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - free_arg_list
    - get_u16
    - JS_IsException
    - build_arg_list
    - JS_EvalObject
    - unlikely
    - JS_Call
    - js_same_value
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_apply_eval) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17838,1
    - Dst: JS_ThrowReferenceErrorNotDefined
      Src: /src/gpac/src/quickjs/quickjs.c:17841,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17842,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:17839,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:17838,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:17846,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17847,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17848,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17852
      start: 17836
    functionDepth: 0
    functionLinenumber: 17836
    functionLinenumberEnd: 17852
    functionName: (OP_get_ref_value)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_ThrowReferenceErrorNotDefined
    - JS_IsUndefined
    - unlikely
    - JS_DupValue
    - JS_ValueToAtom
    - JS_GetPropertyValue
    - JS_FreeAtom
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_ref_value) : '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:48911,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48918,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:48918,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:48924,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48924,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:48927,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:48932,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48932,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:48935,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:48936,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 48938
      start: 48909
    functionDepth: 0
    functionLinenumber: 48909
    functionLinenumberEnd: 48938
    functionName: js_operator_set_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - js_free_rt
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void js_operator_set_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:51700,1
    - Dst: typed_array_is_detached
      Src: /src/gpac/src/quickjs/quickjs.c:51707,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:51703,1
    - Dst: JS_ThrowTypeErrorDetachedArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs.c:51709,1
    - Dst: JS_ToObject
      Src: /src/gpac/src/quickjs/quickjs.c:51712,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51713,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:51715,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:51722,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/quickjs.c:51734,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:51744,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:51754,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51763,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:51748,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:51753,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:51760,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:51756,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - dst
    - src
    - 'off'
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 51765
      start: 51689
    functionDepth: 0
    functionLinenumber: 51689
    functionLinenumberEnd: 51765
    functionName: js_typed_array_set_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_GetPropertyUint32
    - JS_ToObject
    - JS_SetPropertyUint32
    - get_typed_array
    - JS_ThrowRangeError
    - JS_FreeValue
    - JS_IsException
    - js_get_length64
    - JS_ThrowTypeErrorDetachedArrayBuffer
    - typed_array_is_detached
    - typed_array_size_log2
    - memmove
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_set_internal(JSContext *ctx, JSValueConst
      dst, JSValueConst src, JSValueConst off) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringCheckObject
      Src: /src/gpac/src/quickjs/quickjs.c:41456,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:41457,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:41460,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:41464,1
    - Dst: JS_ToUTF32String
      Src: /src/gpac/src/quickjs/quickjs.c:41459,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:41467,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:41485,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:41486,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:41488,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:41491,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:41500,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:41496,1
    - Dst: JS_NewUTF32String
      Src: /src/gpac/src/quickjs/quickjs.c:41499,1
    - Dst: unicode_normalize
      Src: /src/gpac/src/quickjs/quickjs.c:41494,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 41502
      start: 41446
    functionDepth: 0
    functionLinenumber: 41446
    functionLinenumberEnd: 41502
    functionName: js_string_normalize
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeCString
    - JS_ThrowRangeError
    - JS_NewUTF32String
    - JS_IsException
    - JS_ToCStringLen
    - JS_ToUTF32String
    - JS_IsUndefined
    - js_free
    - JS_ToStringCheckObject
    - unicode_normalize
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_string_normalize(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsRegisteredClass
      Src: /src/gpac/src/quickjs/quickjs.c:45411,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:45418,1
    - Dst: JS_SetConstructorBit
      Src: /src/gpac/src/quickjs/quickjs.c:45420,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:45413,1
    - Dst: init_class_range
      Src: /src/gpac/src/quickjs/quickjs.c:45412,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:45421,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:45422,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs.c:45423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 45425
      start: 45406
    functionDepth: 0
    functionLinenumber: 45406
    functionLinenumberEnd: 45425
    functionName: JS_AddIntrinsicProxy
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetConstructorBit
    - init_class_range
    - JS_SetPropertyFunctionList
    - JS_IsRegisteredClass
    - JS_NewCFunction2
    - JS_DefinePropertyValueStr
    - countof
    linkageType: ''
    returnType: void
    signature: 'void JS_AddIntrinsicProxy(JSContext *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:48943,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:48957,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48957,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:48950,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48950,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:48965,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:48965,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 48970
      start: 48940
    functionDepth: 0
    functionLinenumber: 48940
    functionLinenumberEnd: 48970
    functionName: js_operator_set_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    - JS_MKPTR
    linkageType: ''
    returnType: void
    signature: 'static void js_operator_set_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_set_internal
      Src: /src/gpac/src/quickjs/quickjs.c:51775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51776
      start: 51767
    functionDepth: 0
    functionLinenumber: 51767
    functionLinenumberEnd: 51776
    functionName: js_typed_array_set
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_typed_array_set_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_set(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_create_module_var
      Src: /src/gpac/src/quickjs/quickjs.c:27957,1
    - Dst: js_create_module_bytecode_function
      Src: /src/gpac/src/quickjs/quickjs.c:27964,1
    - Dst: js_create_module_function
      Src: /src/gpac/src/quickjs/quickjs.c:27973,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27978
      start: 27941
    functionDepth: 0
    functionLinenumber: 27941
    functionLinenumberEnd: 27978
    functionName: js_create_module_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_create_module_function
    - js_create_module_bytecode_function
    - js_create_module_var
    linkageType: ''
    returnType: int
    signature: 'static int js_create_module_function(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44346,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:44347,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44348,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:44351,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:44349,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44352,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:44356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44357
      start: 44338
    functionDepth: 0
    functionLinenumber: 44338
    functionLinenumberEnd: 44357
    functionName: js_reflect_deleteProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ValueToAtom
    - JS_DeleteProperty
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_deleteProperty(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19214,1
    - Dst: mark_func
      Src: /src/gpac/src/quickjs/quickjs.c:19217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 19219
      start: 19211
    functionDepth: 0
    functionLinenumber: 19211
    functionLinenumberEnd: 19219
    functionName: js_async_function_resolve_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - mark_func
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_resolve_mark(JSRuntime *rt, JSValueConst
      val, JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1344,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:1346,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - JSContext*
    - size_t
    constantsTouched: []
    func_position:
      end: 1350
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1350
    functionName: js_malloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_ThrowOutOfMemory
    - js_malloc_rt
    linkageType: ''
    returnType: void*
    signature: 'void *js_malloc(JSContext *ctx, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc_size
      Src: /src/gpac/src/quickjs/quickjs.c:1701,1
    - Dst: malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1710,1
    - Dst: malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1707,1
    - Dst: _msize
      Src: /src/gpac/src/quickjs/quickjs.c:1703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1712
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1712
    functionName: js_def_malloc_usable_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - _msize
    - malloc_size
    - malloc_usable_size
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t js_def_malloc_usable_size(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sh
    argTypes:
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4277
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4277
    functionName: get_shape_prop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSShapeProperty*
    signature: 'static inline JSShapeProperty *get_shape_prop(JSShape *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:5238,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:5239,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:5242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ppr
    - p
    - atom
    argTypes:
    - JSProperty**
    - JSObject*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 5251
      start: 5229
    functionDepth: 0
    functionLinenumber: 5229
    functionLinenumberEnd: 5251
    functionName: find_own_property
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - likely
    - get_shape_prop
    - prop_hash_end
    linkageType: ''
    returnType: force_inline*
    signature: 'static force_inline JSShapeProperty *find_own_property(JSProperty
      **ppr, JSObject *p, JSAtom atom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:10865,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 10866
      start: 10863
    functionDepth: 0
    functionLinenumber: 10863
    functionLinenumberEnd: 10866
    functionName: JS_ToInt64Sat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToInt64SatFree
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt64Sat(JSContext *ctx, int64_t *pres, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - scope_level
    argTypes:
    - JSFunctionDef*
    - int
    constantsTouched: []
    func_position:
      end: 23549
      start: 23532
    functionDepth: 0
    functionLinenumber: 23532
    functionLinenumberEnd: 23549
    functionName: has_with_scope
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL has_with_scope(JSFunctionDef *s, int scope_level) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:43432,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:43461,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43462,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs.c:43468,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43473,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:43477,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:43488,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43489,1
    - Dst: string_advance_index
      Src: /src/gpac/src/quickjs/quickjs.c:43492,1
    - Dst: string_advance_index
      Src: /src/gpac/src/quickjs/quickjs.c:43499,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43539,1
    - Dst: JS_SpeciesConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:43443,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43444,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43446,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43478,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:43491,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:43494,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43494,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43502,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43540,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:43528,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43541,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:43485,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:43433,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43441,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:43440,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43446,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43447,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:43450,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:43452,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:43465,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:43480,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:43485,1
    - Dst: js_sub_string
      Src: /src/gpac/src/quickjs/quickjs.c:43501,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43529,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43531,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43514,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43516,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43538,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43487,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:43449,1
    - Dst: string_indexof_char
      Src: /src/gpac/src/quickjs/quickjs.c:43451,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43459,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43453,1
    - Dst: JS_CallConstructor
      Src: /src/gpac/src/quickjs/quickjs.c:43458,1
    - Dst: JS_DefinePropertyValueInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43504,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:43513,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43535,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43542,1
    - Dst: js_get_length64
      Src: /src/gpac/src/quickjs/quickjs.c:43510,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:43513,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 116
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 43544
      start: 43420
    functionDepth: 0
    functionLinenumber: 43420
    functionLinenumberEnd: 43544
    functionName: js_regexp_Symbol_split
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RegExpExec
    - JS_IsNull
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_ToString
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - JS_SetProperty
    - JS_SpeciesConstructor
    - JS_NewInt32
    - JS_ToStringFree
    - JS_IsObject
    - JS_CallConstructor
    - string_indexof_char
    - JS_ToUint32
    - js_get_length64
    - JS_IsUndefined
    - js_sub_string
    - JS_GetPropertyInt64
    - JS_FreeValue
    - string_advance_index
    - JS_DefinePropertyValueInt64
    - JS_ConcatString3
    - JS_GetProperty
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_Symbol_split(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:44368,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44374,1
    - Dst: JS_GetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:44377,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:44369,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:44375,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:44378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 44380
      start: 44359
    functionDepth: 0
    functionLinenumber: 44359
    functionLinenumberEnd: 44380
    functionName: js_reflect_get
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeErrorNotAnObject
    - JS_VALUE_GET_TAG
    - unlikely
    - JS_ValueToAtom
    - JS_GetPropertyInternal
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_reflect_get(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:1719,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1721,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs.c:1724,1
    - Dst: js_def_malloc_usable_size
      Src: /src/gpac/src/quickjs/quickjs.c:1729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - JSMallocState*
    - size_t
    constantsTouched: []
    func_position:
      end: 1731
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1731
    functionName: js_def_malloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - assert
    - malloc
    - js_def_malloc_usable_size
    linkageType: ''
    returnType: void*
    signature: 'static void *js_def_malloc(JSMallocState *s, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:4284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4289
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4289
    functionName: init_shape_hash
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_mallocz_rt
    linkageType: ''
    returnType: int
    signature: 'static int init_shape_hash(JSRuntime *rt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:10871,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:10871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - pres
    - val
    - min
    - max
    - neg_offset
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 10881
      start: 10868
    functionDepth: 0
    functionLinenumber: 10868
    functionLinenumberEnd: 10881
    functionName: JS_ToInt64Clamp
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToInt64SatFree
    linkageType: ''
    returnType: int
    signature: 'int JS_ToInt64Clamp(JSContext *ctx, int64_t *pres, JSValueConst val,
      int64_t min, int64_t max, int64_t neg_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:19230,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19234,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19237,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - s
    - resolving_funcs
    argTypes:
    - JSContext*
    - JSAsyncFunctionData*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 19242
      start: 19221
    functionDepth: 0
    functionLinenumber: 19221
    functionLinenumberEnd: 19242
    functionName: js_async_function_resolve_create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_IsException
    - JS_FreeValue
    - JS_NewObjectProtoClass
    linkageType: ''
    returnType: int
    signature: 'static int js_async_function_resolve_create(JSContext *ctx, JSAsyncFunctionData
      *s, JSValue *resolving_funcs) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23567,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23583,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23613,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23623,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23627,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23628,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23633,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23634,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23638,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23639,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:23565,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23582,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:23617,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23647,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23648,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23649,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23650,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23651,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:23612,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23615,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:23614,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23601,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23616,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23656,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23659,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:23642,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:23568,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:23578,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23571,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23595,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23597,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:23599,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23622,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23618,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23626,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23632,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:23637,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:23652,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 101
    argCount: 8
    argNames:
    - s
    - popcode
    - pscope
    - pname
    - plabel
    - pdepth
    - keep
    - tok
    argTypes:
    - JSParseState*
    - int*
    - int*
    - JSAtom*
    - int*
    - int*
    - BOOL
    - int
    constantsTouched: []
    func_position:
      end: 23673
      start: 23551
    functionDepth: 0
    functionLinenumber: 23551
    functionLinenumberEnd: 23673
    functionName: get_lvalue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_prev_opcode
    - js_parse_error
    - get_u16
    - emit_op
    - emit_atom
    - emit_u16
    - new_label
    - emit_u32
    - update_label
    - abort
    - get_u32
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int get_lvalue(JSParseState *s, int *popcode, int
      *pscope, JSAtom *pname, int *plabel, int *pdepth, BOOL keep, int tok) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:45855,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:45857,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:45856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - mr
    argTypes:
    - JSRuntime*
    - JSMapRecord*
    constantsTouched: []
    func_position:
      end: 45859
      start: 45851
    functionDepth: 0
    functionLinenumber: 45851
    functionLinenumberEnd: 45859
    functionName: map_decref_record
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - js_free_rt
    - list_del
    linkageType: ''
    returnType: void
    signature: 'static void map_decref_record(JSRuntime *rt, JSMapRecord *mr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:52785,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52781,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:52780,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:52786,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:52790,1
    - Dst: validate_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52801,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52806,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52807,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52810,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52809,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - a
    - b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 52815
      start: 52764
    functionDepth: 0
    functionLinenumber: 52764
    functionLinenumberEnd: 52815
    functionName: js_TA_cmp_generic
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - validate_typed_array
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_ToFloat64Free
    - JS_Call
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: int
    signature: 'static int js_TA_cmp_generic(const void *a, const void *b, void *opaque) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15306,1
    - Dst: __JS_AtomFromUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:15317,1
    - Dst: JS_HasProperty
      Src: /src/gpac/src/quickjs/quickjs.c:15331,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:15324,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15308,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:15338,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 15346
      start: 15296
    functionDepth: 0
    functionLinenumber: 15296
    functionLinenumberEnd: 15346
    functionName: js_for_in_next
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - get_shape_prop
    - JS_VALUE_GET_TAG
    - __JS_AtomFromUInt32
    - JS_HasProperty
    - JS_AtomToValue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_for_in_next(JSContext *ctx, JSValue *sp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:15820,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:15828,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:15835,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:15821,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - sf
    - var_idx
    - is_arg
    argTypes:
    - JSContext*
    - JSStackFrame*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 15842
      start: 15814
    functionDepth: 0
    functionLinenumber: 15814
    functionLinenumberEnd: 15842
    functionName: get_var_ref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_add_tail
    - list_for_each
    - list_entry
    - js_malloc
    linkageType: ''
    returnType: JSVarRef*
    signature: 'static JSVarRef *get_var_ref(JSContext *ctx, JSStackFrame *sf, int
      var_idx, BOOL is_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:25909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 25910
      start: 25907
    functionDepth: 0
    functionLinenumber: 25907
    functionLinenumberEnd: 25910
    functionName: js_parse_statement
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_parse_statement_or_decl
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_statement(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45947,1
    - Dst: map_delete_record
      Src: /src/gpac/src/quickjs/quickjs.c:45957,1
    - Dst: map_find_record
      Src: /src/gpac/src/quickjs/quickjs.c:45954,1
    - Dst: map_normalize_key
      Src: /src/gpac/src/quickjs/quickjs.c:45953,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45959
      start: 45944
    functionDepth: 0
    functionLinenumber: 45944
    functionLinenumberEnd: 45959
    functionName: js_map_delete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - map_normalize_key
    - map_delete_record
    - JS_GetOpaque2
    - map_find_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_delete(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:15353,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:15356,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15357,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:15358,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - obj
    - method
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 15361
      start: 15348
    functionDepth: 0
    functionLinenumber: 15348
    functionLinenumberEnd: 15361
    functionName: JS_GetIterator2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_ThrowTypeErrorNotAnObject
    - JS_Call
    - JS_IsObject
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetIterator2(JSContext *ctx, JSValueConst obj, JSValueConst
      method) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15853,1
    - Dst: get_var_ref
      Src: /src/gpac/src/quickjs/quickjs.c:15867,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:15858,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15880,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - b
    - cur_var_refs
    - sf
    argTypes:
    - JSContext*
    - JSValue
    - JSFunctionBytecode*
    - JSVarRef**
    - JSStackFrame*
    constantsTouched: []
    func_position:
      end: 15882
      start: 15844
    functionDepth: 0
    functionLinenumber: 15844
    functionLinenumberEnd: 15882
    functionName: js_closure2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_var_ref
    - js_mallocz
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_closure2(JSContext *ctx, JSValue func_obj, JSFunctionBytecode
      *b, JSVarRef **cur_var_refs, JSStackFrame *sf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:25914,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:25924,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:25917,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:25919,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:25926,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 25929
      start: 25912
    functionDepth: 0
    functionLinenumber: 25912
    functionLinenumberEnd: 25929
    functionName: js_parse_block
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - pop_scope
    - js_parse_statement_or_decl
    - next_token
    - push_scope
    - js_parse_expect
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_block(JSParseState *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:45964,1
    - Dst: map_delete_record
      Src: /src/gpac/src/quickjs/quickjs.c:45972,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:45971,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:45970,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 45975
      start: 45961
    functionDepth: 0
    functionLinenumber: 45961
    functionLinenumberEnd: 45975
    functionName: js_map_clear
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_for_each_safe
    - JS_GetOpaque2
    - list_entry
    - map_delete_record
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_map_clear(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz_rt
      Src: /src/gpac/src/quickjs/quickjs.c:1356,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:1358,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:1357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - JSContext*
    - size_t
    constantsTouched: []
    func_position:
      end: 1362
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1362
    functionName: js_mallocz
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_ThrowOutOfMemory
    - js_mallocz_rt
    linkageType: ''
    returnType: void*
    signature: 'void *js_mallocz(JSContext *ctx, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5256
      start: 5254
    functionDepth: 0
    functionLinenumber: 5254
    functionLinenumberEnd: 5256
    functionName: set_cycle_flag
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void set_cycle_flag(JSContext *ctx, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigIntFree
      Src: /src/gpac/src/quickjs/quickjs.c:12359,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/quickjs.c:12364,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:12365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValue
    constantsTouched: []
    func_position:
      end: 12367
      start: 12355
    functionDepth: 0
    functionLinenumber: 12355
    functionLinenumberEnd: 12367
    functionName: JS_ToBigInt64Free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_get_int64
    - JS_FreeBigInt
    - JS_ToBigIntFree
    linkageType: ''
    returnType: int
    signature: 'static int JS_ToBigInt64Free(JSContext *ctx, int64_t *pres, JSValue
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:17447,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:17449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17452
      start: 17444
    functionDepth: 0
    functionLinenumber: 17444
    functionLinenumberEnd: 17452
    functionName: (OP_gosub)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u32
    - JS_NewInt32
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_gosub) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/gpac/src/quickjs/quickjs.c:48103,1
    - Dst: days_from_year
      Src: /src/gpac/src/quickjs/quickjs.c:48107,1
    - Dst: days_in_year
      Src: /src/gpac/src/quickjs/quickjs.c:48112,1
    - Dst: getTimezoneOffset
      Src: /src/gpac/src/quickjs/quickjs.c:48120,1
    - Dst: floor
      Src: /src/gpac/src/quickjs/quickjs.c:48106,1
    - Dst: time_clip
      Src: /src/gpac/src/quickjs/quickjs.c:48121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - fields
    - is_local
    argTypes:
    - double
    - int
    constantsTouched: []
    func_position:
      end: 48122
      start: 48097
    functionDepth: 0
    functionLinenumber: 48097
    functionLinenumberEnd: 48122
    functionName: set_date_fields
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - days_from_year
    - floor
    - fmod
    - getTimezoneOffset
    - time_clip
    - days_in_year
    linkageType: ''
    returnType: double
    signature: 'static double set_date_fields(double fields[], int is_local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigInt64Free
      Src: /src/gpac/src/quickjs/quickjs.c:12371,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:12371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - int64_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 12372
      start: 12369
    functionDepth: 0
    functionLinenumber: 12369
    functionLinenumberEnd: 12372
    functionName: JS_ToBigInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_ToBigInt64Free
    linkageType: ''
    returnType: int
    signature: 'int JS_ToBigInt64(JSContext *ctx, int64_t *pres, JSValueConst val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48133,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 48143
      start: 48124
    functionDepth: 0
    functionLinenumber: 48124
    functionLinenumberEnd: 48143
    functionName: get_date_field
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewFloat64
    - get_date_fields
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue get_date_field(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4977,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:4979,1
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:4980,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4983
      start: 4974
    functionDepth: 0
    functionLinenumber: 4974
    functionLinenumberEnd: 4983
    functionName: JS_GetFunctionBytecode
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    - js_class_has_bytecode
    linkageType: ''
    returnType: JSFunctionBytecode*
    signature: 'static JSFunctionBytecode *JS_GetFunctionBytecode(JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:39805,1
    - Dst: js_global_isNaN
      Src: /src/gpac/src/quickjs/quickjs.c:39807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39808
      start: 39802
    functionDepth: 0
    functionLinenumber: 39802
    functionLinenumberEnd: 39808
    functionName: js_number_isNaN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNumber
    - js_global_isNaN
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_isNaN(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26308,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26310,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 26312
      start: 26305
    functionDepth: 0
    functionLinenumber: 26305
    functionLinenumberEnd: 26312
    functionName: set_eval_ret_undefined
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_op
    - emit_u16
    linkageType: ''
    returnType: void
    signature: 'static void set_eval_ret_undefined(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15628,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 15635
      start: 15625
    functionDepth: 0
    functionLinenumber: 15625
    functionLinenumberEnd: 15635
    functionName: js_is_fast_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL js_is_fast_array(JSContext *ctx, JSValueConst obj) '
  - BBCount: 156
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26327,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26331,1
    - Dst: emit_return
      Src: /src/gpac/src/quickjs/quickjs.c:26381,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26377,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26393,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:26440,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26543,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26616,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26619,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26659,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:26849,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26875,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26852,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26961,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26895,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:26383,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26422,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26472,1
    - Dst: close_scopes
      Src: /src/gpac/src/quickjs/quickjs.c:26581,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:26642,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26677,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26712,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26752,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26758,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:26769,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26778,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26796,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26885,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26929,1
    - Dst: emit_return
      Src: /src/gpac/src/quickjs/quickjs.c:26379,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26387,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26395,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26508,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26529,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26583,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26727,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26791,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26793,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:26834,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26856,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26902,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26919,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26815,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26882,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26496,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26536,1
    - Dst: js_parse_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:26575,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26465,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26494,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:26431,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26435,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26621,1
    - Dst: emit_break
      Src: /src/gpac/src/quickjs/quickjs.c:26674,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26737,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26844,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26878,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26915,1
    - Dst: js_unsupported_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:27030,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26884,1
    - Dst: js_parse_statement
      Src: /src/gpac/src/quickjs/quickjs.c:26965,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26358,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26515,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26668,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:26680,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26702,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26718,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26841,1
    - Dst: js_define_var
      Src: /src/gpac/src/quickjs/quickjs.c:26843,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26714,1
    - Dst: js_is_live_code
      Src: /src/gpac/src/quickjs/quickjs.c:26870,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26850,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26876,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26890,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:27021,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26866,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26336,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26371,1
    - Dst: js_parse_var
      Src: /src/gpac/src/quickjs/quickjs.c:26410,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26445,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26446,1
    - Dst: js_parse_statement
      Src: /src/gpac/src/quickjs/quickjs.c:26498,1
    - Dst: js_parse_statement
      Src: /src/gpac/src/quickjs/quickjs.c:26470,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26623,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26788,1
    - Dst: js_is_live_code
      Src: /src/gpac/src/quickjs/quickjs.c:26807,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26928,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26905,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26779,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26955,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26877,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:27045,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26927,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26484,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26513,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26491,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:26504,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26374,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26486,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:26643,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26698,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26720,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26730,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26745,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26809,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:27041,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26460,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:26412,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26421,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26439,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26455,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26587,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26589,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26599,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26604,1
    - Dst: close_scopes
      Src: /src/gpac/src/quickjs/quickjs.c:26633,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26872,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26848,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26916,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26931,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26813,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26998,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26338,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26436,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26468,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26501,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26526,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26653,1
    - Dst: js_parse_block
      Src: /src/gpac/src/quickjs/quickjs.c:26802,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26805,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26812,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26837,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26776,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26867,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26892,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26775,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26918,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26502,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26403,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26511,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26488,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26463,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26721,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26725,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26729,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26735,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:26753,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26917,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27053,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26822,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:27040,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26359,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26390,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:26396,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26457,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26591,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26627,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26693,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26773,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26792,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26794,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26898,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26995,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26976,1
    - Dst: is_let
      Src: /src/gpac/src/quickjs/quickjs.c:26985,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:26952,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26893,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26570,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26347,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:26423,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26602,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26617,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:26761,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26934,1
    - Dst: define_var
      Src: /src/gpac/src/quickjs/quickjs.c:26956,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26962,1
    - Dst: set_eval_ret_undefined
      Src: /src/gpac/src/quickjs/quickjs.c:26964,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:27002,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:26981,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26798,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:27035,1
    - Dst: is_label
      Src: /src/gpac/src/quickjs/quickjs.c:26324,1
    - Dst: is_let
      Src: /src/gpac/src/quickjs/quickjs.c:26560,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:26533,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:26466,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:26641,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26658,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:26694,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26697,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26723,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26740,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26765,1
    - Dst: js_parse_block
      Src: /src/gpac/src/quickjs/quickjs.c:26863,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27050,1
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:26912,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26418,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26425,1
    - Dst: js_parse_var
      Src: /src/gpac/src/quickjs/quickjs.c:26572,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26577,1
    - Dst: js_parse_statement
      Src: /src/gpac/src/quickjs/quickjs.c:26628,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26829,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26868,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26939,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26944,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26960,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26969,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26819,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26827,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:27012,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26540,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26474,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26485,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26348,1
    - Dst: js_parse_block
      Src: /src/gpac/src/quickjs/quickjs.c:26366,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26408,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26476,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26556,1
    - Dst: js_parse_for_in_of
      Src: /src/gpac/src/quickjs/quickjs.c:26548,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26613,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26690,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26933,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26699,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26949,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26859,1
    - Dst: js_parse_statement_or_decl
      Src: /src/gpac/src/quickjs/quickjs.c:26356,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26454,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26586,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26588,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26600,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26789,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26823,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26858,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26926,1
    - Dst: js_parse_expect_semi
      Src: /src/gpac/src/quickjs/quickjs.c:27023,1
    - Dst: js_parse_class
      Src: /src/gpac/src/quickjs/quickjs.c:27015,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26811,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26842,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:26994,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:27043,1
    - Dst: js_parse_block
      Src: /src/gpac/src/quickjs/quickjs.c:26922,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26656,1
    CyclomaticComplexity: 281
    EdgeCount: 281
    ICount: 476
    argCount: 2
    argNames:
    - s
    - decl_mask
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 27055
      start: 26314
    functionDepth: 0
    functionLinenumber: 26314
    functionLinenumberEnd: 27055
    functionName: js_parse_statement_or_decl
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    - emit_goto
    - dbuf_realloc
    - emit_break
    - set_eval_ret_undefined
    - js_parse_expr_paren
    - peek_token
    - define_var
    - js_parse_function_decl
    - emit_op
    - js_parse_expr
    - close_scopes
    - JS_DupAtom
    - js_parse_statement_or_decl
    - pop_break_entry
    - push_scope
    - push_break_entry
    - js_parse_expect_semi
    - js_is_live_code
    - js_parse_for_in_of
    - JS_FreeAtom
    - js_parse_skip_parens_token
    - js_parse_error
    - js_unsupported_keyword
    - next_token
    - emit_label
    - emit_return
    - is_let
    - js_parse_expr2
    - js_define_var
    - add_var
    - js_parse_expect
    - js_parse_block
    - js_parse_class
    - token_is_pseudo_keyword
    - pop_scope
    - js_parse_var
    - emit_u16
    - new_label
    - is_label
    - emit_u32
    - put_u32
    - js_parse_error_reserved_identifier
    - js_parse_destructuring_element
    - js_parse_statement
    - dbuf_put
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_statement_or_decl(JSParseState *s,
      int decl_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:39813,1
    - Dst: js_global_isFinite
      Src: /src/gpac/src/quickjs/quickjs.c:39815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39816
      start: 39810
    functionDepth: 0
    functionLinenumber: 39810
    functionLinenumberEnd: 39816
    functionName: js_number_isFinite
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsNumber
    - js_global_isFinite
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_number_isFinite(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:5055,1
    - Dst: JS_DupContext
      Src: /src/gpac/src/quickjs/quickjs.c:5059,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:5056,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5058,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:5070,1
    - Dst: js_function_set_properties
      Src: /src/gpac/src/quickjs/quickjs.c:5071,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:5072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - ctx
    - func
    - name
    - length
    - cproto
    - magic
    - proto_val
    argTypes:
    - JSContext*
    - JSCFunction*
    - char*
    - int
    - JSCFunctionEnum
    - int
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5074
      start: 5046
    functionDepth: 0
    functionLinenumber: 5046
    functionLinenumberEnd: 5074
    functionName: JS_NewCFunction3
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupContext
    - JS_NewAtom
    - JS_IsException
    - JS_NewObjectProtoClass
    - js_function_set_properties
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_NewCFunction3(JSContext *ctx, JSCFunction *func,
      const char *name, int length, JSCFunctionEnum cproto, int magic, JSValueConst
      proto_val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4679,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4689,1
    - Dst: get_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4681,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4690,1
    - Dst: shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4680,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4693,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:4694,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - rt
    - sh
    - atom
    - prop_flags
    argTypes:
    - JSRuntime*
    - JSShape*
    - JSAtom
    - int
    constantsTouched: []
    func_position:
      end: 4701
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4701
    functionName: find_hashed_shape_prop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - get_shape_hash
    - shape_hash
    linkageType: ''
    returnType: JSShape*
    signature: 'static JSShape *find_hashed_shape_prop(JSRuntime *rt, JSShape *sh,
      JSAtom atom, int prop_flags) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6934,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6967
      start: 6932
    functionDepth: 0
    functionLinenumber: 6932
    functionLinenumberEnd: 6967
    functionName: JS_GetPrototypePrimitive
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    linkageType: ''
    returnType: JSValueConst
    signature: 'static JSValueConst JS_GetPrototypePrimitive(JSContext *ctx, JSValueConst
      val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19274,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19277,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19294,1
    - Dst: async_func_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19248,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19249,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:19264,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19267,1
    - Dst: perform_promise_then
      Src: /src/gpac/src/quickjs/quickjs.c:19289,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19292,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:19252,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19255,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:19253,1
    - Dst: js_async_function_terminate
      Src: /src/gpac/src/quickjs/quickjs.c:19256,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:19262,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19266,1
    - Dst: js_async_function_terminate
      Src: /src/gpac/src/quickjs/quickjs.c:19268,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19257,1
    - Dst: js_promise_resolve
      Src: /src/gpac/src/quickjs/quickjs.c:19275,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19281,1
    - Dst: js_async_function_resolve_create
      Src: /src/gpac/src/quickjs/quickjs.c:19280,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - JSAsyncFunctionData*
    constantsTouched: []
    func_position:
      end: 19299
      start: 19244
    functionDepth: 0
    functionLinenumber: 19244
    functionLinenumberEnd: 19299
    functionName: js_async_function_resume
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_GetException
    - js_async_function_terminate
    - JS_IsUndefined
    - js_async_function_resolve_create
    - JS_Call
    - js_promise_resolve
    - perform_promise_then
    - async_func_resume
    linkageType: ''
    returnType: void
    signature: 'static void js_async_function_resume(JSContext *ctx, JSAsyncFunctionData
      *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:27898,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:27903,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:27901,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:27905,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:27911,1
    - Dst: js_create_module_var
      Src: /src/gpac/src/quickjs/quickjs.c:27922,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:27926,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27933,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:27936,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 27938
      start: 27889
    functionDepth: 0
    functionLinenumber: 27889
    functionLinenumberEnd: 27938
    functionName: js_create_module_bytecode_function
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_IsException
    - JS_VALUE_GET_PTR
    - JS_NewObjectProtoClass
    - js_mallocz
    - js_create_module_var
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int js_create_module_bytecode_function(JSContext *ctx, JSModuleDef
      *m) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:43630,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43631,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:43680,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43681,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43687,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:43706,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43739,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:43642,1
    - Dst: json_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:43647,1
    - Dst: json_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:43669,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43657,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:43655,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43663,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:43732,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:43730,1
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43636,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43640,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43645,1
    - Dst: json_parse_value
      Src: /src/gpac/src/quickjs/quickjs.c:43649,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43650,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:43652,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:43689,1
    - Dst: json_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:43701,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43707,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43712,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43628,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43678,1
    - Dst: json_parse_value
      Src: /src/gpac/src/quickjs/quickjs.c:43686,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43694,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:43718,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43724,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 82
    argCount: 1
    argNames:
    - s
    argTypes:
    - JSParseState*
    constantsTouched: []
    func_position:
      end: 43741
      start: 43616
    functionDepth: 0
    functionLinenumber: 43616
    functionLinenumberEnd: 43741
    functionName: json_parse_value
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - json_parse_expect
    - js_parse_error
    - JS_NewObject
    - JS_NewArray
    - JS_IsException
    - JS_DupAtom
    - JS_DefinePropertyValue
    - JS_DefinePropertyValueUint32
    - JS_DupValue
    - json_next_token
    - JS_ValueToAtom
    - JS_FreeAtom
    - json_parse_value
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue json_parse_value(JSParseState *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:19307,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19318,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:19318,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:19321,1
    - Dst: js_async_function_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 19325
      start: 19301
    functionDepth: 0
    functionLinenumber: 19301
    functionLinenumberEnd: 19325
    functionName: js_async_function_resolve_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupValue
    - js_async_function_resume
    - JS_Throw
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_function_resolve_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_init
      Src: /src/gpac/src/quickjs/quickjs.c:43749,1
    - Dst: json_next_token
      Src: /src/gpac/src/quickjs/quickjs.c:43751,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:43754,1
    - Dst: json_parse_value
      Src: /src/gpac/src/quickjs/quickjs.c:43753,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:43757,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:43762,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:43763,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - buf
    - buf_len
    - filename
    - flags
    argTypes:
    - JSContext*
    - char*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 43765
      start: 43743
    functionDepth: 0
    functionLinenumber: 43743
    functionLinenumberEnd: 43765
    functionName: JS_ParseJSON2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_parse_error
    - JS_IsException
    - js_parse_init
    - json_next_token
    - free_token
    - json_parse_value
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ParseJSON2(JSContext *ctx, const char *buf, size_t buf_len,
      const char *filename, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shape_initial_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4658,1
    - Dst: get_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - rt
    - proto
    argTypes:
    - JSRuntime*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 4668
      start: 4653
    functionDepth: 0
    functionLinenumber: 4653
    functionLinenumberEnd: 4668
    functionName: find_hashed_shape_proto
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - shape_initial_hash
    - get_shape_hash
    linkageType: ''
    returnType: JSShape*
    signature: 'static JSShape *find_hashed_shape_proto(JSRuntime *rt, JSObject *proto) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_get_function_name
      Src: /src/gpac/src/quickjs/quickjs.c:5030,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:5036,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:5032,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:5038,1
    - Dst: JS_ConcatString3
      Src: /src/gpac/src/quickjs/quickjs.c:5034,1
    - Dst: js_method_set_home_object
      Src: /src/gpac/src/quickjs/quickjs.c:5041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - func_obj
    - name
    - flags
    - home_obj
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - int
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5043
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5043
    functionName: js_method_set_properties
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_function_name
    - js_method_set_home_object
    - JS_ConcatString3
    - JS_IsException
    - JS_DefinePropertyValue
    linkageType: ''
    returnType: int
    signature: 'static int js_method_set_properties(JSContext *ctx, JSValueConst func_obj,
      JSAtom name, int flags, JSValueConst home_obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPrototypeInternal
      Src: /src/gpac/src/quickjs/quickjs.c:6928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - obj
    - proto_val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6929
      start: 6926
    functionDepth: 0
    functionLinenumber: 6926
    functionLinenumberEnd: 6929
    functionName: JS_SetPrototype
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_SetPrototypeInternal
    linkageType: ''
    returnType: int
    signature: 'int JS_SetPrototype(JSContext *ctx, JSValueConst obj, JSValueConst
      proto_val) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:35638,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35642,1
    - Dst: BC_add_object_ref1
      Src: /src/gpac/src/quickjs/quickjs.c:35649,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:35641,1
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35644,1
    - Dst: JS_ReadObjectRec
      Src: /src/gpac/src/quickjs/quickjs.c:35651,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35652,1
    - Dst: js_get_array_buffer
      Src: /src/gpac/src/quickjs/quickjs.c:35654,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35655,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:35659,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35672,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35664,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35669,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35673,1
    - Dst: js_typed_array_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:35661,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:35660,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:35667,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35675
      start: 35630
    functionDepth: 0
    functionLinenumber: 35630
    functionLinenumberEnd: 35675
    functionName: JS_ReadTypedArray
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - js_typed_array_constructor
    - JS_ThrowTypeError
    - JS_IsException
    - js_get_array_buffer
    - JS_ReadObjectRec
    - JS_NewInt64
    - BC_add_object_ref1
    - bc_get_u8
    - bc_get_leb128
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadTypedArray(BCReaderState *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39692
      start: 39688
    functionDepth: 0
    functionLinenumber: 39688
    functionLinenumberEnd: 39692
    functionName: js_iterator_proto_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_iterator_proto_iterator(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42890,1
    - Dst: JS_ToBoolFree
      Src: /src/gpac/src/quickjs/quickjs.c:42897,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:42914,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42915,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42925,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42927,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:42927,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:42880,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42887,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42886,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:42909,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42910,1
    - Dst: JS_IsEmptyString
      Src: /src/gpac/src/quickjs/quickjs.c:42917,1
    - Dst: JS_ToLengthFree
      Src: /src/gpac/src/quickjs/quickjs.c:42922,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42923,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42937,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42941,1
    - Dst: JS_RegExpExec
      Src: /src/gpac/src/quickjs/quickjs.c:42895,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42901,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42908,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42901,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:42912,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42932,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42936,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42943,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:42881,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42890,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42897,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:42903,1
    - Dst: JS_GetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:42914,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42904,1
    - Dst: JS_SetPropertyInt64
      Src: /src/gpac/src/quickjs/quickjs.c:42918,1
    - Dst: string_advance_index
      Src: /src/gpac/src/quickjs/quickjs.c:42926,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42942,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42945
      start: 42871
    functionDepth: 0
    functionLinenumber: 42871
    functionLinenumberEnd: 42945
    functionName: js_regexp_Symbol_match
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_RegExpExec
    - JS_IsNull
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_ToString
    - JS_VALUE_GET_STRING
    - JS_NewArray
    - JS_SetProperty
    - JS_NewInt32
    - JS_NewInt64
    - JS_ToStringFree
    - JS_IsObject
    - JS_ToBoolFree
    - JS_SetPropertyInt64
    - JS_GetPropertyInt64
    - JS_IsEmptyString
    - JS_FreeValue
    - string_advance_index
    - JS_GetProperty
    - JS_ToLengthFree
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_Symbol_match(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bc_get_leb128
      Src: /src/gpac/src/quickjs/quickjs.c:35683,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/quickjs/quickjs.c:35689,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:35690,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:35685,1
    - Dst: bc_read_error_end
      Src: /src/gpac/src/quickjs/quickjs.c:35686,1
    - Dst: BC_add_object_ref
      Src: /src/gpac/src/quickjs/quickjs.c:35692,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:35697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - BCReaderState*
    constantsTouched: []
    func_position:
      end: 35699
      start: 35677
    functionDepth: 0
    functionLinenumber: 35677
    functionLinenumberEnd: 35699
    functionName: JS_ReadArrayBuffer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - bc_read_error_end
    - JS_IsException
    - JS_NewArrayBufferCopy
    - unlikely
    - BC_add_object_ref
    - bc_get_leb128
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ReadArrayBuffer(BCReaderState *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:6973,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:6976,1
    - Dst: js_proxy_getPrototypeOf
      Src: /src/gpac/src/quickjs/quickjs.c:6977,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:6983,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:6975,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:6983,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:6986,1
    - Dst: JS_GetPrototypePrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:6986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 6989
      start: 6970
    functionDepth: 0
    functionLinenumber: 6970
    functionLinenumberEnd: 6989
    functionName: JS_GetPrototype
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - js_proxy_getPrototypeOf
    - JS_VALUE_GET_TAG
    - JS_GetPrototypePrimitive
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetPrototype(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sh
    argTypes:
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4267
      start: 4264
    functionDepth: 0
    functionLinenumber: 4264
    functionLinenumberEnd: 4267
    functionName: prop_hash_end
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t*
    signature: 'static inline uint32_t *prop_hash_end(JSShape *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:18953,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:18961,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:18954,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - rt
    - s
    - mark_func
    argTypes:
    - JSRuntime*
    - JSAsyncFunctionState*
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 18963
      start: 18946
    functionDepth: 0
    functionLinenumber: 18946
    functionLinenumberEnd: 18963
    functionName: async_func_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void async_func_mark(JSRuntime *rt, JSAsyncFunctionState *s,
      JS_MarkFunc *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sh
    argTypes:
    - JSShape*
    constantsTouched: []
    func_position:
      end: 4272
      start: 4269
    functionDepth: 0
    functionLinenumber: 4269
    functionLinenumberEnd: 4272
    functionName: get_alloc_from_shape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - prop_hash_end
    linkageType: ''
    returnType: void*
    signature: 'static inline void *get_alloc_from_shape(JSShape *sh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:6994,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:6995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 6997
      start: 6991
    functionDepth: 0
    functionLinenumber: 6991
    functionLinenumberEnd: 6997
    functionName: JS_GetPrototypeFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPrototype
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetPrototypeFree(JSContext *ctx, JSValue obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_var_refs
      Src: /src/gpac/src/quickjs/quickjs.c:18973,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:18983,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:18979,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:18981,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:18977,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:18984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - rt
    - s
    argTypes:
    - JSRuntime*
    - JSAsyncFunctionState*
    constantsTouched: []
    func_position:
      end: 18985
      start: 18965
    functionDepth: 0
    functionLinenumber: 18965
    functionLinenumberEnd: 18985
    functionName: async_func_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - assert
    - close_var_refs
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void async_func_free(JSRuntime *rt, JSAsyncFunctionState *s) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gpac/src/quickjs/quickjs.c:30486,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30544,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/quickjs.c:30489,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30505,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/quickjs.c:30529,1
    - Dst: va_arg
      Src: /src/gpac/src/quickjs/quickjs.c:30545,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30559,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30564,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30565,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30570,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:30582,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30587,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30588,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:30589,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30581,1
    - Dst: get_u8
      Src: /src/gpac/src/quickjs/quickjs.c:30576,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30575,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/quickjs.c:30598,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 106
    argCount: 2
    argNames:
    - s
    - pos
    - '...'
    argTypes:
    - CodeContext*
    - int
    constantsTouched: []
    func_position:
      end: 30600
      start: 30478
    functionDepth: 0
    functionLinenumber: 30478
    functionLinenumberEnd: 30600
    functionName: code_match
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - va_end
    - va_start
    - va_arg
    - get_u32
    - get_u8
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL code_match(CodeContext *s, int pos, ...) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:46889,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46890,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46901,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46905,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:46870,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:46881,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46898,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46920,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46921,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46925,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46927,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.c:46877,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:46892,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:46896,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:46907,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46887,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:46886,1
    - Dst: remainingElementsCount_add
      Src: /src/gpac/src/quickjs/quickjs.c:46911,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46918,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46923,1
    - Dst: js_aggregate_error_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:46917,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 46930
      start: 46862
    functionDepth: 0
    functionLinenumber: 46862
    functionLinenumberEnd: 46930
    functionName: js_promise_all_resolve_element
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_NewObject
    - JS_IsException
    - JS_NewString
    - remainingElementsCount_add
    - JS_DefinePropertyValue
    - JS_DefinePropertyValueUint32
    - JS_DupValue
    - JS_Call
    - js_aggregate_error_constructor
    - JS_ToInt32
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_all_resolve_element(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49764,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49767,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49775,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/quickjs.c:49798,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:49805,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49811,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs.c:49820,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49821,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49847,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49854,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49860,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49861,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49763,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49770,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49768,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/quickjs.c:49771,1
    - Dst: bf_set_float64
      Src: /src/gpac/src/quickjs/quickjs.c:49786,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:49806,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49828,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:49842,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:49848,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49794,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49797,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49795,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:49793,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:49810,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49829,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49831,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/quickjs.c:49832,1
    - Dst: js_atof
      Src: /src/gpac/src/quickjs/quickjs.c:49835,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:49845,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49773,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:49781,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49782,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49785,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49783,1
    - Dst: skip_spaces
      Src: /src/gpac/src/quickjs/quickjs.c:49825,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49838,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:49839,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49866,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:49853,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49868
      start: 49758
    functionDepth: 0
    functionLinenumber: 49758
    functionLinenumberEnd: 49868
    functionName: js_bigfloat_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_set_zero
    - JS_IsException
    - JS_ToCStringLen
    - JS_ThrowSyntaxError
    - JS_ThrowTypeError
    - JS_DupValue
    - JS_ToStringFree
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_NORM_TAG
    - JS_FreeCString
    - js_atof
    - JS_VALUE_GET_PTR
    - JS_IsUndefined
    - bf_set_float64
    - JS_MKPTR
    - JS_FreeValue
    - JS_NewBigFloat
    - JS_GetBigFloat
    - JS_VALUE_GET_FLOAT64
    - bf_set_si
    - skip_spaces
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:54187,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:54189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - class_id
    argTypes:
    - JSValue
    - JSClassID
    constantsTouched: []
    func_position:
      end: 54192
      start: 54184
    functionDepth: 0
    functionLinenumber: 54184
    functionLinenumberEnd: 54192
    functionName: JS_SwitchClassID
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'int JS_SwitchClassID(JSValue obj, JSClassID class_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resize_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4370,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:4373,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:4378,1
    - Dst: get_shape_size
      Src: /src/gpac/src/quickjs/quickjs.c:4373,1
    - Dst: get_shape_from_alloc
      Src: /src/gpac/src/quickjs/quickjs.c:4376,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:4380,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:4380,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:4382,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4382,1
    - Dst: prop_hash_end
      Src: /src/gpac/src/quickjs/quickjs.c:4382,1
    - Dst: js_shape_hash_link
      Src: /src/gpac/src/quickjs/quickjs.c:4393,1
    - Dst: shape_initial_hash
      Src: /src/gpac/src/quickjs/quickjs.c:4390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - proto
    - hash_size
    - prop_size
    argTypes:
    - JSContext*
    - JSObject*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4395
      start: 4361
    functionDepth: 0
    functionLinenumber: 4361
    functionLinenumberEnd: 4395
    functionName: js_new_shape2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_shape_size
    - memset
    - prop_hash_end
    - js_malloc
    - js_shape_hash_link
    - JS_MKPTR
    - shape_initial_hash
    - JS_DupValue
    - resize_shape_hash
    - get_shape_from_alloc
    - add_gc_object
    linkageType: ''
    returnType: no_inline*
    signature: 'static no_inline JSShape *js_new_shape2(JSContext *ctx, JSObject *proto,
      int hash_size, int prop_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9619,1
    - Dst: find_own_property1
      Src: /src/gpac/src/quickjs/quickjs.c:9620,1
    - Dst: JS_DefineProperty
      Src: /src/gpac/src/quickjs/quickjs.c:9626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - prop
    - func
    - def_flags
    argTypes:
    - JSContext*
    - JSAtom
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 9630
      start: 9611
    functionDepth: 0
    functionLinenumber: 9611
    functionLinenumberEnd: 9630
    functionName: JS_DefineGlobalFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DefineProperty
    - find_own_property1
    linkageType: ''
    returnType: int
    signature: 'static int JS_DefineGlobalFunction(JSContext *ctx, JSAtom prop, JSValueConst
      func, int def_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ValueToAtom
      Src: /src/gpac/src/quickjs/quickjs.c:14968,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14969,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:14973,1
    - Dst: JS_DeleteProperty
      Src: /src/gpac/src/quickjs/quickjs.c:14971,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:14972,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14975,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:14976,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:14977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 14979
      start: 14960
    functionDepth: 0
    functionLinenumber: 14960
    functionLinenumberEnd: 14979
    functionName: js_operator_delete
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - unlikely
    - JS_ValueToAtom
    - JS_DeleteProperty
    - JS_FreeAtom
    - JS_NewBool
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_operator_delete(JSContext *ctx, JSValue
      *sp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPrototype
      Src: /src/gpac/src/quickjs/quickjs.c:16973,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:16974,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:16976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16978
      start: 16970
    functionDepth: 0
    functionLinenumber: 16970
    functionLinenumberEnd: 16978
    functionName: (OP_get_super)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPrototype
    - JS_IsException
    - JS_FreeValue
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_super) : '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs.c:49216,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49257,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49230,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49237,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49240,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49245,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/quickjs.c:49239,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.c:49243,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49242,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:49252,1
    - Dst: JS_StringToBigIntErr
      Src: /src/gpac/src/quickjs/quickjs.c:49261,1
    - Dst: JS_ToPrimitiveFree
      Src: /src/gpac/src/quickjs/quickjs.c:49264,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49272,1
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49212,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:49225,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49227,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49246,1
    - Dst: JS_ToStringFree
      Src: /src/gpac/src/quickjs/quickjs.c:49256,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/quickjs.c:49226,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:49216,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:49228,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49233,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49234,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49248,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/quickjs.c:49238,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49265,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49271,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 49275
      start: 49207
    functionDepth: 0
    functionLinenumber: 49207
    functionLinenumberEnd: 49275
    functionName: JS_ToBigIntCtorFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewBigInt
    - bf_rint
    - JS_ThrowTypeError
    - JS_CompactBigInt
    - JS_ToStringFree
    - JS_ToPrimitiveFree
    - JS_VALUE_GET_INT
    - JS_VALUE_GET_NORM_TAG
    - JS_ThrowRangeError
    - bf_delete
    - bf_set
    - JS_FreeValue
    - JS_StringToBigIntErr
    - JS_NewBigInt64
    - bf_is_finite
    - JS_ToBigFloat
    - JS_ThrowOutOfMemory
    - JS_GetBigInt
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToBigIntCtorFree(JSContext *ctx, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_new_shape2
      Src: /src/gpac/src/quickjs/quickjs.c:4399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - proto
    argTypes:
    - JSContext*
    - JSObject*
    constantsTouched: []
    func_position:
      end: 4401
      start: 4397
    functionDepth: 0
    functionLinenumber: 4397
    functionLinenumberEnd: 4401
    functionName: js_new_shape
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_shape2
    linkageType: ''
    returnType: JSShape*
    signature: 'static JSShape *js_new_shape(JSContext *ctx, JSObject *proto) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9640,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9644,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:9645,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:9641,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:9644,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:9646,1
    - Dst: JS_GetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:9648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - prop
    - throw_ref_error
    argTypes:
    - JSContext*
    - JSAtom
    - BOOL
    constantsTouched: []
    func_position:
      end: 9650
      start: 9632
    functionDepth: 0
    functionLinenumber: 9632
    functionLinenumberEnd: 9650
    functionName: JS_GetGlobalVar
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - unlikely
    - JS_DupValue
    - JS_ThrowReferenceErrorUninitialized
    - find_own_property
    - JS_GetPropertyInternal
    - JS_IsUninitialized
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetGlobalVar(JSContext *ctx, JSAtom prop, BOOL throw_ref_error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:14984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 14985
      start: 14981
    functionDepth: 0
    functionLinenumber: 14981
    functionLinenumberEnd: 14985
    functionName: js_throw_type_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_throw_type_error(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:49281,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49283,1
    - Dst: JS_ToBigIntCtorFree
      Src: /src/gpac/src/quickjs/quickjs.c:49283,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 49284
      start: 49277
    functionDepth: 0
    functionLinenumber: 49277
    functionLinenumberEnd: 49284
    functionName: js_bigint_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_DupValue
    - JS_ToBigIntCtorFree
    - JS_IsUndefined
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_default_module_normalize_name
      Src: /src/gpac/src/quickjs/quickjs.c:27364,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27372,1
    - Dst: js_find_loaded_module
      Src: /src/gpac/src/quickjs/quickjs.c:27379,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27374,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27381,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27382,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:27386,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs.c:27391,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27393,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:27398,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - base_cname
    - cname1
    argTypes:
    - JSContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 27400
      start: 27354
    functionDepth: 0
    functionLinenumber: 27354
    functionLinenumberEnd: 27400
    functionName: js_host_resolve_imported_module
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - js_default_module_normalize_name
    - js_free
    - JS_ThrowReferenceError
    - JS_FreeAtom
    - js_find_loaded_module
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_host_resolve_imported_module(JSContext *ctx,
      const char *base_cname, const char *cname1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToStringInternal
      Src: /src/gpac/src/quickjs/quickjs.c:11701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 11702
      start: 11699
    functionDepth: 0
    functionLinenumber: 11699
    functionLinenumberEnd: 11702
    functionName: JS_ToString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ToStringInternal
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_ToString(JSContext *ctx, JSValueConst val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17082,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17086
      start: 17079
    functionDepth: 0
    functionLinenumber: 17079
    functionLinenumberEnd: 17086
    functionName: (OP_get_loc)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_loc) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/quickjs/quickjs.c:48296,1
    - Dst: gettimeofday
      Src: /src/gpac/src/quickjs/quickjs.c:48300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48304
      start: 48293
    functionDepth: 0
    functionLinenumber: 48293
    functionLinenumberEnd: 48304
    functionName: date_now
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - gettimeofday
    - _ftime
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t date_now(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:11707,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:11708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 11710
      start: 11704
    functionDepth: 0
    functionLinenumber: 11704
    functionLinenumberEnd: 11710
    functionName: JS_ToStringFree
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ToStringFree(JSContext *ctx, JSValue val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs.c:27409,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs.c:27412,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:27414,1
    - Dst: js_host_resolve_imported_module
      Src: /src/gpac/src/quickjs/quickjs.c:27417,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:27418,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs.c:27419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - base_module_name
    - module_name1
    argTypes:
    - JSContext*
    - JSAtom
    - JSAtom
    constantsTouched: []
    func_position:
      end: 27421
      start: 27402
    functionDepth: 0
    functionLinenumber: 27402
    functionLinenumberEnd: 27421
    functionName: js_host_resolve_imported_module_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_AtomToCString
    - js_host_resolve_imported_module
    - JS_FreeCString
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_host_resolve_imported_module_atom(JSContext
      *ctx, JSAtom base_module_name, JSAtom module_name1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46373,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46374,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46375,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - rd
    argTypes:
    - JSRuntime*
    - JSPromiseReactionData*
    constantsTouched: []
    func_position:
      end: 46377
      start: 46370
    functionDepth: 0
    functionLinenumber: 46370
    functionLinenumberEnd: 46377
    functionName: promise_reaction_data_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void promise_reaction_data_free(JSRuntime *rt, JSPromiseReactionData
      *rd) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:48323,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:48324,1
    - Dst: time_clip
      Src: /src/gpac/src/quickjs/quickjs.c:48328,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48372,1
    - Dst: JS_IsNumber
      Src: /src/gpac/src/quickjs/quickjs.c:48325,1
    - Dst: JS_ToPrimitive
      Src: /src/gpac/src/quickjs/quickjs.c:48332,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs.c:48333,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:48341,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48350,1
    - Dst: js_create_from_ctor
      Src: /src/gpac/src/quickjs/quickjs.c:48368,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:48372,1
    - Dst: date_now
      Src: /src/gpac/src/quickjs/quickjs.c:48320,1
    - Dst: js_Date_parse
      Src: /src/gpac/src/quickjs/quickjs.c:48334,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48336,1
    - Dst: time_clip
      Src: /src/gpac/src/quickjs/quickjs.c:48344,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:48352,1
    - Dst: set_date_fields
      Src: /src/gpac/src/quickjs/quickjs.c:48358,1
    - Dst: trunc
      Src: /src/gpac/src/quickjs/quickjs.c:48354,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48365,1
    - Dst: js___date_create
      Src: /src/gpac/src/quickjs/quickjs.c:48366,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:48369,1
    - Dst: get_date_string
      Src: /src/gpac/src/quickjs/quickjs.c:48375,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:48314,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48326,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48335,1
    - Dst: JS_ToFloat64Free
      Src: /src/gpac/src/quickjs/quickjs.c:48338,1
    - Dst: JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:48370,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:48376,1
    - Dst: JS_SetObjectData
      Src: /src/gpac/src/quickjs/quickjs.c:48370,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 48380
      start: 48306
    functionDepth: 0
    functionLinenumber: 48306
    functionLinenumberEnd: 48380
    functionName: js_date_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - isfinite
    - JS_ToPrimitive
    - JS_IsException
    - js___date_create
    - JS_ToFloat64Free
    - date_now
    - js_Date_parse
    - JS_VALUE_GET_TAG
    - JS_IsNumber
    - set_date_fields
    - trunc
    - JS_SetObjectData
    - JS_IsUndefined
    - time_clip
    - JS_IsString
    - JS_NewFloat64
    - JS_ToFloat64
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - get_date_string
    - js_create_from_ctor
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_date_constructor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:50312,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs.c:50317,1
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/quickjs.c:50319,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:50319,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:50321,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:50323,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:50325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - this_val
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 50327
      start: 50309
    functionDepth: 0
    functionLinenumber: 50309
    functionLinenumberEnd: 50327
    functionName: js_float_env_proto_get_status
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - bf_get_exp_bits
    - JS_GetOpaque2
    - JS_NewInt32
    - JS_NewInt64
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_proto_get_status(JSContext *ctx, JSValueConst
      this_val, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pr
    argTypes:
    - JSProperty*
    constantsTouched: []
    func_position:
      end: 5173
      start: 5170
    functionDepth: 0
    functionLinenumber: 5170
    functionLinenumberEnd: 5173
    functionName: js_autoinit_get_realm
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSContext*
    signature: 'static JSContext *js_autoinit_get_realm(JSProperty *pr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7751,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:7793,1
    - Dst: find_own_property
      Src: /src/gpac/src/quickjs/quickjs.c:7738,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7745,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7749,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7754,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7758,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7766,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7771,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7802,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:7749,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7755,1
    - Dst: JS_AutoInitProperty
      Src: /src/gpac/src/quickjs/quickjs.c:7761,1
    - Dst: JS_ThrowReferenceErrorUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:7772,1
    - Dst: __JS_AtomIsTaggedInt
      Src: /src/gpac/src/quickjs/quickjs.c:7784,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7793,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:7751,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7754,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7770,1
    - Dst: __JS_AtomToUInt32
      Src: /src/gpac/src/quickjs/quickjs.c:7786,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:7771,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 4
    argNames:
    - ctx
    - desc
    - p
    - prop
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    - JSObject*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 7807
      start: 7731
    functionDepth: 0
    functionLinenumber: 7731
    functionLinenumberEnd: 7807
    functionName: JS_GetOwnPropertyInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_AutoInitProperty
    - __JS_AtomIsTaggedInt
    - JS_MKPTR
    - unlikely
    - JS_DupValue
    - JS_ThrowReferenceErrorUninitialized
    - find_own_property
    - __JS_AtomToUInt32
    - JS_IsUninitialized
    linkageType: ''
    returnType: int
    signature: 'static int JS_GetOwnPropertyInternal(JSContext *ctx, JSPropertyDescriptor
      *desc, JSObject *p, JSAtom prop) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fesetround
      Src: /src/gpac/src/quickjs/quickjs.c:11403,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:11411,1
    - Dst: atoi
      Src: /src/gpac/src/quickjs/quickjs.c:11414,1
    - Dst: fesetround
      Src: /src/gpac/src/quickjs/quickjs.c:11406,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:11404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 8
    argNames:
    - d
    - n_digits
    - decpt
    - sign
    - buf
    - rounding_mode
    - buf1
    - buf1_size
    argTypes:
    - double
    - int
    - int*
    - int*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 11415
      start: 11399
    functionDepth: 0
    functionLinenumber: 11399
    functionLinenumberEnd: 11415
    functionName: js_ecvt1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fesetround
    - snprintf
    - memcpy
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void js_ecvt1(double d, int n_digits, int *decpt, int *sign,
      char *buf, int rounding_mode, char *buf1, int buf1_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_for_in_iterator
      Src: /src/gpac/src/quickjs/quickjs.c:15289,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - sp
    argTypes:
    - JSContext*
    - JSValue*
    constantsTouched: []
    func_position:
      end: 15293
      start: 15287
    functionDepth: 0
    functionLinenumber: 15287
    functionLinenumberEnd: 15293
    functionName: js_for_in_start
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - build_for_in_iterator
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_for_in_start(JSContext *ctx, JSValue *sp) '
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29641,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29732,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29774,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29796,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29837,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29947,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29983,1
    - Dst: optimize_scope_make_global_ref
      Src: /src/gpac/src/quickjs/quickjs.c:29998,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30010,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29689,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29692,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29693,1
    - Dst: optimize_scope_make_ref
      Src: /src/gpac/src/quickjs/quickjs.c:29706,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29772,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29798,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29927,1
    - Dst: optimize_scope_make_ref
      Src: /src/gpac/src/quickjs/quickjs.c:29940,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29954,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29731,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29787,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29642,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29675,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29713,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30024,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29755,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29632,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29691,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29714,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29905,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29929,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29930,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29931,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30009,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30016,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30029,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29690,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29691,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29741,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29773,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29848,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29768,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29928,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29929,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29946,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30002,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29833,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29718,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29766,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29800,1
    - Dst: can_opt_put_ref_value
      Src: /src/gpac/src/quickjs/quickjs.c:29934,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30016,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30019,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:29652,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29687,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29750,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29925,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29948,1
    - Dst: can_opt_put_global_ref_value
      Src: /src/gpac/src/quickjs/quickjs.c:29997,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30020,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29717,1
    - Dst: resolve_pseudo_var
      Src: /src/gpac/src/quickjs/quickjs.c:29815,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29967,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29633,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29693,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29717,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29767,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29974,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30001,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30015,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30023,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29799,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29675,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29713,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29723,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29891,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29752,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29787,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29918,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29947,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29969,1
    - Dst: find_var
      Src: /src/gpac/src/quickjs/quickjs.c:29810,1
    - Dst: add_arguments_var
      Src: /src/gpac/src/quickjs/quickjs.c:29820,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29889,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29632,1
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:29881,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29931,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30024,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29850,1
    - Dst: can_opt_put_ref_value
      Src: /src/gpac/src/quickjs/quickjs.c:29695,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29716,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29746,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29917,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29978,1
    - Dst: add_func_var
      Src: /src/gpac/src/quickjs/quickjs.c:29665,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29739,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29845,1
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:29867,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29838,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29917,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29971,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30030,1
    - Dst: get_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29900,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29674,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29712,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29836,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29890,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29786,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30002,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29631,1
    - Dst: var_object_test
      Src: /src/gpac/src/quickjs/quickjs.c:29643,1
    - Dst: add_arguments_var
      Src: /src/gpac/src/quickjs/quickjs.c:29661,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29688,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29759,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29926,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29980,1
    - Dst: add_func_var
      Src: /src/gpac/src/quickjs/quickjs.c:29825,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/quickjs.c:29849,1
    - Dst: resolve_pseudo_var
      Src: /src/gpac/src/quickjs/quickjs.c:29656,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29676,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29743,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29788,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29916,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29986,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:30010,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:30020,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:30008,1
    CyclomaticComplexity: 138
    EdgeCount: 138
    ICount: 378
    argCount: 9
    argNames:
    - ctx
    - s
    - var_name
    - scope_level
    - op
    - bc
    - bc_buf
    - ls
    - pos_next
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    - int
    - DynBuf*
    - uint8_t*
    - LabelSlot*
    - int
    constantsTouched: []
    func_position:
      end: 30034
      start: 29604
    functionDepth: 0
    functionLinenumber: 29604
    functionLinenumberEnd: 30034
    functionName: resolve_scope_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_arguments_var
    - var_object_test
    - can_opt_put_global_ref_value
    - resolve_pseudo_var
    - JS_DupAtom
    - add_func_var
    - optimize_scope_make_global_ref
    - can_opt_put_ref_value
    - dbuf_put_u16
    - dbuf_put_u32
    - optimize_scope_make_ref
    - get_closure_var2
    - find_var
    - dbuf_putc
    - get_closure_var
    linkageType: ''
    returnType: int
    signature: 'static int resolve_scope_var(JSContext *ctx, JSFunctionDef *s, JSAtom
      var_name, int scope_level, int op, DynBuf *bc, uint8_t *bc_buf, LabelSlot *ls,
      int pos_next) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32332,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32412,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32424,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32442,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:32320,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32340,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:32389,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32399,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32425,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32418,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32437,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32446,1
    - Dst: short_opcode_info
      Src: /src/gpac/src/quickjs/quickjs.c:32343,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32369,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32407,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32417,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32429,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32441,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:32447,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32346,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:32352,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:32362,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32384,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32406,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:32411,1
    - Dst: ss_check
      Src: /src/gpac/src/quickjs/quickjs.c:32430,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 128
    argCount: 3
    argNames:
    - ctx
    - fd
    - pstack_size
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - int*
    constantsTouched: []
    func_position:
      end: 32450
      start: 32308
    functionDepth: 0
    functionLinenumber: 32308
    functionLinenumberEnd: 32450
    functionName: compute_stack_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - get_u16
    - JS_ThrowInternalError
    - js_malloc
    - ss_check
    - short_opcode_info
    - get_u32
    - js_free
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int compute_stack_size(JSContext *ctx, JSFunctionDef
      *fd, int *pstack_size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:42440,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:42443,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs.c:42454,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:42441,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42446,1
    - Dst: string_buffer_init2
      Src: /src/gpac/src/quickjs/quickjs.c:42456,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:42462,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:42465,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:42472,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:42473,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:42494,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:42496,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:42492,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 42497
      start: 42433
    functionDepth: 0
    functionLinenumber: 42433
    functionLinenumberEnd: 42497
    functionName: js_regexp_get_source
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_get_regexp
    - string_buffer_putc16
    - JS_ThrowTypeErrorNotAnObject
    - JS_NewString
    - JS_VALUE_GET_TAG
    - string_buffer_init2
    - string_get
    - js_same_value
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_get_source(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pr
    argTypes:
    - JSProperty*
    constantsTouched: []
    func_position:
      end: 5178
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5178
    functionName: js_autoinit_get_id
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSAutoInitIDEnum
    signature: 'static JSAutoInitIDEnum js_autoinit_get_id(JSProperty *pr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17178,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:17181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17183
      start: 17175
    functionDepth: 0
    functionLinenumber: 17175
    functionLinenumberEnd: 17183
    functionName: (OP_get_var_ref)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - get_u16
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_get_var_ref) : '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:32465,1
    - Dst: JS_ThrowSyntaxErrorAtom
      Src: /src/gpac/src/quickjs/quickjs.c:32476,1
    - Dst: find_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:32474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - JSContext*
    - JSFunctionDef*
    constantsTouched: []
    func_position:
      end: 32484
      start: 32452
    functionDepth: 0
    functionLinenumber: 32452
    functionLinenumberEnd: 32484
    functionName: add_module_variables
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_closure_var
    - JS_ThrowSyntaxErrorAtom
    - find_closure_var
    linkageType: ''
    returnType: int
    signature: 'static int add_module_variables(JSContext *ctx, JSFunctionDef *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:7720,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:7724,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:7721,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:7725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - ptab
    - plen
    - obj
    - flags
    argTypes:
    - JSContext*
    - JSPropertyEnum**
    - uint32_t*
    - JSValueConst
    - int
    constantsTouched: []
    func_position:
      end: 7726
      start: 7717
    functionDepth: 0
    functionLinenumber: 7717
    functionLinenumberEnd: 7726
    functionName: JS_GetOwnPropertyNames
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeErrorNotAnObject
    - JS_GetOwnPropertyNamesInternal
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'int JS_GetOwnPropertyNames(JSContext *ctx, JSPropertyEnum **ptab,
      uint32_t *plen, JSValueConst obj, int flags) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:15184,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:15179,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15185,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:15186,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15187,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15208,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:15219,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15220,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15245,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:15247,1
    - Dst: JS_ToObjectFree
      Src: /src/gpac/src/quickjs/quickjs.c:15176,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15215,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:15202,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15225,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:15232,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15241,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15263,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:15174,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15205,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15203,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15256,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15259,1
    - Dst: JS_GetPrototypeFree
      Src: /src/gpac/src/quickjs/quickjs.c:15268,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:15269,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15271,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15254,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15181,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15193,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:15200,1
    - Dst: JS_GetOwnPropertyNamesInternal
      Src: /src/gpac/src/quickjs/quickjs.c:15207,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15210,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:15213,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:15257,1
    - Dst: js_free_prop_enum
      Src: /src/gpac/src/quickjs/quickjs.c:15267,1
    - Dst: js_poll_interrupts
      Src: /src/gpac/src/quickjs/quickjs.c:15274,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15275,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15282,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValue
    constantsTouched: []
    func_position:
      end: 15284
      start: 15165
    functionDepth: 0
    functionLinenumber: 15165
    functionLinenumberEnd: 15284
    functionName: build_for_in_iterator
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - js_poll_interrupts
    - get_shape_prop
    - JS_IsNull
    - js_malloc
    - JS_IsException
    - JS_VALUE_GET_TAG
    - JS_NewObjectProtoClass
    - JS_ToObjectFree
    - JS_DefinePropertyValue
    - js_free
    - JS_DupValue
    - JS_GetOwnPropertyNamesInternal
    - JS_SetPropertyInternal
    - JS_GetPrototypeFree
    - js_free_prop_enum
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue build_for_in_iterator(JSContext *ctx, JSValue obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29594,1
    - Dst: get_with_scope_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:29594,1
    - Dst: new_label_fd
      Src: /src/gpac/src/quickjs/quickjs.c:29596,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:29595,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29595,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/quickjs.c:29597,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs.c:29598,1
    - Dst: update_label
      Src: /src/gpac/src/quickjs/quickjs.c:29599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 7
    argNames:
    - ctx
    - s
    - var_name
    - op
    - bc
    - plabel_done
    - is_with
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - int
    - DynBuf*
    - int*
    - BOOL
    constantsTouched: []
    func_position:
      end: 29601
      start: 29590
    functionDepth: 0
    functionLinenumber: 29590
    functionLinenumberEnd: 29601
    functionName: var_object_test
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - update_label
    - get_with_scope_opcode
    - JS_DupAtom
    - new_label_fd
    - dbuf_put_u32
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void var_object_test(JSContext *ctx, JSFunctionDef *s, JSAtom
      var_name, int op, DynBuf *bc, int *plabel_done, BOOL is_with) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_decref
      Src: /src/gpac/src/quickjs/quickjs.c:5825,1
    - Dst: gc_free_cycles
      Src: /src/gpac/src/quickjs/quickjs.c:5831,1
    - Dst: gc_scan
      Src: /src/gpac/src/quickjs/quickjs.c:5828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 5832
      start: 5821
    functionDepth: 0
    functionLinenumber: 5821
    functionLinenumberEnd: 5832
    functionName: JS_RunGC
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - gc_scan
    - gc_free_cycles
    - gc_decref
    linkageType: ''
    returnType: void
    signature: 'void JS_RunGC(JSRuntime *rt) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: js_class_has_bytecode
      Src: /src/gpac/src/quickjs/quickjs.c:33635,1
    - Dst: js_new_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:33652,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:33699,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:33686,1
    - Dst: free_token
      Src: /src/gpac/src/quickjs/quickjs.c:33692,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:33706,1
    - Dst: JS_EvalFunctionInternal
      Src: /src/gpac/src/quickjs/quickjs.c:33711,1
    - Dst: skip_shebang
      Src: /src/gpac/src/quickjs/quickjs.c:33625,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:33633,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:33634,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33649,1
    - Dst: add_closure_variables
      Src: /src/gpac/src/quickjs/quickjs.c:33679,1
    - Dst: js_free_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:33693,1
    - Dst: js_resolve_module
      Src: /src/gpac/src/quickjs/quickjs.c:33704,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:33706,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:33633,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:33632,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:33677,1
    - Dst: js_new_function_def
      Src: /src/gpac/src/quickjs/quickjs.c:33658,1
    - Dst: js_parse_init
      Src: /src/gpac/src/quickjs/quickjs.c:33624,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:33635,1
    - Dst: js_parse_program
      Src: /src/gpac/src/quickjs/quickjs.c:33689,1
    - Dst: js_create_function
      Src: /src/gpac/src/quickjs/quickjs.c:33698,1
    - Dst: js_free_module_def
      Src: /src/gpac/src/quickjs/quickjs.c:33717,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 7
    argNames:
    - ctx
    - this_obj
    - input
    - input_len
    - filename
    - flags
    - scope_idx
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - size_t
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 33719
      start: 33611
    functionDepth: 0
    functionLinenumber: 33611
    functionLinenumberEnd: 33719
    functionName: __JS_EvalInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_module_def
    - js_create_function
    - JS_IsException
    - JS_EvalFunctionInternal
    - js_resolve_module
    - js_parse_init
    - skip_shebang
    - js_free_module_def
    - js_class_has_bytecode
    - js_new_function_def
    - JS_DupAtom
    - JS_VALUE_GET_TAG
    - push_scope
    - JS_DupValue
    - assert
    - add_closure_variables
    - JS_MKPTR
    - JS_VALUE_GET_OBJ
    - JS_NewAtom
    - js_parse_program
    - js_free_function_def
    - free_token
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue __JS_EvalInternal(JSContext *ctx, JSValueConst this_obj,
      const char *input, size_t input_len, const char *filename, int flags, int scope_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:3785,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:3785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - StringBuffer*
    - char*
    constantsTouched: []
    func_position:
      end: 3786
      start: 3783
    functionDepth: 0
    functionLinenumber: 3783
    functionLinenumberEnd: 3786
    functionName: string_buffer_puts8
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - string_buffer_write8
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_puts8(StringBuffer *s, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:5758,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5759,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:5766,1
    - Dst: mark_children
      Src: /src/gpac/src/quickjs/quickjs.c:5762,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5760,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5767,1
    - Dst: mark_children
      Src: /src/gpac/src/quickjs/quickjs.c:5768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 5770
      start: 5752
    functionDepth: 0
    functionLinenumber: 5752
    functionLinenumberEnd: 5770
    functionName: gc_scan
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_for_each
    - list_entry
    - assert
    - mark_children
    linkageType: ''
    returnType: void
    signature: 'static void gc_scan(JSRuntime *rt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_ecvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11435,1
    - Dst: js_ecvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11458,1
    - Dst: strtod
      Src: /src/gpac/src/quickjs/quickjs.c:11437,1
    - Dst: js_ecvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11462,1
    - Dst: js_ecvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11464,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:11466,1
    - Dst: js_ecvt1
      Src: /src/gpac/src/quickjs/quickjs.c:11477,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 6
    argNames:
    - d
    - n_digits
    - decpt
    - sign
    - buf
    - is_fixed
    argTypes:
    - double
    - int
    - int*
    - int*
    - char*
    - BOOL
    constantsTouched: []
    func_position:
      end: 11480
      start: 11422
    functionDepth: 0
    functionLinenumber: 11422
    functionLinenumberEnd: 11480
    functionName: js_ecvt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcmp
    - js_ecvt1
    - strtod
    linkageType: ''
    returnType: int
    signature: 'static int js_ecvt(double d, int n_digits, int *decpt, int *sign,
      char *buf, BOOL is_fixed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:19423,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:19430,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:19429,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs.c:19427,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:19428,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:19431,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:19432,1
    - Dst: async_func_mark
      Src: /src/gpac/src/quickjs/quickjs.c:19436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 19439
      start: 19420
    functionDepth: 0
    functionLinenumber: 19420
    functionLinenumberEnd: 19439
    functionName: js_async_generator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_MarkValue
    - list_entry
    - JS_GetOpaque
    - list_for_each
    - async_func_mark
    linkageType: ''
    returnType: void
    signature: 'static void js_async_generator_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42318,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42333,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42321,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42325,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42322,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42336,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:42347,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42364,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42359,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42351,1
    - Dst: js_is_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42300,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42309,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42326,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42335,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42337,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42340,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42352,1
    - Dst: js_compile_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42356,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42357,1
    - Dst: js_regexp_constructor_internal
      Src: /src/gpac/src/quickjs/quickjs.c:42361,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42306,1
    - Dst: JS_GetActiveFunction
      Src: /src/gpac/src/quickjs/quickjs.c:42305,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42303,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:42312,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42313,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42315,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42320,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42344,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42346,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42350,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42363,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42310,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42322,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42332,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42320,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42343,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42366
      start: 42290
    functionDepth: 0
    functionLinenumber: 42290
    functionLinenumberEnd: 42366
    functionName: js_regexp_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_regexp_constructor_internal
    - js_get_regexp
    - js_is_regexp
    - js_compile_regexp
    - JS_IsException
    - JS_GetActiveFunction
    - JS_AtomToString
    - JS_GetProperty
    - JS_IsUndefined
    - JS_MKPTR
    - JS_ToString
    - JS_DupValue
    - js_same_value
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_NORM_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45688,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:45695,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:45698,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:45702,1
    - Dst: hash_string
      Src: /src/gpac/src/quickjs/quickjs.c:45698,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:45705,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:45708,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:45710,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45722
      start: 45686
    functionDepth: 0
    functionLinenumber: 45686
    functionLinenumberEnd: 45722
    functionName: map_hash_key
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_NORM_TAG
    - JS_VALUE_GET_STRING
    - hash_string
    - JS_VALUE_GET_PTR
    - isnan
    - JS_VALUE_GET_FLOAT64
    - JS_VALUE_GET_INT
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t map_hash_key(JSContext *ctx, JSValueConst key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:46484,1
    - Dst: js_create_resolving_functions
      Src: /src/gpac/src/quickjs/quickjs.c:46490,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46492,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:46486,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46493,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:46494,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46495,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46496,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46498,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 46501
      start: 46477
    functionDepth: 0
    functionLinenumber: 46477
    functionLinenumberEnd: 46501
    functionName: js_promise_resolve_thenable_job
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - assert
    - JS_IsException
    - JS_GetException
    - JS_Call
    - js_create_resolving_functions
    - printf
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_resolve_thenable_job(JSContext *ctx, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46566,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:46568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 46570
      start: 46563
    functionDepth: 0
    functionLinenumber: 46563
    functionLinenumberEnd: 46570
    functionName: js_promise_resolve_function_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_promise_resolve_function_mark(JSRuntime *rt, JSValueConst
      val, JS_MarkFunc *mark_func) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5786,1
    - Dst: JS_DumpObjectHeader
      Src: /src/gpac/src/quickjs/quickjs.c:5796,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:5795,1
    - Dst: JS_DumpGCObject
      Src: /src/gpac/src/quickjs/quickjs.c:5799,1
    - Dst: free_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:5801,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5804,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5805,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:5811,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5812,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5813,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:5818,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:5815,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 5819
      start: 5772
    functionDepth: 0
    functionLinenumber: 5772
    functionLinenumberEnd: 5819
    functionName: gc_free_cycles
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    - assert
    - JS_DumpGCObject
    - list_entry
    - JS_DumpObjectHeader
    - js_free_rt
    - list_for_each_safe
    - free_gc_object
    - list_add_tail
    - init_list_head
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void gc_free_cycles(JSRuntime *rt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fesetround
      Src: /src/gpac/src/quickjs/quickjs.c:11487,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:11491,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs.c:11488,1
    - Dst: fesetround
      Src: /src/gpac/src/quickjs/quickjs.c:11490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - buf
    - buf_size
    - d
    - n_digits
    - rounding_mode
    argTypes:
    - char*
    - int
    - double
    - int
    - int
    constantsTouched: []
    func_position:
      end: 11493
      start: 11482
    functionDepth: 0
    functionLinenumber: 11482
    functionLinenumberEnd: 11493
    functionName: js_fcvt1
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - fesetround
    - snprintf
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int js_fcvt1(char *buf, int buf_size, double d, int n_digits,
      int rounding_mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42375,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:42383,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42400,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42399,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42392,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42407,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42408,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42382,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42384,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42385,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:42388,1
    - Dst: js_get_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42380,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42384,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42385,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:42395,1
    - Dst: js_compile_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:42394,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:42391,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42398,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:42402,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:42403,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:42405,1
    - Dst: JS_AtomToString
      Src: /src/gpac/src/quickjs/quickjs.c:42389,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:42398,1
    - Dst: JS_MKPTR
      Src: /src/gpac/src/quickjs/quickjs.c:42399,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:42401,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 42410
      start: 42368
    functionDepth: 0
    functionLinenumber: 42368
    functionLinenumberEnd: 42410
    functionName: js_regexp_compile
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_VALUE_GET_STRING
    - js_get_regexp
    - JS_SetProperty
    - JS_ThrowTypeError
    - JS_IsException
    - js_compile_regexp
    - JS_NewInt32
    - JS_AtomToString
    - JS_ToString
    - JS_IsUndefined
    - JS_MKPTR
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_regexp_compile(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - sr
    argTypes:
    - JSRuntime*
    - JSPromiseFunctionDataResolved*
    constantsTouched: []
    func_position:
      end: 46509
      start: 46503
    functionDepth: 0
    functionLinenumber: 46503
    functionLinenumberEnd: 46509
    functionName: js_promise_resolve_function_free_resolved
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_promise_resolve_function_free_resolved(JSRuntime *rt,
      JSPromiseFunctionDataResolved *sr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46578,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:46594,1
    - Dst: JS_DumpValue
      Src: /src/gpac/src/quickjs/quickjs.c:46595,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:46596,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:46598,1
    - Dst: js_same_value
      Src: /src/gpac/src/quickjs/quickjs.c:46600,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:46601,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:46604,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46605,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:46608,1
    - Dst: reject_promise
      Src: /src/gpac/src/quickjs/quickjs.c:46609,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46612,1
    - Dst: fulfill_or_reject_promise
      Src: /src/gpac/src/quickjs/quickjs.c:46614,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46620,1
    - Dst: JS_EnqueueJob
      Src: /src/gpac/src/quickjs/quickjs.c:46619,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs.c:46611,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46610,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_val
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 46623
      start: 46572
    functionDepth: 0
    functionLinenumber: 46572
    functionLinenumberEnd: 46623
    functionName: js_promise_resolve_function_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValue
    - JS_EnqueueJob
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - JS_GetException
    - JS_GetProperty
    - printf
    - reject_promise
    - js_same_value
    - JS_IsObject
    - fulfill_or_reject_promise
    - JS_DumpValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_resolve_function_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_val, int argc, JSValueConst *argv, int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:3764,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:3771,1
    - Dst: string_buffer_widen
      Src: /src/gpac/src/quickjs/quickjs.c:3767,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - s
    - p
    - len
    argTypes:
    - StringBuffer*
    - uint16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3780
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3780
    functionName: string_buffer_write16
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - string_buffer_realloc
    - string_buffer_widen
    linkageType: ''
    returnType: int
    signature: 'static int string_buffer_write16(StringBuffer *s, const uint16_t *p,
      int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:5840,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:5842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - obj
    argTypes:
    - JSRuntime*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 5844
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5844
    functionName: JS_IsLiveObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_IsObject
    - JS_VALUE_GET_OBJ
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsLiveObject(JSRuntime *rt, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:33726,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:33727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - this_obj
    - input
    - input_len
    - filename
    - flags
    - scope_idx
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - size_t
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 33731
      start: 33722
    functionDepth: 0
    functionLinenumber: 33722
    functionLinenumberEnd: 33731
    functionName: JS_EvalInternal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - unlikely
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_EvalInternal(JSContext *ctx, JSValueConst this_obj,
      const char *input, size_t input_len, const char *filename, int flags, int scope_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:45677,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:45679,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:45680,1
    - Dst: JS_VALUE_GET_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.c:45679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45683
      start: 45675
    functionDepth: 0
    functionLinenumber: 45675
    functionLinenumberEnd: 45683
    functionName: map_normalize_key
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_TAG_IS_FLOAT64
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - JS_VALUE_GET_FLOAT64
    linkageType: ''
    returnType: JSValueConst
    signature: 'static JSValueConst map_normalize_key(JSContext *ctx, JSValueConst
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:45357,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:45362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    - func_data
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    - JSValue*
    constantsTouched: []
    func_position:
      end: 45366
      start: 45353
    functionDepth: 0
    functionLinenumber: 45353
    functionLinenumberEnd: 45366
    functionName: js_proxy_revoke
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_revoke(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic, JSValue *func_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50221,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50225,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50227,1
    - Dst: JS_ToInt64Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50222,1
    - Dst: JS_ToInt32Sat
      Src: /src/gpac/src/quickjs/quickjs.c:50228,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.c:50231,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs.c:50236,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50237,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:50239,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:50245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 50247
      start: 50210
    functionDepth: 0
    functionLinenumber: 50210
    functionLinenumberEnd: 50247
    functionName: js_float_env_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - js_malloc
    - JS_IsException
    - JS_IsUndefined
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_ToInt32Sat
    - JS_ToInt64Sat
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_float_env_constructor(JSContext *ctx, JSValueConst
      new_target, int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17232,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17234,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17234,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17238,1
    - Dst: JS_ThrowReferenceErrorUninitialized2
      Src: /src/gpac/src/quickjs/quickjs.c:17235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17240
      start: 17229
    functionDepth: 0
    functionLinenumber: 17229
    functionLinenumberEnd: 17240
    functionName: (OP_put_var_ref_check_init)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    - JS_ThrowReferenceErrorUninitialized2
    - unlikely
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_var_ref_check_init) : '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:45371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - proxy_obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 45372
      start: 45368
    functionDepth: 0
    functionLinenumber: 45368
    functionLinenumberEnd: 45372
    functionName: js_proxy_revoke_constructor
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewCFunctionData
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_proxy_revoke_constructor(JSContext *ctx, JSValueConst
      proxy_obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:50251,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:50252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 50253
      start: 50249
    functionDepth: 0
    functionLinenumber: 50249
    functionLinenumberEnd: 50253
    functionName: js_float_env_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_float_env_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_create
      Src: /src/gpac/src/quickjs/quickjs.c:51854,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:51854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51855
      start: 51850
    functionDepth: 0
    functionLinenumber: 51850
    functionLinenumberEnd: 51855
    functionName: js_typed_array___create
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_typed_array_create
    - max_int
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array___create(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:17567,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:17571,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17569,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs.c:17571,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:17576,1
    - Dst: JS_CallFree
      Src: /src/gpac/src/quickjs/quickjs.c:17579,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:17582,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:17584,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:17588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17590
      start: 17561
    functionDepth: 0
    functionLinenumber: 17561
    functionLinenumberEnd: 17590
    functionName: (OP_iterator_call)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsNull
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - JS_CallFree
    - JS_NewBool
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_iterator_call) : /* stack: iter_obj next catch_offset val
      */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.c:21881,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:21888,1
    - Dst: js_resize_array
      Src: /src/gpac/src/quickjs/quickjs.c:21884,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:21889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - fd
    - name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 21892
      start: 21875
    functionDepth: 0
    functionLinenumber: 21875
    functionLinenumberEnd: 21892
    functionName: add_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_DupAtom
    - js_resize_array
    - memset
    - JS_ThrowInternalError
    linkageType: ''
    returnType: int
    signature: 'static int add_var(JSContext *ctx, JSFunctionDef *fd, JSAtom name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_write8
      Src: /src/gpac/src/quickjs/quickjs.c:47804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - StringBuffer*
    - int
    constantsTouched: []
    func_position:
      end: 47805
      start: 47791
    functionDepth: 0
    functionLinenumber: 47791
    functionLinenumberEnd: 47805
    functionName: encodeURI_hex
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_buffer_write8
    linkageType: ''
    returnType: int
    signature: 'static int encodeURI_hex(StringBuffer *b, int c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49288,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:49292,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49289,1
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49294,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:49291,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:49295,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:49298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 49299
      start: 49286
    functionDepth: 0
    functionLinenumber: 49286
    functionLinenumberEnd: 49299
    functionName: js_thisBigIntValue
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - JS_IsBigInt
    - JS_DupValue
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_thisBigIntValue(JSContext *ctx, JSValueConst this_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_var
      Src: /src/gpac/src/quickjs/quickjs.c:21897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - fd
    - name
    - var_kind
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    - JSVarKindEnum
    constantsTouched: []
    func_position:
      end: 21907
      start: 21894
    functionDepth: 0
    functionLinenumber: 21894
    functionLinenumberEnd: 21907
    functionName: add_scope_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_var
    linkageType: ''
    returnType: int
    signature: 'static int add_scope_var(JSContext *ctx, JSFunctionDef *fd, JSAtom
      name, JSVarKindEnum var_kind) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: string_buffer_init
      Src: /src/gpac/src/quickjs/quickjs.c:47821,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47836,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47839,1
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:47823,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47829,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47845,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47852,1
    - Dst: string_buffer_end
      Src: /src/gpac/src/quickjs/quickjs.c:47864,1
    - Dst: JS_ToString
      Src: /src/gpac/src/quickjs/quickjs.c:47816,1
    - Dst: JS_VALUE_GET_STRING
      Src: /src/gpac/src/quickjs/quickjs.c:47820,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47817,1
    - Dst: isURIUnescaped
      Src: /src/gpac/src/quickjs/quickjs.c:47825,1
    - Dst: string_buffer_putc16
      Src: /src/gpac/src/quickjs/quickjs.c:47826,1
    - Dst: js_throw_URIError
      Src: /src/gpac/src/quickjs/quickjs.c:47833,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47849,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47863,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47859,1
    - Dst: string_buffer_free
      Src: /src/gpac/src/quickjs/quickjs.c:47868,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47855,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47857,1
    - Dst: encodeURI_hex
      Src: /src/gpac/src/quickjs/quickjs.c:47854,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47867,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - isComponent
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 47870
      start: 47807
    functionDepth: 0
    functionLinenumber: 47807
    functionLinenumberEnd: 47870
    functionName: js_global_encodeURI
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_STRING
    - JS_FreeValue
    - string_buffer_putc16
    - encodeURI_hex
    - JS_IsException
    - isURIUnescaped
    - string_get
    - js_throw_URIError
    - JS_ToString
    - string_buffer_free
    - string_buffer_init
    - string_buffer_end
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_encodeURI(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int isComponent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 10105
      start: 10095
    functionDepth: 0
    functionLinenumber: 10095
    functionLinenumberEnd: 10105
    functionName: to_digit
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int to_digit(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:24345,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24351,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24348,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24347,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24349,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24352,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24353,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - s
    - poptional_chaining_label
    - drop_count
    argTypes:
    - JSParseState*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 24355
      start: 24340
    functionDepth: 0
    functionLinenumber: 24340
    functionLinenumberEnd: 24355
    functionName: optional_chain_test
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - new_label
    - emit_label
    - emit_op
    - emit_goto
    linkageType: ''
    returnType: void
    signature: 'static void optional_chain_test(JSParseState *s, int *poptional_chaining_label,
      int drop_count) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26099,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26100,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26101,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:26102,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26115,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26118,1
    - Dst: is_let
      Src: /src/gpac/src/quickjs/quickjs.c:26121,1
    - Dst: js_define_var
      Src: /src/gpac/src/quickjs/quickjs.c:26149,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26145,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:26155,1
    - Dst: close_scopes
      Src: /src/gpac/src/quickjs/quickjs.c:26227,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26232,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:26283,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:26251,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26286,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26222,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26273,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26238,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26293,1
    - Dst: push_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26107,1
    - Dst: push_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26111,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26131,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:26136,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26146,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26150,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26186,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26196,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26235,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26262,1
    - Dst: close_scopes
      Src: /src/gpac/src/quickjs/quickjs.c:26266,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26289,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26274,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26275,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:26162,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26156,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:26161,1
    - Dst: get_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:26168,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:26176,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26187,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26191,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:26192,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:26198,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26214,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26219,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26193,1
    - Dst: js_parse_statement
      Src: /src/gpac/src/quickjs/quickjs.c:26263,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26268,1
    - Dst: pop_scope
      Src: /src/gpac/src/quickjs/quickjs.c:26301,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:26144,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26153,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26140,1
    - Dst: js_parse_left_hand_side_expr
      Src: /src/gpac/src/quickjs/quickjs.c:26166,1
    - Dst: put_lvalue
      Src: /src/gpac/src/quickjs/quickjs.c:26171,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:26179,1
    - Dst: js_parse_assign_expr2
      Src: /src/gpac/src/quickjs/quickjs.c:26186,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26210,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26216,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:26240,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs.c:26250,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:26249,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:26276,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26278,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26296,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26230,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26298,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26282,1
    - Dst: pop_break_entry
      Src: /src/gpac/src/quickjs/quickjs.c:26300,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:26205,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26291,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:26280,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 171
    argCount: 3
    argNames:
    - s
    - label_name
    - is_async
    argTypes:
    - JSParseState*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 26303
      start: 26083
    functionDepth: 0
    functionLinenumber: 26083
    functionLinenumberEnd: 26303
    functionName: js_parse_for_in_of
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - memset
    - emit_goto
    - dbuf_realloc
    - js_parse_assign_expr2
    - emit_op
    - js_parse_expr
    - close_scopes
    - emit_u8
    - JS_DupAtom
    - pop_break_entry
    - js_parse_assign_expr
    - push_scope
    - push_break_entry
    - JS_FreeAtom
    - js_parse_skip_parens_token
    - js_parse_error
    - next_token
    - emit_label
    - is_let
    - js_define_var
    - js_parse_expect
    - token_is_pseudo_keyword
    - pop_scope
    - emit_u16
    - new_label
    - js_parse_left_hand_side_expr
    - put_lvalue
    - js_parse_destructuring_element
    - js_parse_statement
    - dbuf_put
    - get_lvalue
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_for_in_of(JSParseState *s, int label_name,
      BOOL is_async) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:26037,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26072,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:26042,1
    - Dst: js_parse_get_pos
      Src: /src/gpac/src/quickjs/quickjs.c:26040,1
    - Dst: js_parse_seek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26068,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:26073,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - s
    - decl_mask
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 26079
      start: 26033
    functionDepth: 0
    functionLinenumber: 26033
    functionLinenumberEnd: 26079
    functionName: is_let
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - token_is_pseudo_keyword
    - next_token
    - js_parse_get_pos
    - js_parse_seek_token
    - peek_token
    linkageType: ''
    returnType: int
    signature: 'static int is_let(JSParseState *s, int decl_mask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:51807,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:51813,1
    - Dst: js_typed_array_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:51810,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:51816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 51818
      start: 51803
    functionDepth: 0
    functionLinenumber: 51803
    functionLinenumberEnd: 51818
    functionName: js_typed_array___getLength
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_ToBool
    - js_typed_array_get_length
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array___getLength(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52487,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:52538,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52492,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:52541,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:52491,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52542
      start: 52481
    functionDepth: 0
    functionLinenumber: 52481
    functionLinenumberEnd: 52542
    functionName: js_typed_array_reverse
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - abort
    - JS_DupValue
    - typed_array_size_log2
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_reverse(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs.c:52564,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52572,1
    - Dst: js_typed_array___speciesCreate
      Src: /src/gpac/src/quickjs/quickjs.c:52573,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52574,1
    - Dst: validate_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52578,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:52592,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:52603,1
    - Dst: js_typed_array_get_length_internal
      Src: /src/gpac/src/quickjs/quickjs.c:52553,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52557,1
    - Dst: JS_ToInt32Clamp
      Src: /src/gpac/src/quickjs/quickjs.c:52561,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:52560,1
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:52594,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:52586,1
    - Dst: validate_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52579,1
    - Dst: typed_array_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:52584,1
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52582,1
    - Dst: get_typed_array
      Src: /src/gpac/src/quickjs/quickjs.c:52566,1
    - Dst: typed_array_size_log2
      Src: /src/gpac/src/quickjs/quickjs.c:52569,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52591,1
    - Dst: JS_GetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:52591,1
    - Dst: typed_array_get_length
      Src: /src/gpac/src/quickjs/quickjs.c:52585,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:52594,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 52605
      start: 52544
    functionDepth: 0
    functionLinenumber: 52544
    functionLinenumberEnd: 52605
    functionName: js_typed_array_slice
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - validate_typed_array
    - JS_FreeValue
    - get_typed_array
    - JS_IsException
    - JS_NewInt32
    - JS_IsUndefined
    - JS_ToInt32Clamp
    - typed_array_get_length
    - JS_SetPropertyValue
    - max_int
    - js_typed_array___speciesCreate
    - memcpy
    - typed_array_size_log2
    - JS_GetPropertyValue
    - js_typed_array_get_length_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_typed_array_slice(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/quickjs.c:10134,1
    - Dst: strtod
      Src: /src/gpac/src/quickjs/quickjs.c:10151,1
    - Dst: pow
      Src: /src/gpac/src/quickjs/quickjs.c:10146,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - p
    - radix
    - is_float
    argTypes:
    - char*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 10154
      start: 10108
    functionDepth: 0
    functionLinenumber: 10108
    functionLinenumberEnd: 10154
    functionName: js_strtod
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - pow
    - strtod
    - to_digit
    linkageType: ''
    returnType: double
    signature: 'static double js_strtod(const char *p, int radix, BOOL is_float) '
  - BBCount: 154
    BranchProfiles: []
    Callsites:
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:24511,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:24516,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24545,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:24562,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:24525,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24597,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24577,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24686,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24712,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24759,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24867,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24870,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24883,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24869,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24961,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:24371,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24494,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24580,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24606,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24617,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24627,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:24691,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24758,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24791,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24810,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24841,1
    - Dst: emit_class_field_init
      Src: /src/gpac/src/quickjs/quickjs.c:24872,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:24376,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24416,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24490,1
    - Dst: js_parse_destructuring_element
      Src: /src/gpac/src/quickjs/quickjs.c:24563,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24620,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24630,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24635,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24649,1
    - Dst: js_parse_template
      Src: /src/gpac/src/quickjs/quickjs.c:24753,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24763,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24588,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24554,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24599,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24372,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24496,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24711,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24788,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24832,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24844,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24896,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:24970,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24981,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24983,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24935,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24373,1
    - Dst: JS_NewBigInt64_1
      Src: /src/gpac/src/quickjs/quickjs.c:24390,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24447,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:24472,1
    - Dst: js_parse_expr_paren
      Src: /src/gpac/src/quickjs/quickjs.c:24467,1
    - Dst: js_parse_class
      Src: /src/gpac/src/quickjs/quickjs.c:24478,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24553,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:24582,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24501,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:24548,1
    - Dst: js_parse_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24976,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24875,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24907,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:24373,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24482,1
    - Dst: js_parse_postfix_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24592,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24621,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:24632,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24764,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24859,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24918,1
    - Dst: optional_chain_test
      Src: /src/gpac/src/quickjs/quickjs.c:24938,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24824,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24854,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24921,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24900,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24940,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24589,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24383,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24406,1
    - Dst: token_is_pseudo_keyword
      Src: /src/gpac/src/quickjs/quickjs.c:24515,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24552,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24641,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24653,1
    - Dst: has_with_scope
      Src: /src/gpac/src/quickjs/quickjs.c:24725,1
    - Dst: optional_chain_test
      Src: /src/gpac/src/quickjs/quickjs.c:24745,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:24805,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24825,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24929,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24960,1
    - Dst: js_parse_object_literal
      Src: /src/gpac/src/quickjs/quickjs.c:24567,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24387,1
    - Dst: emit_u32
      Src: /src/gpac/src/quickjs/quickjs.c:24388,1
    - Dst: js_parse_regexp
      Src: /src/gpac/src/quickjs/quickjs.c:24432,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24434,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24484,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24522,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24638,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24767,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24798,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24808,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24876,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24880,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24402,1
    - Dst: js_parse_template
      Src: /src/gpac/src/quickjs/quickjs.c:24410,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:24394,1
    - Dst: build_backtrace
      Src: /src/gpac/src/quickjs/quickjs.c:24442,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24455,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24487,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24598,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24633,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24765,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24819,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24865,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24645,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24882,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:24952,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24590,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24454,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24615,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24757,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24774,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24813,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24864,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24877,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24951,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24897,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24838,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:24533,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24489,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24491,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24499,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24610,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24618,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:24639,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24647,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24796,1
    - Dst: emit_u8
      Src: /src/gpac/src/quickjs/quickjs.c:24814,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24964,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:24448,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:24461,1
    - Dst: js_parse_error_reserved_identifier
      Src: /src/gpac/src/quickjs/quickjs.c:24507,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24586,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24664,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24778,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24789,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24815,1
    - Dst: emit_goto
      Src: /src/gpac/src/quickjs/quickjs.c:24820,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24833,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24978,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24974,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24990,1
    - Dst: optional_chain_test
      Src: /src/gpac/src/quickjs/quickjs.c:24972,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24853,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24818,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:24437,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:24462,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24623,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24677,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24855,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24868,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24901,1
    - Dst: js_parse_assign_expr
      Src: /src/gpac/src/quickjs/quickjs.c:24829,1
    - Dst: token_is_ident
      Src: /src/gpac/src/quickjs/quickjs.c:24944,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:24947,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24823,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24888,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24430,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24398,1
    - Dst: peek_token
      Src: /src/gpac/src/quickjs/quickjs.c:24510,1
    - Dst: js_parse_skip_parens_token
      Src: /src/gpac/src/quickjs/quickjs.c:24531,1
    - Dst: js_parse_function_decl
      Src: /src/gpac/src/quickjs/quickjs.c:24534,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24644,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24858,1
    - Dst: get_prev_opcode
      Src: /src/gpac/src/quickjs/quickjs.c:24934,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24941,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24945,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24908,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24911,1
    - Dst: optional_chain_test
      Src: /src/gpac/src/quickjs/quickjs.c:24958,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:24539,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:24391,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24393,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24549,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24585,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24616,1
    - Dst: js_parse_expect
      Src: /src/gpac/src/quickjs/quickjs.c:24784,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24790,1
    - Dst: new_label
      Src: /src/gpac/src/quickjs/quickjs.c:24806,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24809,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24913,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24914,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24922,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24955,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24912,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24942,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24919,1
    - Dst: JS_AtomToValue
      Src: /src/gpac/src/quickjs/quickjs.c:24950,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24881,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24826,1
    - Dst: js_parse_array_literal
      Src: /src/gpac/src/quickjs/quickjs.c:24570,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24583,1
    - Dst: emit_push_const
      Src: /src/gpac/src/quickjs/quickjs.c:24414,1
    - Dst: js_parse_error
      Src: /src/gpac/src/quickjs/quickjs.c:24614,1
    - Dst: emit_atom
      Src: /src/gpac/src/quickjs/quickjs.c:24619,1
    - Dst: next_token
      Src: /src/gpac/src/quickjs/quickjs.c:24636,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24761,1
    - Dst: emit_op
      Src: /src/gpac/src/quickjs/quickjs.c:24802,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24821,1
    - Dst: emit_u16
      Src: /src/gpac/src/quickjs/quickjs.c:24902,1
    - Dst: emit_label
      Src: /src/gpac/src/quickjs/quickjs.c:24811,1
    - Dst: emit_class_field_init
      Src: /src/gpac/src/quickjs/quickjs.c:24916,1
    CyclomaticComplexity: 187
    EdgeCount: 187
    ICount: 442
    argCount: 2
    argNames:
    - s
    - parse_flags
    argTypes:
    - JSParseState*
    - int
    constantsTouched: []
    func_position:
      end: 24992
      start: 24358
    functionDepth: 0
    functionLinenumber: 24358
    functionLinenumberEnd: 24992
    functionName: js_parse_postfix_expr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - emit_atom
    - get_u16
    - emit_goto
    - JS_IsException
    - peek_token
    - js_parse_expr_paren
    - token_is_ident
    - js_parse_object_literal
    - js_parse_function_decl
    - get_prev_opcode
    - emit_op
    - optional_chain_test
    - js_parse_expr
    - emit_u8
    - JS_DupAtom
    - JS_VALUE_GET_TAG
    - js_parse_assign_expr
    - has_with_scope
    - JS_VALUE_GET_INT
    - JS_AtomToValue
    - js_parse_skip_parens_token
    - js_parse_error
    - next_token
    - emit_label
    - js_parse_regexp
    - get_u32
    - js_parse_expect
    - build_backtrace
    - js_parse_template
    - js_parse_class
    - token_is_pseudo_keyword
    - JS_FreeValue
    - emit_u16
    - new_label
    - emit_u32
    - js_parse_error_reserved_identifier
    - JS_NewBigInt64_1
    - js_parse_destructuring_element
    - emit_class_field_init
    - emit_push_const
    - js_parse_array_literal
    - js_parse_postfix_expr
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int js_parse_postfix_expr(JSParseState *s, int
      parse_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1144
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1144
    functionName: JS_GetBigFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: bf_t*
    signature: 'static inline bf_t *JS_GetBigFloat(JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5705,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5708,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 5711
      start: 5703
    functionDepth: 0
    functionLinenumber: 5703
    functionLinenumberEnd: 5711
    functionName: gc_decref_child
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_add_tail
    - assert
    - list_del
    linkageType: ''
    returnType: void
    signature: 'static void gc_decref_child(JSRuntime *rt, JSGCObjectHeader *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9848,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 9852
      start: 9845
    functionDepth: 0
    functionLinenumber: 9845
    functionLinenumberEnd: 9852
    functionName: JS_IsUncatchableError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL JS_IsUncatchableError(JSContext *ctx, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:47386,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:47389,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:47390,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:47388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 47392
      start: 47383
    functionDepth: 0
    functionLinenumber: 47383
    functionLinenumberEnd: 47392
    functionName: js_async_from_sync_iterator_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_async_from_sync_iterator_finalizer(JSRuntime *rt, JSValue
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:5718,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:5725,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs.c:5723,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs.c:5724,1
    - Dst: mark_children
      Src: /src/gpac/src/quickjs/quickjs.c:5726,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5729,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 5733
      start: 5713
    functionDepth: 0
    functionLinenumber: 5713
    functionLinenumberEnd: 5733
    functionName: gc_decref
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - assert
    - list_del
    - list_entry
    - mark_children
    - list_for_each_safe
    - list_add_tail
    - init_list_head
    linkageType: ''
    returnType: void
    signature: 'static void gc_decref(JSRuntime *rt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:9857,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:9859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - val
    - flag
    argTypes:
    - JSContext*
    - JSValueConst
    - BOOL
    constantsTouched: []
    func_position:
      end: 9862
      start: 9854
    functionDepth: 0
    functionLinenumber: 9854
    functionLinenumberEnd: 9862
    functionName: JS_SetUncatchableError
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: void
    signature: 'void JS_SetUncatchableError(JSContext *ctx, JSValueConst val, BOOL
      flag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:47398,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:47400,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:47401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 47403
      start: 47394
    functionDepth: 0
    functionLinenumber: 47394
    functionLinenumberEnd: 47403
    functionName: js_async_from_sync_iterator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_async_from_sync_iterator_mark(JSRuntime *rt, JSValueConst
      val, JS_MarkFunc *mark_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:39566,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs.c:39569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 39571
      start: 39563
    functionDepth: 0
    functionLinenumber: 39563
    functionLinenumberEnd: 39571
    functionName: js_array_iterator_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_array_iterator_mark(JSRuntime *rt, JSValueConst val,
      JS_MarkFunc *mark_func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs.c:46386,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs.c:46388,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/quickjs.c:46391,1
    - Dst: JS_Throw
      Src: /src/gpac/src/quickjs/quickjs.c:46396,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:46394,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46396,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46398,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46401,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46403,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:46405,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46411,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46416,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:46410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 46419
      start: 46379
    functionDepth: 0
    functionLinenumber: 46379
    functionLinenumberEnd: 46419
    functionName: promise_reaction_job
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - assert
    - JS_ToBool
    - JS_IsException
    - JS_GetException
    - JS_IsUndefined
    - JS_Throw
    - JS_DupValue
    - JS_Call
    - printf
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue promise_reaction_job(JSContext *ctx, int argc, JSValueConst
      *argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:50651,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50656,1
    - Dst: js_bigdecimal_get_rnd_mode
      Src: /src/gpac/src/quickjs/quickjs.c:50658,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:50655,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:50652,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50659,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:50664,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50665,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50668,1
    - Dst: JS_ToInt64SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:50669,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs.c:50680,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50683,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50690,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50678,1
    - Dst: JS_ToInt64SatFree
      Src: /src/gpac/src/quickjs/quickjs.c:50686,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:50677,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50682,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:50698,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - fe
    - obj
    argTypes:
    - JSContext*
    - BigDecimalEnv*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 50702
      start: 50643
    functionDepth: 0
    functionLinenumber: 50643
    functionLinenumberEnd: 50702
    functionName: js_bigdecimal_get_env
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToInt64SatFree
    - JS_ThrowTypeError
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetProperty
    - JS_IsUndefined
    - js_bigdecimal_get_rnd_mode
    - JS_IsObject
    linkageType: ''
    returnType: int
    signature: 'static int js_bigdecimal_get_env(JSContext *ctx, BigDecimalEnv *fe,
      JSValueConst obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:39578,1
    - Dst: JS_CreateDataPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs.c:39582,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:39582,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:39583,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:39579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - len
    - tab
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 39588
      start: 39573
    functionDepth: 0
    functionLinenumber: 39573
    functionLinenumberEnd: 39588
    functionName: js_create_array
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewArray
    - JS_IsException
    - JS_DupValue
    - JS_CreateDataPropertyUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_array(JSContext *ctx, int len, JSValueConst
      *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - rt
    - cb
    - opaque
    argTypes:
    - JSRuntime*
    - JSHostPromiseRejectionTracker*
    - void*
    constantsTouched: []
    func_position:
      end: 46427
      start: 46421
    functionDepth: 0
    functionLinenumber: 46421
    functionLinenumberEnd: 46427
    functionName: JS_SetHostPromiseRejectionTracker
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void JS_SetHostPromiseRejectionTracker(JSRuntime *rt, JSHostPromiseRejectionTracker
      *cb, void *opaque) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50722,1
    - Dst: js_bigdecimal_get_env
      Src: /src/gpac/src/quickjs/quickjs.c:50743,1
    - Dst: bfdec_rem
      Src: /src/gpac/src/quickjs/quickjs.c:50769,1
    - Dst: bfdec_add
      Src: /src/gpac/src/quickjs/quickjs.c:50757,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50783,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50787,1
    - Dst: bfdec_sqrt
      Src: /src/gpac/src/quickjs/quickjs.c:50772,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50724,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:50780,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:50719,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:50728,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50720,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50751,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/quickjs.c:50775,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50782,1
    - Dst: throw_bf_exception
      Src: /src/gpac/src/quickjs/quickjs.c:50788,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50729,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50730,1
    - Dst: JS_ToBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50733,1
    - Dst: JS_NewBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50747,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/quickjs.c:50763,1
    - Dst: bfdec_div
      Src: /src/gpac/src/quickjs/quickjs.c:50766,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50750,1
    - Dst: bfdec_sub
      Src: /src/gpac/src/quickjs/quickjs.c:50760,1
    - Dst: JS_GetBigDecimal
      Src: /src/gpac/src/quickjs/quickjs.c:50754,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50748,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/quickjs.c:50777,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 50792
      start: 50705
    functionDepth: 0
    functionLinenumber: 50705
    functionLinenumberEnd: 50792
    functionName: js_bigdecimal_fop
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigDecimal
    - bfdec_round
    - JS_ToBigDecimal
    - bfdec_sub
    - bfdec_div
    - JS_IsException
    - bfdec_sqrt
    - abort
    - bfdec_rem
    - bfdec_set
    - bfdec_add
    - JS_ToNumeric
    - bfdec_mul
    - throw_bf_exception
    - js_bigdecimal_get_env
    - JS_GetBigDecimal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigdecimal_fop(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - sp
    - pp
    - n
    - pval
    argTypes:
    - JSString*
    - int*
    - int
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48475
      start: 48459
    functionDepth: 0
    functionLinenumber: 48459
    functionLinenumberEnd: 48475
    functionName: string_get_fixed_width_digits
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_get_fixed_width_digits(JSString *sp, int *pp, int
      n, int64_t *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs.c:5741,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs.c:5742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 5745
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5745
    functionName: gc_scan_incref_child
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - list_del
    - list_add_tail
    linkageType: ''
    returnType: void
    signature: 'static void gc_scan_incref_child(JSRuntime *rt, JSGCObjectHeader *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/quickjs.c:8362,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8365,1
    - Dst: get_shape_prop
      Src: /src/gpac/src/quickjs/quickjs.c:8365,1
    - Dst: JS_VALUE_GET_INT
      Src: /src/gpac/src/quickjs/quickjs.c:8363,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:8362,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8366,1
    - Dst: JS_ThrowTypeErrorReadOnly
      Src: /src/gpac/src/quickjs/quickjs.c:8367,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8369,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:8372,1
    - Dst: expand_fast_array
      Src: /src/gpac/src/quickjs/quickjs.c:8373,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - p
    - val
    - flags
    argTypes:
    - JSContext*
    - JSObject*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 8381
      start: 8353
    functionDepth: 0
    functionLinenumber: 8353
    functionLinenumberEnd: 8381
    functionName: add_fast_array_element
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - get_shape_prop
    - JS_NewInt32
    - JS_VALUE_GET_TAG
    - likely
    - unlikely
    - expand_fast_array
    - JS_VALUE_GET_INT
    - JS_ThrowTypeErrorReadOnly
    linkageType: ''
    returnType: int
    signature: 'static int add_fast_array_element(JSContext *ctx, JSObject *p, JSValue
      val, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36269,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36271,1
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.c:36271,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:36269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36272
      start: 36263
    functionDepth: 0
    functionLinenumber: 36263
    functionLinenumberEnd: 36272
    functionName: js_global_isNaN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - JS_ToFloat64
    - isnan
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_isNaN(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:1625,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs.c:1632,1
    - Dst: bf_context_init
      Src: /src/gpac/src/quickjs/quickjs.c:1642,1
    - Dst: set_dummy_numeric_ops
      Src: /src/gpac/src/quickjs/quickjs.c:1643,1
    - Dst: set_dummy_numeric_ops
      Src: /src/gpac/src/quickjs/quickjs.c:1644,1
    - Dst: set_dummy_numeric_ops
      Src: /src/gpac/src/quickjs/quickjs.c:1645,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1648,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1649,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1650,1
    - Dst: JS_InitAtoms
      Src: /src/gpac/src/quickjs/quickjs.c:1658,1
    - Dst: init_class_range
      Src: /src/gpac/src/quickjs/quickjs.c:1662,1
    - Dst: init_shape_hash
      Src: /src/gpac/src/quickjs/quickjs.c:1673,1
    - Dst: JS_UpdateStackTop
      Src: /src/gpac/src/quickjs/quickjs.c:1677,1
    - Dst: JS_FreeRuntime
      Src: /src/gpac/src/quickjs/quickjs.c:1683,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1656,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs.c:1663,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs.c:1654,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - mf
    - opaque
    argTypes:
    - JSMallocFunctions*
    - void*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1685
    functionName: JS_NewRuntime2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memset
    - init_class_range
    - JS_FreeRuntime
    - set_dummy_numeric_ops
    - JS_InitAtoms
    - init_list_head
    - bf_context_init
    - countof
    - JS_UpdateStackTop
    - init_shape_hash
    linkageType: ''
    returnType: JSRuntime*
    signature: 'JSRuntime *JS_NewRuntime2(const JSMallocFunctions *mf, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - rt
    - p
    argTypes:
    - JSRuntime*
    - JSGCObjectHeader*
    constantsTouched: []
    func_position:
      end: 5750
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5750
    functionName: gc_scan_incref_child2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gc_scan_incref_child2(JSRuntime *rt, JSGCObjectHeader
      *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8385,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8387,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - desc
    argTypes:
    - JSContext*
    - JSPropertyDescriptor*
    constantsTouched: []
    func_position:
      end: 8388
      start: 8383
    functionDepth: 0
    functionLinenumber: 8383
    functionLinenumberEnd: 8388
    functionName: js_free_desc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    linkageType: ''
    returnType: void
    signature: 'static void js_free_desc(JSContext *ctx, JSPropertyDescriptor *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:36279,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:36282,1
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:36281,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs.c:36279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 36283
      start: 36274
    functionDepth: 0
    functionLinenumber: 36274
    functionLinenumberEnd: 36283
    functionName: js_global_isFinite
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unlikely
    - isfinite
    - JS_ToFloat64
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_global_isFinite(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.c:4885,1
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:4886,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:4898,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4902
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4902
    functionName: JS_GetObjectData
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_DupValue
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_GetObjectData(JSContext *ctx, JSValueConst obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/quickjs.c:6697,1
    - Dst: JS_AtomGetStr
      Src: /src/gpac/src/quickjs/quickjs.c:6702,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.c:6701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - atom
    - fmt
    - '...'
    argTypes:
    - JSContext*
    - JSAtom
    - char*
    constantsTouched: []
    func_position:
      end: 6703
      start: 6697
    functionDepth: 0
    functionLinenumber: 6697
    functionLinenumberEnd: 6703
    functionName: __JS_ThrowSyntaxErrorAtom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    - format
    - JS_AtomGetStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue __attribute__((format(printf, 3, 4))) __JS_ThrowSyntaxErrorAtom(JSContext
      *ctx, JSAtom atom, const char *fmt, ...) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8047,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8048,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - this_obj
    - prop
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    constantsTouched: []
    func_position:
      end: 8051
      start: 8042
    functionDepth: 0
    functionLinenumber: 8042
    functionLinenumberEnd: 8051
    functionName: JS_GetPropertyStr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - JS_FreeAtom
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_GetPropertyStr(JSContext *ctx, JSValueConst this_obj, const
      char *prop) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs.c:19334,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:19344,1
    - Dst: async_func_init
      Src: /src/gpac/src/quickjs/quickjs.c:19347,1
    - Dst: add_gc_object
      Src: /src/gpac/src/quickjs/quickjs.c:19338,1
    - Dst: JS_NewPromiseCapability
      Src: /src/gpac/src/quickjs/quickjs.c:19343,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:19349,1
    - Dst: js_async_function_free
      Src: /src/gpac/src/quickjs/quickjs.c:19350,1
    - Dst: js_async_function_resume
      Src: /src/gpac/src/quickjs/quickjs.c:19355,1
    - Dst: js_async_function_free
      Src: /src/gpac/src/quickjs/quickjs.c:19357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - ctx
    - func_obj
    - this_obj
    - argc
    - argv
    - flags
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 19360
      start: 19327
    functionDepth: 0
    functionLinenumber: 19327
    functionLinenumberEnd: 19360
    functionName: js_async_function_call
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - async_func_init
    - js_async_function_resume
    - js_async_function_free
    - JS_IsException
    - JS_NewPromiseCapability
    - js_mallocz
    - add_gc_object
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_async_function_call(JSContext *ctx, JSValueConst
      func_obj, JSValueConst this_obj, int argc, JSValueConst *argv, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs.c:36008,1
    - Dst: JS_DupAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36015,1
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:36019,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/quickjs.c:36014,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:36017,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 36022
      start: 36001
    functionDepth: 0
    functionLinenumber: 36001
    functionLinenumberEnd: 36022
    functionName: find_atom
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewAtom
    - memcmp
    - JS_DupAtom
    - abort
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom find_atom(JSContext *ctx, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:46521,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46530,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:46532,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs.c:46528,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46534,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46538,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:46544,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs.c:46545,1
    - Dst: js_function_set_properties
      Src: /src/gpac/src/quickjs/quickjs.c:46546,1
    - Dst: js_promise_resolve_function_free_resolved
      Src: /src/gpac/src/quickjs/quickjs.c:46549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - resolving_funcs
    - promise
    argTypes:
    - JSContext*
    - JSValue*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 46551
      start: 46511
    functionDepth: 0
    functionLinenumber: 46511
    functionLinenumberEnd: 46551
    functionName: js_create_resolving_functions
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_malloc
    - JS_IsException
    - JS_NewObjectProtoClass
    - JS_SetOpaque
    - js_function_set_properties
    - JS_DupValue
    - js_promise_resolve_function_free_resolved
    linkageType: ''
    returnType: int
    signature: 'static int js_create_resolving_functions(JSContext *ctx, JSValue *resolving_funcs,
      JSValueConst promise) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:49483,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/quickjs.c:49493,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:49496,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/quickjs.c:49490,1
    - Dst: JS_CompactBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49498,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49481,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49484,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49489,1
    - Dst: JS_FreeBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49497,1
    - Dst: JS_ToBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49475,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:49491,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/quickjs.c:49492,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs.c:49469,1
    - Dst: JS_GetBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49474,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:49472,1
    - Dst: JS_NewBigInt
      Src: /src/gpac/src/quickjs/quickjs.c:49471,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:49477,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/quickjs.c:49482,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/quickjs.c:49485,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/quickjs.c:49488,1
    - Dst: bf_logic_and
      Src: /src/gpac/src/quickjs/quickjs.c:49486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - asIntN
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 49499
      start: 49461
    functionDepth: 0
    functionLinenumber: 49461
    functionLinenumberEnd: 49499
    functionName: js_bigint_asUintN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_FreeBigInt
    - bf_set_ui
    - bf_delete
    - JS_IsException
    - bf_mul_2exp
    - bf_cmpu
    - bf_add_si
    - JS_CompactBigInt
    - JS_NewBigInt
    - bf_init
    - bf_sub
    - JS_ToBigInt
    - bf_logic_and
    - JS_GetBigInt
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigint_asUintN(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int asIntN) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.c:36032,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:36043,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs.c:36040,1
    - Dst: JS_NewAtomString
      Src: /src/gpac/src/quickjs/quickjs.c:36036,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:36039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - p
    - atom
    - opaque
    argTypes:
    - JSContext*
    - JSObject*
    - JSAtom
    - void*
    constantsTouched: []
    func_position:
      end: 36046
      start: 36024
    functionDepth: 0
    functionLinenumber: 36024
    functionLinenumberEnd: 36046
    functionName: JS_InstantiateFunctionListItem2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewObject
    - JS_SetPropertyFunctionList
    - JS_NewCFunction2
    - abort
    - JS_NewAtomString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_InstantiateFunctionListItem2(JSContext *ctx, JSObject
      *p, JSAtom atom, void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_OBJ
      Src: /src/gpac/src/quickjs/quickjs.c:46555,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.c:46558,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs.c:46559,1
    - Dst: js_promise_resolve_function_free_resolved
      Src: /src/gpac/src/quickjs/quickjs.c:46557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 46561
      start: 46553
    functionDepth: 0
    functionLinenumber: 46553
    functionLinenumberEnd: 46561
    functionName: js_promise_resolve_function_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_OBJ
    - JS_FreeValueRT
    - js_promise_resolve_function_free_resolved
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_promise_resolve_function_finalizer(JSRuntime *rt, JSValue
      val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:8869,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:8869,1
    - Dst: JS_SetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:8877,1
    - Dst: JS_NewAtomInt64
      Src: /src/gpac/src/quickjs/quickjs.c:8872,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:8874,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - idx
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - int64_t
    - JSValue
    constantsTouched: []
    func_position:
      end: 8880
      start: 8861
    functionDepth: 0
    functionLinenumber: 8861
    functionLinenumberEnd: 8880
    functionName: JS_SetPropertyInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_SetProperty
    - JS_NewInt32
    - JS_SetPropertyValue
    - JS_NewAtomInt64
    - JS_FreeAtom
    linkageType: ''
    returnType: int
    signature: 'int JS_SetPropertyInt64(JSContext *ctx, JSValueConst this_obj, int64_t
      idx, JSValue val) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unicode_to_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20659,1
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/quickjs.c:20663,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/quickjs.c:20668,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:20671,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs.c:20666,1
    - Dst: ident_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:20672,1
    - Dst: JS_NewAtomLen
      Src: /src/gpac/src/quickjs/quickjs.c:20678,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:20680,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs.c:20681,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 5
    argNames:
    - s
    - pp
    - pident_has_escape
    - c
    - is_private
    argTypes:
    - JSParseState*
    - uint8_t**
    - BOOL*
    - int
    - BOOL
    constantsTouched: []
    func_position:
      end: 20684
      start: 20639
    functionDepth: 0
    functionLinenumber: 20639
    functionLinenumberEnd: 20684
    functionName: parse_ident
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - unicode_to_utf8
    - lre_js_is_ident_next
    - unicode_from_utf8
    - ident_realloc
    - JS_NewAtomLen
    - unlikely
    - js_free
    - lre_parse_escape
    linkageType: ''
    returnType: JSAtom
    signature: 'static JSAtom parse_ident(JSParseState *s, const uint8_t **pp, BOOL
      *pident_has_escape, int c, BOOL is_private) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - s
    - var_name
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSAtom
    constantsTouched: []
    func_position:
      end: 29353
      start: 29343
    functionDepth: 0
    functionLinenumber: 29343
    functionLinenumberEnd: 29353
    functionName: find_closure_var
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_closure_var(JSContext *ctx, JSFunctionDef *s, JSAtom
      var_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/quickjs.c:48000,1
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/quickjs.c:48001,1
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/quickjs.c:48001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - y
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 48002
      start: 47999
    functionDepth: 0
    functionLinenumber: 47999
    functionLinenumberEnd: 48002
    functionName: days_from_year
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - floor_div
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t days_from_year(int64_t y) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:50108,1
    - Dst: JS_ToNumeric
      Src: /src/gpac/src/quickjs/quickjs.c:50111,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50112,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50109,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50113,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50117,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:50125,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:50147,1
    - Dst: bf_rem
      Src: /src/gpac/src/quickjs/quickjs.c:50144,1
    - Dst: bf_pow
      Src: /src/gpac/src/quickjs/quickjs.c:50141,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50132,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/quickjs.c:50150,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50167,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50168,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50169,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/quickjs.c:50162,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs.c:50120,1
    - Dst: JS_NewBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50124,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50130,1
    - Dst: JS_GetBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50135,1
    - Dst: bf_atan2
      Src: /src/gpac/src/quickjs/quickjs.c:50138,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:50131,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/quickjs.c:50159,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50165,1
    - Dst: JS_ToBigFloat
      Src: /src/gpac/src/quickjs/quickjs.c:50116,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/quickjs.c:50128,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/quickjs.c:50156,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/quickjs.c:50153,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 50171
      start: 50101
    functionDepth: 0
    functionLinenumber: 50101
    functionLinenumberEnd: 50171
    functionName: js_bigfloat_fop2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewBigFloat
    - bf_rem
    - bf_add
    - bf_delete
    - JS_IsException
    - JS_GetOpaque2
    - bf_div
    - abort
    - bf_mul
    - bf_sub
    - JS_GetBigFloat
    - bf_pow
    - JS_ToBigFloat
    - JS_ToNumeric
    - bf_atan2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_bigfloat_fop2(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8887,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs.c:8889,1
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.c:8888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - char*
    - JSValue
    constantsTouched: []
    func_position:
      end: 8891
      start: 8882
    functionDepth: 0
    functionLinenumber: 8882
    functionLinenumberEnd: 8891
    functionName: JS_SetPropertyStr
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_NewAtom
    - JS_FreeAtom
    - JS_SetPropertyInternal
    linkageType: ''
    returnType: int
    signature: 'int JS_SetPropertyStr(JSContext *ctx, JSValueConst this_obj, const
      char *prop, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gpac/src/quickjs/quickjs.c:11171,1
    - Dst: fabs
      Src: /src/gpac/src/quickjs/quickjs.c:11172,1
    - Dst: floor
      Src: /src/gpac/src/quickjs/quickjs.c:11171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 11173
      start: 11169
    functionDepth: 0
    functionLinenumber: 11169
    functionLinenumberEnd: 11173
    functionName: is_safe_integer
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - floor
    - fabs
    - isfinite
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_safe_integer(double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 48006
      start: 48004
    functionDepth: 0
    functionLinenumber: 48004
    functionLinenumberEnd: 48006
    functionName: days_in_year
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t days_in_year(int64_t y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs.c:20624,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs.c:20629,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs.c:20627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - pbuf
    - psize
    - static_buf
    argTypes:
    - JSContext*
    - char**
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 20636
      start: 20611
    functionDepth: 0
    functionLinenumber: 20611
    functionLinenumberEnd: 20636
    functionName: ident_realloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - memcpy
    - js_realloc
    - js_malloc
    linkageType: ''
    returnType: __exception
    signature: 'static __exception int ident_realloc(JSContext *ctx, char **pbuf,
      size_t *psize, char *static_buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - hp
    argTypes:
    - JSString*
    - JSMemoryUsage_helper*
    constantsTouched: []
    func_position:
      end: 5869
      start: 5861
    functionDepth: 0
    functionLinenumber: 5861
    functionLinenumberEnd: 5869
    functionName: compute_jsstring_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void compute_jsstring_size(JSString *str, JSMemoryUsage_helper
      *hp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.c:14271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 14272
      start: 14269
    functionDepth: 0
    functionLinenumber: 14269
    functionLinenumberEnd: 14272
    functionName: JS_ThrowUnsupportedBigint
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue JS_ThrowUnsupportedBigint(JSContext *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:46951,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46969,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:46968,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46961,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:46975,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46989,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46991,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47007,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47009,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47010,1
    - Dst: remainingElementsCount_add
      Src: /src/gpac/src/quickjs/quickjs.c:47032,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47027,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:47061,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47018,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:47044,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47073,1
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:46946,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:46945,1
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:46953,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46954,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46960,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:46958,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs.c:46971,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:46963,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46972,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:46984,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47033,1
    - Dst: js_aggregate_error_constructor
      Src: /src/gpac/src/quickjs/quickjs.c:47055,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47019,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47035,1
    - Dst: remainingElementsCount_add
      Src: /src/gpac/src/quickjs/quickjs.c:47049,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47070,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47034,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47056,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:46949,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46950,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:46957,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:46965,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46985,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:46994,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:46997,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:46999,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47058,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:47063,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47069,1
    - Dst: JS_InvokeFree
      Src: /src/gpac/src/quickjs/quickjs.c:47041,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47043,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47077,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:46944,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46947,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46966,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:46976,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:46992,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs.c:47029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47042,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47068,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47072,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47074,1
    - Dst: JS_NewCFunctionData
      Src: /src/gpac/src/quickjs/quickjs.c:47016,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.c:47001,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs.c:47023,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 118
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 47080
      start: 46933
    functionDepth: 0
    functionLinenumber: 46933
    functionLinenumberEnd: 47080
    functionName: js_promise_all
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_DefinePropertyValueUint32
    - check_function
    - js_aggregate_error_constructor
    - JS_NewBool
    - JS_NewArray
    - JS_GetException
    - JS_NewInt32
    - remainingElementsCount_add
    - JS_DupValue
    - JS_Call
    - JS_NewCFunctionData
    - JS_InvokeFree
    - JS_IsObject
    - JS_IteratorNext
    - JS_GetIterator
    - JS_IteratorClose
    - check_exception_free
    - JS_FreeValue
    - JS_GetProperty
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_all(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: compute_value_size
      Src: /src/gpac/src/quickjs/quickjs.c:5884,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - b
    - hp
    argTypes:
    - JSFunctionBytecode*
    - JSMemoryUsage_helper*
    constantsTouched: []
    func_position:
      end: 5908
      start: 5871
    functionDepth: 0
    functionLinenumber: 5871
    functionLinenumberEnd: 5908
    functionName: compute_bytecode_size
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - compute_value_size
    linkageType: ''
    returnType: void
    signature: 'static void compute_bytecode_size(JSFunctionBytecode *b, JSMemoryUsage_helper
      *hp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowUnsupportedBigint
      Src: /src/gpac/src/quickjs/quickjs.c:14276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 14277
      start: 14274
    functionDepth: 0
    functionLinenumber: 14274
    functionLinenumberEnd: 14277
    functionName: JS_NewBigInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_ThrowUnsupportedBigint
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue JS_NewBigInt64(JSContext *ctx, int64_t v) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: js_new_promise_capability
      Src: /src/gpac/src/quickjs/quickjs.c:47092,1
    - Dst: JS_ThrowTypeErrorNotAnObject
      Src: /src/gpac/src/quickjs/quickjs.c:47091,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47093,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:47123,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47125,1
    - Dst: check_exception_free
      Src: /src/gpac/src/quickjs/quickjs.c:47133,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47139,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47141,1
    - Dst: check_function
      Src: /src/gpac/src/quickjs/quickjs.c:47097,1
    - Dst: JS_IteratorNext
      Src: /src/gpac/src/quickjs/quickjs.c:47118,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47107,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47142,1
    - Dst: JS_IsObject
      Src: /src/gpac/src/quickjs/quickjs.c:47090,1
    - Dst: JS_GetIterator
      Src: /src/gpac/src/quickjs/quickjs.c:47099,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47100,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47109,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47112,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47119,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47106,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs.c:47104,1
    - Dst: JS_IteratorClose
      Src: /src/gpac/src/quickjs/quickjs.c:47128,1
    - Dst: JS_InvokeFree
      Src: /src/gpac/src/quickjs/quickjs.c:47131,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:47095,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47096,1
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs.c:47103,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs.c:47111,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:47126,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47140,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47146,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:47138,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 47149
      start: 47082
    functionDepth: 0
    functionLinenumber: 47082
    functionLinenumberEnd: 47149
    functionName: js_promise_race
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - js_new_promise_capability
    - JS_GetIterator
    - JS_FreeValue
    - JS_IteratorClose
    - JS_ThrowTypeErrorNotAnObject
    - JS_IsException
    - JS_GetException
    - check_exception_free
    - JS_GetProperty
    - JS_Call
    - check_function
    - JS_InvokeFree
    - JS_IsObject
    - JS_IteratorNext
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_promise_race(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_closure_var2
      Src: /src/gpac/src/quickjs/quickjs.c:29367,1
    - Dst: add_closure_var
      Src: /src/gpac/src/quickjs/quickjs.c:29380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 10
    argNames:
    - ctx
    - s
    - fd
    - is_local
    - is_arg
    - var_idx
    - var_name
    - is_const
    - is_lexical
    - var_kind
    argTypes:
    - JSContext*
    - JSFunctionDef*
    - JSFunctionDef*
    - BOOL
    - BOOL
    - int
    - JSAtom
    - BOOL
    - BOOL
    - JSVarKindEnum
    constantsTouched: []
    func_position:
      end: 29382
      start: 29358
    functionDepth: 0
    functionLinenumber: 29358
    functionLinenumberEnd: 29382
    functionName: get_closure_var2
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - add_closure_var
    - get_closure_var2
    linkageType: ''
    returnType: int
    signature: 'static int get_closure_var2(JSContext *ctx, JSFunctionDef *s, JSFunctionDef
      *fd, BOOL is_local, BOOL is_arg, int var_idx, JSAtom var_name, BOOL is_const,
      BOOL is_lexical, JSVarKindEnum var_kind) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs.c:15600,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15605,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs.c:15601,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15602,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs.c:15609,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs.c:15610,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.c:15612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - val
    - done
    argTypes:
    - JSContext*
    - JSValue
    - BOOL
    constantsTouched: []
    func_position:
      end: 15616
      start: 15595
    functionDepth: 0
    functionLinenumber: 15595
    functionLinenumberEnd: 15616
    functionName: js_create_iterator_result
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - JS_IsException
    - JS_DefinePropertyValue
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_create_iterator_result(JSContext *ctx, JSValue val,
      BOOL done) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_get
      Src: /src/gpac/src/quickjs/quickjs.c:48447,1
    - Dst: string_get_digits
      Src: /src/gpac/src/quickjs/quickjs.c:48451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - sp
    - pp
    - pval
    argTypes:
    - JSString*
    - int*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48456
      start: 48441
    functionDepth: 0
    functionLinenumber: 48441
    functionLinenumberEnd: 48456
    functionName: string_get_signed_digits
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - string_get_digits
    - string_get
    linkageType: ''
    returnType: int
    signature: 'static int string_get_signed_digits(JSString *sp, int *pp, int64_t
      *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/quickjs.c:17219,1
    - Dst: JS_IsUninitialized
      Src: /src/gpac/src/quickjs/quickjs.c:17221,1
    - Dst: set_value
      Src: /src/gpac/src/quickjs/quickjs.c:17225,1
    - Dst: JS_ThrowReferenceErrorUninitialized2
      Src: /src/gpac/src/quickjs/quickjs.c:17222,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs.c:17221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17227
      start: 17216
    functionDepth: 0
    functionLinenumber: 17216
    functionLinenumberEnd: 17227
    functionName: (OP_put_var_ref_check)
    functionSourceFile: /src/gpac/src/quickjs/quickjs.c
    functionUses: []
    functionsReached:
    - set_value
    - get_u16
    - JS_ThrowReferenceErrorUninitialized2
    - unlikely
    - JS_IsUninitialized
    linkageType: ''
    returnType: CASE
    signature: 'CASE (OP_put_var_ref_check) : '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/cutils.c:52,1
    - Dst: pstrcpy
      Src: /src/gpac/src/quickjs/cutils.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - buf_size
    - s
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: pstrcat
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - strlen
    - pstrcpy
    linkageType: ''
    returnType: char*
    signature: 'char *pstrcat(char *buf, int buf_size, const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - DynBuf*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: dbuf_putc
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'int dbuf_putc(DynBuf *s, uint8_t c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exchange_func
      Src: /src/gpac/src/quickjs/cutils.c:477,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:494,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:486,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:488,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:490,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:497,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:499,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:501,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 5
    argNames:
    - base
    - nmemb
    - size
    - cmp
    - opaque
    argTypes:
    - void*
    - size_t
    - size_t
    - cmp_f
    - void*
    constantsTouched: []
    func_position:
      end: 505
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 505
    functionName: heapsortx
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - cmp
    - exchange_func
    - swap
    linkageType: ''
    returnType: void
    signature: 'static void heapsortx(void *base, size_t nmemb, size_t size, cmp_f
      cmp, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - buf_size
    - str
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: pstrcpy
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void pstrcpy(char *buf, int buf_size, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - str
    - val
    - ptr
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: strstart
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int strstart(const char *str, const char *val, const char **ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.c:165,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/cutils.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - DynBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: dbuf_putstr
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - strlen
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'int dbuf_putstr(DynBuf *s, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: exchange_bytes
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_bytes(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:509,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:511,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:510,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:510,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - a
    - b
    - c
    - cmp
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    - cmp_f
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: med3
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - cmp
    linkageType: ''
    returnType: void*
    signature: 'static inline void *med3(void *a, void *b, void *c, cmp_f cmp, void
      *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gpac/src/quickjs/cutils.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: dbuf_default_realloc
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'static void *dbuf_default_realloc(void *opaque, void *ptr, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/cutils.c:76,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/cutils.c:77,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/cutils.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: has_suffix
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int has_suffix(const char *str, const char *suffix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/cutils.c:138,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/cutils.c:139,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/cutils.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - s
    - data
    - len
    argTypes:
    - DynBuf*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: dbuf_put
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - unlikely
    - memcpy
    - dbuf_realloc
    linkageType: ''
    returnType: int
    signature: 'int dbuf_put(DynBuf *s, const uint8_t *data, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/cutils.c:171,1
    - Dst: vsnprintf
      Src: /src/gpac/src/quickjs/cutils.c:180,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/cutils.c:179,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.c:184,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/cutils.c:181,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/cutils.c:186,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/cutils.c:188,1
    - Dst: vsnprintf
      Src: /src/gpac/src/quickjs/cutils.c:189,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/cutils.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s
    - fmt
    - '...'
    argTypes:
    - DynBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: dbuf_printf
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - format
    - va_end
    - va_start
    - dbuf_realloc
    - dbuf_put
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: 'int __attribute__((format(printf, 2, 3))) dbuf_printf(DynBuf *s, const
      char *fmt, ...) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gpac/src/quickjs/cutils.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - base
    - nmemb
    - size
    - (*cmp)
    - arg
    argTypes:
    - void*
    - size_t
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: rqsort
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'void rqsort(void *base, size_t nmemb, size_t size, int (*cmp)(const
      void *, const void *, void *), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: exchange_one_byte
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_one_byte(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: exchange_one_int64
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_one_int64(void *a, void *b, size_t size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: exchange_func
      Src: /src/gpac/src/quickjs/cutils.c:521,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:549,1
    - Dst: exchange_func
      Src: /src/gpac/src/quickjs/cutils.c:522,1
    - Dst: med3
      Src: /src/gpac/src/quickjs/cutils.c:548,1
    - Dst: heapsortx
      Src: /src/gpac/src/quickjs/cutils.c:541,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:555,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:557,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:564,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:568,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:573,1
    - Dst: cmp
      Src: /src/gpac/src/quickjs/cutils.c:628,1
    - Dst: swap
      Src: /src/gpac/src/quickjs/cutils.c:629,1
    - Dst: swap_block
      Src: /src/gpac/src/quickjs/cutils.c:592,1
    - Dst: swap_block
      Src: /src/gpac/src/quickjs/cutils.c:602,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 123
    argCount: 5
    argNames:
    - base
    - nmemb
    - size
    - cmp
    - opaque
    argTypes:
    - void*
    - size_t
    - size_t
    - cmp_f
    - void*
    constantsTouched: []
    func_position:
      end: 632
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 632
    functionName: rqsort
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - med3
    - swap_block
    - heapsortx
    - exchange_func
    - cmp
    - swap
    linkageType: ''
    returnType: void
    signature: 'void rqsort(void *base, size_t nmemb, size_t size, cmp_f cmp, void
      *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/cutils.c:149,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/cutils.c:153,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/cutils.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - offset
    - len
    argTypes:
    - DynBuf*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: dbuf_put_self
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - unlikely
    - memcpy
    - dbuf_realloc
    linkageType: ''
    returnType: int
    signature: 'int dbuf_put_self(DynBuf *s, size_t offset, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/cutils.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: dbuf_free
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void dbuf_free(DynBuf *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: exchange_int16s
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_int16s(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: exchange_int128s
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_int128s(void *a, void *b, size_t size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 2
    argNames:
    - buf
    - c
    argTypes:
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: unicode_to_utf8
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int unicode_to_utf8(uint8_t *buf, unsigned int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: exchange_one_int16
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_one_int16(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: exchange_int32s
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_int32s(void *a, void *b, size_t size) '
  - BBCount: 68
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 29
    argCount: 3
    argNames:
    - p
    - max_len
    - pp
    argTypes:
    - uint8_t*
    - int
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 307
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 307
    functionName: unicode_from_utf8
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int unicode_from_utf8(const uint8_t *p, int max_len, const uint8_t
      **pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/cutils.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - s
    - opaque
    - realloc_func
    argTypes:
    - DynBuf*
    - void*
    - DynBufReallocFunc*
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: dbuf_init2
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void dbuf_init2(DynBuf *s, void *opaque, DynBufReallocFunc *realloc_func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - DynBuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: dbuf_realloc
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int dbuf_realloc(DynBuf *s, size_t new_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: exchange_one_int32
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_one_int32(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: exchange_one_int128
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_one_int128(void *a, void *b, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/cutils.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: dbuf_init
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - dbuf_init2
    linkageType: ''
    returnType: void
    signature: 'void dbuf_init(DynBuf *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/cutils.c:128,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/cutils.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - s
    - offset
    - data
    - len
    argTypes:
    - DynBuf*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: dbuf_write
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - dbuf_realloc
    linkageType: ''
    returnType: int
    signature: 'int dbuf_write(DynBuf *s, size_t offset, const uint8_t *data, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rqsort_cmp
      Src: /src/gpac/src/quickjs/cutils.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: rqsort_cmp2
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached:
    - rqsort_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rqsort_cmp2(const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: exchange_int64s
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void exchange_int64s(void *a, void *b, size_t size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 471
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 471
    functionName: exchange_func
    functionSourceFile: /src/gpac/src/quickjs/cutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: exchange_f
    signature: 'static inline exchange_f exchange_func(const void *base, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lre_is_id_start
      Src: /src/gpac/src/quickjs/libregexp.h:68,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/libregexp.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: lre_js_is_ident_first
    functionSourceFile: /src/gpac/src/quickjs/libregexp.h
    functionUses: []
    functionsReached:
    - lre_is_space
    - lre_is_id_start
    linkageType: ''
    returnType: int
    signature: 'static inline int lre_js_is_ident_first(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lre_is_id_continue
      Src: /src/gpac/src/quickjs/libregexp.h:82,1
    - Dst: lre_is_space
      Src: /src/gpac/src/quickjs/libregexp.h:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: lre_js_is_ident_next
    functionSourceFile: /src/gpac/src/quickjs/libregexp.h
    functionUses: []
    functionsReached:
    - lre_is_space
    - lre_is_id_continue
    linkageType: ''
    returnType: int
    signature: 'static inline int lre_js_is_ident_next(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctz64
      Src: /src/gpac/src/quickjs/libbf.c:112,1
    - Dst: ctz32
      Src: /src/gpac/src/quickjs/libbf.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: ctz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ctz32
    - ctz64
    linkageType: ''
    returnType: int
    signature: 'static inline int ctz(limb_t a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: smod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t smod(slimb_t a, slimb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tab
    - b
    - n
    argTypes:
    - limb_t*
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1055
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1055
    functionName: mp_add_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_add_ui(limb_t *tab, limb_t b, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - tabr
    - taba
    - n
    - b
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1157
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1157
    functionName: mp_add_mul1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_add_mul1(limb_t *tabr, const limb_t *taba, limb_t
      n, limb_t b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2444,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2445,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:2447,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/libbf.c:2446,1
    - Dst: bf_set_exp_bits
      Src: /src/gpac/src/quickjs/libbf.c:2447,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - a
    - pres
    - rnd_mode
    argTypes:
    - bf_t*
    - double*
    - bf_rnd_t
    constantsTouched: []
    func_position:
      end: 2479
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2479
    functionName: bf_get_float64
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_round
    - bf_init
    - bf_is_finite
    - bf_set_exp_bits
    - bf_set
    linkageType: ''
    returnType: int
    signature: 'int bf_get_float64(const bf_t *a, double *pres, bf_rnd_t rnd_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_atof_internal
      Src: /src/gpac/src/quickjs/libbf.c:3148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - r
    - str
    - pnext
    - radix
    - prec
    - flags
    argTypes:
    - bf_t*
    - char*
    - char**
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 3149
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3149
    functionName: bf_atof
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_atof_internal
    linkageType: ''
    returnType: int
    signature: 'int bf_atof(bf_t *r, const char *str, const char **pnext, int radix,
      limb_t prec, bf_flags_t flags) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4682,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:4687,1
    - Dst: bf_get_exp_min
      Src: /src/gpac/src/quickjs/libbf.c:4690,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:4693,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4705,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4727,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4738,1
    - Dst: bf_log
      Src: /src/gpac/src/quickjs/libbf.c:4744,1
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:4761,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4763,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:4816,1
    - Dst: bf_print_str
      Src: /src/gpac/src/quickjs/libbf.c:4802,1
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:4789,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:4673,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4672,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4706,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4712,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4699,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4739,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4745,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4749,1
    - Dst: bf_set_overflow
      Src: /src/gpac/src/quickjs/libbf.c:4772,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4805,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4820,1
    - Dst: bf_print_str
      Src: /src/gpac/src/quickjs/libbf.c:4803,1
    - Dst: bf_pow_ui
      Src: /src/gpac/src/quickjs/libbf.c:4774,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:4793,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4676,1
    - Dst: bf_get_exp_min
      Src: /src/gpac/src/quickjs/libbf.c:4707,1
    - Dst: bf_log
      Src: /src/gpac/src/quickjs/libbf.c:4743,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4746,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4748,1
    - Dst: bf_get_exp_min
      Src: /src/gpac/src/quickjs/libbf.c:4757,1
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:4767,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4771,1
    - Dst: bf_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:4788,1
    - Dst: check_exact_power2n
      Src: /src/gpac/src/quickjs/libbf.c:4798,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4667,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4669,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4685,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4713,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:4722,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/libbf.c:4728,1
    - Dst: check_exp_underflow_overflow
      Src: /src/gpac/src/quickjs/libbf.c:4747,1
    - Dst: bf_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:4760,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4762,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4768,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:4801,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 155
    argCount: 5
    argNames:
    - r
    - x
    - y
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4823
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4823
    functionName: bf_pow
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_inf
    - bf_set_zero
    - bf_set_ui
    - bf_cmpu
    - bf_get_exp_min
    - bf_init
    - bf_log
    - bf_mul
    - bf_set_nan
    - bf_cmp_eq
    - assert
    - bf_delete
    - bf_ziv_rounding
    - bf_mul_2exp
    - bf_set_overflow
    - bf_set
    - printf
    - bf_pow_ui
    - check_exact_power2n
    - bf_print_str
    - bf_neg
    - check_exp_underflow_overflow
    - bf_get_limb
    - bf_mul_si
    linkageType: ''
    returnType: int
    signature: 'int bf_pow(bf_t *r, const bf_t *x, const bf_t *y, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - r
    - m
    - m_inv
    argTypes:
    - dlimb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7405
      start: 7389
    functionDepth: 0
    functionLinenumber: 7389
    functionLinenumberEnd: 7405
    functionName: mod_fast
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t mod_fast(dlimb_t r, limb_t m, limb_t m_inv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: ceil_log2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - clz
    linkageType: ''
    returnType: int
    signature: 'static inline int ceil_log2(limb_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - res
    - op1
    - op2
    - n
    - carry
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1073
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1073
    functionName: mp_sub
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_sub(limb_t *res, const limb_t *op1, const limb_t *op2, mp_size_t
      n, limb_t carry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2493,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:2499,1
    - Dst: clz64
      Src: /src/gpac/src/quickjs/libbf.c:2503,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:2495,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:2513,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:2518,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - bf_t*
    - double
    constantsTouched: []
    func_position:
      end: 2528
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2528
    functionName: bf_set_float64
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_inf
    - bf_set_zero
    - bf_resize
    - clz64
    linkageType: ''
    returnType: int
    signature: 'int bf_set_float64(bf_t *a, double d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7796,1
    - Dst: mul_mod_fast3
      Src: /src/gpac/src/quickjs/libbf.c:7797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - s
    - tab1
    - tab2
    - fft_len_log2
    - k_tot
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - NTTLimb*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7800
      start: 7779
    functionDepth: 0
    functionLinenumber: 7779
    functionLinenumberEnd: 7800
    functionName: ntt_vec_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mul_mod_fast3
    - mul_mod_fast
    linkageType: ''
    returnType: void
    signature: 'static void ntt_vec_mul(BFNTTState *s, NTTLimb *tab1, NTTLimb *tab2,
      int fft_len_log2, int k_tot, int m_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_logic_op
      Src: /src/gpac/src/quickjs/libbf.c:2416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2417
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2417
    functionName: bf_logic_xor
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_logic_op
    linkageType: ''
    returnType: int
    signature: 'int bf_logic_xor(bf_t *r, const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_const_get
      Src: /src/gpac/src/quickjs/libbf.c:4196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - T
    - sign
    - prec
    - flags
    argTypes:
    - bf_t*
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4198
      start: 4193
    functionDepth: 0
    functionLinenumber: 4193
    functionLinenumberEnd: 4198
    functionName: bf_const_pi_signed
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_const_get
    linkageType: ''
    returnType: int
    signature: 'static int bf_const_pi_signed(bf_t *T, int sign, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_exp_min
      Src: /src/gpac/src/quickjs/libbf.c:4625,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4646,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4641,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4642,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:4637,1
    - Dst: bf_sqrtrem
      Src: /src/gpac/src/quickjs/libbf.c:4647,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - r
    - x
    - n
    argTypes:
    - bf_t*
    - bf_t*
    - slimb_t
    constantsTouched: []
    func_position:
      end: 4652
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4652
    functionName: check_exact_power2n
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sqrtrem
    - bf_init
    - bf_get_exp_min
    - bf_set
    - get_bits
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL check_exact_power2n(bf_t *r, const bf_t *x, slimb_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:5960,1
    - Dst: fast_shr_rem_dec
      Src: /src/gpac/src/quickjs/libbf.c:5964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - tab_r
    - tab
    - n
    - shift
    - low
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5969
      start: 5954
    functionDepth: 0
    functionLinenumber: 5954
    functionLinenumberEnd: 5969
    functionName: mp_shl_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - fast_shr_rem_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_shl_dec(limb_t *tab_r, const limb_t *tab, mp_size_t
      n, limb_t shift, limb_t low) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - NTTLimb
    - limb_t
    constantsTouched: []
    func_position:
      end: 7713
      start: 7708
    functionDepth: 0
    functionLinenumber: 7708
    functionLinenumberEnd: 7713
    functionName: ntt_limb_to_int
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t ntt_limb_to_int(NTTLimb a, limb_t m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:1831,1
    - Dst: bf_divrem
      Src: /src/gpac/src/quickjs/libbf.c:1832,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:1833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 6
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    - rnd_mode
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 1835
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1835
    functionName: bf_rem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_divrem
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_rem(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t
      flags, int rnd_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_clear_cache
      Src: /src/gpac/src/quickjs/libbf.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - bf_context_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: bf_context_end
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_clear_cache
    linkageType: ''
    returnType: void
    signature: 'void bf_context_end(bf_context_t *s) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: scan_bit_nz
      Src: /src/gpac/src/quickjs/libbf.c:404,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/libbf.c:439,1
    - Dst: get_bit
      Src: /src/gpac/src/quickjs/libbf.c:408,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:404,1
    - Dst: get_bit
      Src: /src/gpac/src/quickjs/libbf.c:422,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - pret
    - r
    - l
    - prec
    - rnd_mode
    argTypes:
    - int*
    - bf_t*
    - limb_t
    - slimb_t
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 445
    functionName: bf_get_rnd_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - abort
    - bf_max
    - scan_bit_nz
    - get_bit
    linkageType: ''
    returnType: int
    signature: 'static int bf_get_rnd_add(int *pret, const bf_t *r, limb_t l, slimb_t
      prec, int rnd_mode) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:1739,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1746,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:1740,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:1741,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:1744,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1749,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:1752,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:1753,1
    - Dst: bf_tdivremu
      Src: /src/gpac/src/quickjs/libbf.c:1791,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:1792,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:1792,1
    - Dst: get_bit
      Src: /src/gpac/src/quickjs/libbf.c:1804,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/libbf.c:1810,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:1809,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1820,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:1799,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1821,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:1818,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 80
    argCount: 7
    argNames:
    - q
    - r
    - a
    - b
    - prec
    - flags
    - rnd_mode
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 1823
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1823
    functionName: bf_divrem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - assert
    - bf_set_zero
    - bf_tdivremu
    - bf_round
    - bf_cmpu
    - get_bit
    - bf_sub
    - bf_set
    - bf_is_nan
    - bf_add_si
    linkageType: ''
    returnType: int
    signature: 'int bf_divrem(bf_t *q, bf_t *r, const bf_t *a, const bf_t *b, limb_t
      prec, bf_flags_t flags, int rnd_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:2208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2209
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2209
    functionName: bf_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bf_add(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_logic_op
      Src: /src/gpac/src/quickjs/libbf.c:2410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2411
    functionName: bf_logic_or
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_logic_op
    linkageType: ''
    returnType: int
    signature: 'int bf_logic_or(bf_t *r, const bf_t *a, const bf_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:2837,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:2839,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libbf.c:2845,1
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.c:2840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - a
    - ppos
    - v
    argTypes:
    - bf_t*
    - slimb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 2852
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2852
    functionName: bf_add_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - unlikely
    - memmove
    - bf_realloc
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bf_add_limb(bf_t *a, slimb_t *ppos, limb_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_const_get
      Src: /src/gpac/src/quickjs/libbf.c:4189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - T
    - prec
    - flags
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4190
      start: 4186
    functionDepth: 0
    functionLinenumber: 4186
    functionLinenumberEnd: 4190
    functionName: bf_const_log2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_const_get
    linkageType: ''
    returnType: int
    signature: 'int bf_const_log2(bf_t *T, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - bf_context_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: bf_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bf_init(bf_context_t *s, bf_t *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:459,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:464,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:463,1
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/libbf.c:471,1
    - Dst: limb_mask
      Src: /src/gpac/src/quickjs/libbf.c:467,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - r
    - sign
    - prec
    - flags
    argTypes:
    - bf_t*
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 476
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 476
    functionName: bf_set_overflow
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_inf
    - bf_get_exp_bits
    - bf_resize
    - limb_mask
    linkageType: ''
    returnType: int
    signature: 'static int bf_set_overflow(bf_t *r, int sign, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_int32
      Src: /src/gpac/src/quickjs/libbf.c:1840,1
    - Dst: bf_get_int64
      Src: /src/gpac/src/quickjs/libbf.c:1842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pres
    - a
    - flags
    argTypes:
    - slimb_t*
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 1844
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1844
    functionName: bf_get_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_get_int64
    - bf_get_int32
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_get_limb(slimb_t *pres, const bf_t *a, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:2214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2215
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2215
    functionName: bf_sub
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bf_sub(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4853,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4896,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:4898,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4902,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4911,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4913,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4929,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4863,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4871,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:4878,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4892,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4908,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4910,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4851,1
    - Dst: bf_const_pi
      Src: /src/gpac/src/quickjs/libbf.c:4870,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4886,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4895,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4900,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4897,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4887,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4917,1
    - Dst: bf_sqrt_sin
      Src: /src/gpac/src/quickjs/libbf.c:4919,1
    - Dst: bf_sqrt_sin
      Src: /src/gpac/src/quickjs/libbf.c:4926,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4849,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4852,1
    - Dst: bf_isqrt
      Src: /src/gpac/src/quickjs/libbf.c:4856,1
    - Dst: bf_remquo
      Src: /src/gpac/src/quickjs/libbf.c:4872,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4894,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4909,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4933,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 4
    argNames:
    - s
    - c
    - a
    - prec
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 4935
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4935
    functionName: bf_sincos
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bf_set_ui
    - bf_delete
    - bf_div
    - bf_mul_2exp
    - bf_neg
    - bf_add_si
    - bf_add
    - bf_const_pi
    - bf_init
    - bf_mul
    - bf_sqrt_sin
    - bf_set
    - bf_mul_ui
    - bf_remquo
    - bf_isqrt
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bf_sincos(bf_t *s, bf_t *c, const bf_t *a, limb_t prec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_add_internal
      Src: /src/gpac/src/quickjs/libbf.c:6723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6724
      start: 6720
    functionDepth: 0
    functionLinenumber: 6720
    functionLinenumberEnd: 6724
    functionName: __bfdec_sub
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_add_internal
    linkageType: ''
    returnType: int
    signature: 'static int __bfdec_sub(bfdec_t *r, const bfdec_t *a, const bfdec_t
      *b, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:6921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6923
      start: 6918
    functionDepth: 0
    functionLinenumber: 6918
    functionLinenumberEnd: 6923
    functionName: bfdec_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bfdec_div(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1661,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:1667,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1675,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:1670,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1664,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:1678,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:1682,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:1689,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1696,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:1700,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:1710,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:1702,1
    - Dst: mp_divnorm
      Src: /src/gpac/src/quickjs/libbf.c:1704,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1712,1
    - Dst: bf_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:1715,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1719,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libbf.c:1701,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1706,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 1721
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1721
    functionName: __bf_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_normalize_and_round
    - bf_malloc
    - bf_set_inf
    - bf_set_zero
    - memset
    - mp_scan_nz
    - bf_resize
    - memcpy
    - bf_free
    - mp_divnorm
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int __bf_div(bf_t *r, const bf_t *a, const bf_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2829
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2829
    functionName: to_digit
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int to_digit(int c) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:7083,1
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/libbf.c:7096,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:7145,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:7087,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:7108,1
    - Dst: mp_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:7112,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:7139,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:7135,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:7149,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7079,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:7096,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:7092,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:7103,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7105,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:7109,1
    - Dst: mp_div1_dec
      Src: /src/gpac/src/quickjs/libbf.c:7133,1
    - Dst: mp_sqrtrem_dec
      Src: /src/gpac/src/quickjs/libbf.c:7128,1
    - Dst: mp_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:7126,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:7129,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:7137,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libbf.c:7110,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 105
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 7151
      start: 7071
    functionDepth: 0
    functionLinenumber: 7071
    functionLinenumberEnd: 7151
    functionName: bfdec_sqrt
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bfdec_set_nan
    - bf_malloc
    - memset
    - mp_shr_dec
    - mp_sqrtrem_dec
    - bf_min
    - bfdec_round
    - floor_div
    - mp_mul1_dec
    - memcpy
    - bfdec_set
    - bf_free
    - bfdec_resize
    - mp_div1_dec
    - mp_scan_nz
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bfdec_sqrt(bfdec_t *r, const bfdec_t *a, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_blendv_pd
      Src: /src/gpac/src/quickjs/libbf.c:7486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - __m256d
    - __m256d
    constantsTouched: []
    func_position:
      end: 7487
      start: 7484
    functionDepth: 0
    functionLinenumber: 7484
    functionLinenumberEnd: 7487
    functionName: ntt_mod1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - _mm256_blendv_pd
    linkageType: ''
    returnType: __m256d
    signature: 'static inline __m256d ntt_mod1(__m256d r, __m256d m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tab
    - n
    - m
    - r
    argTypes:
    - limb_t*
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1877
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1877
    functionName: mp_mod1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_mod1(const limb_t *tab, limb_t n, limb_t m, limb_t
      r) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/libbf.c:6335,1
    - Dst: fast_urem
      Src: /src/gpac/src/quickjs/libbf.c:6350,1
    - Dst: fast_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:6349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - tab
    - len
    - pos
    argTypes:
    - limb_t*
    - limb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 6353
      start: 6329
    functionDepth: 0
    functionLinenumber: 6329
    functionLinenumberEnd: 6353
    functionName: get_digits
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - fast_urem
    - floor_div
    - fast_shr_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t get_digits(const limb_t *tab, limb_t len, slimb_t pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_add_internal
      Src: /src/gpac/src/quickjs/libbf.c:1020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: __bf_sub
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_add_internal
    linkageType: ''
    returnType: int
    signature: 'static int __bf_sub(bf_t *r, const bf_t *a, const bf_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udiv1norm_init
      Src: /src/gpac/src/quickjs/libbf.c:1251,1
    - Dst: udiv1norm
      Src: /src/gpac/src/quickjs/libbf.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - tabr
    - taba
    - n
    - b
    - r
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1264
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1264
    functionName: mp_div1norm
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - udiv1norm_init
    - udiv1norm
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_div1norm(limb_t *tabr, const limb_t *taba, limb_t
      n, limb_t b, limb_t r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:1611,1
    - Dst: __bf_round
      Src: /src/gpac/src/quickjs/libbf.c:1614,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:1612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - r
    - e
    - prec
    - flags
    argTypes:
    - bf_t*
    - slimb_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 1615
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1615
    functionName: bf_mul_2exp
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_min
    - bf_max
    - __bf_round
    linkageType: ''
    returnType: int
    signature: 'int bf_mul_2exp(bf_t *r, slimb_t e, limb_t prec, bf_flags_t flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/libbf.c:4360,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4365,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/libbf.c:4367,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4368,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4366,1
    - Dst: bf_cmp_lt
      Src: /src/gpac/src/quickjs/libbf.c:4370,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4372,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4373,1
    - Dst: bf_set_overflow
      Src: /src/gpac/src/quickjs/libbf.c:4374,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/libbf.c:4377,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4394,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4383,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4390,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4384,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4395,1
    - Dst: bf_cmp_lt
      Src: /src/gpac/src/quickjs/libbf.c:4379,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4387,1
    - Dst: bf_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:4378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - s
    - r
    - a_low
    - a_high
    - prec
    - flags
    argTypes:
    - bf_context_t*
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4397
      start: 4349
    functionDepth: 0
    functionLinenumber: 4349
    functionLinenumberEnd: 4397
    functionName: check_exp_underflow_overflow
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_zero
    - bf_get_exp_bits
    - bf_set_ui
    - bf_const_log2
    - bf_delete
    - bf_cmp_lt
    - bf_set_overflow
    - bf_init
    - bf_mul_si
    - bf_mul_ui
    linkageType: ''
    returnType: int
    signature: 'static int check_exp_underflow_overflow(bf_context_t *s, bf_t *r,
      const bf_t *a_low, const bf_t *a_high, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5790,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5793,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5794,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - str
    - tab
    - n
    argTypes:
    - char*
    - limb_t*
    - slimb_t
    constantsTouched: []
    func_position:
      end: 5797
      start: 5786
    functionDepth: 0
    functionLinenumber: 5786
    functionLinenumberEnd: 5797
    functionName: mp_print_str_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void mp_print_str_dec(const char *str, const
      limb_t *tab, slimb_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7481
      start: 7476
    functionDepth: 0
    functionLinenumber: 7476
    functionLinenumberEnd: 7481
    functionName: int_to_ntt_limb2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: NTTLimb
    signature: 'static inline NTTLimb int_to_ntt_limb2(limb_t a, limb_t m) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_trig
      Src: /src/gpac/src/quickjs/libbf.c:7585,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7591,1
    - Dst: _mm256_setr_pd
      Src: /src/gpac/src/quickjs/libbf.c:7592,1
    - Dst: ntt_mod
      Src: /src/gpac/src/quickjs/libbf.c:7594,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7598,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7618,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7621,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7624,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7599,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7625,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7554,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7557,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7572,1
    - Dst: _mm256_permute4x64_pd
      Src: /src/gpac/src/quickjs/libbf.c:7575,1
    - Dst: _mm256_permute2f128_pd
      Src: /src/gpac/src/quickjs/libbf.c:7596,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7626,1
    - Dst: ntt_mod
      Src: /src/gpac/src/quickjs/libbf.c:7642,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7645,1
    - Dst: get_trig
      Src: /src/gpac/src/quickjs/libbf.c:7614,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7567,1
    - Dst: _mm256_permute2f128_pd
      Src: /src/gpac/src/quickjs/libbf.c:7573,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7578,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7595,1
    - Dst: _mm256_permute2f128_pd
      Src: /src/gpac/src/quickjs/libbf.c:7597,1
    - Dst: ntt_mod
      Src: /src/gpac/src/quickjs/libbf.c:7623,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7641,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7644,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7640,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7622,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7552,1
    - Dst: get_trig
      Src: /src/gpac/src/quickjs/libbf.c:7562,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7553,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7568,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7569,1
    - Dst: ntt_mod
      Src: /src/gpac/src/quickjs/libbf.c:7571,1
    - Dst: _mm256_permute4x64_pd
      Src: /src/gpac/src/quickjs/libbf.c:7576,1
    - Dst: _mm256_permute2f128_pd
      Src: /src/gpac/src/quickjs/libbf.c:7574,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7577,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7590,1
    - Dst: ntt_mod
      Src: /src/gpac/src/quickjs/libbf.c:7643,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 157
    argCount: 7
    argNames:
    - s
    - out_buf
    - in_buf
    - tmp_buf
    - fft_len_log2
    - inverse
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - NTTLimb*
    - NTTLimb*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7648
      start: 7539
    functionDepth: 0
    functionLinenumber: 7539
    functionLinenumberEnd: 7648
    functionName: ntt_fft
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - get_trig
    - _mm256_setr_pd
    - _mm256_store_pd
    - ntt_mul_mod
    - _mm256_set1_pd
    - _mm256_load_pd
    - _mm256_permute4x64_pd
    - ntt_mod
    - _mm256_permute2f128_pd
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int ntt_fft(BFNTTState *s, NTTLimb *out_buf, NTTLimb
      *in_buf, NTTLimb *tmp_buf, int fft_len_log2, int inverse, int m_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - BFNTTState*
    - size_t
    constantsTouched: []
    func_position:
      end: 7701
      start: 7698
    functionDepth: 0
    functionLinenumber: 7698
    functionLinenumberEnd: 7701
    functionName: ntt_malloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *ntt_malloc(BFNTTState *s, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - res
    - op1
    - op2
    - n
    - carry
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1039
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1039
    functionName: mp_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_add(limb_t *res, const limb_t *op1, const limb_t *op2, limb_t
      n, limb_t carry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4403,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4413,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:4411,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4406,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4409,1
    - Dst: check_exp_underflow_overflow
      Src: /src/gpac/src/quickjs/libbf.c:4418,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4423,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:4424,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:4427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4428
      start: 4399
    functionDepth: 0
    functionLinenumber: 4399
    functionLinenumberEnd: 4428
    functionName: bf_exp
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - assert
    - bf_set_zero
    - bf_set_inf
    - bf_set_ui
    - bf_ziv_rounding
    - check_exp_underflow_overflow
    - bf_add_epsilon
    linkageType: ''
    returnType: int
    signature: 'int bf_exp(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5804,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5807,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5805,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5810,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - str
    - tab
    - n
    - high
    argTypes:
    - char*
    - limb_t*
    - slimb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5811
      start: 5799
    functionDepth: 0
    functionLinenumber: 5799
    functionLinenumberEnd: 5811
    functionName: mp_print_str_h_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void mp_print_str_h_dec(const char *str, const
      limb_t *tab, slimb_t n, limb_t high) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7659,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7660,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7661,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7664,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7661,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7665,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7666,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7667,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - s
    - tab1
    - tab2
    - fft_len_log2
    - k_tot
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - NTTLimb*
    - limb_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7670
      start: 7650
    functionDepth: 0
    functionLinenumber: 7650
    functionLinenumberEnd: 7670
    functionName: ntt_vec_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - int_to_ntt_limb
    - _mm256_store_pd
    - _mm256_set1_pd
    - _mm256_load_pd
    - ntt_mul_mod
    linkageType: ''
    returnType: void
    signature: 'static void ntt_vec_mul(BFNTTState *s, NTTLimb *tab1, NTTLimb *tab2,
      limb_t fft_len_log2, int k_tot, int m_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:7705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ptr
    argTypes:
    - BFNTTState*
    - void*
    constantsTouched: []
    func_position:
      end: 7706
      start: 7703
    functionDepth: 0
    functionLinenumber: 7703
    functionLinenumberEnd: 7706
    functionName: ntt_free
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_free
    linkageType: ''
    returnType: void
    signature: 'static void ntt_free(BFNTTState *s, void *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:8319,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/libbf.c:8344,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:8322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - pdpl
    - pnb_mods
    - len
    argTypes:
    - int*
    - int*
    - limb_t
    constantsTouched: []
    func_position:
      end: 8354
      start: 8307
    functionDepth: 0
    functionLinenumber: 8307
    functionLinenumberEnd: 8354
    functionName: bf_get_fft_size
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_min
    - abort
    - ceil_log2
    linkageType: ''
    returnType: int
    signature: 'int bf_get_fft_size(int *pdpl, int *pnb_mods, limb_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - tabr
    - taba
    - n
    - b
    - l
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1141
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1141
    functionName: mp_mul1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_mul1(limb_t *tabr, const limb_t *taba, limb_t n,
      limb_t b, limb_t l) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1537,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:1545,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:1563,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1542,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:1549,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:1564,1
    - Dst: fft_mul
      Src: /src/gpac/src/quickjs/libbf.c:1576,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:1582,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:1586,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1588,1
    - Dst: mp_mul_basecase
      Src: /src/gpac/src/quickjs/libbf.c:1592,1
    - Dst: bf_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:1596,1
    - Dst: bf_move
      Src: /src/gpac/src/quickjs/libbf.c:1599,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 1602
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1602
    functionName: bf_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_normalize_and_round
    - bf_set_inf
    - bf_set_zero
    - fft_mul
    - bf_min
    - bf_resize
    - mp_mul_basecase
    - bf_move
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_mul(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_atof_internal
      Src: /src/gpac/src/quickjs/libbf.c:3140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - r
    - pexponent
    - str
    - pnext
    - radix
    - prec
    - flags
    argTypes:
    - bf_t*
    - slimb_t*
    - char*
    - char**
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 3142
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3142
    functionName: bf_atof2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_atof_internal
    linkageType: ''
    returnType: int
    signature: 'int bf_atof2(bf_t *r, slimb_t *pexponent, const char *str, const char
      **pnext, int radix, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4050,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4054,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4051,1
    - Dst: bf_const_log2_rec
      Src: /src/gpac/src/quickjs/libbf.c:4052,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4053,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - T
    - prec
    argTypes:
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 4056
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4056
    functionName: bf_const_log2_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_div
    - bf_const_log2_rec
    - bf_init
    linkageType: ''
    returnType: void
    signature: 'static void bf_const_log2_internal(bf_t *T, limb_t prec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:1118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - tab_r
    - tab
    - n
    - shift
    - high
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - int
    - limb_t
    constantsTouched: []
    func_position:
      end: 1126
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1126
    functionName: mp_shr
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_shr(limb_t *tab_r, const limb_t *tab, mp_size_t n,
      int shift, limb_t high) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2240,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/libbf.c:2241,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2242,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - r
    - a
    - b1
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - int64_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2245
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2245
    functionName: bf_mul_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_set_si
    - bf_mul
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_mul_si(bf_t *r, const bf_t *a, int64_t b1, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcasestart
      Src: /src/gpac/src/quickjs/libbf.c:2934,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/libbf.c:2926,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3026,1
    - Dst: bf_add_limb
      Src: /src/gpac/src/quickjs/libbf.c:3022,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/libbf.c:3062,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:3068,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:3071,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:3098,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3104,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3120,1
    - Dst: strcasestart
      Src: /src/gpac/src/quickjs/libbf.c:2891,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2927,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:2935,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2950,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:2952,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/libbf.c:2974,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:3040,1
    - Dst: bfdec_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:3085,1
    - Dst: bf_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:3092,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:3106,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:2944,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:2968,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3039,1
    - Dst: bf_add_limb
      Src: /src/gpac/src/quickjs/libbf.c:2990,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:3034,1
    - Dst: bf_integer_from_radix
      Src: /src/gpac/src/quickjs/libbf.c:3105,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:3113,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2892,1
    - Dst: bf_add_limb
      Src: /src/gpac/src/quickjs/libbf.c:3004,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:3027,1
    - Dst: to_digit
      Src: /src/gpac/src/quickjs/libbf.c:2981,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:3065,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3118,1
    - Dst: bf_mul_pow_radix
      Src: /src/gpac/src/quickjs/libbf.c:3115,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 266
    argCount: 8
    argNames:
    - r
    - pexponent
    - str
    - pnext
    - radix
    - prec
    - flags
    - is_dec
    argTypes:
    - bf_t*
    - slimb_t*
    - char*
    - char**
    - int
    - limb_t
    - bf_flags_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 3126
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 3126
    functionName: bf_atof_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_normalize_and_round
    - bf_mul_pow_radix
    - assert
    - bf_set_inf
    - memset
    - bf_set_zero
    - bf_delete
    - bf_resize
    - bf_add_limb
    - bf_init
    - unlikely
    - strcasestart
    - bf_integer_from_radix
    - ceil_log2
    - bf_set
    - bfdec_normalize_and_round
    - to_digit
    linkageType: ''
    returnType: int
    signature: 'static int bf_atof_internal(bf_t *r, slimb_t *pexponent, const char
      *str, const char **pnext, int radix, limb_t prec, bf_flags_t flags, BOOL is_dec) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:3498,1
    - Dst: bf_mul_log2_radix
      Src: /src/gpac/src/quickjs/libbf.c:3505,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3523,1
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:3524,1
    - Dst: bf_mul_log2_radix
      Src: /src/gpac/src/quickjs/libbf.c:3518,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:3527,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:3530,1
    - Dst: bf_can_round
      Src: /src/gpac/src/quickjs/libbf.c:3537,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/libbf.c:3542,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3552,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3555,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3559,1
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:3553,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:3558,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 7
    argNames:
    - r
    - pE
    - a
    - radix
    - P
    - rnd_mode
    - is_fixed_exponent
    argTypes:
    - bf_t*
    - slimb_t*
    - bf_t*
    - int
    - limb_t
    - bf_rnd_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 3567
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3567
    functionName: bf_convert_to_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ceil_log2
    - bf_can_round
    - bf_delete
    - bf_div
    - bf_cmpu
    - bf_mul_log2_radix
    - bf_init
    - bf_pow_ui_ui
    - bf_set
    - bf_mul
    - bf_rint
    linkageType: ''
    returnType: int
    signature: 'static int bf_convert_to_radix(bf_t *r, slimb_t *pE, const bf_t *a,
      int radix, limb_t P, bf_rnd_t rnd_mode, BOOL is_fixed_exponent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4009,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4011,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4016,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4014,1
    - Dst: bf_const_log2_rec
      Src: /src/gpac/src/quickjs/libbf.c:4024,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4025,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4026,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4027,1
    - Dst: bf_const_log2_rec
      Src: /src/gpac/src/quickjs/libbf.c:4028,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4029,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4031,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4033,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4035,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4037,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4030,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4036,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4034,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 6
    argNames:
    - T
    - P
    - Q
    - n1
    - n2
    - need_P
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - limb_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 4039
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4039
    functionName: bf_const_log2_rec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_add
    - bf_delete
    - bf_const_log2_rec
    - bf_init
    - bf_set
    - bf_mul
    linkageType: ''
    returnType: void
    signature: 'static void bf_const_log2_rec(bf_t *T, bf_t *P, bf_t *Q, limb_t n1,
      limb_t n2, BOOL need_P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_sincos
      Src: /src/gpac/src/quickjs/libbf.c:4939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4940
      start: 4937
    functionDepth: 0
    functionLinenumber: 4937
    functionLinenumberEnd: 4940
    functionName: bf_cos_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sincos
    linkageType: ''
    returnType: int
    signature: 'static int bf_cos_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - s
    - size
    - align
    argTypes:
    - bf_context_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7520
      start: 7509
    functionDepth: 0
    functionLinenumber: 7509
    functionLinenumberEnd: 7520
    functionName: bf_aligned_malloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *bf_aligned_malloc(bf_context_t *s, size_t size, size_t
      align) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2253,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2256,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/libbf.c:2254,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:2255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - r
    - a
    - b1
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - int64_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2258
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2258
    functionName: bf_add_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_set_si
    - bf_add
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_add_si(bf_t *r, const bf_t *a, int64_t b1, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/gpac/src/quickjs/libbf.c:4229,1
    - Dst: f
      Src: /src/gpac/src/quickjs/libbf.c:4235,1
    - Dst: __bf_round
      Src: /src/gpac/src/quickjs/libbf.c:4258,1
    - Dst: bf_can_round
      Src: /src/gpac/src/quickjs/libbf.c:4247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - r
    - a
    - prec
    - flags
    - f
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - ZivFunc*
    - void*
    constantsTouched: []
    func_position:
      end: 4259
      start: 4219
    functionDepth: 0
    functionLinenumber: 4219
    functionLinenumberEnd: 4259
    functionName: bf_ziv_rounding
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - f
    - bf_can_round
    - __bf_round
    linkageType: ''
    returnType: int
    signature: 'static int bf_ziv_rounding(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t
      flags, ZivFunc *f, void *opaque) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4946,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4949,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:4964,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4952,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4963,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:4968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4969
      start: 4942
    functionDepth: 0
    functionLinenumber: 4942
    functionLinenumberEnd: 4969
    functionName: bf_cos
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_ziv_rounding
    - bf_add_epsilon
    - bf_set_ui
    linkageType: ''
    returnType: int
    signature: 'int bf_cos(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:7526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - ptr
    argTypes:
    - bf_context_t*
    - void*
    constantsTouched: []
    func_position:
      end: 7527
      start: 7522
    functionDepth: 0
    functionLinenumber: 7522
    functionLinenumberEnd: 7527
    functionName: bf_aligned_free
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_free
    linkageType: ''
    returnType: void
    signature: 'static void bf_aligned_free(bf_context_t *s, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:604,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:610,1
    - Dst: __bf_round
      Src: /src/gpac/src/quickjs/libbf.c:620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - r
    - prec1
    - flags
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 624
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 624
    functionName: bf_normalize_and_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_resize
    - clz
    - __bf_round
    linkageType: ''
    returnType: int
    signature: 'int bf_normalize_and_round(bf_t *r, limb_t prec1, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3466,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3474,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:3467,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3471,1
    - Dst: bf_integer_to_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:3473,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3477,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:3479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - a
    - radixl
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 3481
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3481
    functionName: bf_integer_to_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_integer_to_radix_rec
    - bf_malloc
    - bf_delete
    - bf_init
    - bf_free
    - ceil_log2
    linkageType: ''
    returnType: int
    signature: 'static int bf_integer_to_radix(bf_t *r, const bf_t *a, limb_t radixl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - res
    - op2
    - n
    - carry
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1091
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1091
    functionName: mp_neg
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_neg(limb_t *res, const limb_t *op2, mp_size_t n,
      limb_t carry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_limb_radix
      Src: /src/gpac/src/quickjs/libbf.c:2739,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:2741,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2745,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:2740,1
    - Dst: bf_integer_from_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:2746,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2748,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:2750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - r
    - tab
    - n
    - radix
    argTypes:
    - bf_t*
    - limb_t*
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 2752
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2752
    functionName: bf_integer_from_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_limb_radix
    - bf_integer_from_radix_rec
    - bf_malloc
    - bf_delete
    - bf_init
    - bf_free
    - ceil_log2
    linkageType: ''
    returnType: int
    signature: 'static int bf_integer_from_radix(bf_t *r, const limb_t *tab, limb_t
      n, limb_t radix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:5088,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:5090,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5092,1
    - Dst: bf_set_si
      Src: /src/gpac/src/quickjs/libbf.c:5101,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5103,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:5122,1
    - Dst: bf_const_pi
      Src: /src/gpac/src/quickjs/libbf.c:5127,1
    - Dst: bf_isqrt
      Src: /src/gpac/src/quickjs/libbf.c:5065,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5070,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5083,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5084,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:5089,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:5098,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:5106,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:5109,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5117,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:5129,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:5076,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5074,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5085,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:5104,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:5091,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5102,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:5108,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:5113,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5116,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5073,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5099,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:5105,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:5110,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5115,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:5131,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 5136
      start: 5052
    functionDepth: 0
    functionLinenumber: 5052
    functionLinenumberEnd: 5136
    functionName: bf_atan_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sqrt
    - bf_set_ui
    - bf_add
    - bf_div
    - bf_neg
    - bf_mul_2exp
    - bf_add_si
    - bf_delete
    - bf_const_pi
    - bf_init
    - bf_set
    - bf_mul
    - bf_set_si
    - bf_isqrt
    linkageType: ''
    returnType: int
    signature: 'static int bf_atan_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:5979,1
    - Dst: mp_sqrtrem2
      Src: /src/gpac/src/quickjs/libbf.c:5983,1
    - Dst: divdq_base
      Src: /src/gpac/src/quickjs/libbf.c:5987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - tabs
    - taba
    argTypes:
    - limb_t*
    - limb_t*
    constantsTouched: []
    func_position:
      end: 5991
      start: 5971
    functionDepth: 0
    functionLinenumber: 5971
    functionLinenumberEnd: 5991
    functionName: mp_sqrtrem2_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - divdq_base
    - clz
    - mp_sqrtrem2
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_sqrtrem2_dec(limb_t *tabs, limb_t *taba) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:7863,1
    - Dst: bf_aligned_free
      Src: /src/gpac/src/quickjs/libbf.c:7870,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:7872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - s1
    argTypes:
    - bf_context_t*
    constantsTouched: []
    func_position:
      end: 7876
      start: 7854
    functionDepth: 0
    functionLinenumber: 7854
    functionLinenumberEnd: 7876
    functionName: fft_clear_cache
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_free
    - ntt_free
    - bf_aligned_free
    linkageType: ''
    returnType: void
    signature: 'void fft_clear_cache(bf_context_t *s1) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:7984,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:7988,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:7996,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:7994,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:8001,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:8006,1
    - Dst: mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:8022,1
    - Dst: mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:8025,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:8027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 97
    argCount: 8
    argNames:
    - s
    - tabr
    - fft_len
    - taba
    - a_len
    - dpl
    - first_m_idx
    - nb_mods
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - limb_t
    - limb_t*
    - limb_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8030
      start: 7972
    functionDepth: 0
    functionLinenumber: 7972
    functionLinenumberEnd: 8030
    functionName: limb_to_ntt
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - memset
    - mod_fast
    - bf_min
    - int_to_ntt_limb
    - get_bits
    - printf
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline void limb_to_ntt(BFNTTState *s, NTTLimb *tabr, limb_t
      fft_len, const limb_t *taba, limb_t a_len, int dpl, int first_m_idx, int nb_mods) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tab
    - b
    - n
    argTypes:
    - limb_t*
    - limb_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1108
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1108
    functionName: mp_sub_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_sub_ui(limb_t *tab, limb_t b, mp_size_t n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5146,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:5154,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5159,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:5151,1
    - Dst: bf_const_pi_signed
      Src: /src/gpac/src/quickjs/libbf.c:5150,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5160,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:5161,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5162,1
    - Dst: bf_const_pi_signed
      Src: /src/gpac/src/quickjs/libbf.c:5165,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:5166,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:5176,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5181,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:5177,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:5175,1
    - Dst: sat_add
      Src: /src/gpac/src/quickjs/libbf.c:5174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5182
      start: 5138
    functionDepth: 0
    functionLinenumber: 5138
    functionLinenumberEnd: 5182
    functionName: bf_atan
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_zero
    - bf_set_ui
    - bf_delete
    - bf_ziv_rounding
    - bf_mul_2exp
    - bf_cmpu
    - sat_add
    - bf_init
    - bf_const_pi_signed
    - bf_add_epsilon
    - bf_set
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bf_atan(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:1937,1
    - Dst: mp_sqrtrem1
      Src: /src/gpac/src/quickjs/libbf.c:1938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 1941
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1941
    functionName: bf_isqrt
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - clz
    - mp_sqrtrem1
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t bf_isqrt(limb_t a) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:6958,1
    - Dst: bfdec_add_si
      Src: /src/gpac/src/quickjs/libbf.c:7037,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:7049,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:6959,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6968,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:6971,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:7021,1
    - Dst: get_digit
      Src: /src/gpac/src/quickjs/libbf.c:7032,1
    - Dst: bfdec_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:7027,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:7048,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6965,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6963,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:6960,1
    - Dst: bfdec_tdivremu
      Src: /src/gpac/src/quickjs/libbf.c:7012,1
    - Dst: bfdec_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:7013,1
    - Dst: bfdec_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:7013,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/libbf.c:7024,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:6972,1
    - Dst: bfdec_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:7023,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/libbf.c:7028,1
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/libbf.c:7020,1
    - Dst: bfdec_sub
      Src: /src/gpac/src/quickjs/libbf.c:7038,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:7046,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 88
    argCount: 7
    argNames:
    - q
    - r
    - a
    - b
    - prec
    - flags
    - rnd_mode
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 7051
      start: 6948
    functionDepth: 0
    functionLinenumber: 6948
    functionLinenumberEnd: 7051
    functionName: bfdec_divrem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_mul_si
    - assert
    - bfdec_round
    - bfdec_set_nan
    - bfdec_cmpu
    - bfdec_delete
    - bfdec_sub
    - bfdec_tdivremu
    - bfdec_is_nan
    - bfdec_set_zero
    - bfdec_set
    - get_digit
    - bfdec_add_si
    linkageType: ''
    returnType: int
    signature: 'int bfdec_divrem(bfdec_t *q, bfdec_t *r, const bfdec_t *a, const bfdec_t
      *b, limb_t prec, bf_flags_t flags, int rnd_mode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:1443,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1447,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1448,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1487,1
    - Dst: mp_cmp
      Src: /src/gpac/src/quickjs/libbf.c:1502,1
    - Dst: mp_add_ui
      Src: /src/gpac/src/quickjs/libbf.c:1505,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:1513,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:1439,1
    - Dst: mp_print_str
      Src: /src/gpac/src/quickjs/libbf.c:1440,1
    - Dst: mp_add_ui
      Src: /src/gpac/src/quickjs/libbf.c:1462,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:1464,1
    - Dst: mp_recip
      Src: /src/gpac/src/quickjs/libbf.c:1469,1
    - Dst: mp_mul
      Src: /src/gpac/src/quickjs/libbf.c:1473,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:1493,1
    - Dst: mp_mul
      Src: /src/gpac/src/quickjs/libbf.c:1490,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1518,1
    - Dst: mp_print_str
      Src: /src/gpac/src/quickjs/libbf.c:1441,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1482,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1483,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:1504,1
    - Dst: mp_print_str
      Src: /src/gpac/src/quickjs/libbf.c:1479,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1494,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1519,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 6
    argNames:
    - s
    - tabq
    - taba
    - na
    - tabb
    - nb
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1521
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1521
    functionName: mp_divnorm_large
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_print_str
    - bf_malloc
    - assert
    - memset
    - mp_recip
    - mp_mul
    - mp_sub
    - mp_cmp
    - mp_add_ui
    - bf_free
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int mp_divnorm_large(bf_context_t *s, limb_t *tabq, limb_t
      *taba, limb_t na, const limb_t *tabb, limb_t nb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 78
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1927
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1927
    functionName: mp_sqrtrem1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_sqrtrem1(limb_t *pr, limb_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:2300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - r
    - rnd_mode
    argTypes:
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 2301
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2301
    functionName: bf_rint
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_round
    linkageType: ''
    returnType: int
    signature: 'int bf_rint(bf_t *r, int rnd_mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5308,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5319,1
    - Dst: bf_const_pi
      Src: /src/gpac/src/quickjs/libbf.c:5314,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5311,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:5315,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5320,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:5321,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5322,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5324,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:5327,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5332
      start: 5300
    functionDepth: 0
    functionLinenumber: 5300
    functionLinenumberEnd: 5332
    functionName: bf_acos
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_zero
    - bf_set_ui
    - bf_delete
    - bf_ziv_rounding
    - bf_mul_2exp
    - bf_cmpu
    - bf_const_pi
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_acos(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:5942,1
    - Dst: fast_shr_rem_dec
      Src: /src/gpac/src/quickjs/libbf.c:5946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - tab_r
    - tab
    - n
    - shift
    - high
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5951
      start: 5936
    functionDepth: 0
    functionLinenumber: 5936
    functionLinenumberEnd: 5951
    functionName: mp_shr_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - fast_shr_rem_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_shr_dec(limb_t *tab_r, const limb_t *tab, mp_size_t
      n, limb_t shift, limb_t high) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:6930,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/libbf.c:6935,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:6932,1
    - Dst: bfdec_div
      Src: /src/gpac/src/quickjs/libbf.c:6934,1
    - Dst: bfdec_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:6931,1
    - Dst: bfdec_sub
      Src: /src/gpac/src/quickjs/libbf.c:6936,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - s
    - q
    - r
    - a
    - b
    argTypes:
    - bf_context_t*
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 6938
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6938
    functionName: bfdec_tdivremu
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_cmpu
    - bfdec_div
    - bfdec_sub
    - bfdec_set_ui
    - bfdec_set
    - bfdec_mul
    linkageType: ''
    returnType: void
    signature: 'static void bfdec_tdivremu(bf_context_t *s, bfdec_t *q, bfdec_t *r,
      const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7207,1
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:7210,1
    - Dst: bfdec_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:7209,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/libbf.c:7213,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:7211,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/libbf.c:7215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 7218
      start: 7203
    functionDepth: 0
    functionLinenumber: 7203
    functionLinenumberEnd: 7218
    functionName: bfdec_pow_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bfdec_set_ui
    - bfdec_set
    - clz
    - bfdec_mul
    linkageType: ''
    returnType: int
    signature: 'int bfdec_pow_ui(bfdec_t *r, const bfdec_t *a, limb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - res
    - op1
    - op2
    - n
    - carry
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5582
      start: 5564
    functionDepth: 0
    functionLinenumber: 5564
    functionLinenumberEnd: 5582
    functionName: mp_add_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_add_dec(limb_t *res, const limb_t *op1, const limb_t *op2,
      mp_size_t n, limb_t carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_ftoa_internal
      Src: /src/gpac/src/quickjs/libbf.c:7222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - plen
    - a
    - prec
    - flags
    argTypes:
    - size_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 7223
      start: 7220
    functionDepth: 0
    functionLinenumber: 7220
    functionLinenumberEnd: 7223
    functionName: bfdec_ftoa
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_ftoa_internal
    linkageType: ''
    returnType: char*
    signature: 'char *bfdec_ftoa(size_t *plen, const bfdec_t *a, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:7808,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7810,1
    - Dst: mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:7811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - n
    - c_mul
    - m
    - m_inv
    argTypes:
    - NTTLimb*
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7813
      start: 7802
    functionDepth: 0
    functionLinenumber: 7802
    functionLinenumberEnd: 7813
    functionName: mul_trig
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - init_mul_mod_fast2
    - mul_mod_fast
    - mul_mod_fast2
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline void mul_trig(NTTLimb *buf, limb_t n, limb_t c_mul,
      limb_t m, limb_t m_inv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:6868,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:6881,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:6891,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libbf.c:6886,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6843,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6851,1
    - Dst: bfdec_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:6855,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:6874,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6887,1
    - Dst: mp_div_dec
      Src: /src/gpac/src/quickjs/libbf.c:6889,1
    - Dst: bfdec_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:6840,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6837,1
    - Dst: bfdec_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:6910,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6834,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6848,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:6885,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6914,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6902,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:6899,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6916
      start: 6825
    functionDepth: 0
    functionLinenumber: 6825
    functionLinenumberEnd: 6916
    functionName: __bfdec_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    - bfdec_set_nan
    - memset
    - bfdec_set_inf
    - bfdec_set_zero
    - memcpy
    - bf_free
    - bfdec_resize
    - bfdec_normalize_and_round
    - bf_max
    - mp_div_dec
    linkageType: ''
    returnType: int
    signature: 'static int __bfdec_div(bfdec_t *r, const bfdec_t *a, const bfdec_t
      *b, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __bf_round
      Src: /src/gpac/src/quickjs/libbf.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - r
    - prec
    - flags
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: bf_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - __bf_round
    linkageType: ''
    returnType: int
    signature: 'int bf_round(bf_t *r, limb_t prec, bf_flags_t flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - taba
    - tabb
    - n
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1426
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1426
    functionName: mp_cmp
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mp_cmp(const limb_t *taba, const limb_t *tabb, mp_size_t
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:1852,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:1855,1
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:1854,1
    - Dst: bf_divrem
      Src: /src/gpac/src/quickjs/libbf.c:1853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 7
    argNames:
    - pq
    - r
    - a
    - b
    - prec
    - flags
    - rnd_mode
    argTypes:
    - slimb_t*
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 1857
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1857
    functionName: bf_remquo
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_divrem
    - bf_get_limb
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_remquo(slimb_t *pq, bf_t *r, const bf_t *a, const bf_t *b,
      limb_t prec, bf_flags_t flags, int rnd_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2859
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2859
    functionName: bf_tolower
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bf_tolower(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5013,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5016,1
    - Dst: bf_sincos
      Src: /src/gpac/src/quickjs/libbf.c:5014,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5015,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 5018
      start: 5005
    functionDepth: 0
    functionLinenumber: 5005
    functionLinenumberEnd: 5018
    functionName: bf_tan_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_div
    - bf_sincos
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'static int bf_tan_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6559,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6569,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6575,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6583,1
    - Dst: bfdec_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:6581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - bfdec_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 6585
      start: 6555
    functionDepth: 0
    functionLinenumber: 6555
    functionLinenumberEnd: 6585
    functionName: bfdec_set_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_resize
    - bfdec_normalize_and_round
    - bfdec_set_nan
    linkageType: ''
    returnType: int
    signature: 'int bfdec_set_ui(bfdec_t *r, uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1864
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1864
    functionName: mul_mod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused inline limb_t mul_mod(limb_t a, limb_t b, limb_t
      m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_tolower
      Src: /src/gpac/src/quickjs/libbf.c:2867,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - str
    - val
    - ptr
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 2875
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2875
    functionName: strcasestart
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_tolower
    linkageType: ''
    returnType: int
    signature: 'static int strcasestart(const char *str, const char *val, const char
      **ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:5022,1
    - Dst: sat_add
      Src: /src/gpac/src/quickjs/libbf.c:5040,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:5031,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5028,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5025,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:5041,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:5042,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:5043,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5047,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5048
      start: 5020
    functionDepth: 0
    functionLinenumber: 5020
    functionLinenumberEnd: 5048
    functionName: bf_tan
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - assert
    - bf_set_zero
    - bf_ziv_rounding
    - sat_add
    - bf_add_epsilon
    - bf_set
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bf_tan(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:6591,1
    - Dst: bfdec_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:6594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - bfdec_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 6597
      start: 6587
    functionDepth: 0
    functionLinenumber: 6587
    functionLinenumberEnd: 6597
    functionName: bfdec_set_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_set_ui
    linkageType: ''
    returnType: int
    signature: 'int bfdec_set_si(bfdec_t *r, int64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_atof_internal
      Src: /src/gpac/src/quickjs/libbf.c:7229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - r
    - str
    - pnext
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - char*
    - char**
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 7231
      start: 7225
    functionDepth: 0
    functionLinenumber: 7225
    functionLinenumberEnd: 7231
    functionName: bfdec_atof
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_atof_internal
    linkageType: ''
    returnType: int
    signature: 'int bfdec_atof(bfdec_t *r, const char *str, const char **pnext, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_bit
      Src: /src/gpac/src/quickjs/libbf.c:651,1
    - Dst: get_bit
      Src: /src/gpac/src/quickjs/libbf.c:657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - a
    - prec
    - rnd_mode
    - k
    argTypes:
    - bf_t*
    - slimb_t
    - bf_rnd_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 663
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 663
    functionName: bf_can_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_bit
    linkageType: ''
    returnType: int
    signature: 'int bf_can_round(const bf_t *a, slimb_t prec, bf_rnd_t rnd_mode, slimb_t
      k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:714,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/libbf.c:722,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/libbf.c:720,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:724,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:717,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:726,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:728,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:729,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - str
    - a
    argTypes:
    - char*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 733
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 733
    functionName: bf_print_str
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bf_print_str(const char *str, const bf_t *a) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:2598,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:2613,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:2625,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:2623,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 3
    argNames:
    - pres
    - a
    - flags
    argTypes:
    - int64_t*
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 2633
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2633
    functionName: bf_get_int64
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_limbz
    - get_bits
    linkageType: ''
    returnType: int
    signature: 'int bf_get_int64(int64_t *pres, const bf_t *a, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4134,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4140,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4135,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4139,1
    - Dst: chud_bs
      Src: /src/gpac/src/quickjs/libbf.c:4137,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4141,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4143,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:4144,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4145,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4146,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4148,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - Q
    - prec
    argTypes:
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 4149
      start: 4123
    functionDepth: 0
    functionLinenumber: 4123
    functionLinenumberEnd: 4149
    functionName: bf_const_pi_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sqrt
    - bf_add
    - bf_set_ui
    - chud_bs
    - bf_div
    - bf_delete
    - bf_init
    - bf_mul_ui
    - bf_mul
    linkageType: ''
    returnType: void
    signature: 'static void bf_const_pi_internal(bf_t *Q, limb_t prec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: limb_mask
      Src: /src/gpac/src/quickjs/libbf.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - r
    - bit_pos
    argTypes:
    - bf_t*
    - slimb_t
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: scan_bit_nz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - limb_mask
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t scan_bit_nz(const bf_t *r, slimb_t bit_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:701,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:705,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:702,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:707,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - str
    - tab
    - n
    - high
    argTypes:
    - char*
    - limb_t*
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: mp_print_str_h
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void mp_print_str_h(const char *str, const limb_t
      *tab, limb_t n, limb_t high) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 782
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 782
    functionName: bf_cmp_full
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_cmpu
    linkageType: ''
    returnType: int
    signature: 'int bf_cmp_full(const bf_t *a, const bf_t *b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:2565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - pres
    - a
    - flags
    argTypes:
    - int*
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 2572
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2572
    functionName: bf_get_int32
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_bits
    linkageType: ''
    returnType: int
    signature: 'int bf_get_int32(int *pres, const bf_t *a, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4074,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4078,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4076,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4081,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4091,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4097,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4095,1
    - Dst: chud_bs
      Src: /src/gpac/src/quickjs/libbf.c:4101,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4080,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4086,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4087,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4108,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4113,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4117,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4077,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4082,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4083,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4089,1
    - Dst: chud_bs
      Src: /src/gpac/src/quickjs/libbf.c:4100,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4106,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4109,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4110,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4114,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4075,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4079,1
    - Dst: bf_mul_ui
      Src: /src/gpac/src/quickjs/libbf.c:4088,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4090,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4096,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4111,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 7
    argNames:
    - P
    - Q
    - G
    - a
    - b
    - need_g
    - prec
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - int64_t
    - int64_t
    - int
    - limb_t
    constantsTouched: []
    func_position:
      end: 4119
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4119
    functionName: chud_bs
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_add
    - bf_delete
    - chud_bs
    - bf_init
    - bf_mul_ui
    - bf_mul
    linkageType: ''
    returnType: void
    signature: 'static void chud_bs(bf_t *P, bf_t *Q, bf_t *G, int64_t a, int64_t
      b, int need_g, limb_t prec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_sincos
      Src: /src/gpac/src/quickjs/libbf.c:4973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4974
      start: 4971
    functionDepth: 0
    functionLinenumber: 4971
    functionLinenumberEnd: 4974
    functionName: bf_sin_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sincos
    linkageType: ''
    returnType: int
    signature: 'static int bf_sin_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/libbf.c:6424,1
    - Dst: bfdec_get_rnd_add
      Src: /src/gpac/src/quickjs/libbf.c:6446,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6450,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:6437,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:6434,1
    - Dst: mp_add_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6465,1
    - Dst: mp_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:6468,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:6474,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6481,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:6488,1
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/libbf.c:6496,1
    - Dst: fast_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:6500,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6513,1
    - Dst: smod
      Src: /src/gpac/src/quickjs/libbf.c:6498,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libbf.c:6511,1
    - Dst: bfdec_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:6489,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 105
    argCount: 4
    argNames:
    - r
    - prec1
    - flags
    - l
    argTypes:
    - bfdec_t*
    - limb_t
    - bf_flags_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 6515
      start: 6418
    functionDepth: 0
    functionLinenumber: 6418
    functionLinenumberEnd: 6515
    functionName: __bfdec_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - mp_shr_dec
    - smod
    - bf_get_exp_bits
    - fast_shr_dec
    - memmove
    - floor_div
    - bfdec_set_inf
    - bfdec_set_zero
    - bfdec_get_rnd_add
    - unlikely
    - mp_add_ui_dec
    - bfdec_resize
    linkageType: ''
    returnType: int
    signature: 'static int __bfdec_round(bfdec_t *r, limb_t prec1, bf_flags_t flags,
      limb_t l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_aligned_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - BFNTTState*
    - size_t
    constantsTouched: []
    func_position:
      end: 7532
      start: 7529
    functionDepth: 0
    functionLinenumber: 7529
    functionLinenumberEnd: 7532
    functionName: ntt_malloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_aligned_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *ntt_malloc(BFNTTState *s, size_t size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4980,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4986,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:4996,1
    - Dst: sat_add
      Src: /src/gpac/src/quickjs/libbf.c:4995,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4983,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4997,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:4998,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5003
      start: 4976
    functionDepth: 0
    functionLinenumber: 4976
    functionLinenumberEnd: 5003
    functionName: bf_sin
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_zero
    - bf_ziv_rounding
    - sat_add
    - bf_add_epsilon
    - bf_set
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bf_sin(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - m
    - b_inv
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7451
      start: 7443
    functionDepth: 0
    functionLinenumber: 7443
    functionLinenumberEnd: 7451
    functionName: mul_mod_fast3
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t mul_mod_fast3(limb_t a, limb_t b, limb_t m, limb_t
      b_inv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_aligned_free
      Src: /src/gpac/src/quickjs/libbf.c:7536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ptr
    argTypes:
    - BFNTTState*
    - void*
    constantsTouched: []
    func_position:
      end: 7537
      start: 7534
    functionDepth: 0
    functionLinenumber: 7534
    functionLinenumberEnd: 7537
    functionName: ntt_free
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_aligned_free
    linkageType: ''
    returnType: void
    signature: 'static void ntt_free(BFNTTState *s, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - slimb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7718
      start: 7715
    functionDepth: 0
    functionLinenumber: 7715
    functionLinenumberEnd: 7718
    functionName: int_to_ntt_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: NTTLimb
    signature: 'static inline NTTLimb int_to_ntt_limb(slimb_t a, limb_t m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:8170,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8216,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:8172,1
    - Dst: mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:8186,1
    - Dst: ntt_limb_to_int
      Src: /src/gpac/src/quickjs/libbf.c:8175,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8218,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8220,1
    - Dst: put_bits
      Src: /src/gpac/src/quickjs/libbf.c:8226,1
    - Dst: put_bits
      Src: /src/gpac/src/quickjs/libbf.c:8229,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 138
    argCount: 7
    argNames:
    - s
    - tabr
    - r_len
    - buf
    - fft_len_log2
    - dpl
    - nb_mods
    argTypes:
    - BFNTTState*
    - limb_t*
    - limb_t
    - NTTLimb*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8242
      start: 8145
    functionDepth: 0
    functionLinenumber: 8145
    functionLinenumberEnd: 8242
    functionName: ntt_to_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - memset
    - bf_min
    - put_bits
    - mul_mod_fast2
    - printf
    - ntt_limb_to_int
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline void ntt_to_limb(BFNTTState *s, limb_t *tabr, limb_t
      r_len, const NTTLimb *buf, int fft_len_log2, int dpl, int nb_mods) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: sat_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: slimb_t
    signature: 'static inline slimb_t sat_add(slimb_t a, slimb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - tab
    - n
    argTypes:
    - limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: mp_scan_nz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_scan_nz(const limb_t *tab, mp_size_t n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:748,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:751,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 760
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 760
    functionName: bf_cmpu
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_limbz
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bf_cmpu(const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_mul1
      Src: /src/gpac/src/quickjs/libbf.c:1166,1
    - Dst: mp_add_mul1
      Src: /src/gpac/src/quickjs/libbf.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - result
    - op1
    - op1_size
    - op2
    - op2_size
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    functionName: mp_mul_basecase
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_mul1
    - mp_add_mul1
    linkageType: ''
    returnType: void
    signature: 'static void mp_mul_basecase(limb_t *result, const limb_t *op1, limb_t
      op1_size, const limb_t *op2, limb_t op2_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: scan_digit_nz
      Src: /src/gpac/src/quickjs/libbf.c:6368,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/libbf.c:6405,1
    - Dst: get_digit
      Src: /src/gpac/src/quickjs/libbf.c:6372,1
    - Dst: get_digit
      Src: /src/gpac/src/quickjs/libbf.c:6386,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:6368,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - pret
    - r
    - l
    - prec
    - rnd_mode
    argTypes:
    - int*
    - bfdec_t*
    - limb_t
    - slimb_t
    - int
    constantsTouched: []
    func_position:
      end: 6411
      start: 6357
    functionDepth: 0
    functionLinenumber: 6357
    functionLinenumberEnd: 6411
    functionName: bfdec_get_rnd_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - abort
    - get_digit
    - scan_digit_nz
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bfdec_get_rnd_add(int *pret, const bfdec_t *r, limb_t l,
      slimb_t prec, int rnd_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - m
    - m_inv
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7415
      start: 7409
    functionDepth: 0
    functionLinenumber: 7409
    functionLinenumberEnd: 7415
    functionName: mul_mod_fast
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mod_fast
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t mul_mod_fast(limb_t a, limb_t b, limb_t m, limb_t
      m_inv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_aligned_malloc
      Src: /src/gpac/src/quickjs/libbf.c:8254,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:8260,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:8256,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:8269,1
    - Dst: init_mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:8266,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:8270,1
    - Dst: init_mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:8276,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:8277,1
    - Dst: init_mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:8285,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:8286,1
    - Dst: int_to_ntt_limb2
      Src: /src/gpac/src/quickjs/libbf.c:8295,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:8295,1
    - Dst: init_mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:8298,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - s1
    argTypes:
    - bf_context_t*
    constantsTouched: []
    func_position:
      end: 8305
      start: 8245
    functionDepth: 0
    functionLinenumber: 8245
    functionLinenumberEnd: 8305
    functionName: ntt_static_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    - bf_aligned_malloc
    - memset
    - init_mul_mod_fast2
    - mul_mod_fast
    - int_to_ntt_limb2
    - _mm256_set1_pd
    - init_mul_mod_fast
    linkageType: ''
    returnType: int
    signature: 'static int ntt_static_init(bf_context_t *s1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:677,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - str
    - tab
    - n
    argTypes:
    - char*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 682
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 682
    functionName: dump_limbs
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void dump_limbs(const char *str, const limb_t
      *tab, limb_t n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:799,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 804
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 804
    functionName: bf_cmp
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_cmpu
    linkageType: ''
    returnType: int
    signature: 'int bf_cmp(const bf_t *a, const bf_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:1180,1
    - Dst: mp_mul_basecase
      Src: /src/gpac/src/quickjs/libbf.c:1190,1
    - Dst: fft_mul
      Src: /src/gpac/src/quickjs/libbf.c:1184,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:1180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - s
    - result
    - op1
    - op1_size
    - op2
    - op2_size
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1193
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1193
    functionName: mp_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - unlikely
    - mp_mul_basecase
    - fft_mul
    - bf_min
    linkageType: ''
    returnType: int
    signature: 'int mp_mul(bf_context_t *s, limb_t *result, const limb_t *op1, limb_t
      op1_size, const limb_t *op2, limb_t op2_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4162,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4168,1
    - Dst: bf_can_round
      Src: /src/gpac/src/quickjs/libbf.c:4170,1
    - Dst: func
      Src: /src/gpac/src/quickjs/libbf.c:4163,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:4177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - T
    - prec
    - flags
    - c
    - (*func)
    - sign
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    - BFConstCache*
    - void
    - int
    constantsTouched: []
    func_position:
      end: 4178
      start: 4151
    functionDepth: 0
    functionLinenumber: 4151
    functionLinenumberEnd: 4178
    functionName: bf_const_get
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - func
    - bf_can_round
    - bf_round
    - bf_init
    - bf_set
    linkageType: ''
    returnType: int
    signature: 'static int bf_const_get(bf_t *T, limb_t prec, bf_flags_t flags, BFConstCache
      *c, void (*func)(bf_t *res, limb_t prec), int sign) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_const_pi_signed
      Src: /src/gpac/src/quickjs/libbf.c:4202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - T
    - prec
    - flags
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4203
      start: 4200
    functionDepth: 0
    functionLinenumber: 4200
    functionLinenumberEnd: 4203
    functionName: bf_const_pi
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_const_pi_signed
    linkageType: ''
    returnType: int
    signature: 'int bf_const_pi(bf_t *T, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4830,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4833,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4831,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4834,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4832,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:4835,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:4836,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - r
    - x
    - prec1
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 4838
      start: 4826
    functionDepth: 0
    functionLinenumber: 4826
    functionLinenumberEnd: 4838
    functionName: bf_sqrt_sin
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sqrt
    - bf_add
    - bf_delete
    - bf_mul_2exp
    - bf_neg
    - bf_init
    - bf_set
    - bf_mul
    linkageType: ''
    returnType: void
    signature: 'static void bf_sqrt_sin(bf_t *r, const bf_t *x, limb_t prec1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5245,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:5248,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:5247,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:5246,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:5250,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5251,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:5253,1
    - Dst: bf_atan_internal
      Src: /src/gpac/src/quickjs/libbf.c:5254,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 5257
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5257
    functionName: bf_asin_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_sqrt
    - bf_delete
    - bf_div
    - bf_neg
    - bf_init
    - bf_atan_internal
    - bf_mul
    - bf_add_si
    linkageType: ''
    returnType: int
    signature: 'static int bf_asin_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - tab
    - b
    - n
    argTypes:
    - limb_t*
    - limb_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 5602
      start: 5584
    functionDepth: 0
    functionLinenumber: 5584
    functionLinenumberEnd: 5602
    functionName: mp_add_ui_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_add_ui_dec(limb_t *tab, limb_t b, mp_size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:687,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:693,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:691,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - str
    - tab
    - n
    argTypes:
    - char*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: mp_print_str
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void mp_print_str(const char *str, const limb_t *tab, limb_t n) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mp_print_str
      Src: /src/gpac/src/quickjs/libbf.c:1985,1
    - Dst: mp_print_str_h
      Src: /src/gpac/src/quickjs/libbf.c:1993,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:1999,1
    - Dst: mp_add
      Src: /src/gpac/src/quickjs/libbf.c:2011,1
    - Dst: mp_add_ui
      Src: /src/gpac/src/quickjs/libbf.c:2019,1
    - Dst: mp_print_str_h
      Src: /src/gpac/src/quickjs/libbf.c:2021,1
    - Dst: mp_print_str_h
      Src: /src/gpac/src/quickjs/libbf.c:2015,1
    - Dst: mp_print_str_h
      Src: /src/gpac/src/quickjs/libbf.c:2016,1
    - Dst: mp_mul
      Src: /src/gpac/src/quickjs/libbf.c:2029,1
    - Dst: mp_print_str_h
      Src: /src/gpac/src/quickjs/libbf.c:1994,1
    - Dst: mp_divnorm
      Src: /src/gpac/src/quickjs/libbf.c:2003,1
    - Dst: mp_sub_ui
      Src: /src/gpac/src/quickjs/libbf.c:2035,1
    - Dst: mp_add_mul1
      Src: /src/gpac/src/quickjs/libbf.c:2036,1
    - Dst: mp_sqrtrem2
      Src: /src/gpac/src/quickjs/libbf.c:1981,1
    - Dst: mp_sqrtrem_rec
      Src: /src/gpac/src/quickjs/libbf.c:1989,1
    - Dst: mp_print_str
      Src: /src/gpac/src/quickjs/libbf.c:1992,1
    - Dst: mp_shr
      Src: /src/gpac/src/quickjs/libbf.c:2008,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:2031,1
    - Dst: mp_sub_ui
      Src: /src/gpac/src/quickjs/libbf.c:2033,1
    - Dst: mp_add_ui
      Src: /src/gpac/src/quickjs/libbf.c:2037,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 6
    argNames:
    - s
    - tabs
    - taba
    - n
    - tmp_buf
    - prh
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t*
    constantsTouched: []
    func_position:
      end: 2041
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2041
    functionName: mp_sqrtrem_rec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_print_str
    - mp_shr
    - mp_print_str_h
    - mp_sub
    - mp_sqrtrem2
    - mp_mul
    - mp_add_mul1
    - mp_add_ui
    - mp_sqrtrem_rec
    - mp_sub_ui
    - mp_divnorm
    - mp_add
    linkageType: ''
    returnType: int
    signature: 'static int mp_sqrtrem_rec(bf_context_t *s, limb_t *tabs, limb_t *taba,
      limb_t n, limb_t *tmp_buf, limb_t *prh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4182,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:4183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - BFConstCache*
    constantsTouched: []
    func_position:
      end: 4184
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4184
    functionName: bf_const_free
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void bf_const_free(BFConstCache *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fft_clear_cache
      Src: /src/gpac/src/quickjs/libbf.c:4208,1
    - Dst: bf_const_free
      Src: /src/gpac/src/quickjs/libbf.c:4210,1
    - Dst: bf_const_free
      Src: /src/gpac/src/quickjs/libbf.c:4211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bf_context_t*
    constantsTouched: []
    func_position:
      end: 4212
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4212
    functionName: bf_clear_cache
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - fft_clear_cache
    - bf_const_free
    linkageType: ''
    returnType: void
    signature: 'void bf_clear_cache(bf_context_t *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5267,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5270,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5278,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5277,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:5273,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:5279,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5280,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5282,1
    - Dst: sat_add
      Src: /src/gpac/src/quickjs/libbf.c:5290,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:5291,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:5292,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5297,1
    - Dst: bf_add_epsilon
      Src: /src/gpac/src/quickjs/libbf.c:5293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5298
      start: 5259
    functionDepth: 0
    functionLinenumber: 5259
    functionLinenumberEnd: 5298
    functionName: bf_asin
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_zero
    - bf_set_ui
    - bf_delete
    - bf_ziv_rounding
    - bf_cmpu
    - sat_add
    - bf_init
    - bf_add_epsilon
    - bf_set
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'int bf_asin(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - res
    - op1
    - op2
    - n
    - carry
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5621
      start: 5604
    functionDepth: 0
    functionLinenumber: 5604
    functionLinenumberEnd: 5621
    functionName: mp_sub_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_sub_dec(limb_t *res, const limb_t *op1, const limb_t *op2,
      mp_size_t n, limb_t carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - b
    - m
    argTypes:
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7456
      start: 7453
    functionDepth: 0
    functionLinenumber: 7453
    functionLinenumberEnd: 7456
    functionName: init_mul_mod_fast2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t init_mul_mod_fast2(limb_t b, limb_t m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:7949,1
    - Dst: ntt_fft_partial
      Src: /src/gpac/src/quickjs/libbf.c:7957,1
    - Dst: ntt_conv
      Src: /src/gpac/src/quickjs/libbf.c:7963,1
    - Dst: ntt_vec_mul
      Src: /src/gpac/src/quickjs/libbf.c:7960,1
    - Dst: ntt_fft_partial
      Src: /src/gpac/src/quickjs/libbf.c:7955,1
    - Dst: ntt_fft_partial
      Src: /src/gpac/src/quickjs/libbf.c:7966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - s
    - buf1
    - buf2
    - k
    - k_tot
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - NTTLimb*
    - int
    - int
    - limb_t
    constantsTouched: []
    func_position:
      end: 7969
      start: 7939
    functionDepth: 0
    functionLinenumber: 7939
    functionLinenumberEnd: 7969
    functionName: ntt_conv
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ntt_fft_partial
    - bf_min
    - ntt_vec_mul
    - ntt_conv
    linkageType: ''
    returnType: int
    signature: 'static int ntt_conv(BFNTTState *s, NTTLimb *buf1, NTTLimb *buf2, int
      k, int k_tot, limb_t m_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_sqrtrem1
      Src: /src/gpac/src/quickjs/libbf.c:1951,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:1958,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - tabs
    - taba
    argTypes:
    - limb_t*
    - limb_t*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1969
    functionName: mp_sqrtrem2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_sqrtrem1
    - unlikely
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_sqrtrem2(limb_t *tabs, limb_t *taba) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_udiv
      Src: /src/gpac/src/quickjs/libbf.c:5558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 5559
      start: 5556
    functionDepth: 0
    functionLinenumber: 5556
    functionLinenumberEnd: 5559
    functionName: fast_shr_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - fast_udiv
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t fast_shr_dec(limb_t a, int shift) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:5750,1
    - Dst: udiv1norm_init
      Src: /src/gpac/src/quickjs/libbf.c:5754,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5757,1
    - Dst: udiv1norm
      Src: /src/gpac/src/quickjs/libbf.c:5758,1
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5756,1
    - Dst: udiv1norm_init
      Src: /src/gpac/src/quickjs/libbf.c:5764,1
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5766,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5767,1
    - Dst: udiv1norm
      Src: /src/gpac/src/quickjs/libbf.c:5770,1
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5777,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5778,1
    - Dst: divdq
      Src: /src/gpac/src/quickjs/libbf.c:5779,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 5
    argNames:
    - tabr
    - taba
    - na
    - b
    - r
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5784
      start: 5723
    functionDepth: 0
    functionLinenumber: 5723
    functionLinenumberEnd: 5784
    functionName: mp_div1_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - muldq
    - adddq
    - divdq
    - udiv1norm_init
    - clz
    - udiv1norm
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_div1_dec(limb_t *tabr, const limb_t *taba, mp_size_t na,
      limb_t b, limb_t r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tab
    - len
    - pos
    argTypes:
    - limb_t*
    - limb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: get_bit
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t get_bit(const limb_t *tab, limb_t len, slimb_t
      pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:2220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2221
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2221
    functionName: bf_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bf_div(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:5193,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:5204,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:5206,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:5198,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:5201,1
    - Dst: bf_atan
      Src: /src/gpac/src/quickjs/libbf.c:5208,1
    - Dst: bf_const_pi
      Src: /src/gpac/src/quickjs/libbf.c:5212,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:5214,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:5218,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - r
    - y
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 5220
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5220
    functionName: bf_atan2_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_set_zero
    - bf_set_ui
    - bf_atan
    - bf_div
    - bf_add
    - bf_delete
    - bf_const_pi
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'static int bf_atan2_internal(bf_t *r, const bf_t *y, limb_t prec,
      void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - low
    - high
    - shift
    argTypes:
    - limb_t
    - limb_t
    - long
    constantsTouched: []
    func_position:
      end: 5399
      start: 5394
    functionDepth: 0
    functionLinenumber: 5394
    functionLinenumberEnd: 5399
    functionName: shrd
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static inline __maybe_unused limb_t shrd(limb_t low, limb_t high,
      long shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5651,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5652,1
    - Dst: divdq_base
      Src: /src/gpac/src/quickjs/libbf.c:5653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - tabr
    - taba
    - n
    - b
    - l
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5657
      start: 5644
    functionDepth: 0
    functionLinenumber: 5644
    functionLinenumberEnd: 5657
    functionName: mp_mul1_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - divdq_base
    - adddq
    - muldq
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_mul1_dec(limb_t *tabr, const limb_t *taba, mp_size_t n,
      limb_t b, limb_t l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5713,1
    - Dst: mp_add_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - result
    - op1
    - op1_size
    - op2
    - op2_size
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 5719
      start: 5706
    functionDepth: 0
    functionLinenumber: 5706
    functionLinenumberEnd: 5719
    functionName: mp_mul_basecase_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_mul1_dec
    - mp_add_mul1_dec
    linkageType: ''
    returnType: void
    signature: 'void mp_mul_basecase_dec(limb_t *result, const limb_t *op1, mp_size_t
      op1_size, const limb_t *op2, mp_size_t op2_size) '
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:6086,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 103
    argCount: 1
    argNames:
    - a
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 6266
      start: 6082
    functionDepth: 0
    functionLinenumber: 6082
    functionLinenumberEnd: 6266
    functionName: clz_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - clz
    linkageType: ''
    returnType: int
    signature: 'static int clz_dec(limb_t a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - start
    - last
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: limb_mask
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t limb_mask(int start, int last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2228,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2229,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2230,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - r
    - a
    - b1
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - uint64_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2233
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2233
    functionName: bf_mul_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_mul
    - bf_delete
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_mul_ui(bf_t *r, const bf_t *a, uint64_t b1, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:5225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - y
    - x
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 5226
      start: 5222
    functionDepth: 0
    functionLinenumber: 5222
    functionLinenumberEnd: 5226
    functionName: bf_atan2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_ziv_rounding
    linkageType: ''
    returnType: int
    signature: 'int bf_atan2(bf_t *r, const bf_t *y, const bf_t *x, limb_t prec, bf_flags_t
      flags) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5840,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5841,1
    - Dst: mp_sub_dec
      Src: /src/gpac/src/quickjs/libbf.c:5861,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:5878,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5889,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5922,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5923,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:5930,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/libbf.c:5866,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:5869,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:5846,1
    - Dst: mp_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5873,1
    - Dst: mp_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5874,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5879,1
    - Dst: mp_sub_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5894,1
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5888,1
    - Dst: divdq
      Src: /src/gpac/src/quickjs/libbf.c:5890,1
    - Dst: mp_div1_dec
      Src: /src/gpac/src/quickjs/libbf.c:5928,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:5929,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:5880,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:5884,1
    - Dst: mp_add_dec
      Src: /src/gpac/src/quickjs/libbf.c:5909,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 102
    argCount: 6
    argNames:
    - s
    - tabq
    - taba
    - na
    - tabb1
    - nb
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 5933
      start: 5830
    functionDepth: 0
    functionLinenumber: 5830
    functionLinenumberEnd: 5933
    functionName: mp_div_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_sub_dec
    - bf_malloc
    - assert
    - mp_add_dec
    - muldq
    - mp_print_str_dec
    - likely
    - adddq
    - mp_mul1_dec
    - unlikely
    - divdq
    - bf_free
    - mp_sub_mul1_dec
    - mp_div1_dec
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int mp_div_dec(bf_context_t *s, limb_t *tabq, limb_t *taba,
      mp_size_t na, const limb_t *tabb1, mp_size_t nb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - buf
    - n
    - radix_bits
    - len
    argTypes:
    - char*
    - limb_t
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3609
      start: 3594
    functionDepth: 0
    functionLinenumber: 3594
    functionLinenumberEnd: 3609
    functionName: limb_to_a2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void limb_to_a2(char *buf, limb_t n, unsigned int radix_bits,
      int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tab
    - b
    - n
    argTypes:
    - limb_t*
    - limb_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 5641
      start: 5623
    functionDepth: 0
    functionLinenumber: 5623
    functionLinenumberEnd: 5641
    functionName: mp_sub_ui_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_sub_ui_dec(limb_t *tab, limb_t b, mp_size_t n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libbf.c:6068,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:6077,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:6071,1
    - Dst: mp_sqrtrem_rec_dec
      Src: /src/gpac/src/quickjs/libbf.c:6075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - s
    - tabs
    - taba
    - n
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 6079
      start: 6062
    functionDepth: 0
    functionLinenumber: 6062
    functionLinenumberEnd: 6079
    functionName: mp_sqrtrem_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_sqrtrem_rec_dec
    - bf_malloc
    - countof
    - bf_free
    linkageType: ''
    returnType: int
    signature: 'int mp_sqrtrem_dec(bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t
      n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_trig
      Src: /src/gpac/src/quickjs/libbf.c:7741,1
    - Dst: add_mod
      Src: /src/gpac/src/quickjs/libbf.c:7771,1
    - Dst: sub_mod
      Src: /src/gpac/src/quickjs/libbf.c:7772,1
    - Dst: mul_mod_fast3
      Src: /src/gpac/src/quickjs/libbf.c:7753,1
    - Dst: add_mod
      Src: /src/gpac/src/quickjs/libbf.c:7751,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 7
    argNames:
    - s
    - out_buf
    - in_buf
    - tmp_buf
    - fft_len_log2
    - inverse
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - NTTLimb*
    - NTTLimb*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7777
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7777
    functionName: ntt_fft
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - add_mod
    - sub_mod
    - get_trig
    - mul_mod_fast3
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int ntt_fft(BFNTTState *s, NTTLimb *out_buf, NTTLimb
      *in_buf, NTTLimb *tmp_buf, int fft_len_log2, int inverse, int m_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - n
    - radix
    - len
    argTypes:
    - char*
    - limb_t
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3591
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3591
    functionName: limb_to_a
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void limb_to_a(char *buf, limb_t n, unsigned int radix, int
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5690,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5691,1
    - Dst: divdq_base
      Src: /src/gpac/src/quickjs/libbf.c:5692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - tabr
    - taba
    - n
    - b
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5703
      start: 5680
    functionDepth: 0
    functionLinenumber: 5680
    functionLinenumberEnd: 5703
    functionName: mp_sub_mul1_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - divdq_base
    - adddq
    - muldq
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_sub_mul1_dec(limb_t *tabr, const limb_t *taba, mp_size_t
      n, limb_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:6736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6738
      start: 6733
    functionDepth: 0
    functionLinenumber: 6733
    functionLinenumberEnd: 6738
    functionName: bfdec_sub
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bfdec_sub(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:7068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - r
    - rnd_mode
    argTypes:
    - bfdec_t*
    - int
    constantsTouched: []
    func_position:
      end: 7069
      start: 7066
    functionDepth: 0
    functionLinenumber: 7066
    functionLinenumberEnd: 7069
    functionName: bfdec_rint
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_round
    linkageType: ''
    returnType: int
    signature: 'int bfdec_rint(bfdec_t *r, int rnd_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - s
    - realloc_func
    - realloc_opaque
    argTypes:
    - bf_context_t*
    - bf_realloc_func_t*
    - void*
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: bf_context_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void bf_context_init(bf_context_t *s, bf_realloc_func_t *realloc_func,
      void *realloc_opaque) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6754,1
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/libbf.c:6780,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6766,1
    - Dst: bfdec_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:6762,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6759,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6784,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6785,1
    - Dst: mp_mul_basecase_dec
      Src: /src/gpac/src/quickjs/libbf.c:6789,1
    - Dst: bfdec_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:6792,1
    - Dst: bfdec_move
      Src: /src/gpac/src/quickjs/libbf.c:6795,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6798
      start: 6740
    functionDepth: 0
    functionLinenumber: 6740
    functionLinenumberEnd: 6798
    functionName: bfdec_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_set_nan
    - bfdec_set_inf
    - bfdec_set_zero
    - mp_mul_basecase_dec
    - bfdec_resize
    - bfdec_normalize_and_round
    - bfdec_move
    linkageType: ''
    returnType: int
    signature: 'int bfdec_mul(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7677,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7683,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7682,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7679,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7680,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7684,1
    - Dst: _mm256_setr_pd
      Src: /src/gpac/src/quickjs/libbf.c:7685,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7685,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7686,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7686,1
    - Dst: _mm256_set1_pd
      Src: /src/gpac/src/quickjs/libbf.c:7687,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7687,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7690,1
    - Dst: _mm256_store_pd
      Src: /src/gpac/src/quickjs/libbf.c:7691,1
    - Dst: _mm256_load_pd
      Src: /src/gpac/src/quickjs/libbf.c:7689,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:7692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - buf
    - n
    - c1
    - m
    - m_inv1
    argTypes:
    - NTTLimb*
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7694
      start: 7672
    functionDepth: 0
    functionLinenumber: 7672
    functionLinenumberEnd: 7694
    functionName: mul_trig
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - int_to_ntt_limb
    - mul_mod_fast
    - _mm256_setr_pd
    - _mm256_store_pd
    - _mm256_set1_pd
    - _mm256_load_pd
    - ntt_mul_mod
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline void mul_trig(NTTLimb *buf, limb_t n, limb_t c1,
      limb_t m, limb_t m_inv1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: floor_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: slimb_t
    signature: 'static inline slimb_t floor_div(slimb_t a, slimb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:1640,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:1644,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:1642,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:1644,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:1641,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/libbf.c:1645,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:1646,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/libbf.c:1647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - q
    - r
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1649
    functionName: bf_tdivremu
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_div
    - bf_cmpu
    - bf_sub
    - bf_set
    - bf_mul
    - bf_rint
    - bf_max
    linkageType: ''
    returnType: void
    signature: 'static void bf_tdivremu(bf_t *q, bf_t *r, const bf_t *a, const bf_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_logic_op
      Src: /src/gpac/src/quickjs/libbf.c:2422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: bf_logic_and
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_logic_op
    linkageType: ''
    returnType: int
    signature: 'int bf_logic_and(bf_t *r, const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5669,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5670,1
    - Dst: divdq_base
      Src: /src/gpac/src/quickjs/libbf.c:5672,1
    - Dst: adddq
      Src: /src/gpac/src/quickjs/libbf.c:5671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - tabr
    - taba
    - n
    - b
    argTypes:
    - limb_t*
    - limb_t*
    - mp_size_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 5676
      start: 5661
    functionDepth: 0
    functionLinenumber: 5661
    functionLinenumberEnd: 5676
    functionName: mp_add_mul1_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - divdq_base
    - adddq
    - muldq
    linkageType: ''
    returnType: limb_t
    signature: 'limb_t mp_add_mul1_dec(limb_t *tabr, const limb_t *taba, mp_size_t
      n, limb_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/libbf.c:7059,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/libbf.c:7061,1
    - Dst: bfdec_divrem
      Src: /src/gpac/src/quickjs/libbf.c:7060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 6
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    - rnd_mode
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 7063
      start: 7053
    functionDepth: 0
    functionLinenumber: 7053
    functionLinenumberEnd: 7063
    functionName: bfdec_rem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_divrem
    - bfdec_delete
    linkageType: ''
    returnType: int
    signature: 'int bfdec_rem(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t
      prec, bf_flags_t flags, int rnd_mode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:2130,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2138,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2143,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:2153,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2134,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:2155,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:2158,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:2159,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libbf.c:2160,1
    - Dst: mp_shr
      Src: /src/gpac/src/quickjs/libbf.c:2162,1
    - Dst: mp_sqrtrem
      Src: /src/gpac/src/quickjs/libbf.c:2166,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:2171,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:2173,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:2167,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:2181,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2185,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:2175,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2187
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2187
    functionName: bf_sqrt
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - mp_shr
    - bf_malloc
    - assert
    - memset
    - bf_resize
    - bf_min
    - bf_round
    - mp_sqrtrem
    - memcpy
    - bf_set
    - bf_free
    - mp_scan_nz
    linkageType: ''
    returnType: int
    signature: 'int bf_sqrt(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clz64
      Src: /src/gpac/src/quickjs/libbf.c:99,1
    - Dst: clz32
      Src: /src/gpac/src/quickjs/libbf.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: clz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - clz64
    - clz32
    linkageType: ''
    returnType: int
    signature: 'static inline int clz(limb_t a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: ceil_div
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: slimb_t
    signature: 'static inline slimb_t ceil_div(slimb_t a, slimb_t b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tab
    - len
    - pos
    argTypes:
    - limb_t*
    - limb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 338
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 338
    functionName: get_bits
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t get_bits(const limb_t *tab, limb_t len, slimb_t
      pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctz
      Src: /src/gpac/src/quickjs/libbf.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1633
    functionName: bf_get_exp_min
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ctz
    linkageType: ''
    returnType: slimb_t
    signature: 'slimb_t bf_get_exp_min(const bf_t *a) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3718,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3730,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3767,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3760,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3758,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:3789,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:3810,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:3831,1
    - Dst: smod
      Src: /src/gpac/src/quickjs/libbf.c:3839,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:3840,1
    - Dst: bf_convert_to_radix
      Src: /src/gpac/src/quickjs/libbf.c:3916,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3927,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3980,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libbf.c:3981,1
    - Dst: ceil_div
      Src: /src/gpac/src/quickjs/libbf.c:3859,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3964,1
    - Dst: bf_mul_pow_radix
      Src: /src/gpac/src/quickjs/libbf.c:3898,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3710,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3727,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:3737,1
    - Dst: bf_convert_to_radix
      Src: /src/gpac/src/quickjs/libbf.c:3792,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libbf.c:3803,1
    - Dst: get_digit
      Src: /src/gpac/src/quickjs/libbf.c:3822,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:3875,1
    - Dst: bf_mul_log2_radix
      Src: /src/gpac/src/quickjs/libbf.c:3876,1
    - Dst: bf_convert_to_radix
      Src: /src/gpac/src/quickjs/libbf.c:3892,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3894,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:3906,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3968,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3943,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:3987,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3933,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3903,1
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/libbf.c:3708,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3713,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:3743,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3751,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3769,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3753,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3749,1
    - Dst: smod
      Src: /src/gpac/src/quickjs/libbf.c:3849,1
    - Dst: ceil_div
      Src: /src/gpac/src/quickjs/libbf.c:3850,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3889,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/libbf.c:3949,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3970,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3977,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3912,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3716,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:3733,1
    - Dst: ceil_div
      Src: /src/gpac/src/quickjs/libbf.c:3745,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3756,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3772,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3775,1
    - Dst: bf_mul_log2_radix
      Src: /src/gpac/src/quickjs/libbf.c:3789,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3796,1
    - Dst: bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:3815,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:3854,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3935,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3919,1
    - Dst: output_digits
      Src: /src/gpac/src/quickjs/libbf.c:3972,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3960,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/libbf.c:3931,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3962,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/libbf.c:3955,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 291
    argCount: 6
    argNames:
    - plen
    - a2
    - radix
    - prec
    - flags
    - is_dec
    argTypes:
    - size_t*
    - bf_t*
    - int
    - limb_t
    - bf_flags_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 3991
      start: 3699
    functionDepth: 0
    functionLinenumber: 3699
    functionLinenumberEnd: 3991
    functionName: bf_ftoa_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_round
    - bf_cmpu
    - bf_init
    - ceil_log2
    - output_digits
    - dbuf_error
    - memmove
    - ceil_div
    - bf_convert_to_radix
    - dbuf_putc
    - smod
    - assert
    - bf_delete
    - bf_round
    - bf_mul_log2_radix
    - bf_set
    - bf_free
    - dbuf_putstr
    - bf_max
    - dbuf_printf
    - dbuf_init2
    - bf_mul_pow_radix
    - get_digit
    - get_bits
    linkageType: ''
    returnType: char*
    signature: 'static char *bf_ftoa_internal(size_t *plen, const bf_t *a2, int radix,
      limb_t prec, bf_flags_t flags, BOOL is_dec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4325,1
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:4300,1
    - Dst: bf_isqrt
      Src: /src/gpac/src/quickjs/libbf.c:4303,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/libbf.c:4313,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4331,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4326,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4329,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4343,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4290,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/libbf.c:4298,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/libbf.c:4311,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4316,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4328,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4335,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4333,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4285,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4299,1
    - Dst: bf_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:4312,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4339,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4346
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4346
    functionName: bf_exp_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bf_set_ui
    - bf_const_log2
    - bf_div
    - bf_mul_2exp
    - bf_delete
    - bf_get_limb
    - bf_add_si
    - bf_init
    - bf_sub
    - bf_mul_si
    - bf_mul
    - bf_isqrt
    linkageType: ''
    returnType: int
    signature: 'static int bf_exp_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4440,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4449,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4450,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4500,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4508,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4510,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4513,1
    - Dst: bf_const_log2
      Src: /src/gpac/src/quickjs/libbf.c:4521,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4525,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4438,1
    - Dst: bf_cmp_lt
      Src: /src/gpac/src/quickjs/libbf.c:4452,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4456,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4469,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:4480,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4488,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4482,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4499,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4502,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4504,1
    - Dst: bf_isqrt
      Src: /src/gpac/src/quickjs/libbf.c:4463,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4470,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4496,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4489,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4474,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4509,1
    - Dst: bf_mul_2exp
      Src: /src/gpac/src/quickjs/libbf.c:4518,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:4445,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4479,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:4481,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4497,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4503,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4505,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4506,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4511,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4514,1
    - Dst: bf_mul_si
      Src: /src/gpac/src/quickjs/libbf.c:4522,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4523,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4527
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4527
    functionName: bf_log_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bf_sqrt
    - bf_set_ui
    - bf_delete
    - bf_div
    - bf_add
    - bf_cmp_lt
    - bf_add_si
    - bf_mul_2exp
    - bf_const_log2
    - bf_init
    - bf_mul_si
    - bf_set
    - bf_mul
    - bf_isqrt
    linkageType: ''
    returnType: int
    signature: 'static int bf_log_internal(bf_t *r, const bf_t *a, limb_t prec, void
      *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2196,1
    - Dst: func
      Src: /src/gpac/src/quickjs/libbf.c:2197,1
    - Dst: func
      Src: /src/gpac/src/quickjs/libbf.c:2200,1
    - Dst: bf_move
      Src: /src/gpac/src/quickjs/libbf.c:2198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    - func
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - bf_op2_func_t*
    constantsTouched: []
    func_position:
      end: 2203
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2203
    functionName: bf_op2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_move
    - func
    - bf_init
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int bf_op2(bf_t *r, const bf_t *a, const bf_t *b,
      limb_t prec, bf_flags_t flags, bf_op2_func_t *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_ftoa_internal
      Src: /src/gpac/src/quickjs/libbf.c:3996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - plen
    - a
    - radix
    - prec
    - flags
    argTypes:
    - size_t*
    - bf_t*
    - int
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 3997
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 3997
    functionName: bf_ftoa
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_ftoa_internal
    linkageType: ''
    returnType: char*
    signature: 'char *bf_ftoa(size_t *plen, const bf_t *a, int radix, limb_t prec,
      bf_flags_t flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:4534,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4537,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:4548,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4541,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:4544,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4553,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4556,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4557,1
    - Dst: bf_cmp_eq
      Src: /src/gpac/src/quickjs/libbf.c:4558,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:4559,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4560,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4563,1
    - Dst: bf_ziv_rounding
      Src: /src/gpac/src/quickjs/libbf.c:4565,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - r
    - a
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 4566
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4566
    functionName: bf_log
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - assert
    - bf_set_inf
    - bf_cmp_eq
    - bf_set_zero
    - bf_set_ui
    - bf_delete
    - bf_ziv_rounding
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'int bf_log(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_op2
      Src: /src/gpac/src/quickjs/libbf.c:6729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6731
      start: 6726
    functionDepth: 0
    functionLinenumber: 6726
    functionLinenumberEnd: 6731
    functionName: bfdec_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_op2
    linkageType: ''
    returnType: int
    signature: 'int bfdec_add(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - idx
    argTypes:
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: get_limbz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t get_limbz(const bf_t *a, limb_t idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2763,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2765,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2776,1
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:2779,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:2766,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:2781,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2783,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:2791,1
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:2792,1
    - Dst: bf_is_finite
      Src: /src/gpac/src/quickjs/libbf.c:2793,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:2797,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2799,1
    - Dst: bf_can_round
      Src: /src/gpac/src/quickjs/libbf.c:2803,1
    - Dst: bf_round
      Src: /src/gpac/src/quickjs/libbf.c:2810,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2815,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 6
    argNames:
    - r
    - T
    - radix
    - expn
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - slimb_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2817
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2817
    functionName: bf_mul_pow_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ceil_log2
    - bf_can_round
    - bf_delete
    - bf_div
    - bf_round
    - bf_init
    - bf_pow_ui_ui
    - bf_is_finite
    - bf_set
    - bf_mul
    linkageType: ''
    returnType: int
    signature: 'int bf_mul_pow_radix(bf_t *r, const bf_t *T, limb_t radix, slimb_t
      expn, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4268,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4269,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4273,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:4272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - r
    - a
    - e
    - e_sign
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - slimb_t
    - int
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 4275
      start: 4262
    functionDepth: 0
    functionLinenumber: 4262
    functionLinenumberEnd: 4275
    functionName: bf_add_epsilon
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_delete
    - bf_add
    - bf_init
    linkageType: ''
    returnType: int
    signature: 'static int bf_add_epsilon(bf_t *r, const bf_t *a, slimb_t e, int e_sign,
      limb_t prec, int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mp_sqrtrem2_dec
      Src: /src/gpac/src/quickjs/libbf.c:6002,1
    - Dst: mp_add_mul1_dec
      Src: /src/gpac/src/quickjs/libbf.c:6052,1
    - Dst: mp_print_str_h_dec
      Src: /src/gpac/src/quickjs/libbf.c:6011,1
    - Dst: mp_sub_dec
      Src: /src/gpac/src/quickjs/libbf.c:6017,1
    - Dst: mp_print_str_h_dec
      Src: /src/gpac/src/quickjs/libbf.c:6032,1
    - Dst: mp_add_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6036,1
    - Dst: mp_add_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6053,1
    - Dst: mp_sqrtrem_rec_dec
      Src: /src/gpac/src/quickjs/libbf.c:6008,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:6010,1
    - Dst: mp_div_dec
      Src: /src/gpac/src/quickjs/libbf.c:6021,1
    - Dst: mp_div1_dec
      Src: /src/gpac/src/quickjs/libbf.c:6025,1
    - Dst: mp_print_str_h_dec
      Src: /src/gpac/src/quickjs/libbf.c:6033,1
    - Dst: mp_mul_basecase_dec
      Src: /src/gpac/src/quickjs/libbf.c:6046,1
    - Dst: mp_sub_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6051,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:6038,1
    - Dst: mp_print_str_dec
      Src: /src/gpac/src/quickjs/libbf.c:6004,1
    - Dst: mp_print_str_h_dec
      Src: /src/gpac/src/quickjs/libbf.c:6012,1
    - Dst: mp_add_dec
      Src: /src/gpac/src/quickjs/libbf.c:6028,1
    - Dst: mp_sub_dec
      Src: /src/gpac/src/quickjs/libbf.c:6047,1
    - Dst: mp_sub_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 74
    argCount: 4
    argNames:
    - tabs
    - taba
    - n
    - tmp_buf
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    constantsTouched: []
    func_position:
      end: 6056
      start: 5996
    functionDepth: 0
    functionLinenumber: 5996
    functionLinenumberEnd: 6056
    functionName: mp_sqrtrem_rec_dec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_sqrtrem_rec_dec
    - mp_sub_dec
    - mp_add_dec
    - mp_sub_ui_dec
    - mp_print_str_dec
    - mp_sqrtrem2_dec
    - mp_add_mul1_dec
    - mp_add_ui_dec
    - mp_mul_basecase_dec
    - mp_div1_dec
    - mp_print_str_h_dec
    - mp_div_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_sqrtrem_rec_dec(limb_t *tabs, limb_t *taba, limb_t
      n, limb_t *tmp_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - r
    - is_neg
    argTypes:
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: bf_set_zero
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_resize
    linkageType: ''
    returnType: void
    signature: 'void bf_set_zero(bf_t *r, int is_neg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_exp_bits
      Src: /src/gpac/src/quickjs/libbf.c:491,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:516,1
    - Dst: bf_get_rnd_add
      Src: /src/gpac/src/quickjs/libbf.c:512,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:501,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:504,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:552,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:560,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:566,1
    - Dst: bf_set_overflow
      Src: /src/gpac/src/quickjs/libbf.c:567,1
    - Dst: limb_mask
      Src: /src/gpac/src/quickjs/libbf.c:575,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:586,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libbf.c:584,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 117
    argCount: 5
    argNames:
    - r
    - prec1
    - flags
    - l
    - ret
    argTypes:
    - bf_t*
    - limb_t
    - bf_flags_t
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 588
    functionName: __bf_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bf_set_zero
    - bf_get_rnd_add
    - bf_get_exp_bits
    - bf_resize
    - bf_set_overflow
    - unlikely
    - limb_mask
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int __bf_round(bf_t *r, limb_t prec1, bf_flags_t flags, limb_t
      l, int ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - a1
    - a0
    - shift
    argTypes:
    - limb_t
    - limb_t
    - long
    constantsTouched: []
    func_position:
      end: 5407
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5407
    functionName: shld
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static inline __maybe_unused limb_t shld(limb_t a1, limb_t a0, long
      shift) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fast_shr_rem_dec
      Src: /src/gpac/src/quickjs/libbf.c:6304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - r
    - bit_pos
    argTypes:
    - bfdec_t*
    - slimb_t
    constantsTouched: []
    func_position:
      end: 6315
      start: 6294
    functionDepth: 0
    functionLinenumber: 6294
    functionLinenumberEnd: 6315
    functionName: scan_digit_nz
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - fast_shr_rem_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t scan_digit_nz(const bfdec_t *r, slimb_t bit_pos) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_set
      Src: /src/gpac/src/quickjs/libbf.c:6636,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:6652,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:6696,1
    - Dst: mp_add_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6690,1
    - Dst: bfdec_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:6607,1
    - Dst: bfdec_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:6618,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6625,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6653,1
    - Dst: mp_sub_dec
      Src: /src/gpac/src/quickjs/libbf.c:6679,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:6704,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:6670,1
    - Dst: bfdec_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:6706,1
    - Dst: mp_sub_ui_dec
      Src: /src/gpac/src/quickjs/libbf.c:6682,1
    - Dst: bfdec_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:6632,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6629,1
    - Dst: mp_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:6673,1
    - Dst: mp_add_dec
      Src: /src/gpac/src/quickjs/libbf.c:6687,1
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6694,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:6684,1
    - Dst: bfdec_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:6710,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 131
    argCount: 6
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    - b_neg
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 6712
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6712
    functionName: bfdec_add_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_normalize_and_round
    - mp_sub_dec
    - bfdec_set_nan
    - bf_malloc
    - bfdec_cmpu
    - mp_shr_dec
    - assert
    - mp_add_dec
    - bfdec_set_inf
    - bfdec_set_zero
    - bfdec_set
    - bf_free
    - mp_add_ui_dec
    - bfdec_resize
    - mp_sub_ui_dec
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bfdec_add_internal(bfdec_t *r, const bfdec_t *a, const
      bfdec_t *b, limb_t prec, bf_flags_t flags, int b_neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/libbf.c:6805,1
    - Dst: bfdec_set_si
      Src: /src/gpac/src/quickjs/libbf.c:6806,1
    - Dst: bfdec_mul
      Src: /src/gpac/src/quickjs/libbf.c:6807,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/libbf.c:6808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - r
    - a
    - b1
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - int64_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6810
      start: 6800
    functionDepth: 0
    functionLinenumber: 6800
    functionLinenumberEnd: 6810
    functionName: bfdec_mul_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_mul
    - bfdec_set_si
    - bfdec_delete
    linkageType: ''
    returnType: int
    signature: 'int bfdec_mul_si(bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - r
    - is_neg
    argTypes:
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: bf_set_inf
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_resize
    linkageType: ''
    returnType: void
    signature: 'void bf_set_inf(bf_t *r, int is_neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_add_internal
      Src: /src/gpac/src/quickjs/libbf.c:6717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6718
      start: 6714
    functionDepth: 0
    functionLinenumber: 6714
    functionLinenumberEnd: 6718
    functionName: __bfdec_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_add_internal
    linkageType: ''
    returnType: int
    signature: 'static int __bfdec_add(bfdec_t *r, const bfdec_t *a, const bfdec_t
      *b, limb_t prec, bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_init
      Src: /src/gpac/src/quickjs/libbf.c:6818,1
    - Dst: bfdec_delete
      Src: /src/gpac/src/quickjs/libbf.c:6821,1
    - Dst: bfdec_add
      Src: /src/gpac/src/quickjs/libbf.c:6820,1
    - Dst: bfdec_set_si
      Src: /src/gpac/src/quickjs/libbf.c:6819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - r
    - a
    - b1
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - bfdec_t*
    - int64_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6823
      start: 6812
    functionDepth: 0
    functionLinenumber: 6812
    functionLinenumberEnd: 6823
    functionName: bfdec_add_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_init
    - bfdec_set_si
    - bfdec_add
    - bfdec_delete
    linkageType: ''
    returnType: int
    signature: 'int bfdec_add_si(bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ntt_static_init
      Src: /src/gpac/src/quickjs/libbf.c:8369,1
    - Dst: ntt_conv
      Src: /src/gpac/src/quickjs/libbf.c:8427,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:8440,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:8453,1
    - Dst: bf_get_fft_size
      Src: /src/gpac/src/quickjs/libbf.c:8375,1
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:8407,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:8413,1
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:8415,1
    - Dst: ntt_to_limb
      Src: /src/gpac/src/quickjs/libbf.c:8439,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8445,1
    - Dst: mp_mod1
      Src: /src/gpac/src/quickjs/libbf.c:8380,1
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:8395,1
    - Dst: limb_to_ntt
      Src: /src/gpac/src/quickjs/libbf.c:8410,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:8432,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:8436,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:8433,1
    - Dst: mp_mod1
      Src: /src/gpac/src/quickjs/libbf.c:8442,1
    - Dst: mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:8443,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:8454,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:8384,1
    - Dst: mp_mod1
      Src: /src/gpac/src/quickjs/libbf.c:8379,1
    - Dst: limb_to_ntt
      Src: /src/gpac/src/quickjs/libbf.c:8398,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:8403,1
    - Dst: limb_to_ntt
      Src: /src/gpac/src/quickjs/libbf.c:8421,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/libbf.c:8448,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 7
    argNames:
    - s1
    - res
    - a_tab
    - a_len
    - b_tab
    - b_len
    - mul_flags
    argTypes:
    - bf_context_t*
    - bf_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 8456
      start: 8357
    functionDepth: 0
    functionLinenumber: 8357
    functionLinenumberEnd: 8456
    functionName: fft_mul
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ntt_conv
    - ntt_free
    - mul_mod
    - bf_resize
    - ntt_to_limb
    - ntt_static_init
    - printf
    - exit
    - mp_mod1
    - limb_to_ntt
    - bf_get_fft_size
    - ntt_malloc
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline int fft_mul(bf_context_t *s1, bf_t *res, limb_t *a_tab,
      limb_t a_len, limb_t *b_tab, limb_t b_len, int mul_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1359,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1380,1
    - Dst: mp_mul
      Src: /src/gpac/src/quickjs/libbf.c:1386,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1404,1
    - Dst: mp_divnorm
      Src: /src/gpac/src/quickjs/libbf.c:1365,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1379,1
    - Dst: mp_sub_ui
      Src: /src/gpac/src/quickjs/libbf.c:1389,1
    - Dst: mp_neg
      Src: /src/gpac/src/quickjs/libbf.c:1394,1
    - Dst: mp_mul
      Src: /src/gpac/src/quickjs/libbf.c:1396,1
    - Dst: mp_add
      Src: /src/gpac/src/quickjs/libbf.c:1402,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1405,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1408,1
    - Dst: mp_scan_nz
      Src: /src/gpac/src/quickjs/libbf.c:1369,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:1390,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:1358,1
    - Dst: mp_sub_ui
      Src: /src/gpac/src/quickjs/libbf.c:1371,1
    - Dst: mp_recip
      Src: /src/gpac/src/quickjs/libbf.c:1384,1
    - Dst: mp_sub_ui
      Src: /src/gpac/src/quickjs/libbf.c:1391,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:1409,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 4
    argNames:
    - s
    - tabr
    - taba
    - n
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1411
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1411
    functionName: mp_recip
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    - mp_divnorm
    - mp_recip
    - mp_mul
    - mp_sub
    - mp_neg
    - bf_free
    - mp_sub_ui
    - mp_scan_nz
    - mp_add
    linkageType: ''
    returnType: int
    signature: 'int mp_recip(bf_context_t *s, limb_t *tabr, const limb_t *taba, limb_t
      n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2078,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2082,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2091,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2085,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2089,1
    - Dst: bf_sqrt
      Src: /src/gpac/src/quickjs/libbf.c:2096,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/libbf.c:2097,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2103,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2106,1
    - Dst: bf_neg
      Src: /src/gpac/src/quickjs/libbf.c:2107,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:2108,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:2109,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 3
    argNames:
    - r
    - rem1
    - a
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2123
    functionName: bf_sqrtrem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_sqrt
    - bf_set_ui
    - bf_add
    - bf_delete
    - bf_neg
    - bf_init
    - bf_set
    - bf_is_nan
    - bf_mul
    - bf_rint
    linkageType: ''
    returnType: int
    signature: 'int bf_sqrtrem(bf_t *r, bf_t *rem1, const bf_t *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:2655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pres
    - a
    argTypes:
    - uint64_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2667
    functionName: bf_get_uint64
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_limbz
    linkageType: ''
    returnType: int
    signature: 'int bf_get_uint64(uint64_t *pres, const bf_t *a) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:3409,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/libbf.c:3421,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:3428,1
    - Dst: bf_sub
      Src: /src/gpac/src/quickjs/libbf.c:3433,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3448,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3452,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/libbf.c:3389,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:3420,1
    - Dst: bf_integer_to_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:3444,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:3380,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:3388,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:3413,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:3417,1
    - Dst: bf_rint
      Src: /src/gpac/src/quickjs/libbf.c:3418,1
    - Dst: bf_integer_to_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:3441,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:3387,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:3382,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3400,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3401,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:3412,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:3438,1
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:3432,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3447,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3451,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 8
    argNames:
    - pow_tab
    - out
    - a
    - n
    - level
    - n0
    - radixl
    - radixl_bits
    argTypes:
    - bf_t*
    - limb_t*
    - bf_t*
    - limb_t
    - int
    - limb_t
    - limb_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3455
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3455
    functionName: bf_integer_to_radix_rec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_integer_to_radix_rec
    - assert
    - bf_set_ui
    - bf_add
    - bf_div
    - bf_cmpu
    - bf_delete
    - bf_add_si
    - bf_init
    - bf_pow_ui_ui
    - likely
    - bf_sub
    - bf_mul
    - bf_rint
    - get_bits
    linkageType: ''
    returnType: int
    signature: 'static int bf_integer_to_radix_rec(bf_t *pow_tab, limb_t *out, const
      bf_t *a, limb_t n, int level, limb_t n0, limb_t radixl, unsigned int radixl_bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6272,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6282,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6275,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/libbf.c:6280,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/libbf.c:6278,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6284,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6286,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6287,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:6290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - str
    - a
    argTypes:
    - char*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 6291
      start: 6269
    functionDepth: 0
    functionLinenumber: 6269
    functionLinenumberEnd: 6291
    functionName: bfdec_print_str
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bfdec_print_str(const char *str, const bfdec_t *a) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fast_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:7171,1
    - Dst: fast_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:7179,1
    - Dst: get_digit
      Src: /src/gpac/src/quickjs/libbf.c:7182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - pres
    - a
    argTypes:
    - int*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 7200
      start: 7155
    functionDepth: 0
    functionLinenumber: 7155
    functionLinenumberEnd: 7200
    functionName: bfdec_get_int32
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - get_digit
    - fast_shr_dec
    linkageType: ''
    returnType: int
    signature: 'int bfdec_get_int32(int *pres, const bfdec_t *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libbf.c:2056,1
    - Dst: bf_malloc
      Src: /src/gpac/src/quickjs/libbf.c:2059,1
    - Dst: mp_sqrtrem_rec
      Src: /src/gpac/src/quickjs/libbf.c:2063,1
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:2065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - s
    - tabs
    - taba
    - n
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 2067
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2067
    functionName: mp_sqrtrem
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_malloc
    - countof
    - bf_free
    - mp_sqrtrem_rec
    linkageType: ''
    returnType: int
    signature: 'int mp_sqrtrem(bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t
      n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:213,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:232,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:222,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:236,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:224,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bf_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: bf_set_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_resize
    - clz
    linkageType: ''
    returnType: int
    signature: 'int bf_set_ui(bf_t *r, uint64_t a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:254,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bf_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: bf_set_si
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    linkageType: ''
    returnType: int
    signature: 'int bf_set_si(bf_t *r, int64_t a) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mp_div1norm
      Src: /src/gpac/src/quickjs/libbf.c:1282,1
    - Dst: mp_divnorm_large
      Src: /src/gpac/src/quickjs/libbf.c:1287,1
    - Dst: udiv1norm_init
      Src: /src/gpac/src/quickjs/libbf.c:1291,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:1286,1
    - Dst: mp_sub
      Src: /src/gpac/src/quickjs/libbf.c:1306,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libbf.c:1310,1
    - Dst: udiv1norm
      Src: /src/gpac/src/quickjs/libbf.c:1313,1
    - Dst: mp_sub_mul1
      Src: /src/gpac/src/quickjs/libbf.c:1320,1
    - Dst: mp_add
      Src: /src/gpac/src/quickjs/libbf.c:1331,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 6
    argNames:
    - s
    - tabq
    - taba
    - na
    - tabb
    - nb
    argTypes:
    - bf_context_t*
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1343
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1343
    functionName: mp_divnorm
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mp_sub
    - udiv1norm
    - mp_sub_mul1
    - bf_min
    - unlikely
    - udiv1norm_init
    - mp_div1norm
    - mp_add
    - mp_divnorm_large
    linkageType: ''
    returnType: int
    signature: 'static int mp_divnorm(bf_context_t *s, limb_t *tabq, limb_t *taba,
      limb_t na, const limb_t *tabb, limb_t nb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:2265,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2271,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2267,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:2269,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:2268,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2276
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2276
    functionName: bf_pow_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    - bf_set_ui
    - bf_set
    - bf_mul
    - clz
    linkageType: ''
    returnType: int
    signature: 'static int bf_pow_ui(bf_t *r, const bf_t *a, limb_t b, limb_t prec,
      bf_flags_t flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - op
    argTypes:
    - limb_t
    - limb_t
    - int
    constantsTouched: []
    func_position:
      end: 2319
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2319
    functionName: bf_logic_op1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t bf_logic_op1(limb_t a, limb_t b, int op) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 4
    argNames:
    - a1
    - radix
    - is_inv
    - is_ceil1
    argTypes:
    - slimb_t
    - unsigned int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3369
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3369
    functionName: bf_mul_log2_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - ceil_log2
    linkageType: ''
    returnType: slimb_t
    signature: 'slimb_t bf_mul_log2_radix(slimb_t a1, unsigned int radix, int is_inv,
      int is_ceil1) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - tab
    - len
    - pos
    - val
    argTypes:
    - limb_t*
    - limb_t
    - slimb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7255
      start: 7240
    functionDepth: 0
    functionLinenumber: 7240
    functionLinenumberEnd: 7255
    functionName: put_bits
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_bits(limb_t *tab, limb_t len, slimb_t pos,
      limb_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: bf_set_nan
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_resize
    linkageType: ''
    returnType: void
    signature: 'void bf_set_nan(bf_t *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2287,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2289,1
    - Dst: bf_pow_ui
      Src: /src/gpac/src/quickjs/libbf.c:2291,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2290,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r
    - a1
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - limb_t
    - limb_t
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 2295
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2295
    functionName: bf_pow_ui_ui
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_delete
    - bf_init
    - bf_pow_ui
    - bf_set_ui
    linkageType: ''
    returnType: int
    signature: 'static int bf_pow_ui_ui(bf_t *r, limb_t a1, limb_t b, limb_t prec,
      bf_flags_t flags) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:2329,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2343,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2354,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:2344,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:2355,1
    - Dst: bf_logic_op1
      Src: /src/gpac/src/quickjs/libbf.c:2361,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:2365,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:2371,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:2374,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:2375,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:2384,1
    - Dst: bf_logic_op1
      Src: /src/gpac/src/quickjs/libbf.c:2385,1
    - Dst: bf_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:2389,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2397,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2399,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:2383,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:2402,1
    - Dst: bf_add_si
      Src: /src/gpac/src/quickjs/libbf.c:2391,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 4
    argNames:
    - r
    - a1
    - b1
    - op
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - int
    constantsTouched: []
    func_position:
      end: 2405
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2405
    functionName: bf_logic_op
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_normalize_and_round
    - bf_set_nan
    - assert
    - bf_logic_op1
    - bf_delete
    - bf_min
    - bf_resize
    - bf_init
    - get_bits
    - bf_add_si
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bf_logic_op(bf_t *r, const bf_t *a1, const bf_t *b1, int
      op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - r
    - len
    argTypes:
    - bf_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: bf_resize
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_realloc
    linkageType: ''
    returnType: int
    signature: 'int bf_resize(bf_t *r, limb_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muldq
      Src: /src/gpac/src/quickjs/libbf.c:5487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - limb_t
    - FastDivData*
    constantsTouched: []
    func_position:
      end: 5490
      start: 5484
    functionDepth: 0
    functionLinenumber: 5484
    functionLinenumberEnd: 5490
    functionName: fast_udiv
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - muldq
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t fast_udiv(limb_t a, const FastDivData *s) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7889,1
    - Dst: ntt_fft
      Src: /src/gpac/src/quickjs/libbf.c:7893,1
    - Dst: mul_trig
      Src: /src/gpac/src/quickjs/libbf.c:7913,1
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7897,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7904,1
    - Dst: ntt_fft
      Src: /src/gpac/src/quickjs/libbf.c:7914,1
    - Dst: mul_trig
      Src: /src/gpac/src/quickjs/libbf.c:7917,1
    - Dst: mul_mod_fast
      Src: /src/gpac/src/quickjs/libbf.c:7918,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:7927,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:7929,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:7932,1
    - Dst: ntt_free
      Src: /src/gpac/src/quickjs/libbf.c:7933,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 8
    argNames:
    - s
    - buf1
    - k1
    - k2
    - n1
    - n2
    - inverse
    - m_idx
    argTypes:
    - BFNTTState*
    - NTTLimb*
    - int
    - int
    - limb_t
    - limb_t
    - int
    - limb_t
    constantsTouched: []
    func_position:
      end: 7935
      start: 7881
    functionDepth: 0
    functionLinenumber: 7881
    functionLinenumberEnd: 7935
    functionName: ntt_fft_partial
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - mul_trig
    - ntt_free
    - assert
    - mul_mod_fast
    - ntt_fft
    - ntt_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ntt_fft_partial(BFNTTState *s, NTTLimb *buf1, int k1, int
      k2, limb_t n1, limb_t n2, int inverse, limb_t m_idx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.c:876,1
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.c:899,1
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.c:903,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:928,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:929,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:984,1
    - Dst: bf_normalize_and_round
      Src: /src/gpac/src/quickjs/libbf.c:1003,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:953,1
    - Dst: count_cancelled_bits
      Src: /src/gpac/src/quickjs/libbf.c:918,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:964,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:997,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:1007,1
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.c:886,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:893,1
    - Dst: bf_max
      Src: /src/gpac/src/quickjs/libbf.c:927,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:970,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:983,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:896,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 166
    argCount: 6
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    - b_neg
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    - int
    constantsTouched: []
    func_position:
      end: 1009
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 1009
    functionName: bf_add_internal
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_normalize_and_round
    - bf_set_inf
    - bf_set_zero
    - bf_min
    - bf_cmpu
    - bf_resize
    - count_cancelled_bits
    - bf_set
    - get_limbz
    - get_bits
    - bf_max
    linkageType: ''
    returnType: int
    signature: 'static int bf_add_internal(bf_t *r, const bf_t *a, const bf_t *b,
      limb_t prec, bf_flags_t flags, int b_neg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor_div
      Src: /src/gpac/src/quickjs/libbf.c:6321,1
    - Dst: fast_shr_dec
      Src: /src/gpac/src/quickjs/libbf.c:6325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tab
    - len
    - pos
    argTypes:
    - limb_t*
    - limb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 6326
      start: 6317
    functionDepth: 0
    functionLinenumber: 6317
    functionLinenumberEnd: 6326
    functionName: get_digit
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - floor_div
    - fast_shr_dec
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t get_digit(const limb_t *tab, limb_t len, slimb_t pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_round_pd
      Src: /src/gpac/src/quickjs/libbf.c:7501,1
    - Dst: _mm256_fmsub_pd
      Src: /src/gpac/src/quickjs/libbf.c:7504,1
    - Dst: _mm256_fmsub_pd
      Src: /src/gpac/src/quickjs/libbf.c:7503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - a
    - b
    - mf
    - m_inv
    argTypes:
    - __m256d
    - __m256d
    - __m256d
    - __m256d
    constantsTouched: []
    func_position:
      end: 7507
      start: 7496
    functionDepth: 0
    functionLinenumber: 7496
    functionLinenumberEnd: 7507
    functionName: ntt_mul_mod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - _mm256_fmsub_pd
    - _mm256_round_pd
    linkageType: ''
    returnType: __m256d
    signature: 'static inline __m256d ntt_mul_mod(__m256d a, __m256d b, __m256d mf,
      __m256d m_inv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_add_internal
      Src: /src/gpac/src/quickjs/libbf.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - r
    - a
    - b
    - prec
    - flags
    argTypes:
    - bf_t*
    - bf_t*
    - bf_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: __bf_add
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_add_internal
    linkageType: ''
    returnType: int
    signature: 'static int __bf_add(bf_t *r, const bf_t *a, const bf_t *b, limb_t
      prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_free
      Src: /src/gpac/src/quickjs/libbf.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: bf_move
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_free
    linkageType: ''
    returnType: void
    signature: 'void bf_move(bf_t *r, bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - pr
    - a1
    - a0
    - d
    - d_inv
    argTypes:
    - limb_t*
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1241
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1241
    functionName: udiv1norm
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t udiv1norm(limb_t *pr, limb_t a1, limb_t a0, limb_t
      d, limb_t d_inv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:2698,1
    - Dst: bf_integer_from_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:2712,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:2719,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:2716,1
    - Dst: bf_pow_ui_ui
      Src: /src/gpac/src/quickjs/libbf.c:2708,1
    - Dst: bf_integer_from_radix_rec
      Src: /src/gpac/src/quickjs/libbf.c:2720,1
    - Dst: bf_add
      Src: /src/gpac/src/quickjs/libbf.c:2723,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:2724,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 7
    argNames:
    - r
    - tab
    - n
    - level
    - n0
    - radix
    - pow_tab
    argTypes:
    - bf_t*
    - limb_t*
    - limb_t
    - int
    - limb_t
    - limb_t
    - bf_t*
    constantsTouched: []
    func_position:
      end: 2728
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2728
    functionName: bf_integer_from_radix_rec
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_integer_from_radix_rec
    - bf_set_ui
    - bf_add
    - bf_delete
    - bf_init
    - bf_pow_ui_ui
    - bf_mul
    linkageType: ''
    returnType: int
    signature: 'static int bf_integer_from_radix_rec(bf_t *r, const limb_t *tab, limb_t
      n, int level, limb_t n0, limb_t radix, bf_t *pow_tab) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_get_limb
      Src: /src/gpac/src/quickjs/libbf.c:4599,1
    - Dst: bf_set_ui
      Src: /src/gpac/src/quickjs/libbf.c:4607,1
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:4603,1
    - Dst: bf_pow_ui
      Src: /src/gpac/src/quickjs/libbf.c:4604,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4606,1
    - Dst: bf_div
      Src: /src/gpac/src/quickjs/libbf.c:4608,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - r
    - x
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4612
      start: 4590
    functionDepth: 0
    functionLinenumber: 4590
    functionLinenumberEnd: 4612
    functionName: bf_pow_int
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_ui
    - bf_delete
    - bf_div
    - bf_get_limb
    - bf_init
    - ceil_log2
    - bf_pow_ui
    linkageType: ''
    returnType: int
    signature: 'static int bf_pow_int(bf_t *r, const bf_t *x, limb_t prec, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_blendv_pd
      Src: /src/gpac/src/quickjs/libbf.c:7492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - mf
    - m2f
    argTypes:
    - __m256d
    - __m256d
    - __m256d
    constantsTouched: []
    func_position:
      end: 7493
      start: 7490
    functionDepth: 0
    functionLinenumber: 7490
    functionLinenumberEnd: 7493
    functionName: ntt_mod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - _mm256_blendv_pd
    linkageType: ''
    returnType: __m256d
    signature: 'static inline __m256d ntt_mod(__m256d r, __m256d mf, __m256d m2f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pdpl
    - pnb_mods
    - len
    argTypes:
    - int*
    - int*
    - limb_t
    constantsTouched: []
    func_position:
      end: 8463
      start: 8460
    functionDepth: 0
    functionLinenumber: 8460
    functionLinenumberEnd: 8463
    functionName: bf_get_fft_size
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bf_get_fft_size(int *pdpl, int *pnb_mods, limb_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:288,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libbf.c:294,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: bf_set
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_resize
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int bf_set(bf_t *r, const bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 1219
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1219
    functionName: udiv1norm_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t udiv1norm_init(limb_t d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - radix
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2689
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2689
    functionName: get_limb_radix
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t get_limb_radix(int radix) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ceil_log2
      Src: /src/gpac/src/quickjs/libbf.c:3633,1
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.c:3647,1
    - Dst: smod
      Src: /src/gpac/src/quickjs/libbf.c:3637,1
    - Dst: get_limb_radix
      Src: /src/gpac/src/quickjs/libbf.c:3643,1
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:3645,1
    - Dst: dbuf_set_error
      Src: /src/gpac/src/quickjs/libbf.c:3648,1
    - Dst: bf_integer_to_radix
      Src: /src/gpac/src/quickjs/libbf.c:3651,1
    - Dst: dbuf_set_error
      Src: /src/gpac/src/quickjs/libbf.c:3652,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:3666,1
    - Dst: limb_to_a
      Src: /src/gpac/src/quickjs/libbf.c:3667,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:3669,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libbf.c:3679,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/libbf.c:3683,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:3689,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:3682,1
    - Dst: limb_to_a2
      Src: /src/gpac/src/quickjs/libbf.c:3670,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 6
    argNames:
    - s
    - a1
    - radix
    - n_digits
    - dot_pos
    - is_dec
    argTypes:
    - DynBuf*
    - bf_t*
    - int
    - limb_t
    - limb_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 3690
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3690
    functionName: output_digits
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - limb_to_a2
    - get_limb_radix
    - dbuf_set_error
    - smod
    - dbuf_put
    - bf_delete
    - bf_resize
    - bf_min
    - bf_init
    - limb_to_a
    - ceil_log2
    - get_limbz
    - dbuf_putc
    - get_bits
    - bf_integer_to_radix
    linkageType: ''
    returnType: void
    signature: 'static void output_digits(DynBuf *s, const bf_t *a1, int radix, limb_t
      n_digits, limb_t dot_pos, BOOL is_dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.c:4576,1
    - Dst: bf_mul
      Src: /src/gpac/src/quickjs/libbf.c:4580,1
    - Dst: bf_is_nan
      Src: /src/gpac/src/quickjs/libbf.c:4581,1
    - Dst: bf_log
      Src: /src/gpac/src/quickjs/libbf.c:4579,1
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.c:4582,1
    - Dst: bf_exp_internal
      Src: /src/gpac/src/quickjs/libbf.c:4584,1
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.c:4585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - r
    - x
    - prec
    - opaque
    argTypes:
    - bf_t*
    - bf_t*
    - limb_t
    - void*
    constantsTouched: []
    func_position:
      end: 4587
      start: 4569
    functionDepth: 0
    functionLinenumber: 4569
    functionLinenumberEnd: 4587
    functionName: bf_pow_generic
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_set_nan
    - bf_log
    - bf_delete
    - bf_init
    - bf_is_nan
    - bf_mul
    - bf_exp_internal
    linkageType: ''
    returnType: int
    signature: 'static int bf_pow_generic(bf_t *r, const bf_t *x, limb_t prec, void
      *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_resize
      Src: /src/gpac/src/quickjs/libbf.c:6538,1
    - Dst: clz_dec
      Src: /src/gpac/src/quickjs/libbf.c:6544,1
    - Dst: __bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:6549,1
    - Dst: mp_shl_dec
      Src: /src/gpac/src/quickjs/libbf.c:6546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - r
    - prec1
    - flags
    argTypes:
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6553
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6553
    functionName: bfdec_normalize_and_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bfdec_resize
    - __bfdec_round
    - mp_shl_dec
    - clz_dec
    linkageType: ''
    returnType: int
    signature: 'int bfdec_normalize_and_round(bfdec_t *r, limb_t prec1, bf_flags_t
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7384
      start: 7377
    functionDepth: 0
    functionLinenumber: 7377
    functionLinenumberEnd: 7384
    functionName: sub_mod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t sub_mod(limb_t a, limb_t b, limb_t m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - a
    - b
    - m
    - b_inv
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7438
      start: 7428
    functionDepth: 0
    functionLinenumber: 7428
    functionLinenumberEnd: 7438
    functionName: mul_mod_fast2
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t mul_mod_fast2(limb_t a, limb_t b, limb_t m, limb_t
      b_inv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.c:3695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3696
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3696
    functionName: bf_dbuf_realloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_realloc
    linkageType: ''
    returnType: void*
    signature: 'static void *bf_dbuf_realloc(void *opaque, void *ptr, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - NTTLimb
    - limb_t
    constantsTouched: []
    func_position:
      end: 7469
      start: 7460
    functionDepth: 0
    functionLinenumber: 7460
    functionLinenumberEnd: 7469
    functionName: ntt_limb_to_int
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t ntt_limb_to_int(NTTLimb a, limb_t m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7474
      start: 7471
    functionDepth: 0
    functionLinenumber: 7471
    functionLinenumberEnd: 7474
    functionName: int_to_ntt_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: NTTLimb
    signature: 'static inline NTTLimb int_to_ntt_limb(limb_t a, limb_t m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/libbf.c:8068,1
    - Dst: ntt_mul_mod
      Src: /src/gpac/src/quickjs/libbf.c:8082,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:8070,1
    - Dst: ntt_mod1
      Src: /src/gpac/src/quickjs/libbf.c:8087,1
    - Dst: ntt_mod1
      Src: /src/gpac/src/quickjs/libbf.c:8080,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8115,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8117,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libbf.c:8119,1
    - Dst: put_bits
      Src: /src/gpac/src/quickjs/libbf.c:8125,1
    - Dst: put_bits
      Src: /src/gpac/src/quickjs/libbf.c:8128,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 151
    argCount: 7
    argNames:
    - s
    - tabr
    - r_len
    - buf
    - fft_len_log2
    - dpl
    - nb_mods
    argTypes:
    - BFNTTState*
    - limb_t*
    - limb_t
    - NTTLimb*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8143
      start: 8041
    functionDepth: 0
    functionLinenumber: 8041
    functionLinenumberEnd: 8143
    functionName: ntt_to_limb
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - memset
    - bf_min
    - put_bits
    - ntt_mod1
    - ntt_mul_mod
    - printf
    linkageType: ''
    returnType: no_inline
    signature: 'static no_inline void ntt_to_limb(BFNTTState *s, limb_t *tabr, limb_t
      r_len, const NTTLimb *buf, int fft_len_log2, int dpl, int nb_mods) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:828,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:837,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:844,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:829,1
    - Dst: limb_mask
      Src: /src/gpac/src/quickjs/libbf.c:843,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:844,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:844,1
    - Dst: get_limbz
      Src: /src/gpac/src/quickjs/libbf.c:851,1
    - Dst: get_bits
      Src: /src/gpac/src/quickjs/libbf.c:852,1
    - Dst: bf_min
      Src: /src/gpac/src/quickjs/libbf.c:856,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:856,1
    - Dst: clz
      Src: /src/gpac/src/quickjs/libbf.c:856,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 865
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 865
    functionName: count_cancelled_bits
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - bf_min
    - limb_mask
    - get_limbz
    - clz
    - get_bits
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t count_cancelled_bits(const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - tabr
    - taba
    - n
    - b
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1210
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1210
    functionName: mp_sub_mul1
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static limb_t mp_sub_mul1(limb_t *tabr, const limb_t *taba, limb_t
      n, limb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __bfdec_round
      Src: /src/gpac/src/quickjs/libbf.c:6522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - r
    - prec
    - flags
    argTypes:
    - bfdec_t*
    - limb_t
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 6523
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6523
    functionName: bfdec_round
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - __bfdec_round
    linkageType: ''
    returnType: int
    signature: 'int bfdec_round(bfdec_t *r, limb_t prec, bf_flags_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 7374
      start: 7367
    functionDepth: 0
    functionLinenumber: 7367
    functionLinenumberEnd: 7374
    functionName: add_mod
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t add_mod(limb_t a, limb_t b, limb_t m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7420,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libbf.c:7421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - m
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 7424
      start: 7417
    functionDepth: 0
    functionLinenumber: 7417
    functionLinenumberEnd: 7424
    functionName: init_mul_mod_fast
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: limb_t
    signature: 'static inline limb_t init_mul_mod_fast(limb_t m) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7832,1
    - Dst: int_to_ntt_limb
      Src: /src/gpac/src/quickjs/libbf.c:7845,1
    - Dst: int_to_ntt_limb2
      Src: /src/gpac/src/quickjs/libbf.c:7843,1
    - Dst: init_mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:7846,1
    - Dst: ntt_malloc
      Src: /src/gpac/src/quickjs/libbf.c:7834,1
    - Dst: mul_mod_fast2
      Src: /src/gpac/src/quickjs/libbf.c:7848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - s
    - k
    - inverse
    - m_idx
    argTypes:
    - BFNTTState*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7852
      start: 7817
    functionDepth: 0
    functionLinenumber: 7817
    functionLinenumberEnd: 7852
    functionName: get_trig
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - init_mul_mod_fast2
    - int_to_ntt_limb
    - mul_mod_fast2
    - int_to_ntt_limb2
    - ntt_malloc
    linkageType: ''
    returnType: no_inline*
    signature: 'static no_inline NTTLimb *get_trig(BFNTTState *s, int k, int inverse,
      int m_idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clz64
      Src: /src/gpac/src/quickjs/libbf.c:5470,1
    - Dst: divdq
      Src: /src/gpac/src/quickjs/libbf.c:5471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - FastDivData*
    - limb_t
    constantsTouched: []
    func_position:
      end: 5482
      start: 5463
    functionDepth: 0
    functionLinenumber: 5463
    functionLinenumberEnd: 5482
    functionName: fast_udiv_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.c
    functionUses: []
    functionsReached:
    - clz64
    - divdq
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static inline __maybe_unused void fast_udiv_init(FastDivData *s, limb_t
      d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: min_int
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int min_int(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/gpac/src/quickjs/cutils.h:143,1
    - Dst: _BitScanReverse
      Src: /src/gpac/src/quickjs/cutils.h:145,1
    - Dst: __builtin_clzll
      Src: /src/gpac/src/quickjs/cutils.h:151,1
    - Dst: _BitScanReverse
      Src: /src/gpac/src/quickjs/cutils.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: clz64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - _BitScanReverse
    - __builtin_clzll
    - _BitScanReverse64
    linkageType: ''
    returnType: int
    signature: 'static inline int clz64(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: get_u64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static inline uint64_t get_u64(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tab
    - val
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: put_u64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_u64(uint8_t *tab, uint64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: get_u16
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t get_u16(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: bswap64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static inline uint64_t bswap64(uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: dbuf_error
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static inline BOOL dbuf_error(DynBuf *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: max_uint32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t max_uint32(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: get_i64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t get_i64(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: get_u32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t get_u32(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: get_i16
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t get_i16(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: dbuf_set_error
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void dbuf_set_error(DynBuf *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: from_hex
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int from_hex(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/gpac/src/quickjs/cutils.h:173,1
    - Dst: _BitScanReverse
      Src: /src/gpac/src/quickjs/cutils.h:177,1
    - Dst: __builtin_ctzll
      Src: /src/gpac/src/quickjs/cutils.h:181,1
    - Dst: _BitScanReverse
      Src: /src/gpac/src/quickjs/cutils.h:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: ctz64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - _BitScanReverse
    - __builtin_ctzll
    - _BitScanReverse64
    linkageType: ''
    returnType: int
    signature: 'static inline int ctz64(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: get_i8
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t get_i8(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: bswap16
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t bswap16(uint16_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - tab
    - val
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: put_u8
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_u8(uint8_t *tab, uint8_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: bswap32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t bswap32(uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.h:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - DynBuf*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: dbuf_put_u16
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'static inline int dbuf_put_u16(DynBuf *s, uint16_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/gpac/src/quickjs/cutils.h:160,1
    - Dst: __builtin_ctz
      Src: /src/gpac/src/quickjs/cutils.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: ctz32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - __builtin_ctz
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: 'static inline int ctz32(unsigned int a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: min_uint32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t min_uint32(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tab
    - val
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: put_u16
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_u16(uint8_t *tab, uint16_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: max_int
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int max_int(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: max_int64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t max_int64(int64_t a, int64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: get_u8
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t get_u8(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/gpac/src/quickjs/cutils.h:130,1
    - Dst: __builtin_clz
      Src: /src/gpac/src/quickjs/cutils.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: clz32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - __builtin_clz
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: 'static inline int clz32(unsigned int a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tab
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: get_i32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t get_i32(const uint8_t *tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.h:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - DynBuf*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: dbuf_put_u32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'static inline int dbuf_put_u32(DynBuf *s, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tab
    - val
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: put_u32
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_u32(uint8_t *tab, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/cutils.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - DynBuf*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: dbuf_put_u64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached:
    - dbuf_put
    linkageType: ''
    returnType: int
    signature: 'static inline int dbuf_put_u64(DynBuf *s, uint64_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: min_int64
    functionSourceFile: /src/gpac/src/quickjs/cutils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t min_int64(int64_t a, int64_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:512,1
    - Dst: js_load_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:515,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:516,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:520,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: js_std_loadFile
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - js_free
    - JS_NewStringLen
    - js_load_file
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_loadFile(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1151,1
    - Dst: fflush
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1156
    functionName: js_std_file_flush
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - fflush
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_flush(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2095,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - th
    argTypes:
    - JSRuntime*
    - JSOSTimer*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2097
    functionName: free_timer
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void free_timer(JSRuntime *rt, JSOSTimer *th) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3597,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3600,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3602
      start: 3592
    functionDepth: 0
    functionLinenumber: 3592
    functionLinenumberEnd: 3602
    functionName: js_sab_free
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - atomic_add_int
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: 'static void js_sab_free(void *opaque, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1161,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1167,1
    - Dst: gf_ftell
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1165,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_bigint
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: js_std_file_tell
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - gf_ftell
    - js_std_file_get
    - JS_NewInt64
    - JS_NewBigInt64
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_tell(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int is_bigint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3609
      start: 3604
    functionDepth: 0
    functionLinenumber: 3604
    functionLinenumberEnd: 3609
    functionName: js_sab_dup
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - atomic_add_int
    linkageType: ''
    returnType: void
    signature: 'static void js_sab_dup(void *opaque, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4344,1
    - Dst: js_std_dump_error1
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - promise
    - reason
    - is_handled
    - opaque
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    - BOOL
    - void*
    constantsTouched: []
    func_position:
      end: 4347
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4347
    functionName: js_std_promise_rejection_tracker
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - fprintf
    - js_std_dump_error1
    linkageType: ''
    returnType: void
    signature: 'void js_std_promise_rejection_tracker(JSContext *ctx, JSValueConst
      promise, JSValueConst reason, BOOL is_handled, void *opaque) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3467,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3468,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3470,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3475,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3469,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3476,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3477,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3478,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3483,1
    - Dst: TerminateProcess
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3485,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3489,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3490,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3490,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3492,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3487,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3488,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3493
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3493
    functionName: js_os_kill
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - JS_SetPropertyUint32
    - TerminateProcess
    - JS_ToInt64
    - JS_IsException
    - JS_NewInt32
    - CloseHandle
    - JS_NewInt64
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: "static JSValue js_os_kill(JSContext *ctx, JSValueConst this_val,\tint
      argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: my_isdigit
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL my_isdigit(int c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_suffix
      Src: /src/gpac/src/quickjs/quickjs-libc.c:658,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:667,1
    - Dst: js_module_loader_so
      Src: /src/gpac/src/quickjs/quickjs-libc.c:659,1
    - Dst: js_load_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:665,1
    - Dst: JS_Eval
      Src: /src/gpac/src/quickjs/quickjs-libc.c:673,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:675,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:676,1
    - Dst: js_module_set_import_meta
      Src: /src/gpac/src/quickjs/quickjs-libc.c:679,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs-libc.c:681,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - module_name
    - opaque
    argTypes:
    - JSContext*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 685
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 685
    functionName: js_module_loader
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - js_module_set_import_meta
    - JS_Eval
    - JS_VALUE_GET_PTR
    - js_free
    - has_suffix
    - JS_ThrowReferenceError
    - js_module_loader_so
    - js_load_file
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *js_module_loader(JSContext *ctx, const char *module_name,
      void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1897,1
    - Dst: rename
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1905,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1900,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1905,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1902,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1906,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1907,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1909
    functionName: js_os_rename
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - rename
    - JS_NewInt32
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_rename(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2521,1
    - Dst: make_string_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2528
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2528
    functionName: js_os_getcwd
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - make_string_error
    - getcwd
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_getcwd(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:240,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs-libc.c:250,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:275,1
    - Dst: my_isdigit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:296,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs-libc.c:336,1
    - Dst: dbuf_printf_fun
      Src: /src/gpac/src/quickjs/quickjs-libc.c:359,1
    - Dst: JS_ToInt64Ext
      Src: /src/gpac/src/quickjs/quickjs-libc.c:347,1
    - Dst: dbuf_printf_fun
      Src: /src/gpac/src/quickjs/quickjs-libc.c:366,1
    - Dst: JS_ToFloat64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:394,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:406,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:273,1
    - Dst: my_isdigit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:278,1
    - Dst: snprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:293,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:328,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:322,1
    - Dst: dbuf_printf_fun
      Src: /src/gpac/src/quickjs/quickjs-libc.c:380,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs-libc.c:416,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:422,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:425,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:429,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:291,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/quickjs-libc.c:325,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:326,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:400,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:409,1
    - Dst: fwrite
      Src: /src/gpac/src/quickjs/quickjs-libc.c:419,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:237,1
    - Dst: JS_IsString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:321,1
    - Dst: unicode_to_utf8
      Src: /src/gpac/src/quickjs/quickjs-libc.c:335,1
    - Dst: dbuf_printf_fun
      Src: /src/gpac/src/quickjs/quickjs-libc.c:369,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:377,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:381,1
    - Dst: dbuf_printf_fun
      Src: /src/gpac/src/quickjs/quickjs-libc.c:396,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:413,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:420,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 155
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - fp
    argTypes:
    - JSContext*
    - int
    - JSValueConst*
    - FILE*
    constantsTouched: []
    func_position:
      end: 431
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 431
    functionName: js_printf_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - snprintf
    - JS_ToCStringLen
    - JS_NewStringLen
    - JS_ToInt32
    - JS_ToCString
    - unicode_to_utf8
    - unicode_from_utf8
    - JS_ThrowTypeError
    - JS_NewInt32
    - js_std_dbuf_init
    - fwrite
    - dbuf_printf_fun
    - dbuf_putc
    - JS_FreeCString
    - JS_IsString
    - JS_ThrowReferenceError
    - my_isdigit
    - JS_ToInt64Ext
    - JS_ToFloat64
    - dbuf_free
    - JS_ThrowOutOfMemory
    - dbuf_put
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_printf_internal(JSContext *ctx, int argc, JSValueConst
      *argv, FILE *fp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1793,1
    - Dst: _setmode
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1797,1
    - Dst: _get_osfhandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1799,1
    - Dst: _get_osfhandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1795,1
    - Dst: SetConsoleMode
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1796,1
    - Dst: SetConsoleMode
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1803
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1803
    functionName: js_os_ttySetRaw
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - _setmode
    - SetConsoleMode
    - JS_ToInt32
    - _get_osfhandle
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_ttySetRaw(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 1915
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1915
    functionName: is_main_thread
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetRuntimeOpaque
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_main_thread(JSRuntime *rt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - th
    argTypes:
    - JSRuntime*
    - JSOSTimer*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2091
    functionName: unlink_timer
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - list_del
    linkageType: ''
    returnType: void
    signature: 'static void unlink_timer(JSRuntime *rt, JSOSTimer *th) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2536,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2540,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2539,1
    - Dst: chdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2539,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2542
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2542
    functionName: js_os_chdir
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewInt32
    - chdir
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_chdir(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3214,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3216,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3218,1
    - Dst: kill
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3218,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3220
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3220
    functionName: js_os_kill
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - kill
    - js_get_errno
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_kill(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:907,1
    - Dst: strerror
      Src: /src/gpac/src/quickjs/quickjs-libc.c:909,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 910
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 910
    functionName: js_std_strerror
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - JS_ToInt32
    - strerror
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_strerror(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1335,1
    - Dst: fgetc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1338,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: js_std_file_getByte
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - JS_NewInt32
    - fgetc
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_getByte(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2103,1
    - Dst: free_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 2109
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2109
    functionName: js_os_timer_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - free_timer
    linkageType: ''
    returnType: void
    signature: 'static void js_os_timer_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:919,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:923,1
    - Dst: JS_ParseJSON2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 925
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 925
    functionName: js_std_parseExtJSON
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCStringLen
    - JS_ParseJSON2
    - JS_FreeCString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_parseExtJSON(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1344,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1351,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1348,1
    - Dst: fputc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1352
    functionName: js_std_file_putByte
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - fputc
    - JS_NewInt32
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_putByte(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2114,1
    - Dst: JS_MarkValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - val
    - mark_func
    argTypes:
    - JSRuntime*
    - JSValueConst
    - JS_MarkFunc*
    constantsTouched: []
    func_position:
      end: 2118
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2118
    functionName: js_os_timer_mark
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetOpaque
    - JS_MarkValue
    linkageType: ''
    returnType: void
    signature: 'static void js_os_timer_mark(JSRuntime *rt, JSValueConst val, JS_MarkFunc
      *mark_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2073
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2073
    functionName: get_time_ms
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - _ftime
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t get_time_ms(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:884,1
    - Dst: pclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:888,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:892,1
    - Dst: fclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 894
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 894
    functionName: js_std_file_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - fclose
    - JS_GetOpaque
    - pclose
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void js_std_file_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1086,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: js_std_file_get
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_GetOpaque2
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *js_std_file_get(JSContext *ctx, JSValueConst obj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1725,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1729,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1731,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1735,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1727,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1739,1
    - Dst: write
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1739,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1741,1
    - Dst: read
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1741,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1744,1
    - Dst: write
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1744,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1746,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1748,1
    - Dst: read
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1746,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 1749
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1749
    functionName: js_os_read_write
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - write
    - JS_GetArrayBuffer
    - JS_NewInt64
    - JS_ToInt32
    - read
    - js_get_errno
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_read_write(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2123,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2132,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2133,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2124,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2131,1
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2135,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2136,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2138,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2140,1
    - Dst: get_time_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2144,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2147,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2145,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2149
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2149
    functionName: js_os_setTimeout
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetRuntimeOpaque
    - JS_ToInt64
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_IsException
    - get_time_ms
    - JS_SetOpaque
    - JS_NewObjectClass
    - JS_DupValue
    - js_mallocz
    - list_add_tail
    - JS_GetRuntime
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_setTimeout(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4128,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4132,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4134,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4144,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4134,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4149,1
    - Dst: js_worker_ctor_internal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4145,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4122,1
    - Dst: JS_NewClassID
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4131,1
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4136,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4123,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4123,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4127,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4132,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4133,1
    - Dst: JS_SetModuleExportList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4153,1
    - Dst: JS_SetConstructor
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4138,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4140,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 4155
      start: 4117
    functionDepth: 0
    functionLinenumber: 4117
    functionLinenumberEnd: 4155
    functionName: js_os_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - JS_GetRuntimeOpaque
    - JS_NewObject
    - JS_SetClassProto
    - JS_SetPropertyFunctionList
    - JS_SetConstructor
    - JS_NewCFunction2
    - JS_DefinePropertyValueStr
    - JS_SetModuleExportList
    - countof
    - JS_NewClass
    - js_worker_ctor_internal
    - JS_SetModuleExport
    - JS_GetRuntime
    linkageType: ''
    returnType: int
    signature: 'static int js_os_init(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4305,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4307,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4308,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - f
    - val
    argTypes:
    - JSContext*
    - FILE*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4312
      start: 4301
    functionDepth: 0
    functionLinenumber: 4301
    functionLinenumberEnd: 4312
    functionName: js_dump_obj
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - fprintf
    - JS_FreeCString
    linkageType: ''
    returnType: void
    signature: 'static void js_dump_obj(JSContext *ctx, FILE *f, JSValueConst val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - ssize_t
    constantsTouched: []
    func_position:
      end: 901
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 901
    functionName: js_get_errno
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t js_get_errno(ssize_t ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1107,1
    - Dst: fwrite
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1116,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1117,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 1120
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1120
    functionName: js_std_file_puts
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - JS_ToCStringLen
    - JS_FreeCString
    - fwrite
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_puts(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1755,1
    - Dst: isatty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1757,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: js_os_isatty
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - isatty
    - JS_ToInt32
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_isatty(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2154,1
    - Dst: unlink_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2157,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2159
    functionName: js_os_clearTimeout
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - unlink_timer
    - JS_GetOpaque2
    - JS_GetRuntime
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_clearTimeout(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4160,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4163,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4165,1
    - Dst: JS_AddModuleExportList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - module_name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 4168
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4168
    functionName: js_init_module_os
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExportList
    - countof
    - JS_AddModuleExport
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *js_init_module_os(JSContext *ctx, const char *module_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4319,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4323,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4322,1
    - Dst: js_dump_obj
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4320,1
    - Dst: js_dump_obj
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4324,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - exception_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4328
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4328
    functionName: js_std_dump_error1
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsError
    - JS_IsUndefined
    - js_dump_obj
    - JS_GetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'static void js_std_dump_error1(JSContext *ctx, JSValueConst exception_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - module_name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: js_module_loader_so
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ThrowReferenceError
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_module_loader_so(JSContext *ctx, const char
      *module_name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2273,1
    - Dst: get_time_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2278,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2281,1
    - Dst: free_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2290,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2291,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2311,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2316,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2318,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2336,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2337,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2338,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2344,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2264,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2280,1
    - Dst: unlink_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2288,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2292,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2303,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2304,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2315,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2333,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2335,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2345,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2265,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2277,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2313,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2321,1
    - Dst: _get_osfhandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2332,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2273,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2273,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2312,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2305,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2346,1
    - Dst: handle_posted_message
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2349,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 90
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2361
    functionName: js_os_poll
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetRuntimeOpaque
    - free_timer
    - JS_IsNull
    - _get_osfhandle
    - handle_posted_message
    - unlink_timer
    - list_empty
    - list_entry
    - gf_mx_p
    - get_time_ms
    - call_handler
    - WaitForSingleObject
    - gf_mx_v
    - list_for_each
    - JS_GetRuntime
    linkageType: ''
    returnType: int
    signature: 'static int js_os_poll(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2621
    functionName: timespec_to_ms
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t timespec_to_ms(const struct timespec *tv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fullpath
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - path
    - buf
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2797
    functionName: realpath
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - _fullpath
    linkageType: ''
    returnType: char*
    signature: 'static char *realpath(const char *path, char *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3536,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3540,1
    - Dst: dup2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3540,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3541,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3542
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3542
    functionName: js_os_dup2
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - dup2
    - JS_NewInt32
    - js_get_errno
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: "static JSValue js_os_dup2(JSContext *ctx, JSValueConst this_val,\tint
      argc, JSValueConst *argv) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3617,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3620,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3622,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3627,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3623,1
    - Dst: sprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3628,1
    - Dst: gf_mx_new
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3633
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3633
    functionName: js_new_message_pipe
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - pipe
    - gf_mx_new
    - sprintf
    - malloc
    - init_list_head
    - close
    linkageType: ''
    returnType: JSWorkerMessagePipe*
    signature: 'static JSWorkerMessagePipe *js_new_message_pipe(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - JSWorkerMessagePipe*
    constantsTouched: []
    func_position:
      end: 3639
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3639
    functionName: js_dup_message_pipe
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - atomic_add_int
    linkageType: ''
    returnType: JSWorkerMessagePipe*
    signature: 'static JSWorkerMessagePipe *js_dup_message_pipe(JSWorkerMessagePipe
      *ps) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1175,1
    - Dst: JS_ToInt64Ext
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1180,1
    - Dst: gf_fseek
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1184,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1187,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1188
    functionName: js_std_file_seek
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - JS_NewInt32
    - gf_fseek
    - JS_ToInt64Ext
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_seek(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1408,1
    - Dst: dbuf_printf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1429,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1437,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1441,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1452,1
    - Dst: http_get_header_line
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1459,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1475,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1478,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1495,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1509,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1535,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1418,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1428,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1439,1
    - Dst: popen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1445,1
    - Dst: http_get_header_line
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1470,1
    - Dst: pclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1502,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1504,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1508,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1533,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1514,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1526,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1536,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1520,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1434,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1435,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1446,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1440,1
    - Dst: dbuf_putstr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1438,1
    - Dst: http_get_status
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1463,1
    - Dst: fread
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1484,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1487,1
    - Dst: JS_NewArrayBufferCopy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1492,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1500,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1519,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1516,1
    - Dst: pclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1530,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1421,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1423,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1430,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1448,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1451,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1454,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1489,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1497,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1511,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1515,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1531,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1538
    functionName: js_std_urlGet
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_NewObject
    - JS_IsNull
    - JS_IsException
    - js_free
    - popen
    - JS_NewStringLen
    - http_get_header_line
    - JS_ToCString
    - dbuf_error
    - JS_ThrowTypeError
    - JS_NewInt32
    - strcmp
    - JS_NewArrayBufferCopy
    - js_std_dbuf_init
    - http_get_status
    - dbuf_putc
    - JS_FreeCString
    - js_malloc
    - dbuf_putstr
    - dbuf_printf
    - JS_FreeValue
    - get_bool_option
    - pclose
    - JS_DefinePropertyValueStr
    - fread
    - dbuf_free
    - dbuf_put
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2495,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2497,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2498,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2502,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2500,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - obj
    - err
    argTypes:
    - JSContext*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 2505
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2505
    functionName: make_obj_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_IsException
    - JS_NewArray
    - JS_NewInt32
    - JS_DefinePropertyValueUint32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue make_obj_error(JSContext *ctx, JSValue obj, int err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2765,1
    - Dst: nanosleep
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2782,1
    - Dst: Sleep
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2773,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2785,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2782,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2786
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2786
    functionName: js_os_sleep
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - Sleep
    - JS_ToInt64
    - JS_NewInt32
    - nanosleep
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_sleep(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: js_std_init_handlers
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3723,1
    - Dst: JS_FreeRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3740,1
    - Dst: js_std_loop
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3757,1
    - Dst: JS_RunModule
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3751,1
    - Dst: JS_FreeRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3764,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3728,1
    - Dst: js_std_free_handlers
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3739,1
    - Dst: js_std_add_helpers
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3748,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3755,1
    - Dst: JS_FreeContext
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3761,1
    - Dst: JS_SetCanBlock
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3744,1
    - Dst: JS_NewRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3718,1
    - Dst: JS_SetModuleLoaderFunc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3725,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3738,1
    - Dst: js_std_dump_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3752,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3721,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3720,1
    - Dst: js_worker_new_context_func
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3736,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3753,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3754,1
    - Dst: js_std_free_handlers_ex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3763,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3766,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3768
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3768
    functionName: worker_func
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_SetCanBlock
    - js_std_free_handlers
    - JS_GetRuntimeOpaque
    - JS_FreeRuntime
    - js_std_dump_error
    - js_std_add_helpers
    - fprintf
    - js_std_init_handlers
    - js_worker_new_context_func
    - exit
    - JS_SetModuleLoaderFunc
    - js_std_loop
    - js_std_free_handlers_ex
    - free
    - JS_NewRuntime
    - JS_RunModule
    - JS_FreeContext
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int worker_func(void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1193,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1196,1
    - Dst: feof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1197
    functionName: js_std_file_eof
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - feof
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_eof(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_obj_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2511,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - err
    argTypes:
    - JSContext*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2512
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2512
    functionName: make_string_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewString
    - make_obj_error
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue make_string_error(JSContext *ctx, const char *buf,
      int err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2732,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2736,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2744,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2734,1
    - Dst: _utime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2744,1
    - Dst: ms_to_timeval
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2749,1
    - Dst: ms_to_timeval
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2750,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2751,1
    - Dst: utimes
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2751,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2754,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2756
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2756
    functionName: js_os_utimes
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - ms_to_timeval
    - JS_ToInt64
    - JS_NewInt32
    - _utime
    - utimes
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_utimes(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3778,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3781,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3782,1
    - Dst: JS_NewObjectProtoClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3785,1
    - Dst: JS_GetClassProto
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3779,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3786,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3787,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3789,1
    - Dst: js_dup_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3792,1
    - Dst: js_dup_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3793,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3795,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3798,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - new_target
    - recv_pipe
    - send_pipe
    argTypes:
    - JSContext*
    - JSValueConst
    - JSWorkerMessagePipe*
    - JSWorkerMessagePipe*
    constantsTouched: []
    func_position:
      end: 3800
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3800
    functionName: js_worker_ctor_internal
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_IsUndefined
    - JS_NewObjectProtoClass
    - JS_SetOpaque
    - js_dup_message_pipe
    - js_mallocz
    - JS_GetClassProto
    - JS_GetPropertyStr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_worker_ctor_internal(JSContext *ctx, JSValueConst
      new_target, JSWorkerMessagePipe *recv_pipe, JSWorkerMessagePipe *send_pipe) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4227,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4229,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4233,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4230,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4232,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4234,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4235,1
    - Dst: init_list_head
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4236,1
    - Dst: JS_SetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4238,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4244,1
    - Dst: JS_SetSharedArrayBufferFunctions
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4251
      start: 4223
    functionDepth: 0
    functionLinenumber: 4223
    functionLinenumberEnd: 4251
    functionName: js_std_init_handlers
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - memset
    - fprintf
    - JS_SetSharedArrayBufferFunctions
    - exit
    - malloc
    - init_list_head
    - JS_SetRuntimeOpaque
    linkageType: ''
    returnType: void
    signature: 'void js_std_init_handlers(JSRuntime *rt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1257,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1271,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1279,1
    - Dst: fgetc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1267,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1265,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1280,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1281,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1284,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1287
    functionName: js_std_file_getline
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - fgetc
    - js_std_dbuf_init
    - dbuf_free
    - JS_ThrowOutOfMemory
    - dbuf_putc
    - JS_NewStringLen
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_getline(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1367,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - f
    - buf
    - buf_size
    - dbuf
    argTypes:
    - FILE*
    - char*
    - size_t
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1379
    functionName: http_get_header_line
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - fgetc
    linkageType: ''
    returnType: int
    signature: 'static int http_get_header_line(FILE *f, char *buf, size_t buf_size,
      DynBuf *dbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCModule
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1636,1
    - Dst: JS_AddModuleExportList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1639,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1640,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1639,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1641,1
    - Dst: JS_AddModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - module_name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1644
    functionName: js_init_module_std
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewCModule
    - JS_AddModuleExportList
    - countof
    - JS_AddModuleExport
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'JSModuleDef *js_init_module_std(JSContext *ctx, const char *module_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1996,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1998,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - sh
    argTypes:
    - JSRuntime*
    - JSOSSignalHandler*
    constantsTouched: []
    func_position:
      end: 1999
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1999
    functionName: free_sh
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - list_del
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void free_sh(JSRuntime *rt, JSOSSignalHandler *sh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3524,1
    - Dst: dup
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3526,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3526,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3528
      start: 3519
    functionDepth: 0
    functionLinenumber: 3519
    functionLinenumberEnd: 3528
    functionName: js_os_dup
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - js_get_errno
    - JS_ToInt32
    - dup
    linkageType: ''
    returnType: JSValue
    signature: "static JSValue js_os_dup(JSContext *ctx, JSValueConst this_val,\tint
      argc, JSValueConst *argv) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4181,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4182,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4186,1
    - Dst: fwrite
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4185,1
    - Dst: putchar
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 4190
      start: 4172
    functionDepth: 0
    functionLinenumber: 4172
    functionLinenumberEnd: 4190
    functionName: js_print
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCStringLen
    - JS_FreeCString
    - putchar
    - fwrite
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_print(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:545,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:548,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:548,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:551,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:552,1
    - Dst: dlopen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:558,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:560,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:562,1
    - Dst: dlsym
      Src: /src/gpac/src/quickjs/quickjs-libc.c:567,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:569,1
    - Dst: dlclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:580,1
    - Dst: init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:574,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:576,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - module_name
    argTypes:
    - JSContext*
    - char*
    constantsTouched: []
    func_position:
      end: 584
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 584
    functionName: js_module_loader_so
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strlen
    - dlsym
    - js_malloc
    - dlclose
    - init
    - dlopen
    - js_free
    - strchr
    - strcpy
    - JS_ThrowReferenceError
    linkageType: ''
    returnType: JSModuleDef*
    signature: 'static JSModuleDef *js_module_loader_so(JSContext *ctx, const char
      *module_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1391
    functionName: http_get_status
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int http_get_status(const char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sig_num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2004
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2004
    functionName: os_signal_handler
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void os_signal_handler(int sig_num) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2393,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2394,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2397,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2434,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2435,1
    - Dst: FD_SET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2440,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2447,1
    - Dst: select
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2452,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2454,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2462,1
    - Dst: handle_posted_message
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2475,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2382,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2393,1
    - Dst: unlink_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2408,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2437,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2439,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2445,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2456,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2458,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2463,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2472,1
    - Dst: FD_SET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2448,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2367,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2378,1
    - Dst: get_time_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2398,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2411,1
    - Dst: free_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2410,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2431,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2401,1
    - Dst: max_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2436,1
    - Dst: FD_SET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2438,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2444,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2470,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2474,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2368,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2383,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2387,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2412,1
    - Dst: FD_ZERO
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2432,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2400,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2443,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2455,1
    - Dst: FD_ISSET
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2457,1
    - Dst: call_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2464,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2471,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 115
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 2487
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2487
    functionName: js_os_poll
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - select
    - JS_FreeValue
    - FD_SET
    - JS_GetRuntimeOpaque
    - free_timer
    - JS_IsNull
    - FD_ISSET
    - handle_posted_message
    - unlink_timer
    - list_entry
    - list_empty
    - get_time_ms
    - call_handler
    - unlikely
    - FD_ZERO
    - max_int
    - list_for_each
    - JS_GetRuntime
    linkageType: ''
    returnType: int
    signature: 'static int js_os_poll(JSContext *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetGlobalObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4198,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4203,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4202,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4200,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4201,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4207,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4209,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4209,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4211,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4214,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4215,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4216,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4219,1
    - Dst: JS_NewCFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - JSContext*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4220
      start: 4192
    functionDepth: 0
    functionLinenumber: 4192
    functionLinenumberEnd: 4220
    functionName: js_std_add_helpers
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_SetPropertyUint32
    - JS_FreeValue
    - JS_NewArray
    - JS_NewObject
    - JS_NewString
    - JS_NewCFunction
    - JS_GetGlobalObject
    - JS_SetPropertyStr
    linkageType: ''
    returnType: void
    signature: 'void js_std_add_helpers(JSContext *ctx, int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3505,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3511,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3511,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3509,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3508,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3513,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3516
      start: 3499
    functionDepth: 0
    functionLinenumber: 3499
    functionLinenumberEnd: 3516
    functionName: js_os_pipe
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - pipe
    - JS_NewArray
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValueUint32
    linkageType: ''
    returnType: JSValue
    signature: "static JSValue js_os_pipe(JSContext *ctx, JSValueConst this_val,\tint
      argc, JSValueConst *argv) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:702,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:706,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:710,1
    - Dst: getenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 711
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 711
    functionName: js_std_getenv
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_NewString
    - getenv
    - JS_FreeCString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_getenv(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2063
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2063
    functionName: get_time_ms
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t get_time_ms(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tv
    - v
    argTypes:
    - struct timeval*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2722
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2722
    functionName: ms_to_timeval
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ms_to_timeval(struct timeval *tv, uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:718,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:723,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:720,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:719,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:721,1
    - Dst: _putenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:725,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 727
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 727
    functionName: setenv
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - malloc
    - free
    - _putenv
    linkageType: ''
    returnType: void
    signature: 'static void setenv(const char *name, const char *value, int overwrite) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1125,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1132,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1130,1
    - Dst: pclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1132,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1134,1
    - Dst: fclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1134,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1137
    functionName: js_std_file_close
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ThrowTypeError
    - JS_GetOpaque2
    - pclose
    - JS_NewInt32
    - fclose
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_close(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1202,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1205,1
    - Dst: ferror
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1206
    functionName: js_std_file_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - ferror
    - JS_NewBool
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_error(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3006,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3039,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3030,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3032,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3038,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3060,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3062,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3073,1
    - Dst: build_envp
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3074,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3090,1
    - Dst: _exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3126,1
    - Dst: WEXITSTATUS
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3147,1
    - Dst: WIFSIGNALED
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3149,1
    - Dst: setgid
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3129,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3164,1
    - Dst: _exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3139,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3103,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3091,1
    - Dst: execve
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3138,1
    - Dst: dup2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3113,1
    - Dst: WIFEXITED
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3146,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3094,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3035,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3036,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3050,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3058,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3070,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3071,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3095,1
    - Dst: _exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3114,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3081,1
    - Dst: chdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3121,1
    - Dst: _exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3122,1
    - Dst: _exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3130,1
    - Dst: waitpid
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3144,1
    - Dst: sysconf
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3108,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3172,1
    - Dst: my_execvpe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3136,1
    - Dst: WTERMSIG
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3150,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3001,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3000,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3013,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3048,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3049,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3057,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3063,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3080,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3083,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3085,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3161,1
    - Dst: setuid
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3125,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2997,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2998,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3008,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3012,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3015,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3016,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3046,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3045,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3040,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3075,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3084,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3093,1
    - Dst: fork
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3101,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3160,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3163,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3119,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3169,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3158,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 171
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3178
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 3178
    functionName: js_os_exec
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_IsException
    - waitpid
    - WIFSIGNALED
    - my_execvpe
    - js_free
    - dup2
    - JS_ToInt32
    - build_envp
    - JS_ToCString
    - JS_ThrowTypeError
    - JS_NewInt32
    - js_mallocz
    - WIFEXITED
    - sysconf
    - JS_FreeCString
    - JS_ToUint32
    - chdir
    - JS_IsUndefined
    - setuid
    - WTERMSIG
    - WEXITSTATUS
    - close
    - fork
    - JS_GetPropertyStr
    - JS_FreeValue
    - get_bool_option
    - setgid
    - execve
    - _exit
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_exec(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - (*func)
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4019
      start: 4014
    functionDepth: 0
    functionLinenumber: 4014
    functionLinenumberEnd: 4019
    functionName: js_std_set_worker_new_context_func
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void js_std_set_worker_new_context_func(JSContext *(*func)(JSRuntime
      *rt)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: unsetenv
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - setenv
    linkageType: ''
    returnType: void
    signature: 'static void unsetenv(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1142,1
    - Dst: js_printf_internal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: js_std_file_printf
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - js_printf_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_printf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1211,1
    - Dst: clearerr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1216
    functionName: js_std_file_clearerr
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - clearerr
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_clearerr(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - rt
    - ctx
    - port
    argTypes:
    - JSRuntime*
    - JSContext*
    - JSWorkerMessageHandler*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2257
    functionName: handle_posted_message
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int handle_posted_message(JSRuntime *rt, JSContext *ctx,\tJSWorkerMessageHandler
      *port) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1812,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1819,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1816,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1817,1
    - Dst: ioctl
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1814,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1819,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1820,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1825
    functionName: js_os_ttyGetWinSize
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewArray
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValueUint32
    - ioctl
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_ttyGetWinSize(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1943,1
    - Dst: find_rh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1953,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1952,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1944,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1949,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1955,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1957,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1958,1
    - Dst: free_rw_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1960,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1960,1
    - Dst: find_rh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1966,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1968,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1964,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1974,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1977,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1965,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1976,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 1980
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1980
    functionName: js_os_setReadHandler
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetRuntimeOpaque
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - free_rw_handler
    - JS_DupValue
    - js_mallocz
    - list_add_tail
    - find_rh
    - JS_GetRuntime
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_setReadHandler(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv, int magic) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gf_mx_p
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2195,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2233,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2242,1
    - Dst: read
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2207,1
    - Dst: JS_ReadObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2217,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2222,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2235,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2234,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2224,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2226,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2225,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2201,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2196,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2215,1
    - Dst: js_free_message
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2220,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2236,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2229,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2247,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2203,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2198,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2237,1
    - Dst: js_std_dump_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - rt
    - ctx
    - port
    argTypes:
    - JSRuntime*
    - JSContext*
    - JSWorkerMessageHandler*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2251
    functionName: handle_posted_message
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - list_del
    - JS_NewObject
    - js_std_dump_error
    - JS_IsException
    - list_entry
    - list_empty
    - gf_mx_p
    - JS_DefinePropertyValueStr
    - JS_DupValue
    - JS_Call
    - gf_mx_v
    - js_free_message
    - read
    - JS_ReadObject
    linkageType: ''
    returnType: int
    signature: "static int handle_posted_message(JSRuntime *rt, JSContext *ctx,\tJSWorkerMessageHandler
      *port) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:692,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: js_std_exit
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - exit
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_exit(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1986,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ts
    - sig_num
    argTypes:
    - JSThreadState*
    - int
    constantsTouched: []
    func_position:
      end: 1992
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1992
    functionName: find_sh
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - list_for_each
    - list_entry
    linkageType: ''
    returnType: JSOSSignalHandler*
    signature: 'static JSOSSignalHandler *find_sh(JSThreadState *ts, int sig_num) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1293,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1310,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1309,1
    - Dst: js_std_dbuf_init
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1316,1
    - Dst: fgetc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1318,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1321,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1322,1
    - Dst: JS_NewStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1327,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1330
    functionName: js_std_file_readAsString
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - fgetc
    - JS_IsUndefined
    - js_std_dbuf_init
    - dbuf_free
    - dbuf_putc
    - JS_NewStringLen
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_readAsString(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1655,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1661,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1660,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1663,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1658,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1674,1
    - Dst: open
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1674,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1675,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1676,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1677
    functionName: js_os_open
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewInt32
    - JS_IsUndefined
    - open
    - js_get_errno
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_open(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3410,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3417,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3411,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3418,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3440,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3443,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3443,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3453,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3453,1
    - Dst: GetLastError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3447,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3454,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3424,1
    - Dst: GetExitCodeProcess
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3439,1
    - Dst: JS_SetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3442,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3442,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3450,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3451,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3453,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3454,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3413,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3412,1
    - Dst: JS_ToInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3419,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3420,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3432,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3441,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3456
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3456
    functionName: js_os_waitpid
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_FreeValue
    - GetExitCodeProcess
    - JS_SetPropertyUint32
    - JS_NewArray
    - JS_ToInt64
    - JS_IsException
    - WaitForSingleObject
    - CloseHandle
    - JS_NewInt64
    - GetLastError
    - JS_DefinePropertyValueUint32
    - JS_NewInt32
    - JS_DupValue
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_waitpid(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3805,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3829,1
    - Dst: js_new_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3841,1
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3853,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3864,1
    - Dst: is_main_thread
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3814,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3823,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3824,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3865,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3868,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3874,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3875,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3876,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3877,1
    - Dst: JS_GetScriptOrModuleName
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3819,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3815,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3833,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3836,1
    - Dst: js_worker_ctor_internal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3848,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3850,1
    - Dst: strdup
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3837,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3873,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3821,1
    - Dst: gf_th_run
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3859,1
    - Dst: js_new_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3844,1
    - Dst: gf_th_new
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3854,1
    - Dst: strdup
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3838,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3861,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3870,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3871,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3879,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 4
    argNames:
    - ctx
    - new_target
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3881
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3881
    functionName: js_worker_ctor
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - memset
    - strdup
    - JS_IsException
    - gf_th_new
    - malloc
    - free
    - JS_ToCString
    - JS_ThrowTypeError
    - JS_GetOpaque
    - js_worker_ctor_internal
    - JS_FreeAtom
    - JS_GetRuntime
    - js_free_message_pipe
    - JS_FreeCString
    - JS_AtomToCString
    - gf_th_run
    - JS_GetScriptOrModuleName
    - is_main_thread
    - JS_FreeValue
    - js_new_message_pipe
    - JS_ThrowOutOfMemory
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_worker_ctor(JSContext *ctx, JSValueConst new_target,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3961,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3962,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3963,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3970,1
    - Dst: js_free_port
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3972,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3976,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3977,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3979,1
    - Dst: js_dup_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3982,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3984,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3987,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - this_val
    - func
    argTypes:
    - JSContext*
    - JSValueConst
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 3991
      start: 3958
    functionDepth: 0
    functionLinenumber: 3958
    functionLinenumberEnd: 3991
    functionName: js_worker_set_onmessage
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetRuntimeOpaque
    - JS_IsNull
    - JS_IsFunction
    - JS_ThrowTypeError
    - JS_GetOpaque2
    - js_free_port
    - js_dup_message_pipe
    - js_mallocz
    - JS_DupValue
    - list_add_tail
    - JS_GetRuntime
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_worker_set_onmessage(JSContext *ctx, JSValueConst
      this_val, JSValueConst func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:209,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - JSContext*
    - DynBuf*
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: js_std_dbuf_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - dbuf_init2
    - JS_GetRuntime
    linkageType: ''
    returnType: void
    signature: 'static void js_std_dbuf_init(JSContext *ctx, DynBuf *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3902,1
    - Dst: JS_WriteObject2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3896,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3922,1
    - Dst: js_sab_dup
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3926,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3950,1
    - Dst: write
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3936,1
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3886,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3915,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3952,1
    - Dst: list_empty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3932,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3953,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3918,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3949,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3912,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3909,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3921,1
    - Dst: gf_mx_v
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3944,1
    - Dst: gf_mx_p
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3930,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3943,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3948,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3956
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3956
    functionName: js_worker_postMessage
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_sab_dup
    - JS_GetOpaque2
    - list_empty
    - gf_mx_p
    - write
    - js_free
    - memcpy
    - malloc
    - free
    - list_add_tail
    - JS_WriteObject2
    - gf_mx_v
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_worker_postMessage(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque2
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3995,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - this_val
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 4005
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 4005
    functionName: js_worker_get_onmessage
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_DupValue
    - JS_GetOpaque2
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_worker_get_onmessage(JSContext *ctx, JSValueConst
      this_val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2082
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2082
    functionName: get_time_ms
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t get_time_ms(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_RunGC
      Src: /src/gpac/src/quickjs/quickjs-libc.c:807,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: js_std_gc
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetRuntime
    - JS_RunGC
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_gc(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3297,1
    - Dst: JS_GetPropertyUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3309,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3310,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3317,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3324,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3326,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3333,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3339,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3334,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3332,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3312,1
    - Dst: gf_dynstrcat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3316,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3329,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3330,1
    - Dst: ZeroMemory
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3362,1
    - Dst: WaitForSingleObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3373,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3381,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3383,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3384,1
    - Dst: CreateProcess
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3365,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3380,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3389,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3296,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3313,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3352,1
    - Dst: ZeroMemory
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3360,1
    - Dst: GetExitCodeProcess
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3375,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3376,1
    - Dst: CloseHandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3377,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3383,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3388,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3392,1
    - Dst: gf_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3391,1
    - Dst: build_envp_win
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3353,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3305,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3300,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3299,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3342,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3343,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3344,1
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3349,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3350,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3354,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3366,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3378,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3384,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3340,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3398
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3398
    functionName: js_os_exec
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetPropertyUint32
    - JS_IsException
    - JS_DefinePropertyValueUint32
    - js_free
    - JS_ToCString
    - JS_NewArray
    - ZeroMemory
    - JS_ThrowTypeError
    - CreateProcess
    - JS_NewInt32
    - JS_NewInt64
    - gf_dynstrcat
    - JS_FreeCString
    - GetExitCodeProcess
    - JS_ToUint32
    - JS_IsUndefined
    - gf_free
    - build_envp_win
    - JS_GetPropertyStr
    - JS_FreeValue
    - get_bool_option
    - WaitForSingleObject
    - CloseHandle
    linkageType: ''
    returnType: JSValue
    signature: "static JSValue js_os_exec(JSContext *ctx, JSValueConst this_val,\tint
      argc, JSValueConst *argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_sab_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3646,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3650,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3648,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - JSWorkerMessage*
    constantsTouched: []
    func_position:
      end: 3651
      start: 3641
    functionDepth: 0
    functionLinenumber: 3641
    functionLinenumberEnd: 3651
    functionName: js_free_message
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_sab_free
    - free
    linkageType: ''
    returnType: void
    signature: 'static void js_free_message(JSWorkerMessage *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - opaque
    argTypes:
    - JSRuntime*
    - void*
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: interrupt_handler
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int interrupt_handler(JSRuntime *rt, void *opaque) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_int
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3662,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3666,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3665,1
    - Dst: js_free_message
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3667,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3663,1
    - Dst: gf_mx_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3669,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3670,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3671,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ps
    argTypes:
    - JSWorkerMessagePipe*
    constantsTouched: []
    func_position:
      end: 3674
      start: 3653
    functionDepth: 0
    functionLinenumber: 3653
    functionLinenumberEnd: 3674
    functionName: js_free_message_pipe
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - assert
    - atomic_add_int
    - list_entry
    - list_for_each_safe
    - free
    - gf_mx_del
    - close
    - js_free_message
    linkageType: ''
    returnType: void
    signature: 'static void js_free_message_pipe(JSWorkerMessagePipe *ps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1769,1
    - Dst: _get_osfhandle
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1771,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1773,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1775,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1776,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1778,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1778,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1779,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1781
    functionName: js_os_ttyGetWinSize
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewArray
    - GetConsoleScreenBufferInfo
    - _get_osfhandle
    - JS_IsException
    - JS_NewInt32
    - JS_DefinePropertyValueUint32
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_ttyGetWinSize(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2644,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2669,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2657,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2659,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2671,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2675,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2684,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2686,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2693,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2697,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2707,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2709,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2710,1
    - Dst: make_obj_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2714,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2704,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2707,1
    - Dst: stat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2642,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2654,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2660,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2662,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2672,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2678,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2687,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2694,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2697,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2699,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2710,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2704,1
    - Dst: lstat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2640,1
    - Dst: stat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2637,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2650,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2651,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2653,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2663,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2665,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2679,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2689,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2694,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2633,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2656,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2666,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2668,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2674,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2683,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2690,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2696,1
    - Dst: timespec_to_ms
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2700,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2703,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2706,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2700,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - is_lstat
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 2715
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2715
    functionName: js_os_stat
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewObject
    - stat
    - JS_IsException
    - JS_DefinePropertyValueStr
    - JS_NewInt32
    - JS_NewInt64
    - lstat
    - make_obj_error
    - timespec_to_ms
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_stat(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv, int is_lstat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3187,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3199,1
    - Dst: waitpid
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3192,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3189,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3198,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3201,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3201,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3203,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 3206
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3206
    functionName: js_os_waitpid
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewArray
    - JS_IsException
    - JS_NewInt32
    - waitpid
    - JS_DefinePropertyValueUint32
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_waitpid(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3239,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3276,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3241,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3238,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3242,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3245,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3255,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3260,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3254,1
    - Dst: JS_GetOwnPropertyNames
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3234,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3247,1
    - Dst: js_realloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3252,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3258,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3271,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3266,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3250,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3251,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3272,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3267,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 3280
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3280
    functionName: build_envp_win
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - JS_GetOwnPropertyNames
    - strlen
    - JS_IsException
    - JS_GetProperty
    - JS_AtomToCString
    - js_free
    - memcpy
    - JS_FreeAtom
    - js_realloc
    linkageType: ''
    returnType: char*
    signature: 'static char *build_envp_win(JSContext *ctx, JSValueConst obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:487,1
    - Dst: JS_Eval
      Src: /src/gpac/src/quickjs/quickjs-libc.c:496,1
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:492,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:493,1
    - Dst: js_load_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:490,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:498,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 501
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 501
    functionName: js_loadScript
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_Eval
    - js_free
    - JS_ThrowReferenceError
    - js_load_file
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_loadScript(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1221,1
    - Dst: fileno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1224,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: js_std_file_fileno
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_file_get
    - JS_NewInt32
    - fileno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_fileno(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1871,1
    - Dst: stat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1877,1
    - Dst: rmdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1878,1
    - Dst: S_ISDIR
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1877,1
    - Dst: unlink
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1880,1
    - Dst: remove
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1884,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1886,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1887,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1889
    functionName: js_os_remove
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - rmdir
    - stat
    - JS_NewInt32
    - S_ISDIR
    - remove
    - js_get_errno
    - unlink
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_remove(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2829,1
    - Dst: symlink
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2837,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2834,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2832,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2837,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2838,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2839,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2841
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2841
    functionName: js_os_symlink
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewInt32
    - symlink
    - js_get_errno
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_symlink(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2934,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2948,1
    - Dst: execve
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2940,1
    - Dst: getenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2942,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2939,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2951,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2959,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2961,1
    - Dst: execve
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2964,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 3
    argNames:
    - filename
    - argv
    - envp
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 2980
      start: 2927
    functionDepth: 0
    functionLinenumber: 2927
    functionLinenumberEnd: 2980
    functionName: my_execvpe
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strlen
    - getenv
    - memcpy
    - strchr
    - execve
    linkageType: ''
    returnType: int
    signature: 'static int my_execvpe(const char *filename, char **argv, char **envp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: js_std_file_get
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1230,1
    - Dst: JS_GetArrayBuffer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1241,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1237,1
    - Dst: JS_ToIndex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1239,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1245,1
    - Dst: fwrite
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1247,1
    - Dst: fread
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1249,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    - magic
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    - int
    constantsTouched: []
    func_position:
      end: 1251
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1251
    functionName: js_std_file_read_write
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ThrowRangeError
    - js_std_file_get
    - JS_NewInt64
    - JS_GetArrayBuffer
    - fread
    - fwrite
    - JS_ToIndex
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_file_read_write(JSContext *ctx, JSValueConst
      this_val, int argc, JSValueConst *argv, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcsetattr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1832
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1832
    functionName: term_exit
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: 'static void term_exit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4334,1
    - Dst: js_std_dump_error1
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4335,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4337
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4337
    functionName: js_std_dump_error
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetException
    - js_std_dump_error1
    linkageType: ''
    returnType: void
    signature: 'void js_std_dump_error(JSContext *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:440,1
    - Dst: fseek
      Src: /src/gpac/src/quickjs/quickjs-libc.c:443,1
    - Dst: fseek
      Src: /src/gpac/src/quickjs/quickjs-libc.c:454,1
    - Dst: ftell
      Src: /src/gpac/src/quickjs/quickjs-libc.c:445,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:457,1
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:459,1
    - Dst: fread
      Src: /src/gpac/src/quickjs/quickjs-libc.c:462,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:465,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:467,1
    - Dst: fclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:469,1
    - Dst: fclose
      Src: /src/gpac/src/quickjs/quickjs-libc.c:473,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - pbuf_len
    - filename
    argTypes:
    - JSContext*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 476
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 476
    functionName: js_load_file
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - fopen
    - fseek
    - js_malloc
    - fread
    - js_free
    - malloc
    - ftell
    - free
    - fclose
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *js_load_file(JSContext *ctx, size_t *pbuf_len, const char
      *filename) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2905,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2914,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2879,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2896,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2908,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2903,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2884,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2892,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2899,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2900,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2909,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2920,1
    - Dst: JS_GetOwnPropertyNames
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2876,1
    - Dst: JS_GetProperty
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2883,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2886,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2887,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2890,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2895,1
    - Dst: js_malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2897,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2913,1
    - Dst: js_free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2919,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 2924
      start: 2867
    functionDepth: 0
    functionLinenumber: 2867
    functionLinenumberEnd: 2924
    functionName: build_envp
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeValue
    - JS_FreeCString
    - JS_GetOwnPropertyNames
    - strlen
    - js_malloc
    - JS_IsException
    - JS_GetProperty
    - JS_AtomToCString
    - js_free
    - js_mallocz
    - memcpy
    - JS_FreeAtom
    linkageType: ''
    returnType: char**
    signature: 'static char **build_envp(JSContext *ctx, JSValueConst obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3590
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3590
    functionName: js_sab_alloc
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *js_sab_alloc(void *opaque, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObjectClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:933,1
    - Dst: JS_SetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:944,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:938,1
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:936,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - f
    - close_in_finalizer
    - is_popen
    argTypes:
    - JSContext*
    - FILE*
    - BOOL
    - BOOL
    constantsTouched: []
    func_position:
      end: 946
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 946
    functionName: js_new_std_file
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_IsException
    - JS_SetOpaque
    - JS_NewObjectClass
    - js_mallocz
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_new_std_file(JSContext *ctx, FILE *f, BOOL close_in_finalizer,
      BOOL is_popen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:962,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:965,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:969,1
    - Dst: fopen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:973,1
    - Dst: strspn
      Src: /src/gpac/src/quickjs/quickjs-libc.c:968,1
    - Dst: js_set_error_object
      Src: /src/gpac/src/quickjs/quickjs-libc.c:979,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:980,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:981,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:984,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:986,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:987,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 989
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 989
    functionName: js_std_open
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - fopen
    - strspn
    - JS_ToCString
    - JS_FreeCString
    - js_new_std_file
    - JS_ThrowTypeError
    - js_set_error_object
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_open(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3575,1
    - Dst: atomic_fetch_add
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - v
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 3579
      start: 3572
    functionDepth: 0
    functionLinenumber: 3572
    functionLinenumberEnd: 3579
    functionName: atomic_add_int
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'static int atomic_add_int(int *ptr, int v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4263,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4259,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4264,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4268,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4269,1
    - Dst: free_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4272,1
    - Dst: JS_SetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4291,1
    - Dst: free_rw_handler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4260,1
    - Dst: free_sh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4265,1
    - Dst: unlink_timer
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4270,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4285,1
    - Dst: free
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4290,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4279,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4255,1
    - Dst: list_for_each_safe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4258,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4286,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4280,1
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4278,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - rt
    - no_free_ts
    argTypes:
    - JSRuntime*
    - int
    constantsTouched: []
    func_position:
      end: 4292
      start: 4253
    functionDepth: 0
    functionLinenumber: 4253
    functionLinenumberEnd: 4292
    functionName: js_std_free_handlers_ex
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_GetRuntimeOpaque
    - free_sh
    - free_timer
    - unlink_timer
    - list_entry
    - JS_IsUndefined
    - list_for_each_safe
    - free_rw_handler
    - JS_FreeValueRT
    - free
    - list_for_each
    - JS_SetRuntimeOpaque
    - js_free_message_pipe
    linkageType: ''
    returnType: void
    signature: 'static void js_std_free_handlers_ex(JSRuntime *rt, int no_free_ts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs-libc.c:605,1
    - Dst: JS_GetImportMeta
      Src: /src/gpac/src/quickjs/quickjs-libc.c:636,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:637,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:645,1
    - Dst: JS_GetModuleName
      Src: /src/gpac/src/quickjs/quickjs-libc.c:608,1
    - Dst: realpath
      Src: /src/gpac/src/quickjs/quickjs-libc.c:620,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:620,1
    - Dst: pstrcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:632,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:634,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:622,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:639,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:623,1
    - Dst: JS_DefinePropertyValueStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:642,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs-libc.c:606,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:640,1
    - Dst: pstrcat
      Src: /src/gpac/src/quickjs/quickjs-libc.c:629,1
    - Dst: JS_NewBool
      Src: /src/gpac/src/quickjs/quickjs-libc.c:643,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/quickjs-libc.c:605,1
    - Dst: JS_AtomToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:609,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs-libc.c:610,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:613,1
    - Dst: strcpy
      Src: /src/gpac/src/quickjs/quickjs-libc.c:614,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - func_val
    - use_realpath
    - is_main
    argTypes:
    - JSContext*
    - JSValueConst
    - JS_BOOL
    - JS_BOOL
    constantsTouched: []
    func_position:
      end: 647
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 647
    functionName: js_module_set_import_meta
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strlen
    - JS_IsException
    - JS_GetModuleName
    - JS_NewBool
    - JS_ThrowTypeError
    - JS_VALUE_GET_TAG
    - strcpy
    - JS_FreeAtom
    - pstrcat
    - assert
    - JS_FreeCString
    - JS_NewString
    - JS_VALUE_GET_PTR
    - JS_AtomToCString
    - pstrcpy
    - strchr
    - realpath
    - JS_FreeValue
    - JS_DefinePropertyValueStr
    - JS_GetImportMeta
    linkageType: ''
    returnType: int
    signature: 'int js_module_set_import_meta(JSContext *ctx, JSValueConst func_val,
      JS_BOOL use_realpath, JS_BOOL is_main) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:950,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:951,1
    - Dst: JS_SetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - obj
    - err
    argTypes:
    - JSContext*
    - JSValue
    - int
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: js_set_error_object
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewInt32
    - JS_SetPropertyStr
    - JS_IsUndefined
    linkageType: ''
    returnType: void
    signature: 'static void js_set_error_object(JSContext *ctx, JSValue obj, int err) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:998,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1001,1
    - Dst: popen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1009,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1005,1
    - Dst: strspn
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1004,1
    - Dst: js_set_error_object
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1015,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1016,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1017,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1020,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1022,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1023,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1025
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1025
    functionName: js_std_popen
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strspn
    - JS_ToCString
    - JS_FreeCString
    - js_new_std_file
    - JS_ThrowTypeError
    - js_set_error_object
    - popen
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_popen(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_std_free_handlers_ex
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - JSRuntime*
    constantsTouched: []
    func_position:
      end: 4298
      start: 4294
    functionDepth: 0
    functionLinenumber: 4294
    functionLinenumberEnd: 4298
    functionName: js_std_free_handlers
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_std_free_handlers_ex
    linkageType: ''
    returnType: void
    signature: 'void js_std_free_handlers(JSRuntime *rt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_printf_internal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    functionName: js_std_sprintf
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_printf_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_sprintf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1683,1
    - Dst: close
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1685,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1686,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1687
    functionName: js_os_close
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - close
    - JS_NewInt32
    - js_get_errno
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_close(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1841,1
    - Dst: tcsetattr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1857,1
    - Dst: memset
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1844,1
    - Dst: tcgetattr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1845,1
    - Dst: atexit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1861
    functionName: js_os_ttySetRaw
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - tcgetattr
    - memset
    - atexit
    - tcsetattr
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_ttySetRaw(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3679,1
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3681,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3682,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - port
    argTypes:
    - JSRuntime*
    - JSWorkerMessageHandler*
    constantsTouched: []
    func_position:
      end: 3684
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3684
    functionName: js_free_port
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - list_del
    - js_free_rt
    - js_free_message_pipe
    linkageType: ''
    returnType: void
    signature: 'static void js_free_port(JSRuntime *rt, JSWorkerMessageHandler *port) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ExecutePendingJob
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4360,1
    - Dst: js_std_dump_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4363,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4360,1
    - Dst: os_poll_func
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - JSContext*
    constantsTouched: []
    func_position:
      end: 4372
      start: 4352
    functionDepth: 0
    functionLinenumber: 4352
    functionLinenumberEnd: 4372
    functionName: js_std_loop
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - os_poll_func
    - JS_ExecutePendingJob
    - JS_GetRuntime
    - js_std_dump_error
    linkageType: ''
    returnType: void
    signature: 'void js_std_loop(JSContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_printf_internal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    functionName: js_std_printf
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_printf_internal
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_printf(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewClassID
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1617,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1619,1
    - Dst: JS_SetPropertyFunctionList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1621,1
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1620,1
    - Dst: JS_NewClass
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1619,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1622,1
    - Dst: JS_SetClassProto
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1623,1
    - Dst: JS_SetModuleExportList
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1625,1
    - Dst: countof
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1626,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1627,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1627,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1629,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1628,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1628,1
    - Dst: JS_SetModuleExport
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - m
    argTypes:
    - JSContext*
    - JSModuleDef*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1631
    functionName: js_std_init
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_NewClassID
    - JS_SetClassProto
    - JS_NewObject
    - js_new_std_file
    - JS_SetPropertyFunctionList
    - JS_SetModuleExportList
    - countof
    - JS_NewClass
    - JS_SetModuleExport
    - JS_GetRuntime
    linkageType: ''
    returnType: int
    signature: 'static int js_std_init(JSContext *ctx, JSModuleDef *m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1696,1
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1701,1
    - Dst: JS_ToInt64Ext
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1699,1
    - Dst: JS_IsBigInt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1698,1
    - Dst: _lseeki64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1704,1
    - Dst: lseek
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1706,1
    - Dst: JS_NewBigInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1711,1
    - Dst: JS_NewInt64
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1714
    functionName: js_os_seek
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - _lseeki64
    - JS_IsBigInt
    - JS_NewBigInt64
    - JS_NewInt64
    - JS_ToInt64Ext
    - lseek
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_seek(JSContext *ctx, JSValueConst this_val, int
      argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2172,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2175,1
    - Dst: JS_Call
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2173,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2174,1
    - Dst: js_std_dump_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2176,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - func
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 2178
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2178
    functionName: call_handler
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - js_std_dump_error
    - JS_IsException
    - JS_DupValue
    - JS_Call
    linkageType: ''
    returnType: void
    signature: 'static void call_handler(JSContext *ctx, JSValueConst func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3688,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3691,1
    - Dst: gf_th_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3698,1
    - Dst: js_free_message_pipe
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3690,1
    - Dst: js_free_port
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3692,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:3699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - rt
    - val
    argTypes:
    - JSRuntime*
    - JSValue
    constantsTouched: []
    func_position:
      end: 3701
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3701
    functionName: js_worker_finalizer
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - js_free_rt
    - js_free_port
    - JS_GetOpaque
    - js_free_message_pipe
    - gf_th_del
    linkageType: ''
    returnType: void
    signature: 'static void js_worker_finalizer(JSRuntime *rt, JSValue val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2583,1
    - Dst: JS_NewArray
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2586,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2587,1
    - Dst: opendir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2591,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2588,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2596,1
    - Dst: readdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2602,1
    - Dst: JS_DefinePropertyValueUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2607,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2608,1
    - Dst: closedir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2611,1
    - Dst: make_obj_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2613,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2615
    functionName: js_os_readdir
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - JS_NewArray
    - JS_IsException
    - JS_NewString
    - JS_DefinePropertyValueUint32
    - opendir
    - readdir
    - closedir
    - make_obj_error
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_readdir(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:739,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:744,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:742,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:748,1
    - Dst: setenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:747,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:749,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 751
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 751
    functionName: js_std_setenv
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - setenv
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_setenv(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:778,1
    - Dst: JS_NewAtomLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:789,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:784,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:779,1
    - Dst: JS_DefinePropertyValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:792,1
    - Dst: JS_NewString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:792,1
    - Dst: JS_FreeAtom
      Src: /src/gpac/src/quickjs/quickjs-libc.c:794,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:800,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 802
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 802
    functionName: js_std_getenviron
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_NewObject
    - JS_IsException
    - JS_NewString
    - JS_DefinePropertyValue
    - JS_NewAtomLen
    - strchr
    - JS_FreeAtom
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_getenviron(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyStr
      Src: /src/gpac/src/quickjs/quickjs-libc.c:821,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:824,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:827,1
    - Dst: JS_ToBool
      Src: /src/gpac/src/quickjs/quickjs-libc.c:825,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - pbool
    - obj
    - option
    argTypes:
    - JSContext*
    - BOOL*
    - JSValueConst
    - char*
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: get_bool_option
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ToBool
    - JS_IsException
    - JS_IsUndefined
    - JS_GetPropertyStr
    linkageType: ''
    returnType: int
    signature: 'static int get_bool_option(JSContext *ctx, BOOL *pbool, JSValueConst
      obj, const char *option) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1034,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1040,1
    - Dst: strspn
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1039,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1036,1
    - Dst: fdopen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1044,1
    - Dst: js_set_error_object
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1050,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1051,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1054,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1056,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1058
    functionName: js_std_fdopen
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - strspn
    - JS_ToCString
    - JS_FreeCString
    - js_new_std_file
    - JS_ThrowTypeError
    - js_set_error_object
    - fdopen
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_fdopen(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1922,1
    - Dst: list_entry
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ts
    - fd
    argTypes:
    - JSThreadState*
    - int
    constantsTouched: []
    func_position:
      end: 1928
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1928
    functionName: find_rh
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - list_for_each
    - list_entry
    linkageType: ''
    returnType: JSOSRWHandler*
    signature: 'static JSOSRWHandler *find_rh(JSThreadState *ts, int fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2551,1
    - Dst: mkdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2561,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2563,1
    - Dst: js_get_errno
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2561,1
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2556,1
    - Dst: mkdir
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2563,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2565,1
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2567
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2567
    functionName: js_os_mkdir
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - JS_FreeCString
    - mkdir
    - JS_NewInt32
    - js_get_errno
    - JS_ToInt32
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_mkdir(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2808,1
    - Dst: make_string_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2819,1
    - Dst: realpath
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2811,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2820
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2820
    functionName: js_os_realpath
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - realpath
    - JS_FreeCString
    - make_string_error
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_realpath(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: js_mallocz
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2044,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2034,1
    - Dst: list_add_tail
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2048,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2013,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2026,1
    - Dst: free_sh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2032,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2032,1
    - Dst: JS_IsFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2040,1
    - Dst: signal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2038,1
    - Dst: is_main_thread
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2020,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2014,1
    - Dst: find_sh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2030,1
    - Dst: find_sh
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2042,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2041,1
    - Dst: JS_ToUint32
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2023,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2021,1
    - Dst: JS_IsNull
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2029,1
    - Dst: JS_IsUndefined
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2029,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2050,1
    - Dst: JS_DupValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2051,1
    - Dst: signal
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2052,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2055
    functionName: js_os_signal
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_GetRuntimeOpaque
    - JS_ThrowRangeError
    - JS_IsNull
    - free_sh
    - JS_ThrowTypeError
    - JS_ToUint32
    - signal
    - JS_IsFunction
    - JS_IsUndefined
    - find_sh
    - JS_DupValue
    - js_mallocz
    - list_add_tail
    - JS_GetRuntime
    - is_main_thread
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_signal(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:834,1
    - Dst: JS_GetRuntimeOpaque
      Src: /src/gpac/src/quickjs/quickjs-libc.c:835,1
    - Dst: JS_SetInterruptHandler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:855,1
    - Dst: JS_ToCStringLen
      Src: /src/gpac/src/quickjs/quickjs-libc.c:850,1
    - Dst: get_bool_option
      Src: /src/gpac/src/quickjs/quickjs-libc.c:845,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:855,1
    - Dst: JS_Eval
      Src: /src/gpac/src/quickjs/quickjs-libc.c:860,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:861,1
    - Dst: JS_SetInterruptHandler
      Src: /src/gpac/src/quickjs/quickjs-libc.c:864,1
    - Dst: JS_GetRuntime
      Src: /src/gpac/src/quickjs/quickjs-libc.c:864,1
    - Dst: JS_ResetUncatchableError
      Src: /src/gpac/src/quickjs/quickjs-libc.c:869,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:868,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 872
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 872
    functionName: js_evalScript
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - get_bool_option
    - JS_GetRuntimeOpaque
    - JS_FreeCString
    - JS_ToCStringLen
    - JS_IsException
    - JS_Eval
    - JS_SetInterruptHandler
    - JS_ResetUncatchableError
    - JS_GetRuntime
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_evalScript(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmpfile
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1064,1
    - Dst: js_set_error_object
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1066,1
    - Dst: js_new_std_file
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1070
    functionName: js_std_tmpfile
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - tmpfile
    - js_set_error_object
    - js_new_std_file
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_tmpfile(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1933,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1935,1
    - Dst: js_free_rt
      Src: /src/gpac/src/quickjs/quickjs-libc.c:1937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rt
    - rh
    argTypes:
    - JSRuntime*
    - JSOSRWHandler*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1938
    functionName: free_rw_handler
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValueRT
    - list_del
    - js_free_rt
    linkageType: ''
    returnType: void
    signature: 'static void free_rw_handler(JSRuntime *rt, JSOSRWHandler *rh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:757,1
    - Dst: unsetenv
      Src: /src/gpac/src/quickjs/quickjs-libc.c:760,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 763
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 763
    functionName: js_std_unsetenv
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - unsetenv
    - JS_ToCString
    - JS_FreeCString
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_std_unsetenv(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2852,1
    - Dst: JS_FreeCString
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2863,1
    - Dst: make_string_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2864,1
    - Dst: readlink
      Src: /src/gpac/src/quickjs/quickjs-libc.c:2855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - this_val
    - argc
    - argv
    argTypes:
    - JSContext*
    - JSValueConst
    - int
    - JSValueConst*
    constantsTouched: []
    func_position:
      end: 2865
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2865
    functionName: js_os_readlink
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_ToCString
    - readlink
    - JS_FreeCString
    - make_string_error
    linkageType: ''
    returnType: JSValue
    signature: 'static JSValue js_os_readlink(JSContext *ctx, JSValueConst this_val,
      int argc, JSValueConst *argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JS_ReadObject
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4381,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4382,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4385,1
    - Dst: js_module_set_import_meta
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4386,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4389,1
    - Dst: JS_ResolveModule
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4390,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4391,1
    - Dst: js_module_set_import_meta
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4394,1
    - Dst: JS_EvalFunction
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4396,1
    - Dst: JS_IsException
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4397,1
    - Dst: js_std_dump_error
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4399,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4402,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/quickjs-libc.c:4400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_len
    - load_only
    argTypes:
    - JSContext*
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4404
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4404
    functionName: js_std_eval_binary
    functionSourceFile: /src/gpac/src/quickjs/quickjs-libc.c
    functionUses: []
    functionsReached:
    - JS_FreeValue
    - JS_ResolveModule
    - js_std_dump_error
    - JS_IsException
    - js_module_set_import_meta
    - JS_VALUE_GET_TAG
    - exit
    - JS_ReadObject
    - JS_EvalFunction
    linkageType: ''
    returnType: void
    signature: 'void js_std_eval_binary(JSContext *ctx, const uint8_t *buf, size_t
      buf_len, int load_only) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cr_realloc
      Src: /src/gpac/src/quickjs/libunicode.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - v
    argTypes:
    - CharRange*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: cr_add_point
    functionSourceFile: /src/gpac/src/quickjs/libunicode.h
    functionUses: []
    functionsReached:
    - cr_realloc
    linkageType: ''
    returnType: int
    signature: 'static inline int cr_add_point(CharRange *cr, uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cr_union1
      Src: /src/gpac/src/quickjs/libunicode.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - c1
    - c2
    argTypes:
    - CharRange*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: cr_union_interval
    functionSourceFile: /src/gpac/src/quickjs/libunicode.h
    functionUses: []
    functionsReached:
    - cr_union1
    linkageType: ''
    returnType: int
    signature: 'static inline int cr_union_interval(CharRange *cr, uint32_t c1, uint32_t
      c2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cr_realloc
      Src: /src/gpac/src/quickjs/libunicode.h:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - c1
    - c2
    argTypes:
    - CharRange*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cr_add_interval
    functionSourceFile: /src/gpac/src/quickjs/libunicode.h
    functionUses: []
    functionsReached:
    - cr_realloc
    linkageType: ''
    returnType: int
    signature: 'static inline int cr_add_interval(CharRange *cr, uint32_t c1, uint32_t
      c2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: bf_max
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: slimb_t
    signature: 'static inline slimb_t bf_max(slimb_t a, slimb_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: bf_neg
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void bf_neg(bf_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: bf_is_nan
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_is_nan(const bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: bf_memcpy
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void bf_memcpy(bf_t *r, const bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_init
      Src: /src/gpac/src/quickjs/libbf.h:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - bf_context_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: bfdec_init
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_init
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_init(bf_context_t *s, bfdec_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: bfdec_neg
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_neg(bfdec_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: bfdec_is_nan
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_is_nan(const bfdec_t *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - slimb_t
    - slimb_t
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: bf_min
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: slimb_t
    signature: 'static inline slimb_t bf_min(slimb_t a, slimb_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.h:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: bf_delete
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_realloc
    linkageType: ''
    returnType: void
    signature: 'static inline void bf_delete(bf_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: bf_is_finite
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_is_finite(const bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bf_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: bf_is_zero
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_is_zero(const bf_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_delete
      Src: /src/gpac/src/quickjs/libbf.h:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: bfdec_delete
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_delete
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_delete(bfdec_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: bfdec_is_finite
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_is_finite(const bfdec_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: bfdec_is_zero
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_is_zero(const bfdec_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: bf_set_exp_bits
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bf_flags_t
    signature: 'static inline bf_flags_t bf_set_exp_bits(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmp
      Src: /src/gpac/src/quickjs/libbf.h:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: bf_cmp_le
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_cmp_le(const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmp
      Src: /src/gpac/src/quickjs/libbf.h:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: bfdec_cmp
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmp(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_cmp
      Src: /src/gpac/src/quickjs/libbf.h:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: bfdec_cmp_le
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bfdec_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmp_le(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmp
      Src: /src/gpac/src/quickjs/libbf.h:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: bf_cmp_lt
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_cmp_lt(const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_cmp
      Src: /src/gpac/src/quickjs/libbf.h:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: bfdec_cmp_eq
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bfdec_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmp_eq(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfdec_cmp
      Src: /src/gpac/src/quickjs/libbf.h:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: bfdec_cmp_lt
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bfdec_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmp_lt(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_memcpy
      Src: /src/gpac/src/quickjs/libbf.h:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: bfdec_memcpy
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_memcpy
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_memcpy(bfdec_t *r, const bfdec_t *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - bf_flags_t
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: bf_get_exp_bits
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_get_exp_bits(bf_flags_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ptr
    - size
    argTypes:
    - bf_context_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: bf_realloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static inline void *bf_realloc(bf_context_t *s, void *ptr, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.h:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - bf_context_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: bf_malloc
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_realloc
    linkageType: ''
    returnType: void*
    signature: 'static inline void *bf_malloc(bf_context_t *s, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_zero
      Src: /src/gpac/src/quickjs/libbf.h:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - r
    - is_neg
    argTypes:
    - bfdec_t*
    - int
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: bfdec_set_zero
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_set_zero
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_set_zero(bfdec_t *r, int is_neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_set
      Src: /src/gpac/src/quickjs/libbf.h:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: bfdec_set
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_set
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_set(bfdec_t *r, const bfdec_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmpu
      Src: /src/gpac/src/quickjs/libbf.h:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: bfdec_cmpu
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmpu
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmpu(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bf_realloc
      Src: /src/gpac/src/quickjs/libbf.h:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ptr
    argTypes:
    - bf_context_t*
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: bf_free
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_realloc
    linkageType: ''
    returnType: void
    signature: 'static inline void bf_free(bf_context_t *s, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmp
      Src: /src/gpac/src/quickjs/libbf.h:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bf_t*
    - bf_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: bf_cmp_eq
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmp
    linkageType: ''
    returnType: int
    signature: 'static inline int bf_cmp_eq(const bf_t *a, const bf_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_nan
      Src: /src/gpac/src/quickjs/libbf.h:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: bfdec_set_nan
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_set_nan
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_set_nan(bfdec_t *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_set_inf
      Src: /src/gpac/src/quickjs/libbf.h:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - r
    - is_neg
    argTypes:
    - bfdec_t*
    - int
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: bfdec_set_inf
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_set_inf
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_set_inf(bfdec_t *r, int is_neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_move
      Src: /src/gpac/src/quickjs/libbf.h:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: bfdec_move
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_move
    linkageType: ''
    returnType: void
    signature: 'static inline void bfdec_move(bfdec_t *r, bfdec_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_cmp_full
      Src: /src/gpac/src/quickjs/libbf.h:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bfdec_t*
    - bfdec_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: bfdec_cmp_full
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_cmp_full
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_cmp_full(const bfdec_t *a, const bfdec_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bf_resize
      Src: /src/gpac/src/quickjs/libbf.h:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - r
    - len
    argTypes:
    - bfdec_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: bfdec_resize
    functionSourceFile: /src/gpac/src/quickjs/libbf.h
    functionUses: []
    functionsReached:
    - bf_resize
    linkageType: ''
    returnType: int
    signature: 'static inline int bfdec_resize(bfdec_t *r, limb_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_MKVAL
      Src: /src/gpac/src/quickjs/quickjs.h:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - int32_t
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: JS_NewCatchOffset
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_MKVAL
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewCatchOffset(JSContext *ctx, int32_t
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: JS_IsObject
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsObject(JSValueConst v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: js_unlikely
      Src: /src/gpac/src/quickjs/quickjs.h:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - d
    argTypes:
    - JSContext*
    - double
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: __JS_NewFloat64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - js_unlikely
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue __JS_NewFloat64(JSContext *ctx, double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: JS_VALUE_GET_FLOAT64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double JS_VALUE_GET_FLOAT64(JSValue v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.h:533,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.h:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: JS_NewInt64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewInt64(JSContext *ctx, int64_t
      val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/gpac/src/quickjs/quickjs.h:566,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.h:573,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.h:583,1
    - Dst: JS_MKVAL
      Src: /src/gpac/src/quickjs/quickjs.h:581,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.h:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - d
    argTypes:
    - JSContext*
    - double
    constantsTouched: []
    func_position:
      end: 586
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 586
    functionName: JS_NewFloat64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_MKVAL
    - isnan
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewFloat64(JSContext *ctx, double
      d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewInt32
      Src: /src/gpac/src/quickjs/quickjs.h:544,1
    - Dst: __JS_NewFloat64
      Src: /src/gpac/src/quickjs/quickjs.h:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: JS_NewUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - __JS_NewFloat64
    - JS_NewInt32
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewUint32(JSContext *ctx, uint32_t
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:590,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.h:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: JS_IsNumber
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsNumber(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen2
      Src: /src/gpac/src/quickjs/quickjs.h:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - plen
    - val1
    argTypes:
    - JSContext*
    - size_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: JS_ToCStringLen
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_ToCStringLen2
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *JS_ToCStringLen(JSContext *ctx, size_t *plen,
      JSValueConst val1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.h:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - func
    - name
    - length
    - cproto
    - magic
    argTypes:
    - JSContext*
    - JSCFunctionMagic*
    - char*
    - int
    - JSCFunctionEnum
    - int
    constantsTouched: []
    func_position:
      end: 995
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 995
    functionName: JS_NewCFunctionMagic
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_NewCFunction2
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue JS_NewCFunctionMagic(JSContext *ctx, JSCFunctionMagic
      *func, const char *name, int length, JSCFunctionEnum cproto, int magic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: JS_IsInteger
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsInteger(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: JS_VALUE_IS_NAN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_VALUE_IS_NAN(JSValue v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: JS_VALUE_IS_NAN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_VALUE_IS_NAN(JSValue v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: JS_VALUE_IS_NAN
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_VALUE_IS_NAN(JSValue v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToCStringLen2
      Src: /src/gpac/src/quickjs/quickjs.h:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val1
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: JS_ToCString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_ToCStringLen2
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *JS_ToCString(JSContext *ctx, JSValueConst
      val1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_SetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.h:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - this_obj
    - prop
    - val
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    - JSValue
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: JS_SetProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_SetPropertyInternal
    linkageType: ''
    returnType: int
    signature: 'static inline int JS_SetProperty(JSContext *ctx, JSValueConst this_obj,
      JSAtom prop, JSValue val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_NewCFunction2
      Src: /src/gpac/src/quickjs/quickjs.h:987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - func
    - name
    - length
    argTypes:
    - JSContext*
    - JSCFunction*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: JS_NewCFunction
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_NewCFunction2
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue JS_NewCFunction(JSContext *ctx, JSCFunction
      *func, const char *name, int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:180,1
    - Dst: JS_TAG_IS_FLOAT64
      Src: /src/gpac/src/quickjs/quickjs.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValue
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: JS_VALUE_GET_NORM_TAG
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_TAG_IS_FLOAT64
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: int
    signature: 'static inline int JS_VALUE_GET_NORM_TAG(JSValue v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_MKVAL
      Src: /src/gpac/src/quickjs/quickjs.h:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - JS_BOOL
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: JS_NewBool
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_MKVAL
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewBool(JSContext *ctx, JS_BOOL
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - JSContext*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: JS_IsBigInt
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsBigInt(JSContext *ctx, JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_ToInt32
      Src: /src/gpac/src/quickjs/quickjs.h:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pres
    - val
    argTypes:
    - JSContext*
    - uint32_t*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: JS_ToUint32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_ToInt32
    linkageType: ''
    returnType: int
    signature: 'static inline int JS_ToUint32(JSContext *ctx, uint32_t *pres, JSValueConst
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_MKVAL
      Src: /src/gpac/src/quickjs/quickjs.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - d
    argTypes:
    - JSContext*
    - double
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: __JS_NewFloat64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_MKVAL
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue __JS_NewFloat64(JSContext *ctx, double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - d
    argTypes:
    - JSContext*
    - double
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: __JS_NewFloat64
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue __JS_NewFloat64(JSContext *ctx, double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_MKVAL
      Src: /src/gpac/src/quickjs/quickjs.h:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - JSContext*
    - int32_t
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: JS_NewInt32
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_MKVAL
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_NewInt32(JSContext *ctx, int32_t
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: JS_IsBigFloat
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsBigFloat(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: JS_IsBigDecimal
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsBigDecimal(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: JS_IsNull
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsNull(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_unlikely
      Src: /src/gpac/src/quickjs/quickjs.h:635,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: JS_IsException
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - js_unlikely
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsException(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: JS_IsString
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsString(JSValueConst v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_ThrowReferenceError
      Src: /src/gpac/src/quickjs/quickjs.h:665,1
    - Dst: __js_printf_like
      Src: /src/gpac/src/quickjs/quickjs.h:665,1
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/quickjs/quickjs.h:673,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.h:684,1
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/quickjs/quickjs.h:683,1
    - Dst: JS_ThrowTypeError
      Src: /src/gpac/src/quickjs/quickjs.h:664,1
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/quickjs/quickjs.h:693,1
    - Dst: JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.h:681,1
    - Dst: JS_ThrowRangeError
      Src: /src/gpac/src/quickjs/quickjs.h:666,1
    - Dst: JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.h:671,1
    - Dst: __JS_FreeValueRT
      Src: /src/gpac/src/quickjs/quickjs.h:680,1
    - Dst: __js_printf_like
      Src: /src/gpac/src/quickjs/quickjs.h:666,1
    - Dst: __JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.h:670,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.h:694,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.h:674,1
    - Dst: __JS_FreeValue
      Src: /src/gpac/src/quickjs/quickjs.h:676,1
    - Dst: JS_ThrowSyntaxError
      Src: /src/gpac/src/quickjs/quickjs.h:663,1
    - Dst: __js_printf_like
      Src: /src/gpac/src/quickjs/quickjs.h:664,1
    - Dst: __js_printf_like
      Src: /src/gpac/src/quickjs/quickjs.h:667,1
    - Dst: JS_ThrowOutOfMemory
      Src: /src/gpac/src/quickjs/quickjs.h:668,1
    - Dst: JS_ThrowInternalError
      Src: /src/gpac/src/quickjs/quickjs.h:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 702
    functionName: __js_printf_like
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_ThrowSyntaxError
    - JS_FreeValue
    - JS_ThrowRangeError
    - JS_ThrowOutOfMemory
    - JS_ThrowInternalError
    - JS_ThrowTypeError
    - __JS_FreeValue
    - JS_VALUE_GET_PTR
    - JS_FreeValueRT
    - __js_printf_like
    - __JS_FreeValueRT
    - JS_ThrowReferenceError
    - JS_VALUE_HAS_REF_COUNT
    linkageType: ''
    returnType: JSValue
    signature: 'JSValue __js_printf_like(2, 3) JS_ThrowSyntaxError(JSContext *ctx,
      const char *fmt, ...);JSValue __js_printf_like(2, 3) JS_ThrowTypeError(JSContext
      *ctx, const char *fmt, ...);JSValue __js_printf_like(2, 3) JS_ThrowReferenceError(JSContext
      *ctx, const char *fmt, ...);JSValue __js_printf_like(2, 3) JS_ThrowRangeError(JSContext
      *ctx, const char *fmt, ...);JSValue __js_printf_like(2, 3) JS_ThrowInternalError(JSContext
      *ctx, const char *fmt, ...);JSValue JS_ThrowOutOfMemory(JSContext *ctx);void
      __JS_FreeValue(JSContext *ctx, JSValue v);static inline void JS_FreeValue(JSContext
      *ctx, JSValue v){ if (JS_VALUE_HAS_REF_COUNT(v)) { JSRefCountHeader *p = (JSRefCountHeader
      *)JS_VALUE_GET_PTR(v); if (--p->ref_count <= 0) { __JS_FreeValue(ctx, v); }
      }}void __JS_FreeValueRT(JSRuntime *rt, JSValue v);static inline void JS_FreeValueRT(JSRuntime
      *rt, JSValue v){ if (JS_VALUE_HAS_REF_COUNT(v)) { JSRefCountHeader *p = (JSRefCountHeader
      *)JS_VALUE_GET_PTR(v); if (--p->ref_count <= 0) { __JS_FreeValueRT(rt, v); }
      }}static inline JSValue JS_DupValue(JSContext *ctx, JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: JS_IsBool
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsBool(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: JS_IsUndefined
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsUndefined(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: js_unlikely
      Src: /src/gpac/src/quickjs/quickjs.h:640,1
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: JS_IsUninitialized
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - js_unlikely
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsUninitialized(JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_GET_TAG
      Src: /src/gpac/src/quickjs/quickjs.h:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: JS_IsSymbol
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_GET_TAG
    linkageType: ''
    returnType: JS_BOOL
    signature: 'static inline JS_BOOL JS_IsSymbol(JSValueConst v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JS_VALUE_HAS_REF_COUNT
      Src: /src/gpac/src/quickjs/quickjs.h:706,1
    - Dst: JS_VALUE_GET_PTR
      Src: /src/gpac/src/quickjs/quickjs.h:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - v
    argTypes:
    - JSRuntime*
    - JSValueConst
    constantsTouched: []
    func_position:
      end: 715
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 715
    functionName: JS_DupValueRT
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_VALUE_HAS_REF_COUNT
    - JS_VALUE_GET_PTR
    linkageType: ''
    returnType: JSValue
    signature: 'static inline JSValue JS_DupValueRT(JSRuntime *rt, JSValueConst v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JS_GetPropertyInternal
      Src: /src/gpac/src/quickjs/quickjs.h:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - this_obj
    - prop
    argTypes:
    - JSContext*
    - JSValueConst
    - JSAtom
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: JS_GetProperty
    functionSourceFile: /src/gpac/src/quickjs/quickjs.h
    functionUses: []
    functionsReached:
    - JS_GetPropertyInternal
    linkageType: ''
    returnType: js_force_inline
    signature: 'static js_force_inline JSValue JS_GetProperty(JSContext *ctx, JSValueConst
      this_obj, JSAtom prop) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gpac/src/quickjs/libregexp.c:128,1
    - Dst: lre_case_conv
      Src: /src/gpac/src/quickjs/libregexp.c:141,1
    - Dst: likely
      Src: /src/gpac/src/quickjs/libregexp.c:136,1
    - Dst: lre_case_conv
      Src: /src/gpac/src/quickjs/libregexp.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - c
    - is_utf16
    argTypes:
    - uint32_t
    - BOOL
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: lre_canonicalize
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - lre_case_conv
    - likely
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t lre_canonicalize(uint32_t c, BOOL is_utf16) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:419,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - s
    - op
    - val
    argTypes:
    - REParseState*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: re_emit_op_u8
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void re_emit_op_u8(REParseState *s, int op, uint32_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - s
    - pp
    - c
    argTypes:
    - REParseState*
    - uint8_t**
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 483
    functionName: re_parse_expect
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_expect(REParseState *s, const uint8_t **pp, int
      c) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_group_name
      Src: /src/gpac/src/quickjs/libregexp.c:1146,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:1148,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 3
    argNames:
    - s
    - phas_named_captures
    - capture_name
    argTypes:
    - REParseState*
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1178
    functionName: re_parse_captures
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - strcmp
    - re_parse_group_name
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_captures(REParseState *s, int *phas_named_captures,
      const char *capture_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/libregexp.c:1832,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:1849,1
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/libregexp.c:1847,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:1850,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1860,1
    - Dst: lre_dump_bytecode
      Src: /src/gpac/src/quickjs/libregexp.c:1906,1
    - Dst: dbuf_init2
      Src: /src/gpac/src/quickjs/libregexp.c:1846,1
    - Dst: re_emit_op_u8
      Src: /src/gpac/src/quickjs/libregexp.c:1863,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/libregexp.c:1867,1
    - Dst: pstrcpy
      Src: /src/gpac/src/quickjs/libregexp.c:1869,1
    - Dst: re_parse_out_of_memory
      Src: /src/gpac/src/quickjs/libregexp.c:1884,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1852,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1859,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1879,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libregexp.c:1883,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1876,1
    - Dst: re_parse_disjunction
      Src: /src/gpac/src/quickjs/libregexp.c:1865,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:1851,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1861,1
    - Dst: re_emit_op_u8
      Src: /src/gpac/src/quickjs/libregexp.c:1874,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/libregexp.c:1868,1
    - Dst: compute_stack_size
      Src: /src/gpac/src/quickjs/libregexp.c:1888,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1890,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1896,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/libregexp.c:1900,1
    - Dst: dbuf_free
      Src: /src/gpac/src/quickjs/libregexp.c:1903,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 7
    argNames:
    - plen
    - error_msg
    - error_msg_size
    - buf
    - buf_len
    - re_flags
    - opaque
    argTypes:
    - int*
    - char*
    - int
    - char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1912
    functionName: lre_compile
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_init2
    - dbuf_error
    - compute_stack_size
    - dbuf_put
    - memset
    - re_parse_error
    - put_u32
    - lre_dump_bytecode
    - re_parse_disjunction
    - dbuf_free
    - re_emit_op_u8
    - re_parse_out_of_memory
    - dbuf_put_u32
    - pstrcpy
    - re_emit_op
    - dbuf_putc
    - re_emit_op_u32
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t *lre_compile(int *plen, char *error_msg, int error_msg_size,
      const char *buf, size_t buf_len, int re_flags, void *opaque) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/gpac/src/quickjs/libregexp.c:2533,1
    - Dst: lre_realloc
      Src: /src/gpac/src/quickjs/libregexp.c:2536,1
    - Dst: lre_exec_backtrack
      Src: /src/gpac/src/quickjs/libregexp.c:2534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 7
    argNames:
    - capture
    - bc_buf
    - cbuf
    - cindex
    - clen
    - cbuf_type
    - opaque
    argTypes:
    - uint8_t**
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2538
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2538
    functionName: lre_exec
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - lre_exec_backtrack
    - alloca
    - lre_realloc
    linkageType: ''
    returnType: int
    signature: 'int lre_exec(uint8_t **capture, const uint8_t *bc_buf, const uint8_t
      *cbuf, int cindex, int clen, int cbuf_type, void *opaque) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:425,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/libregexp.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - s
    - op
    - val
    argTypes:
    - REParseState*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: re_emit_op_u16
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u16
    linkageType: ''
    returnType: void
    signature: 'static void re_emit_op_u16(REParseState *s, int op, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: is_line_terminator
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_line_terminator(uint32_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bc_buf
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2543
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2543
    functionName: lre_get_capture_count
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int lre_get_capture_count(const uint8_t *bc_buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2583,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:2587,1
    - Dst: fprintf
      Src: /src/gpac/src/quickjs/libregexp.c:2589,1
    - Dst: lre_compile
      Src: /src/gpac/src/quickjs/libregexp.c:2586,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/libregexp.c:2584,1
    - Dst: exit
      Src: /src/gpac/src/quickjs/libregexp.c:2590,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:2594,1
    - Dst: lre_exec
      Src: /src/gpac/src/quickjs/libregexp.c:2596,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2597,1
    - Dst: lre_get_capture_count
      Src: /src/gpac/src/quickjs/libregexp.c:2599,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2608,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2607,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2603,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:2605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2612
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2612
    functionName: main
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - strlen
    - lre_compile
    - lre_get_capture_count
    - fprintf
    - exit
    - lre_exec
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - opaque
    - alloca_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2566
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2566
    functionName: lre_check_stack_overflow
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_check_stack_overflow(void *opaque, size_t alloca_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:1049,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:1053,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 2
    argNames:
    - bc_buf
    - bc_buf_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 1074
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1074
    functionName: re_is_simple_quantifier
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - get_u16
    linkageType: ''
    returnType: int
    signature: 'static int re_is_simple_quantifier(const uint8_t *bc_buf, int bc_buf_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/libregexp.c:1092,1
    - Dst: lre_js_is_ident_next
      Src: /src/gpac/src/quickjs/libregexp.c:1106,1
    - Dst: lre_js_is_ident_first
      Src: /src/gpac/src/quickjs/libregexp.c:1103,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/libregexp.c:1096,1
    - Dst: unicode_to_utf8
      Src: /src/gpac/src/quickjs/libregexp.c:1114,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - buf
    - buf_size
    - pp
    - is_utf16
    argTypes:
    - char*
    - int
    - uint8_t**
    - BOOL
    constantsTouched: []
    func_position:
      end: 1123
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1123
    functionName: re_parse_group_name
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - unicode_to_utf8
    - lre_js_is_ident_next
    - unicode_from_utf8
    - lre_js_is_ident_first
    - lre_parse_escape
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_group_name(char *buf, int buf_size, const uint8_t
      **pp, BOOL is_utf16) '
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libregexp.c:2129,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2188,1
    - Dst: PEEK_PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2235,1
    - Dst: push_state
      Src: /src/gpac/src/quickjs/libregexp.c:2218,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:2272,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2375,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2384,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2419,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2381,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2415,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2462,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2361,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2433,1
    - Dst: PEEK_PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2312,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2179,1
    - Dst: push_state
      Src: /src/gpac/src/quickjs/libregexp.c:2208,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2216,1
    - Dst: PEEK_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2244,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2251,1
    - Dst: is_word_char
      Src: /src/gpac/src/quickjs/libregexp.c:2313,1
    - Dst: is_word_char
      Src: /src/gpac/src/quickjs/libregexp.c:2320,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2347,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2362,1
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libregexp.c:2390,1
    - Dst: lre_exec_backtrack
      Src: /src/gpac/src/quickjs/libregexp.c:2469,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2424,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2421,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2461,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2388,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2151,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libregexp.c:2146,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libregexp.c:2143,1
    - Dst: PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2153,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2227,1
    - Dst: is_line_terminator
      Src: /src/gpac/src/quickjs/libregexp.c:2236,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2289,1
    - Dst: GET_PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2358,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2428,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2434,1
    - Dst: PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2451,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2344,1
    - Dst: GET_PREV_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2359,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2348,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2460,1
    - Dst: abort
      Src: /src/gpac/src/quickjs/libregexp.c:2494,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2397,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libregexp.c:2135,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2155,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2183,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:2190,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2200,1
    - Dst: is_line_terminator
      Src: /src/gpac/src/quickjs/libregexp.c:2245,1
    - Dst: is_line_terminator
      Src: /src/gpac/src/quickjs/libregexp.c:2252,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2258,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:2263,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2281,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2379,1
    - Dst: push_state
      Src: /src/gpac/src/quickjs/libregexp.c:2484,1
    - Dst: GET_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2345,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:2396,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2299,1
    - Dst: PEEK_CHAR
      Src: /src/gpac/src/quickjs/libregexp.c:2319,1
    CyclomaticComplexity: 150
    EdgeCount: 150
    ICount: 342
    argCount: 7
    argNames:
    - s
    - capture
    - stack
    - stack_len
    - pc
    - cptr
    - no_recurse
    argTypes:
    - REExecContext*
    - uint8_t**
    - StackInt*
    - int
    - uint8_t*
    - uint8_t*
    - BOOL
    constantsTouched: []
    func_position:
      end: 2497
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2497
    functionName: lre_exec_backtrack
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - GET_PREV_CHAR
    - lre_exec_backtrack
    - assert
    - get_u16
    - is_word_char
    - PEEK_PREV_CHAR
    - abort
    - push_state
    - get_u32
    - unlikely
    - memcpy
    - lre_canonicalize
    - PREV_CHAR
    - PEEK_CHAR
    - is_line_terminator
    - GET_CHAR
    linkageType: ''
    returnType: intptr_t
    signature: 'static intptr_t lre_exec_backtrack(REExecContext *s, uint8_t **capture,
      StackInt *stack, int stack_len, const uint8_t *pc, const uint8_t *cptr, BOOL
      no_recurse) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:232,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:243,1
    - Dst: cr_invert
      Src: /src/gpac/src/quickjs/libregexp.c:238,1
    - Dst: cr_add_point
      Src: /src/gpac/src/quickjs/libregexp.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - s
    - cr
    - c
    argTypes:
    - REParseState*
    - CharRange*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: cr_init_char_range
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - cr_add_point
    - cr_init
    - cr_invert
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'static int cr_init_char_range(REParseState *s, CharRange *cr, uint32_t
      c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:831,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/libregexp.c:845,1
    - Dst: dbuf_put_u16
      Src: /src/gpac/src/quickjs/libregexp.c:849,1
    - Dst: re_emit_op_u16
      Src: /src/gpac/src/quickjs/libregexp.c:843,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:835,1
    - Dst: re_emit_op_u16
      Src: /src/gpac/src/quickjs/libregexp.c:852,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:854,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:855,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - s
    - cr
    argTypes:
    - REParseState*
    - CharRange*
    constantsTouched: []
    func_position:
      end: 860
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 860
    functionName: re_emit_range
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_error
    - dbuf_put_u16
    - dbuf_put_u32
    - re_emit_op_u16
    - re_emit_op_u32
    linkageType: ''
    returnType: int
    signature: 'static int re_emit_range(REParseState *s, const CharRange *cr) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gpac/src/quickjs/libregexp.c:963,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:974,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:970,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 2
    argNames:
    - bc_buf
    - bc_buf_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 1033
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 1033
    functionName: re_check_advance
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - get_u16
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int re_check_advance(const uint8_t *bc_buf, int bc_buf_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:1202,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:1207,1
    - Dst: memcmp
      Src: /src/gpac/src/quickjs/libregexp.c:1208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - REParseState*
    - char*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1214
    functionName: find_group_name
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int find_group_name(REParseState *s, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gpac/src/quickjs/libregexp.c:2064,1
    - Dst: lre_realloc
      Src: /src/gpac/src/quickjs/libregexp.c:2069,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 8
    argNames:
    - s
    - capture
    - stack
    - stack_len
    - pc
    - cptr
    - type
    - count
    argTypes:
    - REExecContext*
    - uint8_t**
    - StackInt*
    - size_t
    - uint8_t*
    - uint8_t*
    - REExecStateEnum
    - size_t
    constantsTouched: []
    func_position:
      end: 2089
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2089
    functionName: push_state
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - unlikely
    - lre_realloc
    linkageType: ''
    returnType: int
    signature: 'static int push_state(REExecContext *s, uint8_t **capture, StackInt
      *stack, size_t stack_len, const uint8_t *pc, const uint8_t *cptr, REExecStateEnum
      type, size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:253,1
    - Dst: cr_op
      Src: /src/gpac/src/quickjs/libregexp.c:256,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:268,1
    - Dst: cr_union1
      Src: /src/gpac/src/quickjs/libregexp.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - cr
    argTypes:
    - CharRange*
    constantsTouched: []
    func_position:
      end: 270
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 270
    functionName: cr_canonicalize
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - cr_init
    - cr_union1
    - cr_op
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'static int cr_canonicalize(CharRange *cr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:870,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:898,1
    - Dst: get_class_atom
      Src: /src/gpac/src/quickjs/libregexp.c:894,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:888,1
    - Dst: get_class_atom
      Src: /src/gpac/src/quickjs/libregexp.c:881,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:908,1
    - Dst: cr_union_interval
      Src: /src/gpac/src/quickjs/libregexp.c:911,1
    - Dst: cr_union1
      Src: /src/gpac/src/quickjs/libregexp.c:917,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:918,1
    - Dst: cr_union_interval
      Src: /src/gpac/src/quickjs/libregexp.c:922,1
    - Dst: re_parse_out_of_memory
      Src: /src/gpac/src/quickjs/libregexp.c:942,1
    - Dst: re_emit_range
      Src: /src/gpac/src/quickjs/libregexp.c:935,1
    - Dst: cr_invert
      Src: /src/gpac/src/quickjs/libregexp.c:932,1
    - Dst: cr_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:928,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:944,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:937,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 50
    argCount: 2
    argNames:
    - s
    - pp
    argTypes:
    - REParseState*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 946
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 946
    functionName: re_parse_char_class
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_emit_range
    - re_parse_error
    - cr_union_interval
    - re_parse_out_of_memory
    - cr_init
    - get_class_atom
    - cr_canonicalize
    - cr_invert
    - cr_union1
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_char_class(REParseState *s, const uint8_t **pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/libregexp.c:115,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libregexp.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s
    - pos
    - len
    argTypes:
    - DynBuf*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: dbuf_insert
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - memmove
    - dbuf_realloc
    linkageType: ''
    returnType: int
    signature: 'static int dbuf_insert(DynBuf *s, int pos, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: is_digit
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int is_digit(int c) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:279,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:283,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:289,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:282,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:294,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:315,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:325,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:308,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:322,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:304,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:338,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:369,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:327,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:284,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:293,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:299,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:329,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:360,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:365,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:380,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:387,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:359,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:296,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:312,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:344,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:345,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:353,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:356,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:368,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:376,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:340,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:346,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:292,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:297,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:320,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:318,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:347,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:379,1
    - Dst: printf
      Src: /src/gpac/src/quickjs/libregexp.c:343,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 138
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 390
    functionName: lre_dump_bytecode
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - strlen
    - assert
    - get_u16
    - get_u32
    - printf
    linkageType: ''
    returnType: __maybe_unused
    signature: 'static __maybe_unused void lre_dump_bytecode(const uint8_t *buf, int
      buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:402,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s
    - op
    - val
    argTypes:
    - REParseState*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: re_emit_op_u32
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u32
    linkageType: ''
    returnType: int
    signature: 'static int re_emit_op_u32(REParseState *s, int op, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/gpac/src/quickjs/libregexp.c:432,1
    - Dst: va_start
      Src: /src/gpac/src/quickjs/libregexp.c:436,1
    - Dst: va_end
      Src: /src/gpac/src/quickjs/libregexp.c:438,1
    - Dst: vsnprintf
      Src: /src/gpac/src/quickjs/libregexp.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - fmt
    - '...'
    argTypes:
    - REParseState*
    - char*
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: re_parse_error
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - format
    - va_start
    linkageType: ''
    returnType: int
    signature: 'static int __attribute__((format(printf, 2, 3))) re_parse_error(REParseState
      *s, const char *fmt, ...) #endif '
  - BBCount: 117
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libregexp.c:1314,1
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:1338,1
    - Dst: re_is_simple_quantifier
      Src: /src/gpac/src/quickjs/libregexp.c:1573,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libregexp.c:1571,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1582,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1378,1
    - Dst: re_emit_op_u8
      Src: /src/gpac/src/quickjs/libregexp.c:1453,1
    - Dst: parse_digits
      Src: /src/gpac/src/quickjs/libregexp.c:1535,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1637,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1642,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1690,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1501,1
    - Dst: parse_digits
      Src: /src/gpac/src/quickjs/libregexp.c:1262,1
    - Dst: re_parse_expect
      Src: /src/gpac/src/quickjs/libregexp.c:1310,1
    - Dst: re_parse_disjunction
      Src: /src/gpac/src/quickjs/libregexp.c:1349,1
    - Dst: parse_digits
      Src: /src/gpac/src/quickjs/libregexp.c:1540,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1650,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1672,1
    - Dst: re_parse_expect
      Src: /src/gpac/src/quickjs/libregexp.c:1356,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1386,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1576,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1578,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1410,1
    - Dst: strlen
      Src: /src/gpac/src/quickjs/libregexp.c:1328,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1619,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1664,1
    - Dst: parse_digits
      Src: /src/gpac/src/quickjs/libregexp.c:1258,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1589,1
    - Dst: re_emit_op_u16
      Src: /src/gpac/src/quickjs/libregexp.c:1496,1
    - Dst: lre_canonicalize
      Src: /src/gpac/src/quickjs/libregexp.c:1494,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:1529,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1629,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1667,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1305,1
    - Dst: re_parse_disjunction
      Src: /src/gpac/src/quickjs/libregexp.c:1307,1
    - Dst: dbuf_put
      Src: /src/gpac/src/quickjs/libregexp.c:1327,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:1489,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1646,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1655,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1397,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1243,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1639,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1649,1
    - Dst: re_emit_op_u8
      Src: /src/gpac/src/quickjs/libregexp.c:1345,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1448,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1564,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1498,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:1251,1
    - Dst: re_parse_group_name
      Src: /src/gpac/src/quickjs/libregexp.c:1319,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1246,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1587,1
    - Dst: dbuf_put_self
      Src: /src/gpac/src/quickjs/libregexp.c:1687,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1473,1
    - Dst: re_emit_op_u8
      Src: /src/gpac/src/quickjs/libregexp.c:1353,1
    - Dst: re_has_named_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1377,1
    - Dst: re_parse_group_name
      Src: /src/gpac/src/quickjs/libregexp.c:1383,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1651,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1675,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:1539,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:1261,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1312,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1321,1
    - Dst: re_parse_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1394,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1683,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1689,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1543,1
    - Dst: re_has_named_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1385,1
    - Dst: re_emit_range
      Src: /src/gpac/src/quickjs/libregexp.c:1488,1
    - Dst: re_parse_expect
      Src: /src/gpac/src/quickjs/libregexp.c:1554,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1232,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1236,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1324,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1332,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1341,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1668,1
    - Dst: re_parse_disjunction
      Src: /src/gpac/src/quickjs/libregexp.c:1281,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1316,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:1409,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1464,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1585,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1484,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1623,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1661,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1685,1
    - Dst: re_parse_out_of_memory
      Src: /src/gpac/src/quickjs/libregexp.c:1704,1
    - Dst: re_parse_expect
      Src: /src/gpac/src/quickjs/libregexp.c:1284,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1364,1
    - Dst: parse_digits
      Src: /src/gpac/src/quickjs/libregexp.c:1428,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1468,1
    - Dst: dbuf_error
      Src: /src/gpac/src/quickjs/libregexp.c:1595,1
    - Dst: re_count_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1429,1
    - Dst: dbuf_put_self
      Src: /src/gpac/src/quickjs/libregexp.c:1677,1
    - Dst: re_has_named_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1396,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1273,1
    - Dst: find_group_name
      Src: /src/gpac/src/quickjs/libregexp.c:1323,1
    - Dst: find_group_name
      Src: /src/gpac/src/quickjs/libregexp.c:1390,1
    - Dst: re_check_advance
      Src: /src/gpac/src/quickjs/libregexp.c:1597,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1610,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1681,1
    - Dst: re_parse_char_class
      Src: /src/gpac/src/quickjs/libregexp.c:1465,1
    - Dst: re_emit_op
      Src: /src/gpac/src/quickjs/libregexp.c:1244,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1250,1
    - Dst: get_class_atom
      Src: /src/gpac/src/quickjs/libregexp.c:1477,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1625,1
    - Dst: re_emit_goto
      Src: /src/gpac/src/quickjs/libregexp.c:1679,1
    CyclomaticComplexity: 168
    EdgeCount: 168
    ICount: 400
    argCount: 2
    argNames:
    - s
    - is_backward_dir
    argTypes:
    - REParseState*
    - BOOL
    constantsTouched: []
    func_position:
      end: 1705
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1705
    functionName: re_parse_term
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - strlen
    - re_emit_goto
    - dbuf_put_self
    - re_parse_disjunction
    - re_emit_op
    - dbuf_error
    - re_parse_out_of_memory
    - re_emit_op_u8
    - re_count_captures
    - get_class_atom
    - re_emit_op_u16
    - dbuf_putc
    - dbuf_insert
    - parse_digits
    - re_parse_error
    - re_check_advance
    - lre_canonicalize
    - re_parse_expect
    - cr_free
    - is_digit
    - re_parse_group_name
    - re_emit_range
    - put_u32
    - find_group_name
    - re_is_simple_quantifier
    - re_has_named_captures
    - re_parse_char_class
    - re_parse_captures
    - dbuf_put
    - re_emit_op_u32
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_term(REParseState *s, BOOL is_backward_dir) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:1789,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:1811,1
    - Dst: get_u16
      Src: /src/gpac/src/quickjs/libregexp.c:1807,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:1790,1
    - Dst: assert
      Src: /src/gpac/src/quickjs/libregexp.c:1803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - bc_buf
    - bc_buf_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 1818
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1818
    functionName: compute_stack_size
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - assert
    - get_u16
    linkageType: ''
    returnType: int
    signature: 'static int compute_stack_size(const uint8_t *bc_buf, int bc_buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1925
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1925
    functionName: is_word_char
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_word_char(uint32_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lre_get_flags
      Src: /src/gpac/src/quickjs/libregexp.c:2555,1
    - Dst: get_u32
      Src: /src/gpac/src/quickjs/libregexp.c:2557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - bc_buf
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2559
    functionName: lre_get_groupnames
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - get_u32
    - lre_get_flags
    linkageType: ''
    returnType: char*
    signature: 'const char *lre_get_groupnames(const uint8_t *bc_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gpac/src/quickjs/libregexp.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: lre_is_space
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - countof
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL lre_is_space(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - REParseState*
    - int
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: re_emit_op
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    linkageType: ''
    returnType: void
    signature: 'static void re_emit_op(REParseState *s, int op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbuf_putc
      Src: /src/gpac/src/quickjs/libregexp.c:411,1
    - Dst: dbuf_put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - op
    - val
    argTypes:
    - REParseState*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: re_emit_goto
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - dbuf_putc
    - dbuf_put_u32
    linkageType: ''
    returnType: int
    signature: 'static int re_emit_goto(REParseState *s, int op, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - REParseState*
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: re_parse_out_of_memory
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_error
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_out_of_memory(REParseState *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_term
      Src: /src/gpac/src/quickjs/libregexp.c:1721,1
    - Dst: dbuf_realloc
      Src: /src/gpac/src/quickjs/libregexp.c:1729,1
    - Dst: memcpy
      Src: /src/gpac/src/quickjs/libregexp.c:1734,1
    - Dst: memmove
      Src: /src/gpac/src/quickjs/libregexp.c:1731,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - s
    - is_backward_dir
    argTypes:
    - REParseState*
    - BOOL
    constantsTouched: []
    func_position:
      end: 1739
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1739
    functionName: re_parse_alternative
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_term
    - memmove
    - dbuf_realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_alternative(REParseState *s, BOOL is_backward_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gpac/src/quickjs/libregexp.c:2570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2571
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2571
    functionName: lre_realloc
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'void *lre_realloc(void *opaque, void *ptr, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pp
    - allow_overflow
    argTypes:
    - uint8_t**
    - BOOL
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: parse_digits
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int parse_digits(const uint8_t **pp, BOOL allow_overflow) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lre_check_stack_overflow
      Src: /src/gpac/src/quickjs/libregexp.c:1745,1
    - Dst: re_parse_out_of_memory
      Src: /src/gpac/src/quickjs/libregexp.c:1758,1
    - Dst: dbuf_insert
      Src: /src/gpac/src/quickjs/libregexp.c:1757,1
    - Dst: re_parse_alternative
      Src: /src/gpac/src/quickjs/libregexp.c:1749,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:1746,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1761,1
    - Dst: re_emit_op_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1763,1
    - Dst: re_parse_alternative
      Src: /src/gpac/src/quickjs/libregexp.c:1765,1
    - Dst: put_u32
      Src: /src/gpac/src/quickjs/libregexp.c:1770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - s
    - is_backward_dir
    argTypes:
    - REParseState*
    - BOOL
    constantsTouched: []
    func_position:
      end: 1773
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1773
    functionName: re_parse_disjunction
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - lre_check_stack_overflow
    - re_parse_error
    - put_u32
    - re_parse_out_of_memory
    - re_parse_alternative
    - dbuf_insert
    - re_emit_op_u32
    linkageType: ''
    returnType: int
    signature: 'static int re_parse_disjunction(REParseState *s, BOOL is_backward_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bc_buf
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2548
    functionName: lre_get_flags
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int lre_get_flags(const uint8_t *bc_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: is_unicode_char
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL is_unicode_char(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - REParseState*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1187
    functionName: re_count_captures
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_captures
    linkageType: ''
    returnType: int
    signature: 'static int re_count_captures(REParseState *s) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:641,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:654,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:662,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:680,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:686,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:700,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:627,1
    - Dst: is_unicode_char
      Src: /src/gpac/src/quickjs/libregexp.c:630,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:654,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:666,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:667,1
    - Dst: unicode_general_category
      Src: /src/gpac/src/quickjs/libregexp.c:668,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:670,1
    - Dst: unicode_prop
      Src: /src/gpac/src/quickjs/libregexp.c:684,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:695,1
    - Dst: cr_invert
      Src: /src/gpac/src/quickjs/libregexp.c:699,1
    - Dst: is_unicode_char
      Src: /src/gpac/src/quickjs/libregexp.c:639,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:647,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:651,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:657,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:666,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:672,1
    - Dst: cr_init
      Src: /src/gpac/src/quickjs/libregexp.c:677,1
    - Dst: unicode_general_category
      Src: /src/gpac/src/quickjs/libregexp.c:678,1
    - Dst: strcmp
      Src: /src/gpac/src/quickjs/libregexp.c:651,1
    - Dst: cr_free
      Src: /src/gpac/src/quickjs/libregexp.c:660,1
    - Dst: unicode_script
      Src: /src/gpac/src/quickjs/libregexp.c:658,1
    - Dst: re_parse_out_of_memory
      Src: /src/gpac/src/quickjs/libregexp.c:707,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 4
    argNames:
    - s
    - cr
    - pp
    - is_inv
    argTypes:
    - REParseState*
    - CharRange*
    - uint8_t**
    - BOOL
    constantsTouched: []
    func_position:
      end: 708
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 708
    functionName: parse_unicode_property
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_parse_error
    - unicode_general_category
    - strcmp
    - is_unicode_char
    - re_parse_out_of_memory
    - cr_init
    - unicode_prop
    - cr_invert
    - unicode_script
    - cr_free
    linkageType: ''
    returnType: int
    signature: 'static int parse_unicode_property(REParseState *s, CharRange *cr,
      const uint8_t **pp, BOOL is_inv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_count_captures
      Src: /src/gpac/src/quickjs/libregexp.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - REParseState*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1194
    functionName: re_has_named_captures
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - re_count_captures
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL re_has_named_captures(REParseState *s) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/gpac/src/quickjs/libregexp.c:531,1
    - Dst: from_hex
      Src: /src/gpac/src/quickjs/libregexp.c:562,1
    - Dst: is_digit
      Src: /src/gpac/src/quickjs/libregexp.c:580,1
    - Dst: from_hex
      Src: /src/gpac/src/quickjs/libregexp.c:550,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 96
    argCount: 2
    argNames:
    - pp
    - allow_utf16
    argTypes:
    - uint8_t**
    - int
    constantsTouched: []
    func_position:
      end: 604
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 604
    functionName: lre_parse_escape
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - is_digit
    - from_hex
    linkageType: ''
    returnType: int
    signature: 'int lre_parse_escape(const uint8_t **pp, int allow_utf16) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: cr_init_char_range
      Src: /src/gpac/src/quickjs/libregexp.c:749,1
    - Dst: strchr
      Src: /src/gpac/src/quickjs/libregexp.c:786,1
    - Dst: parse_unicode_property
      Src: /src/gpac/src/quickjs/libregexp.c:773,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:791,1
    - Dst: lre_parse_escape
      Src: /src/gpac/src/quickjs/libregexp.c:782,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:803,1
    - Dst: unicode_from_utf8
      Src: /src/gpac/src/quickjs/libregexp.c:810,1
    - Dst: re_parse_error
      Src: /src/gpac/src/quickjs/libregexp.c:813,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 71
    argCount: 4
    argNames:
    - s
    - cr
    - pp
    - inclass
    argTypes:
    - REParseState*
    - CharRange*
    - uint8_t**
    - BOOL
    constantsTouched: []
    func_position:
      end: 822
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 822
    functionName: get_class_atom
    functionSourceFile: /src/gpac/src/quickjs/libregexp.c
    functionUses: []
    functionsReached:
    - unicode_from_utf8
    - re_parse_error
    - cr_init_char_range
    - parse_unicode_property
    - strchr
    - lre_parse_escape
    linkageType: ''
    returnType: int
    signature: 'static int get_class_atom(REParseState *s, CharRange *cr, const uint8_t
      **pp, BOOL inclass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange64xp
      Src: /src/gpac/include/gpac/thread.h:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - Addend
    - LONGLONG
    - Value
    argTypes:
    - _Inout_*
    - _In_
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: InterlockedExchangeAdd64xp
    functionSourceFile: /src/gpac/include/gpac/thread.h
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange64xp
    linkageType: ''
    returnType: LONGLONG
    signature: 'static inline LONGLONG InterlockedExchangeAdd64xp(_Inout_ LONGLONG
      volatile *Addend, _In_ LONGLONG Value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:7,1
    - Dst: fclose
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:13,1
    - Dst: getpid
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:7,1
    - Dst: fwrite
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:12,1
    - Dst: fopen
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:9,1
    - Dst: gf_m2ts_probe_file
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:15,1
    - Dst: unlink
      Src: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 19
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c
    functionUses: []
    functionsReached:
    - fopen
    - getpid
    - sprintf
    - gf_m2ts_probe_file
    - fwrite
    - fclose
    - unlink
    linkageType: ''
    returnType: int
    signature: 'int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) '
Fuzzer filename: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- mmsystem.h
- share.h
- base/commandlineflags.h
- libopenhevc/openhevc.h
- gpac/base_coding.h
- png.h
- GdiplusEnums.h
- libavfilter/buffersrc.h
- GdiplusInit.h
- libavutil/intreadwrite.h
- thread.h
- gpac/svg_types.h
- quickjs-libc.h
- javaenv.h
- gpac/internal/isomedia_dev.h
- gpac/bifs.h
- GdiplusMetaHeader.h
- sanitizer/lsan_interface.h
- visual_manager.h
- gpac/internal/avilib.h
- ft2build.h
- ../quickjs/quickjs-libc.h
- libfreenect.h
- GLES/gl.h
- dektec_video.h
- wchar.h
- gpac/internal/swf_dev.h
- crt_externs.h
- mach/mach_init.h
- gpac/modules/term_ext.h
- libavfilter/avfilter.h
- nghttp3/nghttp3.h
- quickjs-atom.h
- sys/ipc.h
- jack/ringbuffer.h
- zlib.h
- Carbon/Carbon.h
- ffmpeg/swscale.h
- pwd.h
- directfb.h
- gpac/scene_manager.h
- gpac/html5_mse.h
- gpac/internal/mesh.h
- mach/mach_port.h
- gl_inc.h
- gpac/download.h
- linux/dvb/dmx.h
- GL/gl.h
- ../../filter_core/filter_session.h
- time.h
- gpac/modules/font.h
- ctype.h
- malloc.h
- google/malloc_extension.h
- GLES/glext.h
- gpac/mpd.h
- ngtcp2/ngtcp2.h
- gpac/laser.h
- mach/mach_host.h
- lzma.h
- node_api.h
- gpac/maths.h
- gpac/evg.h
- gpac/internal/laser_dev.h
- shlobj.h
- gpac/internal/dvb_mpe_dev.h
- setjmp.h
- gpac/term_info.h
- libavutil/pixdesc.h
- BaseTsd.h
- OpenSVCDecoder/SVCDecoder_ietr_api.h
- gpac/rtp_streamer.h
- gpac/events_constants.h
- quant.h
- winsock2.h
- gpac/configuration.h
- libavcodec/bsf.h
- OpenGL/CGLCurrent.h
- gpac/scenegraph_svg.h
- stdarg.h
- sys/stat.h
- a52dec/a52.h
- Platinum.h
- gf_malloc.h
- webgl.h
- gpac/atsc.h
- xmem.h
- timeapi.h
- neaacdec.h
- downloader.h
- sys/un.h
- mach/shared_memory_server.h
- stdatomic.h
- gpac/token.h
- ifaddrs.h
- sys/vmmeter.h
- EGL/egl.h
- libavdevice/avdevice.h
- emscripten/emscripten.h
- emmintrin.h
- X11/XKBlib.h
- gpac/internal/ietf_dev.h
- gpac/version.h
- openssl/rand.h
- RTP_serv_sender.h
- gpac/mpegts.h
- gpac/dvb_mpe.h
- media/NdkMediaExtractor.h
- sys/mman.h
- gpac/nodes_x3d.h
- GPACMediaRenderer.h
- rast_soft.h
- hyb_in.h
- assert.h
- SDL.h
- winbase.h
- directfb_out.h
- intrin.h
- PltUPnP.h
- sys/ioctl.h
- ../dec_cc.c
- unzip.h
- mach/vm_map.h
- sched.h
- VideoToolbox/VideoToolbox.h
- gpac/crypt_tools.h
- dirent.h
- net/if.h
- script.h
- io.h
- direct/util.h
- gpac/mpeg4_odf.h
- gpac/terminal.h
- gpac/dsmcc.h
- ../filter_core/filter_session.h
- ws2tcpip.h
- gpac/ietf.h
- highgui.h
- stdint.h
- ../scenegraph/qjs_common.h
- dbghelp.h
- OpenGL/OpenGL.h
- dx_hw.h
- unix.h
- OpenGL/gl.h
- FT_FREETYPE_H
- sys/param.h
- sys/sysctl.h
- wincon.h
- X11/keysym.h
- stdlib.h
- GLES/glu.h
- mach/thread_info.h
- gpac/mediaobject.h
- RTP_serv_generator.h
- android/log.h
- gpac/modules/codec.h
- spawn.h
- iphlpapi.h
- X11/extensions/XShm.h
- openssl/types.h
- gpac/internal/terminal_dev.h
- libregexp-opcode.h
- conio.h
- openHevcWrapper.h
- libxml/parser.h
- sys/times.h
- module_wrap.h
- GdiplusGpStubs.h
- poll.h
- widgetman.h
- Neptune.h
- mach/mach_traps.h
- CoreVideo/CVOpenGLTexture.h
- gpac/internal/ogg.h
- openssl/x509.h
- PltCtrlPoint.h
- gpac/events.h
- glues.h
- PltDeviceHost.h
- gpac/constants.h
- gpac/Remotery.h
- qjs_common.h
- quickjs.h
- jni.h
- gpac/internal/camera.h
- android/asset_manager_jni.h
- ../../src/compositor/gl_inc.h
- gpac/module.h
- cuda.h
- svggen.h
- gpac/modules/video_out.h
- media/NdkMediaFormat.h
- pthread.h
- sys/socket.h
- immintrin.h
- libavfilter/buffersink.h
- direct.h
- arpa/inet.h
- cam_wrap.h
- gpac/list.h
- texturing.h
- ../bifs/quant.h
- android/bitmap.h
- curl/curl.h
- ../filters/ff_common.h
- openssl/x509v3.h
- x11_out.h
- in_route.h
- GLES2/gl2ext.h
- drawable.h
- netinet/tcp.h
- vorbis/codec.h
- float.h
- sys/resource.h
- PltMediaController.h
- gpac/media_tools.h
- mach/task.h
- mmeapi.h
- Memory/Memory.h
- X11/extensions/Xvlib.h
- utime.h
- sys/types.h
- GenericDevice.h
- gpac/internal/id3.h
- sensor_wrap.h
- /src/gpac/include/gpac/mpegts.h
- mach/vm_region.h
- gpac/scenegraph.h
- jpeglib.h
- sys/timeb.h
- ffmpeg_in.h
- gpac/route.h
- stddef.h
- gpac/sync_layer.h
- gpac/tools.h
- psapi.h
- dsound.h
- gpac/network.h
- libbf.h
- GdiplusFlat.h
- strings.h
- WinSock2.h
- malloc/malloc.h
- gpac/revision.h
- cutils.h
- winerror.h
- out_rtp.h
- gpac/internal/reedsolomon.h
- errno.h
- sdp_generator.h
- mach/thread_act.h
- pulse/pulseaudio.h
- ../utils/downloader.h
- gpac/modules/raster2d.h
- sys/soundcard.h
- filter_session.h
- pulse/simple.h
- GdiplusImaging.h
- gpac/bitstream.h
- netinet/in.h
- sys/shm.h
- directfb_strings.h
- gpac/internal/odf_parse_common.h
- shellapi.h
- emscripten/threading.h
- X11/Xutil.h
- android/asset_manager.h
- gpac/internal/scenegraph_dev.h
- gpac/modules/hardcoded_proto.h
- string.h
- ddraw.h
- gpac/webvtt.h
- ts2hds.h
- X11/Xlib.h
- nodes_stacks.h
- libavutil/dict.h
- gpac/main.h
- ../dec_scte35.c
- libxml/xpathInternals.h
- inttypes.h
- gpac/internal/smjs_api.h
- gpac/scenegraph_vrml.h
- gpp.h
- libavutil/opt.h
- OpenGLES/ES1/glext.h
- mp4box.h
- d3d11.h
- android/native_window_jni.h
- linux/dvb/frontend.h
- GdiplusMem.h
- FT_OUTLINE_H
- libregexp.h
- GdiplusColorMatrix.h
- process.h
- ffmpeg/avformat.h
- gpac/internal/crypt_dev.h
- debug.h
- unistd.h
- sys/prctl.h
- PltMediaBrowser.h
- linux/dvb/version.h
- mach/task_info.h
- gpac/scene_engine.h
- gpac/internal/vobsub.h
- mach/mach.h
- gpac/options.h
- libavformat/avformat.h
- resource.h
- gpac/modules/audio_out.h
- sys/utime.h
- execinfo.h
- libunicode.h
- vfw.h
- GL/glu.h
- crtdefs.h
- OpenGLES/ES1/gl.h
- openssl/ssl.h
- GPACFileMediaServer.h
- mpeghdecoder.h
- termios.h
- mach/shared_region.h
- gpac/filters.h
- dec_mediacodec.h
- mad.h
- WebGLRenderingContextBase.c
- fenv.h
- gpac/modules/js_usr.h
- libc/ieeefp.h
- NptStack.h
- pthread_np.h
- netdb.h
- limits.h
- OpenGL/glu.h
- quickjs-opcode.h
- caca.h
- alsa/asoundlib.h
- tiny_aes.h
- zutil.h
- tests.h
- emscripten/stack.h
- time64.h
- libavutil/mastering_display_metadata.h
- sys/time.h
- libavutil/avstring.h
- linux/ashmem.h
- ff_common.h
- malloc_np.h
- sdl_out.h
- emscripten/eventloop.h
- mach/mach_error.h
- gpac/nodes_svg.h
- visual_manager_3d.h
- jack/types.h
- soundcard.h
- PltMediaServer.h
- gpac/thread.h
- openjpeg.h
- xvid.h
- mpeg4_grouping.h
- gpac_napi.h
- cvaux.h
- fcntl.h
- GdiplusPixelFormats.h
- ../quickjs/quickjs.h
- gpac/iso639.h
- libswscale/swscale.h
- GLES/egl.h
- dlfcn.h
- libavutil/channel_layout.h
- caption/cea708.h
- OpenGLES/ES2/gl.h
- stdio.h
- gpac/modules/service.h
- NptMap.h
- ngtcp2/ngtcp2_crypto_quictls.h
- TargetConditionals.h
- gpac/dash.h
- DTAPI.h
- GdiplusTypes.h
- ../compositor/gl_inc.h
- openssl/err.h
- GPACMediaController.h
- gpac/internal/bifs_dev.h
- semaphore.h
- FT_TRUETYPE_TABLES_H
- gpac.h
- config.h
- gpac/crypt.h
- /usr/include/malloc.h
- libunicode-table.h
- openssl/aes.h
- GL/oscontext.h
- mach/mach_time.h
- windows.h
- gpac/path2d.h
- wiiuse.h
- isoffin.h
- gpac/config_file.h
- gpac/internal/odf_dev.h
- TinyCRT/TinyCRT.h
- gpac/color.h
- syslog.h
- math.h
- locale.h
- nghttp2/nghttp2.h
- gpac/internal/compositor_dev.h
- gpac/internal/media_dev.h
- gpac/nodes_mpeg4.h
- directfb_util.h
- gpac/xml.h
- gpac/utf.h
- visual_manager_2d.h
- libfreenect/libfreenect.h
- FT_GLYPH_H
- ks.h
- mach/clock.h
- sys/wait.h
- signal.h
- GdiplusColor.h
- in_rtp.h
- libxml/tree.h
- a52dec/mm_accel.h
- gpac/ait.h
- offscreen_cache.h
- mach-o/dyld.h
- jack/jack.h
- TinyCRT/TinyWinsock.h
- openssl/modes.h
- PltService.h
- gpac/internal/m3u8.h
- GLES2/gl2.h
- sensors_def.h
- gpac/isomedia.h
- X11/extensions/Xv.h
- gpac/internal/bifs_tables.h
- alloc.h
- hidapi/hidapi.h
- gpac/modules/compositor_ext.h
- gpac/compositor.h
- gpac/avparse.h
- winsock.h
- ../media_tools/mpeg2_ps.h
- broadcaster.h
- X11/Xatom.h
- GL/glx.h
- player.h
- PltMediaRenderer.h
- ../compositor/visual_manager.h
- mpeg2_ps.h
- theora/theora.h
- media/NdkMediaCodec.h
- defbench.h
- gpac/html5_media.h
- libavcodec/avcodec.h
- gpac/setup.h
- dec_nvdec_sdk.h
- list.h
- RTP_serv_packetizer.h
- ngtcp2/ngtcp2_crypto.h
- ksmedia.h
- PltFileMediaServer.h
- libxml/xpath.h
- tlhelp32.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/gpac/testsuite/oss-fuzzers/fuzz_probe_analyze.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/gpac/testsuite/oss-fuzzers/fuzz_m2ts_probe.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/gpac/testsuite/oss-fuzzers/fuzz_parse.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/gpac/testsuite/oss-fuzzers/fuzz_route.c
  types:
    structs: []
    typedefs: []
